PT09IHJlbGVhc2UgMS4xMi4yID09PQoKMjAxNy0wNy0xNCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY29heGlvbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIHJlbGVhc2luZyAxLjEyLjIKCjIwMTctMDctMTQgMTM6MjI6NDUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9lbC5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTctMDctMTMgMTI6NDc6MDIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IHBhcnNpbmcgb2YgUkxFIGRlcHRoCgkgIFJlZ3Jlc3Npb24gaW50cm9kdWNlZCBieSA4NmI0MjdkYzcwNTYyZjg5MWE1NTFmZmM5Zjk2Y2VmZTFjYWZjZGRkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODQ4MTIKCjIwMTctMDUtMjAgMTc6MDk6NTIgKzAyMDAgIEpvc2VwIFRvcnJhIDxqdG9ycmFAb2Jsb25nLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uYzoKCSAgb3N4YXVkaW86IGZpeGVzIHBsYXliYWNrIG9mIG1vbm8gc3RyZWFtcyB3aXRoIG5vIGNoYW5uZWwtbWFzayBmaWVsZCBpbiBjYXBzCgkgIEZpeGVzIGEgbmVnb3RpYXRpb24gZXJyb3Igc2VlbiB3aGVuIHRyeWluZyB0byBwbGF5YmFjayBvZiBhIC5NT1YgZmlsZSB3aXRoCgkgIGEgbW9ubyBBQUMgYXVkaW8gc3RyZWFtIGRlY29kZWQgYnkgYXZjZGVjX2FhYyB0aGF0IGRvZXNuJ3Qgc2V0IGNoYW5uZWwtbWFzawoJICBmaWVsZCBidXQgc2luayB3YXMgcmVxdWlyaW5nIGNoYW5uZWwtbWFzaz0weDMuCgoyMDE3LTA3LTA3IDIxOjE1OjU3ICswOTAwICBZYXN1c2hpIFNIT0pJIDx5YXNoaUBhdG1hcmstdGVjaG5vLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkgIHJ0cGdzbXBheTogZml4IGFjY2lkZW50YWwgZ2FyYmFnZSBkYXRhIGJlZm9yZSBhY3R1YWwgcGF5bG9hZAoJICBEbyBub3QgYWxsb2NhdGUgcGF5bG9hZCBzaXplIG91dGJ1ZiBpZiBhcHBlbmRpbmcgcGF5bG9hZCBidWZmZXIuCgkgIFRoZSBjb21taXQgMTM3NjcyZmYxODI0OTQ4YmRhNGIxYjE5NjdkZThjMjRhMDA1NWI2NyBhdHRhY2hlZCBwYXlsb2FkCgkgIHRvIHRoZSBvdXRwdXQgYnVmZmVyIGJ1dCBmb3Jnb3QgdG8gcmVtb3ZlIHBheWxvYWQgYWxsb2NhdGlvbi4gIFRoYXQKCSAgZWZmZWN0aXZlbHkgZG91YmxlZCBwYXlsb2FkIHNpemUgYW5kIGFkZCB6ZXJvJ2VkIG9yIHJhbmRvbSBieXRlcy4KCSAgTWFrZXMgdGhlIGZvbGxvd2luZyBwaXBlbGluZSB3b3JrIGFnYWluOgoJICBnc3QtbGF1bmNoLTEuMCAtdiBhdWRpb3Rlc3RzcmMgd2F2ZT0yICEgZ3NtZW5jICEgcnRwZ3NtcGF5ICEgcnRwZ3NtZGVwYXkgISBnc21kZWMgISBhdXRvYXVkaW9zaW5rCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODQ2MTYKCjIwMTctMDctMDMgMTE6NDc6MTMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHJlY2VpdmUuYzoKCSAgcnRwcnR4cmVjZWl2ZTogQWRkIG1lbW9yeSBhbmQgYm91bmRhcnkgY2hlY2tzCgkgIFRoaXMgZWxlbWVudCB3YXMgbm90IGNoZWNraW5nIGlmIG1hcHBpbmcgdGhlIFJUUCBidWZmZXIgYW5kIHRoZSBwYXlsb2FkCgkgIHdvcmtlZCwgYW5kIHdhcyBub3QgY2hlY2tpbmcgaWYgdGhlIFJUWCBwYXlsb2FkIHdhcyBsYXJnZSBlbm91Z2guCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODQ0ODQKCjIwMTctMDctMDMgMjA6Mjc6MjkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IGZpeCB1c2UtYWZ0ZXItZnJlZSBvbiBzZWVrIGV2ZW50CgkgIEdldCBzZXFudW0gYmVmb3JlIHVucmVmZmluZyB0aGUgc2VlayBldmVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NDQ4NgoKMjAxNy0wNi0yOSAxODo1OTo1OCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogQ3JlYXRlIHNlbmQvcmVjdiBtdXRleGVzIG9uY2UsIG5vdCBvbiBldmVyeSBjb25uZWN0KCkKCSAgQWxzbyBmaXhlcyBhIGNyYXNoIGNhdXNlZCBieSBmcmVlaW5nIGFuIHVuaW5pdGlhbGl6ZWQgbXV0ZXggaW4gYW4gZXJyb3IKCSAgY2FzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvL3Nob3dfYnVnLmNnaT9pZD03ODQyODIKCjIwMTctMDYtMjIgMTE6Mzg6NTYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IEFjdHVhbGx5IHVzZSB0aGUgcmVjZWl2ZSBsb2NrIHdoZW4gcmVjZWl2aW5nLCBub3QgdGhlIHNlbmQgbG9jawoKPT09IHJlbGVhc2UgMS4xMi4xID09PQoKMjAxNy0wNi0yMCAxMjowNjoyMiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiBtZXNvbi5idWlsZDoKCSAgUmVsZWFzZSAxLjEyLjEKCjIwMTctMDYtMjAgMTE6MjA6MTIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2Z1ci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNy0wNi0yMCAxMTowODozMiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2JnLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vcGwucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNy0wNi0xMyAxNzo0MDoxOSArMDMwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAYWhpcnUuZXU+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eDogRHJvcCBhbGxvY2F0aW9uIHF1ZXJpZXMKCSAgVGhleSBjYW4gY2F1c2UgdXMgdG8gZGVhZGxvY2ssIHdoaWxlIHdlJ3JlIHdhaXRpbmcgZm9yIGEgbmV3IGZyYW1lIGFuZAoJICB1cHN0cmVhbSBpcyB3YWl0aW5nIGZvciB0aGUgYWxsb2NhdGlvbiBxdWVyeSB0byBiZSBhbnN3ZXJlZCBiZWZvcmUKCSAgc2VuZGluZyBhIGZyYW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODM3NTMKCjIwMTctMDYtMTUgMTA6NDA6NTEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogVXNlIGEgbXV0ZXggZm9yIHByb3RlY3RpbmcgYWdhaW5zdCBjb25jdXJyZW50IHNlbmQvcmVjZWl2ZXMKCSAgV2UgY3VycmVudGx5IHNlbmQgZGF0YSB0byB0aGUgUlRTUCBjb25uZWN0aW9uIGZyb20gbXVsdGlwbGUgdGhyZWFkczoKCSAgd2hlbmV2ZXIgYSBjb21tYW5kIGlzIHRvIGJlIGhhbmRsZWQgYW5kIHdoZW5ldmVyIFJUQ1AgaXMgZ2VuZXJhdGVkLiBUaGlzCgkgIGNhbiBjYXVzZSBkYXRhIGNvcnJ1cHRpb24gb3Igd29yc2UgaWYgYm90aCBoYXBwZW4gYXQgdGhlIHNhbWUgdGltZS4KCSAgQXMgc3VjaCwgcHJvdGVjdCBnc3RfcnRzcF9jb25uZWN0aW9uX3NlbmQoKSBhbmQgZ3N0X3J0c3BfY29ubmVjdGlvbl9yZWNlaXZlKCkKCSAgY2FsbHMgd2l0aCBhIG11dGV4LiBXaGlsZSB0aGlzIG1lYW5zIHRoYXQgd2UgaG9sZCBhIG11dGV4IGR1cmluZyB0aGUgSU8KCSAgb3BlcmF0aW9uLCB0aGlzIGlzIG5vdCBhY3R1YWxseSBhIHByb2JsZW0gYXMgdGhlIElPIG9wZXJhdGlvbiBjYW4gYmUKCSAgaW50ZXJydXB0ZWQgKGdzdF9ydHNwX2Nvbm5lY3Rpb25fZmx1c2goKSkgYXQgYW55IHRpbWUgYW5kIGlzIGJsb2NraW5nIGJ5CgkgIGl0c2VsZiBhbnl3YXkuCgoyMDE3LTA2LTE1IDExOjUwOjQ0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJICBxdG11eDogVW4tbWVyZ2UgdGhlIGxhc3QgdHdvIHN0c2MgZW50cmllcyBhZnRlciBzZXJpYWxpemluZwoJICBUaGUgbGFzdCBlbnRyeSB3aWxsIG1vc3QgbGlrZWx5IGdldCBuZXcgc2FtcGxlcyBhZGRlZCB0byBpdCBpbiAicm9idXN0IgoJICBtdXhpbmcgbW9kZSwgY2hhbmdpbmcgdGhlIHNhbXBsZXNfcGVyX2NodW5rIGFuZCB0aHVzIG1ha2luZyBpdCB3cm9uZyB0bwoJICBrZWVwIHRoZSBsYXN0IHR3byBlbnRyaWVzIG1lcmdlZC4gSXQgd2lsbCBydW4gaW50byBhbiBhc3NlcnRpb24gbGF0ZXIKCSAgd2hlbiBhZGRpbmcgYSBuZXcgc2FtcGxlIHRvIHRoZSBjaHVuay4KCSAgVGhhbmtzIHRvIGdkaWVuZXJAY2FyZGluYWxwZWFrLmNvbSBmb3IgdGhlIGFuYWx5c2lzIG9mIHRoZSBidWcgYW5kCgkgIHByb3Bvc2FsIGZvciBhIHNvbHV0aW9uLgoKMjAxNy0wNi0xNCAwMDowOToyNSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogQWN0dWFsbHkgY2xpcCB0byB1cHN0cmVhbSBzaXplIGluc3RlYWQgb2Ygc2l6ZSBvZiB0aGUgZGF0YSBjaHVuawoJICBUaGVyZSBtaWdodCBiZSBvdGhlciBjaHVua3MgYWZ0ZXIgdGhlIGRhdGEgY2h1bmssIHNvIGNsaXBwaW5nIHRoZSBjaHVuawoJICBzaXplIHdpdGggdGhlIGRhdGEgc2l6ZSBjYW4gbGVhZCB0byBhIG5lZ2F0aXZlIG51bWJlciBhbmQgYWxsIGZvbGxvd2luZwoJICBjYWxjdWxhdGlvbnMgZ28gd3JvbmcgYW5kIGNhdXNlIGNyYXNoZXMgb3Igd29yc2UuCgkgIFRoaXMgd2FzIGludHJvZHVjZWQgaW4gM2FjMTE5YmJlMmMzNjBlMjhjMDg3Y2YzODUyZWE3NjlkNjExYjEyMC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4Mzc2MAoKMjAxNy0wNS0zMCAyMjoyMzoxMCArMDIwMCAgSnVhbiBOYXZhcnJvIDxqdWFuLm5hdmFycm9AZ214LmVzPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBwcmludCB2YWx1ZSBvZiB1bmtub3duIFJUQ1AgUGF5bG9hZCBUeXBlCgkgIFRoaXMgYWRkcyBwcmludGluZyB0aGUgYWN0dWFsIHZhbHVlIG9mIGFueSB1bmtub3duIFJUQ1AgUFQKCSAgdG8gdGhlIGFscmVhZHkgZXhpc3RpbmcgV0FSTklORyBsb2cgbWVzc2FnZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MzI0OAoKMjAxNy0wNi0wMiAxMTozMDoxNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cGgyNjVkZXBheTogZml4IGNhcHMgbGVhawoKMjAxNy0wNS0yNCAxMTozMzowNSArMDUzMCAgdmlqYXkgPHZpamF5LnBhbGFuaXN3YW15QGluLmJvc2NoLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2UgOiBGaXgsIENhcHMgd2VyZSBub3Qgc2V0IHdoaWxlIHJldXNpbmcgYWFjcGFyc2UKCSAgV2hpbGUgcmV1c2luZyBhYWNwYXJzZSBjYXBzIHdlcmUgbm90IHNldC5UaGlzIGZpeCBlbmFibGVzIGFhY3BhcnNlIHRvIHJldXNlIGluIHNhbWUgcGlwZWxpbmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODMwMjcKCjIwMTctMDUtMTYgMTI6NTY6MTUgKzAzMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQGFoaXJ1LmV1PgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogRG8gbm90IGNoZWNrIHRpbWVjb2RlIGRhdGEgZm9yIG1wNCBjb250YWluZXIKCSAgVGltZWNvZGUgdHJhayBpcyBvbmx5IHN1cHBvcnRlZCBmb3IgbW92IHJpZ2h0IG5vdywgbm90IGZvciBtcDQuIFRoYXQKCSAgY29kZSB3b3VsZCBvdGhlcndpc2UgY3JlYXRlIGFuIGludmFsaWQgdHJhayBpZiB0aGUgbXV4ZWQgdmlkZW8gY29udGFpbmVkCgkgIHRpbWVjb2RlIG1ldGFkYXRhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgyNjg0CgoyMDE3LTA1LTEwIDE1OjU4OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogTGF0ZW5lc3MgaXMgaW4gUVQgdGltZXNjYWxlLCBkaWZmIGluIEdzdENsb2NrVGltZQoJICBQcmludCB0aGUgcmlnaHQgb25lIGluIGRlYnVnIG91dHB1dCB0byBnZXQgbWVhbmluZ2Z1bCBudW1iZXJzLgoKMjAxNy0wNS0wOSAxMTo0MToyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnB4ZGVjLmM6CgkgIHZweGRlYzogU2V0IGZiLT5wcml2IHRvIE5VTEwgYWZ0ZXIgZnJlZWluZyBqdXN0IGluIGNhc2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MjM1OQoKMjAxNy0wNS0wOCAxNToyMjowMCArMDAwMCAgRHVzdGluIFNwaWN1enphIDxkdXN0aW5AdmlydHVhbHJvYWRzaWRlLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICBkaXJlY3Rzb3VuZHNpbms6IFVzZSBHc3RDbG9jayBBUEkgaW5zdGVhZCBvZiBTbGVlcCgpIGZvciB3YWl0aW5nCgkgIEl0J3MgbW9yZSBhY2N1cmF0ZSBhbmQgYWxsb3dzIGNhbmNlbGxhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzY4MQoKMjAxNy0wNS0wOCAxNTowNTo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA5ZGVjLmM6CgkgIHZweDogZml4IGJ1aWxkIGFnYWluc3Qgb2xkZXIgbGlidnB4IHZlcnNpb25zCgkgIFN1Y2ggYXMgMS4zLjAgYXMgb24gcmFzcGJpYW4uCgoyMDE3LTA1LTAzIDIzOjIzOjEwICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogRml4IGNvcm5lciBjYXNlIGNhdXNpbmcgbGFyZ2UgQ1BVIHVzYWdlCgkgIFdlIHdlcmUgdW5uZWNlc3NhcmlseSBsb29waW5nL2dvdG8taW5nIHJlcGVhdGVkbHkgd2hlbiB3ZSBoYWQgZXhhY3RseQoJICB0aGUgYW1vdW50IG9mIGRhdGEgYXMgdGhlIGZyZWUgc3BhY2UsIGFuZCBhbHNvIHdoZW4gdGhlIGZyZWUgc3BhY2Ugd2FzCgkgIHRvbyBzbWFsbC4gVGhpcywgYXMgaXQgdHVybnMgb3V0LCBpcyBhIHZlcnkgY29tbW9uIHNjZW5hcmlvIHdpdGgKCSAgRGlyZWN0c291bmQgb24gV2luZG93cy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzY4MQoJICBXZSBoYXZlIHRvIGRvIHBvbGxpbmcgaGVyZSBiZWNhdXNlIHRoZSBldmVudCBub3RpZmljYXRpb24gQVBJIHRoYXQKCSAgRGlyZWN0c291bmQgZXhwb3NlcyBjYW5ub3QgYmUgdXNlZCB3aXRoIGxpdmUgcGxheWJhY2sgc2luY2UgYWxsIGV2ZW50cwoJICBtdXN0IGJlIHJlZ2lzdGVyZWQgaW4gYWR2YW5jZSB3aXRoIHRoZSBjYXB0dXJlIGJ1ZmZlciwgeW91IGNhbm5vdAoJICBhZGQvcmVtb3ZlIHRoZW0gb25jZSBwbGF5YmFjayBoYXMgYmVndW4uIERpcmVjdHNvdW5kc3JjIGhhZCB0aGUgc2FtZQoJICBwcm9ibGVtLgoJICBTZWUgYWxzbzogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MTI0OQoKPT09IHJlbGVhc2UgMS4xMi4wID09PQoKMjAxNy0wNS0wNCAxNTozODozNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiBtZXNvbi5idWlsZDoKCSAgUmVsZWFzZSAxLjEyLjAKCjIwMTctMDUtMDQgMTU6MDc6MjcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2Z1ci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNy0wNS0wNCAxMzo0NzoyMCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2VsLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNy0wNS0wMiAxMDozMjozMCArMDkwMCAgU2V1bmdoYSBZYW5nIDxzaC55YW5nQGxnZS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IGNyYXNoIG9uIG1zcyBzdHJlYW0gY2F1c2VkIGJ5IGludmFsaWQgc3RzZCBlbnRyeSBhY2Nlc3MKCSAgU2luY2UgbXNzIGhhcyBubyBtb292LCBkZWZhdWx0IHN0c2QgZW50cnkgc2hvdWxkIGJlIGNyZWF0ZWQgd2l0aCBtZWRpYS1jYXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgyMDQyCgo9PT0gcmVsZWFzZSAxLjExLjkxID09PQoKMjAxNy0wNC0yNyAxNzoyOTo1OCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiBtZXNvbi5idWlsZDoKCSAgUmVsZWFzZSAxLjExLjkxCgoyMDE3LTA0LTI3IDE1OjU4OjQ3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9mdXIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTctMDQtMjcgMTU6Mjg6MDIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9MSU5HVUFTOgoJKiBwby9lbC5wbzoKCSogcG8vZnVyLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNy0wNC0yNyAxMjo1NjoyNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBEb24ndCBjcmFzaCBpbiBkZWJ1ZyBvdXRwdXQgaWYgc3RyZWFtPT1OVUxMCgkgIFRoYXQgY2FzZSBpcyBjb3JyZWN0bHkgaGFuZGxlZCBiZWxvdyBidXQgbm90IGluIHRoZSBkZWJ1ZyBvdXRwdXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODEyNzAKCjIwMTctMDQtMjUgMTc6MTE6MjcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRG9uJ3QgcGVyZm9ybSBzZWVrcyB3aXRoIGluY29uc2lzdGVudCBzZWVrIHZhbHVlcwoJICBJZiBnc3Rfc2VnbWVudF9kb19zZWVrKCkgZmFpbHMsIHdlIHNob3VsZG4ndCB0cnkgc2Vla2luZyBvbiB0aGF0CgkgIHJlc3VsdGluZyBzZWdtZW50IGJ1dCBqdXN0IGVycm9yIG91dC4gQ3Jhc2hlcyBmdXJ0aGVyIGRvd24gdGhlIGxpbmUKCSAgb3RoZXJ3aXNlLgoKMjAxNy0wNC0yNCAyMDoyNzo0OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNjBhZWVmNiB0byA0OGE1ZDg1CgoyMDE3LTA0LTI0IDE3OjMxOjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHRlc3RzOiBydHAtcGF5bG9hZGluZzogYWRkIHRlc3QgZm9yIHJ0cGgyNjRkZXBheSBhdmMvYnl0ZS1zdHJlYW0gb3V0cHV0CgkgIE1ha2Ugc3VyZSBhdmMgb3V0cHV0IGRvZXNuJ3QgY29udGFpbiBTUFMvUFBTIGlubGluZSwgYnV0CgkgIGJ5dGUtc3RyZWFtIG91dHB1dCBkb2VzLgoKMjAxNy0wNC0yNCAxNzoyOTozNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheTogZG9uJ3QgaW5zZXJ0IFNQUy9QUFMgaW5saW5lIGZvciBBVkMgb3V0cHV0CgkgIFNQUy9QUFMgYXJlIGluIHRoZSBjYXBzIGluIHRoaXMgY2FzZSBhbmQgc2hvdWxkbid0IGJlIGluCgkgIHRoZSBzdHJlYW0gZGF0YS4KCjIwMTctMDQtMjEgMTk6MDk6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IENoYWluIHVwIHRvIHRoZSBwYXJlbnQgY2xhc3MnIHByb3ZpZGVfY2xvY2soKSBpbXBsZW1lbnRhdGlvbgoJICBJZiBubyBjbG9jayB3YXMgcHJvdmlkZWQgZGlyZWN0bHkgYnkgcnRzcHNyYy4gVGhpcyBiZWhhdmlvdXIgd2FzIHJlbW92ZWQKCSAgYnkgZjgwMTM0ODdjOTFhNmZmYzU1MmE0YjI1YWExYTcwZjBiZDUzNzdmOCBhbmQgcmVzdWx0cyBpbiBydHNwc3JjIG5vdAoJICBwcm92aWRpbmcgdGhlIHN5c3RlbSBjbG9jayB2aWEgdGhlIHJ0cGppdHRlcmJ1ZmZlci4KCSAgQXMgYSByZXN1bHQsIGlmIGFub3RoZXIgZWxlbWVudCBsaWtlIGFuIGF1ZGlvIHNpbmssIHByb3ZpZGVzIGEgY2xvY2ssCgkgIHRoZSBwaXBlbGluZSB3b3VsZCBzZWxlY3QgdGhhdCAod2hlbiBnb2luZyB0byBQQVVTRUQvUExBWUlORyBhZ2FpbiBsYXRlcikuCgkgIEF1ZGlvIGNsb2NrcyB1c3VhbGx5IGRvbid0IHByb2dyZXNzIGluIFBBVVNFRCwgYW5kIHRodXMgb3VyIGxpdmUgc291cmNlCgkgIHdvbid0IGJlIGFibGUgdG8gdXNlIHRoZSBjbG9jayB0byBwcm9kdWNlIGRhdGEsIG1ha2luZyB0aGUgc2luayBuZXZlcgoJICBwcmVyb2xsIGFuZCBldmVyeXRoaW5nIGlzIHN0dWNrLgoKMjAxNy0wNC0yMCAxMToyMjoxNSArMDIwMCAgSsO8cmdlbiBTYWNocyA8anVlcmdlbi5zYWNoc0BtZXR6LWNlLmRlPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlc2V0IHNhbXBsZV9kZXNjcmlwdGlvbl9pZCB0byBkZWZhdWx0CgkgIEZpeGVzIHN0cmVhbSB3aGVyZSBzYW1wbGVfZGVzY3JpcHRpb25faWQgaXMgc3BlY2lmaWVkIGluIHRoZSB0ZmhkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzgzMzcKCjIwMTctMDQtMjAgMTM6MTY6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IERvbid0IHVzZSBhbiBleHBsaWNpdCBuYW1lIGZvciByZXF1ZXN0aW5nIGF1ZGlvIHBhZHMKCSAgLi4uIHVubGVzcyB0aGUgbXV4ZXIgdXNlcyB0aGUgc2FtZSBhdWRpbyBwYWQgdGVtcGxhdGUgbmFtZSBhcwoJICBzcGxpdG11eHNpbmsuIFdlIGNhbid0IHJlcXVlc3QgYSBwYWQgY2FsbGVkICJhdWRpb18wIiBvbiBhIG11eGVyIHRoYXQKCSAgd2FudHMgcGFkcyB0byBiZSAic2lua18lZCIuCgoyMDE3LTAyLTIzIDA5OjMxOjM2ICswOTAwICBDaGFuZ0JvayBDaGFlIDxjaGFuZ2Jvay5jaGVhQGdtYWlsLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IHJlbW92ZSBkdXBsaWNhdGVkIHNlZ21lbnQgaW5pdGlhbGl6YXRpb24KCSAgSXQncyBhbHNvIGRvbmUgaW4gZ3N0X2Zsdl9kZW11eF9jbGVhbnVwKCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzkxMDYKCjIwMTctMDQtMjAgMjA6MTc6MzUgKzEwMDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4c2luazogQ29ycmVjdGx5IGNhdGNoIEZMVVNIIGV2ZW50cyBpbiBwcm9iZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzQ5OAoKMjAxNy0wNC0xOSAxMjoyODoxMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIFJldmVydCAicnRwYmluOiBwaXBlbGluZSBnZXRzIGFuIEVPUyB3aGVuIGFueSBydHBzb3VyY2VzIGJ5ZXMiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZWVlYTJhN2ZlODhhMTdiMTUzMThkNWI2YWU2ZTE5MGIyZjc3NzAzMC4KCSAgSXQgYnJlYWtzIEVPUyBpbiBzb21lIHNlbmRlciBwaXBlbGluZXMsIHNlZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczMjE4I2MyMAoKMjAxNy0wNC0xNCAxNzowMTo0OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBSZXNldCBhZGFwdGVyIGluIG1vcmUgZGlzY29udGludWl0eSBjYXNlcwoJICBJbiBwdXNoIG1vZGUgd2UgcHJvY2VzcyBhcyBtdWNoIGFzIHBvc3NpYmxlIGluIHRoZSBhZGFwdGVyLiBXaGVuIHdlIHJlY2VpdmUKCSAgYSBESVNDT05UIGJ1ZmZlciB3aGljaCB3ZSBjYW4ndCBtYXRjaCB0byBhbiBhY3R1YWwgc2FtcGxlIChiYXNlZCBvbiB0aGUgZXhpc3RpbmcKCSAgc2FtcGxlIHRhYmxlKSBhbmQgdGhlcmUgaXMgc3RpbGwgZGF0YSByZW1haW5pbmcgaW4gdGhlIGluY29taW5nIGFkYXB0ZXIsdGhlcmUgaXMKCSAgb25lIG9mIHR3byBjYXNlcyBoYXBwZW5pbmc6CgkgIDEpIFdlIGFyZSBkb2luZyByZXZlcnNlIHBsYXliYWNrLCBpbiB3aGljaCBjYXNlIHdlIHNob3VsZCBmbHVzaCBvdXQgYWxsIHBlbmRpbmcKCSAgZGF0YQoJICAyKSBXZSBoYXZlIGxlZnRvdmVyIGRhdGEgZnJvbSB0aGUgcHJldmlvdXMgaW5jb21pbmcgYnVmZmVyLi4uIHdoaWNoIHdlIGNhbid0IGRvCgkgIGFueXRoaW5nIGFib3V0LgoJICBGb3IgdGhlIHNlY29uZCBjYXNlLCBtYWtlIHN1cmUgd2UgZmx1c2ggb3V0IHRoZSByZW1haW5pbmcgZGF0YSBzbyB0aGF0IHdlIGNhbiBzdGFydAoJICBwYXJzaW5nIGFnYWluIGZyb20gc2NyYXRjaC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MTMxOQoKMjAxNy0wNC0xNCAxMDo1Njo0MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogVXNlIEdTVF9FTEVNRU5UX0VSUk9SX1dJVEhfREVUQUlMUwoJICBBbGxvd3MgdGhlIGFwcGxpY2F0aW9uIHRvIGtub3cgdGhlIGV4YWN0IHN0YXR1cyBjb2RlIHRoYXQgd2FzIHJldHVybmVkCgkgIGJ5IHRoZSBzZXJ2ZXIgaW4gYSBwcm9ncmFtbWF0aWMgZmFzaGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MTMwNAoKMjAxNy0wNC0xNiAxODo0Nzo1NiArMDkwMCAgU2V1bmdoYSBZYW5nIDxzaC55YW5nQGxnZS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IGxlYWsgb24gUXREZW11eFN0cmVhbVN0c2RFbnRyeQoJICBGaXggdW5pdCB0ZXN0IGZhaWx1cmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MTM2MgoKMjAxNy0wNC0xNCAxMzozODo1MyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9hdG9tcy5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBGaXggdGltZXNjYWxlIG9mIHRpbWVjb2RlIHRyYWNrcwoJICBUaGV5IHNob3VsZCBoYXZlIGlkZWFsbHkgdGhlIHNhbWUgdGltZXNjYWxlIG9mIHRoZSB2aWRlbyB0cmFjaywgd2hpY2ggd2UKCSAgY2FuJ3QgZ3VhcmFudGVlIGhlcmUgYXMgaW4gdGhlb3J5IHRpbWVjb2RlIGNvbmZpZ3VyYXRpb24gYW5kIHZpZGVvCgkgIGZyYW1lcmF0ZSBjb3VsZCBiZSBkaWZmZXJlbnQuIEhvd2V2ZXIgd2Ugc2hvdWxkIHNldCBhIGNvcnJlY3QgdGltZXNjYWxlCgkgIGJhc2VkIG9uIHRoZSBmcmFtZXJhdGUgZ2l2ZW4gaW4gdGhlIHRpbWVjb2RlIGNvbmZpZ3VyYXRpb24sIGFuZCBub3QganVzdAoJICB1c2UgdGhlIGZyYW1lcmF0ZSBudW1lcmF0b3IuCgoyMDE3LTA0LTEzIDEzOjI1OjA2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFByb3Blcmx5IHJlc2V0IGRlbXV4ZXIgd2hlbiBhbGwgc3RyZWFtcyBhcmUgRU9TCgkgIE1ha2Ugc3VyZSBvZmZzZXQgYW5kIG5lZWRlZGJ5dGVzIGFyZSBwcm9wZXJseSByZXNldHRlZCB3aGVuIGFsbAoJICBzdHJlYW1zIGFyZSBFT1MgaW4gcHVzaC1tb2RlLgoJICBBdm9pZHMgY2FzZXMgd2hlbiBzb21lIGRhdGEgbWlnaHQgc3RpbGwgYmUgcHVzaGVkIGJ5IHVwc3RyZWFtIChiZWNhdXNlCgkgIGl0IGRpZG4ndCB5ZXQgc2VlIHRoZSByZXN1bHRpbmcgR1NUX0ZMT1dfRU9TIHlldCkgYW5kIHF0ZGVtdXggZ2V0cwoJICBjb21wbGV0ZWx5IGxvc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODEyNjYKCjIwMTctMDQtMTMgMDg6MDA6MzAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogTWFrZSBtb3JlIHVzYWdlIG9mIGVycm9yIG1hY3JvCgkgIEFuZCBtYWtlIHN1cmUgd2UgYWN0dWFsbHkgdXNlIHRoZSBwcm92aWRlZCBzb3VwX21zZyBhcmd1bWVudCBpbiB0aGUgbWFjcm8KCjIwMTctMDQtMTIgMTg6NDY6NTMgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9tZXNvbi5idWlsZDoKCSAgbWVzb246IFByaW50IG1lc3NhZ2Ugd2hlbiBkaXNhYmxpbmcgdGFnbGliIG9uIE1TVkMKCjIwMTctMDQtMTIgMTM6MjY6NTkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBEb24ndCBmb3JnZXQgdG8gdXBkYXRlIHBhZC0+bGFzdF9idWYKCSAgYnVmIGlzIHRoZSBjdXJyZW50IHBhZC0+bGFzdF9idWYgdmFsdWUuIElmIGV2ZXIgaXQgZ2V0cyBjb3BpZWQvdW5yZWZmZWQsCgkgIHdlIG5lZWQgdG8gbWFrZSBzdXJlIHRvIHdyaXRlIGJhY2sgdGhlIG5ldyAgcG9pbnRlciB0byB0aGUgbGFzdF9idWYKCSAgdmFyaWFibGUuCgkgIEZpeGVzIHVzaW5nIHdyb25nIHBvaW50ZXIgdmFsdWVzIGluIHRoZSBjYXNlIG9mIGRlY3Jhc2luZyBEVFMgdmFsdWUKCjIwMTctMDQtMTIgMTE6MzM6MDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICB0ZXN0czogQWRkIHZwOWVuYyB0byBnaXRpZ25vcmUKCjIwMTctMDQtMTEgMTM6NDE6NDggKzAyMDAgIErDvHJnZW4gU2FjaHMgPGp1ZXJnZW4uc2FjaHNAbWV0ei1jZS5kZT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXg6IHNhbXBsZSBkZXNjcmlwdGlvbiBpbmRleCBvdmVycmlkZSBpbiB0ZmhkIG5vdCBldmFsdWF0ZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3ODMzNwoKMjAxNy0wNC0xMiAxMTowMzoyNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBBZGQgb3V0LW9mLWJvdW5kIGNoZWNrCgkgIE1ha2Ugc3VyZSB3ZSBkb24ndCByZWFkIGludmFsaWQgbWVtb3J5CgoyMDE2LTA0LTI3IDEyOjE3OjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogbW92ZSBwYXJzaW5nIG9mIHRraGQgb3V0IG9mIHN0c2QgZW50cnkgbG9vcAoJICBJdCBuZWVkcyBvbmx5IHRvIGJlIHJlYWQgb25jZS4KCjIwMTYtMDQtMDcgMTI6MjM6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBjaGVjayBmb3IgYSBkaWZmZXJlbnQgc3RzZCBlbnRyeSBiZWZvcmUgcHVzaGluZyBhIHNhbXBsZQoJICBCZWZvcmUgcHVzaGluZyBhIHNhbXBsZSwgY2hlY2sgaWYgdGhlcmUgd2FzIGEgY2hhbmdlIGluIHRoZSBjdXJyZW50CgkgIHN0c2QgZW50cnkuIFRoaXMgcGF0Y2ggYWxzbyBhc3N1bWVzIHRoYXQgdGhlIGZpcnN0IHN0c2QgZW50cnkgaXMKCSAgdXNlZCBhcyBkZWZhdWx0IGZvciB0aGUgZmlyc3Qgc2FtcGxlLiBJdCBtaWdodCBjYXVzZSBhbiB1bmVlZGVkCgkgIGNhcHMgcmVuZWdvdGlhdGlvbiB3aGVuIHRoaXMgaXNuJ3QgdGhlIGNhc2UuCgoyMDE2LTA0LTA2IDEyOjU1OjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcGFyc2UgYWxsIHN0c2QgZW50cmllcwoJICBzdHNkIGNhbiBoYXZlIG11bHRpcGxlIGZvcm1hdCBlbnRyaWVzLCBwYXJzZSB0aGVtIGFsbC4KCSAgVGhpcyBpcyByZXF1aXJlZCB0byBwbGF5IERWQiBEQVNIIHByb2ZpbGUgdGhhdCB1c2VzIG11bHRpcGxlIGVudHJpZXMKCSAgdG8gaWRlbnRpZnkgdGhlIGRpZmZlcmVudCBhdmFpbGFibGUgYml0cmF0ZXMvb3B0aW9ucyBvbiBkYXNoIHN0cmVhbXMKCSAgVGhlIHN0cmVhbSBmb3JtYXQtc3BlY2lmaWMgZGF0YSBpcyBub3Qgc3RvcmVkIGludG8gUXREZW11eFN0cmVhbVN0c2RFbnRyeQoKMjAxNi0wNC0wNSAxNDozNDowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJld29yayBzdHNkIHNhbXBsZSBlbnRyaWVzIGFjY2VzcwoJICBJbnN0ZWFkIG9mIHVzaW5nIHRoZSBzdHNkIGFzIGEgYmFzZSBwb2ludGVyLCB1c2UgdGhlIGFjdHVhbCBzdHNkCgkgIGVudHJ5IGFzIHRoZSBzdHNkIGNhbiBoYXZlIG11bHRpcGxlIGVudHJpZXMuIFRoaXMgaXMgcmFyZWx5IHVzZWQKCSAgZm9yIGZpbGUgcGxheWJhY2sgYnV0IGlzIGEgcG9zc2libGUgcHJvZmlsZSB3aXRoIGluIERWQiBEQVNIIHNwZWNzLgoJICBUaGlzIHN0aWxsIGRvZXNuJ3Qgc3VwcG9ydCBzdHNkIHdpdGggbXVsdGlwbGUgZW50cmllcyBidXQgbWFrZXMgaXQKCSAgZWFzaWVyIHRvIGRvIHNvLgoKMjAxNi0wNC0wNSAxODowMDoxMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGdldCBzdHNkIGNoaWxkIGJ5IGluZGV4IGluc3RlYWQgb2YgdHlwZQoJICBUaGVyZSBtaWdodCBiZSBtdWx0aXBsZSBjaGlsZHJlbiB3aXRoIHRoZSBzYW1lIHR5cGUKCjIwMTctMDQtMDcgMTY6MzM6MTggKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSAgdGVzdHMvY2hlY2svcnRwcnR4OiBhZGQgY2hlY2tzIGZvciBydHBydHhxdWV1ZSdzIG1heC1zaXplLXt0aW1lLHBhY2tldHN9IHByb3BlcnRpZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MDg2NwoKMjAxNy0wNC0wNCAxNzozMzozMSArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHF1ZXVlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHF1ZXVlLmg6CgkgIHJ0cHJ0eHF1ZXVlOiBpbXBsZW1lbnQgaGFuZGxpbmcgb2YgdGhlIG1heC1zaXplLXRpbWUgcHJvcGVydHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MDg2NwoKMjAxNy0wNC0xMCAyMzo0OTowNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMzlhYzJmNSB0byA2MGFlZWY2CgoyMDE3LTA0LTEwIDA4OjU2OjAwICswMDAwICBUb2RvciBUb21vdiA8dG9kb3IudG9tb3ZAbGluYXJvLm9yZz4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJvYmplY3Q6IENvcHkgdGltZXN0YW1wIHdoZW4gaW1wb3J0aW5nIGJ1ZmZlcnMKCSAgVGhpcyBpcyBuZWVkZWQgZm9yIFY0TDJfT1VUUFVUIGludGVyZmFjZSwgYW5kIGlzIGhhcm1sZXNzIG9mCgkgIFY0TDJfQ0FQVFVSRSBpbnRlcmZhY2VzLiBUaGlzIHdpbGwgZml4IHRpbWVzdGFtcCBpbiBjYXNlcyBsaWtlOgoJICB2NGwyc3JjIGlvLW1vZGU9ZG1hYnVmICEgdjRsMnZpZGVvTmVuYyBvdXRwdXQtaW8tbW9kZT1kbWFidWYtaW1wb3J0ICEgIC4uLgoJICBTYW1lIGFwcGx5IGZvciB1c2VycHRyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgxMTE5CgoyMDE3LTA0LTEwIDE1OjU1OjMwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogRml4IGxhc3RfZHRzIHRyYWNraW5nIGZvciByYXcgYXVkaW8gYW5kIHNpbWlsYXIgZm9ybWF0cwoJICBBY2N1bXVsYXRlIHRoZSBkdXJhdGlvbnMgZGlyZWN0bHkgYW5kIGRvbid0IHNjYWxlIHlldCBhbm90aGVyIHRpbWUgYnkKCSAgdGhlIG51bWJlciBvZiBzYW1wbGVzLgoKMjAxNy0wNC0wNyAxMDo0ODo1MCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGxpdG11eC5jOgoJICB0ZXN0czogZml4IGxlYWsgaW4gc3BsaXRtdXggdGVzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgxMDI1CgoyMDE3LTA0LTA3IDE1OjI5OjQzICswODAwICBMeW9uIFdhbmcgPGx5b24ud2FuZ0BueHAuY29tPgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBTY2FsZSBHQVAgZXZlbnQgdGltZXN0YW1wIGFuZCBkdXJhdGlvbiBsaWtlIGZvciBidWZmZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODEwMDgKCjIwMTctMDItMTcgMTA6MDE6MDggLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAb3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5oOgoJICB2NGwyZGVjOiBGaXggcmFjZSB3aGVuIGdvaW5nIGZyb20gUEFVU0VEIHRvIFJFQURZCgkgIFJ1bm5pbmcgYGdzdC12YWxpZGF0ZS1sYXVuY2hlciAtdCB2YWxpZGF0ZS5maWxlLnBsYXliYWNrLmNoYW5nZV9zdGF0ZV9pbnRlbnNpdmUudm9yYmlzX3ZwOF8xX3dlYm1gCgkgIG9uIG9kcm9pZCBYVTQgKHM1cC1tZmMgdjRsMiBkcml2ZXIpIG9mdGVuIGxlYWRzIHRvOgoJICBFUlJPUjouLi9zdWJwcm9qZWN0cy9nc3QtcGx1Z2lucy1nb29kL3N5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOjIxNTpnc3RfdjRsMl92aWRlb19kZWNfc3RvcDogYXNzZXJ0aW9uIGZhaWxlZDogKGdfYXRvbWljX2ludF9nZXQgKCZzZWxmLT5wcm9jZXNzaW5nKSA9PSBGQUxTRSkKCSAgVGhpcyBoYXBwZW5zIHdoZW4gdGhlIGZvbGxvd2luZyByYWNlIGhhcHBlbnM6CgkgIC0gVDA6IE1haW4gdGhyZWFkCgkgIC0gVDE6IFVwc3RyZWFtIHN0cmVhbWluZyB0aHJlYWQKCSAgLSBUMi4gdjRsMmRlYyBwcm9jZXNzaW5nIHRocmVhZCkKCSAgW1RoZSBkZWNvZGVyIGlzIGluIFBBVVNFRCBzdGF0ZV0KCSAgVDAuIFRoZSB2YWxpZGF0ZSBzY2VuYXJpbyBydW5zIGBFeGVjdXRpbmcgKDM2LzQwKSBzZXQtc3RhdGU6IHN0YXRlPW51bGwgcmVwZWF0PTQwYAoJICBUMS0gVGhlIGRlY29kZXIgaGFuZGxlcyBhIGZyYW1lCgkgIFQyLSBBIGRlY29kZWQgZnJhbWUgaXMgcHVzaCBkb3duc3RyZWFtCgkgIFQyLSBEb3duc3RyZWFtIHJldHVybnMgRkxVU0hJTkcgYXMgaXQgaXMgYWxyZWFkeSBmbHVzaGluZyBjaGFuZ2luZyBzdGF0ZQoJICBUMi0gVGhlIGRlY29kZXIgc3RvcHMgaXRzIHByb2Nlc3NpbmcgdGhyZWFkIGFuZCBzZXRzIGAtPnByb2Nlc3NpbmcgPSBGQUxTRWAKCSAgVDEtIFRoZSBkZWNvZGVyIGhhbmRsZXMgYW5vdGhlciBmcmFtZQoJICBUMS0gYC0+cHJvY2Vzc2AgaXMgRkFMU0Ugc28gdGhlIGRlY29kZXIgcmVzdGFydHMgaXRzIHN0cmVhbWluZyB0aHJlYWQKCSAgVDAtIEluIHY0bDJkZWMtPiBzdG9wIHRoZSBwcm9jZXNzaW5nIHRocmVhZCBpcyBzdG9wcGVkCgkgIE5PVEU6IEF0IHRoaXMgcG9pbnQgdGhlIHByb2Nlc3NpbmcgdGhyZWFkIGxvb3AgbmV2ZXIgc3RhcnRlZC4KCSAgVDAtIGFzc2VydGlvbiBmYWlsZWQ6IChnX2F0b21pY19pbnRfZ2V0ICgmc2VsZi0+cHJvY2Vzc2luZykgPT0gRkFMU0UpCgkgIEhlcmUgSSBhbSByZW1vdmluZyB0aGUgd2hvbGUgLT5wcm9jZXNzaW5nIGxvZ2ljIHRvIGJhc2UgaXQgYWxsIG9uIHRoZQoJICBHc3RUYXNrIHN0YXRlIHRvIGF2b2lkIGR1cGxpY2F0aW5nIHRoZSBrbm93bGVkZ2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Nzg4MzAKCj09PSByZWxlYXNlIDEuMTEuOTAgPT09CgoyMDE3LTA0LTA3IDE2OjMxOjU2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIG1lc29uLmJ1aWxkOgoJICBSZWxlYXNlIDEuMTEuOTAKCjIwMTctMDQtMDcgMTU6MTg6MTEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTctMDQtMDcgMTU6MDY6MzAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9lbC5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTctMDQtMDYgMTI6MDE6MDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBzdHJlYW1saW5lIGFuZCBpbXByb3ZlIEF1ZGlvU3BlY2lmaWNDb25maWcgcGFyc2luZwoJICBBdWRpb1NwZWNpZmlnQ29uZmlnIGlzIHVzZWQgaW4gYSB2YXJpZXR5IG9mIEFBQyBzdHJlYW1zIGJ1dCB3YXMKCSAgYmVpbmcgcGFyc2VkIGRpZmZlcmVudGx5LiBJbnN0ZWFkLCBtYWtlIGV2ZXJ5b25lIHVzZSB0aGUgc2FtZSBwYXJzaW5nLgoJICAqIFJlbW92ZSB1bnVzZWQgJ2JpdHMnIGZpZWxkIChpdCB3YXMgYWx3YXlzIHNldCB0byAwIGlmIHByZXNlbnQpCgkgICogQWRkIHByb3BlciBHQUNvbmZpZyBwYXJzaW5nICh0byBrbm93IHRoZSAgbnVtYmVyIG9mIHNhbXBsZXMgcGVyIGZyYW1lCgkgIGlmIHByZXNlbnQpLgoJICBGaXhlcyB3cm9uZyByYXRlL2NoYW5uZWxzIGNvbmZpZ3VyYXRpb24gaW4gc3RyZWFtcyBjb21pbmcgZnJvbSBxdGRlbXV4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODA5NjYKCjIwMTctMDQtMDUgMDk6NDY6MzEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IEZpeCAzMmJpdCBvbmx5IHByaW50ZiBmb3JtYXQKCSAgVGhlIHByZXZpb3VzIHBhdGNoIHdhcyB1c2luZyAlbGx1IGZvciA2NGJpdHMgcHJpbnRmLCB3aGljaCBpcyAzMmJpdAoJICBzcGVjaWZpYy4gV2UgYWxzbyB0cmFjZSB0aGUgbGF0ZW5jeSBpbiB0aW1lIGh1bWFuIHJlYWRhYmxlIGZvcm0gbm93LgoKMjAxNi0wMy0xNiAxNjoyMjo0OCArMDEwMCAgUGhpbGlwcCBaYWJlbCA8cC56YWJlbEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogc2V0IHN0cmVhbXBhcm0gZm9yIG91dHB1dHMgdGhhdCBzdXBwb3J0IGl0CgkgIFdpdGhvdXQgYSBzcGVjaWZpZWQgZnJhbWVyYXRlIGZyb20gdGhlIHNpbmssIHRoZSBkZWNvZGVyIGZyYW1lIGludGVydmFsCgkgIHNob3VsZCBiZSBzZXQgdXNpbmcgdGhlIGZyYW1lcmF0ZSBvZiB0aGUgZW5jb2RlZCB2aWRlbyBzdHJlYW0uCgkgIFRoZXJlZm9yZSwgdGhlIHY0bDJvYmplY3Qgc2hvdWxkIGJlIGFibGUgdG8gY2hhbmdlIHRoZSBmcmFtZXJhdGUgb24gdGhlCgkgIG91dHB1dCBpZiB0aGUgVjRMMiBkZXZpY2UgYWNjZXB0cyBpdC4KCSAgVGhpcyBpcyBhbHNvIG5lY2Vzc2FyeSBmb3IgbWVtMm1lbSBlbmNvZGVycyBzbyB0aGF0IHRoZWlyIGJpdHJhdGUKCSAgY2FsY3VsYXRpb24gY29kZSBtYXkgd29yayBjb3JyZWN0bHkgYW5kIHRoZXkgbWF5IHJlcG9ydCB0aGUgY29ycmVjdAoJICBmcmFtZSBkdXJhdGlvbiBvbiB0aGUgY2FwdHVyZSBxdWV1ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3OTQ2NgoKMjAxNi0wMy0xNiAxNjoyNDo1NSArMDEwMCAgUGhpbGlwcCBaYWJlbCA8cC56YWJlbEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IG9ubHkgc2V0IGxhdGVuY3kgaWYgdGhlIGZyYW1lIGR1cmF0aW9uIGlzIHZhbGlkCgkgIElmIHRoZSBkdXJhdGlvbiBvZiB0aGUgdjRsMm9iamVjdCBpcyBHU1RfQ0xPQ0tfVElNRV9OT05FLCBiZWNhdXNlIHRoZQoJICBzaW5rIGRpZCBub3Qgc3BlY2lmeSBhIGZyYW1lcmF0ZSBpbiB0aGUgY2FwcyBhbmQgdGhlIGRyaXZlciBhY2NlcHRzIHRoZQoJICBmcmFtZXJhdGUsIHRoZSBkZWNvZGVyIGVsZW1lbnQgdXNlcyBHU1RfQ0xPQ0tfVElNRV9OT05FIHRvIGNhbGN1bGF0ZSBhbmQKCSAgc2V0IHRoZSBlbGVtZW50IGxhdGVuY3kuCgkgIFdoaWxlIHRoaXMgaXMgYSBidWcgb2YgdGhlIGNhcHR1cmUgZHJpdmVyLCB0aGUgZGVjb2RlciBlbGVtZW50IHNob3VsZAoJICBub3QgdXNlIHRoZSBpbnZhbGlkIGR1cmF0aW9uIHRvIGNhbGN1bGF0ZSBhIGxhdGVuY3ksIGJ1dCBwcmludCBhIHdhcm5pbmcKCSAgaW5zdGVhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3OTQ2NgoKMjAxNi0xMS0yMyAxMjoxNzo1NSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDJzaW5rOiBCbG9jayBpbiBwcmVyb2xsX3dhaXQgb24gdW5sb2NrCgkgIFRoZSBjb3JyZWN0IGJlaGF2aW91ciBvZiBhbnl0aGluZyBzdHVjayBpbiB0aGUgLT5yZW5kZXIoKSBmdW5jdGlvbgoJICBiZXR3ZWVuIC0+dW5sb2NrKCkgYW5kIC0+dW5sb2NrX3N0b3AoKSBpcyB0byBjYWxsCgkgIGdzdF9iYXNlX3Npbmtfd2FpdF9wcmVyb2xsKCkgYW5kIG9ubHkgcmV0dXJuIGFuIGVycm9yIGlmIHRoaXMgcmV0dXJucyBhbgoJICBlcnJvciwgb3RoZXJ3aXNlLCBpdCBtdXN0IGNvbnRpbnVlIHdoZXJlIGl0IGxlZnQgb2ZmIQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0OTQ1CgoyMDE3LTA0LTA1IDE1OjU1OjIwICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA5ZGVjLmM6CgkgIHZwOWRlYzogQWRkIHdhcm5pbmdzIGZvciB1bnN1cHBvcnRlZCBmcmFtZSBmb3JtYXRzCgkgIEF0IGxlYXN0IG91dHB1dCBhbiBlbGVtZW50IHdhcm5pbmcgb24gdGhlIGJ1cyB3aGVuIHdlCgkgIGVuY291bnRlciBhIGZyYW1lIGZvcm1hdCBHU3RyZWFtZXIgZG9lc24ndCBjdXJyZW50bHkgc3VwcG9ydC4KCjIwMTctMDQtMDQgMTc6NTU6MTMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBIYW5kbGUgUGFyYW1ldHJpYyBTdGVyZW8gd2l0aCBIRS1BQUModjIpCgkgIEFjY29yZGluZyB0byBJU08vSUVDOjE0NDk2LTI6MjAwOSAsIGluIHRoZSBjYXNlIG9mIEhFLUFBQ3YyIChhdWRpb09iamVjVHlwZQoJICAyOSkgcGFyYW1ldHJpYyBzdGVyZW8gaXMgdXNlZCAoYSBzaW5nbGUgbW9ubyB0cmFjayBpcyB1c2VkIGFuZCB0aGVuCgkgIHRyYW5zZm9ybWF0aW9ucyBhcmUgYXBwbGllZCB0byBpdCB0byBwcm92aWRlIGEgc3RlcmVvIG91dHB1dCkuCgkgIFdlIHRoZXJlZm9yZSByZXBvcnQgdHdvIGNoYW5uZWxzIGluIHRoZSBjYXNlIHdoZXJlIHRoZXJlIGlzIG9uZSByZXBvcnRlZAoJICBpbiB0aGUgYXVkaW9DaGFubmVsQ29uZmlndXJhdGlvbi4KCSAgRml4ZXMgdGhlIHZhcmlvdXMgaXNzdWVzIHdoZXJlIGEgZGVtdXhlciB3b3VsZCByZXBvcnQgdHdvIGNoYW5uZWxzLCBidXQKCSAgdGhlbiB0aGUgcGFyc2VyIHdvdWxkIHNheSB0aGVyZSdzIG9ubHkgb25lIGNoYW5uZWwsIGFuZCB0aGVuIHRoZSBkZWNvZGVyCgkgIHdvdWxkIG91dHB1dCB0d28gY2hhbm5lbHMuCgoyMDE3LTA0LTA0IDE1OjIyOjI1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogU2ltcGxpZnkgYnVmZmVyIHJlZmNvdW50aW5nIGluIGFkZF9idWZmZXIoKSBhbmQgcmVtb3ZlIHVubmVlZGVkIE5VTEwgY2hlY2tzCgoyMDE3LTA0LTA0IDE1OjA4OjMzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogU2VsZWN0IHRoZSBiZXN0IHBhZCBiYXNlZCBvbiB0aGUgY2FjaGVkIGxhc3RfYnVmIGlmIGFueQoJICBsYXN0X2J1ZiBpcyB0aGUgb25lIHdlJ3JlIGdvaW5nIHRvIHdyaXRlIG5leHQsIG5vdCBidWYuIEFzIHN1Y2ggd2UKCSAgc2hvdWxkIGNoZWNrIHRpbWVzdGFtcHMgYWdhaW5zdCB0aGF0IG9uZSBpZiB0aGVyZSBpcyBvbmUgdG8gc2VsZWN0IHRoZQoJICBlYXJsaWVzdCBwYWQuCgkgIEFsc28gcmVtZW1iZXIgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCBwYWQgaW4gdGhlIHZlcnkgYmVnaW5uaW5nIHdoZW4KCSAgc3RvcmluZyB0aGUgZmlyc3QgbGFzdF9idWYuCgkgIFRoaXMgYm90aCBzb2x2ZXMgc29tZSBlZGdlIGNhc2VzIHdoZXJlIG5vdCB0aGUgY29ycmVjdCBuZXh0IHBhZCB3YXMKCSAgc2VsZWN0ZWQgY29ycmVzcG9uZGluZyB0byB0aGUgdGFyZ2V0IGludGVybGVhdmUuCgoyMDE3LTA0LTA0IDE1OjA3OjQwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogRXJyb3Igb3V0IGltbWVkaWF0ZWx5IGlmIGEgdGltZWNvZGUgaXMgdG8gYmUgd3JpdHRlbiBidXQgZG93bnN0cmVhbSByZXR1cm4gbm90LU9LCgoyMDE3LTA0LTAzIDExOjM0OjQ5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFVwZGF0ZSB2YXJpYWJsZXMgYmVmb3JlIGVhcmx5IGV4aXQKCSAgVGhpcyBpcyBhbiB1cGRhdGUgb2YgZDc4ZDU4OTYyNzJkNzhkZjQxZTY5NmZhYzkyOWU3ZGZiM2JiM2RmYQoJICBXZSBzdGlsbCBleGl0IGFzIGVhcmx5IGFzIHBvc3NpYmxlIGluIGNhc2Ugb2Ygbm9uLW9rL25vbi11bmxpbmtlZCBjb21iaW5lZAoJICBmbG93LCBidXQgd2UgZmlyc3QgbWFrZSBzdXJlIHRoYXQgd2UgdXBkYXRlIHRoZSBpbnRlcm5hbCBwb3NpdGlvbiB2YXJpYWJsZXMuCgkgIFRoaXMgZW5zdXJlcyB0aGF0IGlmIHVwc3RyZWFtcyAiaWdub3JlcyIgdGhlIGZsb3cgcmV0dXJuIChhbmQgY2FycmllcyBvbiBwdXNoaW5nKSwKCSAgd2UgZG9uJ3QgZW5kIHVwIHByb2Nlc3NpbmcgZGF0YSB3aXRoIGNvbXBsZXRlbHkgYm9ndXMgdmFyaWFibGVzL3Bvc2l0aW9ucy4KCjIwMTctMDMtMjQgMDA6MTE6MTMgKzEzMDAgIERvdWdsYXMgQmFnbmFsbCA8ZG91Z2xhc0BoYWxvLmdlbi5uej4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5oOgoJICBpbnRlcmxlYXZlOiBhdm9pZCB1c2luZyB1bmluaXRpYWxpc2VkIG9yZGVyaW5nX21hcAoJICBJZiBzZWxmLT5jaGFubmVsX3Bvc2l0aW9ucyA9PSBOVUxMICh3aGljaCBzZWVtcyB1bmxpa2VseSksCgkgIHNlbGYtPmRlZmF1bHRfY2hhbm5lbHNfb3JkZXJpbmdfbWFwIHdpbGwgYmUgdXNlZCB1bmludGlhbGlzZWQuCgkgIFdlIGF2b2lkIHRoYXQgYnkga2VlcGluZyB0cmFjayBvZiB0aGUgY2hhbm5lbF9tYXNrLCB3aGljaCBpcyBzZXQgd2hlbgoJICB0aGUgb3JkZXJpbmcgbWFwIGlzIGluaXRpYWxpc2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgwMzMxCgoyMDE3LTAzLTIzIDIzOjU2OjMxICsxMzAwICBEb3VnbGFzIEJhZ25hbGwgPGRvdWdsYXNAaGFsby5nZW4ubno+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgIGludGVybGVhdmU6IGRvbid0IG92ZXJmbG93IGNoYW5uZWwgbWFwIHdpdGggPjY0IGNoYW5uZWxzCgkgIFdoZW4gdGhlcmUgYXJlIG1vcmUgdGhhbiA2NCBjaGFubmVscywgd2UgZG9uJ3Qgd2FudCB0byBleGNlZWQgdGhlCgkgIGJvdW5kcyBvZiB0aGUgb3JkZXJpbmdfbWFwIGJ1ZmZlciwgYW5kIGluIHRoZXNlIGNhc2VzIHdlIGRvbid0IHdhbnQgdG8KCSAgcmVtcGEgYXQgYWxsLiBIZXJlIHdlIGF2b2lkIGRvaW5nIHRoYXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODAzMzEKCjIwMTctMDMtMjggMTQ6MjM6MTYgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBVc2UgZ2V0X3BrZ2NvbmZpZ192YXJpYWJsZSBpbnN0ZWFkIG9mIGNhbGxpbmcgcGtnLWNvbmZpZyBvdXJzZWxmCgkgIEl0IGlzIGF2YWxhaWJsZSBpbiBtZXNvbiAwLjM2IHdoaWNoIGlzIG5vdyBhcmUgcmVxdWlyZW1lbnQKCjIwMTctMDMtMjggMTQ6MjI6NDEgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAb3NnLnNhbXN1bmcuY29tPgoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWdvb2QucGMuaW46CgkqIHBrZ2NvbmZpZy9tZXNvbi5idWlsZDoKCSAgcGtnY29uZmlnOiBEbyBub3QgZXZlciBidWlsZCBhbiBpbnN0YWxsZWQgLnBjIGZpbGUKCjIwMTctMDMtMjggMTE6MTU6NTMgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svbWVzb24uYnVpbGQ6CgkgIG1lc29uOiB0ZXN0OiBGaXggZW52aXJvbm1lbnQgb2JqZWN0IHVzYWdlCgoyMDE3LTAzLTI4IDExOjE0OjQ3IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQG9zZy5zYW1zdW5nLmNvbT4KCgkqIG1lc29uLmJ1aWxkOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtZ29vZC5wYy5pbjoKCSogcGtnY29uZmlnL21lc29uLmJ1aWxkOgoJICBwa2djb25maWc6IEdlbmVyYXRlIHRoZSBwa2ctY29uZmlnIHdpdGggbWVzb24gdG9vCgoyMDE3LTAzLTI3IDIxOjUyOjAwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEluIGdhcCBtb2RlLCBjb25zaWRlciB0aGUgbWRhdCBvZmZzZXQgd2hlbiBjYWxjdWxhdGluZyB0aGUgcmVtYWluaW5nIG1kYXQgc2l6ZQoJICBUaGUgbWRhdCBnZW5lcmFsbHkgZG9lcyBub3Qgc3RhcnQgYXQgb2Zmc2V0IDAsIHdlIGhhdmUgdG8gaW5jbHVkZSB0aGUKCSAgc2l6ZSBvZiB0aGUgbW9vZiBhbmQgd2hhdGV2ZXIgZWxzZSB3YXMgaW4gZnJvbnQgb2YgdGhlIG1kYXQuCgoyMDE3LTAzLTI3IDExOjQzOjMxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tc3JlY292ZXJ5LmM6CgkgIGF0b21zcmVjb3Zlcnk6IEVycm9yIG91dCB3aGVuIGZzZWVrKCkgZmFpbHMgaW5zdGVhZCBvZiBzaWxlbnRseSBpZ25vcmluZwoJICBDSUQgMTQwMzI2MgoKMjAxNy0wMy0yMyAyMjoxMzowNSArMDEwMCAgQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBBbHNvIGFkZCB2aWRlb21ldGEgaWYgdGhlcmUgaXMgcGFkZGluZyB0byB0aGUgcmlnaHQgYW5kIGJvdHRvbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgwNDc4CgoyMDE3LTAzLTIxIDEyOjU0OjI3ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogZml4IG91dHB1dCBzZWdtZW50IGFuZCBidWZmZXIgRFRTIHRvIGNvcnJlc3BvbmQgdG8gdGhlIGZsYXR0ZW5lZCBQVFMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MDM0NwoKMjAxNy0wMy0yMyAxNzo1MzoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5oOgoJICBxdG11eDogUmVtb3ZlIHNvbWUgdW51c2VkIHZhcmlhYmxlcwoKMjAxNy0wMy0yMyAxNTowMToxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFJlbW92ZSBhIGNvdXBsZSBvZiB1bm5lZWRlZCBsZXZlbHMgb2YgaW5kZW50YXRpb24KCjIwMTctMDMtMjIgMTg6MTg6NDAgKzAwMDAgIEVucmlxdWUgT2Nhw7FhIEdvbnrDoWxleiA8ZW9jYW5oYUBpZ2FsaWEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRpc3Rpbmd1aXNoIFRGRFQgd2l0aCB2YWx1ZSAwIGZyb20gbm8gVEZEVCBhdCBhbGwKCSAgVEZEVHMgd2l0aCB0aW1lIDAgYXJlIGJlaW5nIGlnbm9yZWQgc2luY2UgY29tbWl0IDFmYzNkNDJmLiBUaGV5J3JlCgkgIG1pc3Rha2VuIHdpdGggdGhlIGNhc2Ugb2Ygbm90IGhhdmluZyBURkRULCBidXQgdGhvc2UgdHdvIGNhc2VzCgkgIG11c3QgYmUgZGlzdGluZ3Vpc2hlZCBpbiBzb21lIHdheS4KCSAgVGhpcyBwYXRjaCBwYXNzZXMgYW4gZXh0cmEgYm9vbGVhbiBmbGFnIHdoZW4gdGhlIFRGRFQgaXMgcHJlc2VudC4KCSAgVGhpcyBpcyBub3cgdGhlIGNvbmRpdGlvbiBiZWluZyBldmFsdWF0ZWQsIGluc3RlYWQgb2YgY2hlY2tpbmcgZm9yCgkgIDAgdGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MDQxMAoKMjAxNy0wMy0yMiAxOToxNTowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFJlc2V0IGN1cnJlbnQgY2h1bmsgYWZ0ZXIgd3JpdGluZyBvdXQgdGltZWNvZGUKCSAgSWYgd2UgaGF2ZSBtdWx0aXBsZSB0cmFja3Mgd2l0aCB0aW1lY29kZXMsIG9yIGl0J3Mgbm90IHRoZSBmaXJzdCB0cmFjawoJICB0aGF0IGhhcyB0aW1lY29kZXMsIG9yIG5vdCB0aGUgZmlyc3QgYnVmZmVyLCB3ZSBhbHJlYWR5IHN0YXJ0ZWQgYSBjaHVuawoJICBmb3IgbWVkaWEgZGF0YS4gV2Ugbm93IG5lZWQgdG8gImNsb3NlIiB0aGF0IGNodW5rIGJlY2F1c2Ugd2Ugd3JvdGUgZGF0YQoJICBmb3IgdGhlIHRpbWVjb2RlIHRyYWNrIGFuZCBhIG5ldyBjaHVuayBoYXMgdG8gYmUgc3RhcnRlZCBmb3IgdGhlCgkgIG9yaWdpbmFsIHRyYWNrIHRoZSBuZXh0IHRpbWUgaXQgaGFzIGRhdGEuCgoyMDE3LTAzLTIyIDE4OjUyOjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBEbyB0aW1lY29kZSBoYW5kbGluZyBwZXIgdHJhY2ssIG5vdCBwZXIgbXV4ZXIgaW5zdGFuY2UKCSAgVGhlcmUgY291bGQgYmUgbXVsdGlwbGUgdmlkZW8gdHJhY2tzIHdpdGggdGltZWNvZGVzLgoKMjAxNy0wMy0yMiAwMDozODo1MSArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIHF0ZGVtdXg6IG1hdHJvc2thZGVtdXg6IElnbm9yZSByZXBlYXRlZCBzZWVrIGV2ZW50cwoJICBTaW1pbGFyIHRvIHdoYXQgd2FzIGRvbmUgaW4gYWRhcHRpdmVkZW11eCwgaWdub3JlIHNlZWsKCSAgZXZlbnRzIHdlJ3ZlIGFscmVhZHkgaGFuZGxlZCAtIHN1Y2ggYXMgd2hlbiB0aGV5IGFyZSByZWNlaXZlZAoJICBvbiBldmVyeSBzcmNwYWQgb2YgZmlsZXMgd2l0aCBsb3RzIG9mIHN0cmVhbXMuCgoyMDE3LTAzLTIxIDE0OjU1OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBkYXNoZGVtdXg6IFVwZGF0ZSBtZGF0bGVmdCBmcm9tIG92ZXJhbGwgbWRhdHNpemUgYW5kIG9mZnNldCB3aGVuIG9ic2VydmluZyBhIGdhcAoJICBPdGhlcndpc2UgbWRhdGxlZnQgd2lsbCBoYXZlIGEgdmFsdWUgY2FsY3VsYXRlZCBmcm9tIHRoZSBpbml0aWFsCgkgIG1kYXRzaXplIG1pbnVzIHRoZSBwYXJ0cyBvZiB0aGUgc3RyZWFtIHRoYXQgd2Ugc2F3LCB3aGljaCBpcyBub3QKCSAgaW5jbHVkaW5nIGFsbCB0aGUgcGFydHMgb2YgdGhlIHN0cmVhbSB0aGF0IG1pZ2h0J3ZlIGJlZW4gc2tpcHBlZC4KCjIwMTctMDMtMjAgMTc6MDM6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIGRvY3M6IHVwZGF0ZSB0d28gcmVmZXJlbmNlcyB0byB0aGUgcmVtb3ZlZCAnbWFkJyBwbHVnaW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NjE0MAoKMjAxNy0wMy0yMCAxMjowMzoyOSArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHF1ZXVlLmM6CgkgIHJ0cHJ0eHF1ZXVlOiBhZGQgYmFzaWMgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZSBwaXBlbGluZXMKCSAgTW9zdGx5IGV4cGxhaW5pbmcgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBydHBydHhxdWV1ZSBhbmQgcnRwcnR4c2VuZC4KCjIwMTctMDMtMTcgMjA6NTg6MjggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL21lc29uLmJ1aWxkOgoJICB2NGwyOiBGaXggbWVzb24gcGx1Z2luIHNoYXJlZCBvYmplY3QgbmFtZQoJICBJdCBkaWRuJ3QgbWF0Y2ggYmV0d2VlbiBBdXRvTWFrZSBhbmQgTWVzb24sIGFuZCB0aGUgTWVzb24gbmFtZQoJICBkaWRuJ3QgbWF0aCB0aGUgcGx1Z2luIG5hbWUgKHZpZGVvNGxpbnV4MikuCgoyMDE3LTAzLTE2IDE4OjIwOjU0ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cmVjZWl2ZS5jOgoJICBydHBydHhyZWNlaXZlOiBmaXggZXhhbXBsZSBwaXBlbGluZXMgYW5kIGltcHJvdmUgdGhlIGRvY3VtZW50YXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MTM4MwoKMjAxNy0wMy0xNyAxNDoxMDo0MCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5oOgoJICBmbGFjcGFyc2U6IGZpeCBwbGF5YmFjayBpZiBzYW1wbGUgbnVtYmVyIGRvZXMgbm90IHN0YXJ0IGF0IDAKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAyOWI4MDc2ODVkM2M5NjJiYmU4YWZlMzUxYzVkY2E5N2Q1OWViNWUwLCB3aGlsZQoJICBmaXhpbmcgdGhlIG9yaWdpbmFsIGJyZWFraW5nIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9mbGFjZGVjLgoKMjAxNy0wMy0xNyAxMTozMDowNCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5oOgoJICBSZXZlcnQgImZsYWNwYXJzZTogZml4IHBsYXliYWNrIGlmIHNhbXBsZSBudW1iZXIgZG9lcyBub3Qgc3RhcnQgYXQgMCIKCSAgVGhpcyBicmVha3MgZ3N0LXZhbGlkYXRlIG9uIHRoZSBidWlsZCBzZXJ2ZXIgKHRob3VnaCBub3QgbG9jYWxseSksCgkgIGFuZCBhIHVuaXQgdGVzdCwgYW5kIEkgY2FuJ3QgcnVuIHVuaXQgdGVzdHMgcmlnaHQgbm93IGZvciBzb21lCgkgIHVucmVsYXRlZCByZWFzb24uCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMDc0N2I1NmY4ZTdmNDczMWQ2N2Y4ZDEzYTRiZGM0NTNkZGUwZmRmNy4KCjIwMTctMDMtMTYgMTc6NDQ6NDEgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHByaW50IHRoZSBjb3JyZWN0IHZhcmlhYmxlIGluIGRlYnVnIHN0YXRlbWVudAoJICBUaGlzIGRlYnVnIHN0YXRlbWVudCBpcyBtZWFudCB0byBwcmludCB0aGUgdGltZSBzaW5jZSB0aGUgbGFzdCAoZWFybHkpCgkgIFJUQ1AgdHJhbnNtaXNzaW9uLCBub3QgdGhlIGxhc3QgcmVndWxhciBSVENQIHRyYW5zbWlzc2lvbiAod2hpY2ggYWxzbwoJICBoYXBwZW5zIHRvIGJlIHNldCBhIGZldyBsaW5lcyBhYm92ZSB0byBjdXJyZW50X3RpbWUsIHNvIHRoZSBkZWJ1ZyBvdXRwdXQKCSAgaXMganVzdCBjb25mdXNpbmcpCgoyMDE3LTAzLTE2IDE3OjQyOjI3ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJICBydHBydHhzZW5kOiBjb252ZXJ0IExPRyBtZXNzYWdlIHRvIFRSQUNFCgkgIFRoaXMgaXMgcHJpbnRlZCB0b28gb2Z0ZW4gKGZvciBldmVyeSBjaGFpbmVkIGJ1ZmZlciEpIGFuZCBqdXN0IGNsdXR0ZXJzIHRoZSBsb2dzLgoKMjAxNy0wMy0xNiAxNDo1ODo0NSArMDEwMCAgTWlndWVsIFBhcsOtcyBEw61heiA8bXBhcmlzZGlhekBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiBmaXggd2FybmluZyBtZXNzYWdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODAxMDUKCjIwMTctMDMtMTYgMTM6NTQ6NTQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuaDoKCSAgZmxhY3BhcnNlOiBmaXggcGxheWJhY2sgaWYgc2FtcGxlIG51bWJlciBkb2VzIG5vdCBzdGFydCBhdCAwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Nzc3MzgKCjIwMTctMDMtMTUgMTg6NTg6NTUgKzAxMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBydHBzb3VyY2U6IGdldCBjbG9jay1yYXRlIGZyb20gcHQgaWYgbmVlZGVkIHRvIGdlbmVyYXRlIFNSCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODAxMDUKCjIwMTctMDMtMTYgMTM6NTI6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogSW5jbHVkZSBHU3RyZWFtZXIgc291cGh0dHBzcmMgdmVyc2lvbiBpbiBkZWZhdWx0IFVzZXItQWdlbnQgc3RyaW5nCgoyMDE3LTAzLTE2IDAwOjQxOjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiBmaXggY3Jhc2ggd2l0aCBlbXB0eSBzcHJvcHMtcGFyYW1ldGVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgwMDQwCgoyMDE3LTAzLTExIDIxOjIwOjQwIC0wODAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc2FudG9zQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXNyZWNvdmVyeS5jOgoJKiBnc3QvaXNvbXA0L2F0b21zcmVjb3ZlcnkuaDoKCSAgYXRvbXNyZWNvdmVyeTogYWxzbyBoYW5kbGUgZXh0cmEgYXRvbXMgYWZ0ZXIgJ21kaWEnIGluIGEgJ3RyYWsnCgkgIFRha2UgaW50byBhY2NvdW50IHRoZSBhdG9tcyBhdCB0aGUgZW5kIG9mIHRoZSAndHJhaycgYXRvbSB3aGVuCgkgIHJlY292ZXJpbmcgaXQuIFNvIHRoYXQgaXRzIHNpemUgKGFscmVhZHkgY29tcHV0ZWQgYW5kIGFkZGVkIGluIHRoZSB0cmFrCgkgIHNpemUpIGlzbid0IG1ha2luZyBvZmZzZXRzIHdyb25nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcxNDc4CgoyMDE3LTAzLTExIDEyOjU2OjMzIC0wODAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc2FudG9zQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGF2b2lkIGZhbGx0aHJvdWdoIHRvIG1vb3ZyZWNvdmVyeSBmYWlsdXJlIHNlY3Rpb24KCSAgUmV0dXJuIGJlZm9yZSB0aGF0IHRvIHByZXNlcnZlIG91ciBzdWNjZXNzZnVsbCByZXN1bHRzLCBvdGhlcndpc2Ugbm8KCSAgbW9vdiByZWNvdmVyeSBpbmZvcm1hdGlvbiB3b3VsZCBiZSB3cml0dGVuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzE0NzgKCjIwMTctMDMtMTEgMTI6Mjc6MjggLTA4MDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzYW50b3NAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tc3JlY292ZXJ5LmM6CgkgIGF0b21zcmVjb3Zlcnk6IGV4cGVjdCBtb3JlIGF0b20gdHlwZXMgYXQgdGhlIGhlYWRlcnMKCSAgU2tpcCBtb3JlIGF0b21zIGF0IHRoZSBoZWFkZXIgdW50aWwgaXQgZmluZHMgdGhlICdtZGF0JyB0byBjb250aW51ZSB0aGUKCSAgbW9vdiByZWNvdmVyeQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcxNDc4CgoyMDE3LTAzLTE0IDE2OjQyOjI1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3B1bHNlLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL3B1bHNlL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9wdWxzZS9wdWxzZS5jOgoJICBwdWxzZSBleGFtcGxlOiBSZW1vdmUKCSAgVGhhdCBleGFtcGxlIG9ubHkgdGVzdGVkIHRoZSBwcm9wZXJ0eSBwcm9iZSBpbnRlcmZhY2UsIHdoaWNoIGhhcyBiZWVuIHJlbW92ZWQuCgkgIFRoZSBzYW1lIGtpbmQgb2YgdGhpbmcgY2FuIG5vdyBiZSBkb25lIHdpdGggdGhlIGdlbmVyaWMgZ3N0LWRldmljZS1tb25pdG9yIHRvb2wuCgoyMDE3LTAzLTE0IDE2OjM4OjAyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyOiBSZW1vdmUgdW51c2VkIG1hY3JvCgoyMDE3LTAzLTE0IDE2OjM1OjI1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDI6IFJlbW92ZSB1bnVzZWQgZGVmaW5pdGlvbnMKCjIwMTctMDMtMTQgMTA6MTA6MTkgKzAxMDAgIEVtZXJpYyBHcmFuZ2UgPGVncmFuZ2VAZ29wcm8uY29tPgoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfdHlwZXMuYzoKCSAgcXRtdXg6IGFkZCBDaW5lRm9ybSBzdXBwb3J0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODAwMjQKCjIwMTctMDMtMTQgMTU6MDk6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBPbmx5IGNyZWF0ZSBuZXcgY2h1bmtzIGlmIHdlIGhhdmUgbW9yZSB0aGFuIGEgc2luZ2xlIHN0cmVhbQoJICBUaGVyZSdzIG5vIHBvaW50IGluIGNyZWF0aW5nIG11bHRpcGxlIGNodW5rcyBvdGhlcndpc2UsIGl0IG9ubHkgd2FzdGVzCgkgIHNvbWUgYnl0ZXMgZm9yIHN0b3JpbmcgdGhlIGNodW5rIG9mZnNldHMuCgoyMDE3LTAzLTE0IDEwOjA5OjQ2ICswMTAwICBFbWVyaWMgR3JhbmdlIDxlZ3JhbmdlQGdvcHJvLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhZGQgUzE2TCBzdXBwb3J0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODAwMjIKCjIwMTctMDMtMTQgMTU6NDg6MDggKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BsaXRtdXguYzoKCSAgc3BsaXRtdXggdGVzdDogVXNlIHBhc3NlZCBmaXJzdC9sYXN0IHRpbWVzdGFtcHMKCSAgRG9uJ3QgaGFyZC1jb2RlIHRoZSBleHBlY3RlZCB0aW1lc3RhbXAgcmFuZ2UsIHVzZSB0aGUKCSAgdmFsdWVzIHRoZSBjYWxsZXIgaXMgcGFzc2luZyBpbi4KCjIwMTctMDMtMTIgMTE6NDI6MjUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIE1ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkgIEFkZCBvbGQgcGx1Z2luIG5hbWVzIHRvIGNydWZ0IGxpc3QKCSAgVGhpcyB3aWxsIGhlbHAgZml4aW5nIHVuaW5zdGFsbGVkIHNldHVwLiBBbHNvIGZpeCBtaXNzaW5nIHBhdGgKCSAgY29ycmVjdGlvbiBpbiBvbmUgb2YgdGhlIHBsdWdpbiB4bWwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzkzNDQKCjIwMTYtMTItMTUgMTI6Mzg6NDAgKzAxMDAgIE1pY2hhZWwgRHV0a2EgPG1haWxAbWljaGFlbC1kdXRrYS5kZT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheSwgcnRwaDI2NWRlcGF5OiByZW1vdmUgc3RyYXkgZ19kZWJ1ZygpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Nzk4NTgKCjIwMTctMDMtMTAgMTE6MjQ6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogaW5pdCBmb3VyY2MKCSAgSW5pdGlhbGl6ZSB0aGUgZm91cmNjIHRvIDAgc28gdGhhdCB3ZSBjYW4gZGV0ZWN0IGZhaWx1cmUgbGF0ZXIuCgoyMDE3LTAzLTA4IDIyOjUwOjUyIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdsaW1pdGVyLmM6CgkgIHRlc3RzOiBBZGQgbWlzc2luZyBMREFERCBmb3IgbGlibSBpbiB0ZXN0cyB1c2luZyBtYXRoLmgKCSAgQWxzbywgcmVtb3ZlIHRoZSBtYXRoLmggaW5jbHVkZSBmb3IgdGhlIG9uZSB0aGF0IGp1c3QgcHJlbnRlbmQgdG8gbmVlZAoJICBpdC4KCjIwMTctMDMtMDggMjI6MTU6NDYgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIE1ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgRml4IHNob3V0MiBwbHVnaW4gZG9jIGdlbmVyYXRpb24KCSAgSW4gdGhlIHByZXZpb3VzIHBhdGNoLCB3ZSBhbHNvIHJlbmFtZWQgc2hvdXQyc2VuZCB0byBzaG91dDIsIHNvIGl0IGRvZXMKCSAgbm90IGNsYXNoIHdpdGggaXQncyBmZWF0dXJlLiBUaG91Z2ggd2UgZm9yZ290IHRvIHJlbmFtZSBpdCBpbiB0aGUgZG9jCgkgIHJlZmVyZW5jZS4gVGhpcyBwYXRjaCBhbHNvIGFkZCBhIGNydWZ0IGRldGVjdGlvbiBvbiB0aGUgeG1sIHRoYXQgbWFkZSBtZQoJICBtaXNzIHRoaXMgZXJyb3IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzkzNDQKCjIwMTctMDMtMDQgMTA6NTI6NDcgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyLnhtbDoKCSogZXh0L3B1bHNlL01ha2VmaWxlLmFtOgoJKiBleHQvcHVsc2UvbWVzb24uYnVpbGQ6CgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkqIGV4dC9zb3VwL01ha2VmaWxlLmFtOgoJKiBleHQvc291cC9tZXNvbi5idWlsZDoKCSogc3lzL29zczQvTWFrZWZpbGUuYW06CgkgIEZpeCBwbHVnaW4gZmlsZW5hbWVzIHRvIG1hdGNoIHBsdWdpbiBuYW1lcwoJICAtIGxpYmdzdHB1bHNlLnNvIGJlY29tZXMgbGliZ3N0cHVsc2VhdWRpby5zbwoJICAtIGxpYmdzdHNvdXBodHRwc3JjLnNvIGJlY29tZXMgbGliZ3N0c291cC5zbwoJICAtIGxpYmdzdG9zczRhdWRpby5zbyBiZWNvbWVzIGxpYmdzdG9zczQuc28KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3OTM0NAoKMjAxNy0wMy0wOCAxNjowMTowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSAgcXRtdXg6IEZyZWUgRURUUyBpbnN0ZWFkIG9mIGp1c3QgY2xlYXJpbmcgaXQgYW5kIHNldHRpbmcgaXQgdG8gTlVMTAoKMjAxNy0wMy0wOCAxNToyNzozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogRml4IHNvbWUgbWVtb3J5IGxlYWtzIHJlbGF0ZWQgdG8gdGltZWNvZGUgdHJhY2tzCgoyMDE3LTAzLTA0IDAwOjM0OjQ0ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwbGl0bXV4LmM6CgkgIHNwbGl0bXV4OiBBZGQgdW5pdCB0ZXN0IGZvciByZXZlcnNlIHBsYXliYWNrCgkgIEVuc3VyZSB0aGF0IHJldmVyc2UgcGxheWJhY2sgd29ya3MgYW5kIGdlbmVyYXRlcyB0aGUgcmFuZ2UKCSAgb2YgdGltZXN0YW1wcyAoMC0zcykgd2UgZXhwZWN0LCBpbiBtb25vdG9uaWNhbGx5IGRlc2NlbmRpbmcgb3JkZXIuCgoyMDE3LTAyLTI4IDExOjUwOjQ1ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzcmMuYzoKCSAgc3BsaXRtdXhzcmM6IEZpeCByZXZlcnNlIHBsYXliYWNrCgkgIEZpeCB0aGUgY2hlY2sgZm9yIHdoZXRoZXIgdGhlIHN0YXJ0IHRpbWUgb2YgdGhlIHNlZ21lbnQgaGFzCgkgIGJlZW4gcmVhY2hlZCB3aGVuIHBsYXlpbmcgaW4gcmV2ZXJzZS4gT3RoZXJ3aXNlLCBwbGF5YmFjawoJICBzdG9wcyBhZnRlciByZWFjaGluZyB0aGUgc3RhcnQgb2YgYW55IGZpbGUgcGFydCwgaW5zdGVhZCBvZgoJICBjb250aW51aW5nIHVudGlsIGFsbCBwYXJ0cyB3aXRoaW4gdGhlIHNlZ21lbnQgaGF2ZSBwbGF5ZWQKCjIwMTctMDItMjIgMDM6MDE6MzEgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IERvbid0IGxvc2UgY3J5cHRvIGluZm8gb24gYSBuZXcgbW9vZgoJICBXZSBwYXJzZSB0aGUgbmV4dCBtb29mIGluIGFkdmFuY2Ugb2YgaGF2aW5nIHB1c2hlZAoJICBhbGwgc2FtcGxlcyBmcm9tIHRoZSBwcmV2aW91cyBvbmUgaW4gc29tZSBjYXNlcywgYW5kCgkgIHdlJ2xsIHN0aWxsIG5lZWQgdGhlIGNyeXB0byBpbmZvIGZyb20gdGhlIHByZXZpb3VzCgkgIGZyYWdtZW50IHNvIGtlZXAgYXJvdW5kIGFueSB1bnVzZWQgY3J5cHRvIGluZm8gZW50cmllcwoJICB3aGVuIGFkZGluZyBuZXcgb25lcwoKMjAxNy0wMi0yNyAxMzo1NTo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9hdG9tcy5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBVcGRhdGUgbW9kaWZpY2F0aW9uIHRpbWVzIHdoZW4gc2VuZGluZyB0aGUgbW9vdgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc5NDIyCgoyMDE3LTAzLTAxIDE2OjExOjQ3IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtbHJzbWl0aEBnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHNiY3BhcnNlLmg6CgkgIHNiY3BhcnNlOiBGaXggdXAgdmFsdWVzIGZvciBhbGxvY2F0aW9uIGVudW1lcmF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc5Mzg5CgoyMDE3LTAyLTI4IDEzOjEwOjUwICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cmVjZWl2ZS5jOgoJICBydHBydHhyZWNlaXZlOiBmaXggcG90ZW50aWFsIGxlYWsgb2Ygb2xkLCB1bmFzc29jaWF0ZWQsIGFzc29jaWF0aW9uIHJlcXVlc3RzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjI1NjAKCjIwMTctMDItMjggMTU6NDc6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBEb24ndCBpbmNyZW1lbnQgLTEgLyB1bnNldCBpbmRpY2VzCgkgIENJRCAxMzk4NTQ1CgoyMDE3LTAyLTI4IDE1OjIwOjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFByb3RlY3QgYWdhaW5zdCBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UgZm9yIHN0cmVhbXMgd2l0aG91dCBjYXBzCgkgIENJRCAxMzYzMzMyCgoyMDE3LTAyLTI4IDEyOjU3OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgIHJ0cGgyNjNwYXk6IEZyZWUgbWFjIG9uIGVycm9ycwoJICBDSUQgMTIxMjE0OQoKMjAxNy0wMi0yOCAxMjo0NToyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkgIHJ0cHZvcmJpc3BheTogQWRkIG1pc3NpbmcgYnJlYWsgdG8gZm9yIGxvb3AKCjIwMTctMDItMjggMTE6MDI6NTQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgY2hlY2s6IEZpeCBzcGxpdG11eCB0ZXN0IENGTEFHUwoJICBOZWVkcyB0byBrbm93IHdoZXJlIHRoZSBnc3RhcHAgaGVhZGVycyBhcmUKCjIwMTctMDItMjcgMjE6MDI6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IGNvbXBpbGF0aW9uIHdpdGggZ2NjIDcKCSAgcXRkZW11eC5jOiBJbiBmdW5jdGlvbiDigJhxdGRlbXV4X3BhcnNlX3NhbXBsZXPigJk6CgkgIHF0ZGVtdXguYzo4NDUwOjM5OiBlcnJvcjog4oCYKuKAmSBpbiBib29sZWFuIGNvbnRleHQsIHN1Z2dlc3Qg4oCYJibigJkgaW5zdGVhZCBbLVdlcnJvcj1pbnQtaW4tYm9vbC1jb250ZXh0XQoJICBpZiAoc3RyZWFtLT5zYW1wbGVzX3Blcl9mcmFtZSAqIHN0cmVhbS0+Ynl0ZXNfcGVyX2ZyYW1lKSB7CgkgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Xn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoKMjAxNy0wMi0yNyAyMTowMToyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgbXBlZ2F1ZGlvcGFyc2U6IEZpeCBjb21waWxhdGlvbiB3aXRoIGdjYyA3CgkgIGdzdG1wZWdhdWRpb3BhcnNlLmM6IEluIGZ1bmN0aW9uIOKAmGdzdF9tcGVnX2F1ZGlvX3BhcnNlX3Jlc2V04oCZOgoJICBnc3RtcGVnYXVkaW9wYXJzZS5jOjIwOTozOiBlcnJvcjog4oCYbWVtc2V04oCZIHVzZWQgd2l0aCBsZW5ndGggZXF1YWwgdG8gbnVtYmVyIG9mIGVsZW1lbnRzIHdpdGhvdXQgbXVsdGlwbGljYXRpb24gYnkgZWxlbWVudCBzaXplIFstV2Vycm9yPW1lbXNldC1lbHQtc2l6ZV0KCSAgbWVtc2V0IChtcDNwYXJzZS0+eGluZ19zZWVrX3RhYmxlX2ludmVyc2UsIDAsIDI1Nik7CgkgIF5+fn5+fgoJICBnc3RtcGVnYXVkaW9wYXJzZS5jOiBJbiBmdW5jdGlvbiDigJhnc3RfbXBlZ19hdWRpb19wYXJzZV9oYW5kbGVfZmlyc3RfZnJhbWXigJk6CgkgIGdzdG1wZWdhdWRpb3BhcnNlLmM6OTUxOjc6IGVycm9yOiDigJhtZW1zZXTigJkgdXNlZCB3aXRoIGxlbmd0aCBlcXVhbCB0byBudW1iZXIgb2YgZWxlbWVudHMgd2l0aG91dCBtdWx0aXBsaWNhdGlvbiBieSBlbGVtZW50IHNpemUgWy1XZXJyb3I9bWVtc2V0LWVsdC1zaXplXQoJICBtZW1zZXQgKG1wM3BhcnNlLT54aW5nX3NlZWtfdGFibGVfaW52ZXJzZSwgMCwgMjU2KTsKCSAgXn5+fn5+CgoyMDE3LTAyLTI3IDE5OjMxOjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSAgcnRwdm9yYmlzcGF5OiBXaGVuIGdldHRpbmcgbmV3IGhlYWRlcnMsIHJlcGxhY2UgdGhlIG9sZCB2ZXJzaW9uIG9mIHRoZW0KCSAgVGhpcyBwcmV2ZW50cyBzdG9yaW5nIGFuIGluZmluaXRlIGFtb3VudCBvZiBlLmcuIGNvbW1lbnQgaGVhZGVycyBpZiB0aGV5CgkgIGNvbWUgd2l0aG91dCBhIG5ldyBpbml0aWFsaXphdGlvbiBoZWFkZXIgaW4gZnJvbnQgb2YgdGhlbS4gVGhlcmUgY2FuCgkgIG9ubHkgYmUgb25lIGhlYWRlciBvZiBlYWNoIHR5cGUuCgoyMDE3LTAyLTI3IDE5OjI1OjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHJ0cC1wYXlsb2FkaW5nOiBBZGQgbmV3IHRlc3QgZm9yIFZvcmJpcyByZW5lZ290aWF0aW9uCgkgIENoZWNrIGlmIGVuY29kaW5nLCBwYXlsb2FkaW5nLCBkZXBheWxvYWRpbmcgYW5kIGRlY29kaW5nIHdvcmtzIGlmIHRoZQoJICBzdHJlYW0gY29uZmlndXJhdGlvbiAoYW5kIHRodXMgdGhlIGhlYWRlcnMpIGNoYW5nZS4KCjIwMTctMDItMjcgMTk6MjQ6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICB2b3JiaXNwYXk6IE9ubHkgcmVwbGFjZSBoZWFkZXJzIHdoZW4gcmVjZWl2aW5nIGEgbmV3IGNvbmZpZyBoZWFkZXIKCSAgSWYgd2UgYWxzbyByZXBsYWNlIGFsbCBoZWFkZXJzIHdoZW4gcmVjZWl2aW5nIGFueSBwb3NzaWJseSBmb2xsb3dpbmcKCSAgY29tbWVudHMgaGVhZGVyLCB3ZSB3b3VsZCB0aHJvdyBhd2F5IHRoZSBjb25maWcgaGVhZGVyIGJlZm9yZSBiZWluZyBhYmxlCgkgIHRvIG1ha2UgdXNlIG9mIGl0LgoKMjAxNy0wMi0yMyAxMjoxMToxNSArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGxpdG11eC5jOgoJICB0ZXN0czogc3BsaXRtdXg6IGFkZCB1bml0IHRlc3QgZm9yIGNvbnRlbnQgd2l0aCBzcGFyc2Ugc3RyZWFtcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxMDg2CgoyMDE3LTAyLTIyIDExOjIzOjE5ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHBhcnRyZWFkZXIuYzoKCSAgc3BsaXRtdXhwYXJ0cmVhZGVyOiBpZ25vcmUgc3BhcnNlIHN0cmVhbXMgd2hlbiBjYWxjdWxhdGluZyB0aGUgZW5kIG9mZnNldCBvZiBhIHBhcnQKCSAgQSBzcGFyc2Ugc3RyZWFtJ3MgZW5kaW5nIHRpbWVzdGFtcCBjYW4gYmUgY29uc2lkZXJhYmx5IHNtYWxsZXIKCSAgdGhhbiB0aGUgZW5kaW5nIHRpbWVzdGFtcHMgb2YgdGhlIG90aGVyIHN0cmVhbXMsIHdoaWNoIGNhbiBsZWFkCgkgIHRvIHNraXBwaW5nIGNvbnNpZGVyYWJsZSB0aW1lIGZyb20gdGhlIG5leHQgcGFydC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTA4NgoKMjAxNy0wMi0yMiAxMToyMTowNiArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhwYXJ0cmVhZGVyLmM6CgkgIHNwbGl0bXV4cGFydHJlYWRlcjogaWRlbnRpZnkgc3BhcnNlIHN0cmVhbXMKCjIwMTctMDItMjUgMjE6NDc6MDMgLTAzMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBnbWFpbC5jb20+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRvcmllbnQuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSAgVXBkYXRlIEVkZ2FyZCBMaW1hJ3MgZW1haWwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3OTIzMAoKMjAxNy0wMi0wOCAxMzozNjowMCArMDAwMCAgQW5kcmV3IDxuaWZpZ2FzZUBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBydHBqaXR0ZXJidWZmZXI6IERvbid0IGFsd2F5cyByZXNldCBQVFMgdG8gMCBhZnRlciBhIGdhcAoJICBJbiBmdW5jdGlvbiBydHBfaml0dGVyX2J1ZmZlcl9jYWxjdWxhdGVfcHRzOiBJZiBnYXAgaW4gaW5jb21pbmcgUlRQCgkgIHRpbWVzdGFtcHMgaXMgbW9yZSB0aGFuICgzICogamJ1Zi0+Y2xvY2tfcmF0ZSkgd2UgY2FsbAoJICBydHBfaml0dGVyX2J1ZmZlcl9yZXNldF9za2V3IHdoaWNoIHJlc2V0cyBwdHMgdG8gMC4gU28gY29tcG9uZW50cyBkb3duCgkgIHRoZSBwaXBlbGluZSAocGxheWVzLCBtaXhlcnMpIGp1c3Qgc2tpcCBmcmFtZXMvc2FtcGxlcyB1bnRpbCBwdHMgYmVjb21lcwoJICBlcXVhbCB0byBwdHMgYmVmb3JlIGdhcC4KCSAgSW4gdmVyc2lvbiAxLjEwLjIgYW5kIGJlZm9yZSB0aGlzIGNoZWNraW5nIHdhcyBieXBhc3NlZCBmb3IgcGFja2V0cyB3aXRoCgkgICJlc3RpbWF0ZWQgZHRzIiwgYW5kIGdhcHMgd2VyZSBoYW5kbGVkIGNvcnJlY3RseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3ODM0MQoKMjAxNy0wMi0yNCAxNTo1OTo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIG1lc29uLmJ1aWxkOgoJICBtZXNvbjogVXBkYXRlIHZlcnNpb24KCjIwMTctMDItMjQgMTU6Mzc6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuMTEuMiA9PT0KCjIwMTctMDItMjQgMTU6MDc6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkgIFJlbGVhc2UgMS4xMS4yCgoyMDE3LTAyLTI0IDEyOjUwOjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE3LTAyLTI0IDEyOjQ0OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vZWwucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE3LTAyLTEwIDIwOjUwOjE3ICswOTAwICBTZXVuZ2hhIFlhbmcgPHNoLnlhbmdAbGdlLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBFeHRyYWN0IHJlZGlyZWN0aW9uIHVyaSBvbiBsaWJzb3VwJ3MgcmVzdGFydGVkIGNhbGxiYWNrCgkgIExldCBsaWJzb3VwIGhhbmRsZSByZWRpcmVjdGlvbiBhdXRvbWF0aWNhbGx5LgoJICBBbmQgdGhlbiwgdG8gZmlndXJlIG91dCByZWRpcmVjdGlvbiB1cmksIGV4dHJhY3QgaXQgb24gInJlc3RhcnRlZCIKCSAgY2FsbGJhY2sgd2hpY2ggd2lsbCBiZSBmaXJlZCBiZWZvcmUgc291cF9zZXNzaW9uX3NlbmQoKSBpcyByZXR1cm5lZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3ODQyOAoKMjAxNy0wMS0wMiAxOToyOTowNCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBVcGRhdGUgaW1hZ2Ugc2l6ZSB3aGVuIGV4dHJhcG9sYXRpbmcKCSAgVXBkYXRlIHRoZSBpbWFnZSBzaXplIGFjY29yZGluZyB0aGUgYW1vdW50IG9mIGRhdGEgd2UgYXJlIGdvaW5nIHRvCgkgIHJlYWQvd3JpdGUuIFRoaXMgd29ya2Fyb3VuZCBidWdzIGluIGRyaXZlciB3aGVyZSB0aGUgc2l6ZWltYWdlIHByb3ZpZGVkCgkgIGJ5IFRSWS9TX0ZNVCByZXByZXNlbnQgdGhlIGJ1ZmZlciBsZW5ndGggKG1heGltdW0gc2l6ZSkgcmF0aGVyIHRoZW4gdGhlIGV4cGVjdGVkCgkgIGJ5dGVzdXNlZCAoYnVmZmVyIHNpemUpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1NTY0CgoyMDE3LTAyLTE3IDE1OjUwOjMyIC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGZpeCB0eXBvIGluIF9hY3F1aXJlX2Zvcm1hdCgpIGVycm9yIG1lc3NhZ2VzCgkgIEZpeGVzOgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc4ODE1CgoyMDE3LTAyLTA3IDE3OjI3OjU2ICswMTAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHRlc3RzOiBtYXRyb3NrYW11eCwgcXRtdXg6IGRvbid0IGFkZCBjb2RlY19kYXRhIGJ1ZmZlcnMgdG8gdGVtcGxhdGUgY2FwcwoJICBzdHJlYW1oZWFkZXIgYW5kIGNvZGVjX2RhdGEgYnVmZmVycyBmaWVsZHMgYXJlIG9ubHkgbWVhbnQgdG8gYmUKCSAgaW4gdGhlIG5lZ290aWF0ZWQgY2Fwcywgbm90IHRoZSB0ZW1wbGF0ZSBjYXBzLgoJICBGaXhlcyBmYWxzZS1wb3NpdGl2ZSBsZWFrcyBvZiB0aG9zZSBidWZmZXJzIGRldGVjdGVkIGJ5IHRoZSBsZWFrcwoJICB0cmFjZXIsIGFzIHRlbXBsYXRlIGNhcHMgYXJlIHN0YXRpYywgYW5kIHdlIGRlY2lkZWQgdG8gbm90IGluY2x1ZGUKCSAgY29kZSBpbiBnc3RyZWFtZXIgY29yZSB0byBoYW5kbGUgdGhpcyB1bnVzdWFsIGNhc2Ugb2YgdGVtcGxhdGUgY2FwcwoJICBoYXZpbmcgYnVmZmVycyBpbiB0aGVtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4NzYyCgoyMDE3LTAyLTA5IDEyOjQ2OjU0ICswMDAwICBKb2NoZW4gSGVubmViZXJnIDxqaEBoZW5uZWJlcmctc3lzdGVtZGVzaWduLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkgIHJ0cHZvcmJpc3BheTogVXBkYXRlIGFuZCBzZW5kIG91dCBoZWFkZXJzIHdoZW4gbmV3IGhlYWRlcnMgYXJlIHJlY2VpdmVkCgkgIFRoZSBwYXlsb2FkZXIgbmVlZHMgdG8gcmVzZXQgYW5kIHVwZGF0ZSB0aGUgdm9yYmlzIGNvbmZpZyBkYXRhIHdoaWNoIGlzCgkgIHB1c2hlZCBvbiB0aGUgbmV0d29yayBpZiBpdCByZWNlaXZlcyBuZXcgaGVhZGVycywgb3IgYXQgbGVhc3QsIGl0IG1heQoJICBoYXZlIHRvIGRvIHNvLgoJICBXaXRob3V0IHRoaXMsIHRoZSBzdHJlYW0gY29uZmlndXJhdGlvbiBjb3VsZCBjaGFuZ2Ugd2l0aG91dCB0aGUKCSAgcGF5bG9hZGVyIHNlbmRpbmcgdGhlIG5ldyBjb25maWd1cmF0aW9uIHRvIHRoZSBvdGhlciBzaWRlLgoKMjAxNy0wMi0xNSAxNDo0ODo1OCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmg6CgkgIHNwbGl0bXV4c2luazogQ2hhbmdlIGZpbGVzIG9uIGluY29tcGF0aWJsZSBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjE3NjEKCjIwMTctMDItMTUgMTY6MzU6MDEgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IFJlc2V0IHJlYWR5X2Zvcl9vdXRwdXQgb24gc3RhdGUgY2hhbmdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjE3NjEKCjIwMTctMDItMTUgMTU6MDk6MDYgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5oOgoJICBzcGxpdG11eHNpbms6IFJlbW92ZSB1bnVzZWQgbmV4dF9tYXhfb3V0X3J1bm5pbmdfdGltZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxNzYxCgoyMDE3LTAyLTE1IDE1OjA3OjMyIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuaDoKCSAgc3BsaXRtdXhzaW5rOiBSZW1vdmUgdW51c2VkIG11eGVkX291dF90aW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjE3NjEKCjIwMTctMDItMTcgMTM6MDc6MDUgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIFJldmVydCAicXRkZW11eDogQWx3YXlzIHNuYXAgdG8gdGhlIHN0YXJ0IG9mIHRoZSBrZXlmcmFtZSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAxMDc5MDJlYzUxNGJkODI2YWEyOWQyMjk4MTA3ZTJjMDkxZTFjNzc5LgoJICBUaGlzIGNvbW1pdCBpbnRlbmRlZCB0byBlbnN1cmUgdGhhdCBrZXlmcmFtZSBzZWVrcyBsYW5kIGF0IHRoZQoJICBzdGFydCB0aW1lc3RhbXAgb2YgYSBrZXlmcmFtZSwgcmF0aGVyIHRoYW4gaW4gdGhlIG1pZGRsZSBvZiBvbmUsCgkgIGJ1dCB0aGV5IGNhdXNlIHRyb3VibGUgb24gZmlsZXMgd2l0aCBzcGFyc2Ugc3RyZWFtcywgb3Igd2l0aAoJICBKUEVHICdjb3ZlciBhcnQnIHRyYWNrcyB0aGF0IGhhdmUgb25seSBvbmUgb3IgYSBmZXcgSlBFRyBzYW1wbGVzCgkgIHdpdGggdmVyeSBsb25nIGR1cmF0aW9ucy4KCSAgVGhhdCdzIHN0aWxsIGRlc2lyYWJsZSBmb3IgZG9pbmcgc2VhbWxlc3MgY3V0dGluZyBvZiB2aWRlb3MsCgkgIGJ1dCBuZWVkcyBhIHJldGhpbmsgZm9yIGltcGxlbWVudGF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc4NjkwCgoyMDE3LTAyLTE3IDAxOjIyOjExICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uaDoKCSAgYXVkaW9meC9lY2hvOiBhZGRlZCBzdXJyb3VuZC1kZWxheSBhbmQgc3Vycm91bmQtbWFzawoJICBBZGQgYSBuZXcgYm9vbGVhbiBzdXJyb3VuZC1kZWxheSBwcm9wZXJ0eSB0aGF0IG1ha2VzCgkgIGF1ZGlvZWNobyBqdXN0IGFwcGx5IGEgZGVsYXkgdG8gY2VydGFpbiBjaGFubmVscyB0byBjcmVhdGUKCSAgYSBzdXJyb3VuZCBlZmZlY3QsIHJhdGhlciB0aGFuIGFuIGVjaG8gb24gYWxsCgkgIGNoYW5uZWxzLiBUaGlzIGlzIHVzZWZ1bCB3aGVuIHVwbWl4aW5nIGZyb20gc3RlcmVvIC0gZm9yIGV4YW1wbGUuCgkgIEFkZCBhIHN1cnJvdW5kLW1hc2sgcHJvcGVydHkgdG8gY29udHJvbCB3aGljaCBjaGFubmVscwoJICBhcmUgY29uc2lkZXJlZCBzdXJyb3VuZCBzb3VuZCBjaGFubmVscyB3aGVuIGFkZGluZyBhCgkgIGRlbGF5IHdpdGggc3Vycm91bmQtZGVsYXkgPSB0cnVlCgkgIE9yaWdpbmFsIHBhdGNoIGZyb20gSm9jaGVuIEhlbm5lYmVyZyA8amhAaGVubmViZXJnLXN5c3RlbWRlc2lnbi5jb20+CgoyMDE3LTAyLTE1IDAwOjEzOjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBVc2UgSVBfTVVMVElDQVNUX0FMTCBmb3IgZmlsdGVyaW5nIElQdjQgcGFja2V0cyBpZiBhdmFpbGFibGUKCSAgVGhpcyBnb2VzIGFyb3VuZCB0aGUgaW5lZmZpY2llbnQgY29udHJvbCBtZXNzYWdlIGJhc2VkIGZpbHRlcmluZyBhbmQKCSAgZG9lcyBhbGwgdGhlIGZpbHRlcmluZyBrZXJuZWwtc2lkZS4gVW5mb3J0dW5hdGVseSB0aGlzIGlzIExpbnV4LW9ubHkgYW5kCgkgIHRoZXJlIGlzIG5vIElQdjYgdmFyaWFudCBvZiBpdCAoeWV0KS4KCjIwMTctMDItMTQgMTk6NTM6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBNYWtlZmlsZS5hbToKCSAgbWVzb246IGRpc3QgbWVzb24gYnVpbGQgZmlsZXMKCSAgU2hpcCBtZXNvbiBidWlsZCBmaWxlcyBpbiB0YXJiYWxscywgc28gcGVvcGxlIHdobyB1c2UgdGFyYmFsbHMKCSAgaW4gdGhlaXIgYnVpbGRzIGNhbiBzdGFydCBwbGF5aW5nIHdpdGggbWVzb24gYWxyZWFkeS4KCjIwMTctMDItMTAgMTA6NTM6MDUgKzAxMDAgIFPDuHJlbiBKdXVsIDx6cG9uLmRrQGdtYWlsLmNvbT4KCgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pY3lkZW11eC5jOgoJICBpY3lkZW11eDogcmVzZXQgdGFncyBvbiBlbXB0eSB2YWx1ZQoJICBTb21lIHJhZGlvIHN0cmVhbXMgdXNlcyBTdHJlYW1UaXRsZT0nJyB0byByZXNldCB0aGUgdGl0bGUgYWZ0ZXIgYQoJICB0cmFjayBzdG9wcGVkIHBsYXlpbmcsIGUuZy4gd2hpbGUgdGhlIGhvc3QgdGFsa3MgYmV0d2VlbiB0cmFja3Mgb3IKCSAgZHVyaW5nIG5ld3Mgc2VnbWVudHMuCgkgIFRoaXMgY2hhbmdlIGZvcmNlcyBhbiBlbXB0eSB0YWcgb2JqZWN0IHRvIGJlIGRpc3RyaWJ1dGVkIGlmCgkgIFN0cmVhbVRpdGxlIG9yIFN0cmVhbVVybCBpcyByZWNlaXZlZCB3aXRoIGVtcHR5IHZhbHVlLCB0aHVzIGFsbG93aW5nCgkgIGRvd25zdHJlYW0gZWxlbWVudHMgdG8gZ2V0IG5vdGlmaWVkIGFib3V0IHRoaXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Nzg0MzcKCjIwMTctMDItMTMgMTE6MTc6MjUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IFByb3Blcmx5IG5vdGlmeSBtaXNzaW5nIGVsZW1lbnRzCgkgIElmIHRoZSBzcnRwIGVsZW1lbnRzIGFyZSBub3QgcHJlc2VudCwgcG9zdCBhIG1lc3NhZ2Ugb24gdGhlIGJ1cwoJICBpbmZvcm1pbmcgYWJvdXQgdGhlIG1pc3NpbmcgcGx1Z2lucy4KCjIwMTctMDItMTAgMTA6MzI6NTcgLTAzMDAgIEp1YW4gUGFibG8gVWdhcnRlIDx1Z2FydGVAZW5kbGVzc20uY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBtYXJrIHNpbmdsZXRvbiBjYXBzIGFzICJtYXkgYmUgbGVha2VkIiBvYmplY3RzLgoJICBTZXQgTUFZX0JFX0xFQUtFRCBmbGFnIG9uIHN0YXRpYyBwYWRzIHJldHVybmVkIGJ5IGdzdF92NGwyX29iamVjdF9nZXRfKl9jYXBzKCkKCSAgZnVuY3Rpb25zLiBNYWRlIGZ1bmN0aW9ucyB0aHJlYWQgc2FmZSBieSB1c2luZyBnX29uY2VfaW5pdFtlbnRlcnxsZWF2ZV0KCSAgZnVudGlvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Nzg0NTMKCjIwMTctMDItMDkgMTQ6MTg6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IFJlbW92ZSBub3cgdW51c2VkIGRvbmUgbGFiZWwKCjIwMTctMDItMDkgMTI6NTU6MzIgKzAxMDAgIE5pY2sgS2FsbGVuIDxuaWNra2FsbGVuQG1lLmNvbT4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogZG8gbm90IGNhY2hlIGNhcHMKCSAgVXBzdHJlYW0gZWxlbWVudHMgbGlrZSB2aWRlb2ZsaXAgY2FuIHRyYW5zZm9ybSBjYXBzLCBzdWNoIGFzIGNoYW5naW5nIHdpZHRoIGFuZCBoZWlnaHQuCgkgIFdoZW4gYW4gaW1hZ2VmcmVlemUgZG93bnN0cmVhbSByZWNlaXZlcyBhbiBBQ0NFUFRfQ0FQUyBxdWVyeSBpdCB3aWxsIE5PVyByZXR1cm4KCSAgYWxsIGNhcHMgdGhhdCBpdCBjYW4gYWNjZXB0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc4Mzg5CgoyMDE3LTAyLTA5IDExOjI5OjQzICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEFkZCBhIGNvbW1lbnQgYWJvdXQgaG93IGF0b21fdHJha19zZXRfZWxzdF9lbnRyeSgpIHdvcmtzCgoyMDE0LTA4LTIyIDA5OjU1OjQzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2R1bXAuYzoKCSAgcXRkZW11eDogZGVtb3RlIHNvbWUgbG9nIG1lc3NhZ2VzIHRvIFRSQUNFIGxldmVsCgkgIERvbid0IHNwYW0gZGVidWcgbG9nIHdpdGggdW5pbnRlcmVzdGluZyBzdHVmZi4KCjIwMTctMDItMDggMTc6MjQ6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogQ2xlYXIgZWRpdCBsaXN0cyBldmVyeSB0aW1lIHdlIHJlY2FsY3VsYXRlIHRoZW0KCSAgV2UgcmVjYWxjdWxhdGUgdGhlbSwgc28gYW55IG9sZCBpbmZvcm1hdGlvbiBoYXMgdG8gYmUgZm9yZ290dGVuLgoJICBPdGhlcndpc2Ugd2Ugd3JpdGUgaW52YWxpZCBlZGl0IGxpc3RzIHdoZW4gd3JpdGluZyBoZWFkZXJzIG11bHRpcGxlCgkgIHRpbWVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc4MzMwCgoyMDE3LTAyLTA3IDEzOjEwOjE4ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhwYXJ0cmVhZGVyLmM6CgkgIHNwbGl0bXV4c3JjOiBBbGxvdyBmb3IgYnVmZmVycyBiZWZvcmUgdGhlIHNlZ21lbnQgd2hlbiBtZWFzdXJpbmcKCSAgVXNlZCBzaWduZWQgY2FsY3VsYXRpb25zIHdoZW4gbWVhc3VyaW5nIHRoZSBtYXhfdHMgb2YgYW4gaW5wdXQKCSAgZnJhZ21lbnQsIHNvIGFzIHRvIGNhbGN1bGF0ZSB0aGUgY29ycmVjdCBkdXJhdGlvbiBhbmQgb2Zmc2V0CgkgIHdoZW4gYnVmZmVycyBoYXZlIHRpbWVzdGFtcHMgcHJlY2VkaW5nIHRoZWlyIHNlZ21lbnQKCjIwMTctMDItMDIgMTI6NTU6MjUgKzAxMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBydHBzZXNzaW9uOiByZWxhdGUgcmVjZWl2ZWQgRklScyBhbmQgUExJcyB0byBzb3VyY2UKCSAgVGhpcyBpcyBuZWVkZWQgaW4gb3JkZXIgdG86CgkgIC0gQXZvaWQgaWdub3JpbmcgcmVxdWVzdHMgZm9yIGRpZmZlcmVudCBtZWRpYSBzb3VyY2VzLgoJICAtIEFkZCBTU1JDIGZpZWxkIGluIHRoZSBHc3RGb3JjZUtleVVuaXQgZXZlbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzgwMTMKCjIwMTctMDEtMzAgMjA6MjA6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc2FuaXR5IGNoZWNrIG51bWJlciBvZiBzZWdtZW50cyBpbiBlZGl0IGxpc3QKCSAgRml4ZXMgY3Jhc2ggd2l0aCBmdXp6ZWQgZmlsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3Nzk0MAoKMjAxNy0wMS0wMiAyMjoxNjozOSArMDkwMCAgU2V1bmdoYSBZYW5nIDxzaC55YW5nQGxnZS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogU2tpcCBzZWVraW5nIHF1ZXJ5IGlmIHVwc3RyZWFtIGZvcm1hdCBpcyB0aW1lCgkgIERvbid0IG5lZWQgdG8gcXVlcnlpbmcgYnl0ZS1mb3JtYXQgc2Vla2luZyBmb3IgdGltZS1mb3JtYXQKCSAgdXBzdHJlYW0gY2FzZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc2NzE1CgoyMDE2LTEyLTAxIDEyOjQ3OjA4ICswOTAwICBTZXVuZ2hhIFlhbmcgPHNoLnlhbmdAbGdlLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBVc2UgdXBzdHJlYW0ncyBTdHJlYW1GbGFncyBpZiB0aGVyZSBhcmUKCSAgV2hlbiBtdWx0aXBsZSBkZW11eGVyJ3MgYXJlIHVzZWQsIHVwc3RyZWFtIG1pZ2h0IHdhbnQgdG8gaW5kaWNhdGUKCSAgZGVmYXVsdCBzdHJlYW1zIHVzaW5nIEdTVF9TVFJFQU1fRkxBR197U0VMRUNULCBVTlNFTEVDVH0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NTQ0MAoKMjAxNy0wMS0yNyAxNjoxNDoxNiArMDIwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAdG9vbHNvbmFpci5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkgIHF0bXV4OiBUaW1lY29kZSB0cmFjayBmaXhlcyBmb3IgU1RTRCBlbnRyeQoJICBUaGUgbl9mcmFtZXMgZmllbGQgKGZyYW1lcyBwZXIgc2Vjb25kKSBzaG91bGQgZm9sbG93IHRoZSBub21pbmFsIGZyYW1lCgkgIHJhdGUgZm9yIGRyb3AtZnJhbWUgdGltZWNvZGVzLgoJICBBbHNvLCB0aGUgdHJhaydzIHRpbWVzY2FsZSAoYW5kIGR1cmF0aW9uLCBhY2NvcmRpbmdseSkgc2hvdWxkIGZvbGxvdyB0aGUKCSAgU1RTRCBlbnRyeSdzIHRpbWVzY2FsZSBhbmQgZnJhbWUgZHVyYXRpb24gKGZwc19uIGFuZCBmcHNfZCBhY2NvcmRpbmdseSksCgkgIG5vdCB0aGUgb3RoZXIgd2F5IGFyb3VuZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NzgzMgoKMjAxNy0wMS0xOSAxMTowODoxMSArMDEwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogcmV0cnkgcmVxdWVzdCBvbiBlYXJseSB0ZXJtaW5hdGlvbiBmcm9tIHRoZSBzZXJ2ZXIKCSAgRml4IGEgcmVncmVzc2lvbiBpbnRyb2R1Y2VkIGJ5IGNvbW1pdCAxODM2OTVjNjFhNTRmMSAocmVmYWN0b3IgdG8gdXNlCgkgIFNvdXAncyBzeW5jIEFQSSkuIFRoZSBjb2RlIHByZXZpb3VzbHkgYXR0ZW1wdGVkIHRvIHJlY29ubmVjdCB3aGVuIHRoZQoJICBzZXJ2ZXIgY2xvc2VkIHRoZSBjb25uZWN0aW9uIGVhcmx5LCBmb3IgZXhhbXBsZSB3aGVuIHRoZSBzdHJlYW0gd2FzIHB1dAoJICBpbiBwYXVzZSBmb3Igc29tZSB0aW1lLgoJICBSZWludHJvZHVjZSB0aGlzIGZlYXR1cmUgYnkgY2hlY2tpbmcgaWYgRU9TIGlzIHJlY2VpdmVkIGJlZm9yZSB0aGUKCSAgZXhwZWN0ZWQgY29udGVudCBzaXplIGlzIGRvd25sb2FkZWQuIEluIHRoaXMgY2FzZSwgZG8gdGhlIHJlcXVlc3QKCSAgc3RhcnRpbmcgYXQgdGhlIHByZXZpb3VzIHJlYWQgcG9zaXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzY3MjAKCjIwMTctMDEtMTAgMDk6NDA6NTYgLTA3MDAgIE1hdHQgU3RhcGxlcyA8c3RhcGxlczI1NUBnbWFpbC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpbmRfc3RyZWFtX2J5X2NoYW5uZWwgc2hvdWxkIGlnbm9yZSB1bmNvbmZpZ3VyZWQgc3RyZWFtcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc3MTAxCgoyMDE3LTAxLTI1IDE4OjQzOjAwICswMDAwICBCcmVuZGFuIFNoYW5rcyA8YnJlbmRhbi5zaGFua3NAdGVyYWRlay5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBGaXggZGVidWcgdHlwbyBhbmQgcmVtb3ZlIG1pc2xlYWRpbmcgd2FybmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc3MzYyCgoyMDE3LTAxLTI1IDIwOjU2OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1QQ01BLmM6CgkgIHJ0cDogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZSBpbiBleGFtcGxlCgkgIGNsaWVudC1QQ01BLmM6ODQ6MjI6IHdhcm5pbmc6IHVudXNlZCB2YXJpYWJsZSAnaXNyYycgWy1XdW51c2VkLXZhcmlhYmxlXQoJICBHT2JqZWN0ICpzZXNzaW9uLCAqaXNyYywgKm9zcmM7CgkgIF4KCjIwMTctMDEtMDkgMTE6MzI6MzUgKzA1MzAgIFJhaHVsIEJlZGFya2FyIDxyYWh1bC5iZWRhcmthckBpbWd0ZWMuY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBjaGVjayBmb3Igbm90IE5VTEwgYmVmb3JlIGNsZWFyaW5nIGFkYXB0ZXIKCSAgSW4gY2FzZSB3YXZwYXJzZSByZWNlaXZlcyBhIG1hbnVhbGx5IGluamVjdGVkIEZMVVNIX1NUT1AgZXZlbnQKCSAgd2hpbGUgb3BlcmF0aW5nIGluIHB1bGwgbW9kZSB3ZSBnZXQgY3JpdGljYWxzIGJlY2F1c2Ugd2UnZCB0cnkKCSAgdG8gY2xlYXIgYSBOVUxMIGFkYXB0ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzcxMjMKCjIwMTctMDEtMjQgMTk6MjM6NDQgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBQcm9wZXJseSB1c2UgJzonIGZvciBkZWZpbmluZyBrZXl3b3JkcwoKMjAxNy0wMS0xNyAxNjo0MTo1OCArMDEwMCAgSmVhbi1DaHJpc3RvcGhlIFRyb3RpbiA8amVhbi1jaHJpc3RvcGhlLnRyb3RpbkBzdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIHY0bDJhbGxvY2F0b3I6IHJlZmVyZW5jZSBtZW1vcnkgYmVmb3JlIHRoZSBidWZmZXIgaXMgcXVldWVkCgkgIEluIGdzdF92NGwyX2FsbG9jYXRvcl9xYnVmKCksIHRoZSBtZW1vcnkgaXMgcmVmZXJlbmNlZCBhZnRlciB0aGUKCSAgYnVmZmVyIGlzIHF1ZXVlZC4gT25jZSBxdWV1ZWQgKFZJRElPQ19RQlVGKSwgdGhlIGJ1ZmZlciBtaWdodCBiZSBoYW5kbGVkCgkgIGJ5IHRoZSBWNEwyIGRyaXZlciAoZS5nLiBkZWNvZGVkKSBhbmQgZGVxdWV1ZWQgKGdzdF92NGwyX2FsbG9jYXRvcl9kcWJ1ZiksCgkgIHRocm91Z2ggYSBkaWZmZXJlbnQgdGhyZWFkLCBiZWZvcmUgdGhlIG1lbW9yeSBpcyByZWZlcmVuY2VkIChnc3RfbWVtb3J5X3JlZikuCgkgIEluIHRoaXMgY2FzZSwgaW4gZ3N0X3Y0bDJfYWxsb2NhdG9yX2RxYnVmKCksIHRoZSBtZW1vcnkgaXMgdW5yZWZlcmVuY2VkCgkgIChnc3RfbWVtb3J5X3VucmVmKSBiZWZvcmUgaGF2aW5nIGJlZW4gcmVmZXJlbmNlZDogdGhlIG1lbW9yeSByZWZjb3VudAoJICByZWFjaGVzIDAsIGFuZCB0aGUgbWVtb3J5IGlzIGZyZWVkLgoJICBTbywgdG8gYXZvaWQgdGhpcyBjcm9zc2luZyBjYXNlLCBpbiBnc3RfdjRsMl9hbGxvY2F0b3JfcWJ1ZigpLCB0aGUKCSAgbWVtb3J5IHNoYWxsIGJlIHJlZmVyZW5jZWQgYmVmb3JlIHRoZSBidWZmZXIgaXMgcXVldWVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc3Mzk5CgoyMDE3LTAxLTI0IDE3OjU5OjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJICBxdG11eDogT25seSB3cml0ZSA0IGJ5dGUgemVybyBwYWRkaW5nIHRvIHRoZSBWaWRlbyBTYW1wbGUgRGVzY3JpcHRpb24gaW4gTU9WCgkgIEZvciBNUDQgdGhpcyBpcyBub3QgZGVmaW5lZCwgYW5kIGl0IGFjdHVhbGx5IGJyZWFrcyB0aGluZ3MgZm9yIE1TRSBpbgoJICBDaHJvbWUgaWYgd2UgZG8gdGhpcy4gRm9yIE1PViB0aGlzIGlzIHJlcXVpcmVkIGJ5IHNvbWUgYnJva2VuIHNvZnR3YXJlCgkgIGJ1dCB0aGUgb2ZmaWNpYWwgc3BlY2lmaWNhdGlvbiBzYXlzIGl0J3Mgb3B0aW9uYWw6CgkgIGh0dHBzOi8vZGV2ZWxvcGVyLmFwcGxlLmNvbS9saWJyYXJ5L2NvbnRlbnQvZG9jdW1lbnRhdGlvbi9RdWlja1RpbWUvUVRGRi9RVEZGQ2hhcDMvcXRmZjMuaHRtbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc3NTQwCgoyMDE3LTAxLTAyIDEzOjQyOjA0ICswMTAwICBTYW50aWFnbyBDYXJvdC1OZW1lc2lvIDxzY2Fyb3RAdHdpbGlvLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIHJ0cHN0YXRzOiBLZWVwIG51bWJlciBvZiBuYWNrcyBzZW50L3JlY2VpdmVkIHBlciBzb3VyY2UKCSAgQ3VycmVudGx5LCB0aGUgbmFjayBwYWNrZXRzIHNlbnQgb3IgcmVjZWl2ZWQgYXJlIGtlcHQgYXQgc2Vzc2lvbiBsZXZlbCwKCSAgd2hpY2ggbWFrZXMgaXQgaW1wb3NzaWJsZSB0byBkaXN0aW5ndWlzaCBob3cgbWFueSBvZiB0aGVzZSBwYWNrYWdlcyB3ZXJlCgkgIHNlbnQvcmVjZWl2ZWQgcGVyIHNzcmMgd2hlbiBzZXZlcmFsIHNvdXJjZXMgYXJlIGluIHRoZSBzYW1lIHNlc3Npb24uIFRoaXMKCSAgcGF0Y2ggaXMgYWxpZ25lZCB3aXRoIHRoZSBodHRwczovL3d3dy53My5vcmcvVFIvd2VicnRjLXN0YXRzLyNkb20tcnRjcnRwc3RyZWFtc3RhdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NjcxNAoKMjAxNi0xMi0wOCAxNTo1OTozMyArMDEwMCAgSm9uYXMgSG9sbWJlcmcgPGpvbmFzaGdAYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSAgcnRwaDI2NXBheTogRml4IGhhbmRsaW5nIG9mIGNvbmZpZy1pbnRlcnZhbAoJICBJbnNlcnQgVlBTL1NQUy9QUFMgYmVmb3JlIHRoZSBmaXJzdCBOQUwgdW5pdCBjb250YWluaW5nIGFuIEktZnJhbWUgaW4gYW4KCSAgYWNjZXNzIHVuaXQgb25seS4gSWYgYW4gYWNjZXNzIHVuaXQgY29uc2lzdHMgb2Ygc2V2ZXJhbCBzdWNoIE5BTCB1bml0cwoJICAodGlsZXMpIFZQUy9TUFMvUFBTIHNob3VsZCBvbmx5IGJlIGluc2VydGVkIGJlZm9yZSB0aGUgZmlyc3Qgb2YgdGhlbSBzbwoJICB0aGF0IHBhcmFtZXRlcnMgYXJlIG9ubHkgdXBkYXRlZCBiZXR3ZWVuIGZyYW1lcy4KCSAgRG8gbm90IGluc2VydCBWUFMvU1BTL1BQUyBiZWZvcmUgUC1mcmFtZXMgd2hlbiBjb25maWctaW50ZXJ2YWwgaXMgLTEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzU4MTcKCjIwMTctMDEtMTkgMTI6Mjk6NDQgKzAxMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IHJlcG9ydCBhIHVzZWZ1bCBlcnJvciBtZXNzYWdlIHdoZW4gc291cF9zZXNzaW9uX3NlbmQgZmFpbHMKCSAgVGhpcyBoZWxwcyB0byB1bmRlcnN0YW5kIGNhc2VzIHdoZXJlIGxpYnNvdXAgZG9lc24ndCBzZXQgdGhlIG1lc3NhZ2UKCSAgc3RhdHVzIGNvZGUgYWZ0ZXIgcnVubmluZyBzb3VwX3Nlc3Npb25fc2VuZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NzIyMgoKMjAxNy0wMS0xOSAxMTowNTowMCArMDEwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogcHJvcGVybHkgY2hlY2sgdGhhdCBzZWVrIHJhbmdlIHdhcyByZXNwZWN0ZWQKCSAgVGhpcyBjaGVjayBtdXN0IGJlIGRvbmUgb25seSB3aGVuIHdlIGFyZSBzdXJlIHRoZSByZXF1ZXN0IHdhcwoJICBzdWNjZXNzZnVsbHkgc2VudC4gc291cF9zZXNzaW9uX3NlbmQoKSBtaWdodCBmYWlsIHdpdGhvdXQgc2V0dGluZyB0aGUKCSAgc3RhdHVzIGNvZGUuIEluIHRoaXMgY2FzZSBzdGF0dXMgY29kZSBpcyAwIHNvIHdlIHdvdWxkIG9ubHkgY2F0Y2ggdGhlCgkgIGVycm9yIGFmdGVyIHRoZSBzZWVrIHJhbmdlIGNoZWNrLiBJbiB0aGlzIGNhc2Ugd2Ugd291bGQgcmVwb3J0IGFuIGVycm9yCgkgIHNheWluZyB0aGF0IHRoZSBzZWVrIHJhbmdlIHdhcyBub3QgcmVzcGVjdGVkLCBpbnN0ZWFkIG9mIHJlcG9ydGluZyB0aGUKCSAgdW5kZXJseWluZyBlcnJvciB0aGF0IHRyaWdnZXJlZCB0aGUgc291cF9zZXNzaW9uX3NlbmQoKSBmYWlsdXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9hdHRhY2htZW50LmNnaT9idWdpZD03NzcyMjIKCjIwMTctMDEtMDkgMjE6MDQ6NTEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5oOgoJICBnZGtwaXhidWZvdmVybGF5OiBhZGQgYSBwb3NpdGlvbmluZyBjb2VmZmljaWVudCBwYWlyCgkgIC4uLiBzbyBhcyB0byBhbGxvdyBvbmUgY2xlYXJseSBkZWZpbmVkIChhYnNvbHV0ZSkgcG9zaXRpb25pbmcgbW9kZQoJICB0aGF0IGNhbiBjYXRlciBmb3IgYSB2YXJpZXR5IG9mIGFic29sdXRlIGJ1dCBhbHNvIHJlbGF0aXZlIHBvc2l0aW9uaW5nCgkgIHdpdGggcmVzcGVjdCB0byBlZGdlIG9yIGNlbnRlci4KCjIwMTctMDEtMjEgMjA6NDg6MjIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuYzoKCSAgZ2RrcGl4YnVmb3ZlcmxheTogdXBkYXRlIGNvbXBvc2l0aW9uIGluIF9iZWZvcmVfdHJhbnNmb3JtCgkgIC4uLiBzaW5jZSB3ZSBuZWVkIHRvIGRldGVybWluZSBwYXNzdGhyb3VnaCBtb2RlIGZvciBidWZmZXIgcHJlcGFyYXRpb24gYmVmb3JlCgkgIGNhbGxpbmcgaW50byBfdHJhbnNmb3JtX2lwLgoKMjAxNy0wMS0wNyAyMDoxMToxMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5jOgoJICBnZGtwaXhidWZvdmVybGF5OiBoYW5kbGUgc2V0dGluZyBOVUxMIGdka3BpeGJ1ZgoJICAuLi4gd2hpY2ggaXMgYSBjbGVhcmVyIHdheSB0byBjbGVhciBhbnkgY3VycmVudCBvdmVybGF5LCBvdGhlciB0aGFuCgkgIGZpZGRsaW5nIHdpdGggYWxwaGEgb3IgcG9zaXRpb25pbmcgcHJvcGVydGllcyB0byBtYWtlIGl0IHZpcnR1YWxseSBnbyBhd2F5LgoKMjAxNy0wMS0yMCAxNzoxNjoxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IFN0b3AgcmVhZGluZyBhIG5jZHQgc3ViLXRhZyBpZiBpdCBnb2VzIGJlaGluZCB0aGUgc3Vycm91bmRpbmcgdGFnCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Nzc1MzIKCjIwMTctMDEtMjAgMDc6NTg6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBGaXggdmFyaW91cyBvdXQgb2YgYm91bmRzIHJlYWRzIHdoZW4gcGFyc2luZyBuY2R0IHRhZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NzUwMAoKMjAxNy0wMS0xOSAxMzo0Njo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBJbmNyZW1lbnQgY3VycmVudCBzdHRzIGluZGV4IHdoZW5ldmVyIHdlIGZpbmlzaGVkIG9uZSBzdHRzIGVudHJ5CgkgIE90aGVyd2lzZSB3ZSBjb3VsZCByZWFkIG1vcmUgY2h1bmtzIHRoYW4gdGhlcmUgYXJlIGF2YWlsYWJsZSwgZG9pbmcgYW4KCSAgb3V0IG9mIGJvdW5kcyByZWFkIGFuZCBwb3RlbnRpYWxseSBjcmFzaC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NzQ2OQoKMjAxNy0wMS0xOSAxMzoyNTo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBSZXZlcnQgInF0ZGVtdXg6IEluY3JlbWVudCBjdXJyZW50IHN0dHMgaW5kZXggaW4gYWxsIGNvZGUgcGF0aHMgYWZ0ZXIgcmVhZGluZyBvbmUgY2h1bmsiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgOTlkNWQ3NTcwZDBiNTNkYWQzYmM4ZWI2NTNiMTMyMGVlNDIyYWFjZS4gSXQgYnJva2UKCSAgcGxheWJhY2sgb2YgdmFyaW91cyB2YWxpZCBmaWxlcy4KCjIwMTctMDEtMTkgMDc6NTI6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogSW5jcmVtZW50IGN1cnJlbnQgc3R0cyBpbmRleCBpbiBhbGwgY29kZSBwYXRocyBhZnRlciByZWFkaW5nIG9uZSBjaHVuawoJICBPdGhlcndpc2Ugd2UgY291bGQgcmVhZCBtb3JlIGNodW5rcyB0aGFuIHRoZXJlIGFyZSBhdmFpbGFibGUsIGRvaW5nIGFuCgkgIG91dCBvZiBib3VuZHMgcmVhZCBhbmQgcG90ZW50aWFsbHkgY3Jhc2guCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Nzc0NjkKCjIwMTctMDEtMTkgMDg6Mzc6MzcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogSW5pdGlhbGl6ZSByZXR1cm4gdmFyaWFibGUKCSAgSW4gdGhlIG5vcm1hbCB1c2UtY2FzZSB3ZSB3b3VsZCBlbmQgdXAgd2l0aCByZXQgYmVpbmcgdW5pdGlhbGl6ZWQKCSAgY2F1c2luZyBoYXZvYy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NzIyMgoKMjAxNy0wMS0xMyAxMjoyNzo0MCArMDAwMCAgRGF2aWQgV2FybWFuIDxkd2FybWFuQG1hbmdsZWJpdC5vcmc+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYXZvaWQgWE1QIHRhZyBwYXJzaW5nIGZhdGFsIGVycm9yLgoJICBxdGRlbXV4X2hhbmRsZV94bXBfdGFnbGlzdCgpIHJlcXVpcmVzIGEgd3JpdGFibGUgdGFnbGlzdCwKCSAgYnV0IHF0ZGVtdXgtPnRhZ19saXN0IGNhbiBiZWNvbWUgbm9uLXdyaXRhYmxlLCBzcGVjaWZpY2FsbHkKCSAgYWZ0ZXIgc2VuZGluZyBnbG9iYWwgdGFncyAocXRkZW11eC5jOjk1OCksIHdoaWNoIGFkZHMgYQoJICBzZWNvbmQgcmVmZXJlbmNlLiAgRW5zdXJlIHRoZSBsaXN0IGlzIG1hZGUgd3JpdGFibGUgYmVmb3JlCgkgIGNhbGxpbmcgKG1ha2Vfd3JpdGFibGUgd2lsbCBjb3B5IHRoZSBsaXN0IGlmIG5lY2Vzc2FyeSkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjYxNzcKCjIwMTYtMDUtMzEgMTM6MTc6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzYW50b3NAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJld29yayB0YWdsaXN0IGhhbmRsaW5nCgkgIEtlZXAgdGFnbGlzdCBhcm91bmQgZHVyaW5nIGVsZW1lbnQgZXhpc3RhbmNlIHRvIGF2b2lkIGhhdmluZyB0bwoJICBjcmVhdGUgaXQgYXQgZGlmZmVyZW50IHBsYWNlcyBiZWZvcmUgdXNhZ2UuIE1ha2VzIGNvZGUgc2ltcGxlciB0byBoYW5kbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjYxNzcKCjIwMTctMDEtMTYgMTE6NTg6MDIgKzAxMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgc291cGh0dHBzcmM6IG1ha2UgZmxvdyByZXR1cm4gdmFsdWVzIGhhbmRsaW5nIGNsZWFyZXIKCSAgVGhlIGZsb3cgcmV0dXJuIHZhbHVlcyB3YXMgc3RvcmVkIGluIHRoZSBlbGVtZW50IGJlZm9yZSBiZWNhdXNlIHRoZQoJICByZXN1bHQgaGFkIHRvIGJlIHNldCBmcm9tIGNhbGxiYWNrcy4gVGhpcyBpcyBub3QgdGhlIGNhc2UgYW55bW9yZSwgd2UKCSAgY2FuIHJldHVybiB0aGUgZmxvdyByZXN1bHQgZGlyZWN0bHkgZnJvbSBmdW5jdGlvbnMsIG1ha2luZyB0aGUgY29kZQoJICBlYXNpZXIgdG8gdW5kZXJzdGFuZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NzIyMgoKMjAxNy0wMS0xMyAxNjo0MDo0MyArMDEwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogcHJvcGVybHkgdHJhY2sgcmVkaXJlY3Rpb25zCgkgIFRoZSBjdXJyZW50IGNvZGUgY29uZmlndXJlcyBsaWJzb3VwIHRvIGhhbmRsZSByZWRpcmVjdGlvbnMKCSAgdHJhbnNwYXJlbnRseSwgd2l0aG91dCBpbmZvcm1pbmcgdGhlIGNhbGxlciwgdGh1cyBwcmV2ZW50aW5nIHRoZSBlbGVtZW50CgkgIHRvIHJlY29yZCB0aGUgcmVkaXJlY3QgY29kZSBhbmQgbG9jYXRpb24gdXJpLgoJICBGaXggdGhpcyBieSBhbHdheXMgc2V0dGluZyB0aGUgU09VUF9NRVNTQUdFX05PX1JFRElSRUNULCBwcmV2ZW50aW5nCgkgIGxpYnNvdXAgZnJvbSBoYW5kbGluZyB0aGUgcmVkaXJlY3Rpb24uIFdoZW4gd2UgcmVjZWl2ZSBhIHJlZGlyZWN0aW9uCgkgIHJlcXVlc3QgYW5kIGxpYnNvdXAgY2FuIHNhZmVseSBoYW5kbGUgaXQsIHJldHVybiBhIGN1c3RvbSBlcnJvciB3aGljaAoJICB0cmlnZ2VycyBhIHJldHJ5IHdpdGggdGhlIG5ldyBVUkkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzcyMjIKCjIwMTctMDEtMTcgMTA6NTM6MzkgKzAxMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBhZGQgNDQ0NCBhbmQgNDQ0NHhxIHZhcmlhbnRzIHRvIHZpZGVvL3gtcHJvcmVzIHBhZCB0ZW1wbGF0ZSBjYXBzCgkgIFRoZXkgYXJlIGhhbmRsZWQgc2luY2UgY29tbWl0IDdiNTY1NDc1YmY1NTFjNTNiOGVlZDQ2ZjcwODZmM2IzNzJmMWY2YzQKCSAgKHF0OiBBZGQgc3VwcG9ydCBmb3IgUHJvUmVzIDQ0NDQgWFEpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc3Mzc3CgoyMDE3LTAxLTE3IDEwOjQ4OjU3ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSAgbWF0cm9za2E6IFF1aWV0IGEgV0FSTiB3aGVuIHBhcnNpbmcgcHVzaCBtb2RlCgkgIFRoaXMgd2FybmluZyB3YXMgbm9pc3kgd2hlbiByZXR1cm5pbmcgRU9TLCB3aGljaCBpcwoJICBqdXN0IHVzZWQgdG8gaW5kaWNhdGUgbW9yZSBkYXRhIGlzIG5lZWRlZCBmcm9tIHVwc3RyZWFtLgoKMjAxNy0wMS0xNiAxNDo1MDoyMiArMDEwMCAgR2VvcmcgTGlwcGl0c2NoIDxnbGlwcGl0c2NoQHRvb2xzb25haXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogRG9uJ3Qgd3JpdGUgU3luYyBTYW1wbGUgQXRvbSBmb3IgUHJvUmVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzczMzEKCjIwMTUtMDEtMjggMDg6NTg6MjYgKzAxMDAgIEVucmljbyBKb3JucyA8ZWpvQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSAgdjRsMjogUmVtb3ZlIHVzYWdlIGFuZCBkZWZpbml0aW9uIG9mIExPR19DQVBTIG1hY3JvCgkgIFVubGlrZSBmb3JtZXIgZGVmaW5pdGlvbnMgb2YgTE9HX0NBUFMsIHRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uIHNpbXBseQoJICBleHBhbmRzIHRvIEdTVF9ERUJVR19PQkpFQ1QuIFRoZSBMT0dfQ0FQUyBtYWNybyBpcyByYXJlbHkgdXNlZCBhbmQgbW9zdAoJICB1c2VzIGR1cGxpY2F0ZSBhbHJlYWR5IGV4aXN0aW5nIEdTVF9ERUJVR19PQkpFQ1QgbGluZXMuIFRoZXJlZm9yZSwgdGhlCgkgIGNhcHMgYXJlIG9mdGVuIHByaW50ZWQgdHdpY2Ugd2hpY2ggdW5uZWNlc3NhcmlseSBjbHV0dGVycyB0aGUgZGVidWcgbG9nLgoJICBSZXBsYWNlIExPR19DQVBTIGNhbGxzIHdpdGggR1NUX0RFQlVHX09CSkVDVCwgcmVtb3ZlIExPR19DQVBTIGNhbGxzLCBhbmQKCSAgZGVsZXRlIHRoZSBkZWZpbml0aW9uIG9mIExPR19DQVBTLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc2ODk5CgoyMDE3LTAxLTE2IDE1OjQwOjQzICswMTAwICBKZWFuLUNocmlzdG9waGUgVHJvdGluIDxqZWFuLWNocmlzdG9waGUudHJvdGluQHN0LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiByZW1vdmUgZHVwbGljYXRlZCBsaW5lIG9mIGNvZGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NzMzMAoKMjAxNy0wMS0xNiAxNToxNzoxNSArMDEwMCAgSmVhbi1DaHJpc3RvcGhlIFRyb3RpbiA8amVhbi1jaHJpc3RvcGhlLnRyb3RpbkBzdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIHY0bDJhbGxvY2F0b3I6IGZpeCBtZW1vcnkgdHlwZSBpbiBhbGxvY2F0b3IgcHJvYmUKCSAgVGhlIGJ1ZmZlciBtZW1vcnkgdHlwZSBwcm92aWRlZCB0byB0aGUgVklESU9DX0NSRUFURV9CVUZTIGlvY3RsIHNoYWxsCgkgIGJlIHNldCB3aXRoIHRoZSB2YWx1ZSAoIm1lbW9yeSIpIGdpdmVuIGFzIGlucHV0IHBhcmFtZXRlciBvZiB0aGUKCSAgZ3N0X3Y0bDJfYWxsb2NhdG9yX3Byb2JlKCkgZnVuY3Rpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzczMjcKCjIwMTctMDEtMTQgMTU6Mjc6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IGZpeCBvdGhlciBpY29uIGNvdW50ZXIgY2hlY2sKCSAgSXQncyBuZXZlciBnb2luZyB0byBiZSAwIGlmIHdlIGZpcnN0IGluY3JlbWVudCBhbmQgdGhlbiBjaGVjay4KCjIwMTctMDEtMTQgMTU6MTY6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYm9sZGx5IGFzc3VtZSB0aGF0IGZpcnN0ICdjb3ZyJyBpbWFnZSBpcyB0aGUgZnJvbnQgY292ZXIKCjIwMTctMDEtMTQgMTU6MDk6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZXh0cmFjdCBjb3ZlciBhcnQgaW1hZ2VzIGludG8gR1NUX1RBR19JTUFHRSBub3QgUFJFVklFV19JTUFHRQoJICBUaGVzZSBhcmUgdXN1YWxseSBtdWNoIGJpZ2dlciB0aGFuIGljb24gc2l6ZSBhbmQgcmVxdWlyZWQgYnkKCSAgaVR1bmVzIHRvIGJlIGNlcnRhaW4gZmFpcmx5IGxhcmdlIHNpemVzLiBJbiBxdG11eCBpdCBpcyBhbHNvCgkgIHRoZSBJTUFHRSB0YWdzIHdoaWNoIHdlIHdyaXRlIG91dCBhcyAnY292cicgYXRvbXMuCgoyMDE3LTAxLTE0IDE1OjA1OjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBhbHNvIHNldCBQSUNUVVJFIHRhZyB3aWR0aCBhbmQgaGVpZ2h0IGlmIGF2YWlsYWJsZQoKMjAxNy0wMS0xNCAxNDo1ODo1MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogZml4IGVuY29kZXIgaW5pdCBlcnJvciB3aXRoIHNvbWUgR1NUX1RBR19QUkVWSUVXX0lNQUdFcwoJICBUaGUgZW5jb2RlciBmYWlscyB0byBpbml0aWFsaXNlIHdoZW4gd2UgdHJ5IHRvIHNldCBHU1RfVEFHX1BSRVZJRVdfSU1BR0VzCgkgIHNlbnQgdG8gdXNlIGJ5IHF0ZGVtdXggZnJvbSBpVHVuZXMtZ2VuZXJhdGVkIG00YSBmaWxlcy4gV2Ugc2hvdWxkCgkgIG5vdCBqdXN0IGJsaW5kbHkgdHJhbnNsYXRlIHRoZSBQUkVWSUVXIHRhZyB0byBmaWxlIGljb24gaW1hZ2UgdHlwZXMsCgkgIGJ1dCBjaGVjayBpZiB0aGUgc3BlY2lmaWMgY29uZGl0aW9ucyByZXF1aXJlZCBhcmUgbWV0IChpLmUuIGltYWdlCgkgIHR5cGUgMSBtdXN0IGJlIGEgMzJ4MzIgUE5HIGljb24sIGFuZCB3aGF0IHdlJ3JlIGdldHRpbmcgaXMgNTAweDUwMCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzY5NjIKCjIwMTctMDEtMTMgMTI6Mzk6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBtZXNvbi5idWlsZDoKCSAgbWVzb246IGJ1bXAgdmVyc2lvbgoKMjAxNi0xMi0yMiAxNzo0MDo0MCArMDIwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAdG9vbHNvbmFpci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5oOgoJICBzcGxpdG11eHNpbms6IEFkZCBvcHRpb24gZm9yIHRpbWVjb2RlLWJhc2VkIHNwbGl0CgkgIElmIHRoaXMgb3B0aW9uIGlzIGdpdmVuLCBpdCB3aWxsIGNhbGN1bGF0ZSB0aGUgbmV4dCBzcGxpdCBwb2ludCBiYXNlZCBvbgoJICB0aW1lY29kZSBkaWZmZXJlbmNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0MjA5CgoyMDE3LTAxLTEzIDAwOjAxOjA2ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IERvbid0IHJlc2V0IHJlcXVlc3QgcGFkIG51bWJlcmluZyBhY3Jvc3MgdXNlcwoJICBXaGVuIHJlc2V0LCBkb24ndCByZXN0YXJ0IHJlcXVlc3QgcGFkIG51bWJlcmluZ3MsIGFzCgkgIHJlcXVlc3QgcGFkcyBjYW4gc3Vydml2ZSBhY3Jvc3Mgc3RhdGUgY2hhbmdlcy4gT25seQoJICByZXN0YXJ0IGF0IDAgaWYgYWxsIHJlcXVlc3QgcGFkcyBhcmUgaGFuZGVkIGJhY2sgZmlyc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzcxNzQKCjIwMTctMDEtMTEgMTg6NTI6MjggKzAxMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHF1ZXVlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHF1ZXVlLmg6CgkgIHJ0eHF1ZXVlOiBFeHBvc2UgYmFzaWMgc3RhdGlzdGljcyBhcyBwcm9wZXJ0aWVzLgoJICBTdGF0aXN0aWNzIGFib3V0IHRoZSB0b3RhbCBudW1iZXIgb2YgcmV0cmFuc21pc3Npb24gcmVxdWVzdHMKCSAgYW5kIHRoZSBhY3R1YWwgbnVtYmVyIG9mIHJldHJhbnNtaXR0ZWQgcGFja2V0cyBjYW4gYmUgaGVscGZ1bAoJICBhdCBhcHBsaWNhdGlvbi1sZXZlbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NzE4MgoKMjAxNy0wMS0xMiAxNzo0NTozNSArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHNpbXBsaWZ5IHZpZGVvL3gtaDI2NCBjYXBzIGhhbmRsaW5nCgkgICdzdHJlYW0tZm9ybWF0JyBhbmQgJ2FsaWdubWVudCcgYXJlIGRlZmluZWQgaW4gcGFkIHRlbXBsYXRlIGNhcHMgc28KCSAgdGhlcmUgaXMgbm8gbmVlZCB0byBjaGVjayB0aGVtIGFnYWluIGhlcmUuIEFsc28gcmVtb3ZlIGJpdHJhdGUgcGFyc2luZyBmcm9tCgkgIGNhcHMgYXMgYml0cmF0ZSBpbiBjYXBzIGRvZXNuJ3QgbWFrZSBzZW5zZSBidXQgZnJvbSB0YWdzLCB3aGljaCBpcwoJICBhY3R1YWxseSB0aGUgY2FzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NzE4MQoKMjAxNi0xMi0wOCAxNzowMjoyMiArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogYWRkIGJhc2ljIEhFVkMvSC4yNjUgbXV4aW5nIHN1cHBvcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjc1MgoKMjAxNy0wMS0xMSAxODoyOTowNSArMDEwMCAgR2VvcmcgTGlwcGl0c2NoIDxnbGlwcGl0c2NoQHRvb2xzb25haXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogQ2FsY3VsYXRlIGNsZWFuIGFwZXJ0dXJlIHNpemUKCSAgQ2FsY3VsYXRlIGNsZWFuIGFwZXJ0dXJlIGRpbWVuc2lvbnMgYnkgZmlyc3QgZ3Vlc3NpbmcKCSAgZGlzcGxheSBhc3BlY3QgcmF0aW8gYmFzZWQgb24gcGl4ZWwgYXNwZWN0IHJhdGlvIGFuZAoJICBmcmFtZSBzaXplLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc3MTAwCgoyMDE3LTAxLTEwIDE4OjE5OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmg6CgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X3R5cGVzLmM6CgkgIHF0bXV4OiBXcml0ZSB0YXB0IGF0b20gZm9yIE1PViBmaWxlcyBpZiBQQVIgbm90IDEvMQoJICBOZWVkZWQgZm9yIFF1aWNrVGltZSA3IHRvIHByb3Blcmx5IHBsYXkgZmlsZXMuCgkgIEFsc28gd3JpdGUgdGhlIGNsYXAgYXRvbSBmb3IgTU9WIGZpbGVzIGFsd2F5cywgbm90IG9ubHkgd2hlbiBQcm9SZXMgaXMKCSAgdXNlZCBhcyBhIHZpZGVvIGNvZGVjLiBJdCdzIG1hbmRhdG9yeSBmb3IgTU9WLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc3MTAwCgoyMDE3LTAxLTEyIDE2OjMyOjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjExLjEgPT09CgoyMDE3LTAxLTEyIDE1OjMxOjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJICBSZWxlYXNlIDEuMTEuMQoKMjAxNy0wMS0xMiAxNDozODo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNy0wMS0xMiAxNDozNjoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2VsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaWQucG86CgkqIHBvL3poX0NOLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNy0wMS0xMSAxNzo1MzozMiAtMDgwMCAgQW5kcmUgTWNDdXJkeSA8YXJtY2N1cmR5QGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmcmVlIHNlcWggYWZ0ZXIgY2FsbGluZyBxdGRlbXV4X3BhcnNlX3N2cTNfc3RzZF9kYXRhKCkKCSAgVGhlIHNlcWggYnVmZmVyIGFsbG9jYXRlZCBpbiBxdGRlbXV4X3BhcnNlX3N2cTNfc3RzZF9kYXRhKCkgbmVlZHMgdG8KCSAgYmUgZnJlZWQgYnkgdGhlIGNhbGxlciBhZnRlciB1c2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzcxNTcKCSAgU2lnbmVkLW9mZi1ieTogQW5kcmUgTWNDdXJkeSA8YXJtY2N1cmR5QGdtYWlsLmNvbT4KCjIwMTctMDEtMTAgMTY6MDE6MzUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgaXNvbXA0OiBEb24ndCBzcGFtIGRlYnVnIGxvZyB3aXRoIGtub253L3BhZGRpbmcgYXRvbXMKCSAgT25seSBvdXRwdXQgV0FSTklORyBtZXNzYWdlcyBmb3IgYXRvbXMgd2UgZG9uJ3Qga25vdyBob3cgdG8gaGFuZGxlCgkgIGluc3RlYWQgb2YgZm9yIHBhZGRpbmcva25vd24gYXRvbXMgd2UgZG9uJ3QgbmVlZCB0byBkbyBhbnkgcHJvY2Vzc2luZwoJICBvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc3MDk1CgoyMDE3LTAxLTA5IDE5OjA1OjEwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzYmNkZXBheS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICBGaXggaW5kZW50YXRpb24KCjIwMTctMDEtMDkgMTk6MDQ6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgdGVzdHM6IHJ0cGppdHRlcmJ1ZmZlcjogZml4IGNvbXBpbGVyIHdhcm5pbmcgZHVlIHRvIGM5OS1pc20KCSAgcnRwaml0dGVyYnVmZmVyLmM6NTkyOjM6IGVycm9yOiDigJhmb3LigJkgbG9vcCBpbml0aWFsIGRlY2xhcmF0aW9ucyBhcmUgb25seSBhbGxvd2VkIGluIEM5OSBtb2RlCgoyMDE2LTExLTExIDE0OjMxOjAzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvZGV0ZWN0LmM6CgkgIGF1dG9kZXRlY3Q6IGJyaW5nIHRoZSBlbGVtZW50IHN0YXRlIGRvd24gYWZ0ZXIgc3VjY2VzcwoJICBPdGhlcndpc2Ugc29tZSBtZXNzYWdlcyB0aGF0IGFyZSBlbWl0dGVkIGJ5IHRoZSBlbGVtZW50IG9uIE5VTEwtPlJFQURZCgkgIHdpbGwgbm90IHJlYWNoIHRoZSBhcHBsaWNhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NDk0NwoKMjAxNy0wMS0wOCAwMToxMzozMiArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogV3JpdGUgdGZkdCBhdG9tIGludG8gZnJhZ21lbnRlZCBmaWxlcy4KCSAgVGhlIERBU0ggc3BlYyByZXF1aXJlcyB0aGF0IHRmZHQgYXRvbXMgYmUgcHJlc2VudCwgc28KCSAgd3JpdGUgb25lIG91dC4gSVNPL0lFQyAyMzAwOS0xOjIwMTQgNi4zLjQuMgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4MjIxCgoyMDE3LTAxLTA3IDIzOjU1OjQyICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBEb24ndCByZXNldCBvdXRwdXQgdGltZXN0YW1wcyB3aGVuIG5vIHRmZHQKCSAgSWYgYSBmcmFnbWVudGVkIHN0cmVhbSBkb2Vzbid0IGhhdmUgYSB0ZmR0LCBkb24ndAoJICByZXNldCB0aGUgb3V0cHV0IHRpbWVzdGFtcHMgYXQgZWFjaCBmcmFnbWVudCBib3VuZGFyeQoJICBieSBlcnJvbmVvdXNseSB1c2luZyB0aGUgZGVmYXVsdCB2YWx1ZSBvZiAwLiBJbnRyb2R1Y2VkCgkgIGJ5IGNvbW1pdCA2OWZjNDgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDIzMAoKMjAxNi0xMi0xNiAxNjo1MTo0OCAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvdnB4L21lc29uLmJ1aWxkOgoJKiBnc3QvZXF1YWxpemVyL21lc29uLmJ1aWxkOgoJKiBnc3QvaXNvbXA0L21lc29uLmJ1aWxkOgoJKiBtZXNvbi5idWlsZDoKCSAgbWVzb246IEluc3RhbGwgcHJlc2V0cyBmaWxlcwoKMjAxNy0wMS0wMyAxMDoxMjozMCArMDUzMCAgR2FyaW1hIEdhdXIgPGdhcmltYS5nQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZml4IHNvbWUgY2FwcyBsZWFrcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8vc2hvd19idWcuY2dpP2lkPTc3Njc4OQoKMjAxNi0xMi0yMiAxNzozNDowOCArMDIwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAYWhpcnUuZXU+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IFJldHVybiBhIGJpbiB3aXRoIGEgImxvY2F0aW9uIiBwcm9wZXJ0eSBhcyBhIHNpbmsKCSAgU3BsaXRtdXhzaW5rIG1pZ2h0IGJlIGNhbGxlZCB3aXRoIGEgY3VzdG9tIGJpbiBhcyBhIHNpbmsuIElmIGl0IGhhcyBhCgkgICJsb2NhdGlvbiIgcHJvcGVydHksIGl0IGNhbiBiZSB1c2VkLgoKMjAxNi0xMS0xOCAyMjo0MjoxOCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5oOgoJICBzcGxpdG11eDogUmV3cml0ZSBidWZmZXIgY29sbGVjdGlvbiBhbmQgc2NoZWR1bGluZwoJICBNYWpvcmx5IGNoYW5nZSB0aGUgd2F5IHRoYXQgc3BsaXRtdXhzaW5rIGNvbGxlY3RzCgkgIGluY29taW5nIGRhdGEgYW5kIHNlbmRzIGl0IHRvIHRoZSBvdXRwdXQsIHNvIHRoYXQgaXQKCSAgbWFrZXMgYWxsIGRlY2lzaW9ucyBhYm91dCB3aGVuIC8gd2hlcmUgdG8gc3BsaXQgZmlsZXMKCSAgb24gdGhlIGlucHV0IHNpZGUuCgkgIFVzZSBzZXBhcmF0ZSBxdWV1ZXMgZm9yIGVhY2ggc3RyZWFtLCBzbyB0aGV5IGNhbiBiZQoJICBncm93biBpbmRpdmlkdWFsbHkgYW5kIGtlcHQgYXMgc21hbGwgYXMgcG9zc2libGUuCgkgIFRoaXMgcmVtb3ZlcyByYWNpbmVzcyBJIG9ic2VydmVkIHdoZXJlIHNvbWV0aW1lcwoJICBzb21lIGRhdGEgd291bGQgZW5kIHVwIHB1dCBpbiBhIGRpZmZlcmVudCBvdXRwdXQgZmlsZQoJICBvdmVyIG11bHRpcGxlIHJ1bnMgd2l0aCB0aGUgc2FtZSBpbnB1dC4KCSAgQWxzbyBmaXhlcyBoYW5ncyB3aXRoIGlucHV0IHF1ZXVlcyBnZXR0aW5nIGZ1bGwKCSAgYW5kIGNhdXNpbmcgbXV4aW5nIHRvIHN0YWxsIG91dC4KCjIwMTYtMTEtMTcgMjM6NDA6MjcgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BsaXRtdXguYzoKCSAgc3BsaXRtdXhzaW5rOiBBZGQgZm9ybWF0LWxvY2F0aW9uLWZ1bGwgc2lnbmFsCgkgIEFkZCBhIG5ldyBzaWduYWwgZm9yIGZvcm1hdHRpbmcgdGhlIGZpbGVuYW1lLCB3aGljaCByZWNlaXZlcwoJICBhIEdzdFNhbXBsZSBjb250YWluaW5nIHRoZSBmaXJzdCBidWZmZXIgZnJvbSB0aGUgcmVmZXJlbmNlCgkgIHN0cmVhbSB0aGF0IHdpbGwgYmUgbXV4ZWQgaW50byB0aGF0IGZpbGUuCgkgIFVzZWZ1bCBmb3IgY3JlYXRpbmcgZmlsZW5hbWVzIHRoYXQgYXJlIGJhc2VkIG9uIHRoZQoJICBydW5uaW5nIHRpbWUgb3Igb3RoZXIgYXR0cmlidXRlcyBvZiB0aGUgYnVmZmVyLgoJICBUbyBtYWtlIGl0IHdvcmssIG9wZW5pbmcgb2YgZmlsZXMgYW5kIHNldHRpbmcgZmlsZW5hbWVzIGlzCgkgIG5vdyBkZWZlcnJlZCB1bnRpbCB0aGVyZSBpcyBzb21lIGRhdGEgdG8gd3JpdGUgdG8gaXQsCgkgIHdoaWNoIGFsc28gcmVxdWlyZXMgc29tZSBjaGFuZ2VzIHRvIGhvdyBhc3luYyBzdGF0ZSBjaGFuZ2VzCgkgIGFuZCBnYXAgZXZlbnRzIGFyZSBoYW5kbGVkLgoKMjAxNi0xMi0zMSAwMTo1NDowMSArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQWx3YXlzIHNuYXAgdG8gdGhlIHN0YXJ0IG9mIHRoZSBrZXlmcmFtZQoJICBXaGVuIHBlcmZvcm1pbmcgYSBrZXktdW5pdCBzZWVrLCBhbHdheXMgc25hcCB0byB0aGUgc3RhcnQgdHMKCSAgb2YgdGhlIGtleWZyYW1lIGJ1ZmZlciB3ZSBsYW5kZWQgb24gc28gdGhhdCB0aGUga2V5ZnJhbWUgaXMKCSAgZW50aXJlbHkgd2l0aGluIHRoZSByZXN1bHRpbmcgb3V0Z29pbmcgc2VnbWVudC4gVGhhdCBzZWVtcwoJICB0aGUgbW9zdCBzZW5zaWJsZSByZXN1bHQsIHNpbmNlIHRoZSB1c2VyIHJlcXVlc3RlZCBzbmFwcGluZwoJICB0byB0aGUga2V5ZnJhbWUgcG9zaXRpb24uCgoyMDE2LTEyLTMxIDAxOjQ4OjA0ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBPbWl0IGNzbGdfc2hpZnQgd2hlbiBzbmFwcGluZyBzZWVrcwoJICBTZWdtZW50cyB0aW1lcyBhbmQgc2VlayByZXF1ZXN0cyBhcmUgc3RvcmVkIGFuZCBoYW5kbGVkCgkgIGluIHJhdyAnUFRTJyB0aW1lLCB3aXRob3V0IHRoZSBjc2xnX3NoaWZ0IC0gd2hpY2ggb25seSBhcHBsaWVzCgkgIHRvIG91dGdvaW5nIHNhbXBsZXMuIE9taXQgdGhlIGNzbGdfc2hpZnQgcG9ydGlvbiB3aGVuCgkgIGV4dHJhY3RpbmcgUFRTIHRvIGNvbXBhcmUgZm9yIGludGVybmFsIHNlZWsgc25hcHMuCgkgIElmIHRoZSBjc2xnX3NoaWZ0IGlzIGluY2x1ZGVkLCB0aGVuIGtleWZyYW1lK3NuYXAtYmVmb3JlIHNlZWtzCgkgIGdlbmVyYXRlIGEgc2VnbWVudCBzdGFydC9zdG9wIHRpbWUgdGhhdCBhbHJlYWR5IGluY2x1ZGVzIHRoZQoJICBjc2xnX3NoaWZ0LCBhbmQgaXQncyB0aGVuIGFkZGVkIGEgMm5kIHRpbWUsIGNhdXNpbmcgdGhlCgkgIGZpcnN0IGJ1ZmZlcihzKSB0byBoYXZlIHRpbWVzdGFtcHMgdGhhdCBhcmUgb3V0IG9mIHNlZ21lbnQuCgoyMDE2LTEyLTMwIDIyOjMxOjM4ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSAgcXRtdXg6IFJlbW92ZSBib2d1cyBjaGVjayBpbiBhdG9tX3N0c2NfYWRkX25ld19lbnRyeSgpCgkgIFJlbW92ZSBhbiBvbGQgY2hlY2sgZnJvbSBhdG9tX3N0c2NfYWRkX25ld19lbnRyeSgpIHRoYXQKCSAgZXh0ZW5kcyB0aGUgbGFzdCBlbnRyeSBpbiB0aGUgU1RTQyBpZiB0aGUgc2FtcGxlcyBwZXIgY2h1bmsKCSAgbWF0Y2hlcywgYXMgdGhlIG5ldyBpbnRlcmxlYXZlIG1lcmdpbmcgbG9naWMgcmVxdWlyZXMgdGhhdAoJICB0aGUgZmluYWwgZW50cnkgYnkgdXBkYXRlYWJsZS4gVGhlcmUncyBhbHJlYWR5IGNvZGUKCSAgYmVsb3cgd2hpY2ggc2ltcGx5IG1lcmdlcyB0aGUgZmluYWwgZW50cnkgaW50byB0aGUgcHJldmlvdXMKCSAgb25lIHdoZW4gbmVlZGVkLCBzbyByZWx5IG9uIHRoYXQgaW5zdGVhZC4KCSAgRml4ZXMgYXNzZXJ0cyBsaWtlOgoJICBFUlJPUjphdG9tcy5jOjI5NDA6YXRvbV9zdHNjX3VwZGF0ZV9lbnRyeTogYXNzZXJ0aW9uIGZhaWxlZDoKCSAgKGF0b21fYXJyYXlfaW5kZXggKCZzdHNjLT5lbnRyaWVzLCBsZW4gLSAxKS5maXJzdF9jaHVuayA9PSBmaXJzdF9jaHVuaykKCjIwMTYtMDQtMjQgMjE6Mzg6NTEgKzA5MDAgIFNldW5naGEgWWFuZyA8c2gueWFuZ0BsZ2UuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCBrZXlfdGltZSBpbiBnc3RfcXRkZW11eF9hZGp1c3Rfc2VlaygpCgkgIHRpbWUgaW4gc2VnbWVudCBzaG91bGQgYmUgUFRTIGJhc2VkIChub3QgRFRTKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTQ5OAoKMjAxNi0xMi0yOCAyMjo0OToyNyArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4cGFydHJlYWRlci5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4cGFydHJlYWRlci5oOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c3JjLmM6CgkgIHNwbGl0bXV4c3JjOiBQYXNzIHNlZWsgZmxhZ3Mgd2hlbiBhY3RpdmF0aW5nLgoJICBQYXNzIGFsbCBzZWVrIGZsYWdzIHdoZW4gYWN0aXZhdGluZyBhIHBhcnQKCSAgYmFzZWQgb24gYSBzZWVrLCBzbyB0aGF0IFNOQVAgZmxhZ3MgYXJlIHByZXNlcnZlZC4KCjIwMTYtMTEtMjYgMDE6MTM6MTkgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHBhcnRyZWFkZXIuYzoKCSAgc3BsaXRtdXg6IEZpeCBhIHNtYWxsIHJhY2UgaW4gdGhlIHNwbGl0bXV4c3JjCgkgIE1ha2Ugc3VyZSB0aGUgc3RhdGUgb2YgdGhlIHBhcnNlciBpcyBzZXQgdG8KCSAgY29sbGVjdGluZyBzdHJlYW1zIGJlZm9yZSBjaGFpbmluZyB1cCB0byB0aGUKCSAgcGFyZW50IGNoYW5nZV9zdGF0ZSgpIG1ldGhvZCwgdG8gY2xvc2UgYQoJICBzbWFsbCB3aW5kb3cgdGhhdCBjYW4gY2F1c2UgcGxheWJhY2sgdG8KCSAgbmV2ZXIgY29tbWVuY2UuCgoyMDE3LTAxLTAyIDE1OjA2OjMzICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYW1ycGFyc2UuYzoKCSAgY2hlY2s6IFJlbW92ZSBkZWFkIGNvZGUKCjIwMTYtMTItMzEgMDk6NTI6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgIG11bHRpZmlsZXNpbms6IHJlZmFjdG9yIG1heF9maWxlcyBoYW5kbGluZyBhIGJpdAoJICBVc2UgR1F1ZXVlIGluc3RlYWQgb2YgYSBHU0xpc3Qgc28gd2UgZG9uJ3QgaGF2ZSB0byB0cmF2ZXJzZQoJICB0aGUgd2hvbGUgbGlzdCB0byBhcHBlbmQgc29tZXRoaW5nIGV2ZXJ5IHRpbWUuIEFuZCBpdCBhbHNvCgkgIGtlZXBzIHRyYWNrIG9mIHRoZSBudW1iZXIgb2YgaXRlbXMgaW4gaXQgZm9yIHVzLgoJICBBZGQgYSBmdW5jdGlvbiB0byBhZGQgZmlsZW5hbWVzIHRvIHRoZSBsaXN0IG9mIG9sZCBmaWxlcyBhbmQKCSAgdXNlIGl0IGluIG1vcmUgcGxhY2VzLCBzbyB0aGF0IG1lbW9yeSBkb2Vzbid0IGJ1aWxkIHVwIGluCgkgIG90aGVyIG1vZGVzIGVpdGhlciBpZiBubyBtYXhfZmlsZXMgbGltaXQgaXMgc3BlY2lmaWVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2OTkxCgoyMDE2LTA1LTI5IDE3OjIxOjQ3ICswMTAwICBVcnN1bGEgTWFwbGVodXJzdCA8dXJzdWxhQGthbmdhdHJvbml4LmNvLnVrPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIG11bHRpZmlsZXNpbms6IGRvbid0IGxlYWsgbWVtb3J5IHdoZW4gbm8gbWF4LWZpbGVzIGxpbWl0IGlzIHNldAoJICBUZWNobmljYWxseSB3ZSB3ZXJlbid0IGxlYWtpbmcgdGhlIG1lbW9yeSwganVzdCBzdG9yaW5nIGl0IGludGVybmFsbHkKCSAgYW5kIG5ldmVyIHVzaW5nIGl0IHVudGlsIHRoZSBlbGVtZW50IGlzIGZyZWVkLiBCdXQgd2UnZCBzdGlsbCB1c2UgbW9yZQoJICBhbmQgbW9yZSBtZW1vcnkgb3ZlciB0aW1lLCBzbyB0aGlzIGlzIG5vdCBnb29kIG92ZXIgbG9uZ2VyIHBlcmlvZHMKCSAgb2YgdGltZS4gT25seSBrZWVwIHRyYWNrIG9mIGZpbGVzIGlmIHRoZXJlJ3MgYWN0dWFsbHkgYSBsaW1pdCBzZXQsCgkgIHNvIHRoYXQgd2Ugd2lsbCBwcnVuZSB0aGUgbGlzdCBmcm9tIHRpbWUgdG8gdGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Njk5MQoKMjAxNi0xMi0yOSAxMjozOToyMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGFkanVzdCBzZWdtZW50IHN0b3AgZm9yIEtFWV9VTklUIG5lZ2F0aXZlIHJhdGUgc2Vla2luZwoKMjAxNi0xMi0yOSAxMjoyNTozNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGltcGxlbWVudCBwdWxsIG1vZGUgU05BUCBmbGFnIHNlZWtpbmcKCjIwMTYtMTItMjkgMTE6MjY6MzMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHR3ZWFrIEtFWV9VTklUIFNOQVAgc2VlayBoYW5kbGluZwoJICBQcmV2aW91c2x5LCBzZWVraW5nIHRvIHBvc2l0aW9uIHkgd2hlcmUgeSBpcyAoc3RyaWN0bHkpIHdpdGhpbiBhIGtleWZyYW1lCgkgIHdvdWxkIHNlZWsgdG8gdGhhdCBrZXlmcmFtZSBib3RoIHdpdGggU05BUF9CRUZPUkUgYW5kIFNOQVBfQUZURVIsCgkgIHdoZXJlIHRoZSBsYXR0ZXIgaXMgbm93IGFkanVzdGVkIHRvIHJlYWxseSBzbmFwIHRvIHRoZSBuZXh0IGtleWZyYW1lLgoKMjAxNi0xMi0yOCAxMzoyMzoxMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogY29ycmVjdGx5IHBlcmZvcm0gcHVsbCBtb2RlIEtFWV9VTklUIHNlZWtpbmcKCSAgUmF0aGVyIGFtYXppbmdseSAoYW5kIGVxdWFsbHkgdW5ub3RpY2VkKSwga2V5dW5pdCBzZWVraW5nIHJlc3VsdGVkIGluIHNlZ21lbnRzCgkgIHdoZXJlIHN0YXJ0ICE9IHRpbWUgKHdoaWNoIGlzIGJvZ3VzIGZvciBzaW1wbGUgYXZpIHRpbWVsaW5lKS4gIFNvLCBwcm9wZXJseQoJICBhZGp1c3QgdGhlIHNlZ21lbnQgKHN0YXJ0KSByYXRoZXIgdGhhbiBmaWRkbGluZyB3aXRoIHNlZ21lbnQgdGltZSAob25seSkuCgoyMDE2LTEyLTI4IDEzOjA0OjU0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiByZXN0b3JlIGNvbnNpZGVyaW5nIG9mIHB1bGwgbW9kZSBLRVlfVU5JVCBzZWVraW5nCgkgIC4uLiBieSB1c2luZyB0aGUgb3JpZ2luYWwgc2VlayBldmVudCdzIGZsYWdzIHJhdGhlciB0aGFuIHRoZSBjb3JyZXNwb25kaW5nCgkgIHNlZ21lbnQgZmxhZ3MsIHdoaWNoIGRvIG5vdCBoYXZlIHN1Y2ggY291bnRlcnBhcnQgZmxhZ3MgKGFuZAoJICBkbyBubyBsb25nZXIgaGF2ZSB0aGVtIGNvdmVydGx5IHNuZWFraW5nIGluIG5vd2FkYXlzKS4KCjIwMTUtMDUtMDggMTI6NDQ6MDEgKzAyMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogb25seSBkcm9wIGFjdHVhbCBzdHJlYW1oZWFkZXIgYnVmZmVycyB3aXRoIHhpcGggY29kZWNzCgkgIFdpdGggWGlwaCBjb2RlY3MgdGhlIHN0cmVhbSBoZWFkZXIgYnVmZmVycyBhcmUgYm90aCBpbiB0aGUgY2FwcyBhbmQgYXJlCgkgIHVzdWFsbHkgYWxzbyBhdCB0aGUgYmVnaW5uaW5nIG9mIGVhY2ggaW5wdXQgc3RyZWFtLCBidXQgaXQncyBwZXJmZWN0bHkKCSAgcG9zc2libGUgdGhhdCB0aGUgaW5wdXQgc3RyZWFtIGRvZXMgbm90IGhhdmUgdGhlIHN0cmVhbSBoZWFkZXIgYnVmZmVycwoJICBpbmxpbmUgaW4gdGhlIGRhdGEuIE1hdHJvc2thbXV4IHdvdWxkIGRyb3AgdGhlIGZpcnN0IE4gYnVmZmVycyBhc3N1bWluZwoJICB0aGV5J3JlIHN0cmVhbSBoZWFkZXJzLCBidXQgdGhpcyBtZWFudCBpdCB3b3VsZCBkcm9wIGFjdHVhbCBwYXlsb2FkIGRhdGEKCSAgd2hlbiB0aGUgc3RyZWFtIGRpZG4ndCBjb250YWluIHRoZSBzdHJlYW0gaGVhZGVycyBpbmxpbmUuIEZpeCB0aGlzIGJ5CgkgIG9ubHkgZHJvcHBpbmcgbGVhZGluZyBidWZmZXJzIGlmIHRoZXkncmUgZmxhZ2dlZCBhcyBzdHJlYW0gaGVhZGVycy4gVGhpcwoJICBmaXhlcyBpc3N1ZXMgd2l0aCBzdHJlYW1zIHRoYXQgYXJlIGJlaW5nIHRhcHBlZCBpbnRvIGFmdGVyIHN0cmVhbWluZwoJICBoYXMgc3RhcnRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTA5OAoKMjAxNi0xMi0yMSAxNzo0Mzo1OCArMDEwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJICBtYXRyb3NrYW11eDogYWRqdXN0IHVuaXQgdGVzdCB0byBtb2RpZmllZCBiZWhhdmlvdXIKCSAgTm93IG1hdHJvc2thbXV4IG1hcmsgYWxsIHBhY2tldHMgb2YgYXVkaW8tb25seSBzdHJlYW1zIGFzIGtleWZyYW1lcyBzbwoJICBpbiB0ZXN0X2Jsb2NrX2dyb3VwIGFmdGVyIHB1c2hpbmcgdGhlIHRlc3QgYXVkaW8gZGF0YSA0IGJ1ZmZlcnMgYXJlIHByb2R1Y2VkCgkgIGFuZCBub3QgbW9yZSAyLiBUaGUgbGFzdCBidWZmZXIgaXMgdGhlIG9yaWdpbmFsIGRhdGEgYW5kIG11c3QgbWF0Y2ggd2l0aCB3aGF0CgkgIHB1c2hlZC4gVGhlIHJlbWFpbmluZyBvbmVzIGFyZSBtYXRyb3NrYW11eCBoZWFkZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ2OTYKCjIwMTYtMDUtMzAgMDE6MTU6MzEgKzAyMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogbWFyayBhbGwgcGFja2V0cyBvZiBhdWRpby1vbmx5IHN0cmVhbXMgYXMga2V5ZnJhbWVzCgkgIFRoaXMgaGVscHMgd2l0aCBzdHJlYW1pbmcgYXVkaW8tb25seSBzdHJlYW1zIHZpYSBtdWx0aWZkc2luaywKCSAgdGNwc2VydmVyc2luayBhbmQgc3VjaC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDY5NgoKMjAxNS0wMy0yOCAxODoxNTozNiArMDEwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBhZGQgRzcyMiBhdWRpbyBzdXBwb3J0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY1NzQKCjIwMTYtMTItMTMgMTE6MTE6MDcgKzA5MDAgIFdvbmNodWwgTGVlIDx3b25jaHVsLmxlZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdXBkc3JjOiBBZGQgdG8gam9pbiBtdWx0aXBsZSBtdWx0aWNhc3QgaW50ZXJmYWNlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc2MDMwCgoyMDE1LTAzLTI1IDEzOjUxOjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBrbHZkZXBheS5jOgoJICBydHBrbHZkZXBheTogYWRkIHRoZSBTUEFSU0UgZmxhZyB0byB0aGUgb3V0Z29pbmcgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDE2LTEyLTE0IDE0OjM3OjQ1IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBtYW5hZ2VyOiBwbGFjZSBjb250ZW50IGJlZm9yZSBTaW5jZS12ZXJzaW9uIEFQSSBtYXJrZXIKCSAgQXZvaWRzIGNvbmZ1c2luZyB0aGUgcGFyc2VyCgoyMDE2LTEyLTE0IDE0OjE2OjUzIC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJICBzaG91dDI6IGZpeCA0MDQgaW4gcGFja2FnZSBvcmlnaW4KCjIwMTYtMTItMTQgMjE6NDU6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQ2hlY2sgaWYgd2UgaGF2ZSBlbm91Z2ggZGF0YSBhdmFpbGFibGUgd2hlbiBwYXJzaW5nIGVkaXQgbGlzdHMKCSAgQWxzbyBjb25zdW1lIHRoZSBkYXRhIGVudHJ5IGJ5IGVudHJ5IHRvIGdldCBjb21wbGljYXRlZCBpbmRleGluZyBvdXQgb2YKCSAgdGhlIGNvZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzYxMDcKCjIwMTYtMTItMTQgMTk6MTU6MDMgKzAxMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBEb24ndCBjaGVjayBzaXplIGluIGEgbm9uLWxpc3QgdmFsdWUKCSAgQWZ0ZXIgY29tbWl0IDFlYTk3MzVhIEkgc2VlIHRoZXNlIGVycm9yIHdoaWxlIHVzaW5nIHRoZSB3ZWJjYW0KCSAgaW50ZWdyYXRlZCBpbiBteSBsYXB0b3A6CgkgIEdTdHJlYW1lci1DUklUSUNBTCAqKjogZ3N0X3ZhbHVlX2xpc3RfZ2V0X3NpemU6IGFzc2VydGlvbiAnR1NUX1ZBTFVFX0hPTERTX0xJU1QgKHZhbHVlKScgZmFpbGVkCgkgIFRoZSBpc3N1ZSBpcyBnc3RfdjRsMnNyY192YWx1ZV9zaW1wbGlmeSgpIHdhcyBkb2luZyBpdHMgam9iIG9mCgkgIGdlbmVyYXRpbmcgYSBzaW5nbGUgdmFsdWUsIHJhdGhlciB0aGFuIHRoZSBvcmlnaW5hbCBsaXN0LiBUaGF0IHdoeSwKCSAgd2hlbiBnZXR0aW5nIHRoZSBsaXN0IHNpemUsIGEgY3JpdGljYWwgd2FybmluZyB3YXMgcmFpc2VkLgoJICBUaGlzIHBhdGNoIHRha2VzIGFkdmFudGFnZSBvZiB0aGUgY29tcGlsZXIgb3B0aW1pemF0aW9ucyB0byB2ZXJpZnkKCSAgZmlyc3QgaWYgdGhlIGxpc3Qgd2FzIHNpbXBsaWZpZWQsIHRodXMgdXNlIGl0IGRpcmVjdGx5LCBvdGhlcndpc2UsCgkgIGlmIGl0IGlzIGEgbGlzdCwgdmVyaWZ5IGl0cyBzaXplLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc2MTA2CgoyMDE2LTEyLTE0IDEwOjM5OjEyICswMTAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgdGVzdHMvaml0dGVyYnVmZmVyOiBNYWpvciByZWZhY3RvcmluZyBhbmQgY2xlYW51cHMKCSAgKiBDaGFuZ2VkIFBDTVUtPlRFU1QgZm9yIGNvbW1vbiBtYWNyb3MKCSAgKiBDaGFuZ2VkIHZlcmlmeS1mdW5jdGlvbnMgKGxvc3QgJiBydHgpIGludG8gbWFjcm9zLgoJICAqIFJlbW92ZSBvcHRpb24gdG8gYWRkIG1hcmtlci1iaXQgZm9yIHRlc3QtYnVmZmVycyAobm90IHVzZWQgYW55d2hlcmUpCgkgICogQWRkIG5ldyBwdXNoX3Rlc3RfYnVmZmVyIGZ1bmN0aW9uIHRoYXQgbWFrZXMgc3VyZSB0aGVyZSBhcmUgY29ycmVsYXRpb24KCSAgYmV0d2VlbiBkdHMgYW5kIHRoZSB0aW1lIG9uIHRoZSBjbG9jay4gKGNsYXNzaWMgdGVzdC1taXN0YWtlKQoJICAqIEVzdGFibGlzaGVkIGEgZ2VuZXJpYyBzdGFydGluZy1wb2ludCBmb3IgdGVzdHMgd2l0aCB0aGUKCSAgY29uc3RydWN0X2RldGVybWluaXN0aWNfaW5pdGlhbF9zdGF0ZSBmdW5jdGlvbiBhbmQgdXNlIGl0IHdoZXJlCgkgIGFwcGxpY2FibGUsIHdoaWNoIHJlbW92ZXMgbG90cyBvZiAiYm9pbGVycGxhdGUiIGV2ZXJ5d2hlcmUuCgkgICogQWRkIGJhc2ljIGxvc3QtZXZlbnQgdGVzdAoJICAqIFJlbW92ZSBhcyBtdWNoICJtYWdpYyBjb25zdGFudHMiIGFzIHBvc3NpYmxlLgoJICAqIFJlbW92ZSAzIHRlc3RzIHRoYXQgbm8gbG9uZ2VyIGFyZSB0ZXN0aW5nIGFueXRoaW5nIHRoYXQgb3RoZXJzIGRvbid0LAoJICBhbmQgd2FzIGNvbXBsZXRlbHkgdW5tYWludGFpbmFibGUuCgkgICogUmVtb3ZlIHVubmVjZXNzYXJ5IHVzZSBvZiB0aGUgdGVzdGNsb2NrCgkgICogVmVyaWZ5IGVhY2ggdGVzdCBpcyB0ZXN0aW5nIHdoYXQgaXQgYWN0dWFsbHkgc2F5cyBpdCBkb2VzIChhbmQgbW9kaWZ5CgkgIHdoZXJlIGl0IGRvZXNuJ3QpCgkgIEluIGdlbmVyYWwsIG1ha2UgdGhlIHRlc3RzIG11Y2ggc21hbGxlciwgYmV0dGVyLCBtb3JlIG1haW50YWluYWJsZSBhbmQKCSAgcmVhZGFibGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ0MDkKCjIwMTYtMTItMTQgMDk6NTQ6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiAuZ2l0aWdub3JlOgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIFJlbW92ZSBnZW5lcmF0ZWQgLnNwZWMgZmlsZQoJICBMaWtlbHkgZXh0cmVtZWx5IGJpdHJvdHRlbiwgYW5kIHdlIHNob3VsZCBub3Qgc2hpcCB0aGlzIGFueXdheS4KCjIwMTYtMTItMTQgMTA6MTU6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQ2hlY2sgdGhhdCB0aGUgWGlUaCBzaXplIGlzIGJpZyBlbm91Z2gKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NTc5NAoKMjAxNi0xMi0wOSAyMDoyNzo1MyArMDkwMCAgSGVla3lvdW5nIFNlbyA8aGVla3lvdW5nLnNlb0BsZ2UuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IENoZWNrIG5vZGUgbGVuZ3RoIG9mIHZpZGVvIHNhbXBsZSBkZXNjcmlwdGlvbgoJICBBZGQgY2hlY2sgZm9yIG5vZGUgbGVuZ3RoIG9mIHZpZGVvIHNhbXBsZSBkZXNjcmlwdGlvbiBhbmQgaXRzIGZpZWxkcyBhbmQKCSAgZm9yIHRoZSBYaVRoIGF0b20uCgkgIEFsc28gdW5pZnkgdGhlIGNvZGUgYSBiaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzU3OTQKCjIwMTYtMTItMDggMTg6NTA6NTIgKzA5MDAgIEhlZWt5b3VuZyBTZW8gPGhlZWt5b3VuZy5zZW9AbGdlLmNvbT4KCgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBFbmFibGUgeHZpZC9tcDIgY29kZWMgc3VwcG9ydAoJICBBZGQgc3VwcG9ydCBmb3IgeHZpZCB2aWRlbyBhbmQgbXAyIGF1ZGlvLCBhZGQgbTJ2MSBmb3VyY2MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzU3OTQKCjIwMTYtMTItMTMgMjI6MzI6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOWRlcGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA5ZW5jLmM6CgkgIGdzdDogRG9uJ3QgZGVjbGFyZSB2YXJpYWJsZXMgaW5zaWRlIHRoZSBmb3IgbG9vcCBoZWFkZXIKCSAgVGhpcyBpcyBhIEM5OSBmZWF0dXJlLgoKMjAxNi0xMi0xMSAxMzoyNzoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogRW5zdXJlIHRvIHJlaW5pdCBidWZmZXJzIHdoZW5ldmVyIHRoZXkgd2VyZSBub3QgYWxsb2NhdGVkIHlldAoJICBUaGF0IGlzLCB3aGVuZXZlciB3ZSBnbyB0aHJvdWdoIHN0YXJ0L3N0b3Agd2UgaGF2ZSB0byBlbnN1cmUgdGhhdCBvbiB0aGUKCSAgbmV4dCBvcHBvcnR1bml0eSB0aGUgYnVmZmVycyBhcmUgcmVhbGxvY2F0ZWQgYWdhaW4uIE90aGVyd2lzZSB0aGUKCSAgYnVmZmVycyBtaWdodCBiZSBOVUxMIGJlY2F1c2UgdGhlIGVsZW1lbnQgd2FzIHJldXNlZCB3aXRoIHRoZSBzYW1lCgkgIGNvbmZpZ3VyYXRpb24gYXMgYmVmb3JlIChpLmUuIHNldF9jYXBzKCkgd291bGRuJ3QgaGF2ZSByZWluaXRlZCB0aGUKCSAgYnVmZmVycykuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzU4OTgKCjIwMTYtMTItMTAgMTI6NTI6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL2Rlc2lnbi9NYWtlZmlsZS5hbToKCSogZG9jcy9kZXNpZ24vZGVzaWduLXJ0cGF1eGlsaWFyeS50eHQ6CgkqIGRvY3MvZGVzaWduL2Rlc2lnbi1ydHBjb2xsaXNpb24udHh0OgoJKiBkb2NzL2Rlc2lnbi9kZXNpZ24tcnRwcmV0cmFuc21pc3Npb24udHh0OgoJICBkb2NzOiBkZXNpZ246IHJlbW92ZSwgbW92ZWQgdG8gZ3N0LWRvY3MKCjIwMTYtMTItMDkgMTc6MTc6MzUgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIG1lc29uLmJ1aWxkOgoJICBtZXNvbjogU3VwcG9ydCBidWlsZGluZyB3aXRob3V0IEdzdCBkZWJ1ZwoKMjAxNi0xMi0wOSAxNzo1NTozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmg6CgkgIGZseGRlYzogT25seSBzZW5kIFNFR01FTlQgZXZlbnRzIGFmdGVyIENBUFMKCSAgSS5lLiwgZG9uJ3QganVzdCBmb3J3YXJkIHRoZSBldmVudCBidXQgZGVsYXkgaXQgaWYgd2UgZG9uJ3QgaGF2ZSBjYXBzIG9uCgkgIHRoZSBzcmNwYWQgeWV0LgoKMjAxNi0xMi0wOSAxNzo0OTo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkgIGZseGRlYzogVW5yZWYgYW5kIHVubWFwIGJ1ZmZlcnMgaW4gYWxsIGNvZGUgcGF0aHMgYXMgbmVlZGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzU4ODgKCjIwMTYtMTItMDYgMTc6NDI6MzEgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBEb24ndCBzZXQgZW1wdHkgaW50ZXJsYWNlLW1vZGUgbGlzdAoJICBJZiBmb3Igc29tZSByZWFzb24gd2UgZmFpbCB0byBwcm9iZSBmb3JtYXRzIChhbGwgdHJ5X2ZtdCBjYWxscyBmYWlsLCBmb3IKCSAgZXhhbXBsZSksIHRoaXMgaXMgbm90IGEgY3JpdGljYWwgZXJyb3IsIGJ1dCB3ZSBlbmQgdXAgd2l0aCBhbiBlbXB0eSBsaXN0CgkgIG9mIGludGVybGFjZSBtb2Rlcy4gVGhpcyBjYXVzZXMgYWxsIHN1YnNlcXVlbnQgbmVnb3RpYXRpb24gdG8gZmFpbC4KCSAgVGhpcyBwYXRjaCBmaXhlcyBpbnRlcmxhY2UtbW9kZSBzZXR0aW5nIHRvIGJlIHNraXBwZWQgaWYgd2UgZmFpbGVkIHRvCgkgIGRldGVjdCBhbnkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzU3MDIKCjIwMTYtMTItMDcgMTc6MjI6MjIgKzA1MzAgIEdhcmltYSBHYXVyIDxnYXJpbWEuZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6CgkgIG1vbm9zY29wZTogVW5yZWYgYWxsb2NhdGlvbiBxdWVyeSBhZnRlciBmaW5pc2hlZCB3aXRoIGl0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzU3NTIKCjIwMTYtMTItMDYgMDc6NDg6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJICBmbHhkZWM6IEFsbG9jYXRlIDAtaW5pdGlhbGl6ZWQgbWVtb3J5IGZvciB0aGUgZGVjb2RlZCBmcmFtZQoJICBPdGhlcndpc2Ugd2UgbWlnaHQgbGVhayBhcmJpdHJhcnkgaW5mb3JtYXRpb24gZnJvbSB0aGUgdW5pbml0aWFsaXplZAoJICBtZW1vcnkgaWYgbm90IGV2ZXJ5IHBpeGVsIGlzIHdyaXR0ZW4uCgkgIGh0dHBzOi8vc2NhcnliZWFzdHNlY3VyaXR5LmJsb2dzcG90LmdyLzIwMTYvMTIvMWRheXMtMGRheXMtcG9jcy1tb3JlLWdzdHJlYW1lci1mbGljLmh0bWwKCjIwMTYtMTItMDUgMDc6NTc6MTkgLTA3MDAgIE1hdHQgU3RhcGxlcyA8c3RhcGxlczI1NUBnbWFpbC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IEZpeCBzZXNzaW9uIGNsZWFudXAgd2hlbiBoYW5kbGluZyByZWRpcmVjdCBvbiBQTEFZCgkgIFJlZGlyZWN0IG9uIFBMQVkgd2Fzbid0IGRvaW5nIHRoZSBuZWNlc3Nhcnkgc2Vzc2lvbiBjbGVhbnVwLiBGaXhlZCBieQoJICByZW1vdmluZyBjb2RlIGZyb20gZ3N0X3J0c3BzcmNfc2VuZCB0aGF0IGNoYW5nZWQgdGhlIHN0YXRlIHZhcmFibGUgdXBvbgoJICBlbmNvdW50ZXJpbmcgYSByZWRpcmVjdC4gQmV0dGVyIHRvIGxldCB0aGUgcmVkaXJlY3QgaGFuZGxlcnMgaW4KCSAgZ3N0X3J0c3BzcmNfcmV0cmlldmVfc2RwIGFuZCBnc3RfcnRzcHNyY19wbGF5IGRvIHRoZWlyIG93bgoJICBzdGF0ZS1kZXBlbmRlbnQgY2xlYW51cC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NTU0MwoKMjAxNi0wOS0wNyAxNjoxMDoyNyArMDMwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1ZSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYWx3YXlzIHNlbmQgdGVhcmRvd24gcmVxdWVzdAoJICBBbGxvdyBDTURfQ0xPU0UgdG8gY2FuY2VsIGFsbCBjb21tYW5kcyBub3Qgb25seSBDTURfUEFVU0UKCSAgYW5kIGlnbm9yZSBDTURfV0FJVCB3aGlsZSBjbG9zaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MzYwCgoyMDE2LTEyLTAzIDA4OjE5OjI3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogUkVBRE1FOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGY5ODBmZDkgdG8gMzlhYzJmNQoKMjAxNi0xMi0wMSAxNzowODowOSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBEb24ndCBsZWFrIGR1cGxpY2F0ZSBpdGVtcwoJICBXaGVuIHByb3ZpZGluZyBpdGVtcyB3aXRoIGEgc2VxbnVtLCB0aGVyZSBpcyBhICh2ZXJ5IHNtYWxsKSBwcm9iYWJpbGl0eQoJICB0aGF0IGFuIGVsZW1lbnQgd2l0aCB0aGUgc2FtZSBzZXFudW0gYWxyZWFkeSBleGlzdHMuIERvbid0IGZvcmdldAoJICB0byBmcmVlIHRoYXQgaXRlbSBpZiBpdCB3YXNuJ3QgaW5zZXJ0ZWQuCgkgIEFuZCBhdm9pZCByZXR1cm5pbmcgdW5kZWZpbmVkIHZhbHVlcyB3aGVuIGRlYWxpbmcgd2l0aCBkdXBsaWNhdGUgaXRlbXMKCjIwMTYtMTItMDEgMTE6MjM6MDIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogU2FuaXRpemUgdW5rbm93biBjb2RlYyBjYXBzCgkgIFdlIG1pZ2h0IGhhdmUgbm9uLXByaW50YWJsZSBjaGFyYWN0ZXJzIGluIHRoZSB1bmtub3duIGZvdXJjYywgcmVwbGFjZQoJICB0aGVtIHdpdGggJ18nLCBpbiB0aGUgc2FtZSB3YXkgd2UgZG8gaXQgZm9yIHVua25vd24gdGFncy4KCjIwMTYtMTItMDEgMjA6MDQ6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBGcmVlIHZwcnAgY2h1bmsgYWxzbyBpZiBpdCBleGlzdGVkIGJ1dCB3ZSBtYWRlIG5vIHVzZSBvZiBpdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1NDc5CgoyMDE2LTEyLTAxIDE3OjM4OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thZGVtdXg6IEZpeCBtZW1vcnkgbGVhayB3aGVuIHBhcnNpbmcgYXR0YWNobWVudHMKCSAgZ3N0X3RhZ19pbWFnZV9kYXRhX3RvX2ltYWdlX3NhbXBsZSgpIGRvZXMgbm90IHRha2Ugb3duZXJzaGlwIG9mIHRoZQoJICBwYXNzZWQgbWVtb3J5LCBzbyBkb24ndCBzZXQgaXQgdG8gTlVMTCB0byBhbGxvdyB1cyB0byBmcmVlIGl0IGxhdGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1NDcyCgoyMDE2LTEyLTAxIDE0OjU2OjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thZGVtdXg6IFVuaWZ5IHpsaWIvYnppcDIgZGVjb21wcmVzcyBsb29wcyB3aXRoIHRoZSBvbmVzIGZyb20gcXRkZW11eAoJICBFc3BlY2lhbGx5LCBzaW1wbGlmeSB0aGUgY29kZSBhIGJpdC4KCjIwMTYtMTItMDEgMTQ6NDE6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogSW5jcmVhc2UgaW5mbGF0ZSBidWZmZXIgaW4gYmlnZ2VyIHN0ZXBzCgkgIDEwMjQgYnl0ZXMgaXMgcXVpdGUgc21hbGwsIGxldCdzIGRvIDQwOTYgYnl0ZXMgKG9yIG9uZSBwYWdlKS4KCSAgQWxzbyByZW1vdmUgcmVkdW5kYW50IGlmLCB3ZSdyZSBhbHdheXMgaW4gdGhhdCBjYXNlIHdoZW4gZ2V0dGluZyBoZXJlLgoKMjAxNi0xMi0wMSAxNDozMDo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBFbnN1cmUgdGhhdCBzaXplIG9mIHRoZSBwYXNwIGF0b20gaXMgYXMgbXVjaCBhcyB3ZSBuZWVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzU0NTUKCjIwMTYtMTItMDEgMTQ6MzA6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRnJlZSBjb21wcmVzc2VkIG1vb3Ygbm9kZSBhbmQgaXQncyBjb3JyZXNwb25kaW5nIGRlY29tcHJlc3NlZCBkYXRhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzU0NTUKCjIwMTYtMTItMDEgMTQ6Mjk6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQ2hlY2sgc2l6ZSBvZiBjb21wcmVzc2VkIE1PT1YgaGVhZGVyIGFnYWluc3QgYXZhaWxhYmxlIGRhdGEKCSAgQW5kIGFjdHVhbGx5IHJlYWQgdGhlIHNpemUgb2YgdGhlIGNtdmQgYXRvbSBmcm9tIHRoZSByaWdodCBwb3NpdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NTQ1NQoKMjAxNi0xMi0wMSAxNDoyNzo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggemxpYiBpbmZsYXRlIGxvb3AKCSAgSGFuZGxlIGVycm9ycyBjbGVhbmx5LCBkZWFsbG9jYXRlIGFsbCBtZW1vcnkgYW5kIHJldHVybiB0aGUgYWN0dWFsIHNpemUKCSAgb2YgdGhlIGluZmxhdGVkIGRhdGEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzU0NTUKCjIwMTYtMTItMDEgMTM6Mzg6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBNYWtlIHN1cmUgd2UgaGF2ZSBlbm91Z2ggZGF0YSBpbiB0aGUgY29kZWNfZGF0YSB0byBiZSBhYmxlIHRvIHBhcnNlIGl0CgkgIEFsc28gZXJyb3Igb3V0IGNsZWFubHkgaWYgbWFwcGluZyB0aGUgYnVmZmVyIGZhaWxlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NTQ1MAoKMjAxNi0xMi0wMSAxMzozMjoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggb3V0IG9mIGJvdW5kcyByZWFkIGluIHRhZyBwYXJzaW5nIGNvZGUKCSAgV2UgY2FuJ3Qgc2ltcGx5IGFzc3VtZSB0aGF0IHRoZSBsZW5ndGggb2YgdGhlIHRhZyB2YWx1ZSBhcyBnaXZlbgoJICBpbnNpZGUgdGhlIHN0cmVhbSBpcyBjb3JyZWN0IGJ1dCBzaG91bGQgYWxzbyBjaGVjayBhZ2FpbnN0IHRoZSBhbW91bnQgb2YKCSAgZGF0YSB3ZSBoYXZlIGFjdHVhbGx5IGF2YWlsYWJsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NTQ1MQoKMjAxNi0xMi0wMSAxNTowNjowNiArMDUzMCAgR2FyaW1hIEdhdXIgPGdhcmltYS5nQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzYmNkZXBheS5jOgoJICBydHA6IEZpeCBzb21lIG1lbW9yeSBsZWFrcyBpbiB1c2FnZSBvZiBnc3RfcGFkX2dldF9jdXJyZW50X2NhcHMoKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1MDcxCgoyMDE2LTExLTMwIDE3OjU2OjAyICswMjAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUBhaGlydS5ldT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBSZWFkIGludGVybGFjaW5nIGluZm9ybWF0aW9uIGZyb20gJ2ZpZWwnIGF0b20KCSAgUmVhZCBpbnRlcmxhY2luZyBhbmQgVEZGL0JGRiBpbmZvcm1hdGlvbiBmcm9tIHRoZSAnZmllbCcgYXRvbSBhbmQgcGFzcyBpdAoJICBpbnRvIHRoZSBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzU0MTQKCjIwMTYtMTEtMjkgMTM6NTU6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgcXRkZW11eC5jOiBJbiBmdW5jdGlvbiDigJhxdGRlbXV4X3BhcnNlX3RyYWvigJk6CgkgIHF0ZGVtdXguYzoxMDE4NDozODogZXJyb3I6IGZvcm1hdCDigJglbHXigJkgZXhwZWN0cyBhcmd1bWVudCBvZiB0eXBlIOKAmGxvbmcgdW5zaWduZWQgaW504oCZLCBidXQgYXJndW1lbnQgOSBoYXMgdHlwZSDigJhnaW50IHtha2EgY29uc3QgaW50feKAmSBbLVdlcnJvcj1mb3JtYXQ9XQoJICBHU1RfREVCVUdfT0JKRUNUIChxdGRlbXV4LCAiRm91bmQganBlZzogbGVuICV1LCBuZWVkICVsdSIsIGxlbiwKCSAgXgoKMjAxNi0xMS0yOCAxMzo0NToyNCAtMDgwMCAgU2NvdHQgRCBQaGlsbGlwcyA8c2NvdHQuZC5waGlsbGlwc0BpbnRlbC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQ2hhbmdlIG9mZl90IHR5cGUgdG8gZ2ludAoJICBvZmZfdCBpcyBhIHNpZ25lZCBpbnRlZ2VyIHR5cGUgcHJvdmlkZWQgYnkgc3lzL3R5cGVzLmggb24gcG9zaXggc3lzdGVtcy4KCSAgUmVwbGFjZSB3aXRoIGdpbnQgZm9yIGJ1aWxkaW5nIG9uIG5vbi1wb3NpeCBzeXN0ZW1zIChsaWtlIHdpbmRvd3MpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1Mjg3CgoyMDE2LTExLTIyIDIxOjAwOjI1IC0wODAwICBTY290dCBEIFBoaWxsaXBzIDxzY290dC5kLnBoaWxsaXBzQGludGVsLmNvbT4KCgkqIG1lc29uLmJ1aWxkOgoJICBtZXNvbjogYWRkIGxpYm0gdG8gaGFzX2Z1bmN0aW9uIGNoZWNrcwoJICBUaGUgZnVuY3Rpb25zIGZyb20gbWF0aC5oIG1heSBiZSBpbXBsZW1lbnRlZCBpbiBsaWJtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0ODc2CgoyMDE2LTEwLTI3IDIzOjAyOjM3ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvbWVzb24uYnVpbGQ6CgkgIFJldmVydCAibWVzb246IGR2IHBsdWdpbiBub3cgd29ya3Mgb24gTVNWQyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAwNWE4OTYxM2ZlZmY3MGNmZjQxNjM2N2Y1YWE4MDdhMWQ1YzY4YjYzLgoJICBMZXQncyBub3QgcHV0IGluIHN0dWZmIHRoYXQgbmVlZHMgdW5yZWxlYXNlZCBNZXNvbi4gVGhpcyBjYW4gZ28gaW4KCSAgZm9yIHRoZSBuZXh0IGN5Y2xlLgoKMjAxNi0xMS0yOCAxMzo1MTo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IEVuc3VyZSB0aGF0IHRhZ3MgYXJlIHZhbGlkIFVURi04IGJlZm9yZSBhZGRpbmcgdGhlbSB0byB0aGUgdGFnbGlzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1MjE5CgoyMDE2LTExLTI4IDEyOjIyOjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJICBtdWx0aXBhcnRkZW11eDogUG9zdCBhbiBlcnJvciBtZXNzYWdlIG9uIHRoZSBidXMgaWYgd2UgZ290IEVPUyB3aXRob3V0IGhhdmluZyBhZGRlZCBhbnkgcGFkcwoKMjAxNi0xMS0yOCAxMjowMDowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBIYW5kbGUgbm9uLVVURjggaGVhZGVycyBhbmQgZXJyb3IgcmVhc29ucyBtb3JlIGdyYWNlZnVsbHkKCSAgRXNwZWNpYWxseSBkb24ndCBwdXQgdGhlbSBpbnRvIEdzdFN0cnVjdHVyZXMgaW4gb25lIHdheSBvciBhbm90aGVyLCBqdXN0CgkgIGlnbm9yZSB0aGVtIG9yIGVycm9yIG91dCBjbGVhbmx5IGRlcGVuZGluZyBvbiB0aGUgaW1wb3J0YW5jZSBvZiB0aGVpcgoJICBjb250ZW50LgoKMjAxNi0xMS0yOCAwOTozMDoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICB2cmF3cGF5OiBFcnJvciBvdXQgY2xlYW5seSBpZiBtYXBwaW5nIHRoZSB2aWRlbyBmcmFtZSBmYWlscwoJICBJbnN0ZWFkIG9mIGxhdGVyIGRlcmVmZXJlbmNpbmcgTlVMTCBhbmQgY3Jhc2hpbmcuCgoyMDE2LTExLTI3IDExOjE0OjEzICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJICBydHBydHhzZW5kOiBVcGRhdGUgc3RhdGlzdGljcyBiZWZvcmUgcHVzaGluZwoJICBJZiBhbiBlbGVtZW50IHF1ZXJpZXMgdGhlIG51bWJlciBvZiByZXRyYW5zbWlzc2lvbiBidWZmZXJzIHB1c2hlZAoJICAqd2hpbGUqIHRoZSBwdXNoIGlzIHN0aWxsIHRha2luZyBwbGFjZSAoYW5kIGJlZm9yZSB0aGUgb2JqZWN0IGxvY2sKCSAgaXMgdGFrZW4ganVzdCBhZnRlcikgaXQgd291bGQgZW5kIHVwIHdpdGggdGhlIHdyb25nIHN0YXRpc3RpYwoJICBiZWluZyByZXBvcnRlZC4KCSAgSW5jcmVtZW50IGl0IGp1c3QgYmVmb3JlIHRoZSBwdXNoLCBhdm9pZHMgcmFjZXMgd2hlbiBnZXR0aW5nIHN0YXRpc3RpY3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODcyMwoKMjAxNi0xMS0yNiAxMToyMDo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIC5naXRtb2R1bGVzOgoJICBjb21tb246IHVzZSBodHRwcyBwcm90b2NvbCBmb3IgY29tbW9uIHN1Ym1vZHVsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1MTEwCgoyMDE2LTA3LTI4IDE4OjUxOjI0ICswMjAwICBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgZ3N0djRsMmJ1ZmZlcnBvb2w6IGxvY2sgZmx1c2hfc3RvcCBhZ2FpbnN0IHJlZ3VsYXIgcWJ1ZgoJICBUaGVzZSBjYW4gYmUgY2FsbGVkIGZyb20gZGlmZmVyZW50IHRocmVhZHMgYW5kIGJvdGggbWFuaXB1bGF0ZSB0aGUKCSAgcG9vbC0+YnVmZmVycyBhcnJheS4gTG9jayB0aGVtIHByb3Blcmx5IGFuZCBsZXQgZmx1c2hfc3RvcCBtb3ZlIHRoZQoJICBhcnJheSBjb250ZW50cyBpbnRvIGEgdGVtcG9yYXJ5IGFycmF5IG9uIHRoZSBzdGFjayB0byBhdm9pZCBoYXZpbmcKCSAgdG8gY2FsbCByZWxlYXNlX2J1ZmZlciB1bmRlciB0aGUgb2JqZWN0IGxvY2suCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzUwMTUKCjIwMTYtMTEtMjQgMTQ6MjU6MjIgKzAxMDAgIFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICBnc3R2NGwyYnVmZmVycG9vbDogcmVtb3ZlIGNyaXRpY2FsIGVycm9yIG1lc3NhZ2Ugd2hlbiBwcm9jZXNzIGlzIGNhbGxlZCBvbiBhbiBpbmFjdGl2ZSBwb29sCgkgIElmIHRoZSBwb29sIGlzIGluYWN0aXZlLCBpdCBpcyBndWFyYW50ZWVkIHRvIGFsc28gYmUgZmx1c2hpbmcsIHNvIHRoZQoJICBmb2xsb3dpbmcgY2hlY2sgd2lsbCByZXR1cm4gR1NUX0ZMT1dfRkxVU0hJTkcgYW55d2F5LgoJICBUaGlzIGNhbiBoYXBwZW4gaWYgYSB2NGwyc3JjIGlzIGJsb2NraW5nIG9uIERRQlVGIGluIGNyZWF0ZSBhbmQgaXMgc2VudAoJICBhbiBFT1MgZXZlbnQgb24gYW5vdGhlciB0aHJlYWQuIEluIHRoYXQgY2FzZSB0aGUgcG9vbCBpcyBzZXQgdG8KCSAgZmx1c2hpbmcvaW5hY3RpdmUgd2l0aG91dCBsb2NraW5nLCB0aGUgdjRsMnNyYyBpcyB1bmJsb2NrZWQsIGFuZCBtYXkKCSAgY2FsbCBwb29sX3Byb2Nlc3Mgd2l0aCBhIHZhbGlkIGJ1ZmZlciBvbiB0aGUgYWxyZWFkeSBpbmFjdGl2ZSBwb29sLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1MDE0CgoyMDE2LTExLTI0IDE0OjQxOjUyICswMTAwICBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiByZWxlYXNlIGJ1ZmZlciBpZiBjcmVhdGUgZmFpbHMKCSAgZ3N0X2Jhc2Vfc3JjX2dldF9yYW5nZSBkb2VzIG5vdCBleHBlY3QgYSBidWZmZXIgdG8gYmUgcmV0dXJuZWQgaW4KCSAgdGhlIGVycm9yIGNhc2UsIHNvIHdlIGFyZSBsZWFraW5nIGEgcmVmZXJlbmNlIGhlcmUgaWYgY3JlYXRlIGZhaWxzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1MDE0CgoyMDE2LTExLTIzIDE4OjM0OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogSGFuZGxlIGNyZWF0ZV9zZXNzaW9uKCkgcmV0dXJuaW5nIE5VTEwgaW4gYnVuZGxlIGNvZGUKCSAgQ0lEIDEzOTQ0OTIuCgoyMDE2LTExLTIyIDE2OjQyOjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogTWFrZSBzdXJlIHRvIG9ubHkgY2hhbmdlIERUUyBvZiB3cml0YWJsZSBidWZmZXJzCgkgIEFuZCB0cml2aWFsIGNsZWFudXAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDg0MAoKMjAxNi0xMS0yMiAxNjo0MjoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEVycm9yIG91dCBtdWNoIGVhcmxpZXIgaWYgd2UgZG9uJ3QgaGF2ZSBhIHZhbGlkIFBUUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0ODQwCgoyMDE2LTExLTIyIDE2OjE4OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogT25seSB1c2UgYnVmZmVyIGR1cmF0aW9ucyBpZiB0aGV5IGFyZSBhY3R1YWxseSB2YWxpZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0ODQwCgoyMDE2LTExLTIyIDE1OjU5OjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogUmV2ZXJ0IGNvbW1pdHMgdGhhdCBzZXQgRFRTIGFuZCBkdXJhdGlvbiBvbiBidWZmZXJzIHVuY29uZGl0aW9uYWxseQoJICAzOWY3ZTUyMjY2ZmRlM2IzYzAzNWUyMmNiY2JiMmJiMWZhMjA3YjE3IHdhcyBzZXR0aW5nIHRoZSBidWZmZXIgZHVyYXRpb24KCSAgdG8gMCBpZiBpcyBub3QgdmFsaWQsIHVuZGVyIHRoZSBhc3N1bXB0aW9uIHRoYXQgdGhpcyBpcyAidGhlIGxhc3QiCgkgIGJ1ZmZlciBhbmQgbm8gb3RoZXJzIGFyZSBjb21pbmcgbmV4dC4gVGhpcyBpcyB3cm9uZywgbGFzdF9idWYgaXMgdGhlCgkgIHByZXZpb3VzIGJ1ZmZlciBhbmQgbm90IHRoZSB2ZXJ5IGxhc3Qgb25lLgoJICA0ZTNjMTNjODdjMjU4YzljOTVlMjIxN2QzMmFiMzE0ZDEyYjVmZmZjIHdhcyBzZXR0aW5nIERUUyB0byAwIGlmIHRoZXJlCgkgIHdhcyBub25lLiBUaGlzIHdpbGwgc2V0IERUUyB0byAwIGZvciBhbGwgZS5nLiBhdWRpbyBzdHJlYW1zLCBjb21wbGV0ZWx5CgkgIG1lc3NpbmcgdXAgY2FsY3VsYXRpb25zIGlmIHN0cmVhbXMgZG9uJ3Qgc3RhcnQgYXQgMC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDg0MAoKMjAxNi0xMS0yMiAxNTo1ODozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IE9ubHkgd3JpdGUgImdhcCIgZWRpdCBsaXN0IGlmIHRoZXJlIGlzIGEgbm9uLXplcm8gZ2FwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ4NDAKCjIwMTYtMTEtMjMgMDc6MDk6MDYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9mbHgvZmx4X2NvbG9yLmM6CgkqIGdzdC9mbHgvZmx4X2ZtdC5oOgoJKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJKiBnc3QvZmx4L2dzdGZseGRlYy5oOgoJICBmbHhkZWM6IHJld3JpdGUgbG9naWMgYmFzZWQgb24gR3N0Qnl0ZVJlYWRlci9Xcml0ZXIKCSAgU29sdmVzIG92ZXJyZWFkaW5nL3dyaXRpbmcgdGhlIGdpdmVuIGFycmF5cyBhbmQgd2lsbCBlcnJvciBvdXQgaWYgdGhlCgkgIHN0cmVhbXMgYXNrcyB0byBkbyB0aGF0LgoJICBBbHNvIGRvZXMgbW9yZSBlcnJvciBjaGVja2luZyB0aGF0IHRoZSBzdHJlYW0gaXMgdmFsaWQgYW5kIHdvbid0CgkgIG92ZXJydW4gYW55IGFsbG9jYXRlZCBhcnJheXMuICBBbHNvIG1pdGlnYXRlIGludGVnZXIgb3ZlcmZsb3cgZXJyb3JzCgkgIGNhbGN1bGF0aW5nIGFsbG9jYXRpb24gc2l6ZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ4NTkKCjIwMTYtMTEtMjMgMTE6MjA6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJICBmbHhkZWM6IERvbid0IHVucmVmKCkgcGFyZW50IGluIHRoZSBjaGFpbiBmdW5jdGlvbgoJICBXZSBkb24ndCBvd24gdGhlIHJlZmVyZW5jZSBoZXJlLCBpdCBpcyBvd25lZCBieSB0aGUgY2FsbGVyIGFuZCBnaXZlbiB0bwoJICB1cyBmb3IgdGhlIHNjb3BlIG9mIHRoaXMgZnVuY3Rpb24uIExlZnRvdmVyIG1pc3Rha2UgZnJvbSAwLjEwIHBvcnRpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ4OTcKCjIwMTYtMTEtMjIgMjA6MzM6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnB4L2dzdHZweGRlYy5jOgoJICB2cHhkZWM6IGxpYnZweCdzIHJlbGVhc2UgYnVmZmVyIGlzIHNvbWV0aW1lcyBjYWxsZWQgd2l0aCBmYi0+cHJpdj09TlVMTAoJICBEb24ndCBhc3NlcnQgb24gdGhpcyBidXQganVzdCBpZ25vcmUgdGhlc2UgY2FzZXMuCgoyMDE2LTExLTIyIDIwOjI0OjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IEZpeCBjbHVzdGVyIHNlYXJjaGluZyBpZiB3ZSBzZWFyY2ggbXVsdGlwbGUgdGltZXMgaW4gb25lIGNodW5rCgkgIEFmdGVyIGZpbmRpbmcgYSBjbHVzdGVyIGlkIGluIHRoZSBieXRlIHJlYWRlciwgd2Ugc2tpcCBhaGVhZCB0aGUgcmVhZGVyCgkgIHBvc2l0aW9uIGJ5IG9uZSBmdXJ0aGVyIGJ5dGUgdG8gYmUgYWJsZSB0byBjb250aW51ZSBzZWFyY2hpbmcgZnJvbSB0aGVyZQoJICBpbnNpZGUgdGhlIHNhbWUgY2h1bmsgaWYgdGhlIGNsdXN0ZXIgY2FuZGlkYXRlIHdhcyBhIGZhbHNlIHBvc2l0aXZlLgoJICBXZSBoYXZlIHRvIGFjY29tb2RhdGUgZm9yIHRoYXQgYWRkaXRpb25hbCBieXRlIHdoZW4gcmVzdW1pbmcgdGhlIHNlYXJjaCwKCSAgb3RoZXJ3aXNlIGFsbCBmb2xsb3dpbmcgcHVsbHMgYXJlIG9mZi1ieS1vbmUgZm9yIGV2ZXJ5IHJlc3VtZSBhbmQgd2UgcnVuCgkgIGludG8gYW4gYXNzZXJ0aW9uLgoKMjAxNi0xMS0yMiAyMDowMToyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuYzoKCSAgbWF0cm9za2E6IEFkZCBzaXplIGNoZWNrcyB0byB0aGUgcGFyc2luZyBvZiBGTEFDIGhlYWRlcnMKCjIwMTYtMTEtMjIgMjM6NDY6MDAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkgIGZseGRlYzogZml4IHNvbWUgd2FybmluZ3MgY29tcGFyaW5nIHVuc2lnbmVkIDwgMAoJICBiZjQzZjQ0ZmNmYWRhNWVjNGEzY2U2MGNiMzc0MzQwNDg2ZmU5ZmFjIHdhcyBjb21wYXJpbmcgYW4gdW5zaWduZWQKCSAgZXhwcmVzc2lvbiB0byBiZSA8IDAgd2hpY2ggd2FzIGFsd2F5cyBmYWxzZS4KCSAgZ3N0Zmx4ZGVjLmM6IEluIGZ1bmN0aW9uIOKAmGZseF9kZWNvZGVfYnJ1buKAmToKCSAgZ3N0Zmx4ZGVjLmM6MzIyOjMzOiB3YXJuaW5nOiBjb21wYXJpc29uIG9mIHVuc2lnbmVkIGV4cHJlc3Npb24gPCAwIGlzIGFsd2F5cyBmYWxzZSBbLVd0eXBlLWxpbWl0c10KCSAgaWYgKChnbG9uZykgcm93IC0gY291bnQgPCAwKSB7CgkgIF4KCSAgZ3N0Zmx4ZGVjLmM6MzMyOjMzOiB3YXJuaW5nOiBjb21wYXJpc29uIG9mIHVuc2lnbmVkIGV4cHJlc3Npb24gPCAwIGlzIGFsd2F5cyBmYWxzZSBbLVd0eXBlLWxpbWl0c10KCSAgaWYgKChnbG9uZykgcm93IC0gY291bnQgPCAwKSB7CgkgIF4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDgzNAoKMjAxNi0xMS0yMSAxNjoxNzozMSArMDIwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAYWhpcnUuZXU+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBFbmFibGUgdXAgdG8gMTYgdW5wb3NpdGlvbmVkIHJhdyBhdWRpbyBjaGFubmVscwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0Nzg5CgoyMDE2LTExLTIyIDE5OjA1OjAwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJICBmbHhkZWM6IGFkZCBzb21lIHdyaXRlIGJvdW5kcyBjaGVja2luZwoJICBXaXRob3V0IGNoZWNraW5nIHRoZSBib3VuZHMgb2YgdGhlIGZyYW1lIHdlIGFyZSB3cml0aW5nIGludG8sIHdlIGNhbgoJICB3cml0ZSBvZmYgdGhlIGVuZCBvZiB0aGUgZGVzdGluYXRpb24gYnVmZmVyLgoJICBodHRwczovL3NjYXJ5YmVhc3RzZWN1cml0eS5ibG9nc3BvdC5kay8yMDE2LzExLzBkYXktZXhwbG9pdC1hZHZhbmNpbmctZXhwbG9pdGF0aW9uLmh0bWwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDgzNAoKMjAxNi0xMS0yMSAxNToyNToyMyArMDAwMCAgRGF2aWQgRXZhbnMgPGJiY3JkZGF2ZUBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQmUgc3VyZSBub3QgdG8gcmVhZCBvZmYgZW5kIG9mIEZMQUMgZGZMYSBib3gKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzcxMgoKMjAxNi0xMS0yMSAxMTo0ODo1OCArMDEwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogYWRkIHN1cHBvcnQgZm9yIHNraXBwaW5nIGludmFsaWQgZGF0YSBpbiBwdXNoIG1vZGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDU2NgoKMjAxNi0xMS0yMSAxMTo0ODoyOSArMDEwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYXBhcnNlOiBhZGQgc3VwcG9ydCBmb3Igc2tpcHBpbmcgaW52YWxpZCBkYXRhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ1NjYKCjIwMTYtMTEtMTggMTc6MDA6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IE1vdmUgdG8gbmV3IGhlbHBlciBmdW5jdGlvbiB0byBwYXJzZSBhdXRoZW50aWNhdGlvbiByZXNwb25zZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDQxNgoKMjAxNi0xMS0yMCAxNDoxMjoxNiArMDEwMCAgY2hyaXN0b3BoZWN2ciA8c3RlZmFuc2F0QHRlbGVuZXQuYmU+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IHdyb25nIGNvbXBpbGVyIHdhcm5pbmcgd2l0aCBnY2MgNi4yCgkgIHwgLi4vLi4vLi4vZ2l0L2dzdC9pc29tcDQvcXRkZW11eC5jOiBJbiBmdW5jdGlvbiAncXRkZW11eF9wYXJzZV90cmVlJzoKCSAgfCAuLi8uLi8uLi9naXQvZ3N0L2lzb21wNC9xdGRlbXV4LmM6MTAyMjQ6MjQ6IGVycm9yOiAnc2l6ZScgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uIFstV2Vycm9yPW1heWJlLXVuaW5pdGlhbGl6ZWRdCgkgIHwgICAgICAgICAgICAgICAgICBvZmZzZXQgKz0gc2l6ZTsKCSAgfCAgICAgICAgICAgICAgICAgICAgICAgICBefgoJICB8IC4uLy4uLy4uL2dpdC9nc3QvaXNvbXA0L3F0ZGVtdXguYzoxMDE5NzoyNTogbm90ZTogJ3NpemUnIHdhcyBkZWNsYXJlZCBoZXJlCgkgIHwgICAgICAgICAgICAgICAgICBndWludDMyIHNpemUsIHRhZzsKCSAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0NzQ3CgoyMDE2LTExLTIwIDE2OjE1OjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvTUFOSUZFU1Q6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgd2luMzI6IHJlbW92ZSBjb3BpZXMgb2YgZ2VuZXJhdGVkIGhlYWRlcnMKCjIwMTYtMTEtMjAgMTM6MTQ6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpZGVtdXg6IEVuc3VyZSB0aGF0IHJhdyB2aWRlbyBoYXZlIHByb3Blcmx5IGFsaWduZWQgYnVmZmVycwoJICBUaGF0IGlzLCBhbGlnbmVkIHRvIHRvIDMyIGJ5dGVzIGZvciB2aWRlby4gRml4ZXMgY3Jhc2hlcyBpZiB0aGUgcmF3CgkgIGJ1ZmZlcnMgYXJlIHBhc3NlZCB0byBTSU1EIHByb2Nlc3NpbmcgZnVuY3Rpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0NDI4CgoyMDE2LTExLTIwIDEzOjA4OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEVuc3VyZSB0aGF0IHJhdyBhdWRpbyBhbmQgdmlkZW8gaGF2ZSBwcm9wZXJseSBhbGlnbmVkIGJ1ZmZlcnMKCSAgVGhhdCBpcywgYWxpZ25lZCB0byB0aGUgYmFzaWMgdHlwZSBmb3IgYXVkaW8gYW5kIHRvIDMyIGJ5dGVzIGZvciB2aWRlby4KCSAgRml4ZXMgY3Jhc2hlcyBpZiB0aGUgcmF3IGJ1ZmZlcnMgYXJlIHBhc3NlZCB0byBTSU1EIHByb2Nlc3NpbmcgZnVuY3Rpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0NDI4CgoyMDE2LTExLTE0IDE0OjQ0OjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogQWx3YXlzIHdyaXRlIGVkaXQgbGlzdHMgZm9yIHRoZSB0cmFja3MgdG8gZ2l2ZSBhIG1vcmUgYWNjdXJhdGUgZHVyYXRpb24KCSAgQWx3YXlzIHdyaXRlIGFuIGVkaXQgbGlzdCBmb3IgdGhlIHdob2xlIHRyYWNrLiBJbiBnZW5lcmFsIHRoaXMgaXMgbm90CgkgIG5lY2Vzc2FyeSBleGNlcHQgZm9yIHRoZSBjYXNlIG9mIGhhdmluZyBhIGdhcCBvciBEVFMgYWRqdXN0bWVudCBidXQKCSAgaXQgYWxsb3dzIHRvIGdpdmUgdGhlIHdob2xlIHRyYWNrJ3MgZHVyYXRpb24gaW4gdGhlIHVzdWFsbHkgbW9yZQoJICBhY2N1cmF0ZSBtZWRpYSB0aW1lc2NhbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ0MDMKCjIwMTYtMTEtMTggMjI6NDU6NDUgKzA5MDAgIFNldW5naGEgWWFuZyA8c2gueWFuZ0BsZ2UuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFJlbW92ZSB1c2VsZXNzIHJldHVybiB2YXJpYWJsZQoJICBxdGRlbXV4X2V4cG9zZV9zdHJlYW1zKCkgcmV0dXJucyBmbG93IGVycm9yIGltbWVkaWF0ZWx5LCBpZiB0aGVyZSBpcyBhbiBlcnJvci4KCSAgU28sIHRoZSB2YXJpYWJsZSBmb3IgdGhlIGZsb3cgcmV0dXJuIGlzIG5vdCBuZWVkZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ2NzQKCjIwMTYtMTEtMTcgMTM6NTk6NDggKzAwMDAgIERhdmlkIEV2YW5zIDxiYmNyZGRhdmVAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9kdW1wLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9kdW1wLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eF90eXBlcy5jOgoJICBxdGRlbXV4OiBBZGQgc3VwcG9ydCBmb3IgRkxBQyBlbmNhcHN1bGF0ZWQgaW4gSVNPQk1GRgoJICBBcyBkZWZpbmVkIGJ5CgkgIGh0dHBzOi8vZ2l0LnhpcGgub3JnLz9wPWZsYWMuZ2l0O2E9YmxvYl9wbGFpbjtmPWRvYy9pc29mbGFjLnR4dAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczNzEyCgoyMDE2LTExLTE3IDE5OjU5OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogTWFyayBwYWQgYXMgbmVlZGluZyByZWNvbmZpZ3VyYXRpb24gYWdhaW4gaWYgaXQgZmFpbGVkCgkgIEFuZCByZXR1cm4gRkxVU0hJTkcgaW5zdGVhZCBvZiBOT1RfTkVHT1RJQVRFRCBvbiBmbHVzaGluZyBwYWRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0NjIzCgoyMDE2LTExLTE3IDE5OjU5OjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSAgbW9ub3Njb3BlOiBNYXJrIHBhZCBhcyBuZWVkaW5nIHJlY29uZmlndXJhdGlvbiBhZ2FpbiBpZiBpdCBmYWlsZWQKCSAgQW5kIHJldHVybiBGTFVTSElORyBpbnN0ZWFkIG9mIE5PVF9ORUdPVElBVEVEIG9uIGZsdXNoaW5nIHBhZHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ2MjMKCjIwMTYtMTEtMTcgMTk6NTg6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IE1hcmsgcGFkIGFzIG5lZWRpbmcgcmVjb25maWd1cmF0aW9uIGFnYWluIGlmIHJlY29uZmlndXJhdGlvbiBmYWlsZWQKCSAgQW5kIGNvbnNpZGVyIG5lZ290aWF0aW9uIGZhaWx1cmVzIG9uIGZsdXNoaW5nIHBhZHMgYXMgRkxVU0hJTkcsIG5vdCBhcwoJICBOT1RfTkVHT1RJQVRFRC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDYyMwoKMjAxNi0xMS0xNyAxOTo1NjoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJICBkdmRlYzogRml4IGhhbmRsaW5nIG9mIG5lZ290aWF0aW9uIGZhaWx1cmVzCgkgIFJldHVybiBOT1RfTkVHT1RJQVRFRCBpZiBzZW5kaW5nIHRoZSBjYXBzIGV2ZW50IGZhaWxzLCBvciBGTFVTSElORyBpZgoJICB0aGUgcGFkIHdhcyBmbHVzaGluZyBhdCB0aGF0IHBvaW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0NjIzCgoyMDE2LTExLTE3IDE3OjE2OjI2IC0wODAwICBTY290dCBEIFBoaWxsaXBzIDxzY290dC5kLnBoaWxsaXBzQGludGVsLmNvbT4KCgkqIG1lc29uLmJ1aWxkOgoJICBtZXNvbjogYWRkX2dsb2JhbF9hcmd1bWVudHMgLT4gYWRkX3Byb2plY3RfYXJndW1lbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ2NTYKCjIwMTYtMTEtMTYgMTA6NTM6NTEgKzA1MzAgIFZpbm9kIEtlc3RpIDx2aW5vZGtlc3RpQHlhaG9vLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4c2luazogcGFkIHJlcXVlc3QgZmFpbHMgZm9yIGZsdm11eAoJICBzcGxpdG11eHNpbmsgcmVxdWVzdHMgcGFkIGZyb20gZWxlbWVudCB1c2luZyBwYWQgdGVtcGxhdGUgbGlrZSAidmlkZW9fJXUiLCAiYXVkaW9fJXUiIGFuZCAic2lua18lZCIuIFRoaXMgaXMgdHJ1ZSBmb3IgbW9zdCBvZiB0aGUgbXV4ZXJzLgoJICBCdXQgc3BsaXRtdXhzaW5rIG5vdCBhYmxlIHRvIHJlcXVlc3QgcGFkIHRvIGZsdm11eCBhcyBmbHZtdXggaGFzICJhdWRpbyIgYW5kICJ2aWRlbyIgYXMgcGFkIHRlbXBsYXRlcy4KCSAgZml4OiBzcGxpdG11eHNpbmsgc2hvdWxkIGZhbGxiYWNrIHRvICJhdWRpbyIgYW5kICAidmlkZW8iIHdoZW4gdGVtcGxhdGUgbm90IGZvdW5kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0NTA3CgoyMDE2LTExLTE3IDEwOjI0OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkgIG1hdHJvc2thcGFyc2U6IEFkZCByZW1haW5pbmcgcmVsZXZhbnQgcGFydHMgZnJvbSBhM2E1NTMwNSB0byB0aGUgcGFyc2VyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ1NjYKCjIwMTYtMTEtMTYgMjI6Mzk6MDEgKzAxMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkgIG1hdHJvc2thcGFyc2U6IGlnbm9yZSBwYXJzaW5nIGVycm9ycyBhdCB0aGUgZW5kIG9mIHRoZSBmaWxlCgkgIFRoaXMgaXMgdGhlIHNhbWUgY2hhbmdlIGFzIGEzYTU1MzA1IGZvciB0aGUgcGFyc2VyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0NTY2CgoyMDE2LTExLTE2IDA4OjU2OjM0ICswMTAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBidW5kbGUuYzoKCSogdGVzdHMvY2hlY2svbWVzb24uYnVpbGQ6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtcnRwYnVuZGxlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItcnRwYnVuZGxlLmM6CgkgIHJ0cGJpbjogcmVjZWl2ZSBidW5kbGUgc3VwcG9ydAoJICBBIG5ldyBzaWduYWwgbmFtZWQgb24tYnVuZGxlZC1zc3JjIGlzIHByb3ZpZGVkIGFuZCBjYW4gYmUKCSAgdXNlZCBieSB0aGUgYXBwbGljYXRpb24gdG8gcmVkaXJlY3QgYSBzdHJlYW0gdG8gYSBkaWZmZXJlbnQKCSAgR3N0UnRwU2Vzc2lvbiBvciB0byBrZWVwIHRoZSBSVFggc3RyZWFtIGdyb3VwZWQgd2l0aGluIHRoZQoJICBHc3RSdHBTZXNzaW9uIG9mIHRoZSBzYW1lIG1lZGlhIHR5cGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzI3NDAKCjIwMTYtMTEtMTUgMTY6NTI6MzkgKzA1MzAgIFZpbm9kIEtlc3RpIDx2aW5vZGtlc3RpQHlhaG9vLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGFzc2VydGlvbiB3aGlsZSBjb252ZXJ0aW5nIEFEVFMgc3RyZWFtIHRvIFJBVwoJICBhYWNwYXJzZSByZXNpemVzIGlucHV0IGJ1ZmZlciB3aGlsZSBjb252ZXJ0aW5nIEFEVFMgc3RyZWFtIHRvIFJBVywKCSAgRHVyaW5nIGJ1ZmZlciByZXNpemUgYnVmZmVyIHdyaXRlIHBlcm1pc3Npb24gaXMgbm90IGNoZWNrZWQuCgkgIFRoaXMgdGhyb3dzIGdzdF9idWZmZXJfaXNfd3JpdGFibGUgYXNzZXJ0aW9uIGFuZCBsZWFkcyB0byBBViBzeW5jIGlzc3VlIHNvbWUgdGltZXMuCgkgIEl0IGlzIGNvcnJlY3RlZCBieSBtYWtpbmcgYnVmZmVyIHdyaXRlYWJsZSB1c2luZyBnc3RfYnVmZmVyX21ha2Vfd3JpdGFibGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDEyOQoKMjAxNi0xMS0xNSAyMToxNzo1MSArMDkwMCAgU2V1bmdoYSBZYW5nIDxzaC55YW5nQGxnZS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRG9uJ3QgbW9kaWZ5IHVwc3RyZWFtIFRJTUUgc2VnbWVudAoJICBUSU1FIHNlZ21lbnQgaW1wbGllcyB0aGF0IHN0cmVhbS9ydW5uaW5nIHRpbWUgaXMgYmVpbmcgaGFuZGxlZCBieSB1cHN0cmVhbS4KCSAgU28sIHdlIHNob3VsZG4ndCBvdmVycmlkZSBpdCB3aXRob3V0IGFueSBjbHVlLgoJICBUaGlzIHBhdGNoIGlzIGZvciBmaXhpbmcgc2VlayBpbiBEQVNIIHN0cmVhbWluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDE5NgoKMjAxNi0xMS0xNCAyMjozMzoyNyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBvc2cuc2Ftc3VuZy5jb20+CgoJKiBjb25maWcuaC5tZXNvbjoKCSAgbWVzb246IEFkZCBkZWZpbmUgZm9yIHY0bDItcHJvYmUgY29uZmlnIG9wdGlvbgoKMjAxNi0xMS0xNCAxNzozNzo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICBkZWludGVybGVhdmU6IFJlc2V0IGNhcHMgYWNjdW11bGF0b3IgdG8gQU5ZIHdoZW4gcmVzeW5jaW5nIHRoZSBhZGFwdGVyLCBub3QgRU1QVFkKCSAgVGhlIGFjY3VtdWxhdG9yIGlzIGZpbGxlZCBieSBpbnRlcnNlY3Rpbmcgd2l0aCBhbGwgdGhlIHBhZCBjYXBzLCBhcyBzdWNoCgkgIGl0IG11c3QgYmUgaW5pdGlhbGl6ZWQgd2l0aCBBTlkgKGxpa2UgaXQgaXMgYmVmb3JlIHRoZSBpdGVyYXRpb24gaXMKCSAgc3RhcnRlZCkgYW5kIG5vdCB0byBFTVBUWS4KCSAgRml4ZXMgdGhlIENBUFMgcXVlcnkgYWx3YXlzIHJldHVybmluZyBFTVBUWSBjYXBzIHdoZW4gcmVzeW5jaW5nIGhhcHBlbmVkCgkgIGR1cmluZyB0aGUgcXVlcnksIGUuZy4gYmVjYXVzZSBwYWRzIHdlcmUgYWRkZWQvcmVtb3ZlZC4KCjIwMTYtMTEtMTQgMTI6MTM6MTQgKzAxMDAgIFBldHIgS3VsaGF2eSA8YnJhaW5Aamlrb3MuY3o+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IHJlbW92ZSByZWR1bmRhbnQgc2FkZHIgdW5yZWYKCSAgVGhlIGdfb2JqZWN0X3VucmVmIChzYWRkcikgYmVmb3JlIHJlY2VpdmluZyBtZXNzYWdlIHNlZW1zIHRvIGJlIHJlZHVuZGFudCBhcyBpdAoJICBpcyBkb25lIGp1c3QgYmVmb3JlIGp1bXBpbmcgdG8gcmV0cnkKCSAgVGhvdWdoIG5vdCBkaXJlY3RseSByZWxhdGVkLCBwYXJ0IG9mCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzI4NDEKCjIwMTYtMTEtMTIgMjM6MzQ6MjMgKzAxMDAgIFBldHIgS3VsaGF2eSA8YnJhaW5Aamlrb3MuY3o+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IHJlY2VpdmUgY29udHJvbCBtZXNzYWdlcyBvbmx5IGluIG11bHRpY2FzdAoJICBDb250cm9sIG1lc3NhZ2VzIGFyZSB1c2VkIG9ubHkgaW4gbXVsdGljYXN0IG1vZGUgLSB0byBkZXRlY3QgaWYgdGhlIGRlc3RpbmF0aW9uCgkgIGFkZHJlc3MgaXMgbm90IG91cnMgYW5kIHBvc3NpYmx5IGRyb3AgdGhlIHBhY2tldC4gSG93ZXZlciBpbiBub24tbXVsdGljYXN0CgkgIG1vZGVzIHRoZSBtZXNzYWdlcyBhcmUgc3RpbGwgYWxsb2NhdGVkIGFuZCBmcmVlZCBldmVuIGlmIG5vdCB1c2VkLiBUaGVyZWZvcmUKCSAgcmVxdWVzdCBjb250cm9sIG1lc3NhZ2VzIGZyb20gZ19zb2NrZXRfcmVjZWl2ZV9tZXNzYWdlKCkgb25seSBpbiBtdWx0aWNhc3QKCSAgbW9kZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3Mjg0MQoKMjAxNi0xMS0xMSAxMDo0NTowMSAtMDgwMCAgU2NvdHQgRCBQaGlsbGlwcyA8c2NvdHQuZC5waGlsbGlwc0BpbnRlbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIFVzZSBpbnRlcm1lZGlhdGUgZ3VpbnQgd2hlbiBoYW5kbGluZyBHc3RWaWRlb011bHRpdmlld0ZsYWdzCgkgIFRoZSB1bmRlcmx5aW5nIGludGVnZXIgdHlwZSBvZiB0aGUgZW51bSBHc3RWaWRlb011bHRpdmlld0ZsYWdzIGlzCgkgIGltcGxlbWVudGF0aW9uIGRlZmluZWQgYW5kIG1heSBub3QgaGF2ZSB0aGUgc2FtZSBzaXplIGFzIGd1aW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0MjkzCgoyMDE2LTExLTExIDEwOjQ0OjE4IC0wODAwICBTY290dCBEIFBoaWxsaXBzIDxzY290dC5kLnBoaWxsaXBzQGludGVsLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmM6CgkgIHNwbGl0ZmlsZXNyYzogdXBkYXRlIHVyaV9nZXRfdHlwZSB0byBtYXRjaCB0aGUgcHJvdG90eXBlIGluIEdzdFVSSUhhbmRsZXJJbnRlcmZhY2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDI5MwoKMjAxNi0xMC0yNiAyMjozNzozNCAtMDcwMCAgU2NvdHQgRCBQaGlsbGlwcyA8c2NvdHQuZC5waGlsbGlwc0BpbnRlbC5jb20+CgoJKiBtZXNvbi5idWlsZDoKCSAgbWVzb246IGRvbid0IGFkZF9nbG9iYWxfYXJndW1lbnRzIHdoZW4gYmVpbmcgYnVpbHQgYXMgYSBzdWJwcm9qZWN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzM1NjgKCjIwMTYtMTAtMjEgMTU6NDk6MzYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuaDoKCSAgZmxhY3BhcnNlOiBmaXggaGVhZGVyIHJld3JpdGluZyBiZWluZyBpZ25vcmVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc4MDIKCjIwMTYtMTEtMDkgMDY6MjU6MjcgKzAwMDAgIFNlYW4gRHVCb2lzIDxzZWFuQHNpb2J1ZC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICBmbHZtdXg6IEFkZCBtZXRhZGF0YWNyZWF0b3IgcHJvcGVydHkKCSAgQWxsb3cgdXNlcnMgdG8gc2V0IG1ldGFkYXRhY3JlYXRvciB2YWx1ZSBpbiB0aGUgbWV0YSBwYWNrZXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDEzMQoKMjAxNi0xMS0wMSAxOTo1NjozNiArMDIwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAdG9vbHNvbmFpci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5oOgoJICBzcGxpdG11eHNpbms6IFVzZSBmaXJzdCBidWZmZXIgVFMgYXMgbXV4IHN0YXJ0IHRpbWUKCSAgRG8gbm90IHVzZSBsYXN0IGJ1ZmZlciBUUyArIGJ1ZmZlciBkdXJhdGlvbiBiZWNhdXNlIGJ1ZmZlciBkdXJhdGlvbgoJICBtaWdodCBiZSBpbmFjY3VyYXRlLCBlc3BlY2lhbGx5IGZvciBmcmFtZSByYXRlcyBsaWtlIDMwZnBzIHdoZXJlIGEKCSAgcm91bmRpbmcgZXJyb3IgaXMgb2JzZXJ2ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzM3ODUKCjIwMTYtMTEtMDMgMTU6MDM6NTkgKzAxMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBmaXggdGltZXItcmV1c2UgYnVnCgkgIFdoZW4gZG9pbmcgcnR4LCB0aGUgaml0dGVyYnVmZmVyIHdpbGwgYWx3YXlzIGFkZCBhbiBydHgtdGltZXIgZm9yIHRoZSBuZXh0CgkgIHNlcXVlbmNlIG51bWJlci4KCSAgSW4gdGhlIGNhc2Ugb2YgdGhlIHBhY2tldCBjb3JyZXNwb25kaW5nIHRvIHRoYXQgc2VxdWVuY2UgbnVtYmVyIGFycml2aW5nLAoJICB0aGF0IHNhbWUgdGltZXIgd2lsbCBiZSByZXVzZWQsIGFuZCBzaW1wbHkgbW92ZWQgb24gdG8gd2FpdCBmb3IgdGhlCgkgIGZvbGxvd2luZyBzZXF1ZW5jZSBudW1iZXIgZXRjLgoJICBPbmNlIGFuIHJ0eC10aW1lciBleHBpcmVzIChhZnRlciBhbGwgcmV0cmllcyksIGl0IHdpbGwgYmUgcmVzY2hlZHVsZWQgYXMKCSAgYSBsb3N0LXRpbWVyIGluc3RlYWQgZm9yIHRoZSBzYW1lIHNlcXVlbmNlIG51bWJlci4KCSAgTm93LCBpZiB0aGlzIHBhcnRpY3VsYXIgc2VxdWVuY2UtbnVtYmVyIG5vdyBhcnJpdmVzIChhZnRlciB0aGUgdGltZXIgaGFzCgkgIGJlY29tZSBhIGxvc3QtdGltZXIpLCB0aGUgcmV1c2UgbWVjaGFuaXNtICpzaG91bGQqIG5vdyBzZXQgYSBuZXcKCSAgcnR4LXRpbWVyIGZvciB0aGUgbmV4dCBzZXF1ZW5jZSBudW1iZXIsIGJ1dCB0aGUgYnVnIGlzIHRoYXQgaXQgZG9lcwoJICBub3QgY2hhbmdlIHRoZSB0aW1lci10eXBlLCBhbmQgaGVuY2Ugc2NoZWR1bGVzIGEgbG9zdC10aW1lciBmb3IgdGhhdAoJICBmb2xsb3dpbmcgc2VxdWVuY2UgbnVtYmVyLCB3aXRoIHRoZSByZXN1bHQgdGhhdCB5b3Ugd2lsbCBoYXZlIGEgdmVyeQoJICBlYXJseSBsb3N0LWV2ZW50IGZvciBhIHBhY2tldCB0aGF0IG1pZ2h0IHN0aWxsIGFycml2ZSwgYW5kIHlvdSB3aWxsCgkgIG5ldmVyIGJlIGFibGUgdG8gc2VuZCBhbnkgcnR4IGZvciB0aGlzIHBhY2tldC4KCSAgRm91bmQgYnkgRXJsZW5kIEdyYWZmIC0gZXJsZW5kQHBleGlwLmNvbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczODkxCgoyMDE2LTEwLTA5IDE1OjU5OjA1ICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBmaXggbG9zdC1ldmVudCB1c2luZyBkdHMgaW5zdGVhZCBvZiBwdHMKCSAgVGhlIGxvc3QtZXZlbnQgd2FzIHVzaW5nIGEgZGlmZmVyZW50IHRpbWUtZG9tYWluIChkdHMpIHRoYW4gdGhlIG91dGdvaW5nCgkgIGJ1ZmZlcnMgKHB0cykuIEdpdmVuIGNlcnRhaW4gbmV0d29yay1jb25kaXRpb25zIHRoZXNlIHR3byB3b3VsZCBiZWNvbWUKCSAgc3VmZmljaWVudGx5IGRpZmZlcmVudCBhbmQgdGhlIGxvc3QtZXZlbnQgY29udGFpbmVkIHRpbWVzdGFtcC9kdXJhdGlvbgoJICB0aGF0IHdhcyByZWFsbHkgd3JvbmcuIEFzIGFuIGV4YW1wbGUgR3N0QXVkaW9EZWNvZGVyIGNvdWxkIHByb2R1Y2UKCSAgYSBzdHJlYW0gdGhhdCBqdW1wcyBiYWNrIGFuZCBmb3J0aCBpbiB0aW1lIGFmdGVyIHJlY2VpdmluZyBhIGxvc3QtZXZlbnQuCgkgIFRoZSBwcmV2aW91cyBiZWhhdmlvciBjYWxjdWxhdGVkIHRoZSBwdHMgKGJhc2VkIG9uIHRoZSBydHB0aW1lKSBpbnNpZGUgdGhlCgkgIHJ0cF9qaXR0ZXJfYnVmZmVyX2luc2VydCBmdW5jdGlvbiwgYnV0IG5vdyB0aGlzIGZ1bmN0aW9uYWxpdHkgaGFzIGJlZW4KCSAgcmVmYWN0b3JlZCBpbnRvIGEgbmV3IGZ1bmN0aW9uIHJ0cF9qaXR0ZXJfYnVmZmVyX2NhbGN1bGF0ZV9wdHMgdGhhdCBpcwoJICBjYWxsZWQgbXVjaCBlYXJsaWVyIGluIHRoZSBfY2hhaW4gZnVuY3Rpb24gdG8gbWFrZSBwdHMgYXZhaWxhYmxlIHRvCgkgIHZhcmlvdXMgY2FsY3VsYXRpb25zIHRoYXQgd3JvbmdseSB1c2VkIGR0cyBwcmV2aW91c2x5CgkgIChsaWtlIHRoZSBsb3N0LWV2ZW50KS4KCSAgVGhlcmUgYXJlIGhvd2V2ZXIgdHdvIGNhbGN1bGF0aW9ucyB3aGVyZSB1c2luZyBkdHMgaXMgdGhlIHJpZ2h0IHRoaW5nIHRvCgkgIGRvOiBjYWxjdWxhdGluZyB0aGUgcmVjZWl2ZS1qaXR0ZXIgYW5kIHRoZSBydHgtcm91bmQtdHJpcC10aW1lLCB3aGVyZSB0aGUKCSAgYXJyaXZhbCB0aW1lIG9mIHRoZSBidWZmZXIgZnJvbSB0aGUgbmV0d29yayBpcyB0aGUgcmlnaHQgbWV0cmljCgkgIChhbmQgaXMgd2hhdCBkdHMgaW4gZmFjdCBpcyB0b2RheSkuCgkgIFRoZSBwYXRjaCBhbHNvIGFkZHMgdHdvIHRlc3RzIHJlZ2FyZGluZyBCLWZyYW1lcyBvciB0aGUKCSAg4oCccnRwdGltZS1nb2luZy1iYWNrd2FyZHPigJ0tc2NlbmFyaW8sIGFzIHRoZXJlIHdlcmUgc29tZSBjb25jZXJucyB0aGF0IHRoaXMKCSAgcGF0Y2ggbWlnaHQgYnJlYWsgdGhpcyBiZWhhdmlvciAod2hpY2ggdGhlIHRlc3RzIHNob3dzIGl0IGRvZXMgbm90KS4KCjIwMTYtMTEtMDMgMTY6MzM6NTMgKzAxMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBmaXggYnVnIGluIHJlc2NoZWR1bGVfdGltZXIKCSAgVGhlIG5ldyB0aW1lb3V0IGlzIGFsd2F5cyBnb2luZyB0byBiZSAodGltZW91dCArIGRlbGF5KSwgaG93ZXZlciwgdGhlCgkgIG9sZCBiZWhhdmlvciBjb21wYXJlZCB0aGUgY3VycmVudCB0aW1lb3V0IHRvIGp1c3QgKHRpbWVvdXQpLCBiYXNpY2FsbHkKCSAgYmVpbmcgKGRlbGF5KSBvZmYuCgkgIFRoaXMgd291bGQgaGFwcGVuIGlmIHJ0eC1kZWxheSA9PSBydHgtcmV0cnktdGltZW91dCwgd2l0aCB0aGUgcmVzdWx0IHRoYXQKCSAgYSBzZWNvbmQgcnR4IGF0dGVtcHQgZm9yIGFueSBidWZmZXJzIHdvdWxkIGJlIHNjaGVkdWxlZCBpbW1lZGlhdGVseSBpbnN0ZWFkCgkgIG9mIGFmdGVyIHJ0eC1kZWxheSBtcy4KCSAgU2ltcGx5IGNhbGN1bGF0ZSAobmV3X3RpbWVvdXQgPSB0aW1lb3V0ICsgZGVsYXkpIGFuZCB0aGVuIHVzZSB0aGF0IGluc3RlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzM5MDUKCjIwMTYtMTEtMDMgMTM6Mjc6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYXJzZS5jOgoJKiB0ZXN0cy9maWxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZmlsZXMvYXVkaW90ZXN0c3JjLndhdjoKCSAgdGVzdHM6IHdhdnBhcnNlOiBhZGQgdGVzdCBmb3IgcHJvY2Vzc2luZyBhbiBhY3R1YWwgLndhdiBmaWxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzM4NjEKCjIwMTYtMTEtMDMgMTI6MzQ6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IERvbid0IHNldCBjYXBzIHRvIE5VTEwgYWZ0ZXIgc2V0dGluZyB0aGVtIG9uIHRoZSBzcmNwYWQKCSAgV2Ugd291bGQgbGlrZSB0byBjaGVjayBsYXRlciBvbiBFT1MgaWYgd2UgZm91bmQgYSBrbm93biBzdHJlYW0gdHlwZSBvcgoJICBub3QsIHRvIHBvc3NpYmx5IHBvc3QgYW4gZXJyb3IgbWVzc2FnZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3Mzg2MQoKMjAxNi0xMS0wMiAxNDozMzoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IERvbid0IGRlcmVmIE5VTEwgcGFkcyBpbiBkZWJ1ZyBvdXRwdXQKCSAgVGhhdCB0ZW5kcyB0byBjcmFzaC4KCjIwMTYtMTEtMDIgMTE6NDY6MDcgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIGlzb21wNDogRG9uJ3QgdXNlIGdzdF92aWRlb19jb2xvcmltZXRyeV90b19zdHJpbmdfZnVsbCgpCgkgIFRoZSBBUEkgd2FzIHJldmVydGVkLiBKdXN0IHVzZSB0aGUgcGxhaW4KCSAgZ3N0X3ZpZGVvX2NvbG9yaW1ldHJ5X3RvX3N0cmluZygpIGZ1bmN0aW9uLgoKMjAxNi0xMS0wMiAxMTowMDoxMyArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IEZpeCBHT2JqZWN0IHdhcm5pbmdzIG9uIHNodXRkb3duLgoJICBDb21taXQgODNlNzE4IGFkZGVkIGEgcGFkIHRlbXBsYXRlIHRvIHNwbGl0bXV4IHJlcXVlc3QKCSAgcGFkcywgd2hpY2ggbWVhbnMgdGhhdCBHc3RFbGVtZW50IG5vdyByZWxlYXNlcyB0aGUgcGFkcyBvbgoJICBkaXNwb3NlLCBidXQgYWZ0ZXIgaGF2aW5nIHJlbW92ZWQgYWxsIGVsZW1lbnRzIGluIHRoZSBiaW4KCSAgYW5kIHVubGlua2VkIHRoZW0uIE1ha2Ugc3VyZSB3ZSBjYW4gaGFuZGxlIGNsZWFudXAgaW4gdGhhdCBjYXNlCgkgIHdpdGhvdXQgdGhyb3dpbmcgYXNzZXJ0aW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3Mzc4NAoKMjAxNi0xMS0wMiAwMjoyNTo1MSArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c3JjLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzcmMuaDoKCSAgc3BsaXRtdXhzcmM6IFN0b3JlIHNlZWsgc2VxbnVtIGFuZCBzZW5kIGl0IG9uIEVPUyAvIHNlZ21lbnQgZXZlbnRzLgoJICBHRVMgcmVsaWVzIG9uIHRoZSBFT1MgZXZlbnQgaGF2aW5nIHRoZSBzZXFudW0gb2YgdGhlIHNlZWsgdGhhdAoJICBjYXVzZWQgaXQuCgoyMDE2LTExLTAyIDAyOjI1OjAwICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzcmMuYzoKCSAgc3BsaXRtdXhzcmM6IEZvcndhcmQgYSBub3QtbGlua2VkIGVycm9yIG9uIHRoZSBidXMKCSAgSGFuZGxlIG5vdC1saW5rZWQgYXMgZm9yIG90aGVyIGZhdGFsIGVycm9ycyBhbmQgcG9zdCBpdAoJICBvbnRvIHRoZSBidXMgc28gdGhlIGFwcCBrbm93cwoKMjAxNi0xMS0wMSAyMTowMDoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggY29tcGlsZXIgd2FybmluZwoJICBxdGRlbXV4LmM6IEluIGZ1bmN0aW9uIOKAmHF0ZGVtdXhfcGFyc2VfdHJlZeKAmToKCSAgcXRkZW11eC5jOjEwMTM5OjE2OiBlcnJvcjog4oCYY29sb3JfdGFibGVfaWTigJkgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uIFstV2Vycm9yPW1heWJlLXVuaW5pdGlhbGl6ZWRdCgkgIGlmIChjb2xvcl90YWJsZV9pZCAhPSAwKSB7CgkgIF4KCSAgcXRkZW11eC5jOjEwMTIxOjE5OiBub3RlOiDigJhjb2xvcl90YWJsZV9pZOKAmSB3YXMgZGVjbGFyZWQgaGVyZQoJICBndWludDE2IGNvbG9yX3RhYmxlX2lkOwoJICBefn5+fn5+fn5+fn5+fgoKMjAxNi0xMC0yMCAxNzo0MDo1OSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFVzZSBhIGRlZmF1bHQgaW50ZXJsZWF2ZSBvZiAyNTBtcyBmb3IgYWxsIGNvZGVjcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczMjE3CgoyMDE2LTEwLTE5IDE0OjMzOjMzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogVXNlIGEgZGVmYXVsdCBpbnRlcmxlYXZlIHdoZW4gUHJvUmVzIGlzIHVzZWQKCSAgVGhlIFByb1JlcyBndWlkZWxpbmVzIHN1Z2dlc3QgYW4gaW50ZXJsZWF2ZSBvZiAwLjVzIGlzIGNvbW1vbiwgYnV0CgkgIHNwZWNpZmllcyB0aGF0IGZvciBQcm9SZXMgYXQgbW9zdCAyTUIgKGZvciBTRCkgYW5kIDRNQiAoZm9yIEhEKSBzaG91bGQKCSAgYmUgdXNlZCBwZXIgY2h1bmsuCgkgIEl0IG1pZ2h0IGFsc28gbWFrZSBzZW5zZSB0byB1c2Ugc2ltaWxhciBudW1iZXJzIGluIGdlbmVyYWwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzMyMTcKCjIwMTYtMTAtMTkgMTQ6MjU6MjggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5oOgoJICBxdG11eDogQWxsb3cgY29uZmlndXJpbmcgdGhlIGludGVybGVhdmUgc2l6ZSBpbiBieXRlcy90aW1lCgkgIFByZXZpb3VzbHkgd2Ugd2VyZSBzd2l0Y2hpbmcgZnJvbSBvbmUgY2h1bmsgdG8gYW5vdGhlciBvbiBldmVyeSBzaW5nbGUKCSAgYnVmZmVyLiBUaGlzIHdhc3RlcyBzb21lIHNwYWNlIGluIHRoZSBoZWFkZXJzIGFuZCwgZGVwZW5kaW5nIG9uIHRoZQoJICBzb2Z0d2FyZSwgbWlnaHQgZGVwZW5kIGluIG1vcmUgcmVhZHMgKGUuZy4gaWYgdGhlIHNvZnR3YXJlIGlzIHJlYWRpbmcKCSAgbXVsdGlwbGUgc2FtcGxlcyBpbiBvbmUgZ28gaWYgdGhleSdyZSBpbiB0aGUgc2FtZSBjaHVuaykuCgkgIFRoZSBQcm9SZXMgZ3VpZGVsaW5lcyBzdWdnZXN0IGFuIGludGVybGVhdmUgb2YgMC41cyBpcyBjb21tb24sIGJ1dAoJICBzcGVjaWZpZXMgdGhhdCBmb3IgUHJvUmVzIGF0IG1vc3QgMk1CIChmb3IgU0QpIGFuZCA0TUIgKGZvciBIRCkgc2hvdWxkCgkgIGJlIHVzZWQgcGVyIGNodW5rLiBUaGlzIHdpbGwgYmUgaGFuZGxlZCBpbiBhIGZvbGxvdy11cCBjb21taXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzMyMTcKCjIwMTYtMDktMzAgMTg6MjI6MjcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBTZXQgY29tcHJlc3NvciBuYW1lLCBob3Jpem9udGFsL3ZlcnRpY2FsIHJlc29sdXRpb24gYW5kIGRlcHRoIGZvciBQcm9SZXMKCSAgVGhpcyBpcyBhbHNvIHJlcXVpcmVkIGJ5IHNvbWUgc29mdHdhcmUgdG8gaGFuZGxlIFByb1JlcyBmaWxlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTA0OAoKMjAxNi0wOS0zMCAxODowNTozOCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0OiBBZGQgc3VwcG9ydCBmb3IgUHJvUmVzIDQ0NDQgWFEKCSAgQW5kIGFsc28gNDQ0NCBpbiB0aGUgbXV4ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjkwNDgKCjIwMTYtMDktMzAgMTc6NTg6MzcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuaDoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfdHlwZXMuYzoKCSAgcXRtdXg6IFdyaXRlICdjbGFwJyBhdG9tIGZvciBQcm9SZXMKCSAgSXQncyByZXF1aXJlZCBmb3IgUHJvUmVzIHRvIHdvcmsgd2l0aCBvdGhlciBzb2Z0d2FyZS4KCSAgSXQgaXMgYWxzbyBpbiB0aGUgTVA0IHN0YW5kYXJkLCBidXQgaW52ZW50aW5nIHZhbHVlcyBoZXJlIHNlZW1zIGEgYml0CgkgIHRyaWNreSBmb3IgdGhlIGdlbmVyYWwgY2FzZSBhbmQgaXQgZG9lcyBub3QgcmVhbGx5IGdpdmUgYW55IGV4dHJhCgkgIGluZm9ybWF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5MDQ4CgoyMDE2LTA5LTMwIDA5OjU1OjU4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFJlYWQgY29sb3JpbWV0cnkgaW5mb3JtYXRpb24gZnJvbSBjb2xyIGF0b20gaWYgYXZhaWxhYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzIxODEKCjIwMTYtMDktMjkgMjE6NTY6MTggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuaDoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogQWx3YXlzIHdyaXRlIGNvbHIgYXRvbSB3aXRoIHRoZSBjb2xvcmltZXRyeSBpbmZvcm1hdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcyMTgxCgoyMDE2LTA5LTI5IDE4OjE2OjE4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEZpeCB3cml0aW5nIG9mIHRoZSAnZmllbCcgZXh0ZW5zaW9uIGF0b20KCSAgVGhpcyB3YXMgYWxzbyB3cm9uZyBmb3IgSlBFRzIwMDAuIEFsc28gd3JpdGUgaXQgZm9yIGFsbCBNT1YgZmlsZXMgYW5kCgkgIEpQRUcyMDAwLCBub3Qgb25seSBmb3IgUHJvUmVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5MDQ4CgoyMDE2LTA5LTI5IDE3OjQwOjIzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJICBxdG11eDogV3JpdGUgNCBieXRlcyBvZiB6ZXJvZXMgYXQgdGhlIGVuZCBvZiB0aGUgc2FtcGxlIGRlc2NyaXB0aW9uIGV4dGVuc2lvbnMKCSAgVGhpcyBpcyB3b3JraW5nIGFyb3VuZCBzb21lIGJyb2tlbiBzb2Z0d2FyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTA0OAoKMjAxNi0wOS0yOCAyMDo1NToyNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSAgYXRvbXM6ICdwYXNwJyBhdG9tIGlzIGFsc28gcGFydCBvZiBNUDQsIHdyaXRlIGl0IGFsd2F5cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5MDQ4CgoyMDE2LTA3LTExIDE5OjMwOjEyICswMzAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUBhaGlydS5ldT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9hdG9tcy5oOgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBXcml0ZSBhZGRpdGlvbmFsIGF0b21zIGZvciBwcm9yZXMgdmlkZW8KCSAgVGhlc2UgcmVxdWlyZWQgYXRvbXMgYXJlOiBjb2xvcmltZXRyeSwgZmllbGQgaW5mb3JtYXRpb24sIHNwYXRpYWwvdGVtcG9yYWwKCSAgcXVhbGl0eSwgYW5kIHZlbmRvci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTA0OAoKMjAxNC0wNi0xNiAxNzoyMDozMiArMDIwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbi5zZWxuZXNAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSAgcnRwaDI2M2RlcGF5OiBEb24ndCBkcm9wIG1vZGUgYiBwYWNrZXRzIHdpdGggcGljdHVyZSBzdGFydCBjb2RlCgkgIFNvbWUgYnVnZ3kgcGF5bG9hZGVycywgZS5nLiBydHBoMjYzcGF5LCBtYXkgdXNlIG1vZGUgQiBmb3IgcGFja2V0cwoJICB0aGF0IHN0YXJ0cyB3aXRoIGEgcGljdHVyZSAob3IgR09CKSBzdGFydCBjb2RlIGFsdGhvdWdoIGl0J3Mgbm90CgkgIGFsbG93ZWQuIExldCdzIGJlIG5pY2UgYW5kIG5vdCBkcm9wIHRoZXNlIHBhY2tldHMvZnJhbWVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczNTE2CgoyMDE2LTA2LTIyIDEzOjU5OjM1ICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGgyNjMuYzoKCSAgcnRwaDI2M3BwYXk6IEZpeCBjYXBzIGxlYWsKCSAgRml4IGxlYWtpbmcgY2FwcyB3aGVuIGRvd25zdHJlYW0gaGFzIG5vdC1maXhlZCBjYXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczNTE1CgoyMDE2LTEwLTI2IDE2OjQyOjE5ICswMjAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICBydHBoMjYzcGF5OiBGaXggaW5kZW50YXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzUxNAoKMjAxNi0xMC0xOCAxMTozNTo1OCArMDIwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbkBwZXhpcC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgcnRwaDI2M3BheTogVXNlIEdTVF9UUkFDRV9PQkpFQ1QgZm9yIGxvZ2dpbmcgYml0c3RyZWFtIHBhcnNpbmcKCSAgQnVtcCB0aGUgYml0c3RyZWFtIHBhcnNpbmcgdG8gVFJBQ0UgbG9nIGxldmVsIHNvIGl0IGRvZXNuJ3QgZmxvb2QgdGhlCgkgIG91dHB1dCB3aGVuIHRyeWluZyB0byByZWFkIHRoZSBtb3JlIHVzZWZ1bCBERUJVRyBhbmQgTE9HIG1lc3NhZ2VzLgoJICBBbHNvIHVzZSBHU1RfREVCVUdfT0JKRUNUIGluc3RlYWQgb2YgR1NUX0RFQlVHIGluIHZhcmlvdXMgcGxhY2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzM1MTQKCjIwMTYtMTAtMTggMTE6MDk6MTAgKzAyMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW5AcGV4aXAuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgIHJ0cGgyNjNwYXk6IEZpeCBsZWFrIGZvciBCLWZyYWdtZW50cwoJICBBbHRvdWdoIGNvbW1pdHMgNmExNmJlNywgNjRmOWQwOCBhbmQgMGM3ZTNhOCBmaXhlZCBzb21lIGlzc3VlcyB0aGV5CgkgIGludHJvZHVjZWQgb3RoZXJzLiBUaGlzIHBhdGNoIGZpeGVzIHRoZSBsZWFrIG9mIG9uZSBtYWNyb2Jsb2NrIGZvciBldmVyeQoJICBCIGZyYWdtZW50LgoJICBNYWNyb2Jsb2NrIHN0cnVjdHVyZXMgbXVzdCBub3QgYmUgZnJlZWQgaW1tZWRpYXRlbHkgYWZ0ZXIgZmluZGluZyB0aGUKCSAgYm91bmRhcmllcyBhcyB0aGV5IGFyZSBzdG9yZWQgYW5kIHVzZWQgbGF0ZXIuIEhvd2V2ZXIgdGhlIGluaXRhbCBkdW1teQoJICBzdHJ1Y3R1cmUgKHVzZWQgZm9yIGZpbmRpbmcgdGhlIGZpcnN0IGJvdW5kYXJ5KSBtdXN0IGJlIGZyZWVkLgoJICBDSUQgIzEyMTIxNTYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzUxMgoKMjAxNi0xMC0yMCAxMzoxNDoxMyArMDIwMCAgQWxlamFuZHJvIEcuIENhc3RybyA8YWxleEBpZ2FsaWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBiaW46IGF2b2lkIGdlbmVyYXRpbmcgZXJyb3JzIHdoZW4gcnRjcCBtZXNzYWdlcyBhcmUgZW1wdHkgYW5kIGNoZWNrIHRoZSBxdWV1ZSBpcyBub3QgZW1wdHkKCSAgQWRkIGEgY2hlY2sgdG8gdmVyaWZ5IGFsbCB0aGUgb3V0cHV0IGJ1ZmZlcnMgd2VyZSBlbXB0eSBmb3IgdGhlCgkgIHNlc3Npb24gaW4gYSB0aW1vdXQgYW5kIGxvZyBhbiBlcnJvci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzI2OQoKMjAxNi0xMC0yNiAxMzoyMToyOSArMDIwMCAgQWxlamFuZHJvIEcuIENhc3RybyA8YWxleEBpZ2FsaWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwYmluOiBwaXBlbGluZSBnZXRzIGFuIEVPUyB3aGVuIGFueSBydHBzb3VyY2VzIGJ5ZXMKCSAgSW5zdGVhZCBvZiBzZW5kaW5nIEVPUyB3aGVuIGEgc291cmNlIGJ5ZXMgd2UgaGF2ZSB0byB3YWl0IGZvcgoJICBhbGwgdGhlIHNvdXJjZXMgdG8gYmUgZ29uZSwgd2hpY2ggbWVhbnMgdGhleSBhbHJlYWR5IHNlbnQgQllFIGFuZAoJICB3ZXJlIHJlbW92ZWQgZnJvbSB0aGUgc2Vzc2lvbi4gV2Ugbm93IGhhbmRsZSB0aGUgRU9TIGluIHRoZSBydGNwCgkgIGxvb3AgY2hlY2tpbmcgdGhlIGFtb3VudCBvZiBzb3VyY2VzIGluIHRoZSBzZXNzaW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczMjE4CgoyMDE2LTEwLTIxIDE3OjMxOjAwICswMDAwICBNYXR0IFN0YXBsZXMgPHN0YXBsZXMyNTVAZ21haWwuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBBbHNvIGhhbmRsZSByZWRpcmVjdCBvbiBQTEFZCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzI2MTAKCjIwMTYtMDgtMzAgMTA6MjQ6NDMgKzAyMDAgIFBldHIgS3VsaGF2eSA8YnJhaW5Aamlrb3MuY3o+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFsbG93IG1pc3NpbmcgY29udHJvbCBhdHRyaWJ1dGUgaW4gY2FzZSBvZiBhIHNpbmdsZSBzdHJlYW0KCSAgSW1wcm92ZSBSRkMyMzI2IC0gY2hhcHRlciBDLjMgY29tcGF0aWJpbGl0eToKCSAgSW4gY2FzZSBqdXN0IGEgc2luZ2xlIHN0cmVhbSBpcyBzcGVjaWZpZWQgaW4gU0RQIGFuZCB0aGUgY29udHJvbCBhdHRyaWJ1dGUKCSAgaXMgbWlzc2luZyBkbyBub3QgZHJvcCB0aGUgc3RyZWFtIGJ1dCByYXRoZXIgYXNzdW1lICJhPWNvbnRyb2w6KiIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MDU2OAoKMjAxNi0xMC0wOCAxODoxMToxNyArMDIwMCAgV2lsbGlhbSBNYW5sZXkgPHdpbGxAd2lsbGlhbW1hbmxleS5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIHY0bDI6IFdhcm4sIGRvbid0IGFzc2VydCBpZiB2NGwgZ2l2ZXMgdXMgYSBidWZmZXIgd2l0aCBhIHRvbyBsYXJnZSBzaXplCgkgIEkndmUgc2VlbiBwcm9ibGVtcyB3aGVyZSB0aGUgYGJ5dGVzdXNlZGAgZmllbGQgb2YgYHY0bDJfYnVmZmVyYCB3b3VsZCBiZQoJICBhIHNpbGx5IG51bWJlciBjYXVzaW5nIHRoZSBsYXRlciBjYWxsIHRvOgoJICBnc3RfbWVtb3J5X3Jlc2l6ZSAoZ3JvdXAtPm1lbVtpXSwgMCwgZ3JvdXAtPnBsYW5lc1tpXS5ieXRlc3VzZWQpOwoJICB0byByZXN1bHQgaW4gdGhpcyBlcnJvciB0byBiZSBwcmludGVkOgoJICAocHVsc2V2aWRlbzoxMSk6IEdTdHJlYW1lci1DUklUSUNBTCAqKjogZ3N0X21lbW9yeV9yZXNpemU6IGFzc2VydGlvbiAnc2l6ZSArIG1lbS0+b2Zmc2V0ICsgb2Zmc2V0IDw9IG1lbS0+bWF4c2l6ZScgZmFpbGVkCgkgIGJlc2lkZXMgY2F1c2luZyB3aG8ta25vd3Mgd2hhdCBvdGhlciBwcm9ibGVtcy4KCSAgV2UgbWFrZSB0aGUgYXNzdW1wdGlvbiB0aGF0IHRoaXMgYnVmZmVyIGhhcyBzdGlsbCBiZWVuIGRlcXVldWVkIGNvcnJlY3RseQoJICBzbyBqdXN0IGNsYW1wIHRvIGEgdmFsaWQgc2l6ZSBzbyBkb3duc3RyZWFtIGVsZW1lbnRzIHdvbid0IGVuZCB1cCBpbgoJICB1bmRlZmluZWQgYmVoYXZpb3VyLgoJICBUaGUgaW52YWxpZCBgdjRsMl9idWZmZXJgIEkgc2F3IGZyb20gbXkgY2FwdHVyZSBkZXZpY2Ugd2FzOgoJICBidWZmZXIgPSB7CgkgIGluZGV4ID0gMCwKCSAgdHlwZSA9IDEsCgkgIGJ5dGVzdXNlZCA9IDUzNDc0ODkyOCwgLy8gPC0gSW52YWxpZAoJICBmbGFncyA9IDgyNjAsIC8vIFY0TDJfQlVGX0ZMQUdfVElNRVNUQU1QX01PTk9UT05JQyB8IFY0TDJfQlVGX0ZMQUdfRVJST1IgfCBWNEwyX0JVRl9GTEFHX0RPTkUKCSAgZmllbGQgPSAwMTMzMCwgLy8gPC0gSW52YWxpZAoJICB0aW1lc3RhbXAgPSB7CgkgIHR2X3NlYyA9IDAsCgkgIHR2X3VzZWMgPSAwCgkgIH0sCgkgIHRpbWVjb2RlID0gewoJICB0eXBlID0gMCwKCSAgZmxhZ3MgPSAwLAoJICBmcmFtZXMgPSAwICdcMDAwJywKCSAgc2Vjb25kcyA9IDAgJ1wwMDAnLAoJICBtaW51dGVzID0gMCAnXDAwMCcsCgkgIGhvdXJzID0gMCAnXDAwMCcsCgkgIHVzZXJiaXRzID0gIlwwMDBcMDAwXDAwMCIKCSAgfSwKCSAgc2VxdWVuY2UgPSAwLAoJICBtZW1vcnkgPSAyLAoJICBtID0gewoJICBvZmZzZXQgPSAzNTM3MjE5NTg0LAoJICB1c2VycHRyID0gMTQwNzA2NjY1ODM2NTQ0LCAvLyBDb3VsZCBiZSBub25zZW5zZSwgbm90IHN1cmUKCSAgcGxhbmVzID0gMHg3ZmY4ZDJkNWIwMDAsCgkgIGZkID0gLTc1Nzc0NzcxMgoJICB9LAoJICBsZW5ndGggPSAyNzY0ODAwLAoJICByZXNlcnZlZDIgPSAwLAoJICByZXNlcnZlZCA9IDAKCSAgfQoJICBUaGlzIGlzIGZyb20gZ2RiIHdpdGggbXkgb3duIGFubm90YXRpb25zIGFkZGVkLgoJICBUaGlzIHdhcyB3aXRoIGdzdC1wbHVnaW5zLWdvb2QgMS44LjEsIGEgTWFnZXdlbGwgWEkxMDBEVVNCLUhETUkgdmlkZW8KCSAgY2FwdHVyZSBkZXZpY2UgYW5kIGtlcm5lbCAzLjEzIHVzaW5nIGEgZG9kZ3kgSERNSSBjYWJsZSB3aGljaCBpcyBncmVhdCBhdAoJICBicmVha2luZyBIRE1JIGNhcHR1cmUgZGV2aWNlcy4gIEknbSB1c2luZyBpby1tb2RlPXVzZXJwdHIgYW5kIGhhdmUgYnVpbHQKCSAgZ3N0LXBsdWdpbnMtZ29vZCB3aXRob3V0IGxpYnY0bC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTc2NQoKMjAxNi0xMC0yMCAyMDo0MTowNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFVzZSBhIGJldHRlciBkZWZhdWx0IHZhbHVlIGZvciB0aGUgbW92aWUgaGVhZGVyIHRpbWVzY2FsZQoJICBUYWtlIHRoZSBtYXhpbXVtIHZpZGVvIHRpbWVzY2FsZSwgb3IgaWYgbm8gdmlkZW8gdHJhY2sgaXMgcHJlc2VudCB0aGUKCSAgcHJldmlvdXMgdmFsdWUgb2YgMTgwMC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTA0MQoKMjAxNi0xMC0yMCAyMDowNzoxOSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEJlIG1vcmUgY2xldmVyIHdpdGggdGhlIGRlZmF1bHQgdmlkZW8gdHJhY2sgdGltZXNjYWxlCgkgIFVzZSB0aGUgbnVtYmVyIG9mIG1pbGxpZnJhbWVzIHBlciBzZWNvbmQgZm9yIGludGVncmFsIGFuZCBkcm9wLWZyYW1lCgkgIGZyYW1lcmF0ZXMsIGFzIHN1Z2dlc3RlZCBieSB0aGUgUVQgZmlsZSBmb3JtYXQgc3BlY2lmaWNhdGlvbiBhbmQgb3RoZXIKCSAgcGxhY2VzLiBXZSBhbHJlYWR5IGRpZCB0aGF0IGZvciBpbnRlZ3JhbCBmcmFtZXJhdGVzIGJlZm9yZSwgYnV0IG5vdCBmb3IKCSAgZHJvcC1mcmFtZSBmcmFtZXJhdGVzLiBUaGlzIG5vdyBrZWVwcyBwcmVjaXNpb24gYmV0dGVyLgoJICBGb3IgYWxsIG90aGVyIGZyYW1lcmF0ZXMsIGNoZWNrIGlmIGl0J3MgY2xvc2UgdG8gYSB3ZWxsLWtub3duIGZyYW1lcmF0ZQoJICBhbmQgdXNlIHRoYXQgaW5zdGVhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTA0MQoKMjAxNi0xMC0xMCAxMzowMDowMSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZXh0cmFjdCBpbnRlcmxhY2VkIGluZm9ybWF0aW9uIGZyb20ganBlZyB2aWRlbwoJICBUaGlzIGluZm9ybWF0aW9uIGlzIGhpZGRlbiBpbiBhIHNtYWxsIGNodW5rIG9mIGRhdGEuCgkgIEZvcm1hdCBmb3VuZCBhdCBodHRwczovL2RldmVsb3Blci5hcHBsZS5jb20vc3RhbmRhcmRzL3F0ZmYtMjAwMS5wZGYsCgkgIHBhZ2UgOTIsICJWaWRlbyBTYW1wbGUgRGVzY3JpcHRpb24iLCB1bmRlciB0YWJsZSAzLjEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njc3NzEKCjIwMTYtMTAtMjYgMTI6NDY6MjggKzA1MzAgIEphZ2FkaXNoIDxqYWdhZGlzaGthbWF0aGtAZ21haWwuY29tPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5jOgoJICBnZGtwaXhidWZvdmVybGF5OiBGaXhpbmcgeCBhbmQgeSBvZmZzZXQgY29tcHV0YXRpb24KCSAgV2hpbGUgY29tcHV0aW5nIHRoZSB4IGFuZCB5IG9mZnNldHMsIGl0J3MgdGhlIHZpZGVvIHJlc29sdXRpb24gYW5kCgkgIHJlc2l6ZWQgb3ZlcmxheSByZXNvbHV0aW9uIHRvIGJlIHVzZWQgaW5zdGVhZCBvZiBhY3R1YWwgb3ZlcmxheSBpbWFnZQoJICByZXNvbHR1aW9uLiBEdWUgdG8gdGhpcywgdGhlIG92ZXJsYXkgaW1hZ2UgdXNlZCB0byBnZXQgd3JvbmdseSBvdmVybGF5ZWQKCSAgaW4gdW5kZXNpcmVkIGxvY2F0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTcyOTIKCjIwMTYtMTEtMDEgMTg6MDk6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBtZXNvbi5idWlsZDoKCSAgbWVzb246IHVwZGF0ZSB2ZXJzaW9uCgoyMDE2LTEwLTI0IDE2OjU2OjMxICswMDAwICBFbnJpcXVlIE9jYcOxYSBHb256w6FsZXogPGVvY2FuaGFAaWdhbGlhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBVc2UgdGhlIHRmZHQgZGVjb2RlIHRpbWUgb24gYnl0ZSBzdHJlYW1zIHdoZW4gaXQncyBzaWduaWZpY2FudGx5IGRpZmZlcmVudCB0aGFuIHRoZSB0aW1lIGluIHRoZSBsYXN0IHNhbXBsZQoJICBXZSBjb25zaWRlciB0aGVyZSdzIGEgc2lmbmlmaWNhbnQgZGlmZmVyZW5jZSB3aGVuIGl0J3MgbGFyZ2VyIHRoYW4gb24gc2Vjb25kCgkgIG9yIHRoYW4gaGFsZiB0aGUgZHVyYXRpb24gb2YgdGhlIGxhc3QgcHJvY2Vzc2VkIGZyYWdtZW50IGluIGNhc2UgdGhlIGxhdHRlciBpcwoJICBsYXJnZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQyMzAKCj09PSByZWxlYXNlIDEuMTEuMCA9PT0KCjIwMTYtMTEtMDEgMTg6NTM6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuMTAuMCA9PT0KCjIwMTYtMTEtMDEgMTc6NTc6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjEwLjAKCjIwMTYtMTEtMDEgMTc6NDc6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTYtMTEtMDEgMTc6NDE6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9lbC5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTYtMTAtMjcgMTI6MDE6NTUgKzAyMDAgIFRvYmlhcyBTY2huZWlkZXIgPHRvYmlhcy5zY2huZWlkZXJAdm9pY2VpbnRlcmNvbm5lY3QuZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IGZpeCBleHRyYS1jb250cm9scyBsZWFrCgkgIEdzdCBzdHJ1Y3QgdjRsMm9iamVjdC0+ZXh0cmFfY29udHJvbHMgaXMgY3JlYXRlZCBpZiB1c2VyIHNldHMgYXBwcm9wcmlhdGUKCSAgb3B0aW9uIGJ1dCBpdCBpcyBub3QgZnJlZWQgb24gZGVzdHJ1Y3Rpb24gb2YgdjRsMm9iamVjdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzU4MAoKMjAxNi0xMC0zMSAxODowMDowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIFJldmVydCAic291cGh0dHBzcmM6IHJlZHVjZSByZWFkaW5nIGxhdGVuY3kgYnkgdXNpbmcgbm9uLWJsb2NraW5nIHJlYWQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgODgxNjc2NDExMjQwODc2Njg4OWM4YjY4MGEzYWY1MTExNWRmNGJmNS4KCSAgSXQgY2F1c2VzIGlzc3VlcyB3aXRoIHRoZSB0aW1lb3V0cywgYW5kIGNhdXNlcyBjb25uZWN0aW9ucyB0byBiZSBjbG9zZWQKCSAgd2l0aG91dCBhY3R1YWwgcmVhc29uLiBOZWVkcyBmdXJ0aGVyIGludmVzdGlnYXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzM1MDkKCjIwMTYtMTAtMzEgMDk6MDA6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IERvbid0IHRyeSB0byBhZGQgc3JjcGFkIGlmIHdlIGRvbid0IGtub3cgdmFsaWQgY2FwcyB5ZXQKCSAgT3RoZXJ3aXNlIHdlJ2xsIHJ1biBpbnRvIGFuIGFzc2VydGlvbiBvbiBzcGVjaWFsbHkgY3JhZnRlZCBmaWxlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzY0MwoKMjAxNi0xMC0yNyAxMToyMzo1MSArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBSZW1vdmUgdXNlbGVzc2x5IGR1cGxpY2F0ZWQgZGVwIGNoZWNrcwoJICBUaGVzZSBjaGVja3MgYXJlIGRvbmUgaW5zaWRlIHRoZSBtZXNvbi5idWlsZCBmaWxlcyBmb3IgZWFjaCBwbHVnaW4uCgoyMDE2LTEwLTI3IDExOjIyOjU5ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBkdiBwbHVnaW4gbm93IHdvcmtzIG9uIE1TVkMKCSAgTmVlZHMgYSBNZXNvbiBwYXRjaCB0byBmaWx0ZXIgb3V0IHRoZSB1c2VsZXNzIC1scHRocmVhZAoJICBodHRwczovL2dpdGh1Yi5jb20vbWVzb25idWlsZC9tZXNvbi9wdWxsLzk2MgoKMjAxNi0xMC0yNyAxNDowMzo0OCArMDIwMCAgQnJhbmtvIFN1YmFzaWMgPGJyYW5rb0BheGlzLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGFsbG93IHJlc29sdXRpb25zIGFib3ZlIDQwOTYKCSAgTW9kaWZ5IHRoZSBjYXBzIHN0cmluZyB0byBhbGxvdyB3aWR0aCBhbmQgaGVpZ2h0IGdyZWF0ZXIgdGhhbiA0MDk2LgoJICBUaGVyZSBpcyBubyBuZWVkIHRvIHJlc3RyaWN0IGl0IHNpbmNlIHRoZSBtYXRyb3NrYSBmb3JtYXQgYWxsb3dzIHRoZQoJICB3aWR0aCBhbmQgaGVpZ2h0IHZhbHVlcyB0byBiZSB1cCB0byBlaWdodCBieXRlcyBsb25nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczNTgyCgoyMDE2LTEwLTIzIDE3OjIzOjEwIC0wNzAwICBTY290dCBEIFBoaWxsaXBzIDxzY290dC5kLnBoaWxsaXBzQGludGVsLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogQ2hlY2sgZm9yIEdfUExBVEZPUk1fV0lOMzIgZm9yIHByZXNlbmNlIG9mIGlwaV9zcGVjX2Rlc3QKCSAgR19PU19XSU4zMiBpcyBvbmx5IHNldCB3aGVuIG5vdCBidWlsZGluZyB3aXRoIGN5Z3dpbiwgYnV0CgkgIGlwaV9zcGVjX2Rlc3QgaXMgbWlzc2luZyBib3RoIHdpdGggYW5kIHdpdGhvdXQgY3lnd2luLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczMTE0CgoyMDE2LTEwLTI2IDA4OjUxOjQwICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiByZXNldCByZWFkX3Bvc2l0aW9uIHdoZW4gcmVhZGluZyBmYWlscwoJICBzb3VwaHR0cHNyYyBtYWludGFpbnMgdHdvIHZhcmlhYmxlcyBmb3IgdGhlIHBvc2l0aW9uOgoJICAqICdyZXF1ZXN0X3Bvc2l0aW9uJyBpcyB3aGVyZSB3ZSB3YW50IHRvIGJlCgkgICogJ3JlYWRfcG9zaXRpb24nIGlzIHdoZXJlIHdlIGFyZQoJICBEdXJpbmcgTm9ybWFsIG9wZXJhdGlvbnMgYm90aCBhcmUgdXBkYXRlZCBpbiBzeW5jIHdoZW4gZGF0YSBhcnJpdmVzLiBBIHNlZWsKCSAgY2hhbmdlcyAncmVxdWVzdF9wb3NpdGlvbicgYnV0IG5vdCAncmVhZF9wb3NpdGlvbicuCgkgIFdoZW4gdGhlIHR3byBwb3NpdGlvbnMgZ2V0IG91dCBvZiBzeW5jLCB0aGVuIGEgbmV3IHJlcXVlc3QgaXMgc2VuZCBhbmQgdGhlCgkgICdSYW5nZScgaGVhZGVyIGlzIGFkanVzdGVkIHRvIHRoZSBjdXJyZW50ICdyZXF1ZXN0X3Bvc2l0aW9uJy4KCSAgV2l0aG91dCB0aGlzIHBhdGNoLCBpZiByZWFkaW5nIGZhaWxzLCB0aGVuIHRoZSBzb3VyY2UgaXMgZGVzdHJveWVkLiBUaGlzCgkgIHRyaWdnZXJzIGEgbmV3IHJlcXVlc3QsIGJ1dCB0aGUgcmFuZ2UgcmVtYWlucyB1bmNoYW5nZWQuIEFzIGEgcmVzdWx0LCB0aGUKCSAgb2xkIHJhbmdlIGlzIHVzZWQgYW5kIG9sZCBkYXRhIHdpbGwgYmUgcmVhZC4KCSAgQ2hhbmdpbmcgdGhlICdyZWFkX3Bvc2l0aW9uJyB0byAtMSBtYWtlcyBpdCBleHBsaWNpdGx5IGRpZmZlcmVudCBmcm9tCgkgICdyZXF1ZXN0X3Bvc2l0aW9uJyBhbmQgYXMgYSByZXN1bHQgdGhlICdSYW5nZScgaGVhZGVyIGlzIHVwZGF0ZWQgY29ycmVjdGx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczNTA5CgoyMDE2LTEwLTI1IDA4OjU0OjM0IC0wNzAwICBTY290dCBEIFBoaWxsaXBzIDxzY290dC5kLnBoaWxsaXBzQGludGVsLmNvbT4KCgkqIG1lc29uLmJ1aWxkOgoJICBtZXNvbjogRG9uJ3QgZGVwZW5kIG9uIGdzdHJlYW1lci1jaGVjay0xLjAgb24gd2luZG93cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczMTE0CgoyMDE2LTEwLTI1IDE1OjI0OjIwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHJlc2V0IGNvbm5lY3Rpb24gaW5mbyB0byBub24tZmx1c2hpbmcgd2hlbiBjbG9zaW5nCgkgIFRoaXMgc29sdmVzIGEgaGFuZ2luZyBtYWlubG9vcCBpbiBmb2xsb3dpbmcgc2NlbmFyaW86CgkgICogY29ubmVjdCB0byBzb3VyY2UKCSAgKiBuZXR3b3JrL3NlcnZlciBkcm9wcwoJICAqIHBpcGVsaW5lIHNldCB0byBOVUxMIChhbmQgY29ubmVjdGlvbiB0byBmbHVzaGluZyBhcyBwYXJ0KQoJICAqIHBpcGVsaW5lIHNldCB0byBQQVVTRUQvUExBWUlORyAoY29ubmVjdGlvbiB0byBub24tZmx1c2hpbmcsIGJ1dCBub3QgcmVjb3JkZWQpCgkgICogW2Nvbm5lY3Rpbmcgc3RpbGwgbm90IHBvc3NpYmxlXQoJICAqIHBpcGVsaW5lIHNldCB0byBOVUxMID0+IG1haW5sb29wIGhhbmdzIChzaW5jZSBubyBhY3R1YWwgZmx1c2hpbmcgaXMgZG9uZSkKCjIwMTYtMTAtMjYgMTQ6MzI6NDggKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuaDoKCSAgc3BsaXRtdXhzaW5rOiBPbmx5IGFsbG93IG9uZSB2aWRlbyByZXF1ZXN0IHBhZAoJICBUaGUgcGFjaW5nIG9mIHRoZSBvdmVyYWxsIG11eGluZyBpcyBjb250cm9sbGVkCgkgIGJ5IHRoZSB2aWRlbyBHT1BzIGFycml2aW5nLCBzbyB3ZSBjYW4gb25seSBoYW5kbGUKCSAgMSB2aWRlbyBzdHJlYW0sIGFuZCB0aGUgcmVxdWVzdCBwYWQgaXMgbmFtZWQgYWNjb3JkaW5nbHkuCgkgIElnbm9yZSBhIHJlcXVlc3QgZm9yIGEgMm5kIHZpZGVvIHBhZCBpZiB0aGVyZSdzIGFscmVhZHkKCSAgYW4gYWN0aXZlIG9uZS4KCjIwMTYtMTAtMjYgMTE6NTk6MzIgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW5rOiBUYWtlIG93bmVyc2hpcCBvZiBmbG9hdGluZyByZWZzCgkgIHNpbmsgdGhlIGZsb2F0aW5nIHJlZiB3aGVuIGhhbmRlZCBhIG11eGVyIG9yIHNpbmsgdG8gdXNlIHNvCgkgIHdlIGNsZWFybHkgdGFrZSBvd25lcnNoaXAuCgoyMDE2LTEwLTI1IDE0OjUxOjUyICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4c2luazogU2V0IGNoaWxkIGVsZW1lbnRzIHRvIE5VTEwgd2hlbiByZW1vdmluZy4KCSAgTWFrZSBzdXJlIHRoYXQgZWxlbWVudHMgYXJlIGluIHRoZSBOVUxMIHN0YXRlIHdoZW4gcmVtb3ZpbmcuCgkgIEZpeGVzIGNyaXRpY2FsIHdhcm5pbmdzIHdoZW4gZXJyb3JzIG9jY3VyIGVhcmx5IG9uIGluIHN0YXJ0aW5nIHVwLgoKMjAxNi0xMC0yNSAxNDo1MDo1MyArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IFNldCBwYWQgdGVtcGxhdGUgb24gcmVxdWVzdCBzaW5rIHBhZHMKCSAgRW5zdXJlIHRoYXQgdGhlIGdob3N0IHBhZCByZXR1cm5lZCBhcyBhIHJlcXVlc3QgcGFkCgkgIGhhcyB0aGUgdGVtcGxhdGUgdGhhdCB3YXMgcmVxdWVzdGVkCgoyMDE2LTEwLTI1IDEwOjUwOjQ3ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBtZXNvbi5idWlsZDoKCSogdGVzdHMvY2hlY2svbWVzb24uYnVpbGQ6CgkgIFJldmVydCAibWVzb246IG1vdmUgZ3N0cmVhbWVyLWNoZWNrLTEuMCBkZXBlbmRlbmN5IHRvIHRlc3RzL2NoZWNrIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDQ2NjMyNjk0NjYyYjk2ZmRkYjg0OGExZjIwOTFhMjE1YjI4YTJkMzUuCgkgIERvZXMgbm90IGFjdHVhbGx5IHdvcmsuIFNlZToKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzExNCNjMzEKCjIwMTYtMDYtMDggMTE6MjQ6MzcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogQXNzdW1lIFBUUyBpcyBEVFMgd2hlbiBQVFMgaXMgbWlzc2luZwoJICBUaGlzIGZpeGVzIGlzc3VlIGZvciBlbmNvZGVycyB0aGF0IG9ubHkgc2V0cyB0aGUgRFRTLiBXZSBhc3N1bWUgdGhhdAoJICB0aGVyZSB3YXMgbm8gcmUtb3JkZXJpbmcgd2hlbiB0aGF0IGhhcHBlbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIyMDcKCjIwMTYtMTAtMjQgMDA6MzQ6MTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9tZXNvbi5idWlsZDoKCSAgbWVzb246IGZpeCBidWlsZCBvdXRzaWRlIG9mIGdzdC1hbGwKCjIwMTYtMTAtMjEgMDA6NDI6NTQgLTA3MDAgIFNjb3R0IEQgUGhpbGxpcHMgPHNjb3R0LmQucGhpbGxpcHNAaW50ZWwuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL21lc29uLmJ1aWxkOgoJICBtZXNvbjogZGlyZWN0c291bmQ6IEFkZCBvbGUzMiBsaWJyYXJ5IGRlcGVuZGVuY3kKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzExNAoKMjAxNi0xMC0yMSAwMDo0MjoxOCAtMDcwMCAgU2NvdHQgRCBQaGlsbGlwcyA8c2NvdHQuZC5waGlsbGlwc0BpbnRlbC5jb20+CgoJKiBtZXNvbi5idWlsZDoKCSogdGVzdHMvY2hlY2svbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBtb3ZlIGdzdHJlYW1lci1jaGVjay0xLjAgZGVwZW5kZW5jeSB0byB0ZXN0cy9jaGVjawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczMTE0CgoyMDE2LTEwLTIwIDIyOjA4OjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9taXhlci5jOgoJICB0ZXN0czogdmlkZW9taXhlcjogZGlzYWJsZSByYWN5IGZsdXNoX3N0YXJ0X2ZsdXNoX3N0b3AgdGVzdAoJICBJdCdzIGJlZW4gYnJva2VuIGZvciB5ZWFycywgYW5kIGl0J3MgdW5saWtlbHkgaXQgd2lsbCBldmVyCgkgIGJlIGZpeGVkIGZvciBjb2xsZWN0cGFkcy92aWRlb21peGVyIG5vdyB0aGF0IHRoZXJlJ3MgY29tcG9zaXRvcgoJICB3aGljaCB3b3JrcyBmaW5lLiBTbyBsZXQncyBkaXNhYmxlIGl0LCBzaW5jZSBhbGwgaXQgZG9lcwoJICBpcyB0aGF0IGl0IGNyZWF0ZXMgbm9pc2UgdGhhdCBkaXN0cmFjdHMgZnJvbSBvdGhlciBmYWlsdXJlcy4KCSAgQWxzbyBzZWUgdGhlIGNvcnJlc3BvbmRpbmcgYWRkZXIgYnVnIGFzIGl0IGZhaWxlZCBpbiB0aGUgc2FtZSB3YXk6CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDg4OTEKCjIwMTYtMTAtMDkgMTY6NTY6MTAgKzAyMDAgIEphbiBBbGV4YW5kZXIgU3RlZmZlbnMgKGhlZnRpZykgPGphbi5zdGVmZmVuc0BnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICB0ZXN0czogRml4IHNvdXBodHRwc3JjIHRlc3RzIHdpdGhvdXQgQ0tfRk9SSz1ubwoJICBJdCBzZWVtcyB0aGF0IHRoZSBmb3JrZWQgcHJvY2Vzc2VzIGFsbCBhdHRlbXB0IHRvIGhhbmRsZSB0aGUgbGlzdGVuaW5nCgkgIHNvY2tldCBmcm9tIHRoZSBzZXJ2ZXIsIGFuZCBvbmx5IG9uZSBoYXMgdG8gc2h1dGRvd24gdGhlIHNvY2tldCB0byBicmVhawoJICB0aGUgc2VydmVyIGNvbXBsZXRlbHkuCgkgIENyZWF0ZSBhIG5ldyBzZXJ2ZXIgaW5zaWRlIGVhY2ggdGVzdCB0byBhdm9pZCB0aGlzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcyNjU2CgoyMDE2LTEwLTA5IDE1OjIzOjUxICswMjAwICBKYW4gQWxleGFuZGVyIFN0ZWZmZW5zIChoZWZ0aWcpIDxqYW4uc3RlZmZlbnNAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSAgdGVzdHM6IEZpeCBsZXZlbCB0ZXN0IGluIENLX0ZPUks9bm8gbW9kZQoJICBUaGUgdGVzdHMgYWNjdW11bGF0ZSBidWZmZXJzIGluIEdzdENoZWNrJ3MgYnVmZmVycyBsaXN0LCBhbmQgdGhlIGxpc3QgaXMKCSAgbm90IChjb25zaXN0ZW50bHkpIHJlc2V0IGJldHdlZW4gdGVzdHMuIERvIHRoYXQgYW5kIHJlbW92ZSB0aGUgbm93CgkgIGNvbmZsaWN0aW5nIHVucmVmcyBmb3Igb3V0YnVmZmVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MjY0NAoKMjAxNi0xMC0wNyAxMzowNDoyNyArMDUzMCAgR2F1cmF2IEd1cHRhIDxnLmd1cHRhQHNhbXN1bmcuY29tPgoKCSogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5jOgoJICB3YXZlZm9ybXNpbms6IEZpeCBNZW1vcnkgbGVhayB1c2luZyBHU1RfUFRSX0ZPUk1BVAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcyNDk3CgoyMDE2LTEwLTE4IDEyOjIzOjQyICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbW9ub3Njb3BlL21lc29uLmJ1aWxkOgoJICBtZXNvbjogQWRkIG1pc3NpbmcgZ3N0YXVkaW8gZGVwIHRvIG1vbm9zY29wZQoJICBJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vc3VicHJvamVjdHMvZ3N0LXBsdWdpbnMtZ29vZC9nc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOjQyOjA6CgkgIC4uL3N1YnByb2plY3RzL2dzdC1wbHVnaW5zLWJhc2UvZ3N0LWxpYnMvZ3N0L2F1ZGlvL2F1ZGlvLmg6MjY6Mzk6IGZhdGFsIGVycm9yOiBnc3QvYXVkaW8vYXVkaW8tZW51bXR5cGVzLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKCSAgI2luY2x1ZGUgPGdzdC9hdWRpby9hdWRpby1lbnVtdHlwZXMuaD4KCSAgXgoJICBjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgoJICBodHRwczovL2NpLmdzdHJlYW1lci5uZXQvam9iL0dTdHJlYW1lci1tYXN0ZXItbWVzb24vMjcxL2NvbnNvbGUKCjIwMTYtMTAtMTYgMDI6MTg6MjIgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBBZGQgbWlzc2luZyBwYnV0aWxzIGRlcGVuZGVuY3kgdG8gbXVsdGlmaWxlCgkgIEZvdW5kIHZpYSB0aGUgSmVua2lucyBDSToKCSAgRkFJTEVEOiBzdWJwcm9qZWN0cy9nc3QtcGx1Z2lucy1nb29kL2dzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlQHNoYS9nc3RzcGxpdG11eHNpbmsuYy5vCgkgIFsuLi5dCgkgIEluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9zdWJwcm9qZWN0cy9nc3QtcGx1Z2lucy1nb29kL2dzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmg6MjQ6MCwKCSAgZnJvbSAuLi9zdWJwcm9qZWN0cy9nc3QtcGx1Z2lucy1nb29kL2dzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6NTk6CgkgIC4uL3N1YnByb2plY3RzL2dzdC1wbHVnaW5zLWJhc2UvZ3N0LWxpYnMvZ3N0L3BidXRpbHMvcGJ1dGlscy5oOjMwOjQzOiBmYXRhbCBlcnJvcjogZ3N0L3BidXRpbHMvcGJ1dGlscy1lbnVtdHlwZXMuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQoJICAjaW5jbHVkZSA8Z3N0L3BidXRpbHMvcGJ1dGlscy1lbnVtdHlwZXMuaD4KCSAgXgoJICBjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgoJICBodHRwczovL2NpLmdzdHJlYW1lci5uZXQvam9iL0dTdHJlYW1lci1tYXN0ZXItbWVzb24vMjYzL2NvbnNvbGUKCjIwMTYtMTAtMTUgMjI6MTE6MDggKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIG1lc29uLmJ1aWxkOgoJICBtZXNvbjogRG9uJ3Qgc2V0IGNfc3RkIHRvIGdudTk5CgkgIFVzZSB0aGUgZGVmYXVsdCBmb3IgZWFjaCBjb21waWxlciBvbiBldmVyeSBwbGF0Zm9ybSBpbnN0ZWFkLiBUaGlzCgkgIGltcHJvdmVzIG91ciBjb21wYXRpYmlsaXR5IHdpdGggY29tcGlsZXJzIHRoYXQgZG9uJ3QgaGF2ZSBnbnU5OSBhcwoJICBhIGNfc3RkLgoKMjAxNi0xMC0wNCAxODowNDoxMSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBvc2cuc2Ftc3VuZy5jb20+CgoJKiBtZXNvbi5idWlsZDoKCSogdGVzdHMvY2hlY2svZ2V0cGx1Z2luc2RpcjoKCSogdGVzdHMvY2hlY2svbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBNYWtlIHVzZSBvZiBuZXcgZW52aXJvbm1lbnQgb2JqZWN0IGFuZCBzZXQgcGx1Z2luIHBhdGggdG8gYnVpbGRkaXIKCSAgV29ya2Fyb3VuZCBzb3VyY2Vfcm9vdCBiZWluZyB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgYWxsIHByb2plY3RzIGluIHRoZSBzdWJwcm9qZWN0CgkgIGNhc2UgYW5kIHJlbW92ZSBub3cgdW5uZWVkZWQgZ2V0cGx1Z2luc2RpcgoJICBCdW1wIG1lc29uIHJlcXVpcmVtZW50IHRvIDAuMzUKCjIwMTYtMTAtMDYgMTE6MTU6NTQgKzA1MzAgIEdhdXJhdiBHdXB0YSA8Zy5ndXB0YUBzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtcnRwYXV4LmM6CgkgIHRlc3RzOiBGaXggbWVtb3J5IGxlYWsgaW4gdGVzdCBydHBhdXggdGVzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcyNDk2CgoyMDE2LTEwLTAzIDExOjI3OjU0ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IEZvcndhcmQgbGF0ZW5jeSBxdWVyaWVzIHRvIHVwc3RyZWFtCgkgIFdpdGhvdXQgdGhpcywgbGF0ZW5jeSBxdWVyaWVzIHRvIGltYWdlZnJlZXplIHdpbGwgZmFpbC4KCjIwMTYtMDktMzAgMTE6MzU6MzkgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAb3NnLnNhbXN1bmcuY29tPgoKCSogaG9va3MvcHJlLWNvbW1pdC5ob29rOgoJKiBtZXNvbi5idWlsZDoKCSogdGVzdHMvY2hlY2svZ2V0cGx1Z2luc2RpcjoKCSAgbWVzb246IFNldHVwIHByZSBjb21taXQgaG9vayBhbmQgZml4IGdldHBsdWdpbnNkaXIgZm9yIHN0YW5kYWxvbmUgY2FzZQoKMjAxNi0wOS0yOSAwNDo1NToxNCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c3JjLmM6CgkgIHNwbGl0bXV4c3JjOiBIYW5kbGUgc3RvcCBwb2ludCBmcm9tIHNlZ21lbnQKCSAgSWYgdGhlIHNlZWsgc3RvcCBwb2ludCAob3Igc3RhcnQsIGR1cmluZyByZXZlcnNlIHBsYXkpCgkgIHdhcyB3aXRoaW4gdGhlIHNlZ21lbnQgd2UganVzdCBmaW5pc2hlZCwgZ28gRU9TIGltbWVkaWF0ZWx5CgkgIGluc3RlYWQgb2YgcHJvY2VlZGluZyB0aHJvdWdoIGFsbCBvdGhlciBwYXJ0cyBhbmQgc2VuZGluZwoJICAwIGxlbmd0aCBzZWVrcyB0byB0aGVtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcyMTM4CgoyMDE2LTA5LTI5IDAzOjIxOjI2ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzcmMuYzoKCSAgc3BsaXRtdXhzcmM6IERyb3AgbG9jayBzaHV0dGluZyBkb3duIHBhZHMKCSAgQXZvaWQgYSBzcG9yYWRpYyBkZWFkbG9jayBvbiBzaHV0ZG93biBieSBkcm9wcGluZwoJICB0aGUgc3BsaXRtdXggbG9jayBhcm91bmQgcGFkIHNodXRkb3duCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzIxMzgKCjIwMTYtMDktMjkgMDI6NDc6MzYgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHBhcnRyZWFkZXIuYzoKCSAgc3BsaXRtdXhzcmM6IEZpeCBleHRyYSB1bnJlZiBoYW5kbGluZyBxdWVyaWVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzIxMzgKCjIwMTYtMDktMjkgMDQ6NTA6MjUgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHBhcnRyZWFkZXIuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHBhcnRyZWFkZXIuaDoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNyYy5jOgoJICBzcGxpdG11eHNyYzogQXZvaWQgc3RhbGwgd2hlbiBwYXJ0cyBnZXQgb3V0IG9mIHN5bmMKCSAgV2hlbiBvbmUgcGFydCBtb3ZlcyBhaGVhZCBvZiB0aGUgb3RoZXJzIC0gZHVlIHRvIGV4Y2Vzc2l2ZQoJICBkb3duc3RyZWFtIHF1ZXVlaW5nLCBvciByZWFsbHkgc21hbGwgaW5wdXQgZmlsZXMgLSB0aGVuCgkgIHdlIGNhbiBlbmQgdXAgYWN0aXZhdGluZyBwYXJ0cyBtb3JlIHRoYW4gb25jZS4gVGhhdCBjYW4gbGVhZCB0bwoJICBlZmZlY3RzIGxpa2Ugc2h1dHRpbmcgZG93biBwYWQgdGFza3MgcHJlbWF0dXJlbHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzIxMzgKCjIwMTYtMDktMzAgMTE6NDE6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBtZXNvbi5idWlsZDoKCSAgbWVzb246IHVwZGF0ZSB2ZXJzaW9uCgo9PT0gcmVsZWFzZSAxLjkuOTAgPT09CgoyMDE2LTA5LTMwIDEzOjAyOjE5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjkuOTAKCjIwMTYtMDktMzAgMTI6MTc6MjYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTYtMDktMzAgMTE6NDM6NTQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9lbC5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTYtMDktMzAgMTM6MjI6MzIgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5Ab3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJICB0ZXN0czogRml4IHRhZ3NjaGVja2luZyBmYWlsdXJlIGR1ZSB0byBtaXNzaW5nIFBUUwoJICBxdG11eCBub3cgbmVlZHMgdGhlIFBUUyAoY29tbWl0IGE5OTM4ODNiNyksIHNvIGxldCdzIG1ha2Ugc3VyZSB3ZQoJICBwcm9kdWNlIG9uZSB3aXRoIG91ciBidWZmZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcyMjI4CgoyMDE2LTA5LTI4IDIzOjAzOjU4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogRG9uJ3QgY2FsY3VsYXRlIFBUUyBvZmZzZXQgYW5kIERUUyB3aXRoIEdTVF9DTE9DS19USU1FX05PTkUKCSAgSnVzdCBlcnJvciBvdXQgaWYgdGhlcmUgaXMgbm8gdmFsaWQgUFRTLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcyMTQzCgoyMDE2LTA5LTI5IDE3OjM3OjI4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X3R5cGVzLmM6CgkgIHF0ZGVtdXg6IEFkZCBKUEVHMjAwMCBpaGRyIGF0b20gdG8gdGhlIGxpc3Qgb2Yga25vd24gb25lcwoJICBPdGhlcndpc2UgcXRkZW11eCBpcyBhbHdheXMgZ29pbmcgdG8gY29tcGxhaW4gYWJvdXQgaXQgYmVpbmcgdW5rbm93bi4KCjIwMTYtMDktMjkgMTA6MTk6NTYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBBbHdheXMgd3JpdGUgdGhlIGRlZmF1bHQgZnJhbWUgZHVyYXRpb24gZm9yIFZQOC85IHRvbwoJICBUaGUgV2ViTSBzcGVjIGFsbG93cyB0aGlzIG5vdywgYW5kIGl0IGFsbG93cyB1cyB0byBndWVzcyBhIGZyYW1lcmF0ZS4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzIxNDEgYW5kCgkgIGFsc28gaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDM3OQoKMjAxNi0wOS0yNyAxNToyNjoxOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cGgyNls0NV1kZXBheTogRG9uJ3QgaGFuZGxlIE5BTHMgaW5zaWRlIFNUQVAgdW5pdHMgdHdpY2UKCSAgVGhleSd2ZSBhbHJlYWR5IGJlZW4gaGFuZGxlZCBiZWZvcmUgcHVzaGluZyB0aGVtIGludG8gdGhlIGFkYXB0ZXIuCgoyMDE2LTA5LTI3IDEyOjM5OjEyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svbWVzb24uYnVpbGQ6CgkgIG1lc29uOiB0ZXN0czogZml4IHZwOCBhdmFpbGFiaWxpdHkgY2hlY2tzCgkgIFRob3NlIHZhcmlhYmxlcyBhcmUgbm90IGRlZmluZWQgaWYgdnA4IHdhcyBub3QgZm91bmQuCgoyMDE2LTA5LTI3IDEwOjIzOjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIFJldmVydCAibXVsdGlmaWxlc2luazogc3RyZWFtbGluZSB0aGUgZmlsZS1zd2l0Y2ggY29kZSBhIGJpdCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBmMWNlYWFiMDJmM2Y1NTdlMjNiNzdiMTQ3NzFhNTc1Nzg4ZjkyYmI0LgoJICBUaGlzIGJyb2tlIGF0b21pYyBmaWxlIHdyaXRlcyBpbiAiYnVmZmVyIiBtb2RlLiBJdCBkaWQgbWFrZQoJICBzdXJlIHRoYXQgYW55IHN0cmVhbWhlYWRlcnMgYXJlIHByZXBlbmRlZCB0byBlYWNoIGZpbGUgaW4KCSAgYnVmZmVyIG1vZGUgYXMgd2VsbCwgYnV0IHRoYXQncyBub3QgcmVhbGx5IG5lZWRlZCBpbiBwcmFjdGljZSwKCSAgd2hlcmVhcyBhdG9taWMgZmlsZSB3cml0ZXMgYXJlLCBzbyBsZXQncyByZXN0b3JlIHRoZSBzdGF0dXMKCSAgcXVvIGFudGUgZm9yIG5vdyBzaW5jZSB0aGlzIHdhcyBwcmltYXJpbHkgYSBjb2RlIGNsZWFudXAgYW55d2F5LAoJICBhbmQgaWYgYW55b25lIG5lZWRzIHRvIHN0cmVhbWhlYWRlcnMgaW4gYnVmZmVyIG1vZGUgdG9vIHRoZXkKCSAgY2FuIG1ha2UgYSBwYXRjaCB0byBpbXBsZW1lbnQgdGhhdCBkaWZmZXJlbnRseS4gUmUtaW1wbGVtZW50aW5nCgkgIHRoZSBhdG9taWMgd3JpdGVzIGluIHRoZSBlbGVtZW50IGFsc28gc2VlbXMgd2F5IHRvbyBtdWNoIHdvcmsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY5OTAKCjIwMTYtMDktMjcgMTA6MjI6NTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgUmV2ZXJ0ICJtdWx0aWZpbGVzaW5rOiBjbG9zZSBmaWxlIG9uIHdyaXRlIGVycm9yIHdpdGggbmV4dC1maWxlIG1vZGUgaXMgc2V0IHRvIGJ1ZmZlciIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA4NGU0NDFkMjY4NWNmMjIzZDM0OGE5NWJlMGM1YmE2OTNiYmY2NjI0LgoJICBUaGlzIHdpbGwgbm8gbG9uZ2VyIGJlIG5lZWRlZCBvbmNlIHdlIHJldmVydCBmMWNlYWFiMDIuCgoyMDE2LTA5LTI2IDEzOjIyOjI5IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL21lc29uLmJ1aWxkOgoJICBtZXNvbjogQWRkIGdzdC1wbHVnaW5zLWJhc2UgcGx1Z2lucyBkaXJlY3RvcmllcyB0byBiZSB1c2VkIGJ5IHRlc3RzCgoyMDE2LTA5LTI2IDE0OjMwOjAwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3ZweC9tZXNvbi5idWlsZDoKCSogbWVzb24uYnVpbGQ6CgkqIHRlc3RzL2NoZWNrL2dldHBsdWdpbnNkaXI6CgkqIHRlc3RzL2NoZWNrL21lc29uLmJ1aWxkOgoJICBtZXNvbjogYWRkIHVuaXQgdGVzdHMKCSAgT25seSB3b3JrcyBwcm9wZXJseSBpbiBhbiBpbnN0YWxsZWQgc2V0dXAgY3VycmVudGx5LCBtb3N0CgkgIGxpa2VseSB3b24ndCB3b3JrIHdpdGggYSBzdWJwcm9qZWN0cyBzZXR1cCB5ZXQuCgoyMDE2LTA5LTI0IDA5OjM2OjI0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogbWVzb24uYnVpbGQ6CgkqIHBvL21lc29uLmJ1aWxkOgoJICBtZXNvbjogaG9vayB1cCB0cmFuc2xhdGlvbnMKCjIwMTYtMDktMDggMTc6MzA6NDEgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogRG9uJ3QgbmVnb3RpYXRlIHRvIGxlc3MgdGhhbiB0d28gc2VnbWVudHMKCSAgR3N0QXVkaW9SaW5nQnVmZmVyIGRvZXNuJ3QgbmVlZHMgdXMgdG8gaGF2ZSBhdCBsZWFzdCAyIHNlZ21lbnRzLiBXZSBtYWtlCgkgIHN1cmUgdGhhdCBpZiBvdXIgYnVmZmVyIHBhcmFtZXRlcnMgYXJlIHN1Y2ggdGhhdCB0aGUgbWF4bGVuZ3RoIGlzIG5vdCBhdAoJICBsZWFzdCAyeCBmcmFnc2l6ZSwgd2Ugc3RpbGwgcmVxdWVzdCB0aGUgcmluZ2J1ZmZlciB0byBrZWVwIHRoYXQgbXVjaAoJICBzcGFjZSBzbyBpdCBjb250aW51ZXMgdG8gd29yay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MDQ0NgoKMjAxNi0wOS0yNCAyMzoyMjowMSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBhcnVucmFnaGF2YW4ubmV0PgoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuaDoKCSAgcnRwc2JjcGF5OiBGaXggdGltZXN0YW1waW5nCgkgIFdlIHdlcmUganVzdCBwaWNraW5nIHRoZSB0aW1lc3RhbXAgb2YgdGhlIGxhc3QgYnVmZmVyIHB1c2hlZCBpbnRvIG91cgoJICBhZGFwdGVyIGJlZm9yZSB3ZSBoYWQgZW5vdWdoIGRhdGEgdG8gcHVzaCBvdXQuCgkgIFRoaXMgZml4ZXMgdGhpbmdzIHRvIGZpZ3VyZSBvdXQgaG93IGxhcmdlIGVhY2ggZnJhbWUgaXMgYW5kIHdoYXQKCSAgZHVyYXRpb24gaXQgY292ZXJzLCBzbyB3ZSBjYW4gc2V0IGJvdGggdGhlIHRpbWVzdGFtcCBhbmQgZHVyYXRpb24KCSAgY29ycmVjdGx5LgoJICBBbHNvIGFkZHMgc29tZSBESVNDT05UIGhhbmRsaW5nLgoKMjAxNi0wNy0xMiAxODoxNDo1MiArMDIwMCAgR2VvcmcgTGlwcGl0c2NoIDxnbGlwcGl0c2NoQHRvb2xzb25haXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogRml4IGZvdXJjYyBmb3IgUHJvUmVzIFByb3h5CgkgIFRoaXMgaXMgYXBjbywgYWNjb3JkaW5nIHRvCgkgIGh0dHBzOi8vd2lraS5tdWx0aW1lZGlhLmN4L2luZGV4LnBocD90aXRsZT1BcHBsZV9Qcm9SZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTA0OAoKMjAxNi0wOS0xOCAyMDo1NTozMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92cHgvbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBmaXggYnVpbGQgd2l0aCB2cHggMS4zLngKCSAgdnB4ID49IDEuNC4wIGlzIG9wdGlvbmFsCgoyMDE2LTA5LTE1IDE4OjE5OjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBVc2UgbmV3IGJpbiBzdXBwcmVzc2VkIGZsYWdzIEFQSSBmb3IgbWFuYWdpbmcgdGhlIGVsZW1lbnQgZmxhZ3MKCjIwMTYtMDktMTUgMDk6NTI6MzEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzoKCSogZ3N0L3J0cC9kYm9vbGh1ZmYuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIGV4dCwgZ3N0OiBmaXggaW5kZW50YXRpb24KCjIwMTYtMDktMTUgMDk6NTI6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbHZtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaDI2My5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwc2Vzc2lvbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHB2cDkuYzoKCSAgdGVzdHM6IGZpeCBpbmRlbnRhdGlvbgoKMjAxNi0wOC0xMSAxMTowNDoyMiAtMDYwMCAgVGhvbWFzIEJsdWVtZWwgPHRibHVlbWVsQGNvbnRyb2w0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IEZpeCBjYWxjdWxhdGluZyBuZXh0X3NlcW51bSB3aGVuIGRyb3BwaW5nIG9sZCBidWZmZXJzIGZyb20gYSBmdWxsIHF1ZXVlLgoJICBGaXhlcyBjYWxjdWxhdGluZyB0aGUgbmV4dCBzZXF1ZW5jZSBudW1iZXIgd2hlbiBhIElURU1fVFlQRV9MT1NUIHdpdGggbW9yZSB0aGFuIG9uZQoJICBkZWZpbml0ZWx5IGxvc3QgcGFja2V0cyBpcyBlbmNvdW50ZXJlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTc1NwoKMjAxNi0wOC0xMSAyMzowNzo0NCArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGltcHJvdmVkIHJ0eC1ydHQgYXZlcmFnaW5nCgkgIFRoZSBiYXNpYyBpZGVhIGlzIHRoaXM6CgkgIDEuIEZvciAqbGFyZ2VyKiBydHgtcnR0LCB3ZWlnaCBhIG5ldyBtZWFzdXJlbWVudCBhcyBiZWZvcmUKCSAgMi4gRm9yICpzbWFsbGVyKiBydHgtcnR0LCBiZSBhIGJpdCBtb3JlIGNvbnNlcnZhdGl2ZSBhbmQgd2VpZ2ggYSBiaXQgbGVzcwoJICAzLiBGb3IgdmVyeSBsYXJnZSBtZWFzdXJlbWVudHMsIGNvbnNpZGVyIHRoZW0gIm91dGxpZXJzIgoJICBhbmQgY291bnQgdGhlbSBhIGxvdCBsZXNzCgkgIFRoZSBpZGVhIGJlaW5nIHRoYXQgcmVkdWNpbmcgdGhlIHJ0eC1ydHQgaXMgbXVjaCBtb3JlIGhhcm1mdWwgdGhlbgoJICBpbmNyZWFzaW5nIGl0LCBzaW5jZSB3ZSBkb24ndCB3YW50IHRvIGJlIHVuZGVyZXN0aW1hdGluZyB0aGUgcnR0IG9mIHRoZQoJICBuZXR3b3JrLCBhbmQgd2hlbiB1c2luZyB0aGlzIG51bWJlciB0byBlc3RpbWF0ZSB0aGUgbGF0ZW5jeSB5b3UgbmVlZCBmb3IKCSAgeW91IGppdHRlcmJ1ZmZlciwgeW91IHdvdWxkIHJhdGhlciB3YW50IGl0IHRvIGJlIGEgYml0IGxhcmdlciB0aGVuIGEgYml0CgkgIHNtYWxsZXIsIHBvdGVudGlhbGx5IGxvc2luZyBydHgtcGFja2V0cy4gVGhlICJvdXRsaWVyLWRldGVjdG9yIiBpcyB0aGVyZQoJICB0byBwcmV2ZW50IGEgc2luZ2xlIHNrZXdlZCBtZWFzdXJlbWVudCB0byBhZmZlY3QgdGhlIG91dGNvbWUgdG9vIG11Y2guCgkgIE9uIHdpcmVsZXNzIG5ldHdvcmtzLCB0aGVzZSBhcmUgc3VycHJpc2luZ2x5IGNvbW1vbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTc2OAoKMjAxNi0wOC0wNSAxMjo1MTo1OSArMDIwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbkBwZXhpcC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogRGV0ZWN0IHdoZXRoZXIgdG8gYXNzdW1lIGVxdWlkaXN0YW50IHNwYWNpbmcgd2hlbiBsb3NzCgkgIEFzc3VtaW5nIGVxdWlkaXN0YW50IHBhY2tldCBzcGFjaW5nIHdoZW4gdGhhdCdzIG5vdCB0cnVlIGxlYWRzIHRvIG1vcmUKCSAgbG9zcyB0aGFuIG5lY2Vzc2FyeSBpbiB0aGUgY2FzZSBvZiByZW9yZGVyaW5nIGFuZCBqaXR0ZXIuIFR5cGljYWxseSB0aGlzCgkgIGlzIHRydWUgZm9yIHZpZGVvIHdoZXJlIG9uZSBmcmFtZSBvZnRlbiBjb25zaXN0cyBvZiBtdWx0aXBsZSBwYWNrZXRzCgkgIHdpdGggdGhlIHNhbWUgcnRwIHRpbWVzdGFtcC4gSW4gdGhpcyBjYXNlIGl0J3MgYmV0dGVyIHRvIGFzc3VtZSB0aGF0IHRoZQoJICBtaXNzaW5nIHBhY2tldHMgaGF2ZSB0aGUgc2FtZSB0aW1lc3RhbXAgYXMgdGhlIGxhc3QgcmVjZWl2ZWQgcGFja2V0LCBzbwoJICB0aGF0IHRoZSBzY2hlZHVsZWQgbG9zdCB0aW1lciBkb2VzIG5vdCB0aW1lIG91dCB0b28gZWFybHkgY2F1c2luZyB0aGUKCSAgcGFja2V0cyB0byBiZSBjb25zaWRlcmVkIGxvc3QgZXZlbiB0aG91Z2ggdGhleSBtYXkgYXJyaXZlIGluIHRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njk3NjgKCjIwMTYtMDctMjcgMTA6Mzk6NTAgKzAyMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW5AcGV4aXAuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IERvbid0IHJlcXVlc3QgcnR4IGlmICdub3cnIGlzIHBhc3QgcmV0cnkgcGVyaW9kCgkgIFRoZXJlIGlzIG5vIG5lZWQgdG8gc2NoZWR1bGUgYW5vdGhlciBFWFBFQ1RFRCB0aW1lciBpZiB3ZSdyZSBhbHJlYWR5CgkgIHBhc3QgdGhlIHJldHJ5IHBlcmlvZC4gVW5kZXIgbm9ybWFsIG9wZXJhdGlvbiB0aGlzIHdvbid0IGhhcHBlbiwgYnV0IGlmCgkgIHRoZXJlIGFyZSBtb3JlIHRpbWVycyB0aGFuIHRoZSBqaXR0ZXJidWZmZXIgaXMgYWJsZSB0byBwcm9jZXNzIGluCgkgIHJlYWwtdGltZSwgc2NoZWR1bGluZyBtb3JlIHRpbWVycyB3aWxsIGp1c3QgbWFrZSB0aGUgc2l0dWF0aW9uIHdvcnNlLgoJICBJbnN0ZWFkLCBjb25zaWRlciB0aGlzIHBhY2tldCBhcyBsb3N0IGFuZCBtb3ZlIG9uLiBUaGlzIHNjZW5hcmlvIGNhbgoJICBvY2N1ciB3aXRoIGhpZ2ggbG9zcyByYXRlLCBsb3cgcnR0IGFuZCBoaWdoIGNvbmZpZ3VyZWQgbGF0ZW5jeS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTc2OAoKMjAxNi0wNy0yNiAxODowMTo0OCArMDIwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbkBwZXhpcC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogRml4IGxvc3QgZHVyYXRpb24gd2hlbiBnYXAgYWZ0ZXIgbG9zdCB0aW1lcgoJICBUaGlzIHBhdGNoIGZpeGVzIGFuIGlzc3VlIHdpdGggdGhlIGVzdGltYXRlZCBnYXAgZHVyYXRpb24gd2hlbiB0aGVyZSBpcwoJICBhIGdhcCBpbW1lZGlhdGVseSBhZnRlciBhIGxvc3QgdGltZXIgaGFzIGJlZW4gcHJvY2Vzc2VkLiBQcmV2aW91c2x5CgkgIHRoZXJlIHdhcyBhIGRpc2NyZXBhbmN5IGJldGVlbiB0aGUgZ2FwIGluIHNlcW51bSBhbmQgZ2FwIGluIGR0cyB3aGljaAoJICB3b3VsZCBjYXVzZSB3cm9uZyBjYWxjdWxhdGVkIGR1cmF0aW9uLiBUaGUgaXNzdWUgd291bGQgb25seSBiZSBzZWVuIHdpdGgKCSAgcmV0cmFubWlzc2lvbiBlbmFibGVkIHNpbmNlIHdoZW4gaXQncyBkaXNhYmxlZCBsb3N0IHRpbWVycyBhcmUgb25seQoJICBjcmVhdGVkIHdoZW4gYSBwYWNrZXQgaXMgcmVjZWl2ZWQgYW5kIHRoZSBhY3R1YWwgZ2FwIGxlbmd0aCBhbmQgbGFzdCBkdHMKCSAgaXMga25vd24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njk3NjgKCjIwMTYtMDctMTkgMDE6MTE6NTggKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IEV4cG9zZSBydHgtZGVhZGxpbmUgYXMgYSBwcm9wZXJ0eQoJICBUaGUgZGVmYXVsdCAtMSBnaXZlcyB0aGUgb2xkIGJlaGF2aW9yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5NzY4CgoyMDE2LTA4LTExIDEyOjAyOjE5ICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogSW1wcm92ZWQgZXhwZWN0ZWQtdGltZXIgaGFuZGxpbmcgd2hlbiBnYXAgPiAwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njk3NjgKCjIwMTYtMDgtMTEgMTE6NTE6NTAgKzAyMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW5AcGV4aXAuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IE1ham9yIGltcHJvdmVtZW50cyBmb3IgUlRYIHN0YXRzCgkgIFN0YXRzIHNob3VsZCBhbHNvIGJlIGNvbGxlY3RlZCBmb3IgdW5zdWNjZXNzZnVsIHBhY2tldHMuCgkgIHJ0eC1ydHQgaXMgdmVyeSBpbXBvcnRhbnQgZm9yIGRldGVybWluaW5nIHRoZSBuZWNlc3NhcnkgY29uZmlndXJlZAoJICBsYXRlbmN5IG9uIHRoZSBqaXR0ZXJidWZmZXIuIEl0J3MgZXNwZWNpYWxseSBpbXBvcnRhbnQgdG8gYmUgYWJsZSB0bwoJICBpbmNyZWFzZSB0aGUgbGF0ZW5jeSB3aGVuIHJldHJhbnNtaXR0ZWQgcGFja2V0cyBhcnJpdmUgdG9vIGxhdGUgYW5kIGFyZQoJICBjb25zaWRlcmVkIGxvc3QuIFRoaXMgcGF0Y2ggaW5jbHVkZXMgdGhlc2UgbGF0ZSBwYWNrZXRzIGluIHRoZQoJICBjYWxjdWxhdGlvbiBvZiB0aGUgdmFyaW91cyBydHggc3RhdHMsIG1ha2luZyB0aGVtIG1vcmUgY29ycmVjdCBhbmQKCSAgdXNlZnVsLgoJICBBbHNvIGluIHRoZSBjYXNlIHdoZXJlIHRoZSBvcmlnaW5hbCBwYWNrZXQgYXJyaXZlcyBhZnRlciBhIE5BQ0sgaXMgc2VudCwKCSAgdGhlIHJlY2VpdmVkIFJUWCBwYWNrZXQgc2hvdWxkIHVwZGF0ZSB0aGUgc3RhdHMgc2luY2UgaXQgcHJvdmlkZXMgdXNlZnVsCgkgIGluZm9ybWF0aW9uIGFib3V0IFJUVC4KCSAgVGhlIFJUVCBpcyBvbmx5IHVwZGF0ZWQgaWYgYW5kIG9ubHkgaWYgYWxsIHJlcXVlc3RlZCByZXRyYW5taXNzaW9ucyBhcmUKCSAgcmVjZWl2ZWQuIFRoYXQgd2F5IHRoZSBSVFQgaXMgZ3VhcmFudGVlZCB0byBtYWtlIHNlbnNlLiBJZiBub3Qgd2UgZG9uJ3QKCSAga25vdyB3aGljaCByZXF1ZXN0IHRoZSBwYWNrZXQgaXMgYSByZXNwb25zZSB0byBhbmQgdGhlIFJUVCBtYXkgYmUgYm9ndXMuCgkgIEEgY29uc2VxdWVuY2Ugb2YgdGhpcyBwYXRjaCBpcyB0aGF0IFJUVCBpcyBub3QgdXBkYXRlZCBmb3IgYSByZXF1ZXN0CgkgIHdoZW4gb25lIG9mIHRoZSBSVFggcGFja2V0cyBmb3IgdGhhdCBzZXFudW0gaXMgbG9zdCwgYnV0IHRoYXQgc2luY2UKCSAgbWVhc3VyZWQgUlRUIHdpbGwgYmUgbW9yZSBhY2N1cmF0ZS4KCSAgVGhlIGltcGxlbWVudGF0aW9uIHN0b3JlIHRoZSBSVFggaW5mb3JtYXRpb24gZnJvbSB0aGUgdGltZWQgb3V0IHRpbWVycwoJICBhbmQgdXNlIHRoaXMgd2hlbiB0aGUgcmV0cmFuc21pdHRlZCBwYWNrZXQgYXJyaXZlcy4gRm9yIHBlcmZvcm1hbmNlCgkgIHRoZXNlIHRpbWVycyBhcmUgc3RvcmVkIHNlcGFyYXRlbHkgZnJvbSB0aGUgIm5vcm1hbCIgdGltZXJzIGluIG9yZGVyIHRvCgkgIG5vdCBpbXBhY3QgcGVyZm9ybWFuY2UgKHNlZSBhdHRhY2hlZCBwZXJmb3JtYW5jZSB0ZXN0KS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTc2OAoKMjAxNi0wOC0xMSAxMTowMjo0NCArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IEFkZCBhbmQgZXhwb3NlIG1vcmUgc3RhdHMgYW5kIGluY3JlYXNlIHRlc3Rpbmcgb2YgaXQKCSAgQWRkIG51bS1wdXNoZWQgYW5kIG51bS1sb3N0LgoJICBFeHBvc2UgbnVtLWxhdGUsIG51bS1kdXBsaWNhdGVzIGFuZCBhdmctaml0dGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5NzY4CgoyMDE2LTA3LTA3IDEwOjIwOjAyICswMjAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHJlY2VpdmUuYzoKCSAgcnR4cmVjZWl2ZTogU2V0IGJ1ZmZlciBmbGFnIGZvciByZXRyYW5zbWl0dGVkIHBhY2tldHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTc2OAoKMjAxNi0wNy0wOSAyMzo0Nzo0MSArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogT3B0aW9uIHRvIGRpc2FibGUgcnR4LWRlbGF5LXJlb3JkZXIKCSAgV2hlbiBkaXNhYmxlZCB3ZSBjYW4gc2F2ZSBzb21lIGl0ZXJhdGlvbnMgb3ZlciB0aW1lcnMuCgkgIFRoZXJlIGlzIHByb2JhYmx5IGFuIGFyZ3VtZW50IGZvciBydHgtZGVsYXktcmVvcmRlciB0byBleGlzdCwgYnV0CgkgIGZvciBub3JtYWwgb3BlcmF0aW9ucywgaGFuZGxpbmcgaml0dGVyIChyZW9yZGVyaW5nKSBpcyBzb21ldGhpbmcgYQoJICBqaXR0ZXJidWZmZXIgc2hvdWxkIGRvLCBhbmQgdGhpcyB2YXJpYWJsZSBmZWVscyBsaWtlIGZ1bmN0aW9uYWxpdHkgdGhhdAoJICBpcyBub3QgImluLXN5bmMiIHdpdGggd2hhdCB0aGUgaml0dGVyYnVmZmVyIGlzIHRyeWluZyB0byBhY2hpZXZlLgoJICBFeGFtcGxlOiBZb3UgaGF2ZSA1MG1zIGppdHRlciBvbiB5b3VyIG5ldHdvcmssIGFuZCBhcmUgcmVjZWl2aW5nCgkgIGF1ZGlvIHBhY2tldHMgd2l0aCAxMG1zIGR1cmF0aW9ucy4gQW4gYXVkaW8gcGFja2V0IHNob3VsZCBub3QgYmUKCSAgY29uc2lkZXJlZCBsYXRlIHVudGlsIGl0cyBydHgtdGltZW91dCBoYXMgZXhwaXJlZCAoYW5kIGhlbmNlIGEgcnR4LWV2ZW50CgkgIGlzIHNlbnQpLCBidXQgd2l0aCBydHgtZGVsYXktcmVvcmRlciwgZXZlbnRzIHdpbGwgYmUgc2VudCBwcmV0dHkgbXVjaAoJICBhbGwgdGhlIHRpbWUgZHVlIHRvIHRoZSBqaXR0ZXIgb24gdGhlIG5ldHdvcmsuCgkgIFBvaW50IGJlaW5nOiBUaGUgaml0dGVyYnVmZmVyIHNob3VsZCBhZGFwdCBpdHMgc2l6ZSB0byB0aGUgbWVhc3VyZWQgbmV0d29yawoJICBqaXR0ZXIsIGFuZCB0aGVuIHJ0eC1kZWxheS1yZW9yZGVyIG5lZWRzIHRvIGFkYXB0IGFzIHdlbGwsIG9yIHNpbXBseQoJICBnZXQgb3V0IG9mIHRoZSB3YXkgYW5kIGxldCB0aGUgb3RoZXIgKGJldHRlcikgcnR4LW1lY2hhbmlzbXMgZG8gdGhlaXIgam9iLgoJICBBbHNvIGNoYW5nZSBmaW5kX3RpbWVyIHRvIG9ubHkgdXNlIHNlcW51bSBhcyBhbiBhcmd1bWVudCwgc2luY2UgdGhlcmUKCSAgd2lsbCBvbmx5IGV2ZXIgYmUgb25lIHRpbWVyIHBlciBzZXFudW0gYXQgYW55IGdpdmVuIHRpbWUuIEluIHRoZQoJICBvbmUgY2FzZSB3aGVyZSB0aGUgdHlwZSBtYXR0ZXJzLCB0aGUgY2FsbGVyIHNpbXBseSBjaGVja3MgdGhlIHR5cGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njk3NjgKCjIwMTYtMDktMTQgMDk6NTg6NDEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgcnRwaDI2M3BheTogRml4IGRvdWJsZSBmcmVlIGZyb20gY292ZXJpdHkKCSAgQ0lEICMxMzcyODg3CgoyMDE2LTA5LTE0IDA5OjU4OjM3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgIHJ0cGgyNjNwYXk6IEluZGVudCBhcyBwZXIgZ3N0LWluZGVudAoKMjAxNi0wOS0xNCAxMTozMDo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBEZXBlbmQgb24gZ3N0cmVhbWVyIDEuOS4yLjEKCjIwMTYtMDktMTQgMTA6MTc6MDIgKzA5MDAgIFdvbmNodWwgTGVlIDx3b25jaHVsLmxlZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2RldGVjdC5jOgoJICBhdXRvZGV0ZWN0OiBVc2UgZ3N0X2Jpbl9zZXRfc3VwcHJlc3NlZF9mbGFncygpIEFQSQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcxMzk1CgoyMDE2LTA5LTA5IDE1OjM2OjEyICswMjAwICBUaG9tYXMgU2NoZXVlcm1hbm4gPFRob21hcy5TY2hldWVybWFubkBiYXJjby5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzoKCSAgamFjazogRml4IHBpcGVsaW5lIGhhbmcgd2hlbiBqYWNrIGNoYW5nZXMgc2FtcGxlIHJhdGUgb3IgYnVmZmVyIHNpemUKCSAgSWYgamFja2QgY2hhbmdlcyB0aGUgYnVmZmVyIHNpemUgb3Igc2FtcGxlIHJhdGUsIGphY2thdWRpb3NpbmsgaGFuZ3MKCSAgYW5kIGNhbid0IGJlIHN0b3BwZWQuIFRoaXMgYWxzbyBoYXBwZW5zIGlmIGphY2sgaXMgY29uZmlndXJlZCBhcyBzbGF2ZQoJICBhbmQgYSBnc3RyZWFtZXIgcGlwZWxpbmUgaXMgc3RhcnRlZCBvbiB0aGUgc2xhdmUgbWFjaGluZSB3aGlsZSB0aGUgamFjawoJICBtYXN0ZXIgaXNuJ3QgcnVubmluZyB5ZXQuIElmIHRoZSB0aGUgamFjayBtYXN0ZXIgaXMgc3RhcnRlZCBpdCBjaGFuZ2VzCgkgIHRoZSBidWZmZXIgc2l6ZSAvIHNhbXBsZSByYXRlIGFuZCBqYWNrYXVkaW9zaW5rIGNhbid0IGJlIHN0b3BwZWQuCgkgIFRoaXMgZml4IGNhbGxzIGphY2tfc2h1dGRvd25fY2Igd2hlbiBqYWNrX3NhbXBsZV9yYXRlX2NiIG9yCgkgIGphY2tfYnVmZmVyX3NpemVfY2IgaXMgY2FsbGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcxMjcyCgoyMDE2LTA5LTEyIDIwOjA4OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBGaXggZmllbGQgb3JkZXJpbmcgZm9yIHJldmVyc2UgcGxheWJhY2sKCSAgQW5kIGFjdHVhbGx5IGNhbGN1bGF0ZSB0aGUgZmllbGQgZHVyYXRpb24gaW5zdGVhZCBvZiBhIGZyYW1lIGR1cmF0aW9uIHNvCgkgIHRoYXQgd2UgY2FuIHByb3Blcmx5IHRpbWVzdGFtcCBvdXRwdXQgZnJhbWVzIGluIGZpZWxkcz1hbGwgbW9kZS4KCSAgVGhpcyBpcyBwcm9iYWJseSBzdGlsbCBicm9rZW4gZm9yIHJldmVyc2UgcGxheWJhY2sgaW4gdGVsZWNpbmUgbW9kZS4KCjIwMTYtMDktMTIgMDk6MDI6MDAgKzAwMDAgIFRob21hcyBLbGF1c25lciA8dGtAZ2lnYS5vci5hdD4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogRml4IGNvbXBpbGF0aW9uIG9uIE5ldEJTRAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcxMjc4CgoyMDE2LTA5LTEwIDIwOjUxOjEwICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYjE4ZDgyMCB0byBmOTgwZmQ5CgoyMDE2LTA5LTA5IDE0OjAyOjI1ICswMjAwICBYYWJpZXIgUm9kcmlndWV6IENhbHZhciA8Y2FsdmFyaXNAaWdhbGlhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBvZmZzZXQgaXMgaXJyZWxldmFudCB3aGVuIG5vIGNyeXB0byBpbmZvCgkgIENhdXNlIGxhdGVyIGl0IHdpbGwgdHJ5IHRvIHVzZSB0aGUgY3J5cHRvIGluZm8gYXJyYXkgdG8gZ2V0IGFuIGluZGV4IGFuZAoJICBhdHRhY2ggb24gb2YgdGhlIHBvc2l0aW9ucyBhcyBidWZmZXIncyBjcnlwdG8gaW5mby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MDk1MQoKMjAxNi0wOS0xMCAwOTo1Mzo1NyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGY0OWM1NWUgdG8gYjE4ZDgyMAoKMjAxNi0wOS0wNyAxNTozMzozMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOgoJICBvc3hhdWRpbzogRGlzdHJpYnV0ZSBkZXZpY2UgcHJvdmlkZXIgZmlsZXMKCSAgVGhvc2Ugd2hlcmUgbWlzc2luZyB0aGUgdGhlIGRldiByZWxlYXNlIHRhcmJhbGxzIGZvciAxLjkuMiB3aGljaAoJICBwcmV2ZW50ZWQgYnVpbGRpbmcgZnJvbSB0YXJiYWxsIG9uIE9TWCBwbGF0Zm9ybQoKMjAxNi0wOS0wNiAwOTo0OTozOSArMDIwMCAgWGFiaWVyIFJvZHJpZ3VleiBDYWx2YXIgPGNhbHZhcmlzQGlnYWxpYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IGNyYXNoIHdpdGggbm8gY2VuYyBhdXggb2Zmc2V0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzA5NTEKCjIwMTYtMDktMDUgMDk6Mzk6MzMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogcGFyc2UgYSBiaXQgbW9yZSBvZiB0aGUgaHVtb25nb3VzIExPQVMgZGF0YQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5Mjc4CgoyMDE2LTA5LTA1IDA5OjM5OjA4ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IG1ha2UgaXQgY2xlYXIgd2hlbiBhIHBvdGVudGlhbCBMT0FTIGZyYW1lIGlzIG5vdCBvbmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTI3OAoKMjAxNi0wOS0wNSAwOTozODoyNiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBhZGQgYSBmZXcgY29tbWVudHMgdG8gYW5jaG9yIHBhcnNpbmcgdG8gdGhlIHNwZWMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTI3OAoKMjAxNi0wOS0wNSAwOTozNzowMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuaDoKCSAgYWFjcGFyc2U6IGltcHJvdmUgY2hhbm5lbC9yYXRlIGhhbmRsaW5nCgkgIEtlZXAgdHJhY2sgb2YgdGhlIGxhc3QgcGFyc2VkIGNoYW5uZWxzL3JhdGUgZmllbGRzIHNvIHRoZXkgY2FuIGJlCgkgIHVzZWQgZXZlbiBpZiB0aGUgZWxlbWVudCB3YXMgbm90IHlldCBjb25maWd1cmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5Mjc4CgoyMDE2LTA5LTA1IDA5OjM1OjUzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGZpeCB2YXJsZW5ndGggbnVtYmVyIHJlYWRpbmcgYXMgcGVyIHNwZWMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTI3OAoKMjAxNi0wOS0wNSAwOTozNTowMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBzdHJpcCB1bmVlZGVkIHN0YXRpYyBhcnJheXMgc2xhY2sKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTI3OAoKMjAxNi0wNy0xOCAxOToxODo1OCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5Lmg6CgkgIHJ0cG1wNGFkZXBheTogT25seSBkZWNsYXJlIGEgc3RyZWFtIHRvIGJlIGZyYW1lZCBvbmNlIGEgbWFya2VyIGJpdCBoYXMgYmVlbiBzZWVuCgkgIFRoaXMgbWF5IGNhdXNlIGEgZmV3IHBhY2tldHMgdG8gYmUgcHJvY2Vzc2VkIGJ5IHRoZSBwYXJzZXIsIGJ1dCBpdCdzCgkgIGJldHRlciB0aGFuIG5ldmVyIHB1c2hpbmcgb3V0IGJ1ZmZlcnMgZnJvbSBhIHNsaWdodGx5IGJyb2tlbiBzdHJlYW0KCSAgd2hlcmUgbm8gbWFya2VyIGJpdHMgYXJlIHNldC4KCjIwMTYtMDktMDYgMTQ6MjU6NDIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJICBkdmRlbXV4OiBGaXggdGltZXN0YW1waW5nIGluIHJldmVyc2UgcGxheWJhY2sgbW9kZQoJICBUaGlzIGlzIG9ubHkgc3VwcG9ydGVkIHJpZ2h0IG5vdyBpZiBhZnRlciBhIGRlbXV4ZXIgdGhhdCBzdXBwb3J0cyByZXZlcnNlCgkgIHBsYXliYWNrLCBlLmcuIHdpdGggRFYgY29udGFpbmVyIGluc2lkZSBBVkkgY29udGFpbmVyLgoKMjAxNi0wOS0wNSAxMjoyMzo1NCAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBvc2cuc2Ftc3VuZy5jb20+CgoJKiBtZXNvbi5idWlsZDoKCSAgbWVzb246IEJ1bXAgdmVyc2lvbiB0byAxLjkuMgoKMjAxNS0wNi0yNiAyMDoxMzoxNyArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogZ3N0L2lzb21wNC9Hc3RRVE11eC5wcnM6CgkqIGdzdC9pc29tcDQvTWFrZWZpbGUuYW06CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEltcGxlbWVudCB0aGUgcHJlc2V0IGludGVyZmFjZS4KCSAgKyBBbmQgcHJvdmlkZSBhICJ5b3V0dWJlIiBwcmVzZXQsIHdoaWNoIGJhc2VkIG9uCgkgIGh0dHBzOi8vc3VwcG9ydC5nb29nbGUuY29tL3lvdXR1YmUvYW5zd2VyLzE3MjIxNzEgc2V0cwoJICBmYXN0c3RhcnQgdG8gVHJ1ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTU1OQoKMjAxNi0wOS0wMSAxMjoyNzozNSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS45LjIgPT09CgoyMDE2LTA5LTAxIDEyOjI3OjE1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS45LjIKCjIwMTYtMDktMDEgMTE6MjM6MzMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE2LTA5LTAxIDEwOjU5OjUxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZXF1YWxpemVyL2RlbW8uYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1vc3NzcmMuYzoKCSAgdGVzdHMvZXhhbXBsZXM6ICNkZWZpbmUgR0RLX0RJU0FCTEVfREVQUkVDQVRJT05fV0FSTklOR1MKCSAgV2UgdXNlIGdka19jYWlyb19jcmVhdGUoKSB3aGljaCBpcyBkZXByZWNhdGVkIHNpbmNlIDMuMjIuCgoyMDE2LTA4LTMxIDA1OjUwOjQ0ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9NYWtlZmlsZS5hbToKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lmg6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgb3N4dmlkZW86IFJlbW92ZSBRdWlja1RpbWUgcmVmZXJlbmNlcy4KCSAgUXVpY2tUaW1lLmggaXMgbm8gbG9uZ2VyIGF2YWlsYWJsZSBvbiBPUyBYIDEwLjEyIChTaWVycmEpLAoJICBhbmQgYm90aCB0aGUgaGVhZGVyIGFuZCB0aGUgZnJhbWV3b3JrIHNlZW0gdW5uZWNlc3NhcnkKCSAgZm9yIGNvbXBpbGF0aW9uIC0gYXQgbGVhc3QgYXMgb2YgMTAuMTEgKEVsIENhcGl0YW4pLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcwNTI2CgoyMDE2LTA4LTE5IDExOjExOjAzIC0wNzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZmRlYy5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBVc2UgdGhlIG5ldyBBUEkgdG8gcG9zdCBmbG93IEVSUk9SIG1lc3NhZ2VzIG9uIHRoZSBidXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MDE1OAoKMjAxNi0wOC0yNiAyMTozMjowNyArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgZ2l0aWdub3JlOiBpZ25vcmUgcXRkZW11eCwgcnRwaDI2MSBhbmQgcnRwdnA5IHRlc3RzCgoyMDE2LTA4LTI2IDIxOjIyOjE2ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IHVzZSBHU1RfTkVUX0xJQlMgaW5zdGVhZCBvZiBoYXJkY29kZWQgLWxnc3RuZXQKCSAgRml4ZXMgYnVpbGQgaW4gT1NYIHdoZW4gcnVubmluZyAnbWFrZSBjaGVjaycgaW4gZ3N0LXVuaW5zdGFsbGVkLgoKMjAxNi0wOC0yNiAyMToxNDo0NyArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgdGVzdHM6IHJlbW92ZSBhIHdyb25nICdjb25zdCcgc3BlY2lmaWVyCgkgIEZpeGVzICJlcnJvcjogZHVwbGljYXRlICdjb25zdCcgZGVjbGFyYXRpb24gc3BlY2lmaWVyIgoKMjAxNi0wOC0yNiAyMToxMTo1OSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgYnVpbGQ6IHNpbGVuY2UgZXJyb3IgYWJvdXQgcHRocmVhZCBmb3IgJ21ha2UgY2hlY2snIGluIG9zeAoJICBGaXhlcyAiY2xhbmc6IGVycm9yOiBhcmd1bWVudCB1bnVzZWQgZHVyaW5nIGNvbXBpbGF0aW9uOiAnLXB0aHJlYWQnIgoKMjAxNi0wOC0yNiAyMDozMToxMCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB2cDllbmM6IEZpeCBidWlsZCBvZiB1bml0IHRlc3QgYnkgbGV0dGluZyBpdCBsaW5rIHRvIGxpYmdzdHZpZGVvCgoyMDE2LTA4LTI2IDEyOjA2OjM1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5oOgoJICBSZXZlcnQgInJ0cG11eDogZml4IFBST1BfVElNRVNUQU1QX09GRlNFVCByYW5nZSBwcm9ibGVtcyIKCSAgVGhpcyBicm9rZSBBUEksIHNvIHdlIG5lZWQgYSBiZXR0ZXIgc29sdXRpb24hCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYzc1NzlkMzFhNmU5ZDc4OGU5NGI4MzI1ODMwOTA2M2QwYWFlNDgxZS4KCjIwMTYtMDYtMDggMTU6MDY6MjggKzAyMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW5AcGV4aXAuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cDlkZXBheS5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwdnA5LmM6CgkgIHJ0cHZwOWRlcGF5OiBTdXBwb3J0IGZsZXhpYmxlIG1vZGUKCjIwMTYtMDYtMDYgMTc6MDM6MzYgKzAyMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW5AcGV4aXAuY29tPgoKCSogZXh0L3ZweC9nc3R2cDllbmMuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOWVuYy5jOgoJICB2cDllbmM6IEZpeCBsZWFrIG9mIHZweF9pbWFnZV90CgoyMDE2LTA1LTA2IDEzOjMzOjIyICswMjAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBoMjYzLmM6CgkgIHJ0cGgyNjNwZGVwYXk6IERvbid0IHRyeSB0byBwdXNoIGVtcHR5IGZyYW1lCgkgIElmIHRoZSByZXN1bHQgb2YgZGVwYXlsb2FkaW5nIGlzIGFuIGVtcHR5IGZyYW1lLCBqdXN0IGRyb3AgaXQuIFRoaXMgaXMKCSAgbGlrZWx5IHRoZSByZXN1bHQgb2YgYSBidWdneSBwYXlsb2FkZXIuCgoyMDE2LTA1LTA2IDE2OjA2OjUzICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4Lmg6CgkgIHJ0cG11eDogZml4IFBST1BfVElNRVNUQU1QX09GRlNFVCByYW5nZSBwcm9ibGVtcwoJICBJdCBjb3VsZCBub3Qgc2V0IHRoZSBvZmZzZXQgZm9yIHRoZSBmdWxsIGd1aW50MzIgcmFuZ2UuCgoyMDE2LTA1LTA2IDA5OjQ0OjQyICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIHJ0cGJpbjogaW50cm9kdWNlIG1heC1zdHJlYW1zIHByb3BlcnR5CgkgIFRvIGJlIGFibGUgdG8gY2FwIHRoZSBudW1iZXIgb2YgYWxsb3dlZCBzdHJlYW1zIGZvciBvbmUgc2Vzc2lvbi4KCSAgVGhpcyBpcyB1c2VmdWwgZm9yIHByZXZlbnRpbmcgRG9TIGF0dGFja3MsIHdoZXJlIGEgc2VuZGVyIGNhbiBjaGFuZ2UKCSAgU1NSQyBmb3IgZXZlcnkgYnVmZmVyLCBlZmZlY3RpdmVseSBicmluZ2luZyBydHBiaW4gdG8gYSBoYWx0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcwMjkyCgoyMDE2LTAzLTMxIDAwOjEwOjQ5ICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiByZW9yZGVyZWQgcGFja2V0cyBhcmUgdmVyeSBub3JtYWwsIGFuZCBzaG91bGQgbm90IGJlIGEgd2FybmluZwoKMjAxNi0wMi0wNSAxNDoxOToyNSArMDEwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBkZWdyYWRlIGdfd2FybmluZyB0byBHU1RfRVJST1IKCSAgU28gd2UgZG9uJ3QgYmxvdyB1cCB3aGlsZSBpbnZlc3RpZ2F0aW5nCgoyMDE2LTAyLTA0IDE0OjE2OjQwICswMTAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBoMjYzLmM6CgkgIHJ0cGgyNjNwZGVwYXk6IEZpeCBwaWN0dXJlIGhlYWRlciBmb3Igbm9uLXdyaXRhYmxlIHBheWxvYWQKCSAgVW5kZXIgY2VydGFpbiBjb25kaXRpb25zIGdzdF9ydHBfYnVmZmVyX2dldF9wYXlsb2FkKCkgcmV0dXJucyBhIGNvcHkgb2YKCSAgdGhlIHBheWxvYWQuIEluIHRoaXMgY2FzZSB0aGUgcGF5bG9hZCBtb2RpZmljYXRpb25zIHdpbGwgbm90IGFmZmVjdCB0aGUKCSAgcnRwIGJ1ZmZlci4gU28gaW5zdGVhZCBvZiBtb2RpZnlpbmcgdGhlIHBheWxvYWQgYnVmZmVyIGRpcmVjdGx5IHdlCgkgIHNob3VsZCBtb2RpZnkgdGhlIGJ1ZmZlciB0aGF0IGFjdHVhbGx5IGdldHMgcHVzaGVkIG9uIHRoZSBhZGFwdGVyLgoKMjAxNS0xMS0xOSAxMTo1MDo0NyArMDEwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbkBwZXhpcC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjFkZXBheS5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaDI2MS5jOgoJICBydHBoMjYxZGVwYXk6IEZpeCBjaGVjayBvZiB2YWxpZCBwYXlsb2FkIGxlbmd0aAoJICBQYWNrZXRzIHdpdGggbm8gSC4yNjEgcGF5bG9hZCBzaG91bGQgYmUgZHJvcHBlZCB0byBhdm9pZCBpbnZhbGlkCgkgIHdyaXRlL3JlYWRzLgoKMjAxNS0xMS0wOSAxMDowNjoyMSArMDEwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbkBwZXhpcC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaDI2My5jOgoJICBydHBoMjYzcGF5OiBGaXggZG91YmxlIGZyZWUsIGludmFsaWQgcmVhZHMgYW5kIGxlYWsKCjIwMTQtMDYtMzAgMTU6NDM6NTggKzAyMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW5AcGV4aXAuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBzYW5pdHkgY2hlY2sgUlRUIGJlZm9yZSBpZ25vcmluZyBQTEkvRklSCgoyMDE0LTA2LTMwIDE1OjA3OjQ1ICswMjAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogaGFuZGxlIHNkZXMgbWVzc2FnZXMgd2l0aCBub24tdXRmOCBtb3JlIGdyYWNlZnVsbHkKCjIwMTQtMDYtMTcgMDg6NTI6NTAgKzAyMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW4uc2VsbmVzQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICBydHBoMjYzcGF5OiBjaGFuZ2UgbG9nIGxldmVsIG9uIGJpdHN0cmVhbSBwYXJzaW5nIG1lc3NhZ2VzCgoyMDE2LTA3LTA3IDExOjEzOjE4ICswMjAwICBNaWtoYWlsIEZsdWRrb3YgPG1pc2hhQHBleGlwLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHJ0eC5jOgoJICB0ZXN0cy9ydHBydHg6IHJlZmFjdG9yIHRoZSB0ZXN0cyB0byB1c2UgZ3N0aGFybmVzcwoJICBUaGUgZnVuY3Rpb25hbGl0eSBvZiBhbGwgdGhlIHRlc3RzIHdhcyBrZXB0IGV4YWN0bHkgdGhlIHNhbWUuIFNvbWUgdGVzdHMKCSAgd2VyZSByZW5hbWVkOgoJICB0ZXN0X3B1c2hfZm9yd2FyZF9zZXEgLT4gdGVzdF9ydHhzZW5kX3J0eHJlY2VpdmUKCSAgdGVzdF9kcm9wX29uZV9zZW5kZXIgLT4gdGVzdF9ydHhzZW5kX3J0eHJlY2VpdmVfd2l0aF9wYWNrZXRfbG9zcwoJICB0ZXN0X2Ryb3BfbXVsdGlwbGVfc2VuZGVyIC0+IHRlc3RfbXVsdGlfcnR4c2VuZF9ydHhyZWNlaXZlX3dpdGhfcGFja2V0X2xvc3MKCSAgdGVzdF9ydHhyZWNlaXZlX2RhdGFfcmVjb25zdHJ1Y3Rpb24gd2FzIHRlc3RpbmcgdGhhdCByZXRyYW5zbWl0dGVkCgkgIGJ1ZmZlciBwcm9kdWNlZCBieSBydHhzZW5kIHdhcyBjb3JyZWN0bHkgdHJhbnNmb3JtZWQgdG8gdGhlIG9yaWdpbmFsCgkgIGJ1ZmZlciBieSBydHhyZWNlaXZlLiBOb3cgd2UgYXJlIGNoZWNraW5nIGZvciB0aGlzIGluIGFsbCB0aGUgdGVzdHMKCSAgd2hlcmUgYm90aCBydHhzZW5kICYgcnR4cmVjZWl2ZSBhcmUgaW52b2x2ZWQuIFRoYXQncyB3aHkgdGhlIHRlc3Qgd2FzCgkgIHJlbW92ZWQuCgoyMDE2LTA4LTI1IDE1OjUyOjM2ICswMjAwICBKb25hcyBIb2xtYmVyZyA8am9uYXNoZ0BheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJICBydHBoMjY1cGF5OiBTZXQgUlRQIG1hcmtlciBiaXQKCSAgU2V0IHRoZSBSVFAgbWFya2VyIGJpdCBvbiB0aGUgbGFzdCBSVFAgcGFja2V0IG9mIGFuIEguMjY1IGFjY2VzcyB1bml0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcwMzk0CgoyMDE2LTA3LTI2IDE5OjM5OjU4ICswMjAwICBYYWJpZXIgUm9kcmlndWV6IENhbHZhciA8Y2FsdmFyaXNAaWdhbGlhLmNvbT4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5oOgoJICB2aWRlb2ZsaXA6IGFkZGVkIEdzdFZpZGVvRGlyZWN0aW9uIGludGVyZmFjZQoJICBJdCBpbXBsZW1lbnRzIG5vdyB0aGlzIGludGVyZmFjZSB3aXRoIGl0cyB2aWRlby1kaXJlY3Rpb24KCSAgcHJvcGVydHkuIFZhbHVlcyBhcmUgY2hhbmdlZCB0byBHc3RWaWRlb09yaWVudGF0aW9uTWV0aG9kIGJ1dCB0aGV5IGhhdmUKCSAgdGhlIHNhbWUgdmFsdWUgdGhhbiB0aGUgb3JpZ2luYWxzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4Njg3CgoyMDE1LTExLTA2IDEwOjM5OjE2ICswMTAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIGdzdHJ0cHNlc3Npb246IHJlZmFjdG9yIGR1cGxpY2F0ZSBjb2RlIGludG8gYSBmdW5jdGlvbgoJICBMZXNzIGNvZGUsIGVhc2llciB0byByZWFkLCBtb3JlIGNvbnNpc3RlbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzAyOTMKCjIwMTYtMDgtMjMgMTc6MDY6NDQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogZml4IHR5cG8gaW4gbWF4LW1pc29yZGVyLXRpbWUgcHJvcGVydHkgbmFtZQoKMjAxNi0wOC0yMiAwMDowNTo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4c2luazogZml4IHByaW50ZiBmb3JtYXQgY29tcGlsZXIgd2FybmluZyBpbiBkZWJ1ZyBtZXNzYWdlCgkgIE9uIDMyLWJpdCB4ODY6IGdzdHNwbGl0bXV4c2luay5jOjk2NjozMTogd2FybmluZzogZm9ybWF0IOKAmCV14oCZIGV4cGVjdHMKCSAgYXJndW1lbnQgb2YgdHlwZSDigJh1bnNpZ25lZCBpbnTigJksIGJ1dCBhcmd1bWVudCA5IGhhcyB0eXBlCgkgIOKAmGd1aW50NjQge2FrYSBsb25nIGxvbmcgdW5zaWduZWQgaW50feKAmQoKMjAxNi0wOC0xMiAyMToxMjozMCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogLmdpdGlnbm9yZToKCSogY29uZmlnLmgubWVzb246CgkqIGV4dC9jYWlyby9tZXNvbi5idWlsZDoKCSogZXh0L2R2L21lc29uLmJ1aWxkOgoJKiBleHQvZmxhYy9tZXNvbi5idWlsZDoKCSogZXh0L2dka19waXhidWYvbWVzb24uYnVpbGQ6CgkqIGV4dC9qYWNrL21lc29uLmJ1aWxkOgoJKiBleHQvanBlZy9tZXNvbi5idWlsZDoKCSogZXh0L2xpYnBuZy9tZXNvbi5idWlsZDoKCSogZXh0L21lc29uLmJ1aWxkOgoJKiBleHQvcHVsc2UvbWVzb24uYnVpbGQ6CgkqIGV4dC9zaG91dDIvbWVzb24uYnVpbGQ6CgkqIGV4dC9zb3VwL21lc29uLmJ1aWxkOgoJKiBleHQvc3BlZXgvbWVzb24uYnVpbGQ6CgkqIGV4dC90YWdsaWIvbWVzb24uYnVpbGQ6CgkqIGV4dC92cHgvbWVzb24uYnVpbGQ6CgkqIGV4dC93YXZwYWNrL21lc29uLmJ1aWxkOgoJKiBnc3QvYWxwaGEvbWVzb24uYnVpbGQ6CgkqIGdzdC9hcGV0YWcvbWVzb24uYnVpbGQ6CgkqIGdzdC9hdWRpb2Z4L21lc29uLmJ1aWxkOgoJKiBnc3QvYXVkaW9wYXJzZXJzL21lc29uLmJ1aWxkOgoJKiBnc3QvYXVwYXJzZS9tZXNvbi5idWlsZDoKCSogZ3N0L2F1dG9kZXRlY3QvbWVzb24uYnVpbGQ6CgkqIGdzdC9hdmkvbWVzb24uYnVpbGQ6CgkqIGdzdC9jdXR0ZXIvbWVzb24uYnVpbGQ6CgkqIGdzdC9kZWJ1Z3V0aWxzL21lc29uLmJ1aWxkOgoJKiBnc3QvZGVpbnRlcmxhY2UvbWVzb24uYnVpbGQ6CgkqIGdzdC9kdG1mL21lc29uLmJ1aWxkOgoJKiBnc3QvZWZmZWN0di9tZXNvbi5idWlsZDoKCSogZ3N0L2VxdWFsaXplci9tZXNvbi5idWlsZDoKCSogZ3N0L2Zsdi9tZXNvbi5idWlsZDoKCSogZ3N0L2ZseC9tZXNvbi5idWlsZDoKCSogZ3N0L2dvb20vbWVzb24uYnVpbGQ6CgkqIGdzdC9nb29tMmsxL21lc29uLmJ1aWxkOgoJKiBnc3QvaWN5ZGVtdXgvbWVzb24uYnVpbGQ6CgkqIGdzdC9pZDNkZW11eC9tZXNvbi5idWlsZDoKCSogZ3N0L2ltYWdlZnJlZXplL21lc29uLmJ1aWxkOgoJKiBnc3QvaW50ZXJsZWF2ZS9tZXNvbi5idWlsZDoKCSogZ3N0L2lzb21wNC9tZXNvbi5idWlsZDoKCSogZ3N0L2xhdy9tZXNvbi5idWlsZDoKCSogZ3N0L2xldmVsL21lc29uLmJ1aWxkOgoJKiBnc3QvbWF0cm9za2EvbWVzb24uYnVpbGQ6CgkqIGdzdC9tZXNvbi5idWlsZDoKCSogZ3N0L21vbm9zY29wZS9tZXNvbi5idWlsZDoKCSogZ3N0L211bHRpZmlsZS9tZXNvbi5idWlsZDoKCSogZ3N0L211bHRpcGFydC9tZXNvbi5idWlsZDoKCSogZ3N0L3JlcGxheWdhaW4vbWVzb24uYnVpbGQ6CgkqIGdzdC9ydHAvbWVzb24uYnVpbGQ6CgkqIGdzdC9ydHBtYW5hZ2VyL21lc29uLmJ1aWxkOgoJKiBnc3QvcnRzcC9tZXNvbi5idWlsZDoKCSogZ3N0L3NoYXBld2lwZS9tZXNvbi5idWlsZDoKCSogZ3N0L3NtcHRlL21lc29uLmJ1aWxkOgoJKiBnc3Qvc3BlY3RydW0vbWVzb24uYnVpbGQ6CgkqIGdzdC91ZHAvbWVzb24uYnVpbGQ6CgkqIGdzdC92aWRlb2JveC9tZXNvbi5idWlsZDoKCSogZ3N0L3ZpZGVvY3JvcC9tZXNvbi5idWlsZDoKCSogZ3N0L3ZpZGVvZmlsdGVyL21lc29uLmJ1aWxkOgoJKiBnc3QvdmlkZW9taXhlci9tZXNvbi5idWlsZDoKCSogZ3N0L3dhdmVuYy9tZXNvbi5idWlsZDoKCSogZ3N0L3dhdnBhcnNlL21lc29uLmJ1aWxkOgoJKiBnc3QveTRtL21lc29uLmJ1aWxkOgoJKiBtZXNvbi5idWlsZDoKCSogbWVzb25fb3B0aW9ucy50eHQ6CgkqIHN5cy9kaXJlY3Rzb3VuZC9tZXNvbi5idWlsZDoKCSogc3lzL21lc29uLmJ1aWxkOgoJKiBzeXMvdjRsMi9tZXNvbi5idWlsZDoKCSogc3lzL3hpbWFnZS9tZXNvbi5idWlsZDoKCSogdGVzdHMvY2hlY2svbWVzb24uYnVpbGQ6CgkqIHRlc3RzL21lc29uLmJ1aWxkOgoJICBBZGQgc3VwcG9ydCBmb3IgTWVzb24gYXMgYWx0ZXJuYXRpdmUvcGFyYWxsZWwgYnVpbGQgc3lzdGVtCgkgIGh0dHBzOi8vZ2l0aHViLmNvbS9tZXNvbmJ1aWxkL21lc29uCgkgIFdpdGggY29udHJpYnV0aW9ucyBmcm9tOgoJICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoJICBKdXNzaSBQYWtrYW5lbiA8anBha2thbmVAZ21haWwuY29tPiAob3JpZ2luYWwgcG9ydCkKCSAgSGlnaGxpZ2h0cyBvZiB0aGUgZmVhdHVyZXMgcHJvdmlkZWQgYXJlOgoJICAqIEZhc3RlciBidWlsZHMgb24gTGludXggKH40MC01MCUgZmFzdGVyKQoJICAqIFRoZSBhYmlsaXR5IHRvIGJ1aWxkIHdpdGggTVNWQyBvbiBXaW5kb3dzCgkgICogR2VuZXJhdGUgVmlzdWFsIFN0dWRpbyBwcm9qZWN0IGZpbGVzCgkgICogR2VuZXJhdGUgWENvZGUgcHJvamVjdCBmaWxlcwoJICAqIE11Y2ggZmFzdGVyIGJ1aWxkcyBvbiBXaW5kb3dzIChvbi1wYXIgd2l0aCBMaW51eCkKCSAgKiBTZXJpb3VzbHkgZmFzdCBjb25maWd1cmUgYW5kIGJ1aWxkaW5nIG9uIGVtYmVkZGVkCgkgIC4uLiBhbmQgbWFueSBtb3JlLiBGb3IgbW9yZSBkZXRhaWxzIHNlZToKCSAgaHR0cDovL2Jsb2cubmlyYmhlZWsuaW4vMjAxNi8wNS9nc3RyZWFtZXItYW5kLW1lc29uLW5ldy1ob3BlLmh0bWwKCSAgaHR0cDovL2Jsb2cubmlyYmhlZWsuaW4vMjAxNi8wNy9idWlsZGluZy1hbmQtZGV2ZWxvcGluZy1nc3RyZWFtZXItdXNpbmcuaHRtbAoJICBCdWlsZGluZyB3aXRoIE1lc29uIHNob3VsZCB3b3JrIG9uIGJvdGggTGludXggYW5kIFdpbmRvd3MsIGJ1dCBtYXkKCSAgbmVlZCBhIGZldyBtb3JlIHR3ZWFrcyBvbiBvdGhlciBvcGVyYXRpbmcgc3lzdGVtcy4KCjIwMTYtMDgtMjAgMTY6NTk6MzAgKzA4MDAgIEppZSBKaWFuZyA8amlhbmdqaWVAbnVkdC5lZHUuY24+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5oOgoJICBGaXhlZCBzcGxpdG11eHNpbmsgMzItYml0IG92ZXJmbG93IGJ1ZwoJICBFeHRlbmQgdGhlIGJ5dGUgdHJhY2tpbmcgY291bnRlcnMgdG8gNjQtYml0IG9uCgkgIGFsbCBwbGF0Zm9ybXMsIGluc3RlYWQgb2YgdXNpbmcgZ3NpemUsIHdoaWNoIG92ZXJmbG93cwoJICBhZnRlciA0R0IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzAwMTkKCjIwMTYtMDgtMTkgMTc6MTg6MTYgKzAzMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQHRvb2xzb25haXIuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJICBpc29tcDQ6IEZpeCBjb3Zlcml0eSB3YXJuaW5nCgkgIElmIGF0b21fY29weV9kYXRhIGZhaWxzIHRvIHdyaXRlIGFueXRoaW5nLCByZXR1cm4gMAoJICBDSUQgIzEzNzE0NTgKCjIwMTYtMDQtMDkgMDc6NTE6MDMgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJkZXZpY2Vwcm92aWRlci5jOgoJKiBzeXMvdjRsMi92NGwyLXV0aWxzLmM6CgkgIHY0bDI6IGNvbnNpc3RlbnRseSBjaGVjayAjaWZkZWYgSEFWRV9HVURFViBpbnN0ZWFkIG9mICNpZgoJICBCb3RoIHdvcmsgd2l0aCBhdXRvdG9vbHMgYnV0IHRoZXkgZGVmaW5pdGVseSBkb24ndCBtZWFuIHRoZSBzYW1lIHRoaW5nLCBjYXVzZQoJICBwcm9ibGVtcyB3aXRoIG90aGVyIGJ1aWxkIHN5c3RlbXMsIGFuZCBhcmUgYmFkIGZvcm0uIEV4aXN0ZW5jZSBzaG91bGQgYWx3YXlzIGJlCgkgIGNoZWNrZWQgd2l0aCAjaWZkZWYgb3IgI2lmIGRlZmluZWQuCgoyMDE2LTA0LTE5IDEwOjUzOjA1ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSAgZGlyZWN0c291bmQ6IHBvcnQgYXdheSBmcm9tIG9sZCBEaXJlY3RYIEFQSQoJICBEM0RYIGhhcyBiZWVuIGRlcHJlY2F0ZWQgZm9yIHRoZSBsYXN0IDQgeWVhcnMgYW5kIGxhdGVzdCB2ZXJzaW9ucyBvZgoJICBXaW5kb3dzIG5vIGxvbmdlciBzaGlwIGhlYWRlcnMgZm9yIGl0LiBUaGlzIGlzIGZpbmUgYXMgbG9uZyBhcyB5b3UncmUKCSAgYnVpbGRpbmcgd2l0aCBDZXJiZXJvJ3MgV2luZS1iYXNlZCBEaXJlY3RYIGhlYWRlcnMsIGJ1dCBzdWNrcyBpZiB5b3UKCSAgd2FudCB0byBidWlsZCBhZ2FpbnN0IHRoZSBhY3R1YWwgV2luZG93cyBTREsuCgkgIFdlIHdlcmUganVzdCB1c2luZyBpdCB0byBnZXQgZXJyb3Igc3RyaW5ncyBhbnl3YXksIHNvIGp1c3QgdXNlIHRoZQoJICBnZW5lcmljIGVycm9yIHN0cmluZyBBUEkuCgoyMDE2LTA4LTE4IDEyOjAyOjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgUmV2ZXJ0ICJmbGFjcGFyc2U6IEFkZCBtYXhpbXVtIGJpdHJhdGUgdGFnIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGM3MDNhYjY5ZjUyNjA5MmJiMjZjY2U0MWNhNjkxYTg5NmM4MzgzZDguCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjkzOTIKCjIwMTYtMDgtMTggMDk6NTc6NTEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBGaXggdW5pdCB0ZXN0IGJ5IGRpc2FibGluZyBhZGFwdGl2ZSBtaXNvcmRlci9kcm9wb3V0IGNhbGN1bGF0aW9ucwoJICBOZWVkIHRvIHNldCBtYXgtbWlzb3JkZXItdGltZSBhbmQgbWF4LWRyb3BvdXQtdGltZSB0byAwIHNvIHRoZQoJICBqaXR0ZXJidWZmZXIgZG9lcyBub3QgYmFzZSB0aGVtIG9uIHBhY2tldCByYXRlIGNhbGN1bGF0aW9ucy4KCSAgSWYgaXQgZG9lcywgb3V0IGdhcCBpcyBiaWcgZW5vdWdoIHRvIGJlIGNvbnNpZGVyZWQgYSBuZXcgc3RyZWFtIGFuZAoJICB3ZSB3YWl0IGZvciBhIGZldyBjb25zZWN1dGl2ZSBwYWNrZXRzIGp1c3QgdG8gYmUgc3VyZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMzExCgoyMDE2LTA4LTA5IDEyOjU1OjU5ICswMzAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUBhaGlydS5ldT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmg6CgkgIHNwbGl0bXV4c2luazogQWRkIG9wdGlvbiB0byBzcGxpdCBhdCBleGFjdGx5IG1heC1zaXplLXRpbWUKCSAgV2lsbCB0cnkgdG8gcmVxdWVzdCBhIGtleWZyYW1lIGZyb20gdGhlIGVuY29kZXIgdG8gYmUgc2VudCBhdCB0aGUgdGFyZ2V0CgkgIHJ1bm5pbmcgdGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTY2NAoKMjAxNi0wOC0wOSAyMDoxNjoxNiArMDMwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAYWhpcnUuZXU+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IEFsbG93IHRpbWUgYW5kIGJ5dGVzIHRvIHJlYWNoIHRoZWlyIHJlc3BlY3RpdmUgdGhyZXNob2xkcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5NjY0CgoyMDE2LTA4LTE3IDA5OjQ5OjA0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBBbGxvdyBtaW1ldHlwZXMgd2l0aCBwcm9wZXJ0aWVzIGFzIGxvbmcgYXMgdGhleSdyZSBhcHBsaWNhdGlvbi9zZHAKCSAgU29tZSBzZXJ2ZXJzIGFkZCBwcm9wZXJ0aWVzIGxpa2UgY2hhcnNldCwgZS5nLgoJICBhcHBsaWNhdGlvbi9zZHA7IGNoYXJzZXQ9dXRmOAoJICBJZGVhbGx5IHdlIHNob3VsZCBhbHNvIHBhcnNlIHRoZSBjaGFyc2V0IGFuZCBkbyBjb252ZXJzaW9uIG9mIGFsbCBtZXNzYWdlcywKCSAgYnV0IHRoYXQncyBmb3IgYSBsYXRlciB0aW1lLgoKMjAxNi0wNi0yNCAxNjozMjozNyArMDMwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAdG9vbHNvbmFpci5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuaDoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBBZGRlZCBzdXBwb3J0IGZvciB3cml0aW5nIHRpbWVjb2RlIHRyYWNrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njc5NTAKCjIwMTYtMDgtMTEgMTY6MzI6MjEgLTA2MDAgIFRob21hcyBCbHVlbWVsIDx0Ymx1ZW1lbEBjb250cm9sNC5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IEluaXRpYWxpemUgYnl0ZXNfc2VudCBmaWVsZC4KCSAgVGhpcyBmaXhlcyBlbmRwb2ludHMgbm90IHJlY2VpdmluZyBhbnkgZGF0YSBpbnRlcm1pdHRlbnRseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTc3MwoKMjAxNi0wOC0xMCAxMTo0NToxMyAtMDYwMCAgVGhvbWFzIEJsdWVtZWwgPHRibHVlbWVsQGNvbnRyb2w0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOgoJICBydHBqaXR0ZXJidWZmZXI6IEFjdHVhbGx5IGNhbGN1bGF0ZSB0aGUgcGFja2V0IHJhdGUgZm9yIG1heC1kcm9wb3V0IGFuZCBtYXgtbWlzb3JkZXIgY2FsY3VsYXRpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMzExCgoyMDE2LTA4LTEwIDExOjI2OjE3IC0wNjAwICBUaG9tYXMgQmx1ZW1lbCA8dGJsdWVtZWxAY29udHJvbDQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogRG9uJ3Qgd2FybiBmb3IgZHVwbGljYXRlIHBhY2tldHMKCSAgVGhpcyBpcyBhIG5vcm1hbCBzY2VuYXJpbyBhbmQgc2hvdWxkIG5vdCBiZSBhIHdhcm5pbmcuICBUaGlzIGNhbgoJICBoYXBwZW4gZnJlcXVlbnRseSB3aGVuIHJlLXRyYW5zbWl0cyBvZiBsb3N0IHBhY2tldHMgYXJlIGVuYWJsZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIyMDgKCjIwMTYtMDgtMDggMTM6NDk6MTkgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXg6IEZpeCB0eXBvIGNvbnZlcnRpbmcgdG8gcnVubmluZyB0aW1lLgoJICBVc2UgdGhlIGNvcnJlY3QgY29sbGVjdGVkIHRpbWVzdGFtcC4KCjIwMTYtMDgtMDggMDI6NTM6NDggKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuaDoKCSAgUmV2ZXJ0ICJzcGxpdG11eHNpbms6IFVzZSBHc3RCaW4gYXN5bmMtaGFuZGxpbmcgaW5zdGVhZCBvZiBvdXIgb3duLiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBmYTAwOGYyNzFhNTJmODJkZWRlZGMyOGJkODFiMDIwY2E3OTM5YjQ3LgoJICBhc3luYy1oYW5kbGluZyBpbiBHc3RCaW4gY2F1c2VzIHRoZSBwaXBlbGluZSB0byBzcGluIGF0IDEwMCUKCSAgQ1BVIGFzIHRoZSB0b3AtbGV2ZWwgcGlwZWxpbmUgdHJpZXMgdG8gY2hhbmdlIHRoYXQgc3RhdGUKCSAgdG8gUExBWUlORyBjb25zdGFudGx5LiBUaGlzIGlzIGEgd29ya2Fyb3VuZCBmb3IgYSBjb3JlCgkgIHByb2JsZW0sIGVzc2VudGlhbGx5LCBidXQgYW4gaW1wcm92ZW1lbnQgaW4gdGhpcyBjYXNlIGZvciBub3cuCgoyMDE2LTA4LTA4IDAwOjU2OjM4ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4OiBSZWNoZWNrIHN0YXRlIGFmdGVyIHVubG9ja2luZyBtdXRleC4KCSAgQWZ0ZXIgZHJvcHBpbmcgdGhlIHNwbGl0bXV4IGxvY2ssIHJlLWNoZWNrIHRoZSBzdGF0ZSwKCSAgZG9uJ3QganVzdCBmYWxsIHRocm91Z2ggYW5kIHNsZWVwIHVuY29uZGl0aW9uYWxseSwKCSAgYXMgd2UgbWF5IGhhdmUgYWxyZWFkeSBtaXNzZWQgdGhlIHdha2V1cC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTUxNAoKMjAxNi0wOC0wMyAwMzozMjowNyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c3JjLmM6CgkgIHNwbGl0bXV4c3JjOiBEb24ndCBzdG9wIGFuZCBlcnJvciBvbiBFT1MgZmxvdyByZXR1cm4KCSAgRG9uJ3QgaW1tZWRpYXRlbHkgaGFsdCBvbiBFT1MgZmxvdyByZXR1cm4gZnJvbSBkb3duc3RyZWFtCgkgIGR1ZSB0byBvdXQgb2Ygc2VnbWVudC4gTGV0IHRoZSBkZW11eGVyIGhhbmRsZSBpdCBhbmQgc2VuZAoJICBFT1MuCgoyMDE2LTA4LTA0IDAwOjM2OjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc2FudG9zQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGF2b2lkIHVucmVmIG9mIG51bGwgYnVmZmVyCgkgIFRoZSBjdXJyZW50ICdsJyBwb2ludGVyIHdpbGwgYmUgTlVMTCB3aGVuIHRoZSBsb29wCgkgIGlzIGludGVycnVwdGVkIHdpdGggYSAnYnJlYWsnIHN0YXRlbWVudC4gTmVlZCB0byBoYXZlCgkgIGl0IGFkdmFuY2UgdG8gdGhlIG5leHQgbGlzdCBpdGVtIGJlZm9yZSBpbnRlcnJ1cHRpbmcuCgoyMDE2LTA4LTAyIDE0OjAxOjE0ICswMjAwICBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoJKiBnc3Qvd2F2cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogQWRkIHRhZ3MgZm9yIGNvbnRhaW5lciBmb3JtYXQgYW5kIGJpdHJhdGUgZm9yIHVuY29tcHJlc3NlZCBQQ00KCSAgVGhlIFBDTSBiaXRyYXRlIGlzIGFkZGVkIHRvIGhlbHAgZG93bnN0cmVhbSBlbGVtZW50cyAobGlrZSB1cmlkZWNvZGViaW4pCgkgIGZpZ3VyZSBvdXQgYSBwcm9wZXIgbmV0d29yayBidWZmZXIgc2l6ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5MzkwCgoyMDE2LTA4LTAxIDE4OjUyOjI2ICswMjAwICBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IEFkZCBtYXhpbXVtIGJpdHJhdGUgdGFnCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjkzOTIKCjIwMTYtMDctMjggMTc6NTg6MTYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogV2hlbiByZWNlaXZpbmcgYSBESVNDT05UIGJ1ZmZlciB0aGF0IGRvZXMgbm90IHBvaW50IHRvIGEgc2FtcGxlLCByZW1lbWJlciB0aGUgb2Zmc2V0CgkgIEFuZCBkb24ndCBqdXN0IHJlc2V0IGV2ZXJ5dGhpbmcuIFRoaXMgbWFrZXMgc3VyZSB0aGF0IHdlIGNhbiBjb250aW51ZSB0bwoJICBoYW5kbGUgZGF0YSBpbiB0aGUgZm9sbG93aW5nIHNjZW5hcmlvOgoJICBtb292OiBkaXNjb250CgkgIG1vb2Y6IGRpc2NvbnQKCSAgbWRhdDogY29udGludW91cwoJICBQcmV2aW91c2x5IHRoaXMgd291bGQgZmFpbCBiZWNhdXNlIHRoZSBvZmZzZXQgd291bGQgYmUgdGhlIGFjY3VtdWxhdGVkIG9mZnNldAoJICBmcm9tIG1vb3YgYW5kIG1vb2YgYXQgdGhlIG1kYXQgcG9zaXRpb24sIHdoaWxlIHRoZSBidWZmZXIgb2Zmc2V0IG1pZ2h0IGJlCgkgIHNvbWV0aGluZyBjb21wbGV0ZWx5IGRpZmZlcmVudC4KCjIwMTYtMDctMjUgMTM6MzQ6MDIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6CgkgIHJ0cDogRmlsdGVyIHdpdGggdGhlIGZpbHRlciBjYXBzIGluIHRoZSBwYXlsb2FkZXIncyBnZXRjYXBzCgoyMDE2LTAzLTAzIDExOjM1OjA2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBpbmNsdWRlIGh0dHAtc3RhdHVzLWNvZGUgaW4gZXJyb3IgbWVzc2FnZSBkZXRhaWxzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjMwMzgKCjIwMTYtMDctMjUgMTg6MjA6MDMgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW5rOiBGaXggZGVidWcgc3RhdGVtZW50IHNpZ25lZG5lc3MuCgkgIFRoZSB0cyB2YXJpYWJsZSBpcyBhIEdzdENsb2NrVGltZSwgZG9uJ3QgcHJpbnQgaXQKCSAgYXMgYSBHc3RDbG9ja1RpbWVEaWZmLgoKMjAxNi0wNy0xNyAyMjo0MTowMiArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5oOgoJICBzcGxpdG11eHNpbms6IEhhbmRsZSBuZWdhdGl2ZSBydW5uaW5nIHRpbWUKCSAgVXNlIHNpZ25lZCBjbG9jayB0aW1lcyBmb3IgcnVubmluZyB0aW1lIGV2ZXJ5d2hlcmUKCSAgc28gdGhhdCB3ZSBoYW5kbGUgbmVnYXRpdmUgcnVubmluZyB0aW1lcyB3aXRob3V0CgkgIGdvaW5nIGhheXdpcmUsIHNpbWlsYXIgdG8gd2hhdCBxdWV1ZSBhbmQgbXVsdGlxdWV1ZQoJICBkbyB0aGVzZSBkYXlzLgoKMjAxNi0wNy0xOCAwMDoxMjo1NSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IERyb3AgbG9jayB3aGVuIHNlbmRpbmcgZHVtbXkgZXZlbnQKCSAgV2hlbiBwdXNoaW5nIHRoZSBkdW1teSBldmVudCBpbnRvIHRoZSBtdWx0aXF1ZXVlLAoJICBkcm9wIHRoZSBzcGxpdG11eCBsb2NrIG9yIGVsc2Ugd2UgbWlnaHQgZGVhZGxvY2suCgoyMDE2LTA2LTMwIDAxOjU2OjQxICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogSW50ZXJzZWN0IHdpdGggZmlsdGVyIGNhcHMgaW4gZ2V0Y2FwcyBmdW5jdGlvbi4KCSAgQWx3YXlzIGludGVyc2VjdCB3aXRoIHRoZSBmaWx0ZXIgY2FwcyBpbiB0aGUgZ2V0Y2FwcyBmdW5jdGlvbgoJICB0byBtYWtlIHN1cmUgd2UgcmV0dXJuIGEgc3Vic2V0IG9mIHdoYXQgd2FzIHJlcXVlc3RlZC4KCSAgT3RoZXIgcGF5bG9hZGVycyBhbHNvIGhhdmUgdGhpcyBwcm9ibGVtIGFuZCBuZWVkIGZpeGluZwoJICBpbiBmdXR1cmUgY29tbWl0cy4KCjIwMTYtMDctMTIgMTc6MzA6NTYgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRkZW11eC5jOgoJICB0ZXN0czogcXRkZW11eDogZml4IGVsZW1lbnQgYW5kIHBhZCBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njg3MzkKCjIwMTYtMDctMTIgMTY6NDU6MzYgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9maXJmaWx0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9paXJmaWx0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9ib3guYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2VmZmVjdHYuYzoKCSAgdGVzdHM6IGZpeCBidXMgbGVha3MKCSAgZ3N0X2J1c19hZGRfc2lnbmFsX3dhdGNoKCkgdGFrZXMgYSByZWYgb24gdGhlIGJ1cyB3aGljaCBzaG91bGQgYmUKCSAgcmVsZWFzZWQgdXNpbmcgZ3N0X2J1c19yZW1vdmVfc2lnbmFsX3dhdGNoKCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njg3MzkKCjIwMTYtMDctMTQgMDM6MDc6MTEgKzA4MDAgIFRpbmctV2VpIExhbiA8bGFudHdAc3JjLmdub21lLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBDYWxsIEFHX0dTVF9QS0dfQ09ORklHX1BBVEggdG8gc2V0IEdTVF9QS0dfQ09ORklHX1BBVEgKCSAgR1NUX1BLR19DT05GSUdfUEFUSCBpcyB1c2VkIGluIGRvY3MvcGx1Z2lucyBkaXJlY3RvcnksIHNvCgkgIEFHX0dTVF9QS0dfQ09ORklHX1BBVEggbXVzdCBiZSBjYWxsZWQgdG8gc2V0IGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4Nzg3CgoyMDE2LTA3LTEyIDA3OjM5OjU4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IERvbid0IGRyb3AgZmluYWwgYnl0ZXMgb2YgYSByYW5nZSByZXF1ZXN0CgkgIEF0IHRoZSBlbmQgb2YgYSByYW5nZSByZXF1ZXN0LCB3ZSBkb24ndCB3YW50IHRvIHJldHVybiBHU1RfRkxPV19FT1Mgb3RoZXJ3aXNlCgkgIHRoZSBsYXN0IGJ5dGVzIHdlIGp1c3QgcmVhZCB3aWxsIGJlIGRyb3BwZWQgYnkgYmFzZXNyYy4KCSAgSW5zdGVhZCBqdXN0IHJldHVybiBHU1RfRkxPV19PSyAod2hpY2ggd2FzIHNldCBqdXN0IGJlZm9yZSkgYW5kIGxldCBiYXNlc3JjCgkgIGhhbmRsZSB0aGUgZmFjdCB3ZSBhcmUgYXQgdGhlIGVuZCBvZiB0aGUgc2VnbWVudC4KCjIwMTYtMDctMTEgMTg6MzA6MTggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJkZXZpY2Vwcm92aWRlci5jOgoJICB2NGwycHJvdmlkZXI6IEZpeCBkZXZpY2UgdHlwZSBkZXRlY3Rpb24KCSAgVGhlIHR5cGUgZGV0ZWN0aW9uIHdvdWxkIGxlYWQgdG8gYXNzZXJ0aW9uIGFzIGl0IHdvdWxkIHRyeQoJICB0byBjcmVhdGUgYSBkZXZpY2Ugd2l0aG91dCBoYXZpbmcgZm91bmQgYW55IHR5cGUgZm9yIGl0LiBJdAoJICBhbHNvIGRpZG4ndCBkZXRlY3QgTVBMQU5FIGRldmljZXMgcHJvcGVybHkuCgoyMDE2LTA3LTExIDE4OjI5OjAxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IERvbid0IGFzc2VydCB3aGVuIHVzZWQgYnkgdGhlIG1vbml0b3IKCSAgVGhlIG1vbml0b3Igc2V0cyB0aGUgb2JqZWN0LT5lbGVtZW50IG9iamVjdCBhcyBhIEdzdE9iamVjdC4gVGhpcwoJICB3b3JrcyBmb3IgZGVidWcgdHJhY2VzLCBidXQgd2lsbCBhc3NlcnQgZm9yIEVMRU1FTlRfRVJST1IuIFRoaXMKCSAgd2FzIHRoZSBvbmx5IGNhc2Ugd2hlcmUgdGhhdCBjb3VsZCBoYXBwZW4uIEFkZCBhIGNoZWNrIGZvciB0aGF0LgoKMjAxNi0wNy0xMSAxNzozODowMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBJbmRlbnQgdmVyeSBsb25nIGxpbmUKCjIwMTYtMDctMTIgMDA6NDI6MDIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogQXQgdGhlIGVuZCBvZiBhIHJhbmdlIHJlcXVlc3QsIHJlYWQgYW5vdGhlciB0aW1lIHRvIGZpbmFsaXplIHRoZSByZXF1ZXN0CgkgIElmIHdlJ3JlIGF0IHRoZSBlbmQgb2YgYSByYW5nZSByZXF1ZXN0LCByZWFkIGFnYWluIHRvIGxldCBsaWJzb3VwCgkgIGZpbmFsaXplIHRoZSByZXF1ZXN0LiBUaGlzIGFsbG93cyB0byByZXVzZSB0aGUgY29ubmVjdGlvbiBhZ2FpbiBsYXRlciwKCSAgb3RoZXJ3aXNlIHdlIHdvdWxkIGhhdmUgdG8gY2FuY2VsIHRoZSBtZXNzYWdlIGFuZCBjbG9zZSB0aGUgY29ubmVjdGlvbi4KCjIwMTYtMDctMTEgMjE6MTM6NDcgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGYzNjNiMzIgdG8gZjQ5YzU1ZQoKMjAxNi0wNy0xMSAxOTo1NzoxOCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBGaXgga2VlcC1hbGl2ZSBoYW5kbGluZwoJICBXZSBoYXZlIHRvIGdldCByaWQgb2YgdGhlIG1lc3NhZ2Ugb24gRU9TIHdoZW4gdGhlIGNvbXBsZXRlIHN0cmVhbSBpcyByZWFkIHRvCgkgIHJlbWVtYmVyIHRoYXQgd2Ugc3VjY2Vzc2Z1bGx5IGZpbmlzaGVkIGhhbmRsaW5nIHRoaXMgc3BlY2lmaWMgbWVzc2FnZS4KCSAgT3RoZXJ3aXNlIHdlIHdpbGwgY2FuY2VsIGl0IGxhdGVyIGFuZCBjbG9zZSB0aGUgY29ubmVjdGlvbiBpbnN0ZWFkIG9mIHJldXNpbmcKCSAgaXQgYXQgYSBsYXRlciB0aW1lLgoJICBJdCBtaWdodCBhbHNvIG1ha2Ugc2Vuc2UgdG8gcmV1c2UgY29ubmVjdGlvbnMgaWYgYSBub24tMjAwIHJlc3BvbnNlIGlzCgkgIHJlY2VpdmVkLiBBcyBsb25nIGFzIHRoZXJlIHdhcyBubyBjb25uZWN0aW9uIGVycm9yLCB0aGUgSFRUUCBjb25uZWN0aW9uIHNob3VsZAoJICBiZSByZS11c2FibGUuCgoyMDE2LTA3LTExIDEyOjA1OjA2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEFsc28gZW5hYmxlIFY0TDIgcHJvYmUgb24gYWFyY2g2NCAoYWthIEFSTSA2NGJpdCkKCjIwMTYtMDctMTEgMTE6NTk6MTkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LVBDTUEuYzoKCSAgcnRwIGV4YW1wbGU6IEZpeCBsZWFrCgkgIEFsc28gc3RvcCBmZXRjaGluZyB0aGUgaW50ZXJuYWwgc291cmNlIGFzIHRoaXMKCSAgZnVuY3Rpb25hbGl0eSBoYXMgYmVlbiBicm9rZW4uCgoyMDE2LTA3LTA4IDE0OjU4OjM3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEVuYWJsZSB2NGwyIHByb2JlIG9uIExpbnV4L0FSTQoJICBNb3N0IG9mIHRob3NlIGhhdmUgVjRMMiBkcml2ZXJzIHRoZXNlIGRheXMgZW5hYmxpbmcgaXQgbWFrZSBzdXJlIHRoYXQgaXQKCSAgdGhpcyBjb2RlIGlzIGVuYWJsZWQgaW4gbWFqb3IgZGlzdHJpYnV0aW9uLCBoZW5jZSB0aGF0IEhXIGFjY2VsZXJhdGVkCgkgIGRlY29kZXIvZW5jb2RlciBjYW4gYmUgdXNlZCBvbiBwbGF0Zm9ybXMgdGhhdCBzdXBwb3J0IGl0LiBUaGUgcHJvYmVzIGFyZQoJICBzbGlnaHRseSBpbmNyZWFzaW5nIHRoZSBmaXJzdCBpbml0IG9mIGdzdHJlYW1lciBsaWJyYXJ5LCB0aG91Z2ggdGhlCgkgIHJlc3VsdCBpcyBjYWNoZWQgaW4gdGhlIHJlZ2lzdHJ5IGZvciBsYXRlciB1c2UuCgoyMDE2LTA3LTExIDA5OjQ2OjQ5ICswMjAwICBKb25hcyBIb2xtYmVyZyA8am9uYXNoZ0BheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICBydHBoMjY1cGF5OiBBY2NlcHQgYXJyYXlfY29tcGxldGVuZXNzPTEKCSAgV2hlbiBwYXJzaW5nIE5BTCB1bml0IHR5cGUgaW4gY29kZWNfZGF0YSwgY2hlY2sgdGhlIDZiaXRzIG9mCgkgIE5BTF91bml0X3R5cGUgb25seSBhbmQgZG8gbm90IHJlcXVpcmUgdGhlIGFycmF5X2NvbXBsZXRlbmVzcyBiaXQgdG8gYmUKCSAgMCwgc2luY2UgdGhlIGRlZmF1bHQgYW5kIG1hbmRhdG9yeSB2YWx1ZSBvZiBhcnJheV9jb21wbGV0ZW5lc3MgaXMgMSBmb3IKCSAgaHZjMS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODY1MwoKMjAxNi0wNy0xMCAyMTozNTowNiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBBbHNvIGNvcHkgZGV2aWNlX2NhcHMgaW4gZ3N0X3Y0bDJfZHVwCgkgIFRoaXMgZml4ZXMgcmVncmVzc2lvbiB3aGVyZSBNMk0gZXJyb3Igb3V0IHNheWluZyB0aGV5IGhhdmUgbm8gb3V0cHV0CgkgIGZvcm1hdCAodGhlIFY0TDIgQ0FQVFVSRSBzaWRlKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODE5NQoKMjAxNi0wNy0xMCAyMTozMDoyNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogVXNlIGNvcnJlY3QgaW42X3BrdGluZm8gc3RydWN0IGluc3RlYWQgb2YgaW5fcGt0aW5mbwoJICBGaXhlcyB0aGUgYnVpbGQgb24gRnJlZUJTRCwgd2hpY2ggZG9lcyBub3QgaGF2ZSB0aGUgbGF0dGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4NjIzCgoyMDE2LTA3LTA4IDE3OjI4OjE5ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBmaXggbXVsdGlwbGFuYXIgY2FwdHVyZQoJICBBZnRlciBzd2l0Y2hpbmcgdG8gdXNpbmcgVjRMMl9DQVBfREVWSUNFX0NBUFMgd2UgbG9zdCBzdXBwb3J0IGZvcgoJICBtdWx0aXBsYW5hciBkZXZpY2UgdHlwZXMuIEFmdGVyIHNvbWUgcmVzZWFyY2gsIGl0IGxvb2tzIGxpa2UKCSAgdmNhcC5jYXBhYmlsaXRpZXMgdHJlYXRlZCB0aGUgbXVsdGlwbGFuYXIgZmxhZyBvZiBvdXRwdXQgYW5kIGNhcHR1cmUKCSAgZGV2aWNlcyBlcXVhbGx5LCBidXQgbm90IHRoZSBuZXcgZGV2aWNlX2NhcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjgxOTUKCjIwMTYtMDctMDggMTQ6NTY6MzAgKzAyMDAgIE1hdHMgTGluZGVzdGFtIDxtYXRzbG1AYXhpcy5jb20+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5oOgoJICBtdWx0aXBhcnRtdXg6IFVzZSBQVFMgYW5kIERUUyBpbnN0ZWFkIG9mIHRpbWVzdGFtcAoJICBBbmQgcGFzcy10aHJvdWdoIGJvdGggb2YgdGhlbS4KCSAgQmFzZWQgb24gYSBwYXRjaCBieSBHw7ZyYW4gSsO2bnNzb24gPGdvcmFuam5AYXhpcy5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njc5MDAKCjIwMTYtMDYtMzAgMTQ6NDA6NDAgKzAyMDAgIFRob21hcyBTY2hldWVybWFubiA8VGhvbWFzLlNjaGV1ZXJtYW5uQGJhcmNvLmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jOgoJICBqYWNrOiBkb24ndCB3YWl0IGZvciBjYWxsYmFja3MgaWYgdGhlIGphY2sgc2VydmVyIHNodXQgZG93bgoJICBPdGhlcndpc2Ugd2UnbGwgd2FpdCBmb3JldmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3Mjc1CgoyMDE2LTA2LTIzIDE1OjMwOjE5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IExldCB1cHN0cmVhbSBldmVudHMgZ28gdGhyb3VnaCB1cHN0cmVhbQoJICBUaGVyZSdzIG5vIHJlYWwgcmVhc29uIHRvIGF2b2lkIHNlbmRpbmcgUU9TL05BVklHQVRJT04gZXZlbnRzIHVwc3RyZWEuCgkgIFNvbWUgZWxlbWVudHMgbWlnaHQgd2FudCB0byBoYXZlIHRoYXQgaW5mb3JtYXRpb24uCgoyMDE2LTA2LTIzIDE1OjIyOjU2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogTGV0IHVwc3RyZWFtIGV2ZW50cyBnbyB0aHJvdWdoIHVwc3RyZWFtCgkgIFRoZXJlJ3Mgbm8gcmVhbCByZWFzb24gdG8gYXZvaWQgc2VuZGluZyBRT1MvTkFWSUdBVElPTiBldmVudHMgdXBzdHJlYS4KCSAgU29tZSBlbGVtZW50cyBtaWdodCB3YW50IHRvIGhhdmUgdGhhdCBpbmZvcm1hdGlvbi4KCjIwMTYtMDYtMjMgMTU6MTc6MzYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJICBkdmRlbXV4OiBMZXQgdXBzdHJlYW0gZXZlbnRzIGdvIHRocm91Z2ggdXBzdHJlYW0KCSAgVGhlcmUncyBubyByZWFsIHJlYXNvbiB0byBhdm9pZCBzZW5kaW5nIFFPUy9OQVZJR0FUSU9OIGV2ZW50cyB1cHN0cmVhLgoJICBTb21lIGVsZW1lbnRzIG1pZ2h0IHdhbnQgdG8gaGF2ZSB0aGF0IGluZm9ybWF0aW9uLgoJICBBbHNvIHJlbW92ZSBkb3duc3RyZWFtLW9ubHkgQ0FQUyBldmVudCBoYW5kbGluZyBhbmQgbWluaW1pemUgY29kZQoKMjAxNi0wNy0wNyAyMzo1Mzo1NCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSAgdjRsMjogZml4IHY0bDIgcHJvYmUgYnVpbGQgZXJyb3IKCSAgQSB0eXBvIGluIGdzdF92NGwyX3Byb2JlX2FuZF9yZWdpc3RlcigpIGNhdXNlZCBhIGJ1aWxkIGVycm9yIHdoZW4gYnVpbGRpbmcKCSAgd2l0aCAtLWVuYWJsZS12NGwyLXByb2JlLiBGaXhpbmcgaXQuCgkgIGdzdHY0bDIuYzogSW4gZnVuY3Rpb24gJ2dzdF92NGwyX3Byb2JlX2FuZF9yZWdpc3Rlcic6CgkgIGdzdHY0bDIuYzoxNTA6MjU6IGVycm9yOiAnc3RydWN0IHY0bDJfY2FwYWJpbGl0eScgaGFzIG5vIG1lbWJlciBuYW1lZCAnY2FwYWJpbGl0aXRlcycKCSAgZGV2aWNlX2NhcHMgPSB2Y2FwLmNhcGFiaWxpdGl0ZXM7CgoyMDE2LTA3LTAxIDIyOjUzOjMzIC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IHVzZSBnc3RfY2Fwc19pbnRlcnNlY3RfZnVsbCBpbiBuZWdvdGlhdGUoKQoJICBJbnN0ZWFkIG9mIHJlaW1wbGVtZW50aW5nIHRoZSBHU1RfQ0FQU19JTlRFUlNFQ1RfRklSU1QKCSAgaW50ZXJlY3Rpb24gbW9kZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODE5NQoKMjAxNi0wNy0wMiAwMTo1NjowNyAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyZGV2aWNlcHJvdmlkZXIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJyYWRpby5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IHVzZSBvcGVuZWQgZGV2aWNlIGNhcHMgaW5zdGVhZCBvZiBwaHlzaWNhbCBkZXZpY2Ugb25lcwoJICBUaGUgc2FtZSBwaHlzaWNhbCBkZXZpY2UgY2FuIGV4cG9ydCBtdWx0aXBsZSBkZXZpY2VzLiBJbgoJICB0aGlzIGNhc2UsIHRoZSBjYXBhYmlsaXRpZXMgZmllbGQgbm93IGNvbnRhaW5zIGEgdW5pb24gb2YKCSAgYWxsIGNhcHMgYXZhaWxhYmxlIGZyb20gYWxsIGV4cG9ydGVkIFY0TDIgZGV2aWNlcyBhbG9uZ3NpZGUKCSAgYSBWNEwyX0NBUF9ERVZJQ0VfQ0FQUyBmbGFnIHRoYXQgc2hvdWxkIGJlIHVzZWQgdG8gZGVjaWRlCgkgIHdoYXQgY2FwYWJpbGl0aWVzIHRvIGNvbnNpZGVyLiBJbiBvdXIgY2FzZSwgd2UgbmVlZCB0aGUKCSAgb25lcyBmcm9tIHRoZSBleHBvcnRlZCBkZXZpY2Ugd2UgYXJlIHVzaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4MTk1CgoyMDE2LTA3LTA3IDE4OjI0OjU5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogUmVtb3ZlIHN1c3BpY2lvdXMgY2hlY2tzIGZvciBwYWRzIGJlaW5nIGFjdGl2ZSBhbmQgbGlua2VkCgkgIFdlIHNob3VsZCBhZGQgYWxsIHBhZHMsIG5vIG1hdHRlciBpZiB0aGV5IGFyZSBsaW5rZWQgb3IgYWN0aXZlIG9yIG5vdCBhdCB0aGlzCgkgIHBvaW50LiBTa2lwcGluZyBzb21lIHRoYXQgYXJlIG5vdCB3aWxsIGNhdXNlIGRpZmZlcmVudCBiZWhhdmlvdXIgdGhhbiB3aXRoCgkgIG90aGVyIG11eGVycy4KCjIwMTYtMDctMDcgMTg6MjM6MDcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBFcnJvciBvdXQgaWYgd2Ugc3RhcnQgd3JpdGluZyBkYXRhIHdpdGggc29tZSBwYWRzIG5vdCBoYXZpbmcgYSBjb2RlYyBpZCB5ZXQKCSAgVGhpcyBjYW4gb25seSBoYXBwZW4gaWYgYSkgdXBzdHJlYW0gc29tZWhvdyBnZXRzIGFyb3VuZCB0aGUgQ0FQUyBldmVudCBmYWlsaW5nCgkgIG9yIGIpIHRoZXJlIG5ldmVyIGJlaW5nIGFueSBDQVBTIGV2ZW50LgoJICBUaGUgZm9sbG93aW5nIGNvZGUgYXNzdW1lcyB0aGF0IGFsbCBwYWRzIGhhdmUgYSBjb2RlYy1pZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODUwOQoKMjAxNi0wNy0wNyAxODoxNDo0MyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IENvbnNpc3RlbnRseSB1c2UgZ3N0X21hdHJvc2thX211eF9zZXRfY29kZWNfaWQoKSBmb3Igc2V0dGluZyB0aGUgY29kZWMgaWQKCjIwMTYtMDctMDQgMDk6NTA6MTEgKzAyMDAgIEpvbmFzIEhvbG1iZXJnIDxqb25hc2hnQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICBydHBoMjY1cGF5L2RlcGF5OiBTeW5jIGFnYWluc3QgUkZDIDc3OTgKCSAgSGFuZGxlIHNwcm9wLXZwcywgc3Byb3Atc3BzIGFuZCBzcHJvcC1wcHMgaW4gY2FwcyBpbnN0ZWFkIG9mCgkgIHNwcm9wLXBhcmFtZXRlci1zZXRzLgoJICBydHBoMjY1cGF5IHdvcmtzIHdpdGggYnl0ZS1zdHJlYW0gYW5kIGh2YzEgZm9ybWF0cyBidXQgbm90IGhldjEgeWV0LiBJdAoJICBoYW5kbGVzIHByb2ZpbGUtaWQsIHRpZXItZmxhZyBhbmQgbGV2ZWwtaWQgaW4gY2FwcyBxdWVyeS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mzc2MAoKMjAxNi0wNy0wNiAwOToyNTowMCArMDIwMCAgSmFuIEFsZXhhbmRlciBTdGVmZmVucyAoaGVmdGlnKSA8amFuLnN0ZWZmZW5zQGdtYWlsLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICBmbHZkZW11eDogUHVzaCBub21pbmFsIGJpdHJhdGUgdGFncwoJICBBZGQgcGVyLXN0cmVhbSB0YWcgbGlzdHMsIHdoaWNoIGFyZSB1c2VkIHRvIHNlbmQgbm9taW5hbAoJICBiaXRyYXRlIHRhZ3MuIFdoZW4gcmVtdXhpbmcgRkxWID0+IEZMViwgdGhpcyBub3cgcGFzc2VzCgkgIHRocm91Z2ggdGhlIHVwc3RyZWFtIGJpdHJhdGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njg0NDAKCjIwMTYtMDctMDYgMDk6MjQ6NDkgKzAyMDAgIEphbiBBbGV4YW5kZXIgU3RlZmZlbnMgKGhlZnRpZykgPGphbi5zdGVmZmVuc0BnbWFpbC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgZmx2ZGVtdXg6IFJlZmFjdG9yIG1ldGFkYXRhIHRhZyBoYW5kbGluZwoJICBUaGUgRkxWIGhlYWRlciBjYW5ub3QgYmUgdHJ1c3RlZCB0byBpbmRpY2F0ZSB2aWRlbyBvcgoJICBhdWRpbyBwcmVzZW5jZSwgYXMgdGhlIGNvbW1lbnRzIGFscmVhZHkgbWVudGlvbi4gRG9uJ3QKCSAgZGVsYXkgcHVzaGluZyB0YWdzIHdhaXRpbmcgZm9yIHN0cmVhbXMgdGhhdCBtaWdodCBuZXZlcgoJICBhcHBlYXIuCgkgIFRhZ3MgYXJlIG5vdyBwdXNoZWQgaW1tZWRpYXRlbHkgYWZ0ZXIgdGhleSBjaGFuZ2U6CgkgIC0gQWZ0ZXIgcGFyc2luZyBhbiBvbk1ldGFEYXRhIHNjcmlwdCBvYmplY3QKCSAgLSBBZnRlciBuZWdvdGlhdGluZyBjYXBzIG9uIGEgcGFkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njg0NDAKCjIwMTYtMDctMDYgMTI6NDQ6MTAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IEFBQyBjb2RlY19kYXRhIHZhbHVlcwoJICBBcyBzZWVuIGluIHRoZSBwYXJlbnQgc3dpdGNoIGZvciBvYmplY3RfdHlwZV9pZCwgdGhlIDQgcG9zc2libGUgdmFsdWVzIGFyZQoJICAweDQwLCAweDY2LCAweDY3IGFuZCAweDY4LiBGaXhpbmcgdGhlIG5lc3RlZCBzd2l0Y2ggdG8gbWF0Y2ggdGhlc2UgdmFsdWVzLgoJICBMb29rcyBsaWtlIGl0IHdhcyBhIHR5cG8gbWFraW5nIHRoZW0gZGVjaW1hbCBpbnN0ZWFkIG9mIGhleGFkZWNpbWFsLgoJICBDSUQgMTM2MzMyOAoKMjAxNi0wNy0wNiAxMzo1MTowMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS45LjEgPT09CgoyMDE2LTA3LTA2IDEzOjA2OjQ0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuOS4xCgoyMDE2LTA3LTA2IDExOjQ2OjI2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE2LTA3LTA2IDExOjIyOjUzICswMzAwICBTdGV2ZW4gSG92aW5nIDxzaEBiaWdicm90aGVyLm5sPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBGaXggZXJyb3IgbWVzc2FnZXMgdG8gZmlyc3QgY29udmVydCB0byBkb3VibGVzIGJlZm9yZSBkaXZpc2lvbgoKMjAxNi0wNy0wNiAxMDoxODozMCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2RhLnBvOgoJKiBwby9oci5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3NrLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNi0wNy0wNSAyMToxMTozNSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogU2V0IHRvIFBMQVlJTkcgYWZ0ZXIgYSBzZWVrIGFnYWluIGFmdGVyIHNldHRpbmcgdXAgdGhlIHNlZ21lbnQgYW5kIGV2ZXJ5dGhpbmcgZWxzZQoJICBUaGVyZSdzIGEgc21hbGwgd2luZG93IGZvciBhIHJhY2UgY29uZGl0aW9uIG90aGVyd2lzZS4KCjIwMTYtMDctMDQgMTc6NDU6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICBxdG11eDogVXNlIGNvbXBsZXRlIEFBQyBjYXBzIHdpdGggY29kZWNfZGF0YSBpbiB0aGUgdGVzdHMKCjIwMTYtMDctMDQgMTY6NTg6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBSZWplY3QgcmF3IEFBQyBpZiBubyBjb2RlY19kYXRhIGlzIGZvdW5kIGluIHRoZSBjYXBzCgkgIElmIG5lY2Vzc2FyeSwgYSBkZW11eGVyIHdpbGwgaGF2ZSB0byBpbnZlbnQgc29tZXRoaW5nIGhlcmUgYnV0IHRoaXMgaXMgb25seSBhCgkgIHByb2JsZW0gd2l0aCBub24tY29uZm9ybWFudCBmaWxlcyBhbnl3YXkuCgoyMDE2LTA3LTA0IDE2OjU1OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEludmVudCBBQUMgY29kZWNfZGF0YSBpZiBub25lIGlzIHByZXNlbnQKCSAgV2l0aG91dCwgcmF3IEFBQyBjYW4ndCBiZSBoYW5kbGVkIGFuZCB3ZSBoYXZlIHNvbWUgaW5mb3JtYXRpb24gYXZhaWxhYmxlIGluCgkgIHRoZSBkZWNvZGVyIHRoYXQgbW9zdCBsaWtlbHkgYWxsb3dzIHVzIHRvIGRlY29kZSB0aGUgc3RyZWFtIGluIG9uZSB3YXkgb3IKCSAgYW5vdGhlci4gVGhpcyBpcyB0aGUgc2FtZSBjb2RlIGFscmVhZHkgdXNlZCBieSBtYXRyb3NrYWRlbXV4IGZvciB0aGUgc2FtZQoJICByZWFzb25zLCBhbmQgZmZtcGVnL3ZsYyBwbGF5IHN1Y2ggZmlsZXMganVzdCBmaW5lIHRvbyBieSBndWVzc3dvcmsuCgoyMDE2LTA3LTA0IDE0OjU0OjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogUmVqZWN0IHJhdyBBQUMgY2FwcyB3aXRob3V0IGNvZGVjX2RhdGEKCSAgVGhlIHJlc3VsdGluZyBmaWxlIGlzIG5vdCBnb2luZyB0byBiZSBwbGF5YWJsZSB3aXRob3V0IGd1ZXNzd29yayBhbmQgcmF3IGNhcHMKCSAgc2hvdWxkIGFsd2F5cyBoYXZlIGNvZGVjX2RhdGEuCgoyMDE2LTA1LTEwIDE1OjQ4OjQ5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSAgcXRkZW11eDogSGFuZGxlIHVwc3RyZWFtIEdBUCBpbiBwdXNoLW1vZGUvdGltZSBzZWdtZW50CgkgIFRoaXMgaXMgdG8gaGFuZGxlIGNhc2VzIHdoZXJlIHVwc3RyZWFtIGhhbmRsZXMgdGhlIGZyYWdtZW50ZWQgc3RyZWFtaW5nIGluIFRJTUUKCSAgc2VnbWVudHMgYW5kIHNlbmRzIHVzIGRhdGEgd2l0aCBnYXBzIHdpdGhpbiBmcmFnbWVudHMuIFRoaXMgd291bGQgaGFwcGVuIHdoZW4gZGVhbGluZwoJICB3aXRoIHRyaWNrLW1vZGVzLgoJICBXaGVuIHVwc3RyZWFtIChwdXNoLWJhc2VkLCBUSU1FIFNFR01FTlQpIHdpc2hlcyB0byBzZW5kIGRpc2NvbnRpbnVvdXMgc2FtcGxlcywKCSAgaXQgbXVzdCBvYmV5IHRoZSBmb2xsb3dpbmcgcnVsZXM6CgkgICogVGhlIGJ1ZmZlciBjb250YWluaW5nIHRoZSBbbW9vZl0gbXVzdCBoYXZlIGEgdmFsaWQgR1NUX0JVRkZFUl9PRkZTRVQKCSAgKiBUaGUgYnVmZmVycyBjb250YWluaW5nIHRoZSBmaXJzdCBzYW1wbGUgYWZ0ZXIgYSBnYXA6CgkgICogTVVTVCBzdGFydCBhdCB0aGUgYmVnaW5uaW5nIG9mIGEgc2FtcGxlLAoJICAqIE1VU1QgaGF2ZSB0aGUgRElTQ09OVCBmbGFnIHNldCwKCSAgKiBNVVNUIGhhdmUgYSB2YWxpZCBHU1RfQlVGRkVSX09GRlNFVCByZWxhdGl2ZSB0byB0aGUgYmVnaW5uaW5nIG9mIHRoZSBmcmFnbWVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzM1NAoKMjAxNi0wNy0wMSAxMTo1NDo1NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy92NGwyL3Y0bDItdXRpbHMuYzoKCSAgdjRsMjogZml4IHBvdGVudGlhbCBkb3VibGUtZnJlZSBvZiBlcnJvciBkZWJ1ZyBzdHJpbmcKCSAgZ3N0X3Y0bDJfY2xlYXJfZXJyb3IoKSBkb2Vzbid0IHdvcmsgbGlrZSBnX2NsZWFyX2Vycm9yKCksIGl0CgkgIGRvZXNuJ3QgTlVMTGlmeSB0aGUgcG9pbnRlciwgc28gc2V0IGZyZWVkIGRlYnVnIHN0cmluZyB0byBOVUxMCgkgIHNvIGl0IGRvZXNuJ3QgZ2V0IGZyZWVkIGFnYWluIGlmIGdzdF92NGwyX2NsZWFyX2Vycm9yKCkgaXMKCSAgY2FsbGVkIHR3aWNlIG9uIHRoZSBlcnJvci4KCSAgQ0lEIDEzNjI5MDEKCjIwMTYtMDctMDEgMTA6MDU6MDAgKzAwMDAgIEJyYWQgTGFja2V5IDxibGFja2V5QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogRG9uJ3QgZGlzYWJsZSBVRFAgcHJvdG9jb2xzIG9uIHJlZGlyZWN0aW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjgyMzIKCjIwMTYtMDctMDEgMTc6Mjg6MTcgKzA5MDAgIFNldW5naGEgWWFuZyA8c2gueWFuZ0BsZ2UuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFB1c2ggY2FwcyBvbmx5IHdoZW4gaXQgd2FzIHVwZGF0ZWQKCSAgQ29tbWl0IDc4NzNiZWRlMzEzNGIxNWU1MDY2ZThkMTRlNTRkMWY1MDU0ZDIwNjMgY2F1c2VkIG5ldyBjYXBzCgkgIGV2ZW50IHBlciBtb29mIHdpdGhvdXQgY29uc2lkZXJhdGlvbiBvZiBkdXBsaWNhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODI2OAoKMjAxNi0wNi0zMCAxNTowMTo0NiArMDIwMCAgSm9uYXMgSG9sbWJlcmcgPGpvbmFzaGdAYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHBoMjY1ZGVwYXk6IGZpeCBpbnZhbGlkIG1lbW9yeSBhY2Nlc3MKCSAgMTAgYnl0ZXMgd2FzIGFsbG9jYXRlZCBmb3Igc3RyZWFtX2Zvcm1hdCBidXQgc2l6ZSBvZiAiYnl0ZS1zdHJlYW0iIGlzCgkgIG1vcmUuIFVzZSBnX3N0cmR1cCgpIGluc3RlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM3NjAKCjIwMTYtMDYtMjkgMjM6MzE6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJICBzaG91dDI6IFVzZSBhIG5vbi10aW1lciBHc3RQb2xsCgkgIE90aGVyd2lzZSBzZXRfZmx1c2hpbmcoKSB3aWxsIGhhdmUgdW5kZWZpbmVkIHNlbWFudGljcyBhbmQgbm93YWRheXMgY2F1c2VzIGEKCSAgZ19jcml0aWNhbCgpIHRvIHdhcm4gYWJvdXQgdGhhdC4KCjIwMTYtMDYtMTkgMDI6MDg6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzYW50b3NAZ21haWwuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgc291cGh0dHBzcmM6IGR5bmFtaWNhbGx5IGFkanVzdCBibG9ja3NpemUKCSAgVXBkYXRlIHRoZSBibG9ja3NpemUgZGVwZW5kaW5nIG9uIGhvdyBtdWNoIGlzIG9idGFpbmVkIGZyb20gYSByZWFkCgkgIG9mIHRoZSBpbnB1dCBzdHJlYW0uIFRoaXMgYXZvaWRzIGRvaW5nIHRvbyBtYW55IHJlYWRzIGluIHNtYWxsIGNodW5rcwoJICB3aGVuIGxhcmdlciBhbW91bnRzIG9mIGRhdGEgYXJlIGF2YWlsYWJsZSBhbmQgYWxzbyBwcmV2ZW50cyB1c2luZwoJICBhIHZlcnkgbGFyZ2UgbWVtb3J5IGFyZWEgdG8gcmVhZCBhIHNtYWxsIGNodW5rIG9mIGRhdGEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njc4MzMKCjIwMTYtMDYtMjggMTY6NDQ6NTAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IFdpbmRvd3MgaGFzIG5vIGlwaV9zcGVjX2RzdCBpbiBzdHJ1Y3QgaW5fcGt0aW5mbwoKMjAxNi0wNi0yOCAxNToxNToxNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogI2RlZmluZSBfX0FQUExFX1VTRV9SRkNfMzU0MiB0byBiZSBhYmxlIHRvIHVzZSBJUFY2X1BLVElORk8gb24gT1NYL2lPUwoKMjAxNi0wNi0yOCAxNTowODowNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogTW92ZSAjaW5jbHVkZXMgYXJvdW5kIHRvIGEpIHdvcmsgYXJvdW5kIGJyb2tlbiBnbGliYyBoZWFkZXIgYW5kIGIpIFdpbmRvd3MKCjIwMTYtMDYtMjggMTQ6MjU6MDMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IEZpeCBjb21waWxhdGlvbiBvbiBXaW5kb3dzIGFuZCAqQlNEL09TWAoKMjAxNi0wNi0yMyAyMDoyMTo1OSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogRmlsdGVyIG91dCBtdWx0aWNhc3QgcGFja2V0cyB0aGF0IGFyZSBub3QgZm9yIG91ciBtdWx0aWNhc3QgYWRkcmVzcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3OTgwCgoyMDE2LTA2LTI4IDEwOjU3OjI3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBXaGVuIHNlZWtpbmcsIGNvbnNpZGVyIHRoZSBjdXJyZW50IGVsZW1lbnQgc3RhdGUgb3IgcGVuZGluZyBzdGF0ZSBpbnN0ZWFkIG9mIHRoZSBSVFNQIHN0YXRlCgkgIElmIHdlIGNvbnNpZGVyIHRoZSBSVFNQIHN0YXRlLCB3aGF0IGNhbiBoYXBwZW4gaXMgdGhhdCBpdCBpcyBQTEFZSU5HIGJ1dCB0aGUKCSAgZWxlbWVudCBhbHJlYWR5IGFzeW5jaHJvbm91c2x5IHRyaWVkIHRvIFBBVVNFIGFuZCBpdCBqdXN0IGRpZCBub3QgaGFwcGVuIHlldC4KCSAgV2Ugd291bGQgdGhlbiBvdmVycmlkZSB0aGlzIHNldHRpbmcgdG8gUEFVU0VEICh3aGlsZSB0aGUgZWxlbWVudCBhY3R1YWxseSBpcwoJICBpbiBQQVVTRUQpIGFuZCBzZXQgdGhlIFJUU1Agc3RhdGUgdG8gUExBWUlORyBhZ2Fpbi4gVGhpcyB3b3VsZCB0aGVuIGNhdXNlIHVzCgkgIHRvIHByb2R1Y2UgcGFja2V0cyB3aGlsZSB0aGUgc2lua3MgYXJlIGFsbCBQQVVTRUQsIHBpbGluZyB1cCB0aG91c2FuZHMgb2YKCSAgcGFja2V0cyBpbiB0aGUgcnRwaml0dGVyYnVmZmVyIGFuZCBvdGhlciBlbGVtZW50cyBhbmQgZmluYWxseSBmYWlsaW5nLgoKMjAxNi0wNi0yNyAwOToyMDozNSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IEFkZCBjb21tZW50IGFib3V0IEgyNjMvTVBFRzRQMiBiZWluZyBub24tc3RhbmRhcmQgZm9yIEZMVgoJICBUaGV5IGFyZSBob3dldmVyIHN1cHBvcnRlZCBieSBmZm1wZWcgYW5kIGFwcGFyZW50bHkgdXNlZCBvdXQgdGhlcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjgwMDYKCjIwMTYtMDYtMjQgMTQ6NDg6NTMgKzAzMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQGFoaXJ1LmV1PgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogQWRkIHN1cHBvcnQgZm9yIEgyNjMgYW5kIE1QRUc0IHBhcnQyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjgwMDYKCjIwMTYtMDYtMjEgMTc6MTA6NTYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICBVcGRhdGUgcGx1Z2lucyBkb2MKCSAgVGhpcyBpcyBwYXJ0bHkgYXV0b21hdGVkIHVzaW5nICJtYWtlIHVwZGF0ZSIgaW4gZG9jcy9wbHVnaW5zLCBidXQgYWxzbwoJICByZXF1aXJlZCBtYW51YWwgbWVyZ2UuIEFkZGl0aW9uYWxseSwgbWlzc2luZyBwbHVnaW5zIGFuZCBlbGVtZW50cyBoYXZlCgkgIGJlZW4gYWRkZWQuCgoyMDE2LTA2LTIxIDE3OjUxOjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BsaXRtdXguYzoKCSAgdGVzdHM6IHNwbGl0bXV4OiBza2lwIHRlc3RzIGlmIHRoZW9yYSBvciBvZ2cgcGx1Z2lucyBhcmUgbm90IGF2YWlsYWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3ODYxCgoyMDE2LTA2LTIxIDExOjQ2OjEzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGFjMmY2NDcgdG8gZjM2M2IzMgoKMjAxNi0wNi0yMSAwNzo0MDo0MiAtMDQwMCAgQWFyb24gQm94ZXIgPGJveGVyYWJAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSAgZ3N0cnRwajJrcGF5OiB1c2UgdGlsZSBiaXQgYW5kIHRpbGUgbnVtYmVyIHRvIGRldGVybWluZSBpZiB0aGVyZSBhcmUgbXVsdGlwbGUgdGlsZXMgaW4gcGFja2V0CgkgIE5vdyB3ZSBkb24ndCBoYXZlIHRvIHJlbHkgb24gYSBzcGVjaWFsIHZhbHVlIGZvciB0aGUgdGlsZSBudW1iZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njc4MTcKCjIwMTYtMDYtMjEgMDk6MzQ6NTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJICBydHBqMmtwYXk6IGZpeCBjb21waWxlciB3YXJuaW5nIG9uIE9TL1gKCSAgZ3N0cnRwajJrcGF5LmM6MzY0OjIxOiBlcnJvcjogaW1wbGljaXQgdHJ1bmNhdGlvbiBmcm9tICdpbnQnIHRvIGJpdGZpZWxkIGNoYW5nZXMgdmFsdWUgZnJvbSAtMSB0byA2NTUzNQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3ODE3CgoyMDE2LTA2LTIxIDA5OjM0OjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkgIGRvY3M6IHVwZGF0ZQoKMjAxNi0wNS0xNiAxNzozMTo1OCArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYXBzc2V0dGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ljeWRlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHJ0eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91ZHBzcmMuYzoKCSAgZml4IGJ1ZmZlciBsZWFrcyBpbiB0ZXN0cwoJICBOZWVkIHRvIGNhbGwgZ3N0X2NoZWNrX2Ryb3BfYnVmZmVycygpIHRvIHJlbGVhc2UgdGhlIGJ1ZmZlcnMgZXhjaGFuZ2VkCgkgIGR1cmluZyB0aGUgdGVzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjU2MQoKMjAxNi0wNS0xNyAxMjo1Mjo0MyArMDMwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkgIGludGVybGVhdmU6IGZpeCBtZXNzYWdlIGxlYWtzIGluIHRlc3QKCSAgRmx1c2ggdGhlIGJ1cyB3aGVuIGNsZWFuaW5nIHVwIHNvIHBlbmRpbmcgbWVzc2FnZXMgYXJlIGRlc3Ryb3llZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjU2MQoKMjAxNi0wNS0xNyAxMjo1ODowNiArMDMwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IGZpeCBldmVudCBsZWFrcyBpbiB0ZXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY1NjEKCjIwMTYtMDUtMTMgMTU6MTI6MjIgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6CgkgIGRlaW50ZXJsZWF2ZTogZml4IGxlYWtzCgkgIC0gRmx1c2ggdGhlIGJ1cyBzbyBtZXNzYWdlcyBhcmVuJ3QgbGVha2VkCgkgIC0gRml4IHBhZCBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY1NjEKCjIwMTYtMDYtMTcgMTU6Mjk6MTYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogRGVwcmVjYXRlZCBzcHJvcC1wYXJhbWV0ZXItc2V0IHByb3BlcnR5CgkgIFRoaXMgaXMgc3VwcG9zZWQgdG8gYmUgZWl0aGVyIGluIHRoZSBjb2RlY19kYXRhIChhdmMgc3RyZWFtIGZvcm1hdCkgb3IgaW5zaWRlCgkgIHRoZSBzdHJlYW0sIGFuZCB3ZSBleHRyYWN0IGl0IGZyb20gdGhlcmUuIEl0IHNob3VsZCBub3QgYmUgc2V0IGZyb20gYQoJICBwcm9wZXJ0eSBhcyBpdCdzIHN0cmVhbSBzcGVjaWZpYy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Nzc4OQoKMjAxNi0wNi0xNyAxMjoxNjozMiAtMDcwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IG1ha2UgYWxsIHNydHAgZW5jb2RlciBwcm9wZXJ0aWVzIGV4cGxpY2l0CgkgIFRoZSBTZXNzaW9uIERhdGEgUHJvdG9jb2wgZG9lc24ndCBhbGxvdyBzcGVjaWZ5aW5nIGEgY2lwaGVyIGZvciB0aGUKCSAgU1JUQ1AsIHNvIGl0IHdpbGwgdXNlIHRoZSBTUlRQIG9uZS4gSW4gdGhlICJzcnRwZW5jIiBlbGVtZW50IHRoZSBjaXBoZXIKCSAgImFlcy0xMjgtaWNtIiBpcyB0aGUgZGVmYXVsdCBmb3IgU1JUUCBhbmQgU1JUQ1AsIGJ1dCBpZiB3ZSB3YW50IHRvIGhhdmUKCSAgYW4gU1JUQ1Agd2l0aCB0aGUgImFlcy0yNTYtaWNtIiBjaXBoZXIgdGhlbiB3ZSBhbHNvIG5lZWQgdG8gc2V0IHRoZSBTUlRQCgkgIGNpcGhlciB0byAiYWVzLTI1Ni1pY20iLCBvdGhlcndpc2UgImFlcy0xMjgtaWNtIiB3aWxsIGJlIHVzZWQgaW5zdGVhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Nzc5OQoKMjAxNi0wNi0xNyAxOTo1OToxMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXAuYzoKCSAgc291cDogd29yayBhcm91bmQgZnJlcXVlbnQgZGVhZGxvY2tzIGluIEdMaWIgdHlwZSBpbml0aWFsaXNhdGlvbgoJICAuLiBieSByZWdpc3RlcmluZyB0aGUgdHlwZXMgZnJvbSB0aGUgcGx1Z2luIGluaXQgZnVuY3Rpb24uIFRoaXMKCSAgc2VlbXMgdG8gaGVscCwgYnV0IHdlJ2xsIHNlZSBpZiBpdCdzIGVub3VnaCAobWlnaHQgbmVlZCBzaW1pbGFyCgkgIHRoaW5ncyBlbHNld2hlcmUpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzOTExCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzQ4ODUKCjIwMTYtMDYtMTcgMTY6MDg6MDggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBUaGUgcHJvcmVzIHZhcmlhbnQgaXMgc3RvcmVkIGluIHRoZSB2YXJpYW50IGZpZWxkLCBub3QgZm9ybWF0CgkgIEFuZCB0aGUgY2FwcyBpbiB0aGUgc2luayBwYWQgdGVtcGxhdGUgYWxyZWFkeSB1c2VkIHZhcmlhbnQgKG9ubHkpLgoKMjAxNi0wNi0xNyAxMzowMDo0OCArMDIwMCAgSm9uYXMgSG9sbWJlcmcgPGpvbmFzaGdAYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5Lmg6CgkgIHJ0cGgyNjVwYXk6IFJlbW92ZSBzcHJvcC1wYXJhbWV0ZXItc2V0cyBwcm9wZXJ0eQoJICBUaGVyZSBpcyBubyB2YWxpZCB1c2UgY2FzZSB3aGVuIHRoaXMgcHJvcGVydHkgaXMgbmVlZGVkIHNpbmNlIHRoZSB2YWx1ZXMKCSAgbXVzdCBiZSBpbiBlaXRoZXIgY29kZWNfZGF0YSBvciBidWZmZXIgZGF0YS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mzc2MAoKMjAxNi0wNi0xMCAxNjoxNzoyNiArMDIwMCAgSm9uYXMgSG9sbWJlcmcgPGpvbmFzaGdAYXhpcy5jb20+CgoJKiBkb2NzL3BsdWdpbnMvc2Nhbm9iai1idWlsZC5zdGFtcDoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkgIHJ0cGgyNjVwYXk6IFJlYWQgTkFMVSB0eXBlIHRoZSBzYW1lIHdheSBldmVyeXdoZXJlCgkgIENvc21ldGljIGNoYW5nZSB0byByZWFkIE5BTFUgdHlwZSBpbiBnc3RfcnRwX2gyNjVfcGF5X2RlY29kZV9uYWwoKSB0aGUKCSAgc2FtZSB3YXkgYXMgaW4gb3RoZXIgcGxhY2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNzYwCgoyMDE2LTA2LTE3IDEzOjU4OjMzICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZml4IFJUUEppdHRlckJ1ZmZlck1vZGUgZG9jdW1lbnRhdGlvbgoJICBEb2N1bWVudGF0aW9uIGxhY2tzICdAJyBiZWZvcmUgZWFjaCBlbnVtIHZhbHVlcyBhbmQgdGhlcmUgd2FzIGFuIGV4dHJhCgkgIGxpbmUgYWZ0ZXIgc3ltYm9sIHNlY3Rpb24gd2hpY2ggY29uZnVzZXMgR1RLLURvYyBwYXJzZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njc3ODgKCjIwMTYtMDUtMjMgMTA6MTg6NDggKzAyMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiB0YWtlIHRoZSBsb2NrIHdoZW4gY2hhbmdpbmcgc3RhdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjAyNQoKMjAxNi0wNi0xNSAxMToxOTo0MyArMDIwMCAgSsO8cmdlbiBTbG93YWNrIDxqdXJnZW4uc2xvd2Fja0BiYXJjby5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSAgcnRwaDI2NTogZml4IE5BTCB1bml0IHR5cGUgcGFyc2luZyBhbmQgU1BTL1BQUy9WUFMgZGV0ZWN0aW9uCgkgIEZpeGVzIHNwcy9wcHMvdnBzIGluc2VydGlvbiB2aWEgdGhlIGNvbmZpZy1pbnRlcnZhbCBwcm9wZXJ0eS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvL3Nob3dfYnVnLmNnaT9pZD03Njc2ODAKCjIwMTYtMDYtMTEgMTI6MTY6MDMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJICBzaW1wbGUtbGF1bmNoLWxpbmVzOiBVc2UgY29ycmVjdCBKUEVHMjAwMCBjYXBzCgoyMDE2LTA2LTEwIDEzOjQzOjA5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogZml4IGluZGVudGF0aW9uCgoyMDE2LTA2LTEwIDEzOjQyOjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogZml4IGRhdGUgcGFyc2luZyB3aGVuIHRoZXJlIGFyZSB0cmFpbGluZyBzcGFjZXMKCSAgRml4ZXMgcGFyc2luZyBvZiAiVGh1IE1heSAxMSAxNTo1Nzo0NiAyMDA2ICIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njc0OTYKCjIwMTYtMDUtMTMgMTU6MDg6MjQgLTA0MDAgIEFhcm9uIEJveGVyIDxib3hlcmFiQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwajJrY29tbW9uLmg6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSAgZ3N0cnRwajJrOiBzZXQgc2FtcGxpbmcgZmllbGQgcmVxdWlyZWQgYnkgUkZDCgkgIFRoaXMgZmllbGQgaXMgbm93IHJlcXVpcmVkIGluIHRoZSBzaW5rIGNhcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjYyMzYKCjIwMTYtMDYtMDkgMDk6MzA6NDggKzA5MDAgIFNldW5naGEgWWFuZyA8c2gueWFuZ0BsZ2UuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogRml4IHVucmVmIGFzc2VydGlvbiBmYWlsdXJlCgkgIEZpeCB1bnJlZiBhc3NlcnRpb24gZmFpbHVyZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3NDI0CgoyMDE2LTA1LTE0IDE0OjQ2OjE3ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogV29yayB3aXRoIG5vbi1USU1FIHNlZ21lbnRzCgkgIFdpdGggbm9uLXRpbWUgc2VnbWVudHMsIGl0IG5vdyBhc3N1bWVzIHRoYXQgdGhlIGFycml2YWwgdGltZSBvZiBwYWNrZXRzCgkgIGlzIG5vdCByZWxldmFudCBhbmQgdGhhdCBvbmx5IHRoZSBSVFAgdGltZXN0YW1wIG1hdHRlciBhbmQgaXQgcHJvZHVjZXMKCSAgYW4gb3V0cHV0IHNlZ21lbnQgc3RhcnQgYXQgcnVubmluZyB0aW1lIDAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY0MzgKCjIwMTYtMDYtMDcgMjA6NTM6MzQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgIHBuZ2RlYzogV2FpdCBmb3Igc2VnbWVudCBldmVudCBiZWZvcmUgY2hlY2tpbmcgaXQKCSAgVGhlIGhldXJpc3RpYyB0byBjaG9vc2UgYmV0d2VlbiBwYWNrZXRpc2Ugb3Igbm90IHdhcyBjaGFuZ2VkIHRvIHVzZSB0aGUKCSAgc2VnbWVudCBmb3JtYXQuIFRoZSBwcm9ibGVtIGlzIHRoYXQgdGhpcyBjaGFuZ2UgaXMgcmVhZGluZyB0aGUgc2VnbWVudAoJICBkdXJpbmcgdGhlIGNhcHMgZXZlbnQgaGFuZGxpbmcuIFRoZSBzZWdtZW50IGV2ZW50IHdpbGwgb25seSBiZSBzZW50CgkgIGFmdGVyLiBUaGF0IHByZXZlbnRlZCB0aGUgZGVjb2RlciB0byBnbyBpbiBwYWNrZXRpemUgbW9kZSwgYW5kIGF2b2lkCgkgIHVzZWxlc3MgcGFyc2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjI1MgoKMjAxNi0wNi0wNiAxNzowMDoyMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBXYWl0IGZvciBzZWdtZW50IGV2ZW50IGJlZm9yZSBjaGVja2luZyBpdAoJICBUaGUgaGV1cmlzdGljIHRvIGNob29zZSBiZXR3ZWVuIHBhY2tldGlzZSBvciBub3Qgd2FzIGNoYW5nZSB0byB1c2UgdGhlCgkgIHNlZ21lbnQgZm9ybWF0LiBUaGUgcHJvYmxlbSBpcyB0aGF0IHRoaXMgY2hhbmdlIGlzIHJlYWRpbmcgdGhlIHNlZ21lbnQKCSAgZHVyaW5nIHRoZSBjYXBzIGV2ZW50IGhhbmRsaW5nLiBUaGUgc2VnbWVudCBldmVudCB3aWxsIG9ubHkgYmUgc2VudAoJICBhZnRlci4gVGhhdCBwcmV2ZW50ZWQgdGhlIGRlY29kZXIgdG8gZ28gaW4gcGFja2V0aXplIG1vZGUsIGFuZCBhdm9pZAoJICB1c2VsZXNzIHBhcnNpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYyNTIKCjIwMTYtMDYtMDcgMTY6NDI6MDkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IEtlZXAgcGFydCBvZiB0aGUgaW5wdXQgYnVmZmVyCgkgIEluc3RlYWQgb2YgY29tcGxldGVseSBnZXR0aW5nIHJpZCBvZiB0aGUgaW5wdXQgYnVmZmVyLCBjb3B5CgkgIHRoZSBtZXRhZGF0YSwgdGhlIGZsYWdzIGFuZCB0aGUgdGltZXN0YW1wIGludG8gYW4gZW1wdHkgYnVmZmVyLgoJICBUaGlzIHdheSB0aGUgZGVjb2RlciBiYXNlIGNsYXNzIGNhbiBjb3B5IHRoYXQgaW5mb3JtYXRpb24gYWdhaW4KCSAgdG8gdGhlIG91dHB1dCBidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTg0MjQKCjIwMTYtMDYtMDcgMTY6NDE6NTggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IENvZGluZyBzdHlsZSBmaXhlcwoKMjAxNi0wNi0wNyAxNjowOToyMyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBDb2Rpbmcgc3R5bGUgZml4ZXMKCjIwMTYtMDYtMDcgMTY6MDQ6NTIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDI6IEFkZCBhbiBlcnJvciByZXR1cm4gdG8gX3RyeS9fc2V0X2Zvcm1hdAoJICBUaGlzIHdheSBvbmUgY2FuIGVhc2lseSBpZ25vcmUgZXJyb3JzLiBQcmV2aW91c2x5LCBlcnJvciB3ZXJlIGFsd2F5cwoJICBwb3N0ZWQgb250IGhlIGJ1cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjE3MgoKMjAxNi0wNi0wNyAxNjowMTo1NSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvdjRsMi11dGlscy5jOgoJKiBzeXMvdjRsMi92NGwyLXV0aWxzLmg6CgkgIHY0bDItdXRpbDogSW50cm9kdWNlIEdzdFY0bDJFcnJvcgoJICBUaGlzIGlzIHRvIGFsbG93IHJldHVybmluZyBhbiBlcnJvciB0aGF0IGNhbiBlYXNpbHkgYmUgc2VudCBhcwoJICBtZXNzYWdlIHRvIHRoZSBhcHBsaWNhdGlvbiBpZiB0aGUgZWxlbWVudCBuZWVkcyBpdC4gVXNpbmcgdGhpcwoJICBhbHNvIGFsbG93IGlnbm9yaW5nIGVycm9ycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjE3MgoKMjAxNi0wNi0wNyAxMjo0MToxOSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBBdm9pZCBkZWNpZGUgYWxsb2NhdGlvbiBvbiBhY3RpdmUgcG9vbAoJICB2NGwyc3JjIHdpbGwgcmVuZWdvdGlhdGUgb25seSBpZiB0aGUgZm9ybWF0IGhhdmUgY2hhbmdlZC4gQXMgb2Ygbm93LAoJICBpdCdzIG5vdCBwb3NzaWJsZSB0byBjaGFuZ2UgdGhlIGFsbG9jYXRpb253IHdpdGhvdXQgcmVzZXR0aW5nIHRoZQoJICBjYW1lcmEuIFRvIGF2b2lkIHVud2FudGVkIHNpZGUgZWZmZWN0LCBzaW1wbHkga2VlcCB0aGUgb2xkIGFsbG9jYXRpb24KCSAgaWYgbm8gcmVuZWdvdGlhdGlvbiBpcyB0YWtpbmcgcGxhY2UuIFRoaXMgZml4ZXMgYXNzZXJ0aW9uIGFuZCBwb3NzaWJsZQoJICBmYWlsdXJlcyBpbiBVU0VSUFRSIG9yIERNQUJVRiBpbXBvcnQgbW9kZSAod2hlbiB1c2luZyBkb3duc3RyZWFtIHBvb2xzKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDA0MgoKMjAxNi0wNC0yOCAxMzo0NDo0OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogU2hvdyBzdGF0ZSBuYW1lIGluIGRlYnVnZ2luZwoJICBNYWtlcyBpdCBlYXNpZXIgdG8gdHJhY2Ugd2hhdCdzIGdvaW5nIG9uCgoyMDE2LTA1LTEwIDE1OjQ1OjQyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFJlbW92ZSB1c2VsZXNzIHZhcmlhYmxlCgkgIFRoYXQgdmFyaWFibGUgaXMgb25seSBuZWVkZWQgZm9yIGEgZGVidWcgc3RhdGVtZW50LCBtb3ZlIGl0IHRoZXJlCgoyMDE2LTA1LTEwIDE1OjEwOjM2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBBZGQvRml4IGNvbW1lbnRzIG9uIHRoZSB2YXJpb3VzIHN0cnVjdHVyZSB2YXJpYWJsZXMKCSAgTm8gdmFyaWFibGVzIHdlcmUgYWRkZWQvcmVtb3ZlZC4gVGhpcyB3YXMganVzdCBhIGdvb2QgZXhjdXNlIHRvOgoJICAqIENvbW1lbnQgd2hhdCBtb3N0IHZhcmlhYmxlcyBhcmUgdXNlZCBmb3IgKGFuZCB3aGVuKQoJICAqIE9yZGVyIHRoZW0gaW4gc3VjaCBhIHdheSBhcyB0byBzaG93IGZpcnN0IHRoZSBjb21tb24gdmFyaWFibGVzIHVzZWQKCSAgaW4gYWxsIGNhc2VzLCBmb2xsb3dlZCBieSB0aG9zZSBvbmx5IHVzZWQgaW4gcHVzaC1tb2RlCgoyMDE2LTA1LTEwIDE1OjA3OjQwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFJlbW92ZSB1bnVzZWQgc3RydWN0dXJlCgkgIExldCdzIGp1c3QgcmVtb3ZlIGl0LCBiZWVuIGNvbW1lbnRlZCBmb3IgNysgeWVhcnMgOikKCjIwMTUtMDktMDIgMTE6NDg6MjkgKzAyMDAgIFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiB1c2UgZGVjb2RlciBzdG9wIGNvbW1hbmQgaW5zdGVhZCBvZiBxdWV1ZWluZyBlbXB0eSBidWZmZXJzCgkgIE9ubHkgaWYgdGhlIGRlY29kZXIgc3RvcCBjb21tYW5kIGZhaWxzLCBrZWVwIHF1ZXVlaW5nIGVtcHR5IGJ1ZmZlcnMgdG8KCSAgc2lnbmFsIGVuZCBvZiBzdHJlYW0gYXMgYmVmb3JlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzODY0CgoyMDE0LTEyLTEyIDE0OjMxOjM2ICswMTAwICBQZXRlciBTZWlkZXJlciA8cHMucmVwb3J0QGdteC5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBhZGQgZ3N0X3Y0bDJfZGVjb2Rlcl9jbWQgaGVscGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM4NjQKCjIwMTYtMDYtMDEgMjA6Mjg6MzkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRm9yd2FyZCBzZWdtZW50cyBkaXJlY3RseSBpZiB3ZSBhcmUgb3BlcmF0aW5nIGluIFBVU0ggbW9kZSBvbiBmcmFnbWVudGVkIHN0cmVhbXMKCSAgV2Ugc2hvdWxkbid0IGdvIHRocm91Z2ggc2VnbWVudCBhY3RpdmF0aW9uIGFzIHdlIHdpbGwgb25seSBoYXZlIGEgbGltaXRlZAoJICB1bmRlcnN0YW5kaW5nIG9mIGhvdyB0aGUgd2hvbGUgc3RyZWFtIHRpbWVsaW5lIGxvb2tzIGxpa2UgZnJvbSB0aGUgbW9vZi4gV2UKCSAgb25seSBrbm93IGFib3V0IHRoZSBjdXJyZW50IGZyYWdtZW50LCB3aGlsZSB1cHN0cmVhbSBrbm93cyBhYm91dCB0aGUgd2hvbGUKCSAgc3RyZWFtLgoJICBUaGlzIGZpeGVzIHNlZWtpbmcgaW4gREFTSCBzdHJlYW1zLCBib3RoIGZvciBzZWVrcyBhZnRlciB0aGUgY3VycmVudCBtb29mIGFuZAoJICBmb3Igc2Vla3MgaW50byB0aGUgY3VycmVudCBtb29mLiBUaGUgZm9ybWVyIHdvdWxkIGZhaWwgYmVjYXVzZSB0aGUgbW9vZiBlbmRzCgkgIGFuZCB3ZSBjYW4ndCBhY3RpdmF0ZSBhbnkgc2VnbWVudCwgdGhlIGxhdHRlciB3b3VsZCBjYXVzZSBhIHNlZ21lbnQgdGhhdCBzdG9wcwoJICBhdCB0aGUgbW9vZiBlbmQsIGFuZCBubyBmdXJ0aGVyIGZyYWdtZW50cyB3b3VsZCBiZSBwbGF5ZWQgYmVjYXVzZSB3ZSBlbmQgdXAKCSAgYmVpbmcgRU9TLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3MDcxCgoyMDE2LTA2LTA2IDE3OjU0OjEwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IFVzZSBsb29zZXIgY2FwcyBmb3IgdXBzdHJlYW0KCSAgV2hlbiB3ZSBmaXhhdGUgZm9yIHVwc3RyZWFtLCB0cnkgdG8gbm90IGludHJvZHVjZSBuZXcgZmllbGRzIHdoZW4gbm90CgkgIG5lZWRlZC4gVGhpcyB3YXMgaW1wb3J0ZWQgZnJvbSB2aWRlb2NvbnZlcnQgZWxlbWVudC4KCjIwMTUtMDEtMjggMTI6MDc6NTggKzAxMDAgIEVucmljbyBKb3JucyA8ZWpvQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICBnc3R2NGwydHJhbnNmb3JtOiBmb3JtYXQgZml4YXRpb24gZm9yIHByZWZlcnJpbmcgcGFzc3Rocm91Z2gKCSAgKiBJZiBvdXRnb2luZyBmb3JtYXQgaXMgdW5maXhhdGVkLCB0cnkgdG8gc2V0IGl0IHRvIGlucHV0IGZvcm1hdC4KCSAgKiBDYWxsIGdzdF9jYXBzX2ZpeGF0ZSAoKSBhdCBlbmQgb2YgZml4YXRpb24gcm91dGluZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NzE5CgoyMDE2LTA1LTIwIDEyOjQ5OjUzICswMjAwICBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBhbGxvdyB0byBjaGFuZ2UgcGl4ZWwgYXNwZWN0IHJhdGlvCgkgIFNjYWxlcnMgbWF5IGNoYW5nZSB3aWR0aCBhbmQgaGVpZ2h0IGluZGVwZW5kZW50bHksCgkgIGFsbG93IHRvIGNoYW5nZSBwaXhlbCBhc3BlY3QgcmF0aW8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY3MTIKCjIwMTYtMDUtMjAgMTI6MzI6MjUgKzAyMDAgIFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IGZpeCBzY2FsaW5nIGluIGNhc2Ugb2YgZml4ZWQgcGl4ZWwgYXNwZWN0IHJhdGlvCgkgIFRvIGNoYW5nZSBwaXhlbCBhc3BlY3QgcmF0aW8gZnJvbSBEQVIgdG8gUEFSLCB0aGUgbmVjZXNzYXJ5IHNjYWxpbmcgZmFjdG9yCgkgIGlzIERBUi9QQVIsIG5vdCBEQVIqUEFSLgoJICBGb3IgZ29vZCBtZWFzdXJlLCBhZGQgZGVidWcgb3V0cHV0IHNpbWlsYXIgdG8gdGhlIGZpeGVkLXdpZHRoIGFuZAoJICBmaXhlZC1oZWlnaHQgY2FzZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY3MTEKCjIwMTYtMDUtMTMgMTY6Mzk6MjUgKzAyMDAgIFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IGZpbGwgY29sb3JpbWV0cnkgaW4gZ3N0X3Y0bDJfb2JqZWN0X2FjcXVpcmVfZm9ybWF0CgkgIEluc3RlYWQgb2YgcmVseWluZyBvbiB0aGUgZGVmYXVsdCBjb2xvcmltZXRyeSBjaG9zZW4gYnkKCSAgZ3N0X3ZpZGVvX2luZm9fc2V0X2Zvcm1hdCgpLCBzZXQgaW5mby5jb2xvcmltZXRyeSBmcm9tIHRoZQoJICB2YWx1ZXMgcmV0dXJuZWQgYnkgR19GTVQuIFRoaXMgYWxsb3dzIGRlY29kZXJzIHRvIHByb3BhZ2F0ZQoJICB0aGVpciBpbnB1dCBjb2xvcmltZXRyeSBkb3duc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2MzgzCgoyMDE2LTA1LTE4IDEwOjE3OjEyICswMjAwICBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiByZWZhY3RvciBnc3RfdjRsMl9vYmplY3RfZ2V0X2NvbG9yc3BhY2UgdG8gdGFrZSBhIHY0bDJfZm9ybWF0IHBhcmFtZXRlcgoJICBNb3ZlIHRoZSBleHRyYWN0aW9uIG9mIGNvbG9yaW1ldHJ5IHBhcmFtZXRlcnMgZnJvbSBzdHJ1Y3QgdjRsMl9mb3JtYXQgYW5kIHRoZQoJICBzZXR0aW5nIG9mIHRoZSBpZGVudGl0eSBtYXRyaXggZm9yIFJHQiBmb3JtYXRzIGludG8gdGhlIGZ1bmN0aW9uIHRvIGF2b2lkIGNvZGUKCSAgZHVwbGljYXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjYzODMKCjIwMTYtMDUtMTMgMTQ6NTg6NDEgKzAyMDAgIFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiB1c2UgdmlzaWJsZSBzaXplLCBub3QgY29kZWQgc2l6ZSwgZm9yIGRvd25zdHJlYW0gbmVnb3RpYXRpb24gZmlsdGVyCgkgIGdzdF92NGwyX3Byb2JlX2NhcHMoKSByZXR1cm5zIHRoZSBjb2RlZCBzaXplLCBub3QgdGhlIHZpc2libGUgc2l6ZS4gU3VidHJhY3QKCSAgdGhlIGtub3duIHBhZGRpbmcgZnJvbSBwcm9iZWQgY2FwcyB3aXRoIHRoZSBjb2RlZCBzaXplIGJlZm9yZSB1c2luZyB0aGVtIGFzCgkgIGZpbHRlciBmb3IgY2FwcyBuZWdvdGlhdGlvbiB3aXRoIGRvd25zdHJlYW0gZWxlbWVudHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjYzODIKCjIwMTYtMDUtMTMgMTQ6NDU6MDIgKzAyMDAgIFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IHVzZSBHX1NFTEVDVElPTiBpbnN0ZWFkIG9mIEdfQ1JPUCBpbiBnc3RfdjRsMl9vYmplY3RfYWNxdWlyZV9mb3JtYXQKCSAgVGhlIGdzdF92NGwyX29iamVjdF9hY3F1aXJlX2Zvcm1hdCgpIGZ1bmN0aW9uIGlzIHVzZWQgYnkgdjRsMnZpZGVvZGVjIHRvIG9idGFpbgoJICB0aGUgY3VycmVudGx5IHNldCBjYXB0dXJlIGZvcm1hdC4gU2luY2UgR19GTVQgcmV0dXJucyB0aGUgY29kZWQgc2l6ZSwgdGhlCgkgIHZpc2libGUgc2l6ZSBuZWVkcyB0byBiZSBvYnRhaW5lZCBmcm9tIHRoZSBjb21wb3NlIHJlY3RhbmdsZSBpbiBvcmRlciB0bwoJICBuZWdvdGlhdGUgaXQgd2l0aCBkb3duc3RyZWFtIGVsZW1lbnRzLiBUaGUgR19DUk9QIGNhbGwgaGFzbid0IHdvcmtlZCBvbiBtZW0ybWVtCgkgIGNhcHR1cmUgcXVldWVzIGZvciBhIGxvbmcgdGltZS4gSW5zdGVhZCB1c2UgdGhlIEdfU0VMRUNUSU9OIGNhbGwgdG8gb2J0YWluIHRoZQoJICBjb21wb3NlIHJlY3RhbmdsZSBhbmQgb25seSBmYWxsIGJhY2sgdG8gR19DUk9QIGZvciBhbmNpZW50IGtlcm5lbHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjYzODEKCjIwMTYtMDEtMjcgMDk6NTc6MzggKzAxMDAgIEFuZHJlYXMgTmF1bWFubiA8YW5hdW1hbm5AdWx0cmF0cm9uaWsuZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyc2luazogVXNlIFY0TDJfQlVGX1RZUEVfVklERU9fT1VUUFVUX09WRVJMQVkgaWYgZHJpdmVyIGFkdmVydGlzZXMgaXQuCgkgIE9uIG1vZGVybiBrZXJuZWxzLCB0aGUgRy9TX0ZNVCBpb2N0bHMgd2lsbCBhbHdheXMgZmFpbCB1c2luZwoJICBWNEwyX0JVRl9UWVBFX1ZJREVPX09WRVJMQVkgd2l0aCBWRkxfRElSX1RYIChlLmcuIHJlYWwgb3ZlcmxheSBvdXQgZHJpdmVycykKCSAgc2luY2UgdGhpcyBpcyBub3QgdGhlIGludGVudGVkIHVzZSAocmF0aGVyIHJ4LCBhY2NvcmRpbmcgdG8gdjRsMiBBUEkgZG9jKS4KCSAgUHJvYmFibHkgdGhpcyBpcyB3aHkgdGhlIFZpZGVvIE91dHB1dCBPdmVybGF5IGludGVyZmFjZSB3YXMgY3JlYXRlZCwgc28gaWYKCSAgdGhlIGRyaXZlciBhZHZlcnRpc2VzIGl0IHdlIG1pZ2h0IGFzIHdlbGwgdXNlLgoJICBGb3Igb2xkIGtlcm5lbHMgKHByZSAyMDEyKSB0aGUgb2xkIHdheSBtaWdodCBzdGlsbCB3b3JrIHNvIGtlZXBpbmcgdGhpcyBmb3IKCSAgY29tcGF0aWJpbGl0eS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTE2NQoKMjAxNi0wNi0wNiAxODo1MjowMSArMDEwMCAgS2llcmFuIEJpbmdoYW0gPGtpZXJhbkBiaW5naGFtLnh5ej4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogVXNlIG5vbi1kZXByZWNhdGVkIFY0TDIgdHlwZSBmb3IgUkdCMTUKCSAgU3VwcG9ydCBmb3IgdGhlIHVwZGF0ZWQgVjRMMl9QSVhfRk1UX1hSR0I1NTUgd2FzIGFkZGVkIGluIGNvbW1pdAoJICAyNTM4ZmVlMmZkOGZkYjc0YjA1ZjBhNTExMjgxYmM0NzA3ZTdjYzQ0IGhvd2V2ZXIsIHdoZW4gc2V0dGluZyB0aGUgZm9ybWF0CgkgIGZvciB1c2UgaW4gdjRsMiBpb2N0bHMsIHRoZSBvbGQgZGVwcmVjYXRlZCBmb3JtYXQgaXMgc3RpbGwgdXNlZC4gQ29udmVydAoJICB0aGlzIHRvIHRoZSBuZXcgYWNjZXB0ZWQgZm9ybWF0IHR5cGUsIGFzIHRoZSBwcmVmZXJyZWQgZm9ybWF0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3MzAwCgoyMDE2LTA1LTA0IDE0OjUwOjMyICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBwcmVzZXJ2ZSBzZWVrIGZsYWdzCgkgIFdpdGhvdXQgdGhpcyBzb21lIGZsYWdzIGdldCBsb3N0IGluIHN0cmVhbWluZyBtb2RlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3MTk0CgoyMDE2LTA2LTA2IDEwOjQ3OjUyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvTWFrZWZpbGUuYW06CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBSZXZlcnQgIldJUCByZXZlcnQgc291cCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBmZGFjM2E3YTIzMWYzODQ4NjY1NjM2Y2Y4MTIyZjk2MTAzYjQ2ZTNiLgoJICBXYXMgbm90IHN1cHBvc2VkIHRvIGJlIHB1c2hlZCBidXQgYSBsb2NhbCB3b3JrYXJvdW5kIGZvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzOTExI2MxMwoKMjAxNi0wNi0wMyAxMzowOTozNSArMDIwMCAgTWlndWVsIFBhcsOtcyBEw61heiA8bXBhcmlzZGlhekBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiBjb21wbGV0ZSB3YXJuIGxvZyB3aXRoIFNTUkMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzE5NQoKMjAxNi0wNS0zMSAxNToyOToxMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL01ha2VmaWxlLmFtOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgV0lQIHJldmVydCBzb3VwCgoyMDE2LTA2LTAzIDEzOjE4OjMxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSAgZHZkZW11eDogVW5yZWYgc2VlayBldmVudCBpbiBhbnkgY2FzZQoJICBJdCB3b3VsZCBiZSBsZWFrZWQgaWYgbm8gc2VlayBoYW5kbGVyIHdhcyBjdXJyZW50bHkgc2V0LgoKMjAxNi0wNi0wMyAxMDo0OToxNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9kdi9nc3RkdmRlbXV4Lmg6CgkgIGR2ZGVtdXg6IFByb3Blcmx5IHNldCBldmVudC9tZXNzYWdlIHNlcXVlbmNlIG51bWJlcnMgYmFzZWQgb24gdGhlIHByZXZpb3VzIHNlZWsKCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjU5MzUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzE1NwoKMjAxNi0wNi0wMyAxMDozNjozMiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9kdi9nc3RkdmRlbXV4Lmg6CgkgIGR2ZGVtdXg6IFJlbWVtYmVyIGlmIHVwc3RyZWFtIGhhZCBhIHRpbWUgc2VnbWVudCBhbmQgaWYgbm90IHByb3Blcmx5IGNyZWF0ZSB0aW1lIHNlZ21lbnRzCgkgIFByZXZpb3VzbHkgdGhlIHNlZ21lbnQudGltZSB3YXMgd3JvbmcsIGFuZCB0aGUgcG9zaXRpb24gd2FzIG5vdCB1cGRhdGVkCgkgIGNvcnJlY3RseSwgcmVzdWx0aW5nIGluIHNlZWtzIGluIFBVU0ggbW9kZSB3aXRoIHVwc3RyZWFtIHByb3ZpZGluZyBhIEJZVEVTCgkgIHNlZ21lbnQgdG8gbm90IHdvcmsgYXQgYWxsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3MTU3CgoyMDE2LTA2LTAzIDA5OjU0OjUzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSAgZHZkZW11eDogSW1wbGVtZW50IFNFRUtJTkcgcXVlcnkgc28gd2UgY2FuIGFjdHVhbGx5IHNlZWsgaWYgdXBzdHJlYW0gY2FuJ3Qgc2VlayBpbiBUSU1FCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjcxNTcKCjIwMTYtMDYtMDIgMTQ6MTk6MTUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJICBkdmRlbXV4OiBSZWNhbGN1bGF0ZSB0aGUgZnJhbWUgb2Zmc2V0cyBhdCB0aGUgYmVnaW5uaW5nIG9mIGVhY2ggQllURSBzZWdtZW50IGFuZCB3aGVuZXZlciB1cHN0cmVhbSBnaXZlcyB1cyBhIHRpbWVzdGFtcAoJICBUaGlzIGZpeGVzIHNlZWtpbmcgaW4gRFYgc3RyZWFtcyB3aGVyZSB1cHN0cmVhbSBvcGVyYXRlcyBpbiBQVVNIIG1vZGUgd2l0aCBhCgkgIFRJTUUgc2VnbWVudCAoZS5nLiBhdmlkZW11eCkuIFdpdGhvdXQgdGhpcywgd2Ugd291bGQgZ2VuZXJhdGUgd3JvbmcgZHVyYXRpb25zCgkgIGFuZCB0aW1lc3RhbXBzIGFmdGVyIGEgc2Vlay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzE1NwoKMjAxNi0wNi0wMiAxMzo1Mzo0NCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9kdi9nc3RkdmRlbXV4Lmg6CgkgIGR2ZGVtdXg6IFBhc3MtdGhyb3VnaCBidWZmZXIgRElTQ09OVCBmbGFncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3MTU3CgoyMDE2LTA2LTAyIDE2OjE2OjQ1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cDlkZXBheS5jOgoJICBydHB2cDlkZXBheTogRG9uJ3QgYXNzZXJ0IG9uIGZsZXhpYmxlIG1vZGUgcGFja2V0cwoJICBJbnN0ZWFkIGp1c3QgcG9zdCBhIHdhcm5pbmcgb24gdGhlIGJ1cyBmb3Igbm93LgoKMjAxNi0wNi0wMiAxNTowMzoxNyArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgdGVzdHM6IHJ0cGJpbjogZml4IGNhcHMgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3MTU2CgoyMDE2LTA2LTAyIDE1OjAwOjAxICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FtcnBhcnNlLmM6CgkgIHRlc3RzOiBhbXJwYXJzZTogY2xlYW4gdXAgdGVzdAoJICAtIHVzZSBHU1RfQ0hFQ0tfTUFJTigpIHRvIHJlZHVjZSBib2lsZXJwbGF0ZQoJICAtIHVucmVmIHRoZSBpbnB1dCBjYXBzIHVzaW5nIGEgdGVhcmRvd24gZnVuY3Rpb24gdG8gcHJldmVudCBsZWFrcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3MTU2CgoyMDE2LTA1LTIwIDE1OjIyOjM1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJICBkZWludGVybGFjZTogRW5zdXJlIERJU0NPTlQgZmxhZyBpcyBwcm9wZXJseSBwcm9wYWdhdGVkCgkgIFRoZSBvdXRwdXQgb2YgZGVpbnRlcmxhY2UgYXQgc3RhcnR1cCwgb3Igd2hlbiByZWNlaXZpbmcgYSBuZXcgRElTQ09OVAoJICBidWZmZXIsIHNob3VsZCBoYXZlIHRoZSBESVNDT05UIGZsYWcgc2V0IG9uIHRoZSBmaXJzdCBidWZmZXIuCgoyMDE2LTA1LTMxIDIxOjM0OjA0ICswMjAwICBKb3NlcCBUb3JyYSA8YWRuNzcwQGdtYWlsLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJzcmM6IGNoZWNrIGZvciB2YWxpZCBzaXplIG9uIHJhdyB2aWRlbyBidWZmZXJzCgkgIERpc2NhcmQgYnVmZmVycyB0aGF0IGRvZXNuJ3QgY29udGFpbiBlbm91Z2ggZGF0YSB3aGVuIGRlYWxpbmcKCSAgd2l0aCByYXcgdmlkZW8gaW5wdXRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3MDg2CgoyMDE2LTA1LTMxIDE3OjEwOjM2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFVzZSB0aGUgZGVtdXhlciBzZWdtZW50IGluc3RlYWQgb2YgYSBuZXcgb25lIGZvciBNU1Mgc3RyZWFtcwoJICBVcHN0cmVhbSBtaWdodCBoYXZlIHRvbGQgdXMgc29tZXRoaW5nIGFib3V0IHRoZSB0byBiZSBleHBlY3RlZCBzZWdtZW50LCBzbwoJICBsZXQncyB1c2UgdGhhdCBpbmZvcm1hdGlvbiBpbnN0ZWFkIG9mIGNvbWluZyB1cCB3aXRoIGEgWzAsLTFdIHNlZ21lbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjcwNzEKCjIwMTYtMDUtMzEgMTc6MDQ6MzIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogT25seSBhY3RpdmF0ZSBzZWdtZW50cyBhbmQgc2VuZCBTRUdNRU5UIGV2ZW50cyBpZiB3ZSBoYXZlIHN0cmVhbXMKCSAgQnV0IGluIHRoYXQgY2FzZSBhbHNvIHJlbW92ZSB0aGUgcGVuZGluZyBuZXdzZWdtZW50IGV2ZW50LCBvdGhlcndpc2Ugd2Ugd291bGQKCSAgbGF0ZXIgc2VuZCBhIHBvc3NpYmx5IG91dGRhdGVkIGV2ZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3MDcxCgoyMDE2LTA1LTMxIDE2OjUzOjUwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEluIFBVTEwgbW9kZSwgbm90aGluZyBpcyBldmVyIGdvaW5nIHRvIHNlbmQgdXMgYSBTRUdNRU5UIGV2ZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjcwNzEKCjIwMTYtMDUtMzEgMTY6Mzg6MzQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRG9uJ3Qgb3ZlcnJpZGUgVElNRSBzZWdtZW50cyBmcm9tIHVwc3RyZWFtIHRoYXQgd2UganVzdCBzYXcKCSAgVGhlIHBvaW50IG9mIGQ4ZmI3YTljOTZiMTA4ODE0YmVlYWEwZTYzZjgxOGQ0NjQ4YzdmZTkgd2FzIHRvIG5vdCBoYXZlIGFueQoJICBzcHVyaW91cyBzZWdtZW50cyBzdG9yZWQgZm9yIGxhdGVyIGlmIHdlIGRvIEJZVEVTLT5USU1FIGNvbnZlcnNpb24sIGJ1dAoJICBvdmVycmlkaW5nIGFueSBUSU1FIHNlZ21lbnRzIGZyb20gdXBzdHJlYW0gZG9lcyBub3QgbWFrZSBhbnkgc2Vuc2UuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzMTY1CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjcwNzEKCjIwMTUtMDctMTYgMDk6NDg6NDYgKzA1MzAgIFByYXNoYW50IEdvdGFybmUgPHBzLmdvdGFybmVAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICBtdWx0aWZpbGVzcmM6IHNldCBwb3NpdGlvbiBhcyBvZmZzZXQgZnJvbSBzdGFydC1pbmRleAoJICBxdWVyeSBwb3NpdGlvbiBpbiBHU1RfRk9STUFUX0JVRkZFUiByZXR1cm5zCgkgIG9mZnNldCBmcm9tIHN0YXJ0LWluZGV4IHJhdGhlciB0aGFuIGluZGV4LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDYyCgoyMDE2LTA1LTI3IDEyOjQ5OjMyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzoKCSogdGVzdHMvZmlsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ZpbGVzL2dyYWRpZW50LmoyazoKCSAgdGVzdHM6IGFkZCB1bml0IHRlc3QgZm9yIEpQRUctMjAwMCBydHAgcGF5bG9hZGVyIGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Njg3MAoKMjAxNi0wNS0yNSAxNzoxMToxMyArMDIwMCAgUGllcnJlIExhbW90IDxwaWVycmUubGFtb3RAb3BlbndpZGUuZnI+CgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJICBydHBqMmtwYXk6IEZpeCBidWZmZXIgbWVtb3J5IGxlYWsKCSAgSW5wdXQgYnVmZmVyIG1lbW9yeSB3YXMgbm90IHVubWFwcGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY4NzAKCjIwMTYtMDUtMTggMTI6MTI6MTUgKzAzMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBmaXggY2FwcyBsZWFrCgkgIGdzdF92NGwyX29iamVjdF9wcm9iZV9jYXBzKCkgd2FzIHRha2luZyBhbiBleHRyYSByZWYgb24gdGhlIHJldHVybmVkCgkgIGNhcHMgZm9yIG5vIHJlYXNvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjYxMAoKMjAxNi0wNS0yMiAyMDoxNDoxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgIHZpZGVvY3JvcCBtYXJrIGNyb3AgcHJvcGVydGllcyBhcyBtdXRhYmxlIGluIHBsYXlpbmcgc3RhdGUKCjIwMTYtMDUtMjAgMTY6NDc6MzUgKzAzMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IGZpeCBidWZmZXIgbGVhayB3aGVuIGZsdXNoaW5nCgkgIFdoZW4gZWFybHkgcmV0dXJuaW5nIGluIGdzdF9zb3VwX2h0dHBfc3JjX3JlYWRfYnVmZmVyKCkgYmVjYXVzZSB0aGUKCSAgZWxlbWVudCBpcyBGTFVTSElORywgd2UgbmVlZCB0byB1bm1hcCBhbmQgdW5yZWYgdGhlIGJ1ZmZlciB3aGljaCB3YXMganVzdCBjcmVhdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NzE4CgoyMDE2LTA1LTIwIDExOjE1OjQ0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFNldCBzZWVrIGV2ZW50IHNlcW51bSBvbiBhbGwgU0VHTUVOVCBldmVudHMKCSAgU29tZSB3ZXJlIGZvcmdvdHRlbi4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjU5MzUKCjIwMTYtMDUtMjAgMTE6MTI6NDQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpZGVtdXg6IFBhc3MgdGhyb3VnaCBzZWVrIGV2ZW50IHNlcW51bXMgaW4gYWxsIFNFR01FTlQvRU9TIGV2ZW50cyBhbmQgU0VHTUVOVF9ET05FIG1lc3NhZ2VzL2V2ZW50cwoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTkzNQoKMjAxNi0wNS0yMCAxMDo1Njo1MiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBTZXQgc2VlayBldmVudCBzZXFudW0gaW4gRU9TIGFuZCBTRUdNRU5UX0RPTkUgbWVzc2FnZXMvZXZlbnRzCgkgIEFsc28gYWN0dWFsbHkgc3RvcmUgdGhlIHNlcW51bSBpbiBwdWxsIG1vZGUgc2Vla3MuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1OTM1CgoyMDE2LTA1LTE3IDEzOjQwOjM4ICswMzAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogZml4IGNhcHMgbGVhawoJICBUaGUgY2FwcyByZXR1cm5lZCBieSBnc3RfcGFkX2dldF9jdXJyZW50X2NhcHMoKSB3YXMgbmV2ZXIgdW5yZWZmZWQgd2hlbgoJICBub3QgZWFybHkgcmV0dXJuaW5nLgoJICBGaXggYSBsZWFrIHdpdGggdGhlIGVsZW1lbnRzL2RlaW50ZXJsYWNlIHRlc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY1NTgKCjIwMTYtMDEtMjUgMTY6MjU6NTEgKzAxMDAgIE1pa2hhaWwgRmx1ZGtvdiA8bWlzaGFAcGV4aXAuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBkb24ndCBhY3Qgb24gc3VzcGljaW91cyBCWUUgUlRDUAoJICBTb21lIGVuZHBvaW50cyAobGlrZSBUYW5kYmVyZyBFMjApIGNhbiBzZW5kIEJZRSBwYWNrZXQgY29udGFpbmluZyBvdXIKCSAgaW50ZXJuYWwgU1NSQy4gSSB0aGlzIGNhc2Ugd2Ugd291bGQgZGV0ZWN0IFNTUkMgY29sbGlzaW9uIGFuZCBnZXQgcmlkCgkgIG9mIHRoZSBzb3VyY2UgYXQgc29tZSBwb2ludC4gQnV0IGJlY2F1c2Ugd2UgYXJlIHN0aWxsIHNlbmRpbmcgcGFja2V0cwoJICB3aXRoIHRoYXQgU1NSQyB0aGUgc291cmNlIHdpbGwgYmUgcmVjcmVhdGVkIGltbWVkaWF0ZWx5LgoJICBUaGlzIGJyYW5kIG5ldyBpbnRlcm5hbCBzb3VyY2Ugd2lsbCBub3QgaGF2ZSBzb21lIHZhcmlhYmxlcyBpbmNvcnJlY3RseQoJICBzZXQgaW4gaXRzIHN0YXRlLiBGb3IgZXhhbXBsZSAnc2VxbnVtLWJhc2VgIGFuZCBgY2xvY2stcmF0ZWAgdmFsdWVzIHdpbGwgYmUKCSAgLTEuCgkgIFRoZSBmaXggaXMgbm90IHRvIGFjdCBvbiBCWUUgUlRDUCBpZiBpdCBjb250YWlucyBpbnRlcm5hbCBvciB1bmtub3duCgkgIFNTUkMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIyMTkKCjIwMTUtMTEtMTUgMTQ6NTQ6MjggKzAxMDAgIE1pa2hhaWwgRmx1ZGtvdiA8bWlzaGFAcGV4aXAuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBBZGQgdGVzdCBmb3IgbG9ja2luZyBvZiB0aGUgc3RhdHMgc2lnbmFsCgkgIEtlZXBpbmcgdGhlIGxvY2sgd2hpbGUgZW1pdHRpbmcgdGhlIHN0YXRzIHNpZ25hbCBpbnRyb2R1Y2VzIHBvdGVudGlhbAoJICBkZWFkbG9jayBpbiB0aG9zZSBzaXR1YXRpb25zIHdoZW4gdGhlIHNpZ25hbCBjYWxsYmFjayB3YW50cyB0aGUgYWNjZXNzCgkgIHRvIHJ0cHNlc3Npb24ncyBwcm9wZXJ0aWVzIHdoaWNoIGFsc28gcmVxdXJlIHRoZSBsb2NrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMjE2CgoyMDE2LTA1LTE5IDE1OjM2OjU3ICswOTAwICBTZXVuZ2hhIFlhbmcgPHNoLnlhbmdAbGdlLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBkb24ndCBob2xkIG9iamVjdCBsb2NrIHdoaWxzdCBwdXNoaW5nIG91dCBoZWFkZXJzCgkgIG1hdHJvc2thZGVtdXggd291bGQgdGFrZSB0aGUgR1NUX09CSkVDVF9MT0NLIGluCgkgIC0gZ3N0X21hdHJvc2thX2RlbXV4X3B1c2hfY29kZWNfZGF0YV9hbGwoKQoJICAtIGdzdF9tYXRyb3NrYV9kZW11eF9xdWVyeSgpCgkgIFNvbWUgcGFyc2UgZWxlbWVudCBzdWNoIGFzIEZMQUMgY2hlY2tzIHVwc3RyZWFtIHNlZWthYmlsaXR5LCBhbmQKCSAgdGhlcmUgaXMgc29tZSB1c2UgY2FzZXMgdGhhdCBtYXRyb3NrYS1kZW11eCBpcyBsaW5rZWQgdG8gYSBwYXJzZSBlbGVtZW50CgkgIChlLmcuLEZMQUMgZm9ybWF0KSB3aXRob3V0IGludGVybWVkaWF0ZSBlbGVtZW50cyAoZS5nLiwgcXVldWUpLgoJICBJbiB0aGlzIGNhc2UsIG1hdHJvc2thLWRlbXV4IG5ldmVyIHJldHVybnMgZnJvbSBfcHVzaF9jb2RlY19kYXRhX2FsbCgpCgkgIGJlY2F1c2UgdGhlIHBhcnNlciBjYW4gcmV0dXJuIG9ubHkgYWZ0ZXIgaXQgcmVjZWl2ZXMgdGhlIHJlc3BvbnNlIHRvCgkgIHRoZSB1cHN0cmVhbSBxdWVyeSwgYnV0IHRoYXQncyBub3QgZ29pbmcgdG8gaGFwcGVuIGJlY2F1c2UgaXQncwoJICBkZWFkbG9ja2VkLgoJICBFbGVtZW50cyBtdXN0IG5vdCBob2xkIHRoZSBvYmplY3QgbG9jayB3aGlsc3QgcHVzaGluZyBvdXQgZXZlbnRzCgkgIG9yIGRhdGEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY2NDUKCjIwMTYtMDUtMTkgMTI6NDM6MDEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSAgc291cGh0dHBjbGllbnRzaW5rOiBTZXQgc2VudF9idWZmZXJzIGFuZCBzdHJlYW1oZWFkZXJfYnVmZmVycyB0byBOVUxMIGFmdGVyIGZyZWVpbmcKCSAgT3RoZXJ3aXNlIHdlIG1pZ2h0IHVzZSBhbiBhbHJlYWR5IGZyZWVkIGxpc3QgbGF0ZXIgYW5kIGNyYXNoIG9yIHdvcnNlLgoKMjAxNi0wNS0xOCAxODozMjo1NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogZml4IFNpbmNlIHZlcnNpb24gZm9yIG5ldyAibG9vcCIgcHJvcGVydHkKCjIwMTYtMDUtMTYgMTY6MTg6MzcgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkgIHJ0cGRlYzogZml4IGNsb2NrIGxlYWsKCSAgZ3N0X3N5c3RlbV9jbG9ja19vYnRhaW4oKSByZXR1cm5zIGEgbmV3IHJlZi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjUyMQoKMjAxNi0wNS0xNyAwNTozMzozNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogYWRkIGRvYyBibHVyYiB3aXRoIHNpbmNlIG1hcmtlciBmb3IgbmV3ICJsb29wIiBwcm9wZXJ0eQoKMjAxNS0xMS0xMyAxNTo1MjozNSArMDEwMCAgRGltaXRyaW9zIEthdHNhcm9zIDxwYXRjaGVyd29ya0BnbWFpbC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IGFkZCBzdXBwb3J0IGZvciBwbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODA1OQoKMjAxNi0wNS0xNSAyMjowNzoxNCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4cGFydHJlYWRlci5jOgoJICBzcGxpdG11eHNyYzogQ29ubmVjdCB0byBkZW11eCBzaWduYWxzIGJlZm9yZSBhY3RpdmF0aW5nCgkgIEZpeCBhIHJhY2UgaW4gc3BsaXRtdXhzcmMgYnkgcHJvcGVybHkgY29ubmVjdGluZyB0byB0aGUKCSAgZGVtdXhlciBzaWduYWxzIHdlJ3JlIGludGVyZXN0ZWQgaW4gKmJlZm9yZSogc2V0dGluZyBpdCBydW5uaW5nLgoKMjAxNi0wNS0xNSAxMzozMTozNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBkb2NzOiBVcGRhdGUgZm9yIGdpdCBtYXN0ZXIKCjIwMTYtMDUtMTUgMTI6MTY6MjMgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5Lmg6CgkgIHJ0cG1wNGdwYXk6IERvbid0IHByb2R1Y2UgdGltZXN0YW1wcyBiYXNlZCBvbiBieXRlIGNvdW50CgkgIFRoZSBHU1RfQlVGRkVSX09GRlNFVCBvZiBvdXRwdXQgYnVmZmVycyByZXR1cm5lZCB0byBHc3RSdHBCYXNlUGF5bG9hZAoJICBzaG91bGQgcmVmbGVjdCB0aGUgbnVtYmVyIG9mICJzYW1wbGVzIiBpbiB0aGUgdW5pdCBvZiB0aGUgUlRQIGNsb2NrIGluIHRoaXMKCSAgYnVmZmVyLiBJZiB0aGlzIGlzIG5vdCB0cnVlLCB0aGVuIGl0IHNob3VsZG4ndCBiZSBzZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjE5NDMKCjIwMTYtMDUtMTUgMTI6MjQ6MDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thLW11eDogRml4IHN0cmNtcCB1c2FnZQoJICBKdXN0IHVzZSBnX3N0cmNtcDAgd2hpY2ggY2FuIGhhbmRsZSBOVUxMIGVudHJpZXMKCjIwMTYtMDMtMDQgMTA6MTQ6MDAgKzAxMDAgIENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBVc2UgYXVkaW8veC11bmFsaWduZWQtcmF3IGluc3RlYWQgb2YgYXVkaW8veC1yYXcgZm9yIEwxNiBkYXRhCgkgIERpcmVjdGx5IHNldHRpbmcgYXVkaW8veC1yYXcgY2FwcyBsZWFkcyB0byBwcm9ibGVtcyB3aGVuIHRoZSBkZWxpdmVyZWQKCSAgZGF0YSBibG9ja3MgZG8gbm90IGFsaWduIHByb3Blcmx5IGF0IHNhbXBsZSBib3VuZGFyaWVzIChmb3IgZXhhbXBsZSwgYQoJICBkYXRhIGJsb2NrIHdpdGggMzkxIGJ5dGVzKS4gU28sIGluc3RlYWQsIHNldCBhdWRpby94LXVuYWxpZ25lZC1yYXcgdG8KCSAgbGV0IGEgcGFyc2VyIGJlIGF1dG9wbHVnZ2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg5NDYwCgoyMDE2LTA1LTEyIDExOjUyOjA5ICswOTAwICBTZXVuZ2hhIFlhbmcgPHNoLnlhbmdAbGdlLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBQYXJzaW5nIGVsc3QgYm94IGJhc2VkIG9uIHZlcnNpb24KCSAgc2VnbWVudF9kdXJhdGlvbiBhbmQgbWVkaWFfdGltZSBzaG91bGQgYmUgcGFyc2VkIGJhc2VkIG9uIHZlcnNpb24KCSAgb2YgZWxzdCBib3guIFNwZWNpZmljYXRpb24gZGVmaW5lcyB0aGF0IGFuIGVsc3QgYm94IHdpdGggdmVyc2lvbiAxCgkgIGhhcyB1aW50NjQgYW5kIGludDY0IHZhbHVlcyBmb3Igc2VnbWVudF9kdXJhdGlvbiBhbmQgbWVkaWFfdGltZSwKCSAgcmVzcGVjdGl2ZWx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2MzAxCgoyMDE2LTA1LTE0IDEyOjU3OjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogY2hlY2sgaWYgcmVxdWVzdCB3YXMgY2FuY2VsbGVkIHdoZW4gc2VuZGluZyBtZXNzYWdlCgkgIEl0IG1pZ2h0IGJlIHRoYXQgdGhlIHJlcXVlc3Qgd2FzIGFib3J0ZWQgYnkgdGhlIGFwcGxpY2F0aW9uIGFuZAoJICB3ZSBjYW4gcmV0dXJuIGltbWVkaWF0ZWxseQoKMjAxNi0wNS0xNCAxMjo0Mzo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IHByb3h5IHJlc29sdmVyIGlzIG9uIGJ5IGRlZmF1bHQKCSAgUmVtb3ZlIGZyb20gdGhlIHNlc3Npb24gY3JlYXRpb24gcGFyYW1ldGVycwoKMjAxNi0wNS0xNCAxMjoxNTo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3NvdXAvTWFrZWZpbGUuYW06CgkgIHNvdXA6IHVwZGF0ZSBidWlsZCB0byB3YXJuIGFib3V0IG5ld2VyIGRlcHJlY2F0ZWQgZnVuY3Rpb25zCgkgIFdlIGFscmVhZHkgZGVwZW5kIG9uIDIuNDgKCjIwMTYtMDUtMTQgMTE6MDk6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIHNvdXBodHRwc3JjOiByZWR1Y2UgcmVhZGluZyBsYXRlbmN5IGJ5IHVzaW5nIG5vbi1ibG9ja2luZyByZWFkCgkgIE5vbi1ibG9ja2luZyByZWFkIHdpbGwgcmV0dXJuIHRoZSBhbW91bnQgb2YgZGF0YSBhdmFpbGFibGUgd2l0aG91dAoJICBibG9ja2luZyB0byB3YWl0IGZvciB0aGUgZnVsbCByZXF1ZXN0ZWQgc2l6ZS4KCSAgVGhlIGRvd25zaWRlIGlzIHRoYXQgbm93IGl0IHNvdXBodHRwc3JjIG5lZWRzIHRvIGhhdmUgYSB3YWl0aW5nCgkgIG1lY2hhbmlzbSBpbiBjYXNlIHRoZXJlIGlzIG5vIGRhdGEgYXZhaWxhYmxlIHlldCB0byBhdm9pZCBidXN5CgkgIGxvb3BpbmcgYXJvbmQgdGhlIGlucHV0c3RyZWFtLgoKMjAxNi0wNS0xNSAxMjozMDo1MCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogVGFrZSB0aGUgbG9jayBhbHJlYWR5IHdoZW4gcmVhZGluZyB0aGUgb3RoZXIgc3RhdHMsIG5vdCBqdXN0IGZvciB0aGUgaGFzaCB0YWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2MDI1CgoyMDE2LTA1LTE0IDE3OjA0OjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJICBtYXRyb3NrYTogdXNlIG1hdGgtY29tcGF0LmggZm9yIE5BTiBkZWZpbmUKCjIwMTYtMDUtMTQgMjM6Mzk6MjIgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuaDoKCSAgc3BsaXRtdXhzaW5rOiBVc2UgR3N0QmluIGFzeW5jLWhhbmRsaW5nIGluc3RlYWQgb2Ygb3VyIG93bi4KCSAgU2V0IHRoZSBhc3luYy1oYW5kbGluZyBwcm9wZXJ0eSBvbiBHc3RCaW4gdG8gbGV0IGl0IG1hbmFnZQoJICBhc3luYy1oYW5kbGluZyBpbnN0ZWFkIG9mIHRoZSBsb2NhbCBoYW5kbGluZyBmcm9tIHRoZSBwcmV2aW91cwoJICBjb21taXQuIFdvcmtzIGJlY2F1c2Ugb2YgIzE3NGE1ZSBpbiBjb3JlCgoyMDE2LTA1LTEzIDEwOjE3OjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBzb3VwaHR0cHNyYzogcmVmYWN0b3IgdG8gdXNlIFNvdXAncyBzeW5jIEFQSQoJICBSZXBsYWNlIHRoZSBhc3luYyBBUEkgd2l0aCB0aGUgc3luYyBBUEkgdG8gcmVtb3ZlIGFsbCB0aGUgZXh0cmEgbWFpbmxvb3AKCSAgYW5kIGNvbnRleHQgaGFuZGxpbmcuIEN1cnJlbnRseSBpdCBibG9ja3MgcmVhZGluZyB1bnRpbCAnYmxvY2tzaXplJwoJICBieXRlcyBhcmUgYXZhaWxhYmxlIGJ1dCB0aGF0IGNhbiBiZSBpbXByb3ZlZCBieSB1c2luZzoKCSAgaHR0cHM6Ly9kZXZlbG9wZXIuZ25vbWUub3JnL2dpby91bnN0YWJsZS9HUG9sbGFibGVJbnB1dFN0cmVhbS5odG1sI2ctcG9sbGFibGUtaW5wdXQtc3RyZWFtLXJlYWQtbm9uYmxvY2tpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MzkxMQoKMjAxNi0wNS0xNCAwNDo1MDozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgdGVzdHM6IHNvdXBodHRwc3JjOiByZXBsYWNlIGRlcHJlY2F0ZWQgQVBJCgkgIEF2b2lkIHVzaW5nIHNvdXBfc2VydmVyX3J1bl9hc3luYyBhbmQgb2xkIGdldF9wb3J0KCkgQVBJcywKCSAgcmVwbGFjZSB3aXRoIG1lIHNvdXBfc2VydmVyX2xpc3RlbiBhbmQgZ2V0IHRoZSBwb3J0IHRocm91Z2ggdGhlCgkgIFVSSXMgbGlzdCByZXR1cm5lZCBmcm9tIHRoZSBzZXJ2ZXIuCgoyMDE2LTA1LTE0IDEyOjM0OjEwICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogVXBncmFkZSBkZWJ1ZyBtZXNzYWdlIHRvIGVycm9yCgkgIEl0IGNhdXNlcyB0aGUgZW50aXJlIHBpcGVsaW5lIHRvIGZhaWwsIGl0IHNob3VsZCBiZSBlYXNpZXIgdG8gZmluZC4KCjIwMTYtMDUtMTQgMTg6MzI6NTIgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuaDoKCSAgc3BsaXRtdXhzaW5rOiBIaWRlIGludGVybmFsIGFzeW5jIHN0YXRlIGNoYW5nZXMuCgkgIFdoZW4gc3dpdGNoaW5nIGZyYWdtZW50cywgaGlkZSB0aGUgYXN5bmMtc3RhcnQvYXN5bmMtZG9uZQoJICBtZXNzYWdlcyBmcm9tIHRoZSBwYXJlbnQgYmluLCBhcyBvdGhlcndpc2Ugd2Ugc29tZXRpbWVzICh2ZXJ5IHJhcmVseSkKCSAgaGFuZyBpbiBQQVVTRUQgaW5zdGVhZCBvZiByZXR1cm5pbmcgLyBjb250aW51aW5nIHRvIFBMQVlJTkcKCSAgc3RhdGUuCgoyMDE2LTA1LTEzIDIxOjIwOjI4ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4c2luazogUmVtb3ZlIHN0cmF5IGNhcnJpYWdlLXJldHVybiBmcm9tIGRlYnVnCgoyMDE2LTA1LTEzIDE2OjQzOjIxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgcnRwOiBTaGlwIGdzdHJ0cGoya2NvbW1vbi5oIGZpbGUgdG8gZml4IGRpc3RjaGVjawoKMjAxNS0wNC0zMCAxNDo0MzowNCArMDIwMCAgSmVzcGVyIExhcnNlbiA8a25vcnIuamVzcGVyQGdtYWlsLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogRG8gbm90IHdyaXRlIGluZGV4IGFuZCBoZWFkZXIgaWYgaWR4IGlzIE5VTEwKCSAgRml4ZXMgY3JpdGljYWxzIHdpdGggZS5nLgoJICB2aWRlb3Rlc3RzcmMgbnVtLWJ1ZmZlcnM9MSAhIGlkZW50aXR5IGRyb3AtcHJvYmFiaWxpdHk9MS4wICEgYXZpbXV4ICEgZmFrZXNpbmsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODcwMAoKMjAxNi0wNS0xMiAwODo0MzozOSAtMDQwMCAgQWFyb24gQm94ZXIgPGJveGVyYWJAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSAgcnRwajJrcGF5OiBtYW5hZ2UgVCB0aWxlIGludmFsaWRhdGlvbiBiaXQgY29ycmVjdGx5LCB1cGRhdGUgdGlsZSBpZCBpbiBoZWFkZXIgY29ycmVjdGx5LgoJICAxLiBhY2NvcmRpbmcgdG8gUkZDLCBUIGJpdCBpcyBvbmx5IHNldCB3aGVuIGVpdGhlciB0aGUgUlRQIHBhY2tldCBvbmx5IGNvbnRhaW5zIHRoZSBKMksgbWFpbiBoZWFkZXIsIG9yIHRoZSBwYWNrZXQgY29udGFpbnMgdGlsZSBwYXJ0cyBmcm9tIG11bHRpcGxlIHRpbGVzLiBUaGlzIGlzIG5vdyBiZWluZyBtYW5hZ2VkIGNvcnJlY3RseSBpbiB0aGUgY29kZS4gVGhlIHNlY29uZCBzY2VuYXJpbyBjYW5ub3QgaGFwcGVuIHdpdGggb3VyIHBheWxvYWRlciwgc2luY2UgdGlsZSBoZWFkZXJzIGFyZSBhbHdheXMgcGxhY2VkIGluIHRoZWlyIG93biBSVFAgcGFja2V0LCBhbmQgc28gYSBwYWNrZXQgY2Fubm90IGNvbnRhaW4gdGlsZSBwYXJ0cyBmcm9tIG11bHRpcGxlIHRpbGVzLgoJICBIb3dldmVyLCBJIGhhdmUgYWRkZWQgY29kZSB0byB0cmFjayBpZiBtdWx0aXBsZSB0aWxlIHBhcnRzIGFyZSBpbmNsdWRlZCBpbiBhIHNpbmdsZSBSVFAgcGFja2V0LCBpbiBjYXNlIGluIHRoZSBmdXR1cmUgd2Ugd2FudCB0byBwdXQgaGVhZGVyIGFuZCBkYXRhIGluIHNhbWUgcGFja2V0LgoJICAyLiBPbGQgY29kZSB3b3VsZCBzZXQgdGhlIHRpbGUgaWQgdG8gemVybyBmb3IgYWxsIEoySyBwYWNrZXRzLiBUaGlzIGlzIG5vdyBzZXQgY29ycmVjdGx5IHRvIHRoZSBhcHByb3ByaWF0ZSB0aWxlIGlkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTg3CgoyMDE2LTA1LTEyIDA4OjQxOjUxIC0wNDAwICBBYXJvbiBCb3hlciA8Ym94ZXJhYkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJICBydHBqMmtwYXk6IG1hbmFnZSBmcmFnbWVudGVkIGhlYWRlcnMgY29ycmVjdGx5CgkgIEoySyBtYWluIGhlYWRlciBmcmFtZW50YXRpb24gYWNyb3NzIG11bHRpcGxlIFJUUCBwYWNrZXRzIGlzIG5vdyBoYW5kbGVkIGNvcnJlY3RseQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTg3CgoyMDE2LTA1LTExIDE1OjA0OjI2IC0wNDAwICBBYXJvbiBCb3hlciA8Ym94ZXJhYkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGoya2NvbW1vbi5oOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuaDoKCSAgcnRwajJrOiBtb3ZlIGNvbW1vbiBjb2RlIHRvIHNoYXJlZCBoZWFkZXIsIGNvZGUgY2xlYW4gdXAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTE4NwoKMjAxNi0wNS0xMSAxNTowMTozMiAtMDQwMCAgQWFyb24gQm94ZXIgPGJveGVyYWJAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJICBydHBqMms6IHVwZGF0ZSBkb2N1bWVudGF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxODcKCjIwMTYtMDUtMTIgMTQ6NDM6NDMgKzAyMDAgIFBhdHJpY2lhIE11c2NhbHUgPHBhdHJpY2lhQGF4aXMuY29tPgoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmg6CgkgIGF1cGFyc2U6IEZpeCBzdGlja3kgZXZlbnQgbWlzb3JkZXJpbmcgd2FybmluZwoJICBNYWtlIHN1cmUgdGhhdCBzcmMgcGFkIGhhcyBjYXBzIGJlZm9yZSBzZW5kaW5nIHNlZ21lbnQgZXZlbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjYzNTkKCjIwMTYtMDUtMTEgMDk6Mjg6MTMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IERvbid0IG5vdGlmeSBhYm91dCBzdGF0cyBwcm9wZXJ0eSBjaGFuZ2VzIHdoaWxlIHRha2luZyB0aGUgc2Vzc2lvbiBsb2NrCgkgIFRoZSBzaWduYWwgaGFuZGxlcnMgbWlnaHQgd2FudCB0byBhY3R1YWxseSBnZXQgdGhlIHZhbHVlIG9mIHRoZSBzdGF0cwoJICBwcm9wZXJ0eSwgd2hpY2ggd291bGQgdGFrZSB0aGUgc2Vzc2lvbiBsb2NrIGFnYWluIGFuZCBkZWFkbG9jay4KCSAgVGhpcyB3YXMgaW50cm9kdWNlZCBieSAyZTk2MGU3MDc1MGEwY2I3ZTExMTdkMGMwOWQwODU5Nzg2NmEyOWVlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2MDI1CgoyMDE2LTA1LTAzIDEzOjU5OjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogaW1wcm92ZSBlZHRzIHNlZ21lbnQgaGFuZGxpbmcgYWZ0ZXIgc2Vla3MgaW4gcHVzaCBtb2RlCgkgIFByb3Blcmx5IGhhbmRsZSBlZHRzIHNlZ21lbnRzIGZvciBwdXNoLWJhc2VkIG9wZXJhdGlvbiBzZWVraW5nLgoJICBXZSBvbmx5IHN1cHBvcnQgZWR0cyB0aGF0IGEgc2luZ2xlIHNlZ21lbnQgdGhhdCBoYXMgbWVkaWEgYXQgdGhlIGVuZCwKCSAgYmVpbmcgcHJlY2VlZGVkIGJ5IGFueSBudW1iZXIgb2YgZ2FwIHNlZ21lbnRzLgoJICBUaGlzIGFsc28gYWxsb3dzIHRoZSBxdCBzZWdtZW50IHJhdGUgdG8gYmUgcmVzcGVjdGVkIGFmdGVyIHNlZWtzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjU2NjkKCjIwMTYtMDUtMDMgMTA6NDE6MDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwcm9wZXJseSBhY3RpdmF0ZSBzZWdtZW50IHdpdGggcmF0ZSAhPSAxLjAKCSAgQWxzbyB1c2UgdGhlIHF0IHJhdGUgdG8gaWRlbnRpZnkgdGhlIHBvc2l0aW9uIHdpdGhpbiBhIHF0IHNlZ21lbnQKCSAgdG8gcHJvcGVybHkgdHJhbnNsYXRlIHBsYXliYWNrIHRpbWUgdG8gcXQgbWVkaWEgdGltZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1NjY5CgoyMDE2LTA1LTAzIDExOjQ1OjAxICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogRml4IHN0YWxsIHdoZW4gcmVjZWl2aW5nIGFscmVhZHkgbG9zdCBwYWNrZXQKCSAgV2hlbiBhIHBhY2tldCBhcnJpdmVzIHRoYXQgaGFzIGFscmVhZHkgYmVlbiBjb25zaWRlcmVkIGxvc3QgYXMgcGFydCBvZiBhCgkgIGxhcmdlIGdhcCB0aGUgImxvc3QgdGltZXIiIGZvciB0aGlzIHdpbGwgYmUgY2FuY2VsbGVkLiBJZiB0aGUgcmVtYWluaW5nCgkgIHBhY2tldHMgb2YgdGhpcyBsYXJnZSBnYXAgbmV2ZXIgYXJyaXZlcywgdGhlcmUgd2lsbCBiZSBtaXNzaW5nIGVudHJpZXMKCSAgaW4gdGhlIHF1ZXVlIGFuZCB0aGUgbG9vcCBmdW5jdGlvbiB3aWxsIGtlZXAgd2FpdGluZyBmb3IgdGhlc2UgcGFja2V0cwoJICB0byBhcnJpdmUgYW5kIG5ldmVyIHB1c2ggYW5vdGhlciBwYWNrZXQsIGVmZmVjdGl2ZWx5IHN0YWxsaW5nIHRoZQoJICBwaXBlbGluZS4KCSAgVGhlIHByb3Bvc2VkIGZpeCBjb25jaWRlcnMgcGFydHMgb2YgYSBsYXJnZSBnYXAgZGVmaW5pdGVseSBsb3N0IChzaW5jZQoJICB0aGV5IGFyZSBjYWxjdWxhdGVkIGZyb20gbGF0ZW5jeSkgYW5kIGlnbm9yZXMgdGhlIGxhdGUgYXJyaXZhbHMuCgkgIEluIHByYWN0aWNlIHRoZSBpc3N1ZSBpcyByYXJlIHNpbmNlIGxhcmdlIGdhcHMgYXJlIHNjaGVkdWxlZCBpbW1lZGlhdGVseSwKCSAgYW5kIGZvciB0aGUgc3RhbGwgdG8gaGFwcGVuIHRoZSBsYXRlIGFycml2YWwgbmVlZHMgdG8gYmUgcHJvY2Vzc2VkCgkgIGJlZm9yZSB0aGlzIHRpbWVzIG91dC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTkzMwoKMjAxNi0wNS0wNSAxNDoxODoyMSArMDIwMCAgTWlndWVsIFBhcsOtcyBEw61heiA8bXBhcmlzZGlhekBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IFRha2Ugc2Vzc2lvbiBsb2NrIHdoZW4gY3JlYXRpbmcgc3RhdHMKCSAgVGhlIGFjY2VzcyB0byB0aGUgc2Vzc2lvbiBoYXNoIHRhYmxlIG11c3QgaGFwcGVuIHdoaWxlIHRoZSBzZXNzaW9uIGxvY2sgaXMKCSAgdGFrZW4sIG90aGVyd2lzZSBhbm90aGVyIHRocmVhZCBtaWdodCBtb2RpZnkgdGhlIGhhc2ggdGFibGUgd2hpbGUgd2UncmUKCSAgY3JlYXRpbmcgdGhlIHN0YXRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2MDI1CgoyMDE2LTA1LTAzIDIxOjE3OjAxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogdXBkYXRlIHNlZ21lbnQgd2hlbiBuZXcgZHVyYXRpb24gaXMgZm91bmQKCSAgT3RoZXJ3aXNlIHRoZSBvbGQgc2VnbWVudCB3aWxsIGhhdmUgYSBzaG9ydGVyIHN0b3AgdGltZSBhbmQgd291bGQKCSAgY2F1c2UgdGhlIHN0cmVhbSB0byBlbmQgdG9vIGVhcmx5LgoKMjAxNi0wNS0wNCAxMTozNzoyOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRpc21lbWJlciBhY3RpdmF0ZV9zZWdtZW50IGludG8gMiBwYXJ0cwoJICBPbmUgdGhhdCB1cGRhdGVzIGFuZCBwdXNoIGEgbmV3IHNlZ21lbnQsIHRoZSBvdGhlciB3aWxsIG1vdmUgdGhlCgkgIHN0cmVhbSB0byB0aGUgbmV3IHNlZ21lbnQgc3RhcnRpbmcgcG9zaXRpb24KCjIwMTYtMDUtMDQgMDk6MzA6MjcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSAgZHY6IFVzZSBjb3JyZWN0IHBpeGVsLWFzcGVjdC1yYXRpbyB2YWx1ZXMKCSAgVGhlIHByZXZpb3VzIG9uZXMgcmVzdWx0ZWQgaW4gb2RkIGRpc3BsYXkgYXNwZWN0IHJhdGlvcyBhbmQgd2VyZSBkaWZmZXJlbnQKCSAgZnJvbSB0aGUgb25lcyB1c2VkIGJ5IGUuZy4gZmZtcGVnLiBUaGUgbmV3IG9uZXMgbm93IHJlc3VsdCBpbiBkaXNwbGF5IGFzcGVjdAoJICByYXRpb3Mgb2YgNDozIGFuZCAxNjo5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1OTQ2CgoyMDE1LTExLTA5IDE3OjU1OjA5ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BsaXRtdXguYzoKCSAgdGVzdHM6IGFkZCBzcGxpdG11eHNyYyB0ZXN0IGZvciBuZXcgImZvcm1hdC1sb2NhdGlvbiIgc2lnbmFsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM2MjUKCjIwMTUtMTEtMDkgMTc6NTE6MTIgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c3JjLmM6CgkgIHNwbGl0bXV4c3JjOiBhZGQgYSBmb3JtYXQtbG9jYXRpb24gc2lnbmFsIHRoYXQgYWxsb3dzIGJ5cGFzc2luZyB0aGUgbG9jYXRpb24gcHJvcGVydHkKCSAgVGhpcyBzaWduYWwgYWxsb3dzIGEgdXNlciB0byBkaXJlY3RseSByZXR1cm4gYSBzb3J0ZWQgbGlzdCBvZgoJICBmaWxlcyB0byBiZSBqb2luZWQsIHNvIHRoYXQgdGhleSBkb24ndCBoYXZlIHRvIGZvbGxvdyB0aGUKCSAgZmlsZW5hbWUgcGF0dGVybiB0aGF0IHRoZSAibG9jYXRpb24iIHByb3BlcnR5IGV4cGVjdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM2MjUKCjIwMTYtMDUtMDQgMTE6MTU6MjAgLTA0MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4c2luazogRml4IGRlYWRsb2NrIGNhc2Ugd2hlbiBzb3VyY2UgcmVhY2hlcyBFT1MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTA3MgoKMjAxNi0wNS0wMyAyMjo1OToyNyAtMDcwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogc2ltcGxpZnkgYW5kIGNvcnJlY3QgaGVhZGVyIHNjYW5uaW5nCgkgIFRoZSB3YXYgc3BlYyB0ZWxscyB0aGF0ICdmbXQnIChhbmQgJ2JleHQnIGlmIHByZXNlbnQpIG11c3QgY29tZSBiZWZvcmUgJ2RhdGEnLgoJICBUaGVyZSBpcyBubyByZXF1aXJlbWVudCBmb3IgJ2ZtdCcgdG8gYmUgZmlyc3QuIFdlIGFscmVhZHkgaGFkIGEgbGlzdCBvZiBjaHVua3MKCSAgdG8gc2tpcCwgYnV0IGl0IGlzIGVhc2llciB0byBqdXN0IHNraXAgYW55IGNodW5rIHdoaWxlIHNlZWtpbmcgZm9yICdmbXQnLgoJICBUaGlzIGZpeGVzIHJlYWRpbmcgZmlsZXMgZ2VuZXJhdGVkIGJ5IFByb1Rvb2xzLgoKMjAxNi0wNC0zMCAyMjoxNToxMyArMDkwMCAgSHl1bmp1biBLbyA8enpvb25AaWdhbGlhLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9NYWtlZmlsZS5hbToKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb2RldmljZXByb3ZpZGVyLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb2RldmljZXByb3ZpZGVyLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmg6CgkgIG9zeGF1ZGlvOiBTdXBwb3J0IGF1ZGlvIGRldmljZSBwcm92aWRlciBvbiBvc3gKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzI2NQoKMjAxNi0wNS0wMSAxNTowOToyNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBzZXQgYXVkaW8gaGVhZGVyIHJhdGUgYWNjb3JkaW5nIHRvIGNhbGN1bGF0ZWQgYnBzIGluIHN0b3BfZmlsZQoJICAuLi4gbm93IHRoYXQgc2V0X2ZpZWxkcyBpcyBubyBsb25nZXIgY2FsbGVkIHRoZXJlIGJ5CgkgIGU1Mzg2MDhiM2Y5MDUzOTAwM2RlMjFjMWRiMjM4ZjNjOWI5NDZlMzAKCjIwMTYtMDQtMjkgMTU6MDQ6MTEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IFN0b3JlIHRoZSBzZWdtZW50IHNlcXVlbmNlIG51bWJlciBpbiB0aGUgRU9TIGV2ZW50cyBhbmQgU0VHTUVOVF9ET05FIGV2ZW50cy9tZXNzYWdlCgkgIEFsc28gaW5zdGVhZCBvZiBzdG9yaW5nIGl0IHBlciBzdHJlYW0sIHN0b3JlIGl0IGdsb2JhbGx5IGluIHRoZSBkZW11eGVyLiBJdCdzCgkgIHRoZSBzYW1lIGZvciBlYWNoIHN0cmVhbSBhbnl3YXkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjU4MDYKCjIwMTYtMDQtMTEgMTA6NTQ6MzggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IEFsd2F5cyBiaW5kIHRvIEFOWSB3aGVuIGFkZHJlc3MgaXMgYSBtdWx0aWNhc3QgYWRkcmVzcyBhbmQgbm90IG9ubHkgb24gV2luZG93cwoJICBGb3IgSVB2NiBhZGRyZXNzZXMsIGJpbmRpbmcgdG8gYSBtdWx0aWNhc3QgZ3JvdXAgZG9lcyBub3Qgd29yayBvbiBMaW51eAoJICBlaXRoZXIuIEFsd2F5cyBiaW5kIHRvIEFOWSBhbmQgdGhlbiBsYXRlciBqb2luIHRoZSBtdWx0aWNhc3QgZ3JvdXAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjQ2NzkKCjIwMTYtMDQtMjYgMTc6MDE6NDkgKzA4MDAgIFNvbmcgQmluZyA8YjA2NDk4QGZyZWVzY2FsZS5jb20+CgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSAgeGltYWdldXRpbDogc2hvdWxkbid0IGltcGxlbWVudCB0cmFuc2Zvcm0gaWYgZG9uJ3Qgc3VwcG9ydCBpdAoJICBzaG91bGRuJ3QgaW1wbGVtZW50IHRyYW5zZm9ybSBpZiBkb24ndCBzdXBwb3J0IGl0LiBPciBnc3RfYnVmZmVyX2NvcHlfaW50bygpCgkgIHdpbGwgcHJpbnQgRVJST1IgbG9nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1NTgzCgoyMDE2LTA0LTI4IDE2OjI0OjUyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBBbGxvdyBNUEVHLTEgTGF5ZXIgMSBhbmQgMiBpbiBhZGRpdGlvbiB0byAzIGluIE1QNAoJICBWaWEgdGhlIE1QRUctNCBQYXJ0IDMgc3BlYyB3ZSBjYW4gc3VwcG9ydCB0aGUgb3RoZXIgbGF5ZXJzIHRvby4KCSAgQWxzbyBjb3JyZWN0IHRoZSBzYW1wbGVzIHBlciBmcmFtZSBjYWxjdWxhdGlvbiBmb3IgTVAzIGlmIGl0J3MgTVBFRy0yIG9yCgkgIE1QRUctMi41LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1NzI1CgoyMDE2LTA0LTI3IDIwOjQ2OjM0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IFVwZGF0ZSBjYXBzIGZvciBUQ1Agd2hlbmV2ZXIgdGhleSBjaGFuZ2UKCSAgV2Ugb25seSBjaGFuZ2VkIHRoZW0gZm9yIFVEUCBzbyBmYXIsIHdoaWNoIGNhdXNlZCB0aGUgd3Jvbmcgc2VxbnVtLWJhc2UgYW5kCgkgIG90aGVyIGluZm9ybWF0aW9uIHRvIGJlIHBhc3NlZCB0byBydHBqaXR0ZXJidWZmZXIvZXRjIHdoZW4gc2Vla2luZy4gVGhpcwoJICB1c3VhbGx5IHdhc24ndCB0aGF0IG11Y2ggb2YgYSBwcm9ibGVtIGFzIHRoZSBjb2RlIHRoZXJlIGlzIHJvYnVzdCBlbm91Z2gsIGJ1dAoJICBldmVyeSBub3cgYW5kIHRoZW4gaXQgY2F1c2VzIHVzIHRvIGRyb3AgdXAgdG8gMzI3NTYgcGFja2V0cyBiZWZvcmUgd2UKCSAgY29udGludWUgZG9pbmcgYW55dGhpbmcgbWVhbmluZ2Z1bC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTY4OQoKMjAxNi0wNC0yNyAyMDozMzozOCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IEVuc3VyZSB0byBub3QgdGFrZSBjYXBzIHdpdGggdGhlIHdyb25nIHB0IGZvciBnZXR0aW5nIHRoZSBjbG9jay1yYXRlCgkgIEVzcGVjaWFsbHkgdGhlIGNhcHMgb24gdGhlIHBhZCBtaWdodCBiZSBvdXQgb2YgZGF0ZSwgYW5kIHRoZSBuZXcgY2FwcyB3b3VsZCBiZQoJICBwcm92aWRlZCBmb3IgdGhlIGN1cnJlbnQgcHQgdmlhIHRoZSByZXF1ZXN0LXB0LW1hcCBzaWduYWwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjU2ODkKCjIwMTYtMDQtMjcgMTg6Mjc6MTcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IERvbid0IHByb3BhZ2F0ZSBzcHVyaW91cyBzdGF0ZSBjaGFuZ2UgcmV0dXJucyBmcm9tIGludGVybmFsIGVsZW1lbnRzIGZ1cnRoZXIKCSAgV2UgaGFuZGxlIHRoZW0gaW5zaWRlIHJ0c3BzcmMgYW5kIG92ZXJyaWRlIHRoZW0gaW4gYWxsIG90aGVyIGNhc2VzIGFueXdheSwgc28KCSAgZG8gdGhlIHNhbWUgZm9yICJpbnRlcm5hbCIgc3RhdGUgY2hhbmdlcyBsaWtlIFBBVVNFRC0+UEFVU0VEIGFuZAoJICBQTEFZSU5HLT5QTEFZSU5HLgoJICBUaGlzIGtlZXBzIHVuZXhwZWN0ZWQgTk9fUFJFUk9MTCB0byBjb25mdXNlIHN0YXRlIGNoYW5nZXMgaW4gR3N0QmluLgoJICBTZWUgYWxzbyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwNTMyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjU2ODkKCjIwMTYtMDQtMjcgMTQ6MDk6MDMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IERvbid0IG92ZXJyaWRlIG1heGltdW0gYXVkaW8gY2h1bmsgc2l6ZSB3aXRoIHRoZSBzY2FsZSBhZ2FpbiBqdXN0IGJlZm9yZSB3cml0aW5nIGl0CgkgIHNldF9maWVsZHMoKSBzaG91bGQgb25seSBiZSBjYWxsZWQgaW4gdGhlIGJlZ2lubmluZywgb3RoZXJ3aXNlIHdlIHdpbGwgbmV2ZXIKCSAgcmVtZW1iZXIgdGhlIG1heGltdW0gYXVkaW8gY2h1bmsgc2l6ZSBhbmQgd3JpdGUgYSB3cm9uZyBibG9jayBhbGlnbi4uLiB3aGljaAoJICB0aGVuIGNhdXNlcyB3cm9uZyB0aW1lc3RhbXBzIGFuZCBvdGhlciBwcm9ibGVtcy4KCjIwMTYtMDQtMjcgMTM6NTM6MDAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IEFjdHVhbGx5IHN0b3JlIHRoZSBsYXJnZXN0IGF1ZGlvIGNodW5rIHNpemUgZm9yIHRoZSBWQlIgY2FzZSBvZiBNUDIvTVAzCgkgIDNlYTMzOGNlMjcxZTFmNmE5NmQyZWQ0OWQ0NDcyYjA5MWY2ZjhiN2UgY2hhbmdlZCBhdmltdXggdG8gZG8gdGhhdCwgYnV0IGl0CgkgIG5ldmVyIGFjdHVhbGx5IGtlcHQgdHJhY2sgb2YgdGhlIG1heCBhdWRpbyBjaHVuayBmb3IgTVAzIGFuZCBNUDIuIFRoZXNlIGFyZQoJICBrbm93aW5nIHRoZSBoZHIuc2NhbGUgb25seSBhZnRlciBwYXJzaW5nIHRoZSBmcmFtZXMgaW5zdGVhZCBvZiBhdCBzZXRjYXBzCgkgIHRpbWUuCgoyMDE2LTA0LTI1IDE1OjAzOjE0ICswMjAwICBNYXRzIExpbmRlc3RhbSA8bWF0c2xtQGF4aXMuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiBBbGxvdyBzZXR0aW5nICJzb2NrZXQtdjYiIHdpdGhvdXQgc2V0dGluZyAic29ja2V0IiB0b28KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NDg5NwoKMjAxNi0wNC0yMiAxNTowMjoxNiArMDEwMCAgTWFyaW8gU2FuY2hleiBQcmFkYSA8bWFyaW9AZW5kbGVzc20uY29tPgoKCSogZXh0L3ZweC9nc3R2cHhlbmMuYzoKCSAgdnB4ZW5jOiBQcm9wZXJseSBoYW5kbGUgZnJhbWVzIHdpdGggdG9vIGxvdyBkdXJhdGlvbgoJICBXaGVuIGEgZnJhbWUncyBkdXJhdGlvbiBpcyB0b28gbG93LCBjYWxsaW5nIGdzdF91dGlsX3VpbnQ2NF9zY2FsZSgpCgkgIHRvIHNjYWxlIGl0cyB2YWx1ZSBjYW4gcmVzdWx0IGludG8gaXQgYmVpbmcgdHJ1bmNhdGVkIHRvIHplcm8sIHdoaWNoCgkgIHdpbGwgY2F1c2UgdGhlIHZweCBlbmNvZGVyIHRvIHJldHVybiBhbiBWUFhfQ09ERUNfSU5WQUxJRF9QQVJBTSBlcnJvcgoJICB3aGVuIHRyeWluZyB0byBlbmNvZGUuCgkgIFRvIHByZXZlbnQgdGhpcyBmcm9tIGhhcHBlbmluZywgd2Ugc2ltcGx5IGlnbm9yZSB0aGUgZHVyYXRpb24gd2hlbgoJICBlbmNvZGluZyBpZiBpdCBiZWNvbWVzIHplcm8gYWZ0ZXIgc2NhbGluZywgbG9nZ2luZyBhIHdhcm5pbmcgbWVzc2FnZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTM5MQoKMjAxNi0wNC0yMiAxNTo0ODowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogZml4IGRlc2NyaXB0aW9uIG9mIGxpbmVhciBpbnRlcmxhY2luZyBtZXRob2QKCjIwMTYtMDQtMjEgMTQ6MDg6MTkgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdjogSGFuZGxlIHRoZSBjYXNlIHdoZXJlIHdlIGRvIG5vdCBnZXQgYW55IENvbGxlY3REYXRhIGluIGhhbmRsZV9idWZmZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTMyMAoKMjAxNi0wNC0xMSAyMjo0MToyMCArMDkwMCAgU2V1bmdoYSBZYW5nIDxzaC55YW5nQGxnZS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRG8gbm90IHVzZSB1bnJlbGlhYmxlIGZyYW1lcmF0ZQoJICB0aW1lc2NhbGUvMSBpcyB1bnJlbGlhYmxlIHZhbHVlIGZvciBmcmFtZXJhdGUuIER1ZSB0byBkb3duc3RyZWFtCgkgIGVsZW1lbnQgdXN1YWxseSB1c2UgZnJhbWVyYXRlIGdlbmVyYXRlZCBieSBxdGRlbXV4LCBsZXQgaXQgYmUgb21pdHRlZAoJICB1bnRpbCB0aGUgZnJhbWVyYXRlIGNhbiBiZSByZWxpYWJseSBjYWxjdWxhdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY0NzMzCgoyMDE2LTA0LTIxIDEyOjUzOjMzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBSZXZlcnQgInF0ZGVtdXg6IGV4cG9zZSBzdHJlYW1zIHdpdGggZmlyc3QgbW9vZiBmb3IgZnJhZ21lbnRlZCBmb3JtYXQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZDhiYjY2ODdlYTI1MTU3MGMzMzEwMzgyNzlhNDNkNDQ4MTY3ZDZhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NDczMwoKMjAxNi0wMi0wOSAxNzoxNzowOSArMDAwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHN1cHBvcnQgc2Vla2luZyBvZiBDRU5DIGVuY3J5cHRlZCBzdHJlYW1zCgkgIFdoZW4gcGxheWluZyBhIHN0cmVhbSB0aGF0IGhhcyBiZWVuIHByb3RlY3RlZCBieSBEQVNIIENFTkMsIHBsYXliYWNrCgkgIHdpbGwgZmFpbCBpZiBhIHNlZWsgaXMgcGVyZm9ybWVkLiBRdGRlbXV4IHByb2R1Y2VzIHRoZSBlcnJvciAic3RyZWFtCgkgIGlzIHByb3RlY3RlZCB1c2luZyBjZW5jLCBidXQgbm8gY2VuYyBwcm90ZWN0aW9uIHN5c3RlbSBpbmZvcm1hdGlvbgoJICBoYXMgYmVlbiBmb3VuZCIgYW5kIHBsYXliYWNrIHN0b3BzLgoJICBUaGUgcHJvYmxlbSBpcyB0aGF0IGdzdF9xdGRlbXV4X3Jlc2V0KCkgZ2V0cyBjYWxsZWQgYXMgcGFydCBvZiB0aGUKCSAgRkxVU0ggZHVyaW5nIGEgc2Vlay4gVGhpcyBmdW5jdGlvbiBmcmVlcyB0aGUgcHJvdGVjdGlvbl9zeXN0ZW1faWRzCgkgIGFycmF5LiBXaGVuIGdzdF9xdGRlbXV4X2NvbmZpZ3VyZV9wcm90ZWN0ZWRfY2FwcygpIGlzIGNhbGxlZCBhZnRlciB0aGUKCSAgc2VlayBoYXMgY29tcGxldGVkLCB0aGUgcHJvdGVjdGlvbl9zeXN0ZW1faWRzIGFycmF5IGlzIGVtcHR5IGFuZAoJICBxdGRlbXV4IGlzIHVuYWJsZSB0byBjcmVhdGUgdGhlIGNvcnJlY3Qgb3V0cHV0IGNhcHMgZm9yIHRoZSBwcm90ZWN0ZWQKCSAgc3RyZWFtLgoJICBUaGlzIGNvbW1pdCBjaGFuZ2VzIGl0IHRvIG9ubHkgZnJlZSB0aGUgcHJvdGVjdGlvbl9zeXN0ZW1faWRzIG9uCgkgIGhhcmQgcmVzZXRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxNzg3CgoyMDE2LTA0LTE4IDE0OjMzOjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuaDoKCSAgdWRwc3JjOiBhZGQgInJldHJpZXZlLXNlbmRlci1hZGRyZXNzIiBwcm9wZXJ0eQoJICBUaGlzIGFsbG93cyBkaXNhYmxpbmcgb2Ygc2VuZGVyIGFkZHJlc3MgcmV0cmlldmFsLCB3aGljaCBtaWdodAoJICBiZSB1c2VmdWwgaW4gY2VydGFpbiBzY2VuYXJpb3MsIGxpa2Ugd2hlbiB0aGUgc29ja2V0IGlzIGNvbm5lY3RlZCwKCSAgb3IgdGhlIHNlbmRlciBhZGRyZXNzIGlzIG5vdCBvZiBpbnRlcmVzdCAoZS5nLiB3aGVuIHJlY2VpdmluZyBhbgoJICBNUEVHLVRTIHN0cmVhbSkuIERpc2FibGluZyBzZW5kZXIgYWRkcmVzcyByZXRyaWV2YWwgaW4gdGhvc2UKCSAgY2FzZXMgY2FuIGhhdmUgbWlub3IgcGVyZm9ybWFuY2UgYWR2YW50YWdlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU2MzMyMwoKMjAxNS0xMS0yNiAxMzoxNTowNiArMDEwMCAgRGltaXRyaW9zIEthdHNhcm9zIDxwYXRjaGVyd29ya0BnbWFpbC5jb20+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IENoYW5nZSB3YXJuaW5nIGhhbmRsaW5nIHRvIGJyZWFrIGluZmluaXRlIG1lc3NhZ2UgbG9vcAoJICB2NGwyc3JjIGNhbiBjYXVzZSBhbiAiaW5maW5pdGUgbWVzc2FnZSBsb29wIiB3aGVuIGEgYmFzZSBjb250cm9sIGV4cG9zZWQgYXMgYQoJICBwcm9wZXJ0eSBpcyBub3QgcHJvdmlkZWQgYnkgdGhlIGRldmljZS4gSW4gdGhlc2UgY2FzZXMsIGlmIGluIHRoZSB3YXJuaW5nIG1lc3NhZ2UKCSAgaGFuZGxpbmcgZm9yIHRoZSBidXMsIHRoZSBHU1RfREVCVUdfQklOX1RPX0RPVF9GSUxFKiBjYXRlZ29yeSBvZiBmdW5jdGlvbnMgYXJlIHVzZWQsCgkgIHRoZSBzcmMgbG9va3VwIGNhdXNlcyBhIG5ldyB3YXJuaW5nIHRvIGJlIHBvc3RlZCBvbiB0aGUgYnVzLCBjYXVzaW5nIGEgbG9vcC4KCSAgVGhpcyBwYXRjaCBjaGFuZ2VzIHRoZSB3YXJuaW5nIGZvciB0aGVzZSBjb250cm9scyBzbyB0aGV5IGFyZSBub3QgcG9zdGVkIG9uIHRoZSBidXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTg3MDMKCjIwMTYtMDQtMTUgMTA6NDQ6MDIgLTA0MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwaXRtdXhzaW5rOiBBdm9pZCBjcmVhdGluZyBzbWFsbCBmaWxlIGF0IEVPUwoJICBXaGVuIEVPUyBpcyByZWFjaGVkLCB0aGUgY3VycmVudCBmaWxlIGdldCBjbG9zZWQgYW5kIHRoZSBsYXN0CgkgIEdPUCBpbiB0aGUgbXEgd2FzIHdyaXR0ZW4gaW4gYSBuZXcgZmlsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTA3MgoKMjAxNi0wNC0xNSAxOTo1OToxNSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogUzE2IHVzZXMgUzMyIHRlbXBvcmFyeSBidWZmZXJzLCBmbG9hdC9kb3VibGUgdGhlaXIgb3duIHR5cGUKCSAgTWFrZSBzdXJlIHRvIGFsbG9jYXRlIG5vdCBvbmx5IGEgUzE2IGJ1ZmZlciBmb3IgUzE2IGJ1dCBhIHR3aWNlIGFzIGJpZyBvbmUgdG8KCSAgaG9sZCBTMzIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjUxMTYKCjIwMTYtMDQtMTYgMDI6MTc6MjYgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBSZXZlcnQgInB1bHNlc2luazogdW5jb3JrIGlmIG5lZWRlZCB1cG9uIGNvbW1pdCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAwZGQ0NmFjY2Y2ZDI4MmZmMDcwNjU4NTJiZDkxYzg1Yzc4YWYzMzk0LgoJICBXaXRoIHNvbWUgYXVkaW9zaW5rcywgc3RhcnRpbmcgdGhlIHJpbmdidWZmZXIgb24gdGhlIGZpcnN0IGNvbW1pdAoJICBjYXVzZXMgYXVkaW8gZ2xpdGNoZXMgYXQgc3RhcnR1cCBieSBzdGFydGluZyB0byBvdXRwdXQgc2VnbWVudHMKCSAgZnJvbSB0aGUgcmluZ2J1ZmZlciBiZWZvcmUgaXQgaGFzIGJlZW4gZmlsbGVkIC8gZnVsbHkgcHJlcm9sbGVkLiBUaGlzCgkgIGRvZXNuJ3QgdXN1YWxseSBoYXBwZW4gd2l0aCBwdWxzZXNpbmsgYmVjYXVzZSB3ZSBtYXAgdGhlIHB1bHNlYXVkaW8KCSAgcmluZ2J1ZmZlciBkaXJlY3RseSwgYnV0IHdlIHNob3VsZCBrZWVwIHRoaW5ncyBjb25zaXN0ZW50IHdpdGgKCSAgb3RoZXIgc2lua3Mgd2l0aCByZWdhcmRzIHRvIHN0YXJ0dXAgbGF0ZW5jeSwgcGx1cyBpdCBnaXZlcyBtb3JlCgkgIGhlYWR3YXkgdG8gYXZvaWQgZ2xpdGNoaW5nLCBzaG91bGQgdGhlIGluaXRpYWwgMm5kIHNlZ21lbnQgdGFrZQoJICBtb3JlIHRoYW4gMTBtcyB0byBnZW5lcmF0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NzA3NgoKMjAxNi0wNC0xNSAwMDo0Njo1NiAtMDcwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogYWRkIHNydHAgcm9sbG92ZXIgY291bnRlcnMgZnJvbSBtaWtleSBjcnlwdG8gc2Vzc2lvbnMKCSAgVGhlIHNlcnZlciBjYW4gc2VuZCBtdWx0aXBsZSBjcnlwdG8gc2Vzc2lvbnMsIG9uZSBmb3IgZWFjaCBTU1JDIHdpdGggaXRzCgkgIG93biByb2xsb3ZlciBjb3VudGVyLiBXZSBwYXJzZSB0aGlzIGluZm9ybWF0aW9uIGFuZCBwYXNzIGl0IHRvIHRoZSBTUlRQCgkgIGRlY29kZXIgdmlhIHRoZSAicmVxdWVzdC1rZXkiIHNpZ25hbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDU0MAoKMjAxNi0wNC0xNSAxNDozNTowNyArMDAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBGaXggZGVidWcgb3V0cHV0IHdoZW4gcmVzeW5jaW5nCgkgIERvbid0IG91dHB1dCB0aGUgcG9pbnRlciB2YWx1ZSBvZiB0aGUgdGltZSgpIGZ1bmN0aW9uIGFzIGEgdGltZXN0YW1wCgkgIGJ5IHVzaW5nIHRoZSBjb3JyZWN0IHZhcmlhYmxlLgoJICBGaXhlcyBidWlsZCBvbiBSYXNwYmVycnkgUGkgMy4KCjIwMTYtMDQtMTUgMTE6MzY6MzYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSAgc291cGh0dHBjbGllbnRzaW5rOiBJZiBubyBwcm94eSBpcyBzZXQgYnkgcHJvcGVydGllcywgdXNlIHRoZSBkZWZhdWx0IGxpYnNvdXAgcHJveHkgcmVzb2x2ZXIKCSAgVGhhdCBpcywgdXNlIHdoYXRldmVyIHN5c3RlbSBzZXR0aW5ncyB0aGVyZSBtaWdodCBleGlzdC4gVGhpcyBpcyB0aGUgc2FtZQoJICBiZWhhdmlvdXIgd2UgdXNlIGluIHRoZSBIVFRQIHNvdXJjZS4KCjIwMTYtMDQtMTQgMTA6MDE6MjggKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogUkVBRE1FOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDZmMmQyMDkgdG8gYWMyZjY0NwoKMjAxNi0wNC0xMyAxODo0NTowNyArMDEwMCAgRGFtaWFuIFppb2JybyA8ZGFtaWFuQHhtZW1lbnRvaXQuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuaDoKCSAgc3BsaXRtdXhzaW5rOiBBZGQgbWF4X2ZpbGVzX251bWJlciBwcm9wZXJ0eQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0NjEyCgoyMDE2LTA0LTEzIDEwOjU3OjAzIC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBkcm9wIHJlZmVyZW5jZSB0byB2aWRlb21peGVyIDIKCSAgRml4IGEgc21hbGwgZ3JhbW1hciBtaXN0YWtlIG9uICJvdmVybGF5ZWQiIHdoaWxlIGF0IGl0LgoKMjAxNi0wNC0xMyAwOTo1NzoxNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOgoJICB4aW1hZ2U6IEluaXRpYWxpemUgYWxsIGZpZWxkcyBpbiB0aGUgbWV0YSBleHBsaWNpdGx5CgkgIFRoZSBtZXRhIGlzIG5vdCBhbGxvY2F0ZWQgd2l0aCBhbGwgZmllbGRzIGluaXRpYWxpemVkIHRvIHplcm9lcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NDkwMgoKMjAxNi0wNC0xMiAwOTo0MTowMCArMDAwMCAgUGFvbG8gUGV0dGluYXRvIDxwcGV0dGluYUBjaXNjby5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBGb3J3YXJkIHN0aWNreSBldmVudHMgb24gYnVmZmVyIGxpc3RzIHRvbywgbm90IG9ubHkgb24gYnVmZmVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY0OTMzCgoyMDE2LTA0LTEyIDE1OjAxOjI4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBEcmFpbiB0aGUgZmllbGQgaGlzdG9yeSBpZiB0aGUgY2FwcyBhcmUgY2hhbmdpbmcKCSAgT3RoZXJ3aXNlIHdlIHdpbGwgdXNlIGZpZWxkcyBmcm9tIHRoZSBvbGQgY2FwcyB3aXRoIGV2ZXJ5dGhpbmcgc2V0IHVwIGZvciB0aGUKCSAgbmV3IGNhcHMsIGNhdXNpbmcgY3Jhc2hlcyBhbmQgd29yc2UuCgkgIEFsc28gZG9uJ3QgZG8gYW55dGhpbmcgaWYgdGhlIHNhbWUgY2FwcyBhcmUgc2V0IHR3aWNlLgoKMjAxNi0wNC0xMiAxNTowMDozMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogSW5zdGVhZCBvZiBjb25mdXNpbmcgY3Jhc2hlcyBsYXRlciwganVzdCBlcnJvciBvdXQgaW1tZWRpYXRlbHkgaWYgbWFwcGluZyBhIHZpZGVvIGZyYW1lIGZhaWxzCgkgIFRoaXMgcHJvYmFibHkgc3RpbGwgY3Jhc2hlcyBidXQgYXQgbGVhc3Qgd2UgZ2V0IHNvbWUgaGludCBhYm91dCB3aGF0IGdvZXMKCSAgd3JvbmcgaW5zdGVhZCBvZiByYW5kb20gYmVoYXZpb3VyIGxhdGVyLgoKMjAxNi0wNC0xMiAxMTozODo1MSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBjaGVjayBzdHJlYW0gaXMgYXZhaWxhYmxlIGluIFBJRkYgcGFyc2VyCgkgIHF0ZGVtdXgtPnN0cmVhbXMgaXMgYW4gYXJyYXksIGl0IHdpbGwgbmV2ZXIgZXZhbHVhdGUgdG8gdHJ1ZSB3aGVuIGNvbXBhcmluZwoJICB0byBOVUxMLiBJbnN0ZWFkIHdlIHdhbnQgdG8gY2hlY2sgdGhlIG51bWJlciBvZiBzdHJlYW1zIHRvIG1ha2Ugc3VyZSB0aGUKCSAgc3RyZWFtIGlzIGF2YWlsYWJsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzYxNAoJICBDSUQgMTM1ODM4OQoKMjAxNi0wNC0xMiAxMTozNzozNiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBSZXZlcnQgInF0ZGVtdXg6IHJlZHVuZGFudCBjaGVjayBpbiBQSUZGIHBhcnNlciIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA0MWUxMDUyNGYzYmFiZGQ5MmFhYzhjOGM5ZDViOWNkZjE4NGMyZDRlLgoKMjAxNi0wNC0xMiAxMTowNTo1MCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiByZWR1bmRhbnQgY2hlY2sgaW4gUElGRiBwYXJzZXIKCSAgcXRkZW11eC0+c3RyZWFtcyBpcyBhbiBhcnJheSBvZiBzaXplIEdTVF9RVERFTVVYX01BWF9TVFJFQU1TLCBpdCB3aWxsIG5ldmVyCgkgIGV2YWx1YXRlIHRvIHRydWUgd2hlbiBjb21wYXJpbmcgdG8gTlVMTC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzYxNAoJICBDSUQgMTM1ODM4OQoKMjAxNi0wNC0xMiAxMTo1NjowOCArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGF2b2lkIGxlYWtpbmcgR1ZhbHVlcwoJICB1bnNldCB0aGUgR1ZhbHVlIGlmIHdlIGRvbid0IHVzZSBpdCBhbnkgbW9yZSB0byBhdm9pZCBsZWFrcy4KCjIwMTYtMDQtMTIgMTA6MTU6MzkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBGaXggcnRwX2ppdHRlcl9idWZmZXJfZ2V0X3RzX2RpZmYoKSBmaWxsIGxldmVsIGNhbGN1bGF0aW9uCgkgIFRoZSBoZWFkIG9mIHRoZSBxdWV1ZSBpcyB0aGUgb2xkZXN0IHBhY2tldCAoYXMgaW4gbG93ZXN0IHNlcW51bSksIHRoZSB0YWlsIGlzCgkgIHRoZSBuZXdlc3QgcGFja2V0LiBUbyBjYWxjdWxhdGUgdGhlIGZpbGwgbGV2ZWwsIHdlIHNob3VsZCBjYWxjdWxhdGUgdGFpbC1oZWFkCgkgIHdoaWxlIGNvbnNpZGVyaW5nIHdyYXBhcm91bmRzLiBOb3QgdGhlIG90aGVyIHdheSBhcm91bmQuCgkgIE90aGVyIGNvZGUgaXMgYWxyZWFkeSBkb2luZyB0aGlzIGluIHRoZSBjb3JyZWN0IG9yZGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY0ODg5CgoyMDE2LTA0LTExIDEwOjQ0OjU2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgIHJ0cG1hbmFnZXI6IEl0J3MgR1NUX0xJQlMsIG5vdCBHU1RfTElCU19MSUJTCgoyMDE2LTA0LTExIDA4OjMzOjE3ICswOTAwICBTZXVuZ2hhIFlhbmcgPHNoLnlhbmdAbGdlLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggcGFyc2luZyBzZWdtZW50IGR1cmF0aW9uIG9mIGVtcHR5IGVkaXQgbGlzdCBib3gKCSAgRm9yIGVtcHR5IGVkaXQgbGlzdCwgc2VnbWVudC1kdXJhdGlvbiBpbiBlZGl0IGxpc3QgYm94IHNob3VsZCBub3QgYmUKCSAgdXNlZCBmb3Igc2VnbWVudCBldmVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NDg3MAoKMjAxNi0wNC0wOCAxMzowNTo1NyArMDIwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBtYWtlIHRpbWVjb2Rlc2NhbGUgY29uZmlndXJhYmxlCgkgIEluIHNvbWUgdXNlIGNhc2VzIHRoZSBkZWZhdWx0IHRpbWVjb2Rlc2NhbGUgd2lsbCBwcm9kdWNlIGJsb2NrcyB3aXRoIHRoZSBzYW1lIHRpbWVzdGFtcAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY0NzY5CgoyMDE2LTA0LTA3IDEzOjAxOjUyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdGVyYnVmZmVyOiBNb3ZlIGFzc2VydGlvbiB0byB0aGUgcmlnaHQgbG9jYXRpb24KCSAgV2Ugc2hvdWxkbid0IGhhdmUgImxhdGUiIGxvc3QgdGltZXJzIGF0IHRoYXQgcG9pbnQKCjIwMTYtMDMtMDIgMTQ6MjU6MjQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBTcGVlZCB1cCBsb3N0IHRpbWVvdXQgaGFuZGxpbmcKCSAgV2hlbiBkb3duc3RyZWFtIGJsb2NrcywgImxvc3QiIHRpbWVycyBhcmUgY3JlYXRlZCB0byBub3RpZnkgdGhlCgkgIG91dGdvaW5nIHRocmVhZCB0aGF0IHBhY2tldHMgYXJlIGxvc3QuCgkgIFRoZSBwcm9ibGVtIGlzIHRoYXQgZm9yIGhpZ2ggcGFja2V0LXJhdGUgc3RyZWFtcywgd2UgbWlnaHQgZW5kIHVwIHdpdGgKCSAgYSBiaWcgbGlzdCBvZiBsb3N0IHRpbWVvdXRzIChoYWQgYSB1c2UtY2FzZSB3aXRoIH4xMDAwLi4uKS4KCSAgVGhlIHByb2JsZW0gaXNuJ3Qgc28gbXVjaCB0aGUgYW1vdW50IG9mIGxvc3QgdGltZW91dHMgdG8gaGFuZGxlLCBidXQKCSAgcmF0aGVyIHRoZSB3YXkgdGhleSB3ZXJlIGhhbmRsZWQuIEFsbCB0aW1lcnMgd291bGQgZmlyc3QgYmUgaXRlcmF0ZWQsCgkgIHRoZW4gdGhlIG9uZSBzZWxlY3RlZCB3b3VsZCBiZSBoYW5kbGVkIC4uLiB0byByZS1pdGVyYXRlIHRoZSBsaXN0IGFnYWluLgoJICBBbGwgb2YgdGhpcyBpcyBiZWluZyBkb25lIHdoaWxlIHRoZSBqYnVmIGxvY2sgaXMgdGFrZW4sIHdoaWNoIGluIHNvbWUgdXNlLWNhc2VzCgkgIHdvdWxkIHJldHVybiBpbiBob2xkaW5nIHRoYXQgbG9jayBmb3IgMTBzLi4uIGJsb2NraW5nIGFueSBidWZmZXJzIGZyb20KCSAgYmVpbmcgYWNjZXB0ZWQgaW4gaW5wdXQuLi4gd2hpY2ggd291bGQgdGhlbiBhcnJpdmUgbGF0ZSAuLi4gd2hpY2ggd291bGQKCSAgY3JlYXRlIHBsZW50eSBvZiBsb3N0IHRpbWVycyAuLi4gd2hpY2ggd291bGQgY2F1c2UgdGhlIHNhbWUgaXNzdWUuCgkgIEluIG9yZGVyIHRvIGF2b2lkIHRoYXQgc2l0dWF0aW9uLCBoYW5kbGUgdGhlIGxvc3QgdGltZXJzIGltbWVkaWF0ZWx5IHdoZW4KCSAgaXRlcmF0aW5nIHRoZSBsaXN0IG9mIHBlbmRpbmcgdGltZXJzLiBUaGlzIG1vZGlmaWVzIHRoZSBjb21wbGV4aXR5IGZyb20KCSAgYSBxdWFkcmF0aWMgdG8gYSBsaW5lYXIgY29tcGxleGl0eS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Mjk4OAoKMjAxNi0wMy0wMiAxNDoyMzowMSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IERvbid0IGNyZWF0ZSBsb3N0IGV2ZW50cyBpZiB3ZSBkb24ndCBuZWVkIHRoZW0KCSAgV2hlbiAiZG8tbG9zdCIgaXMgc2V0IHRvIEZBTFNFIHdlIGRvbid0IHVzZS9zZW5kIHRoZSBsb3N0IGV2ZW50cy4KCSAgSW4gdGhhdCBjYXNlLCBkb24ndCBjcmVhdGUgdGhlbSB0byBzdGFydCB3aXRoIDopCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjI5ODgKCjIwMTYtMDMtMDIgMTM6NTc6MDcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBBZGQgdHJhY2luZyBvZiBsb2NrIHVzYWdlCgkgIEhlbHBzIHdpdGggZGVidWdnaW5nIGxvY2sgdXNhZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Mjk4OAoKMjAxNi0wMi0xMCAxOTo1Njo1OSArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmRldmljZXByb3ZpZGVyLmM6CgkgIHY0bDI6IERvbid0IGxlYWsgdjRsMiBvYmplY3RzIGFuZCBwcm9wcyBvbiBwcm9iZSBlcnJvcnMKCjIwMTYtMDQtMDQgMTc6NDI6MDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICB0ZXN0czogYWRkIHVuaXQgdGVzdCBmb3IganBlZyBkZXBheWxvYWRlciBwYWNrZXQgbG9zcyBoYW5kbGluZwoJICBNYWtlIHN1cmUgaXQgYWx3YXlzIG91dHB1dHMgc29tZXRoaW5nIHRoYXQgbG9va3MgbGlrZSBhIHZhbGlkCgkgIEpQRUcgZnJhbWUsIGllLiBzdGFydHMgd2l0aCBhbiBTT0kgbWFya2VyIGFuZCBlbmRzIHdpdGggYW4gRU9JCgkgIG1hcmtlci4KCjIwMTYtMDMtMTUgMDM6MjU6MjYgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkgIHJ0cGpwZWdkZXBheTogRG9uJ3Qgc2VuZCBpbnZhbGlkIGZyYW1lcyBkb3duc3RyZWFtIGFmdGVyIHBhY2tldCBsb3NzIG9yIGEgRElTQ09OVAoJICBBZnRlciBjbGVhcmluZyB0aGUgYWRhcHRlciBkdWUgdG8gYSBESVNDT05ULCBhcyBtaWdodCBoYXBwZW4gd2hlbiBzb21lIHBhY2tldChzKQoJICBoYXZlIGJlZW4gbG9zdCwgdGhlIGRlcGF5bG9hZGVyIHdhcyBwdXNoaW5nIGRhdGEgaW50byB0aGUgYWRhcHRlciAod2hpY2ggaGFkIG5vCgkgIGhlYWRlciBkdWUgdG8gdGhlIGNsZWFyKSwgY3JlYXRpbmcgYSBoZWFkZXJsZXNzIGZyYW1lIG91dCBvZiBpdCwgYW5kIHNlbmRpbmcgaXQKCSAgZG93bnN0cmVhbS4gVGhlIGRvd25zdHJlYW0gZGVjb2RlciB3b3VsZCB0aGVuIHVzdWFsbHkgaWdub3JlIGl0OyB1bmxlc3MgdGhlcmUKCSAgd2VyZSBsb3RzIG9mIERJU0NPTlRzIGZyb20gdGhlIGppdHRlcmJ1ZmZlciBpbiB3aGljaCBjYXNlIHRoZSBkZWNvZGVyIHdvdWxkIHJlYWNoCgkgIGl0cyBtYXhfZXJyb3JzIGxpbWl0IGFuZCB0aHJvdyBhbiBlbGVtZW50IGVycm9yLiBOb3cgd2UganVzdCBkaXNjYXJkIHRoYXQgZGF0YS4KCSAgSXQgaXMgcHJvYmFieSBub3Qgd29ydGggdHJ5aW5nIHRvIHNhbHZhZ2UgdGhpcyBkYXRhIGJlY2F1c2Ugbm9uLXByb2dyZXNzaXZlCgkgIGpwZWcgZG9lcyBub3QgZGVncmFkZSBncmFjZWZ1bGx5IGFuZCBtYWtlcyB0aGUgdmlkZW8gdW53YXRjaGFibGUgZXZlbiB3aXRoCgkgIGxvdyBwYWNrZXQgbG9zcyBzdWNoIGFzIDMtNSUuCgoyMDE2LTAxLTA1IDE2OjE1OjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRwaml0dGVyYnVmZmVyOiBBZGQgUkZDNzI3MyBtZWRpYSBjbG9jayBoYW5kbGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMjU5CgoyMDE1LTA3LTEwIDA5OjQ0OjE1ICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFBJRkYgYm94IGRldGVjdGlvbiBhbmQgcGFyc2luZyBzdXBwb3J0CgkgIFRoZSBQSUZGIGRhdGEgaXMgc3RvcmVkIGluIGEgY3VzdG9tIFVVSUQgYm94IHdoaWNoIGlzIHBhcnNlZCBhbmQgdGhlCgkgIGNyeXB0b19pbmZvIG9mIHRoZSBlbGVtZW50IGlzIHVwZGF0ZWQgYWNjb3JkaW5nbHkuIFRoaXMgYWxsb3dzCgkgIGRvd25zdHJlYW0gZGVjcnlwdG9ycyB0byBwcm9jZXNzIGFuZCBkZWNyeXB0IHRoZSBwcm90ZWN0ZWQgY29udGVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzYxNAoKMjAxNi0wNC0wMSAxMjoxNTowNSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSAgcnRwdm9yYmlzZGVwYXk6IHJlbW92ZSBkZWFkIGNvZGUKCSAgcGF5bG9hZF9idWZmZXIgaGFzbid0IGJlZW4gYXNzaWduZWQgYSB2YWx1ZSBiZWZvcmUgdGhlIGp1bXBzIHRvCgkgIHN3aXRjaF9mYWlsZWQgb3IgcGFja2V0X3Nob3J0LiBTbyB0aGUgdmFsdWUgbXVzdCBiZSBOVUxMLiBObyBuZWVkCgkgIHRvIHVubWFwIGFuZCB1bnJlZi4KCSAgQ0lEICMxMzE2NDc2CgoyMDE2LTAzLTMxIDE0OjU3OjIwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgIHJ0cGgyNjNwYXk6IGZpeCBsZWFrCgkgIEZyZWUgbWVtb3J5IG9mIGN1cnJlbnQgbWFjcm9ibG9jayBvbmNlIGl0IGlzbid0IG5lZWRlZCBzbyBpdCBpc24ndCBsZWFrZWQKCSAgYnkgdGhlIGNhbGwgb2YgdGhlIGdzdF9ydHBfaDI2M19wYXlfQl9tYmZpbmRlciBmdW5jdGlvbi4KCSAgaWYgKCEobWFjID0gZ3N0X3J0cF9oMjYzX3BheV9CX21iZmluZGVyIChjb250ZXh0LCBnb2IsIG1hYywgbWIpKSkgewoJICBDSUQgMTIxMjE1NgoKMjAxNi0wMy0zMSAwMjoxNTowNCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eDogSGFuZGxlIGEgaGFuZyBkcmFpbmluZyBvdXQgYXQgRU9TCgkgIE1ha2Ugc3VyZSB0aGF0IGFsbCBkYXRhIGlzIGRyYWluZWQgb3V0IHdoZW4gdGhlIHJlZmVyZW5jZSBwYWQKCSAgZ29lcyBFT1MuIEZpeGVzIGEgcHJvYmxlbSB3aGVyZSBkYXRhIHRoYXQgYXJyaXZlcyBvbiBvdGhlcgoJICBwYWRzIGFmdGVyIHRoZSByZWZlcmVuY2UgcGFkIGZpbmlzaGVzIGNhbiBzdGFsbCBmb3JldmVyIGFuZAoJICBuZXZlciBwYXNzIEVPUy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzcxMQoKMjAxNi0wMy0xOCAxNTo0NTowMSAtMDQwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW5rOiBGaXggb2NjYXNpb25hbCBkZWFkbG9jayB3aGVuIGVuZGluZyBmaWxlIHdpdGggc3VidGl0bGUKCSAgRGVhZGxvY2sgb2NjdXJzIHdoZW4gc3BsaXR0aW5nIGZpbGVzIGlmIG9uZSBzdHJlYW0gcmVjZWl2ZWQgbm8gYnVmZmVyIGR1cmluZwoJICB0aGUgZmlyc3QgR09QIG9mIHRoZSBuZXh0IGZpbGUuIFRoYXQgY2FuIGhhcHBlbiBpbiB0aGF0IHNjZW5hcmlvIGZvciBleGFtcGxlOgoJICAxKSBUaGUgZmlyc3QgR09QIG9mIHZpZGVvIGlzIGNvbGxlY3RlZCwgaXQgaGFzIGEgZHVyYXRpb24gb2YgMTBzLgoJICBtYXhfaW5fcnVubmluZ190aW1lIGlzIHNldCB0byAxMHMuCgkgIDIpIE90aGVyIHN0cmVhbXMgY2F0Y2h1cCBhbmQgd2UgcmVjZWl2ZSB0aGUgZmlyc3Qgc3VidGl0bGUgYnVmZmVyIGF0IHRzPTAgYW5kCgkgIGhhcyBhIGR1cmF0aW9uIG9mIDFtaW4uCgkgIDMpIFdlIHJlY2VpdmUgdGhlIDJuZCBzdWJ0aXRsZSBidWZmZXIgd2l0aCBhIHRzPTFtaW4uIGluX3J1bm5pbmdfdGltZSBpcyBzZXQgdG8KCSAgMW1pbi4gVGhhdCBidWZmZXIgaXMgYmxvY2tlZCBpbiBoYW5kbGVfbXFfaW5wdXQoKSBiZWNhdXNlCgkgIG1heF9pbl9ydW5uaW5nX3RpbWUgaXMgc3RpbGwgMTBzLgoJICA0KSBTaW5jZSBhbGwgaW5fcnVubmluZ190aW1lIGFyZSBub3cgPiAxMHMsIG1heF9vdXRfcnVubmluZ190aW1lIGlzIG5vdyBzZXQgdG8KCSAgMTBzLiBUaGF0IGZpcnN0IEdPUCBnZXRzIHJlY29yZGVkIGludG8gdGhlIGZpbGUuIFRoZSBtdXhlciBwb3AgYnVmZmVycyBvdXQKCSAgb2YgdGhlIG1xLCB3aGVuIGl0IHRyaWVzIHRvIHBvcCBhIDJuZCBzdWJ0aXRsZSBidWZmZXIgaXQgYmxvY2tzIGJlY2F1c2UgdGhlCgkgIEdzdERhdGFRdWV1ZSBpcyBlbXB0eS4KCSAgNSkgQSAybmQgR09QIG9mIHZpZGVvIGlzIGNvbGxlY3RlZCBhbmQgaGFzIGEgZHVyYXRpb24gb2YgMTBzIGFzIHdlbGwuCgkgIG1heF9pbl9ydW5uaW5nX3RpbWUgaXMgbm93IDIwcy4gU2luY2Ugc3VidGl0bGUncyBpbl9ydW5uaW5nX3RpbWUgaXMgYWxyZWFkeQoJICAxbWluLCB0aGF0IEdPUCBpcyBhbHJlYWR5IGNvbXBsZXRlLgoJICA2KSBCdXQgbGV0J3Mgc2F5IHdlIG92ZXJyYW4gdGhlIG1heCBmaWxlIHNpemUsIHdlIHRodXMgc2V0IHN0YXRlIHRvCgkgIFNQTElUTVVYX1NUQVRFX0VORElOR19GSUxFIG5vdy4gQXMgc29vbiBhcyBhIGJ1ZmZlciB3aXRoIHRzID4gMTBzIChlbmQgb2YKCSAgcHJldmlvdXMgR09QKSBhcnJpdmVzIGluIGhhbmRsZV9tcV9vdXRwdXQoKSwgRU9TIGV2ZW50IGlzIHNlbnQgZG93bnN0cmVhbQoJICBpbnN0ZWFkLiBCdXQgc2luY2UgdGhlIHN1YnRpdGxlIHF1ZXVlIGlzIGVtcHR5LCB0aGF0J3MgbmV2ZXIgZ29pbmcgdG8KCSAgaGFwcGVuLiBQaXBlbGluZSBpcyBub3cgZGVhZGxvY2tlZC4KCSAgVG8gZml4IHRoaXMgc2l0dWF0aW9uIHdlIGhhdmUgdG86CgkgIC0gU2VuZCBhIGR1bW15IGV2ZW50IHRocm91Z2ggdGhlIHF1ZXVlIHRvIHdha2V1cCBvdXRwdXQgdGhyZWFkLgoJICAtIFVwZGF0ZSBvdXRfcnVubmluZ190aW1lIHRvIGF0IGxlYXN0IG1heF9vdXRfcnVubmluZ190aW1lIHNvIGl0IHNlbmRzIEVPUy4KCSAgLSBSZXNwZWN0IHRpbWUgb3JkZXIsIHNvIHdlIHNldCBvdXRfcnVubmluZ190aW09bWF4X2luX3J1bm5pbmdfdGltZSBiZWNhdXNlCgkgIHRoYXQncyBiaWdnZXIgdGhhbiBwcmV2aW91cyBidWZmZXIgYW5kIHNtYWxsZXIgdGhhbiBuZXh0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzNzExCgoyMDE1LTExLTE3IDE4OjE3OjM1ICswMTAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEFkZCBuZXcgc2lnbmFsICdvbi1hcHAtcnRjcCcKCSAgU2ltaWxhciB0byB0aGUgJ29uLWZlZWRiYWNrLXJ0Y3AnIHNpZ25hbCwgYnV0IGVtaXR0ZWQgZm9yIFJUQ1AgQVBQCgkgIHBhY2tldHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIyMTcKCjIwMTYtMDMtMjQgMTU6NTc6MTEgKzA5MDAgIE1pbmphZSBLaW0gPG5hdGUua2ltQGxnZS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBtYW5hZ2VyOiBTZXQgdG8gaW5pdGlhbCB2YWx1ZSBmb3IgJ250cG5zJyBpbiBnZXRfY3VycmVudF90aW1lcygpCgkgIEluaXRpYWxpemUgIm50cG5zIiB2YXJpYWJsZSB0byAtMSBhcyB0aGUgT0UgY29tcGlsZXIgZm9yIHNvbWUgcmVhc29uIGRvZXNuJ3QKCSAgcmVhbGl6ZSB0aGF0IHRoZSB2YXJpYWJsZSBpcyBzZXQgaW4gYWxsIGNvZGUgcGF0aHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjQxMTkKCjIwMTYtMDEtMzEgMTE6MDg6MzggKzExMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheTogQWxsb3cgZGlmZmVyZW50IHF1YW50aXphdGlvbiB0YWJsZXMgZm9yIGNvbXBvbmVudHMgMiBhbmQgMwoJICBSRkMgMjQzNSBtZW50aW9ucyBpbiBzZWN0aW9uIDQuMSB0aGF0IFUvViB1c2UgdGFibGUgbnVtYmVyIDEsIGJ1dCB0aGlzIHNlZW1zCgkgIGp1c3QgbGlrZSBhbiBleGFtcGxlLiBTb21lIGVuY29kZXJzIGFyZSBub3QgZm9sbG93aW5nIHRoYXQgYW5kIHRoZXJlIHNlZW1zIHRvCgkgIGJlIG5vIHJlYXNvbiB0byByZWplY3QgdGhlaXIgc3RyZWFtcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTM0NQoKMjAxNi0wMy0yNCAxOToyMzoxMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3ZweC9nc3R2cHhkZWMuYzoKCSAgdnB4ZGVjOiBVc2UgdGhyZWFkcyBvbiBtdWx0aS1jb3JlIHN5c3RlbXMKCSAgVGhpcyBpcyBhIHJlZG8gb2YgY29tbWl0IGI4NDhjMWI2ZmZkMWU1MDgyMjg4MjBhMDEzZjk0ZmI0NDVlNDc3N2YuIFRoZQoJICBjb2RlIHdhcyBsb3N0IHdoZW4gdGhlIGVsZW1lbnRzIHdoZXJlIHBvcnRlZCB0byB1c2UgYSBiYXNlY2xhc3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjQxNjkKCjIwMTYtMDItMjkgMjM6NDA6MDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwbGl0bXV4LmM6CgkgIHNwbGl0bXV4c2luazogb25seSB0cnkgdG8gY3JlYXRlIGludGVybmFsIHNpbmsgaWYgaXQgZG9lc24ndCBleGlzdAoJICBUaGlzIGFsbG93cyBzcGxpdG11eHNpbmsgdG8gYmUgcmV1c2VkIGFmdGVyIGJlaW5nIHB1dCB0byBOVUxMLgoJICBUZXN0IGluY2x1ZGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjI4OTMKCjIwMTUtMTAtMDEgMTM6NDE6MjMgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IHByb2JlIGFsbCBjb2xvcnNwYWNlIHN1cHBvcnRlZCBieSBkZXZpY2UKCSAgQSBkZXZpY2UgY2FuIHN1cHBvcnQgbW9yZSB0aGFuIG9uZSBjb2xvcnNwYWNlIGZvciBhIGdpdmVuIGltYWdlCgkgIGRpbWVuc2lvbiBhbmQgcGl4ZWwgZm9ybWF0LiBTbyB3ZSBoYXZlIHRvIHByb2JlIGFsbCB0aGUgc3VwcG9ydGVkCgkgIGNvbG9yc3BhY2UgYW5kIG5vdCBvbmx5IHJlbHkgb24gdGhlIGRlZmF1bHQgb25lLiBPdGhlcndpc2Ugd2UgY291bGQgZW5kCgkgIHVwIHdpdGggbmVnb3RpYXRpb24gZmFpbHVyZSBpZiB0aGUgY2FwcyBjb2xvcmltZXRyeSBmaWVsZCBkb24ndCBtYXRjaAoJICB0aGUgdjRsMiBkZXZpY2UgZGVmYXVsdCBvbmUgZXZlbiBpZiB0aGUgdjRsMiBjb3VsZCBzdXBwb3J0IHN1Y2gKCSAgY29sb3JpbWV0cnkuCgkgIFRoaXMgcGF0Y2ggZW5hYmxlIHByb2JpbmcgaWYgY29sb3JzcGFjZSBmb3IgYm90aCBjYXB0dXJlIGFuZCBvdXRwdXQKCSAgZGV2aWNlLiBJdCByZWFsbHkgbWFrZXMgc2Vuc2UgZm9yIG91dHB1dCBkZXZpY2Ugc2luY2UgdGhlIGNvbG9yc3BhY2UKCSAgc2hhbGwgYmUgc2V0IGJ5IHRoZSBhcHBsaWNhdGlvbiBhbmQgYSBsaXR0bGUgbGVzcyBmb3IgY2FwdHVyZSBkZXZpY2UKCSAgd2hpY2gsIGF0IHRoZSBtb21lbnQsIHNoYWxsIHByb3ZpZGUgdGhlIGNvbG9yc3BhY2U7IGllOiB0aGUgdjRsMgoJICBzcGVjaWZpY2F0aW9uIHNlZW1zIHRvIG5vdCB0YWtlIGludG8gYWNjb3VudCB0aGUgZmFjdCB0aGF0IGEgY2FwdHVyZQoJICBkZXZpY2UgY291bGQgZG8gY29sb3JzcGFjZSBjb252ZXJzaW9uLgoJICBBcyBhIHNpZGUgZWZmZXQsIHByb2JpbmcgdGFrZXMgc29tZSB0aW1lcyBhbmQgc28gc2xpZ3RobHkgZGVsYXkgdjRsMgoJICBpbml0aWFsaXphdGlvbi4gTm90ZSB0aGF0IHRoaXMgcGF0Y2ggb25seSBwcm9iZSBjb2xvcnNwYWNlIGFuZCBub3QgYWxsCgkgIGNvbG9yc3BhY2UsIG1hdHJpeCwgdHJhbnNmZXIgYW5kIHJhbmdlIGNvbWJpbmF0aW9uIHRvIGF2b2lkIHRha2luZyB0b28KCSAgbXVjaCB0aW1lLCBlc3BlY2lhbGx5IHdpdGggbG93LXNwZWVkIGRldmljZXMgYXMgZnVsbCBwcm9iaW5nIGRvIDE3ODIKCSAgaW9jdGwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU5MzcKCjIwMTYtMDMtMjQgMTY6MjE6NTYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbHZkZW11eC5jOgoJICBjaGVjazogRml4IGluZGVudGF0aW9uCgoyMDE2LTAzLTI0IDE2OjIwOjM5ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmx2ZGVtdXguYzoKCSAgdGVzdHM6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGVzCgoyMDE2LTAzLTE2IDIwOjI2OjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgIGRlaW50ZXJsZWF2ZTogUmV0dXJuIHRoZSBjdXJyZW50IGNhcHMgb24gdGhlIHNyY3BhZHMgb24gY2FwcyBxdWVyaWVzCgkgIEl0J3Mgbm90IGxpa2Ugd2UgY291bGQgYWNjZXB0IGFueSBvdGhlciBjYXBzIGhlcmUuIFRoZSBjYXBzIGFyZSBkZWNpZGVkIGJ5IHRoZQoJICB1cHN0cmVhbSBjYXBzIGV2ZW50LgoJICBBbHNvIGtlZXAgdGhlIGZpbHRlciBvcmRlciBpbnRhY3Qgd2hlbiBmaWx0ZXJpbmcgdGhlIHJlc3VsdHMgYWdhaW5zdCB0aGUKCSAgZmlsdGVyIGNhcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjMzMjYKCjIwMTYtMDMtMjQgMTU6MTQ6MjMgKzA5MDAgIEppbW15IE9obiA8eW9uZ2ppbi5vaG5AbGdlLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggcXRkZW11eCBtZW1vcnkgbGVhayBpbiBzcmNfY29udmVydCBmdW5jdGlvbgoJICBJZiB3ZSBkb24ndCBmaW5kIHRoZSBpbmRleCBvZiB0aGUgc2FtcGxlIGNvcnJlY3RseSBpbiBzcmNfY29udmVydCBmdW5jdGlvbiwKCSAgd2UgaGF2ZSB0byB1bnJlZiBhYm91dCB0aGUgcXRkZW11eCBiZWZvcmUgcmV0dXJuaW5nIHZhbHVlLgoJICBTbywgSSBoYXZlIG1vZGlmeSBpdCBhYm91dCBpbnN0ZWFkIHBhc3MgcXRkZW11eCBhcyBhIHBhcmFtZXRlciBpbnRvCgkgIHNyY19jb252ZXJ0IGZ1bmN0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzOTczCgoyMDE2LTAzLTIyIDEzOjE1OjIwICswOTAwICBKaW1teSBPaG4gPHlvbmdqaW4ub2huQGxnZS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQWRkIGNoZWNrIGNvbmRpdGlvbiBmb3IgZmFpbCBjYXNlIGluIGdldF9kdXJhdGlvbiBmdW5jdGlvbgoJICBDdXJyZW50bHksIGdldF9kdXJhdGlvbiBmdW5jdGlvbiBhbHdheXMgcmV0dXJuIHRoZSBUUlVFIGV2ZW4gdGhvdWdoCgkgIGl0IGNhbid0IGJlIHNldCBkdXJhdGlvbiBjb3JyZWN0bHkuIFNvLCB3ZSBuZWVkIHRvIGFkZCB0aGUgZWxzZSBjb25kaXRpb24KCSAgYWJvdXQgdGhlIGZhaWwgY2FzZS4gQWxzbywgd2UgYWxyZWFkeSBzZXQgdGhlIEdTVF9DTE9DS19USU1FX05PTkUKCSAgaW4gdGhpcyBmdW5jdGlvbi4gU28gSSBoYXZlIG1vZGlmeSBpdCB3aGljaCBpcyByZWxhdGVkIGNvZGUgaW4gc29tZQoJICBmdW5jdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Mzk2OAoKMjAxNi0wMy0yMSAxMDoxMToyMyArMDkwMCAgSmltbXkgT2huIDx5b25namluLm9obkBsZ2UuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IE1vZGlmeSBkYXRhIHR5cGUgb2YgZHVyYXRpb24gaW4gaGFuZGxlX3NyY19xdWVyeSBmdW5jdGlvbgoJICBEYXRhIHR5cGUgb2YgZHVyYXRpb24gbmVlZCB0byBtb2RpZnkgZnJvbSBndWludDY0IHRvIEdzdENsb2NrVGltZQoJICBmb3IgY29uc2lzdGVuY3kgaW4gaGFuZGxlX3NyY19xdWVyeSBmdW5jdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Mzk2NQoKMjAxNi0wMy0xOCAxNDo0MDo1OCArMDIwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAYWhpcnUuZXU+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogQWRkZWQgdW5pdCB0ZXN0cyBmb3IgZmllbGQ9YXV0bwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzODY5CgoyMDE2LTAzLTE3IDIxOjIxOjAyICswMjAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUB0b29sc29uYWlyLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSAgZGVpbnRlcmxhY2U6IEFkZGVkICJhdXRvIiBmaWVsZHMgbW9kZQoJICBUaGUgImF1dG8iIGZpZWxkcyBtb2RlIHdpbGwgZGV0ZWN0IHRoZSB1cHN0cmVhbSBhbmQgZG93bnN0cmVhbSBmcmFtZXJhdGVzIGFuZAoJICB3aWxsIGRlY2lkZSB0byBkZWludGVybGFjZSBhbGwgb3Igb25seSB0b3AgZmllbGRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzODY5CgoyMDE2LTAzLTE2IDIwOjE3OjU1ICswMTAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBkb24ndCBlbWl0IHBhZC1hZGRlZCB1bnRpbCBjYXBzIGFyZSByZWFkeQoJICBJbiBvdGhlciB3b3JkcywgZ3N0X3BhZF9nZXRfY3VycmVudF9jYXBzIHNob3VsZCBuZXZlciByZXR1cm4gTlVMTAoJICBpbiBhIHBhZC1hZGRlZCBjYWxsYmFjayBmcm9tIHRoZSBkZW11eGVyLgoJICBBZGRlZCB0ZXN0cyBmb3IgdGhlIHR3byBzcGVjaWFsIGNhc2VzIHdpdGggQUFDIGFuZCBILjI2NCB3aGVyZSB0aGlzCgkgIHdvdWxkIGhhcHBlbiBldmVyeSB0aW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzNzgwCgoyMDE2LTAzLTA0IDEwOjMwOjEyICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9vdmVybGF5LmM6CgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZkZWMuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZzaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvanBlZy9nc3RzbW9rZWRlYy5jOgoJKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOgoJKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0aGR2MTM5NHNyYy5jOgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBleHQvdGFnbGliL2dzdGFwZXYybXV4LmNjOgoJKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJKiBleHQvdnB4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnB4L2dzdHZwOWRlYy5jOgoJKiBleHQvdnB4L2dzdHZwOWVuYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHNiY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmM6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2JyZWFrbXlkYXRhLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2NwdXJlcG9ydC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzZGVidWcuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc3NldHRlci5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZpZ2F0aW9udGVzdC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZzZWVrLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHB1c2hmaWxlc3JjLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHRhZ2luamVjdC5jOgoJKiBnc3QvZGVidWd1dGlscy9wcm9ncmVzc3JlcG9ydC5jOgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Rlc3RwbHVnaW4uYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdG9wLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJpcHBsZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHN0cmVhay5jOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L2lzb21wNC9nc3RydHB4cXRkZXBheS5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL3dlYm0tbXV4LmM6CgkqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c3JjLmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2xpbWl0ZXIuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzoKCSogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwyNGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDI0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIyZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwa2x2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBrbHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwb3B1c2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwb3B1c3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2JjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzdHJlYW1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN0cmVhbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA5cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cXVldWUuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cmVjZWl2ZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvbWVkaWFuLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOgoJKiBzeXMvb3NzL2dzdG9zc3NyYy5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6CgkqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2RldGVjdC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICBnb29kOiB1c2UgbmV3IGdzdF9lbGVtZW50X2NsYXNzX2FkZF9zdGF0aWNfcGFkX3RlbXBsYXRlKCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzA3NgoKMjAxNi0wMy0wNCAwOTo0Mjo0NCArMDEwMCAgRGF2aWQgQnVjaG1hbm4gPGRhdmlkLmJ1Y2htYW5uQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Zsdm11eC5jOgoJICBmbHZtdXg6IFRlc3QgdG8gdmVyaWZ5IGZsdm11eCBoYW5kbGVzIERUUyB3aXRoIEdTVF9DTE9DS19USU1FIE5PTkUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjIwNwoKMjAxNS0xMS0wNCAxNDo1MToxOSArMDkwMCAgSmloYWUgWWkgPGppaGFlLnlpQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhdm9pZCBwb3RlbnRpYWxseSBvdmVyZmxvd2luZyBleHByZXNzaW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc1NjkKCjIwMTYtMDMtMjIgMTA6NDM6NDUgKzA5MDAgIEppbW15IE9obiA8eW9uZ2ppbi5vaG5AbGdlLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBBZGQgdGhlIGZ1bmN0aW9uIHRvIGdldCBjaGFubmVscyBhbmQgc2FtcGxlIHJhdGUgZm9yIEFBQwoJICBBZGQgYWFjX2dldF9jaGFubmVscyBhbmQgc2FtcGxlX3JhdGUgZnVuY3Rpb24gdG8gZ2V0IHRoZXNlIHZhbHVlIGZvcgoJICBBQUMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDkxMTAKCjIwMTYtMDMtMjQgMTM6MzM6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuOC4wID09PQoKMjAxNi0wMy0yNCAxMjoyNzozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuOC4wCgoyMDE2LTAzLTI0IDEyOjAyOjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE2LTAzLTE2IDIwOjE4OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgIGRlaW50ZXJsZWF2ZTogVXNlIEdzdEl0ZXJhdG9yIGZvciBpdGVyYXRpbmcgYWxsIHBhZHMgaW5zdGVhZCBvZiBtYW51YWxseSBpdGVyYXRpbmcgdGhlbSB3aGlsZSBob2xkaW5nIHRoZSBvYmplY3QgbG9jayBhbGwgdGhlIHRpbWUKCSAgRG9pbmcgcXVlcmllcyB3aGlsZSBob2xkaW5nIHRoZSBvYmplY3QgbG9jayBpcyBhIGJpdCBkYW5nZXJvdXMsIGFuZCBpbiB0aGlzCgkgIGNhc2UgY2F1c2VzIGRlYWRsb2Nrcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzMyNgoKMjAxNi0wMy0xNyAyMDo1MzoyNyArMDIwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAdG9vbHNvbmFpci5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEZpeCB0eXBvIHRvIG5vdCBjaGFuZ2UgdGhlIGlucHV0IGNhcHMgYnV0IG91ciBmaWx0ZXJlZCBjYXBzCgkgIENoYW5naW5nIHRoZSBpbnB1dCBjYXBzIGFuZCBub3QgdXNpbmcgdGhlbSBhbnltb3JlIGFmdGVyd2FyZHMgaXMgdXNlbGVzcywgYW5kCgkgIGl0IGJyZWFrcyBuZWdvdGlhdGlvbiBpbiBwaXBlbGluZXMgbGlrZToKCSAgZ3N0LWxhdW5jaC0xLjAgdmlkZW90ZXN0c3JjICEgInZpZGVvL3gtcmF3LGZyYW1lcmF0ZT0yNS8xLGludGVybGFjZS1tb2RlPWludGVybGVhdmVkIiAhCgkgIGRlaW50ZXJsYWNlIGZpZWxkcz1hbGwgISAidmlkZW8veC1yYXcsZnJhbWVyYXRlPTUwLzEsaW50ZXJsYWNlLW1vZGU9cHJvZ3Jlc3NpdmUiICEKCSAgZmFrZXNpbmsKCj09PSByZWxlYXNlIDEuNy45MSA9PT0KCjIwMTYtMDMtMTUgMTI6MDQ6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjcuOTEKCjIwMTYtMDMtMTUgMTE6NTM6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE2LTAzLTE1IDExOjQxOjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vaHUucG86CgkqIHBvL3NyLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNi0wMy0xNSAwMzoyNjoxNCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBtYW5hZ2VyOiBTb21lIGNvbW1lbnQgYW5kIGRvY3VtZW50YXRpb24gY2xhcmlmaWNhdGlvbnMvZml4ZXMKCjIwMTYtMDMtMTMgMTA6MzM6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBSZXZlcnQgImZsYWNwYXJzZTogcHVzaCB0YWdzIGluIHByZV9wdXNoX2ZyYW1lIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDQwNjVmY2I4MGE0OTkyNGI3MGYwYzhmYzE1OWRlYzBmZjQ3OTQzYTEuCgkgIGZsYWNwYXJzZSBzaG91bGQgbm90IHB1c2ggdGFncyBieSBpdHNlbGYsIHRoZSBiYXNlIGNsYXNzIGlzIGdvaW5nIHRvIGRvIHRoYXQKCSAgd2hpbGUgcHJvcGVybHkgbWVyZ2luZyBpbiB1cHN0cmVhbSB0YWdzLiBJdCBqdXN0IGRpZG4ndCBiZWNhdXNlIG9mIGEgYnVnIGluCgkgIHRoZSBiYXNlIGNsYXNzLCB3aGljaCB3YXMgaGlkZGVuIGJ5IHRoaXMgY29tbWl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzNTUzCgoyMDE2LTAyLTI1IDA1OjE3OjUxICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2Rib29saHVmZi5jOgoJKiBnc3QvcnRwL2Rib29saHVmZi5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5jOgoJICB3aW4zMjogRG9uJ3QgdXNlIF9fYXR0cmlidXRlX18gb24gTVNWQwoJICBVc2UgTVNWQy1lcXVpdmFsZW50cyBmb3IgYWxpZ25tZW50IGFuZCBwYWNraW5nIGNvbXBpbGVyIGRpcmVjdGl2ZXMgd2hlbiBidWlsZGluZwoJICBvbiBNU1ZDCgoyMDE2LTAyLTI1IDA1OjE2OjQyICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkgIHdpbjMyOiBEb24ndCB0cnkgdG8gaW5jbHVkZSB4bWF0aC5oIG9uIG5ld2VyIFZpc3VhbCBTdHVkaW8KCjIwMTYtMDItMjUgMDU6MTY6MDkgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJICBnc3QgRmFjdG9yIG91dCBlbmRpYW4tb3JkZXIgUkdCIGZvcm1hdHMKCSAgTVNWQyBzZWVtcyB0byBpZ25vcmUgcHJlcHJvY2Vzc29yIGNvbmRpdGlvbmFscyBpbnNpZGUgc3RhdGljIHBhZAoJICB0ZW1wbGF0ZSBtYWNyb3MuCgoyMDE2LTAzLTA4IDE3OjM3OjE3ICswMTAwICBUaG9tYXMgUm9vcyA8dGhvbWFzLnJvb3NAaW5kdXN0cm9uaWMuZGU+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmN0c291bmRzaW5rOiBTZXR0aW5nIHZvbHVtZSBzaG91bGQgbm90IHVubXV0ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MTA2CgoyMDE2LTAzLTA4IDEzOjU3OjI0ICswMTAwICBUaG9tYXMgUm9vcyA8dGhvbWFzLnJvb3NAaW5kdXN0cm9uaWMuZGU+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmN0c291bmRzaW5rOiBGaXggdm9sdW1lIHJlc2V0IG9uIHVubXV0ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MTA2CgoyMDE2LTAzLTA4IDEzOjAzOjU1ICswMTAwICBBbGJhbiBCZWRlbCA8YWxiYW4uYmVkZWxAYXZpb25pYy1kZXNpZ24uZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IGZpeCBjYXB0dXJlIHdpdGggYmF5ZXIgZm9ybWF0cyBvdGhlciB0aGFuIGJnZ3IKCSAgZ3N0X3Y0bDJfb2JqZWN0X2dldF9jYXBzX2luZm8oKSBhbHdheXMgcmV0dXJuIFY0TDJfUElYX0ZNVF9TQkdHUjgKCSAgZm9yIGFsbCBiYXllciBmb3JtYXRzLiBUaGlzIGlzIG9idmlvdXNseSBicm9rZW4gaWYgdGhlIGRldmljZSB1c2UKCSAgYW5vdGhlciBvcmRlcmluZy4gRml4IHRoaXMgYnkgcHJvcGVybHkgcmVhZGluZyB0aGUgZm9ybWF0IHBhcmFtZXRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzMxOAoKMjAxNi0wMy0wNyAxMDoyODowNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlc2V0IHBlbmRpbmcgc2VnbWVudCBpZiB3ZSBhcmUgYWxyZWFkeSBwdXNoaW5nIG9uZQoJICBXaGVuIHVwc3RyZWFtIGlzIHJ1bm5pbmcgaW4gYnl0ZXMgaW4gcHVzaC1tb2RlLCBxdGRlbXV4IHdpbGwKCSAgY29udmVydCBzZWVrcyBmcm9tIHRpbWUgdG8gYnl0ZXMgYW5kIHNlbmQgaXQgdXBzdHJlYW0uIFVwc3RyZWFtCgkgIGVsZW1lbnQgd2lsbCBwZXJmb3JtIGEgYnl0ZSBzZWVrIGFuZCBzZW5kIGEgYnl0ZSBzZWdtZW50IHRvIHF0ZGVtdXgKCSAgdGhhdCB3aWxsIGNvbnZlcnQgaXQgdG8gdGltZSBhbmQgcHVzaCBpdCBkb3duc3RyZWFtLgoJICBUaGVyZSBpcywgaG93ZXZlciwgdGhlIHBlbmRpbmdfc2VnbWVudCB2YXJpYWJsZSB0aGF0IHN0b3JlcyBhIG5ldwoJICBzZWdtZW50IGV2ZW50IHRvIGJlIHB1c2hlZCBiZWZvcmUgdGhlIG5leHQgZGF0YS4gV2hlbiBoYW5kbGluZyBzZWVrcwoJICBhcyBtZW50aW9uZWQgYWJvdmUgdGhpcyB2YXJpYWJsZSB3YXMgYmVpbmcgaWdub3JlZCBhbmQsIGlmIGl0IGNvbnRhaW5lZAoJICBzb21lIHNlZ21lbnQgZXZlbnQsIGl0IHdvdWxkIG92ZXJyaWRlIHRoZSBvbmUgcmVzdWx0aW5nIGZyb20gdGhlIHNlZWsuCgkgIFRoaXMgd291bGQgcmVzdG9yZSBhIHByZXZpb3VzIHNlZ21lbnQgYW5kIHdvdWxkIGNhdXNlIHRoZSBzZWVrIHNlZ21lbnQKCSAgdG8gYmUgZGlzY2FyZGVkIGRvd25zdHJlYW0uCgkgIFRoaXMgcGF0Y2ggZml4ZXMgdGhpcyBpc3N1ZSBieSB1bnJlZmluZyBhbnkgcGVuZGluZyBzZWdtZW50IGFzIHRoZQoJICBzZWVrIGZyb20gdXBzdHJlYW0gc2hvdWxkIGNvbnRhaW4gdGhlIGxhdGVzdCBvbmUgdGhhdCBzaG91bGQgYmUKCSAgdXNlZCwgYXMgcmVxdWVzdGVkIGJ5IHRoZSBhcHBsaWNhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzE2NQoKMjAxNi0wMy0wNyAxMDoyNzo0MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJ1biBnc3QtaW5kZW50CgkgIE90aGVyd2lzZSBjb21taXRzIHdpbGwgZmFpbCB3aXRoIG91ciBpbmRlbnQgY2hlY2sgaG9vawoKMjAxNi0wMy0wNCAxNTowOTo0NSArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBmaXggY29sb3JpbWV0cnkgZm9yIE5WMTIKCSAgUmVwbGljYXRlIFY0TDJfTUFQX1FVQU5USVpBVElPTl9ERUZBVUxUIG1hY3JvIGJlaGF2aW9yLgoJICBBdCAjdjRsIGl0IHdhcyBkZXNjcmliZWQgdGhhdCBkb2N1bWVudGF0aW9uIG1pZ2h0IGJlIHdyb25nIGFuZCB0aGF0CgkgIHdlIHNob3VsZCB0cnVzdCB0aGlzIG1hY3JvIGluc3RlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjI1MjkKCjIwMTYtMDMtMDQgMTQ6MDc6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IEZpeCBtdWx0aWNhc3QgZ3JvdXAgam9pbmluZyB3aXRoIHByb3ZpZGVkIHNvY2tldHMgb24gV2luZG93cwoJICBPbiBXaW5kb3dzIHRoZSBzb2NrZXQgd2lsbCBiZSBib3VuZCB0byBBTlkgaW5zdGVhZCBvZiB0aGUgbXVsdGljYXN0IGdyb3VwLAoJICBhcyBiaW5kaW5nIHRvIGEgbXVsdGljYXN0IGdyb3VwIGRvZXMgbm90IHdvcmsuIFdoaWNoIHdvdWxkIG1lYW4gdGhhdCB3ZQoJICBvdmVycmlkZSBzcmMtPmFkZHIgdG8gYmVjb21lIEFOWSBhbmQgd29uJ3QgYXV0b21hdGljYWxseSBqb2luIGEgbXVsdGljYXN0CgkgIGdyb3VwIGFueW1vcmUgb24gV2luZG93cy4KCSAgT24gTGludXggd2Ugd291bGQgYXV0b21hdGljYWxseSBqb2luIGEgbXVsdGljYXN0IGdyb3VwLCBrZWVwIGl0IGNvbnNpc3RlbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjMwOTMKCjIwMTYtMDMtMDIgMTM6MTM6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgUmV2ZXJ0ICJydHBqaXR0ZXJidWZmZXI6IGRvbid0IGZvcmdldCB0byB1bmxvY2sgbXV0ZXggaW4gZXJyb3IgY29kZSBwYXRoIGluIHR3byBjYXNlcyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBhN2ZiN2I1MzU5MmQ4N2Y3OTgzNTQ0ZGViYjc0ZDM2NGZjMzI1N2FkLgoJICBUaGUgbXV0ZXggaXMgdGFrZW4gYnkgdGhlIGNhbGxlciwgd2Ugc2hvdWxkIGtlZXAgaXQgbG9ja2VkIHdoZW4gcmV0dXJuaW5nIHNvCgkgIHRoZSBjYWxsZXIgY2FuIHVubG9jayBpdCBhZ2Fpbi4KCjIwMTYtMDMtMDEgMTU6MDE6MjIgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IHB1c2ggdGFncyBpbiBwcmVfcHVzaF9mcmFtZQoJICBQdXNoIGEgdGFnIGV2ZW50IGJlZm9yZSBwcmUtcm9sbCBpZiB3ZSBoYXZlIHRhZ3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjI2NjAKCj09PSByZWxlYXNlIDEuNy45MCA9PT0KCjIwMTYtMDMtMDEgMTg6MTU6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS43LjkwCgoyMDE2LTAzLTAxIDE3OjAzOjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jYS5wbzoKCSogcG8vZGEucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vdHIucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNi0wMy0wMSAxNjo1MzoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2JnLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGUucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vcGwucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTYtMDMtMDEgMTQ6MTQ6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBkb24ndCBmb3JnZXQgdG8gdW5sb2NrIG11dGV4IGluIGVycm9yIGNvZGUgcGF0aCBpbiB0d28gY2FzZXMKCjIwMTYtMDItMjkgMTA6MTA6MjQgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2EtZGVtdXg6IHJlbW92ZSBpbXBvc3NpYmxlIGNvbmRpdGlvbgoJICBJdCBpcyBpbXBvc3NpYmxlIGZvciBhIGd1aW50IHRvIGhhdmUgYSBuZWdhdGl2ZSB2YWx1ZSwgbm8gbmVlZCB0byBjaGVjayBmb3IKCSAgdGhpcy4gSW50cm9kdWNlZCBpbiBjb21taXQgNjg2MWQxMWM0OWVhMGYzMGQyNDMyY2Y0ZWJmNjEwOGJjODk4OTdmMQoJICBDSUQgMTM1NDUwOQoKMjAxNi0wMi0yOCAxMDoxMjozNiArMDEwMCAgUGV0ciBWaWt0b3JpbiA8ZW5jdWtvdUBnbWFpbC5jb20+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IEZpeCBzYW1wbGUgcGlwZWxpbmUKCSAgVXNlIHRoZSB6b3JkZXIgcGFkIHByb3BlcnR5IHRvIG1ha2Ugc3VyZSB0aGUgc2VtaXRyYW5zcGFyZW50CgkgIHZpZGVvIGlzIG9uIHRvcCBvZiB0aGUgYmFja2dyb3VuZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjgwOQoKMjAxNi0wMi0yOCAxMzo0MjoyOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jndm9sdW1lLmM6CgkgIHJndm9sdW1lOiBtYWtlIHRhZyBsaXN0IHdyaXRhYmxlIGJlZm9yZSBtb2RpZnlpbmcgaXQKCSAgTWFraW5nIHRoZSBldmVudCBpdHNlbGYgd3JpdGFibGUgaXMgbm90IGVub3VnaCwgaXQgd29uJ3QgbWFrZQoJICB0aGUgYWN0dWFsIHRhZ2xpc3QgaW4gdGhlIGV2ZW50IHdyaXRhYmxlIGFzIHdlbGwuIEluc3RlYWQsIGp1c3QKCSAgbWFrZSBhIGNvcHkgb2YgdGhlIHRhZ2xpc3QgYW5kIHRoZW4gY3JlYXRlIGEgbmV3IHRhZyBldmVudCBmcm9tCgkgIHRoYXQgaWYgcmVxdWlyZWQsIHJlcGxhY2luZyB0aGUgb2xkIG9uZS4gQmVmb3JlIHdlIHdvdWxkCgkgIGluYWR2ZXJ0ZW50bHkgbW9kaWZ5IHRhZ2xpc3RzIHVwc3RyZWFtIGVsZW1lbnRzIG1pZ2h0IHN0aWxsCgkgIGJlIGhvbGRpbmcgb24gdG8uIEFkZCB1bml0IHRlc3QgZm9yIHRoaXMgYXMgd2VsbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Mjc5MwoKMjAxNi0wMi0yOCAxMzowMTozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogUHJvcGVybHkgZXJyb3Igb3V0IGlmIGJpbmRpbmcgdGhlIFVEUCBzb2NrZXRzIGZhaWxzCgkgIHVkcHNyYyBpcyBub3QgcmV0dXJuaW5nIHVzIGEgc29ja2V0IGluIHRoYXQgY2FzZS4KCjIwMTYtMDItMjcgMjA6MzM6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgIGdvb206IFVzZSBnb29tX3NldF9yZXNvbHV0aW9uKCkgaW5zdGVhZCBvZiByZWNyZWF0aW5nIHRoZSBnb29tIGluc3RhbmNlIHdoZW4gdGhlIHJlc29sdXRpb24gY2hhbmdlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyNzY1CgoyMDE2LTAyLTI3IDIwOjMyOjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICBSZXZlcnQgImdvb206IEluaXRpYWxpemUgdGhlIGdvb20gc3RydWN0IG9ubHkgb25jZSB3ZSBrbm93IHdpZHRoL2hlaWdodCBhbmQgcmVjcmVhdGUgaXQgaWYgdGhvc2UgY2hhbmdlIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGNjNmUxMDI2NDNjMWJhZTkyODMxNmRjYTlmMzRkYjAyOGZiOWE2N2UuCgoyMDE2LTAyLTI3IDIwOjMxOjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICBnb29tOiBJbml0aWFsaXplIHRoZSBnb29tIHN0cnVjdCBvbmx5IG9uY2Ugd2Uga25vdyB3aWR0aC9oZWlnaHQgYW5kIHJlY3JlYXRlIGl0IGlmIHRob3NlIGNoYW5nZQoJICBGaXhlcyBjcmFzaCB3aGVuIHRoZSB3aWR0aCBhbmQvb3IgaGVpZ2h0IGlzIGNoYW5naW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyNzY1CgoyMDE2LTAyLTI2IDEyOjQxOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBiNjRmMDNmIHRvIDZmMmQyMDkKCjIwMTYtMDItMjUgMjI6NTQ6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSAgZG9jczogYWRkIHJ0cG9wdXNkZXBheSBhbmQgcnRwb3B1c3BheSB0byBkb2N1bWVudGF0aW9uCgoyMDE2LTAyLTE3IDE1OjE1OjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBvcHVzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBvcHVzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBvcHVzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwb3B1c3BheS5oOgoJICBydHA6IG9wdXM6IG1vdmUgT3B1cyBSVFAgcGF5bG9hZGVyL2RlcGF5bG9hZGVyIGZyb20gLWJhZCB0byAtZ29vZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2MjgyCgoyMDE2LTAyLTE3IDE1OjEwOjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSAgTWVyZ2UgYnJhbmNoICdwbHVnaW4tbW92ZS1ydHAtb3B1cycKCSAgTW92ZSBPcHVzIFJUUCBkZXBheWxvYWRlci9wYXlsb2FkZXIgZnJvbSAtYmFkIHRvIC1nb29kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2MjgyCgoyMDE2LTAyLTI1IDExOjMzOjEzICswMTAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGNlbmMgYXV4IGluZm8gcGFyc2luZyBmcm9tIG1kYXQgc3VwcG9ydCBpbiBQVUxMIG1vZGUKCSAgVGhpcyBpcyBhbHJlYWR5IHN1cHBvcnRlZCBmb3IgUFVTSCBtb2RlIGJ1dCB3YXMgZmFpbGluZyBpbiBQVUxMIG1vZGUuCgkgIFRoZSBhdXggaW5mbyBpcyBzb21ldGltZXMgc3RvcmVkIGluIHRoZSBtZGF0IGJlZm9yZSB0aGUgZmlyc3Qgc2FtcGxlLAoJICBzbyB0aGUgbG9vcCB0YXNrIG5lZWRzIHRvIHB1bGwgZGF0YSBzdG9yZWQgYXQgdGhhdCBsb2NhdGlvbiBhbmQKCSAgcGVyZm9ybSB0aGUgYXV4IGluZm8gY2VuYyBwYXJzaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxNzAwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjI1MTYKCjIwMTYtMDItMjQgMTE6Mjg6MDkgKzAxMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcHJldmVudCBidWZmZXIgZmxvdyBpZiBhbnkgc3RyZWFtIGZhaWxlZCB0byBiZSBleHBvc2VkCgkgIEluIHNvbWUgY2FzZXMgdGhlIHN0cmVhbSBjb25maWd1cmF0aW9uIGNhbiBmYWlsLCBmb3IgaW5zdGFuY2UgaWYgdGhlCgkgIHN0cmVhbSBpcyBwcm90ZWN0ZWQgYW5kIG5vIGRlY3J5cHRvciB3YXMgZm91bmQuIEZvciB0aG9zZSBzaXR1YXRpb25zCgkgIHRoZSBkZW11eGVyIHNob3VsZG4ndCBlbWl0IGFueSBkYXRhIG9uIHRoZSBjb3JyZXNwb25kaW5nIHNvdXJjZSBwYWQgb2YKCSAgdGhlIHN0cmVhbSBhbmQgYmFpbCBvdXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjI1MTYKCjIwMTYtMDItMjQgMDk6MTI6MDMgKzAxMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZG9uJ3QgcHVzaCBlbmNyeXB0ZWQgYnVmZmVyIHdpdGhvdXQgY2VuYyBtZXRhZGF0YQoJICBXaGVuIHRoZSBjZW5jIG1ldGFkYXRhIGlzIHN0b3JlZCBvdXRzaWRlIG9mIHRoZSBtb29mIGJveCBhbmQgdGhlCgkgIHN0cmVhbSBpcyBleHBvc2VkIGl0IGlzIHBvc3NpYmxlIHRoYXQgdGhlIGNlbmMgbWV0YWRhdGEgaGFzbid0IGJlZW4KCSAgcHJvY2Vzc2VkIHlldCB3aGlsZSB0aGUgZmlyc3QgYnVmZmVyIGlzIGJlaW5nIHB1c2hlZC4gV2hlbiB0aGlzCgkgIGhhcHBlbnMgdGhlIGJ1ZmZlciBjYW4ndCBwb3NzaWJseSBiZSBkZWNyeXB0ZWQgZG93bnN0cmVhbSBzbyBkb24ndAoJICBwdXNoIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyNTE2CgoyMDE1LTEwLTIxIDE2OjIxOjQ1ICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlYWQgc2FpbyBhdXhfaW5mb190eXBlIGFzIGEgRk9VUkNDCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY4OTcKCjIwMTYtMDItMjMgMTg6Mjc6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmZGVjLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSAgZ3N0OiBIYW5kbGUgZ3N0X3BhZF9nZXRfY3VycmVudF9jYXBzKCkgcmV0dXJuaW5nIE5VTEwgZ3JhY2VmdWxseQoKMjAxNi0wMi0yMyAxODoxMjo1NCArMDIwMCAgRGF2ZSBDcmFpZyA8ZGNyYWlnQGJyaWdodHNpZ24uYml6PgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwaDI2NWRlcGF5OiBEb24ndCBhc3N1bWUgdGhhdCBnZXRfY3VycmVudF9jYXBzKCkgcmV0dXJucyBub24tTlVMTCBjYXBzIGFmdGVyIGhhc19jdXJyZW50X2NhcHMoKQoJICBSZW1vdmUgY2FsbHMgdG8gZ3N0X3BhZF9oYXNfY3VycmVudF9jYXBzKCkgd2hpY2ggdGhlbiBnbyBvbiB0byBjYWxsCgkgIGdzdF9wYWRfZ2V0X2N1cnJlbnRfY2FwcygpIGFzIHRoZSBjYXBzIGNhbiBnbyB0byBOVUxMIGluIGJldHdlZW4uIEluc3RlYWQganVzdAoJICB1c2UgZ3N0X3BhZF9nZXRfY3VycmVudF9jYXBzKCkgYW5kIGNoZWNrIGZvciBOVUxMLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NTM5CgoyMDE1LTEyLTE2IDEyOjQwOjM5ICswMDAwICBEYXZlIENyYWlnIDxkY3JhaWdAYnJpZ2h0c2lnbi5iaXo+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJICBnc3Q6IERvbid0IGFzc3VtZSB0aGF0IGdldF9jdXJyZW50X2NhcHMoKSByZXR1cm5zIG5vbi1OVUxMIGNhcHMgYWZ0ZXIgaGFzX2N1cnJlbnRfY2FwcygpCgkgIFJlbW92ZSBjYWxscyB0byBnc3RfcGFkX2hhc19jdXJyZW50X2NhcHMoKSB3aGljaCB0aGVuIGdvIG9uIHRvIGNhbGwKCSAgZ3N0X3BhZF9nZXRfY3VycmVudF9jYXBzKCkgYXMgdGhlIGNhcHMgY2FuIGdvIHRvIE5VTEwgaW4gYmV0d2Vlbi4gSW5zdGVhZCBqdXN0CgkgIHVzZSBnc3RfcGFkX2dldF9jdXJyZW50X2NhcHMoKSBhbmQgY2hlY2sgZm9yIE5VTEwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk1MzkKCjIwMTUtMTItMTYgMTA6NTQ6MTcgKzAwMDAgIERhdmUgQ3JhaWcgPGRjcmFpZ0BicmlnaHRzaWduLmJpej4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEhhbmRsZSBnc3RfcGFkX2dldF9jdXJyZW50X2NhcHMoKSByZXR1cm5pbmcgTlVMTCBncmFjZWZ1bGx5CgkgIFRoaXMgY2FuIGhhcHBlbiB3aGVuIHRoZSBwaXBlbGluZSBpcyBjdXJyZW50bHkgc2h1dHRpbmcgZG93bi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTUzOQoKMjAxNi0wMi0yMyAxNTo1NzoxOCArMDEwMCAgTGludXMgU3ZlbnNzb24gPGxpbnVzc25AYXhpcy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2EtZGVtdXg6IERvbid0IGhhbmRsZSBzZWVrIHVudGlsIHJlYWR5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjI1NDIKCjIwMTYtMDItMjMgMTU6NTU6MTMgKzAxMDAgIExpbnVzIFN2ZW5zc29uIDxsaW51c3NuQGF4aXMuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thLWRlbXV4OiBVbnJlZiBzZWVrIGV2ZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjI1NDIKCjIwMTYtMDItMjIgMTE6MDE6NDAgKzAxMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgbXVsdGlmaWxlc2luazogY2xvc2UgZmlsZSBvbiB3cml0ZSBlcnJvciB3aXRoIG5leHQtZmlsZSBtb2RlIGlzIHNldCB0byBidWZmZXIKCSAgSWYgd2UgaGF2ZSBhbiBlcnJvciBkdXJpbmcgZndyaXRlIGNhbGwsIGZpbGUgc3RheXMgb3BlbiBhbmQgdGh1cyBuZXh0CgkgIGluY29taW5nIGJ1ZmZlciB3aWxsIHRyaWdnZXIgYW4gYXNzZXJ0IHdoZW4gdHJ5aW5nIHRvIG9wZW5pbmcgYSBuZXcKCSAgZmlsZS4KCSAgVGhpcyBoYXBwZW5zIGlmIHdlIGRvIG5vdCByZXN0YXJ0IGVsZW1lbnQsIGZpbGUgaXMgY2xvc2VkIGF0IHN0b3AsIGFuZAoJICBpZiBhcHBsaWNhdGlvbiBoYW5kbGVzIHRoZSByZXR1cm5lZCBHU1RfRkxPV19FUlJPUiB0byBrZWVwIGJpbiBhbGl2ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjQzNAoKMjAxNi0wMi0xOSAyMzo0NDo0MiArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGRvbid0IG91dHB1dCBlbXB0eSB0YWdzL3RhZyBlbGVtZW50cwoJICBTdWNoIGZpbGVzIHdpbGwgbm90IHBsYXkgb24gQW5kcm9pZCwgYmVjYXVzZSBvZiBidWcgaW4gbGlid2VibSBtYXRyb3NrYSBwYXJzaW5nLCB3aGljaCBpcyBzdGlsbCBwcmVzZW50IGluIDYuMC4xCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIzNDkKCjIwMTYtMDItMDQgMTU6NTk6MDQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thLWRlbXV4OiBtYWtlIHVwIGFuIE9wdXNIZWFkIGJsb2NrIGlmIHBvc3NpYmxlIHdoZW4gbWlzc2luZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxNDg5CgoyMDE2LTAyLTA0IDEwOjQzOjE1ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2EtbXV4OiBtYWtlIHVwIGFuIE9wdXNIZWFkIGJsb2NrIGlmIHBvc3NpYmxlIHdoZW4gbWlzc2luZwoJICBUaGlzIGJsb2NrIGlzIG5lZWRlZCBpbiB0aGUgTWF0cm9za2EgZmlsZSwgYnV0IGRhdGEgY29taW5nIGZyb20KCSAgUlRQIG1heSBub3QgaGF2ZSBvbmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjE0ODkKCjIwMTYtMDItMjIgMTM6NTM6MjEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBtYWtlIHN0cmVhbS1pZCBtb3JlIHJlYWRhYmxlIGFuZCBvcmRlci1mcmllbmRseQoJICAuLi4gYXMgc3RyZWFtcyBhcmUgc28gb3JkZXJlZCBieSBpZCBieSBlLmcuIGRlY29kZWJpbgoJICAoYW5kIGFzIHR5cGljYWxseSBhbHJlYWR5IGhvbm91cmVkIGJ5IG90aGVyIGRlbXV4ZXJzKS4KCjIwMTYtMDItMjIgMTM6MjU6NTEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYTogcmVtb3ZlIGNvbmZ1c2luZyBkdXBsaWNhdGUgdHJhY2sgdWlkIGZpZWxkCgoyMDE2LTAyLTIyIDE0OjAzOjAyICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cDlwYXkuYzoKCSAgcnRwdnA5cGF5OiBhZGQgbWlzc2luZyBicmVhawoJICBWUDlfUEFZX1BJQ1RVUkVfSURfN0JJVFMgYW5kIFZQOV9QQVlfUElDVFVSRV9JRF8xNUJJVFMgYXJlIG11dHVhbGx5CgkgIGV4Y2x1c2l2ZSBvcHRpb25zIG9mIHRoZSBwaWN0dXJlLWlkLW1vZGUuIFdlIGNhbiBicmVhayBhZnRlciB0aGUKCSAgZmlyc3QgY2FzZS4KCSAgMSBvciAyIGJ5dGVzIG5lZWQgdG8gYmUgYWRkZWQgdG8gdGhlIGhlYWRlciBsZW5ndGggZGVwZW5kaW5nIG9uIHRoZQoJICBQaWN0dXJlSUQgc2l6ZS4KCSAgaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL2RyYWZ0LXViZXJ0aS1wYXlsb2FkLXZwOS0wMCNzZWN0aW9uLTQuMgoJICBDSUQgMTM1MzQ3OQoKMjAxNi0wMi0yMiAwOTowOTowMSArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IEZpeCBidWZmZXIgbWVtb3J5IGxlYWsKCSAgYnVmZmVyIGJlaW5nIG1hcHBlZCBpcyBub3QgYmVpbmcgdW5tYXBwZWQgaW4gc29tZSBjYXNlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyNDIwCgoyMDE1LTExLTA0IDEwOjE5OjAzICswMTAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBtYW5hZ2VyOiBEb24ndCB3YXJuIGZvciBkdXBsaWNhdGUvcmVvcmRlcmVkIHBhY2tldHMKCSAgVGhpcyBpcyBhIG5vcm1hbCBzY2VuYXJpbyBhbmQgc2hvdWxkIG5vdCBiZSBhIHdhcm5pbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIyMDgKCjIwMTYtMDItMjEgMDk6NDc6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYWxwaGEvYWxwaGEudmNwcm9qOgoJKiBnc3QvYXVwYXJzZS9hdXBhcnNlLnZjcHJvajoKCSogZ3N0L2F2aS9hdmkudmNwcm9qOgoJKiBnc3QvY3V0dGVyL2N1dHRlci52Y3Byb2o6CgkqIGdzdC9kZWJ1Z3V0aWxzL2RlYnVnLnZjcHJvajoKCSogZ3N0L2RlYnVndXRpbHMvbmF2aWdhdGlvbnRlc3QudmNwcm9qOgoJKiBnc3QvZWZmZWN0di9lZmZlY3R2LnZjcHJvajoKCSogZ3N0L2ZseC9mbHhkZWMudmNwcm9qOgoJKiBnc3QvZ29vbS9nb29tLnZjcHJvajoKCSogZ3N0L2dvb20yazEvZ29vbS52Y3Byb2o6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUudmNwcm9qOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXgudmNwcm9qOgoJKiBnc3QvbGF3L2FsYXcudmNwcm9qOgoJKiBnc3QvbGF3L211bGF3LnZjcHJvajoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLnZjcHJvajoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnQudmNwcm9qOgoJKiBnc3QvcnRwL3J0cC52Y3Byb2o6CgkqIGdzdC9zbXB0ZS9zbXB0ZS52Y3Byb2o6CgkqIGdzdC9zcGVjdHJ1bS9zcGVjdHJ1bS52Y3Byb2o6CgkqIGdzdC91ZHAvdWRwLnZjcHJvajoKCSogZ3N0L3ZpZGVvYm94L3ZpZGVvYm94LnZjcHJvajoKCSogZ3N0L3ZpZGVvY3JvcC92aWRlb2Nyb3AudmNwcm9qOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ2FtbWEudmNwcm9qOgoJKiBnc3QvdmlkZW9maWx0ZXIvdmlkZW9iYWxhbmNlLnZjcHJvajoKCSogZ3N0L3ZpZGVvZmlsdGVyL3ZpZGVvZmlsdGVyLnZjcHJvajoKCSogZ3N0L3ZpZGVvZmlsdGVyL3ZpZGVvZmxpcC52Y3Byb2o6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIudmNwcm9qOgoJKiBnc3Qvd2F2ZW5jL3dhdmVuYy52Y3Byb2o6CgkqIGdzdC93YXZwYXJzZS93YXZwYXJzZS52Y3Byb2o6CgkqIGdzdC95NG0veTRtZW5jLnZjcHJvajoKCSogd2luMzIvTUFOSUZFU1Q6CgkqIHdpbjMyL3ZzNi9hdXRvZ2VuLmRzcDoKCSogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2dvb2QuZHN3OgoJKiB3aW4zMi92czYvbGliZ3N0YWxhdy5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RhbHBoYS5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RhbHBoYWNvbG9yLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGFwZXRhZy5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RhdWRpb2Z4LmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGF1cGFyc2UuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0YXV0b2RldGVjdC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RhdmkuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0Y3V0dGVyLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGRpcmVjdHNvdW5kLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGVmZmVjdHYuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0Zmx4LmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGdvb20uZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0aWN5ZGVtdXguZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0aWQzZGVtdXguZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0aW50ZXJsZWF2ZS5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RqcGVnLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGxldmVsLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdG1hdHJvc2thLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdG1lZGlhbi5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3Rtb25vc2NvcGUuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0bXVsYXcuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0bXVsdGlwYXJ0LmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdHBuZy5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RxdGRlbXV4LmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdHJ0cC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RydHNwLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdHNtcHRlLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdHNwZWV4LmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdHVkcC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb2JhbGFuY2UuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0dmlkZW9ib3guZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0dmlkZW9jcm9wLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdHZpZGVvZmxpcC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb21peGVyLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdHdhdmVmb3JtLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdHdhdmVuYy5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3R3YXZwYXJzZS5kc3A6CgkqIHdpbjMyL3ZzNy9saWJnc3RkaXJlY3Rzb3VuZC52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9nc3QtcGx1Z2lucy1nb29kLnNsbjoKCSogd2luMzIvdnM4L2xpYmdzdDEzOTQudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0YWFzaW5rLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdGFsYXcudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0YWxwaGEudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0YWxwaGFjb2xvci52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3Rhbm5vZGV4LnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdGFwZXRhZy52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RhdWRpb2Z4LnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdGF1cGFyc2UudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0YXV0b2RldGVjdC52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RhdmkudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0Y2FjYXNpbmsudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0Y2Rpby52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RjdXR0ZXIudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0ZGlyZWN0c291bmQudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0ZHYudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0ZWZmZWN0di52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RmbGFjLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdGZseGRlYy52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3Rnb29tLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdGljeWRlbXV4LnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdGlkM2RlbXV4LnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdGpwZWcudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0bGFkc3BhLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdGxldmVsLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdG1hdHJvc2thLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdG1uZy52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3Rtb25vc2NvcGUudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0bXVsYXcudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0bXVsdGlwYXJ0LnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdHBuZy52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RydHAudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0cnRzcC52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RzaG91dDIudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0c21wdGUudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0c3BlZXgudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0dGFnbGliLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdHVkcC52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3R2aWRlb2JhbGFuY2UudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0dmlkZW9ib3gudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0dmlkZW9mbGlwLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdHZpZGVvbWl4ZXIudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0d2F2ZW5jLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdHdhdnBhcnNlLnZjcHJvajoKCSAgd2luMzI6IHJlbW92ZSBvdXRkYXRlZCBidWlsZCBjcnVmdAoJICBUaGlzIGhhc24ndCBiZWVuIHRvdWNoZWQgZm9yIGdlbmVyYXRpb25zLCBkb2Vzbid0IHdvcmssCgkgIGFuZCBpcyBqdXN0IGNhdXNpbmcgY29uZnVzaW9uLiBXZSBhbHNvIGRvbid0IHdhbnQgdG8KCSAgbWFpbnRhaW4gdGhlc2UgZmlsZXMgbWFudWFsbHkuCgoyMDE2LTAyLTIwIDExOjUxOjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogZG9uJ3QgdXNlIHVuZGVjbGFyZWQgY29yZSBkZWJ1ZyBjYXRlZ29yeSBzeW1ib2xzCgoyMDE2LTAyLTA2IDE0OjM5OjA1ICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHdvcmthcm91bmQgZm9yIGZpbGVzIHdpdGggd3JvbmcgY29sb3JfdGFibGVfaWQgdmFsdWUKCSAgSW5zdGVhZCBvZiBlcnJvcmluZyBvdXQsIGp1c3QgdXNlIHRoZSBkZWZhdWx0IGNvbG9yIHRhYmxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxNjM3CgoyMDE2LTAyLTE5IDE1OjAyOjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L3J0cC9nc3RydHB2cDlkZXBheS5jOgoJICBmbHZtdXgsIHJ0cHZwOWRlcGF5OiBmaXggaW5kZW50YXRpb24KCjIwMTYtMDItMTkgMTU6MDM6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwyc3JjOiBmaXggaW5kZW50YXRpb24KCjIwMTUtMTItMDQgMDA6NDY6MzQgKzExMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogcGx1ZyBsZWFrKHMpIGluIGVycm9yLXNjZW5hcmlvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIyMTAKCjIwMTUtMTItMDQgMDA6NDY6MTIgKzExMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IGZpeCBlb3MgZXZlbnQgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMjA5CgoyMDE2LTAyLTE5IDE0OjQxOjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmx2ZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmx2bXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGgyNjMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHRlc3RzOiBmaXggaW5kZW50YXRpb24KCjIwMTYtMDItMTggMTY6MDk6MjkgKzAxMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICB0ZXN0czogcnRwaml0dGVyYnVmZmVyOiBwb3J0IHRlc3RoYXJuZXNzIHRvIEdzdEhhcm5lc3MgYW5kIGNsZWFudXAvaW1wcm92ZQoJICBQcm9iYWJseSBmb3VuZCBhIGJ1ZyBhcyB3ZWxsLCBpbiB0aGF0IHRoZXJlIGFyZSBzb21lIHRpbWVzdGFtcHMgaW4KCSAgdGhlcmUgdGhhdCBhcmUgbG9va2luZyB2ZXJ5IHdyb25nLiAobWFya2VkIHdpdGggRklYTUUpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIyNjcKCjIwMTYtMDItMTggMTA6Mjc6MTkgKzAxMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICB0ZXN0czogcnRwaml0dGVyYnVmZmVyOiB0ZXN0IGNsZWFudXBzL2ltcHJvdmVtZW50cwoJICBVc2UgZmFpbF91bmxlc3MgYW5kIGZyaWVuZHMgaW5zdGVhZCBvZiBnX2Fzc2VydAoJICBGYWN0b3Igc2VxLW51bSBjaGVja2luZyBvdXQgdG8gc2VwYXJhdGUgZnVuY3Rpb24KCSAgQ2hlY2sgbW9yZSByZXR1cm4tdmFsdWVzIGZyb20gcHVzaCBhbmQgY3JhbmsgYW5kIG90aGVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMjU0CgoyMDE1LTEyLTAzIDExOjA3OjA1ICswMTAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICB0ZXN0czogcnRwaml0dGVyYnVmZmVyOiBmaXggbGVha3MgaW4gdW5pdCB0ZXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIyMTQKCjIwMTYtMDItMTkgMTI6Mzg6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuNy4yID09PQoKMjAxNi0wMi0xOSAxMTo0OTo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjcuMgoKMjAxNi0wMi0xOSAxMDozMTo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTYtMDItMTggMTg6MzM6MTMgKzAxMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcGx1ZyBsZWFrcyBpbiBjZW5jIGF1eCBpbmZvIHBhcnNpbmcKCjIwMTYtMDItMTggMTM6NDM6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGZpeCBzcHVyaW91cyBzb3VwaHR0cHNyYyB0ZXN0IHRpbW91dHMKCSAgU2V0IEdTRVRUSU5HU19CQUNLRU5EPW1lbW9yeSwgYXBwYXJlbnRseSB0aGVyZSdzIHNvbWV0aGluZwoJICBhYm91dCBmb3JrKCkgYW5kIHRoZSBkY29uZiBiYWNrZW5kIChvciB3aGF0ZXZlciBlbHNlIHRoYXQKCSAgZHJhZ3MgaW4gb3IgYWN0aXZhdGVzKSB0aGF0IG1lc3NlcyB1cCBsb2NraW5nIGFuZCBjYXVzZXMKCSAgdGltZW91dHMgZHVlIHRvIGRlYWRsb2NrcyBpbiBnX211dGV4X2xvY2soKSwgc2luY2UKCSAgZXZlcnl0aGluZyB3b3JrcyBmaW5lIHdpdGggQ0tfRk9SSz1ubyBhcyB3ZWxsLgoKMjAxNi0wMi0xOCAxMToxMDoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBVbm1hcCB3YXZwYWNrIGhlYWRlciBidWZmZXIgYWZ0ZXIgY3JlYXRpbmcgaXQKCSAgT3RoZXJ3aXNlIGl0IHdpbGwgYmUgbWFwcGVkIHdyaXRhYmxlIGFsbCB0aGUgdGltZSBhbmQgd2UgY2FuJ3QgcmVhZCBmcm9tIGl0CgkgIGFueXdoZXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMjM5CgoyMDE1LTEyLTA4IDE4OjQ5OjQwICswMTAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IEFkZCB0ZXN0IGZvciBiaWcgc2VxbnVtIGdhcCBoYW5kbGluZwoJICBNYWtlIHN1cmUgdGhhdCB0aGUgcGFja2V0cyBxdWV1ZWQgd2hlbiBkZXRlY3RpbmcgYSBiaWcgZ2FwIGFyZSBwdXNoZWQKCSAgYWZ0ZXIgcmVzZXQgKDUgY29uc2VjdGl2ZSBzZXFudW1zKSBhbmQgbm90IGRyb3BwZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIyMTEKCjIwMTYtMDItMTcgMTU6MDM6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHV0aWxzLmg6CgkgIHJ0cDogc3ByaW5rbGUgc29tZSBHX0dOVUNfSU5URVJOQUwgZm9yIGludGVybmFsIHV0aWxzIGZ1bmN0aW9ucwoKMjAxNi0wMi0wOSAxMzoxNzowMCArMDAwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IG9ubHkgdHJhbnNmb3JtIHByb3RlY3RlZCBjYXBzIG9uY2UKCSAgQ29tbWl0IDc4NzNiZWRlMzEzNGIxNWU1MDY2ZThkMTRlNTRkMWY1MDU0ZDIwNjMKCSAgKGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA3NzQpIGNoYW5nZWQgdGhlCgkgIGJlaGF2aW91ciBvZiBxdGRlbXV4IHRvIGNhbGwgZ3N0X3F0ZGVtdXhfY29uZmlndXJlX3N0cmVhbSgpIGZvcgoJICBldmVyeSBuZXcgbW9vZi4KCSAgV2hlbiBwbGF5aW5nIGEgcHJvdGVjdGVkIHN0cmVhbSwgZ3N0X3F0ZGVtdXhfY29uZmlndXJlX3N0cmVhbSgpCgkgIGNhbGxzIGdzdF9xdGRlbXV4X2NvbmZpZ3VyZV9wcm90ZWN0ZWRfY2FwcygpLiBUaGUKCSAgZ3N0X3F0ZGVtdXhfY29uZmlndXJlX3Byb3RlY3RlZF9jYXBzKCkgZnVuY3Rpb24gdGFrZXMgdGhlIG9yaWdpbmFsCgkgIG1lZGlhIGZvcm1hdCwgcHV0cyB0aGlzIGluIGEgZmllbGQgY2FsbGVkICJvcmlnaW5hbC1tZWRpYS10eXBlIgoJICBhbmQgdGhlbiBjaGFuZ2VzIHRoZSBjYXBzIHRvICJhcHBsaWNhdGlvbi94LWNlbmMiLgoJICBUaGUgZ3N0X3F0ZGVtdXhfY29uZmlndXJlX3Byb3RlY3RlZF9jYXBzKCkgZGlkIG5vdCBoYW5kbGUgdGhlIGNhc2UKCSAgb2YgYmVpbmcgY2FsbGVkIG11bHRpcGxlIHRpbWVzLCBjYXVzaW5nIGl0IHRvIGluY29ycmVjdGx5IHNldCB0aGUKCSAgY2Fwcy4gVGhlIHNlY29uZCBjYWxsIHdhcyBjYXVzaW5nIHRoZSBjYXBzIHRvIGJlIHNldCB0bzoKCSAgYXBwbGljYXRpb24veC1jZW5jLCBvcmlnaW5hbC1tZWRpYS10eXBlImFwcGxpY2F0aW9uL3gtY2VuYyIKCSAgVGhpcyBjb21taXQgbWFrZXMgZ3N0X3F0ZGVtdXhfY29uZmlndXJlX3Byb3RlY3RlZF9jYXBzKCkgY2hlY2sgdGhhdAoJICB0aGUgY2FwcyBoYXZlIGFscmVhZHkgYmVlbiB0cmFuc2Zvcm1lZCwgc28gdGhhdCBpdCBvbmx5IGdldHMKCSAgY2hhbmdlZCBvbmNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxNzY5CgoyMDE1LTExLTAzIDE0OjUwOjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBvcHVzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBvcHVzcGF5LmM6CgkgIG9wdXM6IEFkZCBwcm9wZXIgc3VwcG9ydCBmb3IgbXVsdGljaGFubmVsIGF1ZGlvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTcxNTIKCjIwMTUtMDYtMzAgMTM6NTE6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNwYXkuYzoKCSAgb3B1czogQ29weSBtZXRhZGF0YSBpbiB0aGUgKGRlKXBheWxvYWRlciwgYnV0IG9ubHkgdGhlIHJlbGV2YW50IG9uZXMKCSAgVGhlIHBheWxvYWRlciBkaWRuJ3QgY29weSBhbnl0aGluZyBzbyBmYXIsIHRoZSBkZXBheWxvYWRlciBjb3BpZWQgZXZlcnkKCSAgcG9zc2libGUgbWV0YS4gTGV0J3MgbWFrZSBpdCBjb25zaXN0ZW50IGFuZCBqdXN0IGNvcHkgYWxsIG1ldGFzIHdpdGhvdXQgdGFncyBvcgoJICB3aXRoIG9ubHkgdGhlIGF1ZGlvIHRhZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTc3NAoKMjAxNS0wNS0wNCAxMToyMzoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwb3B1c2RlcGF5LmM6CgkgIG9wdXNkZXBheTogU2V0IG11bHRpc3RyZWFtPUZBTFNFIG9uIHRoZSBPcHVzIGNhcHMKCSAgVGhlIFJUUCBPcHVzIG1hcHBpbmcgb25seSBhbGxvd3MgbW9uby9zdGVyZW8sIGFuZCBub3QgbXVsdGlzdHJlYW0gT3B1cwoJICBzdHJlYW1zLgoKMjAxNS0wMy0yNCAxMzo1Nzo1NCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwb3B1c3BheS5jOgoJICBydHBvcHVzcGF5OiBGb3J3YXJkIHN0ZXJlbyBwcmVmZXJlbmNlcyBmcm9tIGNhcHMgdXBzdHJlYW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjYxNwoKMjAxNS0wMy0yNCAxMzo1NjoyMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwb3B1c3BheS5jOgoJICBydHBvcHVzcGF5OiBTZXQgdGhlIG51bWJlciBvZiBjaGFubmVscyB0byAyIGFzIHBlciBSRkMgZHJhZnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjYxNwoKMjAxNS0wMy0yMyAxMjoyNDo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwb3B1c2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwb3B1c3BheS5jOgoJICBvcHVzOiBIYW5kbGUgc3Byb3Atc3RlcmVvIGFuZCBzcHJvcC1tYXhjYXB0dXJlcmF0ZSBSVFAgY2FwcyBmaWVsZHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjYxNwoKMjAxNS0wMi0xOSAxNDozMDoxMCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNwYXkuYzoKCSAgcnRwb3B1c3BheTogZGVmYXVsdCBlbmNvZGluZyBuYW1lIHRvIE9QVVMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzgxMAoKMjAxNS0wMi0xOSAxNDowNTowNiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNwYXkuYzoKCSAgcnRwb3B1c3BheTogbWFrZSBjYXBzIHdyaXRhYmxlIGJlZm9yZSB0cnVuY2F0aW5nIHRoZW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzgxMAoKMjAxNS0wMi0wNSAxMDoyNzo1MSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNwYXkuYzoKCSAgcnRwb3B1c3BheTogbmVnb3RpYXRlIHRoZSBlbmNvZGluZyBuYW1lCgkgIENocm9tZSB1c2VzIGEgZGlmZmVyZW50IGVuY29kaW5nIG5hbWUgdGhhdCBnc3RyZWFtZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc4MTAKCjIwMTQtMTEtMDEgMTA6MTA6MjcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBvcHVzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBvcHVzcGF5LmM6CgkgIHJ0cG9wdXM6IFVzZSBPUFVTIGVuY29kaW5nIG5hbWUKCSAgQm90aCBGaXJlZm94IGFuZCBDaHJvbWUgdXNlcyBPUFVTIGFzIHRoZSBlbmNvZGluZyBpbiB0aGVpciBTRFAuCgkgIEFkZGluZyB0aGlzIG5vdyBkZWZhY3RvIHN0YW5kYXJkIG5hbWUgcmVtb3ZlIHRoZSBuZWVkIGZvciBzcGVjaWFsCgkgIGNhc2UgaW4gU0RQIHBhcnNpbmcgY29kZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzgxMAoKMjAxMy0wMS0zMSAxMjozMDo0OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwb3B1c3BheS5jOgoJICBvcHVzcGF5OiBmaXggdGltZXN0YW1wcwoJICBDb3B5IHRpbWVzdGFtcHMgdG8gcGF5bG9hZGVkIGJ1ZmZlci4KCSAgQXZvaWQgaW5wdXQgYnVmZmVyIG1lbW9yeSBsZWFrLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyOTI5CgoyMDEyLTExLTAzIDIwOjM4OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3J0cC9nc3RydHBvcHVzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBvcHVzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBvcHVzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwb3B1c3BheS5oOgoJICBGaXggRlNGIGFkZHJlc3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzUyMAoKMjAxMi0xMC0yMiAxMjowODo0MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwb3B1c3BheS5jOgoJICBvcHVzcGF5OiByZW1vdmUgcG9pbnRsZXNzIGNhcHMgc2VyaWFsaXphdGlvbgoJICBSZW1vdmUgdGhlIGNhcHMgc2VyaWFsaXphdGlvbiBpbiB0aGUgcnRwIGNhcHMuIHRoZSBzcGVjIG5vciB0aGUgcmVjZWl2ZXIKCSAgZG9lcyBhbnl0aGluZyB3aXRoIGl0LgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2NTQ3CgoyMDEyLTEwLTE3IDE3OjM0OjI2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwb3B1c2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwb3B1c3BheS5jOgoJICBVc2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X3N0YXRpY19tZXRhZGF0YSgpCgkgIHdoZXJlIHBvc3NpYmxlLiBBdm9pZHMgc29tZSBzdHJpbmcgY29waWVzLiBBbHNvIHJlLWluZGVudAoJICBzb21lIHN0dWZmLiBBbHNvIHNvbWUgaW5kZW50IGZpeGVzIGhlcmUgYW5kIHRoZXJlLgoKMjAxMi0wOS0yMCAxODo0MToyNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwb3B1c3BheS5jOgoJICBydHBvcHVzcGF5OiBBbGxvY2F0ZSB0aGUgcnRwIGJ1ZmZlciBjb3JyZWN0bHkKCSAgVXNlIHRoZSByaWdodCBmdW5jdGlvbnMgdG8gYWxsb2NhdGUgdGhlIHJ0cCBidWZmZXIKCjIwMTItMDktMTQgMTc6MDg6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBvcHVzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBvcHVzcGF5LmM6CgkgIHJlcGxhY2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlIHdpdGggZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X21ldGFkYXRhCgoyMDEyLTAzLTA3IDE3OjE0OjI5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwb3B1c3BheS5jOgoJICBvcHVzOiBwb3J0IHRvIHVwZGF0ZWQgMC4xMQoKMjAxMS0xMi0zMCAxMTo0MToxNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBvcHVzcGF5Lmg6CgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi9tYXN0ZXInIGludG8gMC4xMS1wcmVtZXJnZQoJICBDb25mbGljdHM6CgkgIGRvY3MvbGlicy9NYWtlZmlsZS5hbQoJICBleHQva2F0ZS9nc3RrYXRldGlnZXIuYwoJICBleHQvb3B1cy9nc3RvcHVzZGVjLmMKCSAgZXh0L3h2aWQvZ3N0eHZpZGVuYy5jCgkgIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL01ha2VmaWxlLmFtCgkgIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYwoJICBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmgKCSAgZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmMKCSAgZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmgKCSAgZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYwoJICBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jCgkgIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmMKCSAgZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmMKCSAgZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jCgkgIGdzdC9kZWJ1Z3V0aWxzL2dzdGNvbXBhcmUuYwoJICBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmMKCSAgZ3N0L21wZWdwc211eC9tcGVncHNtdXguYwoJICBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jCgkgIGdzdC9teGYvbXhmbXV4LmMKCSAgZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jCgkgIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmMKCSAgZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYwoKMjAxMS0xMi0wOSAxNzoyNTo0MSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNwYXkuYzoKCSAgb3B1c2VuYzogYWRkIHVwc3RyZWFtIG5lZ290aWF0aW9uIGZvciBtdWx0aXN0cmVhbSBhYmlsaXR5CgkgIFRoaXMgd2lsbCBoZWxwIGVsZW1lbnRzIHRoYXQgY2Fubm90IGRlYWwgd2l0aCBtdWx0aXN0cmVhbSwKCSAgc3VjaCBhcyB0aGUgUlRQIHBheWxvYWRlci4KCSAgVGhlIGNhcHMgbm93IGRvIG5vdCBpbmNsdWRlIGEgInN0cmVhbXMiIGZpZWxkIGFueW1vcmUsIGJ1dAoJICBhICJtdWx0aXN0cmVhbSIgYm9vbGVhbiwgc2luY2Ugd2UgaGF2ZSBubyByZWFsIHVzZSBmb3Iga25vd2luZwoJICB0aGUgZXhhY3QgYW1vdW50IG9mIHN0cmVhbXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjUwNzgKCjIwMTEtMTItMDcgMTU6MTM6MTEgLTAyMDAgIERhbmlsbyBDZXNhciBMZW1lcyBkZSBQYXVsYSA8ZGFuaWxvLmNlc2FyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwb3B1c2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwb3B1c2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwb3B1c3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNwYXkuaDoKCSAgQWRkaW5nIG9wdXMgUlRQIHBheWxvYWRlci9kZXBheWxvYWRlciBlbGVtZW50CgkgIEFkZGluZyBPUFVTIFJUUCBtb2R1bGUgYmFzZWQgb24gdGhlIGN1cnJlbnQgZHJhZnQ6CgkgIGh0dHA6Ly90b29scy5pZXRmLm9yZy9pZC9kcmFmdC1zcGl0dGthLXBheWxvYWQtcnRwLW9wdXMtMDAudHh0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjQ4MTcKCjIwMTYtMDItMTcgMTM6MjY6MDIgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHV0aWxzLmM6CgkqIGdzdC9ydHAvZ3N0cnRwdXRpbHMuaDoKCSAgcnRwOiBoMjY0L2gyNjU6IGF2b2lkIGR1cGxpY2F0aW9uIG9mIHJlYWRfZ29sb21iKCkKCSAgVGhlcmUgaXMgbm8gbmVlZCB0byBoYXZlIHR3byBpZGVudGljYWwgaW1wbGVtZW50YXRpb25zIG9mIHRoZSByZWFkX2dvbG9tYgoJICBmdW5jdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTYwNgoKMjAxNi0wMi0xNyAxNDozNzo0NCArMDEwMCAgT2dueWFuIFRvbmNoZXYgPG9nbnlhbkBheGlzLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBTaW1wbGUgaW1wbGVtZW50YXRpb24gb2YgVFJJQ0tNT0RFX0tFWV9VTklUUwoJICBXaGVuIHRoZSB0cmlja21vZGUga2V5LXVuaXRzIGZsYWcgaXMgc2V0IG9uIHRoZSBzZWdtZW50LCBzaW1wbHkgc2tpcAoJICBhbnkgc2FtcGxlIG9uIGEgdmlkZW8gc3RyZWFtIHRoYXQgaXNuJ3QgYSBrZXlmcmFtZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMTg1CgoyMDE1LTA4LTIxIDE0OjE1OjE4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thLWRlbXV4OiBzZW5kIEdBUCBldmVudHMgZm9yIGxhZ2dpbmcgYXVkaW8gYW5kIHZpZGVvIHN0cmVhbXMgdG9vCgkgIFNlbmQgR0FQIGV2ZW50cyBmb3Igbm9uLXN1YnRpdGxlIHN0cmVhbXMgdG9vIGlmIHRoZXkgbGFnIHRvbyBtdWNoCgkgIGJlaGluZCwgYnV0IHVzZSBhIGhpZ2hlciB0aHJlc2hvbGQgdGhhbiBmb3Igc3VidGl0bGVzLgoJICBUaGlzIGhlbHBzIHdpdGggZml4aW5nIHByZXJvbGxpbmcgd2l0aCBhIGZpbGUgd2hlcmUgb25lIG9mIHRoZQoJICBhdWRpbyBzdHJlYW1zIG9ubHkgaGFzIGRhdGEgc3RhcnRpbmcgZnJvbSAxOXMgb253YXJkcy4gSXQncyBub3QKCSAgYSBjb21wbGV0ZSBmaXggeWV0LCBpdCBhbHNvIHJlcXVpcmVzIGNoYW5nZXMgZWxzZXdoZXJlLCBzdWNoIGFzCgkgIGluIGJhc2VwYXJzZSwgdG8gbWFrZSBzdXJlIGNhcHMgYXJlIHByb3BhZ2F0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTQ0NjAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mzg5OQoKMjAxNS0xMi0yMyAxOTo1NDoxMyArMDEwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbkBwZXhpcC5jb20+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA5ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB2cDlwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDlwYXkuaDoKCSAgcnRwdnA5cGF5OiBydHB2cDlkZXBheTogSW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBvZiBkcmFmdCAwMQoJICBRdWljayBhbmQgZGlydHkgaW1wbGVtZW50YXRpb24gb2YgYW4gUlRQIHBheWxvYWRlciBhbmQgZGVwYXlsb2FkZXIKCSAgZm9yIFZQOS4gSW4gcGFydGljYWx1ciBpdCBhc3N1bWVzIG5vIHNwYXRpYWwgb3IgdGVtcG9yYWwgbGF5ZXJpbmcsCgkgIG5vbi1mbGV4aWJsZSBtb2RlLCBhbmQgc29tZSBvdGhlciBiaXRzIGFuZCBwaWVjZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ3NzMKCjIwMTYtMDItMTYgMDk6MDI6MzAgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBGaXggc3RyaW5nIG1lbW9yeSBsZWFrCgkgIGNvZGVjX25hbWUgaXMgbm90IGJlaW5nIGZyZWVkIGluIGFsbCBjb25kaXRpb25zIGxlYWRpbmcgdG8gbWVtb3J5IGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjExNwoKMjAxNS0xMi0xMCAxMjoxNTo1MiArMDEwMCAgTWlndWVsIFBhcsOtcyBEw61heiA8bXBhcmlzZGlhekBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIHJ0cGJpbjogYWRkICJnZXQtc2Vzc2lvbiIgc2lnbmFsCgkgIFRoaXMgZ2V0cyB0aGUgR3N0UlRQU2Vzc2lvbiBlbGVtZW50LCBhcyBjb21wYXJlZCB0byB0aGUgUlRQU2Vzc2lvbiBvYmplY3QKCSAgdGhhdCBpcyByZXR1cm5lZCBieSBnZXQtaW50ZXJuYWwtc2Vzc2lvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTI5MwoKMjAxNi0wMi0xNiAwMDoxOTowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkgIHJ0cDogaDI2NTogaG9vayB1cCBtb3ZlIFJUUCBILjI2NSBwYXlsb2FkZXIvZGVwYXlsb2FkZXIgdG8gYnVpbGQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTYwNgoKMjAxNi0wMi0xNiAwMDoxNDoyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJICBydHA6IGgyNjU6IHVzZSBjb21tb24gbWV0YSB1dGlsaXR5IGZ1bmN0aW9ucwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxNjA2CgoyMDE2LTAyLTA1IDE4OjE4OjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXR5cGVzLmg6CgkgIHJ0cDogaDI2NTogcmVtb3ZlIGNvZGVjcGFyc2VyIGRlcGVuZGVuY3kgZnJvbSBoMjY1IHBheWxvYWRlci9kZXBheWxvYWRlcgoJICBMb29rcyBsaWtlIGl0IGp1c3QgdXNlcyB0aGUgTkFMIGVudW1zIGFuZCBub3RoaW5nIGVsc2UgZnJvbQoJICB0aGUgY29kZWNwYXJzZXJzLCBhbmQgdGhhdCdzIHRoZSBvbmx5IHJlYXNvbiBpdCBoYWQgdG8gYmUKCSAgbW92ZWQgZnJvbSAtZ29vZCB0byAtYmFkIHdoZW4gaXQgd2FzIG9yaWdpbmFsbHkgYWRkZWQuIFdlCgkgIGNhbiBwcm9iYWJseSBrZWVwIHRob3NlIE5BTCBlbnVtcyB1cCB0byBkYXRlIGVub3VnaCwgc28gbGV0J3MKCSAgcmVtb3ZlIHRoZSBjb2RlY3BhcnNlciBkZXBlbmRlbmN5IHNvIGl0IGNhbiBiZSBtb3ZlZCBiYWNrIGludG8KCSAgLWdvb2QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjE2MDYKCjIwMTYtMDItMTYgMDA6MjQ6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJICBNZXJnZSBicmFuY2ggJ3BsdWdpbi1tb3ZlLXJ0cC1oMjY1JwoJICBNb3ZlIFJUUCBILjI2NSBwYXlsb2FkZXIvZGVwYXlsb2FkZXIgZnJvbSAtYmFkIHRvIC1nb29kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxNjA2CgoyMDE2LTAyLTA1IDE1OjM0OjUxICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuaDoKCSAgZ3N0cnRwaDI2NWRlcGF5OiBrZWVwIGNvbnNpc3RlbmN5IHdpdGggcnRwaDI2NGRlcGF5CgkgIFVzZSBnc3RfcnRwX2Ryb3BfbWV0YSgpIGFuZCB0aGUgc2FtZSBmdW5jdGlvbiBwcm90b3R5cGUgZm9yCgkgIGdzdF9ydHBfY29weV9tZXRhKCkgdG8ga2VlcCBjb25zaXN0ZW5jeSB3aXRoIHRoZSBSVFAgZWxlbWVudHMgaW4KCSAgZ3N0LXBsdWdpbnMtZ29vZAoKMjAxNi0wMi0wNSAxMzo1NjozNCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cGgyNjVkZXBheTogZml4IHRlcm1pbmF0aW9uIG9mIGFjY2VzcyB1bml0CgkgIE9ubHkgY29uc2lkZXIgdGhlIGFjY2VzcyB1bml0IGNvbXBsZXRlIHdoZW4gdGhlIG5leHQtb2NjdXJyaW5nIFZDTCBOQUwgdW5pdAoJICBoYXMgdGhlIGZpcnN0IGJpdCBhZnRlciBpdHMgTkFMIHVuaXQgaGVhZGVyIGVxdWFsIHRvIDEuCgoyMDE2LTAxLTE1IDE2OjEwOjAyICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwaDI2NWRlcGF5OiBmaXggdW5uZWVkZWQgc3ViLWJ1ZmZlciBjcmVhdGlvbgoJICBXZSBjcmVhdGUgYSBzdWItYnVmZmVyIGp1c3QgdG8gY29weSBvdmVyIGl0cyBtZXRhcyBhbmQgdGhlbiB0aHJvdyBpdAoJICBhd2F5IGltbWVkaWF0ZWx5LCBqdXN0IHVzZSB0aGUgb3JpZ2luYWwgaW5wdXQgYnVmZmVyIGRpcmVjdGx5LgoKMjAxNi0wMS0xNSAxNTo1Njo1OSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJICBydHBoMjY1cGF5OiBhZGQgInNlbmQgVlBTL1NQUy9QUFMgd2l0aCBldmVyeSBrZXkgZnJhbWUiIG1vZGUKCSAgSXQncyBub3QgZW5vdWdoIHRvIGhhdmUgdGltZW91dCBvciBldmVudCBiYXNlZCBWUFMvU1BTL1BQUyBpbmZvcm1hdGlvbgoJICBzZW50IGluIFJUUCBwYWNrZXRzLiBUaGVyZSBhcmUgc29tZSBzY2VuYXJpb3Mgd2hlbiBrZXkgZnJhbWVzIG1heSBhcHBlYXIKCSAgbW9yZSBmcmVxdWVudGx5IHRoYW4gb25jZSBhIHNlY29uZCwgaW4gd2hpY2ggY2FzZSB0aGUgbWluaW11bSB0aW1lb3V0CgkgIGZvciAiY29uZmlnLWludGVydmFsIiBvZiAxIHNlY29uZCBmb3Igc2VuZGluZyBWUFMvU1BTL1BQUyBpc24ndCBlbm91Z2guCgkgIEl0IG1pZ2h0IGFsc28gYmUgZGVzaXJhYmxlIGluIGdlbmVyYWwgdG8gbWFrZSBzdXJlIHRoZSBWUFMvU1BTL1BQUyBpcwoJICBhdmFpbGFibGUgd2l0aCBldmVyeSBrZXlmcmFtZSAocGFja2V0IGxvc3MgYXNpZGUpLCBzbyByZWNlaXZlcnMgY2FuCgkgIGFjdHVhbGx5IHBpY2sgdXAgZGVjb2RpbmcgaW1tZWRpYXRlbHkgZnJvbSB0aGUgZmlyc3Qga2V5ZnJhbWUgaWYKCSAgVlBTL1NQUy9QUFMgaXMgbm90IHNpZ25hbGVkIG91dCBvZiBiYW5kLgoJICBUaGlzIGNvbW1pdCBhZGRzIHRoZSBwb3NzaWJpbGl0eSB0byBzZW5kIFZQUy9TUFMvUFBTIHdpdGggZXZlcnkga2V5IGZyYW1lLgoJICBUaGlzIG1vZGUgY2FuIGJlIGVuYWJsZWQgYnkgc2V0dGluZyAiY29uZmlnLWludGVydmFsIiBwcm9wZXJ0eSB0byAtMS4gSW4KCSAgdGhpcyBjYXNlIHRoZSBwYXlsb2FkZXIgd2lsbCBhZGQgVlBTLCBTUFMgYW5kIFBQUyBiZWZvcmUgZXZlcnkga2V5IChJRFIpCgkgIGZyYW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3ODkyCgoyMDE2LTAxLTE1IDE1OjE5OjQxICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5oOgoJICBydHBoMjY1cGF5OiBjaGFuZ2UgY29uZmlnLWludGVydmFsIHByb3BlcnR5IHR5cGUgZnJvbSB1aW50IHRvIGludAoJICBUaGlzIHdheSB3ZSBjYW4gdXNlIC0xIGFzIHNwZWNpYWwgdmFsdWUsIHdoaWNoIGlzIG5pY2VyIHRoYW4gTUFYVUlOVC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Nzg5MgoKMjAxNS0wOC0xNSAxNjoyMjoyMCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cGgyNjVkZXBheTogbWFrZSBzdXJlIHdlIGNhbGwgaGFuZGxlX25hbCBmb3IgZWFjaCBOQUwKCSAgQ2FsbCBoYW5kbGVfbmFsIGZvciBlYWNoIE5BTCBpbiB0aGUgU1RBUC1BIFJUUCBwYWNrZXQuIFRoaXMgbWFrZXMgc3VyZQoJICB3ZSBjb3JyZWN0bHkgZXh0cmFjdCB0aGUgU1BTIGFuZCBQUFMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA5OTkKCjIwMTUtMDgtMTUgMTQ6NDU6MzQgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSAgcnRwaDI2NXBheTogQ29weSBtZXRhZGF0YSBpbiB0aGUgcGF5bG9hZGVyLCBidXQgb25seSB0aGUgcmVsZXZhbnQgb25lcwoJICBUaGUgcGF5bG9hZGVyIGRpZG4ndCBjb3B5IGFueXRoaW5nIHNvIGZhciwgdGhlIGRlcGF5bG9hZGVyIGNvcGllZCBldmVyeQoJICBwb3NzaWJsZSBtZXRhLiBMZXQncyBtYWtlIGl0IGNvbnNpc3RlbnQgYW5kIGp1c3QgY29weSBhbGwgbWV0YXMgd2l0aG91dAoJICB0YWdzIG9yIHdpdGggb25seSB0aGUgdmlkZW8gdGFnLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNzc0CgoyMDE1LTA4LTE1IDExOjQxOjQwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkgIHJ0cGgyNjVwYXk6IFVzZSBHU1RfV0FSTklOR19PQkpFQ1QoKSBpbnN0ZWFkIG9mIEdTVF9XQVJOSU5HKCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzIyOAoKMjAxNS0wOC0xNSAxMTozMDozNiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJICBydHBoMjY1cGF5OiBmaXggcG90ZW50aWFsIGNyYXNoIHdoZW4gc2h1dHRpbmcgZG93bgoJICBBIHJhY2UgY29uZGl0aW9uIGluIHRoZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gbWF5IGNhdXNlIGJ1ZmZlcnMgdG8gYmUKCSAgdW5yZWZmZWQgd2hpbGUgdGhleSBhcmUgc3RpbGwgdXNlZCBieSB0aGUgc3RyZWFtaW5nIHRocmVhZCBpbgoJICBnc3RfcnRwX2gyNjVfcGF5X3NlbmRfdnBzX3Nwc19wcHMoKSByZXN1bHRpbmcgaW4gYSBjcmFzaC4gQ2hhaW4gdXAgdG8gdGhlCgkgIHBhcmVudCBjbGFzcyBmaXJzdCBpbiB0aGUgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIHRvIG1ha2Ugc3VyZSBzdHJlYW1pbmcKCSAgaGFzIHN0b3BwZWQgYW5kIG9ubHkgdGhlbiBmcmVlIHRob3NlIGJ1ZmZlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDEzODEKCjIwMTUtMDgtMTQgMTU6MDg6MDggKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSAgcnRwaDI2NXBheTogZml4IGJ1ZmZlciBsZWFrIHdoZW4gdXNpbmcgU1BTL1BQUwoJICBGaXhlcyBhIGJ1ZmZlciBsZWFrIHRoYXQgd291bGQgb2NjdXIgaWYgdGhlIHBpcGVsaW5lIHdhcyBzaHV0ZG93biB3aGlsZSBhCgkgIFNQUy9QUFMgaGVhZGVyIHdhcyBiZWluZyBjcmVhdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMjcxCgoyMDE1LTA4LTE0IDExOjQ5OjUxICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuaDoKCSAgcnRwaDI2NWRlcGF5OiBjb3B5IG1ldGFkYXRhIGluIHRoZSBkZXBheWxvYWRlciwgYnV0IG9ubHkgdGhlIHJlbGV2YW50IG9uZXMKCSAgVGhlIHBheWxvYWRlciBkaWRuJ3QgY29weSBhbnl0aGluZyBzbyBmYXIsIHRoZSBkZXBheWxvYWRlciBjb3BpZWQgZXZlcnkKCSAgcG9zc2libGUgbWV0YS4gTGV0J3MgbWFrZSBpdCBjb25zaXN0ZW50IGFuZCBqdXN0IGNvcHkgYWxsIG1ldGFzIHdpdGhvdXQKCSAgdGFncyBvciB3aXRoIG9ubHkgdGhlIHZpZGVvIHRhZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTc3NAoKMjAxNS0wOC0xMiAxNzo1NDo1MiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cGgyNjVkZXBheTogY2hlY2tpbmcgaWYgZGVwYXkgaGFzIHNwcy9wcHMgbmFscyBiZWZvcmUgaW5zZXJ0aW9uCgkgIFJlbGF0ZWQgdG86IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM0MzAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzIyOAoKMjAxNS0wOC0xMiAxNzoyMjo0MiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cGgyNjVkZXBheTogb25seSB1cGRhdGUgdGhlIHNyY3BhZCBjYXBzIGlmIHNvbWV0aGluZyBlbHNlIHRoYW4gdGhlIGNvZGVjX2RhdGEgY2hhbmdlZAoJICBoMjY0cGFyc2UgYW5kIGdzdHJ0cGgyNjRkZXBheSBkbyB0aGUgc2FtZSwgbGV0J3Mga2VlcCB0aGUgYmVoYXZpb3VyCgkgIGNvbnNpc3RlbnQuIEFzIHdlIG5vdyBpbmNsdWRlIHRoZSBjb2RlY19kYXRhIGluc2lkZSB0aGUgc3RyZWFtLCB0aGlzIGNhdXNlcwoJICBsZXNzIGNhcHMgcmVuZWdvdGlhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzIyOAoKMjAxNS0wOC0xMiAxNjo0Mzo0OCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cGgyNjVkZXBheTogUFBTIHJlcGxhY2VzIG9sZCBQUFMgaWYgaXQgaGFzIHRoZSBzYW1lIGlkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMyMjgKCjIwMTUtMDgtMTIgMTY6MTE6MDAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHBoMjY1ZGVwYXk6IEluc2VydCBTUFMvUFBTIE5BTHMgaW50byB0aGUgc3RyZWFtCgkgIHJ0cGgyNjRkZXBheSBkb2VzIHRoZSBzYW1lIGFuZCB0aGlzIGZpeGVzIGRlY29kaW5nIG9mIHNvbWUgc3RyZWFtcyB3aXRoIDMyCgkgIFNQUyAob3IgMjU2IFBQUykuIEl0IGlzIGFsbG93ZWQgdG8gaGF2ZSBTUFMgSUQgMCB0byAzMSAob3IgUFBTIElEIDAgdG8gMjU1KSwKCSAgYnV0IHRoZSBmaWVsZCBpbiB0aGUgY29kZWNfZGF0YSBmb3IgdGhlIG51bWJlciBvZiBTUFMgb3IgUFBTIGlzIG9ubHkgNQoJICAob3IgOCkgYml0LiBBcyBzdWNoLCAzMiBTUFMgKG9yIDI1NiBQUFMpIGFyZSBpbnRlcnByZXRlZCBhcyAwIGV2ZXJ5d2hlcmUuCgkgIFRoaXMgbG9va3MgbGlrZSBhIG1pc3Rha2UgaW4gdGhlIHBhcnQgb2YgdGhlIHNwZWN0IGFib3V0IHRoZSBjb2RlY19kYXRhLgoKMjAxNS0wOC0xMiAxNTo0OTo1MCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cGgyNjVkZXBheTogaW1wbGVtZW50IHByb2Nlc3NfcnRwX3BhY2tldCgpIHZmdW5jCgkgIEZvciBtb3JlIG9wdGltaXNlZCBSVFAgcGFja2V0IGhhbmRsaW5nOiBtZWFucyB3ZSBkb24ndCBuZWVkIHRvIG1hcCB0aGUKCSAgaW5wdXQgYnVmZmVyIGFnYWluIGJ1dCBjYW4ganVzdCByZS11c2UgdGhlIG1hcHBpbmcgdGhlIGJhc2UgY2xhc3MgaGFzCgkgIGFscmVhZHkgZG9uZS4KCSAgQmFzZWQgb246IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAyMzUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzIyOAoKMjAxNS0wOC0xMiAxNToxNDo1MCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cGgyNjVkZXBheTogVXNlIEdTVF9CVUZGRVJfUFRTKCkgaW5zdGVhZCBvZiBHU1RfQlVGRkVSX1RJTUVTVEFNUCgpCgkgIFN3aXRjaGluZyB0byBHU1RfQlVGRkVSX1RJTUVTVEFNUCgpIHRvIGJlIGNvbnNpc3RlbnQgd2l0aCBvdGhlciBydHAgY29kZS4KCjIwMTUtMDgtMTIgMTQ6NTk6NTMgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHBoMjY1ZGVwYXk6IHByZXZlbnQgdHJ5aW5nIHRvIGdldCAwIGJ5dGVzIGZyb20gYWRhcHRlcgoJICBUaGlzIGNhdXNlcyBhbiBhc3NlcnRpb24gYW5kIHdvdWxkIGxlYWQgdG8gZ2V0dGluZyBhIE5VTEwgaW5zdGVhZAoJICBvZiBhIGJ1ZmZlci4gV2l0aG91dCBwcm9wZXIgY2hlY2tpbmcgdGhpcyB3b3VsZCBlYXNpbHkgbGVhZCB0byBhCgkgIHNlZ2ZhdWx0LgoJICBSZWxhdGVkIHRvIHJwdGgyNjRkZXBheTogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzE5OQoKMjAxNS0wNy0yOSAxNzoyOToyOCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJICBydHA6IHJlbW92ZSBkZWFkIGFzc2lnbm1lbnQKCSAgVmFsdWUgc2V0IHRvIHJldCB3aWxsIGJlIG92ZXJ3cml0dGVuIGF0IGxlYXN0IG9uY2UgYXQgdGhlIGVuZCBvZiB0aGUgd2hpbGUKCSAgbG9vcCwgcmVtb3ZpbmcgYXNzaWdubWVudC4KCjIwMTUtMDQtMjQgMTY6NDg6MjMgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSAgcmVtb3ZlIHVudXNlZCBlbnVtIGl0ZW1zIFBST1BfTEFTVAoJICBUaGlzIHdlcmUgcHJvYmFibHkgYWRkZWQgdG8gdGhlIGVudW1zIGR1ZSB0byBjYXJnbyBjdWx0IHByb2dyYW1taW5nIGFuZCBhcmUKCSAgdW51c2VkLgoKMjAxNS0wMy0wNiAxNDo1NDo0MSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cDogZG9ubF9wcmVzZW50IHZhcmlhYmxlIHVudXNlZAoJICBkb25sX3ByZXNlbnQgaXMgbm90IGltcGxlbWVudGVkLCB5ZXQgdGhlIHZhbHVlIGlzIHNldCBhbmQgY2hlY2tlZCBhIGZldyB0aW1lcy4KCSAgQ2xlYW5pbmcgdGhpcy4KCSAgQ0lEICMxMjQ5Njg3CgoyMDE1LTAxLTA4IDE1OjM2OjA0ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkgIHJ0cDogdmFsdWUgdHJ1bmNhdGVkIHRvbyBzaG9ydCBjcmVhdGVzIGRlYWQgY29kZQoJICB0eXBlIGlzIHRydW5jYXRlZCB0byAwLTMxIHdpdGggIiYgMHgxZiIsIGJ1dCByaWdodCBhZnRlciB0aGF0IGl0IGlzIGNoZWNrcyBpZgoJICB0aGUgdmFsdWUgaXMgZXF1aXZhbGVudCB0byBHU1RfSDI2NV9OQUxfVlBTLCBHU1RfSDI2NV9OQUxfU1BTLCBhbmQKCSAgR1NUX0gyNjVfTkFMX1BQUyAod2hpY2ggYXJlIDMyLCAzMywgYW5kIDM0IHJlc3BlY3RpdmVseSkuIE9idmlvdXNseSwgdGhpcyB3aWxsCgkgIG5ldmVyIGJlIFRydWUgaWYgdGhlIHZhbHVlIGlzIG1heGltdW0gMzEgYWZ0ZXIgdGhlIHRydW5jYXRpb24uCgkgIFRoZSBpbnRlbnRpb24gb2YgdGhlIGNvZGUgd2FzIHRvIHRydW5jYXRlIHRvIDAtNjMuCgoyMDE1LTAxLTA4IDE1OjI3OjQ0ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwOiBmaXggbmFsIHVuaXQgdHlwZSBjaGVjawoJICBBZnRlciBmdXJ0aGVyIGludmVzdGlnYXRpb24gdGhlIHByZXZpb3VzIGNvbW1pdCBpcyB3cm9uZy4gVGhlIGNvZGUgaW50ZW5kZWQgdG8KCSAgY2hlY2sgaWYgdGhlIHR5cGUgaXMgMzkgb3IgdGhlIHJhbmdlcyA0MS00NCBhbmQgNDgtNTUuIEp1c3QgbGlrZSBnc3RoMjY1cGFyc2UuYwoJICBkb2VzLiBUeXBlIDQwIHdvdWxkIG5vdCBiZSBjb21wbGV0ZS4KCjIwMTUtMDEtMDggMTM6NDc6MDkgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHA6IGZpeCBkZWFkIGNvZGUgYW5kIGNoZWNrIGZvciBpbXBvc3NpYmxlIHZhbHVlcwoJICBuYWxfdHlwZSBpcyB0aGUgaW5kZXggZm9yIGEgR3N0SDI2NU5hbFVuaXRUeXBlIGVudW0uIFRoZXJlIGFyZSB0d28gdHlwZXMgb2YgZGVhZAoJICBjb2RlIGhlcmU6CgkgIEZpcnN0LCBhZnRlciBjaGVja2luZyBpZiBuYWxfdHlwZSBpcyA+PSAzOSB0aGVyZSBhcmUgdHdvIE9SIGNvbmRpdGlvbmFscyB0aGF0CgkgIGNoZWNrIGlmIHRoZSB2YWx1ZSBpcyBpbiByYW5nZXMgaGlnaGVyIHRoYW4gdGhhdCBudW1iZXIsIHNvIGlmIG5hbF90eXBlID49IDM5CgkgIGZhbGxzIGluIHRoZSBUcnVlIGJyYW5jaCB0aG9zZSBvdGhlciBjb25kaXRpb25zIGFyZW4ndCBjaGVja2VkIGFuZCBpZiBpdCBmYWxscwoJICBpbiB0aGUgRmFsc2UgYnJhbmNoIGFuZCB0aGV5IGFyZSBjaGVja2VkLCB0aGV5IHdpbGwgYWx3YXlzIGFsc28gYmUgRmFsc2UuIFRoZXkKCSAgYXJlIHJlZHVuZGFudC4KCSAgU2Vjb25kLCB0aGUgZW51bSBoYXMgYSByYW5nZSBvZiAwIHRvIDQwLiBTbyB0aGUgY2hlY2tzIGZvciByYW5nZXMgaGlnaGVyIHRoYW4gNDEKCSAgc2hvdWxkIG5ldmVyIGJlIFRydWUuCgkgIFJlbW92aW5nIHRoaXMgcmVkdW5kYW50IGNoZWNrcy4KCSAgQ0lEIDEyNDk2ODQKCjIwMTQtMTAtMTYgMTA6MzQ6MDEgKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5Lmg6CgkgIHJ0cDogYWRkIGgyNjUgUlRQIHBheWxvYWRlciArIGRlcGF5bG9hZGVyCgoyMDE2LTAyLTE1IDExOjUxOjQ2ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkgIHRlc3RzOiBydHBtdXg6IEZpeCBlbGVtZW50IG1lbW9yeSBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIwNTcKCjIwMTYtMDItMTIgMjA6NTc6MjkgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbW9ub3Njb3BlL21vbm9zY29wZS5jOgoJICBtb25vc2NvcGU6IHJld29yayB0aGUgc2NhbGluZyBjb2RlCgkgIFRoZSBydW5uaW5nIGF2ZXJhZ2Ugd2FzIHdyb25nIGFuZCB0aGUgcmVzdWx0aW5nIHNjYWxpbmcgZmFjdG9yIHdhcyBvbmx5IGhlbGQgaW4KCSAgcGxhY2UgdXNpbmcgdGhlIENMQU1QLiBJbiBhZGR0aW9uIHdlIGFyZSBub3cgY29udmVyaW5nIHF1aWNrbHkgdG8gdm9sdW1lCgkgIGNoYW5nZXMuCgkgIEZJbmFsbHkgbm93IHdpdGggdGhpcyBjaGFuZ2UsIHdlIGNhbiBjaGFuZ2UgdGhlIHJlc29sdXRpb24gZGVmaW5lcyBhbmQKCSAgZXZlcnl0aGlnbiBhZGp1c3RzLgoKMjAxNi0wMS0yOCAxNzowMDo1NSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9tb25vc2NvcGUvY29udm9sdmUuYzoKCSogZ3N0L21vbm9zY29wZS9tb25vc2NvcGUuYzoKCSogZ3N0L21vbm9zY29wZS9tb25vc2NvcGUuaDoKCSAgbW9ub3Njb3BlOiB1c2UgY29uc3RhbnRzIGluIHRoZSBkcmF3aW5nIGNvZGUKCSAgTWFrZSBhbGwgdGhlIGRyYXdpbmcgb3BzIGJlIGJhc2VkIG9uIHRoZSBjb25zdGFudHMuIFRoaXMgd2F5IHdlIGNhbiBjaGFuZ2UKCSAgdGhlIGZpeGVkIHNpemUgYXQgbGVhc3QgYXQgY29tcGlsZSB0aW1lLgoKMjAxNi0wMS0yOCAwOTo1MToxNyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6CgkgIG1vbm9zY29wZTogcmVwbGFjZSBoYXJkY29kZWQgdmFsdWVzIGJ5IGNvbnN0YW50cwoJICBUaGlzIGF0IGxlYXN0IGVzdGFibGlzaGVzIHRoZSByZWxhdGlvbnNoaXAuCgoyMDE2LTAxLTI4IDA5OjQzOjEyICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L21vbm9zY29wZS9jb252b2x2ZS5jOgoJKiBnc3QvbW9ub3Njb3BlL2NvbnZvbHZlLmg6CgkqIGdzdC9tb25vc2NvcGUvbW9ub3Njb3BlLmM6CgkqIGdzdC9tb25vc2NvcGUvbW9ub3Njb3BlLmg6CgkgIG1vbm9zY3BlOiBtYWtlIHRoZSBjb252b2x2ZXIgdXNlIGR5bmFtaWMgbWVtb3J5CgkgIFJlcGxhY2UgYWxsICNkZWZpbmVzIHdpdGggbWVtYmVycyBhbmQgaW5pdGlhbGl6ZSB0aGUgY29udm9sdmVyIHdpdGggYSBwYXJhbWV0ZXIuCgoyMDE2LTAxLTI4IDA4OjU2OjQ0ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L21vbm9zY29wZS9SRUFETUU6CgkgIG1vbm9zY29wZTogdXBkYXRlIFJFQURNRQoJICBXZSBjYW4gYWxyZWFkeSBjcmVhdGUgbXVsdGlwbGUgaW5zdGFuY2VzLgoKMjAxNi0wMS0yOCAwODo1MzozNSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9tb25vc2NvcGUvY29udm9sdmUuYzoKCSogZ3N0L21vbm9zY29wZS9tb25vc2NvcGUuYzoKCSAgbW9ub3Njb3BlOiBjb2RlIGNsZWFudXAKCSAgVXNlIGNvbnN0YW50cyBtb3JlIG9mdGVuLiBDbGVhbnVwIGNvbW1lbnRzIGFuZCBhZGQgbW9yZSB0byBleHBsYWluIGhvdyB0aGluZ3MKCSAgd29yay4KCjIwMTYtMDItMDggMjM6NDE6MzIgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IHJlbW92ZSBjaGVjayBmb3IgaW1wb3NzaWJsZSBjb25kaXRpb24KCSAgQ29tbWl0IGJkMjdhMWYzMGI0NDU4ZjJlZGVlNTNjNzZkZDA3ZmIzNTkwNGI2MWQgYWRkZWQgYSBmZXcgZXJyb3IgaGFuZGxpbmcKCSAgbWVtb3J5IG1hbmFnZW1lbnQgY2hlY2tzLiBUaGVzZSBjaGVjayBzcmNjYXBzIHRvIHNlZSBpZiBpdCBuZWVkcyB0byBiZQoJICB1bnJlZmVyZW5jZWQgYmVmb3JlIHJldHVybmluZywgaW4gdGhlIGNhc2Ugb2YgaW52YWxpZF9jYXBzIHRoaXMgZ290byBqdW1wCgkgIGFsd2F5cyBoYXBwZW5zIGJlZm9yZSBzcmNjYXBzIGlzIHNldCwgc28gaXQgd2lsbCBhbHdheXMgYmUgTlVMTCBpbiB0aGlzCgkgIGVycm9yIGxhYmVsLgoJICBDSUQgIzEzNTIwMzUKCjIwMTYtMDItMDggMTI6NDg6NDYgKzAxMDAgIFBpb3RyIERyxIVnIDxwaW90cmRyYWdAZ21haWwuY29tPgoKCSogcG8vUE9URklMRVMuaW46CgkgIHBvOiB1cGRhdGUgUE9URklMRVMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTcwNQoKMjAxNi0wMi0wOCAxNTozMTo1NSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSAgdjRsMmFsbG9jYXRvcjogRml4IHNwZWxsaW5nIG9mIHJlZW5xdWV1ZWluZwoJICBUbyBtYXRjaCBjb21taXQgN2Q3MDc0Y2VmMDI3MmNkNTE1NTA5OGJmYzJiZGE2ODQ5ZGQ4OTI2Ny4gSSBsb3ZlIHRoZSBpZGVhCgkgIG9mIGFpbWluZyBmb3IgdGhlIG1heGltdW0gbnVtYmVyIG9mIGNvbnNlY3V0aXZlIHZvd2Vscy4KCjIwMTYtMDItMDggMTA6MTc6NDkgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSAgdjRsMmFsbG9jYXRvcjogRml4IHNwZWxsaW5nIG9mIHF1ZXVlaW5nCgkgIERpZG4ndCBrbm93IHdoaWNoIG9uZSB0byBjaG9vc2UgYmV0d2VlbiBxdWV1aW5nIGFuZCBxdWV1ZWluZywgc28gSSBwaWNrZWQKCSAgdGhlIG9uZSB3aXRoIHRoZSBiaWdnZXN0IGFtb3VudCBvZiB2b3dlbHMgaW4gYSByb3cgOy1QIChib3RoIGFyZQoJICBhY2NlcHRhYmxlIGFwcGFyZW50bHkpCgoyMDE2LTAyLTA3IDE1OjAyOjM1IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IERvbid0IHBhc3MgdGhlIHNhbWUgZGF0YSBvdmVyIGFuZCBvdmVyCgkgIFdlIGFscmVhZHkgcGFzcyB0aGUgZW50aXJlIGZyYW1lIHRvIHRoZSBkZWNvZGVyLiBJZiB0aGUgZGVjb2RlciBhc2sgZm9yCgkgIG1vcmUgZGF0YSwgZG9uJ3QgcGFzcyB0aGUgc2FtZSBkYXRhIGFnYWluIGFzIHRoaXMgbGVhZHMgdG8gaW5maW5pdCBsb29wLgoJICBJbnN0ZWFkLCBzaW1wbHkgZmFpbCB0aGUgZmlsbCBmdW5jdGlvbiB0byBzaWduYWwgdGhlIHByb2JsZW0gd2l0aCB0aGF0CgkgIGZyYW1lLiBJdCB3aWxsIHRoZW4gYmUgc2tpcHBlZCBwcm9wZXJseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTY3MAoKMjAxNi0wMi0wOCAwMDoxMDozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9sem8uYzoKCSAgbWF0cm9za2E6IGdldCByaWQgb2YgX3N0ZGludC5oIGluY2x1ZGUKCjIwMTYtMDItMDUgMjA6MDA6NTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZXh0ZW5kIHRoZSBBTV9URVNUU19FTlZJUk9OTUVOVCBmcm9tIGNoZWNrLm1hawoJICBUbyBnZXQgdGhlIENLX0RFRkFVTFRfVElNRU9VVCBkZWZpbmVkIGZvciBhbGwgdGVzdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTQ3MgoKMjAxNi0wMi0wNSAxODowNDozMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogYXV0b2dlbi5zaDoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA4NmU0NjYzIHRvIGI2NGYwM2YKCjIwMTYtMDEtMzAgMTg6NDM6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheTogU2tpcCBBUFAgYW5kIEpQRyBtYXJrZXJzIGFuZCBwcmludCB3YXJuaW5ncyBmb3IgdW5rbm93biBtYXJrZXJzCgkgIEZvciBBUFAvSlBHIG1hcmtlcnMgdGhlIHNpemUgaXMgZm9sbG93aW5nIGFuZCB3ZSBoYXZlIHRvIHNraXAgdGhhdC4gVGhpcyBpcwoJICBub3QgcmVhbGx5IGEgcHJvYmxlbSB1bmxlc3MgdGhlIG1hcmtlciBjb250YWlucyBlLmcuIGEgcHJldmlldyBKUEVHIG9yCgkgIHNvbWV0aGluZyBlbHNlIHRoYXQgd2UgbWlnaHQgaW50ZXJwcmV0ZSBhcyBhbm90aGVyIG1hcmtlci4KCjIwMTYtMDEtMjYgMjI6Mzc6MzAgKzA5MDAgIFNldW5naGEgWWFuZyA8c2gueWFuZ0BsZ2UuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBmcmFtZXJhdGUgY2FsY3VsYXRpb24gZm9yIGZyYWdtZW50ZWQgZm9ybWF0CgkgIHF0ZGVtdXggY2FsY3VsYXRlcyBmcmFtZXJhdGUgdXNpbmcgZHVyYXRpb24gYW5kIHRoZSBudW1iZXIgb2Ygc2FtcGxlLgoJICBJbiBjYXNlIG9mIGZyYWdtZW50ZWQgbXA0IGZvcm1hdCwgaG93ZXZlciwgdGhlIG51bWJlciBvZiBzYW1wbGUgY2FuCgkgIGJlIGZpZ3VyZSBvdXQgYWZ0ZXIgcGFyc2luZyBldmVyeSBtb29mIGJveC4gQmVjYXVzZSBxdGRlbXV4IGRvZXMgbm90CgkgIHBhcnNlIGV2ZXJ5IG1vb2YgaW4gUVRERU1VWF9TVEFURV9IRUFERVIgc3RhdGUsIGl0IHdpbGwgY2F1c2UgaW5jb3JyZWN0CgkgIGZyYW1lcmF0ZSBjYWxjdWxhdGlvbi4KCSAgVGhpcyBwYXRjaCB3aWxsIHRyaWdlciBnc3RfcXRkZW11eF9jb25maWd1cmVfc3RyZWFtKCkgZm9yIGV2ZXJ5IG5ldyBtb29mLgoJICBUaGVuLCBmcmFtZXJhdGUgd2lsbCBiZSBjYWxjdWxhdGVkIGJ5IHVzaW5nIGR1cmF0aW9uIGFuZCBuX3NhbXBsZXMgb2YgdGhlIG1vb2YuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA3NzQKCjIwMTYtMDEtMjggMjI6MzY6MjMgKzA5MDAgIFNldW5naGEgWWFuZyA8c2gueWFuZ0BsZ2UuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGhhbmRsaW5nIHplcm8gc2VnbWVudC1kdXJhdGlvbiBlZGl0IGxpc3QKCSAgQmFzZWQgb24gZG9jdW1lbnQgSVNPX0lFQ18xNDQ5Ni0xMiwgZWRpdCBsaXN0IGJveCBjYW4gaGF2ZQoJICBzZWdtZW50IGR1cmF0aW9uIGFzIHplcm8uIEl0IGRvZXMgbm90IGltcGx5IHRoYXQgbWVkaWFfc3RhcnQgZXF1YWxzIHRvCgkgIG1lZGlhX3N0b3AuIEJ1dCwgaXQganVzdCBpbmRpY2F0ZXMgYSBzYW1wbGUgd2hpY2ggc2hvdWxkIGJlIHByZXNlbnRlZAoJICBhdCB0aGUgZmlyc3QuIFRoaXMgcGF0Y2ggZGVyaXZlcyBzZWdtZW50IGR1cmF0aW9uIHVzaW5nIG1lZGlhX3RpbWUKCSAgYW5kIGR1cmF0aW9uIG9mIGZpbGUuIEFuZCBzZXQgZGVyaXZlZCBkdXJhdGlvbiB0byBzZWdtZW50LWR1cmF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwNzgxCgoyMDE2LTAxLTI4IDIxOjM2OjU0ICswOTAwICBTZXVuZ2hhIFlhbmcgPHNoLnlhbmdAbGdlLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogZXhwb3NlIHN0cmVhbXMgd2l0aCBmaXJzdCBtb29mIGZvciBmcmFnbWVudGVkIGZvcm1hdAoJICBJbiBjYXNlIG9mIHB1c2ggbW9kZSwgcXRkZW11eCBleHBvc2Ugc3RyZWFtcyBhZnRlciBnb3QgbW9vdiBib3guCgkgIFdlIGNhbiBub3QgZ3VhcmFudGVlIHRoYXQgYSBtb292IGJveCBoYXMgc2FtcGxlIGRhdGEgc3VjaCBhcyBzYW1wbGUgZHVyYXRpb24KCSAgYW5kIHRoZSBudW1iZXIgb2Ygc2FtcGxlIGluIHN0YmwgYm94IGZvciBmcmFnbWVudGVkIGZvcm1hdCBjYXNlLgoJICBTbywgaWYgYSBtb292IGhhcyBubyBzYW1wbGUgZGF0YSwgc3RyZWFtcyB3aWxsIG5vdCBiZSBleHBvc2VkIHVudGlsIGdldCB0aGUgZmlyc3QgbW9vZi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDc3OQoKMjAxNi0wMS0yNyAxODo0ODoxNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogQ2hlY2sgZm9yIHN1YnNldCBpbnN0ZWFkIG9mIG5vbi1lbXB0eSBpbnRlcnNlY3Rpb24gZm9yIEFDQ0VQVF9DQVBTCgoyMDE2LTAxLTI3IDE4OjQ0OjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBVbnNldCBSRUNPTkZJR1VSRSBmbGFnIG9uIHNyY3BhZCB3aGVuZXZlciB3ZSBjb25maWd1cmUgbmV3IGNhcHMKCSAgUHJldmVudHMgZG91YmxlLW5lZ290aWF0aW9uIGR1cmluZyBzdGFydHVwIGFuZCBpbiBzb21lIG90aGVyIGNhc2VzLgoKMjAxNi0wMS0yNyAxNjo0MzoyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBBZGQgbmVnb3RpYXRpb24gdW5pdCB0ZXN0cyBmb3IgYWxsIDQgbW9kZXMKCSAgVGhlc2Ugbm93IGNoZWNrIHRoZSBvdXRwdXQgY2FwcyBiYXNlZCBvbiB0aGUgaW5wdXQgY2FwcyBhbmQgYSBmb2xsb3dpbmcKCSAgY2Fwc2ZpbHRlciBhbmQgbWFrZSBzdXJlIHRoZSBjYXBzIGFyZSBleGFjdGx5IGFzIGV4cGVjdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwOTk1CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjAzODgKCjIwMTYtMDEtMjYgMTc6Mzk6MjAgKzAxMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQHRvb2xzb25haXIuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBEbyBwYXNzdGhyb3VnaCBpbiBhdXRvIG1vZGUgaWYgZG93bnN0cmVhbSBvbmx5IHN1cHBvcnRzIGludGVybGFjZWQKCSAgSWYgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6CgkgIDEpIHVwc3RyZWFtIGFuZCBkb3duc3RyZWFtIGNhcHMgYXJlIGNvbXBhdGlibGUKCSAgMikgdXBzdHJlYW0gaXMgaW50ZXJsYWNlZAoJICAzKSBkb3duc3RyZWFtIGRvZXNuJ3Qgc3VwcG9ydCBwcm9ncmVzc2l2ZSBtb2RlCgkgIHRoZW4gZGVpbnRlcmxhY2Ugd2lsbCBqdXN0IGRvIHBhc3N0aHJvdWdoIGluc3RlYWQgb2YgZmFpbGluZyB0byBsaW5rLgoJICBUaGlzIGlzIGRvbmUgd2l0aCB0aGUgZm9sbG93aW5nIHNjZW5hcmlvIGluIG1pbmQ6CgkgIHZpZGVvdGVzdHNyYyAhICJ2aWRlby94LXJhdyxpbnRlcmxhY2UtbW9kZT1pbnRlcmxlYXZlZCIgISBkZWludGVybGFjZQoJICBuYW1lPWRlaW5fc3JjICEgdGVlIG5hbWU9dCAhIHF1ZXVlICEgZGVpbnRlcmxhY2UgbmFtZT1kZWluX2ZpbGUgISBmaWxlc2luayB0LiAhCgkgIHF1ZXVlICEgZGVpbnRlcmxhY2UgbmFtZT1kZWluX2Rlc2t0b3AgISBhdXRvdmlkZW9zaW5rCgkgIEluIHRoaXMgY2FzZSwgZGVpbl9zcmMgd2lsbCBkbyB0aGUgZGVpbnRlcmxhY2luZy4gSG93ZXZlciwKCSAgdmlkZW90ZXN0c3JjICEgInZpZGVvL3gtcmF3LGludGVybGFjZS1tb2RlPWludGVybGVhdmVkIiAhIGRlaW50ZXJsYWNlCgkgIG5hbWU9ZGVpbl9zcmMgISB0ZWUgbmFtZT10ICEgcXVldWUgISBkZWludGVybGFjZSBuYW1lPWRlaW5fZmlsZSAhIGZpbGVzaW5rIHQuICEKCSAgcXVldWUgISBkZWludGVybGFjZSBuYW1lPWRlaW5fZGVza3RvcCAhIGF1dG92aWRlb3NpbmsgdC4gISBxdWV1ZSAhCgkgICJ2aWRlby94LXJhdyxpbnRlcmxhY2UtbW9kZT1pbnRlcmxlYXZlZCIgISBmYWtlc2luawoJICBJbiB0aGlzIGNhc2UsIGNhcHMgYXV0by1uZWdvdGlhdGlvbiB3aWxsIG1ha2UgZGVpbl9maWxlIGFuZCBkZWluX2Rlc2t0b3AgZG8KCSAgdGhlIGRlaW50ZXJsYWNpbmcsIHdoaWxlIGRlaW5fc3JjIHdpbGwgYmUgcGFzc3Rocm91Z2guCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA5OTUKCjIwMTYtMDEtMjYgMTg6MDU6NTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkgIGRlaW50ZXJsYWNlOiBBZGQgbW9kZT1hdXRvLXN0cmljdAoJICBJbiB0aGlzIG1vZGUgd2Ugd2lsbCBwYXNzdGhyb3VnaCBhbGwgcHJvZ3Jlc3NpdmUgY2FwcyBidXQgaW50ZXJsYWNlZCBjYXBzIG11c3QgYmUKCSAgY2FwcyB3aGVyZSB3ZSBhY3R1YWxseSBzdXBwb3J0IGRlaW50ZXJsYWNpbmcuCgkgIFRoaXMgaXMgdGhlIG9ubHkgZGlmZmVyZW5jZSBiZXR3ZWVuIGF1dG8gYW5kIGF1dG8tc3RyaWN0LCBhdXRvIHdvdWxkCgkgIHBhc3N0aHJvdWdoIGFsbCB1bnN1cHBvcnRlZCBpbnRlcmxhY2VkIGNhcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjAzODgKCjIwMTYtMDEtMjYgMTc6NTA6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEltcGxlbWVudCByZWNvbmZpZ3VyYXRpb24gYSBiaXQgYmV0dGVyCgkgIEFuZCBlLmcuIGNvbnNpZGVyIHJlY29uZmlndXJhdGlvbiBjYXVzZWQgYnkgUkVDT05GSUdVUkUgZXZlbnRzIHRvby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDM4OAoKMjAxNi0wMS0yNiAxMTo1NzowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogUmV3cml0ZSBjYXBzIG5lZ290aWF0aW9uCgkgIFByZXZpb3VzbHkgdGhlIHJlc3VsdCBvZiB0aGUgQ0FQUyBxdWVyeSBhbmQgQUNDRVBUX0NBUFMgZGVwZW5kZWQgb24gd2hhdCBraW5kCgkgIG9mIGNhcHMgd2VyZSBsYXN0IHNldCwgYW5kIGUuZy4gaWYgd2UgbGFzdCBoYWQgaW50ZXJsYWNlZCBjYXBzIG9yIG5vdC4gVGhhdCdzCgkgIGp1c3QgYnJva2VuLgoJICBBbHNvIHByZXZpb3VzbHkgdGhlIGhhbmRsaW5nIG9mIG5vbi1zeXNtZW0gY2FwcyBmZWF0dXJlcyB3YXMgcmF0aGVyIHJhbmRvbSBhbmQKCSAgdW51c3VhYmxlLgoJICBOb3cgdGhlIGJlaGF2aW91ciBpcyB0aGUgZm9sbG93aW5nLCBkZXBlbmRpbmcgb24gdGhlIG1vZGUgcHJvcGVydHk6CgkgIDEpIG1vZGU9ZGlzYWJsZWQKCSAgQ29tcGxldGVseSBkbyBwYXNzdGhyb3VnaCBvZiBldmVyeXRoaW5nCgkgIDIpIG1vZGU9aW50ZXJsYWNlZAoJICBPbmx5IGFjY2VwdCBmb3JtYXRzIHdlIGNhbiBhY3R1YWxseSBkZWludGVybGFjZSwgYW5kIGFjY2VwdCBpbnRlcmxhY2VkCgkgIGFuZCBwcm9ncmVzc2l2ZSBjb250ZW50IGFuZCBhbHdheXMgcnVuIHRoZSBkZWludGVybGFjZXIgYW5kIG91dHB1dAoJICBwcm9ncmVzc2l2ZSBjb250ZW50CgkgIDMpIG1vZGU9YXV0byAoaS5lLiBwbGF5YmluKQoJICBBY2NlcHQgYWxsIHByb2dyZXNzaXZlIGZvcm1hdHMgYXMgcGFzc3Rocm91Z2gsIGFjY2VwdCBhbGwgZm9ybWF0cyB0aGF0IHdlCgkgIGNhbiBkZWludGVybGFjZSBvdXJzZWx2ZXMgKHdoaWNoIHdlIGRvIHRoZW4pLCBidXQgYWxzbyBhY2NlcHQgZXZlcnl0aGluZwoJICBlbHNlIGZvciB3aGljaCB3ZSB0aGVuIGp1c3QgcGFzc3Rocm91Z2guIEluIGF1dG8gbW9kZSwgZGVpbnRlcmxhY2luZyBpcyBiZXN0CgkgIGVmZm9ydDogSWYgd2UgY2FuLCB3ZSBkZWludGVybGFjZSwgaWYgd2UgY2FuJ3Qgd2UganVzdCBvdXRwdXQgaW50ZXJsYWNlZAoJICBjb250ZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwMzg4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA1NTMKCjIwMTYtMDEtMjYgMTE6MzQ6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IFJlbW92ZSB1bnVzZWQsIG9ic29sZXRlIGJ1ZmZlcmFsbG9jIGNvZGUKCjIwMTYtMDEtMjYgMTg6NTA6MzggKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiB1c2UgQV9BQUMgaW5zdGVhZCBvZiBBX0FBQy9NUEVHeC95CgkgIFNvbWUgR29vZ2xlQ2FzdCBjb21wYXRpYmxlIGRldmljZXMgaWdub3JlIEFfQUFDL01QRUd4L3kgdHJhY2tzOyBBbHNvIGFjY29yZGluZyB0byBodHRwOi8vd2lraS5tdWx0aW1lZGlhLmN4L2luZGV4LnBocD90aXRsZT1NYXRyb3NrYSBBX0FBQy9NUEVHeC95IGlzIG9ic29sZXRlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjExNDQKCjIwMTYtMDEtMjUgMTc6MjE6MjQgKzAxMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2MXBheS5jOgoJICBnc3Q6IEZpeCB1bmludGlhbGl6ZWQgdmFyaWFibGUgd2FybmluZ3MKCSAgV2hpbGUgY3Jvc3MtY29tcGlsaW5nIHdpdGggTGluYXJvIEdDQyA1LjEtMjAxNS4wOCwgaXQgY29tcGxhaW5lZAoJICBhYm91dCBhIGNvdXBsZSB1bml0aWFsaXplZCB2YXJpYWJsZXMuCgkgIFRoaXMgcGF0Y2ggaW5pdGlhbGl6ZXMgdGhlbSB0byB6ZXJvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxMDk0CgoyMDE2LTAxLTI1IDE1OjAzOjIzICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHBhcnRyZWFkZXIuYzoKCSAgc3BsaXRtdXhzcmM6IHByaW50IHBvdGVudGlhbGx5IG5lZ2F0aXZlIG9mZnNldCB3aXRoIGEgc2lnbgoKMjAxNi0wMS0yMSAxNzo0MTo1NSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBSZS1hZGQgY29sb3JpbWV0cnkgZmllbGQgZm9yIFJHQiBmb3JtYXRzCgkgIFRoaXMgdGltZSwgY2hlY2sgaWYgaXQncyBhbiBSR0IgZm9ybWF0IGFuZCBzZXRzIHRoZSB0cmFuc2Zvcm1hdGlvbgoJICBtYXRyaXggdG8gaWRlbnRpdHkuIFRoZSByZXN0IG9mIHRoZSBjb2xvcmltZXRyeSBpbmZvcm1hdGlvbiBpcwoJICBtZWFuaW5nZnVsbCBhbmQgc2hhbGwgYmUga2VwdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTYyNAoKMjAxNi0wMS0yMiAxMDowMzo1MCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGZpeCBzUkdCIGNvbG9yc3BhY2UgZGVmaW5pdGlvbgoJICBWNGwyIGNhbiBhbHNvIHVzZSB0aGUgc1JHQiBjb2xvcnNwYWNlIGZvciBZVVYgZm9ybWF0cyBhbmQgdGh1cyBuZWVkcyBhCgkgIGRlZmF1bHQgbWF0cml4LgoKMjAxNi0wMS0yMSAxNToyOTo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHRhZ2luamVjdC5jOgoJICB0YWdpbmplY3Q6IGZpeCBzYW1wbGUgcGlwZWxpbmUgaW4gZG9jcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc5NTcxCgoyMDE2LTAxLTIxIDEwOjQ5OjQ0ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogQWRkIGFkb2JlIGNvbG9yc3BhY2Ugc3VwcG9ydAoJICBVc2UgdGhlIG5ldyBwcmltYXJpZXMgYW5kIHRyYW5zZmVyIGZ1bmN0aW9uIGZvciBBZG9iZSBSR0IuCgkgIEV4cGxpY2l0bHkgbGlzdCB0aGUgY29sb3JpbWV0cnkgaW5zdGVhZCBvZiB1c2luZyB0aGUgZGVmYXVsdCBHU3RyZWFtZXIKCSAgb25lcy4gVGhlIGRlZmF1bHRzIGZvciBCVDIwMjAsIGZvciBleGFtcGxlLCBkbyBub3QgbWF0Y2guCgkgIEV4cGxpY2l0bHkgc2V0IHRoZSBtYXRyaXggb2YgU1JHQiB0byBSR0IuCgoyMDE2LTAxLTIwIDEzOjQxOjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBFbnN1cmUgdGhhdCB3ZSBhbHdheXMgaGF2ZSB2YWxpZCBmcmFtZSB1c2VyIGRhdGEgYmVmb3JlIHVzaW5nIGl0CgkgIE90aGVyd2lzZSB3ZSdyZSBnb2luZyB0byBkZXJlZmVyZW5jZSBOVUxMIHBvaW50ZXJzLgoKMjAxNi0wMS0yMCAxMDowMjo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnB4ZGVjLmM6CgkgIHZweGRlYzogVW5yZWYgZnJhbWUgaW4gYWxsIGNvZGUgcGF0aHMgb2YgaGFuZGxlX2ZyYW1lKCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDY2NgoKMjAxNi0wMS0xOSAyMjo0OToyMCArMDEwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZXh0L3ZweC9nc3R2cHhlbmMuYzoKCSAgdnB4ZW5jOiBVbnJlZiBmcmFtZSBvbiBFUlJPUgoJICBBbGwgY29kZSBwYXRocyBmb3IgaGFuZGxlX2ZyYW1lKCkgbXVzdCBzb21laG93IHRha2Ugb3duZXJzaGlwIG9mIHRoZSBmcmFtZSwgYmUKCSAgaXQgYnkgYWN0dWFsbHkgdW5yZWZmaW5nLCBmb3J3YXJkaW5nIHRoZSBmcmFtZSBlbHNld2hlcmUgb3Igc3RvcmluZyBpdCBmb3IKCSAgbGF0ZXIuCgkgIGh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDY2NgoKMjAxNi0wMS0yMCAxODoyMDo0MyArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyZGV2aWNlcHJvdmlkZXIuYzoKCSAgdjRsMjogRG9uJ3QgZnJlZSBwcm9wcyBzdHJ1Y3R1cmUgdHdpY2UuCgkgIGdzdF92NGwyX2RldmljZV9wcm92aWRlcl9wcm9iZV9kZXZpY2UoKSBmcmVlcyB0aGUgcGFzc2VkIHByb3BzCgkgIHN0cnVjdHVyZSwgZG9uJ3QgZnJlZSBpdCBhZ2FpbiBpbiB0aGUgY2FsbGVyLgoKMjAxNi0wMS0xOSAxNToxNTozNSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBDbGVhbnVwIHVuZWVkZWQgcmV0dXJuIHN0YXRlbWVudAoKMjAxNi0wMS0xOSAxNToxNDo1OSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBEb24ndCBzZXQgY29sb3JpbWV0cnkgZm9yIG5vbiBZVVYgZm9ybWF0cwoJICBTZXR0aW5nIGNvbG9ybWV0cnkgaW4gY2FwcyBmb3IgUkdCIGhhdmUgbm8gbWVhbmluZywgYnV0IHdvcnN0IGl0CgkgIGNvbmZ1c2VzIHRoZSBjb252ZXJ0ZXJzIGRvd25zdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk2MjQKCjIwMTYtMDEtMTkgMTM6MDE6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGNoYW5uZWxzLmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2hhbm5lbHMuaDoKCSAgcnRwOiBmaXggY29tcGlsZXIgd2FybmluZ3Mgd2l0aCBnY2MtNgoJICBJbiBmaWxlIGluY2x1ZGVkIGZyb20gZ3N0cnRwTDE2ZGVwYXkuaDoyNzowLAoJICBmcm9tIGdzdHJ0cC5jOjczOgoJICBnc3RydHBjaGFubmVscy5oOjE1NDozMzogZXJyb3I6ICdjaGFubmVsX29yZGVycycgZGVmaW5lZCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWNvbnN0LXZhcmlhYmxlXQoJICBzdGF0aWMgY29uc3QgR3N0UlRQQ2hhbm5lbE9yZGVyIGNoYW5uZWxfb3JkZXJzW10gPQoKMjAxNi0wMS0xOSAxNDo1NzowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogRG9uJ3QgcGxheSBhbnl0aGluZyBhZnRlciB0aGUgZW5kIG9mIHRoZSBkYXRhIGNodW5rIGV2ZW4gd2hlbiBzZWVraW5nCgkgIEVzcGVjaWFsbHkgaW4gcHVzaCBtb2RlIHdlIHdvdWxkIGNvbXBsZXRlbHkgaWdub3JlIHRoZSBzaXplIG9mIHRoZSBkYXRhIGNodW5rCgkgIHdoZW4gbm90IHN0b3AgcG9zaXRpb24gaXMgZ2l2ZW4gZm9yIHRoZSBzZWVrLiBJbnN0ZWFkIG1ha2Ugc3VyZSB0aGF0IHRoZSBlbmQKCSAgb2Zmc2V0IGlzIGF0IG1vc3QgdGhlIGVuZCBvZiB0aGUgZGF0YSBjaHVuayBpZiBrbm93bi4KCSAgV2l0aG91dCB0aGlzIHdlIHdvdWxkIG91dHB1dCBhbnl0aGluZyBhZnRlciB0aGUgZGF0YSBjaHVuaywgcG9zc2libHkgY2F1c2luZwoJICBsb3VkIG5vaXNlcyBpZiB0aGUgbWVkaWEgZmlsZSBpcyBmb2xsb3dlZCBieSBhbiBJTkZPIGNodW5rIG9yIGFuIElEMyB0YWcuCgoyMDE2LTAxLTE5IDE0OjU1OjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBEb24ndCBkbyBjYWxjdWxhdGlvbnMgd2l0aCAtMSBvZmZzZXRzIHdoZW4gaGFuZGxpbmcgU0VHTUVOVCBldmVudHMKCSAgV2UgdXNlIHRoYXQgdG8gc2lnbmFsICJpbmZpbml0eSIsIHRha2luZyB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoYXQgYW5kIHNvbWUKCSAgb3RoZXIgdmFsdWUgaXMgbm90IGdvaW5nIHRvIGdpdmUgdXMgYW55IHVzZWZ1bCByZXN1bHQgZm9yIHRoZSBlbmQgb2Zmc2V0cyBvZgoJICBzZWdtZW50cy4KCjIwMTYtMDEtMTggMTE6MzA6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBSZXZlcnQgIldJUDogcnRwaml0dGVyYnVmZmVyOiBBZGQgUkZDNzI3MyBtZWRpYSBjbG9jayBoYW5kbGluZyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAyNzE1MDFmNjU3NmRlNGQxNDFlN2MyZjYxOGUyOGI5ZTNiMWU1YjM4LgoJICBJdCB3YXNuJ3QgbWVhbnQgdG8gYmUgcHVzaGVkIHlldCBhcyB0aGUgY29tbWl0IG1lc3NhZ2UgaW5kaWNhdGVzLgoKMjAxNi0wMS0xMiAxNDowMToyMSAtMDgwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFjb25jaGlsbG9AZ21haWwuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBoYW5kbGUgcnRjcC9zcnRjcCBjYXBzIHByb3Blcmx5IHdoZW4gdXNpbmcgaW50ZXJsZWF2ZWQgZGF0YQoJICBXZSBjaGVjayB0aGUgc3RyZWFtIHByb2ZpbGUgYW5kIHVzZSB0aGUgcHJvcGVyIFJUQ1AgY2FwczoKCSAgYXBwbGljYXRpb24veC1zcnRjcCBpZiB3ZSBhcmUgdXNpbmcgYSBzZWN1cmUgcHJvZmlsZSBhbmQKCSAgYXBwbGljYXRpb24veC1ydGNwIG90aGVyd2lzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDU1NgoKMjAxNi0wMS0wNSAxNjoxNToxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIFdJUDogcnRwaml0dGVyYnVmZmVyOiBBZGQgUkZDNzI3MyBtZWRpYSBjbG9jayBoYW5kbGluZwoKMjAxNi0wMS0xNSAxMTozNjozNSArMDAwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZXh0L3ZweC9nc3R2cHhlbmMuYzoKCSAgdnA4ZW5jOiBSZXR1cm4gRkxPV19FUlJPUiB3aGVuIGFuIGVycm9yIGFjY3VyZXMKCSAgRkFMU0Ugd291bGQgbWVhbiBGTE9XX09LCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA2NjYKCjIwMTYtMDEtMTUgMDM6NTc6NDUgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9oYWwuYzoKCSAgb3N4YXVkaW86IGJyZWFrIGFzIHNvb24gYXMgdGhlIGRldmljZSBpcyBmb3VuZAoJICBObyBuZWVkIHRvIGxvb3AgZnVydGhlciBpZiB0aGVyZSdzIG5vIHNpZGUtZWZmZWN0cyBmb3IgaXQKCjIwMTYtMDEtMTUgMDM6NTY6NDkgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3JpbmdidWZmZXIuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2hhbC5jOgoJICBvc3hhdWRpbzogRml4IGVycm9yIGhhbmRsaW5nIHdoZW4gc2VsZWN0aW5nL29wZW5pbmcgZGV2aWNlcwoJICBQb3N0IGFuIGVsZW1lbnQgZXJyb3Igd2hlbiB0aGUgQ29yZUF1ZGlvIGRldmljZSBjYW5ub3QgYmUgc2VsZWN0ZWQgb3Igb3BlbmVkLgoJICBBbHNvIGVuc3VyZSB0aGF0IHdlIHBvc3QgYSBHU1RfRVJST1Igd2l0aCBtb3JlIGRldGFpbC4KCjIwMTYtMDEtMTMgMjM6NDA6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IFdoZW4gZmx1c2hpbmcgb24gRU9TLCBkb24ndCBwcm9jZXNzIG1vcmUgZGF0YSB0aGFuIHRoZSAiZGF0YSIgc2l6ZQoJICBFdmVuIGlmIHdlIGhhdmUgbW9yZSBkYXRhIHF1ZXVlZCB1cCB3aGVuIGZsdXNoaW5nIHRoYW4gdGhlIHNpemUgb2YgdGhlIGRhdGEKCSAgY2h1bmssIGRvbid0IHByb2Nlc3MgYW5kIG91dHB1dCBpdC4gSWYgdGhlIGRhdGEgc2l6ZSBpcyBrbm93biwgdGhpcyBsaWtlbHkKCSAgY29udGFpbnMgYW5vdGhlciBjaHVuayAoZS5nLiBhbiBJTkZPIGNodW5rKSBvciB0aGluZ3MgbGlrZSBJRDMgdGFncy4gSnVzdAoJICBvdXRwdXR0aW5nIHRoZW0gYXMgaWYgdGhleSB3ZXJlIGRhdGEgaXMgZ29pbmcgdG8gY2F1c2UgdW5leHBlY3RlZCBiZWhhdmlvdXIKCSAgYW5kIHVucGxlYXNhbnQgYXVkaW8gbm9pc2VzLgoKMjAxNC0wOC0yOSAxNTo0MDoyMyArMDIwMCAgQW50b25pbyBPc3BpdGUgPGFvMkBhbzIuaXQ+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2ZW5jLmM6CgkgIHRlc3RzOiBmaXggYSB0aGlua28gaW4gdGhlIHdhdmVuYyBleGFtcGxlCgkgIFRoZSBjb2RlIGlzIHN1cHBvc2VkIHRvIGZvbGxvdyBzb21laG93IHdoYXQgdGhlIGNvbW1lbnQgYWJvdmUgc2F5cywgdGhhdAoJICBpcyB0byBoYXZlIG9uZSBjaGFubmVsIHdpdGggYSB3YXZlIG9mIGZyZXEgNDQwIGFuZCB0aGUgb3RoZXIgY2hhbm5lbAoJICB3aXRoIGEgd2F2ZSBvZiBmcmVxIDg4MCwgYnV0IGFuIG9mZiBieSBvbmUgZXJyb3IgcmVzdWx0cyBpbiBmcmVxdWVuY2llcwoJICBvZiAwIGFuZCA0NDAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU2NzMKCjIwMTQtMDgtMjkgMTU6MDc6NTggKzAyMDAgIEFudG9uaW8gT3NwaXRlIDxhbzJAYW8yLml0PgoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICBpbnRlcmxlYXZlOiBGaXggdGhlIGV4YW1wbGUgYnkgc2V0dGluZyBjaGFubmVsLW1hc2tzIGluIHRoZSBzaW5rIHBhZHMKCSAgVGhlIGN1cnJlbnQgZXhhbXBsZSBkb2VzIG5vdCB3b3JrLCBpdCBmYWlscyB3aXRoOgoJICBFUlJPUjogZnJvbSBlbGVtZW50IC9Hc3RQaXBlbGluZTpwaXBlbGluZTAvR3N0RGVjb2RlQmluOmRlY29kZWJpbjAvR3N0V2F2UGFyc2U6d2F2cGFyc2UwOiBJbnRlcm5hbCBkYXRhIGZsb3cgZXJyb3IuCgkgIGdzdHdhdnBhcnNlLmMoMjE3OCk6IGdzdF93YXZwYXJzZV9sb29wICgpOiAvR3N0UGlwZWxpbmU6cGlwZWxpbmUwL0dzdERlY29kZUJpbjpkZWNvZGViaW4wL0dzdFdhdlBhcnNlOndhdnBhcnNlMDoKCSAgc3RyZWFtaW5nIHRhc2sgcGF1c2VkLCByZWFzb24gbm90LW5lZ290aWF0ZWQgKC00KQoJICBUaGlzIGlzIGJlY2F1c2UgbmVnb3RpYXRpb24gd2l0aCB3YXZlbmMgZ2V0cyBtZXNzZWQgdXAgYnkgdGhlIG1pc3NpbmcKCSAgY2hhbm5lbCBwb3NpdGlvbnMgY29uZmlndXJhdGlvbi4KCSAgVGhlIHByb3BlciB3YXkgdG8gZGVmaW5lIHRoZSBjaGFubmVsIGxheW91dCB3aGVuIHVzaW5nIHRoZSBpbnRlcmxlYXZlCgkgIGVsZW1lbnQgaW4gY29kZSB3b3VsZCBiZSB0byBzZXQgdGhlIGNoYW5uZWwtcG9zaXRpb25zIHByb3BlcnR5LCBidXQKCSAgZ3N0LWxhdW5jaC0xLjAgZG9lcyBub3Qga25vdyBob3cgdG8gZGVhbCB3aXRoIGFycmF5czsgc28gdGhlIGV4YW1wbGUKCSAgcGlwZWxpbmUgd29ya3MgYXJvdW5kIHRoZSBpc3N1ZSBieSBzZXR0aW5nIHRoZSBjaGFubmVsLW1hc2tzIGluIHRoZSBzaW5rCgkgIHBhZHMuCgkgIEFsc28gZml4IGEgcmVwZXRpdGlvbiBpbiB0aGUgZGVpbnRlcmxlYXZlIGV4YW1wbGUgZGVzY3JpcHRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTY3MwoKMjAxNi0wMS0xMSAxNjoyOTo1NSArMDAwMCAgVGltIFNoZXJpZGFuIDx0aW0uc2hlcmlkYW5AaW1ndGVjLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0c2JjcGFyc2UuYzoKCSAgc2JjcGFyc2U6IEZpeCBmcmFtZSBsZW5ndGggY2FsY3VsYXRpb24KCSAgU0JDIGZyYW1lIGxlbmd0aCBjYWxjdWxhdGlvbiB3YXNuJ3QgYmVpbmcgcm91bmRlZCB1cCB0byB0aGUgbmVhcmVzdCBieXRlCgkgIChhcyBzcGVjaWZpZWQgaW4gdGhlIEEyRFAgMS4wIHNwZWNpZmljYXRpb24sIHNlY3Rpb24gMTIuOSkuIFRoaXMgY291bGQKCSAgY2F1c2UgJ3N0ZXJlbycgYW5kICdqb2ludCBzdGVyZW8nIG1vZGUgU0JDIHN0cmVhbXMgdG8gaGF2ZSBpbmNvcnJlY3RseQoJICBjYWxjdWxhdGVkIGZyYW1lIGxlbmd0aHMuCgkgIEluY29ycmVjdCBmcmFtZSBsZW5ndGggY2FsY3VsYXRpb24gY2F1c2VzIGZyYW1lIGNvYWxlc2NpbmcgdG8gZmFpbCwgYXMKCSAgc3Vic2VxdWVudCBmcmFtZXMgaW4gdGhlIHN0cmVhbSBhcmVuJ3QgZm91bmQgaW4gdGhlIGV4cGVjdGVkIGxvY2F0aW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjQ0NgoKMjAxNi0wMS0xMCAyMjo1NDoxMiAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBkZW1vdGUgd2FybmluZyBvbiB3cm9uZyByZXNlcnZlZCB2YWx1ZSB0byBmaXhtZQoJICBXZSBhcmUgbGlrZWx5IGp1c3QgcGFyc2luZyBhIGJhY2t3YXJkLWNvbXBhdGlibGUgc3RyZWFtIHdlCgkgIGRvbid0IGZ1bGx5IHN1cHBvcnQuCgoyMDE2LTAxLTA4IDE2OjI3OjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IHNpbXBsaWZ5IGNhcHMgc2VsZWN0aW9uCgkgIFRoZSBkb3duc3RyZWFtIGNhcHMgcXVlcnkgd2l0aCBhIGZpbHRlciBhbHJhZWR5IGdpdmVzIHVzIHRoZSBwb3NzaWJsZQoJICBpbnRlcnNlY3Rpb24gc28gdGhlcmUgaXMgbm8gbmVlZCB0byBjaGVjayBpdCBhZ2FpbiB3aXRoIGRvd25zdHJlYW0KCSAgaWYgaXQgaXMgc3VwcG9ydGVkLiBKdXN0IHRyeSB0byBzZXQgaXQgZGlyZWN0bHkuCgoyMDE2LTAxLTA3IDIwOjQyOjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiBmaXggdW5uZWNlc3Nhcnkgc3ViLWJ1ZmZlciBjcmVhdGlvbgoJICBXZSBjcmVhdGUgYSBzdWItYnVmZmVyIGp1c3QgdG8gY29weSBvdmVyIGl0cyBtZXRhcyBhbmQgdGhlbgoJICB0aHJvdyBpdCBhd2F5IGltbWVkaWF0ZWx5LCBqdXN0IHVzZSB0aGUgb3JpZ2luYWwgaW5wdXQgYnVmZmVyCgkgIGRpcmVjdGx5LgoKMjAxNi0wMS0wNyAyMDozODoyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5jOgoJICBydHBkdmRlcGF5OiBmaXggdW5uZWNlc3Nhcnkgc3ViLWJ1ZmZlciBjcmVhdGlvbgoJICBXZSBjcmVhdGUgYSBzdWItYnVmZmVyIGp1c3QgdG8gY29weSBvdmVyIGl0cyBtZXRhcyBhbmQgdGhlbgoJICB0aHJvdyBpdCBhd2F5IGltbWVkaWF0ZWx5LCBqdXN0IHVzZSB0aGUgb3JpZ2luYWwgaW5wdXQgYnVmZmVyCgkgIGRpcmVjdGx5LgoKMjAxNi0wMS0wNyAyMDozNDowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSAgcnRwYW1yZGVwYXk6IGZpeCB1bm5lY2Vzc2FyeSBzdWItYnVmZmVyIGNyZWF0aW9uCgkgIFdlIGNyZWF0ZSBhIHN1Yi1idWZmZXIganVzdCB0byBjb3B5IG92ZXIgaXRzIG1ldGFzIGFuZCB0aGVuCgkgIHRocm93IGl0IGF3YXkgaW1tZWRpYXRlbHksIGp1c3QgdXNlIHRoZSBvcmlnaW5hbCBpbnB1dCBidWZmZXIKCSAgZGlyZWN0bHkuCgoyMDE2LTAxLTA3IDIwOjI3OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSAgcnRwdnJhd2RlcGF5OiBmaXggbWFqb3IgbWVtb3J5IGxlYWsgYW5kIHBlcmZvcm1hbmNlIGlzc3VlCgkgIFdlIGNhbGwgZ3N0X3J0cF9idWZmZXJfZ2V0X3BheWxvYWQoKSB3aGljaCBjcmVhdGVzIGEgc3ViLWJ1ZmZlcgoJICBvZiBlYWNoIGlucHV0IGJ1ZmZlciwganVzdCB0byBjb3B5IG92ZXIgbWV0YXMsIGFuZCB0aGVuIGxlYWsgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjAyODkKCjIwMTYtMDEtMDggMTU6MzI6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkgIHJnYW5hbHlzaXM6IEZpeCBjb21waWxlciB3YXJuaW5ncyBpbiB0aGUgdW5pdCB0ZXN0CgkgIGVsZW1lbnRzL3JnYW5hbHlzaXMuYzo5MTk6NjY6IGVycm9yOiBzaGlmdGluZyBhIG5lZ2F0aXZlIHNpZ25lZCB2YWx1ZSBpcyB1bmRlZmluZWQKCSAgWy1XZXJyb3IsLVdzaGlmdC1uZWdhdGl2ZS12YWx1ZV0KCSAgcHVzaF9idWZmZXIgKHRlc3RfYnVmZmVyX2NvbnN0X2ludDE2X3N0ZXJlbyAoODAwMCwgMTYsIDUxMiwgLTEgPDwgMTQsIDApKTsKCSAgfn4gXgoJICBlbGVtZW50cy9yZ2FuYWx5c2lzLmM6OTI5OjY5OiBlcnJvcjogc2hpZnRpbmcgYSBuZWdhdGl2ZSBzaWduZWQgdmFsdWUgaXMgdW5kZWZpbmVkCgkgIFstV2Vycm9yLC1Xc2hpZnQtbmVnYXRpdmUtdmFsdWVdCgkgIHB1c2hfYnVmZmVyICh0ZXN0X2J1ZmZlcl9jb25zdF9pbnQxNl9zdGVyZW8gKDgwMDAsIDE2LCA1MTIsIDAsIC0xIDw8IDE0KSk7CgkgIH5+IF4KCSAgZWxlbWVudHMvcmdhbmFseXNpcy5jOjkzOTo2NDogZXJyb3I6IHNoaWZ0aW5nIGEgbmVnYXRpdmUgc2lnbmVkIHZhbHVlIGlzIHVuZGVmaW5lZAoJICBbLVdlcnJvciwtV3NoaWZ0LW5lZ2F0aXZlLXZhbHVlXQoJICBwdXNoX2J1ZmZlciAodGVzdF9idWZmZXJfY29uc3RfaW50MTZfbW9ubyAoODAwMCwgMTYsIDUxMiwgLTEgPDwgMTQpKTsKCSAgfn4gXgoKMjAxNi0wMS0wNSAxODoxMzowNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZG9uJ3QgbWFwIGJ1ZmZlciBtdWx0aXBsZSB0aW1lcyB3aGVuIHBhcnNpbmcKCjIwMTYtMDEtMDcgMTg6MjA6MzAgKzAyMDAgIFN0ZXZlbiBIb3ZpbmcgPHNoQGJpZ2Jyb3RoZXIubmw+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2E6IFN0b3JlIHN1YnRpdGxlIHN0cmVhbSBjb3VudCBpbiB0aGUgY29ycmVjdCB2YXJpYWJsZQoJICBBbmQgZG9uJ3Qgb3ZlcnJpZGUgdGhlIHZpZGVvIHN0cmVhbSBjb3VudCBpbnN0ZWFkLgoKMjAxNi0wMS0wNSAxODo1OTowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkgIGVxdWFsaXplcjogVGhlIGNoaWxkLXByb3h5IEFQSSBpcyBHT2JqZWN0IGJhc2VkIGluIDEueAoJICBOb3QgR3N0T2JqZWN0IGFueW1vcmUuCgoyMDE1LTA1LTIxIDE3OjQxOjEyICswMjAwICBQYWJsbyBBbnRvbiA8cGFibG8uYW50b25Adm9kYWx5cy1sYWJzLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMi0qOiBDb25maWd1cmluZyBvdXRwdXQgcG9vbCBjb3JyZWN0bHkgZm9yIHVzaW5nIGRyaXZlcnMgbWluX2J1ZmZlciBpZiBwcmVzZW50LgoJICBTaWduZWQtb2ZmLWJ5OiBQYWJsbyBBbnRvbiA8cGFibG8uYW50b25Adm9kYWx5cy1sYWJzLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTczNgoKMjAxNS0xMi0zMSAxNTo0NjozMSAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBhZGQgZGVidWcgbXNnIG9uIENSQyBtaXNtYXRjaCB3aGlsZSB2YWxpZGF0aW5nIGZyYW1lIGhlYWRlcgoKMjAxNS0xMi0zMSAxNjowMDo0OSAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBkcm9wIHVubmVlZGVkIGJyYWNlcyBhdCBfcGFyc2VfZnJhbWUoKSBleGl0CgkgIEFkZGl0aW9uYWxseSwgZHJvcCByZWR1bmRhbnQgY29tbWVudCAmIGxpbmUgYnJlYWsKCjIwMTUtMTItMzEgMTU6NTU6MTggLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogbWlub3IgZ3JhbW1hciBjb3JyZWN0aW9uCgoyMDE1LTEyLTMxIDE1OjM0OjU3IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IHVwZGF0ZSBVUkxzIG9uIHBvaW50ZXJzIHRvIG9ubGluZSBzcGVjCgoyMDE1LTEyLTMxIDE0OjQwOjE1IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IG1ha2UgYnVmZmVyIERUUyBzZXR0aW5nIGV4cGxpY2l0bHkgdW5jb25kaXRpb25hbAoJICBXZSBhcmUgc2V0dGluZyBpdCB0byBQVFMgcmVnYXJkbGVzcyBvZiBibG9ja19zdHJhdGVneQoKMjAxNS0xMi0zMSAxNDoyMTo0MCAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBhZGQgYWN0dWFsIGludmFsaWQgYmxvY2sgdHlwZSB0byB3YXJuaW5nCgkgIEZvciBzb21lb25lIHRoYXQgcmVhZCB0aGUgc3BlYyBpcyBjbGVhciB0aGUgb25seSAqaW52YWxpZCoKCSAgZGF0YSBibG9jayB0eXBlIGlzIDEyNy4gRm9yIHRoZSByZXN0LCBpdHMgdXNlZnVsIGluZm9ybWF0aW9uLgoJICBBZGRpdGlvbmFsbHkuIHZhbHVlcyA3LTEyNiBhcmUgY3VycmVudGx5IHJlc2VydmVkIGJ5IHRoZQoJICBzcGVjIHNvIHRoZSBzaXR1YXRpb24gbWlnaHQgY2hhbmdlIGluIHRoZSBmdXR1cmUuCgoyMDE1LTEyLTMxIDE0OjEyOjM2IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IHVzZSBzaGlmdCBpbnN0ZWFkIG9mIG1hc2sgJiBjb21wCgkgIFdlIGFyZSBvbmx5IGludGVyZXN0ZWQgb24gdGhlIGZpcnN0IGJpdCBvZiB0aGUgZmlyc3QKCSAgYnl0ZSBvZiB0aGUgbWV0YWRhdGEgYmxvY2sgaGVhZGVyIHRvIGZpZ3VyZSBvdXQgd2hldGhlcgoJICBpcyBtYXJrZWQgYXMgdGhlIGxhc3Qgb25lLiBUaGUgc2hpZnQgbWFrZXMgaXQgcXVpdGUKCSAgY2xlYXJlci4KCjIwMTUtMTItMzEgMTI6NTI6MTMgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogd2FybiBvbiB3aXNoZnVsIHBhcnNpbmcgb2Ygd2VpcmQgaGVhZGVycwoJICBJZiB3ZSBnZXQgYW55dGhpbmcgZnJvbSA3IHRvIDEyNiBhcyB0eXBlIHdoZW4gcGFyc2luZwoJICBhIG1ldGFkYXRhIGJsb2NrIGhlYWRlciwgd2UgYXJlIGxpa2VseSBkZWFsaW5nIHdpdGggYQoJICBGTEFDIHN0cmVhbSB2ZXJzaW9uIHdlIGRvbid0IGZ1bGx5IHVuZGVyc3RhbmQuIElzc3VlCgkgIGEgd2FybmluZyBpZiBzby4KCSAgRG9jdW1lbnQgZnVuY3Rpb24gYXNzdW1wdGlvbnMgcmVnYXJkaW5nIHRoZSBwYXNzZWQtb24KCSAgdHlwZSB3aGlsZSBhdCB0aGlzLgoKMjAxNS0xMi0zMSAxMTozMzo0NSAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBzaG93IG1lYW5pbmdmdWwgaW5mbyBvbiBmcmFtZSBDUkMgY2hlY2sKCSAgQXMgQ1JDcyBhcmUgY2FsY3VsYXRlZCBmb3IgdGhlIGNvbXBhcml0aW9uIGFscmVhZHksIHdlCgkgIG1pZ2h0IGFzIHdlbGwgKGNoZWFwbHkpIGluZm9ybSB0aGUgdXNlciBob3cgdGhlIG51bWJlcnMKCSAgZGlmZmVyIGlmIGEgbWlzc21hdGNoZWQgcGFpciBpcyBmb3VuZC4KCSAgV2hpbGUgYXQgaXQ6CgkgIFJlcGhyYXNlIGNhbmRpZGF0ZS1mcmFtZSBtZXNzYWdlIHRvIG1ha2UgbW9yZSBzZW5zZQoKMjAxNS0xMi0zMSAwMjo0MDo0MyAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBkcm9wIHJlbWFpbmluZyB0cmFpbGluZyB3aGl0ZXNwYWNlCgoyMDE1LTEyLTMxIDAyOjE1OjA2IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGRyb3Agc3VwZXJmbG91cyBlbHNlIGNsYXVzZXMKCjIwMTUtMTItMzEgMDE6MDk6NTEgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZmFjdG9yIG91dCBidWZmZXIgdGltZSBhbmQgb2Zmc2V0IHJlc2V0dGluZwoJICBBdm9pZHMgbXVsdGlwbGUgb2NjdXJyZW5jZXMgb2YgdGhlIHNhbWUgcmVzZXR0aW5nIHBhdHRlcm4KCjIwMTUtMTItMzEgMDA6NTQ6NDggLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogbW92ZSBibG9jayBoYW5kbGluZyBieSB0eXBlIG91dCBvZiBfcGFyc2VfZnJhbWUoKQoKMjAxNS0xMC0wNyAxODo1MToyNSArMDkwMCAgSHl1bmp1biBLbyA8enpvb24ua29Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHJlcGxhY2UgZHVwbGljYXRlZCBjb2RlcyB0byBjYWxsIG5ldyBiYXNlIHNkcCBhcGlzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU4ODAKCjIwMTUtMTItMzAgMTI6MTY6NTYgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZHJvcCByZWR1bmRhbnQgcmV0dXJuIHN0YXRlbWVudCBvbiBfaGVhZGVyX2lzX3ZhbGlkKCkKCSAgRml4IHRoZSByYXRoZXIgdmFndWUgZXJyb3IgbWVzc2FnZSB3aGlsZSBhdCBpdC4KCjIwMTUtMTItMzAgMDE6NTY6MjYgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogcmV3b3JrIGdzdF9mbGFjX3BhcnNlX2ZyYW1lX2lzX3ZhbGlkKCkKCSAgZHJvcCB1bm5lY2Vzc2FyeSBuZXN0aW5nIGxvb2tpbmcgZm9yIGVuZCBvZiBmcmFtZQoKMjAxNS0xMi0zMCAwMDozNzowNCAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBmYWN0b3Igb3V0IGNvbnRleHQgY2xlYXJpbmcgcm91dGluZQoKMjAxNS0xMi0yOSAxODowNTo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBHdWFyZCBhZ2FpbnN0IG5vIGNvZGVjIGRhdGEgaW4gcHJvcmVzIGNhcHMgY3JlYXRpb24KCSAgQ0lEIDEzNDY1MzIKCjIwMTUtMTItMjkgMTc6NTg6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnB4L2dzdHZweGRlYy5jOgoJICB2cHhkZWM6IEluaXRpYWxpemUgYnVmZmVyIHZhcmlhYmxlIHRvIE5VTEwKCSAgRmFsc2UgcG9zaXRpdmUgYnV0IHRyaXZpYWwgdG8gZml4IGFuZCBwb3NzaWJseSBjYXVzaW5nIGNvbXBpbGVyIHdhcm5pbmdzIGF0CgkgIHNvbWUgcG9pbnQgaW4gdGhlIGZ1dHVyZSB0b28uCgkgIENJRCAxMzQ2NTM1CgoyMDE1LTA3LTI3IDE1OjUzOjI2ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJkZXZpY2Vwcm92aWRlci5jOgoJICB2NGwyZGV2aWNlcHJvdmlkZXI6IGFkZCBwcm9wZXJ0aWVzIHRvIHRoZSBkZXZpY2UKCSAgQWRkIHByb3BlcnRpZXMgdG8gdGhlIGRldmljZSB3aXRoIGV4YWN0bHkgdGhlIHNhbWUga2V5cyBhbmQgc2VtYXRpY3MKCSAgYXMgd2hhdCBwdWxzZWF1ZGlvIHVzZXMgYXMgcHJvcGVydHkga2V5cy4KCSAgQWxzbyBoYW5kbGUgdGhlIGNhc2Ugd2hlbiBhIGRldmljZSBpcyBwcm9iZWQgbWFudWFsbHkgYW5kIG5vdCB0aHJvdWdoIGd1ZGV2LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8vc2hvd19idWcuY2dpP2lkPTc1OTc4MAoKMjAxNS0xMi0yNSAxMTo0MToxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogRnJlZSB0aGUgdmFyaW91cyBidWZmZXJzIGluIEdzdEJhc2VUcmFuc2Zvcm06OnN0b3AoKQoJICBQcmV2aW91c2x5IHdlIGxlYWtlZCB0aGVtIGNvbXBsZXRlbHksIGJ1dCBhcyB0aGV5J3JlIHNwZWNpZmljIHRvIHRoZSBjYXBzCgkgIGZyZWVpbmcgdGhlbSBpbiBzdG9wKCkgaW5zdGVhZCBvZiBmaW5hbGl6ZSgpIG1ha2VzIG1vc3Qgc2Vuc2UuCgoyMDE1LTEyLTI0IDE1OjI4OjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjcuMSA9PT0KCjIwMTUtMTItMjQgMTQ6MTY6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjcuMQoKMjAxNS0xMi0yNCAxMzoxOToyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNS0xMi0yNCAxMjoyMjozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2NzLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2h1LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL3BsLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNS0xMi0yMSAwOTo1NzozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBkcm9wIGZsdXNoZXMgZnJvbSBvdXIgb3duIG9mZnNldCBzZWVrCgkgIFByZXZlbnRzIGRvd25zdHJlYW0gZnJvbSByZWNlaXZpbmcgZmx1c2hlcyBmb3IgYSBzZWVrIG9ubHkgaW4KCSAgdXBzdHJlYW0uIFRob3NlIHNlZWtzIGFyZSBvbmx5IHRvIHN0YXJ0IHJlYWRpbmcgZnJvbSB0aGUgcmlnaHQKCSAgb2Zmc2V0IHdoZW4gc2tpcHBpbmcgb3IgcmV0dXJuaW5nIHRvIHF0IGF0b21zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4OTI4CgoyMDE1LTExLTExIDE2OjUzOjE5ICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogQWx3YXlzIHNldCB0aGUgY2hhbm5lbCBtYXNrIGZvciBQQ00gc3RyZWFtcwoJICBKdXN0IHVzZSB0aGUgZ3N0X2F1ZGlvX2NoYW5uZWxfZ2V0X2ZhbGxiYWNrX21hc2sgZnVuY3Rpb24gZm9yIG5vdyBhcwoJICB0aGUgc3BlY2lmaWNhdGlvbiBpcyB0b28gY29tcGxpY2F0ZWQgYW5kIG5vYm9keSBpbXBsZW1lbnRzIGl0LgoKMjAxNS0xMi0yMSAxMTozNzoyNiArMDEwMCAgVGhvbWFzIFJvb3MgPHRob21hcy5yb29zQGluZHVzdHJvbmljLmRlPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IEZpeCBzbGVlcCBmb3IgYnVmZmVyLXRpbWUgbG93ZXIgdGhhbiAyMDAwMDAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODY4MAoKMjAxNS0xMi0yMSAxMjozMToxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBVc2UgLUJzeW1ib2xpYy1mdW5jdGlvbnMgaWYgYXZhaWxhYmxlCgkgIFdoaWxlIHRoaXMgaXMgbW9yZSB1c2VmdWwgZm9yIGxpYnJhcmllcywgc29tZSBvZiBvdXIgcGx1Z2lucyB3aXRoIG11bHRpcGxlCgkgIGZpbGVzIGFuZCBzb21lIGludGVybmFsIEFQSSBjYW4gYWxzbyBiZW5lZml0IGZyb20gdGhpcy4KCjIwMTUtMTItMTggMTU6MzQ6NTIgKzAwMDAgIFdpbGxpYW0gTWFubGV5IDx3aWxsQHdpbGxpYW1tYW5sZXkubmV0PgoKCSogZ3N0L2RlYnVndXRpbHMvcHJvZ3Jlc3NyZXBvcnQuYzoKCSogZ3N0L2RlYnVndXRpbHMvcHJvZ3Jlc3NyZXBvcnQuaDoKCSAgcHJvZ3Jlc3NyZXBvcnQ6IGFkZCBzdXBwb3J0IGZvciB1c2luZyBmb3JtYXQ9YnVmZmVycyB3aXRoIGRvLXF1ZXJ5PWZhbHNlCgkgIFRoaXMgaXMgdXNlZnVsIGZvciBpbnZlc3RpZ2F0aW5nIGFuZCBkZWJ1Z2dpbmcgcGlwZWxpbmVzIHdoaWNoIGFyZQoJICBwcm9kdWNpbmcgYnVmZmVycyBhdCBhIHNsb3dlci9mYXN0ZXIgcmF0ZSB0aGFuIHlvdSB3b3VsZCBleHBlY3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk2MzUKCjIwMTUtMTItMTggMTU6NDk6NDMgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogVXBkYXRlIGZvcm1hdHMgdGFibGUKCSAgVGhpcyBjaGFuZ2UgYWRkIGFsbCB0aGUgbmV3IFJHQiBiYXNlZCBmb3JtYXQuIFRob3NlIGZvcm1hdCByZW1vdmVzIHRoZQoJICBhbWJpZ3VpdHkgd2l0aCB0aGUgQUxQSEEgY2hhbm5lbC4gU29tZSBvdGhlciBtaXNzaW5nIG11bHRpcGxhbmFyIGZvcm1hdAoJICBoYXMgYmVlbiBhZGRlZCB3aXRoIHNvbWUgYWRkaXRpb25hbCBjbGVhbnVwLgoKMjAxNS0xMi0xOCAwNToxNzoxNSArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBEb24ndCB3cml0ZSBpbnZhbGlkIGVkaXQgbGlzdCBzdGFydCB0aW1lLgoJICBBdm9pZCB3cml0aW5nIGEgbmVnYXRpdmUgbnVtYmVyIGFzIGEgbGFyZ2UgcG9zaXRpdmUKCSAgaW50ZWdlciBpbiBhbiBlZGl0IGxpc3Qgd2hlbiB0aGUgZmlyc3RfdHMgaXMgc21hbGxlcgoJICB0aGFuIHRoZSBmaXJzdF9kdHMgLSB3aGljaCBjYW4gaGFwcGVuIHdoZW4gdGhlIGZpcnN0CgkgIHBhY2tldCByZWNlaXZlZCBoYXMgYSBQVFMgYnV0IG5vIERUUy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTYxNQoKMjAxNS0xMi0wNCAyMzoxNjo0NSArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IE9ubHkgdXBkYXRlIHJ1bm5pbmcgdGltZSB3aGVuIGl0IGluY3JlYXNlcy4KCSAgRG9uJ3QgaW5jcmVtZW50IHJ1bm5pbmcgdGltZSBmcm9tIGV2ZXJ5IGJ1ZmZlci4gVGhlIGNvcnJlY3QKCSAgbG9naWMgdG8gb25seSBpbmNyZW1lbnQgd2hlbiBydW5uaW5nIHRpbWUgYWR2YW5jZXMgaXMgYQoJICBsaXR0bGUgZnVydGhlciBkb3duLCBzbyBkZWxldGUgdGhpcyBsZWZ0LW92ZXIgbGluZS4KCjIwMTUtMTEtMTggMTE6MDE6MjAgKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2EtbXV4OiBJbXBsZW1lbnQgcHJvcmVzIHN1cHBvcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODI1OAoKMjAxNS0xMS0xOCAxNjoyMDozOCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBtYXRyb3NrYS1kZW11eDogUGxheSBQcm9SZXMgdmlkZW8gc3RyZWFtcwoJICBHZW5lcmF0ZSB2aWRlby94LXByb3JlcyBjYXBzIGZvciBQcm9SZXMgdmlkZW8gc3RyZWFtcy4KCSAgRXZlcnkgZnJhbWUgbmVlZHMgYW4gOCBieXRlIGhlYWRlciBwcmVwZW5kZWQsIGFzIGRlc2NyaWJlZCBpbgoJICBodHRwOi8vd2lraS5tdWx0aW1lZGlhLmN4L2luZGV4LnBocD90aXRsZT1BcHBsZV9Qcm9SZXMjRnJhbWVfbGF5b3V0CgkgIHNvIGRvIHRoYXQgaW4gYSBwb3N0LXByb2Nlc3NpbmcgY2FsbGJhY2suCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgyNTgKCjIwMTUtMTItMTggMTA6MTg6MDkgKzA1MzAgIFJhdmkgS2lyYW4gSyBOIDxyYXZpLmtpcmFuQHNhbXN1bmcuY29tPgoKCSogZXh0L2R2L2dzdGR2ZGVjLmg6CgkgIGR2ZGVjOiBSZW1vdmUgdW51c2VkIGZpZWxkcwoJICBSZW1vdmUgdW51c2VkIGZpZWxkcyBmcmFtZV9sZW4gYW5kIHNwYWNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk2MTQKCjIwMTUtMTItMTcgMTY6MDM6MDQgKzAxMDAgIFZpbmNlbnQgRGVob3JzIDx2aW5jZW50LmRlaG9yc0BvcGVud2lkZS5mcj4KCgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuYzoKCSAgcnRwajJrZGVwYXk6IFB1c2ggb25lIEpQRUcyMDAwIGZyYW1lIHBlciBidWZmZXIsIG5vdCBhIGJ1ZmZlciBsaXN0IHdpdGggbXVsdGlwbGUgYnVmZmVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4OTQzCgoyMDE1LTEyLTE2IDExOjQzOjU4ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzoKCSAgZHYxMzk0OiBsb2cgZXJyb3IgaWYgZmFpbGVkIHRvIHNldCBzb2NrZXQgc3RhdHVzIGZsYWcKCSAgTG9nIGFuIGVycm9yIG1lc3NhZ2UgaWYgZmFpbGVkIHRvIHNldCB3cml0ZSBvciByZWFkIHNvY2tldCBhcwoJICBub24tYmxvY2tpbmcuCgkgIENJRCAxMTM5NjA4CgkgIENJRCAxMTM5NjA5CgoyMDE1LTEyLTE1IDE3OjEwOjAwICswMDAwICBEYXZlIENyYWlnIDxkYXZlY3JhaWdAdW5iYWxhbmNlZGF1ZGlvLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHNiY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogQ2hlY2sgZm9yIE5VTEwgcmV0dXJuIHZhbHVlIG9mIGdzdF9wYWRfZ2V0X2N1cnJlbnRfY2FwcygpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk1MDMKCjIwMTUtMTItMTYgMDk6MzU6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgIGRvY3M6IHVwZGF0ZSB0byBnaXQKCjIwMTUtMTItMTUgMTQ6Mjc6MjIgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC92cHgvTWFrZWZpbGUuYW06CgkgIHZweDogQWRkIG1pc3NpbmcgaGVhZGVycyBpbiBNYWtlZmlsZS5hbQoJICBUaGlzIGZpeGVzIGRpc3RjaGVjay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTUxMAoKMjAxNS0wOS0yNCAxMjo1NzowMCArMDUzMCAgUHJhc2hhbnQgR290YXJuZSA8cHMuZ290YXJuZUBzYW1zdW5nLmNvbT4KCgkqIGV4dC92cHgvTWFrZWZpbGUuYW06CgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmg6CgkqIGV4dC92cHgvZ3N0dnA5ZW5jLmM6CgkqIGV4dC92cHgvZ3N0dnA5ZW5jLmg6CgkqIGV4dC92cHgvZ3N0dnB4ZW5jLmM6CgkqIGV4dC92cHgvZ3N0dnB4ZW5jLmg6CgkgIHZweDogY3JlYXRlZCBjb21tb24gYmFzZWNsYXNzIEdzdFZQWEVuYwoJICBHc3RWUDhFbmMgYW5kIEdzdFZQOUVuYyBoYXMgYWxtb3N0IDgwJSBjb2RlIGluIGNvbW1vbi4KCSAgY3JlYXRlZCBjb21tb24gYmFzZWNsYXNzIEdzdFZQWEVuYyBmb3IgR3N0VlA4RW5jIGFuZCBHc3RWUDlFbmMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTUxMAoKMjAxNS0xMi0xNSAxMjo1Nzo1MyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3ZweC9nc3R2cDlkZWMuYzoKCSogZXh0L3ZweC9nc3R2cHhkZWMuYzoKCSogZXh0L3ZweC9nc3R2cHhkZWMuaDoKCSAgdnB4ZGVjOiBSZW1vdmUgdW5uZWVkZWQgYWRkIHZpZGVvX21ldGEKCSAgVGhpcyBhbHNvIHJlbW92ZSBjb3BpZXMgZm9yIFZQOCwgd2hpY2ggd2FzIG5vdCBjb3JyZWN0bHkgaW4gcGxhY2UKCSAgaW4gcHJldmlvdXMgcmVsYXRlZCBwYXRjaC4KCjIwMTUtMTItMTUgMDk6NDk6MjQgKzA1MzAgIFByYXNoYW50IEdvdGFybmUgPHBzLmdvdGFybmVAc2Ftc3VuZy5jb20+CgoJKiBleHQvdnB4L01ha2VmaWxlLmFtOgoJKiBleHQvdnB4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnB4L2dzdHZwOGRlYy5oOgoJKiBleHQvdnB4L2dzdHZwOWRlYy5jOgoJKiBleHQvdnB4L2dzdHZwOWRlYy5oOgoJKiBleHQvdnB4L2dzdHZweGRlYy5jOgoJKiBleHQvdnB4L2dzdHZweGRlYy5oOgoJICB2cHg6IGNyZWF0ZWQgY29tbW9uIGJhc2UgY2xhc3MgR3N0VlBYZGVjIGZvciB2cHggZGVjb2RlcnMKCSAgQmFzZSBjbGFzcyBmb3IgdGhlIHZwOGRlYyBhbmQgdnA5ZGVjLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NTEwCgoyMDE1LTA2LTEwIDA5OjE3OjA4IC0wNDAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIHNvdXBodHRwc3JjOiBBZGQgR1Rsc0ludGVyYWN0aW9uIHByb3BlcnR5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA3MDkKCjIwMTUtMTItMTQgMDk6MDU6MDYgLTA1MDAgIEV2YW4gQ2FsbGF3YXkgPGV2YW4uY2FsbGF3YXlAaXBjb25maWd1cmUuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBSZXRyeSBjb25uZWN0aW9uIGlmIHR1bm5lbGluZyBuZWVkcyBhdXRoZW50aWNhdGlvbgoJICBMZXZlcmFnZSByZXNwb25zZSBmcm9tIGdzdF9ydHNwX2Nvbm5lY3Rpb25fY29ubmVjdF93aXRoX3Jlc3BvbnNlIHRvCgkgIGRldGVybWluZSBpZiB0aGUgY29ubmVjdGlvbiBzaG91bGQgYmUgcmV0cmllZCB1c2luZyBhdXRoZW50aWNhdGlvbi4gIElmCgkgIHNvLCBhZGQgdGhlIGFwcHJvcHJpYXRlIGF1dGhlbnRpY2F0aW9uIGhlYWRlcnMgYmFzZWQgdXBvbiB0aGUgcmVzcG9uc2UKCSAgYW5kIHJldHJ5IHRoZSBjb25uZWN0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5NTk2CgoyMDE1LTEyLTE0IDE0OjE5OjA1ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBjaGVjayBwb3J0LXJhbmdlIGZvcm1hdAoJICBUaGUgc3RyaW5nIGNvdWxkIGV4aXN0IGJ1dCB3aXRoIGEgd3JvbmcgZm9ybWF0LCBpbiB0aGF0IGNhc2Ugd2Ugc3RpbGwgd2FudAoJICB0byByZXNldCB0aGUgdmFsdWVzIG9mIGNsaWVudF9wb3J0X3JhbmdlLm1pbiBhbmQgbWF4IGxpa2Ugd2UgZG8gaWYgdGhlcmUgaXMKCSAgbm8gc3RyaW5nLgoJICBDSUQgMTEzOTU5MwoKMjAxNS0xMi0xNCAxNDo1NToxMiArMDEwMCAgVGhvbWFzIFJvb3MgPHRob21hcy5yb29zQGluZHVzdHJvbmljLmRlPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IENoZWNrIGRldmljZSBwcm9wZXJ0eSBhbmQgZmFpbCBpZiBkZXZpY2UgY2FuJ3QgYmUgZm91bmQKCSAgRG9uJ3QgdXNlIGRlZmF1bHQgaWYgYSBzcGVjaWZpYyBkZXZpY2UgaXMgc2V0IGJ1dCBpdCBjYW4ndCBiZSBmb3VuZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTQ1MgoKMjAxNS0xMi0xNCAxNDoxNTowMCArMDEwMCAgVGhvbWFzIFJvb3MgPHRob21hcy5yb29zQGluZHVzdHJvbmljLmRlPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IEZpeCBoYW5kbGluZyBvZiB0aGUgbXV0ZSBwcm9wZXJ0eQoJICAtIHNldCBtdXRlIHZhbHVlIGF0IHN0YXJ0dXAKCSAgLSBjb3JyZWN0IHNldCBhbmQgZ2V0IG11dGUgZnVuY3Rpb25zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUxMDYKCjIwMTUtMTItMTEgMTE6MjM6MTMgKzAxMDAgIFRob21hcyBSb29zIDx0aG9tYXMucm9vc0BpbmR1c3Ryb25pYy5kZT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiBDaGVjayB0aGUgcmV0dXJuIHZhbHVlIG9mIEdldFN0YXR1cygpIHRvbyB0byBkZWNpZGUgaWYgdGhlcmUgd2FzIGFuIGVycm9yCgkgIElmIEdldFN0YXR1cygpIGZhaWxzLCB0aGUgc3RhdHVzIGl0c2VsZiB3b24ndCBiZSB2ZXJ5IG1lYW5pbmdmdWwgYnV0IHdlIGFsc28KCSAgaGF2ZSB0byBsb29rIGF0IGl0cyByZXR1cm4gdmFsdWUuIFRoaXMgZml4ZXMgYmxvY2tpbmcgcGlwZWxpbmVzIHdoZW4gcmVtb3ZpbmcKCSAgc291bmQgZGV2aWNlcyBvciBkdXJpbmcgb3RoZXIgZXJyb3JzLCB3aGVyZSB3ZSB3b3VsZG4ndCBub3RpY2UgdGhlIGVycm9yIGFuZAoJICB0aGVuIHdhaXQgZm9yZXZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDA5OAoKMjAxNS0xMi0xMCAxNzo0MTo0NiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9hdG9tcy5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIGlzb21wNDogcmVtb3ZlIHVudXNlZCBwYXJhbWV0ZXJzIGluIGJ1aWxkXypfZXh0ZW5zaW9uCgkgIEF0b21UUkFLIHBhcmFtZXRlciBpcyBub3QgdXNlZCBieSBidWlsZF9tb3ZfYWxhY19leHRlbnNpb24oKSwKCSAgYnVpbGRfanAyaF9leHRlbnNpb24oKSwgb3IgYnVpbGRfbW92X2FsYWNfZXh0ZW5zaW9uKCkgIGFuZCBjYW4gYmUKCSAgcmVtb3ZlZC4KCjIwMTUtMTItMTAgMTU6MTE6MDcgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIGlzb21wNDogcmVwbGFjZSB2YXJpYWJsZSBvbmx5IHVzZWQgb25jZQoJICBSZXBsYWNlIGhhc19zaGlmdCB2YXJpYWJsZSB3aXRoIHZhbHVlIHNpbmNlIGl0IGlzIG9ubHkgdXNlIG9uY2UuCgoyMDE1LTEyLTA5IDEyOjI0OjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogRml4IHBhY2tldCBkcm9wcGluZyBhZnRlciBhIGJpZyBkaXNjb250CgkgIFdlIHdvdWxkIHF1ZXVlIDUgY29uc2VjdGl2ZSBwYWNrZXRzIGJlZm9yZSBjb25zaWRlcmluZyBhIHJlc2V0IGFuZCBhIHByb3BlcgoJICBkaXNjb250IGhlcmUuIEluc3RlYWQgb2YgZXhwZWN0aW5nIHRoZSBuZXh0IG91dHB1dCBwYWNrZXQgdG8gaGF2ZSB0aGUgY3VycmVudAoJICBzZXFudW0gKGkuZS4gdGhlIGZpZnRoKSwgZXhwZWN0IGl0IHRvIGhhdmUgdGhlIGZpcnN0IHNlcW51bS4gT3RoZXJ3aXNlIHdlJ3JlCgkgIGdvaW5nIHRvIGRyb3AgYWxsIHF1ZXVlZCB1cCBwYWNrZXRzLgoKMjAxNS0xMi0wOSAxMTo0OTowMiArMDUzMCAgUmF2aSBLaXJhbiBLIE4gPHJhdmkua2lyYW5Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmg6CgkgIGludGVybGVhdmU6IFJlbW92ZSB1bnNlZCBmaWVsZAoJICBSZW1vdmUgdW51c2VkIGZpZWxkIGNvbGxlY3RfZXZlbnQgaW4gaW50ZXJsZWF2ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTIyNgoKMjAxNS0xMi0wNyAxNjozMzoxNCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBTdG9wIHB1c2hpbmcgZGF0YSBhcyBzb29uIGFzIHBvc3NpYmxlIGluIHB1c2gtbW9kZQoJICBXaGVuIHdvcmtpbmcgaW4gcHVzaC1tb2RlLCB3ZSBhdHRlbXB0IHRvIHB1c2ggb3V0IGV2ZXJ5dGhpbmcgY3VycmVudGx5CgkgIGJ1ZmZlcmVkIGluIHRoZSBhZGFwdGVyLgoJICBUaGlzIGhhcyB0d28gcGl0ZmFsbHM6CgkgICogV2UgY291bGQgc3RvcCBlYXJsaWVyICh0aGUgbW9tZW50IHdlIGdldCBhIG5vbi1vayBvciBub24tbm90LWxpbmtlZCkKCSAgKiBXZSByZXR1cm4gdGhlIGxhc3QgY29tYmluZWQgZmxvdyByZXR1cm4sIHdoaWNoIG1pZ2h0IGJlIGNvbXBsZXRlbHkKCSAgZGlmZmVyZW50IGZyb20gdGhlIHByZXZpb3VzIGNvbWJpbmVkIGZsb3cgcmV0dXJuCgoyMDE1LTEyLTA3IDA5OjA4OjA5IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYjMxOTkwOSB0byA4NmU0NjYzCgoyMDE1LTEyLTA3IDE0OjQxOjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBBZGQgYSB3YXJuaW5nIGlmIGFuIGVtcHR5IFJUQ1AgcGFja2V0IGlzIHRyaWVkIHRvIGJlIHNlbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTExOQoKMjAxNS0xMS0zMCAxOToyMDoxMyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvdnB4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnB4L2dzdHZwOGRlYy5oOgoJKiBleHQvdnB4L2dzdHZwOWRlYy5jOgoJKiBleHQvdnB4L2dzdHZwOWRlYy5oOgoJICB2cHhkZWM6IFVzZSBHc3RNZW1vcnkgdG8gYXZvaWQgY29waWVzCgkgIFdpdGggdGhlIFZQWCBkZWNvZGVycyBpdCdzIG5vdCBzaW1wbGUgdG8gdXNlIGRvd25zdHJlYW0gYnVmZmVyIHBvb2wsCgkgIGJlY2F1c2Ugd2UgZG9uJ3Qga25vdyB0aGUgaW1hZ2Ugc2l6ZSBhbmQgYWxpZ25tZW50IHdoZW4gYnVmZmVycyBnZXQKCSAgYWxsb2NhdGVkLiBXZSBjYW4gdGhvdWdoIHVzZSBHc3RBbGxvY2F0b3IgKGZvciBkb3duc3RyZWFtLCBvciB0aGUgc3lzdGVtCgkgIGFsbG9jYXRvcikgdG8gYXZvaWQgYSBjb3B5IGJlZm9yZSBwdXNoaW5nIGlmIGRvd25zdHJlYW0gc3VwcG9ydHMKCSAgR3N0VmlkZW9NZXRhLiBUaGlzIHdvdWxkIHN0aWxsIGNhdXNlIGEgY29weSBmb3Igc2luayB0aGF0IHJlcXVpcmVzCgkgIHNwZWNpYWxpemVkIG1lbW9yeSBhbmQgZG9lcyBub3QgaGF2ZSBhIEdzdEFsbG9jYXRvciBmb3IgdGhhdCwgdGhvdWdoCgkgIGl0IHdpbGwgZ3JlYXRseSBpbXByb3ZlIHBlcmZvcm1hbmNlIGZvciBzaW5rIGxpa2UgZ2xpbWFnZXNpbmsgYW5kCgkgIGNsdXR0ZXJzaW5rLiBUbyBhdm9pZCBhbGxvY2F0aW5nIGZvciBldmVyeSBidWZmZXIsIHdlIGFsc28gdXNlIGEKCSAgaW50ZXJuYWwgYnVmZmVyIHBvb2wuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUzNzIKCjIwMTUtMTEtMzAgMDg6NDI6MzUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBBdm9pZCBvdmVyLXNraXBwaW5nIHdoZW4gY2hlY2tpbmcgTE9BUyBjb25maWcKCSAgVGhlcmUgbWlnaHQgYmUgbXVsdGlwbGUgTE9BUyBjb25maWcgaW4gYSByb3cgaW4gYSBmdWxsIGZyYW1lLiBUaGUgZmlyc3QKCSAgb25lIG1pZ2h0IGJlIGEgbXVsdGktbGF5ZXIgY29uZmlnICh3aGljaCB3ZSBjYW4ndCBwcm9wZXJseSBwYXJzZSB5ZXQpLi4uCgkgIGJ1dCB0aGVuIGZvbGxvd2VkIGJ5IGEgdmFsaWQgKHNpbmdsZS1sYXllcikgb25lLgoJICBUaGUgY29kZSB3YXMgcHJldmlvdXNseSBza2lwcGluZyB3aG9sZSBmcmFtZXMgKGluc3RlYWQgb2YganVzdCB0aGUgTE9BUwoJICBjb25maWcgd2UgZmFpbGVkIHRvIHJlYWQpIHJlc3VsdGluZyBpbiBtdWx0aXBsZSBmcmFtZXMgKHNlZW4gdXAgdG8gNnMgaW4KCSAgc29tZSBzaXR1YXRpb24pIGJlaW5nIGRyb3BwZWQgYmVmb3JlIGZpbmFsbHkgZ2V0dGluZyB0aGUgY29uZmlndXJhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODgyNgoKMjAxNS0xMS0yNSAxNzowODo1NiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IFByb3Blcmx5IHNldCBTUEFSU0Ugc3RyZWFtIGZsYWdzIGZvciBzdWJwaWN0dXJlL3N1YnRpdGxlCgkgIEFuZCB3aGlsZSB3ZSdyZSBhdCBpdCwgYWxzbyBkZXRlY3QgJ0RYU0EnIGFzIGJlaW5nIGEgdmFyaWFudCBmb3VyY2MKCSAgb2YgJ0RYU0InIGZvciBYU1VCCgoyMDE1LTExLTMwIDIxOjIzOjUyIC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICB0ZXN0czogc291cGh0dHBzcmM6IGdyYW1tYXIgZml4CgoyMDE1LTExLTMwIDIxOjAxOjE3IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICB0ZXN0czogc291cGh0dHBzcmM6IHN3aXRjaCBzaG91dGNhc3Qgc3RyZWFtIHByb3ZpZGVyCgkgIEZpeGVzIGZhaWxpbmcgSUNZIHRlc3QuIFByZXZpb3VzIHByb3ZpZGVyIGhhcwoJICBzdHJlYW1pbmcgZGlzYWJsZWQgb3V0c2lkZSBVSy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODExNAoKMjAxNS0xMS0xOCAxNjoxMDoxMSArMDEwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IGRvbid0IGNyYXNoIGlmIHdlIG5ldmVyIGdvdCBhdWRpbyBjYXBzIGJlZm9yZSBzdG9wcGluZwoJICBhdWRzLmJsb2NrYWxpZ24gaXMgc2V0IG9uY2UgdGhlIGZpcnN0IGNhcHMgYXJyaXZlLiBJZgoJICBnc3RfYXZpX211eF9zdG9wX2ZpbGUoKSBpcyBjYWxsZWQgYmVmb3JlIHRoaXMgaGFwcGVucyB0aGVuIGF1ZHMuYmxvY2thbGlnbgoJICBpcyB6ZXJvIGFuZCBnc3RfYXZpX211eF9hdWRzaW5rX3NldF9maWVsZHMoKSBjYXVzZSBhIGNyYXNoOgoJICBbLi4uXQoJICBhdmlwYWQtPnBhcmVudC5oZHIucmF0ZSA9IGF2aXBhZC0+YXVkcy5hdl9icHMgLyBhdmlwYWQtPmF1ZHMuYmxvY2thbGlnbjsKCSAgWy4uLl0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODkxMgoKMjAxNS0xMi0wMSAxODoyMDoyMyArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogZG9uJ3QgYmxvY2sgd2hlbiByZXN1cmVjdGluZyBhIGJ1ZmZlcgoJICBXaGVuIHdlIGFyZSByZXN1cmVjdGluZyBhIGJ1ZmZlciwgZG9uJ3QgYmxvY2suIGluc3RlYWQgbGV0IHVzIGNvcHkgYQoJICBidWZmZXIuCgoyMDE1LTEyLTAxIDAwOjMwOjA4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IHJlbW92ZSBleHRyYSB2YXJpYWJsZSB0byBpbXByb3ZlIHJlYWRhYmlsaXR5CgkgIE1ha2VzIGl0IGVhc2llciB0byBzZWUgdGhhdCB0aGUgZXZlbnQgaXMgYmVpbmcgcmVwbGFjZWQvdW5yZWZlZAoKMjAxNS0xMi0wMSAwMDoyMjozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiByZXNwZWN0IHNlcW51bSBpbiBzZWVrIGV2ZW50cwoJICBQcm9wYWdhdGUgdGhlIG9yaWdpbmFsIHNlZWsgc2VxbnVtIHRvIGV2ZW50cyBvcmlnaW5hdGVkIGZyb20KCSAgc2Vla2luZyB0byBtYWtlIHN1cmUgdGhleSBoYXZlIHRoZSBzYW1lIHZhbHVlCgoyMDE1LTEyLTAxIDAwOjAzOjIxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGZsdXNoIHVwc3RyZWFtIHdoZW4gc2Vla2luZyBpbiBwdWxsIG1vZGUKCSAgTWFrZXMgc3VyZSB1cHN0cmVhbSB3aWxsIHVuYmxvY2sgYW5kIHJldHVybiB0aGUgdGhyZWFkIHNvIHRoYXQKCSAgc2Vla2luZyBjYW4gY29udGludWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODg2MQoKMjAxNS0xMS0yNyAwOToyNzoyOSArMDEwMCAgQW50b24gQm9uZGFyZW5rbyA8YW50b25ib0BheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBhZGQgInNlbmQgU1BTL1BQUyB3aXRoIGV2ZXJ5IGtleSBmcmFtZSIgbW9kZQoJICBJdCdzIG5vdCBlbm91Z2ggdG8gaGF2ZSB0aW1lb3V0IG9yIGV2ZW50IGJhc2VkIFNQUy9QUFMgaW5mb3JtYXRpb24gc2VudAoJICBpbiBSVFAgcGFja2V0cy4gVGhlcmUgYXJlIHNvbWUgc2NlbmFyaW9zIHdoZW4ga2V5IGZyYW1lcyBtYXkgYXBwZWFyCgkgIG1vcmUgZnJlcXVlbnRseSB0aGFuIG9uY2UgYSBzZWNvbmQsIGluIHdoaWNoIGNhc2UgdGhlIG1pbmltdW0gdGltZW91dAoJICBmb3IgImNvbmZpZy1pbnRlcnZhbCIgb2YgMSBzZWNvbmQgZm9yIHNlbmRpbmcgU1BTL1BQUyBpcyBub3Qgc3VmZmljaWVudC4KCSAgSXQgbWlnaHQgYWxzbyBiZSBkZXNpcmFibGUgaW4gZ2VuZXJhbCB0byBtYWtlIHN1cmUgdGhlIFNQUy9QUFMgaXMKCSAgYXZhaWxhYmxlIHdpdGggZXZlcnkga2V5ZnJhbWUgKHBhY2tldCBsb3NzIGFzaWRlKSwgc28gcmVjZWl2ZXJzIGNhbgoJICBhY3R1YWxseSBwaWNrIHVwIGRlY29kaW5nIGltbWVkaWF0ZWx5IGZyb20gdGhlIGZpcnN0IGtleWZyYW1lIGlmCgkgIFNQUy9QUFMgaXMgbm90IHNpZ25hbGVkIG91dCBvZiBiYW5kLgoJICBUaGlzIHBhdGNoIGFkZHMgdGhlIHBvc3NpYmlsaXR5IHRvIHNlbmQgU1BTL1BQUyB3aXRoIGV2ZXJ5IGtleSBmcmFtZS4gVGhpcwoJICBtb2RlIGNhbiBiZSBlbmFibGVkIGJ5IHNldHRpbmcgImNvbmZpZy1pbnRlcnZhbCIgcHJvcGVydHkgdG8gLTEuIEluIHRoaXMKCSAgY2FzZSB0aGUgcGF5bG9hZGVyIHdpbGwgYWRkIFNQUyBhbmQgUFBTIGJlZm9yZSBldmVyeSBrZXkgKElEUikgZnJhbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc4OTIKCjIwMTUtMTEtMjcgMDk6MDM6NTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHJ0cGgyNjRwYXk6IGNoYW5nZSBjb25maWctaW50ZXJ2YWwgcHJvcGVydHkgdHlwZSBmcm9tIHVpbnQgdG8gaW50CgkgIFRoaXMgd2F5IHdlIGNhbiB1c2UgLTEgYXMgc3BlY2lhbCB2YWx1ZSwgd2hpY2ggaXMgbmljZXIgdGhhbiBNQVhVSU5ULgoJICBUaGlzIGlzIGJhY2t3YXJkcyBjb21wYXRpYmxlIGV2ZW4gd2l0aCB0aGUgR1ZhbHVlIEFQSSwgYXMgc2hvd24gYnkKCSAgYSB1bml0IHRlc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc4OTIKCjIwMTUtMTEtMjYgMjE6NDY6MTEgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWRkIHN1cHBvcnQgZm9yIE9wdXMKCSAgQWRkIHN1cHBvcnQgZm9yIGRlbXV4aW5nIE9wdXMgZW5jYXBzdWxhdGVkIGluIE1QNCBmaWxlcywgYmFzZWQgb24gdGhlCgkgIGZvbGxvd2luZyBzcGVjOiBodHRwczovL3d3dy5vcHVzLWNvZGVjLm9yZy9kb2NzL29wdXNfaW5faXNvYm1mZi5odG1sCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2NDMKCjIwMTUtMTEtMjUgMjI6NDg6MzIgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogdXNlIG1hY3JvIGZvciBjb2RlY19uYW1lCgkgIFVzZSBfY29kZWMoKSBtYWNybyBpbnN0ZWFkIG9mIGR1cGxpY2F0aW5nIGNvZGUuCgoyMDE1LTAzLTI1IDE2OjMyOjU1ICswMTAwICBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDI6IHZpZGVvZGVjOiBjaG9vc2UgZm9ybWF0IGZyb20gY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzODI3CgoyMDE1LTAzLTI3IDE1OjAyOjMzICswMTAwICBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDI6IGFkZCBnc3RfdjRsMl9vYmplY3RfcHJvYmVfY2FwcwoJICBBZGQgYSB2YXJpYW50IG9mIGdzdF92NGwyX29iamVjdF9nZXRfY2FwcyB0aGF0IGJ5cGFzc2VzIHRoZSBwcm9iZWRfY2FwcyBjYWNoZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzgyNwoKMjAxNS0xMS0xOSAxNzoyMDo1NSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJICB2NGwyLXByb2JlOiBTa2lwIGRldmljZXMgd2l0aG91dCBzdXBwb3J0ZWQgZm9ybWF0cwoKMjAxNS0xMS0xMyAxMjozNTo1OSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkgIHY0bDI6IFRyYWNrIC9kZXYvdmlkZW8qIHRvIHRyaWdnZXJlZCByZXF1aXJlZCBwcm9iZQoJICBJZiBzb21ldGhpbmcgaW4gL2Rldi92aWRlbyogZ2V0IGFkZGVkLCByZW1vdmVkIG9yIHJlcGxhY2VkLCB3ZSBuZWVkIHRvCgkgIHByb2JlIHRoZSBkZXZpY2VzIGFnYWluIGluIG9yZGVyIHRvIGVuc3VyZSB0aGUgZHluYW1pYyBkZXZpY2VzIGFyZSB1cCB0bwoJICBkYXRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4MDg1CgoyMDE1LTExLTI1IDE0OjUxOjQwICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwbWFuYWdlcjogcnRwc2Vzc2lvbjogZG9uJ3Qgc2VuZCBlbXB0eSBSVENQIHBhY2tldHMKCSAgZ2VuZXJhdGVfcnRjcCBjYW4gcHJvZHVjZSBlbXB0eSBwYWNrZXRzIHdoZW4gcmVkdWNlZCBzaXplIFJUQ1AgaXMgdHVybmVkIG9uLgoJICBTa2lwIHRoZW0gc2luY2UgaXQgZG9lc24ndCBtYWtlIHNlbnNlIHRvIHB1c2ggdGhlbSBhbmQgdGhleSBjYXVzZSBlcnJvcnMgd2l0aAoJICBlbGVtZW50cyB0aGF0IGV4cGVjdCBSVENQIHBhY2tldHMgdG8gY29udGFpbiBkYXRhIChsaWtlIHNydHBlbmMpLgoKMjAxNS0xMS0yNCAxMDo1NzoyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlc3RvcmUgdGhlIHNlZ21lbnQgb24gY2FzZSBvZiBzb2Z0IHJlc2V0CgkgIFdoZW4gc2Vla2luZyBiYWNrIHRvIHJlc3RvcmUgdGhlIG1kYXQgcG9zaXRpb24gYSBmbHVzaCBpcyBwdXNoZWQKCSAgdGhyb3VnaCBhbmQgaXQgcmVzZXRzIGRvd25zdHJlYW0gc2VnbWVudCBpbmZvcm1hdGlvbi4gTWFrZSBzdXJlCgkgIHRoYXQgYWZ0ZXIgdGhlIGZsdXNoICh0aGF0IGRvZXMgYSBzb2Z0IHJlc2V0KSBhIHNlZ21lbnQgd2lsbAoJICBiZSBwdXNoZWQgYWdhaW4KCSAgRml4ZXMgcmVncmVzc2lvbnMgc3BvdHRlZCBhdAoJICBodHRwczovL2NpLmdzdHJlYW1lci5uZXQvam9iL0dTdHJlYW1lci1tYXN0ZXItdmFsaWRhdGUvMjEwMC8KCjIwMTUtMTEtMjAgMTI6NDQ6MjIgKzAwMDAgIEdyYWhhbSBMZWdnZXR0IDxtaW5mcmluQHNoYXJwLmZtPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIG11bHRpZmlsZXNpbms6IGZpeCBzcGVsbGluZyBvZiB2YXJpYWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4MzkwCgoyMDE1LTExLTIwIDExOjA1OjUxICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHVuaXRlIGR1cGxpY2F0ZSBGb3VyQ0MKCSAgVW5pdGUgaW4gZm91cmNjLmggdGhlIEZvdXJDQ3MgdGhhdCBhcmUgdXNlZCB0d2ljZSBvciBtb3JlIGluIHF0ZGVtdXgKCjIwMTUtMTEtMTkgMTU6MzM6NDUgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDI6IEZpeCBjYXB0dXJlL291dHB1dC1pby1tb2RlIHByb3BlcnRpZXMKCSAgVGhlcmUgd2FzIHNvbWUgbWlzcy1tYXRjaCBpbiB0aGUgaW1wbGVtZW50YXRpb24uIFRoaXMgbWFrZXMgaXQKCSAgY29uY2lzdGVudCwgdGhvdWdoIGZ1bmN0aW9uYWxseSBpdCB3b3JrZWQsIGV4Y2VwdCB0aGUgdmlkZW8gZGVjb2RlcgoJICBvdXRwdXQtaW8tbW9kZSBnZXR0ZXIuCgoyMDE1LTExLTE5IDE5OjQ4OjA2ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJICBhdG9tczogcmVtb3ZlIHVudXNlZCBhcmd1bWVudCBvZiBidWlsZF9tb3Zfd2F2ZV9leHRlbnNpb24oKQoJICBBdG9tVHJhayAqIHRyYWsgYXJndW1lbnQgb2YgYnVpbGRfbW92ZV93YXZlX2V4dGVuc2lvbigpIGlzbid0IHVzZWQuCgkgIFJlbW92aW5nIGl0LgoKMjAxNS0xMS0xOSAxOToyODoyMCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiByZW1vdmUgZHVwbGljYXRlIEZvdXJDQwoJICBVc2UgdGhlIGF2YWlsYWJsZSBGb3VyQ0NzIGluIGZvdXJjYy5oIGluc3RlYWQgb2YgZHVwbGljYXRpbmcgdGhlbS4KCjIwMTUtMTEtMTkgMTg6MzY6MzkgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgaXNvbXA0OiBjZW50cmFsaXplIGFsbCBGb3VyQ0MKCSAgMTAgRm91ckNDcyBnZW5lcmF0ZWQgd2l0aCBHU1RfTUFLRV9GT1VSQ0MoKSBpbiBnc3RxdG11eC5jIGFuZCBhdG9tcy5jCgkgIGFscmVhZHkgZXhpc3QgaW4gZm91cmNjLmguIERvbid0IGR1cGxpY2F0ZSB0aGVzZSBhbmQgdXNlIHRoZW0gZGlyZWN0bHkuCgkgIFBsdXMgbW92aW5nIDYgdG8gZm91cmNjLmgsIHRvIGNlbnRyYWxpemUgdGhlbSBhbGwuCgoyMDE1LTExLTE5IDE3OjMyOjEyICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L21hdHJvc2thL3dlYm0tbXV4LmM6CgkgIG1hdHJvc2thL3dlYm1tdXg6IGZpeCBvdXRkYXRlZCBleGFtcGxlIGxhdW5jaCBsaW5lcwoJICBVcGRhdGUgZ3N0LWxhdW5jaC0wLjEwIGxpbmVzIHRvIGdzdC1sYXVuY2gtMS4wCgoyMDE1LTExLTE2IDEzOjI2OjUwICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmg6CgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5jOgoJICBpc29tcDQ6IGFkZCBzdXBwb3J0IGZvciBPcHVzIGluIG1wNG1wdXgKCSAgQWRkIHN1cHBvcnQgZm9yIG11eGluZyBNUDQgZmlsZXMgY29udGFpbmluZyBPcHVzLiBCYXNlZCBvbiB0aGUgc3BlYwoJICBkZXRhaWxlZCBoZXJlOgoJICBodHRwczovL3d3dy5vcHVzLWNvZGVjLm9yZy9kb2NzL29wdXNfaW5faXNvYm1mZi5odG1sCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2NDMKCjIwMTUtMTEtMTggMTk6MTA6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogUmVwbGFjZSB0YWJzIHdpdGggc3BhY2VzCgoyMDE1LTExLTE4IDE5OjA3OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IENhc3QgdG8gc2lnbmVkIGludGVnZXJzIHRvIHByZXZlbnQgdW5zaWduZWQgY29tcGFyZSBiZXR3ZWVuIG5lZ2F0aXZlIGFuZCBwb3NpdGl2ZSBudW1iZXJzCgkgIFRoaXMgZml4ZXMgc2Vla2luZyBpZiB0aGUgZmlyc3QgZW50cmllcyBpbiB0aGUgc2FtcGxlcyB0YWJsZSBhcmUgbmVnYXRpdmUuIFRoZQoJICBiaW5hcnkgc2VhcmNoIHdvdWxkIGFsd2F5cyBmYWlsIG9uIHRoaXMgYXMgdGhlIGFycmF5IHdvdWxkIG5vdCBiZSBzb3J0ZWQgaWYKCSAgaW50ZXJwcmV0aW5nIHRoZSBuZWdhdGl2ZSBudW1iZXJzIGFzIGh1Z2UgcG9zaXRpdmUgbnVtYmVycy4gVGhpcyBjYXVzZWQgdXMgdG8KCSAgYWx3YXlzIG91dHB1dCBidWZmZXJzIGZyb20gdGhlIGJlZ2lubmluZyBhZnRlciBhIHNlZWsgaW5zdGVhZCBvZiBjbG9zZSB0byB0aGUKCSAgc2VlayBwb3NpdGlvbi4KCSAgQWxzbyBhZGQgYSBjYXNlIHRvIHRoZSBjb21wYXJpc29uIGZ1bmN0aW9uIGZvciBlcXVhbGl0eS4KCjIwMTUtMTEtMTggMTY6MDE6NDggKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiByZW1vdmUgZHVwbGljYXRlIGNoZWNrCgkgIFdlIHdhbnQgMSBvciAyIHN0cmVhbWhlYWRlcnMsIHRoZSBjaGVjayAgaWYgKGJ1ZmFyci0+bGVuICE9IDEgJiYKCSAgYnVmYXJyLT5sZW4gIT0gMikgaXMgZW5vdWdoLiBOb3QgbmVlZCB0byBjaGVjayBpZiBidWZhcnItPmxlbiBpcyA8PSAwIG9yCgkgID4gMjU1LgoKMjAxNS0xMS0xOCAxNDo0ODozNiArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJICBzb3VwaHR0cGNsaWVudHNpbms6IEZpeCBlcnJvciBsZWFrIGFuZCBoYW5kbGUgZXJyb3IKCSAgZ190aHJlYWRfdHJ5X25ldyBhbGxvd3MgZm9yIHBvc3NpYmxpdHkgb2YgZmFpbHVyZXMuIEluIGNhc2UgaXQgZmFpbHMsCgkgIGVycm9yIGlzIG5vdCBoYW5kbGVkIGFuZCBsZWFrZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgyNjAKCjIwMTUtMTEtMTUgMTc6MTY6MjkgLTA4MDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSAgcnRwZ3N0ZGVwYXk6IFByb3Blcmx5IGhhbmRsZSBiYWNrd2FyZCBjb21wYXQgZm9yIGV2ZW50IGRlc2VyaWFsaXphdGlvbgoJICBBY3R1YWwgY29kZSBpcyBjaGVja2luZyBmb3IgYSBOVUxMIHRlcm1pbmF0b3IgYW5kIGEgJzsnIHRlcm1pbmF0b3IsCgkgIGZvciBiYWNrd2FyZCBjb21wYXQsIGluIGEgY2hhaW5lZCB3YXkgdGhhdCBjYXVzZSBhbGwgZXZlbnRzIGJlaW5nIHJlamVjdGVkLgoJICBUaGUgcHJvcGVyIGNvbmRpdGlvbiBpcyB0byByZWplY3QgdGhlIGV2ZW50cyB3aGVuIHRlcm1pbmF0b3IgaXNuJ3QKCSAgaW4gWydcMCcsICc7J10gc2V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4MTUxCgoyMDE1LTExLTE1IDE3OjExOjAyIC0wODAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICB0ZXN0czogcnRwLXBheWxvYWRpbmc6IFRlc3QgZm9yIGhhbmRsaW5nIG9mIGN1c3RvbSBldmVudHMgaW4gcnRwZ3N0CgkgIEFkZCBhIHNpbXBsZSB0ZXN0IHRoYXQgY2hlY2tzIHByb3BlciBzZXJpYWxpemF0aW9uL2Rlc2VyaWFsaXphdGlvbgoJICBvZiBjdXN0b20gZXZlbnRzIHdpdGggcnRwZ3N0cGF5IGFuZCBydHBnc3RkZXBheS4KCjIwMTUtMTEtMTYgMTY6MjM6NDMgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cHgvZ3N0dnA5ZGVjLmM6CgkgIHZweGRlYzogVXNlIHRocmVhZHMgb24gbXVsdGktY29yZSBzeXN0ZW1zCgkgIFRoaXMgYWRkcyBhbiBhdXRvbWF0aWMgbW9kZSB0byB0aGUgdGhyZWFkcyBwcm9wZXJ0eSBvZiB2cHhkZWMgaW4gb3JkZXIgdG8KCSAgdXNlIGFzIG1hbnkgdGhyZWFkcyBhcyB0aGVyZSBpcyBDUFUgb24gdGhlIHBsYXRmb3JtLiBUaGlzIGJyaW5ncyBiYWNrCgkgIEdTdHJlYW1lciBWUFggZGVjb2RpbmcgcGVyZm9ybWFuY2UgY2xvc2VyIHRvIHdoYXQgaXMgYWNoaWV2ZWQgYnkgb3RoZXIKCSAgcGxheWVycywgaW5jbHVkaW5nIENocm9taXVtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4MTk1CgoyMDE1LTExLTE2IDEwOjU4OjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogb25seSBzZW5kIGluaXRpYWwgZ2FwcyBmb3Igbm9uLWZyYWdtZW50ZWQgc3RyZWFtcwoJICBJdCB3b3VsZCBiZSB1bnVzdWFsIHRvIGhhdmUgdGhlIGhlYWRlciBzZWdtZW50IHdpdGggYW4gJ2VkdHMnIGF0b20KCSAgaW5kaWNhdGluZyBnYXBzIGF0IHRoZSBiZWdpbm5pbmcgd2hlbiBoYW5kbGluZyBmcmFnbWVudGVkIHN0cmVhbXMuCgkgIFRoZSBoZWFkZXIgdXN1YWxseSBkb2Vzbid0IGNvbnRhaW4gYW55IHRpbWVzdGFtcGluZyBpbmZvcm1hdGlvbiwgdGhpcwoJICBzaG91bGQgY29tZSBmcm9tIHRoZSBwbGF5bGlzdC9tYW5pZmVzdCBhbmQgdGhlIHNlZ21lbnRzIHdpdGggbWVkaWEKCSAgaW4gdGhvc2Ugc2NlbmFyaW9zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4MTcxCgoyMDE1LTExLTE3IDA5OjQxOjM0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgUmV2ZXJ0ICJSZXZlcnQgInF0ZGVtdXg6IHJlc3BlY3QgcXQgc2VnbWVudHMgaW4gcHVzaC1tb2RlIGZvciBlbXB0eSBzdGFydHMiIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGQ4NDJmZjI4OGE5ZDAxMjE0YTA0NmJlY2JmZDljYmZmM2E0YWNlYTAuCgkgIFRoaXMgd2FzIHJldmVydGVkIGJ5IGFjY2lkZW50CgoyMDE1LTExLTE3IDEyOjM5OjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuaDoKCSAgdWRwc3JjOiBBZGQgImxvb3AiIHByb3BlcnR5IGZvciBlbmFibGluZy9kaXNhYmxpbmcgbXVsdGljYXN0IGxvb3BiYWNrCgkgIE9uIFBPU0lYLCBJUF9NVUxUSUNBU1RfTE9PUCBpcyBhIHNldHRpbmcgZm9yIHRoZSBzZW5kZXIgc29ja2V0LiBPbiBXaW5kb3dzIGl0CgkgIGlzIGEgc2V0dGluZyBmb3IgdGhlIHJlY2VpdmVyIHNvY2tldC4gQXMgc3VjaCB3ZSB3aWxsIG5lZWQgaXQgb24gdWRwc3JjIHRvbyB0bwoJICBhbGxvdyBmaWx0ZXJpbmcgb3V0IG91ciBvd24gbXVsdGljYXN0IHBhY2tldHMuCgoyMDE1LTExLTE2IDEzOjUyOjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIFJldmVydCAicXRkZW11eDogcmVzcGVjdCBxdCBzZWdtZW50cyBpbiBwdXNoLW1vZGUgZm9yIGVtcHR5IHN0YXJ0cyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAxNDJkOGUyZDIzZTU2MDJlNzM4Mjk3N2FmMTA0M2Q2MjE2MjVmOGM4LgoKMjAxNS0xMS0xNiAxNjo1NjowNCArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggc3RyaW5nIG1lbW9yeSBsZWFrCgkgIFRoZSBzdHJpbmcgZ290IHVzaW5nIGdfc3RyZHVwX3ByaW50ZiB3aWxsIGJlIGFsbG9jYXRlZCBtZW1vcnkKCSAgYW5kIHNob3VsZCBiZSBmcmVlZCBhZnRlciB1c2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgxNjEKCjIwMTUtMTEtMTQgMjE6NTE6MTEgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMi9vYmplY3Q6IHJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrIGJlZm9yZSBnX2ZyZWUoKQoKMjAxNS0xMS0xNCAyMTo0NToyOSAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSAgb3Nzc3JjOiByZW1vdmUgdW5uZWNlc3NhcnkgTlVMTCBjaGVjayBiZWZvcmUgZ19mcmVlKCkKCjIwMTUtMTEtMTQgMjE6NDM6MjQgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOgoJICBzdW5hdWRpb3NyYzogcmVtb3ZlIHVubmVjZXNzYXJ5IE5VTEwgY2hlY2tzIGJlZm9yZSBnX2ZyZWUoKQoKMjAxNS0xMS0xNCAyMTozNjozMCAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiByZW1vdmUgdW5uZWNlc3NhcnkgTlVMTCBjaGVja3MgYmVmb3JlIGdfZnJlZSgpCgoyMDE1LTExLTE0IDIxOjMxOjA4IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiByZW1vdmUgdW5uZWNlc3NhcnkgTlVMTCBjaGVja3MgYmVmb3JlIGdfZnJlZSgpCgoyMDE1LTExLTE0IDIxOjI2OjIxIC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2EvcmVhZC1jb21tb246IHJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrcyBiZWZvcmUgZ19mcmVlKCkKCjIwMTUtMTEtMTQgMjA6NDM6MTAgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSAgaXNvbXA0L2F0b21zOiByZW1vdmUgdW5uZWNlc3NhcnkgTlVMTCBjaGVja3MgYmVmb3JlIGdfZnJlZSgpCgoyMDE1LTExLTE0IDIwOjM1OjU0IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICBydHAvdGhlb3JhcGF5OiByZW1vdmUgdW5uZWNlc3NhcnkgTlVMTCBjaGVja3MgYmVmb3JlIGdfZnJlZSgpCgoyMDE1LTExLTE0IDIwOjMzOjU0IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICBydHAvdm9yYmlzcGF5OiByZW1vdmUgdW5uZWNlc3NhcnkgTlVMTCBjaGVja3MgYmVmb3JlIGdfZnJlZSgpCgoyMDE1LTExLTE0IDIwOjMxOjM0IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwL2pwZWdwYXk6IHJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrcyBiZWZvcmUgZ19mcmVlKCkKCjIwMTUtMTEtMTQgMjA6Mjc6MDQgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkgIHJ0cGdzdHBheTogcmVtb3ZlIHVubmVjZXNzYXJ5IE5VTEwgY2hlY2tzIGJlZm9yZSBnX2ZyZWUoKQoKMjAxNS0xMS0xNCAyMDoyMjowOSAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiByZW1vdmUgdW5uZWNlc3NhcnkgTlVMTCBjaGVja3MgYmVmb3JlIGdfZnJlZSgpCgoyMDE1LTExLTE0IDIwOjE0OjI1IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJICBmbHhkZWM6IHJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrIGJlZm9yZSBnX2ZyZWUoKQoKMjAxNS0xMS0xNCAyMDowOTo1NCAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2VmZmVjdHYvZ3N0b3AuYzoKCSAgZWZmZWN0di9vcHR2OiByZW1vdmUgdW5uZWNlc3NhcnkgTlVMTCBjaGVja3MgYmVmb3JlIGdfZnJlZSgpCgoyMDE1LTExLTE0IDIwOjA1OjAzIC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkgIGVmZmVjdHYvc2hhZ2FkZWxpY3R2OiByZW1vdmUgdW5uZWNlc3NhcnkgTlVMTCBjaGVja3MgYmVmb3JlIGdfZnJlZSgpCgoyMDE1LTExLTE0IDIwOjAxOjQzIC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvZWZmZWN0di9nc3RyaXBwbGUuYzoKCSAgZWZmZWN0di9yaXBwbGU6IHJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrcyBiZWZvcmUgZ19mcmVlKCkKCjIwMTUtMTEtMTQgMTk6NTY6NTcgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuYzoKCSAgZWZmZWN0di9yYWRpb2FjOiByZW1vdmUgdW5uZWNlc3NhcnkgTlVMTCBjaGVja3MgYmVmb3JlIGdfZnJlZSgpCgoyMDE1LTExLTE0IDE5OjUyOjEyIC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvZWZmZWN0di9nc3RzdHJlYWsuYzoKCSAgZWZmZWN0di9zdHJlYWs6IHJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrIGJlZm9yZSBnX2ZyZWUoKQoKMjAxNS0xMS0xNCAxNzowNDo1NSAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSAgc2hvdXQyOiByZW1vdmUgdW5uZWNlc3NhcnkgTlVMTCBjaGVja3MgYmVmb3JlIGdfZnJlZSgpCgoyMDE1LTExLTE0IDE2OjU3OjEzIC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvdnB4L2dzdHZwOWVuYy5jOgoJICB2cDllbmM6IHJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrIGJlZm9yZSBnX2ZyZWUoKQoKMjAxNS0xMS0xNCAxNjo1NDo0MiAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiByZW1vdmUgdW5uZWNlc3NhcnkgTlVMTCBjaGVjayBiZWZvcmUgZ19mcmVlKCkKCjIwMTUtMTEtMTQgMTY6MjA6MzMgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiByZW1vdmUgdW5uZWNlc3NhcnkgTlVMTCBjaGVja3MgYmVmb3JlIGdfZnJlZSgpCgoyMDE1LTExLTEzIDEzOjM0OjAyICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBhZGQgc3VwcG9ydCBvZiBOVjE2LCBOVjYxIGFuZCBOVjI0IGZvcm1hdHMKCSAgTWFwcGVkIHJlc3BlY3RpdmVseSB0byBWNEwyX1BJWF9GTVRfTlYxNi9WNEwyX1BJWF9GTVRfTlYxNk0sCgkgIFY0TDJfUElYX0ZNVF9OVjYxLFY0TDJfUElYX0ZNVF9OVjYxTSBhbmQgVjRMMl9QSVhfRk1UX05WMjQgdjRsMiBmb3JtYXRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4MDU4CgoyMDE1LTExLTExIDE0OjEwOjUzICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHBhcnRyZWFkZXIuYzoKCSAgc3BsaXRtdXhwYXJ0cmVhZGVyOiBGaXggR0NvbmQgbGVhawoJICBpbmFjdGl2ZV9jb25kIGlzIG5vdCBiZWluZyBjbGVhcmVkIHJlc3VsdGluZyBpbiBtZW1vcnkgbGVhay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzkyNAoKMjAxNS0wOC0wNiAxMjo0NDoyMCArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZml4IG91dHB1dCBzdGF0ZSBtZW1vcnkgbGVhawoJICBXaGVuIGpwZWdfZmluaXNoX2RlY29tcHJlc3MgaXMgY2FsbGVkLCBvdXRwdXQgc3RhdGUgcmVmZXJlbmNlIGlzIGJlaW5nIGNyZWF0ZWQuCgkgIEJ1dCBpZiB0aGVyZSBpcyBhbnkgZmFpbHVyZXMgaW4gZmluaXNoaW5nIGRlY29tcHJlc3MsIGl0IGp1bXBzIHRvIHNldGptcCwKCSAgYW5kIGF0IHRoYXQgcG9pbnQgc3RhdGUgd2FzIG5vdCByZWZlcmVuY2VkLiBSZXN1bHRpbmcgaW4gbGVhayBvZiBvdXRwdXQgc3RhdGUuCgkgIEhlbmNlIGFkZGluZyBhbm90aGVyIHNldGptcCBhZnRlciBvdXRwdXQgc3RhdGUgaXMgcmVmZXJlbmNlZC4KCSAgU2ltaWxhcmx5IGFkZGluZyBhbm90aGVyIHNldGptcCB0byB1bm1hcCB0aGUgZnJhbWUgaW4gY2FzZSBlcnJvciBoYXBwZW5zIGJlZm9yZQoJICBmaW5pc2hfZGVjb21wcmVzcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMDg3CgoyMDE1LTA4LTEwIDExOjIzOjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmVzcGVjdCBxdCBzZWdtZW50cyBpbiBwdXNoLW1vZGUgZm9yIGVtcHR5IHN0YXJ0cwoJICBJbiBwdXNoLW1vZGUgaXQgaXMgaGFyZCB0byBzdXBwb3J0IHF0IHNlZ21lbnRzIG92ZXJhbGwgYnV0IGl0IGlzCgkgIHBvc3NpYmxlIHRvIHN1cHBvcnQgd2hlbiB0aGUgZmlsZSBpc24ndCBoZWF2aWx5IGVkaXRlZCBidXQganVzdCBjb250YWluCgkgIGEgc2VnbWVudCB0byBpbmRpY2F0ZSBhIGdhcCBhdCB0aGUgYmVnaW5uaW5nLiBUaGlzIGFsc28gYWxsb3dzIHByb3Blcmx5CgkgIHRpbWVzdGFtcGluZyBkYXRhIHRoYXQgaGFzIG5lZ2F0aXZlIERUUyBpbiBwdXNoLW1vZGUuCgkgIEl0IGlzIHJlbGV2YW50IHRvIHN1cHBvcnQgdGhvc2UgZm9yIDIgc2NlbmFyaW9zOgoJICAxKSBmcmFnbWVudGVkIHN0cmVhbWluZwoJICAyKSBIVFRQIHBsYXliYWNrIG9mICdyZWd1bGFyJyBtcDQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzQ4NAoKMjAxNS0xMS0wNSAxODozOTozMyArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlZGV2aWNlcHJvdmlkZXIuYzoKCSAgcHVsc2U6IERvbid0IGxlYWsgY2FwcyBhbmQgc3RydWN0dXJlcyBpbiB0aGUgZGV2aWNlIHByb3ZpZGVyCgoyMDE1LTExLTA0IDE5OjAxOjIwICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwbWFuYWdlcjogRG9jdW1lbnQgcHJvcGVydGllcyB0aGF0IGFyZSBleHByZXNzZWQgaW4gYml0cyBwZXIgc2Vjb25kCgkgIFRoaXMgY2hhbmdlZCBpbiA5MjhjZDExMGJjZWE1ZDE0M2NhYjNlYTc0Nzk5MTg1MWQ1MmVjYmFkIGFuZAoJICA3M2MwYzI5MjBmOWFjYTk2OTgyYTRkZTBjMjBiMzQxN2FhMTQ4YjgxIGJ1dCB3YXMgbm90IGRvY3VtZW50ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc4NjMKCjIwMTUtMTEtMDQgMTg6NTE6MzIgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cG1hbmFnZXI6IFRyaXZpYWwgZ3N0LWluZGVudCBmaXhlcwoKMjAxNS0wOC0xMiAxMzozNTo0MCArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogc3VwcG9ydCBmb3IgY2VuYyBhdXhpbGlhcnkgaW5mbyBwYXJzaW5nIG91dHNpZGUgb2YgbW9vZiBib3gKCSAgV2hlbiB0aGUgY2VuYyBhdXggaW5mbyBpbmRleCBpcyBvdXQgb2YgbW9vZiBib3VuZGFyaWVzLCBrZWVwIHRyYWNrIG9mCgkgIGl0IGFuZCBwYXJzZSB0aGUgYmVnaW5uaW5nIG9mIHRoZSBtZGF0IGJveCwgYmVmb3JlIHRoZSBmaXJzdCBzYW1wbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU2MTQKCjIwMTUtMTEtMDMgMjA6MzM6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogVXNlIGNvZGVjdXRpbHMgaGVscGVycyBmb3IgY3JlYXRpbmcgT3B1cyBjYXBzCgkgIEFsc28gZml4IHVwIGNvZGVjIGRhdGEgd2l0aCB2YWx1ZXMgZnJvbSB0aGUgY29udGFpbmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3MTUyCgoyMDE1LTExLTAzIDE0OjUxOjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFRoZXJlIGlzIG5vIG11bHRpc3RyZWFtIGZpZWxkIGZvciBPcHVzIGFueW1vcmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzE1MgoKMjAxNS0xMS0wMyAxMjo0Mjo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL3dlYm0tbXV4LmM6CgkgIG1hdHJvc2thL3dlYm1tdXg6IFN1cHBvcnQgT3B1cyBpbiB3ZWJtbXV4IGFuZCBWUDkgaW4gbWF0cm9za2FtdXgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTk1MAoKMjAxNS0xMS0wMyAxMjo0MDoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBQYXJzZSBhbmQgaGFuZGxlIENvZGVjRGVsYXksIFNlZWtQcmVyb2xsIGFuZCBEaXNjYXJkUGFkZGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3MzA1CgoyMDE1LTExLTAzIDEyOjE4OjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBXcml0ZSBDb2RlY0RlbGF5LCBEaXNjYXJkUGFkZGluZyBhbmQgU2Vla1ByZXJvbGwgZm9yIE9wdXMKCSAgQW5kIGFsc28gYWRqdXN0IHRpbWVzdGFtcHMgYW5kIGR1cmF0aW9ucyBhY2NvcmRpbmcgdG8gdGhlIGNvZGVjIGRlbGF5LCBib3RoCgkgIHNob3VsZCBpbmNsdWRlIGl0IGZvciB3aGF0ZXZlciByZWFzb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjczMDUKCjIwMTUtMTEtMDMgMTE6NDk6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBPcHVzIGhlYWRlcnMgYXJlIG5vdCBpbi1iYW5kCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjczMDUKCjIwMTUtMTEtMDMgMjI6MDE6MDcgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGdpdEBhcnVucmFnaGF2YW4ubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJICB2NGwyOiBTZXQgT19DTE9FWEVDIG9uIHRoZSBkZXZpY2UgZmQKCSAgVGhpcyBpcyBuZWVkZWQgdG8gbWFrZSBzdXJlIHRoYXQgY2hpbGQgcHJvY2Vzc2VzIGRvbid0IGluaGVyaXQgdGhlIHZpZGVvCgkgIGRldmljZSBmZCB3aGljaCBjYW4gY2F1c2UgcHJvYmxlbXMgd2l0aCBzb21lIGRyaXZlcnMuCgoyMDE1LTExLTAzIDE0OjQ2OjMwICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cG1hbmFnZXI6IHN3aXRjaCBHX0dJTlQ2NF9GT1JNQVQgZm9yIEdTVF9TVElNRV9BUkdTCgkgIE5vIG5lZWQgdG8gdXNlIEdfR0lOVDY0X0ZPUk1BVCBmb3IgcG90ZW50aWFsbHkgbmVnYXRpdmUgdmFsdWVzIG9mCgkgIEdzdENsb2NrVGltZURpZmYuIFNpbmNlIDEuNiB0aGVzZSBjYW4gYmUgaGFuZGxlZCB3aXRoIEdTVF9TVElNRV9BUkdTLgoJICBQbHVzIGl0IGNyZWF0ZXMgbW9yZSByZWFkYWJsZSB2YWx1ZXMgaW4gdGhlIGxvZ3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc0ODAKCjIwMTUtMTEtMDMgMTQ6MjY6MjkgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwbWFuYWdlcjogdXNlIEdTVF9TVElNRV9BUkdTIGZvciBHc3RDbG9ja1RpbWVEaWZmCgkgIE5vIG5lZWQgdG8gbWFudWFsbHkgaGFuZGxlIG5lZ2F0aXZlIHZhbHVlcyBvZiBkaWZmLCBHU1RfU1RJTUVfQVJHUyBkb2VzCgkgIGV4YWN0bHkgdGhpcy4KCjIwMTUtMTEtMDIgMTY6NTM6MTUgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiB1c2UgR1NUX1NUSU1FX0FSR1MgZm9yIEdzdENsb2NrVGltZURpZmYKCSAgTm8gbmVlZCB0byBtYW51YWxseSBoYW5kbGUgbmVnYXRpdmUgdmFsdWVzIG9mIGRpZmYsIEdTVF9TVElNRV9BUkdTIGRvZXMKCSAgZXhhY3RseSB0aGlzLgoKMjAxNS0xMS0wMiAxNjo0Mzo0NiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogdXNlIEdTVF9TVElNRV9BUkdTIGZvciBHc3RDbG9ja1RpbWVEaWZmCgkgIE5vIG5lZWQgdG8gbWFudWFsbHkgaGFuZGxlIG5lZ2F0aXZlIHZhbHVlcyBvZiBkaWZmLCBHU1RfU1RJTUVfQVJHUyBpcwoJICBhdmFpbGFibGUgZm9yIHRoaXMuCgoyMDE1LTEwLTMwIDEwOjA1OjM3ICswNTMwICBSYXZpIEtpcmFuIEsgTiA8cmF2aS5raXJhbkBzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuYzoKCSAgYXVkaW9jaGViYmFuZDogRml4IHR5cG8gaW4gZXhhbXBsZSBwaXBlbGluZQoJICBGaXggdHlwbyBpbiBleGFtcGxlIHBpcGVsaW5lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3MzQwCgoyMDE1LTEwLTI4IDIzOjQ3OjMwICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyZGV2aWNlcHJvdmlkZXIuYzoKCSAgdjRsMjogZml4IGRvdWJsZS11bnJlZiBpbiB0aGUgdjRsMiBkZXZpY2UgcHJvdmlkZXIKCjIwMTUtMTAtMjcgMTA6NDg6MDAgKzAxMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5jOgoJICBtYXRyb3NrYW11eDogZG9uJ3QgZHJvcCBKUEVHIGZyYW1lcyB0aGF0IG9ubHkgaGF2ZSBQVFMgYnV0IG5vIERUUyBzZXQKCSAgRm9yIHRoZSBNUy9WZlcgY29kZWMgaWRzLCB3ZSB3YW50IHRvIHdyaXRlIERUUyB0aW1lc3RhbXBzIGluc3RlYWQKCSAgb2YgUFRTIGJlY2F1c2UgdGhhdCdzIHdoYXQgZXZlcnlvbmUgZWxzZSBzZWVtcyB0byBkbyAoYW5kIGl0J3MgYWxzbwoJICBob3cgaXQgaXMgaW4gQVZJKS4gU28gZm9yIHRob3NlIGlucHV0IGZvcm1hdHMgd2UgdXNlIHRoZSBidWZmZXIgRFRTCgkgIGluc3RlYWQgb2YgdGhlIFBUUy4gSG93ZXZlciwgaWYgdGhlcmUncyBubyBEVFMgc2V0IGJ1dCBvbmx5IHRoZSBQVFMKCSAgdGhlbiBqdXN0IHRha2UgdGhlIFBUUyBpbnN0ZWFkIG9mIGRyb3BwaW5nIHRoZSBpbnB1dCBidWZmZXIuIFRoaXMKCSAgaXMgdXNlZnVsIGVzcGVjaWFsbHkgZm9yIEktZnJhbWUgb25seSBjb2RlY3MgbGlrZSBKUEVHIGFuZCBodWZmeXV2LAoJICBidXQgc2hvdWxkIGFsc28gYmUgZmluZSBhcyBmYWxsYmFjayBpbiBnZW5lcmFsLgoJICBGaXhlcyByZWdyZXNzaW9uIHdpdGggaW5wdXQgSlBFRyBmcmFtZXMgdGhhdCBvbmx5IGhhdmUgUFRTIHNldCBvbiB0aGVtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2OTY3CgoyMDE1LTEwLTI0IDIzOjU3OjM4ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BsaXRtdXguYzoKCSAgdGVzdHMvY2hlY2svc3BsaXRtdXg6IHRlc3QgdGhhdCB0aGUgcmVsZWFzZV9wYWQgdmZ1bmMgb2Ygc3BsaXRtdXhzaW5rIGFjdHVhbGx5IHJlbGVhc2VzIHBhZHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzYyMgoKMjAxNS0xMC0yNCAyMzo1NzoyOSArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4c2luazogZG8gbm90IGRlc3Ryb3kgdGhlIG11bHRpcXVldWUgJiBtdXhlciB3aGVuIGdvaW5nIHRvIE5VTEwKCSAgSW5zdGVhZCwgZGVsYXkgaXQgdW50aWwgYWxsIHJlcXVlc3QgcGFkcyBoYXZlIGJlZW4gcmVsZWFzZWQuIFRoaXMgaXMKCSAgYmVjYXVzZSB0aGUgcmVsZWFzZV9wYWQoKSB2ZnVuYyByZXF1aXJlcyB0aGUgbXVsdGlxdWV1ZSBhbmQgbXV4ZXIgdG8KCSAgYmUgdGhlcmUgaW4gb3JkZXIgdG8gcmVsZWFzZSB0aGVpciByZXF1ZXN0IHBhZHMgYXMgd2VsbC4gSWYgdGhvc2UKCSAgZWxlbWVudHMgYXJlIGRlc3Ryb3llZCBlYXJsaWVyLCByZWxlYXNlX3BhZCgpIGRvZXMgbm90IHdvcmssIG5vCgkgIHBhZHMgYXJlIHJlbGVhc2VkIGFuZCBzb21lIHJlc291cmNlcyBhcmUgbGVha2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNjIyCgoyMDE1LTEwLTIwIDE1OjI4OjEwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFJlYWQgYnVmZmVyIHRpbWVzdGFtcCAqYWZ0ZXIqIGFjdHVhbGx5IHNldHRpbmcgaXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjgwOQoKMjAxNS0xMC0yNCAxNzoxNDowNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uYzoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5oOgoJICBzY2FsZXRlbXBvOiBGaXggaGFuZGxpbmcgb2YgcmF0ZSA8IDAKCSAgV2UgaGF2ZSB0byByZXZlcnNlIGFsbCBzYW1wbGVzIGluIGEgYnVmZmVyIGJlZm9yZSBwcm9jZXNzaW5nIHRoZW0gdG8gcHJvcGVybHkKCSAgaGF2ZSBjb250aW51b3VzIGRhdGEgZnJvbSBvbmUgYnVmZmVyIHRvIGFub3RoZXIuIEFzIGEgcmVzdWx0IHdlIHdpbGwgaGF2ZSBhCgkgIG5lZ2F0aXZlIGFwcGxpZWQgcmF0ZSBhbmQgYSByYXRlIG9mIDEuMC4KCSAgQWxzbyBtYWtlIHN1cmUgdGhhdCBpbnB1dCBidWZmZXJzIGFyZSBjb3JyZWN0bHkgY2xpcHBlZCB0byB0aGUgc2VnbWVudCwKCSAgb3RoZXJ3aXNlIG91ciBjYWxjdWxhdGlvbnMgYXJlIGdvaW5nIHRvIGdvIHdyb25nLgoJICBBbHNvIGNvcHkgb3ZlciB0aGUgc2VnbWVudCBldmVudCdzIHNlcXVlbmNlIG51bWJlciB0byB0aGUgb3V0cHV0IHNlZ21lbnQgd2hpbGUKCSAgd2UncmUgYXQgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTcwMzMKCjIwMTUtMTAtMTkgMTg6MDQ6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogYnJlYWsgYXMgc29vbiBhcyBub24taW50ZXJsYWNlZCBpZiBmb3VuZAoJICBJdCBsb29rcyBmb3IgYSBub24taW50ZXJsYWNlZCBlbnRyeSBvbiB0aGUgZmlsdGVyIGNhcHMsIGJyZWFrCgkgIGFzIHNvb24gYXMgb25lIGlzIGZvdW5kIHRvIGF2b2lkIHdhc3RpbmcgY3B1CgoyMDE1LTEwLTE5IDE3OjUwOjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IGltcGxlbWVudCBhY2NlcHQtY2FwcwoJICBJbXBsZW1lbnQgYWNjZXB0LWNhcHMgaGFuZGxlciB0byBhdm9pZCBkb2luZyBhIGZ1bGwgY2FwcyBxdWVyeQoJICBkb3duc3RyZWFtIHRvIGhhbmRsZSBpdC4KCSAgVGhpcyBjb21taXQgaW1wbGVtZW50cyBhY2NlcHQtY2FwcyBhcyBhIHNpbXBsaWZpY2F0aW9uIG9mIHRoZSBfZ2V0Y2FwcwoJICBmdW5jdGlvbiwgc28gaXQgZXhwb3NlcyB0aGUgc2FtZSBsaW1pdGF0aW9ucyB0aGF0IGdldGNhcHMgd291bGQuCgkgIEZvciBleGFtcGxlLCBub3QgYWNjZXB0aW5nIHJlbmVnb3RpYXRpb24gdG8gY2FwcyB3aXRoIGNhcHNmZWF0dXJlcyB3aGVuCgkgIGl0IHdhcyBsYXN0IGNvbmZpZ3VyZWQgdG8gYSBjYXBzIHRoYXQgaXQgaGFzIHRvIGRlaW50ZXJsYWNlLgoKMjAxNS0xMC0xOSAxNzowNjoyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxhY2UuYzoKCSAgdGVzdHM6IGRlaW50ZXJsYWNlOiBmaXggc21hbGwgdHlwbyBpbiBjb21tZW50CgoyMDE1LTEwLTI2IDAwOjQxOjI4ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2ZpbGVzL01ha2VmaWxlLmFtOgoJICBjaGVjazogRGlzdCBzcGxpdHZpZGVvMFswMTJdLm9nZyB0ZXN0IGZpbGVzLgoKMjAxNS0xMC0yMyAyMDoxNjoxNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uYzoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5oOgoJICBzY2FsZXRlbXBvOiBBZGQgc3VwcG9ydCBmb3IgRjY0CgoyMDE1LTEwLTIyIDE3OjQwOjM4IC0wNzAwICBNaXNjaGEgU3BpZWdlbG1vY2sgPG1zcGllZ2VsbW9ja0BnbWFpbC5jb20+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvcnRwL1JFQURNRToKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cmVjZWl2ZS5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICBkb2NzOiBNaW5vciBmaXhlcyBpbiB2YXJpb3VzIHBsYWNlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2OTk2CgoyMDE1LTEwLTIxIDE3OjQzOjMxICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2dvb20vcGx1Z2luX2luZm8uYzoKCSAgZ29vbTogcmVtb3ZlIGNvbXBpbGVyIHRyaWNrCgkgIEFmdGVyIGNvbW1pdCAyY2I2Y2ZlZDIyMTY2YjI2MmFlNTBjYjU4ZjNmZjExZGQ4YmE5MWY5IHRoZXJlIGlzIG5vIG5lZWQgdG8KCSAgdHJpY2sgdGhlIGNvbXBpbGVyIGFueW1vcmUgYWJvdXQgdGhlIHVzYWdlIG9mIHZhcmlhYmxlIGNwdUZsYXZvdXIuCgoyMDE1LTEwLTIxIDE0OjM1OjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBiOTk4MDBhIHRvIGIzMTk5MDkKCjIwMTUtMTAtMjEgMTc6NDE6MzggKzA1MzAgIFJhdmkgS2lyYW4gSyBOIDxyYXZpLmtpcmFuQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VpaXJmaWx0ZXIuaDoKCSAgYXVkaW9meDogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoJICBSZW1vdmUgdW5zdWVkIHZhcmlhYmxlIGhhdmVfY29lZmZzIGluIGF1ZGlvZnhiYXNlaWlyZmlsdGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY5MDUKCjIwMTUtMTAtMjAgMTc6Mjk6NDIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIFVzZSBuZXcgR1NUX0VOQUJMRV9FWFRSQV9DSEVDS1MgI2RlZmluZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2ODcwCgoyMDE1LTEwLTIxIDE0OjI1OjU1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogUkVBRE1FOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDlhZWQxZDcgdG8gYjk5ODAwYQoKMjAxNS0xMC0yMSAxMTo1MzowOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IHJlbGF4IGNyZWF0aW9uIHRpbWUgcGFyc2luZwoJICBQYXJzZSB3cm9uZyB0aW1lc3RhbXBzIGxpa2Ugd2UgdXNlZCB0byB3cml0ZSBhcyB3ZWxsLAoJICBlLmcuIDEwOjk6NDIsIGFuZCB0aGUgaG91ciBtaWdodCBiZSB3aXRob3V0IGEgbGVhZGluZwoJICB6ZXJvIGluIGFueSBjYXNlLgoKMjAxNS0xMC0yMSAxMTo0NTozNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IGZpeCBpbmRlbnRhdGlvbgoKMjAxNS0xMC0yMSAxMTo0NDo1MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IGV4dHJhY3QgYm90aCBjcmVhdGlvbiBkYXRlIGFuZCB0aW1lCgkgIEJlZm9yZSB3ZSBvbmx5IGV4dHJhY3RlZCB0aGUgZGF0ZSBwYXJ0LgoKMjAxNS0xMC0yMSAxMToxNjowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogZml4IHdyaXRpbmcgb2YgY3JlYXRpb24gdGltZQoJICBEb24ndCB3cml0ZSB0aW1lIGFzIGUuZy4gMTE6OTo0MgoKMjAxNS0xMC0xMyAxMjo0Mjo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSAgcnRwajJrcGF5OiB1cGRhdGUgZnJhZ21lbnQgb2Zmc2V0CgkgIEl0IHdhcyBhbHdheXMgYmVpbmcgc2V0IHRvIDAsIG1ha2luZyB0aGUgcmVzdWx0aW5nIHN0cmVhbSBicm9rZW4KCSAgZm9yIHRoZSByZWNlaXZlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2NDIyCgoyMDE1LTEwLTE5IDE1OjM2OjM3ICswMzAwICBSeWFuIEhlbmRyaWNrc29uIDxyeWFuLmhlbmRyaWNrc29uQGFsdW0ubWl0LmVkdT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IERvbid0IHVuY29uZGl0aW9uYWxseSB1c2Ugc3RybmxlbigpCgkgIEl0J3Mgbm90IGF2YWlsYWJsZSBvbiBvbGRlciBPU1ggYW5kIHdlIGNhbiBhcyB3ZWxsIHVzZSBtZW1jaHIoKSBoZXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2MTU0CgoyMDE1LTEwLTE5IDE3OjM4OjMyICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJICBhdXBhcnNlOiBGaXggZXZlbnQgbWVtb3J5IGxlYWsKCSAgRnJlZSB0aGUgZXZlbnQgYWZ0ZXIgYmVpbmcgaGFuZGxlZCB0byBwcmV2ZW50IG1lbW9yeSBsZWFrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2Nzk5CgoyMDE1LTEwLTE5IDA5OjE0OjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogdW5pZnkgcmF3IGF1ZGlvIGNhcHMgaW50byBhIHNpbmdsZSBjYXBzIHN0cnVjdHVyZQoKMjAxNS0xMC0xNCAxNTo0Mjo1MCAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFkZCBzdXBwb3J0IGZvciBGRlYxIGNvZGVkIHN0cmVhbXMgaW4gbW92CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0OTUKCjIwMTUtMTAtMTQgMTU6NTM6MjYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogRU9TIGltbWVkaWF0ZWx5IGlmIHdlIGhhdmUgYW4gZW1wdHkgc2VlayBzZWdtZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgzMTYKCjIwMTUtMTAtMTQgMTA6NDM6MTkgKzAzMDAgIFN0YXZyb3MgVmFnaW9uaXRpcyA8c3RhdnJvc3ZAZGlnaXNvZnQudHY+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogTWFrZSBub24taW5jbHVzaXZlIHNlZ21lbnQgYm91bmRhcmllcyBpbmNsdXNpdmUKCSAgVGhlIHByb2JsZW0gaXMgdGhhdCB0aGUgZmlsZXNyYyBhbmQgc291cGh0dHBzcmMgYXJlIGJlaGF2aW5nCgkgIGRpZmZlcmVudGx5IHJlZ2FyZGluZyB0aGUgY2FsY3VsYXRpb24gb2YgdGhlIHNlZ21lbnQgYm91bmRhcmllcy4gVGhlCgkgIGZpbGVzcmMgaXMgdXNpbmcgYSBub24taW5jbHVzaXZlIGJvdW5kYXJpZXMsIHdoaWxlIHRoZSBzb3VwaHR0cHNyYwoJICB1c2VzIGluY2x1c2l2ZS4gQ3VycmVudGx5IHRoZSBobHNkZW11eCBjYWxjdWxhdGVzIHRoZSBib3VuZGFyaWVzIGFzCgkgIGluY2x1c2l2ZSwgc28gZm9yIHRoaXMgcmVhc29uIHRoZXJlIGlzIG5vIHByb2JsZW0gd2l0aCB0aGUgc291cGh0dHBzcmMsCgkgIGJ1dCB0aGVyZSBpcyBhbiBpc3N1ZSBpbiB0aGUgZmlsZXNyYy4KCSAgVGhlIEdzdFNlZ21lbnQgaXMgbm9uLWluY2x1c2l2ZSwgc28gdGhlIHByb3Bvc2VkIHNvbHV0aW9uIGlzIHRvIHVzZQoJICBub24taW5jbHVzaXZlIGJvdW5kYXJpZXMgaW4gdGhlIGhsc2RlbXV4IGluIG9yZGVyIHRvIGJlIGNvbnNpc3RlbnQuCgkgIE1ha2UgdGhlIGNoYW5nZSBpbiB0aGUgaGxzZGVtdXgsIHdpbGwgYnJlYWsgdGhlIHNvdXBodHRwc3JjLCB3aGljaAoJICB3aWxsIGV4cGVjdCBpbmNsdXNpdmUgYm91bmRhcmllcywgYnV0IHRoZSBobHNkZW11eCB3aWxsIG9mZmVyCgkgIG5vbi1pbmNsdXNpdmUuIFRoaXMgY2hhbmdlIG1ha2VzIHN1cmUgdGhhdCB0aGUgbm9uLWluY2x1c2l2ZQoJICBib3VuZGFyaWVzIGFyZSBjb252ZXJ0ZWQgdG8gaW5jbHVzaXZlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MzE2CgoyMDE1LTEwLTExIDIyOjA3OjU0ICswMDAwICBHcmFoYW0gTGVnZ2V0dCA8bWluZnJpbkBzaGFycC5mbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuaDoKCSAgc291cGh0dHBjbGllbnRzaW5rOiBBZGQgdGhlIHJldHJ5IGFuZCByZXRyeS1kZWxheSBwcm9wZXJ0aWVzCgkgIFRoZXNlIGFsbG93IGEgZmFpbGVkIHJlcXVlc3QgdG8gYmUgcmV0cmllZCBhZnRlciB0aGUgZ2l2ZW4gbnVtYmVyIG9mIHNlY29uZHMKCSAgaW5zdGVhZCBvZiBmYWlsaW5nIHRoZSBwaXBlbGluZS4gVGFrZSBhY2NvdW50IG9mIHRoZSBSZXRyeS1BZnRlciBoZWFkZXIgaWYKCSAgcHJlc2VudC4gQWRkIHJldHJpZXMgcGFyYW1ldGVyIHRoYXQgY29udHJvbHMgdGhlIG51bWJlciBvZiB0aW1lcyBhbiBIVFRQCgkgIHJlcXVlc3Qgd2lsbCBiZSByZXRyaWVkIGJlZm9yZSBmYWlsaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2MzE4CgoyMDE1LTEwLTE0IDEyOjAzOjE1ICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggY2FwcyBsZWFrCgkgIElmIHRoZSBRdERlbXV4U3RyZWFtIGFyZSByZS11c2VkIHRoZXkgbWF5IGFscmVhZHkgaGF2ZSBjYXBzIHdoaWNoIHVzZWQKCSAgdG8gYmUgbGVha2VkLgoJICBSZXByb2R1Y2VkIHVzaW5nIHRoZQoJICB2YWxpZGF0ZS5kYXNoLnBsYXliYWNrLnNlZWtfZm9yd2FyZC5kYXNoX2V4TVBEX0JJUF9UQzEgdmFsaWRhdGUKCSAgc2NlbmFyaW8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY1NjEKCjIwMTUtMTAtMTQgMDk6Mjk6NTAgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IHRhZ2xpc3QgbWVtb3J5IGxlYWsKCSAgRnJlZSB0aGUgc3RyZWFtIGFuZCBpdHMgc3ViIGl0ZW1zIGluc3RlYWQgb2YganVzdCB0aGUgc3RyZWFtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY1NDQKCjIwMTUtMTAtMTEgMTI6MDY6MjYgKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogQWxsb3cgbmVnb3RpYXRpbmcgdG8gUzggYXMgYSByYXcgZm9ybWF0IGJ1dCBzdG9wIG1ha2luZyBpdCBiZXN0IGNob2ljZQoJICBOZWdvdGlhdGlvbiB0byBhdWRpby94LXJhdyxmb3JtYXQ9Uzggd2FzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIFM4IGRvZXMKCSAgbm90IGhhdmUgYSBiaXQgb3JkZXIgc28gd2UgZW5kZWQgdXAgZG9pbmcgYGlmICghZW50cnkuZm91cmNjKSBnb3RvIHJlZnVzZV9jYXBzO2AKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjM4NwoKMjAxNS0xMC0xMSAwOToxODo0MCArMDEwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBBZGQgcHJvcmVzIHN1cHBvcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjM4OAoKMjAxNS0xMC0xMiAxODo1NjozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogYWRkIEdTVF9QTFVHSU5TX0JBU0VfTElCUyBmb3IgZmx2ZGVtdXggY2hlY2sKCSAgU28gaXQgcHVsbHMgaW4gdGhlIHJpZ2h0IGxpYmdzdHRhZy0xLjAuCgoyMDE1LTEwLTExIDIyOjI3OjQ3ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9nb29tL01ha2VmaWxlLmFtOgoJKiBnc3QvZ29vbS9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2dvb20vZ3N0YXVkaW92aXN1YWxpemVyLmg6CgkqIGdzdC9nb29tL2dzdGdvb20uaDoKCSogZ3N0L2dvb20yazEvTWFrZWZpbGUuYW06CgkqIGdzdC9nb29tMmsxL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvZ29vbTJrMS9nc3RhdWRpb3Zpc3VhbGl6ZXIuaDoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5oOgoJICBnb29tL2dvb20yazE6IHJlbW92ZSBvYnNvbGV0ZSBsZWZ0IG92ZXIgZmlsZXMKCSAgVGhleSBub3cgdXNlIHRoZSBuZXcgR3N0QXVkaW9WaXN1YWxpemVyIGJhc2UgY2xhc3MKCSAgZnJvbSBnc3QtcGx1Z2lucy1iYXNlL2dzdC1saWJzL2dzdC9wYnV0aWxzCgkgIEFsc28gZml4ZWQgdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBnc3RfYXVkaW9fdmlzdWFsaXplcl9nZXRfdHlwZQoJICBBZGRlZCBHU1RfUExVR0lOU19CQVNFX0xJQlMgdG8gTWFrZWZpbGUuYW0gYW5kIHJlLW9yZGVyIExJQkFERC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Mjg3NQoKMjAxNS0xMC0xMiAxMDo0ODoyMyArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgbXBlZ2F1ZGlvcGFyc2U6IEZpeCBidWZmZXIgbWVtb3J5IGxlYWsgZHVyaW5nIGZhaWx1cmVzCgkgIG1hcHBlZCBidWZmZXIgaXMgbm90IGJlaW5nIHVubWFwcGVkIGR1cmluZyBmYWlsdXJlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2MjMxCgoyMDE1LTEwLTEyIDExOjE4OjUxICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkgIHNvdXBodHRwY2xpZW50c2luazogQ2hlY2sgaWYgc291cCBtZXNzYWdlIGlzIGNyZWF0ZWQKCSAgSWYgc291cCBtZXNzYWdlIGlzIG5vdCBjcmVhdGVkIHRoZW4gdGhlIHNhbWUgc2hvdWxkIG5vdCBiZSBwYXNzZWQKCSAgb24sIHdoaWNoIGlzIHJlc3VsdGluZyBpbiBzZWdmYXVsdC4gSGVuY2UgdGhyb3dpbmcgYSB3YXJuaW5nIG1lc3NhZ2UKCSAgYW5kIHJldHVybmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MzI2CgoyMDE1LTEwLTEyIDExOjE1OjE1ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkgIHNvdXBodHRwY2xpZW50c2luazogQ2hlY2sgaWYgbG9jYXRpb24gYmVpbmcgc2V0IGlzIHZhbGlkCgkgIEFkZGluZyBhIGNoZWNrIGluIHNldF9wcm9wZXJ0eSB0byBmaW5kIGlmIHRoZSBsb2NhdGlvbiB1cmkgaXMgdmFsaWQKCSAgYW5kIHByaW50aW5nIHdhcm5pbmcgaWYgbm90IHZhbGlkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MzI2CgoyMDE1LTEwLTEyIDExOjA5OjMwICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkgIHNvdXBodHRwY2xpZW50c2luazogRml4IG1lbW9yeSBsZWFrcyBkdXJpbmcgZmFpbHVyZXMKCSAgZnJlZWluZyBzdHJlYW1oZWFkZXJfYnVmZmVycyBhbmQgc2VudF9idWZmZXJzIGR1cmluZyBmYWlsdXJlIGNhc2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MzI2CgoyMDE1LTEwLTEyIDExOjAzOjE3ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkgIHNvdXBodHRwY2xpZW50c2luazogUmVwbGFjZSByZWR1bmRhbnQgZnJlZV9idWZmZXJfbGlzdCBmdW5jdGlvbgoJICBSZW1vdmluZyBmcmVlX2J1ZmZlcl9saXN0IGFuZCByZXBsYWNpbmcgaXQgd2l0aCBhbHJlYWR5IGF2YWlsYWJsZSBmdW5jdGlvbgoJICBnX2xpc3RfZnJlZV9mdWxsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUzMjYKCjIwMTUtMTAtMTEgMTY6NDA6MDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgY2hlY2s6IERvbid0IGZvcmdldCBiYXNlIENGTEFHUyBmb3IgZmx2ZGVtdXggY2hlY2sKCSAgZWxlbWVudHMvZmx2ZGVtdXguYzoyNToyNTogZmF0YWwgZXJyb3I6IGdzdC90YWcvdGFnLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKCjIwMTUtMTAtMTEgMTE6Mzc6NTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgbWF0cm9za2FtdXg6IENyZWF0ZSBhIFRJTUUgc2VnbWVudCB3aGVuIGNyZWF0aW5nIHN0cmVhbWFibGUgb3V0cHV0CgkgIFJlbGF0ZWQgdG8gaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDQzNSB3aGljaAoJICBkb2VzIHRoZSBzYW1lIGZvciBmbHZtdXguCgoyMDE1LTA5LTIzIDEzOjUwOjUyICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbHZkZW11eC5jOgoJICBmbHZkZW11eDogb3V0cHV0IHNwZWV4IHZvcmJpc2NvbW1lbnQgYXMgYSBHc3RUYWdMaXN0CgkgIFRoaXMgaXMgd2hhdCBzcGVleGRlYyBleHBlY3RzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NDc4CgoyMDE1LTA5LTIyIDIyOjU5OjE2ICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbHZtdXguYzoKCSAgZmx2bXV4OiBHU1RfQlVGRkVSX09GRlNFVHMgc2hvdWxkIGJlIEdTVF9CVUZGRVJfT0ZGU0VUX05PTkUKCSAgT3IgZWxzZSBmbHZkZW11eCBkb24ndCB1bmRlcnN0YW5kIGl0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ0MzUKCjIwMTUtMDktMDIgMTA6NDQ6NTkgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Zsdm11eC5jOgoJICBmbHZtdXg6IHVzZSB0aW1lIHNlZ21lbnQgYW5kIGNvcHkgdGltZXN0YW1wcyB3aGVuIHN0cmVhbWFibGUKCSAgQWRkIGEgYmFzaWMgdGVzdCB1c2luZyBzcGVleCBkYXRhIHRvIHZlcmlmeSB0aW1lc3RhbXBpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ0MzUKCjIwMTUtMDktMjMgMTM6MTQ6MDMgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IHNwZWV4IGlzIGFsc28gYWx3YXlzIDE2S0h6CgkgIFRoaXMgaXMganVzdCBhIGNvc21ldGljIGNoYW5nZSBmb3IgdGhlIGxvZ3MsIHNpbmNlIHRoZSByaWdodCBjYXBzCgkgIGZvciBTcGVleCBpcyBiZWluZyBzZXQgZWxzZXdoZXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NDc5CgoyMDE1LTA3LTE0IDE1OjE5OjQ0ICswMjAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBtYW5hZ2VyOiBBZGQgJ3NvdXJjZS1zdGF0cycgdG8gc3RhdHMgYW5kIG5vdGlmeQoJICBBZGQgc3RhdGl0aWNzIGZyb20gZWFjaCBydHAgc291cmNlIHRvIHRoZSBydHAgc2Vzc2lvbiBwcm9wZXJ0eS4KCSAgJ3NvdXJjZS1zdGF0cycgaXMgYSBHVmFsdWVBcnJheSB3aGVyZSBlYWNoIGVsZW1lbnQgaXMgYSBHc3RTdHJ1Y3R1cmUgb2YKCSAgc3RhdHMgZm9yIG9uZSBydHAgc291cmNlLgoJICBUaGUgYXZhaWxhYmlsaXR5IG9mIG5ldyBzdGF0cyBpcyBzaWduYWxlZCB2aWEgZ19vYmplY3Rfbm90aWZ5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNjY5CgoyMDE1LTA2LTA1IDE3OjIwOjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IEltcGxlbWVudCBzZW5kaW5nIG9mIHJlZHVjZWQgc2l6ZSBSVENQIHBhY2tldHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDQ1NgoKMjAxNS0xMC0wOCAxNTowMToxMyArMDUzMCAgUmF2aSBLaXJhbiBLIE4gPHJhdmkua2lyYW5Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuaDoKCSAgYXVkaW9meDogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoJICBSZW1vdmUgdW51c2VkIHZhcmlhYmxlICdkZWdyZWUnIGluIGF1ZGlvZHluYW1pYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2MjM0CgoyMDE1LTEwLTA4IDE0OjQ0OjA3ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCBtZW1vcnkgbGVhayBmb3IgY29ycnVwdGVkIGZpbGUKCSAgRnJlZSBicmFuZHMgYmVmb3JlIG92ZXJyaWRpbmcgdGhlbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjIyNgoKMjAxNS0xMC0wOCAxMTo0NDowNCArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZmRlYy5jOgoJICBnZGtwaXhidWZkZWM6IEZpeCBwaXhidWZfbG9hZGVyIGxlYWsgZHVyaW5nIGZhaWx1cmVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYyMTkKCjIwMTUtMTAtMDcgMjM6MjM6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBBZGQgbWlzc2luZyBicmVhawoKMjAxNS0xMC0wNyAxMzowMzowMiArMDIwMCAgTWlndWVsIFBhcsOtcyBEw61heiA8bXBhcmlzZGlhekBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBydHBtYW5hZ2VyOiBUYWtlIGludG8gYWNjb3VudCBwYWNrZXQgcmF0ZSBmb3IgbWF4LWRyb3BvdXQgYW5kIG1heC1taXNvcmRlciBjYWxjdWxhdGlvbnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTMxMQoKMjAxNS0xMC0wNyAxMzowMjoxMiArMDIwMCAgTWlndWVsIFBhcsOtcyBEw61heiA8bXBhcmlzZGlhekBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIHJ0cG1hbmFnZXI6IGFkZCAibWF4LWRyb3BvdXQtdGltZSIgYW5kICJtYXgtbWlzb3JkZXItdGltZSIgcHJvcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTMxMQoKMjAxNS0xMC0wNyAxNzoxNDo1NyArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEZpeCBkYXRlIG1lbW9yeSBsZWFrCgkgIFdoZW4gZ2V0dGluZyBkYXRlIGZyb20gdGFnbGlzdCwgdGhlIG1lbW9yeSBzaG91bGQgYmUgZnJlZWQgYWZ0ZXIKCSAgdXNpbmcgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYxNzEKCjIwMTUtMTAtMDUgMTE6MDM6MzggKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBGaXggc2FtcGxlIG1lbW9yeSBsZWFrCgkgIFdoZW4gZ2V0dGluZyBzYW1wbGUgZnJvbSB0YWdsaXN0LCB0aGUgbWVtb3J5IHNob3VsZCBiZSBmcmVlZCBhZnRlcgoJICB1c2luZyBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjA2OAoKMjAxNS0xMC0wNSAxMzoxMDo1NiArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkgIGN1dHRlcjogRml4IGJ1ZmZlciBsZWFrCgkgIEJ1ZmZlciBpcyBhZGRlZCB0byB0aGUgaW50ZXJuYWwgY2FjaGUsIGFuZCBwdXNoZWQgb25seSB3aGVuIGFjY3VtdWxhdGVkCgkgIGJ1ZmZlciBkdXJhdGlvbiBjcm9zc2VzIDIwMCBtcy4gU28gd2hlbiB0aGUgY2hhaW4gZW5kcywgdGhlIGJ1ZmZlciBhY2N1bXVsYXRlZAoJICBpcyBub3QgZnJlZWQuIEZyZWVpbmcgdGhlIGNhY2hlIHdoZW4gdGhlIHN0YXRlIGNoYW5nZXMgZnJvbSBQQVVTRUQgdG8gUkVBRFkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQyMTIKCjIwMTUtMDgtMzEgMjE6MTA6MTYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBVc2UgZGVmYXVsdCB1cHN0cmVhbSBldmVudCBoYW5kbGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNjk0CgoyMDE1LTA4LTMxIDIxOjA1OjAzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5oOgoJICBydHBtdXg6IEFzIDB4RkZGRkZGRkYgaXMgYSB2YWxpZCBzc3JjLCBjaGVjayBpZiBpdCBoYXMgYmVlbiBzZXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjY5NAoKMjAxNS0wNy0yMiAwOTo0NzoyMiArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSAgZ3N0cnRwbXV4OiBhbGxvdyB0aGUgc3NyYy1wcm9wZXJ0eSB0byBkZWNpZGUgc3NyYyBvbiBvdXRnb2luZyBidWZmZXJzCgkgIEJ5IG5vdCBkb2luZyB0aGlzLCB0aGUgbXV4ZXIgaXMgbm90IGVmZmVjdGl2ZWx5IGEgcnRwbXV4ZXIsIHJhdGhlciBhCgkgIGZ1bm5lbCwgc2luY2UgaXQgc2hvdWxkIGJlIGEgc2luZ2xlIHN0cmVhbSB0aGF0IGV4aXN0cyB0aGUgbXV4ZXIuCgkgIElmIG5vdCBzcGVjaWZpZWQsIHRha2UgdGhlIGZpcnN0IHNzcmMgc2VlbiBvbiBhIHNpbmtwYWQsIGFsbG93aW5nIHVwc3RyZWFtCgkgIHRvIGRlY2lkZSBzc3JjIGluICJwYXNzdGhyb3VnaCIgd2l0aCBvbmx5IG9uZSBzaW5rcGFkLgoJICBBbHNvLCBsZXQgZG93bnN0cmVhbSBzc3JjIG92ZXJydWxlIGludGVybmFsIGNvbmZpZ3VyZWQgb25lCgkgIFdlIGhlbmNlIGhhcyB0aGUgZm9sbG93aW5nIG9yZGVyIGZvciBkZXRlcm1pbmluZyB0aGUgc3NyYyB1c2VkIGJ5CgkgIHJ0cG11eDoKCSAgMC4gU3VnZ2VzdGlvbiBmcm9tIEdzdFJUUENvbGxpc2lvbiBldmVudAoJICAxLiBEb3duc3RyZWFtIGNhcHMKCSAgMi4gc3NyYy1Qcm9wZXJ0eQoJICAzLiAoRmlyc3QpIHVwc3RyZWFtIGNhcHMgY29udGFpbmluZyBzc3JjCgkgIDQuIFJhbmRvbWx5IGdlbmVyYXRlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNjk0CgoyMDE1LTEwLTAyIDIyOjQyOjIwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBGaXh1cCBsYXN0IGNvbW1pdAoKMjAxNS0xMC0wMiAyMjoyMTo0NSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgVXBkYXRlIEdMaWIgZGVwZW5kZW5jeSB0byAyLjQwLjAKCjIwMTUtMDYtMzAgMTY6NTY6MTkgKzAyMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgcnRwc3RhdHM6IGFkZCB1dGlsaXR5IGZvciBjYWxjdWxhdGluZyBSVFAgcGFja2V0IHJhdGUKCjIwMTUtMDgtMTAgMTg6MTQ6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBoYW5kbGUgZW1wdHkgc2VnbWVudHMgaW4gc2Vla2luZyBhZGp1c3QKCSAgSWYgc2Vla2luZyB0YXJnZXRzIGFuIGVtcHR5IHNlZ21lbnQgc2tpcCBpdCBhcyB0aGVyZSBpcyBubyBtZWRpYQoJICBvZmZzZXQgdG8gZ2V0IGZyb20gaXQuIEluc3RlYWQgbG9vayBmb3IgdGhlIG5leHQgb25lLgoJICBUaGlzIGRvZXNuJ3QgbWFrZSBzZWVraW5nIGluIHB1c2gtbW9kZSB3b3JrIGlmIHlvdSBzZWVrIHRvIGFuCgkgIGVtcHR5IHNlZ21lbnQgYnV0IGF0IGxlYXN0IHdvbid0IGdldCB5b3UgdG8gd3Jvbmcgb2Zmc2V0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzQ4NAoKMjAxNS0wNC0xNyAxNDoyNTo0MyArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmg6CgkgIHNwbGl0bXV4c2luazogcG9zdCBtZXNzYWdlcyB3aGVuIGZyYWdtZW50cyBhcmUgYmVpbmcgb3BlbmVkIGFuZCBjbG9zZWQKCSAgVGhpcyBjYW4gYmUgdXNlZnVsIGZvciBhcHBsaWNhdGlvbnMgdGhhdCBuZWVkIHRvIHRyYWNrIHRoZSBjcmVhdGVkIGZyYWdtZW50cwoJICAodG8gbG9nIHRoZW0gaW4gYSByZWNvcmRpbmcgZGF0YWJhc2UsIGZvciBleGFtcGxlKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMTA4CgoyMDE1LTA0LTI5IDE4OjIzOjI4ICswMTAwICBSYW1pcm8gUG9sbGEgPHJhbWlyby5wb2xsYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5oOgoJICBzcGxpdG11eHNpbms6IGFsbG93IG5vbi12aWRlbyBzdHJlYW1zIHRvIHNlcnZlIGFzIHJlZmVyZW5jZQoJICBJbiB0aGUgYWJzZW5jZSBvZiBhIHZpZGVvIHN0cmVhbSwgdGhlIGZpcnN0IHN0cmVhbSB3aWxsIGJlIHVzZWQgYXMKCSAgcmVmZXJlbmNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNjE3CgoyMDE1LTA3LTIyIDE3OjQ1OjEyICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW5rOiBpbml0aWFsaXplIG11eF9zdGFydF90aW1lIHByb3Blcmx5CgkgIG11eF9zdGFydF90aW1lIHJlZmVycyB0byB0aGUgcnVubmluZ190aW1lIG9mIHRoZSBidWZmZXIKCSAgdGhhdCBnb2VzIGZpcnN0IGluIHRoZSBvdXRwdXQgZmlsZS4gTm9ybWFsbHkgdGhpcyB0aW1lIGlzCgkgIDAsIHNvIHRoaXMgdmFyaWFibGUgaXMgaW5pdGlhbGl6ZWQgdG8gMCBkdXJpbmcgdGhlIHN0YXRlCgkgIGNoYW5nZSB0byBQQVVTRUQuCgkgIEhvd2V2ZXIsIHdoZW4gZGVhbGluZyB3aXRoIGR5bmFtaWMgcGlwZWxpbmVzIGFuZCBzdGFydGluZwoJICBhIHJlY29yZGluZyB3aGlsZSB0aGUgcGlwZWxpbmUgaGFzIGFscmVhZHkgcnVuIGZvciBhIHdoaWxlLAoJICB0aGUgcnVubmluZ190aW1lIG9mIHRoZSBmaXJzdCBidWZmZXIgaXMgPiAwIGFuZCB0aGlzIGNhdXNlcwoJICBhIHByb2JsZW0gd2l0aCBkZXRlY3RpbmcgdGhlIGVuZCBvZiB0aGUgZmlyc3QgZmlsZShzKSB3aGVuCgkgIHNwbGl0dGluZyBieSBkdXJhdGlvbiwgYmVjYXVzZSB0aGUgY29kZSB3aWxsIGxhdGVyIGNvbXBhcmUKCSAgdGhlIHRocmVzaG9sZF90aW1lIHdpdGggKGxhc3QgYnVmZmVyIHJ1bm5pbmdfdGltZSAtIG11eF9zdGFydF90aW1lKQoJICBhbmQgd2lsbCBnZXQgaXQgd3JvbmcgdW50aWwgbXV4X3N0YXJ0X3RpbWUgYWR2YW5jZXMgZW5vdWdoCgkgIHRvIG1ha2UgdGhpcyBkaWZmZXJlbmNlIDwgdGhyZXNob2xkX3RpbWUsIGNyZWF0aW5nIGVtcHR5IGZpbGVzCgkgIGluIHRoZSBtZWFudGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzYyNAoKMjAxNS0wOS0xNiAxNjowMzowMiArMDkwMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBSZXZlcnNlIHBsYXliYWNrIGRvZXMgbm90IGNvbnNpZGVyIHNlZ21lbnQuc3RhcnQKCSAgRHVyaW5nIHJldmVyc2UgcGxheWJhY2ssIHRoZSBtZWRpYSBzaG91bGQgc3RvcCBwbGF5aW5nIGF0IHNlZ21lbnQuc3RhcnQKCSAgVGhpcyBkb2VzIG5vdCBoYXBwZW4sIGFuZCBhdmlkZW11eCBjb250aW51ZXMgdG8gcHJvY2VzcyBkYXRhIGV2ZW4gd2hlbgoJICBjdXJyZW50IHRpbWVzdGFtcCBpcyBsZXNzIHRoYXQgc2VnbWVudC5zdGFydC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTA5NAoKMjAxNS0wOS0yMyAxMjozOTozNSArMDkwMCAgTWFuYXNhIEF0aHJleWEgPG1hbmFzYS5hdGhyZXlhQGxnZS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQ2hlY2sgbXVsdGkgdHJleCB0byBmaW5kIHRyYWNrIGlkIGluIG1wNCBtcGVnLWRhc2ggc3RyZWFtCgkgIElmIHN0cmVhbSBoYXMgbW9yZSB0aGFuIG9uZSB0cmV4IGJveCB3aGljaCBpcyBub3QgbWF0Y2hlZCB0byBhY3R1YWwKCSAgdHJhY2sgaWQsIGl0IG1ha2VzIHF0ZGVtdXggY3Jhc2hlZC4KCSAgQXV0aG9yIDogTWFuYXNhIEF0aHJleWEgKG1hbmFzYS5hdGhyZXlhQGxnZS5jb20pCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ4NjQKCjIwMTUtMDktMDQgMTQ6MjQ6NDUgKzA1MzAgIFJhdmkgS2lyYW4gSyBOIDxyYXZpLmtpcmFuQHNhbXN1bmcuY29tPgoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkgIHNtcHRlOiBnZXQgc2l6ZSwgc3RyaWRlIGluZm8gdXNpbmcgVmlkZW9JbmZvCgkgIFVzZSBWaWRlb0luZm8gZGF0YSB0byBnZXQgc2l6ZSBzdHJpZGUgYW5kCgkgIG9mZnNldCwgaW5zdGVhZCBvZiBoYXJkIGNvZGVkIG1hY3Jvcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDU1OAoKMjAxNS0wOS0wNCAxNDoxODo1MCArMDUzMCAgUmF2aSBLaXJhbiBLIE4gPHJhdmkua2lyYW5Ac2Ftc3VuZy5jb20+CgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSAgc21wdGU6IGZyZWUgbWFzawoJICBGcmVlIHRoZSBtZW1vcnkgYWxsb2NhdGVkIHRvICdtYXNrJyB0byBhdm9pZAoJICBtZW1vcnkgbGVhay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDU1NQoKMjAxNS0wOC0yMCAxMTowMjo1OCArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2VxdWFsaXplci9kZW1vLmM6CgkqIHRlc3RzL2ljbGVzL2VxdWFsaXplci10ZXN0LmM6CgkqIHRlc3RzL2ljbGVzL2dka3BpeGJ1Zm92ZXJsYXktdGVzdC5jOgoJKiB0ZXN0cy9pY2xlcy9nZGtwaXhidWZzaW5rLXRlc3QuYzoKCSogdGVzdHMvaWNsZXMvdGVzdC1vc3M0LmM6CgkqIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6CgkgIGdzdHJlYW1lcjogZ29vZDogdGVzdHM6IEZpeCBtZW1vcnkgbGVha3Mgd2hlbiBjb250ZXh0IHBhcnNlIGZhaWxzLgoJICBXaGVuIGdfb3B0aW9uX2NvbnRleHRfcGFyc2UgZmFpbHMsIGNvbnRleHQgYW5kIGVycm9yIHZhcmlhYmxlcyBhcmUgbm90IGdldHRpbmcgZnJlZSdkCgkgIHdoaWNoIHJlc3VsdHMgaW4gbWVtb3J5IGxlYWtzLiBGcmVlJ2luZyB0aGUgc2FtZS4KCSAgQW5kIHJlcGxhY2luZyBnX2Vycm9yX2ZyZWUgd2l0aCBnX2NsZWFyX2Vycm9yLCB3aGljaCBjaGVja3MgaWYgdGhlIGVycm9yIGJlaW5nIHBhc3NlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzODUzCgoyMDE1LTEwLTAyIDE2OjE4OjE1ICswOTAwICBIeXVuanVuIEtvIDx6em9vbi5rb0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IGRvZXNuJ3QgaGFuZGxlIHByb2JhdGlvbiBhbmQgcnRwIGdhcCBpbiBjYXNlIG9mIHNlbmRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NTQ4CgoyMDE1LTEwLTAyIDE2OjE2OjMyICswOTAwICBIeXVuanVuIEtvIDx6em9vbi5rb0BzYW1zdW5nLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cG1hbmFnZXI6IGFkZCBuZXcgb24tbmV3LXNlbmRlci1zc3JjLCBvbi1zZW5kZXItc3NyYy1hY3RpdmUgc2lnbmFscwoJICBBbGxvd3MgZm9yIGFwcGxpY2F0aW9ucyB0byBnZXQgaW50ZXJuYWwgc291cmNlJ3MgUlRQIHN0YXRpc3RpY3MuCgkgIChlZy4gc2VuZGVyIHNvdXJjZXMgZm9yIGEgc2VydmVyL2NsaWVudCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Njc0NwoKMjAxNS0xMC0wMiAxNDoxNzo0OCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICB4aW1hZ2VzcmM6IEdhdGhlciBhbmQgY29hbGVzY2UgYWxsIGRhbWFnZWQgYXJlYXMgYmVmb3JlIHJldHJpZXZpbmcuCgkgIFRoZXNlIGRheXMgdGhlIHhzZXJ2ZXIgc2VlbXMgdG8gZ2l2ZSB1cyB0aGUgc2FtZSBkYW1hZ2UgcmVnaW9ucwoJICBvdmVyIGFuZCBvdmVyIGZvciBlbnRpcmUgd2luZG93cywgYW5kIHdlIHJldHJpZXZlIHRoZW0gbXVsdGlwbGUKCSAgdGltZXMsIHdoaWNoIGdpdmVzIHRpbWUgZm9yIG1vcmUgZGFtYWdlIHRvIGFwcGVhci4gSW5zdGVhZCwganVzdAoJICBxdWlja2x5IGdhdGhlciBhbGwgZGFtYWdlZCBhcmVhcyBpbnRvIGEgcmVnaW9uIGxpc3QgYW5kIGNvcHkKCSAgb3V0IG9uY2UuCgoyMDE1LTEwLTAxIDE2OjI0OjMyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2dvb20yazEvTWFrZWZpbGUuYW06CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uaDoKCSAgZ29vbTJrMTogdXNlIHRoZSBuZXcgYXVkaW92aXN1YWxpemVyIGJhc2UgY2xhc3MKCSAgUmViYXNlIHRvIGhhdmUgZ29vbSB1c2luZyB0aGUgR3N0QXVkaW9WaXN1YWxpemVyIGJhc2UgY2xhc3MgaW4KCSAgZ3N0LXBsdWdpbnMtYmFzZS9nc3QtbGlicy9nc3QvcGJ1dGlscwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyODc1CgoyMDE1LTEwLTAxIDE2OjE2OjA4ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2dvb20vTWFrZWZpbGUuYW06CgkqIGdzdC9nb29tL2dzdGdvb20uaDoKCSAgZ29vbTogdXNlIHRoZSBuZXcgYXVkaW92aXN1YWxpemVyIGJhc2UgY2xhc3MKCSAgUmViYXNlIHRvIGhhdmUgZ29vbSB1c2luZyB0aGUgR3N0QXVkaW9WaXN1YWxpemVyIGJhc2UgY2xhc3MgaW4KCSAgZ3N0LXBsdWdpbnMtYmFzZS9nc3QtbGlicy9nc3QvcGJ1dGlscwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyODc1CgoyMDE1LTA5LTMwIDE3OjM1OjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6CgkgIGRlaW50ZXJsZWF2ZTogaW1wbGVtZW50IGFjY2VwdC1jYXBzCgkgIEF2b2lkIHVzaW5nIGRlZmF1bHQgYWNjZXB0LWNhcHMgaGFuZGxlciB0aGF0IHdpbGwgcXVlcnkgZG93bnN0cmVhbQoJICBhbmQgaXMgbW9yZSBleHBlbnNpdmUuIEp1c3QgY2hlY2sgaWYgdGhlIGNhcHMgaXMgY29tcGF0aWJsZSB3aXRoCgkgIHRoZSB0ZW1wbGF0ZSBhbmQgY2hlY2sgaWYgdGhlIGNoYW5uZWxzIGFyZSB0aGUgc2FtZS4KCjIwMTUtMDktMzAgMDk6MzU6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOgoJICB0ZXN0czogZGVpbnRlcmxlYXZlOiBhbHNvIGNoZWNrIGZvciBjYXBzIHF1ZXJ5IHJlc3VsdHMKCjIwMTUtMDktMzAgMTI6MzA6NTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICBkZWludGVybGVhdmU6IHVzZSB0aGUgY2FwcyBxdWVyeSBmaWx0ZXIKCSAgSXQgd2FzIGJlaW5nIGlnbm9yZWQgYW5kIHdvdWxkIGxlYWQgdG8gd3JvbmcgcmVzdWx0cyBpZiB0aGUKCSAgZWxlbWVudCBkb2luZyB0aGUgcXVlcnkgd291bGQgcmVseSBvbiB0aGUgaW50ZXJzZWN0aW9uIGJlaW5nIG1hZGUuCgoyMDE1LTA5LTMwIDEwOjAwOjMxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgZGVpbnRlcmxlYXZlOiBpbXBsZW1lbnQgYSBjYXBzIHF1ZXJ5IGhhbmRsZXIgZm9yIHRoZSBzaW5rcGFkCgkgIEl0IHdhcyBtaXNzaW5nIGFuZCBhcHBhcmVudGx5IGNvZGUgcmVsaWVkIG9uIGhhdmluZyBpdCB0aGVyZQoJICBmb3Igbm90IGFsbG93aW5nIGEgY2hhbmdlIGluIHRoZSBudW1iZXIgb2YgY2hhbm5lbHMKCjIwMTUtMDktMzAgMDk6MDU6MDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICBkZWludGVybGVhdmU6IGZpeCBjYXBzIGxlYWsKCSAgQ2FwcyBmcm9tIHRoZSBwYWQgdGVtcGxhdGUgYXJlIGJlaW5nIGxlYWtlZC4gSW4gYW55IGNhc2UgaXQgaXMKCSAgZnJvbSBhIHN0YXRpYyBwYWQgdGVtcGxhdGUgYW5kIHdpbGwgJ2xlYWsnIGluIHRoZSBlbmQsIGp1c3QgZG9pbmcKCSAgdGhlIGNsZWFudXAgZm9yIHRoZSBnb29kIHByYWN0aWNlLgoKMjAxNS0wOS0yOSAxMToxNTowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZGtwaXhidWZvdmVybGF5LmM6CgkgIHRlc3RzOiBnZGtwaXhidWZvdmVybGF5OiBhZGQgbWluaW1hbCB1bml0IHRlc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTc3MwoKMjAxNS0wOS0yOSAxMToxMjo0OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuYzoKCSAgZ2RrcGl4YnVmc2luazogZG9uJ3QgbGVhayBvbGQgcGl4ZWwgYnVmZmVyIHdoZW4gc2V0dGluZyBhIG5ldyBvdmVybGF5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU3NzMKCjIwMTUtMDktMjggMjA6MjU6MjIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IGF2b2lkIHBvdGVudGlhbCBzdHJpbmcgb3ZlcmZsb3cKCSAgV2UgZG9uJ3QgbmVjZXNzYXJpbHkgaGF2ZSBmdWxsIGNvbnRyb2wgb3ZlciB0aGUgaW5wdXQgdGFncywgc28KCSAgaXQncyBwb3NzaWJsZSB0aGF0IHRoZSBJU1JDIHRhZyBjb250YWlucyBhIGxvbmdlciBzdHJpbmcgdGhhbgoJICBleHBlY3RlZCwgaW4gd2hpY2ggY2FzZSB3ZSdkIHdyaXRlIG92ZXIgdGhlIGVuZCBvZiB0aGUgc3RhdGljLXNpemUKCSAgMTMgYnl0ZSBidWZmZXIgdGhhdCBpcyBGTEFDX19TdHJlYW1NZXRhZGF0YV9DdWVTaGVldF9UcmFjazo6aXNyYy4KCSAgTWFrZSBzdXJlIHRvIG9ubHkgY29weSB0aGUgSVNSQyBpZiBpdCdzIG5vdCB0b28gbG9uZywgYW5kIG1ha2UKCSAgc3VyZSB0aGUgYnVmZmVyIHdlIHdyaXRlIHRvIGlzIGFsd2F5cyBOVUwtdGVybWluYXRlZCBieSB1c2luZwoJICBnX3N0cmxjcHkoKS4KCSAgQ0lEIDEzMjQ5MzEuCgoyMDE1LTA5LTI4IDE4OjAzOjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFJlbW92ZSBsZWZ0b3ZlciBhc3NlcnRpb24gZnJvbSAwLjEwCgkgIFdlIG5vdyBhbGxvY2F0ZSBtZW1vcnkgdmlhIEdzdEFsbG9jYXRvciBhbmQgYXMgc3VjaCBjYW4gaGFuZGxlIGFyYml0cmFyeQoJICBhbGlnbm1lbnRzLCBub3Qgb25seSA8PSBHX01FTV9BTElHTi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTcwOAoKMjAxNS0wOS0yNSAxMDowMTozNyArMDIwMCAgR3VpbGxhdW1lIE1hcnF1ZWJpZWxsZSA8Z3VpbGxhdW1lLm1hcnF1ZWJpZWxsZUBwYXJyb3QuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogZml4IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGVzIGluIExPQVMgY29uZmlnIHJlYWRpbmcKCSAgT24gcmVhZGluZyBMT0FTIGNvbmZpZywgZmxhZyB2PTEgYW5kIHZBPTEgY29tYmluYXRpb24gY2FuIG9jY3VyLCBsZWFkaW5nIHRvIHdhcm5pbmcKCSAgIlNwZWMgc2F5cyAiVEJEIi4uLiIuIFJldHVybmluZyBUUlVFIG9uIHRoaXMgY2FzZSB3aGlsZSBwYXJhbWV0ZXJzICdzYW1wbGVfcmF0ZScgYW5kCgkgICdjaGFubmVscycgYXJlIHBvaW50aW5nIHRvIHVuaW5pdGlhbGl6ZWQgdmFsdWVzIGNhbiBlbmQgb24gc2V0dGluZyByYW5kb20gdmFsdWVzIGFzCgkgIHJhdGUgYW5kIGNoYW5uZWxzIG9uIHNyYyBjYXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NjExCgoyMDE1LTA5LTE4IDAwOjU4OjIzICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZzaW5rLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIEZpeCBzb21lIGNvbXBpbGVyIHdhcm5pbmdzIHdoZW4gYnVpbGRpbmcgd2l0aCBHX0RJU0FCTEVfQVNTRVJUCgkgIFRvdWNoZXMgcnRwbWFuYWdlciBhbmQgZ2RrcGl4YnVmc2luawoKMjAxNS0wOC0xOCAxNDozMDo1NyArMDEwMCAgQ2hyaXMgQmFzcyA8Zmxvb2JsZWZsYW1AZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF90eXBlcy5jOgoJICBxdGRlbXV4OiBzdXBwb3J0IHRpbWVkLXRleHQgc3VidGl0bGUgdHJhY2tzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyODE4CgoyMDE1LTA5LTI2IDAwOjEyOjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgZ3N0OiBEb24ndCB1c2UgZGVwcmVjYXRlZCBnc3Rfc2VnbWVudF90b19wb3NpdGlvbigpCgoyMDE1LTA5LTIxIDEzOjQ3OjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0cGJpbi9ydHBqaXR0ZXJidWZmZXIvcnRzcHNyYzogQWRkIHByb3BlcnR5IHRvIHNldCBtYXhpbXVtIG1zIGJldHdlZW4gUlRDUCBTUiBSVFAgdGltZSBhbmQgbGFzdCBvYnNlcnZlZCBSVFAgdGltZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MTI1CgoyMDE1LTA5LTE2IDE5OjI4OjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cGJpbi9zZXNzaW9uOiBBbGxvdyBSVENQIHN5bmMgdG8gaGFwcGVuIGJhc2VkIG9uIGNhcHR1cmUgdGltZSBvciBzZW5kIHRpbWUKCSAgU2VuZCB0aW1lIGlzIHRoZSBwcmV2aW91cyBiZWhhdmlvdXIgYW5kIHRoZSBkZWZhdWx0LCBidXQgdGhlcmUgYXJlIHVzZSBjYXNlcwoJICB3aGVyZSB5b3Ugd2FudCB0byBzeW5jaHJvbml6ZSBiYXNlZCBvbiB0aGUgY2FwdHVyZSB0aW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MTI1CgoyMDE1LTA5LTI1IDIzOjUxOjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjYuMCA9PT0KCjIwMTUtMDktMjUgMjM6MTU6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjYuMAoKMjAxNS0wOS0yNSAyMjo1NzozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNS0wOS0yNSAxNDowODowOSArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzoKCSAgc21wdGVhbHBoYTogRG8gbm90IHNldCB3aWR0aC9oZWlnaHQgYmVmb3JlIGNvbXBhcmluZyB3aXRoIG9sZCB2YWx1ZXMKCSAgT3RoZXJ3aXNlIHdlIGVuZCB1cCBjb25zaWRlcmluZyB0aGUgdmFsdWVzIGRpZCBub3QgY2hhbmdlIGFuZCB3ZSB3cm9uZ2x5CgkgIHdvcmsgd2l0aCB0aGUgb2xkIHZpZGVvIGZvcm1hdCAod2hpY2ggd2lsbCBsZWFkIHRvIHdyb25nCgkgIGJlaGF2aW91ci9zZWdmYXVsdHMpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NjIxCgoyMDE1LTA5LTIzIDIwOjU5OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEFjY3VtdWxhdGUgc2VnbWVudHMgZm9yIGVkaXQgbGlzdHMgYmVmb3JlIGFjdGl2YXRpbmcgdGhlIG5leHQgc2VnbWVudAoJICBlY2ViMmNjYzczOTA5MmQ5NjRkNzg5NDVlMTljMmVjZWRiZDIxNGUyIGJyb2tlIHNlZ21lbnQgc2Vla3MgYnkgYWx3YXlzCgkgIGFjY3VtdWxhdGluZyBzZWdtZW50cyBtYW51YWxseSB3aGVuIGFjdGl2YXRpbmcgYSBzZWdtZW50LiBUaGlzIGlzIG9ubHkKCSAgbmVlZGVkIHdoZW4gaGFuZGxpbmcgZWRpdCBsaXN0cywgbm90IHdoZW4gYWN0aXZhdGluZyBhIHNlZ21lbnQgYmVjYXVzZSBvZiBhCgkgIHNlZWsuIERvIHRoZSBhY2N1bXVsYXRpb24gd2hlbiBzd2l0Y2hpbmcgZWRpdCBsaXN0IHNlZ21lbnRzIGluc3RlYWQuCgkgIFRoaXMgZml4ZXMgc2VnbWVudCBzZWVrcyBhZ2Fpbiwgd2hpbGUga2VlcGluZyBlZGl0IGxpc3RzIHBsYXliYWNrIHdvcmtpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU0NzEKCjIwMTUtMDktMjMgMTc6NDM6NTEgKzA1MzAgIFZpa3JhbSBGdWdybyA8dmlrcmFtLmZ1Z3JvQGdtYWlsLmNvbT4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogc2VuZCBwaGFzZSB2YWx1ZXMgaW4gdGhlIEdzdE1lc3NhZ2UgZm9yIFBoYXNlIGluZm8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTQ2MwoKMjAxNS0wOS0yMiAwMDo0NjowMSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thLW11eDogRG9uJ3Qgb3V0cHV0IGEgd2FybmluZyBvbiBNT05PIG11bHRpdmlldyBtb2RlLgoKMjAxNS0wOS0xOSAxNzowMjoxOCArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJICBydHB0aGVvcmFkZXBheTogRml4IG1lbW9yeSBsZWFrcwoJICBUaGUgc2FtZSBtZW1vcnkgbGVha3Mgd2VyZSBmaXhlZCBpbiBpZGVudGljYWwgZmFzaGlvbiBmb3IKCSAgdm9yYmlzZGVwYXkgaW4gMDZlZmVmZjVkOTc5NTc2YTI1MmU1ZGFlNTdmNDZkNjQ0NWIxZGYxMiBpbiAyMDA5LgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1Mjc3CgoyMDE1LTA5LTE5IDE3OjA0OjA3ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkgIHJ0cHt2b3JiaXMsdGhlb3JhfXtwYXksZGVwYXl9OiBDb3NtZXRpYyBjbGVhbnVwCgkgICogdXNlIGdfbGlzdF9mcmVlX2Z1bGwoKSwgZG9uJ3QgaXRlcmF0ZSBlbGVtZW50cyBtYXVhbGx5IHdoZW4gZnJlZWluZwoJICAqIGNhbGwgZ3N0X3J0cF8qX3BheV9jbGVhcl9wYWNrZXQoKSwgZG9uJ3QgZHVwbGljYXRlIGl0cyBjb2RlCgkgICogdXNlIGdzdF9idWZmZXJfdW5yZWYoKSB0byBjbGFyaWZ5IHRoYXQgaXQgaXMgYnVmZmVycyBiZWluZyByZWxlYXNlZCwKCSAgaW5zdGVhZCBvZiByZWZlcmluZyBkaXJlY3RseSB0byBnc3RfbWluaV9vYmplY3RfdW5yZWYoKQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1Mjc3CgoyMDE1LTA5LTE5IDE4OjQ0OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSAgcnRwe3ZvcmJpcyx0aGVvcmF9cGF5OiBTdG9yZSBoZWFkZXJzIGluIHRoZSBwYWNrZXQgYnVmZmVycyBsaXN0cywgbm90IGEgTlVMTCBidWZmZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTI2NQoKPT09IHJlbGVhc2UgMS41LjkxID09PQoKMjAxNS0wOS0xOCAxOTozMzoxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS41LjkxCgoyMDE1LTA5LTE4IDE5OjIzOjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE1LTA5LTE4IDExOjUwOjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vemhfQ04ucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE1LTA5LTE3IDEwOjUwOjAxICswOTAwICBFdW5oYWUgQ2hvaSA8ZXVuaGFlMS5jaG9pQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogRml4IHRhZ2xpc3QgbGVhawoJICBnc3RfdGFnX2xpc3RfaW5zZXJ0KCkgZG9lcyBub3QgdGFrZSBvd25lcnNoaXAgb2YgdGhlIGluc2VydGVkIHRhZ2xpc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUxMzgKCjIwMTUtMDktMTYgMDc6MDU6MzYgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogU2tpcCBMT0FTIEFBQyB1bnRpbCBhIHZhbGlkIGNvbmZpZyBpcyBzZWVuLgoJICBJdCdzIG5vcm1hbCB3aGVuIGRyb3BwaW5nIGludG8gdGhlIG1pZGRsZSBvZiBhIHN0cmVhbSB0bwoJICBub3QgYWx3YXlzIGhhdmUgdGhlIGNvbmZpZyBhdmFpbGFibGUgaW1tZWRpYXRlbHksIHNvIHNraXAgTE9BUwoJICB1bnRpbCBhIHZhbGlkIGNvbmZpZyBpcyBzZWVuIHdpdGhvdXQgZWl0aGVyIHNldHRpbmcgaW52YWxpZAoJICBjYXBzIG9yIGVycm9yaW5nIG91dC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTM4NgoKMjAxNS0wOS0xMyAxNTo0MTozOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogcmVzZXQganVzdCBhIGJpdCBtb3JlIHVwb24gZmx1c2hfc3RvcAoKMjAxNS0wOS0xMyAxNTo0MDowOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogcmVtb3ZlIGRlYWQgc3RydWN0IG1lbWJlcgoKMjAxNS0wOS0xMSAxNzowOToyOCArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazogZml4IEdFcnJvciBtZW1vcnkgbGVhayB3aGVuIGhvc3RuYW1lIHJlc29sdXRpb24gZmFpbHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDg2OQoKMjAxNS0wOS0xMCAxNToyNjo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSAgbWF0cm9za2FtdXg6IGRyb3AgSEVBREVSIGZsYWcgZnJvbSBvdXRwdXQgYnVmZmVycwoJICBEcm9wIEhFQURFUiBmbGFnIGZyb20gb3V0cHV0IGJ1ZmZlcnMgaWYgdGhleSBhcmUgbm90IGluZGVlZAoJICBoZWFkZXJzLgoJICBGaXhlcyByZXNlbmRpbmcgb2YgaGVhZGVycyBpbiB0Y3AgY29ubmVjdGlvbiBoYW5kbGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NzY4CgoyMDE1LTA5LTEwIDE2OjAwOjUwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSAgbWF0cm9za2FtdXg6IGZpeCBtYXRyb3NrYW11eCAhIG1hdHJvc2thZGVtdXgKCSAgRG9uJ3QgY2Fycnkgb3ZlciBESVNDT05UIGZsYWdzIGZyb20gdGhlIGlucHV0IGJ1ZmZlcnMgdG8gdGhlCgkgIG91dHB1dCBidWZmZXIsIG9yIHRoZSBkZW11eGVyIG1pZ2h0IHJlc2V0IGl0cyBzdGF0ZSB3aGVuIGl0CgkgIHJlY2VpdmVzIHRoZSBmaXJzdCBkYXRhIGJ1ZmZlciBqdXN0IGFmdGVyIHBhcnNpbmcgdGhlIHNpbXBsZQoJICBibG9jayBoZWFkZXIsIGFuZCB0aGVuIGV4cGVjdCBzYW5lIGRhdGEgdG8gZm9sbG93LgoJICBGaXhlcyBtYXRyb3NrYW11eCAhIGRlbXV4IGVycm9yaW5nIG91dC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDc2OAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU3ODA1CgoyMDE1LTA5LTA5IDEyOjUxOjQwIC0wNzAwICBNYXJ0aW4gS2VsbHkgPG1hcnRpbkBzdXJyb3VuZC5pbz4KCgkqIGdzdC9ydHNwL1JFQURNRToKCSAgcnRzcDogZml4IHNtYWxsIFJFQURNRSB0eXBvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ4MDcKCjIwMTUtMDktMDQgMTk6NDU6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJICB3YXZwYWNrcGFyc2U6IHNldCBib3RoIHB0cyBhbmQgZHRzIHNvIGJhc2VwYXJzZSBkb2Vzbid0IG1ha2UgdXAgd3JvbmcgZHRzIGFmdGVyIHNlZWtzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTIxMDYKCjIwMTUtMDktMDQgMTk6MzQ6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IHNldCBib3RoIHB0cyBhbmQgZHRzIHNvIGJhc2VwYXJzZSBkb2Vzbid0IG1ha2UgdXAgd3JvbmcgZHRzIGFmdGVyIGEgc2VlawoJICBmbGFjIGNvbnRhaW5zIHRoZSBzYW1wbGUgb2Zmc2V0IGluIHRoZSBmcmFtZSBoZWFkZXIsIHNvIGFmdGVyIGEgc2VlawoJICB3aXRob3V0IGluZGV4IGZsYWNwYXJzZSB3aWxsIGtub3cgdGhlIGV4YWN0IHBvc2l0aW9uIHdlIGxhbmRlZCBvbiBhbmQKCSAgdGltZXN0YW1wIGJ1ZmZlcnMgYWNjb3JkaW5nbHkuIEl0IG9ubHkgc2V0IHRoZSBwdHMgdGhvdWdoLCB3aGljaCBtZWFucwoJICB0aGUgYmFzZXBhcnNlLXNldCBkdHMgd2hpY2ggd2FzIHNldCB0byB0aGUgc2VlayBwb3NpdGlvbiBwcmV2YWlscywgYW5kCgkgIHNpbmNlIHRoZSBzZWVrIHdhcyBiYXNlZCBvbiBhbiBlc3RpbWF0ZSwgdGhlcmUncyBsaWtlbHkgYSBkaXNjcmVwYW5jeQoJICBiZXR3ZWVuIHdoZXJlIHdlIHdhbnRlZCB0byBsYW5kIGFuZCB3aGVyZSB3ZSBkaWQgbGFuZCwgc28gZnJvbSBoZXJlIG9uCgkgIHRoYXQgZHRzL3B0cyBkaWZmZXJlbmNlIHdpbGwgYmUgbWFpbnRhaW5lZCwgd2l0aCBkdHMgcG9zc2libHkgbXVsdGlwbGUKCSAgc2Vjb25kcyBhaGVhZCBvZiBwdHMsIHdoaWNoIGlzIGp1c3Qgd3JvbmcuIFRoZSBlYXNpZXN0IHdheSB0byBmaXggdGhpcwoJICBpcyB0byBqdXN0IHNldCBib3RoIHB0cyBhbmQgZHRzIGJhc2VkIG9uIHRoZSBzYW1wbGUgb2Zmc2V0LCBidXQgcGVyaGFwcwoJICBwYXJzZWQgYXVkaW8gc2hvdWxkIGp1c3Qgbm90IGhhdmUgZHRzIHNldCBhdCBhbGwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTIxMDYKCjIwMTUtMDktMDYgMTY6MzM6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSAgZG9jczogcmVtb3ZlIHByb3BlcnRpZXMgYW5kIHNpZ25hbHMgdGhhdCBubyBsb25nZXIgZXhpc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjQ0MwoKMjAxMy0xMC0xMSAxNToxMzowMCArMDAwMCAgR2VvcmdlIENocmlzcyA8Z3NjaHJpc3NAZ21haWwuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBNYWtlIHRoZSBlbGVtZW50IGNvdW50IGluIGFycmF5cyBub3QgaW5jbHVkZSBlbmQKCSAgT25lLWxpbmUgcmVtb3ZhbCBvZiB0YWdzX3dyaXR0ZW4rKwoJICBUaGlzIHNob3VsZCBmaXggcnRtcCBvdXRwdXQgdG8gY3J0bXBzZXJ2ZXIsIGFuZCBob3BlZnVsbHkKCSAgbm9vbmUgaXMgZXhwZWN0aW5nIHRoYXQgdGhlIGVsZW1lbnQgY291bnQgaW5jbHVkZXMgdGhlIGVuZAoJICBlbGVtZW50LCBhcyBkaWZmZXJlbnQgYml0cyBvZiBkb2N1bWVudGF0aW9uIHNheSBkaWZmZXJlbnQKCSAgdGhpbmdzIGFib3V0IHdoZXRoZXIgaXQgc2hvdWxkIG9yIG5vdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MTYyNAoKMjAxNS0wNy0zMCAwMDo1OToxNSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICBmbHZtdXg6IFN0b3JlIGluY29taW5nIGJpdHJhdGUgdGFncyBhbmQgc2VuZCBpbiB0aGUgbWV0YWRhdGEKCSAgQXBwYXJlbnRseSB0aGUgTWljcm9zb2Z0IEF6dXJlIFJUTVAgc2VydmVyIHJlcXVpcmVzIHRoYXQgdGhlCgkgIHZpZGVvZGF0YXJhdGUgYW5kIGF1ZGlvZGF0YXJhdGUgbWV0YWRhdGEgYmUgcHJvdmlkZWQsIHNvCgkgIHNldCB0aG9zZSwgZXZlbiBpZiBpdCdzIHRvIDAuIFVzZSB0aGUgYWN0dWFsIGlucHV0IGJpdHJhdGUKCSAgdGFncyBpZiBhdmFpbGFibGUuCgoyMDE1LTA5LTA0IDAwOjA2OjI5ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogRG9uJ3QgcGFyc2Uga2V5IGRhdGEgbW9yZSB0aGFuIG5lZWRlZC4KCSAgV2hlbiBhbiBhdXhpbGxpYXJ5IHN0cmVhbXMgYXJlIHByZXNlbnQgaW4gdGhlIFNEUCBtZWRpYSwKCSAgdGhlcmUncyBubyBuZWVkIHRvIHJlLXBhcnNlIHRoZSBTRFAgYXR0cmlidXRlcyBtdWx0aXBsZQoJICB0aW1lcy4KCjIwMTUtMDktMDMgMjA6NTY6NTUgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBGaXggU1JUUCArIFJUWCwgYXV0aCBhY2Nlc3MsIGEgbGVhaywgYW5kIGFuIGludmFsaWQgbWVtb3J5IGFjY2Vzcy4KCSAgSW4gcGFyc2Vfa2V5bWdtdCgpLCBkb24ndCBtdXRhdGUgdGhlIGlucHV0IHN0cmluZyB0aGF0J3MgYmVlbiBwYXNzZWQKCSAgYXMgY29uc3QsIGVzcGVjaWFsbHkgc2luY2Ugd2UgbWlnaHQgbmVlZCB0aGUgb3JpZ2luYWwgdmFsdWUgYWdhaW4gaWYKCSAgdGhlIHNhbWUga2V5IGluZm8gYXBwbGllcyB0byBtdWx0aXBsZSBzdHJlYW1zIChSVFgsIGZvciBleGFtcGxlKS4KCSAgV2hlbiBhIHJlc291cmNlIGlzIDQwNCwgYW5kIHdlIGhhdmUgYXV0aCBpbmZvIC0gcmV0cnkgd2l0aCB0aGUgYXV0aAoJICBpbmZvIHRoZSBzYW1lIGFzIGlmIHdlIGhhZCByZWNlaXZlIHVuYXV0aG9yaXNlZCwgaW4gY2FzZSB0aGUgcmVzb3VyY2UKCSAgaXNuJ3QgZXZlbiB2aXNpYmxlIHVudGlsIGNyZWRlbnRpYWxzIGFyZSBzdXBwbGllZC4KCSAgRml4IGEgbWVtb3J5IGxlYWsgaGFuZGxpbmcgTWlrZXkgZGF0YS4KCSAgV2hlbiBnZW5lcmF0aW5nIGEgcmFuZG9tIGtleXN0cmluZywgZG9uJ3Qgb3ZlcnJ1biB0aGUgMzAgYnl0ZQoJICBidWZmZXIgYnkgZ2VuZXJhdGluZyAzMiBieXRlcyBpbnRvIGl0LgoKMjAxNS0wOS0wNCAxNToxODowNSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogRml4IGJ1aWxkIHdpdGggR0xpYiA8IDIuNDQKCSAgR19JT19FUlJPUl9DT05ORUNUSU9OX0NMT1NFRCB3YXMgYWRkZWQgaW4gMi40NC4KCjIwMTUtMDktMDQgMTI6MDE6NTIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IElnbm9yZSBHX0lPX0VSUk9SX0NPTk5FQ1RJT05fQ0xPU0VEIHdoZW4gcmVjZWl2aW5nIGRhdGEKCSAgVGhpcyBoYXBwZW5zIG9uIFdpbmRvd3MgaWYgd2UgdXNlIHRoZSBzYW1lIHNvY2tldCBmb3Igc2VuZGluZyBwYWNrZXRzLAoJICBhbmQgdGhlIHJlbW90ZSBzZW5kcyBJQ01QIHBvcnQvaG9zdCB1bnJlYWNoYWJsZSBtZXNzYWdlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDUzNAoKMjAxNS0wOS0wMiAyMToxMjo0MSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJICBydHB2b3JiaXMvdGhlb3JhZGVwYXk6IEZpeCBoYW5kbGluZyBvZiBmcmFnbWVudGVkIHBhY2tldHMKCSAgVGhpcyB3YXMgYnJva2VuIGluIGIxMDg5ZmI1MjAgYnkgbm90IGNvbnNpZGVyaW5nIHRoZSBmdWxsIHBhY2tldCBsZW5ndGggb2YgYQoJICBmcmFnbWVudGVkIHBhY2tldCBidXQgb25seSB0aGUgbGVuZ3RoIG9mIHRoZSBmaXJzdCBvbmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ0MTcKCjIwMTUtMDktMDEgMTU6Mzk6MjIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgZHRtZnNyYzogUmVwbHkgdG8gbGF0ZW5jeSBxdWVyeQoKMjAxNS0wOC0zMSAxNjo0MjozMCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHNlc3Npb24uYzoKCSAgdGVzdHM6IEZpeCBydHBzZXNzaW9uIHRlc3QgZmFpbHVyZQoJICBUaGUgdGltZSBvZiB0aGUgZmlyc3QgUlRDUCBwYWNrZXQgaXMgc2VtaS1yYW5kb20sIHNvCgkgIHNvbWV0aW1lcyBpdCB3YXMgcHJvZHVjZWQgYmVmb3JlIGVub3VnaCBwYWNrZXRzIGZyb20KCSAgdGhlIHNlY29uZCBTU1JDIHdlcmUgcmVjZWl2ZWQuIEZpcnN0IGRyb3AgcXVldWVkIFJUQ1AKCSAgcGFja2V0cywgdGhlbiBhZHZhbmNlIHRoZSBjbG9jayBlbm91Z2ggdG8gZW5zdXJlCgkgIHRoYXQgYXQgbGVhc3Qgb25lIG5ldyBSVENQIHBhY2tldCBpcyBwcm9kdWNlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDczMQoKMjAxNS0wOC0zMSAxMzo1NjowNCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkgIGxldmVsOiBpbXByb3ZlIHRoZSB0ZXN0IGZvciBtdWx0aS1jaGFubmVsIG1vZGUKCSAgQ2hhbmdlIHRoZSB0ZXN0IHRvIHZlcmlmeSB0aGUgcmVhZC1pbmRleCBmb3IgbXVsdGlwbGUgbWVzc2FnZXMgcGVyIGJ1ZmZlci4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQxNDQKCjIwMTUtMDgtMzEgMTI6NDY6NTIgKzAyMDAgIEphbiBBbGV4YW5kZXIgU3RlZmZlbnMgKGhlZnRpZykgPGphbi5zdGVmZmVuc0BnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogQWxpZ24gcmF3IHZpZGVvIGZyYW1lcyB0byAzMiBieXRlcwoJICBPdXRwdXR0aW5nIHVuYWxpZ25lZCB2aWRlbyBmcmFtZXMgY2F1c2VzIHZpZGVvc2NhbGUgZXQgYWwgdG8KCSAgY3Jhc2ggd2hlbiBhdHRlbXB0aW5nIFNJTUQtYWNjZWxlcmF0ZWQgY29udmVyc2lvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjk2NQoKMjAxNS0wOC0yNiAyMzoxNjo0NiArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBsZXZlbDogZml4IGxldmVsIGNhbGN1bGF0aW9ucyBmb3IgbXV0bGlwbGUgY2hhbm5lbHMKCSAgVGhpcyB3YXMgYnJva2VuIHdpdGggN2I5MGJmMzIxNTA4OTdhMTQxYTI5YTEyZWNhYjU1NWQ4YzViN2ZhYi4KCjIwMTUtMDgtMjcgMTA6Mjg6NTUgKzA1MzAgIFJhdmkgS2lyYW4gSyBOIDxyYXZpLmtpcmFuQHNhbXN1bmcuY29tPgoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkgIHNtcHRlOiBGaXggbWVtb3J5IGxlYWsKCSAgSW4gZ3N0X3NtcHRlX2NvbGxlY3RlZCgpLCBjaGVjayB1cGZyb250IGlmIGlucHV0IGZvcm1hdHMgYXJlIHNhbWUKCSAgb3Igbm90LiBUaGlzIGF2b2lkcyBhbGxvY2F0aW9uIG9mIGluMSBhbmQgaW4yIGJ1ZmZlcnMgYW5kCgkgIHN1YnNlcXVlbnQgbWVtb3J5IGxlYWsgd2hlbiBpbnB1dCBmb3JtYXRzIGRvIG5vdCBtYXRjaC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDE1MwoKMjAxNS0wOC0yMSAxMTo1MjoxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIHRlc3RzOiBzb3VwaHR0cHNyYzogZG9uJ3QgdHJ5IHRvIGNvbm5lY3QgdG8gZGVhZCByYWRpbyBzZXJ2ZXIKCjIwMTUtMDgtMjEgMTY6Mjk6MTYgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IFRyaXZpYWwgZml4IHRvIGNoZWNrIGNvcnJlY3QgY29uZGl0aW9uCgkgIFdoZW4gY2hlY2tpbmcgZm9yIGRlc2NyaWJlIG1ldGhvZCwgYmVjYXVzZSBvZiBtaXNzaW5nIHBhcmVudGhlc2VzLCB3cm9uZwoJICBjb25kaXRpb24gaXMgYmVpbmcgY2hlY2tlZCwgd2hpY2ggd2lsbCByZXN1bHQgaW4gd3JvbmcgYmVoYXZpb3IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM5MTIKCjIwMTUtMDgtMjEgMTM6MTk6MDIgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2E6IHJlYWQ6IGZpeCB0YWcgbGlzdCBtZW1vcnkgbGVhawoJICBnc3RfdG9jX2VudHJ5X21lcmdlX3RhZ3MgbWFrZXMgYSBuZXcgcmVmIG9mIHRoZSB0YWdsaXN0LCBzbyBpdCBzaG91bGQKCSAgYmUgdW5yZWYnZWQgYXMgc29vbiBhcyB0aGUgdGFncyBhcmUgbWVyZ2VkIHRvIHRoZSB0b2NlbnRyeQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzOTA0CgoyMDE1LTA4LTIxIDEyOjIwOjU5ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJICB3YXZwYWNrZGVjOiBmaXggdGFnbGlzdCBtZW1vcnkgbGVhawoJICBXaGVuIHBhc3NpbmcgdGhlIHRhZ2xpc3QgdG8gZ3N0X2F1ZGlvX2RlY29kZXJfbWVyZ2VfdGFncywgdGhlIHJlZmVyZW5jZSBpcyBpbmNyZWFzZWQKCSAgYnkgYXVkaW9kZWNvZGVyIGFuZCB0aGUgY2FsbGVyIHNob3VsZCBmcmVlIHRoZSB0YWdsaXN0IGJlaW5nIHBhc3NlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzkwMwoKMjAxNS0wOC0yMCAxNDo0NTozMyArMDIwMCAgSmVhbi1NaWNoZWwgSGF1dGJvaXMgPGplYW4tbWljaGVsLmhhdXRib2lzQHZlby1sYWJzLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogZml4IHBhZCBjbG9zaW5nCgkgIFNpZ25lZC1vZmYtYnk6IEplYW4tTWljaGVsIEhhdXRib2lzIDxqZWFuLW1pY2hlbC5oYXV0Ym9pc0B2ZW8tbGFicy5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM4NzUKCj09PSByZWxlYXNlIDEuNS45MCA9PT0KCjIwMTUtMDgtMTkgMTM6Mjk6NTMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuNS45MAoKMjAxNS0wOC0xOSAxMjo0Nzo0MiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNS0wOC0xOSAxMToyOTo1NSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2VsLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTUtMDgtMTMgMTc6Mjk6NTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICBtdWx0aWZpbGVzcmM6IGZpeCByZWdyZXNzaW9uIHdpdGggc3RhcnRpbmcgZnJvbSBpbmRleCBzZXQgdmlhIGluZGV4IHByb3BlcnR5CgkgIFdoZW4gd2UgaGF2ZW4ndCBzdGFydGVkIHlldCwgc2V0IHRoZSBzdGFydF9pbmRleCB3aGVuIHdlIHNldCB0aGUgaW5kZXggcHJvcGVydHksCgkgIHNvIHRoYXQgd2Ugc3RhcnQgYXQgdGhlIHJpZ2h0IGluZGV4IHBvc2l0aW9uIGFmdGVyIHRoZSBpbml0aWFsIHNlZWsuIFRoZSBpbmRleAoJICBwcm9wZXJ0eSB3YXMgbmV2ZXIgcmVhbGx5IG1lYW50IHRvIGJlIGZvciB3cml0aW5nLCBidXQgaXQgdXNlZCB0byB3b3JrLCBzbyBsZXQncwoJICBzdXBwb3J0IGl0IGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTQ3MgoKMjAxNS0wOC0xOCAxMDo1MjoxMSArMDEwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBvZmZzZXQgY2FsY3VsYXRpb24gd2hlbiBwYXJzaW5nIENFTkMgYXV4IGluZm8KCSAgQ29tbWl0IDdkN2U1NGNlNjg2M2ZmNTNlMTg4ZDAyNzZkMjY1MWI2NTA4MmZmZGIgYWRkZWQgc3VwcG9ydCBmb3IKCSAgREFTSCBjb21tb24gZW5jcnlwdGlvbiwgaG93ZXZlciBjb21taXQKCSAgYmIzMzY4NDBjMGIwYjAyZmExOGRjNDQzN2NlMGRlZDNkOTE0MjgwMSB0aGF0IHdlbnQgb250byBtYXN0ZXIKCSAgc2hvcnRseSBiZWZvcmUgdGhlIENFTkMgY29tbWl0IGNhdXNlZCB0aGUgY2FsY3VsYXRpb24gb2YgdGhlIENFTkMKCSAgYXV4IGluZm8gb2Zmc2V0IHRvIGJlIGluY29ycmVjdC4KCSAgVGhlIGJhc2Vfb2Zmc2V0IHdhcyBiZWluZyBhZGRlZCBpZiBwcmVzZW50LCBidXQgaWYgdGhlIGJhc2Vfb2Zmc2V0CgkgIGlzIHJlbGF0aXZlIHRvIHRoZSBzdGFydCBvZiB0aGUgbW9vZiwgdGhlIG9mZnNldCB3YXMgYmVpbmcgYWRkZWQgdHdpY2UuCgkgIFRoZSBjb3JyZWN0IGFwcHJvYWNoIGlzIHRvIGNhbGN1bGF0ZSB0aGUgb2Zmc2V0IGZyb20gdGhlIHN0YXJ0IG9mIHRoZQoJICBtb29mIGFuZCB1c2UgdGhhdCBvZmZzZXQgd2hlbiBwYXJzaW5nIHRoZSBDRU5DIGF1eCBpbmZvLgoKMjAxNS0wOC0xNyAxNDoyODoyNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBhY3R1YWxseSByZXR1cm4gdHJ1ZSBmb3IgYWNjZXB0LWNhcHMgcXVlcnkgaGFuZGxpbmcKCjIwMTUtMDgtMTcgMTQ6MDc6MTAgKzA5MDAgIEh5dW5qdW4gS28gPHp6b29uLmtvQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwa2x2cGF5LmM6CgkgIHJ0cDogY29weSBtZXRhZGF0YSBpbiB0aGUgKGRlKXBheWxvYWRlcnMgd2hpY2ggaXMgbWlzc2VkIGJlZm9yZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNzA2CgoyMDE1LTA4LTE2IDE1OjIxOjUxIC0wNDAwICBEdXN0aW4gU3BpY3V6emEgPGR1c3RpbkB2aXJ0dWFscm9hZHNpZGUuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSAgZGlyZWN0c291bmRzaW5rOiBhbGxvdyBzcGVjaWZ5aW5nIGF1ZGlvIHBsYXliYWNrIGRldmljZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNjcwCgoyMDE1LTA4LTE2IDEzOjUxOjQ3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IHJlbW92ZSBzaW5nbGUgZW50cnkgaWYgZnJvbSBsb29wCgkgIEl0ZXJhdGUgZnJvbSB0aGUgMm5kIGNoYW5uZWwgb24gYW5kIGNyZWF0ZSB0aGUgMSBjaGFubmVsIHN0cnVjdAoJICBvdXRzaWRlIHRvIG1ha2UgbG9vcCBzdHJ1Y3R1cmUgc2ltcGxlciBhbmQgb25seSBzbGlnaHRseSBmYXN0ZXIuCgoyMDE1LTA4LTE2IDEzOjIxOjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IGltcGxlbWVudCBwcm9wZXIgYWNjZXB0LWNhcHMKCSAgU2hvdWxkIGp1c3QgY29tcGFyZSB3aXRoIHdoYXQgY2FuIGJlIGltbWVkaWF0ZWxseSBhY2NlcHRlZCBieQoJICB0aGUgZWxlbWVudC4gZmxhY2VuYyBjYW4ndCByZW5lZ290aWF0ZSBzbyBpZiBpdCBoYXMgYSBjYXBzIGFscmVhZHkKCSAgaXQgc2hvdWxkIG9ubHkgYWNjZXB0IGlmIGl0IGlzIHRoYXQgY2FwcyBvdGhlcndpc2UganVzdCB1c2UgdGhlCgkgIHRlbXBsYXRlIGNhcHMKCjIwMTUtMDgtMTYgMTM6MDM6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogaW1wcm92ZSBzaW5rIHBhZCB0ZW1wbGF0ZSBjYXBzCgkgIFJlbW92ZXMgdGhlIG5lZWQgZm9yIGN1c3RvbSBjYXBzIHF1ZXJ5IGhhbmRsaW5nIGFuZCBtYWtlcyBpdCBtb3JlCgkgIGNvcnJlY3QgZnJvbSB0aGUgYmVnaW5uaW5nIG9uIHRoZSB0ZW1wbGF0ZS4gSXQgaXMgYSBiaXQgdWdsaWVyCgkgIHRvIHJlYWQgYmVjYXVzZSB0aGVyZSBpcyAxIGVudHJ5IHBlciBjaGFubmVsIGJ1dCBtYWtlcyBjb2RlIGVhc2llcgoJICB0byBtYWludGFpbi4KCjIwMTUtMDgtMTYgMTI6NDE6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIHk0bWVuY29kZTogZml4IGdzdC1sYXVuY2ggdmVyc2lvbiBpbiBkb2N1bWVudGF0aW9uCgoyMDE1LTA4LTE1IDIyOjMyOjIxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkgIGF1ZGlvZW5jb2RlcnM6IHVzZSB0ZW1wbGF0ZSBzdWJzZXQgY2hlY2sgZm9yIGFjY2VwdC1jYXBzCgkgIEl0IGlzIGZhc3RlciB0aGFuIGRvaW5nIGEgcXVlcnkgdGhhdCBwcm9wYWdhdGVzIGRvd25zdHJlYW0gYW5kCgkgIHNob3VsZCBiZSBlbm91Z2gKCSAgRWxlbWVudHM6IHNwZWV4ZW5jLCB3YXZwYWNrZW5jLCBtdWxhd2VuYywgYWxhd2VuYwoKMjAxNS0wOC0xNSAyMjoyOTo0MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnB4L2dzdHZwOWVuYy5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICB2aWRlb2VuY29kZXJzOiB1c2UgdGVtcGxhdGUgc3Vic2V0IGNoZWNrIGZvciBhY2NlcHQtY2FwcwoJICBJdCBpcyBmYXN0ZXIgdGhhbiBkb2luZyBhIHF1ZXJ5IHRoYXQgcHJvcGFnYXRlcyBkb3duc3RyZWFtIGFuZAoJICBzaG91bGQgYmUgZW5vdWdoCgkgIEVsZW1lbnRzOiBqcGVnZW5jLCBwbmdlbmMsIHZwOGVuYywgdnA5ZW5jLCB5NG1lbmMKCjIwMTUtMDgtMTYgMTc6MjE6MjQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiB1c2UgbmV3IGJhc2VwYXJzZSBBUEkgdG8gZml4IHRhZyBoYW5kbGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc5NzY4CgoyMDE1LTAzLTE3IDE3OjUwOjM3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHNiY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogdXNlIG5ldyBiYXNlIHBhcnNlIEFQSSB0byBmaXggdGFnIGhhbmRsaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzk3NjgKCjIwMTUtMDgtMTYgMTQ6Mzc6NTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IHVzZSBuZXcgYmFzZXBhcnNlIEFQSSBhbmQgZml4IHRhZyBoYW5kbGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc5NzY4CgoyMDE1LTA4LTE2IDEzOjA0OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFVzZSBzaWduZWQgaW50ZWdlciB0eXBlIHRvIGJlIGFibGUgdG8gY2hlY2sgZm9yIG5lZ2F0aXZlIHN1YnRyYWN0aW9uIHJlc3VsdHMKCSAgQ0lEIDEzMTU4MjkKCjIwMTUtMDgtMTYgMTE6NTA6MzQgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkgIHJ0cHZvcmJpc2RlcGF5OiByZW1vdmUgZGVhZCBjb2RlCgkgIHBheWxvYWRfYnVmZmVyIG11c3QgYmUgTlVMTCBpbiBpZ25vcmVfcmVzZXJ2ZWQuIENoZWNrIHdpbGwgYWx3YXlzIGJlIGZhbHNlLgoJICBJbnRyb2R1Y2VkIGJ5IGIxMDg5ZmI1MjA3Njk3YmEyNmVkYjRmZjY2ZWQwZjQ2NWM2ZGYzY2YKCSAgQ0lEICMxMzE2NDc2CgoyMDE1LTA4LTE1IDIyOjQ1OjUzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuaDoKCSAgYWxhd2VuYzogcG9ydCB0byBBdWRpb0VuY29kZXIgYmFzZSBjbGFzcwoKMjAxNS0wOC0xNSAwOToxNjoyMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkgIGF1ZGlvZGVjb2RlcnM6IHVzZSBkZWZhdWx0IHBhZCBhY2NlcHQtY2FwcyBoYW5kbGluZwoJICBBdm9pZHMgdXNlbGVzcyBjaGVjayBvZiBkb3duc3RyZWFtIGNhcHMgd2hlbiBoYW5kbGluZyBhbgoJICBhY2NlcHQtY2FwcyBxdWVyeQoJICBFbGVtZW50czogZmxhY2RlYywgc3BlZXhkZWMsIHdhdnBhY2tkZWMsIG11bGF3ZGVjLCBhbGF3ZGVjCgoyMDE1LTA4LTE1IDA4OjQ5OjU3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cHgvZ3N0dnA5ZGVjLmM6CgkgIHZpZGVvZGVjb2RlcnM6IHVzZSBkZWZhdWx0IHBhZCBhY2NlcHQtY2FwcyBoYW5kbGluZwoJICBBdm9pZHMgdXNlbGVzcyBjaGVjayBvZiBkb3duc3RyZWFtIGNhcHMgd2hlbiBoYW5kbGluZyBhbgoJICBhY2NlcHQtY2FwcyBxdWVyeQoJICBFbGVtZW50czoganBlZ2RlYywgcG5nZGVjLCB2cDhkZWMsIHZwOWRlYwoKMjAxNS0wOC0xNSAxMTozMTowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJICBhbGF3ZGVjOiBtYWtlIGVycm9yIGhhbmRsaW5nIGEgYml0IG5pY2VyCgkgIFByaW50IHRoZSBlbGVtZW50IGFsb25nIHdpdGggdGhlIGRlYnVnIHRvIG1ha2UgaXQgZWFzaWVyIHRvIHRyYWNlCgkgIHRoZSBmYWlsdXJlcwoKMjAxNS0wOC0xNSAxMTowNDoxNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmg6CgkgIGFsYXdkZWM6IHBvcnQgdG8gYXVkaW9kZWNvZGVyIGJhc2UgY2xhc3MKCSAgbXVsYXdkZWMgd2FzIGFscmVhZHkgcG9ydGVkLCBhbGF3ZGVjIHdhcyBsZWZ0IGJlaGluZC4KCjIwMTUtMDgtMTUgMTA6MzQ6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBvbmx5IGxvb2sgZm9yIG1vcmUgc2FtcGxlcyBpbiBtb29mcyBpbiBwdWxsLW1vZGUKCSAgRm9yIHBsYXliYWNrIG9mIHNvbWUgZnJhZ21lbnRlZCBmb3JtYXRzIHdpdGggcXRkZW11eCBpdCB3aWxsCgkgIHRyeSB0byBsb29rIGZvciB0aGUgbmV4dCBtb29mIGFmdGVyIGZpbmlzaGluZyBvbmUgYnV0IGl0IGlzIG9ubHkKCSAgcG9zc2libGUgZm9yIHB1bGwtbW9kZS4gRm9yIHBsYXliYWNrIG9mIHN0cmVhbWluZyBmcmFnbWVudGVkIGZvcm1hdHMKCSAgc3VjaCBhcyBEQVNIIGl0IHNob3VsZCBqdXN0IG5vdCB0cnkgdG8gbG9vayBmb3IgYW5vdGhlciBtb29mIGJ1dAoJICBpbnN0ZWFkIHdhaXQgZm9yIG1vcmUgZGF0YS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjYwMgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNjAzCgoyMDE1LTA4LTE1IDEyOjU4OjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJICBkY2FwYXJzZTogRG9uJ3QgbG9vayBmb3IgYSBzZWNvbmQgc3luY3dvcmQKCSAgVGhlcmUgYXJlIHN0cmVhbXMgb3V0IHRoZXJlIHRoYXQgY29uc2lzdGVudGx5IGNvbnRhaW4gZ2FyYmFnZSBiZXR3ZWVuCgkgIGV2ZXJ5IGZyYW1lIHNvIHdlIG5ldmVyIGV2ZXIgZmluZCBhIHNlY29uZCBjb25zZWN1dGl2ZSBzeW5jd29yZC4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzgyMzcKCjIwMTUtMDgtMTUgMTE6MTI6MDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnB4L2dzdHZwOWVuYy5jOgoJICB2cDhlbmMsIHZwOWVuYzogcmVzZXQgbXVsdGlwYXNzIGZpbGUgaW5kZXggd2hlbiBzdG9wcGluZyBlbmNvZGVyCgkgIEZpeGVzIG11bHRpcGFzcyBlbmNvZGluZyB3aGVuIHJlLXVzaW5nIHRoZSBzYW1lIGVsZW1lbnQvcGlwZWxpbmUKCSAgZm9yIHN1YnNlcXVlbnQgZW5jb2RpbmcgcnVucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzcyOAoKMjAxNS0wOC0xNSAxMTowOTo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA5ZW5jLmM6CgkqIGV4dC92cHgvZ3N0dnA5ZW5jLmg6CgkgIHZwOWVuYzogcHJvdmlkZSBzdXBwb3J0IGZvciBtdWx0aXBsZSBwYXNzIGNhY2hlIGZpbGVzCgkgIFNvbWUgZmlsZXMgbWF5IHByb3ZpZGUgZGlmZmVyZW50IGNhcHMgaW5zaWdodCBvZiBvbmUgc3RyZWFtLiBTaW5jZQoJICB2cDllbmMgc3VwcG9ydCBjYXBzIHJlaW5pdCwgd2Ugc2hvdWxkIHN1cHBvcnQgY2FjaGUgcmVpbml0IHRvby4KCSAgSWYgbW9yZSB0aGVuIGZpbGUgY2FjaGUgZmlsZSB3aWxsIGJlIGNyZWF0ZWQsIHRoZSBuYW1pbmcgd2lsbCBiZToKCSAgY2FjaGUgY2FjaGUuMSBjYWNoZS4yIC4uLgoJICBCYXNlZCBvbiBwYXRjaCBieTogT2xla3NpaiBSZW1wZWwgPGxpbnV4QHJlbXBlbC1wcml2YXQuZGU+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc3MjgKCjIwMTUtMDgtMTQgMTE6NDE6NDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkgIHRlc3RzOiBhYWNwYXJzZTogdXNlIGNhcHMgcXVlcnkgaW5zdGVhZCBvZiBhY2NlcHQtY2FwcwoJICBUaGUgYWNjZXB0LWNhcHMgcXVlcnkganVzdCBkb2VzIGEgc2hhbGxvdyBjaGVjayBhdCB0aGUgY3VycmVudAoJICBlbGVtZW50IHdoaWxlIGF0IHRoaXMgdGVzdCB3ZSB3YW50IGl0IHRvIGFsc28gbG9vayBhdCBkb3duc3RyZWFtLgoJICBTbyB1c2UgY2FwcyBxdWVyeSB0aGVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzYyMwoKMjAxNS0wOC0xNCAxMTo0MDoyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0c2JjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiBlbmFibGUgYWNjZXB0LXRlbXBsYXRlIGZsYWcKCSAgRG8gYSBxdWljayBjaGVjayB3aXRoIHRoZSBwYWQgdGVtcGxhdGUgY2FwcyBhcyBpdCBpcyBlbm91Z2guIFVzZXJzCgkgIHNob3VsZCBoYXZlIGZpZ3VyZWQgdGhlIGFwcHJvcHJpYXRlIGZ1bGwgY2FwcyBvbiBhIHByZXZpb3VzIGNhcHMgcXVlcnkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzYyMwoKMjAxNS0wOC0xNCAxNTo0Njo1MyArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBzZW5kIHRoZSBVc2VyLUFnZW50IGhlYWRlcgoJICBTb21ldGltZXMgaXQgaXMgdXNlZnVsIHRvIGtub3cgdGhpcyBpbmZvcm1hdGlvbiBvbiB0aGUKCSAgc2VydmVyIHNpZGUuIE90aGVyIHBvcHVsYXIgaW1wbGVtZW50YXRpb25zICh2bGMsIGZmbXBlZywgLi4uKQoJICBhbHNvIHNlbmQgdGhpcyBoZWFkZXIgb24gZXZlcnkgbWVzc2FnZS4KCSAgVGhpcyBpbmNsdWRlcyBhIG5ldyAidXNlci1hZ2VudCIgcHJvcGVydHkgdGhhdCB0aGUgdXNlcgoJICBjYW4gc2V0IHRvIHVzZSBhIGN1c3RvbSBVc2VyLUFnZW50IHN0cmluZy4gVGhlIGRlZmF1bHQKCSAgaXMgIkdTdHJlYW1lci88dmVyc2lvbj4iCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAxMDEKCjIwMTUtMDgtMTQgMTU6NDI6NDIgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHdyYXAgZ3N0X3J0c3BfbWVzc2FnZV9pbml0X3JlcXVlc3QgaW4gYSBsb2NhbCBmdW5jdGlvbgoJICBUaGlzIHdpbGwgYWxsb3cgYWRkaW5nIGNvbW1vbiByZXF1ZXN0IGluaXRpYWxpemF0aW9uLCBsaWtlIHRoZQoJICB1c2VyIGFnZW50IHN0cmluZywgaW4ganVzdCBvbmUgcGxhY2UuCgoyMDE1LTA4LTE0IDA5OjM2OjA5ICswNTMwICBQcmFzaGFudCBHb3Rhcm5lIDxwcy5nb3Rhcm5lQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkgIGF1ZGlvZWNobzogbWFrZSBzdXJlIGJ1ZmZlciBnZXRzIHJlYWxsb2NhdGVkIGlmIG1heF9kZWxheSBjaGFuZ2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM0OTAKCjIwMTUtMDctMDkgMDk6NTE6MjYgKzAyMDAgIE9sZWtzaWogUmVtcGVsIDxsaW51eEByZW1wZWwtcHJpdmF0LmRlPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZweC9nc3R2cDhlbmMuaDoKCSAgdnA4ZW5jOiBwcm92aWRlIHN1cHBvcnQgZm9yIG11bHRpcGxlIHBhc3MgY2FjaGUgZmlsZXMKCSAgU29tZSBmaWxlcyBtYXkgcHJvdmlkZSBkaWZmZXJlbnQgY2FwcyBpbnNpZ2h0IG9mIG9uZSBzdHJlYW0uIFNpbmNlIHZwOGVuYwoJICBzdXBwb3J0IGNhcHMgcmVpbml0LCB3ZSBzaG91bGQgc3VwcG9ydCBjYWNoZSByZWluaXQgdG9vLgoJICBJZiBtb3JlIHRoZW4gZmlsZSBjYWNoZSBmaWxlIHdpbGwgYmUgY3JlYXRlZCwgdGhlIG5hbWluZyB3aWxsIGJlOgoJICBjYWNoZQoJICBjYWNoZS4xCgkgIGNhY2hlLjIKCSAgLi4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc3MjgKCjIwMTUtMDQtMTUgMjI6NTE6NTEgKzAyMDAgIFJhbWlybyBQb2xsYSA8cmFtaXJvLnBvbGxhQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkgIHJ0cG1wNGdkZXBheTogZml4IHRpbWVzdGFtcHMgZm9yIFJUUCBwYWNrZXRzIHdpdGggbXVsdGlwbGUgQVVzCgkgIFVzZSBjb25zdGFudER1cmF0aW9uIHRvIGNhbGN1bGF0ZSB0aGUgdGltZXN0YW1wIG9mIG5vbi1maXJzdCBBVSBpbiB0aGUKCSAgUlRQIHBhY2tldC4KCSAgSWYgY29uc3RhbnREdXJhdGlvbiBpcyBub3QgcHJlc2VudCBpbiB0aGUgTUlNRSBwYXJhbWV0ZXJzLCBpdHMgdmFsdWUKCSAgbXVzdCBiZSBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSB0aW1pbmcgaW5mb3JtYXRpb24gZnJvbSB0d28gY29uc2VjdXRpdmUKCSAgUlRQIHBhY2tldHMgd2l0aCBBVS1JbmRleCBlcXVhbCB0byAwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3ODgxCgoyMDE1LTA4LTE0IDA2OjQzOjEzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogcmVtb3ZlIHVubmVjZXNzYXJ5IGlmLCBnX2ZyZWUgaXMgbnVsbCBzYWZlCgoyMDE1LTA4LTE0IDA4OjMzOjU2ICswMTAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBzb3VwaHR0cHNyYzogYWRkIHByb3BlcnR5IHRvIHNldCBIVFRQIG1ldGhvZAoJICBUbyBhbGxvdyBzb3VwaHR0cHNyYyB0byBiZSB1c2UgSFRUUCBtZXRob2RzIG90aGVyIHRoYW4gR0VUCgkgIChlLmcuIEhFQUQpLCBhZGQgYSAibWV0aG9kIiBwcm9wZXJ0eSB0aGF0IGlzIGEgc3RyaW5nLiBJZiB0aGlzCgkgIHByb3BlcnR5IGlzIG5vdCBzZXQsIEdFVCBpcyB1c2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDEzCgoyMDE1LTA4LTE0IDExOjEzOjAxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzoKCSAgY2hlY2s6IFJlbmFtZSBzdGF0ZXMgdW5pdCB0ZXN0CgkgIE1ha2VzIGl0IGVhc2llciB0byBkaWZmZXJlbnRpYXRlIGZyb20gb3RoZXIgbW9kdWxlcyBzdGF0ZXMgdW5pdCB0ZXN0CgoyMDE1LTA4LTE0IDA5OjIxOjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2dvb20vZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9nb29tL2dzdGF1ZGlvdmlzdWFsaXplci5oOgoJKiBnc3QvZ29vbTJrMS9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2dvb20yazEvZ3N0YXVkaW92aXN1YWxpemVyLmg6CgkgIGdvb206IFJlbmFtZSBnZXRfdHlwZSgpIGZ1bmN0aW9uIG9mIGJhc2UgY2xhc3MgdG8gcHJldmVudCBzeW1ib2wgY29uZmxpY3RzCgkgIFRoaXMgaXMgYSBwcm9ibGVtIHdoZW4gc3RhdGljYWxseSBsaW5raW5nLgoKMjAxNS0wOC0xMyAxNjozMjo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IEtlZXAgdGhlIERUUyBlc3RpbWF0ZSBpZiB3ZSBnb3Qgbm8gRFRTIGFmdGVyIGEgaml0dGVyYnVmZmVyIHJlc2V0CgkgIE90aGVyd2lzZSB3ZSB3aWxsIGp1c3Qgb3V0cHV0IGJ1ZmZlcnMgd2l0aG91dCB0aW1lc3RhbXBzIGFmdGVyIGEgcmVzZXQgaWYgbm8KCSAgdGltZXN0YW1wcyBhcmUgcHJvdmlkZWQgYnkgdXBzdHJlYW0sIGUuZy4gd2hlbiB1c2luZyBSVFNQIG92ZXIgVENQLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5NTM2CgoyMDE1LTA4LTEyIDE3OjE2OjAxICswNTMwICBSYXZpIEtpcmFuIEsgTiA8cmF2aS5raXJhbkBzYW1zdW5nLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuaDoKCSAgbWF0cm9za2E6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzU1NgoKMjAxNS0wOC0wNCAyMDo1OToxNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2JjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB1dGlscy5jOgoJKiBnc3QvcnRwL2dzdHJ0cHV0aWxzLmg6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB2cDhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgcnRwOiBDb3B5IG1ldGFkYXRhIGluIHRoZSAoZGUpcGF5bG9hZGVyLCBidXQgb25seSB0aGUgcmVsZXZhbnQgb25lcwoJICBUaGUgcGF5bG9hZGVyIGRpZG4ndCBjb3B5IGFueXRoaW5nIHNvIGZhciwgdGhlIGRlcGF5bG9hZGVyIGNvcGllZCBldmVyeQoJICBwb3NzaWJsZSBtZXRhLiBMZXQncyBtYWtlIGl0IGNvbnNpc3RlbnQgYW5kIGp1c3QgY29weSBhbGwgbWV0YXMgd2l0aG91dAoJICB0YWdzIG9yIHdpdGggb25seSB0aGUgdmlkZW8gdGFnLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNzc0CgoyMDE1LTA4LTEwIDE4OjIwOjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IHNtYWxsIHR5cG8gaW4gY29tbWVudAoKMjAxNS0wOC0xMCAxNjoxOToxOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJICBnb29tMmsxL2RvYzogRml4dXAgcHJldmlvdXMgY29tbWl0CgoyMDE1LTA4LTEwIDE1OjU1OjE5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmg6CgkgIGdvb20yazEvZG9jOiBVc2UgR3N0R29vbTJrMSBuYW1lc3BhY2UKCSAgVGhlIGRvYyBnZW5lcmF0b3IgaXNuJ3QgaGFwcHkgd2hlbiB3ZSBoYXZlIGNsYXNzIG5hbWUgY2xhc2guIFNpbXBseQoJICB1c2UgaXQncyBvd24gbmFtZXNwYWNlLgoKMjAxNS0wOC0xMCAxNzoxMDo0MiArMDUzMCAgUHJhc2hhbnQgR290YXJuZSA8cHMuZ290YXJuZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJICBhdWRpb2VjaG86IHJlbW92ZWQgdW51c2VkIHZhcmlhYmxlIGluIHNldF9wcm9wZXJ0eQoJICB1bnVzZWQgbG9jYWwgdmFyaWFibGUgJ2RlbGF5JyBpcyByZW1vdmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNDUwCgoyMDE1LTA4LTEwIDEyOjQ1OjI3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBzdWJvcHRpbWFsIHF1ZXVlIGl0ZXJhdGlvbiBjb2RlCgoyMDE1LTA4LTA5IDE3OjI1OjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRvbid0IHVzZSBnbGliIDIuNDQtb25seSBBUEkKCjIwMTUtMDctMjkgMTQ6MTQ6NTAgKzAxMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X3R5cGVzLmM6CgkgIHF0ZGVtdXg6IGFkZCBzdXBwb3J0IGZvciBJU09CTUZGIENvbW1vbiBFbmNyeXB0aW9uCgkgIFRoaXMgY29tbWl0IGFkZHMgc3VwcG9ydCBmb3IgSVNPQk1GRiBDb21tb24gRW5jcnlwdGlvbiAoY2VuYyksIGFzCgkgIGRlZmluZWQgaW4gSVNPL0lFQyAyMzAwMS03LiBJdCB1c2VzIGEgR3N0UHJvdGVjdGlvbiBldmVudCB0bwoJICBwYXNzIHRoZSBjb250ZW50cyBvZiBQU1NIIGJveGVzIHRvIGRvd25zdHJlYW0gZGVjcnlwdG9yIGVsZW1lbnRzCgkgIGFuZCBhdHRhY2hlZCBHc3RQcm90ZWN0aW9uTWV0YSB0byBlYWNoIHNhbXBsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTk5MQoKMjAxNS0wOC0xMCAxNDoxMzo1MCArMDkwMCAgSHl1bmp1biBLbyA8enpvb24ua29Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IGNoZWNraW5nIGlmIGRlcGF5IGhhcyBzcHMvcHBzIG5hbHMgYmVmb3JlIGluc2VydGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNDMwCgoyMDE1LTA4LTA4IDE2OjQ0OjQ5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogZml4IG91dGRhdGVkIGNvbW1lbnQKCSAgVGhlIGRlZmF1bHQgYmVoYXZpb3VyIHdhcyBjaGFuZ2VkIGluIHRoZSAwLjEwIC0+IDEueAoJICB0cmFuc2l0aW9uLCBidXQgdGhlIGNvbW1lbnQgd2FzIG5vdCB1cGRhdGVkLgoKMjAxNS0wOC0wOCAxNzo0MjoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgIHJ0cHRoZW9yYXBheTogSWYgZmx1c2hpbmcgYSBwYWNrZXQgZmFpbGVkLCBnbyBvdXQgb2YgdGhlIGxvb3AgaW1tZWRpYXRlbHkKCjIwMTUtMDgtMDggMTc6NDE6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICBydHB2b3JiaXNwYXk6IElmIGZsdXNoaW5nIGEgcGFja2V0IGZhaWxlZCwgZ28gb3V0IG9mIHRoZSBsb29wIGltbWVkaWF0ZWx5CgoyMDE1LTA4LTA4IDE3OjM0OjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuaDoKCSAgcnRwdGhlb3JhcGF5OiBFeHRyYWN0IHBpeGVsIGZvcm1hdCBmcm9tIHRoZSBpZGVudCBoZWFkZXIgdG8gcHV0IGl0IGludG8gdGhlIHNhbXBsaW5nIGZpZWxkIG9mIHRoZSBjYXBzCgkgIFdlIGFsd2F5cyBwdXQgNDoyOjAgaW50byB0aGUgY2FwcyBiZWZvcmUsIHdoaWNoIG9idmlvdXNseSBpcyB3cm9uZyBmb3IgNDoyOjIKCSAgYW5kIDQ6NDo0IGZvcm1hdHMuCgoyMDE1LTA4LTA2IDE3OjQ2OjEzICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBrbHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGtsdnBheS5jOgoJICBydHBrbHYoZGUpcGF5OiBhZGQgIlJUUCIgaW4gdGhlIGtsYXNzIHN0cmluZwoJICBHc3RSVFNQTWVkaWEgdXNlcyB0aGlzIGNsYXNzaWZpY2F0aW9uIHRvIGRldGVjdCB0aGUgcmVhbCBwYXlsb2FkZXIKCSAgaW5zaWRlIGEgZHlucGF5IGJpbiBhbmQgYXNzZXJ0cyBpZiBpdCBkb2Vzbid0IGZpbmQgaXQsIHRoZXJlZm9yZQoJICBpdCBpcyByZXF1aXJlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMzI1CgoyMDE1LTA4LTA1IDExOjEzOjA5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBhdXguYzoKCSAgdGVzdHM6IHJ0cGF1eDogdXNlIGEgZHluYW1pYyBwdCBpbiB0aGUgdGVzdAoJICAxKSBUZXN0cyB0aGF0IHVzaW5nIGR5bmFtaWMgUFQgaW5zdGVhZCBvZiB0aGUgZGVmYXVsdCBvbmVzIHdvcmsKCSAgMikgSWYgd2UgZXZlciBkZWNpZGUgdG8gY2hhbmdlIHRoZSBjb2RlYyBoZXJlIHdlIGRvbid0IG5lZWQgdG8KCSAgd29ycnkgYWJvdXQgY2hhbmdlIHRoZSBQVCBmb3IgdGhlIGRlZmF1bHQgb25lIG9mIHRoZSBuZXcgY29kZWMKCSAgaW4gdGhlIHRlc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjQ0NQoKMjAxNS0wOC0wNSAxMDo1MzoxNSArMDkwMCAgSHl1bmp1biBLbyA8enpvb24ua29Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkgIHJ0cHJ0eHNlbmQ6IHByaW50IHZhbGlkIHR5cGUgd2hlcmUgZ3VpbnQzMiBpcyBleHBlY3RlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2NDQ1CgoyMDE1LTA4LTA2IDExOjMzOjM3ICswOTAwICBIeXVuanVuIEtvIDx6em9vbi5rb0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2MXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkgIHJ0cHBheWxvYWQ6IHNldCBzdGFuZGFyZCBwYXlsb2FkIHR5cGUgYXMgZGVmYXVsdAoJICBJbml0aWFsaXplIHRoZSBQVCB0byB0aGUgZGVmYXVsdCB2YWx1ZSBvZiB0aGUgY29kZWMgYW5kIGNoZWNrIGlmCgkgIGl0IGlzIHN0aWxsIHRoZSBkZWZhdWx0IGJlZm9yZSBkZWNsYXJpbmcgdGhlIHB0IHRvIGJlIGR5bmFtaWMgb3IKCSAgbm90IHdoZW4gc2V0dGluZyB0aGUgY2Fwcy4KCSAgQWxzbyB1c2UgdGhlIFBUIGNvbnN0YW50cyBmcm9tIHRoZSBydHAgbGliIHdoZW4gcG9zc2libGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Nzk2NQoKMjAxNS0wNy0yNiAxMjowNzo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHN0b3JlIHRoZSBtb29mLW9mZnNldCBhbHNvIGZvciBwdXNoIG1vZGUKCSAgSXQgd2lsbCBiZSB1c2VkIGluIHNvbWUgY2FzZXMgZm9yIGdldHRpbmcgdGhlIGNvcnJlY3Qgb2Zmc2V0cwoJICBmcm9tIHRydW4gYXRvbXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI2MDMKCjIwMTUtMDctMjYgMDI6MDk6MjQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF90eXBlcy5oOgoJICBxdGRlbXV4OiBoYW5kbGUgZGVmYXVsdC1iYXNlLWlzLW1vb2YgZmxhZwoJICBIYW5kbGUgdGhlIGZsYWcgZnJvbSB0aGUgdGZoZCB0aGF0IHNpZ25hbHMgdGhlIGJhc2Ugb2Zmc2V0IHRvCgkgIHN0YXJ0IGZyb20gdGhlIG1vb2YgYXRvbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNjAzCgoyMDE1LTA3LTI5IDE4OjU0OjM1IC0wNjAwICBHbGVuIERpZW5lciA8Z3JkQGxvZ2FubWlsbC5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYWRlbXV4OiBQcmVzZXJ2ZSBmb3J3YXJkIHJlZmVyZW5jZWQgdHJhY2sgdGFncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyODUwCgoyMDE1LTA4LTA0IDE4OjA3OjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBhdXguYzoKCSAgdGVzdHM6IHJ0cGF1eDogZml4IHRlc3QgZmFpbHVyZQoJICBUaGUgUlRQIFBUIGZvciBhbGF3IGlzIDguCgkgIExlc3MgdGhhbiA1MCBwYWNrZXRzIGFyZSByZWNlaXZlZCBpbiB0aGUgbGVuZ3RoIG9mIHRoaXMgdGVzdCBzbyBpdAoJICB3b3VsZCBuZXZlciBkcm9wIGEgYnVmZmVyIG9yIHdvdWxkIGRyb3Agb25seSB0aGUgbGFzdCBidWZmZXIgYW5kCgkgIGl0IHdvdWxkIGZhaWwgc29tZXRpbWVzIHdoZW4gdGhlIHJlY2VpdmVkIHdvdWxkbid0IHJlY2VpdmUgdGhlCgkgIHJldHJhbnNtaXNzaW9uIHBhY2tldCBpbiB0aW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2NDQ1CgoyMDE1LTA4LTA0IDIwOjU5OjE3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBzdHJlYW1kZXBheS5jOgoJICBydHBzdHJlYW1kZXBheTogT25seSBhbGxvdyBhY3RpdmF0aW9uIGluIHB1c2ggbW9kZQoJICBXZSBuZWVkIGEgcHJvcGVyIGNhcHMgZXZlbnQgZnJvbSB1cHN0cmVhbSB3aXRoIHRoZSBmdWxsIFJUUCBjYXBzIGFzIHdlIGNhbid0CgkgIGNyZWF0ZSBjYXBzIG91cnNlbHZlcyBmcm9tIHRoaW4gYWlyLiBGaXhlcyB1c2FnZSBvZiBydHBzdHJlYW1kZXBheSBhZnRlciBlLmcuCgkgIGEgZmlsZXNyYyBvciBhbnkgb3RoZXIgZWxlbWVudCB0aGF0IHN1cHBvcnRzIHB1bGwgbW9kZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzA2NgoKMjAxNS0wOC0wNCAxNjoyODoxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXA6IGZpeCB0eXBvIGluIHRyYW5zbGF0ZWQgc3RyaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMyNDAKCjIwMTUtMDgtMDQgMTI6MjU6NDYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IFB1dCB0aGUgcHJvZmlsZSBhbmQgbGV2ZWwgaW50byB0aGUgY2FwcwoKMjAxNS0wOC0wNCAxMjowOToxMiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheTogT25seSB1cGRhdGUgdGhlIHNyY3BhZCBjYXBzIGlmIHNvbWV0aGluZyBlbHNlIHRoYW4gdGhlIGNvZGVjX2RhdGEgY2hhbmdlZAoJICBoMjY0cGFyc2UgZG9lcyB0aGUgc2FtZSwgbGV0J3Mga2VlcCB0aGUgYmVoYXZpb3VyIGNvbnNpc3RlbnQuIEFzIHdlIG5vdwoJICBpbmNsdWRlIHRoZSBjb2RlY19kYXRhIGluc2lkZSB0aGUgc3RyZWFtIHRvbyBoZXJlLCB0aGlzIGNhdXNlcyBsZXNzIGNhcHMKCSAgcmVuZWdvdGlhdGlvbi4KCjIwMTUtMDgtMDQgMTE6NDg6MjcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IFBQUyByZXBsYWNlcyBhbmQgb2xkIFBQUyBpZiBpdCBoYXMgdGhlIHNhbWUgaWQsIGluZGVwZW5kZW50IG9mIFNQUyBpZAoJICBUaGUgc3BlYyBzYXlzOgoJICBXaGVuIGEgcGljdHVyZSBwYXJhbWV0ZXIgc2V0IE5BTCB1bml0IHdpdGggYSBwYXJ0aWN1bGFyIHZhbHVlIG9mCgkgIHBpY19wYXJhbWV0ZXJfc2V0X2lkIGlzIHJlY2VpdmVkLCBpdHMgY29udGVudCByZXBsYWNlcyB0aGUgY29udGVudCBvZiB0aGUKCSAgcHJldmlvdXMgcGljdHVyZSBwYXJhbWV0ZXIgc2V0IE5BTCB1bml0LCBpbiBkZWNvZGluZyBvcmRlciwgd2l0aCB0aGUgc2FtZQoJICB2YWx1ZSBvZiBwaWNfcGFyYW1ldGVyX3NldF9pZCAod2hlbiBhIHByZXZpb3VzIHBpY3R1cmUgcGFyYW1ldGVyIHNldCBOQUwgdW5pdAoJICB3aXRoIHRoZSBzYW1lIHZhbHVlIG9mIHBpY19wYXJhbWV0ZXJfc2V0X2lkIHdhcyBwcmVzZW50IGluIHRoZSBiaXRzdHJlYW0pLgoKMjAxNS0wOC0wMyAxMzo0NTo1OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW5rOiByZW1vdmUgZXh0cmEgXG4gYXQgZGVidWcgbWVzc2FnZQoKMjAxNS0wOC0wMyAxMzo0MjoyMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW5rOiBwcmV2ZW50IGRlYWRsb2NrIHdoZW4gc3RhdGVzIGNoYW5nZSB0b28gZmFzdAoJICBJZiB0aGUgR09QIGlzIGNvbXBsZXRlZCwgcGFkcyBoYXZlIHRvIHN0YXJ0IGdhdGhlcmluZyBmb3IgdGhlCgkgIG5leHQgb25lIGJ1dCBpdCBpcyBwb3NzaWJsZSB0aGF0IHRoZSB0aGUgc3RhdGUgbWlnaHQgZ28gdG8KCSAgQ09MTEVDVElOR19HT1BfU1RBUlQgYW5kIGJhY2sgdG8gV0FJVElOR19HT1BfQ09NUExFVEUgYmVmb3JlIHRoZQoJICB0aHJlYWQgaGFzIGEgY2hhbmNlIHRvIHdha2UgdXAgYW5kIHByb2NlZWQsIGxlYXZpbmcgaXQgdHJhcHBlZCBpbgoJICB0aGUgY2hlY2tfY29tcGxldGVkX2dvcCBsb29wIGFuZCBkZWFkbG9ja2luZyB0aGUgb3RoZXIgdGhyZWFkcwoJICB3YWl0aW5nIGZvciBpdCB0byBhZHZhbmNlLgoJICBUbyBzb2x2ZSBpdCwgdGhpcyBwYXRjaCBhbHNvIGNoZWNrcyB0aGF0IHRoYSBpbnB1dCBydW5uaW5nIHRpbWUKCSAgaGFzbid0IGNoYW5nZWQgdG8gcHJldmVudCB0aGlzIHNjZW5hcmlvLgoKMjAxNS0wOC0wMyAxNzo1NTowMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheTogSW5zZXJ0IFNQUy9QUFMgTkFMcyBpbnRvIHRoZSBzdHJlYW0KCSAgaDI2NHBhcnNlIGRvZXMgdGhlIHNhbWUgYW5kIHRoaXMgZml4ZXMgZGVjb2Rpbmcgb2Ygc29tZSBzdHJlYW1zIHdpdGggMzIgU1BTCgkgIChvciAyNTYgUFBTKS4gSXQgaXMgYWxsb3dlZCB0byBoYXZlIFNQUyBJRCAwIHRvIDMxIChvciBQUFMgSUQgMCB0byAyNTUpLCBidXQKCSAgdGhlIGZpZWxkIGluIHRoZSBjb2RlY19kYXRhIGZvciB0aGUgbnVtYmVyIG9mIFNQUyBvciBQUFMgaXMgb25seSA1IChvciA4KSBiaXQuCgkgIEFzIHN1Y2gsIDMyIFNQUyAob3IgMjU2IFBQUykgYXJlIGludGVycHJldGVkIGFzIDAgZXZlcnl3aGVyZS4KCSAgVGhpcyBsb29rcyBsaWtlIGEgbWlzdGFrZSBpbiB0aGUgcGFydCBvZiB0aGUgc3BlYyBhYm91dCB0aGUgY29kZWNfZGF0YS4KCjIwMTUtMDctMzAgMTE6Mjk6MjcgKzA5MDAgIEV1bmhhZSBDaG9pIDxldW5oYWUxLmNob2lAc2Ftc3VuZy5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogaGFuZGxlIGVtcHR5IGh0dHAgcHJveHkgc3RyaW5nCgkgIDEpIElmIHRoZSBzeXN0ZW0gaHR0cF9wcm94eSBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3Qgc2V0CgkgIG9yIHNldCB0byBhbiBlbXB0eSBzdHJpbmcsIHdlIG11c3Qgbm90IHNldCBwcm94eSB0byBhdm9pZAoJICBodHRwIGNvbm5lY3Rpb24gZXJyb3IuCgkgIDIpIEluIGNhc2Ugb2YgcHJveHkgcHJvcGVydHkgc2V0dGluZywgaWYgdXNlciB3YW50IHRvIGNsZWFyCgkgIHRoZSBwcm94eSBzZXR0aW5nLCB0aGV5IHNob3VsZCBiZSBhYmxlIHRvIHNldCBpdCB0byBOVUxMIG9yCgkgIGFuIGVtcHR5IHN0cmluZyBhZ2Fpbiwgc28gdGhpcyBpcyBmaXhlZCB0b28uCgkgIDMpIENoZWNrIGlmIHRoZSBwcm94eSBzdHJpbmcgd2FzIHBhcnNlZCBjb3JyZWN0bHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI4NjYKCjIwMTUtMDctMjkgMTU6NDY6MjAgKzA1MzAgIFJhdmkgS2lyYW4gSyBOIDxyYXZpLmtpcmFuQHNhbXN1bmcuY29tPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2R2L2dzdGR2ZGVtdXguaDoKCSAgZHZkZW11eDogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoJICBSZW1vdmUgdW51c2VkIHZhcmlhYmxlICdmcmFtZWNvdW50JyBmcm9tIGR2ZGVtdXgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzAwOAoKMjAxNS0wNy0zMCAxNTozMjowOSArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYXNzZXJ0aW9uIGVycm9yIGR1ZSB0byB3cm9uZyBjb25kaXRpb24gY2hlY2sKCSAgSW4gbWVkaWEgdG8gY2FwcyBmdW5jdGlvbiwgcmVzZXJ2ZWRfa2V5cyBhcnJheSBpcyBiZWluZyB1c2VkIGZvciB2YXJpYWJsZSBpLAoJICBsZWFkaW5nIHRvIEdMaWItQ1JJVElDQUwgKio6IGdfYXNjaWlfc3RyY2FzZWNtcDogYXNzZXJ0aW9uICdzMSAhPSBOVUxMJyBmYWlsZWQKCSAgY2hhbmdlZCBpdCB0byB2YXJpYWJsZSBqCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMwMDkKCjIwMTUtMDctMzAgMTU6MjE6MjAgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJICBydHBtcDR2ZGVwYXk6IHJ0cGJ1ZmZlciBpcyBiZWluZyB1bnJlZidlZCB0d2ljZQoJICBwcm9jZXNzX3J0cF9wYWNrZXQgZG9lc24ndCB0cmFuc2ZlciB0aGUgcnRwIGJ1ZmZlciB0byBtcDR2X3Byb2Nlc3NfZGVwYXkKCSAgdGhlIHJlZmVybmNlIHNob3VsZCBub3QgYmUgcmVtb3ZlZCBoZXJlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMwNDIKCjIwMTUtMDctMjkgMTE6MjY6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IFN0cmlwIGtleXMgZnJvbSB0aGUgZm10cCB0aGF0IHdlIHVzZSBpbnRlcm5hbGx5IGluIG91ciBjYXBzCgkgIFNraXAga2V5cyBmcm9tIHRoZSBmbXRwLCB3aGljaCB3ZSBhbHJlYWR5IHVzZSBvdXJzZWx2ZXMgZm9yIHRoZQoJICBjYXBzLiBTb21lIHNvZnR3YXJlIGlzIGFkZGluZyByYW5kb20gdGhpbmdzIGxpa2UgY2xvY2stcmF0ZSBpbnRvCgkgIHRoZSBmbXRwLCBhbmQgd2Ugd291bGQgb3RoZXJ3aXNlIGhlcmUgc2V0IGEgc3RyaW5nLXR5cGVkIGNsb2NrLXJhdGUKCSAgaW4gdGhlIGNhcHMuLi4gYW5kIHRodXMgZmFpbCB0byBjcmVhdGUgdmFsaWQgUlRQIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzAwOQoKMjAxNS0wNy0yOSAxOToyODozMyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IFN1cHBvcnQgbXBlZ3RzbXV4IGFzIGEgbXV4ZXIuCgkgIEFzIGEgZmFsbGJhY2ssIGxvb2sgZm9yIGEgcGFkIHRlbXBsYXRlIHNpbmtfJWQgb24KCSAgdGhlIG11eGVyIHdoZW4gcmVxdWVzdGluZyBwYWRzLCB0byBzdXBwb3J0IG1wZWd0c211eAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyOTk5CgoyMDE1LTA2LTI1IDAxOjM1OjI3ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhwYXJ0cmVhZGVyLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhwYXJ0cmVhZGVyLmg6CgkgIHNwbGl0bXV4c3JjOiBVc2UgYSBzZXBhcmF0ZSBsb2NrIHRvIGRlbGF5IHR5cGVmaW5kLgoJICBEb24ndCBob2xkIHRoZSBtYWluIHNwbGl0bXV4IHBhcnQgbG9jayBvdmVyCgkgIHRoZSBwYXJlbnQgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uLCBhcyBpdCBwcmV2ZW50cwoJICBwb3N0aW5nIGVycm9yIG1lc3NhZ2VzIHRoYXQgaGFwcGVuLiBTaW5jZSB0aGUgcHVycG9zZQoJICBpcyB0byBwcmV2ZW50IHR5cGVmaW5kaW5nIGZyb20gcHJvY2VlZGluZywgdXNlIGEKCSAgc2VwYXJhdGUgbXV0ZXgganVzdCBmb3IgdGhhdC4KCjIwMTUtMDctMjkgMTM6NDM6NTAgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2E6IGZpeCBtZW1vcnkgbGVhawoJICBBZnRlciBhZGRpbmcgdG8gdGFnIGxpc3QsIGtleV92YWwgaXMgbm90IGJlaW5nIGZyZWUnZAoJICByZXN1bHRpbmcgaW4gbWVtb3J5IGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mjk5MgoKMjAxNS0wNy0yNyAxMzozNDoxNCArMDkwMCAgTWFuYXNhIEF0aHJleWEgPG1hbmFzYS5hdGhyZXlhQGxnZS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IDE2LWJpdCBQQ00gYXVkaW8gYWR2ZXJ0aXNlZCB3aXRoICdyYXcgJyBmb3VyY2MKCSAgJ05PTkUnIGFuZCAncmF3ICcgZm91cmNjIGRvbid0IGFsd2F5cyBjb250YWluIFU4IGF1ZGlvLCBpdCBjYW4KCSAgYmUgbW9yZSBiaXRzIGFzIHdlbGwsIGluIHdoaWNoIGNhc2UgaXQncyBqdXN0IGxpa2UgJ3R3b3MnLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNjEzCgoyMDE1LTA3LTI0IDE1OjEwOjA1ICswMjAwICBEaW1pdHJpb3MgS2F0c2Fyb3MgPHBhdGNoZXJ3b3JrQGdtYWlsLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyOiBBbGxvdyBmcmFtZXJhdGUgdG8gYmUgbGFyZ2UgdGhlbiAxMDBwZnMKCSAgVGhpcyBsaW1pdCB3YXMgYXJiaXRyYXJ5LiBXZSBzdGlsbCBmaXhhdGUgbmVhciAxMDBwZnMgZm9yIGNvbXBhdGliaWxpdHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI4MjUKCjIwMTUtMDctMjUgMDM6MjU6MjggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQG9jcmV0ZS5jYT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IFN0b3Agd2l0aG91dCBwb3N0aW5nIGVycm9yIG9uIGZsdXNoaW5nCgkgIFRoaXMgY291bGQganVzdCBiZSBhIG5vcm1hbCBwaXBlbGluZSBzaHV0ZG93bi4KCjIwMTUtMDctMjMgMTU6MDA6MDggKzA5MDAgIEh5dW5qdW4gS28gPHp6b29uLmtvQHNhbXN1bmcuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IHNldCBHU1RfQlVGRkVSX0NPUFlfRkxBR1MgdG8gY29weSBmbGFncyBhbHNvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI2MTgKCjIwMTUtMDctMTYgMTg6MDk6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FkZW11eC5jOgoJICB0ZXN0czogYWRkIG1pbm1hbCBtYXRyb3NrYWRlbXV4IHRlc3QgZm9yIHN1YnRpdGxlIG91dHB1dAoJICBTb21lIG9mIHRoZSBzdWJ0aXRsZSBjaHVua3Mgd2lsbCBoYXZlIGVtYmVkZGVkCgkgIE5VTC10ZXJtaW5hdG9ycyAobGFzdCB0aHJlZSksIHNvbWUgZG9uJ3QgKGZpcnN0IHRocmVlKSwKCSAgc29tZSB3aWxsIGhhdmUgbWFya3VwLCBzb21lIHdvbid0LCBzb21lIHdpbGwgYmUgdmFsaWQKCSAgVVRGLTggKGFsbCBidXQgbGFzdCksIHNvbWUgd29uJ3QgKGxhc3Qgc3RhbnphKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQyMQoKMjAxNS0wNy0xNiAxODo0OToyNiArMDMwMCAgRGltaXRyaW9zIENocmlzdGlkaXMgPGRjaHJpc3RpZGlzQG15a29sYWIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGZpeCBmb3Igc3VidGl0bGUgYnVmZmVycyB3aXRoIE5VTCB0ZXJtaW5hdG9ycwoJICBDb21taXQgNDU4OTJlYzggY3JlYXRlZCBhIHJlZ3Jlc3Npb24gd2hlcmUgZ191dGY4X3ZhbGlkYXRlKCkgd291bGQgZmFpbAoJICBpZiB0aGUgc3VidGl0bGUgYnVmZmVyIGhhZCBhIE5VTCB0ZXJtaW5hdG9yIGFzIHBhcnQgb2YgdGhlIGRhdGEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0MjEKCjIwMTUtMDctMjEgMTM6MzE6MDUgKzAyMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW5AcGV4aXAuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhkZXBheS5jOgoJICBydHB2cDhkZXBheTogQ2hlY2sgYXZhaWxhYmxlIGJ5dGVzIGJlZm9yZSBjb3B5CgkgIE5lZWQgdG8gY2hlY2sgdGhhdCB0aGUgbnVtYmVyIG9mIGJ5dGVzIHdlIHdhbnQgdG8gY29weSBmcm9tIHRoZSBhZGFwdGVyCgkgIGFjdHVhbGx5IGlzIGF2YWlsYWJsZSBhbmQgaGFuZGxlIHRoZSBlcnJvciBjYXNlIGdyYWNlZnVsbHkuIFRoaXMgZXJyb3IKCSAgbWF5IGhhcHBlbiBpZiBtYWxmb3JtZWQgcGFja2V0cyBhcmUgcmVjZWl2ZWQgYW5kIHdlIGRvbid0IGhhdmUgYQoJICBjb21wbGV0ZSBmcmFtZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjY2MwoKMjAxNS0wNy0xNiAwOTozMjozNiArMDkwMCAgUGF1bCBIeXVuaWwgPHBhdWwuaHl1bmlsQGxnZS5jb20+CgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogU3VwcG9ydCBzdWJ0aXRsZSB3aGVuIHRyYWNrIHN1YnR5cGUgaXMgZm91cmNjX3N1YnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjY1NQoKMjAxNS0wNy0yMCAxNjo1OTo0MCArMDgwMCAgU29uZyBCaW5nIDxiMDY0OThAZnJlZXNjYWxlLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBTZXQgdGltZXN0YW1wIHdoZW4gcXVldWUgYnVmZmVyLgoJICBTaG91bGQgc2V0IHRpbWVzdGFtcCB3aGVuIHF1ZXVlIGJ1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjYxOAoKMjAxNS0wNy0xNiAxNToxMjoxNyArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJICBydHBtdXg6IGhhbmRsZSBkaWZmZXJlbnQgc3NyYydzIG9uIHNpbmtwYWRzCgkgIERvIHRoaXMgYnkgbm90IHB1dHRpbmcgdGhlIHNzcmMgZnJvbSB0aGUgc3JjIHBhZHMgaW4gdGhlIGNhcHMgdXNlZCB0bwoJICBwcm9iZSBvdGhlciBzaW5rcGFkcywgYW5kIHRoZW4gIGludGVyc2VjdGluZyB3aXRoIGl0IGxhdGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDkxCgoyMDE1LTA3LTE2IDE3OjE5OjAzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS93ZWJtLW11eC5jOgoJICBVcGRhdGUgbWFpbGluZyBsaXN0IGFkZHJlc3MgZnJvbSBzb3VyY2Vmb3JnZSB0byBmcmVlZGVza3RvcAoKMjAxNS0wNy0xNSAxMzo0NDo1MiArMDMwMCAgRGltaXRyaW9zIENocmlzdGlkaXMgPGRjaHJpc3RpZGlzQG15a29sYWIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGZpeCB0cmFpbGluZyAnKicgZGlzcGxheWVkIHdpdGggc29tZSB0ZXh0IHN1YnRpdGxlcwoJICBUaGUgc3VidGl0bGUgYnVmZmVyIHdlIHB1c2ggb3V0IHNob3VsZCBub3QgaW5jbHVkZSBhIE5VTCB0ZXJtaW5hdG9yCgkgIGFzIHBhcnQgb2YgdGhlIGRhdGEsIHdlIGp1c3QgYWRkIHN1Y2ggYSB0ZXJtaW5hdG9yIGZvciBzYWZldHksIGJ1dAoJICBpdCBzaG91bGQgbm90IGJlIGluY2x1ZGVkIGluIHRoZSBidWZmZXIgc2l6ZS4KCSAgQSBOVUwgdGVybWluYXRvciBpcyBub3QgdmFsaWQgVVRGLTgsIHNvIGNoZWNrcyB3aWxsIGZhaWwgaWYgaXQncwoJICBpbmNsdWRlZCBpbiB0aGUgc2l6ZSwgYW5kIHRoZSBOVUwgd2lsbCBiZSByZXBsYWNlZCBieSB0aGUgZmFsbGJhY2sKCSAgY2hhcmFjdGVyIHNwZWNpZmllZCB3aGVuIGNvbnZlcnRpbmcsIGkuZS4gJyonLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDIxCgoyMDE1LTA3LTE1IDE4OjIzOjA1ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZWRldmljZXByb3ZpZGVyLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5oOgoJICBwdWxzZTogYWRkIHByb3BlcnRpZXMgdG8gR3N0RGV2aWNlCgkgIEFkZCB0aGUgZXh0cmEgcHJvcGVydGllcyB3ZSBnZXQgZnJvbSBwdWxzZSB0byB0aGUgR3N0RGV2aWNlIHdlIGV4cG9zZQoJICB3aXRoIHRoZSBkZXZpY2UgbW9uaXRvcgoKMjAxNS0wNy0xNSAxNzoyMDoyMCArMDUzMCAgUmF2aSBLaXJhbiBLIE4gPHJhdmkua2lyYW5Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOgoJICBhdWRpb2Z4OiBGaXggdHlwbyBpbiBleGFtcGxlIHBpcGVsaW5lcwoJICBGaXggdHlwbyBpbiBleGFtcGxlIHBpcGVsaW5lcyBvZiBhdWRpb3dzaW5jYmFuZCBhbmQgYXVkaW9pbnZlcnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0MTYKCjIwMTUtMDQtMTUgMTg6Mjc6MDQgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IGFkZCBhICJmb3JtYXQtbG9jYXRpb24iIHNpZ25hbCB0aGF0IGFsbG93cyBiZXR0ZXIgY29udHJvbCBvdmVyIGZpbGVuYW1lcwoJICBJbiBjZXJ0YWluIGFwcGxpY2F0aW9ucywgc3BsaXR0aW5nIGludG8gZmlsZXMgbmFtZWQgYWZ0ZXIgYSBiYXNlCgkgIGxvY2F0aW9uIHRlbXBsYXRlIGFuZCBhbiBpbmNyZW1lbnRhbCBzZXF1ZW5jZSBudW1iZXIgaXMgbm90IGVub3VnaC4KCSAgVGhpcyBzaWduYWwgZ2l2ZXMgbW9yZSBmaW5lLWdyYWluZWQgY29udHJvbCB0byB0aGUgYXBwbGljYXRpb24gdG8KCSAgZGVjaWRlIGhvdyB0byBuYW1lIHRoZSBmaWxlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDEwNgoKMjAxNS0wNC0xNSAyMDoxMzoyNyArMDMwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uYzoKCSAgb3N4YXVkaW9zcmM6IG5vIHJlc2FtcGxpbmcgb24gT1MgWAoJICBVbmxpa2UgUmVtb3RlIElPLCBBVUhBTCBkb2Vzbid0IGhhdmUgYnVpbHQtaW4gcmVzYW1wbGluZwoJICBmb3Igc291cmNlcyAtLSBjb25maXJtZWQgYnkgQ29yZSBBdWRpbyBlbmdpbmVlciBEb3VnIFd5YXR0OgoJICBodHRwOi8vbGlzdHMuYXBwbGUuY29tL2FyY2hpdmVzL2NvcmVhdWRpby1hcGkvMjAwNi9TZXAvbXNnMDAwODguaHRtbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzNzU4CgoyMDE1LTA0LTE1IDE4OjI5OjE0ICswMzAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5jOgoJICBvc3hhdWRpb3NyYzogYXZvaWQgZ2V0X2NoYW5uZWxfbGF5b3V0CgkgIFRoaXMgb25seSBwcm9kdWNlcyBhIHdhcm5pbmcgYW5kIHNlcnZlcyBubyBwdXJwb3NlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzNzU4CgoyMDE1LTA0LTA3IDE1OjQwOjE0ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uYzoKCSAgb3N4YXVkaW86IEF2b2lkIG1ha2luZyBhIGR1cGxpY2F0ZSBzdHJ1Y3R1cmUgaW4gY2FwcyBmb3IgbW9uby9zdGVyZW8gY2FzZQoJICBGb3IgMWNoIG9yIDJjaCBkZXZpY2VzLCB3ZSBqdXN0IG5lZWQgdG8gc2V0IHRoZSBjYXBzIHRvIGFsbG93IGJvdGgKCSAgb3B0aW9ucyBzaW5jZSBDb3JlQXVkaW8gd2lsbCB1cC9kb3dubWl4IGFwcHJvcHJpYXRlbHkuCgkgIEFsc28gZml4ZXMgdGhlIGNvbmRpdGlvbiBmb3IgdGhlIDJjaCBjYXNlIHRvIGJlIGV4YWN0LCByYXRoZXIgdGhhbiBhdAoJICBsZWFzdCAyIGNoYW5uZWxzIHNpbmNlIHRoZSBkb3dubWl4IHdpbGwgbm90IHRha2UgcGxhY2UgaW4gdGhlID5zdGVyZW8KCSAgY2FzZS4KCjIwMTUtMDQtMDYgMTY6MjI6MzQgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvY29tbW9uLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9oYWwuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb3JlbW90ZWlvLmM6CgkgIG9zeGF1ZGlvOiBEb24ndCBzZXQgdGhlIGZvcm1hdCBvbiBhbiBpbml0aWFsaXplZCBBdWRpb1VuaXQKCSAgV2UgbmVlZCB0byBpbml0aWFsaXplIHRoZSBBdWRpb1VuaXQgZWFybHkgdG8gYmUgYWJsZSB0byBwcm9iZSB0aGUKCSAgdW5kZXJseWluZyBkZXZpY2UsIGJ1dCBhY2NvcmRpbmcgdG8gdGhlIEF1ZGlvVW5pdEluaXRpYWxpemUoKSBhbmQKCSAgQXVkaW9Vbml0VW5pbml0aWFsaXplKCkgZG9jdW1lbnRhdGlvbiwgZm9ybWF0IGNoYW5nZXMgc2hvdWxkIGJlIGRvbmUKCSAgd2hpbGUgdGhlIEF1ZGlvVW5pdCBpcyB1bmluaXRpYWxpemVkLiBTbyB3ZSBleHBsaWNpdGx5IHVuaW5pdGlhbGl6ZSB0aGUKCSAgQXVkaW9Vbml0IGR1cmluZyBhIGZvcm1hdCBjaGFuZ2UgYW5kIHJlaW5pdGlhbGl6ZSBpdCB3aGVuIHdlJ3JlIGRvbmUuCgoyMDE1LTA0LTA2IDE1OjU1OjU5ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3JpbmdidWZmZXIuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmg6CgkgIG9zeGF1ZGlvOiBNaW5vciBzcGVsbGluZyBmaXggKHVuaXRpYWxpemUgLT4gdW5pbml0aWFsaXplKQoKMjAxNS0wMy0yMSAyMDozNDoyNSArMDIwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5oOgoJICBvc3hhdWRpbzogRml4IGxvY2t1cCBpbiBfYXVkaW9fdW5pdF9wcm9wZXJ0eV9saXN0ZW5lcgoJICBfYXVkaW9fdW5pdF9wcm9wZXJ0eV9saXN0ZW5lciBpcyBjYWxsZWQgZWl0aGVyIGZyb20gYSBDb3JlIEF1ZGlvIHRocmVhZAoJICBvciBhcyBhIHJlc3VsdCBvZiBhIENvcmUgQXVkaW8gQVBJIChlLmcuIEF1ZGlvVW5pdEluaXRpYWxpemUpCgkgIGZyb20gb3VyIG93biB0aHJlYWQuIEluIHRoZSBsYXR0ZXIgY2FzZSwgb3N4YnVmIGNhbiBiZSBhbHJlYWR5IGxvY2tlZAoJICAoR1N0cmVhbWVyJ3MgbXV0ZXggaXMgbm90IHJlY3Vyc2l2ZSkuCgkgIFdlIGludHJvZHVjZSB0aGUgZmxhZyBjYWNoZWRfY2Fwc192YWxpZCBhbmQgdXNlIGl0IGluc3RlYWQgb2YgbnVsbGlmeWluZwoJICBjYWNoZWRfY2FwcyB3aGVuIHdlIGNhbm5vdCBsb2NrIG9uIG9zeGJ1Zi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Mzc1OAoKMjAxNS0wMy0xMiAxMjoxNToxMiArMDIwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uYzoKCSAgb3N4YXVkaW86IEludmFsaWRhdGUgY2FjaGVkIGNhcHMgb24gZm9ybWF0IGNoYW5nZQoJICBMaXN0ZW4gZm9yIGNoYW5nZXMgaW4gaGFyZHdhcmUgc3RyZWFtIGZvcm1hdCBhbmQgY2hhbm5lbCBsYXlvdXQsIGFuZAoJICBpbnZhbGlkYXRlIGNhY2hlZCBjYXBzIChzaW5jZSB0aGV5IGNvbnRhaW4gdGhlIHByZWZlcnJlZCBjYXBzKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Mzc1OAoKMjAxNS0wMy0wOSAyMzozNDowNiArMDIwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3JpbmdidWZmZXIuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9jb21tb24uYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2NvbW1vbi5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvaGFsLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9yZW1vdGVpby5jOgoJICBvc3hhdWRpbzogT3ZlcmhhdWwgb2YgcHJvYmluZyBjYXBzCgkgIC0gUHJvYmluZyBjYXBzIGlzIHVuaWZpZWQgYmV0d2VlbiBzb3VyY2UgYW5kIHNpbmsKCSAgLSBIYXJkd2FyZSBzdHJlYW0gZm9ybWF0IGlzIG5vdyByZXBvcnRlZCBhcyBwcmVmZXJyZWQgY2FwYWJpbGl0aWVzCgkgIChkeW5hbWljYWxseSB1cGRhdGVkIHdoZW4gaGFyZHdhcmUgY29uZmlndXJhdGlvbiBjaGFuZ2VzKQoJICAtIEdldCBoYXJkd2FyZSBjaGFubmVsIGxheW91dCBmcm9tIFJlbW90ZSBJTyBqdXN0IGxpa2UgZnJvbSBIQUwKCSAgLSBNb3JlIGNvbXByZWhlbnNpdmUgbWFwcGluZyBiZXR3ZWVuIEF1ZGlvQ2hhbm5lbExhYmVsIGFuZAoJICBHc3RBdWRpb0NoYW5uZWxQb3NpdGlvbgoJICAtIFN1cHBvcnQgZm9yIHVucG9zaXRpb25lZCBjaGFubmVsIGxheW91dHMKCSAgLSBBbm5vdW5jZSBzdGVyZW8tbW9ubyB1cG1peGluZy9kb3dubWl4aW5nIGluIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Mzc1OAoKMjAxNS0wMy0wOSAyMzoxNTo1NiArMDIwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uYzoKCSAgb3N4YXVkaW86IEF1ZGlvVW5pdEluaXRpYWxpemUgb24gb3BlbgoJICBDYWxsIEF1ZGlvVW5pdEluaXRpYWxpemUgdXBvbiBvcGVuLiBPdGhlcndpc2UsIHdlIGNhbm5vdCBnZXQKCSAgKGhhcmR3YXJlKSBzdHJlYW0gZm9ybWF0IG5vciBjaGFubmVsIGxheW91dCBmcm9tIHRoZSBvdXRlciBzY29wZS4KCjIwMTUtMDctMTIgMTQ6Mjc6MTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDI0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIyZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2MWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwa2x2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxY2VscGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOGRlcGF5LmM6CgkgIHJ0cDogZGVwYXlsb2FkZXJzOiBpbXBsZW1lbnQgcHJvY2Vzc19ydHBfcGFja2V0KCkgdmZ1bmMKCSAgRm9yIG1vcmUgb3B0aW1pc2VkIFJUUCBwYWNrZXQgaGFuZGxpbmc6IG1lYW5zIHdlIGRvbid0CgkgIG5lZWQgdG8gbWFwIHRoZSBpbnB1dCBidWZmZXIgYWdhaW4gYnV0IGNhbiBqdXN0IHJlLXVzZQoJICB0aGUgbWFwcGluZyB0aGUgYmFzZSBjbGFzcyBoYXMgYWxyZWFkeSBkb25lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMjM1CgoyMDE1LTA1LTI3IDE5OjE5OjI3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSAgcnRwdnJhd2RlcGF5OiBpbXBsZW1lbnQgcHJvY2Vzc19ydHBfcGFja2V0KCkgdmZ1bmMKCSAgRm9yIG1vcmUgb3B0aW1pc2VkIFJUUCBwYWNrZXQgaGFuZGxpbmc6IG1lYW5zIHdlIGRvbid0CgkgIG5lZWQgdG8gbWFwIHRoZSBpbnB1dCBidWZmZXIgYWdhaW4gYnV0IGNhbiBqdXN0IHJlLXVzZQoJICB0aGUgbWFwIHRoZSBiYXNlIGNsYXNzIGhhcyBhbHJlYWR5IGRvbmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAyMzUKCjIwMTUtMDctMTAgMDA6MTM6MzIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBGaXggaW5kZW50aW9uCgoyMDE1LTA3LTA5IDIzOjU5OjEwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogQWx3YXlzIGVzdGltYXRlIERUUyBmcm9tIHRoZSBjdXJyZW50IGNsb2NrIHRpbWUKCSAgRXN0aW1hdGluZyBpdCBmcm9tIHRoZSBSVFAgdGltZSB3aWxsIGdpdmUgdXMgdGhlIFBUUywgc28gaW4gY2FzZXMgb2YgUFRTIT1EVFMKCSAgd2Ugd291bGQgcHJvZHVjZSB3cm9uZyBEVFMuIEFzIG5vdyB0aGUgZXN0aW1hdGVkIERUUyBpcyBiYXNlZCBvbiB0aGUgY2xvY2ssCgkgIGRvbid0IHN0b3JlIGl0IGluIHRoZSBqaXR0ZXJidWZmZXIgaXRlbXMgYXMgaXQgd291bGQgb3RoZXJ3aXNlIGJlIHVzZWQgaW4gdGhlCgkgIHNrZXcgY2FsY3VsYXRpb25zIGFuZCB3b3VsZCBpbmZsdWVuY2UgdGhlIHJlc3VsdHMuIFdlIG9ubHkgcmVhbGx5IG5lZWQgdGhlIERUUwoJICBmb3IgdGltZXIgY2FsY3VsYXRpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5NTM2CgoyMDE1LTA3LTA5IDA5OjI2OjA5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICBnaXRpZ25vcmU6IGlnbm9yZSBydHBoMjYzIHRlc3QKCjIwMTUtMDctMDggMjM6NDc6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGZpeCBidWlsZCBlcnJvciB3aXRoIGdjYyAoRGViaWFuIDQuOS4yLTIxKSA0LjkuMgoJICBSZXBsYWNlIHN0YXRpYyBjb25zdGFudHMgd2l0aCBtYWNyb3MgdG8gbWFrZSBnY2MgaGFwcHkKCSAgQ0MgICAgICAgZWxlbWVudHMvZWxlbWVudHNfcnRwaml0dGVyYnVmZmVyLXJ0cGppdHRlcmJ1ZmZlci5vCgkgIGVsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOjM4NzoxOiBlcnJvcjogaW5pdGlhbGl6ZXIgZWxlbWVudCBpcyBub3QgY29uc3RhbnQKCSAgc3RhdGljIGNvbnN0IEdzdENsb2NrVGltZSBQQ01VX0JVRl9EVVJBVElPTiA9IFBDTVVfQlVGX01TICogR1NUX01TRUNPTkQ7CgkgIF4KCSAgZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6Mzg4OjE6IGVycm9yOiBpbml0aWFsaXplciBlbGVtZW50IGlzIG5vdCBjb25zdGFudAoJICBzdGF0aWMgY29uc3QgZ3VpbnQgUENNVV9CVUZfU0laRSA9IDY0MDAwICogUENNVV9CVUZfTVMgLyAxMDAwOwoJICBeCgkgIGVsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOjM5MDo1OiBlcnJvcjogaW5pdGlhbGl6ZXIgZWxlbWVudCBpcyBub3QgY29uc3RhbnQKCSAgUENNVV9CVUZfQ0xPQ0tfUkFURSAqIFBDTVVfQlVGX01TIC8gMTAwMDsKCjIwMTUtMDctMDggMjM6NDA6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHJ1biBpbmRlbnQgYW5kIGZpeCBzb21lIGNvbW1lbnRzCgkgIEZpeCBpbmRlbnQgb24gdGhpcyBmaWxlIGFuZCBicmVhayBzb21lIGNvbW1lbnQgbGluZXMgaW50byB0d28gdG8gbWFrZQoJICBpdCBmaXQgODAgY2hhcnMgcGVyIGxpbmUKCjIwMTUtMDctMDggMTU6MDI6MjQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiByZXdvcmsgc2VnbWVudCBldmVudCBoYW5kbGluZyBmb3IgYWRhcHRpdmUgc3RyZWFtaW5nCgkgIFdoZW4gYSBuZXcgdGltZSBzZWdtZW50IGlzIHJlY2VpdmVkIHVwc3RyZWFtIGlzIGdvaW5nIHRvIHJlc3RhcnQKCSAgd2l0aCBhIG5ldyBhdG9tLiBNYWtlIHRoZSBuZWVkZWRieXRlcyBhbmQgdG9kcm9wIHZhcmlhYmxlcwoJICByZWZsZWN0IHRoYXQgdG8gYXZvaWQgd2FpdGluZyB0b28gbXVjaCBvciBkcm9wcGluZyB0aGUKCSAgaW5pdGlhbCBieXRlcyB0aGF0IGNvbnRhaW4gdGhlIGhlYWRlci4KCjIwMTUtMDctMDggMTI6MzU6NTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwdXNoIGRhdGEgZnJvbSBhZGFwdGVyIGJlZm9yZSBzdGFydGluZyBuZXcgc2VnbWVudAoJICBUaGUgYWRhcHRlciBtaWdodCBoYXZlIGRhdGEgcmVtYWluaW5nIGZyb20gdGhlIHByZXZpb3VzIHNlZ21lbnQsCgkgIHB1c2ggaXQgYWxsIGJlZm9yZSBjbGVhcmluZyB0aGUgYWRhcHRlciBhbmQgc3RhcnRpbmcgYSBuZXcgc2VnbWVudC4KCSAgSXQgY2FuIGFjY3VtdWxhdGUgZGF0YSBpZiBpdCBoYWQgcHVzaGVkIGFuZCBnb3Qgbm90LWxpbmtlZCwgcmV0dXJuaW5nCgkgIGltbWVkaWF0ZWx5IHdpdGhvdXQgcHJvY2Vzc2luZyBhbGwgdGhlIGRhdGEuIEJlZm9yZSBzdGFydGluZyBhIG5ldwoJICBzZWdtZW50IHRoaXMgZGF0YSBzaG91bGQgYmUgaGFuZGxlZC4KCjIwMTUtMDctMDggMTk6NTk6MTMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBDYWxjdWxhdGUgRFRTIGZyb20gdGhlIGNsb2NrIGlmIHdlIGhhZCBub25lIGZvciB0aGUgZmlyc3QgcGFja2V0IGFmdGVyIGEgcmVzZXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTUzNgoKMjAxNS0wNy0wOCAyMTowODozNiArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGZpeCBnYXAtdGltZSBjYWxjdWxhdGlvbiBhbmQgcmVtb3ZlICJsYXRlIgoJICBUaGUgYW1vdW50IG9mIHRpbWUgdGhhdCBpcyBjb21wbGV0ZWx5IGV4cGlyZWQgYW5kIG5vdCB3b3J0aCB3YWl0aW5nIGZvciwKCSAgaXMgdGhlIGR1cmF0aW9uIG9mIHRoZSBwYWNrZXRzIGluIHRoZSBnYXAgKGdhcCAqIGR1cmF0aW9uKSAtIHRoZQoJICBsYXRlbmN5IChzaXplKSBvZiB0aGUgaml0dGVyYnVmZmVyIChwcml2LT5sYXRlbmN5X25zKS4gVGhpcyBpcyB0aGUgZHVyYXRpb24KCSAgdGhhdCB3ZSBtYWtlIGEgIm11bHRpLWxvc3QiIHBhY2tldCBmb3IuCgkgIFRoZSAibGF0ZSIgY29uY2VwdCBtYWRlIHNvbWUgc2Vuc2UgaW4gMC4xMCBhcyBpdCByZWZsZWN0ZWQgdGhhdCBhIGJ1ZmZlcgoJICBjb21pbmcgaW4gaGFkIG5vdCBiZWVuIHdhaXRlZCBmb3IgYXQgYWxsLCBidXQgaGFkIGEgdGltZXN0YW1wIHRoYXQgd2FzCgkgIG91dHNpZGUgdGhlIGppdHRlcmJ1ZmZlciB0byB3YWl0IGZvci4gV2l0aCB0aGUgcmV3cml0ZSBvZiB0aGUgd2FpdGluZwoJICAodGltZW91dCkgbWVjaGFuaXNtIGluIDEuMCwgdGhpcyBubyBsb25nZXIgbWFrZXMgYW55IHNlbnNlLCBhbmQgdGhlCgkgIHZhcmlhYmxlIG5vIGxvbmdlciByZWZsZWN0cyBhbnl0aGluZyBtZWFuaW5nZnVsIChudW0gPiAwIGlzIHVzZWxlc3MsCgkgIHRoZSBkdXJhdGlvbiBpcyB3aGF0IG1hdHRlcnMpCgkgIEZpeGVkIHVwIHRoZSB0ZXN0cyB0aGF0IGhhZCBiZWVuIHNsaWdodGx5IG1vZGlmaWVkIGluIDEuMCB0byBhbGxvdyBmYXVsdHkKCSAgYmVoYXZpb3IgdG8gc25lYWsgaW4sIGFuZCBwb3J0IHNvbWUgb2YgdGhlbSB0byB1c2UgR3N0SGFybmVzcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODM2MwoKMjAxNS0wNi0zMCAxMToyMTozMSArMDIwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbkBwZXhpcC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgUmV2ZXJ0ICJydHBqaXR0ZXJidWZmZXI6IEZpeCBleHBlY3RlZF9kdHMgY2FsYyBpbiBjYWxjdWxhdGVfZXhwZWN0ZWQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMDViZDcwOGZjNWU4ODEzOTBmZTgzOTgwM2I1MzE0NDM5M2Q5NWFiMC4KCSAgVGhlIHJldmVydGVkIHBhdGNoIGlzIHdyb25nIGFuZCBpbnRyb2R1Y2VzIGEgcmVncmVzc2lvbiBiZWNhdXNlIHRoZXJlCgkgIG1heSBzdGlsbCBiZSB0aW1lIHRvIHJlY2VpdmUgc29tZSBvZiB0aGUgcGFja2V0cyBpbmNsdWRlZCBpbiB0aGUgZ2FwCgkgIGlmIHRoZXkgYXJlIHJlb3JkZXJlZC4KCjIwMTUtMDctMDcgMjM6NTM6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmbHVzaCBzYW1wbGVzIGJlZm9yZSBhZGRpbmcgbW9yZSBmcm9tIG1vb2YKCSAgQXZvaWRzIGFjY3VtdWxhdGluZyBhbGwgc2FtcGxlcyBmcm9tIGEgZnJhZ21lbnRlZCBzdHJlYW0gdGhhdCBjb3VsZAoJICBsZWFkIHRvIGEgJ2luZGV4LXRvby1iaWcnIGVycm9yIG9uY2UgaXQgZ29lcyBvdmVyIDUwTUIgb2YgZGF0YS4gSXQKCSAgY291bGQgcmVhY2ggdGhhdCBiZWZvcmUgMmggb2YgcGxheWJhY2sgc28gaXQgZG9lc24ndCB0YWtlIHRoYXQgbG9uZy4KCSAgQXMgdXBzdHJlYW0gZWxlbWVudHMgYXJlIHByb3ZpZGluZyBkYXRhIGluIHRpbWUgZm9ybWF0IHRoZXkgc2hvdWxkCgkgIGJlIHRoZSBvbmVzIHRoYXQgaGF2ZSBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBmdWxsIG1lZGlhIGluZGV4CgkgIGFuZCBzaG91bGQgYmUgYWJsZSB0byBzZWVrIGlmIHBvc3NpYmxlLgoKMjAxNS0wNy0wNyAyMzo1NjoxMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiByZW5hbWUgdXBzdHJlYW1fbmV3c2VnbWVudCB0byB1cHN0cmVhbV9mb3JtYXRfaXNfdGltZQoJICB1cHN0cmVhbV9uZXdzZWdtZW50IGlzbid0IHJlYWxseSBjbGVhciBvbiB3aGF0IGl0IG1lYW5zLCBpdCBpcyBzZXQKCSAgdG8gVFJVRSB3aGVuIHRoZSB1cHN0cmVhbSBlbGVtZW50IHNlbmRzIGEgc2VnbWVudCBpbiBUSU1FIGZvcm1hdCwgc28KCSAgcmVuYW1lIGl0IHRvIGJlIG1vcmUgY2xlYXIgYWJvdXQgaXQuCgkgIEl0IGlzIGltcG9ydGFudCB0byBrbm93IHRoaXMgYmVjYXVzZSBpdCBtZWFucyB0aGF0IHVwc3RyZWFtIGhhcwoJICBhIG5vdGlvbiBvZiB0aW1lIGFuZCBxdGRlbXV4IGlzIGxpa2VseSBiZWluZyBkcml2ZW4gYnkgYW4gdXBzdHJlYW0KCSAgZWxlbWVudCB0aGF0IGlzIHJlYWRpbmcgZnJvbSBhIGhpZ2hlciBsZXZlbCBhYnN0cmFjdGlvbiB0aGFuIGEgZmlsZSwKCSAgc3VjaCBhcyBhIERBU0gsIE1TUyBvciBETE5BIGVsZW1lbnQuCgoyMDE1LTA3LTA3IDIxOjMxOjA4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGxlYWsgYnkgZmx1c2hpbmcgcHJldmlvdXMgc2FtcGxlIGluZm8gZnJvbSB0cmFrCgkgIEluIGZyYWdtZW50ZWQgc3RyZWFtaW5nLCBtdWx0aXBsZSBtb292L21vb2Ygd2lsbCBiZSBwYXJzZWQgYW5kIHRoZWlyCgkgIHByZXZpb3VzbHkgc3RvcmVkIHNhbXBsZXMgYXJyYXkgbWlnaHQgbGVhayB3aGVuIG5ldyB2YWx1ZXMgYXJlIHBhcnNlZC4KCSAgVGhlIHBhcnNlX3RyYWsgYW5kIGNhbGxlZXMgd29uJ3QgZnJlZSB0aGUgcHJldmlvdXNseSBzdG9yZWQgdmFsdWVzCgkgIGJlZm9yZSBwYXJzaW5nIHRoZSBuZXcgb25lcy4KCSAgSW4gc3RlcC1ieS1zdGVwLCB0aGlzIGlzIHdoYXQgaGFwcGVuczoKCSAgMSkgaW5pdGlhbCBtb292IGlzIHBhcnNlZCwgdHJha3MgYXMgd2VsbCwgc3RyZWFtcyBhcmUgY3JlYXRlZC4gVGhlCgkgIHRyYWsgZG9lc24ndCBjb250YWluIHNhbXBsZXMgYmVjYXVzZSB0aGV5IGFyZSBpbiB0aGUgbW9vZidzIHRydW4KCSAgYm94ZXMuIG5fc2FtcGxlcyBpcyBzZXQgdG8gMCB3aGlsZSBwYXJzaW5nIHRoZSB0cmFrIGFuZCB0aGUgc2FtcGxlcwoJICBhcnJheSBpcyBzdGlsbCBOVUxMLgoJICAyKSBtb29mcyBhcmUgcGFyc2VkLCBhbmQgdGhlaXIgdHJ1biBib3hlcyB3aWxsIGluY3JlYXNlIG5fc2FtcGxlcyBhbmQKCSAgY3JlYXRlL2V4dGVuZCB0aGUgc2FtcGxlcyBhcnJheQoJICAzKSBBdCBzb21lIHBvaW50IGEgbmV3IG1vb3YgbWlnaHQgYmUgc2VudCAoYml0cmF0ZSBzd2l0Y2hpbmcsIGZvciBleGFtcGxlKQoJICBhbmQgcGFyc2luZyB0aGUgdHJhayB3aWxsIG92ZXJ3cml0ZSBuX3NhbXBsZXMgd2l0aCB0aGUgdmFsdWVzIGZyb20KCSAgdGhpcyB0cmFrLiBJZiB0aGUgbl9zYW1wbGVzIGlzIHNldCB0byAwIHF0ZGVtdXggd2lsbCBhc3N1bWUgdGhhdAoJICB0aGUgc2FtcGxlcyBhcnJheSBpcyBOVUxMIGFuZCB3aWxsIGxlYWsgaXQgd2hlbiBhIG5ldyBvbmUgaXMKCSAgY3JlYXRlZCBmb3IgdGhlIHN1YnNlcXVlbnQgbW9vZnMuCgkgIFRoaXMgcGF0Y2ggbWFrZXMgcXRkZW11eCBwcm9wZXJseSBmcmVlIHByZXZpb3VzIHNhbXBsZSBkYXRhIGJlZm9yZQoJICBjcmVhdGluZyBuZXcgb25lcyBhbmQgYWRkcyBhbiBhc3NlcnQgdG8gY2F0Y2ggZnV0dXJlIG9jY3VycmVuY2VzIG9mCgkgIHRoaXMgaXNzdWUgd2hlbiB0aGUgY29kZSBjaGFuZ2VzLgoKMjAxNS0wNy0wNyAxNjo0NjozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBpbmRleCBzaXplIGNoZWNrIGFuZCBkZWJ1ZyBtZXNzYWdlCgkgIEl0IGlzIGFsbG9jYXRpbmcgc2FtcGxlc19jb3VudCArIG5fc2FtcGxlcywgbm90IG9ubHkgbl9zYW1wbGVzCgoyMDE1LTA3LTA4IDE3OjAyOjA1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogQ2FsY3VsYXRlIHJlY2VpdmUgdGltZSBpZiB3ZSBkb24ndCBoYXZlIGFueQoJICBUaGlzIGlzIHJlcXVpcmVkIHRvIHByb3Blcmx5IHNjaGVkdWxlIHBhY2tldCBsb3NzIHRpbWVycyBhbmQgbWFrZQoJICBzdXJlIGFsbCBvdXIgY2FsY3VsYXRpb25zIHdvcmsgcHJvcGVybHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk1MzYKCjIwMTUtMDctMDggMTU6MTM6MTcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBIYW5kbGUgc2VxbnVtIGdhcHMgaW4gVENQIHN0cmVhbXMgd2l0aG91dCBlcnJvcmluZyBvdXQgb3Igb3ZlcmZsb3dpbmcgY2FsY3VsYXRpb25zCgkgIFRoYXQgaXMsIGhhbmRsZSBEVFM9PUdTVF9DTE9DS19USU1FX05PTkUgY29ycmVjdGx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5NTM2CgoyMDE1LTA3LTA4IDIwOjMxOjQyICswOTAwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGZpeCBldmVudCBsZWFrCgkgIHdoZW4gc2VlayBmYWlscyBpbiBhdmlkZW11eCwgZXZlbnQgaXMgbm90IGJlaW5nIGZyZWVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMTE3CgoyMDE1LTA3LTA4IDEyOjAyOjIyICswMjAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBoMjYzLmM6CgkgIHJ0cGgyNjNkZXBheTogTWFrZSBzdXJlIHBheWxvYWQgaXMgbGFyZ2UgZW5vdWdoCgkgIFBsdXMgbmV3IHVuaXQgdGVzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjExMgoKMjAxNS0wNy0wOCAwODo1OTo0OSArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwa2x2ZGVwYXkuYzoKCSAgcnRwa2x2ZGVwYXk6IGZpeCBwcmludGYgZm9ybWF0IGNvbXBpbGVyIHdhcm5pbmcKCSAgdl9sZW4gaXMgb2YgdHlwZSBndWludDY0LCBidXQgd2hpbGUgcHJpbnQgdGhlIHZhbHVlKDE2ICsgbGVuX3NpemUgKyB2X2xlbikKCSAgR19HU0laRV9GT1JNQVQgaXMgYmVpbmcgdXNlZCBpbnN0ZWFkIG9mIEdfR1VJTlQ2NF9GT1JNQVQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjEwMAoKMjAxNS0wNy0wNyAyMDoyNTo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkgIGRvY3M6IGFkZCBuZXcgUlRQIGVsZW1lbnRzIHRvIGRvY3MKCjIwMTUtMDctMDcgMjA6MDc6MzEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICB0ZXN0czogcnRwLXBheWxvYWRpbmc6IGFkZCBiYXNpYyB1bml0IHRlc3QgZm9yIEtMViBwYXlsb2FkaW5nCgkgIEFsc28gbWFrZSBpdCBzbyB0aGF0IHRoZSBtdHUgaXMgYWx3YXlzIHNldCBpZiBzcGVjaWZpZWQsIG5vdAoJICBvbmx5IGluIGNhc2Ugb2YgdGhlIHJhdGhlciB3ZWlyZCBidWZmZXJsaXN0IHRlc3QgY29kZSBwYXRoLgoJICBUaGlzIGFsbG93cyB1cyB0byBlYXNpbHkgbWFrZSB0aGUgcGF5bG9hZGVyIGZyYWdtZW50IGEgcGF5bG9hZAoJICBhY3Jvc3MgbXVsdGlwbGUgb3V0cHV0IHBhY2tldHMgYnkgc2V0dGluZyBhIHNtYWxsIE1UVSBvbiBpdC4KCjIwMTUtMDctMDcgMTk6NTg6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGtsdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwa2x2ZGVwYXkuaDoKCSAgcnRwa2x2ZGVwYXk6IGltcHJvdmUgc3RhcnQgZGV0ZWN0aW9uIGFuZCBoYW5kbGUgZnJhZ21lbnRlZCBLTFYgdW5pdHMKCjIwMTUtMDctMDUgMjA6MjU6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGtsdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwa2x2ZGVwYXkuaDoKCSAgcnRwOiBhZGQgU01QVEUgMzM2TSBLTFYgbWV0YWRhdGEgZGVwYXlsb2FkZXIKCSAgaHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNjU5NwoKMjAxNC0wOC0wOSAxMDowODo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwa2x2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwa2x2cGF5Lmg6CgkgIHJ0cDogYWRkIFNNUFRFIDMzNk0gS0xWIG1ldGFkYXRhIHBheWxvYWRlcgoJICBodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM2NTk3CgoyMDE1LTA3LTA3IDE2OjU5OjIwICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmg6CgkqIGdzdC9pc29tcDQvYXRvbXNyZWNvdmVyeS5jOgoJKiBnc3QvaXNvbXA0L3Byb3BlcnRpZXMuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgZG9jczogZml4ICJTeW1ib2wgbmFtZSBub3QgZm91bmQgYXQgdGhlIHN0YXJ0IG9mIHRoZSBjb21tZW50IGJsb2NrIgoJICBBZGQgc3ltYm9scyBvciBjaGFuZ2UgY29tbWVudCBpbnRvIGEgcmVndWxhciBjb21tZW50LgoKMjAxNS0wNy0wNyAxNjo1ODo1MyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuaDoKCSAgZG9jczogcmVtb3ZlIG91dGRhdGVkIGRvYyBzdHJpbmdzCgoyMDE1LTA3LTAzIDIzOjEwOjQwICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgIGRvY3M6IGFkZCBtaXNzaW5nIHBsdWdpbnMgYW5kIGVuc3VyZSBtYXN0ZXIgZG9jIGlzIHNvcnRlZAoKMjAxNS0wNy0wNyAxNTo1NDo0MSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBSZXZlcnQgImltYWdlZnJlZXplOiBSZW1vdmUgaW1wb3NzaWJsZSBlcnJvciBjb25kaXRpb24iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZDQ2NjMxYzVjNzMxMmFkNjEzMzk3ZjgyMzhjN2E5NzE0YWUzYWU5NC4KCSAgcGFkIG9ubHkgaGFuZGxlIEVPUyBldmVudHMgYnV0IG5vdCBFT1MgZmxvdywgYW5kIHdpbGwgcHVzaCB0aGUgYnVmZmVyIGFnYWluCgkgIHJlc3VsdGluZyBpbiBhbiBhc3NlcnRpb24gZXJyb3IuIFNvIHdlIHNob3VsZCBub3QgaGFuZGxlIHRoZSBidWZmZXIKCSAgYW5kIHJldHVybiBFT1MgZmxvdy4KCjIwMTUtMDctMDcgMTU6NTA6NTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOgoJICBydHBnNzI5ZGVwYXk6IHVubWFwIHJ0cCBidWZmZXIgaW4gZXJyb3IgcGF0aAoKMjAxNS0wNy0wNyAxNTo0ODo0MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJICBydHBnNzI5cGF5OiBmaXggYnVmZmVyIGxlYWsKCSAgVGhlIGhhbmRsZV9idWZmZXIgdmZ1bmMgdGFrZXMgb3duZXJzaGlwIG9mIHRoZSBpbnB1dCBidWZmZXIuCgkgIEZpeGVzIGVsZW1lbnRzL3J0cC1wYXlsb2FkaW5nIHVuZGVyIHZhbGdyaW5kLgoKMjAxNS0wNy0wMiAwODo1Mjo0MyArMDIwMCAgVG9iaWFzIE11ZWxsZXIgPG11ZWxsaUBjcnlwdG9iaXRjaC5kZT4KCgkqIGdzdC9nb29tL2dvb21fY29yZS5jOgoJICBnb29tOiBJbml0aWFsaXNlZCB2YXJpYWJsZXMgdG8gcmVtb3ZlIGNvbXBpbGVyIHdhcm5pbmdzCgkgIGdvb21fY29yZS5jOiBJbiBmdW5jdGlvbiAnZ29vbV91cGRhdGUnOgoJICBnb29tX2NvcmUuYzo2ODU6NTogZXJyb3I6ICdwYXJhbTInIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbiBbLVdlcnJvcj1tYXliZS11bmluaXRpYWxpemVkXQoJICBnb29tX2xpbmVzX3N3aXRjaF90byAoZ29vbUluZm8tPmdtbGluZTIsIG1vZGUsIHBhcmFtMiwgYW1wbGl0dWRlLCBjb3VsZXVyKTsKCSAgXgoJICBnb29tX2NvcmUuYzo2ODQ6NTogZXJyb3I6ICdwYXJhbTEnIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbiBbLVdlcnJvcj1tYXliZS11bmluaXRpYWxpemVkXQoJICBnb29tX2xpbmVzX3N3aXRjaF90byAoZ29vbUluZm8tPmdtbGluZTEsIG1vZGUsIHBhcmFtMSwgYW1wbGl0dWRlLCBjb3VsZXVyKTsKCSAgXgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMDUzCgoyMDE1LTA3LTA3IDA5OjE4OjM5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYxcGF5LmM6CgkgIHJ0cGgyNjFwYXk6IGZpeCBpbmRlbnRhdGlvbgoKMjAxNS0wNy0wNiAxOToxMTowMCArMDkwMCAgSmltbXkgT2huIDx5b25namluLm9obkBsZ2UuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYxcGF5LmM6CgkgIHJ0cGgyNjFwYXk6IEZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIGVycm9yCgkgIGVuZHBvcyB2YXJpYWJsZSBkb2VzIG5vdCBjb3JyZWN0bHkgdW5kZXJzdGFuZCBpbiB0aGUKCSAgNC42LjMgR0NDIHZlcnNpb24uIFNvIGNvbXBpbGUgZXJyb3IgYXBwZWFycyB3aGVuIHdlIGRvCgkgIGNvbXBpbGUgcnRwaDI2MXBheSB1c2luZyBqaGJ1aWxkLgoJICBUaGlzIHBhdGNoIGlzIGZpeGVkIHRoZSBjb21waWxlIGVycm9yIGluIDQuNi4zIEdDQyB2ZXJzaW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxOTg1CgoyMDE0LTExLTEyIDEyOjA4OjU4ICswMTAwICBKYW4gQWxleGFuZGVyIFN0ZWZmZW5zIChoZWZ0aWcpIDxqc3RlZmZlbnNAbWFrZS50dj4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IEhhbmRsZSBzZWVrIGZsYWdzIHByb3Blcmx5CgkgIEFsbG93cyBmb3Igbm9uLWtleWZyYW1lIHNlZWtzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4NTcwCgoyMDE1LTAyLTI0IDEwOjUwOjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYXZvaWQgbG9vcGluZyByZWFkaW5nIHRoZSAnbW9vZicgYXRvbSBmb3JldmVyCgkgIEl0IGdldHMgc3R1Y2sgaWYgaXQgb25seSBmaW5kcyBhIG1vb2YgYW5kIG5vIG1mcmEvbWZybyBvciBtb292CgkgIGF0b21zLiBTa2lwIHRoZSBtb29mIHRvIGNvbnRpbnVlIHRoZSBwYXJzaW5nIHRvIGhhdmUgaXQgZWl0aGVyCgkgIHBsYXkgb3IgZXJyb3Igb3V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MDg5CgoyMDE1LTA2LTI2IDEzOjI0OjE3ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBpbXByb3ZlIGVycm9yIGhhbmRsaW5nCgkgIGZvciBmaWxlcyB3aGljaCBoYXZlIGNvcnJ1cHRlZCBoZWFkZXIsIGxpYmZsYWMgaXMgbm90IGFibGUgdG8KCSAgcHJvY2VzcyB0aGUgbWV0YWRhdGEgcHJvcGVybHkuIFdlIGp1c3QgdHJ5IHRvIGlnbm9yZSB0aGUgZXJyb3IKCSAgYW5kIGNvbnRpbnVlIHdpdGggdGhlIHByb2Nlc3NpbmcsIHNpbmNlIG1ldGFkYXRhIHBhcnNpbmcgaXMgbm90CgkgIG1ha2luZyBtdWNoIG9mIGEgZGlmZmVyZW5jZSB0byBsaWJmbGFjCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEzMzQKCjIwMTUtMDctMDYgMjA6MTY6MzggKzA5MDAgIEh5dW5qdW4gS28gPHp6b29uLmtvQHNhbXN1bmcuY29tPgoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6CgkgIHhpbWFnZXNyYzogYWRkIG1ldGEgdHJhbnNmb3JtIGZ1bmN0aW9uCgkgIHhpbWFnZSBtZXRhZGF0YSBjYW4ndCBiZSB0cmFuc2Zvcm1lZCBvciBjb3BpZWQsIGJ1dCBwcm92aWRlIGFuIGVtcHR5CgkgIHRyYW5zZm9ybWF0aW9uIGZ1bmN0aW9uIGluc3RlYWQgb2YgTlVMTCB0byBhbGxvdyB1bmNvbmRpdGlvbmFsIGNhbGxpbmcKCSAgb2YgbWV0YXMnIHRyYW5zZm9ybSBmdW5jdGlvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE3NzgKCjIwMTQtMDYtMTYgMTY6MTQ6MjggKzAyMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW4uc2VsbmVzQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJICBydHBoMjYzcGRlcGF5OiBpbml0IGRlYnVnIGNhdGVnb3J5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTIwMTIKCjIwMTQtMDYtMjAgMTA6NTk6MTQgKzAyMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW5AcGV4aXAuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhkZXBheS5jOgoJICBydHB2OGRlcGF5OiBpZ25vcmUgcmVzZXJ2ZWQgYml0IGluIHBheWxvYWQgZGVzY3JpcHRvcgoJICBEcmFmdCAxNiBvZiAiUlRQIFBheWxvYWQgRm9ybWF0IGZvciBWUDgiIHN0YXRlcyBpbiBzZWN0aW9uIDQuMiB0aGF0OgoJICBSOiBCaXQgcmVzZXJ2ZWQgZm9yIGZ1dHVyZSB1c2UuICBNVVNUIGJlIHNldCB0byB6ZXJvIGFuZCBNVVNUIGJlCgkgIGlnbm9yZWQgYnkgdGhlIHJlY2VpdmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxOTI5CgoyMDE1LTA3LTA0IDIwOjU2OjQyICswMjAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L3J0cC9nc3RydHBoMjYxZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYxcGF5LmM6CgkgIHJ0cGgyNjFwYXk6IHJ0cGgyNjFkZXBheTogQWRkIGRvY3VtZW50YXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTk4MgoKMjAxNS0wNy0wMyAyMTo1ODoxNCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZjc0YjJkZiB0byA5YWVkMWQ3CgoyMDE1LTA3LTAzIDE0OjI5OjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYxcGF5LmM6CgkgIHJ0cGgyNjFwYXk6IEZpeCBjb21waWxlciB3YXJuaW5nCgkgIGdzdHJ0cGgyNjFwYXkuYzogSW4gZnVuY3Rpb24gJ2dzdF9ydHBfaDI2MV9wYXlfY2xhc3NfaW5pdCc6CgkgIGdzdHJ0cGgyNjFwYXkuYzoxMDAzOjE3OiBlcnJvcjogdmFyaWFibGUgJ2dvYmplY3RfY2xhc3MnIHNldCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWJ1dC1zZXQtdmFyaWFibGVdCgkgIEdPYmplY3RDbGFzcyAqZ29iamVjdF9jbGFzczsKCjIwMTUtMDctMDMgMTQ6MDM6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjFkZXBheS5jOgoJICBydHBoMjYxZGVwYXk6IExldCB0aGUgYmFzZSBjbGFzcyBwdXNoIHRoZSBidWZmZXIgc28gaXQgY2FuIGRlYWwgd2l0aCB0aGUgZmxvdyByZXR1cm4KCjIwMTUtMDctMDMgMTQ6MTE6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjFwYXkuYzoKCSAgcnRwaDI2MXBheTogUmVtb3ZlIHVudXNlZCBhZGFwdGVyCgoyMDE1LTA3LTAzIDEzOjE3OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJICBzcGVleHBheTogRGlyZWN0bHkgYXR0YWNoIHBheWxvYWQgdG8gdGhlIG91dHB1dCBidWZmZXIgaW5zdGVhZCBvZiBjb3B5aW5nIGl0CgoyMDE1LTA3LTAzIDEzOjA3OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuYzoKCSAgc2JjcGF5OiBBdHRhY2ggcGF5bG9hZCBkaXJlY3RseSB0byB0aGUgb3V0cHV0IGluc3RlYWQgb2YgY29weWluZwoKMjAxNC0xMi0wMSAxNDoxODo0MCArMDEwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbkBwZXhpcC5jb20+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYxcGF5Lmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHJ0cDogYWRkIEguMjYxIFJUUCBwYXlsb2FkZXIgYW5kIGRlcGF5bG9hZGVyCgkgIEltcGxlbWVudGF0aW9uIGFjY29yZGluZyB0byBSRkMgNDU4Ny4KCSAgUGF5bG9hZGVyIGNyZWF0ZSBmcmFnbWVudHMgb24gTUIgYm91bmRhcmllcyBpbiBvcmRlciB0byBtYXRjaCBNVFUgc2l6ZQoJICB0aGUgYmVzdCBpdCBjYW4uIFNvbWUgZGVjb2RlcnMvZGVwYXlsb2FkZXJzIGluIHRoZSB3aWxkIGFyZSB2ZXJ5IHN0cmljdAoJICBhYm91dCByZWNlaXZpbmcgYSBjb250aW51b3VzIGJpdC1zdHJlYW0gKGUuZy4gbm8gbm8tb3AgYml0cyBiZXR3ZWVuCgkgIGZyYW1lcyksIHNvIHRoZSBwYXlsb2FkZXIgd2lsbCBzaGlmdCB0aGUgY29tcHJlc3NlZCBiaXQtc3RyZWFtIG9mIGEKCSAgZnJhbWUgdG8gYWxpZ24gd2l0aCB0aGUgbGFzdCBzaWduaWZpY2FudCBiaXQgb2YgdGhlIHByZXZpb3VzIGZyYW1lLgoJICBEZXBheWxvYWRlciBkb2VzIG5vdCB0cnkgdG8gYmUgZmFuY3kgaW4gY2FzZSBvZiBwYWNrZXQgbG9zcy4gSXQgc2ltcGx5CgkgIGRyb3BzIGFsbCBwYWNrZXRzIGZvciBhIGZyYW1lIGlmIHRoZXJlIGlzIGEgbG9zcywga2VlcGluZyBpdCBzaW1wbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE4ODYKCjIwMTUtMDctMDMgMTI6MTg6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6CgkgIHJ0cG1wdmRlcGF5OiBEb24ndCBmb3JnZXQgdG8gdW5tYXAgdGhlIGlucHV0IGJ1ZmZlcgoKMjAxNS0wNy0wMyAxMjoxNDo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6CgkgIHJ0cG1wdnBheTogQ3JlYXRlIGJ1ZmZlciBsaXN0cyBpbnN0ZWFkIG9mIHB1c2hpbmcgZWFjaCBidWZmZXIgaW5kaXZpZHVhbGx5CgoyMDE1LTA3LTAzIDEyOjAzOjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSAgcnRwbXBhcGF5OiBVc2UgYnVmZmVyIGxpc3RzIGluc3RlYWQgb2YgcHVzaGluZyBlYWNoIGZyYWdtZW50IGluZGl2aWR1YWxseQoKMjAxNS0wNy0wMyAxMDo1MTo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOgoJICBydHBtcDRhcGF5OiBDcmVhdGUgYnVmZmVyIGxpc3RzIGFuZCBkb24ndCBjb3B5IHBheWxvYWQgbWVtb3J5CgoyMDE1LTA2LTI5IDE2OjE0OjE4ICswMjAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IENvbnNpZGVyIHRpbWVycyBsZW4gdG8gY29tcGFyZSB3aXRoIFJUUF9NQVhfRFJPUE9VVAoJICBXaGVuIHRoZXJlIGFyZSBhIGxvdCBvZiBzbWFsbCBnYXBzLCB3ZSBjYW4gY29uc2lkZXIgdGhhdCB0aGVyZSBpcwoJICBhIGJpZyBnYXAgKHRvbyBsb3NzZXMpIHRvIHJlc2V0IHRoZSBidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE2MzYKCjIwMTUtMDYtMjkgMTU6NTM6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogSWYgcG9zc2libGUsIGFsd2F5cyB1cGRhdGUgdGhlIGN1cnJlbnQgdGltZSBiZWZvcmUgbG9vcGluZyBvdmVyIGFsbCB0aW1lcnMKCSAgSWYgd2UgaGF2ZSBhIGNsb2NrLCB1cGRhdGUgIm5vdyIgbm93IHdpdGggdGhlIHZlcnkgbGF0ZXN0IHJ1bm5pbmcgdGltZSB3ZSBoYXZlLgoJICBJZiB0aW1lcnMgYXJlIHVuc2NoZWR1bGVkIGJlbG93IHdlIG90aGVyd2lzZSB3b3VsZG4ndCB1cGRhdGUgbm93IChpdCdzIG9ubHkgdXBkYXRlZAoJICB3aGVuIHRpbWVycyBleHBpcmUpLCBhbmQgYWxzbyBmb3IgdGhlIHZlcnkgZmlyc3QgbG9vcCBpdGVyYXRpb24gbm93IHdvdWxkIG90aGVyd2lzZQoJICBhbHdheXMgYmUgMC4KCSAgQWxzbyB0aGUgdGltZSBpcyB1c2VkIGZvciB0aGUgdGltZW91dCBmdW5jdGlvbnMsIGUuZy4gdG8gY2FsY3VsYXRlIGFueSB0aW1lcwoJICBmb3IgdGhlIG5leHQgdGltZW91dHMgYW5kIHdlIHdvdWxkIG90aGVyd2lzZSBwYXNzIHRvbyBvbGQgdGltZXMgdGhlcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE2MzYKCjIwMTUtMDctMDIgMTQ6MzQ6NTcgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IGZpeCBtZW1vcnkgbGVhawoJICB0bXAgbmVlZHMgdG8gYmUgZnJlZWQgYmVmb3JlIGdvaW5nIG91dCBvZiBzY29wZSBpbiAnZG9uZScuCgkgIENJRCAjMTMwODk1NAoKMjAxNS0wNy0wMiAxMjoyMzo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSAgcnRwaDI2M3BwYXk6IEdlbmVyYXRlIGJ1ZmZlciBsaXN0cyBhbmQgYXR0YWNoIHRoZSBwYXlsb2FkIGRpcmVjdGx5IGluc3RlYWQgb2YgY29weWluZyBpdAoKMjAxNS0wNy0wMiAwOTo0ODowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJICBydHBoMjYzcGRlcGF5OiBTaW1wbGlmeSBjb2RlIGEgYml0IGFuZCBkbyBsZXNzIGRpcmVjdCBtZW1jcHkgYW5kIGxldCBHc3RCdWZmZXIgZG8gdGhhdCBmb3IgdXMKCjIwMTUtMDctMDIgMDk6MTc6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5Lmg6CgkgIHJ0cGgyNjNwYXk6IFN0b3AgdXNpbmcgYW4gYWRhcHRlciBhbmQgZGlyZWN0bHkgdXNlIHRoZSBidWZmZXIKCSAgV2UgYWx3YXlzIHB1c2hlZCBvbmUgYnVmZmVyIGludG8gdGhlIGFkYXB0ZXIsIHRoZW4gaGFuZGxlZCBleGFjdGx5IHRoYXQgb25lCgkgIGJ1ZmZlciBhbmQgZmx1c2hlZCBpdCBmcm9tIHRoZSBhZGFwdGVyLiBOb3cgYWxzbyBkb24ndCBtZW1jcHkoKSB0aGUgYWN0dWFsCgkgIHBheWxvYWQgYnV0IGp1c3QgYXR0YWNoIHRoZSBpbnB1dCBidWZmZXIncyBkYXRhIHRvIHRoZSBvdXRwdXQgYnVmZmVyLgoJICBUaGlzIGNvZGUgc3RpbGwgbmVlZHMgc29tZSBzZXJpb3VzIHJlZmFjdG9yaW5nL3Jld3JpdGluZy4KCjIwMTUtMDctMDEgMjE6NTc6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJICBydHBnc21wYXk6IFJlbW92ZSBub24tZXhpc3RpbmcgaW5jbHVkZXMgZm9yIG5vdwoJICBnaXQgYWRkIC1wIG1pc3Rha2UuCgoyMDE1LTA3LTAxIDE5OjI5OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSAgcnRwZ3N0cGF5OiBVc2UgdGhlIHJldHVybiB2YWx1ZSBvZiBnc3RfYnVmZmVyX2FwcGVuZCgpCgoyMDE1LTA3LTAxIDE5OjE5OjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSAgcnRwZ3NtcGF5OiBBdHRhY2ggcGF5bG9hZCB0byB0aGUgb3V0cHV0IGJ1ZmZlciBpbnN0ZWFkIG9mIGNvcHlpbmcgaXQKCjIwMTUtMDctMDEgMTc6NTg6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSAgcnRwZzcyOXBheTogQXR0YWNoIHBheWxvYWQgZGlyZWN0bHkgdG8gb3V0cHV0IGJ1ZmZlcnMgaW5zdGVhZCBvZiBjb3B5aW5nCgoyMDE1LTA3LTAxIDE3OjQzOjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5LmM6CgkgIHJ0cGc3MjNwYXk6IEF0dGFjaCBwYXlsb2FkIGJ1ZmZlciB0byB0aGUgb3V0cHV0IGluc3RlYWQgb2YgY29weWluZwoKMjAxNS0wNy0wMSAxNzozMDozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5jOgoJICBydHBkdmRlcGF5OiBNYXAgdGhlIG91dHB1dCBidWZmZXIgb25jZSBpbnN0ZWFkIG9mIG9uY2UgZXZlcnkgODAgYnl0ZXMKCjIwMTUtMDctMDEgMjE6NDY6NDYgKzA5MDAgIEppbW15IE9obiA8eW9uZ2ppbi5vaG5AbGdlLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGZpeCByZXR1cm4gdHlwZSBvZiBpbmRleF9lbnRyeV9vZmZzZXRfc2VhcmNoKCkKCSAgSXQncyBhIGNvbXBhcmUgZnVuY3Rpb24gYW5kIG1heSByZXR1cm4gYSBuZWdhdGl2ZSB2YWx1ZSwKCSAgc28gc2hvdWxkIGZvciBjb3JyZWN0bmVzcyBhbmQgY29uc2lzdGVuY3kgcmV0dXJuIGEgc2lnbmVkCgkgIGludGVnZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE3ODAKCjIwMTUtMDctMDEgMTQ6MTI6NTcgKzAyMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogcmVmYWN0b3IgaGFuZGxlX25leHRfYnVmZmVyCgkgIFRoZSBnb2FsIG9mIHRoaXMgcGF0Y2ggaXMgbWFraW5nIGhhbmRsZV9uZXh0X2J1ZmZlciBmdW5jdGlvbgoJICBtb3JlIHJlYWRhYmxlIGF2b2lkaW5nIHVubmVjZXNhcnkgZ290b3MgYW5kIGFkZGluZyBvdGhlcgoJICBjb3NtZXRpYyBjaGFuZ2VzLgoKMjAxNS0wNy0wMSAxNTo0MDoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5LmM6CgkgIHJ0cGFjM3BheTogQXR0YWNoIHRoZSBwYXlsb2FkIHRvIHRoZSBvdXRwdXQgYnVmZmVyIGluc3RlYWQgb2YgY29weWluZyBpdAoJICBNaWdodCBhbHNvIHdhbnQgdG8gcHJvZHVjZSBidWZmZXIgbGlzdHMgaGVyZSBpZiBuZWVkZWQuCgoyMDE1LTA3LTAxIDE1OjM4OjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbmRlcGF5LmM6CgkgIHJ0cDogRml4IGluZGVudGlvbgoKMjAxNS0wNy0wMSAxMjozNzoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1WUDgtT1BVUy5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1WVFMtVlA4LUFUUy1PUFVTLnNoOgoJICBydHA6IEFkZCBleGFtcGxlcyB3aXRoIFZUUy9BVFMgZm9yIFZQOC9PUFVTCgkgIExldCdzIGhhdmUgYW4gZXhhbXBsZSB3aXRoIG1vZGVybiBjb2RlY3MuCgoyMDE1LTA2LTMwIDE4OjExOjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IFVzZSBHU1RfV0FSTklOR19PQkpFQ1QoKSBpbnN0ZWFkIG9mIEdTVF9XQVJOSU5HKCkKCjIwMTUtMDYtMzAgMTQ6MDY6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOGRlcGF5LmM6CgkgIHZwOGRlcGF5OiBEb24ndCBsb2NrL21hcCBldmVyeSBub24ta2V5ZnJhbWUgYnVmZmVyIHR3aWNlCgkgIEp1c3QgY29weSB0aGUgY29tcGxldGUgaGVhZGVyIGluc3RlYWQgb2YgZmlyc3QgbG9va2luZyBhdCB0aGUgZmlyc3QgYnl0ZQoJICBhbmQgdGhlbiBhdCB0aGUgcmVtYWluaW5nIDEwIGJ5dGVzLgoKMjAxNS0wNi0yOSAxNjowNTo0NCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogZG9jdW1lbnQgZmFsbHRocm91Z2ggY2FzZXMKCSAgUGFjaWZ5IGNvdmVyaXR5IGFuZCBkb2N1bWVudCBmYWxsdGhyb3VnaCBjYXNlcyBpbiBzd2l0Y2ggc3RhdGVtZW50cy4KCSAgQ0lEICMxMzA4OTQ4LCAjMTMwODk0NywgIzEzMDg5NDYKCjIwMTUtMDYtMjkgMTA6MzY6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgUmV2ZXJ0ICJydHBqaXR0ZXJidWZmZXI6IElmIHdlIGhhdmUgYW4gaW1tZWRpYXRlIHRpbWVvdXQsIGRvbid0IHRyeSB0byBmaW5kIGFuIGVhcmxpZXIgdGltZW91dCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAwYzIxY2Q3MTc3ZWE4ODNjNzEwOTk5MTQ3ZGRjZWRiMTkwMDRkMTgyLgoJICBJZiB3ZSBoYXZlIG11bHRpcGxlIGltbWVkaWF0ZSB0aW1lcnMsIHdlIHdhbnQgdG8gZmlyc3QgaGFuZGxlIHRoZSBvbmUgd2l0aCB0aGUKCSAgbG93ZXN0IHNlcXVlbmNlIG51bWJlci4uLiB3aGljaCB3b3VsZCBiZSBicm9rZW4gbm93LgoJICBJbnN0ZWFkIG9mIHRoaXMgd2Ugc2hvdWxkIGp1c3QgdXNlIGEgR1NlcXVlbmNlIGZvciB0aGUgdGltZXJzLCBhbmQgaGF2ZSB0aGVtCgkgIHNvcnRlZCBmaXJzdCBieSB0aW1lc3RhbXAsIGFuZCBmb3IgZXF1YWwgdGltZXN0YW1wcyBieSBzZXF1ZW5jZSBudW1iZXIuIFRoZW4KCSAgd2Ugd291bGQgYWx3YXlzIG9ubHkgaGF2ZSB0byB0YWtlIHRoZSB2ZXJ5IGZpcnN0IHRpbWVyIGZyb20gdGhlIGxpc3QgYW5kIG5ldmVyCgkgIGhhdmUgdG8gbG9vayBhdCBhbnkgb3RoZXJzLgoKMjAxNS0wNi0yOSAxMDoxNDowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IElmIHdlIGhhdmUgYW4gaW1tZWRpYXRlIHRpbWVvdXQsIGRvbid0IHRyeSB0byBmaW5kIGFuIGVhcmxpZXIgdGltZW91dAoJICBJZiB3ZSBoYXZlIGxvdHMgb2Ygc3VjaCBpbW1lZGlhdGUgdGltZW91dHMsIHdlIHdvdWxkIG90aGVyd2lzZSBoYXZlIHF1YWRyYXRpYwoJICBydW50aW1lIGluIHRoZSBudW1iZXIgb2YgdGltZW91dHMuCgoyMDE1LTA2LTE5IDE4OjAxOjAzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c3JjLmM6CgkgIHNwbGl0bXV4c3JjOiBzdGlja3kgZXZlbnRzIGFyZSBzZW50IGF1dG9tYXRpY2FsbHkgZnJvbSB0aGUgcGFkCgkgIE5vIG5lZWQgdG8gc2VuZCB0aGVtIGV4cGxpY2l0bHkgZnJvbSB0aGUgZWxlbWVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMjQwCgoyMDE1LTA2LTE5IDE4OjAwOjQwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c3JjLmM6CgkgIHNwbGl0bXV4c3JjOiBtYWtlIHN1cmUgdG8gcHVzaCBzdGlja3kgZXZlbnRzIGJlZm9yZSBhZGRpbmcgcGFkCgkgIEl0IGFsbG93cyB0aGUgY2FwcyB0byBiZSBzZXQgb24gdGhlIHBhZCBiZWZvcmUgYmVpbmcgYWRkZWQgZm9yCgkgIGR5bmFtaWMgYXV0b3BsdWdnaW5nIHRvIHdvcmsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEyNDAKCjIwMTUtMDYtMjYgMDA6MDU6MjkgKzA5MDAgIEh5dW5qdW4gS28gPHp6b29uLmtvQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IEFkZCBuZXcgbnRwLXRpbWUtc291cmNlIHByb3BlcnR5IGFuZCBkZXByZWNhdGUgdXNlLXBpcGVsaW5lLWNsb2NrIHByb3BlcnR5CgkgIEVuYWJsZSB0byB1c2UgbmV3IG50cC10aW1lLXNvdXJjZSBwcm9wZXJ0eSBvZiBydHBiaW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTQ5NgoKMjAxNS0wNi0yNSAyMzoxOTo1OCArMDkwMCAgSHl1bmp1biBLbyA8enpvb24ua29Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBiaW4vc2Vzc2lvbjogZml4IGRlc2NyaXB0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE0OTYKCjIwMTUtMDYtMjUgMTA6NTc6MjUgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJICBkb2NzOiBkZWNvZGViaW4yIC0+IGRlY29kZWJpbgoKMjAxNS0wNi0yNSAxMDo0NzowNiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogdXBkYXRlIGV4YW1wbGUgcGlwZWxpbmUKCSAgVXBkYXRlIHJlZmVyZW5jZSB0byBkZWNvZGViaW4yIHRvIGRlY29kZWJpbgoKMjAxNS0wNi0yNSAxMDo0NTozNSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogcmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCSAgVmFsdWVzIGluIGZpZWxkc19yZXF1aXJlZCBhbmQgc2FtZV9idWZmZXIgYXJlIG92ZXJ3cml0dGVuIGJlZm9yZSB1c2VkLiBSZW1vdmluZwoJICBhc3NpZ25tZW50CgoyMDE1LTA2LTI1IDEwOjA2OjA3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvbWlrbW9kL01ha2VmaWxlLmFtOgoJKiBleHQvbWlrbW9kL1JFQURNRToKCSogZXh0L21pa21vZC9kcnZfZ3N0LmM6CgkqIGV4dC9taWttb2QvZ3N0bWlrbW9kLmM6CgkqIGV4dC9taWttb2QvZ3N0bWlrbW9kLmg6CgkqIGV4dC9taWttb2QvbWlrbW9kX3JlYWRlci5jOgoJKiBleHQvbWlrbW9kL21pa21vZF90eXBlcy5jOgoJKiBleHQvbWlrbW9kL21pa21vZF90eXBlcy5oOgoJKiBtNC9NYWtlZmlsZS5hbToKCSogbTQvbGlibWlrbW9kLm00OgoJKiB3aW4zMi9NQU5JRkVTVDoKCSogd2luMzIvdnM4L2xpYmdzdG1pa21vZC52Y3Byb2o6CgkgIG1pa21vZDogcmVtb3ZlIGFuY2llbnQgdW5wb3J0ZWQgcGx1Z2luCgkgIFRoaXMgaGFzbid0IGJlZW4gdG91Y2hlZCBpbiAxMSB5ZWFycywgYW5kCgkgIGNsZWFybHkgbm8gb25lJ3MgYmVlbiBtaXNzaW5nIGl0LgoKMjAxNS0wNi0yMyAyMDoxNToxMyArMDkwMCAgR2lsYm9rIExlZSA8Z2lsYm9rLmxlZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkb2VzIG5vdCBkZXRlY3Qgb3JpZW50YXRpb24KCSAgTW9zdCBmaWxlcyBkb24ndCBjb250YWluIHRoZSB2YWx1ZXMgZm9yIHRyYW5zcG9zaW5nIHRoZSBjb29yZGluYXRlcwoJICBiYWNrIHRvIHRoZSBwb3NpdGl2ZSBxdWFkcmFudCBzbyBxdGRlbXV4IHdhcyBpZ25vcmluZyB0aGUgcm90YXRpb24KCSAgdGFnLiBUbyBiZSBhYmxlIHRvIHByb3Blcmx5IGhhbmRsZSB0aG9zZSBmaWxlcyBxdGRlbXV4IHdpbGwgYWxzbyBpZ25vcmUKCSAgdGhlIHRyYW5zcG9zaW5nIHZhbHVlcyB0byBvbmx5IGRldGVjdCB0aGUgcm90YXRpb24gdXNpbmcgdGhlIHZhbHVlcwoJICBhYmRlIGZyb20gdGhlIHRyYW5zZm9ybWF0aW9uIG1hdHJpeDoKCSAgW2EgYiBjXQoJICBbZCBlIGZdCgkgIFtnIGggaV0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODY4MQoKMjAxNS0wNi0yNSAwMDowNDoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS41LjIgPT09CgoyMDE1LTA2LTI0IDIzOjMwOjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuNS4yCgoyMDE1LTA2LTI0IDIyOjU2OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE1LTA2LTI0IDExOjE1OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vbmwucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE1LTA2LTIzIDE4OjQyOjU5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICBxdG11eDogQ29ycmVjdGx5IHRlc3QgZWFjaCBzZWdtZW50cwoJICBJbiBwcmVzZW5jZSBvZiBnYXBzLCBxdGRlbXV4IHdpbGwgZW1pdCBtdWx0aXBsZSBzZWdtZW50cy4gVGhlCgkgIHNlY29uZCBzZWdtZW50IHN0YXJ0IHNob3VsZCBtYXRjaCB0aGUgQ1RUUy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTM2MQoKMjAxNS0wNi0yMyAxNzo1NDozMSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBDb3JyZWN0bHkgY2FsY3VsYXRlIHRoZSBlbHN0IG1lZGlhIHN0YXJ0CgkgIFRoZSBtZWRpYSBzdGFydCBoYXMgbm90aGluZyB0byBkbyB3aXRoIHRoZSBzaGlmdCB3ZSBoYXZlIGFwcGxpZWQKCSAgYnV0IHdpdGggdGhlIHZhbHVlIG9mIHRoZSBmaXJzdCBQVFMuIFRoaXMgaXMgZGVmaW5lZCBhczoKCSAgRHQoMCkgPSAwCgkgIEN0KDApID0gRHQoMCkgKyBDVFRTKDApCgkgIFNvIHRoZSBtZWRpYSBzdGFydCBpcyBhbHdheXMgdGhlIGZpcnN0IENUVFMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEzNjEKCjIwMTUtMDYtMjMgMTE6NDk6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhY2N1bXVsYXRlIHByZXZpb3VzIGVkdHMgZW50cmllcyBpbnRvIHNlZ21lbnQuYmFzZQoJICBBbGxvd3MgcGxheWluZyBlZHRzIGVkaXR0ZWQgZmlsZXMgd2l0aCBwcm9wZXIgc3luY2hyb25pemF0aW9uIG9mCgkgIHN0cmVhbXMuIFRoaXMgcGF0Y2ggZml4ZXMgdGhlIHJlZ3Jlc3Npb24gaW50cm9kdWNlZCBieQoJICBiZjk1ZjkzYzAxODlhYTA0ZjE4ZTI2NGI4NmI2NTI3ZTQzMWM1ZDUzIHRoYXQgd2FzIGFkZGVkIHRvIGZpeAoJICBzZWdtZW50IHNlZWtzIGhhbmRsaW5nLgoJICBIYXZpbmcgdGhlIGFjY3VtdWxhdGVkX2Jhc2Ugc2VwYXJhdGVkIGZyb20gdGhlIG1haW4gc2VnbWVudC5iYXNlCgkgIGFsbG93cyBoYW5kbGluZyBib3RoIHNlZ21lbnQgc2Vla3MgYW5kIGVkdHMgZWRpdHRlZCBmaWxlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTM2MQoKMjAxNS0wNi0yMyAwMDo1NjoxNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGltcHJvdmUgc29tZSBkZWJ1ZyBtZXNzYWdlcwoJICBUaG9zZSBtZXNzYWdlcyBhcmUgYWJvdXQgdGhlIHN0cmVhbSwgdXNlIHRoZSBwYWQgYXMgdGhlCgkgIGRlYnVnIG9iamVjdCB0byBtYWtlIGl0IGNsZWFyIGZyb20gdGhlIGxvZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTM2MQoKMjAxNS0wNi0yMiAyMjoyMjowOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogc3RvcmUgbGFzdF9kdHMgb2YgdGhlIGZpcnN0IGJ1ZmZlcgoJICBCdWZmZXJzIG5lZWQgbm90IHRvIHN0YXJ0IGF0IHJ1bm5pbmctdGltZSAwIHNvIHRoZSBsYXN0X2R0cyBuZWVkcwoJICB0byBiZSB0aGUgdmFsdWUgb2YgdGhlIGZpcnN0IGJ1ZmZlcidzIGR0cyBhcyBpdCBpcyB1c2VkIHRvIGNvbXB1dGUKCSAgdGhlIGR1cmF0aW9uIG9mIHRoZSBidWZmZXJzLiBJZiBpdCB3YXMgbGVmdCBhdCAwIHRoZSBmaXJzdCBidWZmZXIKCSAgd291bGQgaGF2ZSBhIGxhcmdlciBkdXJhdGlvbiB3aGVuIGl0IHNob3VsZG4ndAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMzYxCgoyMDE1LTA2LTIzIDE3OjExOjU3ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBmaXggcG9zc2libGUgbWVtb3J5IGxlYWsKCSAgd2hlbiBidWZmZXIgaXMgc3RvcmVkIHRvIHNlZWt0YWJsZSwgYW5kIHN0b3AgZ2V0cyBjYWxsZWQgZHVlIHRvCgkgIGNvcnJ1cHQgZmxhYyBmaWxlLCB0aGVuIHRoZSBzZWVrdGFibGUgaXMgbm90IGJlaW5nIHJlbGVhc2VkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEzNjQKCjIwMTUtMDYtMjMgMTY6Mjg6NDAgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuaDoKCSAgUmV2ZXJ0ICJzcGxpdG11eHNpbms6IE1hc2sgYXN5bmMtc3RhcnQvZG9uZSB3aGlsZSBzd2l0Y2hpbmcgZmlsZXMuIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGQ2MWU1MzkzZjExMGVkNDgyODE1ZDc3ODA3MjQ1ZDc4YjUyZWZmNDYuCgkgIENhdXNlcyBmYWlsdXJlcyBtdXhpbmcgbGFyZ2VyIEdPUCBzaXplcyBmb3Igc29tZSByZWFzb24uIFJldmVydGluZwoJICB3aGlsZSBJIGZpZ3VyZSBpdCBvdXQKCjIwMTUtMDYtMTggMjM6MjI6MDYgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHBhcnRyZWFkZXIuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNyYy5jOgoJICBzcGxpdG11eHNyYzogRml4IHN0YXJ0dXAgYW5kIHNodXRkb3duIHJhY2VzLgoJICBGaXggMiBzdGFydHVwIHJhY2VzIHdoZW4gdGhpbmdzIGhhcHBlbiB0b28gcXVpY2tseSwgYW5kIDEKCSAgYXQgc2h1dGRvd24gYnkgaG9sZGluZyBhIHJlZiB0byB0aGUgcGFkcyBpbiB1c2UgdW50aWwgdGhlCgkgIGxvb3AgZnVuY3Rpb25zIGV4aXQuCgkgIEhhbmRsZSBlcnJvcnMgYWN0aXZhdGluZyBmaWxlIHBhcnRzIGFuZCBwdWJsaXNoIHRoZW0gb24KCSAgdGhlIGJ1cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDc0NwoKMjAxNS0wNi0xOCAwOToyNjoxMyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5oOgoJICBzcGxpdG11eHNpbms6IE1hc2sgYXN5bmMtc3RhcnQvZG9uZSB3aGlsZSBzd2l0Y2hpbmcgZmlsZXMuCgkgIFNvbWV0aW1lcywgZXh0cmEgYXN5bmMtc3RhcnQvZG9uZSBmcm9tIHRoZSBpbnRlcm5hbCBzaW5rCgkgIHdoaWxlIHRoZSBlbGVtZW50IGlzIHN0aWxsIHN0YXJ0aW5nIHVwIGNhbiBjYXVzZSBzcGxpdG11eHNpbmsKCSAgdG8gc3RhbGwgaW4gUEFVU0VEIHN0YXRlIHdoZW4gaXQgaGFzIGJlZW4gc2V0IHRvIFBMQVlJTkcKCSAgYnkgdGhlIGFwcC4gRHJvcCB0aGUgY2hpbGQncyBhc3luYy1zdGFydC9kb25lIG1lc3NhZ2VzIHdoaWxlCgkgIHN3aXRjaGluZywgc28gdGhleSBkb24ndCBjYXVzZSBzdGF0ZSBjaGFuZ2VzIGF0IHRoZQoJICBzcGxpdG11eHNpbmsgbGV2ZWwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA3NDcKCjIwMTUtMDYtMTUgMTY6MTI6MTAgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thLWRlbXV4OiBVc2UgZ3N0X3ZpZGVvX211bHRpdmlld19ndWVzc19oYWxmX2FzcGVjdCgpCgkgIFVzZSB0aGUgZ3N0X3ZpZGVvX211bHRpdmlld19ndWVzc19oYWxmX2FzcGVjdCgpIHV0aWxpdHkgZnVuY3Rpb24KCSAgdG8gc2V0IHRoZSBoYWxmLWFzcGVjdCBmbGFnIChvciBub3QpIG9uIHN0ZXJlb3Njb3BpYyBmcmFtZS1wYWNrZWQKCSAgdmlkZW9zLgoKMjAxNS0wNi0xNSAxNjoxMDozNyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogTW92ZSBtdWx0aXZpZXcgY2FwcyBjYWxjdWxhdGlvbnMsIGFkZCBoYWxmLWFzcGVjdCBoZXVyaXN0aWNzCgkgIE1vdmUgdGhlIG11bHRpdmlldyBjYXBzIGNhbGN1bGF0aW9ucyB0byB0aGUgY29uZmlndXJlX3N0cmVhbSgpCgkgIGZ1bmN0aW9uLCBzbyB0aGUgcmVzdCBvZiB0aGUgdmlkZW8gaW5mbyBpcyBhdmFpbGFibGUsIGFuZAoJICB1c2UgdGhlIGdzdF92aWRlb19tdWx0aXZpZXdfZ3Vlc3NfaGFsZl9hc3BlY3QoKSBmdW5jdGlvbiB0bwoJICBkZXRlcm1pbmUgaWYgdGhlIGhhbGYtYXNwZWN0IGZsYWcgc2hvdWxkIGJlIHNldCBvbiBmcmFtZS1wYWNrZWQKCSAgdmlkZW8uCgoyMDE1LTA2LTE4IDE2OjA2OjAyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQWRkIGNzbGcgc3VwcG9ydAoJICBUaGUgY3NsZyBhdG9tIHByb3ZpZGUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIERUUyBzaGlmdC4gVGhpcyBpcwoJICBuZWVkZWQgaW4gcmVjZW50IHZlcnNpb24gb2YgY3R0cyBhdG9tIHdoZXJlIHRoZSBvZmZzZXQgY2FuIGJlCgkgIG5lZ2F0aXZlLiBXaGVuIGNzbGcgaXMgbWlzc2luZywgd2UgcGFyc2UgdGhlIENUVFMgdGFibGUgYXMgcHJvcG9zZWQKCSAgaW4gdGhlIHNwZWMgdG8gY2FsY3VsYXRlIHRoZXNlIHZhbHVlcy4KCSAgSW4gdGhpcyBpbXBsZW1lbnRhdGlvbiwgd2Ugb25seSBuZWVkIHRvIGtub3cgdGhlIHNoaWZ0LiBBcyBHU3RyZWFtZXIKCSAgY2Fubm90IHRyYW5zcG9ydCBuZWdhdGl2ZSB0aW1lc3RhbXBzLCB3ZSBzaGlmdCB0aGUgdGltZXN0YW1wcyBmb3J3YXJkCgkgIHVzaW5nIHRoYXQgdmFsdWUgYW5kIGFkYXB0IHRoZSBzZWdtZW50IHRvIGNvbXBlbnNhdGUuIFRoaXMgcGF0Y2ggYWxzbwoJICByZW1vdmVzIGJvZ3VzIG9mZnNldCBvZiBjdHRzX3NvZmZzZXQsIHRoaXMgb2Zmc2V0IHNoYWxsIGJlIGluY2x1ZGVkCgkgIGluIHRoZSBlZGl0IGxpc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTExMDMKCjIwMTUtMDYtMTkgMTg6Mzc6NTkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHF0bXV4OiBUZXN0IGdhcHMgYXQgc3RhcnQgb2Ygc3RyZWFtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEyNDIKCjIwMTUtMDYtMTkgMTg6NDA6NDMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFVzZSBQVFMgdG8gZmlndXJlLW91dCBwcmVzZW5jZSBvZiBnYXBzCgkgIFdlIG5lZWQgdG8gbG9vayBhdCB0aGUgcHJlc2VudGF0aW9uIHRpbWVzdGFtcCBpbiBvcmRlciB0byBjb25jbHVkZSBpZgoJICB0aGVyZSBpcyBhIGdhcCBhdCB0aGUgc3RhcnQgb2YgYSBzdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEyNDIKCjIwMTUtMDYtMTkgMTY6NDU6MDIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFNldCBlZGl0IGxpc3QgdG8gY29tcGVuc2F0ZSBEVFMgc2hpZnQKCSAgV2Ugc2hpZnQgRFRTIGZvcndhcmQgdG8gYXZvaWQgbmVnYXRpdmUgdGltZXN0YW1wcyB3aGljaCBjYW5ub3QgYmUKCSAgcmVwcmVzZW50ZWQgd2l0aCB2ZXJzaW9uIDAgb2YgdGhlIENUVFMgdGFibGUuIFRvIHN0aWNrIHdpdGggdGhhdAoJICB2ZXJzaW9uIChiYWNrd2FyZCBjb21wYXRpYmlsaXR5KSwgdGhlIHNwZWMgcmVjb21tZW5kIHVzaW5nIGFuCgkgIGVkaXQgbGlzdCBlbnRyeSB0byBtb3ZlIGJhY2sgdGhlIHByZXNlbnRhdGlvbiB0aW1lIHRvIHdoZXJlIGl0CgkgIHNob3VsZCBiZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTI0MgoKMjAxNS0wNi0yMiAxNDozNTo1MiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IEluc2VydCBBVkMgZW5kIG9mIHNlcXVlbmNlCgkgIFRoaXMgRkxWIHNwZWNpZmljIG1hcmsgaXMgbmVlZGVkIHRvIHByZXZlbnQgRmxvdyBQbGF5ZXIgKG1vc3QgbGlrZWx5CgkgIGFsbCBGbGFzaCBiYXNlIHBsYXllcikgZnJvbSBnb2luZyBpbnRvIGJ1ZmZlcmluZyBzdGF0ZSB3aGVuIG5lYXIgRU9TLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMzIwCgoyMDE1LTA2LTIyIDEzOjA1OjI5ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJICBtYXRyb3NrYTogcmVtb3ZlIHVzZWxlc3MgY2hlY2sKCSAgTm8gbmVlZCB0byBjaGVjayBmb3IgY29udGV4dCBhdmFpbGFiaWxpdHkgd2hpbGUgZnJlZWluZy4gV2UgYXJlIGluc2lkZQoJICBpbnNpZGUgYSBjb2RlIGJsb2NrIHdpdGggYSBjb25kaXRpb24gdGhhdCBkZXJlZmVyZW5jZXMgY29udGV4dC4KCSAgaWYgKGNvbnRleHQtPnR5cGUgPT0gMCAuLi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTMwNgoKMjAxNS0wNi0yMiAxOTozNTo1NyArMDkwMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbHpvLmM6CgkgIGx6bzogZml4IG1lbW9yeSBsZWFrCgkgIHRoZSBvcGVuZWQgZmlsZSBpcyBub3QgYmVpbmcgY2xvc2VkIGR1cmluZyB0ZXN0LCB3aGljaCB3aWxsIHJlc3VsdAoJICBpbiBtZW1vcnkgbGVhay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTMwNgoKMjAxNS0wNi0yMiAxOTozMDo1OCArMDkwMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvbWlrbW9kL21pa21vZF9yZWFkZXIuYzoKCSAgbWlrbW9kX3JlYWRlcjogUG9zc2libGUgbnVsbCBwb2ludGVyIGRlcmVmZXJlbmNlOgoJICBnc3RfcmVhZGVyIHZhcmlhYmxlIGlzIGJlaW5nIHVzZWQgYmVmb3JlIGFjdHVhbGx5IGNoZWNraW5nIGlmIGl0CgkgIGFsbG9jYXRlZCBwcm9wZXJseQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMzA2CgoyMDE1LTA2LTIyIDE5OjQ1OjE0ICswOTAwICBTYW5na3l1IFBhcmsgPHNrMTEyMi5wYXJrQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IE1pbm9yIGNsZWFuLXVwCgkgIDEuIEZpeCB0aGUgY29kZSB3aGljaCBpcyB3cm9uZyBjb2Rpbmcgc3R5bGUuCgkgIDIuIEZpeCBhIHR5cGluZyBlcnJvciBvZiBjb21tZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMzE2CgoyMDE1LTA2LTIyIDExOjI4OjEzICswMjAwICBKb3NlIEFudG9uaW8gU2FudG9zIENhZGVuYXMgPHNhbnRvc2NhZGVuYXNAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogRG8gbm90IHRyeSB0byBwdXNoIE5VTEwgYnVmZmVycwoJICBJZiB1cGRhdGVfcmVjZWl2ZXJfc3RhdHMoKSBmYWlscywgd2UgY2FuJ3QgcmVhbGx5IGRvIGFueXRoaW5nIHdpdGggdGhpcyBidWZmZXIKCSAgYW55bW9yZSBhbmQgaGF2ZSB0byBkcm9wIGl0LiBUaGlzIGhhcHBlbnMgaWYgdGhlcmUncyBhIGJpZyBzZXFudW0KCSAgZGlzY29udGludWl0eSBmb3IgZXhhbXBsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTMxMQoKMjAxNS0wNi0yMiAxMzoxMDowMiArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IHRyaXZpYWwgY2xlYW51cAoJICB0cml2aWFsIHBhdGNoIHRvIGFkZCBwcm9wZXIgKCB3aGlsZSBjaGVja2luZyBmb3IgaWYoR19VTkxJS0VMWSgpKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMzA2CgoyMDE1LTA2LTIyIDEzOjE2OjA4ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJICBkY2FwYXJzZTogaW5pdGlhbGl6ZSBzaXplIHZhcmlhYmxlCgkgIHNpemUgY2FuIGJlIHVzZWQgaW4gY2xlYW51cCB3aXRob3V0IGJlaW5nIGluaXRpYWxpemVkLiBIZW5jZQoJICBzZXR0aW5nIGl0IHRvIDAgd2hlbiBkZWNsYXJpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTMwNgoKMjAxNS0wNi0yMiAxMzoxMzoyOSArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgbXBlZ2F1ZGlvcGFyc2U6IGluaXRpYWx6ZSBicGYgdmFyaWFibGUKCSAgYnBmIHZhcmlhYmxlIG1pZ2h0IGJlIHVzZWQgaW4gY2xlYW51cCB3aXRob3V0IGJlaW5nIGludGlhbGl6ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEzMDYKCjIwMTUtMDYtMTkgMTQ6NTA6NTkgKzAyMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cXVldWUuYzoKCSAgcnRwcnR4cXVldWU6IHJldmVyc2UgcGVuZGluZyBsaXN0IGJlZm9yZSBwdXNoaW5nIGJ1ZmZlcnMKCSAgV2l0aCB0aGlzIHdlIHNlbmQgdGhlIFJUWCBidWZmZXJzIGluIHRoZSBzYW1lIG9yZGVyCgkgIHRoYXQgdGhleSB3ZXJlIHJlcXVlc3RlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTI5NwoKMjAxNS0wNi0yMSAxOToyMjoxMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IEZpeCBEVFMgdmFsaWRpdHkgY2hlY2sKCSAgVGhpcyBjaGVjayB3YXMgdXAtc2lkZS1kb3duLCBjYXVzaW5nIGEgYmFkIHRpbWVzdGFtcCBhdCBzdGFydAoJICBhbmQgdGhlbiBhbGwgdGltZXN0YW1wIGJlaW5nIGRlbGF5ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEyOTgKCjIwMTUtMDYtMTcgMTU6MTk6NDcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9kdW1wLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9kdW1wLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eF90eXBlcy5jOgoJICBjc2xnOiBBZGQgQ29tcG9zaXRpb24gU2hpZnQgTGVhc3QgR3JlYXRlc3QgQXRvbQoJICBUaGlzIHNpbXBseSBhZGQgZm91cmNjIGFuZCBkdW1wIGZ1bmN0aW9uIGZvciB0aGUgY3NsZyBBdG9tLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMTAzCgoyMDE1LTA2LTE3IDE1OjE4OjM4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZHVtcC5jOgoJICBjdHRzX2R1bXA6IEZpeCBzaWduZXNzIGlzc3VlcwoJICBJdCBkaWRuJ3QgYnVnLCBidXQgdXNlIGNvcnJlY3Qgc2lnbmVzcyBpbiB0cmFjZXMuIFRoZSBudW1iZXIgb2YKCSAgZW50cmllcyBpcyB1bnNpZ25lZCB3aGlsZSB0aGUgb2Zmc2V0IGNhbiBiZSBzaWduZWQgYWNjb3JkaW5nIHRvCgkgIHJlY2VudCBzcGVjLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMTAzCgoyMDE1LTA2LTE2IDE3OjQ4OjA4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNjAxNWQyNiB0byBmNzRiMmRmCgoyMDE1LTA2LTE2IDExOjQzOjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZ3N0X3J0cF9idWZmZXJfZXh0X3RpbWVzdGFtcCgpIG1vZGlmaWVzIGl0cyBmaXJzdCBhcmd1bWVudCwga2VlcCBhIGNvcHkgYXJvdW5kCgoyMDE1LTA2LTE2IDEwOjMwOjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogQ29tcGFyZSBleHQgUlRQIHRpbWVzLCBub3QgcGxhaW4gUlRQIHRpbWUgYW5kIGV4dCBSVFAgdGltZSB3aGVuIGNhbGN1bGF0aW5nIGVsYXBzZWQgdGltZQoJICBPdGhlcndpc2UgYWxsIFJUUCB0aW1lcyBhZnRlciBhIHdyYXBhcm91bmQgd291bGQgYmUgY29uc2lkZXJlZCBhcyBnb2luZwoJICBiYWNrd2FyZHMsIHRoZXkgd2lsbCBhbHdheXMgYmUgc21hbGxlciB0aGFuIHRoZSBleHQgUlRQIHRpbWUuCgoyMDE1LTA2LTE1IDE5OjI1OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogVGhlIGRlZmF1bHQgcnRwLXByb2ZpbGUgc2hvdWxkIGJlIEFWUCwgbm90IEFWUEYKCjIwMTUtMDYtMTUgMTQ6MzI6MjEgKzA5MDAgIFNhbmdreXUgUGFyayA8c2sxMTIyLnBhcmtAc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogTWlub3IgY2xlYW51cAoJICAxLiBBZGQgTnVsbCBjaGVjayBpbiAnZnJlZV9pdGVtJyBmdW5jdGlvbi4KCSAgMi4gRml4IGEgdHlwaW5nIGVycm9yIG9mIGNvbW1lbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA5NjUKCjIwMTUtMDYtMTIgMTc6NDQ6NTEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsbXV4OiBNYWtlIHN1cmUgYmVzdF90aW1lIGlzIGluaXRpYWxpemVkCgoyMDE1LTA2LTEyIDIzOjI5OjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgcnRwYmluL3Nlc3Npb246IEFkZCBuZXcgbnRwLXRpbWUtc291cmNlIHByb3BlcnR5IGFuZCBkZXByZWNhdGUgdXNlLXBpcGVsaW5lLWNsb2NrIHByb3BlcnR5CgkgIFRoZSBuZXcgcHJvcGVydHkgYWxsb3dzIHRvIHNlbGVjdCB0aGUgdGltZSBzb3VyY2UgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgdGhlCgkgIE5UUCB0aW1lIGluIFJUQ1AgcGFja2V0cy4gQnkgZGVmYXVsdCBpdCB3aWxsIGNvbnRpbnVlIHRvIGNhbGN1bGF0ZSB0aGUgTlRQCgkgIHRpbWVzdGFtcCAoMTkwMCBlcG9jaCkgYmFzZWQgb24gdGhlIHJlYWx0aW1lIGNsb2NrLiBBbHRlcm5hdGl2ZWx5IGl0IGNhbiB1c2UKCSAgdGhlIFVOSVggdGltZXN0YW1wICgxOTcwIGVwb2NoKSwgdGhlIHBpcGVsaW5lJ3MgcnVubmluZyB0aW1lIG9yIHRoZSBwaXBlbGluZSdzCgkgIGNsb2NrIHRpbWUuIFRoZSBsYXR0ZXIgaXMgZXNwZWNpYWxseSB1c2VmdWwgZm9yIHN5bmNocm9uaXppbmcgbXVsdGlwbGUKCSAgcmVjZWl2ZXJzIGlmIGFsbCBvZiB0aGVtIHNoYXJlIHRoZSBzYW1lIGNsb2NrLgoJICBJZiB1c2UtcGlwZWxpbmUtY2xvY2sgaXMgc2V0IHRvIFRSVUUsIGl0IHdpbGwgb3ZlcnJpZGUgdGhlIG50cC10aW1lLXNvdXJjZQoJICBzZXR0aW5nIGFuZCBjb250aW51ZSB0byB1c2UgdGhlIHJ1bm5pbmcgdGltZSBwbHVzIDcwIHllYXJzLiBUaGlzIGlzIG9ubHkga2VwdAoJICBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuCgoyMDE1LTA0LTA3IDE2OjAzOjQyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICB0ZXN0czogcXRtdXg6IHRlc3QgZm9yIG11eGluZyB3aXRoIERUUyBvdXRzaWRlIHRoZSBzZWdtZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA1NzUKCjIwMTUtMDYtMTEgMTc6MjY6NDkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBBZGp1c3Qgc2VnbWVudCBhY2NvcmRpbmcgdG8gY3R0cyBvZmZzZXQKCSAgSW4gcHJlc2VuY2Ugb2YgYSBDVFRTLCB0aGUgc2VnbWVudCBzdGFydC9zdG9wIG11c3QgYmUgb2Zmc2V0IHNvCgkgIHRoZSBzZWdtZW50IHN0YXJ0L3N0b3AgaW5jbHVkZSB0aGUgUFRTLiBUaGlzIGlzIG5lZWRlZCBzaW5jZSB0aGUKCSAgUFRTIGNhbm5vdCBiZSBuZWdhdGl2ZSBpbiB0aGlzIGZvcm1hdC4gVGhpcyBmaXhlcyBpc3N1ZXMgd2hlcmUgdGhlCgkgIHJ1bm5pbmcgdGltZSBvZiB0aGUgZmlyc3QgYnVmZmVyIGlzbid0IGF0IHRoZSBzdGFydC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDU3NQoKMjAxNS0wNC0wMyAyMDozNDo0MiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBIYW5kbGUgRFRTIHdpdGggbmVnYXRpdmUgcnVubmluZyB0aW1lCgkgIEFzIFFUIHdvcmtzIHdpdGggZHVyYXRpb24sIHNpbXBseSBicmluZyBiYWNrIGZpcnN0IERUUyB0byAwIGFuZCBzaGlmdAoJICBmb3J3YXJkIHRoZSBQVFMgb2YgdGhlIHNhbWUgYW1vdW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwNTc1CgoyMDE1LTA2LTEwIDE4OjE1OjUyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICBmbHZtdXg6IEFkZCBuZWdhdGl2ZSBydW50aW1lIERUUyBzdXBwb3J0CgkgIFRoaXMgaXMgZG9uZSBieSB1c2luZyBuZXcgZmVhdHVyZSBvZiB0aGUgQ29sbGVjdFBhZCBjbGlwIGZ1bmN0aW9uCgkgIHdoaWNoIHNldHMgdGhlIERUUyBhcyBhIGdpbnQ2NCBpbiB0aGUgY29sbGVjdGVkIGRhdGEuIEl0IGFsc28gc2ltcGxpZnkKCSAgdGhlIGNvZGUgYSBiaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA1NzUKCjIwMTUtMDYtMTIgMjM6MDY6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBSZW5hbWUgc29tZSB2YXJpYWJsZXMgYW5kIGRlYnVnIG91dHB1dCB0byBtYWtlIG1vcmUgc2Vuc2UKCSAgTG9jYWwgYW5kIHJlbW90ZSB3ZXJlIG1peGVkIHVwIGluIGEgZmV3IHBsYWNlcywgYW5kIHRoZSB0aW1lIHdlIHN0b3JlIGhlcmUgaXMKCSAgbm90IFVOSVggdGltZSAoMTk3MCBlcG9jaCksIGJ1dCBOVFAgdGltZSAoMTkwMCBlcG9jaCkgaW4gbmFub3NlY29uZHMuCgoyMDE1LTA2LTEyIDE5OjIxOjEwICswMzAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb3JlbW90ZWlvLmM6CgkgIG9zeGF1ZGlvOiBmaXggbGF0ZW5jeSBwcm9wZXJ0eSBxdWVyeSBvbiBSZW1vdGVJTwoJICBBdWRpb1VuaXRHZXRQcm9wZXJ0eSB3b3VsZCBmYWlsIHdpdGgga1BhcmFtRXJyICgtNTApIGV2ZXJ5IHRpbWUsCgkgIHNpbXBseSBiZWNhdXNlIHNpemUgd2Fzbid0IGluaXRpYWxpemVkLgoJICBOb3cgaXQgcmV0dXJucyB6ZXJvIGxhdGVuY3ksIGJ1dCBhdCBsZWFzdCBpdCBkb2Vzbid0IGZhaWwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA4NjgKCjIwMTUtMDQtMDcgMTQ6MDY6MTYgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGdpdEBhcnVucmFnaGF2YW4ubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBGaXggbWFwcGluZyBvZiBsYXRlbmN5IHBhcmFtZXRlcnMgdG8gYnVmZmVyIGF0dHJpYnV0ZXMKCjIwMTUtMDYtMTIgMDE6NTY6MzcgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thLWRlbXV4OiBBY3R1YWxseSBzZXQgZGV0ZWN0ZWQgM0QgaW5mbyBpbnRvIG91dHB1dCBjYXBzLgoJICBVc2UgdGhlIGluZm9ybWF0aW9uIHJlYWQgZnJvbSB0aGUgU3RlcmVvTW9kZSBpbmZvCgkgIHRvIGNvbmZpZ3VyZSBtdWx0aXZpZXctbW9kZSBhbmQgbXVsdGl2aWV3LWZsYWdzIGluIHRoZQoJICB2aWRlbyBjYXBzLgoKMjAxNS0wNi0xMSAxMzozNjo1NCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4cGFydHJlYWRlci5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5oOgoJICBzcGxpdG11eHNpbms6IFRha2UgcmVsZWFzZWQtYnV0LW5vdC15ZXQtb3V0cHV0IGJ5dGVzIGludG8gYWNjb3VudAoJICBXaGVuIGRlY2lkaW5nIHdoZXRoZXIgaXQncyB0aW1lIHRvIHN3aXRjaCB0byBhIG5ldyBmaWxlLCB0YWtlIGludG8KCSAgYWNjb3VudCBkYXRhIHRoYXQncyBiZWVuIHJlbGVhc2VkIGZvciBwdXNoaW5nLCBidXQgaGFzbid0IHlldAoJICBiZWVuIHB1c2hlZCAtIGJlY2F1c2UgZG93bnN0cmVhbSBpcyBzbG93IG9yIHRoZSB0aHJlYWRzIGhhdmVuJ3QgYmVlbgoJICBzY2hlZHVsZWQuCgkgIEZpeGVzIGEgcmFjZSBpbiB0aGUgdW5pdCB0ZXN0IGFuZCBwcm9iYWJseSBpbiBwcmFjdGljZSAtIHNvbWV0aW1lcwoJICBmYWlsaW5nIHRvIHN3aXRjaCB3aGVuIGl0IHNob3VsZCBmb3IgYW4gZXh0cmEgR09QIG9yIHR3by4KCSAgQWxzbyBmaXggYSBwcm9ibGVtIGluIHNwbGl0bXV4c3JjIHdoZXJlIHBsYXliYWNrIHNvbWV0aW1lcwoJICBzdGFsbHMgYXQgc3RhcnR1cCBpZiB0eXBlcyBhcmUgZm91bmQgdG9vIHF1aWNrbHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA3NDcKCjIwMTUtMDYtMTEgMDE6MDQ6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSAgYXRvbXM6IHJlbW92ZSBjdXN0b20gZ3N0X2J1ZmZlcl9uZXcgZnVuY3Rpb24gaW4gZmF2b3Igb2YgY29yZSB2ZXJzaW9uCgkgIFJlbW92ZSBhIGN1c3RvbSBzcGVjaWFsaXplZCB2ZXJzaW9uIG9mIGdzdF9idWZmZXJfbmV3X3dyYXBwZWQgYnkKCSAgdXNpbmcgZ3N0X2J1ZmZlcl9uZXdfd3JhcHBlZF9mdWxsIGluc2lkZSBhIG1hY3JvIHRvIHNpbXBsaWZ5CgkgIHBhcmFtZXRlcnMgYW5kIGdpdmUgaXQgYSBtb3JlIG1lYW5pbmdmdWwgbmFtZS4KCSAgSXQgaXMgb25seSB1c2VkIHRvIGNyZWF0ZSB0ZW1wb3JhcnkgYnVmZmVycyB0byBoYXZlIGl0cyBkYXRhIGNvcGllZC4KCjIwMTUtMDYtMTEgMDA6MTQ6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSAgYXRvbXM6IHNpbXBsaWZ5IGZyZWUgZm9ybSBkYXRhIGF0b21zIGNyZWF0aW9uCgkgIEF2b2lkIGNyZWF0aW5nIGFuIGludGVybWVkaWFyeSBidWZmZXIgb3IgbWVtb3J5IGFyZWEganVzdAoJICB0byBjb3B5IGludG8gYW4gYXRvbSdzIGRhdGEgYXJlYS4KCjIwMTUtMDYtMTAgMjI6Mjc6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9hdG9tcy5oOgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogYWRkIEFDLTMgbXV4aW5nIHN1cHBvcnQKCSAgQWRkcyBBQy0zIG11eGluZyBzdXBwb3J0LiBJdCBpcyBkZWZpbmVkIGZvciBtcDQgYW5kIDNncCBmb3JtYXRzLgoJICBPbmUgZXh0cmEgZmVhdHVyZSB0aGF0IHdhcyBhZGRlZCB3YXMgdGhlIGFiaWxpdHkgdG8gYWRkIGV4dGVuc2lvbgoJICBhdG9tcyBhZnRlciBzZXRfY2FwcyBhcyB0aGUgQUMtMyBleHRlbnNpb24gYXRvbSBuZWVkcyBzb21lIGRhdGEKCSAgdGhhdCBoYXMgdG8gYmUgZXh0cmFjdGVkIGZyb20gdGhlIHN0cmVhbSBpdHNlbGYgYW5kIGlzIG5vdAoJICBwcmVzZW50IG9uIGNhcHMuCgoyMDE1LTA2LTEwIDIyOjM2OjU5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuaDoKCSAgcXRtdXg6IHJlbW92ZSB1bnVzZWQgdHlwZSBNUDRTCgoyMDE1LTA2LTEwIDIyOjI5OjAxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiByZW1vdmUgZHVwbGljYXRlIGF0dHJpYnV0ZSB2YWx1ZSBzZXQKCSAgSXQgaXMgYWxzbyBzZXQgYSBmZXcgbGluZXMgYmVsb3cKCjIwMTUtMDYtMTEgMDA6MjI6NTQgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thOiBJbXBsZW1lbnQgYmFzaWMgc3RlcmVvc2NvcGljIHZpZGVvIHN1cHBvcnQKCSAgSW1wbGVtZW50IHN1cHBvcnQgZm9yIHRoZSBwYWNrZWQgdmlkZW8gZm9ybWF0cyBXZWJNCgkgIHVzZXMsIG5vdCBhbGwgdGhlIHZhbHVlcyB0aGF0IE1hdHJvc2thIG1pZ2h0IHVzZS4KCSAgSW4gcHJhY3RpY2UsIGl0J3MgcmVhbGx5IGhhcmQgdG8gZmluZCBhbnkgc2FtcGxlcyBpbiB0aGUKCSAgd2lsZCBvZiBhbnkuCgkgIFN1cHBvcnRlZCBpbiBib3RoIHRoZSBtdXhlciBhbmQgZGVtdXhlci4KCjIwMTUtMDYtMTAgMDE6MjY6MTUgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9kdW1wLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9kdW1wLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eF90eXBlcy5jOgoJICBxdGRlbXV4OiBBZGQgYmFzaWMgc3VwcG9ydCBmb3IgTVBFRy1BIHN0ZXJlb3Njb3BpYyB2aWRlbwoJICBUaGUgTVBFRy1BIGZvcm1hdCBwcm92aWRlcyBhbiBleHRlbnNpb24gdG8gdGhlIElTTyBiYXNlIG1lZGlhCgkgIGZpbGUgZm9ybWF0IHRvIHN0b3JlIHN0ZXJlb3Njb3BpYyBjb250ZW50IGVuY29kZWQgd2l0aCBkaWZmZXJlbnQKCSAgY29kZWNzIGxpa2UgSC4yNjQgYW5kIE1QRUctNDoyLiBUaGUgc3RlcmVvIHZpZGVvIG1lZGlhIGluZm9ybWF0aW9uKHN2bWkpCgkgIGF0b20gZGVjbGFyZXMgdGhlIHByZXNlbmNlIGFuZCBzdG9yYWdlIG1ldGhvZCBmb3IgdGhlIHZpZGVvLgoJICBTdGVyZW8gdmlkZW8gaW5mb3JtYXRpb24gZm9yIE1QRUctQSBjYW4gYWxzbyBiZSBzdXBwbGllZCB0aHJvdWdoCgkgIHRoZSAnc3R2aScgYXRvbSAocmVmOiBJU08vSUVDXzE0NDk2LTEyLCBJU08vSUVDXzIzMDAwLTExKSwgd2hpY2gKCSAgaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgcGF0Y2guCgkgIEFsc28gbWlzc2luZyBpcyBzdXBwb3J0IGZvciBzdGVyZW8gdmlkZW8gZW5jb2RlZCBhcyBzZXBhcmF0ZSB2aWRlbyB0cmFja3MKCSAgZm9yIG5vdy4KCSAgQmFzZWQgb24gYSBwYXRjaCBieSBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTExNTcKCjIwMTUtMDYtMDIgMTY6MTU6MzUgLTA0MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIHNvdXBodHRwc3JjOiBBZGQgdGxzLWRhdGFiYXNlIHByb3BlcnR5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAyOTgKCjIwMTUtMDYtMTAgMTQ6MzM6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHA6IFVzZSBHU1RfQlVGRkVSX1BUUygpIGluc3RlYWQgb2YgR1NUX0JVRkZFUl9USU1FU1RBTVAoKQoJICBUaGUgbWl4IGJldHdlZW4gYWxsIHRoZXNlIGluIHRoZSBSVFAgY29kZSBpcyBjb25mdXNpbmcsIGxldCdzIHRyeSB0byBiZQoJICBjb25zaXN0ZW50LgoKMjAxNS0wNi0xMCAxNDo0OTo1MCArMDMwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBtYW5hZ2VyOiBjbGFyaWZ5IG5lZ2F0aXZlIGxvc3QgcGFja2V0cyBpbiBzdGF0cwoJICBBbHNvOgoJICAtIE1vdmUgbm90ZXMgb24gdW5pdHMgYmVmb3JlIGZpZWxkIGRvY3VtZW50YXRpb24uCgkgIC0gVW5pZnkgZG9jdW1lbnRhdGlvbiBzdHlsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDY1MwoKMjAxNS0wNi0xMCAwNjozODozOSAtMDQwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IGZpeCBnZXR0ZXIgb2YgInNzbC11c2Utc3lzdGVtLWNhLWZpbGUiCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAyOTgKCjIwMTUtMDYtMTAgMDk6NDk6NDcgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IHJldmVyc2UgcGxheWJhY2sKCSAgV2hlbiBwZXJmb3JtaW5nIHNlZWssIHNlZ21lbnQtPnN0YXJ0IGlzIGJlaW5nIHVwZGF0ZWQgd2l0aCBkZXNpcmVkX29mZnNldCwKCSAgYnV0IGluIGNhc2Ugb2YgcmV2ZXJzZSBwbGF5YmFjayBzZWdtZW50LT5zdGFydCBzaG91bGQgYmUgMCBhbmQKCSAgc2VnbWVudC0+c3RvcCBzaG91bGQgYmUgdXBkYXRlZCB3aXRoIGRlc2lyZWQgb2Zmc2V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwNjc1CgoyMDE1LTAxLTIxIDE4OjA5OjAzICswMTAwICBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIGdzdHY0bDJidWZmZXJwb29sOiBoYW5kbGUgLUVQSVBFIGZyb20gRFFCVUYgdG8gc2lnbmFsIEVPUwoJICBUaGUgVjRMMiBkZWNvZGVyIHNpZ25hbHMgRU9TIGJ5IHJldHVybmluZyAtRVBJUEUgZnJvbSBEUUJVRiBhZnRlciB0aGUKCSAgbGFzdCBidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDMzMzgKCjIwMTUtMDYtMDYgMjE6MDk6MTkgLTA0MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBBZGQgYSBHVGxzSW50ZXJhY3Rpb24gcHJvcGVydHkKCSAgSXQgY2FuIGJlIHVzZWQgZm9yIFRMUyBjbGllbnQgYXV0aGVudGljYXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA0NzEKCjIwMTUtMDEtMDkgMTE6MzY6MTEgKzAxMDAgIEVucmljbyBKb3JucyA8ZWpvQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwyOiBBbGxvdyBzY2FsaW5nIGluIHRoZSB2NGwyKmNvbnZlcnQgZWxlbWVudAoJICBUaGlzIGlzIGluc3BpcmVkIG9mIHZpZGVvc2NhbGUgYW5kIHZpZGVvY29udmVydCBlbGVtZW50cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjkxNwoKMjAxNS0wNi0wOSAxOTowMjo1NSArMDMwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBydHBtYW5hZ2VyOiBkb2N1bWVudCB1bml0cyBvZiBzdGF0cyBhbmQgYXJndW1lbnRzCgkgIEFsc28sIG1pbm9yIHNwZWxsaW5nIGFuZCBzdHlsZSBjb3JyZWN0aW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDY1MwoKMjAxNS0wNi0wOSAxNDo0MjoyNyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIE1ha2VmaWxlLmFtOgoJICBjcnVmdDogYWRkIHRoZSBvYnNvbGV0ZSB0bXBsIGRpciB0byBjcnVmdC1kaXJzCgoyMDE1LTA2LTA5IDExOjMwOjIyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBkOWEzMzUzIHRvIDYwMTVkMjYKCjIwMTUtMDYtMDkgMDc6MDQ6MDcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIEZpeCBjb21tb24gdmVyc2lvbgoJICBXYXMgYWNjaWRlbnRseSBkb3duZ3JhZGVkIGJ5IDg3YTQ4ODRhY2Q4NjU1YTY1OTFkNzM1YTFkOTQ0ZWNiNWVhM2RlMTYKCjIwMTUtMDYtMDggMTk6MTE6NDEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogQWxzbyBzZXQgY29sb3JpbWV0cnkgb24gb3V0cHV0IGRldmljZXMKCSAgVGhpcyBjb21wbGV0ZXMgdGhlIGNvZGUgdGhhdCBzZXQgdGhlIGNvbG9yaW1ldHJ5IG9uIG91dHB1dAoJICBkZXZpY2UuCgoyMDE1LTA2LTA4IDE5OjEwOjM0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBjb21tb246CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogQWRkIG1pc3NpbmcgU01UUDI0ME0gbWF0cml4CgkgIFRoaXMgaXMgbWlzc2luZyBpbiB0aGUgZG9jLCBidXQgd2FzIGluIHRoZSBoZWFkZXIuCgoyMDE1LTA2LTA4IDIzOjAwOjE2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2dvb20vZ29vbV9jb3JlLmM6CgkgIGdvb206IHBvc3NpYmxlIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGVzIHdhcm5pbmcKCSAgQnVpbGQgZmFpbHMgd2l0aCB0aGUgbGF0ZXN0IHNuYXBzaG90IG9mIGdjYy00LjkgYmVjYXVzZSBwYXJhbTEgYW5kIHBhcmFtMiBtaWdodAoJICBwb3NzaWJseSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQuIFRoZXkgYXJlIHNldCBkZXBlbmRpbmcgb24gdGhlIGNhc2VzIG9mIGEgc3dpdGNoCgkgIHN0YXRlbWVudCBhbmQgdGhlIGNvbXBpbGVyIHNlZXMgdGhpcyBhcyBub3QgYSBjb21wbGV0ZSBndWFyYW50ZWUuCgkgIFNldCB0aGVtIHRvIDAgaWYgdGhlIHN3aXRjaCBzdGF0ZW1lbnQgZmFsbHMgZG93biB0byB0aGUgZGVmYXVsdCBjYXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwNTY2I2M2CgoyMDE1LTA2LTA4IDE3OjI0OjM4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IEZ1bGx5IGltcGxlbWVudCBjb2xvcmltZXRyeSBzdXBwb3J0CgkgIFRoaXMgZml4ZXMgd3JvbmcgbWFwcGluZyBmb3Igc1JHQiBhcyBpbiBHU3RyZWFtZXIgc1JHQiBjb3JyZWN0bHkKCSAgYXBwbHkgdG8gUkdCIGZvcm1hdHMsIHdoaWxlIGluIFY0TDIgaXQncyBhbiBhbGlhcyBmb3Igc1lDQy4gQWxzbwoJICBhZGQgc3VwcG9ydCBmb3IgdGhlIG5ldyBxdWFudGl6YXRpb24gKHJhbmdlKSwgeWNiY3JfZW5jb2RpbmcgKG1hdHJpeCkKCSAgYW5kIHhmZXJfZnVuYyAodHJhbnNmZXIpIGVudW1lcmF0aW9uLgoKMjAxNS0wNi0wOCAxNzowMToxNSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZXh0L3R5cGVzLWNvbXBhdC5oOgoJKiBzeXMvdjRsMi9leHQvdjRsMi1jb21tb24uaDoKCSogc3lzL3Y0bDIvZXh0L3Y0bDItY29udHJvbHMuaDoKCSogc3lzL3Y0bDIvZXh0L3ZpZGVvZGV2Mi5oOgoJICB2NGwyOiBVcGRhdGUga2VybmVsIGhlYWRlcnMgdG8gbGF0ZXN0IGZyb20gbWVkaWEgdHJlZQoJICBUaGlzIGlzIHRoZSBsYXRlc3QgZnJvbSBtZWRpYSB0cmVlLiBUaGlzIHNob3VsZCBlbmFibGUgbW9yZSBkZXZlbG9wbWVudAoJICBvZiB0aGUgdjRsMiBlbGVtZW50cy4gVGhpcyBpbmNsdWRlcyBuZXcgZmxhZ3MgcmVxdWlyZXMgdG8gZml4IGRyYWluaW5nCgkgIHBhdGggaW4gZGVjb2RlciwgY29sb3JpbWV0cnkgYW5kIG11Y2ggbW9yZS4KCjIwMTUtMDYtMDggMjM6MDc6NTUgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGQzN2FmMzIgdG8gZDlhMzM1MwoKMjAxNS0wNi0wOCAxOTo0MjozMCArMDEwMCAgQ2hyaXMgQ2xheXRvbiA8Y2hyaXMyNTUzQGdvb2dsZW1haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSAgcnRwdnA4ZGVwYXk6IHBvdGVudGlhbCBhY2Nlc3MgYmV5b25kIGVuZCBvZiBhcnJheQoJICBDb21waWxpbmcgKHdpdGggZ2NjLTQuOS0yMDE1MDYwMykgcHJvZHVjZXMgYW4gZXJyb3IgYmVjYXVzZSBvZiBhbiBhY2Nlc3MgYmV5b25kCgkgIHRoZSBlbmQgb2YgYW4gYXJyYXkuIFRoaXMgcGF0Y2ggZml4ZXMgdGhlIGVycm9yIGJ5IGluaXRpYWxpemluZyB0aGUgbG9vcAoJICBjb250cm9sL2FycmF5IGluZGV4IHZhcmlhYmxlIChpKSB0byAxIGFuZCByZXR1cm5pbmcgaSAtIDEgd2hlbiBhIG1hdGNoIGlzIGZvdW5kLgoJICBBbHNvLCBiZWNhdXNlIHRoZSB2YWx1ZXMgc3RvcmVkIGluIHRoZSBhcnJheSBpbmNyZWFzZSBpbiB2YWx1ZSBhcyB0aGUgaW5kZXgKCSAgaW5jcmVhc2VzLCB0aGUgPj0gdGVzdCB1bm5lY2Vzc2FyeSwgc28gaXQgaXMgcmVtb3ZlZC4KCjIwMTUtMDQtMzAgMDI6NTI6NTggKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW5rOiBEb24ndCBhY2N1bXVsYXRlIG1vcmUgdGhhbiAyIEdPUHMKCSAgRG9uJ3QgYWxsb3cgbGFyZ2UgYW1vdW50cyBvZiBkYXRhIHRvIHF1ZXVlIHVwIC0gd2Ugb25seSBuZWVkCgkgIHRoZSBHT1Agd2UncmUgd3JpdGluZywgYW5kIHRoZSBHT1Agd2UncmUgYWNjdW11bGF0aW5nLgoKMjAxNS0wNC0xNiAxMDo0NDo0OSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIGlzb21wNDogZnN5bmMgYWZ0ZXIgc2VuZGluZyB1cGRhdGVzIGluIHJvYnVzdCBtb2RlCgkgIFVzZSB0aGUgbmV3IEdzdEJ1ZmZlciBTWU5DX0FGVEVSIGZsYWcgdG8gdHJpZ2dlciBhbiBmc3luYwoJICBhZnRlciB1cGRhdGluZyB0aGUgbW9vdiBvciBtZGF0IGF0b20sIGFuZCBhZnRlciB1cGRhdGluZyB0aGUgZnJlZQoJICBhdG9tIHRvIG1ha2UgaXQgdmlzaWJsZS4KCjIwMTUtMDQtMDMgMDA6NTc6MjAgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBpc29tcDQ6IE9ubHkgc2V0IG1vb3YgaGVhZGVyIGludG8gc3RyZWFtaGVhZGVyIGF0IEVPUwoJICBPbmx5IHVwZGF0ZSB0aGUgbW9vdiBoZWFkZXIgaW50byB0aGUgY2FwcyBpZiBpdCdzIHRoZSBmaW5hbGlzZWQKCSAgbW9vdiBhdCBFT1MgdGltZS4gQXZvaWRzIHBvc3RpbmcgYSBib2d1cyBtb292IGF0IHN0YXJ0dXAgYW5kCgkgIHJlcGVhdGVkIHVwZGF0ZXMgaW4gcm9idXN0LXJlY29yZGluZyBtb2RlCgoyMDE1LTA0LTAzIDAxOjQ0OjE1ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHRlc3RzOiBVcGRhdGUgbXA0IG11eCB0ZXN0IGZvciBtZGF0IHBsYWNlaG9sZGVyIGNoYW5nZQoJICBUaGUgbXA0IG11eGVyIG5vdyB3cml0ZXMgYSBwbGFjZS1ob2xkZXIgbWRhdCBhcyBhIGZyZWUKCSAgYXRvbSBmb2xsb3dlZCBieSBhIDAtYnl0ZSBtZGF0IHRoYXQgY292ZXJzIHRoZSByZXN0IG9mIHRoZQoJICBmaWxlLCBtYWtpbmcgaXQgcG9zc2libGUgdG8gcmV3cml0ZSBpdCBhcyA2NC1iaXQsIG9yIGxlYXZlCgkgIGl0IGFzLWlzIGlmIG5vdGhpbmcgZWxzZSBpcyB3cml0dGVuIGFmdGVyd2FyZAoKMjAxNS0wNC0wMSAxMToxNTozOCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuaDoKCSogZ3N0L2lzb21wNC9hdG9tc3JlY292ZXJ5LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5oOgoJICBpc29tcDQ6IEltcGxlbWVudCByb2J1c3QgbXV4aW5nIHVzaW5nIHBpbmctcG9uZyBzdHJhdGVneQoJICBJbXBsZW1lbnQgYSByb2J1c3QgcmVjb3JkaW5nIG1vZGUsIHdoZXJlIHRoZSBvdXRwdXQKCSAgZmlsZSBpcyBhbHdheXMgaW4gYSBwbGF5YWJsZSBzdGF0ZSwgc2Vla2luZyBhbmQgcmV3cml0aW5nCgkgIHRoZSBtb292IGhlYWRlciBhdCBhIGNvbmZpZ3VyYWJsZSBpbnRlcnZhbC4gUmV3cml0aW5nCgkgIG1vb3YgaXMgZG9uZSB1c2luZyByZXNlcnZlZCBzcGFjZSBhdCB0aGUgc3RhcnQgb2YKCSAgdGhlIGZpbGUsIGFuZCBhIHBpbmctcG9uZyBzdHJhdGVneSB3aGVyZSB0aGUgbW9vdgoJICBpcyByZXBsYWNlZCBhdG9taWNhbGx5IHNvIGl0J3MgbmV2ZXIgaW52YWxpZC4KCSAgVHJhY2sgd2hlbiB0YWdzIGhhdmUgYWN0dWFsbHkgY2hhbmdlZCwgYW5kIGRvbid0IHdyaXRlIHRoZW0gaW50bwoJICB0aGUgbW9vdiB1bmxlc3MgdGhleSd2ZSBjaGFuZ2VkLiBDbGVhciBhbnkgZXhpc3RpbmcgdGFncyB3aGVuCgkgIHJlLXdyaXRpbmcgdGhlbSwgc28gd2UgY2FuIGRvIHByb2dyZXNzaXZlIG1vb3YgdXBkYXRpbmcgaW4gcm9idXN0CgkgIHJlY29yZGluZyBtb2RlLgoJICBXcml0ZSBwbGFjZWhvbGRlciBtZGF0IGFzIGEgZnJlZSBhdG9tIHBsdXMgYSAzMi1iaXQgbWRhdAoJICB3aXRoICcwJyBzaXplLCB3aGljaCBtZWFucyAicmVzdCBvZiB0aGUgZmlsZSIgaW4gdGhlIHNwZWMuCgkgIFJlLXdyaXRlIGl0IGxhdGVyIHRvIGEgZnVsbCA2NC1iaXQgZXh0ZW5kZWQgc2l6ZSBhdG9tIGlmIG5lZWRlZC4KCjIwMTUtMDQtMDEgMDA6NTg6NTIgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgaXNvbXA0OiBVcGRhdGUgZWRpdCBsaXN0IHdoZW4gcmUtd3JpdGluZyBtb292CgkgIENvcnJlY3RseSB1cGRhdGUgYW55IGVkaXQgbGlzdHMgZWFjaCB0aW1lIHRoZSBtb292IGlzIHJlY2FsY3VsYXRlZCwKCSAgdXBkYXRpbmcgZXhpc3RpbmcgdGFibGUgZW50cmllcyBpZiB0aGV5IGFscmVhZHkgZXhpc3QgaW5zdGVhZCBvZiBqdXN0CgkgIGFkZGluZyBuZXcgb25lcy4KCjIwMTUtMDQtMDggMDE6NDE6MTggKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBpc29tcDQ6IFJlbW92ZSBhbiBleHRyYSBicmFja2V0IGluIGEgY29tbWVudC4KCjIwMTUtMDMtMTkgMjA6Mjk6NDQgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNyYy5jOgoJICBzcGxpdG11eHNyYzogUHJvdGVjdCB0b3RhbF9kdXJhdGlvbiBzdGF0ZSB2YXJpYWJsZSB3aXRoIHRoZSBvYmplY3QgbG9jay4KCSAgUHJldmVudCBkZWFkbG9ja3MgZnJvbSBkb3duc3RyZWFtIHF1ZXJ5aW5nIGR1cmF0aW9uIGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQuCgoyMDE1LTA2LTA3IDIzOjA2OjIwICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAyMWJhMmU1IHRvIGQzN2FmMzIKCjIwMTUtMDYtMDcgMTk6MjQ6MjAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ29vbS9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgZ29vbTogY2xlYW4gZGVyZWZlcmVuY2VzIG9mIHByaXZhdGUgc3RydWN0dXJlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI4NzUKCjIwMTUtMDYtMDcgMTk6MjA6MDQgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ29vbTJrMS9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgZ29vbTJrMTogY2xlYW4gZGVyZWZlcmVuY2VzIG9mIHByaXZhdGUgc3RydWN0dXJlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI4NzUKCjIwMTUtMDYtMDcgMTc6MzI6MDEgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGM0MDg1ODMgdG8gMjFiYTJlNQoKMjAxNS0wNi0wNyAxNzowMTozNyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgZG9jczogcmVtb3ZlIHZhcmlhYmxlcyB0aGF0IHdlIGRlZmluZSBpbiB0aGUgc25pcHBldCBmcm9tIGNvbW1vbgoJICBUaGlzIGlzIHN5bmNpbmcgb3VyIE1ha2VmaWxlLmFtIHdpdGggdXBzdHJlYW0gZ3RrZG9jLgoKMjAxNS0wNi0wNyAxNzoxNjoxOSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZDY3Njk5MyB0byBjNDA4NTgzCgoyMDE1LTA2LTA3IDE2OjQ0OjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjUuMSA9PT0KCjIwMTUtMDYtMDcgMTA6NDY6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcm9yYy1kaXN0LmM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjUuMQoKMjAxNS0wNi0wNyAxMDozODoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNS0wNi0wNyAxMDozMjozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IE92ZXJyaWRlIHRoZSBTU1JDIGZyb20gdGhlIHBhY2tldHMnIFNTUkMgaWYgbm9uZSB3YXMgZ2l2ZW4gdmlhIGNhcHMgb3IgcHJvcGVydHkKCjIwMTUtMDYtMDcgMDk6MzU6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE1LTA2LTA1IDE1OjMyOjEwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogRG9uJ3Qgd2FybiB3aGVuIG9wdGlvbmFsIENJRCBhcmUgbm90IGltcGxlbWVudAoJICBnc3RfdjRsMl9nZXRfYXR0cmlidXRyZSgpIHNoYWxsIG9ubHkgYmUgdXNlZCB3aGVuIHRoZSBDSUQgaXMgZXhwZWN0ZWQKCSAgdG8gYmUgc3VwcG9ydGVkLiBPdGhlcndpc2UsIHdlIGdldCB1bndhbnRlZCB3YXJuaW5nIHBvc3RlZCB0byB0aGUgYnVzLgoKMjAxNS0wNi0wNSAxNjo0MzowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IE9ubHkgc3VnZ2VzdCBvdXIgaW50ZXJuYWwgc3NyYyBpZiBpdCdzIG5vdCBhIHJhbmRvbSBvbmUgYW5kIHdhcyBzZWxlY3RlZCBhcyBpbnRlcm5hbCBzc3JjCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk1ODEKCjIwMTUtMDYtMDQgMTQ6MTg6MDEgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgIGludGVybGVhdmU6IGVycm9yIHdoZW4gY2hhbm5lbC1wb3NpdGlvbnMtZnJvbS1pbnB1dD1GYWxzZQoJICBzZWxmLT5jaGFubmVscyBpcyBiZWluZyBpbmNyZW1lbnRlZCBvbmx5IHdoZW4KCSAgY2hhbm5lbC1wb3NpdGlvbnMtZnJvbS1pbnB1dCBpcyBzZXQgYXMgVFJVRS4gU28gaW4gY2FzZSBvZiBGQUxTRQoJICBzZWxmLT5mdW5jIGlzIG5vdCBzZXQgYW5kIGhlbmNlIGNyZWF0aW5nIGFzc2VydGlvbiBlcnJvci4KCSAgSGVuY2UgcmVtb3ZpbmcgdGhlIGNvbmRpdGlvbiB0byBpbmNyZW1lbnQgc2VsZi0+Y2hhbm5lbHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQyMTEKCjIwMTUtMDYtMDUgMTA6MzM6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBBZGQgc3VwcG9ydCBmb3IgcmVjZWl2aW5nIHJlZHVjZWQgc2l6ZSBSVENQCgkgIEl0IHdvcmtlZCBiZWZvcmUgYnV0IGdhdmUgd2FybmluZ3MsIG5vdyB3ZSBqdXN0IGlnbm9yZSBSVENQCgkgIHBhY2tldHMgdGhhdCBkb24ndCBzdGFydCB3aXRoIGEgU1IuIEFzIGFsbCB3ZSdyZSBpbnRlcmVzdGVkCgkgIGluIGhlcmUgYXJlIFNScy4KCjIwMTUtMDYtMDMgMTI6MjI6NDIgKzAyMDAgIEpvc2UgQW50b25pbyBTYW50b3MgQ2FkZW5hcyA8c2FudG9zY2FkZW5hc0BnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBBZGQgc3VwcG9ydCBmb3IgcmVkdWNlIHNpemUgcnRjcAoJICBBY2NvcmRpbmcgdG8gUkZDIDU1MDYsIHJlZHVjZSBzaXplIHBhY2thZ2VzIGNhbiBiZSBzZW50LCB0aGlzCgkgIHBhY2thZ2VzIG1heSBub3QgYmUgY29tcG91bmQsIHNvIHdlIG5lZWQgdG8gYWRkIHN1cHBvcnQgZm9yCgkgIGdldHRpbmcgc3NyYyBmcm9tIG90aGVyIHR5cGVzIG9mIHBhY2thZ2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMzI3CgoyMDE1LTA2LTAzIDEzOjE0OjQ0ICswMjAwICBKb3NlIEFudG9uaW8gU2FudG9zIENhZGVuYXMgPHNhbnRvc2NhZGVuYXNAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBBZGQgc3VwcG9ydCBmb3IgcmVjZWl2aW5nIHJlZHVjZWQgc2l6ZSBydGNwCgkgIFNlZSBSRkMgNTUwNgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMzMyCgoyMDE1LTA2LTA0IDE2OjA5OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogQWRkIHN1cHBvcnQgZm9yIGNoYW5uZWwgY29uZmlndXJhdGlvbnMgMTEsIDEyIGFuZCAxNCBhbmQgNyBhY3R1YWxseSBoYXMgOCBjaGFubmVscwoJICBJU08vSUVDIDE0NDk2LTM6MjAwOS9QREFNIDQgYWRkZWQgMTEsIDEyIGFuZCAxNC4KCjIwMTUtMDYtMDMgMDg6NTc6NTcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSAgYXN0ZXJpc2toMjYzOiBVbi1yYW5rIGNsYXNoaW5nIGRlcGF5bG9hZGVyCgkgIFRoaXMgZGVwYXlsb2FkZXIgY2xhc2ggd2l0aCB0aGUgc3RhbmRhcmQgb25lIGZvciBIMjYzcC4gSXQgcHJvZHVjZXMgYW4KCSAgSDI2M3Agc3RyZWFtIHdpdGggYSBtb2RpZmllZCBoZWFkZXIuIEl0IHVzZXMgZW5jb2RpbmctbmFtZSB0aGF0IGlzIHRoZQoJICBzYW1lIGFzIEgyNjNwIChIMjYzLTE5OTgpIHRob3VnaCB0aGUgcmVzdWx0aW5nIEVTIGlzIG5vdCBkZWNvZGFibGUgb3IKCSAgcGFyc2FibGUgaW4gR1N0cmVhbWVyLCBtYWtpbmcgaXQgdW5zdWFibGUgaW4gZHluYW1pYyBwaXBlbGluZS4gVGhpcwoJICBwYXRjaCB1bnJhbmsgdGhpcyBzcGVjaWFsaXplZCBkZXBheWxvYWRlciBzaW5jZSBpdCBjYW4gb25seSBiZSB1c2VkIGluCgkgIGN1c3RvbSBwaXBlbGluZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTkzNQoKMjAxNS0wNi0wMiAxODowOTo0OCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5oOgoJICBnb29tMmsxOiByZW1vdmUgdmFyaWFibGVzIG5vdCBuZWVkZWQgYW55bW9yZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyODc1CgoyMDE1LTA2LTAyIDE3OjUyOjQ2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2dvb20yazEvTWFrZWZpbGUuYW06CgkqIGdzdC9nb29tMmsxL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvZ29vbTJrMS9nc3RhdWRpb3Zpc3VhbGl6ZXIuaDoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmg6CgkgIGdvb20yazE6IHJlYmFzZSB0byB1c2UgdGhlIGF1ZGlvdmlzdWFsaXplciBjbGFzcwoJICBSZWJhc2UgdG8gaGF2ZSBnb29tMmsxIHVzaW5nIHRoZSBjb21tb24gR3N0QXVkaW9WaXN1YWxpemVyIGNsYXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI4NzUKCjIwMTUtMDYtMDIgMTc6Mjk6MzYgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ29vbS9NYWtlZmlsZS5hbToKCSogZ3N0L2dvb20vZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9nb29tL2dzdGF1ZGlvdmlzdWFsaXplci5oOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tL2dzdGdvb20uaDoKCSAgZ29vbTogcmViYXNlIHRvIHVzZSB0aGUgYXVkaW92aXN1YWxpemVyIGNsYXNzCgoyMDE1LTA2LTAyIDE2OjI3OjI0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWFjcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWMzcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXBldjJtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNwZWN0cmF0aW9jcm9wLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvYW1wbGlmeS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJiYW5kLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYmxpbWl0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZHluYW1pYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2ludmVydC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3dzaW5jYmFuZC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3dzaW5jbGltaXQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2VxdWFsaXplci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbGFjcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzdjJtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ2RlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVnZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWdhdWRpb3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdsaW1pdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jndm9sdW1lLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBzZXNzaW9uLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWN0cnVtLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvYm94LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2ZpbHRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3k0bWVuYy5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy93YXZwYWNrLmM6CgkgIGNoZWNrOiBVc2UgR1NUX0NIRUNLX01BSU4gKCkgbWFjcm8gZXZlcnl3aGVyZQoJICBNYWtlcyBzb3VyY2UgY29kZSBzbWFsbGVyLCBhbmQgZW5zdXJlcyB3ZSBnbyB0aHJvdWdoIGNvbW1vbiBpbml0aWFsaXphdGlvbgoJICBwYXRoIChsaWtlIHRoZSBvbmUgdGhhdCBzZXRzIHVwIFhNTCB1bml0IHRlc3Qgb3V0cHV0IC4uLikKCjIwMTUtMDUtMjYgMTQ6NDc6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogT25seSBzY2hlZHVsZSBhIHRpbWVyIHdoZW4gd2UgYWN0dWFsbHkgaGF2ZSB0byBzZW5kIFJUQ1AKCSAgT3RoZXJ3aXNlIHdlIHdpbGwgaGF2ZSAxMHMtMTAwcyBvZiB0aHJlYWQgd2FrZXVwcyBpbiBmZWVkYmFjayBwcm9maWxlcywgY3JlYXRlCgkgIFJUQ1AgcGFja2V0cywgZXRjLiBqdXN0IHRvIHN1cHByZXNzIHRoZW0gaW4gOTklIG9mIHRoZSBjYXNlcyAoaS5lLiBpZiBubwoJICBmZWVkYmFjayBpcyBhY3R1YWxseSBwZW5kaW5nIGFuZCBubyByZWd1bGFyIFJUQ1AgaGFzIHRvIGJlIHNlbnQpLgoJICBUaGlzIGltcHJvdmVzIENQVSB1c2FnZSBhbmQgYmF0dGVyeSBsaWZlIHF1aXRlIGEgbG90LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2NTQzCgoyMDE1LTA1LTIyIDEzOjQ0OjAzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBSZW1vdmUgdXNlbGVzcyBnb3RvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY1NDMKCjIwMTUtMDUtMjEgMTI6NTQ6NDcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2NC1ydHguc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtcnRwYXV4LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItVlRTLUgyNjQtcnR4LnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXJ0cGF1eC5jOgoJICBleGFtcGxlczogU2V0IFJUUCBwcm9maWxlIHRvIEFWUEYgZm9yIHJ0cGF1eCBleGFtcGxlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2NTQzCgoyMDE1LTA1LTA0IDE2OjQxOjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBTZXQgUlRQIHByb2ZpbGUgb24gdGhlIHJ0cHNlc3Npb24gb2JqZWN0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2NTQzCgoyMDE1LTA1LTIxIDE0OjEzOjU2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBydHBiaW46IEFkZCBydHAtcHJvZmlsZSBwcm9wZXJ0eSBmb3Igc2V0dGluZyB0aGUgZGVmYXVsdCBwcm9maWxlIG9mIG5ld2x5IGNyZWF0ZWQgc2Vzc2lvbnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjU0MwoKMjAxNS0wNS0wNCAxMTo1MTo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogT25seSBwdXQgUlJzIGFuZCBmdWxsIFNERVMgaW50byByZWd1bGFyIFJUQ1AgcGFja2V0cwoJICBJZiB3ZSBtYXkgc3VwcHJlc3MgdGhlIHBhY2tldCBkdWUgdG8gdGhlIHJ1bGVzIG9mIFJGQzQ1ODUgKGkuZS4gd2hlbgoJICBiZWxvdyB0aGUgdC1yci1pbnQpLCB3ZSBjYW4gc2VuZCBhIHNtYWxsZXIgUlRDUCBwYWNrZXQgd2l0aG91dCBSUnMKCSAgYW5kIGZ1bGwgU0RFUy4gSW4gdGhlb3J5IHdlIGNvdWxkIGV2ZW4gc2VuZCBhIG1pbmltYWwgUlRDUCBwYWNrZXQKCSAgYWNjb3JkaW5nIHRvIFJGQzU1MDYsIGJ1dCB3ZSBkb24ndCBzdXBwb3J0IHRoYXQgeWV0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2NTQzCgoyMDE1LTA1LTA0IDEzOjUxOjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IEtlZXAgdHJhY2sgb2YgdHAvdG4gYW5kIHRfcnJfbGFzdCBzZXBhcmF0ZWx5CgkgIE90aGVyd2lzZSB3ZSBjYW4ndCBwcm9wZXJseSBzY2hlZHVsZSBSVENQIGluIGZlZWRiYWNrIHByb2ZpbGVzIGFzIHdlIG5lZWQgdG8KCSAgZGlzdGluZ3Vpc2ggdGhlIHRpbWUgd2hlbiB3ZSBsYXN0IGNoZWNrZWQgZm9yIHNlbmRpbmcgUlRDUCAodHApIGJ1dCBtaWdodCBoYXZlCgkgIHN1cHByZXNzZWQgaXQsIGFuZCB0aGUgdGltZSB3aGVuIHdlIGxhc3QgYWN0dWFsbHkgc2VudCBhIG5vbi1lYXJseSBSVENQCgkgIHBhY2tldC4KCSAgVGhpcyB0b2dldGhlciB3aXRoIHRoZSBvdGhlciBjaGFuZ2VzIHNob3VsZCBub3cgcHJvcGVybHkgaW1wbGVtZW50IFJUQ1AKCSAgc2NoZWR1bGluZyBhY2NvcmRpbmcgdG8gUkZDNDU4NSwgYW5kIGVzcGVjaWFsbHkgYWxsb3cgdXMgdG8gc2VuZCBmZWVkYmFjawoJICBwYWNrZXRzIGEgbG90IGlmIG5lZWRlZCBidXQgb25seSBzZW5kIHJlZ3VsYXIgUlRDUCBwYWNrZXRzIGV2ZXJ5IG9uY2UgaW4gYQoJICB3aGlsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjU0MwoKMjAxNS0wNS0wNCAxMTo0MjowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBydHBzZXNzaW9uOiBBZGQgcHJvcGVydHkgZm9yIHNlbGVjdGluZyBSVFAgcHJvZmlsZSAoQVZQL0FWUEYvZXRjKQoJICBBbmQgbW9kaWZ5IG91ciBSVENQIHNjaGVkdWxpbmcgYWxnb3JpdGhtIGFjY29yZGluZ2x5LiBXZSBub3cgY2FuIHNlbmQgbW9yZQoJICBSVENQIHBhY2tldHMgaWYgbmVlZGVkIGZvciBmZWVkYmFjaywgYnV0IHdpbGwgdGhyb3R0bGUgZnVsbCBSVENQIHBhY2tldHMgYnkKCSAgcnRjcC1taW4taW50ZXJ2YWwgKHQtcnItaW50IGZyb20gUkZDNDU4NSkuCgkgIEluIG5vbi1mZWVkYmFjayBtb2RlLCBydGNwLW1pbi1pbnRlcnZhbCBpcyBUbWluIGZyb20gUkZDMzU1MCwgd2hpY2ggaXMKCSAgc3RhdGljYWxseSBzZXQgdG8gMXMgb3IgMHMgYnkgUkZDNDU4NS4gVG1pbiBkZWZpbmVzIGhvdyBvZnRlbiB3ZSBzaG91bGQKCSAgc2VuZCBSVENQIHBhY2tldHMgYXQgbW9zdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjU0MwoKMjAxNS0wNS0zMCAxNzo0MTowNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkgIG11bGF3ZGVjOiBMZXQgYmFzZWNsYXNzIGVzdGltYXRlIGJpdHJhdGUKCSAgVGhpcyBtYWtlcyBwbGF5YmFjayBkaXJlY3RseSBmcm9tIGEgZmlsZSB3b3JrIHdpdGggdGhlIHJpZ2h0IGNhcHMuCgoyMDE1LTA1LTI3IDE2OjMxOjIzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5oOgoJICBkeW51ZHBzaW5rOiBrZWVwIEdDYW5jZWxsYWJsZSBmZCBhcm91bmQgaW5zdGVhZCBvZiByZS1jcmVhdGluZyBpdCBjb25zdGFudGx5CgkgIEFuZCBjcmVhdGUgaXQgb25seSB3aGVuIHN0YXJ0aW5nIHRoZSBlbGVtZW50LgoKMjAxNS0wNS0yNyAxNTo1NTo1NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgIHVkcHNpbmssIG11bHRpdWRwc2luazoga2VlcCBHQ2FuY2VsbGFibGUgZmQgYXJvdW5kIGluc3RlYWQgb2YgcmUtY3JlYXRpbmcgaXQgY29uc3RhbnRseQoJICBPdGhlcndpc2Ugd2UgY29uc3RhbnRseSBjcmVhdGUvY2xvc2UgZXZlbnQgZmlsZSBkZXNjcmlwdG9ycywKCSAgZXZlcnkgdGltZSB3ZSBjYWxsIGdfc29ja2V0X2NvbmRpdGlvbl90aW1lZF93YWl0KCkgb3IKCSAgZ19zb2NrZXRfc2VuZF9tZXNzYWdlKHMpKCksIGkuZS4gYSBsb3QuIFdoaWNoIGlzIG5vdAoJICBwYXJ0aWN1bGFybHkgZ29vZCBmb3IgcGVyZm9ybWFuY2UuCgkgIENhbid0IGNyZWF0ZSBHQ2FuY2VsbGFibGUgaW4gOjpzdGFydCgpIGhlcmUgYmVjYXVzZSBpdCdzIHVzZWQKCSAgaW4gY2xpZW50X25ldygpIHdoaWNoIG1heSBiZSBjYWxsZWQgdmlhIHRoZSBhZGQtY2xpZW50IGFjdGlvbgoJICBzaWduYWwgd2hpY2ggbWF5IGJlIGNhbGxlZCBiZWZvcmUgdGhlIGVsZW1lbnQgaXMgdXAgYW5kIHJ1bm5pbmcuCgoyMDE1LTA1LTE5IDE4OjEzOjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuaDoKCSAgdWRwc3JjOiBrZWVwIEdDYW5jZWxsYWJsZSBmZCBhcm91bmQgaW5zdGVhZCBvZiByZS1jcmVhdGluZyBpdCBjb25zdGFudGx5CgkgIE90aGVyd2lzZSB3ZSBjb25zdGFudGx5IGNyZWF0ZS9jbG9zZSBldmVudCBmaWxlIGRlc2NyaXB0b3JzLAoJICBldmVyeSBzaW5nbGUgdGltZSB3ZSBjYWxsIGdfc29ja2V0X2NvbmRpdGlvbl90aW1lZF93YWl0KCkgb3IKCSAgZ19zb2NrZXRfcmVjZWl2ZV9tZXNzYWdlKCksIGkuZS4gdHdpY2UgcGVyIHBhY2tldCByZWNlaXZlZCEKCSAgVGhpcyB3YXMgbm90IHBhcnRpY3VsYXJseSBnb29kIGZvciBwZXJmb3JtYW5jZS4KCSAgQWxzbyBvbmx5IGNyZWF0ZSBHQ2FuY2VsbGFibGUgb24gc3RhcnQtdXAuCgoyMDE1LTA1LTI2IDE1OjMzOjM3ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thOiBvdmVyd3JpdHRlbiB2YWx1ZSBhc3NpZ25tZW50CgkgIGN1cnBvcyBpcyBzZXQgYW5kIGltbWVkaWF0ZWx5IGFmdGVyLCBzZXQgYWdhaW4uIFJlbW92ZSB0aGUgcmVkdW5kYW50CgkgIGFzc2lnbm1lbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk5MDkKCjIwMTUtMDUtMjMgMTM6NDc6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJICBydHB2cmF3ZGVwYXk6IGRvbid0IHNoYWRvdyBleGlzdGluZyBvdXRidWYgdmFyaWFibGUKCSAgQW5kIGZpeCB1bnJlZiBvZiB0aGUgd3Jvbmcgb25lIHdoaWNoIHdpbGwgY29udGFpbiBOVUxMCgkgIGluIGFuIGVycm9yIGNvZGUgcGF0aC4KCjIwMTUtMDUtMjMgMTM6MjM6MjIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5oOgoJICBydHB2cmF3ZGVwYXk6IG1hcC91bm1hcCBvdXRwdXQgZnJhbWUgb25seSBvbmNlLCBub3QgZm9yIGV2ZXJ5IGlucHV0IHBhY2tldAoJICBNYXAgb3V0cHV0IGJ1ZmZlciBhZnRlciBjcmVhdGluZyBpdCBhbmQga2VlcCBpdCBtYXBwZWQKCSAgdW50aWwgd2UncmUgZG9uZSB3aXRoIGl0IGluc3RlYWQgb2YgbWFwcGluZy91bm1hcHBpbmcKCSAgaXQgZm9yIGV2ZXJ5IHNpbmdsZSBpbnB1dCBidWZmZXIuCgoyMDE1LTA1LTI1IDA4OjQ3OjQ3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmVtb3ZlIGZpeG1lIGZyb20gMjAwNgoJICBJdCBoYXMgYmVlbiB2ZXJpZmllZCBieSB1c2Ugb3ZlciB0aW1lLgoKMjAxNS0wNS0yMyAxNDozNjo0MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCByZXZlcnNlIHBsYXliYWNrIG9mIGZyYWdtZW50ZWQgbWVkaWEKCSAgcXRkZW11eCBjcmVhdGVzIGEgc2FtcGxlcyBhcnJheSBhbmQgZ2V0cyB0aGUgdGltZXN0YW1wcyBmb3IgYnVmZmVycyBieQoJICBhY2N1bXVsYXRpbmcgdGhlaXIgZHVyYXRpb25zLiBXaGVuIGRvaW5nIHJldmVyc2UgcGxheWJhY2sgb2YgZnJhZ21lbnRzLAoJICBhY2N1bXVsYXRpbmcgc2FtcGxlcyB3aWxsIGxlYWQgdG8gd3JvbmcgdGltZXN0YW1wcyBhcyB0aGUgdGltZXN0YW1wcwoJICBzaG91bGQgZ28gZGVjcmVhc2luZyBmcm9tIGZyYWdtZW50IHRvIGZyYWdtZW50IGFuZCB0aGUgYWNjdW11bGF0aW9uCgkgIHdpbGwgcHJvZHVjZSB3cm9uZyByZXN1bHRzLgoJICBJbiB0aGlzIGNhc2UsIHdoZW4gcmVjZWl2aW5nIGEgZGlzY29udCBmb3IgZnJhZ21lbnRlZCByZXZlcnNlIHBsYXliYWNrLAoJICB0aGUgcHJldmlvdXMgc2FtcGxlcyBpbmZvcm1hdGlvbiBzaG91bGQgYmUgZmx1c2hlZCBiZWZvcmUgbmV3IGRhdGEKCSAgaXMgcHJvY2Vzc2VkLgoKMjAxNS0wNS0yMyAwMTowMzoxOCArMDkwMCAgSmltbXkgT2huIDx5b25namluLm9obkBsZ2UuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdGZpbGVzcmMuYzoKCSAgc3BsaXRmaWxlc3JjOiBJbXBsZW1lbnQgYmluYXJ5IHNlYXJjaCBpbiBmaW5kX3BhcnRfZm9yX29mZnNldAoJICBJbXBsZW1lbnQgYmluYXJ5IHNlYXJjaCB1c2luZyBnc3RfdXRpbF9hcnJheV9iaW5hcnlfc2VhcmNoCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk2OTAKCjIwMTUtMDUtMjEgMTM6MjY6NTMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IERvbid0IGNyYXNoIGlmIHdlIHJlY2VpdmUgRklSL1BMSSBmcm9tIGEgc291cmNlIHdlIGRvbid0IGtub3cKCjIwMTUtMDUtMjEgMDk6MzU6NTggKzAyMDAgIFNhbnRpYWdvIENhcm90LU5lbWVzaW8gPHNhbmNhbmVAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBGaXggY29sbGVjdGlvbiBvZiBzdGF0aXN0aWNzCgkgIFN0YXRzIHNob3VsZCBiZSBjb2xsZWN0ZWQgb24gdGhlIG1lZGlhIHJ0cCBzb3VyY2Ugbm90IGluIHRoZQoJICBzZW5kZXIgb25lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5NjY5CgoyMDE1LTA0LTIwIDEwOjA3OjMwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5oOgoJICBtdWx0aWZpbGVzaW5rOiBBZGQgYSBuZXcgbWF4LWR1cmF0aW9uIGZpbGUgc3dpdGNoaW5nIG1vZGUKCSAgVGhpcyBuZXcgbW9kZSBlbnN1cmVzIHRoYXQgZmlsZXMgd2lsbCBuZXZlciBleGNlZWQgYSBjZXJ0YWluIGR1cmF0aW9uCgkgIGJhc2VkIG9uIGluY29taW5nIGJ1ZmZlciBQVFMgKGFuZCBkdXJhdGlvbiBpZiBwcmVzZW50KQoJICBOb3RlOgoJICAqIFlvdSBuZWVkIHRpbWVzdGFtcGVkIGJ1ZmZlcnMgKGR1aCkuIElmIHNvbWUgb2YgdGhlIGluY29taW5nIGJ1ZmZlcnMgZG9uJ3QKCSAgaGF2ZSBQVFMsIHRoZW4gaXQgd2lsbCBqdXN0IGFjY2VwdCB0aGVtIGluIHRoZSBjdXJyZW50IGZpbGUKCjIwMTUtMDQtMTcgMTY6MTg6MzIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgbXVsdGlmaWxlc2luazogc3RyZWFtbGluZSB0aGUgZmlsZS1zd2l0Y2ggY29kZSBhIGJpdAoJICBVc2UgdGhlIHNhbWUgZnVuY3Rpb25zIHJlZ2FyZGxlc3Mgb2YgdGhlIG1vZGUgd2UgYXJlIHVzaW5nCgoyMDE1LTA0LTAyIDEzOjM1OjE4ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5oOgoJICBtdWx0aWZpbGVzaW5rOiBhZGQgImFnZ3JlZ2F0ZS1nb3BzIiBwcm9wZXJ0eSB0byBwcm9jZXNzIEdPUHMgYXMgYSB3aG9sZQoJICBUaGlzIHByb3BlcnR5IGNhbiBiZSB1c2VkIGluIGNvbWJpbmF0aW9uIHdpdGggbmV4dC1maWxlPW1heC1zaXplCgkgIChhbmQgcGVyaGFwcyBhIGZ1dHVyZSBuZXh0LWZpbGU9bWF4LWR1cmF0aW9uKSB0byBtYWtlIHN1cmUgdGhhdAoJICBlYWNoIGZpbGUgcGFydCBzdGFydHMgY2xlYW5seSB3aXRoIGEga2V5IGZyYW1lIGFuZCB0aGUgYXBwcm9wcmlhdGUgaGVhZGVycy4KCSAgSW4gb3JkZXIgZm9yIHRoaXMgcHJvcGVydHkgdG8gd29yayBjb3JyZWN0bHksIHVwc3RyZWFtIGVsZW1lbnRzIHNob3VsZCBtYWtlCgkgIHN1cmUgdGhhbiBhbnkgaGVhZGVycyB0aGF0IG5lZWQgdG8gYmUgd3JpdHRlbiBpbiBhIHN0YW5kYWxvbmUgZmlsZSBhcmU6CgkgIDEpIGluIHRoZSBzdHJlYW1oZWFkZXIgY2FwcyBmaWVsZAoJICAyKSBhbmQvb3IgaW4gdGhlIHN0cmVhbSBhcyBvbmUgb3IgbW9yZSBidWZmZXJzIG1hcmtlZCB3aXRoIEdTVF9CVUZGRVJfRkxBR19IRUFERVIKCSAgdGhhdCBhcmUganVzdCBiZWZvcmUgdGhlIGtleWZyYW1lIGJ1ZmZlcgoJICBUaGlzIGlzIHVzZWZ1bCBmb3IgTVBFRy1UUy9NUEVHLVBTIGZpbGUgc2VnbWVudGluZyBpbgoJICBjb21iaW5hdGlvbiB3aXRoIG1wZWd0c211eCBvciBtcGVncHNtdXguCgkgIE9yaWdpbmFsIHBhdGNoIGJ5OiBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKMjAxNS0wNS0yMCAxNjozNzoyMiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogVXNlIHNpbmdsZS1pbmNsdWRlIGhlYWRlciBmb3IgdGhlIFJUU1AgbGlicmFyeQoKMjAxNC0xMC0yNCAyMzo0NzoyMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHA6IGRvbid0IHVzZSBzb29uLXRvLWJlLWRlcHJlY2F0ZWQgZ19jYW5jZWxsYWJsZV9yZXNldCgpCgkgIEZyb20gdGhlIEFQSSBkb2N1bWVudGF0aW9uOiAiTm90ZSB0aGF0IGl0IGlzIGdlbmVyYWxseSBub3QKCSAgYSBnb29kIGlkZWEgdG8gcmV1c2UgYW4gZXhpc3RpbmcgY2FuY2VsbGFibGUgZm9yIG1vcmUKCSAgb3BlcmF0aW9ucyBhZnRlciBpdCBoYXMgYmVlbiBjYW5jZWxsZWQgb25jZSwgYXMgdGhpcwoJICBmdW5jdGlvbiBtaWdodCB0ZW1wdCB5b3UgdG8gZG8uIFRoZSByZWNvbW1lbmRlZCBwcmFjdGljZQoJICBpcyB0byBkcm9wIHRoZSByZWZlcmVuY2UgdG8gYSBjYW5jZWxsYWJsZSBhZnRlciBjYW5jZWxsaW5nCgkgIGl0LCBhbmQgbGV0IGl0IGRpZSB3aXRoIHRoZSBvdXRzdGFuZGluZyBhc3luYyBvcGVyYXRpb25zLgoJICBZb3Ugc2hvdWxkIGNyZWF0ZSBhIGZyZXNoIGNhbmNlbGxhYmxlIGZvciBmdXJ0aGVyIGFzeW5jCgkgIG9wZXJhdGlvbnMuIgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5MTMyCgoyMDE1LTA1LTE4IDIwOjEzOjAxICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgUmV2ZXJ0ICJkb2M6IFdvcmthcm91bmQgZ3RrZG9jIGlzc3VlIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDE3OTdjOGY4YjEyZDdmNGM3YTk0NDRjOTRmMzRmNGQwOGVjODU5NDUuCgkgIFRoaXMgaXMgZml4ZWQgYnkgdGhlIGd0ay1kb2MgMS4yMyByZWxlYXNlLgoJICA8cGFyYT4gY2Fubm90IGNvbnRhaW4gPHJlZnNlY3QyPjoKCSAgaHR0cDovL3d3dy5kb2Nib29rLm9yZy90ZGcvZW4vaHRtbC9wYXJhLmh0bWwKCSAgaHR0cDovL3d3dy5kb2Nib29rLm9yZy90ZGcvZW4vaHRtbC9yZWZzZWN0Mi5odG1sCgoyMDE1LTA1LTE4IDE2OjQwOjIxICswMjAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJICBydHBnNzI2cGF5OiBmaXggY2FwcyBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk1NDQKCjIwMTUtMDUtMTggMTY6MzQ6MTMgKzAyMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSAgcnRwZzcyNmRlcGF5OiBkb24ndCBsZWFrIGlucHV0IGJ1ZmZlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5NTQzCgoyMDE1LTA1LTE4IDE3OjM4OjMxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogUXVldWUgYmFkIHBhY2tldHMgaW5zdGVhZCBvZiBkcm9wcGluZyB0aGVtCgkgIFNvIHdlIGNhbiBzZW5kIHRoZW0gb3V0IG9uY2Ugd2UgZm91bmQgdGhlIG5leHQsIGNvbnNlY3V0aXZlIHNlcXVlbmNlIG51bWJlciBpbgoJICBjYXNlIG9uZSBpcyBmb2xsb3dpbmcuCgoyMDE1LTA1LTE4IDE3OjM4OjE0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogVXNlIGdfcXVldWVfZm9yZWFjaCgpIHRvIHVucmVmIGFsbCBidWZmZXJzIGluIHF1ZXVlcwoKMjAxNS0wNS0xOCAxNzoxOTozMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IFJlZmFjdG9yIHNlcW51bSBjb21wYXJpc29uIGNvZGUgYSBiaXQKCjIwMTUtMDUtMTggMTc6MDg6NTMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiBBbGxvdyBzZXF1ZW5jZSBudW1iZXIgd3JhcGFyb3VuZCBkdXJpbmcgcHJvYmF0aW9uCgoyMDE1LTA1LTE4IDE3OjA3OjIzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogTWFrZSBzZXF1ZW5jZSBudW1iZXIgY29tcGFyaXNvbiBjb2RlIG1vcmUgcmVhZGFibGUKCSAgLi4uIGJ5IHVzaW5nIGdzdF9ydHBfYnVmZmVyX2NvbXBhcmVfc2VxbnVtKCkgYW5kIHNpZ25lZCBpbnRlZ2VycwoJICBpbnN0ZWFkIG9mIGltcGxpY3RseSB1c2luZyBlZmZlY3RzIG9mIGludGVnZXIgb3Zlci91bmRlcmZsb3dzLgoKMjAxNS0wNC0yMiAxODo1NDowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IFdoZW4gZGV0ZWN0aW5nIGEgaHVnZSBzZXFudW0gZ2FwLCB3YWl0IGZvciA1IGNvbnNlY3V0aXZlIHBhY2tldHMgYmVmb3JlIHJlc2V0dGluZyBldmVyeXRoaW5nCgkgIEl0IG1pZ2h0IGp1c3QgYmUgYSBsYXRlIHJldHJhbnNtaXNzaW9uIG9yIHNwdXJpb3VzIHBhY2tldCBmcm9tIGVsc2V3aGVyZSwgYnV0CgkgIHJlc2V0dGluZyBldmVyeXRoaW5nIHdvdWxkIG1lYW4gdGhhdCB3ZSB3aWxsIGNhdXNlIGEgbm90aWNlYWJsZSBoaWNrdXAuIExldCdzCgkgIGdldCBzb21lIGNvbmZpZGVuY2UgZmlyc3QgdGhhdCB0aGUgc2VxdWVuY2UgbnVtYmVycyBjaGFuZ2VkIGZvciB3aGF0ZXZlcgoJICByZWFzb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc5MjIKCjIwMTUtMDUtMTYgMjM6Mzc6MDYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgZG9jOiBXb3JrYXJvdW5kIGd0a2RvYyBpc3N1ZQoJICBXaXRoIGd0a2RvYyAxLjIyLCB0aGUgWE1MIGdlbmVyYXRvciBmYWlscyB3aGVuIGEgaXRlbWl6ZWRsaXN0IGlzCgkgIGZvbGxvd2VkIGJ5IGEgcmVmc2VjdDIuIFdvcmthcm91bmQgdGhlIGlzc3VlIGJ5IHdyYXBwaW5nIHRoZQoJICByZWZzZWN0MiBpbnRvIHBhcmEuCgoyMDE1LTAxLTIzIDEzOjU3OjQwICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X3R5cGVzLmM6CgkgIHF0ZGVtdXg6IGF2b2lkIHdyb25nIHdhcm5pbmdzIG9uIHVua25vd24gbm9kZSB0eXBlcwoJICBBZGQgJ25hbWUnIGFuZCAnbWVhbicgZm91cmNjcywgYXMgd2UgaGFuZGxlIHRoZW0uIFJpZ2h0IG5vdyBlYWNoIHVzZSB3b3VsZAoJICB0cmlnZ2VyIGEgd2FybmluZy4KCjIwMTUtMDUtMDggMTk6MTM6MDAgKzAyMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuaDoKCSAgcnRwZzcyNmRlcGF5OiBhZGQgYmxvY2tfYWxpZ24gdG8gb3V0cHV0IGNhcHMKCSAgSXQgaXMgbmVlZGVkIHRvIGNvcnJlY3RseSBuZWdvdGlhdGUgY2FwcyB3aXRoIG1hdHJvc2thbXV4CgkgIGFuZCBtb3N0IG90aGVyIG11eGVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTEyOQoKMjAxNS0wNS0xMiAxMzo0MTo1OCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkgIGF1ZGlvZnhiYXNlZmlyZmlsdGVyOiBGaXggdGltZS1kb21haW4gY29udm9sdXRpb24gd2l0aCA+MSBjaGFubmVscwoJICBpbnB1dF9zYW1wbGVzIGlzIHRoZSBudW1iZXIgb2YgZnJhbWVzLCBidXQgd2UgdXNlZCBpdCBhcyB0aGUgbnVtYmVyIG9mCgkgIHNhbXBsZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDcyMDQKCjIwMTUtMDUtMTIgMTI6MTM6MTYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnB4L2dzdHZwOWVuYy5jOgoJICB2cFs4OV1lbmM6IFByb3Blcmx5IGNvbnZlcnQgYmV0d2VlbiBHU3RyZWFtZXIgYW5kIGVuY29kZXIgdGltZWJhc2UKCSAgLi4uIGJ5IHN3aXRjaGluZyBudW1lcmF0b3IgYW5kIGRlbm9taW5hdG9yIHdoZW4gc2NhbGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTEyMgoKMjAxNS0wNS0xMSAxMzozMzoyNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cHgvZ3N0dnA5ZW5jLmM6CgkgIHZwWzg5XWVuYzogRG9uJ3Qgc2V0IHRpbWViYXNlIGZyb20gdGhlIGZyYW1lcmF0ZQoJICBUaGUgZnJhbWVyYXRlIHZlcnkgb2Z0ZW4gaXMganVzdCBhbiBpbmRpY2F0aW9uIG9mIHRoZSBpZGVhbCBmcmFtZXJhdGUsIG5vdCB0aGUKCSAgYWN0dWFsIGZyYW1lcmF0ZSBvZiB0aGUgc3RyZWFtLiBCeSBqdXN0IHVzaW5nIHRoZSBmcmFtZXJhdGUsIHdlIGNvbmZ1c2UgdGhlCgkgIHJhdGUgY29udHJvbCBhbGdvcml0aG0gYWxnb3JpdGhtIGFzIG11bHRpcGxlIGZyYW1lcyB3aWxsIG1hcCB0byB0aGUgc2FtZSBQVFMKCSAgb3IgaGF2ZSBkdXJhdGlvbnMgb2YgMC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTEyMgoKMjAxNS0wNS0xMCAxNDoyMTowNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja3BhcnNlLmM6CgkgIHRlc3RzOiB3YXZwYWNrcGFyc2U6IGZpeCB1bml0IHRlc3QKCSAgU2VlIGFsc28gaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODIzNwoKMjAxNS0wNS0xMCAxMTowNTowMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cHgvZ3N0dnA5ZGVjLmM6CgkqIGV4dC92cHgvZ3N0dnA5ZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwyNHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdmVuYy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LVBDTUEuYzoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1hbHNhc3JjLVBDTUEuYzoKCSAgZG9jczogdXBkYXRlIGV4YW1wbGUgcGlwZWxpbmVzIGluIGVsZW1lbnQgZG9jcwoJICBNb3N0bHkgZ3N0LWxhdW5jaCAtPiBnc3QtbGF1bmNoLTEuMAoJICBVc2UgYXV0b3ZpZGVvc2luay9hdXRvYXVkaW9zaW5rIG1vcmUgb2Z0ZW4uCgkgIFNwcmlua2xlIHNvbWUgY29udmVydGVycyBoZXJlIGFuZCB0aGVyZS4KCjIwMTUtMDUtMDkgMTk6NDg6NTUgKzAyMDAgIFBpb3RyIERyxIVnIDxwaW90cmRyYWdAZ21haWwuY29tPgoKCSogcG8vUE9URklMRVMuaW46CgkgIHBvOiB1cGRhdGUgUE9URklMRVMuaW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTE2MwoKMjAxNS0wNS0xMCAxMDo1MjoxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzcmMuYzoKCSAgc3BsaXRtdXhzcmM6IG1pbm9yIGVycm9yIG1lc3NhZ2UgY2xlYW4tdXAKCSAgRG9uJ3QgcHV0IGZpbGVuYW1lIGluIGVycm9yIG1lc3NhZ2Ugc2hvd24gdG8gdXNlci4KCjIwMTUtMDUtMDcgMTY6MjU6MzYgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBmaXggYnVmZmVyIGxlYWsgd2hlbiBzdG9yZWQgdG8gc2Vla3RhYmxlCgkgIEZpeCBhIGxlYWsgd2l0aCB0aGUKCSAgdmFsaWRhdGUuZmlsZS5wbGF5YmFjay5jaGFuZ2Vfc3RhdGVfaW50ZW5zaXZlLnNhbXBsZXNfbXVsdGltZWRpYV9jeF9mbGFjX1llc3RlcmRheV9mbGFjCgkgIHNjZW5hcmlvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5MDcyCgoyMDE1LTA1LTA3IDE3OjEwOjM3ICswOTAwICBQYXVsIEh5dW5pbCA8cGF1bC5oeXVuaWxAbGdlLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggZXhhbXBsZSBwaXBlbGluZSBpbiBkb2NzCgkgIFRoZSBnc3QtbGF1bmNoIHNjcmlwdCBmb3IgZXhhbXBsZSBsYXVuY2ggbGluZSB0byB0ZXN0IHF0ZGVtdXggaXMKCSAgbWlzc2luZyBhIHF1ZXVlIGJlZm9yZSB0aGUgZGVjb2RlYmlucywgb3RoZXJ3aXNlIHRoZSBnc3QtbGF1bmNoLTEuMAoJICBjb21tYW5kIHdvbid0IHdvcmsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDkwNTQKCjIwMTUtMDUtMDcgMTQ6NTE6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIFJldmVydCAicnRwc2Vzc2lvbjogQWxzbyByZXBvcnQgaW50ZXJuYWwgc291cmNlcyBpbiBvbi1uZXctc3NyYyBhbmQgb24tc3NyYy1hY3RpdmUiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZDIyZWM0OTYzMjhlNmJhOGVkYmYyZDA3MWQ1NjA4YjJhZjI4MzFlOC4KCSAgQXBwbGljYXRpb24gY29kZSBtaWdodCBleHBlY3QgdGhhdCBpdCBvbmx5IGdldHMgZXh0ZXJuYWwgc291cmNlcyBvbiB0aG9zZQoJICBzaWduYWxzLCBhbmQgZ2V0IGNvbmZ1c2VkIGJ5IHRoaXMuIElmIGFueXRoaW5nIHdlIHdvdWxkIG5lZWQgdG8gYWRkIG5ldwoJICBzaWduYWxzLgoKMjAxNS0wMy0yNSAxNToyNzozNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogQWxzbyByZXBvcnQgaW50ZXJuYWwgc291cmNlcyBpbiBvbi1uZXctc3NyYyBhbmQgb24tc3NyYy1hY3RpdmUKCSAgV2l0aG91dCB0aGlzIGl0IHNlZW1zIGltcG9zc2libGUgZm9yIGFuIGFwcGxpY2F0aW9uIHRvIGVhc2lseSBnZXQgbm90aWZpZWQKCSAgYWJvdXQgdGhlIGludGVybmFsIHNzcmNzIHRoYXQgYXJlIGNyZWF0ZWQsIGUuZy4gc2VuZGVyIHNvdXJjZXMsIGFuZCBhbHNvCgkgIHRvIGtub3cgd2hlbiB0aGV5IGFyZSBhY3RpdmUgYW5kIHByb2R1Y2UgUlRDUCBwYWNrZXRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2NzQ3CgoyMDE1LTA1LTA0IDE5OjI2OjE0ICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZml4IGZyYW1lIGxlYWtzIGluIGhhbmRsZV9mcmFtZSgpIGltcGxlbWVudGF0aW9uCgkgIGhhbmRsZV9mcmFtZSgpIGlzIHN1cHBvc2VkIHRvIGNvbnN1bWUgQGZyYW1lLCBzbyBpZiB3ZSBkb24ndCBjYWxsCgkgIGdzdF92aWRlb19kZWNvZGVyX2Ryb3BfZnJhbWUoKSBvciBnc3RfdmlkZW9fZGVjb2Rlcl9maW5pc2hfZnJhbWUoKSB3ZSBoYXZlIHRvCgkgIHJlbGVhc2UgaXQgbWFudWFsbHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg5MDkKCjIwMTUtMDUtMDQgMTY6NTA6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IEZpeCB1cCBsYXN0IGNvbW1pdAoKMjAxNS0wNS0wNCAxNjo0NjowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogT25seSBkbyBSVFggd2hlbiB1c2luZyBhIGZlZWRiYWNrIHByb2ZpbGUKCjIwMTUtMDUtMDQgMTM6NTA6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IFRoZSBzdGF0cyBtaW5faW50ZXJ2YWwgaXMgaW4gc2Vjb25kcywgbm90IG5hbm9zZWNvbmRzCgkgIFdlIGhhdmUgdG8gc2NhbGUgaXQgdG8gY29tcGFyZSBpdCBhZ2FpbnN0IG91ciBjbG9jayB0aW1lcy4KCjIwMTUtMDUtMDQgMTE6Mzg6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IE9ubHkgcmV0dXJuIFRSVUUgaWYgZWFybHkgZmVlZGJhY2sgd2FzIHJlcXVlc3RlZCBhbHJlYWR5IGFuZCBpdCdzIGVhcmx5IGVub3VnaAoKMjAxNS0wNC0zMCAxNTo0MjozNCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJICBtYXRyb3NrYTogcmVtb3ZlIHVudXNlZCBwcm9wZXJ0eSBlbnVtIGl0ZW1zCgoyMDE1LTA0LTMwIDEyOjEzOjU5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBidWZmZXIgbGVhayBvbiBlb3MgaW4gcHVzaCBtb2RlCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IEd1aWxsYXVtZSBEZXNtb3R0ZXMuCgkgIHNjZW5hcmlvOiB2YWxpZGF0ZS5odHRwLnBsYXliYWNrLnNlZWtfd2l0aF9zdG9wLnJhd19oMjY0XzFfbXA0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg2MTcKCjIwMTUtMDQtMjkgMTk6NDE6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQ2hlY2sgZm9yIHNpemVzIG9mIHRoZSByZHJmIChyZWRpcmVjdCkgYXRvbSBiZWZvcmUgYWNjZXNzaW5nIHRoZSBkYXRhIGFuZCB1c2UgZ19zdHJuZHVwKCkgaW5zdGVhZCBvZiBnX3N0cmR1cCgpCgkgIFRoYW5rcyB0byBSYWxwaCBHaWxlcyBmb3IgcmVwb3J0aW5nIHRoaXMuCgoyMDE1LTA0LTI5IDE1OjUyOjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBPbmx5IGVuYWJsZSByZXRyYW5zbWlzc2lvbnMgaWYgdGhlcmUgaXMgcmV0cmFuc21pc3Npb24gaW5mbyBpbiB0aGUgU0RQCgkgIE90aGVyd2lzZSB3ZSdyZSBnb2luZyB0byBzZW5kIGVhcmx5IFJUQ1AgYW5kIE5BQ0tzIGluIG5vbi1mZWVkYmFjayBzZXNzaW9ucwoJICB0b28sIHdoaWNoIHdpbGwgY29uZnVzZSBzZXJ2ZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NjI3CgoyMDE1LTAyLTExIDE4OjA5OjI0ICswNTMwICBSYXZpIEtpcmFuIEsgTiA8cmF2aS5raXJhbkBzYW1zdW5nLmNvbT4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkgIGR2ZGVtdXg6IGV4dHJhY3QgcmVjb3JkaW5nIHRpbWUKCSAgRXh0cmFjdHMgdGhlIHJlY29yZGVkIHRpbWUgb2YgdGhlIGR2IGZpbGUgZnJvbQoJICB0aGUgbWV0YWRhdGEgYW5kIHB1dHMgaXQgaW50byB0aGUgZ2xvYmFsIHRhZ3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDM2NTcKCjIwMTUtMDQtMjggMTU6NTk6MjUgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGZpeCBzZWVrIGV2ZW50IGxlYWsKCSAgZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zZWVrX2V2ZW50KCkgZG9lc24ndCBjb25zdW1lIHRoZQoJICBldmVudCBzbyB3ZSBoYXZlIHRvIHVucmVmIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NTg0CgoyMDE1LTA0LTI4IDE1OjQyOjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thLWRlbXV4OiBTZW5kIHBlbmRpbmcgdGFncyB3aGVuIGFkZGluZyBhIG5ldyBwYWQKCSAgV2UgbWlnaHQndmUgcGFyc2VkIHRob3NlIHRhZ3MgYmVmb3JlIGFscmVhZHkgYW5kIHRyaWVkIHRvIHB1c2ggdGhlbSB0bwoJICBub24tZXhpc3RpbmcgcGFkcyBiZWZvcmUuIE5vdyBsZXQncyBkbyBpdCBmb3IgcmVhbC4KCjIwMTUtMDQtMjMgMTg6NTc6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOgoJICBydHBzdGF0czogQXZlcmFnZSBSVENQIHBhY2tldCBzaXplIGlzIGluIGJ5dGVzLCBiYW5kd2lkdGhzIGluIGJpdHMKCSAgV2UgbmVlZCB0byBjb252ZXJ0IHRoZSBzaXplIHRvIGJpdHMgZm9yIG91ciBjYWxjdWxhdGlvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc4NjMKCjIwMTUtMDQtMjMgMTg6NTM6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOgoJICBydHBzdGF0czogVXNlIHRoZSBzYW1lIGxvd2VyIGxpbWl0IGZvciBSVENQIGJhbmR3aWR0aCB0byBzdG9wIHNlbmRpbmcgUlRDUCBldmVyeXdoZXJlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc4NjMKCjIwMTUtMDQtMTQgMTg6NDE6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogVXNlIGJhbmR3aWR0aCBjYWxjdWxhdGlvbiBieSBkZWZhdWx0IGluc3RlYWQgb2Ygc29tZSBhcmJpdHJhcnkgaGFyZGNvZGVkIHZhbHVlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc4NjMKCjIwMTUtMDQtMjMgMTg6NDk6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEJhbmR3aWR0aCBpcyBzdXBwb3NlZCB0byBiZSBpbiBiaXRzL3MsIG5vdCBieXRlcy9zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc4NjMKCjIwMTUtMDQtMjcgMTY6MzY6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBGaXggUlRYIHVuaXQgdGVzdAoJICBUaGUgY2FsY3VsYXRpb25zIHdlcmUgYSBiaXQgb2ZmIGV2ZXJ5d2hlcmUsIGV2ZW4gYmVmb3JlIHRoZSBjaGFuZ2VzIGRvbmUKCSAgcmVjZW50bHkgdG8gdGhlIGRlbGF5IGZvciBSVFggb2YgZXhwZWN0ZWQgZnV0dXJlIHBhY2tldHMuIEl0IG9ubHkgd29ya2VkIGJ5CgkgIGFjY2lkZW50LCBidXQgbm93IHRoZSBjYWxjdWxhdGlvbnMgYXJlIGFsbCBjb3JyZWN0IGFnYWluLiBIb3BlZnVsbHkuCgoyMDE1LTA0LTI3IDExOjIyOjExICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2RlYnVndXRpbHMvYnJlYWtteWRhdGEuYzoKCSogZ3N0L2RlYnVndXRpbHMvY3B1cmVwb3J0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdnNlZWsuYzoKCSogZ3N0L2RlYnVndXRpbHMvcHJvZ3Jlc3NyZXBvcnQuYzoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2Zsdi9nc3RpbmRleC5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cnRweHF0ZGVwYXkuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW90ZW1wbGF0ZS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBSZW5hbWUgcHJvcGVydHkgZW51bXMgZnJvbSBBUkdfIHRvIFBST1BfCgkgIFByb3BlcnR5IGVudW0gaXRlbXMgc2hvdWxkIGJlIG5hbWVkIFBST1BfIGZvciBjb25zaXN0ZW5jeSBhbmQgcmVhZGFiaWxpdHkuCgoyMDE1LTA0LTI1IDAyOjQ5OjU4ICswMzAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogRml4ICJzdGF0cyIgcHJvcGVydHkgZG9jcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NDM2CgoyMDE1LTA0LTI2IDE3OjU0OjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogQW5kcm9pZC5tazoKCSogZ3N0L2FscGhhL01ha2VmaWxlLmFtOgoJKiBnc3QvYXBldGFnL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSogZ3N0L2F1cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9hdXRvZGV0ZWN0L01ha2VmaWxlLmFtOgoJKiBnc3QvYXZpL01ha2VmaWxlLmFtOgoJKiBnc3QvY3V0dGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSogZ3N0L2VmZmVjdHYvTWFrZWZpbGUuYW06CgkqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkqIGdzdC9mbHgvTWFrZWZpbGUuYW06CgkqIGdzdC9nb29tL01ha2VmaWxlLmFtOgoJKiBnc3QvZ29vbTJrMS9NYWtlZmlsZS5hbToKCSogZ3N0L2ljeWRlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvaWQzZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9pbWFnZWZyZWV6ZS9NYWtlZmlsZS5hbToKCSogZ3N0L2ludGVybGVhdmUvTWFrZWZpbGUuYW06CgkqIGdzdC9pc29tcDQvTWFrZWZpbGUuYW06CgkqIGdzdC9sYXcvTWFrZWZpbGUuYW06CgkqIGdzdC9sZXZlbC9NYWtlZmlsZS5hbToKCSogZ3N0L21hdHJvc2thL01ha2VmaWxlLmFtOgoJKiBnc3QvbW9ub3Njb3BlL01ha2VmaWxlLmFtOgoJKiBnc3QvbXVsdGlmaWxlL01ha2VmaWxlLmFtOgoJKiBnc3QvbXVsdGlwYXJ0L01ha2VmaWxlLmFtOgoJKiBnc3QvcmVwbGF5Z2Fpbi9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHNwL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2hhcGV3aXBlL01ha2VmaWxlLmFtOgoJKiBnc3Qvc21wdGUvTWFrZWZpbGUuYW06CgkqIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSogZ3N0L3VkcC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvYm94L01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9jcm9wL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9maWx0ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3Qvd2F2ZW5jL01ha2VmaWxlLmFtOgoJKiBnc3Qvd2F2cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkgIFJlbW92ZSBvYnNvbGV0ZSBBbmRyb2lkIGJ1aWxkIGNydWZ0CgkgIFRoaXMgaXMgbm90IG5lZWRlZCBhbnkgbG9uZ2VyLgoKMjAxNS0wNC0yNCAxMzo1NTowOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgdmlkZW9jcm9wOiBwcmludCB0aGUgcHJvcGVydHkgdmFsdWVzIHdoZW4gc2V0CgkgIEluc3RlYWQgb2YgcHJpbnRpbmcgdGhlIGN1cnJlbnRseSB1c2VkIHZhbHVlcy4gVGhlIGxvZyBpcyBtZWFudAoJICB0byBzaG93IHdoYXQgdGhlIHByb3BlcnRpZXMgY2hhbmdlZCB0bywgbm90IHdoYXQgaXMgYmVpbmcgY3VycmVudGx5CgkgIHVzZWQuCgoyMDE1LTA0LTI0IDE3OjAxOjEwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlva2FyYW9rZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cXVldWUuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cmVjZWl2ZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgcmVtb3ZlIHVudXNlZCBlbnVtIGl0ZW1zIFBST1BfTEFTVAoJICBUaGlzIHdlcmUgcHJvYmFibHkgYWRkZWQgdG8gdGhlIGVudW1zIGR1ZSB0byBjYXJnbyBjdWx0IHByb2dyYW1taW5nIGFuZCBhcmUKCSAgdW51c2VkLiBSZW1vdmluZyB0aGVtLgoKMjAxNS0wNC0yNCAwMDozMDozNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBsZXZlbDogZml4IGluZmluaXRlIGxvb3AgZm9yIHZlcnkgbG93IGludGVydmFsIHZhbHVlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NTE1CgoyMDE1LTA0LTIzIDE2OjA4OjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBkZWZpbmUgR1NUX0NIRUNLX1RFU1RfRU5WSVJPTk1FTlRfQkVBQ09OCgkgIE1ha2Ugc3VyZSB0aGUgdGVzdCBlbnZpcm9ubWVudCBpcyBzZXQgdXAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NjI0CgoyMDE1LTA0LTIzIDE2OjA4OjMyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGJ1bXAgYXV0b21ha2UgcmVxdWlyZW1lbnQgdG8gMS4xNCBhbmQgYXV0b2NvbmYgdG8gMi42OQoJICBUaGlzIGlzIG9ubHkgcmVxdWlyZWQgZm9yIGJ1aWxkcyBmcm9tIGdpdCwgcGVvcGxlIGNhbiBzdGlsbAoJICBidWlsZCB0YXJiYWxscyBpZiB0aGV5IG9ubHkgaGF2ZSBvbGRlciBhdXRvdG9vbHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NjI0CgoyMDE1LTA0LTIzIDE2OjA2OjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogLmdpdGlnbm9yZToKCSAgVXBkYXRlIC5naXRpZ25vcmUKCjIwMTUtMDQtMjMgMDk6NTU6NTkgKzAyMDAgIEplc3BlciBMYXJzZW4gPGtub3JyLmplc3BlckBnbWFpbC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IEZpeCBSVENQIGNhcHMgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8vc2hvd19idWcuY2dpP2lkPTc0ODM1MwoKMjAxNS0wNC0yMiAyMDoyNDoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IFdoZW4gcmVxdWVzdCByZXRyYW5zbWlzc2lvbnMgZm9yIGZ1dHVyZSBwYWNrZXRzLCBjb25zaWRlciB0aGUgcGFja2V0IHNwYWNpbmcgaW4gdGhlIGV4dHJhIGRlbGF5CgkgIFdlIG5vdyB0YWtlIHRoZSBtYXhpbXVtIG9mIDIqaml0dGVyIGFuZCAwLjUqcGFja2V0X3NwYWNpbmcgZm9yIHRoZSBleHRyYQoJICBkZWxheS4gSWYgaml0dGVyIGlzIHZlcnkgbG93LCB0aGlzIHNob3VsZCBwcmV2ZW50IHVubmVjZXNzYXJ5IHJldHJhbnNtaXNzaW9uCgkgIHJlcXVlc3RzIHRvIHNvbWUgZGVncmVlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MDQxCgoyMDE1LTA0LTIyIDE5OjQxOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogVGFrZSBhIHJ1bm5pbmcgYXZlcmFnZSBvZiB0aGUgcGFja2V0IHNwYWNpbmdzIGluc3RlYWQgb2YganVzdCB0aGUgbGF0ZXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgwNDEKCjIwMTUtMDQtMTMgMTE6MjA6NDAgKzAyMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogQWRkICJydHgtbmV4dC1zZXFudW0iIHByb3BlcnR5CgkgIElmIHRoaXMgaXMgc2V0IHRvIEZBTFNFLCBydHBqaXR0ZXJidWZmZXIgd2lsbCBub3QgcmVxdWVzdCByZXRyYW5zbWlzc2lvbnMgZm9yCgkgIGZ1dHVyZSBwYWNrZXRzIGJhc2VkIG9uIHdoZW4gdGhleSBhcmUgZXN0aW1hdGVkIHRvIGFycml2ZS4KCSAgU2VlIGFsc28gaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODA0MQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5ODY4CgoyMDE1LTA0LTIyIDE5OjI5OjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cmVjZWl2ZS5jOgoJICBydHhyZWNlaXZlOiBQdXQgZGVidWcgb3V0cHV0IGZvciByZXRyYW5zbWlzc2lvbiByZXF1ZXN0cyBhdCB0aGUgcmlnaHQgcGxhY2UKCSAgQmVmb3JlIGl0IHdhcyBvbmx5IGV2ZXIgcHJpbnRlZCBvbmNlIGZvciBldmVyeSB0aW1lIGEgc3NyYyB3YXMgYXNzb2NpYXRlZCB3aXRoCgkgIGEgc3BlY2lmaWMgc3RyZWFtLgoKMjAxNS0wNC0yMiAxODowNToyNCArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGRvbid0IGFkZCB0aGUgc2FtZSBpbnRlcmxhY2UgbW9kZSB0d2ljZQoJICBTb21lIGRyaXZlcnMgbW9kaWZ5IHRoZSBpbnRlcmxhY2UgbW9kZSB0byBwcm9ncmVzc2l2ZSwgbm8gbWF0dGVyIHdoYXQKCSAgaW5wdXQgeW91IGdpdmUgdGhlbSwgbWFrZSBzdXJlIHRoYXQgd2UgZG9uJ3QgYWRkIHRoZSBzYW1lIGludGVybGFjZSBtb2RlCgkgIHR3aWNlLgoKMjAxNS0wNC0yMSAxNjozNDoyMSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIGVxdWFsaXplcjogZml4IGR5bmFtaWMgY2hhbmdlcyBvbiBiYW5kcwoJICBXaGVuIHdlIGFyZSBpbiBwYXNzdGhyb3VnaCwgdGhlIHRyYW5zZm9ybSBmdW5jdGlvbiBkb2Vzbid0IHJ1biBhbmQgaWYgdGhlCgkgIHBhc3N0aHJvdWdoIGNoZWNrIGlzIGluIHRoaXMgZnVuY3Rpb24gaXQgd2lsbCBuZXZlciBiZSBkZWFjdGl2YXRlZC4gRml4IHRoaXMgYnkKCSAgY2hlY2tpbmcgZGlyZWN0bHkgd2hlbmV2ZXIgYSBnYWluIGlzIGNoYW5nZWQuCgkgIEFsc28gc2V0IHRoZSBwYXNzdGhyb3VnaCB0byBUUlVFIGF0IGluaXQgYmVjYXVzZSB0aGUgZ2FpbnMgZGVmYXVsdCB0byAwLCBzbyB3ZQoJICBjYW4gcGFzc3Rocm91Z2ggdW50aWwgYW55IGdhaW4gcHJvcGVydHkgaXMgY2hhbmdlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODA2OAoKMjAxNS0wNC0yMiAxMDozMDo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIElOU1RBTEw6CgkgIFJlbW92ZSBJTlNUQUxMIGZpbGUKCSAgYXV0b3Rvb2xzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgdGhpcywgYW5kIHdoZW4gdXNpbmcgZGlmZmVyZW50IHZlcnNpb25zCgkgIGZvciBhdXRvZ2VuLnNoIHRoZXJlIHdpbGwgYWx3YXlzIGJlIGNoYW5nZXMgdG8gYSBmaWxlIHRyYWNrZWQgYnkgZ2l0LgoKMjAxNS0wNC0yMiAxMDozMDoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIExJQ0VOU0VfcmVhZG1lOgoJICBSZW1vdmUgTElDRU5TRV9yZWFkbWUKCSAgSXQncyBjb21wbGV0ZWx5IG91dGRhdGVkIGFuZCBqdXN0IGNvbmZ1c2luZywgYmV0dGVyIGlmIHBlb3BsZSBhcmUKCSAgZm9yY2VkIHRvIGxvb2sgYXQgdGhlIGFjdHVhbCBjb2RlIGluIHF1ZXN0aW9uIHRoYW4gdHJ1c3RpbmcgdGhpcyBmaWxlLgoKMjAxNS0wNC0yMSAxNToyMTozMyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogY2FzdCB1bnVzZWQgcmV0dXJuIHRvIHZvaWQKCSAgUXVlbGwgdW5jaGVja2VkIHJldHVybiB2YWx1ZSBkZWZlY3QgYnkgY2FzdGluZyB0aGUgcmV0dXJuIHZhbHVlIHRvIHZvaWQgYW5kCgkgIG1ha2luZyBpdCBleHBsaWNpdCBpdCBpcyBnb2luZyB0byBiZSBpZ25vcmVkLgoJICBDSUQgIzIwNjAzMQoKMjAxNS0wNC0xNyAxMzowODowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBvcHRpbWl6ZSB2cHggaW1hZ2UgdG8gZ3N0YnVmZmVyIGNvcHkgd2hlbiBzdHJpZGVzIG1hdGNoCgkgIFNvbHZpbmcgdGhpcyBGSVhNRS4gQ29weSB0aGUgZnVsbCBwbGFuZSB3aGVuIHN0cmlkZXMgYXJlIHRoZSBzYW1lCgoyMDE1LTA0LTE2IDE1OjExOjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvdnB4L2dzdHZwOWRlYy5jOgoJICB2cDlkZWM6IG9wdGltaXplIHZweCBpbWFnZSB0byBnc3RidWZmZXIgY29weSB3aGVuIHN0cmlkZXMgbWF0Y2gKCSAgU29sdmluZyB0aGlzIEZJWE1FLiBDb3B5IHRoZSBmdWxsIHBsYW5lIHdoZW4gc3RyaWRlcyBhcmUgdGhlIHNhbWUKCjIwMTUtMDQtMTcgMTM6MzI6NTQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogZml4IG1lbW9yeSBsZWFrCgoyMDE1LTA0LTE3IDA2OjUxOjQ2ICswMDAwICBBbGV4IE8nS29uc2tpIDxhbGV4YW5kZXJva29uc2tpQGdtYWlsLmNvbT4KCgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJICBpY3lkZW11eDogRml4IHNlZ2ZhdWx0IGlmIG1ldGFkYXRhLWludGVydmFsIGlzIDAKCSAgUHJldmVudHMgYW4gZXh0cmEgdW5yZWYgb2YgR3N0QnVmZmVyIHdoZW4gcGFzc2luZyBhIG5vbi1pY3kgc3RyZWFtIHRocm91Z2gKCSAgaWN5ZGVtdXggd2l0aCBtZXRhZGF0YS1pbnRlcnZhbCBzZXQgdG8gMC4KCSAgUmVwcm9kdWNpYmxlIHdpdGg6CgkgIGdzdC1sYXVuY2gtMS4wIGZpbGVzcmMgbG9jYXRpb249fi90ZXN0c29uZy5tcDMgISBcCgkgICdhcHBsaWNhdGlvbi94LWljeSxtZXRhZGF0YS1pbnRlcnZhbD0oaW50KTAnICEgaWN5ZGVtdXggISBkZWNvZGViaW4gISB3YXZlbmMgISBcCgkgIGZpbGVzaW5rIGxvY2F0aW9uPX4vdGVzdHNvbmcud2F2CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgwMjQKCjIwMTUtMDQtMTcgMTE6NTQ6MjMgKzA1MzAgIFJhdmkgS2lyYW4gSyBOIDxyYXZpLmtpcmFuQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOgoJICBhdWRpb2Z4OiBmaXggdHlwbyBpbiBleGFtcGxlIHBpcGVsaW5lcwoJICBGaXggdHlwbyBpbiBleGFtcGxlIHBpcGVsaW5lcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MDIyCgoyMDE1LTA0LTE1IDE4OjIyOjM3ICswMzAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2hhbC5jOgoJICBvc3hhdWRpbzogZml4IHNwZWxsaW5nIGluIGRlYnVnIG1lc3NhZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvL3Nob3dfYnVnLmNnaT9pZD03NDc5MzYKCjIwMTUtMDQtMTYgMTY6MzM6NDQgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9lcXVhbGl6ZXIvZGVtby5jOgoJICB0ZXN0czogc2VsZWN0YWJsZSBhbW91bnQgb2YgYmFuZHMgaW4gZXF1YWxpemVyIGRlbW8KCSAgQWRkaW5nIGFuIG9wdGlvbiBpbiB0aGUgZXF1YWxpemVyIGRlbW8gdG8gbWFrZSB0aGUgbnVtYmVyIG9mIGJhbmRzIHNlbGVjdGFibGUuCgoyMDE1LTA0LTE2IDE1OjMxOjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlL3J0cHJ0eHNlbmQ6IEFsc28gcGFzcyBjb3JyZWN0IHNlcW51bS1vZmZzZXQgYW5kIHBheWxvYWQgdG8gdGhlIFJUWCBydHBzb3VyY2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzM5NAoKMjAxNS0wNC0wNiAxMjo1Njo1MCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogVHJhY2sgUlRYIHNzcmMgY2FwcwoJICBUaGlzIGlzIG5lZWRlZCBzbyB0aGF0IHdlIGNhbiBnZW5lcmF0ZSBTUiBmb3IgUlRYIHN0cmVhbSBjb3JyZWN0bHkgKHRoZQoJICBjbG9jayByYXRlIGlzIHJlcXVpcmVkKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzM5NAoKMjAxNS0wNC0xNCAxMzo1NjozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSAgcnRwcnR4c2VuZDogQ29weSBvdmVyIHRpbWVzdGFtcHMgZnJvbSB0aGUgb3JpZ25hbCBidWZmZXJzIHRvIHRoZSBSVFggYnVmZmVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3Mzk0CgoyMDE1LTA0LTE2IDE2OjAxOjUwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZXF1YWxpemVyL2RlbW8uYzoKCSAgdGVzdHM6IHN3aXRjaCBlcXVhbGl6ZXIgZGVtbyB0byBwbGF5IGZyb20gdXJpCgkgIFN3aXRjaCB0aGUgZXF1YWxpemVyLW5iYW5kcyBkZW1vIHRvIHVzZSB1cmlkZWNvZGViaW4sIHNvIHVzZXJzIGNhbiBsaXN0ZW4gdG8KCSAgc29tZXRoaW5nIG1vcmUgcGxlYXNhbnQgdGhhbiB3aGl0ZSBub2lzZS4gSWYgYW55Ym9keSBtaXNzZXMgdGhlIHdoaXRlIG5vaXNlCgkgIGEgdXJpIGhhbmRsZXIgdG8gYXVkaW90ZXN0c3JjIGNhbiBiZSB1c2VkLgoKMjAxNS0wNC0xNiAxMToxNzozOCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2VxdWFsaXplci9kZW1vLmM6CgkgIHRlc3RzOiBpbXByb3ZlIHJlYWRhYmlsaXR5IG9mIGVxdWFsaXplciBkZW1vCgkgIFJlbmFtZSB2YXJpYWJsZSBuYW1lIHRvIG1ha2UgaXQgbW9yZSByZWFkYWJsZSwgYWRkIGNvbW1lbnRzIGZvciB0aGUgdGhyZWUKCSAgc2NhbGVzIGNyZWF0ZWQgcGVyIGJsb2NrLCBhbmQgc2V0IHRoZSB3aW5kb3cgdGl0bGUuCgoyMDE1LTA0LTE1IDE3OjMyOjM3ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZXF1YWxpemVyL2RlbW8uYzoKCSAgdGVzdHM6IGFkZCBtaXNzaW5nIGxpY2Vuc2UgaGVhZGVyIGZvciBlcXVhbGl6ZXIgZGVtbwoKMjAxNS0wNC0xNiAxMzowOToxOSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IHRhZyBsaXN0IGxlYWtzIG9uIGVycm9yIHBhdGhzCgoyMDE1LTA0LTE2IDEyOjIzOjM4ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggdGFnIGxpc3QgbGVhayBvbiB1bmtub3duIHN0cmVhbSB0eXBlCgoyMDE1LTA0LTA5IDEzOjE5OjQ5ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2dzdC1wbHVnaW5zLWdvb2Quc3VwcDoKCSAgc3VwcHJlc3Npb25zOiBpZ25vcmUgYW4gYXBwYXJlbnQgYnVnIGluIHN0cnRvZAoJICBBIGJ1ZmZlciBvdmVycmVhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzU1NAoKMjAxNS0wNC0xNSAxMTowNzoyNyArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4c2luazogZG8gbm90IGFjY2VzcyBwcm9wZXJ0eSB2YXJpYWJsZSB3aXRob3V0IHRoZSBvYmplY3QgbG9jaywgdXNlIHRoZSBsb2NhbCBzdGFjayBjb3B5IGluc3RlYWQKCjIwMTUtMDQtMTQgMTg6NDU6NDQgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IGFkZCBwcm9iZSBvbiB0aGUgbXVsdGlxdWV1ZSdzIHNpbmsgcGFkIGluc3RlYWQgb2YgdGhlIGdob3N0IHBhZAoJICBiZWNhdXNlIF9yZWxlYXNlX3BhZCB0cmllcyB0byByZWxlYXNlIGl0IGZyb20gY3R4LT5zaW5rcGFkLCB3aGljaCBpcwoJICBtdWx0aXF1ZXVlJ3Mgc2luayBwYWQsIGFuZCBjdXJyZW50bHkgZmFpbHMgYmVjYXVzZSB0aGUgcHJvYmUgaXMgbm90CgkgIGluc3RhbGxlZCB0aGVyZQoKMjAxNS0wNC0xNCAxOTowODoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHJlY2VpdmUuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJICBydHBydHgqOiBGaXggdHlwb3MKCjIwMTUtMDQtMTQgMTc6MjQ6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IE5vdCBzZW5kaW5nIGVhcmx5IFJUQ1Agbm93IGJlY2F1c2Ugb2YgZGl0aGVyaW5nIG1lYW5zIHdlIHNlbmQgaXQgd2l0aCB0aGUgbmV4dCBjb21wb3VuZCBwYWNrZXQKCjIwMTUtMDQtMTQgMTY6Mjc6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEltcHJvdmUgZGVidWcgb3V0cHV0IGEgYml0IGlmIHdlIGNhbid0IGFsbG93IGVhcmx5IGZlZWRiYWNrCgoyMDE1LTA0LTA3IDE4OjAwOjUzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhkZXBheS5jOgoJICBydHB2cDhkZXBheTogV2hlbiBkcm9wcGluZyBpbnRyYSBwYWNrZXQsIHJlcXVlc3Qga2V5ZnJhbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzIwOAoKMjAxNS0wNC0xMyAyMDoyNTowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IENoYW5nZSByZXN5bmNpbmcgR1NUX1dBUk5JTkcgdG8gR1NUX0lORk8KCSAgVGhpcyBhbHNvIGhhcHBlbnMgaW4gdGhlIHZlcnkgYmVnaW5uaW5nIHdoZW4gd2UgcmVjZWl2ZSB0aGUgZmlyc3QgcGFja2V0LCBhCgkgIHdhcm5pbmcgd291bGQgYmUgdmVyeSBjb25mdXNpbmcgaGVyZS4gSW4gYWxsIHBsYWNlcyB3aGVyZSB3ZSBzaG91bGQgd2FybiBhYm91dAoJICB0aGlzLCB3ZSB3b3VsZCd2ZSBwcmludGVkIGEgd2FybmluZyBhbHJlYWR5IGJlZm9yZS4KCjIwMTUtMDQtMDIgMTM6MjY6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgbXVsdGlmaWxlc2luazogbWlub3IgZG9jcyBpbXByb3ZlbWVudAoKMjAxNC0xMS0wNiAxMjowODowMyArMDEwMCAgTWlndWVsIFBhcsOtcyBEw61heiA8bXBhcmlzZGlhekBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBBZGQgInJ0eC1tYXgtcmV0cmllcyIgcHJvcGVydHkKCSAgVGhpcyBwcm9wZXJ0eSBhbGxvd3MgdG8gbGltaXQgdGhlIG1heGltdW0gbnVtYmVyIG9mIHJldHJhbnNtaXNzaW9uCgkgIGZvciBhIHNwZWNpZmljIHBhY2tldC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTg2OAoKMjAxNC0xMS0wNCAxNTowMDo1MiArMDEwMCAgTWlndWVsIFBhcsOtcyBEw61heiA8bXBhcmlzZGlhekBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBGaXggZXhwZWN0ZWRfZHRzIGNhbGMgaW4gY2FsY3VsYXRlX2V4cGVjdGVkCgkgIFJpZ2h0IGFib3ZlIHdlIGNvbnNpZGVyIGxvc3RfcGFja2V0IHBhY2tldHMsIGVhY2ggb2YgdGhlbSBoYXZpbmcgZHVyYXRpb24sCgkgIGFzIGxvc3QgYW5kIHRyaWdnZXJlZCB0aGVpciB0aW1lcnMgaW1tZWRpYXRlbHkuIEJlbG93IHdlIHVzZSBleHBlY3RlZF9kdHMKCSAgdG8gc2NoZWR1bGUgcmV0cmFuc21pc3Npb24gb3Igc2NoZWR1bGUgbG9zdCB0aW1lcnMgZm9yIHRoZSBwYWNrZXRzIHRoYXQKCSAgY29tZSBhZnRlciBleHBlY3RlZF9kdHMuCgkgIEFzIHdlIGp1c3QgdHJpZ2dlcmVkIGxvc3RfcGFja2V0cyBwYWNrZXRzIGFzIGxvc3QsIHRoZXJlJ3Mgbm8gcG9pbnQgaW4KCSAgc2NoZWR1bGluZyBuZXcgdGltZXJzIGZvciB0aGVtIGFuZCB3ZSBjYW4ganVzdCBza2lwIG92ZXIgYWxsIGxvc3QgcGFja2V0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTg2OAoKMjAxNS0wMy0yMCAxODoyMTo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IE1ha2UgdGhlIG5leHQgb3V0cHV0IGJ1ZmZlciBkaXNjb250IGFmdGVyIHJlc2V0dGluZyB0aGUgaml0dGVyYnVmZmVyCgkgIFJlc2V0dGluZyB0aGUgaml0dGVyYnVmZmVyIGRyb3BzIGFsbCBwYWNrZXRzIGFuZCBvdGhlciB0aGluZ3MsIGFuZCB3aWxsIGNhdXNlCgkgIGEgZGlzY29udGludWl0eSBpbiB0aGUgcGFja2V0cyByZWNlaXZlZCBieSB0aGUgZGVwYXlsb2FkZXJzLiBUaGV5IHNob3VsZCBub3cKCSAgYWxzbyBmbHVzaCBhbnl0aGluZyB0aGV5IGhhZCBwZW5kaW5nIGFzIHRoZSBuZXcgZGF0YSB3aWxsIHN0YXJ0IGF0IGEgZGlmZmVyZW50CgkgIHBvc2l0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5ODY4CgoyMDE1LTA0LTEwIDA5OjE3OjI2ICswOTAwICBIeXVuanVuIEtvIDx6em9vbi5rb0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBVcGRhdGUgc2VnbWVudC5zdGFydCBhZnRlciBrZXktdW5pdCBzZWVrCgkgIFdoZW4gZG9pbmcga2V5IHVpbnQgc2VlaywgcXRkZW11eCBjYWxscyBnc3RfcXRkZW11eF9hZGp1c3Rfc2VlawoJICB0byBnZXQgcHJvcGVyIG9mZnNldC4gQW5kIHRoZW4gdGhpcyBvZmZzZXQgaXMgc2V0IHRvCgkgIHNlZ21lbnQucG9zaXRpb24gYW5kIHNlZ21lbnQudGltZSBpbiBnc3RfcXRkZW11eF9wZXJmb3JtX3NlZWsgYnV0CgkgIHNlZ21lbnQuc3RhcnQgaXMgbm90IHVwZGF0ZWQuCgkgIEFmdGVyIHRoYXQsIGFwcGxpY2F0aW9uIHNlbmRzIHNlZ21lbnQgcXVlcnksCgkgIHF0ZGVtdXggc2V0cyBzdGFydCBhbmQgc3RvcCB0byBxdWVyeSB1c2luZyBnc3Rfc2VnbWVudF90b19zdHJlYW1fdGltZS4gRHVlCgkgIHRvIHRoZSB3cm9uZyB2YWx1ZSBpbiBzZWdtZW50LnN0YXJ0LCB0aGUgc3RvcCBwb3NpdGlvbiBpcyBzbWFsbGVyIHRoYW4KCSAgaXQgc2hvdWxkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2ODIyCgoyMDE1LTA0LTA3IDE2OjEyOjQwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiByZW1vdmUgdXNlbGVzcyB2YXJpYWJsZSBkb19wdHMKCSAgV2UgYWx3YXlzIHdyaXRlIHRoZSBDVFRTIGluIHF0bXV4LiBJZGVhbGx5IHdlIG9ubHkgd2FudCB0byBkbyB0aGF0CgkgIGZvciBzdHJlYW1zIHRoYXQgbmVlZCBEVFMsIGl0IHNob3VsZCBiZSBwcmVzZW50IG9uIHRoZSB0cmFjayBpbmZvcm1hdGlvbgoJICByYXRoZXIgdGhhbiBiZSBkZWNpZGVkIGJhc2VkIG9uIGVhY2ggYnVmZmVyCgoyMDE1LTA0LTA3IDAwOjUzOjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiByZW1vdmUgc3VidHJhY3Rpb24gdGhhdCBtYWtlcyBQVFMvRFRTIHN0YXJ0IGZyb20gMAoJICBBcyBxdCB1c2VzIGR1cmF0aW9ucywgaXQgZG9lc24ndCBtYXR0ZXIsIG9ubHkgdGhlIGRpZmZlcmVuY2UKCSAgYmV0d2VlbiBjb25zZWN1dGl2ZSBidWZmZXJzIGlzIGltcG9ydGFudC4gQWxzbywgY29sbGVjdHBhZHMKCSAgYWxyZWFkeSByZXBsYWNlcyBQVFMvRFRTIHdpdGggdGhlIHJ1bm5pbmcgdGltZXMgZm9yIHRoZW0uCgoyMDE1LTA0LTA2IDIyOjM2OjQzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICB0ZXN0czogcXRtdXg6IGFkZCB0ZXN0cyB0byB2ZXJpZnkgaXQgaGFuZGxlcyBub24tMCBzZWdtZW50cwoJICBCb3RoIGlucHV0IHN0cmVhbXMgaW4gdGhpcyB0ZXN0IGhhdmUgYSBzZWdtZW50LnN0YXJ0ID0gMTBzLCBzbwoJICBvdXRwdXQgc2hvdWxkIHN0YXJ0IGZyb20gMCBhbnl3YXkuCgkgIEFub3RoZXIgdGVzdCBoYXMgYm90aCBzdGFydGluZyBhdCBub24tMCBzZWdtZW50cywgYnV0IHRoZSBydW5uaW5nCgkgIHRpbWUgb2YgYm90aCBzdHJlYW1zIHNob3VsZCBzdGlsbCBzdGFydCBmcm9tIDAKCjIwMTUtMDQtMDYgMjA6MDM6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHRlc3RzOiBxdG11eDogc2ltcGxlIG11eGluZyB0ZXN0CgkgIEFkZHMgYSBuZXcgc2ltcGxlIHRlc3QgdGhhdCB2ZXJpZmllcyB0aGF0IGRhdGEgaXMgcHJvcGVybHkgbXV4ZWQKCSAgYW5kIHByZXNlcnZlZC4gIFBUUywgRFRTLCBkdXJhdGlvbiBhbmQgY2FwcyBhcmUgdmVyaWZpZWQuCgoyMDE1LTA0LTEwIDEwOjU5OjI2ICswNTMwICBSYXZpIEtpcmFuIEsgTiA8cmF2aS5raXJhbkBzYW1zdW5nLmNvbT4KCgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5oOgoJICBzbXB0ZTogcmVtb3ZlIHVudXNlZCBmaWVsZHMKCSAgUmVtb3ZlIHRoZSBmaWVsZHMgLSBmb3JtYXQgYW5kIGZwcyBmcm9tIHNtcHRlCgkgIGFzIHRoZXkgYXJlIHVudXNlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzU5NwoKMjAxNS0wNC0xMCAxMDoyOTo0NyArMDUzMCAgUmF2aSBLaXJhbiBLIE4gPHJhdmkua2lyYW5Ac2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWxwaGEuYzoKCSAgdGVzdHM6IGFkZCB0ZXN0IHN1aXRlIGZvciBhbHBoYQoJICBBZGRlZCB0ZXN0IHN1aXRlIGZvciBhbHBoYSBlbGVtZW50IHdpdGggdGVzdCBjYXNlcwoJICAxLiBhbHBoYQoJICAyLiBjaHJvbWEga2V5aW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc1OTUKCjIwMTUtMDQtMDkgMTI6NTg6NDYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZ3N0LXBsdWdpbnMtZ29vZC5zdXBwOgoJICBzdXBwcmVzc2lvbnM6IGFkZCBhIHdlbGwga25vd24gemxpYiBpbmZsYXRlIGJ1ZwoKMjAxNS0wNC0wOSAxMjo1ODoyNiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IGZpeCBtdXRleCBsZWFrCgoyMDE1LTA0LTA5IDEyOjU4OjA0ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHJ0eC5jOgoJICB0ZXN0czogRml4IHJ0cHJ0eCB0ZXN0IGJ5IGhhbmRsaW5nIGJ1ZmZlciBsaXN0cwoJICBDb21taXQgIzEwMThhYSBtYWRlIHJ0cHJ0eHNlbmQgaGFuZGxlIGJ1ZmZlciBsaXN0cywgYnJlYWtpbmcKCSAgdGhlIHRlc3Qgd2hpY2ggcHJvYmVzIGZvciBidWZmZXJzLCBidXQgbm90IGJ1ZmZlciBsaXN0cy4KCSAgVXNlIGEgdXRpbGl0eSBmdW5jdGlvbiB0byBydW4gdGhlIHByb2JlIGNhbGxiYWNrIG9uIGVhY2ggYnVmZmVyCgkgIGluIHRoZSBsaXN0IGluIHR1cm4gYW5kIHJlbW92ZSBhbnkgYnVmZmVycyB0aGF0IGFyZSBkcm9wcGVkLgoKMjAxNS0wNC0wMSAxMToxNTozOCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguaDoKCSAgaXNvbXA0OiBSZWZhY3RvciB2YXJpb3VzIHN0YXRlIHZhcmlhYmxlcyBpbnRvIGEgbXV4X21vZGUgdmFyCgkgIEluc3RlYWQgb2YgY2hlY2tpbmcgdmFyaW91cyBzdGF0ZSB2YXJpYWJsZXMgYXJvdW5kIHRoZSBtdXhlciwKCSAgdHJhY2sgdGhlIGN1cnJlbnQgbXV4aW5nIG1vZGUgaW4gYSBzaW5nbGUgJ211eF9tb2RlJyBlbnVtLgoJICBBZGQgc29tZSBpbXBsZW1lbnRhdGlvbiBub3RlcyBhYm91dCB0aGUgZGlmZmVyZW50IG11eCBtb2RlcwoKMjAxNS0wNC0wOCAxNjo0MDowMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBVc2UgQU1fVEVTVFNfRU5WSVJPTk1FTlQKCSAgTmVlZGVkIGJ5IHRoZSBuZXcgYXV0b21ha2UgdGVzdCBydW5uZXIKCjIwMTUtMDQtMDggMTE6MTc6MzEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJICBydHBoMjYzZGVwYXk6IEZpeCBmcmFtZXNpemUgcGFyc2luZwoJICBUaGUgc3RyaW5nIHBhc3NlZCB0byB0aGUgcGFyc2luZyBmdW5jdGlvbiBvbmx5IGNvbnRhaW5zIGEgZnJhbWVzaXplLCBhbmQKCSAgbm90IDxwdD4gKyA8ZnJhbWVzaXplPgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2NDE2CgoyMDE1LTAzLTIwIDEyOjE4OjM3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogY2xpcCBjaHVuayBzaXplIGFib3ZlIHRoZSB2YWxpZCBtYXhpbXVtICgweDdmZmZmZmZmKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyNTY3CgoyMDE1LTAzLTIwIDA5OjA3OjM1ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogY2xpcCBjaHVuayBsZW5ndGggdG8gYXZhaWxhYmxlIGRhdGEgKHdoZW4ga25vd24pCgkgIFRoaXMgcHJldmVudHMgc2lsbHkgY2h1bmsgbGVuZ3RocyBmcm9tIHBvc3NpYmx5IG92ZXJmbG93aW5nCgkgIChhdCBsZWFzdCB3aGVuIHdlIGtub3cgdGhlIGFjdHVhbCBkYXRhIGxlbmd0aCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjI1NjcKCjIwMTUtMDQtMDYgMjA6MTc6NTIgLTA3MDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRG9uJ3QgYWNjdW11bGF0ZSBzZWdtZW50IGJhc2VzIG1hbnVhbGx5CgkgIGdzdF9zZWdtZW50X2RvX3NlZWsoKSBkb2VzIHRoYXQgZm9yIHVzIGFscmVhZHksIGFuZCBkb2luZyBpdCB0d2ljZQoJICB3aWxsIGJyZWFrIG5vbi1mbHVzaGluZyBzZWVrcyBpbiBpbnRlcmVzdGluZyB3YXlzLiBMZWZ0b3ZlciBmcm9tIDEuMAoJICBwb3J0aW5nLgoJICBBbHNvIGNvcHkgb3ZlciBzZWdtZW50IG9mZnNldCBhbmQgYXBwbGllZF9yYXRlLCBqdXN0IGluIGNhc2UuCgoyMDE1LTA0LTA2IDE5OjA4OjEwIC0wNzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvaWNsZXMvdGVzdC1zZWdtZW50LXNlZWtzLmM6CgkgIGljbGVzOiBGaXggd2FpdGluZyBmb3Igc2VnbWVudC1kb25lIGlmIGl0IGhhcHBlbnMgdG9vIGZhc3QKCSAgU29tZXRpbWVzIHdlIGNhbiBnZXQgc2VnbWVudC1kb25lIGJlZm9yZSB3ZSBnb3QgYXN5bmMtZG9uZS4gSWYgd2Ugd2FpdGVkCgkgIGZvciBhc3luYy1kb25lIG9ubHksIHRoZSBzZWdtZW50LWRvbmUgd291bGQgYmUgZHJvcHBlZCBhbmQgd2Ugd291bGQgd2FpdAoJICBmb3JldmVyIGZvciBpdCBhIGZldyBsaW5lcyBiZWxvdy4KCjIwMTUtMDQtMDYgMTg6NTU6MDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzdGJsX2luZGV4IGlzIHZhbGlkIGZyb20gMCBvbndhcmRzCgkgIEl0IGluZGljYXRlcyB0aGUgbGFzdCBzYW1wbGUgcGFyc2VkLCBub3QgdGhlIG5leHQgb25lIHRvIHBhcnNlLgoJICBBcyBpdCBzdGFydHMgaW4gLTEsIGFueSB2YWx1ZSBmcm9tIDAgb253YXJkcyBtZWFucyB0aGF0IGl0IGhhcwoJICBzb21lIHZhbGlkIGRhdGEuCgoyMDE1LTA0LTA1IDIwOjA2OjA5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgZG9jczogbWFrZSBHc3RSVENQU3luYyBlbnVtIHNob3cgdXAgaW4gcnRwYmluIGRvY3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzM1OAoKMjAxNS0wNC0wNSAxMTo0NTo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiBhZGQgUlRQSml0dGVyQnVmZmVyTW9kZSBlbnVtIHRvIHJ0cGJpbiBkb2NzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDczNTgKCjIwMTUtMDQtMDQgMTE6NTU6MDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBtdWx0aWZpbGVzaW5rOiBjbG9zZSBmaWxlcyBiZWZvcmUgcG9zdGluZyBtZXNzYWdlCgkgIE1ha2VzIHN1cmUgdGhlIGZpbGVzIHdlcmUgcHJvcGVybHkgZmx1c2hlZCBhbmQgY2xvc2VkIGJlZm9yZQoJICB0aGUgbWVzc2FnZSByZWFjaGVzIHRoZSBhcHBsaWNhdGlvbgoKMjAxNS0wMy0zMCAxMzo1NDoyMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkgIHRlc3RzOiBtdWx0aWZpbGU6IGluY3JlbWVudCB0ZXN0cyB0byBjaGVjayBmb3IgbXVsdGlmaWxlIG1lc3NhZ2VzCgkgIEFsc28gdmVyaWZ5IHRoYXQgdGhlIG11bHRpZmlsZXNpbmsgZmlsZSBtZXNzYWdlcyBhcmUgYmVpbmcgY29ycmVjdGx5CgkgIHBvc3RlZCB0byB0aGUgYnVzCgoyMDE1LTAzLTMwIDEyOjUxOjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzoKCSAgdGVzdHM6IG11bHRpZmlsZTogaGFuZGxlIEZJWE1FIGZvciBwcm9wZXIgY2hlY2tpbmcgd2hlbiB0ZXN0IGZpbmlzaGVkCgkgIFVzZSBhIEdzdEJ1cyBhbmQgd2FpdCBmb3IgRU9TIHRvIGZpbmlzaCB0aGUgdGVzdHMgaW5zdGVhZCBvZgoJICByZWx5aW5nIG9uIHNsZWVwaW5nCgoyMDE1LTAzLTMwIDExOjE0OjA5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgbXVsdGlmaWxlc2luazogcG9zdCBmaWxlIG1lc3NhZ2Ugb24gRU9TCgkgIFdoZW4gbXVsdGlmaWxlc2luayBpcyBvcGVyYXRpbmcgaW4gYW55IG1vZGUgb3RoZXIgdGhhbiBvbmUgZmlsZQoJICBwZXIgYnVmZmVyLCB0aGUgbGFzdCBmaWxlIGNyZWF0ZWQgd29uJ3QgaGF2ZSBhIGZpbGUgbWVzc2FnZSBwb3N0ZWQKCSAgYXMgbXVsdGlmaWxlc2luayBkb2Vzbid0IGhhbmRsZSB0aGUgRU9TIGV2ZW50LgoJICBUaGlzIHBhdGNoIGZpeGVzIGl0IGJ5IHVzaW5nIHRoZSBsYXN0IHBvc2l0aW9uIHRvIHBvc3QgYSBmaWxlCgkgIG1lc3NhZ2Ugd2hlbiBFT1MgaXMgcmVjZWl2ZWQuIFRoaXMgc2hvdWxkIGVuc3VyZSBhdCBsZWFzdCB0aGUKCSAgdGltZSByZWxhdGVkIGRhdGEgYW5kIHRoZSBmaWxlbmFtZSBhcmUgcG9zdGVkIHRvIHRoZSBhcHBsaWNhdGlvbgoJICBvciBvdGhlciBlbGVtZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3MDAwCgoyMDE1LTA0LTAzIDE4OjU3OjUwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogYXV0b2dlbi5zaDoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBiYzc2YThiIHRvIGM4ZmIzNzIKCjIwMTUtMDQtMDMgMDI6MDg6NTAgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEd1YXJkIGFnYWluc3QgNjQtYml0IG92ZXJmbG93CgkgIEZvciBsYXJnZS1maWxlIGF0b21zLCBndWFyZCBhZ2FpbnN0IG92ZXJmbG93IGluIHRoZSBzaXplIGZpZWxkLAoJICB3aGljaCBjb3VsZCBtYWtlIHVzIGp1bXAgYmFja3dhcmQgaW4gdGhlIGZpbGUgYW5kIGNhdXNlCgkgIGluZmluaXRlIGxvb3BzLgoKMjAxNS0wNC0wMSAyMzo0NjoxMyArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgaXNvbXA0OiBNYWtlIG5vbi1zZWVrYWJsZSBkb3duc3RyZWFtIGFuIGVycm9yIGluIG5vcm1hbCBtb2RlCgkgIFdoZW4gbm90IGluIGZhc3Qtc3RhcnQgb3IgZnJhZ21lbnRlZCBtb2RlLCB3ZSBuZWVkIHRvIGJlIGFibGUKCSAgdG8gcmV3cml0ZSB0aGUgc2l6ZSBvZiB0aGUgbWRhdCBhdG9tLCBvciBlbHNlIHRoZSBvdXRwdXQganVzdAoJICB3b24ndCBiZSBwbGF5YWJsZSAtIHRoZSBtZGF0IHBsYWNlaG9sZGVyIHdpdGggc2l6ZSA9PSAwIHdpbGwKCSAgY292ZXIgdGhlIHJlc3Qgb2YgdGhlIGZpbGUsIGluY2x1ZGluZyBhbnkgbW9vdiBhdG9tIHdlIHdyaXRlIG91dC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwODgwOAoKMjAxNC0wMy0xNSAxNToyMzowMSArMDEwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHJ0cGgyNjNwYXkvLWRlcGF5OiBhZGQgZnJhbWVzaXplIFNEUCBhdHRyaWJ1dGUKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjQxNgoKMjAxNC0wMy0xNSAxMzozMzo1NiArMDEwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIHJ0cGpwZWdwYXkvLWRlcGF5OiBSZW1vdmUgaW5jb3JyZWN0bHkgaW50cm9kdWNlZCBmcmFtZXNpemUgU0RQIGF0dHJpYnV0ZQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2NDE1CgoyMDE1LTAzLTI3IDIxOjA5OjQ0ICswMTAwICBQZXRlciBTZWlkZXJlciA8cHMucmVwb3J0QGdteC5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgdjRsMnNyYzogZGV2aWNlIHNlcXVlbmNlL29mZnNldCBjb3JyZWN0aW9uIGluIGNhc2Ugb2YgcmVuZWdvdGlhdGlvbgoJICBUaGUgdjRsMiBkZXZpY2UgcmVzdGFydHMgdGhlIHNlcXVlbmNlIGNvdW50ZXIgaW4gY2FzZSBvZiBzdHJlYW1vZmYvc3RyZWFtb24sCgkgIHRoZSBHU1Qgb2Zmc2V0IHZhbHVlcyBhcmUgc3VwcG9zZWQgdG8gaW5jcmVtZW50IHN0cmljdGx5IG1vbm90b25pYywgc28KCSAgYWRqdXN0IHRoZSBzZXF1ZW5jZSBjb3VudGVyL29mZnNldCB2YWx1ZXMgaW4gY2FzZSBvZiBjYXBzCgkgIHJlbmVnb3RpYXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU0NDEKCjIwMTQtMTEtMTQgMTQ6MTg6NTEgKzAxMDAgIFBldGVyIFNlaWRlcmVyIDxwcy5yZXBvcnRAZ214Lm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogYWRkIGZyYW1lIGxvc3MgZGV0ZWN0aW9uCgkgIEluIGNhc2Ugb2YgdjRsMiBkcml2ZXIgZmlsbGVkIG9mZnNldC9zZXF1ZW5jZSB2YWx1ZXMgYWRkIGZyYW1lCgkgIGxvc3MgZGV0ZWN0aW9uIChhbmQgd3JpdGUgYSB3YXJuaW5nIG1lc3NhZ2UpLgoJICBNb3ZlIG9mZnNldCBtZXRhIGRhdGEgc2V0dGluZyBhbmQgZnJhbWUgbG9zcyBjaGVja2luZyBhZnRlciB0aGUKCSAgdGltZXN0YW1wIGFkanVzdG1lbnQgY29kZSB0byBnZXQgcHJvcGVyIHRpbWVzdGFtcHMgZm9yIHRoZQoJICB3YXJuaW5nIG1lc3NhZ2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU0NDEKCjIwMTQtMTEtMTQgMTM6NDg6NTEgKzAxMDAgIFBldGVyIFNlaWRlcmVyIDxwcy5yZXBvcnRAZ214Lm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogdXNlIHY0bDIgY2FwdHVyZSBkZXZpY2Ugc2VxdWVuY2UgY291bnRlcgoJICBVc2UgdGhlIHY0bDIgY2FwdHVyZSBkZXZpY2Ugc2VxdWVuY2UgY291bnRlciBmb3IKCSAgc2V0dGluZyB0aGUgR3N0QnVmZmVyIG9mZnNldC9vZmZzZXRfZW5kIHZhbHVlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTQ0MQoKMjAxNS0wMy0zMCAxMzoxMjozNSArMDIwMCAgVG9iaWFzIE1vZHNjaGllZGxlciA8dG9iaWFzLm1vZHNjaGllZGxlckBjZXRpdGVjLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogQXNrIHRoZSBkcml2ZXIgYWJvdXQgaXRzIHJlcXVpcmVtZW50cyBmb3IgbWluX2J1ZmZlcnMgYmVmb3JlIGluaXRpYXRpbmcgYnVmZmVyIHBvb2wuCgkgIElmIHByb3Bvc2VfYWxsb2NhdGlvbigpIGhhZCBub3QgYmVlbiBjYWxsZWQgeWV0LCBpdCB3YXMgcG9zc2libGUgdGhhdCB0aGUgZHJpdmVyIHdhcyBub3QgYXNrZWQgYXQgYWxsLgoJICBJbiBidWZmZXIgcG9vbDogQ29uc2lkZXIgbWluaW11bSBudW1iZXIgb2YgYnVmZmVycyByZXF1ZXN0ZWQgYnkgZHJpdmVyIHdoZW4gc2V0dGluZyBjb25maWcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY4MzQKCjIwMTUtMDQtMDEgMTk6MzA6MjcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4ZGVwYXkuaDoKCSAgcnRwdnA4ZGVwYXk6IFBhcnNlIHdpZHRoL2hlaWdodC9wcm9maWxlIGZyb20ga2V5ZnJhbWVzCgkgIFRoaXMgbWFrZXMgaXQgcG9zc2libGUgdG8gbXV4IHRoZSByZXN1bHQgaW50byBhIGNvbnRhaW5lcgoJICBzdWNoIGFzIG1hdHJvc2thLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3MjA4CgoyMDE1LTA0LTAxIDE5OjAxOjQ5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBFeHBvc2UgVlA4IHdpZHRoL2hlaWdodCBsaW1pdGF0aW9ucyBpbiB0aGUgY2FwcyB0ZW1wbGF0ZQoJICBUaGUgVlA4IGZvcm1hdCBzcGVjaWZpY2F0aW9uIChSRkMgNjM4NiBzZWN0aW9uIDE4LjEpIHNwZWNpZmllcwoJICB0aGF0IHRoZSBtYXhpbXVtIHNpemUgaXMgMTYzODN4MTYzODMuCgoyMDE1LTAzLTMxIDAwOjIwOjEzICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2OiBXaGVuIHBhc3Npbmcgc2VlayBldmVudCB1cHN0cmVhbSwgaG9sZCBhIHJlZi4KCSAgSW4gY2FzZSB1cHN0cmVhbSBjYW4ndCBoYW5kbGUgdGhlIHNlZWssIG1ha2Ugc3VyZSB3ZQoJICBrZWVwIGEgcmVmIG9uIHRoZSBldmVudCB0byBhdHRlbXB0IHRvIGhhbmRsZSBpdCBvdXJzZWx2ZXMuCgoyMDE1LTAzLTI2IDEzOjM0OjUzICswMTAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYTogZml4IEdWYWx1ZSBsZWFrcyB3aGVuIHBhcnNpbmcgdGFncwoJICBnc3RfdGFnX2xpc3RfYWRkX3ZhbHVlKCkgZG9lc24ndCBjb25zdW1lIHRoZSBHVmFsdWUgd2UgcGFzcyB0byBpdCBzbyB0aGVyZSBpcwoJICBubyBwb2ludCBjb3B5aW5nIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2ODEwCgoyMDE1LTAzLTIzIDIwOjU4OjI1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmVzdXJyZWN0IHNvbWUgZmxvdyByZXR1cm4gaGFuZGxpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDU3MgoKMjAxNS0wMy0yMyAyMDo1Nzo1NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogcmVzdXJyZWN0IHNvbWUgZmxvdyByZXR1cm4gaGFuZGxpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDU3MgoKMjAxNS0wMy0yMyAyMDo1Njo0MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHJlc3VycmVjdCBzb21lIGZsb3cgcmV0dXJuIGhhbmRsaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ1NzIKCjIwMTUtMDMtMjcgMTg6NTg6MzEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thOiBzdG9yZSBzdHJlYW0gdGFncyBhbmQgcHVzaCBhcyB1cGRhdGVkCgkgIE5ldyB0YWdzIGNhbiBiZSBmb3VuZCBvbiBkaWZmZXJlbnQgcGFydHMgb2YgdGhlIGZpbGUsIHNvIHRoaXMgcGF0Y2gKCSAga2VlcHMgdGhlIHN0cmVhbSB0YWdsaXN0cyBhcm91bmQgZm9yIHRoZSBsaWZlIGN5Y2xlIG9mIHRoZSBwYWQKCSAgYW5kIGFkZHMgdGhvc2UgbmV3IHRhZ3MgYXMgZm91bmQuIFRoZW4gYSBuZXcgdGFnIGlzIGZvdW5kLCB0aGUKCSAgcGFkJ3MgaXMgbWFya2VkIHdpdGggYSB0YWdzIGNoYW5nZWQgZmxhZywgbWFraW5nIHRoZSBlbGVtZW50IHB1c2gKCSAgYSBuZXcgdGFnIGV2ZW50IG9uIHRoZSBuZXh0IGNoZWNrLiBCZWZvcmUgdGhpcywgd2Ugd2VyZSBzZW5kaW5nCgkgIG9ubHkgdGhlIG5ld2x5IGZvdW5kIHRhZ3MsIGFzIHRoZSBlbGVtZW50IHdhcyBsb3NpbmcgaXRzIHRhZ2xpc3QKCSAgd2hlbiBwdXNoaW5nIHRoZSBldmVudC4KCjIwMTUtMDMtMTUgMTQ6NDA6MzYgKzAxMDAgIFJhbWlybyBQb2xsYSA8cmFtaXJvLnBvbGxhQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBzZW5kIGdsb2JhbCB0YWdzIGluY3JlbWVudGFsbHkKCSAgSW5zdGVhZCBvZiBzZW5kaW5nIG9ubHkgbmV3IHRhZ3Mgb25jZSB0aGV5IGFyZSBmb3VuZCwgbWVyZ2UgdGhlIHRhZ2xpc3QKCSAgYW5kIHNlbmQgdGhlbSBpbmNyZW1lbnRhbGx5LgoKMjAxNS0wMy0xNCAxNzowNzowNSArMDEwMCAgUmFtaXJvIFBvbGxhIDxyYW1pcm8ucG9sbGFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2FwYXJzZTogc2VuZCBnbG9iYWwgdGFncwoJICBHbG9iYWwgdGFncyBhcmUgYWxyZWFkeSBiZWluZyByZWFkIGluIG1hdHJvc2thcGFyc2UsIGJ1dCB0aGV5IGFyZSBub3QKCSAgY3VycmVudGx5IGJlaW5nIHNlbnQuCgkgIFRoaXMgcGF0Y2ggbWFrZXMgZ2xvYmFsIHRhZ3MgZ2V0IHNlbnQgaW5jcmVtZW50YWxseSB3aGVuZXZlciBuZXcgb25lcwoJICBhcmUgZm91bmQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYyNDIKCjIwMTUtMDItMDMgMTA6MTg6NTggKzA1MzAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSAgcXVhcmt0djogZml4ICJwbGFuZXMiIHByb3BlcnR5IHJhbmdlLCBhIHZhbHVlIG9mIDAgaXMgbm90IGFsbG93ZWQKCSAgV2hlbiBwbGFuZXMgcHJvcGVydHkgaXMgc2V0IHRvIDAsIHRoZSBwaXBlbGluZSBleGVjdXRlcyBpbgoJICBhbiBpbmZpbml0ZSBsb29wIGFuZCBuZXZlciBleGl0cy4gU2luY2UgcGxhbmVzIG11c3QgbmV2ZXIKCSAgYmUgMCwgc2V0IHRoZSBtaW5pbXVtIHZhbHVlIGluIHRoZSBwcm9wZXJ0eSBkZXNjcmlwdGlvbgoJICB0byAxLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzOTA2CgoyMDE1LTAzLTI2IDEzOjQyOjAyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogRml4IHVwIGNvbW1lbnRzIHJlZ2FyZGluZyBEVFMKCjIwMTUtMDMtMjUgMTU6MTE6MzQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBGaXggc2VnbWVudCBpbiBUQ1AgbW9kZQoJICBJdCBpcyBleHBlY3RlZCB0aGF0IGJ1ZmZlcnMgYXJlIHRpbWUtc3RhbXBlZCB3aXRoIHJ1bm5pbmcgdGltZS4gU2V0CgkgIGEgc2VnbWVudCBhY2NvcmRpbmdseS4gSW4gdGhpcyBjYXNlIHdlIHBpY2sgMCwtMSBhcyB0aGlzIGlzIHdoYXQgdWRwc3JjCgkgIHdvdWxkIGRvLiBEZXBheWxvYWRlcnMgd2lsbCB1cGRhdGUgdGhlIHNlZ21lbnQgdG8gcmVmbGVjdCB0aGUgcGxheWJhY2sKCSAgcG9zaXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzU3MDEKCjIwMTUtMDMtMjYgMTI6MjE6MjUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBiZSBtb3JlIHN0cmljdCBhYm91dCB0eXBlZmluZGluZyBEVFMKCSAgQ29kZSBub3cgbWF0Y2hlcyBjb21tZW50cy4KCjIwMTUtMDMtMjUgMTU6MTA6NTMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogUmVtb3ZlIHVzZWxlc3MgZnVuY3Rpb24KCSAgVGhpcyBmdW5jdGlvbiBkaWRuJ3QgZG8gYW55dGhpbmcgc3BlY2lhbCwgbGV0J3Mgbm90IHVzZSBhIGZ1bmN0aW9uIGZvcgoJICB0aGF0LgoKMjAxNS0wMy0yMCAxMzowMzowOSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcjogQWNjb3VudCBmb3IgcnR4X3JldHJ5IGluIG92ZXJmbG93IGNoZWNrCgkgIEFzIHJ0eF9yZXRyeSBpcyBwYXJ0IG9mIHRoZSBzdWJzdHJhY3Rpb24sIHdlIG5lZWQgdG8gdGFrZSBpdCBpbnRvCgkgIGFjY291bnQsIG90aGVyd2lzZSB3ZSBtYXkgZW5kdXAgd2l0aCBhIGJpZyB2YWx1ZS4KCjIwMTUtMDMtMjQgMjM6MTU6MTUgKzAwMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkgIG9zeHZpZGVvc2luazogY2hlY2sgZm9yIGRlcHJlY2F0ZWQgY29uc3RhbnRzIHByaW9yIHRvIE9TWCAxMC4xMAoJICBjb2NvYXdpbmRvdy5tOjMzOTo1OiBlcnJvcjogJ05TT3BlbkdMUEZBV2luZG93JwoJICBpcyBkZXByZWNhdGVkOiBmaXJzdCBkZXByZWNhdGVkIGluIE9TIFggMTAuOQoJICBjb2NvYXdpbmRvdy5tOjU3Njo3OiBlcnJvcjogJ05TT3BlbkdMUEZBRnVsbFNjcmVlbicKCSAgaXMgZGVwcmVjYXRlZDogZmlyc3QgZGVwcmVjYXRlZCBpbiBPUyBYIDEwLjYKCSAgY29jb2F3aW5kb3cubTo2MDU6MjQ6IGVycm9yOiAnc2V0RnVsbFNjcmVlbicKCSAgaXMgZGVwcmVjYXRlZDogZmlyc3QgZGVwcmVjYXRlZCBpbiBPUyBYIDEwLjcKCjIwMTUtMDMtMjQgMTY6NTE6MTIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBGaXggc2Vla2luZyBxdWVyeQoJICBUaGUgc2VnbWVudCBzdGFydC9zdG9wIGluIHRoZSBxdWVyeSBpcyBtZWFudCB0byByZXByZXNlbnQgdGhlIHNlZWthYmxlCgkgIHBvcnRpb24gb2YgdGhlIHN0cmVhbS4gSXQgZG9lcyBub3QgbWF0Y2ggdGhlIHNlZ21lbnQgc3RhcnQvc3RvcC4gSW5zdGVhZAoJICBleHBvcnQgMCB0byBkdXJhdGlvbi4KCjIwMTUtMDMtMjQgMTY6MTg6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBPbmx5IHNldCBjYXBzIG9uY2UgaWYgdGhleSBkb24ndCBjaGFuZ2UKCSAgUHJldmlvdXNseSB3ZSB3ZXJlIHNldHRpbmcgbmV3IGNhcHMgd2l0aCB0aGUgc2FtZSBjb250ZW50IGZvciBldmVyeSBIMjY0IG9yCgkgIEFBQyBjb2RlY19kYXRhIHdlIGZvdW5kIGluIHRoZSBzdHJlYW0sIHNwYW1taW5nIGV2ZXJ5dGhpbmcgYW5kIGNhdXNpbmcKCSAgcmVuZWdvdGlhdGlvbnMuCgoyMDE1LTAzLTI0IDEyOjQ2OjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogRG9uJ3QgY3JlYXRlIEFBQy9IMjY0IGNhcHMgd2l0aG91dCBjb2RlY19kYXRhCgkgIEluc3RlYWQgZGVsYXkgY3JlYXRpbmcgdGhlIGNhcHMgdW50aWwgd2UgcmVhZCB0aGUgY29kZWNfZGF0YSBmcm9tIHRoZSBzdHJlYW0sCgkgIG9yIGZhaWwgaWYgd2UgZ2V0IG5vcm1hbCBkYXRhIGJlZm9yZSB0aGUgY29kZWNfZGF0YS4KCSAgQUFDIHJhdyBjYXBzIGFuZCBIMjY0IGF2YyBjYXBzIGFsd2F5cyBuZWVkIGNvZGVjX2RhdGEsIHNldHRpbmcgY2FwcyBvbiB0aGUgcGFkCgkgIHdpdGhvdXQgdGhlbSBpcyBnb2luZyB0byBtYWtlIG5lZ290aWF0aW9uIGZhaWwgbW9zdCBvZiB0aGUgdGltZS4gRXZlbiBpZiB3ZQoJICBsYXRlciBzZXQgbmV3IGNhcHMgd2l0aCB0aGUgY29kZWNfZGF0YSwgdGhhdCdzIHVzdWFsbHkgZ29pbmcgdG8gYmUgdG9vIGxhdGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY2ODIKCjIwMTUtMDMtMjQgMTU6Mzk6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBGaXggaW5kZW50aW9uCgoyMDE1LTAzLTIyIDEzOjIzOjQ0ICswMjAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5oOgoJICBvc3hhdWRpbzogRml4IHN0cmluZyBmb3JtYXQgd2FybmluZyBvbiAzMi1iaXQKCSAgVUludDMyIChEYXJ3aW4sIG5vdCBDOTkncyB1aW50MzJfdCkgaXMgJ3Vuc2lnbmVkIGxvbmcnIG9uIDMyLWJpdAoJICBwbGF0Zm9ybXMuCgoyMDE1LTAzLTIxIDE3OjUwOjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBGaXggYW5vdGhlciBpbnN0YW5jZSBvZiBzdGlja3kgZXZlbnQgbWlzb3JkZXJpbmcgd2FybmluZ3MKCSAgTWFrZSBzdXJlIHRoYXQgdGhlIHN5bmNfc3JjIHBhZCBoYXMgY2FwcyBiZWZvcmUgdGhlIHNlZ21lbnQgZXZlbnQuCgkgIE90aGVyd2lzZSB3ZSBtaWdodCBnZXQgYSBzZWdtZW50IGV2ZW50IGJlZm9yZSBjYXBzIGZyb20gdGhlIHJlY2VpdmUKCSAgUlRDUCBwYWQsIGFuZCB0aGVuIGxhdGVyIHdoZW4gcmVjZWl2aW5nIFJUQ1AgcGFja2V0cyB3aWxsIHNldCBjYXBzLgoJICBUaGlzIHdpbGwgcmVzdWx0cyBpbiBhIHN0aWNreSBldmVudCBtaXNvcmRlcmluZyB3YXJuaW5nCgkgIFRoaXMgZml4ZXMgd2FybmluZ3MgaW4gdGhlIHJ0cGF1eCB1bml0IHRlc3QgYnV0IGFsc28gaW4gdGhlCgkgIHJ0cGF1eCBhbmQgcnR4IGV4YW1wbGVzIGluIHRlc3RzL2V4YW1wbGVzL3J0cAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2NDQ1CgoyMDE1LTAzLTIxIDE3OjE4OjQ3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBBbHNvIHN0YXJ0IHRoZSBSVENQIHNlbmQgdGhyZWFkIHdoZW4gcmVjZWl2aW5nIFJUUCBvciBSVENQCgkgIEJlZm9yZSB3ZSBvbmx5IHN0YXJ0ZWQgaXQgd2hlbiBlaXRoZXI6CgkgIC0gdGhlcmUgaXMgbm8gc2VuZCBSVFAgc3RyZWFtCgkgIG9yCgkgIC0gd2UgcmVjZWl2ZWQgYW4gUlRQIHBhY2tldCBmb3Igc2VuZGluZwoJICBUaGlzIGNvdWxkIG1lYW4gdGhhdCBpZiB0aGUgc2VuZCBSVFAgcGFkcyBhcmUgY29ubmVjdGVkIGJ1dCBuZXZlciByZWNlaXZlIGFueQoJICBSVFAgZGF0YSwgYW5kIHRoZSBzYW1lIHNlc3Npb24gaXMgYWxzbyB1c2VkIGZvciByZWNlaXZpbmcgUlRQL1JUQ1AsIHdlIHdvdWxkCgkgIG5ldmVyIHN0YXJ0IHRoZSBSVENQIHRocmVhZCBhbmQgd291bGQgbmV2ZXIgc2VuZCBSVENQIGZvciB0aGUgcmVjZWl2aW5nIHBhcnQKCSAgb2YgdGhlIHNlc3Npb24uCgkgIFRoaXMgY2FuIGJlIHJlcHJvZHVjZWQgd2l0aCBhIHBpcGVsaW5lIGxpa2U6CgkgIGdzdC1sYXVuY2gtMS4wIHJ0cGJpbiBuYW1lPXJ0cGJpbiBcCgkgIHVkcHNyYyBwb3J0PTUwMDAgISAiYXBwbGljYXRpb24veC1ydHAsIG1lZGlhPXZpZGVvLCBjbG9jay1yYXRlPTkwMDAwLCBlbmNvZGluZy1uYW1lPUgyNjQiICEgcnRwYmluLnJlY3ZfcnRwX3NpbmtfMCBcCgkgIHVkcHNyYyBwb3J0PTUwMDEgISBydHBiaW4ucmVjdl9ydGNwX3NpbmtfMCBcCgkgIHJ0cGJpbi5zZW5kX3J0Y3Bfc3JjXzAgISBmYWtlc2luayBuYW1lPXJ0Y3BfZmFrZXNpbmsgc2lsZW50PWZhbHNlIGFzeW5jPWZhbHNlIHN5bmM9ZmFsc2UgXAoJICBydHBiaW4ucmVjdl9ydHBfc3JjXzBfMjU1MzIyNTUzMV85NiAhIGRlY29kZWJpbiAhIHh2aW1hZ2VzaW5rIFwKCSAgZmFrZXNyYyAhIHZhbHZlIGRyb3A9dHJ1ZSAhIHJ0cGJpbi5zZW5kX3J0cF9zaW5rXzAgXAoJICBydHBiaW4uc2VuZF9ydHBfc3JjXzAgISBmYWtlc2luayBuYW1lPXJ0cF9mYWtlc2luayBzaWxlbnQ9ZmFsc2UgYXN5bmM9ZmFsc2Ugc3luYz1mYWxzZSAtdgoJICBCZWZvcmUgdGhpcyBjaGFuZ2UgdGhlIHJ0Y3BfZmFrZXNpbmsgd291bGQgbmV2ZXIgc2VuZCBSVENQIGZvciB0aGUgcmVjZWl2aW5nCgkgIHBhcnQgb2YgdGhlIHNlc3Npb24gKGkuZS4gbm8gcmVjZWl2ZXIgcmVwb3J0cyEpLCBhZnRlciB0aGUgY2hhbmdlIGl0IGRvZXMuCgkgIEFuZCBiZWZvcmUgYW5kIGFmdGVyIHRoaXMgY2hhbmdlIGl0IHdvdWxkIHNlbmQgUlRDUCBmb3IgdGhlIHJlY2VpdmluZyBwYXJ0IG9mCgkgIHRoZSBzZXNzaW9uIGlmIHRoZSBzZW5kZXIgcGFydCB3YXMgb21pdHRlZCAodGhlIGxhc3QgdHdvIGxpbmVzKS4KCjIwMTUtMDMtMTkgMTE6NTQ6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkgIHJ0cHJ0eHNlbmQ6IEFkZCBzdXBwb3J0IGZvciBidWZmZXIgbGlzdHMKCjIwMTUtMDMtMTkgMTE6Mzk6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhxdWV1ZS5jOgoJICBydHBydHhxdWV1ZTogSW1wbGVtZW50IHN1cHBvcnQgZm9yIGJ1ZmZlciBsaXN0cwoKMjAxNS0wMy0xOCAxNzozMjozNiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBJbXByb3ZlIHRyYWNlIHJlYWRhYmlsaXR5CgkgIENoYW5nZSB0aGUgY29tbWFuZCBudW1iZXIgaW50byBzdHJpbmdzLgoKMjAxNS0wMS0yMCAxMDoxODo1NiArMDEwMCAgSmFuIEFsZXhhbmRlciBTdGVmZmVucyAoaGVmdGlnKSA8anN0ZWZmZW5zQG1ha2UudHY+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgZmx2ZGVtdXg6IERvbid0IHJlcGVhdGVkbHkgd2FybiBhZnRlciBub19tb3JlX3BhZHMgKHYyKQoJICBUaGlzIGNhbiBnZXQgcmF0aGVyIHNwYW1teSBmb3Igc3VjaCBhIGhpZ2ggbG9nIGxldmVsLgoJICBPbmx5IHdhcm4gb25jZSBwZXIgc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2Mjc0CgoyMDE1LTAzLTE2IDExOjIzOjUyICswMTAwICBKYW4gQWxleGFuZGVyIFN0ZWZmZW5zIChoZWZ0aWcpIDxqc3RlZmZlbnNAbWFrZS50dj4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IEludHJvZHVjZSBjb25zdGFudCBmb3Igbm8tbW9yZS1wYWRzIHRocmVzaG9sZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2Mjc0CgoyMDE1LTAxLTIwIDEwOjE4OjI5ICswMTAwICBKYW4gQWxleGFuZGVyIFN0ZWZmZW5zIChoZWZ0aWcpIDxqc3RlZmZlbnNAbWFrZS50dj4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IEZpeCB3YXJuaW5nIHRvIGNvbnRhaW4gJ3ZpZGVvJwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2Mjc0CgoyMDE1LTAzLTExIDIxOjI1OjQwICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIG1hdHJvc2thZGVtdXg6IGZvciBkdHMgb25seSBzdHJlYW0gc2V0IHB0cz1kdHMgZm9yIGludHJhIG9ubHkgZm9ybWF0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTkyCgoyMDE1LTAzLTE0IDE2OjM5OjA5ICswMTAwICBSYW1pcm8gUG9sbGEgPHJhbWlyby5wb2xsYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thZGVtdXg6IGZpeCBzZW5kaW5nIG9mIHRhZ3MKCSAgKiBGaXggY3JpdGljYWwgd2hlbiBuZXcgdGFncyBhcmUgZm91bmQgYWZ0ZXIgc2VnbWVudCBldmVudCBoYXMgYWxyZWFkeQoJICBiZWVuIHNlbnQuCgkgICogU2VuZCBnbG9iYWwgdGFncyBiZWZvcmUgc3RyZWFtIHRhZ3MuCgkgICogU3BsaXQgc2VuZGluZyBvZiB0YWdzIG91dCBvZiBnc3RfbWF0cm9za2FfZGVtdXhfc2VuZF9ldmVudCgpIGludG8gaXRzCgkgIG93biBmdW5jdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTk3MwoKMjAxNS0wMy0xMyAxODoyNjowNiArMDAwMCAgUmFtaXJvIFBvbGxhIDxyYW1pcm8ucG9sbGFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBwcm9wZXJseSBlc2NhcGUgcGVyY2VudCBzaWduIGluIGRvY3VtZW50YXRpb24KCjIwMTUtMDMtMTMgMTg6MjY6NDQgKzAwMDAgIFJhbWlybyBQb2xsYSA8cmFtaXJvLnBvbGxhQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwZHRtZm11eDogcHJvcGVybHkgZXNjYXBlIHBlcmNlbnQgc2lnbiBpbiBkb2N1bWVudGF0aW9uCgoyMDE1LTAzLTEzIDE4OjQ4OjAzICswMDAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgdjRsMnNyYzogZGVsYXkgcmVuZWdvdGlhdGlvbiB1bnRpbCBpdCBpcyBsaWtlbHkgYnVmZmVycyB3ZXJlIHJlY2xhaW1lZAoJICBBbGxvdyByZW5lZ290aWF0aW9uIHRvIGhhcHBlbiB3aGVuIGJ1ZmZlcnMgaGF2ZSByZXR1cm5lZCBhZnRlciBhbiBhbGxvY2F0aW9uCgkgIHF1ZXJ5LiBBcyB0aGUgYWxsb2NhdGlvbiBxdWVyeSBpcyBzZXJpYWxpemVkLCBhbGwgYnVmZmVycyBmcm9tIHRoZSBwb29sCgkgIHNob3VsZCBoYXZlIHJldHVybmVkIGFuZCB3ZSBjYW4gc3RvcCBpdCB0byBjcmVhdGUgYSBuZXcgb25lIGZvciB0aGUKCSAgbmV3IGZvcm1hdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgyNzcwCgoyMDE1LTAzLTEzIDE4OjQ3OjU1ICswMDAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMm9iamVjdDogYWRkIGdzdF92NGwyX29iamVjdF90cnlfZm9ybWF0CgkgIFNpbWlsYXIgdG8gc2V0X2Zvcm1hdCBidXQgaXQgdXNlcyBUUllfRk1UIGluc3RlYWQgb2YgU19GTVQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4Mjc3MAoKMjAxNS0wMy0xMyAxODozODo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazogZml4IGNyYXNoIHdpdGggR1NUX0RFQlVHIGVuYWJsZWQKCSAgZ19pbmV0X3NvY2tldF9hZGRyZXNzX2dldF9hZGRyZXNzKCkgZG9lcyBub3QgZ2l2ZQoJICB1cyBhIHJlZiB0byB0aGUgYWRkcmVzcywgc28gZG9uJ3QgdW5yZWYgaXQuCgoyMDE1LTAzLTEyIDEzOjQ5OjU2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIGxldmVsOiBEb24ndCByZWFkIG92ZXIgdGhlIGVuZCBvZiB0aGUgaW5wdXQgbWVtb3J5CgkgIFByZXZpb3VzbHkgd2UgYWR2YW5jZWQgdGhlIGluX2RhdGEgcG9pbnRlciBieSBicHMgZm9yIGV2ZXJ5IGNoYW5uZWwsIGFuZCB0aGVuCgkgIGxhdGVyIGFnYWluIGZvciBibG9ja19zaXplKmJwcy4gVGhpcyBjYXVzZWQgdXMgdG8gYmUgb25lIHNhbXBsZSBmdXJ0aGVyIHRoYW4KCSAgZXhwZWN0ZWQgaWYgYW4gaW5wdXQgYnVmZmVyIGNvdmVyZWQgdHdvIGFuYWx5c2lzIGZyYW1lcy4gQW5kIGluIHRoZSBlbmQgbGVhZAoJICB0byBjb21wbGV0ZWx5IGJvZ3VzIHZhbHVlcyByZXBvcnRlZCBieSBsZXZlbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjA2NQoKMjAxNS0wMy0xMiAwMTozNzowOCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3NzL2dzdG9zc2RtYWJ1ZmZlci5jOgoJICBSZW1vdmUgYSBjb3VwbGUgb2Ygc3VwZXJmbHVvdXMgdHJhaWxpbmcgc2VtaS1jb2xvbnMKCjIwMTUtMDMtMTAgMDk6MzE6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RwdXNoZmlsZXNyYy5jOgoJKiBnc3QvaXNvbXA0L2dzdGlzb2ZmLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvY29tbW9uLmM6CgkgIEZpeCBkb3VibGUgc2VtaWNvbG9ucwoKMjAxNS0wMy0xMCAxNTo0Njo0MCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c3JjLmM6CgkgIHNwbGl0bXV4OiBTaHV0IGRvd24gZWxlbWVudCBiZWZvcmUgZG93bndhcmQgc3RhdGUgY2hhbmdlCgkgIE1ha2Ugc3VyZSB0aGUgc3RhdGUgY2hhbmdlIHdvbid0IGhhbmcgdHJ5aW5nIHRvIHNodXQgZG93biBwYWRzCgkgIGJ5IG1ha2luZyBzdXJlIHRoZSBzdHJlYW1pbmcgaGFzIHN0b3BwZWQgYmVmb3JlIGNoYWluaW5nIHVwLgoKMjAxNS0wMy0wOSAyMjo1ODowNSArMDIwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uaDoKCSAgb3N4YXVkaW86IHN0cmVhbSBmb3JtYXQgaXMgYW4gU1BESUYtb25seSBmaWVsZAoKMjAxNS0wMy0wOSAyMjo1Mzo0MSArMDIwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5oOgoJICBvc3hhdWRpbzogZml4IHNwYWNlcwoKMjAxNS0wMy0wOSAyMjo1Mjo0NiArMDIwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5oOgoJICBvc3hhdWRpbzogYWRkIHR5cGUgY2hlY2sgbWFjcm8KCjIwMTUtMDMtMDkgMjI6NTE6NTEgKzAyMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvY29tbW9uLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9jb21tb24uaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2hhbC5jOgoJICBvc3hhdWRpbzogcmVuYW1lIGdzdF9jb3JlX2F1ZGlvX3NldF9jaGFubmVsc19sYXlvdXQoKQoJICB0byBnc3RfY29yZV9hdWRpb19nZXRfY2hhbm5lbF9sYXlvdXQoKS4KCjIwMTUtMDMtMDkgMjI6MzA6MjggKzAyMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9yaW5nYnVmZmVyLmM6CgkgIG9zeGF1ZGlvOiByZW1vdmUgdW51c2VkIGZpbmFsaXplCgoyMDE1LTAzLTA5IDE2OjI1OjQzICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZXh0L3ZweC9nc3R2cDllbmMuYzoKCSAgdnA5ZW5jOiByZW1vdmUgZHVwbGljYXRlIGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uCgoyMDE1LTAzLTA5IDE2OjIyOjI5ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiByZW1vdmUgdW51c2VkIHZhbHVlCgkgIENJRCAjMTIyNjQ3NAoKMjAxNS0wMy0wOSAxNjoxNDozNCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICBydHBoMjYzcGF5OiBmaXggbGVhawoJICBDSUQgMTIxMjE1NgoKMjAxNS0wMy0wOSAxNTo1ODozMyArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICBydHBoMjYzcGF5OiByZW1vdmUgdW5lZWRlZCB2YXJpYWJsZQoJICBXZSBqdXN0IG5lZWQgdG8gc2F2ZSB0aGUgZWJpdCBpbmZvcm1hdGlvbiBpbiBjYXNlIHRoZXJlIGlzIGFuIGVycm9yIGRlY29kaW5nLgoKMjAxNS0wMy0wOSAxNjo0NjowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cHgvZ3N0dnA5ZW5jLmM6CgkgIHZwWzg5XWVuYzogUmVzZXQgdGhlIGVuY29kZXIgd2hlbiBmbHVzaGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NzA0CgoyMDE1LTAzLTA5IDEyOjUxOjE3ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkgIG1hdHJvc2thOiBlcnJvciBtb2RlIGlmIGNhbid0IHB1c2ggYnVmZmVyCgkgIElmIGdzdF9wYWRfcHVzaCgpIGZhaWxzLCBpbmZvcm0gYW5kIHJldHVybiBmbG93IGVycm9yLgoKMjAxNS0wMy0wOSAxMjoxMzozNCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJICBtYXRyb3NrYTogdW51c2VkIHZhbHVlCgkgIFZhbHVlIHNldCBpbiByZXQgd2lsbCBiZSBvdmVyd3JpdHRlbiBqdXN0IGJlZm9yZSBleGl0aW5nIHRoZSBmdW5jdGlvbi4KCSAgQ0lEICMxMjI2NDY5CgoyMDE1LTAzLTA5IDExOjEwOjM1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogRHJvcCBwYWNrZXRzIHdpdGggc2VxdWVuY2UgbnVtYmVycyBiZWZvcmUgdGhlIHNlcW51bS1iYXNlCgkgIFRoZXNlIGFyZSBvdXRzaWRlIHRoZSBleHBlY3RlZCByYW5nZSBvZiBzZXF1ZW5jZSBudW1iZXJzIGFuZCBzaG91bGQgYmUKCSAgY2xpcHBlZCwgZXNwZWNpYWxseSBmb3IgUlRTUCB0aGV5IG1pZ2h0IGJlbG9uZyB0byBwYWNrZXRzIGZyb20gYmVmb3JlIGEgc2VlawoJICBvciBhIHByZXZpb3VzIHN0cmVhbSBpbiBnZW5lcmFsLgoKMjAxNC0wMi0yNyAxMDo1MjoxNiArMDEwMCAgTGludXMgU3ZlbnNzb24gPGxpbnVzc25AYXhpcy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IERvbid0IGluY2x1ZGUgcGF5bG9hZCB0eXBlIGluIHRoZSBjYXBzIGZvciBmcmFtZXNpemUKCSAgV2hlbiB0aGUgc2RwIG1lZGlhIGF0dHJpYnV0ZSBmcmFtZXNpemUgYXJlIGNvbnZlcnRlZCB0byBjYXBzCgkgIHRoZSA8cGF5bG9hZD4gc2hvdWxkIG5vdCBiZSBpbmNsdWRlZC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTMzNQoKMjAxNS0wMy0wOSAxMDowNToxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IERvbid0IGZvcmdldCB0byB1bmxvY2sgdGhlIG11dGV4IHdoZW4gcmVjZWl2aW5nIEdBUHMgaW4gVENQIHN0cmVhbXMKCjIwMTUtMDMtMDkgMTE6MjQ6NTggKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IE1ha2Ugc3VyZSB0byBmaWx0ZXIgY2FwcyBpbiBhbGwgY2FzZXMgZHVyaW5nIENBUFMgcXVlcnkKCSAgV2Ugd2VyZSBza2lwcGluZyB0aGUgZmlsdGVyIHN0ZXAgd2hpbGUgcmV0dXJuaW5nIHRlbXBsYXRlIGNhcHMsIGZvcgoJICBleGFtcGxlLgoKMjAxNS0wMy0wOCAyMToxNTo1MyArMDAwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IERvbid0IHVwZGF0ZSBidWZmZXIgZm9yIE9VVFBVVAoJICBGb3Igb3V0cHV0IGRldmljZSwgd2Ugc2hvdWxkIG5vdCB1cGRhdGUgdGhlIGJ1ZmZlciB3aXRoIGZsYWdzIGFuZAoJICB0aW1lc3RhbXAgd2hlbiB3ZSBkZXF1ZXVlLiBUaGUgaW5mb3JtYXRpb24gaW4gdGhlIHY0bDJfYnVmZmVyIGlzIG5vdAoJICBtZWFuaW5nZnVsIGFuZCBpdCBicmVha3MgdGhlIGNhc2Ugd2hlcmUgdGhlIGJ1ZmZlciBpcyByZW5kZXJlZCBhdAoJICBtdWx0aXBsZSBwbGFjZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU0MzgKCjIwMTUtMDMtMDggMTg6MDQ6MzQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSAgc291cGh0dHBjbGllbnRzaW5rOiBJbXBsZW1lbnQgY29va2llcyBwcm9wZXJ0eQoKMjAxNS0wMy0wOCAxODowMjo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJICBzb3VwaHR0cGNsaWVudHNpbms6IEltcGxlbWVudCBhdXRvbWF0aWMtcmVkaXJlY3QgcHJvcGVydHkKCjIwMTUtMDMtMDggMTc6NTQ6MDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSAgc291cGh0dHBjbGllbnRzaW5rOiBJbXBsZW1lbnQgcHJveHkgc3VwcG9ydAoJICBUaGUgcHJvcGVydGllcyB3ZXJlIHRoZXJlIGJlZm9yZSwgYnV0IG5vdCB1c2VkIGFueXdoZXJlLgoKMjAxNS0wMi0yMSAyMDowNToyNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogcmVzdXJyZWN0IHNvbWUgZmxvdyByZXR1cm4gaGFuZGxpbmcKCjIwMTUtMDMtMDQgMTA6Mjc6MTcgKzAxMDAgIE5pY29sYXMgSHVldCA8bmljb2xhcy5odWV0QHBhcnJvdC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBmaXggTE9BUyBwYXJzaW5nIGlzc3VlCgkgIEZpeCBtaXNzaW5nIGluZGV4IGluIHN5bmN3b3JkIHNlYXJjaGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NTg1CgoyMDE1LTAzLTA1IDE3OjU0OjQzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogZml4IG1vZHVsbyBtYXRoIHdpdGggcmluZ2J1ZmZlciBwYXJhbWV0ZXJzCgkgIFRvIGdldCBhIG11bHRpcGxlIG9mIGJwZiB1c2UgYSBzdWJ0cmFjdGlvbiBhbmQgbm90IGFuIGFkZGl0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU2ODQKCjIwMTUtMDMtMDcgMDA6NTU6NDcgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW5rOiBQcm90ZWN0IHByb3BlcnR5IHZhcmlhYmxlcyB3aXRoIHRoZSBvYmplY3QgbG9jay4KCSAgVXNlIHRoZSBvYmplY3QgbG9jayBpbnN0ZWFkIG9mIHRoZSBzcGxpdG11eCBsb2NrIHRvIHByb3RlY3QKCSAgaW50ZXJuYWwgcHJvcGVydHkgdmFyaWFibGVzLCBzbyB0aGV5J3JlIG5vdCBsb2NrZWQgd2hlbgoJICBzd2l0Y2hpbmcgdG8gYSBuZXcgZmlsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDQyMAoKMjAxNS0wMy0wNiAxMTozOTozOSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgY2hlY2s6IGFkZCBqaXR0ZXJidWZmZXIgdW5pdCB0ZXN0CgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NTM5CgoyMDE1LTAzLTA1IDA5OjE4OjUyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBGaXggaGFuZGxpbmcgb2YgaW50ZXJsZWF2ZWQgKFRDUCkgc3RyZWFtcwoJICBXZSBuZWVkIHRvIHNldCB1cCB0aGUgdHJhbnNwb3J0IGluIGFueSBjYXNlLCBub3QganVzdCBpZiB3ZSBoYXZlIGEgY29udGFpbmVyCgkgIHN0cmVhbSBvciBhIG5vbi1pbnRlcmxlYXZlZCBzdHJlYW0uIE9ubHkgaWYgd2UgaGF2ZSBhbiBpbnRlcmxlYXZlZCBzdHJlYW0gYW5kCgkgIGFyZSByZXRyeWluZywgd2Ugc2hvdWxkIG5vdCBzZXQgdXAgdGhlIHN0cmVhbSBhZ2Fpbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTU5OQoKMjAxNS0wMy0wNSAxMDowMDozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cHgvZ3N0dnA5ZGVjLmM6CgkgIHZwWzg5XWRlYzogRHJvcCBmcmFtZXMgdGhhdCBoYXZlIG5vIG91dHB1dCBidWZmZXIgYmVjYXVzZSBvZiBlcnJvcnMKCSAgZmluaXNoX2ZyYW1lKCkgYXNzdW1lcyB0aGF0IHRoZXJlIGlzIGFuIG91dHB1dCBidWZmZXIuCgoyMDE1LTAzLTA1IDA5OjU2OjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBEb24ndCB1bnJlZiBjYXBzIHdlIGRvbid0IG93bgoKMjAxNS0wMy0wNSAwOTo0NjoxNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogUHVzaCBSVENQIGNhcHMgb24gdGhlIFJUQ1AgcGFkcwoJICBPdGhlcndpc2Ugd2Ugd2lsbCBnZXQgbm90LW5lZ290aWF0ZWQgbGF0ZXIgZnJvbSBydHBiaW4sIGFuZCB3aWxsIG5ldmVyIGJlIGFibGUKCSAgdG8gc2VuZCBSVENQIHBhY2tldHMgYmFjayB0byB0aGUgc2VydmVyLiBOb3RlIHRoYXQgZXJyb3IgZmxvdyByZXR1cm5zIGZyb20gdGhlCgkgIFJUQ1AgcGFkcyBhcmUgaWdub3JlZCwgdGhhdCdzIHdoeSBpdCBkaWRuJ3QgZmFpbCBtb3JlIHZpc2libGUgYmVmb3JlLgoKMjAxNS0wMy0wNSAwOTozNTozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogTWFrZSBzdXJlIHRvIHNlbmQgU0VHTUVOVCBldmVudHMgb24gYWxsIHBhZHMKCjIwMTUtMDMtMDMgMTY6MjM6MTUgKzAxMDAgIFNhbnRpYWdvIENhcm90LU5lbWVzaW8gPHNhbmNhbmVAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgcnRwOiBBZGQgRnVsbCBJbnRyYSBSZXF1ZXN0IChGSVIpIHBhY2tldHMgdG8gc3RhdGlzdGljcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NTg3CgoyMDE1LTAzLTAzIDE2OjAxOjUzICswMTAwICBTYW50aWFnbyBDYXJvdC1OZW1lc2lvIDxzYW5jYW5lQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIHJ0cDogQWRkIFBhY2tldCBMb3NzIEluZGljYXRpb24gKFBMSSkgdG8gc3RhdGlzdGljcwoJICBUaGlzIGlzIGhlbHBmdWwgdG8gcHJvdmlkZSBzdGF0aXN0aWNzIGluIHRoZSBmb3JtYXQgZGVmaW5lZCBpbgoJICBodHRwOi8vdzNjLmdpdGh1Yi5pby93ZWJydGMtc3RhdHMvI2RpY3Rpb25hcnktcnRjcnRwc3RyZWFtc3RhdHMtbWVtYmVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTU4NwoKMjAxNS0wMy0wMyAxOToxOTo1MCArMDEwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgbWF0cm9za2FtdXg6IFJlbW92ZSBkdXJhdGlvbiBhY2N1bXVsYXRpb24gbG9naWMKCSAgRHVyYXRpb24gYWNjdW11bGF0aW9uIGNhbiBjYXVzZSByb3VuZGluZyBlcnJvcnMgYW5kIGdlbmVyYXRlIHdyb25nCgkgIGR1cmF0aW9uIHdpdGggZGlmZmVyZW50IGJ1ZmZlcnMgdGhhdCBzaGFyZSB0aGUgc2FtZSB0aW1lc3RhbXAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxOTIKCjIwMTUtMDMtMDMgMTg6NDA6MTYgKzAxMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thOiBBZGQgYW4gaGVscGVyIG1ldGhvZCB0byBnZXQgYnVmZmVyIHRpbWVzdGFtcHMKCSAgLi4uIGFuZCByZXBsYWNlIEdTVF9CVUZGRVJfVElNRVNUQU1QIHRoYXQgYWx3YXlzIHJldHVybiBQVFMgd2l0aCB0aGlzIG1ldGhvZAoJICB0aGF0IHJldHVybiBQVFMgb3IgRFRTIGJhc2VkIG9uIHN0cmVhbSB0eXBlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTkyCgoyMDE1LTAzLTA0IDExOjI4OjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBBZGQgZXhwbGFuYXRpb24gd2h5IHdlIGhhdmUgc3BhY2UgZm9yIDMyIGhhc2ggdGFibGVzCgkgIEFuZCBhbHNvIGNyZWF0ZSBvbmx5IG9uZSwgdGhlcmUncyBubyBuZWVkIHlldCB0byBjcmVhdGUgYWxsIDMyIHVudGlsCgkgIHdlIGltcGxlbWVudCBSRkMyNzYyLgoKMjAxNS0wMy0wNCAxMToyNjo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBSZXZlcnQgInJ0cHNlc3Npb246IERvIG5vdCB1c2UgYW4gYXJyYXkgb2YgbWFwcyBpZiB0aGV5IGFyZSBub3QgYmVpbmcgdXNlZCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAxNTkxYWRmNGNkODQzZDEzZDg2MjJhMzBjNjE5NDI1NjkxYTg0MTI4LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NTg2I2MxOgoJICBJdCdzIHRoZSBiZWdpbm5pbmcgb2YgYW4gaW1wbGVtZW50YXRpb24gb2YgUkZDIDI3NjIsIHdoaWNoIGlzIG5lZWRlZCBmb3IKCSAgbGFyZ2UgbXVsdGljYXN0IGdyb3Vwcy4gVGhlIGltcGxlbWVudGF0aW9uIGlzIG5vdCB5ZXQgY29tcGxldGUgYnV0IHdoeQoJICBub3QgbGVhdmUgd2hhdCBpcyB0aGVyZSBhbmQgaW1wbGVtZW50IFJGQyAyNzYyIGluc3RlYWQ/CgoyMDE1LTAzLTA0IDEwOjM1OjEyICswMTAwICBTYW50aWFnbyBDYXJvdC1OZW1lc2lvIDxzYW5jYW5lQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBEbyBub3QgdXNlIGFuIGFycmF5IG9mIG1hcHMgaWYgdGhleSBhcmUgbm90IGJlaW5nIHVzZWQKCSAgcnRwc2Vzc2lvbiBkZWNsYXJlcyBhbiBhcnJheSBvZiBtYXBzIHRvIHN0b3JlIHNycmNzIGJ1dCBvbmx5IHRoZQoJICB0aGUga2V5IDAgaXMgYmVpbmcgdXNlZC4gVGhpcyBwYXRjaCByZXBsYWNlcyB0aGUgYXJyYXkgb2YgbWFwcwoJICBmb3IganVzdCBvbmUgbWFwIGFuZCByZW1vdmUgdXNlbGVzcyBwYXJhbWV0ZXJzIGluIHJ0cHNlc3Npb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTU4NgoKMjAxNS0wMi0yNyAxODoxMjowOSArMDkwMCAgSmltbXkgT2huIDx5b25namluLm9obkBsZ2UuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogcmVtb3ZlIG5vdCBuZWVkZWQgY29kZQoJICBJbiBnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnksIHRoZXJlIGlzIG5vdCBuZWVkZWQgY29kZS4KCSAgV2UgYWxyZWFkeSBjaGVjayBhYm91dCBzdHJlYW0gaXMgdmJyIG9yIG5vdCBhdCB0aGUgdXBwZXIgbGluZS4KCSAgbywgd2UgZG9uJ3QgbmVlZCB0byBjaGVjayB0aGlzIGNvbmRpdGlvbiBiZWNhc2Ugc3RyZWFtIGlzIG5vdAoJICB2YnIgMTAwJSBpbiB0aGlzIGNhc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUyNzYKCjIwMTUtMDMtMDMgMjM6MjU6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9pY2xlcy9nZGtwaXhidWZvdmVybGF5LXRlc3QuYzoKCSAgdGVzdHM6IGdka3BpeGJ1Zm92ZXJsYXktdGVzdDogcmVwbGFjZSBkZXByZWNhdGVkIGZ1bmN0aW9uCgkgIEp1c3QgYXZvaWQgdXNpbmcgdGhlIGRlcHJlY2F0ZWQgZnVuY3Rpb24gZW50aXJlbHksCgkgIGl0J3MgZWFzeSBlbm91Z2guIERlZmluaW5nIHRoZSBtYWNybyBpcyBub3QgZW5vdWdoLgoKMjAxNS0wMy0wMyAxOTowNDo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2ljbGVzL2dka3BpeGJ1Zm92ZXJsYXktdGVzdC5jOgoJICB0ZXN0czogZ2RrcGl4YnVmb3ZlcmxheS10ZXN0OiBmaXggY29tcGlsYXRpb24gYWdhaW5zdCBuZXdlciBnZGstcGl4YnVmCgkgIGdka19waXhidWZfbmV3X2Zyb21faW5saW5lKCkgaGFzIGJlZW4gZGVwcmVjYXRlZCBpbiBmYXZvdXIKCSAgb2YgR1Jlc291cmNlLgoKMjAxNS0wMy0wMyAxODozOToxNSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSAgb3N4YXVkaW9zcmM6IEFsbG93IGNhcHMgcmVuZWdvdGlhdGlvbgoJICBUaGUgcmluZ2J1ZmZlciBkb2VzIGFsbG93IHJlbmVnb3RpYXRpb24sIHNvIHdlIGRvIG5vdCBoYXZlIHRvIHJlcG9ydAoJICBmaXhlZCBjYXBzIG9uY2UgaXQgaXMgYWNxdWlyZWQgKGJhc2VkIG9uIGEgc2ltaWxhciBwYXRjaCBmb3IgdGhlIHNpbmsKCSAgc2lkZSBieSBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPikuCgoyMDE1LTAyLTIxIDE0OjQxOjA4ICswMjAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJICBvc3hhdWRpb3Npbms6IEFsbG93IHJlbmVnb3RpYXRpbmcgY2FwcwoJICBPbmNlIG9zeGF1ZGlvc2luaydzIGRldmljZSBpcyBvcGVuLCBpdCBmaXhhdGVzIG9uIHRoZSBpbml0aWFsIGNhcHMgYW5kCgkgIHJlZnVzZXMgdG8gYWNjZXB0IG5ldyBjYXBzLiBUaGlzIGlzIGVycm9uZW91cyBzaW5jZSB0aGUgQXVkaW8gVW5pdCBpcwoJICBjYW4gYWNjZXB0IGEgbmV3IEFTQkQsIGFuZCBHc3RBdWRpb1JpbmdCdWZmZXIgc3VwcG9ydHMgcmVjb25maWd1cmF0aW9uCgkgIGFzIHdlbGwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDM5MjUKCjIwMTUtMDMtMDIgMTI6MDQ6MDAgKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJhbGxvY2F0b3I6IGZpeCBmZCBsZWFrIGluIERNQUJVRiBpbXBvcnQgbW9kZS4KCSAgRW5zdXJlIGdzdF92NGwyX2J1ZmZlcl9wb29sX3JlbGVhc2VfYnVmZmVyKCkgcmVsZWFzZXMgdGhlIGFzc29jaWF0ZWQKCSAgR3N0VjRsMk1lbW9yeUdyb3VwLiBJbiBwYXJ0aWN1bGFyLCB0aGlzIGFsbG93cyBmb3IgY2xvc2luZyB0aGUgRE1BQlVGCgkgIGhhbmRsZXMgcHJpb3IgdG8gaW5zdGFudGlhdGluZyBuZXcgb25lcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTQ0MwoKMjAxNS0wMy0wMiAxNTowNjowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogVXNlIDAgYXMgZHVyYXRpb24gZm9yIHRoZSBFT1MgImZyYW1lIgoKMjAxNS0wMy0wMiAxNTowMjoyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmg6CgkqIGV4dC92cHgvZ3N0dnA5ZW5jLmM6CgkqIGV4dC92cHgvZ3N0dnA5ZW5jLmg6CgkgIHZwezgsOX1lbmM6IFRlbGwgdGhlIGVuY29kZXIgYWJvdXQgYWN0dWFsIHRpbWVzdGFtcHMgYW5kIGR1cmF0aW9ucyBvZiBmcmFtZXMKCSAgLi4uIGluc3RlYWQgb2YganVzdCBjb3VudGluZyBmcmFtZXMuIFRoZSB2YWx1ZXMgYXJlIHN1cHBvc2VkIHRvIGJlIGluIHRpbWViYXNlCgkgIHVuaXRzLCBub3QgZnJhbWUgdW5pdHMuIFRoaXMgZml4ZXMgdmFyaW91cyBxdWFsaXR5IHByb2JsZW1zIHdpdGggVlA4L1ZQOQoJICBlbmNvZGluZyBhbmQgaW4gZ2VuZXJhbCBtYWtlcyB0aGUgZW5jb2RlciBiZWhhdmUgYmV0dGVyLgoJICBUaGFua3MgdG8gTmlyYmhlZWsgQ2hhdWhhbiBmb3Igbm90aWNpbmcgdGhpcyBidWcuCgoyMDE1LTAzLTAxIDEzOjU2OjE3IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cHgvZ3N0dnA5ZGVjLmM6CgkgIHZweGRlYzogRml4IGNhbGN1bGF0aW9uIG9mIHdpZHRoIGluIGJ5dGVzCgkgIFJpZ2h0IG5vdyB3ZSBvbmx5IHN1cHBvcnQgSTQyMCwgYnV0IHZweCBzZWVtcyB0byBzdXBwb3J0IG1vcmUgZm9ybWF0cy4KCSAgVGhpcyB3aWxsIHByZXZlbnQgaGFyZCB0byBmaW5kIGJ1ZyBpbiB0aGUgZnV0dXJlLgoKMjAxNS0wMy0wMSAxMzo1Mjo1MCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnB4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnB4L2dzdHZwOWRlYy5jOgoJICB2cHhkZWM6IERvbid0IG1lbWNweSBpbiBmcmFtZSBtYXAgZmFpbGVkCgkgIFRoaXMgYXZvaWQgYSBjcmFzaCBpZiBtYXBwaW5nIHRoZSBmcmFtZSBmYWlsZWQuCgoyMDE1LTAzLTAxIDEzOjQ4OjQ1IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBBZGQgbWlzc2luZyBicmVhawoJICBUaGlzIGlzIGNvc21ldGljIGNoYW5nZS4KCjIwMTUtMDMtMDEgMTM6NDY6MTggLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSAgdjRsMjogV29ya2Fyb3VuZCBkcml2ZXIgbm90IHNldHRpbmcgZmllbGQgY29ycmVjdGx5CgkgIEFzIGl0J3MgdmVyeSBjb21tb24sIGhhbmRsZSBkcml2ZXIgbm90IHNldHRpbmcgZmllbGQgaW4gYnVmZmVycwoJICBieSB1c2luZyB0aGUgZmllbGQgdmFsdWUgZnJvbSB0aGUgZm9ybWF0LiBUaGlzIHdvcmthcm91bmQgYSBsb25nIHRpbWUKCSAgYnVnIGluIFVWQyBkcml2ZXIuIEZvciBldmVuIGJ1Z2dpZXIgZHJpdmVyLCB3ZSBzaW1wbHkgYXNzdW1lCgkgIHByb2dyZXNzaXZlIGFzIGJlZm9yZS4gV2UgYWxzbyBvbmx5IHdhcm4gb25jZSwgdG8gYXZvaWQgc3BhbW1pbmcuCgoyMDE1LTAyLTI4IDE4OjEwOjA2ICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBrZXkgdW5pdCBzZWVrCgkgIFVubGlrZSBtYW55IG90aGVyIHNlZWsgZmxhZ3MsIHRoZSBLRVlfVU5JVCBzZWVrCgkgIGZsYWcgaXMgbm90IGNvcGllZCBvdmVyIGludG8gdGhlIEdzdFNlZ21lbnQsCgkgIHNpbmNlIGl0J3Mgb25seSByZWxldmFudCBmb3IgdGhlIHNlZWsgaXRzZWxmLAoJICBzbyB3ZSBuZWVkIHRvIHBhc3MgaXQgZXhwbGljaXRseSB0byB0aGUgc2VlawoJICBoYW5kbGVyIGhlcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUzMzkKCjIwMTUtMDItMjcgMDk6Mzg6MDEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkgIGRvY3MvcGx1Z2luczogVXBkYXRlcwoKMjAxNS0wMi0yNiAyMzo0MTo0NyArMDEwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eC9kZW11eDogaW5pdGlhbGl6ZSBkdHNfb25seQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTkyCgoyMDE1LTAyLTI2IDIzOjI4OjExICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHN0b3JlIERUUyBmb3IgVl9NUy9WRlcvRk9VUkNDIHN0cmVhbXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTE5MgoKMjAxNS0wMi0yNiAxOTo0ODozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzcmMuYzoKCSAgbXVsdGlmaWxlOiBhdHRlbXB0IHRvIGZpeCBkb2NzIGJ1aWxkIGlzc3VlIG9uIGJ1aWxkIGJvdAoKMjAxNS0wMi0yNyAwMDo0MTo0NiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgIGludGVybGVhdmU6IERyb3AgY3VzdG9tIGxhdGVuY3kgcXVlcnkgaGFuZGxpbmcKCSAgVGhpcyBpcyBpbXBsZW1lbnRlZCBieSB0aGUgZGVmYXVsdCBxdWVyeSBoYW5kbGVyIG5vdy4KCjIwMTUtMDItMjcgMDA6NDA6MDUgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGdpdEBhcnVucmFnaGF2YW4ubmV0PgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogRHJvcCBjdXN0b20gbGF0ZW5jeSBxdWVyeWluZyBsb2dpYwoJICBUaGlzIGlzIG5vdyBpbXBsZW1lbnRlZCBpbiB0aGUgZGVmYXVsdCBsYXRlbmN5IHF1ZXJ5IGhhbmRsZXIuCgoyMDE1LTAyLTI2IDE2OjEwOjQxICswMTAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJybkBheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkgIHJ0cHZvcmJpc3BheTogZml4IHBheWxvYWRlciBkZXNjcmlwdGlvbiBhbmQgYXV0aG9yIGUtbWFpbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MjI2CgoyMDE0LTA5LTA1IDE2OjM0OjI2ICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyOiBxdWVyeSBjcm9wIGNvbmZpZ3VyYXRpb24gYWZ0ZXIgZWFjaCBjYWxsIG9mIFNfQ1JPUAoJICBTX0NST1AgaW9jdGwgaXMgd3JpdGUtb25seSBhbmQgdGhlIGRldmljZSBjYW4gYWRqdXN0IGNyb3AgcmVjdGFuZ2xlIHNvCgkgIHdlIHF1ZXJ5IGJhY2sgdGhlIGNyb3AgY29uZmlndXJhdGlvbiBhZnRlciBlYWNoIFNfQ1JPUCB0byBrbm93IHdoYXQgaGFzCgkgIGJlZW4gZG9uZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjEzMwoKMjAxNS0wMi0yNiAwMjoxMjoxOCArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIG1hdHJvc2thZGVtdXg6IFZfTVMvVkZXL0ZPVVJDQyBzdHJlYW1zIGhhdmUgRFRTIGluc3RlYWQgb2YgUFRTCgkgIFdoZW4gc3VjaCBzdHJlYW0gaXMgcHJlc2VudCBkZW11eGVyIHNob3VsZCBzZXQgRFRTIG9uIGJ1ZmZlcnMgaW5zdGVhZAoJICBvZiBQVFMuIFRoaXMgaXMgY29uc2lzdGVudCB3aXRoIGhvdyBWTEMgYW5kIGxpYmF2L2ZmbXBlZyBoYW5kbGUgVkZXCgkgIHN0cmVhbXMuCgkgIFNhbXBsZSBmaWxlCgkgIGh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9NYXRlaksvU2FtcGxlcy9NYXRyb3NrYS1WRlctRFRTLU9ubHkubWt2CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxOTIKCjIwMTUtMDItMjUgMTY6NDU6MTEgLTA4MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IENoZWNrIGNvcnJ1cHRpb24gZmxhZyBvbiB0aGUgcmlnaHQgYnVmZmVyCgkgIFdlIHdoZXJlIGNoZWNraW5nIHRoZSBidWZmZXIgd2UgYXJlIGNvcHlpbmcgdG8gaW5zdGVhZCBvZiB0aGUgYnVmZmVyIHdlCgkgIGFyZSBjb3B5aW5nIGZyb20uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDAwNDAKCjIwMTUtMDEtMTkgMTU6Mjk6MjQgKzAxMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IHNldCBjb2xvcnNwYWNlIGluIGNhcHMgZm9yIGNhcHR1cmUgZGV2aWNlcwoJICBUaGlzIGluZm9ybWF0aW9uIGlzIHNldCBieSB0aGUgZHJpdmVyIGZvciBhIGNhcHR1cmUgZGV2aWNlLCBhbmQgc28gY291bGQKCSAgYmUgZm9yd2FyZGVkIHRvIHBpcGVsaW5lIGJ5IHNldHRpbmcgdGhlIGNvbG9yaW1ldHJ5IGluIGNhcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDMxODYKCjIwMTQtMTAtMDYgMTc6MzA6MDYgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyYnVmZmVycG9vbDogZml4IGltcG9ydF91c2VycHRyKCkgaW4gc2luZ2xlLXBsYW5hciBBUEkgd2hlbiBuX3BsYW5lcyA+IDEKCSAgSW4gdGhlIFY0TDIgc2luZ2xlLXBsYW5hciBBUEksIHdoZW4gZm9ybWF0IGlzIHNlbWktcGxhbmFyL3BsYW5hciwKCSAgZHJpdmVycyBleHBlY3QgdGhlIHBsYW5lcyB0byBiZSBjb250aWd1b3VzIGluIG1lbW9yeS4KCSAgU28gdGhpcyBjb21taXQgY2hhbmdlIHRoZSB3YXkgd2UgaGFuZGxlIHNlbWktcGxhbmFyL3BsYW5hciBmb3JtYXQKCSAgKG5fcGxhbmVzID4gMSkgd2hlbiB3ZSB1c2UgdGhlIHNpbmdsZS1wbGFuYXIgQVBJIChncm91cC0+bl9tZW0gPT0gMSkuCgkgIFRvIGNoZWNrIHRoYXQgcGxhbmVzIGFyZSBjb250aWd1b3VzIGFuZCBoYXZlIGV4cGVjdGVkIHNpemUsIGllOiBubwoJICBwYWRkaW5nLiBXZSB0ZXN0IHRoZSBmYWN0IHRoYXQgcGxhbmUgJ2knIHN0YXJ0IGFkZHJlc3MgKyBwbGFuZSAnaScKCSAgZXhwZWN0ZWQgc2l6ZSBlcXVhbHMgdG8gcGxhbmUgJ2kgKyAxJyBzdGFydCBhZGRyZXNzLiBJZiBub3QsIHdlIHJldHVybgoJICBpbiBlcnJvci4KCSAgTWF0aCBhcmUgZG9uZSBpbiBidWZmZXJwb29sIHJhdGhlciB0aGFuIGluIGFsbG9jYXRvciBiZWNhdXNlIHRoZQoJICBmb3JtZXIgaXMgYXdhcmUgb2YgdmlkZW8gaW5mby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODAxMwoKMjAxNS0wMS0yMyAxMDoxNTo0NiArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYWxsb2NhdG9yOiBsZXQgYnVmZmVycG9vbCBjYWxjdWxhdGUgaW1hZ2Ugc2l6ZSB3aGVuIGltcG9ydGluZyB1c2VycHRyCgkgIE9mZnNldCBhcmUgcmVsYXRpdmUgdG8gdGhlIGJ1ZmZlciBhbmQgdGhlcmUgaXMgbm8gZ3VhcmFudGVlIHN1YnN0cmFjdGluZwoJICB0aGVtIHdpbGwgZ2l2ZSB1cyB0aGUgcGxhbmUgc2l6ZS4gU28gd2UgbGV0IGJ1ZmZlcnBvb2wgbWFrZSB0aGUgbWF0aCBhcwoJICBpdCBpcyBtb3JlIGF3YXJlIG9mIHZpZGVvIGluZm8gdGhhbiBhbGxvY2F0b3IgYW5kIHBhc3MgYSBzaXplIGFycmF5IHRvCgkgIGFsbG9jYXRvciBpbXBvcnQgZnVuY3Rpb24uCgkgIFBvaW50ZWQgb3V0IGJ5IE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODAxMwoKMjAxNC0xMi0xMSAxNjoxMzoxNSArMDEwMCAgUGhpbGlwcGUgRGUgTXV5dGVyIDxwaGRtQG1hY3FlbC5iZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogcmVjb2duaXplIGFuZCBkaXN0aW5ndWlzaCBhbGwgYmF5ZXIgYXJyYW5nZW1lbnRzCgkgIFVwIHRvIG5vdywgdjRsMnNyYyByZWNvZ25pemVkIG9ubHkgImJnZ3IiIGFtb25nc3QgdGhlIGJheWVyIGFycmFuZ2VtZW50cy4KCSAgUmVjb2duaXplIG5vdyBhbHNvIHRoZSAicmdnYiIsICJnYnJnIiBhbmQgImdyYmciIGFycmFuZ2VtZW50cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjM2MwoKMjAxNS0wMS0xNSAxNjoxMTo1MyArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBzZXQgdjRsMl9idWZmZXIuZmllbGQgd2hlbiBxdWV1aW5nIGJ1ZmZlciBpbiBhbiBvdXRwdXQgZGV2aWNlCgkgIEFjY29yZGluZyB0byB0aGUgY3VycmVudCBzcGVjaWZpY2F0aW9uLCBhcHBsaWNhdGlvbiBtdXN0IHNldCB0aGlzIGZpZWxkCgkgIGZvciBhbiBvdXRwdXQgZGV2aWNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzMDEzCgoyMDE1LTAyLTI0IDA1OjU3OjI0ICswMjAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvY29tbW9uLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9jb21tb24uaDoKCSAgb3N4YXVkaW9zcmM6IGlPUyByZXNhbXBsaW5nIGNhdXNlcyBzdHV0dGVyaW5nCgkgIEZpeGVzIHN0dXR0ZXJpbmcgYXVkaW8gd2hlbiBpT1MgQVUgaXMgcmVzYW1wbGluZy4gVG8gbWFrZSBBVSByZXNhbXBsZSwKCSAgb25lIGhhcyB0byByZXF1ZXN0IGEgcmF0ZSB0aGF0IGRpZmZlcnMgZnJvbSBBVkF1ZGlvU2Vzc2lvbidzCgkgIHNhbXBsZVJhdGUuIFRoZSByZXNhbXBsaW5nIGl0c2VsZiBpcyBub3QgdGhlIGN1bHByaXQsIGJ1dCByYXRoZXIgb3VyCgkgIEFQSSBtaXN1c2UuCgkgIEF1ZGlvVW5pdFJlbmRlciBtb2RpZmllcyB0aGUgbURhdGFCeXRlU2l6ZSBtZW1iZXJzIHdpdGggdGhlCgkgIGFjdHVhbCByZWFkIGJ5dGVzIGNvdW50LiBUaGVyZWZvcmUsIHRoZXkgbXVzdCBiZSByZWluaXRpYWxpemVkCgkgIGJlZm9yZSBlYWNoIEF1ZGlvVW5pdFJlbmRlci4gKFRoZSBidWZmZXJzIHRoZW1zZWx2ZXMgY2FuIGJlCgkgIHByZWFsbG9jYXRlZC4pCgkgIFRoZSAic3R1dHRlciIgd2FzIGNhdXNlZCBieSBvbmUgQXVkaW9Vbml0UmVuZGVyIG1ha2luZyB0aGUgYnVmZmVyCgkgIHRvbyBzbWFsbCBmb3Igb3RoZXIgQXVkaW9Vbml0UmVuZGVyIGludm9jYXRpb25zLCBtYWtpbmcgdGhlbSBmYWlsCgkgIHdpdGggLTUwIChwYXJhbUVycikuIEJ5IHdheSBvZiBsdWNrLCB3aGVuIEFVIGRpZG4ndCByZXNhbXBsZSwgYWxsCgkgIEF1ZGlvVW5pdFJlbmRlciBpbnZvY2F0aW9ucyByZWFkIHRoZSBzYW1lIG51bWJlciBvZiBieXRlcy4KCSAgKFRoaXMgcGF0Y2ggYWRkcmVzc2VzIHNvbWUgbm9uLWludGVybGVhdmVkIGF1ZGlvIGNvbmNlcm5zLCBidXQKCSAgYXQgdGhpcyBtb21lbnQgdGhlIGVsZW1lbnRzIGRvIG5vdCBzdXBwb3J0IG5vbi1pbnRlcmxlYXZlZCBhdWRpbwoJICBhbmQgbm9uLWludGVybGVhdmVkIGlzIHVudGVzdGVkLikKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDkyMgoKMjAxNS0wMi0yMiAwMTo0OTo1MiArMDEwMCAgS3J6eXN6dG9mIEtvdGxlbmdhIDxwb2Nla0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGltcHJvdmUgZXJyb3IgbWVzc2FnZSB3aGVuIHVuYXV0aG9yaXplZAoJICBNYWtlIHVzZSBvZiBOT1RfQVVUSE9SSVpFRCBlcnJvciBjb2RlIGluc3RlYWQgb2YgZmFsbGluZyBiYWNrIHRvIGdlbmVyaWMKCSAgUkVBRCBlcnJvci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwMTczMwoKMjAxNS0wMi0yMyAyMDowNjoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOgoJICB4aW1hZ2VzcmM6IHJlbW92ZSBwb2ludGxlc3MgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoKQoJICB4aW1hZ2Ugd29uJ3QgZXZlciBiZSBOVUxMIGhlcmUgYmVjYXVzZSB0aGUgZGlzcG9zZQoJICBmdW5jdGlvbiBpcyBjYWxsZWQgdmlhIHhpbWFnZS0+ZGlzcG9zZSgpLgoKMjAxNS0wMi0yMyAxOTo0MDoyNSArMDEwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEFsbCBzZWdtZW50IHJlc3VsdGluZyBmcm9tIGEgc2VlayBzaG91bGQgaGF2ZSB0aGUgc2FtZSBzZXFudW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDk4MwoKMjAxNS0wMi0xOSAyMzoxMjozMSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IEVuYWJsZSBjb3B5IHdoZW4gbm8ga25vd24gYWxsb2NhdGlvbiBwYXJhbXMKCSAgV2hlbiB0aGVyZSBpcyBubyBhbGxvY2F0aW9uIHBhcmFtZXRlcnMgaW4gdGhlIHF1ZXJ5LCBlbmFibGUgY29weQoJICB0aHJlc2hvbGQuIFdoZW4gdGhpcyB0aHJlc2hvbGQgaXMgcmVhY2hlZCwgdGhlIGJ1ZmZlciBwb29sIHdpbGwgc3RhcnQKCSAgY29weWluZyB3aGVuIHRoZSBwb29sIHJlYWNoZXMgYSBjcml0aWNhbCBsZXZlbC4gSWYgdGhlIGRyaXZlciBzdXBwb3J0cwoJICBDUkVBVEVfQlVGUywgdGhpcyB3aWxsIGJlIHVzZWQgaW5zdGVhZC4KCjIwMTUtMDItMTkgMjM6MDg6MzQgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IFVwZGF0ZSBhbGxvY2F0b3IgZmxhZ3MKCSAgV2hlbiB3ZSBoaXQgZW11bGF0ZWQgZm9ybWF0cywgd2UgZGlzYWJsZSBDUkVBVEVfQlVGUyBzaW5jZSBsaWJ2NGwyCgkgIGNvcGUgdmVyeSBiYWRseSB3aXRoIGl0LiBBbHNvIGNsZWFyIHRoZSBhbGxvY2F0b3IgZmxhZ3Mgc28gd2Ugd2lsbAoJICBuZXZlciB0cnkgdG8gYWxsb2NhdGUgbW9yZSBidWZmZXJzLiBUaGlzIGZpeGVzIGZhaWx1cmUgd2hlbiB0aGUgY29weQoJICB0aHJlc2hvbGQgaXMgcmVhY2hlZCBhcyB3ZSB3aGVyZSBjYWxsaW5nIENSRUFURV9CVUZTLCB3aGljaCBsZWFkIHRvCgkgIGxpYnY0bDIgaW5zdGFiaWxpdHkuCgoyMDE1LTAyLTE5IDIzOjA3OjIzIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBVc2Ugc3BlY2lmaWMgZGVidWcgY2F0ZWdvcnkKCSAgVGhlIHBvb2wgaGFzIGdyb3duIGVub3VnaCB0aGF0IGl0IGlzIG5vdyBoYW5keSB0byBzZXBlcmF0ZSB2NGwyb2JqZWN0CgkgIHRyYWNlIGZyb20gdjRsMmJ1ZmZlcnBvb2wgdHJhY2UuCgoyMDE1LTAyLTE5IDE0OjI5OjAyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkgIHJ0cHZwOHBheTogZGVmYXVsdCBlbmNvZGluZyBuYW1lIHRvIFZQOAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3ODEwCgoyMDE1LTAyLTE5IDE0OjA2OjUxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkgIHJ0cHZwOHBheTogbWFrZSBjYXBzIHdyaXRhYmxlIGJlZm9yZSB0cnVuY2F0aW5nIHRoZW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzgxMAoKMjAxNS0wMi0wNSAxMDoyOToyNiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJICBydHB2cDhwYXk6IG5lZ290aWF0ZSBlbmNvZGluZyBuYW1lCgkgIENocm9tZSB1c2VzIGEgZGlmZmVyZW50IG9uZSB0aGFuIGdzdHJlYW1lci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzgxMAoKMjAxNS0wMi0xOSAxMjozNTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogU2VuZCBpbml0aWFsIGV2ZW50cyBvbiBzeW5jX3J0Y3AgcGFkIHdoZW4gdXNpbmcgUlRQL1JUQ1AgbXV4aW5nCgkgIE90aGVyd2lzZSB3ZSB3aWxsIGp1c3Qgc2VuZCBidWZmZXJzIG9uIHRoZSBwYWQgd2l0aG91dCBhbnkgZXZlbnRzIGJlZm9yZWhhbmQKCSAgYW5kIHdpbGwgZ2V0IGdfd2FybmluZ3MoKSBhYm91dCB0aGF0LgoKMjAxNS0wMi0xOSAxMToyMDo1MSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBjYXNlIG1pc3NpbmcgYnJlYWsgc3RhdGVtZW50CgkgIGNvbW1pdCBiMTA5OGMyZWE1ZWFiZWE3YWYwOGNlNTFkMjJiODY3ZWFlZDJiYmUyIGFkZGVkIGEgbmV3IGNhc2UgaW4KCSAgZ3N0X2phY2tfYXVkaW9fc3JjX2dldF9wcm9wZXJ0eSgpIGJ1dCBmb3Jnb3QgdG8gYWRkIHRoZSBicmVhayBzdGF0ZW1lbnQgdG8gaXQuCgoyMDE1LTAyLTE4IDE5OjE4OjAwICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICBSZXZlcnQgInY0bDI6IGZyYWN0aW9uIGlzIHJldmVyc2VkIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGI5MWZlMzY2NDRiMTVhZTA3MGQ3MmI5ZThhOWM3MDg3ZTgyYWVmMTIuCgoyMDE1LTAyLTE4IDE3OjQ5OjI5ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBmcmFjdGlvbiBpcyByZXZlcnNlZAoJICBJbiB0aGUgZnJhY3Rpb24gMSAvIDIuIDEgaXMgdGhlIG51bWVyYXRvciBhbmQgMiBpcyB0aGUgZGVub21pbmF0b3IuCgkgIFRoZSBhcmd1bWVudHMgb2YgZnJhY3Rpb24gZ3N0X3ZhbHVlX3NldF9mcmFjdGlvbnMoKSBhcmUgdmFsdWUsCgkgIG51bWVyYXRvciBhbmQgZGVub21pbmF0b3IuCgkgIEFsc28sIGdzdF92YWx1ZV9zZXRfZnJhY3Rpb24oKSBmYWlscyBpZiBkZW5vbWluYXRvciBpcyAwIGZvciBvYnZpb3VzCgkgIHJlYXNvbnMuCgoyMDE1LTAyLTE3IDIwOjI2OjU1IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJwb29sOiBEZWFjdGl2YXRlIG90aGVyIHBvb2wKCSAgV2hlbiBpbXBvcnRpbmcgYnVmZmVycyBmcm9tIGEgZG93bnN0cmVhbSBwb29sLCB3ZSBuZWVkIHRvIGRlYWN0aXZhdGUKCSAgdGhhdCBwb29sIHRvIGVuc3VyZSBpdCB3aWxsIGJlIHVzYWJsZSBhZ2FpbiBsYXRlci4gUmVseWluZyBvbiB0aGUKCSAgcmVmY291bnQgdG8gcmVhY2ggemVybyBkb2VzIG5vdCB3b3JrLCBzaW5jZSBlbGVtZW50cyBsaWtlIHh2aW1hZ2VzaW5rCgkgIGtlZXBzIGEgcmVmZXJlbmNlIG9uIHRoZWlyIHByb3Bvc2VkIHBvb2wuCgoyMDE1LTAyLTE4IDEwOjEwOjUzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdG11eDogcmVtb3ZlIG5vdCBuZWVkZWQgY29uZGl0aW9uCgkgIGdzdF9idWZmZXJfcmVwbGFjZSBjYW4gaGFuZGxlIE5VTEwgaW5wdXRzIGJ5IGl0c2VsZgoKMjAxNS0wMi0xOCAwOTo0MDoxNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHByZWZlciB0aGUgdGZkdCB0aW1lc3RhbXAgb3ZlciB0aGUgYnVmZmVyJ3MgdGhhdCBpcyBsZXNzIGFjY3VyYXRlCgkgIFRoZSB0ZmR0IHNob3VsZCBiZSBtb3JlIGFjY3VyYXRlIGFzIHRoZSBidWZmZXIgdGltZXN0YW1wIGlzIHByb3ZpZGVkCgkgIGJ5IHRoZSBmcmFnbWVudGVkIGZvcm1hdCBtYW5pZmVzdCBhbmQgaXQgbWlnaHQganVzdCBiZSBhbiBhcHByb3hpbWF0aW9uLgoKMjAxNS0wMi0xNyAxNjo1Nzo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IFdoZW4gcmVzZXR0aW5nIHRoZSBqaXR0ZXJidWZmZXIgYmVjYXVzZSBvZiBwYWNrZXQgZGlzY29udCwgZG9uJ3QgZmx1c2ggc3RpY2t5IGV2ZW50cwoJICBXZSB3aWxsIG90aGVyd2lzZSBmbHVzaCBhd2F5IFNUUkVBTV9TVEFSVCwgQ0FQUyBvciBTRUdNRU5UIGV2ZW50cyBhbmQgd2lsbAoJICBjb25mdXNlIGRvd25zdHJlYW0gd2l0aCBidWZmZXJzIHRoYXQgY29tZSBiZWZvcmUgc3VjaCBldmVudHMuCgoyMDE1LTAyLTE3IDEyOjIwOjU3ICswMTAwICBoYXJrIDxoYXJrQHB1c2NpaS5ubD4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmg6CgkgIGphY2s6IEFkZCBwcm9wZXJ0eSBwb3J0LXBhdHRlcm4gdG8gc3BlY2lmeSB3aGljaCBKQUNLIHBvcnRzIHRvIGNvbm5lY3QgdG8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDcxOQoKMjAxNS0wMi0xNyAxMjozMTowNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0aXNvZmYuYzoKCSogZ3N0L2lzb21wNC9nc3Rpc29mZi5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgaXNvbXA0OiBSZWRlZmluZSBnc3RfaXNvZmZfIHN5bWJvbHMgdG8gZ3N0X2lzb2ZmX3F0XwoJICBXZSBuZWVkIGRpZmZlcmVudCBzeW1ib2wgbmFtZXMsIGJlY2F1c2UgdGhlc2Ugc3ltYm9scyBhcmUgYWxzbyBwcmVzZW50CgkgIGluIHRoZSBmcmFnbWVudGVkIHBsdWdpbiAuLi4gd2hpY2ggd2lsbCBjYXVzZSBjb25mbGljdHMgd2hlbiBkb2luZwoJICBzdGF0aWMgbGlua2luZwoKMjAxNS0wMi0xNiAxNDozMTowNSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9nb29tMmsxL2xpbmVzLmM6CgkgIGdvb20yazE6IHVzZSBmcmFjdGlvbmFsIHBhcnQgb2YgZmxvYXQgZGl2aXNpb24KCjIwMTUtMDItMTYgMTM6NTk6MTQgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbjogcmVtb3ZlIGRlYWQgY29kZQoJICBFdmVyeSBpbnN0YW5jZSBvZiBnb3RvIGJlYWNoIGhhcyBidWZfaW5mbyBlcXVhbCBOVUxMLiBEb24ndCBjaGVjawoJICBmb3IgYSBjb25kaXRpb24gdGhhdCBuZXZlciBoYXBwZW5zLgoJICBDSUQgIzEyNjgzOTkKCjIwMTUtMDItMTUgMjE6NDU6MjQgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BsaXRtdXguYzoKCSAgc3BsaXRtdXgtdGVzdDogUGFyc2UgZXJyb3IgbWVzc2FnZQoJICBUaGUgdGVzdCBoYWQgYSBmdW5jdGlvbiB0byBwcmludCB0aGUgZXJyb3IsIGJ1dCB3YXMgbm90IHBhcnNpbmcgaXQuCgkgIFRoaXMgd2FzIGNhdXNpbmcgd2FybmluZyBhYm91dCBkYmdfaW5mbyBiZWluZyB1c2VkIHVuaW5pdGlhbGl6ZWQuIElmCgkgIHRoZSB0ZXN0IHdhcyB0ZXN0aW5nIGFueSBlcnJvcnMsIHRoaXMgd291bGQgaGF2ZSBjcmFzaGVkLgoKMjAxNS0wMi0xNSAyMTozNDoyOCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IEZpeCBtaW4gYW5kIG1heCBmb3IgYmFuZHMgcHJvcGVydHkKCSAgVGhlIG51bWJlciBvZiBGRlRzIGlzIGNhbGN1bGF0ZWQgd2l0aCB0aGUgZm9sbG93aW5nIGZvcm11bGE6CgkgIGd1aW50IG5mZnQgPSAyICogYmFuZHMgLSAyOwoJICBuZmZ0IGlzIHBhc3NlZCB0byBnc3RfZmZ0X2YzMl9uZXcoKSBhcyB0aGUgbGVuIGFyZ3VtZW50IGFuZCBpcyBvZiB0eXBlCgkgIHVuc2lnbmVkIGludGVnZXIuIFRoaXMgbWV0aG9kIHJlcXVpcmVkIHRoYXQgbGVuIGlzIGF0IGxlYXMgMSwgdGhlbgoJICBtYXhpbXVtIEdfTUFYSU5ULCBhcyBvdGhlciB2YWx1ZXMgd291bGQgYmUgbmVnYXRpdmUuIElmIHdlIGV4dHJhcG9sYXRlCgkgIGZyb20gdGhlIGZvcm11bGEgYWJvdmUgaXQgbWVhbnMgd2UgbmVlZCAiYmFuZHMiIHRvIGJlIGJldHdlZW4gMiBhbmQKCSAgKChndWludClHX01BWElOVCArIDIpIC8gMikuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQyMTMKCjIwMTUtMDItMTUgMTU6NTE6NTUgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJICB2NGwyYWxsb2NhdG9yOiBGaXggZnJlZWluZyBvZiBzaGFyZWQgbWVtb3J5CgkgIFdoZW4gbWVtb3J5ICh0aGF0IGhhcyBiZWVuIHNoYXJlZCB1c2luZyBnc3RfbWVtb3J5X3NoYXJlKCkpIGFyZSBmcmVlZCwKCSAgdGhlIG1lbW9yeSAob3IgdGhlIERNQUJVRiBGRCkgc2hvdWxkIG5vdCBiZWUgZnJlZWQuIFRoZXNlIG1lbW9yaWVzIGhhdmUKCSAgYSBwYXJlbnQuIFRoaXMgYWxzbyByZW1vdmVzIHRoZSBleHRyYSBfdjRsMm1lbV9mcmVlIGZ1bmN0aW9uIGFuZCBhdm9pZAoJICBjYWxsaW5nIGNsb3NlIHR3aWNlIG9uIHRoZSBETUFCVUYgRkQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ1NzMKCjIwMTUtMDItMTQgMTE6MTE6MzAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkbyBub3QgdXNlIHNwYXJzZSBzdHJlYW1zIGluIHB1c2gtYmFzZWQgc2Vla2luZwoJICBVc2luZyB0aGUgc3BhcnNlIHN0cmVhbXMgY2FuIG1ha2UgdGhlIHB1c2gtYmFzZWQgc2Vla2luZyByZXR1cm4KCSAgdG9vIGZhciBpbiB0aGUgc3RyZWFtLiBJdCBhbHNvIGNhbiBsZWFkIHRvIGlzc3VlcyBhcyB0aGUKCSAgc3BhcnNlIHN0cmVhbXMgd2lsbCBiZSBpZ25vcmVkIHdoZW4gcmVzdGFydGluZyBwbGF5YmFjayBhbmQsCgkgIGlmIHRoZSBzcGFyc2Ugc3RyZWFtIGlzIHRoZSBvbmUgdGhhdCBoYXMgdGhlIGVhcmxpZXN0IHNhbXBsZSwKCSAgaXQgd2lsbCBjb25mdXNlIHF0ZGVtdXgncyBvZmZzZXRzIGFzIG9uZSBzdHJlYW0gd2lsbCBoYXZlCgkgIGFuIGVhcmxpZXIgb2Zmc2V0IHRoYW4gdGhlIGRlbXV4ZXIncyBvbmUgd2hpY2ggbWlnaHQgbGVhZCB0bwoJICBlYXJseSBFT1MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2NjEKCjIwMTUtMDItMTMgMTk6NDM6MTYgKzA5MDAgIEppbW15IE9obiA8eW9uZ2ppbi5vaG5AbGdlLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBFbmhhbmNlIGNvZGUgcmVhZGFiaWxpdHkgaW4gcHVsc2VzaW5rX3F1ZXJ5CgkgIEluIHB1bHNlc2lua19xdWVyeSBmdW5jdGlvbiwgd2UgdXNlIGEgc3dpdGNoIGZvciB0aGUgcXVlcnkKCSAgdHlwZS4gSW4gdGhlIENBUFMgY2FzZSwgdGhlcmUgaXMgbm8gJ2JyZWFrJywgaW5zdGVhZCB3ZQoJICByZXR1cm4gcmlnaHQgYXdheS4gVXNlIGEgYnJlYWsgYW5kIHJldHVybiBhdCB0aGUgZW5kIG9mCgkgIHRoZSBmdW5jdGlvbiBpbnN0ZWFkIGZvciBiZXR0ZXIgY29kZSByZWFkYWJpbGl0eS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDQ2MQoKMjAxNS0wMi0xMyAyMDo0MDo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4c2luazogZmxhZyBhcyBzaW5rIGZyb20gdGhlIHN0YXJ0CgoyMDE1LTAyLTExIDE1OjMwOjQ0ICswMTAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZ3N0L2lzb21wNC9NYWtlZmlsZS5hbToKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9nc3Rpc29mZi5jOgoJKiBnc3QvaXNvbXA0L2dzdGlzb2ZmLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogSW5pdGlhbCAnc2lkeCcgYXRvbSBwYXJzaW5nIHN1cHBvcnQKCSAgUGFyc2UgdGhlICdzaWR4JyBhdG9tIGFuZCB1cGRhdGUgdGhlIHRvdGFsIGR1cmF0aW9uIGFjY29yZGluZyB0byB0aGUKCSAgcGFyc2VyIHJlc3VsdC4gVGhlIGlzb2ZmIHBhcnNlciBjb2RlIGlzIGltcG9ydGVkIGZyb20KCSAgZ3N0LXBsdWdpbnMtYmFkJ3MgZGFzaGRlbXV4IGFuZCBhIGdzdF9pc29mZl9zaWR4X3BhcnNlcl9hZGRfZGF0YSgpCgkgIGZ1bmN0aW9uIHdhcyBmYWN0b3JlZCBvdXQgb2YgdGhlIGdzdF9pc29mZl9zaWR4X3BhcnNlcl9hZGRfYnVmZmVyKCkKCSAgZnVuY3Rpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDM1NzgKCjIwMTUtMDItMTEgMDU6MDY6NDUgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogVXNlIGdzdF92aWRlb19ndWVzc19mcmFtZXJhdGUoKQoJICBVc2UgZ3N0X3ZpZGVvX2d1ZXNzX2ZyYW1lcmF0ZSgpIGZyb20gbGliZ3N0dmlkZW8gdG8gZ3Vlc3MKCSAgc2Vuc2libGUgY29tbW9uIGZyYW1lcmF0ZXMgd2hlcmUgcG9zc2libGUgZnJvbSB0aGUKCSAgZmxvYXRpbmcgcG9pbnQgZnBzIGluIHRoZSBzdHJlYW0uCgoyMDE1LTAyLTExIDEzOjUzOjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cHgvZ3N0dnA5ZW5jLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIEltcHJvdmUgYW5kIGZpeCBMQVRFTkNZIHF1ZXJ5IGhhbmRsaW5nCgkgIFRoaXMgbm93IGZvbGxvd3MgdGhlIGRlc2lnbiBkb2NzIGV2ZXJ5d2hlcmUsIGVzcGVjaWFsbHkgdGhlIG1heGltdW0gbGF0ZW5jeQoJICBoYW5kbGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDEwNgoKMjAxNS0wMi0xMSAxMDoyOTo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogSGFuZGxlIGZpcnN0IFJUQ1AgcGFja2V0IGFuZCBlYXJseSBmZWVkYmFjayBjb3JyZWN0bHkKCSAgQWNjb3JkaW5nIHRvIFJGQyA0NTg1IHNlY3Rpb24gMy41LjMgc3RlcCAxIHdlIGFyZSBub3QgYWxsb3dlZCB0byBzZW5kCgkgIGFuIGVhcmx5IFJUQ1AgcGFja2V0IGZvciB0aGUgdmVyeSBmaXJzdCBvbmUuIEl0IG11c3QgYmUgYSByZWd1bGFyIG9uZS4KCSAgQWxzbyBtYWtlIHN1cmUgdG8gbm90IHVzZSBsYXN0X3J0Y3Bfc2VuZF90aW1lIGluIGFueSBjYWxjdWxhdGlvbnMgdW50aWwKCSAgd2UgYWN0dWFsbHkgc2VudCBhbiBSVENQIHBhY2tldCBhbHJlYWR5LiBJbiBzcGVjaWZpYyB0aGlzIG1lYW5zIHRoYXQgd2UKCSAgbXVzdCBub3QgdXNlIGl0IGZvciBmb3J3YXJkIHJlY29uc2lkZXJhdGlvbiBvZiB0aGUgY3VycmVudCBSVENQIHNlbmQgdGltZS4KCSAgSW5zdGVhZCB3ZSBkb24ndCBkbyBhbnkgZm9yd2FyZCByZWNvbnNpZGVyYXRpb24gZm9yIHRoZSBmaXJzdCBSVENQIHBhY2tldC4KCjIwMTUtMDItMTAgMTg6NTM6NTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSAgcnRwaDI2M2RlcGF5OiBmaXggY29tcGlsYXRpb24gd2l0aCBnY2MgNS4wCgoyMDE1LTAyLTEwIDE2OjAwOjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW5rOiBmaXggZXhhbXBsZSBwaXBlbGluZSBwcm9wZXJseQoJICB4MjY0ZW5jIG1pZ2h0IG5vdCBoYXZlIGEgbWF4LWtleS1pbnQgcHJvcGVydHksIGJ1dCBpdAoJICBoYXMgYSBrZXktaW50LW1heCBwcm9wZXJ0eS4uLgoKMjAxNS0wMi0xMCAxNDo1Nzo1NSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzcmMuYzoKCSAgc3BsaXRtdXg6IGZpeCB0eXBvCgoyMDE1LTAyLTEwIDE0OjU2OjIzICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXg6IHVwZGF0ZSBleGFtcGxlIHBpcGVsaW5lCgkgIEVsZW1lbnQgeDI2NGVuYyBkb2Vzbid0IGhhdmUgYSBtYXgta2V5LWludCBwcm9wZXJ0eQoKMjAxNS0wMi0xMCAxMzoyOTozMiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4OiBmaXggbWVtb3J5IGxlYWsKCSAgSWYgZXhlY3V0aW9uIGdvZXMgdG8gdGhlIGJlYWNoIGluIGxpbmUgOTgxLCBidWZfaW5mbyBnb2VzIG91dCBvZiBzY29wZSB3aXRob3V0CgkgIHRoZSBtZW1vcnkgYmVpbmcgZnJlZSdkLiBIYW5kbGUgdGhpcyBjYXNlLgoJICBDSUQgIzEyNjg0MDMKCjIwMTUtMDItMDggMTI6MDM6MTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBhd2t3YXJkIGlmIGNsYXVzZQoKMjAxNS0wMi0wNyAwMTo0MTo0OSArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4cGFydHJlYWRlci5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGxpdG11eC5jOgoJICBzcGxpdG11eDogQWRkIHVuaXQgdGVzdCBmb3IgZmlsZSBzcGxpdHRpbmcKCSAgQWRkIGEgdW5pdCB0ZXN0IGZvciBmaWxlIHNwbGl0dGluZywgYW5kIGZpeCB0aGUgbGVha3MgaW4gdGhlCgkgIHNwbGl0bXV4c2luayBpdCBmb3VuZAoKMjAxNS0wMi0wNiAxNDo0MzoyMiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogZml4IHdoaWNoIHN0b3AgdmFyaWFibGUgaXMgdXNlZCBpbiBhc3NpZ25tZW50CgkgIEFzc2lnbm1lbnQgaXMgZG9uZSB0byB2YXJpYWJsZSBzZWdtZW50LnN0b3Agd2hlbiB0aGUgaW50ZW50aW9uIHdhcyB0byBhc3NpZ24gdG8KCSAgbG9jYWwgdmFyaWFibGUgc3RvcC4gSW5zdGVhZCBvZiBvdmVyd3JpdGluZyBpdCwgdGhlIHZhbHVlIGlzIG5vdyBjbGFtcGVkIGFuZAoJICBzZWdtZW50LnN0b3AgaXMgc2V0IHRvIGl0IHNvb24gYWZ0ZXIuCgkgIENJRCAjMTI2NTc3MwoKMjAxNS0wMi0wNyAwMDoxOTozNiArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4cGFydHJlYWRlci5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwbGl0bXV4LmM6CgkgIHNwbGl0bXV4OiBGaXggbWVtb3J5IGxlYWtzIHVudGlsIHRoZSB0ZXN0IHZhbGdyaW5kcyBjbGVhbgoKMjAxNS0wMi0wNiAwNjo0MjoxNyArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4cGFydHJlYWRlci5jOgoJICBzcGxpdG11eDogSGFuZGxlIGVhcmx5IEVPUyBkdXJpbmcgcGFydCBwcmVwYXJhdGlvbgoJICBIYW5kbGUgdGhlIGNhc2Ugd2hlcmUgYSBzaG9ydCBmaWxlIHJlYWNoZXMgRU9TIHdoaWxlIHdlJ3JlIHN0aWxsCgkgIHdhaXRpbmcgZm9yIG5vLW1vcmUtcGFkcywgYW5kIG1ha2Ugc3VyZSB3ZSBjb250aW51ZSB0byB0aGUgaW50ZXJuYWwKCSAgUkVBRFkgc3RhdGUgZm9yIHJlYWwgcGxheWJhY2sgdG8gd29yayBwcm9wZXJseSBsYXRlci4KCjIwMTUtMDItMDYgMDU6MDM6MTkgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZmlsZXMvc3BsaXR2aWRlbzAwLm9nZzoKCSogdGVzdHMvZmlsZXMvc3BsaXR2aWRlbzAxLm9nZzoKCSogdGVzdHMvZmlsZXMvc3BsaXR2aWRlbzAyLm9nZzoKCSAgdGVzdHM6IENoYW5nZSBzcGxpdG11eCB0ZXN0IHZpZGVvIGZpbGVzCgkgIEF2b2lkIHRlc3QgZmFpbHVyZSBieSBjaGFuZ2luZyB0aGUgc3RvcmVkIHZpZGVvIHJlc29sdXRpb24KCSAgZnJvbSA4MHg2MCB0byA4MHg2NCwgd2hpY2ggbmVlZHMgYnVnIDc0MTAzMCB0byBiZSBmaXhlZC4KCjIwMTQtMDgtMDEgMDA6MDc6NTMgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhwYXJ0cmVhZGVyLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhwYXJ0cmVhZGVyLmg6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmg6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzcmMuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNyYy5oOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0dXRpbHMuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdHV0aWxzLmg6CgkqIGdzdC9tdWx0aWZpbGUvdGVzdC1zcGxpdG11eHBhcnRyZWFkZXIuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwbGl0bXV4LmM6CgkqIHRlc3RzL2ZpbGVzL3NwbGl0dmlkZW8wMC5vZ2c6CgkqIHRlc3RzL2ZpbGVzL3NwbGl0dmlkZW8wMS5vZ2c6CgkqIHRlc3RzL2ZpbGVzL3NwbGl0dmlkZW8wMi5vZ2c6CgkgIHNwbGl0bXV4OiBJbXBsZW1lbnQgbmV3IGVsZW1lbnRzIGZvciBzcGxpdHRpbmcgZmlsZXMgYXQgbXV4IGxldmVsLgoJICBJbXBsZW1lbnQgMiBuZXcgZWxlbWVudHMgLSBzcGxpdG11eHNpbmsgYW5kIHNwbGl0bXV4c3JjLgoJICBzcGxpdG11eHNpbmsgaXMgYSBiaW4gd2hpY2ggd3JhcHMgYSBtdXhlciBhbmQgdGFrZXMgMSB2aWRlbyBzdHJlYW0sCgkgIHBsdXMgYXVkaW8vc3VidGl0bGUgc3RyZWFtcywgYW5kIHN0YXJ0cyBhIG5ldyBmaWxlCgkgIHdoZW5ldmVyIG5lY2Vzc2FyeSB0byBhdm9pZCBvdmVycnVubmluZyBhIHRocmVzaG9sZCBvZiBlaXRoZXIgYnl0ZXMKCSAgb3IgdGltZS4gTmV3IGZpbGVzIGFyZSBzdGFydGVkIGF0IGEga2V5ZnJhbWUsIGFuZCBjb3JyZXNwb25kaW5nIGF1ZGlvCgkgIGFuZCBzdWJ0aXRsZSBzdHJlYW1zIGFyZSBzcGxpdCBhdCBwYWNrZXQgYm91bmRhcmllcyB0byBtYXRjaAoJICB2aWRlbyBHT1AgdGltZXN0YW1wcy4KCSAgc3BsaXRtdXhzcmMgaXMgYSBjb3JyZXNwb25kaW5nIHNvdXJjZSBlbGVtZW50IHdoaWNoIGhhbmRsZXMKCSAgdGhlIHNwbGl0bXV4Oi8vIFVSTCBhbmQgcGxheXMgYmFjayBhbGwgY29tcG9uZW50IGZpbGVzLAoJICByZWNvbnN0cnVjdGluZyB0aGUgb3JpZ2luYWwgZWxlbWVudGFyeSBzdHJlYW1zIGFzIGl0IGdvZXMuCgoyMDE1LTAyLTA0IDE2OjMyOjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJKiB0ZXN0cy9maWxlcy90ZXN0LWNlcnQucGVtOgoJKiB0ZXN0cy9maWxlcy90ZXN0LWtleS5wZW06CgkgIHRlc3RzOiBzb3VwaHR0cHNyYzogdXBkYXRlIHNzbCBrZXkvY2VydCBwYWlyCgkgIE91ciBvbmVzIHdlcmUgZXhwaXJlZC4gVGhlIG5ldyBvbmVzIHdlcmUgY29waWVkIGZyb20gbGlic291cCdzCgkgIHRlc3RzIGZpbGVzLgoJICBBbHNvIHNldHMgdGhlIHByb3BlcnR5IHRvIHVzZSBvdXIgb3duIGNlcnQgdG8gdmFsaWRhdGUgdGhlCgkgIHNlcnZlciwgb3RoZXJ3aXNlIHRoZSBkZWZhdWx0IHN5c3RlbSBjZXJ0cyB3b3VsZCBiZSB1c2VkCgkgIGFuZCBpdCB3b3VsZCBmYWlsLgoKMjAxNS0wMi0wNCAwMjoyNTo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiBwcmV2ZW50IHRyeWluZyB0byBnZXQgMCBieXRlcyBmcm9tIGFkYXB0ZXIKCSAgVGhpcyBjYXVzZXMgYW4gYXNzZXJ0aW9uIGFuZCB3b3VsZCBsZWFkIHRvIGdldHRpbmcgYSBOVUxMIGluc3RlYWQKCSAgb2YgYSBidWZmZXIuIFdpdGhvdXQgcHJvcGVyIGNoZWNraW5nIHRoaXMgd291bGQgZWFzaWx5IGxlYWQgdG8KCSAgYSBzZWdmYXVsdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3MTk5CgoyMDE1LTAyLTA0IDIxOjUwOjUxICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBTaW1wbGUgaW1wbGVtZW50YXRpb24gb2YgR1NUX1NFR01FTlRfRkxBR19UUklDS01PREVfS0VZX1VOSVRTCgkgIFdoZW4gdGhlIHRyaWNrbW9kZSBrZXktdW5pdHMgZmxhZyBpcyBzZXQgb24gdGhlIHNlZ21lbnQsIHNpbXBseSBza2lwCgkgIGFueSBzYW1wbGUgb24gYSB2aWRlbyBzdHJlYW0gdGhhdCBpc24ndCBhIGtleWZyYW1lCgoyMDE1LTAyLTAzIDE3OjM1OjUyICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IGNvbnRhaW5lciBoYW5kbGluZwoJICBXZSBkZXRlY3QgYSBjb250YWluZXIgY29ycmVjdGx5IG5vdyBzbyB3ZSBuZWVkIHRvIHJldmVydCB0aGUgd2VpcmQKCSAgY2hlY2sgdGhlcmUgd2FzIGJlZm9yZS4KCSAgVXNlIGdzdF9ydHNwc3JjX3N0cmVhbV9wdXNoX2V2ZW50KCkgdG8gcHVzaCB0aGUgY2FwcyBldmVudCBvbiB0aGUKCSAgcmlnaHQgcGFkLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTM5MQoKMjAxNS0wMi0wMiAxOTo0NjoyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgbWF0cm9za2FtdXg6IHN0b3JlIGFuZCB3cml0ZSBzdHJlYW0gdGFncwoJICBTZXBhcmF0ZSBnbG9iYWwgZnJvbSBzdHJlYW0gdGFncyBzdG9yYWdlIGFuZCB3cml0ZSB0aGVtIHRvIHRoZQoJICBhcHByb3ByaWF0ZSB0YWdzIGVudHJ5IGluIHRoZSBvdXRwdXQKCjIwMTUtMDItMDIgMTM6MzU6NTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwYXJzZSBzdHJlYW0gdGFncwoJICBLZWVwIGdsb2JhbCBhbmQgc3RyZWFtIHRhZ3Mgc2VwYXJhdGVseSBhbmQgcGFyc2UgdGhlIHVkdGEgbm9kZQoJICB0aGF0IGNhbiBiZSBmb3VuZCB1bmRlciB0aGUgdHJhayBhdG9tLiBUaGUgdWR0YSB3aWxsIGNvbnRhaW4KCSAgc3RyZWFtIHNwZWNpZmljIHRhZ3MgYW5kIHdpbGwgYmUgcHVzaGVkIGFzIHN1Y2gKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjQ3MwoKMjAxNS0wMS0zMSAxNDozMjozNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBzdG9yZSBzdHJlYW0gYW5kIGNvbnRhaW5lciB0YWdzIHNlcGFyYXRlbHkKCSAgVGFncyByZWNlaXZlZCB2aWEgZXZlbnRzLCB3aGVuIG1hcmtlZCBhcyBzdHJlYW0gdGFncywgd2lsbAoJICBiZSBzdG9yZWQgb24gdGhhdCBzdHJlYW0ncyB0cmFrIGF0b20gaW5zdGVhZCBvZiBiZWluZyBzdG9yZWQKCSAgaW4gdGhlIG1haW4gdGFncyBhdG9tLiBUaGlzIGFsbG93cyB0aGUgcmVzdWx0aW5nIGZpbGUgdG8gaGF2ZQoJICBnbG9iYWwgYW5kIHN0cmVhbSB0YWdzIHN0b3JlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjQ3MwoKMjAxNS0wMS0zMSAxMzoxNDo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlZmFjdG9yIHRhZ3MgZnVuY3Rpb25zIHRvIGFjY29tb2RhdGEgVURUQSBhdCB0cmFrIGxldmVsCgkgIFJlZmFjdG9yIHRoZSBmdW5jdGlvbnMgdGhhdCB3ZXJlIGJvdW5kIHRvIHRoZSAnbW9vdicgYXRvbSB0bwoJICBkaXJlY3RseSBwYXNzIHRoZSBkZXNpcmVkICd1ZHRhJyB0aGF0IHNob3VsZCByZWNlaXZlIHRoZSB0YWdzLgoJICBUaGlzIGFsbG93cyB0aGUgdGFncyB0byBiZSB3cml0dGVuIHRvICd1ZHRhJyBhdCB0aGUgJ21vb3YnIG9yCgkgIHRoZSAndHJhaycgbGV2ZWwsIGNyZWF0aW5nIHRhZ3MgdGhhdCBhcmUgZm9yIHRoZSBjb250YWluZXIgb3IKCSAgZm9yIGEgc3RyZWFtIG9ubHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTI0NzMKCjIwMTUtMDEtMzEgMTA6NDc6NDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IG1hcCBhcHBsaWNhdGlvbiBuYW1lIHRvIF9zd3IgdGFnCgkgIEl0IHJlZmVycyB0byB0aGUgYXBwbGljYXRpb24gbmFtZSBhbmQgdmVyc2lvbiB1c2VkIHRvIGNyZWF0ZSB0aGUKCSAgZmlsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyNDczCgoyMDE1LTAxLTMxIDAyOjMwOjQwICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogRml4IHNlZWtpbmcgcGFzdCB0aGUgZW5kIG9mIHRoZSBmaWxlIGluIHJldmVyc2UgbW9kZS4KCSAgU25hcCB0byB0aGUgZW5kIG9mIHRoZSBmaWxlIHdoZW4gc2Vla2luZyBwYXN0IHRoZSBlbmQgaW4gcmV2ZXJzZSBtb2RlLAoJICBhbmQgYWxzbyBmaXggR1NUX1NFRUtfVFlQRV9FTkQgYW5kIEdTVF9TRUVLX1RZUEVfTk9ORSBoYW5kbGluZwoJICBmb3IgdGhlIHN0b3AgcG9zaXRpb24gYnkgYWx3YXlzIHNlZWtpbmcgb24gYSBzZWdtZW50IGluIHN0cmVhbSB0aW1lCgoyMDE1LTAxLTMwIDE4OjIyOjMxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBGaXggc2lnbmFsIG5hbWUKCSAgVGhpcyB3YXNuJ3QgbWVhbnQgdG8gYmUgcHVzaGVkIGF0IGFsbCB5ZXQsIGJ1dCBub3cgdGhhdCBpdCdzIHRoZXJlCgkgIGFscmVhZHkgaXQgd29uJ3QgaHVydCB0byBtYWtlIGl0IGNvcnJlY3QgYXQgbGVhc3QuCgoyMDE1LTAxLTMwIDE2OjU2OjM1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgcnRwc3RhdHM6IEZpeCB0eXBvIGluIGRvY3VtZW50YXRpb24KCjIwMTUtMDEtMzAgMTY6NTA6MzYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogQWRkIG5ldyBvbi1yZWNlaXZpbmctcnRjcCBzaWduYWwKCSAgVGhpcyB3aWxsIGJlIGVtaXR0ZWQgd2hlbmV2ZXIgYW4gUlRDUCBwYWNrZXQgaXMgcmVjZWl2ZWQuIERpZmZlcmVudCB0bwoJICBvbi1mZWVkYmFjay1ydGNwLCB0aGlzIHNpZ25hbCBnZXRzIGV2ZXJ5IGNvbXBsZXRlIFJUQ1AgcGFja2V0IGFuZCBub3QKCSAganVzdCB0aGUgaW5kaXZpZHVhbCBmZWVkYmFjayBwYWNrZXRzLgoKMjAxNS0wMS0yOCAxNDowMjoxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBzaW1wbGlmeSBzZWdtZW50LmJhc2UgbWF0aAoJICBSZW1vdmUgYSBmaXggZm9yIGhlYXZpbHkgZWRpdGVkIGZpbGVzIGFkZGVkIGZvciBmaXhpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTM0NTgzMCB0byB3b3JrCgkgIHdpdGggc2Vla3MgYW5kIHByb3BlciBnYXBzIHBsYXliYWNrLiBUaGUgZml4IHdhcyByZXBsYWNlZAoJICBmb3IgYSBtb3JlIGdlbmVyYWwgc29sdXRpb24gdGhhdCBiYXNlcyBvbiB1c2luZyBwcmV2aW91cwoJICBzZWdtZW50J3MgZHVyYXRpb24sIGp1c3QgbGlrZSBpdCB3b3JrcyBmb3IgbWVkaWEgc2VnbWVudHMKCSAgcGxheWJhY2suCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDM1MTgKCjIwMTUtMDEtMjcgMTQ6MDA6MzUgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyb3JjLWRpc3QuYzoKCSAgdmlkZW9taXhlcjogdXBkYXRlIG9yYyBmaWxlcwoKMjAxNS0wMS0yNiAxNzowODoxMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCBkYXRhIGRyb3BwaW5nIGZvciBmcmFnbWVudGVkIHN0cmVhbXMKCSAgRm9yIGZyYWdtZW50ZWQgc3RyZWFtcyB3aXRoIGV4dHJhIGRhdGEgYXQgdGhlIGVuZCBvZiB0aGUgbWRhdAoJICBxdGRlbXV4IHdhcyBub3QgZHJvcHBpbmcgdGhvc2UgYnl0ZXMgYW5kIHdvdWxkIHRyeSB0byB1c2UKCSAgdGhhdCBleHRyYSBkYXRhIGFzIHRoZSBiZWdpbm5pbmcgb2YgYSBuZXcgYXRvbSwgY2F1c2luZyB0aGUKCSAgc3RyZWFtIHRvIGZhaWwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDM0MDcKCjIwMTUtMDEtMjUgMTc6MzA6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IERlcHJlY2F0ZSBydGNwLWltbWVkaWF0ZS1mZWVkYmFjay10aHJlc2hvbGQgcHJvcGVydHkKCSAgSXQgaGFkIG5vIGVmZmVjdCBzaW5jZSBxdWl0ZSBzb21lIHRpbWUgYW5kIGFsc28gaXMgbm90IG5lZWRlZCBpbiBnZW5lcmFsLAoJICBlc3BlY2lhbGx5IG5vdCB0byBzd2l0Y2ggYmV0d2VlbiBpbW1lZGlhdGUgZmVlZGJhY2sgbW9kZSBhbmQgZWFybHkgZmVlZGJhY2sKCSAgbW9kZS4gVGhlIGxhdGVzdCB1bmRlcnN0YW5kaW5nIG9mIHRoZSBSRkMgaXMgdGhhdCBmcm9tIHRoZSBlbmRwb2ludCBwb2ludCBvZgoJICB2aWV3LCBib3RoIG1vZGVzIGFyZSBleGFjdGx5IHRoZSBzYW1lLiBSVENQIGlzIG9ubHkgYWxsb3dlZCB0byB1c2UgdGhlCgkgIGJhbmR3aWR0aCBhcyBnaXZlbiBieSB0aGUgUkZDIGNvbnN0cmFpbnRzLCBhcyBzdWNoIGl0IGlzIG9ubHkgZXZlciBwb3NzaWJsZQoJICB0byBzY2hlZHVsZSBhIFJUQ1AgcGFja2V0IGVhcmx5IGJ1dCBpdCdzIGFnYWluc3QgdGhlIFJGQyB0byBzY2hlZHVsZSBtb3JlIFJUQ1AKCSAgcGFja2V0cy4KCSAgVGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBpbW1lZGlhdGUgZmVlZGJhY2sgbW9kZSBhbmQgZWFybHkgZmVlZGJhY2sgbW9kZSBpcyB0aGF0CgkgIHRoZSBmb3JtZXIgZ3VhcmFudGVlcyB0aGF0IGFuIFJUQ1AgcGFja2V0IGNhbiBiZSBzZW50IGZvciBldmVyeSBldmVudAoJICAiaW1tZWRpYXRlbHkiLCB3aGljaCBtZWFucyB0aGF0IHRoZSBiYW5kd2lkdGggY2FsY3VsYXRpb25zIGZyb20gdGhlIFJGQyBoYXZlCgkgIHJlc3VsdGVkIGluIGFuIFJUQ1Agc2NoZWR1bGluZyBpbnRlcnZhbCB0aGF0IGlzIHNtYWxsIGVub3VnaC4gRWFybHkgZmVlZGJhY2sKCSAgbW9kZSBvbiB0aGUgb3RoZXIgaGFuZCBtZWFucyB0aGF0IHdlIGNhbiBzY2hlZHVsZSBzb21lIHBhY2tldHMgZWFybHkgdG8gbWFrZQoJICB0aGF0IGhhcHBlbiwgYnV0IGl0J3Mgbm90IGd1YXJhbnRlZWQgYXQgYWxsIHRoYXQgaXQncyBwb3NzaWJsZSB0byBzY2hlZHVsZQoJICBhbiBSVENQIHBhY2tldCBwZXIgZXZlbnQgKGkuZS4gdGhleSBuZWVkIHRvIGJlIGFjY3VtdWxhdGVkIG9yIGRyb3BwZWQpLgoKMjAxNS0wMS0yMiAxMDoyOTozOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogRGVsYXkgdGhlIG5leHQgcmVndWxhciBSVENQIHBhY2tldCBhZnRlciBlYXJseSBSVENQCgkgIFRoaXMgaXMgcmVxdWlyZWQgdG8gbm90IGV4Y2VlZCB0aGUgc2hvcnQgdGVybSBhdmVyYWdlIFJUQ1AgYml0cmF0ZSB3aGVuCgkgIHVzaW5nIGVhcmx5IGZlZWRiYWNrIGFzIGNvbXBhcmVkIHRvIHdpdGhvdXQgZWFybHkgZmVlZGJhY2suCgoyMDE1LTAxLTIyIDEwOjI4OjUyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBBZGQgbmV3IHNlbmQtcnRjcC1mdWxsIHNpZ25hbAoJICBUaGlzIGluZGljYXRlcyB3aXRoIGEgYm9vbGVhbiByZXR1cm4gdmFsdWUgaWYgc2NoZWR1bGluZyBhIG5ldyBSVENQIHBhY2tldAoJICB3aXRoaW4gdGhlIHJlcXVlc3RlZCBkZWxheSB3YXMgcG9zc2libGUuIE90aGVyd2lzZSBpdCBiZWhhdmVzIGV4YWN0bHkgbGlrZQoJICBzZW5kLXJ0Y3AuIFRoZSBvbmx5IHJlYXNvbiBmb3IgYWRkaW5nIGEgbmV3IHNpZ25hbCBpcyBBQkkgY29tcGF0aWJpbGl0eS4KCjIwMTUtMDEtMjAgMDA6MzI6MDAgKzAwMDAgIEppbW15IE9obiA8eW9uZ2ppbi5vaG5AbGdlLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBGcmVlIGZvcm1hdF9pbmZvIGluIHF1ZXJ5X2dldGNhcHMKCSAgSWYgd2UgY2FuIG5vdCBjcmVhdGUgcHJvYmUgc3RyZWFtIGluIHF1ZXJ5X2dldGNhcHMgZnVuY3Rpb24sIGl0IHdpbGwgYXBwZWFyCgkgIG1lbW9yeSBsZWFrYWdlIGZyb20gZm9ybWF0IGluZm8uCgkgIFRoZSBmb2xsb3dpbmcgcGF0Y2ggcHJldmVudCBtZW1vcnkgbGVha2FnZSBpbiBwdWxzZXNpbmsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDMxNzgKCjIwMTUtMDEtMjMgMTc6MzU6NTEgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2FkZW11eDogcmVtb3ZlIHVubmVjZXNzYXJ5IGNoZWNrCgkgIE5vIG1hdHRlciBpZiBnc3RfbWF0cm9za2FfcmVhZF9jb21tb25fcGFyc2VfaW5kZXhfY3VldHJhY2sgKCkgcmV0dXJucyB0aGF0IHRoZQoJICBmbG93IGlzIE9LIG9yIG5vdCwgdGhlIGNoZWNrIHRoZXJlIHdpbGwgYmUgYSBicmVhayBmcm9tIHRoZSBzd2l0Y2guIFJlbW92aW5nIHRoZQoJICBjaGVjayBzaW5jZSB0aGUgb3V0Y29tZSBpcyB0aGUgc2FtZS4KCSAgQ0lEICMxMjY1NzYyCgoyMDE1LTAxLTIzIDE1OjE2OjI1ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogQXZvaWQgdXNpbmcgZnJlZWQgdmFyaWFibGUKCSAgdGhlIG5hbWUgdmFyaWFibGUgbWlnaHQgaGF2ZSBiZWVuIGF0dHJpYnV0ZWQgdG8gcGFkX25hbWUsIG1ha2Ugc3VyZSB3ZQoJICBmcmVlIGl0IG9ubHkgKmFmdGVyKiBwYWRfbmFtZSBoYXMgYmVlbiB1c2VkLgoJICBDb3Zlcml0eSBDSUQgOiAxMjY1Nzc0CgoyMDE1LTAxLTIzIDE1OjEzOjU1ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBBdm9pZCB1c2luZyBmcmVlZCB2YXJpYWJsZQoJICB0aGUgbmFtZSB2YXJpYWJsZSBtaWdodCBoYXZlIGJlZW4gYXR0cmlidXRlZCB0byBwYWRfbmFtZSwgbWFrZSBzdXJlIHdlCgkgIGZyZWUgaXQgb25seSAqYWZ0ZXIqIHBhZF9uYW1lIGhhcyBiZWVuIHVzZWQuCgkgIENvdmVyaXR5IENJRCA6IDEyNjU3NzUKCjIwMTQtMTEtMTQgMTI6NTk6MzEgKzAxMDAgIFBldGVyIFNlaWRlcmVyIDxwcy5yZXBvcnRAZ214Lm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogcmV1c2UgY2FwcyBmcmFtZXJhdGUgaWYgbm90IG92ZXJ3cml0dGVuIGJ5IHY0bDIgZGV2aWNlCgkgIEVuYWJsZXMgZHVyYXRpb24gc2V0dGluZyBpbiB2NGwyc3JjLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwNDAzCgoyMDE1LTAxLTIyIDEwOjI5OjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBGaXggaW5kZW50aW9uCgoyMDE1LTAxLTIxIDE3OjM2OjI2ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2R1bXAuYzoKCSAgcXRkZW11eF9kdW1wOiBCeXBhc3MgZXZlbiBtb3JlIGNvZGUgaWYgZGVidWdnaW5nIGlzIGRpc2FibGVkCgkgIEFuZCBhdm9pZCB1c2luZyB2YXJpYWJsZXMgdGhhdCB3b24ndCBleGlzdCB3aGVuIGRlYnVnZ2luZyBpcyBkaXNhYmxlZAoKMjAxNS0wMS0yMSAxNTozMDozMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eF9kdW1wLmM6CgkgIHF0ZGVtdXg6IE9ubHkgdHJhdmVyc2UvZHVtcCBub2RlcyBpZiBndWFyYW50ZWVkIHRvIGJlIHVzZWQKCSAgX19nc3RfZGVidWdfbWluIGlzIHRoZSAiZ2xvYmFsIiBsb3dlc3QgZGVidWcgbGV2ZWwgc2V0LiBUaGVyZSdzIG5vCgkgIGd1YXJhbnRlZSB0aGUgcXRkZW11eCBkZWJ1ZyBjYXRlZ29yeSBpcyBhY3R1YWxseSBzZXQgYXQgdGhhdCBsZXZlbC4KCjIwMTQtMTItMjAgMTc6MDk6MTQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkgIG1hdHJvc2thOiBBdm9pZCBkZWJ1Z2dpbmcgYmVsb3cgY2F0ZWdvcnkgdGhyZXNob2xkCgkgIFRoaXMgcGFydCBhbG9uZSB3YXMgd2hhdCBtYWRlIHRoZSBtYXRyb3NrYSB0aHJlYWQgdGFrZSBhIGZ1bGwgY29yZQoJICBvbiBhbiBhbmRyb2lkIHBob25lIC4uLgoKMjAxNS0wMS0yMSAwOTo1NTozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdi9nc3RzbXB0ZXRpbWVjb2RlLmM6CgkqIGV4dC9taWttb2QvbWlrbW9kX3R5cGVzLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuYzoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb3RlbXBsYXRlLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBDb25zdGlmeSBzb21lIHN0YXRpYyBhcnJheXMgZXZlcnl3aGVyZQoKMjAxNS0wMS0xOSAxNzo0OTo1NCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGRlYWRsb2NrIHNlZWtpbmcgaW4gZmlsZXMgd2l0aG91dCBzZWVrIGVudHJpZXMKCSAgQSBtdXRleCB1bmxvY2sgd2FzIG1pc3NpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk5NzUKCjIwMTUtMDEtMTkgMTI6MzQ6MjUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSAgdmlkZW9taXhlcjogZml4IGlsbGVnYWwgbWVtb3J5IGFjY2VzcyBpbiBibGVuZCBmdW5jdGlvbiB3aXRoIG5lZ2F0aXZlIHlwb3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTExNQoKMjAxNS0wMS0xMyAxNjo0OTozNCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogUHJveHkgZ2V0Y2FwcwoJICBSZXBsYWNlIHRoZSBzaW5rX3F1ZXJ5IHdpdGggbmV3IGdldGNhcHMoKSB2aXJ0dWFsIGFuZCB1c2UgdGhlIHByb3h5CgkgIGhlbHBlciB3aXRoIHRoZSBwcm9iZWQgY2Fwcy4gVGhpcyBhbGxvdyB1cHN0cmVhbSBlbGVtZW50IHRha2luZyBkZWNpc2lvbgoJICBiYXNlIG9uIHdoYXQgaXMgc3VwcG9ydGVkIGRvd25zdHJlYW0uCgoyMDE1LTAxLTEzIDE5OjA1OjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBBZGQgc3VwcG9ydCBmb3IgdjIxMAoKMjAxNS0wMS0xMyAxODo1ODowMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiB2MjEwIGlzIHYyMTAsIG5vdCBVWVZZIGFuZCB5dXYyIGlzIFlVWTIsIG5vdCBJNDIwCgkgIEFsc28gYWRkIGEgZmV3IG90aGVyIHJhdyB2aWRlbyBmb3JtYXRzIHdlIHN1cHBvcnQ6IHYzMDgsIHYyMTYKCSAgYW5kIGFkZCBjb21tZW50cyBmb3IgYSBmZXcgb3RoZXJzIHdlIGRvbid0IHN1cHBvcnQgeWV0LgoJICBodHRwczovL2RldmVsb3Blci5hcHBsZS5jb20vbGlicmFyeS9tYWMvdGVjaG5vdGVzL3RuMjE2Mi8KCjIwMTUtMDEtMTIgMTU6NTY6MjkgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGYyYzZiOTUgdG8gYmM3NmE4YgoKMjAxNS0wMS0xMCAxNTo1MToxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5oOgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogRGlzYWJsZSBoYWNrIGZvciBOU0FwcCBpdGVyYXRpb24gd2l0aCBhIHNwZWNpYWwgI2RlZmluZQoJICBUaGUgaGFjayBjYXVzZXMgZGVhZGxvY2tzIGFuZCBvdGhlciBpbnRlcmVzdGluZyBwcm9ibGVtcyBhbmQgaXQgcmVhbGx5CgkgIGNhbiBvbmx5IGJlIGZpeGVkIHByb3Blcmx5IGluc2lkZSBHTGliLiBXZSB3aWxsIGluY2x1ZGUgYSBwYXRjaCBmb3IKCSAgR0xpYiBpbiBvdXIgYnVpbGRzIGZvciBub3cgdGhhdCBoYW5kbGVzIHRoaXMsIGFuZCBob3BlZnVsbHkgYXQgc29tZQoJICBwb2ludCBHTGliIHdpbGwgYWxzbyBtZXJnZSBhIHByb3BlciBzb2x1dGlvbi4KCSAgQSBwcm9wZXIgc29sdXRpb24gd291bGQgZmlyc3QgcmVxdWlyZSB0byByZWZhY3RvciB0aGUgcG9sbGluZyBpbgoJICBHTWFpbkNvbnRleHQgdG8gb25seSBwcm92aWRlIGEgc2luZ2xlIGZkLCBlLmcuIHZpYSBlcG9sbC9rcXVldWUKCSAgb3IgYSB0aHJlYWQgbGlrZSB0aGUgb25lIGFkZGVkIGJ5IG91ciBwYXRjaC4gVGhlbiB0aGlzIHNpbmdsZQoJICBmZCBjb3VsZCBiZSByZXRyaWV2ZWQgZnJvbSB0aGUgR01haW5Db250ZXh0IGFuZCBkaXJlY3RseSBpbnRlZ3JhdGVkCgkgIGludG8gYSBOU1J1bkxvb3AuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDE0NTAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDM3NAoKMjAxNS0wMS0wOCAyMTowNzowNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IHVuY29yayBpZiBuZWVkZWQgdXBvbiBjb21taXQKCSAgLi4uIHRvIHByb3ZpZGUgZm9yIGEgcnVubmluZyBjbG9jay4KCjIwMTUtMDEtMDkgMTY6NTk6NTMgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IFByZXZlbnQgcmVuZWdvdGlhdGlvbgoJICBSZW5lZ290aWF0aW9uIGlzbid0IHN1cHBvcnRlZCwgc2ltcGx5IHByZXZlbnQgaXQgdGhlIHdheSB3ZSBkbyBpbgoJICB2NGwyc3JjLgoKMjAxNS0wMS0wNiAxMzo1NDoyNSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogRG9uJ3QgdW5sb2NrIHRoZSBzdHJlYW0gbG9jayB0d2ljZQoKMjAxNS0wMS0wOSAxMTo0MDo0MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBzdHJlYW0gdGltZSBjb252ZXJzaW9uCgkgIFVzZSB0aGUgcmlnaHQgbWFjcm8gdG8gY29udmVydCB0byB0aGUgY29ycmVjdCBzY2FsZSBvciB0aGUKCSAgc2VnbWVudCBpbmZvcm1hdGlvbiB3aWxsIGJlIHdyb25nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI1NzIKCjIwMTUtMDEtMDcgMTg6NDg6NTggLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJICB2NGwyYWxsb2NhdG9yOiBBZGQgcHJvdGVjdGlvbiBhZ2FpbnN0IGRyaXZlciBidWcKCSAgdjRsMmxvb3BiYWNrIGRyaXZlciBoYXMgYSB0aGlzIG5hc3R5IGJ1ZyB0aGF0IGlmIHRoZSBxdWV1ZSBpcyBsYXJnZXIKCSAgdGhlbiAyIGJ1ZmZlcnMsIGl0IHJldHVybnMgcmFuZG9tIGluZGV4IG9uIGRxYnVmLiBTbyBmYXIgd2UgYXNzdW1lZAoJICB0aGF0IHRoZSBpbmRleCB3YXMgYWx3YXlzIHJpZ2h0LCB3aGljaCB3b3VsZCBsZWFkIHRvIG1lbW9yeSBiZWluZwoJICB1bnJlZiB0d2ljZSwgYW5kIGV2ZW50dWFsbHkgY3Jhc2guCgoyMDE1LTAxLTA3IDE3OjU4OjA1IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBEb24ndCB1c2UgYWxsb2NhdG9yIHNpemUgdG8gaXRlcmF0ZQoJICBBcyB0aGUgYnVmZmVyIGFycmF5IGlzIGZpeGVkIHNpemUgYW5kIHNtYWxsLCBpdCdzIHNhZmVyIHRvIHNpbXBseQoJICB1c2UgdGhpcyBzdGF0aWMgc2l6ZSB0byBjbGVhbnVwIHRoZSBidWZmZXJzLiBUaGlzIGlzIGFsc28gbW9yZQoJICBjb25zaXN0ZW50IHdpdGggdGhlIHJlc3QuIFRoZSBhc3NvY2lhdGVkIG1ldGhvZCBpcyBubyBsb25nZXIKCSAgcmVxdWlyZWQgYW5kIGNhbiBiZSBkcm9wcGVkLgoKMjAxNS0wMS0wNyAxNzo1NToxNCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogRG9uJ3QgY2xlYW4gYnVmZmVyIGFycmF5IGluIGRpc3Bvc2UKCSAgVGhpcyBzaG91bGQgYWxyZWFkeSBoYXZlIGJlZW4gZG9uZSwgcGx1cyB0aGlzIGNvZGUgaXMgaW5jb3JyZWN0CgkgIGFuZCBtYXkgbGVhZCB0byBjcmFzaC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjA3NAoKMjAxNS0wMS0wNyAxNzo0ODozMSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogRG9uJ3QgcmVmIHF1ZXVlZCBvdXRwdXQgYnVmZmVyCgkgIFRoaXMgcGFydGx5IHJldmVydCB0byB0aGUgb2xkIDEuMiBiZWhhdmlvci4gSW5zdGVhZCBvZiBrZWVwaW5nIGEKCSAgcmVmZXJlbmNlIHRvIHRoZSBvdXRwdXQgYnVmZmVyIHF1ZXVlZCwgd2Ugc2ltcGx5IHJlbGVhc2UgdGhlbSBidXQKCSAgZG9uJ3QgZm9yd2FyZCBpdCB0byBHc3RCdWZmZXJQb29sLiBUaGlzIHdheSwgdGhlIGJ1ZmZlciBwb29sIGRvbid0CgkgIG5lZWQgdG8gYmUgZmx1c2hlZCB0byBiZSBzdG9wcGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyMDc0CgoyMDE1LTAxLTA4IDExOjM3OjIzIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBOZXZlciBmYWlsIG9uIHN0cmVhbW9mZgoJICBGYWlsaW5nIHN0cmVhbW9mZiBwcmV2ZW50cyBhbGxvY2F0b3IgZnJvbSBiZWluZyBkaXNwb3NlZCBoZW5jZQoJICBsZWFkIHRvIGRldmljZSBGRCBsZWFrLiBUaGVyZSBpcyBubyBrbm93biBjYXNlcyB3aGVyZSBzdHJlYW1vZmYKCSAgbWF5IGZhaWxzIGZvciB3aGljaCB3ZSdkIHN0aWxsIGJlIHN0cmVhbWluZy4gc3RyZWFtb2ZmIGlzIGtub3duCgkgIHRvIGZhaWwgd2hlbiBhIGRldmljZSBpcyBiZWluZyB1bnBsdWdnZWQgKGluIHdoaWNoIGNhc2UgZXJybm8KCSAgMTkvRU5PREVWIGlzIHNldCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI3MzQKCjIwMTUtMDEtMDcgMjE6NTI6MTcgLTA1MDAgIEJyYWQgU21pdGggPGJyYWRAY29tc3R5bGUuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICB2NGwyOiBBZGQgc3VwcG9ydCBmb3IgZGV0ZWN0aW5nIHRoZSBwcmVzZW5jZSBvZiBWNEwyIHN1cHBvcnQgb24gT3BlbkJTRAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9yZXZpZXc/YnVnPTc0MjUwMwoKMjAxNS0wMS0wNCAxNTo1NzoxMCArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IHJlcXVlc3QgYXQgbGVhc3QgOCBieXRlcyB0byBwcm9wZXJseSBwYXJzZSBoZWFkZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjMyNQoKMjAxNS0wMS0wNyAxNjoyMDowMyAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bWljaGFlbC5zbWl0aEByZGlvLmNvbT4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogc2tpcCBhbiBhZGRpdGlvbmFsIHVuaW50ZXJlc3RpbmcgY2h1bmsgdHlwZSBiZWZvcmUgdGhlIGZtdCBjaHVuay4KCjIwMTUtMDEtMDcgMTg6MTY6MTIgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSAgYXVkaW9keW5hbWljOiBhc3NlcnQgZnVuY19pbmRleCBpcyBpbnNpZGUgYm91bmRzCgkgIEJyaW5naW5nIGJhY2sgdGhlIGNoZWNrIHJlbW92ZWQgaW4gdGhlIHByZXZpb3VzIGNvbW1pdCBidXQgaGF2ZSB0aGF0IGNoZWNrIGJlIGEKCSAgZ19hc3NlcnQuIENoYW5naW5nIHRoZSBmdW5jdGlvbiB0byBzdGF0aWMgdm9pZCBzaW5jZSByZXR1cm4gY2FuIG5ldmVyIGJlIEZhbHNlLAoJICBiZWNhdXNlIGF1ZGlvIGZvcm1hdCB3aWxsIG5ldmVyIGJlIHVua293bi4KCjIwMTUtMDEtMDcgMTc6MzE6MzkgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSAgYXVkaW9keW5hbWljOiByZW1vdmUgYWx3YXlzLXRydWUgY29uZGl0aW9uYWwKCSAgZnVuY19pbmRleCBpcyBzZXQgYnkgdGhlIHN1bSBvZiB0aHJlZSB0ZXJuYXJ5IG9wZXJhdG9ycyB3aGljaCBhZGQsIDA6NCwgMDoyLAoJICBhbmQgMTowLiBNaW5pbXVtIHZhbHVlIHdvdWxkIGJlIDArMCswPTAsIGFuZCBtYXhpbXVtIHdvdWxkIGJlIDQrMisxPTcuCgkgIFRoZSBjb25kaXRpb25hbCBjaGVja2luZyBpZiBmdW5jX2luZGV4IGlzID49IDAgYW5kIDwgOCB3aWxsIGFsd2F5cyBiZSB0cnVlLgoJICBSZW1vdmluZyBpdC4KCSAgQ0lEIDEyMjY0NDIKCjIwMTUtMDEtMDcgMTg6MDU6MTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBJZiB3ZSBnZXQgYSBnYXAgd2l0aCBhIGJ1ZmZlciB3aXRob3V0IERUUywgZXJyb3Igb3V0CgkgIFdlIChjdXJyZW50bHk/KSBjYW4ndCByZWFsbHkgaGFuZGxlIGdhcHMgYmV0d2VlbiBSVFAgcGFja2V0cyBpZiB0aGV5J3JlIG5vdAoJICBwcm9wZXJseSB0aW1lc3RhbXBlZC4gVGhlIGN1cnJlbnQgY29kZSB3b3VsZCBnbyBpbnRvIGNhbGN1bGF0aW9ucyB3aXRoCgkgIEdTVF9DTE9DS19USU1FX05PTkUgYW5kIHRoZW4gY2F1c2UgYXNzZXJ0aW9ucyBldmVyeXdoZXJlLiBJdCdzIHByb2JhYmx5CgkgIGJldHRlciB0byBlcnJvciBvdXQgY2xlYW5seSBpbnN0ZWFkLgoKMjAxNC0xMS0yMSAxMTozOToxOSAtMDgwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHNldCBQTEFZSU5HIHN0YXRlIGFmdGVyIGNvbmZpZ3VyaW5nIGNhcHMKCSAgV2Ugc2V0IHRvIFBMQVlJTkcgYWZ0ZXIgd2UgaGF2ZSBjb25maWd1cmVkIHRoZSBjYXBzLCBvdGhlcndpc2Ugd2UKCSAgbWlnaHQgZW5kIHVwIGNhbGxpbmcgcmVxdWVzdF9rZXkgKHdpdGggU1JUUCkgd2hpbGUgY2FwcyBhcmUgc3RpbGwKCSAgYmVpbmcgY29uZmlndXJlZCwgZW5kaW5nIGluIGEgY3Jhc2guCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA1MDUKCjIwMTQtMTItMzAgMTg6MDM6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9pY2xlcy9nZGtwaXhidWZvdmVybGF5LXRlc3QuYzoKCSAgdGVzdHM6IGdka3BpeGJ1Zm92ZXJsYXktdGVzdDogcmVtb3ZlIG91dGRhdGVkIEZJWE1FCgoyMDE0LTEyLTMwIDE3OjE5OjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwY29sbGlzaW9uLmM6CgkgIHRlc3RzOiBydHBjb2xsaXNpb246IHVzZSBhbGF3ZW5jL2RlYyBpbiB0aGVzZSB0ZXN0cyBpbnN0ZWFkIG9mIFNwZWV4CgkgIFRoZXkgc2hvdWxkIGFsd2F5cyBiZSBidWlsdCwgd2hpbGUgdGhlIHNwZWV4IGVsZW1lbnRzIGFyZSBub3QuCgkgIE5lZWQgdG8gY2hlY2sgZm9yIGEgc21hbGxlciBudW1iZXIgb2YgYnVmZmVycyB0aGVuICg3LT40KSBiZWNhdXNlCgkgIHNwZWV4ZW5jIHdpbGwgYWRkIDMgaGVhZGVyIGJ1ZmZlcnMgd2hpbGUgYWxhd2VuYyB3aWxsIGp1c3Qgb3V0cHV0CgkgIGFzIG1hbnkgYnVmZmVycyBhcyBpdCByZWNlaXZlcyBhcyBpbnB1dC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjA5OAoKMjAxNC0xMi0zMCAxNjozNjowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkgIHRlc3RzOiBzaW1wbGUtbGF1bmNoLWxpbmVzOiBvbmx5IHJ1biBqcGVnL3BuZyB0ZXN0cyBpZiBlbGVtZW50cyBhcmUgYXZhaWxhYmxlCgoyMDE0LTEyLTMwIDE2OjI2OjU4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IERvbid0IHJldHVybiBhIGJ1ZmZlciB3aGVuIHJldHVybmluZyBub3QgR1NUX0ZMT1dfT0sKCSAgYmFzZXNyYyBhc3N1bWVzIHRoYXQgd2UgZG9uJ3QgcmV0dXJuIGEgYnVmZmVyIGlmCgkgIHNvbWV0aGluZyBlbHNlIHRoYW4gT0sgaXMgcmV0dXJuZWQuIEl0IHdpbGwganVzdAoJICBsZWFrIGFueSBidWZmZXIgd2UgbWlnaHQgYWNjaWRlbnRpYWxseSBwcm92aWRlCgkgIGhlcmUuCgkgIFRoaXMgY2FuIHBvdGVudGlhbGx5IGhhcHBlbiBkdXJpbmcgZmx1c2hpbmcuCgkgIE1heWJlIGZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDE5OTMKCjIwMTQtMTItMzAgMTQ6NTI6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBhdXguYzoKCSAgdGVzdHM6IHJ0cGF1eDogdXNlIGFsYXdlbmMvZGVjIGluIHRoZXNlIHRlc3RzIGluc3RlYWQgb2YgU3BlZXgKCSAgVGhleSBzaG91bGQgYWx3YXlzIGJlIGJ1aWx0LCB3aGlsZSB0aGUgc3BlZXggZWxlbWVudHMgYXJlIG5vdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjA5OAoKMjAxNC0xMi0yOSAxNTozNToxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBJbXByb3ZlIGRldGVjdGlvbiBvZiBiZWluZyBzdHVjayBhdCB0aGUgc2FtZSBvZmZzZXQKCSAgT25seSBlcnJvciBvdXQgaWYgd2UgcmVhZCBmcm9tIHRoZSBzYW1lIHBvc2l0aW9uIGFnYWluIGFuZCBnb3QgdGhlCgkgIHNhbWUgbGVuZ3RoLiBKdXN0IHRoZSBzYW1lIHBvc2l0aW9uIGlzIG5vdCBuZWNlc3NhcmlseSBlbm91Z2guCgoyMDE0LTEyLTI5IDE1OjAwOjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IERvbid0IGdldCBzdHVjayBhdCB0aGUgc2FtZSBvZmZzZXQgd2hlbiBzZWFyY2hpbmcgZm9yIGNsdXN0ZXJzCgkgIFRoaXMgY291bGQgaGFwcGVuIGlmIHRoZXJlIGlzIGFuIGludmFsaWQgY2x1c3RlciB3aXRoIHNpemUgMCwgYW5kIGluIHRoYXQKCSAgY2FzZSBqdXN0IGVycm9yIG91dCBpbnN0ZWFkIG9mIGxvb3BpbmcgZm9yZXZlci4KCjIwMTQtMTItMjUgMjE6MzI6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBmaXggQUxBQyBtdXhpbmcKCSAgQWN0dWFsbHkgY29weSB0aGUgY29kZWMgZGF0YSBpbnN0ZWFkIG9mIGNvcHlpbmcgbm90aGluZwoJICBhbmQgdGhlbiBib21iaW5nIG91dCBiZWNhdXNlIHRoZXJlJ3Mgbm8gZGF0YS4KCSAgRml4ZXM6IGdzdC1sYXVuY2gtMS4wIGF1ZGlvdGVzdHNyYyAhIGF2ZW5jX2FsYWMgISBxdG11eCAhIGZha2VzaW5rCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDE3ODMKCjIwMTQtMTItMjUgMTU6NDg6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgIHJ0cHB0ZGVtdXg6IGp1c3QgZHJvcCBpbnZhbGlkIHJ0cCBwYWNrZXRzIGluc3RlYWQgb2YgZXJyb3Jpbmcgb3V0CgkgIEFwcGFyZW50bHkgbGlucGhvbmUgc2VuZHMgYW4gaW52YWxpZCBSVFAgcGFja2V0IGFzIHZlcnkKCSAgZmlyc3QgcGFja2V0LiBXZSB3YW50IHRvIGlnbm9yZSB0aGF0IGluc3RlYWQgb2YgZXJyb3JpbmcKCSAgb3V0IChzYW1lIGZvciBhbnkgb3RoZXIgaW52YWxpZCBwYWNrZXRzIHJlYWxseSkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDEzOTgKCjIwMTQtMTItMjUgMTU6NDQ6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgIHJ0cHB0ZGVtdXg6IGZpeCAwLjEwLWlzbSBpbiBkb2NzCgoyMDE0LTEyLTI1IDE0OjU4OjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvaWNsZXMvZ2RrcGl4YnVmb3ZlcmxheS10ZXN0LmM6CgkgIHRlc3RzOiBnZGtwaXhidWZvdmVybGF5LXRlc3Q6IHVzZSBhYnNvbHV0ZSBwb3NpdGlvbmluZyB0byBmaXggZGVtbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5NTY2CgoyMDE0LTEyLTI1IDE0OjUzOjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5Lmg6CgkgIGdka3BpeGJ1Zm92ZXJsYXk6IGFkZCAicG9zaXRpb25pbmctbW9kZSIgcHJvcGVydHkgdG8gYWxsb3cgYWJzb2x1dGUgcG9zaXRpb25zCgkgIFNldCBwb3NpdGlvbmluZy1tb2RlPXBpeGVscy1hYnNvbHV0ZSB0byBhbGxvdyBwb3NpdGlvbmluZyB3aXRoCgkgIGFic29sdXRlIGNvb3JkaW5hdGVzLCBtZWFuaW5nIG5lZ2F0aXZlIHgveSBvZmZzZXRzIHdpbGwgYmUKCSAgaW50ZXJwcmV0ZWQgYXMgYmVpbmcgdG8gdGhlIGxlZnQvYWJvdmUgdGhlIHZpZGVvIGZyYW1lIGluc3RlYWQKCSAgb2YgYmVpbmcgaW50ZXJwcmV0ZWQgYXMgcmVsYXRpdmUgdG8gdGhlIHJpZ2h0L2JvdHRvbSBlZGdlIG9mCgkgIHRoZSB2aWRlbyBmcmFtZSAod2hpY2ggaXMgYSBzaWxseSBkZWZhdWx0LCBidXQgdGhhdCdzIGhvdyBpdCBpcykuCgkgIFRoaXMgbWVhbnMgd2UgY2FuIG5pY2VseSBzbGlkZSBpbWFnZXMgaW50byBhbmQgb3V0IG9mIHRoZSBmcmFtZSwKCSAgc2VlIGdka3BpeGJ1Zm92ZXJsYXktdGVzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTU2NgoKMjAxNC0xMi0yMiAxNTozMzo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkgIG9zeGF1ZGlvOiBEaXJlY3RseSByZXR1cm4gdGhlIHJpbmdidWZmZXIncyBjYXBzIGlmIGl0IGlzIGFjcXVpcmVkCgoyMDE0LTEyLTIyIDEyOjU2OjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSAgb3N4YXVkaW86IFB1dCBhbGwgYXVkaW8gZm9ybWF0cyBpbnRvIHRoZSB0ZW1wbGF0ZSBjYXBzCgkgIFdlIHJlcG9ydCB0aGUgcHJvcGVyIGNhcHMgbGF0ZXIgZnJvbSB0aGUgZ2V0X2NhcHMoKSB2ZnVuYyBpbXBsZW1lbnRhdGlvbiBhZnRlcgoJICBwcm9iaW5nIHRoZSBzZWxlY3RlZCBkZXZpY2UuCgoyMDE0LTEyLTIyIDEyOjU2OjA1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvcmluZ2J1ZmZlci5jOgoJICBvc3hhdWRpbzogQWxzbyBzZXQgdGhlIGJpZyBlbmRpYW4gZmxhZyBmb3IgZmxvYXRpbmcgcG9pbnQgc2FtcGxlcwoKMjAxNC0xMi0yMiAxMTo0NTo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIE1BSU5UQUlORVJTOgoJICBNQUlOVEFJTkVSUzogVXBkYXRlIG15IG1haWwgYWRkcmVzcwoKMjAxNC0xMi0yMiAxMDoyMzowMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkgIG9zeGF1ZGlvOiBGaXggZGVhZGxvY2sgYW5kIHByb3BlcnR5IGNoYW5nZSBub3RpZmljYXRpb24gaW4gZGV2aWNlIHNlbGVjdGlvbiBjb2RlCgkgIEFmdGVyIGNyZWF0aW5nIHRoZSByaW5nYnVmZmVyIHdlIGhhdmUgdG8gc2V0IHRoZSBkZXZpY2Ugb24gdGhlIHJpbmdidWZmZXIgYXMKCSAgaXQgZGVmYXVsdHMgdG8ga0F1ZGlvRGV2aWNlVW5rbm93bi4gQXQgdGhpcyBwb2ludCBpdCBjYW4ndCBoYXZlIGNoYW5nZWQgdG8KCSAgYW55dGhpbmcgZWxzZSB5ZXQgYW5kIHdlIGRvbid0IGhhdmUgdG8gbm90aWZ5IGFib3V0IGNoYW5nZXMgdG8gdGhlIHNpbmsvc3JjCgkgICJkZXZpY2UiIHByb3BlcnR5LiBJdCdzIGFsc28gbm90IGEgZ29vZCBpZGVhIGJlY2F1c2UgR3N0QXVkaW9CYXNlU3JjIGhhcyB0aGUKCSAgb2JqZWN0IGxvY2sgdGFrZW4gd2hpbGUgdGhlIHJpbmdidWZmZXIgaXMgY3JlYXRlZCwgd2hpY2ggbWlnaHQgY2F1c2UgYQoJICBkZWFkbG9jayBpZiBzb21ldGhpbmcgY2FsbHMgYmFjayBpbnRvIHRoZSBlbGVtZW50IGZyb20gIm5vdGlmeTo6ZGV2aWNlIi4KCSAgT25jZSB0aGUgYmFzZSBjbGFzcyBpcyBkb25lIHdpdGggdGhlIE5VTExfVE9fUkVBRFkgc3RhdGUgY2hhbmdlLCBpdCBoYXMgb3BlbmVkCgkgIHRoZSBkZXZpY2UgdmlhIHRoZSByaW5nYnVmZmVyIGFuZCB0aGlzIG1pZ2h0IGhhdmUgY2hvc2VuIGEgZGlmZmVyZW50IGRldmljZS4KCSAgRXNwZWNpYWxseSBpZiB3ZSBpbml0aWFsbHkgdXNlZCBrQXVkaW9EZXZpY2VVbmtub3duLiBBbHNvIG5vdGlmeSBhYm91dCB0aGlzCgkgIHByb3BlcnR5IGNoYW5nZSBhcyBpbml0aWFsbHkgaW50ZW5kZWQgYnkgdGhpcyBjb2RlLgoKMjAxNC0xMi0xOSAxMjozMDowMyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMnBvb2w6IFVwZGF0ZSBjb25maWd1cmF0aW9uIHNpemUKCSAgV2UgYWxyZWFkeSB1cGRhdGUgb3VyIGNvcHkgb2YgVmlkZW9JbmZvLnNpemUgdG8gcHJvcGVyIHNpemUsIG5vdyBhbHNvCgkgIHRoZSBjb25maWd1cmF0aW9uIHNvIHRoZSBzaXplIG1hdGNoZXMgb24gcmVsZWFzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTQyMAoKMjAxNC0xMi0xOSAxMDo1NzoyOSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgbWF0cm9za2EtZGVtdXg6IENhY2hlIHVwc3RyZWFtIGxlbmd0aAoJICBJbnN0ZWFkIG9mIGNvbnN0YW50bHkgcXVlcnlpbmcgdXBzdHJlYW0sIGp1c3QgY2FjaGUgdGhlIGxhc3QgZHVyYXRpb24sCgkgIGFuZCBpbiB0aGUgdW5saWtlbHluZXNzIHdlIG1pZ2h0IGhhdmUgZ29uZSBvdmVyIHF1ZXJ5IGFnYWluIGJlZm9yZQoJICBkZWNpZGluZyB3ZSBhcmUgRU9TLgoJICBDdXQgMTUlIGNwdSBvZmYgbWF0cm9za2FkZW11eCBzdHJlYW1pbmcgdGhyZWFkIChzcnNseS4uLikKCjIwMTQtMTItMTcgMTc6MzY6MTggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thOiBtdXgvZGVtdXggdGhlIE9wdXNIZWFkIGhlYWRlcgoJICBUaGlzIGlzIG1lYW50IHRvIGJlIHNvIChodHRwczovL3dpa2kueGlwaC5vcmcvTWF0cm9za2FPcHVzIC0gd2hpbGUKCSAgaXQgaXMgbWFya2VkIGFzIGEgZHJhZnQsIHRoaXMgcGFydCB3YXMgY29uZmlybWVkIHRvIGJlIGNvcnJlY3Qgb24KCSAgSVJDKSwgYW5kIGFsbG93cyBvbmUgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgYSBkZW11eGVkIHN0cmVhbSBpcwoJICBtdWx0aXN0cmVhbSBvciBub3QsIGFuZCB0aHVzIHNldCB0aGUgbXVsdGlzdHJlYW0gY2FwcyBmaWVsZAoJICBhY2NvcmRpbmdseS4gSW4gdHVybiwgdGhpcyBtZWFucyBkb3duc3RyZWFtIGRvZXMgbm90IGhhdmUgdG8gZ3Vlc3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA3NDQKCjIwMTQtMTItMTggMTE6NTA6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IERvbid0IGRlcmVmZXJlbmNlIE5VTEwgaWYgYSBzdWl0YWJsZSBzdHJlYW0gZm9yIHRoZSBBVVggZWxlbWVudCBjYW4ndCBiZSBmb3VuZAoJICBDSUQgMTI1ODcxNwoKMjAxNC0xMi0xOCAxMDo1MzozOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZWYxZmZkYyB0byBmMmM2Yjk1CgoyMDE0LTEyLTEyIDIzOjA2OjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgdWRwc2luazogYWxsb2NhdGUgc2NyYXRjaCBzcGFjZSBmb3IgcmVuZGVyIGZ1bmN0aW9ucyBvbiB0aGUgaGVhcAoJICBhbmQgbm90IHRoZSBzdGFjay4gT3VyIGFsbG9jYXRpb25zIGNvdWxkIGdldCBhIGJpdCB0b28gbGFyZ2UKCSAgdG8gYmUgc3VyZSBpdCdzIG5vdCBnb2luZyB0byBjYXVzZSB0cm91YmxlIHVzaW5nIHRoZSBzdGFjay4KCjIwMTQtMDYtMjQgMDE6MTY6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IHJlLXVzZSBzZW5kX2J1ZmZlcnMoKSBjb2RlIHBhdGggZm9yIHJlbmRlcigpIGZ1bmN0aW9uCgkgIEl0J3MgbGlrZSByZW5kZXJpbmcgYSBidWZmZXIgbGlzdCwganVzdCB3aXRoIG9uZSBidWZmZXIuCgkgIEhhcyB0aGUgYWRkZWQgYWR2YW50YWdlIHRoYXQgaWYgdGhlcmUgYXJlIG11bHRpcGxlIGNsaWVudHMKCSAgd2UgY2FuIHNlbmQgdGhlIGJ1ZmZlciB0byBhbGwgdGhlIGNsaWVudHMgaW4gb25lIGdvLgoKMjAxNC0wNi0yNCAwMToxNToyNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgIG11bHRpdWRwc2luazoga2VlcCBjbGllbnQgbGlzdCBjb25zaXN0ZW50IGR1cmluZyByZW1vdmFscwoJICBXZSB1bmxvY2sgYW5kIHJlLWxvY2sgdGhlIGNsaWVudCBsb2NrIHdoaWxlIGVtaXR0aW5nIHRoZQoJICByZW1vdmVkIHNpZ25hbCwgd2hpY2ggY2F1c2VzIGluY29uc2lzdGVuY2llcyBpbiB0aGUgY2xpZW50CgkgIGxpc3QgdnMuIHRoZSBjbGllbnQgY291bnRzLiBJbnN0ZWFkLCByZW1vdmUgdGhlIGNsaWVudCBmcm9tCgkgIHRoZSBsaXN0IGFscmVhZHkgYmVmb3JlIGVtaXR0aW5nIHRoZSBzaWduYWwgYW5kIHB1dCBpdCBpbnRvCgkgIGEgdGVtcG9yYXJ5IGxpc3Qgb2YgY2xpZW50cyB0byBiZSByZW1vdmVkLiBUaGF0IHdheSB0aGluZ3MKCSAgbG9vayBjb25zaXN0ZW50IHRvIHRoZSBzdHJlYW1pbmcgdGhyZWFkLCBidXQgc2lnbmFsIGNhbGxiYWNrcwoJICBjYW4gc3RpbGwgZG8gdGhpbmdzIGxpa2UgZ2V0IHN0YXRzIGZyb20gcmVtb3ZlZCBjbGllbnRzLgoKMjAxNC0wNi0yNCAwMDo1NjoyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazogZml4IGNsaWVudCBjb3VudCBhZnRlciByZW1vdmFsCgoyMDE0LTA2LTIzIDE4OjQzOjIxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiBrZWVwIGNsaWVudCBsaXN0IHNvcnRlZCBieSBzb2NrZXQgZmFtaWx5CgkgIFdlIG1ha2UgdXNlIG9mIGluIHRoZSBzZW5kX2J1ZmZlcnMoKSBmdW5jdGlvbiBpZiB3ZQoJICBuZWVkIHRvIHVzZSBkaWZmZXJlbnQgc29ja2V0cyB0byBzZW5kIHRvIElQdjQgYW5kCgkgIElQdjYgZGVzdGluYXRpb25zLgoKMjAxNC0wNi0yMCAxMTozNjoxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgIG11bHRpdWRwc2luazogYWRkIHNlbmRtbXNnLXJlYWR5IHJlbmRlcl9saXN0IGZ1bmN0aW9uIHByb3RvdHlwZQoJICBBZGQgcHJvdG90eXBlIGZvciBhIHJlbmRlcl9saXN0KCkgZnVuY3Rpb24gdGhhdCBjYW4gdXNlIGEKCSAgc2VuZG1tc2ctc3R5bGUgZ19zb2NrZXRfc2VuZF9tZXNzYWdlcygpIGZ1bmN0aW9uIG9uY2UgaXQgbGFuZHMKCSAgaW4gR0xpYi4gV2UgY2FuIHVzZSB0aGlzIGluZnJhc3RydWN0dXJlIHRvIHNlbmQgbXVsdGlwbGUgYnVmZmVycwoJICBtYWRlIHVwIGJ5IG11bHRpcGxlIG1lbW9yaWVzIHRvIG11bHRpcGxlIGNsaWVudHMgaW4gb25lIGdvLCB3aGljaAoJICBkcmFzdGljYWxseSByZWR1Y2VzIHRoZSBudW1iZXIgb2Ygc3lzY2FsbHMgbWFkZSB3aGVuIHNlbmRpbmcKCSAgaGlnaC1iaXRyYXRlIHZpZGVvIHN0cmVhbXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzIxNTIKCjIwMTQtMDYtMTkgMTk6MTY6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICBtdWx0aXVkcHNpbms6IG1ha2UgdWRwIGNsaWVudCBzdHJ1Y3R1cmUgcmVmY291bnRlZAoJICBVc2UgdGhlIHJlZmNvdW50IGZvciBtZW1vcnkgbWFuYWdlbWVudCBhbmQga2VlcCB0cmFjawoJICBvZiB0aGUgbnVtYmVyIG9mIGR1cGxpY2F0ZSBjbGllbnRzIGluIGEgc2VwYXJhdGUKCSAgdmFyaWFibGUuIFRoaXMgd2lsbCBiZSB1c2VmdWwgbGF0ZXIsIGFuZCBtZWFucyB3ZQoJICBkb24ndCBoYXZlIHRvIGhvbGQgdGhlIE9CSkVDVF9MT0NLIGFsbCB0aGUgdGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjg2NgoKMjAxNC0wNi0xOSAxODozMTowNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgIG11bHRpdWRwc2luazoga2VlcCBjb3VudCBvZiBudW1iZXIgb2YgdW5pcXVlIGFuZCBub24tdW5pcXVlIElQdjQgYW5kIElQdjYgY2xpZW50cwoJICBUaGlzIHdpbGwgY29tZSBpbiBoYW5keSBsYXRlci4KCjIwMTQtMTItMTYgMTU6MDA6MjIgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBEaXNhYmxlIGNyZWF0ZV9idWYgd2l0aCBsaWJ2NGwyCgkgIExpYnY0bDIgZG9lcyBub3Qgd29yayB3aXRoIENSRUFURV9CVUZTLiBJbnN0ZWFkIG9mIGZhaWxpbmcgb24gcmFuZG9tCgkgIGVycm9yIGNhdXNlZCBieSBsaWJ2NGwyLCBkaXNhYmxlIENSRUFURV9CVUZTIHdoZW4gYW4gZW11bGF0ZWQgZm9ybWF0IGlzCgkgIGRldGVjdGVkLgoKMjAxNC0xMi0wOSAxNzozOToxMiAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJICB2NGwyYWxsb2NhdG9yOiBBZGQgcHJvdGVjdGlvbiBhZ2FpbnN0IGJyb2tlbiBsaWJ2NGwyCgkgIEl0IGxvb2tzIGxpa2UgbGlidjRsMiBzdXBwb3J0IGZvciBDUkVBVEVfQlVGIGlzIGluY29tcGxldGUuIFRoYXQKCSAgY29tYmluZSB3aXRoIGV4aXN0aW5nIGJ1Z3MgbWF5IGxlYWQgdG8gY3Jhc2ggaW4gR1N0cmVhbWVyLiBUaGVzZQoJICBjaGVjayB3aWxsIG1ha2UgaXQgcm9idXN0IGJ5OgoJICAtIENoZWNraW5nIGNyZWF0ZSBidWYgaW5kZXggaXNuJ3QgYW4gYWxyZWFkeSBpbiB1c2VkIGluZGV4CgkgIC0gQ2hlY2tpbmcgdGhhdCB0aGUgaW5kZXggb3V0IG9mIFFVRVJZQlVGIG1hdGNoZXMgdGhlIHJlcXVlc3RlZAoJICBpbmRleAoKMjAxNC0xMi0xNiAxNjozNzoyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogQWRkIHNvbWV0aGluZyB0byB0aGUgZGVidWcgbG9ncyBpZiBhbiBSVFggQVVYIGVsZW1lbnQgY2FuJ3QgYmUgYWRkZWQKCSAgLi4uIGJlY2F1c2UgdGhlIGFwcGxpY2F0aW9uIGFscmVhZHkgaGFzIGEgc2lnbmFsIGhhbmRsZXIgc2V0IHVwIGhlcmUuCgoyMDE0LTExLTIxIDE0OjEzOjM0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogYWRkIHJldHJhbnNtaXNzaW9uIHN1cHBvcnQgYWNjb3JkaW5nIHRvIFJGQzQ1ODgKCSAgQmFzZWQgb24gdGhlIGNsaWVudC1ydHBhdXggZXhhbXBsZQoKMjAxNC0xMi0xNiAxMzoyNTowMSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogY2xlYXIgcmVjdGFuZ2xlIHN0cnVjdHVyZXMgYmVmb3JlIHVzZQoKMjAxNC0xMi0wOSAxNTowOTo1NiAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBBbHdheXMgc2V0IGZvcm1hdAoJICBSaWdodCBub3cgd2UgdHJ5IHRvIGJlIGNsZXZlciBieSBkZXRlY3RpbmcgaWYgZGV2aWNlIGZvcm1hdCBoYXZlCgkgIGNoYW5nZWQgb3Igbm90LCBhbmQgc2tpcCBzZXR0aW5nIGZvcm1hdCBpbiB0aGlzIGNhc2UuIFRoaXMgaXMgdmFsaWQKCSAgYmVoYXZpb3VyIHdpdGggVjRMMiwgYnV0IGl0J3MgYWxzbyB2ZXJ5IGVycm9yIHByb25lLiBUaGUgcmF0aW9uYWwKCSAgZm9yIG5vdCBzZXR0aW5nIHRoZXNlIGFsbCB0aGUgdGltZSBpcyBmb3Igc3BlZWQsIHRob3VnaCBJIGNhbid0CgkgIG1lYXN1cmUgYW55IG5vdGljZWFibGUgZ2FpbiBvbiBhbnkgSFcgSSBvd24uIEFsc28sIHVudGlsIHJlY2VudGx5LAoJICB3ZSB3aGVyZSBkb2luZyBnZXQvc2V0IG9uIHRoZSBmb3JtYXQgZm9yIGVhY2ggZm9ybWF0IHdlIHdoZXJlCgkgIHByb2JpbmcsIG1ha2luZyBpdCBuZWFyIHRvIGltcG9zc2libGUgdGhhdCB0aGUgZm9ybWF0IHdvdWxkIG1hdGNoLgoJICBUaGlzIGFsc28gZml4ZXMgYnVnIHdoZXJlIHdlIHdoZXJlIHNraXBwaW5nIGZyYW1lLXJhdGUgc2V0dGluZyBpZgoJICBmb3JtYXQgZGlkbid0IGNoYW5nZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDYzNgoKMjAxNC0xMi0xNSAxODozMDowMSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgdmlkZW9jcm9wOiBSZW1vdmUgdG9kbyBhYm91dCBjYXBzIGZpbHRlcgoJICBUaGUgZmlsdGVyIGlzIGFscmVhZHkgaW50ZXJlY3RlZC4KCjIwMTQtMTItMTUgMTg6MTk6MDUgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmg6CgkgIHZpZGVvY3JvcDogTWFrZSBzdXJlIG5ldyBjcm9wIGlzIGFwcGxpZWQKCSAgU2luY2UgImJhc2V0cmFuc2Zvcm06IEZpeCBjYXBzIGVxdWFsaXR5IGNoZWNrIiBjb21taXQgYTdmMzU3LAoJICBzZXRfaW5mbygpIHdpbGwgbm90IGJlIGNhbGxlZCBhbnltb3JlIGlmIGNyb3AgZGlkbid0IGNoYW5nZQoJICB0aGUgY2Fwcy4gVGhpcyBpcyBmaXhlZCBieSBzZXR0aW5nICJuZWVkX3VwZGF0ZSIgYm9vbGVhbiB3aGVuCgkgIGNyb3BwaW5nIHByb3BlcnRpZXMgaGFzIGJlZW4gY2hhbmdlZCwgYW5kIHRoZW4gYXBwbHlpbmcgdGhlc2UKCSAgaWYgdGhleSB3aGVyZSBub3QgYXBwbGllZCBiZWZvcmUgcmVuZGVyaW5nIHRoZSBuZXh0IGZyYW1lLiBUaGlzCgkgIHBhdGNoIGFsc28gZml4ZWQgdGhlIGxvY2tpbmcsIGRyb3BwaW5nIHVuLW5lZWRlZCBjdXN0b20gbG9jaywKCSAgYW5kIG5vIGhvbGRpbmcgbmVlZGxlc3MgbG9jayB3aGlsZSBkb2luZyB0aGUgb3BlcmF0aW9uIGFzIHdlCgkgIGFscmVhZHkgaG9sZCB0aGUgc3RyZWFtaW5nIGxvY2suCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA3ODcKCjIwMTQtMTItMTIgMTg6MTA6MzUgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGdpdEBhcnVucmFnaGF2YW4ubmV0PgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJICBvc3hhdWRpb3Npbms6IFByZWZlciBmaWx0ZXIgY2FwcyBvcmRlciB3aGlsZSBnZXR0aW5nIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDk4NwoKMjAxNC0xMi0wOSAxMzozODoyNiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkgIG9zeGF1ZGlvc2luazogQWRkIHNvbWUgZXJyb3IgaGFuZGxpbmcgYXJvdW5kIGNoYW5uZWwgbGF5b3V0IHBhcnNpbmcKCSAgRm9yIG5vdyB3ZSBqdXN0IHNwaXQgYSB3YXJuaW5nIGFuZCBpZ25vcmUgdGhlIGNoYW5uZWwgbGF5b3V0IGlmIHdlIGNhbid0CgkgIHN1cHBvcnQgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA5ODcKCjIwMTQtMTItMDggMjI6Mzg6MjIgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGdpdEBhcnVucmFnaGF2YW4ubmV0PgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSAgb3N4YXVkaW86IFRha2UgbG9jayBhcm91bmQgc2luay9zb3VyY2UgYmVmb3JlIGFjY2Vzc2luZyB0aGUgcmluZ2J1ZmZlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwOTg3CgoyMDE0LTEyLTAxIDIxOjA2OjI3ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9yZW1vdGVpby5jOgoJICBvc3hhdWRpb3NyYzogUHJvYmUgY2hhbm5lbCBsYXlvdXQgdG9vCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA5ODcKCjIwMTQtMTItMDEgMjA6MzI6MDQgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGdpdEBhcnVucmFnaGF2YW4ubmV0PgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJICBvc3hhdWRpb3Npbms6IE9ubHkgZml4IHVwIGNoYW5uZWxzL2xheW91dCBmb3IgUENNIGNhcHMgd2hpbGUgcHJvYmluZwoJICBJdCdzIHVubGlrZWx5IHRoYXQgc2V0dGluZyBhIGNoYW5uZWwgbGF5b3V0IHdpbGwgZG8gbXVjaCBmb3IgQUMzL0RUUwoJICBzdHJlYW1zLiBJZiB3ZSBmaW5kIGF0IHNvbWUgcG9pbnQgdGhhdCBpdCBkb2VzIG1ha2Ugc2Vuc2UsIHdlIGNhbgoJICBwZXJmb3JtIHRoZSBzdHJ1Y3R1cmUgY29weWluZyB1bmNvbmRpdGlvbmFsbHkgKGkuZS4sIHRoZSBjdXJyZW50IGNvZGUgaXMKCSAgd3JvbmcsIHNpbmNlIEFDMy9EVFMgd2lsbCBnZXQgdHdvIHN0cnVjdHVyZXMgbm93IC0gb25lIHdpdGggdGhlIGNoYW5uZWwKCSAgbGF5b3V0LCBvbmUgd2l0aG91dCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA5ODcKCjIwMTQtMTItMDEgMTk6NDE6MzUgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGdpdEBhcnVucmFnaGF2YW4ubmV0PgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uaDoKCSAgb3N4YXVkaW9zcmM6IEltcGxlbWVudCBjYXBzIHByb2JpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDk4NwoKMjAxNC0xMi0wMSAxOToyOTo1NyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvaGFsLmM6CgkgIG9zeGF1ZGlvOiBCaW5kIGF1ZGlvIGRldmljZSB0byBhdWRpbyB1bml0IGVhcmx5CgkgIFdlIHdhbnQgdG8gYmluZCB0aGUgZGV2aWNlIGR1cmluZyBvcGVuIHNvIHRoYXQgc3Vic2VxdWVudCBmb3JtYXQgcXVlcmllcwoJICBvbiB0aGUgYXVkaW8gdW5pdCBhcmUgYXMgc3BlY2lmaWMgYXMgcG9zc2libGUgZnJvbSB0aGF0IHBvaW50IG9ud2FyZHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA5ODcKCjIwMTQtMTEtMjkgMjM6MTY6MzAgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGdpdEBhcnVucmFnaGF2YW4ubmV0PgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJICBvc3hhdWRpb3Npbms6IEZpeCB1cCBjYXBzIHF1ZXJ5aW5nIGEgYml0CgkgIFRoaXMgc2hvdWxkIG1ha2UgY2FwcyBxdWVyaWVzIGNvcnJlY3QgaW4gUEFVU0VEIGFuZCBoaWdoZXIgYXMgd2VsbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDk4NwoKMjAxNC0xMS0yOCAyMjozMjozNiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5jOgoJICBvc3hhdWRpbzogTW92ZSBvc3hhdWRpb3NyYy1zcGVjaWZpYyBjb2RlIG91dCBvZiB0aGUgZ2VuZXJpYyBwYXRoCgkgIEF2b2lkcyBvbmUgbGF5ZXJpbmcgdmlvbGF0aW9uIChHc3RDb3JlQXVkaW8gcmVmZXJyaW5nIHRvCgkgIEdzdE9zeEF1ZGlvU3JjKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDk4NwoKMjAxNC0xMS0yOCAyMjoyMzoxNyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9yaW5nYnVmZmVyLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3JpbmdidWZmZXIuaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9oYWwuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb3JlbW90ZWlvLmM6CgkgIG9zeGF1ZGlvOiBDbGVhbiB1cCBhIEdzdENvcmVBdWRpbyAtPiBHc3RPc3hBdWRpb1NyYy9TaW5rIHJlZmVyZW5jZQoJICBOb3cgdGhhdCBkZXZpY2Ugc2VsZWN0aW9uIGhhcyBubyBzaW5rL3NvdXJjZS1zcGVjaWZpYyBiaXRzLCB3ZSBjYW4gaGF2ZQoJICBnZW5lcmljIGRldmljZSBzZWxlY3Rpb24gZm9yIHRoaXMgcGF0aC4gV2UgZG8gbmVlZCB0byBub3cgdHJhY2sgc3RhdGUKCSAgY2hhbmdlcyBzbyB3ZSBjYW4gbG9vayB1cCB0aGUgZmluYWwgZGV2aWNlX2lkIG9uY2UgdGhlIGRldmljZSBpcyBvcGVuLAoJICB0aG91Z2guCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA5ODcKCjIwMTQtMTEtMjggMTk6NDA6NTIgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGdpdEBhcnVucmFnaGF2YW4ubmV0PgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJICBvc3hhdWRpb3Npbms6IE1vdmUgZGV2aWNlIGNhcHMgcHJvYmluZyB0byBnZXRfY2FwcygpCgkgIFRoaXMgc2hvdWxkIGJlIHByZWZlcnJlZCB0byBydW5uaW5nIHRoZSBwcm9iZSBhdCBkZXZpY2Ugb3BlbiB0aW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwOTg3CgoyMDE0LTExLTI4IDE4OjM3OjAyICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9oYWwuYzoKCSAgb3N4YXVkaW86IE1ha2Ugc29tZSBkZWJ1ZyBjb2RlIGNvbXBpbGUgY29uZGl0aW9uYWxseQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwOTg3CgoyMDE0LTExLTI4IDE1OjA2OjM1ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3JpbmdidWZmZXIuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvcmluZ2J1ZmZlci5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJICBvc3hhdWRpbzogTW92ZSBkZXZpY2Ugc2VsZWN0aW9uIHRvIHJpbmdidWZmZXItPm9wZW5fZGV2aWNlKCkKCSAgVGhpcyBpcyBjb25jZXB0dWFsbHkgdGhlIHJpZ2h0IHRoaW5nIHRvIGRvLCBhbmQgYWxsb3dzIHVzIHRvIGNvcnJlY3RseQoJICBjYXRjaCBlcnJvcnMgaW4gZGV2aWNlIHNlbGVjdGlvbiBhcyB3ZWxsLCB3aGljaCB3ZSBjb3VsZCBub3QgZG8gd2hpbGUKCSAgY3JlYXRpbmcgdGhlIHJpbmdidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA5ODcKCjIwMTQtMTEtMjggMTQ6MzQ6MzQgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGdpdEBhcnVucmFnaGF2YW4ubmV0PgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9oYWwuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb3JlbW90ZWlvLmM6CgkgIG9zeGF1ZGlvOiBDb25zb2xpZGF0ZSBpbnB1dCBhbmQgb3V0cHV0IGNvZGUgcGF0aHMgYSBiaXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDk4NwoKMjAxNC0xMS0yMSAxMTo1NDoxOCArMDEwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIERlaW50ZXJsYWNlOiBpbiBxdWVyeV9jYXBzIHJldHVybiBvbmx5IHN1cHBvcnRlZCBmb3JtYXRzIGlmIGZpbHRlciBpcyBpbnRlcmxhY2VkCgkgIEluIHNvbWUgY2FzZXMgdGhlIGN1cnJlbnRseSBzZXQgR3N0VmlkZW9JbmZvIGlzIG5vdCBpbnRlcmxhY2VkLCBidXQKCSAgdXBzdHJlYW0gY2FwcyBhcmUgaW50ZXJsYWNlZCBhbmQgdGhlIGluZm8gaXMgcGFzc2VkIGluIHRoZSBmaWx0ZXIsCgkgIHdlIHNob3VsZCB0YWtlIHRoYXQgaW5mbyBpbnRvIGFjY291bnQgYW5kIG1ha2Ugc3VyZSB0aGF0IHdlIGRvIG5vdAoJICBjb25zaWRlciB0aGF0IGNhc2UgYXMgYSAicGFzcyB0aHJvdWdoIiBjYXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxNDA3CgoyMDE0LTEyLTEyIDExOjA2OjE3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCBkZWJ1ZyBzdGF0ZW1lbnQKCSAgSXQgd2FzIHVzaW5nIHRoZSBub24taW5jcmVhc2luZyBvZmZzZXQgdmFyaWFibGUsIHdoaWNoIG1hZGUgdGhhdCBzdGF0ZW1lbnQKCSAgbm90IHNvIHVzZWZ1bCA6KQoKMjAxNC0xMi0xMiAxMTowMzoxNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBBZGQgbWFjcm9zIGZvciB0aGUgdmFyaW91cyB0aW1lc2NhbGUgY29udmVyc2lvbnMKCSAgVGhpcyBoZWxwcyBtYWtlIHRoZSBjb2RlIG1vcmUgcmVhZGFibGUgYW5kIGF2b2lkIGZ1dHVyZSBiYWQgdXNhZ2Ugb2YKCSAgc2NhbGluZyBmdW5jdGlvbiBhcmd1bWVudCBvcmRlci4KCjIwMTQtMTItMTEgMTA6MTY6MDYgKzAxMDAgIFBhdHJpY2sgUmFkaXppIDxwYXRyaWNrckBheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBmaXggcG90ZW50aWFsIGNyYXNoIHdoZW4gc2h1dHRpbmcgZG93bgoJICBBIHJhY2UgY29uZGl0aW9uIGluIHRoZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gbWF5IGNhdXNlIGJ1ZmZlcnMKCSAgdG8gYmUgdW5yZWZmZWQgd2hpbGUgdGhleSBhcmUgc3RpbGwgdXNlZCBieSB0aGUgc3RyZWFtaW5nIHRocmVhZAoJICBpbiBnc3RfcnRwX2gyNjRfcGF5X3NlbmRfc3BzX3BwcygpIHJlc3VsdGluZyBpbiBhIGNyYXNoLiBDaGFpbgoJICB1cCB0byB0aGUgcGFyZW50IGNsYXNzIGZpcnN0IGluIHRoZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gdG8KCSAgbWFrZSBzdXJlIHN0cmVhbWluZyBoYXMgc3RvcHBlZCBhbmQgb25seSB0aGVuIGZyZWUgdGhvc2UgYnVmZmVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTM4MQoKMjAxNC0xMi0xMiAwMDo0MjowNiArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQ29weSBmbGFncyBvZiB0aGUgb3ZlcmFsbCBzZWdtZW50IHRvIG91dHB1dCBzZWdtZW50cwoJICBQcmVzZXJ2ZSB0aGUgc2VnbWVudCBmbGFncyBvZiB0aGUgb3ZlcmFsbCBkZW11eCBzZWdtZW50IG9uIHRoZSBvdXRwdXQKCSAgc2VnbWVudHMgZm9yIGVhY2ggcGFkLgoKMjAxNC0xMi0wOSAwMjo0MzowMCArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHVzZSA2NGJpdCBjaHVua19vZmZzZXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTI3OQoKMjAxNC0xMi0xMCAxNzozOToxNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggcm91bmRpbmcgZXJyb3JzIGluIGR1cmF0aW9uIHVwZGF0ZQoJICBNYWtlIHN1cmUgd2Ugc3RvcmUgdXBkYXRlZCBzZWdtZW50IHN0b3AvZHVyYXRpb24gd2l0aCB0aGUgc2FtZQoJICBncmFudWxhcml0eSBhcyB0aGUgZHVyYXRpb24gdGltZXNjYWxlLgoJICBBbmQgYWRkIG1vcmUgZGVidWcKCjIwMTQtMTItMTAgMTY6NTU6NDQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogVXBkYXRlIGR1cmF0aW9uIHdoZW4gd2UgZ2V0IG1vcmUgaW5mb3JtYXRpb24KCSAgV2hlbiBkZWFsaW5nIHdpdGggZnJhZ21lbnRlZCBmaWxlcywgd2Ugd2lsbCBnZXQgbW9yZSBhY2N1cmF0ZSBkdXJhdGlvbgoJICBpbmZvcm1hdGlvbiB2aWEgdGhlIG1mcmEgYW5kIG1vb2YgYXRvbXMuCgkgIEluIG9yZGVyIGZvciBwbGF5YmFjayB0byBub3Qgc3RvcCBhdCB0aGUgaW5pdGlhbCBkdXJhdGlvbiAoZnJvbSB0aGUKCSAgbW9vdiBhdG9tKSwgd2UgbmVlZCB0byBjaGVjayBhbmQgdXBkYXRlIHRoZSB2YXJpb3VzIGR1cmF0aW9uIHZhcmlhYmxlcwoJICB3aGVuIHdlIGZpbmQgbW9yZSBpbmZvcm1hdGlvbi4KCSAgRml4ZXMgcGxheWJhY2sgb2YgZnJhZ21lbnRlZCBmaWxlcyBpbiBwdWxsIG1vZGUKCjIwMTQtMTItMTAgMTU6MDg6NDAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogUmVtb3ZlIHZhcmlhYmxlIGFzc2lnbm1lbnRzIG5ldmVyIHJlYWQKCSAgQXMgZGV0ZWN0ZWQgYnkgY2xhbmcvc2Nhbi1idWlsZAoKMjAxNC0xMi0xMCAxNDo1NjowNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogVXNlIEdzdENsb2NrVGltZSBmb3IgbmFub3NlY29uZC1iYXNlZCB0aW1lIHZhcmlhYmxlcy9maWVsZHMKCSAgQXZvaWRzIGNvbmZ1c2lvbiB3aXRoIHRpbWVzY2FsZWQtYmFzZWQgdmFyaWFibGVzIGFuZCBieXRlcyAob2Zmc2V0KQoJICB2YXJpYWJsZXMuCgkgIEFuZCB1c2UgR1NUX0NMT0NLX1RJTUVfTk9ORSB3aGVyZSBhcHBsaWNhYmxlCgoyMDE0LTEyLTAzIDE0OjQ3OjA1ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0cHVzaGZpbGVzcmMuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0cHVzaGZpbGVzcmMuaDoKCSAgcHVzaGZpbGVzcmM6IEFkZCBUSU1FIFNFR01FTlQgY2FwYWJpbGl0eQoJICBBZGRzIGEgbmV3IHNldCBvZiBwcm9wZXJ0aWVzIHRvIG1ha2UgcHVzaGZpbGVzcmMgb3V0cHV0IGEgVElNRSBTRUdNRU5UCgkgIChpbnN0ZWFkIG9mIHRoZSBmaWxlc3JjIEJZVEUgU0VHTUVOVCkuCgkgIFdoZW4gdGltZS1zZWdtZW50IGlzIHNldCB0byBUcnVlIHRoZSBmb2xsb3dpbmcgd2lsbCBoYXBwZW46CgkgICogU2Vla3MgYXJlIHJlZnVzZWQgKGRhdGEgc3RhcnRzIGZyb20gdGhlIGJlZ2lubmluZyBvZiB0aGUgZmlsZSkKCSAgKiBUaGUgQllURSBzZWdtZW50IHdpbGwgYmUgcmVwbGFjZWQgYnkgYSBUSU1FIHNlZ21lbnQgd2l0aCB0aGUgdmFsdWVzCgkgIHNwZWNpZmllZCBpbiB0aGUgdmFyaW91cyBwcm9wZXJ0aWVzCgkgICogVGhlIGZpcnN0IG91dGdvaW5nIGJ1ZmZlciB3aWxsIGhhdmUgYSB0aW1lc3RhbXAgc2V0IG9uIGl0IChieSBkZWZhdWx0CgkgIGl0IGhhcyBhIHZhbHVlIG9mIEdTVF9DTE9DS19USU1FX05PTkUpCgoyMDE0LTEyLTEwIDExOjM1OjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogQWxzbyBvbmx5IHVucmVmIGNhcHMgaWYgdGhleSdyZSBub3QgTlVMTAoKMjAxNC0xMi0xMCAxMTozNDo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGdzdF9wYWRfZ2V0X2FsbG93ZWRfY2FwcygpIHdpbGwgcmV0dXJuIE5VTEwgaWYgdGhlcmUgaXMgbm8gcGVlcgoKMjAxNC0xMi0wOSAxNjozODozOCArMDEwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZweC9nc3R2cDllbmMuYzoKCSAgdnBYZW5jOiBDTE9DS19USU1FX05PTkUgaXMgbm90IGEgdmFsaWQgbWluX2xhdGVuY3kgdmFsdWUKCSAgV2Ugc2hvdWxkIGp1c3QgdXNlIDAgaWYgd2UgZG8gbm90IGhhdmUgdGhlIGluZm9ybWF0aW9uCgoyMDE0LTEyLTAzIDE3OjI2OjU2ICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IFVzZSBhbiBlbXB0eSBpdGVyYXRvciBpbiBpdGVyYXRlX2ludGVybmFsX2xpbmsgd2hlbiBubyBsaW5rcwoJICBBbmQgbm90IGEgTlVMTCBJdGVyYXRvciwgc28gaXQgaXMgY29uc2lzdGVudCB3aXRoIHRoZSB3YXkgaXQgdXN1YWxseQoJICB3b3JrcyBhbmQgYXZvaWQgdXNlciB0byBuZWVkIGEgZGlmZmVyZW50IGNvZGUgcGF0aHMgdG8gaGFuZGxlIHRoYXQuCgoyMDE0LTEyLTA5IDE0OjAxOjUwICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IHNldCBidWZmZXIgaW50ZXJsYWNlIGZsYWdzIHdoZW4gZmllbGQgaXMgVjRMMl9GSUVMRF9JTlRFUkxBQ0VECgkgIElmIHY0bDJfYnVmZmVyLmZpZWxkIGlzIFY0TDJfRklFTERfSU5URVJMQUNFRCwgd2Ugc2V0IGNvcnJlc3BvbmRpbmcKCSAgR3N0VmlkZW9CdWZmZXIgZmxhZ3MgZGVwZW5kaW5nIG9uIHRoZSB2aWRlbyBzdGFuZGFyZC4KCSAgQWNjb3JkaW5nIHRvIFY0TDIgc3BlY2lmaWNhdGlvbiwgTS9OVFNDIHRyYW5zbWl0cyB0aGUgYm90dG9tIGZpZWxkCgkgIGZpcnN0LCBhbGwgb3RoZXIgc3RhbmRhcmRzIHRoZSB0b3AgZmllbGQgZmlyc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc2MDMKCjIwMTQtMTItMDggMjE6MjY6MTggKzAxMDAgIFBhdHJpY2sgUmFkaXppIDxwYXRyaWNrckBheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBGaXhlcyBidWZmZXIgbGVhayB3aGVuIHVzaW5nIFNQUy9QUFMKCSAgRml4ZXMgYSBidWZmZXIgbGVhayB0aGF0IHdvdWxkIG9jY3VyciBpZiB0aGUgcGlwZWxpbmUgd2FzIHNodXRkb3duCgkgIHdoaWxlIGEgU1BTL1BQUyBoZWFkZXIgd2FzIGJlaW5nIGNyZWF0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDEyNzEKCjIwMTQtMTItMDkgMDQ6NDM6MjkgKzAxMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkgIGFnaW5ndHY6IGZpeCBtZW1jcHkgd2hlbiBubyBjb2xvciBhZ2luZyByZXF1ZXN0ZWQuCgkgIHZpZGVvX3NpemUgaXMgdGhlIHNpemUgaW4gcGl4ZWxzLCBhY3R1YWwgc2l6ZSBvZiB0aGUgbWVtY3B5CgkgIGhhcyB0byBiZSBzdHJpZGUgKiBoZWlnaHQuCgoyMDE0LTEyLTA3IDE3OjMzOjUxIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IFdvcmthcm91bmQgbGlidjRsMiBSVyBlbXVsYXRpb24gYnVnCgkgIFdoZW4gbGlidjRsMiBlbXVsYXRlcyBSVyBtb2RlIG9uIHRvcCBvZiBNTUFQIGRldmljZXMsIHRoZSBxdWV1ZXMgYXJlCgkgIG9ubHkgaW5pdGlhbGl6ZWQgb24gZmlyc3QgcmVhZC4gVGhlIHByb2JsZW0gaXMgdGhhdCBwb2xsKCkgd2lsbCBmYWlsCgkgIGlmIGNhbGxlZCBiZWZvcmUgdGhlIHF1ZXVlcyBhcmUgaW5pdGlhbGl6ZWQgYW5kIHN0cmVhbWluZy4gV29ya2Fyb3VuZAoJICB0aGlzIGJ5IGRvaW5nIGEgemVybyBzaXplIHJlYWQgd2hlbiBwb29sIGlzIHN0YXJ0ZWQgaW4gdGhhdCBJTyBtb2RlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwNjMzCgoyMDE0LTEyLTA3IDE3OjI3OjM3IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IEZpeCBSVyBpbyBtb2RlCgkgIEluIFJXLCBhbGxvY2F0b3IgY2FuIGJlIG51bGwsIG1heF9idWZmZXJzIGNhbiBiZSB6ZXJvLCBhbmQgd2UgbmVlZCBub3QKCSAgdG8gd2FpdCB3aGlsZSB0aGUgcXVldWUgaXMgZW1wdHkgc2luY2UgdGhlcmUgaXMgbm8gcXVldWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA2MzMKCjIwMTQtMTItMDMgMTY6NDA6NDkgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBDbGVhbnVwIHVuZWVkZWQgY2hlY2sgYW5kIGNhc2VzCgkgIFRoZXJlIGlzIG5vdGhpbmcgaW4gYmV0d2VlbiB0aGUgYnJlYWsgYW5kIHRoZSAiZG9uZToiIGFueW1vcmUsIHBsdXMKCSAgVVNFUlBUUiBhbmQgRE1BQlVGX0lNUE9SVCBjYXNlIGlzIGV4YWN0bHkgdGhlIHNhbWUuCgoyMDE0LTEyLTAzIDE3OjA3OjQ5IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwycG9vbDogRml4IENSRUFURV9CVUZTIHN1cHBvcnQgZm9yIGNhcHR1cmUKCSAgVGhpcyBwYXRjaCBmaXhlcyBDUkVBVEVfQlVGUyBzdXBwb3J0IGZvciBjYXB0dXJlIGRldmljZXMuIEluaXRpYWxseSB3ZQoJICB3b3VsZCBvbmx5IHRyeSBhbmQgYWxsb2NhdGUgbW9yZSBidWZmZXJzIHdoZW4gdGhlIGNvcHkgdGhyZXNob2xkCgkgIGlzIHJlYWNoZWQuIFdoZW4gdGhlIHRocmVzaG9sZCB3YXMgbm90IHNldCAobmVlZGVkKSBpdCB3b3VsZCBuZXZlcgoJICBoYXBwZW4uIEFub3RoZXIgcHJvYmxlbSBpcyB0aGF0IG9uIGNhcHR1cmUgc2lkZSwgYWNxdWlyZSByZXR1cm5zCgkgIGZpbGxlZCBidWZmZXIsIGhlbmNlIG5lZWQgdG8gcG9vbC4gV2UgbmVlZCB0byBzZXQgYSBzcGVjaWFsIGZsYWcgdG8KCSAgZm9yY2UgYWxsb2NhdGlvbiB0byBoYXBwZW4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDExMzQKCjIwMTQtMTItMDMgMTY6Mjc6NTkgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSAgdjRsMmFsbG9jYXRvcjogRml4IENSRUFURV9CVUYgcHJvYmluZwoJICBDdXJyZW50IGZvciBldmVyeSBtZW1vcnkgdHlwZSB3ZSB3aGVyZSBwcm9iaW5nIE1NQVAgQ1JFQVRFX0JVRlMgaW9jdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTEzNAoKMjAxNC0xMS0xOCAxNjo1Mjo0MCArMDEwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogc2V0IGZyYW1lcmF0ZSAwLzEgd2hlbiBkdXJhdGlvbiBpcyBub3Qga25vd24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDEzMAoKMjAxNC0xMi0wNCAxNzoyNTo1NSArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogTW9yZSBmaXhlcyBmb3IgcmV2ZXJzZSBwbGF5YmFjawoJICBXaGVuIHNlZWtpbmcgb3IgZmluZGluZyB0aGUgcHJldmlvdXMga2V5ZnJhbWUsIGRvCgkgIGNvbXBhcmlzb25zIGFnYWluc3QgdGFyZ2V0cyBhbmQgc2VnbWVudHMgdXNpbmcgY29tcG9zaXRpb24gdGltZQoJICB0byBjb3JyZWN0bHkgZGVjaWRlIHdoaWNoIHNhbXBsZSB0aW1lcyBtYXRjaC4KCjIwMTQtMTItMDMgMTE6MTI6NTUgKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IFVzZSBhbiBlbXB0eSBpdGVyYXRvciBpbiBpdGVyYXRlX2ludGVybmFsX2xpbmsgd2hlbiBubyBsaW5rcwoJICBXZSB1c2VkIHRvIHNldHVwIGFuIGl0ZXJhdG9yIHdpdGggMSBHVmFsdWUgc2V0IHdpdGggYSBOVUxMIG9iamVjdAoJICBwb2ludGVyIHdoaWNoIGlzIG5vdCB0aGUgbm9ybWFsIHdheSB0byBkbyB0aGF0LiBJbnN0ZWFkIHdlIHNob3VsZCBtYWtlCgkgIHN1cmUgdGhhdCB0aGUgZmlyc3QgY2FsbCB0byBnc3RfaXRlcmF0b3JfbmV4dCByZXR1cm5zIEdTVF9JVEVSQVRPUl9ET05FLgoKMjAxNC0xMi0wMyAxMzoyMDo1NyArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogSGFuZGxlIHNlZWtzIHBhc3QgRU9TIGFzIGEgc2VlayB0byB0aGUgZW5kCgkgIEZpeCByZXZlcnNlIHBsYXliYWNrIG9mIGV2ZXJ5IGZyYW1lIGJ5IG1ha2luZyBzZWVrcyBwYXN0L3RvIEVPUwoJICBmaW5kIHRoZSBsYXN0IHNlZ21lbnQgYW5kIHN0YXJ0IHRoZXJlLgoKMjAxNC0xMi0wMiAxNTozMzoyNSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSAgcnRwbXBhZGVwYXk6IFJlbGF4IGNhcHMgdG8gYWxsb3cgYW55IGNsb2NrLXJhdGUKCSAgU29tZSBXb3d6YSBzZXR1cHMgc2VlbSB0byBzZW5kIGFuIGludmFsaWQgbm9uLTkwMDAwIGNsb2NrLXJhdGUuCgoyMDE0LTEyLTAxIDIxOjA0OjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZG9uJ3QgdXNlIEdTVF9DTE9DS19USU1FX05PTkUgaW4gbm9uIEdzdENsb2NrVGltZSB2YXJpYWJsZXMKCSAgVXNlIC0xIGluc3RlYWQgYXMgdGhvc2UgYXJlIGdpbnQ2NC9ndWludDY0IHZhcmlhYmxlcyBhbmQgbm90IEdzdENsb2NrVGltZQoKMjAxNC0xMS0wNyAxNzowNjo0OSArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuaDoKCSAgdjRsMmFsbG9jYXRvcjogZml4IGdzdF92NGwyX2FsbG9jYXRvcl9zdG9wIHByb3RvdHlwZQoJICBnc3RfdjRsMl9hbGxvY2F0b3Jfc3RvcCByZXR1cm5zIGEgR3N0VjRsMlJldHVybiwgbm90IGEgZ2Jvb2xlYW4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk3OTIKCjIwMTQtMTEtMDcgMTY6NDE6NTIgKzAxMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogdW5yZWYgcG9vbCB3aGVuIHY0bDJfYWxsb2NhdG9yX25ldygpIGZhaWxzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk3OTEKCjIwMTQtMTEtMzAgMTc6NTI6NDcgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJICB2NGwyOiBSZW1vdmUgbGFzdCBpbmNsdWRlIHRvIGxpbnV4L3ZpZGVvZGV2Mi5oCgkgIFdlIG5vdyB1c2UgYW5kIHVwZGF0ZSBvdXIgaW50ZXJuYWwgY29weSBzbyB3ZSBubyBsb25nZXIgaGF2ZSB0byBpZmRlZgoJICB0aGUgZW50aXJlIGNvZGUgZm9yIGZlYXR1cmVzIGFuZCBkZWZpbmVzIHRoYXQgd2hlcmUgYWRkZWQgb3ZlciB0aGUKCSAgeWVhcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA5MDUKCjIwMTQtMDgtMjQgMTM6Mzg6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IGltcGxlbWVudCBzZWVraW5nIGluIGZyYWdtZW50ZWQgbXA0IGZpbGVzIGluIHB1bGwgbW9kZSBiYXNlZCBvbiB0aGUgbWZyYSB0YWJsZQoKMjAxNC0xMS0yOSAxNToyNTo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiB1c2UgdHJhY2sgZnJhZ21lbnQgZGVjb2RpbmcgdGltZSAodGZkdCkgaW4gcGFyc2VfdHJ1bigpIGZvciBpbnRlcnBvbGF0aW9uCgkgIEFzIGZhbGxiYWNrIGlmIHdlIGRvbid0IGhhdmUgYW55IGV4aXN0aW5nIHNhbXBsZXMKCSAgYXMgcmVmZXJlbmNlIHBvaW50IHlldC4KCSAgQmFzZWQgb24gcGF0Y2ggYnkgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKMjAxNC0xMS0yOSAxNDozNzoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogcGFyc2UgbWZyYSByYW5kb20gYWNjZXNzIGJveCBmb3IgZnJhZ21lbnRlZCBtcDQgZmlsZXMKCSAgSWYgaXQncyBwcmVzZW50LCBhbmQgd2Ugb3BlcmF0ZSBpbiBwdWxsIG1vZGUuCgoyMDE0LTA4LTE1IDE0OjU4OjI2ICswMjAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHN0b3AgcGFyc2luZyBoZWFkZXJzIGZvciBmcmFnbWVudGVkIG1wNHMgYXQgdGhlIGZpcnN0IG1vb2YKCSAgQ3VycmVudGx5IGR1cmluZyBoZWFkZXIgcGFyc2luZywgd2Ugc2NhbiB0aHJvdWdoIHRoZSBlbnRpcmUgZmlsZQoJICBhbmQgc2tpcCBldmVyeSBtb29mK21kYXQgY2h1bmsgZm9yIGZyYWdtZW50ZWQgbXA0cywgd2hpY2ggbWFrZXMKCSAgc3RhcnQtdXAgaW5jcmVkaWJseSBzbG93LiBJbnN0ZWFkLCBqdXN0IHN0b3AgYXQgdGhlIGZpcnN0IG1vb2YKCSAgY2h1bmsgd2hlbiBoYXZlIGEgbW9vdiwgYW5kIHN0YXJ0IGV4cG9zaW5nIHRoZSBzdHJlYW1zLCBzbyB3ZQoJICBjYW4gZ28gYW5kIHN0YXJ0IGhhbmRsaW5nIHRoZSBtb29mcyBmb3IgcmVhbC4KCjIwMTQtMTEtMjkgMTM6NTk6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9pY2xlcy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvZ2RrcGl4YnVmb3ZlcmxheS10ZXN0LmM6CgkgIHRlc3RzOiBhZGQgaW50ZXJhY3RpdmUgZ2RrcGl4YnVmb3ZlcmxheSB0ZXN0CgkgIEp1c3QgbmVlZCB0byBmaXggdGhlIGNvb3JkaW5hdGUgc3lzdGVtIG5vdyBzbwoJICB0aGF0IG5lZ2F0aXZlIG9mZnNldHMgYXJlIGFjdHVhbGx5IG5lZ2F0aXZlCgkgIGFuZCBub3QgZmxpcHBlZCB0byBwb3NpdGlvbiB0aGluZ3MgZnJvbSB0aGUKCSAgb3Bwb3NpdGUgYm9yZGVyLgoKMjAxNC0xMS0yOSAxMzo1MzowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5oOgoJICBnZGtwaXhidWZvdmVybGF5OiBhZGQgInBpeGJ1ZiIgcHJvcGVydHkKCSAgU28gd2UgY2FuIHNldCBhIEdka1BpeGJ1ZiBkaXJlY3RseSBpbnN0ZWFkIG9mCgkgIHJlYWRpbmcgaXQgZnJvbSBhbiBpbWFnZSBmaWxlIG9uIHRoZSBmaWxlIHN5c3RlbS4KCjIwMTQtMTEtMjkgMTM6MjM6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9NYWtlZmlsZS5hbToKCSogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzoKCSogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuaDoKCSAgZ2RrcGl4YnVmOiByZW1vdmUgcGl4YnVmc2NhbGUgY29kZSB0aGF0IHdhcyBuZXZlciBwb3J0ZWQKCSAgRG9uJ3QgdGhpbmsgd2UnbGwgbmVlZCB0aGlzIGFnYWluLgoKMjAxNC0xMS0yOSAxODozNTo0MiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHJlY2VpdmUuYzoKCSAgcnRwcnR4cmVjZWl2ZTogVXNlIG9mZnNldCB3aGVuIGNvcHlpbmcgaGVhZGVyCgkgIFRoZSBoZWFkZXIgaXMgbm90IGFsd2F5cyBhdCB0aGUgc3RhcnQgb2YgdGhlIHBhY2tldCwgc28gd2UgbmVlZCB0byBjb21wdXRlCgkgIHRoZSBvZmZzZXQgZmlyc3QuCgoyMDE0LTExLTI4IDEzOjEyOjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3RhZ2xpYi9nc3RhcGV2Mm11eC5jYzoKCSAgYXBldjJtdXg6IHdyaXRlIEFQRSB0YWdzIGF0IGVuZCBmb3Igd2F2cGFjayBmaWxlcwoJICBodHRwOi8vd3d3LndhdnBhY2suY29tL2ZpbGVfZm9ybWF0LnR4dDoKCSAgIkJvdGggdGhlIEFQRXYyIHRhZ3MgYW5kL29yIElEM3YxIHRhZ3MgbXVzdCBjb21lIGF0IHRoZSBlbmQgb2YgdGhlCgkgIFdhdlBhY2sgZmlsZSwgd2l0aCB0aGUgSUQzdjEgY29taW5nIGxhc3QgaWYgYm90aCBhcmUgcHJlc2VudC4iCgkgIFdhdlBhY2sgZmlsZXMgdGhhdCBjb250YWluIEFQRXYyIHRhZ3MgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgZmlsZXMKCSAgYXJlIHVucGxheWFibGUgb24gcGxheWVycyB0aGF0IHVzZSBGRm1wZWcgKGxpa2UgVkxDKSBhbmQgbW9zdCBvdGhlcgoJICBzb2Z0d2FyZSAoZXhjZXB0IEJhbnNoZWUpLiBQbGF5ZXJzIHRoYXQgdXNlIGxpYndhdnBhY2sgZGlyZWN0bHkgY2FuCgkgIHBsYXkgdGhlIGZpbGVzIGJlY2F1c2UgaXQgc2tpcHMgdGhlIHRhZ3MsIGJ1dCBkb2VzIG5vdCByZWNvZ25pemUgdGhlCgkgIHRhZyBkYXRhIGF0IHRoYXQgbG9jYXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE0MzcKCjIwMTQtMTEtMjggMTA6NDE6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9pY2xlcy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvdGVzdC1zZWdtZW50LXNlZWtzLmM6CgkgIHRlc3RzOiBhZGQgaW50ZXJhY3RpdmUgdGVzdCBmb3IgZ2FwbGVzcyBwbGF5YmFjayB1c2luZyBTRUdNRU5UIHNlZWtzCgkgIE5vdCB3b3JraW5nIHRvbyB3ZWxsIHlldCwgdGhlcmUgYXJlIGdsaXRjaGVzIGV2ZW4gd2l0aCBXQVYgb3IgRkxBQy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjM2OAoKMjAxNC0xMS0yNiAxMDozMzowOSArMDMwMCAgQW5kcmVpIFNhcmFrZWV2IDxzYXJha3VzaGFAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuaDoKCSAgYXNwZWN0cmF0aW9jcm9wOiBIYW5kbGUgcmVzb2x1dGlvbiBjaGFuZ2VzIHByb3Blcmx5CgkgIFdoZW4gYW4gY2Fwcy1ldmVudCBpcyByZWNlaXZlZCwgd2UgbXVzdCBpbW1lZGlhdGVseSBjaGFuZ2UgdGhlIGNyb3AKCSAgdG8gdmlkZW9jcm9wIGNvcnJlY3RseSBjaGFuZ2VkIGNhcHMtZXZlbnQgZGltZW5zaW9uLCBvdGhlcndpc2UgdGhlCgkgIHZpZGVvY3JvcCB3aWxsIGZpcnN0IHVzZSB0aGUgcHJldmlvdXMgdmFsdWUgb2YgdGhlIGNyb3AgdGhhdCB3aGVuCgkgIHJlc2l6aW5nIHZpZGVvIHRvIGEgc21hbGxlciByZXNvbHV0aW9uIG1heSBjYXVzZSBhbiBlcnJvci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDY3MQoKMjAxNC0xMS0yNyAxNzoxMDo1MyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gN2JiMmJjZSB0byBlZjFmZmRjCgoyMDE0LTExLTI3IDExOjIwOjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvaWNsZXMvdGVzdC1hY2N1cmF0ZS1zZWVrLmM6CgkgIHRlc3Q6IHVzZSBnc3RfdXRpbF91aW50NjRfc2NhbGVfcm91bmQoKSBmb3IgdGltZXN0YW1wIHRvIHNhbXBsZSBjYWxjdWxhdGlvbgoKMjAxNC0xMS0yNyAxMToxNjozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2ljbGVzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy90ZXN0LWFjY3VyYXRlLXNlZWsuYzoKCSAgdGVzdHM6IGFkZCBpbnRlcmFjdGl2ZSB0ZXN0IGZvciBhY2N1cmF0ZSBzZWVraW5nCgkgIEZvciBzb21lIGF1ZGlvIGZvcm1hdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTUyNzYKCjIwMTQtMTEtMjYgMTY6MDQ6MjYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgaXNvbXA0OiBDaGVjayBwcmVzZW5jZSBvZiBtZmhkIGluIG1vb2YKCSAgVGhlICdtZmhkJyBhdG9tIGlzIG1hbmRhdG9yeSBpbiAnbW9vZicuIFdlIGNhbiBsYXRlciBvbiBjaGVjayB3aGV0aGVyCgkgIHRoZSBmcmFnbWVudCBudW1iZXIgcHJvcGVybHkgaW5jcmVhc2VzCgoyMDE0LTExLTI2IDE1OjU5OjM2ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2R1bXAuYzoKCSAgaXNvbXA0OiBGaXggbWZybyBhbmQgdGZyYSBhdG9tIGR1bXBpbmcKCSAgbWZybyB3YXMgc2tpcHBpbmcgdGhlIHZlcnNpb24vZmxhZ3MKCSAgdGZyYSBoYWQgd3JvbmcgYnl0ZV9yZWFkZXIgcmV0dXJuIHZhbHVlIGNoZWNrcwoKMjAxNC0xMS0yNiAxNTo1ODoyNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eF9kdW1wLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9kdW1wLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eF90eXBlcy5jOgoJICBpc29tcDQ6IEFkZCBtZmhkIGF0b20gZHVtcGluZwoKMjAxNC0xMS0yNyAwMDoxNTowMiArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogSGFuZGxlIGVtcHR5IHNlZ21lbnRzIHdoZW4gc2Vla2luZyBpbiByZXZlcnNlIHBsYXkuCgkgIEVtcHR5IHNlZ21lbnRzIGluIGFuIGVkaXQgbGlzdCBoYXZlIGEgbWVkaWFfc3RhcnQgdGltZSBvZiAtMSwKCSAgYXMgdGhleSBkb24ndCBhY3R1YWxseSBwbGF5IGFueSBtZWRpYS4gQWxsb3cgZm9yIHRoYXQgd2hlbgoJICBhbGlnbmluZyB0byB0aGUgcmVmZXJlbmNlIHN0cmVhbSBpbiByZXZlcnNlIHBsYXkuCgoyMDE0LTExLTI0IDEwOjM2OjU0IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSAgUmV2ZXJ0ICJ2NGwyYWxsb2NhdG9yOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGFkNDQ4MGQ1MzQwOGE0ZDk3YWI1MzExNzRlZjM3ZjI1OGYzMjUzYzAuCgoyMDE0LTExLTI0IDEwOjM2OjMwIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgUmV2ZXJ0ICJ2NGwyOiBtb3ZlIHZiX3F1ZXVlIHByb2JpbmcgZnJvbSBhbGxvY2F0b3IgdG8gdjRsMm9iamVjdCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBlYzZiOGI4NGFmNzE5ZDgyOGRkZDkxYzcyNGU3MTVjMGI0YTU1NmJjLgoKMjAxNC0xMS0yNCAxMDozMzoyOSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIFJldmVydCAidjRsMm9iamVjdDogYWxsb3cgdG8gYXV0b21hdGljIHNlbGVjdGlvbiBvZiBkbWFidWYiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZTZjMmFkNTU3MWU1ZGVkYjIxMjI4N2VmZTIzOGViNDUwMDMyY2Q0Zi4KCjIwMTQtMTEtMjMgMTY6MzQ6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBSRVFVSVJFTUVOVFM6CgkgIFJFUVVJUkVNRU5UUzogdXBkYXRlIGEgbGl0dGxlCgkgIFBlb3BsZSBhY3R1YWxseSBsb29rIGF0IHRoYXQgaXQgc2VlbXMuCgoyMDE0LTExLTIzIDE2OjIyOjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ljeWRlbXV4L01ha2VmaWxlLmFtOgoJICBpY3lkZW11eDogZG9lcyBub3QgbmVlZCB0byBsaW5rIGFnYWluc3QgemxpYgoKMjAxNC0xMS0yMiAyMToyODozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmg6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5oOgoJICBzcGVleDogcmVtb3ZlIHN1cHBvcnQgZm9yIGFuY2llbnQgc3BlZXggdmVyc2lvbnMKCjIwMTQtMTEtMjEgMTE6MjE6MTggKzAxMDAgIEJyYW5pc2xhdiBLYXRyZW5pYWsgPGJrYXRyZW5pYWtAbnV2b3RlY2hub2xvZ2llcy5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogbG9nIGNvbm5lY3Rpb24gZXZlbnRzIGF0IGluZm8gbGV2ZWwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTMwNQoKMjAxNC0xMC0yMCAxMzowMDozNyArMDIwMCAgTWlndWVsIFBhcsOtcyBEw61heiA8bXBhcmlzZGlhekBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBlbnN1cmUgcnR4X3JldHJ5X3BlcmlvZCA+PSAwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzkzNDQKCjIwMTQtMTEtMjEgMTE6NDQ6MjQgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJICB2NGwyYWxsb2NhdG9yOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlCgkgIHRoaXMgd2FzIGludHJvZHVjZWQgYnkgY29tbWl0IGVjNmI4YgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5MzgyCgoyMDE0LTExLTE2IDEyOjM0OjE3IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMjogSGFuZGxlIGNvcnJ1cHRlZCBidWZmZXIgd2l0aCBlbXB0eSBwYXlsb2FkCgkgIFRoaXMgYWxsb3cgc2tpcHBpbmcgYnVmZmVyIGZsYWdnZWQgd2l0aCBFUlJPUiB0aGF0IGhhcyBubyBwYXlsb2FkLgoJICBUaGlzIGlzIHR5cGljYWwgYmVoYXZpb3VyIHdoZW4gYSByZWNvdmVyZXJhYmxlIGVycm9yIG9jY3VyZWQgZHVyaW5nCgkgIGNhcHR1cmUgaW4gdGhlIGRyaXZlciwgYnV0IHRoYXQgbm8gdmFsaWQgZGF0YSB3YXMgZXZlciB3cml0dGVuIGludG8gdGhhdAoJICBidWZmZXIuIFRoaXMgcGF0Y2ggYWxzbyB0cmFuc2xhdGUgVjRMMl9CVUZfRkxBR19FUlJPUiBpbnRvCgkgIEdTVF9CVUZGRVJfRkxBR19DT1JSVVBURUQuIEhlbmNlIGRlY29kaW5nIGVycm9yIHByb2R1Y2UKCSAgYnkgZGVjb2RlciBkdWUgdG8gbWlzc2luZyBmcmFtZXMgd2lsbCBub3cgYmUgY29ycmVjdGx5IG1hcmtlZC4gRmluYWxseSwKCSAgdGhpcyBmaXhlcyBhIGJ1ZmZlciBsZWFrIHdoZW4gRU9TIGlzIHJlYWNoZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDAwNDAKCjIwMTQtMTEtMjEgMTY6MzY6MTUgKzAxMDAgIEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBsaW5hcm8ub3JnPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBhbGxvdyB0byBhdXRvbWF0aWMgc2VsZWN0aW9uIG9mIGRtYWJ1ZgoJICBJZiB0aGUgdjRsMiBxdWV1ZSBzdXBwb3J0IGRtYWJ1ZiBzZWxlY3QgdGhpcyBidWZmZXIgcG9vbCBtb2RlCgkgIGFuZCB1cGRhdGUgdGhlIHF1ZXJ5IHdpdGggYWxsb2NhdG9yLgoJICBUaGlzIHBhdGNoIG9ubHkgY29uY2VybiBleHBvcnRpbmcgZG1hYnVmIGFuZCBub3QgaW1wb3J0aW5nIGRtYWJ1ZgoJICBmZCBmcm9tIGRvd25zdHJlYW0gZWxlbWVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTM4MgoKMjAxNC0xMS0yMSAxNjoxMzowNSArMDEwMCAgQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGxpbmFyby5vcmc+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDI6IG1vdmUgdmJfcXVldWUgcHJvYmluZyBmcm9tIGFsbG9jYXRvciB0byB2NGwyb2JqZWN0CgkgIFRoZSBnb2FsIGlzIHRvIG1ha2UgdGhvc2UgaW5mb3JtYXRpb24gYXZhaWxhYmxlIGluIHY0bDJfb2JqZWN0CgkgIHRvIGJlIGFibGUgbGF0ZXIgdG8gc2VsZWN0IHRoZSBiZXN0IGFsbG9jYXRpb24gbWV0aG9kIGZvciB0aGUgcG9vbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5MzgyCgoyMDE0LTExLTIwIDIyOjQyOjU5ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBydHBiaW46IEZpeCB1cCBuZXdfaml0dGVyYnVmZmVyIHNpZ25hbCBwcm90b3R5cGUKCjIwMTQtMTEtMjAgMjA6MTk6MjUgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGdpdEBhcnVucmFnaGF2YW4ubmV0PgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogRG9jdW1lbnQgaG93IHRvIGNvbnRyb2wgcGVyLVNTUkMgcmV0cmFuc21pc3Npb24KCjIwMTQtMTEtMjAgMjA6MTg6NDUgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGdpdEBhcnVucmFnaGF2YW4ubmV0PgoKCSogZG9jcy9kZXNpZ24vZGVzaWduLXJ0cHJldHJhbnNtaXNzaW9uLnR4dDoKCSAgZG9jOiBUcml2aWFsIHNwZWxsaW5nIGFuZCBjb25zaXN0ZW5jeSB1cGRhdGUKCjIwMTQtMTEtMjAgMTM6MTQ6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBydHBnc3RwYXk6IHB1dCAwLWJ5dGUgYXQgdGhlIGVuZCBvZiBldmVudHMKCSAgUHV0IGEgMC1ieXRlIGF0IHRoZSBlbmQgb2YgdGhlIGV2ZW50IHN0cmluZy4gRG9lcyBub3QgYnJlYWsgQUJJIGJlY2F1c2UKCSAgb2xkIGRlcGF5bG9hZGVycyB3aWxsIHNraXAgdGhlIDAgYnl0ZSAod2hpY2ggaXMgaW5jbHVkZWQgaW4gdGhlIGxlbmd0aCkuCgkgIEV4cGVjdCBhIDAtYnl0ZSBhdCB0aGUgZW5kIG9mIHRoZSBldmVudCBzdHJpbmcgb3IgYSA7IGZvciBvbGQKCSAgcGF5bG9hZGVycy4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc1OTEKCjIwMTQtMTEtMjAgMTI6NDA6MjggKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJICBydHBnc3RkZXBheTogYXZvaWQgYnVmZmVyIG92ZXJyZWFkLgoJICBDaGVjayB0aGF0IGEgY2FwcyBldmVudCBzdHJpbmcgaXMgMCB0ZXJtaW5hdGVkIGFuZCB0aGUgZXZlbnQgc3RyaW5nIGlzCgkgIHRlcm1pbmF0ZWQgd2l0aCBhIDsgdG8gYXZvaWQgYnVmZmVyIG92ZXJyZWFkcy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzU5MQoKMjAxNC0xMS0yMCAxMDo0NTowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IGRvbid0IGxpbWl0IG1heCB2aWRlbyByZXNvbHV0aW9uIHRvIDQwOTZ4NDA5NgoJICBNQVggaXNuJ3QgZW50aXJlbHkgY29ycmVjdCBhcyB1cHBlciBsaW1pdCBlaXRoZXIsCgkgIGl0IHNob3VsZCByZWFsbHkgYmUgTUFYVUlOVDMyLCBidXQgaXQncyB1bmxpa2VseQoJICB0byBiZSBhIHByb2JsZW0gaW4gdGhlIG5lYXIgZnV0dXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwNDA3CgoyMDE0LTExLTE5IDE1OjA2OjAwIC0wODAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IGxlYWsgZm9yIG1pa2V5IGJhc2U2NCBkZWNvZGVkIGtleS1tZ210CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDAzOTIKCjIwMTQtMTEtMjAgMDk6MDE6MzggKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICB2aWRlb2JhbGFuY2U6IGZpeCB1bmhhbmRsZWQgZm9ybWF0IGluIHBhc3N0aHJvdWdoCgkgIEluIHBhc3N0aHJvdWdoIHdlIGNhbiBoYW5kbGUgYWxsIGZvcm1hdHMuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDAzODcKCjIwMTQtMTEtMTkgMTY6MTI6MzggKzAxMDAgIEphbiBBbGV4YW5kZXIgU3RlZmZlbnMgKGhlZnRpZykgPGpzdGVmZmVuc0BtYWtlLnR2PgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogUmVzdHJpY3QgcmVzeW5jaW5nIHRvIFRTIHJlZ3Jlc3Npb25zCgkgIFRoZSBiZWhhdmlvciBvZiByZXN5bmNpbmcgdmlkZW8gYW5kIGF1ZGlvIGluZGVwZW4tCgkgIGRlbnRseSBjYW4gY2F1c2UgQS9WIGRlc3luY3MuIExldHMgcmVzdHJpY3QgcmVzeW5jcwoJICB0byBqdW1wcyBiYWNrd2FyZCBmb3Igbm93LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2Mzk3CgoyMDE0LTExLTE3IDIzOjE2OjAzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5oOgoJICB2aWRlb21peGVyOiBmaXggdXAgUW9TIGhhbmRsaW5nIGZvciBsaXZlIHNvdXJjZXMKCSAgT25seSBhdHRlbXB0IGFkYXB0aXZlIGRyb3Agd2hlbiB3ZSBhcmUgbm90IGxpdmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTk5NgoKMjAxNC0xMS0xMCAyMjozNDozOSArMDEwMCAgSGVubmluZyBIZWlub2xkIDxoZW5uaW5nQGl0Y29uc3VsdGluZy1oZWlub2xkLmRlPgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1QQ01BLnB5OgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWFsc2FzcmMtUENNQS5weToKCSAgZXhhbXBsZXM6IHBvcnQgcHl0aG9uIHJ0cCBQQ01BIGNsaWVudC9zZXJ2ZXIgdGVzdHMgdG8gMS4wCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk5MzAKCjIwMTQtMDYtMDQgMTI6MTE6MTAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBzZXQgdGhlIGNoYW5uZWwgcG9zaXRpb25zIHVzaW5nIHRoZSBhcHByb3ByaWF0ZSBBUEkKCSAgVGhpcyBhdm9pZHMgX3NldF9mb3JtYXQgc2V0dGluZyB0aGUgdW5wb3NpdGlvbmVkIGZsYWcgd2hlbiBwYXNzZWQKCSAgTlVMTCBhcyBjaGFubmVsIHBvc2l0aW9ucywgYXMgaXQgd291bGQgbm90IGJlIGNsZWFyZWQgd2hlbiBzZXR0aW5nCgkgIGFjdHVhbCBjaGFubmVsIHBvc2l0aW9ucyBsYXRlci4KCjIwMTQtMTEtMDEgMjI6Mzk6NDEgKzAxMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQGRhcmtvc3BoZXJlLmZyPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZweC9nc3R2cDllbmMuYzoKCSAgdnB4OiBtYXJrIGFybnItdHlwZSBwcm9wZXJ0aWVzIGFzIGRlcHJlY2F0ZWQgYW5kIHNldCB0aGVtIHRvIG5vLW9wCgkgIEFSTlIgdHlwZSBjb250cm9sIGluIGxpYnZweCBoYXMgYmVlbiBkZXByZWNhdGVkIHNvIHRoaXMgY29tbWl0IG1hcmsgdGhlCgkgIHZwOGVuYyBhbmQgdnA5ZW5jIGFzc29jaWF0ZWQgcHJvcGVydGllcyBhcyBkZXByZWNhdGVkIGFuZCBjaGFuZ2UgdGhlaXIKCSAgYmVoYXZpb3IgdG8ganVzdCBkaXNwbGF5IGEgd2FybmluZyBtZXNzYWdlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5NDc2CgoyMDE0LTExLTEwIDEzOjE2OjAxICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBtYW5hZ2VyOiBUcml2aWFsIHR5cG8gZml4CgoyMDE0LTExLTA5IDExOjA0OjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYS1tdXg6IFVzZSBHX0RFRklORV9UWVBFKCkgdG8gcmVnaXN0ZXIgdGhlIHBhZCBpbnN0ZWFkIG9mIG1hbnVhbGx5IHJlZ2lzdGVyaW5nIGl0CgoyMDE0LTExLTA2IDE1OjM3OjI4ICswMTAwICBHw7ZyYW4gSsO2bnNzb24gPGdvcmFuam5AYXhpcy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBtYWtlIEdzdE1hdHJvc2thbXV4UGFkIGdldF90eXBlKCkgZnVuY3Rpb24gdGhyZWFkLXNhZmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTcyMgoKMjAxNC0xMS0wNyAxNjoxMToyNCArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSAgdjRsMmFsbG9jYXRvcjogZml4IGVycm9yIG1lc3NhZ2UgaWYgYWxsb2NhdG9yIGlzIGFscmVhZHkgYWN0aXZlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk3ODkKCjIwMTQtMTEtMDYgMjE6MjE6NDAgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IEltcHJvdmUgYnVmZmVyIHZhbGlkYXRpb24KCSAgSW1wcm92ZSBidWZmZXIgdmFsaWRhdGlvbiBieSBtYWtpbmcgc3VyZSBlYWNoIG1lbW9yeSBhcmUgdGhlIHJpZ2h0CgkgIG9uZSBhbmQgdGhhdCBlYWNoIG1lbW9yeSBpcyB3cml0YWJsZS4gVGhpcyBmaXhlcyB0ZWFyaW5nIGlzc3VlcyBpbgoJICBjYXNlIGRvd25zdHJlYW0gdXNlcyBnc3RfYnVmZmVyX21ha2Vfd3JpdGFibGUoKSBvciBvdGhlciB0eXBlCgkgIG9mIEdzdEJ1ZmZlciBjb3B5IHdoZXJlIG1lbW9yeSBhcmUgb25seSByZWZmZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk3NTQKCjIwMTQtMTEtMDYgMjE6Mzg6NDMgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHNwL01ha2VmaWxlLmFtOgoJICBydHNwOiBmaXggYnVpbGQgaW4gZ3N0LXVuaW5zdGFsbGVkIHNldHVwCgoyMDE0LTEwLTI5IDE4OjQ0OjQzICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmg6CgkgIGltYWdlZnJlZXplOiBIYW5kbGUgc2VxbnVtcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5MzY2CgoyMDE0LTExLTA0IDA4OjE4OjQxICswNTMwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmg6CgkgIHBuZ2RlYzogY2hhbmdlIHBhcnNlIGxvZ2ljCgkgIFJpZ2h0IG5vdyBpbiBwYXJzZSBsb2dpYyB0aGUgc2lnbmF0dXJlIGlzIGNoZWNrZWQgZXZlcnkgdGltZSB0aGUgcGFyc2UgZnVuY3Rpb24KCSAgaXMgY2FsbGVkLCBhbmQgdGhlIHdob2xlIGRhdGEgaXMgdGhlIHNjYW5uZWQgZWFjaCBhbmQgZXZlcnkgdGltZSwgZXZlbiB0aG91Z2ggdGhlCgkgIGRhdGEgaXMgc2Nhbm5lZCBpbiB0aGUgcHJldmlvdXMgaW5zdGFuY2UuIENoYW5naW5nIHRoZSBsb2dpYyBzdWNoIHRoYXQsIHdlIHNraXAKCSAgdGhlIGJ5dGVzIHdoaWNoIGFyZSBhbHJlYWR5IHNjYW5uZWQgaW4gdGhlIHByZXZpb3VzIGluc3RhbmNlcyBvZiBwYXJzZS4gVGhpcwoJICBoZWxwcyBpbiBhdm9pZGluZyBtdWx0aXBsZSBzY2FuIG9mIGFscmVhZHkgc2Nhbm5lZCBkYXRhL3NpZ25hdHVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzcwOAoKMjAxNC0xMS0wMyAxNToyNjowNiArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyMjogcmV2ZXJzZSBvcmRlciBvZiBwYXJhbXMgZm9yIGNvbnZlcnRlcgoKMjAxNC0xMS0wMyAxMTo0NDoyOCArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBmaXggdHlwbyBpbiBmbGFncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5NTQ5CgoyMDE0LTExLTAyIDIzOjMzOjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyc3JjOiBmaXggYSBjb3VwbGUgb2YgbWlub3IgbGVha3MKCjIwMTQtMTEtMDIgMTk6NDI6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uaDoKCSAgZ29vbTJrMTogcG9zdCBRb1MgbWVzc2FnZXMgd2hlbiBkcm9wcGluZyBmcmFtZXMgZHVlIHRvIFFvUwoKMjAxNC0xMS0wMiAxOToyOTo1MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5oOgoJICBnb29tOiBwb3N0IFFvUyBtZXNzYWdlcyB3aGVuIGRyb3BwaW5nIGZyYW1lcyBkdWUgdG8gUW9TCgoyMDE0LTExLTAyIDE5OjAyOjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogdHdlYWsgd3JpdGluZyBhcHAgdGFnIHN0cmluZyBhIGxpdHRsZQoKMjAxNC0xMS0wMiAxNjo1MToyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgU3ByaW5rbGUgc29tZSBHX1BBUkFNX0RFUFJFQ0FURUQgYW5kICNpZm5kZWYgR1NUX1JFTU9WRV9ERVBSRUNBVEVECgoyMDE0LTExLTAyIDE2OjU4OjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSAgdGVzdHM6IGRvbid0IHVzZSBkZXByZWNhdGVkIHByb3BlcnR5IGluIGxldmVsIHVuaXQgdGVzdAoKMjAxNC0xMS0wMiAxMzowNjozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGltcGxlbWVudCBnZXQvc2V0IGZvciBuZXcgcnR4LW1pbi1yZXRyeS10aW1lb3V0IHByb3BlcnR5CgkgIFByb3BlcnRpZXMgYXJlIHNvIG11Y2ggbW9yZSB1c2VmdWwgaWYgeW91IGNhbiBhY3R1YWxseSBzZXQKCSAgYW5kIGdldCB0aGVpciB2YWx1ZXMuCgoyMDE0LTEwLTMwIDE3OjQxOjE5ICswMDAwICBTaW1vbiBGYXJuc3dvcnRoIDxzaW1vbi5mYXJuc3dvcnRoQG9uZWxhbi5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyOiBDbGVhbiB1cCBpbnRlcmxhY2Ugc3VwcG9ydAoJICBSYXRoZXIgdGhhbiB0cnkgYW5kIGd1ZXNzIGludGVybGFjZSBzdXBwb3J0IGFzIHBhcnQgb2YgY2hlY2tpbmcgc3VwcG9ydGVkCgkgIHNpemVzLCBsb29rIGZvciBpbnRlcmxhY2Ugc3VwcG9ydCBzcGVjaWZpY2FsbHkgaW4gaXRzIG93biBmdW5jdGlvbi4KCSAgQXMgYSBjbGVhbnVwLCB1c2UgVjRMMl9GSUVMRF9BTlkgd2hlbiBwcm9iaW5nIHNpemVzLCB3aGljaCBzaG91bGQgcmVzdWx0IGluCgkgIHRoZSBkcml2ZXIgZG9pbmcgdGhlIHJpZ2h0IHRoaW5nLgoJICBXaXRoIG15IGNhcHR1cmUgc2V0dXAsIHRoaXMgZ2V0cyBtZSB0aGUgZm9sbG93aW5nIHNhbXBsZSBjYXBzOgoJICBGb3IgMTA4MGkgcmVzb2x1dGlvbjoKCSAgdmlkZW8veC1yYXcsIGZvcm1hdD0oc3RyaW5nKVlVWTIsIHdpZHRoPShpbnQpMTkyMCwgaGVpZ2h0PShpbnQpMTA4MCwgcGl4ZWwtYXNwZWN0LXJhdGlvPShmcmFjdGlvbikxLzEsIGludGVybGFjZS1tb2RlPShzdHJpbmcpaW50ZXJsZWF2ZWQsIGZyYW1lcmF0ZT0oZnJhY3Rpb24peyAyNS8xLCAzMC8xIH0KCSAgRm9yIDcyMHAgcmVzb2x1dGlvbjoKCSAgdmlkZW8veC1yYXcsIGZvcm1hdD0oc3RyaW5nKVlVWTIsIHdpZHRoPShpbnQpMTI4MCwgaGVpZ2h0PShpbnQpNzIwLCBwaXhlbC1hc3BlY3QtcmF0aW89KGZyYWN0aW9uKTEvMSwgaW50ZXJsYWNlLW1vZGU9KHN0cmluZylwcm9ncmVzc2l2ZSwgZnJhbWVyYXRlPShmcmFjdGlvbil7IDUwLzEsIDYwLzEgfQoJICBGb3IgNTc2aS9wIHJlc29sdXRpb24gKGJvdGggcG9zc2libGUgYXQgdGhlIHBvaW50IG9mIHF1ZXJ5KToKCSAgdmlkZW8veC1yYXcsIGZvcm1hdD0oc3RyaW5nKVlVWTIsIHdpZHRoPShpbnQpNzIwLCBoZWlnaHQ9KGludCk1NzYsIHBpeGVsLWFzcGVjdC1yYXRpbz0oZnJhY3Rpb24pMS8xLCBpbnRlcmxhY2UtbW9kZT0oc3RyaW5nKXsgcHJvZ3Jlc3NpdmUsIGludGVybGVhdmVkIH0sIGZyYW1lcmF0ZT0oZnJhY3Rpb24peyAyNS8xLCA1MC8xIH0KCSAgVGhpcywgaW4gdHVybiwgbWFrZXMgNTc2aSB3b3JrIGNvcnJlY3RseTsgd2l0aCB0aGUgb2xkIGNvZGUsCgkgIHRoZSBjYXBzIHdvdWxkIGJlIGludGVybGFjZS1tb2RlPXByb2dyZXNzaXZlIGZvciBpbnRlcmxhY2VkIHZpZGVvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2MTk0CgoyMDE0LTExLTAxIDEyOjE4OjAyICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBkYXJrb3NwaGVyZS5mcj4KCgkqIGV4dC92cHgvZ3N0dnA4dXRpbHMuaDoKCSAgdnB4OiByZW1vdmUgY29tcGF0aWJpbGl0eSBkZWZpbmVzCgkgIFdlIGFyZSBndWFyYW50ZWVkIHRvIGhhdmUgVlBYX0lNR19GTVRfSTQyMCwgVlBYX1BMQU5FX1ksCgkgIFZQWF9QTEFORV9VIGFuZCBWUFhfUExBTkVfViBhcyB3ZSByZXF1aXJlIGxpYnZweCA+IDEuMS4wLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5NDc2CgoyMDE0LTExLTAxIDE1OjMzOjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJICB3YXZwYWNrOiByZW1vdmUgc3VwcG9ydCBmb3IgYW5jaWVudCBBUEkgdmVyc2lvbgoKMjAxNC0xMS0wMSAxMDoxNDozMSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkgIHJ0cHZwODogVXNlIFZQOCBlbmNvZGluZyBuYW1lCgkgIEJvdGggRmlyZWZveCBhbmQgQ2hyb21lIHVzZXMgVlA4IGFzIHRoZSBlbmNvZGluZyBpbiB0aGVpciBTRFAuCgkgIEFkZGluZyB0aGlzIG5vdyBkZWZhY3RvIHN0YW5kYXJkIG5hbWUgcmVtb3ZlcyB0aGUgbmVlZCBmb3Igc3BlY2lhbAoJICBjYXNlIGluIFNEUCBwYXJzaW5nIGNvZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc4MTAKCjIwMTQtMTEtMDEgMTE6NTk6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSAgcnRwbXAydHBheTogZml4IHVwIHRlbXBsYXRlIGNhcHMgc28gd2UgY2FuIG91dHB1dCB0aGUgZGVmYXVsdCBwdCAzMwoJICBBZGQgZml4ZWQgcGF5bG9hZCB0eXBlIGZvciBtcDJ0IHRvIHRlbXBsYXRlIGNhcHMgYXMgd2VsbCwgc28KCSAgb3VyIG91dHB1dCBjYXBzIG1hdGNoIHRoZSBhZHZlcnRpc2VkIGRlZmF1bHQgcHQuIEZpeGVzIGEKCSAgcmVncmVzc2lvbiBmcm9tIDEuMi4KCSAgVGhlcmUncyBzdGlsbCBzb21ldGhpbmcgd3Jvbmcgd2l0aCBjYXBzIG5lZ290aWF0aW9uIHRob3VnaCwKCSAgcnRwbXAydHBheSBwYXlsb2FkPTk2ICEgZmFrZXNpbmsgd2lsbCBub3Qgb3V0cHV0IGNhcHMgd2l0aAoJICBwYXlsb2FkPTk2LgoKMjAxNC0xMC0zMCAxNTozNzozNiAtMDcwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IG1pa2V5IHJlbGF0ZWQgbWVtb3J5IGxlYWtzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk0MzAKCjIwMTQtMDYtMTAgMTA6MDQ6MDcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5oOgoJICBzcGVleGVuYzogdXBkYXRlIG91dHB1dCBzZWdtZW50IHN0b3AgdGltZSB0byBtYXRjaCBjbGlwcGVkIHNhbXBsZXMKCSAgVGhpcyB3aWxsIGxldCBvZ2dtdXggZ2VuZXJhdGUgYSBncmFucG9zIG9uIHRoZSBsYXN0IHBhZ2UgdGhhdCBwcm9wZXJseQoJICByZXByZXNlbnRzIHRoZSBjbGlwcGVkIHNhbXBsZXMgYXQgdGhlIGVuZCBvZiB0aGUgc3RyZWFtLgoKMjAxNC0wNi0xMCAxMDo1OToxMyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuaDoKCSAgZmxhY2VuYzogdXBkYXRlIG91dHB1dCBzZWdtZW50IHN0b3AgdGltZSB0byBtYXRjaCBjbGlwcGVkIHNhbXBsZXMKCSAgVGhpcyB3aWxsIGxldCBvZ2dtdXggZ2VuZXJhdGUgYSBncmFucG9zIG9uIHRoZSBsYXN0IHBhZ2UgdGhhdCBwcm9wZXJseQoJICByZXByZXNlbnRzIHRoZSBjbGlwcGVkIHNhbXBsZXMgYXQgdGhlIGVuZCBvZiB0aGUgc3RyZWFtLgoKMjAxNC0xMC0wNyAxNToyOTozMyArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBjbGVhbmx5IGhhbmRsZSBzdHJlYW1vbiBmYWlsdXJlIGZvciBvdXRwdXQgZGV2aWNlCgkgIE9uIHN0cmVhbW9uIGZhaWx1cmUsIHRoZSBxdWV1ZWQgYnVmZmVyIGlzIG5vdCByZWxlYXNlZCBmcm9tIHRoZQoJICBidWZmZXJwb29sIGNsYXNzIHBvaW50IG9mIHZpZXcgYmVjYXVzZSBpdCBpcyBxdWV1ZWQgdG8gdGhlIGRyaXZlciBhbmQKCSAgdGhlIGZsdXNoIGxvZ2ljIGlzIG5vdCBwZXJmb3JtZWQgc2luY2Ugd2UgYXJlIG5vdCBpbiBzdHJlYW1pbmcgc3RhdGUuCgkgIEl0IGNhdXNlcyB0aGUgdjRsMiBidWZmZXJwb29sIHRvIGFsd2F5cyByZXR1cm4gdGhhdCBzdG9wIG1ldGhvZCBmYWlsZWQKCSAgYW5kIHRvIGxlYWsgdjRsMiBvYmplY3RzIGFuZCBidWZmZXJzLgoJICBUaGlzIGNvbW1pdCBzb2x2ZSB0aGlzIGJ5IHBlcmZvcm1pbmcgdGhlIGZsdXNoIGxvZ2ljIGluIGVycm9yIGNhc2UsIGllCgkgIGZsdXNoaW5nIHRoZSBhbGxvY2F0b3IgYW5kIHJlc3RvcmluZyBxdWV1ZWQgYnVmZmVyIHN0YXRlIHRvIG5vbi1xdWV1ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzgxMDIKCjIwMTQtMTAtMDggMTA6MzE6MjEgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogaW1wbGVtZW50IGRpc3Bvc2UgbWV0aG9kCgkgIFVucmVmIG9iamVjdHMgaW4gZGlzcG9zZSBtZXRob2QgcmF0aGVyIHRoYW4gaW4gZmluYWxpemUgaW4gb3JkZXIgdG8KCSAgcHJldmVudCBjaXJjdWxhciByZWZlcmVuY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzgxMDIKCjIwMTQtMTAtMDggMTA6MzU6MTQgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogY2hlY2sgdGhhdCBhbGxvY2F0b3IgaXMgbm9uIG51bGwgd2hlbiBzdG9wcGluZyBwb29sCgkgIE90aGVyd2lzZSwgd2UgY291bGQgZGVyZWZlcmVuY2UgTlVMTCBhbGxvY2F0b3Igd2hlbiB0aGUgc3RvcCBtZXRob2QgaXMKCSAgY2FsbGVkIGJ5IHRoZSBHc3RCdWZmZXJQb29sJ3MgZmluYWxpemUgbWV0aG9kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4MTAyCgoyMDE0LTEwLTA5IDEyOjE1OjA1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyc2luazogSW1wbGVtZW50IHVubG9jay91bmxvY2tfc3RvcAoJICBUaGlzIHdpbGwgcHJldmVudCBkZWFkbG9ja3MsIGJ1dCB3aWxsIGFsc28gcHJvcGVybHkgZmx1c2ggdGhlIHBvb2wgYW5kIGFsbG9jYXRvcgoJICB3aGVuIGdvaW5nIHRvIFJFQURZIHN0YXRlLiBJdCBzaG91bGQgYWxzbyBmaXggaXNzdWVzIHJlcG9ydGVkIG9uIG1haWxpbmcgbGlzdAoJICB3aGVuIHNlZWtpbmcgaXMgcGVyZm9ybWVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4MTUyCgoyMDE0LTEwLTI4IDIxOjMyOjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlZGV2aWNlcHJvdmlkZXIuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmRldmljZXByb3ZpZGVyLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJICBwdWxzZSwgdjRsMjogYWRkIG1pc3NpbmcgR19FTkRfREVDTFMgaW4gc29tZSBwbGFjZXMKCjIwMTQtMTAtMjcgMTc6NTc6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDg0ZDA2Y2QgdG8gN2JiMmJjZQoKMjAxNC0xMC0yNyAxMTowODoyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBGaXggdW5pdCB0ZXN0IG5vdyB0aGF0IHdlIGFsd2F5cyBoYXZlIHByb2ZpbGUvbGV2ZWwgaW4gdGhlIGNhcHMKCjIwMTQtMTAtMjYgMTQ6NTU6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBNYWtlZmlsZS5hbToKCSAgUGFyYWxsZWxpc2UgJ21ha2UgY2hlY2stdmFsZ3JpbmQnCgkgIFNvbWUgb2YgdGhlIFJUUCB1bml0IHRlc3RzIGFyZSB2ZXJ5IGZsYWt5IGFuZCB3aWxsCgkgIGZhaWwgbW9yZSBvZnRlbiB3aXRoIHRoZSBDUFUgbWF4ZWQgb3V0IGZ1bGx5LiBUaG9zZQoJICB0ZXN0cyBuZWVkIHRvIGJlIGZpeGVkIGluIGFueSBjYXNlIHRob3VnaCwgdGhleSBhbHNvCgkgIGZhaWwgb24gc2xvd2VyIG1hY2hpbmVzIGFuZCBhbHNvIG9jY2FzaW9uYWxseSB3aXRoCgkgIG5vcm1hbCAnbWFrZSBjaGVjaycuCgoyMDE0LTEwLTI2IDExOjQ3OjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogQWx3YXlzIHNldCBwcm9maWxlL2xldmVsIG9uIHRoZSBjYXBzCgkgIFdlIGhhdmUgdGhlIGluZm9ybWF0aW9uIGFscmVhZHksIHNvIHdoeSBub3QgdXNlIGl0PwoKMjAxNC0xMC0yNSAxMjozNjowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGZpeCBjcmFzaCBvbiBzb21lIDMyLWJpdCBzeXN0ZW1zCgkgIE1ha2Ugc3VyZSB0byBwYXNzIHJpZ2h0IG51bWJlciBvZiBiaXRzIHRvIGdzdF9zdHJ1Y3R1cmVfbmV3KCkKCSAgd2hpY2ggaXMgYSB2YXJhcmcgZnVuY3Rpb24uCgkgIEZpeGVzIGVsZW1lbnRzL3J0cGF1eCB1bml0IHRlc3Qgb24gcHBjMzIuCgoyMDE0LTEwLTI1IDAwOjU2OjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYzoKCSAgdGVzdHM6IGZpeCByZ3ZvbHVtZSB0ZXN0IG9uIGJpZy1lbmRpYW4gc3lzdGVtcwoKMjAxNC0xMC0yNSAwMDo1MzozOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWxhd2RlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWxhd2VuYy5jOgoJICB0ZXN0czogZml4IG11bGF3ZGVjL211bGF3ZW5jIHRlc3QgZm9yIGJpZyBlbmRpYW4gc3lzdGVtcwoKMjAxNC0xMC0yNCAyMzo0ODozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogaW50ZXJzZWN0IHJlc3VsdCB3aXRoIGZpbHRlciBjYXBzIGluIGNhcHMgcXVlcnkKCSAgRml4ZXMgY3Jhc2ggaW4gYXVkaW90ZXN0c3JjIGJlY2F1c2Ugb2YgYW4gdW5zdXBwb3J0ZWQgZm9ybWF0CgkgIGdldHRpbmcgbmVnb3RpYXRlZCBvbiBiaWctZW5kaWFuIHN5c3RlbXMgd2l0aAoJICBhdWRpb3Rlc3RzcmMgISBpbnRlcmxlYXZlICEgYXVkaW9jb252ZXJ0ICEgd2F2ZW5jCgoyMDE0LTEwLTIzIDE1OjQ2OjEzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlZGV2aWNlcHJvdmlkZXIuYzoKCSogZXh0L3B1bHNlL3B1bHNlZGV2aWNlcHJvdmlkZXIuaDoKCSAgcHVsc2U6IHJlbW92ZSBzb21lIHVudXNlZCB0eXBlZGVmcwoKMjAxNC0xMC0yMiAxNToyODo0NCArMDIwMCAgQW5hbmRhIDxhbmFuZGFAbGF0ZWxpZXIyMy5jb20+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIHNwZWV4OiBGaXggc2VnZmF1bHQgd2hlbiByZXNldHRpbmcgdGhlIGNvZGVjcyBtdWx0aXBsZSB0aW1lcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4NzkzCgoyMDE0LTEwLTIyIDIyOjUwOjU0ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGFjY29zdGVkLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBUZW1wb3JhcmlseSBkaXNhYmxlIHN0cmVhbSBzdGF0dXMgcG9zdGluZwoJICBXZSBuZWVkIGEgbWVjaGFuaXNtIGluIFB1bHNlQXVkaW8gdG8gYWxsb3cgcnVubmluZyBjb2RlIG91dHNpZGUgdGhlCgkgIG1haW5sb29wIGxvY2suIFRoZW4gd2UnZCBiZSBhYmxlIHRvIHBvc3QgdG8gdGhlIGJ1cyAodGFraW5nIHRoZQoJICBHU1RfT0JKRUNUX0xPQ0spLCB3aXRob3V0IHdvcnJ5aW5nIGFib3V0IGxvY2tpbmcgb3JkZXIgd2l0aCB0aGUgbWFpbmxvb3AKCSAgbG9jaywgd2hpY2ggaXMgdGhlIGN1cnJlbnQgY2F1c2Ugb2YgZGVhZGxvY2tzIHdoaWxlIHRyeWluZyB0byBwb3N0IHRoZQoJICBzdHJlYW0gc3RhdHVzIG1lc3NhZ2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MDcxCgoyMDE0LTEwLTIyIDE1OjA0OjI0ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGxpbWl0IHRoZSByZXRyeSBmcmVxdWVuY3kKCSAgV2hlbiB0aGUgUlRUIGFuZCBqaXR0ZXIgYXJlIHZlcnkgbG93IChzdWNoIGFzIG9uIGEgbG9jYWwgbmV0d29yayksIHRoZQoJICBjYWxjdWxhdGVkIHJldHJhbnNtaXNzaW9uIHRpbWVvdXQgaXMgdmVyeSBzbWFsbC4gU2V0IHNvbWUgc2Vuc2libGUgbG93ZXIKCSAgYm91bmRhcnkgdG8gdGhlIHRpbWVvdXQgYnkgYWRkaW5nIGEgbmV3IHByb3BlcnR5LiBXZSB1c2UgdGhlIHBhY2tldAoJICBzcGFjaW5nIGFzIGEgbG93ZXIgYm91bmRhcnkgYnkgZGVmYXVsdC4KCjIwMTQtMTAtMjIgMTM6NDA6NTggKzAyMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGdzdHJ0cGppdHRlcmJ1ZmZlcjogYWRkICJydHgtbWluLWRlbGF5IiBwcm9wZXJ0eQoJICBUaGlzIHByb3BlcnR5IGlzIHVzZWZ1bCB0byBzZXQgYSBtaW4gdGltZSB0byB3YWl0IGJlZm9yZSBzZW5kaW5nIGEKCSAgcmV0cmFuc21pc3Npb24gZXZlbnQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzUzNzgKCjIwMTQtMTAtMjIgMTM6Mjk6NDggKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogUmVmYWN0b3IgY29kZQoJICBSZWZhY3RvciBzb21lIGNvZGUgZGVhbGluZyB3aXRoIGNhbGN1bGF0aW5nIHZhcmlvdXMgdGltZW91dHMuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1Mzc4CgoyMDE0LTEwLTEwIDE5OjUwOjA2ICswMjAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBmaXggRWFybHkgRmVlZGJhY2sgVHJhbnNtaXNzaW9uCgkgIEluIGVhcmx5IHJldHJhbnNtaXNzaW9uIHdlIGFyZSBhbGxvd2VkIHRvIHNjaGVkdWxlIDEgcmVndWxhciBSVENQIHBhY2tldAoJICBhdCBhbiBlYXJsaWVyIHRpbWUuIFdoZW4gd2UgZG8gdGhhdCwgd2UgbmVlZCB0byBzZXQgYWxsb3dfZWFybHkgdG8gRkFMU0UKCSAgYW5kIGlnbm9yZS9kcm9wIChvciBtZXJnZSkgYWxsIGZ1dHVyZSByZXF1ZXN0cyBmb3IgZWFybHkgdHJhbnNtaXNzaW9uLgoJICBXZSBub3cgZmlyc3QgY2hlY2sgaWYgd2UgY2FuIHNjaGVkdWxlIGFuIGVhcmx5IFJUQ1AgYW5kIGlmIHdlIGNhbiwKCSAgYWN0dWFsbHkgcHJlcGFyZSB0aGUgZGF0YSBmb3IgdGhlIG5leHQgUlRDUCBpbnRlcnZhbC4KCSAgQWZ0ZXIgd2Ugc2VuZCB0aGUgbmV4dCByZWd1bGFyIFJUQ1AgYWZ0ZXIgdGhlIGVhcmx5IFJUQ1AsIHdlIHNldAoJICBhbGxvd19lYXJseSB0byBUUlVFIGFnYWluIHRvIGFsbG93IG1vcmUgZWFybHkgcmVxdWVzdHMuCgkgIFJlbW92ZSB0aGUgY29uZGl0aW9uIGZvciB0aGUgaW1tZWRpYXRlIGZlZWRiYWNrIGZvciBub3cuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzgzMTkKCjIwMTQtMTAtMjEgMTM6MDE6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGE4Yzg5MzkgdG8gODRkMDZjZAoKMjAxNC0xMC0yMSAxMzoxMDoyNCArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBtYWtlIGRlYnVnIGxpbmUgbGVzcyBjb25mdXNpbmcKCjIwMTQtMTAtMjEgMTI6NTg6MTMgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBSRUFETUU6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMzYzODhhMSB0byBhOGM4OTM5CgoyMDE0LTA3LTAyIDE3OjUwOjM1ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgaml0dGVyYnVmZmVyOiByZXdvcmsgcmVzeW5jIGhhbmRsaW5nCgkgIEFkZCBhIG5lZWQtcmVzeW5jIHN0YXRlLCB0aGlzIGlzIHdoZW4gd2UgbmVlZCB0byB0cnkgdG8gbG9jayBvbiB0byBhCgkgIHRpbWUvUlRQdGltZSBwYWlyLgoJICBBbHdheXMgY2hlY2sgdGhlIFJUUCB0aW1lc3RhbXBzIGFuZCBpZiB0aGV5IGdvIGJhY2t3YXJkcywgbWFyayBvdXJzZWx2ZXMKCSAgYXMgbmVlZC1yZXN5bmMuCgkgIE9ubHkgcmVzeW5jIHdoZW4gbmVlZC1yZXN5bmMgaXMgVFJVRSBhbmQgd2UgaGF2ZSBhIHZhbGlkIHRpbWUuIE90aGVyd2lzZQoJICB3ZSBrZWVwIHRoZSBvbGQgdmFsdWVzLiBUaGlzIGF2b2lkcyBsb2NraW5nIG9uIHRvIGFuIGludmFsaWQgdGltZSBhbmQKCSAgY2F1c2luZyB1cyB0byB0aW1lc3RhbXAgZXZlcnl0aGluZyB3aXRoIC0xLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNDE3CgoyMDE0LTEwLTAzIDE3OjI4OjA2IC0wNzAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogc2V0IGZ1bGwgc3RyZWFtIGNhcHMgb24gaW50ZXJuYWwgc3JjIFRDUCBwYWRzCgkgIFNldCB0aGUgY29tcGxldGUgc3RyZWFtIGNhcHMgb24gdGhlIFRDUCBpbnRlcm5hbCBzcmMgcGFkcy4gT3RoZXJ3aXNlLAoJICBwdGRlbXV4IHdpbGwgbm90IHByb3Blcmx5IGRldGVjdCB0aGUgY2FwcyBjaGFuZ2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc4NjgKCjIwMTQtMTAtMTcgMjI6MjM6MjcgKzAyMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSAgcnRwbXV4OiBEb24ndCBzZXQgUFJPWFlfQ0FQUyBmbGFnIG9uIHRoZSBzcmMgcGFkCgkgIHJ0cG11eCBiZWhhdmVzIGxpa2UgYSBmdW5uZWwgaW4gdGhhdCBpdCBmb3J3YXJkcyB3aGF0ZXZlciB1cHN0cmVhbSBpcwoJICBzZW5kaW5nIGJ1ZmZlcnMuIFNvIHNldHRpbmcgcHJveHkgY2FwcyBkb2Vzbid0IG1ha2Ugc2Vuc2UgYXMgdGhlCgkgIHVwc3RyZWFtIGRvbid0IGhhdmUgdG8gaGF2ZSBjb21wYXRpYmxlIGNhcHMsIHRodXMgcmVzdWx0aW5nIGluIGFuIGVtcHR5CgkgIGNhcHMgc2V0IGFzIGEgcmVzdWx0IG9mIGEgY2FwcyBxdWVyeS4gSW5zdGVhZCBzZXQgZml4ZWQgY2FwcyBqdXN0CgkgIGFzIGZ1bm5lbCBkb2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4NzIyCgoyMDE0LTEwLTIwIDExOjU3OjM4ICswNTMwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogY3JpdGljYWwgZXJyb3Igd2hlbiBlbGVtZW50IHByb3BlcnRpZXMgc2V0IGFzIG1heC9taW4KCSAgbGVmdCwgcmlnaHQsIHRvcCwgYm90dG9tIGNhbiBiZSBzZXQgZnJvbSByYW5nZSBvZiAtMjE0NzQ4MzY0OCB0byAyMTQ3NDgzNjQ3CgkgIHdoZW4gaSBsYXVuY2ggdGhlIHZpZGVvYm94IGVsZW1lbnQgd2l0aCB0aGF0IHZhbHVlcywgaXQgZ2l2ZXMgYSBjcml0aWNhbCBlcnJvcgoJICAoZ3N0LWNoZWNrLTEuMDoyOTg2OSk6IEdTdHJlYW1lci1DUklUSUNBTCAqKjogZ3N0X3ZhbHVlX3NldF9pbnRfcmFuZ2Vfc3RlcDogYXNzZXJ0aW9uICdzdGFydCA8IGVuZCcgZmFpbGVkCgkgIFRoaXMgaGFwcGVucyBiZWNhdXNlIG1pbiBjYW5ub3QgYmUgZXF1YWwgdG8gbWF4LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4ODM4CgoyMDE0LTEwLTE1IDE3OjQ1OjI0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5oOgoJICBSZXZlcnQgInJ0cDogYWRkIGgyNjUgUlRQIHBheWxvYWRlciArIGRlcGF5bG9hZGVyIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGQwNmJhOTA1MWY5MDRhN2ViNDgyYzA3YTk3YTE4MjcxNjkxNTg2NjMuCgkgIFRoaXMgYnJlYWtzIHRoZSBidWlsZCwgYXMgaXQgZGVwZW5kcyBvbiBwYXJzZXIgQVBJIGluIC1iYWQuCgoyMDE0LTEwLTE1IDE3OjM0OjUwICswMjAwICBKdXJnZW4gU2xvd2FjayA8anVyZ2VuLnNsb3dhY2tAYmFyY28uY29tPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5oOgoJICBydHA6IGFkZCBoMjY1IFJUUCBwYXlsb2FkZXIgKyBkZXBheWxvYWRlcgoKMjAxNC0xMC0wNSAyMToyNDoyNyArMDIwMCAgUGV0ZXIgRy4gQmF1bSA8cGV0ZXJAZHItYmF1bS5uZXQ+CgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5oOgoJICB3YXZlbmM6IFN1cHBvcnQgUkY2NCBmb3JtYXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTE0NQoKMjAxNC0xMC0xMSAxMToxODo0MiArMTEwMCAgRGF2aWQgU2Fuc29tZSA8bWVAZGF2aWRzYW5zb21lLmNvbT4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIGVxdWFsaXplcjogRG9uJ3QgY2FsbCBpaXJlcXVhbGl6ZXIncyB0cmFuc2Zvcm1faXAgaW4gcGFzc3Rocm91Z2ggbW9kZQoJICBJdCB0cmllcyB0byBtYXAgdGhlIHJlYWQtb25seSBidWZmZXIgd2l0aCBHU1RfTUFQX1JFQURXUklURSBhbmQgY3Jhc2hlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzg4NgoKMjAxNC0xMC0xMCAxODozMDowNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAb2NyZXRlLmNhPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBydHBzb3VyY2U6IFJlbmFtZSBzZXFudW0tYmFzZSB0byBzZXFudW0tb2Zmc2V0IGluIGNhcHMKCSAgVGhpcyB3YXMgbW9kaWZpZWQgYmFjayBpbiAxLjAgaW4gR3N0UnRwQmFzZVBheWxvYWQKCjIwMTQtMTAtMTAgMTg6MTE6MTkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQG9jcmV0ZS5jYT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZHRtZi5jOgoJICBydHBkdG1mc3JjOiBjbG9jay1iYXNlIGFuZCBzZXFudW0tYmFzZSAtPiB0aW1lc3RhbXAtb2Zmc2V0IGFuZCBzZXFudW0tb2Zmc2V0CgkgIFRoZXNlIHdlcmUgcmVuYW1lZCBpbiBHc3RSVFBCYXNlUGF5bG9hZCBpbiAxLjAKCjIwMTQtMTAtMTAgMTc6MzA6MjQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQG9jcmV0ZS5jYT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkgIHJ0cG11eDogY2xvY2stYmFzZSBhbmQgc2VxbnVtLWJhc2UgLT4gdGltZXN0YW1wLW9mZnNldCBhbmQgc2VxbnVtLW9mZnNldAoJICBUaGVzZSB3ZXJlIHJlbmFtZWQgaW4gR3N0UlRQQmFzZVBheWxvYWQgaW4gMS4wCgoyMDE0LTEwLTA2IDE0OjIzOjIyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2dvb20yazEvZmlsdGVycy5jOgoJICBnb29tMmsxOiByZW1vdmluZyBibG9jayBvZiBjb2RlIHRoYXQgZG9lcyBub3RoaW5nCgkgIFRoZSBsb29wIGluIHpvb21GaWx0ZXJTZXRSZXNvbHV0aW9uIGlzIG1lYW50IHRvIGNoYW5nZSB0aGUgdmFsdWVzIGluIHRoZQoJICB6Zi0+ZmlyZWRlY1tdIGFycmF5LiBFYWNoIGl0ZXJhdGlvbiB3cml0ZXMgdGhlIHZhbHVlIG9mIGRlY2Mgb250byB0aGUgYXJyeWEsCgkgIGJ1dCBubyBjb25kaXRpb25zIHRoYXQgY2hhbmdlIHRoZSB2YWx1ZSBvZiBkZWNjIGFyZSBldmVyIG1ldCBhbmQgdGhlIGFycmF5IGlzCgkgIGZpbGxlZCB3aXRoIHplcm8gZm9yIGVhY2ggZWxlbWVudC4gV2hpY2ggaXMgdGhlIGluaXRpYWwgc3RhdGUgb2YgdGhlCgkgIGFycmF5IGJlZm9yZSB0aGUgbG9vcCBiZWdpbnMuCgkgIFRoZSBsb29wIGRvZXMgbm90aGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODM1MwoKMjAxNC0xMC0wNCAxNzoxNzoxMyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGRvbid0IGxvZyBhbGwgY2xvY2tfcmF0ZSBjaGFuZ2VzIGFzIHdhcm5pbmdzLgoJICBXZSBuZXZlciBpbml0aWFsaXplIGNsb2NrX3JhdGUgZXhwbGljaXRseSwgdGhlcmVmb3JlIGl0IGlzIDAgYnkgZGVmYXVsdC4gVGhlCgkgIHBhcmFtZXRlciBpcyBhIHVpbnQzMiBhbmQgdGhlIG9ubHkgY2FsbGVyIGVuc3VyZSB0aGF0IGl0IGlzID4wLCB0aGVyZWZvcmUgaXQKCSAgd29uJ3QgYmVjb21lIC0xIGV2ZXIuCgoyMDE0LTEwLTAyIDE0OjI2OjA4ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSAgc291cGh0dHBjbGllbnRzaW5rOiBGaXggbGlmZXRpbWUgb2Ygc3RyZWFtIGhlYWRlcnMgYW5kIHF1ZXVlZCBidWZmZXJzCgkgIFN0cmVhbSBoZWFkZXJzIGFyZSB1cGRhdGVkIHdoZW5ldmVyIDo6c2V0X2NhcHMgaXMgY2FsbGVkLCBzbyB3ZSBjYW4ndCBhc3N1bWUKCSAgdGhleSdsbCBiZSB2YWxpZCBiZWZvcmUgdGhlIG1lc3NhZ2UgYm9keSBpcyB3cml0dGVuIG91dC4gV2UgKmNhbiogYXNzdW1lIHRoYXQKCSAgZm9yIHF1ZXVlZCBidWZmZXJzLCBidXQgU09VUF9NRU1PUllfU1RBVElDIGlzIHN0aWxsIHdyb25nIGZvciB0aG9zZS4KCSAgQWxzbywgYWRkIHNvbWUgZGVidWcgbG9nZ2luZyBmb3Igc3RyZWFtIGhlYWRlciBpbnRlcmFjdGlvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc3NzEKCjIwMTQtMTAtMDIgMDM6MjY6MjIgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBmaXggbWVtb3J5IGxlYWsgd2hlbiBwcmVwZW5kaW5nIEFEVFMgaGVhZGVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3NzYxCgoyMDE0LTA5LTIzIDEwOjQ4OjA5ICswMjAwICBBbnRvbmlvIE9zcGl0ZSA8YW8yQGFvMi5pdD4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5oOgoJICBpbnRlcmxlYXZlOiBpbnRlcmxlYXZlIHNhbXBsZXMgZm9sbG93aW5nIHRoZSBEZWZhdWx0IENoYW5uZWwgT3JkZXJpbmcKCSAgSW4gb3JkZXIgdG8gaGF2ZSBhIGZ1bGwgbWFwcGluZyBiZXR3ZWVuIGNoYW5uZWwgcG9zaXRpb25zIGluIHRoZSBhdWRpbwoJICBzdHJlYW0gYW5kIGxvdWRzcGVha2VyIHBvc2l0aW9ucywgdGhlIGNoYW5uZWwtbWFzayBhbG9uZSBpcyBub3QgZW5vdWdoOgoJICB0aGUgY2hhbm5lbHMgbXVzdCBiZSBpbnRlcmxlYXZlZCBmb2xsb3dpbmcgc29tZSBEZWZhdWx0IENoYW5uZWwgT3JkZXJpbmcKCSAgYXMgbWVudGlvbmVkIGluIHRoZSBXQVZFRk9STUFURVhURU5TSUJMRVsxXSBzcGVjaWZpY2F0aW9uLgoJICBBcyBhIERlZmF1bHQgQ2hhbm5lbCBPcmRlcmluZyB1c2UgdGhlIG9uZSBpbXBsaWVkIGJ5CgkgIEdzdEF1ZGlvQ2hhbm5lbFBvc2l0aW9uIHdoaWNoIGZvbGxvd3MgdGhlIG9yZGVyaW5nIGRlZmluZWQgaW4gU01QVEUKCSAgMjAzNi0yLTIwMDhbMl0uCgkgIE5PVEUgdGhhdCB0aGUgcmVsYXRpdmUgb3JkZXIgaW4gdGhlIFRvcCBMYXllciBpcyBub3QgZXhhY3RseSB0aGUgc2FtZSBhcwoJICB0aGUgb25lIGZyb20gdGhlIFdBVkVGT1JNQVRFWFRFTlNJQkxFWzFdIHNwZWNpZmljYXRpb247IGxldCdzIGhvcGUgdXNlcnMKCSAgdXNpbmcgc28gbWF5IGNoYW5uZWxzIGFyZSBhbHJlYWR5IGF3YXJlIG9mIHN1Y2ggZGlzY3JlcGFuY2llcy4KCSAgWzFdIGh0dHA6Ly9tc2RuLm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS93aW5kb3dzL2hhcmR3YXJlL2RuNjUzMzA4JTI4dj12cy44NSUyOS5hc3B4CgkgIFsyXSBodHRwOi8vd3d3Lml0dS5pbnQvZG1zX3B1Yi9pdHUtci9vcGIvcmVwL1ItUkVQLUJTLjIxNTktMi0yMDExLVBERi1FLnBkZgoJICBGaXhlczogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzEyNwoKMjAxNC0xMC0wMiAxMDoxMDoxMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkgIHdhdmVuYzogU2VuZCBDQVBTIGV2ZW50IGFmdGVyIHRoZSBwYWQgd2FzIGFjdGl2YXRlZAoJICBPdGhlcndpc2UgdGhlIENBUFMgZXZlbnQgd2lsbCBiZSBkcm9wcGVkIGFuZCB3ZSBuZXZlciBjb25maWd1cmUgYW55IGNhcHMgYXQKCSAgYWxsLCBsZWFkaW5nIHRvIHdlaXJkIGJlaGF2aW91ciBpbiBtYW55IHNpdHVhdGlvbnMuIEVzcGVjaWFsbHkgaGVhZGVyCgkgIHJld3JpdGluZyBpcyBub3QgZ29pbmcgdG8gd29yayBpZiBhIGNhcHNmaWx0ZXIgaXMgYWZ0ZXIgd2F2ZW5jLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3NzM1CgoyMDE0LTEwLTAxIDIzOjEyOjMwICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSAgc291cGh0dHBjbGllbnRzaW5rOiBBZGQgc29tZSBtb3JlIHVzZWZ1bCBkZWJ1ZyBsb2dnaW5nCgoyMDE0LTEwLTAxIDIzOjA1OjAzICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSAgc291cGh0dHBjbGllbnRzaW5rOiBGcmVlIHF1ZXVlZCBidWZmZXJzIGluIDo6cmVzZXQKCSAgOjpyZW5kZXIgc2V0cyBhIG5ldyBjYWxsYmFjayBmb3Igd3JpdGluZyBvdXQgbmV3IGJ1ZmZlcnMgb25seSBpZiB0aGVyZSBhcmVuJ3QKCSAgYWxyZWFkeSBidWZmZXJzIHF1ZXVlZCBmb3Igd3JpdGluZyB3aXRoIGEgcHJldmlvdXNseS1zY2hlZHVsZWQgY2FsbGJhY2suCgkgIEhvd2V2ZXIsIGlmIHRoZSBwcmV2aW91c2x5LXNjaGVkdWxlZCBjYWxsYmFjayBpcyBpbnRlcnJ1cHRlZCBieSBhIHN0YXRlIGNoYW5nZQoJICAoZWl0aGVyIG1hbnVhbGx5IG9yIGR1ZSB0byBhbiBlcnJvcikgYW5kIHRoZXJlIGFyZSBzdGlsbCBidWZmZXJzIGluIHRoZSBxdWV1ZSwKCSAgcmVzdGFydGluZyB0aGUgcGlwZWxpbmUgd2lsbCByZXN1bHQgaW4gYnVmZmVycyBiZWluZyBxdWV1ZWQgZm9yZXZlciwgYW5kIG5vCgkgIGNhbGxiYWNrcyB3aWxsIGV2ZXIgYmUgc2NoZWR1bGVkLCBhbmQgbm8gYnVmZmVycyB3aWxsIGJlIHdyaXR0ZW4gb3V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3NzM5CgoyMDE0LTEwLTAxIDE3OjI5OjI5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogQWN0dWFsbHkgdXNlIHRoZSBjb3JyZWN0IEdzdFZpZGVvSW5mbyBmb3IgY29udmVyc2lvbgoKMjAxNC0xMC0wMSAxNzoyNDo1OSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IFJldmVydCB0aGUgbGFzdCBjb21taXQgYW5kIGhhbmRsZSByZXNvbHV0aW9ucyBkaWZmZXJlbmNlcyBwcm9wZXJseQoJICBUaGlzIGlzIGFib3V0IGNvbnZlcnRpbmcgdGhlIGZvcm1hdCwgbm90IGFib3V0IGNvbnZlcnRpbmcgYW55IHdpZHRocyBhbmQKCSAgaGVpZ2h0cy4gU3ViY2xhc3NlcyBhcmUgZXhwZWN0ZWQgdG8gaGFuZGxlciBkaWZmZXJlbnQgcmVzb2x1dGlvbnMgdGhlbXNlbHZlcywKCSAgbGlrZSB0aGUgdmlkZW9taXhlcnMgYWxyZWFkeSBkbyBwcm9wZXJseS4KCjIwMTQtMTAtMDEgMTc6MTI6NTkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBHc3RWaWRlb0NvbnZlcnRlciBjdXJyZW50bHkgY2FuJ3QgcmVzY2FsZSBhbmQgd2lsbCBhc3NlcnQKCSAgTGVhZHMgdG8gdWdseSBhc3NlcnRpb25zIGluc3RlYWQgb2YgcHJvcGVybHkgZXJyb3Jpbmcgb3V0OgoJICBDUklUSUNBTCAqKjogZ3N0X3ZpZGVvX2NvbnZlcnRlcl9uZXc6IGFzc2VydGlvbiAnaW5faW5mby0+d2lkdGggPT0gb3V0X2luZm8tPndpZHRoJyBmYWlsZWQKCjIwMTQtMDktMzAgMTE6MzU6MTIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnB4L2dzdHZwOWVuYy5jOgoJICB2cDhlbmMvdnA5ZW5jOiBQcm90ZWN0IHRoZSBlbmNvZGVyIHdpdGggYSBtdXRleCBpbiBhbGwgc2l0dWF0aW9ucwoKMjAxNC0wOS0zMCAxMTozMTo0MyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA5ZW5jLmM6CgkgIHZwOWVuYzogQWxsb3cgY2FwcyByZW5lZ290aWF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjYzMjkKCjIwMTQtMDktMzAgMTE6Mjg6MzkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IGZpbmlzaCgpIGFuZCBkcmFpbigpIHNob3VsZCByZXR1cm4gYSBHc3RGbG93UmV0dXJuCgoyMDE0LTAzLTE0IDEyOjU5OjAyICswMTAwICBKb3NlIEFudG9uaW8gU2FudG9zIENhZGVuYXMgPHNhbnRvc2NhZGVuYXNAZ21haWwuY29tPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBBbGxvdyBjYXBzIHJlbmVnb3RpYXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjMyOQoKMjAxNC0wOS0yOSAxMTo0OTo0NSArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogc2V0IGNvbG9yc3BhY2UgZm9yIG91dHB1dCBkZXZpY2VzCgkgIFdoZW4gdGhlIHY0bDIgZGV2aWNlIGlzIGFuIG91dHB1dCBkZXZpY2UsIHRoZSBhcHBsaWNhdGlvbiBzaGFsbCBzZXQgdGhlCgkgIGNvbG9yc3BhY2UuIFNvIG1hcCBHU3RyZWFtZXIgY29sb3JpbWV0cnkgaW5mbyB0byBWNEwyIGNvbG9yc3BhY2UgYW5kIHNldAoJICBvbiBzZXRfZm9ybWF0LiBJbiBjYXNlIHdlIGhhdmUgbm8gY29sb3JpbWV0cnkgaW5mb3JtYXRpb24sIHdlIHRyeSB0bwoJICBndWVzcyBpdCBhY2NvcmRpbmcgdG8gcGl4ZWwgZm9ybWF0IGFuZCB2aWRlbyBzaXplLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3NTc5CgoyMDE0LTA5LTI5IDIyOjQ4OjE2ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGFjY29zdGVkLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlOiBBZGQgc29tZSBkb2N1bWVudGF0aW9uIGFib3V0IHRocmVhZGluZyBhbmQgc3luY2hyb25pc2F0aW9uCgkgIFRoaXMgZ2l2ZXMgYSBxdWljayBpbnRyb2R1Y3Rpb24gdG8gaG93IHRoZSBwdWxzZXNpbmsvcHVsc2VzcmMgY29kZQoJICBpbnRlcmFjdHMgd2l0aCB0aGUgcGFfdGhyZWFkZWRfbWFpbmxvb3AgdGhhdCB3ZSBzdGFydCB1cCB0byBjb21tdW5pY2F0ZQoJICB3aXRoIHRoZSBzZXJ2ZXIuCgoyMDE0LTA5LTI5IDIwOjE4OjA4ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGFjY29zdGVkLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBNYWtlIGVtaXR0aW5nIHN0cmVhbSBzdGF0dXMgbWVzc2FnZXMgc3luY2hyb25vdXMKCSAgVGhlIHN0cmVhbSBzdGF0dXMgbWVzc2FnZXMgYXJlIGVtaXR0ZWQgaW4gdGhlIFBBIG1haW5sb29wIHRocmVhZCwgd2hpY2gKCSAgbWVhbnMgdGhlIG1haW5sb29wIGxvY2sgaXMgdGFrZW4sIGZvbGxvd2VkIGJ5IHRoZSBHc3Qgb2JqZWN0IGxvY2sgKGJ5CgkgIGdzdF9lbGVtZW50X3Bvc3RfbWVzc2FnZSgpKS4gSW4gYWxsIG90aGVyIGxvY2F0aW9ucywgdGhlIG9yZGVyIG9mCgkgIGxvY2tpbmcgaXMgcmV2ZXJzZWQgKHRoaXMgaXMgdW5hdm9pZGFibGUgaW4gYSBidW5jaCBvZiBjYXNlcyB3aGVyZSB0aGUKCSAgb2JqZWN0IGxvY2sgaXMgdGFrZW4gYnkgR3N0QmFzZVNpbmsgb3IgR3N0QXVkaW9CYXNlU2luaywgYW5kIHRoZW4gd2UgZ2V0CgkgIGNvbnRyb2wgdG8gdGFrZSB0aGUgbWFpbmxvb3AgbG9jaykuCgkgIFRoZSBvbmx5IHdheSB0byBndWFyYW50ZWUgdGhhdCB0aGUgZGVmZXIgY2FsbGJhY2sgZm9yIHN0cmVhbSBzdGF0dXMKCSAgbWVzc2FnZXMgZG9lc24ndCBkZWFkbG9jayBpcyB0byBlaXRoZXIgc3RvcCBwb3N0aW5nIHRob3NlIG1lc3NhZ2VzLCBvcgoJICBtYWtlIHN1cmUgdGhhdCB0aGUgbWVzc2FnZSBlbWlzc2lvbiBpcyBjb21wbGV0ZWQgYmVmb3JlIHdlIHByb2NlZWQgdG8KCSAgYW55IHBvaW50IHRoYXQgbWlnaHQgdGFrZSB0aGUgb2JqZWN0IGxvY2sgYmVmb3JlIHRoZSBtYWlubG9vcCBsb2NrCgkgICh3aGljaCBpcyB3aGF0IHdlIGRvIGFmdGVyIHRoaXMgcGF0Y2gpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MDcxCgoyMDE0LTA5LTE2IDEyOjEyOjQ5ICswMjAwICBBbnRvbmlvIE9zcGl0ZSA8YW8yQGFvMi5pdD4KCgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkgIHdhdmVuYzogcHJpbnQgY2hhbm5lbCBtYXNrcyBpbiBoZXhhZGVjaW1hbAoKMjAxNC0wOS0yNyAxNjowMToyMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJkZXZpY2Vwcm92aWRlci5oOgoJICB2NGwyOiByZW1vdmUgcmVkdW5kYW50IHN0cnVjdCBkZWNsYXJhdGlvbgoKMjAxNC0wOS0yNiAxMzo0NjoxNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogRml4IGNvbXBpbGVyIHdhcm5pbmdzCgkgIGdzdHJ0c3BzcmMuYzo3OTM5OjExOiBlcnJvcjogaW1wbGljaXQgY29udmVyc2lvbiBmcm9tIGVudW1lcmF0aW9uIHR5cGUgJ0dzdFNEUFJlc3VsdCcgdG8gZGlmZmVyZW50IGVudW1lcmF0aW9uIHR5cGUKCSAgJ0dzdFJUU1BSZXN1bHQnIFstV2Vycm9yLC1XZW51bS1jb252ZXJzaW9uXQoJICByZXMgPSBnc3Rfc2RwX21lc3NhZ2VfbmV3ICgmc2RwKTsKCSAgfiBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJICBnc3RydHNwc3JjLmM6Nzk0NDoxMTogZXJyb3I6IGltcGxpY2l0IGNvbnZlcnNpb24gZnJvbSBlbnVtZXJhdGlvbiB0eXBlICdHc3RTRFBSZXN1bHQnIHRvIGRpZmZlcmVudCBlbnVtZXJhdGlvbiB0eXBlCgkgICdHc3RSVFNQUmVzdWx0JyBbLVdlcnJvciwtV2VudW0tY29udmVyc2lvbl0KCSAgcmVzID0gZ3N0X3NkcF9tZXNzYWdlX3BhcnNlX3VyaSAodXJpLCBzZHApOwoJICB+IF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoKMjAxNC0wOS0yNSAxNTowMToxNCArMDIwMCAgSm9uYXMgSG9sbWJlcmcgPGpvbmFzaGdAYXhpcy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogbWFrZSBkZW11eGVyIHJldXNhYmxlCgkgIFJlbW92ZSBwYWRzIGZyb20gZmxvdyBjb21iaW5lciBhbmQgcmVzZXQgbGFzdAoJICBmbG93IHJldHVybiB0byBGTE9XX09LIGJ5IHJlc2V0dGluZyB0aGUgZmxvdyBjb21iaW5lci4KCSAgVGhpcyBwcmV2ZW50cyBGTE9XX0ZMVVNISU5HIHdoZW4gdHJ5aW5nIHRvIHJlLXVzZSB0aGUKCSAgZGVtdXhlciBhZnRlciBzZXR0aW5nIGl0IGJhY2sgdG8gTlVMTC9SRUFEWSBzdGF0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzM1OQoKMjAxNC0wOS0yNCAxNjo0NjozNiArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvZ3N0Y21zLmM6CgkqIGdzdC92aWRlb21peGVyL2dzdGNtcy5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb2NvbnZlcnQuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9jb252ZXJ0Lmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIycGFkLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXJvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyb3JjLWRpc3QuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcm9yYy5vcmM6CgkgIHZpZGVvbWl4ZXI6IHVzZSB2aWRlbyBsaWJyYXJ5IGNvZGUgaW5zdGVhZCBvZiBjb3B5CgoyMDE0LTA5LTE4IDE2OjM5OjE5ICswNTMwICBTYW5qYXkgTk0gPHNhbmpheS5ubUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiBBZGRlZCBpbmRleCBjaGVjayBiZWZvcmUgdXNpbmcgdGhlIGluZGV4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY4NzgKCjIwMTQtMDktMjMgMjM6MzM6MzcgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBEbyBub3QgaW5mZXIgRFRTIG9uIGJ1ZmZlcnMgZnJvbSBzcGFyc2Ugc3RyZWFtcy4KCSAgRFRTIGRlbHRhIGlzIHVzZWQgdG8gY2FsY3VsYXRlIHNhbXBsZSBkdXJhdGlvbi4gSWYgYnVmZmVyIGhhcyBtaXNzaW5nIERUUywgd2UgdGFrZSBlaXRoZXIgc2VnbWVudCBzdGFydCBvciBwcmV2aW91cyBidWZmZXIgZW5kIHRpbWUsIHdoaWNoZXZlciBpcyBsYXRlci4KCSAgVGhpcyBtdXN0IG9ubHkgYmUgZG9uZSBmb3Igbm9uIHNwYXJzZSBzdHJlYW1zLCBzcGFyc2Ugc3RyZWFtcyBjYW4gaGF2ZSBnYXBzIGJldHdlZW4gYnVmZmVycyAod2hpY2ggaXMgaGFuZGxlZCBsYXRlciBieSBhZGRpbmcgZXh0cmEgZW1wdHkgYnVmZmVyIHdpdGggZHVyYXRpb24gdGhhdCBmaWxscyB0aGUgZ2FwKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3MDk1CgoyMDE0LTA5LTE4IDE3OjA4OjM3ICswNTMwICBTYW5qYXkgTk0gPHNhbmpheS5ubUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9nb29tL2lmcy5jOgoJICBnb29tOiBDbGFyaWZpZWQgcHJlY2VkZW5jZSBiZXR3ZWVuICUgYW5kID8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjg4NwoKMjAxNC0wOS0xOCAxNzo1OTozMSArMDUzMCAgU2FuamF5IE5NIDxzYW5qYXkubm1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3A6IGNsYXJpZnkgZXhwcmVzc2lvbiBzbyBvcGVyYXRvciBwcmVjZWRlbmNlIGlzIGNsZWFyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY5MDMKCjIwMTQtMDktMTggMTY6MDQ6MDMgKzA1MzAgIFNhbmpheSBOTSA8c2FuamF5Lm5tQHNhbXN1bmcuY29tPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgTWlzY2VsbGFuZW91cyBtaW5vciBjbGVhbnVwcwoJICBGaXggcmVkdW5kYW50IHZhcmlhYmxlcyBhbmQgYXNzaWdubWVudHMsCgkgIGFuZCB1bnJlYWNoYWJsZSBicmVha3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY4NzUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjg3NgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2ODc5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY4ODAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjg4MQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2ODg4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY4OTAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjg5MgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2ODkzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY4OTQKCjIwMTQtMDktMjQgMDA6MTI6MTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IHJlbW92ZSBkdXBsaWNhdGUgYXNzaWdubWVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjg5NwoKMjAxNC0wOS0yMyAyMjo1NTo0OCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogT25seSBjYWxjdWxhdGUgd2l0aCBkdXJhdGlvbnMgIT0gLTEKCjIwMTQtMDktMjMgMTk6MDg6NDggKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBjb2xsZWN0IHBhZCBmb3Igc3BhcnNlIHN0cmVhbSBzaG91bGQgYmUgY3JlYXRlZCB3aXRoIGxvY2sgc2V0IHRvIGZhbHNlCgkgIEF2b2lkcyB3YWl0aW5nIGZvciBidWZmZXJzIGZyb20gc3BhcnNlIHN0cmVhbXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzA5NQoKMjAxNC0wOS0yMyAxOTowNzoyNSArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGZpeCBzdWJ0aXRsZSBidWZmZXIgZHVyYXRpb24gYW5kIHN0cmlwIG51bGwgdGVybWluYXRpb24KCSAgU3RyaXAgdGhlIFwwIG9mZiB0aGUgc3VidGl0bGUgYXMgd2UgYWxyZWFkeSBrbm93IHRoZSBzaXplIGFuZCBhbHNvIHJlbWVtYmVyCgkgIHRvIHNldCB0aGUgZHVyYXRpb24gYXMgYnVmZmVyIGNvcHlpbmcgZG9lc24ndCBkbyBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzA5NQoKMjAxNC0wOS0yMyAxOTowNjoxOCArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSAgcXRtdXg6IG1vdmUgc3VidGl0bGUgbGF5ZXIgYWJvdmUgdmlkZW8gYW5kIHNldCBhbHRlcm5hdGUgZ3JvdXAKCSAgbGF5ZXIgLTEgaXMgYWJvdmUgdmlkZW8sIHRoYXQgaXMgMAoJICBBbmQgaGF2aW5nIGFsbCBzdWJ0aXRsZXMgaW4gYWx0ZXJuYXRlIGdyb3VwIDIgbWVhbnMgdGhhdCBvbmx5IG9uZQoJICBzaG91bGQgYmUgc2VsZWN0ZWQgYXQgYSB0aW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3MDk1CgoyMDE0LTA5LTIzIDA5OjQ3OjMxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgY2hlY2svc291cDogVGVtcG9yYXJpbHkgZGlzYWJsZSBHX0VOQUJMRV9ESUFHTk9TVElDCgkgIFRoZSBTT1VQX1NFUlZFUl9QT1JUIHByb3BlcnR5IGhhcyBiZWVuIGRlcHJlY2F0ZWQgaW4gcmVjZW50IGxpYnNvdXAKCSAgdmVyc2lvbnMuCgoyMDE0LTA5LTIzIDA5OjQzOjA1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgY2hlY2svc291cDogRGVmaW5lIG1pbmltdW0gdmVyc2lvbiByZXF1aXJlZAoJICBUbyBhdm9pZCBkZXByZWNhdGlvbiB3YXJuaW5ncwoKMjAxNC0wOS0xOSAxOToxNDoyOCArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBIYW5kbGUgbXA0YSB3aXRob3V0IEVTRFMgYXRvbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2OTg2CgoyMDE0LTA5LTIyIDE2OjE1OjI3ICswMjAwICBMaW51cyBTdmVuc3NvbiA8bGludXNzbkBheGlzLmNvbT4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIHhpbWFnZXNyYzogRml4IGJ1aWxkIHByb2JsZW0gd2l0aG91dCBYRklYRVMKCjIwMTQtMDktMTkgMTQ6MzQ6MTMgKzA1MzAgIFNhbmpheSBOTSA8c2FuamF5Lm5tQHNhbXN1bmcuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIGR0bWY6IFJlbW92ZWQgdW51c2VkIHN0cnVjdHVyZSBtZW1iZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY4ODMKCjIwMTQtMDktMTEgMTM6NDg6NDQgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSAgaXNvbXA0OiBmaXggd3JvbmcgREFSIGNhbGN1bGF0aW9uIGZvciBQQVIgPD0gMQoJICBDSUQgIzEyMjY0NTIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjM5NgoKMjAxNC0wOS0xOCAxNjo1OTo1MiArMDUzMCAgU2FuamF5IE5NIDxzYW5qYXkubm1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdjogUmVtb3ZlZCB1bnJlYWNoYWJsZSBicmVhayBzdGF0ZW1lbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY4ODQKCjIwMTQtMDktMTcgMTY6Mzc6MTEgKzAyMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW5AYXhpcy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBkbyBub3QgbGVhayBlbmNzaW5rIHBhZCBpbiBlcnJvciBjYXNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY4MDcKCjIwMTQtMDktMTcgMTY6MjM6MjEgKzAyMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW5AYXhpcy5jb20+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkgIG11bHRpcGFydGRlbXV4OiBkbyBub3QgbGVhayBuZXcgc3RyZWFtIGV2ZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY4MDUKCjIwMTQtMDktMTUgMDk6MDg6MTggKzA1MzAgIFJhdmkgS2lyYW4gSyBOIDxyYXZpLmtpcmFuQHNhbXN1bmcuY29tPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuaDoKCSAgeTRtZW5jOiBwb3J0IHk0bWVuYyB0byB1c2UgR3N0VmlkZW9FbmNvZGVyIGJhc2UgY2xhc3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTA4NQoKMjAxNC0wOS0xNyAxMzo1NToxOCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2NvbW1vbi5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvaGFsLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9yZW1vdGVpby5jOgoJICBvc3hhdWRpbzogT1NTdGF0dXMgaXMgbm90IGEgZm91cmNjLCBzbyBkb24ndCBwcmludCBpdCBhcyBvbmUuLi4KCjIwMTQtMDktMTYgMTQ6MjY6MDggKzAyMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW5AYXhpcy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGRvIG5vdCBsZWFrIHVpZCBhZnRlciBwYXJzaW5nIFRPQyBldmVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2NzM5CgoyMDE0LTA5LTE2IDIyOjQ3OjEzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSAgcnRwdnJhd2RlcGF5OiBEZWNsYXJlIHNvbWUgbW9yZSByZXF1aXJlZCBjYXBzIGZpZWxkcyBpbiB0aGUgc2luayB0ZW1wbGF0ZSBjYXBzCgkgIE5vdyBvbmx5IG1pc3NpbmcgYXJlIHdpZHRoIGFuZCBoZWlnaHQsIHdoaWNoIGFyZSBleHByZXNzZWQgYXMgc3RyaW5ncwoJICBmb3IgUlRQLi4uIHNvIHdlIGNhbid0IHB1dCB0aGVtIGludG8gdGhlIHRlbXBsYXRlIGNhcHMuCgoyMDE0LTA5LTE2IDE2OjQ2OjA3ICswNTMwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZmRlYy5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZkZWMuaDoKCSAgZ2RrcGl4YnVmZGVjOiBtb2RpZnkgd3JvbmcgcGFja2V0aXplZCBtb2RlIGxvZ2ljCgkgIHBhY2tldGl6ZWQgbW9kZSBpcyBiZWluZyBzZXQgd2hlbiBmcmFtZXJhdGUgaXMgYmVpbmcgc2V0CgkgIHdoaWNoIGlzIG5vdCBjb3JyZWN0LiBDaGFuZ2luZyB0aGUgc2FtZSBieSBjaGVja2luZyB0aGUKCSAgaW5wdXQgc2VnZW1lbnQgZm9ybWF0LiBJZiBpbnB1dCBzZWdtZW50IGlzIGluIFRJTUUgaXQgaXMKCSAgUGFja2V0aXplZCwgYW5kIGlmIGl0IGlzIGluIEJZVEVTIGl0IGlzIG5vdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjI1MgoKMjAxNC0wOS0xNiAxMToyNjoyMiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZSBhbmQgdXNlIGNvcnJlY3QgZGVjb2RlciB2YXJpYWJsZSBuYW1lCgoyMDE0LTA5LTE2IDExOjI1OjQyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgcG5nZGVjOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlCgoyMDE0LTA5LTE2IDEzOjI0OjE1ICswNTMwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2dkZWM6IG1vZGlmeSB3cm9uZyBwYWNrZXRpemVkIG1vZGUgbG9naWMKCSAgcGFja2V0aXplZCBtb2RlIGlzIGJlaW5nIHNldCB3aGVuIGZyYW1lcmF0ZSBpcyBiZWluZyBzZXQKCSAgd2hpY2ggaXMgbm90IGNvcnJlY3QuIENoYW5naW5nIHRoZSBzYW1lIGJ5IGNoZWNraW5nIHRoZQoJICBpbnB1dCBzZWdlbWVudCBmb3JtYXQuIElmIGlucHV0IHNlZ21lbnQgaXMgaW4gVElNRSBpdCBpcwoJICBQYWNrZXRpemVkLCBhbmQgaWYgaXQgaXMgaW4gQllURVMgaXQgaXMgbm90LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MjUyCgoyMDE0LTA5LTE2IDEzOjIzOjE2ICswNTMwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgIHBuZ2RlYzogbW9kaWZ5IHdyb25nIHBhY2tldGl6ZWQgbW9kZSBsb2dpYwoJICBwYWNrZXRpemVkIG1vZGUgaXMgYmVpbmcgc2V0IHdoZW4gZnJhbWVyYXRlIGlzIGJlaW5nIHNldAoJICB3aGljaCBpcyBub3QgY29ycmVjdC4gQ2hhbmdpbmcgdGhlIHNhbWUgYnkgY2hlY2tpbmcgdGhlCgkgIGlucHV0IHNlZ2VtZW50IGZvcm1hdC4gSWYgaW5wdXQgc2VnbWVudCBpcyBpbiBUSU1FIGl0IGlzCgkgIFBhY2tldGl6ZWQsIGFuZCBpZiBpdCBpcyBpbiBCWVRFUyBpdCBpcyBub3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYyNTIKCjIwMTQtMDktMTUgMTQ6Mzk6NDEgKzAyMDAgIEFudG9uaW8gT3NwaXRlIDxhbzJAYW8yLml0PgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuaDoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5oOgoJICB4aW1hZ2VzcmM6IFJlbW92ZSB1bnVzZWQgc2NyZWVuLW51bSBwcm9wZXJ0eQoJICBUaGUgc2NyZWVuIG51bWJlciBjYW4gYmUgc3RpbGwgc3BlY2lmaWVkIGFzIHBhcnQgb2YgdGhlIGRpc3BsYXktbmFtZQoJICBwcm9wZXJ0eSAoZS5nLiBmb3Igc2NyZWVuIDEgb2YgZGlzcGxheSAwIHVzZSBkaXNwbGF5LW5hbWU9IjowLjEiKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjEyMgoKMjAxNC0wOS0wNCAxNjoxMDo1MSArMDIwMCAgQW50b25pbyBPc3BpdGUgPGFvMkBhbzIuaXQ+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICB4aW1hZ2VzcmM6IERyYXcgdGhlIGN1cnNvciBvbmx5IHdoZW4gaXQgaXMgYWN0aXZlIGluIHRoZSBjYXB0dXJpbmcgcmVnaW9uCgkgIFVzZSBYUXVlcnlQb2ludGVyIHRvIGNoZWNrIHRoYXQgdGhlIHBvaW50ZXIgaXMgYWN0dWFsbHkgYWN0aXZlIGluc2lkZQoJICB0aGUgY2FwdHVyaW5nIHJlZ2lvbi4KCSAgVGhpcyBwcmV2ZW50cyBkcmF3aW5nIHRoZSBjdXJzb3Igd2hlbiB0aGUgcG9pbnRlciBpcyBwYXJ0aWFsbHkgb3V0c2lkZQoJICBvZiB0aGUgY2FwdHVyZWQgcmVnaW9uIGJ1dCBub3QgYWN0aXZlIGluc2lkZSB0aGUgcmVnaW9uOyBpbiBwYXJ0aWN1bGFyCgkgIHRoaXMgYXZvaWRzIGRyYXdpbmcgdGhlICJ3aW5kb3cgcmVzaXplIiBjdXJzb3Igc2hhcGVzIHRvIHRoZSBjYXB0dXJlZAoJICBpbWFnZSB3aGVuIHRoZSBtb3VzZSBwb2ludGVyIGNyb3NzZXMgYSB3aW5kb3cgYm9yZGVyLgoJICBOT1RFIHRoYXQgdGhpcyBpcyBub3Qgb25seSBhbiBvcHRpbWl6YXRpb24sIHRoaXMgYWxzbyBoYXBwZW4gdG8gZml4CgkgIGEgc2VyaW91cyBwcm9ibGVtIGluIG11bHRpLXNjcmVlbiBzZXR1cHMuCgkgIEJlY2F1c2UgWEZpeGVzIGdpdmVzIG5vIGluZm9ybWF0aW9uIG9mIHdoYXQgc2NyZWVuIHRoZSBwb2ludGVyIGlzIG9uLAoJICB4aW1hZ2VzcmMgd2FzIGFsd2F5cyBkcmF3aW5nIHRoZSBjdXJzb3Igb24gdGhlIGNhcHR1cmVkIHNjcmVlbiBldmVuIGlmCgkgIHRoZSBtb3VzZSBwb2ludGVyIHdhcyBvbiBhbm90aGVyIHNjcmVlbi4KCSAgRm9yIGV4YW1wbGUsIHdoZW4gY2FwdHVyaW5nIGZyb20gc2NyZWVuIDEgKGkuZS4gZGlzcGxheS1uYW1lPSI6MC4xIikgdGhlCgkgIGN1cnNvciB3YXMgZHJhd24gaW4gdGhlIGNhcHR1cmVkIGltYWdlIGV2ZW4gd2hlbiB0aGUgbW91c2UgcG9pbnRlciB3YXMKCSAgYWN0dWFsbHkgb24gc2NyZWVuIDAsIHdoaWNoIGlzIHdyb25nIGFuZCB2aXN1YWxseSBjb25mdXNpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTA2NDYKCjIwMTQtMDktMDUgMTE6MzM6MzEgKzAyMDAgIEFudG9uaW8gT3NwaXRlIDxhbzJAYW8yLml0PgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgeGltYWdlc3JjOiBGaXggZHJhd2luZyB0aGUgY3Vyc29yIHdoZW4gaXQgaXMgb3V0c2lkZSB0aGUgY2FwdHVyaW5nIHJlZ2lvbgoJICBXaGVuIHRoZSBjdXJzb3IgaXMgcGFydGlhbGx5IG9yIHRvdGFsbHkgb3V0IG9mIHRoZSBjYXB0dXJpbmcgcmVnaW9uIG9uCgkgIHRoZSB0b3Agc2lkZSBvciBvbiB0aGUgbGVmdCBzaWRlLCBpdCBnZXRzIGRyYXduIGZ1bGx5IGluc2lkZSBvZiB0aGUKCSAgcmVnaW9uIHdpdGggaXRzIGNvb3JkaW5hdGVzIHJvdW5kZWQgdXAgdG8gdGhlIGxlZnQgb3IgdG8gdGhlIHRvcCBib3JkZXIuCgkgIFRoaXMgaXMgaW1tZWRpYXRlbHkgbm90aWNlYWJsZSB3aGVuIHVzaW5nIHRoZSB4aWQgcHJvcGVydHkgdG8gY2FwdHVyZQoJICBhIHNwZWNpZmljIHdpbmRvdy4KCSAgVG8gZml4IHRoZSBpc3N1ZSwgYWxsb3cgbmVnYXRpdmUgY3ggYW5kIGN4IGNvb3JkaW5hdGVzIHdoZW4gY2hlY2tpbmcgdGhlCgkgIGJvdW5kYXJpZXMgYmVmb3JlIGRyYXdpbmcgdGhlIGN1cnNvci4KCSAgTk9URSB0aGF0IHRoZSBib3VuZGFyaWVzIGNoZWNraW5nIGNhbGN1bGF0aW9ucyBzdGlsbCBhbGxvd3MgdGhlIGN1cnNvcgoJICB0byBiZSBkcmF3biB3aGVuIGl0IGlzIG9ubHkgcGFydGlhbGx5IG91dHNpZGUgb2YgdGhlIGNhcHR1cmluZyByZWdpb24sCgkgIGJ1dCB0aGlzIG1ha2VzIHNlbnNlIGFuZCBnaXZlcyBhIG1vcmUgcGxlYXNpbmcgdmlzdWFsIGJlaGF2aW91ci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDY0NgoKMjAxNC0wOS0wNSAwMDoxNTozMCArMDIwMCAgQW50b25pbyBPc3BpdGUgPGFvMkBhbzIuaXQ+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5oOgoJICB4aW1hZ2VzcmM6IEZpeCB0aGUgZGVzdGluYXRpb24gY29vcmRpbmF0ZXMgb2YgdGhlIGN1cnNvcgoJICBYRml4ZXMgcHJvdmlkZXMgdGhlIGN1cnNvciBjb29yZGluYXRlcyByZWxhdGl2ZSB0byB0aGUgcm9vdCB3aW5kb3csIHRoaXMKCSAgaXMgbm90IHRha2VuIGludG8gYWNjb3VudCB3aGVuIHVzaW5nIHRoZSB4aWQgcHJvcGVydHkgdG8gY2FwdHVyZQoJICBhIHNwZWNpZmljIHdpbmRvdywgdGhlIHJlc3VsdCBpcyB0aGF0IHRoZSBjdXJzb3IgZ2V0cyBkcmF3biBhdCB0aGUgd3JvbmcKCSAgcG9zaXRpb24uCgkgIEluIG9yZGVyIHRvIGZpeCB0aGlzIGNvbnNpZGVyIHRoZSB3aW5kb3cgbG9jYXRpb24gd2hlbiBjYWxjdWxhdGluZyB0aGUKCSAgY3Vyc29yIHBvc2l0aW9uIGluIHRoZSBkZXN0aW5hdGlvbiBpbWFnZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDY0NgoKMjAxNC0wOS0xNSAxNDo1MToyNCArMDIwMCAgUGV0ZXIgS29yc2dhYXJkIDxwZXRlckBrb3JzZ2FhcmQuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJICB2NGwyYWxsb2NhdG9yOiBPX0NMT0VYRUMgbmVlZHMgX0dOVV9TT1VSQ0UKCSAgU2ltaWxhciB0byA5NGYzZDZmYyAvIGJ6IDcwOTQyMwoJICBPbiBzb21lIHN5c3RlbXMgKEUuRy4gdUNsaWJjIGFuZCBvbGRlciBHbGliYyB2ZXJzaW9ucyksIE9fQ0xPRVhFQyBpcyBvbmx5CgkgIGRlZmluZWQgd2hlbiBfR05VX1NPVVJDRSBpcyBzcGVjaWZpZWQsIHNvIGRvIHNvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2NjcwCgoyMDE0LTA5LTE1IDE4OjExOjM3ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNzZXR0ZXIuYzoKCSAgY2Fwc3NldHRlcjogdXBkYXRlIHRvIDEuMCB0cmFuc2Zvcm1fY2FwcyBzZW1hdGljcwoJICBJbiAxLjAsIHdlIHBhc3MgdGhlIGNvbXBsZXRlIGNhcHMgdG8gdHJhbnNmb3JtX2NhcHMgdG8gYWxsb3cgZm9yIGJldHRlcgoJICBvcHRpbWl6YXRpb25zLiBNYWtlIHRoaXMgZnVuY3Rpb24gYWN0dWFsbHkgd29yayBvbiBub24tc2ltcGxlIGNhcHMKCSAgaW5zdGVhZCBvZiBqdXN0IGlnbm9yaW5nIHRoZSBjb25maWd1cmVkIGZpbHRlciBjYXBzLgoKMjAxNC0wOS0wOCAxNDowNjowMCArMDIwMCAgUGV0ZXIgRy4gQmF1bSA8cGV0ZXJAZHItYmF1bS5uZXQ+CgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5oOgoJICB3YXZlbmM6IHVzZSBXQVZFX0ZPUk1BVF9FWFRFTlNJQkxFIGZvciBtb3JlIHRoYW4gMiBjaGFubmVscwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzNDQ0CgoyMDE0LTA5LTEyIDE1OjA2OjUwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBGaXggcGFyc2luZyBvZiBhZHRsIGNodW5rcwoJICBXZSBoYXZlIHRvIHNraXAgMTIgYnl0ZXMgb2YgZGF0YSBmb3IgdGhlIGNodW5rLCBhbmQgdGhlIGRhdGEgc2l6ZQoJICBwYXNzZWQgdG8gdGhlIHN1Yi1jaHVuayBwYXJzaW5nIGZ1bmN0aW9ucyBzaG91bGQgaGF2ZSA0IGJ5dGVzIGxlc3MKCSAgdGhhbiB0aGUgZGF0YSBzaXplLgoJICBBbHNvIHdoZW4gcGFyc2luZyB0aGUgc3ViLWNodW5rcywgY2hlY2sgaWYgd2UgYWN0dWFsbHkgaGF2ZSBlbm91Z2gKCSAgZGF0YSB0byByZWFkIGluc3RlYWQgb2YganVzdCBjcmFzaGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjI2NgoKMjAxNC0wOS0xMiAxMDo1NToyMyArMDUzMCAgU2FuamF5IE5NIDxzYW5qYXkubm1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHA6IGluY2x1ZGUgc3RyaW5nLmggZm9yIG1lbWNtcCBhbmQgbWVtc2V0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLy9zaG93X2J1Zy5jZ2k/aWQ9NzM2NTI4CgoyMDE0LTA5LTEyIDEzOjM2OjE4ICswNTMwICBBbnVqIEphaXN3YWwgPGFudWouamFpc3dhbEBzYW1zdW5nLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGRvbid0IGJpdHdpc2UgT1IgdGhlIHNhbWUgZmxhZyB0d2ljZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8vc2hvd19idWcuY2dpP2lkPTczNjU0MwoKMjAxNC0wOS0xMiAxMDozNTozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBoYW5kbGUgcmVhbCBhdWRpbyAyOF84CgkgIEZpeGVzIGR1cGxpY2F0ZSBjaGVjayBmb3IgMTRfNC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvL3Nob3dfYnVnLmNnaT9pZD03MzY1NDMKCjIwMTQtMDktMTEgMTQ6NDY6MDkgKzA1MzAgIEFudWogSmFpc3dhbCA8YW51ai5qYWlzd2FsQHNhbXN1bmcuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIG11bHRpZmlsZXNpbms6IGRvbid0IE9SIHRoZSBzYW1lIGZsYWcgdHdpY2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjQ2MgoKMjAxNC0wOS0xMSAxMjo1MjoxMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBJZiB0aGUgc2VydmVyIHJlcG9ydHMgIkFjY2VwdC1SYW5nZXM6IG5vbmUiIGRvbid0IHRyeSByYW5nZSByZXF1ZXN0cwoKMjAxNC0wOS0xMCAwOTo1MDo0NSArMDIwMCAgT2dueWFuIFRvbmNoZXYgPG9nbnlhbkBheGlzLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDJzaW5rOiBVbnJlZiBwb29sIGFmdGVyIHVzYWdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYzODQKCjIwMTQtMDktMDkgMTk6MDM6NTAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBEb24ndCByYW5rIGl0IGZvciBub3cKCSAgVGhpcyB3aWxsIHByZXZlbnQgdGhlIGNvbnZlcnRlciB0byBiZSBwaWNrZWQgYXV0b21hdGljYWxseSBpbiBjYXNlCgkgIHNvbWVvbmUgaW1wbGVtZW50IGR5bmFtaWMgY29udmVydGVyIHNlbGVjdGlvbiBzdXBwb3J0LiBJJ2QgbGlrZSB0aGlzCgkgIHRvIGJlIHJhbmtlZCBvbmx5IGZvciBrbm93biBkZXZpY2UsIGFzIGl0J3MgaGFyZCB0byBiZSBzdXJlIGEgZGV2aWNlIGlzCgkgIGEgY29udmVydGVyIHN1aXRlZCBmb3IgZ2VuZXJhbCBwdXJwb3NlLiBSZS1uZWdvdGlhdGlvbiBpcyBhbHNvIG5lZWRlZAoJICBiZWZvcmUgd2UgY2FuIHJhbmsgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM2MDcKCjIwMTQtMDktMDUgMDg6Mjk6MjAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgIHY0bDI6IERldGVjdCBiYWQgZHJpdmVycyB0aW1lc3RhbXBzCgkgIEV2ZW4gdGhvdWdoIHRoZSBVVkMgZHJpdmVyIGRvIGEgZ3JlYXQgZGVhbCBvZiBlZmZvcnQgdG8gcHJldmVudCBiYWQKCSAgdGltZXN0YW1wIHRvIGJlIHNlbnQgdG8gdXNlcnNwYWNlLCB0aGVyZSBzdGlsbCBleGlzdCBVVkMgaGFyZHdhcmUgdGhhdAoJICBhcmUgc28gYnVnZ3kgdGhhdCB0aGUgdGltZXN0YW1wIGVuZHVwIG5lYXJseSByYW5kb20uIFRoaXMgY29kZSBkZXRlY3QKCSAgYW5kIGlnbm9yZSB0aW1lc3RhbXAgZnJvbSB0aGVzZSBkcml2ZXJzLCBtYWtpbmcgdGhlc2UgY2FtZXJhIHVzYWJsZS4KCSAgVGhpcyBoYXMgYmVlbiB0ZXN0ZWQgb24gYm90aCBpbnZhbGlkIGFuZCB2YWxpZCBjYW1lcmFzLCBtYWtpbmcgc3VyZSBpdAoJICBkb2VzIG5vdCB0cmlnZ2VyIGZvciB2YWxpZCBjYW1lcmFzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyOTEwCgoyMDE0LTA4LTI5IDE3OjA5OjMwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIHY0bDJhbGxvY2F0b3I6IFdvcmthcm91bmQgZHJpdmVyIHRoYXQgZG9uJ3Qgc3VwcG9ydCBSRVFCVUZTKDApCgkgIFRoZXJlIGlzIHN0aWxsIGFyb3VuZCAxOCBkcml2ZXJzIG5vdCB5ZXQgcG9ydGVkIHRvIHZpZGVvYnVmMi4gVGhlc2UgZHJpdmVyCgkgIGRvbid0IHN1cHBvcnQgZnJlZWluZyBidWZmZXRycyB0aHJvdWdoIFJFUUJVRlMoMCkgaGVuY2UgZm9yIHRoZXNlIHRoZQoJICBtZW1vcnkgdHlwZSBwcm9iaW5nIGZhaWxzLiBJbiBvcmRlciB0byBnYWluIGJhY2sgb3VyIHByZXZpb3VzIGJlaGF2aW91ciBpbgoJICBwcmVzZW5jZSBvZiB0aGVzZSwgd2UgaW1wbGVtZW50IGEgd29ya2Fyb3VuZCB0aGF0IGFzc3VtaW5nIE1NQVAgaXMKCSAgc3VwcG9ydGVkLiBOb3RlIHRoYXQgYW4gYWxsb2NhdG9yIGlzIG9ubHkgY3JlYXRlZCBmb3IgZGV2aWNlIHdpdGgKCSAgU1RSRUFNSU5HIHN1cHBvcnQgaW4gdGhlIGRldmljZSBjYXBhYmlsaXRpZXMuIEluIHN1Y2ggY2FzZSBvbmUgb2YgTU1BUCwKCSAgVVNFUlBUUiBhbmQgRE1BQlVGIGlzIHJlcXVpcmVkLiBUaG91Z2ggRE1BQlVGIGNhbWUgYWZ0ZXJ3YXJkLCBzbyBpcwoJICBub3QgYW4gb3B0aW9uIGFuZCBpbiBwcmFjdGljZSBub25lIG9mIHRoZXNlIGRyaXZlcnMgd2lsbCBvbmx5IGRvIFVTRVJQVFIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU2NjAKCSAgQWxzby1ieTogSGFucyBkZSBHb2VkZSA8aGRlZ29lZGVAcmVkaGF0LmNvbT4KCjIwMTQtMDktMDQgMTU6MTE6NDAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwyOiBNZXJnZSBtaW5fYnVmZmVyc19mb3IqIHZhcmlhYmxlIGludG8gb25lCgkgIFJldXNlIHRoZSBzYW1lIG1pbl9idWZmZXJzIHZhcmlhYmxlIGZvciBib3RoIGNhcHR1cmUgYW5kIG91dHB1dCwgdGhpcwoJICByZWR1Y2UgdGhlIGxlbmd0aCBvZiBsaW5lcyBhbmQgbWFrZSB0aGUgY29kZSBtb3JlIHJlYWRhYmxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MDcyCgoyMDE0LTA5LTA0IDE4OjM1OjQ2ICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDI6IHNldCBtaW5fbGF0ZW5jeSBmb3Igb3V0cHV0IGRldmljZSBhY2NvcmRpbmcgdG8gcmVxdWlyZWQgbWluaW11bSBudW1iZXIgb2YgYnVmZmVycwoJICBTaW5jZSB3ZSBjYW4gZ2V0IHRoZSBtaW5pbXVtIG51bWJlciBvZiBidWZmZXJzIG5lZWRlZCBieSBhbiBvdXRwdXQKCSAgZGV2aWNlIHRvIHdvcmssIHVzZSBpdCB0byBzZXQgbWluX2xhdGVuY3kgd2hpY2ggd2lsbCBkZXRlcm1pbmUgaG93IG1hbnkKCSAgYnVmZmVycyBhcmUgcXVldWVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MDcyCgoyMDE0LTA5LTA5IDE2OjEwOjU2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdWRwc3JjLmM6CgkgIHRlc3RzOiB1ZHBzcmM6IGFkZCBjaGVjayB0byBtYWtlIHN1cmUgbXVsdGlwbGUgbWVtb3J5IGNodW5rcyBhcmUgdXNlZAoKMjAxNC0wOS0wOSAxNTo1NToxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3VkcHNyYy5jOgoJICB0ZXN0czogdWRwc3JjOiB3YWl0IGZvciBidWZmZXJzIHdpdGggR0NvbmQgaW5zdGVhZCBvZiBzbGVlcGluZwoJICBBdm9pZHMgaGFsZi1zZWNvbmQgc2xlZXAgZm9yIG5vIHJlYXNvbi4KCjIwMTQtMDktMDkgMTU6MzE6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91ZHBzcmMuYzoKCSAgdGVzdHM6IHVkcHNyYzogc3BsaXQgb3V0IHNvY2tldCBzZXR1cAoKMjAxNC0wOS0wOSAxMzo0Njo1NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogbW9yZSBlZmZpY2llbnQgbWVtb3J5IGhhbmRsaW5nCgkgIERyb3AgdXNlIG9mIGdfc29ja2V0X2dldF9hdmFpbGFibGVfYnl0ZXMoKSB3aGljaCBpcwoJICBub3QgdXNlZnVsIG9uIGFsbCBzeXN0ZW1zICh3aGVyZSBpdCByZXR1cm5zIHRoZSBzaXplCgkgIG9mIHRoZSBlbnRpcmUgYnVmZmVyIG5vdCB0aGF0IG9mIHRoZSBuZXh0IHBlbmRpbmcKCSAgcGFja2V0KSwgYW5kIGlzIHlldCBhbm90aGVyIHN5c2NhbGwgYW5kIGFwcGFyZW50bHkKCSAgdmVyeSBpbmVmZmljaWVudCBvbiBXaW5kb3dzIGluIHRoZSBVRFAgY2FzZS4KCSAgSW5zdGVhZCwgd2hlbiByZWFkaW5nIFVEUCBwYWNrZXRzLCB1c2UgdGhlIG1vcmUgZmVhdHVyZWZ1bAoJICBnX3NvY2tldF9yZWNlaXZlX21lc3NhZ2UoKSBjYWxsIHRoYXQgYWxsb3dzIHRvIHJlYWQgaW50bwoJICBzY2F0dGVyZWQgbWVtb3J5LCBhbmQgYWxsb2NhdGUgb25lIG1lbW9yeSBjaHVuayB3aGljaCBpcwoJICBsaWtlbHkgdG8gYmUgbGFyZ2UgZW5vdWdoIGZvciBhIHBhY2tldCwgd2hpbGUgYWxzbyBwcm92aWRpbmcKCSAgYSBsYXJnZXIgYWxsb2NhdGVkIG1lbW9yeSBjaHVuayBqdXN0IGluIGNhc2UgdGhlIHBhY2tldAoJICBpcyBsYXJnZXIgdGhhbiBleHBlY3RlZC4gSWYgdGhlIHJlY2VpdmVkIGRhdGEgZml0cyBpbnRvIHRoZQoJICBmaXJzdCBjaHVuaywgd2UnbGwganVzdCBhZGQgdGhhdCB0byB0aGUgYnVmZmVyIHdlIHJldHVybgoJICBhbmQgcmUtdXNlIHRoZSBmYWxsYmFjayBidWZmZXIgZm9yIG5leHQgdGltZSwgb3RoZXJ3aXNlIHdlCgkgIGFkZCBib3RoIGNodW5rcyB0byB0aGUgYnVmZmVyLgoJICBUaGlzIHJlZHVjZXMgbWVtb3J5IHdhc3RlIG1vcmUgcmVsaWFibHkgb24gc3lzdGVtcyB3aGVyZQoJICBnZXRfYXZhaWxhYmxlX2J5dGVzKCkgZG9lc24ndCB3b3JrIHByb3Blcmx5LgoJICBJbiBhIG11bHRpbWVkaWEgc3RyZWFtaW5nIHNjZW5hcmlvLCBpbmNvbWluZyBVRFAgcGFja2V0cwoJICBhcmUgYWxtb3N0IG5ldmVyIGZyYWdtZW50ZWQgYW5kIHRodXMgYWxtb3N0IGFsd2F5cyBzbWFsbGVyCgkgIHRoYW4gdGhlIE1UVSBzaXplLCB3aGljaCBpcyBhbHNvIHdoeSB3ZSBkb24ndCB0cnkgdG8gZG8KCSAgc29tZXRoaW5nIHNtYXJ0ZXIgd2l0aCBtb3JlIGZhbGxiYWNrIG1lbW9yeSBjaHVua3Mgb2YKCSAgZGlmZmVyZW50IHNpemVzLiBUaGUgZmFsbGJhY2sgc2NlbmFyaW8gaXMganVzdCBmb3Igd2hlbgoJICBzb21lb25lIGJ1aWx0IGEgYnJva2VuIHNlbmRlciBwaXBlbGluZSAobm90IHVzaW5nIGEKCSAgcGF5bG9hZGVyIG9yIHNvbWVzdWNoKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEwMzY0CgoyMDE0LTA5LTA5IDEyOjE1OjQzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuaDoKCSAgdWRwc3JjOiByZXdvcmsgbWVtb3J5IGFsbG9jYXRpb24gYml0cyBhbmQgZW5zdXJlIHdlIGFsd2F5cyBoYXZlIHR3byBjaHVua3Mgb2YgbWVtb3JpZXMgdG8gcmVhZCBpbnRvCgkgIEZpcnN0IGNodW5rIGlzIHRoZSBsaWtlbHkvZXhwZWN0ZWQgYnVmZmVyIHNpemUsIHNlY29uZCBpcyBhcwoJICBmYWxsYmFjayBpbiBjYXNlIHRoZSBwYWNrZXQgaXMgbGFyZ2VyIGluIHRoZSBlbmQuCgkgIE5leHQgc3RlcDogYWN0dWFsbHkgdXNlIHRoZXNlLgoKMjAxNC0wOS0wOSAwOTo0MjoxNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkgIHVkcHNyYzogdHJhY2sgbWF4IHBhY2tldCBzaXplIGFuZCBzYXZlIGFsbG9jYXRvciBuZWdvdGlhdGVkIGJ5IEdzdEJhc2VTcmMKCjIwMTQtMDktMDggMTY6MTU6MDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSAgYXVkaW9lY2hvOiBmaXggZXhhbXBsZSBjb21tYW5kIGxpbmUKCjIwMTQtMDktMDcgMTI6NDY6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBmaXggY3Jhc2ggd2l0aCBjZXJ0YWluIHZpZGVvcwoJICBUaGlzIGlzIGEgcmVncmVzc2lvbiBmcm9tIDEuMiBjYXVzZWQgYnkgdGhlIHBvcnQKCSAgdG8gdGhlIHBhZCBmbG93IGNvbWJpbmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MTkyCgoyMDE0LTA5LTA0IDE2OjIxOjIwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYS1kZW11eDogRG9uJ3QgaGFuZGxlIHBhcnNlIGVycm9ycyBhdCB0aGUgZW5kIG9mIGZpbGUgYXMgYW4gZXJyb3IKCSAgQnV0IG9ubHkgaWYgdGhleSBoYXBwZW4gYWZ0ZXIgdGhlIE1hdHJvc2thIHNlZ21lbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU4MzMKCjIwMTQtMDktMDQgMTI6MTQ6MTEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogSW5jbHVkZSByZWRpcmVjdGlvbiB0YXJnZXQgaW4gZXJyb3IgbWVzc2FnZXMKCSAgSnVzdCBnaXZpbmcgdGhlIG9yaWdpbmFsIFVSSSBjYW4gZ2l2ZSB0aGUgZmFsc2UgaW1wcmVzc2lvbiB0aGF0IGUuZy4KCSAgdGhhdCBvbmUgZmFpbGVkIGhvc3QgbmFtZSByZXNvbHV0aW9uLCB3aGlsZSBhY3R1YWxseSB0aGUgcmVkaXJlY3Rpb24gdGFyZ2V0CgkgIGRpZC4KCjIwMTQtMDktMDIgMTE6MTM6NDQgKzA0MDAgIEFuZHJlaSBTYXJha2VldiA8c2FyYWt1c2hhQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IEZpeCBzeW5jaHJvbml6YXRpb24gaWYgZHluYW1pY2FsbHkgY2hhbmdpbmcgdGhlIEZQUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1ODU5CgoyMDE0LTA5LTAyIDEzOjUyOjQzICswNTMwICBSYXZpIEtpcmFuIEsgTiA8cmF2aS5raXJhbkBzYW1zdW5nLmNvbT4KCgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJICBzbXB0ZTogQ2hlY2sgaWYgaW5wdXQgY2FwcyBhcmUgdGhlIHNhbWUgYW5kIGNyZWF0ZSBvdXRwdXQgY2FwcyBmcm9tIHZpZGVvIGluZm8KCSAgVGhpcyBtYWtlcyBzdXJlIHRoYXQgYWxzbyBwcm9wZXJ0aWVzIGxpa2UgdGhlIHBpeGVsLWFzcGVjdC1yYXRpbyBhcmUgdGhlIHNhbWUKCSAgYmV0d2VlbiBib3RoIHN0cmVhbXMgYW5kIHRoYXQgdGhlIG91dHB1dCBjYXBzIGNvbnRhaW4gYWxsIGZpZWxkcyBuZWNlc3NhcnkgZm9yCgkgIGNvbXBsZXRlIHZpZGVvIGNhcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU4MDQKCjIwMTQtMDktMDIgMTc6MjI6MDcgKzA1MzAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiByZXBsYWNlIHdpdGggZ3N0X2J1ZmZlcl9jb3B5CgkgIGdzdF9idWZmZXJfcmVmIGFuZCBnc3RfYnVmZmVyX3dyaXRhYmxlIGlzIGJlaW5nIHVzZWQgdG8gY3JlYXRlIGEgd3JpdGFibGUgY29weSBvZiBzb3VyY2UgYnVmZmVyLgoJICByZXBsYWNpbmcgdGhlIHNhbWUgd2l0aCBnc3RfYnVmZmVyX2NvcHkgYXMgdGhlIGZ1bmN0aW9uYWxpdHkgaXMgc2FtZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTg4MAoKMjAxNC0wOS0wMyAyMzowNjo1MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBtYXJrIGpwZWcgYW5kIHBuZyBhcyBwYXJzZWQgc28gYXZkZWNfbWpwZWcgY2FuIGJlIHVzZWQgdG9vCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU5NzEKCjIwMTQtMDktMDMgMTE6NDY6MTMgKzA1MzAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmZGVjLmM6CgkgIGdka3BpeGJ1ZmRlYzogZnJlZSBxdWVyeSBhZnRlciB1c2UKCSAgSW4gZ3N0X2dka19waXhidWZfZGVjX3NldHVwX3Bvb2woKSwgcXVlcnkgaXMgYmVpbmcgYWxsb2NhdGVkIHVzaW5nCgkgIGdzdF9xdWVyeV9uZXdfYWxsb2NhdGlvbigpLCBidXQgdGhlIHNhbWUgaXMgbm90IHVucmVmZXJlbmNlZAoJICBoZW5jZSBjYWxsaW5nIGdzdF9xdWVyeV91bnJlZigpIGFmdGVyIHVzYWdlIG9mIHF1ZXJ5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1OTUwCgoyMDE0LTA5LTAzIDIzOjQ2OjM0ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfdHlwZXMuYzoKCSAgcXRkZW11eDogU2lsZW5jZSBzb21lIHdhcm5pbmdzIGZvciBub3JtYWwgZmlsZSBjb250ZW50cwoKMjAxNC0wOS0wMSAwOTo1NjowMiArMDIwMCAgTmljb2xhcyBIdWV0IDxuaWNvbGFzLmh1ZXRAcGFycm90LmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEZpeCBwYXJzaW5nIGlzc3VlIHdoZW4gdGhlIGJ1ZmZlciBkb2VzIG5vdCBoYXZlIGEgY29tcGxldGUgQURUUy9MT0FTIGZyYW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU1MjAKCjIwMTQtMDktMDIgMDk6MDk6NDkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnB4L2dzdHZwOWRlYy5jOgoJICB2cDlkZWM6IEdldCBpbnB1dCB3aWR0aC9oZWlnaHQgZnJvbSB0aGUgY29kZWMgaW5zdGVhZCBvZiB0aGUgaW5wdXQgY2FwcwoJICBUaGV5IGFyZSByZXBvcnRlZCBwcm9wZXJseSBieSBsaWJ2cHggaWYgdGhlIGNvcnJlY3Qgc3RydWN0IG1lbWJlcnMgYXJlIHVzZWQuCgkgIFRoaXMgYWxzbyBmaXhlcyBoYW5kbGluZyBvZiByZXNvbHV0aW9uIGNoYW5nZXMgd2l0aG91dCBpbnB1dCBjYXBzIGNoYW5nZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTkzNTkKCjIwMTMtMTAtMjIgMTg6NDk6MjIgKzAxMDAgIFRvbSBHcmVlbndvb2QgPHRjZGdyZWVud29vZEBob3RtYWlsLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogRml4IGZvciBoYW5kbGluZyByZXNvbHV0aW9uIGNoYW5nZXMgd2hlbiBkZWNvZGluZyBWUDgKCSAgSWYgdGhlIHJlc29sdXRpb24gY2hhbmdlcyBpbiB0aGUgYml0c3RyZWFtIHdpdGhvdXQgdGhlIGlucHV0IGNhcHMgY2hhbmdpbmcgd2UKCSAgd291bGQgcHJldmlvdXNseSBvdXRwdXQgY29ycnVwdGVkIHZpZGVvIG9yIGNyYXNoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5MzU5CgoyMDE0LTA5LTAyIDAwOjU1OjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvdnB4L2dzdHZwOWRlYy5jOgoJICB2cDlkZWM6IEZpeCBzZWdmYXVsdCB3aGVuIGEgbmV3IGNhcHMgaXMgcmVjZWl2ZWQKCSAgUmVtZW1iZXIgdG8gdW5yZWYgdGhlIG91dHB1dCBjYXBzIHdoZW4gYSBuZXcgY2FwcyBldmVudCBpcyByZWNlaXZlZAoJICBhcyBpdCBzaG91bGQgZ2VuZXJhdGUgYSBuZXcgb25lIGJhc2VkIG9uIHRoZSBuZXcgY2Fwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDI2NgoKMjAxNC0wOS0wMiAwMDo1NDozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZGVjLmM6CgkgIHRlc3RzOiB2cDhkZWM6IGFkZCB0ZXN0IGZvciBjYXBzIHJlbmVnb3RpYXRpb24KCSAgQ2hlY2sgdGhhdCB2cDhkZWMgY2FuIHByb3Blcmx5IGFjY2VwdCBhIG5ldyBjYXBzIHdoZW4gdXBzdHJlYW0KCSAgY2hhbmdlcyBpdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0MjY2CgoyMDE0LTA4LTA1IDEwOjM0OjM5ICswMjAwICBKb3NlIEFudG9uaW8gU2FudG9zIENhZGVuYXMgPHNhbnRvc2NhZGVuYXNAZ21haWwuY29tPgoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBSZXNldCBvdXRwdXQgYW5kIGlucHV0IHN0YXRlcyB3aGVuIGNoYW5naW5nIGZvcm1hdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0MjY2CgoyMDE0LTA5LTAxIDE2OjM5OjIzICswNTMwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogRG9uJ3QgY2FsbCBnc3RfY2Fwc191bnJlZigpIG9uIHRlbXBsYXRlIGNhcHMgd2hlbiBhbHJlYWR5IHVucmVmZXJlbmNlZAoJICBBZGRpbmcgYW4gZXh0cmEgY29uZGl0aW9uIHdoaWxlIGNhbGxpbmcgZ3N0X2NhcHNfdW5yZWYgKHRlbXBsKQoJICBhbmQgcmVwbGFjaW5nIGdzdF9jYXBzX21ha2Vfd3JpdGFibGUgKGdzdF9jYXBzX3JlZiAoY2FwcykpIHdpdGgKCSAgZ3N0X2NhcHNfY29weSAoY2FwcykgaW4gbGluZSAxNzcsIHNpbmNlIHRoZSBmdW5jdGlvbmFsaXR5IGlzIHNhbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU3OTUKCjIwMTQtMDgtMjkgMTI6MDE6MjcgKzAyMDAgIEhhbnMgZGUgR29lZGUgPGhkZWdvZWRlQHJlZGhhdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGdldF9uZWFyZXN0X3NpemU6IEZpeCAiVW5zdXBwb3J0ZWQgZmllbGQgdHlwZSIgZXJyb3JzCgkgIE1vc3QgVjRMMiBpb2N0bHMgbGlrZSB0cnlfZm10IHdpbGwgYWRqdXN0IGlucHV0IGZpZWxkcyB0byBtYXRjaCB3aGF0IHRoZQoJICBoYXJkd2FyZSBjYW4gZG8gcmF0aGVyIHRoZW4gcmV0dXJuaW5nIC1FSU5WQUwuIEFzIGlzIGRvY21lbnRlZCBoZXJlOgoJICBodHRwOi8vbGludXh0di5vcmcvZG93bmxvYWRzL3Y0bC1kdmItYXBpcy92aWRpb2MtZy1mbXQuaHRtbAoJICBFSU5WQUwgaXMgb25seSByZXR1cm5lZCBpZiB0aGUgYnVmZmVyIHR5cGUgZmllbGQgaXMgaW52YWxpZCBvciBub3Qgc3VwcG9ydGVkLgoJICBTbyB1cG9uIHJlcXVlc3RpbmcgVjRMMl9GSUVMRF9OT05FIGRldmljZXMgd2hpY2ggY2FuIG9ubHkgZG8gaW50ZXJsYWNlZAoJICBtb2RlIHdpbGwgY2hhbmdlIHRoZSBmaWVsZCB2YWx1ZSB0byBlLmcuIFY0TDJfRklFTERfQk9UVE9NIGFzIG9ubHkgcmV0dXJuaW5nCgkgIGhhbGYgdGhlIGxpbmVzIGlzIHRoZSBjbG9zZXN0IHRoZXkgY2FuIGRvIHRvIHByb2dyZXNzaXZlIG1vZGVzLgoJICBJbiBlc3NlbmNlIHRoaXMgbWVhbnMgdGhhdCB3ZSd2ZSBmYWlsZWQgdG8gZ2V0IGEgKHVzYWJsZSkgcHJvZ2Vzc2l2ZSBtb2RlCgkgIGFuZCBzaG91bGQgZmFsbCBiYWNrIHRvIGludGVybGFjZWQgbW9kZS4KCSAgVGhpcyBjb21taXQgYWRkcyBhIGNoZWNrIGZvciBoYXZpbmcgZ290dGVuIGEgdXNhYmxlIGZpZWxkIHZhbHVlIGFmdGVyIHRoZSBmaXJzdAoJICB0cnlfZm10LCB0byBmb3JjZSBmYWxsYmFjayB0byBpbnRlcmxhY2VkIG1vZGUgZXZlbiBpZiB0aGUgdHJ5X2ZtdCBzdWNjZWVkZWQsCgkgIHRoZXJlYnkgZml4aW5nIGdldF9uZWFyZXN0X3NpemUgZmFpbGluZyBvbiB0aGVzZSBkZXZpY2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1NjYwCgoyMDE0LTA4LTI5IDEwOjU3OjIwICswMjAwICBIYW5zIGRlIEdvZWRlIDxoZGVnb2VkZUByZWRoYXQuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBnZXRfbmVhcmVzdF9zaXplOiBBbHdheXMgcmVpbml0IGFsbCBzdHJ1Y3QgZmllbGRzIG9uIHJldHJ5CgkgIFRoZXkgbWF5IGhhdmUgYmVlbiBtb2RpZmllZCBieSB0aGUgaW9jdGwgZXZlbiBpZiBpdCBmYWlsZWQuIFRoaXMgYWxzbyBtYWtlcwoJICB0aGUgU19GTVQgZmFsbGJhY2sgcGF0aCB0cnkgcHJvZ3Jlc3NpdmUgZmlyc3QsIG1ha2luZyBpdCBjb25zaXN0ZW50IHdpdGggdGhlCgkgIHByZWZlcnJlZCBUUllfRk1UIHBhdGguCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU2NjAKCjIwMTQtMDgtMjkgMTE6NTU6MjYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IFN0b3JlIHNpemUgb2YgZGF0YSB0YWcgaW4gYSA2NCBiaXQgaW50ZWdlciBsb2NhbGx5IHRvbwoJICBPdGhlcndpc2Ugd2Ugd2lsbCBjbGlwIHRoZSBEUzY0IHZhbHVlIG9mIFJGNjQgZmlsZXMgdG8gMzIgYml0cyBhZ2Fpbi4KCjIwMTQtMDgtMjkgMTE6NTM6MjMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IFVzZSA2NCBiaXQgc2NhbGluZyBmdW5jdGlvbnMgbm93IHRoYXQgZmFjdCBpcyBhIDY0IGJpdCBpbnRlZ2VyCgoyMDE0LTA4LTI3IDE4OjU1OjE4ICswMjAwICBQZXRlciBHLiBCYXVtIDxwZXRlckBkci1iYXVtLm5ldD4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSAgd2F2cGFyc2U6IHN1cHBvcnQgcmY2NCBmb3JtYXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTYyNwoKMjAxNC0wOC0yOCAxMzo0ODo1MCAtMDYwMCAgSmFzb24gTGl0emluZ2VyIDxqbGl0emluZ2VyQGNvbnRyb2w0LmNvbT4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgbXVsdGlwYXJ0ZGVtdXg6IEVuc3VyZSBjYXBzIGJlZm9yZSBwYWQgYWRkZWQuCgkgIFRoaXMgc3RvcmVzIHRoZSBzdHJlYW0tc3RhcnQsIHNldHMgY2FwcywgYW5kIHRoZW4gYWRkcyB0aGUgcGFkLAoJICB3aGljaCBlbnN1cmVzIHRoYXQgdGhlIGNhcHMgYXJlIHNldCBmb3IgdGhlICJwYWQtYWRkZWQiIGNhbGxiYWNrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1NjI2CgoyMDE0LTA4LTI4IDE1OjAzOjUwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogRmFsbGJhY2sgdG8gUFRTIGlmIERUUyBpcyBtaXNzaW5nCgkgIEZpeGluZyBhIHJlZ3Jlc3Npb24gaW50cm9kdWNlIHdoZW4gZml4aW5nOgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxMzUyCgoyMDE0LTA4LTI4IDE2OjEzOjI5ICswNTMwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogUmVtb3ZlIGltcG9zc2libGUgZXJyb3IgY29uZGl0aW9uCgkgIFdlIHJldHVybiBFT1MgYWZ0ZXIgdGhlIGZpcnN0IGJ1ZmZlciwgYW5kIEdzdFBhZCB3aWxsIG1ha2Ugc3VyZSBub3cgdGhhdCB3ZQoJICB3b24ndCBnZXQgYW55IG90aGVyIGJ1ZmZlciBhZnRlcndhcmRzIHVudGlsIGEgZmx1c2ggaGFwcGVucy4gTm8gbmVlZCB0byBjaGVjawoJICBmb3IgaXQgb3Vyc2VsdmVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1NTgxCgoyMDE0LTA4LTI4IDEzOjUzOjIzICswNTMwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZmRlYy5jOgoJICBnZGtwaXhidWZkZWM6IEVPUyBhbmQgTk9UX0xJTktFRCBhcmUgbm8gZXJyb3JzIGluIGdlbmVyYWwKCSAgRG9uJ3QgcG9zdCBhbiBlcnJvciBtZXNzYWdlIGZvciB0aGVtIGJ1dCBsZXQgdXBzdHJlYW0gaGFuZGxlCgkgIGFueXRoaW5nIGFjY29yZGluZ2x5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1NTY0CgoyMDE0LTA4LTI3IDIxOjA3OjI2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICBmbHZtdXg6IENvcnJlY3RseSBvZmZzZXQgdGltZXN0YW1wCgkgIFRoZSBwcmV2aW91cyBtZXRob2Qgd291bGQgYnJlYWsgQVYgc3luYyBpbiB0aGUgY2FzZSBhdWRpbyBvciB2aWRlbwoJICBkaWRuJ3Qgc3RhcnQgYXQgdGhlIHNhbWUgcG9pbnQgaW4gcnVubmluZyB0aW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxMzUyCgoyMDE0LTA4LTI3IDIwOjU2OjEyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IFNhdmUgZHRzIGZyb20gYnVmZmVyCgkgIFdlIG5vIGxvbmdlciBzZXQgZHRzIGluIG11eGVkIGJ1ZmZlci4gVGhpcyB3b3VsZCBsZWFkIHRvIGVuY29kaW5nIHRhZ3MKCSAgd2l0aCB0aW1lc3RhbXAgMCBpbnN0ZWFkIG9mIHRoZSB0aW1lc3RhbXAgb2YgcHJldmlvdXMgYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxMzUyCgoyMDE0LTA3LTI4IDIwOjU4OjU5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkgIGZsdm11eDogRW5zdXJlIFRpbWVzdGFtcCBzdGFydHMgYXQgMAoJICBGTFYgZG9jdW1lbnRhdGlvbiBzdGlwdWxhdGVzIHRoYXQgdGltZXN0YW1wIG11c3Qgc3RhcnQgYXQgemVyby4KCSAgSW4gb3JkZXIgdG8gcmVzcGVjdCB0aGlzIHJ1bGUsIGtlZXAgdGhlIGZpcnN0IHRpbWVzdGFtcCBhcm91bmQKCSAgYW5kIG9mZnNldCB0aGUgdGltZXN0YW1wIGZyb20gdGhpcyB2YWx1ZS4gVGhpcyBhbGxvdyBmb3IgbG9uZ2VyCgkgIHJlY29yZGluZyB0aW1lIGluIHByZXNlbmNlIG9mIHRpbWVzdGFtcCB0aGF0IGRvZXMgbm90IHN0YXJ0CgkgIGF0IDAgYWxyZWFkeS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTM1MgoKMjAxNC0wNi0wNiAyMzoxNzo1MiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2OiBUYWcgdGltZXN0YW1wIGFyZSBEVFMgbm90IFBUUwoJICBUaGUgdGFncyBpbiBGTFYgYXJlIERUUy4gSW4gYXVkaW8gY2FzZXMsIGFuZCBmb3IgbWFueSB2aWRlbyBmb3JtYXQgdGhpcyBtYWtlcwoJICBubyBkaWZmZXJlbmNlLCBidXQgZm9yIEFWQyB3aXRoIEItRnJhbWVzLCBQVFMgbmVlZCB0byBiZSBjb21wdXRlZCBmcm9tCgkgIGNvbXBvc2l0aW9uIHRpbWVzdGFtcCBDVFMsIHdpdGggUFRTID0gRFRTICsgQ1RTLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxMzUyCgoyMDE0LTA4LTA3IDIxOjU4OjE0IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8a2FrYXJvdG9Aa2FrYXJvdG8uaG9tZWxpbnV4Lm5ldD4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IEFsbG93IHJ0cCBjYXBzIHdpdGhvdXQgY2xvY2stcmF0ZQoJICBUaGUgaml0dGVyYnVmZmVyIHNob3VsZG4ndCBmb3JjZSBjbG9jay1yYXRlIG9uIGl0cyBzaW5rIHBhZCwgdGhpcyB3aWxsIGNhdXNlIGEgbmVnb3RpYXRpb24gaXNzdWUgc2luY2UgcnRwc3NyY2RlbXV4IGRvZXNuJ3QgaGF2ZSB0aGUgY2xvY2stcmF0ZSBhbmQgZG9lc24ndCBhZGQgaXQgdG8gdGhlIGNhcHMuIFRoZSBkb2N1bWVudGF0aW9uIHN0YXRlcyB0aGF0IHRoZSBjbG9jay1yYXRlIGNhbiBlaXRoZXIgYmUgc3BlY2lmaWVkIHRocm91Z2ggdGhlIGNhcHMgb3IgdGhyb3VnaCB0aGUgcmVxdWVzdC1wdC1tYXAgc2lnbmFsLCBzbyB3ZSBtdXN0IHJlbW92ZSBjbG9jay1yYXRlIGZyb20gdGhlIHBhZCB0ZW1wbGF0ZXMgYW5kIHdlIG11c3QgYWNjZXB0IHRoZSBHU1RfRVZFTlRfQ0FQUyBpZiB0aGUgY2FwcyBkb24ndCBoYXZlIHRoZSBjbG9jay1yYXRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0MzIyCgoyMDE0LTA4LTE4IDE0OjA1OjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYXZvaWQgY3Jhc2hpbmcgb24gZGFzaCBzdHJlYW1zCgkgIERBU0gvZnJhZ21lbnRlZCBtb292IG1pZ2h0IGhhdmUgbm8gc2FtcGxlcyBhcyB0aG9zZSBhcmUgY2FycmllZAoJICBpbiBtb29mIGZyYWdtZW50cy4gQXZvaWQgY3Jhc2hpbmcgb3IgZmFpbGluZyB0aGUgc3RyZWFtIGJlY2F1c2UKCSAgb2YgdGhhdC4KCjIwMTQtMDgtMTggMTA6MzM6NDggKzA1MzAgIFJhdmkgS2lyYW4gSyBOIDxyYXZpLmtpcmFuQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZXF1YWxpemVyL2RlbW8uYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1vc3NzcmMuYzoKCSAgZXhhbXBsZXM6IHVzZSAncG9zdC1tZXNzYWdlcycgcHJvcGVydHkgaW5zdGVhZCBvZiBkZXByZWNhdGVkICdtZXNzYWdlJyBwcm9wZXJ0eQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0OTc5CgoyMDE0LTA4LTE4IDExOjQ1OjU0ICswMjAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcDogZml4IHVkcHNyYyBkb2N1bWVudGF0aW9uCgkgIHVkcHNyYyBndGstZG9jIGRvY3VtZW50YXRpb24gcmVmZXJzIHRvIHNvY2tmZCBhbmQgY2xvc2VmZCBwcm9wZXJ0aWVzIHdoaWNoIGhhcwoJICBiZWVuIHJlbW92ZWQuIFRoaXMgcGF0Y2ggcmVwbGFjZXMgdGhvc2UgcmVmZXJlbmNlcyB0byBzb2NrZXQgYW5kIGNsb3NlLXNvY2tldAoJICByZXNwZWN0aXZlbHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ5ODcKCjIwMTQtMDgtMTUgMTA6MDk6NTYgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogTWFrZSB0aGUgZGVmYXVsdCB0aW1lc2NhbGUgMS8xODAwIHNlY29uZAoJICBUaGUgb2xkIGRlZmF1bHQgdGltZXNjYWxlIG9mIDEgbWlsbGlzZWNvbmQgcHJvZHVjZXMgaXJyYXRpb25hbAoJICBudW1iZXJzIGZvciBhIGxvdCBvZiBmcmFtZXJhdGUvYXVkaW8tcGFja2V0LWR1cmF0aW9uIG11bHRpcGxlcy4KCSAgMS8xODAwIGlzIGEgbmljZXIgbnVtYmVyLCBhcyBpdCB0ZW5kcyB0byBwcm9kdWNlIGJldHRlciBmcmFjdGlvbnMKCSAgYW5kIHRoZXJlZm9yZSBzbGlnaHRseSBoaWdoZXIgYWNjdXJhY3kgb3ZlcmFsbAoKMjAxNC0wOC0xNSAwMToxNzoyNyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2E6IFVzZSBnc3RfdmlkZW9fZ3Vlc3NfZnJhbWVyYXRlKCkgZnVuY3Rpb24KCSAgUmVtb3ZlIGxvY2FsIGZyYW1lcmF0ZSBndWVzc2luZyBmdW5jdGlvbiBpbiBmYXZvdXIgb2YKCSAgdGhlIG5ldyBnc3RfdmlkZW9fZ3Vlc3NfZnJhbWVyYXRlKCkgZnVuY3Rpb24uCgoyMDE0LTA4LTE1IDAxOjEyOjIwICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvTWFrZWZpbGUuYW06CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBJbXByb3ZlIGZyYW1lcmF0ZSBjYWxjdWxhdGlvbi9ndWVzc2luZwoJICBDaGFuZ2UgdGhlIHdheSB0aGUgb3V0cHV0IGZyYW1lcmF0ZSBpcyBjYWxjdWxhdGVkCgkgIHRvIGlnbm9yZSB0aGUgZmlyc3Qgc2FtcGxlICh3aGljaCBpcyBzb21ldGltZXMgdHJ1bmNhdGVkCgkgIGluIG15IHRlc3RpbmcpIGFuZCB1c2UgdGhlIG5ldyBnc3RfdmlkZW9fZ3Vlc3NfZnJhbWVyYXRlKCkKCSAgZnVuY3Rpb24gdG8gcmVjb2duaXNlIGNvbW1vbiBzdGFuZGFyZCBmcmFtZXJhdGVzIGJldHRlci4KCSAgUmVtb3ZlIHRoZSBjb2RlIHRoYXQgd2FzIHNvcnRpbmcgdGhlIGZpcnN0IDIwIHNhbXBsZQoJICBkdXJhdGlvbnMgYW5kIHRoZW4gaWdub3JpbmcgdGhlIHJlc3VsdC4KCjIwMTQtMDgtMTQgMTY6MzY6NDQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBVc2UgdGhlIGJlc3Qgd2lkdGgvaGVpZ2h0L2V0YyBpZiBkb3duc3RyZWFtIGNhbiBoYW5kbGUgdGhhdAoJICBCZWZvcmUgaXQgd2FzIGFsd2F5cyB1c2luZyB3aGF0ZXZlciBkb3duc3RyZWFtIHByZWZlcnJlZCwgd2hpbGUKCSAgdGhlIGNvZGUgYW5kIGRvY3VtZW50YXRpb24gY2xhaW1lZCBzb21ldGhpbmcgZGlmZmVyZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3MTgwCgoyMDE0LTA4LTE0IDExOjI5OjAwICswNTMwICBSYXZpIEtpcmFuIEsgTiA8cmF2aS5raXJhbkBzYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IEF2b2lkIGRvdWJsZSBmcmVlIG9mIFZpZGVvQ29udmVydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NzY0CgoyMDE0LTA4LTEzIDExOjU4OjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogZml4IGluZGVudGF0aW9uCgoyMDE0LTA4LTEzIDExOjU0OjI2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogdW4tYnJlYWsgZHVyYXRpb24gcXVlcnlpbmcKCSAgQ29tbWl0IDJiOTQ5M2I1IGJyb2tlIHRoaXMgaW4gdHdvIHdheXM6IGEpIHdlIHNob3VsZCBvbmx5CgkgIHBhc3MgZHVyYXRpb24gcXVlcmllcyBpbiBUSU1FIGZvcm1hdCB1cHN0cmVhbSAob3IgYXQgbGVhc3QKCSAgbm90IHRob3NlIGluIERFRkFVTFQgb3IgQllURSBmb3JtYXQpLCBhbmQgYikgd2UgbXVzdG4ndAoJICBvdmVyd3JpdGUgdGhlIGRlZmF1bHQgdmFsdWUgb2YgJ3JlcycgZnJvbSBUUlVFIHRvIEZBTFNFCgkgIGFuZCBub3Qgc2V0IGl0IGFnYWluIGxhdGVyLiBUaGlzIGxlZCB0byBib2d1cyBkdXJhdGlvbnMKCSAgYmVpbmcgcmVwb3J0ZWQgZm9yIEZMViBwbGF5YmFjayBmcm9tIGZpbGUsIGJlY2F1c2UgVElNRQoJICBxdWVyaWVzIHdvdWxkIGZhaWwgKGFzICdyZXMnIGhhZCBiZWVuIHNldCB0byBGQUxTRSkgYW5kCgkgIHBhcnNlcnMgdGhlbiBkbyBhIEJZVEUgcXVlcnkgYXMgZmFsbGJhY2sgYW5kIHRyeSB0bwoJICBndWVzc3RpbWF0ZSBzb21ldGhpbmcgaW4gcmV0dXJuLCB3aGljaCBvZiBjb3Vyc2UgZ29lcwoJICBob3JyaWJseSB3cm9uZyBzaW5jZSB0aGUgQllURSBzaXplIHJldHVybmVkIGlzIGZvciB0aGUKCSAgbXV4ZWQgZmlsZS4KCjIwMTQtMDgtMTMgMTM6MjM6MTAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIHZpZGVvYmFsYW5jZTogQWxsb3cgYW55IHJhdyBjYXBzIGluIHBhc3N0aHJvdWdoIG1vZGUsIG5vdCBqdXN0IHRoZSBvbmVzIHdlIGhhbmRsZQoKMjAxNC0wOC0xMyAxMzowNDoyMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgdmlkZW9iYWxhbmNlOiBBbGxvdyBBTlkgY2Fwc2ZlYXR1cmVzLCBidXQgb25seSBpbiBwYXNzdGhyb3VnaCBtb2RlCgkgIFdoZW4gY2hhbmdpbmcgdGhlIHByb3BlcnRpZXMgdG8gbm90IGJlIGluIHBhc3N0aHJvdWdoIG1vZGUgYW55bW9yZSwKCSAgd2Ugd2lsbCBvbmx5IGFjY2VwdCBjYXBzIHdlIGNhbiBwcm9jZXNzIG91cnNlbHZlcywgcG90ZW50aWFsbHkgY2F1c2luZwoJICBhIG5vdC1uZWdvdGlhdGVkIGVycm9yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwMzQ1CgoyMDE0LTA4LTEyIDExOjM0OjMwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgZG9jczogdXBkYXRlIGZvciBnaXQKCjIwMTQtMDgtMTIgMTE6MzM6NTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYnVpbGQgeGltYWdlc3JjIGFnYWluIHdoZW4gY2hlY2tzIHN1Y2NlZWQKCSAgVGhpcmQgdGltZSBsdWNreSwgaG9wZWZ1bGx5LgoKMjAxNC0wOC0xMSAwOToyNjoxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBmaXggeDExIGNoZWNrcyB0byBiZSBub24tZmF0YWwgYWdhaW4KCSAgTXVzdCBwYXNzIGFuIGFjdGlvbi1pZi1ub3QtZm91bmQgYXJndW1lbnQgdG8KCSAgUEtHX0NIRUNLX01PRFVMRVMgb3IgaXQgd2lsbCBlcnJvciBvdXQgd2hlbgoJICBpdCBjYW4ndCBmaW5kIHRoZSBtb2R1bGUgcmVxdWVzdGVkLiBBbHNvIGZpeAoJICBBQ19DSEVDS19MSUIgdXNhZ2UsIGV4dHJhIGxpYnMgYXJndW1lbnQgd2FzCgkgIGluIHRoZSB3cm9uZyBwbGFjZS4KCjIwMTQtMDgtMDcgMTc6MTI6MzggKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZm9yd2FyZCBESVNDT05UIGZyb20gdXBzdHJlYW0gdG8gdGhlIG91dHB1dCBzdHJlYW1zCgkgIFRoaXMgbWFrZXMgc2Vuc2UgaW4gREFTSCByZXZlcnNlIHBsYXliYWNrLCB3aGVyZSB0aGUgdXBzdHJlYW0gZGFzaGRlbXV4CgkgIHdpbGwgZG93bmxvYWQgREFTSCBzZWdtZW50cyBpbiByZXZlcnNlIG9yZGVyLCBidXQgcHVzaCB0aGVpciBidWZmZXJzCgkgIGZvcndhcmQgdG8gcXRkZW11eCBhbmQgbWFyayBlYWNoIHNlZ21lbnQgc3RhcnQgYXMgRElTQ09OVC4gVGhpcyBuZWVkcwoJICB0byBiZSBmb3J3YXJkZWQgZG93bnN0cmVhbSB0byB0aGUgcGFyc2VyL2RlY29kZXIsIG90aGVyd2lzZSBpdCB3b24ndCB3b3JrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NDQzCgoyMDE0LTA4LTEwIDE4OjU1OjA3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHVzZSBwa2ctY29uZmlnIHRvIGRldGVjdCB4MTEgYW5kIHNpbXBsaWZ5IGNoZWNrcwoJICBBQ19QQVRIX1hUUkEgbWFjcm8gdW5uZWNlc3NhcmlseSBwdWxscyBpbiBsaWJTTSBhbmQgbGliSUNFLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxMDQ3CgoyMDE0LTA4LTEwIDEyOjMwOjA3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICB0ZXN0czogcnRwLXBheWxvYWRpbmc6IGFkanVzdCB0ZXN0IGRhdGEgdG8gYXZvaWQgTkFMIGNob3BwaW5nCgkgIC4uLiBhbmQgY29ycmVzcG9uZGluZ2x5IHVuZXhwZWN0ZWQgYnVmZmVyIHNpemVzLgoKMjAxNC0wOC0wOSAxNDoyMjo0MiArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIHNwZWV4ZW5jOiBJbXByb3ZlIGFubm90YXRpb24gb2YgaW50ZXJuYWwgZnVuY3Rpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDU0MgoKMjAxNC0wOC0wOCAxMjo1NDozMCArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkgIHNoYXBld2lwZTogVW5yZWYgY2FwcyBhbmQgZWxlbWVudCBhZnRlciB1c2FnZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NDc4CgoyMDE0LTA4LTA5IDIwOjQ3OjMwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGltcHJvdmUgZGVidWcgbG9nZ2luZyBvZiBmb3VyY2NzCgkgIElmIHdlIGNhbid0IHNob3cgQVNDSUksIGF0IGxlYXN0IHNob3cgdGhlbQoJICBpbiBiaWcgZW5kaWFuIG9yZGVyLgoKMjAxNC0wOC0wOSAyMDo0NjowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhZGQgc3VwcG9ydCBmb3IgJ3dtYSAnIG1hcHBpbmcgYXMgZm91bmQgaW4gc29tZSBpc212IGZpbGVzCgkgIGUuZy4gVG9fVGhlX0xpbWl0XzcyMF8yOTYyLmlzbXYKCjIwMTQtMDgtMDkgMTg6MzE6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWRkIHN1cHBvcnQgZm9yICd2Yy0xJyBtYXBwaW5nIGFzIGZvdW5kIGluIHNvbWUgaXNtdiBmaWxlcwoJICBlLmcuIFRvX1RoZV9MaW1pdF83MjBfMjk2Mi5pc212CgoyMDE0LTA4LTA3IDE2OjM0OjM2ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkgIHJ0cGgyNjNwcGF5OiBVbnJlZiBwYWQgdGVtcGxhdGUgY2FwcyBhZnRlciB1c2UKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDQzNQoKMjAxNC0wOC0wOCAxMjozNjowMSArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogVW5yZWYgYWxsb3dlZCBjYXBzIGFmdGVyIHVzYWdlCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ0NzQKCjIwMTQtMDgtMDggMTI6NDA6NDkgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogVW5yZWYgcGFkIHRlbXBsYXRlIGNhcHMgYWZ0ZXIgdXNhZ2UKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDQ3NQoKMjAxNC0wOC0wOCAxMjo0NDowOSArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2c2Vlay5jOgoJICBuYXZzZWVrOiBVbnJlZiBwZWVyIHBhZCBhZnRlciB1c2FnZQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NDc2CgoyMDE0LTA4LTA4IDEyOjI5OjUyICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBVbnJlZiBwYWQgdGVtcGxhdGUgY2FwcyBhZnRlciB1c2FnZQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NDczCgoyMDE0LTA4LTA1IDExOjQ3OjM5ICswMjAwICBTcmltYW50YSBQYW5kYSA8c3JpbWFudGFAYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogYXBwZW5kIHBhY2tldGl6YXRpb24gbW9kZSBwYXJhbWV0ZXIgdG8gU0RQCgkgIEFwcGVuZCBwYWNrZXRpemF0aW9uLW1vZGUgcGFyYW1ldGVyIHRvIFNEUCBkZXNjcmlwdGlvbi4KCSAgUGFja2V0aXphdGlvbiBtb2RlIHNpZ25hbHMgdGhlIHByb3BlcnRpZXMgb2YgYW4gUlRQIHBheWxvYWQgdHlwZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzU1NgoKMjAxNC0wOC0wOCAwMzo1ODoxNCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBpc29tcDQvcXRtdXg6IFdyaXRlIGNvcnJlY3QgZmlsZSBkdXJhdGlvbiB3aGVuIGdhcHMgZXhpc3QuCgkgIFdoZW4gd3JpdGluZyBvdXQgYSB0cmFrIHdpdGggYW4gZWRpdCBsaXN0LCBtYWtlIHN1cmUgdGhlCgkgIG92ZXJhbGwgZmlsZSBkdXJhdGlvbiBpcyBhbHNvIHVwZGF0ZWQgdG8gcmVmbGVjdCB0aGUKCSAgbGVuZ3RoZW5pbmcgb2YgdGhlIHN0cmVhbS4KCSAgQWRkIHNvbWUgbW9yZSBkZWJ1ZyB0byBxdGRlbXV4IHRvIHdhcm4gYWJvdXQgc3RyZWFtcyB0aGF0CgkgIGFyZSBsb25nZXIgdGhhbiB0aGUgZmlsZSBhbmQgZ2V0IHRydW5jYXRlZC4KCjIwMTQtMDgtMDQgMTU6Mzk6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IFB1c2ggdGhlIGNvcnJlY3Qgc2VnbWVudCBpbiBUQ1AgbW9kZSB3aGVuIHNlZWtpbmcKCjIwMTQtMDgtMDMgMTI6MzM6MzIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiB1bmJyZWFrIGF1IGFsaWduZWQgYnl0ZS1zdHJlYW0gcGF5bG9hZGluZwoKMjAxNC0wNy0yMiAxMzoyNDowOSArMDIwMCAgU3JpbWFudGEgUGFuZGEgPHNyaW1hbnRhQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IGFwcGVuZCBwcm9maWxlLWxldmVsLWlkIHRvIFNEUAoJICBBcHBlbmQgcHJvZmlsZS1sZXZlbC1pZCB0byBTRFAgaWYgYXZhaWxhYmxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzNTM5CgoyMDE0LTA3LTMxIDE4OjQ3OjQ5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb21tb246CgkgIE1ha2VmaWxlOiBBZGQgdXNhZ2Ugb2YgYnVpbGQtY2hlY2tzIHN0ZXAKCSAgQWxsb3dzIGJ1aWxkaW5nIGNoZWNrcyB3aXRob3V0IHJ1bm5pbmcgdGhlbQoKMjAxNC0wNy0zMSAwOTo1Mzo1MyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSAgeGltYWdlc3JjOiBGaXggd2FybmluZyBhYm91dCBtaXNzaW5nIHJldHVybiB2YWx1ZQoKMjAxNC0wNy0yNCAxNToyODowOSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5oOgoJICB4aW1hZ2VzcmM6IEFkZCBtaXNzaW5nIHJldHVybiB2YWx1ZSB0byBCdWZmZXIgZGlzcG9zZSBmdW5jdGlvbgoJICBEZXBlbmRpbmcgb250IGhlIGJ1aWxkLCB0aGUgbWV0aG9kIGNvdWxkIHJldHVybiBGQUxTRSwgaGVuY2UgbmV2ZXIKCSAgZnJlZSB0aGUgYnVmZmVycywgb3IgYWxyZWFkeSBUUlVFIGFuZCBsZWFkIHRvIGEgY3Jhc2g6CgkgIEZpeGVzOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzNjk1CgoyMDE0LTA3LTI4IDE2OjQ5OjE2ICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkgIGludGVybGVhdmU6IHNldCBvdXRwdXQgY2FwcyBsYXlvdXQgdG8gaW50ZXJsZWF2ZWQKCSAgU2V0IG91dHB1dCBjYXBzIGxheW91dCBpbmRlcGVuZGVudGx5IGZyb20gaW5wdXQgY2FwcyBsYXlvdXQgd2hpY2ggY2FuCgkgIGJlIGVpdGhlciBub24taW50ZXJsZWF2ZWQgb3IgaW50ZXJsZWF2ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM4NjYKCjIwMTQtMDctMjYgMTI6MDY6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0Bvc2cuc2lzYS5zYW1zdW5nLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBjbGVhciBnY29uZAoKMjAxNC0wNy0yNSAxNDozMDozMyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICBSZXZlcnQgInY0bDJidWZmZXJwb29sOiBXb3JrYXJvdW5kIGVsZW1lbnRzIG5vdCByZXF1ZXN0aW5nIGFueSBidWZmZXJzIgoJICBUaGlzIHdhcyBhIHRlbXBvcnkgd29ya2Fyb3VuZCwgd2Ugc2hvdWxkIGZpeCB0aGUgZW5jb2RlcnMgdGhhdCBkbyBub3QKCSAgbmVnb3RhdGlhdGUgdGhlIGFtb3VudCBvZiBidWZmZXJzIHRoZXkgbmVlZC4KCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBkMDNiY2JhM2RiMTVkMDZkYmRlYTZiNzc2YTZmMjhlZDJmMDMyNzJhLgoKMjAxNC0wNy0wOCAxNDozMTo1OSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBEb24ndCBzaGFyZSBvd24gcG9vbCBpZiBtaW4gZXhjZWVkIFY0TDIgY2FwYWNpdHkKCSAgSWYgdGhlIG1pbmltdW0gcmVxdWlyZWQgYnVmZmVyIGV4Y2VlZCBWNEwyIGNhcGFjaXR5LCBkb24ndCBzaGFyZSBkb3duCgkgIHBvb2wuIFRoaXMgYWxsb3cgc3VwcG9ydCB2ZXJ5IGhpZ2ggbGF0ZW5jeSwgbGlrZSB3aXRoIHgyNjRlbmMgZGVmYXVsdAoJICBlbmNvZGluZyBzZXR0aW5ncy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjI4OAoKMjAxNC0wNy0yNSAxNzo0MjoyMCArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogcXVlcnkgbWluaW11bSByZXF1aXJlZCBidWZmZXJzIGZvciBvdXRwdXQKCSAgU29tZSB2NGwyIGRldmljZXMgY291bGQgcmVxdWlyZSBhIG1pbmltdW0gYnVmZmVycyBkaWZmZXJlbnQgZnJvbSBkZWZhdWx0CgkgIHZhbHVlcy4gUmF0aGVyIHRoYW4gYmxpbmRseSBwcm9wb3NlIGEgcG9vbCB3aXRoIG1pbi1idWZmZXJzIHNldCB0byB0aGUKCSAgZGVmYXVsdCB2YWx1ZSwgaXQgYXNrIHRoZSBkZXZpY2UgdXNpbmcgY29udHJvbCBpb2N0bC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzc1MAoKMjAxNC0wNy0yMyAxODo0MDoxMCArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDJzaW5rOiB1c2UgZGlyZWN0bHkgJ29iaicgaW5zdGVhZCBvZiAndjRsMnNpbmstPnY0bDJvYmplY3QnCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM2MTYKCjIwMTQtMDctMjMgMTg6Mzk6NTAgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDI6IHNldCBkZWJ1ZyBtZXNzYWdlcyBhY2NvcmRpbmcgdG8gZGV2aWNlIHR5cGUgYW5kIElPIG1vZGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzYxNgoKMjAxNC0wNS0yNCAxOTowMjo1OSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IFJlbW92ZSBpc19hY3RpdmUgY2hlY2tzCgkgIFRoZXNlIGNoZWNrcyBhcmUgbm8gbG9uZ2VyIHJlcXVpcmVkIHdpdGggcmVjZW50IGNoYW5nZSB0byB0aGUgYnVmZmVycG9vbC4gVGhpcwoJICBzaG91bGQgYWxsb3cgY2hhbmdpbmcgdGhlIGNvbmZpZ3VhcnRpb24sIGhlbmNlIHRoZSB3YXkgZm9yd2FyZCByZW5lZ290aWF0aW9uCgkgIHN1cHBvcnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjgyNjgKCjIwMTQtMDctMjEgMTg6MTE6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2xhbmcuYzoKCSAgcXRkZW11eDogZml4IGxhbmd1YWdlIGNvZGUgcGFyc2luZyBmb3IgMy1sZXR0ZXIgY29kZXMgc3RhcnRpbmcgd2l0aCAnYScKCSAgQW5kIGhhbmRsZSBzcGVjaWFsIHZhbHVlIGZvciAndW5zcGVjaWZpZWQnIGV4cGxpY2l0bHkuCgkgIGh0dHBzOi8vZGV2ZWxvcGVyLmFwcGxlLmNvbS9saWJyYXJ5L21hYy9kb2N1bWVudGF0aW9uL1F1aWNrVGltZS9RVEZGL1FURkZDaGFwNC9xdGZmNC5odG1sCgoyMDE0LTA3LTA4IDAyOjE4OjI3ICswMjAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZ2VuYzogQWRkIHN1cHBvcnQgZm9yIGVuY29kaW5nIGZyb20gTlYyMSBhbmQgTlYxMgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyODcwCgoyMDE0LTA3LTE5IDE4OjA0OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjQuMCA9PT0KCjIwMTQtMDctMTkgMTc6MjA6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS40LjAKCjIwMTQtMDctMTkgMTY6MzU6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTQtMDctMTkgMTI6MzI6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE0LTA3LTE5IDExOjMwOjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBEb24ndCBvdmVyd3JpdGUgdGhlIGZpcnN0IGNvbXBvbmVudCB3aXRoIHRoZSBhbHBoYSB2YWx1ZSBmb3IgQkdSeAoJICBJbnN0ZWFkIGxlYXZlIHRoZSB4IGNvbXBvbmVudCB1bnNldCB3aGVuIGZpbGxpbmcgdGhlIGJvcmRlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzMzODAKCjIwMTQtMDctMTYgMTc6MTg6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBQcm9wZXJseSByZXBvcnQgaW4gdGhlIENBUFMgcXVlcnkgdGhhdCB3ZSBjYW4gY29udmVydCBBRFRTPC0+UkFXCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzMxOTAKCjIwMTQtMDctMTMgMTY6MDU6NTYgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6CgkgIHJndm9sdW1lOiBBdm9pZCB0YWtpbmcgdW5uZWNlc3NhcnkgcmVmcwoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzMTIyCgoyMDE0LTA3LTEzIDE2OjA0OjIzICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cGR0bWZtdXg6IEF2b2lkIHRha2luZyBhbiB1bm5lY2Vzc2FyeSByZWYKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzEyMgoKMjAxNC0wNy0xNSAxNjo1OTowNiArMDIwMCAgUGlvdHIgRHLEhWcgPHBpb3RyZHJhZ0BnbWFpbC5jb20+CgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgcG86IHVwZGF0ZSBQT1RGSUxFUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzMjA4CgoyMDE0LTA3LTExIDEzOjM1OjEwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBGaXggY29weSB0aHJlc2hvbGQgaW1wbGVtZW50YXRpb24KCSAgV2UgY2Fubm90IGFsbG9jYXRlIG5ldyBidWZmZXIgaW4gYWNxdWlyZSwgb3RoZXJ3aXNlIHRoZSBiYXNlIGNsYXNzCgkgIGlzIG5vdCBhd2FyZSBhbmQgZ2V0IGNvbmZ1c2VkLiBJbnN0ZWFkLCBjb3B5IGluIF9wcm9jZXNzKCkuIFRoaXMgbGVhZHMKCSAgdG8gY3Jhc2ggb24gZmluYWxpemUuCgkgIEZpeGVzIHJlZ3Jlc3Npb24sIHNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyOTEyCgo9PT0gcmVsZWFzZSAxLjMuOTEgPT09CgoyMDE0LTA3LTExIDExOjM4OjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMy45MQoKMjAxNC0wNy0xMSAxMDo1ODowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNC0wNy0xMCAxODoxMToyMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJhbGxvY2F0b3I6IFVzZSBxZGF0YSBpbnN0ZWFkIG9mIHBhcmVudGluZyB0byBEbWFidWZNZW1vcnkKCSAgUGFyZW50aW5nIFY0bDJNZW1vcnkgdG8gRG1hYnVmTWVtb3J5IHdhcyBpbiBjb25mbGljdCB3aXRoIHJlY2VudAoJICBvcHRpbWl6YXRpb24gaW4gRG1hYnVmTWVtb3J5IHRvIGF2b2lkIGR1cCgpLCBhbmQgZGlkbid0IHdvcmsgd2l0aAoJICBtZW1vcnkgc2hhcmluZy4gSW5zdGVhZCwgdXNlIGEgcWRhdGEgYW5kIGl0J3MgZGVzdHJveSBub3RpZnkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA0NDEKCjIwMTQtMDctMTEgMDg6NTI6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vcGwucG86CgkqIHBvL3J1LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE0LTA3LTA4IDE3OjUwOjQ3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogV29ya2Fyb3VuZCBlbGVtZW50cyBub3QgcmVxdWVzdGluZyBhbnkgYnVmZmVycwoJICBUaGlzIGlzIGEgd29ya2Fyb3VuZCBmb3IgZWxlbWVudCB0aGF0IGRvbid0IHJlcXVlc3QgYnVmZmVycyB3aGVuCgkgIHRoZXkgc2hvdWxkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyMjg4CgoyMDE0LTA3LTA2IDExOjI3OjM2ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOgoJICB0ZXN0czogZml4IHBpcGVsaW5lIGxlYWsgaW4gdmlkZW9jcm9wIHRlc3QKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjk3NgoKMjAxNC0wNy0wNiAxMToyNjo0NiArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1ydHBhdXguYzoKCSAgZXhhbXBsZXM6IGNsaWVudC1ydHBhdXg6IFJlbGVhc2UgcmVmZXJlbmNlIHRvIHBhcmVudCB3aGVuIGRvbmUKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjk3NgoKMjAxNC0wNy0xMCAxNzoxOTo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IHF1ZXJ5IGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzAwMwoKMjAxNC0wNy0xMCAxMjoxMDo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkgIHdhdmVuYzogUmV0dXJuIG5vdC1uZWdvdGlhdGVkIGlmIHdlIGdvdCBubyBjYXBzIG9yIGNhcHMgbmVnb3RpYXRpb24gZmFpbGVkCgkgIEFuZCBkbyBpdCBhbHdheXMsIG5vdCBpbnNpZGUgYSBnX3JldHVybl92YWxfaWZfZmFpbCgpLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjkzOQoKMjAxNC0wNy0wOCAxMzozNDoyOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBFbnN1cmUgaW50ZXJuYWwgcG9vbCBhY3RpdmF0aW9uCgkgIEJlZm9yZSB3ZSB3b3VsZCBoaXQgYW4gYXNzZXJ0aW9uICInZ3N0X2J1ZmZlcl9wb29sX2lzX2FjdGl2ZSAoYnBvb2wpJyBmYWlsZWQiCgkgIGlmIHRoZSBpbnRlcm5hbCBwb29sIHdhcyBub3QgdXNlZCB0byBwdXNoIGJ1ZmZlciBkb3duc3RyZWEsIGhlbmNlIG5vdAoJICBnaXZlbiB0byB0aGUgYmFzZWNsYXNzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyOTEyCgoyMDE0LTA3LTA0IDIwOjIyOjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogZml4IGRvdWJsZSB1bmxvY2sgaW4gc2VnbWVudCBzZWVrIHNlZ21lbnQgY29kZSBwYXRoCgkgIFdlIG9ubHkgd2FudCB0byB1bmxvY2sgaWYgd2UgcHVzaCBhbiBldmVudCBkb3duc3RyZWFtIGFuZAoJICBqdW1wIHRvIGRvbmVfdW5sb2NrIGxhYmVsIGFmdGVyd2FyZHMuIFdlIHdvdWxkIGFsc28gdW5sb2NrCgkgIGluIGNhc2Ugb2YgYSBzZWdtZW50IHNlZWsgYW5kIHRoZW4gdW5sb2NrIGFnYWluIGxhdGVyLCBhbmQKCSAgbm90aGluZyBnb29kIGNhbiBjb21lIG9mIHRoYXQuCgkgIChUaGlzIGNvZGUgbG9va3MgYSBiaXQgZG9kZ3kgYW55d2F5IHRob3VnaCwgc2hvdWxkbid0IGl0CgkgIGFsc28gYmFpbCBvdXQgd2l0aCBGTE9XX0VPUyBoZXJlIGluIGNhc2Ugb2YgYSBzZWdtZW50IHNlZWsKCSAgc2NlbmFyaW8sIGp1c3Qgd2l0aG91dCB0aGUgZXZlbnQ/KQoKMjAxNC0wNy0wNCAxOTo0NTo1NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHRlc3RzOiBxdG11eDogc3VwcHJlc3MgZ2xpYiBjcml0aWNhbHMgY2F1c2VkIGJ5IHRlc3RpbmcgZGVwcmVjYXRlZCBkdHMgbWV0aG9kcwoKMjAxNC0wNy0wNCAwMzoyMTozMCArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgYXZpZGVtdXgsIHdhdnBhcnNlOiBQcmludCBpbnZhbGlkIGZvdXJjYyBpbiBoZXgKCSAgUHJldmlvdXNseSB0aGlzIHdhcyBwcmludGVkIGFzIGNoYXJhY3RlcnMgd2hpY2ggY2F1c2VkIGxhdGVyIHByb2Nlc3NpbmcKCSAgb2YgdGhlIGVycm9yIG1lc3NhZ2UgdG8gc29tZXRpbWVzIHdhcm4gYWJvdXQgbm9uLVVURi04IGNoYXJhY3RlcnMuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI3MTQKCjIwMTQtMDctMDMgMTU6MjE6MTggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogUG9vbCBtaWdodCBiZSBOVUxMIGluIGRlY2lkZSBhbGxvY2F0aW9uCgkgIElmIHNwZWNpYWwgc3RyaWRlIGlzIG5lZWRlZCBhbmQgZG93bnN0cmVhbSBkb24ndCBzdXBwb3J0IFZpZGVvTWV0YSwKCSAgcG9vbCBtaWdodCBiZSBOVUxMIGluIG9yZGVyIHRvIGxldCB0aGUgYmFzZWNsYXNzIGNyZWF0ZSBhIGdlbmVyaWMKCSAgcG9vbMKtLiBUaGlzIHdvdWxkIGxlYWQgdG8gYXNzZXJ0aW9uIHdpdGggb24gRXh5bm9zIHdpdGg6CgkgIGdzdC1sYXVuY2gtMS4wIC12IGZpbGVzcmMgbG9jYXRpb249bW92ICEgcXRkZW11eCAhIGgyNjRwYXJzZSAhIFwKCSAgdjRsMnZpZGVvOGRlYyAhIGZha2VzaW5rCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI3MDcKCjIwMTQtMDctMDMgMTU6Mjk6NTQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkgIHY0bDJidWZmZXJwb29sOiBIYW5kbGUgRkQgZXJyb3IgZHVyaW5nIHBvbGwKCSAgVGhpcyB3aWxsIGVuc3VyZSB3ZSBmYWlsIGVhcmxpZXIgaWYgc29tZXRoaW5nIHVucmVjb3ZlcmFibGUKCSAgaGFwcGVucy4KCjIwMTQtMDctMDMgMTU6Mjg6NDUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkgIHY0bDJidWZmZXJwb29sOiBXYWl0IGJlZm9yZSBwb2xsaW5nIGlmIHF1ZXVlIGlzIGVtcHR5CgkgIEluIGtlcm5lbCBiZWZvcmUgMy4xNywgcG9sbGluZyBkdXJpbmcgcXVldWUgdW5kZXJydW4gd291bGQgdW5ibG9jayByaWdodAoJICBhd2F5IGFuZCB0cmlnZ2VyIFBPTExFUlIuIEFzIHdlIGFyZSBub3QgaGFuZGxpbmcgUE9MTEVSUiwgd2Ugd291bGQgZW5kdXAKCSAgYmxvY2tpbmcgaW4gRFFCVUYgY2FsbCwgd2hpY2ggd29uJ3QgYmUgdW5ibG9ja2VkIGNvcnJlY3RseSB3aGVuIGdvaW5nCgkgIHRvIE5VTEwgc3RhdGUuIEEgZGVhZGxvY2sgYXQgc3RhcnQgY2F1c2VkIGJ5IGxvY2tpbmcgZXJyb3IgaW4gbGlidjRsMiB3YXMKCSAgYWxzbyBzZWVuIGJlZm9yZSB0aGlzIHBhdGNoLiBJbnN0ZWFkLCB3ZSB3YWl0IHVudGlsIHRoZSBxdWV1ZSBpcyBubyBsb25nZXIKCSAgZW1wdHkgYmVmb3JlIHBvbGxpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzEwMTUKCjIwMTQtMDctMDIgMTY6MDE6NDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggZm9yIG1pa2V5IGFwaSBjaGFuZ2UKCjIwMTQtMDYtMzAgMTA6Mjk6NTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGZpeCBwcm9iaW5nIGFuZCBlbnVtZXJhdGlvbiBvZiBzdGVwd2lzZSBmcmFtZSBzaXplcwoJICBUaGUgY29kZSBlbnVtZXJhdGluZyBTVEVQV0lTRSBmcmFtZXNpemVzIHdvdWxkIHN0YXJ0IGZyb20KCSAgKG1pbl93LCBtaW5faCkgYW5kIHRoZW4gYWRkIChzdGVwX3csIHN0ZXBfaCkgdG8gZ2V0IHRoZQoJICBuZXh0IGZyYW1lc2l6ZS4gSG93ZXZlciwgaXQgc2hvdWxkIHJlYWxseSBhbGxvdyBhbnkgd2lkdGgKCSAgZnJvbSBtaW5fdyB0byBtYXhfdyB3aXRoIHN0ZXBfdyBhbmQgc2FtZSBmb3IgaGVpZ2h0cy4KCSAgU2Vjb25kbHksIHdlIHdvdWxkIGFkZCBhbmQgcHJvYmUgZWFjaCBpbmRpdmlkdWFsIHN0ZXBwZWQKCSAgZnJhbWUgc2l6ZSB0byB0aGUgY2FwcyBhcyBzZXBhcmF0ZSBzdHJ1Y3R1cmUsIHdoaWNoIHdvdWxkCgkgIGxlYWQgdG8gaHVuZHJlZHMgaWYgbm90IHRob3VzYW5kcyBvZiBzdHJ1Y3RzIGVuZGluZyB1cCBpbgoJICB0aGUgcHJvYmVkIGNhcHMuIFVzZSBpbnRlZ2VyIHJhbmdlcyB3aXRoIHN0ZXBzIGluc3RlYWQuCgkgIFRoaXMgd2FzIHBhcnRpY3VsYXJseSBub3RpY2FibGUgd2l0aCB0aGUgUmFzcGJlcnJ5IFBpIENhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDUyMQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNDU4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY1MjEKCjIwMTQtMDYtMjcgMTE6MzM6MDYgKzAxMDAgIERhbmllbCBEcmFrZSA8ZHJha2VAZW5kbGVzc20uY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBkcm9wIHdvcmthcm91bmQgZm9yIG1pc2JlaGF2aW5nIFRSWV9GTVQKCSAgVGhpcyB3b3JrYXJvdW5kIGZyb20gMjAxMSB3YXMgY2F1c2luZyAyNSBTX0ZNVCBpb2N0bHMgdG8gYmUgc2VudAoJICB0byBteSBVVkMgd2ViY2FtIGZyb20gdW5kZXIgZ3N0X3Y0bDJfb2JqZWN0X2dldF9jYXBzIGFzIGl0IHByb2JlcwoJICBhbGwgdGhlIGZvcm1hdHMuIEluIHRvdGFsLCB0aGlzIGFkZHMgdXAgdG8gYWJvdXQgNSBzZWNvbmRzIG9mCgkgIGV4ZWN1dGlvbiB0aW1lLCBvciBhIDEwIHNlY29uZCBkZWxheSB3aGlsZSBzdGFydGluZyB1cCBjaGVlc2UuCgkgIFRoZXNlIGlvY3RscyBjb21lIGZyb20gYSB3b3JrYXJvdW5kIGZyb20gMjAxMSB3aGVyZSBUUllfRk1UIG1pZ2h0CgkgIG1ha2UgY2hhbmdlcyB0byBoYXJkd2FyZSBzZXR0aW5ncywgc28gU19GTVQgd2FzIHVzZWQgdG8gcmVzdG9yZQoJICB0aGUgb3JpZ2luYWwgY29uZmlnOgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ5MDY3CgkgIFRoZSBkcml2ZXIgYnVnIGlzIG5vdyBhc3N1bWVkIGZpeGVkLiBSZW1vdmUgdGhlIHdvcmthcm91bmQgdG8gZml4IHRoZQoJICBsb25nIHN0YXJ0dXAgZGVsYXkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzIzMjYKCjIwMTQtMDctMDEgMTI6NTA6MzEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogcmVzZXQgUW9TIG9uIHNlZ21lbnQgZXZlbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjU0MAoKMjAxNC0wNy0wMSAxNToxNDozNCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogc2VuZCBnYXAgZXZlbnRzIGluc3RlYWQgb2Ygc2VnbWVudCB0cmlja3MKCSAgVGhpcyBmaXhlcyBtaXNzaW5nIGZyYW1lcyBmcm9tIGJlaW5nIHRpbWUgc2tpcHBlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjM3MgoKMjAxNC0wNi0zMCAwMDowMDozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogRml4IG1lbW9yeSBsZWFrcyBpbiB1bml0IHRlc3QKCjIwMTQtMDYtMjkgMjM6NTU6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBEb24ndCBsZWFrIGNhcHMKCjIwMTQtMDYtMjkgMjA6MDI6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IEZpeCBjb21waWxlciB3YXJuaW5nIHdoZW4gY29tcGlsaW5nIHdpdGggR19ESVNBQkxFX0FTU0VSVAoKMjAxNC0wNi0yOSAxOTo1OTo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IEZpeCBjb21waWxlciB3YXJuaW5nIHdoZW4gY29tcGlsaW5nIHdpdGggR19ESVNBQkxFX0FTU0VSVAoKMjAxNC0wNi0yOSAxOTo1Nzo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IEZpeCBjb21waWxlciB3YXJuaW5ncyB3aGVuIGNvbXBpbGluZyB3aXRoIEdfRElTQUJMRV9BU1NFUlQKCjIwMTQtMDYtMjkgMTk6NTQ6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuYzoKCSAgZGVpbnRlcmxhY2U6IEZpeCBjb21waWxlciB3YXJuaW5ncyB3aGVuIGNvbXBpbGluZyB3aXRoIEdfRElTQUJMRV9BU1NFUlQKCjIwMTQtMDYtMjkgMTc6MDU6MTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VkZXZpY2Vwcm92aWRlci5jOgoJICBwdWxzZTogZml4IGNvbXBpbGVyIHdhcm5pbmdzIHdoZW4gY29tcGlsaW5nIHdpdGggLURHX0RJU0FCTEVfQVNTRVJUCgkgIENvbXBpbGVyIGNvbXBsYWlucyBhYm91dCB1bmluaXRpYWxpc2VkIHZhcmlhYmxlcyBpbiB0aGUgaW1wb3NzaWJsZQoJICAnZGVmYXVsdCcgY29kZSBwYXRoIGluIGRldmljZSBwcm92aWRlciBzb3VyY2Uvc2luayBzd2l0Y2gtY2FzZS4KCjIwMTQtMDYtMjkgMTc6MDM6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyZGV2aWNlcHJvdmlkZXIuYzoKCSAgdjRsMjogZml4IGNvbXBpbGVyIHdhcm5pbmdzIHdoZW4gY29tcGlsaW5nIHdpdGggLURHX0RJU0FCTEVfQVNTRVJUCgkgIENvbXBpbGVyIGNvbXBsYWlucyBhYm91dCB1bmluaXRpYWxpc2VkIHZhcmlhYmxlcyBpbiB0aGUgaW1wb3NzaWJsZQoJICAnZGVmYXVsdCcgY29kZSBwYXRoIGluIGRldmljZSBwcm92aWRlciBzb3VyY2Uvc2luayBzd2l0Y2gtY2FzZS4KCjIwMTQtMDYtMjggMTc6NDA6NDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYXBhcnNlLmM6CgkgIHRlc3RzOiBtYXRyb3NrYXBhcnNlOiBmYWlsIG9uIGVycm9ycyBhbmQgZGlzYWJsZSBwdWxsIG1vZGUgdGVzdAoJICBBY3R1YWxseSBsb29rIGZvciBlcnJvciBtZXNzYWdlcyBvbiB0aGUgYnVzIGFuZCBmYWlsIGlmIHRoZXJlCgkgIGlzIG9uZSBiZWZvcmUgdGhlIEVPUyBtZXNzYWdlLiBEaXNhYmxlIHB1bGwgbW9kZSB0ZXN0IHdoaWNoIGlzCgkgIHBvaW50bGVzcyBhcyBsb25nIGFzIG1hdHJvc2thcGFyc2Ugb25seSBzdXBwb3J0cyBwdXNoIG1vZGUKCSAgKHB1bGwgbW9kZSBzdXBwb3J0IGhhcyBub3QgYmVlbiBwb3J0ZWQgb3ZlciB0byAxLjApLgoKMjAxNC0wNi0yOCAxNzozNzoyMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJICBtYXRyb3NrYXBhcnNlOiBkb24ndCBlcnJvciBvdXQgaWYgdGhlcmUncyBub3QgZW5vdWdoIGRhdGEgaW4gdGhlIGFkYXB0ZXIKCSAgZ3N0X21hdHJvc2thX3BhcnNlX3Rha2UoKSB3b3VsZCByZXR1cm4gRkxPV19FUlJPUiBpbnN0ZWFkIG9mCgkgIEZMT1dfRU9TIGluIGNhc2UgdGhlcmUncyBsZXNzIGRhdGEgaW4gdGhlIGFkYXB0ZXIgdGhhbiByZXF1ZXN0ZWQsCgkgIGJlY2F1c2UgYnVmZmVyIGlzIE5VTEwgaW4gdGhhdCBjYXNlIHdoaWNoIHRyaWdnZXJzIHRoZSBlcnJvcgoJICBjb2RlIHBhdGguIFRoaXMgbWFkZSB0aGUgdW5pdCB0ZXN0IGZhaWwgKG9jY2FzaW9uYWxseSBhdCBsZWFzdCwKCSAgYmVjYXVzZSBvZiBhIGJ1ZyBpbiB0aGUgdW5pdCB0ZXN0IHRoZXJlJ3MgYSByYWNlIGFuZCBpdCB3b3VsZAoJICBoYXBwZW4gb25seSBzcG9yYWRpY2FsbHkpLgoKMjAxNC0wNi0yOCAxNjo1Mzo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXJvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyb3JjLWRpc3QuaDoKCSAgdmlkZW9taXhlcjogVXBkYXRlIGRpc3QgZ2VuZXJhdGVkIE9SQyBmaWxlcwoKMjAxNC0wNi0yOCAxNjo0ODoxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL2dzdGNtcy5jOgoJKiBnc3QvdmlkZW9taXhlci9nc3RjbXMuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9jb252ZXJ0LmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvY29udmVydC5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyb3JjLm9yYzoKCSAgdmlkZW9taXhlcjogVXBkYXRlIHZpZGVvY29udmVydCBjb2RlIGZyb20gLWJhc2UKCSAgQW5kIGFsc28gcmVuYW1lIHRoZSByZW1haW5pbmcgc3ltYm9scyB0byBwcmV2ZW50IGNvbmZsaWN0cwoJICBkdXJpbmcgc3RhdGljIGxpbmtpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg0NDMKCjIwMTQtMDYtMjggMTM6MDE6NDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSAgYXV0b3ZpZGVvc3JjOiB1c2UgdmlkZW90ZXN0c3JjIGFzIGZhbGxiYWNrIGVsZW1lbnQgaW5zdGVhZCBvZiBmYWtlc3JjCgkgIGZha2VzcmMgZG9lc24ndCBhbm5vdW5jZSB2aWRlbyBjYXBzLCBzbyBtb3N0IHZpZGVvIHBpcGVsaW5lcyB3aWxsCgkgIGp1c3QgZXJyb3Igb3V0IHdpdGggbm90LW5lZ290aWF0ZWQgaWYgYSBmYWxsYmFjayBlbGVtZW50IGlzIGNyZWF0ZWQuCgoyMDE0LTA2LTI4IDEyOjQ0OjMxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9kZXRlY3QuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2RldGVjdC5oOgoJICBhdXRvYXVkaW9zcmM6IHVzZSBhdWRpb3Rlc3RzcmMgYXMgZmFsbGJhY2sgZWxlbWVudCBpbnN0ZWFkIG9mIGZha2VzcmMKCSAgZmFrZXNyYyBkb2Vzbid0IGFubm91bmNlIGF1ZGlvIGNhcHMsIHNvIG1vc3QgYXVkaW8gcGlwZWxpbmVzIHdpbGwKCSAganVzdCBlcnJvciBvdXQgd2l0aCBub3QtbmVnb3RpYXRlZCBpZiBhIGZhbGxiYWNrIGVsZW1lbnQgaXMgY3JlYXRlZC4KCj09PSByZWxlYXNlIDEuMy45MCA9PT0KCjIwMTQtMDYtMjggMTE6MjE6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMy45MAoKMjAxNC0wNi0yOCAxMTowODozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNC0wNi0yNiAxNDo1Mjo1NyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9wdWxzZS9NYWtlZmlsZS5hbToKCSogZXh0L3B1bHNlL3BsdWdpbi5jOgoJKiBleHQvcHVsc2UvcHVsc2VkZXZpY2Vwcm92aWRlci5jOgoJKiBleHQvcHVsc2UvcHVsc2VkZXZpY2Vwcm92aWRlci5oOgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyZGV2aWNlcHJvdmlkZXIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmRldmljZXByb3ZpZGVyLmg6CgkgIFJlbmFtZSBHc3REZXZpY2VNb25pdG9yIHRvIEdzdERldmljZVByb3ZpZGVyCgoyMDE0LTA2LTI0IDA5OjE0OjQwICswNTMwICBSYXZpIEtpcmFuIEsgTiA8cmF2aS5raXJhbkBzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2JveC5jOgoJICB2aWRlb2JveDogQWRkIHVuaXQgdGVzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyMTQ0CgoyMDE0LTA2LTE2IDExOjM1OjM5ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBEZWNsYXJlIGFzIENvbXBvc2l0b3IgaW4gJ2tsYXNzJwoKMjAxNC0wNi0yNiAxMzo1MDoxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IGZpeCBzcGVleCBjYXBzCgkgIERlY29kZXIgY29tcGxhaW5zIGFib3V0ICJub3RpZmljYXRpb246IEludmFsaWQgbW9kZSBlbmNvdW50ZXJlZC4KCSAgVGhlIHN0cmVhbSBpcyBjb3JydXB0ZWQiIHRob3VnaCwgZXZlbiBpZiBpdCB3b3Jrcywgc28gdGhlcmUncwoJICBwcm9iYWJseSBzb21ldGhpbmcgd3Jvbmcgd2l0aCB0aGUgZ2VuZXJhdGVkIGNvZGVjIGhlYWRlcnMuCgoyMDE0LTA2LTI2IDEzOjQzOjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBmaXggc3BlZXggaW4gRkxWCgkgIFNwZWV4IGluIEZMViBpcyBhbHdheXMgbW9ubyBAIDE2a0h6LCBzZWUKCSAgaHR0cDovL2Rvd25sb2FkLm1hY3JvbWVkaWEuY29tL2Y0di92aWRlb19maWxlX2Zvcm1hdF9zcGVjX3YxMF8xLnBkZgoJICBzZWN0aW9uIEUuNC4yLjE6ICJJZiB0aGUgU291bmRGb3JtYXQgaW5kaWNhdGVzIFNwZWV4LCB0aGUgYXVkaW8gaXMKCSAgY29tcHJlc3NlZCBtb25vIHNhbXBsZWQgYXQgMTYga0h6LCB0aGUgU291bmRSYXRlIHNoYWxsIGJlIDAsIHRoZQoJICBTb3VuZFNpemUgc2hhbGwgYmUgMSwgYW5kIHRoZSBTb3VuZFR5cGUgc2hhbGwgYmUgMCIKCSAgQWxzbyBzZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzYyMgoKMjAxNC0wNi0yNiAwNToxOTo1NyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgaXNvbXA0OiBBZGQgb2JqZWN0IHR5cGUgaWQgYW5kIGZvdXJjYyBmb3IgRFRTL0RUUy1IRAoJICBFbmFibGVzIHBsYXliYWNrIGZvciBmaWxlcyB3aXRoIERUUyBhdWRpbyB0cmFja3MuCgkgIEFsc28gYWRkIGFuIGV4dHJhIEFDLTMgdmFyaWFudCBmb3VyY2MgZnJvbSBOZXJvCgoyMDE0LTAzLTEzIDEwOjM1OjMwICswMTAwICBEYXZpZCBGZXJuYW5kZXogPGQuZmVybmFuZGV6bG9wQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXIyOiBTb2x2ZSBzZWdtZW50YXRpb24gZmF1bHQgd2hlbiBzcmMgY2FwcyBhcmUgY29uZmlndXJlZAoJICBDaGFuZ2UgZnVuY3Rpb24gcG9pbnRlcnMgdG8gTlVMTCB3aGlsZSBob2xkaW5nIHRoZSBsb2NrIHRvIGF2b2lkCgkgIHJhY2UgY29uZGl0aW9ucwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxMTEwCgoyMDE0LTA2LTI1IDE0OjM0OjIxICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGltcHJvdmUgU1IgcGFja2V0IGhhbmRsaW5nCgkgIEltcGxlbWVudCAzIGRpZmZlcmVudCBjYXNlcyBmb3IgaGFuZGxpbmcgdGhlIFNSOgoJICAxKSB3ZSBkb24ndCBoYXZlIGVub3VnaCB0aW1pbmcgaW5mb3JtYXRpb24gdG8gaGFuZGxlIHRoZSBTUiBwYWNrZXQgYW5kCgkgIHdlIG5lZWQgdG8gd2FpdCBhIGxpdHRsZSBmb3IgbW9yZSBSVFAgcGFja2V0cy4gSW4gdGhhdCBjYXNlIHdlIGtlZXAKCSAgdGhlIFNSIHBhY2tldCBhcm91bmQgYW5kIHJldHJ5IHdoZW4gd2UgZ2V0IGFuIFJUUCBwYWNrZXQgaW4gdGhlCgkgIGNoYWluIGZ1bmN0aW9uLgoJICAyKSB0aGUgU1IgcGFja2V0IGhhcyBhIHRvbyBvbGQgdGltZXN0YW1wIGFuZCBzaG91bGQgYmUgZGlzY2FyZGVkLiBJdCBpcwoJICBsYWJlbGVkIGludmFsaWQgYW5kIHRoZSBsYXN0X3NyIGlzIGNsZWFyZWQuCgkgIDMpIHRoZSBTUiBwYWNrZXQgaXMgb2sgYW5kIHRoZXJlIGlzIGVub3VnaCB0aW1pbmcgaW5mb3JtYXRpb24sIHByb2NlZWQKCSAgd2l0aCBwcm9jZXNzaW5nIHRoZSBTUiBwYWNrZXQuCgkgIEJlZm9yZSB0aGlzIHBhdGNoLCBjYXNlIDIpIGFuZCAxKSB3ZXJlIGhhbmRsZWQgaW4gdGhlIHNhbWUgd2F5LAoJICByZXN1bHRpbmcgdGhhdCBTUiBwYWNrZXRzIHdpdGggdG9vIG9sZCB0aW1lc3RhbXBzIHdlcmUgY2hlY2tlZCBvdmVyIGFuZAoJICBvdmVyIGFnYWluIGZvciBlYWNoIFJUUCBwYWNrZXQuCgoyMDE0LTA2LTI0IDEwOjQ3OjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdWRwc2luay5jOgoJICB0ZXN0czogYWRkIHVkcHNpbmsgdGVzdCB0byBjaGVjayBjbGllbnQgYWRkL3JlbW92ZQoKMjAxNC0wNi0yMyAxNjoxMzoyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3VkcHNpbmsuYzoKCSAgdGVzdHM6IHBvcnQgdWRwc2luayB0ZXN0cyB0byAxLjAKCSAgVGhleSBhbGwgc2VlbSBhIGJpdCBwb2ludGxlc3MgdGhvdWdoLgoKMjAxNC0wNi0yMyAxOTo1NToyOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogQWRkIFVZVlkgZm9ybWF0CgoyMDE0LTA2LTA2IDExOjIwOjIxICswMjAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBnc3RydHBzc3JjZGVtdXg6IG1hbmFnZSBzc3JjIG9mIFJUQ1AgUlIgcGFja2V0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxMzI0CgoyMDE0LTA2LTIzIDIwOjUzOjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBVcGRhdGUgb2Zmc2V0IGFmdGVyIHBhcnNpbmcgYWR0bCBjaHVuawoJICBPdGhlcndpc2Ugd2Ugd2lsbCBwYXJzZSBpdCBvdmVyIGFuZCBvdmVyIGFnYWluIHdpdGhvdXQgZXZlcgoJICBnZXR0aW5nIHBhc3QgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE1MzMKCjIwMTMtMDctMDcgMjA6MTg6MjcgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiByZW1vdmUgbGVnYWN5IGNvZGUgZm9yIHBhc3NpbmcgYSB3aW5kb3cgaGFuZGxlCgkgICJoYXZlLW5zLXZpZXciIGFuZCB0aGUgImVtYmVkIiBwcm9wZXJ0eSB3YXMga2VwdCBpbiAwLjEwIGZvcgoJICBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBidXQgaXQncyBubyBsb25nZXIgdXNlZCBpbiBmYXZvciBvZgoJICB0aGUgR3N0VmlkZW9PdmVybGF5IGludGVyZmFjZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzNzUzCgoyMDE0LTA2LTIyIDE5OjM2OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50CgoyMDE0LTA2LTIyIDE5OjI2OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thZGVtdXg6IERvbid0IGNhbGwgR1NUX0RFQlVHX09CSkVDVCgpIGFuZCBvdGhlciBtYWNyb3Mgd2l0aCBub24tR09iamVjdCBvYmplY3RzCgkgIEl0IHdpbGwgY3Jhc2ggd2l0aCBsYXRlc3QgR0xpYiBHSVQgYW5kIHdhcyBuZXZlciBzdXBwb3NlZCB0byB3b3JrIGJlZm9yZQoJICBlaXRoZXIuCgo9PT0gcmVsZWFzZSAxLjMuMyA9PT0KCjIwMTQtMDYtMjIgMTg6MDg6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMy4zCgoyMDE0LTA2LTIyIDE3OjM2OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE0LTA2LTIyIDE0OjI0OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNC0wNi0yMSAwMTozMjowMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZWRldmljZW1vbml0b3IuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmRldmljZW1vbml0b3IuYzoKCSAgcHVsc2UsIHY0bDI6IHVwZGF0ZSBmb3IgZGV2aWNlICJrbGFzcyIgLT4gImRldmljZS1jbGFzcyIgcmVuYW1lCgoyMDE0LTA2LTIwIDEyOjIxOjA1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiBvcHRpbWlzYXRpb246IGF2b2lkIHVubmVjZXNzYXJ5IG1lbW9yeSByZWYvdW5yZWZzCgkgIFdlIGtub3cgdGhlIGJ1ZmZlciB3aWxsIHN0YXkgdmFsaWQgYW5kIHdlIHdpbGwgYWxzbyBub3QKCSAgbW9kaWZ5IHRoZSBidWZmZXIsIHdlIGp1c3Qgd2FudCB0byBzZW5kIG91dCB0aGUgZGF0YS4KCjIwMTQtMDYtMTkgMTQ6NTk6NDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICBtdWx0aXVkcHNpbms6IGF2b2lkIHNvbWUgdW5uZWNlc3NhcnkgcnVuLXRpbWUgdHlwZSBjaGVja3MKCjIwMTQtMDYtMTkgMTY6MTc6MjMgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBwYXNzIHRoZSBzdHJlYW0gaWQgd2hlbiBhc2tpbmcgZm9yIGNyeXB0byBwYXJhbXMKCSAgVGhpcyB3YXkgdGhlIGFwcCBjYW4gY2hvb3NlIGRpZmZlcmVudCBwYXJhbWV0ZXJzIGZvciBlYWNoIHN0cmVhbS4KCjIwMTQtMDUtMjAgMTQ6NTg6MDcgLTA3MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGFkZCBzdXBwb3J0IGZvciBrZXkgbGVuZ3RoIHBhcmFtZXRlcnMKCSAgVGhpcyBwYXRjaCBhZGRzIHN1cHBvcnRzIGZvciB0aGUgaW5jb21pbmcga2V5IG1hbmFnZW1lbnQgcGFyYW1ldGVycyBmb3IKCSAgZW5jcnlwdGlvbiBhbmQgYXV0aGVudGljYXRpb24ga2V5IGxlbmd0aHMuCgkgIEl0IGFsc28gYWRkcyBhIG5ldyBzaWduYWwgcmVxdWVzdC1ydGNwLWtleSB0aGF0IGFsbG93cyB0aGUgdXNlciB0bwoJICBwcm92aWRlIHRoZSBjcnlwdG8gcGFyYW1ldGVycyBhbmQga2V5IGZvciB0aGUgUlRDUCBzdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA0NzMKCjIwMTQtMDYtMTkgMTU6MjU6MDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhkZXBheS5jOgoJICB2cDhkZXBheTogZml4IGhlYWRlciBzaXplIGNoZWNraW5nCgkgIFVzZSBhIGRpZmZlcmVudCB2YXJpYWJsZSBuYW1lIHRvIG1ha2UgaXQgY2xlYXIgdGhhdCB3ZSBhcmUgY2FsY3VsYXRpbmcKCSAgdGhlIGhlYWRlciBzaXplLgoJICBDb3JyZWN0bHkgY2hlY2sgdGhhdCB3ZSBoYXZlIGVub3VnaCBieXRlcyB0byByZWFkIHRoZSBoZWFkZXIgYml0cy4gV2UKCSAgd2VyZSBjaGVja2luZyBpZiB0aGVyZSB3ZXJlIDUgYnl0ZXMgYXZhaWxhYmxlIGluIHRoZSBoZWFkZXIgd2hpbGUgd2UKCSAgb25seSBuZWVkZWQgMywgY2F1c2luZyB0aGUgcGFja2V0IHRvIGJlIGRpc2NhcmRlZCBhcyB0b28gc21hbGwuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjM1OTUKCjIwMTQtMDUtMjAgMTI6Mzk6MzEgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5oOgoJICBydHBoMjY0cGF5OiBwcm9wYWdhdGUgdGhlIEdTVF9CVUZGRVJfRkxBR19ESVNDT05UIGZsYWcKCSAgU2ltaWxhcmx5IHRvIHdoYXQgd2UgZGlkIHdpdGggdGhlIERFTFRBX1VOSVQgZmxhZywgdGhpcyBwYXRjaAoJICBwcm9wYWdhdGVzIHRoZSBESVNDT05UIGZsYWcgdG8gdGhlIGZpcnN0IFJUUCBwYWNrZXQgYmVpbmcgdXNlZCB0byB0cmFuc2ZlciBhCgkgIERJU0NPTlQgYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNTYzCgoyMDE0LTA1LTA2IDE3OjQyOjE0ICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuaDoKCSAgcnRwaDI2NHBheTogcHJvcGFnYXRlIHRoZSBHU1RfQlVGRkVSX0ZMQUdfREVMVEFfVU5JVCBmbGFnCgkgIERvd25zdHJlYW0gZWxlbWVudHMgbWF5IGJlIGludGVyZXN0ZWQga25vd2luZyBpZiBhIFJUUCBwYWNrZXQgaXMgdGhlIHN0YXJ0CgkgIG9mIGEga2V5IGZyYW1lICh0byBpbXBsZW1lbnQgYSBSVFAgZXh0ZW5zaW9uIGFzIGRlZmluZWQgaW4gdGhlCgkgIE9OVklGIFN0cmVhbWluZyBTcGVjIGZvciBleGFtcGxlKS4KCSAgV2UgZG8gdGhpcyBieSBjaGVja2luZyB0aGUgR1NUX0JVRkZFUl9GTEFHX0RFTFRBX1VOSVQgZmxhZyB3ZSByZWNlaXZlIGZyb20KCSAgdXBzdHJlYW0gYW5kIHByb3BhZ2F0ZSBpdCB0byB0aGUgKmZpcnN0KiBSVFAgcGFja2V0IG91dHB1dHRlZCB0byB0cmFuc2ZlciB0aGlzCgkgIGJ1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDU2MwoKMjAxNC0wNS0yMCAxMzo1ODoyMCArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5Lmg6CgkgIGdzdHJ0cG1wNGdwYXk6IHByb3BhZ2F0ZSB0aGUgR1NUX0JVRkZFUl9GTEFHX0RJU0NPTlQgZmxhZwoJICBQcm9wYWdhdGUgdGhlIERJU0NPTlQgZmxhZyB0byB0aGUgZmlyc3QgUlRQIHBhY2tldCBiZWluZyB1c2VkIHRvIHRyYW5zZmVyCgkgIGEgRElTQ09OVCBidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA1NjMKCjIwMTQtMDUtMjAgMTM6NTg6MjAgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIHJ0cGpwZWdwYXk6IHByb3BhZ2F0ZSB0aGUgR1NUX0JVRkZFUl9GTEFHX0RJU0NPTlQgZmxhZwoJICBQcm9wYWdhdGUgdGhlIERJU0NPTlQgZmxhZyB0byB0aGUgZmlyc3QgUlRQIHBhY2tldCBiZWluZyB1c2VkIHRvIHRyYW5zZmVyCgkgIGEgRElTQ09OVCBidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA1NjMKCjIwMTQtMDYtMTggMTU6MDM6MjUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBkb24ndCBsZWFrIGZsb3cgY29tYmluZXIKCjIwMTQtMDYtMTggMTQ6Mzg6NTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJICBydHBqcDJrcGF5OiBwcmUtYWxsb2NhdGUgYnVmZmVyLWxpc3Qgb2YgdGhlIHJpZ2h0IHNpemUKCjIwMTQtMDYtMTggMTQ6MzQ6MDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheTogcHJlLWFsbG9jYXRlIGJ1ZmZlciBsaXN0IG9mIHRoZSByaWdodCBzaXplCgoyMDE0LTA2LTE4IDE0OjE5OjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkgIHJ0cG1wNHZwYXk6IHByZS1hbGxvY2F0ZSBidWZmZXIgbGlzdCBvZiB0aGUgcmlnaHQgc2l6ZQoKMjAxNC0wNi0xOCAxMzo0NDozMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkgIHJ0cHZwOHBheTogYWxsb2NhdGUgYml0cmVhZGVyIG9uIHRoZSBzdGFjawoKMjAxNC0wNi0xOCAxMzoyOTo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkgIHJ0cHZwOHBheTogcG9zdCBlcnJvciBtZXNzYWdlIG9uIGJ1cyBvbiBlcnJvciBhbmQgZG9uJ3QgdXNlIGdfbWVzc2FnZSgpCgoyMDE0LTA2LTE4IDEzOjIwOjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSAgcnRwdnA4cGF5OiBjb3VwbGUgb2YgbWlub3Igb3B0aW1pc2F0aW9ucwoJICBQcmUtYWxsb2NhdGUgYnVmZmVyIGxpc3Qgb2YgdGhlIHJpZ2h0IHNpemUgdG8gYXZvaWQgcmUtYWxsb2NzLgoJICBBdm9pZCBwbGVudHkgb2YgZG91YmxlIHJ1bnRpbWUgY2FzdCBjaGVja3MgYW5kIHJlLWRvaW5nIHRoZQoJICBzYW1lIGNhbGN1bGF0aW9uIG92ZXIgYW5kIG92ZXIgYWdhaW4gaW4gcnRwX3ZwOF9jYWxjX3BheWxvYWRfbGVuKCkuCgkgIE9ubHkgY2FsbCBnc3RfYnVmZmVyX2dldF9zaXplKCkgb25jZS4KCjIwMTQtMDYtMTggMDg6MTA6MDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBydHBnc3RwYXk6IHByZS1hbGxvY2F0ZSBidWZmZXIgbGlzdCBvZiB0aGUgcmlnaHQgc2l6ZQoJICBUbyBhdm9pZCByZS1hbGxvY3MuCgoyMDE0LTA2LTE4IDA3OjUyOjA1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IHByZS1hbGxvY2F0ZSBidWZmZXJsaXN0IG9mIHRoZSByaWdodCBzaXplCgkgIFRvIGF2b2lkIHVubmVjZXNzYXJ5IHJlLWFsbG9jcy4KCjIwMTQtMDYtMTYgMjA6MTU6NDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgcnRwaDI2NHBheTogcHVzaCBzaW5nbGUgYnVmZmVyIGRpcmVjdGx5LCBubyBuZWVkIHRvIHdyYXAgaXQgaW4gYSBidWZmZXJsaXN0CgkgIE5vIHBvaW50IGluIGEgYnVmZmVyIGxpc3QgaWYgd2UganVzdCBoYXZlIG9uZSBzaW5nbGUKCSAgYnVmZmVyIHRvIHB1c2guIEZpeCB1cCB1bml0IHRlc3QgdG8gaGFuZGxlIHRoYXQgY2FzZQoJICBhcyB3ZWxsLgoKMjAxNC0wNi0xNiAxNTozNToxMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuaDoKCSAgcnRwdnJhd3BheTogbWFrZSBjaHVua3MgcGVyIGZyYW1lIGNvbmZpZ3VyYWJsZQoJICBCaXQgb2YgYSBtaXNub21lciBiZWNhdXNlIGl0J3MgcmVhbGx5IGNodW5rcyBwZXIgZmllbGQKCSAgYW5kIG5vdCBwZXIgZnJhbWUsIGJ1dCB3ZSdyZSBnb2luZyB0byBpZ25vcmUgdGhhdCBmb3IKCSAgdGhlIHRpbWUgYmVpbmcuCgoyMDE0LTA2LTE2IDE0OjUyOjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5oOgoJICBydHB2cmF3cGF5OiByZW1vdmUgdW51c2VkIHZhcmlhYmxlcwoKMjAxNC0wNi0xNiAxNDo0NDoyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICBydHB2cmF3cGF5OiBwcmUtYWxsb2NhdGUgYnVmZmVyIGxpc3RzIG9mIHN1ZmZpY2llbnQgc2l6ZQoJICBBdm9pZHMgdW5uZWNlc3NhcnkgcmVhbGxvY3Mgd2hlbiBhcHBlbmRpbmcgYnVmZmVycwoJICB0byB0aGUgYnVmZmVybGlzdC4KCjIwMTQtMDYtMTYgMTM6NTE6MDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgcnRwdnJhd3BheTogbWljcm8tb3B0aW1pc2UgdmFyaWFibGUgYWNjZXNzIGluIGlubmVyIGxvb3AKCSAgU3RvcmUgc29tZSB2YWx1ZXMgdGhhdCBkb24ndCBjaGFuZ2UgZHVyaW5nIHRoZSBleGVjdXRpb24KCSAgb2YgdGhlIGlubmVyIGxvb3BzIGxvY2FsbHksIHNvIHRoZSBjb21waWxlciBrbm93cyB0aGF0IHRvby4KCjIwMTQtMDYtMTYgMTM6Mzg6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgcnRwdnJhd3BheTogdXNlIGJ1ZmZlciBsaXN0cwoJICBDb2xsZWN0IGJ1ZmZlcnMgdG8gc2VuZCBvdXQgaW4gYnVmZmVyIGxpc3RzIGluc3RlYWQgb2YKCSAgcHVzaGluZyBvdXQgc2luZ2xlIGJ1ZmZlcnMgb25lIGF0IGEgdGltZS4gRm9yIEhEIHZpZGVvCgkgIGVhY2ggZnJhbWUgbWlnaHQgZWFzaWx5IGFkZCB1cCB0byBhIGNvdXBsZSBvZiB0aG91c2FuZAoJICBwYWNrZXRzLCBtdWx0aXBseSB0aGF0IGJ5IHRoZSBmcmFtZSByYXRlIGFuZCB0aGF0J3MgYQoJICBsb3Qgb2YgcHVzaCgpIGFuZCBzZW5kbXNnKCkgY2FsbHMgcGVyIHNlY29uZC4KCSAgQSBnb29kIHJlYXNvbiB0byBwdXNoIG91dCBidWZmZXJzIGFzIGVhcmx5IGFzIHBvc3NpYmxlIGlzCgkgIGxhdGVuY3ksIHNvIHdlIGRvbid0IGFjY3VtdWxhdGUgdGhlIHdob2xlIGZyYW1lIGluIGEgc2luZ2xlCgkgIGJ1ZmZlciBsaXN0LCBidXQgaW5zdGVhZCBwdXNoIGl0IG91dCBpbiBhIGZldyBjaHVua3MsIHdoaWNoCgkgIGlzIGhvcGVmdWxseSBhIHJlYXNvbmFibGUgY29tcHJvbWlzZS4KCjIwMTQtMDYtMTYgMTY6NDA6MDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgdWRwOiBpbXByb3ZlIGVsZW1lbnQgZGVzY3JpcHRpb25zIGZvciBkeW51ZHBzaW5rIGFuZCBtdWx0aXVkcHNpbmsKCjIwMTQtMDYtMTYgMTY6MTc6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgdWRwOiByZW1vdmUgc3VwcHJlc3Npb24gb2YgY29tcGlsZXIgd2FybmluZ3MgZm9yIGRlcHJlY2F0ZWQgR0xpYiBBUEkKCSAgTm90IG5lZWRlZCBhbnkgbW9yZS4KCjIwMTQtMDYtMTcgMTM6MTY6MjcgKzA1MzAgIFJhdmkgS2lyYW4gSyBOIDxyYXZpLmtpcmFuQHNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBGaXggY2FwcyBuZWdvdGlhdGlvbiBpc3N1ZQoJICBNYWtlIHN1cmUgdGhhdCBpZiBBWVVWIGlzIHJlY2VpdmVkIGl0IHdpbGwgZGV0ZWN0IHRoYXQgaXQgY2FuIHByb2R1Y2UKCSAgYm90aCBSR0IgYW5kIFlVViBmb3JtYXRzCgkgIFNpZ25lZC1vZmYtYnk6IFJhdmkgS2lyYW4gSyBOIDxyYXZpLmtpcmFuQHNhbXN1bmcuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1MjQ4CgoyMDE0LTA2LTE2IDEyOjAyOjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJICBydHB0aGVvcmFkZXBheTogZml4IGRvdWJsZSBmcmVlcwoJICBGaXggZG91YmxlLWZyZWVzIGludHJvZHVjZWQgdG8gZml4IGFub3RoZXIgY292ZXJpdHkgcmVwb3J0LgoJICBDSUQgMTIyMzA1MwoKMjAxNC0wNi0xMyAxMDoxMjowNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJICBkeW51ZHBzaW5rOiByZXR1cm4gRkxVU0hJTkcgd2hlbiBzZW5kdG8gZ290IGNhbmNlbGVkLCBub3QgYW4gZXJyb3IKCjIwMTQtMDYtMTMgMDk6NTI6MDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3NzL2dzdG9zc2hlbHBlci5jOgoJICBvc3M6IHNpbXBsaWZ5IHByb2JlZCBjYXBzIGJlZm9yZSByZXR1cm5pbmcgdGhlbQoJICBFeHBvc2VzIGFsbCBmb3JtYXRzIGluIHRoZSBmaXJzdCBzdHJ1Y3R1cmUgaWYgdGhlCgkgIHJlc3QgaXMgdGhlIHNhbWUgZm9yIGFsbCBvZiB0aGVtLgoKMjAxNC0wNi0xMyAwOTo0NToyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vc3MvZ3N0b3NzaGVscGVyLmM6CgkgIG9zczogbWFrZSBzdXJlIDE2LWJpdCBmb3JtYXRzIGFyZSBiZWZvcmUgOC1iaXQgZm9ybWF0cyBpbiBwcm9iZWQgY2FwcwoJICBQcm9iZSBzdXBwb3J0ZWQgZm9ybWF0cyBpbiBvcmRlciBvZiBkZXNpcmFiaWxpdHkgcmF0aGVyIHRoYW4gaW4KCSAgd2hhdCBvcmRlciB0aGV5IG1heSBoYXBwZW4gdG8gYmUgaW4gdGhlIGZvcm1hdHMgYml0bWFzay4gRml4ZXMKCSAgYWNjaWRlbnRhbGx5IGV4cG9zdXJlIG9mIDgtYml0IGZvcm1hdHMgaW4gY2FwcyBiZWZvcmUgMTYtYml0IGZvcm1hdHMKCSAgKGluIGNhc2Ugd2hlcmUgVTE2IHdhcyBub3Qgc3VwcG9ydGVkIFM4IG1pZ2h0IGJlIGxpc3RlZCBiZWZvcmUgUzE2KS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjg4NAoKMjAxNC0wNi0xMiAxNjozNjoyNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IENsZWFubHkgaGFuZGxlIHY0bDJfYWxsb2NhdG9yX25ldyBmYWlsdXJlCgoyMDE0LTA2LTEyIDExOjI0OjE1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSAgcnRwdGhlb3JkZXBheTogZml4IGxlYWtzCgkgIENvdmVyaXR5IDEyMTIxNjMKCjIwMTQtMDYtMTIgMTE6MTY6MDggKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkgIHJ0cGc3MjlwYXk6IGxlYWsgZml4ZXMKCSAgQ292ZXJpdHkgMTIxMjE1OQoKMjAxNC0wNi0xMiAxMToxMTozOCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgcnRwaDI2M3BheTogZml4IGxlYWsKCSAgQ292ZXJpdHkgMTIxMjE1NwoKMjAxNC0wNi0xMiAxMDo0Mzo1MyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgcnRwaDI2M3BheTogZml4IGxlYWtzCgkgIENvdmVyaXR5IDEyMTIxNDkKCjIwMTQtMDYtMTIgMTA6MzE6NDcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5jOgoJICBydHBkdnBheTogY2F0Y2ggZmFpbHVyZXMgdG8gbWFwIGJ1ZmZlcgoJICBDb3Zlcml0eSAxMTM5NzQxCgoyMDE0LTA2LTExIDE3OjQzOjQyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgbXVsdGlwYXJ0ZGVtdXg6IGd1YXJkIGFnYWluc3QgaGF2aW5nIG5vIE1JTUUgdHlwZQoJICBUaGUgY29kZSB3b3VsZCBwcmV2aW91c2x5IGNyYXNoIHRyeWluZyB0byBpbnNlcnQgYSBOVUxMIHN0cmluZwoJICBpbnRvIGEgaGFzaCB0YWJsZS4KCSAgSXQgZG9lcyBzZWVtIGEgbGl0dGxlIGJyb2tlbiB0aGF0IGluZGV4aW5nIGlzIGRvbmUgYnkgTUlNRSB0eXBlCgkgIGFuZCBub3QgYnkgaW5kZXggdGhvdWdoLCB1bmxlc3MgdGhlIHNwZWMgc2F5cyB0aGVyZSBjYW5ub3QgYmUKCSAgdHdvIHBhcnRzIHdpdGggdGhlIHNhbWUgTUlNRSB0eXBlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5NTczCgoyMDE0LTA2LTEwIDE1OjQyOjE0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5oOgoJICBtdWx0aXBhcnRkZW11eDogU2VuZCBzdHJlYW0tc3RhcnQgZXZlbnQKCSAgVGhpcyBldmVudCB3YXMgbm90IHNlbnQuIFNlbmQgaXQgYmVmb3JlIGNhcHMsIHRoaXMgcmVxdWlyZXMgdGhlIHBhZCB0bwoJICBiZSBwYXJlbnRlZC4gVGhpcyByZW1vdmVzIHdhcm5pbmcgbGlrZTogIkdvdCBkYXRhIGZsb3cgYmVmb3JlCgkgIHN0cmVhbS1zdGFydCBldmVudCIuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE0NzUKCjIwMTQtMDYtMTAgMTU6MzM6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGF2b2lkIGxvb3BpbmcgaW5kZWZpbml0ZWx5IGluIGJyb2tlbiBzdnEzIGZpbGVzCgkgIEFib3J0IGlmIGFuIGF0b20gd2l0aCBzaXplIDAgaXMgcmVhZCBmcm9tIHdpdGhpbiB0aGUgc3ZxMyBzdHNkCgkgIGF0b21zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY1MTIKCjIwMTQtMDYtMTAgMTA6NTI6MjMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBhZGQgY29uc3Qgd2hlcmUgYXBwcm9wcmlhdGUKCjIwMTQtMDYtMDkgMTA6Mzk6MjAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgc3BlZXhlbmM6IGFkZCBtaXNzaW5nIHZhX2VuZCBpbiB2YXJpYWRpYyBmdW5jdGlvbgoJICBDb3Zlcml0eSAxMTM5OTQ0CgoyMDE0LTA2LTA5IDEwOjA0OjM4ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogQXR0ZW1wdCB1cHN0cmVhbSBzZWVrIGZpcnN0CgkgIElmIHdlIGhhdmUgYW4gdXBzdHJlYW0gZWxlbWVudCB0aGF0IGNhbiBoYW5kbGUgdGhlIHNlZWsgKHN1Y2ggYXMKCSAgcnRtcHNyYyksIHRyeSB0byBkbyB0aGF0IGZpcnN0IGJlZm9yZSBhdHRlbXB0aW5nIGl0IG91cnNlbGYuCgoyMDE0LTA2LTA0IDExOjM0OjI3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogZG8gbm90IGluY2x1ZGUgY29kZWNfZGF0YSBvbiByYXcgYXVkaW8gY2FwcwoJICBJZiB0aGUgd2F2IGhlYWRlciBjb250YWlucyBhbiBleHRlbmRlZCBjaHVuaywgd2Ugd2FudCB0byBrZWVwCgkgIHRoZSBjb2RlY19kYXRhIGZpZWxkLCBidXQgbm90IGZvciByYXcgYXVkaW8uCgkgIFRoaXMgZml4ZXMgc29tZSBlbGVtZW50cyAoc3VjaCBhcyBhZGRlcikgZnJvbSBmYWlsaW5nIHRvIGludGVyc2VjdAoJICByYXcgYXVkaW8gY2FwcyB3aGljaCB3b3VsZCBvdGhlcndpc2UgYmUgaW50ZXJzZWN0YWJsZS4KCjIwMTQtMDYtMDUgMDk6Mzg6MjkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBRdWVyeSBkdXJhdGlvbiB1cHN0cmVhbSBmaXJzdAoJICBVcHN0cmVhbSBlbGVtZW50cyAobGlrZSBydG1wc3JjKSBtaWdodCBiZSBhYmxlIHRvIHByb3ZpZGUgdGhlIGR1cmF0aW9uCgkgIG1vcmUgYWNjdXJhdGVseSB0aGFuIGZsdmRlbXV4LiBFc3BlY2lhbGx5IHdpdGggaW5kZXgtbGVzcyB2b2QgZmlsZXMKCjIwMTQtMDUtMzAgMTk6Mzc6NTcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBDbGVhbnVwIHBvbGwgbWV0aG9kIGFuZCByZXRyeSBvbiBFSU5UUi9FQUdBSU4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTAxNQoKMjAxNC0wMy0wNiAxNjozNzo1MSArMDEwMCAgSmFuIEFsZXhhbmRlciBTdGVmZmVucyAoaGVmdGlnKSA8amFuLnN0ZWZmZW5zQGdtYWlsLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IHNldCBSRVNZTkMgYnVmZmVyIGZsYWcgd2hlbiBicmlkZ2luZyBsYXJnZSBQVFMgZ2FwcwoJICBTbyBkb3duc3RyZWFtIGdldHMgbm90aWZpZWQgd2hlbiB0aGlzIGhhcHBlbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjU5MDMKCjIwMTQtMDYtMDMgMTc6NTk6MzIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSAgcnRwcnR4OiBSZXNldCBzdGF0ZSBvbiBlYWNoIGl0ZXJhdGlvbgoJICBPdGhlcndpc2UgaXQgZGlkbid0IHdhaXQgZm9yIHRoZSB0ZXN0IHRvIGZpbmlzaCBiZWZvcmUgY2hlY2tpbmcgdGhlIHJlc3VsdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg1MDEKCjIwMTQtMDUtMDkgMTQ6MjI6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2FkZW11eDogZG9uJ3QgbGVhayBkb2N0eXBlIHN0cmluZyBpbiBlcnJvciBjb2RlIHBhdGgKCSAgQ0lEIDEyMTIxNDUuCgoyMDE0LTA1LTIwIDA4OjIwOjQyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA5ZW5jLmM6CgkgIHZwOWVuYzogRG9uJ3QgZGVyZWZlcmVuY2UgTlVMTCBjaGVja3MKCSAgQ0lEICMxMTk3NzAzCgoyMDE0LTA1LTIwIDA4OjIzOjA2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogRG9uJ3QgZGVyZWZlcmVuY2UgTlVMTCB2YXJpYWJsZQoJICBDSUQgIzExMzk4MzgKCjIwMTQtMDUtMzAgMTQ6MzI6NDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHVwc3RyZWFtIGhhbmRsZXMgc2VlayBpZiBmcmFnbWVudGVkIGFuZCBvbiB0aW1lIHNlZ21lbnQKCSAgT3RoZXJ3aXNlIHdlIGNhbiByZWplY3Qgc2Vla3Mgb24gbG9jYWwgZmlsZXMgdGhhdCBjb250YWluIGZyYWdtZW50ZWQtbGlrZQoJICBhdG9tcyBsaWtlICdtdmV4Jy4gQWxzbyBpbXByb3ZlIGEgbWVzc2FnZSBsb2cKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDcyMgoKMjAxNC0wNS0zMCAxNjo0Mzo0NCArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBoMjY0ZGVwYXk6IG1ha2Ugc3VyZSB3ZSBjYWxsIGhhbmRsZV9uYWwgZm9yIGVhY2ggTkFMCgkgIENhbGwgaGFuZGxlX25hbCBmb3IgZWFjaCBOQUwgaW4gdGhlIFNUQVAtQSBSVFAgcGFja2V0LiBUaGlzIG1ha2VzCgkgIHN1cmUgd2UgY29ycmVjdGx5IGV4dHJhY3QgdGhlIFNQUyBhbmQgUFBTLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwOTk5CgoyMDE0LTA1LTA3IDE0OjA5OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgc291cGh0dHBzcmM6IEFkZCBjdXN0b20gc3RpY2t5IGV2ZW50IHRvIGNvbnRhaW4gdGhlIEhUVFAgcmVxdWVzdCBhbmQgcmVzcG9uc2UgaGVhZGVycwoJICBUaGlzIGNhbiBiZSB1c2VmdWwgdG8gZS5nLiBnZXQgY29va2llIGluZm9ybWF0aW9uIGRvd25zdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk3MDcKCjIwMTQtMDUtMjYgMTk6NDc6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiByZW1vdmUgc3RyZWFtIGxhc3QgZmxvdyByZXR1cm4KCSAgR3N0UGFkIGFscmVhZHkgc3RvcmVzIHRoYXQgaW5mb3JtYXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTIyNAoKMjAxNC0wNS0yNiAxOTozNzo0NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmVtb3ZlIGxhc3QgZmxvdyByZXR1cm4gZnJvbSBzdHJlYW0gc3RydWN0CgkgIEl0IGlzIGFscmVhZHkgc3RvcmVkIG9uIEdzdFBhZCBvbiBjb3JlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkyMjQKCjIwMTQtMDUtMjYgMTk6MTk6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgIGZsdmRlbXV4OiBVc2UgR3N0Rmxvd0NvbWJpbmVyCgkgIFVzZSB0aGUgZmxvdyBjb21iaW5lciB0byBoYXZlIHRoZSBzdGFuZGFyZCBjb21iaW5hdGlvbiByZXN1bHRzIGFuZCBhdm9pZAoJICByZXBlYXRpbmcgdGhlIHNhbWUgY29kZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5MjI0CgoyMDE0LTA1LTI2IDEzOjIxOjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thZGVtdXg6IHVzZSBHc3RGbG93Q29tYmluZXIKCSAgVXNlIHRoZSBmbG93IGNvbWJpbmVyIHRvIGhhdmUgdGhlIHN0YW5kYXJkIGNvbWJpbmF0aW9uIHJlc3VsdHMgYW5kIGF2b2lkCgkgIHJlcGVhdGluZyB0aGUgc2FtZSBjb2RlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkyMjQKCjIwMTQtMDUtMjYgMTM6MDQ6MTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiB1c2UgR3N0Rmxvd0NvbWJpbmVyCgkgIFJlbW92ZXMgZmxvdyByZXR1cm4gY29tYmluYXRpb24gY29kZSB0byB1c2UgdGhlIG5ld2x5IGFkZGVkIEdzdEZsb3dDb21iaW5lcgoKMjAxNC0wNS0yMyAxNzo1MzowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IHVzZSBHc3RGbG93Q29tYmluZXIKCSAgUmVtb3ZlcyB0aGUgY29tbW9uIGNvZGUgdG8gY29tYmluaW5nIGZsb3cgcmV0dXJucyB0byBsZXQgaXQgYmUKCSAgaGFuZGxlZCBieSBjb3JlIGdzdHV0aWxzJyBHc3RGbG93Q29tYmluZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTIyNAoKMjAxNC0wNS0yNiAxMDo1OTo1NSAtMDQwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyc2luazogaW1wbGVtZW50IGdzdHZpZGVvc2luay5zaG93X2ZyYW1lIGluc3RlYWQgb2YgZ3N0YmFzZXNpbmsucmVuZGVyCgkgIEl0IGFsbG93cyB0byBzaG93IHByZXJvbGwgZnJhbWUuIEVzcGVjaWFsbHkgaXQgYWxsb3dzIHRvIHVwZGF0ZSB0aGUKCSAgZnJhbWUgd2hlbiBzZWVraW5nIGluIFBBVVNFRCBzdGF0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjMwMwoKMjAxNC0wNS0yNiAxMDo1OTowNiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMnNpbms6IENsZWFudXAgb2xkIHBhZCBhbGxvYyBkZWNsYXJhdGlvbgoKMjAxNC0wNS0yNiAxMjozNDo0MiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IENvcHkgYWxyZWFkeSBxdWV1ZWQgYnVmZmVyCgkgIFRoaXMgaXMgcmVxdWlyZWQgYXMgZHVyaW5nIHByZXJvbGwgd2UgcGFzcyB0aGUgZmlyc3QgYnVmZmVyIHR3aWNlLCBoZW5jZSBhbHJlYWR5CgkgIHF1ZXVlZC4gSXQgaXMgYWxzbyB1c2VmdWwsIHRvIGFsbG93IGZpbHRlcnMgcmVwbGF5aW5nIGEgcHJldmlvdXMgcmVuZGVyZWQgYnVmZmVycy4KCSAgVGhpcyB3aWxsIHJlcXVpcmUgMSBtb3JlIGJ1ZmZlciBpbiBzaW5rIGlmIGxhc3Qtc2FtcGxlIGlzIGVuYWJsZWQsIHNpbmNlIHRoZSBsYXN0CgkgIHNhbXBsZSB3aWxsIG5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgY3VycmVudGx5IHF1ZXVlZCBidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIzMDMKCjIwMTQtMDUtMjQgMjA6MjA6MDcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyYnVmZmVycG9vbDogUG9ydCB0byBidWZmZXJwb29sIGZsdXNoX3N0YXJ0L3N0b3AgbWV0aG9kCgkgIFBvcnQgdGhlIGJ1ZmZlciBwb29sIHRvIHVzZSB0aGUgbmV3IGZsdXNoX3N0YXJ0L2ZsdXNoX3N0b3AgdmlydHVhbAoJICBtZXRob2RzIGFkZGVkIHRvIEdzdEJ1ZmZlclBvb2wuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc2MTEKCjIwMTQtMDUtMjUgMTc6NDA6NTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIHBvOiB1cGRhdGUKCjIwMTQtMDUtMjUgMTY6NTQ6MTggKzAyMDAgIFBpb3RyIERyxIVnIDxwaW90cmRyYWdAZ21haWwuY29tPgoKCSogcG8vUE9URklMRVMuaW46CgkgIHBvOiB1cGRhdGUgUE9URklMRVMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjU1NgoKMjAxNC0wNS0yNCAyMzo1MTo1OCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogRG9uJ3QgcXVldWUgYWxsIHRoZSBidWZmZXJzIGJlZm9yZSBkZXF1ZXVlaW5nIGZpcnN0CgkgIEZvciBvdXRwdXQgZGV2aWNlLCB3ZSB3aGVyZSBxdWV1aW5nIGFsbCB0aGUgYnVmZmVycywgYW5kIHRoZW4gd2Ugd291bGQKCSAgZGVxdWV1ZSBvbmUuIFRoaXMgbWVhbnMgd2Ugb25seSBoYXZlIDEgYnVmZmVyIGZvciB0aGUgcGlwZWxpbmUsIG5vIG1hdHRlcgoJICB0aGUgc2l6ZSBvZiB0aGUgcXVldWUuIEluc3RlYWQsIHN0YXJ0IGRlcXVldWVkIHdoZW4gbWluX2xhdGVuY3kgaXMgcmVhY2hlZC4KCSAgRXZlbnR1YWxseSwgdGhpcyB0aGUgbWluX2xhdGVuY3kgc2hvdWxkIGFsc28gYmUgYWZmZWN0ZWQgYnkgY29udHJvbAoJICBNSU5fQlVGRkVSU19GT1JfT1VUUFVUICh1c2UgYnkgZW5jb2RlcnMpLgoKMjAxNC0wNS0yNCAyMzo0OToxOSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IFNpbXBseSByZWFkIGJhY2sgdGhlIGNvbmZpZyB0byB1cGRhdGUgdGhlIHF1ZXJ5CgkgIEl0J3MgZWFzeSB0byBnZXQgdGhlIG1pbi9tYXggb3V0ZGF0ZSB3aGVuIGhhY2tpbmcgZGVjaWRlIGFsbG9jYXRpb24uIEluCgkgIG9yZGVyIHRvIGF2b2lkIHRoaXMsIHNpbXBseSByZWFkIGJhY2sgdGhlIGNob29zZW4gdmFsdWUgZnJvbSB0aGUgY29uZmlnLgoKMjAxNC0wNS0yNCAyMzozMToyNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDI6IENsZWFudXAgYW5kIGZpeCBjYWxjdWxhdGlvbiBvZiBsYXRlbmN5CgkgIENhbGN1bGF0aW9uIG9mIG51bV9idWZmZXJzICh0aGUgbWF4IGxhdGVuY3kgaW4gYnVmZmVycykgd2FzCgkgIHVwLXNpZGUtZG93bi4gIElmIHdlIGNhbiBhbGxjb2F0ZSwgdGhlbiBvdXIgbWF4aW11bSBsYXRlbmN5IG1hdGNoCgkgIHBvb2wgbWF4aW11bSBudW1iZXIgb2YgYnVmZmVycy4gQWxzbyByZW5hbWVkIGl0IHRvIG1heCBsYXRlbmN5LiBGaW5hbGx5CgkgIGludHJvZHVjZWQgYSBtaW5fbGF0ZW5jeSBmb3IgY2xhcml0eS4KCjIwMTQtMDUtMjQgMjA6MDA6MTQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICBSZXZlcnQgInY0bDJidWZmZXJwb29sOiBQb3J0IHRvIGJ1ZmZlcnBvb2wgZmx1c2hfc3RhcnQvc3RvcCBtZXRob2QiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMmUwZmI0MmU4NjhmYzlmNmQ5OGIwMjhkZWY4MGEzZTk1MzUyNzMwNy4KCSAgQ29uZmxpY3RzOgoJICBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmMKCSAgc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYwoJICBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYwoKMjAxNC0wNS0yNCAxODo1NjozMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IEZpeCBjb25maWd1cmF0aW9uIG9mIG90aGVyX3Bvb2wgYW5kIGltcG9ydGF0aW9uIGNhc2UKCSAgRml4IHRoZSBjaG9pY2Ugb2YgbWluL21heCwgZG9uJ3Qgb3ZlcnJpZGUgdGhlIG1pbi9tYXggd2l0aCBvd24gcG9vbCBzZWxlY3RlZAoJICBzaXplLCBjb3JyZWN0IG90aGVyX3Bvb2wgaXNfYWN0aXZlIGNoZWNrLCBzdGFydCBmcm9tIG90aGVyX3Bvb2wgY29uZmlnIHdoZW4KCSAgY29uZmlndXJpbmcgdGhlIG90aGVyIHBvb2wgYW5kIGZpbmFsbHkgdmFsaWRhdGUgdGhlIGNvbmZpZ3VyYXRpb24uCgoyMDE0LTA1LTI0IDE4OjQ1OjMwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogVXNlIHByb3Bvc2VkIGFsbG9jYXRvciBhcyBkZWZhdWx0CgoyMDE0LTA1LTI0IDE4OjQzOjI4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBGaXggVVNFUlBUUiBtYXAgZmxhZ3MKCSAgV2UgbmVlZCB0byBtYXAgUkVBRCBvbmx5IGZvciBvdXRwdXQgYW5kIHdyaXRlIG9ubHkgZm9yIGNhcHR1cmUsIHdlIHdoZXJlCgkgIGRvaW5nIHRoZSBvcHBvc2l0ZS4gVGhpcyBmaXhpbmcgVVNFUlBUUiB3aXRoIGdsaW1hZ2VzaW5rCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA2OTgKCjIwMTQtMDUtMjQgMTE6MTY6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHBhcnNlIHRraGQgdHJhbnNmb3JtYXRpb24gbWF0cml4IGFuZCBhZGQgdGFncyBpZiBhcHByb3ByaWF0ZQoJICBIYW5kbGUgdGhlIHRyYW5zZm9ybWF0aW9uIG1hdHJpeCBjYXNlcyB3aGVyZSB0aGVyZSBhcmUgb25seSBzaW1wbGUgcm90YXRpb25zCgkgICg5MCwgMTgwIG9yIDI3MCBkZWdyZWVzKSBhbmQgdXNlIGEgdGFnIGZvciB0aG9zZSBjYXNlcy4gVGhpcyBpcyBhIGNvbW1vbiBzY2VuYXJpbwoJICB3aGVuIHJlY29yZGluZyB3aXRoIG1vYmlsZSBkZXZpY2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzk1MjIKCjIwMTQtMDUtMjMgMTk6MTA6MjEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBQcmV2ZW50IG51bV9xdWV1ZWQgZnJvbSBnb2luZyBuZWdhdGl2ZQoKMjAxNC0wNS0yMyAxODoyNTo0OSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogZG9uJ3Qgc3RvcCBpZiBsb29wIHJldHVybmVkIEZMVVNISU5HCgkgIFRoZSBkZWNvZGVpbmcgdGhyZWFkIHJldHVybmluZyBmbHVzaGluZyBpc24ndCBhbiBlcnJvciwgd2Ugc2hvdWxkIHNpbXBseQoJICB0cnkgc3RhcnRpbmcgdGhlIHRhc2sgYWdhaW4uIElmIGl0J3MgYWN0dWFsbHkgZmx1c2hpbmcsIGl0IHdpbGwgc3RvcCBhZ2FpbiBieSBpdHNlbGYuCgoyMDE0LTA1LTIzIDE3OjU0OjIwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBIYW5kbGUgZWFybHkgdGFzayBzdG9wCgoyMDE0LTA1LTIzIDE3OjI4OjEzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBIYW5kbGUgZ3N0X3BhZF9zdGFydF90YXNrKCkgZmFpbHVyZQoKMjAxNC0wNS0yMyAxNzoxOTowNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogQWRkIHRyYWNlIGZvciBGTFVTSF9TVEFSVC9TVE9QIGhhbmRsaW5nCgoyMDE0LTA1LTIzIDE3OjE4OjE2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBGaXggdXNlIG9mIGF0b21pYyB2YWx1ZQoKMjAxNC0wNS0yMyAxNzowMTo1MyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IEltcHJvdmUgZGVidWdnaW5nCgkgIE5vIG5lZWQgdG8gdXNlIG9iai0+ZWxlbWVudCwgdGhlIHBvb2wgbm93IGhhdmUgYSBzaWduaWZpY2FudCBuYW1lLiBBbHNvIGRvbid0CgkgIHdhcm4gaWYgZmx1c2hpbmcuCgoyMDE0LTA1LTIzIDE3OjAxOjAyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBGaXggaGFuZGxlX2ZyYW1lIGVycm9yIGhhbmRsaW5nCgoyMDE0LTA1LTIzIDE1OjU2OjI0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogQWRkIGEgdHJhY2Ugd2hlbiBfc3RhcnQoKSBpcyBjYWxsZWQKCjIwMTQtMDUtMjMgMTU6NTY6MDIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSAgdjRsMmFsbG9jYXRvcjogQWRkIGRlYnVnIGFzc2VydCB0byBkZXRlY3QgY2FsbHMgaW4gdGhlIHdyb25nIHN0YXRlCgoyMDE0LTA1LTIzIDE1OjU1OjI2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIHY0bDJhbGxvY2F0b3I6IFJlc2V0IGNvdW50IHdoZW4gc3RvcHBlZAoKMjAxNC0wNS0yMyAxNTo1NTowOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmFsbG9jYXRvcjogUmV0dXJuIGEgR3N0Rmxvd1JldHVybiBpbnN0ZWFkIG9mIGJvb2xlYW4gaW4gYWxsb2MKCjIwMTQtMDUtMjMgMTU6MTc6MjcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRG9uJ3QgbGVhayBjb25maWcgc3RydWN0dXJlCgoyMDE0LTA1LTIzIDE0OjEyOjEwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDJidWZmZXJwb29sOiBQb3J0IHRvIGJ1ZmZlcnBvb2wgZmx1c2hfc3RhcnQvc3RvcCBtZXRob2QKCjIwMTQtMDUtMjMgMDM6MDA6NTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFkZCB0YWcgbWFwcGluZ3MgZm9yIF9zd3IsIF9tYWsgYW5kIF9tb2QgdGFncwoJICBzd3IgLT4gQXBwbGljYXRpb24gbmFtZQoJICBtYWsgLT4gZGV2aWNlIG1hbnVmYWN0dXJlcgoJICBtb2QgLT4gZGV2aWNlIG1vZGVsCgoyMDE0LTA1LTIwIDE3OjM3OjQ5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICB4aW1hZ2VzcmM6IEZpeCB4aW1hZ2UgbGVha3Mgd2hlbiBidWZmZXIgaGFzIG1vcmUgdGhlbiBvbmUgeGltYWdlCgkgIEZyb20gdGltZSB0byB0aW1lLCB3aGVuIHRoZSBpbWFnZV9wb29sIGxpc3QgaGFzIG1vcmUgdGhlbiAxIGVsZW1lbnQKCSAgYW5kIEkgc3VwcG9zZSBhdCBzdGFydCwgYWxsIGJ1dCAxIHBvb2xlZCB4aW1hZ2UgYXJlIGxlYWtlZC4gVGhpcyBpcwoJICBkdWUgdG8gYnJva2VuIGFsZ29yaXRobSBpbiBnc3RfeGltYWdlc2lua19zcmNfeGltYWdlX2dldCgpLiBUaGVyZSB3YXMKCSAgYWxzbyBhIHJpc2sgb2YgdXNlIGFmdGVyIGZyZWUgZm9yIHRoZSBjYXNlIHdoZXJlIHRoZSB4aW1hZ2Ugc2l6ZSBoYXMKCSAgY2hhbmdlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODUwMgoKMjAxNC0wNS0yMSAxMzoyMzoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS4zLjIgPT09CgoyMDE0LTA1LTIxIDEzOjA2OjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0LWJ1aWxkLnN0YW1wOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC5zdGFtcDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4zLjIKCjIwMTQtMDUtMjEgMTI6MTk6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTQtMDUtMjEgMTA6NTE6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDIxMWZhNWYgdG8gMWY1ZDNjMwoKMjAxNC0wNS0yMCAwODoyMzowNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IERvbid0IGRlcmVmZXJlbmNlIE5VTEwgdmFyaWFibGUKCSAgQ0lEICMxMTM5ODM4CgoyMDE0LTA1LTIwIDA4OjIwOjQyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA5ZW5jLmM6CgkgIHZwOWVuYzogRG9uJ3QgZGVyZWZlcmVuY2UgTlVMTCBjaGVja3MKCSAgQ0lEICMxMTk3NzAzCgoyMDE0LTA1LTE5IDExOjI2OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IEV4cGxpY2l0bHkgY2FzdCBlbnVtICJzdWJ0eXBlIiB0byBpdHMgInN1cGVydHlwZSIKCSAgZ3N0djRsMmJ1ZmZlcnBvb2wuYzo2MDg6MTg6IGVycm9yOiBpbXBsaWNpdCBjb252ZXJzaW9uIGZyb20gZW51bWVyYXRpb24gdHlwZQoJICAnZW51bSBfR3N0VjRsMkJ1ZmZlclBvb2xBY3F1aXJlRmxhZ3MnIHRvIGRpZmZlcmVudCBlbnVtZXJhdGlvbiB0eXBlCgkgICdHc3RCdWZmZXJQb29sQWNxdWlyZUZsYWdzJyBbLVdlcnJvciwtV2VudW0tY29udmVyc2lvbl0KCSAgcGFyYW1zLmZsYWdzID0gR1NUX1Y0TDJfUE9PTF9BQ1FVSVJFX0ZMQUdfUkVTVVJFQ1Q7CgkgIH4gXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCjIwMTQtMDUtMTkgMTE6MjQ6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZ29vbS90ZW50YWNsZTNkLmM6CgkgIGdvb206IFVzZSBmYWJzKCkgaW5zdGVhZCBvZiBhYnMoKSB0byBjYWxjdWxhdGUgdGhlIGZsb2F0aW5nIHBvaW50IGFic29sdXRlIHZhbHVlCgkgIHRlbnRhY2xlM2QuYzoyNjg6NzogZXJyb3I6IHVzaW5nIGludGVnZXIgYWJzb2x1dGUgdmFsdWUgZnVuY3Rpb24gJ2Ficycgd2hlbgoJICBhcmd1bWVudCBpcyBvZiBmbG9hdGluZyBwb2ludCB0eXBlIFstV2Vycm9yLC1XYWJzb2x1dGUtdmFsdWVdCgkgIGlmIChhYnMgKHRtcCAtIGZ4X2RhdGEtPnJvdCkgPiBhYnMgKHRtcCAtIChmeF9kYXRhLT5yb3QgKyAyLjAgKiBHX1BJKSkpIHsKCSAgXgoKMjAxNC0wNS0xOSAxMToyMTozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL3Rlc3RzLmM6CgkgIGRlYnVndXRpbHM6IFByb3Blcmx5IGNhbGN1bGF0ZSB0aGUgZGlmZmVyZW5jZSB3aXRoIHVuc2lnbmVkIHR5cGVzCgkgIHRlc3RzLmM6MTYxOjE2OiBlcnJvcjogdGFraW5nIHRoZSBhYnNvbHV0ZSB2YWx1ZSBvZiB1bnNpZ25lZCB0eXBlCgkgICd1bnNpZ25lZCBsb25nJyBoYXMgbm8gZWZmZWN0IFstV2Vycm9yLC1XYWJzb2x1dGUtdmFsdWVdCgkgIHQtPmRpZmYgKz0gbGFicyAoR1NUX0JVRkZFUl9USU1FU1RBTVAgKGJ1ZmZlcikgLSB0LT5leHBlY3RlZCk7CgoyMDE0LTA1LTE2IDE3OjQ2OjMwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBIYW5kbGUgZmx1c2ggd2hpbGUgaW4gc3RhcnRfc3RyZWFtaW5nCgkgIFdlIG5lZWQgdG8gaGFuZGxlIHRoZSBjYXNlIHdoZXJlIGEgZmx1c2ggb2NjdXJlIHdoaWxlIHRoZSBzdHJlYW1pbmcKCSAgdGhyZWFkIGlzIGJlaW5nIGJyb3VnaHQgdXAuIEluIHRoaXMgY2FzZSwgdGhlIGZsdXNoaW5nIHN0YXRlIG9mIHRoZSBwb2xsCgkgIG9iamVjdCBpcyBjbGVhcmVkLiBUbyBzb2x2ZSB0aGlzLCB3ZSBzaW1wbHkgc2V0IHRoZSBjYXB0dXJlIHBvbGwgdG8gZmx1c2hpbmcKCSAgYWdhaW4sIHRoaXMgd2F5IHdlIGtub3cgdGhlIHRocmVhZCB3aWxsIGV4aXQuIFRoZSBkZWNvZGVyIHN0cmVhbWxvY2sKCSAgaXMgdXNlZCB0byBzeW5jaHJvbml6ZSB3aXRoIGhhbmRsZSBmcmFtZS4KCjIwMTQtMDUtMTYgMTY6NDQ6MzcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSAgdjRsMmFsbG9jYXRvcjogRG9uJ3QgdHJhY2UgdHdpY2UgdGhlIHNhbWUgbWVzc2FnZQoKMjAxNC0wNS0xNSAxMToyNTo1MCAtMDcwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFsd2F5cyB1c2UgYSByYW5kb20gc3NyYyBmb3IgdGhlIGludGVybmFsIHNlc3Npb24KCSAgVXNlIGEgcmFuZG9tIFNTUkMgZGlmZmVyZW50IHRoYW4gMCBmb3IgdGhlIGludGVybmFsIHNlc3Npb24gU1NSQy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDIxMgoKMjAxNC0wNS0xNiAxNjo1MjoyNSArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHVwZGF0ZSBsYXN0X2FjdGl2aXR5IHdoZW4gc2VuZGluZyBSVFAKCSAgQWxzbyB1cGRhdGUgbGFzdF9hY3Rpdml0eSB3aGVuIGRvaW5nIHNvbWV0aGluZyB3aXRoIHRoZSBpbnRlcm5hbAoJICBzb3VyY2UgdG8gbWFrZSBzdXJlIGRvbid0IHRpbWVvdXQgZWFybHkuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwMjE3CgoyMDE0LTA1LTE1IDE4OjA4OjUzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMjogQ2xlYW51cCBNMk0gcHJvcGVydGllcwoJICBNMk0gZGV2aWNlcyB3ZXJlIHNoYXJpbmcgdGhlIHNhbWUgcHJvcGVydGllcyBhcyBzcmMgYW5kIHNpbmsuIE1vc3Qgb2YKCSAgdGhlc2UgbWFkZSBubyBzZW5zZS4gVGhpcyBwYXRjaCByZWR1Y2VzIHRoZSBudW1iZXIgb2YgcHJvcGV0aWVzIGFuZAoJICBtYWtlcyBpby1tb2RlIGNsZWFyZXIgYnkgaGF2aW5nIGNhcHR1cmUtaW8tbW9kZSBhbmQgb3V0cHV0LWlvLW1vZGUuIFRoaXMKCSAgYWxzbyBhY2NpZGVudGx5IGZpeGVkIGEgYnVnIGluIGdzdHY0bDJ0cmFuc2Zvcm0gaW8tbW9kZSBjb2RlLCB3aGVyZSB0aGUKCSAgY2FwdHVyZSBpby1tb2RlIGNvdWxkIG5vdCBiZSBzZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk1OTEKCjIwMTQtMDUtMTUgMTc6Mzk6MzkgKzAyMDAgIEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBsaW5hcm8ub3JnPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IFVwZGF0ZSBwb29sIGxpbWl0IHdpdGggaGFyZHdhcmUgcmVxdWlyZW1lbnN0CgkgIElmIHRoZSBkcml2ZXIgbmVlZCBtb3JlIGJ1ZmZlcnMgdGhhbiByZXF1ZXN0ZWQgYnkgdGhlIGNvbmZpZywKCSAgdXBkYXRlIHRoZSBwb29sIG1pbi9tYXggdmFsdWVzLiBUaGUgbWluaW11bSB2YWx1ZSBmb3IgdGhlIHBvb2wKCSAgY291bGQgYmUgcHJvdmlkZWQgZWl0aGVyIGJ5IHRoZSBkcml2ZXIgb3IgYnkgdGhlIHBvb2wuIFRoaXMgaXMKCSAgYmVzdCBlZmZvcnQgZm9yIGRyaXZlcnMgdGhhdCBkb24ndCBzdXBwb3J0CgkgIENJRCBWNEwyX0NJRF9NSU5fQlVGRkVSU19GT1JfQ0FQVFVSRS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDIwMAoKMjAxNC0wNS0xNSAxMDo0NDoyOSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogSGFuZGxlIHN0YXJ0X3N0cmVhbWluZyBlcnJvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwMjA3CgoyMDE0LTA1LTE1IDEwOjM5OjQwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBQcmludCB0aGUgZmxvdyByZXR1cm4gY2F1c2luZyB0aGUgbG9vcCB0byBsZWF2ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwMjA3CgoyMDE0LTA1LTE1IDEwOjMxOjQwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBEb24ndCBsb2NrIHRoZSBkZWNvZGVyIHdoZW4gc3RvcHBpbmcgdGFzawoJICBUaGF0IHNyYyBwYWQgdGFzayBtYXkgbmVlZCB0byB0YWtlIHRoZSBsb2NrIHdoZW4gYmVpbmcgcHVsbGVkCgkgIGRvd24uIHRha2VpbmcgdGhhdCBsb2NrIGNhbiBsZWFkIHRvIGEgZGVhZGxvY2suCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzAyMDcKCjIwMTQtMDUtMTQgMTc6MTg6NTIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogRG9uJ3QgbGVhayBwb29sIGlmIGFjdGl2YXRpb24gZmFpbGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzAyMDcKCjIwMTQtMDUtMTQgMTc6MTg6MzUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDI6IFNwbGl0IGZsdXNoIGluIHN0YXJ0L3N0b3Bfc3RyZWFtaW5nCgkgIFRoaXMgYWxsb3cgY2FsbGluZyBzdGFydCBzdHJlYW1pbmcgbGF0ZXIgZm9yIGNhcHR1cmUgZGV2aWNlLiBDdXJyZW50bHkgaXQgYnJlYWtzCgkgIGluIGRtYWJ1Zi1pbXBvcnQgYmVjYXVzZSBkb3duc3RyZWFtIGlzIGhvbGRpbmcgYSBidWZmZXIgdGhhdCB3aWxsIG9ubHkgYmUKCSAgcmVsZWFzZWQgYWZ0ZXIgc3RyZWFtLXN0YXJ0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwMjA3CgoyMDE0LTA1LTE0IDE1OjEyOjI2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IEZsdXNoIGJ1ZmZlciBwb29scyBvbiBmbHVzaCBzdG9wCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzAyMDcKCjIwMTQtMDUtMTQgMTM6Mjg6MzEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSAgdjRsMmFsbG9jYXRvcjogRml4IHVzZSBvZiBhdG9taWMgYWN0aXZlIG1hcmtlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwMjA3CgoyMDE0LTA1LTE0IDEzOjA1OjQyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogRG9uJ3QgZGVhY3RpdmF0ZSBvdGhlcnBvb2wKCSAgV2Ugc2hvdWxkIG5vdCBzdG9wIHRoZSBvdGhlcnBvb2wgdW5sZXNzIHdlIGFsc28gc3RvcCBvdXIgb3duCgkgIHBvb2wsIG90aGVyd2lzZSBpdCB3aWxsIG5ldmVyIGdldCByZXN0YXJ0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzAyMDcKCjIwMTQtMDUtMTQgMTI6MzM6NTggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBBbHNvIHVwZGF0ZSBudW1fYnVmZmVycyBmb3IgaW1wb3J0IGNhc2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzAyMDcKCjIwMTQtMDUtMTQgMTM6NDI6MjUgLTA3MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogdXBkYXRlIHJ0cCBlbmNvZGVyL2RlY29kZXIgZG9jcwoJICBVc2UgJXUgaW4gUlRQIGVuY29kZXIvZGVjb2RlciBwYWRzIHRvIG1hdGNoIG90aGVyIHJ0cGJpbiBwYWRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwMTQ2CgoyMDEzLTEyLTI3IDExOjU1OjE4ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwc2Vzc2lvbi5jOgoJICB0ZXN0cy9jaGVjazogcnRwc2Vzc2lvbjogdGVzdCBpbnRlcm5hbCBzb3VyY2VzIHRpbWluZyBvdXQKCjIwMTMtMTItMjYgMTc6MzA6NDIgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHJlbW92ZSB1bnVzZWQgaWYgYnJhbmNoCgkgIDEpIHNvdXJjZXMgdGhhdCBoYXZlIHNlbnQgQllFIGluIHRoZSBwYXN0IGNhbm5vdCBiZSBzZW5kZXJzLCBzaW5jZQoJICB0aGV5IHdvdWxkIGhhdmUgdGltZWQgb3V0IHRvIGJlaW5nIHJlY2VpdmVycyBpbiB0aGUgbWVhbnRpbWUuLi4KCSAgMikgc291cmNlcyB0aGF0IGhhdmUgc2VudCBCWUUgYXJlIG5vdyBiZWluZyByZW1vdmVkIGVhcmxpZXIgaW5zaWRlCgkgIHRoaXMgZnVuY3Rpb24KCjIwMTMtMTItMjYgMTc6Mjk6NDIgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGNsZWFudXAgc291cmNlcyB0aGF0IGhhdmUgc2VudCBCWUUKCjIwMTMtMTItMjYgMTc6MjQ6NTEgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHVuaWZ5IG5lc3RlZCBpZiBjbGF1c2VzCgoyMDEzLTEyLTI2IDE3OjIxOjQ0ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiB0aW1lb3V0IGludGVybmFsIHNvdXJjZXMgdGhhdCBhcmUgaW5hY3RpdmUgZm9yIGEgbG9uZyB0aW1lIGFuZCBzZW5kIEJZRQoKMjAxNC0wNS0xMyAxMjoyNTowNCAtMDcwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBkb24ndCBzdG9wIGxvb3BpbmcgaWYgZXZlbnQgZm91bmQgaW4gdGhlIHF1ZXVlCgkgIElmIHdlIGFyZSBpbnNlcnRpbmcgYSBwYWNrZXQgaW50byB0aGUgaml0dGVyIHF1ZXVlIHdlIG5lZWQgdG8ga2VlcAoJICBsb29waW5nIHRocm91Z2ggdGhlIGl0ZW1zIHVudGlsIHRoZSByaWdodCBwb3NpdGlvbiBpcyBmb3VuZC4gQ3VycmVudGx5LAoJICB0aGUgY29kZSBzdG9wcyBhcyBzb29uIGFzIGFuIGV2ZW50IGlzIGZvdW5kIGluIHRoZSBxdWV1ZS4KCSAgUmVnYXJkaW5nIGV2ZW50cywgd2Ugc2hvdWxkIG9ubHkgbW92ZSBwYWNrZXRzIGJlZm9yZSBhbiBldmVudCBpZiB0aGVyZQoJICBpcyBhbm90aGVyIHBhY2tldCBiZWZvcmUgdGhlIGV2ZW50IHRoYXQgaGFzIGEgbGFyZ2VyIHNlcW51bS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDA3OAoKMjAxNC0wNC0xNyAxMzowNDowMCArMDAwMCAgQWRyaWVuIFNDSCA8YWRyaWVuLnNjaHdhcnR6ZW50cnViZXJAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogZml4IHRoZSBtZW1vcnkgbGVhayBvZiBsYW5ndWFnZSBhdHRyaWJ1dGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODQxOAoKMjAxNC0wNS0xMyAxMzo0NDoyMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBGaXggcmVncmVzc2lvbiBpbiBvZmZzZXQgZXh0cmFwb2xhdGlvbgoJICBXaGVuIGV4dHJhcG9sYXRpbmcgdGhlIG9mZnNldCwgd2UgbmVlZCB0byB1c2UgdGhlIGV4dHJhcG9sYXRlCgkgIHN0cmlkZSByYXRoZXIgdGhlbiB0aGUgYmFzZSBzdHJpZGUuIFRoaXMgc2hvdWxkIGZpeCBzdXBwb3J0IGZvciBmb3JtYXQKCSAgd2l0aCBtb3JlIHRoZW4gdHdvIHBsYW5lcyAoSTQyMCwgWTQyQiwgZXRjKS4KCjIwMTQtMDUtMTIgMTg6MDM6MTggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkgIHY0bDJidWZmZXJwb29sOiBVc2UgZGVmYXVsdCBWaWRlb0luZm8gZm9yIGZyYW1lIG9wZXJhdGlvbgoJICBXaGVuIGRvaW5nIGZyYW1lIG9wZXJhdGlvbiwgd2UgbmVlZCB0byB1c2UgdGhlIGRlZmF1bHQgVmlkZW9JbmZvCgkgIGFuZCBsZXQgdGhlIGZyYW1lIEFQSSByZWFkIHRoZSB2aWRlbyBtZXRhIGluIG9yZGVyIHRvIGdldCB0aGUgc3RyaWRlCgkgIGFuZCBvZmZzZXQgcmlnaHQuIEN1cnJlbnRseSB3ZSB3aGVyZSB1c2luZyB0aGUgc3BlY2lhbGl6ZWQgVmlkZW9JbmZvCgkgIHdoaWNoIHJlZmxlY3RzIHdoYXQgdGhlIEhXIGlzIHNldHVwIHRvLgoKMjAxNC0wNS0xMiAxNzoyMzoxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMnNyYzogbWlub3IgR1ZhbHVlIGhhbmRsaW5nIG9wdGltaXNhdGlvbiBpbiBwcm9iaW5nIGNvZGUKCjIwMTQtMDUtMTIgMTc6MjA6MTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJzcmM6IGF2b2lkIGxpc3RzIHdpdGggb25lIHNpbmdsZSBmcmFtZXJhdGUgaW4gcHJvYmVkIGNhcHMKCSAgU2ltcGxpZnkgZnJhbWVyYXRlIGZpZWxkIGlmIHBvc3NpYmxlLCBzbyB3ZSBkb24ndCBlbmQgdXAgd2l0aAoJICBlLmcuIGZyYW1lcmF0ZSA9IChmcmFjdGlvbikgeyAzMC8xIH0uIE1heWJlIHRoZSBoZWxwZXIgZnVuY3Rpb24KCSAgc2hvdWxkIGJlIG1vdmVkIHRvIGNvcmUsIGJ1dCB3ZSBjYW4gZG8gdGhpcyBsYXRlci4KCjIwMTQtMDUtMTIgMTY6NTY6MzUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IGxlYWsgb2YgcGFsZXR0ZV9kYXRhIGluIGVycm9yIGNhc2VzCgkgIENJRCAjMTIxMjE1MQoKMjAxNC0wNS0xMiAxNjo1MzozMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEZyZWUgbm9kZV9oZWFkZXIgaW4gZXJyb3IgY2FzZXMKCSAgQ0lEICMxMjEyMTM0CgoyMDE0LTA1LTEyIDEzOjQ2OjAxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IERvbid0IHVzZSBXQVJOSU5HIGZvciBub3QtbGlua2VkIGZsb3cgcmV0dXJuCgkgIFBvbGx1dGVzIGRlYnVnIGxvZ3MgZm9yIG5vIHJlYXNvbi4gSXQncyBvbmx5IGFuIGVycm9yIGlmIGFsbCBwYWRzCgkgIHJldHVybiBub3QtbGlua2VkCgoyMDE0LTA1LTEyIDEzOjQ1OjA2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICBmbHZkZW11eDogU2tpcCB1bmtub3duIHRhZ3MgaW4gcHVzaC1tb2RlCgkgIFdlIGFkZCBhIG5ldyBtb2RlIChTS0lQKSBpbiBwdXNoLW1vZGUgdG8gc2tpcCB0YWdzIHRoYXQgd2UgZG9uJ3Qga25vd24gYWJvdXQKCSAgUGFydGlhbGx5IGZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzA3MTIKCjIwMTQtMDUtMTAgMDk6MTQ6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IEFkZCBzdXBwb3J0IGZvciB2YXJpYWJsZSBibG9jayBzaXplIGZpbGVzIGFuZCByZW1vdmUgZGVhZCBjb2RlCgkgIFRoaXMgZGVhZCBjb2RlIHdhc24ndCB1c2VkIHNpbmNlIHRoZSAxLjAgcG9ydCBhbmQgd291bGQgbmVlZCB0bwoJICBiZSBtb2RpZmllZCBoZWF2aWx5IGZvciB2YXJpYWJsZSBibG9jayBzaXplIHN1cHBvcnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk4OTQKCjIwMTQtMDUtMDkgMTI6MTQ6MjMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBGaXggTlVMTCBjaGVjayBjb3B5IHBhc3RlIGVycm9yCgkgIENJRCAxMjEyMTI5CgoyMDE0LTA1LTA5IDEyOjExOjU0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogRml4IHBvdGVudGlhbCBkZWFkbG9jayBkdWUgdG8gbWlzc2luZyBicmVhawoJICBDSUQgMTIxMjEzMQoKMjAxNC0wNS0wOSAxODowMToyOCArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogaW5jcmVtZW50IGFjY2VwdGVkIHBhY2tldHMgYWZ0ZXIgbG9zcwoJICBXaGVuIHdlIGRldGVjdCBhIGxvc3QgcGFja2V0LCBleHBlY3QgcGFja2V0cyB3aXRoIGhpZ2hlcgoJICBzZXFudW0gb24gdGhlIGlucHV0LgoJICBBbHNvIHVwZGF0ZSB0aGUgdW5pdCB0ZXN0LgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5NTI0CgoyMDE0LTA1LTA0IDExOjEyOjU0IC0wNjAwICBKYXNvbiBMaXR6aW5nZXIgPGpsaXR6aW5nZXJkZXZAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBBZGQgbmV3IHRlc3QgY2FzZS4KCjIwMTQtMDUtMDkgMTY6MTQ6MjEgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogbm8gbmVlZCB0byBhY3RpdmF0ZSBwYWRzCgkgIEFjdGl2YXRpb24gd2lsbCBoYXBwZW4gaW4gdGhlIHN0YXRlIGNoYW5nZQoKMjAxNC0wNS0wOSAxMjoxMDowNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IERvbid0IGxlYWsgY29uZmlnIHN0cnVjdHVyZQoJICB0aGlzIGZpeGVzIGEgbGVhayBvZiB0aGUgY29uZmlnIHN0cnVjdHVyZSBhbmQgdGFrZSBjYXJlIG9mIG1ha2luZyBzdXJlCgkgIGNhcHMgY2FuJ3QgcmVhY2ggcmVmIDAgYmVmb3JlIHdlIGFyZSBkb25lIGRvaW5nIG91ciBjaGVjay4KCSAgQ0lEIDEyMTIxNDQKCjIwMTQtMDUtMDkgMTI6MDg6MTEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBSZW1vdmUgdW5lZWRlZCBjYXN0IGZvciBjb2RlIGNsYXJpdHkKCjIwMTQtMDUtMDkgMTE6NTY6NTIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMnBvb2w6IEZpeCBsZWFrIG9mIGNvbmZpZyBzdHJ1Y3R1cmUgaW4gZXJyb3IgY2FzZQoJICBDSURzIDEyMTIxNjcgYW5kICAxMjEyMTY3CgoyMDE0LTA1LTA5IDExOjUxOjI2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRml4IHVzZSBvZiB1bml0aWxpemVkIHBvb2wgcG9pbnRlcgoJICBDSUQgIzEyMTIxNzMKCjIwMTQtMDUtMDkgMTY6NDg6NTggKzAyMDAgIEVyaWMgVHJvdXNzZXQgPGV0cm91c3NldEBhd294LmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkb24ndCByZXNwb25kIHRvIGEgcG9zaXRpb24gcXVlcnkgaW4gQllURSBmb3JtYXQgd2l0aCBhIFRJTUUgcG9zaXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTU1MwoKMjAxNC0wNS0wOSAxNDoyMjo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYWRlbXV4OiBkb24ndCBsZWFrIGRvY3R5cGUgc3RyaW5nIGluIGVycm9yIGNvZGUgcGF0aAoJICBDSUQgMTIxMjE0NS4KCjIwMTQtMDUtMDYgMTM6Mzc6NDcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBSZWFkYmFjayBwb29sIGNvbmZpZyBpZiB1c2VkIHdpdGhpbiB0aGUgYmFzZWNsYXNzCgoyMDE0LTA1LTA2IDEyOjU4OjU5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDI6IFJlcGxhY2UgbWlzcy11c2Ugb2YgY3JvcCBtZXRhIGluIGZhdm91ciBvZiBwcm9wZXIgb2Zmc2V0CgkgIFRoaXMgbW92ZXMgYXdheSBmcm9tIGNvcHlpbmcgaW5mb3JtYXRpb24gYW5kIHN0b3JlIGV2ZXJ5dGhpbmcgaW5zaWRlCgkgIHRoZSBHc3RWaWRlb0luZm8gc3RydWN0dXJlLiBUaGUgYWxpZ25lbWVudCBleHBvc2VkIGJ5IHY0bDIgYXBpCgkgIGlzIG5vdyBoYW5kbGVkIHVzaW5nIHByb3BlciBvZmZzZXQuCgoyMDE0LTA1LTA2IDEyOjU1OjMwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMm9iamVjdDogU3R5bGUgZml4CgoyMDE0LTA1LTA1IDEyOjM4OjMzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSAgdjRsMmFsbG9jYXRvcjogUmVzZXQgaW1wb3J0ZWQgYnVmZmVyIHNpemUgd2l0aCBleHBlY3RlZCBzaXplCgkgIFRoaXMgZW5zdXJlIHRoYXQgdGhlIGJ1ZmZlciBwb29sIHdvbid0IGFsd2F5cyBkaXNjYXJkIGJ1ZmZlciB3aXRoIHRoZXNlCgkgIG1lbW9yeSB3aGVuIHRoZXkgYXJlIHJlbGVhc2VkLgoKMjAxNC0wNS0wNSAxMjozNzo0MyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIHY0bDJhbGxvY2F0b3I6IFJlc2V0IGZsdXNoZWQgZ3JvdXAKCSAgVGhpcyBlbnN1cmUgdGhhdCBhIGZsdXNoZWQgZ3JvdXAgbWVtb3J5IGFyZSB0aGUgc2FtZSBzaXplIGFzIHdoZW4gdGhleQoJICB3aGVyZSBvcmlnaW5hbGx5IGFsbG9jYXRlZCAvIGltcG9ydGVkLgoKMjAxNC0wNS0wNSAxMjowNzozMSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJICB2NGwyYnVmZmVycG9vbDogR2V0IG51bWJlciBvZiBhbGxvY2F0ZWQgYnVmZmVycyBmcm9tIGFsbG9jYXRvcgoJICBUaGUgdmFsdWUgb2YgbnVtX2FsbG9jYXRlZCBidWZmZXIgd291bGQgZ2V0IGNvbmZ1c2VkIHdoZW4KCSAgYnVmZmVyIGFyZSBiZWluZyBkaXNjYXJkZWQuCgoyMDE0LTA1LTA1IDEyOjA2OjQ0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5oOgoJICB2NGwyYWxsb2NhdG9yOiBBZGQgYSBtZXRob2QgdG8gcmVhZCBudW1iZXIgb2YgYWxsb2NhdGVkIGdyb3VwCgoyMDE0LTA1LTA0IDIwOjIzOjQyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBJbXByb3ZlIGRlYnVnZ2luZwoKMjAxNC0wNS0wNCAxOTo1MTo0OCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJICB2NGwyYnVmZmVycG9vbDogRW5zdXJlIHdlIGRvbid0IHJlLWVucXVldWUgYnVmZmVyIGR1cmluZyBmbHVzaAoKMjAxNC0wNS0wNCAxOToxMzozNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IEluaXRpbGlhbGl6ZSBkZWJ1ZyBjYXRlZ29yeQoKMjAxNC0wNS0wNCAxNjoxMTowOSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIHY0bDJhbGxvY2F0b3I6IEZpeCBsaWJ2NGwyIHN1cHBvcnQKCSAgTmVlZCB0byBpbmNsdWRlIGNvbmZpZy5oLCBvdGhlcndpc2Ugd2UgZW5kdXAgZGlyZWN0bHkgdXNpbmcgdGhlCgkgIGlvY3QvbW1hcC9tdW5tYXAgY2FsbHMgYW5kIG5lZWQgdG8gdmFsbCB2NGwyX211bm1hcC4KCjIwMTQtMDUtMDEgMTM6MDQ6MDggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSAgdjRsMmFsbG9jYXRvcjogU2V0IHRoZSBmbGFncyBvbiB0aGUgb2JqZWN0CgkgIFdlIHdoZXJlIG5vdCBzZXR0aW5nIHRoZSBwcm9iZWQgZmxhZ3Mgb24gdGhlIGFsbG9jYXRvciwgd2hpY2ggbWVhbiBldmVuIGlmCgkgIENSRUFURV9CVUZTIHdhcyBzdXBwb3J0ZWQgb24gc29tZSBkcml2ZXIsIGl0IHdvdWxkIGVuZHVwIGJlaW5nIGlnbm9yZWQuCgoyMDE0LTA0LTI5IDE2OjQ5OjUyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogUmUtZW5xdWV1ZSBidWZmZXIgYXQgc3RyZWFtIHN0YXJ0CgoyMDE0LTA0LTI5IDE2OjA2OjAwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIHY0bDJhbGxvY2F0b3I6IFRoZXJlIGlzIG5vdCBncm91cCBvbiBlcnJvcgoKMjAxNC0wNC0yOSAxNDo1NjozMSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBIYW5kbGUgRkxVU0hfU1RPUCBldmVudAoKMjAxNC0wNC0yOSAxMzowNTo0MSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IEFjcXVpcmUgY2Fubm90IHJldHVybiBhIGJ1ZmZlciBmcm9tIGFub3RoZXIgcG9vbAoJICBSZXR1cm4gYSBidWZmZXIgZnJvbSBhbiBvdGhlcnBvb2wgaGFzIHVud2FudGVkIHNpZGUgZWZmZWN0cyB0aGF0IGxlYWQgdG8gbGVha3MgYW5kCgkgIHByZXZlbnRzIGRlYWN0aXZhdGluZyB0aGUgcG9vbC4gSW5zdGVhZCwgd2UgY2hhbmdlIHRoZSBfcHJvY2VzcygpIEFQSSBzbyBpdCBjYW4KCSAgcmVwbGFjZSB0aGUgaW50ZXJuYWwgYnVmZmVyIHdpdGggdGhlIGJ1ZmZlciBmcm9tIHRoZSBkb3duc3RyZWFtIHBvb2wuIFRoaXMgaW1wbGllZAoJICBtb3ZpbmcgZnJvbSBfZmlsbCgpIHRvIF9jcmVhdGUoKSBtZXRob2QgaW4gdGhlIHNyYy4KCjIwMTQtMDQtMjkgMTM6MDA6MzIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBSZW1vdmUgdW5yZWFjaGVkIGFjcXVpcmUgY29kZQoJICBUaGUgYWNxdWlyZSBpcyBkb25lIGluIF9wcmVwYXJlIG5vdy4KCjIwMTQtMDQtMjkgMTI6NTc6MDggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBTYW5ldGl6ZSBidWZmZXIgcmVmb3VudCBoYW5kbGluZwoJICBCdWZmZXIgcmVmY291bnRpbmcgaXMgYSBiaXQgaGFyZCwgYmVjYXVzZSBvZiB0aGUgZHVhbGl0eSBiZXR3ZWVuIENBUFRVUkUgYW5kCgkgIE9VVFBVVCBtb2RlLiBJbiB0aGUgbG9uZyB0ZXJtLCB3ZSBzaG91bGQgY29uc2lkZXIgaGF2aW5nIHR3byBzZXBlcmF0ZSBwb29sCgkgIGluc3RlYWQgb2YgdGhpcyBtZXNzLiBBdCBsZWFzdCBzdGF0ZSBzaG91bGQgYmUgYmV0dGVyIGtlcHQgdGhpcyB3YXkuCgoyMDE0LTA0LTI5IDEyOjQ4OjA0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IEFkZCBtb3JlIHRyYWNlcwoKMjAxNC0wNC0yOCAwODo0ODoyNiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmg6CgkgIHY0bDItYWxsb2NhdG9yOiBBZGQgUyB0byBSRVFCVUZTL0NSRUFURV9CVUZTIGVudW0KCSAgQWxsIGVudW0gdGhhdCBoYXMgUkVRQlVGUyBhbmQgQ1JFQVRFX0JVRlMgd2hlcmUgbWlzc2luZyBTLCB3aGljaCB3YXMKCSAgY29uZnVzaW5nIHNpbmNlIHRoZXkgYXJlIHN1cHBvc2VkIHRvIG1hdGNoIHdpdGggYXNzb2NpY2F0ZWQgaW9jdGwgbmFtZS4gVGhpcwoJICBhbHNvIGZpeGVzIHRoZSB5ZXQgdW51c2VkIENBTl9SRVFVRVNUIGZsYWcgY2hlY2suCgoyMDE0LTA0LTE4IDE3OjUxOjA3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IEVuYWJsZWQgUW9TCgoyMDE0LTA0LTE4IDE3OjAyOjUwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogRml4dXAgVVNFUlBUUi9ETUFCVUYgY2FwdHVyZSBzdXBwb3J0CgoyMDE0LTA0LTE4IDE0OjQ1OjAwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IEltcHJvdmUgc2VsZWN0b24gb2YgbWluL21heCBpbiBkZWNpZGUgYWxsb2NhdGlvbgoKMjAxNC0wNC0xOCAxMzowOTowMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IFVwZGF0ZSBjb25maWcgaWYgbWV0YSBpcyBtaXNzaW5nCgkgIFJhdGhlciB0aGVuIGhhcmQgZmFpbHVyZSwgd2Ugc2hvdWxkIHVwZGF0ZSB0aGUgY29uZmlnIHdpdGggdGhlIG1ldGEgb3B0aW9uIHdlCgkgIG5lZWQgYW5kIHJldHVybiBmYWxzZS4KCjIwMTQtMDQtMTEgMTc6MTA6MTEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMjogQWRkIERNQUJVRiBhbmQgVVNFUlBUUiBpbXBvcnRhdGlvbgoKMjAxNC0wNC0xNyAyMTo0NTo1OCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJICB2NGwyYWxsb2NhdG9yOiBWYWxpZCBGRCBhcmUgYmlnZ2VyIG9yIGVxdWFsIHRvIHplcm8KCjIwMTQtMDQtMTYgMTc6MDQ6NDIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRG9uJ3QgbGVhayBkb3duc3RyZWFtIHBvb2wgaW4gcHJvcG9zZV9hbGxvY2F0aW9uCgkgIHBhcnNlX250aF9hbGxvY2F0aW9uX3Bvb2woKSBnaXZlIGEgcmVmIG9uIHRoZSBwb29sLCB3ZSBuZWVkIHRvIHVucmVmIGl0CgkgIHdoZW4gZG9uZS4KCjIwMTQtMDQtMTQgMTI6MTk6MzkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyOiBJbnRyb2R1Y2UgRE1BQlVGX0lNUE9SVCBJTyBtb2RlCgoyMDE0LTA0LTEwIDE2OjI2OjM0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogQWRkIGRtYWJ1ZiBleHBvcnQgc3VwcG9ydAoJICBUaGlzIGNhbiBiZSBlbmFibGVkIHNpbmcgaW8tbW9kZT1kbWFidWYuIFRoaXMgd2lsbCBlbmFibGVkIG1tYXAgYmFzZQoJICBkcml2ZXJzIHRvIGV4cG9ydCB0aGUgYnVmZmVycyBhcyBkbWFidWYuCgoyMDE0LTA0LTE2IDE1OjUxOjAzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIHY0bDJhbGxvY2F0b3I6IEd1YXJhbnR5IHF1ZXVlZCBzdGF0ZSBpbnRlZ3JldHkKCSAgQmVjYXVzZSBvZiB0aGUgYnVmIGluIHZpZGVvYnVmMiwgZHFidWYgbWF5IGxlYXZlIHRoZSBET05FIGZsYWcgYmVpbmcsCgkgIHdoaWNoIHdvdWxkIGltcGxpZWQgdGhhdCB0aGUgYnVmZmVyIGlzIHF1ZXVlZC4gQXMgdGhpcyBoYXMgYmVlbiBicm9rZW4KCSAgZm9yIDQgeWVhcnMsIHNpbXBseSBndWFyYW50eSB0aGUgc3RhdGUgZmxhZ3MgaW50ZWdyaXR5IHdoZW4gZG9pbmcKCSAgcWJ1Zi9kcWJ1Zi4KCSAgU2VlIGh0dHBzOi8vcGF0Y2h3b3JrLmxpbnV4dHYub3JnL3BhdGNoLzIzNjQxLwoKMjAxNC0wNC0xNSAxNzozMTo0MiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBJbXBsZW1lbnQgb3Blbi9jbG9zZQoKMjAxNC0wNC0xNSAxNjo0Mzo0MSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBFbnN1cmUgb3V0cHV0IHBvb2wgaXMgY29uZmlndXJlZAoKMjAxNC0wNC0xNSAxNjo0MzoxNSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmg6CgkgIHY0bDJ0cmFuc2Zvcm06IENoZWNrIGlmIGNhcHMgaGF2ZSBjaGFuZ2VzIGJlZm9yZSBhc3NlcnRpbmcKCSAgSW4gc2V0X2NhcHMsIG5vdyBjaGVja3MgaWYgY2FwcyBhY3R1YWxseSBjaGFuZ2VkIGFuZCBzdWNjZWVkIGlmIHRoZXkgZGlkbid0CgkgIGNoYW5nZS4KCjIwMTQtMDQtMTUgMTY6NDE6NDYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IEVuc3VyZSBwb29sIGlzIGNvbmZpZ3VyZWQKCjIwMTQtMDQtMDggMTg6NTQ6MDkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogQWx3YXlzIHNldCBhIHNpemUgd2hlbiBkZWNpZGluZyBhbGxvY2F0aW9uCgoyMDE0LTA0LTA4IDE4OjIwOjI1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IEltcHJvdmVkIGRlY2lkZSBhbGxvY2F0aW9uCgkgIEltcHJvdmUgZGVjaWRlIGFsbG9jYXRpb24gc28gaXQgcHJvcGVybHkgY29uZmlndXJlIGJvdGggbG9jYWwgYW5kIGRvd25zdHJlYW0KCSAgYnVmZmVyIHBvb2xzLiBBbHNvIHJlYWQgYmFjayB0aGUgcG9vbCBjb25maWcgaWYgaXQgd2FzIGNoYW5nZWQgdG8gdG8gZHJpdmVyCgkgIGxpbWl0YXRpb25zLgoKMjAxNC0wNC0xNSAxMzozMDowMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IERvIG5vdCBwcmUtY29uZmlndXJlIHRoZSBwb29sCgkgIFByZS1jb25maWd1cmluZyB0aGUgcG9vbCBpcyBlcnJvciBwcm9uZSwgc2luY2UgaXQgbWF5IGhpZGUgYSBjb25maWd1cmF0aW9uIGZhaWx1cmUgYW5kCgkgIGVuZHVwIHdpdGggYSBwb29sIHRoYXQgaXMgbm90IGNvbmZpZ3VyZWQgdGhlIHdheSBpdCBzaG91bGQgKGUuZy4gbm8gdmlkZW8gbWV0YSwgd3JvbmcKCSAgcXVldWUgc2l6ZSwgZXRjLikKCjIwMTQtMDQtMTUgMTM6MjM6MzMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBQcmVzZXJ2ZSBkb3duc3RyZWFtIG1pbmltdW0gZXZlbiBpbiBSVwoKMjAxNC0wNC0xNSAxMzoyMDoxMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSAgdjRsMmJ1ZmZlcnBvb2w6IFR1cm4gY3JvcG1ldGEgaW50byBhIGN1c3RvbSBvcHRpb24KCSAgVHVybiBjcm9wIG1ldGEgaW50byBhIGN1c3RvbSBvcHRpb24gYW5kIG1ha2Ugc3VyZSBpdCdzIHRoZXJlIGlzIG5lZWRlZC4KCjIwMTQtMDQtMDkgMTI6NTM6MTkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IEVhcmx5IGNhdGNoIHNob3J0IGFsbG9jYXRpb24KCSAgQ2F0Y2ggc2hvcnQgYWxsb2NhdGlvbiBhZnRlciBzYXZpbmcgdGhlIGZvcm1hdC4gVGhpcyBpcyBub3QgYSBjYXRjaCBhbGwsIGJ1dCBzaG91bGQgY2F0Y2gKCSAgbW9zdCBvZiB0aGUgbWlzcy1iZWhhdmluZyBkcml2ZXJzIHdoZW4gZG9pbmcgU19GTVQvR19GTVQgYW5kIGF2b2lkIHBvdGVudGlhbCBjcmFzaC4KCjIwMTQtMDQtMDQgMjI6NDY6NDAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkgIHY0bDJidWZmZXJwb29sOiBQb3J0IHRvIHVzZSBHc3RWNGwyQWxsb2NhdG9yCgoyMDE0LTA0LTA0IDIyOjM1OjQ4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmg6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSAgSW1wbGVtZW50IFY0bDIgQWxsb2NhdG9yCgkgIFRoaXMgZ29hbCBvZiB0aGlzIGFsbG9jYXRvciBpcyBtYWlubHkgdG8gYWxsb3cgdHJhY2tpbmcgdGhlIG1lbW9yeS4KCSAgQ3VycmVudGx5LCB3aGVuIGEgYnVmZmVyIG1lbW9yeSBoYXMgYmVlbiBtb2RpZmllZCwgdGhlIGJ1ZmZlciBhbmQgaXQncwoJICBtZW1vcnkgaXMgZGlzcG9zZWQgYW5kIGxvc3QgdW50aWwgdGhlIHN0cmVhbSBpcyByZXN0YXJ0ZWQuCgoyMDE0LTA0LTE2IDE2OjM1OjQ5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IERvbid0IGFkdmVydGlzZSBjcm9wIG1ldGEKCSAgQ3VycmVudGx5IHdlIGFkdmVydGlzZSBjcm9wIG1ldGEsIGJ1dCBub3QgZWxlbWVudCBoYW5kbGUgc3VwcG9ydCB0aGlzIG1ldGEuCgoyMDE0LTA0LTA4IDE4OjE4OjU3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IFNldHVwIHBvb2wgYWxyZWFkeSBzZW5kIGVsZW1lbnQgZXJyb3IKCjIwMTQtMDQtMDggMTg6MTc6MzEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogV29ya2Fyb3VuZCBkZWNvZGVyIHRoYXQgc2V0IG51bV9wbGFuZXMgdG8gMCBpbiB0aGUgZm9ybWF0CgkgIFNvbWUgd2VsbCBrbm93biBkZWNvZGVyIHdyb25nbHkgc2V0IG51bV9wbGFuZXMgdG8gMCBpbiB0aGVpciBmb3JtYXQgaW5zdGVhZCBvZgoJICBvbmUuIEluIHRoaXMgY2FzZSB3ZSB3b3VsZCBlbmR1cCB3aXRoIG5vIHNpemUgd2hlbiBkZWNpZGluZyBidWZmZXIgYWxsb2NhdGlvbi4KCjIwMTQtMDQtMDggMTc6MzQ6MTkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRW5zdXJlIHNpemUgYmVmb3JlIGNvbmZpZ3VyaW5nIHRoZSBwb29sCgoyMDE0LTA0LTA0IDIyOjM4OjA1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDJvYmplY3Q6IFNldCBtaW5pbXVtIGJ1ZmZlcnMgdG8gMgoJICBBbGwgdGhlIGVsZW1lbnQgcmVxdWlyZXMgYXQgbGVhc3QgdHdvIGJ1ZmZlcnMuIFRoaXMgaXMgbm90IHVzZWQgZm9yIFJXIG1vZGUuCgoyMDE0LTA0LTA0IDIyOjM3OjE0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDJvYmplY3Q6IFJlbW92ZSB1bnVzZWQgTUFYX0JVRkZFUlMgZGVmaW5lCgoyMDE0LTA0LTA0IDIyOjM2OjM3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IERvbid0IGhhcmRjb2RlIG1pbi9tYXggdXNlIGRlZmF1bHQgaW5zdGVhZAoKMjAxNC0wNC0xMCAxNzo0OTo0MSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBJbnN0YWxsIFBST1BfQ0FQVFVSRV9JT19NT0RFIHdpdGggcmlnaHQgSUQKCjIwMTQtMDQtMDggMTg6NTQ6NTAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogZGVjaWRlX2FsbG9jYXRpb24gcmV0dXJucyBhIGJvb2xlYW4KCjIwMTQtMDQtMTAgMTc6NDk6MjkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IEluc3RhbGwgUFJPUF9DQVBUVVJFX0lPX01PREUgd2l0aCByaWdodCBJRAoKMjAxNC0wMy0yNyAxMzoyMToyNSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBBZGQgcHJvcG9zZV9hbGxvY2F0aW9uCgkgIFRoaXMgc2hvdWxkIHJlbW92ZSAxIGNvcHkgYmV0d2VlbiB0aGUgZGVjb2RlciBhbmQgdGhlIHRyYW5zZm9ybS4KCjIwMTQtMDMtMjcgMTM6MjA6NTMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyOiBNb3ZlIHByb3Bvc2UgYWxsb2NhdGlvbiB0byB2NGwyb2JqZWN0CgoyMDE0LTAzLTIwIDE3OjI2OjA1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IEZpeHVwIGNhcHMgcXVlcnkKCjIwMTQtMDMtMjAgMTU6MzE6MjIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IFNldHVwIGNyb3BwaW5nIGlmIG5lZWRlZAoKMjAxNC0wMy0xOSAxNzoyNToxNiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJICB2NGwydHJhbnNmb3JtOiBFeHBvc2UgQkdSQSBhbmQgQVJHQiBmb3JtYXRzCgoyMDE0LTAzLTE4IDE3OjMzOjM4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IEVuc3VyZSBvdXRwdXQgcG9vbCBpcyBhY3RpdmF0ZWQKCSAgVGhhdCBwb29sIG1heSBiZSBkaWZmZXJlbnQgdGhlbiB0aGUgaW50ZXJuYWwgcG9vbC4KCjIwMTQtMDMtMTYgMTk6MTE6MTYgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogRW5zdXJlIGludGVybmFsIGJ1ZmZlciBwb29scyBhY3RpY2F0aW9uCgoyMDE0LTAzLTE2IDExOjM2OjE5ICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IE1vdmUgc3ViaW5zdGFuY2Ugc3ViY2xhc3MgaW5pdCBuZWFyIG90aGVyIGluaXQKCjIwMTQtMDMtMTUgMTg6NTY6NTEgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogU3RvcCBzdHJlYW0gYmVmb3JlIGNsb3NpbmcgdGhlIGRldmljZXMuCgoyMDE0LTAzLTE1IDE2OjUzOjU0ICswMDAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogY29weSBtZXRkYXRhCgoyMDE0LTAzLTA0IDE4OjMxOjI3IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5oOgoJICBJbXBsZW1lbnQgR3N0VjRsMlRyYW5zZm9ybQoJICBJbXBsZW1lbnQgYSB2NGwyIGVsZW1lbnQgdGhhdCB3cmFwcyBIVyB2aWRlbyBjb252ZXJ0ZXJzLgoKMjAxNC0wMy0yNyAxODo0MTowNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDI6IFByb2JlIGZvciBDUkVBVEVfQlVGUyBpbiBvcmRlciB0byBjb3JyZWN0bHkgc2V0IHBvb2wgbWluL21heAoJICBJbiBvcmRlciB0byBjb3JyZWN0bHkgc2V0IHRoZSBwb29sIG1pbi9tYXgsIHdlIG5lZWQgdG8gcHJvYmUgZm9yIENSRUFURV9CVUZTCgkgIGlvY3RsLiBUaGlzIGNhbiBiZSBkb25lIGFzIHNvb24gYXMgdGhlIGZvcm1hdCBoYXMgYmVlbiBuZWdvdGlhdGVkIHVzaW5nIGEKCSAgY291bnQgb2YgMC4KCjIwMTQtMDMtMjUgMTU6MjE6MDMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwyOiBNb3ZlIGNhcHR1cmUgZW9zIGhhbmRsaW5nIGluIF9wcm9jZXNzKCkKCSAgTm93IHRoYXQgd2UgbWlnaHQgYmUgY29weWluZyBvdXQgYnVmZmVyIChlLmcuIGRvd25zdHJlYW0gZG9uJ3Qgc3VwcG9ydCB2aWRlbwoJICBtZXRhIGJ1ZyB3ZSBuZWVkIGl0KSB3ZSBuZWVkIHRvIG1vdmUgdGhlIEVPUyBoYW5kbGluZyBpbnNpZGUgdGhlIHByb2Nlc3MKCSAgbWV0aG9kLgoKMjAxNC0wMy0yNSAxMDo0OTozOSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBGaXggc3VwcG9ydCBmb3IgcGxhbmFyIGZvcm1hdCBpbiAxIHY0bDIgbXBsYW5lCgkgIFNvIGZhciB3ZSB3aGVyZSBvbmx5IHNldHRpbmcgc2F2aW5nIHRoZSBmaXJzdCBwbGFuZSBzdHJpZGUgaW4gdGhlIG1ldGEuIFRoaXMgd2FzCgkgIGxlYWRpbmcgdG8gd3JvbmcgdmFsdWVzIGluIEdzdFZpZGVvTWV0YS4KCjIwMTQtMDMtMTkgMTc6NTI6MDggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IENsZWFubHkgZmFpbCBpZiBzZXRfZm9ybWF0IGlzIG5ldmVyIGNhbGxlZAoKMjAxNC0wMy0xOSAxNzowMDo1NiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogRXhwb3NlIFJHQjMyIGZvcm1hdHMgd2l0aCBhbmQgd2l0aG91dCBhbHBoYQoJICBBcyBzb29uIGEgdGhlIGFscGhhIGNvbXBvbmVudCBjYW4gYmUgc2V0LCB3ZSBjYW4gZXhwb3NlIHRoZSBSR0IzMiBhbmQgQkdSMzIKCSAgZm9ybWF0IGFzIEFSR0IgYW5kIEJHUkEgYXMgbG9uZyB3ZSBjYW4gZGV0ZXJtaW5pc3RpY2FsbHkgc2V0IHRoZSBhbHBoYSBwYWRkaW5nCgkgIHZhbHVlLgoKMjAxNC0wMy0xOCAxNTo0OTo0OSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBDb3JyZWN0bHkgY2hlY2sgaWYgdmlkZW8gbWV0YSBpcyBuZWVkZWQKCSAgQ29ycmVjdGx5IGNoZWNrIGlmIHZpZGVvIG1ldGEgaXMgbmVlZGVkLiBJbiBidWZmZXIgcG9vbCwgdHJ1c3QgbmVlZF92aWRlb19tZXRhCgkgIGZsYWcgaW4gb3JkZXIgdG8gZGVjaWRlIGlmIGNvbmZpZ3VyYXRpb24gc2hvdWxkIHN1Y2NlZWQuCgoyMDE0LTAzLTE4IDE1OjQ1OjE4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IEZpeCB0aWxlZCBzdHJpZGUgcmVxdWVzdAoJICBGaXggc3RyaWRlIHJlcXVlc3QgZm9yIHRpbGVkIGZvcm1hdCBhbmQgaW1wcm92ZSBsb2dnaW5nLgoKMjAxNC0wMy0xOCAxMTo1Mzo1NyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBFbnN1cmUgdmlkZW8gYW5kIGNyb3AgbWV0YSBhcmUgZW5hYmxlZCBpZiBuZWVkZWQKCSAgSW4gY2VydGFpbiBjYXNlcyB3ZSBjYW5ub3QgbGl2ZSB3aXRob3V0IHZpZGVvIG1ldGEgYW5kL29yIGNyb3AgbWV0YQoJICBiZWluZyBlbmFibGVkIGluIG91ciBpbnRlcm5hbCBidWZmZXIgcG9vbC4gRW5zdXJlIHRoaXMgaXMgYWx3YXlzIHRoZSBjYXNlLAoJICByZWdhcmRsZXNzIG9mIGhhdmluZyBzdXBwb3J0IGZvciBhbGxvY2F0aW9uIHF1ZXJ5LgoKMjAxNC0wMy0xNiAxODozOTozMiArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogRW5zdXJlIGludGVybmFsIHBvb2wgYXJlIGFjdGl2YXRlZAoKMjAxNC0wMy0xNiAxNzowMToxMCArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogQ2hlY2sgdGhhdCBwb29sIHdoZXJlIGFsbG9jYXRlZCBiZWZvcmUgZmx1c2hpbmcgdGhlbQoJICBVcG9uIGVycm9yLCB0aGUgcG9vbHMgbWlnaHQgbm90IGhhdmUgYmVlbiBhbGxvY2F0ZWQgeWV0LCBoZW5jZSB3ZSBzaG91bGQgbm90CgkgIHRyeSBhbmQgZmx1c2ggdGhlbSAoZXZlbiB0aG91Z2ggd2Ugc3RpbGwgd2FudCB0byBtYWtlIHN1cmUgdGhlIHByb2Nlc3NpbmcgdGhyZWFkCgkgIGlzIGZ1bGx5IHN0b3BwZWQpLgoKMjAxNC0wMy0xNiAxNjo1NTo0MyArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IEVuZm9yY2UgYWN0aXZhdGlvbiBvdXRzaWRlIG9mIHByb2Nlc3MKCSAgRW5mb3JjZSBwb29sIGJlaW5nIGFjdGl2YXRlIGZyb20gYmVmb3JlIGNhbGxpbmcgcG9vbCBwcm9jZXNzLiBUaGlzIHNob3VsZAoJICBoZWxwIGNhdGNoaW5nIGJhc2ljIGVycm9ycyBpbiB0aGUgdXNhZ2Ugb2YgYnVmZmVyIHBvb2wuCgoyMDE0LTAzLTE2IDEyOjQ0OjE0ICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IGRvbid0IHVzZSBvd24gcG9vbCBpZiBkb3duc3RyZWFtIGRvbid0IHN1cHBvcnQgdmlkZW8gbWV0YQoKMjAxNC0wMy0xNCAwMDozMTozMiArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IFVzZSBvYmotPm5fdjRsMl9wbGFuZXMgZm9yIGNvcnJlY3QgbnVtYmVyIG9mIHBsYW5lcwoJICBCdWZmZXIgcG9vbCB3YXMgZ3Vlc3Npbmcgd3JvbmdseSB0aGUgbnVtYmVyIG9mIHBsYW5lcyByYXRoZXIKCSAgdGhlbiByZWFkaW5nIHRoZSB2YWx1ZSBmcm9tIG9iai0+bl92NGwyX3BsYW5lcy4gVGhpcyB3YXMgY2F1c2luZwoJICBmb3JtYXQgWVUxMiAoSTQyMCkgdG8gZmFpbCB1cG9uIGNoZWNrLgoKMjAxNC0wMy0wNyAxNjozOToyOSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBGaXggaGFuZGxpbmcgb2YgY29udGl1b3VzIHZzIG5vbi1jb250aWd1b3VzIHN1cHBvcnQKCSAgVGhlIGNvbXBsZXggbWVjaGFuaWMgdG8gdHJ5IGFuZCBjaG9vc2UgdGhlIHJpZ2h0IHRoaW5nIGRpZCBub3Qgd29yay4gSW5zdGVhZCwKCSAgc2ltcGx5IHByb2JlIHRoZSBub24tY29udGlndW91cyBmb3JtYXQgZmlyc3QgYW5kIHRoZW4gdGhlIGNvbnRpZ3VvdXMgb25lLgoJICBUaGlzIGlzIGluIGZhY3QgdmVyeSBsb3cgb3ZlcmhlYWQsIGFzIHRoZXJlIGlzIGEgcmVsYXRpdmVseSBzbWFsbCBudW1iZXIgb2YKCSAgcGl4ZWwgZm9ybWF0IHN1cHBvcnRlZCBieSBlYWNoIGRldmljZXMuCgoyMDE0LTA0LTE1IDE1OjA3OjIzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmg6CgkgIHY0bDI6IEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIGFsaWdubWVudCBhbmQgY3JvcHBpbmcKCjIwMTQtMDMtMTMgMTk6MjQ6NTEgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMm9iamVjdDogUmVuYW1lIHNldHVwX2Zvcm1hdCgpIG1ldGhvZCBpbnRvIGFjcXVpcmVfZm9ybWF0KCkKCSAgVGhlIHNldHVwX2Zvcm1hdCgpIHdhcyBjb25mdXNpbmcgc2luY2UgaXQgZG9lcyBub3Qgc2V0IGFueXRoaW5nLCBpbiBmYWN0CgkgIGl0IHJlYWRzIHRoZSBzZXR1cCBmcm9tIHRoZSBkcml2ZXIgYW5kIHNhdmUgaXQuCgoyMDE0LTAzLTEzIDE4OjIxOjQxICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IE1vdmUgdHlwZSBkZWNsYXJhdGlvbiB0byB0aGUgdG9wCgoyMDE0LTAzLTEyIDE4OjA3OjM4ICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBQcm90ZWN0IE5VTEwgcG9vbCB3aGlsZSBnb2luZyB0byBSRUFEWQoJICBXaGVuIHRoZSBwaXBlbGluZSBmYWlscyBlYXJseSwgdGhlIHBvb2wgbWlnaHQgYmUgdW5zZXQgYmVmb3JlIHRoZSBwcm9jZXNzaW5nCgkgIHRocmVhZCBoYXMgcnVuIG9uY2UuIEFkZCBwcm90ZWN0aW9uIGFnYWluc3QgdGhhdC4KCjIwMTQtMDMtMTIgMTg6MDE6MDkgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRmFpbCBjbGVhbmx5IGlmIHBpeGVsIGZvcm1hdCBpcyB1bmtvd24gb3Igbm90IHJhdyB2aWRlbwoJICBDZXJ0YWluIGRlY29kZXIgaGFzIGJlZW4gZm91bmQgdG8gbm90IGNob29zZSBhIGZvcm1hdCBhdXRvbWF0aWNhbGx5LiBSdW5uaW5nCgkgIHY0bDJ2aWRlb2RlYyBvbiB0aGVzZSB3b3VsZCBhc3NlcnQuIFRoaXMgcGF0Y2ggd2lsbCBtYWtlIGl0IGZhaWwgY2xlYW5seQoJICBpbnN0ZWFkLgoKMjAxNC0wMy0xMiAxNzo1NjoxOCArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogQ2xlYXIgdGhlIGlucHV0IHN0YXRlIHBvaW50ZXIgYWZ0ZXIgdW5yZWYKCSAgSWYgY2FwcyBhcmUgc2V0IGFnYWluLCB3ZSBoYXZlIGEgcmlzayBvZCByZXR1cm5pbmcgZnJvbSBzZXRfZm9ybWF0IHdpdGggYQoJICBpbnB1dF9zdGF0ZSBwb2ludGluZyB0byBkZWFkIG1lbW9yeS4gQ2xlYXJpbmcgdGhlIHBvaW50ZXIgYWZ0ZXIgdW5yZWYgZml4CgkgIHRoaXMgaXNzdWUuCgoyMDE0LTAzLTEyIDE3OjExOjE2ICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBoYW5kbGUgc3RvcCBiZWluZyBjYWxsZWQgd2l0aG91dCBmbHVzaAoJICBVcHBvbiBjZXJ0YWluIGRvd25zdHJlYW0gZXJyb3IsIHN0b3AoKSBpcyBjYWxsZWQgd2l0aG91dCBhIGZsdXNoKCkuIFRoaXMgbWVhbiB0aGF0CgkgIHRoZSBzdHJlYW1pbmcgdGhyZWFkIG1heSBzdGlsbCBiZSBydW5uaW5nIGV2ZW4gdGhvdWdoIHVubG9jayBoYXMgYmVlbiBjYWxsZWQuCgkgIE5vdyBjYWxsaW5nIGZsdXNoIHRvIHJlc2V0IHRoZSBkZWNvZGVyIHN0YXRlIGlmIHdlIGFyZSBwcm9jZXNzaW5nLgoKMjAxNC0wMy0wNiAxODoxMzoxNCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogRGVmYXVsdCB0byB0ZW1wbGF0ZSBpbiBjYXBzIHF1ZXJ5CgoyMDE0LTAzLTExIDE0OjIzOjMyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBFbnN1cmUgcHJvY2Vzc2luZyB0aHJlYWQgaGFzIHN0b3BwZWQgd2hlbiBkcmFpbmluZwoKMjAxNC0wMy0xMSAxNDowMToyNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogRG9uJ3QgZHJhaW4gaWYgcHJvY2Vzc2luZyB0aHJlYWQgaXMgaW5hY3RpdmUKCjIwMTQtMDUtMDggMDk6NDk6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogQ2xlYW4gdXAgYWxsIHBlbmRpbmcgb3BlcmF0aW9ucyBmcm9tIGxpYnNvdXAgYmVmb3JlIHVucmVmZmluZyBvdXIgY29udGV4dAoJICBXaGVuIHdlIGNhbmNlbCBjb25uZWN0aW9uIGF0dGVtcHRzIGFuZCBzaW1pbGFyIHRoaW5ncywgdGhlcmUgYXJlIHN0aWxsCgkgIHNvbWUgb3BlcmF0aW9ucyBwZW5kaW5nIG9uIG91ciBtYWluIGNvbnRleHQgZnJvbSB0aGUgR0NhbmNlbGxhYmxlcy4gV2UKCSAgc2hvdWxkIGxldCB0aGVtIGFsbCBydW4gYmVmb3JlIHVucmVmZmluZyBvdXIgY29udGV4dCwgb3RoZXJ3aXNlIHdlIGxlYWsKCSAgZmlsZSBkZXNjcmlwdG9ycy4KCSAgVW5mb3J0dW5hdGVseSB0aGlzIHJlcXVpcmVzIGxpYnNvdXAgMi40Ny4wIG9yIG5ld2VyIGFzIGVhcmxpZXIgdmVyc2lvbnMKCSAgc3RlYWwgb3VyIG1haW4gY29udGV4dCBmcm9tIHVzIGFuZCB3ZSBjYW4ndCB1c2UgaXQgZm9yIGNsZWFudXAgbGF0ZXIKCSAgd2l0aG91dCBhc3NlcnRpb25zIGFuZCBmdW5ueSBjcmFzaGVzLgoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5IERtaXRyeSBTaGF0cm92IDxzaGF0cm92QGdtYWlsLmNvbT4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM5NDQKCjIwMTQtMDUtMDcgMTU6NDk6MzkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICB0ZXN0czogZml4IGNvbXBpbGF0aW9uIG9mIHNvdXBodHRwc3JjIHRlc3QgZm9yIGxpYnNvdXAgMi40MCBmb3IgcmVhbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3MzI5CgoyMDE0LTA1LTA3IDEzOjIzOjUwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgdGVzdHM6IGZpeCBjb21waWxhdGlvbiBvZiBzb3VwaHR0cHNyYyB0ZXN0IGZvciBsaWJzb3VwIDIuNDAKCSAgU09VUF9DSEVDS19WRVJTSU9OIHdhcyBvbmx5IGFkZGVkIGluIDIuNDEsIGJ1dCB3ZSBvbmx5CgkgIGRlcGVuZCBvbiAyLjQwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3MzI5CgoyMDE0LTA1LTA3IDAwOjU4OjE1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBza2lwIFBJQ1RVUkUgaGVhZGVycyB3aXRob3V0IGFueSBpbWFnZSBkYXRhCgkgIEZpeGVzIHdhcm5pbmcgaWYgdGhlIGltYWdlIGxlbmd0aCBpcyAwLgoKMjAxNC0wNS0wNiAwOToyMjoxOCArMDAwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogdXNlIFgxMSBkZXRlY3Rpb24gbWFjcm8gZnJvbSBjb21tb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTYyMQoKMjAxNC0wNC0zMCAxMToxMzoxMiArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL1JFQURNRToKCSAgcnRwL1JFQURNRTogdXBkYXRlIHBpcGVsaW5lcyB0byB3b3JrIHdpdGggMS4wCgkgIC0gVXNlIGdzdC1saWJhdiBlbmNvZGVycy9kZWNvZGVycyBpbnN0ZWFkIG9mIGdzdC1mZm1wZWcKCSAgLSBnc3RydHBqaXR0ZXJidWZmZXIgLT4gcnRwaml0dGVyYnVmZmVyCgkgIC0gZ3N0LWxhdW5jaC0wLjEwIC0+IGdzdC1sYXVuY2gtMS4wCgkgIC0gQWRkICd2aWRlb2NvbnZlcnQnIGVsZW1lbnQKCSAgLSB4dmltYWdlc2luayAtPiBhdXRvdmlkZW9zaW5rCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjkyNDcKCjIwMTQtMDUtMDUgMTQ6NDE6MDUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSAgbWF0cm9za2E6IHJlamlnIHRlc3QgdG8gYXZvaWQgdW5kZWZpbmVkIHNoaWZ0IGJlaGF2aW9yCgkgIENvdmVyaXR5IDExOTUxMjEsIDExOTUxMjAKCjIwMTQtMDUtMDUgMTQ6MzM6MzggKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZweC9nc3R2cDllbmMuYzoKCSAgdnA5ZW5jOiBkbyBub3QgZGVyZWZlcmVuY2UgTlVMTCBwb2ludGVyCgkgIENvdmVyaXR5IDExOTc3MDMKCjIwMTQtMDUtMDUgMTQ6MzI6MDYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogZW5zdXJlIHdlIGRvbid0IGRlcmVmZXJlbmNlIGEgTlVMTCBwb2ludGVyCgkgIHdoaWxlIHdvcmtpbmcgb3V0IHRoZSBjb2RlYyBJRC4KCSAgQ292ZXJpdHkgMTE5NTE0OAoKMjAxNC0wNS0wNSAxMjowNzoyNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSAgdjRsMjogbWlub3IgZml4IGZvciBjbG9zaW5nIHRoZSBmZAoJICBUaGUgZmQgcmV0dXJuZWQgYnkgb3BlbigpIGNvdWxkIHRoZW9yZXRpY2FsbHkgYmUgMCBhcyB3ZWxsLgoJICBDb3Zlcml0eSBDSUQgMTIxMTgyMy4KCjIwMTQtMDUtMDQgMjA6MjM6MjkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQG9jcmV0ZS5jYT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGF1eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSAgcnRwYXV4L3J0cHJ0eDogTWFrZSB0ZXN0cyBub24tcmFjeQoJICBGaXggdGhlIHJhY2luZXNzIGJ5IGl0ZXJhdGluZyBvbiBhIGNvbmRpdGlvbiBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBnbWFpbmxvb3AuCgkgIERvbid0IHVzZSB0aGUgRU9TIGFzIHRoZSB0YXJnZXQsIG90aGVyd2lzZSB0aGUgcmV0cmFuc21pc3Npb24gb2YgdGhlIGxhc3QKCSAgcGFja2V0cyBhcmUgbG9zdC4gQWxzbyBjb3VudCB0aGUgcmV0cmFubWlzc2lvbnMgcmVxdWVzdHMgdGhhdCBhcmUgZHJvcHBlZC4KCSAgQ2hlY2sgdGhlIGNvbmRpdGlvbiBiZWZvcmUgYmxvY2tpbmcgb24gdGhlIEdDb25kCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg1MDEKCjIwMTQtMDUtMDQgMjI6MzI6NTQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQG9jcmV0ZS5jYT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHJlY2VpdmUuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cmVjZWl2ZS5oOgoJICBydHBydHhyZWNlaXZlOiBXYWl0IHVudGlsIHRpbWVvdXQgdG8gY2xlYXIgYXNzb2NpYXRpb24gcmVxdWVzdHMKCSAgSWYgdHdvIHN0cmVhbXMgcmVxdWVzdCBhIHJldHJhbm1pc3Npb24gZm9yIHRoZSBzYW1lIFNTUkMsIGlnbm9yZSB0aGUgc2Vjb25kCgkgIG9uZSBpZiB0aGUgZmlyc3Qgb2VuIGlzIGxlc3MgdGhhbiBvbmUgc2Vjb25kIG9sZCwgb3RoZXJ3aXNlIHRpbWUgb3V0IHRoZSBmaXJzdAoJICBvbmUgYW5kIGlnbm9yZSB0aGUgc2Vjb25kLgoKMjAxNC0wNS0wNCAxODo1OTozMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAb2NyZXRlLmNhPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJICBydHBtdXg6IEFsd2F5cyBsZXQgdXBzdHJlYW0gY2hvc2UgdGhlIHNzcmMgaWYgaXQgd2lzaGVzCgoyMDE0LTA1LTA0IDEzOjM3OjQ2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBhdm9pZCBzdGFsbCBieSBjb3JydXB0ZWQgc2VxbnVtIGFjY291bnRpbmcKCjIwMTQtMDUtMDQgMDE6MTQ6MzMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQG9jcmV0ZS5jYT4KCgkqIGV4dC9wdWxzZS9wdWxzZWRldmljZW1vbml0b3IuYzoKCSogZXh0L3B1bHNlL3B1bHNlZGV2aWNlbW9uaXRvci5oOgoJICBwdWxzZWRldmljZW1vbml0b3I6IEluZGV4IGFyZSBwZXIgZmFjaWxpdHksIG5vdCBnbG9iYWwKCSAgU28gbmVlZCB0byBrZWVwIHRoZSB0eXBlIG9mIGRldmljZSBpbiB0aGUgZGV2aWNlIG9iamVjdAoKMjAxNC0wNS0wNCAwMToxMzoyNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAb2NyZXRlLmNhPgoKCSogZXh0L3B1bHNlL3B1bHNlZGV2aWNlbW9uaXRvci5jOgoJICBwdWxzZWRldmljZW1vbml0b3I6IHBhX3N1YnNjcmlwdGlvbl9ldmVudF90IGFyZSBlbnVtcywgbm90IGZsYWdzCgkgIENvdmVyaXR5IDExOTUxMzIKCjIwMTQtMDUtMDIgMjI6NDI6NTQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmRldmljZW1vbml0b3IuYzoKCSAgdjRsMmRldmljZW1vbml0b3I6IFBvcnQgdG8gdXNlIEdzdFY0bDJJdGVyYXRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3OTI1CgoyMDE0LTA1LTAyIDIxOjM4OjMwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmg6CgkgIHY0bDI6IFVzZSBzaW5nbGUgcGFzcyBpdGVyYXRvciBmb3IgTTJNIHByb2JlCgkgIEluc3RlYWQgb2YgaGF2aW5nIGVhY2ggTTJNIGNsYXNzIGRvIHRoZWlyIG93biBwcm9iaW5nLCB1c2UgdGhlCgkgIEdzdFY0bDJJdGVyYXRvciBhbmQgcHJvYmUgYWxsIGRldmljZXMgaW4gYSBzaW5nbGUgcGFzcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzkyNQoKMjAxNC0wNS0wMiAxNjo1NTowNSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL3Y0bDItdXRpbHMuYzoKCSogc3lzL3Y0bDIvdjRsMi11dGlscy5oOgoJICB2NGwyOiBBZGQgYSBjb21tb24gZGV2aWNlIGVudW1lcmF0b3IKCSAgVGhpcyB3aWxsIGFsbG93IHJlbW92aW5nIGNvZGUgZHVwbGljYXRpb24gKGhlbmNlIGJ1Z3MgZHVwbGljYXRpb24pLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3OTI1CgoyMDE0LTAzLTE2IDExOjM4OjA3ICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmg6CgkgIHY0bDJ2aWRlb2RlYzogU2ltcGxpZnkgc3ViLWluc3RhbmNpYXRpb24gbWVjaGFuaXNtCgkgIFNpbXBsaWZ5IHN1Yi1pbnN0YW5jaWF0aW9uIGJ5IGRlZmluaW5nIGFuIGFic3JhY3QgdHlwZSBhbmQgdXNpbmcgc3VidHlwZQoJICBjbGFzcyBhbmQgaW5zdGFuY2UgaW5pdCBjYWxsYmFjay4gVGhpcyBhbHNvIGZpeGVzIGEgYnVnIHdoZXJlIHRoZSB0ZW1wbGF0ZQoJICBwYWRzIGdldCBpbml0aWFsaXplZCB0b28gbGF0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzkyNQoKMjAxNC0wNS0wMiAxODoxODoyNiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkgIHY0bDI6IENsZWFudXAgcGx1Z2luIHJlZ2lzdHJhdGlvbgoJICBUaGVyZSBpcyBubyBwbGFuIHRvIGludHJvZHVjZSBzcGVjaWFsIHNvdXJjZXMgZm9yIGpwZWcsIHRlIHY0bDJzcmMgd29ya3MgZmluZQoJICBmb3IgdGhpcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzkyNQoKMjAxNC0wNS0wMyAxODozMDoyMCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAb2NyZXRlLmNhPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwY29sbGlzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEtlZXAgbG9jYWwgY29uZmxpY3RpbmcgYWRkcmVzc2VzIGluIHRoZSBzZXNzaW9uCgkgIEFzIHdlIG5vdyByZXBsYWNlIHRoZSBsb2NhbCBSVFBTb3VyY2Ugb24gYSBjb25mbGljdCwgaXQncyBubyBsb25nZXIgcG9zc2libGUKCSAgdG8ga2VlcCBsb2NhbCBjb25mbGljdHMgaW4gdGhlIFJUUFNvdXJjZSwgc28gdGhleSBpbnN0ZWFkIG5lZWQgdG8gYmUga2VwdAoJICBpbiB0aGUgUlRQU2Vzc2lvbi4KCSAgQWxzbyBmaXggdGhlIHJ0cGNvbGxpc2lvbiB0ZXN0IHRvIGdlbmVyYXRlIG11bHRpcGxlIGNvbGxpc2lvbnMgaW5zdGVhZCBvZgoJICBvbmUgYnkgY2hhbmdlIHRoZSBhZGRyZXNzLCBhcyBvdGhlcndpc2Ugd2UgZGV0ZWN0ZWQgdGhhdCBpdCB3YXMgYSBzaW5nbGUgb25lLgoKMjAxNC0wNS0wMyAyMDo0ODozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS4zLjEgPT09CgoyMDE0LTA1LTAzIDE4OjAyOjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYW9yYy1kaXN0LmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyb3JjLWRpc3QuYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMy4xCgoyMDE0LTA1LTAzIDE4OjAyOjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE0LTA1LTAzIDE3OjIyOjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbmIucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zci5wbzoKCSogcG8vemhfQ04ucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE0LTA1LTAzIDExOjQzOjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogU2VuZCBpbml0aWFsIGV2ZW50cyBhZnRlciBzZXR0aW5nIHRoZSBlbGVtZW50cyB0byBQTEFZSU5HCgkgIE90aGVyd2lzZSB3ZSBzZW5kIHRoZW0gdG9vIGVhcmx5LCBhbmQgc2V0dGluZyB0aGUgZWxlbWVudHMgdG8gUExBWUlORwoJICBhZnRlcndhcmRzIHdpbGwgZHJvcCBhbGwgdGhlIGV2ZW50cyBhZ2Fpbi4KCjIwMTQtMDUtMDMgMTA6MTU6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGJjYjE1MTggdG8gMjExZmE1ZgoKMjAxNC0wNS0wMiAxNzoxMjoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogU2V0IHNlZ21lbnQgcG9zaXRpb24gdG8gdGhlIHN0b3AgcG9zaXRpb24gb2YgdGhlIGJ1ZmZlcgoKMjAxNC0wNS0wMiAxNzoxMDoxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogUHJvcGVybHkgcmVwb3J0IGVycm9ycyBiZWZvcmUgc3RvcHBpbmcgdGhlIHNyY3BhZCB0YXNrCgoyMDE0LTA1LTAyIDE3OjAyOjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBFcnJvciBvdXQgaWYgd2UgaGF2ZSBubyBjYXBzIHlldAoKMjAxNC0wNS0wMiAxNDo0OToyNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGF2b2lkIGRpdmlkaW5nIGJ5IGEgMCBibG9ja2FsaWduCgkgIFRoaXMgY2FuIGJlIDAuIEluIHRoYXQgY2FzZSwgZG8gbm90IHRyeSB0byBjdXQgb2ZmIHRoZSBsYXN0IGZldwoJICBieXRlcyBmcm9tIHRoZSBsYXN0IGJ1ZmZlci4KCSAgQ292ZXJpdHkgMTE0Njk3MQoKMjAxNC0wNS0wMiAxNDoyNTowMSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBkbyBub3QgdXNlIHVpbml0aWFsaXplZCBjbHV0IG9uIGVycm9yCgkgIElmIHdlJ3JlIG1pc3NpbmcgcGFydCBvZiB0aGUgY2x1dCwgZG8gbm90IHRyeSB0byB1c2UgaXQuIEl0IHNlZW1zCgkgIHZlcnkgbGlrZWx5IHRoZSBicmVhayB3YXMgbWVhbnQgdG8gYnJlYWsgb3V0IG9mIHRoZSBzd2l0Y2ggcmF0aGVyCgkgIHRoYW4gZnJvbSB0aGUgbG9vcC4KCSAgQ292ZXJpdHkgMTEzOTg3OAoKMjAxNC0wNS0wMiAxNDoxODowOCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJICBmbHhkZWM6IGZpeCBpbnRlZ2VyIG92ZXJmbG93CgkgIENvdmVyaXR5IDExMzk4NTkKCjIwMTQtMDUtMDIgMTQ6MDk6MDIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJICBydHBxZG1kZXBheTogcmVtb3ZlIHBvaW50bGVzcyBjaGVjawoJICBCZXNpZGVzLCB0aGUgcG9pbnRlciB3YXMgZGVyZWZlcmVuY2VkIGVhcmxpZXIgYW55d2F5LgoJICBDb3Zlcml0eSAxMTM5ODUzCgoyMDE0LTA1LTAyIDE0OjA2OjI1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcmVtb3ZlIGR1cGxpY2F0ZSB0ZXN0CgkgIGl0ZW0gd2FzIGRlcmVmZXJlbmNlIHByZXZpb3VzbHkuCgkgIFdoaWxlIHRoZXJlLCByZW9yZGVyIHNvbWUgdGVzdCBmb3IgZmFzdGVyIGVhcmx5IG91dC4KCSAgQ292ZXJpdHkgMTEzOTg0NAoKMjAxNC0wNS0wMiAxNDowMjo1MiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IGd1YXJkIGFnYWluc3QgTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlCgkgIENvdmVyaXR5IDExMzk4MzgKCjIwMTQtMDUtMDIgMTM6NTk6MDcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBmaXggdGhlb3JldGljYWwgaW50ZWdlciBvdmVyZmxvdwoJICBUaGlzIGNvZGUgaXNuJ3QgYWN0dWFsbHkgdXNlZCBhdCB0aGUgbW9tZW50LCB1bnN1cmUgaWYgSSBzaG91bGQKCSAganVzdCByZW1vdmUgaXQgb3Igbm90Li4uCgkgIENvdmVyaXR5IDExMzk4MTEKCjIwMTQtMDUtMDIgMTM6MzM6MDIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSAgbWF0cm9za2E6IGJsaW5kbHkgZml4IHdyaXRpbmcgdmFyaWFibGUgbGVuZ3RoIG5lZ2F0aXZlIHZhbHVlcwoJICBTcG90dGVkIHdoaWxlIGZpeGluZyBzb21ldGhpbmcgZWxzZSBpbiB0aGUgYXJlYS4KCSAgTm90aGluZyBjYWxscyB0aGlzIHdpdGggYSBuZWdhdGl2ZSB2YWx1ZS4KCjIwMTQtMDUtMDIgMTM6Mjk6MzMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSAgbWF0cm9za2E6IGRvIG5vdCBsb3NlIHRoZSB0b3AgYml0cyB3aGVuIHdyaXRpbmcgYSA+IDMyIGJpdCB2YWx1ZQoJICBDb3Zlcml0eSAxMTM5ODA2CgoyMDE0LTA1LTAyIDEyOjEwOjI2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgdmlkZW9mbGlwOiBhZGQgbWlzc2luZyBicmVhayBpbiBzd2l0Y2gKCSAgQ292ZXJpdHkgMTEzOTc1NQoKMjAxNC0wNS0wMiAxMTozOTozOSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSAgbWF0cm9za2E6IGRvIG5vdCB0cnkgdG8gY2FsbCBnc3RfcGFkX3F1ZXJ5X2RlZmF1bHQgb24gYSBOVUxMIHBhZAoJICBnc3RfbWF0cm9za2FfcGFyc2VfcXVlcnkgY2FuIGJlIGNhbGxlZCBleHBsaWNpdGVseSB3aXRoIGEgTlVMTCBwYWQuCgkgIElmIHdlIHJlYWNoIHRoaXMgcG9pbnQgd2l0aCBhIE5VTEwgcGFkLCBmYWlsIHRoZSBxdWVyeS4KCSAgQ292ZXJpdHkgMTEzOTcxNQoKMjAxNC0wNS0wMiAxMToyODowMSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSAgbWF0cm9za2E6IGRvIG5vdCByZXR1cm4gR1NUX0ZMT1dfT0sgaWYgd2UgZGlkIG5vdCBnZXQgYSBidWZmZXIKCSAgQ292ZXJpdHkgMTEzOTcxNCAod2hpY2ggd2lsbCBsaWtlbHkgY29tZSBiYWNrIGluIGFub3RoZXIgZ3Vpc2UsCgkgIGFzIHRoZSBfcmVhZF9pbml0IGNhbGwgY2FuIGhhdmUgYSBmYWlsaW5nIF9tYXApCgoyMDE0LTA1LTAyIDExOjIwOjMzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkgIG1hdHJvc2thOiBjYXRjaCBmYWlsdXJlIHRvIG1hcCBidWZmZXIKCSAgQXZvaWRzIGRlcmVmZXJlbmNpbmcgTlVMTC4KCSAgQ292ZXJpdHkgMTEzOTcxMgoKMjAxNC0wNS0wMiAxMDo1Mjo0NCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IHJlZnVzZSBjYXBzIHdpdGggaW52YWxpZCBmcmFtZXJhdGUKCSAgQ292ZXJpdHkgMTEzOTcwMQoKMjAxNC0wNS0wMiAxMDoyMTowOSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBoYW5kbGUgMCBzaXplIHBhY2tldHMgd2l0aG91dCBkaXZpZGluZyBieSAwCgkgIENvdmVyaXR5IDExMzk2OTEKCjIwMTQtMDUtMDIgMDk6NDk6MzIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGd1YXJkIGFnYWluc3QgaW52YWxpZCBmcmFtZSBzaXplIHRvIGF2b2lkIGRpdmlzaW9uIGJ5IDAKCSAgQ292ZXJpdHkgMTEzOTY5MAoKMjAxNC0wNS0wMiAwOTo0OToxNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogdHJpdmlhbCB0eXBvIGZpeAoKMjAxNC0wNS0wMiAwOTo0Mzo1NCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSAgc3BlZXhkZWM6IHJlbW92ZSBkZWFkIGNvZGUKCSAgZnBwIGNhbiBuZXZlciBlcXVhbCAwIGhlcmUsIG9yIHRoZSBsb29wIHdvdWxkIG5vdCBleGVjdXRlIGF0IGFsbC4KCSAgWmVybyBmcHAgd2FzIHBvc3NpYmxlIGJlZm9yZSBhcyB0aGUgbG9vcCBjb25kaXRpb24gd2FzIGFsbG93aW5nCgkgIGl0IHNwZWNpZmljYWxseSwgYnV0IG5vIG1vcmUuCgkgIENvdmVyaXR5IDExMzk2ODEKCjIwMTQtMDUtMDIgMDk6NDE6MTkgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zczQvb3NzNC1wcm9wZXJ0eS1wcm9iZS5jOgoJICBvc3M0OiByZW1vdmUgZGVhZCBtaXhlciBjb2RlCgkgIFRoaXMgd2FzIHBhcnRseSByZW1vdmVkIGluIHRoZSBwb3J0IHRvIDAuMTEuIElmIHN0aWxsIG5lZWRlZCwKCSAgaXQncyBzdGlsbCB0aGVyZSBpbiB0aGUgaGlzdG9yeS4KCSAgQ292ZXJpdHkgMTEzOTY4NwoKMjAxNC0wNS0wMiAwOTozMzo1MSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3NzNC9vc3M0LXByb3BlcnR5LXByb2JlLmM6CgkgIG9zczQ6IGZpeCBhIG1pc3NpbmcgdW5sb2NrIGFuZCBhIHJldHVybi1vbmx5LXdoZW4tYXNzZXJ0aW9ucy1lbmFibGVkCgkgIFNwb3R0ZWQgb24gdGhlIHNpZGUgd2hpbGUgbG9va2luZyBhdCBhbm90aGVyIGlzc3VlLgoKMjAxNC0wMy0wNyAxNzozMToyOSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBDb3JyZWN0bHkgbWFwIFJHQjMyIGZvcm1hdAoJICBJbiB2NGwyIHNwZWNpZmljYXRpb24sIFJHQjMyIGhhcyB0aGUgYWxwaGEsIG9yIHBhZGluZywgZmlyc3QsIG5vdCBsYXN0LgoJICBTZWUgaHR0cDovL2xpbnV4dHYub3JnL2Rvd25sb2Fkcy92NGwtZHZiLWFwaXMvcGFja2VkLXJnYi5odG1sIC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU0MDk0MQoKMjAxNC0wNC0zMCAxODowNjo0MCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IHJlbW92ZSBkZWFkIGNvZGUKCSAgRm9yIDggYml0IHdpZHRoLCB3ZSBhbHdheXMgaGF2ZSBkZXB0aD09Z2RlcHRoPT13aWR0aD09OC4KCSAgQ292ZXJpdHkgMTEzOTY3OAoKMjAxNC0wNC0zMCAxNzo0ODo1MyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiByZW1vdmUgZGVhZCBjb2RlCgkgIEEgc3RyaWNlciBjaGVjayBpcyBhbHJlYWR5IGRvbmUgZWFybGllciwgYW5kIGludGVnZXIgb3ZlcmZsb3dzCgkgIGRvIG5vdCBzZWVtIHBvc3NpYmxlIGhlcmUuCgkgIENvdmVyaXR5IDExMzk2NzUKCjIwMTQtMDQtMzAgMTQ6NTA6NDQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIHJ0cHZyYXdwYXk6IGd1YXJkIGFnYWluc3QgcGF0aG9sb2dpY2FsICJubyBzcGFjZSIgY29uZGl0aW9uCgkgIEV2ZW4gaWYgb25lIHdvdWwgaG9wZSBvbmUgcGl4ZWwgY2FuIGZpdCBpbiBhIE1UVSwgZW5zdXJlIHdlIGRvIG5vdAoJICBvdmVyd3JpdGUgYSBidWZmZXIgaWYgdGhpcyBpcyBub3QgdGhlIGNhc2UuCgkgIFNwb3R0ZWQgd2hpbGUgbG9va2luZyBhdCBDb3Zlcml0eSAxMjA4Nzg2CgoyMDE0LTA0LTMwIDExOjUyOjEwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkgIHJ0cGpwZWdkZXBheTogc2FuaXR5IGNoZWNrIGZvciBOVUxMIHF0YWJsZQoJICBDYW4gaGFwcGVuIChhdCBsZWFzdCBpbiBjcmFmdGVkIHN0cmVhbSkKCSAgQ292ZXJpdHkgMTIwODc3OAoKMjAxNC0wNC0zMCAwMTowODo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogcGFzcyBvbiB0YWdzIGZyb20gdXBzdHJlYW0gaWYgdGhlcmUgYXJlIGFueQoJICBEb24ndCBqdXN0IGlnbm9yZSB1cHN0cmVhbSB0YWdzIGZyb20gZS5nLiBhbiBJRDMgdGFnIGJlZm9yZQoJICB0aGUgLndhdiBkYXRhLCBwYXNzIHRoZW0gb24gZG93bnN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTIyMwoKMjAxNC0wNC0yOSAxNjoyNjo1MyArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBvcHRpbWl6ZSB0aW1lciB1cGRhdGUKCSAgV2hlbiB3ZSBhcmUgbm90IGRvaW5nIHJldHJhbnNtaXNzaW9uLCB3ZSBqdXN0IG5lZWQgdG8gZmluZCB0aGUgY3VycmVudAoJICBzZXFudW0gc28gd2UgY2FuIHN0b3Agd2hlbiB3ZSBmb3VuZCBpdC4KCjIwMTQtMDQtMjkgMTY6MjE6NDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICBydHBqaXR0ZXJidWZmZXI6IHNtYWxsIG9wdGltaXphdGlvbnMKCSAgU21hbGwgb3B0aW1pemF0aW9ucyB3aGVyZSB3ZSBjYW4uCgkgIEFkZCBzb21lIG1vcmUgZGVidWcuCgoyMDE0LTA0LTI5IDE2OjE2OjE3ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHNpZ25hbCB3aGVuIG5leHRfc2VxbnVtIGNoYW5nZWQKCSAgU2lnbmFsIHRoZSBwdXNoaW5nIHRocmVhZCB3aGVuIHRoZSBuZXh0X3NlcW51bSBjaGFuZ2VkIGFuZCB3ZSBtaWdodCBiZQoJICBhYmxlIHRvIHB1c2ggYSBidWZmZXIgbm93LgoKMjAxNC0wNC0yOSAxNjoxMjoyOSArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBvbmx5IHNpZ25hbCBldmVudCB3aGVuIGhlYWQgY2hhbmdlZAoJICBBZnRlciBhZGRpbmcgYSBidWZmZXIsIG9ubHkgc2lnbmFsIHRoZSBwdXNoaW5nIHRocmVhZCB3aGVuIHRoZSBoZWFkCgkgIGJ1ZmZlciBjaGFuZ2VkIG9yIGVsc2Ugd2UgY2F1c2UgYSB1c2VsZXNzIHdha2V1cC4KCjIwMTQtMDQtMjkgMTU6Mjk6MzEgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBydHBqaXR0ZXJidWZmZXI6IHJld29yayBwYWNrZXQgaW5zZXJ0CgkgIFJld29yayB0aGUgcGFja2V0IHF1ZXVlIHNvIHRoYXQgdGhlIG1vc3QgY29tbW9uIGFjdGlvbiAoaW5zZXJ0IGEgcGFja2V0CgkgIGF0IHRoZSB0YWlsIG9mIHRoZSBxdWV1ZSkgZ29lcyB2ZXJ5IGZhc3QuCgkgIFJlcG9ydCBpZiBhIHBhY2tldCB3YXMgaW5zZXJ0ZWQgYXQgdGhlIGhlYWQgaW5zdGVhZCBvZiB0aGUgdGFpbCBzbyB0aGF0CgkgIHdlIGNhbiBrbm93IHdoZW4gdG8gcmV0cnkgX3BvcCBvciBfcGVlay4KCjIwMTQtMDQtMjggMTQ6NDE6MTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIHJ0cHZyYXc6IHVzZSBwbGFuZSBwb2ludGVycyB3aGVuIG5lZWRlZAoJICBQYWNrL3VucGFjayBwbGFuYXIgZm9ybWF0cyB0by9mcm9tIHRoZSBmaXJzdCBwbGFuZS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTA1OAoKMjAxNC0wNC0yOCAwOTo0NzoxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIHNvdXBodHRwc3JjOiBSZW1lbWJlciBpZiBhIHJlZGlyZWN0IGlzIHBlcm1hbmVudCBvciBub3QgYW5kIHN0b3JlIGl0IGluIHRoZSBxdWVyeQoKMjAxNC0wNC0yNyAyMTo1NzozMSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ29vbS9jb25maWdfcGFyYW0uYzoKCSAgZ29vbTogUmVtb3ZlIGZyZW5jaCBjb21tZW50IHNheWluZyB0byBwcmVmaXggZnVuY3Rpb25zCgkgIEFsbCBub24tc3RhdGljIGZ1bmN0aW9uIGluIHRoaXMgZmlsZSBhcmUgYWxyZWFkeSBwcmVmaXhlZCB3aXRoIGdvb21fLgoKMjAxNC0wNC0yOCAwMDoyMDo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9nb29tL2ZpbHRlcnMuYzoKCSAgZ29vbTogZml4IGNvbXBpbGF0aW9uIG9uIGlvcy1hcm03LTEwLjkgYW5kIG9zeC14ODZfNjQKCSAgdWludCBpcyBub3QgYSBzdGFuZGFyZCB0eXBlLCBhbmQgdGhlIHJlc3Qgb2YgdGhlIGNvZGUgdXNlcwoJICBVaW50IHdoaWNoIGlzIGxvY2FsbHkgdHlwZWRlZmVkIHRvIHVuc2lnbmVkIGludC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTA2NwoKMjAxNC0wNC0yNyAxODoyOToxMSAtMDQwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nb29tL2ZpbHRlcnMuYzoKCSAgZ29vbTogZml4IHVuZGVmaW5lZCBiZWhhdmlvdXIgb2YgbGVmdC1zaGlmdAoJICBEb24ndCBsZWZ0LXNoaWZ0IGludG8gdGhlIHNpZ24gYml0LCB0aGUgcmVzdWx0IGlzIHVuZGVmaW5lZCBhbmQgcG90ZW50aWFsbHkKCSAgYW4gb3ZlcmZsb3cgY291bGQgZmxpcCB0aGUgc2lnbi4KCjIwMTQtMDQtMjYgMjA6NTE6MzYgLTA0MDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogY2hlY2sgcmV0dXJuIGZyb20gcXRfZGVtdXhfdmlkZW9fY2FwcwoJICBOb3cgcXRkZW11eF92aWRlb19jYXBzKCkgY2FuIHJldHVybiBOVUxMLiBXZSBuZWVkIHRvIGNoZWNrIHRoaXMgcmV0dXJuIGJlZm9yZQoJICB1c2luZyBpdCdzIHZhbHVlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4OTg3CgoyMDE0LTA0LTI2IDIzOjM1OjE3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXgtZG9jLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHJlY2VpdmUuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSAgZG9jczogcmVtb3ZlIG91dGRhdGVkIGFuZCBwb2ludGxlc3MgJ0xhc3QgcmV2aWV3ZWQnIGxpbmVzIGZyb20gZG9jcwoJICBUaGV5IGFyZSB2ZXJ5IGNvbmZ1c2luZyBmb3IgcGVvcGxlLCBhbmQgbW9yZSBvZnRlbiB0aGFuIG5vdAoJICBhbHNvIGp1c3Qgbm90IHZlcnkgYWNjdXJhdGUuIFNlZWluZyAnbGFzdCByZXZpZXdlZDogMjAwNScgaW4KCSAgeW91ciBkb2NzIGlzIG5vdCB2ZXJ5IGNvbmZpZGVuY2UtaW5zcGlyaW5nLiBMZXQncyBqdXN0IHJlbW92ZQoJICB0aG9zZSBjb21tZW50cy4KCjIwMTQtMDQtMjUgMTc6NTg6NDIgLTA0MDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogaW5pdGlhbGl6ZSBjYXBzIHBvaW50ZXIgdG8gbnVsbAoJICBNYWtlIHN1cmUgdGhlIGNhcHMgcG9pbnRlciByZXR1cm5zIGluaXRpYWxpemVkIHdoZW4gdXNpbmcgaXQgaW4KCSAgcXRkZW11eF9wYXJzZV90cmVlICgpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4OTg3CgoyMDE0LTA0LTIyIDE3OjA3OjM4ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IENsZWFyIGxhc3RfcHQgb24gZmx1c2gtc3RvcC4KCSAgT3RoZXJ3aXNlLCB3ZSBkb24ndCByZWNoZWNrIHRoZSBidWZmZXIgY2FwcyBmb3IgY2xvY2stcmF0ZQoJICBwcm9wZXJseSBvbiB0aGUgbmV4dCBjaGFpbi4KCjIwMTQtMDQtMjIgMTc6Mjk6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEZpeCBjb21waWxlciB3YXJuaW5nCgkgIGdzdGRlaW50ZXJsYWNlLmM6IEluIGZ1bmN0aW9uICdnc3RfZGVpbnRlcmxhY2Vfb3V0cHV0X2ZyYW1lJzoKCSAgZ3N0ZGVpbnRlcmxhY2UuYzoxNTM3OjU3OiBlcnJvcjogJ3BhdHRlcm4ubGVuZ3RoJyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24gWy1XZXJyb3I9bWF5YmUtdW5pbml0aWFsaXplZF0KCSAgVGhpcyBhY3R1YWxseSBpcyBhbHdheXMgaW5pdGlhbGl6ZWQgYmVmb3JlIGl0IGlzIHVzZWQgdGhlcmUsIGJ1dAoJICBsZXQncyBqdXN0IHNpbGVuY2UgZ2NjIGhlcmUuCgoyMDE0LTA0LTIxIDE1OjU4OjQ1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IGZpeCBidWZmZXIgbGlzdCBkcm9wIGNoZWNrCgkgIFdoaWxlIHBvcnRpbmcgdG8gMC4xMSwgdGhlIGNoZWNrIHdhcyBtaXN0YWtlbmx5IG1hZGUgY29uc3RhbnQsCgkgIGluc3RlYWQgb2YgdGVzdGluZyBmb3IgdGhlIHJldHVybiB2YWx1ZSBvZiBwcm9jZXNzX2J1ZmZlcl9sb2NrZWQuCgkgIENvdmVyaXR5IDExMzk2NjMKCjIwMTQtMDQtMjEgMTM6NDQ6MTUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thOiBmaXggY29udGVudCBlbmNvZGluZyBzY29wZSB2YWxpZGl0eSBjaGVjawoJICBJdCdzIDMgYml0cywgYW5kIGh0dHA6Ly9tYXRyb3NrYS5vcmcvdGVjaG5pY2FsL3NwZWNzL2luZGV4Lmh0bWwKCSAgc2F5cyBpdCBjYW4ndCBiZSAwLgoJICBDb3Zlcml0eSAxMTM5NjYwCgoyMDE0LTA0LTIxIDEzOjM0OjM3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGZpeCBQQVIgZnJhY3Rpb24gc2FuaXR5IGNoZWNrCgkgIEl0IHdhcyBjaGVja2luZyBwYXJfbnVtIHR3aWNlLCBhbmQgbmV2ZXIgcGFyX2RlbnVtLgoJICBDb3Zlcml0eSAxMTM5NjM0CgoyMDE0LTA0LTIxIDEzOjMyOjQwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpaWRwc2luazogd2FybiB3aGVuIHNldHNvY2tvcHQgZmFpbHMKCSAgVGhpcyBkb2Vzbid0IHNlZW0gdG8gYmUgZmF0YWwsIGJ1dCBpdCdzIGdvb2QgdG8gbGV0IHRoZSB1c2VyIGtub3cKCSAgaW4gdGhlIGxvZ3MuCgkgIENvdmVyaXR5IDExMzk2MzAKCjIwMTQtMDQtMjEgMTM6Mjc6MjQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgIGludGVybGFjZTogY2F0Y2ggZmFpbHVyZSB0byBjcmVhdGUgYXVkaW8gaW5mbyBmcm9tIGNhcHMKCSAgQ292ZXJpdHkgMTEzOTYyNywgMTEzOTYyOAoKMjAxNC0wMy0xMyAwOTozNzo0OCArMDEwMCAgR8O2cmFuIErDtm5zc29uIDxnb3JhbmpuQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIGdzdHJ0cGgyNjRwYXk6IFJlc2V0IHNwcyBwcHMgdmFyaWFibGUgd2hlbiBzdGF0ZSBjaGFuZ2UuCgkgIFJlc2V0IGxhc3Rfc3BzcHBzIGFuZCBzcHMvcHBzIGFycmF5cyAgd2hlbiBzdGF0ZSB0cmFuc2l0aW9uCgkgIEdTVF9TVEFURV9DSEFOR0VfUEFVU0VEX1RPX1JFQURZLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2MDE1CgoyMDE0LTA0LTE4IDExOjExOjE0ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIGppdHRlcmJ1ZmZlcjogaW1wcm92ZSBFT1MgaGFuZGxpbmcKCSAgTWFrZSBhIG5ldyBtZXRob2QgdG8gZGlzYWJsZSB0aGUgaml0dGVyYnVmZmVyIGJ1ZmZlcmluZy4KCSAgUmV3b3JrIHRoZSB1cGRhdGVfZXN0aW1hdGVkX2VvcygpIG1ldGhvZC4gQ2FsY3VsYXRlIGhvdyBtdWNoIHRpbWUKCSAgdGhlcmUgaXMgbGVmdCB0byBwbGF5LiBJZiB3ZSBoYXZlIGxlc3MgdGhhbiB0aGUgZGVsYXkgb2YgdGhlCgkgIGppdHRlcmJ1ZmZlciwgd2UgZGlzYWJsZWQgYnVmZmVyaW5nIGJlY2F1c2Ugd2UgbWlnaHQgbmV2ZXIgYmUgYWJsZSB0bwoJICBmaWxsIHRoZSBjb21wbGV0ZSBqaXR0ZXJidWZmZXIgYWdhaW4uCgkgIElmIHdlIHJlY2VpdmUgYW4gRU9TIGV2ZW50LCBkaXNhYmxlIGJ1ZmZlcmluZy4gV2Ugd2lsbCBkcmFpbiB0aGUKCSAgYnVmZmVyIGFuZCBldmVudHVhbGx5IHB1c2ggdGhlIEVPUyBldmVudCBvdXQuCgkgIFdoZW4gd2UgcmVhY2ggdGhlIGVzdGltYXRlZCBOUFQgdGltZW91dCBhbmQgd2UgZGlkbid0IHJlY2VpdmUgYW4gRU9TCgkgIGV2ZW50LCBtYWtlIG9uZSBhbmQgcXVldWUgaXQgc28gdGhhdCBpdCBjYW4gYmUgcHVzaGVkLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4MDE3CgoyMDE0LTA0LTE4IDEwOjIxOjI3ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IHNlbmQgcmVjb25maWd1cmUgd2hlbiBpbnRlcm5hbC1zc3JjIGNoYW5nZXMKCSAgV2hlbiB0aGUgaW50ZXJuYWwtc3NyYyBwcm9wZXJ0eSBjaGFuZ2VzLCB3ZSB3YW50IHRvIHNlbmQgYSByZWNvbmZpZ3VyZQoJICB1cHN0cmVhbSB0byBtYWtlIHBheWxvYWRlcnMgdXNlIHRoZSBuZXcgc3VnZ2VzdGVkIHNzcmMuCgkgIFVzaW5nIHRoZSBpbnRlcm5hbC1zc3JjIHByb3BlcnR5IHRvIGNoYW5nZSB0aGUgU1NSQyBvZiBhIHN0cmVhbSBpcyBub3QgYQoJICBnb29kIGlkZWEgYW5kIGRvZXNuJ3Qgd29yayB3aGVuIHRoZXJlIGFyZSBtdWx0aXBsZSBzZW5kZXJzLCB3ZSB3YW50IHRvCgkgIHNldCB0aGUgU1NSQyBkaXJlY3RseSBvbiB0aGUgcGF5bG9hZGVycy4gVGhlcmVmb3JlLCBkZXByZWNhdGUgdGhpcwoJICBwcm9wZXJ0eS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTM2MQoKMjAxNC0wNC0xOCAwNDoyMzoyNiArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBhc3N1bWUgYSBmdWxsIGJ1ZmZlciB3aGVuIGVvcwoJICBSZXdvcmsgdGhlIGxvZ2ljIHRvIG1ha2UgYnVmZmVyaW5nIG1lc3NhZ2VzIGEgbGl0dGxlLCBtYWtlIHN1cmUgd2UKCSAgZG9uJ3QgbWFrZSB0aGUgc2FtZSBtZXNzYWdlIG11bHRpcGxlIHRpbWVzLgoJICBDb25zaWRlciB0aGUgYnVmZmVyIGZ1bGwgd2hlbiBFT1Mgd2FzIHJlY2VpdmVkLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4MDE3CgoyMDE0LTA0LTE3IDE4OjA3OjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwcnR4LmM6CgkgIHJ0cHJ0eDogRG9uJ3QgZm9yZ2V0IHRvIHVubWFwIHJ0cCBidWZmZXIgaW4gdGhlIHRlc3QKCjIwMTQtMDQtMTcgMTc6NTg6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkgIHJ0cHJ0eHNlbmQ6IFJlcXVpcmUgY2xvY2stcmF0ZSBpbiB0aGUgY2FwcyBhbmQgaGFuZGxlIG5vIHNzcmMgaW4gdGhlIGNhcHMgcHJvcGVybHkKCjIwMTQtMDQtMTcgMTc6NDM6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSAgcnRwcnR4OiBQcm92aWRlIGFuIHNzcmMgaW4gdGhlIHRlc3QKCSAgQW5kIGluY3JlYXNlIHRpbWVvdXQgdG8gYWxsb3cgYWxsIHRlc3RzIHRvIHJ1biBpbiB2YWxncmluZC4KCjIwMTQtMDQtMTcgMTc6MzM6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEZpeCBtZW1vcnkgbGVha3MgaW4gdGVzdAoKMjAxNC0wNC0xNyAxNzoyNjozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IEZpeCBodW5kcmVkcyBvZiBtZW1vcnkgbGVha3MgaW4gdGhlIHRlc3QKCjIwMTQtMDQtMTcgMTc6MDA6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBVbnJlZiBjbG9jayBpZCB3aGVuIHdhaXRpbmcgZm9yIHRoZSBjbG9jayBpcyBpbnRlcnJ1cHRlZAoKMjAxNC0wNC0xNyAxNjozOTo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGNvbGxpc2lvbi5jOgoJICBydHBjb2xsaXNpb246IEZpeCBtZW1vcnkgbGVha3MgaW4gdW5pdCB0ZXN0CgoyMDE0LTA0LTE2IDIxOjQwOjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogbmFtZSBjb2xsZWN0cGFkcyBvYmplY3QgYmFzZWQgb24gdmlkZW9taXhlciBuYW1lCgkgIE1ha2VzIGl0IGVhc2llciB0byB0cmFjayB0aGluZ3MgaW4gZGVidWcgbG9ncyB3aGVuIHRoZXJlCgkgIGFyZSBtdWx0aXBsZSBtaXhlcnMgYW5kIG11eGVycy4KCjIwMTQtMDQtMTYgMjE6Mzc6MTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBiZXR0ZXIgbG9nZ2luZyBvZiBpbmNvbWluZyBldmVudHMKCSAgVGhlIHBhZCBhbmQgcGFyZW50IG5hbWVzIGFyZSBhbHJlYWR5IGxvZ2dlZCBhcyBwYXJ0IG9mIGxvZ2dpbmcKCSAgdGhlIG9iamVjdC4gSW5zdGVhZCBsb2cgdGhlIGZ1bGwgZXZlbnQgZGV0YWlscy4KCjIwMTQtMDQtMTYgMTk6MDM6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IEZpeCBtZW1vcnkgbGVhayBpbiB1bml0IHRlc3QKCjIwMTQtMDQtMTYgMTg6NDk6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgbGV2ZWw6IFVzZSB0aGUgY29ycmVjdCBudW1iZXIgb2Ygc2FtcGxlcyB0byBpdGVyYXRlIG92ZXIgdGhlIGlucHV0IGFycmF5CgkgIEZpeGVzIGludmFsaWQgbWVtb3J5IGFjY2Vzc2VzIGFuZCBhY2Nlc3NlcyB0byB1bmluaXRpYWxpc2VkIGRhdGEuCgoyMDE0LTA0LTE2IDE4OjAwOjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkgIGljeWRlbXV4OiBVbnJlZiBkcm9wcGVkIGV2ZW50cwoKMjAxNC0wNC0xNiAxNzoyOTozMCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkgIG1hdHJvc2thOiBmaXggY2hlY2sgZm9yIGFtb3VudCBvZiBkYXRhIHRvIHJlYWQKCSAgSGlzdG9yeSBzaG93cyBsZW5ndGg9PTAgc2hvdWxkIHNldCBkYXRhIHRvIE5VTEwgYW5kIHJldHVybiwKCSAgc28gd2UgZG8gdGhhdCB0b28gaW5zdGVhZCBvZiB0cnlpbmcgdG8gcmVhZCBub3RoaW5nLgoJICBDb3Zlcml0eSAyMDYyMDUKCjIwMTQtMDQtMTYgMTc6MjU6NDQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBmaXggc2lnbiBjb21wYXJpc29uCgkgIGhpc3RvcnlfY291bnQgaXMgdW5zaWduZWQsIHNvIHRoZSB3aG9sZSBjb21wYXJpc29uIHdpbGwgYmUgbWFkZQoJICBhcyB1bnNpZ25lZCwgYW5kIGZhaWwgdG8gcmVqZWN0IHdoYXQgaXQgd2FzIG1lYW50IHRvLgoJICBDb3Zlcml0eSAyMDYyMDQKCjIwMTQtMDQtMTYgMTc6MDQ6NTAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogcmVtb3ZlIGRlYWQgY29kZQoJICBzdWIgbWF5IG5vdCBiZSBOVUxMIGluIHRoaXMgc3dpdGNoLCB0aGVyZSBpcyBhIGJhaWwgb3V0IGp1c3QKCSAgYmVmb3JlIGl0IGlmIHNvLgoJICBDb3Zlcml0eSAyMDYwOTgKCjIwMTQtMDQtMTYgMTY6NTk6NDMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiByZW1vdmUgZGVhZCBjb2RlCgkgIFRoZSBibG9ja19zaXplID09IDAgd2FzIHNob3J0Y3V0IGVhcmxpZXIsIGFuZCB0aGUgdmFyaWFibGUgaXMgbm90CgkgIG1vZGlmaWVkIGluIHRoZSBtZWFudGltZS4KCSAgQ292ZXJpdHkgMjA2MDk3CgoyMDE0LTA0LTE2IDE2OjU2OjU0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvY29udmVydC5jOgoJICB2aWRlb21peGVyOiByZW1vdmUgZGVhZCBjb2RlCgkgIFdoaWxlIGl0IHNlZW1zIHRvIGtlZXAgYSBjb21waWxlIHRpbWUgc2VsZWN0aW9uLCBJIHRyYWNlZCBpdAoJICB0byBzb21lIGNvZGUgY29waWVkIGZyb20gdmlkZW9jb252ZXJ0LCB3aGVyZSBpdCB3YXMgcmVtb3ZlZCwKCSAgd2l0aCB0aGUgZm9sbG93aW5nIGNvbW1lbnQ6CgkgIEFsc28gcmVtb3ZlIHRoZSBoaWdoLXF1YWxpdHkgSTQyMCB0byBCR1JBIGZhc3QtcGF0aCBhcyBpdCBuZWVkcwoJICB0aGUgc2FtZSBmaXgsIHdoaWNoIGNhdXNlcyBhbiBhZGRpdGlvbmFsIGluc3RydWN0aW9uLCB3aGljaCBjYXVzZXMKCSAgb3JjIHRvIGVtaXQgbW9yZSB0aGFuIDk2IHZhcmlhYmxlcywgd2hpY2ggdGhlbiBqdXN0IGNyYXNoZXMuCgkgIFRoaXMgY2FuIG9ubHkgYmUgZml4ZWQgaW4gb3JjIGJ5IGJyZWFraW5nIEFCSSBhbmQgYWxsb3dpbmcgbW9yZQoJICB2YXJpYWJsZXMuCgkgIFRodXMsIEkgcmVtb3ZlIGl0IGhlcmUgYXMgd2VsbC4KCSAgQ292ZXJpdHkgMjA2MDY0CgoyMDE0LTA0LTE2IDE2OjUwOjMwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBpc29tcDQ6IGZpeCBpbmNvcnJlY3QgbWFza2luZyBmb3IgbXVsdGlwbGUgdGFncwoJICBDb3Zlcml0eSAyMDYwNTgKCjIwMTQtMDQtMTYgMTY6NDU6MDggKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJICBpc29tcDQ6IGZpeCB3cm9uZyBhdG9tIGZsYWdzIHNldCB3aGVuIGFkZGluZyBzYW1wbGVzCgkgIENvdmVyaXR5IDIwNjA1NwoKMjAxNC0wNC0xNiAxNjo0MDowMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJICBhdWRpb2Z4OiBmaXggY29tcGFyaXNvbiBvZiBkZWx0YSB0aW1lIHRvIGEgdGhyZXNob2xkCgkgIENvdmVyaXR5IDIwNjA1NQoKMjAxNC0wNC0xNiAxNjozMjoyNiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGRvIG5vdCByZWx5IG9uIGNhbGwgZmFpbHVyZSBrZWVwaW5nIHJldHVybiBkYXRhIHVubW9kaWZpZWQKCSAgVGhpcyBpcyBjbGVhcmVyIHRoaXMgd2F5IHRvby4KCSAgQ292ZXJpdHkgMjA2MDI5CgoyMDE0LTA0LTE2IDE2OjI4OjQ5ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvYXRvbXNyZWNvdmVyeS5jOgoJICBpc29tcDQ6IGNhdGNoIGZzZWVrIGVycm9yCgkgIENvdmVyaXR5IDIwNjAyOAoKMjAxNC0wNC0xNiAxNjoyNTo0NCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkgIGlzb21wNDogcmVwb3J0IGZhaWx1cmVzIHRvIGNhbGxlcgoJICBDb3Zlcml0eSAyMDYwMjcKCjIwMTQtMDQtMTYgMTg6MDU6NDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogcmVmdXNlIHNlcmlhbGllZCBxdWVyeSB3aGVuIGJ1ZmZlcmluZwoJICBXaGVuIHdlIGFyZSBidWZmZXJpbmcsIHdlIGNhbid0IGJsb2NrIGFuZCB3YWl0IGZvciB0aGUgc2VyaWFsaXplZCBxdWVyeQoJICB0byBjb21wbGV0ZSBiZWNhdXNlIHRoZSBqaXR0ZXJidWZmZXIgd2lsbCBub3QgdHJ5IHRvIGZvcndhcmQgdGhlIHF1ZXJ5CgkgIHdoaWxlIGJ1ZmZlcmluZy4gSW5zdGVhZCwganVzdCByZWZ1c2UgdGhlIHF1ZXJ5LgoKMjAxNC0wNC0xNiAxNjo1MToxNSArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBkb24ndCBmcmVlIHRoZSBzZXJpYWxpemVkIHF1ZXJ5CgkgIFdlIHNob3VsZCBuZXZlciBmcmVlIGEgc2VyaWFsaXplZCBxdWVyeSBpbiB0aGUgcXVldWUsIGl0IGlzIHRoZSB1cHN0cmVhbQoJICBjYWxsZXIgdGhhdCB3aWxsIGZyZWUgaXQuCgoyMDE0LTA0LTE2IDE3OjM1OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEZpeCBtZW1vcnkgbGVhayBpbiB0aGUgdGVzdAoKMjAxNC0wNC0xNiAxNzozMzo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IENyZWF0ZSBoYXNodGFibGUgb25seSB3aGVuIHdlIGFjdHVhbGx5IHVzZSBpdAoJICBJbiBlcnJvciBjYXNlcyB3ZSBwcmV2aW91c2x5IHJldHVybmVkIHdpdGhvdXQgZnJlZWluZyBpdC4KCjIwMTQtMDQtMTYgMTc6MzA6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBDaGFpbiB1cCB0byB0aGUgcGFyZW50IGNsYXNzJyBkaXNwb3NlIGZ1bmN0aW9uCgoyMDE0LTA0LTE2IDE3OjIzOjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogSW5pdGlhbGlzZSBpb2N0bCBzdHJ1Y3Qgd2l0aCB6ZXJvZXMgYmVmb3JlIHBhc3NpbmcgaXQgdG8gaW9jdGwoKQoKMjAxNC0wNC0xNiAxMzo0Nzo0MyArMDIwMCAgTWFyYyBMZWVtYW4gPG1hcmMubGVlbWFuQGdtYWlsLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogY29ycmVjdCBMT0cgbXNnIGZvciAtMQoJICBTaWduZWQtb2ZmLWJ5OiBNYXJjIExlZW1hbiA8bWFyYy5sZWVtYW5AZ21haWwuY29tPgoKMjAxNC0wNC0xNSAyMTozNjozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogRml4IG5lZ290aWF0aW9uIHRvIHdvcmsgYXQgYWxsIGFnYWluCgkgIFRoZSBjYXBzIHF1ZXJ5IGhhbmRsaW5nIGZ1bmN0aW9uIGZvciB0aGUgc2lua3BhZHMgd2FzIGNhbGxlZCBmb3IKCSAgdGhlIHNyY3BhZCwgYW5kIHRoZSBzaW5rcGFkcyBoYWQgbm9uZS4gVGhpcyBjb21taXQgbW92ZXMgaXQgdG8gdGhlCgkgIHJpZ2h0IHBhZCwgYnV0IG5vbmV0aGVsZXNzIHRoZSBuZWdvdGlhdGlvbiBzdGlsbCBsb29rcyB3cm9uZy4KCSAgVGhpcyBtYWtlcyB0aGUgdGVzdCBwYXNzIGFnYWluIGFmdGVyIHRoZSByZWNlbnQgY292ZXJpdHkgZml4CgkgIGFuZCBhbHNvIGFsbG93cyBpbnRlcmxlYXZlIHRvIHdvcmsgYWdhaW4sIGJ1dCBzb21lb25lIHNob3VsZAoJICByZWFsbHkgcmV2aWV3IHRoZSBuZWdvdGlhdGlvbiBjb2RlIGFuZCBmaXggaXQuCgoyMDE0LTA0LTEzIDA5OjAzOjQxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9vc3M0L29zczQtYXVkaW8uYzoKCSAgb3NzNDogTWF4aW11bSBudW1iZXIgb2YgY2hhbm5lbHMgc3VwcG9ydCBpcyA4CgkgIEF2b2lkcyBkb2luZyBwb3RlbnRpYWwgb3ZlcndyaXRlcyBpbiBjaF9sYXlvdXQgKHdoaWNoIG9ubHkgaGFzIDgKCSAgZmllbGRzKS4KCSAgQ0lEICMxMTM5ODI2CgoyMDE0LTA0LTEyIDIyOjE2OjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IFNldCByYW5rIHRvIE1BUkdJTkFMCgkgIElmIGF2YWlsYWJsZSB3ZSBwcmVmZXIgdXNpbmcgZ2xpbWFnZXNpbmsgb3ZlciBvc3h2aWRlb3NpbmsuIEl0IHN1cHBvcnRzCgkgIG1vcmUgZm9ybWF0cyBhbmQgaW4gZ2VuZXJhbCBoYXMgbW9yZSBmZWF0dXJlcyB0aGFuIG9zeHZpZGVvc2luay4KCjIwMTQtMDQtMTEgMTg6MTk6NDkgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheTogb25seSBndWVzcyBBVSBib3VuZGFyaWVzIHdoZW4gYXJlbid0IGluZGljYXRlZCBieSBtYXJrZXIKCSAgVGhlIG1hcmtlciBiaXQgaXNuJ3QgbWFuZGF0b3J5IGFuZCB3ZSBoYWQgaW4gcGxhY2UgY29kZSB0byBndWVzcyBBVQoJICBib3VuZGFyaWVzIGJ5IGRldGVjdGluZyBhIG5ldyBwaWN0dXJlIHN0YXJ0LiBUaGlzIGd1ZXNzaW5nIGNvZGUKCSAgZGlkbid0IHdvcmsgd2l0aCBpbnRlcmxhY2VkIGNvbnRlbnQgdGhhdCBoYXMgcHJvcGVyIG1hcmtlciBiaXRzCgkgIHRvIGluZGljYXRlIHRoZSBBVSBib3VuZGFyaWVzLiBJdCB3YXMgbGVha2luZyB0aGUgZmlyc3QgZmllbGQgYnVmZmVyCgkgIGFuZCBwcm9kdWNpbmcgYSBjb3JydXB0ZWQgb3V0cHV0LgoJICBmaXhlczogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODA0MQoKMjAxNC0wNC0xMCAxMDozODoxOSAtMDMwMCAgUmFmYcWCIE11xbx5xYJvIDxnYWx0Z2VuZG9AbzIucGw+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICBwbmdkZWM6IGVuYWJsZSBsaWJwbmcgaW50ZXJsYWNlZCBwaWN0dXJlIGhhbmRsaW5nCgkgIE1ha2VzIGxpYnBuZyBkZWludGVybGFjZSBBZGFtNyBpbnRlcmxhY2VkIHBpY3R1cmVzCgkgIGJ5IGRlZmF1bHQuIEl0IGlzIHRoZSBvbmx5IGludGVybGFjZWQgZm9ybWF0IGF2YWlsYWJsZQoJICBhbmQgaWYgdGhlIHBpY3R1cmUgaXNuJ3QgaW50ZXJsYWNlZCB0aGUgY29kZSBzaG91bGQgYmVoYXZlCgkgIGFzIGJlZm9yZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjE2MQoKMjAxNC0wNC0xMSAxMzoyNzo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBPbmx5IGtlZXAtYWxpdmUgdGhlIGNvbm5lY3Rpb24gaW4gc3RvcCgpIGlmIHdlIGhhdmUgZmluaXNoZWQgYWxsIHByZXZpb3VzIG1lc3NhZ2VzCgkgIEFmdGVyIGNhbmNlbGxpbmcgYSByZXF1ZXN0IHdlIG5lZWQgdG8gY3JlYXRlIGEgbmV3IGNvbm5lY3Rpb24uCgoyMDE0LTA0LTExIDExOjU0OjEyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkgIGR2ZGVjOiBEb24ndCBzZXQgYm9ndXMgdGltZXN0YW1wL2R1cmF0aW9uCgkgIFRoaXMgd2lsbCBoYXBwZW4gaWYgd2UgaGF2ZSBhbiBpbmNvbWluZyBzdHJlYW0gd2l0aCBhIG5vbi1USU1FIHNlZ21lbnQKCSAgQ291bGQgYmUgaW1wcm92ZWQgbGF0ZXIgdG8gZmlndXJlIG91dCBwcm9wZXIgcHRzL2R1cmF0aW9uLgoJICBDSUQgIzExOTk3MDIKCSAgQ0lEICMxMTk5NzAzCgoyMDE0LTA0LTExIDExOjUzOjQyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkgIGR2ZGVjOiBQcm9wZXJseSByZWZ1c2UgaW5jb21pbmcgc3RyZWFtIHdpdGhvdXQgZnJhbWVyYXRlCgkgIFRoZSByZXR1cm4gdmFsdWUgd2Fzbid0IHByb3Blcmx5IHByb3BhZ2F0ZWQgYmFjayBpZiB0aGUgY2FwcwoJICBkaWRuJ3QgY29udGFpbiBhIGZyYW1lcmF0ZQoKMjAxNC0wNC0xMCAxNjozNToyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBBbHNvIHJldHJ5IG9uIHVuZXhwZWN0ZWQgbmV0d29yayBmYWlsdXJlcwoKMjAxNC0wNC0xMCAxNTo0NTo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIHNvdXBodHRwc3JjOiBOZXcgcHJvcGVydHkgdG8gc3BlY2lmeSB0aGUgbWF4aW11bSBudW1iZXIgb2YgcmV0cmllcyBiZWZvcmUgd2UgZ2l2ZSB1cAoKMjAxNC0wMy0xMyAxMDo1NjoxMSArMDEwMCAgQWxleGFuZGVyIFphbGxlc292IDx6YWxsZXNvdkBnbWFpbC5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogQ2hhbmdlIGRlZmF1bHQgdGltZW91dCB0byAxNSBzZWNvbmRzCgkgIElmIG5vdGhpbmcgaGFwcGVucyBhZnRlciAxNSBzZWNvbmRzLCBjaGFuY2VzIGFyZSBnb29kIHRoYXQKCSAgb3VyIGNvbm5lY3Rpb24gd2lsbCBuZXZlciB3aWxsIHdvcmsuIFN0b3AgYWZ0ZXIgMTUgc2Vjb25kcwoJICBpbnN0ZWFkIG9mIHdhaXRpbmcgdW50aWwgdGhlIHN5c3RlbSdzIGRlZmF1bHQgdGltZW91dCwgd2hpY2gKCSAgY2FuIGJlID4gMSBtaW51dGUuCgoyMDE0LTA0LTA5IDE3OjMwOjU0ICswOTAwICBKaW1teSBPaG4gPHlvbmdqaW4ub2huQGxnZS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmVwbGFjZSBkdXBsaWNhdGVkIHZhcmlhYmxlIHdoZW4gcGFyc2luZyB0cmV4IGF0b20KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzg3OAoKMjAxNC0wNC0wOSAxMDo1NjoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBVc2UgR1NUX0ZMT1dfRkxVU0hJTkcgd2hlbiBmbHVzaGluZywgbm90IEdTVF9GTE9XX0VPUwoJICAuLi4gYW5kIHJlc2V0IGl0IHByb3Blcmx5IGFmdGVyIGZsdXNoaW5nIGlzIGRvbmUuIEZpeGVzIHBsYXliYWNrCgkgIGluIG1hbnkgY2FzZXMgd2hlbiBidWZmZXJpbmcgaXMgdXNlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzgyMQoKMjAxNC0wNC0wOSAwODo1ODowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBQcm9wZXJseSByZXR1cm4gc3RyZWFtIGZsYWdzIHdoZW4gcGFyc2luZyB0cmV4IGF0b20KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzg2NwoKMjAxNC0wMy0xOSAxOToxODoxMSArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IHVzZSB0aGUgdmlkZW8gZnJhbWUgQVBJIGluc3RlYWQgb2YgdGhlIHZpZGVvIG1ldGEgQVBJCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY3MzgKCjIwMTQtMDMtMTkgMTg6NDc6MzkgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogYWR2ZXJ0aXplIHZpZGVvIG1ldGEgQVBJIHN1cHBvcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjczNwoKMjAxNC0wNC0wOCAxMTozMTowNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgIGludGVybGVhdmU6IEFkZCBtaXNzaW5nIGJyZWFrIGluIHN3aXRjaCBzdGF0ZW1lbnQKCSAgVGhlIGNhcHMgcXVlcnkgaXMgaGFuZGxlZCBlbnRpcmVseSBhbHJlYWR5IGJlZm9yZS4KCSAgQ0lEICMxMTM5NzU3CgoyMDE0LTA0LTA2IDE4OjAzOjExIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIHRlc3RzOiBzb3VwaHR0cHNyYzogdXNlIFNvdXBLbm93blN0YXR1c0NvZGUgaWYgbmVlZGVkCgkgIEZyb20gbGlic291cCBkb2NzOgoJICBQcmlvciB0byAyLjQ0IFNvdXBTdGF0dXMgd2FzIGNhbGxlZCBTb3VwS25vd25TdGF0dXNDb2RlLAoJICBidXQgdGhlIGluZGl2aWR1YWwgdmFsdWVzIGhhdmUgYWx3YXlzIGhhZCB0aGUgbmFtZXMgdGhleQoJICBoYXZlIG5vdy4KCSAgRml4ZXM6CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjczMjkKCjIwMTQtMDQtMDcgMTI6NTg6MjMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogdXNlIGZyYW1lcywgbm90IGJ5dGVzLCBmb3IgcG9zaXRpb24gcXVlcnkgaW4gVkJSIHN0cmVhbXMKCSAgQ292ZXJpdHkgMTEzOTY0OAoKMjAxNC0wNC0wNyAxMjo0MjoxNCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSAgc21wdGU6IGZpeCBjb3B5L3Bhc3RlIGVycm9yIGNhdXNpbmcgdW5tYXAgb24gd3JvbmcgYnVmZmVyCgkgIENvdmVyaXR5IDExMzk2NDcKCjIwMTQtMDQtMDcgMTI6MTY6MTcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBndWFyZCBhZ2FpbnN0IGZpbmRpbmcgbm8gc3VpdGFibGUgcGF0dGVybgoJICBUaGUgY29kZSBoYW5kbGVzIGEgLTEgcGF0dGVybiBpbmRleCwgYW5kIGl0IHNlZW1zIHBsYXVzaWJsZQoJICB0aGF0IGEgcGF0dGVybiBtaWdodCBiZSBmb3VuZCBsYXRlciwgc28gaXQgc2VlbXMgYmVzdCB0byBub3QKCSAgc2VuZCBhbiBlbGVtZW50IGVycm9yIGhlcmUuCgkgIENvdmVyaXR5IDExMzk3NjYKCjIwMTQtMDQtMDQgMTc6Mzg6MTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiB1cGRhdGUgZm9yIG5ldyBNSUtFWSBBUEkKCjIwMTQtMDQtMDMgMTc6NDA6MDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IHNlbmQgc2VuZGVyIFNTUkMgaW4gdGhlIE1JS0VZIG1lc3NhZ2UKCSAgQWxsb2NhdGUgYSBuZXcgU1NSQyBmb3Igb3VyIFJUQ1AgbWVzc2FnZXMgYmFjayB0byB0aGUgc2VydmVyIGFuZCBzZXQKCSAgdGhpcyBpbiB0aGUgTUlLRVkgbWVzc2FnZS4KCjIwMTQtMDQtMDMgMTc6Mzk6MzAgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBtYWtlIHJhbmRvbSBudW1iZXIgZm9yIHRoZSBDU0IKCSAgQXMgcmVjb21tZW5kZWQgaW4gdGhlIFJGQwoKMjAxNC0wMy0yNiAxMjoxMDo0NCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGRvbid0IHB1dCBzcGFjZXMgaW4ga2V5bWdtdCBoZWFkZXIKCjIwMTQtMDMtMjUgMTc6NDc6NDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGNyZWF0ZSBhbmQgc2VuZCB0aGUgUlRDUCBlbmNyeXB0aW9uIGtleQoJICBDcmVhdGUgYW5kIG1ha2UgYSBrZXkgZm9yIGVuY3J5cHRpbmcgdGhlIFJUQ1AgcGFja2V0cyBiYWNrIHRvIHRoZSBzZXJ2ZXIKCSAgYW5kIHdyYXAgdGhpcyBpbiBhIE1JS0VZIG1lc3NhZ2UgdGhhdCB3ZSBzZW5kIGFzIGEgaGVhZGVyIGluIHRoZSBTRVRVUAoJICByZXF1ZXN0LgoKMjAxNC0wNC0wMyAxMjoxODozOSArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZyZWUgdGhlIHNydHBkZWMgZWxlbWVudAoKMjAxNC0wNC0wMyAxMjoxNjoyNSArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGNsZWFudXAgc3RyZWFtX2ZyZWUgZnVuY3Rpb24KCSAgVGhlcmUgaXMgbm8gcmVhc29uIHRvIE5VTEwgYWxsIGZpZWxkcywgd2Ugd2lsbCBmcmVlIHRoZSBzdHJlYW0gYW55d2F5LgoKMjAxNC0wNC0wMyAxMjowNzozMSArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBkZW1vdGUgd2FybmluZyB0byBkZWJ1ZwoJICBGb3IgVENQLCBpdCBpcyBub3JtYWwgdGhhdCB3ZSBkb24ndCBoYXZlIHRpbWVzdGFtcHMgc28gZG9uJ3QgV0FSTiBvbgoJICBpdC4KCjIwMTQtMDMtMjkgMTk6MTM6MDYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyOiBGaXggc3VwcG9ydCBmb3IgY2FwcyB3aXRob3V0IHdpZHRoLCBoZWlnaHQsIGZyYW1lcmF0ZSBvciBmb3JtYXQKCSAgRm9yIGZvcm1hdCBsaWtlIG1wZWd0cywgd2lkdGggYW5kIGhlaWdodCBpcyByYXJlbHkgaW4gdGhlIG5lZ290aWF0ZWQgY2Fwcy4gVGhpcwoJICBwYXRjaCBmaXhlcyBmYWlsdXJlIHdoZW4gc2V0dGluZyBmb3JtYXQsIGFuZCBwcmV2ZW50IGludHJvZHVjaW5nIHdpZHRoLCBoZWlnaHQsCgkgIGZyYW1lcmF0ZSBhbmQgZm9ybWF0IHRvIHRoZSBjYXBzIHdoZW4gZml4YXRpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjU4NjAKCjIwMTQtMDMtMzEgMTg6MzQ6MTMgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBhdmlkZW11eDogQWx3YXlzIHNldCBQVFM9RFRTIG9uIHJhdyB2aWRlbyBzdHJlYW1zCgoyMDE0LTAzLTMxIDE4OjMxOjIyICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBBbHdheXMgc2V0IHBpeGVsLWFzcGVjdC1yYXRpbyBvbiByYXcgdmlkZW8gc3RyZWFtcwoJICBUaGF0IGZpZWxkIGlzIG1hbmRhdG9yeSBpbiBjYXBzIGFuZCBpZiBpdCBpcyBub3QgcHJlc2VudCBpbiB0aGUKCSAgQVZJIGNvbnRhaW5lciwgaXQgbWVhbnMgc3F1YXJlIHBpeGVscyB0aHVzIDEvMS4KCjIwMTQtMDMtMzAgMDA6MzU6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thLW11eDogYWRkIG1hcHBpbmcgZm9yIE9wdXMgYXVkaW8KCSAgTWlnaHQgd2FudCB0byBjb25zaWRlciBhZGRpbmcgY2hhbm5lbHMvcmF0ZQoJICByZXF1aXJlbWVudCB0byB0ZW1wbGF0ZSBjYXBzLCBidXQgcmVxdWlyZXMKCSAgZml4aW5nIHVwIG9mIGVuY29kZXIgYW5kIHBhcnNlciBmaXJzdC4KCjIwMTQtMDMtMzAgMDA6MzE6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBtYXRyb3NrYS1kZW11eDogYWRkIG1hcHBpbmcgZm9yIE9wdXMgYXVkaW8gY29kZWMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzMwNQoKMjAxNC0wMy0yOSAxNzoyMToxNyAtMDQwMCAgV2lsbGlhbSBNYW5sZXkgPHdpbGxAd2lsbGlhbW1hbmxleS5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJzcmM6IEZpeCBzdXBwb3J0IGZvciBtcGVndHMgc3RyZWFtcwoJICBJdCBzZWVtcyB0aGF0IEdTdHJlYW1lcidzIG1wZWd0cyBlbGVtZW50cyAodHNkZW11eCwgdHNwYXJzZSkgcmVxdWlyZSBjYXBzCgkgIGB2aWRlby9tcGVndHMsc3lzdGVtc3RyZWFtPXRydWVgLiAgQXMgZmFyIGFzIEkgY2FuIHNlZSB0aGUgc2lnbmlmaWNhbmNlCgkgIG9mIHN5c3RlbXN0cmVhbSBpcyB0byBpbmRpY2F0ZSB0aGF0IHRoaXMgaXMgYSBjb250YWluZXIgZm9ybWF0IHJhdGhlciB0aGFuCgkgIGFuIGVsZW1lbnRhcnkgc3RyZWFtLiAgQXMgdGhpcyBpcyB0aGUgY2FzZSAoYW5kIEkgY2FuJ3QgdW5kZXJzdGFuZCBob3cgaXQKCSAgY291bGQgbm90IGJlIHRoZSBjYXNlIHdpdGggbXBlZ3RzKSBJIGFkZCBzeXN0ZW1zdHJlYW09dHJ1ZSB0byB2NGwyc3JjJ3MKCSAgY2Fwcy4KCSAgVGhpcyBhbGxvd3MgdjRsMnNyYyB0byBiZSBsaW5rZWQgd2l0aCB0c2RlbXV4IGZvciBwbGF5YmFjayBmcm9tIG15CgkgIEhhdXBwYXVnZSBIRC1QVlIgd2l0aCB0aGUgcGlwZWxpbmU6CgkgIHY0bDJzcmMgISBxdWV1ZSAhIHRzZGVtdXggISB2aWRlby94LWgyNjQgISBkZWNvZGViaW4gISB4dmltYWdlc2luawoJICBJbiBjb21iaW5hdGlvbiB3aXRoIHRoZSBuZXh0IGNvbW1pdCB0aGlzIGZpeGVzIHVzaW5nIEhhdXBwYXVnZSBIRC1QVlIgd2l0aAoJICBHU3RyZWFtZXIgMS4wKy4KCjIwMTQtMDEtMTQgMTQ6NDg6NDIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBhdHRlbXB0IHRvIGZpeCBpbmZpbml0ZSAoZm9yIHNtYWxsIHZlcnNpb24gb2YgaW5maW5pdGUpIGxvb3AKCjIwMTQtMDMtMjkgMTM6MjA6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwbWFuYWdlcjogY29weSBzdGlja3kgZXZlbnRzIHdoZW4gZXhwb3NpbmcgcGFkcyBpbiBtb3JlIHBsYWNlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0NzEyCgoyMDE0LTAzLTI4IDIwOjExOjM2ICswMTAwICBSaWNvIFR6c2NoaWNoaG9seiA8cmljb3R6QHVidW50dS5jb20+CgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSAgdjRsMjogZml4IGRpc3RjaGVjawoJICBNYWtlIHN1cmUgZXh0LyouaCBhcmUgZGlzdCdlZAoKMjAxNC0wMy0yNyAxOTo1MTo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIHhpbWFnZXNyYzogb25seSBleHRyYXBvbGF0ZSBhbHBoYSBtYXNrIGZvciAzMi1iaXQgZGVwdGgKCSAgSW5zdGVhZCBvZiBwYXNzaW5nIGJvZ3VzIGFscGhhIG1hc2sgdmFsdWVzIHdoZW4gdGhlcmUncyBubyBhbHBoYS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjgzMwoKMjAxNC0wMy0yMSAxMzowMzoxNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgeGltYWdlc3JjOiBBZGQgQVJHQi9CR1JBIHN1cHBvcnQKCjIwMTQtMDMtMjAgMTU6Mjg6MjYgKzAxMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW5AYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAganBlZ3BheTogY29uc2lkZXIgaGVhZGVyIGxlbiB3aGVuIGNhbGN1bGF0aW5nIHBheWxvYWQgbGVuCgkgIEZpeGVkIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY3NzcKCjIwMTQtMDMtMjYgMDg6MDM6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IEFsbCBmcmFtZXMgYXJlIHN5bmMgcG9pbnRzCgoyMDE0LTAzLTI2IDA4OjAyOjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgcG5nZGVjOiBBbGwgZnJhbWVzIGFyZSBzeW5jIHBvaW50cwoKMjAxNC0wMy0yMiAxNzowNzo0NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHNlZ21lbnQgY2xvc2luZyBub3QgbmVlZGVkIGluIDEueAoJICAuLi4gYXMgc2VuZGVyIHNob3VsZCBrZWVwIHRyYWNrIG9mIHNlZ21lbnQgYmFzZSBhY2N1bXVsYXRpb24uCgkgIFJhdGhlciwgaXQgbWF5IGhhdmUgc29tZSBhZHZlcnNlIGVmZmVjdHMgYXMgYSBzcHVyaW91cyBzZWdtZW50IGV2ZW50LAoJICBlLmcuIGluIGNvbGxlY3RwYWRzLgoKMjAxNC0wMy0yMiAxNzowNToxNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGVhcmx5IHNlbmRpbmcgcGVuZGluZyBjb2RlYy1kYXRhIGZvciBhbGwgc3RyZWFtcwoJICAuLi4gYXQgbGVhc3QgYmVmb3JlIHN5bmNpbmcgYWNyb3NzIGFsbCBzdHJlYW1zIG1pZ2h0IGNhdXNlIHNvbWUgZ2FwCgkgIGFjdGl2aXR5IG9uIGFueSBvZiB0aG9zZSBzdHJlYW1zLCBub3RhYmx5IHNwYXJzZSBzdHJlYW1zLgoJICBTZWUgYWxzbyAjNzEyMTM0CgoyMDE0LTAzLTIyIDE3OjAxOjI3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBoYW5kbGUgYm90aCBzdGlja3kgYW5kIG5vbi1zdGlja3kgY3VzdG9tIGV2ZW50CgoyMDE0LTAzLTI1IDExOjQ0OjI3ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogb25seSBleHBvc2Ugc3RyZWFtcyBvbiBkYXRhZmxvdwoJICBPbmx5IHByb2JlIG9uIGJ1ZmZlcnMsIHdlIGRvbid0IHdhbnQgdG8gZXhwb3NlIHRoZSBzdHJlYW1zIG9uIGV2ZW50cy4KCjIwMTQtMDMtMjUgMTE6MzY6NDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogY29weSBzdGlja3kgZXZlbnRzIHRvIGdob3N0cGFkCgkgIFdoZW4gd2UgZXhwb3NlIGludGVybmFsIHBhZHMgYXMgZ2hvc3RwYWRzLCBmaXJzdCBjb3B5IHRoZSBzdGlja3kgZXZlbnRzCgkgIHNvIHRoYXQgd2UgaGF2ZSB0aGUgY2FwcyBhbmQgc2VnbWVudCBldGMuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ3MTIKCjIwMTQtMDMtMjQgMTQ6MjU6NDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IHNydHAgaGFuZGxpbmcKCjIwMTQtMDMtMjUgMTA6MjM6MDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBzZXQgU1NSQyBvbiBjYXBzIGlmIGtub3duCgoyMDE0LTAzLTI0IDE2OjU4OjI1ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcHV0IGNhcHMgb24gdWRwc3JjIGluc3RlYWQgb2YgdXNpbmcgdGhlIHNpZ25hbHMKCSAgVHJ5IHRvIGF2b2lkIHVzaW5nIHRoZSByZXF1ZXN0LXB0LW1hcCB0byBnZXQgY2FwcyBidXQgc2V0IHRoZW0gZGlyZWN0bHkKCSAgb24gdGhlIHVkcHNyYyBlbGVtZW50LiBUaGF0IHdheSwgdGhlIGNhcHMgZ2V0IG5pY2VseSB0cmFuc2Zvcm1lZCBhcyB0aGV5CgkgIHBhc3MgdGhyb3VnaCB0aGUgZGlmZmVyZW50IGVsZW1lbnRzIGluIHRoZSBydHBiaW4sIGluY2x1ZGluZyB0aGUgQVVYIGFuZAoJICBkZWNvZGVyL2VuY29kZXIgZWxlbWVudHMuCgoyMDE0LTAzLTI0IDE1OjM1OjA5ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogdXNlIHByb2ZpbGUgdG8gc2V0IHJ0Y3AgY2FwcwoJICBVc2UgdGhlIG5lZ290aWF0ZWQgcHJvZmlsZSB0byBzZXQgeC1ydGNwIG9yIHgtc3J0Y3AgY2FwcwoKMjAxNC0wMy0yNCAxNTozNDoyNiArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHNldCB1ZHBzcmMgdG8gUkVBRFkKCSAgUkVBRFkgaXMgZW5vdWdoIHRvIGFsbG9jYXRlIHBvcnRzIG5vdwoKMjAxNC0wMy0yNCAxNDoyNToyOCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IGltcHJvdmUgY2FwcyBoYW5kbGluZwoJICBQcm90ZWN0IGNhcHMgd2l0aCB0aGUgbG9jay4KCSAgRG9uJ3QgcHVzaCB0aGUgY2FwcyBldmVudCBmcm9tIHRoZSBzZXRfcHJvcGVydHkgZnVuY3Rpb24gYnV0IG1hcmsgdGhlCgkgIHBhZCBmb3IgcmVjb25maWd1cmF0aW9uIHNvIHRoYXQgaXQgd2lsbCByZW5lZ290aWF0ZSBhbmQgcHVzaCB0aGUgbmV3CgkgIGNhcHMgZXZlbnQgaW4gdGhlIHN0cmVhbWluZyB0aHJlYWQuCgoyMDE0LTAzLTI0IDE1OjE1OjM0ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogb3Blbi9jbG9zZSBzb2NrZXQgaW4gTlVMTDwtPlJFQURZIHN0YXRlCgkgIFdlIHNob3VsZCBvcGVuIHRoZSBzb2NrZXQgd2hlbiBnb2luZyB0byBOVUxMPC0+UkVBRFkgYW5kIG5vdCBpbiB0aGUKCSAgc3RhcnQvc3RvcCB2ZW10aG9kLCB3aGljaCBpcyBjYWxsZWQgaW4gUkVBRFk8LT5QQVVTRUQuIFRoaXMgbWFrZXMgaXQKCSAgcG9zc2libGUgdG8gYWxsb2NhdGUgYSBzb2NrZXQgd2l0aG91dCBnb2luZyB0byBQQVVTRUQgKGFuZCBzdGFydGluZyB0aGUKCSAgbmVnb3RpYXRpb24pLgoKMjAxNC0wMy0yNCAxNDozNTowMSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZyZWUgY2FwcyBpbiBwdG1hcCBhcnJheQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2Njk2CgoyMDE0LTAzLTIwIDExOjEyOjUxICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogaGFuZGxlIE5VTEwgcnRwbWFwIGFuZCBwYXJzZSBlcnJvciBiZXR0ZXIKCjIwMTQtMDMtMTYgMjM6NDY6MjIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IERvbid0IGNoZWNrIGZvciBndWRldiBpZiB2aWRlbzRsaW51eDIgaXMgbm90IHByZXNlbnQKCjIwMTQtMDMtMTYgMjM6MTk6NTUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IERvbid0IGZhaWwgaWYgZ3VkZXYgaXMgbm90IHByZXNlbnQKCSAgUEtHX0NIRUNLX01PRFVMRVMgaGFzIHRoZSBiYWQgaGFiaXQgb2YgZmFpbGluZyB0aGUgYnVpbGQgaWYgaXQgZG9lc24ndAoJICBnZXQgd2hhdCBpdCB3YW50cywgcHJldmVudCB0aGF0LgoKMjAxMi0xMS0wMiAxMzozMzoxMyArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmRldmljZW1vbml0b3IuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmRldmljZW1vbml0b3IuaDoKCSAgdjRsMjogSW1wbGVtZW50IEdzdERldmljZU1vbml0b3Igc3ViY2xhc3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3ODQwMgoKMjAxMy0wOC0xMiAxMTo0OToyMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9wdWxzZS9NYWtlZmlsZS5hbToKCSogZXh0L3B1bHNlL3BsdWdpbi5jOgoJKiBleHQvcHVsc2UvcHVsc2VkZXZpY2Vtb25pdG9yLmM6CgkqIGV4dC9wdWxzZS9wdWxzZWRldmljZW1vbml0b3IuaDoKCSAgcHVsc2U6IEFkZCBkZXZpY2UgbW9uaXRvcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3ODQwMgoKMjAxNC0wMy0xNiAxOToyNDoyNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IFJlbW92ZSBHc3RQcm9wZXJ0eVByb2JlIGxlZnRvdmVycwoKMjAxNC0wMi0xOSAwMzowNDowMyArMDEwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWR1cG9uY2hlbGxlMUBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5oOgoJICB2aWRlb21peGVyOiBQb3J0IHRvIG5ldyBjb2xsZWN0cGFkcyBBUEkKCSAgU2VlOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0NzA1CgoyMDE0LTAzLTE2IDE1OjI2OjA0ICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9leHQvdHlwZXMtY29tcGF0Lmg6CgkqIHN5cy92NGwyL2V4dC92aWRlb2RldjIuaDoKCSAgdjRsMjogQWRkIHR5cGVzIGNvbXBhdGlibGl0eSBmb3Igb3RoZXIgT1MKCSAgQWRkcyB0eXBlIGNvbXBhdGlibGl0eSB3aXRoIG90aGVyIE9TIGxpa2UgQlNELiBUaGlzIHVzZXMgdHlwZXMgbWFwcGluZyBtYWNybyB0bwoJICBhdm9pZCBjb25mbGljdCB3aXRoIGV4aXN0aW5nIGRlZmluZWQgdHlwZXMuIFdlIHJlc3VzZSBnbGliIHR5cGVzIGFzIHRoZXNlIGFyZQoJICBhbHJlYWR5IGF2YWlsYWJsZSBvbiBzdXBwb3J0ZWQgcGxhdGZvcm1zLiBUaGlzIGlzIEdDQyBvbmx5IGJlY2F1c2Ugb2YgdGhlCgkgIGxlMzIgdHlwZSB0aGF0IHVzZXMgYml0d2lzZSBhdHRyaWJ1dGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY0NTMKCjIwMTQtMDMtMTYgMTU6NTU6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkgIHB1bHNlOiBmaXggZm9ybWF0IGluZm8gdG8gY2FwcyBjb252ZXJzaW9uIGZvciBtdWxhdwoKMjAxMy0wOC0xMyAxMjoxMDo0MiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmg6CgkgIHB1bHNlOiBNYWtlIGdzdF9wdWxzZV9mb3JtYXRfaW5mb190b19jYXBzKCkgc2hhcmVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzg0MDIKCjIwMTQtMDMtMTUgMTg6NDE6MTYgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9NYWtlZmlsZS5hbToKCSAgdjRsMjogRml4IHR5cG8gVjRMX0RJUiBpbnRlYWQgb2YgVjRMMl9ESVIKCjIwMTQtMDMtMTUgMTg6MDU6MzIgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgdjRsMi1idWlsZDogU2V0IEhBVkVfR1NUX1Y0TDIgaWYgaGVhZGVycyBhcmUgcHJlc2VudAoJICBUaGUgbmFtZSBvZiBIQVZFXyBuZWVkIHRvIG1hdGNoIHRoZSBVU0VfLiBOb3cgc2V0IEhBVkVfR1NUX1Y0TDIgaWYKCSAgdmlkZW9kZXYyLmggaXMgZm91bmQuCgoyMDE0LTAzLTE1IDE2OjQ3OjUxICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSAgdjRsMjogQWN0dWFsbHkgYnVpbGQgdGhlIHBsdWdpbgoJICBUaGUgY2hlY2tzIHdlcmUgcmVtb3ZlZCBpbmFkdmVydGVkbHkgaW4gcHJldmlvdXMgcGF0Y2ggYW5kIG5vdCByZXBsYWNlZC4KCSAgUmUtaW50cm9kdWNlIHRoZSBjb25maWd1cmUgY2hlY2tzIGFuZCBzb21lIG9mIHRoZSBjaGVja3MgaW4gb3JkZXIgdG8gZW5hYmxlCgkgIHRoaXMgcGx1Z2luIGFnYWluLiBXZSBvbmx5IGNoZWNrIGlmIHZpZGVvZGV2Mi5oIGV4aXN0IG9uIHRoZSBwbGF0Zm9ybSB0bwoJICBhdm9pZCBidWlsZGluZyBvbiBXaW5kb3dzIG9yIE9TWCwgdGhvdWdoIHdlIGJ1aWxkIGFnYWluc3Qgb3VyIG93biBjb3B5LiBUaGlzCgkgIHdhcyBicmVha2luZyB0aGUgYnVpbGQgb24gYnVpbHQtYm90LgoKMjAxNC0wMy0xNSAxMzo0Nzo0MiArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICB0cmFuc2xhdGlvbjogUE8gZmlsZSBjaGFuZ2VzIGNhdXNlZCBieSBQT1RGSUxFLmluIHVwZGF0ZQoKMjAxNC0wMy0xNSAxMzoxNzoyMSArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBwby9QT1RGSUxFUy5pbjoKCSogcG8vUE9URklMRVMuc2tpcDoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9vdmVybGF5LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb292ZXJsYXkuaDoKCSAgdjRsMjogUmVtb3ZlIFhWIHN1cHBvcnQKCSAgWFYgc3VwcG9ydCBmb3IgdjRsMiBuZXZlciBiZWNhbWUgdXBzdHJlYW0gYW5kIGVuZGVkIHVwIGJlaW5nCgkgIGNvbW1lbnRlZCBvdXQgd2l0aCBhbiB1bmRlZiBmb3IgYSBsb25nIHRpbWUgbm93LgoKMjAxNC0wMy0xNSAxMToxMzowNSArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZXh0L3Y0bDItY29tbW9uLmg6CgkqIHN5cy92NGwyL2V4dC92NGwyLWNvbnRyb2xzLmg6CgkqIHN5cy92NGwyL2V4dC92aWRlb2RldjIuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRvcmllbnQuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgdjRsMjogVXNlIGEgY29weSBvZiB2aWRlb2RldjIuaCBoZWFkZXIKCSAgV2l0aCB5ZWFycyB0aGUgYW1vdW50IG9mIGlmZGVmIGhhdmUgZ3Jvd24gdXAgYW5kIHdlIGFyZSBub3QgZXZlbiBzdXJlIGlmIHRoZQoJICBvbGQgY29kZSBwYXRoIGNvbXBpbGVzLiBFYWNoIHRpbWUgd2UgbmVlZCB0byB1cGRhdGUgdGhlIHY0bDIgZnJhbWV3b3JrIHRvIGFkZAoJICB0aGUgbmV3IGZlYXR1cmUsIHdlIGJyZWFrIGNvbXBpbGF0aW9uIG9uIG9sZGVyIGtlcm5lbC4gV2l0aCBleGNlcHRpb24gb2YgdHdvCgkgIGNvbnRyb2xzIGluIHRoZSB2aWRlbyBvcmllbnRhdGlvbiBjb250cm9sLCB0aGlzIHBhdGNoIGdldCByaWQgb2YgYWxsIGlmZGVmIGJ5CgkgIGluY2x1ZGluZyB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdmlkZW9kZXYyLmggaW5zaWRlIEdTdHJlYW1lci4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzQ0NgoKMjAxNC0wMy0xMiAxNTozMjo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIHNvdXBodHRwc3JjOiBBZGQgcHJvcGVydGllcyBmb3Igc2VsZWN0aW5nIFNTTC9UTFMgY2VydGlmaWNhdGUgY2hlY2tpbmcKCSAgQW5kIGJ5IGRlZmF1bHQgcHJvcGVybHkgY2hlY2sgY2VydGlmaWNhdGVzIGFnYWluc3QgdGhlIHN5c3RlbSdzIENBCgkgIGNlcnRpZmljYXRlcy4gRXZlcnl0aGluZyBlbHNlIGlzIG5vdCBhIGdvb2QgZGVmYXVsdCBhdCBhbGwuCgoyMDE0LTAzLTExIDE0OjU2OjMwICswMTAwICBQZXIgeCBKb2hhbnNzb24gPHBlcnhqb2hAYXhpcy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogZml4IGFzc2VydCBvbiBmcHMgbG93ZXIgdGhhbiAxCgkgIEZpeGVzIGFzc2VydCBjYXVzZWQgYnkgZ3N0X2R1cmF0aW9uX3RvX2ZyYWN0aW9uIGNhbGxpbmcKCSAgZ3N0X3V0aWxfdWludDY0X3NjYWxlX2ludCB3aXRoIGEgZGVub21pbmF0b3Igb2YgMCB3aGVuIGZwcyBpcyBsZXNzCgkgIHRoYW4gMS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjEwNgoKMjAxNC0wMy0xMSAwMDo0NjowNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyMjogc3RvcmUgdmlkZW8gaW5mbyB3aXRoIGJ1ZmZlcnMgdG8ga2VlcCBpdCBpbiBzeW5jCgkgIEluc3RlYWQgdGhlIHF1ZXVlZCBidWZmZXIgbWlnaHQgaGF2ZSBhbiBvbGQgY2FwcyB3aGlsZSB0aGUgcGFkCgkgIGlzIGFscmVhZHkgc3RvcmluZyB0aGUgaW5mb3JtYXRpb24gZm9yIGEgbmV3IGNhcHMuIE1peGluZyB0aG9zZQoJICB3aGlsZSBoYW5kbGluZyBidWZmZXJzIHdpbGwgb2Z0ZW4gbGVhZCB0byBpc3N1ZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTk0OAoKMjAxNC0wMy0wOCAxOToyOTo1OCAtMDUwMCAgV2lsbGlhbSBNYW5sZXkgPHdpbGxAd2lsbGlhbW1hbmxleS5uZXQ+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IEZpeCB0eXBvIGNvbnRvbCAtPiBjb250cm9sCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjU2MzIKCjIwMTQtMDMtMDQgMDE6MTU6NDkgKzAwMDAgIFdpbGxpYW0gTWFubGV5IDx3aWxsQHdpbGxpYW1tYW5sZXkubmV0PgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBOb3JtYWxpc2UgY29udHJvbCBuYW1lcyBpbiB0aGUgc2FtZSB3YXkgYXMgdjRsMi1jdGwKCSAgVjRMMiBrZXJuZWwgZHJpdmVycyBhbGxvdyBjb25maWd1cmF0aW9uIG9mIHRoZSBoYXJkd2FyZSBzZXR0aW5ncyB2aWEgYQoJICBtZWNoYW5pc20gY2FsbGVkIGNvbnRyb2xzLiAgVGhlc2UgY2FuIGJlIHJlZmVycmVkIHRvIGJ5IG5hbWUgc3VjaCBhcwoJICAiQnJpZ2h0bmVzcyIgYW5kICJXaGl0ZSBCYWxhbmNlIFRlbXBlcmF0dXJlIi4gIFRoZSB1c2VyLXNwYWNlIGNvbW1hbmQgbGluZQoJICBjbGllbnQgZm9yIHNldHRpbmcgdGhlc2UgY29udHJvbHMgKHY0bDItY3RsKSBub3JtYWxpc2VzIHRoZXNlIG5hbWVzIHN1Y2gKCSAgdGhhdCB0aGV5IG9ubHkgY29udGFpbiBsb3dlciBjYXNlIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzIGFuZCB0aGUKCSAgdW5kZXJzY29yZSAnXycuICBlLmc6CgkgIEtlcm5lbCAgICAgICAgICAgICAgICAgICAgIHY0bDItY3RsCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAgQnJpZ2h0bmVzcyAgICAgICAgICAgICAgICAgYnJpZ2h0bmVzcwoJICBXaGl0ZSBCYWxhbmNlIFRlbXBlcmF0dXJlICB3aGl0ZV9iYWxhbmNlX3RlbXBlcmF0dXJlCgkgIEZvY3VzIChhYnNvbHV0ZSkgICAgICAgICAgIGZvY3VzX2Fic29sdXRlCgkgIEdTdHJlYW1lciBzZWVtcyB0byB3YW50IHRvIGZvbGxvdyB0aGlzIHBhdHRlcm4gYnV0IGZhaWxlZCBmb3IgY29udHJvbHMgd2l0aAoJICBtb3JlIHRoYW4gb25lIGNvbnNlY3V0aXZlIG5vbi1hbHBoYW51bSBjaGFyYWN0ZXIuICBlLmcuIEdTdHJlYW1lciB3b3VsZAoJICBwcm9kdWNlICJmb2N1c19fYWJzb2x1dGVfIiByYXRoZXIgdGhhbiAiZm9jdXNfYWJzb2x1dGUiLgoJICBUaGlzIGNvbW1pdCBmaXhlcyB0aGF0IGlzc3VlLiAgQmFja3dhcmRzIGNvbXBhdGliaWxpdHkgaXMgcHJlc2VydmVkIGJ5CgkgIG5vcm1hbGlzaW5nIGFsbCBjb250cm9sIG5hbWVzIGJlZm9yZSBjb21wYXJpc29uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1NjMyCgoyMDE0LTAzLTA3IDE2OjE3OjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IE1ha2Ugc3VyZSB0byBub3QgcmV0dXJuIEVPUyBpbW1lZGlhdGVseSBpZiB3ZSBmaW5pc2hlZCBhIHJhbmdlIHJlcXVlc3QKCSAgT25seSByZXR1cm4gRU9TIHRoZSBuZXh0IHRpbWUgY3JlYXRlKCkgaXMgY2FsbGVkLCBpZiBhdCBhbGwuIGJhc2VzcmMKCSAgc2hvdWxkIGFscmVhZHkgdGFrZSBjYXJlIG9mIG5vdCBjYWxsaW5nIGl0IGFnYWluLgoJICBBbHNvIGFsd2F5cyByZXR1cm4gaW1tZWRpYXRlbHkgaWYgdGhlIHByZXZpb3VzIGZsb3cgcmV0dXJuIHdhcwoJICBub3QgT0suIFRoaXMgaW5kaWNhdGVzIGFuIGVycm9yIHNvbWV3aGVyZS4KCjIwMTQtMDMtMDYgMTI6MDY6NDMgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSAgcnRwOiBSZW1vdmUgY2FwcyByZXN0cmljdGlvbnMgZnJvbSBSVFAgZGVwYXlsb2FkZXIgc2luayBjYXBzCgkgIFJlbW92ZSBjYXBzIHJlc3RyaWN0aW9ucyB0aGF0IGNvcnJlc3BvbmQgdG8gdGhlIGRlZmF1bHQgYW5kIGFyZSBub3QKCSAgcmVxdWlyZWQgaW4gU0RQLiBXaXRoIHRoZSBuZXcgdXNhZ2Ugb2YgaGF2aW5nIHBhZHMgcmVxdWlyZSBhIHN1YnNldAoJICBvZiB0aGUgY2FwcywgdGhleSB3aWxsIG1ha2UgdGhlIG5lZ290aWF0aW9uIGZhaWwuCgoyMDE0LTAzLTA2IDExOjAyOjA5IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkgIHJ0cHNwZWV4ZGVwYXk6IFJlbW92ZSBjYXBzIHJlc3RyaWN0aW9ucyBmb3IgZGVwYXlsb2FkZXIKCSAgVGhlICJlbmNvZGluZy1wYXJhbXMiIGlzIG9wdGlvbmFsIGluIHRoZSBTRFAsIGJlY2F1c2Ugd2Ugbm93IHJlcXVpcmUKCSAgYSBzdWJzZXQgb2YgdGhlIGNhcHMsIGl0IHdvdWxkIGZhaWwgY2FwcyBuZWdvdGlhdGlvaW4gaWYgaXQgd2Fzbid0IHByZXNlbnQuCgkgIFNvIHJlbW92ZWQgaXQgZnJvbSB0aGUgdGVtcGxhdGUgY2Fwcy4KCjIwMTQtMDMtMDYgMTM6Mzg6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogRG9uJ3QgZm9yZ2V0IHRvIHF1aXQgbWFpbmxvb3AgYWZ0ZXIgd2UgY2FuY2VsbGVkIHdoZW4gd2UgZ290IGRhdGEgYWZ0ZXIgdGhlIHN0b3AgcG9zaXRpb24KCjIwMTQtMDMtMDYgMTM6MzU6NDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogSWYgd2UgaGFkIGEgc3RvcCBwb3NpdGlvbiwgYWxsb3cgZm9yIHRoZSBzZXJ2ZXIgdG8gZmluaXNoIG91ciBjb25uZWN0aW9uIGluc3RlYWQgb2YganVzdCBjYW5jZWxsaW5nCgkgIE90aGVyd2lzZSBrZWVwLWFsaXZlIGRvZXMgbm90IG1ha2UgbXVjaCBzZW5zZSBhbmQgYWxzbyB0aGUgc2VydmVyIHdpbGwgaGF2ZQoJICBjb25mdXNpbmcgdGhpbmdzIGluIHRoZSBsb2dzLgoKMjAxNC0wMy0wNiAxMjoyNDowMSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogc2tpcCBzdHJlYW1zIHdpdGggc2FtZSBjb250cm9sIHVybAoJICBLZWVwIHRyYWNrIG9mIHdoYXQgc3RyZWFtcyB3ZSBkaWQgdGhlIFNFVFVQIGZvci4gV2Ugb25seSBuZWVkIHRvCgkgIGNvbmZpZ3VyZSBjYXBzLCB3YWl0IGZvciBwYWRzIGFuZCBwdXNoIGV2ZW50cyBvbiBzZXR1cCBzdHJlYW1zLiBXZSBjYW4KCSAgcmVtb3ZlIHRoZSBkaXNhYmxlZCBzdGF0ZSBvZiB0aGUgc3RyZWFtIGFuZCBzaW1wbGlmeSBzb21lIGNoZWNrcy4KCSAgQWZ0ZXIgd2Ugc2V0dXAgYSBzdHJlYW0sIHNraXAgdGhlIG90aGVyIHN0cmVhbXMgdGhhdCBoYXZlIHRoZSBzYW1lCgkgIGNvbnRyb2wgdXJsLiBVc2UgYSBza2lwcGVkIGZsYWcgdG8gbWFyayBzdHJlYW1zIHRoYXQgc2hvdWxkIGJlIHNraXBwZWQuCgoyMDE0LTAzLTA2IDEyOjIyOjQ3ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcmVtb3ZlIG9ic29sZXRlIGNvZGUKCjIwMTQtMDMtMDUgMTY6MTk6MTkgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGp1c3QgdXNlIHRoZSBTRFAgaW5kZXggYXMgdGhlIHN0cmVhbSBpZAoJICBVc2UgdGhlIGluZGV4IG9mIHRoZSBtZWRpYSBzdHJlYW0gaW4gdGhlIFNEUCBhcyB0aGUgc3RyZWFtIGlkIGluc3RlYWQgb2YKCSAga2VlcGluZyBhIHNlcGFyYXRlIGNvdW50ZXIuCgoyMDE0LTAzLTA1IDEzOjM1OjE5ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW86IGZpeCBidWlsZCBvbiBNYWMgT1NYIE1hdmVyaWNrcyBhbmQgcHV0IG5ldyB3aW5kb3cgaW4gZnJvbnQKCSAgR2V0Q3VycmVudFByb2Nlc3MvU2V0RnJvbnRQcm9jZXNzL1RyYW5zZm9ybVByb2Nlc3NUeXBlIHdhcyBkZXByZWNhdGVkCgkgIGFuZCBub3cgcmVtb3ZlZCBpbiBNYWMgT1NYIDEwLjkuIG9yZGVyRnJvbnRSZWdhcmRsZXNzIGlzIHVzZWQgdG8gbWFrZQoJICB0aGUgdmlkZW8gd2luZG93IHRoZSBtb3N0IGZyb250IHdpbmRvdy4KCjIwMTQtMDMtMDUgMTc6MzM6NTYgKzAxMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPHVyYWV1c0BsaW51eHJpc2luZy5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIEFkZCBkb2NzIGRpcmVjdG9yeSB0byBzcGVjIGZpbGUKCjIwMTQtMDMtMDUgMTU6NDQ6MjUgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBoYW5kbGUgTlVMTCBjb250cm9sIHVybHMgYmV0dGVyCgoyMDE0LTAzLTA1IDE0OjI4OjI2ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogc21hbGwgY2xlYW51cHMKCSAgSXQncyBuaWNlciB0byBleHBsaWNpdGx5IGNoZWNrIGZvciBOVUxMIG9uIHBvaW50ZXIgdHlwZXMgdG8gbWFrZSBpdAoJICBjbGVhciB0aGF0IGl0J3MgYSBwb2ludGVyIGFuZCBub3QgYSBib29sZWFuLgoKMjAxNC0wMy0wNSAxNDoyNjowMiArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IGhhbmRsZSB1bmtub3duIFNTUkMgaW4gRklSCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjU3MTIKCjIwMTQtMDMtMDUgMTE6Mzk6MDkgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggc2Vla2luZwoJICBDYWxsIGdzdF9ydHNwc3JjX2Nvbm5lY3Rpb25fZmx1c2ggKHNyYywgRkFMU0UpIHRvIHJlc2V0IGNvbm5lY3Rpb25zIGFzCgkgIG5vbi1mbHVzaGluZyBiZWZvcmUgc2VuZGluZyBQQVVTRSBhbmQgUExBWSB3aXRoIHRoZSBuZXcgbnB0IHJhbmdlLiBXaXRob3V0IHRoaXMKCSAgcGF0Y2gsIHRob3NlIGNvbW1hbmRzIHdvdWxkIGZhaWwgd2l0aCBFSU5UUiBhcyB0aGUgY29ubmVjdGlvbnMgd2VyZSBzdGlsbAoJICBmbHVzaGluZy4KCjIwMTQtMDMtMDMgMTY6Mzk6MjYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiBleHBvc2UgeHN1YiBhcyBhIHN1YnRpdGxlIGluc3RlYWQgb2YgYXMgYSB2aWRlbwoJICBJdCBpcyBwbGFjZWQgaW5zaWRlIGEgJ3ZpZHMnIHN0cnVjdCwgc28gaXQgd2FzIGJlaW5nIGV4cG9zZWQgb24KCSAgYSBwYWQgbmFtZWQgdmlkZW9fJWQuIFhTVUIgYXJlIHN1YnRpdGxlcyBhbmQgdGhpcyBwYXRjaCBhZGRzCgkgIGFuIHNwZWNpYWwgY2FzZSBmb3IgaXQgdG8gYmUgZXhwb3NlZCBpbiBhIHN1YnBpY3R1cmVfJWQgcGFkCgoyMDE0LTAzLTAzIDE2OjM4OjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGRvIG5vdCB0cnkgdG8gYWRkIGEgdGFnIHdpdGggdGFnX25hbWUgc2V0IHRvIE5VTEwKCSAgVGhpcyBjYW4gaGFwcGVuIGlmIHRoZXJlIGFyZSBzdWJ0aXRsZXMgaW4gdGhlIHN0cmVhbSwgbGVhZGluZyB0bwoJICBhbiBhc3NlcnRpb24KCjIwMTQtMDMtMDQgMTY6NDA6MzQgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IEFkZCBzdXBwb3J0IGZvciBtdWx0aXBsZSBwYXlsb2FkIHR5cGVzCgkgIEEgbWVkaWEgc3RyZWFtIGNhbiBoYXZlIG11bHRpcGxlIHBheWxvYWQgdHlwZXMuIFBhcnNlIGFsbCB0aGUgcGF5bG9hZAoJICB0eXBlcyBhbmQgY29sbGVjdCB0aGUgY2FwcyBpbmZvcm1hdGlvbi4gV2UgdGhlbiBoYXZlIHRvIHN0b3JlIHRoZQoJICBwdDwtPmNhcHMgbWFwcGluZyBpbnN0ZWFkIG9mIDEgcHQgYW5kIDEgY2Fwcy4KCSAgUGFyc2UgdGhlIHByb2ZpbGUgZnJvbSB0aGUgU0RQIGFuZCB1c2UgdGhhdCB0byBuZWdvdGlhdGUgdGhlIHRyYW5zcG9ydAoJICBpbnN0ZWFkIG9mIGFsd2F5cyB1c2luZyBBVlAuCgkgIFJld29yayBob3cgd2UgZG8gc29tZSB0d2Vha3MgZm9yIEFTRiBhbmQgUmVhbG1lZGlhLgoKMjAxNC0wMy0wNCAxMTozNDozOSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHJlZmFjdG9yIHBheWxvYWQgaGFuZGxpbmcKCjIwMTQtMDMtMDMgMTE6MzQ6MDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogZml4IGJ1ZmZlciBsZXZlbCB3aXRoIGludmFsaWQgRFRTCgkgIEl0IGlzIHBvc3NpYmxlIHRoYXQgdGhlIERUUyBpcyBpbnZhbGlkICh3aGVuIHdlIHJlY2VpdmUgUlRQIHBhY2tldHMgZnJvbQoJICBUQ1AsIGZvciBleGFtcGxlKS4gQXMgYSBmYWxsYmFjaywgdXNlIHRoZSByZWNvbnN0cnVjdGVkIFBUUyB2YWx1ZSB0bwoJICBjYWxjdWxhdGUgdGhlIGJ1ZmZlciBsZXZlbC4KCjIwMTQtMDMtMDIgMDU6MTA6MTMgKzAxMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIC5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IElnbm9yZSBnY292IGludGVybWVkaWF0ZSBmaWxlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1NDgwCgoyMDE0LTAyLTI4IDA5OjM0OjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmZTE2NzJlIHRvIGJjYjE1MTgKCjIwMTQtMDItMjcgMjM6MTU6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBSZXZlcnQgImFhY3BhcnNlOiBwdXQgY29kZWMgZGF0YSBvbiBjYXBzIGZvciBsb2FzIGZvcm1hdCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBlNDU5Y2YzZTAxYTA4ZjFhM2VmMWZiOTU0YTQxY2ZhMzZiM2U1MTBjLgoJICBUaGlzIHdhcyBwdXNoZWQgYnkgYWNjaWRlbnQsIHRoZSBidWcgc2hvdWxkIGxpa2VseSBiZSBmaXhlZCBpbgoJICBsaWJhdiBodHRwczovL2J1Z3ppbGxhLmxpYmF2Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ0CgoyMDE0LTAyLTI3IDE4OjU1OjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogbWFyayBhbGwgcGFyc2VkIGZyYW1lcyBhcyBzeW5jIHBvaW50cwoJICBhbGwganBlZyBmcmFtZXMgYXJlIHN5bmMgcG9pbnRzLCBzbyBtYXJrIHRoZW0gYXMgc3VjaCBzbwoJICByZXZlcnNlIHBsYXliYWNrIGNhbiBwcm9wZXJseSB3b3JrIHdpdGggdGhlIHZpZGVvIGRlY29kZXIKCSAgYmFzZSBjbGFzcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1MTA0CgoyMDE0LTAyLTI1IDAxOjEyOjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IHB1dCBjb2RlYyBkYXRhIG9uIGNhcHMgZm9yIGxvYXMgZm9ybWF0CgkgIGdzdC1saWJhdiBhdWRpbyBkZWNvZGVyIGFsc28gbmVlZHMgY29kZWMgZGF0YSBmb3IgTE9BUyBmb3JtYXQsIG90aGVyd2lzZQoJICBpdCB3aWxsIGNvbXBsYWluIGFib3V0IG5vdCBoYXZpbmcgYSBkZWNvZGVyIGNvbmZpZyBhbmQgc2tpcCBhbGwgcGFja2V0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk2NzcyCgoyMDE0LTAyLTI3IDAwOjQzOjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGFsaWduIHJhdyBhdWRpbyBtZW1vcnkgdG8gcG93ZXJzIG9mIHR3bwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1MDA4CgoyMDE0LTAyLTI3IDAwOjM3OjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGNhbGN1bGF0ZSBhbGlnbm1lbnQgcHJvcGVybHkgZm9yIGF1ZGlvIGRlcHRocyBub3QgYSBtdWx0aXBsZSBvZiA4CgoyMDE0LTAyLTIzIDE5OjA5OjI0ICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGZpeCBjcmFzaCB3aXRoIDI0LWJpdCByYXcgYXVkaW8KCSAgRG8gbm90IHRyeSB0byBhbGlnbiBhdWRpbyBidWZmZXJzIHRvIG9kZCBudW1iZXJzLAoJICB3aGljaCB3aWxsIGdldCB1cyBhIE5VTEwgYnVmZmVyIHdoaWNoIHdlIHRoZW4KCSAgY3Jhc2ggb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjUwMDgKCjIwMTQtMDItMjcgMDA6MTE6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSAgcnRwbWFuYWdlcjogcmUtZW5hYmxlIC1XZXJyb3IKCjIwMTQtMDItMjcgMDA6MTE6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBmaXggY29tcGlsZXIgd2FybmluZwoJICBnc3RydHBqaXR0ZXJidWZmZXIuYzogSW4gZnVuY3Rpb24gJ2dzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wJzoKCSAgZ3N0cnRwaml0dGVyYnVmZmVyLmM6Mjk3ODozOiBlcnJvcjogJ3Jlc3VsdCcgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uCgkgIHdoaWxlIChyZXN1bHQgPT0gR1NUX0ZMT1dfT0spOwoJICBeCgoyMDE0LTAyLTI2IDIyOjExOjQxICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAxYTA3ZGE5IHRvIGZlMTY3MmUKCjIwMTQtMDItMjYgMjE6MTE6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBGaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nCgoyMDE0LTAyLTI2IDA3OjMyOjMyIC0wNTAwICBKYWtlIEZveXRpayA8amFrZS5mb3l0aWtAaXBjb25maWd1cmUuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogUmVtb3ZlIHJhdyBjb21wYXJpc29ucyBvZiBSVFAgc2VxdWVuY2UgbnVtYmVycwoJICBTZXZlcmFsIGNvbmRpdGlvbmFsIHN0YXRlbWVudHMgcGVyZm9ybSBjb21wYXJpc29uIG9uIFJUUCBzZXF1ZW5jZQoJICBudW1iZXJzIHdpdGhvdXQgdGFraW5nIHRoZSBzZXF1ZW5jZSBudW1iZXIgcm9sbG92ZXIgaW50byBhY2NvdW50LgoJICBJbnN0ZWFkLCB1c2UgdGhlIGdzdF9ydHBfYnVmZmVyX2NvbXBhcmVfc2VxbnVtIGZ1bmN0aW9uIHRvIHBlcmZvcm0gdGhlCgkgIGNvbXBhcmlzb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjUxNTkKCjIwMTQtMDItMDMgMDE6NDQ6MjEgKzAxMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogRG9uJ3QgYnVpbGQgZGlzYWJsZWQgcGx1Z2lucycgY2hlY2sgdGVzdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzUwMgoKMjAxNC0wMi0yNiAxMToyOTo0NSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvTWFrZWZpbGUuYW06CgkgIGRvY3M6IGluc3RhbGwgcHJlYnVpbHQgcGx1Z2luIGRvY3MgaWYgZ3RrLWRvYyBpcyBkaXNhYmxlZAoJICBTeW5jIHRvIHRoZSBNYWtlZmlsZS5hbSBmcm9tIGdzdC1wbHVnaW4tYmFzZSB3aGVyZSBpdCBpcyBkb25lIHJpZ2h0LgoJICBGaXhlcyAjNzI1MDM0CgoyMDE0LTAyLTI1IDE2OjEwOjU0IC0wNTAwICBIdWd1ZXMgRnJ1Y2hldCA8aHVndWVzLmZydWNoZXRAc3QuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBkbyBub3QgZW1pdCAicGFyc2VkIiBjYXBzIGZvciB2cDgKCSAgVlA4IGRvZXNuJ3QgcmVxdWlyZSBwYXJzaW5nICh2cDhwYXJzZSBkb2Vzbid0IGV4aXN0LCBzbyBuZWdvdGlhdGlvbiB3aXRoIGRlbXV4IGZhaWxzCgkgIGlmICJwYXJzZWQiIGlzIHNldCBpbiBjYXBzKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDYzNgoKMjAxNC0wMi0xMSAxNjoyNzowOCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBEb24ndCByZXF1aXJlIHBhcnNlciBmb3IgVlA4CgkgIFVudGlsIEdTdHJlYW1lciBoYXMgb25lIChzZWUgYnVnNzIyNzYwKSwgd2Ugc2hvdWxkIG5vdCByZXF1aXJlIGEgcGFyc2VyIGZvciBWUDguCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIxMjgKCjIwMTQtMDItMTAgMTc6MDg6MjUgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogQ0FQVFVSRV9NUExBTkUgaXMgd2VsbCB0ZXN0ZWQgbm93CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIxMjgKCjIwMTMtMTItMTggMDk6NTY6MzUgKzAxMDAgIEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBsaW5hcm8ub3JnPgoKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5oOgoJICB2NGwydmlkZW9kZWM6IENyZWF0ZSBvbmUgZWxlbWVudCBwZXIgZGV2aWNlCgkgIEZvciBlYWNoIHZpZGVvQ2RldmljZSBwcm9iZSBpdCBpbnB1dC9vdXRwdXQgY2FwYWJpbGl0aWVzCgkgIGlmIGl0IG1hdGNoIHdpdGggdmlkZW8gZGVjb2RlciByZXF1aXJlbWVudCByZWdpc3RlciBhIG5ldyBlbGVtZW50LgoJICBTaWduZWQtb2ZmLWJ5OiBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAbGluYXJvLm9yZz4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjEyOAoKMjAxMy0xMi0xOSAxNToyNjo1MiAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IENhbGN1bGF0ZSBsYXRlbmN5IGZyb20gZGV2aWNlIGluZm9ybWF0aW9uCgkgIERlY29kZXJzIG9yIG90aGVyIGRldmljZXMgdGhhdCBleHBvc2UgYSBtaW5pbXVtIGJ1ZmZlcnMgcmVxdWlyZWQgcHJvZHVjZQoJICBhbiBmaXJzdCBvdXRwdXQuIFdlIHVzZSB0aGlzIGluZm9ybWF0aW9uIHRvIGNhbGN1bGF0ZSBsYXRlbmN5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMTI4CgoyMDEzLTExLTI4IDE3OjE0OjE4IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmg6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMnZpZGVvZGVjOiBJbXBsZW1lbnQgdjRsMnZpZGVvZGVjCgkgIEltcGxlbWVudCBhbiBlbGVtZW50IHRoYXQgY2FuIGRyaXZlciBWNEwyIE0yTSBkZWNvZGVyIGRldmljZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjEyOAoKMjAxNC0wMi0xMSAxMjo0MToyOSArMDEwMCAgR8O2cmFuIErDtm5zc29uIDxnb3JhbmpuQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IG9ubHkgdXBkYXRlIGxhc3Rfc3BzcHBzIHRpbWUgaWYgYWxsIHNwcy9wcHMgZ290IHNlbnQgc3VjY2Vzc2Z1bGx5CgkgIFRoaXMgZml4ZXMgYW4gaXNzdWUgd2l0aCBnc3QtcnRzcC1zZXJ2ZXIgd2hlcmUgbm8gc3BzIGFuZCBwcHMgYXJlCgkgIHNlbnQgZm9yIHRoZSBmaXJzdCBpbnRyYSBmcmFtZSwgYmVjYXVzZSB0aGUgcGF5bG9hZGVyIHN0YXJ0cyB3b3JraW5nCgkgIGFscmVhZHkgd2hlbiByZWNlaXZpbmcgREVTQ1JJQkUgYnV0IHRoZXJlIGlzIG5vIHRyYW5zcG9ydHMgc28gaXQgdHJpZXMKCSAgdG8gc2VuZCBzcHMgYW5kIHBwcywgYnV0IHRoYXQgZmFpbHMgd2l0aCBhIEZMVVNISU5HIGZsb3cuIEJ1dCB0aGUgdGltZQoJICBmb3IgbGFzdCBzZW50IHNwcyBhbmQgcHBzIHdvdWxkIHN0aWxsIGJlIHNldCwgc28gd2hlbiBQTEFZIGFycml2ZXMgYW5kCgkgIHRoZSBmaXJzdCBpbnRyYSBmcmFtZSBpcyB0byBiZSBzZW50IHRoZXJlIGlzIG5vIHNwcyBhbmQgcHBzIHNlbnQgZHVlIHRvCgkgIHRoYXQgdGltZSBzaW5jZSBsYXN0IHNwcyBwcHMgaXMgbGVzcyB0aGFuIHNwc3Bwc19pbnRlcnZhbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDIxMwoKMjAxNC0wMi0yNSAwOTowMDo0NSArMDEwMCAgU2FudGlhZ28gQ2Fyb3QtTmVtZXNpbyA8c2FuY2FuZUBnbWFpbC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IEZpeCBkZWFkbG9jayB3aGVuIHRhc2sgY3JlYXRpb24gaXMgbm8gc3VjY2Vzc2Z1bAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1MTI0CgoyMDE0LTAyLTIyIDIwOjE5OjQ5ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2RldGVjdC5jOgoJICBhdXRvZGV0ZWN0OiBkZW1vdGUgY2FuZGlkYXRlIGVycm9yIHRvIHdhcm5pbmcgYW5kIHBsdWcgZmFrZXtzaW5rLHNyY30KCSAgSW4gdGhlIGNhc2Ugd2hlcmUgd2UgaGF2ZSBubyBzdWl0YWJsZSBjYW5kaWRhdGUgd2UgcG9zdCBhIHdhcm5pbmcgYW5kIHBsdWcgYQoJICBmYWtlLWVsZW1lbnQuIERvIHRoZSBzYW1lIHdoZW4gbm9uIG9mIHRoZSBjYW5kaWRhdGUgd29yay4KCSAgVGhpcyBpcyBtb3JlIGNvbnNpc3RlbnQgYW5kIHBsdWdpbiB0aGUgZmFrZXNpbmsgYXMgYSBmYWxsYmFjayBpcyBwcm9iYWJseQoJICBoZWxwZnVsIGZvciBydW5uaW5nIHVuaXQgdGVzdHMgd2l0aG91dCByZXF1aXJpbmcgaGFyZHdhcmUgc3JjL3NpbmsgZWxlbWVudHMuCgkgIEZpeGVzICM3MjI5ODEKCjIwMTQtMDItMjMgMTI6MzQ6NDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBtYWtlIHNvbWUgbW9yZSBjb250cm9scyBjb25maWd1cmFibGUKCSAgLi4uIGF0IGxlYXN0IGlmIG9uZSB0cmllcyBoYXJkIGVub3VnaCB1c2luZyBleHRyYS1jb250cm9scyBwcm9wZXJ0eS4KCjIwMTQtMDItMjMgMTA6Mzk6MjAgKzAxMDAgIERhbiBLZWdlbCA8ZGFua0BrZWdlbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIHY0bDI6IFJlcXVpcmUgbXBsYW5hciBzdXBwb3J0IGZvciBub3cgaW4gY29uZmlndXJlCgkgIFRoZSBjb2RlIGZhaWxzIHRvIGNvbXBpbGUgd2l0aG91dCBjdXJyZW50bHksIHNlZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzNDQ2CgkgIEl0J3MgYmV0dGVyIHRvIGRpc2FibGUgaXQgaW5zdGVhZCBvZiBmYWlsaW5nIGNvbXBpbGF0aW9uCgkgIHVudGlsIHRoaXMgaXMgZml4ZWQgcHJvcGVybHkuCgoyMDE0LTAyLTIzIDAwOjE0OjA0ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6CgkgIGphY2s6IGFkZCBzb21lIHNpbXBsZSBsb2cgaGFuZGxlcnMgZm9yIGphY2sKCSAgQWRkIGxvZyBoYW5kbGVycyBmb3IgamFjayB0aGF0IHdyaXRlIHRvIHRoZSBnc3QgZGVidWcgbG9nLiBUaGlzIGF2b2lkcyBzcGFtbWluZwoJICB0aGUgY29uc29sZSB3aGVuIGUuZy4gdXNpbmcgYXV0b2F1ZGlvc2luaywgaGF2aW5nIHRoZSBqYWNrIGVsZW1lbnRzIGluc3RhbGxlZCwKCSAgYnV0IG5vdCBydW5uaW5nIGphY2suCgoyMDE0LTAyLTIyIDIxOjMxOjIxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDJzcmM6IGhhbmRsZSBvbGQgYW5kIG9kZCBkcml2ZXIgYmVoYXZpb3VyIHdoZW4gbGlzdGluZyBjb250cm9scwoKMjAxMy0xMS0yOCAxNjo1NDo1OCAtMDgwMCAgRGFycnlsIEdhbXJvdGggPGRnYW1yb3RoQHV2aWMuY2E+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5jOgoJICBhdWRpb2Z4YmFzZWlpcmZpbHRlcjogY2hlY2sgaWYgY29lZmZpY2llbnRzIGFyZSBwcm92aWRlZCBpbnNpZGUgZmlsdGVyIGxvY2sKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTUyNAoKMjAxNC0wMi0yMSAxOTo0Njo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJzcmM6IGFsc28gdW5zZXQgSU5URVJMQUNFRCBmbGFnIG9uIGJ1ZmZlcnMgaWYgZnJhbWUgaXMgbm90IGludGVybGFjZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDg5OQoKMjAxNC0wMi0yMSAxNDozMTo1OSArMDAwMCAgU2ltb24gRmFybnN3b3J0aCA8c2ltb24uZmFybnN3b3J0aEBvbmVsYW4uY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyc3JjOiBGbGFnIGludGVybGFjZWQgYnVmZmVycyBhcyBpbnRlcmxhY2VkLgoJICBXZSBjb3JyZWN0bHkgaW5kaWNhdGUgdGhlIGZpZWxkIG9yZGVyaW5nIG9uIGludGVybGFjZWQgYnVmZmVycywgYnV0IGZhaWwgdG8KCSAgZmxhZyB0aGVtIGFzIGNvbnRhaW5pbmcgaW50ZXJsYWNlZCB2aWRlbywgd2hpY2ggd2UgbmVlZCB0byBkbyBoZXJlIGJlY2F1c2UKCSAgd2Ugc2lnbmFsIGludGVybGFjZS1tb2RlPW1peGVkIGluIG91ciBjYXBzLiBUaGlzIG1lYW5zIHRoYXQgZG93bnN0cmVhbQoJICBlbGVtZW50cyAobGlrZSB2YWFwaXBvc3Rwcm9jIGZyb20gZ3N0cmVhbWVyLXZhYXBpKSBkb24ndCByZWNvZ25pc2UgdGhlc2UKCSAgYnVmZmVycyBhcyBpbiBuZWVkIG9mIGRlaW50ZXJsYWNpbmcuCgkgIEZpeCB0aGlzIGJ5IHNldHRpbmcgdGhlIGludGVybGFjZWQgZmxhZyBvbiBhbGwgaW50ZXJsYWNlZCBidWZmZXJzLgoJICBTaWduZWQtb2ZmLWJ5OiBTaW1vbiBGYXJuc3dvcnRoIDxzaW1vbi5mYXJuc3dvcnRoQG9uZWxhbi5jby51az4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDg5OQoKMjAxNC0wMi0xOSAxMzo1NjozNyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBiZSBtb3JlIHN0cmljdCBhdCBBRFRTIGhlYWRlciBwYXJzaW5nCgkgIEFkZHMgdHdvIGV4dHJhIGNoZWNrczoKCSAgLSBTYW1wbGluZyBmcmVxdWVuY3kgb24gaGVhZGVyIGNhbid0IGJlIDE1LgoJICAtIEZyYW1lIHNpemUgc2hvdWxkIGJlIGF0IGxlYXN0IDkgb3IgNywgZGVwZW5kaW5nCgkgIG9uIHdoZXRoZXIgQ1JDIHByb3RlY3Rpb24gaXMgcHJlc2VudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDYzOAoKMjAxNC0wMi0xOSAxMzozNTo1OSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBtYWtlIHN1cmUgd2UgaGF2ZSBlbm91Z2ggQURUUyBkYXRhCgkgIFdlIG5lZWQgYXQgbGVhc3QgNiBieXRlcyB0byBwYXNzIG92ZXIgdG8gX2dldF9mcmFtZV9sZW4oKQoJICBidXQgd2Ugd2VyZSBqdXN0IGNoZWNraW5nIGZvciBhIG1pbmltdW0gb2YgMiBieXRlcyBmb3IgdGhlCgkgIHN5bmN3b3JkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0NjM4CgoyMDE0LTAyLTIwIDIyOjUyOjU3ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2RldGVjdC5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvZGV0ZWN0Lmg6CgkgIGF1dG9kZXRlY3Q6IGNoZWNrIGlmIHRoZSBraWQgaGFzIGEgc3luYyBwcm9wZXJ0eQoJICBwcmV2aW91c2x5IGF1dG92aWRlb3NyYyBkaWQgbm90IGhhdmUgYSBzeW5jIHByb3BlcnR5IGFuZCB2NGwyc3JjIGhhcyBub25lIGVpdGhlci4KCjIwMTQtMDItMTkgMjE6NTU6NTIgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuaDoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5oOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvZGV0ZWN0LmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9kZXRlY3QuaDoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmg6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuaDoKCSAgYXV0b2RldGVjdDogdXNlIGEgY29tbW9uIGJhc2VjbGFzcwoJICBUaGlzIG1ha2VzIHRoZSBhY3R1YWwgZWxlbWVudHMgc3VwZXIgc2ltcGxlLiBXZSdyZSB1c2luZyB0aGUgRUxFTUVOVF9GTEFHIHRvCgkgIGNvbmZpZ3VyZSBzb3VyY2Uvc2luayBhbmQgYSBzdHJpbmcgZm9yIHRoZSBBdWRpby9WaWRlbyB0eXBlLgoKMjAxNC0wMi0xNCAxNzoxNDo0MiAtMDgwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogYWRkIHRscy1kYXRhYmFzZSBwcm9wZXJ0eQoJICBBZGQgc3VwcG9ydCBmb3IgYSBuZXcgcHJvcGVydHk6IHRscy1kYXRhYmFzZS4gSWYgdGhlIHByb3BlcnR5IGlzIHNldCwKCSAgdGhlIGNlcnRpZmljYXRlIGRhdGFiYXNlIHdpbGwgYmUgZ2l2ZW4gdG8gdGhlIHJ0c3AgY29ubmVjdGlvbiBpZiBUTFMKCSAgcHJvdG9jb2wgaXMgYmVpbmcgdXNlZC4gSWYgdGhlIHNlcnZlciBjZXJ0aWZpY2F0ZSBjYW4ndCBiZSB2ZXJpZmllZCB3aXRoCgkgIHRoZSBkZWZhdWx0IGRhdGFiYXNlLCB0aGlzIGFkZGl0aW9uYWwgZGF0YWJhc2Ugd2lsbCBiZSB1c2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0Mzk2CgoyMDE0LTAyLTE5IDIyOjIxOjU0ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkgIG9zeGF1ZGlvOiByZW1vdmUgdW51c2VkIHZhcmlhYmxlcwoKMjAxNC0wMi0xOSAyMToyNjowMyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9kZXRlY3QuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2RldGVjdC5oOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJICBhdXRvZGV0ZWN0OiBleHRyYWN0IGNvbW1vbiBoZWxwZXIgY29kZQoJICBUaGUgZnVuY3Rpb24gdG8gZ2VuZXJhdGUgdGhlIHByZXR0eSBuYW1lcyBpcyBiYXNpY2FsbHkgdGhlIHNhbWUuIFVzZSBvbmUgYW5kIGFkZAoJICBhIHBhcmFtZXRlci4KCjIwMTQtMDItMTkgMjE6MDE6MzkgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2RldGVjdC5jOgoJICBhdXRvZGV0ZWN0OiBpbXByb3ZlIHRoZSB0ZXN0cwoJICBBZGQgZmFrZSBhdWRpby92aWRlbyBzaW5rcy4gUHJldmlvdXNseSBydW5uaW5nIHRoZSB0ZXN0IG1pZ2h0IGJlIGZsYWt5IGR1ZSB0bwoJICB0aGUgdXNlIG9mIHJlYWwgZWxlbWVudHMgKGhhcmR3YXJlIGluIHVzZSksIHdoaWNoIHdlIGRvbid0IHdhbnQgdG8gdGVzdCBoZXJlLgoJICBBZGQgdHdvIG1vcmUgdGVzdHMgdGhhdCBjaGVjayB0aGF0IHRoZSBmYWtlcyBhcmUgY2hvc2VuLgoKMjAxNC0wMi0xOSAxNToxOTozMCArMDEwMCAgQnJhbmlzbGF2IEthdHJlbmlhayA8YmthdHJlbmlha0BudXZvdGVjaG5vbG9naWVzLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBkbyBub3QgZW1pdCBlcnJvciB3aGVuIGNvbm5lY3Rpb24gd2l0aCB1bmtub3duIHNpemUgZW5kcwoJICBDb21taXQgNDZmZDEyYWU1ZWM1MzIwMGIxNmRmZDdmMTcwNDhkNmJjNjBmYmZiYyBpbnRyb2R1Y2VkIGNvbm5lY3Rpb24KCSAgcmVjb3ZlcnkuIEJ1dCB3aGVuIHNlcnZlciBkb2VzIG5vdCBzcGVjaWZ5IGNvbnRlbnQtc2l6ZSwKCSAgc291cGh0dHBzcmMgdHJpZXMgdG8gcmVjb25uZWN0IGV2ZW4gYWZ0ZXIgcmVndWxhciBlbmQgb2Ygc3RyZWFtLgoJICBIdHRwIHNlcnZlciByZXBsaWVzICB3aXRoIFNPVVBfU1RBVFVTX1JFUVVFU1RFRF9SQU5HRV9OT1RfU0FUSVNGSUFCTEUKCSAgYnV0IHNvdXBodHRwc3JjIHN0aWxsIGVtaXRzIGVycm9yIGluc3RlYWQgb2YgRU9TLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0NzE3CgkgIFNpZ25lZC1vZmYtYnk6IEJyYW5pc2xhdiBLYXRyZW5pYWsgPGJrYXRyZW5pYWtAbnV2b3RlY2hub2xvZ2llcy5jb20+CgoyMDE0LTAyLTE5IDExOjI2OjIyICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2RldGVjdC5jOgoJICBhdXRvZGV0ZWN0OiBmaXggdGhlIGRpc2FibGVkIHRlc3QKCSAgVXNlIGEgc2hhcmVkIGhlbHBlciBmb3IgYm90aCB0ZXN0cy4gSXQgdHVybnMgb3V0IHRoYXQgdGhlIHZhbGdyaW5kIHZhcmlhbnQgaXMKCSAgZmluZSAobWF5YmUgZHVlIHRvIHBpY2tpbmcgdXAgcHVsc2VzaW5rIHRob3VnaCkuCgoyMDE0LTAyLTE5IDExOjA1OjM1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2RldGVjdC5jOgoJICBhdXRvZGV0ZWN0OiByZW1vdmUgY3J1ZnQgZnJvbSB0aGUgdGVzdAoJICBSZW1vdmUgdGhlIG9ic29sZXRlIHZlcnNpb24gY2hlY2sgYW5kIHVzZSB0aGUgaWdub3JlIG1hY3JvIGZvciB0aGUgZGlzYWJsZWQgdGVzdC4KCjIwMTQtMDItMTggMjI6NTQ6NDUgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2ZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2lpcmZpbHRlci5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIGRvY3M6IHVzZSBkb2Nib29rIG1hcmt1cCBmb3IgeGk6aW5jbHVkZQoJICBJdCB0dXJucyBvdXQgdGhhdCB0aGUgY2hhbmdlIGluIGd0ay1kb2MtMS4yMCB3aGljaCB3cmFwcyB0aGUgfFtdfCBjb250ZW50IGluCgkgIENEQVRBIGJyZWFrIHhpOmlubGN1ZGUgZXhhbXBsZXMuIEFzIGluIGEgd2hvbGUgamhidWlsZCBjaGVja291dCB0aGVzZSB3aGVyZQoJICB0aGUgb25seSA0LCB3ZSdyZSBmaXhpbmcgdGhlbSBpbnN0ZWFkLgoKMjAxNC0wMi0xOCAyMjozNTo0NSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXgtZG9jLmg6CgkgIGlzb21wNG11eDogZml4IGNvcHkgYW5kIHBhc3RlCgkgIFRoaXMgZml4ZXMgZG9jIHdhcm5pbmdzLgoKMjAxNC0wMi0xOCAyMTo0NDoyNCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNzZXR0ZXIuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC1kb2MuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOgoJICBkb2NzOiB1c2UgdGhlIGd0ay1kb2Mgc3ludGF4IHRvIGxpbmsgdG8gcHJvcGVydGllcwoJICBEb24ndCB1c2UgZG9jYm9vayB1bmxlc3MgbmVlZGVkLiBBbHNvIHN0aXAgb3RoZXIgZG9jYm9vayB0YWdzIGluIHRoZSB0aGUgZmlsZXMgd2UgZml4LgoKMjAxNC0wMi0xOCAxMToyODoxOCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBmaXggY3Jhc2ggd2hlbiBnZXR0aW5nIHRoZSBjdXJyZW50LWRldmljZSBpbiBOVUxMLT5SRUFEWQoJICBUaGUgImdvdG8gdW5sb2NrIiBpcyB3cm9uZyBhcyBpbiB0aGlzIGNvZGUgcGF0aCB3ZSBoYXZlbid0IHRha2UgdGhlIGxvY2sgeWV0LgoJICBGaXhlcyAjNzI0NjE5CgoyMDE0LTAyLTE0IDIyOjUwOjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBzb3VwOiBXZSBuZWVkIGxpYnNvdXAgPj0gMi40MCBmb3IgcHJvcGVyIHVzYWdlIG9mIHRoZSBjb250ZW50IGRlY29kZXIKCSAgUHJldmlvdXMgdmVyc2lvbnMgZGlkIG5vdCBjb25zaWRlciBvdXIgY2h1bmsgYWxsb2NhdG9yIGFuZCBhbGxvY2F0ZWQKCSAgbWVtb3J5IGJ5IHRoZW1zZWx2ZXMsIHdoaWNoIGNhdXNlZCBjcmFzaGVzIGFuZCBicm9rZW4gYmVoYXZpb3VyLgoKMjAxNC0wMi0xNCAxNToyNzoyMCAtMDUwMCAgV2lsbGlhbSBKb24gTWNDYW5uIDx3aWxsaWFtLmpvbi5tY2Nhbm5AZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgZG9jczogZml4IG1pc21hdGNoZWQgcGFyYSB0YWdzCgkgIG5ld2VyIGd0a2RvYyBpcyBtb3JlIHNlbnNpdGl2ZSB0byBtaXNtYXRjaGVkIGRvY2Jvb2sgdGFncy4KCSAgVGhpcyBmaXhlcyB0aGUgYnVpbGQgaW4gbWFzdGVyLgoKMjAxNC0wMi0xNCAxNTo1OTo0NiArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBhZGQgc3VwcG9ydCBmb3Igc2VyaWFsaXplZCBxdWVyaWVzCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzODUwCgoyMDE0LTAyLTE0IDE1OjUzOjU1ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIHRlc3RzOiBmaXggdHlwZWNhc3QgdG8gZml4IGNvbXBpbGF0aW9uCgoyMDE0LTAyLTE0IDEyOjAxOjAwICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogcHJveHkgY2FwcyBhbmQgYWxsb2NhdGlvbiBvbiBSVFAgcGFkcwoJICByZWN2X3J0cF9zaW5rOiBhbGxvdyBwcm94eWluZyBvZiB0aGUgYWxsb2NhdGlvbiBxdWVyeS4KCSAgc2VuZF9ydHBfc2luazogYWxsb3cgcHJveHlpbmcgb2YgY2FwcyBhbmQgYWxsb2NhdGlvbi4gVGhpcyBhbGxvd3MgdXMgdG8KCSAgcXVlcnkgY2FwcyBkb3duc3RyZWFtIGFzIHdlbGwgYXMgZ2V0IGFuIGFsbG9jYXRvciBmcm9tIGRvd25zdHJlYW0uCgkgIHNlbmRfcnRwX3NyYzogYWxsb3cgcHJveHkgb2YgY2FwcywgdGhpcyBtYWtlcyB0aGUgY2FwcyBxdWVyeSBkbwoJICB1cHN0cmVhbS4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjM4NTAKCjIwMTQtMDItMTMgMTI6Mjk6MTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGhhbmRsZSB0YWdzIGluIG1hYyBlbmNvZGluZwoJICBDaGVjayB0aGUgY2hhcnNldCBmcm9tIChDKSoqKiB0YWdzIGFuZCBzZXQgdGhlIGNoYXJzZXQKCSAgdG8gY29udmVydCBmcm9tIE1BQyBlbmNvZGluZyBpZiBzdWl0YWJsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzE2NgoKMjAxNC0wMi0xMyAxMjowOToxMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBVc2UgbmV3IGF1dG9tYXRpY19lb3MgQVBJIGZyb20gYmFzZXNyYwoJICBXZSB3YW50IHRvIG5vdGljZSBvdXJzZWx2ZXMgdGhhdCB3ZSdyZSBFT1MuIE90aGVyd2lzZSB3ZSB3aWxsCgkgIGFsd2F5cyBjYW5jZWwgcmVxdWVzdHMgaW4gdGhlIHZlcnkgZW5kIGFuZCBjb25mdXNlIHRoZSBzZXJ2ZXIuLi4KCSAgYW5kIGFsc28gbWFrZSBpdCBpbXBvc3NpYmxlIHRvIHVzZSBwZXJzaXN0ZW50IGNvbm5lY3Rpb25zLgoKMjAxNC0wMi0xMyAxMToxMToxMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBDb25zaXN0ZW50bHkgdXNlIGhhdmVfc2l6ZSBpbnN0ZWFkIG9mIGNvbnRlbnRfc2l6ZSE9MAoKMjAxNC0wMi0xMyAxMDozMDowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBGcmVlIGV4dHJhIGhlYWRlcnMgd2hlbiBmaW5hbGl6aW5nIHRoZSBlbGVtZW50CgkgIEl0J3Mgc2V0IGFzIHByb3BlcnR5IGJ5IHRoZSBhcHBsaWNhdGlvbiwgd2Ugc2hvdWxkIG5vdCBqdXN0IHJlc2V0CgkgIHByb3BlcnRpZXMgd2hlbiBnb2luZyBiYWNrIHRvIFJFQURZLgoKMjAxNC0wMi0xMyAxMDoyODoxMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBQcm9wZXJseSBjbG9zZSB0aGUgc2Vzc2lvbiB3aGVuIGdvaW5nIGJhY2sgdG8gTlVMTAoJICBEb24ndCB3YWl0IGZvciB0aGF0IHVudGlsIHRoZSBlbGVtZW50IGlzIGRpc3Bvc2VkLgoKMjAxMy0wMi0yOCAxMjoyMDo1MiArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIHNvdXBodHRwc3JjOiBhZGQgc3VwcG9ydCBmb3Iga2VlcC1hbGl2ZSBzZXNzaW9ucwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5OTI2CgoyMDE0LTAyLTEyIDEzOjAwOjEzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgc291cGh0dHBzcmM6IEFkZCAiY29tcHJlc3MiIHByb3BlcnR5IHRvIGVuYWJsZS9kaXNhYmxlIGF1dG9tYXRpYyBnemlwL2RlZmxhdGUgY29udGVudCBlbmNvZGluZyBoYW5kbGluZwoKMjAxNC0wMi0xMiAxMjozOToxMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBSZXRyeSBjb25uZWN0aW9uIGlmIHdlJ3JlIGZpbmlzaGVkIGJlZm9yZSB0aGUgY29udGVudCBzaXplIG9ubHkgaWYgd2UgYWN0dWFsbHkgaGF2ZSBhIGNvbnRlbnQgc2l6ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMTg1CgoyMDE0LTAyLTEyIDEwOjA4OjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cHV0aWxzLmM6CgkgIHNvdXB1dGlsczogRml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgZ3N0c291cHV0aWxzLmM6MzU6MjU6IGVycm9yOiBjb21wYXJpc29uIG9mIGNvbnN0YW50IDkgd2l0aCBleHByZXNzaW9uIG9mIHR5cGUKCSAgJ1NvdXBMb2dnZXJMb2dMZXZlbCcgaXMgYWx3YXlzIGZhbHNlCgkgIFstV2Vycm9yLC1XdGF1dG9sb2dpY2FsLWNvbnN0YW50LW91dC1vZi1yYW5nZS1jb21wYXJlXQoKMjAxNC0wMS0wNyAyMzowMDo1NiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc291cC9NYWtlZmlsZS5hbToKCSogZXh0L3NvdXAvZ3N0c291cC5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmg6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkqIGV4dC9zb3VwL2dzdHNvdXB1dGlscy5jOgoJKiBleHQvc291cC9nc3Rzb3VwdXRpbHMuaDoKCSAgc291cGh0dHAqOiBhZGQgYWJpbGl0eSB0byBkbyBIVFRQIHNlc3Npb24gbG9nZ2luZwoJICBUaGlzIGNoYW5nZXNldCBhZGRzIHRoZSBsb2dnaW4gaW5mcmFzdHJ1Y3R1cmUgYW5kCgkgIG1vZHMgYm90aCBzb3VwaHR0cHNyYyBhbmQgc291cGh0dGNsaWVudHNpbmsgdG8gdXNlIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxNzY0CgoyMDE0LTAyLTA3IDE0OjAwOjE1ICswMTAwICBkaXZoYWVyZSA8ZGlyay52YW5oYWVyZW5ib3JnaEB1Z2VudC5iZT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thOiBhZGQgc3VwcG9ydCBmb3IgR1JBWTgsIEJHUiBhbmQgUkdCIHZpZGVvIGNvbG91cnNwYWNlcyBpbiBWX1VOQ09NUFJFU1NFRCBjb2RlYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzODQ5CgoyMDE0LTAyLTExIDEzOjI1OjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IEFkZCBtYXBwaW5nIGZvciBOT1RfRk9VTkQgYW5kIE5PVF9BVVRIT1JJWkVEIGVycm9ycwoKMjAxNC0wMi0xMSAxMzoyNToyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBEb24ndCBkdXBsaWNhdGUgc3RhdHVzX2NvZGUgdG8gR1N0cmVhbWVyIGVycm9yIG1hcHBpbmcKCjIwMTQtMDItMDkgMjM6Mzg6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZ29vbS9maWx0ZXJzLmM6CgkqIGdzdC9nb29tMmsxL2ZpbHRlcnMuYzoKCSAgZ29vbTogUmVtb3ZlIHVudXNlZCBmdW5jdGlvbnMKCjIwMTQtMDItMDkgMjM6MjE6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSAgbWF0cm9za2FwYXJzZTogQ29tbWVudCBvdXQgc29tZSB1bnVzZWQgZnVuY3Rpb25zIHVzZWQgb25seSBmcm9tIHRoZSBjb21tZW50ZWQgb3V0IHB1bGwtbW9kZSBjb2RlCgoyMDE0LTAyLTA4IDIxOjAxOjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgaWQzdjJtdXg6IEZpeCBhbm90aGVyIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTQtMDItMDggMTc6NDM6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogRml4IGltcGxpY2l0IGVudW0gY29udmVyc2lvbiBjb21waWxlciB3YXJuaW5nCgkgIGVycm9yOiBpbXBsaWNpdCBjb252ZXJzaW9uIGZyb20gZW51bWVyYXRpb24gdHlwZQoJICAnU291cFN0YXR1cycgdG8gZGlmZmVyZW50IGVudW1lcmF0aW9uIHR5cGUgJ1NvdXBLbm93blN0YXR1c0NvZGUnCgoyMDE0LTAyLTA4IDE3OjQxOjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOgoJICBpbnRlcmxlYXZlOiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZyBpbiB0ZXN0CgkgIGVycm9yOiB2YXJpYWJsZSAnbWFzaycgaXMgdXNlZCB1bmluaXRpYWxpemVkCgkgIHdoZW5ldmVyICdpZicgY29uZGl0aW9uIGlzIGZhbHNlIFstV2Vycm9yLC1Xc29tZXRpbWVzLXVuaW5pdGlhbGl6ZWRdCgoyMDE0LTAyLTA4IDE3OjI3OjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgaWQzdjJtdXg6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nCgkgIGVycm9yOiB2YXJpYWJsZSAnaW1hZ2VfdHlwZScgaXMgdXNlZCB1bmluaXRpYWxpemVkCgkgIHdoZW5ldmVyICdpZicgY29uZGl0aW9uIGlzIGZhbHNlIFstV2Vycm9yLC1Xc29tZXRpbWVzLXVuaW5pdGlhbGl6ZWRdCgoyMDE0LTAyLTA4IDE3OjI1OjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29zczQvb3NzNC1hdWRpby5oOgoJICBvc3M0OiBGaXggdHlwbyBpbiBoZWFkZXIgaW5jbHVkZSBndWFyZAoJICBlcnJvcjogJ0dTVF9PU1M0X0FVRElPX0gnIGlzIHVzZWQgYXMgYSBoZWFkZXIgZ3VhcmQgaGVyZSwKCSAgZm9sbG93ZWQgYnkgI2RlZmluZSBvZiBhIGRpZmZlcmVudCBtYWNybyBbLVdlcnJvciwtV2hlYWRlci1ndWFyZF0KCjIwMTQtMDItMDggMTc6MjQ6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkgIHJ0cHJ0eHNlbmQ6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nCgkgIHZhcmlhYmxlICdydHhfc3NyYycgaXMgdXNlZCB1bmluaXRpYWxpemVkIHdoZW5ldmVyCgkgICdpZicgY29uZGl0aW9uIGlzIGZhbHNlIFstV2Vycm9yLC1Xc29tZXRpbWVzLXVuaW5pdGlhbGl6ZWRdCgoyMDE0LTAyLTA4IDE3OjIxOjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJICBydHBhYzNkZXBheTogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoKMjAxNC0wMi0wOCAxNzoxOToxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9mbHgvZmx4X2ZtdC5oOgoJICBmbHg6IEZpeCB0eXBvIGluIGhlYWRlciBpbmNsdWRlIGd1YXJkCgkgIGVycm9yOiAnX19HU1RfRkxYX0ZNVF9fSF9fJyBpcyB1c2VkIGFzIGEgaGVhZGVyIGd1YXJkIGhlcmUsCgkgIGZvbGxvd2VkIGJ5ICNkZWZpbmUgb2YgYSBkaWZmZXJlbnQgbWFjcm8gWy1XZXJyb3IsLVdoZWFkZXItZ3VhcmRdCgoyMDE0LTAyLTA3IDEwOjA3OjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5oOgoJICBxdG11eDogcmVtb3ZlIGhhdmVfZHRzIGZsYWcgZnJvbSBwYWRzCgkgIEl0IHdhcyB1c2VkIGluIHRoZSBwYXN0IGluIDAuMTAgd2hlbiB0aGVyZSB3YXMgbm8gZXhwbGljaXQgRFRTCgkgIGZpZWxkIGluIGJ1ZmZlcnMsIG5vdyB3ZSBoYXZlIGl0IGluIDEueCBzZXJpZXMgYW5kIHdlIGNhbgoJICBjaGVjayBpdCBkaXJlY3RseSB3aXRoIEdTVF9CVUZGRVJfRFRTX0lTX1ZBTElECgoyMDE0LTAyLTA3IDAxOjQ5OjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5oOgoJICBxdG11eDogaW1wcm92ZSBzdXBwb3J0IGZvciBzcGFyc2Ugc3RyZWFtcwoJICBEbyBub3QgdHJ5IHRvIHVzZSBzdWJzZXF1ZW50IGJ1ZmZlciB0aW1lc3RhbXBzIHRvIGNhbGN1bGF0ZQoJICBzcGFyc2Ugc3RyZWFtcyBkdXJhdGlvbnMgYmVjYXVzZSB0aGUgc3RyZWFtIGlzIHNwYXJzZSBhbmQKCSAgdGhlIGJ1ZmZlcnMgbWlnaHQgbm90IGJlICd0aW1lIGFkamFjZW50Jy4gU28gcmVseSBvbiB0aGUKCSAgZHVyYXRpb24gYW5kIGdpdmUgdGhlIG9wdGlvbiB0byB0aGUgcGFkIHRvIHByb3ZpZGUKCSAgY3VzdG9tICdlbXB0eScgYnVmZmVycyB0byByZXByZXNlbnQgdGhlIGdhcHMgaW4gdGhlCgkgIHN0cmVhbSwgdGhpcyBjYW4gdmFyeSBvbiBob3cgdGhlIGRhdGEgaXMgcmVwcmVzZW50ZWQuCgkgIFJpZ2h0IG5vdywgdGhlIG9ubHkgc3BhcnNlIHN0cmVhbSBzdXBwb3J0ZWQgaXMgdHgzZyBzdWJ0aXRsZXMuCgoyMDE0LTAyLTA2IDEyOjE1OjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogYWRkIHN1cHBvcnQgZm9yIHRleHQveC1yYXcgc3VidGl0bGVzCgkgIEFkZHMgaXQgdG8gbXA0bXV4LCBxdG11eCBhbmQgZ3BwbXV4LgoJICBCdWZmZXJzIG5lZWQgdG8gYmUgcHJlZml4ZWQgd2l0aCAyIGJ5dGVzIGZvciB0aGUgdGV4dCBsZW5ndGggYmVmb3JlCgkgIGJlaW5nIG11eGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTgxMjk1CgoyMDE0LTAyLTA2IDEyOjA5OjAxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9hdG9tcy5oOgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJICBxdG11eDogYWRkIHN1cHBvcnQgZm9yIHRoZSBUWDNHIGF0b21zCgkgIEFkZHMgZnVuY3Rpb25zIGZvciBjcmVhdGluZyBhbmQgc2V0dGluZyB2YWx1ZXMgcmVsYXRlZCB0byB0aGUKCSAgdHgzZyBhdG9tIGZvciByYXcgdGV4dCBzdWJ0aXRsZSBzdXBwb3J0LgoJICBRVEZGIHNwZWMgaGFzIGluZm9ybWF0aW9uIG9uIHRob3NlIGF0b21zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01ODEyOTUKCjIwMTQtMDItMDUgMTA6Mjc6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4Lmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5oOgoJICBxdG11eDogYWRkIHN1YnRpdGxlIHN1cHBvcnQgdG8gcXRtdXhtYXAgc3RydWN0dXJlcwoJICBhZGRzIGJhc2ljIHN0dWJzIGZvciBzdWJ0aXRsZSBzdXBwb3J0IGFyb3VuZCB0aGUgcXRtdXggYW5kCgkgIHF0bXV4bWFwIHN0cnVjdHVyZXMuIFN0aWxsIG5vIHJlYWwgc3VidGl0bGUgaW1wbGVtZW50ZWQsIGJ1dAoJICBiYXNpYyBmdW5jdGlvbnMgaW4gcGxhY2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU4MTI5NQoKMjAxNC0wMS0yMCAxNzozMToxNCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiBmYWN0b3Igb3V0IHJlYWQgY29udGV4dCBpbml0L3Jlc2V0CgkgIFdoaWxlIGF0IHRoaXMsIG1vdmUgX3RyYWNrX3Jlc2V0KCkgdG8gdHJhY2staWRzCgkgIHNvIGl0IGNhbiBiZSBjYWxsZWQgZnJvbSB0aGUgY29tbW9uIHJlYWQgY29udGV4dAoJICByZXNldCByb3V0aW5lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyNzA1CgoyMDE0LTAyLTA2IDEyOjIxOjA3ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9lZmZlY3R2L2dzdHJldi5jOgoJICBlZmZlY3R2OiBmaXggZG9jIHNlY3Rpb24gb2YgcmV2dHYgZWxlbWVudAoKMjAxNC0wMi0wNSAxMjo0Njo1NCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9NYWtlZmlsZS5hbToKCSAgb3N4dmlkZW86IEZpeCBsaWJ0b29sIHVzYWdlCgkgIC0tdGFnPUNDIGlzIG5lZWRlZCBmb3Igc3RhdGljIGJ1aWxkCgoyMDE0LTAxLTE2IDExOjI2OjQxICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBkbyBub3QgdHJ5IHNldCBkZWludGVybGFjZSBtZXRob2QgaWYgcGFzc3Rocm91Z2ggaXMgZW5hYmxlZAoJICBGaXhlcyBhbiBpc3N1ZSB3aXRoIHByb2dyZXNzaXZlIGNvbnRlbnQgYW5kIHVuc3VwcG9ydGVkIHZpZGVvIGZvcm1hdHMKCSAgZm9yIHRoZSBkZWludGVybGFjZSBtZXRob2QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTk2MzYKCjIwMTQtMDItMDQgMjE6MjY6NTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IG9yZGVyIGZvcm1hdCBpbiB0ZW1wbGF0ZSBjYXBzIGJ5IHByZWZlcmVuY2UKCSAgVG8gbWluaW1pc2UgcmlzayBvZiBiYWQgZml4YXRpb24sIHRob3VnaCBhdWRpb2NvbnZlcnQKCSAgYXQgbGVhc3Qgc2hvdWxkIGJlIHNtYXJ0IGVub3VnaCB0byBhdm9pZCBpdC4KCjIwMTQtMDItMDIgMDk6NTc6MDMgLTA4MDAgIERhbiBLZWdlbCA8ZGFua0BrZWdlbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIHY0bDI6IFJlbW92ZSBvYnNvbGV0ZSBkZWZpbml0aW9uIEdTVF9WNEwyX01JU1NJTkdfQlVGREVDTAoJICBUaGUgb25seSB1c2Ugd2FzIHJlbW92ZWQgYnkgOWVkYzBjMDM2NWY3OWFiMDdmZjJlNjU0NjFjNjY5NmUzOTMxYTNmMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzNDQ2CgoyMDE0LTAyLTA0IDEzOjQzOjU2ICswMTAwICBSYWZhxYIgTXXFvHnFgm8gPGdhbHRnZW5kb0BvMi5wbD4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJICBnc3Q6IERvbid0IHVzZSBlbmRpYW5uZXNzLXNwZWNpZmljIFM4IGF1ZGlvIGZvcm1hdAoJICBJdCBkb2VzIG5vdCBleGlzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzMzMQoKMjAxNC0wMS0zMSAxNDoxNzo1NCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9vdmVybGF5LmM6CgkgIGNhaXJvb3ZlcmxheTogYWRkIHN1cHBvcnQgZm9yIFJHQjE2CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjMyODkKCjIwMTQtMDEtMzAgMDk6NDM6NTAgKzAxMDAgIFBlciB4IEpvaGFuc3NvbiA8cGVyeGpvaEBheGlzLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBtYXRyb3NrYW11eDogRml4IGNvbnN0YW50bHkgZ3Jvd2luZyB1c2VkIHVpZCBsaXN0CgkgIE1vdmVzIHRoZSB1c2VkIHVpZCBsaXN0IHRvIHRoZSBjbGFzcyB0byBhdm9pZCBoYXZpbmcgaXQgZ3JvdyBmb3JldmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzMjY5CgoyMDE0LTAxLTMwIDEwOjQ0OjA1ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBkNDhiZWQzIHRvIDFhMDdkYTkKCjIwMTQtMDEtMjQgMDE6NTI6MDggKzAwMDAgIE1pa2UgU2hlbGRvbiA8ZWxsZW9AZ251Lm9yZz4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogSWdub3JlIEJyb2FkY2FzdCBXYXZlIEZvcm1hdCAoQldGKSB0YWdzIHdoZW4gc2VhcmNoaW5nIGZvciAnZm10JyBjaHVuawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzMTI1CgoyMDE0LTAxLTI5IDEwOjM3OjUzICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYXV4LmM6CgkgIGNoZWNrOiBVc2UgZmFrZXNpbmsgc3luYz1UcnVlIGluc3RlYWQgb2YgYW4gYXVkaW8gc2luawoJICBFbnN1cmVzIHRoZSB0ZXN0IGNhbiBydW4gb24gc3lzdGVtcyB3aXRob3V0IGFsc2EgKG9yIGFueSBhdWRpbyBvdXRwdXQgZm9yCgkgIHRoYXQgbWF0dGVyKSwgYW5kIHdpbGwgYXZvaWQgcGVvcGxlIHJ1bm5pbmcgYnVpbGQgc2xhdmVzIHdvbmRlcmluZyB3aGF0CgkgIHRoZSBoZWxsIHdhcyBiZWVwaW5nIGR1cmluZyB0aGUgbmlnaHQgOikKCjIwMTQtMDEtMjcgMjA6MDU6NDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IGN1c3RvbSBnZXRfc2lua19jYXBzIGhhbmRsaW5nIGZvciBwcml2YXRlIHN0cmVhbSBjYXBzCgkgIC4uLiBub3cgdGhhdCB0aG9zZSBhcmUgdHJhbnNmb3JtZWQgcmF0aGVyIHRoYW4gcGFyc2VkLCBzb21lIHRyYW5zZm9ybWluZwoJICBvZiBjYXBzIGlzIHJlcXVpcmVkIGFzIHdlbGwgdG8gbWFrZSBhdXRvLXBsdWdnaW5nIHN1Y2NlZWQuCgoyMDE0LTAxLTI1IDAyOjA2OjAwIC0wNTAwICBSeWFuIExvcnRpZSA8ZGVzcnRAZGVzcnQuY2E+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IGd1YXJkIHVzZSBvZiBFTk9EQVRBIHdpdGggI2lmZGVmCgkgIE5vdCBhbGwgc3lzdGVtcyB3aXRoIHY0bCBoYXZlIEVOT0RBVEEgZGVmaW5lZCwgc28gY2hlY2sgdGhhdCB3ZSBoYXZlIGl0CgkgIGJlZm9yZSBhdHRlbXB0aW5nIHRvIHVzZSBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjk1MwoKMjAxNC0wMS0yNCAxMjozNzozOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBSZXZlcnQgInJ0c3BzcmM6IFByb3h5IHJ0cGppdHRlcmJ1ZmZlciBkby1yZXRyYW5zbWlzc2lvbiBwcm9wZXJ0eSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA5ZjdiMTEyOGIxZjAwYTJiODdhMjMyZmY4OTA4Njc1NDlhYjk1YmE1LgoJICBUaGlzIHNob3VsZCBiZSBoYW5kbGVkIGF1dG9tYXRpY2FsbHkgYmUgcnRzcHNyYyBpZiB0aGUgQVZQRiBwcm9maWxlCgkgIGlzIHVzZWQsIGFuZCBtYW51YWwgZW5hYmxpbmcgb2YgaXQgY2FuIGJlIGRvbmUgd2l0aCB0aGUgbmV3LW1hbmFnZXIKCSAgc2lnbmFsLgoKMjAxNC0wMS0yNCAxMDoyMToxMSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFkZCBzaWduYWwgdG8gbm90aWZ5IG9mIG5ldyBtYW5hZ2VyCgkgIFNvIHRoYXQgeW91IGNhbiBjb25maWd1cmUgYW5kIGNvbm5lY3QgdG8gc2lnbmFscyBvbiB0aGUgcnRwYmluLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjg2NgoKMjAxNC0wMS0yMyAxNToxNzo1OCAtMDgwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogUHJveHkgcnRwaml0dGVyYnVmZmVyIGRvLXJldHJhbnNtaXNzaW9uIHByb3BlcnR5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjI4NjYKCjIwMTQtMDEtMjEgMTc6NTI6NDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogaGFuZGxlIGV4cGVjdGVkIHBhY2tldCBiZWluZyBhbiBSVFggcGFja2V0CgkgIElmIHRoZSBleHBlY3RlZCBwYWNrZXQgKGRvX25leHRfc2VxbnVtIGlzIFRSVUUpIGlzIHRoZSBvbmUgd2UgcmVxdWVzdGVkCgkgIGZvciByZXRyYW5taXNzaW9uIGVhcmxpZXIsIGRvIHRoZSBsb2dpYyB0byB1cGRhdGUgdGhlIHJldHJhbnNtaXNzaW9uCgkgIHN0YXRpc3RpY3MgYXMgd2VsbCBiZWZvcmUgc2V0dGluZyB1cCB0aGUgdGltZXJzIGZvciB0aGUgbmV4dCBleHBlY3RlZAoJICBwYWNrZXQuCgkgIEFsc28gcmVzZXQgdGhlIHJldHJhbnNtaXNzaW9uIGNvdW50ZXIgaWYgdGhlIHRpbWVyIGlzIHJldXNlZCBmb3IgYW5vdGhlcgoJICBzZXFudW0uCgoyMDE0LTAxLTIxIDE1OjQ4OjIwICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGFkZCBhIGNhcHMgYWNjdW11bGF0b3IgZm9yIHRoZSByZXF1ZXN0LXB0LW1hcCBzaWduYWwKCSAgQWRkIGFuIGFjY3VtdWxhdG9yIHRoYXQgc3RvcHMgdGhlIHNpZ25hbCBlbWlzc2lvbiBhcyBzb29uIGFzIGEgY2FwcyBoYXMKCSAgYmVlbiByZXRyaWV2ZWQuIE90aGVyd2lzZSB0aGUgZGVmYXVsdCBoYW5kbGVyIHdvdWxkIGNvbnRpbnVlIGVtaXR0aW5nCgkgIHRoZSBzaWduYWwgYW5kIHBvc3NpYmx5IG92ZXJ3cml0ZSB0aGUgcmVzdWx0IHdpdGggTlVMTCBhZ2Fpbi4KCjIwMTQtMDEtMjEgMTU6MjU6NTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cmVjZWl2ZS5jOgoJICBydHhyZWNlaXZlOiBjb3B5IGZsYWdzIGFuZCB0aW1lc3RhbXBzIGZyb20gb3JpZ2luYWwgYnVmZmVyCgoyMDE0LTAxLTIxIDE1OjI0OjUyICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGlnbm9yZSBpbnZhbGlkIHRpbWVzdGFtcHMgaW4gcnR0IGNhbGN1bGF0aW9uCgkgIFdoZW4gdGhlIGlucHV0IGJ1ZmZlciBkb2VzIG5vdCBoYXZlIGEgdmFsaWQgdGltZXN0YW1wLCBkb24ndCB0cnkgdG8KCSAgY2FsY3VsYXRlIHRoZSByb3VuZC10cmlwLXRpbWUuCgoyMDE0LTAxLTE2IDE0OjIzOjEzIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYXBhcnNlOiBiZXR0ZXIgZGVmYXVsdCBjYXBzIHdoZW4gbm9uZSBzZXQKCSAgVXNlcyBpbmZvcm1hdGlvbiBnYXRoZXJlZCBkdXJpbmcgRUJNTCBwYXJzaW5nIHRvCgkgIGZvcmdlIGEgbW9yZSBzdWl0YWJsZSBzZXQgb2YgY2FwcyBpbnN0ZWFkIG9mIGJsaW5kbHkKCSAgYXNzdW1pbmcgZXZlcnl0aGluZyBpcyB2aWRlby94LW1hdHJvc2thLgoJICBGb3IgY29uc2lzdGVuY3ksIHN0cmVhbSB0eXBlIHJlc2V0IHdhcyBhZGRlZCB0bwoJICBtYXRyb3NrYS1kZW11eCB0b28uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIzMTEKCjIwMTQtMDEtMTUgMTc6Mjk6MzUgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSAgdGVzdHM6IHJ0cHJ0eDo6dGVzdF9ydHhyZWNlaXZlX2RhdGFfcmVjb25zdHJ1Y3Rpb246IHJlbW92ZSB1c2VsZXNzIGNvZGUgZm9yIHRyaWdnZXJpbmcgcmV0cmFuc21pc3Npb24KCSAgVGhlcmUgaXMgbm8gbmVlZCBhbnltb3JlIHRvIHB1c2ggeWV0IGFub3RoZXIgYnVmZmVyIGluIHJ0eHNlbmQKCSAgaW4gb3JkZXIgdG8gdHJpZ2dlciB0aGUgcHJldmlvdXNseSByZXF1ZXN0ZWQgcmV0cmFuc21pc3Npb25zCgkgIHRvIGFjdHVhbGx5IGhhcHBlbi4KCjIwMTQtMDEtMTUgMTc6Mjc6MTkgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSAgdGVzdHM6IHJ0cHJ0eDo6dGVzdF9ydHhyZWNlaXZlX2RhdGFfcmVjb25zdHJ1Y3Rpb246IGZpeCByYWNlIGNvbmRpdGlvbgoJICBOb3cgd2l0aCBydHBydHhzZW5kIHB1c2hpbmcgcnR4IGJ1ZmZlcnMgZnJvbSBhIGRpZmZlcmVudCB0aHJlYWQsCgkgIHRoaXMgaXMgbmVjZXNzYXJ5IHRvIGVuc3VyZSB0aGF0IHRoZSByZXN1bHQgb2YgdGhlIHRlc3QgaXMgZGV0ZXJtaW5pc3RpYy4KCSAgVGhpcyBjb2RlIG1ha2VzIHVzZSBvZiBHc3RDaGVjaydzIGdsb2JhbCBHTXV0ZXggYW5kIEdDb25kIHRoYXQgYXJlCgkgIGJlaW5nIHVzZWQgaW5zaWRlIEdzdENoZWNrJ3Mgc2luayBwYWQgY2hhaW4oKSBmdW5jdGlvbiBpbiBvcmRlcgoJICB0byBzeW5jaHJvbml6ZSB3aXRoIGl0LgoKMjAxNC0wMS0xNSAxNzoxNzo1NyArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHJ0eC5jOgoJICB0ZXN0czogcnRwcnR4Ojp0ZXN0X3J0eHNlbmRlcl9wYWNrZXRfcmV0ZW50aW9uOiBmaXggcmFjZSBjb25kaXRpb24KCSAgTm93IHdpdGggcnRwcnR4c2VuZCBwdXNoaW5nIHJ0eCBidWZmZXJzIGZyb20gYSBkaWZmZXJlbnQgdGhyZWFkLAoJICB0aGlzIGlzIG5lY2Vzc2FyeSB0byBlbnN1cmUgdGhhdCB0aGUgcmVzdWx0IG9mIHRoZSB0ZXN0IGlzIGRldGVybWluaXN0aWMuCgkgIFRoaXMgY29kZSBtYWtlcyB1c2Ugb2YgR3N0Q2hlY2sncyBnbG9iYWwgR011dGV4IGFuZCBHQ29uZCB0aGF0IGFyZQoJICBiZWluZyB1c2VkIGluc2lkZSBHc3RDaGVjaydzIHNpbmsgcGFkIGNoYWluKCkgZnVuY3Rpb24gaW4gb3JkZXIKCSAgdG8gc3luY2hyb25pemUgd2l0aCBpdC4KCjIwMTQtMDEtMTUgMTE6MjY6MzMgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSAgdGVzdHM6IHJ0cHJ0eDo6dGVzdF9wdXNoX2ZvcndhcmRfc2VxOiBmaXggcmFjZSBjb25kaXRpb24KCSAgTm93IHdpdGggcnRwcnR4c2VuZCBwdXNoaW5nIHJ0eCBidWZmZXJzIGZyb20gYSBkaWZmZXJlbnQgdGhyZWFkLAoJICB0aGlzIGlzIG5lY2Vzc2FyeSB0byBlbnN1cmUgdGhhdCB0aGUgcmVzdWx0IG9mIHRoZSB0ZXN0IGlzIGRldGVybWluaXN0aWMuCgkgIFRoaXMgY29kZSBtYWtlcyB1c2Ugb2YgR3N0Q2hlY2sncyBnbG9iYWwgR011dGV4IGFuZCBHQ29uZCB0aGF0IGFyZQoJICBiZWluZyB1c2VkIGluc2lkZSBHc3RDaGVjaydzIHNpbmsgcGFkIGNoYWluKCkgZnVuY3Rpb24gaW4gb3JkZXIKCSAgdG8gc3luY2hyb25pemUgd2l0aCBpdC4KCjIwMTQtMDEtMTUgMDk6NDc6MDMgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSAgdGVzdHM6IHJ0cHJ0eDo6dGVzdF9wdXNoX2ZvcndhcmRfc2VxOiBmaXggYnVmZmVyIHJlZmNvdW50aW5nCgoyMDE0LTAxLTIxIDEzOjQyOjM4ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJICBydHBydHhzZW5kOiBlbnN1cmUgdGhhdCBubyBydHggYnVmZmVycyBhcmUgc2VudCBhZnRlciBFT1MKCSAgVG8gZG8gdGhhdCwgZW5xdWV1ZSB0aGUgRU9TIGV2ZW50IHRvIGJlIHNlbnQgZnJvbSB0aGUgc3JjcGFkIHRhc2sKCSAgdGhyZWFkIGFuZCBmbHVzaCB0aGUgcXVldWUgcmlnaHQgYWZ0ZXJ3YXJkcywgc28gdGhhdCBubyBtb3JlIHJ0eAoJICBidWZmZXJzIGNhbiBiZSBzZW50LCBldmVuIGlmIHRoZXJlIGFyZSBtb3JlIHJlcXVlc3RzIGNvbWluZyBpbi4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjM3MAoKMjAxNC0wMS0xNSAwOTo0NjoxNCArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5oOgoJICBydHBydHhzZW5kOiBydW4gYSBuZXcgR3N0VGFzayBvbiB0aGUgc3JjIHBhZAoJICBUaGUgcmVhc29uIGJlaGluZCB0aGlzIGlzIHRvIG1pbmltaXplIHRoZSByZXRyYW5zbWlzc2lvbiBkZWxheS4KCSAgUHJldmlvdXNseSwgd2hlbiBhIE5BQ0sgd2FzIHJlY2VpdmVkLCBydHBydHhzZW5kIHdvdWxkIHB1dCBhCgkgIHJldHJhbnNtaXNzaW9uIHBhY2tldCBpbiBhIHF1ZXVlIGFuZCBpdCB3b3VsZCBzZW5kIGl0IGZyb20gY2hhaW4oKSwKCSAgaS5lLiBvbmx5IGFmdGVyIGEgbmV3IGJ1ZmZlciB3b3VsZCBhcnJpdmUuCgkgIFRoaXMgdW5mb3J0dW5hdGVseSB3YXMgY2F1c2luZyBiaWcgZGVsYXlzLCBpbiB0aGUgb3JkZXIgb2YgNjAtMTAwIG1zLAoJICB3aGljaCBjYW4gYmUgY3JpdGljYWwgZm9yIHRoZSByZWNlaXZlciBzaWRlLgoJICBCeSBoYXZpbmcgYSBzZXBhcmF0ZSBHc3RUYXNrIGZvciBwdXNoaW5nIGJ1ZmZlcnMgb3V0IG9mIHJ0eHNlbmQsCgkgIHdlIGNhbiBwdXNoIGJ1ZmZlcnMgb3V0IHJpZ2h0IGFmdGVyIHJlY2VpdmluZyB0aGUgZXZlbnQsIHdpdGhvdXQKCSAgd2FpdGluZyBmb3IgY2hhaW4oKSB0byBnZXQgY2FsbGVkLgoKMjAxNC0wMS0wMyAxNzo0Nzo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmg6CgkgIHNob3V0MnNlbmQ6IGVycm9yIG91dCBpZiBubyBjYXBzIHdlcmUgcmVjZWl2ZWQKCSAgSW5zdGVhZCBvZiBhc3N1bWluZyB0aGF0IGlucHV0IGlzIG9nZy4KCjIwMTQtMDEtMDMgMTc6MzA6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJICBzaG91dDJzZW5kOiBhY2NlcHQgYXVkaW8vd2VibSwgYXVkaW8vb2dnIGFuZCB2aWRlby9vZ2cgYXMgd2VsbAoJICBUaG9zZSBhcmUgYWR2ZXJ0aXNlZCBpbiB0aGUgdGVtcGxhdGUgY2FwcywgYnV0IHRoZQoJICBzZXRjYXBzIGhhbmRsZXIgZGlkbid0IGhhbmRsZSB0aGVtLiBCdXQgdGhlbiBvZ2dtdXgKCSAgYW5kIG9nZ3BhcnNlIGF0IGxlYXN0IGZvciBub3cgc3RpbGwgYWx3YXlzIG91dHB1dAoJICBhcHBsaWNhdGlvbi9vZ2cgYW55d2F5LCBzbyB0aGF0IHdhc24ndCBhIHJlYWwgcHJvYmxlbS4KCjIwMTQtMDEtMjAgMTA6MTI6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJICBydHB2cDhwYXk6IERvbid0IGxlYWsgaW5wdXQgYnVmZmVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyNDE0CgoyMDE0LTAxLTE5IDE3OjQwOjU2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IHJlc2V0IHNvbWUgbW9yZSBhdWRpbyBwYWQgZGF0YSB3aGVuIG5lZWRlZAoKMjAxNC0wMS0xOSAxNzozODo1OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguaDoKCSAgYXZpbXV4OiB3cml0ZSBjb3JyZWN0IGJsb2NrYWxpZ24gZm9yIHZiciBhdWRpbwoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNjU5CgoyMDE0LTAxLTE2IDE3OjM2OjEyIC0wODAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGRvIG5vdCBkcm9wIHNlcmlhbGl6ZWQgZXZlbnRzIHdoZW4gbGF0ZW5jeSBpcyBzZXQKCSAgU2VyaWFsaXplZCBldmVudHMgYXJlIG5vdyBxdWV1ZWQgaW4gdGhlIGppdHRlciBidWZmZXIsIHNvIHdlIGRvbid0CgkgIHdhbnQgdG8gZHJvcCB0aGVtIGV2ZW4gbGF0ZW5jeSBpcyBzZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIzNzIKCjIwMTMtMTItMTEgMDk6MzY6MjIgKzAxMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBkb24ndCBtYWtlIHRoZSBidWZmZXIgd3JpdGFibGUgdW5sZXNzIGFic29sdXRlbHkgbmVjZXNzYXJ5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIzOTYKCjIwMTMtMDktMTIgMTY6NTY6NTYgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogc2V0IEdTVF9CVUZGRVJfRkxBR19ERUxUQV9VTklUIHdoZW4gYXBwcm9wcmlhdGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjM5NAoKMjAxNC0wMS0xNyAwNzo0NjowOSArMDEwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogZG9uJ3QgcmVmIHRoZSBuZXdseSBjcmVhdGVkIGFsbG9jYXRvcgoJICBPdGhlcndpc2UgdGhlIGFsbG9jYXRvciB3aWxsIG5ldmVyIGJlIGRlbGV0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTI2MTIKCjIwMTQtMDEtMTUgMjI6NDc6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogRG9uJ3Qgc2tpcCBhbGwgdmlkZW8gZnJhbWVzIHVudGlsIHRoZSBmaXJzdCBrZXlmcmFtZQoJICBJbnN0ZWFkIGRvIGl0IGxpa2UgYWxsIG90aGVyIGRlbXV4ZXJzIGFuZCBsZXQgcGFyc2VycyBhbmQgZGVjb2RlcnMKCSAgaGFuZGxlIHRoYXQuIFRoZSBrZXlmcmFtZSBpbmZvcm1hdGlvbiBpbnNpZGUgdGhlIGNvbnRhaW5lciBtaWdodAoJICBiZSBjb21wbGV0ZWx5IHdyb25nIGxpa2UgaW4gdGhlIHNhbXBsZSBmaWxlIG9mIHRoZSBidWcgcmVwb3J0LAoJICBhbmQgaWYgaXQgaXMgY29ycmVjdCBhbmQgd2UgcHVzaCBubyBrZXlmcmFtZXMsIHRoZW4gdGhlIHBhcnNlcnMKCSAgYW5kIGRlY29kZXJzIHdpbGwgaGFuZGxlIHRoYXQgcHJvcGVybHkgYW55d2F5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgyMjc2CgoyMDE0LTAxLTEzIDEwOjA4OjA5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogcmVtb3ZlIGVsc3Rfb2Zmc2V0IHZhcmlhYmxlcwoJICBUaGV5IGFyZSBub3QgdXNlZCBhbnltb3JlCgoyMDE0LTAxLTA2IDIxOjM2OjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiByZW1lbWJlciByZXZlcnNlIHBsYXliYWNrIHdoZW4gdmVyaWZ5aW5nIHRoZSBzZWdtZW50IGVuZAoJICBDaGVjayBpZiB0aGUgcmF0ZSBpcyBwb3NpdGl2ZSBvciBuZWdhdGl2ZSB0byBjb3JyZWN0bHkgY29tcGFyZSB0aGUgY3VycmVudAoJICBwb3NpdGlvbiB3aXRoIHRoZSBzZWdtZW50IHRvIG1ha2UgcmV2ZXJzZSBwbGF5YmFjayB3b3JrCgoyMDE0LTAxLTAzIDEwOjU5OjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogZG8gbm90IGlnbm9yZSBlbXB0eSBzZWdtZW50cwoJICBNYWtlIHN1cmUgZW1wdHkgc2VnbWVudHMgYXJlIHVzZWQgYW5kIHB1c2hlZCB3aXRoIGEgZ2FwIGV2ZW50CgkgIHRvIHJlcHJlc2VudCBpdHMgZGF0YSAob3IgbGFjayBvZiBpdCkKCSAgRWFjaCBRdFNlZ21lbnQgaXMgbWFwcGVkIGludG8gYSBHc3RTZWdtZW50IHdpdGggdGhlIGNvcnJlc3BvbmRpbmcKCSAgbWVkaWEgcmFuZ2UuIEZvciBlbXB0eSBRdFNlZ21lbnRzIGEgZ2FwIGV2ZW50IGlzIHB1c2hlZCBpbnN0ZWFkCgkgIG9mIEdzdEJ1ZmZlcnMgYW5kIGl0IGFkdmFuY2VzIHRvIHRoZSBuZXh0IFF0U2VnbWVudC4KCSAgVG8gbWFrZSB0aGlzIHdvcmsgd2l0aCBzZWVrcywgbmVlZCB0byBrZWVwIHRyYWNrIG9mIHRoZSBzdGFydGluZwoJICAnYmFzZScgdG8gbWFrZSBzdXJlIGl0IHJlbWFpbnMgY29uc2lzdGVudGx5IGluY3JlYXNpbmcgd2hlbgoJICBwdXNoaW5nIG5ldyBzZWdtZW50IGV2ZW50cy4KCSAgRm9yIGV4YW1wbGU6IGlmIGEgc2VlayBtYWtlcyBxdGRlbXV4IHN0YXJ0IGZyb20gNXMsIHRoZSBmaXJzdAoJICBzZWdtZW50IHdpbGwgaGF2ZSBhIGJhc2U9MC4gV2hlbiB0aGUgbmV4dCBzZWdtZW50IGlzIGFjdGl2YXRlZCwKCSAgaXRzIGJhc2UgdGltZSB3aWxsIGJlIFF0U2VnbWVudC50aW1lIC0gcXRkZW11eC5zZWdtZW50X2Jhc2Ugc28KCSAgdGhhdCBpdCBkb2Vzbid0IGluY2x1ZGUgdGhlIGZpcnN0IDVzIHRoYXQgd2VyZW4ndCBwbGF5ZWQgYW5kCgkgIHNob3VsZG4ndCBiZSBhY2NvdW50ZWQgb24gdGhlIHJ1bm5pbmcgdGltZQoJICBUaGlzIHB1cnBvc2VkbHkgd2lsbCByZW1vdmUgdGhlIGZpeCBtYWRlIGZvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMjY0LCBhdCB0aGlzCgkgIHBvaW50IGl0IHdhcyBkZWNpZGVkIHRvIHJlc3BlY3QgdGhlIGdhcHMsIGV2ZW4gaWYgdGhleSBjYXVzZQoJICBhIGRlbGF5IG9uIHBsYXliYWNrLCBiZWNhdXNlIHRoYXQncyB0aGUgd2F5IHRoZSBmaWxlIHdhcyBjcmFmdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzQ1ODMwCgoyMDEzLTEyLTEyIDIzOjA1OjQzIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwcnR4LmM6CgkgIHRlc3RzOiBSZW1vdmUgdXNhZ2Ugb2YgdGhlIHN5c3RlbSBjbG9jayBmcm9tIHRoZSBydHBydHggdGVzdAoKMjAxMy0xMi0xMiAyMzoyMjo0MSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGNvbGxpc2lvbi5jOgoJICB0ZXN0czogSW5pdGlhbCBzZWdtZW50IGluIHJ0cGNvbGxpc2lvbiB0ZXN0CgoyMDE0LTAxLTE0IDE1OjU2OjQyICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1ydHBhdXguYzoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1ydHBhdXguYzoKCSAgZXhhbXBsZXMvKi1ydHBhdXg6IHNwZWNpZnkgcGF5bG9hZCB0eXBlIGFzc29jaWF0aW9uIGZvciB0aGUgYXVkaW8gc3RyZWFtLCBzbyB0aGF0IHJ0eCB3b3JrcyBhbHNvIGZvciBhdWRpbwoKMjAxNC0wMS0xNCAxMzowODoxOCArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSAgcnRwcnR4c2VuZDogcmVtb3ZlIHdyb25nIGNoZWNrIGZvciBwYXlsb2FkIHR5cGUgbm90IGhhdmluZyBiZWVuIHNldAoJICAxKSBwdCBjYW4gYmUgbG93ZXIgdGhhbiA5NgoJICAyKSB0aGVyZSBpcyBubyBwb2ludCBpbiBjaGVja2luZyB0aGF0IGJlY2F1c2UgcnRwcnR4c2VuZCB3aWxsIG5vdAoJICBldmVuIHN0b3JlIGJ1ZmZlcnMgZm9yIHBheWxvYWQgdHlwZXMgdGhhdCBpdCBkb2Vzbid0IGtub3cgYWJvdXQsCgkgIHNvIHRoaXMgY2FzZSB3aWxsIG5ldmVyIGJlIHJlYWNoZWQKCjIwMTQtMDEtMTQgMTM6MDE6NDEgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkgIHJ0cHJ0eHNlbmQ6IGZpeCBkYXRhIGxvY2tpbmcgd2hlbiBjcmVhdGluZyBydHggcGFja2V0cwoJICBUaGlzIHBhdGNoIG1vdmVzIHRoZSBjcmVhdGlvbiBvZiBydHggcGFja2V0cyB0byBiZSBkb25lIGVhcmx5LAoJICBpbiB0aGUgc3JjX2V2ZW50KCkgZnVuY3Rpb24sIHdoZW4gdGhleSBhcmUgcmVxdWVzdGVkLiBUaGUgcHVycG9zZQoJICBpcyB0byBydW4gZ3N0X3J0cF9ydHhfYnVmZmVyX25ldygpIHdpdGggdGhlIG9iamVjdCBsb2NrZWQgdG8KCSAgcHJvdGVjdCBpbnRlcm5hbCBkYXRhLCBiZWNhdXNlIGlmIGl0IGlzIGRvbmUgYXQgdGhlIHB1c2hpbmcgc3RhZ2UsCgkgIHdlIHdvdWxkIGhhdmUgdG8gbG9jayBhbmQgdW5sb2NrIG11bHRpcGxlIHRpbWVzIGluIGEgcm93IHdoaWxlIHdlCgkgIGFyZSBwdXNoaW5nIHRoZSBydHggYnVmZmVycy4KCSAgUHJldmlvdXNseSB0aGVyZSB3YXMgbm8gbG9ja2luZyBhdCBhbGwsIHdoaWNoIHdhcyB0ZXJyaWJseSB3cm9uZy4KCjIwMTQtMDEtMTQgMTI6NTA6MjMgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkgIHJ0cHJ0eHNlbmQ6IGxvY2sgYWNjZXNzIHRvIGludGVybmFsIGRhdGEgaW4gc2lua19ldmVudCgpIGZ1bmN0aW9uCgoyMDE0LTAxLTE0IDEyOjQ0OjA2ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJICBydHBydHhzZW5kOiByZW1vdmUgdW5uZWNlc3NhcnkgY2FsbCB0byByZXNldCgpIGZyb20gZmluYWxpemUoKQoJICAuLi5hbmQgdXNlIF9mcmVlX2Z1bGwoKSBvbiB0aGUgcGVuZGluZyBidWZmZXJzIHF1ZXVlIG5vdyB0aGF0CgkgIHJlc2V0KCkgaXMgbm90IGJlaW5nIGNhbGxlZAoKMjAxNC0wMS0xNCAxMjozODo1MSArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSAgcnRwcnR4c2VuZDogcmVtb3ZlIHVudXNlZCBwYXJhbWV0ZXIgZnJvbSB0aGUgaW50ZXJuYWwgcmVzZXQoKSBtZXRob2QKCjIwMTQtMDEtMTQgMTI6MzI6MzggKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkgIHJ0cHJ0eHNlbmQ6IFVzZSBnX3NsaWNlXyogZm9yIGFsbG9jYXRpbmcgaW50ZXJuYWwgc3RydWN0dXJlcwoKMjAxNC0wMS0xNCAxMjoyODowMSArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHJlY2VpdmUuYzoKCSAgcnRwcnR4cmVjZWl2ZTogcmVtb3ZlIHN0dXBpZCBtdXRleCB1bmxvY2sgaW4gdGhlIG1pZGRsZSBvZiBjaGFpbigpCgoyMDE0LTAxLTE0IDEyOjI1OjM2ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cmVjZWl2ZS5jOgoJICBydHBydHhyZWNlaXZlOiB1c2UgR1NUX0RFQlVHX09CSkVDVCAvIEdTVF9XQVJOSU5HX09CSkVDVCBpbnN0ZWFkIG9mIEdTVF9ERUJVRyAvIGdfd2FybmluZwoKMjAxNC0wMS0xNCAxMjoxOTo1OCArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHJlY2VpdmUuYzoKCSAgcnRwcnR4cmVjZWl2ZTogZml4IGludGVnZXIgZm9ybWF0IHNwZWNpZmllcnMgaW4gR1NUX0RFQlVHCgkgIHNlcW51bSBpbiB0aGlzIGZ1bmN0aW9uIGlzIDMyLWJpdCwgc28gR19HVUlOVDE2X0ZPUk1BVCB3b3VsZAoJICBwcm9kdWNlIHVuZGVmaW5lZCBvdXRwdXQgb24gYmlnIGVuZGlhbiBzeXN0ZW1zCgoyMDE0LTAxLTE0IDEyOjEzOjQ5ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmg6CgkgIHJ0cHJ0eHNlbmQ6IGNoYW5nZSB0aGUgcnR4X3B0X21hcCBkaXJlY3RseSBpbiBzZXRfcHJvcGVydHkoKSBpbnN0ZWFkIG9mIGRlbGF5aW5nIGl0IGZvciBjaGFpbigpCgkgIFRoZSBzYW1lIGxvY2sgaXMgaGVsZCwgc28gdGhlcmUgaXMgbm8gcG9pbnQgaW4gY29tcGxpY2F0aW5nIGl0Li4uCgoyMDE0LTAxLTE0IDEyOjA3OjU4ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cmVjZWl2ZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmg6CgkgIHJ0cHJ0eHJlY2VpdmU6IGNoYW5nZSB0aGUgcnR4X3B0X21hcCBkaXJlY3RseSBpbiBzZXRfcHJvcGVydHkoKSBpbnN0ZWFkIG9mIGRlbGF5aW5nIGl0IGZvciBjaGFpbigpCgkgIFRoZSBzYW1lIGxvY2sgaXMgaGVsZCwgc28gdGhlcmUgaXMgbm8gcG9pbnQgaW4gY29tcGxpY2F0aW5nIGl0Li4uCgoyMDE0LTAxLTE0IDExOjU1OjAwICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cmVjZWl2ZS5jOgoJICBydHBydHhyZWNlaXZlOiBzaW1wbGlmeSB0aGUgY29kZSBvZiBmaW5hbGl6ZSgpCgoyMDE0LTAxLTE0IDExOjUyOjIxICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cmVjZWl2ZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmg6CgkgIHJ0cHJ0eHJlY2VpdmU6IHVzZSB0aGUgR3N0T2JqZWN0IGxvY2sgaW5zdGVhZCBvZiBhIG5ldyBvbmUKCjIwMTQtMDEtMTQgMTE6NDU6NTIgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuaDoKCSAgcnRwcnR4c2VuZDogdXNlIHRoZSBHc3RPYmplY3QgbG9jayBpbnN0ZWFkIG9mIGEgbmV3IG9uZQoKMjAxMy0xMi0xMCAxNDoyOTo1NSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBBZGQgTlYxMl82NFozMiBzdXBwb3J0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIxMjcKCjIwMTQtMDEtMTQgMTk6MDg6NDkgKzA5MDAgIEp1c3RpbiBKb3kgPGp1c3Rpbi5qb3kuOXRvNUBnbWFpbC5jb20+CgoJKiBzeXMvb3NzL2dzdG9zc2hlbHBlci5jOgoJICBvc3NoZWxwZXI6IERvbid0IGxlYWsgZmQgd2hlbiBnZXR0aW5nIGNhcmQgbmFtZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMTYzCgoyMDE0LTAxLTE0IDA5OjQzOjMzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgUmV2ZXJ0ICJhYWNwYXJzZTogcmVsYXggdGhlIGRldGVjdGlvbiBvZiBBRFRTIgoJICBUaGlzIHdhcyBwdXNoZWQgYnkgbWlzdGFrZSBhbG9uZyB3aXRoIHRoZSBWNEwyIGZpeC4KCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA4ZWI0YjAzMmJlZjQ0NDM5N2M0ZDIxMWYyMDk1YzE3M2JhMTE0MTg3LgoKMjAxNC0wMS0xNCAxNTo0MjowMSArMDkwMCAgSnVzdGluIEpveSA8anVzdGluLmpveS45dG81QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJICBydHBnNzI2cGF5OiBkb24ndCBsZWFrIGVuY29kaW5nX25hbWUgc3RyaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIxNTkKCjIwMTQtMDEtMTMgMDk6MTQ6MDAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBmaXggYnVpbGQgYnJlYWsgdXNpbmcgVjRMMl9DQVBfVklERU9fTTJNX01QTEFORQoJICBUaGlzIG1heSBub3QgYmUgZGVmaW5lZC4gU2luY2UgdGhlIHByZXZpb3VzIHZlcnNpb24gdXNlZAoJICBvbmx5IHRoZSBvdGhlciBkZWZpbmUgKFY0TDJfQ0FQX1ZJREVPX09VVFBVVF9NUExBTkUpLCBmYWxsCgkgIGJhY2sgb24gdGhpcyBvbmx5IHdoZW4gbm90IGF2YWlsYWJsZS4KCjIwMTMtMDItMjcgMDE6NDU6NTIgKzA5MDAgIEFraWhpcm8gVHN1a2FkYSA8YXRzdWthZGFAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogcmVsYXggdGhlIGRldGVjdGlvbiBvZiBBRFRTCgkgIEFjY29yZGluZyB0byBJU08vSUVDIDEzODE4LTcsICJjaGFubmVsX2NvbmZpZyIgZmllbGQgaW4gQURUUyBoZWFkZXIKCSAgbWF5IGhhdmUgdmFsdWUgb2YgMCwgYXMgaW4gdGhlIGNhc2Ugb2YgZnJhbWUgd2l0aCBQQ0UuCgkgIGdzdF9hYWNfcGFyc2VfZGV0ZWN0X3N0cmVhbXMoKSByZXR1cm5lZCBGQUxTRSBmb3IgdGhvc2UgZnJhbWVzCgkgIGFuZCBkaXNjYXJkZWQgdGhlbS4KCjIwMTQtMDEtMDcgMTE6NTg6MjMgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IGNoZWNrIHNldF9jb25maWcgcmV0dXJuIHZhbHVlIGluIGdzdF92NGwyX2J1ZmZlcl9wb29sX25ldwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDE0LTAxLTEwIDEyOjQwOjMxIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IEFkZCBwYXJzZWQ9MSBmaWVsZCBmb3IgZW5jb2RlZCBvdXRwdXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxNC0wMS0xMCAxMjozOToxNiAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBEb24ndCBsZWFrIGVtcHR5IGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxNC0wMS0wOCAxNjo1MToyMSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogZG8gbm90IHN0b3AgYSBzdHJlYW0gbm90IHByZXZpb3VzbHkgc3RhcnRlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTEyIDE2OjI3OjIxIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IERvbid0IGVuZm9yY2UgZGltZW5zaW9uIGZpZWxkIG9uIGVuY29kZWQgZm9ybWF0cwoJICBEb24ndCBlbmZvcmNlIGhhdmluZyB3aWR0aCwgaGVpZ2h0IGFuZCBmcmFtZXJhdGUgaW4gdGVtcGxhdGUgY2FwcyBmb3IgZW5jb2RlZAoJICBmb3JtYXRzLiBUaGVzZSBkb24ndCBhbHdheXMgbmVlZCB0byBiZSBleHBvc2VkIGFuZCBtYXkgYnJlYWsgbmVnb3RpYXRpb24gZm9yCgkgIGRlY29kZXIgYW5kIGRlY29kaW5nIHNpbmsuIElmIG5lZWRlZCwgdGhlc2UgZmllbGQgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGFkZGVkCgkgIHdoZW4gcHJvYmVkIGNhcHMgYXJlIGtub3duLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTEyIDE3OjA5OjU5ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogdW5yZWYgZG93bnN0cmVhbSBwb29sCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMTggMTM6Mzc6MjMgLTA1MDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSAgdjRsMmJ1ZmZlcnBvb2w6IGFkZCBnc3RfdjRsMl9idWZmZXJfcG9vbF9mbHVzaAoJICBTVFJFQU1PRkYgc2V0IGFsbCB2NGwyYnVmZmVycyB0byBERVFVRVVFIHN0YXRlLgoJICBUaGVuIGZvciBDQVBUVVJFIHdlIGNhbGwgUUJVRiBvbiBlYWNoIGJ1ZmZlci4KCSAgRm9yIE9VVFBVVCB0aGUgYnVmZmVycyBhcmUganVzdCBwdXNoIGJhY2sgaW4gdGhlIEdzdEJ1ZmZlclBvb2wKCSAgYmFzZSBjbGFzcyAncyBxdWV1ZS4KCSAgQnV0IHRoZSBsb29wIGFjdHVhbGx5IGxvb2tzIGxpa2UgdGhlIHNhbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMTYgMTc6Mjk6MzAgLTA1MDAgIEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBsaW5hcm8ub3JnPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBBZGQgdnA4IHN1cHBvcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0xMiAxNjo0NjowOSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBEb24ndCBmb3JjZSBmcmFtZXJhdGUgZmllbGQgZm9yIE9VVFBVVAoJICBJZiB0aGVyZSBpcyBub3RoaW5nIHRoYXQgc2VlbXMgdG8gZm9yY2UgYSBjZXJ0YWluIGZyYW1lcmF0ZSBvbiBvdXRwdXQgZGV2aWNlLCBpdCBpcwoJICBwcmVmZXJhYmxlIHRvIHNpbXBseSBub3Qgc2V0IHRoYXQgZmVpbGQuIFRoaXMgYWxsb3cgbmVnb3RpYXRpb24gd2l0aCB0c2RlbXV4IGluIGEKCSAgZGVjb2RlciBmb3IgZXhhbXBsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0xMiAxNDowNzowMyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDJvYmplY3Q6IF92NGwyZm91cmNjX3RvX3N0cnVjdHVyZSgpIGNhbiBiZSBzdGF0aWMKCSAgVGhpcyBmdW5jdGlvbiBpcyBub3QgdXNlZCBhbnltb3JlIG91dHNpZGUgdjRsMm9iamVjdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0xMiAxNDoyMjoyNiAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBBZGQgTVBFRzEvMiBzdXBwb3J0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMTIgMTI6MTg6NDUgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogQXNrIGZvciBhIGRlY2VudCBidWZmZXIgc2l6ZSB3aGVuIGRlYWxpbmcgd2l0aCBlbmNvZGVkIGZvcm1hdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0wNyAxNDowMzo1MyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IE9uIHdhcm4gb24gc2l6ZSBjaGFuZ2UgaWYgbl9wbGFuZXMgPiAxCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMzEgMTY6Mzg6MDkgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBjaGVjayBpZiB0cmFuc2xhdGVkIGZvcm1hdCBpcyB2YWxpZAoJICBBbHNvIGFkZCBhIEZJWE1FIGluIGdzdF92NGwyX29iamVjdF9zZXR1cF9mb3JtYXQKCSAgdG8gbm90ZSB0aGF0IHRoZSB3aG9sZSBmdW5jdGlvbiBoYXMgdG8gYmUgaW1wcm92ZWQKCSAgaW4gb3JkZXIgdG8gc3VwcG9ydCBFTkNPREVEIGZvcm1hdHMuCgkgIEl0IHJlcXVpcmVzIHRvIGhhdmUgYW4gZW5jb2RlciBkZXZpY2Ugd2hpY2ggd2UgZG8gbm90CgkgIGhhdmUgcmlnaHQgbm93LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTA3IDEwOjMxOjE1IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IFZhbGlkYXRlIHJldHVybmVkIGRpbWVuc2lvbnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0wNSAxOTozNjoyNSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBFbnN1cmUgbWF4IGlzIG5vdCBzbWFsbGVyIHRoZW4gbWluIGluIGRlY2lkZV9hbGxvY2F0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMDUgMTk6MzY6MDYgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRG9uJ3Qga2VlcCB0aGUgbWF4IHBhcmFtdGVyIHdoZW4gdXNpbmcgb3VyIG93biBwb29sCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMDUgMTk6MzQ6NDQgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBSZXNwZWN0IHRoZSBzdWdnZXN0ZWQgbWluIGJ1ZmZlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTA1IDE4OjQ4OjQ0IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IEFsbG9jYXRlIHBvb2wgaWYgbmVlZGVkIGluIGRlY2lkZV9hbGxvY2F0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMDUgMTg6NDk6MTkgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogQWRkIFY0TDJfQ0lEX01JTl9CVUZGRVJTX0ZPUl9DQVBUVVJFIHN1cHBvcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0wNSAxODo0ODoxNSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogTW92ZSBkZWNpZGUgYWxsb2NhdGlvbiBpbnRvIHY0bDJvYmplY3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0wNSAxMzo1MToxMyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDJvYmplY3Q6IEltcGxlbWVudCBfc2V0dXBfZm9ybWF0KCkKCSAgVGhpcyBtZXRob2QgYWxsb3cgc2V0dGluZyB1cCB0aGUgb2JqZWN0IGZyb20gdGhlIGN1cnJlbnRseSBjb25maWd1cmVkIGZvcm1hdCBvbiB0aGUKCSAgZGV2aWNlLiBUaGlzIGlzIHVzZWZ1bCBmb3IgTTJNIGVsZW1lbnQgd2hlcmUgaW5wdXQgZGF0YSBkZWNpZGVzIHRoZSBmb3JtYXQgdGhhdCB3aWxsCgkgIGJlIHNldCBvbiBjYXB0dXJlIHNpZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMTAgMTQ6MzQ6MTcgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogU3BsaXQgb3V0IHNhdmluZyBmb3JtYXQgZnJvbSBzZXRfZm9ybWF0KCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0zMSAxNTozNzoyNiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IHNldCBvbmx5IG9uZSBwbGFuZSBmb3IgZW5jb2RlZCBmb3JtYXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0wNCAxNjo0OToxMyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBNb3ZlIGNvZGUgYmxvY2sgd2hlcmUgaXQgYmVsb25ncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTA0IDE2OjI2OjEyIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IERvbid0IGNoZWNrIGZvcm1hdCBzcGVjaWZpYyBpbmZvcm1hdGlvbgoJICBUaGUgbnVtYmVyIG9mIHBsYW5lLCBhbmQgdGhlIHN0cmlkZSBkb2VzIG5vdCByZXByZXNlbnQgYSBjYXBhYmlsaXR5IGNoYW5nZS4gU2FtZSBjYXBzCgkgIGNhbiBoYXZlIGRpZmZlcmVudCBzdHJpZGUgZnJvbSB0aGUgZGVmYXVsdCBHc3RWaWRlb0luZm8gYW5kIHRoZSBudW1iZXIgb2YgcGxhbmVzIHdpbGwKCSAgbmV2ZXIgY2hhbmdlIGZvciAxIGZvcm1hdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0wNCAxNjoyMzoxOCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBNb3ZlIHRoZSBleHRyYXBvbGF0aW9uIG9mIHN0cmlkZSBhdCB0aGUgcmlnaHQgcGxhY2UKCSAgTm93IHRoYXQgd2UgaGF2ZSBhIHN0cmlkZSBhcnJheSwgd2Ugc2hvdWxkIGV4dHJhcG9sYXRlIG9ubHkgd2hlbgoJICBlZWRlZCAobm9uIG11bHRpLXBsYW5hciBidWZmZXIpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTA0IDE1OjA5OjQ0IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IE1vdmUgYmFjayBhc3NlcnRpb25zIHdoZXJlIHRoZXkgc2hvdWxkIGJlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMDQgMTU6MDk6MTAgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogTW92ZSBtcGxhbmUgbG9naWMgaW50byBnc3RfdjRsMl9vYmplY3RfZ2V0X2NhcHNfaW5mbygpCgkgIEl0IG1ha2VzIHRoZSBnc3RfdjRsMl9vYmplY3Rfc2V0X2Zvcm1hdCgpIHNsaWdodGx5IHNpbXBsaWVyIGFuZCB3aWxsIG1ha2UgdGhhdAoJICBsb2dpYyByZXVzYWJsZS4gTm90ZSB0aGF0IGdzdF92NGwyX29iamVjdF9oYXNfbXBsYW5lKCkgd2lsbCBhbHdheXMgcmV0dXJuIHRoZQoJICBzYW1lIHZhbHVlIGZvciBvbmUgZGV2aWNlLiBUaGVyZSBpcyBubyBuZWVkIHRvIGNoZWNrIGFnYWluc3QgdGhlIGNhcHMgYXMgdGhpcwoJICBoYXMgYWxyZWFkeSBiZWVuIGRvbmUgYnkgX29wZW4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMDMgMTg6Mjc6NDcgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyb2JqZWN0OiBTcGxpdCBfdjRsMmZvdXJjY190b192aWRlb19mb3JtYXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0wMiAxODowNToxMSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IFJlcXVlc3QgYnVmZmVycyBvbmx5IG9uY2UKCSAgVklESU9DX1JFUUJVRlMgYWxsb2NhdGVzIGJ1ZmZlciwgaXQgaGFzIG5vIHBsYWNlIGluc2lkZSBzZXRfY29uZmlnLiBBbHNvLCBzb21lIGRyaXZlciBkbwoJICBubyBhbGxvdyBtdWx0aXBsZSBjYWxscyB0byB0aGlzIGlvY3RsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTAyIDE1OjI2OjUwIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IERvbid0IHZhbGlkYXRlIGRpbWVuc2lvbiBmb3IgZW5jb2RlZCBmb3JtYXQKCSAgV2Ugc2V0IHRoZSBkaW1lbnNpb25zIGp1c3QgaW4gY2FzZSBidXQgZG9uJ3QgdmFsaWRhdGUgdGhlbQoJICBhZnRlcndhcmRzLiBGb3Igc29tZSBjb2RlY3MgdGhlIGRpbWVuc2lvbnMgYXJlICpub3QqIGluIHRoZQoJICBiaXRzdHJlYW0sIElJUkMgVkMxIGluIEFTRiBtb2RlIGZvciBleGFtcGxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTExLTI4IDE3OjEwOjI5IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMm9iamVjdDogUXVpcmtzIGZvciBkZXYgd2l0aG91dCBpbml0aWFsIGZvcm1hdAoJICBNb3N0IE0yTSBoYXZlIHVuZGVmaW5lZCBiZWhhdmlvdXIgaW5pdGlhbGx5IHdoZW4gVklESU9DX0dfRk1UIGlzIGNhbGxlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMS0yOCAxNzowOToyNiAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDJvYmplY3Q6IEFkZCBnc3RfdjRsMl9vYmplY3Rfb3Blbl9zaGFyZWQoKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTExLTI4IDE3OjA3OjA1IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSAgdjRsMm9iamVjdDogSW1wbGVtZW50IGdzdF92NGwyX2R1cCgpCgkgIFRoaXMgd2lsbCBkdXBsaWNhdGVkIHRoZSBGRCBmcm9tIGFub3RoZXIgb2JqZWN0IGFuZCBjb3B5IG92ZXIgdGhlIHByb2JlZCByZXN1bHQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTEtMjggMTY6NTk6NTkgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyb2JqZWN0OiBtYWtlIElPX01PREUgZW51bSBwdWJsaWMKCSAgVGhpcyBpcyB0byBhbGxvdyBhZGRpbmcgYSBzZWNvbmQgaW8tbW9kZSBwcm9wZXJ0eSBvbiBNMk0gZGV2aWNlIGxpa2UgZGVjb2RlciBzbwoJICBpbnB1dCBhbmQgb3V0cHV0IGNhbiBiZSBjb250cm9sbGVkIHNlcGFyYXRseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0wNi0wNCAyMzo0MjoyNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBiZXR0ZXIgaGFuZGxlIHF1aXJrcyBhY3RpdmF0aW9uCgkgIFRoaXMgd2F5IHdlIGNhbiBhY3RpdmF0ZSBkZWFjdGl2YXRlIHRob3NlIHF1aXJrcyBhbGwgYXQgb25jZSBhdCBvbmUKCSAgcGxhY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMDYtMDQgMjM6MzQ6MDQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBGaXggaDI2NCBjYXBzCgkgIFY0TDJfUElYX0ZNVF9IMjY0IGlzIGRvY3VtZW50YXRlZCBhcyBieXRlLXN0cmVhbSAod2l0aCBzdGFydCBjb2RlKS4gVGhlIGVuc3VyZSBwcm9wZXIKCSAgbmVnb3RpYXRpb24gd2l0aCBlbGVtZW50IGxpa2UgaDI2NHBhcnNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTA2IDE0OjQ0OjUxIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMm9iamVjdDogU3BsaXQgY2FwcyBpbiBkaWZmZXJlbnQgY2F0ZWdvcmllcwoJICBUaGlzIGlzIG5lZWQgdG8gY29ycmVjdGx5IGV4cG9zZSBjYXBhYmlsaXRpZXMgb24gc3BlY2lhbGl6ZWQgZGV2aWNlcwoJICBsaWtlIGRlY29kZXJzIGFuZCBlbmNvZGVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxNC0wMS0xMCAxNDoxNjowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYWRlbXV4OiBkb24ndCBsZWFrIFRPQyBjaGFwdGVyIGxpc3QKCjIwMTQtMDEtMTAgMDg6NTI6MTYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogcmVtb3ZlIG9ic29sZXRlIHdyaXRlLWR1bW15LWFuZC1vdmVyd3JpdGUtb24tZW9zIGNvZGUKCSAgVGhlIG5lZWQgZm9yIHJld3JpdGluZyBhcHBhcmVudGx5IGlzIG9ic29sZXRlIDAuMTAgbGVmdG92ZXIuCgkgIFdlIG5vdyBoYXZlIGNhcHMgZm9yIHN1YnRpdGxlcyB3aGVuIHdlIGNyZWF0ZSB0aGUgaGVhZGVycywKCSAgc28gd2UgYWx3YXlzIHdyaXRlIHRoZSBjb3JyZWN0IGRhdGEgaW4gdGhlIGZpcnN0IHBsYWNlLgoKMjAxNC0wMS0wOSAyMzo1NToxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSAgcnRwcnR4c2VuZDogcmVtb3ZlIGR1cGxpY2F0ZSBhc3NpZ25tZW50CgkgIENvdmVyaXR5IENJRCAxMTUxNjgwCgoyMDE0LTAxLTA5IDE4OjI1OjA0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHdyaXRlIHN1YnRpdGxlIGNvZGVjIElEIGFuZCBkYXRhIGF0IHN0YXJ0IHdoZW4ga25vd24KCSAgVGhpcyBhdm9pZHMgaXNzdWVzIHdpdGggd3JpdGluZyBkdW1teSBkYXRhIGZpcnN0LCB0aGVuIGhhdmluZwoJICB0byBjb21lIGJhY2sgYW5kIHdyaXRlIGNvcnJlY3QgZGF0YSBsYXRlci4gRG9pbmcgc28gcHJldmVudHMKCSAgdGhlIG11eGVkIHN0cmVhbSBmcm9tIGJlaW5nIGFjdHVhbGx5IHN0cmVhbWFibGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTIxMzQKCjIwMTQtMDEtMDkgMTc6MzI6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogSW5jbHVkZSBBdmFpbGFiaWxpdHlNYWNyb3MuaCBmb3Igb3N4dmlkZW8gY2hlY2sKCSAgT3RoZXJ3aXNlIE1BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIG1pZ2h0IG5vdCBiZSBkZWZpbmVkCgoyMDE0LTAxLTA5IDExOjU2OjMxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9hdG9tcy5oOgoJICBxdG11eDogcmVzcGVjdCB0aGUgSERMUiBib3ggc3RyaW5nIGZvcm1hdCBmb3IgbW92IGFuZCBpc29tZWRpYQoJICBNb3Ygc3BlYyBzYXlzIGl0IHVzZXMgYSBwYXNjYWwgc3R5bGUgc3RyaW5nLCB3aGlsZSBpc29tZWRpYSB1c2VzCgkgIGEgbnVsbCB0ZXJtaW5hdGVkIG9uZS4gU3RvcmUgdGhlIGN1cnJlbnQgYXRvbXMgZmxhdm9yIGludG8gdGhlIEhETFIKCSAgdG8gYmUgYWJsZSB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBvdXRwdXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU5ODIKCjIwMTQtMDEtMDggMTE6Mjg6MDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBSZXZlcnQgIm1hdHJvc2thbXV4OiBVc2UgdGhlIHJ1bm5pbmcgdGltZSBmb3IgY29udGFpbmVyIHRpbWVzdGFtcHMsIG5vdCBidWZmZXIgdGltZXN0YW1wcyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBiM2FhODc1NWZlMDc2MzlmMjJlNDEwNGY0OTMyZDc2OWQ2YzkwNzVhLgoJICBXZSBhcmUgYWxyZWFkeSB1c2luZyB0aGUgcnVubmluZy10aW1lIGJlY2F1c2UgdGhleSB3ZXJlIHBsYWNlZCBvbiB0aGUKCSAgYnVmZmVycyB3aXRoIGdzdF9jb2xsZWN0X3BhZHNfY2xpcF9ydW5uaW5nX3RpbWUoKS4gQXJndWFibHkgaXQgd291bGQgYmUKCSAgYmV0dGVyIHRvIG5vdCBtb2RpZnkgdGhlIGluY29tbWluZyBidWZmZXJzIGJ1dCBjb2xsZWN0cGFkcyBzZWVtcyB0byB3YW50CgkgIHRvIHVzZSBhYnNvbHV0ZSB0aW1lc3RhbXBzIGZyb20gdGhlIGJ1ZmZlcnMgZm9yIGZpbmRpbmcgdGhlIGJlc3QgYnVmZmVyCgkgICh0aGlzIGNhbiBiZSBjaGFuZ2VkIHdpdGggYSBjdXN0b20gY29tcGFyZSBmdW5jdGlvbi4uKS4KCjIwMTQtMDEtMDggMTA6NDE6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRml4IEFDX0NPTVBJTEVfSUZFTFNFIHVzYWdlCgoyMDE0LTAxLTA4IDEwOjMxOjE4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBvc3h2aWRlb3Npbms6IEltcHJvdmUgY29uZmlndXJlIGNoZWNrIGZvciBPU1ggPj0gMTAuNgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxMjQ1CgoyMDE0LTAxLTA3IDEyOjEzOjUxIC0wODAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IHJlbW92ZSB1bnVzZWQgbGlzdCBvZiBkZWNvZGVycwoJICByZW1vdmUgbGlzdCBvZiBkZWNvZGVycywgd2hpY2ggYXJlIGFscmVhZHkgaGFuZGxlZCBieSB0aGUgbGlzdCBvZiBlbGVtZW50cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTkzOAoKMjAxNC0wMS0wOCAwOTo0Njo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IEVycm9yIG91dCBpZiBBRFBDTSBjYXBzIGRvbid0IGNvbnRhaW4gdGhlIGxheW91dCBmaWVsZAoKMjAxNC0wMS0wMyAxNToyNToyMyArMDEwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBBZGQgc3VwcG9ydCBmb3IgZzcyNiBBRFBDTQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwOTk1CgoyMDE0LTAxLTA3IDE1OjA0OjAyICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogdXNlIG5ldyBtZXRob2QgdG8gZ2V0IG1lZGlhLXR5cGUKCSAgVXNlIHRoZSBuZXcgbWV0aG9kIHRvIGdldCB0aGUgbWVkaWEgdHlwZSBvZiBhIHRyYW5zcG9ydC4KCjIwMTQtMDEtMDYgMjE6MTI6MTcgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogc3BsaXQgdGhlIHRlc3QKCSAgVGhpcyB3YXkgb25lIGZhaWx1cmUgd29uJ3Qgc2hhZG93IHRoZSBvdGhlciB0ZXN0IGFuZCBhbHNvIGlmIG9uZSBmYWlscyB3ZSBnZXQKCSAgYmV0dGVyIGRpc2dub3N0aWNzIHRocm91Z2ggdGhlIHRlc3QtbmFtZS4KCjIwMTQtMDEtMDYgMTQ6NTQ6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBBZGQgSEVWQyAvIGgyNjUgc3VwcG9ydAoKMjAxNC0wMS0wNiAxNDo1NDozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIG1hdHJvc2thZGVtdXg6IEFkZCBIRVZDIC8gaDI2NSBzdXBwb3J0CgoyMDE0LTAxLTA2IDEzOjM2OjM4ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiByZW1vdmUgaWZkZWYnZWQgY29kZQoJICBXZSBkbyBoYXZlIGFkdGwgYW5kIGN1ZSBwYXJzZSBhcyBwYXJ0IG9mIHRvYyBoYW5kbGluZyBhbHJlZGF5LiBUaGUgZm10IGNvZGUgaXMgYSBsZWZ0IG92ZXIgZnJvbSA8MC4xMCB0aW1lcy4KCjIwMTQtMDEtMDYgMTM6MzI6NTggKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBhdmlkZW11eCwgd2F2ZXBhcnNlOiBtb3JlIGxvZ2dpbmcgZm9yIHVuaGFuZGxlZCBjaHVua3MKCSAgQWx3YXlzIHByaW50IGEgd2FybmluZyB3aXRoIHRoZSB0YWcgYW5kIGlmIHBvc3NpYmxlIGRvIGEgbWVtZHVtcC4KCjIwMTQtMDEtMDUgMjI6NDc6NDIgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBleHBvc2UgJ3N0cm4nIC0gc3RyZWFtIG5hbWUgLSBhcyB0aXRsZSB0YWcKCjIwMTQtMDEtMDUgMjI6NDE6MjQgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBwYXJzZSBmdWppIHN0cmQKCSAgV2UgY2FuIGdldCBtYWtlciwgbW9kZWwgYW5kIGNhcHR1cmUgZGF0ZSBmcm9tIHRoaXMgY2h1bmsuCgkgIEZpeGVzICM2MzYxNDMKCjIwMTQtMDEtMDUgMjE6NDY6MzMgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiAuLi4gYW5kIHVzZSB0aGUgbG9jYWwgYXBpIGJvdGggdGltZXMKCjIwMTQtMDEtMDUgMjE6Mzg6MTQgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBjb3B5IHRoZSByaWZmIGFwaSBmb3IgbmNkdCBpbnRvIHRoZSBlbGVtZW50CgkgIFRoaXMgY2h1bmsgaXMgYXZpIHNwZWNpZmljLCBubyBuZWVkIHRvIGV4cG9zZSB0aGlzIGFzIHB1YmxpYyBhcGkuCgoyMDE0LTAxLTA1IDEwOjI4OjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogQWRkIG1pc3Npbmcgc2VtaWNvbG9uIGZyb20gbGFzdCBjb21taXQKCjIwMTQtMDEtMDUgMTA6MjI6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBVc2UgdGhlIHJ1bm5pbmcgdGltZSBmb3IgY29udGFpbmVyIHRpbWVzdGFtcHMsIG5vdCBidWZmZXIgdGltZXN0YW1wcwoJICBCdWZmZXIgdGltZXN0YW1wcyBoYXZlIG5vIHJlYWwgbWVhbmluZyBoZXJlLCBhbmQgZm9yIHNlbGVjdGluZyB0aGUgbmV4dAoJICBidWZmZXIgd2UgYWxyZWFkeSB1c2UgdGhlIHJ1bm5pbmcgdGltZSBhbnl3YXkuCgoyMDE0LTAxLTA0IDIxOjM0OjM4ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmk6IHVzZSBuZXcgcmlmZiBhcGkgdG8gZXh0cmFjdCBuaWtvbiBtZXRhZGF0YQoJICBGaXhlcyAjNjM2MTQzCgoyMDEzLTExLTAxIDE2OjQxOjQzICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkgIHJ0cHJ0eHNlbmQvcnRwcnR4cmVjZWl2ZTogZ2VuZXJhdGUgZ3RrIGRvYwoKMjAxMy0xMi0wMiAxMToyNjowOSArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHJ0eC5jOgoJICB0ZXN0L2NoZWNrOiBWZXJpZnkgcnRwcnR4c2VuZDo6c3NyYy1tYXAgcHJvcGVydHkgd29ya3MgYXMgZXhwZWN0ZWQKCjIwMTMtMTEtMjkgMTk6MzU6NDQgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHJlY2VpdmUuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHJ0eC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LXJ0cGF1eC5jOgoJICBydHBydHhyZWNlaXZlOiBtb2RpZnkgdG8gdXNlIGEgcGF5bG9hZC10eXBlIG1hcCBsaWtlIHJ0cHJ0eHNlbmQKCjIwMTMtMTEtMjkgMTk6NTg6MjYgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkgIHJ0cHJ0eHNlbmQ6IGRvIG5vdCBrZWVwIGhpc3Rvcnkgb2YgcGFja2V0cyB3aXRoIGFuIHVua25vd24gcGF5bG9hZCB0eXBlCgkgIFRoaXMgYWxsb3dzIHRvIGRpc2FibGUgcmV0cmFuc21pc3Npb24gcGVyIHBheWxvYWQgdHlwZSBieSBub3QgcHV0dGluZwoJICBhIGNlcnRhaW4gcGF5bG9hZCB0eXBlIGluIHRoZSBtYXAuCgoyMDE0LTAxLTAyIDE1OjE4OjUyICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBhdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwY29sbGlzaW9uLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHJ0eC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXJ0cGF1eC5jOgoJICBydHBydHhzZW5kOiBBbGxvdyBTU1JDLW11bHRpcGxleGluZyBhbmQgbXVsdGlwbGUgcGF5bG9hZCB0eXBlcyBpbiB0aGUgb3JpZ2luYWwgc3RyZWFtCgkgIENvbmZsaWN0czoKCSAgdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1ydHBhdXguYwoKMjAxMy0xMS0yNSAxNTowMDo0NSArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSAgcnRwcnR4c2VuZDogQWRkIGFuIHJ0eC1zc3JjIHByb3BlcnR5IHRvIGFsbG93IGV4dGVybmFsIGNvbnRyb2wgb2YgdGhlIHNzcmMKCSAgVGhpcyBpcyB1c2VmdWwgd2hlbiBvbmUgbmVlZHMgdG8ga25vdyB0aGUgU1NSQyBiZWZvcmVoYW5kcywgc28gdGhhdCBpdCBjYW4KCSAgYmUgdXNlZCBmb3IgU1JUUCBmb3IgZXhhbXBsZS4KCjIwMTMtMTEtMTMgMTU6MTE6MzUgLTA1MDAgIFRvcnJpZSBGaXNjaGVyIDx0b3JyaWUuZmlzY2hlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvcnRwL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LXJ0cGF1eC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXJ0cGF1eC5jOgoJICBleGFtcGxlczogcnRwOiBBZGQgZW5kLXRvLWVuZCBydHBiaW4gZXhhbXBsZSB3aXRoIFJUWCBlbGVtZW50cwoJICBUaGlzIGV4YW1wbGUgZGVtb25zdHJhdGVzIGhvdyB0byB1c2UgcnRwYmluIHdpdGggcmV0cmFuc21pc3Npb24gKHJ0eCkKCSAgZWxlbWVudHMgc2V0IGluIHRoZSBwbGFjZSBvZiBydHBiaW4ncyAiYXV4IiBlbGVtZW50cyBpbiBvcmRlciB0bwoJICBlbmFibGUgUlRQIHJldHJhbnNtaXNzaW9uIGFjY29yZGluZyB0byB0aGUgcnVsZXMgb2YgUkZDNDU4OC4KCjIwMTMtMTEtMDUgMTc6MzU6MDEgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9kZXNpZ24vTWFrZWZpbGUuYW06CgkqIGRvY3MvZGVzaWduL2Rlc2lnbi1ydHBhdXhpbGlhcnkudHh0OgoJICBkb2M6IGFkZCBkZXNpZ24tcnRwYXV4aWxpYXJ5LnR4dCB0byBkZXNjcmliZSBob3cgcnRwYmluIGRlYWxzIHdpdGggYXV4aWxpYXJ5IGVsZW1lbnRzCgoyMDE0LTAxLTAyIDE0OjQ4OjQ5ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogYWxzbyBwdXNoIEVPUyBldmVudCB0byBSVENQIHNyY3BhZAoKMjAxNC0wMS0wMiAxNDo0NjoxMSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBzZXNzaW9uOiBwbGFjZSBTU1JDIGluIFJldHJhbnNtaXNzaW9uIGV2ZW50CgoyMDEzLTExLTAxIDE2OjU3OjE1ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBhdXguYzoKCSAgdGVzdHMvY2hlY2s6IGFkZCBydHBhdXg6OnRlc3Rfc2ltcGxlX3J0cGJpbl9hdXgKCSAgSXQgc2hvd3MgaG93IHRvIHVzZSAic2V0LWF1eC1yZWNlaXZlIiBhbmQgInNldC1hdXgtc2VuZCIKCSAgcHJvcGVydGllcyBvZiBydHBiaW4gdG8gc2V0IHJ0cHJ0eHNlbmQgYW5kIHJ0cHJ0eHJlY2VpdmUKCSAgQnVpbGQgMiBwaXBlbGluZXMsIG9uZSBmb3IgcnRwYmluIGFzIGEgc2VuZGVyIGFuZCBvbmUgZm9yCgkgIHJ0b2JpbiBhcyBhIHJlY2VpdmUuIFRoZW4gdHJhbnNtaXQgYW4gYXVkaW8gc3RyZWFtLgoJICBJdCBhbHNvIGRyb3BzIHNvbWUgcGFja2V0cyB0byBhY3RpdmF0ZSByZXN0cmFuc21pc3Npb24gYW5kCgkgIGNoZWNrIHRoZXkgYXJlIGFjdHVhbGx5IHJldHJhbnNtaXRlZC4KCjIwMTMtMTEtMDEgMTc6MDk6NDIgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwY29sbGlzaW9uLmM6CgkgIHRlc3RzL2NoZWNrOiBhZGQgcnRwY29sbGlzaW9uOjp0ZXN0X3J0eF9zc3JjX2NvbGxpc2lvbiB1bml0IHRlc3QKCSAgY2hlY2sgdGhhdCBydHhydHBzZW5kIGNoYW5nZXMgaXRzIHJldHJhbnNtaXNzaW9uIHNzcmMgd2hlbgoJICBjb2xsaXNpb24gaGFwcGVucwoKMjAxMy0xMS0wNiAxMjozNDoxMyArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHJ0eC5jOgoJICB0ZXN0cy9jaGVjazogYWRkIHJ0cHJ0eDo6dGVzdF9ydHhyZWNlaXZlX2RhdGFfcmVjb25zdHJ1Y3Rpb24KCSAgVGhpcyB1bml0IHRlc3QgdmVyaWZpZXMgdGhhdCByZXRyYW5zbWl0dGVkIHJ0cCBwYWNrZXRzIGNvbWluZyBvdXQKCSAgb2YgcnRwcnR4cmVjZWl2ZSBhcmUgdGhlIHNhbWUgYXMgdGhlIG9yaWdpbmFsIG9uZXMuCgoyMDEzLTExLTA1IDA5OjMzOjUxICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJICBydHBydHhzZW5kOiB1c2UgYSByZWFsaXN0aWMgbGltaXQgZm9yIHRoZSB2YWx1ZSBvZiBtYXgtc2l6ZS1wYWNrZXRzCgkgIEdfTUFYSU5UMTYgaXMgY2hvc2VuIGJlY2F1c2UgaWYgdGhlIHF1ZXVlIGNvbnRhaW5zIG1vcmUgdGhhbgoJICBHX01BWElOVDE2IHBhY2tldHMsIHNlcW51bSBjb21wYXJpc29uIHdpbGwgbm90IHdvcmsgcHJvcGVybHkuCgoyMDEzLTExLTA0IDIwOjA1OjAzICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmg6CgkgIHJ0cHJ0eHNlbmQ6IHVzZSBhIEdTZXF1ZW5jZSB0byBpbXBsZW1lbnQgdGhlIGJ1ZmZlciBxdWV1ZQoJICBUaGlzIGhhcyB0aGUgYWR2YW50YWdlIHRoYXQgc2VhcmNoaW5nIHRoZSBxdWV1ZSB0byBmaW5kIHRoZQoJICBidWZmZXIgd2l0aCB0aGUgcmVxdWVzdGVkIHNlcW51bSBpcyBkb25lIHdpdGggYmluYXJ5IHNlYXJjaC4KCjIwMTMtMTEtMDQgMTg6Mzg6MjQgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwcnR4LmM6CgkgIHJ0cHJ0eHNlbmQ6IHJldHJhbnNtaXQgcGFja2V0cyBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGUgcnR4IHJlcXVlc3RzCgoyMDEzLTExLTAyIDE5OjU2OjQ0ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwcnR4LmM6CgkgIHRlc3RzL2NoZWNrOiBBZGQgdW5pdCB0ZXN0IGZvciBydHhzZW5kJ3MgbWF4X3NpemVfdGltZSBwcm9wZXJ0eQoKMjAxMy0xMC0yOSAxODoyNzowMCArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5oOgoJICBydHBydHhzZW5kOiBIYW5kbGUgdGhlIG1heF9zaXplX3RpbWUgcHJvcGVydHkKCSAgVGhpcyBwcm9wZXJ0eSBhbGxvd3MgeW91IHRvIHNwZWNpZnkgdGhlIGFtb3VudCBvZiBidWZmZXJzCgkgIHRvIGtlZXAgaW4gdGhlIHJldHJhbnNtaXNzaW9uIHF1ZXVlIGV4cHJlc3NlZCBhcyB0aW1lIChtcykKCSAgaW5zdGVhZCBvZiBidWZmZXIgY291bnQgKHdoaWNoIGlzIHRoZSBtYXhfc2l6ZV9idWZmZXJzIHByb3BlcnR5KS4KCjIwMTMtMTEtMDIgMTU6MjE6MDggKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkgIHJ0cHJ0eHNlbmQ6IGtlZXAgaW1wb3J0YW50IGJ1ZmZlciBpbmZvcm1hdGlvbiBpbiBhIHByaXZhdGUgc3RydWN0dXJlCgkgIFRoaXMgaXMgdG8gYXZvaWQgbWFwcGluZyBhIGJ1ZmZlciBldmVyeSB0aW1lIHdlIG5lZWQgdG8gcmVhZCBhIHNlcW51bQoJICBvciBhIHRpbWVzdGFtcC4KCjIwMTMtMTEtMDEgMTE6NTg6NDcgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSAgdGVzdHMvY2hlY2s6IEFkZCBydHBydHg6OnRlc3RfcnR4c2VuZGVyX3BhY2tldF9yZXRlbnRpb24KCSAgVGhpcyB1bml0IHRlc3QgdmVyaWZpZXMgdGhhdCB0aGUgcnR4c2VuZCBlbGVtZW50IGNvcnJlY3RseSBtYWludGFpbnMKCSAgYSBidWZmZXIgb2YgYWxyZWFkeSB0cmFuc21pdHRlZCBydHAgcGFja2V0cyBhbmQgdGhhdCBpdCBjYW4KCSAgcmUtdHJhbnNtaXQgYWxsIG9mIHRoZW0gY29ycmVjdGx5IG9uIGRlbWFuZC4gSXQgYWxzbyB2ZXJpZmllcwoJICB0aGF0IHRoZSBsaW1pdCBvZiB0aGlzIGJ1ZmZlciAobWF4LXNpemUtcGFja2V0cyBwcm9wZXJ0eSkgaXMgcmVzcGVjdGVkLgoKMjAxMy0xMS0wMSAxNjoyMjoxMyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSAgdGVzdHMvY2hlY2s6IGFkZCBydHBydHg6OnRlc3RfZHJvcF9tdWx0aXBsZV9zZW5kZXIgdW5pdCB0ZXN0CgkgIFNldmVyYWwgc2VuZGVycyAvIG9uZSByZWNlaXZlcgoJICBTaW1pbGFyIHRoYW4gdGVzdF9kcm9wX29uZV9zZW5kZXIgYnV0IHdpdGggbXVsdGlwbGUgc2VuZGVycwoJICBtaXhlZCB0aHJvdWdoIHRoZSBmdW5uZWwgZWxlbWVudC4KCSAgSXQgZHJvcHMgc29tZSBwYWNrZXRzIGFuZCBjaGVja3MgdGhhdCB0aGV5IGFyZSByZXRyYW5zbWl0ZWQKCSAgY29ycmVjdGx5LgoKMjAxMy0xMS0wMSAxNjoyMTowMCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSAgdGVzdHMvY2hlY2s6IGFkZCBydHBydHg6OnRlc3RfZHJvcF9vbmVfc2VuZGVyIHVuaXQgdGVzdAoJICBUZXN0IGZvciBvbmUgc2VuZGVyIC8gb25lIHJlY2VpdmVyCgkgIEJ1aWxkIHRoZSBwaXBlbGluZQoJICB2aWRlb3Rlc3RzcmMgISBydHB2cmF3cGF5ICEgcnRwcnR4c2VuZCAhIHJ0cHJ0eHJlY2VpdmUgISBmYWtlc2luawoJICBhbmQgZHJvcCBzb21lIGJ1ZmZlcnMgYmV0d2VlbiBydHBydHhzZW5kIGFuZCBydHBydHhyZWNlaXZlCgkgIFRoZW4gaXQgY2hlY2tzIHRoYXQgZXZlcnkgZHJvcHBlZCBwYWNrZXQgaGFzIGJlZW4gcmUtc2VudC4KCSAgSXQgYWxzbyBjaGVja3MgdGhhdCBub3QgdG9vIG11Y2ggcmVxdWVzdHMgaGFzIGJlZW4gc2VudC4KCjIwMTMtMTEtMDEgMTY6MTc6NTEgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHJ0eC5jOgoJICB0ZXN0cy9jaGVjazogYWRkIHJ0cHJ0eDo6dGVzdF9wdXNoX2ZvcndhcmRfc2VxCgkgIGFkZCBzaW1wbGUgdW5pdCB0ZXN0IHRoYXQgbWFudWFsbHkgcHVzaCBidWZmZXJzCgkgIGluIHJ0cHJ0eHNlbmQgY29ubmVjdGVkIHRvIHJ0cHJ0eHJlY2VpdmUuCgkgIERyb3BzIHNvbWUgYnVmZmVycyBhbmQgbWFrZSBzdXJlIHRoZXkgYXJlIHJldHJhbnNtaXN0ZWQuCgoyMDEzLTExLTAxIDE1OjUyOjAzICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtYW5hZ2VyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHJlY2VpdmUuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cmVjZWl2ZS5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuaDoKCSAgcnRwbWFuYWdlcjogYWRkIG5ldyBydHBydHhzZW5kIC8gcnRwcnR4cmVjZWl2ZSBlbGVtZW50cwoJICBUaGUgcHVycG9zZSBvZiB0aGUgc2VuZGVyIFJUWCBvYmplY3QgaXMgdG8ga2VlcCBhIGhpc3RvcnkKCSAgb2YgUlRQIHBhY2tldHMgdXAgdG8gYSBjb25maWd1cmFibGUgbGltaXQgKGluIHRpbWUpLiBJdCB3aWxsCgkgIGxpc3RlbiBmb3IgY3VzdG9tIHJldHJhbnNtaXNzaW9uIGV2ZW50cyBmcm9tIGRvd25zdHJlYW0uIFdoZW4KCSAgaXQgcmVjZWl2ZXMgYSByZXF1ZXN0IGZvciByZXRyYW5zbWlzc2lvbiwgaXQgd2lsbCBsb29rIHVwIHRoZQoJICByZXF1ZXN0ZWQgc2VxbnVtIGluIGl0cyBsaXN0IG9mIHN0b3JlZCBwYWNrZXRzLiBJZiB0aGUgcGFja2V0CgkgIGlzIGF2YWlsYWJsZSwgaXQgd2lsbCBjcmVhdGUgYSBSVFggcGFja2V0IGFjY29yZGluZyB0byBSRkMgNDU4OAoJICBhbmQgc2VuZCB0aGlzIGFzIGFuIGF1eGlsaWFyeSBzdHJlYW0uCgkgIFRoZSByZWNlaXZlciB3aWxsIGxpc3RlbiB0byB0aGUgY3VzdG9tIHJldHJhbnNtaXNzaW9uIGV2ZW50cwoJICBmcm9tIHRoZSBkb3duc3RyZWFtIGppdHRlcmJ1ZmZlciBhbmQgd2lsbCByZW1lbWJlciB0aGUgU1NSQzEKCSAgb2YgdGhlIHN0cmVhbSBhbmQgc2VxbnVtIHRoYXQgd2FzIHJlcXVlc3RlZC4gV2hlbiBpdCBzZWVzIGEKCSAgcGFja2V0IHdpdGggb25lIG9mIHRoZSBzdG9yZWQgc2VxbnVtLCBpdCBhc3NvY2lhdGVzIHRoZSBTU1JDMgoJICBvZiB0aGUgc3RyZWFtIHdpdGggdGhlIFNTUkMxIG9mIHRoZSBtYXN0ZXIgc3RyZWFtLiBGcm9tIHRoZW4KCSAgb24gaXQga25vd3MgdGhhdCBTU1JDMiBpcyB0aGUgcmV0cmFuc21pc3Npb24gc3RyZWFtIG9mIFNTUkMxLgoJICBUaGlzIGFsZ29yaXRobSBpcyBzdGF0ZWQgaW4gUkZDIDQ1ODguIEZvciB0aGlzIGFsZ29yaXRobSB0bwoJICB3b3JrLCBSRkM0NTg4IGFsc28gc3RhdGVzIHRoYXQgbm8gdHdvIHBlbmRpbmcgcmV0cmFuc21pc3Npb24KCSAgcmVxdWVzdHMgY2FuIGV4aXN0IGZvciB0aGUgc2FtZSBzZXFudW0gYW5kIGRpZmZlcmVudCBTU1JDcyBvcgoJICBlbHNlIGl0IHdvdWxkIGJlIGltcG9zc2libGUgdG8gYXNzb2NpYXRlIHRoZSByZXRyYW5zbWlzc2lvbiB3aXRoCgkgIHRoZSBvcmlnaW5hbCByZXF1ZXN0ZXIgU1NSQy4KCSAgV2hlbiB0aGUgUlRYIHJlY2VpdmVyIGhhcyBhc3NvY2lhdGVkIHRoZSByZXRyYW5zbWlzc2lvbiBwYWNrZXRzLAoJICBpdCBjYW4gZGVwYXlsb2FkIGFuZCBmb3J3YXJkIHRoZW0gdG8gdGhlIHNvdXJjZSBwYWQgb2YgdGhlIGVsZW1lbnQuCgkgIFJUWCBpcyBTU1JDLW11bHRpcGxleGVkCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTEwODQKCjIwMTMtMTEtMDUgMTY6MzY6NDYgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9kZXNpZ24vTWFrZWZpbGUuYW06CgkqIGRvY3MvZGVzaWduL2Rlc2lnbi1ydHByZXRyYW5zbWlzc2lvbi50eHQ6CgkgIGRvYzogYWRkIGRlc2lnbiBmb3IgcnRwIHJldHJhbnNtaXNzaW9uCgkgIERlc2NyaWJlIGhvdyBydHBydHhzZW5kIGFuZCBydHBydHhyZWNlaXZlIGdlbmVyYWxseSB3b3JrCgkgIGJ1dCBhbHNvIGhvdyB0aGUgYXNzb2NpYXRpb24gYWxnb3JpdGhtIGlzIGltcGxlbWVudGVkLgoKMjAxNC0wMS0wMiAyMDoyMzowNSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogdXNlIHN0YXR1cyBjb2RlIG1hY3JvIGluc3RlYWQgb2YgNDA3CgkgIFJlc3Qgb2YgdGhlIGNvZGUgaXMgdXNpbmcgdGhlIF9QUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRAoJICBtYWNybyB0b28uIEVhc2llciB0byB1bmRlcnN0YW5kIGlmIHlvdSBkb24ndCByZWNhbGwgSFRUUAoJICBlcnJvciBjb2RlcyBieSBoZWFydC4KCjIwMTMtMTItMzEgMjE6MzE6NDMgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuaDoKCSAgc2hvdXQyc2VuZDogY2hhbmdlIGF1ZGlvX2Zvcm1hdCBmaWVsZCB0byBmb3JtYXQKCSAgVGhpcyBlbGVtZW50IGFuZCB0aGUgdW5kZXJseWluZyBsaWJzaG91dDIgbGlicmFyeQoJICBjYW4gaGFuZGxlIHZpZGVvIG1lZGlhIGZpbGVzIHRvby4gVGhlIGNvZGUgYWxyZWFkeQoJICBoYW5kbGVzIHZpZGVvL3dlYm0gc28gdGhlIG5hbWUgZ2V0cyBjb25mdXNpbmcuIEFsc28KCSAgYWRkIGFuZCB1c2UgREVGQVVMVF9GT1JNQVQgbWFjcm8gSW5zdGVhZCBvZiBoYXJkd2lyaW5nCgkgIFNIT1VUX0ZPUk1BVF9WT1JCSVMgYXQgaW5pdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxMzQyCgoyMDEzLTEyLTMxIDIwOjA5OjI5IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkgIHNob3V0MnNlbmQ6IGNsYXJpZnkgbWVhbmluZyBvZiB0aGUgVVJMIHByb3AKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTM0MgoKMjAxMy0xMi0yNyAxMjoyNzozMiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSAgc2hvdXQyc2VuZDogZG9jcywgYWRkIGEgc2FtcGxlIHBpcGVsaW5lCgkgIEFuZCBmaW5pc2ggYWRkaW5nIHNob3V0MnNlbmQgdG8gdGhlIGRvY3Mgd2hpbGUgYXQgaXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTM0MgoKMjAxMy0xMi0zMSAxNTowMDoyMiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5LmM6CgkgIGdka3BpeGJ1Zm92ZXJsYXk6IHJlbW92ZSBzcHVyaW91cyBAc2VlX2Fsc28KCjIwMTMtMTItMDYgMTc6MDg6NTQgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IHN1cHBvcnQgYW55IHZpZGVvIGZvcm1hdHMgYW5kIGFueSBjYXBzIGZlYXR1cmVzIGlmIGRlaW50ZXJsYWNlIG1vZGUgYWxsb3dzIGl0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTk2MzYKCjIwMTMtMTItMzEgMTM6MzE6NTIgKzAxMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogSGFuZGxlIHY0bDJfaW9jdGwoKSBlcnJvcnMgZXZlbiBpbiBlcnJvciBoYW5kbGluZwoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxMjY4CgoyMDE0LTAxLTAxIDEyOjExOjQzIC0wODAwICBKZXJlbXkgSHVkZGxlc3RvbiBTZXF1b2lhIDxqZXJlbXlodUBhcHBsZS5jb20+CgoJKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlbzogdW5pZmRlZiAtRFJVTl9OU19BUFBfVEhSRUFECgoyMDE0LTAxLTAxIDEyOjEwOjAxIC0wODAwICBKZXJlbXkgSHVkZGxlc3RvbiBTZXF1b2lhIDxqZXJlbXlodUBhcHBsZS5jb20+CgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICBvc3h2aWRlbzogQXNzdW1lIFNESyBhbmQgZGVwbG95bWVudCB0YXJnZXQgYXJlIGF0IGxlYXN0IFNub3cgTGVvcGFyZAoKMjAxNC0wMS0wMSAxMjoyMzo1MCAtMDgwMCAgSmVyZW15IEh1ZGRsZXN0b24gU2VxdW9pYSA8amVyZW15aHVAYXBwbGUuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IERpc2FibGUgb3N4dmlkZW8gb24gTGVvcGFyZCBhbmQgZWFybGllcgoJICBUaGlzIGFsc28gbW92ZXMgdGhlICJvdGhlciBwbGF0Zm9ybXMiIGNoZWNrIGluIE9TIFggdmlkZW8gdG8gYmVmb3JlIHRoZQoJICB2YXJpYWJsZSBpcyByZWFkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjEyNDUKCjIwMTMtMTItMzEgMTQ6NTc6MjcgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHRlc3RzOiBhZGQgQVVYIHJlY2VpdmVyIHVuaXQgdGVzdAoKMjAxMy0xMi0zMSAxMzoyMDowMSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgdGVzdHM6IGltcHJvdmUgcnRwYmluIHRlc3QKCjIwMTMtMTItMzEgMTM6MTY6NDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogYWRkIHNvbWUgZG9jcyBhYm91dCBBVVggZWxlbWVudHMKCjIwMTMtMTItMzEgMTM6MDE6MjIgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHRlc3RzOiBhZGQgQVVYIHNlbmRlciB1bml0IHRlc3QKCjIwMTMtMTItMzEgMTI6MzE6MjUgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBydHBiaW46IGFkZCBzdXBwb3J0IGZvciBBVVggc2VuZGVyIGFuZCByZWNlaXZlcgoJICBBVVggZWxlbWVudHMgYXJlIGVsZW1lbnRzIHRoYXQgY2FuIGJlIGluc2VydGVkIGludG8gdGhlIHJ0cGJpbgoJICBwaXBlbGluZSByaWdodCBiZWZvcmUgb3IgYWZ0ZXIgMSBvciBtb3JlIHNlc3Npb24gZWxlbWVudHMuCgkgIFRoZSBBVVggZWxlbWVudHMgYXJlIGVzc2VudGlhbCBmb3IgaW1wbGVtZW50aW5nIGZ1bmN0aW9uYWxpdHkgc3VjaAoJICBhcyBlcnJvciBjb3JyZWN0aW9uIChGRUMpIGFuZCByZXRyYW5zbWlzc2lvbiAoUlRYKS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTA4NwoKMjAxMy0xMi0zMSAxMjoyMjozOSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgdGVzdHM6IGFkZCBkZWNvZGVyIHRlc3QKCjIwMTMtMTItMzAgMTc6MzY6NDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogbWFrZSByZXF1ZXN0X2VsZW1lbnQgbWV0aG9kIGludGVybmFsbHkKCSAgV2UgY2FuIHVzZSB0aGUgc2FtZSBtZXRob2QgdG8gY3JlYXRlIGVuY29kZXIgYW5kIGRlY29kZXIgZWxlbWVudHMsIHRoZXkKCSAgYXJlIGp1c3QgaW50ZXJuYWwgZWxlbWVudHMgdGhhdCB3ZSBjcmVhdGUuCgoyMDEzLTEyLTMxIDEwOjI1OjI4ICswMTAwICBTdMOpcGhhbmUgQ2VydmVhdSA8c2NlcnZlYXVAZ21haWwuY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBTa2lwIGlkMyB0YWcKCSAgU2tpcCBpZDMgdGFnIGR1cmluZyB3YXYgcGFyc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjEyNDEKCjIwMTMtMTItMzEgMTA6MTA6MDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmg6CgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgIG9zeDogTWFrZSBPU1ggdmVyc2lvbiBjaGVja3MgbW9yZSBjb25zaXN0ZW50CgkgIEFuZCBlc3BlY2lhbGx5IGFsc28gY29uc2lkZXIgdXBkYXRlIHZlcnNpb25zLCBlLmcuIDEwLjUgd2l0aCB1cGRhdGVzCgkgIHdpbGwgYmUgMTA1MSBvciBzaW1pbGFyIGFuZCB0aHVzIGJpZ2dlciB0aGFuIE1BQ19PU19YX1ZFUlNJT05fMTBfNSBidXQKCSAgc3RpbGwgd29uJ3QgaGF2ZSB0aGUgQVBJIHdlIHdhbnQgdG8gdXNlLgoKMjAxMy0xMi0zMSAxMDowNzoyMiArMDEwMCAgSmVyZW15IEh1ZGRsZXN0b24gPGplcmVteWh1QGZyZWVkZXNrdG9wLm9yZz4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgb3N4dmlkZW9zaW5rOiBGaXggYnVpbGQgb24gdXBkYXRlZCBPUyBYIExlb3BhcmQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTI0NQoKMjAxMy0xMi0zMCAxNzoyMzoyMiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogQWRkIG1pc3NpbmcgYnJlYWsKCSAgSSBndWVzcyBuby1vbmUgbm90aWNlZCB3ZSBubyBsb25nZXIgY291bGQgbXV4IFdNVjMgLi4uCgkgIENPVkVSSVRZIENJRCAxMTM5NzU5CgoyMDEzLTEyLTMwIDE3OjIwOjM3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIHJ0cHZyYXdwYXk6IEFkZCBtaXNzaW5nIGJyZWFrCgkgIENPVkVSSVRZIENJRCAxMTM5NzYyCgoyMDEzLTEyLTMwIDE3OjAwOjQ1ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogaW50ZXJuYWwtc3NyYyBpcyBubyBsb25nZXIgZGVwcmVjYXRlZAoKMjAxMy0xMi0zMCAxNjo1OToyMCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBhZGQgU2luY2UgdGFncwoKMjAxMy0xMi0zMCAxNjo1MjoyOCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIHJ0cGJpbjogYWRkIHNpZ25hbCBmb3IgbmV3IGppdHRlcmJ1ZmZlcgoJICBFbWl0IGEgc2lnbmFsIHdoZW4gYSBuZXcgaml0dGVyYnVmZmVyIGlzIGNyZWF0ZWQgc28gdGhhdCB0aGUgYXBwIGNhbgoJICBoYXZlIGEgY2hhbmNlIHRvIGNvbmZpZ3VyZSBpdC4KCjIwMTMtMTItMzAgMTY6Mjg6NTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICBydHBiaW46IGhhbmRsZSBtdWx0aXBsZSBlbmNvZGVyIGluc3RhbmNlcwoJICBLZWVwIHRyYWNrIG9mIGVsZW1lbnRzIHRoYXQgYXJlIGFkZGVkIHRvIG11bHRpcGxlIHNlc3Npb25zIGFuZCBtYWtlIHN1cmUKCSAgd2Ugb25seSBhZGQgdGhlbSB0byB0aGUgcnRwYmluIG9uY2UgYW5kIHRoYXQgd2UgY2xlYW4gdGhlbSB3aGVuIG5vCgkgIHNlc3Npb24gcmVmZXJzIHRvIHRoZW0gYW55bW9yZS4KCjIwMTMtMTItMzAgMTU6MTY6MDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHRlc3RzOiBhZGQgdW5pdCB0ZXN0IGZvciBlbmNvZGVyIGVsZW1lbnQKCjIwMTMtMTItMzAgMTU6MTU6NDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogZml4IG1lbW9yeSBsZWFrcwoKMjAxMy0xMi0zMCAxNTowMzozNCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgdGVzdHM6IGZpeCBsZWFrCgoyMDEzLTEyLTMwIDE1OjAwOjUwICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGV4cGVjdCB0aGUgcGFkcyBvbiB0aGUgZW5jb2RlcnMKCSAgRG9uJ3QgdXNlIHJlcXVlc3QgcGFkcyBmb3IgdGhlIGVuY29kZXIgZWxlbWVudHMsIHRoZSBzaWduYWwgaGFuZGxlcgoJICBzaG91bGQgcmVxdWVzdCB0aGUgcGFkcyBhbmQgbWFrZSBzdXJlIHRoZXkgYXJlIGF2YWlsYWJsZSB3aXRoIHRoZSByaWdodAoJICBuYW1lLgoKMjAxMy0xMi0zMCAxNDo1NjowNyArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIHJ0cGJpbjogcmVxdWVzdC1ydHAtZW5jb2RlciBhcmUgbm8gYWN0aW9uIHNpZ25hbHMKCSAgVGhlIHJlcXVlc3QtcnRwLWVuY29kZXIgc2lnbmFscyBhcmUgbm90IGFjdGlvbiBzaWduYWxzIHNvIG1hcmsgdGhlbQoJICBjb3JyZWN0bHkgYW5kIHVzZSBhbiBhY2N1bXVsYXRvciB0byBjb2xsZWN0IHRoZSByZXN1bHQgdmFsdWUuCgoyMDEzLTEyLTMwIDE0OjM2OjQ1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBlbWl0IG1pZGktYmFzZS1ub3RlIHRhZyBmcm9tIGRhdGEgaW4gJ3NtcGwnIGNodW5rCgkgIEFkZCBwYXJzaW5nIG9mIHRoZSAnc21wbCcgY2h1bmsuIFJpZ2h0IG5vdyB3ZSBvbmx5IGdyYWIgdGhlIG1pZGktYmFzZS1ub3RlIGFuZAoJICBlbWl0IGl0IGFzIGEgdGFnLgoKMjAxMy0xMi0yNiAxMjowNToxOSArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgZ3N0cnRwc2Vzc2lvbjogc3VnZ2VzdCB1cHN0cmVhbSB0byB1c2UgdGhlIG5ldyAiaW50ZXJuYWwtc3NyYyIgYWZ0ZXIgYSBjb2xsaXNpb24KCSAgV2hlbiBhIGNvbGxpc2lvbiBpcyBmb3VuZCBvbiB0aGUgaW50ZXJuYWwgc3NyYywgd2UgaGF2ZSB0byBjaGFuZ2UgaXQuCgkgIElkZWFsbHksIHdlIHdhbnQgYWxzbyB0aGUgcGF5bG9hZGVyIHVwc3RyZWFtIHRvIGZvbGxvdyB0aGlzIGNoYW5nZSBhbmQgdXNlCgkgIHRoZSBuZXcgaW50ZXJuYWwgc3NyYy4gSWRlYWxseSB3ZSB3YW50IHRoaXMgY29uZGl0aW9uIHRvIGJlIGFsd2F5cyBtZXQ6CgkgIGlmIHRoZXJlIGlzIG9uZSBwYXlsb2FkZXIgc2VuZGluZyBvbiB0aGlzIHNlc3Npb24sIGl0cyBzc3JjIHNob3VsZCBtYXRjaCB0aGUKCSAgaW50ZXJuYWwgc3NyYy4KCjIwMTMtMTItMjYgMTE6MDQ6MjkgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGFsbG93IHNldHRpbmcgaW50ZXJuYWwtc3NyYyBhZ2FpbgoKMjAxMy0xMi0zMCAxMzozMTo0NSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIHk0bWVuY29kZTogUmVtb3ZlIGRlYWQgY29kZQoJICBzZXQvZ2V0IHByb3BlcnR5IGlzbid0IHVzZWQKCjIwMTMtMTItMzAgMTM6MzA6MjQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuYzoKCSAgcnRwcWNlbHBkZXBheTogUmVtb3ZlIHVuZWVkZWQgdmFyaWFibGUKCjIwMTMtMTItMDUgMTU6NTM6NTIgLTA4MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhbGVpeEBvYmxvbmcuY29tPgoKCSAgcnRwYmluOiBhbGxvdyBkeW5hbWljIFJUUC9SVENQIGVuY29kZXJzL2RlY29kZXJzCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLltjaF06IGZvdXIgbmV3IGFjdGlvbiBzaWduYWxzIGhhdmUgYmVlbgoJICBhZGRlZCAocmVxdWVzdC1ydHAtZW5jb2RlciwgcmVxdWVzdC1ydHAtZGVjb2RlciwgcmVxdWVzdC1ydGNwLWVuY29kZXIKCSAgYW5kIHJlcXVlc3QtcnRjcC1kZWNvZGVyKS4gVGhlIHVzZXIgd2lsbCBiZSBhYmxlIHRvIHByb3ZpZGUgZW5jb2RlcnMKCSAgb3IgZGVjb2RlcnMgZHluYW1pY2FsbHkuIFRoZSBlbmNvZGVycyBtdXN0IGZvbGxvdyB0aGUgc3J0cGVuYyBBUEkgYW5kCgkgIHRoZSBkZWNvZGVycyB0aGUgc3J0cGRlYyBBUEkuIEhhdmluZyBzZXBhcmF0ZSBzaWduYWxzIGZvciBSVFAgYW5kIFJUQ1AKCSAgYWxsb3dzIHRoZSB1c2VyIHRvIHVzZSBkaWZmZXJlbnQgZW5jb2RlcnMvZGVjb2RlcnMgb3IgcHJvdmlkZSB0aGUgc2FtZQoJICBvbmUgKGUuZy4gdGhhdCB3b3VsZCBiZSB0aGUgY2FzZSBmb3Igc3J0cGVuYykuCgkgIEFsc28sIHJ0cGJpbiBub3cgYWxsb3dzIGFwcGxpY2F0aW9uL3gtc3J0cCBpbiBpdHMgcGFkcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTkzOAoKMjAxMy0xMi0yNyAxNjo1MTozMiArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBkeW5hbWljYWxseSByZWNhbGN1bGF0ZSBSVFggcGFyYW1ldGVycwoJICBVc2UgdGhlIHJvdW5kLXRyaXAtdGltZSBhbmQgYXZlcmFnZSBqaXR0ZXIgdG8gZHluYW1pY2FsbHkgY2FsY3VsYXRlIHRoZQoJICByZXRyYW5zbWlzc2lvbiBpbnRlcnZhbCBhbmQgZXhwZWN0ZWQgcGFja2V0IGFycml2YWwgdGltZS4KCSAgQmFzZWQgb24gcGF0Y2hlcyBmcm9tIFRvcnJpZSBGaXNjaGVyIDx0b3JyaWUuZmlzY2hlckBjb2xsYWJvcmEuY28udWs+CgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE0MTIKCjIwMTMtMTItMjcgMTY6NTA6NTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogY2FsY3VsYXRlIGF2ZXJhZ2Ugaml0dGVyCgoyMDEzLTEyLTI3IDE2OjQ4OjQ4ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHVzZSBSVFQgZnJvbSB0aGUgUmV0cmFuc21pc3Npb24gZXZlbnQKCSAgUGxhY2UgdGhlIGVzdGltYXRlZCBSVFQgaW4gdGhlIFJldHJhbnNtaXNzaW9uIGV2ZW50IGFuZCBsZXQgdGhlIHNlc3Npb24KCSAgbWFuYWdlciB1c2UgdGhhdCBpbnN0ZWFkIG9mIHRoZSBoYXJkY29kZWQgdmFsdWUuCgoyMDEzLTEyLTI3IDE1OjU3OjM5ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHRha2UgbW9yZSBhY2N1cmF0ZSBydW5uaW5nLXRpbWUgZm9yIE5BQ0sKCSAgRG9uJ3QgdXNlIHRoZSBjdXJyZW50IHRpbWUgY2FsY3VsYXRlZCBmcm9tIHRoZSB0bWllb3V0IGxvb3AgZm9yIHdoZW4gd2UKCSAgbGFzdCBzY2hlZHVsZWQgdGhlIE5BQ0sgYmVjYXVzZSBpdCBtaWdodCBiZSB1bnNjaGVkdWxlZCBiZWNhdXNlIG9mIGEgbWF4CgkgIHBhY2tldCBtaXNvcmRlciBhbmQgdGhlbiB3ZSBkb24ndCBhY2N1cmF0ZWx5IGNhbGN1bGF0ZSB0aGUgY3VycmVudCB0aW1lLgoJICBJbnN0ZWFkLCB0YWtlIHRoZSBjdXJyZW50IGVsZW1lbnQgcnVubmluZyB0aW1lIHVzaW5nIHRoZSBjbG9jay4KCjIwMTMtMTItMzAgMTE6MDY6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZGVjLmM6CgkgIHdhdnBhY2tkZWM6IFNlbmQgYSBDQVBTIGV2ZW50IGluIHRoZSB1bml0IHRlc3QKCjIwMTMtMTItMjcgMDI6MTQ6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBpbXByb3ZlIG1zc19tb2RlL2ZyYWdtZW50ZWQgc3BlY2lhbCBoYW5kbGluZwoJICBNYWtlIGl0IGNsZWFyIHdoYXQgc2hvdWxkIGJlIGhhbmRsZWQgcHVyZWx5IGJ5IG1zcyBtb2RlOgoJICAxKSBFeHBvc2UgdGhlIHN0cmVhbXMgb24gdGhlIGZpcnN0IG1vb2YgYXMgdGhlcmUgYXJlIG5vIG1vb3YgYXRvbXMKCSAgMikgUHJvcGVybHkgY2xlYW51cCBzdHJlYW1zIG9uIGZsdXNoZXMKCSAgQWRkIGEgbm90ZSBhYm91dCB0aGUgbWVhbmluZyBvZiB1cHN0cmVhbV9uZXdzZWdtZW50IGFuZCBtc3NfbW9kZQoJICBmb3IgZnV0dXJlIHJlZmVyZW5jZS4KCSAgTWFrZSBhbGwgb3RoZXIgc3BlY2lhbCBmcmFnbWVudCBoYW5kbGluZyBzaGFyZWQgZm9yIGJvdGggZGFzaAoJICBhbmQgbXNzIHN0cmVhbXMuCgoyMDEzLTEyLTEyIDEwOjUwOjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkcmFpbiB0aGUgYWRhcHRlciBiZWZvcmUgcHVzaGluZyBFT1MKCSAgSW4gYSBmcmFnbWVudGVkIHNjZW5hcmlvLCBxdGRlbXV4IGlzIG9wZXJhdGluZyBpbiBwdXNoIG1vZGUKCSAgYW5kIGl0IGdldHMgYSBmcmFnbWVudGVkIGJ1ZmZlci4gV2hpbGUgcHJvY2Vzc2luZyBpdHMgZGF0YQoJICBkb3duc3RyZWFtIGdldHMgdW5saW5rZWQgKG9yIGEgaW5wdXQtc2VsZWN0b3IgY2hhbmdlcyBpdHMKCSAgYWN0aXZlIHBhZCBhbmQgcmV0dXJucyBub3QtbGlua2VkKS4gUXRkZW11eCBzdG9wcyBwcm9jZXNzaW5nCgkgIHRoaXMgZnJhZ21lbnQgYW5kIHJldHVybnMgbm90LWxpbmtlZCB1cHN0cmVhbSwgbGVhdmluZyB0aGUKCSAgcmVtYWluaW5nIGRhdGEgaW4gaXRzIGFkYXB0ZXIuCgkgIFdoZW4gaXQgZ2V0cyBhbiBFT1MgaXQgc2hvdWxkIG1ha2Ugc3VyZSB0aGF0IGFsbCB0aGUgZGF0YSBpdAoJICBoYWQgcmVjZWl2ZWQgaXMgcHVzaGVkIGJlZm9yZSBwdXNoaW5nIEVPUy4KCjIwMTMtMTItMjYgMjM6MjE6NDcgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSAgc2hvdXQyc2VuZDogZHJvcCBJUCBvbmx5IHJlcXVpcmVtZW50IGZvciBfc2V0X2hvc3QoKQoJICBsaWJzaG91dDIgKHdlIHJlcXVpcmUgPiAyLjAgYXQgY29uZmlnIHRpbWUpIHN1cHBvcnRzCgkgIGJvdGggSVAgYW5kIGhvc3RuYW1lIGZvciBfc2V0X2hvc3QoKS4gRHJvcHBlZCBhbgoJICBvdXRkYXRlZCBGSVhNRSByZWdhcmRpbmcgdGhpcyBsaW1pdGF0aW9uLCBhZGp1c3RlZAoJICBzb21lIGNvbW1lbnRzIGFuZCBjaGFuZ2VkIHRoZSBwYXJhbSBibHVyYiB0byByZWZsZWN0CgkgIHRoaXMgdG9vLgoKMjAxMy0xMi0yNiAyMTo0MzozNCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJICBzaG91dDJzZW5kOiBSZXRhcmdldCBGSVhNRSB0byAyLjAKCjIwMTMtMTItMjYgMTE6MjE6MzYgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiB1c2UgYWdncmVnYXRlIGNvbnRyb2wgZm9yIFBMQVkvUEFVU0UvVEVBUkRPV04KCSAgVXNlIHRoZSBhZ2dyZWdhdGUgY29udHJvbCBpbnN0ZWFkIG9mIHRoZSBvcmlnaW5hbCByZXF1ZXN0IHVybCB0byBwZXJmb3JtCgkgIFBBVVNFL1BMQVkgYW5kIFRFQVJET1dOLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxMDAzCgoyMDEzLTEyLTI0IDE0OjQwOjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJICBybmRidWZmZXJzaXplOiBQcm94eSBDQVBTLCBBTExPQ0FUSU9OLCBTQ0hFRFVMSU5HIGFuZCBzcmNwYWQgZXZlbnRzIHByb3Blcmx5CgoyMDEzLTEyLTI0IDAwOjQzOjM5ICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGFkcGNtIG1heCBibG9jayBhbGlnbiBpcyA4MTkyCgoyMDEzLTEyLTIzIDEyOjIzOjI3IC0wNjAwICBCcmVuZGFuIExvbmcgPGIubG9uZ0BjYWJsZWxhYnMuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICB2cDlkZWM6IFJlcXVpcmUgdnB4ID49IDEuMy4wIGZvciBidWlsZGluZyB2cDlkZWMgYW5kIHZwOWVuYwoJICBQcmV2aW91cyB2ZXJzaW9ucyBkaWQgbm90IGhhdmUgYSBzdGFibGUgYml0c3RyZWFtIGZvciBWUDkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA5ODYKCjIwMTMtMTItMjMgMTU6NDY6NDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBVc2UgY29ycmVjdCBjb2RlYyBpZCBmb3IgQURQQ00vRFZJCgoyMDEzLTEyLTIzIDE1OjQ0OjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IENoZWNrIGZvciB0aGUgY29ycmVjdCBzaXplIG9mIGNvZGVjX2RhdGEgaW4gdGhlIEFDTSBjYXNlCgoyMDEyLTAxLTE0IDE5OjU4OjE3ICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGJhc2ljIGFkcGNtIHN1cHBvcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NDMzOQoKMjAxMy0xMi0yMCAxMTo0NTozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZGVzY3JpcHRvcnMuYzoKCSAgcXRkZW11eDogRml4IGNhbGN1YXRpb24gb2YgZGVzY3JpcHRvciBsZW5ndGgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDgxMwoKMjAxMy0xMi0yMiAyMjozMzozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZGJlZGFhMCB0byBkNDhiZWQzCgoyMDEzLTEyLTIyIDIxOjU2OjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vTWFrZXZhcnM6CgkgIHBvOiBzZXQgZ2V0dGV4dCBkb21haW4gaW4gTWFrZXZhcnMgc28gd2UgZG9uJ3QgaGF2ZSB0byBwYXRjaCB0aGUgZ2VuZXJhdGVkIE1ha2VmaWxlLmluLmluCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU0NTUKCjIwMTMtMTItMTkgMTY6NTA6MTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IG9uIHJlY2VpdmUgZXJyb3Igb25seSB1bm1hcCBhbmQgdW5yZWYgYnVmZmVyIGlmIG9uZSB3YXMgYWxsb2NlZCBhbmQgbWFwcGVkCgkgIGNvdmVyaXR5IENJRCAxMTM5ODY2LgoKMjAxMy0xMi0xOSAxMjo0NzoyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazogZml4IG1pc2xlYWRpbmcgY29tbWVudAoJICBUaG9zZSBhcmUgbm90IGFsbG9jYXRlZCBvbiB0aGUgc3RhY2suCgoyMDEzLTEyLTE3IDE4OjI4OjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICB2cHg6IE1hcmsgVlA5IHN1cHBvcnQgYXMgbm9uLWV4cGVyaW1lbnRhbAoJICBUaGVyZSB3YXMgYSBsaWJ2cHggcmVsZWFzZSB3aXRoIFZQOSBzdXBwb3J0IG5vdyBhbmQgdGhlIGJpdHN0cmVhbQoJICBpcyBmcm96ZW4gdG9vLgoKMjAxMy0xMi0xNSAyMTowNDoxMSAtMDgwMCAgVG9kZCBBZ3VsbmljayA8dG9kZEBhZ3Vsbmljay5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgU29tZSBjb21waWxlciB3YXJuaW5nIGZpeGVzIHRvIHNhdGlzZnkgWENvZGUgY29tcGlsZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDUxMwoKMjAxMy0xMi0xNiAxNjoxNzowNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIGlkM3YybXV4OiBTZXQgcGljdHVyZSB0eXBlIGluIHRoZSBBUElDIGZyYW1lcwoKMjAxMy0xMi0xNiAxNjoxNDo1MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIGlkM3YybXV4OiBTZXQgaW1hZ2UtZGVzY3JpcHRpb24gZnJvbSB0aGUgaW5mbyBzdHJ1Y3QsIG5vdCB0aGUgY2FwcwoKMjAxMy0xMi0xNiAxMDowMjozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmg6CgkgIHdhdnBhY2twYXJzZTogUG9zdCBBVURJT19DT0RFQyB0YWcKCjIwMTMtMTItMTYgMTA6MDA6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHNiY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0c2JjcGFyc2UuaDoKCSAgc2JjcGFyc2U6IFBvc3QgQVVESU9fQ09ERUMgdGFnCgoyMDEzLTEyLTE2IDA5OjU4OjMxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuaDoKCSAgZmxhY3BhcnNlOiBQb3N0IEFVRElPX0NPREVDIHRhZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTEyCgoyMDEzLTEyLTE2IDA5OjU2OjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmg6CgkgIGRjYXBhcnNlOiBQb3N0IEFVRElPX0NPREVDIHRhZwoKMjAxMy0xMi0xNiAwOTo1NDozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5oOgoJICBhbXJwYXJzZTogUG9zdCBBVURJT19DT0RFQyB0YWcKCjIwMTMtMTItMTYgMDk6NDk6NDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuaDoKCSAgYWMzcGFyc2U6IFBvc3QgQVVESU9fQ09ERUMgdGFnCgoyMDEzLTEyLTE2IDA5OjQ2OjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmg6CgkgIGFhY3BhcnNlOiBQb3N0IEFVRElPX0NPREVDIHRhZwoKMjAxMy0xMi0xNiAwOTo0MToxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgbXBlZ2F1ZGlvcGFyc2U6IFVzZSBwYnV0aWxzIGZ1bmN0aW9uYWxpdHkgdG8gY3JlYXRlIHRoZSBBVURJT19DT0RFQyB0YWcKCjIwMTMtMTItMTMgMTc6MzY6MzYgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEFkZCBlcnJvciBtZXNzYWdlIGlmIHRoZSBhcHAgdHJpZXMgdG8gc2V0IHRoZSBpbnRlcm5hbC1zc3JjCgoyMDEzLTEyLTEzIDE2OjA4OjM1IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBPbmx5IGNvdW50IG5hY2tzIHdoZW4gYSBuYWNrIHBhY2tldCBpcyByZWNlaXZlZAoJICBOb3Qgd2hlbiBhbnkgUlRDUCBmZWVkYmFjayBwYWNrZXQgaXMuCgoyMDEzLTEyLTEyIDIzOjIyOjQxIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwY29sbGlzaW9uLmM6CgkgIHRlc3RzOiBJbml0aWFsaXplIHNlZ21lbnQgaW4gcnRwY29sbGlzaW9uIHRlc3QKCjIwMTMtMTItMTMgMTU6NTc6MzYgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IFByb2Nlc3MgUFNGQiBGSVIgcmVxdWVzdHMgd2hpY2ggbGFjayB0aGUgbWVkaWEgc3NyYwoJICBBY2NvcmRpbmcgdG8gUkZDIDUxMDQgc2VjdGlvbiA0LjMuMS4yLCBSVENQIFBTRkIgRklSIG1lc3NhZ2UgU0hBTEwKCSAgaGF2ZSBhIG1lZGlhX3NzcmMgZmllbGQgc2V0IHRvIDAuIFRoZSBhY3R1YWwgbWVkaWEgc3NyYyBpcyBpbiB0aGUgRkNJLgoJICBTbyBpbiB0aGF0IGNhc2UsIHdlIGlnbm9yZSB0aGUgcmV0YWluZWQgZmVlZGJhY2sgYW5kIGp1c3QgbGV0IGl0IHRocm91Z2gKCSAgdG8gdGhlIHJ0cF9zZXNzaW9uX3Byb2Nlc3NfZmlyKCkgZnVuY3Rpb24gd2hpY2ggd2lsbCBjaGVjayBmb3IgdGhlIGFjdHVhbAoJICBTU1JDIGluc2lkZSB0aGUgRkNJLgoJICBGaXhlcyBhIHJlZ3Jlc3Npb24gaW50cm9kdWNlZCBieSBjb21taXQgNTdjMjdlYzMKCjIwMTMtMTEtMTQgMTY6MTk6MjkgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgcnRwc2Vzc2lvbjogZml4IHJiIGJsb2NrcyBkaXNhcHBlYXJpbmcgYWZ0ZXIgdGhlIGZpcnN0IHJ0Y3AgY3ljbGUgd2l0aCBtdWx0aXBsZSBzZW5kZXJzCgkgIFByZXZpb3VzbHksIHdoZW4gdGhlIHNlc3Npb24gaGFkIG11bHRpcGxlIGludGVybmFsIHNlbmRlciBTU1JDcywgaXQgd291bGQKCSAgaXNzdWUgU1IgcmVwb3J0cyB3aXRoIFJCIGJsb2NrcyBvbmx5IG9uIHRoZSBmaXJzdCBSVENQIHRpbWVvdXQgYW5kIGFmdGVyd2FyZHMKCSAgU1IgcmVwb3J0cyB3b3VsZCBiZSBzZW50IGVtcHR5LiBUaGlzIHdhcyBiZWNhdXNlIHRoZSAiZ2VuZXJhdGlvbiIgbnVtYmVyCgkgIGluIFJUUFNvdXJjZSB3b3VsZCBpbmNyZWFzZSBtb3JlIHRoYW4gb25jZSBkdXJpbmcgdGhlIHNhbWUgY3ljbGUgYW5kIGFmdGVyd2FyZHMKCSAgaXQgd291bGQgYWx3YXlzIGJlIGdyZWF0ZXIgdGhhbiB0aGUgc2Vzc2lvbidzIGdlbmVyYXRpb24sIHdoaWNoIHdvdWxkIGNhdXNlCgkgIGl0IHRvIGJlIHNraXBwZWQgZnJvbSBiZWluZyBpbmNsdWRlZCBpbiBSQnMuCgkgIFRoaXMgY29tbWl0IGZpeGVzIHRoaXMgcHJvYmxlbSBieToKCSAgMSkgSW5jcmVhc2luZyB0aGUgUlRQU291cmNlIGdlbmVyYXRpb24gb25seSBhdCB0aGUgZW5kIG9mIGVhY2ggY3ljbGUsCgkgIHdoaWNoIGVzc2VudGlhbGx5IGZpeGVzIHRoZSBwcm9ibGVtIGJ1dCBvbmx5IHdoZW4gdGhlIGludGVybmFsIHNlbmRlcnMKCSAgYXJlIGxlc3MgdGhhbiBHU1RfUlRDUF9NQVhfUkJfQ09VTlQuCgkgIDIpIEtlZXBpbmcgZm9yIGVhY2ggUlRQU291cmNlIGEgc2V0IG9mIFNTUkNzIHdoaWNoIHN0b3JlcyB3aGljaCBTU1JDJ3MKCSAgU1IgdGhlIGdpdmVuIFJUUFNvdXJjZSBoYXMgYmVlbiByZXBvcnRlZCBpbiwgd2hpY2ggYWxzbyBmaXhlcyB0aGUgcHJvYmxlbQoJICB3aGVuIHRoZSBpbnRlcm5hbCBzZW5kZXJzIGFyZSBtb3JlIHRoYW4gR1NUX1JUQ1BfTUFYX1JCX0NPVU5ULiBUaGlzIGlzCgkgIG5lY2Vzc2FyeSBiZWNhdXNlIG9mIHRoZSBmYWN0IHRoYXQgYW55IFJUUFNvdXJjZSBpcyBtYXJrZWQgYXMgcmVwb3J0ZWQKCSAgaW4gaXRzZWxmJ3MgU1IgYW5kIG1ha2VzIGl0IGltcG9zc2libGUgdG8ga25vdyBpZiBpdCBoYXMgYmVlbiByZXBvcnRlZAoJICBpbiBvdGhlciBTUnMgdG9vIG9yIG5vdCwgYW5kIHdoaWNoLgoKMjAxMy0xMS0xNCAxNjoyMzozNSArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHNlc3Npb24uYzoKCSAgdGVzdHMvY2hlY2s6IGFkZCBhbiBydHBzZXNzaW9uIHVuaXQgdGVzdCB0byB2ZXJpZnkgYWxsIFJCcyBhcmUgaW5jbHVkZWQgaW4gYWxsIFNScywgcm91bmRyb2JpbgoJICBUaGlzIHRlc3QgY2hlY2tzIHRoYXQgd2hlbiB3ZSBoYXZlIG11bHRpcGxlIGludGVybmFsIHNlbmRlciBzb3VyY2VzCgkgIGluIHJ0cHNlc3Npb24sIFNScyBjb250YWluIFJCcyBmb3IgZXZlcnkgb3RoZXIgc2VuZGVyIHNvdXJjZSwgYW5kIHRoYXQKCSAgdGhleSBhcmUgaW5jbHVkZWQgcm91bmRyb2JpbiB3aGVuIHRoZXkgZXhjZWVkIFNUX1JUQ1BfTUFYX1JCX0NPVU5ULAoJICB3aGljaCBpcyB0aGUgbWF4IG51bWJlciBvZiBSQnMgdGhhdCBjYW4gZml0IGluIGEgU1IuCgoyMDEzLTEyLTEyIDE2OjAxOjEwICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGRvY3MvZGVzaWduL2Rlc2lnbi1ydHBjb2xsaXNpb24udHh0OgoJICBkb2NzOiBpbXByb3ZlIGRvY3MKCjIwMTMtMTEtMDUgMTg6MDM6NDggKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9kZXNpZ24vTWFrZWZpbGUuYW06CgkqIGRvY3MvZGVzaWduL2Rlc2lnbi1ydHBjb2xsaXNpb24udHh0OgoJICBkb2M6IGFkZCBkZXNpZ24tcnRwY29sbGlzaW9uLnR4dCB0aGF0IGV4cGxhaW5zIHdoZW4gR3N0UlRQQ29sbGlzaW9uIGlzIGNyZWF0ZWQKCSAgSXQgYWxzbyB0YWxrcyBhYm91dCAiQllFIG9ubHkgdGhlIGNvcnJlc3BvbmRpbmcgc291cmNlLCBub3QgdGhlIHdob2xlIHNlc3Npb24uIgoKMjAxMy0xMS0wNSAxMjozMTo1NCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBjb2xsaXNpb24uYzoKCSAgdGVzdHMvY2hlY2s6IGltcHJvdmUgcnRwY29sbGlzaW9uOjp0ZXN0X21hc3Rlcl9zc3JjX2NvbGxpc2lvbiB0byBlbnN1cmUgdGhhdCBhIGNvbGxpc2lvbiBkb2VzIG5vdCBCWUUgdGhlIHdob2xlIHNlc3Npb24KCSAgQ29uZmxpY3RzOgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBjb2xsaXNpb24uYwoKMjAxMy0xMS0wMSAxNzowNzo1NyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwY29sbGlzaW9uLmM6CgkgIHRlc3RzL2NoZWNrOiBhZGQgcnRwY29sbGlzaW9uOjp0ZXN0X21hc3Rlcl9zc3JjX2NvbGxpc2lvbiB1bml0IHRlc3QKCSAgSXQgY2hlY2tzIHRoZSBwYXlsb2FkZXIgY2hhbmdlcyBpdHMgc3NyYyB3aGVuIGNvbGxpc2lvbiBoYXBwZW5zCgoyMDEzLTEyLTEyIDEwOjM4OjQzICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IGtlZXAgZXh0cmEgc3RhdHMgZm9yIHNjaGVkdWxpbmcgQllFCgkgIEtlZXAgYW4gZXh0cmEgc3RhdHMgc3RydWN0dXJlIGZvciBzY2hlZHVsaW5nIHRoZSBCWUUgcGFja2V0cy4gV2hlbiB3ZQoJICBkZWNpZGUgdG8gc2NoZWR1bGUgQllFLCBtYWtlIGEgY29weSBvZiB0aGUgY3VycmVudCBzdGF0cyBpbnRvIHRoZQoJICBieWVfc3RhdHMuIFRoZW4gd2hpbGUgd2Ugc2NoZWR1bGUgdGhlIEJZRSwgdXBkYXRlIGFuZCB1c2Ugb25seSB0aGUKCSAgYnllX3N0YXRzLiBXaGVuIHdlIGZpbmlzaGVkIHNjaGVkdWxpbmcgdGhlIEJZRSBwYWNrZXQsIHdlIHVzZSB0aGUKCSAgcmVndWxhciBzdGF0cyBhZ2Fpbi4KCjIwMTMtMTItMTIgMTA6MzQ6MzggKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHdoZW4gd2Ugc2NoZWR1bGUgQllFLCBvbmx5IGRlYWwgd2l0aCBCWUUgc291cmNlcwoJICBXaGVuIHdlIGFyZSBkb2luZyB0aGUgUlRDUCB0aW1lb3V0IHRvIHNjaGVkdWxlIEJZRSBwYWNrZXRzLCBkb24ndAoJICBnZW5lcmF0ZSBSVENQIGZvciBhbGwgc291cmNlcyBidXQgb25seSBmb3IgdGhlIHNvdXJjZXMgbWFya2VkIGFzIEJZRS4KCjIwMTMtMTItMTIgMTA6MzI6NDggKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHJlc2V0IHN0YXRlIGFmdGVyIHNjaGVkdWxpbmcgQllFCgkgIEFmdGVyIHdlIGRvIFJUQ1AsIHdlIGFyZSBub3Qgc2NoZWR1bGluZyBieWUgYW55bW9yZS4KCjIwMTMtMTItMTIgMTA6MzE6MzggKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGFsc28gY291bnQgTkFDS1Mgd2hlbiBubyBzaWduYWwgd2FzIHBlbmRpbmcKCjIwMTMtMTItMTIgMTA6MDk6MjUgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IGlnbm9yZSBSVENQIHBhY2tldHMgZm9yIHRoZSBCWUUgc291cmNlcwoJICBXaGVuIHdlIGFyZSBzY2hlZHVsaW5nIEJZRSBwYWNrZXRzLCBpZ25vcmUgYWxsIFJUQ1AgZm9yIHRoZSBzb3VyY2VzIHRoYXQKCSAgYXJlIHNjaGVkdWxpbmcgYSBCWUUgcGFja2V0LiBPdGhlciBzb3VyY2VzIHRoYXQgYXJlIG5vdCBzY2hlZHVsaW5nIEJZRQoJICBzaG91bGQgY29udGludWUgcmVjZWl2aW5nIFJUQ1AgcGFja2V0cyBhcyB1c3VhbC4KCjIwMTMtMTEtMDQgMTE6NDg6MjEgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IGRldGVybWluZSBpZiB0aGUgc2Vzc2lvbiBpcyBkb2luZyBwb2ludC10by1wb2ludAoJICBJbiB0aGlzIGNhc2UgVF9kaXRoZXJfbWF4IGlzIHNldCB0byAwIGFjY29yZGluZyB0byBSRkMgNDU4NQoKMjAxMy0xMi0xMCAxMTo1NzozNyArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogc2VyaWFsaXplIGV2ZW50cyBpbiB0aGUgYnVmZmVyCgkgIFNlcmlhbGl6ZSBldmVudHMgaW50byB0aGUgaml0dGVyYnVmZmVyIGJ5IGluc2VydGluZyB0aGVtIHdpdGggYSAtMQoJICBzZXFudW0uCgkgIFVwZGF0ZSB1bml0IHRlc3QgdG8gZXhwZWN0IGV2ZW50cyBmcm9tIHRoZSBzdHJlYW1pbmcgdGhyZWFkLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUyOTg2CgoyMDEzLTEyLTEwIDExOjA0OjA2ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGRldGVjdCAtMSBzZXFudW0KCSAgS2VlcCB0aGUgc2VxbnVtIGFzIGEgZnVsbCBndWludCBzbyB0aGF0IHdlIGNhbiBjaGVjayBmb3IgLTEgZW50cmllcyBhbmQKCSAgZGVhbCB3aXRoIHRoZW0gY29ycmVjdGx5LgoJICBJbW1lZGlhdGVseSB0cnkgdG8gcHVzaCAtMSBzZXFudW0uCgoyMDEzLTEyLTEwIDExOjAxOjAzICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHJlb3JnYW5pemUgaml0dGVyYnVmZmVyIGl0ZW1zCgkgIEtlZXAgdGhlIG9sZGVzdCBpdGVtIGF0IHRoZSBoZWFkIGFuZCB0aGUgbmV3ZXN0IGl0ZW1zIG9uIHRoZSB0YWlsLiBUaGlzCgkgIG1ha2VzIGl0IGVhc2llciB0byBkZWFsIHdpdGggLTEgc2VxbnVtcy4KCjIwMTMtMTItMDkgMjM6MzQ6MTAgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBqaXR0ZXJidWZmZXI6IGNvcnJlY3RseSBjaGVjayBmb3IgaW52YWxpZCB2YWx1ZXMKCSAgQ2hlY2sgZm9yIC0xIG9uIHRoZSBndWludCBmcm9tIHRoZSBidWZmZXIgaXRlbSBpbnN0ZWFkIG9mIG9uIHRoZSBndWludDE2CgkgIG9yIGd1aW50MzIuCgkgIEFsc28gaW5zZXJ0IC0xIHNlcW51bSBhdCB0aGUgaGVhZCBvZiB0aGUgaml0dGVyYnVmZmVyLgoKMjAxMy0xMi0wOCAxNjo0OTo1NSArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGZpeCBzZWdmYXVsdCB3aGVuIGRlYWxpbmcgd2l0aCBwYWRkZWQgZnJhbWVzCgkgIEZpeGVzIGNyYXNoZXMgd2l0aCB2dGRlYyAhIG9zeHZpZGVvc2luayB3aGVyZSBWaWRlb1Rvb2xib3ggb3V0cHV0cyBwYWRkZWQgVVlWWQoKMjAxMy0xMi0wNSAxMjoxNToyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkgIG11bGF3ZGVjOiBSZXF1aXJlIGNhcHMgdG8gYmUgc2V0IGJlZm9yZSBhY2NlcHRpbmcgYW55IGRhdGEKCjIwMTMtMTItMDUgMTI6MTU6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkgIHdhdnBhY2tkZWM6IFJlcXVpcmUgY2FwcyB0byBiZSBzZXQgYmVmb3JlIGFjY2VwdGluZyBhbnkgZGF0YQoKMjAxMy0xMi0wNSAxMjoxMzozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJICBzcGVleGRlYzogUmVxdWlyZSBjYXBzIHRvIGJlIHNldCBiZWZvcmUgYWNjZXB0aW5nIGFueSBkYXRhCgoyMDEzLTEyLTA1IDEyOjEzOjEwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBSZXF1aXJlIGNhcHMgdG8gYmUgc2V0IGJlZm9yZSBhY2NlcHRpbmcgYW55IGRhdGEKCjIwMTMtMTItMDUgMTE6NDI6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnB4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnB4L2dzdHZwOWRlYy5jOgoJICB2cHg6IFVzZSBuZXcgZ3N0X3ZpZGVvX2RlY29kZXJfc2V0X25lZWRzX2Zvcm1hdCgpIEFQSQoKMjAxMy0xMi0wNCAxNjoyMzo0MyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBGcmVlIGRldmljZV9pbmZvIGluIGFjY2VwdHMgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5ODExCgoyMDEzLTEyLTA0IDIxOjU3OjQ4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgcnRwdGhlb3JhcGF5OiBEb24ndCBzZW5kIGhlYWRlcnMgdHdpY2UgaWYgd2UgZ290IHRoZW0gZnJvbSB0aGUgY2FwcyBhbHJlYWR5CgoyMDEzLTEyLTA0IDIxOjU3OjA0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgcnRwdGhlb3JhcGF5OiBEb24ndCBsZWFrIGNvbmZpZyBkYXRhIHdoZW4gcmVjZWl2aW5nIGEgc2Vjb25kIENBUFMgZXZlbnQKCjIwMTMtMTItMDQgMjE6NTU6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICBydHB2b3JiaXNwYXk6IERvbid0IHNlbmQgaGVhZGVycyB0d2ljZSBpZiB3ZSBnb3QgdGhlbSBmcm9tIHRoZSBjYXBzIGFscmVhZHkKCjIwMTMtMTItMDQgMjE6NTQ6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICBydHB2b3JiaXNwYXk6IERvbid0IGxlYWsgY29uZmlnIGRhdGEgd2hlbiByZWNlaXZpbmcgYSBzZWNvbmQgQ0FQUyBldmVudAoKMjAxMy0xMi0wNCAyMToxNzowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3RyZWFtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzdHJlYW1kZXBheS5oOgoJICBydHBzdHJlYW1kZXBheTogQWRkIFJGQzQ1NzEgUlRQIHN0cmVhbSBkZXBheWxvYWRpbmcgZWxlbWVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5ODI5CgoyMDEzLTEyLTA0IDEwOjEyOjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBzdHJlYW1wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzdHJlYW1wYXkuaDoKCSAgcnRwc3RyZWFtcGF5OiBBZGQgUkZDNDU3MSBSVFAgc3RyZWFtIHBheWxvYWRpbmcgZWxlbWVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5ODI5CgoyMDEzLTEyLTAzIDE1OjA4OjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogaW1wcm92ZSBmcmFnbWVudC1zdGFydCB0cmFja2luZwoJICBTb21lIGJ1ZmZlcnMgY2FuIGhhdmUgbXVsdGlwbGUgbW9vdiBhdG9tcyBpbnNpZGUgYW5kIHRoZSBzdHJhdGVneQoJICBvZiB1c2luZyB0aGUgZ3N0X2FkYXB0ZXJfcHJldl9wdHMgdGltZXN0YW1wIHRvIGdldCB0aGUgYmFzZSB0aW1lc3RhbXAKCSAgZm9yIHRoZSBtZWRpYSBvZiB0aGUgZnJhZ21lbnQgd291bGQgZmFpbCBhcyBpdCB3b3VsZCByZXVzZSB0aGUgc2FtZQoJICBiYXNlIHRpbWVzdGFtcCBmb3IgYWxsIG1vb2ZzIGluIHRoZSBidWZmZXIgaW5zdGVhZCBvZiBhY2N1bXVsYXRpbmcKCSAgdGhlIGR1cmF0aW9ucyBmb3IgYWxsIG9mIHRoZW0uCgkgIEhlcmVzIGEgYmV0dGVyIGV4cGxhbmF0aW9uIG9mIHRoZSBpc3N1ZToKCSAgcXRkZW11eCByZWNlaXZlcyBhIGJ1ZmZlciB3aGVyZSBQVFMoYnVmKSA9IFgKCSAgYnVmIC0+IG1vb2ZBIHwgbW9vZkIgfCBtb29mQwoJICBUaGUgcHJvYmxlbSB3YXMgdGhhdCBQVFMoYnVmKSB3YXMgdXNlZCBhcyB0aGUgYmFzZSB0aW1lc3RhbXAgZm9yCgkgIGFsbCAzIG1vb2ZzLCBjYXVzaW5nIGFsbCBidWZmZXJzIHRvIGJlIFggYmFzZWQuIEluIHRoaXMgY2FzZSB3ZSB3YW50CgkgIG9ubHkgbW9vZkEgdG8gYmUgWCBiYXNlZCBhcyBpdCBpcyB3aGF0IHRoZSBQVFMgb24gYnVmIG1lYW5zLCBhbmQgdGhlCgkgIG90aGVyIG1vb2ZCIGFuZCBtb29mQyBqdXN0IHVzZSB0aGUgYWNjdW11bGF0ZWQgdGltZXN0YW1wIGZyb20gdGhlCgkgIHByZXZpb3VzIG1vb2ZzIGR1cmF0aW9ucy4KCSAgVG8gc29sdmUgdGhpcywgdGhpcyBwYXRjaCB1c2VzIGdzdF9hZGFwdGVyX3ByZXZfcHRzIGRpc3RhbmNlCgkgIHJlc3VsdCwgdGhpcyBhbGxvd3MgcXRkZW11eCB0byBjYWxjdWxhdGUgaWYgaXQgc2hvdWxkIHVzZSB0aGUKCSAgcmVzdWx0aW5nIHB0cyBvciBqdXN0IGFjY3VtdWxhdGUgdGhlIHNhbXBsZXMgYXMgaXQgY2FuIGlkZW50aWZ5CgkgIGlmIHRoZSBtb29mcyBiZWxvbmcgdG8gdGhlIHNhbWUgdXBzdHJlYW0gYnVmZmVyIG9yIG5vdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTc4MwoKMjAxMy0xMS0yMSAxMjoyOToyOCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogYWRkIHN1cHBvcnQgZm9yIG11bHRpLXBsYW5hciBWNGwyIEFQSSBpbiBETUFCVUYgbW9kZQoJICBGaXhlcyBidWcgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjc1NAoKMjAxMy0xMS0xOSAxNzoxNjoyNyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJICB2NGwyOiByZWZhY3RvciBieSBlbXVsYXRpbmcgb25lIHY0bDJfcGxhbmUgaW4gbm9uLU1QTEFORSBtb2RlCgkgIHNvIHRoYXQgdGhlIGJ1ZmZlciBpbmZvcm1hdGlvbnMgY2FuIGJlIHJldHJpZXZlZCB0aGUgc2FtZSB3YXkKCSAgaW4gYm90aCBNUExBTkUgYW5kIG5vbi1NUExBTkUgbW9kZS4KCSAgSGVyZSAiZW11bGF0aW5nIiBtZWFucyAibWFudWFsbHkgZmlsbCBpbiB0aGUgcGxhbmUiLgoJICBGaXhlcyBidWcgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjc1NAoKMjAxMy0xMS0xMyAxMjowNTo0MCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBhZGQgc3VwcG9ydCBmb3IgbXVsdGktcGxhbmFyIFY0TDIgQVBJCgkgIFRoaXMgYXBpIGlzIGluIGxpbnV4IGtlcm5lbCBzaW5jZSB2ZXJzaW9uIDIuNi4zOSwKCSAgYW5kIHByZXNlbnQgaW4gYWxsIHZlcnNpb24gMy4KCSAgVGhlIGNvbW1pdCB0aGF0IGFkZHMgdGhlIEFQSSBpbiBtYXN0ZXIgYnJhbmNoIG9mIHRoZQoJICBsaW51eCBrZXJuZWwgc291cmNlIGlzOgoJICBodHRwczovL2dpdGh1Yi5jb20vdG9ydmFsZHMvbGludXgvY29tbWl0L2Y4ZjM5MTRjZjkyMmY1ZjllMWQ2MGU5ZTEwZjZmYjkyNzQyOTA3YWQKCSAgdjRsMiBkb2M6ICJTb21lIGRldmljZXMgcmVxdWlyZSBkYXRhIGZvciBlYWNoIGlucHV0CgkgIG9yIG91dHB1dCB2aWRlbyBmcmFtZSB0byBiZSBwbGFjZWQgaW4gZGlzY29udGlndW91cwoJICBtZW1vcnkgYnVmZmVycyIKCSAgVGhlcmUgYXJlIG5ld2VyIHN0cnVjdHVyZXMgJ3N0cnVjdCB2NGwyX3BpeF9mb3JtYXRfbXBsYW5lJwoJICBhbmQgJ3N0cnVjdCB2NGwyX3BsYW5lJy4KCSAgU28gdGhlIHBpeGVsIGZvcm1hdCBpcyBub3Qgc2V0dXAgd2l0aCB0aGUgc2FtZSBBUEkgd2hlbiB1c2luZwoJICBtdWx0aS1wbGFuYXIuCgkgIEFsc28gZm9yIGdzdC12NGwyLCBvbmUgb2YgdGhlIGRpZmZlcmVuY2UgaXMgdGhhdCBpbiBHc3RWNGwyTWV0YQoJICB0aGVyZSBhcmUgbm93IG9uZSBtZW0gcG9pbnRlciBmb3IgZWFjaCBtYXBlZCBwbGFuZS4KCSAgV2hlbiBub3QgdXNpbmcgbXVsdGktcGxhbmFyLCB0aGlzIGNvbW1pdCB0YWtlcyBjYXJlIG9mIGtlZXBpbmcKCSAgdGhlIHNhbWUgY29kZSBwYXRoIHRoYW4gcHJldmlvdXNseS4gU28gdGhhdCB0aGUgMiBjYXNlcyBhcmUKCSAgaW4gdHdvIGRpZmZlcmVudCBibG9ja3MgdHJpZ2dlcmVkIGZyb20gVjRMMl9UWVBFX0lTX01VTFRJUExBTkFSLgoJICBGaXhlcyBidWcgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjc1NAoKMjAxMy0xMi0wNCAwOToxMjowNyArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0c2JjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiBkb24ndCBsZWFrIHRlbXBsYXRlIGNhcHMKCjIwMTMtMTItMDMgMjE6NDE6MjggKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0c2JjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWFjcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiB1c2UgQUNDRVBUX0lOVEVSU0VDVCBmbGFnCgkgIFRoZSBwYXJzZXIgY2FuIGFjY2VwdCBpbnB1dCB0aGF0IGlzIG5vdCBjb21wbGV0ZWx5IHNwZWNpZmllZC4gVXNlIHRoZQoJICBBQ0NFUFRfSU5URVJTRUNUIGZsYWcgb24gdGhlIHNpbmtwYWQgdG8gdHdlYWsgdGhlIGFjY2VwdGNhcHMgZnVuY3Rpb24gdG8KCSAgY2hlY2sgZm9yIGludGVyc2VjdGlvbiBvbmx5LiBUaGlzIGFsbG93cyB1cyB0byBwcm94eSBkb3duc3RyZWFtCgkgIGNvbnN0cmFpbnRzIHdoaWxlIHN0aWxsIGFsbG93aW5nIG5vbi1zdWJzZXQgY2FwcyBhcyBpbnB1dC4KCSAgV2UgY2FuIHRoZW4gYWxzbyByZW1vdmUgdGhlIGFwcGVuZGVkIHRlbXBsYXRlIGNhcHMgd29ya2Fyb3VuZC4KCSAgTWFrZSBhIHVuaXQtdGVzdCB0byBjaGVjayB0aGUgbmV3IGZlYXR1cmUuCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMjYwNDBlZTM4Y2I5ZTdjNDJmM2Q5YTAyODJiM2U1Y2FjZTdjYTQyZAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1MDI0CgoyMDEzLTEyLTAzIDIxOjM2OjU0ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RzYmNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IHJlbW92ZSBmaWVsZHMgZnJvbSBmaWx0ZXIKCSAgV2UgbmVlZCB0byByZW1vdmUgdGhlIGZpZWxkcyBmcm9tIHRoZSBmaWx0ZXIgd2hlbiB3ZSBjYW4gY29udmVydAoJICBiZXR3ZWVuIHRoZW0uCgoyMDEzLTEyLTAzIDIxOjI5OjEzICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RzYmNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IHJlZmFjdG9yIGNvZGUgdG8gcmVtb3ZlIGNhcHMgZmllbGRzCgoyMDEzLTEyLTAyIDAwOjEwOjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBtaWNyb29wdGltaXNhdGlvbjogYXZvaWQgc29tZSB1bm5lY2Vzc2FyeSBHVmFsdWUgY29waWVzCgoyMDEzLTEyLTAxIDIzOjMyOjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBmaXggb2ZmLWJ5LW9uZSBjcmFzaCB3aGVuIGRvd25zdHJlYW0gY2FwcyBjb250YWluIGEgbGlzdCBvZiBmcmFtZXJhdGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTk1NDQKCjIwMTMtMTEtMjkgMTE6MjY6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFVzZSB0aGUgdGltZXN0YW1wIG9mIHRoZSBtb29mIGFzIHRoZSBiYXNlIGZyYWdtZW50IHN0YXJ0CgkgIEluIFNtb290aFN0cmVhbWluZyBmcmFnbWVudGVkIHNjZW5hcmlvLCB0aGUgdGltZXN0YW1wcyBhcmUgY2FsY3VsYXRlZAoJICBzdGFydGluZyBmcm9tIHRoZSBmcmFnbWVudCBidWZmZXIgdGltZXN0YW1wLiBXaGVuIHRoZXJlIGlzIGEgbm90LWxpbmtlZAoJICByZXR1cm4gZnJvbSBkb3duc3RyZWFtLCBxdGRlbXV4IHdpbGwgcmV0dXJuIHVwc3RyZWFtIGFuZCB3aWxsIGtlZXAgdGhlCgkgIG5vbi1wdXNoZWQgZGF0YSBpbnRvIGl0cyBhZGFwdGVyLgoJICBPbiBhIG5ldyBmcmFnbWVudCBidWZmZXIgcHVzaGVkIHRvIHF0ZGVtdXgsIHRoZSBuZXcgYnVmZmVyIHRpbWVzdGFtcAoJICB3b3VsZCBvdmVyd3JpdGUgdGhlIHByZXZpb3VzIG9uZSB0aGF0IHNob3VsZCBiZSB1c2VkIG9uIHRoZSBzdGlsbAoJICB0byBiZSBwdXNoZWQgYnVmZmVycy4gQmVjYXVzZSBvZiB0aGlzLCB0aGlzIHBhdGNoIHdpbGwgYWxzbwoJICB1cGRhdGUgdGhlIGZyYWdtZW50X3N0YXJ0IHRpbWVzdGFtcCBmcm9tIHRoZSBhZGFwdGVyIGxhc3QgcHRzCgkgIHRvIG1ha2Ugc3VyZSB0aGUgbW9vZiBhbmQgdGltZXN0YW1wcyBhcmUgaW4gc3luYyBhbmQgd2lsbCByZXN1bHQKCSAgaW4gY29ycmVjdCB0aW1lc3RhbXBzIGZvciBhbGwgZnJhZ21lbnRzLgoKMjAxMy0xMS0xNSAwODo1NDowNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IGF2b2lkIHJlLXJlYWRpbmcgdGhlIHNhbWUgbW9vdiBhbmQgZW50ZXJpbmcgaW50byBsb29wCgkgIEluIHRoZSBzY2VuYXJpbyBvZiAibWRhdCB8IG1vb3YgKHdpdGggZnJhZ21lbnRlZCBhcnRpZmFjdHMpIiBxdGRlbXV4CgkgIGNvdWxkIHJlYWQgdGhlIG1vb3YgYWdhaW4gYWZ0ZXIgdGhlIG1kYXQgYmVjYXVzZSBpdCB3YXMgY29uc2lkZXJpbmcgdGhlCgkgIG1lZGlhIGFzIGEgZnJhZ21lbnRlZCBvbmUuCgkgIFRvIGF2b2lkIHRoaXMgbG9vcCB0aGlzIHBhdGNoIG1ha2VzIGl0IHN0b3JlCgkgIHRoZSBsYXN0IHByb2Nlc3NlZCBtb292X29mZnNldCB0byBhdm9pZCBwYXJzaW5nIGl0IGFnYWluLgoJICBBbmQgaXQgYWxzbyBjaGVja3MgaWYgdGhlcmUgYXJlIGFueSBzYW1wbGVzIHRvIHBsYXkgYmVmb3JlCgkgIHJlc3R1cm5pbmcgdG8gdGhlIG1kYXQsIHNvIHRoYXQgaXQga25vd3MgdGhlcmUgaXMgbmV3IGRhdGEgdG8gYmUgcGxheWVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkxNTcwCgoyMDEzLTExLTE1IDAwOjUyOjUzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkbyBub3QgZnJlZSBzdHJlYW1zIGlmIHRoZXkgd2VyZSBub3QgY3JlYXRlZCBsb2NhbGx5CgkgIFdoZW4gcGFyc2luZyBhIHRyYWsgb25seSBmcmVlIHN0cmVhbXMgb24gZmFpbHVyZXMgaWYgdGhvc2Ugc3RyZWFtcwoJICB3ZXJlIGNyZWF0ZWQgbG9jYWxseS4gVGhleSBjb3VsZCBoYXZlIGJlZW4gY3JlYXRlZCBmcm9tIGEgcHJldmlvdXMKCSAgZnJhZ21lbnQsIGluIHRoaXMgY2FzZSB3ZSB0aGV5IGhhdmUgdmFsaWQgaW5mbyBmcm9tIHRoZSBvdGhlciBmcmFnbWVudC4KCSAgSW5jbHVkaW5nIHBhZHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTE1NzAKCjIwMTMtMTEtMjkgMTk6NTc6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJICB2aWRlb21peGVyOiBTaW1wbGlmeSBOVjEyLzIxIGJsZW5kaW5nIGNvZGUgbWFjcm9zCgoyMDEzLTExLTI5IDE5OjUwOjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSAgdmlkZW9taXhlcjogRml4IHNlZ2ZhdWx0IHdoZW4gZmlsbGluZyB0aGUgYmFja2dyb3VuZCBvZiBhIFVZVlkgZnJhbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjQwMQoKMjAxMy0xMS0yOSAwOToyMTo1MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggY29tcGlsYXRpb24gd2l0aCBnc3QgZGVidWdpbmcgZGlzYWJsZWQKCSAgcXRkZW11eC5jOjk0NTI6MTogZXJyb3I6IGxhYmVsIGF0IGVuZCBvZiBjb21wb3VuZCBzdGF0ZW1lbnQKCjIwMTMtMTEtMjcgMTc6MDI6MDAgKzAxMDAgIEpvbmFzIEhvbG1iZXJnIDxqb25hc2hnQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IE1hcCBpbmJ1ZmZlciBvbmNlIG9ubHkKCSAgRG8gbm90IGNhbGwgZ3N0X2J1ZmZlcl9leHRyYWN0KCkgdHdpY2Ugc2luY2UgZWFjaCBjYWxsIHdpbGwgbWFwIGFuZAoJICB1bm1hcCB0aGUgYmlmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5NDM0CgoyMDEzLTExLTI4IDExOjU4OjQyIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2ZpbHRlci5jOgoJICB2aWRlb2ZsaXA6IEFkZCB1bml0IHRlc3QgZm9yIHRoZSAnYXV0b21hdGljJyBtZXRob2QKCSAgVGhlc2UgbmV3IHRlc3RzIHNlbmQgYSB0YWcgZXZlbnQgYmVmb3JlIHNlZGluZyB0aGUgYnVmZmVyLiBUZXN0ZWQgY2FzZSBhcmUgYW4KCSAgZW1wdHkgdGFnIGxpc3QsIGEgdGFnIGxpc3Qgd2l0aCBvcmllbnRhdGlvbi0xODAgc2V0IGFuZCBhbiBpbnZhbGlkIG9yaWVudGF0aW9uIHZhbHVlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5NDk3CgoyMDEzLTExLTI4IDE2OjA5OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICB2aWRlb2ZsaXA6IGRvbid0IGNyYXNoIG9uIHRhZyBldmVudHMgd2l0aG91dCBvcmllbnRhdGlvbiB0YWcKCSAgV291bGQgY3Jhc2ggaW4gZ19mcmVlKCkgdHJ5aW5nIHRvIGZyZWUgYW4gdW5pbml0aWFsaXNlZCBwb2ludGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5NDk3CgoyMDEzLTExLTI4IDE2OjUwOjQyICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogZG9uJ3QgdW5yZWYgYnVmZmVyIHR3aWNlCgkgIENsZWFuaW5nIHRoZSBwYWNrZXQgaW5mbyB3aWxsIGFscmVhZHkgdW5yZWYgdGhlIGJ1ZmZlci4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxNTA3OAoKMjAxMy0xMS0yOCAyMjozNTowMiArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQWRkIEh5ZHJvZ2VuQXVkaW8gUmVwbGF5R2FpbiB0YWdzCgkgIElkZW50aWNhbCB0byB0aGUgaXR1bmVzICh0bSkgdmVyc2lvbiwgYnV0IGxhYmVsbGVkIHdpdGgKCSAgb3JnLmh5ZHJvZ2VuYXVkaW8ucmVwbGF5Z2FpbiBhcyB0aGUgcHJvZHVjZXIuCgoyMDEzLTExLTI3IDE2OjE1OjEyICswMTAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtZHVwb25jaGVsbGUxQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IGV4cGxpY2l0bHkgZmFpbCB3aGVuIGFscGhhIGluZm9ybWF0aW9uIHdvdWxkIGhhdmUgYmVlbiBsb3N0LgoKMjAxMy0wNS0yOSAxNjowNjowNSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiAuZ2l0aWdub3JlOgoJICBnaXRpZ25vcmU6IFVwZGF0ZWQgdG8gaWdub3JlICouc3dwIGFuZCAuZGlyc3RhbXAKCjIwMTMtMTEtMjYgMTE6MTc6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2EtZGVtdXg6IEFsbG93IGEgYml0IG1vcmUgdmFyaWF0aW9uIHdoZW4gZGV0ZWN0aW5nIGNvbW1vbiBmcmFtZXJhdGVzCgkgIEluc3RlYWQgb2YgKy8tIDFucyB3ZSBhbGxvdyAybnMgbm93LiBEdWUgdG8gcm91bmRpbmcgZXJyb3JzIHRoZXJlIGFyZQoJICBzb21lIE1hdHJvc2thIGZpbGVzIG91dCB0aGVyZSB3aXRoIDMzLjMzMzMzMW1zIHBlciBmcmFtZSBmb3IgMzBmcHMuCgoyMDEzLTExLTI2IDEwOjIwOjMxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thLWRlbXV4OiBVc2UgZ3N0X3V0aWxfZG91YmxlX3RvX2ZyYWN0aW9uKCkgaW5zdGVhZCBvZiBHVmFsdWUgbWFnaWMKCjIwMTMtMTEtMjUgMTQ6MDM6MjEgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgdmlkZW9mbGlwOiBTZXQgZGVmYXVsdCBtZXRob2QgYXQgY29udHJ1Y3Rpb24KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjMzMwoKMjAxMy0wNS0yOSAxNTo1NzowOSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IFVzZSBzcGFjZSBpbnN0ZWFkIG9mIHRhYnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjc1NAoKMjAxMy0wNS0yOSAxNTo0NDozMSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDJvYmplY3Q6IEZpeCBoZWFkZXIgaW5kZW50YXRpb24gc28gaXQncyByZWFkYWJsZSBhZ2FpbgoJICBJdCdzIHVuZm9ydHVuYXRlIHRvIGhhdmUgdG8gZG8gdGhpcywgYnV0IHdpdGggdGhlIG1peCBvZiB0YWJzIGFuZCBzcGFjZSwgcGx1cyBhbGwgdGhlIHJhbmRvbQoJICBpbmRlbnRhdGlvbiB0aGlzIGhlYWRlciBoYXMgYmVjb21lIHZlcnkgaGFyZCB0byByZWFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyNzU0CgoyMDEzLTExLTI1IDE3OjM4OjA2ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBjaGVjazogZml4IGppdHRlcmJ1ZmZlciBjaGVjawoJICBEb24ndCBhZHZhbmNlIHRoZSBjbG9jayB0byAyNDBtcyB0b28gZWFybHkuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTAwMTMKCjIwMTMtMTEtMjUgMTE6NDU6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBkZXByZWNhdGUgbWF4LWVycm9ycwoJICBUaGUgcHJvcGVydHkgd2Fzbid0IHVzZSBpbnRlcm5hbGx5LCBsZXQgdGhlIGJhc2UgY2xhc3MgaGFuZGxlIHRoZQoJICBudW1iZXIgb2YgZXJyb3JzIHRvIHRvbGVyYXRlLgoKMjAxMy0xMS0yNSAxNTo0OTowNyArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogaW1wcm92ZSBjbGVhci1wdC1tYXAgaGFuZGxpbmcKCSAgRG9uJ3QgcmVzZXQgdGhlIGV4cGVjdGVkIG91dHB1dCBzZXFudW0gd2hlbiBjbGVhcmluZyB0aGUgcHQgbWFwIGJlY2F1c2UgdGhpcwoJICBjb3VsZCBzdGFsbCB0aGUgaml0dGVyYnVmZmVyIGZvcmV2ZXIuCgkgIEFkZCBhIHVuaXQgdGVzdCBmb3IgdGhpcy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTgwMAoKMjAxMy0xMC0yOCAyMTozMzoyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGxldCB0aGUgYmFzZSBjbGFzcyBkZWNpZGUgd2hlbiB0byByZXR1cm4gYW4gZXJyb3IKCSAgVGhlIGJhc2UgdmlkZW9kZWNvZGVyIGNsYXNzIGhhcyBhbiBlcnJvciBjb3VudGluZyBmZWF0dXJlIHRvIHRvbGVyYXRlCgkgIGEgZmV3IGVycm9ycyBiZWZvcmUgcG9zdGluZyBhbiBlcnJvciBtZXNzYWdlLiBTbyBkb24ndCBmb3JjZSB0aGUKCSAgZXJyb3IgYW5kIGxldCB0aGUgYmFzZSBjbGFzcyBkZWNpZGUgd2hlbiBpdCBzaG91bGQgaGFwcGVuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTA3NjIKCjIwMTMtMTAtMjggMjE6Mjg6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBBZGQgZGF0YSBza2lwcGluZyBvbiBpbnB1dAoJICBBZGQgbWlzc2luZyBieXRlcyBza2lwcGluZyB3aGVuIGJhZCBpbnB1dCBpcyByZWNlaXZlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDc2MgoKMjAxMy0xMS0yNSAxMjoxMzo0MyArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRGlzY2FyZCAyIGJ5dGUgc3VicGljdHVyZSBwYWNrZXRzCgkgIEFzIGZvciB0ZXh0IHN1YnRpdGxlcyBhbmQgYXMgc3VnZ2VzdGVkIGluICM3MTI2NDMsIHRocm93CgkgIGF3YXkgdGhlIDIgYnl0ZSB0ZXJtaW5hdG9yIHBhY2tldHMgdGhhdCBzb21lIGVuY29kZXJzIGluc2VydC4KCSAgVGhpcyB3aWxsIG1ha2UgdGhpbmdzIGJldHRlciB3aGVuIHJlbXV4aW5nIGFuZCBjYXVzZXMgZ2VuZXJhdGlvbgoJICBvZiBnYXAgZXZlbnRzLgoKMjAxMy0xMS0yNSAwMDozNDoyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGZpeCB3YWtlLXVwIHdoZW4gbmV3IGJ1ZmZlcnMgY29tZSBpbiBhZnRlciBydW5uaW5nIGVtcHR5CgkgIFNwb3R0ZWQgYnkgJ2dyYXRpYXMnIG9uIElSQy4gUHJvYmFibHkgaW50cm9kdWNlZCBpbiByZWNlbnQgcmVmYWN0b3JpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTUwMzkKCjIwMTMtMTEtMjMgMTI6MTU6NDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGNvcnJlY3RseSBoYW5kbGUgbmVnYXRpdmUgcmVsYXRpdmUgdGltZXN0YW1wcwoJICAuLi4gcmF0aGVyIHRoYW4gc2NhbGluZyB0aGVzZSBhcyB1bnNpZ25lZC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjc0NAoJICBCYXNlZCBvbiBwYXRjaCBieSBLcnp5c3p0b2YgS290bGVuZ2EgPHBvY2VrQHVzZXJzLnNmLm5ldD4KCjIwMTMtMDktMTQgMDM6Mjc6MDkgKzAyMDAgIE1hdGhpZXVEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBlcGl0ZWNoLmV1PgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuaDoKCSAgdmlkZW9taXhlcjI6IE1lcmdlIHRhZyBldmVudHMgdG8gc2VuZCB0aGVtIGluIGNvbGxlY3RlZC4KCSAgT3RoZXJ3aXNlIHRoZXJlIHdlcmUgcmFjZSBjb25kaXRpb25zIHdoZXJlIHdlIHdvdWxkIHNlbmQgdGFncwoJICBvbiBhIGZsdXNoaW5nIHNyY3BhZC4KCSAgV2UgaGF2ZSBhIHRlc3QgZm9yIHRoYXQgaW4gR0VTLCBidXQgdGhpcyBzaG91bGQgYmUgdGVzdGVkCgkgIHN5c3RlbWF0aWNhbGx5IHdpdGggaGFybmVzcyBpbiB0aGUgZnV0dXJlIGFzIEkgYmVsaWV2ZSBpdAoJICBpcyB1c2VmdWwgZm9yIGV4YWN0bHkgdGhhdCBraW5kIG9mIGNhc2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4MTY1CgoyMDEzLTExLTE0IDE3OjI5OjUwIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogVXNlIEdzdFZpZGVvSW5mbyBoZWxwZXIgdG8gY3JlYXRlIGNhcHMgZm9yIHJhdyB2aWRlbwoJICBUaGlzIHdheSB3ZSBkbyBub3QgbWlzcyBtYW5kYXRvcnkgZmllbGRzIGluIGNhcHMuCgkgIEF0IHRoZSBzYW1lIHRpbWUgdXNlIHRoZSBnc3RfcGJfdXRpbHNfZ2V0X2NvZGVjX2Rlc2NyaXB0aW9uCgkgIGhlbHBlciB0byBnZXQgY29kZWMgZGVzY3JpcHRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTIzMzUKCjIwMTMtMTEtMTQgMTY6MTE6MzggLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbToKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFVzZSBHc3RWaWRlb0luZm8gaGVscGVyIHRvIGNyZWF0ZSBjYXBzIGZvciByYXcgdmlkZW8KCSAgVGhpcyB3YXkgd2UgZG8gbm90IG1pc3MgbWFuZGF0b3J5IGZpZWxkcyBpbiBjYXBzLgoJICBBdCB0aGUgc2FtZSB0aW1lIHVzZSB0aGUgZ3N0X3BiX3V0aWxzX2dldF9jb2RlY19kZXNjcmlwdGlvbiBoZWxwZXIgdG8KCSAgZ2V0IGNvZGVjIGRlc2NyaXB0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyMzI4CgoyMDEzLTExLTEzIDIwOjE4OjE3IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5oOgoJICBtdWx0aWZpbGVzcmM6IEltcGxlbWVudCBzZWVraW5nIGluIGNhc2Ugb2YgbXVsdGlwbGUgaW1hZ2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTIyNTQKCjIwMTMtMTEtMjIgMTI6MjY6MjEgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogcGFzcyBkb3duc3RyZWFtIGZsb3dyZXR1cm4gdG8gdXBzdHJlYW0KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjcyMgoKMjAxMy0xMS0xOCAxNDoyNzo0OCArMDEwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGNsZWFyIGNhY2hlZCBjYXBzIG9uIGNsb3NlCgkgIEEgZGlmZmVyZW50IGRldmljZSB3aXRoIGRpZmZlcmVudCBjYXBzIG1heSBiZSB1c2VkIGZvciB0aGUgbmV4dCBvcGVuLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyNjExCgoyMDEzLTExLTIxIDE1OjMwOjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrc3RyZWFtcmVhZGVyLmM6CgkqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBnX21lbW1vdmUoKSBpcyBkZXByZWNhdGVkCgkgIEp1c3QgdXNlIHBsYWluIG1lbW1vdmUoKSwgZ19tZW1tb3ZlKCkgaXMgZGVwcmVjYXRlZCBpbgoJICByZWNlbnQgR0xpYiB2ZXJzaW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjgxMQoKMjAxMy0xMS0yMSAxMTozMjoxNSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkgIHJ0cHZvcmJpc2RlcGF5OiBoYW5kbGUgcGFja2V0cyA+IDB4ZmZmZgoJICBIYW5kbGUgaW5wdXQgcGFja2V0IHNpemVzIGxhcmdlciB0aGFuIDE2IGJpdHMgaW4gdGhlIGRlcGF5bG9hZGVyLgoJICBSZW1vdmUgc2l6ZSByZXN0cmljdGlvbnMgb24gdGhlIHBheWxvYWRlci4KCjIwMTMtMTEtMjEgMTE6MzA6MjggKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICBydHB0aGVvcmFkZXBheTogaGFuZGxlIHBhY2tldHMgPiAweGZmZmYKCSAgUmVvcmdhbml6ZSBzb21lIHRoaW5ncyBpbiB0aGUgZGVwYXlsb2FkZXIgc28gdGhhdCBpdCBjYW4gaGFuZGxlIHBhY2tldHMgbGFyZ2VyCgkgIHRoYW4gMTYgYml0cy4KCSAgUmVtb3ZlIHRoZSBzaXplIHJlc3RyaWN0aW9uIG9uIHRoZSBwYXlsb2FkZXIuCgoyMDEzLTExLTIxIDAyOjI4OjI3ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZHVtcC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfdHlwZXMuYzoKCSAgaXNvbXA0OiBIYW5kbGUgbXA0cyBzdWJwaWN0dXJlIHN0cmVhbXMgYmV0dGVyLgoJICBDbGVhbiB1cCB0aGUgaGFuZGxpbmcgb2YgbXA0cyBzdHJlYW1zLiBVc2UgdGhlIGdlbmVyaWMgZXNkcwoJICBkZXNjcmlwdG9yIGZ1bmN0aW9uIHRvIGV4dHJhY3QgdGhlIHBhbGV0dGUsIGluc3RlYWQgb2YgaGFyZCBjb2RpbmcKCSAgYSB3cm9uZyBtYWdpYyBvZmZzZXQuCgkgIEFkZCBzb21lIG1vcmUgc2l6ZSBzYWZldHkgY2hlY2tzIHdoZW4gcGFyc2luZyBFUyBkZXNjcmlwdG9ycywgYW5kCgkgIHJlcGxhY2UgbWFnaWMgbnVtYmVycyB3aXRoIHRoZSBkZXNjcmlwdGl2ZSBjb25zdGFudHMgdGhhdCBhcmUgYWxyZWFkeQoJICBkZWZpbmVkLgoJICBFbmhhbmNlIGR1bXAgb3V0cHV0IGZvciBzdHNkIGF0b21zLgoJICBTdHJlYW1zIGZyb20gYm90aCBidWcgNzEyNjQzIGFuZCBoaXN0b3JpYyBidWcgNTY4Mjc4IG5vdyBib3RoIHdvcmsKCSAgY29ycmVjdGx5LgoJICBGaXhlczogIzcxMjY0MwoKMjAxMy0xMS0yMCAyMjowODoyNSArMTEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSAgcXRkZW11eDogU29ydCBmb3VyY2MgZGVjbGFyYXRpb25zIGFuZCByZW1vdmUgZHVwbGljYXRlcwoKMjAxMy0xMS0yMCAyMTo0MTo0NyArMTEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2lzb21wNC9NYWtlZmlsZS5hbToKCSogZ3N0L2lzb21wNC9hdG9tcy5oOgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L2Z0eXBjYy5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZHVtcC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eF90eXBlcy5jOgoJICBxdGRlbXV4OiBNZXJnZSBhbGwgdGhlIGZvdXJjYyBoZWFkZXJzIGludG8gb25lCgkgIFJlbW92ZSBxdGRlbXV4X2ZvdXJjYy5oIGFuZCBmdHlwY2MuaCBhbmQgcHV0IGl0IGFsbCBpbiBmb3VyY2MuaAoKMjAxMy0xMS0xOSAxMDoxMDo1MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGF2b2lkIG1hcHBpbmcgdGhlIGJ1ZmZlcgoJICBSZXVzZSB0aGUgcGFyc2VkIHN0cnVjdHVyZSB0byBnZXQgdGhlIHRpbWVzdGFtcHMuCgoyMDEzLTExLTE4IDE3OjEzOjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggJ21ha2UgY2hlY2snCgkgIEZpeCBnZW5lcmljL3N0YXRlcyBjaGVjay4gQWxzbywgZ19yZXR1cm5faWZfZmFpbCgpIGlzCgkgIG5vdCBmb3IgaW50ZXJuYWwgc3RhdGUgY2hlY2tpbmcuCgoyMDEzLTExLTE4IDE0OjQ0OjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZzaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuaDoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdGZpbGVzcmMuYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICBkb2NzOiBnZXQgcmlkIG9mICdTaW5jZTogMC4xMC54JyBtYXJrZXJzCgkgIEFuZCBzb21lIGd0ay1kb2MgbWFya3VwIGZpeGVzLgoKMjAxMy0xMS0xNiAxMjoxNToxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwbWFuYWdlcjogZml4IFNpbmNlIG1hcmtlcnMKCSAgU2hvdWxkIGJlIG5leHQgc3RhYmxlIHJlbGVhc2Ugc2VyaWVzIHZlcnNpb24KCjIwMTMtMTEtMTUgMTM6NDg6MDcgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogRml4IHN0YXRzIHByb3BlcnR5IGZpZWxkIG5hbWVzIGFuZCBkb2N1bWVudGF0aW9uCgoyMDEzLTExLTE1IDE1OjIwOjE0ICswMTAwICBUb3JyaWUgRmlzY2hlciA8dG9ycmllLmZpc2NoZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIGdzdHJ0cHNlc3Npb246IEltcGxlbWVudCBhIG51bWJlciBvZiBmZWVkYmFjayBwYWNrZXQgc3RhdGlzdGljcwoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNjkzCgoyMDEzLTExLTEzIDE3OjExOjA4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAcGFydG5lci5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiByZW1vdmUgbWF0aCBvcGVyYXRpb24gZnJvbSBsb29wCgkgIFRoZSBlbHN0X29mZnNldCBkb2Vzbid0IGNoYW5nZSBpbnNpZGUgdGhlIGxvb3AsIHNvIGNvbXB1dGUgaXQKCSAgb3V0c2lkZQoKMjAxMy0xMS0xNCAyMDo1NDozMiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdG11eDogZml4IHBsYXliYWNrIHJlZ3Jlc3Npb24KCSAgSW4gYWUxMTUwZTg1Y2Y5OWQ3NDgyOTMzYWE2ZjdlNGYwMTJmZTQ1YTNlYyBmbGlwcGluZyBhIGNvbmRpdGlvbiBtaXNhbGlnbmVkIHRoZQoJICBlbHNlIGJyYW5jaCwgd2hlcmUgZm9yIHRoZXJlIGNvbmRpdGlvbiB0aGF0IHdhcyBjaGFuZ2UgdGhlcmUgaXMgbm9uZS4KCSAgRml4ZXMgIzcxMjMwMwoKMjAxMy0xMS0xNCAwOToyMDowNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHJlbmFtZSBwcm9wZXJ0eSB0byAnc3RhdHMnCgkgIFRoaXMgbWFrZXMgdGhlIHVuaXQgdGVzdCB3b3JrLgoJICBXZSBjYW4gbGF0ZXIgYWxzbyBhZGQgbW9yZSBzdGF0cywgbm90IHNwZWNpZmljIHRvIHJldHJhbnNtaXNzaW9uLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNDExCgoyMDEzLTExLTEyIDExOjE5OjI1IC0wNTAwICBUb3JyaWUgRmlzY2hlciA8dG9ycmllLmZpc2NoZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGltcGxlbWVudCBydHggc3RhdGlzdGljcwoKMjAxMy0xMS0xMyAxMDo0MjoyMSArMDAwMCAgTWFyYyBMZWVtYW4gPG1hcmMubGVlbWFuQGdtYWlsLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogcHJpbnQgRk9VUkNDX0ZPUk1BVCB3aGVuIGVudW1lcmF0aW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTIyMDYKCjIwMTMtMTEtMDYgMTI6NDA6MDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBhZHZhbmNlIGV4cGVjdGVkIHNlcW51bSBhZnRlciBkcm9wcGluZwoJICBBZnRlciBkcm9wcGluZyBhIGJ1ZmZlciwgbW92ZSBvdXIgZXhwZWN0ZWQgc2VxbnVtCgkgIENvbmZsaWN0czoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmMKCjIwMTMtMTEtMDQgMTU6NDY6MjIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBnc3RwYXk6IG9ubHkgc2VuZCBvbmUgY2FwcwoJICBPbmx5IHNlbmQgb25lIGNhcHMgaW4gYSBwYWNrZXQuIFR3byBjYXBzIGNhbiBoYXBwZW4gd2hlbiBzZXRjYXBzIGlzIGNhbGxlZCBhbmQKCSAgdGhlIGNvbmZpZy1pbnRlcnZhbCBleHBpcmVzIGF0IHRoZSBzYW1lIHRpbWUuCgoyMDEzLTExLTEzIDEwOjIzOjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IFVzZSB0aGUgc3luY2VkIGJ1ZmZlciBtb2RlIGluIGF1dG8gbW9kZSBpZiBhIGNsb2NrIHByb3ZpZGVyIGlzIGluIHRoZSBTRFAKCjIwMTMtMTEtMDggMTE6MDk6MjEgKzAwMDAgIE1hcmMgTGVlbWFuIDxtYXJjLmxlZW1hbkBnbWFpbC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBpbml0IHY0bDJfYnVmZmVyIHRvIDB4MCBiZWZvcmUgaW9jdGwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjEzNwoKMjAxMy0xMS0xMSAxNToyNzoxOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogcmVtb3ZlIGNvbGxpc2lvbiByZWNvbmZpZ3VyZSBldmVudAoJICBSZW1vdmUgYm9ndXMgcmVjb25maWd1cmUgZXZlbnQgb24gY29sbGlzaW9uLCB3ZSBkb24ndCB3YW50IHRvIHNlbmQgdGhlIGV2ZW50IG9uCgkgIHRoZSByZWNlaXZpbmcgUlRQIHBhZCBhbmQgdGhlIGNvbGxpc2lvbiBldmVudCBpcyBub3cgaGFuZGxpbmcgdGhpcwoJICBjYXNlLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTU2MAoKMjAxMy0xMS0wMSAxNzowNDoyOCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIGdzdHJ0cHNlc3Npb246IHNlbmQgY3VzdG9tIHVwc3RyZWFtIGV2ZW50ICJHc3RSVFBDb2xsaXNpb24iIG9uIHNlbmRfcnRwX3NpbmsgcGFkCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNTYwCgoyMDEzLTExLTExIDE0OjI1OjUxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHNlc3Npb24uYzoKCSAgY2hlY2s6IGFkZCBydHBzZXNzaW9uIHRlc3QKCSAgQWRkIGEgYmFzaWMgcnRwc2Vzc2lvbiB0ZXN0IHRvIGVuc3VyZSB0aGF0IFJSIGJsb2NrcyBhcmUgZ2VuZXJhdGVkIHdoZW4KCSAgbXVsdGlwbGUgU1NSQyBzZW5kZXJzIGFyZSBhY3RpdmUuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTEyNzAKCjIwMTMtMTEtMTEgMTM6MTc6MjUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IGNvcnJlY3RseSBoYW5kbGUgdGltZXN0YW1wcyB3aGVuIHBhcnNpbmcgeC1wcml2YXRlMS1hYzMKCSAgLi4uIHRoZSB3YXkgaXQgaGFzIGFsd2F5cyB3b3JrZWQgZmluZSBpbiBhNTJkZWMuCgoyMDEzLTExLTA1IDEwOjQ4OjMzICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZml4IGNyYXNoIHdoZW4gZG8tcmV0cmFuc21pc3Npb249dHJ1ZSBhbmQgYSBsb3Qgb2YgYnVmZmVycyBhcmUgbG9zdAoJICBUaGUgcHJvYmxlbSBoZXJlIHdhcyB0aGF0IHRoZSBqaXR0ZXJidWZmZXIgbG9jayB3YXMgdW5sb2NrZWQgdG8gcHVzaAoJICB0aGUgZXZlbnQsIGJ1dCB0aGF0IGNhdXNlZCBhbm90aGVyIHRocmVhZCB0byByZW1vdmUgdGhlIHRpbWVyIGN1cnJlbnRseQoJICBiZWluZyBwcm9jZXNzZWQsIHByb2JhYmx5IGJlY2F1c2UgdGhlIGFtb3VudCBvZiBydHggZXZlbnRzCgkgIChhbmQgdGhlcmVmb3JlIHRpbWVycykgd2FzIGdldHRpbmcgdG9vIGhpZ2guIFRoZSBzb2x1dGlvbiBpcyB0bwoJICB1bmxvY2sgYW5kIHB1c2ggdGhlIGV2ZW50IG9ubHkgYWZ0ZXIgdGltZXIgcHJvY2Vzc2luZyBoYXMgZmluaXNoZWQuCgkgIGZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTExMzEKCjIwMTMtMTAtMjQgMTM6MTY6NDIgKzAyMDAgIFBlciB4IEpvaGFuc3NvbiA8cGVyeGpvaEBheGlzLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBBdm9pZCBkaXZpc2lvbiBieSB6ZXJvIGFzc2VydCBpbiBnc3RfbWF0cm9za2FfZGVtdXhfc2VhcmNoX3BvcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExODI5CgoyMDEzLTExLTA4IDE3OjU5OjI0ICswMTAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSAgd2F2ZW5jOiBnZW5lcmF0ZSBhIG5vbi1lbXB0eSBkYXRhIGhlYWRlcgoJICBSZXN0b3JlIHRoZSBiZWhhdmlvciBvZiB0aGUgZWxlbWVudCB0byB0aGUgc3RhdGUgYmVmb3JlIGNvbW1pdAoJICBkYjI5NTIyYTQzMGU0NDQ1MDQxNWNhMzY3NmFiZDFiNzdlZTkyM2Q5LiBBIG5vbi1lbXB0eSBoZWFkZXIgaXMKCSAgZ2VuZXJhdGVkIGFuZCB3aGVuIHRoZSBFT1MgZXZlbnQgaXMgcmVjZWl2ZWQgdGhlIGhlYWRlciBpcyBnZW5lcmF0ZWQKCSAgYWdhaW4sIHRoaXMgdGltZSB3aXRoIHRoZSBjb3JyZWN0IHNpemUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE2OTkKCjIwMTMtMTEtMDcgMTY6MTc6MTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IHVwZGF0ZSByZWNlaXZlciBzdGF0cyBmb3Igc2VuZGVyCgkgIEFuIGludGVybmFsIHNlbmRlciBpbiBhIHNlc3Npb24gaXMgYWxzbyBhIHJlY2VpdmVyIG9mIGl0cyBvd24gcGFja2V0cyBzbyB1cGRhdGUKCSAgdGhlIHJlY2VpdmVyIHN0YXRzLiBPdGhlciBzZW5kZXJzIGluIHRoZSBzZXNzaW9uIHdpbGwgdXNlIHRoaXMgaW5mbyB0byBnZW5lcmF0ZQoJICBjb3JyZWN0IFJCIGJsb2NrcyBpbiB0aGVpciBTUiByZXBvcnRzLgoKMjAxMy0xMS0wNyAxNjoxMzoxNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IHJlZmFjdG9yIHJlY2VpdmVyIHN0YXRzIHVwZGF0ZQoKMjAxMy0xMC0yNSAxODoyMjowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHBhcnRuZXIuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogaGFuZGxlIGZyYWdtZW50ZWQgZmlsZXMgd2l0aCBtZGF0IGJlZm9yZSBtb29mcwoJICBBc3N1bWUgYSBmaWxlIHdpdGggYXRvbXMgaW4gdGhlIGZvbGxvd2luZyBvcmRlcjogbW9vdiwgbWRhdCwgbW9vZiwKCSAgbWRhdCwgbW9vZiAuLi4KCSAgVGhlIGZpcnN0IG1vb3YgdXN1YWxseSBkb2Vzbid0IGNvbnRhaW4gYW55IHNhbXBsZSBlbnRyaWVzIGF0b21zIChvcgoJICB0aGV5IGFyZSBhbGwgc2V0IHRvIDAgbGVuZ3RoKSwgYmVjYXVzZSB0aGUgcmVhbCBzYW1wbGVzIGFyZSBzaWduYWxlZAoJICBhdCB0aGUgbW9vZnMuIEluIHB1c2ggbW9kZSwgcXRkZW11eCBwYXJzZXMgdGhlIG1vb3YgYW5kIHRoZW4gZmluZHMgdGhlIG1kYXQsCgkgIGJ1dCB0aGVuIGl0IGhhcyAwIGVudHJpZXMgYW5kIGFzc3VtZXMgaXQgaXMgRU9TLgoJICBUaGlzIHBhdGNoIG1ha2VzIGl0IGNvbnRpbnVlIHBhcnNpbmcgaW4gY2FzZSBpdCBpcyBhIGZyYWdtZW50ZWQgZmlsZSBzbyB0aGF0CgkgIGl0IG1pZ2h0IGZpbmQgdGhlIG1vb2ZzIGFuZCBwbGF5IHRoZSBtZWRpYS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDYyMwoKMjAxMy0xMC0yNSAxMTo0MjozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHBhcnRuZXIuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IFdoZW4gdXNpbmcgYSBidWZmZXJlZCBtZGF0LCBzdG9yZSBhbGwgcmVjZWl2ZWQgZGF0YSBmb3IgbGF0ZXIgdXNlCgkgIEluIHB1c2ggbW9kZSwgd2hlbiBxdGRlbXV4IGNhbid0IHVzZSBhIHNlZWsgdG8gc2tpcCB0aGUgbWRhdCBidWZmZXIgaXQgaGFzCgkgIHRvIGJ1ZmZlciBpdCBmb3IgbGF0ZXIgdXNlLgoJICBUaGUgaXNzdWUgaXMgdGhhdCBhZnRlciBwYXJzaW5nIHRoZSBuZXh0IG1vb3YvbW9vZiwgdGhlcmUgbWlnaHQgYmUgc29tZQoJICB0cmFpbGluZyBieXRlcyBmcm9tIHRoZSBuZXh0IGF0b20gaW4gdGhlIGZpbGUuIFRoaXMgZGF0YSB3YXMgYmVpbmcgZGlzY2FyZGVkCgkgIGFsb25nIHdpdGggdGhlIGFscmVhZHkgcGFyc2VkIG1vb3YvbW9vZiBhbmQgcGxheWJhY2sgd291bGQgZmFpbCB0byBjb250aW51ZQoJICBhZnRlciB0aGUgY29udGVudHMgb2YgdGhpcyBtb292L21vb2YgYXJlIHBsYXllZC4KCSAgVGhpcyBpcyBwYXJ0aWN1bGFybHkgYmFkIG9uIGZyYWdtZW50ZWQgZmlsZXMgdGhhdCBoYXZlIHRoZSBtZGF0IGJlZm9yZSB0aGUKCSAgY29ycmVzcG9uZGluZyBtb29mLiBTbyB5b3UnZCBnZXQ6CgkgIG1kYXR8bW9vZnxtZGF0fG1vb2YgLi4uCgkgIFdoZW4gYSBtb29mIHdhcyByZWNlaXZlZCwgaXQgdXN1YWxseSBjYW1lIHdpdGggc29tZSBleHRyYSBieXRlcyB0aGF0IHdvdWxkCgkgIGJlbG9uZyB0byB0aGUgbmV4dCBtZGF0IChiZWNhdXNlIHVwc3RyZWFtIGRvZXNuJ3QgY2FyZSBhYm91dCBhdG9tcyBhbGlnbm1lbnQpLgoJICBTbyB0aG9zZSBieXRlcyB3ZXJlIGJlaW5nIGRpc2NhcmRlZCBhbmQgcGxheWJhY2sgd291bGQgZmFpbC4KCSAgVGhpcyBwYXRjaCBtYWtlcyBxdGRlbXV4IHN0b3JlIHRob3NlIGV4dHJhIGJ5dGVzIHRvIHJldXNlIHRoZW0gbGF0ZXIgYWZ0ZXIgdGhlCgkgIG1kYXQgaXMgZW1wdGllZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDYyMwoKMjAxMy0xMS0wNyAwOTo0OTo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazogQWxzbyB1c2UgdGhlIGJpbmQtcG9ydCBwcm9wZXJ0eSBpZiBubyBiaW5kLWFkZHJlc3Mgd2FzIGdpdmVuCgoyMDEzLTExLTA3IDAwOjUxOjEyICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2hhbC5jOgoJICBvc3hhdWRpb3Npbms6IGZpeCBzZWdmYXVsdCB3aGVuIHdlIGNhbid0IGdldCB0aGUgY2hhbm5lbHMgbGF5b3V0CgoyMDEzLTExLTA1IDE3OjI2OjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSAgcnRwdnA4cGF5OiBNYWtlIFBpY3R1cmUgSUQgbW9kZSBjb25maWd1cmFibGUgYW5kIGRlZmF1bHQgdG8gbm8gcGljdHVyZSBJRAoJICBTb21lIGltcGxlbWVudGF0aW9ucyAobGlucGhvbmUpIG9ubHkgc3VwcG9ydCBubyBwaWN0dXJlIGF0IGFsbCBpbiB0aGUKCSAgc3RyZWFtIGFuZCB3aWxsIGZhaWwgaWYgb25lIGlzIHByb3ZpZGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNDk3CgoyMDEzLTExLTA1IDExOjE4OjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA4NjVhYTIwIHRvIGRiZWRhYTAKCjIwMTMtMDEtMjkgMTA6NTE6MDcgKzAxMDAgIFBhdWwgSEVOUllTIDx2aXNlY2hlbGxlQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBBZGQgY2FsbCB0byBnc3RfcnRwX2gyNjRfcGF5X2NsZWFyX3Nwc19wcHMoKSB3aGVuIHJlY2VpdmluZyBhIFNUUkVBTV9TVEFSVCBldmVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyNzg3CgoyMDEzLTExLTAyIDIyOjUwOjQ3ICswMTAwICBSaWNvIFR6c2NoaWNoaG9seiA8cmljb3R6QHVidW50dS5jb20+CgoJKiBnc3QvcnRzcC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwOiBBZGQgbWlzc2luZyBnaW8tMi4wIGRlcHMgYW5kIGluY2x1ZGVzCgoyMDEzLTExLTAxIDE4OjMxOjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9paXJmaWx0ZXIuYzoKCSAgYXVkaW9paXJmaWx0ZXI6IEZpeCBpbml0aWFsaXphdGlvbiBjb2VmZmljaWVudCBoYW5kbGluZwoJICBCcm9rZSB1bml0IHRlc3QuCgoyMDEzLTEwLTMxIDE0OjA1OjQzIC0wNzAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXVlIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGFsbG93IHNldHRpbmcgdGxzIGNlcnRpZmljYXRlIHZhbGlkYXRpb24gZmxhZ3MKCSAgQWRkZWQgYSBuZXcgcHJvcGVydHkgInRscy12YWxpZGF0aW9uLWZsYWdzIi4gSWYgdGhlIHVybCB0cmFuc3BvcnQgaXMKCSAgVExTLCB0aGUgdmFsaWRhdGlvbiBmbGFncyB3aWxsIGJlIHNldCB0byB0aGUgcnRzcCBjb25uZWN0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMjMwCgoyMDEzLTEwLTMxIDIyOjQzOjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VpaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9paXJmaWx0ZXIuYzoKCSAgYXVkaW9paXJmaWx0ZXI6IERvbid0IGNyYXNoIGlmIG5vIGZpbHRlciBjb2VmZmljaWVudHMgYXJlIHByb3ZpZGVkCgkgIC4uLmFuZCBieSBkZWZhdWx0IHVzZSBhIGlkZW50aXR5IGZpbHRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDIxNQoKMjAxMy0xMC0zMSAxOToxNToxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSAgd2F2cGFja2VuYzogRml4IHdyaXRpbmcgb2YgTUQ1IHN1bXMgYW5kIG90aGVyIG1ldGFkYXRhIGJsb2NrcwoJICBUaGVzZSBkb24ndCBoYXZlIHRoZSBGSU5BTF9CTE9DSyBmbGFnIHNldC4KCjIwMTMtMTAtMzEgMTM6MDI6MTEgLTAyMDAgIERqYWxtYSBMw7pjaW8gU29hcmVzIGRhIFNpbHZhIDxkbHVjaW9AaW1wYS5icj4KCgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzoKCSAgaGR2MTM5NHNyYzogTWFrZSBpdCBwb3NzaWJsZSB0byBzZWxlY3QgYSBjYW1lcmEgYnkgaXRzIEdVSUQKCSAgVGhlIHNvdXJjZSBoZHYxMzk0c3JjIGhhcyB0aGUgZ3VpZCBwcm9wZXJ0eSB0aGF0IHBlcm1pdHMgc2VsZWN0IGEgY2FtZXJhCgkgIGNvbm5lY3RlZCBmcm9tIGl0cyBHVUlEIG51bWJlci4KCSAgSG93ZXZlciB3aGVuIHRoaXMgcHJvcGVydHkgaXMgc2V0dGVkIHRoZSBzZWxlY3RlZCBjYW1lcmEgaXMgbm90IGNoYW5nZWQuCgkgIFRoZSBzb3VyY2UgY29udGludWVzIHVzaW5nIHRoZSBkZWZhdWx0IGNhbWVyYS4KCSAgVGhpcyBwcm9ibGVtIHdhcyBzb2x2ZWQgdXNpbmcgdGhlIGZ1bmN0aW9uIGllYzYxODgzX2NtcF9jb25uZWN0LgoJICBUaGUgcmVmZXJlbmNlIGZvciB0aGUgZnVuY3Rpb24gY291bGQgYmUgZm91bmQgaGVyZToKCSAgaHR0cDovL3d3dy5kZW5uZWR5Lm9yZy9saWJpZWM2MTg4My9BUEktaWVjNjE4ODMtY21wLWNvbm5lY3QuaHRtbAoJICBUaGUgc29sdXRpb24gY2FtZSBmcm9tIGR2Z3JhYiBzb3VyY2UgY29kZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDQxNQoKMjAxMy0xMC0zMSAxMzoyMDo0MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHBhcnRuZXIuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICB0ZXN0czogc291cGh0dHBzcmM6IGFkZCBleHBsaWNpdCBjYXN0IHRvIHNpbGVuY2Ugd2FybmluZwoJICBTaWxlbmNpbmcgdGhpcyB3YXJuaW5nOgoJICBlbGVtZW50cy9zb3VwaHR0cHNyYy5jOjUzMzoxNDogZXJyb3I6IGNvbXBhcmlzb24gYmV0d2VlbiDigJhTb3VwS25vd25TdGF0dXNDb2Rl4oCZIGFuZCDigJhlbnVtIDxhbm9ueW1vdXM+4oCZIFstV2Vycm9yPWVudW0tY29tcGFyZV0KCSAgaWYgKHN0YXR1cyAhPSBTT1VQX1NUQVRVU19PSyAmJiAhc2VuZF9lcnJvcl9kb2MpCgkgIFdpdGggZ2NjIDQuOC4yIChkZWJpYW4pCgoyMDEzLTEwLTMxIDEwOjM4OjM1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcHJveHkgbmV3IGJ1ZmZlciBtb2RlCgoyMDEzLTEwLTMwIDE2OjQ5OjM2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBqaXR0ZXJidWZmZXI6IGFkZCBuZXcgdGltZXN0YW1wIG1vZGUKCSAgQWRkIGEgbmV3IHRpbWVzdGFtcCBtb2RlIHRoYXQgYXNzdW1lcyB0aGUgbG9jYWwgYW5kIHJlbW90ZSBjbG9jayBhcmUKCSAgc3luY2hyb25pemVkLiBJdCB0YWtlcyB0aGUgZmlyc3QgdGltZXN0YW1wIGFzIGEgYmFzZSB0aW1lIGFuZCB0aGVuIHVzZXMgdGhlIFJUUAoJICB0aW1lc3RhbXBzIGZvciB0aGUgb3V0cHV0IFBUUy4KCjIwMTMtMTAtMzAgMjI6MTI6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2EtZGVtdXg6IEZpeCBjb21waWxlciB3YXJuaW5nCgkgIG1hdHJvc2thLWRlbXV4LmM6IEluIGZ1bmN0aW9uICdnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3N0cmVhbSc6CgkgIG1hdHJvc2thLWRlbXV4LmM6MTM3OTo3OiBlcnJvcjogZm9ybWF0ICcldScgZXhwZWN0cyBhcmd1bWVudCBvZiB0eXBlICd1bnNpZ25lZCBpbnQnLCBidXQgYXJndW1lbnQgNCBoYXMgdHlwZSAnZ3VpbnQ2NCcgWy1XZXJyb3I9Zm9ybWF0PV0KCSAgIiUwM3UiLCBjb250ZXh0LT51aWQpOwoJICBeCgoyMDEzLTEwLTI4IDEzOjIxOjE1ICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9jb252ZXJ0LmM6CgkgIHZpZGVvbWl4ZXI6IHJlbW92ZSB1bm5lZWRlZCBndWludCBjb21wYXJhaXNvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMDEwCgoyMDEzLTEwLTI4IDE0OjEzOjEyICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lmg6CgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJICBvc3h2aWRlb3Npbms6IGZpeCBtaXNzaW5nIHNlbGVjdG9yIG5hbWUgd2FybmluZ3MKCSAgVGhlIHNwYWNlcyBtYXR0ZXIgaW4gT2JqQwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMDEzCgoyMDEzLTEwLTI4IDEzOjMxOjM0ICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgeTRtZW5jOiBmaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZSB3YXJuaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTEwMTEKCjIwMTMtMTAtMjUgMTE6MzA6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BwYXJ0bmVyLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGNoZWNrIGlmIHRoZSBlbmRfdGltZSBpcyBkZWZpbmVkIGJlZm9yZSB1c2luZyBpdAoJICBBdm9pZHMgc2VuZGluZyBFT1MgdG9vIHNvb24gYmVjYXVzZSBvZiBvdmVyZmxvdy4gQ2FuIGhhcHBlbiBvbgoJICBmcmFnbWVudGVkIG1wNCBwbGF5YmFjay4KCjIwMTMtMTAtMjMgMTM6Mzg6MjAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BwYXJ0bmVyLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHVzZSBjb3JyZWN0IHVucmVmIGZ1bmN0aW9uCgkgIEV2ZW50cyBhcmVuJ3QgR3N0T2JqZWN0cywgYnV0IEdzdE1pbmlPYmplY3RzCgoyMDEzLTEwLTE1IDA4OjE2OjIwICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlbmFtZSBjaHVua3NfYXJlX2NodW5rcyB0byBjaHVua3NfYXJlX3NhbXBsZXMgYW5kIGZsaXAgdGhlIGxvZ2ljCgkgIEFzIHRoZSB2YXJpYWJsZSBuYW1lIHN1Z2dlc3RzLCBzb21ldGltZXMgY2h1bmtzIGFyZSBjaHVua3MuIFJlbmFtZSB0aGUgdmFyaWFibGUKCSAgdG8gdGVsbCB3aGF0IHRoZXkgYXJlIHdoZW4gdGhleSBhcmUgbm90IGNodW5rcy4KCjIwMTMtMTAtMDkgMDg6MDQ6MjAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IHR5cG9zIGFuZCBhZGQgbW9yZSBsb2dnaW5nIGZvciB1bmhhbmRsZWQgcGFydHMKCjIwMTMtMTAtMTQgMTY6MjM6MjUgKzAyMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW5AYXhpcy5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IEZpeCBtZW1vcnkgbGVhawoJICBVbm1hcCBhbGwgR3N0TWVtb3J5IG9mIHRoZSBjdXJyZW50IGJ1ZmZlciB3aGVuIGZsdXNoaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwMTEwCgoyMDEzLTEwLTEyIDIwOjQ0OjMxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBmaXggYnJva2VuIHNhbXBsZSBwaXBlbGluZQoJICB3aGljaCB3YXMgbXV4aW5nIHJhdyBhdWRpbyBhbmQgdmlkZW8gaW50byBmbHZtdXgsIHdoaWNoIHdvbid0IHdvcmssCgkgIGV2ZW4gaWYgdGhlcmUgd2VyZSBjb252ZXJ0ZXJzLgoKMjAxMy0xMC0xMiAyMDozNzo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogcmVxdWlyZSBzdHJlYW0tZm9ybWF0PXJhdyBmb3IgbXBlZy0yIHRvbywgYnV0IGRvbid0IHJlcXVpcmUgZnJhbWVkIGZpZWxkCgkgIHJhdyBpbXBsaWVzIHRoYXQgaXQncyBmcmFtZWQgYWxyZWFkeS4gRml4ZXMgLi4gISBmYWFjICEgZmx2bXV4CgoyMDEzLTEwLTA3IDE0OjI3OjIxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAcGFydG5lci5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIHNvdXBodHRwc3JjOiBkbyBub3QgZW1pdCBFT1Mgd2hlbiBjb25uZWN0aW9uIGRyb3BzCgkgIElmIHRoZSBwaXBlbGluZSBpcyBzdGFsbGVkIGZvciB0b28gbG9uZywgc291cGh0dHBzcmMgd2lsbCBibG9jayBhbmQKCSAgc3RvcCBmZXRjaGluZyBkYXRhIGZyb20gdGhlIG5ldHdvcmsuIFRoaXMgY2FuIGNhdXNlIHRoZSBjb25uZWN0aW9uIHRvCgkgIGRyb3AgYW5kIHNvdXBodHRwc3JjIHdvdWxkIGhhbmRsZSBpdCBhcyBhbiBFT1MuIFRoaXMgcGF0Y2ggbWFrZXMgaXQKCSAgcGVyc2lzdCBhbmQgdHJ5IHRvIGZldGNoIG1vcmUgZGF0YSB1bnRpbCB0aGUgZW5kIG9mIHRoZSBjb250ZW50IGxlbmd0aAoJICBvciB1bnRpbCByZWNlaXZpbmcgYW4gZXJyb3IgdGhhdCBpdCBpcyBiZXlvbmcgbGltaXRzIGluIGNhc2UgdGhlIGNvbnRlbnQKCSAgaXMgdW5rbm93bi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzUzNgoKMjAxMy0xMC0xMCAxMzo1MjozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkqIGV4dC9kdi9nc3RkdmRlYy5oOgoJICBkdmRlYzogRG9uJ3Qgc2VuZCBzZWdtZW50IGV2ZW50IGJlZm9yZSBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDk3MjgKCjIwMTMtMTAtMDkgMTc6NDY6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkgIGR2ZGVtdXg6IFNlbmQgc3RyZWFtLXN0YXJ0LCBjYXBzIGFuZCBzZWdtZW50IGV2ZW50cyBpbiB0aGUgcmlnaHQgb3JkZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTcyOAoKMjAxMy0xMC0wOCAxMToyODowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSAgd2F2ZW5jOiBBLUxhdyBhbmQgTXUtTGF3IGRvbid0IGhhdmUgd2lkdGgvZGVwdGgvc2lnbmVkIGNhcHMgZmllbGRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDk2MTQKCjIwMTMtMTAtMDcgMTI6NTQ6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5jOgoJICBkZWludGVybGFjZTogRml4IGhhbmRsaW5nIG9mIHBsYW5hciB2aWRlbyBmb3JtYXRzIGluIGdyZWVkeWggbWV0aG9kCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDk1MDcKCjIwMTMtMTAtMDYgMTA6MDE6MjYgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BwYXJ0bmVyLnNhbXN1bmcuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYTogVHJpdmlhbCBncmFtbWFyIGZpeCBvbiBkZWJ1ZyBtc2cKCjIwMTMtMTAtMDYgMDk6MTc6MDAgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BwYXJ0bmVyLnNhbXN1bmcuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkqIGdzdC9tYXRyb3NrYS93ZWJtLW11eC5jOgoJICBtYXRyb3NrYW11eDogQWRkIGNvbnRleHQgZmxhZyBmb3IgV2ViTQoJICBXZWJNIGhhcyBhIGNvdXBsZSBvZiBzcGVjaWZpYyByZXF1aXJlbWVudHMgd2UgbmVlZCB0byBoYW5kbGUuCgkgIElkZWEgaXMgdG8gc2V0IHRoaXMgZmxhZyBvbmNlIGFuZCBqdXN0IHJlbHkgb24gbXV4LT5pc193ZWJtCgkgIGF0IHJ1biB0aW1lIGluc3RlYWQgb2YgcmVwZWF0ZWRseSBmaWd1cmluZyB0aGlzIG91dCBmcm9tCgkgIEdTVF9NQVRST1NLQV9ET0NUWVBFX1dFQk0gKHdoaWNoIHJlcXVpcmVzIGEgc3RyY21wKCkpLgoKMjAxMy0xMC0wNCAxNDo0Mjo1OSAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHBhcnRuZXIuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thOiBEbyBub3Qgd3JpdGUgU2VnbWVudFVJRCBmb3IgV2ViTSBtdXgKCSAgV2ViTSBzcGVjIHN0YXRlcyBTZWdtZW50VUlEIGlzIFVuc3VwcG9ydGVkLiBGaWxlcyBwcm9kdWNlZAoJICB3aXRoIGdzdHJlYW1lciB3aXRob3V0IHRoaXMgY2hhbmdlIHdpbGwgc3BpdCBhbiBlcnJvciBsaWtlCgkgIHRoaXMgd2hlbiBwYXNzZWQgdG8gbWt2YWxpZGF0b3I6CgkgIEVSUjIwMTogSW52YWxpZCAnU2VnbWVudFVJRCcgZm9yIHByb2ZpbGUgJ3dlYm0nIGluIEluZm8gYXQgMTkyCgoyMDEzLTEwLTA1IDAwOjAwOjAzICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IG1ha2UgZHZkIHBhbGV0dGUgY2hhbmdlIGV2ZW50IHN0aWNreQoJICBTbyB0aGV5IGRvbid0IGdldCBsb3N0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5NDU0CgoyMDEzLTEwLTAzIDE2OjM5OjI2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuaDoKCSAgdmlkZW9mbGlwOiBBZGQgYXV0b21hdGljIGZsaXAgbW9kZSBkcml2ZW4gYnkgaW1hZ2Utb3JpZW50YXRpb24gdGFnCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkzMTIKCjIwMTMtMTAtMDQgMTM6MzQ6MDkgKzAyMDAgIFBldGVyIEtvcnNnYWFyZCA8cGV0ZXJAa29yc2dhYXJkLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBPX0NMT0VYRUMgbmVlZHMgX0dOVV9TT1VSQ0UKCSAgT24gc29tZSBzeXN0ZW1zIChFLkcuIHVDbGliYyBhbmQgb2xkZXIgR2xpYmMgdmVyc2lvbnMpLCBPX0NMT0VYRUMgaXMgb25seQoJICBkZWZpbmVkIHdoZW4gX0dOVV9TT1VSQ0UgaXMgc3BlY2lmaWVkLCBzbyBkbyBzby4KCSAgX0dOVV9TT1VSQ0UgbmVlZHMgdG8gYmUgZGVmaW5lZCBiZWZvcmUgYW55IHN5c3RlbSBoZWFkZXJzIGFyZSBpbmNsdWRlZCwKCSAgc28gbW92ZSB0aGUgZmNudGwuaCBzZWN0aW9uIHVwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5NDIzCgoyMDEzLTEwLTA0IDEyOjExOjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogZml4IHJhY2UgaW4gZmx1c2gtc3RhcnQvZmx1c2gtc3RvcAoJICBXaGVuIGZsdXNoLXN0b3AgYXJyaXZlcyBiZWZvcmUgd2UgcHJvY2VzcyB0aGUgcmVzdWx0IG9mIHRoZSBfcHVzaCgpIGluIHRoZQoJICBsb29wIGZ1bmN0aW9uLCB3ZSBtaWdodCBwYXVzZSBldmVuIHRob3VnaCB3ZSBhcmUgbm90IGZsdXNoaW5nIGFueW1vcmUuIEZpeCB0aGlzCgkgIHJhY2UgYnkgd2FpdGluZyBmb3IgdGhlIHNyY3BhZCBsb29wIGZ1bmN0aW9uIHRvIGNvbXBsZXRlbHkgcGF1c2UgYWZ0ZXIgZG9pbmcgdGhlCgkgIGZsdXNoLXN0YXJ0LgoKMjAxMy0xMC0wMyAyMjozODo0MyArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWR1cG9uY2hlbGxlMUBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb2NvbnZlcnQuYzoKCSAgdmlkZW9taXhlcjogVXBkYXRlIHZpZGVvY29udmVydCBjb3B5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkzOTAKCjIwMTMtMTAtMDMgMjE6MzY6MzQgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1kdXBvbmNoZWxsZTFAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogQ2hlY2sgaWYgdGhlIHBhZCBuZWVkcyByZWNvbmZpZ3VyYXRpb24gaW4gY29sbGVjdGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkzODQKCjIwMTMtMTAtMDMgMTQ6Mzk6MzUgKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IFJlbGF4IHNpbmsgY2FwcwoJICBTaW5jZSBqcGVnZGVjIGFscmVhZHkgcGFyc2UgdGhlIGpwZWcgc3RyZWFtLCB0aGUgc2luayBjYXBzIGNvdWxkIGJlCgkgIHJlbGF4ZWQuIFRoaXMgd2lsbCBhbGxvdyBqcGVnZGVjIHRvIGJlIHNlbGVjdGVkIGluIG1vcmUgY2FzZSBhbmQgaW4KCSAgcGFydGljdWxhciB3aGVuIHRoZSBqcGVnIHR5cGVmaW5kZXIgZG9lcyBub3QgZmluZCB0aGUgd2lkdGggYW5kIGhlaWdodC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTM1MgoKMjAxMy0xMC0wMyAxODozMzowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMnNyYzogcHJpbnQgcHJvYmVkIGNhcHMgYXMgY2FwcyBhZ2FpbiBpbiBkZWJ1ZyBsb2cKCSAgVGhpcyBnb3QgbG9zdCBkdXJpbmcgcmVmYWN0b3JpbmcuCgoyMDEzLTEwLTAzIDExOjU5OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQWRkIHN1cHBvcnQgZm9yIHRoZSBtcDJ2IGZvdXJjYyBmb3IgTVBFRy0yIHZpZGVvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkyNzAKCjIwMTMtMTAtMDIgMTU6NTY6NTMgKzAyMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW5AYXhpcy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogRml4IG1lbW9yeSBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkyNjYKCjIwMTMtMDktMzAgMTI6MzE6NDIgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eF90eXBlcy5jOgoJICBxdGRlbXV4OiBBZGQgSEVWQyBzdXBwb3J0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkwOTMKCjIwMTMtMDktMzAgMTI6MjQ6MzIgKzAyMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW5AYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBydHBnc3RwYXk6IEZpeCBtZW1vcnkgbGVhawoJICBXZSB3ZXJlIGxlYWtpbmcgdGhlIEdMaXN0IG5vZGVzIG9mIHRoZSBwZW5kaW5nIGJ1ZmZlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkwNzkKCjIwMTMtMDktMzAgMTI6MzE6MDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZml4IHJhY2Ugd2hlbiB1cGRhdGluZyB0aGUgbmV4dF9zZXFudW0KCSAgSWYgd2Ugd2VyZSBub3Qgd2FpdGluZyBmb3IgdGhlIG1pc3Npbmcgc2VxbnVtIHdoZW4gd2UgaW5zZXJ0IHRoZSBsb3N0IHBhY2tldAoJICBldmVudCBpbiB0aGUgaml0dGVyYnVmZmVyLCB3ZSBlbmQgdXAgbm90IHVwZGF0aW5nIHRoZSBuZXh0X3NlcW51bSBhbmQgd2FpdAoJICBmb3JldmVyIGZvciB0aGUgbG9zdCBwYWNrZXRzIHRvIGFycml2ZS4gSW5zdGVhZCwga2VlcCB0cmFjayBvZiB0aGUgYW1vdW50IG9mCgkgIHBhY2tldHMgY29udGFpbmVkIGJ5IHRoZSBqaXR0ZXJidWZmZXIgaXRlbSBhbmQgdXBkYXRlIHRoZSBuZXh0IGV4cGVjdGVkCgkgIHNlcW51bSBvbmx5IGFmdGVyIHB1c2hpbmcgdGhlIGJ1ZmZlci9ldmVudC4gVGhpcyBtYWtlcyBzdXJlIHdlIGNvcnJlY3RseSBoYW5kbGUKCSAgR0FQUyBpbiB0aGUgc2VxdWVuY2UgbnVtYmVycy4KCjIwMTMtMDktMzAgMTI6MzA6MjMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBzbWFsbCBkZWJ1ZyBpbXByb3ZlbWVudAoKMjAxMy0wOS0zMCAxMTo1MzowOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHJlc2V0IHNrZXcgZG9lcyBub3QgcmVzZXQgY2xvY2stcmF0ZQoJICBEb24ndCByZXNldCB0aGUgY2xvY2stcmF0ZSB3aGVuIHdlIHJlc2V0IHRoZSBza2V3IGNvcnJlY3Rpb24gYWxnb3JpdGhtLgoJICBSZXNldCB0aGUgc2tldyBjb3JyZWN0aW9uIGFsZ29yaXRobSB3aGVuIHdlIGNoYW5nZSB0aGUgY2xvY2stcmF0ZS4KCjIwMTMtMDktMzAgMTE6MTY6MzIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBwYXVzZSB0aW1lciB3aGVuIFBBVVNFRAoJICBBbHNvIHBhdXNlIHRoZSB0aW1lciB3aGVuIHdlIGdvIHRvIHRoZSBQQVVTRUQgc3RhdGUuIEl0IGlzIHBvc3NpYmxlIHRoYXQgd2UKCSAgZG9uJ3QgaGF2ZSBhIGNsb2NrIG9yIGJhc2UtdGltZSBpbiBQQVVTRUQgdG8gcGVyZm9ybSB0aGUgdGltZW91dHMuCgoyMDEzLTA5LTMwIDExOjE1OjI1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogaW1wcm92ZSBkZWJ1ZwoKMjAxMy0wOS0yNiAyMDo0MToyNiArMDIwMCAgSGFucyBNw6Vuc3NvbiA8aGFuc21AYXhpcy5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkgIG1wNG11eDogRG8gbm90IHJlcXVpcmUgZnJhbWVyYXRlIGluIHBlZXIgdmlkZW8gY2FwcwoJICBSZW1vdmUgdGhlIGZyYW1lcmF0ZSByZXN0cmljdGlvbiBvbiB0aGUgY2Fwcy4KCSAgUmVmZXJlbmNlOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4ODY0CgoyMDEzLTA5LTI3IDE1OjA1OjA0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhbHNvIGdvIGludG8gdGhlIGxvb3AgZnVuY3Rpb24gYWZ0ZXIgY29ubmVjdAoJICBXaGVuIHdlIGhhdmUgb3BlbmVkIHRoZSBzdHJlYW0sIGdvIGludG8gdGhlIGxvb3AgZnVuY3Rpb24gc28gdGhhdCB3ZSBjYW4KCSAgcmVjZWl2ZSBtZXNzYWdlcyBmcm9tIHRoZSBzZXJ2ZXIuCgoyMDEzLTA5LTI3IDEyOjUzOjA2ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IG1vdmUgdGhlIGNoZWNrIGZvciBzdWJ0aXRsZSBidWZmZXIgYmVpbmcgbnVsbCB0ZXJtaW5hdGVkIGJlZm9yZSB2YWxpZGF0aW5nIFVURi04CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDc5MzMKCjIwMTMtMDktMjYgMTY6MjA6MDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBkb24ndCBjYWxjdWxhdGUgc2tldyB3aXRob3V0IHJ0cHRpbWUKCSAgU2tpcCB0cnlpbmcgdG8gY2FsY3VsYXRlIHRoZSBza2V3IHdoZW4gd2UgZG9uJ3QgaGF2ZSBhbiBydHB0aW1lLgoJICBJdCBjYXVzZXMgcHJvYmxlbXMgd2hlbiBsb3N0IHBhY2tldCBldmVudHMgYXJlIHBsYWNlZCBpbiB0aGUgaml0dGVyYnVmZmVyLgoKMjAxMy0wOS0yNSAyMzo0NjoxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBnZXQgcmlkIG9mIEFTX1NDUlVCX0lOQ0xVREUKCSAgU2hvdWxkIG5vdCBiZSBuZWVkZWQgYW55IG1vcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDc2NTgKCjIwMTMtMDktMjUgMTc6NDI6MDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGRpc2FibGUgY2hlY2tzIHdoZW4gbGlua2luZyBwYWRzCgkgIFdlIGtub3cgdGhlIHBhZCBsaW5rcyB3aWxsIHdvcmsgKGFuZCB3ZSBkb24ndCBjaGVjayB0aGUgcmV0dXJuIHZhbHVlCgkgIGFueXdheSkuCgoyMDEzLTA5LTI1IDE3OjM2OjE1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogYXZvaWQgc29tZSBwYWQgbGluayBjaGVja3MKCSAgTGluayBwYWRzIHdpdGhvdXQgY2hlY2tzLCB3ZSBrbm93IGl0IHdpbGwgd29yay4KCjIwMTMtMDktMjUgMTI6NTU6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IERvbid0IGVycm9yIG91dCBpZiBkb3duc3RyZWFtIGlzIG5vdCBzZWVrYWJsZSBmb3Igbm9uLWZyYWdtZW50ZWQgdmFyaWFudHMKCSAgRG9pbmcgc28gd291bGQgYmUgYSByZWdyZXNzaW9uIG92ZXIgMS4wIGFuZCBicmVha3MgdGhlIHVuaXQgdGVzdC4KCSAgSG93ZXZlciB0aGUgcmVzdWx0IHdpbGwgYmUgbW9zdCBsaWtlbHkgdW51c2FibGUsIHNvIGxldCdzIHBvc3QKCSAgYSB3YXJuaW5nIG1lc3NhZ2Ugb24gdGhlIGJ1cy4KCjIwMTMtMDktMjQgMDQ6MDI6MDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBjYWxjdWxhdGUgc29tZSBzdGF0cwoKMjAxMy0wOS0yMyAxNzowNTo0NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IG1vdmUgc2VuZF9sb3N0X2V2ZW50IGZ1bmN0aW9uCgkgIE1vdmUgdGhlIHNlbmRfbG9zdF9ldmVudCBmdW5jdGlvbiB0byB0aGUgZG9fbG9zdF9ldmVudCBoYW5kbGluZywgdGhlcmUgaXMgbm8KCSAgbmVlZCB0byBoYXZlIGEgc2VwYXJhdGUgZnVuY3Rpb24uCgoyMDEzLTA5LTE2IDExOjIwOjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWRkIGNvZGUgdG8gcGFyc2UgY3JlYXRpb24gdGltZSBlYXJsaWVyIHRoYW4gMTk3MAoJICBVc2UgZ19kYXRlX3RpbWUgc2Vjb25kcyBtYW5pcHVsYXRpb24gdG8gYWxsb3cgdG8gY292ZXIgdGhlIHF1aWNrdGltZQoJICBzcGVjIGZvciBjcmVhdGlvbl90aW1lLiBJdCB1c2VzIHNlY29uZHMgc2luY2UgMTkwNC4KCSAgQm90aCBwYXRocyBjb3VsZCBiZSBkb25lIHVzaW5nIHRoZSBnZW5lcmljIGFwcHJvYWNoIG9mIHNlY29uZHMgc2luY2UKCSAgMTkwNCB3aXRoIEdEYXRlVGltZSBoYW5kbGluZywgYnV0IHRoZSBmaXJzdCBwYXRoIHVzaW5nIHNlY29uZHMgZnJvbQoJICAxOTcwIHNob3VsZCBiZSBtb3JlIGNvbW1vbmx5IGZvdW5kIGFuZCBhdm9pZHMgYSBmZXcgb2JqZWN0cyBjcmVhdGlvbiBhbmQKCSAgcmVmL3VucmVmLCBzbyBrZWVwIGl0IHRoZXJlIGZvciBwZXJmb3JtYW5jZS4KCSAgQWRkaXRpb25hbGx5LCB0aGUgY29kZSBmb3IgaGFuZGxpbmcgc2Vjb25kcyBzaW5jZSAxOTcwIGNoYW5nZWQgZnJvbSA+CgkgIHRvID49IGJlY2F1c2UgaGF2aW5nIDAgc2Vjb25kcyBzaW5jZSAxOTcwIGlzIGFsc28gYSB2YWxpZCBjYXNlIGZvciB0aGF0CgkgIHBhdGggdG8gaGFuZGxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3OTc1CgoyMDEzLTA5LTIxIDAwOjU1OjI2ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHVwZGF0ZSBzdHJlYW0tPnBvcyB3aGVuIHNlbmRpbmcgYnVmZmVycyBzbyB0aGF0IGdhcCBldmVudHMgYXJlIG5vdCBzZW50IHVubmVjZXNzYXJpbHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwODUwNQoKMjAxMy0wOS0yNCAxODozMDowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIFJFQURNRToKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2YjAzYmE3IHRvIDg2NWFhMjAKCjIwMTMtMDktMjQgMTU6MDU6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBBY3R1YWxseSB1c2UgMS4zLjAuMSBhcyB2ZXJzaW9uIHRvIG1ha2UgY29uZmlndXJlIGhhcHB5CgoyMDEzLTA5LTI0IDE1OjAwOjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuMi4wID09PQoKMjAxMy0wOS0yNCAxNDoyMTowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMi4wCgoyMDEzLTA5LTI0IDE0OjIwOjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTMtMDktMjAgMTk6NDM6MjEgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogZml4IHNlZ2ZhdWx0IHJlbGVhc2luZyB0aGUgc2luawoJICBzaG93X2ZyYW1lIGlzIGRlZmVycmVkIHRvIHRoZSBtYWluIHRocmVhZCBhbmQgY2FuIGJlIGNhbGxlZAoJICB3aGVuIHRoZSBzaW5rIGhhcyBiZWVuIHJlbGVhc2VkLCBzbyB3ZSBuZWVkIHRvIGtlZXAgYW4gZXh0cmEgcmVmCgkgIG9uIE9iamVjdGl2ZUMgb2JqZWN0IGhlbHBlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwODUwMQoKMjAxMy0wOS0xOSAxNzoxMTozNCAtMDQwMCAgUm9iZXJ0IEtyYWtvcmEgPHJvYi5rcmFrb3JhQG1lc3NhZ2VuZXRzeXN0ZW1zLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBSZXN0b3JlIG9yaWdpbmFsIEdzdE1lbW9yeSBpbiBidWZmZXIgaWYgaXQgaGFzIGJlZW4gY2hhbmdlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2MDgzCgoyMDEzLTA5LTIzIDE2OjM0OjE1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwbWFuYWdlcjogdXBkYXRlIGRvY3MKCjIwMTMtMDktMjMgMTU6MzY6MzIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgZG9jczogdXBkYXRlIGRvY3Mgd2l0aCAxLjAgZWxlbWVudCBuYW1lcwoKMjAxMy0wOS0yMyAxNDoxMzozMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICB0ZXN0czogYWRkIHRlc3QgZm9yIHJldHJhbnNtaXNzaW9uIGJlY2F1c2Ugb2YgcmVvcmRlcmluZwoKMjAxMy0wOS0yMyAxNDoxMjowMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGFsd2F5cyBzdG9yZSBsb3N0IGV2ZW50IGluIGppdHRlcmJ1ZmZlcgoJICBBbHdheXMgcHJlcGFyZSBhIGxvc3QgZXZlbnQgaW4gdGhlIGppdHRlcmJ1ZmZlciwgaXQgaXMgdG8gd2FrZSB1cCBhbmQgbWFrZSB0aGUKCSAgcHVzaGluZyB0aHJlYWQgY29udGludWUuIFdlIGRyb3AgdGhlIGV2ZW50IHdoZW4gd2UgYXJlIG5vdCBzdXBwb3NlZCB0byBwdXNoIGxvc3QKCSAgZXZlbnRzIGRvd25zdHJlYW0uCgoyMDEzLTA5LTIzIDExOjE4OjQ2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogc2NoZWR1bGUgbG9zdCBldmVudCBkaWZmZXJlbnRseQoJICBTY2hlZHVsZSB0aGUgbG9zdCBldmVudCBieSBwbGFjaW5nIGl0IGluc2lkZSB0aGUgaml0dGVyYnVmZmVyIHdpdGggdGhlIHNlcW51bQoJICB0aGF0IHdhcyBsb3N0IHNvIHRoYXQgdGhlIHB1c2hpbmcgdGhyZWFkIGNhbiBpbnRlcmxlYXZlIGFuZCBwdXNoIGl0IHByb3Blcmx5LgoKMjAxMy0wOS0yMyAxMToxNzozNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICB0ZXN0czogcmVtb3ZlIHRpbWVvdXRzIGZyb20gY2hlY2sKCSAgVGltZW91dHMgbWFrZSB0aGUgdGVzdCB1bnJlbGlhYmxlIGFuZCBhcmUgbm90IG5lZWRlZC4KCjIwMTMtMDktMjMgMTE6MTU6MzAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiByZW1vdmUgbGlzdCBkZWJ1ZwoKMjAxMy0wOS0yMyAxMToxNDowMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgcnRwaml0dGVyYnVmZmVyOiBhZGQgdHlwZSB0byB0aGUgaXRlbQoJICBTbyB0aGF0IHRoZSB1cHBlciBsYXllciBjYW4ga25vdyB3aGF0IGRhdGEgaXMgY29udGFpbmVkIGluIHRoZSBpdGVtLgoKMjAxMy0wOS0yMyAwOTo1ODozMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZml4IGZsdXNoCgkgIFBhc3MgZnVuY3Rpb24gdG8gZmx1c2ggdG8gcHJvcGVybHkgZnJlZSB0aGUgcXVldWUgaXRlbXMuCgoyMDEzLTA5LTIxIDAwOjA4OjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogYXBwZW5kIHNlcW51bSAtMSBwYWNrZXRzCgoyMDEzLTA5LTIwIDIzOjQ4OjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgcnRwaml0dGVyYnVmZmVyOiB1c2Ugc3RydWN0dXJlIHRvIGhvbGQgcGFja2V0IGluZm9ybWF0aW9uCgkgIE1ha2UgdGhlIGppdHRlcmJ1ZmZlciBvcGVyYXRlIG9uIGEgc3RydWN0dXJlIGNvbnRhaW5pbmcgYWxsIHRoZSBwYWNrZXQKCSAgaW5mb3JtYXRpb24uIFRoaXMgYXZvaWRzIG1hcHBpbmcgdGhlIGJ1ZmZlciBtdWx0aXBsZSB0aW1lcyBqdXN0IHRvIGdldCB0aGUgUlRQCgkgIGluZm9ybWF0aW9uLiBJdCB3aWxsIGFsc28gbWFrZSBpdCBwb3NzaWJsZSB0byBzdG9yZSBvdGhlciBtaW5pb2JqZWN0cyBzdWNoIGFzCgkgIGV2ZW50cyBsYXRlci4KCjIwMTMtMDktMjAgMTc6NDg6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiB1cGRhdGUgZXhwZWN0ZWQgdGltZXIgd2hlbiBwb3NzaWJsZQoJICBXaGVuIHdlIHJlY2VpdmUgYSBwYWNrZXQgYW5kIHdlIGhhdmUgc29tZSBtaXNzaW5nIHBhY2tldHMsIHdlIGNhbiB1cGRhdGUgdGhlaXIKCSAgZXN0aW1hdGVkIGFycml2YWwgdGltZXMgYmFzZWQgb24gdGhlIHRpbWVzdGFtcCBkaWZmZXJlbmNlLgoKMjAxMy0wOS0yMCAxNzoxODoyNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGZpeCBvcmRlciBvZiB0aW1lb3V0IGV2ZW50cwoJICBJbXByb3ZlIHRoZSBvcmRlciBvZiB0aGUgdGltZW91dCBldmVudHMsIGlmIHRoZXJlIGFyZSB0aW1lcnMgd2l0aCB0aGUgc2FtZQoJICB0aW1lb3V0LCB3ZSB3YW50IHRvIHRyaWdnZXIgdGhlIGxvd2VzdCBzZXFudW0gZmlyc3QuIEZvciB0aGlzIHdlIG5lZWQgdG8gbG9vcAoJICBvdmVyIHRoZSBjb21wbGV0ZSBhcnJheSBvZiB0aW1lcnMgdG8gZmluZCB0aGUgYmVzdCBvbmUgYmVmb3JlIHRyaWdnZXJpbmcgdGhlCgkgIHRpbWVvdXQuCgoyMDEzLTA5LTIwIDE2OjU4OjM4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogc2VuZCBsb3N0IGV2ZW50IGJlZm9yZSBzaWduYWxpbmcgbmV4dCBidWZmZXIKCSAgRmlyc3Qgc2VuZCB0aGUgbG9zdCBldmVudCwgdGhlbiB1cGRhdGUgdGhlIG5leHRfc2VxbnVtIGNvdW50ZXIgYW5kIHRoZW4KCSAgc2VuZCB0aGUgc2lnbmFsIHRvIHRoZSBwdXNoaW5nIHRocmVhZCB0aGF0IGl0IGNhbiByZXRyeSB0byBwdXNoIGEgYnVmZmVyLiBUaGlzCgkgIGF2b2lkcyBwdXNoaW5nIG91dCBidWZmZXJzIGJlZm9yZSB0aGUgbG9zdCBldmVudCBpcyBwdXNoZWQuCgoyMDEzLTA5LTIwIDE1OjM1OjI1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgaml0dGVyYnVmZmVyOiBjb25maWd1cmUgY2xvY2stcmF0ZSBvbiBqaXR0ZXJidWZmZXIKCSAgQWRkIGEgZ2V0IGFuZCBzZXR0ZXIgdG8gY29uZmlndXJlIHRoZSBjbG9jay1yYXRlIGluIHRoZSBqaXR0ZXJidWZmZXIgaW5zdGVhZCBvZgoJICBwYXNzaW5nIGl0IGFzIGFuIGFyZ3VtZW50IHRvIHRoZSBpbnNlcnQgbWV0aG9kLgoKMjAxMy0wOS0yMCAxMjoyOTozOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICB0ZXN0czogYWRkIHRlc3QgZm9yIHBhY2tldCBkZWxheSBhbmQgcmV0cmFuc21pc3Npb24KCjIwMTMtMDktMjAgMTI6Mjc6MjYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBhZGQgb3B0aW9uIHRvIHJlc2V0IHJldHJhbnNtaXNzaW9uIHRpbWVycwoKMjAxMy0wOS0yMCAxMjoyNTo0MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHN0b3AgdGhlIHRpbWVyIHRocmVhZAoJICBUaGUgdGltZW91dCBjb2RlIGNvdWxkIHJlbGVhc2UgdGhlIGxvY2sgc28gd2UgbmVlZCB0byBjaGVjayBpZiB3ZSBhcmUgYWxsb3dlZCB0bwoJICB3YWl0IGZvciB0aGUgY2xvY2sgc29tZSBtb3JlLgoKMjAxMy0wOS0yMCAxMjoyNToxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHVubG9jayBvbmx5IG9uY2UKCjIwMTMtMDktMjAgMTE6MzA6MDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgdGVzdHM6IGNoZWNrIGJvdGggUFRTIGFuZCBEVFMKCjIwMTMtMDktMjAgMTA6NTU6MDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgdGVzdHM6IGFkZCB1bml0LXRlc3QgZm9yIG11bHRpcGxlIG1pc3NpbmcgcGFja2V0cwoJICBDaGVjayBpZiBtdWx0aXBsZSBtaXNzaW5nIHBhY2tldHMgZ2VuZXJhdGUgcmV0cmFuc21pc3Npb24gZXZlbnRzIGFuZCB0aGF0IHRoZQoJICByZXRyYW5taXNzaW9uIHJlcXVlc3RzIGFyZSBjYW5jZWxlZCB3aGVuIHRoZSBtaXNzaW5nIHBhY2tldCBhcnJpdmVzLgoKMjAxMy0wOS0yMCAxMDo1MzoyOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGltcHJvdmUgZmx1c2ggYW5kIHNodXRkb3duCgkgIFRoZXJlIGlzIG5vIG5lZWQgdG8gdW5zY2hlZHVsZSB0aGUgdGltZXIgaW4gZmx1c2gtc3RhcnQsIGZsdXNoLXN0b3Agd2lsbCByZW1vdmUKCSAgdGhlIHRpbWVycyBhbmQgdW5zY2hlZHVsZS4KCSAgVW5zY2hlZHVsZSB0aGUgY3VycmVudCB0aW1lciBiZWZvcmUgYXR0ZW1wdGluZyB0byBqb2luIHRoZSB0aW1lciB0aHJlYWQuCgoyMDEzLTA5LTIwIDEwOjQzOjUzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHRlc3RzOiBpbXByb3ZlIGRlYnVnCgoyMDEzLTA5LTIwIDEwOjQyOjI3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogc2V0IGNvcnJlY3QgZXhwZWN0ZWQgdGltZQoJICBXaGVuIHdlIGFscmVhZHkgaGF2ZSBhIHRpbWVyIGZvciBhIHBhY2tldCwgc2tpcCBpdCBidXQgZG9uJ3QgZm9yZ2V0IHRvIGFkanVzdAoJICB0aGUgZHRzIHRvIHRoZSBleHBlY3RlZCBkdHMgb2YgdGhlIG5leHQgcGFja2V0LgoKMjAxMy0wOS0yMCAxMDo0MTo1OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGltcHJvdmUgZGVidWcKCjIwMTMtMDktMTkgMTY6NTU6MjUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IHVzZSBQT0ZGU0VUIGluc3RlYWQgb2YgT0ZGU0VUCgkgIFVzZSB0aGUgbW9yZSBjb3JyZWN0IFBPRkZTRVQgbWFjcm8gdG8gZ2V0IHRoZSBvZmZzZXQgb2YgYSBjb21wb25lbnQgaW4gaXRzCgkgIHBsYW5lLiBUaGUgb2Zmc2V0IG1hY3JvIGdpdmVzIHRoZSBvZmZzZXQgb2YgdGhlIGNvbXBvbmVudCByZWxhdGl2ZSB0byB0aGUgc3RhcnQKCSAgb2YgdGhlIGZyYW1lLgoKMjAxMy0wOS0yMSAxODo0NjoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2dvb20vbW14Lmg6CgkgIGdvb206IEZpeCBNTVggYXNzZW1ibHkgY29tcGlsYXRpb24gd2l0aCBjbGFuZwoJICBjbGFuZyBkb2VzIG5vdCB3YW50IG9yIG5lZWQgYSBjbG9iYmVyIGxpc3QgZm9yIGVtbXM6CgkgIGVycm9yOiBjbG9iYmVycyBtdXN0IGJlIGxhc3Qgb24gdGhlIHg4NyBzdGFjawoJICBQYXRjaCB0YWtlbiBmcm9tIHRoZSBGcmVlQlNEIHBvcnRzLCBwcm92aWRlZCBieQoJICBEYW4gTWNHcmVnb3IgPGRhbi5tY2dyZWdvckB1c2Fzay5jYT4KCjIwMTMtMDktMjAgMTY6MTY6NTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBiNjEzNjYxIHRvIDZiMDNiYTcKCjIwMTMtMDktMjAgMTA6MTk6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYS1kZW11eDogTWFrZSBzdXJlIHRoYXQgc3VidGl0bGUgYnVmZmVycyBhcmUgXDAtdGVybWluYXRlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3OTMzCgoyMDEzLTA5LTE3IDEyOjE3OjU0ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogaGFuZGxlIGlzc3VlcyBjb3JyZWN0bHkgd2hlbiBkb3duc3RyZWFtIGlzIG5vdCBzZWVrYWJsZQoJICBUaGUgc3RyZWFtYWJsZSBwcm9wZXJ0eSBvbmx5IG1ha2Ugc2Vuc2UgZm9yIGZyYWdtZW50ZWQgZm9ybWF0cy4KCSAgRm9yIHJlZ3VsYXIgTVA0LCB3aGVuIGRvd25zdHJlYW0gaXMgbm90IHNlZWthYmxlIHdlIGNhbid0IHJld3JpdGUKCSAgdGhlIGhlYWRlcnMsIHNvIHF0bXV4IGNhbiBvbmx5IHdvcmsgd2l0aCBmYXN0LXN0YXJ0PVRSVUUsIHdoZXJlCgkgIHRoZSBoZWFkZXJzIGFyZSB3cml0dGVuIGZpbmlzaGluZyB0aGUgZmlsZS4KCSAgRm9yIGZyYWdtZW50ZWQgTVA0LCB3aGVuIHN0cmVhbWFibGUgaXMgbm90IHNlZWthYmxlIGFuZCB0aGUgc3RyZWFtYWJsZQoJICBwcm9wZXJ0eSBpcyBGQUxTRSwgd2UgbXVzdCBlbmZvcmNlIHN0cmVhbWFibGU9VFJVRSB3YXJuaW5nIHRoZSB1c2VyCgkgIGFib3V0IHRoaXMgY2hhbmdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDcyNDIKCjIwMTMtMDktMTcgMTI6MDY6MDYgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBtYWtlICJzdHJlYW1hYmxlIiBUUlVFIGFzIGRlZmF1bHQKCSAgVGhlIG1vc3QgY29tbW9uIHVzZSBjYXNlIGZvciBmcmFnbWVudGVkIE1QNCAoRGFzaCBhbmQgU21vb3RoIFN0cmVhbWluZykKCSAgaXMgcHJvZHVjaW5nIHN0cmVhbWFibGUgY29udGVudCAoZXZlbiBmb3IgVk9EKS4gc3RyZWFtYWJsZT1GQUxTRSB3b3VsZCBvbmx5CgkgIGJlIHVzZWQgdG8gZ2VuZXJhdGUgZnJhZ21lbnRlZCBNUDQgd2l0aCBhbmQgaW5kZXggb2YgTU9PRidzIHRoYXQgY291bGQKCSAgYmUgcmVwcm9kdWNlZCB3aXRob3V0IGEgcGxheWxpc3QvbWFuaWZlc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzI0MgoKMjAxMy0wOS0xNyAxMjowMTozMCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGRlcHJlY2F0ZSB0aGUgc3RyZWFtYWJsZSBwcm9wZXJ0eSBmb3Igbm9uLWZyYWdtZW50ZWQgTVA0CgkgIFRoZSBzdHJlYW1hYmxlIHByb3BlcnR5IG9ubHkgbWFrZXMgc2Vuc2UgZm9yIGZyYWdtZW50ZWQgTVA0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3MjQyCgoyMDEzLTA5LTE5IDE3OjA4OjE5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSAgdjRsMjogUmVtb3ZlIGNvbW1lbnRlZCBvdXQgbGluZQoKMjAxMy0wOS0xOSAxODo0MzowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNzRhNjg1NyB0byBiNjEzNjYxCgoyMDEzLTA5LTE5IDE3OjM1OjI3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogYXV0b2dlbi5zaDoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAwOThjMGQ3IHRvIDc0YTY4NTcKCjIwMTMtMDktMTkgMTY6NTA6NDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IGRvbid0IGFzc3VtZSBwbGFuYXIgZm9ybWF0cyBoYXZlIGp1c3QgMSBibG9jawoJICBEb24ndCBhc3N1bWUgcGxhbmFyIGZvcm1hdHMgaGF2ZSBqdXN0IG9uZSBtZW1vcnkgYmxvY2sgd2l0aCB0aGUgZGF0YSBidXQgdXNlIHRoZQoJICBtYWNyb3MgdG8gYWNjZXNzIHRoZSByaWdodCBtZW1vcnkgYmxvY2sgd2hlcmUgYSBjb21wb25lbnQgY2FuIGJlIGZvdW5kLgoKMjAxMy0wOS0xOSAxNDoxNDo1MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICB0ZXN0czogYWRkIHJldHJhbnNtaXNzaW9uIGppdHRlcmJ1ZmZlciB0ZXN0CgkgIFN0b3JlIGJvdGggRFRTIGFuZCBQVFMgb24gYnVmZmVycy4KCSAgTWFrZSBhIHF1ZXVlIGZvciBzcmNwYWQgZXZlbnRzLgoJICBBY3RpdmF0ZSBwYWRzIGFmdGVyIGxpbmtpbmcgc28gdGhhdCB3ZSBkb24ndCBnZXQgUkVDT05GSUdVUkUgZXZlbnRzLgoJICBBZGQgdGVzdCBmb3IgcmV0cmFuc21pc3Npb24uCgoyMDEzLTA5LTE5IDE0OjEyOjE4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjoga2VlcCBkZWxheSBhcyBhIHNlcGFyYXRlIHZhcmlhYmxlIGluIHRpbWVyCgkgIEtlZXAgYSBzZXBhcmF0ZSBkZWxheSBpbiB0aGUgdGltZXIgc28gdGhhdCB3ZSBzdGlsbCBrbm93IHRoZSBvcmlnaW5hbCB0aW1lc3RhbXAKCSAgb2YgdGhlIHBhY2tldCB0aGF0IHRoaXMgdGltZXIgcmVmZXJzIHRvLiBXZSBjYW4gdGhlbiBwbGFjZSB0aGUgY29ycmVjdAoJICBydW5uaW5nLXRpbWUgaW4gdGhlIFJldHJhbnNtaXNzaW9uIGV2ZW50LgoKMjAxMy0wOS0xOSAxNDowODo1NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGZpeCB3cml0YWJpbGl0eSBvZiBwcm9wZXJ0aWVzCgoyMDEzLTA5LTE5IDExOjM0OjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuMS45MCA9PT0KCjIwMTMtMDktMTkgMTA6NTA6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjEuOTAKCjIwMTMtMDktMTkgMTA6MjE6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMy0wOS0xOSAwOTo0NToxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogcG8vY3MucG86CgkqIHBvL25sLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMy0wOS0xMSAxNDoyNzowMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBkbWFidWYgaXMgbm90IGEgc2luZ2xldG9uIGFueW1vcmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzc5MwoKMjAxMy0wOS0xNiAxMzo1Mzo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IGRvIG5vdCBkbyBodHRwIHJlcXVlc3RzIGluIFJFQURZCgkgIEhFQUQgcmVxdWVzdHMgdG8gZGlzY292ZXIgaWYgdGhlIHNlcnZlciBpcyBzZWVrYWJsZSBzaG91bGRuJ3QgYmUgZG9uZSBpbgoJICBSRUFEWSBhcyBpdCBtaWdodCBsb2NrIHRoZSBtYWluIHRocmVhZCB0aGF0IGlzIGRvaW5nIHRoZSBzdGF0ZSBjaGFuZ2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDUzNzEKCjIwMTMtMDktMTggMTY6MzI6MjggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiByZWV2YWx1YXRlIHRoZSBjdXJyZW50IHRpbWVyIGFmdGVyIHRpbWVvdXQKCSAgV2hlbiB3ZSB0cmlnZ2VyIHRoZSB0aW1lb3V0IGxvZ2ljIG9mIGEgdGltZXIsIHJlZXZhbHVhdGUgaXQgYmVjYXVzZSBpdCBpcwoJICBwb3NzaWJsZSB0aGF0IGl0IHN0aWxsIGhhcyB0aGUgbG93ZXN0IHRpbWVvdXQuCgoyMDEzLTA5LTE4IDE2OjMxOjI2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZG9uJ3QgdXBkYXRlIHRpbWUgd2hlbiB1bnNjaGVkdWxlZAoJICBEb24ndCB0cnkgdG8gZXN0aW1hdGUgdGhlIGN1cnJlbnQgdGltZSB3aGVuIHdlIGdvdCB1bnNjaGVkdWxlZC4KCjIwMTMtMDktMTggMTY6Mjk6MzcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBpbml0IHBhY2tldCBzcGFjaW5nIG9uIGZpcnN0IGJ1ZmZlcgoJICBBbHJlYWR5IGluaXQgdGhlIHBhY2tldCBzcGFjaW5nIHZhcmlhYmxlcyBvbiB0aGUgZmlyc3QgYnVmZmVyIHNvIHRoYXQgd2UgY2FuCgkgIGNhbGN1bGF0ZSB0aGUgc3BhY2luZyBvbiB0aGUgc2Vjb25kIGJ1ZmZlciBhbHJlYWR5LgoKMjAxMy0wOS0xOCAxNTowODo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICB0ZXN0czogZml4IGNvbW1lbnRzCgoyMDEzLTA5LTE4IDE0OjU3OjA5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogcHVzaCB0aGUgbG9zdCBldmVudCBmcm9tIHRoZSB0aW1lciB0aHJlYWQKCSAgSW5zdGVhZCBvZiBwdXNoaW5nIHRoZSBsb3N0IGV2ZW50IGZyb20gdGhlIGNoYWluIGZ1bmN0aW9uLCBzY2hlZHVsZSBhIHRpbWVvdXQKCSAgdGhhdCB3aWxsIHB1c2ggdGhlIGxvc3QgZXZlbnQgZnJvbSB0aGUgdGltZXIgdGhyZWFkLiBUaGlzIGF2b2lkIGJsb2NraW5nIHRoZQoJICB1cHN0cmVhbSB0aHJlYWQgd2hpbGUgd2UgcHVzaCBhbmQgc3luYyB0aGUgZXZlbnQuCgoyMDEzLTA5LTE4IDE0OjIzOjU1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogYWRkIGFub3RoZXIgdGVzdAoJICBUaGUgdGVzdCBpcyBtb2RpZmllZCBzbGlnaHRseSBiZWNhdXNlIHRoZSBsYXRlIGxvc3QgcGFja2V0cyBhcmUgb25seQoJICBnZW5lcmF0ZWQgbm93IHdoZW4gYSBsYXJnZSBnYXAgaXMgcmVjZWl2ZWQuCgoyMDEzLTA5LTE4IDE0OjEyOjQ3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHJvdW5kIGdhcCBkdXJhdGlvbiB0byBtdWx0aXBsZSBvZiBkdXJhdGlvbgoJICBNYWtlIHN1cmUgdGhlIGdhcCBkdXJhdGlvbiBpbiB0aGUgbG9zdCBldmVudCBpcyBhIG11bHRpcGxlIG9mIHRoZSBwYWNrZXQKCSAgZHVyYXRpb24uCgkgIEVuYWJsZSBhbm90aGVyIHRlc3QuCgoyMDEzLTA5LTE4IDEyOjI5OjM4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBrZWVwIHRyYWNrIG9mIGR1cmF0aW9uCgkgIEtlZXAgdHJhY2sgb2YgdGhlIGVzdGltYXRlZCBkdXJhdGlvbiBvZiBtaXNzaW5nIHBhY2tldHMgYW5kIHVzZSBpdCBpbiB0aGUgbG9zdAoJICBldmVudC4KCSAgRW5hYmxlIGFub3RoZXIgdW5pdCB0ZXN0CgoyMDEzLTA5LTE4IDExOjU5OjI4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGhhbmRsZSBsYXJnZSBnYXBzIHdpdGggb25lIGxvc3QgZXZlbnQKCSAgV2hlbiB3ZSBoYXZlIGEgbGFyZ2UgbnVtYmVyIG9mIG1pc3NpbmcgcGFja2V0cywgZ2VuZXJhdGUgb25lIGxvc3QgZXZlbnQgZm9yIGFsbAoJICB0aGUgcGFja2V0cyB0aGF0IGhhdmUgbm8gY2hhbmNlIG9mIGJlaW5nIHB1c2hlZCBvdXQgaW4gdGltZS4KCSAgRml4IGFuZCBhY3RpdmF0ZSB1bml0IHRlc3QgZm9yIGxhcmdlIGdhcHMuCgoyMDEzLTA5LTE4IDExOjU2OjM4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogcmVmYWN0b3IgbG9zdCBldmVudCBzZW5kaW5nCgkgIEFsc28gbWFrZSBzdXJlIHdlIG9ubHkgaW5jcmVtZW50IHRoZSBleHBlY3RlZCBzZXFudW0gYW5kIGxhc3QKCSAgb3V0cHV0IHRpbWVzdGFtcC4KCjIwMTMtMDktMTcgMjM6MjE6MDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiByZWZhY3RvciB0aW1lb3V0IHRyaWdnZXJzCgoyMDEzLTA5LTE3IDIzOjAzOjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogc2ltcGxpZnkgdGhlIHRpbWVvdXQgY29kZQoJICBLZWVwIHRyYWNrIG9mIHRoZSBjdXJyZW50IHRpbWUgaW4gdGhlIHRpbWVvdXQgbG9vcC4KCSAgTG9vcCBvdmVyIGFsbCB0aW1lcnMgYW5kIHRyaWdnZXIgYWxsIHRoZSBleHBpcmVkIG9uZXMsIHdlIGNhbiBkbyB0aGlzIGluIHRoZQoJICBzYW1lIGxvb3AgdGhhdCBzZWxlY3RzIHRoZSBuZXcgYmVzdCB0aW1lci4KCjIwMTMtMDktMTcgMjM6MDE6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiByZWFycmFuZ2UgdGltZXIgdXBkYXRlIGNvZGUKCSAgQWxzbyB1cGRhdGUgdGhlIHRpbWVycyB3aGVuIHJldHJhbnNtaXNzaW9uIGlzIGRpc2FibGVkLiBXZSBuZWVkIHRvCgkgIGRvIHRoaXMgYmVjYXVzZSB3aGVuIHdlIGFkZGVkIExPU1QgdGltZXJzIHdoZW4gd2UgZGV0ZWN0ZWQgbWlzc2luZyBwYWNrZXRzIGFuZAoJICB3ZSBuZWVkIHRvIHJlbW92ZSB0aG9zZSB0aW1lcnMgd2hlbiB0aGUgcGFja2V0IGZpbmFsbHkgYXJyaXZlcy4KCjIwMTMtMDktMTcgMjI6MDI6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSAgdmlkZW9taXhlcjogbGluayB0byBsaWJtIGZvciBtYXRocyBzdHVmZgoJICBGaXhlcyB1bmRlZmluZWQgcmVmZXJlbmNlcyB0byByaW50IGFuZCBwb3cgb24gdWJ1bnR1CgkgIGJ1aWxkIGJvdC4KCjIwMTMtMDktMTcgMTU6MTk6NDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiByZWxlYXNlIGxvY2sgb24gc2h1dGRvd24KCjIwMTMtMDktMTcgMTU6MTE6NDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgY2hlY2s6IGNoYW5nZSBmb3IgdmlkZW9taXhlciByZW5hbWVkIG9yYyBmaWxlCgoyMDEzLTA5LTE0IDE2OjAzOjIwICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogcmVtb3ZlIE1BWF9UT0xFUkFURURfTEFURU5FU1MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzQxMQoKMjAxMy0wOS0xNiAxNTo1NDozNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2NC1ydHguc2g6CgkgIGV4YW1wbGVzOiB3ZSBkb24ndCBuZWVkIHRoZSBxdWV1ZSBhbnltb3JlCgoyMDEzLTA5LTE2IDE1OjUzOjQ3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogdXNlIHNlcGFyYXRlIHRocmVhZCBmb3IgdGltZW91dHMKCSAgVXNlIGEgc2VwYXJhdGUgdGhyZWFkIGZvciBzY2hlZHVsaW5nIHRoZSB0aW1lb3V0cyBpbnN0ZWFkIG9mIHVzaW5nIHRoZQoJICBkb3duc3RyZWFtIHN0cmVhbWluZyB0aHJlYWQgdGhhdCBtaWdodCBibG9jayBhdCBhbnkgdGltZS4KCjIwMTMtMDktMTQgMTU6NTY6MDQgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBzZXQgZmlyc3RfdHMgdG8gRFRTIGZvciBzdHJlYW1zIHRoYXQgaGF2ZSBEVFMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzM0MAoKMjAxMy0wOS0xNCAxNTo1NToyMiArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IG1ha2Ugc3VyZSBkdXJhdGlvbiBpcyBhIHZhbGlkIG51bWJlciBmb3IgbGFzdCBidWZmZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzM0MAoKMjAxMy0wOS0xNCAxNTo1NDoyOSArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHVzZSBzZWdtZW50LnN0YXJ0IG9yIGxhc3QgYnVmZmVyIGVuZCB0aW1lIGluIGNhc2Ugb2YgbWlzc2luZyBEVFMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzM0MAoKMjAxMy0wOS0wMyAxODoxNDowNCArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgUmV2ZXJ0IHF0bXV4OiBVc2UgYnVmZmVyIFBUUyBpZiBEVFMgaXMgbm90IHNldCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBmNzJjM2NmNzFmZGU2MjIwNjdmNDFmMzFhNTM5NzhiYTRjOTQ0NjlkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3MzQwCgoyMDEzLTA5LTE2IDExOjAzOjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyb3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcm9yYy1kaXN0Lmg6CgkgIHZpZGVvbWl4ZXI6IFVwZGF0ZSBvcmMgZ2VuZXJhdGVkIGZpbGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDgxMzEKCjIwMTMtMDktMTMgMTY6MjU6NDkgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBEZW11eCBSVENQIGJ1ZmZlcnMgZnJvbSB0aGUgUlRQIHN0cmVhbQoJICBJZiB0aGVyZSBhcmUgUlRDUCBidWZmZXJzIGluIHRoZSBSVFAgc3RyZWFtLCBwcm9jZXNzIHRoZW0gYXMKCSAgUlRDUC4gVGhpcyB3YXksIHdlIHdhbnQgcmVjZWl2ZSBzdHJlYW1zIGZvbGxvd2luZyBSRkMgNTc2MQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3NjU3CgoyMDEzLTA5LTEzIDIzOjI2OjIxICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvcnRwL2dzdHJ0cEwyNGRlcGF5LmM6CgkgIHJ0cDogUmVtb3ZlIGJvZ3VzIGV4dHJhIGNhcHMgZnJvbSBMMjQgdGVtcGxhdGUuCgkgIFRoZSBleHRyYSBjYXBzIGVudHJ5IGluIHRoZSB0ZW1wbGF0ZSB3YXMgbWFraW5nIGl0IHNvbWV0aW1lcwoJICBnZXQgcGx1Z2dlZCBmb3IgYW55IGR5bmFtaWNhbGx5IGFsbG9jYXRlZCBwYXlsb2FkIHR5cGUuCgoyMDEzLTA5LTEzIDEyOjQwOjQxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIHJ0cGJpbjogdXNlIFBhY2tldEluZm8gZm9yIHRoZSBzZW5kZXIKCSAgQXZvaWQgbWFwcGluZyB0aGUgcGFja2V0IG11bHRpcGxlIHRpbWVzIHdoZW4gc2VuZGluZyBSVFAuCgoyMDEzLTA5LTEzIDEyOjIyOjM2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIHJ0cGJpbjogc3RvcmUgbW9yZSBpbiB0aGUgUGFja2V0SW5mbwoJICBTdG9yZSBhbGwgaW5mbyBpbiB0aGUgUGFja2V0SW5mbyBzbyB0aGF0IHdlIGNhbiBhdm9pZCBtYXBwaW5nIHRoZSBwYWNrZXQKCSAgbXVsdGlwbGUgdGltZXMuCgoyMDEzLTA5LTEzIDExOjMyOjUyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBzZXNzaW9uOiBzdG9yZSBtb3JlIGluIHRoZSBQYWNrZXRJbmZvIHN0cnVjdHVyZQoKMjAxMy0wOS0xMyAxMTowODo1NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBydHBiaW46IFJUUEFycml2YWxTdGF0cyAtPiBSVFBQYWNrZXRJbmZvCgkgIFJlbmFtZSBhIHN0cnVjdHVyZSBiZWNhdXNlIHdlIGFyZSBhbHNvIGdvaW5nIHRvIHVzZSB0aGlzIGZvciB0aGUgc2VuZGVyCgkgIGJpdHMuCgoyMDEzLTA5LTEzIDEwOjU1OjMxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBzb3VyY2U6IHNtYWxsIGNsZWFudXBzCgoyMDEzLTA5LTEyIDEzOjMxOjAxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogb25seSB1cGRhdGUgc3RvcCBwb3NpdGlvbiBpZiBzZWVrIHJlcXVlc3RzIGl0CgkgIENoZWNrIGZvciBHU1RfU0VFS19UWVBFX05PTkUgZm9yIHN0b3AgcG9pc3Rpb24gYW5kIG9ubHkgdXBkYXRlCgkgIHRoZSBzdG9wIHRpbWUgaWYgaXQgaXMgcmVxdWVzdGVkLiBPdGhlcndpc2UganVzdCBtYWludGFpbiB3aGF0ZXZlcgoJICB3YXMgc3RvcmVkIGF0IHRoZSBzZWdtZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDc1MzAKCjIwMTMtMDktMTMgMDg6NTM6MjUgKzAyMDAgIFJpY28gVHpzY2hpY2hob2x6IDxyaWNvdHpAdWJ1bnR1LmNvbT4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgIHJ0cDogQWRkIG1pc3NpbmcgaGVhZGVycyB0cCBmaXggbWFrZSBkaXN0CgkgIEluIGFkZGl0aW9uIHRvIGE5NTZhNmNlYjJkZWI4N2NjMTM2MWFlZTFkNjYyNjQ0OWY0NmRhYjIKCjIwMTMtMDktMTIgMTU6MDc6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogTWFrZSBzdXJlIHdlIGhhdmUgZW5vdWdoIGRhdGEgdG8gcmVhZCBpbWFnZSB0YWdzCgkgIFRoYW5rcyB0byBpcHV0aW5laSBmb3IgcmVwb3J0aW5nIHRoaXMgb24gSVJDLgoKMjAxMy0wOS0xMiAxNTowMTozNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGhhbmRsZSBzZWdtZW50cyB3aXRoIG5vbi0wIHN0YXJ0CgkgIFdlIGtlZXAgdGhlIERUUyBhbmQgUFRTIGluIHJ1bm5pbmctdGltZSBpbnNpZGUgdGhlIGppdHRlcmJ1ZmZlci4gTWFrZSBzdXJlIHRvCgkgIHRyYW5zZm9ybSBpdCBiYWNrIHRvIGEgYnVmZmVyIHRpbWVzdGFtcCBiZWZvcmUgcHVzaGluZyBvdXQgdGhlIGJ1ZmZlci4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzkzMQoKMjAxMy0wOS0xMSAxMzoxMTo1OCAtMDYwMCAgU2XDoW4gZGUgQsO6cmNhIDxsZWZ0bW9zdGNhdEBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogRml4IG9mZi1ieS1vbmUgaW4gdmFsaWRhdGlvbiBvZiBVVEYtOAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3OTMzCgoyMDEzLTA5LTExIDE0OjMyOjE3IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBEbyBub3QgY2hlY2sgaWYgY2FwcyBhcmUgZW1wdHkgd2hlbiB0aGV5IGFyZSBOVUxMCgkgIEluIHRoZSBjYXNlIHRoZSBjYXBzIGFyZSBhY3R1YWxseSBOVUxMLCB3ZSBzaG91bGQganVzdCBjb25jaWRlciBpdCB0aGUKCSAgc2FtZSB3YXkgYXMgZW1wdHkgY2FwcyBpbiB0aGF0IGNhc2UuCgoyMDEzLTA5LTEwIDE2OjQ0OjUzIC0wNjAwICBTZcOhbiBkZSBCw7pyY2EgPGxlZnRtb3N0Y2F0QGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXJvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyb3JjLWRpc3QuaDoKCSAgdmlkZW9taXhlcjogZml4IGJ1aWxkIGlmIG9yYyBpcyBub3QgaW5zdGFsbGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDc4ODYKCjIwMTMtMDktMTAgMTc6NTc6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBQcmVzZXJ2ZSBzZXFudW0gd2hlbiBwdXNoaW5nIHNlZWsgdXBzdHJlYW0KCSAgQWZ0ZXIgY29udmVydGluZyBhIHNlZWsgZnJvbSB0aW1lIHRvIGJ5dGVzLCB1c2UgdGhlIHNhbWUgc2VxbnVtCgkgIG9uIHRoZSBldmVudCB0aGF0IGdvZXMgdXBzdHJlYW0KCjIwMTMtMDktMDUgMDA6MTc6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiB0cmFjayBzdHJlYW1zIHRoYXQgYXJlIEVPUyBvbiBwdXNoIG1vZGUgdG8gZmluaXNoIGVhcmxpZXIKCSAgV2hlbiB0aGUgc2VnbWVudCBoYXMgYSBkZWZpbmVkIHN0b3AgcG9zaXRpb24sIHF0ZGVtdXggc2hvdWxkIGNoZWNrCgkgIHdoZW4gc3RyZWFtcyByZWFjaCB0aGlzIHBvc2l0aW9uIGFuZCBtYXJrIHRob3NlIGFzIEVPUy4gV2hlbiBhbGwKCSAgc3RyZWFtcyBhcmUgRU9TIGl0IHdpbGwgcmV0dXJuIEdTVF9GTE9XX0VPUyB0byB1cHN0cmVhbSB0byBhbGxvdwoJICB0aGUgcGlwZWxpbmUgdG8gZmluaXNoIGluc3RlYWQgb2YgY29udGludW91c2x5IGNvbnN1bWUgYnVmZmVycwoJICBmcm9tIHVwc3RyZWFtIHRoYXQgYXJlIG5vdCB1c2VmdWwgZm9yIHRoZSBzZWdtZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3NTMwCgoyMDEzLTA5LTA0IDE1OjM0OjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IHByZXNlcnZlIHN0b3Agb2Ygc2VnbWVudCB3aGVuIGRvaW5nIHNlZWtzIGluIHB1c2ggbW9kZQoJICBXaGVuIGhhbmRsaW5nIHNlZWtzIGluIHB1c2ggbW9kZSwgcXRkZW11eCBjb252ZXJ0cyB0aGUgc2VlayB0byBieXRlcwoJICBhbmQgcHVzaGVzIHVwc3RyZWFtLiBJdCBuZWVkcyB0byBrZWVwIHRyYWNrIG9mIHRoZSBzZWVrIGFuZCB0aGUKCSAgc3Vic2VxdWVudCBzZWdtZW50IHRvIGJlIGFibGUgdG8gbWFwIHRoZW0gYmFjayB0byB0aGUgcmVxdWVzdGVkCgkgIHNlZWsgdGltZSBhbmQgcHJvcGVybHkgcHJlc2VydmUgdGhlIHNlZ21lbnQgc3RvcCBvZiB0aGUgc2Vlay4KCSAgVGhpcyBpcyBkb25lIGJ5IHVzaW5nIHRoZSBzdGFydCBvZmZzZXQgaW4gYnl0ZXMgb2YgdGhlIHNlZWssCgkgIHRoYXQgc2hvdWxkIGJlIHRoZSBzYW1lIG9mIHRoZSBzZWdtZW50IGZyb20gdXBzdHJlYW0uIEFuZCB0aGlzCgkgIGlzIGFsc28gYmFja3dhcmRzIGNvbXBhdGlibGUgd2l0aCB3aGF0IHF0ZGVtdXggYWxyZWFkeSB3YXMgdXNpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDc1MzAKCjIwMTMtMDctMjYgMTk6NDA6NTMgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIycGFkLmg6CgkgIHZpZGVvbWl4ZXI6IEFkZCBjb2xvcnNwYWNlIGNvbnZlcnNpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDk1MAoKMjAxMy0wOC0wNiAxNTozODozOSArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBlcGl0ZWNoLmV1PgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogRG9uJ3Qgc2VuZCByZWNvbmZpZ3VyZSBldmVudCB3aGVuIGZvcm1hdHMgb3IgUEFSIGFyZSBkaWZmZXJlbnQKCSAgSXQgaXMgcmFjeSB3aXRoIG11bHRpcGxlIHBhZHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQ5NTAKCjIwMTMtMDctMjUgMTM6NDk6NTcgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy5vcmM6CgkqIGdzdC92aWRlb21peGVyL2dzdGNtcy5jOgoJKiBnc3QvdmlkZW9taXhlci9nc3RjbXMuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9jb252ZXJ0LmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvY29udmVydC5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyb3JjLm9yYzoKCSAgdmlkZW9taXhlcjogQnVuZGxlIHByaXZhdGUgY29waWVzIG9mIHZpZGVvY29udmVydCBjb2RlCgkgIElkZWFsbHksIHRoaXMgd291bGQgYmUgcGFydCBvZiBsaWJnc3R2aWRlby4KCSAgUHJlZml4ZXMgdmlkZW9jb252ZXJ0IHN5bWJvbHMgd2l0aCB2aWRlb21peGVyXy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDk1MAoKMjAxMy0wOC0yMiAwMDowMzo0OCArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBlcGl0ZWNoLmV1PgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogVXNlIG5ld2x5ICNkZWZpbmVkIG1ldGFkYXRhIG5hbWVzLgoKMjAxMy0wOS0wOSAxNToxMTo1MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogb25seSB3YWl0IGlmIHdlIGZsdXNoZWQKCSAgT25seSB3YWl0IGZvciB0aGUgU1RSRUFNX0xPQ0sgd2hlbiB3ZSBmbHVzaGVkIHNvbWV0aGluZyB3aGVuIHNlbmRpbmcKCSAgYSBjb21tYW5kIGZvciBQQVVTRUQgb3IgUExBWUlORy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzYxMQoKMjAxMy0wOS0wOSAxNTowOTo0MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcmV0dXJuIHdoZW4gYSBmbHVzaCB3YXMgaXNzdWVkCgkgIE1ha2UgZ3N0X3J0c3BzcmNfbG9vcF9zZW5kX2NtZCgpIHJldHVybiBUUlVFIHdoZW4gdGhlIGN1cnJlbnQKCSAgYWN0aW9uIGhhcyBiZWVuIGZsdXNoZWQKCjIwMTMtMDktMDkgMTE6MTY6NDAgKzAyMDAgIERhdmlkIEhvbHJveWQgPGRhdmVAYmFkZ2Vycy1pbi1mb2lsLmNvLnVrPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBMMjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwyNGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwTDI0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDI0cGF5Lmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHJ0cDogYWRkIEwyNCBwYXkgYW5kIGRlcGF5bG9hZGVyCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDc3MzQKCjIwMTMtMDktMDkgMTQ6NDY6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBGaXggbWlzc2luZyBjb25kaXRpb24gaW4gcHJldmlvdXMgY29tbWl0CgoyMDEzLTA5LTA5IDE0OjQ0OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogQWxzbyBmaXggc3RyaWRlcyBmb3Igb3RoZXIgc2VtaS1wbGFuYXIgdmlkZW8gZm9ybWF0cwoKMjAxMy0wOS0wOSAxNDo0MTo0MiArMDIwMCAgQW5kcmVlYSBGdWxnZXIgPGFuZHJlZWEuZnVsZ2VyQHBhcnJvdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogRml4IHN0cmlkZSBmb3IgTlYxMi9OVjIxCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDc3NTgKCjIwMTMtMDktMDcgMTY6Mzc6MDMgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2FkZW11eDogZml4IGxlYWtpbmcgYnVmZmVyIGFuZCBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDc2ODgKCjIwMTMtMDktMDUgMTk6NDY6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IGZpeCBidWlsZCBvbiB3aW4zMgoJICBnc3R1ZHBzcmMuYzo4NTU6MTU6IGVycm9yOiAjaWYgd2l0aCBubyBleHByZXNzaW9uCgoyMDEzLTA5LTA0IDE1OjUwOjQyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogaGFuZGxlIHVuc2Vla2FibGUgc3RyZWFtcwoJICBIYW5kbGUgc3RyZWFtcyB0aGF0IHdlIGNhbid0IHNlZWsgaW4gYW5kIGlnbm9yZSB0aGVtIGluIHRoZQoJICBzZWVrIGxvZ2ljLgoKMjAxMy0wOS0wNCAxNToyNTozOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IG9ubHkgY2hlY2sgdmlkZW8gY29tcHJlc3Npb24gZm9yIHZpZGVvIHN0cmVhbXMKCSAgT3IgZWxzZSB3ZSBtaWdodCBkZXJlZiBhIHN0cmVhbSB3aXRoIGEgTlVMTCBzdHJmLnZpZHMgYW5kIHNlZ2ZhdWx0CgoyMDEzLTA2LTE4IDEzOjI3OjIwICswMTAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvZnR5cGNjLmg6CgkqIGdzdC9pc29tcDQvZ3N0cnRweHF0ZGVwYXkuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X3R5cGVzLmM6CgkgIHF0ZGVtdXg6IEFkZCBzdXBwb3J0IGZvciB0aGUgYXZjMyBzYW1wbGUgZW50cnkgZm9ybWF0IG9mIHRoZSBBVkMgZmlsZSBmb3JtYXQKCSAgQW1lbmRtZW50IDIgb2YgSVNPL0lFQyAxNDQ5Ni0xNSAoQVZDIGZpbGUgZm9ybWF0KSBpcyBkZWZpbmluZyBhIG5ldwoJICBzdHJ1Y3R1cmUgZm9yIGZyYWdtZW50ZWQgTVA0IGNhbGxlZCAiYXZjMyIuIFRoZSBwcmluY2lwYWwgZGlmZmVyZW5jZQoJICBiZXR3ZWVuIEFWQzEgYW5kIEFWQzMgaXMgdGhlIGxvY2F0aW9uIG9mIHRoZSBjb2RlYyBpbml0aWFsaXNhdGlvbgoJICBkYXRhIChlLmcuIFNQUywgUFBTKS4gSW4gQVZDMSB0aGlzIGRhdGEgaXMgcGxhY2VkIGluIHRoZSBpbml0aWFsCgkgIE1PT1YgYm94IChtb292LnRyYWsubWRpYS5taW5mLnN0Ymwuc3RzZC5hdmMxKSBidXQgaW4gQVZDMyB0aGlzIGRhdGEKCSAgZ29lcyBpbiB0aGUgZmlyc3Qgc2FtcGxlIG9mIGV2ZXJ5IGZyYWdtZW50IChpLmUuIHRoZSBmaXJzdCBzYW1wbGUgaW4KCSAgZWFjaCBtZGF0IGJveCkuICBUaGUgcHJpbmNpcGFsIHJlYXNvbiBmb3IgYXZjMyBpcyB0byBtYWtlIGl0IGVhc2llcgoJICBmb3IgY2xpZW50IGltcGxlbWVudGF0aW9ucywgYmVjYXVzZSBpdCByZW1vdmVzIHRoZSByZXF1aXJlbWVudCB0bwoJICBpbnNlcnQgdGhlIFNQUytQUFMgaW4gdG8gdGhlIGRlY29kZXIgcGlwZWxpbmUgZXZlcnkgdGltZSB0aGVyZSBpcyBhCgkgIHJlcHJlc2VudGF0aW9uIGNoYW5nZS4KCSAgVGhpcyBjb21taXQgYWRkcyBzdXBwb3J0IGZvciB0aGUgImF2YzMiIGF0b20sIHdoaWNoIGlzIGFsbW9zdCBpZGVudGljYWwKCSAgdG8gdGhlICJhdmMxIiBhdG9tLCBleGNlcHQgaXQgZG9lcyBub3QgY29udGFpbiBhbnkgU1BTIG9yIFBQUyBkYXRhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyMDA0CgoyMDEzLTA5LTA0IDAwOjI3OjUwICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQGVwaXRlY2guZXU+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBEb24ndCBzZXQgRU9TIHRvIEZBTFNFIHdoZW4gdGhlIGNvbGxlY3RwYWQgKmlzKiBFT1MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzIzOAoKMjAxMy0wOS0wMyAxNzozMjo0MSArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogY2xlYW51cCBvbiBlcnJvciBhZnRlciBzdGF0ZSBjaGFuZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzIyOQoKMjAxMy0wOS0wMyAxMToyMzoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuaDoKCSAgdWRwc3JjOiBCaW5kIHRvIG11bHRpY2FzdCBhZGRyZXNzZXMgb24gbm9uLVdpbmRvd3Mgc3lzdGVtcwoJICBPbiBXaW5kb3dzIGl0J3Mgbm90IHBvc3NpYmxlIHRvIGJpbmQgdG8gYSBtdWx0aWNhc3QgYWRkcmVzcwoJICBidXQgdGhlIE9TIHdpbGwgbWFrZSBzdXJlIHRvIGZpbHRlciBvdXQgYWxsIHBhY2tldHMgdGhhdAoJICBhcnJpdmUgbm90IGZvciB0aGUgbXVsdGljYXN0IGFkZHJlc3MgdGhlIHNvY2tldCBqb2luZWQuCgkgIE9uIExpbnV4IGFuZCBvdGhlcnMgaXQgaXMgbmVjZXNzYXJ5IHRvIGJpbmQgdG8gYSBtdWx0aWNhc3QKCSAgYWRkcmVzcyB0byBsZXQgdGhlIE9TIGZpbHRlciBvdXQgYWxsIHBhY2tldHMgdGhhdCBhcmUgcmVjZWl2ZWQKCSAgb24gdGhlIHNhbWUgcG9ydCBidXQgZm9yIGRpZmZlcmVudCBhZGRyZXNzZXMgdGhhbiB0aGUgbXVsdGljYXN0CgkgIGFkZHJlc3MKCSAgQW5kIGRlcHJlY2F0ZSB0aGUgbXVsdGljYXN0LWdyb3VwIHByb3BlcnR5IGFuZCByZXBsYWNlIGl0IHdpdGggdGhlCgkgIGFkZHJlc3MgcHJvcGVydHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDcwNDIKCjIwMTMtMDktMDMgMTA6MTA6MDEgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IEZyZWUgR3N0QmFzZVBhcnNlRnJhbWUgaWYgcHVzaGluZyBhIGhlYWRlciBmYWlsZWQKCjIwMTMtMDktMDIgMTY6MDI6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogUmVmYWN0b3IgYWRkcmVzcyByZXNvbHZhbCBpbnRvIGl0cyBvd24gZnVuY3Rpb24KCjIwMTMtMDktMDIgMjM6MDA6MjkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkgIHJlcGxheWdhaW46IGZpeCB0YWdsaXN0IGxlYWsgaW4gcmdhbmFseXNpcwoJICBBbmQgYWRkIHNvbWUgRklYTUVzLgoKMjAxMy0wOS0wMiAyMjo1MDo1OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSAgdGVzdHM6IHJnYW5hbHlzaXM6IHJlbmFtZSBmdW5jdGlvbiBmb3IgY2xhcml0eQoKMjAxMy0wMy0xOCAxNDozMjowNyArMDEwMCAgQ2hyaXN0b3BoIFJlaXRlciA8cmVpdGVyLmNocmlzdG9waEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkgIHRlc3RzOiBmaXggc2tpcHBlZCByZ2FuYWx5c2lzIHRlc3RzCgkgIEluIDAuMTAgZWxlbWVudHMgd291bGQgcG9zdCB0YWcgbWVzc2FnZXMgb24gdGhlIGJ1cwoJICBkaXJlY3RseSwgYW5kIHJnYW5hbHlzaXMgd291bGQgb25seSBwb3N0IGEgdGFnIG1lc3NhZ2UKCSAgd2hlbiBpdCBjaGFuZ2VkIHRhZ3MuIEluIDEuMCwgb25seSBzaW5rcyBwb3N0IHRhZwoJICBtZXNzYWdlcyB3aGVuIHRoZXkgcmVjZWl2ZSB0aGUgc2VyaWFsaXNlZCB0YWcgZXZlbnQuCgkgIFRoaXMgbWVhbnMgdGhhdCB3ZSBnZXQgYW4gYWRkaXRpb25hbCB0YWcgbWVzc2FnZSBvbgoJICB0aGUgYnVzIG5vdyB3aGVyZSB3ZSBkaWRuJ3QgZXhwZWN0IG9uZSBiZWZvcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTUwOTAKCjIwMTMtMDktMDIgMTE6NDY6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogUHJvcGVybHkgcHJvcGFnYXRlIGRvd25zdHJlYW0gZmxvdyByZXR1cm5zIHVwc3RyZWFtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDcyMjkKCjIwMTMtMDktMDEgMjE6MTg6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJKiBnc3QvYXZpL2dzdGF2aS5jOgoJKiBnc3QvaXNvbXA0L2lzb21wNC1wbHVnaW4uYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcC5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW8uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJICBEb24ndCB1c2Ugc2V0bG9jYWxlIGluIHBsdWdpbnMoKQoJICBPbmx5IGFwcHMgc2hvdWxkIGNhbGwgc2V0bG9jYWxlKCksIG5vdCBsaWJyYXJpZXMuCgoyMDEzLTA4LTI5IDEzOjE1OjE1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSAgcnRwbXB2cGF5OiBGaXggUlRQIGJ1ZmZlciBhbGxvY2F0aW9uIGluIHJ0cG1wdnBheQoJICBSVFAgYnVmZmVyIGFsbG9jYXRpb24gc2hvdWxkIG5vdCBiZSBkb25lIHdpdGggcGFkZGluZyBmb3IgdGhlIHNwZWNpZmljIE1QRUcyCgkgIGhlYWRlciBhcyB0aGUgcGFkZGluZyBpcyBkb25lIGF0IHRoZSBlbmQgb2YgdGhlIGJ1ZmZlciBhbmQgdGhlIGxhc3QgYnl0ZSBpcwoJICB0aGUgc2l6ZSBvZiB0aGUgcGFkZGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjk3MAoKMjAxMy0wOC0yOCAxMDo1MTozMiArMDIwMCAgQmVybmhhcmQgTWlsbGVyIDxiZXJuaGFyZC5taWxsZXJAc3RyZWFtdW5saW1pdGVkLmNvbT4KCgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5oOgoJICBhdXRvdmlkZW9zaW5rOiBhZGQgc3luYyBwcm9wZXJ0eQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2OTU1CgoyMDEzLTA4LTI4IDA3OjE1OjAwICswMjAwICBCZXJuaGFyZCBNaWxsZXIgPGJlcm5oYXJkLm1pbGxlckBzdHJlYW11bmxpbWl0ZWQuY29tPgoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmg6CgkgIGF1dG9hdWRpb3Npbms6IGludHJvZHVjZSBzeW5jIHByb3BlcnR5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDY5NTUKCjIwMTMtMDgtMjcgMTc6MzM6NDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwdXNoIGJ1ZmZlcnMgYWZ0ZXIgc2VnbWVudCBzdG9wIHVudGlsIHJlYWNoaW5nIGEga2V5ZnJhbWUKCSAgVGhpcyBzaG91bGQgbWFrZSBkZWNvZGVycyBhYmxlIHRvIHByZWNpc2VseSBwdXNoIGJ1ZmZlcnMgdW50aWwgdGhlIHN0b3AKCSAgdGltZSBpbiBjYXNlIHRoZXkgbmVlZCB0aGUgbmV4dCBrZXlmcmFtZSB0byBkbyBpdC4KCSAgQWxzbywgYWNjb3JkaW5nIHRvIGdzdF9zZWdtZW50X2NsaXAsIGl0IHNob3VsZCBvbmx5IHB1c2ggYSBidWZmZXIgdGhhdAoJICB0aGUgc3RhcnRpbmcgdHMgaXMgc3RyaWN0bHkgc21hbGxlciB0aGFuIHRoZSBzZWdtZW50IHN0b3AsIHNvIHdlIGNoYW5nZQoJICB0aGUgbWluIDwgY29tcGFyaXNvbiBmb3IgPD0KCjIwMTMtMDgtMjggMTM6MjY6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS4xLjQgPT09CgoyMDEzLTA4LTI4IDEyOjUyOjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hb3JjLWRpc3QuYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMS40CgoyMDEzLTA4LTI4IDEyOjUyOjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTMtMDgtMjggMTI6MzI6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHBvL3B0X0JSLnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMy0wOC0yNyAxNToyNToxNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2EtbXV4OiByZW1vdmUgZnJhbWVyYXRlIHJlc3RyaWN0aW9uCgkgIFJlbW92ZSB0aGUgZnJhbWVyYXRlIHJlc3RyaWN0aW9uIG9uIHRoZSBjYXBzLgoKMjAxMy0wOC0yNyAwOTozODoxNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogb25seSB1cGRhdGUgbmV4dCBjaGVjayB0aW1lIHdoZW4gcmVjb25zaWRlcmluZwoJICBEb24ndCB1cGRhdGUgdGhlIG5leHQgUlRDUCBjaGVjayB0aW1lIGluIGFsbCBjYXNlcyBidXQgb25seSB3aGVuIHdlCgkgIHJlY29uc2lkZXJlZC4gVGhpcyBhdm9pZHMgZGVsYXlpbmcgc2VuZGluZyBhIGZ1bGwgUlRDUCBwYWNrZXQgd2hlbiB3ZQoJICBhcmUgZG9pbmcgZWFybHkgZmVlZGJhY2suCgoyMDEzLTA4LTI3IDA5OjM3OjMzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBhZGQgbW9yZSBkZWJ1ZwoKMjAxMy0wOC0yNyAwOTozNDo0NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIGppdHRlcmJ1ZmZlcjogZml4IHR5cGVzIG9mIHRoZSByZXRyYW5zbWlzc2lvbiBldmVudAoKMjAxMy0wOC0yNyAwOTozMzowMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IG9ubHkgdGltZW91dCBFWFBFQ1RFRCB0aW1lcnMgb24gZ2FwCgkgIE9ubHkgdGltZW91dCB0aGUgRVhQRUNURUQgdGltZXJzIHdoZW4gd2UgZGV0ZWN0IGEgbGFyZ2Ugc2VxbnVtIGdhcC4KCjIwMTMtMDgtMjYgMTM6NDc6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBEb24ndCBzZXQgQloyX0xJQlMgaWYgYnoyIGlzIG5vdCBmb3VuZAoKMjAxMy0wOC0yNiAxMTo1MDoyNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRzZXNzaW9uOiBmaXggbG9ja2luZwoJICBXZSBuZWVkIHRvIHRha2UgdGhlIHNlc3Npb24gbG9jayB3aGVuIGdldHRpbmcgYW5kIG1hbmlwdWxhdGluZyB0aGUKCSAgc291cmNlLgoKMjAxMy0wOC0yNiAxMTo1MDoxMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogYWRkIHNvbWUgbW9yZSBkZWJ1ZwoKMjAxMy0wOC0yMCAyMjoxMjowMyArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBlcGl0ZWNoLmV1PgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogZG9uJ3Qgc2VuZCBmbHVzaF9zdG9wIHR3aWNlLgoJICBJZiB3ZSBnZXQgZmx1c2ggc3RhcnQgYW5kIGEgc2VlayB3ZSBuZWVkIHRvIG9ubHkgc2VuZCBmbHVzaF9zdG9wIG9uY2UuCgkgIE1vcmUgaW5mbyBhdCAjNzA2NDQxCgoyMDEzLTA4LTIzIDE1OjU2OjQzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4Lmg6CgkgIG11bHRpcGFydGRlbXV4OiBwcm9wYWdhdGUgZGlzY29udAoKMjAxMy0wOC0yMyAxNTo0OTo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgbXVsdGlwYXJ0ZGVtdXg6IHJlbW92ZSBkeW5hbWljIHNvdXJjcGFkcyB3aGVuIGdvaW5nIGZyb20gUEFVU0VEIHRvIFJFQURZCgoyMDEzLTA4LTIzIDE1OjI5OjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4Lmg6CgkgIG11bHRpcGFydGRlbXV4OiB0aW1lc3RhbXAgb3V0cHV0IGJ1ZmZlcnMgYmFzZWQgb24gZmlyc3QgaW5wdXQgYnVmZmVyIHRoYXQgcHJvdmlkZWQgYnl0ZXMgbm90IGxhc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNzc1NAoKMjAxMy0wOC0yMyAxNTo0NzoyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHF1ZXVlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHF1ZXVlLmg6CgkgIHJ0eHF1ZXVlOiBhZGQgcHJvcGVydHkgdG8gY29uZmlndXJlIHF1ZXVlIHNpemUKCjIwMTMtMDgtMjMgMTI6MDc6NTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjQtcnR4LnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLVZUUy1IMjY0LXJ0eC5zaDoKCSAgdGVzdHM6IGFkZCByZXRyYW5zbWlzc2lvbiBleGFtcGxlCgoyMDEzLTA4LTIzIDExOjU1OjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBydHBiaW46IHByb3h5IGppdHRlcmJ1ZmZlciBkby1yZXRyYW5zbWlzc2lvbiBwcm9wZXJ0eQoKMjAxMy0wOC0yMyAxMToxNzo0NSArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IHVubWFwIHRoZSBjb3JyZWN0IGJ1ZmZlcgoJICBUaGUgYXVkaW8gYnVmZmVyIHdhcyBtYXBwZWQgc28gdW5tYXAgaXQgYW5kIG5vdCB0aGUgdmlkZW8gYnVmZmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDY2NDIKCjIwMTMtMDgtMTggMjM6MzI6MjIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSAgcHVsc2VzaW5rOiBBZGQgcHJvcGVydHkgdG8gZmluZCBvdXQgdGhlIGRldmljZSBjdXJyZW50bHkgaW4gdXNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTA3NjgKCjIwMTMtMDgtMTggMjM6MzE6MTUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogRGUtZHVwbGljYXRlIGNvZGUgdG8gZ2V0IHRoZSBjdXJyZW50IHNpbmsgaW5wdXQgaW5mbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTkwNzY4CgoyMDEzLTA4LTE4IDIyOjI3OjM3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEltcGxlbWVudCBjaGFuZ2luZyB0aGUgZGV2aWNlIHdoaWxlIHBsYXlpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5MDc2OAoKMjAxMy0wOC0xOCAyMzozMjoyMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuaDoKCSAgcHVsc2VzcmM6IEFkZCBwcm9wZXJ0eSB0byBmaW5kIG91dCB0aGUgZGV2aWNlIGN1cnJlbnRseSBpbiB1c2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5MDc2OAoKMjAxMy0wOC0xOCAyMzozMToxNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogRGUtZHVwbGljYXRlIGNvZGUgdG8gZ2V0IHRoZSBjdXJyZW50IHNvdXJjZSBvdXRwdXQgaW5mbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTkwNzY4CgoyMDEzLTA4LTE4IDIyOjI3OjM3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBJbXBsZW1lbnQgY2hhbmdpbmcgdGhlIGRldmljZSB3aGlsZSBwbGF5aW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTA3NjgKCjIwMTMtMDgtMjIgMTQ6NTU6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBGaXggYnoyIGNvbmZpZ3VyZSBjaGVjayBmb3IgV2luZG93cwoJICBEdWUgdG8gZnVuY3Rpb24gZGVjb3JhdGlvbnMgb24gV2luZG93cyBBQ19DSEVDS19MSUIgY2FuJ3QgYmUgdXNlZCB0byBjaGVjayBmb3IgYnoyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDY1OTI0CgoyMDEzLTAyLTIyIDIwOjU3OjAwICswOTAwICBBa2loaXJvIFRzdWthZGEgPGF0c3VrYWRhQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuaDoKCSAgcHVsc2VzaW5rOiBBZGQgc3VwcG9ydCBmb3IgQUFDIHBhc3MtdGhyb3VnaAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk0NDQ1CgoyMDEzLTA2LTI0IDE3OjI5OjM3ICswMjAwICBLaXNob3JlIEFyZXBhbGxpIDxraXNob3JlLmFyZXBhbGxpQGdtYWlsLmNvbT4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuYzoKCSAgZ2RrcGl4YnVmb3ZlcmxheTogY3Jhc2hlcyBpZiBhbnkgcHJvcGVydHkgY2hhbmdlcyBkdXJpbmcgcGxheWJhY2sgd2hlbiBsb2NhdGlvbiBwcm9wZXJ0eSBpcyBub3Qgc2V0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI5ODgKCjIwMTMtMDgtMjEgMTQ6NTQ6MjYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuaDoKCSAgcHVsc2U6IFNoYXJlIHN0YXRpYyBjYXBzIGRlZmluaXRpb24gYmV0d2VlbiBzcmMgYW5kIHNpbmsKCSAgVGhlIHNyYyB3YXMgYWxzbyBtaXNzaW5nIDI0LWJpdCBzYW1wbGUgZm9ybWF0cwoKMjAxMy0wOC0yMSAxNjo1Mzo1OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHF1ZXVlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHF1ZXVlLmg6CgkgIHJ0eDogdmFyaW91cyBpbXByb3ZlbWVudHMKCSAgVXNlIGxvY2tpbmcKCSAgRG9uJ3QgcHVzaCBmcm9tIHRoZSBldmVudCBoYW5kbGVyLCBjb2xsZWN0ZWQgcGFja2V0cyBpbiBhIHF1ZXVlIGFuZCBwdXNoIGZyb20KCSAgdGhlIGNoYWluIGZ1bmN0aW9uLgoJICBDbGVhciBxdWV1ZXMgb24gc2h1dGRvd24uCgoyMDEzLTA4LTIxIDE2OjUwOjU5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBnZW5lcmF0ZSBldmVudHMgY29ycmVjdGx5CgkgIERvIGNvcnJlY3Qgc2hpZnRpbmcgb2YgdGhlIGJpdG1hc2sgZm9yIGxvc3QgcGFja2V0cy4KCjIwMTMtMDgtMjEgMTY6NDc6NDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtYW5hZ2VyLmM6CgkgIHJ0cDogcmVnaXN0ZXIgcnR4IGVsZW1lbnQgYmV0dGVyCgoyMDEzLTA4LTIxIDE2OjMyOjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogV0FWRUZPUk1BVEVYIGlzIHVuc2lnbmVkIGZvciA4IGJpdCBpbnRlZ2VycywgYW5kIHNpZ25lZCBmb3Igb3RoZXJzCgkgIFByb2JhYmx5IGZpeGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU0NzcKCjIwMTMtMDgtMjEgMTM6MDM6MzQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IGRvbid0IGlnbm9yZSByZXR1cm4gdmFsdWUgZnJvbSBfZmluaXNoX2ZyYW1lKCkKCSAgZ3N0X3ZpZGVvX2VuY29kZXJfZmluaXNoX2ZyYW1lKCkgd2lsbCByZXR1cm4gRkxPV19PSyBoZXJlIGlmCgkgIHRoZXJlJ3Mgbm8gb3V0cHV0IGJ1ZmZlci4KCjIwMTMtMDgtMjEgMTI6NTY6MzUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJICBqcGVnZGVwYXk6IGFkZCBzb21lIG1vcmUgZGVidWcKCjIwMTMtMDgtMjEgMTI6MTA6MDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuaDoKCSAgcnRwZ3N0ZGVwYXk6IG9ubHkgcHVzaCBldmVudHMgd2hlbiB0aGV5IGNoYW5nZWQKCSAgS2VlcCB0cmFjayBvZiB0aGUgU1RSRUFNX1NUQVJUIGFuZCBUQUcgZXZlbnRzIGFuZCBvbmx5IHB1c2ggdGhlbQoJICB3aGVuIHRoZXkgY2hhbmdlZC4KCjIwMTMtMDgtMjEgMTA6NTI6NTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBydHBnc3RwYXk6IHRhZ2xpc3RzIHNob3VsZCBub3QgYmUgbWVyZ2VkIGluIDEuMAoKMjAxMy0wOC0yMSAxMDoyODo1MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSAgcnRwZ3N0ZGVwYXk6IGZsdXNoIG9uIEZMVVNIX1NUT1AgZXZlbnQKCjIwMTMtMDgtMjEgMTA6MDM6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBydHBnc3RwYXk6IHJlc2V0IG9uIHN0YXRlIGNoYW5nZQoJICBEbyBmdWxsIHJlc2V0IG9uIHN0YXRlIGNoYW5nZSB0byBSRUFEWQoKMjAxMy0wOC0yMSAwOTo1NToyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkgIHJ0cGdzdHBheTogcmVzZXQgb24gRkxVU0hfU1RPUAoJICBDbGVhciB0aGUgYWRhcHRlciBhbmQgcGVuZGluZyBidWZmZXIgbGlzdCBvbiBGTFVTSF9TVE9QLgoKMjAxMy0wOC0yMSAwOTozOTozMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkgIHJ0cGdzdHBheTogZG9uJ3QgdXNlIGNsb2NrIGZvciBjb25maWcgaW50ZXJ2YWwKCSAgV2UgY2FuJ3QgdXNlIHRoZSBjbG9jayB0byB0aW1lIG91ciBjb25maWctaW50ZXJ2YWwgYmVjYXVzZSB3ZSBhcmUgbm90CgkgIGxpdmUgKG9yIHRoZXJlIG1pZ2h0IG5vdCBiZSBhIGNsb2NrIG9yIHRoZSBjbG9jayBtaWdodCBub3QgYmUgcnVubmluZykuCgkgIEluc3RlYWQganVzdCBzaW1wbHkgdGFrZSB0aGUgdGltZXN0YW1wIGRpZmYuCgoyMDEzLTA4LTIxIDA5OjMzOjA0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuaDoKCSAgcnRwZ3N0YXk6IGRvbid0IHVzZSAvLyBjb21tZW50cwoKMjAxMy0wOC0wOCAxMTo1NToyMiAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogRml4IHJlc3BvbnNlIGFyZ3VtZW50IGluIGhhbmRsZS1yZXF1ZXN0IHNpZ25hbAoKMjAxMy0wOC0wOCAxMTo1NDo0MSAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBBZGQgc2RlcyBwcm9wZXJ0eSBhbmQgcHJveHkgaXQgdG8gcnRwYmluCgoyMDEzLTA4LTA3IDA5OjQ3OjM1IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuaDoKCSAgU2VuZCBhIHN0cmVhbS1zdGFydCB3aGVuZXZlciB3ZSBzZW5kIHRhZ3MgVGhpcyBpcyB0byBtYWtlIHN1cmUgdGFncyBhcmUgY2xlYXJlZCBvbiB0aGUgY2xpZW50IGlmIHRoZSBzdHJlYW0tc3RhcnQgd2FzIHByZXZpb3VzbHkgbG9zdCwgb3RoZXJ3aXNlLCB0aGUgY2xpZW50IG1heSBlbmQgdXAgd2l0aCBhIG1lcmdlZCB0YWdsaXN0IG9mIG11bHRpcGxlIHNvbmdzCgoyMDEzLTA3LTI1IDIxOjEyOjA1IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuaDoKCSAgcnRwZ3N0cGF5OiBBZGQgYSBjb25maWctaW50ZXJ2YWwgcHJvcGVydHkgdG8gcmVzZW5kIHRoZSBjYXBzL3RhZ3MgYXQgYSByZWd1bGFyIGludGVydmFsIFRoaXMgaXMgdXNlZnVsIGluIGNhc2UgdGhlIHBhY2tldCBjb250YWluaW5nIHRoZSBpbmxpbmVkIGNhcHMgd2FzIGxvc3Qgb3IgaWYgbmV3IGNsaWVudCBqb2lucyBhbiBhbHJlYWR5IHJ1bm5pbmcgUlRQIHN0cmVhbSBhbmQgdGhleSBtaXNzZWQgdGhlIHByZXZpb3VzIHRhZyBldmVudHMuIFRoaXMgYWxzbyBtYWtlcyB0aGUgcGF5bG9hZGVyIGtlZXAgYSBsaXN0IG9mIG1lcmdlZCB0YWdzIHNvIHRoZSByZXRyYW5zbWl0dGVkIHRhZyBldmVudCBjb250YWlucyBhbGwgcHJldmlvdXNseSByZWNlaXZlZC4gQSBTVFJFQU1fU1RBUlQgZXZlbnQgd2lsbCBmbHVzaCB0aGUgbGlzdCBvZiB0YWdzLgoKMjAxMy0wNy0yNSAyMToxMDoxMCAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkgIHJ0cGdzdHBheTogUmVmYWN0b3IgdGhlIHNldGNhcHMgYW5kIHVzZSBuZXcgbWV0aG9kIHRvIHNlbmQgYXJiaXRyYXJ5IGNhcHMgYXQgYW55IHRpbWUKCjIwMTMtMDctMjUgMjE6MDM6MzQgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBydHBnc3RwYXk6IERvIG5vdCBmbHVzaCBldmVudHMgZm9yIHN0cmVhbS1zdGFydCBhbmQgYXZvaWQgY29uZmxpY3QgYmV0d2VlbiBldmVudCBhbmQgcGVuZGluZyBpbmxpbmUgY2FwcwoKMjAxMy0wNy0yNSAyMDo1NDo1MCAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5Lmg6CgkgIHJ0cGdzdHBheTogQWRkIGEgY3JlYXRlX2Zyb21fYWRhcHRlciBBUEkgYW5kIHVzZSBhIGxpc3Qgb2YgR3N0QnVmZmVyTGlzdCBUaGlzIGlzIG5lY2Vzc2FyeSB0byBmaXggZXZlbnQvY2FwcyBzZW5kaW5nLiBJZiB3ZSBzZW5kIGEgU1RSRUFNX1NUQVJUIHBhY2tldCwgaXQgd2lsbCBjYXVzZSBhbiBlcnJvciBiZWNhdXNlIHRoZSBzdHJlYW0gZGlkbid0IHJlY2VpdmUgaXRzIGNhcHMgYW5kIG5ldy1zZWdtZW50IGV2ZW50cywgc28gd2UgbXVzdCB3YWl0IGZvciB0aGUgZmlyc3QgYnVmZmVyIGJlZm9yZSBzZW5kaW5nIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQgYnVmZmVyLiBIb3dldmVyLCB0aGUgY2FwcyB3aWxsIGJlIHNlbnQgYXQgdGhlIHNhbWUgdGltZSBhbmQgc28gdGhlICdpbmxpbmUgY2Fwcycgd2lsbCBiZSBzZXQgZm9yIHRoZSBldmVudC4gV2UgbmVlZCB0byBiZSBhYmxlIHRvIHBheWxvYWQgaW5kaXZpZHVhbCBwYWNrZXRzIChkYXRhLCBjYXBzIG9yIGV2ZW50cykgYW5kIG9ubHkgc2VuZCB0aGVtIHdoZW4gd2UgY2FsbCBmbHVzaC4KCjIwMTMtMDctMjUgMTc6NTY6MzggLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkgIHJ0cGdzdHBheTogQWRkIGV0eXBlPTQgZm9yIHBheWxvYWRpbmcgR1NUX0VWRU5UX1NUUkVBTV9TVEFSVAoKMjAxMy0wNy0yNSAxNzo1MjoxNiAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkgIHJ0cGdzdHBheTogRml4IHR5cG8sIEdTVF9FVkVOVF9DVVNUT01fQk9USCBoYXMgZXR5cGUgb2YgMwoKMjAxMy0wOC0yMCAxNDozNjo1OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGhhbmRsZSBFT1MKCSAgV2hlbiB0aGUgcXVldWUgaXMgZW1wdHksIGFuZCB3ZSByZWNlaXZlZCBFT1MsIHBhdXNlIGFuZCBwdXNoIGFuIEVPUwoJICBldmVudCBkb3duc3RyZWFtLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2Mzg3CgoyMDEzLTA4LTIwIDEwOjI2OjE1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogdXBkYXRlIGRvY3MKCjIwMTMtMDgtMjAgMTA6MjU6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiB1cGRhdGUgYWxsIHRpbWVycwoJICBLZWVwIGxvb3Bpbmcgb3ZlciBhbGwgcmVnaXN0ZXJlZCB0aW1lcnMgc28gdGhhdCB3ZSBjYW4gbWFyayB0aGVtIGxvc3QgaW5zdGVhZCBvZgoJICBzdG9wcGluZyBhcyBzb29uIGFzIHdlIGZpbmQgdGhlIHRpbWVyIGZvciB0aGUgY3VycmVudCBzZXFudW0uCgoyMDEzLTA4LTIwIDA4OjU1OjUwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZXMKCjIwMTMtMDgtMTkgMjE6MTA6MDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiByZW9yZ2FuaXplIHRpbWVyIGhhbmRsaW5nCgkgIFJlc3RydWN0dXJlIGhhbmRsaW5nIG9mIGluY29tbWluZyBwYWNrZXQgYW5kIHRoZSBnYXAgd2l0aCB0aGUgZXhwZWN0ZWQgc2VxbnVtCgkgIGFuZCByZWdpc3RlciBhbGwgdGltZXJzIGZyb20gdGhlIF9jaGFpbiBmdW5jdGlvbi4KCSAgQ29udmVydCBhIHRpbWVyIHRvIGEgTE9TVCBwYWNrZXQgdGltZXIgd2hlbiB0aGUgbWF4IGFtb3VudCBvZiByZXRyYW5zbWlzc2lvbgoJICByZXF1ZXN0cyBoYXMgYmVlbiByZWFjaGVkLgoKMjAxMy0wOC0xOSAyMTozNzo0NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHJlZmFjdG9yIHBhY2tldCBzcGFjaW5nIGNhbGN1bGF0aW9uCgoyMDEzLTA4LTE5IDIxOjM0OjM4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjoga2VlcCB0cmFjayBvZiBsYXN0IHNlcW51bSBhbmQgZHRzCgoyMDEzLTA4LTE5IDIxOjI5OjQ5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogc21hbGwgY2xlYW51cHMKCjIwMTMtMDgtMTkgMjE6MjE6MDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiByZXNldCByZXRyYW5zbWlzc2lvbiB0aW1lcnMgaW4gYWRkL3Jlc2NoZWR1bGUKCSAgUmVzZXQgdGhlIHJldHJhbnNtaXNzaW9uIHRpbWVycyB3aGVuIGFkZGluZyBhbmQgcmVzY2hlZHVsaW5nIGEgdGltZXIuCgoyMDEzLTA4LTE5IDIxOjEyOjEzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcmVuYW1lIHZhcmlhYmxlcyBmb3IgcGFja2V0IHNwYWNpbmcKCjIwMTMtMDgtMTkgMTQ6NTg6MDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiByZW1vdmUgbG9zdCB0aW1lciB3aGVuIHdlIGdldCB0aGUgcGFja2V0CgkgIFdoZW4gd2UgcmVjZWl2ZSBhIHBhY2tldCwgYWxzbyByZW1vdmUgdGhlIExPU1QgdGltZXIgZm9yIGl0LgoKMjAxMy0wOC0xOSAxNDo1Njo0OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGV4cGVjdGVkIHNlcW51bSBtdXN0IGluY3JlYXNlCgkgIE9ubHkgdXBkYXRlIHRoZSBleHBlY3RlZCBzZXFudW0gd2hlbiBpdCBpcyBiaWdnZXIgdGhhbiB0aGUgcHJldmlvdXMgZXhwZWN0ZWQKCSAgc2VxbnVtLgoKMjAxMy0wOC0xOSAxNDo1NTo0OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGFkZCBtb3JlIGRlYnVnCgoyMDEzLTA4LTEyIDE2OjE1OjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG1hbmFnZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cXVldWUuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cXVldWUuaDoKCSAgcnR4cXVldWU6IGFkZCByZXRyYW5zbWlzc2lvbiBxdWV1ZSBlbGVtZW50CgoyMDEzLTA4LTEyIDE0OjUzOjMzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBhZGQgc29tZSBkb2NzCgoyMDEzLTA4LTA2IDE2OjI5OjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgc2Vzc2lvbjogaGFuZGxlIE5BQ0sgZmVlZGJhY2sgYW5kIGdlbmVyYXRlIGV2ZW50cwoJICBIYW5kbGUgYW5kIHBhcnNlIHRoZSBmZWVkYmFjayBOQUNLIHBhY2tldHMgYW5kIGdlbmVyYXRlIGEgUmV0cmFuc21pc3Npb24KCSAgZXZlbnQgZm9yIGVhY2ggTkFDS2VkIHBhY2tldAoKMjAxMy0wOC0xOSAxMzoxOTo0MiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogQWRkIGZvcndhcmQgZGVjbGFyYXRpb24gZm9yIGdzdF92NGwyX29iamVjdF9nZXRfZm9ybWF0X2xpc3QKCjIwMTItMTAtMjIgMTc6NTg6MDcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgIHY0bDI6IERlLWR1cGxpY2F0ZSBjYXBzIHByb2JpbmcgYmV0d2VlbiBzcmMgYW5kIHNpbmsKCjIwMTMtMDgtMTMgMTc6MzI6MTcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcHVsc2UvTWFrZWZpbGUuYW06CgkqIGV4dC9wdWxzZS9wdWxzZXByb2JlLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXByb2JlLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmg6CgkgIHB1bHNlOiBSZW1vdmUgdW51c2VkIEdzdFB1bHNlUHJvYmUKCjIwMTMtMDgtMTkgMTI6NDY6NDUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzoKCSogc3lzL3Y0bDIvdHVuZXIuYzoKCSogc3lzL3Y0bDIvdHVuZXJjaGFubmVsLmM6CgkqIHN5cy92NGwyL3R1bmVybm9ybS5jOgoJICB2NGwyOiBVc2UgR19ERUZJTkVfIG1hY3JvcyBmb3IgYWRkZWQgdGhyZWFkIHNhZmV0eQoKMjAxMy0wOC0xNyAxMToyODoxMyArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuaDoKCSAgdmlkZW9taXhlcjogRG8gbm90IHNlbmQgZmx1c2hfc3RvcCBvdXJzZWxmIGFmdGVyIGEgZmx1c2hfc3RhcnQKCSAgV2hlbiB3ZSByZWNlaXZlIGEgZmx1c2hfc3RhcnQsIHdlIHNob3VsZCB3YWl0IGZvciB0aGUgbmV4dCBmbHVzaF9zdG9wCgkgIGFuZCBmb3dhcmQgaXQsIG5vdCBjcmVhdGUgYSBmbHVzaF9zdG9wIG91cnNlbGYuCgoyMDEzLTA4LTE2IDE3OjEwOjMxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgaDI2NGRlcGF5OiBpbml0IGRlYnVnIGNhdGVnb3J5IGVhcmx5CgkgIEluaXQgdGhlIGRlYnVnIHZhcmlhYmxlIHdoZW4gd2UgcmVnaXN0ZXIgdGhlIGVsZW1lbnQgYmVjYXVzZSBpdCBpcyBhbHNvIHVzZWQgYnkKCSAgdGhlIHBheWxvYWRlciBlbGVtZW50IHdoZW4gaXQgY2FsbHMgdGhlIGFkZF9zcHNfcHBzIG1ldGhvZC4KCjIwMTMtMDgtMTYgMTM6MjY6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogUHJvcGVybHkgc2V0IGhlYWRlcnMgdmlhIHRoZSBiYXNlIGNsYXNzIGluc3RlYWQgb2YganVzdCBwdXNoaW5nIHRoZW0gZG93bnN0cmVhbQoJICBQcmV2ZW50cyBidWZmZXJzIGZyb20gYmVpbmcgc2VuZCBiZWZvcmUgdGhlIGNhcHMgYW5kIHNlZ21lbnQgZXZlbnRzLgoKMjAxMy0wOC0xNSAxMDo1OToxMCArMDEwMCAgQ2hyaXMgQmFzcyA8Zmxvb2JsZWZsYW1AZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGNoZWNrIGRlbm9taW5hdG9yIGlzbid0IHplcm8gYmVmb3JlIHNjYWxpbmcgZHVyYXRpb24uCgkgIFdoZW4gZ3N0X3F0ZGVtdXhfY29uZmlndXJlX3N0cmVhbSBzZXRzIGZwc19kLCBjaGVjayB0aGF0IG5fc2FtcGxlcyBpcwoJICBub24temVybyBiZWZvcmUgdXNpbmcgaXQgYXMgYSBkZW5vbWluYXRvciB0byBzY2FsZSB0aGUgc3RyZWFtIGR1cmF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2MDc2CgoyMDEzLTA4LTE1IDE1OjA4OjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZweC9nc3R2cDlkZWMuYzoKCSAgZXh0OiBVc2UgbmV3IGZsdXNoIHZmdW5jIG9mIHZpZGVvIGNvZGVjIGJhc2UgY2xhc3NlcyBhbmQgcmVtb3ZlIHJlc2V0IGltcGxlbWVudGF0aW9ucwoKMjAxMy0wOC0xNCAxNjoxOTozMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGZvcndhcmQgZmx1c2ggYmVmb3JlIHN0b3BwaW5nIGRhdGFmbG93CgkgIEZpcnN0IGZvcndhcmQgdGhlIGZsdXNoIGV2ZW50IGFuZCB0aGVuIHN0b3Agb3VyIGxvb3AgZnVuY3Rpb24uCgoyMDEzLTA4LTE0IDEzOjEwOjMyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHJlcXVpcmUgbGlic291cCA+PSAyLjM4CgkgIEJ1bXAgbGlic291cCByZXF1aXJlbWVudCBmb3IgbmV3ZXIgQVBJIHVzZWQsIGxpa2UgaGVhZGVyc19nZXRfb25lKCkuCgkgIDIuMzggaXMgZnJvbSBlYXJseSAyMDEyIGFuZCBpcyBpbiBsaW5lbiB3aXRoIG91ciBHTGliIHJlcXVpcmVtZW50LgoKMjAxMy0wOC0xNCAxMTo1NDoxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXA6IGRvbid0IHVzZSBkZXByZWNhdGVkIHNvdXBfbWVzc2FnZV9oZWFkZXJzX2dldCgpIEFQSQoKMjAxMy0wOC0xMyAxNzo0NDo1MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiAuZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBJZ25vcmUgZmlsZXMgZnJvbSBhdXRvbWFrZSB0ZXN0LWRyaXZlcgoKMjAxMy0wOC0xMiAxNToyODozNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuaDoKCSAgcnRwaDI2NHBheTogVXNlIHRoZSBTUFMvUFBTIGhhbmRsaW5nIGZ1bmN0aW9uIGZyb20gdGhlIGRlcGF5bG9hZGVyCgkgIFJlbW92ZSBkdXBsaWNhdGVkIGNvcGllcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1NTUzCgoyMDEzLTA4LTEyIDE1OjI2OjA4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuaDoKCSAgcnRwaDI2NGRlcGF5OiBNYWtlIHRoZSBTUFMvUFBTIGRlZHVwbGljYXRpb24gZnVuY3Rpb24gZ2VuZXJpYwoJICBNYWtlIGl0IG5vdCB0b3VjaCBhbnkgaW50ZXJuYWxzIG9mIHRoZSBkZXBheWxvYWRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1NTUzCgoyMDEzLTA4LTEzIDE0OjA5OjIwICswMTAwICBDaHJpcyBCYXNzIDxmbG9vYmxlZmxhbUBnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBhbGxvdyBjb252ZXJzaW9uIGZyb20gcmF3IEFBQyB0byBBRFRTCgkgIFRoaXMgcGF0Y2ggd2lsbCBwcmVwZW5kIEFEVFMgaGVhZGVycyB0byByYXcgQUFDIGF1ZGlvIGZyYW1lcywgYWxsb3dpbmcKCSAgdXBzdHJlYW0gZWxlbWVudHMgdG8gbGluayB0byBkZWNvZGVycyB0aGF0IG9ubHkgc3VwcG9ydCBBQUMgaW4gQURUUyBmb3JtYXQuCgkgIE5vdGUgdGhhdCBubyBlcnJvciBjb3JyZWN0aW9uIGJpdHMgYXJlIGFkZGVkIHRvIEFEVFMgZnJhbWVzIGluIHRoaXMgY29kZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxNTc0MAoKMjAxMy0wOC0xMyAxMjo0NDoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBPbmx5IGZyZWUgR0NoZWNrU3VtIGFmdGVyIGl0cyBsYXN0IHVzYWdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU3NjAKCjIwMTMtMDgtMTMgMTI6MDI6MjkgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogZml4IGNyaXRpY2FsIHNldHRpbmcgYSBOVUxMIHVyaSByZWRpcmVjdGlvbgoKMjAxMy0wNy0xMyAwMTo1MDo1NiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIHNvdXBodHRwc3JjOiBhZGQgcmVkaXJlY3Rpb24gdG8gdGhlIFVSSSBxdWVyeQoKMjAxMy0wNy0zMSAxMDo0MjowNyArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBlbHN0IHNob3VsZCBvZmZzZXQgc2FtcGxlcyBpbnN0ZWFkIG9mIGJ1ZmZlcnMKCSAgVGhlIGN1cnJlbnQgYXBwcm9hY2ggd2hlcmUgYnVmZmVycyBhcmUgb2Zmc2V0IGlzIG5vdCBpZGVhbCwgYXMgZHVyaW5nIHNlZWsKCSAgYW5kIGxvb3AgY3VycmVudCB0aW1lIGlzIGNvbXBhcmVkIHRvIHNhbXBsZSB0aW1lcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDI2NAoKMjAxMy0wOC0wNyAxOTozMjowNyArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBTZW5kIEVPUyBpZiBidWZfZW5kID49IHNlZ21lbnQuc3RvcAoJICBUaGF0IG1lYW5zIHRoZSB3aG9sZSBzZWdtZW50IGlzIGFscmVhZHkgcGxheWVkLCBhbmQgd2UgYXJlIHN1cmUgd2UKCSAgYXJlIEVPUyBhdCB0aGF0IHBvaW50LgoJICBBbHNvIGhhbmRsZSBzZWdtZW50IHNlZWtzLCBhbmQgZG8gbm90IHNlbmQgRU9TIGluIHRoYXQgY2FzZS4KCjIwMTMtMDgtMDQgMTQ6NDA6MzggKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBzZW5kIHByb3BlciBzdHJlYW1fc3RhcnQgZXZlbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvL3Nob3dfYnVnLmNnaT9pZD03MDU0NDkKCjIwMTMtMDgtMDggMTE6NTE6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IERvbid0IHByaW50IHdhcm5pbmdzIGR1cmluZyBmbHVzaGluZyBhbmQgc3RvcCBhcyBzb29uIGFzIHBvc3NpYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLy9zaG93X2J1Zy5jZ2k/aWQ9NzA1NDQyCgoyMDEzLTA4LTA3IDExOjE0OjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3J0cC9nc3RydHB2cDhkZXBheS5jOgoJICBydHB2cDhkZXBheTogbWFyayBrZXkgZnJhbWVzIGFuZCBkZWx0YSBmcmFtZXMgcHJvcGVybHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTU1MAoKMjAxMy0wOC0wNSAyMzoyMzo1NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogYWRkIE5BQ0sgZmVlZGJhY2sgaW4gUlRDUAoKMjAxMy0wOC0wNSAyMzoyMjoxNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgc291cmNlOiBhZGQgbWV0aG9kcyB0byByZWdpc3RlciBOQUNLCgkgIEFkZCBhIG1ldGhvZCB0byByZWdpc3RlciBhIG1pc3NpbmcgcGFja2V0IGZvciBhbiBzc3JjIGFsb25nIHdpdGgKCSAgbWV0aG9kcyB0byBnZXQgdGhlIG1pc3NpbmcgcGFja2V0cyBhbmQgY2xlYXIgdGhlbS4KCjIwMTMtMDgtMDQgMjM6MDU6MzYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBzZXNzaW9uOiBoYW5kbGUgUmV0cmFuc21pc3Npb24gZXZlbnQgYW5kIHNjaGVkdWxlIE5BQ0sKCSAgSGFuZGxlIHRoZSByZXRyYW5zbWlzc2lvbiBldmVudCBmcm9tIGRvd25zdHJlYW0gYW5kIHVzZSBpdCB0byBzY2hlZHVsZSBhIE5BQ0sKCSAgcmVxdWVzdC4KCjIwMTMtMDgtMDUgMjM6MjA6MjkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IHBhc3MgZGF0YSB0byByZW1vdmUgZnVuYwoJICBQYXNzIHRoZSBkYXRhIHRvIHRoZSByZW1vdmUgZnVuY3Rpb24gYmVjYXVzZSB3ZSBhcmUgZ29pbmcgdG8gZGVyZWYgaXQgd2hlbiB0aGVyZQoJICBpcyBwbGkgb3IgZmlyLgoKMjAxMy0wOC0wNiAxNToyODo1MCArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCBjb21waWxhdGlvbgoKMjAxMy0wOC0wNiAxNToxNzo0NCArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFJhdyBidWZmZXIgRFRTIHNob3VsZCBhbHdheXMgYmUgQ0xPQ0tfVElNRV9OT05FCgoyMDEzLTA4LTA2IDExOjU4OjM4ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBNYWtlIHN1cmUgdG8gc2VuZCBFT1MgaWYgdGhlIGJ1ZmZlciBlbmQgdGltZSBlcXVhbHMgdGhlIHNlZ21lbnQgZW5kIHRpbWUKCSAgT3RoZXJ3aXplIEVPUyBuZXZlciBnZXRzIHNlbnQgaW4gdGhhdCBwYXJ0aWN1bGFyIGNhc2UuCgoyMDEzLTA4LTA1IDA4OjQ5OjUwICswMjAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgZ29vbTogRW5zdXJlIHNyYyBjYXBzIGFyZSB3cml0YWJsZQoJICBJbiBzb21lIGNhc2VzIHRoZSBzcmMgY2FwcyBkZXRlcm1pbmVkIGJ5IGdvb20gd2VyZW4ndCB3cml0YWJsZSwgY2F1c2luZwoJICBhIGJ1bmNoIG9mIGFzc2VydGlvbiBmYWlsdXJlcyBhbmQgZmFpbGVkIGNhcHMuIEZpeGVkIGJ5IGFsd2F5cwoJICBleHBsaWNpdGVseSBtYWtpbmcgdGhlIGNhcHMgd3JpdGFibGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTQ3NQoKMjAxMy0wOC0wNCAyMzoxODoyOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHNlc3Npb246IHVzZSBjb21tb24gc2VuZF9ydGNwIG1ldGhvZAoJICBSZXVzZSB0aGUgc2VuZF9ydGNwIG1ldGhvZCB0aGF0IGFscmVhZHkgYXNrcyBmb3IgdGhlIGN1cnJlbnQgdGltZSB3aGVuCgkgIHJlcXVlc3RpbmcgYSBrZXlmcmFtZS4KCjIwMTMtMDgtMDQgMjM6MTI6NTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgc2Vzc2lvbjogRG9uJ3QgdXNlIENsb2NrVGltZURpZmYgZm9yIHVuc2lnbmVkIGRlbGF5cwoKMjAxMy0wOC0wNCAxNjo1MjoxNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBVc2UgYnVmZmVyIFBUUyBpZiBEVFMgaXMgbm90IHNldAoJICBBdm9pZHMgZW5kaW5nIHVwIHdpdGggY29tcGxldGVseSBib2d1cyBzY2FsZWQgZHVyYXRpb24vcHRzIHdoZW4gbmV3CgkgIGJ1ZmZlcnMgaGF2ZSBpbnZhbGlkIERUUy4KCjIwMTMtMDgtMDQgMTQ6MzI6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICB0ZXN0czogc2tpcCBodHRwcyB0ZXN0IGlmIHRoZXJlJ3Mgbm8gVExTIHN1cHBvcnQgaW4gc291cC9nbGliCgoyMDEzLTA4LTA0IDExOjIwOjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkgIHJ0cGRlYzogdXNlIGdlbmVyaWMgbWFyc2hhbGxlcgoKMjAxMy0wOC0wNCAxMDo1MjozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIE1ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi8uZ2l0aWdub3JlOgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMi1tYXJzaGFsLmxpc3Q6CgkqIHN5cy92NGwyL3R1bmVyLW1hcnNoYWwubGlzdDoKCSogc3lzL3Y0bDIvdHVuZXIuYzoKCSogc3lzL3Y0bDIvdHVuZXIuaDoKCSogd2luMzIvTUFOSUZFU1Q6CgkqIHdpbjMyL2NvbW1vbi90dW5lci1lbnVtdHlwZXMuYzoKCSogd2luMzIvY29tbW9uL3R1bmVyLWVudW10eXBlcy5oOgoJKiB3aW4zMi9jb21tb24vdHVuZXItbWFyc2hhbC5jOgoJKiB3aW4zMi9jb21tb24vdHVuZXItbWFyc2hhbC5oOgoJICB2NGwyOiByZW1vdmUgdW51c2VkIGVudW10eXBlcyBhbmQgdXNlIGdlbmVyaWMgbWFyc2hhbGxlcgoKMjAxMy0wOC0wNCAxMDo0NzozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIE1ha2VmaWxlLmFtOgoJKiBnc3QvdWRwLy5naXRpZ25vcmU6CgkqIHdpbjMyL2NvbW1vbi9nc3R1ZHAtZW51bXR5cGVzLmM6CgkqIHdpbjMyL2NvbW1vbi9nc3R1ZHAtZW51bXR5cGVzLmg6CgkqIHdpbjMyL2NvbW1vbi9nc3R1ZHAtbWFyc2hhbC5jOgoJKiB3aW4zMi9jb21tb24vZ3N0dWRwLW1hcnNoYWwuaDoKCSAgdWRwOiByZW1vdmUgdW51c2VkIG1hcnNoYWwgYW5kIGVudW10eXBlcyBmaWxlcwoKMjAxMy0wOC0wNCAwOTozODoxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIE1ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbWFuYWdlci8uZ2l0aWdub3JlOgoJKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogd2luMzIvTUFOSUZFU1Q6CgkqIHdpbjMyL2NvbW1vbi9nc3RydHBiaW4tbWFyc2hhbC5jOgoJKiB3aW4zMi9jb21tb24vZ3N0cnRwYmluLW1hcnNoYWwuaDoKCSAgcnRwbWFuYWdlcjogdXNlIGdlbmVyaWMgbWFyc2hhbGxlcgoKMjAxMy0wOC0wNCAwMDoxMzowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHNlbmQgZXZlbnQgaW4gcmlnaHQgZGlyZWN0aW9uCgoyMDEzLTA4LTAyIDE3OjM4OjM0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBjcmVhdGUvcmVtb3ZlIG9yYyBkaXJlY3RvcnkgYXQgcHJvcGVyIHRpbWUKCSAgQmVmb3JlIGF1dG9tYWtlIGNyZWF0ZXMgLmRlcHMgZGlyZWN0b3JpZXMsIGFuZCBkdXJpbmcgZGlzdGNsZWFuLgoKMjAxMy0wOC0wMyAwMDoyNTo0NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogYWRkIEZJUiBhbmQgUExJIGxpa2Ugb3RoZXIgUlRDUCBwYWNrZXRzCgkgIEFkZCB0aGUgRklSIGFuZCBQTEkgcGFja2V0cyBsaWtlIHRoZSBvdGhlciBSVENQIHBhY2tldCBpbnN0ZWFkIG9mIGZyb20gdGhlCgkgIG9uLXNlbmRpbmctcnRjcCBkZWZhdWx0IHNpZ25hbCBoYW5kbGVyLgoKMjAxMy0wOC0wMiAxNzoyMjo1NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGZpeCBwcm9wZXJ0eSByYW5nZXMKCjIwMTMtMDgtMDIgMTY6NDI6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBwdXNoIHJldHJhbnNtaXNzaW9uIGV2ZW50cwoKMjAxMy0wOC0wMiAxNDoxMjoxNiArMDIwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3pAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBidWlsZDogYWRkIHN1YmRpci1vYmplY3RzIHRvIEFNX0lOSVRfQVVUT01BS0UKCSAgRml4ZXMgd2FybmluZ3Mgd2l0aCBhdXRvbWFrZSAxLjE0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDUzNTAKCjIwMTMtMDgtMDIgMTQ6NTQ6NTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBhZGQgc3VwcG9ydCBmb3IgcmV0cmFuc21pc3Npb24gcmV0cnkKCSAgV2hlbiB3ZSBkaWRuJ3QgcmVjZWl2ZSBhIHBhY2tldCBhZnRlciByZXF1ZXN0aW5nIHJldHJhbnNtaXNzaW9uLCByZXRyeQoJICBhc2tpbmcgZm9yIHJldHJhbnNtaXNzaW9uIGZvciBhIGNlcnRhaW4gcGVyaW9kLgoKMjAxMy0wOC0wMiAxNDoxOTo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGFkZCBwcm9wZXJ0aWVzCgkgIEFkZCBwcm9wZXJ0aWVzIHRvIGNvbnRyb2wgcmV0cmFuc21pc3Npb24gcGFyYW1ldGVycwoKMjAxMy0wOC0wMiAxMjo0NDo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHVzZSBjb3JyZWN0ZWQgdGltZW91dCB3aGVuIHJlc2NoZWR1bGluZwoJICBXaGVuIHdlIHJlY2FsY3VsYXRlIHRoZSB0aW1lb3V0LCB1c2UgdGhlIGNvcnJlY3RlZCB0aW1lb3V0IHZhbHVlIGRlcGVuZGluZyBvbgoJICB0aGUgdGltZXIgdHlwZS4KCjIwMTMtMDgtMDIgMTI6NDM6MDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiB1cGRhdGUgdGltZXJzIGFmdGVyIHF1ZXVlaW5nCgkgIEVsc2Ugd2UgbWlnaHQgdXBkYXRlIHRoZSB0aW1lciBuZWVkbGVzc2x5IGZvciBkdXBsaWNhdGVzLgoKMjAxMy0wOC0wMiAxMjo0MjowOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IG1vdmUgbWV0aG9kIHVwCgoyMDEzLTA4LTAyIDA2OjI4OjMyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogc21hbGwgY2xlYW51cAoKMjAxMy0wOC0wMSAyMzoyNjowNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHVuc2NoZWR1bGUgb2xkIGV4cGVjdGVkIHBhY2tldHMKCSAgV2hlbiB3ZSByZWNlaXZlIGEgbmV3IHBhY2tldCwgdW5zY2hlZHVsZSBvbGQgb3V0c3RhbmRpbmcgcGFja2V0cyB3aGVuIHRoZWlyCgkgIHNlcW51bSBpcyB0b28gZmFyIGF3YXkuCgoyMDEzLTA4LTAxIDIzOjI5OjIzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcmVmYWN0b3IgdGltZXIgdXBkYXRlCgoyMDEzLTA4LTAxIDIzOjI0OjI5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogdXBkYXRlIHRpbWVycyB3aGVuIHJlbW92aW5nCgkgIFVwZGF0ZSB0aGUgdGltZXJzIHdoZW4gd2UgcmVtb3ZlIGEgdGltZXIuCgkgIEhhbmRsZSBjYW5jZWxlZCB0aW1lcnMsIG1ha2UgdGhlbSB1bnNjaGVkdWxlIHRoZSBjdXJyZW50IHRpbWVyIGFuZAoJICB0cmlnZ2VyIHRoZSB0aW1lb3V0IGNvZGUuCgoyMDEzLTA4LTAxIDIzOjIyOjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogZml4IHR5cG8KCjIwMTMtMDgtMDEgMTU6NDA6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBpbXByb3ZlIHRpbWVvdXQgbWFuYWdlbWVudAoJICBJZiB3ZSBjaGFuZ2UgdGhlIHNlcW51bSBvZiBhbiBleGlzdGluZyB0aW1lciBhbmQgd2Ugd2VyZSB3YWl0aW5nIGZvcgoJICB0aGF0IHRpbWVyLCB1bnNjaGVkdWxlIGl0LiBJZiB3ZSBjaGFuZ2UgdGhlIHRpbWVvdXQgb2YgYW4gZXhpc3RpbmcgdGltZXIgYW5kIHdlCgkgIHdlcmUgd2FpdGluZyBvbiBpdCwgb25seSB1bnNjaGVkdWxlIHdoZW4gdGhlIG5ldyB0aW1lIGlzIHNtYWxsZXIuCgoyMDEzLTA4LTAxIDE1OjA1OjM1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogaW5zdGFsbCB0aW1lciBmb3IgZXhwZWN0ZWQgYXJyaXZhbAoJICBJbnN0YWxsIGEgdGltZXIgdGhhdCBpcyB0cmlnZ2VyZWQgd2hlbiB0aGUgZXhwZWN0ZWQgYXJyaXZhbCB0aW1lIG9mIGEgcGFja2V0CgkgIGV4cGlyZWQuCgoyMDEzLTA4LTAxIDE0OjU2OjAwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogaW1wcm92ZSB1bnNjaGVkdWxlIG9mIHRpbWVycwoJICBDb25mbGljdHM6CgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jCgoyMDEzLTA4LTAxIDEyOjIxOjUzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogbW92ZSBjb2RlIGFyb3VuZAoKMjAxMy0wOC0wMSAxMjowNzoxMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGVzdGltYXRlIGludGVyIHBhY2tldCBzcGFjaW5nCgkgIFdoZW4gd2Ugc2VlIHR3byBwYWNrZXRzIHdpdGggY29uc2VjdXRpdmUgc2VxbnVtcyBhbmQgYSBkaWZmZXJlbnQgUlRQIHRpbWUsIHVzZQoJICB0aGUgRFRTIGRpZmZlcmVuY2UgYXMgdGhlIGludGVyIHBhY2tldCBzcGFjaW5nIGVzdGltYXRlLgoKMjAxMy0wOC0wMSAxMjowMToxNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGtlZXAgdHJhY2sgb2YgY3VycmVudCB0aW1lb3V0CgoyMDEzLTA4LTAxIDExOjQ5OjEwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogY2xlYW51cCB0aW1lciBoYW5kbGluZwoKMjAxMy0wOC0wMSAxMTo0MDo0MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHJlc2V0IGlzIG9ubHkgcG9zc2libGUgd2l0aCBhIEdBUAoKMjAxMy0wOC0wMSAxMToyOTozMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBvcGVyYXRlIG9uIERUUwoJICBNYWtlIHRoZSBqaXR0ZXJidWZmZXIgc2NoZWR1bGUgdGhlIHRpbWVvdXRzIGJhc2VkIG9uIHRoZSBEVFMgaW5zdGVhZAoJICBvZiB0aGUgUFRTLiBUaGlzIG1ha2VzIGl0IGFsbCBzbW9vdGhlciB3aXRoIHJlb3JkZXJlZCBmcmFtZXMgYW5kIGdpdmVzCgkgIHRoZSBkZWNvZGVyIHRpbWUgdG8gcmVvcmRlciB0aGUgZnJhbWVzIGluIHRpbWUuCgoyMDEzLTA4LTAxIDExOjE0OjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcmVuYW1lIHRpbW91dCB2YXJpYWJsZQoKMjAxMy0wNy0zMSAxNzowODo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHNtYWxsIGNsZWFudXAKCjIwMTMtMDctMzEgMTY6NTk6NTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBibG9jayBvdXRwdXQgaW4gcGF1c2VkIG9yIGJ1ZmZlcmluZwoKMjAxMy0wNy0zMSAxNjo1OTowOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHN0b3JlIHB0cyBpbiB0aW1lcgoJICBPbmx5IHN0b3JlIHRoZSBwdHMgaW4gdGhlIHRpbWVyIHNvIHRoYXQgd2UgY2FuIGJvdGggZG8gdGltZW91dHMgd2l0aCB0aW1pbmdzIG9uCgkgIHRoZSBpbnB1dCBhbmQgb3V0cHV0IG9mIHRoZSBqaXR0ZXJidWZmZXIuCgoyMDEzLTA3LTMwIDIzOjE0OjI0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogcmVmYWN0b3Igaml0dGVyYnVmZmVyCgkgIFJlZmFjdG9yIHRoZSBqaXR0ZXJidWZmZXIgY29kZS4gTWFrZSBzZXBhcmF0ZSBmdW5jdGlvbiBmb3IgcGVla2luZyBhIGJ1ZmZlciwKCSAgcHVzaGluZyB0aGUgbmV4dCBidWZmZXIsIHdhaXRpbmcgZm9yIHRpbWVvdXRzIGFuZCBoYW5kbGluZyB0aGUgdGltZW91dHMuCgkgIFRoZSBtYWluIGxvb3Agbm93IHRyaWVzIHRvIHB1c2ggYXMgbWFueSBidWZmZXJzIGFzIGl0IGNhbiB1bnRpbCBpdCBydW5zIG91dCBvZgoJICBidWZmZXJzIG9yIHdoZW4gaXQgZGV0ZWN0cyBhIHNlcW51bSBkaXNjb250LiBUaGVuIGl0IHdpbGwgd2FpdCBmb3Igc29tZSBldmVudCB0bwoJICBoYXBwZW4gYmVmb3JlIGF0dGVtcHRpbmcgdG8gcHVzaCBtb3JlIGJ1ZmZlcnMuCgkgIE1ha2UgbWV0aG9kcyB0byByZWdpc3RlciB0aW1lb3V0cyBpbiBhbiBhcnJheS4gVGhlc2UgdGltZW91dHMgYXJlIHJlZ2lzdGVyZWQKCSAgd2hlbiB3ZSBkZXRlY3QgYSBtaXNzaW5nIHBhY2tldCwgc3luYyBmb3IgdGhlIGZpcnN0IHBhY2tldCBvciB3aGVuIHdlIGZpbmQgYW4KCSAgZXN0aW1hdGlvbiBmb3IgdGhlIGVuZC1vZi1zdHJlYW0uCgkgIFRoaXMgZ3JlYXRseSBzaW1wbGlmaWVzIGFuZCBjbGFyaWZpZXMgdGhlIGNvZGUgYW5kIGFsc28gbWFrZXMgaXQgcG9zc2libGUgdG8KCSAgcmVnaXN0ZXIgbW9yZSBjb21wbGljYXRlZCB0aW1lb3V0IHNjaGVtZXMgbGF0ZXIuCgoyMDEzLTA3LTMwIDE4OjUyOjU4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogdXNlIE5VTEwgdG8gaWdub3JlIHBlcmNlbnQKCSAgSWYgd2UgcGFzcyBOVUxMIHRvIHBvcCBhbmQgcHVzaCB3ZSBpZ25vcmUgdGhlIHBlcmNlbnQgcmVzdWx0LgoKMjAxMy0wNy0zMCAwNzowMDoxOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHJlZmFjdG9yCgkgIE1vdmUgZW9zIGVzdGltYXRpb24gaW50byBzZXBhcmF0ZSBmdW5jdGlvbgoKMjAxMy0wNy0zMCAxNDoyODoxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IGRvbid0IGxlYWsgc3RyZWFtX2lkIHN0cmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1MTQyCgoyMDEzLTA3LTI5IDE5OjUzOjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogcG8vTElOR1VBUzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vamEucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vcGwucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zbC5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDEzLTA3LTI5IDE5OjQ4OjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgdGVzdHM6IGlnbm9yZSBuZXcgdGVzdCBiaW5hcmllcwoKMjAxMy0wNy0yOSAxNDo0Nzo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjEuMyA9PT0KCjIwMTMtMDctMjkgMTM6NDI6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjEuMwoKMjAxMy0wNy0yOSAxMzo0MjowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTMtMDctMjkgMTI6MTI6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIGdzdDogRG9uJ3Qgc3dhcCBzdGFydC9zdG9wIGZvciBuZWdhdGl2ZSByYXRlcyBpbiB0aGUgU0VHTUVOVCBxdWVyeQoKMjAxMy0wNy0yOSAxMToxODo0MCArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBDaGVjayBmb3IgZGF0YSBzaXplIHdoZW4gcGFyc2luZyBoMjY0IGNvZGVjIGRhdGEgZnJvbSBzdHJmIGF0b20KCjIwMTMtMDctMjkgMTA6NTM6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBJbXBsZW1lbnQgU0VHTUVOVCBxdWVyeQoKMjAxMy0wNy0yOSAxMDo1Mzo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogSW1wbGVtZW50IFNFR01FTlQgcXVlcnkKCjIwMTMtMDctMjkgMTA6NTA6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IEltcGxlbWVudCBTRUdNRU5UIHF1ZXJ5CgoyMDEzLTA3LTI3IDE4OjEwOjIyICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogU3VwcG9ydCBIMjY0IGZvdXJjYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0OTk2CgoyMDEzLTA3LTI4IDE4OjA5OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IEZpeCBoYW5kbGluZyBvZiBpbWFnZSB0YWdzCgkgIFRoZSBjYXBzIHNob3VsZCBiZSB1c2VkIHRvIGdldCB0aGUgbWltZXR5cGUgYW5kIHRoZXJlIGlzCgkgIG9ubHkgYW4gaW5mbyBzdHJ1Y3R1cmUgZm9yIHRoZSBHc3RTYW1wbGUgaWYgdGhlIGltYWdlLXR5cGUKCSAgaXMgbm90IE5PTkUuCgoyMDEzLTA3LTI4IDE4OjA0OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IERvbid0IGNyYXNoIGlmIHRoZXJlIGlzIG5vIGltYWdlIHRhZyBpbmZvcm1hdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1MDE4CgoyMDEzLTA3LTI4IDE3OjM4OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBGaXggZHVyYXRpb24gcmVwb3J0aW5nIGluIHB1c2ggbW9kZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwOTMzCgoyMDEzLTA3LTI4IDE3OjMyOjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBEb24ndCBmb3JnZXQgdW5tYXBwaW5nIGFuZCB1bnJlZmZpbmcgYnVmZmVyCgoyMDEzLTA3LTI2IDIxOjA2OjE3ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogdW5tYXAgYnVmZmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQ5NTEKCjIwMTMtMDctMjYgMjI6MzE6NDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IGRvbid0IG1ha2UgYnVmZmVyIHdyaXRhYmxlIHByZW1hdHVyZWx5CgkgIFRoZXJlIGlzIG5vIHJlYXNvbiB0byBtYWtlIHRoZSBTUiBidWZmZXIgd3JpdGFibGUgYXQgdGhpcyBwb2ludC4gVGhpcyBpcyBiZXR0ZXIKCSAgZGVsYXllZCB1bnRpbCBuZWVkZWQuCgoyMDEzLTA3LTI2IDIyOjI1OjUwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBpZ25vcmUgUlRDUCBmb3IgaW5hY3RpdmUgc291cmNlcwoKMjAxMy0wNy0yNiAyMjoyNToxNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogc21hbGwgY2xlYW51cAoKMjAxMy0wNy0yNiAxNzoxNzozMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgc2Vzc2lvbjogaGFuZGxlIHBhcnRpYWwgUlRDUCByZXBvcnQgYmxvY2tzCgkgIFdoZW4gd2UgaGF2ZSBtb3JlIFNTUkNzIHRvIHJlcG9ydCB0aGFuIHdoYXQgZml0IGluIGFuIFJUQ1AgcGFja2V0LCB1c2UgYQoJICBnZW5lcmF0aW9uIGNvdW50ZXIgdG8gbWFrZSBzdXJlIGFsbCBvZiB0aGVtIGVuZCB1cCBpbiBhIHBhY2tldCBldmVudHVhbGx5LgoKMjAxMy0wNy0yNiAxNzoyMzoxMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogY3JlYXRlIFNTUkMgYmVmb3JlIGRvaW5nIHNlc3Npb24gY2xlYW51cAoJICBNYWtlIHRoZSBpbnRlcm5hbCBzb3VyY2UgYmVmb3JlIHdlIGRvIHNlc3Npb24gY2xlYW51cAoKMjAxMy0wNy0yNiAxNzoyMTowOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogcmVvcmdhbml6ZSB0aGUgcmVwb3J0IGJsb2NrIGNvZGUKCjIwMTMtMDctMjYgMTY6MDI6MDEgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogZml4IG1lbW9yeSBsZWFrIGluIGNoZWNrX3N1YnRpdGxlX2J1ZmZlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0OTIxCgoyMDEzLTA3LTI2IDE0OjIxOjQwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiByZWZhY3RvciBhY3RpdmUgYW5kIHNlbmRlciBjaGVja3MKCjIwMTMtMDctMjYgMTI6MDY6MzUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IHJlbW92ZSBpbnRlcm5hbCBzb3VyY2VzIG9uIHRpbWVvdXQKCSAgV2hlbiBhbiBpbnRlcm5hbCBzb3VyY2UgdGltZXMgb3V0IGFuZCBiZWNvbWVzIGEgcmVjZWl2ZXIsIHJlbW92ZSBpdC4KCjIwMTMtMDctMjYgMTE6NDc6NTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IGNyZWF0ZSBhbiBpbnRlcm5hbCBzb3VyY2UgZm9yIFJUQ1AKCSAgV2hlbiB3ZSBuZWVkIHRvIGRvIFJUQ1AgYW5kIHdlIGRvbid0IGhhdmUgYW4gaW50ZXJuYWwgc291cmNlIHlldCwKCSAgbWFrZSBvbmUuCgoyMDEzLTA3LTI2IDEwOjQ3OjI4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBzZXNzaW9uOiByZW1vdmUgb2xkIGNvZGUgdG8gY2hhbmdlIFNTUkMKCSAgUmVtb3ZlIGNvZGUgdXNlZCB0byBjaGFuZ2UgdGhlIFNTUkMgYWZ0ZXIgYSBjb2xsaXNpb24uIFdlIG5vdyBzZW5kCgkgIGEgUkVDT05GSUdVUkUgZXZlbnQgdXBzdHJlYW0gdG8gbWFrZSB0aGUgdXBzdHJlYW0gZWxlbWVudCBjaGFuZ2UgdGhlIFNTUkMuCgoyMDEzLTA3LTI2IDEwOjQyOjQ0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHNvdXJjZTogZG9uJ3QgdXBkYXRlIHBhY2tldCBTU1JDCgkgIFJlbW92ZSB0aGUgY29kZSB0byB1cGRhdGUgdGhlIFNTUkMgaW4gcGFja2V0cywgaXQgY2FuIG5ldmVyIGJlIGNhbGxlZCBub3cgdGhhdAoJICB3ZSBhbHdheXMgdXNlIGEgc291cmNlIHdpdGggbWF0Y2hpbmcgcGFja2V0IFNTUkMuCgoyMDEzLTA3LTI2IDEwOjI0OjIyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHNlc3Npb246IGRlbGF5IGFsbG9jYXRpb24gb2YgaW50ZXJuYWwgc291cmNlCgkgIEFsbG9jYXRlIHRoZSBpbnRlcm5hbCBzb3VyY2Ugd2hlbiB3ZSByZWNlaXZlIGEgY2FwcyB3aXRoIHRoZSBTU1JDIG9yIHdoZW4gd2Ugc2VlCgkgIGEgYnVmZmVyIHdpdGggdGhlIFNTUkMuCgoyMDEzLTA3LTI2IDEwOjAwOjU4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IGdlbmVyYXRlIHJlY29uZmlndXJlIG9uIGNvbGxpc2lvbgoJICBXaGVuIHdlIGRldGVjdCBhIGNvbGxpc2lvbiwgY2hhbmdlIHRoZSBTU1JDIHRoYXQgd2Ugc3VnZ2VzdCB1cHN0cmVhbQoJICBhbmQgdHJpZ2dlciBSRUNPTkZJR1VSRS4gVGhpcyBzaG91bGQgbWFrZSB1cHN0cmVhbSBzZWxlY3QgYSBuZXcgU1NSQy4KCjIwMTMtMDctMjYgMDk6Mzc6MjQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgc2Vzc2lvbjogcHJvZHVjZSBSVENQIGZvciBhbGwgaW50ZXJuYWwgc291cmNlcwoJICBMb29wIG92ZXIgYWxsIHRoZSBpbnRlcm5hbCBzb3VyY2VzIGFuZCBwcm9kdWNlIFJUQ1AuIFdlIGFsc28gbmVlZAoJICB0byBxdWV1ZSB0aGUgUlRDUCBwYWNrZXRzIGFuZCBzZW5kIHRoZW0gd2hlbiB3ZSBhcmUgZmluaXNoZWQuCgoyMDEzLTA3LTI2IDAxOjQwOjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHNlc3Npb246IGRlcHJlY2F0ZSBpbnRlcm5hbCBzb3VyY2UgYW5kIHNzcmMgcHJvcGVydGllcwoJICBEZXByZWNhdGUgdGhlIGludGVybmFsIHNvdXJjZSBhbmQgaW50ZXJuYWwgc3NyYyBwcm9wZXJ0aWVzLiBUaGVyZSBtaWdodAoJICBiZSBtb3JlIHRoYW4gb25lIGludGVybmFsIHNvdXJjZS4KCjIwMTMtMDctMjYgMDE6Mjk6MDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IGludGVybmFsIHNvdXJjZXMgZG9uJ3QgdXNlIHByb2JhdGlvbgoKMjAxMy0wNy0yNiAwMToyNDowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBnaXZlIGNhcHMgdG8gc2Vzc2lvbgoJICBMZXQgdGhlIHNlc3Npb24gcGFyc2UgdGhlIGNhcHMgYW5kIHVwZGF0ZSBpdHMgU1NSQyB3aGVuIG5lZWRlZC4KCjIwMTMtMDctMjYgMDE6MTQ6MDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBzZXNzaW9uOiBtYWtlIG1ldGhvZCB0byBzdWdnZXN0IGF2YWlsYWJsZSBTU1JDCgkgIE1ha2UgYSBtZXRob2QgdG8gc3VnZ2VzdCB0aGUgYmVzdCBhdmFpbGFibGUgU1NSQy4gVGhpcyBpcyB0aGUgU1NSQyBvZiB0aGUgbGFzdAoJICBjcmVhdGVkIGludGVybmFsIHNvdXJjZSBhbmQgaXMgdXNlZCB0byBpbnN0cnVjdCB1cHN0cmVhbSB0byBwcm9kdWNlIHRoaXMKCSAgU1NSQy4KCjIwMTMtMDctMjYgMDE6MDE6NDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgc2Vzc2lvbjoga2VlcCBTREVTIGFuZCBzZXQgb24gbmV3IGludGVybmFsIHNvdXJjZXMKCSAgS2VlcCB0cmFjayBvZiB0aGUgU0RFUyBvdXJzZWx2ZXMgYW5kIHNldCBpdCBvbiBhbGwgbmV3bHkgY3JlYXRlZAoJICBpbnRlcm5hbCBzb3VyY2VzLgoKMjAxMy0wNy0yNiAwMDo0ODoyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogbWFrZSBtZXRob2QgdG8gbWFrZSBpbnRlcm5hbCBzb3VyY2VzCgkgIEFkZCBhIG1ldGhvZCB0byBvYnRhaW4gYW4gaW50ZXJuYWwgc291cmNlIGFuZCB1c2UgaXQgdG8gY3JlYXRlCgkgIG91ciBpbnRlcm5hbCBzb3VyY2UKCjIwMTMtMDctMjYgMDA6Mjk6NDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIHNlc3Npb246IGNvdW50IGludGVybmFsIHNvdXJjZXMgYW5kIGhvdyBtYW55IGFyZSBzZW5kZXJzCgoyMDEzLTA3LTI2IDAwOjE0OjI5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogc2VwYXJhdGUgQllFIG1hcmtpbmcgYW5kIHNjaGVkdWxpbmcKCSAgRmlyc3QgbWFyayBzb3VyY2VzIHdpdGggQllFIGFuZCB0aGVuIHNjaGVkdWxlIHRoZSBCWUUgUlRDUCBtZXNzYWdlLgoKMjAxMy0wNy0yNSAyMzo1Njo0NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogZ2V0IFNTUkMgZnJvbSBSVENQIHBhY2tldCBpdHNlbGYKCSAgR2V0IHRoZSBTU1JDIGZyb20gdGhlIFJUQ1AgcGFja2V0IGluc3RlYWQuCgoyMDEzLTA3LTI1IDIzOjUxOjM0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBmaXggYmFuZHdpZHRoIGNhbGN1bGF0aW9uCgkgIFdlIGl0ZXJhdGUgb3ZlciBhbGwgc291cmNlcyBhbmQgdGhlIGludGVybmFsIG9uZSBpcyBhbHNvIGluIHRoZQoJICBoYXNodGFibGUgc28gYXZvaWQgYWRkaW5nIGl0IHR3aWNlLgoKMjAxMy0wNy0yNSAyMzozODowOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogYWRkIHNvbWUgZG9jcwoKMjAxMy0wNy0yNSAyMzoxMTowNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogUmVhcnJhbmdlIFJUQ1AgcmVwb3J0aW5nIGEgbGl0dGxlCgkgIE1ha2UgYSBmdW5jdGlvbiB0byBnZW5lcmF0ZSBhbiBSVENQIHBhY2tldCBmb3IgYSBzb3VyY2UsIHBhc3MgdGhlIHNvdXJjZSBhcyBhCgkgIHBhcmFtZXRlci4KCSAgTW92ZSB0aW1lb3V0IG9mIGNvbGxpc2lvbnMgdG8gc2Vzc2lvbiBjbGVhbnVwIHBoYXNlLgoKMjAxMy0wNy0yNSAyMjozOTowNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogbW92ZSBjaGVjayBmb3IgaXNfZWFybHkgYXJvdW5kCgkgIE1vdmUgdGhlIGNoZWNrIGZvciB0aGUgZWFybHkgUlRDUCB0byB3aGVyZSBpdCBpcyBuZWVkZWQgYW5kIHVzZWQuCgoyMDEzLTA3LTI1IDE3OjM1OjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBwYXJzZSBwYWNrZXQgb3V0c2lkZSBvZiB0aGUgc2Vzc2lvbiBsb2NrCgoyMDEzLTA3LTI1IDE3OjM0OjA2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBkbyBuaWNlciBjaGVja3MgZm9yIGludGVybmFsIHNvdXJjZXMKCjIwMTMtMDctMjUgMTc6MTU6MzcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBzZXNzaW9uOiBsZXQgc291cmNlIGtlZXAgdHJhY2sgaWYgaXQgc2VudCBCWUUKCjIwMTMtMDctMjUgMTc6MDY6MjIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgc291cmNlOiByZXNldCBtb3JlCgoyMDEzLTA3LTI1IDE2OjQ5OjQxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgc291cmNlOiBhbHNvIHVzZSB0aGUgc291cmNlIGZvciBieWVfcmVhc29uCgkgIFN0b3JlIHRoZSBCWUUgcmVhc29uIGluIG91ciBpbnRlcm5hbCBzb3VyY2Ugb2JqZWN0LiBSZW5hbWUgdGhlIG1ldGhvZHMgb24gdGhlCgkgIHNvdXJjZSBvYmplY3QgYSBsaXR0bGUgYmVjYXVzZSBub3cgdGhlIEJZRSBjYW4gYmUgcmVjZWl2ZWQgaW4gUlRDUCBvcgoJICBzZXQgd2hlbiB0aGUgc2Vzc2lvbiB3YW50cyB0byBzZW5kIEJZRS4KCjIwMTMtMDctMjUgMTY6MjQ6MDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBzZXNzaW9uOiBjb25maWd1cmUgc2RlcyB3aXRoIHN0cnVjdHVyZSBvbmx5CgkgIFJlbW92ZSBjb2RlIHRvIGNvbmZpZ3VyZSB0aGUgU0RFUyB3aXRoIG1ldGhvZHMgYW5kIHR5cGVzLCBvbmx5CgkgIGFsbG93IGNvbmZpZ3VyYXRpb24gd2l0aCBHc3RTdHJ1Y3R1cmUKCjIwMTMtMDctMjUgMTU6NTY6MzkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IHJlZmFjdG9yIGFkZCBhbmQgZmluZCBzb3VyY2UKCSAgTWFrZSBmdW5jdGlvbnMgdG8gZmluZCBhbmQgYWRkIGEgc291cmNlIHRvIHRoZSBoYXNodGFibGUuCgoyMDEzLTA3LTI1IDE1OjQzOjExICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgc2Vzc2lvbjogcmVtb3ZlIHNvdXJjZSBmcm9tIHN5bmNfcnRjcAoJICBXZSBkb24ndCBuZWVkIHRvIGtub3cgdGhlIHNlbmRlciBzb3VyY2Ugb2YgdGhlIHNlc3Npb24gaW4gdGhlCgkgIGNhbGxiYWNrLCB0aGUgU1IgcGFja2V0IGlzIGZvciBhbGwgcGFydGljaXBhbnRzIGluIHRoZSBzZXNzaW9uLgoKMjAxMy0wNy0yNCAxNDoxODoxNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGFkZCBzb21lIG1vcmUgZGVidWcKCjIwMTMtMDctMTUgMTc6MTE6NDUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmg6CgkgIGFhY3BhcnNlOiBhbGxvdyBjb252ZXJzaW9uIGZyb20gQURUUyB0byByYXcgQUFDCgkgIFNvbWUgbXV4ZXJzIChlZywgcXRtdXgpIG9ubHkgc3VwcG9ydCByYXcgQUFDLCBzbyB0aGlzIGFsbG93cyBsaW5raW5nCgkgIGFuIGVuY29kZXIgdGhhdCBvdXRwdXRzIEFEVFMgb25seSB0byB0aG9zZSBtdXhlcnMuCgkgIFRoZSBjb252ZXJzaW9uIGlzIHNpbXBsZSAob21pdCB0aGUgZmlyc3QgNyBvciA5IGJ5dGVzIG9mIHRoZSBmcmFtZSksCgkgIGJ1dCBoYXMgdG8gYmUgZG9uZSBpbiBwcmVfcHVzaCBpbnN0ZWFkIG9mIGhhbmRsZV9mcmFtZSBhcyAxLjAgZG9lcwoJICBub3Qgc2VlbSB0byBhbGxvdyBza2lwcGluZyBieXRlcyB0aGVyZSBhcyAwLjEwIHVzZWQgdG8uCgkgIE90aGVyIGNvbnZlcnNpb25zIGFyZSBub3Qgc3VwcG9ydGVkICh5ZXQpLgoKMjAxMy0wNy0xNSAxNzoxNTo0NCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBmaXggb2JqZWN0X3R5cGUgcGFyc2luZyBvZmYtYnktb25lIGluIEFEVFMgZnJhbWUKCSAgQWNjb3JkaW5nIHRvIGh0dHA6Ly93aWtpLm11bHRpbWVkaWEuY3gvaW5kZXgucGhwP3RpdGxlPUFEVFMsCgkgIHRoZSB2YWx1ZSBzdG9yZWQgaW4gQURUUyBoZWFkZXJzIGlzIG9uZSBsZXNzIHRoYW4gdGhlIG9iamVjdAoJICB0eXBlIG9mIHRoZSBBQUMgc3RyZWFtLgoJICBBIGxvb2sgYXQgZmZtcGVnIHNob3dzIGl0IGFsc28gYWRkcyAxIHRvIHRoZSB2YWx1ZSByZWFkIG9mZgoJICB0aGUgQURUUyBoZWFkZXIuCgkgIE5vdGUgdGhhdCB0aGlzIG1pZ2h0IGJyZWFrIG90aGVyIHRoaW5ncyB0aGF0IGhhcHBlbiB0byBoYXZlCgkgIGFuIGludmVyc2Ugb2ZmIGJ5IG9uZSB0byBtYXRjaCB0aGUgZXhpc3RpbmcgY29kZS4KCjIwMTMtMDctMjUgMTE6MTM6MDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGZpeCBzZXFudW0gaGFuZGxpbmcgZm9yIHNlZWtzCgkgIFVzZSB0aGUgc2FtZSBzZXFudW0gYXMgdGhlIHNlZWsgZm9yIGZsdXNoZXMvc2VnbWVudHMgdGhhdCBhcmUKCSAgY2F1c2VkIGJ5IHRoZSBzZWVrLiBBbHNvIGRvIHRoZSBzYW1lIGZvciBzZWdtZW50IGV2ZW50cwoJICBGaXhlcyAjNjc2MjQyCgoyMDEzLTA3LTI1IDAxOjM5OjU4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIG1hdHJvc2thZGVtdXg6IGZpeCBzZXFudW0gaGFuZGxpbmcgZm9yIHNlZWtzCgkgIFVzZSB0aGUgc2FtZSBzZXFudW0gYXMgdGhlIHNlZWsgZm9yIGZsdXNoZXMvc2VnbWVudHMgdGhhdCBhcmUKCSAgY2F1c2VkIGJ5IHRoZSBzZWVrLiBBbHNvIGRvIHRoZSBzYW1lIGZvciBzZWdtZW50IGV2ZW50cwoJICBGaXhlcyAjNjc2MjQyCgoyMDEzLTA3LTI1IDAxOjExOjMxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogY29ycmVjdGx5IGhhbmRsZSBzZXFudW0gZm9yIHNlZWtzIGFuZCBzZWdtZW50cwoJICBVc2UgdGhlIHNhbWUgc2VxbnVtIG9uIG1lc3NhZ2VzIGFuZCBldmVudHMgZm9yIGRlcml2ZWQgZXZlbnRzLgoJICBGaXhlZCBmb3IgZmx1c2hlcyAvIHN0cmVhbS1zdGFydCAvIHNlZ21lbnQgYWZ0ZXIgYSBzZWVrLCBhbmQgc2VnbWVudAoJICBhZnRlciBhIHNlZ21lbnQuCgkgIEZpeGVzICM2NzYyNDIKCjIwMTMtMDctMTIgMjA6MDE6NDIgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IGFsd2F5cyBpZ25vcmUgSEVBRCBlcnJvcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDI0MQoKMjAxMy0wNy0yNSAxNDoyNjowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBDbGVhbiB1cCByZXNldC9zdGFydC9zdG9wIGhhbmRsaW5nCgoyMDEzLTA3LTI1IDE0OjEzOjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSAganBlZ2RlYzogVXNlIGJhc2UgY2xhc3MgZXJyb3IgaGFuZGxpbmcgZnVuY3Rpb24gaW5zdGVhZCBvZiByZXBsaWNhdGluZyBpdCBoZXJlCgoyMDEzLTA3LTI1IDE0OjEyOjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IENsZWFuIHVwIGhhbmRsaW5nIG9mIHJlc2V0L3N0YXJ0L3N0b3AKCjIwMTMtMDctMjUgMTA6NDE6MjIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZmlsZXMvaWQzLTQwNzM0OS0xLnRhZzoKCSogdGVzdHMvZmlsZXMvaWQzLTQwNzM0OS0yLnRhZzoKCSogdGVzdHMvZmlsZXMvaWQzLTQ0NzAwMC13Y29wLnRhZzoKCSAgdGVzdHM6IGZpeCB0ZXN0IElEMyB0YWdzIHVwIG5vdCB0byByZWx5IG9uIGRvZGd5IHR5cGVmaW5kaW5nIGNvZGUKCSAgQ2hhbmdlIDB4ZmYgMHhmYiAnbXAzJyBtYXJrZXIgdG8gJ2ZMYUMnIG1hcmtlciwgc28gd2UgY2FuIGZpeAoJICB0aGUgdHlwZWZpbmRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTM2OAoKMjAxMy0wNy0yNSAwODoyMjo0NSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkgIG9zeGF1ZGlvc2luazogaW50ZXJzZWN0IHRoZSBwcm9iZWQgY2FwcyB3aXRoIHRoZSBmaWx0ZXIgcGFzc2VkIHRvIGdldF9jYXBzKCkKCjIwMTMtMDctMjQgMTQ6MTc6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgYmluOiBmaXggY29tcGlsYXRpb24KCjIwMTMtMDctMjQgMTI6NDI6MzEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJICB2cmF3ZGVwYXk6IGZpeCBVWVZQIGZvcm1hdAoKMjAxMy0wNy0yNCAxMjo0MTo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICB2cmF3cGF5OiBmaXggVVlWUCBmb3JtYXQKCjIwMTMtMDctMjQgMTI6NDE6NDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgdnJhd3BheTogZml4IGNhcHMKCjIwMTMtMDctMjQgMTA6NDk6MDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBmaXggbG9ja2luZwoJICBUYWtlIHRoZSBsb2NrIGVhcmxpZXIgc28gdGhhdCB3ZSBkbyB0aGluZ3MgdGhhdCBmb2xsb3cgd2l0aCB0aGUgcmlnaHQKCSAgbG9ja2luZy4KCjIwMTMtMDctMjMgMTc6NDA6MDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGRvbid0IHVzZSBpbnZhbGlkIHRpbWVzIGluIFJUQ1AgdGltZW91dHMKCSAgQW4gaW52YWxpZCB0aW1lb3V0IGNhbiBiZSBjYWxjdWxhdGVkIHdoZW4gd2UgZGlzYWJsZWQgUlRDUCBieSBzZXR0aW5nIHRoZQoJICBiYW5kd2lkdGggdG8gMC4gTWFrZSBzdXJlIGFsbCBjb2RlIGNhbiBoYW5kbGUgdGhpcyBjYXNlLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc0NjI2CgoyMDEzLTA3LTIzIDE3OjM4OjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBsb2NrIHNlc3Npb24gd2hlbiBjaGFuZ2luZyBiYW5kd2lkdGgKCSAgVGFrZSB0aGUgc2Vzc2lvbiBsb2NrIHdoZW4gY2hhbmdpbmcgdGhlIGJhbmR3aWR0aCBwcm9wZXJ0aWVzIHNvIHRoYXQgd2UgZG9uJ3QKCSAgZW5kIHVwIHdpdGggaW5jb25zaXN0ZW50IGJlaGF2aW91ci4KCjIwMTMtMDctMjMgMTc6Mzc6MDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IHJlc2V0IHNvbWUgUlRDUCB2YXJpYWJsZXMKCSAgVGhlIGVhcmx5X3NlbmQgdGltZSB3YXMgc2V0IHRvIDAgYW5kIGFsd2F5cyB0cmlnZ2VyaW5nIGFuIGVhcmx5IFJUQ1AgcGFja2V0LgoKMjAxMy0wNy0yMyAxNTowMzozMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQWRkIGFsbCB0aGUgbXBlZyBYRENBTSB2YXJpYW50cwoJICBUaGlzIHNob3VsZCBjb3ZlciBhbGwga25vd24gWERDQU0gdmFyaWFudHMgKHdoaWNoIGFyZSBhbGwgbXBlZzIgdmlkZW8pCgkgIEZpeGVzICM2NzIyMjcKCjIwMTMtMDctMDMgMTg6NDE6NDIgKzAyMDAgIENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgcnRwYmluOiBhZGRlZCBjdXN0b20gZG93bnN0cmVhbSBzeW5jIGV2ZW50CgkgIHJ0cGJpbiBjYW4gbm93IHNlbmQgYSBjdXN0b20gaW4tYmFuZCBkb3duc3RyZWFtIGV2ZW50IHdoaWNoIGluZm9ybXMKCSAgZG93bnN0cmVhbSB0aGF0IHRoZSBiaW4gaGFzIHJlY2VpdmVkIGFuIFJUQ1AgU1IgcGFja2V0LiBUaGlzIGlzIHVzZWZ1bAoJICBmb3IgYXBwbGljYXRpb25zIHdoaWNoIHdhbnQgdG8gZHJvcCB0aGUgaW5pdGlhbCB1bnN5bmNocm9uaXplZCByZWNlaXZlZAoJICBSVFAgcGFja2V0cy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzU2MAoJICBTaWduZWQtb2ZmLWJ5OiBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoyMDEzLTA3LTIyIDE4OjAwOjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogZml4IG9uLXRoZS1mbHkgY2hhbmdpbmcgb2YgIm1vZGUiIGFuZCAiZmllbGRzIiBwcm9wZXJ0aWVzCgkgIFdlIGNhbGwgc2V0Y2FwcygpIHRvIHJlY29uZmlndXJlIG91cnNlbHZlcywgYnV0IHdlIG5lZWQgdG8gcGFzcwoJICB0aGUgY3VycmVudCAqc2luayogY2Fwcywgbm90IHRoZSBzb3VyY2UgY2FwcyB0aGVuLiBBbHNvIGZpeCBhCgkgIGNhcHMgbGVhay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MTU5OQoKMjAxMy0wNy0yMiAxNToyMzozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBBZGQgc3VwcG9ydCBmb3IgZ3JvdXAtaWQgaW4gdGhlIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMy0wNy0yMiAxNToyMzoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBBZGQgc3VwcG9ydCBmb3IgZ3JvdXAtaWQgaW4gdGhlIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMy0wNy0yMiAxNToyMzoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBBZGQgc3VwcG9ydCBmb3IgZ3JvdXAtaWQgaW4gdGhlIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMy0wNy0yMiAxNToyMjo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBtYXRyb3NrYWRlbXV4OiBBZGQgc3VwcG9ydCBmb3IgZ3JvdXAtaWQgaW4gdGhlIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMy0wNy0yMiAxNToyMjo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBBZGQgc3VwcG9ydCBmb3IgZ3JvdXAtaWQgaW4gdGhlIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMy0wNy0yMiAxNToyMjozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgIGZsdmRlbXV4OiBBZGQgc3VwcG9ydCBmb3IgZ3JvdXAtaWQgaW4gdGhlIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMy0wNy0yMiAxNToyMjoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiBBZGQgc3VwcG9ydCBmb3IgZ3JvdXAtaWQgaW4gdGhlIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMy0wNy0yMiAxNToyMTo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2R2L2dzdGR2ZGVtdXguaDoKCSAgZHZkZW11eDogQWRkIHN1cHBvcnQgZm9yIGdyb3VwLWlkIGluIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTMtMDctMTkgMjI6NTk6MTUgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IHVzZSBnc3RfdXRpbF91aW50NjRfc2NhbGUqX3JvdW5kLgoJICBUaGVyZSBjb3VsZCBiZSBhIGNhc2Ugd2hlcmU6CgkgIDEpIHlvdSBkbyBhIG5ldyBzZXRfY2FwcyBhZnRlciBidWZmZXJzIGhhdmUgYmVlbiBwcm9jZXNzZWQuCgkgIDIpIHRzX29mZnNldCBnZXRzIHNldCB0byBhIGRpZmZlcmVudCB2YWx1ZSwgZWcgMC4wMzMzMzMzMzMKCSAgMykgeW91ciBwYWRzIGdldCBFT1MsIGJ1dCB0aGUgY2hlY2sgZG9yIHRoYXQgZG9lc24ndCB3b3JrCgkgIGJlY2F1c2UgeW91IHVzZSB0c19vZmZzZXQgKyBhIHRydW5jYXRlZCB2YWx1ZSA8IHNlZ21lbnQuc3RvcAoJICA0KSBzbyBpbiB0aGUgbmV4dCBjb2xsZWN0ZWQsIHlvdSBlbmQgdXAgY29tcGFyaW5nIGZvciBleGFtcGxlOgoJICAwLjk5OTk5OTk5OTkgPiAxLiwgd2hpY2ggaXMgZmFsc2UgYW5kIG1lYW5zIHlvdSBkb24ndCBzZW5kIEVPUy4KCSAgQWxzbyBhZGRzIHNjYWxlX3JvdW5kIGluIHR3byBvdGhlciBwbGFjZXMgd2hlcmUgaXQgcG90ZW50aWFsbHkgY291bGQKCSAgaGF2ZSBjYXVzZWQgcHJvYmxlbXMuCgoyMDEzLTA3LTE1IDE3OjU1OjE5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogQWRkIFdSTEUgc3VwcG9ydAoKMjAxMy0wNy0xOSAxOTozNToyNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBxdGRlbXV4OiBtYWtlIGZpbGVzIGZyb20gVml2b3RlayBjYW1lcmEgcGxheQoJICBTa2lwIHRyYWNrcyBvZiAndml2bycgc3VidHlwZSB3aXRoIGVtcHR5IHN0c2QgaW5zdGVhZCBvZgoJICBlcnJvcmluZyBvdXQgc2F5aW5nIHRoYXQgdGhlIGZpbGUgaXMgYnJva2VuLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5NzkxCgoyMDEzLTA3LTE5IDE3OjE0OjA2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHdoZW4gc3RyZWFtaW5nIGRvbid0IHRyeSB0byBzZWVrIHdoZW4gc3RvcHBpbmcKCSAgSXQgbWlnaHQgY2F1c2UgZXJyb3JzIGluIHNpbmtzIHRoYXQgYXJlIG5vdCBzZWVrYWJsZSBhbmQKCSAgaGF2ZSByZXBvcnRlZCB0aGlzIChsaWtlIGUuZy4gZmRzaW5rKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk2MjI4CgoyMDEzLTA3LTE5IDE3OjI2OjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNpbXBsaWZ5IHNvbWUgaGVscGVycwoJICBTb21lIGhlbHBlciBmdW5jdGlvbnMgYXJlIG5vdCBuZWVkZWQgYW55bW9yZSBvciBjYW4gYmUgc2ltcGxpZmllZC4KCjIwMTMtMDctMTkgMTc6MTI6MzcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZm9yIG5vbi1yYXcgdmlkZW8sIG1vdmUgcGFsZXR0ZSBpbiBjYXBzCgkgIFdlIG9ubHkgbmVlZCB0byBhcHBlbmQgdGhlIHBhbGV0dGUgdG8gcmF3IHZpZGVvIGJ1ZmZlcnMsIG5vbi1yYXcgdmlkZW8gaGFzIHRoZQoJICBwYWxldHRlIGluIHRoZSBjYXBzIHN0aWxsLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0MjkyCgoyMDEzLTA3LTE5IDAxOjQ5OjIwICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBuaXRwaWNraW5nIGluIGVzZHMgcGFyc2luZwoKMjAxMy0wNy0xOSAwMTo0OTowNyArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc2V0IHByb3BlciBjYXBzIGZvciBtcGVnLTEgYXVkaW8KCSAgUmVtb3ZlIEFBQyBzcGVjaWZpYyBmaWVsZHMgZnJvbSBtcGVnLTEgYXVkaW8gY2FwcywgcmVtb3ZlIGFzc3VtcHRpb24KCSAgdGhhdCB0aGUgbXBlZzEgYXVkaW8gbGF5ZXIgaXMgMywgYW5kIHNldCBgcGFyc2VkJyBmaWVsZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDU0OAoKMjAxMy0wNi0xNyAyMToyNzozNyArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBleHQvdnB4L2dzdHZwOGRlYy5oOgoJKiBleHQvdnB4L2dzdHZwOGVuYy5oOgoJKiBleHQvdnB4L2dzdHZwOWRlYy5oOgoJKiBleHQvdnB4L2dzdHZwOWVuYy5oOgoJICB2cHg6IGZpeCBjb21waWxhdGlvbiB3aGVuIGVuY29kZXIgb3IgZGVjb2RlciBoZWFkZXJzIGFyZSBub3QgaW5zdGFsbGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQ1NDcKCjIwMTMtMDctMTYgMjA6NDE6MTUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOgoJICB2aWRlb2Nyb3A6IEZpeCB1bml0IGZvciBHUkFZMTYgZm9ybWF0cwoKMjAxMy0wNy0xNiAyMjoxNzoxNyArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmVtb3ZlIGNoYXB0ZXIgc3RyZWFtCgkgIFJlbW92ZSBhbGwgc3RyZWFtcyB0aGF0IGFyZSBhY3R1YWxseSB0YWJsZSBvZiBjb250ZW50cywgc2luY2Ugd2Ugd2lsbAoJICBuZXZlciBuZWVkIHRoZSBkYXRhIGFmdGVyIHBhcnNpbmcgdGhlbS4KCjIwMTMtMDctMTYgMjE6NTk6MzcgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNlbmQgZ2FwIGV2ZW50IGZvciBzcGFyc2Ugc3RyZWFtcyBpbiBwdXNoIG1vZGUKCSAgVGhpcyBhbGxvd3MgdG8gcHJlLXJvbGwgYXQgbGVhc3QgaWYgdGhlIG5leHQgc3VidGl0bGUgYnVmZmVyCgkgIGlzIGZhciBhd2F5LgoKMjAxMy0wNy0xNiAyMTo1NjowNyArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZG8gbm90IHVzZSBpbmRleGVzIGZyb20gc3BhcnNlIHN0cmVhbSB3aGVuIHNlZWtpbmcgaW4gcHVzaCBtb2RlCgkgIFRoaXMgbWFrZXMgc2Vla2luZyBtb3JlIGFjY3VyYXRlIGluIHB1c2ggbW9kZSwgc2luY2UgdGhlIHByZXZpb3VzCgkgIGtleWZyYW1lIG9uIGEgc3BhcnNlIHN0cmVhbSBtaWdodCBiZSBmYXIgYXdheS4KCjIwMTMtMDctMTYgMjE6MDQ6MDcgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFkdmVydGlzZSBzdWJ0aXRsZSBzdHJlYW1zIGFzIHNwYXJzZQoKMjAxMy0wNy0xNyAxNzoxMTo0NCArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWFzdHJva2FkZW11eDogZG8gbm90IHB1c2ggZGlzY29udCBidWZmZXJzIGlmIHRoZXkgYXJlbid0IGRpc2NvbnQKCSAgVW5zZXQgdGhlIGRpc2NvbnQgZmxhZyBpbnN0ZWFkIG9mIHBvc3NzaWJseSBwdXNoaW5nIGEgYnVmZmVyIHdpdGgKCSAgYSBmbGFnIHRoYXQncyBzdGlsbCBzZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODIxMTAKCjIwMTMtMDctMTcgMTU6MTA6MDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZXh0cmFjdCB0aGUgcGFsZXR0ZSBmcm9tIHN0c2QKCSAgU29tZXRpbWVzIGEgcGFsZXR0ZSBpcyBpbnNpZGUgdGhlIHN0c2QsIGV4dHJhY3QgaXQgaW5zdGVhZCBvZiBhbHdheXMgdXNpbmcKCSAgdGhlIGRlZmF1bHQgb25lCgoyMDEzLTA3LTE3IDE0OjMwOjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkgIGdvb20yazE6IEZpeCBldmVudCBoYW5kbGluZyBhbmQgbmVnb3RpYXRlIGFzIHNvb24gYXMgcG9zc2libGUKCjIwMTMtMDctMTcgMTQ6Mjc6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgZ29vbTogRml4IGV2ZW50IGhhbmRsaW5nIGFuZCBuZWdvdGlhdGUgYXMgc29vbiBhcyBwb3NzaWJsZQoKMjAxMy0wNy0xMSAxOTo0NToxNyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiB3YXJuIGFib3V0IHRoZSBmdXR1cmUgZGVwcmVjYXRpb24gb2YgdGhlICJlbWJlZCIgcHJvcGVydHkKCjIwMTMtMDctMTcgMDk6NTY6MDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWRkIHN1cHBvcnQgZm9yIFdSQVcKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDI5MgoKMjAxMy0wNy0xNyAwOTo1NDo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwYWxldHRlIGlzIGFwcGVuZGVkIHRvIGJ1ZmZlcnMsIG5vdCBpbiBjYXBzCgkgIEZpeCB0aGUgcGFsZXR0ZSBoYW5kbGluZywgaW4gMS4wIHdlIGFwcGVuZCB0aGUgcGFsZXR0ZSB0byB0aGUgYnVmZmVyIGluc3RlYWQgb2YKCSAgcGxhY2luZyBpdCBvbiB0aGUgY2Fwcy4KCSAgU2VlIGFsc28gaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDI5MgoKMjAxMy0wNy0xNiAxNTozNzo0OSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6CgkgIHJ0cDogVXNlIGdzdF9hZGFwdGVyX3Rha2VfYnVmZmVyX2Zhc3QoKSB3aGVyZSBwb3NzaWJsZSBpbiBSVFAgcGF5bG9hZGVycwoKMjAxMy0wNy0xNSAxNjoyNDowNyArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmVzZXQgc2VnbWVudCBvbiBmbHVzaCBzdG9wCgkgIGNjYTJmNTU1ZDE0IGludHJvZHVjZXMgYSByZWdyZXNzaW9uLCB3aGVyZSB0aGUgZGVtdXggc2VnbWVudCBpcyBub3QKCSAgcmVzZXQgb24gZmx1c2ggc3RvcCwgc28gdGhlIG5leHQgdXBzdHJlYW0gc2VnbWVudCBldmVudCB3aWxsIGNhbGN1bGF0ZQoJICBhbiBpbnZhbGlkIGJhc2UgdGltZSBvbiB0aGUgbmV3IHNlZ21lbnQgdG8gYmUgc2VudCBkb3duc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0MjU1CgoyMDEzLTA3LTA2IDE3OjIwOjQ5ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBvZmZzZXQgc2FtcGxlcyBhY2NvcmRpbmcgdG8gZWRpdCBsaXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAyNjQKCjIwMTMtMDctMTQgMTI6NTA6MTMgKzEyMDAgIERvdWdsYXMgQmFnbmFsbCA8ZG91Z2xhc0BoYWxvLmdlbi5uej4KCgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL3NwZWN0cnVtLWV4YW1wbGUuYzoKCSAgbGV2ZWw6IEZpeCB0aGUgc3BlY3RydW0gZXhhbXBsZSBmb3IgMS4wCgkgIFRoZSAibWVzc2FnZSIgcHJvcGVydHkgaGFzIGJlZW4gcmVwbGFjZWQgYnkgInBvc3QtbWVzc2FnZXMiLgoJICBQcmUtcGF0Y2ggb3V0cHV0OgoJICAodGVzdF9zcGVjdHJ1bToyMzEwMSk6IEdMaWItR09iamVjdC1XQVJOSU5HICoqOiBnX29iamVjdF9zZXRfdmFsaXN0OgoJICBvYmplY3QgY2xhc3MgYEdzdFNwZWN0cnVtJyBoYXMgbm8gcHJvcGVydHkgbmFtZWQgYG1lc3NhZ2UnCgkgIE5ldyBzcGVjdHJ1bSBtZXNzYWdlLCBlbmR0aW1lIDA6MDA6MDAuMTAwMDAwMDAwCgkgICh0ZXN0X3NwZWN0cnVtOjIzMTAxKTogR1N0cmVhbWVyLUNSSVRJQ0FMICoqOgoJICBnc3RfdmFsdWVfbGlzdF9nZXRfdmFsdWU6IGFzc2VydGlvbiBgR1NUX1ZBTFVFX0hPTERTX0xJU1QgKHZhbHVlKScgZmFpbGVkCgkgIFsuLi5dCgkgIFBvc3QtcGF0Y2g6CgkgIE5ldyBzcGVjdHJ1bSBtZXNzYWdlLCBlbmR0aW1lIDA6MDA6MDAuMTAwMDAwMDAwCgkgIGJhbmQgMCAoZnJlcSA0MDApOiBtYWduaXR1ZGUgLTY1Ljk4ODc3NyBkQiBwaGFzZSAxLjUzMzM5NwoJICBiYW5kIDEgKGZyZXEgMTIwMCk6IG1hZ25pdHVkZSAtNjUuNTQ1NTYzIGRCIHBoYXNlIC0wLjc4MDkwMAoJICBiYW5kIDIgKGZyZXEgMjAwMCk6IG1hZ25pdHVkZSAtNjQuNzkxOTQ2IGRCIHBoYXNlIC0wLjc5OTYxMQoJICBiYW5kIDMgKGZyZXEgMjgwMCk6IG1hZ25pdHVkZSAtNjQuNTU2MTc1IGRCIHBoYXNlIC0wLjA2MzYxNQoJICBbLi4uXQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0MTc5CgoyMDEzLTA3LTEzIDIwOjU2OjI2ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogYmUgbGVzcyB2ZXJib3NlIHdoZW4gcGFyc2luZyBMT0FTIHN0cmVhbXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDE2MgoKMjAxMy0wNy0xMiAxMjozMTozOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSAgc2luazogYWxhdy9tdWxhdyBjYXBzIGRvbid0IGhhdmUgYSBsYXlvdXQgcHJvcGVydHkKCjIwMTMtMDctMTIgMTI6Mjc6NTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkgIHB1bHNlOiByZWxheCBtdWxhdyBhbmQgYWxhdyBmb3JtYXQgY2hlY2tzCgkgIFRoZSBhdWRpbyBsaWJyYXJ5IGNvbnNpZGVycyB0aGVtIGFzIGVuY29kZWQgZm9ybWF0cyBhbmQgZG9lcyBub3QgZmlsbCBpbiB0aGUKCSAgc2FtcGxlIHdpZHRoLiBUaGUgYXVkaW8gcmluZ2J1ZmZlcnMgaWRlbnRpZmllcyB0aGUgZm9ybWF0IGFzIGFsYXcvbXVsYXcgYW5kIHRoYXQKCSAgaXMgYWx3YXlzIDggYml0cy4KCjIwMTMtMDctMTEgMTY6MTM6MDUgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X3R5cGVzLmM6CgkgIHF0ZGVtdXg6IHVuc2VsZWN0IGluc3RlYWQgb2YgaWdub3JpbmcgZGlzYWJsZWQgdHJhY2ssIGRldGVjdCBjaGFwdGVyIHRyYWNrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQwMDcKCjIwMTMtMDctMTEgMjA6NDE6MjMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBpZ25vcmUgZXJyb3JzIGZyb20gSEVBRCByZXF1ZXN0CgkgIEhFQUQgcmVxdWVzdHMgYXJlIHVzZWQgdG8gY2hlY2sgdGhlIHNlcnZlciBoZWFkZXJzIHRvIHNlZSBpZiBpdAoJICBzZWVrYWJsZS4gSWdub3JlIGVycm9ycyBmcm9tIHRob3NlIHJlcXVlc3RzIGFzIHRoZXkgc2hvdWxkbid0IGJlCgkgIGNyaXRpY2FsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0MDUzCgoyMDEzLTA3LTEyIDAzOjI0OjA4ICswODAwICBLeW9zdWtlIE5la29tdXJhIDxzdXBlcmNhdGV4cGVydEBnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSAgYXVkaW9lY2hvOiBGaXggaGFuZGxpbmcgb2YgZGVsYXkgcHJvcGVydHkgaW4gUExBWUlORy9QQVVTRUQgc3RhdGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzkwMQoKMjAxMy0wNy0wOSAxNzo1Njo1NyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEVuYWJsZSBwcm94eSBjYXBzIG9uIHRoZSBzcmMgcGFkcwoKMjAxMy0wNy0xMSAxNjo1NzoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjEuMiA9PT0KCjIwMTMtMDctMTEgMTU6NTg6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjEuMgoKMjAxMy0wNy0xMSAxNTo1ODoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTMtMDctMDkgMTU6MzQ6MDQgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBkZWZlciB0aGUgd2luZG93IGhhbmRsZSBzZXR1cCB0byB0aGUgbWFpbiB0aHJlYWQKCjIwMTMtMDctMDkgMTU6MzM6MTggKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogZGVmYXVsdCB0byB0aGUgbWFpbiBpbiBjYXNlIHdlIGFyZSBub3Qgc2V0dXAgeWV0CgoyMDEzLTA3LTA3IDIyOjE2OjA1ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGNsb3NlIHRoZSBpbnRlcm5hbCB3aW5kb3cgY29ycmVjdGx5CgoyMDEzLTA3LTA3IDIxOjE0OjIyICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogb25seSBjcmVhdGUgdGhlIE5TIGFwcCB0aHJlYWQgZm9yIENvY29hIG9uY2UKCSAgVGhlIGhlbHBlciB0aHJlYWQgZm9yIENvY29hLCBpbiBjYXNlIG5vIE5TIHJ1biBsb29wIGlzIHJ1bm5pbmcsCgkgIHNob3VsZCBiZSBzdGFydGVkIG9ubHkgb25jZSBhbmQgc2hhcmVkIGFjcm9zcyBhbGwgdGhlIGluc3RhbmNlcwoJICBydW5uaW5nCgoyMDEzLTA3LTA5IDE5OjEwOjE3ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGNvcnJlY3QgYXJndW1lbnQgb3JkZXIgaW4gZ3N0X3V0aWxfdWludDY0X3NjYWxlX2ludF9yb3VuZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzMzUwCgoyMDEzLTA3LTA5IDE3OjQyOjU5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogS2VlcCBjYXBzIG9yZGVyIGZyb20gdGhlIHBlZXIgb3IgdGhlIGZpbHRlcgoKMjAxMy0wNy0wOSAxMjo0MjoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogRml4IGhhbmRsaW5nIG9mIGJ1ZmZlcnMgd2l0aG91dCBhIGR1cmF0aW9uCgkgIFdlJ2xsIGhhdmUgdG8gcG9wIGJ1ZmZlciBmcm9tIGNvbGxlY3RwYWRzIGFuZCBzdG9yZSBpdAoJICBpbnRlcm5hbGx5IG9ubHkgdG8gZ2V0IHRoZSB0aW1lc3RhbXAgb2YgdGhlIG5leHQgYnVmZmVyLgoJICBJZiB3ZSBjb250aW51ZSB0byBrZWVwIGl0IGluIGNvbGxlY3RwYWRzLCBubyBuZXcgYnVmZmVyCgkgIHRvIGNhbGN1bGF0ZSB0aGUgZW5kIHRpbWUgd2lsbCBldmVyIGFycml2ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzc0MwoKMjAxMy0wNy0wOSAxMTo1MzowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogRml4IG5lZ290aWF0aW9uIHdpdGggMC8xIGZyYW1lcmF0ZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzc0MwoKMjAxMy0wNy0wOSAxMToxNzo1OSArMDIwMCAgSm9uYXMgSG9sbWJlcmcgPGpvbmFzaGdAYXhpcy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogVW5sb2NrIHN0cmVhbSBsb2NrIGFmdGVyIHVzZQoJICBTdHJlYW0gbG9jayBvZiBzaW5rIHBhZCB3YXMgbm90IHVubG9ja2VkIGFmdGVyIG5vbi11cGRhdGluZyBzZWVrLgoKMjAxMy0wNi0yNyAxMzoyNjozMSArMDIwMCAgT2dueWFuIFRvbmNoZXYgPG9nbnlhbkBheGlzLmNvbT4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkgIG11bHRpcGFydG11eDogUmUtc2V0IG5lZWRfc2VnbWVudCBmbGFnIGFmdGVyIEZMVVNIX1NUT1AKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzE4MgoKMjAxMy0wNy0wNSAxMTo1MTowNCArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBidWZmZXJwb29sOiBkb24ndCBmb3JnZXQgdG8gcmVsZWFzZSBidWZmZXIgb24gZXJyb3IKCSAgSWYgdGhlIHBvb2wgaXMgc3RvcHBlZCB3aGlsZSBnc3RfdjRsMl9idWZmZXJfcG9vbF9kcWJ1ZigpIHdhaXRzIGZvciBhCgkgIGJ1ZmZlciB0aGVuIHRoZSByZXR1cm4gdmFsdWUgaXMgR1NUX0ZMT1dfRkxVU0hJTkcuIEluIHRoaXMgY2FzZSB0aGUgYnVmZmVyCgkgIHRvIHF1ZXVlIG11c3QgYWxzbyBiZSByZWxlYXNlZC4gT3RoZXJ3aXNlIGlzIHdpbGwgbmV2ZXIgYmUgZGVsZXRlZCBvcgoJICByZXR1cm5lZCB0byBpdHMgcG9vbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzc2NAoKMjAxMy0wNy0wOCAxNDoxNToxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgcnRwOiBGYWlsIHBheWxvYWRpbmcgdW5pdCB0ZXN0IGlmIGFuIGVycm9yIG1lc3NhZ2UgaXMgcmVjZWl2ZWQKCjIwMTMtMDctMDggMTQ6MDk6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSAgcnRwaDI2M3BwYXk6IERvbid0IHBhc3MgdXBzdHJlYW0gZmlsdGVyIGNhcHMgdG8gZG93bnN0cmVhbQoJICBEb3duc3RyZWFtIHVzdWFsbHkgY2FuJ3QgYWNjZXB0IHZpZGVvL3gtaDI2MyBidXQgb25seSBhcHBsaWNhdGlvbi94LXJ0cCwKCSAgc28gd2Ugd291bGQgYWx3YXlzIGdldCBhbiBlbXB0eSBpbnRlcnNlY3Rpb24gaGVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjYzMgoKMjAxMy0wNy0wNSAyMjowMDozNyArMDIwMCAgUGlvdHIgRHLEhWcgPHBpb3RyZHJhZ0BnbWFpbC5jb20+CgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgcG86IHVwZGF0ZSBQT1RGSUxFUy5pbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzNjg1CgoyMDEzLTA3LTAyIDExOjEzOjI1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhdm9pZCBzb21lIHN0cmR1cAoKMjAxMy0wNy0wMiAxMDozNzo1MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYWRkIHNlbGVjdC1zdHJlYW0gc2lnbmFsCgkgIEFkZCBhIHNpZ25hbCB0byBsZXQgdGhlIGFwcCBzZWxlY3Qgd2hhdCBzdHJlYW1zIHdpbGwgYmUgc2VsZWN0ZWQuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM0NDE5CgoyMDEzLTA3LTAyIDEwOjM3OjM1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhdm9pZCBzdHJkdXAKCjIwMTMtMDctMDIgMTA6MTI6MTcgKzAyMDAgIEouIFJpY2sgUmFtc3RldHRlciA8cmljay5yYW1zdGV0dGVyQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvUkVBRE1FOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwOiBGaXggZG9jdW1lbnRhdGlvbiBhbmQgY29tbWVudHMgdG8gdXNlIHJ0cGJpbiBpbnN0ZWFkIG9mIG9sZCBnc3RydHBiaW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzQyNgoKMjAxMy0wNy0wMSAxNjo1NTowMSArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGRvbid0IGV4dHJhY3QgZGF0YSBmcm9tIGNhcHMgdHdpY2UKCSAgZ3N0X3ZpZGVvX2luZm9fZnJvbV9jYXBzKCkgYWx3YXlzIGV4dHJhY3Qgd2lkdGgsIGhlaWdodCwgaW50ZXJsYWNlIG1vZGUgYW5kCgkgIGZyYW1lcmF0ZSBub3cuIEl0IGlzIG5vIGxvbmdlciBuZWNlc3NhcnkgdG8gZG8gaXQgYWdhaW4gZm9yIGVuY29kZWQKCSAgZm9ybWF0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzM5OQoKMjAxMy0wNi0yMCAwOTo0MTo0OCAtMDMwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIHNvdXBodHRwc3JjOiBhbHNvIGNvbnNpZGVyIHN0b3AgcG9zaXRpb25zIGluIHNlZWtzCgkgIFVzZSBzZWVrIHN0b3AgcG9zaXRpb24gYXMgcmFuZ2UgZW5kIGZvciByZXF1ZXN0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyMjA2CgoyMDEzLTA2LTE5IDE0OjA2OjQwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBzb3VwaHR0cHNyYzogYWxsb3cgc2Vla3MgaW4gcmVhZHkKCSAgT24gaXNfc2Vla2FibGUsIGNoZWNrIGlmIHRoZSBzZXJ2ZXIncyBoZWFkZXJzIGhhdmUgYWxyZWFkeSBiZWVuCgkgIHJlY2VpdmVkLiBJZiBub3QsIGRvIGEgSEVBRCByZXF1ZXN0IHRvIGdldCB0aGVtIGJlZm9yZSByZXNwb25kaW5nCgkgIHRvIGJhc2VzcmMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDIyMDYKCjIwMTMtMDctMDEgMTc6Mjg6NTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFkZCBzaWduYWwgdG8gbm90aWZ5IG9mIHRoZSBTRFAKCSAgVGhpcyB3YXksIHRoZSBhcHAgY2FuIGxvb2sgYW5kIG1vZGlmeSB0aGUgU0RQLgoKMjAxMy0wNi0yMSAxODoxMDoyOCArMDIwMCAgS2lzaG9yZSBBcmVwYWxsaSA8a2lzaG9yZS5hcmVwYWxsaUBnbWFpbC5jb20+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5LmM6CgkgIGdka3BpeGJ1Zm92ZXJsYXk6IEFsbG93IG5lZ2F0aXZlIG9mZnNldHMgdG8gc3BlY2lmeSBvZmZzZXQgZnJvbSBib3R0b20vcmlnaHQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjgyNgoKMjAxMy0wNi0zMCAyMTowMToyMCArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvTWFrZWZpbGUuYW06CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBjb21wdXRlIGZyYW1lcmF0ZSBmcm9tIGF2ZXJhZ2Ugc2FtcGxlIGR1cmF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDMzNTAKCjIwMTMtMDYtMjUgMjE6MTY6MzggKzAyMDAgIEFsYmFuIEJyb3dhZXlzIDxwcmFoYWxAeWFob28uY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogQWRkIGZsdnZlcnNpb24gMSB0byB0aGUgZmxhc2gtdmlkZW8gY2FwcwoJICBUaGlzIGFsbG93cyB1c2luZyBhdmRlY19mbHYgd2hpY2ggcmVxdWlyZXMgdGhpcyBmaWVsZCB0byBiZQoJICBwcmVzZW50IGluIHRoZSBjYXBzLiBGTFYgb25seSBzdXBwb3J0cyBmbGFzaC12aWRlbyB2ZXJzaW9uIDEKCSAgcmlnaHQgbm93LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzMDc2CgoyMDEzLTA3LTAxIDExOjM3OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgZGVpbnRlcmxlYXZlOiBEb24ndCBob2xkIG9iamVjdCBsb2NrIHdoaWxlIHNlbmRpbmcgZXZlbnRzIGRvd25zdHJlYW0KCSAgQmFzZWQgb24gYSBwYXRjaCBieSBLaXNob3JlIEFyZXBhbGxpIDxraXNob3JlLmFyZXBhbGxpQGdtYWlsLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzExNAoKMjAxMy0wNy0wMSAxMDo1OTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IEFkZCBNUEVHNCB2aWRlbyBwcm9maWxlL2xldmVsIHRvIHRoZSBjYXBzCgoyMDEzLTA3LTAxIDEwOjU2OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogQWRkIEFBQyBwcm9maWxlL2xldmVsIHRvIHRoZSBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDMzMTIKCjIwMTMtMDYtMjggMTU6MjE6NTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5oOgoJICB2b3JiaXNwYXk6IGFkZCBzdXBwb3J0IGZvciBjb25maWctaW50ZXJ2YWwKCSAgQWxpZ24gY29kZSB3aXRoIHRoZSB0aGVvcmEgcGF5bG9hZGVyIGFuZCBhZGQgc3VwcG9ydCBmb3IgdGhlIGNvbmZpZy1pbnRlcnZhbCB0bwoJICBwZXJpb2RpY2FsbHkgc2VuZCBvdXQgdGhlIGNvbmZpZyBoZWFkZXJzLgoKMjAxMy0wNi0yOCAxNToyMToxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgIHRoZW9yYXBheTogc21hbGwgY2xlYW51cHMKCjIwMTMtMDYtMjggMTI6MDg6MTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICB0aGVvcmFwYXk6IGhhbmRsZSBzdHJlYW1oZWFkZXJzIGFzIHdlbGwKCjIwMTMtMDYtMjggMTI6MDY6MjEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICB2b3JiaXNwYXk6IGFsd2F5cyBjb2xsZWN0IGhlYWRlcnMgb24gZGF0YQoJICBXaGVuIHdlIHNlZSBhIGRhdGEgcGFja2V0LCBhbHdheXMgY2hlY2sgaWYgd2UgbmVlZCB0byBjb2xsZWN0IGFueSBwcmV2aW91cwoJICBoZWFkZXJzLgoKMjAxMy0wNi0yOCAxMTo0MzoxNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkgIHZvcmJpc3BheTogaGFuZGxlIHN0cmVhbWhlYWRlciBhcyB3ZWxsCgkgIFRha2UgY29uZmlnIHN0cmluZ3MgZnJvbSB0aGUgc3RyZWFtaGVhZGVyIHdoZW4gd2UgY2FuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjQzMTIKCjIwMTMtMDYtMjcgMDc6NDA6MjkgKzAyMDAgIERhdmlkIFN2ZW5zc29uIEZvcnMgPGRhdmlkc2ZAYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogYXZvaWQgZG91YmxlIGJ1ZmZlciB1bm1hcCBvbiBlcnJvcgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzMTcxCgoyMDEzLTA2LTI3IDE3OjAyOjE0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiByZXNldC1zeW5jIGJlZm9yZSBwbGF5CgkgIENhbGwgcmVzZXQtc3luYyBvbiB0aGUgcnRwYmluIGJlZm9yZSB3ZSBnbyB0byBwbGF5aW5nLiBUaGlzIG1ha2VzIHVzIHJlcXVpcmUgU1IKCSAgcGFja2V0cyBmb3IgYWxsIHN0cmVhbXMgYWdhaW4gYmVmb3JlIHdlIGF0dGVtcHQgdG8gc3luYyB0aGVtLiBJZiB3ZSBkb24ndCByZXNldCwKCSAgaXQgbWlnaHQgYmUgdGhhdCB3ZSBjb21iaW5lIFNSIHBhY2tldHMgZnJvbSBiZWZvcmUgYW5kIGFmdGVyIHRoZSBQQVVTRS9QTEFZSU5HCgkgIHN0YXRlIGNoYW5nZSBhbmQgZW5kIHVwIHdpdGggaHVnZSBib2d1cyBvZmZzZXRzLgoKMjAxMy0wNi0yNyAxNjoyMzoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGltcHJvdmUgc3luYyBvbiBmaXJzdCBwYWNrZXRzCgkgIERvbid0IHRocm93IGF3YXkgdGhlIGZpcnN0IFJUQ1AgcGFja2V0IGlmIGl0IGFycml2ZXMgYmVmb3JlIHRoZSBmaXJzdAoJICBSVFAgcGFja2V0IGJ1dCByZW1lbWJlciBhbmQgdXNlIGl0IHRvIHNpZ25hbCBzeW5jIG9uY2Ugd2UgZ2V0IHRoZQoJICBSVFAgcGFja2V0LgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MTQwMAoKMjAxMy0wNi0yNyAxNjoxNTo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IG9ubHkgc2lnbmFsIGxvb3Agd2hlbiBhY3RpdmUKCSAgT25seSBzaWduYWwgdGhlIGxvb3AgZnVuY3Rpb24gd2hlbiBpdCBpcyBhY3RpdmUuCgoyMDEzLTA2LTI3IDE2OjEzOjM3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogc2lnbmFsIHRpbWVzdGFtcCBkaXNjb250CgkgIFdlIGNhbiBub3cgdXNlIHRoZSBSRVNZTkMgYnVmZmVyIGZsYWcgdG8gbWFyayBhIHRpbWVzdGFtcCBkaXNjb250IHdoZW4gd2UgdXBkYXRlCgkgIHRoZSB0cy1vZmZzZXQgcHJvcGVydHkuCgoyMDEzLTA2LTI2IDIwOjQ5OjQxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIGpwZWdwYXk6IHR1cm4gc29tZSBlcnJvcnMgaW50byB3YXJuaW5ncwoJICBUdXJuIHNvbWUgZXJyb3JzIGludG8gd2FybmluZ3MsIHdlIGNhbiBjb250aW51ZSBwcm9jZXNzaW5nIHNvIHRoaXMgc2hvdWxkCgkgIG5vdCBiZSBmYXRhbC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NzA3OQoKMjAxMy0wNi0yNiAxNDo1ODo1MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBhdm9pZCBzb21lIGZsdXNoZXMKCjIwMTMtMDYtMjYgMTQ6NDE6MDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGhhbmRsZSBkYXRhIG1lc3NhZ2Ugd2hlbiB3YWl0aW5nIGZvciByZXBseQoJICBXaGVuIHdlIGFyZSB3YWl0aW5nIGZvciBhIHNlcnZlciByZXBseSwgaGFuZGxlIGRhdGEgbWVzc2FnZXMgaW5zdGVhZCBvZgoJICBpZ25vcmluZyB0aGVtLgoKMjAxMy0wNi0yNiAxNDoyNzozNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogaGFuZGxlIGRhdGEgbWVzc2FnZXMgaW4gc2VwYXJhdGUgbWV0aG9kCgkgIFJlZmFjdG9yIGFuZCBtYWtlIGEgbWV0aG9kIHRvIGhhbmRsZSBhIGRhdGEgbWVzc2FnZS4KCjIwMTMtMDYtMjUgMjA6MzY6MTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFkZCBzb21lIG1vcmUgZG9jcyB0byBoYW5kbGUtcmVxdWVzdCBzaWduYWwKCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI3MDUKCjIwMTMtMDYtMTAgMTc6MjA6MzAgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIFNlbmQgYSBjbG9ja19wcm92aWRlIG1lc3NhZ2Ugb24gdGhlIGJ1cyB3aGVuIHdlIGdldCBhIG5ldGNsb2NrCgoyMDEzLTA2LTEwIDE3OjIwOjE0IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IEV4cG9zZSB1c2UtcGlwZWxpbmUtY2xvY2sgcHJvcGVydHkKCjIwMTMtMDYtMjQgMTc6MTE6MzUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICB1ZHBzaW5rOiBiaW5kIHRvIHRoZSBnaXZlbiBpbnRlcmZhY2UKCSAgQWN0dWFsbHkgY2FsbCBCSU5EVE9ERVZJQ0UgdG8gYmluZCB0byB0aGUgaW50ZXJmYWNlIGFzIGdpdmVuIGJ5IHRoZQoJICBwcm9wZXJ0eS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjgxOQoKMjAxMy0wNi0yMiAxMDo1OToxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBFcnJvciBvdXQgZ3JhY2VmdWxseSBpZiB3ZSBnZXQgYW4gdW5zdXBwb3J0ZWQgY29sb3IgZm9ybWF0CgkgIEluIHRoZW9yeSB3ZSBjYW4gb25seSBnZXQgSTQyMCB0aG91Z2gsIGp1c3QgdG8gYmUgb24gdGhlIHNhZmUgc2lkZS4KCjIwMTMtMDYtMjIgMTA6NTc6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC92cHgvZ3N0dnA5ZGVjLmM6CgkqIGV4dC92cHgvZ3N0dnA5ZW5jLmM6CgkgIHZwOTogQWRkIHN1cHBvcnQgZm9yIFlWMTIsIFk0MkIgYW5kIFk0NDQgY29sb3IgZm9ybWF0cwoJICBUaGUgZW5jb2RlciBkb2VzIG5vdCB3b3JrIHdpdGggWTQyQiBhbmQgWTQ0NCB5ZXQgaXQgc2VlbXMuCgoyMDEzLTA2LTIyIDEwOjI2OjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvdnB4L2dzdHZwOWRlYy5jOgoJICB2cDlkZWM6IFVwZGF0ZSBkZWZhdWx0IHBvc3Rwcm9jIHNldHRpbmdzIGZyb20gdnA5X2R4X2lmYWNlLmMKCjIwMTMtMDYtMjEgMTM6MTE6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL3dlYm0tbXV4LmM6CgkgIG1hdHJvc2thOiBBZGQgaW5pdGlhbCBWUDkgc3VwcG9ydAoKMjAxMy0wNi0yMSAxMzowNzozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvdnB4L01ha2VmaWxlLmFtOgoJKiBleHQvdnB4L2dzdHZwOWRlYy5jOgoJKiBleHQvdnB4L2dzdHZwOWRlYy5oOgoJKiBleHQvdnB4L2dzdHZwOWVuYy5jOgoJKiBleHQvdnB4L2dzdHZwOWVuYy5oOgoJKiBleHQvdnB4L3BsdWdpbi5jOgoJICB2cHg6IEFkZCBpbml0aWFsLCBleHBlcmltZW50YWwgVlA5IHN1cHBvcnQKCjIwMTMtMDYtMjEgMTA6MzI6MzAgKzAyMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aSBhdCBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3A6IGdvIGJhY2sgaW50byB0aGUgbG9vcCBhZnRlciBkb2luZyBwYXVzZQoJICBBZnRlciB3ZSBkbyBhIHBhdXNlIHJlcXVlc3QsIGdvIGJhY2sgdG8gbG9vcCBtb2RlIHNvIHRoYXQgd2UgY2FuIGxpc3RlbgoJICBmb3Igc2VydmVyIG1lc3NhZ2VzIGFnYWluLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjcwNQoKMjAxMy0wNi0yMCAyMzoxNjoxNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgcnRwcHRkZW11eDogV2FpdCBhZnRlciB0aGUgY2FwcyB0byBmb3J3YXJkIHRoZSBvdGhlciBldmVudHMKCSAgRmlyc3QgZm9yd2FyZCB0aGUgc3RyZWFtLXN0YXJ0LCB0aGVuIHRoZSBjYXBzLCB0aGVuIHRoZSByZXN0CgoyMDEzLTA2LTIxIDAwOjQyOjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgeGltYWdlc3JjOiBjbGVhciBkdHMgb24gYnVmZmVyIGFjcXVpcmVkIGZyb20gcG9vbAoJICBXaGVuIHNldHRpbmcgdGltZXN0YW1wcyBvbiBvdXRnb2luZyBidWZmZXJzLCBjbGVhciB0aGUKCSAgZHRzIGV4cGxpY2l0bHksIG90aGVyd2lzZSBpdCBtYXkgZW5kIHVwIGJlaW5nIHNldCB0byBhCgkgIGJvZ3VzIHZhbHVlIGZyb20gbGFzdCB0aW1lIGl0IHdhcyB1c2VkLiBBdm9pZHMgZXZlcnkKCSAgc2Vjb25kIG9yIHNvIGJ1ZmZlcidzIGR0cyBiZWluZyBzZXQgdG8gMC4gTm90IHRoYXQgaXQKCSAgc2hvdWxkIG1hdHRlciBmb3IgcmF3IHZpZGVvLgoKMjAxMy0wNi0yMCAxNTozNToxMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSAgdjRsMjogZG9uJ3QgcmVkZWZpbmUgdGhlIFBFUkZPUk1BTkNFIGRlYnVnIHZhcmlhYmxlCgkgIEl0IGlzIGFscmVhZHkgZGVmaW5lZCBpbiBjb3JlLgoJICBmaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNzMyCgoyMDEzLTA2LTIwIDE0OjQzOjQ3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggcmFjZSBpbiBzdGF0ZSBjaGFuZ2UgdG8gcGF1c2VkCgkgIFdoZW4gd2UgZ28gdG8gcGF1c2VkLCB3ZSBmaXJzdCBmbHVzaCB0aGUgY29ubmVjdGlvbiBhbmQgdGhlbiBzZW5kIHRoZSBwYXVzZQoJICBjb21tYW5kLiBBcyBhIHJlc3VsdCBvZiB0aGUgZmx1c2hpbmcsIHRoZSBzY2hlZHVsZWQgcGF1c2VkIGNvbW1hbmQgY2FuIGdldAoJICBsb3N0LiBXYWl0IHVudGlsIHRoZSBjb25uZWN0aW9uIGlzIGNvbXBsZXRlbHkgZmx1c2hlZCBhbmQgdGhlIHJ0c3AgdGFzayBpcwoJICB3YWl0aW5nIGJlZm9yZSBpc3N1aW5nIHRoZSBwYXVzZWQgb3IgcGxheWluZyByZXF1ZXN0LgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNzA1CgoyMDEzLTA2LTIwIDExOjMxOjIyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGhhbmRsZSBTRUdNRU5UIHF1ZXJ5CgoyMDEzLTA2LTE5IDEyOjM3OjMxICswMjAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogT3B0aW1pemUgbmVnb3RpYXRpb24gYnkgcmVtb3ZpbmcgdGhlIHF1ZXJ5IGZpbHRlcgoJICBBcyBjYW1lcmFzIHRlbmQgdG8gaGF2ZSBhIHF1aXRlIHNwZWNpZmljIHNldCBvZiBjYXBhYmlsaXRpZXMgKHNwZWNpZmljCgkgIGZyYW1lcmF0ZXMgZm9yIGVhY2ggcmVzb2x1dGlvbiksIGdldHRpbmcgdGhlIHBlZXIgY2FwcyBmaWx0ZXJlZCBieSBvdXIKCSAgcHJvYmVkIGNhcHMgY2FuIGNhdXNlIGEgYmlnIGluY3JlYXNlIGluIHRoZSBjYXBzIHNpemUgd2hpY2ggc2xvd3MgZG93bgoJICB0aGluZ3MgcXVpcmUgYSBiaXQuCgkgIEFzIGZvciBuZWdvdGlhdGlvbiB2NGwyIGl0ZXJhdGVzIHRocm91Z2ggdGhlIGNhcHMgb2YgdGhlIHBlZXIgdG8gZmluZCB0aGUKCSAgZmlyc3QgaW50ZXJzZWN0aW9uIHdpdGggdGhlIHByb2JlZCBjYXBzLCBnZXR0aW5nIHRoZSBmdWxseSBleHBhbmRlZAoJICBpbnRlcnNlY3Rpb24gb2YgY2FwYWJpbGl0aWVzIGlzIG5vdCB1c2VmdWwuCgkgIFVzaW5nIHRoZSBzYW1lIHRlc3RjYXNlIGFzIGZvciBidWcgIzcwMjYzMiwgYWRkaW5nIHRoaXMgcGF0Y2ggb24gdG9wIG9mCgkgIHRoZSBwYXRjaGVzIHN1Z2dlc3RlZCB0aGVyZSBzcGVlZHMgdXAgZ2V0dGluZyB0aGUgaW5pdGFsIGZyYW1lIGZyb20KCSAgYXJvdW5kIH4xNC0xNSBzZWNvbmRzIHRvIGFyb3VuZCB+My00IHNlY29uZHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI2MzgKCjIwMTMtMDYtMTkgMTA6MzA6NTYgKzAyMDAgIEtpc2hvcmUgQXJlcGFsbGkgPGtpc2hvcmUuYXJlcGFsbGlAZ21haWwuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZHVyYXRpb24gcXVlcnkgcmV0dXJucyB6ZXJvIGZvciBEViB2aWRlbyBpbiBhdmkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjYyNQoKMjAxMy0wNi0xOSAxMTowNjozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IERpc2FibGUgdXNhZ2Ugb2YgYWxsb2NhdGlvbiBxdWVyaWVzCgkgIFRoaXMgY2FuIG9ubHkgcmVsaWFibHkgd29yayBpZiBkZW11eGVycyBoYXZlIGEKCSAgc2VwYXJhdGUgc3RyZWFtaW5nIHRocmVhZCBwZXIgc3JjcGFkLiBUaGlzIHNob3VsZCBiZQoJICBkb25lIGluIGEgZGVtdXhlciBiYXNlIGNsYXNzLCB3aGljaCBpbnRlZ3JhdGVzIHBhcnRzCgkgIG9mIG11bHRpcXVldWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTg1NgoKMjAxMy0wNi0xMSAxNTowMjoyMSArMDEwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIEF2b2lkIHNraXBwaW5nIG1vb3YgYXRvbXMgZm9yIGZyYWdtZW50ZWQgTVA0IGZpbGVzLgoJICBidWcgIzcwMDUwNQoJICBGb2xsb3dpbmcgYSByZXByZXNlbnRhdGlvbiBjaGFuZ2UgdGhhdCBjYXVzZXMgYSByZXNvbHV0aW9uIGNoYW5nZSwKCSAgdGhlIHZpZGVvIGRlY29kZXIgZmFpbHMgdG8gZGVjb2RlIGNvcnJlY3RseS4gRGFzaGRlbXV4IGRldGVjdHMgdGhlCgkgIHJlcHJlc2VudGF0aW9uIGNoYW5nZSBhbmQgcHVzaGVzIGEgbmV3IGNhcHMgZXZlbnQgYW5kIGFuCgkgIGluaXRpYWxpemF0aW9uIHNlZ21lbnQgKGEgbmV3IG1vb3YgYXRvbSkgdG8gdGhlIGRvd25zdHJlYW0gcXRkZW11eCwKCSAgYnV0IGl0IGRvZXNuJ3QgaGFuZGxlIHRoaXMgbmV3IG1vb3YgeWV0LCBpdCB3aWxsIG9ubHkgcGFyc2UgdGhlCgkgIGZpcnN0IG9uZSBpdCByZWNlaXZlcy4KCSAgVGhpcyBjb21taXQgY2hhbmdlcyBxdGRlbXV4IHRvIGFjY2VwdCBhIG5ldyBtb292IGluIGEgZGFzaCBiaXRzdHJlYW0KCSAgc3dpdGNoaW5nIHNjZW5hcmlvLgoKMjAxMy0wNi0xOSAwMDo0Mjo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNlbmQgc3RyZWFtLXN0YXJ0IG9ubHkgb25jZSBmb3IgZWFjaCBzdHJlYW0KCSAgRG8gbm90IHNlbmQgc3RyZWFtIHN0YXJ0IGFnYWluIHdoZW4gcmVjb25maWd1cmluZyBhIHBhZCBmb3IgbmV3IGNhcHMuCgkgIFRoYXQgaXMgY29tbW9uIGZvciBhZGFwdGl2ZSBzdHJlYW1zCgoyMDEzLTA2LTA1IDE3OjAyOjQ5ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBmaXggc3VwcG9ydCBpbiBWTSdzIHdpdGhvdXQgaGFyZHdhcmUgYWNjZWxlcmF0aW9uCgoyMDEzLTA2LTE1IDEyOjI5OjMxICswMjAwICBKZW5zIEdlb3JnIDxtYWlsQGplbnNnZS5vcmc+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJICBydHBtcDJ0ZGVwYXk6IGFjY2VwdCBtaXNsYWJlbGxlZCBzdHJlYW1zIGZyb20gR1N0cmVhbWVyIDAuMTAgYXMgd2VsbAoJICBUaGUgbXAydCBwYXlsb2FkZXIgaW4gMC4xMCBtaXNsYWJlbGxlZCB0aGUgc3RyZWFtcyBhcyBNUDJULUVTCgkgIGluc3RlYWQgb2YgTVAyVCwgc28gYWNjZXB0IHRoYXQgYXMgd2VsbCBmb3IgY29tcGF0aWJpbGl0eSByZWFzb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNDU3CgoyMDEzLTA2LTE2IDA1OjQwOjEzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBtYW5hZ2UgZWxlbWVudCBzdGF0ZSBvdXJzZWx2ZXMKCSAgTG9jayB0aGUgc3RhdGUgb2YgdGhlIGFsbCBvdXIgZWxlbWVudHMgYW5kIG1hbmFnZSB0aGVpciBzdGF0ZXMKCSAgb3V0c2VsdmVzLiBCZWNhdXNlIHdlIGFyZSB3b3JraW5nIGFzeW5jLCB3ZSBjYW4ndCByZWx5IG9uIHRoZSBzdGF0ZQoJICBjaGFuZ2UgZnVuY3Rpb24gdG8gc2V0IHRoZSBzdGF0ZSBhdCB0aGUgcmlnaHQgdGltZSBvciB0byByZXR1cm4gdGhlCgkgIHJpZ2h0IHJldHVybiB2YWx1ZSBmcm9tIHRoZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDIwNDYKCjIwMTMtMDYtMTQgMTQ6MDk6NTAgKzAyMDAgIEJydW5vIEdvbnphbGV6IDxzdGVueWFrQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBEb24ndCB1bmxvY2sgc3RyZWFtIGxvY2sgd2l0aG91dCBsb2NraW5nIGl0IGZpcnN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDIxNjcKCjIwMTMtMDYtMTMgMTY6MDA6MzMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogVXNlIHRoZSByaWdodCBoYXNodGFibGUgdG8gY2FsY3VsYXRlIGJhbmR3aWR0aAoJICBEb24ndCB1c2UgYW4gdW51c2VkIGhhc2h0YWJsZSB0byBpdGVyYXRlIHNvdXJjZSB0byBjYWxjdWxhdGUgYmFuZHdpZHRoLgoJICBSZW1vdmUgdW51c2VkIGNvZGUuCgoyMDEzLTA2LTEyIDE2OjI3OjI0IC0wNjAwICBCcmVuZGFuIExvbmcgPGIubG9uZ0BjYWJsZWxhYnMuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBwdWxzZXNpbms6IFJlcXVpcmUgUHVsc2VBdWRpbyA+PSAyLjAKCSAgVGhpcyBpcyBuZWVkZWQgZm9yIHBhX2Zvcm1hdF9pbmZvX2dldF9wcm9wXyogZnVuY3Rpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2NDU5CgoyMDEzLTA2LTEzIDE0OjIzOjA4ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkgIFJldmVydCAicHVsc2VzaW5rOiBNYWtlIDIuMCBkZXBlbmRlbmN5IG9wdGlvbmFsIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDAxNDU3MDI3ZTBkMzg0YWNhM2U1NTFhZTY4NGUwYWEwNzRlZTU0OTguCgkgIFdlJ2xsIGp1c3QgZGVwZW5kIG9uIFB1bHNlQXVkaW8gMi4wIG9yIGFib3ZlIGluc3RlYWQgb2YgaGF2aW5nIHRoZSBidWcKCSAgcGFydGlhbGx5IGZpeGVkIGJhc2VkIG9uIHRoZSBpbnN0YWxsZWQgbGlicHVsc2UgdmVyc2lvbi4KCjIwMTMtMDYtMTMgMTI6NDA6MTUgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSAgcHVsc2VzaW5rOiBNYWtlIDIuMCBkZXBlbmRlbmN5IG9wdGlvbmFsCgkgIFRoZSBnZXRjYXBzIGZ1bmN0aW9uIHdlIGFkZGVkIHVzZXMgc29tZSBwYV9mb3JtYXRfaW5mb19nZXRfcHJvcC4uLgoJICBhY2Nlc3NvciBmdW5jdGlvbnMgdGhhdCB3ZXJlIG9ubHkgYWRkZWQgaW4gMi4wLCBzbyB3ZSBvbmx5IGhhdmUgb3VyCgkgIGdldGNhcHMgaW1wbGVtZW50YXRpb24gZXhpc3QgaWYgd2UncmUgY29tcGlsaW5nIGFnYWluc3QgbGlicHVsc2UgMi4wIG9yCgkgIGFib3ZlLgoJICBFdmVudHVhbGx5LCB3ZSBjb3VsZCBidW1wIHRoZSBtaW5pbXVtIHJlcXVpcmVtZW50IHRvIDIuMCBvciBhYm92ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjQ1OQoKMjAxMy0wNi0xMiAxODoyMzo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgUmV2ZXJ0ICJ2aWRlb21peGVyOiBXaGVuIGFsbCBzaW5rcGFkcyBhcmUgZW9zLCB1cGRhdGUgb3V0cHV0IHNlZ21lbnQgc3RvcCBhbmQgZm9yd2FyZCBpdCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAyZDM5MTBmYzc5MDFiNWYyOWUxNmMwZmRkNGU5MDY3YTZkN2Y2NmZlLgoJICBJdCdzIG5vdCBzb2x2aW5nIGFueSBwcm9ibGVtIGFuZCBpbnN0ZWFkIGNhdXNlcyBjb2RlIHRvIGZhbGwgYXBhcnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDE1MTkKCjIwMTMtMDEtMDkgMDk6Mzk6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogbWFyayBzdWJ0aXRsZSBzdHJlYW1zIGFzIHNwYXJzZSBpbiBzdHJlYW0tc3RhcnQgZXZlbnQKCSAgQW5kIGFsc28gbWFyayB0aGUgc3RyZWFtcyB0aGF0IHNob3VsZCBiZSBzZWxlY3RlZCBieSBkZWZhdWx0IGlmCgkgIG1hcmtlZCBzbyBpbiB0aGUgaGVhZGVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwMDY0OAoKMjAxMy0wNi0xMSAyMjoxMjo1OCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWFvcmMtZGlzdC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hb3JjLWRpc3QuaDoKCSAgYXVkaW9wYW5vcmFtYTogYWRkIHByZWJ1aWx0IGZpbGVzCgoyMDEzLTA2LTExIDIwOjI3OjUxICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9wYW5vcmFtYS5jOgoJICBhdWRpb3Bhbm9yYW1hOiBjbGVhbnVwIGFuZCBleHBhbmQgdGhlIHRlc3RzCgkgIFNwbGl0IG91dCB0d28gbW9yZSB0ZXN0cy4gRXh0cmFjdCBtb3JlIGNvbW1vbiBjb2RlIGludG8gaGVscGVycy4gQWRkIGNvdmVyYWdlIGZvciBmbG9hdC4KCjIwMTMtMDYtMTAgMjE6MTU6MjAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkgIGF1ZGlvcGFub3JhbWE6IGNsZWFudXAgb2YgdHJhbnNmb3JtKCkKCSAgT25seSBtYXAgaW5wdXQgaWYgd2UgYXJlIHJlYWRpbmcgaXQuIENsZWFudXAgdGhlIGxvZ2dpbmcgYW5kIHRoZSBjb21tZW50cyBhIGJpdC4KCjIwMTMtMDYtMDkgMjA6MzU6MTggKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWFvcmMub3JjOgoJICBhdWRpb3Bhbm9yYW1hOiB1c2Ugb3JjIHRvIHNwZWVkdXAgcHJvY2Vzc2luZwoJICBVc2Ugc3BlY2lhbCB2YXJpYW50cyBmb3IgdGhlIGNhc2Ugd2hlbiB3ZSBkb24ndCBjaGFuZ2UgdGhlIHBhbm9yYW1hIChwYW49MC4wKS4KCSAgU2ltcGxpZnkgdGhlIHByb2Nlc3NpbmcgZnVuY3Rpb25zIGJ5IHBhc3NpbmcgdGhlIHBhbm9yYW1hIHZhbHVlIGRpcmVjdHkgaW5zdGVhZAoJICBvZiB0aGUgaW5zdGFuY2UuIFVzZSBvcmMgZm9yIGNsZWFyaW5nIGJ1ZmZlcnMgdG9vLgoKMjAxMy0wNi0xMSAxOToyNDo0OSArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBlcGl0ZWNoLmV1PgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogY2hlY2sgbGFzdCBlbmRfdGltZSBhZnRlciBjb252ZXJzaW9uIHRvIHJ1bm5pbmcgc2VnbWVudAoJICBUaGUgbGFzdCBlbmRfdGltZSB3YXMgc2F2ZWQgYWZ0ZXIgY29udmVyc2lvbiwgc28gdGhlIGNvbXBhcmlzb24KCSAgaGFkIHRvIGJlIG1hZGUgYWZ0ZXIgY29udmVyc2lvbiBmb3IgaXQgdG8gbWFrZSBzZW5zZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTM4NQoKMjAxMy0wNi0xMSAxOToyMjoyMCArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBlcGl0ZWNoLmV1PgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogYWRkIG1peC0+c2VnbWVudC5zdGFydCB0byBvdXRwdXRfZW5kX3RpbWUKCSAgV2hlbiB0aGUgc2VnbWVudCBzdGFydCBpcyBub3QgMCwgdGhpcyBjcmVhdGVkIGEgc2l0dWF0aW9uIHdoZXJlCgkgIHRoZSBvdXRwdXRfZW5kX3RpbWUgaXMgaW5mZXJpb3IgdG8gb3V0cHV0X3N0YXJ0X3RpbWUsIGFuZCB0aGUgZHVyYXRpb24KCSAgb2YgdGhlIG5leHQgYnVmZmVyIGVuZGVkIHVwIHVuZGVyZmxvd2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTM4NQoKMjAxMy0wNi0xMSAxMzo1NDo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFNlbmQgc3RyZWFtIGhlYWRlcnMgYWZ0ZXIgdGhlIHNlZ21lbnQgZXZlbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDc5OQoKMjAxMy0wNi0xMSAxMjoyNjoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IERvIGFsbG9jYXRpb24gcXVlcnkgYWZ0ZXIgZXhwb3NpbmcgYWxsIHBhZHMgYW5kIG5vLW1vcmUtcGFkcwoJICBBbHNvIGNvbmZpZ3VyZSB2aWRlbyBzdHJlYW1zIGFzIGVhcmx5IGFzIHBvc3NpYmxlLgoJICBSZWxhdGVkIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDE4NTYKCSAgYnV0IG5vdCBmaXhpbmcgdGhhdC4KCjIwMTMtMDYtMTEgMTI6MjU6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IERvbid0IGZvcndhcmQgQ0FQUyBldmVudHMgZnJvbSB1cHN0cmVhbQoJICBKdXN0IHVzZSB0aGUgZGVmYXVsdCBwYWQgZXZlbnQgaGFuZGxlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTk3NgoKMjAxMy0wNS0yNiAwODoxODowNCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogQ2FjaGUgdGhlIGdldGNhcHMvYWNjZXB0Y2FwcyBwcm9iZSBzdHJlYW0KCSAgZ2V0Y2FwcyBpcyBjYWxsZWQgZnJlcXVlbnRseSBkdXJpbmcgc3RyZWFtIHNldHVwLCBhbmQgY3JlYXRpbmcgYSBuZXcKCSAgc3RyZWFtIGVhY2ggdGltZSBpcyB2ZXJ5IGluZWZmaWNpZW50LiBUaGVyZSdzIHNvbWUgbW9yZSByb29tIGZvcgoJICBvcHRpbWlzYXRpb24gYnkgY2FjaGluZyB0aGUgcXVlcmllZCBzaW5rIGZvcm1hdHMgYXMgd2VsbCwgYnV0IHRoaXMgbmVlZHMKCSAgc29tZSBtb3JlIGNoYW5nZXMgdG8gbGlzdGVuIGZvciBmb3JtYXQgY2hhbmdlcyBvbiB0aGUgc2luayAoZm9yIHdoZW4KCSAgc3VwcG9ydGVkIGZvcm1hdHMgY2hhbmdlIGJldHdlZW4gcHJvYmUgc3RyZWFtIGNyZWF0aW9uIGFuZCBzaW5rCgkgIHF1ZXJ5aW5nKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjQ1OQoKMjAxMy0wNS0yMyAyMTozOTowOCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmg6CgkgIHB1bHNlc2luazogQWRkIGEgZ2V0Y2FwcyBmdW5jdGlvbgoJICBUaGlzIGFsbG93cyB1cyB0byBoYXZlIG1vcmUgZmluZS10dW5lZCBjYXBzIGluIFJFQURZIG9yIGFib3ZlLiBIb3dldmVyLAoJICB0aGlzIGlzIF9yZWFsbHlfIGluZWZmaWNpZW50IHNpbmNlIHdlIGNyZWF0ZSBhIG5ldyBzdHJlYW0gYW5kIHF1ZXJ5IHNpbmsKCSAgZm9yIGV2ZXJ5IGdldGNhcHMgaW4gUkVBRFksIHdoaWNoIG9uIGEgc2ltcGxlIGdzdC1sYXVuY2ggbGluZSBoYXBwZW5zCgkgIGFib3V0IDM1IHRpbWVzLiBUaGUgbmV4dCBzdGVwIGlzIHRvIGNhY2hlIGdldGNhcHMgcmVzdWx0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjQ1OQoKMjAxMy0wNS0xMCAxMTozMjo0NCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogVGFrZSBhIGxvY2sgb24gdGhlIHJpbmdidWZmZXIgaW4gYWNjZXB0Y2FwcwoJICBUaGlzIGlzIG5lZWRlZCBhcyBhIGNvbmN1cnJlbnQgc3RhdGUgY2hhbmdlIGNvdWxkIHB1bGwgdGhlIGNvbnRleHQgb3IKCSAgc3RyZWFtIG91dCBmcm9tIHVuZGVyIG91ciBmZWV0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2NDU5CgoyMDEzLTA2LTA5IDIwOjI5OjA5ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmg6CgkgIGF1ZGlvcGFub3JhbWE6IG1vdmUgdGhlIGVudW0gdG8gdGhlIGhlYWRlciBhbmQgdXNlIGluc3RlYWQgb2YgZ2ludAoJICBNb3ZlIHRoZSBlbnVtIGZvciB0aGUgcHJvY2Vzc2luZyBtZXRob2QgdG8gdGhlIGhlYWRlciBzbyB0aGF0IHdlIGNhbiB1c2UgdGhlCgkgIHR5cGUgZm9yIHRoZSBpbnN0YW5jZSBzdHJ1Y3QuCgoyMDEzLTA2LTA5IDIwOjMyOjIyICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSAgbGV2ZWw6IHJld29yayB0aGUgdGVzdHMgdG8gY292ZXIgb3RoZXIgZm9ybWF0cyB0b28KCjIwMTMtMDYtMDUgMTY6MzI6MzAgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogbWFrZSBzdXJlIHRoZSBlbGVtZW50IGlzIG5vdCBkZWxldGVkIGJlZm9yZSB0aGUgcG9vbAoJICBUaGUgcG9vbCBhY2Nlc3NlcyBkYXRhIGZyb20gdGhlIHY0bDJvYmplY3Qgc28gaXQgbXVzdCBleGlzdCBhdCBsZWFzdAoJICBhcyBsb25nIGFzIHRoZSBwb29sLiBSZWZjb3VudCB0aGUgZWxlbWVudCB3aGljaCBjb250cm9scyB0aGUgb2JqZWN0CgkgIGxpdmUtdGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTY1MAoKMjAxMy0wNi0wNyAxNTozODoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlicG5nL01ha2VmaWxlLmFtOgoJICBwbmc6IExpbmsgd2l0aCBsaWJnc3RiYXNlIGZvciBHc3RCeXRlUmVhZGVyIGFuZCBHc3RBZGFwdGVyCgoyMDEzLTA2LTA3IDE1OjE1OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZlbmMvTWFrZWZpbGUuYW06CgkgIHdhdmVuYzogTGluayB3aXRoIGxpYmdzdGJhc2UgZm9yIEdzdEJ5dGVXcml0ZXIKCjIwMTMtMDYtMDcgMTM6MjY6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBQdXNoIHN0cmVhbS1zdGFydCBldmVudCBpbiBwdWxsIG1vZGUgYmVmb3JlIGFueXRoaW5nIGVsc2UKCjIwMTMtMDUtMTAgMTI6MDk6MTkgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkgIHB1bHNlc2luazogR2V0IHJpZCBvZiBhY2NlcHRjYXBzIHNpZGUtZWZmZWN0cwoJICBUaGUgc2luayBpbmZvIGNhbGxiYWNrIHNob3VsZCBub3QgaGF2ZSBzaWRlLWVmZmVjdHMgb24gdGhlIEdzdFB1bHNlU2luawoJICBvYmplY3Qgc2luY2Ugd2UgYXJlIHNvbWV0aW1lcyB1c2luZyB3aXRoIGEgZHVtbXkgc3RyZWFtIGluIGFjY2VwdGNhcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY0NTkKCjIwMTMtMDYtMDUgMTg6MzY6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjEuMSA9PT0KCjIwMTMtMDYtMDUgMTc6NTg6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0LmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5oOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5oOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuaDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMS4xCgoyMDEzLTA2LTA1IDE2OjM1OjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEzLTA2LTA1IDE1OjUwOjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkgIHdhdmVuYzogRml4IHRhZ2xpc3QgcmVmIGhhbmRsaW5nIHRoYXQgbWFkZSB0aGUgdW5pdCB0ZXN0IGZhaWwKCjIwMTMtMDYtMDUgMTU6MTQ6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMDk4YzBkNyB0byAwMWE3YTQ2CgoyMDEzLTA2LTAzIDA5OjE3OjQzICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogaXRlcmF0ZSBjb250cm9scyB3aXRoIFY0TDJfQ1RSTF9GTEFHX05FWFRfQ1RSTCBpZiBwb3NzaWJsZQoJICBJbiB2Mi42LjE4IGNvbnRyb2wgY2xhc3NlcyB3aGVyZSBhZGRlZCB0byB0aGUgdjRsMiBBUEkuCgkgIEl0ZXJhdGluZyBvdmVyIENJRHMgc3RhcnRpbmcgd2l0aCBWNEwyX0NJRF9CQVNFIHdpbGwgb25seSBmaW5kIGNvbnRyb2xzIGZvcgoJICB0aGUgZmlyc3QgY29udHJvbCBjbGFzcy4KCSAgQnkgaXRlcmF0aW5nIHdpdGggVjRMMl9DVFJMX0ZMQUdfTkVYVF9DVFJMIGFsbCBjb250cm9scyBhcmUgZm91bmQuCgkgIFRoaXMgaXMgbmVjZXNzYXJ5IHRvIG1ha2UgY29udHJvbHMgZnJvbSBvdGhlciBjb250cm9sIGNsYXNzZXMgYXZhaWxhYmxlIGluCgkgIHRoZSBleHRyYS1jb250cm9scyBwcm9wZXJ0eS4KCSAgSWYgVjRMMl9DVFJMX0ZMQUdfTkVYVF9DVFJMIGlzIG5vdCBkZWZpbmVkIGF0IGNvbXBpbGUgdGltZSBvciBub3Qgc3VwcG9ydGVkCgkgIGF0IHJ1bnRpbWUgdGhlbiB0aGUgb2xkIG1lY2hhbmlzbSBmb3IgaXRlcmF0aW5nIGlzIHVzZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDE1NDAKCjIwMTMtMDYtMDUgMTI6MTI6NTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSAgdWRwc2luazogYXZvaWQgbGVha2luZyB0aGUgaG9zdAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxNTg2CgoyMDEzLTA2LTA0IDA4OjI2OjMzICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyOiBpbXByb3ZlIHBpeGVsIGFzcGVjdCByYXRpbyBoYW5kbGluZwoJICBJbnN0ZWFkIG9mIGp1c3QgYXNzdW1pbmcgYSBhc3BlY3QgcmF0aW8gb2YgMS8xIHVzZSBWSURJT0NfQ1JPUENBUCB0byBhc2sKCSAgdGhlIGRldmljZS4KCSAgVGhpcyBhbHNvIGFkZCBhIHBpeGVsLWFzcGVjdC1yYXRpbyBwcm9wZXJ0eSB0byBvdmVyd3JpdGUgdGhlIHZhbHVlIGZyb20gdGhlCgkgIGRyaXZlciBhbmQgYSBmb3JjZS1hc3BlY3QtcmF0aW8gcHJvcGVydHkgdG8gaWdub3JlIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMjg1CgoyMDEzLTA2LTA0IDE3OjA0OjExICswMjAwICBTdGlybGluZyBXZXN0cnVwIDxzd2VzdHJ1cEBnbWFpbC5jb20+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IEZpeCBjb21waWxhdGlvbiB3aXRoIG9sZGVyIGtlcm5lbHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTU5NQoKMjAxMy0wNi0wMyAxNzowNzoxMCArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBjYWxsIFZJRElPQ19SRVFCVUZTIHdpdGggY291bnQgPSAwIGluIHBvb2xfZmluYWxpemUKCSAgV2l0aG91dCB0aGlzIHRoZSBmb2xsb3dpbmcgc2VxdWVuY2UgZmFpbHM6CgkgIC0gc2V0X2NhcHMoKQoJICAtIG9iamVjdF9zdG9wKCkgKGRvZXMgbm90aGluZykKCSAgLSBzZXRfZm9ybWF0KCkgLT4gVklESU9DX1NfRk1UCgkgIC0gc2V0X2NvbmZpZygpIC0+IFZJRElPQ19SRVFCVUZTIHdpdGggY291bnQgPSBOCgkgIC0gc2V0X2NhcHMoKQoJICAtIG9iamVjdF9zdG9wKCkKCSAgLSBwb29sX2ZpbmFsaXplKCkKCSAgLSBzZXRfZm9ybWF0KCkgLT4gVklESU9DX1NfRk1UID0+IEVCVVNZCgkgIFVzdWFsbHkgdGhlIHBvb2wgaXMgc3RhcnRlZCBhZnRlciBzZXRfY29uZmlnKCksIGluIHdoaWNoIGNhc2Ugb2JqZWN0X3N0b3AoKQoJICB3aWxsIHJlc3VsdCBpbiBhIHBvb2xfc3RvcCBhbmQgdGhlcmVmb3JlIFZJRElPQ19SRVFCVUZTIHdpdGggY291bnQgPSAwIGJ1dAoJICB0aGF0IGlzIG5vdCBndWFyYW50ZWVkLgoJICBBbHNvIGNhbGxpbmcgVklESU9DX1JFUUJVRlMgd2l0aCBjb3VudCA9IDAgaW4gcG9vbF9maW5hbGl6ZSgpIGlmIG5lY2Vzc2FyeQoJICBmaXhlcyB0aGlzIHByb2JsZW0uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDE1NDMKCjIwMTMtMDUtMjggMTk6MTQ6MTUgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogcmV3b3JrIHNpbmsgYnVmZmVyIHJlZmNvdW50aW5nCgkgIFRoaXMgaXMgYSBmb2xsb3d1cCBwYXRjaCBmb3IgIzcwMDc4MSwgd2hpY2ggaXMgbm90IHF1aXRlIGNvcnJlY3QuCgkgIFRoZSBidWZmZXIgaGFuZGxpbmcgaXMgcXVpdGUgY29tcGxpY2F0ZWQgaGVyZS4KCSAgVGhlIG9yaWdpbmFsIGNvZGUgaW50ZW5kZWQgdG8gdGhlIHRoZSBmb2xsb3dpbmc6CgkgIC0gZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfcHJvY2VzcygpIGNhbGxzIFFCVUYgYW5kIGFkZHMgdGhlIGJ1ZmZlciB0byB0aGUKCSAgbG9jYWwgbGlzdC4KCSAgLSBUaGUgc2luayBjYWxscyBnc3RfYnVmZmVyX3VucmVmKCkgd2hpY2ggcmV0dXJucyB0aGUgYnVmZmVyIHRvIHRoZSBwb29sCgkgIGJ1dCBub3QgdGhlICdmcmVlIGxpc3QnLgoJICAtIFNvbWUgdGltZSBsYXRlciBEUUJVRiByZXR1cm5zIHRoZSBidWZmZXIgYW5kCgkgIGdzdF92NGwyX2J1ZmZlcl9wb29sX3JlbGVhc2VfYnVmZmVyKCkgcHV0cyBpbiBvbiB0aGUgJ2ZyZWUgbGlzdCcuCgkgIElmIHRoZSBidWZmZXIgbXVzdCBiZSBjb3BpZWQgdGhlbiAocGFyZW50X2NsYXNzKS0+YWNxdWlyZV9idWZmZXIoKSBpcwoJICBjYWxsZWQgZGlyZWN0bHkgdG8ga2VlcCB0aGUgYnVmZmVyIGluIHRoZSBwb29sLgoJICBUaGlzIGhhcyB0d28gcHJvYmxlbXM6CgkgIDEuIElmIGdzdF92NGwyX2J1ZmZlcl9wb29sX3JlbGVhc2VfYnVmZmVyKCkgaXMgY2FsbGVkIGJlZm9yZSB0aGUgYnVmZmVyIGlzCgkgIHJldHVybmVkIHRvIHRoZSBwb29sLCB0aGVuIHRoZSBidWZmZXIgaXMgcHV0IG9uIHRoZSAnZnJlZSBsaXN0JyB0d2ljZS4KCSAgVGhpcyBjYW4gaGFwcGVuIGlmIGEgcmVmZXJlbmNlIHRvIHRoZSBidWZmZXIgaXMga2VwdCBvdXRzaWRlIHRoZSBzaW5rLAoJICBvZiBpZiBEUUJVRiByZXR1cm5zIHRoZSBidWZmZXIsIHRoYXQgd2FzIGp1c3QgcXVldWVkIHdpdGggUUJVRi4KCSAgMi4gSWYgYnVmZmVycyBhcmUgY29waWVkLCB0aGVuIGFsbCBidWZmZXJzIGFyZSBpbiB0aGUgcG9vbCBhdCBhbGwgdGltZXMuIEFzCgkgIGEgcmVzdWx0IGdzdF92NGwyX2J1ZmZlcl9wb29sX3N0b3AoKSBhbmQgZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfZHFidWYoKQoJICBjYW4gYWNjZXNzIHBvb2wtPmJ1ZmZlcnMgYXQgdGhlIHNhbWUgdGltZSwgd2hpY2ggY2FuIGxlYWQgdG8gbWVtb3J5CgkgIGNvcnJ1cHRpb24uCgkgIFRoZSBwYXRjaCBmb3IgIzcwMDc4MSBmaXhlcyB0aG9zZSBwcm9ibGVtcywgYnV0IHdpdGggdGhlIHNpZGUgZWZmZWN0IHRoYXQKCSAgdGhlcmUgYXJlIGFsd2F5cyBidWZmZXJzIG91dHNpZGUgdGhlIHBvb2wgKGJlY2F1c2UgdGhleSBhcmUgcXVldWVkKSBhbmQKCSAgdGhlIHBvb2wgaXMgbmV2ZXIgc3RvcHBlZC4KCSAgVGhpcyBwYXRjaCBmaXhlcyB0aGlzIGJ5IHJlbGVhc2luZyB0aGUgcmVmZXJlbmNlIHRvIHRoZSBidWZmZXIgYWZ0ZXIKCSAgaGFuZGxpbmcgaXQgKHRvIGF2b2lkIHByb2JsZW0gMi4pIHNvIGl0IGNhbiBiZSByZXR1cm5lZCB0byB0aGUgcG9vbC4KCSAgZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfcmVsZWFzZV9idWZmZXIoKSBpcyBvbmx5IGNhbGxlZCBpZiB0aGUgYnVmZmVyIGlzCgkgIGFscmVhZHkgaW4gdGhlIHBvb2wgKHRvIGF2b2lkIHByb2JsZW0gMS4pLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxMzc1CgoyMDEzLTA2LTAyIDE1OjI0OjM4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogbWFrZSBzdXJlIHRhZ2xpc3QgaXMgd3JpdGFibGUgYmVmb3JlIGFkZGluZyB0YWdzCgkgIEF2b2lkcyBhc3NlcnRpb25zCgoyMDEzLTA1LTMwIDE5OjI0OjEzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZWZmZWN0aXZlbHkgc2tpcCB0cmFja3MgdGhhdCB3ZXJlbid0IGxpc3RlZCBvbiB0aGUgMXN0IG1vb3YKCSAgV2l0aG91dCB0aGlzLCBzdHJlYW0gaXMgTlVMTCBhbmQgdGhlIGNvZGUgd2lsbCB0cnkgdG8gYWNjZXNzIGl0LCBsZWFkaW5nCgkgIHRvIHNlZ2ZhdWx0cy4KCjIwMTMtMDUtMzAgMTk6MjM6NTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBza2lwIHJlZHVuZGFudCBjaGVjawoJICAhZ290X21vb3YgaXMgYWxyZWFkeSBjaGVja2VkIHRoZSBsaW5lIGFib3ZlCgoyMDEzLTA2LTAyIDEzOjAzOjQwICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSAgdGVzdHM6IGNsZWFudXAgbGV2ZWwgdGVzdHMKCSAgU3BsaXQgb3V0IGEgZmV3IG1vcmUgdGVzdHMgdG8gYXZvaWQgY2hlY2tpbmcgdGhlIHNhbWUgc3R1ZmYgb3ZlciBhbmQgb3ZlciBhZ2Fpbi4KCjIwMTMtMDYtMDEgMjE6MzM6NDYgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuaDoKCSAgbGV2ZWw6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGVzIGluIGluc3RhbmNlIHN0cnVjdAoKMjAxMy0wNS0zMSAxODoxMzowMiArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkgIGxldmVsOiBhZGQgYSB0ZXN0IGZvciBjb250aW5vdXMgdGltZXN0YW1wcwoJICBBIHRlc3QgdGhhdCBjaGVja3MgdGhhdCBtc2dbbl0udHMgKyBtc2dbbl0uZHVyID09IG1zZ1tuKzFdLnRzLgoKMjAxMy0wNC0xMiAxNjowMjo0NCArMDMwMCAgQW50b24gQmVsa2EgPGFudG9uYmVsa2FAZ21haWwuY29tPgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuaDoKCSAgd2F2ZW5jOiBhZGQgdGFncyAmIHRvYyBzdXBwb3J0CgkgIFdyaXRlIHRhZ3MgYXMgTElTVCBJTkZPIGNodW5rLiBGb3JtYXQgdGhlIHRvYyBhcyBjdWUgKyBMSVNUIGFkdGwgY2h1bmsuIFJlbW92ZQoJICBvbGQgI2lmZGVmJ2VkIGNvZGUuCgoyMDEzLTA1LTMxIDE1OjEyOjA4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIFJldmVydCAicnRwaDI2NHBheTogUmVzdHJ1Y3R1cmluZyB0byBhbGxvdyBmb3IgYWRkaW5nIG9wdGlvbmFsIGNhcHMiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNjE2NjY4OThjZmU4OWExYjIxZDNlNjg1MGFiNDRmNWIxNjMzZWQ3OS4KCSAgVGhpcyBjb21taXQgY2hhbmdlcyB3aGF0IHRoZSBzZXRfc3BzX3BwcygpIGZ1bmN0aW9uIGRvZXMsIG5vdCBpdCBkb2Vzbid0CgkgIHNldCBjYXBzIGFueW1vcmUgKGFuZCBzaG91bGQgaGF2ZSBiZWVuIHJlbmFtZWQpLiBUaGUgbWFpbiBwcm9ibGVtIGlzIHRoYXQKCSAgbm90IGFsbCBjYWxsIHNpdGVzIGFyZSB1cGRhdGVkIGFuZCB0aHVzIGxlYWsgdGhlIHN0cmluZy4KCjIwMTMtMDUtMzEgMTU6MTE6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgUmV2ZXJ0ICJydHBoMjY0cGF5L2RlcGF5OiBBZGQgZnJhbWUgZGltZW5zaW9ucyBhIHBheWxvYWRlZCBjYXBzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDNkY2E3NTZhNWRiYTU1MjY2MjU2ZjIzOWUzZTEyYTNkMDU4ZTE4NWEuCgkgIFRoZSBIMjY0IFJUUCBzcGVjIGhhcyBubyBhdHRyaWJ1dGVzIGZvciB3aWR0aCBhbmQgaGVpZ2h0LgoKMjAxMy0wNS0zMSAxNTowOTo1MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBSZXZlcnQgInJ0cGgyNjRwYXkvZGVwYXk6IEFkZCBvcHRpb25hbCBmcmFtZXJhdGUgY2FwcyBmb3IgdXNlIGluIFNEUCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBkODgyNWUyYTVjMGJmYjg4M2ZmODhlMmM5ZGE0OTljODAwZWJjYTBhLgoJICBUaGVyZSBpcyBubyBmcmFtZXJhdGUgYXR0cmlidXRlIGluIHRoZSBoMjY0IFJUUCBzcGVjLgoKMjAxMy0wNS0zMSAxNTowODoxNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBSZXZlcnQgInJ0cGpwZWdwYXkvZGVwYXk6IFJlcGxhY2UgZnJhbWVzaXplIGNhcHMgd2l0aCB3aWR0aC9oZWlnaHQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMDA3NWQxMTFiNDc1Y2EyNzg5NWVlOTQ3NjE1NDI2MGI2OTAyOTQwYi4KCSAgRXh0cmEgYXBwbGljYXRpb24veC1ydHAgYXJlIFNEUCBmaWVsZHMsIHdoaWNoIGFyZSBzdHJpbmdzLgoKMjAxMy0wNS0zMSAxNTowNTo1MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICBSZXZlcnQgInJ0cGpwZWdwYXkvZGVwYXk6IFJlcGxhY2UgZnJhbWVyYXRlIGNhcHMgZmllbGQgd2l0aCBmcmFjdGlvbiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA5ZmQyNWE4MTBiODU5ZTBlYzIwNTE3NjU3ODczNTEwMGQ4M2RlNGFmLgoJICBXZSBkZWFsIHdpdGggc2RwIGF0dHJpYnV0ZXMgaW4gYXBwbGljYXRpb24vc2RwLCB3aGljaCBhcmUgYWx3YXlzIHN0cmluZ3MuCgoyMDEzLTA1LTMxIDEyOjMzOjIxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhZGQgZXh0cmEgVExTIHVybCBwcm90b2NvbHMKCSAgV2UgYWxzbyBzdXBwb3J0IFRMUyBwcm90b2NvbHMgbm93LgoKMjAxMy0wNS0zMCAxNDo0ODo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogQWRkIEZJWE1FIGNvbW1lbnQgYWJvdXQgdGhlIERVUkFUSU9OIHF1ZXJ5IGZyb20gYWRkZXIKCSAgQ3VycmVudGx5IHRoZSBjb2RlIGp1c3QgdGFrZXMgd2l0aCBtYXhpbXVtIHVwc3RyZWFtIGR1cmF0aW9uLCB3aGljaAoJICBpcyB3cm9uZy4gSXQgc2hvdWxkIGJlIHRoZSBtYXhpbXVtIHVwc3RyZWFtIGR1cmF0aW9uIGluIHJ1bm5pbmcgdGltZS4KCjIwMTMtMDUtMzAgMjE6MjA6NTkgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IFNldCBhIHJlZmVyZW5jZSB0byBtaXgtPmN1cnJlbnRfY2FwcyBhcyB0aGUgUVVFUllfQ0FQUyByZXN1bHQuCgoyMDEzLTA1LTMwIDE3OjM3OjEzICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIGxldmVsOiBtaXNjIGNsZWFudXBzCgkgIEZpeCBzb21lIG91ZGF0ZWQgY29tbWVudHMuIFNvcnQgb3V0IHNvbWUgY29uZnVzaW9uIG9mIGludGVydmFsX2ZyYW1lcyBhbmQgbnVtX2ZyYW1lcy4KCjIwMTMtMDUtMjkgMjA6MzU6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBPbmx5IGNvbmRpdGlvbmFsbHkgdXNlIFY0TDJfQ1RSTF9UWVBFX0lOVEVHRVJfTUVOVSwgaXQncyBub3QgYXZhaWxhYmxlIGluIG9sZGVyIHZlcnNpb25zCgoyMDEzLTA1LTIwIDE2OjQ1OjM3ICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSAgdjRsMjogYWRkIGEgcHJvcGVydHkgZm9yIGFyYml0cmFyeSB2NGwyIGNvbnRyb2xzCgkgIFRoaXMgbWFrZXMgaXQgcG9zc2libGUgdG8gc2V0IGFueSBjb250cm9scyB0aGF0IGNhbiBiZSBzZXQgd2l0aAoJICBWSURJT0NfU19DVFJMLgoJICBUaGUgY29udHJvbHMgYXJlIHNldCB3aGVuIHRoZSBwcm9wZXJ0eSBpcyBzZXQgKGlmIHRoZSBkZXZpY2UgaXMgb3BlbikKCSAgYW5kIHdoZW4gdGhlIGRldmljZSBpcyBvcGVuZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTg4MzcKCjIwMTMtMDUtMjggMTg6MzE6MDcgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgbGV2ZWw6IGZpeCBkaXNjb250aW51aXRpZXMgaW4gdGltZXN0YW1wcwoKMjAxMy0wNS0yOCAxNTo0Njo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGthbmltYXRpb24uYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmZGVjLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZmRlYy5oOgoJICBnZGtwaXhidWZkZWM6IEtlZXAgc2VyaWFsaXplZCBldmVudHMgaW4gb3JkZXIsIGFuZCBkb24ndCBzZW5kIFNFR01FTlQgYmVmb3JlIENBUFMKCjIwMTMtMDUtMjggMTU6NDU6NDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGNyZWF0ZSBhbmQgcHVzaCBzdHJlYW0tc3RhcnQgaW4gVENQIG1vZGUKCjIwMTMtMDUtMjggMTU6MTA6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHJlbW92ZSBzb21lIG9ic29sZXRlIGNvZGUKCSAgSXQgaXMgbm90IG5lZWRlZCB0byBkbyBhIHN0YXRlIGNoYW5nZSBmcm9tIHRoZSBfcGxheSgpIGZ1bmN0aW9uIG9uCgkgIG91cnNlbHZlcy4gVGhlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiBhbHJlYWR5IGRpZCB0aGF0IGFuZCB3ZSBkb24ndCB3YW50IHRvCgkgIGludGVyZmVyZSB3aXRoIHRoYXQgKG9yIHVzZSBoYWNrcyB0byBhdm9pZCBpbnRlcmZlcmVuY2UpLgoKMjAxMy0wNS0yOCAxMjoyNDozNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogc2V0IFJUQ1AgY2FwcyBvbiB0aGUgUlRDUCBwYWRzCgoyMDEzLTA1LTI4IDEyOjIzOjM3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBzZW5kIHN0cmVhbS1zdGFydCBhbmQgc2VnbWVudCBldmVudHMKCSAgQWxzbyBzZW5kIHN0cmVhbS1zdGFydCBhbmQgc2VnbWVudCBldmVudCBvbiB0aGUgUlRDUCBwYWQuCgkgIFdlIGRvbid0IG5lZWQgdG8gc2VuZCBhbnl0aGluZyBvbiB0aGUgc3luY19zcmMgcGFkIGJlY2F1c2Ugd2UKCSAgYWxyZWFkeSBmb3J3YXJkZWQgYWxsIGluY29tbWluZyBldmVudHMuCgoyMDEzLTA0LTI1IDE1OjI1OjA2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhZGQgc2lnbmFsIHRvIGhhbmRsZSBzZXJ2ZXIgcmVxdWVzdHMKCSAgQWRkIGEgc2lnbmFsIHRvIGJlIG5vdGlmaWVkIG9mIGEgc2VydmVyIHJlcXVlc3QuIFRoZSBzaWduYWwgaGFuZGxlciBjYW4gdGhlbgoJICBjb25zdHJ1Y3QgdGhlIHJlc3BvbnNlIG1lc3NhZ2UgZm9yIHRoZSBzZXJ2ZXIuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMyMjA3CgoyMDEzLTA1LTI3IDIyOjQzOjI1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IE1haW50YWluIHotb3JkZXIgd2hlbiBuZXcgcGFkIGFyZSBhZGRlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxMTA5CgoyMDEzLTAzLTA2IDEzOjE3OjU0ICswMDAwICBUb20gR3JlZW53b29kIDx0Y2RncmVlbndvb2RAaG90bWFpbC5jb20+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnB4L2dzdHZwOGVuYy5oOgoJICB2cDhlbmM6IEFkZCBwcm9wZXJ0eSB0byBtYW51YWxseSBzcGVjaWZ5IHRoZSB0aW1lYmFzZSBvZiB0aGUgZW5jb2RlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1NzA5CgoyMDEzLTA1LTI1IDEyOjE3OjQwIC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBBbHdheXMgaGFuZGxlIGZsdXNoX3N0b3BfcGVuZGluZyBhdG9taWNhbGx5CgkgIEl0IGlzIG5vdCBwcm90ZWN0ZWQgd2l0aCB0aGUgQ09MTEVDVF9QQURTX1NUUkVBTV9MT0NLIGFueW1vcmUKCjIwMTMtMDUtMjMgMTg6MTQ6MTcgLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb21peGVyLmM6CgkgIHRlc3RzOiB2aWRlb21peGVyOiBBZGQgYSB0ZXN0c3VpdGUgZm9yIHZpZGVvbWl4ZXIKCSAgVGhpcyBpcyBtb3N0bHkgY29weSBwYXN0ZWQgZnJvbSAtYmFzZS90ZXN0cy9jaGVjay9lbGVtZW50cy9hZGRlci5jCgoyMDEzLTA1LTI1IDEwOjU3OjAyIC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBEbyBub3QgdGFrZSBDT0xMRUNUX1BBRFNfU1RSRUFNX0xPQ0sgd2hlbiB1bm5lY2Vzc2FyeQoJICBDb2xsZWN0cGFkIHRha2VzIHRoZSBsb2NrIGl0c2VsZiB3aGVuIHJlY2VpdmluZyBzZXJpYWxpemVkIGV2ZW50cwoJICBhbmQgd2Ugc2hvdWxkIG5vdCB0YWtlIGl0IGZvciBub3Qgc2VyaWFsaXplZCBvbmVzCgoyMDEzLTA1LTI0IDE5OjM0OjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJICBmbHhkZWM6IFByb3Blcmx5IHNraXAgbm9uLWZyYW1lIGNodW5rcwoKMjAxMy0wNS0yNCAxOTozMToxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSAgZmx4ZGVjOiBGbHVzaCBkYXRhIGZyb20gYWRhcHRlciBhZnRlciByZWFkaW5nIGl0CgkgIE90aGVyd2lzZSB3ZSdyZSBnb2luZyBpbiBhbiBpbmZpbml0ZSBsb29wLCByZWFkaW5nIHRoZSBzYW1lIGRhdGEKCSAgb3ZlciBhbmQgb3ZlciBhZ2Fpbi4KCjIwMTMtMDQtMjQgMTU6Mzk6NTQgKzAwMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvZ29vbTJrMS9NYWtlZmlsZS5hbToKCSAgZ29vbTJrMTogZml4IG1vcmUgZHVwbGljYXRlZCBzeW1ib2xzCgoyMDEzLTA1LTIyIDAyOjQwOjUyICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJybkBheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICBydHBqcGVncGF5L2RlcGF5OiBSZXBsYWNlIGZyYW1lcmF0ZSBjYXBzIGZpZWxkIHdpdGggZnJhY3Rpb24KCSAgVGhlIHByZXZpb3VzIGltcGxlbWVudGF0aW9uIGhhZCB0aGUgZm9ybWF0dGluZyBvZiBTRFAgYXR0cmlidXRlcyBoYXBwZW4KCSAgaW4gZWFjaCBSVFAgcGF5bG9hZGVyLCBub3cgaW5zdGVhZCB0aGUgY29uc3RpdHVlbnQgdmFsdWVzIGFyZSBwcm9wYWdhdGVkCgkgIGFzIGNhcHMgZmllbGRzLiBUaGlzIGFsbG93cyBmb3IgYXBwbGljYXRpb25zIHRvIGRvIFNEUCBvZmZlci9hbnN3ZXIKCSAgYmFzZWQgb24gY2FwcyBuZWdvdGlhdGlvbi4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDc0OAoKMjAxMy0wNS0yMiAwMTo1ODo1NyArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheS9kZXBheTogUmVwbGFjZSBmcmFtZXNpemUgY2FwcyB3aXRoIHdpZHRoL2hlaWdodAoJICBUaGUgcHJldmlvdXMgaW1wbGVtZW50YXRpb24gaGFkIHRoZSBmb3JtYXR0aW5nIG9mIFNEUCBhdHRyaWJ1dGVzIGhhcHBlbgoJICBpbiBlYWNoIFJUUCBwYXlsb2FkZXIsIG5vdyBpbnN0ZWFkIHRoZSBjb25zdGl0dWVudCB2YWx1ZXMgYXJlIHByb3BhZ2F0ZWQKCSAgYXMgY2FwcyBmaWVsZHMuIFRoaXMgYWxsb3dzIGZvciBhcHBsaWNhdGlvbnMgdG8gZG8gU0RQIG9mZmVyL2Fuc3dlcgoJICBiYXNlZCBvbiBjYXBzIG5lZ290aWF0aW9uLgoJICBLZWVwIHBhcnNpbmcgYS1mcmFtZXJhdGUsIHgtZnJhbWVyYXRlIGFuZCB4LWRpbWVuc2lvbnMgaW4gcnRwanBlZ2RlcGF5CgkgIHRvIGJlIGJhY2t3YXJkcyBjb21wYXRpYmxlIHdpdGggcHJldmlvdXMgcGF5bG9hZGVycy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDc0OAoKMjAxMy0wNS0yMiAwMzoxODowNyArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheS9kZXBheTogQWRkIG9wdGlvbmFsIGZyYW1lcmF0ZSBjYXBzIGZvciB1c2UgaW4gU0RQCgkgIFRoaXMgYWxsb3dzIGZvciBhcHBsaWNhdGlvbnMgdG8gZm9ybWF0IFNEUCBhdHRyaWJ1dGVzIGFuZCBzdGlsbCBkbyBTRFAKCSAgb2ZmZXIvYW5zd2VyIGJhc2VkIG9uIGNhcHMgbmVnb3RpYXRpb24uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA3NDkKCjIwMTMtMDUtMjIgMDM6MDk6NDQgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHJ0cGgyNjRwYXkvZGVwYXk6IEFkZCBmcmFtZSBkaW1lbnNpb25zIGEgcGF5bG9hZGVkIGNhcHMKCSAgVGhpcyBhbGxvd3MgZm9yIGFwcGxpY2F0aW9ucyB0byBmb3JtYXQgU0RQIGF0dHJpYnV0ZXMgYW5kIHN0aWxsIGRvIFNEUAoJICBvZmZlci9hbnN3ZXIgYmFzZWQgb24gY2FwcyBuZWdvdGlhdGlvbi4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDc0OQoKMjAxMy0wNS0yMCAyMjoxNDo0NCArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogUmVzdHJ1Y3R1cmluZyB0byBhbGxvdyBmb3IgYWRkaW5nIG9wdGlvbmFsIGNhcHMKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDc0OQoKMjAxMy0wNS0yMyAxODo0MjowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5oOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICAoZHlufG11bHRpKXVkcHNpbms6IEFkZCBwcm9wZXJ0aWVzIHRvIHNwZWNpZnkgdGhlIGJpbmQgYWRkcmVzcyBhbmQgcG9ydAoJICBCeSBkZWZhdWx0IHdlIHVzZSB0aGUgYW55IGFkZHJlc3NlcyBhbmQgYSByYW5kb20gcG9ydCBmb3IgYmluZGluZyB0aGUgc29ja2V0LgoKMjAxMy0wNS0yMyAxODowNTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIChkeW58bXVsdGkpdWRwc2luazogQmluZCBzb2NrZXQgYmVmb3JlIHVzaW5nIGl0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA4NzgKCjIwMTMtMDUtMjMgMTc6MjU6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIChtdWx0aSl1ZHBzaW5rOiBBZGQgbWlzc2luZyBnZXR0ZXJzIGZvciBzb2NrZXQtdjYgYW5kIHVzZWQtc29ja2V0LXY2IHByb3BlcnRpZXMKCjIwMTMtMDUtMjIgMjE6MDE6NDggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogRG9uJ3QgaG9sZCBzdHJlYW0tbG9jayB3aGlsZSBwdXNoaW5nIG5vbi1zZXJpYWxpemVkIGV2ZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwODY4CgoyMDEzLTA1LTIyIDIxOjAwOjQ1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IERvbid0IGhvbGQgb2JqZWN0IGxvY2sgd2hpbGUgc2VuZGluZyBldmVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDg2OAoKMjAxMy0wNS0yMiAxNzozMjozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBUaGUgcmV0dXJuIHZhbHVlIG9mIGdzdF9wYWRfc2V0X2NhcHMoKSBpcyBub3QgcmVsZXZhbnQgYW55bW9yZQoJICBDYXBzIGNhbiBmYWlsIHRvIGJlIHNldCBiZWNhdXNlIHRoZSBwYWQgaXMgbm90IGxpbmtlZCB5ZXQgZm9yIGV4YW1wbGUuCgoyMDEzLTA1LTE1IDE2OjM5OjM2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBBZGQgZXJyb3IgaWYgZmlsZSBoYXMgcGxheXJlYWR5IGRybQoKMjAxMy0wNS0xOCAxNTowNjo0OSAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogU2VuZCBhIHJlY29uZmlndXJlIGV2ZW50IHVwc3RyZWFtIGlmIHNpbmtwYWQgY2FwcyBhcmUgbm90IHVzYWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0MjM3CgoyMDEzLTA1LTIxIDEyOjAyOjUxICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGtlZXAgYSByZWZlcmVuY2UgdG8gYWxsIHF1ZXVlZCBidWZmZXJzCgkgIFdpdGhvdXQgdGhpcywgYSBxdWV1ZWQgYnVmZmVyIG1heSBiZSByZXF1aXJlZCwgZmlsbGVkIGFuZCBxdWV1ZWQgYmVmb3JlIGl0CgkgIGlzIGRlcXVldWVkLgoJICBDYWxsaW5nIGdzdF9idWZmZXJfcG9vbF9hY3F1aXJlX2J1ZmZlcigpIGVuc3VyZXMgdGhhdCB0aGUgYnVmZmVyIGlzIHNldCB1cAoJICBjb3JyZWN0bHkgYW5kIGdzdF9idWZmZXJfdW5yZWYoKSBjYWxscyBidWZmZXJfcmVsZWFzZSgpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwNzgxCgoyMDEzLTA1LTIxIDEzOjMzOjU5ICswMjAwICBBbGV4YW5kZXIgU2NocmFiIDxhbGV4YXNAYXhpcy5jb20+CgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJICBtdWxhd2RlYzogSGFuZGxlIE5VTEwgYnVmZmVycyBpbiBoYW5kbGVfZnJhbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5ODg5NAoKMjAxMy0wNS0yMCAyMTo0NDoxMyArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheS9kZXBheTogQWRkIGZyYW1lc2l6ZSBjYXBzIGZvciB1c2UgaW4gU0RQCgkgIFRoZSBmb3JtYXQgb2YgdGhlIHZhbHVlIGFkaGVyZXMgdG8gUkZDNjA2NCBhbmQgaXQgaXMgbWVhbnQgdG8gYmUgcGFyc2VkCgkgIGFuZCBpbmNsdWRlZCBpbiB0aGUgU0RQIHNlbnQgYnkgZ3N0LXJ0c3Atc2VydmVyIHRvIGl0cyBjbGllbnRzLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwNzQ4CgoyMDEzLTA1LTIwIDIxOjM0OjEzICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJybkBheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBydHBqcGVncGF5OiBBZGQgb3B0aW9uYWwgZnJhbWVyYXRlIGNhcHMgZm9yIHVzZSBpbiBTRFAKCSAgVGhlIGZvcm1hdCBvZiB0aGUgdmFsdWUgYWRoZXJlcyB0byBSRkM0NTY2IGFuZCBpdCBpcyBtZWFudCB0byBiZSBwYXJzZWQKCSAgYW5kIGluY2x1ZGVkIGluIHRoZSBTRFAgc2VudCBieSBnc3QtcnRzcC1zZXJ2ZXIgdG8gaXRzIGNsaWVudHMuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA3NDgKCjIwMTMtMDUtMjAgMTk6NTk6MTMgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IFdoZW4gYWxsIHNpbmtwYWRzIGFyZSBlb3MsIHVwZGF0ZSBvdXRwdXQgc2VnbWVudCBzdG9wIGFuZCBmb3J3YXJkIGl0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk3OTMKCjIwMTMtMDUtMjAgMTk6NTE6MDcgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IERvbid0IHJlc2V0IHRoZSBvdXRwdXQgc2VnbWVudCBvbiBmbHVzaCBzdG9wCgkgIE9ubHkgaW5pdCBpdCB3aGVuIGdldHRpbmcgZnJvbSBSRUFEWSB0byBQQVVTRUQsIGFuZCBjaGFuZ2UgaXQgb24gc2VlayBldmVudHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk3OTMKCjIwMTMtMDUtMTcgMTA6MTY6NDggKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogRG9uJ3Qgc3RvcCBzdHJlYW1pbmcgd2hlbiBzZXRfY2FwcyBpcyBjYWxsZWQgd2l0aCB1bmNoYW5nZWQgY2FwcwoJICBUaGlzIGNhbiBoYXBwZW4gaWYgb3RoZXIgcGFydHMgb2YgdGhlIHBpcGVsaW5lIGFyZSByZWNvbmZpZ3VyZWQuCgkgIFN0b3Agc3RyZWFtaW5nIGV2ZW4gZm9yIGEgc2hvcnQgYW1vdW50IG9mIHRpbWUgY2FuIGJlIHF1aXRlIHZpc2libGUsIHNvIGl0CgkgIHNob3VsZCBiZSBhdm9pZGVkIGlmIHBvc3NpYmxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwNTAzCgoyMDEzLTA1LTE4IDE1OjM5OjM2IC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJICB0ZXN0czogUmUtZW5hYmxlIHZpZGVvbWl4ZXIgdGVzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0MjM3CgoyMDEzLTA1LTE4IDE0OjM2OjM5IC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5oOgoJICB2aWRlb21peGVyOiBTZW5kIGNhcHMgZXZlbnQgZnJvbSB0aGUgc3RyZWFtaW5nIHRocmVhZAoJICBUaGlzIHdheSB3ZSBhdm9pZCByYWNlcyBpbiBjYXBzIG5lZ290aWF0aW9uIGFuZCB3ZSBtYWtlIHN1cmUKCSAgdGhhdCB0aGUgY2FwcyBhcmUgc2VudCBhZnRlciBzdHJlYW0tc3RhcnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQyMzcKCjIwMTMtMDUtMDUgMjA6MjU6MjAgKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IERvIG5vdCBzZW5kIGZsdXNoX3N0b3Agd2hlbiByZWNlaXZpbmcgYSBzZWVrCgkgIFRoZXJlIGlzIG5vIHJlYXNvbiB0byBzZW5kIGEgZmx1c2gtc3RvcCB3aGVuIHJlY2VpdmluZyBhIHNlZWsgZXZlbnQuCgkgIEluIHRoZSBjYXNlIG9mIGEgZmx1c2hpbmcgc2Vlaywgd2UgY291bGQgZXZlbnR1YWxseSB3YW50IHRvLCBidXQgaW4KCSAgdGhlIGNvZGUgcGF0aCB3ZXJlIHdlIGNoZWNrIGlmIHRoZSBzZWVrIGlzICJmbHVzaGluZyIsIHdlIGhhdmUgdGhlCgkgIGZvbGxvd2luZyBjb21tZW50IHRoYXQgbWFrZXMgc2Vuc2U6CgkgICJ3ZSBjYW4ndCBzZW5kIEZMVVNIX1NUT1AgaGVyZSBzaW5jZSB1cHN0cmVhbSBjb3VsZCBzdGFydCBwdXNoaW5nIGRhdGEKCSAgYWZ0ZXIgd2UgdW5sb2NrIG1peC0+Y29sbGVjdC4KCSAgV2Ugc2V0IGZsdXNoX3N0b3BfcGVuZGluZyB0byBUUlVFIGluc3RlYWQgYW5kIHNlbmQgRkxVU0hfU1RPUCBhZnRlcgoJICBmb3J3YXJkaW5nIHRoZSBzZWVrIHVwc3RyZWFtIG9yIGZyb20gZ3N0X3ZpZGVvbWl4ZXJfY29sbGVjdGVkLAoJICB3aGljaGV2ZXIgaGFwcGVucyBmaXJzdC4iCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQyMzcKCjIwMTMtMDUtMDUgMjA6MjQ6NDkgKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXIyOiBQcm90ZWN0IGZsdXNoX3N0b3BfcGVuZGluZyB3aXRoIHRoZSBjb2xsZWN0cGFkIHN0cmVhbSBsb2NrCgkgIEFuZCBtYWtlIHN1cmUgdG8gZXhwZWN0IGEgZmx1c2gtc3RvcCBhZnRlciBhIGZsdXNoLXN0YXJ0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQyMzcKCjIwMTMtMDUtMTcgMTI6Mzc6NTkgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkgIHJ0cG1wNGFwYXk6IGNsZWFyIGNvbmZpZyBidWZmZXIgYmVmb3JlIHVzaW5nIGl0CgkgIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2UgcGFydHMgb2YgdGhlIG1lbW9yeSBhcmUgb25seSBtb2RpZmllZCB3aXRoICJ8PSIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDUxNAoKMjAxMy0wNS0xNCAxNzozMDowNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IERvIG5vdCBleHBlY3QgRU9TIGFmdGVyIGEgc2VnbWVudCBldmVudCBpZiB1cHN0cmVhbSBpcyBtc3MKCSAgSW4gY2FzZSBxdGRlbXV4IGlzIGhhbmRsaW5nIGEgbXNzIHN0cmVhbSwgZG8gbm90IG1hcmsgdGhlIHN0cmVhbSB0byB3YWl0CgkgIGZvciBFT1MgYWZ0ZXIgYSBzZWdtZW50LiBFdmVuIGlmIGl0IHNlZW1zIHRvIGJlIHRoZSBsYXN0IG9uZSBhY2NvcmRpbmcgdG8KCSAgdGhlIGN1cnJlbnQgc3RyZWFtcyBpbmZvcm1hdGlvbi4KCSAgTVNTIGhhbmRsaW5nIGlzIGRpZmZlcmVudCBoZXJlIGJlY2F1c2UgdGhlcmUgaXMgYW5vdGhlciBkZW11eGVyIGRyaXZpbmcKCSAgdGhlIHBpcGVsaW5lCgoyMDEzLTA1LTE0IDE2OjMyOjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogb25seSBzZXQgY2hhbm5lbHMgYW5kIHJhdGUgaWYgcXRkZW11eCBrbm93cyBpdAoJICBTZXR0aW5nIGJvdGggb2YgdGhvc2UgdG8gMCBpcyBwb2ludGxlc3MgYW5kIG1lYW5zIHRoYXQgcXRkZW11eAoJICBkb2Vzbid0IGtub3cgdGhlIHJlYWwgdmFsdWUuIEF2b2lkIHNldHRpbmcgaXQgaW4gdGhpcyBjYXNlLgoKMjAxMy0wNS0xNCAxNToyMzowOCArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc2V0IGFsYWMgY2FwcyB1c2luZyBpbmZvIGZyb20gY29kZWMgYnVmZmVyCgkgIFRoZSBzYW1wbGVyYXRlIGZpZWxkIGluIHRoZSBTVFNEIGF0b20gaXMgbm90IHJpZ2h0IGZvciBzb21lIEFMQUMgZmlsZXMKCSAgKHVzdWFsbHkgd2hlbiBhdWRpbyBpcyA5NmtIei8yNGJpdHMpLCBzbyB0aGUgYXVkaW8gY2FwcyBtdXN0IGJlCgkgIGV4dHJhY3RlZCBmcm9tIHRoZSBjb2RlYyBkYXRhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMzgyCgoyMDEzLTA1LTE1IDExOjEzOjEyICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGRvIG5vdCBwdXNoIGRpc2NvbnQgYnVmZmVycyBpZiB0aGV5IGFyZW4ndCBkaXNjb250CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODIxMTAKCjIwMTMtMDUtMTUgMTA6NTE6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA1ZWRjZDg1IHRvIDA5OGMwZDcKCjIwMTMtMDUtMTQgMTA6Mjg6MTAgLTA0MDAgIEpvc2h1YSBNLiBEb2UgPG9zc0BudmwuYXJteS5taWw+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICB2aWRlb2Nyb3A6IEFkZCBzdXBwb3J0IGZvciBHUkFZMTZfTEUvR1JBWTE2X0JFCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAzMzEKCjIwMTMtMDUtMTQgMTc6Mjk6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzoKCSAgcmd2b2x1bWU6IFNlbmQgYWxsIGV2ZW50cyB0aHJvdWdoIHRoZSBwcm94eXBhZHMgaW5zdGVhZCBvZiBqdXN0IHNlbmRpbmcgdG8gdGhlIHRhcmdldAoJICBPdGhlcndpc2UgdGhlIHN0aWNreSBldmVudHMgYXJlIG1pc3Npbmcgb24gdGhlIHByb3h5cGFkcy4KCjIwMTMtMDUtMTQgMTc6Mjk6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYzoKCSAgcmd2b2x1bWU6IEZpeCBldmVudCBoYW5kbGluZyBpbiB0aGUgdW5pdCB0ZXN0CgoyMDEzLTA1LTE0IDE2OjM0OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnbGltaXRlci5jOgoJICByZ2xpbWl0ZXI6IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3RzCgoyMDEzLTA1LTE0IDE2OjMxOjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSAgcmdhbmFseXNpczogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoKMjAxMy0wNS0xNCAxNjowODo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICBxdG11eDogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoKMjAxMy0wNS0xNCAxNjowMDo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzoKCSAgbXVsdGlmaWxlOiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0CgoyMDEzLTA1LTE0IDEzOjU4OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bGF3ZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bGF3ZW5jLmM6CgkgIG11bGF3OiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0CgoyMDEzLTA1LTE0IDEzOjUyOjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJICBtYXRyb3NrYXBhcnNlOiBNYWtlIHN1cmUgdG8gc2VuZCBhIHNlZ21lbnQgZXZlbnQgYmVmb3JlIGRhdGFmbG93CgoyMDEzLTA1LTE0IDEwOjUyOjE5ICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogb25seSBhZGQgaW50ZXJsYWNlLW1vZGUgdG8gdGhlIGNhcHMgZm9yIHJhdyBmb3JtYXRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAyODAKCjIwMTMtMDUtMTQgMTI6MDM6MDMgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBjb3B5IGFuZCBzZXQgdGhlIGFjdHVhbCBzaXplIG9mIHRoZSBjb250ZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAyODIKCjIwMTMtMDUtMTQgMTA6MjU6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOgoJICBpbnRlcmxlYXZlOiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0CgoyMDEzLTA1LTE0IDA5OjQ1OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogSW1wcm92ZSBoYW5kbGluZyBvZiBtaW4vbWF4IGJ1ZmZlciBudW1iZXJzIG9mIHRoZSBidWZmZXIgcG9vbAoKMjAxMy0wNS0xNCAwMzo0Mjo1OSArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogc2V0IGNhcHMgZm9yIGJ1ZmZlciBwb29sIGNvbmZpZwoKMjAxMy0wNS0xMyAxMzozMDozOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBtdWx0aWZpbGVzaW5rOiBMZXQgdGhlIGJhc2UgY2xhc3MgZG8gZ2V0X3RpbWVzCgkgIFRoaXMgd2lsbCBtYWtlIHN5bmM9VFJVRSB3b3JrLCB0aGUgZGVmYXVsdCBpcyBzdGlsbCBzeW5jPUZBTFNFCgoyMDEzLTA1LTExIDIzOjA4OjIzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogU2VuZCBzdHJlYW0tc3RhcnQgYmVmb3JlIGNhcHMgZXZlbnQKCjIwMTMtMDUtMTEgMjM6MjQ6MzYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSAgcnRwbXV4OiBTZW5kIHN0cmVhbS1zdGFydCBiZWZvcmUgY2FwcwoKMjAxMy0wNS0xMSAyMzoyODoxMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyLXRlc3Q6IFNlbmQgc3RyZWFtLXN0YXJ0IGJlZm9yZSBjYXBzIGZvbGxvd2VkIGJ5IHNlZ21lbnQKCjIwMTMtMDUtMTEgMjM6MzQ6MzYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHJ0cGJpbi10ZXN0OiBTZW5kIG1pc3Npbmcgc3RyZWFtLXN0YXJ0IGFuZCBzZWdtZW50IGV2ZW50cwoKMjAxMy0wNS0xMyAxNTozNjoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJICB0ZXN0czogRml4IHNvbWUgbW9yZSBldmVudCBoYW5kbGluZyBpbiB0ZXN0cwoKMjAxMy0wNS0xMyAxNToxOTozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pY3lkZW11eC5jOgoJICBpY3lkZW11eDogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoKMjAxMy0wNS0xMyAxNToxOToyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSAgaWN5ZGVtdXg6IEZpeCBzdGlja3kgZXZlbnQgaGFuZGxpbmcKCjIwMTMtMDUtMTMgMTU6MDY6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBQdXNoIHN0aWNreSBldmVudHMgaW4gdGhlIHJpZ2h0IG9yZGVyCgoyMDEzLTA1LTEzIDE0OjU1OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOgoJICBkZWludGVybGVhdmU6IEZpeCBldmVudCBoYW5kbGluZyBpbiB0ZXN0CgoyMDEzLTA1LTEzIDE0OjA3OjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICBkZWludGVybGVhdmU6IEZpeCBzdGlja3kgZXZlbnQgaGFuZGxpbmcKCjIwMTMtMDUtMTMgMTM6NTU6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgIGRlaW50ZXJsZWF2ZTogQ29kZSBzdHlsZSBmaXhlcwoKMjAxMy0wNS0xMyAxMDo0MzozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBydHBnc3RwYXk6IEZpcnN0IGxldCBiYXNlY2xhc3MgaGFuZGxlIGV2ZW50cywgdGhlbiBwdXQgdGhlbSBpbnRvIHRoZSBzdHJlYW0KCSAgRml4ZXMgaGFuZGxpbmcgb2Ygc3RpY2t5IGV2ZW50cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDIxMwoKMjAxMy0wNS0wOSAyMjowNToyNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlLXRlc3Q6IFNlbmQgaW5pdGFsIGV2ZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMDMzCgoyMDEzLTA1LTA5IDE4OjMyOjIzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bS10ZXN0OiBTZW5kIGluaXRhbCBldmVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDAzMwoKMjAxMy0wNS0wOSAxODoyNToxNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9maWx0ZXIuYzoKCSAgdmlkZW9maWx0ZXItdGVzdDogU2VuZCBpbml0YWwgZXZlbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAwMzMKCjIwMTMtMDUtMDkgMTg6MjM6MzAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2twYXJzZS5jOgoJICB3YXZwYWNrcGFyc2UtdGVzdDogU2VuZCBpbml0YWwgZXZlbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAwMzMKCjIwMTMtMDUtMDkgMTg6MjE6NTQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3k0bWVuYy5jOgoJICB5NG1lbmMtdGVzdDogU2VuZCBpbml0YWwgZXZlbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAwMzMKCjIwMTMtMDUtMTAgMTQ6MDA6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJICBtdWx0aXBhcnRkZW11eDogZml4IGV4YW1wbGUgcGlwZWxpbmUKCSAgTmVlZCBqcGVncGFyc2UuCgoyMDEzLTA1LTEwIDEzOjM0OjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FscGhhY29sb3IuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNwZWN0cmF0aW9jcm9wLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvYW1wbGlmeS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJiYW5kLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYmxpbWl0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZHluYW1pYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2VjaG8uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9pbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9wYW5vcmFtYS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3dzaW5jYmFuZC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3dzaW5jbGltaXQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aXN1YnRpdGxlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhcHNzZXR0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxhY2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZHRtZi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9lcXVhbGl6ZXIuYzoKCSAgdGVzdHM6IEZpeCBzb21lIG1vcmUgdW5pdCB0ZXN0cwoKMjAxMy0wNS0xMCAxMzoxMDoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSAgdGVzdHM6IEZpeCBwYXJzZXIgdGVzdHMKCjIwMTMtMDUtMDkgMjI6MjA6MjggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBDYW4ndCBtYXAgdHdpY2UgdGhlIHNhbWUgYnVmZmVyIGZvciB3cml0aW5nCgkgIEkgdG9vayB0aGUgb3Bwb3J0dW5pdHkgdG8gc2ltcGxpZnkgdGhhdCBjb2RlIGEgYml0LiBXZSBub3cgdXNlCgkgIGdzdF9idWZmZXJfbWFrZV93cml0YWJsZSgpIHRvIG1ha2UgdGhlIGJ1ZmZlciB3cml0YWJsZSBhbmQgbWFwIHR3aWNlIHRoZQoJICBzYW1lIGJ1ZmZlciwgd2l0aCBmaXJzdCBtYXAgYmVpbmcgcmVhZC93cml0ZSwgYW5kIHNlY29uZCByZWFkIG9ubHkuIFRoaXMKCSAgZ2V0IHJpZCBvZiB0aGUgY3JpdGljYWw6CgkgIEdTdHJlYW1lci1DUklUSUNBTCAqKjogZ3N0X3N0cnVjdHVyZV9zZXRfbmFtZTogYXNzZXJ0aW9uIGBJU19NVVRBQkxFCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAwNDQKCjIwMTMtMDUtMDkgMjI6MTU6NTQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBFbnN1cmUgY2FwcyBhcmUgd3JpdGFibGUKCSAgVGhlIGV4aXN0IG9uZSBjYXNlIHdoZXJlIHRoYXQgd2UgZW5kdXAgd2l0aCBvcmlnaW5hbCBjYXBzIGluIHJldCwgaW4gd2hpY2gKCSAgY2FzZSB3ZSBhcmUgbm90IGd1YXJhdGllZCB0byBoYXZlIHdyaXRhYmxlIGNhcHMuIFNpbXBseSBlbnN1cmUgdGhpcyBpcyB0aGUKCSAgY2FwcyBhcmUgd3JpdGFibGUgYmVmb3JlIGVudGVyaW5nIHRoZSBsb29wLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMDQ0CgoyMDEzLTA1LTA5IDIyOjEzOjUxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogRml4IHNhbXBsZSBwaXBlbGluZSBpbiBkb2N1bWVudGF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAwNDQKCjIwMTMtMDUtMDkgMTg6MDU6MDIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdlbmMuYzoKCSAganBlZ2VuYy10ZXN0OiBTZW5kIGluaXRhbCBldmVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDAzMwoKMjAxMy0wNS0wOSAxNzo0OTowMyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZW5jLmM6CgkgIHZwOGVuYy10ZXN0OiBTZW5kIGluaXRhbCBldmVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDAzMwoKMjAxMy0wNS0wOSAxNzoyMDoxOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZGVjLmM6CgkgIHZwOGRlYy10ZXN0OiBTZW5kIGluaXRhbCBldmVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDAzMwoKMjAxMy0wNS0wOSAxNzoxOTo1MyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOgoJICB3YXZwYWNrZGVjLXRlc3Q6IFNlbmQgaW5pdGlhbCBldmVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDAzMwoKMjAxMy0wNS0wOSAxNjoyNjoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICBSZXZlcnQgInZpZGVvbWl4ZXIyOiBUYWtlIGludG8gYWNjb3VudCBuZXcgc2VnbWVudHMiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgODRhZTY3MGFiNDBiMjU4YTEwZTFlMjE0NzFlNmRjOWQ3ODZiZjA4Ni4KCSAgQWN0dWFsbHkgdGhpcyBpcyBub3QgaG93IGl0IGlzIHN1cHBvc2VkIHRvIHdvcmsuIHZpZGVvbWl4ZXIKCSAgY3JlYXRlcyBhIFswLC0xXSBzZWdtZW50IGFuZCB0aGVuIHB1dHMgZnJhbWVzIG9mIHRoZSBkaWZmZXJlbnQKCSAgc3RyZWFtcyB0aGVyZSBiYXNlZCBvbiB0aGVpciBydW5uaW5nIHRpbWVzIGluIHRoZWlyIG93biBzZWdtZW50cy4KCjIwMTMtMDUtMDYgMjM6NDM6MDMgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXIyOiBUYWtlIGludG8gYWNjb3VudCBuZXcgc2VnbWVudHMKCSAgQWxzbyBmb3J3YXJkIHRoZSBldmVudCBkb3duc3RyZWFtIG9uIHRoZSBuZXh0IG9wcG9ydHVuaXR5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5NzkzCgoyMDEzLTA1LTA5IDA5OjA3OjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBSZXZlcnQgImdzdHJ0c3BzcmM6IHNldCBidWZmZXItc2l6ZSBmb3IgbXVsdGljYXN0IGJ1ZmZlcnMiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMjQ4MWU5NWQwMzhiNDIyOTdhMDE2ZjFkMmRjMWFmMjZkMjE3NWI0Mi4KCSAgVGhpcyBpcyBhbHJlYWR5IGRvbmUgZml2ZSBsaW5lcyBhYm92ZSwgaXQgd2FzIGFkZGVkIGEgeWVhcgoJICBhZ28gaW4gY29tbWl0IDU2MWIxMzFlLgoKMjAxMy0wNS0wOCAxOTo1NDoxOSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2ZpbHRlci5jOgoJICB2aWRlb2ZpbHRlcjogVW5pdCB0ZXN0IHNlbmQgU0VHTUVOVCBiZWZvcmUgQ0FQUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5OTY2CgoyMDEzLTA1LTA4IDE5OjIyOjMxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aW11eC5jOgoJICBhdmltdXg6IFVuaXQgdGVzdCBzZW5kcyBTRUdNRU5UIGJlZm9yZSBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk5NjYKCjIwMTMtMDUtMDggMTk6MDg6MjQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2JhbmQuYzoKCSAgYXVkaW93c2luY2JhbmQ6IFRlc3Qgc2hvdWxkIHNlbmQgc2VnbWVudCBhZnRlciBDQVBTCgkgIFRoaXMgbWFrZXMgdGhlIHVuaXQgdGVzdCBwYXNzIGFnYWluLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5OTY2CgoyMDEzLTA1LTA4IDE5OjAwOjI4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNsaW1pdC5jOgoJICBhdWRpb3dzaW5jbGltaXQ6IFRlc3Qgc2hvdWxkIHNlbmQgc2VnbWVudCBhZnRlciBDQVBTCgkgIFRoaXMgbWFrZXMgdGhlIHVuaXQgdGVzdCBwYXNzIGFnYWluLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5OTY2CgoyMDEzLTA1LTA4IDE4OjQ0OjMyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOgoJICBhdWRpb3dzaW5jbGltaXQ6IEZyZXF1ZW5jZSBwcm9wZXJ0eSByZW5hbWVkIGN1dG9mZgoJICBVcGRhdGluZyB0aGUgZG9jdW1lbnRhdGlvbiB0byByZWZsZWN0IHRoaXMgY2hhbmdlLgoJICBTZWU6IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk5NjQKCjIwMTMtMDUtMDggMTU6MjU6NTggLTAzMDAgIEFoYSBVbnN3b3J0aCA8YWhhLnVuc3dvcnRoQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgZ3N0cnRzcHNyYzogc2V0IGJ1ZmZlci1zaXplIGZvciBtdWx0aWNhc3QgYnVmZmVycwoJICBGb3IgcmVjZWl2aW5nIHZpZGVvIGRhdGEgdmlhIFJUU1Agd2hlbiB0aGUgdmlkZW8gaXMgc2VudCB2aWEKCSAgbXVsdGljYXN0IHRoZXJlIGlzIG5vIHdheSB0byBzcGVjaWZ5IHRoZSB1ZHBzcmMgYnVmZmVyLXNpemUuCgkgIE9uIHdpbmRvd3MgdGhlIG5hdGl2ZSBuZXR3b3JrIGJ1ZmZlciBpcyBub3QgbGFyZ2UgYW5kIHdpdGggdmlkZW8KCSAgaS1mcmFtZXMgYmVpbmcgaHVnZSB0aGUgYnVmZmVyIGlzIHRvIHNtYWxsIGFuZCB5b3UgZ2V0IGktZnJhbWUgY29ycnVwdGlvbiwKCSAgaXQgbG9va3MgdGVycmlibGUsIGFuZCB0aGVyZSBpcyBubyAoZWFzeSkgd2F5IHRvIHNldCB0aGUgdWRwc3JjIGJ1ZmZlci1zaXplLgoJICBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD01MjI2NAoKMjAxMy0wNS0wOCAxNjowMjowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyMjogU2VuZCBzdHJlYW0tc3RhcnQgYmVmb3JlIGNhcHMgZXZlbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTg5NQoKMjAxMy0wNS0wNyAxOToxNTo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBmaXggY29tcGlsZXIgd2FybmluZyBvbiB0eXBlIGNoZWNrCgoyMDEzLTA0LTE4IDA3OjQ5OjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcHVzaCBuZXcgY2FwcyBldmVudHMgd2hlbiBjYXBzIGNoYW5nZQoJICBXaGVuZXZlciB0aGUgZGVtdXhlciBoYXMgYSBuZXcgY2FwcyBvbiBhIHN0cmVhbSwgaXQgc2hvdWxkIHNldCB0aGUKCSAgbmV3X2NhcHMgdmFyaWFibGUgdG8gdHJ1ZSBhbmQgYSBuZXcgY2FwcyBldmVudCB3aWxsIGJlIHB1c2hlZCBiZWZvcmUKCSAgdGhlIG5leHQgYnVmZmVyCgoyMDEzLTA0LTE3IDE2OjU0OjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZG8gbm90IHB1c2ggZGlzY29udCBidWZmZXJzIGlmIHRoZXkgYXJlbid0IGRpc2NvbnQKCSAgcXRkZW11eCB0YWtlcyBpdHMgYnVmZmVycyBmcm9tIGEgR3N0QWRhcHRlci4gVGhvc2UgYnVmZmVycyBhcmUgY3JlYXRlZAoJICBmcm9tIHRoZSBsYXJnZXIgYnVmZmVyIHRoYXQgaXQgb2J0YWluZWQgZnJvbSB1cHN0cmVhbSBhbmQgdGhleSBjYXJyeQoJICB0aGUgc2FtZSBmbGFncywgaW5jbHVkaW5nIERJU0NPTlQgaWYgaXQgaXMgc2V0LiBJbiB0aGVzZSBjYXNlcywgYWxsCgkgIGJ1ZmZlcnMgdGhhdCBxdGRlbXV4IGlzIGdvaW5nIHRvIHB1c2ggd291bGQgYmUgbWFya2VkIGFzIERJU0NPTlQuCgkgIFRoaXMgc2NlbmFyaW8gY2FuIG1ha2UgcGFyc2Vycy9kZWNvZGVycyBmbHVzaCBvbiBldmVyeSBidWZmZXIgbGVhZGluZwoJICB0byBubyBkZWNvZGluZyBhdCBhbGwgaGFwZW5uaW5nLiBUaGlzIHBhdGNoIHByZXZlbnRzIHRoaXMgYnkgdW5zZXR0aW5nCgkgIHRoZSBmbGFnIGlmIGl0IHNob3VsZG4ndCBiZSBzZXQuCgoyMDEzLTA0LTEyIDA5OjA4OjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IHNvbWUgY29kZSBjbGVhbnVwIGZvciBtc3MgaGFuZGxpbmcgY29kZQoJICAqIEV4cGxpY2l0bHkgaW5pdCB2YXJpYWJsZXMgZm9yIGZyYWdtZW50ZWQgZm9ybWF0cyBhdCBpbml0CgkgICogRG8gbm90IHVzZSBHc3RDbG9ja1RpbWUgdHlwZSBpZiB0aGUgdmFyaWFibGUgaXNuJ3QgYSB0aW1lc3RhbXAKCSAgKiBGaXggYSBzdHlsZS9yZWFkYWJpbGl0eSBpc3N1ZSBhdCBhbiBpZiBibG9jawoJICAqIEdyb3VwIDIgbXNzIG1vZGUgY29uZGl0aW9uYWwgYmxvY2tzIHRvZ2V0aGVyIHRvIGltcHJvdmUgcmVhZGFiaWxpdHkKCSAgQ29uZmxpY3RzOgoJICBnc3QvaXNvbXA0L3F0ZGVtdXguYwoKMjAxMy0wNC0xMiAxMDoyMToxMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGF2b2lkIHN0b3Jpbmcgbm9uLXRpbWUgbmV3c2VnbWVudHMgdG8gcHVzaCBsYXRlcgoJICBUaGlzIGNhbiBjb25mdXNlIGRvd25zdHJlYW0gd2hlbiB0aGV5IGdldCBhIGJ5dGUgc2VnbWVudCBhZnRlciByZWNlaXZpbmcKCSAgdGhlIG5hdHVyYWwgdGltZSBzZWdtZW50IGZyb20gcXRkZW11eCB0aGF0IGl0IHNlbmRzIHdoZW4gc3RhcnRpbmcgdG8KCSAgcHVzaCBidWZmZXJzLiBUaGlzIGlzIHNwZWNpYWxseSB0aGUgY2FzZSB3aXRoIHBhcnNlcnMgdGhhdCB0cnkgdG8KCSAgY29udmVydCB0aGUgcG9zaXRpb24gZnJvbSBieXRlIHRvIHRpbWUgZm9ybWF0IGFuZCBtaWdodCBtaXNzIHRoZQoJICBjb3JyZWN0IHBvc2l0aW9uIGZvciBwbGF5YmFjayB0byBzdGFydC4KCjIwMTMtMDQtMTAgMTg6MDI6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhdm9pZCBzZXR0aW5nIGZpZWxkcyB0byBub24td3JpdGFibGUgY2FwcwoKMjAxMy0wMy0xMCAwNDoxNTowNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkb24ndCBzZW5kIHNvIG1hbnkgc2VnbWVudCBldmVudHMKCSAgT25seSBzZW5kIG9uZSBzZWdtZW50IGV2ZW50IGluIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHN0cmVhbSwgbm90CgkgIGFmdGVyIGVhY2ggbW9vdiBhbmQgbW9vZiBhdG9tLgoJICBDb25mbGljdHM6CgkgIGdzdC9pc29tcDQvcXRkZW11eC5jCgoyMDEzLTAzLTA4IDE2OjAyOjI2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHBsYWNlIGluY29tbWluZyB0aW1lc3RhbXBzIG9uIG91dHB1dAoJICBQbGFjZSB0aGUgaW5jb21taW5nIHRpbWVzdGFtcCAoaWYgYW55KSBkaXJlY3RseSBvbnRvIHRoZSBvdXRnb2luZyBidWZmZXJzCgkgIGFuZCBpbnRlcnBvbGxhdGUgb3RoZXIgdGltZXN0YW1wcy4KCSAgQ29uZmxpY3RzOgoJICBnc3QvaXNvbXA0L3F0ZGVtdXguYwoKMjAxMy0wNS0wNyAxMDoxNjoxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGltcHJvdmUgcmVzZXQgb2YgaW50ZXJuYWwgc3RhdHVzCgkgIFJlc2V0IGRpZmZlcmVudCB2YXJpYWJsZXMgb24gc3RhdGUgY2hhbmdlcyB0byByZWFkeSBhbmQgd2hlbgoJICBoYW5kbGluZyBhIGZsdXNoLXN0b3AuIEZvciBoYW5kbGluZyBmbHVzaCBzdG9wcyB3ZSBzaG91bGQgY2hlY2sKCSAgaWYgdGhlcmUgaXMgYW4gdXBzdHJlYW0gYWRhcHRpdmUgZGVtdXhlciBkcml2aW5nIHRoZSBwaXBlbGluZSBhcyB0aGlzCgkgIG1lYW5zIHRoYXQgcXRkZW11eCB3aWxsIGdldCBhIG5ldyBtb292IGF0b20uIEZvciAnc3RhbmRhcmQnIGlzb21lZGlhCgkgIHN0cmVhbXMgdGhpcyBpc24ndCB0cnVlIGFuZCBxdGRlbXV4IHNob3VsZCBrZWVwIHRoZSBwcmV2aW91cyBtb292CgkgIGluZm9ybWF0aW9uIGFyb3VuZC4KCSAgQ29uZmxpY3RzOgoJICBnc3QvaXNvbXA0L3F0ZGVtdXguYwoKMjAxMy0wMi0wOCAwMDoyOToyMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHByZXBhcmUgcXRkZW11eCB0byBhY2NlcHQgbXVsdGlwbGUgZGFzaCBtb292cyBpbiBhIHJvdwoJICBXaGVuZXZlciBkYXNoZGVtdXggc3dpdGNoZXMgYml0cmF0ZXMgaXQgc2VuZHMgYSBuZXcgbW9vdiB3aXRoIHRoZQoJICBuZXcgc3RyZWFtIGNvbmZpZ3VyYXRpb24uIHF0ZGVtdXggc2hvdWxkIG5vdyBoYW5kbGUgdGhpcyBieSBzcGxpdHRpbmcKCSAgdGhlIGV4cG9zaW5nIGFuZCBjb25maWd1cmF0aW9uIG9mIHN0cmVhbXMgaW50byBzZXBhcmF0ZSBmdW5jdGlvbnMuIFdoZW4KCSAgdGhlIHN0cmVhbSBpcyBuZXcgaXQgaXMgY29uZmlndXJlZCBhbmQgZXhwb3NlZCwgd2hlbiBpdCBpcyBhIG5ldyBiaXRyYXRlCgkgIG9mIGFuIGV4aXN0aW5nIHN0cmVhbSBpdCBpcyBvbmx5IHJlY29uZmlndXJlZC4KCSAgQ29uZmxpY3RzOgoJICBnc3QvaXNvbXA0L3F0ZGVtdXguYwoKMjAxMy0wMi0wNyAxNDoxMjo1MyAtMDIwMCAgQW5kcmUgTW9yZWlyYSBNYWdhbGhhZXMgKGFuZHJ1bmtvKSA8YW5kcmUubWFnYWxoYWVzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBNb3ZlIEZMVVNIX1NUT1AvUEFVU0VEX1RPX1JFQURZIGhhbmRsaW5nIHRvIGEgcmVzZXQgbWV0aG9kLgoJICBDb25mbGljdHM6CgkgIGdzdC9pc29tcDQvcXRkZW11eC5jCgoyMDEzLTAxLTIzIDEwOjU1OjMzIC0wNTAwICBMb3Vpcy1GcmFuY2lzIFJhdHTDqS1Cb3VsaWFubmUgPGxvdWlzLWZyYW5jaXMucmF0dGUtYm91bGlhbm5lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogUmVtb3ZlIG9sZCBwYWRzIHdoZW4gZXhwb3Npbmcgc3RyZWFtcyBhbmQgb3RoZXIgZ2VuZXJhbCBmaXhlcy4KCSAgQ29uZmxpY3RzOgoJICBnc3QvaXNvbXA0L3F0ZGVtdXguYwoKMjAxMy0wNC0xNiAxMDo0MTo0MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBoYW5kbGUgbXNzIHN0cmVhbXMKCSAgc21vb3Roc3RyZWFtaW5nIHN0cmVhbXMgc2hvdWxkIGJlIGhhbmRsZWQgYXMgYSBzcGVjaWFsIGtpbmQgb2YKCSAgZnJhZ21lbnRlZCBpc29tZWRpYS4gSW4gTVNTIHRoZSBmcmFnbWVudHMgd2lsbCBub3QgY29udGFpbiBhCgkgICdtb292JyBhdG9tIHdpdGggdGhlIG1lZGlhIGRlc2NyaXB0aW9ucywgdGhpcyBoYXMgdG8gYmUgZXh0cmFjdGVkCgkgIGZyb20gdGhlIGNhcHMuCgkgIEFkZGl0aW9uYWxseSwgdGhlcmUgc2hvdWxkIGJlIGFub3RoZXIgZGVtdXhlciB1cHN0cmVhbSB0aGF0IGlzIGxpa2VseQoJICBnb2luZyB0byBiZSB0aGUgb25lIHRvIGFuc3dlci9hY3Qgb24gcXVlcmllcyBhbmQgZXZlbnRzLCBzbyBxdGRlbXV4IGhhcwoJICB0byBmb3J3YXJkIHRob3NlIHVwc3RyZWFtLgoKMjAxMy0wNS0wNiAxNjo1NDowMiArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiByZXF1ZXN0IDAgYnVmZmVycyB3aGVuIHN0b3BwaW5nCgkgIFdpdGhvdXQgdGhpcyBzdG9wcGluZyB0aGUgcG9vbCBpbiAqX3NldF9jYXBzKCkgaXMgdXNlbGVzcy4KCSAgU19GTVQgd2lsbCBzdGlsbCBmYWlsIHdpdGggRUJVU1kuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk4MzUKCjIwMTMtMDUtMDcgMTY6MzI6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBCeSBkZWZhdWx0IGFzc3VtZSB0aGF0IHdlJ3JlIHdvcmtpbmcgb24gbm9uLXBhY2tldGl6ZWQgaW5wdXQKCSAgT25seSBkZXRlY3RpbmcgdGhpcyBpbiBzZXRfZm9ybWF0KCkgZG9lcyBub3Qgd29yayBiZWNhdXNlIHdlIG1pZ2h0CgkgIG5vdCBnZXQgYW55IGNhcHMgYXQgYWxsLCBlLmcuIGZyb20gZmlsZXNyYy4KCjIwMTMtMDUtMDcgMTY6MzA6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgcG5nZGVjOiBJbXBsZW1lbnQgcGFyc2luZyBmdW5jdGlvbmFsaXR5CgkgIFRoaXMgYWxsb3dzIHRvIHBsdWcgcG5nZGVjIGRpcmVjdGx5IHdpdGhvdXQgYSBwYXJzZXIgaWYgdGhhdAoJICBpcyBkZXNpcmVkLgoJICBQYXJzaW5nIGNvZGUgaXMgYmFzZWQgb24gcG5ncGFyc2UuCgoyMDEzLTA1LTA3IDE1OjU0OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6CgkgIGNhY2FzaW5rOiBGaXggc3VwcG9ydCBmb3IgUkdCIGZvcm1hdHMgYW5kIGFkZCBzdXBwb3J0IGZvciBtb3JlIG9mIHRoZW0KCjIwMTMtMDUtMDQgMTM6MTk6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IERvbid0IGNvbnNpZGVyIHRoZSBjb250ZW50IHNpemUgZnJvbSB0aGUgSFRUUCBoZWFkZXJzIGFzIGFic29sdXRlbHkgY29ycmVjdAoJICBUaGUgSFRUUCBzZXJ2ZXIgY291bGQgZ2l2ZSB3cm9uZyBpbmZvcm1hdGlvbiwgZS5nLiBpZiB0aGUgSFRUUCBzdHJlYW0gaXMKCSAgY2h1bmstZW5jb2RlZCBvciBjb21wcmVzc2VkLCBvciBpZiB0aGUgc2VydmVyIGRvZXMgbm90IGtub3cgdGhlIGNvbXBsZXRlIHNpemUKCSAgYXQgdGhlIHRpbWUgd2hlbiB0aGUgZmlsZSBpcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KCSAgQWxzbyBzZWUKCSAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNTM1NAoKMjAxMi0wOC0yMCAwOTo1MjozMiArMDIwMCAgUGhpbGlwcCBaYWJlbCA8cC56YWJlbEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGZpbGwgb3V0IHY0bDJfYnVmZmVyLmJ5dGVzdXNlZCBmaWVsZCBmb3IgdjRsMnNpbmsKCSAgV2hlbiBxdWV1aW5nIGEgYnVmZmVyIGZvciBhIHNpbmssIGJ5dGVzdXNlZCBtdXN0IGNvbnRhaW4gdGhlIGFjdHVhbAoJICBhbW91bnQgb2YgZGF0YS4KCSAgRm9yIGEgc291cmNlLCB0aGUgZHJpdmVyIG11c3Qgb3ZlcndyaXRlIHRoaXMsIHNvIGl0IGRvZXNuJ3QgbWF0dGVyCgkgIHdoYXQgaXMgc2V0IGhlcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk1OTgKCjIwMTMtMDUtMDMgMjM6NDM6MjYgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0BnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBydHBnc3RwYXk6IGZpeCBpbnZhbGlkIG1lbW9yeSBhY2Nlc3MgaW4gZXZlbnQgaGFuZGxlcgoJICBGaXJzdCBwcm9jZXNzIGV2ZW50IGluIHBheWxvYWRlciwgdGhlbiBoYW5kIGl0IHRvIHRoZQoJICBiYXNlIGNsYXNzIHdoaWNoIHRha2VzIG93bmVyc2hpcCBvZiB0aGUgZXZlbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk2MzcKCjIwMTMtMDUtMDQgMDk6NDg6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSAgYWMzcGFyc2UsIGRjYXBhcnNlOiBjaGVjayBidWZmZXIgc2l6ZSBiZWZvcmUgdHJpbW1pbmcKCSAgYW5kIHVucmVmIG9sZCBidWZmZXIgYXMgc29vbiBhcyBwb3NzaWJsZS4KCjIwMTMtMDUtMDIgMTU6MDA6MjIgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuaDoKCSAgZGNhcGFyc2U6IGFkZCBzdXBwb3J0IGZvciAiYXVkaW8veC1wcml2YXRlMS1kdHMiCgoyMDEzLTA1LTAyIDE0OjU2OjAyICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmg6CgkgIGFjM3BhcnNlOiBhZGQgc3VwcG9ydCBmb3IgImF1ZGlvL3gtcHJpdmF0ZTEtYWMzIgoKMjAxMy0wNS0wMyAxMjo0NjozNyArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGFsd2F5cyBnZW5lcmF0ZSB2aWRlbyBpbmZvIGZyb20gY2FwcwoJICBJbiB0aGUgcGFzdCBnc3RfdmlkZW9faW5mb19mcm9tX2NhcHMoKSBvbmx5IHZpZGVvL3gtcmF3LiBOb3cgaXQgYWxzbwoJICBzdXBwb3J0cyBvdGhlciB2aWRlby8qIGFuZCBpbWFnZS8qIGZvcm1hdHMuCgkgIFdpdGggdGhpcyBwYXRjaCB0aGUgZm9ybWF0IHdvbid0IGJlIEdTVF9WSURFT19GT1JNQVRfVU5LT1dOIGFuZAoJICBnc3RfdjRsMl9idWZmZXJfcG9vbF9zZXRfY29uZmlnKCkgaGFuZGxlcyBzdHJpZGVzIGNvcnJlY3RseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTU3MAoKMjAxMy0wNS0wMiAwOTo0MTowMSArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJICB2NGwyOiB0cnkgdG8gYWxsb2NhdGUgbmV3IGJ1ZmZlcnMgd2l0aCBWSURJT0NfQ1JFQVRFX0JVRlMgaWYgbmVlZGVkCgkgIElmIG1heF9idWZmZXJzIGlzIDAgdGhlbiBhbiBhcmJpdHJhcnkgbnVtYmVyIG9mIGJ1ZmZlcnMgKGN1cnJlbnRseSA0KSBpcwoJICBhbGxvY2F0ZWQuIElmIHRoaXMgaXMgbm90IGVub3VnaCB2NGwyc3JjIHN0YXJ0cyBjb3B5aW5nIGJ1ZmZlcnMuCgkgIFdpdGggdGhpcyBwYXRjaCBWSURJT0NfQ1JFQVRFX0JVRlMgaXMgdXNlZCB0byBhbGxvY2F0ZSBhIG5ldyBidWZmZXIuIElmCgkgIHRoaXMgZmFpbHMgdjRsMnNyYyBmYWxscyBiYWNrIHRvIGNvcHlpbmcgYnVmZmVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTQ0NwoKMjAxMy0wNC0xNSAxNzozNzowMSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGZpeCBzZXR0aW5nIHdpbmRvdyBoYW5kbGUgYWZ0ZXIgdHJhbnNpdGlvbgoJICBUaGUgZGVzdHJveWVkIGZsYWcgd2FzIG5vdCByZXNldCBwcm9wZXJseSBhbmQgaXQncyBhbHNvIG5vdCBuZWVkZWQKCSAgYXMgd2UgY2FuIGNoZWNrIG9zeHdpbmRvdyAhPSBOVUxMCgoyMDEzLTA1LTAyIDEzOjQ1OjU1ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgcnRwOiBmaXggZHVwbGljYXRlZCBzeW1ib2xzIHdpdGggbGlidnB4CgoyMDEzLTA0LTI5IDEwOjU4OjA4ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2dvb20yazEvTWFrZWZpbGUuYW06CgkgIGdvb20yazE6IGZpeCBkdXBsaWNhdGVkIHN5bWJvbHMgd2l0aCBnb29tCgoyMDEzLTA1LTAxIDE1OjQ5OjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBJZiB0aGUgYWRhcHRlciBpcyBlbXB0eSBvbiBFT1MgZG9uJ3QgdHJ5IHRvIG1hcCBpdHMgY29udGVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5MzE0CgoyMDEzLTA0LTMwIDE0OjM2OjM4ICswMjAwICBPZ255YW4gVG9uY2hldiA8b2dueWFuQGF4aXMuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGFkZCBzdHJlYW0tZm9ybWF0PXJhdyB0byBhYWMgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5MzAzCgoyMDEzLTA0LTMwIDEzOjA3OjM3ICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGZpeCBhbmQgY2xlYW51cCBWSURJT0NfRVhQQlVGIGhhbmRsaW5nCgkgIGNsZWFyIHRoZSBzdHJ1Y3QsIGFuZCBwcm92aWRlIGEgY29ycmVjdCBlcnJvciBtZXNzYWdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTkzMzcKCjIwMTItMDctMDUgMTg6MDI6MjcgKzAyMDAgIFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGhhbmRsZSByZXR1cm4gdmFsdWUgLUVOT1RUWSBmb3IgdW5pbXBsZW1lbnRlZCBWSURJT0NfR19QQVJNCgkgIE5ld2VyIGtlcm5lbHMgcmV0dXJuIC1FTk9UVFksIG9sZGVyIGtlcm5lbHMgcmV0dXJuIC1FSU5WQUwgaWYgdGhlIGlvY3RsCgkgIGlzIG5vdCBpbXBsZW1lbnRlZC4gV2l0aCB0aGlzIHBhdGNoLCBHU3RyZWFtZXIgaGFuZGxlcyBib3RoIGNhc2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk4ODI1CgoyMDEzLTA0LTMwIDA5OjE2OjA3ICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogZml4IGJyb2tlbiBib29sZWFuIGV4cHJlc3Npb24gdG8gZGV0ZWN0IG5vbi1mcmFtZSBidWZmZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTkyOTQKCjIwMTMtMDQtMjkgMTE6MDc6NTYgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEJldHRlciBlcnJvciBtZXNzYWdlIHdoZW4gc2VydmVyIHZlcnNpb24gaXMgdG9vIG9sZAoJICBXZSBjaGVjayBmb3IgdGhlIGxpYnJhcnkgdmVyc2lvbiBhdCBjb25maWd1cmUgdGltZSwgYnV0IHRoZSBzZXJ2ZXIKCSAgdmVyc2lvbiBjYW4gb25seSByZWFsbHkgYmUgY2hlY2tlZCBhdCBydW4tdGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5ODc2OAoKMjAxMy0wNC0yNyAxMToyNDozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC91ZHAvZ3N0dWRwLmM6CgkgIHVkcDogbG9nIFdBUk5JTkcgZGVidWcgbWVzc2FnZSBpZiBVRFAgbXVsdGljYXN0IGlzIGxpa2VseSB0byBiZSBicm9rZW4KCjIwMTMtMDQtMjcgMTE6MTY6NTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IGFkZCBpbmNsdWRlcyB0byBnZXQgc29ja2xlbl90IGRlZmluZWQgb24gV2luZG93cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyNDAwCgoyMDEzLTA0LTI3IDA5OjM5OjQ1ICswMTAwICBZdXJ5IERlbGVuZGlrIDxhc3luYy5wcm9jZXNzaW5nanNAeWFob28uY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFkZCBzdXBwb3J0IGZvciBWUDZGIFZQNiBmbGFzaCBjb2RlYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5MDEwCgoyMDEyLTA5LTA1IDE2OjM5OjMxICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogYWxzbyBwb2xsIGZvciBvdXRwdXQgZGV2aWNlcwoJICBOb3RlIHRoYXQgdGhlIFY0TDIgQVBJIGRlZmluZXMgdGhhdCBmb3Igb3V0cHV0IGRldmljZXMgUE9MTE9VVAoJICBpbmRpY2F0ZXMgdGhhdCBhIGJ1ZmZlciBpcyByZWFkeSB0byBiZSBkZXF1ZXVlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5ODk5MgoKMjAxMi0wOC0yMCAwOTo1MjozNCArMDIwMCAgUGhpbGlwcCBaYWJlbCA8cC56YWJlbEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogZml4IGNvcHlpbmcgb2YgZW5jb2RlZCBidWZmZXJzCgkgIFRoZSBleGlzdGVuY2Ugb2YgYSBHc3RWaWRlb0Zvcm1hdEluZm8gZG9lcyBub3QgZ3VhcmFudGVlLCB0aGF0CgkgIHRoZSBidWZmZXIgY29udGFpbnMgdmlkZW8gZnJhbWVzLCBzbyB0aGUgZm9ybWF0IG11c3QgYmUgY2hlY2tlZC4KCSAgQWxzbywgZm9yIGVuY29kZWQgYnVmZmVycyB0aGUgbGVuZ3RoIGlzIHZhcmlhYmxlIGFuZCBtdXN0IGJlIHNldC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5ODk0OQoKMjAxMi0wNy0xMCAxNToyOTo0MCArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGFkZCBzdXBwb3J0IGZvciBtcGVnNCBhbmQgSC4yNjMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5ODgyNgoKMjAxMy0wNC0yNiAxMjoxNjo0OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJICBtb25vc2NvcGU6IEZpeCBkZWJ1ZyBzdGF0ZW1lbnQKCjIwMTMtMDQtMjUgMjE6NTA6MzMgKzAyMDAgIEFsZXhhbmRlciBTY2hyYWIgPG1lcm9zQG1lcm9zLWRlc2t0b3AuKG5vbmUpPgoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bGF3ZGVjLmM6CgkgIG11bGF3ZGVjOiBjaGFuZ2UgYmFzZSBjbGFzcyB0byBHc3RBdWRpb0RlY29kZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5ODg5NAoKMjAxMy0wNC0yNSAyMDo1OTo1MiArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBlcGl0ZWNoLmV1PgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuaDoKCSAgdmlkZW9taXhlcjogc2VuZCBzdHJlYW0tc3RhcnQgZXZlbnQuCgoyMDEyLTEwLTE4IDEwOjM3OjM1ICswMjAwICBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBoYW5kbGUgRU5PREFUQSByZXR1cm4gdmFsdWUgZm9yIFZJRElPQ19FTlVNU1RECgkgIEluIGtlcm5lbCB2My43LXJjMSwgVklESU9DX0VOVU1TVEQgcmV0dXJucyBFTk9EQVRBIGlmIHRoZSBjdXJyZW50IGlucHV0CgkgIGRvZXMgbm90IHN1cHBvcnQgdGhlIFNURCBBUEkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTg4MjcKCjIwMTMtMDQtMjUgMTM6MTk6MzUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5LmM6CgkgIGRvY3M6IGFkZCBzb21lIHBheS9kZXBheWxvYWRlcnMKCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NTE2MzEKCjIwMTMtMDQtMjUgMTI6NDQ6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsYXdlbmMuYzoKCSAgbXVsYXc6IFNvbWUgbWlub3IgbWVtbGVhayBmaXhlcyBhbmQgY2xlYW51cAoKMjAxMy0wNC0yNCAxMzo1Njo1NiArMDIwMCAgQWxleGFuZGVyIFNjaHJhYiA8YWxleGFzQGF4aXMuY29tPgoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bGF3ZW5jLmM6CgkgIG11bGF3ZW5jOiBjaGFuZ2UgdG8gZ3N0YXVkaW9lbmNvZGVyIGJhc2UsIGFkZGVkIGJpdHJhdGUgdGFncwoKMjAxMi0wNS0wMyAxNjowNzoyNyArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBidWZmZXJwb29sOiByZXNldCBidWZmZXIgc2l6ZSBpbiByZWxlYXNlX2J1ZmZlcgoJICBUaGUgYnVmZmVyIG1pZ2h0IHN0aWxsIGJlIGluIHVzZSBlbHNld2hlcmUgd2hlbiBkZXF1ZXVpbmcgYnVmZmVycyBmb3IKCSAgb3V0cHV0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5ODgyMgoKMjAxMi0wNC0yMCAwOTo1MzozNSArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBidWZmZXJwb29sOiByZW1vdmUgdW51c2VkIGluY2x1ZGVzCgkgIFRoZSBoYWNrcyB0aGF0IG5lZWRlZCB0aGVzZSBhcmUgbG9uZyBnb25lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk4ODIxCgoyMDEzLTA0LTI1IDEyOjEyOjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgIChtdWx0aSl1ZHBzaW5rOiBVc2Ugc2VwYXJhdGUgc29ja2V0cyBmb3IgSVB2NCBhbmQgSVB2NgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTM0MjQzCgoyMDEzLTA0LTI1IDEwOjQ0OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuaDoKCSAgZHludWRwc2luazogVXNlIHNlcGFyYXRlIHNvY2tldHMgZm9yIElQdjQgYW5kIElQdjYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTUzNDI0MwoKMjAxMy0wNC0yNSAxMDo0Mzo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL01ha2VmaWxlLmFtOgoJICB1ZHA6IERvbid0IGluY2x1ZGUgcmVtb3ZlZCBnc3R1ZHAuaCBpbiBub2luc3RfSEVBREVSUwoKMjAxMy0wNC0xNyAxNjo0NzozMSAtMDcwMCAgVG9kZCBBZ3VsbmljayA8dG9kZEBhZ3Vsbmljay5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkgIG9zeGF1ZGlvOiBVc2UgZ3N0X2F1ZGlvX2NoYW5uZWxfcG9zaXRpb25zX3RvX21hc2soKSB0byBjcmVhdGUgbWFzawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk4ODA3CgoyMDEzLTA0LTE3IDE2OjEyOjI2IC0wNzAwICBUb2RkIEFndWxuaWNrIDx0b2RkQGFndWxuaWNrLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSAgb3N4YXVkaW86IFJlbW92ZSB1bnVzZWQgY29kZQoKMjAxMy0wNC0yNSAwOToxNjoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL01ha2VmaWxlLmFtOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuaDoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSogZ3N0L3VkcC9nc3R1ZHAuaDoKCSogZ3N0L3VkcC9nc3R1ZHBzaW5rLmg6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkgIHVkcDogUmVtb3ZlIHVudXNlZCBlbnVtIHR5cGUKCjIwMTMtMDQtMjUgMDk6MTM6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9NYWtlZmlsZS5hbToKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwLW1hcnNoYWwubGlzdDoKCSAgdWRwOiBVc2UgdGhlIGdlbmVyaWMgbWFyc2hhbGxlciBpbnN0ZWFkIG9mIGdlbmVyYXRpbmcgbWFyc2hhbGxlcnMKCjIwMTMtMDQtMjUgMDk6MDc6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuaDoKCSAgdWRwc3JjOiBSZW5hbWUgaW5zdGFuY2UgdmFyaWFibGUgZnJvbSBob3N0IHRvIG11bHRpX2dyb3VwCgkgIFRoaXMgaXMgbW9yZSBjb25zaXN0ZW50IGFzIGl0J3MgdXNlZCBmb3IgdGhlIG11bHRpY2FzdC1ncm91cCBwcm9wZXJ0eS4KCjIwMTMtMDQtMjUgMDk6MDM6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBBZGQgYmluZC1hZGRyZXNzIHByb3BlcnR5CgkgIFRoaXMgaXMgZXF1aXZhbGVudCB0byBtdWx0aWNhc3QtZ3JvdXAgY3VycmVudGx5IGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS4KCSAgSW4gMi4wIHRoaXMgc2hvdWxkIGJlIGhhbmRsZWQgc2VwYXJhdGVseSwgdGhlIGZvcm1lciBvbmx5IGJlaW5nIHRoZSBtdWx0aWNhc3QKCSAgZ3JvdXAgYW5kIHRoZSBsYXR0ZXIgYWx3YXlzIGJlaW5nIHRoZSBhZGRyZXNzIHRoZSBzb2NrZXQgaXMgYm91bmQgdG8sIGV2ZW4gaWYKCSAgYSBtdWx0aWNhc3QgZ3JvdXAgaXMgZ2l2ZW4uCgoyMDEzLTA0LTI0IDE2OjI0OjI1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSAgdnJhd2RlcGF5OiByZXR1cm4gb3V0cHV0IGJ1ZmZlciBmcm9tIHByb2Nlc3MKCSAgUmV0dXJuIHRoZSBvdXRwdXQgYnVmZmVyIGZyb20gdGhlIHByb2Nlc3MgZnVuY3Rpb24gaW5zdGVhZCBvZiBwdXNoaW5nCgkgIGl0IG91cnNlbHZlcy4gVGhpcyB3YXksIHRoZSBzdWJjbGFzcyBjYW4gYWN0dWFsbHkgZGVhbCB3aXRoIHRoZSByZXR1cm4KCSAgdmFsdWUgb2YgdGhlIHB1c2guCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTM3MjcKCjIwMTItMTAtMDEgMDk6Mjk6MjEgLTAzMDAgIERpb2dvIENhcmJvbmVyYSBMdXZpem9uIDxkaW9nby5sdXZpem9uQGVuc2l0ZWMuY29tLmJyPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBzYXZlIHRoZSBmb3JtYXQgY29ycmVjdGx5CgkgIElmIFRSWV9GTVQgaXMgbm90IGltcGxlbWVudGVkLCAgZ3N0X3Y0bDJfb2JqZWN0X2dldF9uZWFyZXN0X3NpemUgd2lsbAoJICB1c2UgU19GTVQgYW5kIHdpbGwgY2hhbmdlIHRoZSBkZXZpY2UncyBvcGVyYXRpb24gbW9kZS4gVG8gc2F2ZSB0aGUKCSAgb2xkIGRldmljZSBtb2RlIHdlIG5lZWQgdG8gc2V0IHRoZSB0eXBlIGZpZWxkIG9yIGVsc2UgaXQgd2lsbCBmYWlsCgkgIHRvIHNhdmUgdGhlIHByZXZpb3VzIGZvcm1hdC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTIwOQoKMjAxMy0wNC0yNCAxNTozODo1MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIyZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkgIHJ0cDogYSBtYXJrZXIgYml0IHNob3VsZCB0cmFuc2xhdGUgdG8gUkVTWU5DCgkgIEEgbWFya2VyIGJpdCBvbiBhbiBhdWRpbyBwYWNrZXQgZG9lcyBub3QgbWVhbiBhIERJU0NPTlQgKGluIHRoZSBHU3RyZWFtZXIgc2Vuc2UKCSAgb2YgbWlzc2luZyBkYXRhKSBidXQgaXQgbWVhbnMgdGhhdCB0aGUgcGFja2V0IGlzIHRoZSBlbmQgb2YgYSB0YWxrc3B1cnQgYW5kIHRodXMKCSAgYSBnb29kIG9wcG9ydHVuaXR5IHRvIHJlc3luYyB0byB0aGUgY2xvY2suIFVzZSB0aGUgUkVTWU5DIGJ1ZmZlciBmbGFnIHRvIG5vdGUKCSAgdGhpcy4KCSAgUmVhbCBkaXNjb250aW51aXRpZXMgYXJlIG1hcmtlZCB3aXRoIERJU0NPTlQgc3RpbGwgd2hlbiB0aGUgc2VxbnVtIGhhcyBhIEdBUCBvcgoJICB3aGVuIHRoZSBpbnB1dCBidWZmZXIgaGFzIHRoZSBESVNDT05UIGZsYWcgc2V0LgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI3MjA0CgoyMDEzLTA0LTIyIDIzOjUxOjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogTUFJTlRBSU5FUlM6CgkqIFJFQURNRToKCSogUkVBRE1FLnN0YXRpYy1saW5raW5nOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDNjYjNkM2MgdG8gNWVkY2Q4NQoKMjAxMy0wNC0yMiAxMDoxOToyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJICBydHBqcGVnZGVwYXk6IERyb3AgZnJhbWUgaWYgaXQncyBsZXNzIHRoYW4gMiBieXRlcyBsYXJnZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc3NTYwCgoyMDEzLTA0LTE4IDEyOjIwOjA4ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJICBhdXRvZGV0ZWN0OiB1c2UgX3BsdWdpbl9mZWF0dXJlX3JhbmtfY29tcGFyZSBBUEkgaW5zdGVhZCBvZiBkdXBsaWNhdGluZyB0aGUgY29kZS4KCjIwMTMtMDQtMTggMDk6Mzc6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvcmluZ2J1ZmZlci5oOgoJICBvc3hhdWRpbzogSW5jbHVkZSBnc3RhdWRpb3JpbmdidWZmZXIuaCB0byBmaXggY29tcGlsYXRpb24gaW4gMS4wCgoyMDEzLTA0LTE3IDIxOjA1OjE0ICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJICBvc3hhdWRpb3Npbms6IGNoYW5uZWwtbWFzayBjb25maWd1cmF0aW9uIGZpeGVzCgkgIFNldCBjaGFubmVsLW1hc2sgYWNjb3JkaW5nIHRvIHNpbmsncyBsYXlvdXQgaW4gY2FzZSBvZiBzdGVyZW8gbGF5b3V0LgoJICBBbHNvIGluaXRpYWxpemUgYW5kIHJlc2V0IHRoZSBtYXNrIHdoZW4gYW4gdW5yZWNvZ25pemVkIGNoYW5uZWwgaXMgZGV0ZWN0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTgyMjQKCjIwMTMtMDQtMTUgMTk6NTM6MjggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IERpc2FibGUgcmVuZWdvdGlhdGlvbiBpbiB0aGUgbmVnb3RpYXRlIG1ldGhvZAoJICBUaGlzIHdheSwgd2UgZG9uJ3QgYmxvY2sgdGhlIGluaXRpYWwgbmVnb3RpYXRpb24uCgkgIFRoYW5rcyB0byBKZXJlbXkgV2hpdGluZyBmb3IgZG9pbmcgYWxsIHRoZSB0ZXN0aW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1OTgxCgoyMDEzLTA0LTE1IDE5OjQ2OjEyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBSZXZlcnQgInY0bDI6IGRpc2FibGUgcmVuZWdvdGlhdGlvbiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBkMWIyNmUxZDU5NGFiMmI2MzMyNGU0M2EzNjMzMDQ3NWU5OGNkZjE4LgoJICBUaGlzIGNhdXNlcyB0aGUgaW5pdGlhbCBuZWdvdGlhdGlvbiB0byBuZXZlciBoYXBwZW4gaWYgYSByZWNvbmZpZ3VyZQoJICBldmVudCBpcyByZWNlaXZlZCBhZnRlciBnc3RfYmFzZV9zcmNfc3RhcnRfY29tcGxldGUoKSBidXQgYmVmb3JlIHRoZSBsb29wCgkgIHN0YXJ0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTk4MQoKMjAxMy0wNC0xNyAyMToxMjo1NSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSAgZmxhY3RhZzogZm9yd2FyZCBjYXBzIGV2ZW50CgkgIFRoaXMgZW5zdXJlcyB0aGF0IHRoZSBkb3duc3RyZWFtIGVsZW1lbnQgd2lsbCBnZXQgdGhlIGV2ZW50IGFuZCBuZWdvdGlhdGVzLiBBZGQKCSAgYSBGSVhNRSBmb3IgdXBkYXRpbmcgdGhlIHN0cmVhbWhlYWRlciBmaWVsZCBvbiB0aCBjYXBzLgoKMjAxMy0wNC0xNyAwNzo1MDoyNyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJICBmbGFjOiBhZGQgbW9yZSBsb2dnaW5nCgoyMDEzLTA0LTE3IDIwOjI0OjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9jb21tb24uaDoKCSAgb3N4YXVkaW86IEZpeCBtZXJnZSBjb25mbGljdHMKCjIwMTMtMDQtMTcgMTA6MTA6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBvc3hhdWRpbzogRml4IGNvbmZpZ3VyZSBjaGVjayBmb3Igb3N4YXVkaW8gcGx1Z2luCgoyMDEzLTA0LTE3IDA5OjUwOjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3JpbmdidWZmZXIuYzoKCSAgb3N4YXVkaW9yaW5nYnVmZmVyOiBGaXJzdCBjaGVjayB0aGUgdHlwZSwgdGhlbiBjYXN0CgoyMDEzLTA0LTE2IDIyOjQ2OjAwICswOTAwICBUYWthc2hpIE5ha2FqaW1hIDx0ZWQubmFrYWppbWFAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmg6CgkgIG9zeGF1ZGlvOiB1c2UgR1NUX0lTX09TWF9BVURJT19TSU5LIGluIHJpbmcgYnVmZmVyLgoKMjAxMy0wNC0xMCAyMTowNjoxNiArMDkwMCAgVGFrYXNoaSBOYWthamltYSA8dGVkLm5ha2FqaW1hQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3JpbmdidWZmZXIuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmg6CgkgIG9zeGF1ZGlvOiBjYWxsIHNldF9jaGFubmVsX3Bvc2l0aW9ucygpIGluIG9zeGF1ZGlvcmluZ2J1ZmZlciBhY3F1aXJlKCkKCjIwMTMtMDQtMTIgMTI6MTg6MDQgLTA3MDAgIFRvZGQgQWd1bG5pY2sgPHRvZGRAYWd1bG5pY2suY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvcmluZ2J1ZmZlci5jOgoJICBvc3hhdWRpbzogdXNlIEdTVF9BVURJT19JTkZPXyogYWNjZXNzb3JzCgkgIENoYW5nZXMgaW5jbHVkZSB0aGUgZm9sbG93aW5nOgoJICAqIFVwZGF0ZSBjbGFzc25hbWUgcmVmZXJlbmNlcwoJICAqIFJlcGxhY2UgR1NUX0JPSUxFUlBMQVRFX0ZVTEwgd2l0aCBHX0RFRklORV9UWVBFCgkgICogVXNlIG5ldyBHc3RBdWRpb0luZm8gc3RydWN0IGFuZCBtZXRob2RzCgkgICogVXNlIG5ldyBidWZmZXIgbWVtb3J5IGFsbG9jYXRpb24gc2NoZW1lCgkgIENvbmZsaWN0czoKCSAgc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvcmluZ2J1ZmZlci5jCgoyMDEzLTA0LTEyIDExOjUxOjQ2IC0wNzAwICBUb2RkIEFndWxuaWNrIDx0b2RkQGFndWxuaWNrLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9jb21tb24uaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2hhbC5jOgoJICBvc3hhdWRpbzogYWRqdXN0IGZvciBjaGFuZ2VzIHRvIGdsaWIgbXV0ZXggYXBpLgoKMjAxMy0wNC0xMCAwMToyMTo0OSArMDkwMCAgVGFrYXNoaSBOYWthamltYSA8dGVkLm5ha2FqaW1hQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkgIG9zeGF1ZGlvOiB0cnkgdG8gZml4IHVwIGFjY29yZGluZyB0byBTZWJhc3RpYW4ncyBjb21tZW50cwoKMjAxMy0wNC0wNSAxMDowMjozOCArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvcmluZ2J1ZmZlci5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmg6CgkgIG9zeGF1ZGlvOiBidWlsZCBmaXhlcwoJICBFbmFibGUgdGhlIG9zeGF1ZGlvIHBsdWdpbiBidWlsZCBpbiBjb25maWd1cmUuYWMgYW5kIGZpeCBzb21lCgkgIGluY2x1ZGUgZGlyZWN0aXZlIG9yZGVyIGlzc3Vlcy4KCjIwMTMtMDQtMDIgMjI6Mjg6MDkgKzA5MDAgIHRlZC1uIDx0ZWQubmFrYWppbWFAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkgIG9zeGF1ZGlvOiBmaXggbGF5b3V0IGZvciBvc3hhdWRpb3NyYwoKMjAxMy0wMy0zMCAyMjo0OTozNCArMDkwMCAgdGVkLW4gPHRlZC5uYWthamltYUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vTWFrZWZpbGUuYW06CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb2VsZW1lbnQuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9yaW5nYnVmZmVyLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9jb21tb24uYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2NvbW1vbi5oOgoJICBvc3hhdWRpbzogcG9ydCB0byB2LjEuMAoKMjAxMy0wNC0xNiAxOToyOTo0OCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IERvbid0IHVucmVmIHF1ZXJ5LCB3ZSBkb24ndCBvd24gaXQKCSAgRml4ZXMgZG91YmxlLXVucmVmIGJ1Zy4gQnVnIGZvdW5kIGJ5IFlvdW5lc3MgQWxhb3VpCgoyMDEzLTA0LTE2IDIwOjQxOjEwICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IGZpeCBTQ0hFRFVMSU5HIHF1ZXJ5IHN1cHBvcnQKCSAgQ2hhaW4gdGhlIHF1ZXJ5IHVwIHRvIHBhcmVudCBiZWZvcmUgYWRkaW5nIF9CQU5EV0lEVEhfTElNSVRFRCBmbGFnLAoJICBzbyB0aGF0IGFsbCB0aGUgb3RoZXIgZmxhZ3MgZ2V0IHNldCwgYW5kIHB1c2ggbW9kZSBnZXRzIGFkZGVkIGFzCgkgIHN1cHBvcnRlZCBhY3RpdmF0aW9uIG1vZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTM0ODQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5ODE1NgoKMjAxMy0wMy0zMSAxMjowNTo0OSArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBiYXNpYyBzY2hlZHVsaW5nIHF1ZXJ5IHN1cHBvcnQKCSAgQW5zd2VyIHRvIHNjaGVkdWxpbmcgcXVlcmllcyB3aXRoIGRlZmF1bHQgcGFyYW1ldGVycyBhbmQgdGhlIG5ldwoJICBfQkFORFdJRFRIX0xJTUlURURfRkxBRyBzbyB0aGF0IGRvd25zdHJlYW0gaXMgYWR2aXNlZCB0byBtaW5pbWl6ZSBzZWVrCgkgIG9wZXJhdGlvbnMgYW5kIHBlcmZvcm0gb24tZGlzayBidWZmZXJpbmcgaWYgcG9zc2libGUuCgkgIEJ1ZyA2OTM0ODQKCjIwMTMtMDQtMTUgMTQ6MzI6NDYgKzAwMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogZml4IHNlZ2ZhdWx0IGFjY2Vzc2luZyBvc3h3aW5kb3cgd2hlbiBub3Qgc2V0IHlldAoKMjAxMi0xMC0yNCAxMjoxNDo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9hYWxpYi9NYWtlZmlsZS5hbToKCSogZXh0L2NhaXJvL01ha2VmaWxlLmFtOgoJKiBleHQvZHYvTWFrZWZpbGUuYW06CgkqIGV4dC9mbGFjL01ha2VmaWxlLmFtOgoJKiBleHQvZ2RrX3BpeGJ1Zi9NYWtlZmlsZS5hbToKCSogZXh0L2phY2svTWFrZWZpbGUuYW06CgkqIGV4dC9qcGVnL01ha2VmaWxlLmFtOgoJKiBleHQvbGliY2FjYS9NYWtlZmlsZS5hbToKCSogZXh0L2xpYnBuZy9NYWtlZmlsZS5hbToKCSogZXh0L21pa21vZC9NYWtlZmlsZS5hbToKCSogZXh0L3B1bHNlL01ha2VmaWxlLmFtOgoJKiBleHQvcmF3MTM5NC9NYWtlZmlsZS5hbToKCSogZXh0L3Nob3V0Mi9NYWtlZmlsZS5hbToKCSogZXh0L3NvdXAvTWFrZWZpbGUuYW06CgkqIGV4dC9zcGVleC9NYWtlZmlsZS5hbToKCSogZXh0L3RhZ2xpYi9NYWtlZmlsZS5hbToKCSogZXh0L3ZweC9NYWtlZmlsZS5hbToKCSogZXh0L3dhdnBhY2svTWFrZWZpbGUuYW06CgkqIGdzdC9hbHBoYS9NYWtlZmlsZS5hbToKCSogZ3N0L2FwZXRhZy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdXBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvYXV0b2RldGVjdC9NYWtlZmlsZS5hbToKCSogZ3N0L2F2aS9NYWtlZmlsZS5hbToKCSogZ3N0L2N1dHRlci9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWludGVybGFjZS9NYWtlZmlsZS5hbToKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkqIGdzdC9lZmZlY3R2L01ha2VmaWxlLmFtOgoJKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJKiBnc3QvZmx4L01ha2VmaWxlLmFtOgoJKiBnc3QvZ29vbS9NYWtlZmlsZS5hbToKCSogZ3N0L2dvb20yazEvTWFrZWZpbGUuYW06CgkqIGdzdC9pY3lkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L2lkM2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvaW1hZ2VmcmVlemUvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnRlcmxlYXZlL01ha2VmaWxlLmFtOgoJKiBnc3QvaXNvbXA0L01ha2VmaWxlLmFtOgoJKiBnc3QvbGF3L01ha2VmaWxlLmFtOgoJKiBnc3QvbGV2ZWwvTWFrZWZpbGUuYW06CgkqIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbToKCSogZ3N0L21vbm9zY29wZS9NYWtlZmlsZS5hbToKCSogZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbToKCSogZ3N0L211bHRpcGFydC9NYWtlZmlsZS5hbToKCSogZ3N0L3JlcGxheWdhaW4vTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRzcC9NYWtlZmlsZS5hbToKCSogZ3N0L3NoYXBld2lwZS9NYWtlZmlsZS5hbToKCSogZ3N0L3NtcHRlL01ha2VmaWxlLmFtOgoJKiBnc3Qvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkqIGdzdC91ZHAvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2JveC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvY3JvcC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZmlsdGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L3dhdmVuYy9NYWtlZmlsZS5hbToKCSogZ3N0L3dhdnBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkqIHN5cy9vc3MvTWFrZWZpbGUuYW06CgkqIHN5cy9vc3M0L01ha2VmaWxlLmFtOgoJKiBzeXMvb3N4YXVkaW8vTWFrZWZpbGUuYW06CgkqIHN5cy9vc3h2aWRlby9NYWtlZmlsZS5hbToKCSogc3lzL3N1bmF1ZGlvL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3dhdmVmb3JtL01ha2VmaWxlLmFtOgoJKiBzeXMveGltYWdlL01ha2VmaWxlLmFtOgoJICBnc3Q6IEFkZCBiZXR0ZXIgc3VwcG9ydCBmb3Igc3RhdGljIHBsdWdpbnMKCjIwMTMtMDQtMTIgMTk6MjY6MTEgKzAwMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvZ29vbTJrMS9NYWtlZmlsZS5hbToKCSAgZ29vbTJrMTogZml4IGR1cGxpY2F0ZWQgc3ltYm9sIHdpdGggZ29vbQoKMjAxMy0wMy0xMCAxNzoxNzoxNyArMDAwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvZWxlbWVudC5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvY29tbW9uLmg6CgkgIG9zeGF1ZGlvOiBGaXhlcyBlcnJvcjogIkdTVF9MRVZFTF9ERUZBVUxUIiByZWRlZmluZWQKCjIwMTMtMDMtMTAgMTc6Mjc6MzAgKzAwMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9oYWwuYzoKCSAgb3N4YXVkaW86IGZpeGVzIGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdnZXRwaWQnCgoyMDEzLTA0LTE0IDE3OjU1OjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogYXV0b2dlbi5zaDoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBhZWQ4N2FlIHRvIDNjYjNkM2MKCjIwMTMtMDQtMTQgMTI6MzI6MDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBzb3VwaHR0cHNyYzogYWRkIGJhY2sgImlyYWRpby1tb2RlIiBwcm9wZXJ0eSB0byBkaXNhYmxlIHNlbmRpbmcgb2YgaWNlY2FzdCByZXF1ZXN0IGhlYWRlcnMKCSAgSW4gMS4wIHdlIG5vdyBhbHdheXMgc2VuZCB0aGUgaWNlY2FzdCByZXF1ZXN0IGhlYWRlcnMgYnkgZGVmYXVsdCwgd2hpY2gKCSAgbWFrZXMgdGhlIHNlcnZlciBzZW5kIGljZWNhc3RzIG1ldGFkYXRhIGluc2VydGVkIGludG8gdGhlIHN0cmVhbSBpZiBpdAoJICBzdXBwb3J0cyB0aGF0LiBIb3dldmVyLCB0aGVyZSBhcmUgc29tZSB1c2UgY2FzZXMgd2hlcmUgdGhpcyBpcyBub3QKCSAgZGVzaXJhYmxlLCBsaWtlIHdoZW4ganVzdCBzYXZpbmcgYSByYWRpbyBzdHJlYW0gdG8gZGlzaywgc28gYWRkIGJhY2sKCSAgdGhlICJpcmFkaW8tbW9kZSIgcHJvcGVydHkgdG8gYWxsb3cgcGVvcGxlIHRvIGRpc2FibGUgdGhpcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5Nzk4NAoKMjAxMy0wNC0xMiAxNjoxNjo0MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkgIHJ0cDogcmVnaXN0ZXIgdGFnIGltYWdlIHR5cGVzCgkgIFRoZSBydHBnc3RkZXBheSBuZWVkcyB0aGUgdHlwZSB0byBiZSBhdmFpbGFibGUgaW4gb3JkZXIgdG8gZGVzZXJpYWxpemUgdGhlCgkgIGV2ZW50LgoKMjAxMy0wNC0xMiAxNjowODo1OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSAgcnRwZ3N0ZGVwYXk6IGhhbmRsZSBldmVudCBwYXJzZSBmYWlsdXJlcyBiZXR0ZXIKCjIwMTMtMDQtMTEgMjI6MjU6MDUgKzAzMDAgIEFudG9uIEJlbGthIDxhbnRvbmJlbGthQGdtYWlsLmNvbT4KCgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkgIHdhdmVuYzogYWRkIFRPQyBzZXR0ZXIgc3VwcG9ydAoKMjAxMy0wNC0xMiAxMjozMTozMCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkgIHdhdmVuYzogc21hbGwgY2xlYW51cHMgZm9yIHRvYyBoYW5kbGluZwoJICBEb24ndCBhZGQgZW1wdHkgbGFibC9ub3RlIGNodW5rcy4gQWx3YXlzIHBhc3MgaW5zdGFuY2UgYXMgdGhlIGZpcnN0IHBhcmFtLiBBZGQgbW9yZSBsb2dnaW5nLgoKMjAxMy0wNC0xMiAxMjo1ODo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogUHJveHkgdGhlIG50cC1zeW5jIHByb3BlcnR5IG9mIHJ0cGJpbgoKMjAxMy0wNC0xMiAxMjo1MTowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IEdpdmUgdGhlIG1hbmFnZXIgYWx3YXlzIHRoZSBuYW1lICJtYW5hZ2VyIgoJICBUaGlzIGFsbG93cyB0byB1c2UgdGhlIEdzdENoaWxkUHJveHkgaW50ZXJmYWNlIHRvIGFkanVzdAoJICBwcm9wZXJ0aWVzIG9uIGl0LgoKMjAxMy0wNC0xMSAyMjo1MzoyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FscGhhY29sb3IuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXBldjJtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzdjJtdXguYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2ZsYWNkZWMuYzoKCSAgdGVzdHM6IGZpeCBzb21lIHByaW50ZiBmb3JtYXQgaXNzdWVzIGluIGRlYnVnIG1lc3NhZ2VzCgoyMDEzLTA0LTExIDE5OjI3OjE1ICswMzAwICBBbnRvbiBCZWxrYSA8YW50b25iZWxrYUBnbWFpbC5jb20+CgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5oOgoJICB3YXZlbmM6IGFkZCAnbm90ZScgY2h1bmsgc3VwcG9ydAoKMjAxMy0wNC0xMSAyMDo0NjoyNiArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBhZGQgYSBsaXR0bGUgbW9yZSBkb2NzIHRvIHRoZSBhdWRpb2Nsb2NrCgoyMDEzLTA0LTExIDE1OjAwOjA1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBhZGQgc3VwcG9ydCBmb3IgTmV0Q2xpZW50Q2xvY2sKCSAgV2hlbiB0aGUgc2VydmVyIHN1Z2dlc3RzIGEgR3N0TmV0VGltZVByb3ZpZGVyIGluIHRoZSBTRFAsIHNldCB1cCBhCgkgIEdzdE5ldENsaWVudENsb2NrIHRoYXQgc2xhdmVzIHRvIHRoZSByZW1vdGUgY2xvY2sgYW5kIHN1Z2dlc3QgdGhpcyBjbG9jayBpbgoJICBwcm92aWRlX2Nsb2NrLgoKMjAxMy0wNC0xMSAxNDo1NzoxMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgIHVkcHNpbms6IGF2b2lkIGFsbG9jIGFuZCBmcmVlIGluIHJlbmRlciBmdW5jdGlvbgoJICBBdm9pZCBkb2luZyBhbGxvYyBhbmQgZnJlZSBpbiB0aGUgcmVuZGVyIGZ1bmN0aW9uIGZvciBlYWNoIGJ1ZmZlci4gSW5zdGVhZCwKCSAgYWxsb2NhdGUgdGhlIG5lZWRlZCBhcnJheXMgaW4gX2luaXQgYW5kIHVzZSB0aG9zZS4KCjIwMTMtMDQtMTAgMDg6MzY6MDAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2ZXBhcnNlOiByZW1vdmUgc3VwZXJmbHVvdXMgZ19saXN0X2ZpcnN0KCkgY2FsbHMKCSAgVGhlIHZhcmlhYmxlcyBhbHJlYWR5IHBvaW50IHRvIHRoZSBzdGFydCBvZiB0aGUgbGlzdC4KCjIwMTMtMDQtMDkgMjM6MTM6MTggKzAxMDAgIEFuZHJlYXMgRmVua2FydCA8YW5kcmVhcy5mZW5rYXJ0QHN0cmVhbXVubGltaXRlZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY2RlcGF5LmM6CgkgIHJ0cHNiY2RlcGF5OiBmaXggc2JjIGZyYW1lIGxlbmd0aCBjYWxjdWxhdGlvbiBmb3IgbW9ubyBhbmQgc3RlcmVvIG1vZGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTc0NjMKCjIwMTMtMDMtMjUgMTQ6MzU6MDIgKzAzMDAgIEFudG9uIEJlbGthIDxhbnRvbmJlbGthQGdtYWlsLmNvbT4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSAgd2F2cGFyc2U6IGFkZCAnbm90ZScgY2h1bmsgc3VwcG9ydAoJICBBZGQgJ25vdGUnIGNodW5rIHN1cHBvcnQgaW4gVE9DIGFzIEdTVF9UQUdfQ09NTUVOVAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk2NTQ5CgoyMDEzLTA0LTA4IDE3OjUzOjA5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBjaGVjayB2YWx1ZSBpbnNpZGUgZW5kYSB0byBzZXQgZW5kaWFubmVzcwoKMjAxMy0wNC0wOSAyMTowMDoxMiArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMDRjN2ExZSB0byBhZWQ4N2FlCgoyMDEzLTA0LTA5IDE3OjM0OjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkgIGljeWRlbXV4OiBhdm9pZCBjb3B5IHdoZW4gd2UgY2FuCgoyMDEzLTA0LTA5IDE2OjUyOjIxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSAgZ3N0cGF5OiB1c2UgYnVmZmVybGlzdCB0byBhdm9pZCBtZW1jcHkKCjIwMTMtMDQtMDkgMTY6NTA6NTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICB1ZHBzaW5rOiBpbXByb3ZlIGRlYnVnCgoyMDEzLTA0LTA5IDAwOjI4OjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFyc2UuYzoKCSAgdGVzdHM6IHJlZmFjdG9yIG5ldyB3YXZwYXJzZSB0ZXN0IGEgbGl0dGxlCgkgIFVzZSBmYWtlc3JjIGluc3RlYWQgb2YgZmlsZXNyYyB3aXRoIC9kZXYvbnVsbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjY4NAoKMjAxMy0wNC0wOCAxMTozODozMyArMDIwMCAgQWxleGFuZGVyIFNjaHJhYiA8YWxleGFzQGF4aXMuY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogZXJyb3Igb3V0IGlmIHdlIHJlY2VpdmUgZW9zIGJlZm9yZSBhbnkgdmFsaWQgZGF0YQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk2Njg0CgoyMDEzLTA0LTA3IDAxOjQ3OjU2ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBmb3JjZSBkZWludGVybGFjaW5nIGluICJpbnRlcmxhY2VkIiBtb2RlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTc0NjcKCjIwMTMtMDQtMDYgMTI6NDU6MjggLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnNpbmsuYzoKCSAgZ2RrcGl4YnVmc2luazogQWRkIHRpbWVzdGFtcC9ydW5uaW5nLXRpbWUvc3RyZWFtLXRpbWUgdG8gdGhlIGVtaXRlZCBtZXNzYWdlCgoyMDEzLTA0LTA1IDE0OjM4OjQzICswMjAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjZGVwYXkuYzoKCSAgcnRwc2JjZGVwYXk6IGZpeCBwcmludGYgZm9ybWF0IGNvbXBpbGVyIHdhcm5pbmdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTczNDMKCjIwMTMtMDQtMDUgMDk6MzQ6MjMgKzAxMDAgIFRvZGQgQWd1bG5pY2sgPHRvZGRAYWd1bG5pY2suY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlbzogaW5jbHVkZSBwdGhyZWFkLmggdG8gZml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NzMwMwoKMjAxMy0wNC0wNCAyMjo0ODo0NSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuaDoKCSAgbGV2ZWw6IHJlc3luYyBvbiBkaXNjb250CgkgIERyb3AgcGVuZGluZyBkYXRhIG9uIGRpc2NvbnQgYW5kIHN0YXJ0IGEgbmV3IGN5Y2xlIHdpdGggYSBuZXcgYmFzZSB0aW1lc3RhbXAuCgkgIENsZWFudXAgc29tZSB2YXJpYWJsZXMuCgoyMDEzLTA0LTAzIDIzOjUyOjQ3ICswMTAwICBUb20gR3JlZW53b29kIDx0Z3JlZW53b29kQFRvbXMtTWFjQm9vay1Qcm8ubG9jYWw+CgoJKiBleHQvdnB4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IEltcHJvdmUgbG9nZ2luZyB3aGVuIHZweF9jb2RlY19wZWVrX3N0cmVhbV9pbmZvIGZhaWxzCgkgIERlY29kZSBmYWlsdXJlcyBhbmQgbWlzc2luZyBrZXlmcmFtZXMgc2hvdWxkIGdldCBkaWZmZXJlbnQgZGVidWcKCSAgb3V0cHV0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3MjMyCgoyMDEzLTA0LTAzIDE4OjI0OjI5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBzYmNkZXBheS5jOgoJICBydHBzYmNkZXBheTogUmFuayBhcyBzZWNvbmRhcnkKCSAgVGhpcyB3YXksIGl0IHdpbGwgYmUgc2VsZWN0ZWQgYnkgZGVjb2RlYmluCgkgIEJ1ZyByZXBvcnRlZCBieSBhbmRyZWFzLmZlbmthcnRAc3RyZWFtdW5saW1pdGVkLmNvbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3MjI3CgoyMDEzLTA0LTAzIDE5OjA1OjM4ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkgIGxldmVsOiBzdWJkaXZpZGUgYnVmZmVycyBmb3Igc2FtcGxlIGFjY3VyYXRlIGludGVydmFsIGhhbmRsaW5nCgkgIFByZXZpb3VzbHkgd2Ugd291bGQgc2tpcCBsZXZlbCBtZXNzYWdlIHdoZW4gcHJvY2Vzc2luZyBidWZmZXJzID4gdGhlIHJlcXVlc3RlZAoJICBpbnRlcnZhbC4gQWxzbyB0aGUgbWVzc2FnZSBmcmVxdWVuY3kgd291bGQgY29udGFpbiBxdWl0ZSBzb21lIGppdHRlciBkdWUgdG8gb25seQoJICBjb25zaWRlcmluZyB0aGVtIGF0IHRoZSBlbmQgb2YgYnVmZmVycy4KCSAgQ2xlYW51cCB0aGUgdGVzdHMgd2hpbGUgd2UncmUgYXQgaXQuCgoyMDEzLTAzLTE5IDA4OjIzOjI1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiByZW1vdmUgb2xkIHNpbmNlIGNvbW1lbnRzIGFuZCB1cGRhdGUgbG9nZ2luZwoJICBEb24ndCBwcmV0ZW5kIHRoYXQgd2UgaGF2ZSBhIHRpbWVzdGFtcCBvbiBhIGJ1ZmZlciB3aGVuIHdlIG5ldmVyIHNldCBvbmUuCgoyMDEzLTAzLTE4IDIwOjU5OjIzICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiByZW1vdmUgb2xkIHNpbmNlIGNvbW1lbnQKCjIwMTMtMDQtMDMgMTc6NTM6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IFByb3h5IHRoZSBtdWx0aWNhc3QtaWZhY2UgcHJvcGVydHkgb2YgdWRwc3JjCgoyMDEzLTA0LTAzIDExOjA5OjUwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogZnJlZSBhbGwgcXVldWVkIGJ1ZmZlcnMKCSAgRG9uJ3QganVzdCBsb29wIG92ZXIgdGhlIGZpcnN0IG51bV9xdWV1ZWQgYnVmZmVycyBidXQgbG9vcCBvdmVyCgkgIGFsbCB0aGUgYnVmZmVycyBhbmQgY2hlY2sgaWYgdGhleSBuZWVkIHRvIGJlIGZyZWVkLiBJdCBpcyBwb3NzaWJsZSB0aGF0CgkgIG5vdCBhbGwgYnVmZmVycyBhcmUgcXVldWVkIGFuZCB0aGVuIHRoZSBlbnRyeSBpbiBvdXIgYXJyYXkgd2lsbCBiZSBOVUxMLgoJICBUaG9zZSBidWZmZXJzIHRoYXQgYXJlIG5vdCBxdWV1ZWQgd2VyZSBmcmVlZCBpbiBzdG9wKCkuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTY2NTEKCjIwMTMtMDQtMDMgMTE6MDk6MzcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBpbXByb3ZlIGRlYnVnCgoyMDEzLTA0LTAyIDIzOjQyOjIzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cHNzcmNkZW11eDogT25seSBmb3J3YXJkIHN0aWNrIGV2ZW50cyB3aGlsZSBob2xkaW5nIHRoZSBzaW5rcGFkIHN0cmVhbSBsb2NrCgkgIE90aGVyd2lzZSB3ZSBnZXQgYSByYWNlIHdoZXJlIGlmIHRoZSBSVENQIHBhY2tldCBjb21lcyBpbiBmaXJzdCBhbmQgd2hpbGUKCSAgaXQgaXMgYWRkZWQgdGhlIHBhZHMsIHRoZSBzZWdtZW50IGV2ZW50IGFycml2ZXMgb24gdGhlIFJUUCBzdHJlYW0sIHRoZSBldmVudAoJICBtYXkgYmUgbG9zdCBjb21wbGV0ZWx5IGFuZCBuZXZlciBmb3J3YXJkZWQuCgoyMDEzLTA0LTAyIDIzOjM1OjA2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cHNzcmNkZW11eDogTm8gbmVlZCB0byBleHBsaWNpdGVseSBmb3J3YXJkIHRoZSBjYXBzCgkgIFRoZXkgYXJlIGZvcndhcmRlZCB3aXRoIHRoZSBvdGhlciBldmVudHMKCjIwMTMtMDQtMDIgMjI6Mjk6MzggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4Lmg6CgkgIHJ0cHNzcmNkZW11eDogUmVtb3ZlIHVudXNlZCBHc3RTZWdtZW50CgoyMDEzLTA0LTAyIDIyOjI2OjAyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cHNzcmNkZW11eDogU2ltcGxpZnkgZXZlbnQgZm9yd2FyZGluZwoJICBVc2UgdGhlIGdzdF9wYWRfZm9yd2FyZCgpIG1lY2hhbmljLCB0aGlzIHdheSB3ZSB3b24ndCBtaXNzIHBhZHMgdGhhdCBhcmUKCSAgYWRkZWQgd2hpbGUgd2UgYXJlIHB1c2hpbmcKCjIwMTMtMDQtMDIgMjE6NTM6MTAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBEb24ndCBjcm9zcyB0aGUgaW50ZXJuYWwgbGlua3MKCSAgV2UgaGFkIHRoZSB3cm9uZyBjb25kaXRpb24gdG8gY2hlY2sgZm9yIHRoZSBpbnRlcm5hbCBsaW5rcywgc28gUlRQIGFuZCBSVENQCgkgIHBhZHMgZ290IGNyb3NzZWQhCgoyMDEzLTAzLTMxIDE3OjU0OjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGZpeCBzb21lIGRlYnVnIG1lc3NhZ2VzCgoyMDEzLTA0LTAyIDIzOjM2OjIyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBmaXggcHJpbnRmIGZvcm1hdCBjb21waWxlciB3YXJuaW5nIGluIGRlYnVnIG1lc3NhZ2UKCjIwMTItMDgtMjkgMTc6MjQ6MDAgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgbWF0cm9za2FkZW11eDogaGFuZGxlIFRydWVIRCBhdWRpbyBjb2RlYyBpZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3MTEzCgoyMDEzLTAzLTMxIDE5OjE0OjA0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJICB0aGVvcmFwYXk6IGFkZCBkZWx0YS11bml0IHRvIG91dHB1dCBmcmFtZXMKCjIwMTMtMDMtMjMgMDU6MjI6MjMgKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiB1c2UgdGltZXN0YW1wIGRlbHRhIGFzIGR1cmF0aW9uIGlmIHBvc3NpYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTY0MzcKCjIwMTMtMDMtMzAgMDk6NDQ6NDEgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjZGVwYXkuYzoKCSAgcnRwOiBmaXhlcyBkZWJ1ZyBtZXNzYWdlIHByaW50ZiByZWxhdGVkIGNvbXBpbGVyIHdhcm5pbmdzIGluIFNCQyBkZXBheWxvYWRlcgoKMjAxMy0wMy0yOCAxNjo0NjozNiArMDAwMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2JjZGVwYXkuaDoKCSAgcnRwOiBBZGQgYW4gcnRwc2JjZGVwYXkgZWxlbWVudAoJICBQcmV0dHkgc3RyYWlnaHRmb3J3YXJkIC0gdGFrZXMgU0JDIGVuY2Fwc3VsYXRlZCBpbiBSVFAsIGRlcGF5bG9hZHMsIGFuZAoJICBwdXNoZXMgb3V0IFNCQyBidWZmZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwNTgyCgoyMDEzLTAzLTI3IDIyOjE4OjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuYzoKCSAgcnRwOiBmaXggU0JDIHBheWxvYWRlcgoJICBJbml0IFJUUCBidWZmZXIgb24gc3RhY2sgY29ycmVjdGx5LCBzbyBtYXBwaW5nIGl0IHdvcmtzCgkgIHdpdGhvdXQgY3JpdGljYWxzIGFuZCB0aGUgcGF5bG9hZGVyIGFjdHVhbGx5IHdvcmtzLgoKMjAxMy0wMy0yNiAxNDo0NDozNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogQ2hlY2sgZm9yIGEgc3Vic2V0IGluc3RlYWQgb2Ygbm9uLWVtcHR5IGludGVyc2VjdGlvbiBpbiBhY2NlcHQtY2FwcwoKMjAxMy0wMy0yNiAxNDozOTo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogUHJvcGVybHkgaGFuZGxlIHRoZSBmaWx0ZXIgY2FwcyBpbiBnZXRfY2FwcygpCgoyMDEzLTAzLTI2IDE0OjM1OjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiBEb24ndCB1bm5lY2Vzc2FyaWx5IGdldCB0aGUgcGFyZW50IGNsYXNzIGluIGNsYXNzX2luaXQKCSAgVGhlIHRyYW1wb2xpbmUgZ2VuZXJhdGVkIGJ5IEdfREVGSU5FX1RZUEUgZG9lcyB0aGF0IGFscmVhZHkuCgoyMDEzLTAzLTI1IDE4OjAyOjEwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBVc2UgJTAzdSBmb3IgZm9ybWF0IGluIGdzdF9wYWRfY3JlYXRlX3N0cmVhbV9pZF9wcmludGYoKQoKMjAxMy0wMy0yNSAxMDoxMjowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmM6CgkgIGNhcHNzZXR0ZXI6IFByZXZlbnQgdW5uZWVkZWQgY2FwcyBjb3B5aW5nIGFuZCBhbGxvY2F0aW9uCgoyMDEzLTAyLTAxIDE0OjMzOjQxICswMTAwICBEaXJrIFZhbiBIYWVyZW5ib3JnaCA8dmhkaXJrQGdtYWlsLmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNzZXR0ZXIuYzoKCSAgY2Fwc3NldHRlcjogUGFzcyBhbnkgb3IgZmlsdGVyIGNhcHMgdXBzdHJlYW0KCSAgY2Fwc2V0dGVyIGFjY2VwdHMgYW55dGhpbmcgYW5kIGp1c3QgZm9yd2FyZHMgZGlmZmVyZW50IGNhcHMsCgkgIGFzIHN1Y2ggaXQgc2hvdWxkIHJldHVybiBBTlkgY2FwcyBvbiB0aGUgc2lua3BhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MzAwNQoKMjAxMy0wMy0wNiAxMzoxNzo1NCArMDAwMCAgVG9tIEdyZWVud29vZCA8dGdyZWVud29vZEBUb21zLU1hY0Jvb2stUHJvLmxvY2FsPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBGaXggZm9yIGRpdmlkZSBieSB6ZXJvIHdoZW4gdXNpbmcgMC8xIGZyYW1lcmF0ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1NzA5CgoyMDEzLTAzLTI0IDE3OjU1OjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBleHBvc2UgQ1VFIHNoZWV0IGl0ZW1zIGFzIHRyYWNrcyBub3QgY2hhcHRlciBlbnRyaWVzIGluIFRPQwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc3MzA2CgoyMDEzLTAzLTIzIDEzOjExOjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBhZGQgbW9yZSBleGFtcGxlIHBpcGVsaW5lcwoKMjAxMy0wMy0yMyAxMjo1OToyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkgIHdhdmVuYzogYWRkIHNvbWUgZXhhbXBsZSBwaXBlbGluZXMKCjIwMTMtMDMtMjAgMjE6Mzg6NDAgKzAzMDAgIEFudG9uIEJlbGthIDxhbnRvbmJlbGthQGdtYWlsLmNvbT4KCgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmg6CgkgIHdhdmVuYzogYWRkIFRPQyBzdXBwb3J0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODA5OTgKCjIwMTMtMDMtMjMgMDQ6NTY6MzYgKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogbWFrZSBlbXB0eSBzdWJ0aXRsZSBidWZmZXIgcmVjb2duaXRpb24gbW9yZSByb2J1c3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjI0NAoKMjAxMy0wMy0wNCAxNTo0OTowNiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJICBwbmdlbmM6IHVubWFwIHNvdXJjZSBmcmFtZSB3aGVuIGRvbmUKCjIwMTMtMDMtMjIgMTU6MTQ6MTUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogRml4IHRlc3QgcmVncmVzc2lvbiB3aXRoIG9uZSBidWZmZXIgc3RyZWFtcwoKMjAxMy0wMy0wNSAxNzowMDoxNyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc3BsaXQgbGFyZ2UgcmF3IGF1ZGlvIHNhbXBsZXMKCSAgSW4gb3JkZXIgdG8gZGVhbCB3aXRoIGEgZmlsZSB0aGF0IGhhcyBzYW1wbGVzIHRoYXQgYXJlIDI0IHNlY29uZHMKCSAgbG9uZy4gIFNlZWtpbmcgc3RpbGwgZG9lc24ndCB3b3JrIHdpdGggc3VjaCBmaWxlcy4KCjIwMTMtMDMtMjIgMTE6NTQ6MDggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogUmVtb3ZlIGRvY3VtZW50YXRpb24gZm9yIGR0cy1tZXRob2QKCjIwMTMtMDMtMjIgMTM6MjQ6MzMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBkZXByZWNhdGUgZHRzLW1ldGhvZCBwcm9wZXJ0eQoKMjAxMy0wMy0xMyAxNzowODowMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBGaXggcHJvYmxlbXMgY2F1c2luZyBiYWQgZHVyYXRpb25zIGluIGZpbGUKCSAgLSBGaXggdXAgb3V0LW9mLW9yZGVyIGluY29taW5nIERUUyB2YWx1ZXMuCgkgIC0gRml4IGR1cmF0aW9uIG9mIGluaXRpYWwgc2FtcGxlLgoKMjAxMy0wMy0xMiAxOTowODoyNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBmaXggYWxsIHRpbWVzdGFtcHMgb25jZSBmaXJzdF90cyBpcyBkZXRlcm1pbmVkCgoyMDEzLTAyLTE0IDE2OjM0OjM0IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5oOgoJICBxdG11eDogVXNlIFBUUy9EVFMgZnJvbSBpbmNvbWluZyBidWZmZXJzCgkgIFJlbW92ZSBvbGQgRFRTIGd1ZXNzaW5nIGNvZGUuCgoyMDEzLTAzLTE4IDEyOjMwOjUwICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IGV4cG9zZSBtdWxhdyBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTYwNTIKCjIwMTMtMDMtMjIgMTA6NTA6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBSZXF1aXJlIE9yYyA+PSAwLjQuMTcKCSAgT3JjIDAuNC4xNyBmaXhlcyBhIGJ1bmNoIGNyYXNoZXMgb24gaTM4NiBhbmQgUlBpIHdoZW4gb3JjCgkgIGZ1bmN0aW9ucyBjYW4ndCBiZSBjb21waWxlZCBhbmQgdGhlIGZhbGxiYWNrIGZ1bmN0aW9uIGlzCgkgIHN1cHBvc2VkIHRvIGJlIHVzZWQuIEFsc28gZml4ZXMgc29tZSBpc3N1ZXMgb24gUG93ZXJQQy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDM5OQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzODYyCgoyMDEzLTAzLTIyIDA4OjQ3OjE3ICswMDAwICBSb2RvbGZvIFNjaHVseiBkZSBMaW1hIDxyb2RvbGZvQHJvZHNvZnQub3JnPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBzYW1wbGUgbGVhayB3aGVuIHByb2Nlc3NpbmcgcHJpdmF0ZSBxdCB0YWdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTYzNTUKCjIwMTMtMDMtMjIgMDI6MjQ6MDEgKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBzZXQgc3RyZWFtIGxhbmd1YWdlIGNvZGUgZnJvbSB0YWcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjM1OAoKMjAxMy0wMy0yMSAwMjo1NTowNiArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzZW5kIEdBUCBldmVudHMgZm9yIHN1YnRpdGxlIHN0cmVhbXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjI0NAoKMjAxMy0wMy0yMSAwMjo1MzoyNCArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBpZ25vcmUgZW1wdHkgc3VidGl0bGUgYnVmZmVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk2MjQ0CgoyMDEzLTAzLTIxIDAyOjUyOjA3ICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogcmVjb2duaXplIFNCVEwgc3VidHlwZSBmb3Igc3VidGl0bGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTYyNDQKCjIwMTMtMDMtMTcgMTY6Mjc6MDMgKzAzMDAgIEFudG9uIEJlbGthIDxhbnRvbmJlbGthQGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogYWRkIHN1cHBvcnQgZm9yIHRoZSB0b2Mtc2VsZWN0IGV2ZW50CgkgIFNlbGVjdCB0cmFja3MgZnJvbSB0aGUgQ1VFIHNoZWV0IGJ5IHNlbmRpbmcgYSB0b2Mtc2VsZWN0CgkgIGV2ZW50IGJhc2VkIG9uIHRoZSB1aWQgaW4gdGhlIFRPQy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU0MDg5MQoKMjAxMy0wMy0xOSAxODowOTozMSAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHJkaW8uY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBtcDRtdXg6IGluIGZhc3RzdGFydCBtb2RlLCBkb24ndCBvdXRwdXQgdXAgdG8gNCBrQiBvZiBnYXJiYWdlIGF0IHRoZSBlbmQuCgoyMDEzLTAzLTIwIDAwOjM1OjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RzYmNwYXJzZS5jOgoJICBzYmNwYXJzZTogcGFjayBtdWx0aXBsZSBmcmFtZXMgaW50byBvbmUgb3V0cHV0IGJ1ZmZlcgoJICBEb24ndCBvdXRwdXQgYSBzaW5nbGUgYnVmZmVyIGZvciBldmVyeSB0aW55IFNCQyBmcmFtZQoKMjAxMy0wMy0xOCAxNDo1OTozNSArMDAwMCAgQmFzdGllbiBOb2NlcmEgPGhhZGVzc0BoYWRlc3MubmV0PgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBmaXggY29tcGlsYXRpb24gYWdhaW5zdCBuZXdlciBrZXJuZWwgaGVhZGVycyBhcyBvbiBGQzE5CgoyMDEzLTAzLTE0IDE0OjEyOjA1ICswMTAwICBLaXNob3JlIEFyZXBhbGxpIDxraXNob3JlLmFyZXBhbGxpQGdtYWlsLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogZml4IGluZmluaXRlIGxvb3Agb24gRU9TIHdpdGggbm9uLWRlZmF1bHQgbWV0aG9kcyBvciBmaWVsZHMKCSAgRml4ZXMgcHJvYmxlbSBvZiBpbmZpbml0ZSBsb29wIGluIGdzdF9kZWludGVybGFjZV9yZXNldF9oaXN0b3J5LgoJICBMYXN0IGZpZWxkIGluIHRoZSBoaXN0b3J5IHdhcyBuZXZlciBkZWludGVybGFjZWQgYmVjYXVzZSBpZHggYmVjb21lcyBuZWdhdGl2ZS4KCSAgSGFwcGVucyBlLmcuIHdpdGggbWV0aG9kPXNjYWxlcmJvYiBmaWVsZHM9Ym90dG9tIG9yCgkgIG1ldGhvZD1ncmVlZHlsIGZpZWxkcz10b3AKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTY0NAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzMTczCgoyMDEzLTAzLTEyIDA5OjQ4OjMxICswMDAwICBLaXNob3JlIEFyZXBhbGxpIDxraXNob3JlLmFyZXBhbGxpQGdtYWlsLmNvbT4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkgIGR2ZGVtdXg6IGRvbid0IHJldHVybiBGQUxTRSB3aGVuIGRyb3BwaW5nIHNpbmsgZXZlbnRzCgkgIEZpeGVzIHByb2JsZW0gaW4gY29uanVuY3Rpb24gd2l0aCBhdmlkZW11eC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTY0MwoKMjAxMy0wMy0xMiAwMDoxNjoxOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogY2hhbmdlIHJhdyB2aWRlbyBjYXBzIG9yZGVyIHNvIHRoYXQgR1JBWTggaXMgbGFzdAoJICBQZW9wbGUgbGlrZSBjb2xvdXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1NTQzCgoyMDEzLTAzLTExIDE0OjUwOjQxICswMTAwICBPZ255YW4gVG9uY2hldiA8b2dueWFuQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IERvbid0IHVzZSB1cHN0cmVhbSBjYXBzIHdpdGggcGVlcl9xdWVyeV9jYXBzICgpCgkgIENhbGxpbmcgZ3N0X3BhZF9wZWVyX3F1ZXJ5X2NhcHMgKCkgb24gdGhlIHNyYyBwYWQgd2l0aCB0aGUgY2FwcwoJICB1cHN0cmVhbSBjYW4gcHJvZHVjZSBhcyBhIGZpbHRlciBmcm9tIGdzdF9ydHBfaDI2NF9wYXlfZ2V0Y2FwcyAoKQoJICBpcyB3cm9uZyBhbmQgbWFrZXMgY2FwcyBuZWdvdGlhdGlvbiBmYWlsIGlmIHVwc3RyZWFtIGNhcHMgYXJlIG5vdAoJICBOVUxMLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1NjI5CgoyMDEzLTAzLTEwIDA5OjEwOjE4ICswMTAwICBEaXJrIFZhbiBIYWVyZW5ib3JnaCA8dmhkaXJrQGdtYWlsLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogc3VwcG9ydCByYXcgQkdSCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTU1NDMKCjIwMTMtMDMtMTAgMDk6MjU6MzQgKzAxMDAgIERpcmsgVmFuIEhhZXJlbmJvcmdoIDx2aGRpcmtAZ21haWwuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogc3VwcG9ydCByYXcgdmlkZW8gd2l0aCBuZWdhdGl2ZSBoZWlnaHQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTU0MQoKMjAxMy0wMy0wNSAxNDo0MDo1NiArMDEwMCAgSm9uYXMgSG9sbWJlcmcgPGpvbmFzaGdAYXhpcy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvZGV0ZWN0LmM6CgkgIGF1dG9kZXRlY3QgY2hlY2t0ZXN0OiBEbyBub3QgZmFpbCB3aXRob3V0IHZpZGVvc2luawoJICBJZiB0aGVyZSBpcyBubyB2aWRlb3NpbmsgYXZhaWxhYmxlIGF1dG92aWRlb3Npbmsgd2lsbCBjb250YWluIGEKCSAgZmFrZXNpbmsgaW5zdGVhZCB3aGljaCBuZWVkcyBzcGVjaWFsIHRyZWF0bWVudCBpbiB0aGUgdW5pdCB0ZXN0LgoKMjAxMy0wMy0wOSAwMToxODozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIEFuZHJvaWQubWs6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSogZ3N0L2R0bWYvZ3N0ZHRtZi5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mY29tbW9uLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICBkdG1mOiBtb3ZlIGR0bWYgcGx1Z2luIGZyb20gLWJhZCB0byAtZ29vZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3NDE2CgoyMDEzLTAzLTA5IDAwOjMwOjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgTWVyZ2UgYnJhbmNoICdkdG1mLW1vdmVkLWZyb20tYmFkJwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3NDE2CgoyMDEzLTAzLTA1IDIxOjIyOjE4ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvb3N4YXVkaW8vTWFrZWZpbGUuYW06CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb2VsZW1lbnQuaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9yZW1vdGVpby5jOgoJICBvc3hhdWRpbzogYWRkIHN1cHBvcnQgZm9yIGlPUyB1c2luZyB0aGUgUmVtb3RlSU8gQXVkaW9Vbml0CgoyMDEzLTAzLTA1IDIxOjE3OjUyICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2NvbW1vbi5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvY29tbW9uLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9oYWwuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuaDoKCSAgb3N4YXVkaW86IGFkZCBhIGZhw6dhZGUgZm9yIHRoZSBDb3JlQXVkaW8gQVBJCgoyMDEzLTAzLTA3IDAwOjAwOjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAyZGUyMjFjIHRvIDA0YzdhMWUKCjIwMTMtMDMtMDMgMTE6NTk6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2x6by5jOgoJICBtYXRyb3NrYTogSW5jbHVkZSBjb25maWcuaCwgaXQncyBuZWVkZWQgZm9yIF9zdGRpbnQuaAoKMjAxMy0wMy0wMyAxMTo1MzowNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IEZpeCAod3JvbmcpIHVzZSBvZiB1bmluaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTMtMDMtMDIgMTM6NTk6NTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWRkIHZhcmlhbnQgZmllbGQgdG8gSC4yNjMgY2FwcwoJICBhdmRlY19oMjYzIHdvbid0IGdldCBwbHVnZ2VkIG90aGVyd2lzZS4KCjIwMTMtMDItMjIgMTk6MDY6NTIgKzAxMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNraXAgZGlzYWJsZWQgdHJhY2tzCgkgIElTTy9JRUMgMTQ0OTYtMTIgc3BlY2lmaWVzIGRpc2FibGVkIHRyYWNrcyBzaG91bGQgYmUgY29tcGxldGVseQoJICBpZ25vcmVkLCBzbyBqdXN0IGRvIGl0LgoJICBBdm9pZHMgZGVhZGxvY2sgZHVyaW5nIHByZXJvbGxpbmcgZm9yIHNvbWUgZmlsZXMuCgkgIEFsc28gcHJldmVudHMgJ2NoYXB0ZXInIHN1YnRpdGxlIHRyYWNrcyBmcm9tIHNob3dpbmcgdXAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTM5OTMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyODc5MAoKMjAxMy0wMi0yNSAwOTo1ODoxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkgIHRlc3RzOiByZS1hZGQgc3VwcHJlc3Npb24gZm9yIEdWYWx1ZUFycmF5IHdhcm5pbmdzIHRvIHVuaXQgdGVzdCBhcyB3ZWxsCgoyMDEzLTAyLTI4IDEzOjI1OjA2ICswMTAwICBKb25hcyBIb2xtYmVyZyA8am9uYXNoZ0BheGlzLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2R0bWYuYzoKCSAgdGVzdHM6IHVzZSByZWxhdGl2ZSBpbmNsdWRlIGZvciBvdXQtb2YtdHJlZSBidWlsZHMgaW4gZHRtZiB0ZXN0CgoyMDEzLTAyLTI4IDA4OjQ2OjU5ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiByZW1vdmUgdGhlIHNpbmNlIGRvYy1jb21tZW50IGZyb20gMC4xMAoKMjAxMy0wMi0yOCAwODo0NDoxOCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuaDoKCSogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvbGV2ZWwtZXhhbXBsZS5jOgoJICBsZXZlbDogYWRkIGEgInBvc3QtbWVzc2FnZXMiIHByb3BlcnR5IGFuZCBkZXByZWNhdGUgIm1lc3NhZ2UiCgkgIEluIHNwZWN0cnVtIHRoaXMgd2FzIGNoYW5nZWQgZnJvbSAwLjEwIHRvIDEuMCwgbGV0cyBkbyB0aGlzIGhlcmUgdG9vLgoKMjAxMy0wMi0yNyAxODo1Njo1MCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2R0bWYuYzoKCSAgdGVzdHM6IEFkZCB0ZXN0cyBmb3IgZHRtZnNyYwoKMjAxMy0wMi0yNyAxNjoxNToyNyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2R0bWYuYzoKCSAgdGVzdHM6IEZpeCByZWYgbGVhayBpbiBkdG1mIHRlc3QKCjIwMTMtMDItMjYgMTQ6MTg6MjAgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJICBydHBtcDRnZGVwYXk6IHN0cmVhbXR5cGUgaXMgbm90IHB1dCBieSBhbGwgUlRTUCBzZXJ2ZXIsIG5vdCBtYWtlIGl0IG9wdGlvbmFsCgkgIFNwZWNpZmljIGNhc2UgaGVyZSBpcyBXb3d6YSAzLjUuMAoKMjAxMy0wMi0yNSAwMDozNTo1OCArMDEwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzIChhdCkgYXBlc3RhYXJ0IChkb3QpIG9yZz4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBsZXZlbDogcHV0IGJhY2sgZGVwcmVjYXRpb24gd2FybmluZ3MKCjIwMTMtMDItMjQgMTc6MDA6MTQgKzAxMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hcyAoYXQpIGFwZXN0YWFydCAoZG90KSBvcmc+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSAgbGV2ZWw6IHNlbmQgbGFzdCBtZXNzYWdlIG9uIEVPUwoKMjAxMy0wMi0yMyAxNDozNDozNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogcHVzaCBtb2RlOiBoYW5kbGUgc29tZSBtb3JlIDAtc2l6ZSBidWZmZXIgY2FzZXMKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDk0NAoKMjAxMy0wMi0yMyAxODo1MDo1MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGZpeCB1cCBleGFtcGxlIHBpcGVsaW5lIGluIGRvY3MKCjIwMTItMTEtMjAgMTI6MTQ6MDcgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IFVwZGF0ZSBzZWdkb25lIHBlcmlvZGljYWxseQoJICBUaGlzIG1ha2VzIHN1cmUgdGhhdCB3ZSB1cGRhdGUgc2VnZG9uZSBiYXNlZCBvbiB0aGUgcmVhZCBpbmRleCByZWNlaXZlZAoJICBkdXJpbmcgbGF0ZW5jeSB1cGRhdGVzLiBBcyB0aGUgY29tbWVudCBub3Rlcywgd2UgbWFrZSBzb21lIGNvbXByb21pc2VzCgkgIHRvIGRlYWwgd2l0aCB0aGUgZmFjdCB0aGF0IHNlZ2RvbmUgaXMgYSBzZWdtZW50IG11bHRpcGxlLCB3aGlsZSB0aGUgcmVhZAoJICBpbmRleCBvZmZlcnMgZmluZXIgZ3JhbnVsYXJpdHkuIFRoZSB1cGRhdGVzIGFyZSBhbHNvIG5vdCB2ZXJ5IG9mdGVuCgkgICgxMDBtcyBzaW5jZSB0aGF0IGlzIGhvdyBvZnRlbiBhdXRvbWF0aWMgdGltaW5nIHVwZGF0ZXMgYXJlIHByb3ZpZGVkKS4KCSAgQWxsIHRoaXMgaXMgcmVxdWlyZWQgZm9yIHRoZSBiYXNlYXVkaW9zaW5rIHNhbXBsZSBhbGlnbm1lbnQgY29kZSB0byB3b3JrCgkgIGF0IGFsbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NDI1NwoKMjAxMy0wMi0xMyAxMDo0Njo1NCArMDEwMCAgUGF1bCBIRU5SWVMgPHZpc2VjaGVsbGVAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBGaXggd3JvbmcgY29kZSBvcmdhbmlzYXRpb24gaW4gY2FzZSBvZiBjb2xsaXNpb24KCSAgY2hhbmdlX3NzcmMgZmllbGQgb2YgUlRQU2Vzc2lvbiBzaG91bGQgYmUgc2V0IGJlZm9yZSBjYWxsaW5nCgkgIHJ0cF9zZXNzaW9uX3NjaGVkdWxlX2J5ZV9sb2NrZWQgKCkgYXMgdGhpcyBmdW5jdGlvbiB3aWxsIGNhbGwgcmVjb25zaWRlciBmdW5jdGlvbgoJICB0aGF0IHdpbGwgd2FrZSB1cCBydGNwX3RocmVhZCB3aGljaCB3aWxsIGNhbGwgcnRwX3Nlc3Npb25fb25fdGltZW91dCAoKSB0aGF0IHdpbGwKCSAgY2hlY2sgY2hhbmdlX3NzcmMgdG8gY2hhbmdlIHRoZSBzc3JjLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk0MTg0CgoyMDEzLTAyLTIxIDExOjE1OjIzIC0wNTAwICBKZWFuLUZyYW7Dp29pcyBGb3J0aW4gVGFtIDxuZWtvaGF5b0BnbWFpbC5jb20+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IGltcHJvdmUgZGVzY3JpcHRpb25zIG9mIGNocm9tYSBrZXlpbmctcmVsYXRlZCBwcm9wZXJ0aWVzIGFuZCBlbnVtcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk0Mzc0CgoyMDEzLTAyLTIxIDE1OjAxOjE1IC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBEbyBub3Qgb3ZlcnJpZGUgdGhlIG1ldGhvZCB3aXRoIGN1c3RvbSByL2cvYiB2YWx1ZXMKCSAgRGVwZW5kaW5nIG9uIHRoZSBvcmRlciBnX29iamVjdF9zZXQoKSBjYWxscyBhYXJlIG1hZGUsIHRoZQoJICB0YXJnZXQgci9nL2Igc2V0dGluZ3Mgd2lsbCBvdmVycmlkZSB0aGUgbWV0aG9kIGlmIHNldCB0bwoJICBncmVlbi9ibHVlLiBDaGFuZ2UgdGhhdCBzbyB3ZSBkbyBub3QgdXNlIHRoZSB0YXJnZXQtci9nL2IgdmFsdWVzCgkgIHVubGVzcyB0aGUgbWV0aG9kIGlzIHNldCB0byBjdXN0b20uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTQzNzQKCjIwMTMtMDItMjAgMTU6NDY6NDMgKzAxMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW5AYXhpcy5jb20+CgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkgIGF1cGFyc2U6IGRvIG5vdCBsZWFrIHNyY19jYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTQyNzUKCjIwMTMtMDItMjAgMjE6MDM6MjcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IG9ubHkgZGVsYXkgUlRDUCB3aGVuIHdlIGFyZSBhIHNlbmRlcgoJICBPbmx5IGRlbGF5IHRoZSBSVENQIHRocmVhZCB3aGVuIHdlIGFyZSBhIHNlbmRlciwgd2hpY2ggd2UgY2FuIGtub3cgYmVjYXVzZSB3ZQoJICBoYXZlIGEgc2VuZF9ydHBfc3JjIHBhZC4gT3RoZXJ3aXNlIHdlIG1pZ2h0IGRlbGF5IHRoZSBSVENQIHRocmVhZCBpZiB3ZQoJICBhcmUgb25seSBhIHJlY2VpdmVyIGFuZCB0aGVuIHRoZXJlIGlzIG5vIGNvZGUgcGF0aCB0aGF0IHdha2VzIHVwIHRoZQoJICBSVENQIHRocmVhZCBhbmQgd2UgZW5kIHVwIHdpdGhvdXQgUlRDUCBwYWNrZXRzLgoKMjAxMy0wMi0xOSAxMTo0NzoyMCArMDEwMCAgQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGxpbmFyby5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyOiBBZGQgc3VwcG9ydCBvZiBkbWFidWYKCSAgdjRsIGhhcyBhZGQgYSBuZXcgSU9DVEwgdG8gZXhwb3J0IGEgYnVmZmVyIGJ5IHVzaW5nIGRtYWJ1Zi4KCSAgVGhpcyBwYXRjaCBhbGxvdyB0byB1c2UgdGhpcyBuZXcgSU9UQ0wgaWYgaXQgaGFzIGJlZW4gZGVmaW5lZCBpbiB2aWRlb2RldjIuaAoJICBJIGludHJvZHVjZSBhIG5ldyBJTyBtb2RlIChHU1RfVjRMMl9JT19ETUFCVUYpIHRvIGVuYWJsZSB0aGlzIHdheSBvZiB3b3JraW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzODI2CgoyMDEzLTAyLTE4IDIwOjA0OjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggdXAgZG9kZ3kgY29kZSB0aGF0IHRyaWVzIHRvIGZpeCB1cCBhIGJyb2tlbiBtb292IGF0b20KCSAgQWZ0ZXIgZ3N0X2J1ZmZlcl9uZXdfYW5kX2FsbG9jKCkgZ3N0X2J1ZmZlcl9jb3B5X2ludG8oKSB3aWxsIGxpa2VseQoJICBhcHBlbmQgdG8gdGhlIGFscmVhZHktZXhpc3RpbmcgbWVtb3J5IGluc3RlYWQgb2YgZmlsbGluZyBpdC4KCjIwMTMtMDItMTggMTY6MzI6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBwb3RlbnRpYWwgY3Jhc2ggb24gc2hvcnQgTU9PViBhdG9tCgkgIERvbid0IHVubWFwIHNob3J0IE1PT1YgYXRvbSBidWZmZXIgdHdpY2UsIHdoaWNoIGhhcHBlbmVkCgkgIGluIHRoZSBjYXNlIHdoZXJlIHdlIGRvbid0IGZpeCB1cCB0aGUgTU9PViBhdG9tLgoJICBGaXhlcyBjcmFzaGVzIHdoZW4gdGh1bWJuYWlsaW5nIHBhcnRpYWwgbXA0IGZpbGUgd2hlcmUKCSAgdGhlIE1PT1YgYXRvbSBpcyBzdGlsbCBpbmNvbXBsZXRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk0MDEwCgoyMDEzLTAyLTE2IDE2OjQ5OjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3NvdXAvTWFrZWZpbGUuYW06CgkgIHNvdXBodHRwc3JjOiBzZXQgU09VUF9WRVJTSU9OX3tNSU5fUkVRVUlSRUQsTUFYX0FMTE9XRUR9IHRvIHN1cHByZXNzIGRlcHJlY2F0aW9ucyB3aXRoIG5ld2VyIHZlcnNpb25zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTM5MTEKCjIwMTMtMDItMTYgMTU6NDc6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXA6IHVzZSBkZWZhdWx0IHByb3h5IHJlc29sdmVyIGluc3RlYWQgb2YgZGVwcmVjYXRlZCBHTk9NRSBwcm94eSByZXNvbHZlcgoJICBBcHBhcmVudGx5IHRoZXJlJ3Mgbm8gcmVhc29uIHRvIHVzZSBpdCBhbnkgbG9uZ2VyLiBEcm9wIGxpYnNvdXAtZ25vbWUKCSAgZGVwZW5kZW5jeSB3aGlsZSBhdCBpdCwgbm93IHRoYXQgd2UgZG9uJ3QgbmVlZCBhbnl0aGluZyBmcm9tIGl0IGFueQoJICBtb3JlIChpdCBvbmx5IGNvbnNpc3RzIGVudGlyZWx5IG9mIGRlcHJlY2F0ZWQgQVBJIG5vdyBhbnl3YXlzKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MzkxMQoKMjAxMy0wMi0xNSAxNTo0Mzo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkgIHRlc3RzOiBmaXggc29tZSBoMjY0IGNhcHMKCSAgRG9lc24ndCBmaXggYW55dGhpbmcgaW4gcGFydGljdWxhciwgYnV0IGlzCgkgIHN0aWxsIG5lZWRlZCBoZXJlIGZvciBjb3JyZWN0bmVzcy4KCjIwMTMtMDItMTUgMDg6MTk6MjQgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkgIGF1ZGlvcGFub3JhbWE6IHJlbW92ZSBjaGFubmVsLW1hc2sgZnJvbSBjYXBzCgkgIFRoZSBjaGFubmVsLW1hc2sgaXMgb25seSBuZWVkZWQgZm9yIGNoYW5uZWxzPjIgd2hpY2ggd2UgZG9uJ3QgZG8uCgoyMDEzLTAyLTE1IDE2OjIxOjIxICswMTAwICBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAc3Rlcmljc3Nvbi5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBkb24ndCBjaGVjayBzdHJpZGUgZm9yIGVuY29kZWQgZm9ybWF0cwoJICBEb24ndCB0cnkgdG8gY2hlY2sgdGhlIHN0cmlkZSBmb3IgZW5jb2RlZCBmb3JtYXRzLiBTb21lIGRyaXZlcnMgb3V0cHV0CgkgIHNvbWV0aGluZyAhPSAwIGFuZCB0aGVuIHdlIGRvbid0IHdhbnQgdG8gZmFpbCBvbiB0aGF0LgoKMjAxMy0wMi0xNSAxNDoxMTozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IHVzZSBnX3NvY2tldF9zZXRfb3B0aW9uKCkgdG8gc2V0IGJ1ZmZlciBzaXplIHdpdGggbmV3ZXIgR0xpYiB2ZXJzaW9ucwoJICBTbyB3ZSBoYXZlIHRvIHdvcnJ5IGxlc3MgYWJvdXQgcG9ydGFiaWxpdHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTI0MDAKCjIwMTMtMDItMTQgMTQ6MTM6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiByZW1vdmUgc29mLW1hcmtlciBmcm9tIHRlbXBsYXRlIGNhcHMgZm9yIG5vdwoJICBOb3cgdGhhdCB0aGUgc3Vic2V0IGNoZWNrIGFjdHVhbGx5IHdvcmtzLCB0aGlzIGJyZWFrcwoJICB0aGluZ3Mgd2l0aCBkZW11eGVycyB0aGF0IGRvbid0IHB1dCBhICJzb2YtbWFya2VyIgoJICBpbiB0aGVpciBqcGVnIGNhcHMsIGFuZCB3ZSBkb24ndCBoYXZlIGEgZ29vZCBwYXJzZXIKCSAgdG8gcGx1ZyBlaXRoZXIgeWV0LgoKMjAxMy0wMi0xMyAxMjozMjoxMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuaDoKCSAganBlZ2VuYzogUHV0IHRoZSBTT0YgbWFya2VyIGludG8gdGhlIGNhcHMKCjIwMTMtMDItMTMgMTI6MDI6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICBydHAtcGF5bG9hZGluZzogRml4IHVuaXQgdGVzdCBjYXBzIGFuZCBBTVIgZGVwYXlsb2FkZXIgc2luayB0ZW1wbGF0ZSBjYXBzCgkgIEZpZWxkcyB3ZXJlIG1pc3NpbmcgZnJvbSB0aGUgYWN0dWFsIGNhcHMsIG9yIHRvbyBtYW55IGZpZWxkcwoJICBleGlzdGVkIGluIHRoZSB0ZW1wbGF0ZSBjYXBzLgoKMjAxMy0wMi0xMyAxMTo1MzowMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogRml4IGNhcHMgdXNlZCBpbiB0aGUgdW5pdCB0ZXN0CgkgIFRoZSBBQUMgY2FwcyBwYXNzZWQgd2VyZSBpbmNvbXBsZXRlLgoKMjAxMy0wMi0xMyAxMTo0OTo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2twYXJzZS5jOgoJICB3YXZwYWNrOiBGaXggdW5pdCB0ZXN0cywgd2lkdGggaXMgbm93IGNhbGxlZCBkZXB0aCBpbiB0aGUgY2FwcyBpbiAxLjAKCjIwMTMtMDItMTIgMjM6MzE6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICB0ZXN0czogbWFrZSBzb3VwaHR0cHNyYyB1bml0IHRlc3Qgd29yayBldmVuIGlmIGh0dHBfcHJveHkgaXMgc2V0CgkgIFdlJ3JlIHRlc3Rpbmcgd2l0aCBhbiBodHRwIHNlcnZlciBvbiBsb2NhbGhvc3QsIGJ1dCBkb24ndCBzdXBwb3J0CgkgIGFuIGV4Y2VwdGlvbiBsaXN0IGZvciB0aGUgaHR0cF9wcm94eSwgc28ganVzdCB1bnNldCB0aGUgZW52aXJvbm1lbnQKCSAgdmFyaWFibGUgdG8gbWFrZSBzdXJlIHdlIGNhbiBydW4gdGhpcyB0ZXN0IHByb3Blcmx5IGV2ZW4gaWYgdGhlCgkgIGVudmlyb25tZW50IGhhcyBodHRwX3Byb3h5IHNldC4KCSAgQWxzbywgZG9uJ3Qgc2tpcCBhbGwgdGVzdHMgaWYgdGhlcmUgaXMgYW4gaXNzdWUgd2l0aCB0aGUgU1NMIHNlcnZlciwKCSAganVzdCBydW4gdGhlIG5vbi1TU0wgdGVzdHMgdGhlbi4KCSAgaHR0cHM6Ly9qZW5raW5zLnFhLnVidW50dS5jb20vdmlldy9SYXJpbmcvdmlldy9KSEJ1aWxkJTIwR25vbWUvam9iL2poYnVpbGQtYW1kNjQtZ3N0LXBsdWdpbnMtZ29vZC8KCjIwMTMtMDItMTIgMTI6NTM6NTIgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEByZGlvLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBleHRyYWN0IGNvZGVjX2RhdGEgZm9yIFByb1JlcwoKMjAxMy0wMi0wOCAwMTowMjoxMCArMTEwMCAgVGltICdtaXRocm8nIEFuc2VsbCA8bWl0aHJvQG1pdGhpcy5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IEZpeGluZyBidWZmZXIgbGVhayBpbiBnc3RfYXZpX211eF9kb19idWZmZXIKCSAgZ3N0X2F2aV9tdXhfZG9fYnVmZmVyIHdhcyBsZWFraW5nIGRhdGEgZnJvbSBnc3RfY29sbGVjdF9wYWRzX3BvcC4KCjIwMTMtMDItMTAgMTU6MTA6MzIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGNvcnJlY3QgZHVyYXRpb24gZm9yIGF1ZGlvIFZCUiBidWZmZXJzIGluIHB1bGwgbW9kZQoKMjAxMy0wMi0wOCAyMToyODowMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogcHJvcGVyIHBvc2l0aW9uIHJlcG9ydGluZyBhbmQgcHVzaCBtb2RlIHRpbWVzdGFtcGluZwoJICAuLi4gYW5kIGFsaWduIGN1cnJlbnRfdG90YWwgc2VtYW50aWNzIGluIHB1c2ggYW5kIHB1bGwgbW9kZSwKCSAgd2hpY2ggdHJhY2tzIGJ5dGVzIGZvciBDQlIgYW5kIGJsb2NrcyBmb3IgVkJSLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkxNDgxCgoyMDEzLTAyLTA4IDE3OjA1OjI3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBkZWxheSBSVENQIHVudGlsIGZpcnN0IFJUUCBwYWNrZXQKCSAgRGVsYXkgc2VuZGluZyB0aGUgZmlyc3QgUlRDUCBwYWNrZXQgdW50aWwgd2UgaGF2ZSBzZW50IHRoZSBmaXJzdCBSVFAgcGFja2V0LgoJICBPdGhlcndpc2Ugd2Ugd2lsbCBzZW5kIG91dCBhIFJlY2VpdmVyIFJlcG9ydCBpbnN0ZWFkIG9mIGEgc2VuZGVyIHJlcG9ydC4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTE0MDAKCjIwMTMtMDItMDcgMTU6MDY6NDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHJlbW92ZSBkZWFkIGNvZGUKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2ODM1NQoKMjAxMy0wMS0yOSAxMDo0ODoxNyArMDEwMCAgUGF1bCBIRU5SWVMgPHZpc2VjaGVsbGVAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICBydHBwdGRlbXV4OiBmb3J3YXJkIHN0aWNreSBldmVudHMgYW5kIHRoZW4gc2V0IGNhcHMKCSAgV2hlbiBhIG5ldyBzcmMgcGFkIGlzIGFkZGVkLCBmaXJzdCBmb3J3YXJkIHRoZSBzdGlja3kgZXZlbnRzIGFuZCB0aGVuCgkgIHNldCB0aGUgY2FwcyBvbiB0aGUgc3JjIHBhZAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyNzg2CgoyMDEzLTAyLTA3IDE0OjMyOjI2ICswMTAwICBNYXJrb3Z0c2V2IFZhZGltIDx2Lm1hcmtvdnRzZXYgYXQgc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBpbXByb3ZlIGRlYnVnIG91dHB1dAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg4OTM1CgoyMDExLTA5LTI2IDE0OjQyOjUxIC0wNzAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogcmV3b3JrIGNsZWFudXAgb2Ygc3RyZWFtcwoJICBNb3ZlIHRoZSB3b3JrIG9mIGNsZWFuaW5nIHVwIHRoZSBjbGllbnQgc3RyZWFtcyBpbiB0aGUgZnJlZV9zdHJlYW0KCSAgZnVuY3Rpb24uIFRoaXMgYWxsb3dzIHVzIHRvIHByb3Blcmx5IGNsZWFuIHVwIHRoZSBjbGllbnQgc3RyZWFtcyB3aGVuIHdlCgkgIHJlbW92ZSBhbiBSVFAgc3RyZWFtIGFzIHdlbGwuCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IFN1amF5IDxzZGF0YXJAY2lzY28uY29tPgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYwMTU2CgoyMDEzLTAyLTA3IDExOjQwOjM1ICswMTAwICBUaW0gJ21pdGhybycgQW5zZWxsIDxnbm9tZSBhdCBtaXRoaXMuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjI6IGF2b2lkIGNhcHMgbGVhawoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzMzA3CgoyMDEzLTAyLTA2IDE3OjE1OjExICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogZG8gc2tldyBlc3RpbWF0aW9uIG9ubHkgZm9yIG5ldyB0aW1lc3RhbXBzCgkgIE9ubHkgcnVuIHRoZSBza2V3IGVzdGltYXRpb24gY29kZSB3aGVuIHdlIGhhdmUgYSBuZXcgUlRQIHRpbWVzdGFtcC4gSWYgd2UgaGF2ZQoJICB0aGUgc2FtZSBSVFAgdGltZXN0YW1wLCB3ZSBzaW1wbHkgdXNlIHRoZSBwcmV2aW91cyBlc3RpbWF0aW9uLiBUaGlzIHdvcmtzCgkgIGJlY2F1c2UgdGhlIG5ldyBvYnNlcnZhdGlvbiB3aXRoIHRoZSBzYW1lIFJUUCB0aW1lc3RhbXAgaGFzIHRvIGhhdmUgYSBiaWdnZXIKCSAgcmVjZWl2ZXIgdGltZSBhbmQgaXMgdGh1cyBub3QgZ29pbmcgdG8gaW5mbHVlbmNlIHRoZSBlc3RpbWF0aW9uIGV4Y2VwdCBmb3IKCSAgY2F1c2luZyBtb3JlIGppdHRlci4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MDAyMwoKMjAxMy0wMi0wNiAxMzo1MjoyNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogb25seSBFT1Mgd2hlbiBvdXIgc291cmNlIHNlbmRzIEJZRQoJICBPbmx5IEVPUyB3aGVuIHdlIHJlY2VpdmUgYSBCWUUgZXZlbnQgZnJvbSB0aGUgU1NSQyBvZiBvdXIgc3RyZWFtLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc1NDUzCgoyMDEzLTAyLTA2IDEzOjQ3OjUxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBzYXZlIHRoZSBzdHJlYW0gU1NSQwoJICBDb25mbGljdHM6CgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYwoKMjAxMy0wMi0wNiAxMzoxODoxOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZmx1c2ggY29ubmVjdGlvbiB3aGVuIHN0b3BwaW5nCgkgIFdoZW4gd2Ugc3RvcCwgd2UgY2FuIGZsdXNoIGFsbCBwZW5kaW5nIGNvbW1hbmRzIHNvIHRoYXQgd2UgY2FuIHN0b3AgYW5kCgkgIGpvaW4gdGhlIHRhc2suCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQ5MjQKCjIwMTMtMDItMDUgMjI6MDI6MTMgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vUkVBRE1FOgoJICBzcGVjdHJ1bTogcmVtb3ZlIG91dGRhdGVzIHJlYWRtZQoJICBMZXRzIHJlbW92ZSB0aGUgcmVhZG1lIGZyb20gcHJlLTAuMS4wIHRoYXQgaXMgY29tcGxldGVseSBpcnJlbGV2YW50IG5vdy4KCjIwMTMtMDItMDUgMDc6MzI6MjkgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkgIGF1ZGlvcGFub3JhbWE6IGFkZCBtb3JlIGRlYnVnIGxvZ2dpbmcKCjIwMTMtMDItMDUgMDg6MjY6MTQgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9sZXZlbC1leGFtcGxlLmM6CgkgIGxldmVsLWV4YW1wbGUuIGF2b2lkIHRha2luZyB0aGUgYXJyYXlzIGFnYWluIGZvciBlYWNoIGNoYW5uZWwgZm9yIGNsYXJpdHkKCSAgQWxzbyBpbnRyb2R1Y2Ugc29tZSBibGFuayBsaW5lcyBmb3IgYmV0dGVyIHJlYWRhYmlsaXR5IGFuZCB1cGRhdGUgdGhlIGNvbW1lbnRzLgoKMjAxMy0wMi0wNCAxODozODo0MSArMDAwMCAgUmljbyBUenNjaGljaGhvbHogPHJpY290ekB1YnVudHUuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSAgYXVkaW9wYXJzZXJzOiBmaXggdHlwbyBpbiBub2luc3RfaGVhZGVycwoKMjAxMy0wMi0wNCAxMTowODoyMyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSAgYXVkaW9wYW5vcmFtYTogZnVydGhlciBwb3J0IHRvIDEuMAoJICBUcmFuc2Zvcm1jYXBzIGlzIG5vdCBjYWxsZWQgd2l0aCBjYXBzIGNvbnRhaW5pbmcgc2luZ2xlIHN0cnVjdHVyZXMgYW55bW9yZS4gQWxzbyBhZGQgbWlzc2luZyBmaWx0ZXIgaGFuZGxpbmcuIFN0aWxsIGRvZXMgbm90IG5lZ290aWF0ZSB0aG91Z2guCgoyMDEzLTAyLTAzIDIyOjQ1OjUyICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJICBhdWRpb3Bhbm9yYW1hOiBmaXggY2FwcwoJICBXZSBkb24ndCB0dXJuIGZsb2F0IGludG8gMzJiaXQgcGNtLiBMb29rcyBsaWtlIGEgdHlwbyBmcm9tIHVwZGF0aW5nIHRoZSBjYXBzLgoKMjAxMy0wMi0wMyAxMzoxNDo1MCArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBsZXZlbDogQWRkIG1pc3NpbmcgY29tYSBiZXR3ZWVuIGZvcm1hdHMKCjIwMTMtMDEtMzEgMjI6NTU6MTggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogZml4IGVvcyB0aW1lc3RhbXAgY2hlY2sKCSAgZml4ZXMgaGFuZyBpbiB2aWRlb3Rlc3RzcmMgbnVtLWJ1ZmZlcnM9MjAgISB2aWRlb21peGVyICEgZmFrZXNpbmsKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjkzNQoKMjAxMy0wMS0zMSAxMTozNTowOSArMDEwMCAgRGlyayBWYW4gSGFlcmVuYm9yZ2ggPHZoZGlya0BnbWFpbC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IGFkZCBzdXBwb3J0IGZvciByYXcgbW9ub2Nocm9tZSA4LWJpdCB2aWRlbwoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyOTMyCgoyMDEzLTAxLTE4IDIxOjA4OjEyICswNDAwICBBbGV4ZXkgQ2hlcm5vdiA8YWNoZXJub3ZAbmVvc3BoZXJlLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5oOgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSAgb3N4dmlkZW9zaW5rOiBNYWtlIEdzdE5hdmlnYXRpb24ga2V5IGlucHV0IGV2ZW50cyBpbiBvc3h2aWRlb3NpbmsgY29tcGF0aWJsZSB3aXRoIHgodilpbWFnZXNpbmsgb25lcwoKMjAxMy0wMS0yOSAxMDozMDozMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogYXZvaWQgJy4uLmlzIHVzZWQgdW5pbml0aWFsaXplZCcKCjIwMTMtMDEtMDkgMTM6MjQ6NDkgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc2V0IGludGVybGVhdmVkIGxheW91dCBjb3JyZWN0bHkgZm9yIExQQ00gYXVkaW8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzQ1OAoKMjAxMy0wMS0wOCAyMDo0NToyMSAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhZGQgc3VwcG9ydCBmb3IgTFBDTSBmb3VyY2MgKHVuY29tcHJlc3NlZCBhdWRpbyBpbiBRdWlja3RpbWU3KQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzNDU4CgoyMDEzLTAxLTA4IDIwOjQyOjM1IC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHByaW50IGFsbCBkZWJ1ZyBmb3Igc291bmQgc2FtcGxlIGRlc2NyaXB0aW9uIHYyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM0NTgKCjIwMTMtMDEtMDggMjA6MTQ6MTcgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc291bmQgc2FtcGxlIGRlc2NyaXB0aW9uIHYyIGRvZXNuJ3Qgb3ZlcnJpZGUgc2FtcGxlc19wZXJfcGFja2V0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM0NTgKCjIwMTMtMDEtMDggMTk6NTc6NTAgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcGFzcyBzdHNkIGRhdGEgdG8gcXRkZW11eF9hdWRpb19jYXBzKCkKCSAgV2Ugd2lsbCBuZWVkIHRoYXQgbGF0ZXIgZm9yIExQQ00gZm9ybWF0IHN1cHBvcnQuIERpc2FibGUKCSAgUURNMiBwYXJzaW5nIG9mIHN0c2QgZGF0YSB3aGljaCBkZWFkIGNvZGUgYmVmb3JlIGFzIHdlbGwKCSAgYmVjYXVzZSBkYXRhIHdhcyBhbHdheXMgTlVMTC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzQ1OAoKMjAxMy0wMS0wOCAxOTo1Njo0NiAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhZGQgbGVuIGNoZWNrIGZvciBzb3VuZCBzYW1wbGUgZGVzY3JpcHRpb25zIHYxIGFuZCB2MgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzNDU4CgoyMDEzLTAxLTI4IDIyOjQyOjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cG1hbmFnZXI6IHVzZSBDODktc3R5bGUgY29tbWVudHMKCjIwMTMtMDEtMjggMTg6MDY6MTUgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIGdzdHJ0cHNlc3Npb246IEZpeCBkb3VibGUtZGVjbGFyZWQgdmFyaWFibGUKCjIwMTMtMDEtMjggMTc6NTg6MjAgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHA6IEZpeCBjb21waWxhdGlvbiBlcnJvcnMgaW4gcHJldmlvdXMgcGF0Y2hlcwoKMjAxMS0wNC0yOCAyMjo1OToyOCArMDIwMCAgSGFha29uIFNwb3JzaGVpbSA8aGFha29uLnNwb3JzaGVpbUBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEVuc3VyZSBNVCBzYWZlIGV2ZW50IGhhbmRsaW5nIGFuZCBwbHVnIGV2ZW50IGxlYWsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njc4MjYKCjIwMTEtMTAtMTcgMjM6NDU6MzcgKzAyMDAgIElkYXIgVG9sbGVmc2VuIDxpdG9sbGVmc0BjaXNjby5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IG10LXNhZmUgZXZlbnQtcHVzaAoJICBCeSB0YWtpbmcgYSByZWYgb2YgdGhlIHNpbmstcGFkIHVuZGVyIGxvY2ssIGl0IHdvbid0IGRpc3NhcHBlYXIKCSAgd2hpbGUgdGhlIHB1c2ggaXMgdGFraW5nIHBsYWNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njc4MTYKCjIwMTItMDEtMDQgMTA6Mjk6NDUgKzAxMDAgIFBhc2NhbCBCdWhsZXIgPHBhYnVobGVyQGNpc2NvLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IFNhZmVseSBwdXNoIG9uIHBhZHMgdGhhdCBtaWdodCBiZSByZW1vdmVkIGR1ZSB0byBhIFJUQ1AgQllFCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njc4MTUKCjIwMTMtMDEtMjggMjA6NDI6MjYgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGE5NDIyOTMgdG8gMmRlMjIxYwoKMjAxMy0wMS0yOCAxMTo1NDo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHNiY3BhcnNlLmM6CgkgIHNiY3BhcnNlOiBpbml0IHNvbWUgdmFyaWFibGVzIHRvIGF2b2lkIGJvZ3VzIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEzLTAxLTI4IDEyOjQxOjA0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkgIHJ0cGRlcGF5OiByZW1vdmUgcGF5bG9hZCB0eXBlIHJlc3RyaWN0aW9ucwoJICBSZW1vdmUgdGhlIHB0IHJlc3RyaWN0aW9ucyBmb3IgYWxsIHRoZSBkZXBheWxvYWRlcnMgdGhhdCBoYXZlIGFuCgkgIGVuY29kaW5nLW5hbWUuIFdlIGNhbiB1c2UgdGhpcyB0byBhdXRvcGx1ZyBkZWNvZGVycy4KCSAgUmVtb3ZlIHRoZSBlbmNvZGluZy1uYW1lIGZvciBhbGwgdGhlIHBheWxvYWRlcnMgd2l0aCBhIGZpeGVkIHBheWxvYWQKCSAgdHlwZS4KCSAgV2Ugbm93IGVpdGhlciBoYXZlIGFuIGVuY29kaW5nLW5hbWUgb3IgYSBwdCBpbiB0aGUgc2lua3BhZCBjYXBzIG9mCgkgIGEgZGVwYXlsb2FkZXIuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM5MjkyCgoyMDEzLTAxLTI4IDEyOjIzOjQxICswMTAwICBNYXJjIExlZW1hbiA8bWFyYy5sZWVtYW5AZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkgIHJ0cDogcmVtb3ZlIHBheWxvYWQgcmVxdWlyZW1lbnRzIGZyb20gc2VsZWN0ZWQgZGVwYXlsb2FkZXJzCgkgIGVuY29kaW5nIG5hbWUgaXMgcmVxdWlyZWQgaW4gdGhlIGNhcHMgYW5kIGlzIGEgYmV0dGVyIGZpdCBmb3IgYXV0b3BsdWdnaW5nIHRoYW4KCSAgdGhlIHB0IHZhbHVlLiBIYXJkd2FyZSBtYW51ZmFjdHVyZXJzIGhhdmUgYSBiYWQgaGFiaXQgb2Ygc2tpbW1pbmcgdGhyb3VnaCBSRkNzCgkgIGFuZCBpbiB0aGlzIGNhc2U7IHVzZSB1bmFzc2lnbmVkIG51bWJlcnMgZm9yIGVuY29kZXJzIGluc3RlYWQgb2YgZHluYW1pYwoJICBudW1iZXJzLgoJICBJbiBlc3NlbmNlLCB0aGlzIHBhdGNoIHdpbGwgYWRkIHN1cHBvcnQgZm9yIGEgbG90IG9mIEJvc2NoIGhhcmR3YXJlIGVuY29kZXJzCgkgIHdpdGhvdXQgYnJlYWtpbmcgYXV0b3BsdWdnaW5nLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM5MjkyCgoyMDEzLTAxLTI3IDEwOjE3OjU5ICswNTMwICBCLlByYXRoaWJoYSA8Ym9zc2xpbnV4QGNkYWMuaW4+CgoJKiB0ZXN0cy9leGFtcGxlcy9qYWNrL2phY2tfY2xpZW50LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItYWxzYXNyYy1QQ01BLmM6CgkqIHRlc3RzL2ljbGVzL3hpbWFnZXNyYy10ZXN0LmM6CgkgIHRlc3RzOiB1c2UgZ190aW1lb3V0X2FkZF9zZWNvbmRzIGluc3RlYWQgb2YgZ190aW1lb3V0X2FkZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyNjE1CgoyMDEzLTAxLTI3IDEyOjU0OjE1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcHVzaCBtb2RlOiBvbmx5IHBhcnNlIG1vb3YgMSBvbmNlCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTE1NzAKCjIwMTMtMDEtMjYgMjI6NTg6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIHJ0cGR0bWZzcmM6IGZpeCBjb21waWxlciB3YXJuaW5nCgkgIGdzdHJ0cGR0bWZzcmMuYzogSW4gZnVuY3Rpb24gJ2dzdF9kdG1mX3NyY19wcmVwYXJlX21lc3NhZ2UuaXNyYS4xJzoKCSAgZ3N0cnRwZHRtZnNyYy5jOjY2OTozOiBlcnJvcjogJ3MnIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbgoKMjAxMy0wMS0yNSAyMTowNjowNSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBydHBkdG1mZGVwYXk6IEZpeCBtaXNzaW5nIHdvcmsgaW4gZG9jCgoyMDEzLTAxLTI0IDIxOjAwOjA4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZHRtZi5jOgoJICB0ZXN0czogQWRkIHRlc3QgZm9yIHJ0cGR0bWZkZXBheSBhbmQgcnRwZHRtZnNyYwoKMjAxMy0wMS0yNSAyMDozOTozMyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgcnRwZHRtZnNyYzogUG9zdCB0aGUgbWVzc2FnZXMgYWZ0ZXIgdGhlIGNsb2NrIHdhaXQKCSAgVGhpcyB3YXksIHRoZSBtZXNzYWdlcyB3aWxsIGJlIGNsb3NlciBpbiB0aW1lIHRvIHdoZW4gdGhlIHBhY2tldHMgYXJlIHNlbnQgb3V0CgoyMDEzLTAxLTI1IDIwOjM3OjUzIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBydHBkdG1mc3JjOiBPbmx5IHNldCB0aGUgZHVyYXRpb24gd2hlbiBzdGFydGluZyB0byBzZW5kCgkgIFRoZSBkdXJhdGlvbiBkZXBlbmRzIG9uIHRoZSBjbG9jayByYXRlLCB3aGljaCBjb3VsZCBjaGFuZ2UgZHVlIHRvIHJlbmVnb3RpYXRpb24KCjIwMTMtMDEtMjUgMjA6Mzc6MDkgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIHJ0cGR0bWZzcmM6IHJlbW92ZSAic3NyYyIgZnJvbSBjYXBzCgkgIHNzcmMgaXMgdWludCBhbmQgd2UgZG9uJ3QgaGF2ZSBhIHVpbnQgcmFuZ2UgdHlwZQoKMjAxMy0wMS0yNCAyMTowODo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9pc29tcDQvYXRvbXMuaDoKCSAgcXRtdXg6IHNldCBsYW5ndWFnZSB0byAndW5kZWZpbmVkJyBpbnN0ZWFkIG9mIEVuZ2xpc2ggYnkgZGVmYXVsdAoKMjAxMy0wMS0yMyAyMTozNToyNSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuaDoKCSAgeGltYWdlc3JjOiBTZXQgdGhlIHBpeGVsIGFzcGVjdCByYXRpbyBjb3JyZWN0bHkgaW4gdGhlIGNhcHMKCjIwMTMtMDEtMDggMDg6NTY6NDUgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogUmUtZW5hYmxlIHByZXBhcmUtZm9ybWF0IGVtaXNzaW9uCgkgIFdpdGggdGhlIHBvcnQgdG8gZ3N0cmVhbWVyIDEuMCB0aGUgcHJlcGFyZS1mb3JtYXQgc2lnbmFsIHN0b3BwZWQgYmVpbmcKCSAgZW1pdHRlZC4gU3RhcnQgZW1pdHRpbmcgdGhpcyBhZ2FpbiBmb3IgdXNlIGluIHV2Y2gyNjRzcmMuICBXaGlsZSB0aGVyZQoJICBjaGFuZ2UgdGhlIGVtaXNzaW9uIHRvIGluY2x1ZGUgdGhlIGNhcHMgZm9yIGV4dHJhIGZsZXhpYmlsaXR5IGluc3RlYWQgb2YKCSAgZm91cmNlLCB3aWR0aCwgaGVpZ2h0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyMDQyCgoyMDEzLTAxLTIyIDE4OjEyOjEwICswMTAwICBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAc3QuY29tPgoKCSogYXV0b2dlbi5zaDoKCSAgYXV0b2dlbi5zaDogYWxsb3cgY2FsbGluZyBmcm9tIG91dC1vZi10cmVlCgkgIFNpZ25lZC1vZmYtYnk6IEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBzdC5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTIzMDkKCjIwMTMtMDEtMjIgMTk6MjY6MDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0c2JjcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiBzYmM6IGZpeCBib2d1cyBjb21waWxlciB3YXJuaW5nCgkgIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L2F1ZGlvcGFyc2Vycy9nc3RzYmNwYXJzZS5jOiBJbiBmdW5jdGlvbiAnZ3N0X3NiY19wYXJzZV9oYW5kbGVfZnJhbWUnOgoJICBnc3QtcGx1Z2lucy1nb29kL2dzdC9hdWRpb3BhcnNlcnMvZ3N0c2JjcGFyc2UuYzoyMTA6MzI6IGVycm9yOiAnY2hfbW9kZScgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpCgoyMDEzLTAxLTE5IDEzOjI3OjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGRvbid0IGVycm9yIG91dCBpZiBwYV9zdHJlYW1fcHJvcGxpc3RfdXBkYXRlKCkgd2l0aCBuZXcgdGFncyBmYWlscwoJICBTaG91bGRuJ3QgcmVhbGx5IGhhcHBlbiB0aGVzZSBkYXlzLCBidXQgaWYgaXQgZG9lcywgaXQncyBub3QgcmVhbGx5CgkgIGEgcHJvYmxlbSBlaXRoZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTYwNjgKCjIwMTMtMDEtMTYgMTg6MDE6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgdGVzdHM6IHNraXAgc291cGh0dHBzcmMgdGVzdHMgaWYgdGhlcmUgaXMgbm8gbG9jYWwgaHR0cCBzZXJ2ZXIgdG8gdXNlCgkgIFNraXAgdGVzdHMgaWYgdGhlIHNlcnZlciBjb3VsZG4ndCBiZSBzdGFydGVkIG9yIHdlIGNhbid0IGNvbm5lY3QKCSAgdG8gaXQgZm9yIHNvbWUgcmVhc29uIChlLmcuIGRyYWNvbmljIGJ1aWxkIGJvdCBlbnZpcm9ubWVudHMpLgoKMjAxMy0wMS0xNiAxNDozMjo1NiArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0c2JjcGFyc2UuYzoKCSAgYXV0b3BhcnNlcnM6IHVzZSBhcHByb3ByaWF0ZSBwcmludGYgZm9ybWF0IGZvciBnc2l6ZQoKMjAxMy0wMS0xNSAxNTowNTo0MyArMDEwMCAgTWFydGluIFBpdHQgPG1hcnRpbnBpdHRAZ25vbWUub3JnPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiB1c2UgXzFfMCB2YXJpYW50cyBmb3IgdGhlIHZhcmlvdXMgcmVnaXN0cnkgdmFyaWFibGVzCgkgIFRoZXNlIG92ZXJyaWRlIHRoZSB2YXJpYW50cyB3aXRob3V0IHZlcnNpb24gc3VmZml4LiBNYWtlcyAnbWFrZSBjaGVjaycgd29yawoJICBwcm9wZXJseSBpbiBlbnZpcm9ubWVudHMgdGhhdCBzZXQgdGhlIHN1ZmZpeGVkIHZhcmlhbnQgZm9yIDEuMCwgc3VjaCBhcwoJICBqaGJ1aWxkLgoKMjAxMy0wMS0xMSAxOToyNDo0MyArMDQwMCAgQWxleGV5IENoZXJub3YgPGFjaGVybm92QG5lb3NwaGVyZS5jb20+CgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IEZpeCBjcmFzaCBpbiBvc3h2aWRlb3Npbmsgd2l0aCBleHRlcm5hbCB3aW5kb3cgb3V0cHV0CgoyMDEzLTAxLTE2IDEyOjA0OjU5ICswNDAwICBBbGV4ZXkgQ2hlcm5vdiA8YWNoZXJub3ZAbmVvc3BoZXJlLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJICBvc3h2aWRlb3Npbms6IE1ha2UgR3N0R0xWaWV3IHByb3BhZ2F0ZSBpbnB1dCBldmVudHMgdG8gaXRzIHBhcmVudCB2aWV3CgkgIEZpeGVzIGJ1ZyAjNjkxODMyCgoyMDEzLTAxLTE2IDEwOjE5OjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5LmM6CgkgIHJ0cHNiY3BheTogdXBkYXRlIHNvbWUgZmllbGRzIGluIHRoZSBjYXBzIHRvIHRoZWlyIG5ldyBuYW1lCgkgIGFuZCB0byBtYXRjaCB0aGUgcGFyc2VyLiAibW9kZSIgZ290IHJlbmFtZWQgdG8gImNoYW5uZWwtbW9kZSIKCSAgYW5kICJhbGxvY2F0aW9uIiB0byAiYWxsb2NhdGlvbi1tZXRob2QiLgoKMjAxMy0wMS0xNSAxNzo0NDozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSAgZG9jczogYWRkIHNiY3BhcnNlIGFuZCBydHBzYmNwYXkgdG8gcGx1Z2luIGRvY3MKCjIwMTMtMDEtMTUgMTc6Mzg6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RzYmNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHNiY3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGF1ZGlvcGFyc2VyczogYWRkIFNCQyBhdWRpbyBwYXJzZXIKCSAgRnJvbS1zY3JhdGNoIHJld3JpdGUsIHRoZSBibHVleiBvbmUgd2FzIHVzZWxlc3MgYW5kIGJyb2tlbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDU4MgoKMjAxMy0wMS0xNSAxNTowNTowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGE3MmZhZWEgdG8gYTk0MjI5MwoKMjAxMy0wMS0xMCAxMjozODoxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5oOgoJICBydHA6IGltcG9ydCBydHBzYmNwYXkgZnJvbSBibHVleiBhbmQgcG9ydCB0byAxLjAKCSAgQ29tcGlsZXMsIGJ1dCBub3QgdGVzdGVkIHlldCAoc2JjIGVsZW1lbnRzIHN0aWxsIG5lZWQgdG8gYmUgcG9ydGVkKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDU4MgoKMjAxMy0wMS0wOSAxOTo1OToxNiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJKiBnc3QvZHRtZi9nc3RkdG1mLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5oOgoJKiBnc3QvZHRtZi90b25lX2RldGVjdC5jOgoJKiBnc3QvZHRtZi90b25lX2RldGVjdC5oOgoJICBkdG1mL3NwYW5kc3A6IE1vdmUgZHRtZmRldGVjdCB0byB1c2UgbGlic3BhbmRzcAoJICBSZW1vdmUgb3VyIGNvcHkgb2YgdGhlIHRvbmVfZGV0ZWN0LmMgZmlsZSBhbmQgdXNlIHRoZSBvcmlnaW5hbAoJICBmcm9tIGxpYnNwYW5kc3AuIEFsc28gbW92ZSB0aGUgZWxlbWVudCB0byB0aGUgc3BhbmRzcCBwbHVnaW4uCgoyMDExLTAyLTEzIDE3OjUxOjQ1IC0wODAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5oOgoJICBydHBzYmNwYXk6IFJlbW92ZSB3b3JrYXJvdW5kIGZvciBjb21waWxlciB3YXJuaW5ncwoKMjAxMC0wNS0xOSAxNjo1OTozMCArMDIwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuYzoKCSAgcnRwc2JjcGF5OiBBZGQgcHJhZ21hIGJhc2VkIHdvcmthcm91bmQgZm9yIEdTdHJlYW1lciB3YXJuaW5ncwoKMjAxMC0wMS0wMSAxNzowODoxNyAtMDgwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuaDoKCSAgcnRwc2JjcGF5OiBVcGRhdGUgY29weXJpZ2h0IGluZm9ybWF0aW9uCgoyMDA5LTAxLTMwIDAwOjMxOjE1ICswMTAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5jOgoJICBydHBzYmNwYXk6IEZpeCBzaWduZWQvdW5zaWduZWQgY29tcGFyaXNvbiBpc3N1ZSB3aXRoaW4gR1N0cmVhbWVyIHBsdWdpbgoKMjAwOS0wMS0wMSAxOTozMzoyMCArMDEwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuaDoKCSAgcnRwc2JjcGF5OiBVcGRhdGUgY29weXJpZ2h0IGluZm9ybWF0aW9uCgoyMDA4LTEyLTIzIDA1OjI1OjUwICswMTAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5oOgoJICBydHBzYmNwYXk6IEZpcnN0IGF0dGVtcHQgaW4gZml4aW5nIGNvbXBpbGVyIHdhcm5pbmdzIChzdGlsbCBuZWVkcyBjbGVhbnVwKQoKMjAwOC0xMi0yMCAyMTo0Mjo0OSArMDIwMCAgSm9oYW4gSGVkYmVyZyA8am9oYW4uaGVkYmVyZ0Bub2tpYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5jOgoJICBydHBzYmNwYXk6IE1vcmUgY29kaW5nIHN0eWxlIGZpeGVzCgoyMDA4LTAyLTI5IDE5OjM3OjE1ICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5jOgoJICBydHBzYmNwYXk6IFJlbW92ZSBwb3NzaWJsZSBleHRyYSBtZW1jcHkgZm9yIGdzdHJlYW1lciBwbHVnaW4uCgoyMDA4LTAyLTI4IDE5OjM4OjUzICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5jOgoJICBydHBzYmNwYXk6IEZpeCBidWcgc2VuZGluZyBlbXB0eSBwYWNrYWdlcyBhbmQgcmVtb3ZlIGEgYnVmZmVyIGNvcHkuCgoyMDA4LTAyLTIwIDEzOjM3OjAwICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5jOgoJICBydHBzYmNwYXk6IEZpeCBydW50aW1lIHdhcm5pbmdzIG9mIGdzdHJlYW1lciBwbHVnaW4uCgoyMDA4LTAyLTE5IDE5OjQ5OjI0ICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5jOgoJICBydHBzYmNwYXk6IFVwZGF0ZSBnc3RyZWFtZXIgcGx1Z2luIHRvIHVzZSBuZXcgc2JjIEFQSS4KCjIwMDgtMDItMDIgMDM6Mzc6MDUgKzAwMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5Lmg6CgkgIHJ0cHNiY3BheTogVXBkYXRlIGNvcHlyaWdodCBpbmZvcm1hdGlvbgoKMjAwOC0wMS0zMCAxNDoyMTo0MyArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuYzoKCSAgcnRwc2JjcGF5OiBGaXhlcyBnc3RyZWFtZXIgY2FwcyBhbmQgY29kZSBjbGVhbnVwLgoKMjAwOC0wMS0yNCAxNDoyNToyOSArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuYzoKCSAgcnRwc2JjcGF5OiBGaXggZ3RyZWFtZXIgcGF5bG9hZGVyIHNlbmRpbmcgZnJhZ21lbnRlZCBmcmFtZXMuCgoyMDA4LTAxLTIzIDE5OjE3OjMzICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5oOgoJICBydHBzYmNwYXk6IEZpeCB1c2Ugb2YgZ3N0cmVhbWVyIHBsdWdpbiB3aXRoIHJoeXRobWJveCBhbmQgYmFuc2hlZSBhbmQgcnRwIHRpbWVzdGFtcHMuCgoyMDA4LTAxLTIzIDEzOjE0OjAyICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5oOgoJICBydHBzYmNwYXk6IE1ha2UgYTJkcHNpbmsgdG8gYWN0IGxpa2UgYSBiaW4gYW5kIHNwbGl0IHRoZSBwYXlsb2FkZXIuCgoyMDEzLTAxLTA4IDE2OjI3OjQyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHA6IHNtYWxsIGltcHJvdmVtZW50cwoKMjAxMy0wMS0wNyAxNTo1MDozMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHJlZmFjdG9yIGhhbmRsZSBzeW5jIGNvZGUKCSAgTW92ZSB0aGUgY29kZSB0aGF0IGNvbWJpbmVzIHRoZSBsYXN0IFNSIHBhY2tldCBhbmQgdGhlIGN1cnJlbnQgaml0dGVyYnVmZmVyIHN5bmMKCSAgdmFsdWVzIGludG8gYSBzeW5jIHN0cnVjdHVyZSwgaW50byBpdHMgb3duIGZ1bmN0aW9uLiBXZSB3YW50IHRvIHJldXNlIHRoaXMgYml0CgkgIGxhdGVyLgoKMjAxMy0wMS0wNyAxNTo0NToxMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwOiBpbmNsdWRlIGRvd25zdHJlYW0gbGF0ZW5jeSBpbiBTUiBjYWxjdWxhdGlvbnMKCSAgV2hlbiB3ZSBtYWtlIGEgbWFwcGluZyBiZXR3ZWVuIGFuIFJUUCB0aW1lc3RhbXAgYW5kIGFuIE5UUCB0aW1lc3RhbXAsIGluY2x1ZGUKCSAgdGhlIGRvd25zdHJlYW0gbGF0ZW5jeSBhcHBsaWVkIHRvIHRoZSBzaW5rcy4gVGhpcyBtYWtlcyBpdCBwb3NzaWJsZSB0byBoYXZlCgkgIGJvdGggc2lua3MgcnVuIHdpdGggZGlmZmVyZW50IGxhdGVuY2llcyBhbmQgc3RpbGwgaGF2ZSBjb3JyZWN0IHN5bmMgb24gdGhlCgkgIGNsaWVudC4gSXQgYWxzbyBpcyBtb3JlIGNvcnJlY3QgYmVjYXVzZSB0aGUgUlRQIHRpbWVzdGFtcCBpbiB0aGUgU1IgcmVwb3J0IHdpbGwKCSAgYWN0dWFsbHkgY29ycmVzcG9uZCBtb3JlIGNsb3NlbHkgdG8gdGhlIE5UUCB0aW1lIGl0IHdhcyBzZW50IG9uIHRoZSBzZXJ2ZXIuCgkgIEZvciBwaXBlbGluZXMgd2l0aCBoaWdoIGxhdGVuY3kgb24gdGhlIHNlbmRlciBzaWRlLCB0aGlzIGFjdHVhbGx5IGFsbG93cyBhCgkgIEdTdHJlYW1lciByZWNlaXZlciB0byBwZXJmb3JtIHN5bmNocm9uaXNhdGlvbiBpbnN0ZWFkIG9mIGRyb3BwaW5nIHRoZSBSVENQCgkgIHBhY2tldHMuCgoyMDEzLTAxLTA3IDE0OjI1OjE0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBkb24ndCBjYXN0IGV2ZW50IGZ1bmN0aW9ucwoJICBUaGVyZSBpcyBubyBuZWVkIHRvIGNhc3QgdGhlIGV2ZW50IGZ1bmN0aW9ucyBhbmQgb25seSBjYXVzZXMgcHJvYmxlbXMgbGF0ZXIgd2hlbgoJICB3ZSBjaGFuZ2UgdGhlIHNpZ25hdHVyZSBsYXRlciBhbmQgdGhpbmdzIHNpbGVudGx5IGNvbXBpbGVzIHdyb25nIGNvZGUuCgoyMDEzLTAxLTA3IDE0OjIzOjM0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHA6IG1vcmUgZGVidWcKCjIwMTMtMDEtMDcgMTQ6MjI6NDggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGltcHJvdmUgZGVidWcKCjIwMTMtMDEtMDIgMDA6MDM6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IHNhbml0eSBjaGVjayBzaXplIG9mIGF2YWlsYWJsZSBwYWNrZXQgZGF0YSBmb3IgcmVhZGluZyB0byBhdm9pZCBtZW1vcnkgd2FzdGUKCSAgT24gV2luZG93cyBhbmQgT1MvWCwgX2dldF9hdmFpbGFibGVfYnl0ZXMoKSBtYXkgbm90IHJldHVybiB0aGUgc2l6ZQoJICBvZiB0aGUgbmV4dCBwZW5kaW5nIHBhY2tldCwgYnV0IHRoZSBzaXplIG9mIGFsbCBwZW5kaW5nIHBhY2tldHMgaW4KCSAgdGhlIGtlcm5lbC1zaWRlIGJ1ZmZlciwgd2hpY2ggbWlnaHQgYmUgcmF0aGVyIGxhcmdlIGRlcGVuZGluZyBvbgoJICBjb25maWd1cmF0aW9uLiBTYW5pdHktY2hlY2sgdGhlIHNpemUgcmV0dXJuZWQgYnkgX2dldF9hdmFpbGFibGVfYnl0ZXMoKQoJICB0byBtYWtlIHN1cmUgd2UgbmV2ZXIgYWxsb2NhdGUgbW9yZSBtZW1vcnkgdGhhbiB0aGUgbWF4LiBzaXplIGZvcgoJICBhIHBhY2tldCwgaWYgaXQncyBhbiBJUHY0IHNvY2tldC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMDM2NAoKMjAxMy0wMS0wNCAxMDowMzozMiArMDEwMCAgUm9iZXJ0IEtyYWtvcmEgPHJvYi5rcmFrb3JhQG1lc3NhZ2VuZXRzeXN0ZW1zLmNvbT4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogQWxzbyBoYW5kbGUgdGhlIG5ldyBFTk9FTlQgcmV0dXJuIHZhbHVlIG9mIFZJRElPQ19RVUVSWUNUUkwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MTA5OAoKMjAxMy0wMS0wMSAxOToxNDozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIHRlc3RzOiBhZGQgdGVzdCBmb3Igc291cGh0dHBzcmMgZXJyb3IgaGFuZGxpbmcgd2l0aCBkYXRhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzg0MjkKCjIwMTItMDYtMjIgMjE6NTY6NTIgKzAwMDAgIE5vcmJlcnQgV2FzY2hidWVzY2ggPG53YXNjaGJ1QG9wZW50di5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogZXJyb3Igb3V0IHByb3Blcmx5IHdoZW4gcmVjZWl2aW5nIGRhdGEgYWxvbmcgd2l0aCBhbiBlcnJvciBzdGF0dXMKCSAgV2hlbiByZWNlaXZpbmcgYW4gZXJyb3IgY29kZSBmcm9tIHRoZSBodHRwIHNlcnZlciwgc3VjaCBhcyA0MDQsCgkgIGRhdGEgbWlnaHQgYmUgc2VudCBhbG9uZyB3aXRoIGl0LCBsaWtlIGEgd2ViIHBhZ2UuIFdlIGRvbid0IHdhbnQKCSAgdG8gb3V0cHV0IHRoYXQgZGF0YSBpbiB0aGlzIGNhc2UsIGFuZCB3ZSBhbHNvIHdhbnQgdG8gcGFzcyB0aGUKCSAgRkxPV19FUlJPUiByZXR1cm4gYmFjayB0byB0aGUgYmFzZSBjbGFzcywgc28gaXQgY2FuIHN0b3AgcHJvcGVybHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzg0MjkKCjIwMTMtMDEtMDEgMTI6MjA6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgIGRvY3M6IHVwZGF0ZSBmb3IgbmV3IHJ0c3BzcmMgcHJveHktaWQgYW5kIHByb3h5LXB3IHByb3BlcnRpZXMKCjIwMTMtMDEtMDEgMTI6MTk6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkgIGRvY3M6IGZpeCBkb2NzIGJ1aWxkIGFuZCB1cGRhdGUgYWZ0ZXIgcmVtb3ZhbCBvZiBvbGQgY2Fpcm8gZWxlbWVudHMKCjIwMTMtMDEtMDEgMTI6MTI6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvY2Fpcm8vTWFrZWZpbGUuYW06CgkqIGV4dC9jYWlyby9nc3RjYWlyby5jOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvcmVuZGVyLmg6CgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuaDoKCSogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5LmM6CgkqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5oOgoJICBjYWlybzogcmVtb3ZlIG9sZCBjYWlyby1iYXNlZCB0ZXh0IHJlbmRlcmVyaW5nIGVsZW1lbnQKCSAgVGhleSBoYXZlbid0IHdvcmtlZCB3ZWxsIG9yIGF0IGFsbCBpbiBhIHZlcnkgbG9uZyB0aW1lCgkgIGFuZCB3ZXJlIHJhdGhlciBiaXQtcm90dGVuLCBhbmQgdGhlcmUncyBubyBuZWVkIGZvciB0aGVtCgkgIGFueSBtb3JlLgoKMjAxMy0wMS0wMSAxMTo1MjowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2NhaXJvLy5naXRpZ25vcmU6CgkqIGV4dC9jYWlyby9NYWtlZmlsZS5hbToKCSogZXh0L2NhaXJvL2dzdGNhaXJvLW1hcnNoYWwubGlzdDoKCSogZXh0L2NhaXJvL2dzdGNhaXJvLmM6CgkqIGV4dC9jYWlyby9nc3RjYWlyb292ZXJsYXkuYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvb3ZlcmxheS5oOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2Fpcm8vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhaXJvL2NhaXJvX292ZXJsYXkuYzoKCSAgY2Fpcm86IHBvcnQgY2Fpcm9vdmVybGF5IHRvIDAuMTEKCSAgVGhlIG90aGVyIGVsZW1lbnRzIGFyZSBub3QgdGhhdCBpbnRlcmVzdGluZyBub3cgdGhhdCB3ZSdyZQoJICB1c2luZyBwYW5nb2NhaXJvIGluIHRoZSBwYW5nbyBwbHVnaW4sIGFuZCBzaG91bGQgcHJvYmFibHkKCSAganVzdCBiZSByZW1vdmVkLgoKMjAxMi0xMi0zMSAxODo1OToxOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItZGVjb2RlYmluLUgyNjNwLUFNUi5zaDoKCSAgZXhhbXBsZXM6IGNoZWNrIGZvciB1cmkgYXJndW1lbnQgaW4gZGVjb2RlYmluLWgyNjRwLWFtciBzZXJ2ZXIgZXhhbXBsZQoJICBPdGhlcndpc2UgcGVvcGxlIGdldCBhIHJhdGhlciBjb25mdXNpbmcgZXJyb3IgbWVzc2FnZS4KCjIwMTItMTItMzEgMDA6MjI6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogYWRkICJwcm94eS1pZCIgYW5kICJwcm94eS1wdyIgcHJvcGVydGllcwoJICB0byBtYXRjaCBzb3VwaHR0cHNyYy4gdXNlci9wYXNzd29yZCBwYXNzZWQgdmlhIHRoZSBVUkkKCSAgd2lsbCBzdGlsbCB0YWtlIHByZWNlZGVuY2UgdGhvdWdoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzk1NDI3CgoyMDEyLTEyLTI1IDE2OjQ4OjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkgIG9zczRzaW5rOiBub3RpZnkgInZvbHVtZSIgcHJvcGVydHkgb24gb3BlbiB0byBtYWtlIGFwcHMgcXVlcnkgaW5pdGlhbCB2b2x1bWUKCSAgVGhlIGluaXRpYWwgdm9sdW1lIG1pZ2h0IG5vdCBiZSB0aGUgcHJvcGVydHkgZGVmYXVsdCwgc28KCSAgZW1pdCBhIG5vdGlmeSBvbiB0aGUgdm9sdW1lIHByb3BlcnR5IHRvIG1ha2UgYXBwcyBnZXQKCSAgYW4gdXAtdG8tZGF0ZSByZWFkaW5nIG9mIHRoZSBjdXJyZW50IHZvbHVtZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzMTA1MwoKMjAxMi0xMi0yMCAxNzoxMjozMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IGNtZCBjb21wYXJpc29uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTA0NzYKCjIwMTItMTItMjAgMTc6MTI6MjAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFkZCBzb21lIG1vcmUgZGVidWcKCjIwMTItMTItMjAgMTY6NDQ6MjQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmF3MTM5NC9nc3QxMzk0Y2xvY2suYzoKCSAgMTM5NGNsb2NrOiBtYXJrIG91ciBjbG9jayB0eXBlIGFzIE9USEVSCgoyMDEyLTEyLTIwIDE2OjE1OjEzICswMTAwICBKb25hcyBIb2xtYmVyZyA8am9uYXNoZ0BheGlzLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHRlc3RzOiBhZGQganBlZ3BheSB1bml0IHRlc3QKCSAgU2VlIGFsc28gaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDk1NQoKMjAxMi0xMi0yMCAxNTo1NTowMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5oOgoJICBqcGVnZW5jOiBwYXNzIGZsb3dyZXR1cm4gdXBzdHJlYW0KCjIwMTItMDktMjcgMTU6NDI6NTYgKzAyMDAgIEpvbmFzIEhvbG1iZXJnIDxqb25hc2hnQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIHJ0cGpwZWdwYXk6IGhhbmRsZSB3aWR0aCBhbmQgaGVpZ2h0ID4gMjA0MAoJICBJZiB3aWR0aCBvciBoZWlnaHQgaXMgZ3JlYXRlciB0aGFuIDIwNDAgc2V0IHdpZHRoIGFuZCBoZWlnaHQgdG8gemVybyBpbgoJICB0aGUgcnRwIGhlYWRlciBhbmQgYWRkIHgtZGltZW5zaW9ucyB0byBvdXRjYXBzLgoJICBTb2x2ZXMgIzY4NDk1NQoKMjAxMi0xMi0yMCAxMzowMzo0MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGNsZWFudXAgaW4gZmxhZyBkZWZpbmUKCjIwMTItMTItMjAgMTM6MDI6NTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBpbXByb3ZlIGRlYnVnCgoyMDEyLTEyLTE4IDE1OjU2OjU5ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJICB3YXZwYWNrOiB1c2UgYXBwcm9wcmlhdGUgcHJpbnRmIGZvcm1hdCBmb3IgZ3NpemUKCjIwMTItMTItMTggMTU6NTU6NDMgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICB0YWdsaWI6IHVzZSBhcHByb3ByaWF0ZSBwcmludGYgZm9ybWF0IGZvciBnc2l6ZQoKMjAxMi0xMi0xOCAxNTo1NDowOCArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZmRlYy5jOgoJICBnZGtwaXhidWY6IHVzZSBhcHByb3ByaWF0ZSBwcmludGYgZm9ybWF0IGZvciBnc2l6ZQoKMjAxMi0xMi0xOCAxNTo1MTo0NiArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSAgcnRwOiB1c2UgYXBwcm9wcmlhdGUgcHJpbnRmIGZvcm1hdCBmb3IgZ3NpemUKCjIwMTItMTItMTggMTU6NDY6NTYgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IHVzZSBhcHByb3ByaWF0ZSBwcmludGYgZm9ybWF0IGZvciBnc2l6ZQoKMjAxMi0xMi0xNyAxNjozNTo1NiArMDEwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5oOgoJICBpbnRlcmxlYXZlOiBzZXQgc3JjIHBhZCBjYXBzIHVwb24gbGFzdCBzaW5rIHBhZCBDQVBTIGV2ZW50CgkgIEdhdGhlciBjYXBzIG9uIGFsbCBzaW5rIHBhZHMgYmVmb3JlIHNldHRpbmcgdGhlIHNyYyBwYWQgY2Fwcy4gVGhpcyBpcwoJICBzcGVjaWFsbHkgbmVlZGVkIHdoZW4gdGhlIGF1ZGlvIGNoYW5uZWwgbWFwcGluZyBpcyBzZXQgb24gdGhlIHNpbmsKCSAgcGFkcyBhbmQgdGhlIGVsZW1lbnQgbmVlZHMgdG8gcHJlc2VydmUgaXQgb24gaXRzIHNyYyBwYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTAyNjcKCjIwMTItMTItMTcgMjI6NTU6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2FkZW11eDogc2tpcCBlbXB0eSB0YWdzCgkgIGluc3RlYWQgb2YgdHJ5aW5nIHRvIGFkZCB0YWdzIHdpdGggZW1wdHkgc3RyaW5ncywgd2hpY2gKCSAgY2F1c2VzIGNyaXRpY2FscyBhdCBydW50aW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwMzU4CgoyMDEyLTEyLTE3IDE1OjE3OjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IE1ha2Ugc3VyZSB0aGUgY2FwcyBhcmUgYWN0dWFsbHkgd3JpdGFibGUgYmVmb3JlIGNoYW5naW5nIHRoZW0KCjIwMTItMTItMTcgMTU6MDE6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogVXNlIHRoZSBwZWVyIGNhcHMgZm9yIHJlc3RyaWN0aW9ucyBpbnN0ZWFkIG9mIHRoZSBzcmNwYWQgYWxsb3dlZCBjYXBzCgkgIE90aGVyd2lzZSB3ZSB3aWxsIGludGVyc2VjdCB3aXRoIHRoZSBzcmNwYWQgdGVtcGxhdGUgY2FwcyBhbmQgYWRkIGFsbCB0aGUgY2FwcyBmaWVsZHMKCSAgdGhhdCB0aGUgcGFyc2VyIHdpbGwgZXZlciBzZXQsIG5vIG1hdHRlciBpZiBkb3duc3RyZWFtIHJlc3RyaWN0cyB0aGlzIGZpZWxkIG9yIG5vdC4KCSAgVGhpcyByZXF1aXJlcyB1cHN0cmVhbSB0byBzZXQgdGhpcyBmaWVsZCBvbiB0aGUgY2FwcyB0byBzdWNjZXNzZnVsbHkgbmVnb3RpYXRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwMTg0CgoyMDEyLTEyLTE0IDIyOjI1OjA4ICswMDAwICBLb29wIE1hc3QgPGt3bUByYWluYm93LXJ1bm5lci5ubD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyOiBUZWFjaCB3aGVyZSB0aGUgdmlkZW9kZXYyLmggaGVhZGVyIGxpdmVzIG9uIGZyZWVic2QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTAyMzMKCjIwMTItMTItMTYgMjM6Mjc6NDEgKzAwMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHNldCBhcHByb3ByaWF0ZSBibG9jayBoZWFkZXIgZmxhZyBmb3IgVlA4IGludmlzaWJsZSBmcmFtZXMKCSAgVXNlZnVsIGZvciBkZWJ1Z2dpbmcgbW9zdGx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0MjU5CgoyMDEyLTEyLTE2IDE1OjI1OjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJICBkb2NzOiBhZGQgcnRwbXV4IGFuZCBydHBkdG1mbXV4IHRvIHBsdWdpbiBkb2NzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjkxMTcKCjIwMTItMTItMTYgMTU6MTM6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbWFuYWdlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXhlci5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgcnRwbWFuYWdlcjogbW92ZSBydHBtdXggYW5kIHJ0cGR0bWZtdXggZWxlbWVudHMgZnJvbSAtYmFkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjkxMTcKCjIwMTItMTEtMDMgMjA6Mzg6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXhlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSAgcnRwbXV4OiBGaXggRlNGIGFkZHJlc3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzUyMAoKMjAxMi0xMC0xNyAxNzozNDoyNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFVzZSBnc3RfZWxlbWVudF9jbGFzc19zZXRfc3RhdGljX21ldGFkYXRhKCkKCSAgd2hlcmUgcG9zc2libGUuIEF2b2lkcyBzb21lIHN0cmluZyBjb3BpZXMuIEFsc28gcmUtaW5kZW50CgkgIHNvbWUgc3R1ZmYuIEFsc28gc29tZSBpbmRlbnQgZml4ZXMgaGVyZSBhbmQgdGhlcmUuCgoyMDEyLTA5LTEwIDIwOjM4OjE0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJICBydHBtdXg6IE1pc2MgZml4IGZvciAwLjExCgkgIENvbnZlcnQgdGhlIGluY29taW5nIGNhcHMgYmVmb3JlIHByb3h5aW5nIHRoZW0KCSAgQ2xlYXIgdGhlIGxhc3RfcGFkIHdoZW4gZ29pbmcgdG8gcmVhZHkKCSAgdGVzdHM6IEltcGxlbWVudCBhY2NlcHRfY2FwcywgZG9uJ3QgbGVhayBldmVudAoKMjAxMi0wNy0xNyAxNjozOTowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IHVwZGF0ZSBmb3IgUlRQIGJ1ZmZlciBhcGkgY2hhbmdlcwoKMjAxMi0wNC0wNSAxODowMjo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXhlci5jOgoJICBydHBtdXg6IFVwZGF0ZSBmb3IgR1NUX1BMVUdJTl9ERUZJTkUoKSBBUEkgY2hhbmdlcwoKMjAxMi0wNC0wMiAxMTowNzoxOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IGZpeCBjb21waWxhdGlvbgoKMjAxMi0wMy0xMSAxOTowNjo1OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IGZpeCBmb3IgY2FwcyBhcGkgY2hhbmdlcwoKMjAxMi0wMS0yNiAwNjo1ODo0NiAtMDUwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEZpeCBjb21waWxlciB3YXJuaW5ncwoKMjAxMi0wMS0yOSAxODowMTowNSArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFVucmVmIG5vbi1mb3J3YXJkZWQgZXZlbnRzCgkgIEFsc28sIGRvbid0IHVucmVmIGZvcndhcmRlZCBvbmVzCgoyMDEyLTAxLTI4IDE2OjU3OjAzICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogcmVzeW5jIGl0ZXJhdG9yIG9uIHJlc3luYwoKMjAxMi0wMS0yNyAxMjowODo1MiArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguaDoKCSAgcnRwbXV4OiBSZS1wdXNoIHN0aWNreSBldmVudHMgb24gaW5wdXQgcGFkIGNoYW5nZQoKMjAxMi0wMS0yNSAxNTo0MzowMSArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IERvbid0IGxlYWsgZ3ZhbHVlIGZyb20gaXRlcmF0b3IKCjIwMTItMDEtMjUgMTY6NDY6NDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBtb3JlIHBvcnRpbmcKCjIwMTItMDEtMjQgMTQ6MjA6NTIgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkgIHJ0cG11eDogcG9ydCB0byAwLjExCgoyMDExLTExLTA0IDEyOjIyOjM3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBtYWtlIHJlcXVlc3QgcGFkcyB0YWtlIF8ldQoKMjAxMS0wNC0xNCAxNDozNDoyNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4Lmg6CgkgIHJ0cGR0bWZtdXg6IEFkZCBsYXN0LXN0b3AgdG8gZHRtZi1ldmVudCB1cHN0cmVhbSBldmVudHMKCSAgQWRkIHRoZSBydW5uaW5nIHRpbWUgb2YgdGhlIGxhc3Qgb3V0cHV0dGVkIGJ1ZmZlciB0byB0aGUKCSAgdXBzdHJlYW0gImR0bWYtZXZlbnQiIGV2ZW50cyBzbyB0aGF0IHRoZSBkdG1mIHNvdXJjZSBkb2VzIG5vdAoJICBsZWF2ZSBhIGdhcC4KCjIwMTAtMTEtMjUgMTk6MjE6MTEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoKMjAxMC0xMC0xOSAxMzo0MzoxNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogYWRkIG1pc3NpbmcgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyBmbGFncwoJICBDYW5vbmljYWxpemUgcHJvcGVydHkgbmFtZXMgYXMgbmVlZGVkLgoKMjAxMC0wOS0zMCAxNjowNzoyOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBJbXByb3ZlIGRvY3VtZW50YXRpb24KCSAgQWRkIGFuIGV4YW1wbGUgcGlwZWxpbmUsIGFuZCB0cnkgdG8gZXhwbGFpbiBhIGJpdCBtb3JlIHdoYXQgaXQgZG9lcy4KCjIwMTAtMDktMjQgMTM6Mjk6NTUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwZHRtZm11eDogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoKMjAxMC0wOS0yNCAxMzoyNToyMiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBkdG1mbXV4OiByZW1vdmUgdW51c2VkIHNpZ25hbCBib2lsZXJwbGF0ZQoKMjAxMC0wOS0yNCAxMzoyNDo0OCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogbm8gbmVlZCB0byByZWYgcGFkIGluIF9jaGFpbigpCgoyMDEwLTA4LTI1IDIyOjU2OjAzIC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogVW5sb2NrIHRoZSByaWdodCBtdXRleAoJICBUaGUgbXV0ZXggbG9ja2VkIGlzIGZvciB0aGUgJ211eCcgb2JqZWN0LCBidXQgd2UgdW5sb2NrIHRoZQoJICBwYWQsIHdoaWNoIG1lYW5zIHRoYXQgaWYgdGhlIHJ0cG11eCBnZXRzIGEgZmx1c2gsIHRoZW4gdGhlCgkgIG9iamVjdCBsb2NrIHdpbGwgc3RheSBsb2NrZWQgZm9yZXZlciwgY2F1c2luZyBpdCB0byBmcmVlemUKCSAgdGhlIG5leHQgdGltZSBpdCB0cmllcyB0byB0YWtlIGl0LgoJICBGaXhlcyBidWcgIzYyNzk5MQoKMjAxMC0wNy0wMSAxNToxOToxMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4Lmg6CgkgIHJ0cG11eDogQWRkIHN1cHBvcnQgZm9yIEdzdEJ1ZmZlckxpc3QKCSAgRmFjdG9yIG91dCBtb3N0IG9mIHRoZSBidWZmZXIgaGFuZGxpbmcgYW5kIGltcGxlbWVudCBhIGNoYWluX2xpc3QKCSAgZnVuY3Rpb24uIEFsc28sIHRoZSBEVE1GIG11eGVyIGhhcyBiZWVuIG1vZGlmaWVkIHRvIGp1c3QgaGF2ZSBhCgkgIGZ1bmN0aW9uIHRvIGFjY2VwdCBvciByZWplY3QgYSBidWZmZXIgaW5zdGVhZCBvZiBoYXZpbmcgdG8gc3ViY2xhc3MKCSAgYm90aCBjaGFpbiBhbmQgY2hhaW5fbGlzdC4KCjIwMTAtMDctMDEgMTU6MTU6NDkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IERvbid0IGxlYWsgaW52YWxpZCBidWZmZXJzCgoyMDEwLTA2LTAzIDEwOjQzOjIwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwbXV4OiBmaXggbWlzc2luZyBkZWJ1ZyBsb2cgbWVzc2FnZSBhcmd1bWVudAoKMjAxMC0wNS0xMCAxODozNzo1NSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBkdG1mbXV4OiBBZGQgc29tZSBkZWJ1ZyBtZXNzYWdlcwoKMjAxMC0wNS0wNyAxODo1Njo1NyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4Lmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguaDoKCSAgcnRwZHRtZm11eDogUmVtb3ZlIHN0cmVhbS1sb2NrIGV2ZW50IGhhbmRsaW5nCgoyMDEwLTA1LTA3IDE4OjU0OjQ5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cGR0bWZtdXg6IFVwZGF0ZSBkb2MgZm9yIHNpbXBsaWZpY2F0aW9uCgoyMDEwLTA1LTA3IDE4OjQwOjMwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSAgdGVzdHM6IENoYW5nZSB0ZXN0cyB0byBub3QgdXNlIHRoZSBwcmlvcml0eSBwYWRzIGluc3RlYWQgb2YgdGhlIGV2ZW50cwoKMjAxMC0wNS0wNiAxOTo1MTo1OSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4Lmg6CgkgIHJ0cGR0bWZtdXg6IERyb3AgYnVmZmVycyBvbiBub24tcHJpb3JpdHkgc2lua3Mgd2hlbiBzb21ldGhpbmcgaXMgaW5jb21pbmcgb24gdGhlIHByaW9yaXR5IHNpbmsKCjIwMTAtMDUtMDYgMTg6MTE6NDAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5oOgoJICBydHBkdG1mbXV4OiBBZGQgcHJpb3JpdHkgc2luayBwYWRzCgoyMDEwLTA1LTA3IDE3OjE1OjQ3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cGR0bWZtdXg6IENsZWFudXAgZXZlbnQgZnVuY3Rpb24KCjIwMTAtMDUtMDcgMTY6NDI6MjIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkgIHJ0cG11eDogQWdncmVnYXRlIGluY29taW5nIHNlZ21lbnRzCgoyMDEwLTA1LTA2IDE5OjA5OjQ4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cGR0bWZtdXg6IFVwZGF0ZSBkb2N1bWVudGF0aW9uCgoyMDEwLTA1LTA2IDE4OjEwOjQ1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4Lmg6CgkgIHJ0cG11eDogU2ltcGxpZnkgcmVxdWVzdCBwYWQgY3JlYXRpb24KCjIwMTAtMDMtMjEgMjE6Mzk6MTggKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJICBBZGQgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyB0byBjb25maWd1cmUgZmxhZ3MKCSAgQW5kIGZpeCBhbGwgd2FybmluZ3MKCjIwMTAtMDMtMTggMTc6MzA6MjYgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHMgPT4gZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlCgoyMDA5LTExLTE4IDE2OjM4OjMzICswMTAwICB1bmtub3duIDxoYXZhcmQuZ3JhZmZALmV1LnRhbmRiZXJnLmludD4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IHVwZGF0ZSB0aGUgY3VycmVudF9zc3JjIGZyb20gdGhlIGNhcHMKCSAgRml4ZXMgIzYwNDEwMQoKMjAwOS0xMi0wOSAxNDo0MjoyMSArMDEwMCAgSMOldmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IHJlbGVhc2UgcGFkcyB3aGVuIGRpc3Bvc2luZwoJICBCZWNhdXNlIG9mIGFuIGFsbG9jYXRlZCBwcml2IChHc3RSVFBNdXhQYWRQcml2YXRlKSwgdGhlIGVsZW1lbnQgd2lsbAoJICBsZWFrIG1lbW9yeSBpZiBub3QgZ3N0X3J0cF9tdXhfcmVsZWFzZV9wYWQoKSBpcyBjYWxsZWQuIFRoaXMgd291bGQKCSAgcHJldmlvdXNseSBvbmx5IGhhcHBlbiBpZiByZWxlYXNlX3JlcXVlc3RfcGFkKCkgd2FzIGNhbGxlZCBleHBsaWNpdGx5LAoJICBzb210aGluZyB0aGF0IHNob3VsZCBub3QgYmUgbmVjY2VzYXJ5LgoJICBGaXhlcyAjNjA0MDk5CgoyMDA5LTEyLTA5IDEzOjQwOjQzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJICBkdG1mbXV4OiBtZXRob2QgbmFtZSBjbGVhbnVwcwoKMjAwOS0xMC0wOCAxOTowNjoyNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkgIHRlc3RzOiBBZGQgdGVzdCBmb3IgcnRwZHRtZm11eCBsb2NraW5nCgoyMDA5LTA5LTI4IDE5OjU0OjUzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSAgdGVzdHM6IEFkZCB1bml0IHRlc3QgZm9yIHJ0cG11eAoKMjAwOS0wOS0yOCAxMzozNjo0NCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogRG9uJ3QgaWdub3JlIHJlcXVlc3RlZCBwYWQgbmFtZQoKMjAwOS0wNy0yOSAxNzoyMzozMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogUmVtb3ZlIGVtcHR5IGZpbmFsaXplCgoyMDA5LTA3LTIxIDE1OjMxOjMzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBGcmVlIHRoZSBwYWQgcHJpdmF0ZSBkYXRhIG9uIHBhZCByZWxlYXNlCgkgIEZyZWUgdGhlIHBhZCBwcml2YXRlIGRhdGEgb24gcGFkIHJlbGVhc2UgaW5zdGVhZCBvZiB1c2luZyBhIHdlYWsgcmVmLAoJICB3aGljaCBpcyBub3QgdGhyZWFkIHNhZmUuIEFsc28sIGxvY2sgdGhlIGNvbnRlbnQgb2YgdGhlIHBhZCBwcml2YXRlIHVzaW5nIHRoZSBlbGVtZW50J3MKCSAgb2JqZWN0IGxvY2suCgoyMDA5LTA0LTI4IDE2OjEwOjIxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBSZWplY3Qgd3JvbmcgY2FwcwoKMjAwOS0wNC0yOCAxNjowMzoxOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogRml4IGxlYWsgRml4ZWQgYSBsZWFrIGRpc2NvdmVyZWQgYnkgTGF1cmVudCBHbGF5YWwgPHNwZWdsZUB5YWhvby5mcj4KCjIwMDktMDQtMjggMTU6NTg6NDEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEZpeCBsZWFrCgkgIEZpeGVkIGEgbGVhayBkaXNjb3ZlcmVkIGJ5IExhdXJlbnQgR2xheWFsIDxzcGVnbGVAeWFob28uZnI+CgoyMDA5LTA0LTIyIDE4OjAxOjA3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBGaXggd2FybmluZwoKMjAwOS0wNC0yMCAyMDowMDoxNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogU2V0IGRpZmZlcmVudCBjYXBzIGRlcGVuZGluZyBvbiB0aGUgaW5wdXQKCjIwMDktMDQtMjIgMTY6MjU6MDcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IE9ubHkgZnJlZSBwYWQgcHJpdmF0ZSB3aGVuIHBhZCBpcyBkaXNwb3NlZAoKMjAwOS0wNC0yMCAxODo0MTozOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogUmVtb3ZlIHVzZWxlc3MgY2FwcyBtYW5nbGluZwoKMjAwOS0wNC0yMCAxODozNjo0MiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogUmVuYW1lIHZhcmlhYmxlIGZvciBtb3JlIGNsYXJpdHkKCjIwMDktMDQtMjAgMTc6NDM6MzkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogVXNlIEdTVF9CT0lMRVJQTEFURQoKMjAwOS0wNC0yMCAxNzo0Mjo0MCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4Lmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IERvIHRoZSBpbmNsdWRlcyBsb2NhbGx5CgoyMDA5LTA0LTE1IDEzOjIzOjAxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEFkZCBHU1RfREVCVUdfRlVOQ1BUUnMKCjIwMDktMDQtMTUgMTM6MTU6NTUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwZHRtZm11eDogUmVsZWFzZSBsb2NrZWQgcGFkIG9uIHJlbGVhc2VfcGFkCgkgIFJlbGVhc2UgdGhlIHNwZWNpYWwgcGFkIGlmIHRoZSBwYWQgaXMgcmVtb3ZlZCBmcm9tIHRoZSBtdXhlci4KCjIwMDktMDQtMTUgMTM6MDk6MjcgLTA0MDAgIExhdXJlbnQgR2xheWFsIDxzcGdsZWdsZUB5YWhvby5mcj4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwZHRtZm11eDogUmVsZWFzZSBzcGVjaWFsIG9uIHBhZCBkaXNwb3NlCgkgIEZpeGVzICM1Nzc2OTAKCjIwMDktMDItMjUgMTE6NDU6MDUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIGRvY3M6IHZhcmlvdXMgZG9jIGZpeGVzCgkgIE5vIHNob3J0LWRlc2MgYXMgd2UgaGF2ZSB0aGVtIGluIHRoZSBlbGVtZW50IGRldGFpbHMuCgkgIEFsc28ga2VlcCB0aGluZ3MgKE1ha2VmaWxlLmFtIGFuZCBzZWN0aW9ucy50eHQpIHNvcnRlZC4KCSAgUmV3b3JkIGFtYmlnb3VzIHJldHVybnMuIE5vIHRleHQgYWZ0ZXIgc2luY2UgcGxlYXNlLgoKMjAwOS0wMi0xMCAxNzowMjoyNCArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXhlci5jOgoJICBydHBtdXg6IE1vdmUgcnRwbXV4IGZyb20gZ3N0LXBsdWdpbnMtZmFyc2lnaHQgdG8gLWJhZAoKMjAwOS0wMi0yMCAxNzo0NTo1MCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4Lmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4ZXIuYzoKCSAgcnRwbXV4OiBSZS1pbmRlbnQgdG8gR3N0IHN0eWxlCgoyMDA5LTAyLTEwIDE5OjExOjE1ICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBEb2N1bWVudCBydHAgbXV4ZXIgYSBiaXQKCjIwMDktMDItMjAgMTM6MzA6NDkgLTA1MDAgIExhdXJlbnQgR2xheWFsIDxzcGdsZWdsZUB5YWhvby5mcj4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5oOgoJICBydHBtdXg6IEFkZCBzaWduYWxzIGJlZm9yZSBzdHJlYW0gbG9jayBhbmQgYWZ0ZXIgdW5sb2NraW5nCgoyMDA5LTAyLTE4IDIwOjE4OjQ2IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBMZXQgc3NyYyB0aHJvdWdoIGdldGNhcHMKCjIwMDktMDItMTggMTk6NTg6NTggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFJlbmFtZSBoYXZlX2Jhc2UgdG8gaGF2ZV90c19iYXNlCgoyMDA5LTAyLTE4IDE4OjE0OjUyIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4Lmg6CgkgIHJ0cG11eDogUHJvdGVjdCB0aGUgc2VxbnVtIHdpdGggb2JqZWN0IGxvY2sgaW4gcnRwbXV4CgoyMDA5LTAyLTE4IDE4OjA3OjQ0IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguaDoKCSAgcnRwbXV4OiBSZW1vdmUgdW51c2VkIHNpbmtfdHNfYmFzZQoKMjAwOS0wMi0xOCAxNToyMDo1OCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogSGF2ZSBnZXRjYXBzIHRvIGZvcmNlIHRoZSBzYW1lIGNsb2NrcmF0ZSBvbiBhbGwgcGFkcwoKMjAwOS0wMi0xOCAxNzowNToxMyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogVmFsaWRhdGUgUlRQIGRhdGEgaW4gUlRQIE11eAoKMjAwOS0wMi0xOCAxNDoxNjowMCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5oOgoJICBydHBtdXg6IFJlbW92ZSB1bnVzZWQgY2xvY2stcmF0ZSBwcm9wZXJ0eQoKMjAwOS0wMi0xOCAxMzo1NjozNiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5oOgoJICBydHBtdXg6IENsYXJpZnkgbG9ja2luZyBpbiBydHBkdG1mbXV4CgoyMDA5LTAyLTE4IDEzOjMyOjU2IC0wNTAwICBMYXVyZW50IEdsYXlhbCA8c3BnbGVnbGVAeWFob28uZnI+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBNaXNzaW5nIGZvcm1hdCBwYXJhbWV0ZXIKCjIwMDgtMTItMDEgMTc6NTU6MjIgLTA1MDAgIEjDpXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBVcGRhdGUgc2VxbnVtIGJhc2UgaW4gcnRwIG11eGVyCgkgIFdpdGggaGVscCBmcm9tIFdpbQoKMjAwOC0xMi0wMSAxNzo1NDo1OCAtMDUwMCAgSMOldmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogRml4IHNvbWUgbW9yZSBsZWFrcwoKMjAwOC0xMi0wMSAxNzo0ODoyOSAtMDUwMCAgSMOldmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwbXV4OiBGaXggbGVhawoKMjAwOC0wOS0yOSAxNTowMzowNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogRG9uJ3QgdW5yZWYgY2FwcyB3ZSBkb24ndCBrbm93ICh0aGFua3MgV2ltKQoKMjAwOC0wOC0xMiAxMjo0ODowMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogUHV0IHBlci1idWZmZXIgZGVidWcgYXQgbGV2ZWwgTE9HCgoyMDA4LTA4LTEyIDEyOjQ3OjE0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBNYWtlIGRlYnVnIHByaW50IGFjY3VyYXRlCgoyMDA4LTA4LTEyIDEyOjQ2OjIzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBTZXQgb3VyIGNhcHMgb24gdGhlIGJ1ZmZlcnMKCjIwMDgtMDgtMTIgMTI6NDY6MDcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFRha2UgdGhlIGNsb2NrLWJhc2Ugc3RvcmVkIGZyb20gdGhlIGxhc3Qgc2V0Y2FwcwoKMjAwOC0wOC0xMiAxMjo0MTo1OSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogU3RvcmUgdGhlIGNsb2NrLWJhc2Ugb24gc2V0Y2FwcwoKMjAwOC0wOC0xMiAxMjozMDo1MiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogQWRkIHBhZHByaXZhdGUgdG8gdGhlIHJlcXVlc3QgcGFkcwoKMjAwOC0wOC0xMSAyMToyMDowNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogTWFrZSBpbmRlbnRhdGlvbiBtb3JlIGNvcnJlY3QKCjIwMDgtMDgtMTEgMjE6MDU6MzQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEZpeCB0eXBvCgoyMDA4LTA4LTExIDIxOjAzOjIyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBTZXQgc2VxbnVtLWJhc2UgYW5kIGNsb2NrLWJhc2UgaW4gY2FwcyBmcm9tIHJ0cG11eGVyCgoyMDA3LTA4LTE1IDEzOjUwOjM4ICswMDAwICBaZWVzaGFuIEFsaSA8Zmlyc3QubGFzdEBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cG11eDogbW9yZSBkZWJ1ZwoJICAyMDA3MDgxNTEzNTAzOC1mM2YxZS05YzdhNTQ5MGE1MjVjNmU4NzUzY2IxYjhjMDMzNTRkZjk5MTMyYjVjLmd6CgoyMDA3LTA4LTIwIDE4OjUwOjMyICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogbWlzc2luZyBjb21tZW50CgkgIDIwMDcwODIwMTg1MDMyLTRmMGY2LTBhYjY3YjZhYzQwZGQ0ZTM1YThmZTUzZjNjYjZkYWZmNjVjZTQzYjkuZ3oKCjIwMDctMDctMTIgMTk6NTM6MzYgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogTWFrZSBidWZmZXIgd3JpdGFibGUgYmVmb3JlIHdyaXRpbmcgaW50byBpdAoJICAyMDA3MDcxMjE5NTMzNi0zZTJkYy05MWE1ZmI3OTdjZmE0OTE5ZDRlMmY5YTcyOGM2ZDZmYmQzYjgzZDkzLmd6CgoyMDA3LTA3LTA2IDIwOjI0OjU5ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFNldCBwYWRzIGFjdGl2ZSB3aGVuIGFkZGluZyB0aGVtIHRvIGEgcG90ZW50aWFsbHkgcnVubmluZyBlbGVtZW50CgkgIDIwMDcwNzA2MjAyNDU5LTNlMmRjLWEzNzMxZjg4NTcyNTU5NGRlZjBhN2JlOTk3ZmM3YjNhNzM5ZWU5NjcuZ3oKCjIwMDctMDYtMDcgMTI6MDE6MjEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogRml4IG11bHRpcGxlIHJlZiBsZWFrcyAocGF0Y2hlcyBieSBTUCBHTEUpCgkgIDIwMDcwNjA3MTIwMTIxLTNlMmRjLTA2MWU5ZWY3YTQ3YjFiODRmYThmODA5MmY0YjhiY2MwZTZkYjhjOGMuZ3oKCjIwMDctMDUtMjggMTU6MjU6MDUgKzAwMDAgIFplZXNoYW4gQWxpIDxmaXJzdC5sYXN0QG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IHNlbmQgZXZlbnQgdG8gYWxsIHNyYyBwYWRzCgkgIDIwMDcwNTI4MTUyNTA1LWYzZjFlLTAzOTIxNmM3M2RjOTNmNjRjNDk5NjJjNzdhMDI1M2NiOWNmZWM0ZDMuZ3oKCjIwMDctMDUtMjggMTI6Mzc6NDkgKzAwMDAgIFplZXNoYW4gQWxpIDxmaXJzdC5sYXN0QG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IHByaW50IGEgd2FybmluZyBpZiByZWNlaXZlIGFuIGVycm9yIGl0ZXJhdGluZyBzaW5rcGFkcwoJICAyMDA3MDUyODEyMzc0OS1mM2YxZS00YzFlYjNmNTExYjU2MTAxNDM2MTBhNjVhOTRkMTE3ZjJjM2QyNTgwLmd6CgoyMDA3LTA1LTI4IDEyOjI4OjA4ICswMDAwICBaZWVzaGFuIEFsaSA8Zmlyc3QubGFzdEBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBkZWFsIHdpdGggYWxsIHRoZSBnc3RfaXRlcmF0b3JfbmV4dCgpIHJldHVybiB2YWx1ZXMKCSAgMjAwNzA1MjgxMjI4MDgtZjNmMWUtZDMwMTY0NGMzYmU3NjMzZWM2ZGM1ZTI4NTk2ZTkzNDZkMmRhNmE1MC5negoKMjAwNy0wNS0yNSAxMjozMToxNiArMDAwMCAgWmVlc2hhbiBBbGkgPGZpcnN0Lmxhc3RAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogUmV0dXJuIGNvcnJlY3QgdmFsdWUgZnJvbSB0aGUgZXZlbnQgaGFuZGxlcgoJICAyMDA3MDUyNTEyMzExNi1mM2YxZS0xMzFiMzdiNWY0NTIxNjE4ZmUyZjEzMjA0MDlhNDdlNjViMzVhZDJkLmd6CgoyMDA3LTA1LTI1IDEwOjI3OjA5ICswMDAwICBaZWVzaGFuIEFsaSA8Zmlyc3QubGFzdEBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBWaWxsZSdzIG9yaWdpbmFsIHBhdGNoIHRvIGZpeCB0aGUgdHJhdmVyc2FsIG9mIGR0bWYgZXZlbnQKCSAgMjAwNzA1MjUxMDI3MDktZjNmMWUtNmM0MWQxZWY5MzQwNjhhNGY0ZTgxMGU3ZTk4MWI0MjAwNzViMGM5OC5negoKMjAwNy0wMy0yOSAxMzo1Mjo1MCArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBTZXQgdGhlIGNvcnJlY3QgdHMtb2Zmc2V0IG9uIHRoZSBnZXRfcHJvcCB2YWx1ZQoJICAyMDA3MDMyOTEzNTI1MC02NTAzNS1hNDNlMjIyZDkxZDU3YzBhNjFjYjMyODc1ODZhYWEyOWFiZjc4Njc0Lmd6CgoyMDA3LTAzLTI5IDEzOjUyOjIzICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFJlZmFjdG9yaXplIHN0YXRlX2NoYW5nZQoJICAyMDA3MDMyOTEzNTIyMy02NTAzNS0yM2EwMTA3YjJlMzk3NzEwZjAzNWM2ZTg4Y2MwZTQ5YjY1YmI0ZDVkLmd6CgoyMDA3LTAzLTI5IDEzOjM2OjIyICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguaDoKCSAgcnRwbXV4OiBzZXQgU1NSQyBvbiB0aGUgcGFja2V0cwoJICAyMDA3MDMyOTEzMzYyMi02NTAzNS0xYmU2ZTBhYTg1YTcxMzg5ZjdkMjU3YjljZDNlMTNhNzNkNmI3NDViLmd6CgoyMDA3LTAzLTI5IDEzOjE5OjM2ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IENvZGUgY2xlYW4tdXAgYW5kIG1vcmUgZGVidWcgb3V0cHV0CgkgIDIwMDcwMzI5MTMxOTM2LTY1MDM1LTlkNDk5ZTIwOWUwZDdhNDA5YzNhYTBkMTA0MDc3OGJhYmYwNzYxNzkuZ3oKCjIwMDctMDMtMjggMTE6MjI6MTkgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5oOgoJICBydHBtdXg6IFVzZSBvd24gY2xvY2stYmFzZQoJICAyMDA3MDMyODExMjIxOS02NTAzNS0xYmE1ZmVmYmM2NTA1OWU5YjBjODYwNTI4YTMxMDYyY2ViNmE3MzMxLmd6CgoyMDA3LTAzLTIzIDE2OjMxOjM5ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguaDoKCSAgcnRwbXV4OiBPbmx5IGFjY2VwdCBSVFAgc3RyZWFtcyB0aGF0IGhhdmUgdGhlIHNhbWUgY2xvY2stcmF0ZQoJICAyMDA3MDMyMzE2MzEzOS02NTAzNS1mYzBiMTdiMGI4YTdhMDQxZjQ4OTk0YzRmMjZlOTY1NjgxNjhiZjk1Lmd6CgoyMDA3LTAzLTIyIDE2OjE1OjUyICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwbXV4OiBTb21lIG1vcmUgY29kZS1jbGVhbnVwcwoJICAyMDA3MDMyMjE2MTU1Mi02NTAzNS1iZGE5NjE2NWUxNDZiNGYxZDVmZWExY2M5NTc2YTdhYjNhYmViYzllLmd6CgoyMDA3LTAzLTIyIDE1OjQyOjUxICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IHJldHVybiBuZXdwYWQgaW5zdGVhZCBvZiBOVUxMIGFuZCB3YXJuIGlmIGZhaWxlZCB0byBjcmVhdGUgYSBwYWQKCSAgMjAwNzAzMjIxNTQyNTEtNjUwMzUtY2RiNjY1MWU2MWMyZWIwMjA1Y2M4YzI0NjkzYjQzZjk4YTJkYTcxOC5negoKMjAwNy0wMy0yMiAxMjo0MTozMiArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBSZWZhY3Rvcml6ZSB0aGUgUlRQTXV4IGNvZGUKCSAgMjAwNzAzMjIxMjQxMzItNjUwMzUtMGEzMjc4MTQ3NTQ2ZTMzZjY4NzA5N2E0M2I3NzViM2Y2YWE5OWY5My5negoKMjAwNy0wMy0yMiAxMjoxNDo1MyArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cG11eDogU29tZSBtb3JlIGRvYyBmaXhpbmcKCSAgMjAwNzAzMjIxMjE0NTMtNjUwMzUtMTJkNjAyMjcyMjE3YjUxYmQ5N2RmNGU1NzkwMDI0YzM5OTYyMmRkMy5negoKMjAwNy0wMy0yMiAxMTozMjoyOCArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cG11eDogTW9yZSBSZWZhY3RvcmluZwoJICAyMDA3MDMyMjExMzIyOC02NTAzNS1iYWUzNGE3OTU5OWU3ZGU1MjkzZWQ3N2IwMjIzNjFjY2ZmODIyYmI5Lmd6CgoyMDA3LTAzLTIyIDExOjMxOjU0ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwbXV4OiBNb3JlIGRvY3VtZW50YXRpb24KCSAgMjAwNzAzMjIxMTMxNTQtNjUwMzUtNjI0ODUwNTQxYTViNWZjM2RmMjMxMjA0YmU1YTgzZDA3MjM5ZGIyOC5negoKMjAwNy0wMy0yMSAxNjozMzoxMSArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cG11eDogUmVmYWN0b3IgdGhlIGV2ZW50IGhhbmRsZXIgZnVuY3Rpb24KCSAgMjAwNzAzMjExNjMzMTEtNjUwMzUtOTg3ZTdmMjVkMWFiNTMzNWI3OWY0NGIyNzdhYmYxNWU0ZTM3ZDMxNy5negoKMjAwNy0wMy0yMSAxNDo1Mjo0NCArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXhlci5jOgoJICBydHBtdXg6IEFkZCBSVFBEVE1GTXV4IGVsZW1lbnQKCSAgMjAwNzAzMjExNDUyNDQtNjUwMzUtOWEwMTM5MGIwZGVlMzM5OGU1MzE5OWExZmExZDkzNTIwMDRmMzM4ZS5negoKMjAwNy0wMy0yMSAxMjozMTo0OSArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4Lmg6CgkgIHJ0cG11eDogUmVtb3ZlIERUTUYtc3BlY2lmaWMgY29kZSBmcm9tIFJUUCBtdXhlciBhbmQgbWFrZSBpdCBleHRlbmRhYmxlCgkgIDIwMDcwMzIxMTIzMTQ5LTY1MDM1LWI4YThmNTVmZjc4ZWVkOGNiYjAwNDJlODI3ODg1ZWRmYzU0MzgyNDIuZ3oKCjIwMDctMDMtMjAgMTI6MDU6MjQgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogUHV0IG1vcmUgaGVscGZ1bCBkZXNjcmlwdGlvbgoJICAyMDA3MDMyMDEyMDUyNC02NTAzNS1kYjI3YTdjZjYzMDdiNTExYWViM2Q5OTZkMjZlNzkwZTM2N2E3YmFkLmd6CgoyMDA3LTAzLTE2IDE1OjE2OjQxICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IHJlbW92ZSB0aGUgKGNvbW1lbnRlZC1vdXQpIGNvZGUgZm9yIGJsb2NraW5nIHRoZSBwYWRzCgkgIDIwMDcwMzE2MTUxNjQxLTY1MDM1LTAxMjNhZjM4Nzk1MWY4ODU5NDc5N2M3MjJlODgyY2ZlNzAyNDBhZmYuZ3oKCjIwMDctMDMtMTYgMTM6MTQ6NDQgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogRHJvcCBidWZmZXJzIGluc3RlYWQgb2YgYmxvY2tpbmcgdGhlIHNpbmtwYWRzCgkgIDIwMDcwMzE2MTMxNDQ0LTY1MDM1LTljMTM0NWFkOTYxMDg4ODFmNDU1ZDRiNTVhN2Y2MjNjZDMwMmQwZWQuZ3oKCjIwMDctMDMtMTQgMTc6MTY6MTggKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogSW1wbGVtZW50IHN0cmVhbSBsb2NraW5nLCBuZWVkZWQgZm9yIERUTUYKCSAgMjAwNzAzMTQxNzE2MTgtNjUwMzUtZTRkMjRiMTYwNmNlMGEzZTJlNzM5ZjAxODMzZjYxZTRkNzU1NWVhYy5negoKMjAwNy0wMy0xNCAxMDoyMDo1OCArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiB1c2UgR1NUXypfT0JKRUNUIGluc3RlYWQgb2YgZ18qCgkgIDIwMDcwMzE0MTAyMDU4LTY1MDM1LWUyNDQyODg4ZjJlM2U1YTNhNzY1OWFkNzk1NGE0ZmJhMzQ3NDljZTIuZ3oKCjIwMDctMDMtMTQgMTA6MTg6NTQgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogTm8gbmVlZCB0byBtYW5hZ2UgcGFkcywgcGFyZW50IGRvZXMgdGhhdCBmb3IgdXMKCSAgMjAwNzAzMTQxMDE4NTQtNjUwMzUtZWY1ZjRhYmRlMjI3MTAyYTExMjg4MzVhYjMyNTkwNWVhZTRjMzcyNi5negoKMjAwNy0wMy0xNCAwOTowMzo1OCArMDAwMCAgemVlbml4QGdtYWlsLmNvbSA8emVlbml4QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEZpeCBjb3B5cmlnaHQgaGVhZGVyCgkgIDIwMDcwMzE0MDkwMzU4LWQwMTRhLTNhNmQzZWVlYWFmNWNiOGNhM2JjYTZhMzNlOTlhNTUxZjU5OGJkNDguZ3oKCjIwMDctMDMtMDcgMDg6NTM6MDcgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogVGhlIGZpcnN0IGltcGxlbWVudGF0aW9uIG9mIFJUUCBtdXhlcgoJICAyMDA3MDMwNzA4NTMwNy02NTAzNS04MzM0MDI0MTNmOTljYjNmOGJlNDg4M2U5MmJhZDRjODcyMjUxMGM5Lmd6CgoyMDEyLTEyLTE1IDIxOjI3OjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmg6CgkgIHNjYWxldGVtcG86IG5vIG5lZWQgZm9yIGEgcHJpdmF0ZSBzdHJ1Y3QKCjIwMTItMTItMTQgMTU6MTM6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSAgZG9jczogdXBkYXRlIHBsdWdpbiBkb2NzCgoyMDEyLTEyLTE0IDE1OjEzOjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSAgZG9jczogYWRkIHNjYWxldGVtcG8gdG8gZG9jcwoKMjAxMi0xMS0wNiAxMzozNjozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvZngvYXVkaW9meC5jOgoJICBhdWRpb2Z4OiBtb3ZlIHNjYWxldGVtcG8gZWxlbWVudCBmcm9tIC1iYWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzI2MgoKMjAxMi0xMC0yMyAxNDozMzoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IEZpeCBldmVudCBsZWFrCgoyMDEyLTEwLTIzIDE0OjMyOjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogRml4IHRpbWVzdGFtcCB0cmFja2luZwoKMjAxMi0xMC0yMyAxNDowNjozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IEltcGxlbWVudCBMQVRFTkNZIHF1ZXJ5CgoyMDEyLTEwLTIzIDEzOjM5OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uYzoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5oOgoJICBzY2FsZXRlbXBvOiBTdG9yZSBpbnN0YW5jZSBwcml2YXRlIGRhdGEgaW4gdGhlIGluc3RhbmNlIHN0cnVjdAoJICBHZXR0aW5nIGl0IG92ZXIgYW5kIG92ZXIgYWdhaW4gdmlhIEdfVFlQRV9JTlNUQU5DRV9HRVRfUFJJVkFURSgpCgkgIGlzIHJlYWxseSBzbG93LgoKMjAxMi0xMC0xNyAxNzozNDoyNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IHVzZSBnc3RfZWxlbWVudF9jbGFzc19zZXRfc3RhdGljX21ldGFkYXRhKCkKCSAgd2hlcmUgcG9zc2libGUuIEF2b2lkcyBzb21lIHN0cmluZyBjb3BpZXMuIEFsc28gcmUtaW5kZW50CgkgIHNvbWUgc3R1ZmYuIEFsc28gc29tZSBpbmRlbnQgZml4ZXMgaGVyZSBhbmQgdGhlcmUuCgoyMDEyLTA5LTE0IDE3OjA4OjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogcmVwbGFjZSBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUgd2l0aCBnc3RfZWxlbWVudF9jbGFzc19zZXRfbWV0YWRhdGEKCjIwMTItMDktMTQgMTY6NDU6MzQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IGZmbXBlZ2NvbG9yc3BhY2UgaXMgbm8gbW9yZQoKMjAxMi0wNC0wNSAxODowMjo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvcGx1Z2luLmM6CgkgIHNjYWxldGVtcG86IFVwZGF0ZSBmb3IgR1NUX1BMVUdJTl9ERUZJTkUoKSBBUEkgY2hhbmdlcwoKMjAxMi0wMy0xOCAxODozMjo1NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IHBvcnQgdG8gMC4xMQoKMjAxMS0wNy0wNyAxMDo1Mjo1MCAtMDcwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBpbXByb3ZlIHRoZSBkb2NzCgkgIEZpeCB0aGUgc3ludGF4LCBhZGQgbW9yZSBleHBsYW5hdGlvbiBhbmQgeHJlZiB0aGUgcHJvcGVydGllcy4KCjIwMTEtMDMtMjIgMTM6NDY6NDIgKzAxMDAgIENocmlzIEUgSm9uZXMgPGNocmlzQGNocmlzZWpvbmVzLmNvbT4KCgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogQ29ycmVjdGx5IGhhbmRsZSBuZXdzZWdtZW50IGV2ZW50cyB3aXRoIHN0b3A9PS0xCgkgIEZpeGVzIGJ1ZyAjNjQ1NDIwLgoKMjAxMC0xMC0xOSAxMzo0MzoxNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBhZGQgbWlzc2luZyBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIGZsYWdzCgkgIENhbm9uaWNhbGl6ZSBwcm9wZXJ0eSBuYW1lcyBhcyBuZWVkZWQuCgoyMDEwLTAzLTE4IDE3OjMwOjI2ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzID0+IGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZQoKMjAwOS0xMS0wNSAxMzo0MDozOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IHByb3Blcmx5IHVwZGF0ZSBuZXcgc2VnbWVudHMKCSAgU2NhbGV0ZW1wbyB3YXMgbWlzc2luZyBhbiB1cGRhdGUgb2YgJ3N0b3AnIGluCgkgIG5ldyBzZWdtZW50IHBhcmFtZXRlcnMgd2hlbiBwdXNoaW5nIGl0IGRvd25zdHJlYW0sCgkgIHdoaWNoIGNhdXNlZCBmaWxlcyB0byBlbmQgZWFybGllciB3aGVuIHJhdGUgPCAxLgoJICBGaXhlcyAjNTk5OTAzCgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBCYXN0aWFuIEhlY2h0IDxoZWNodGJAZ21haWwuY29tPgoKMjAwOS0wNi0xNCAyMDowMDo1MSArMDIwMCAgTWF4aW1pbGlhbiBIw7ZnbmVyIDxwYm1heGlAaG9lZ25lcnMuZGU+CgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IEV4cGxpY2l0ZWx5IGNhc3QgdG8gc2lnbmVkIGludGVnZXJzIHRvIGZpeCBhIHNlZ2ZhdWx0CgkgIEZpeGVzIGJ1ZyAjNTg1NjYwLgoKMjAwOS0wMi0xMyAxMjoxODo0OCAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IERvIG5vdCB1c2Ugdm9pZCBwb2ludGVyIGFyaXRobWV0aWMuCgoyMDA4LTEwLTMwIDEyOjEzOjE4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzY2FsZXRlbXBvOiBSZXR1cm4gdGhlIHJlc3VsdCBvZiBwYXJlbnRfY2xhc3MtPmV2ZW50KCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJICBSZXR1cm4gdGhlIHJlc3VsdCBvZiBwYXJlbnRfY2xhc3MtPmV2ZW50KCkuCgoyMDA4LTA4LTMxIDEyOjIwOjMzICswMDAwICBSb3YgSnV2YW5vIDxyb3ZqdXZhbm9AdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgQWRkIHNjYWxldGVtcG8gcGx1Z2luLCB3aGljaCBhbGxvd3MgdG8gc2NhbGUgdGhlIHNwZWVkIG9mIGF1ZGlvIHdpdGhvdXQgY2hhbmdpbmcgdGhlIHBpdGNoIGJ5IGhhbmRsaW5nIHNlZWtzIHdpdGggYSByLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUm92IEp1dmFubyA8cm92anV2YW5vIGF0IHVzZXJzIGRvdCBzb3VyY2Vmb3JnZSBkb3QgbmV0PgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSAgKiBleGFtcGxlcy9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJICAqIGV4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1ndWkuYzogKHBvcF9zdGF0dXNfYmFyKSwKCSAgKHN0YXR1c19iYXJfcHJpbnRmKSwgKGRlbW9fZ3VpX3NlZWtfYmFyX2Zvcm1hdCksICh1cGRhdGVfcG9zaXRpb24pLAoJICAoZGVtb19ndWlfc2Vla19iYXJfY2hhbmdlKSwgKGRlbW9fZ3VpX2RvX2NoYW5nZV9yYXRlKSwKCSAgKGRlbW9fZ3VpX2RvX3NldF9yYXRlKSwgKGRlbW9fZ3VpX2RvX3JhdGVfZW50ZXJlZCksCgkgIChkZW1vX2d1aV9kb190b2dnbGVfYWR2YW5jZWQpLCAoZGVtb19ndWlfZG9fdG9nZ2xlX2Rpc2FibGVkKSwKCSAgKGRlbW9fZ3VpX2RvX3NlZWspLCAoZGVtb19ndWlfZG9fcGxheSksIChkZW1vX2d1aV9kb19wYXVzZSksCgkgIChkZW1vX2d1aV9kb19wbGF5X3BhdXNlKSwgKGRlbW9fZ3VpX2RvX29wZW5fZmlsZSksCgkgIChkZW1vX2d1aV9kb19wbGF5bGlzdF9wcmV2KSwgKGRlbW9fZ3VpX2RvX3BsYXlsaXN0X25leHQpLAoJICAoZGVtb19ndWlfZG9fYWJvdXRfZGlhbG9nKSwgKGRlbW9fZ3VpX2RvX3F1aXQpLAoJICAoZGVtb19ndWlfcmVxdWVzdF9zZXRfc3RyaWRlKSwgKGRlbW9fZ3VpX3JlcXVlc3Rfc2V0X292ZXJsYXApLAoJICAoZGVtb19ndWlfcmVxdWVzdF9zZXRfc2VhcmNoKSwgKGRlbW9fZ3VpX3JhdGVfY2hhbmdlZCksCgkgIChkZW1vX2d1aV9wbGF5aW5nX3N0YXJ0ZWQpLCAoZGVtb19ndWlfcGxheWluZ19wYXVzZWQpLAoJICAoZGVtb19ndWlfcGxheWluZ19lbmRlZCksIChkZW1vX2d1aV9wbGF5ZXJfZXJyb3JlZCksCgkgIChkZW1vX2d1aV9zdHJpZGVfY2hhbmdlZCksIChkZW1vX2d1aV9vdmVybGFwX2NoYW5nZWQpLAoJICAoZGVtb19ndWlfc2VhcmNoX2NoYW5nZWQpLCAoZGVtb19ndWlfc2V0X3BsYXllcl9mdW5jKSwKCSAgKGRlbW9fZ3VpX3NldF9wbGF5bGlzdF9mdW5jKSwgKGJ1aWxkX2d2YWx1ZV9hcnJheSksCgkgIChjcmVhdGVfYWN0aW9uKSwgKGRlbW9fZ3VpX3Nob3dfZnVuYyksIChkZW1vX2d1aV9zZXRfcGxheWVyKSwKCSAgKGRlbW9fZ3VpX3NldF9wbGF5bGlzdCksIChkZW1vX2d1aV9zaG93KSwgKGRlbW9fZ3VpX2dldF9wcm9wZXJ0eSksCgkgIChkZW1vX2d1aV9zZXRfcHJvcGVydHkpLCAoZGVtb19ndWlfaW5pdCksIChkZW1vX2d1aV9jbGFzc19pbml0KSwKCSAgKGRlbW9fZ3VpX2dldF90eXBlKToKCSAgKiBleGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tZ3VpLmg6CgkgICogZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLW1haW4uYzogKGhhbmRsZV9lcnJvcl9tZXNzYWdlKSwKCSAgKGhhbmRsZV9xdWl0KSwgKG1haW4pOgoJICAqIGV4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1wbGF5ZXIuYzogKG5vX3BpcGVsaW5lKSwKCSAgKGRlbW9fcGxheWVyX2V2ZW50X2xpc3RlbmVyKSwgKGRlbW9fcGxheWVyX3N0YXRlX2NoYW5nZWRfY2IpLAoJICAoZGVtb19wbGF5ZXJfZW9zX2NiKSwgKGRlbW9fcGxheWVyX2J1aWxkX3BpcGVsaW5lKSwgKF9zZXRfcmF0ZSksCgkgIChkZW1vX3BsYXllcl9zY2FsZV9yYXRlX2Z1bmMpLCAoZGVtb19wbGF5ZXJfc2V0X3JhdGVfZnVuYyksCgkgIChfc2V0X3N0YXRlX2FuZF93YWl0KSwgKGRlbW9fcGxheWVyX2xvYWRfdXJpX2Z1bmMpLAoJICAoZGVtb19wbGF5ZXJfcGxheV9mdW5jKSwgKGRlbW9fcGxheWVyX3BhdXNlX2Z1bmMpLCAoX3NlZWtfdG8pLAoJICAoZGVtb19wbGF5ZXJfc2Vla19ieV9mdW5jKSwgKGRlbW9fcGxheWVyX3NlZWtfdG9fZnVuYyksCgkgIChkZW1vX3BsYXllcl9nZXRfcG9zaXRpb25fZnVuYyksIChkZW1vX3BsYXllcl9nZXRfZHVyYXRpb25fZnVuYyksCgkgIChkZW1vX3BsYXllcl9zY2FsZV9yYXRlKSwgKGRlbW9fcGxheWVyX3NldF9yYXRlKSwKCSAgKGRlbW9fcGxheWVyX2xvYWRfdXJpKSwgKGRlbW9fcGxheWVyX3BsYXkpLCAoZGVtb19wbGF5ZXJfcGF1c2UpLAoJICAoZGVtb19wbGF5ZXJfc2Vla19ieSksIChkZW1vX3BsYXllcl9zZWVrX3RvKSwKCSAgKGRlbW9fcGxheWVyX2dldF9wb3NpdGlvbiksIChkZW1vX3BsYXllcl9nZXRfZHVyYXRpb24pLAoJICAoZGVtb19wbGF5ZXJfZ2V0X3Byb3BlcnR5KSwgKGRlbW9fcGxheWVyX3NldF9wcm9wZXJ0eSksCgkgIChkZW1vX3BsYXllcl9pbml0KSwgKGRlbW9fcGxheWVyX2NsYXNzX2luaXQpLAoJICAoZGVtb19wbGF5ZXJfZ2V0X3R5cGUpOgoJICAqIGV4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1wbGF5ZXIuaDoKCSAgKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmM6IChiZXN0X292ZXJsYXBfb2Zmc2V0X2Zsb2F0KSwKCSAgKGJlc3Rfb3ZlcmxhcF9vZmZzZXRfczE2KSwgKG91dHB1dF9vdmVybGFwX2Zsb2F0KSwKCSAgKG91dHB1dF9vdmVybGFwX3MxNiksIChmaWxsX3F1ZXVlKSwgKHJlaW5pdF9idWZmZXJzKSwKCSAgKGdzdF9zY2FsZXRlbXBvX3RyYW5zZm9ybSksIChnc3Rfc2NhbGV0ZW1wb190cmFuc2Zvcm1fc2l6ZSksCgkgIChnc3Rfc2NhbGV0ZW1wb19zaW5rX2V2ZW50KSwgKGdzdF9zY2FsZXRlbXBvX3NldF9jYXBzKSwKCSAgKGdzdF9zY2FsZXRlbXBvX2dldF9wcm9wZXJ0eSksIChnc3Rfc2NhbGV0ZW1wb19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NjYWxldGVtcG9fYmFzZV9pbml0KSwgKGdzdF9zY2FsZXRlbXBvX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NjYWxldGVtcG9faW5pdCk6CgkgICogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5oOgoJICAqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG9wbHVnaW4uYzogKHBsdWdpbl9pbml0KToKCSAgQWRkIHNjYWxldGVtcG8gcGx1Z2luLCB3aGljaCBhbGxvd3MgdG8gc2NhbGUgdGhlIHNwZWVkIG9mIGF1ZGlvIHdpdGhvdXQKCSAgY2hhbmdpbmcgdGhlIHBpdGNoIGJ5IGhhbmRsaW5nIHNlZWtzIHdpdGggYSByYXRlIT0xLjAuCgkgIEludGVncmF0ZSBpdCBpbnRvIHRoZSBkb2NzIGFuZCBhZGQgdGhlIGV4YW1wbGUgYXBwbGljYXRpb24gZm9yIGl0LgoJICBGaXhlcyBidWcgIzUzNzcwMC4KCjIwMTItMTItMTMgMTI6MzY6MjAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgY2hlY2s6IGFkZCAoYnV0IGRpc2FibGUpIG1vcmUgcnRwIGppdHRlcmJ1ZmZlciB0ZXN0cwoJICBUZXN0cyBuZWVkIHRvIGJlIHBvcnRlZCB0byAxLjAgYmVmb3JlIHRoZXkgY2FuIGJlIGVuYWJsZWQgYnV0IGFkZGVkIGhlcmUgc28gdGhleQoJICBkb24ndCBnZXQgZm9yZ290dGVuLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NzgzOAoKMjAxMi0wMS0xMyAwMToxMTozMSArMDEwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogYnVuZGxlIHRvZ2V0aGVyIGxhdGUgbG9zdC1ldmVudHMKCSAgVGhlIHNjZW5hcmlvIHdoZXJlIHlvdSBoYXZlIGEgZ2FwIGluIGEgc3RlYWR5IGZsb3cgb2YgcGFja2V0cyBvZgoJICBzYXkgMTAgc2Vjb25kcyAoNTAwIHBhY2tldHMgb2Ygd2l0aCBkdXJhdGlvbiBvZiAyMG1zKSwgdGhlIGppdHRlcmJ1ZmZlcgoJICB3aWxsIGlkbGUgdXAgdW50aWwgaXQgcmVjZWl2ZXMgdGhlIGZpcnN0IGJ1ZmZlciBhZnRlciB0aGUgZ2FwLCBidXQgd2lsbAoJICB0aGVuIGdvIG9uIHRvIHByb2R1Y2UgNDk5IGxvc3QtZXZlbnRzLCB0byAiY292ZXIgdXAiIHRoZSBnYXAuCgkgIE5vdyB0aGlzIGlzIG9idmlvdXNseSB3cm9uZywgc2luY2UgdGhlIGxhc3QgcG9zc2libGUgdGltZSBmb3IgdGhlIGVhcmxpZXN0CgkgIGxvc3QtZXZlbnRzIHRvIGJlIHBsYXllZCBvdXQgaGFzIG9idmlvdXNseSBleHBpcmVkLCBidXQgdGhlIGZhY3QgdGhhdAoJICB0aGUgaml0dGVyYnVmZmVyIGhhcyBhICJsZW5ndGgiLCByZXByZXNlbnRlZCB3aXRoIGl0cyBvd24gbGF0ZW5jeSBjb21iaW5lZAoJICB3aXRoIHRoZSB0b3RhbCBsYXRlbmN5IGRvd25zdHJlYW0sIGFsbG93cyBmb3IgY292ZXJpbmcgdXAgYXQgbGVhc3Qgc29tZQoJICBvZiB0aGlzIGdhcC4KCSAgU28gaW4gdGhlIGNhc2Ugb2YgdGhlICJsZW5ndGgiIGJlaW5nIDIwMG1zLCB3aGlsZSBoYXZpbmcgcmVjZWl2ZWQgcGFja2V0CgkgIDUwMCwgdGhlIGppdHRlcmJ1ZmZlciBzaG91bGQgc3RpbGwgY3JlYXRlIGEgdGltZW91dCBmb3IgcGFja2V0IDQ5MSwgd2hpY2gKCSAgd2lsbCBoYXZlIGl0cyB0aW1lIGV4cGlyZSBhdCAxMCwwMiBzZWNvbmRzLCBzcGVjaWFsbHkgc2luY2UgaXQgbWlnaHQKCSAgYWN0dWFsbHkgYXJyaXZlIGluIHRpbWUhIEJ1dCBvYnZpb3VzbHksIHdhaXRpbmcgZm9yIHBhY2tldCAxMDAsIHRoYXQgaGFkCgkgIGl0cyB0aW1lIGV4cGlyZSBhdCAyIHNlY29uZHMsIChyZW1lbWJlcmluZyB0aGF0IHRoZSBjdXJyZW50IHRpbWUgaXMgMTApCgkgIGlzIHVzZWxlc3MuLi4KCSAgVGhlIHBhdGNoIHdpbGwgY3JlYXRlIG9uZSAiYmlnIiBsb3N0LWV2ZW50IGZvciB0aGUgZmlyc3QgNDkwIHBhY2tldHMsCgkgIGFuZCB0aGVuIGdvIG9uIHRvIGNyZWF0ZSBzaW5nbGUgb25lcyBpZiB0aGV5IGNhbiByZWFjaCB0aGVpcgoJICBwbGF5b3V0IGRlYWRsaW5lLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NzgzOAoKMjAxMi0xMi0xMyAwOToyNzoxNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IFRDUCByZWNvbm5lY3QKCSAgSWdub3JlIG90aGVyIGNvbW1hbmRzIHdoZW4gcmVjb25uZWN0aW5nLCBvdGhlcndpc2UgdGhlIGxvb3AgZnVuY3Rpb24gd291bGQgcGF1c2UKCSAgYW5kIHRoZSByZWNvbm5lY3Rpb24gd291bGQgbm90IGhhcHBlbi4gQ29udGludWUgbG9vcGluZyBhZnRlciBkb2luZyBhIHJlY29ubmVjdAoJICBzbyB0aGF0IHdlIGhhdmUgYSBjaGFuY2UgdG8gYWN0dWFsbHkgcmVhZCB0aGUgbmV3IGRhdGEuCgoyMDEyLTEyLTEzIDAxOjAyOjM0ICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmg6CgkgIGRpcmVjdHNvdW5kLCB3YXZlZm9ybTogZml4IGNvbXBpbGF0aW9uIGVycm9ycyBjYXVzZWQgYnkgY2lyY3VsYXIgaW5jbHVkZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDEyNAoKMjAxMi0xMi0xMiAxNzozNTowNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2phY2svZ3N0amFja3V0aWwuaDoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlcHJvYmUuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkqIHN5cy9vc3MvY29tbW9uLmg6CgkqIHN5cy9vc3MvZ3N0b3NzYXVkaW8uYzoKCSogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSogc3lzL29zczQvb3NzNC1hdWRpby5oOgoJICBleHQvc3lzOiBGaXggc29tZSBjb21waWxhdGlvbiBlcnJvcnMgY2F1c2VkIGJ5IGNpcmN1bGFyIGluY2x1ZGVzCgoyMDEyLTEyLTEyIDEyOjA3OjM0ICswMTAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgIGRlaW50ZXJsZWF2ZTogcHJvcGVybHkgc2V0IHNyY3BhZCBjaGFubmVsIHBvc2l0aW9uCgkgIFRoZSBzcmMgcGFkIGNhcHMgYWx3YXlzIGRlc2NyaWJlIGEgc2luZ2xlIGF1ZGlvIGNoYW5uZWwgc28gb25seSB0aGUKCSAgZmlyc3QgcG9zaXRpb24gbWF0dGVycyBpZiBkZWludGVybGVhdmUgaXMgY29uZmlndXJlZCB0byBrZWVwIGNoYW5uZWwKCSAgcG9zaXRpb25zIGluIGl0cyBzcmMgcGFkcy4KCjIwMTItMTItMTIgMTE6MDk6NDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHRpbWVvdXQgb24gdWRwc3JjIGlzIGluIG5hbm9zZWNvbmRzCgoyMDEyLTEyLTEyIDExOjA4OjEzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBpbXByb3ZlIHRpbWVvdXRzCgkgIE1ha2UgaXQgcG9zc2libGUgdG8gc2V0IHRoZSB0aW1lb3V0IGFmdGVyIHdlIHdlbnQgdG8gdGhlIFJFQURZIHN0YXRlIGJ5IHVzaW5nCgkgIHRoZSB0aW1lb3V0IHdoZW4gY2hlY2tpbmcgdGhlIGNvbmRpdGlvbi4gVGhpcyBhbHNvIG1ha2VzIGl0IHBvc3NpYmxlIHRvIHNldCB0aGUKCSAgdGltZW91dCB3aXRoIGEgaGlnaGVyIGdyYW51bGFyaXR5IHRoYW4gc2Vjb25kcy4KCjIwMTItMTItMTEgMTM6MDA6NDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHkuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyYmxlbmQuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9zY2FsZXJib2IuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3ZmaXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlYmZmLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmV0ZmYuYzoKCSAgZGVpbnRlcmxhY2U6IGFkZCBzdXBwb3J0IGZvciBzdHJpZGVzCgkgIEltcGxlbWVudCBzdHJpZGUgc3VwcG9ydCBjb3JyZWN0bHkgYnkgdGFraW5nIGl0IGZyb20gdGhlIEdzdFZpZGVvRnJhbWUuCgkgIFByb3Bvc2UgYSBidWZmZXJwb29sIHVwc3RyZWFtIHdoZW4gbm90IG9wZXJhdGluZyBpbiBwYXNzdGhyb3VnaC4KCjIwMTItMDktMjcgMTI6MTc6NTggLTA3MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdWUgPGFsZWl4QG9ibG9uZy5jb20+CgoJICBydHNwc3JjOiBkbyBub3QgY2hhbmdlIHN0YXRlIHRvIFBMQVlJTkcgaWYgY3VycmVudGx5IGNoYW5pbmcgc3RhdGUKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmMgKGdzdF9ydHNwc3JjX3BsYXkpOiBzdGF0ZSBjaGFuZ2UgbWlnaHQgYmUKCSAgaGFwcGVuaW5nIGluIHRoZSBhcHBsaWNhdGlvbiB0aHJlYWQsIHNvIHdlIGRvbid0IGNoYW5nZSB0aGUgc3RhdGUgdG8KCSAgUExBWUlORyBpbiB0aGUgZ3N0cnRzcHNyYyB0aHJlYWQgdW5sZXNzIGl0IGlzIHNhZmUuCgkgIEEgc3BlY2lmaWMgY2FzZSBpcyB3aGVuIGNoYW5pbmcgdGhlIHN0YXRlIHRvIE5VTEwgZnJvbSB0aGUgYXBwbGljYXRpb24KCSAgdGhyZWFkLiBUaGlzIHdpbGwgc3luY2hyb25vdXNseSB0cnkgdG8gc3RvcCB0aGUgdGFzayAod2l0aCB0aGUgZWxlbWVudAoJICBzdGF0ZSBsb2NrIGFjcXVpcmVkKSwgYnV0IHdlIHdpbGwgdHJ5IGEgZ3N0X2VsZW1lbnRfc2V0X3N0YXRlIGZyb20KCSAgZ3N0cnRzcHNyYyB0aHJlYWQgd2hpY2ggd2lsbCBibG9jayBvbiB0aGUgZWxlbWVudCBzdGF0ZSBsb2NrIGNhdXNpbmcgYQoJICBkZWFkbG9jay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDMxMgoKMjAxMi0xMi0xMCAxMTo0NDoyNiArMDAwMCAgQWxleGV5IENoZXJub3YgPDRlcm5vdkBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogRml4IHJlc2l6aW5nIHRoZSBDb2NvYSB3aW5kb3cgb24gcmVjZWl2aW5nIG5ldyBjYXBzCgkgIEZpeGVzIGJ1ZyAjNjg5NzMyLgoKMjAxMi0xMS0zMCAyMDozNzo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJICB2NGwyc3JjOiBsaW5rIGFnYWluc3QgLWxydCBmb3IgY2xvY2tfZ2V0dGltZSgpCgkgIE5lZWQgdG8gZXhwbGljaXRseSBsaW5rIGFnYWluc3QgLWxydCBmb3IgY2xvY2tfZ2V0dGltZSgpLCB3aGljaAoJICB3ZSBkb24ndCBnZXQgaW4gdGhlIGxpYnMgYW55IG1vcmUsIGJlY2F1c2UgY29yZSBtb3ZlZCB0aGUKCSAgZ21vZHVsZS1uby1leHBvcnQtMi4wIGJpdCBpbnRvIFJlcXVpcmVzLlByaXZhdGUuCgkgIE5vdCByZXF1aXJlZCBmb3IgbmV3ZXIgZ2xpYmMsIGJ1dCBmb3Igb2xkZXIgb25lcywgc28gY2hlY2sgZm9yIHRoYXQuCgoyMDEyLTExLTMwIDE3OjIyOjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkgIHNob3V0MnNlbmQ6IGFjY2VwdCBhdWRpby93ZWJtIGFzIHdlbGwgYXMgdmlkZW8vd2VibQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg5MzM2CgoyMDEyLTExLTMwIDE3OjIwOjE4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzoKCSAgd2VibXV4OiBmaXggbGlua2luZyB3aXRoIHNob3V0MnNlbmQgZWxlbWVudAoJICBTaG91dDJzZW5kIG9ubHkgYWNjZXB0cyB3ZWJtIGZvcm1hdCwgbm90IG1hdHJvc2thLCBidXQgZHVlCgkgIHRvIGEgYnVnIGluIG1hdHJvc2thbXV4LCB3ZWJtbXV4J3Mgc291cmNlIHBhZCBpcyBhbHNvIGNyZWF0ZWQKCSAgd2l0aCB0aGUgbWF0cm9za2Egc291cmNlIHBhZCB0ZW1wbGF0ZSBhcyBwYWQgdGVtcGxhdGUsIHdoaWNoCgkgIG1ha2VzIHRoZSBsaW5rIGZ1bmN0aW9uIHRoaW5rIGl0IGNhbid0IGxpbmsgd2VibW11eCB0byBzaG91dDJzZW5kLgoJICBBbHNvIGFkZCB1bml0IHRlc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODkzMzYKCjIwMTItMTEtMjcgMTE6MTM6MzcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHVzZSBuZXcgb3B0aW9uIHBhcnNlciBmdW5jdGlvbgoKMjAxMi0xMS0yNiAxNToxNzoxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9sYXcvbXVsYXctY29udmVyc2lvbi5jOgoJICBsYXc6IGZpeCBhY2NpZGVudGFsIGZpbGUgcGVybWlzc2lvbnMgY2hhbmdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODc0NjkKCjIwMTItMTEtMjUgMTY6MDU6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IHJlbW92ZSB1bnVzZWQgZGVmaW5lCgoyMDEyLTExLTI1IDE0OjE2OjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGF2b2lkIGNyaXRpY2FscyBpZiB1bmtub3duIGZvdXJjYyBoYXMgc3BhY2UgYXQgYmVnaW5uaW5nIG9yIGVuZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgyOTM2CgoyMDEyLTExLTI0IDE5OjMyOjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBmaXggYm9yZGVyIGZpbGxpbmcgZm9yIHBsYW5hciBZVVYgZm9ybWF0cwoJICBXZSB3b3VsZCBnZXQgYSBncmVlbiBib3JkZXIgaW5zdGVhZCBvZiBhIGJsYWNrIG9uZSwgZm9yCgkgIGV4YW1wbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQ5OTEKCjIwMTItMTEtMjQgMTQ6Mjc6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbGF3L211bGF3LWNvbnZlcnNpb24uYzoKCSAgbXVsYXc6IGNvbnN0LWlmeSBzb21lIGFycmF5cwoKMjAxMi0xMS0wMiAxMjozODo0NCAtMDQwMCAgUm9sYW5kIEtyaWthdmEgPHJrcmlrYXZhQGdtYWlsLmNvbT4KCgkqIGdzdC9sYXcvbXVsYXctY29udmVyc2lvbi5jOgoJICBtdWxhd2RlYzogZml4IGludGVnZXIgb3ZlcnJ1bgoJICBUaGVyZSBtaWdodCBiZSBtb3JlIHRoYW4gNjU1MzUgc2FtcGxlcyBpbiBhIGNodW5rIG9mIGRhdGEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODc0NjkKCjIwMTItMTEtMjIgMTE6MzQ6MzEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHBhdXNlIHRoZSB0YXNrIGluc3RlYWQgb2Ygc3Bpbm5pbmcKCSAgQWN0dWFsbHkgcGF1c2UgdGhlIGxvb3AgdGFzayBpbnN0ZWFkIG9mIHNwaW5uaW5nIGZvcmV2ZXIuCgoyMDEyLTExLTE5IDAzOjMxOjM3IC0wNTAwICBKb3NodWEgTS4gRG9lIDxvc3NAbnZsLmFybXkubWlsPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICB2aWRlb2ZsaXA6IEFkZCBncmF5IDgvMTYgc3VwcG9ydAoKMjAxMi0xMS0xOSAxMToyNToxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYjQ5N2M0ZiB0byBhNzJmYWVhCgoyMDEyLTExLTE2IDE1OjM4OjI5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBoYW5kbGUgc2VnbWVudCBldmVudAoJICBNYWtlIGEgc2VnbWVudCBldmVudCB3aGVuIHdlIHNlbmQgYSBuZXcgcmFuZ2UgaGVhZGVyIHRvIGEgY2xpZW50IChmaXJzdCBQTEFZCgkgIHJlcXVlc3Qgb3IgYWZ0ZXIgYSBzZWVrKS4gU2VuZCB0aGUgc2VnbWVudCBldmVudCBpbiBpbnRlcmxlYXZlZCBtb2RlLgoJICBDbGVhbiB0aGUgc2VnbWVudCBldmVudCBvbiBjbGVhbnVwCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODgzODIKCjIwMTItMTEtMTYgMTU6MTg6MDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBjaGVjayBmb3IgYWN0aXZlIHN0cmVhbXMKCSAgQSBzdHJlYW0gY2FuIGJlIGFjdGl2ZSB3aXRob3V0IGEgc3JjcGFkIHlldCBhbmQgd2Ugd2FudCB0byBzZW5kCgkgIGV2ZW50cyBvbiB0aG9zZSBzdHJlYW1zIGFzIHdlbGwuCgoyMDEyLTExLTE2IDEzOjMxOjA0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBjcmVhdGUgYW5kIGFkZCBwYWRzIG91dHNpZGUgb2YgbG9jawoJICBDcmVhdGUgYW5kIGFkZCB0aGUgZ2hvc3RwYWQgZm9yIHRoZSBuZXcgc3RyZWFtIG91dHNpZGUgb2YgdGhlIGxvY2sgYmVjYXVzZSBpdAoJICBpcyBub3QgbmVlZGVkIGFuZCBjYXVzZXMgZGVhZGxvY2tzLgoKMjAxMi0wOS0xMiAyMjoxMToyMCAtMDcwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1ZSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkgIHJ0c3BzcmM6IGFsbG93IGNsaWVudCB0byBkaXNhYmxlIHJlY29ubmVjdGlvbgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuW2NoXTogYWRkZWQgbmV3ICJ1ZHAtcmVjb25uZWN0IiBwcm9wZXJ0eS4gQmVmb3JlLAoJICBydHNwc3JjIGFsd2F5cyB0cmllZCB0byByZWNvbm5lY3QgdG8gdGhlIHNlcnZlciB3aGVuIHRoZSBSVFNQCgkgIGNvbm5lY3Rpb24gd2FzIGNsb3NlZCBieSB0aGUgc2VydmVyLiBUaGlzIHByb3BlcnR5IGxldHMgdGhlIHVzZXIKCSAgZGVjaWRlIHdoZXRoZXIgaXQgd2FudHMgcnRzcHNyYyB0byByZWNvbm5lY3Qgb3Igbm90LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzOTEyCgoyMDEyLTExLTE2IDEyOjE2OjA1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBjbGVhciB2YXJpYWJsZXMgYmVmb3JlIHJldHJ5aW5nCgkgIEVsc2Ugd2UgbWlnaHQgdW5yZWYgYW4gb2xkIHVkcHNyYyB0d2ljZSBpbiBjbGVhbnVwLgoKMjAxMi0xMS0xNiAxMjowMDoxNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcHJvcG9zZSBwb3J0cyBpbiBtdWx0aWNhc3QKCSAgV2hlbiB0aGUgdXNlciBjb25maWd1cmVkIGEgcG9ydC1yYW5nZSwgcHJvcG9zZSBwb3J0cyBmcm9tIHRoaXMgcmFuZ2UKCSAgYXMgdGhlIG11bHRpY2FzdCBwb3J0cy4gVGhlIHNlcnZlciBpcyBmcmVlIHRvIGlnbm9yZSB0aGlzIHJlcXVlc3QgYnV0IGlmIGl0CgkgIGhvbm91cnMgaXQsIGluY3JlbWVudCBvdXIgcG9ydHMgc28gdGhhdCB3ZSBzdWdnZXN0IHRoZSBuZXh0IHBvcnQgcGFpciBmb3IgdGhlCgkgIG5leHQgc3RyZWFtLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM5NDIwCgoyMDEyLTExLTE2IDExOjU4OjUzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhZGQgbW9yZSBkZWJ1ZwoKMjAxMi0xMS0xNiAwOTowOTozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBtdWx0aWZpbGVzaW5rOiBwb3N0IG1lc3NhZ2VzIGluIG1heC1zaXplIG1vZGUgYXMgd2VsbAoJICBObyByZWFzb24gbm90IHRvIHJlYWxseS4KCjIwMTItMTEtMTUgMTQ6Mzc6NDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IHBvc3QgZXJyb3IgYmVmb3JlIHN0b3BwaW5nCgoyMDEyLTExLTE0IDAwOjEzOjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSAgZ3N0X2FkYXB0ZXJfcHJldl90aW1lc3RhbXAgLT4gZ3N0X2FkYXB0ZXJfcHJldl9wdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTU5OAoKMjAxMi0xMS0xMiAxOToyMzo0MSArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICB2aWRlb2ZsaXA6IEFkZCBOVjEyL05WMjEgc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg4MjI1CgoyMDEyLTExLTEyIDEzOjAxOjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogRG9uJ3QgbGVhayBHc3RWaWRlb0NvZGVjRnJhbWVzIHRoYXQgY2F1c2UgdGhlIGNyZWF0aW9uIG9mIGludmlzaWJsZSBmcmFtZXMKCSAgRml4ZXMgYnVnICM2ODI3MTQuCgoyMDEyLTExLTEyIDExOjQ3OjE3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2U6IFVzZSBuZXcgR1R5cGUgZm9yIEdUaHJlYWQgaW5zdGVhZCBvZiBqdXN0IEdfVFlQRV9QT0lOVEVSCgoyMDEyLTExLTEyIDExOjE0OjM0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogcHJvdGVjdCBhZ2FpbnN0IGludmFsaWQgUlRQIHBhY2tldHMKCjIwMTItMTEtMTIgMTA6NDQ6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgcG5nZGVjOiBBY3R1YWxseSB1c2UgdGhlIHN0b3AoKSB2ZnVuYyBpbXBsZW1lbnRhdGlvbgoKMjAxMi0xMS0xMiAxMDozMTo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnB4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IEZpeCBsYXN0IGNvbW1pdAoKMjAxMi0xMS0xMiAxMDoxMDoxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICBwbmdkZWM6IEtlZXAgdGhlIGlucHV0IHN0YXRlIGluIHJlc2V0KCkKCSAgSXQncyBzdGlsbCB2YWxpZCBhZnRlciBhIGZsdXNoIGFuZCB3ZSBtaWdodCBub3QgZ2V0IGEgbmV3IG9uZS4KCjIwMTItMTEtMTIgMTA6MDg6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBBbHNvIGRlc3Ryb3kgZGVjb2RlciBpbiBzZXRfZm9ybWF0KCkgaWYgaXQgd2FzIGNyZWF0ZWQgYWxyZWFkeQoJICBGaXhlcyBhIG1lbW9yeSBsZWFrLgoKMjAxMi0xMS0xMiAwOTo0ODo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnB4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IERvbid0IGNsZWFyIGlucHV0IHN0YXRlIGluIHJlc2V0KCkKCSAgVGhlIGlucHV0IHN0YXRlIGlzIHN0aWxsIHZhbGlkIGFmdGVyIGZsdXNoaW5nIHVudGlsCgkgIG5ldyBjYXBzIGFycml2ZS4KCSAgRml4ZXMgYnVnICM2ODgwOTIuCgoyMDEyLTExLTEwIDE4OjIxOjI4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgdmlkZW9jcm9wOiBhZGQgc3VwcG9ydCBmb3IgWVYxMgoJICBXZSBjYW4gZG8gSTQyMCwgc28gd2UgY2FuIGRvIFlWMTIgYXMgd2VsbC4KCjIwMTItMTEtMTAgMTI6Mzk6MDggKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIG11bHRpZmlsZXNpbms6IGRvbid0IHdyaXRlIHN0cmVhbSBoZWFkZXJzIHdpdGgga2V5LXVuaXQtZXZlbnQKCSAgRG9uJ3Qgd3JpdGUgc3RyZWFtIGhlYWRlcnMsIGxldCB1cHN0cmVhbSBlbGVtZW50cyBpbnNlcnQgdGhlbSBpbiB0aGUgc3RyZWFtIGlmCgkgIGFsbF9oZWFkZXJzPXRydWUgaXMgc2V0IGluIGtleSB1bml0IGV2ZW50cy4KCjIwMTItMTEtMDkgMTM6Mjc6MTYgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmg6CgkgIHZpZGVvY3JvcDogQWRkIE5WMTIvTlYyMSBzdXBwb3J0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODc5NjQKCjIwMTItMTEtMDkgMTY6MzE6MDUgKzAxMDAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogRG9uJ3QgZ2l2ZSB1cCBzbyBlYXNpbHkgaWYgZmFpbGVkIHRvIGRlY29kZSBhIGZyYW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODc0MzYKCjIwMTItMTEtMDkgMTE6MjI6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBBbHNvIGNsZWFyIEdFcnJvcgoKMjAxMi0xMS0wOSAxMToyMDoyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IERvbid0IGVycm9yIG91dCBpZiB3ZSBnZXQgYW4gSUNNUCBkZXN0aW5hdGlvbi11bnJlYWNoYWJsZSBtZXNzYWdlIHdoZW4gdHJ5aW5nIHRvIHJlYWQgcGFja2V0cwoJICBTZWUgYnVnICM1Mjk0NTQgYW5kICM2ODc3ODIgYW5kIGNvbW1pdAoJICA3NTFmMmJiMzY0NmYyYmVmZjM2OThjOWYwOTkwMGRiZDBlYTA4YWJiCgoyMDEyLTExLTA3IDIwOjM1OjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IHVwZGF0ZSBjb3VydGVzeSBvZiBhdXRvdXBkYXRlCgoyMDEyLTExLTA3IDE4OjQ4OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGxldCBBR19HU1RfUExVR0lOX0RPQ1MgY2hlY2sgZm9yIHB5dGhvbgoJICBBbmQgdXBkYXRlIGNvbW1vbiBmb3IgbW92ZSBmcm9tIEFTX1BBVEhfUFlUSE9OIHRvIEFNX1BBVEhfUFlUSE9OLAoJICB3aGljaCBhcyBhIHNpZGUtZWZmZWN0IHNob3VsZCBwaWNrIHVwIG5ld2VyIHB5dGhvbiB2ZXJzaW9ucyBhcwoJICB3ZWxsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTYzOTAzCgoyMDEyLTExLTA3IDEzOjM2OjMzICswMTAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDx1cmFldXNAbGludXhyaXNpbi5vcmc+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICBGaXggdnA4cnRwIGhlYWRlciBuYW1lcyBpbiBNYWtlZmlsZQoKMjAxMi0xMS0wNiAxNTowMzo1NSArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6CgkgIHZpZGVvY3JvcDogQWRkIHN1cHBvcnQgZm9yIGF1dG9tYXRpYyBjcm9wcGluZwoJICBUaGlzIGNoYW5nZSBlbmFibGUgYXV0b21hdGljIGNyb3BwaW5nIHVzaW5nIC0xIHNldCB0byBsZWZ0LCB0b3AsIHJpZ2h0IG9yCgkgIGJvdHRvbSBwcm9wZXJ0eS4gSW4gdGhlIGNhc2UgYm90aCBzaWRlIGFyZSBzZXQgdG8gYXV0b21hdGljIGNyb3BwaW5nLCB0aGUKCSAgY3JvcGluZyB3aWxsIGJlIGRvbmUgZXF1YWxseSBvbiBib3RoIHNpZGUgKGluIHRoZSBvZGQgY2FzZSwgcmlnaHQgYW5kCgkgIGJvdHRvbSBjcm9wcGluZyB3aWxsIGJlIDEgcGl4ZWwgbW9yZSkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODc3NjEKCjIwMTItMTEtMDIgMTY6Mzk6MjggKzAxMDAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJICBzcGVleGRlYzogRG9uJ3QgdW5tYXAgb3IgZmluaXNoX2ZyYW1lIGFuIGludmFsaWQgR3N0QnVmZmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODc0NjQKCjIwMTItMTEtMDYgMTM6MjI6NTggKzAxMDAgIE1hcmMgTGVlbWFuIDxtYXJjLmxlZW1hbkBnbWFpbC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3A6IHRoZSBSVENQIHBvcnQgbnVtYmVyIGlzIGluY2x1c2l2ZQoJICBUaGUgY29uZmlndXJlZCBwb3J0IG51bWJlciBwYWlyIGhhcyBpdHMgdXBwZXIgYm91bmQgc2V0IHRvIHRoZSBtYXhpbXVtCgkgIGFsbG93ZWQgUlRDUCBwb3J0LCBpbmNsdXNpdmUuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM5NDIwCgoyMDEyLTExLTAzIDIwOjM4OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0Lmg6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5Lmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBGaXggRlNGIGFkZHJlc3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzUyMAoKMjAxMi0xMS0wNCAwMDowNzoxOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSogZXh0L2FhbGliL2dzdGFhc2luay5oOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm8uYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvb3ZlcmxheS5jOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9vdmVybGF5Lmg6CgkqIGV4dC9jYWlyby9nc3RjYWlyb3JlbmRlci5jOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuaDoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5jOgoJKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuaDoKCSogZXh0L2R2L2dzdGR2LmM6CgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJKiBleHQvZHYvZ3N0ZHZkZWMuaDoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2R2L2dzdGR2ZGVtdXguaDoKCSogZXh0L2R2L2dzdHNtcHRldGltZWNvZGUuYzoKCSogZXh0L2R2L2dzdHNtcHRldGltZWNvZGUuaDoKCSogZXh0L2ZsYWMvZ3N0ZmxhYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmg6CgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5oOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGthbmltYXRpb24uYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrYW5pbWF0aW9uLmg6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZmRlYy5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZkZWMuaDoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5oOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZwbHVnaW4uYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZzaW5rLmg6CgkqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6CgkqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmg6CgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50Lmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmg6CgkqIGV4dC9qYWNrL2dzdGphY2tyaW5nYnVmZmVyLmg6CgkqIGV4dC9qYWNrL2dzdGphY2t1dGlsLmM6CgkqIGV4dC9qYWNrL2dzdGphY2t1dGlsLmg6CgkqIGV4dC9qcGVnL2dzdGpwZWcuYzoKCSogZXh0L2pwZWcvZ3N0anBlZy5oOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmg6CgkqIGV4dC9qcGVnL2dzdHNtb2tlZGVjLmM6CgkqIGV4dC9qcGVnL2dzdHNtb2tlZGVjLmg6CgkqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6CgkqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmg6CgkqIGV4dC9qcGVnL3Ntb2tlY29kZWMuYzoKCSogZXh0L2pwZWcvc21va2Vjb2RlYy5oOgoJKiBleHQvanBlZy9zbW9rZWZvcm1hdC5oOgoJKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOgoJKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5oOgoJKiBleHQvbGlicG5nL2dzdHBuZy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZy5oOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5oOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5oOgoJKiBleHQvbWlrbW9kL1JFQURNRToKCSogZXh0L21pa21vZC9nc3RtaWttb2QuYzoKCSogZXh0L21pa21vZC9nc3RtaWttb2QuaDoKCSogZXh0L21pa21vZC9taWttb2RfdHlwZXMuYzoKCSogZXh0L21pa21vZC9taWttb2RfdHlwZXMuaDoKCSogZXh0L3B1bHNlL3BsdWdpbi5jOgoJKiBleHQvcHVsc2UvcHVsc2Vwcm9iZS5jOgoJKiBleHQvcHVsc2UvcHVsc2Vwcm9iZS5oOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5oOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuaDoKCSogZXh0L3JhdzEzOTQvZ3N0MTM5NC5jOgoJKiBleHQvcmF3MTM5NC9nc3QxMzk0Y2xvY2suYzoKCSogZXh0L3JhdzEzOTQvZ3N0MTM5NGNsb2NrLmg6CgkqIGV4dC9yYXcxMzk0L2dzdDEzOTRwcm9iZS5jOgoJKiBleHQvcmF3MTM5NC9nc3QxMzk0cHJvYmUuaDoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5oOgoJKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuaDoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuaDoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmg6CgkqIGV4dC9zcGVleC9nc3RzcGVleC5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmg6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuaDoKCSogZXh0L3RhZ2xpYi9nc3RhcGV2Mm11eC5jYzoKCSogZXh0L3RhZ2xpYi9nc3RhcGV2Mm11eC5oOgoJKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJKiBleHQvdGFnbGliL2dzdGlkM3YybXV4Lmg6CgkqIGV4dC90YWdsaWIvZ3N0dGFnbGlicGx1Z2luLmM6CgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmg6CgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmg6CgkqIGV4dC92cHgvZ3N0dnA4dXRpbHMuYzoKCSogZXh0L3ZweC9nc3R2cDh1dGlscy5oOgoJKiBleHQvdnB4L3BsdWdpbi5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5oOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tzdHJlYW1yZWFkZXIuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3N0cmVhbXJlYWRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2V0dGV4dC5oOgoJKiBnc3QtbGlicy9nc3QvZ2xpYi1jb21wYXQtcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvZ3N0LWkxOG4tcGx1Z2luLmg6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuaDoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuaDoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4Lmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0Lmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ZpcmZpbHRlci5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlaWlyZmlsdGVyLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaWlyZmlsdGVyLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0Lmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlva2FyYW9rZS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2thcmFva2UuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuaDoKCSogZ3N0L2F1ZGlvZngvbWF0aF9jb21wYXQuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuaDoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmg6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuaDoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2RldGVjdC5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvZGV0ZWN0Lmg6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5oOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmg6CgkqIGdzdC9hdmkvYXZpLWlkcy5oOgoJKiBnc3QvYXZpL2dzdGF2aS5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguaDoKCSogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5oOgoJKiBnc3QvZGVidWd1dGlscy9icmVha215ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy9jcHVyZXBvcnQuYzoKCSogZ3N0L2RlYnVndXRpbHMvY3B1cmVwb3J0Lmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNkZWJ1Zy5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzZGVidWcuaDoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0ZGVidWcuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2aWdhdGlvbnRlc3QuaDoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2c2Vlay5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZzZWVrLmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHB1c2hmaWxlc3JjLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHB1c2hmaWxlc3JjLmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHRhZ2luamVjdC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3R0YWdpbmplY3QuaDoKCSogZ3N0L2RlYnVndXRpbHMvcHJvZ3Jlc3NyZXBvcnQuYzoKCSogZ3N0L2RlYnVndXRpbHMvcHJvZ3Jlc3NyZXBvcnQuaDoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJKiBnc3QvZGVidWd1dGlscy90ZXN0cGx1Z2luLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Rlc3RzLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Rlc3RzLmg6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYXNtOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHlobWFjcm9zLmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyYmxlbmQuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9wbHVnaW5zLmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvc2NhbGVyYm9iLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdmZpci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmViZmYuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZXRmZi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3g4Ni02NF9tYWNyb3MuaW5jOgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5oOgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmg6CgkqIGdzdC9lZmZlY3R2L2dzdGVmZmVjdHYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWZmZWN0di5oOgoJKiBnc3QvZWZmZWN0di9nc3RvcC5jOgoJKiBnc3QvZWZmZWN0di9nc3RvcC5oOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5oOgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJldi5oOgoJKiBnc3QvZWZmZWN0di9nc3RyaXBwbGUuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmlwcGxlLmg6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5oOgoJKiBnc3QvZWZmZWN0di9nc3RzdHJlYWsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c3RyZWFrLmg6CgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5oOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuaDoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuaDoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5oOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5oOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5oOgoJKiBnc3QvZmx2L2FtZmRlZnMuaDoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkqIGdzdC9mbHYvZ3N0aW5kZXguYzoKCSogZ3N0L2Zsdi9nc3RpbmRleC5oOgoJKiBnc3QvZmx2L2dzdG1lbWluZGV4LmM6CgkqIGdzdC9mbHgvZmx4X2NvbG9yLmM6CgkqIGdzdC9mbHgvZmx4X2NvbG9yLmg6CgkqIGdzdC9mbHgvZmx4X2ZtdC5oOgoJKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJKiBnc3QvZmx4L2dzdGZseGRlYy5oOgoJKiBnc3QvZ29vbS9jb25maWdfcGFyYW0uYzoKCSogZ3N0L2dvb20vY29udm9sdmVfZnguYzoKCSogZ3N0L2dvb20vZHJhd21ldGhvZHMuYzoKCSogZ3N0L2dvb20vZHJhd21ldGhvZHMuaDoKCSogZ3N0L2dvb20vZmlsdGVycy5jOgoJKiBnc3QvZ29vbS9maWx0ZXJzX21teC5zOgoJKiBnc3QvZ29vbS9mbHlpbmdfc3RhcnNfZnguYzoKCSogZ3N0L2dvb20vZ29vbS5oOgoJKiBnc3QvZ29vbS9nb29tX2NvbmZpZy5oOgoJKiBnc3QvZ29vbS9nb29tX2NvbmZpZ19wYXJhbS5oOgoJKiBnc3QvZ29vbS9nb29tX2NvcmUuYzoKCSogZ3N0L2dvb20vZ29vbV9maWx0ZXJzLmg6CgkqIGdzdC9nb29tL2dvb21fZnguaDoKCSogZ3N0L2dvb20vZ29vbV9ncmFwaGljLmg6CgkqIGdzdC9nb29tL2dvb21fcGx1Z2luX2luZm8uaDoKCSogZ3N0L2dvb20vZ29vbV90b29scy5jOgoJKiBnc3QvZ29vbS9nb29tX3Rvb2xzLmg6CgkqIGdzdC9nb29tL2dvb21fdHlwZWRlZnMuaDoKCSogZ3N0L2dvb20vZ29vbV92aXN1YWxfZnguaDoKCSogZ3N0L2dvb20vZ3JhcGhpYy5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tL2dzdGdvb20uaDoKCSogZ3N0L2dvb20vbGluZXMuYzoKCSogZ3N0L2dvb20vbGluZXMuaDoKCSogZ3N0L2dvb20vbWF0aHRvb2xzLmM6CgkqIGdzdC9nb29tL21hdGh0b29scy5oOgoJKiBnc3QvZ29vbS9tb3RpZl9nb29tMS5oOgoJKiBnc3QvZ29vbS9tb3RpZl9nb29tMi5oOgoJKiBnc3QvZ29vbS9wbHVnaW5faW5mby5jOgoJKiBnc3QvZ29vbS9wcGNfZHJhd2luZ3MuaDoKCSogZ3N0L2dvb20vcHBjX2RyYXdpbmdzLnM6CgkqIGdzdC9nb29tL3BwY196b29tX3VsdGltYXRlLmg6CgkqIGdzdC9nb29tL3BwY196b29tX3VsdGltYXRlLnM6CgkqIGdzdC9nb29tL3NvdW5kX3Rlc3Rlci5jOgoJKiBnc3QvZ29vbS9zb3VuZF90ZXN0ZXIuaDoKCSogZ3N0L2dvb20vc3VyZjNkLmM6CgkqIGdzdC9nb29tL3N1cmYzZC5oOgoJKiBnc3QvZ29vbS90ZW50YWNsZTNkLmM6CgkqIGdzdC9nb29tL3RlbnRhY2xlM2QuaDoKCSogZ3N0L2dvb20vdjNkLmM6CgkqIGdzdC9nb29tL3YzZC5oOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uaDoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5oOgoJKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzoKCSogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4Lmg6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuaDoKCSogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5oOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuaDoKCSogZ3N0L2ludGVybGVhdmUvcGx1Z2luLmM6CgkqIGdzdC9pbnRlcmxlYXZlL3BsdWdpbi5oOgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuaDoKCSogZ3N0L2lzb21wNC9hdG9tc3JlY292ZXJ5LmM6CgkqIGdzdC9pc29tcDQvYXRvbXNyZWNvdmVyeS5oOgoJKiBnc3QvaXNvbXA0L2Rlc2NyaXB0b3JzLmM6CgkqIGdzdC9pc29tcDQvZGVzY3JpcHRvcnMuaDoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9mdHlwY2MuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtb292cmVjb3Zlci5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LWRvYy5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LWRvYy5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmg6CgkqIGdzdC9pc29tcDQvZ3N0cnRweHF0ZGVwYXkuYzoKCSogZ3N0L2lzb21wNC9nc3RydHB4cXRkZXBheS5oOgoJKiBnc3QvaXNvbXA0L2lzb21wNC1wbHVnaW4uYzoKCSogZ3N0L2lzb21wNC9wcm9wZXJ0aWVzLmM6CgkqIGdzdC9pc29tcDQvcHJvcGVydGllcy5oOgoJKiBnc3QvaXNvbXA0L3F0YXRvbXBhcnNlci5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9kdW1wLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9kdW1wLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2xhbmcuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2xhbmcuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X3R5cGVzLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF90eXBlcy5oOgoJKiBnc3QvaXNvbXA0L3F0cGFsZXR0ZS5oOgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuaDoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmg6CgkqIGdzdC9sYXcvYWxhdy5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5oOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5oOgoJKiBnc3QvbGF3L211bGF3LmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuaDoKCSogZ3N0L21hdHJvc2thL2VibWwtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5oOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS5jOgoJKiBnc3QvbWF0cm9za2Evd2VibS1tdXguYzoKCSogZ3N0L21hdHJvc2thL3dlYm0tbXV4Lmg6CgkqIGdzdC9tb25vc2NvcGUvY29udm9sdmUuYzoKCSogZ3N0L21vbm9zY29wZS9jb252b2x2ZS5oOgoJKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5oOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZS5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmg6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmg6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmg6CgkqIGdzdC9tdWx0aWZpbGUvcGF0dGVybnNwZWMuYzoKCSogZ3N0L211bHRpZmlsZS9wYXR0ZXJuc3BlYy5oOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguaDoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguaDoKCSogZ3N0L3J0cC9mbnYxaGFzaC5jOgoJKiBnc3QvcnRwL2ZudjFoYXNoLmg6CgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmg6CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNoYW5uZWxzLmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2hhbm5lbHMuaDoKCSogZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzIyZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIyZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzIycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVucGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbWFuYWdlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmg6CgkqIGdzdC9ydHNwL2dzdHJ0c3AuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcC5oOgoJKiBnc3QvcnRzcC9nc3RydHNwZXh0LmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BleHQuaDoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmg6CgkqIGdzdC9zbXB0ZS9iYXJib3h3aXBlcy5jOgoJKiBnc3Qvc21wdGUvZ3N0bWFzay5jOgoJKiBnc3Qvc21wdGUvZ3N0bWFzay5oOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmg6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmg6CgkqIGdzdC9zbXB0ZS9wYWludC5jOgoJKiBnc3Qvc21wdGUvcGFpbnQuaDoKCSogZ3N0L3NtcHRlL3BsdWdpbi5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuaDoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSogZ3N0L3VkcC9nc3R1ZHAuYzoKCSogZ3N0L3VkcC9nc3R1ZHAuaDoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmg6CgkqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuaDoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuaDoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5oOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5oOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5oOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmg6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5oOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuaDoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvbWVkaWFuLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb21lZGlhbi5oOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW90ZW1wbGF0ZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvcGx1Z2luLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIycGFkLmg6CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmg6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuaDoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kcGx1Z2luLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJKiBzeXMvb3NzL2NvbW1vbi5oOgoJKiBzeXMvb3NzL2dzdG9zc2F1ZGlvLmM6CgkqIHN5cy9vc3MvZ3N0b3NzZG1hYnVmZmVyLmM6CgkqIHN5cy9vc3MvZ3N0b3NzZG1hYnVmZmVyLmg6CgkqIHN5cy9vc3MvZ3N0b3NzaGVscGVyLmM6CgkqIHN5cy9vc3MvZ3N0b3NzaGVscGVyLmg6CgkqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOgoJKiBzeXMvb3NzL2dzdG9zc3NpbmsuaDoKCSogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSogc3lzL29zcy9nc3Rvc3NzcmMuaDoKCSogc3lzL29zczQvb3NzNC1hdWRpby5jOgoJKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmg6CgkqIHN5cy9vc3M0L29zczQtcHJvcGVydHktcHJvYmUuYzoKCSogc3lzL29zczQvb3NzNC1wcm9wZXJ0eS1wcm9iZS5oOgoJKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSogc3lzL29zczQvb3NzNC1zaW5rLmg6CgkqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkqIHN5cy9vc3M0L29zczQtc291cmNlLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpby5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9lbGVtZW50LmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb2VsZW1lbnQuaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5oOgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW8uYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXIuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXIuaDoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5oOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcm9wdGlvbnMuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJvcHRpb25zLmg6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVydHJhY2suYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJ0cmFjay5oOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuaDoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnJhZGlvLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJyYWRpby5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9vdmVybGF5LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb292ZXJsYXkuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkb3JpZW50Lmg6CgkqIHN5cy92NGwyL3R1bmVyLmM6CgkqIHN5cy92NGwyL3R1bmVyLmg6CgkqIHN5cy92NGwyL3R1bmVyY2hhbm5lbC5jOgoJKiBzeXMvdjRsMi90dW5lcmNoYW5uZWwuaDoKCSogc3lzL3Y0bDIvdHVuZXJub3JtLmM6CgkqIHN5cy92NGwyL3R1bmVybm9ybS5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3JtcGx1Z2luLmM6CgkqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuYzoKCSogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5oOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5oOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FjM3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FscGhhY29sb3IuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYW1ycGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXBldjJtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNwZWN0cmF0aW9jcm9wLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvYW1wbGlmeS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2R5bmFtaWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9lY2hvLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaW52ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcGFub3JhbWEuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2RldGVjdC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpc3VidGl0bGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2Fwc3NldHRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGFjZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmxhY3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZsdmRlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Zsdm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZGtwaXhidWZzaW5rLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ljeWRlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM2RlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM3YybXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ltYWdlZnJlZXplLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ2RlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVnZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ2F1ZGlvcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbl9idWZmZXJfbGlzdC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2hhcGV3aXBlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWN0cnVtLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3N1bmF1ZGlvLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3VkcHNpbmsuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdWRwc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2ZpbHRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2VuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMveTRtZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2dlbmVyaWMvc3RhdGVzLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9lZmZlY3R2LmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9mbGFjZGVjLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdmVuYy5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2cGFjay5jOgoJKiB0ZXN0cy9leGFtcGxlcy9hdWRpb2Z4L2ZpcmZpbHRlci1leGFtcGxlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2F1ZGlvZngvaWlyZmlsdGVyLWV4YW1wbGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2Fpcm8vY2Fpcm9fb3ZlcmxheS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9sZXZlbC1leGFtcGxlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3B1bHNlL3B1bHNlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtUENNQS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWFsc2FzcmMtUENNQS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1vc3NzcmMuYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vc3BlY3RydW0tZXhhbXBsZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL2NhbWN0cmwuYzoKCSogdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzoKCSogdGVzdHMvaWNsZXMvZ2RrcGl4YnVmc2luay10ZXN0LmM6CgkqIHRlc3RzL2ljbGVzL3Rlc3Qtb3NzNC5jOgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSogdGVzdHMvaWNsZXMvdmlkZW9ib3gtdGVzdC5jOgoJKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOgoJKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AyLXRlc3QuYzoKCSogdGVzdHMvaWNsZXMveGltYWdlc3JjLXRlc3QuYzoKCSAgRml4IEZTRiBhZGRyZXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODc1MjAKCjIwMTItMTEtMDIgMTg6NDc6MjYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJICB2cmF3ZGVwYXk6IGRvbid0IGFjY2VzcyBydHAgYnVmZmVyIGFmdGVyIHVubWFwCgkgIFJlYWQgdGhlIG1hcmtlciBiaXQgYmVmb3JlIHdlIHVubWFwIHRoZSBydHAgcGFja2V0LgoKMjAxMi0xMS0wMiAwOTozNDoyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnB4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IEltbWVkaWF0ZWx5IHJldHVybiBpZiBvcGVuaW5nIHRoZSBkZWNvZGVyIGZhaWxlZAoJICBJbnN0ZWFkIG9mIGlnbm9yaW5nIGFueSBlcnJvcnMuCgoyMDEyLTExLTAxIDIyOjAyOjM5ICswMTAwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBleHQvdnB4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IFNob3J0IGNpcmN1aXQgZ3N0X3ZwOF9kZWNfaGFuZGxlX2ZyYW1lIGlmIGtleWZyYW1lIGlzIG1pc3NpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzM3NgoKMjAxMi0xMS0wMiAxMDo1Mzo1NyArMTMwMCAgRG91Z2xhcyBCYWduYWxsIDxkb3VnbGFzQHBhcmFkaXNlLm5ldC5uej4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkgIHZpZGVvY29udmVydDogQ29tcGFyZSB5IG9mZnNldCB3aXRoIGhlaWdodCwgbm90IHdpZHRoLCB3aGVuIHRlc3RpbmcgZm9yIG92ZXJsYXAKCSAgVGhpcyBjb3VsZCBoYXZlIHByZXZlbnRlZCBpbWFnZXMgc2hvd2luZyB0aGF0IHNob3VsZCBoYXZlIHdoZW4gdGhlCgkgIHNvdXJjZSBoZWlnaHQgaXMgZ3JlYXRlciB0aGFuIGl0cyB3aWR0aC4KCSAgV2hlbiB3aWR0aCBleGNlZWRzIGhlaWdodCwgYXMgaXMgY29tbW9uLCBpdCBwcm9iYWJseSBvbmx5IGNhdXNlZCBhCgkgIG1pbmlzY3VsZSBhbW91bnQgb2YgdW5uZWNlc3Nhcnkgd29yay4gIEkgaGF2ZW4ndCB0ZXN0ZWQuCgoyMDEyLTExLTAxIDIxOjA5OjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3J0cC9nc3RydHB2cDhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5Lmg6CgkgIHJ0cHZwODogaW5jbHVkZSBjb25maWcuaCBhbmQgbWlub3Igc3R5bGUgZml4ZXMKCjIwMTItMTEtMDEgMjA6MTM6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICBydHA6IGZpeCB0YWJzL3NwYWNlIG1lc3MgaW4gTWFrZWZpbGUuYW0KCjIwMTItMTEtMDEgMjA6MDU6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOC5jOgoJICBydHA6IG1vdmUgVlA4IHBheWxvYWRlciBhbmQgZGVwYXlsb2FkZXIgZnJvbSAtYmFkCgkgIFNwZWMgaXMgc3RpbGwgaW4gZHJhZnQgc3RhdGUsIGJ1dCBzaG91bGQgaG9wZWZ1bGx5IG5vdAoJICBjaGFuZ2UgbXVjaCBub3cuIEJlc2lkZXMsIHdlIGFubm91bmNlIHRoaW5ncyBhcyBWUDgtRFJBRlQtSUVURi0wMQoJICBpbiBvdXIgY2Fwcywgc28gZXZlbiBpZiB0aGluZ3MgY2hhbmdlIGluIGluY29tcGF0aWJsZSB3YXlzIGl0CgkgIHNob3VsZCBub3QgYnJlYWsgYW55dGhpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODcyNjMKCjIwMTItMTAtMTcgMTc6MzQ6MjYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJICBydHB2cDg6IHVzZSBnc3RfZWxlbWVudF9jbGFzc19zZXRfc3RhdGljX21ldGFkYXRhKCkKCSAgd2hlcmUgcG9zc2libGUuIEF2b2lkcyBzb21lIHN0cmluZyBjb3BpZXMuIEFsc28gcmUtaW5kZW50CgkgIHNvbWUgc3R1ZmYuIEFsc28gc29tZSBpbmRlbnQgZml4ZXMgaGVyZSBhbmQgdGhlcmUuCgoyMDEyLTA5LTE0IDE3OjA4OjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkgIHJ0cHZwODogcmVwbGFjZSBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUgd2l0aCBnc3RfZWxlbWVudF9jbGFzc19zZXRfbWV0YWRhdGEKCjIwMTItMDQtMDUgMTg6MDI6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cDguYzoKCSAgcnRwdnA4OiB1cGRhdGUgZm9yIEdTVF9QTFVHSU5fREVGSU5FKCkgQVBJIGNoYW5nZXMKCjIwMTItMDMtMjggMTI6NDk6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJICBydHB2cDg6IHVwZGF0ZSBmb3IgYnVmZmVyIGNoYW5nZXMKCjIwMTItMDMtMDEgMTQ6NTk6NTUgLTAzMDAgIERhbmlsbyBDZXNhciBMZW1lcyBkZSBQYXVsYSA8ZGFuaWxvLmNlc2FyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSAgcnRwdnA4OyBmaXggY29tcGF0aWJpbGl0eSB3aXRoIHRoZSB0aGlyZCBkcmFmdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcxMDczCgoyMDEyLTAxLTI1IDE2OjIwOjQxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkgIHJ0cHZwODogcG9ydCBzb21lIG1vcmUgdG8gbmV3IG1lbW9yeSBBUEkKCjIwMTItMDEtMjUgMTA6NDU6NTEgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuaDoKCSAgcnRwdnA4OiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMDMgMTI6MDY6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSAgcnRwdnA4cGF5OiBGaXggdHlwbwoKMjAxMS0wOS0yMyAyMjo1ODozMCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuaDoKCSAgcnRwdnA4OiBVcGRhdGUgdGhlIHBheS9kZXBheSB0byB0aGUgaWV0Zi1kcmFmdC0wMSBzcGVjCgoyMDExLTA5LTEwIDExOjMxOjIwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZGJvb2xodWZmLmM6CgkqIGdzdC9ydHAvZGJvb2xodWZmLmg6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkgIHJ0cHZwODogZml4IGJpdHN0cmVhbSBwYXJzaW5nIHVzaW5nIHRoZSB3cm9uZyBraW5kIG9mIGJpdHJlYWRlcgoJICBWUDggdXNlcyBhIHByb2JhYmlsaXN0aWMgYm9vbCBjb2Rlciwgbm90IGEgc3RyYWlnaHQgYml0IGNvZGVyLgoJICBUaGlzIGZpeGVzIHBhcnNpbmcgd2hlbiBlcnJvci1yZXNpbGllbnQgaXMgc2V0LgoJICBUaGlzIGNvbW1pdCBpbmNsdWRlcyBhIGNvcHkgb2YgbGlidnB4J3MgYm9vbCBjb2RlciwgQlNEIGxpY2Vuc2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUyNjk0CgoyMDExLTA3LTEyIDE4OjAzOjUzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSAgcnRwdnA4OiBSZWplY3QgdW5rbm93biBiaXRzdHJlYW0gdmVyc2lvbnMKCjIwMTEtMDMtMDQgMTE6NTk6NDQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSAgcnRwdnA4OiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUKCSAgTWFrZXMgbWFjb3N4IGNvbXBpbGVyIGhhcHB5LgoKMjAxMS0wMS0yMyAxNzowMjozOCArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSogZ3N0L3J0cC9nc3RydHB2cDhkZXBheS5jOgoJICBydHB2cDhkZXBheTogQWNjZXB0IHBhY2tldHMgd2l0aCBvbmx5IG9uZSBieXRlIG9mIGRhdGEKCSAgV2hlbiBmcmFnbWVudGluZyBwYXJ0aW9ucyBpdCBjYW4gaGFwcGVuIHRoYXQgYW4gUlRQIHBhY2tldCBvbmx5IGNhcmllcyAxCgkgIGJ5dGUgb2YgUlRQIGRhdGEuCgoyMDExLTAxLTIzIDE2OjQyOjE3ICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5oOgoJICBydHB2cDhwYXk6IFRyZWF0IHRoZSBmcmFtZSBoZWFkZXIganVzdCBsaWtlIGFueSBvdGhlciBwYXJ0aXRpb24KCSAgV2hlbiBzZXR0aW5nIHVwIHRoZSBpbml0aWFsIG1hcHBpbmcganVzdCBhY3QgYXMgaWYgdGhlIGdsb2JhbCBmcmFtZQoJICBpbmZvcm1hdGlvbiBpcyBhbm90aGVyIHBhcnRpdGlvbi4gVGhpcyBzYXZlcyBzcGVjaWFsLWNhc2luZyBpdCBsYXRlciBpbgoJICB0aGUgYWN0dWFsIHBhY2tldGl6aW5nIGNvZGUuCgoyMDEwLTA1LTE2IDE3OjIzOjE3ICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJKiBnc3QvcnRwL2Rib29saHVmZi5MSUNFTlNFOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOC5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuaDoKCSAgcnRwdnA4OiBBZGQgc2ltcGxlIHBheWxvYWRlcnMgYW5kIGRlcGF5bG9hZGVycyBmb3IgVlA4CgkgIE1pbmltYWwgaW1wbGVtZW50YXRpb24gb2YgaHR0cDovL3d3dy53ZWJtcHJvamVjdC5vcmcvY29kZS9zcGVjcy9ydHAvLAoJICB2ZXJzaW9uIDAuMy4yCgoyMDEyLTExLTAxIDE4OjQyOjM5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSAgZ3N0cGF5OiBmaXggZm9yIDEuMCBldmVudHMKCSAgQ2FwcyBldmVudHMgYXJlIHNvbWV0aW1lcyBub3QgZm9sbG93ZWQgYnkgYSBidWZmZXIgYnV0IGJ5IGFuIGV2ZW50LiBGbHVzaCBhbnkKCSAgcGVuZGluZyBjYXBzIGJlZm9yZSB3ZSBtYWtlIGEgcGFja2V0IHdpdGggdGhlIGV2ZW50LgoJICBDaGFpbiB1cCB0byB0aGUgcGFyZW50IGV2ZW50IGhhbmRsZXIgYmVmb3JlIHdlIGF0dGVtcHQgdG8gcHVzaCBSVFAgcGFja2V0cywgaXQKCSAgbWlnaHQgYmUgYSBzZWdtZW50IGV2ZW50LgoKMjAxMi0xMS0wMSAxODo0MjoyNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSAgZ3N0ZGVwYXk6IGZpeCBzbWFsbCBsZWFrCgoyMDEyLTExLTAxIDE3OjQ0OjExICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJICBnc3RkZXBheTogYWRkIHN1cHBvcnQgZm9yIGV2ZW50cwoJICBDb25mbGljdHM6CgkgIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYwoKMjAxMi0xMS0wMSAxNzo0MDozMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5Lmg6CgkgIHJ0cGdzdHBheTogYWRkIHN1cHBvcnQgZm9yIHNlbmRpbmcgZXZlbnRzCgkgIFdlIGN1cnJlbnRseSBvbmx5IHNlbmQgdGFncyBhbmQgY3VzdG9tIGV2ZW50cy4gVGhlIG90aGVyIGV2ZW50cwoJICBtaWdodCBpbnRlcmZlcmUgd2l0aCB0aGUgcmVjZWl2ZXIgdGltaW5ncyBvciBhcmUgb3RoZXJ3aXNlIGhhbmRsZWQKCSAgYnkgUlRQLgoJICBDb25mbGljdHM6CgkgIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmMKCjIwMTItMTEtMDEgMTU6NTQ6NTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5oOgoJICBnc3RwYXk6IHJld3JpdGUgcGF5bG9hZGVyCgkgIFVzZSBhZGFwdGVyIHRvIGFzc2VtYmxlIHRoZSBwYXlsb2FkIGFuZCBtYWtlIGEgZmx1c2ggZnVuY3Rpb24gdG8KCSAgdHVybiB0aGlzIHBheWxvYWQgaW50byAoZnJhZ21lbnRlZCkgcGFja2V0cy4KCSAgQ29uZmxpY3RzOgoJICBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jCgkgIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmgKCjIwMTItMTEtMDEgMTM6MDM6NDQgKzAwMDAgIERvdWdsYXMgQmFnbmFsbCA8ZG91Z2xhc0BwYXJhZGlzZS5uZXQubno+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJICB2aWRlb21peGVyOiBnZXQgaGVpZ2h0IHZpYSBHU1RfVklERU9fRlJBTUVfSEVJR0hULCBub3QgX1dJRFRICgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODczMzAKCjIwMTItMTEtMDEgMTM6MDI6MTYgKzAwMDAgIERvdWdsYXMgQmFnbmFsbCA8ZG91Z2xhc0BwYXJhZGlzZS5uZXQubno+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZWJveDogZml4IGJvcmRlciBmaWxsaW5nIGZvciBncmF5IGZvcm1hdHMKCSAgR2V0IHRoZSBoZWlnaHQgdmlhIEdTVF9WSURFT19GUkFNRV9IRUlHSFQsIG5vdCBfV0lEVEguCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODczMzAKCjIwMTItMTEtMDEgMTE6NTg6NTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkgIGdzdGRlcGF5OiBjaGVjayBmb3IgY29ycmVjdCBmcmFnbWVudCBvZmZzZXQKCSAgTWFrZSBzdXJlIHdlIG9ubHkgaW5zZXJ0IHRoZSBydHAgcGFja2V0IGluIHRoZSBhZGFwdGVyIHdoZW4gdGhlCgkgIGZyYWdfb2Zmc2V0IG1hdGNoZXMuIFdoZW4gdGhlIGZpcnN0IHBhY2tldCBvZiBhIGZyYWdtZW50IGlzIGRyb3BwZWQsCgkgIGl0IGF2b2lkcyBwdXR0aW5nIHRoZSByZW1haW5pbmcgcGFja2V0cyBpbiB0aGUgYWRhcHRlciBhbmQgcHJvY2Vzc2luZwoJICB0aGUgcGFydGlhbCBmcmFnbWVudC4KCSAgQ29uZmxpY3RzOgoJICBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmMKCjIwMTItMTEtMDEgMTE6NTQ6NTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBnc3RwYXk6IHNldCBDIGZsYWcgb24gYWxsIGJ1ZmZlcnMgb2YgdGhlIGZyYWdtZW50CgkgIFNldCB0aGUgQyBmbGFncyBvbiBhbGwgdGhlIGZyYWdtZW50cyBpbnN0ZWFkIG9mIG9ubHkgdGhvc2Ugd2l0aAoJICBjYXBzIGluIHRoZW0uIFRoaXMgbWFrZXMgaXQgZWFzaWVyIGluIHRoZSByZWNlaXZlciB0byBjaGVjayBpZiB0aGVyZQoJICBpcyBhIGNhcHMgaW4gdGhlIGFzc2VtYmxlZCBmcmFnbWVudHMganVzdCBieSBsb29raW5nIGF0IHRoZSBsYXN0IFJUUAoJICBwYWNrZXQgZmxhZ3MuCgoyMDEyLTExLTAxIDEwOjU1OjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJICBnc3RkZXBheTogdXNlIHRoZSBjYXBzdmVyc2lvbgoJICBUYWtlIHRoZSBjYXBzIGZyb20gdGhlIGlucHV0IGNhcHMgYW5kIHN0b3JlIGl0IGluIHRoZSBzbG90IGdpdmVuCgkgIGJ5IGNhcHN2ZXJzaW9uLgoKMjAxMi0xMS0wMSAxMDo1MjoyNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5Lmg6CgkgIGdzdHBheTogc2VuZCBjYXBzIGlubGluZQoJICBQbGFjZSB0aGUgY2Fwc3ZlcnNpb24gb24gdGhlIG91dGdvaW5nIGNhcHMgc28gdGhhdCB0aGV5IGVuZCB1cCBpbgoJICBhbiBTRFAgYXMgd2VsbC4gUmVjZWl2ZXJzIG5lZWQgdG8ga25vdyB3aGF0IGNhcHN2ZXJzaW9uIGEgcGFydGljdWxhcgoJICBjYXBzIGlzIGZvciB0byBiZSBhYmxlIHRvIG1hdGNoIHRoZSBjYXBzIHRvIHRoZSBDViBpbiB0aGUgUlRQIHBhY2tldHMuCgkgIFBsYWNlIHRoZSBjYXBzIGluc2lkZSB0aGUgUlRQIHBhY2tldCB3aGVuZXZlciB0aGUgY2FwcyBjaGFuZ2UuCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IEFuZHJ6ZWogQmllbmllayA8YW5kcnplai5iaWVuaWVrQHB1cmUuY29tPgoJICBDb25mbGljdHM6CgkgIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmMKCSAgZ3N0L3J0cC9nc3RydHBnc3RwYXkuaAoKMjAxMi0xMC0zMSAxNjoxNzo0OCArMDAwMCAgQW5kcnplaiBCaWVuaWVrIDxhbmRyemVqLmJpZW5pZWtAcHVyZS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBnc3RwYXk6IGFkZCBkZWJ1ZwoJICBDb25mbGljdHM6CgkgIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmMKCjIwMTItMTAtMzEgMTY6MDk6MjYgKzAwMDAgIEFuZHJ6ZWogQmllbmllayA8YW5kcnplai5iaWVuaWVrQHB1cmUuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJICBkZXBheTogY29ycmVjdGx5IHNraXAgY2FwcyBoZWFkZXIgc2l6ZQoJICBDb25mbGljdHM6CgkgIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYwoKMjAxMi0wOS0yOCAwMDo0MzozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgbWF0cm9za2FkZW11eDogcHV0IHN0cmVhbWhlYWRlcnMgb24gdm9yYmlzL3NwZWV4L2ZsYWMvdGhlb3JhIGNhcHMgdG8gbWFrZSByZW11eGluZyB3b3JrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDA1ODkKCjIwMTItMTAtMjggMDA6MDc6NDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IGRvbid0IGFzc2VydCBpbiBnZXRfdGltZSgpIHdoZW4gY2FsbGVkIGFmdGVyIHNodXRkb3duCgkgIFdoaWNoIG1pZ2h0IGhhcHBlbiBpZiB0aGUgc291cmNlIGdldHMgc2V0IHRvIE5VTEwgc3RhdGUgYmVmb3JlCgkgIHRoZSByZXN0IG9mIHRoZSBwaXBlbGluZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4Njk4NQoKMjAxMi0xMC0zMCAxMToxMDo0OSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2xldmVsL2xldmVsLWV4YW1wbGUuYzoKCSAgdGVzdHM6IGZpeCBsZXZlbCBleGFtcGxlCgkgIFVzZSB0aGUgR1ZhbHVlQXJyYXkgaW4gdGhlIG1lc3NhZ2UuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODcxNTQKCjIwMTItMTAtMjcgMjM6MjI6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvYXVwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2xldmVsL01ha2VmaWxlLmFtOgoJKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJICBnc3Q6IGZpeCB2YXJpYWJsZSBvcmRlciBpbiBzb21lIE1ha2VmaWxlLmFtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODcwMTMKCjIwMTItMTAtMjcgMTc6Mjc6MTYgLTA0MDAgIEFudG9pbmUgVHJlbWJsYXkgPGhleGEwMEBnbWFpbC5jb20+CgoJKiBleHQvbGliY2FjYS9NYWtlZmlsZS5hbToKCSogZ3N0L2F1cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9sZXZlbC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvY3JvcC9NYWtlZmlsZS5hbToKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgZ3N0OiBhZGQgdmFyaW91cyBtaXNzaW5nIEdTVF9QTFVHSU5TX0JBU0VfTElCUyBpbiBNYWtlZmlsZS5hbQoJICBUaG9zZSBwbHVnaW5zIGRlcGVuZCBvbiBlaXRoZXIgbGliZ3N0YXVkaW8gb3IgbGliZ3N0dmlkZW8sCgkgIHdoaWNoIGFyZSBpbiBnc3QtcGx1Z2lucy1iYXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3MDEzCgoyMDEyLTEwLTI3IDEzOjI0OjI0ICswMTAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogbWFyayBpbnZpc2libGUgVlA4IGZyYW1lcyB3aXRoIHRoZSBERUNPREVfT05MWSBmbGFnCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQyNTkKCjIwMTItMTAtMjYgMTA6NTU6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzoKCSAgdGVzdHM6IGFkZCBtdWx0aWZpbGVzcmMgdGVzdCBmb3IgZml4IGluIHByZXZpb3VzIGNvbW1pdAoJICBNYWtlIHN1cmUgdGhlIHN0b3AtaW5kZXggc2V0IGlzIGhvbm91cmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0ODUzCgoyMDEyLTEwLTI2IDEwOjMzOjAzICswMTAwICBTdGFzIFNlcmdlZXYgPHN0c3BAYWtuZXQucnU+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICBtdWx0aWZpbGVzcmM6IGZpeCBzdG9wIGluZGV4IGhhbmRsaW5nCgkgIE1ha2Ugc3VyZSB0aGUgc3RvcCBpbmRleCBpcyBhbHdheXMgaG9ub3VyZWQuIEF2b2lkcwoJICBlbmRsZXNzIGxvb3AgaWYgb25lIHdhbnRzIHRvIHJlYWQgYW5kIG91dHB1dCB0aGUgc2FtZQoJICBmaWxlIE4gdGltZXMsIGZvciBleGFtcGxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0ODUzCgoyMDEyLTA4LTI1IDAyOjI2OjI5ICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYWRlbXV4OiBTdXBwb3J0IHJlY3Vyc2l2ZSBTaW1wbGVUYWdzCgkgIEZpeGVzICM2ODI2NDQKCSAgRGVwZW5kcyBvbiAjNjgyNjE1CgoyMDEyLTA4LTI0IDEzOjU1OjQxICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thZGVtdXg6IEV4cGFuZCB0aGUgdGFnIG1hcHBpbmcuCgkgICogQWxzbyBleHBvc2UgdW5rbm93biB0YWdzIGFzIGtleT12YWx1ZSBwYWlycy4KCSAgKiBBcnJhbmdlIHRhZyBtYXAgaW4gdGhlIHNhbWUgb3JkZXIgdGFncyBhcmUgbGlzdGVkIGluIE1hdHJvc2thIHNwZWMsIGxlYXZpbmcKCSAgdW5tYXBwZWQgdGFncyBhcyBjb21tZW50cy4KCSAgKiBNb3JlIHNwZWNpZmljIFRPRE9zLgoJICAqIFJlbW92ZSBkdXBsaWNhdGUgREFURSBkZWZpbmUuCgkgIEZpeGVzICM2ODI2MTUKCSAgRGVwZW5kcyBvbiAjNjgyNTI0CgoyMDEyLTEwLTI2IDEwOjA5OjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYWRlbXV4OiBGaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nCgoyMDEyLTA4LTIzIDE1OjA3OjIyICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thZGVtdXg6IE1hdHJvc2thIHRhZyBUYXJnZXRUeXBlIHN1cHBvcnQKCSAgKiBSZWFkcyBUYXJnZXRUeXBlIGFuZCBUYXJnZXRUeXBlVmFsdWUgZnJvbSBhIFRhZy4KCSAgKiBBZnRlciBUYWcgaXMgY29tcGxldGVseSByZWFkLCBwcm9jZXNzZXMgdGFnbGlzdCwgc3Vic3RpdHV0aW5nIHNvbWUgb2YgdGhlCgkgIHRhZ3MgZGVwZW5kaW5nIG9uIHRhcmdldCB0eXBlIHZhbHVlIGFuZCB0aGUgcHJlc2VuY2Ugb2YgdmlkZW8vc3VidGl0bGUgc3RyZWFtcy4KCSAgKiBTdXBwb3J0cyByZWFkaW5nIHR3byBuZXcgc2ltcGxldGFncyAtIFBBUlRfTlVNQkVSIGFuZCBUT1RBTF9QQVJUUwoJICBEZXBlbmRzIG9uICM2ODI0NDgKCSAgRml4ZXMgIzY4MjUyNAoKMjAxMi0wOC0yMiAxNTozMjo0MSArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2FkZW11eDogUGVyLXRyYWNrIHRhZ3MgZm9yIE1hdHJvc2thCgkgIFJlcXVpcmVzIE1hdHJvc2thIGZpbGUgdG8gaGF2ZSBzYW5lIGxheW91dCAodHJhY2sgaW5mbyBiZWZvcmUgdGFnIGluZm8pLgoJICBVc2VzIHJlcGxhY2UtbWVyZ2UuCgkgIE1ha2VzIHRyYWNrIFVJRHMgNjQtYml0LgoJICBGaXhlcyAjNjgyNDQ4CgoyMDEyLTEwLTI1IDIwOjE4OjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgbXVsdGlmaWxlc3JjOiBmaXggdHlwbyBpbiBwcm9wZXJ0eSBkZXNjcmlwdGlvbgoKMjAxMi0xMC0yNSAxMjoxODowMyAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHJkaW8uY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogcmVhZCB2aWRlbyBmb3JtYXQgaGVhZGVyIGZ1bGx5IChzbyB3ZSBjYW4gZmluZCAncGFzcCcgYXRvbXMpIGZvciBtb3JlIGZvdXJjY3MuIEZpeGVzIGFzcGVjdCByYXRpbyBvZiBwcm9yZXMgZmlsZXMuCgoyMDEyLTEwLTI1IDAwOjQ0OjM0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IHRoZSBuZXcgZ2V0X2NhcHMgYWxyZWFkeSBkb2VzIHRoZSBmaWx0ZXIgaW50ZXJzZWN0aW9uCgkgIEl0IHNob3VsZCBiZSBmYXN0ZXIgdG8gcGFzcyB0aGUgY2FwcyB0byBpbnRlcnNlY3QgYXMgdGhlIGZpbHRlciBjYXBzLAoJICByYXRoZXIgdGhhbiB1c2luZyBOVUxMIGFuZCBpbnRlcnNlY3RpbmcgJ21hbnVhbGx5JyBsYXRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjgzNwoKMjAxMi0xMC0yNSAwMDo0Mzo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBhdm9pZCBhc3NlcnRpb24gd2hlbiB1c2luZyBhY2NlcHQgY2FwcyBxdWVyeQoJICBUaGlzIHF1ZXJ5IG11c3QgcmVjZWl2ZSBhIGZpeGVkIGNhcHMsIHNvIGltYWdlZnJlZXplIHNob3VsZAoJICBmaXhhdGUgaXRzIGZyYW1lcmF0ZSBiZWZvcmUgc2VuZGluZyB0aGUgcXVlcnkgZG93bnN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjgzNwoKMjAxMi0xMC0yNSAxMjozMzoyNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBmZWF0dXJlIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjAuMiA9PT0KCjIwMTItMTAtMjUgMDE6MDE6MDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMC4yCgoyMDEyLTEwLTI0IDEzOjUwOjAwICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiB1c2UgY29ycmVjdCB0eXBlIGZvciBjaGFubmVsLW1hc2sgYml0bWFzawoJICBGaXhlcyBjcmFzaCBvbiAzMi1iaXQgc3lzdGVtcy4KCjIwMTItMTAtMjQgMTE6MTc6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEZsdXNoIHRoZSByaW5nYnVmZmVyIG9uIEdBUCBldmVudHMgd2l0aG91dCBkdXJhdGlvbgoJICBUaGlzIGlzIHJlcXVpcmVkIHRvIHByb3Blcmx5IHN0YXJ0IHRoZSByaW5nYnVmZmVyIGFuZCBjbG9jay4KCjIwMTItMTAtMDIgMjA6NTE6MjkgKzAyMDAgIE9sZWtzaWogUmVtcGVsIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IHNldCBERUNPREVfT05MWSBmbGFnIG9uIGludmlzaWJsZSBBbHRSZWYgZnJhbWVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQyMTYKCjIwMTItMTAtMjMgMTY6MDI6MDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBmaXggY292ZXJhcnQgZXh0cmFjdGlvbiBpZiB2b3JiaXMgY29tbWVudHMgY29tZSBhZnRlciBwaWN0dXJlIGhlYWRlcgoJICBTZWUgc2FtcGxlIGZpbGUgZm9yIGJ1ZyAjNjg0NzAxLgoKMjAxMi0xMC0yMyAxMzo0NToxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGlnbm9yZSBiYWQgaGVhZGVycyBpZiB3ZSBoYXZlIGEgdmFsaWQgU1RSRUFNSU5GTyBoZWFkZXIKCSAgSWYgd2UgcnVuIGludG8gYW55IGhlYWRlciBwYXJzaW5nIGlzc3VlcyBhbmQgd2UgaGF2ZSBhIHZhbGlkCgkgIFNUUkVBTUlORk8gaGVhZGVyIGFscmVhZHksIGRvbid0IGVycm9yIG91dCwgYnV0IGp1c3Qgc3RvcAoJICBoZWFkZXIgcGFyc2luZyBhbmQgdHJ5IHRvIGZpbmQgc29tZSBhdWRpbyBmcmFtZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQ3MDEKCjIwMTItMTAtMjMgMTM6NDM6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBwb3N0IHByb3BlciBlcnJvciBtZXNzYWdlIGFuZCBmaXggYnVmZmVyIGxlYWsgb24gaGVhZGVyIHBhcnNpbmcgZXJyb3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDcwMQoKMjAxMi0xMC0yMiAyMjozMjo0OSAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHJkaW8uY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHdpdGggcmF3IGF1ZGlvLCBzZXQgYSBkZWZhdWx0IGNoYW5uZWwtbWFzayBmb3IgbXVsdGljaGFubmVsIGF1ZGlvLiBUaGlzIGRvZXNuJ3QgYWN0dWFsbHkgcGFyc2UgJ2NoYW4nIGJlY2F1c2UgaXQncyBhYnN1cmRseSBjb21wbGV4LgoKMjAxMi0xMC0yMiAxNTo1NDoxNyArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1cGRzcmM6IGZpeCB0eXBvIGNhdXNpbmcgY29tcGlsYXRpb24gZXJyb3IKCSAgZ3N0dWRwc3JjLmM6IEluIGZ1bmN0aW9uICdnc3RfdWRwc3JjX2NyZWF0ZSc6CgkgIGdzdHVkcHNyYy5jOjM2NTogZXJyb3I6ICdyZXQnIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2NjQyCgoyMDEyLTEwLTIyIDExOjU1OjU5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlfIGZpeCBpbnZlcnQgZnVuY3Rpb24KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjU1MAoKMjAxMi0xMC0yMiAxMTo1NToyMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpOiBmaXggZGVidWcKCjIwMTItMTAtMjIgMTE6Mzk6MzcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBxdGRlbXV4OiBhZGQgc3VwcG9ydCBmb3IgJ2dlbmVyaWMnIHNhbXBsZXMKCSAgQWRkIHN1cHBvcnQgZm9yIHN0dWZmaW5nIGEgY29tcGxldGUgc3RyZWFtIGludG8gMSBzYW1wbGUuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2NTUwCgoyMDEyLTEwLTIwIDEzOjAxOjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgdGVzdHM6IHJlbW92ZSBzdXBlcmZsdW91cyBnX3R5cGVfaW5pdCgpIGNhbGwKCSAgSXQncyBkZXByZWNhdGVkIGluIG5ld2VyIEdMaWIgYW5kIG5vdCBuZWVkZWQgaGVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjQ1NgoKMjAxMi0xMC0yMCAxMTozMjoyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBmaXggY2FwcyBsZWFrIGluIGFjY2VwdGNhcHMgZnVuY3Rpb24KCjIwMTItMTAtMTkgMTk6MjQ6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRvbid0IGxlYWsgZ3N0X3JpZmZfc3RyZl9hdWRzIGluIGNhc2Ugb2YgTVMvUklGRiBhdWRpbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxMTkyCgoyMDEyLTEwLTE4IDIyOjIwOjM5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHVuc2lnbmVkIHN1YnRpdGxlIHRlbXBsYXRlCgoyMDEyLTEwLTE4IDExOjMyOjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBpbiBhY2NlcHRfY2FwcygpIGNoZWNrIGlmIHJpbmcgYnVmZmVyIGlzIE5VTEwgYmVmb3JlIGRlLXJlZmVyZW5jaW5nCgkgIEFuZCBzcHJpbmtsZSBzb21lIHRocmVhZC1zYWZldHkgKHRha2Ugb2JqZWN0IGxvY2sgZm9yCgkgIGFjY2Vzc2luZyByaW5nIGJ1ZmZlciwgYW5kIHBhIG1haW4gbG9vcCBsb2NrIGZvciB0aGUKCSAgY29udGV4dCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODM3ODIKCjIwMTItMDktMTMgMDA6MTA6MDAgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5oOgoJICB2aWRlb21peGVyMjogRml4IHJhY2UgY29uZGl0aW9uIHdoZXJlIGEgc3JjIHNldGNhcHMgaXMgaWdub3JlZAoJICBJZiBib3RoIHBhZHMgcmVjZWl2ZSBkYXRhIGF0IHRoZSBzYW1lIHRpbWUsIHRoZXkgd2lsbCBib3RoIGdldCB0aGVpcgoJICBzaW5rX3NldGNhcHMgY2FsbGVkIHdoaWNoIHdpbGwgY2FsbCB0aGUgc3JjX3NldGNhcHMsIGJ1dCB0aGVyZSBpcwoJICBhIHJhY2UgY29uZGl0aW9uIHdoZXJlIHRoZSBzZWNvbmQgb25lIG1pZ2h0IG5vdCBiZSBjYWxsZWQuCgkgIEZpeGVzOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzODQyCgoyMDExLTEwLTMxIDE1OjQzOjI1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGRvIG5vdCB1c2UgdW5vZmZpY2FsIFZfTUpQRUcgY29kZWMgaWQKCSAgU2luY2UgaXQncyBub3Qgc3BlYydlZCwgY29uc2lkZXIgaXQgYSBWZlcgY29tcGF0aWJpbGl0eQoJICBjYXNlLiBNYW55IGFwcGxpY2F0aW9ucyAoZS5nLiBhdmlkZW11eCkgZG9uJ3QgdW5kZXJzdGFuZAoJICB0aGUgdW5vZmZpY2lhbCBWX01KUEVHIGlkLgoJICBGaXhlcyAjNjU5ODM3LgoJICBDb25mbGljdHM6CgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYwoKMjAxMi0xMC0xNyAxNzozNDoyNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgVXNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9zdGF0aWNfbWV0YWRhdGEoKQoJICB3aGVyZSBwb3NzaWJsZS4gQXZvaWRzIHNvbWUgc3RyaW5nIGNvcGllcy4gQWxzbyByZS1pbmRlbnQKCSAgc29tZSBzdHVmZi4gQWxzbyBzb21lIGluZGVudCBmaXhlcyBoZXJlIGFuZCB0aGVyZS4KCjIwMTItMTAtMTcgMTc6MDM6MzkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkgIGpwZWcsIHBuZywgdnB4OiB1c2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X3N0YXRpY19tZXRhZGF0YSgpCgkgIEF2b2lkcyBzb21lIHN0cmluZyBjb3BpZXMuCgoyMDEyLTEwLTE3IDE0OjIzOjAxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSAganBlZ2RlcGF5OiBzdG9yZSBxdWFudCB0YWJsZXMgaW4gemlnemFnIG9yZGVyCgoyMDEyLTEwLTE3IDEzOjU1OjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHNlc3Npb246IGZpeCBjb21waWxlciB3YXJuaW5nCgoyMDEyLTEwLTE3IDEzOjM1OjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogY2xhcmlmeSB0aGUgbnRwLXN5bmMgb3B0aW9uCgoyMDEyLTEwLTE3IDEzOjE1OjQ4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogdXBkYXRlIGNhcHMgaW4gdGhlIHNvdXJjZQoJICBJbmZvcm0gdGhlIHNvdXJjZSB3aGVuIGNhcHMgY2hhbmdlZC4gVGhpcyB3YXMgcmVtb3ZlZCBpbiB0aGUgcG9ydCB0byAxLjAKCSAgbGVhdmluZyB0aGUgc291cmNlIHVuYXdhcmUgb2YgdGhlIGNsb2NrLXJhdGUgYW5kIHVuYWJsZSB0byBpbnRlcnBvbGxhdGUKCSAgcnRwIHRpbWVzdGFtcHMgZm9yIFNSIHBhY2tldHMuCgoyMDEyLTEwLTE3IDEyOjQ2OjMyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBiaW46IHNldCBQVFMgYW5kIERUUyBpbiBqaXR0ZXJidWZmZmVyCgoyMDEyLTEwLTE3IDEyOjI0OjIyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogZGlzYWJsZSBjaGVjayBmb3IgbnRwLXN5bmMKCSAgRGlzYWJsZSB0aGUgY2hlY2sgZm9yIHRoZSBudHAtc3luYyBtZXRob2QuIEl0IGlzIGV4cGVjdGVkIHRoYXQKCSAgYSByYXRoZXIgbGFyZ2VyIG9mZnNldCBuZWVkcyB0byBiZSBhcHBsaWVkIHdpdGggdGhpcyBtZXRob2QuCgoyMDEyLTEwLTE3IDEyOjE3OjMyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwYmluOiB1c2UgcnVubmluZy10aW1lIGZvciBOVFAgdGltZQoJICBXaGVuIHVzZS1waXBlbGluZS1jbG9jayBpcyBzZXQsIHVzZSB0aGUgcnVubmluZy10aW1lIG9mIHRoZQoJICBwaXBlbGluZSB0byBjYWxjdWxhdGUgdGhlIE5UUCB0aW1lc3RhbXBzLiBUaGlzIG1ldGhvZCB3b3VsZCBwcmV2aW91c2x5CgkgIG9ubHkgd29yayB3aGVuIHRoZSBiYXNlLXRpbWUgaXMgc2V0IHRvIDAgYnV0IHdpdGggdGhpcyBjaGFuZ2UgaXQgY2FuCgkgIGFsc28gd29yayB3aXRoIGRpZmZlcmVudCBvZmZzZXRzIGFuZCB3ZSBjYW4gYWxzbyBpbXBsZW1lbnQgcGF1c2UvcmVzdW1lCgkgIG9mIHRoZSBzZW5kZXIgYW5kIHJlY2VpdmVyIG5vdy4KCjIwMTItMTAtMTcgMTA6MjA6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5oOgoJICB2aWRlb2Nyb3A6IHBvcnQgdG8gdmlkZW9maWx0ZXIKCjIwMTItMTAtMTcgMDk6MzY6NTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IHVzZSBvdXRfaW5mbyBmb3Igb3V0IHByb3BlcnRpZXMKCjIwMTItMTAtMTYgMTQ6NDA6MTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9tZWRpYW4uYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvbWVkaWFuLmg6CgkgIG1lZGlhbjogc21hbGwgY2xlYW51cHMKCjIwMTItMTAtMTYgMTM6NTY6MTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogZ3N0L21lZGlhbi8uZ2l0aWdub3JlOgoJKiBnc3QvbWVkaWFuL01ha2VmaWxlLmFtOgoJKiBnc3QvbWVkaWFuL2dzdG1lZGlhbi5jOgoJKiBnc3QvbWVkaWFuL2dzdG1lZGlhbi5oOgoJKiBnc3QvbWVkaWFuL21lZGlhbi52Y3Byb2o6CgkgIG1lZGlhbjogcmVtb3ZlIG5vdyB0aGF0IGl0IGlzIGluIHZpZGVvZmlsdGVyCgoyMDEyLTEwLTE2IDEzOjQ5OjExICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHJlbW92ZSBtZWRpYW4gZnJvbSBidWlsZAoKMjAxMi0xMC0xNiAxMzo0NzoyNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvbWVkaWFuLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb21lZGlhbi5oOgoJKiBnc3QvdmlkZW9maWx0ZXIvcGx1Z2luLmM6CgkgIHZpZGVvbWVkaWFuOiBjb3B5IG1lZGlhIHRvIHZpZGVvbWVkaWFuCgkgIENvcHkgdGhlIG1lZGlhbiB2aWRlbyBmaWx0ZXIgdG8gdmlkZW9maWx0ZXJzIGFuZCByZW5hbWUgdG8KCSAgdmlkZW9tZWRpYW4uCgoyMDEyLTEwLTE2IDEzOjEyOjIxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbWVkaWFuL01ha2VmaWxlLmFtOgoJKiBnc3QvbWVkaWFuL2dzdG1lZGlhbi5jOgoJKiBnc3QvbWVkaWFuL2dzdG1lZGlhbi5oOgoJICBtZWRpYTogcG9ydCB0byAxLjAKCjIwMTItMTAtMTYgMDE6MDI6MTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpZGVtdXg6IGFwcGVuZCBwYWxldHRlIGRhdGEgdG8gcGFsZXR0ZWQgOC1iaXQgUkdCIGZyYW1lcwoJICBGaXhlcyBwbGF5YmFjayBvZiA4LWJpdCBpbmRleGVkIFJHQiB2aWRlb3MsIHdpdGggZml4ZXMgaW4gLWJhc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODYwNDYKCjIwMTItMTAtMTUgMTU6MzY6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBBbmQgdGhpcyB0aW1lIGZpeCB0aGUgZGVmYXVsdCB0YXJnZXQtYml0cmF0ZSB2YWx1ZSBmb3IgcmVhbAoKMjAxMi0xMC0xNSAxNTozMDozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IEZpeCBkZWZhdWx0IHRhcmdldC1iaXRyYXRlIHZhbHVlCgoyMDEyLTEwLTEzIDAwOjAzOjI5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRvbid0IGFzc2VydCBpZiB1cHN0cmVhbSBzaXplIGlzIG5vdCBhdmFpbGFibGUgd2hlbiBndWVzc2luZyBiaXRyYXRlcwoJICBGaXhlcyBhYm9ydCBpbiBwdXNoIG1vZGUgd2hlcmUgdGhlIHNvdXJjZSBpcyBub3Qgc2Vla2FibGUgYW5kIHRoZQoJICBzaXplIG9mIHRoZSBmaWxlIGlzIG5vdCBhdmFpbGFibGUsIGFzIHdpdGgKCSAgY2F0IGZvby5tcDQgfCBnc3QtbGF1bmNoLTEuMCBwbGF5YmluIHVyaT1mZDovLzAKCSAgTGVzcyBub3RpY2FibGUgd2l0aCByZWxlYXNlcywgc2luY2Ugd2UgZGlzYWJsZSBhbGwKCSAgZ19hc3NlcnQoKSB0aGVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjAwOAoKMjAxMi0xMC0xMiAxNDozODozMyAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHJkaW8uY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IGFsbG93IG1vcmUgc3RyZWFtcy4gQnVtcCB0aGlzIGNvbnN0YW50IHRvIDMyLCB3aGljaCBzaG91bGQgYmUgZW5vdWdoIGZvciByZWFsLXdvcmxkIGZpbGVzLgoKMjAxMi0xMC0xMiAxNDozNToyNCAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHJkaW8uY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHN1cHBvcnQgbW9yZSBkaWZmZXJlbnQgZm91cmNjIHZhbHVlcyBmb3Igb3RoZXIgUHJvUmVzIHZhcmlhbnRzLgoKMjAxMi0xMC0xMSAyMjozNjoyMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2M3AtQU1SLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjNwLVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2M3Auc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2NC1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjQuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtUENNQS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItVlRTLUgyNjNwLUFUUy1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLVZUUy1IMjYzcC5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1hbHNhc3JjLVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItZGVjb2RlYmluLUgyNjNwLUFNUi5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci12NGwyLUgyNjNwLWFsc2FzcmMtQU1SLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXY0bDItSDI2NC1hbHNhc3JjLVBDTUEuc2g6CgkgIGV4YW1wbGVzOiB1cGRhdGUgc29tZSBlbGVtZW50IG5hbWVzIGZvciAxLjAgaW4gUlRQIGV4YW1wbGVzCgkgIGdzdHJ0cGJpbiAtPiBydHBiaW4KCSAgZmZkZWNfKiAgIC0+IGF2ZGVjXyoKCSAgZmZlbmNfKiAgIC0+IGF2ZW5jXyoKCjIwMTItMTAtMTAgMTI6MDU6MzQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHJlbW92ZSB1bnVzZWQgaW5jbHVkZQoKMjAxMi0xMC0xMCAxMDo1NToyOCArMDIwMCAgUmFzbXVzIFJvaGRlIDxyb2hkZUBkdWZmLmRrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgbXVsdGl1ZHBzaW5rOiBhZGQgbXVsdGljYXN0LWlmYWNlIHByb3BlcnR5CgkgIHVkcHNyYyBhbHJlYWR5IGhhcyBzdXBwb3J0IGZvciBzZXR0aW5nIHRoZSBtdWx0aWNhc3QgaW50ZXJmYWNlLCB3aGljaAoJICBpcyB1c2VmdWwgZm9yIG11bHRpLWhvbWVkIG1hY2hpbmVzLiBUaGlzIHBhdGNoIGFkZHMgdGhlIHNhbWUgY29kZSB0bwoJICB0aGUgbXVsdGl1ZHBzaW5rLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1ODY0CgoyMDEyLTEwLTEwIDExOjMyOjE3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiBkb24ndCBlcnJvciBvbiBzZW5kIGVycm9ycyBidXQgb25seSB3YXJuCgkgIERvbid0IGVycm9yIG9uIHNlbmQgZXJyb3JzIGJ1dCBzaW1wbHkgcG9zdCBhIHdhcm5pbmcsIGl0J3MgcG9zc2libGUKCSAgdGhhdCB0aGUgbmV4dCBwYWNrZXQgd2lsbCBiZSBmaW5lLgoKMjAxMi0xMC0xMCAxMDoyODoyNCArMDIwMCAgUmFzbXVzIFJvaGRlIDxyb2hkZUBkdWZmLmRrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgbXVsdGl1ZHBzaW5rOiBhZGQgZm9yY2UtaXB2NCBvcHRpb24KCSAgQWRkIGFuIG9wdGlvbiB0byB0aGUgbXVsdGl1ZHBzaW5rIHRoYXQgbWFrZXMgaXQgcG9zc2libGUgdG8gZm9yY2UKCSAgdGhlIHVzZSBvZiBhbiBJUHY0IHNvY2tldC4KCSAgVGhpcyBjYW4gZS5nLiBiZSB1c2VkIHRvIGhhbmRsZSB0aGUgaXNzdWUgZGVzY3JpYmVkIGluCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODI0ODEKCjIwMTItMTAtMTAgMTA6MTg6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICBtdWx0aXVkcHNpbms6IHJlbW92ZSB1bnVzZWQgZmllbGQKCjIwMTItMTAtMTAgMTA6MTA6MjYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IHVzZSBuZWdvdGlhdGVkIGFsbG9jYXRvciBvciBwb29sCgkgIFVzZSB0aGUgYmFzZSBjbGFzcyB0byBhbGxvY2F0ZSBhIGJ1ZmZlciBmb3IgdXMgYmVjYXVzZSBpdCBrbm93cyBob3cKCSAgdG8gdXNlIHRoZSBuZWdvdGlhdGVkIGFsbG9jYXRvciBvciBidWZmZXJwb29sLgoKMjAxMi0xMC0xMCAxMDowOTozNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazogcG9zdCBlcnJvciB3aGVuIHNvbWV0aGluZyBnb2VzIHdyb25nCgoyMDEyLTEwLTEwIDEwOjA5OjEwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBlbGVtZW50cyBwb3N0IGVsZW1lbnQgbWVzc2FnZXMKCjIwMTItMTAtMDcgMTY6NTY6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQgKGJ1ZyBmaXhpbmcpCgo9PT0gcmVsZWFzZSAxLjAuMSA9PT0KCjIwMTItMTAtMDcgMTU6MzE6MTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMC4xCgoyMDEyLTEwLTA2IDE0OjU3OjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2YzBiNTJjIHRvIDZiYjY5NTEKCjIwMTItMTAtMDUgMTU6MTI6MjcgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEByZGlvLmNvbT4KCgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICBkZWludGVybGVhdmU6IG91dHB1dCBjaGFubmVscyBzaG91bGQgYmUgbWFya2VkIGFzIE1PTk8sIG5vdCBGUk9OVF9MRUZULCBpZiB3ZSdyZSBub3QgcHJlc2VydmluZyBpbnB1dCBjaGFubmVsIHBvc2l0aW9ucy4KCjIwMTItMTAtMDQgMTU6MTM6MjAgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEByZGlvLmNvbT4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogdXNlIGdzdF9hdWRpb19jaGFubmVsX3Bvc2l0aW9uc190b19tYXNrIGluc3RlYWQgb2YgYSBsb2NhbCBjb3B5IG9mIGhhbGYgb2YgaXQuIEhhbmRsZXMgc29tZSB2YWx1ZXMgbW9yZSBjb3JyZWN0bHkuCgoyMDEyLTEwLTA0IDIwOjMyOjQ1ICswMjAwICBSYXNtdXMgUm9oZGUgPHJvaGRlQGR1ZmYuZGs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkgIGdzdHJ0cGRlcGF5OiBkb24ndCBsZWFrIGlucHV0IGJ1ZmZlcgoJICBUaGUgcnRwIGJ1ZmZlciBpcyBuZXZlciB1bm1hcHBlZCBpbiB0aGUgbm9ybWFsIGNvZGUgZXhpdCBwYXRoCgkgIG9mIGdzdF9ydHBfZ3N0X2RlcGF5X3Byb2Nlc3MoLi4pIHJlc3VsdGluZyBpbiBhIG1lbW9yeSBsZWFrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1NTEyCgoyMDEyLTEwLTA0IDE4OjM3OjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgdmlkZW9iYWxhbmNlOiBBZGQgc3VwcG9ydCBmb3IgTlYxMiBhbmQgTlYyMQoKMjAxMi0xMC0wMSAxNToxMTowNSArMDIwMCAgUGF0cmljaWEgTXVzY2FsdSA8cGF0cmljaWFAYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgcnRwaDI2NHBheTogZG8gbm90IHB1c2ggdW5tYXBwZWQgZGF0YQoJICBBbHNvIGRvIG5vdCB1c2UgYSBHc3RCdWZmZXIgYWZ0ZXIgaXQgaGFzIGJlZW4gcHVzaGVkIGludG8gdGhlIGFkYXB0ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODUyMTMKCjIwMTItMTAtMDMgMTA6NTE6NDUgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEByZGlvLmNvbT4KCgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSAgbWV0YSBpbmZvOiB0aHJlYWRzYWZlIHJlZ2lzdHJhdGlvbiB1c2luZyBnX29uY2UKCjIwMTItMTAtMDEgMTU6NDQ6MDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogcHVzaCBtb2RlOyBoYW5kbGUgc29tZSBpbml0aWFsIGp1bmsgYmVmb3JlIGhkcmwgbGlzdAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1MDU5CgoyMDEyLTEwLTAxIDE0OjAzOjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2ljbGVzL2dka3BpeGJ1ZnNpbmstdGVzdC5jOgoJICB0ZXN0czogcG9ydCBnZGtwaXhidWZzaW5rIHRlc3QKCjIwMTItMDktMjkgMTE6NTk6MzEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6CgkgIFB1cmdlIHJlZmVyZW5jZXMgdG8gbGlib2lsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzMyODUKCjIwMTItMDktMjggMTY6NTE6MDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9hdmktaWRzLmg6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHJlY29nbml6ZSBhbGwgeHN1YiBmcmFtZXMgYXMga2V5ZnJhbWVzCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQ5NzcKCjIwMTItMDktMjggMTY6NTA6MjUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogcHVzaCBtb2RlOiBmaW5kIHRoZSBjb3JyZWN0IGNodW5rIGZvciBzZWdtZW50IGZvbGxvd2luZyBzZWVrCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQ5NzcKCjIwMTItMDktMjcgMjI6MTc6NDkgKzAxMDAgIEFybmF1ZCBWcmFjIDxyYXdvdWxAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IGZpeCBwYXJzaW5nIGluIHB1c2ggbW9kZSB3aGVuIG1vb3YgYXRvbSBpcyBhdCB0aGUgZW5kCgkgIFdoZW4gcGxheWluZyBhbiBtcDQgZmlsZSB3aXRoIHRoZSBNT09WIGF0b20gYXQgdGhlIGVuZCBvZiB0aGUgZmlsZSwgcGxheWJhY2sKCSAgZmFpbHMgd2l0aCB0aGUgZXJyb3IgbWVzc2FnZSAibm8gJ21vb3YnIGF0b20gd2l0aGluIHRoZSBmaXJzdCAxMCBNQiIuIFRoaXMgaXMKCSAgZHVlIHRvIGEgbWlzdGFrZSBpbiB0aGUgdXBzdHJlYW1fc2l6ZSB0eXBpbmcsIG1ha2luZyB0aGUgc2VlayB0byB0aGUgZW5kIG9mCgkgIGZpbGUgbmV2ZXIgaGFwcGVuaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0OTcyCgoyMDEyLTA5LTI3IDE1OjUwOjQ5IC0wMzAwICBBbmRyZSBNb3JlaXJhIE1hZ2FsaGFlcyAoYW5kcnVua28pIDxhbmRyZS5tYWdhbGhhZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkgIGdhbW1hOiByZW1vdmUgZHVwbGljYXRlIGVudHJpZXMgYXQgZm9ybWF0IGF0IGNhcHMKCSAgQXZvaWRzIGV4dHJhIGNhcHMvc3RydWN0dXJlcyBwcm9jZXNzaW5nCgoyMDEyLTA5LTI3IDE0OjEzOjQyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSAgcnRwdnJhd2RlcGF5OiBuZWdvdGlhdGUgcG9vbCB3aXRoIHNyY3BhZCBjYXBzCgoyMDEyLTA5LTI3IDExOjAyOjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkgIGR2ZGVtdXg6IFRoZSBjb252ZXJ0IGFuZCBkdXJhdGlvbiBxdWVyaWVzIGFyZSBub3Qgc3VwcG9zZWQgdG8gY2hhbmdlIHRoZSBmb3JtYXQKCjIwMTItMDktMjYgMDk6Mjg6NTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBjbGVhciB2aWRlbyBmcmFtZSBtb3JlIGNvcnJlY3RseQoJICBNYWtlIHN1cmUgbm90IHRvIHRvdWNoIG1lbW9yeSB0aGF0IGRvZXNuJ3QgYmVsb25nIHRvCgkgIG91ciBmcmFtZSwgd2UgbWlnaHQgYmUgb25lIHBhcnQgb2YgYSBzaWRlLWJ5LXNpZGUgM0QKCSAgZnJhbWUsIG9yIGluIGEgcGljdHVyZS1pbi1waWN0dXJlIHNjZW5hcmlvLgoKMjAxMi0wOS0yNiAwMDo0NDo1OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IG1pbm9yIGNsZWFuLXVwCgkgIFVzZSBHc3RCeXRlV3JpdGVyLCBiZWNhdXNlIHdlIGNhbiwgYW5kIGdfdmFsdWVfdGFrZV9ib3hlZC4KCjIwMTItMDktMTAgMTA6Mjc6MjggKzA0MDAgIERtaXRyaXkgU2Ftb25lbmtvIDxkbWl0cml5LnNhbW9uZW5rb0B0ZWxpZ2VudC5ydT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IGZpeCBzcGVleCBhdWRpbyBkZWNvZGluZyBieSBjcmVhdGluZyBmYWtlIHN0cmVhbSBoZWFkZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzYyMgoKMjAxMi0wOS0yNSAyMToyMToxNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkgIHZpZGVvbWl4ZXI6IGZpeCB3YXJuaW5ncyB3aGVuIHVzaW5nIHRyYW5zcGFyZW50IGJhY2tncm91bmQKCSAgZ3N0X3ZpZGVvX2ZyYW1lX21hcCgpIGluY3JlYXNlcyB0aGUgcmVmY291bnQsIHdoaWNoIG1ha2VzCgkgIHRoZSBidWZmZXIgbm90IHdyaXRhYmxlIGFueSBtb3JlIHRlY2huaWNhbGx5LCBzbyBjYWxsaW5nCgkgIGdzdF9idWZmZXJfbWVtc2V0KCkgb24gaXQgd2lsbCBjYXVzZSBuYXN0eSB3YXJuaW5ncy4KCSAgVW5pdCB0ZXN0IGRpc2FibGVkIGJlY2F1c2UgaXQgdmVyeSByYXJlbHkgKGZvciBtZSkKCSAgZmFpbHMsIHBvc3NpYmx5IG5lZ290aWF0aW9uLXJlbGF0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQzOTgKCjIwMTItMDktMjUgMTA6NDM6MjggKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogQWRkIHNvbWUgdXNlZnVsIGRlYnVnIGxvZ2dpbmcKCjIwMTItMDktMjUgMTA6NDE6NDQgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogRml4IHRlbGVjaW5lCgkgIFRoaXMgb25seSBhZmZlY3RzIGJlaGF2aW91ciBpbiB0ZWxlY2luZSBjYXNlcyB3aXRoIHBhdHRlcm4gbG9ja2luZwoJICBlbmFibGVkLiBUaGUgZGVmYXVsdCBjYXNlIHNob3VsZCBiZSB1bnRvdWNoZWQuCgkgIFRoaXMgd29ya3Mgd2l0aCB0aGUgb3V0cHV0IGZyb20gZmllbGRhbmFseXNpcyBhdCBsZWFzdCwgYnV0IHRoZSBmaWVsZAoJICBvcmRlciBsb29rcyBzd2FwcGVkIGZvciB0ZWxlY2luZSBtaXhlZCBidWZmZXJzIHdpdGggdGhlCgkgIERhdmlkX3NsaWRlc19TY2hsZWVmIGNsaXAuCgoyMDEyLTA5LTI1IDE0OjQzOjE1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogRGlzYWJsZSBHTElCIGRlcHJlY2F0aW9uIHdhcm5pbmdzCgkgIEdWYWx1ZUFycmF5IGhhcyBiZWVuIGRlcHJlY2F0ZWQgc2luY2UgMi4zMiAuLi4gYnV0IHRoZXJlJ3Mgbm8gdXNhYmxlCgkgIHJlcGxhY2VtZW50IGZvciBpdC4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjcyMjgKCjIwMTItMDktMjUgMTQ6MTg6MzUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogRml4IGxlYWsKCjIwMTItMDktMjQgMTY6NDY6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50IChidWcgZml4aW5nKQoKPT09IHJlbGVhc2UgMS4wLjAgPT09CgoyMDEyLTA5LTI0IDE0OjA2OjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMC4wCgoyMDEyLTA5LTI0IDExOjU2OjU2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSAgdGVzdHM6IHJlbW92ZSBnX3ByaW50ZXJyKCkgdGhhdCdzIG5vdCBuZWVkZWQgYW55IGxvbmdlcgoJICBub3cgdGhhdCB0Y2FzZV9za2lwX2Jyb2tlbl90ZXN0KCkgcHJpbnRzIGl0IGFzIHdlbGwuCgoyMDEyLTA5LTIzIDE5OjUwOjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOgoJICB0ZXN0czogZGlzYWJsZSBmYWlsaW5nIHJlcGxheWdhaW4gdGVzdHMKCjIwMTItMDktMjMgMTY6MzE6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmg6CgkgIHNtcHRlOiBzZW5kIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMi0wOS0yMyAxNjoxMDozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4Lmg6CgkgIG11bHRpcGFydG11eDogc2VuZCBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTItMDktMjMgMTY6MDI6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBzZW5kIHN0cmVhbS1zdGFydAoKMjAxMi0wOS0yMyAxNTo1NzozNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHNlbmQgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDEyLTA5LTIzIDE1OjQ4OjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmg6CgkgIGludGVybGVhdmU6IGFkZCBhIGJ1bmNoIG9mIEZJWE1FcwoJICBOZWVkcyBzb21lIG1vcmUgd29yaywgc28gc3RyZWFtLXN0YXJ0LCBjYXBzIGFuZCB0YWdzIGFyZQoJICBzZW50IGluIHRoZSByaWdodCBvcmRlci4KCjIwMTItMDktMjMgMTU6MTg6NTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IHNlbmQgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDEyLTA5LTIzIDE1OjE2OjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBzZW5kIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMi0wOS0yMiAxNTowMDoyNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBydHBkdG1mZGVwYXk6IFVzZSAxLjAtc3R5bGUgY2FwcyBuZWdvdGlhdGlvbiBhbmQgYXVkaW8veC1yYXcKCjIwMTItMDktMjIgMTY6MDg6MDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDRmOTYyZjcgdG8gNmMwYjUyYwoKMjAxMi0wOS0yMSAyMTo1NDozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFuc3dlciBVUkkgcXVlcnkKCSAgV2l0aG91dCB0aGlzLCBzb21ldGhpbmcgYWxzbyBhbnN3ZXJlZCB0aGUgcXVlcnkKCSAgd2l0aCBUUlVFIGJ1dCB3aXRob3V0IHNldHRpbmcgYSB1cmksIG5vdCBzdXJlCgkgIHdoYXQgdGhhdCB3YXMuLgoKMjAxMi0wOS0yMCAxNzoyODo0NyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBNYWtlIHN1cmUgdGhlIGNhcHMgZG9uJ3QgaGF2ZSBkdXBsaWNhdGVkIHNwcy9wcHMKCjIwMTItMDktMjAgMTk6NTg6MTIgKzAyMDAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBNdXRlIHN0cmVhbSBwb3N0LWNvbm5lY3Rpb24gaWYgcmVxdWlyZWQKCSAgQSBidWcgaW4gUHVsc2VBdWRpbyBjYXVzZXMgUEFfU1RSRUFNX1NUQVJUX01VVEVEIHRvIGJlIHJlamVjdGVkIG9uCgkgIHJlY29yZCBzdHJlYW1zLiBVbnRpbCB0aGlzIGlzIGZpeGVkIHVwc3RyZWFtLCB3ZSBtdXRlIHRoZSBzdHJlYW0KCSAgbWFudWFsbHkgYXQgc3RhcnR1cC4gQmFzZWQgb24gYSBwYXRjaCBieSBBbGJhbiBCcm93YWV5cwoJICA8cHJhaGFsQHlhaG9vLmNvbT4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQ0NjkKCjIwMTItMDktMjAgMTg6MDA6NTkgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEByZGlvLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiAyNCBiaXQgYXVkaW8gaGVyZSBpcyBTMjRMRSwgbm90IFMyNF8zTEUuCgoyMDEyLTA5LTIwIDEwOjA3OjI0ICswMjAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IGhhbmRsZSBsYXRlbmN5IHF1ZXJ5IGJlZm9yZSBzZXR0aW5nIHVwIHRoZSBidWZmZXJwb29sCgkgIEZpeGVzIGNyYXNoIGlmIG5vIGJ1ZmZlcnBvb2wgaXMgc2V0IHVwIHlldC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDQzMAoKMjAxMi0wOS0xOSAwOToxNzowMyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkgIG9zeGF1ZGlvc2luazogU3BlY2lmeSBlbmRpYW5uZXNzIGluIElFQyA2MTkzNyBwYXlsb2FkaW5nCgkgIENvcnJlc3BvbmRzIHRvIGFuIEFQSSBjaGFuZ2UgaW4gZ3N0LXBsdWdpbnMtYmFzZS4gVGhpcyBuZWVkcyB0byBiZSBmaXhlZAoJICB0byBxdWVyeSB0aGUgZXhwZWN0ZWQgYnl0ZSBvcmRlciB1c2luZyBhcHByb3ByaWF0ZSBBUEkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzgwMjEKCjIwMTItMDktMTkgMDk6MTU6NTMgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IFNwZWNpZnkgZW5kaWFubmVzcyBpbiBJRUMgNjE5MzcgcGF5bG9hZGluZwoJICBEaXJlY3RTb3VuZCBleHBlY3RzIG5hdGl2ZSBlbmRpYW4gYnl0ZSBvcmRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3ODAyMQoKMjAxMi0wOS0xOSAwOToxMzoxMSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogU3BlY2lmeSBlbmRpYW5uZXNzIGluIElFQyA2MTkzNyBwYXlsb2FkaW5nCgkgIENvcnJlc3BvbmRzIHRvIGFuIEFQSSBjaGFuZ2UgaW4gZ3N0LXBsdWdpbnMtYmFzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3ODAyMQoKMjAxMi0wOS0xOSAwMDozOTowMSArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBSZW1vdmUgaW5jb3JyZWN0IGxvZ2ljCgkgIEkgZG9uJ3QgdW5kZXJzdGFuZCB3aHkgdGhlc2UgbGluZXMgd2VyZSBhZGRlZCwgdGhleSBkb24ndCBtYWtlIHNlbnNlIHRvCgkgIG1lIG5vdyBhbmQgYm90aCBEYXZpZCBhbmQgSSBhZ3JlZSB0aGF0IHJlbW92aW5nIHRoZW0gbW92ZXMgY2xvc2VyIHRvCgkgIHJlbGF0ZWQgbG9naWMgYmVpbmcgY29ycmVjdCwgdGhlcmVmb3JlLCB0aGV5J3JlIGJlaW5nIHJlbW92ZWQuCgkgIEkndmUgdGVzdGVkIGEgZmV3IHByb2dyZXNzaXZlLCBpbnRlcmxhY2VkIGFuZCB0ZWxlY2luZSBjbGlwcyBhbmQgdGhleQoJICBhbGwgYmVoYXZlIHByb3Blcmx5IHRpbWVzdGFtcC13aXNlIGFuZCB2aXN1YWxseSBhZnRlciB0aGVzZSBjaGFuZ2VzLgoKMjAxMi0wOS0xOSAwMDoxNzo0OSArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBGaXggZmllbGQgZHVyYXRpb24KCSAgVGhlIGZyYW1lIHJhdGUgZnJhY3Rpb24gaXMgY29ycmVjdGx5IGFkanVzdGVkIGluIHRoZSBjYXNlcyBwcmVjZWRpbmcgdGhlCgkgIGZpZWxkIGR1cmF0aW9uIGNhbGN1bGF0aW9uIGFuZCBzbyB0aGUgZmFjdG9yIG9mIDIgaXMgaW5jb3JyZWN0LgoKMjAxMi0wOS0xOCAxMDozNDowMyAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHJkaW8uY29tPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBGaXggVS9WIHN0cmlkZXMgZm9yIGEgbnVtYmVyIG9mIGNhc2VzLgoKMjAxMi0wOS0xOCAxMjoxMzoyMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBpbml0IHZpZGVvaW5mbwoJICAuLi4gdG8gcHJldmVudCByYW5kb20gYm9ndXMgY2FwcyBmaWVsZHMuCgoyMDEyLTA5LTE4IDEyOjEyOjM5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IGNoYWluIHVwIHRvIGNvbGxlY3RwYWRzIHF1ZXJ5IGZ1bmN0aW9uCgoyMDEyLTA5LTE3IDEzOjE3OjAwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IERvbid0IGxldCBHc3RDb2xsZWN0UGFkIHNoYWRvdyBjdXN0b20gc2luayBwYWQgcXVlcnkgZnVuYwoJICBJbiB0aGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiwgdGhlIGN1c3RvbSBwYWQgcXVlcnkgZnVuY3Rpb24gaXMgbm90IGNhbGxlZC4KCSAgVGhpcyBwYXRjaCwgc2V0IHRoYXQgcXVlcnkgZnVuY3Rpb24gb24gdGhlIEdzdENvbGxlY3RQYWRzIHRvIGF2b2lkIHRoaXMKCSAgc2hhZG93aW5nLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDIzNwoKMjAxMi0wOS0xNyAxODoyMzoxMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9maWxlcy9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGRpc3QgaW1hZ2UuanBnIGZvciBqcGVnIHRlc3QKCj09PSByZWxlYXNlIDAuMTEuOTkgPT09CgoyMDEyLTA5LTE3IDE3OjU3OjU4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMS45OQoKMjAxMi0wOS0xNyAxNjo1MzowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy50eXBlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgIGRvY3M6IHVwZGF0ZQoKMjAxMi0wOS0xNyAxMzozMDoxNSArMDIwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8dXJhZXVzQGxpbnV4cmlzaW4ub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBGaXggc3BlYyBmaWxlIGZvciB2cDggbW92ZQoKMjAxMi0wOS0xNyAxMzoyMzozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSAgYW5ub2RleDogQWRkIHRvIHRoZSBDUlVGVF9ESVJTCgoyMDEyLTA5LTE3IDEyOjE0OjA3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkgIGRvY3M6IHVwZGF0ZQoKMjAxMi0wOS0xNyAwOTo0ODo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IENvcnJlY3RseSBmaW5pc2ggZnJhbWVzCgkgIFByZXZpb3VzbHkgd2Ugd291bGQgYWx3YXlzIGdldCB0aGUgc2FtZSBmcmFtZSBpZiBtdWx0aXBsZSBmcmFtZXMgYXJlIHBlbmRpbmcsCgkgIGxlYWtpbmcgbWVtb3J5IG9mIHRoZSBwcmV2aW91cyBmcmFtZXMgYW5kIGJyZWFraW5nIHRpbWVzdGFtcHMuCgoyMDEyLTA5LTE3IDA5OjQwOjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogQWxsb3cgY2hhbmdpbmcgYml0cmF0ZSBhbmQgb3RoZXIgcGFyYW1ldGVycyBkdXJpbmcgcGxheWJhY2sKCSAgRml4ZXMgYnVnICM2NDgyNzYuCgoyMDEyLTA5LTE3IDA5OjE2OjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmg6CgkgIHZwOGVuYzogU3RvcmUgY29uZmlndXJhdGlvbiBpbiB0aGUgdnB4X2NvZGVjX2VuY19jZmdfdCBzdHJ1Y3QgaW5zdGVhZCBvZiBkdXBsaWNhdGluZyBhbGwgdmFyaWFibGVzCgkgIEFsc28gcHJvdGVjdCBlbmNvZGVyIHdpdGggYSBtdXRleC4KCjIwMTItMDktMTYgMTY6MDM6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBVcGRhdGUgZG9jdW1lbnRhdGlvbiB0byByZWZsZWN0IG5ldyBwcm9wZXJ0eSBuYW1lcwoJICAuLi5hbmQgYWxzbyBsaW5rIHRvIHRoZSBXZWJNIGVuY29kZXIgcGFyYW1ldGVycyB3ZWJzaXRlLgoKMjAxMi0wOS0xNiAxNTo1Nzo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IE1ha2Ugc29tZSBwcm9wZXJ0eSBuYW1lcyBtb3JlIHJlYWRhYmxlCgoyMDEyLTA5LTE2IDE1OjQ3OjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIHZwODogQWRkIHRlc3RzIHRvIC5naXRpZ25vcmUKCjIwMTItMDktMTYgMTU6NDY6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZW5jLmM6CgkgIHZwOGVuYzogVXBkYXRlIHBhdGNoIHRvIHRoZSBuZXcgcHJvcGVydHkgbmFtZXMKCjIwMTItMDktMTYgMTU6NDY6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHZweDogSW50ZWdyYXRlIHRlc3QgaW50byB0aGUgYnVpbGQgc3lzdGVtIHRvbwoKMjAxMi0wMi0wNyAxNzowMDoyNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGRlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDYvNl0gdGVzdHM6IGZpeCBtb3JlIHVuaXQgdGVzdHMKCjIwMTEtMTEtMjQgMjE6NDI6MzkgKzAxMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCA1LzZdIHRlc3RzOiB1cGRhdGUgZm9yIGdzdGNoZWNrIEFQSSBjaGFuZ2UKCjIwMTAtMDctMTAgMTU6NDY6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCA0LzZdIHZwOGRlYzogQWRkIHNpbXBsZSB1bml0IHRlc3QgZm9yIHZwOGRlYwoKMjAxMC0wNy0xMCAxNTo0Njo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDMvNl0gdnA4ZW5jOiBJbXByb3ZlIHVuaXQgdGVzdCBhIGJpdAoKMjAxMC0wNy0xMCAxNTozMjoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDIvNl0gdnA4ZW5jOiBBbHNvIGNoZWNrIHRoZSBvdXRwdXQgY2FwcyBpbiB0aGUgdW5pdCB0ZXN0CgoyMDEwLTA3LTEwIDE1OjI5OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMS82XSB2cDhlbmM6IEFkZCBzaW1wbGUgdW5pdCB0ZXN0CgoyMDEyLTA5LTE2IDE1OjQzOjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSAgdnB4OiBJbnRlZ3JhdGUgaW50byB0aGUgYnVpbGQgc3lzdGVtCgoyMDEyLTA5LTE2IDE1OjMzOjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cHgvR3N0VlA4RW5jLnByczoKCSogZXh0L3ZweC9NYWtlZmlsZS5hbToKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZweC9nc3R2cDhkZWMuaDoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZweC9nc3R2cDhlbmMuaDoKCSogZXh0L3ZweC9nc3R2cDh1dGlscy5jOgoJKiBleHQvdnB4L2dzdHZwOHV0aWxzLmg6CgkqIGV4dC92cHgvcGx1Z2luLmM6CgkgIHZweDogUmVuYW1lIHZwOCBwbHVnaW4gdG8gdnB4CgkgIFRoaXMgaXMgdXNpbmcgbGlidnB4LCB3aGljaCBjYW4gc3VwcG9ydCBtb3JlIGNvZGVjcyB0aGFuIGp1c3QgVlA4CgkgIGFuZCB3aWxsIGxpa2VseSBzdXBwb3J0IGZ1dHVyZSBjb2RlY3MuCgoyMDEyLTA5LTE2IDE1OjMyOjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwODogQXBwbHkgcmVtYWluaW5nIGNoYW5nZXMgdGhhdCBnb3QgbG9zdCB3aGlsZSBtb3ZpbmcgdGhlIHBsdWdpbiB2aWEgZ2l0IGFtIHRoYW5rcyB0byBtZXJnZXMKCjIwMTItMDktMTYgMTU6MjU6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDEzNC8xMzRdIHZwOGRlYzogVW5yZWYgaW5wdXQvb3V0cHV0IHN0YXRlcyB3aGVuIHN0b3BwaW5nIHRoZSBkZWNvZGVyCgoyMDEyLTA5LTE2IDE1OjE4OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvR3N0VlA4RW5jLnByczoKCSAgW01PVkVEIEZST00gQkFEIDEzMy8xMzRdIHZwOGVuYzogVXBkYXRlIHJlYWx0aW1lIHByb2ZpbGUgdG8gdGhlIG5ldyBwcm9wZXJ0aWVzCgoyMDEyLTA5LTE2IDEwOjU2OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMzIvMTM0XSB2cDg6IFJlcXVpcmUgbGF0ZXN0IGxpYnZweCByZWxlYXNlICgxLjEuMCBmcm9tIE1heSAyMDEyKQoJICBGaXhlcyBidWcgIzY4NDExNiBhbmQgc2ltcGxpZmllcyBjb25maWd1cmUgY2hlY2tzLgoKMjAxMi0wOS0xNSAyMDoyMzoxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTMxLzEzNF0gdnA4ZW5jOiBVc2UgYSBzdHJpbmcgZmllbGQgZm9yIHRoZSBwcm9maWxlIGluIHRoZSBjYXBzCgkgIEp1c3QgZm9yIGNvbnNpc3RlbmN5IHdpdGggYWxsIHRoZSBvdGhlciBjb2RlY3MuCgoyMDEyLTA5LTE1IDAwOjA0OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMzAvMTM0XSB2cDhlbmM6IENvcnJlY3RseSBzZXQgcHJvZmlsZSBpbiBjYXBzCgoyMDEyLTA5LTE0IDIzOjQxOjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMjkvMTM0XSB2cDg6IFVwZGF0ZSBjb3B5cmlnaHQgYW5kIGF1dGhvcnMKCjIwMTItMDktMDggMTU6Mzg6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgW01PVkVEIEZST00gQkFEIDEyOC8xMzRdIHZwOGVuYzogUmV3b3JrIGVuY29kZXIgcHJvcGVydGllcyB0byBiZSBtb3JlIGluIGxpbmUgd2l0aCB0aGUgbGlidnB4IHRvb2xzIGFuZCBBUEkKCSAgQWxzbyBhZGQgYWxsIGF2YWlsYWJsZSBwcm9wZXJ0aWVzLgoKMjAxMi0wOS0xNCAxNzowODo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTI3LzEzNF0gcmVwbGFjZSBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUgd2l0aCBnc3RfZWxlbWVudF9jbGFzc19zZXRfbWV0YWRhdGEKCjIwMTItMDctMTkgMDk6MDU6MjggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDEyNi8xMzRdIHZwOGRlYzogQ2FsbCBnc3RfdmlkZW9fZGVjb2Rlcl9uZWdvdGlhdGUoKQoKMjAxMi0wOC0xNCAxMToxNzoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5oOgoJICBbTU9WRUQgRlJPTSBCQUQgMTI1LzEzNF0gdnA4ZGVjOiBBZGQgc3VwcG9ydCBmb3IgbXVsdGlwbGUgZGVjb2RpbmcgdGhyZWFkcwoKMjAxMi0wOC0xNCAxMTowOTo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTI0LzEzNF0gdnA4ZGVjOiBBZGQgc3VwcG9ydCBmb3IgdGhlIE1GUUUgcG9zdHByb2Nlc3NpbmcgZmxhZwoJICBXaGljaCBpcyBlbmFibGVkIGJ5IGRlZmF1bHQgaWYgcG9zdHByb2Nlc3NpbmcgaXMgZW5hYmxlZC4KCjIwMTItMDgtMDkgMTM6Mzc6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9NYWtlZmlsZS5hbToKCSAgW01PVkVEIEZST00gQkFEIDEyMy8xMzRdIHZwODogVXNlIHBrZy1jb25maWcgZmlsZSBmb3IgZ2V0dGluZyB0aGUgTElCUyBhbmQgQ0ZMQUdTCgoyMDEyLTA4LTA4IDE3OjA2OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMjIvMTM0XSB2cDhlbmM6IFVwZGF0ZSB0aGUgcGVyLWNvbXBvbmVudCBzdHJpZGVzIGZvciBldmVyeSBmcmFtZSB0b28KCSAgVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSBvZiBHc3RWaWRlb0FsaWdubWVudAoKMjAxMi0wNy0yNiAxOTozMToxNCArMDIwMCAgT2xla3NpaiBSZW1wZWwgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMjEvMTM0XSB2cDhlbmM6IGluaXRpYXRlIGVuY29kZXIgdG8gZml4IGEgY3Jhc2guCgkgIFdpdGhvdXQgdGhpcyBwYXRjaCB2cDhlbmMgc2VuZCBoZWFkZXIgYmVmb3JlIGFuZCBhZnRlciBmaXJzdAoJICBrZXkgZnJhbWUuIE9uIHNlY29uZCBrZXlmcmFtZSB2cDhkZWMgd2lsbCBjcmFzaCB3aXRob3V0IGdldHRpbmcKCSAgZGVjb2RlZCBmcmFtZS4gV2l0aCB0aGlzIHBpcGUgaXQgaXMgZWFzeSB0byByZXByb2R1Y2UgdGhpcyBpc3N1ZToKCSAgZ3N0LWxhdW5jaC0xLjAgdmlkZW90ZXN0c3JjICEgdnA4ZW5jICEgdnA4ZGVjICEgZmFrZXNpbmsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDY2NwoKMjAxMi0wNy0yOCAwMDozMjo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTIwLzEzNF0gdGFnOiBVcGRhdGUgZm9yIHRhZ2xpc3QvdGFnIGV2ZW50IEFQSSBjaGFuZ2VzCgoyMDEyLTA3LTIzIDEwOjM1OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMTkvMTM0XSBleHQ6IFVwZGF0ZSBmb3IgdmlkZW8gYmFzZSBjbGFzc2VzIEFQSSBjaGFuZ2VzCgoyMDEyLTA3LTIxIDE5OjU5OjIxICswMjAwICBPbGVrc2lqIFJlbXBlbCA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDExOC8xMzRdIHZwOGVuYzogZml4IG1lbW9yeSBsZWFrCgkgIHVucmVmIGZyYW1lLiBpIGhvcGUgaXQgaXMgY29ycmVjdCBwbGFjZSB0byBkbyBpdC4KCSAgU2lnbmVkLW9mZi1ieTogT2xla3NpaiBSZW1wZWwgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCjIwMTItMDctMDYgMTE6NTA6NTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTE3LzEzNF0gdXBkYXRlIGZvciBxdWVyeSBhcGkgY2hhbmdlcwoKMjAxMi0wNy0wNiAxMToyNjo1NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMTYvMTM0XSB1cGRhdGUgZm9yIHF1ZXJ5IGFwaSBjaGFuZ2VzCgoyMDEyLTA3LTA2IDExOjAzOjA0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDExNS8xMzRdIHVwZGF0ZSBmb3IgYWxsb2NhdGlvbiBxdWVyeSBjaGFuZ2VzCgoyMDEyLTA2LTA3IDEyOjMzOjMxICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMTQvMTM0XSB2cDg6IGZpeCBjb2RlYyBzdGF0ZSBsZWFrcwoJICBJIG9ubHkgdGVzdGVkIHRoYXQgdnA4ZW5jICEgdnA4ZGVjIGRvZXMgbm90IGNyYXNoLCBhcyB2YWxncmluZCBkb2VzIG5vdCBncm9rCgkgIGF0IGxlYXN0IG9uZSBvZiB0aGUgaW5zdHJ1Y3Rpb25zIHVzZWQgYnkgdnA4ZW5jLCBwcmV2ZW50aW5nIG1lIGZyb20gY2hlY2tpbmcKCSAgYSBsZWFrLCBhbmQgdGhlIGxhY2sgb2Ygb25lIGFmdGVyIHRoZSBwYXRjaC4KCjIwMTItMDYtMDYgMTM6MDI6NDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTEzLzEzNF0gdXBkYXRlIGZvciB0YWcgZXZlbnQgY2hhbmdlCgoyMDEyLTA1LTI4IDE2OjA1OjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMTIvMTM0XSB2cDg6IFBvcnQgdG8gMC4xMSBhZ2FpbgoKMjAxMi0wNS0xOCAxMjo0Njo1NSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTExLzEzNF0gdnA4ZW5jOiBmaXggdGFyZ2V0IGJpdHJhdGUgY29uZmlnIHdpdGggbGlidnB4IDEuMS4wCgkgIGxpYnZweCAxLjEuMCBkaXNhbGxvd3MgYSBiaXRyYXRlIG9mIDAsIHdoaWNoIHdhcyB1c2VkIGJ5CgkgIHZwOGVuYyBhcyBhIGRlZmF1bHQgdmFsdWUuCgkgIEluc3RlYWQsIHdlIHVzZSB0aGUgZGVmYXVsdCBsaWJ2cHggYml0cmF0ZSwgc2NhbGVkIHRvIG91cgoJICB2aWRlbyBzaXplLCBpZiBubyBiaXRyYXRlIHdhcyBzcGVjaWZpZWQuCgkgIFRoaXMgZml4ZXMgZW5jb2RpbmcgVlA4IHZpZGVvIHdpdGggbGlidnB4IDEuMS4wLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc2MjQ1CgoyMDEyLTA1LTE2IDE0OjA0OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMTAvMTM0XSB2cDhlbmM6IFVwZGF0ZSBmb3IgR3N0VmlkZW9Db2RlY0ZyYW1lIEFQSSBjaGFuZ2VzCgoyMDEyLTA0LTI3IDE4OjIyOjQyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5oOgoJICBbTU9WRUQgRlJPTSBCQUQgMTA5LzEzNF0gdnA4ZGVjOiBJbXByb3ZlIG91dHB1dF9zdGF0ZSBoYW5kbGluZwoJICBBdm9pZCBnZXR0aW5nIG91dHB1dF9zdGF0ZSBmb3IgZXZlcnkgYnVmZmVyIGFzIHRoYXQgcmVxdWlyZXMKCSAgZ2V0dGluZyB0aGUgb2JqZWN0bG9jayBhbmQgZG9pbmcgcmVmZXJlbmNlIGNvdW50aW5nLiBTdG9yZSBpdCBsb2NhbGx5CgkgIHdoZW4gaXQgaXMgY3JlYXRlZCBhbmQgdXNlIGl0LgoKMjAxMi0wNC0yNyAwOTowNTo1NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDEwOC8xMzRdIHZwOGRlYzogVXNlIG91dHB1dHN0YXRlIHdoZW4gY29weWluZyBvdXRwdXQgYnVmZmVyIGRhdGEKCSAgVXNpbmcgdGhlIGlucHV0IHN0YXRlIHdhcyBjYXVzaW5nIGEgY3Jhc2ggYmVjYXVzZSB0aGUgc3RyaWRlcy9vZmZzZXRzCgkgIHdvdWxkIGJlIHdyb25nLiBGaXggaXQgYnkgdXNpbmcgdGhlIG91dHB1dCBhcyB3ZSBhcmUgZGVhbGluZyB3aXRoCgkgIHRoZSBkZWNvZGVkIGZyYW1lLgoKMjAxMi0wNC0yNCAxMTowODo0MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTA3LzEzNF0gdnA4OiBQb3J0IHRvIC1iYXNlIHZpZGVvIGJhc2UgY2xhc3NlcwoJICBDb25mbGljdHM6CgkgIGV4dC92cDgvTWFrZWZpbGUuYW0KCSAgZXh0L3ZwOC9nc3R2cDhkZWMuYwoJICBleHQvdnA4L2dzdHZwOGVuYy5jCgkgIEJhY2sgdG8gMC4xMCBzdGF0ZSBmb3Igbm93LCBuZWVkIHRvIGJlIHBvcnRlZCBhZ2Fpbi4KCjIwMTItMDUtMTggMTI6NDY6NTUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDEwNi8xMzRdIHZwOGVuYzogZml4IHRhcmdldCBiaXRyYXRlIGNvbmZpZyB3aXRoIGxpYnZweCAxLjEuMAoJICBsaWJ2cHggMS4xLjAgZGlzYWxsb3dzIGEgYml0cmF0ZSBvZiAwLCB3aGljaCB3YXMgdXNlZCBieQoJICB2cDhlbmMgYXMgYSBkZWZhdWx0IHZhbHVlLgoJICBJbnN0ZWFkLCB3ZSB1c2UgdGhlIGRlZmF1bHQgbGlidnB4IGJpdHJhdGUsIHNjYWxlZCB0byBvdXIKCSAgdmlkZW8gc2l6ZSwgaWYgbm8gYml0cmF0ZSB3YXMgc3BlY2lmaWVkLgoJICBUaGlzIGZpeGVzIGVuY29kaW5nIFZQOCB2aWRlbyB3aXRoIGxpYnZweCAxLjEuMC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NjI0NQoKMjAxMi0wNC0wNSAxODowMjo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L3BsdWdpbi5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTA1LzEzNF0gZ3N0OiBVcGRhdGUgZm9yIEdTVF9QTFVHSU5fREVGSU5FKCkgQVBJIGNoYW5nZXMKCjIwMTItMDQtMDQgMTQ6NDE6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9NYWtlZmlsZS5hbToKCSAgW01PVkVEIEZST00gQkFEIDEwNC8xMzRdIGdzdDogVXBkYXRlIHZlcnNpb25pbmcKCjIwMTItMDMtMDYgMTU6MjE6MTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDEwMy8xMzRdIHZwOGVuYzogRml4ICdhcmd1bWVudCB0byAnc2l6ZW9mJyBpbiAnbWVtc2V0JyBjYWxsIGlzIHRoZSBzYW1lIGV4cHJlc3Npb24gYXMgdGhlIGRlc3RpbmF0aW9uJyBjb21waWxlciB3YXJuaW5nCgoyMDEyLTAxLTMwIDE3OjE3OjE2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDEwMi8xMzRdIHVwZGF0ZSBmb3IgSEVBREVSIGZsYWcKCjIwMTItMDEtMjUgMTg6NDk6NTggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDEwMS8xMzRdIHBvcnQgc29tZSBtb3JlIHRvIG5ldyBtZW1vcnkgQVBJCgkgIEZpeGVzICM2Njg2NzcuCgoyMDEyLTAxLTI0IDExOjIyOjQ2ICswMTAwICBPbGVrc2lqIFJlbXBlbCAoQWxleGV5IEZpc2hlcikgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMDAvMTM0XSB2cDhlbmM6IHRyYWNlIG91dGdvaW5nIHRpbWVzdGFtcHMKCSAgYWRkIGluZm8gbGV2ZWwgcHJpbnRzIGZvciBvdXRnb2luZyB0aW1lc3RhbXBzLgoJICBTaWduZWQtb2ZmLWJ5OiBPbGVrc2lqIFJlbXBlbCAoQWxleGV5IEZpc2hlcikgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCjIwMTItMDEtMDQgMTE6MDU6NDggKzAxMDAgIE9sZWtzaWogUmVtcGVsIChBbGV4ZXkgRmlzaGVyKSA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA5OS8xMzRdIHZwOGRlYzogdXNlIGlzX2FsdF9kYXRhIG9wdGlvbiB0byBwcmV2ZW50IHRpbWVzdGFtcCBjb2xsaXNpb25zCgkgIGFsdHJlZi9pbnZpc2libGUgZnJhbWVzIHVzdWFsbHkgc3RvcmVkIGluIGNvbnRhaW5lciB3aXRoIHNhbWUgdGltZXN0YW1wIGFzCgkgIGRlcGVuZGV0IGZyYW1lLiBUaGlzIG1ha2UgYmFzZXZpZGVvZGVjb2RlciB0byB1cGRhdGUgdGltZXN0YW1wIGZvciBkZXBlbmRldAoJICBmcmFtZSBhbmQgY291c2UgVFMgY29saXNpb24gb24gbmV4dCBmcmFtZToKCSAgXi0gaGVyZSBpcyBhbHRyZWYKCSAgdGltZSAgICAgOiAxIDIgMyA0IDUgNiA3IDggOQoJICB3ZWJtIHRzICA6IDEgICAzIDUgNSAgIDcgICA5CgkgIHZwOGRlYyB0czogMSAgIDMgICA3ICAgNyAgIDkKCSAgRml4IGJ1ZzogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NTI0NQoJICBTaWduZWQtb2ZmLWJ5OiBPbGVrc2lqIFJlbXBlbCAoQWxleGV5IEZpc2hlcikgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCjIwMTItMDEtMDIgMDg6Mjg6MTMgKzAxMDAgIE9sZWtzaWogUmVtcGVsIChBbGV4ZXkgRmlzaGVyKSA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9Hc3RWUDhFbmMucHJzOgoJKiBleHQvdnA4L01ha2VmaWxlLmFtOgoJICBbTU9WRUQgRlJPTSBCQUQgMDk4LzEzNF0gdnA4OiBhZGQgaW5pdGlhbCBwcmVzZXQgZmlsZQoJICBUaGlzIGlzIGluaXRpYWwgcHJlc2V0IGZpbGUsIGN1cnJlbnRseSB3aXRoIG9ubHkgb25lIHByb2ZpbGUKCSAgZm9yIHJlYWx0aW1lIGVuY29kaW5nLgoJICBTaWduZWQtb2ZmLWJ5OiBPbGVrc2lqIFJlbXBlbCAoQWxleGV5IEZpc2hlcikgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCjIwMTEtMTEtMjggMTM6MDg6MjcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA5Ny8xMzRdIHZhcmlvdXM6IGZpeCBwYWQgdGVtcGxhdGUgcmVmIGxlYWtzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjI2NjQKCjIwMTEtMTEtMjUgMTE6MzY6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA5Ni8xMzRdIHZwOGRlYzogdXNlIG5ldyBiYXNldmlkZW9kZWNvZGVyIEFQSSB0byBkcm9wIGZyYW1lcyBhbmQgZ2V0IFFvUyBtZXNzYWdlcyBwb3N0ZWQKCjIwMTEtMTEtMTAgMTU6MTM6MzQgKzAyMDAgIE1hcnQgUmF1ZHNlcHAgPGxlaW9AZ2VudG9vLm9yZz4KCgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkgIFtNT1ZFRCBGUk9NIEJBRCAwOTUvMTM0XSBtaW1pYywgb3BlbmN2LCB2cDgsIGFjbW1wM2RlYywgbGluc3lzOiBEb24ndCBidWlsZCBzdGF0aWMgcGx1Z2lucwoJICBQYXNzIC0tdGFnPWRpc2FibGUtc3RhdGljIHRvIGxpYnRvb2wgZXZlcnl3aGVyZSB3aGVyZSBpdCdzIGJlZW4gZm9yZ290dGVuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM3NjgKCjIwMTEtMTEtMDMgMTQ6MDE6NDEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA5NC8xMzRdIHZwODogUG9ydCB0byAwLjExCgoyMDExLTA4LTIxIDIwOjE1OjI1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwOTMvMTM0XSB2cDhlbmM6IGZpeCBkcm9wLWZyYW1lIHByb3BlcnR5CgkgIEZpeGVzICM2NTY5MjkuCgoyMDExLTA4LTE5IDE5OjE3OjE1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwOTIvMTM0XSB2cDg6IHByb2JlIGZvciB0aGUgbmV3IHR1bmluZyBBUEkgdG8ga2VlcCBidWlsZGluZyB3aXRoIG9sZGVyIGxpYnZweAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU2OTI4CgoyMDExLTA4LTE4IDEwOjM5OjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwOTEvMTM0XSB2cDhlbmM6IFJlbW92ZSB1bnVzZWQgYW5kIHVzZWxlc3MgdmFyaWFibGUgaW4gdGFncyBoYW5kbGluZwoKMjAxMS0wOC0xMiAxMjowODowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDkwLzEzNF0gdnA4ZW5jOiBVcGRhdGUgZm9yIGJhc2V2aWRlb2VuY29kZXIgOjpnZXRfY2FwcygpIHJlbW92YWwKCjIwMTEtMDctMDkgMTg6NTM6MjQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgW01PVkVEIEZST00gQkFEIDA4OS8xMzRdIHZwOGVuYzogQWRkIG1vcmUgcHJvcGVydGllcwoKMjAxMS0wNi0xOSAxNjowNjo0NiArMDIwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgW01PVkVEIEZST00gQkFEIDA4OC8xMzRdIHZwOGVuYzogYWRkIG1pbi9tYXhzZWN0aW9uLXBjdCBvcHRpb24KCSAgVGhpcyBvcHRpb25zIHNob3VsZCBiZSBnb29kIHRvIHJlZGV1Y2UgZGVjb2RlIENQVSBsb2FkLgoJICBmb3IgbG93ZW5kIGhhcmR3YXJlOgoJICBtaW5zZWN0aW9uLXBjdD0xNSBtYXhzZWN0aW9uLXBjdD00MDAKCSAgZm9yIGhpZW5kIGh3OgoJICBtaW5zZWN0aW9uLXBjdD01IG1heHNlY3Rpb24tcGN0PTgwMAoJICBzZWUgZXhhbXBsZToKCSAgaHR0cDovL3d3dy53ZWJtcHJvamVjdC5vcmcvdG9vbHMvZW5jb2Rlci1wYXJhbWV0ZXJzLyMyLXBhc3NfdmJyX2VuY29kaW5nX2Zvcl9zbW9vdGhfcGxheWJhY2tfb25fbG93LWVuZF9oYXJkd2FyZQoJICBTaWduZWQtb2ZmLWJ5OiBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAxMS0wNi0xOSAxMTowNTozNiArMDIwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgW01PVkVEIEZST00gQkFEIDA4Ny8xMzRdIHZwOGVuYzogYWRkIGxhZy1pbi1mcmFtZXMgb3B0aW9uLgoJICBUaGlzIG9wdGlvbiBzZXQgbWF4aW11bSBvZiBmcmFtZXMgY29kZWMgc2hvdWxkIHJlbWVtYmVyLAoJICB0byBtYWtlIGJldHRlciBwcmVkaWt0aW9uIGZvciBhbHQtcmVmIGZyYW1lcy4KCSAgU2VlIGV4YW1wbGU6CgkgIGh0dHA6Ly93d3cud2VibXByb2plY3Qub3JnL3Rvb2xzL2VuY29kZXItcGFyYW1ldGVycy8jMi1wYXNzX2Jlc3RfcXVhbGl0eV92YnJfZW5jb2RpbmcKCSAgU2lnbmVkLW9mZi1ieTogQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMTEtMDYtMTkgMDc6MTY6NTcgKzAyMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwODYvMTM0XSB2cDhlbmM6IHVzZSBtdWx0aXBhc3MuY2FjaGUgZmlsZSBuYW1lIGFzIGRlZmF1bHQgZm9yIG11bHRpcGFzcyBtb2RlLgoJICBTaWduZWQtb2ZmLWJ5OiBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAxMS0wNy0yMSAwODowMzo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDg1LzEzNF0gdnA4ZW5jOiBVcGRhdGUgZm9yIEdzdEJhc2VWaWRlb0VuY29kZXI6OmZpbmlzaCgpIHNpZ25hdHVyZSBjaGFuZ2UKCjIwMTEtMDctMTIgMTg6MDU6MjUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDg0LzEzNF0gdnA4OiBGaXggc2V0LWJ1dC11bnVzZWQgd2FybmluZ3MKCjIwMTEtMDctMDkgMTE6MzE6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA4My8xMzRdIHZwOGVuYzogVXNlIGRlc3Ryb3kgbm90aWZ5IHRvIGZyZWUgdGhlIGNvZGVyIGhvb2sKCjIwMTEtMDYtMTggMTU6NTY6NDkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA4Mi8xMzRdIHZwOGVuYzogdXBkYXRlIGZvciBuZXcgbGlidnB4IGFwaQoKMjAxMS0wNi0yNiAxNToxNTo1NCArMDIwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA4MS8xMzRdIHZwOGVuYzogZ2VuZXJhdGUgYSB0aW1lc3RhbXAgZm9yIGFsdC1yZWYgZnJhbWVzLgoJICBJdCB3aWxsIGZpeCBoYW5kbGluZyBvZiBhbHRyZWYvaW52aXNpYmxlIGZyYW1lcyBzaW5jZSBtYXRyb3NrYS1tdXgKCSAgZHJvcCBhbnkgZnJhbSB3aXRoIG5vIHRpbWVzdGFtcC4KCSAgc2VlIGFsc286CgkgIGh0dHA6Ly93d3cud2VibXByb2plY3Qub3JnL2NvZGUvc3BlY3MvY29udGFpbmVyLwoJICBUaGUgZW5jb2RlciB3aWxsIGN1cnJlbnRseSBzZXQgdGhlIEFSJ3MgdGltZXN0YW1wIGFzIGNsb3NlIGFzIHBvc3NpYmxlCgkgIHRvIHRoZSBwcmV2aW91cyBmcmFtZSB3aGlsZSBhdHRlbXB0aW5nIHRvIHByb3ZpZGUgYSB0aW1lc3RhbXAgdGhhdCBpcwoJICBzdHJpY3RseSBpbmNyZWFzaW5nLiBJbiBjYXNlcyB3aGVyZSB0aGUgdGltZSBiYXNlIGdpdmVuIHRvIHRoZSBlbmNvZGVyCgkgIGF0IGNvbmZpZ3VyZSB0aW1lIGlzIG5vdCBncmFudWxhciBlbm91Z2ggdG8gYWxsb3cgZm9yIHRoaXMgdGhlIEFSCgkgIHdpbGwgc2hhcmUgdGhlIHNhbWUgdGltZXN0YW1wIGFzIEQsIGJ1dCBzaG91bGQgYmUKCSAgdHJlYXRlZCBhcyBoYXZpbmcgbm8gZHVyYXRpb24uCgkgIEZpeGVzIGJ1ZyAjNjUyOTUxCgkgIFNpZ25lZC1vZmYtYnk6IEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCjIwMTEtMDYtMTggMTc6NDc6MzYgKzAyMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwODAvMTM0XSB2cDhkZWM6IGFkZCBjaGVjayBpZiB3ZSBoYXZlIGxlZ2FsIGFzcGVjdC1yYXRpbyBiZWZvcmUgcmVzZXQgaXQuCgkgIHRoZSBjb21taXQgZjliNTUyZjA0OTRlICh2cDhkZWM6IHNldCBwYXIgdG8gMS8xKQoJICB3aWxsIGZpeCBzaXR1YXRpb24gd2hlcmUgbm8gYXNwZWN0LXJhdGlvIGlzIHNldCwgYnV0IGl0IGJyYWtlCgkgIHN0cmVhbSB3aXRoIGF2YWlsYWJsZSBhc3BlY3QtcmF0aW8uIFRoaXMgcGF0Y2ggZml4IGl0LgoJICBGaXhlczogIzY1MjkwMi4KCSAgU2lnbmVkLW9mZi1ieTogQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKMjAxMS0wNi0wMyAxOTozNjo1OSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDc5LzEzNF0gdnA4ZGVjOiBzZXQgcGFyIHRvIDEvMQoKMjAxMS0wNS0xOCAxMzoyNzoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDc4LzEzNF0gdnA4ZW5jOiBOYW1lIG1heC9taW4gcXVhbnRpemVyIHByb3BlcnRpZXMge21heCxtaW59LXF1YW50aXplcgoJICBBbHNvIGltcHJvdmUgcXVhbGl0eSBwcm9wZXJ0eSBkZXNjcmlwdGlvbi4KCjIwMTEtMDUtMTggMTM6MjY6MjMgKzAyMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNzcvMTM0XSB2cDhlbmM6IEFkZCBwcm9wZXJ0aWVzIHRvIHNlbGVjdCBhIG1heGltdW0gYW5kIG1pbmltdW0gcXVhbnRpemVyCgkgIEZpeGVzIGJ1ZyAjNjQxNDA1LgoKMjAxMS0wNS0xOCAxMzoxODo1OCArMDIwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA3Ni8xMzRdIHZwOGVuYzogRml4IHF1YWxpdHkgdG8gKGNvbnN0YW50KSBxdWFudGl6ZXIgbWFwcGluZwoJICBUaGlzIG5vdyBhbGxvd3MgdG8gc2VsZWN0IGFsbCBwb3NzaWJsZSBxdWFudGl6ZXJzIGJldHdlZW4KCSAgMCBhbmQgNjMuCgkgIFNlZSBidWcgIzY0MTQwNS4KCjIwMTEtMDQtMDEgMjI6MTM6NTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA3NS8xMzRdIHZwOGRlYzogZGVidWcgY29kZSBzdHlsZSBmaXhlcwoKMjAxMS0wNC0wMSAyMjoxMzowMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDc0LzEzNF0gdnA4ZGVjOiBwcm9wYWdhdGUgZG93bnN0cmVhbSBmbG93IHJldHVybiB0byB1cHN0cmVhbQoKMjAxMS0wMy0zMCAxMDoxODoyMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDczLzEzNF0gYmFzZXZpZGVvZGVjb2RlcjogcmVhbGx5IGFuZCBvbmx5IHNldCBzcmMgcGFkIGNhcHMgd2hlbmV2ZXIgcmVxdWVzdGVkCgkgIC4uLiBzaW5jZSBzdWJjbGFzcyBpcyBleHBlY3RlZCB0byBiZSB3aXNlIGVub3VnaCB0byBrbm93IHdoZW4gdG8gZG8gc28uCgoyMDExLTAzLTI5IDEwOjQxOjU0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNzIvMTM0XSBiYXNldmlkZW9kZWNvZGVyOiBpbnZva2Ugc3ViY2xhc3Mgc3RhcnQgbWV0aG9kIGF0IHN0YXRlIGNoYW5nZSBhbmQgdXNlIHNldF9mb3JtYXQKCSAgV2hpbGUgdGhpcyBjaGFuZ2VzIEFQSSBzbGlnaHRseSAoZS5nLiBhY3R1YWxseSB1c2VzIHNldF9mb3JtYXQgbm93KSwgd2hpY2ggaXMgT0sKCSAgZm9yIHVuc3RhYmxlIEFQSSwgaXQgaGFzIGZvbGxvd2luZyBtZXJpdHM6CgkgICogc3ltbWV0cmljIHcuci50LiBzdG9wIGF0IHN0YXRlIGNoYW5nZQoJICAqIGluIGxpbmUgd2l0aCBvdGhlciBiYXNlIGNsYXNzIHByYWN0aWNlCgkgICogb3RoZXJ3aXNlIG5vIHN1YmNsYXNzIG1ldGhvZCBhdCBzdGF0ZSBjaGFuZ2UgKGdsb2JhbCBhY3RpdmF0aW9uIHRpbWUpCgkgIE1vcmVvdmVyLCBzdWJjbGFzc2VzZSBhcmUgZWl0aGVyIHVuYWZmZWN0ZWQgb3IgdHJpdmlhbGx5IGFkanVzdGVkIGFjY29yZGluZ2x5LgoKMjAxMS0wMy0yOCAwODo1OToyMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDcxLzEzNF0gYmFzZXZpZGVvZGVjb2Rlcjogc3Vic3VtZSBza2lwX2ZyYW1lIGludG8gZmluaXNoX2ZyYW1lCgoyMDExLTAzLTI0IDE0OjEwOjA3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNzAvMTM0XSBiYXNldmlkZW9lbmNvZGVyOiBwcm92aWRlIHByb3BlciB1cHN0cmVhbSBmbG93IHJldHVybiBoYW5kbGluZwoKMjAxMS0wMy0yNCAxMzo1OTozNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICBbTU9WRUQgRlJPTSBCQUQgMDY5LzEzNF0gdnA4ZW5jOiBtaW5vciBvcHRpbWl6YXRpb24gaW4gc2V0dGluZyB1cCBpbWFnZSBidWZmZXIKCjIwMTEtMDMtMjQgMTI6NTA6MjMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA2OC8xMzRdIHZwOGVuYzogcmVmYWN0b3IgZnJhbWUgcHJvY2Vzc2luZwoKMjAxMS0wMy0yNCAxMTo1NTo0MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDY3LzEzNF0gdnA4ZW5jOiBkbyBpbml0IGF0IHNldF9mb3JtYXQgdGltZQoKMjAxMS0wMy0yNCAxMDoxNTo1NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICBbTU9WRUQgRlJPTSBCQUQgMDY2LzEzNF0gdnA4ZW5jOiBmaXgga2V5ZnJhbWUgZm9yY2luZwoKMjAxMS0wMy0yMyAwOTo0NToyMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDY1LzEzNF0gYmFzZXZpZGVvY29kZWM6IHJlbW92ZSByZWR1bmRhbnQgY2FwcyBmaWVsZAoJICAuLi4gYXMgaXQgaXMgYWxyZWFkeSBhdCBoYW5kIGFzIHRoZSBzcmMgcGFkJ3MgbmVnb3RpYXRlZCBjYXBzLgoKMjAxMS0wMy0yMyAwODo1MDozMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICBbTU9WRUQgRlJPTSBCQUQgMDY0LzEzNF0gdnA4ZW5jOiB1c2UgYmFzZWNsYXNzIGV2ZW50IHZpcnR1YWwgaGFuZGxlcgoKMjAxMS0wMi0yMCAxNDoxNjoxOCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5oOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICBbTU9WRUQgRlJPTSBCQUQgMDYzLzEzNF0gYmFzZXZpZGVvOiBtZXJnZSB1dGlscyBoZWFkZXIgaW50byBiYXNldmlkZW9jb2RlYwoKMjAxMS0wMy0xNyAxNjozNDowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L01ha2VmaWxlLmFtOgoJICBbTU9WRUQgRlJPTSBCQUQgMDYyLzEzNF0gdnA4OiBmaXggTElCQUREIG9yZGVyIGluIE1ha2VmaWxlLmFtCgoyMDExLTAyLTA0IDA5OjA4OjI2ICswMTAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDYxLzEzNF0gdnA4ZW5jOiBBZGQgZGVzY3JpcHRpb24gZm9yIGJpdHJhdGUgdW5pdHMuCgoyMDEwLTExLTMwIDE4OjQzOjI0IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNjAvMTM0XSB2cDhlbmM6IFJlYWRkIHNldHRpbmcgb2YgZ3JhbnVsZXBvcwoJICBSZXZlcnQgcGFydHMgb2YgbGFzdCBwYXRjaCB0aGF0IHJlbW92ZWQgc2V0dGluZyBvZiBncmFudWxlcG9zLgoJICBvZ2dtdXggc3RpbGwgcmVxdWlyZXMgY29ycmVjdCBncmFudWxlcG9zIGluIGluY29taW5nIHBhY2tldC4KCjIwMTAtMTEtMjkgMjA6MjE6MzEgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA1OS8xMzRdIHZwOGVuYzogRG9uJ3Qgb3ZlcnJpZGUgdGltZXN0YW1wcyBzZXQgYnkgYmFzZSBjbGFzcwoJICBCZWNhdXNlIHRoZSBiYXNlIGNsYXNzIGRvZXMgaXQgY29ycmVjdGx5LgoJICBGaXhlczogIzYzNTcyMCwgIzYyNTU1OC4KCjIwMTAtMTEtMjUgMTg6NTI6NDcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDU4LzEzNF0gdnA4OiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoKMjAxMC0xMC0wOSAxNzozNjowNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDU3LzEzNF0gYmFzZXZpZGVvOiBNb3ZlIGNvbW1vbiBmaWVsZHMvZnVuY3Rpb25zIHRvIGJhc2Vjb2RlYwoKMjAxMC0wOS0xOCAxNzoyODo0OCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDU2LzEzNF0gYmFzZXZpZGVvOiBNb3ZlIGRlYWRsaW5lIHRvIGZyYW1lIHN0cnVjdHVyZQoKMjAxMC0wOC0xMyAxNDozNDoyMSArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNTUvMTM0XSB2cDhkZWM6IFNldCBHc3RCYXNlVmlkZW9EZWNvZGVyOjpwYWNrZXRpemVkIHRvIFRSVUUgYXMgc29vbiBhcyBwb3NzaWJsZQoJICBUaGlzIGZpeGVzIGFuIGluZmluaXRlIGxvb3AgaWYgYW4gRU9TIGV2ZW50IGlzIHJlY2VpdmVkIGJlZm9yZQoJICBHc3RCYXNlVmlkZW9EZWNvZGVyOjpzdGFydCgpIGlzIGNhbGxlZCwgZS5nLiBpbW1lZGlhdGVseSB3aGVuIHRoZQoJICBwYWRzIGFyZSBhY3RpdmF0ZWQuCgkgIEZpeGVzIGJ1ZyAjNjI2ODE1LgoKMjAxMC0wNy0xMCAxNjo1MjoxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICBbTU9WRUQgRlJPTSBCQUQgMDU0LzEzNF0gdnA4ZW5jOiBBZGQgc3VwcG9ydCBmb3IgZW5hYmxpbmcgYXV0b21hdGljIGluc2VydGlvbiBvZiBhbHQtcmVmIGZyYW1lcyBieSB0aGUgZW5jb2RlcgoKMjAxMC0wNy0xMCAxNjo1MTo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDUzLzEzNF0gdnA4ZW5jOiBGaXggaGFuZGxpbmcgb2YgaW52aXNpYmxlL2FsdCByZWYgZnJhbWVzCgoyMDEwLTA3LTAzIDE3OjQ3OjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmg6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNTIvMTM0XSB2cDg6IEFkZCBpbml0aWFsIGRvY3VtZW50YXRpb24sIGJhc2VkIG9uIHRoZSB0aGVvcmFkZWMvdGhlb3JhZW5jIGRvY3VtZW50YXRpb24KCjIwMTAtMDctMDMgMTc6MzQ6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9NYWtlZmlsZS5hbToKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuaDoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSogZXh0L3ZwOC9wbHVnaW4uYzoKCSAgW01PVkVEIEZST00gQkFEIDA1MS8xMzRdIHZwODogTW92ZSBzdHJ1Y3R1cmUgZGVmaW5pdGlvbnMsIGV0YyB0byBwdWJsaWMgaGVhZGVyIGZpbGVzIGZvciBndGstZG9jCgoyMDEwLTA2LTEyIDA5OjAyOjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNTAvMTM0XSB2cDhlbmM6IEltcGxlbWVudCBtdWx0aXBhc3MgZW5jb2RpbmcKCSAgRml4ZXMgYnVnICM2MjEzNDguCgoyMDEwLTA2LTE0IDE1OjU2OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNDkvMTM0XSB2cDhlbmM6IFNldCBWUDhFX1NFVF9DUFVVU0VEIHRvIDAKCSAgVGhpcyBzZXR0aW5nIGNvbnRyb2xzIGhvdyBtdWNoIENQVSBjYW4gYmUgdXNlZCBieSB0aGUgZW5jb2Rlciwgc3BlY2lmaWVkCgkgIGluIGZyYWN0aW9ucyBvZiAxNi4gTmVnYXRpdmUgdmFsdWVzIG1lYW4gc3RyaWN0IGVuZm9yY2VtZW50IG9mIHRoaXMKCSAgd2hpbGUgcG9zaXRpdmUgdmFsdWVzIGFyZSBhZGFwdGl2ZS4KCSAgVGhlIGRlZmF1bHQgdmFsdWUgaXMgLTQsIHdoaWNoIG1lYW5zIHRoYXQgd2UncmUgbm90IHJ1bm5pbmcgYXMgZmFzdAoJICBhcyBwb3NzaWJsZSBhbmQgcHJvYmFibHkgYXJlIHdhc3Rpbmcgc29tZSBxdWFsaXR5LiAwIGlzIHRoZSByZWNvbW1lbmRlZAoJICBkZWZhdWx0IGJ5IGxpYnZweCB1cHN0cmVhbS4KCjIwMTAtMDYtMTQgMTU6NTE6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA0OC8xMzRdIHZwOGVuYzogVXNlIFZQWCBkZWZpbmVzIGZvciBSRUFMVElNRSwgR09PRC9CRVNUIHF1YWxpdHkgZGVhZGxpbmVzIGluc3RlYWQgb2Ygb3VyIG93bgoJICBUaGVzZSBhcmUgdGhlIHZhbHVlcyB1c2VkIGZvciB0aGUgc3BlZWQgcHJvcGVydHkuCgoyMDEwLTA2LTAzIDEwOjQ5OjQwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNDcvMTM0XSB2cDhlbmM6IGZpeCBwcmludGYgZm9ybWF0IHdhcm5pbmcgaW4gbG9nIG1lc3NhZ2UKCSAgZ3N0dnA4ZW5jLmM6NTY0OiBlcnJvcjogZm9ybWF0IOKAmCVk4oCZIGV4cGVjdHMgdHlwZSDigJhpbnTigJksIGJ1dCBhcmd1bWVudCA4IGhhcyB0eXBlIOKAmHNpemVfdOKAmQoJICBnc3R2cDhlbmMuYzo3NDQ6IGVycm9yOiBmb3JtYXQg4oCYJWTigJkgZXhwZWN0cyB0eXBlIOKAmGludOKAmSwgYnV0IGFyZ3VtZW50IDggaGFzIHR5cGUg4oCYc2l6ZV904oCZCgoyMDA5LTA3LTAzIDE2OjA4OjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNDYvMTM0XSBiYXNldmlkZW8sIHZwODogZ3VhcmQgdW5zdGFibGUgQVBJIHdpdGggR1NUX1VTRV9VTlNUQUJMRV9BUEkKCSAgQWRkIHNvbWUgZ3VhcmRzIGFuZCBmYXQgd2FybmluZ3MgdG8gdGhlIGhlYWRlciBmaWxlcyB3aXRoIHN0aWxsIHVuc3RhYmxlCgkgIEFQSSwgc28gcGVvcGxlIHdobyBqdXN0IGxvb2sgYXQgdGhlIGluc3RhbGxlZCBoZWFkZXJzIGtub3cgdGhhdCBpdAoJICBhY3R1YWxseSBpcyB1bnN0YWJsZSBBUEkuCgkgIE1lcmdpbmcgcHJldmlvdXMgY29tbWl0IGludG8gY3VycmVudCBjb2RlYmFzZS4KCjIwMTAtMDYtMDEgMTU6NTQ6NTEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3ZwOC9NYWtlZmlsZS5hbToKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5oOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5oOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3R2aWRlb2NvbXBhdC5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3R2aWRlb2NvbXBhdC5oOgoJICBbTU9WRUQgRlJPTSBCQUQgMDQ1LzEzNF0gYmFzZXZpZGVvOiBNb3ZlIGJhc2UgdmlkZW8gZnJvbSB2cDggdG8gZ3N0LWxpYnMKCjIwMTAtMDUtMjYgMDY6NTI6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDh1dGlscy5oOgoJICBbTU9WRUQgRlJPTSBCQUQgMDQ0LzEzNF0gdnA4OiBVc2UgVlBYX1BMQU5FXyogaW5zdGVhZCBvZiBQTEFORV8qCgoyMDEwLTA1LTI0IDExOjA0OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4dXRpbHMuaDoKCSAgW01PVkVEIEZST00gQkFEIDA0My8xMzRdIHZwODogQWRkIGNvbXBhdGlsaWJpdHkgZGVmaW5lcyB0byB3b3JrIHdpdGggb2xkZXIgdmVyc2lvbnMgb2YgbGlidnB4IHRvbwoKMjAxMC0wNS0yMyAwOToyODoxMyArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNDIvMTM0XSB2cDhkZWM6IHMvSU1HX0ZNVF9JNDIwL1ZQWF9JTUdfRk1UX0k0MjAvCgkgIFRoaXMgY29ycmVzcG9uZHMgdG8gdXBzdHJlYW0gbGlidnB4IGNvbW1pdCA2Y2Q0YTEwZTE2NzIwM2QxZGViNzlhYmY2MGVlNzI1OTllOTc4OTFiCgoyMDEwLTA1LTIyIDEyOjU1OjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNDEvMTM0XSB2cDhlbmM6IEFsbG93IGEgbWF4aW11bSBrZXlmcmFtZSBkaXN0YW5jZSBvZiAwLCBpLmUuIGFsbCBmcmFtZXMgYXJlIGtleWZyYW1lcwoKMjAxMC0wNS0yMiAwODo0NTozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDQwLzEzNF0gdnA4ZGVjOiBTZXQgZGVjb2RlciBkZWFkbGluZSBmcm9tIHRoZSBRb1MgaW5mb3JtYXRpb24KCjIwMTAtMDUtMjggMTY6MzU6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAzOS8xMzRdIHZwOGVuYzogTW92ZSBkZWJ1ZyBvdXRwdXQgb25lIGxpbmUgYWJvdmUgd2hlcmUgdGhlIHBhY2tldCBpcyBzdGlsbCB2YWxpZAoKMjAxMC0wNS0yOCAxNTo1MzozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDM4LzEzNF0gdnA4ZW5jOiBDb3JyZWN0bHkgaWdub3JlIG5vbi1mcmFtZSBwYWNrZXRzIGZyb20gdGhlIGVuY29kZXIKCSAgRml4ZXMgYnVnICM2MTk5MTYuCgoyMDEwLTA1LTIyIDA3OjQ0OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgW01PVkVEIEZST00gQkFEIDAzNy8xMzRdIGJhc2V2aWRlb2RlY29kZXI6IFRha2UgdGhlIGZyYW1lIGR1cmF0aW9uIGludG8gYWNjb3VudCB3aGVuIGNhbGN1bGF0aW5nIHRoZSBlYXJsaWVzdCB0aW1lCgkgIFRoaXMgZm9ybXVsYSBpcyB1c2VkIGluIG1hbnkgb3RoZXIgZWxlbWVudHMgdG9vLgoJICBGaXhlcyBidWcgIzYxOTMxOC4KCjIwMTAtMDUtMjIgMDc6MzU6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDM2LzEzNF0gYmFzZXZpZGVvZGVjb2RlcjogUmVzZXQgUW9TIHZhbHVlcyB3aGVuIG5lY2Vzc2FyeQoKMjAxMC0wNS0yMiAwOTozNToyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDM1LzEzNF0gdnA4ZW5jOiBVc2UgR1NUX1ZJREVPX0NBUFNfWVVWKEk0MjApIGluc3RlYWQgb2YgaGFuZHdyaXR0ZW4gSTQyMCBjYXBzIGZvciB0aGUgcGFkIHRlbXBsYXRlCgkgIEZpeGVzIGJ1ZyAjNjE5MzQ0LgoKMjAxMC0wNS0yMSAyMDo1MzozNiArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5oOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDM0LzEzNF0gdnA4ZGVjOiBkcm9wIGxhdGUgZnJhbWVzIGFmdGVyIGRlY29kaW5nIHRoZW0KCSAgVGhpcyBzYXZlcyBhIG1lbWNweSwgd2hpY2ggaXMgYWx3YXlzIHNvbWV0aGluZy4KCjIwMTAtMDUtMjEgMjE6Mjg6MjkgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDMzLzEzNF0gdnA4ZW5jOiB0aHJlYWRzIHByb3BlcnR5CgkgIEluY3JlYXNpbmcgZnJvbSAxIHRvIDIgdGhyZWFkcyBvbiBhbiBUaGlua3BhZCBYNjBzIGRlY3JlYXNlZCBlbmNvZGUgdGltZQoJICBpbiBhIHRlc3QgZnJvbSB+MjQgcyB0byB+MTkgcywgc28gdGhpcyBpcyBxdWl0ZSB1c2VmdWwuCgkgIElkZWFsbHkgd2Ugc2hvdWxkIGxldCAwIGJlIHRoZSBkZWZhdWx0IGFuZCBhdXRvbWF0aWNhbGx5IG1hdGNoIHRoZSBudW1iZXIKCSAgb2YgQ1BVIGNvcmVzIChvciBzb21ldGhpbmcpLgoKMjAxMC0wNS0yMSAxNToxNzo0NiArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMzIvMTM0XSB2cDhlbmM6IGFkZCBtb2RlIHByb3BlcnR5IHRvIHN3aXRjaCBiZXR3ZWVuIENCUi9WQlIKCSAgQWx3YXlzIHVzaW5nIENCUiB3aGVuIGJpdHJhdGUgaXMgdXNlZCBpc24ndCB0aGF0IGdyZWF0LCBWQlIgbW9kZQoJICBjYW4gcHJvZHVjZSBtZWFuaW5nZnVsIHJlc3VsdHMgdG9vLgoKMjAxMC0wNS0yMSAxMDo1NDo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDMxLzEzNF0gdnA4ZGVjOiBPbmx5IGVuYWJsZSBwb3N0cHJvY2Vzc2luZyBpZiB0aGUgZGVjb2RlciBzdXBwb3J0cyBpdAoKMjAxMC0wNS0yMSAwODoyMzo1OCArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC92cDgvcGx1Z2luLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMzAvMTM0XSB2cDg6IHR5cG86IHMvSEFWRV9WUDhfREVDT0RFUi9IQVZFX1ZQOF9FTkNPREVSLwoJICBGaXh1cCBmb3IgYnVnICM2MTkxNzIuCgoyMDEwLTA1LTIxIDA4OjEzOjA2ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAyOS8xMzRdIHZwODogbW92ZSAjaWZkZWYgSEFWRV9WUDhfRU5DT0RFUi9ERUNPREVSCgkgIE90aGVyd2lzZSB3ZSdsbCB0cnkgaW5jbHVkaW5nIGUuZy4gPHZweC92cDhjeC5oPiB3aGljaCBkb2Vzbid0IGV4aXN0LgoKMjAxMC0wNS0yMCAyMDowNjowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDI4LzEzNF0gdnA4ZW5jOiBXcml0ZSBHU3RyZWFtZXIgZWxlbWVudCBhbmQgdmVyc2lvbiBpbiB0aGUgdm9yYmlzY29tbWVudCB2ZW5kb3Igc3RyaW5nCgoyMDEwLTA1LTIwIDE2OjQ5OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvcGx1Z2luLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMjcvMTM0XSB2cDg6IE9ubHkgZW5hYmxlIHRoZSBlbmNvZGVyIG9yIGRlY29kZXIgaWYgaXQncyBhdmFpbGFibGUgaW4gbGlidnB4CgkgIEZpeGVzIGJ1ZyAjNjE5MTcyLgoKMjAxMC0wNS0yMCAxMDoxOTo1NCArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvcGx1Z2luLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMjYvMTM0XSB2cDg6IGV4bGN1ZGUgZGVjL2VuYyBiYXNlZCBvbiBDT05GSUdfVlA4X0RFQ09ERVIvRU5DT0RFUgoJICBUaGlzIG1heSBub3QgYmUgdmVyeSBhdXRvdG9vbGlzaCwgYnV0IHdvcmtzIHdpdGggbGlidnB4IGluIHRoZSBzdGF0ZQoJICB0aGF0IGxpYnZweCBpcyBhY3R1YWxseSBpbi4gTW92ZWQgdGhlIGRlYnVnIGluaXQgdG8gdGhlIGVsZW1lbnRzCgkgIHRoZW1zZWx2ZXMgdG8gbWluaW1pemUgYW1vdW50IG9mICNpZmRlZnMKCjIwMTAtMDUtMjAgMDk6MjQ6NTMgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDI1LzEzNF0gdnA4ZW5jOiBMaW1pdCBtYXgtbGF0ZW5jeSB0byAyNSB0byBtYXRjaCBsaWJ2cHgKCSAgRnJvbSBsaWJ2cHgvdnA4L2VuY29kZXIvb255eF9pbnQuaDoKCSAgI2RlZmluZSBNQVhfTEFHX0JVRkZFUlMgKENPTkZJR19SRUFMVElNRV9PTkxZPyAxIDogMjUpCgkgIFdoaWxlIHdlIGRvbid0IG5lZWQgdG8gYmUgdGllZCB0byB3aGF0IGxpYnZweCBkb2VzIGludGVybmFsbHksIGl0CgkgIGRvZXNuJ3QgbWFrZSBzZW5zZSB0byBwcmV0ZW5kIHRvIHN1cHBvcnQgbG9uZ2VyIGZyYW1lIGxhZ3MgdGhhbiBhcmUKCSAgYWN0dWFsbHkgcG9zc2libGUuCgoyMDEwLTA1LTIwIDA5OjU2OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4dXRpbHMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAyNC8xMzRdIHZwODogVW5kZWYgSEFWRV9DT05GSUdfSCBiZWZvcmUgaW5jbHVkaW5nIGxpYnZweCBoZWFkZXJzCgkgIEEgcHVibGljIGxpYnZweCBoZWFkZXIgaW5jbHVkZXMgcHJpdmF0ZSBoZWFkZXJzIGlmIHRoaXMgaXMKCSAgZGVmaW5lZCwgY2F1c2luZyBjb21waWxhdGlvbiBmYWlsdXJlcyBiZWNhdXNlIHRoZSBwcml2YXRlIGhlYWRlcnMKCSAgYXJlIG5vdCBpbnN0YWxsZWQgb2YgY291cnNlLgoKMjAxMC0wNS0yMCAwODo1MzoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDIzLzEzNF0gdnA4ZW5jOiBTb21lIG1vcmUgbWlub3IgYWRqdXN0bWVudHMgZm9yIHRoZSBPZ2cgbWFwcGluZwoKMjAxMC0wNS0xOSAyMzowMjoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDIyLzEzNF0gdnA4ZGVjOiBGaXggbWVtb3J5IGxlYWsKCjIwMTAtMDUtMTkgMjE6MzQ6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAyMS8xMzRdIHZwOGVuYzogQWRqdXN0IE9nZyBtYXBwaW5nIGZvciB0aGUgY2hhbmdlcwoKMjAxMC0wNS0xOSAxODoxMjoxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDIwLzEzNF0gdnA4ZGVjOiBBZGQgcHJvcGVydGllcyB0byBjb250cm9sIHRoZSBWUDggZGVjb2RlciBwb3N0IHByb2Nlc3NpbmcgZmVhdHVyZQoJICBUaGlzIGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQgZm9yIG5vdy4KCjIwMTAtMDUtMTkgMTc6MTY6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAxOS8xMzRdIHZwOGVuYzogUmVuYW1lIGtleWZyYW1lLWludGVydmFsIHRvIG1heC1rZXlmcmFtZS1kaXN0YW5jZQoJICBBbmQgdXNlIGRlZmF1bHQgc2V0dGluZ3MgZm9yIGJ1ZmZlciBzaXplcyB1bnRpbCB3ZSBleHBvc2UgdGhpcwoJICBzb21laG93LgoKMjAxMC0wNS0xOSAxNzoxMzoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L01ha2VmaWxlLmFtOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOHV0aWxzLmM6CgkqIGV4dC92cDgvZ3N0dnA4dXRpbHMuaDoKCSAgW01PVkVEIEZST00gQkFEIDAxOC8xMzRdIHZwODogSW1wcm92ZSBlcnJvciBoYW5kbGluZyBhbmQgZGVidWcgb3V0cHV0CgoyMDEwLTA1LTE5IDE0OjQ2OjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMTcvMTM0XSB2cDg6IFVzZSBjb3JyZWN0IHN0cmlkZXMgYW5kIHBsYW5lIG9mZnNldHMgZm9yIEdTdHJlYW1lcgoKMjAxMC0wNS0xOCAxNDo0Nzo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDE2LzEzNF0gdnA4ZW5jOiBJbXBsZW1lbnQgR3N0VGFnU2V0dGVyIGludGVyZmFjZQoKMjAxMC0wNS0xOCAxNDozMzo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDE1LzEzNF0gdnA4ZW5jOiBGaXggc2V0dGluZyBvZiB0aGUga2V5ZnJhbWUgZmxhZyBvbiBlbmNvZGVkIGZyYW1lcwoKMjAxMC0wNS0xOCAxNDozMDoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDE0LzEzNF0gdnA4ZW5jOiBQb3N0IGFuIGVycm9yIG1lc3NhZ2Ugb24gdGhlIGJ1cyBpZiBlbmNvZGVyIGluaXRpYWxpemF0aW9uIGZhaWxzCgoyMDEwLTA1LTE4IDE0OjI4OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMTMvMTM0XSB2cDhkZWM6IEZpeCBtZW1vcnkgbGVha3MgYW5kIGZhaWwgaWYgaW5pdGlhbGl6aW5nIHRoZSBkZWNvZGVyIGZhaWxzCgoyMDEwLTA1LTE4IDAyOjQ0OjU0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMTIvMTM0XSB2cDhlbmM6IFNldCB0aW1lYmFzZQoJICBBbHNvIG1pc2MgY2xlYW51cC4KCjIwMTAtMDUtMTYgMTA6MzY6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAxMS8xMzRdIHZwOGRlYzogRml4IGRlY29kaW5nIG9mIGludmlzaWJsZSBmcmFtZXMKCjIwMTAtMDUtMTQgMTQ6MjY6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAxMC8xMzRdIHZwOGVuYzogVXBkYXRlIHRoZSBsYXRlbmN5IHdoZW4gaW5pdGlhbGl6aW5nIHRoZSBlbmNvZGVyCgoyMDEwLTA1LTE0IDE0OjAyOjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMDkvMTM0XSB2cDhkZWM6IENvcnJlY3RseSBpbml0aWFsaXplIHN0cmVhbSBpbmZvIGJlZm9yZSBwZWVraW5nIGF0IHRoZSBzdHJlYW0KCSAgT3RoZXJ3aXNlIHBlZWtpbmcgd2lsbCBmYWlsIGFuZCB3ZSdsbCBnZXQgaW52YWxpZCB2YWx1ZXMKCjIwMTAtMDUtMTQgMTE6MDE6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAwOC8xMzRdIHZwOGRlYzogTWFrZSBzdXJlIHRvIHBhc3MgYSBrZXlmcmFtZSBhcyBmaXJzdCBmcmFtZSB0byB0aGUgZGVjb2RlciwgY29weSBvdXRwdXQgZnJhbWVzIG9ubHkgb25jZSBhbmQgcmVxdWlyZSB3aWR0aC9oZWlnaHQvZXRjIG9uIHRoZSBpbnB1dCBjYXBzCgoyMDEwLTA1LTE0IDEwOjMwOjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMDcvMTM0XSB2cDhlbmM6IEFkZCBzdXBwb3J0IGZvciBpbnZpc2libGUgZnJhbWVzIGFuZCB0aGUgT2dnIG1hcHBpbmcKCjIwMTAtMDUtMTQgMDE6MTQ6NDYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAwNi8xMzRdIHZwOGRlYzogRml4IHJlc2V0IGFmdGVyIHNlZWtpbmcKCSAgQWxzbyByZW1vdmUgc29tZSB1bnVzZWQgY29kZS4KCjIwMTAtMDUtMTMgMjE6MTk6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAwNS8xMzRdIHZwOGVuYzogU2V0IGZyYW1lIG51bWJlcnMgYXMgYnVmZmVyIG9mZnNldHMKCjIwMTAtMDUtMTMgMjE6MTg6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAwNC8xMzRdIHZwOGVuYzogQWx3YXlzIGdldCBhcyBtYW55IGZyYW1lcyBhcyBwb3NzaWJsZSBmcm9tIHRoZSBlbmNvZGVyCgoyMDEwLTA1LTEzIDIxOjA4OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMDMvMTM0XSB2cDhlbmM6IEZpbGwgdGhlIG9sZGVzdCBwZW5kaW5nIGZyYW1lIGluc3RlYWQgb2YgdGhlIG5ld2VzdAoKMjAxMC0wNS0xMyAyMDoyMDozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDAyLzEzNF0gdnA4ZW5jOiBDb3JyZWN0bHkgc2V0IGRlbHRhIHVuaXQgZmxhZyBmb3Igbm9uLWtleWZyYW1lcwoKMjAxMC0wNS0xMyAwMTowNDowNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L01ha2VmaWxlLmFtOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3BhcnNlLmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3BhcnNlLmg6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdHZpZGVvY29tcGF0LmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdHZpZGVvY29tcGF0Lmg6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvcGx1Z2luLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMDEvMTM0XSB2cDg6IEFkZCBlbmNvZGVyL2RlY29kZXIKCjIwMTItMDktMTUgMjI6MTY6NTIgKzAyMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPHVyYWV1c0BsaW51eHJpc2luLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZSB3aXRoIEYxOCBuYW1lIGNoYW5nZSBhbmQgYWRkIGRlaW50ZXJsYWNlcgoKMjAxMi0wOS0xNSAxOTowNjowNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJICB1c2UgZ3N0X2VsZW1lbnRfZmFjdG9yeV9nZXRfbWV0YWRhdGEgdG8gcmVwbGFjZSBvYnNvbGV0ZSBBUEkKCjIwMTItMDktMTQgMTc6NTU6MTYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJICByZXBsYWNlIF9nZXRfY2Fwc19yZWZmZWQgd2l0aCBfZ2V0X2NhcHMKCjIwMTItMDktMTQgMTc6MDg6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgcmVwbGFjZSBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUgd2l0aCBnc3RfZWxlbWVudF9jbGFzc19zZXRfbWV0YWRhdGEKCjIwMTItMDktMTQgMTc6MDc6MjYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHJlcGxhY2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlIHdpdGggZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X21ldGFkYXRhCgoyMDEyLTA5LTE0IDEzOjMwOjM3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3QvcnRwL1JFQURNRToKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvZXF1YWxpemVyL2RlbW8uYzoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1WVFMtSDI2M3AtQVRTLVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItVlRTLUgyNjNwLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWRlY29kZWJpbi1IMjYzcC1BTVIuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItdjRsMi1IMjYzcC1hbHNhc3JjLUFNUi5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci12NGwyLUgyNjQtYWxzYXNyYy1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9jYW1jdHJsLmM6CgkqIHRlc3RzL2ljbGVzL2dka3BpeGJ1ZnNpbmstdGVzdC5jOgoJICBmaXggbW9yZSBjYXBzCgoyMDEyLTA5LTE0IDAyOjU3OjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAwLjExLjk0ID09PQoKMjAxMi0wOS0xNCAwMjo0ODo0MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjExLjk0CgoyMDEyLTA5LTE0IDAxOjUwOjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDEyLTA5LTE0IDAxOjQ2OjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBkb2NzOiB1cGRhdGUgZG9jcwoKMjAxMi0wOS0xNCAwMDo0NzozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tlbmMuYzoKCSAgdGVzdHM6IHB1c2ggc3RyZWFtLXN0YXJ0IGFuZCBzZWdtZW50IGV2ZW50cyBpbiB3YXZwYWNrZW5jIHRlc3QKCjIwMTItMDktMTMgMTA6NTY6MjcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICB2NGwyOiByZW1vdmUgdW51c2VkIHByb3BlcnRpZXMKCjIwMTItMDktMTMgMTA6MTU6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IGRpc2FibGUgcmVjb25maWd1cmUKCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODM5MDIKCjIwMTItMDktMTAgMjI6MDk6NTkgLTA3MDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogRG9uJ3QgdHJlYXQgZXZlcnkgY3VzdG9tLWRvd25zdHJlYW0gZXZlbnQgYXMgRU9TCgkgIERvbid0IGZhbGwgdGhyb3VnaCB0byB0aGUgRU9TIGhhbmRsaW5nIGFmdGVyIHJlY2VpdmluZyBhCgkgIGN1c3RvbS1kb3duc3RyZWFtIGV2ZW50LgoKMjAxMi0wOS0xMiAyMTowNTo0NCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgY29sbGVjdHBhZHM6IHJlbW92ZSBnc3RfY29sbGVjdF9wYWRzX2FkZF9wYWRfZnVsbAoJICBSZW5hbWUgZ3N0X2NvbGxlY3RfcGFkc19hZGRfcGFkX2Z1bGwoKSB0byBnc3RfY29sbGVjdF9wYWRzX2FkZF9wYWQoKSBhbmQgZml4IGFsbAoJICBpbnZvY2F0aW9ucy4KCjIwMTItMDktMTIgMTc6MTQ6NDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgdWRwOiBhZGQgaW5jbHVkZSBmb3IgSVBQUk9UT18qCgoyMDEyLTA5LTEyIDE2OjM5OjA4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIHVkcDogcHJvcGVybHkgbWF0Y2ggYnJhY2VzIGFuZCBjcHAgZGlyZWN0aXZlcwoJICBGaXhlcyBjb21waWxhdGlvbiB3aGVyZSBJUFY2X1RDTEFTUyBub3QgZGVmaW5lZC4KCjIwMTItMDktMTIgMTQ6NDI6MDcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBVc2UgZGVmYXVsdCBxdWVyeSBoYW5kbGVyIHdoZXJlIG5lZWRlZAoJICBBbmQgY2xlYW4gdXAgZ2V0X2NhcHMgY29kZSB3aGlsZSBJJ20gYXQgaXQKCjIwMTItMDktMTIgMTM6Mjg6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IGltcHJvdmUgZnJhbWVyYXRlIHRyYW5zZm9ybQoJICBIYW5kbGUgR19NQVhJTlQgaW4gdGhlIGZyYW1lcmF0ZXMgYmV0dGVyLiBJZiB3ZSBjYW5ub3QgZG91YmxlIG9yIGRpdmlkZSB0aGUKCSAgZnJhbWVyYXRlLCBjbGFtcCB0byB0aGUgc21hbGxlc3QvbGFyZ2VzdCBwb3NzaWJsZSB2YWx1ZSB3ZSBjYW4gZXhwcmVzcyBpbnN0ZWFkCgkgIG9mIGZhaWxpbmcuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODM4NjEKCjIwMTItMDktMTIgMTM6MTc6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IHNtYWxsIGNsZWFudXAKCjIwMTItMDktMDcgMTc6MjA6NTcgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyMjogQWRkaW5nIG52MTIgYW5kIG52MjEgc3VwcG9ydAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzODQxCgoyMDEyLTA5LTEyIDEwOjE4OjUzICswMjAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAcmRpby5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBxdGRlbXV4OiBhZGQgc3VwcG9ydCBmb3IgcHJvcmVzCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODM4MzkKCjIwMTItMDktMTIgMDA6MTY6MzEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkgIHRlc3RzOiBmaXggbW9zdCBvZiB0aGUgcmdhbmFseXNpcyB1bml0IHRlc3RzCgkgIEJlZm9yZSB0aGUgZWxlbWVudCB3b3VsZCBwb3N0IG1lc3NhZ2VzIG9uIHRoZSBidXMgaXRzZWxmLCBub3cKCSAgdGhlIHNpbmtzIGRvIHRoYXQgYmFzZWQgb24gdGhlIHRhZyBldmVudHMgdGhleSByZWNlaXZlLiBCdXQKCSAgc2luY2Ugd2UgZG9uJ3QgaGF2ZSBwcm9wZXIgc2luayBlbGVtZW50cyBpbiB0aGVzZSB1bml0IHRlc3RzLAoJICBidXQganVzdCBkYW5nbGluZyBwYWRzLCB3ZSBoYXZlIHRvIHBvc3QgdGhlIHRhZyBtZXNzYWdlcyB0aGUKCSAgdGVzdCBjaGVja3MgZm9yIG91cnNlbHZlcy4KCSAgRG93biBmcm9tIDUyLzU1IGZhaWxpbmcgdG8gNy81MiBmYWlsaW5nLgoKMjAxMi0wOS0xMSAxNzozNjo1MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBleHQsIGdzdDogb25seSBhY3RpdmF0ZSBpbiBwdWxsIG1vZGUgaWYgdXBzdHJlYW0gaXMgc2Vla2FibGUKCjIwMTItMDktMTEgMTU6Mzg6MjMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDI6IGRpc2FibGUgcmVuZWdvdGlhdGlvbgoJICBXZSBjYW4ndCB5ZXQgd2FpdCBmb3IgdGhlIGJ1ZmZlcnBvb2wgdG8gRFJBSU4gYmVmb3JlIHN0YXJ0aW5nIHJlbmVnb3RpYXRpb24gc28KCSAgZGlzYWJsZSBpdCBmb3Igbm93LgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgyNzcwCgoyMDEyLTA5LTExIDEyOjQ4OjM5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICB0ZXN0czogcnRwYmluOiBwb3J0IHRvIHRoZSBuZXcgR0xpYiB0aHJlYWQgQVBJCgoyMDEyLTA5LTExIDEyOjM2OjU2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICBkaXJlY3Rzb3VuZHNpbms6IHBvcnQgdG8gdGhlIG5ldyBHTGliIHRocmVhZCBBUEkKCjIwMTItMDktMTEgMTE6NTk6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZG9uJ3QgcmVzZXQgc2VnbWVudAoJICBEb24ndCByZXNldCB0aGUgc2VnbWVudCBiZWNhdXNlIHdlIG5lZWQgdGhlIHZhbHVlcyBmb3IgYWNjdW11bGF0aW9uLiB0aGUgc2VnbWVudAoJICBpcyByZXNldCBhdCBzdGFydCBhbmQgYWZ0ZXIgYSBmbHVzaGluZyBzZWVrLiBGaXhlcyBzb21lIHByb2JsZW1zIHdpdGggZmlsZXMgd2l0aAoJICBxdWlja3RpbWUgc2VnbWVudHMuCgoyMDEyLTA5LTEwIDE3OjE0OjM3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzZGVtdXguYzoKCSAgdGVzdHM6IGZpeCBpZDNkZW11eCB0ZXN0CgoyMDEyLTA5LTEwIDE0OjMxOjAyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvYW1mZGVmcy5oOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSAgZ3N0OiBhZGp1c3QgY29tbWVudCBzdHlsZQoKMjAxMi0wOS0xMCAxNDozMDo0MiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiByZW1vdmUgZGVmdW5jdCBjb21tZW50ZWQgY29kZQoKMjAxMi0wOS0xMCAxMzozNToxNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogY29uc2lkZXIgc3RyZWFtIGFsaXZlIHdoZW4gbm90IGNvbm5lY3RlZCB5ZXQKCSAgV2hlbiB3ZSBzdGFydCBhbmQgcmVuZWdvdGlhdGUsIHRoZXJlIGlzIGEgbW9tZW50IHdoZXJlIHRoZSBzdHJlYW0gaXMgY3JlYXRlZCBidXQKCSAgbm90IHlldCBjb25uZWN0ZWQuIE1ha2Ugc3VyZSBhbGwgZnVuY3Rpb25zIGRlYWwgd2l0aCB0aGlzIHNpdHVhdGlvbiBjb3JyZWN0bHkKCSAgaW5zdGVhZCBvZiBlcnJvcmluZyBvdXQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODEyNDcKCjIwMTItMDktMTAgMTI6MTU6MjUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IGRvbid0IGZhaWwgd2hlbiBub3QgbmVnb3RpYXRlZCB5ZXQKCSAgV2hlbiBnZXRfdGltZSBpcyBjYWxsZWQgYnV0IHdlIGFyZSBub3QgeWV0IG5lZ290aWF0ZWQsIHJldHVybiAwIGluc3RlYWQgb2YKCSAgcG9zdGluZyBhbiBlcnJvci4gSXQncyBwb3NzaWJsZSB0aGF0IHRoZSBiYXNlIGNsYXNzIGlzIHN0aWxsIG5lZ290aWF0aW5nIHdoZW4KCSAgb3VyIGdldF90aW1lIGlzIGNhbGxlZC4KCjIwMTItMDktMTAgMTE6MzI6MjUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSAgdXBkYXRlIGZvciBhdWRpbyBiYXNlIHNyYyBhcGkgY2hhbmdlCgoyMDEyLTA5LTEwIDAwOjQyOjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHZpZGVvL3gtM2l2eCBhbmQgdmlkZW8veC14dmlkIC0+IHZpZGVvL21wZWcsbXBlZ3ZlcnNpb249NAoJICBJZiBpdCBldmVyIHR1cm5zIG91dCB0aGF0IHdlIHJlYWxseSBtdXN0IHVzZSB0aG9lIHNwZWNpZmljCgkgIGZvdXJjY3MgYW5kIG5vdCB0aGUgZ2VuZXJpYyBvbmUsIHdlIGNhbiBzdGlsbCBhZGQgYSBmbGF2b3IKCSAgZmllbGQgdG8gdGhlIGNhcHMgbGF0ZXIuCgoyMDEyLTA5LTA3IDE2OjE1OjQyICswMjAwICBEYW5pZWxhIDxkYW5pZWxhLm11enp1QHNlbGV4ZWxzYWcuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhdm9pZCBsZWFrCgkgIFdoZW4gc2V0dXAgZmFpbHMsIG1ha2Ugc3VyZSB0byBjbGVhbnVwIGFmdGVyd2FyZHMuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzM1MDkKCjIwMTItMDktMDcgMTU6MjM6NDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJICBydHBhbXJkZXBheTogdW5tYXAgcnRwIGJ1ZmZlcgoJICAuLi4gdGhlcmVieSBwbHVnZ2luZyBhIG1lbWxlYWsuCgoyMDEyLTA5LTA3IDE0OjEzOjE3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHRlc3RzOiBydHAtcGF5bG9hZGluZzogYWRqdXN0IHRvIG1vZGlmaWVkIGJ1ZmZlcmxpc3Qgc2VtYW50aWNzCgkgIC4uLiBub3cgaW1wbGVtZW50ZWQgYnkgYnVmZmVyIG1lbW9yeSBibG9ja3MuCgoyMDEyLTA5LTA3IDE0OjExOjM5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBhdm9pZCBjcmFzaGluZyBvbiBOVUxMIGFjY2VzcyBpbiBkZWJ1ZyBtZXNzYWdlCgoyMDEyLTA5LTA3IDE0OjExOjAyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSAgcnRwaDI2M3BwYXk6IHBsdWcgY2FwcyBsZWFrCgoyMDEyLTA5LTA2IDE3OjA5OjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiByZW1vdmUgcmVkdW5kYW50IF9zZXRfYWxsb2NhdGlvbiBjYWxsCgoyMDEyLTA5LTA2IDE3OjA1OjAwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsYWNlLmM6CgkgIHRlc3RzOiBkZWludGVybGFjZTogZG8gbm90IGxlYWsgZGVpbnRlcmxhY2UgcGFkcwoKMjAxMi0wOS0wNiAxNzowNDozOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IHBsdWcgc29tZSBsZWFrcwoKMjAxMi0wOS0wNiAxNjo0OTowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogcmV1c2UgY29yZSBmdW5jdGlvbiBmb3IgR0NECgoyMDEyLTA5LTA2IDE2OjMxOjAwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogc3VwcG9ydCBmaWx0ZXIgaW4gZ2V0Y2FwcwoKMjAxMi0wOS0wNiAxNjozMDo0NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IGRvIG5vdCBsZWFrIGdldGNhcHMgcmVzdWx0CgoyMDEyLTA5LTA2IDE2OjIzOjI4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJICBkZWludGVybGFjZTogYWRkIHN1cHBvcnQgZm9yIGJ1ZmZlcnBvb2wKCSAgQWRkIGJ1ZmZlcnBvb2wgc3VwcG9ydCB0byBhdm9pZCBhIG1lbWNweSBpbiB0aGUgdmlkZW9zaW5rIHdoZW4gYWN0aXZlbHkKCSAgaW50ZXJsYWNpbmcuCgkgIFJlbW92ZSBzb21lIGNvbW1lbnRlZCBvYnNvbGV0ZSBjb2RlLgoKMjAxMi0wOS0wNiAxMzozODo1MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogcHJveHkgYWxsb2NhdGlvbiBxdWVyeSBpbiBwYXNzdGhyb3VnaAoJICBXZSBjYW4gbGV0IHRoZSBhbGxvY2F0aW9uIHF1ZXJ5IHBhc3Mgd2hlbiB3ZSBhcmUgb3BlcmF0aW5nIGluIHBhc3N0aHJvdWdoIG1vZGUuCgoyMDEyLTA5LTA2IDEzOjIzOjQ2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiB1c2UgZGVmYXVsdCBldmVudCBmdW5jdGlvbnMKCSAgaW5zdGVhZCBvZiBibGluZGx5IGZvcndhcmRpbmcgdW5rbm93biBldmVudHMuCgoyMDEyLTA5LTA2IDEzOjIzOjMwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBzbWFsbCBjbGVhbnVwcwoKMjAxMi0wOS0wNiAxMjo1NjozMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogY2FsbCBkZWZhdWx0IHF1ZXJ5IGhhbmRsZXJzCgkgIENhbGwgdGhlIGRlZmF1bHQgcXVlcnkgaGFuZGxlciBpbnN0ZWFkIG9mIGZvcndhcmRpbmcgdGhlIHF1ZXJ5IGJsaW5kbHkuIEZpeGVzCgkgIGlzc3VlcyBvZiBzdHJpZGVzIGJlY2F1c2Ugb2YgcHJveHlpbmcgdGhlIGFsbG9jYXRpb24gcXVlcnkgd3JvbmdseS4KCjIwMTItMDktMDYgMTA6NDI6MjEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IHJlbW92ZSB1bnVzZWQgY29kZS4KCjIwMTItMDktMDYgMTA6NDI6MDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlOiBpbXByb3ZlIGRlYnVnCgoyMDEyLTA5LTA1IDExOjUwOjA1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkgIGR2ZGVtdXg6IHJlbW92ZSBvYnNvbGV0ZSB1cGRhdGUgbmV3c2VnbWVudCBoYW5kbGluZyBjb2RlCgoyMDEyLTA5LTA0IDEyOjM1OjUzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICB2aWRlb2JhbGFuY2U6IGF2b2lkIGRlYWRsb2NrCgkgIF91cGRhdGVfcHJvcGVydGllcyB0YWtlcyB0aGUgb2JqZWN0IGxvY2sgYW5kIHNob3VsZCBub3QgYmUgY2FsbGVkIHdoZW4gdGhlCgkgIG9iamVjdCBsb2NrIGlzIGFscmVhZHkgdGFrZW4uCgoyMDEyLTA5LTAzIDEyOjQ2OjAzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogZXh0cmFjdCBpbnRlcmxhY2VkLW5lc3Mgb2YgdmlkZW8gdHJhY2sgZnJvbSBpbnRlcmxhY2UtbW9kZSBmaWVsZAoJICBpbnN0ZWFkIG9mIHRoZSBvbGQgYm9vbGVhbiAiaW50ZXJsYWNlZCIgZmllbGQuCgoyMDEyLTA5LTAzIDAyOjUxOjI0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aW11eC5jOgoJICB2aWRlby94LXh2aWQgLT4gdmlkZW8vbXBlZyxtcGVndmVyc2lvbj00CgoyMDEyLTA5LTAyIDAyOjUwOjUwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIHRleHQvcGxhaW4gKyB0ZXh0L3gtcGFuZ28tbWFya3VwIC0+IHRleHQveC1yYXcKCjIwMTItMDktMDIgMDE6MzE6NTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgZ3N0X21lc3NhZ2VfbmV3X2R1cmF0aW9uIC0+IGdzdF9tZXNzYWdlX25ld19kdXJhdGlvbl9jaGFuZ2VkCgoyMDEyLTA4LTMwIDIyOjA3OjI0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBhbHNvIHN0b3AgcHJvYmF0YXRpb24gb24gZXhpc3Rpbmcgc291cmNlcwoJICBSZWNlaXZpbmcgYW4gUlRDUCBwYWNrZXQgc2hvdWxkIGFsc28gc3RvcCBwcm9iYXRpb24gb24gc291cmNlcyB3ZSBoYXZlIHNlZW4KCSAgYmVmb3JlLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzMDY1CgoyMDEyLTA4LTIyIDE2OjM2OjIxIC0wNzAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXVlIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRwOiBtYWtlIHJ0cCBwYWNrZXQgcHJvYmF0aW9uIGNvbmZpZ3VyYWJsZSAoYnVnICM2ODI1MTIpCgoyMDEyLTA4LTMwIDEyOjIxOjAxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuYzoKCSAgZ2RrcGl4YnVmOiBhZGp1c3QgdG8gbW9kaWZpZWQgdmlkZW8gb3ZlcmxheSBjb21wb3NpdGlvbiBBUEkKCjIwMTItMDgtMzAgMTE6MzA6MDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBmaXh1cCAwLjExIHBvcnQgb2Ygc3VzcGVjdCBmcmFtZSBjaGVja2luZwoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgyOTU5CgoyMDEyLTA4LTI4IDE4OjU2OjE5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGF2b2lkIGludmFsaWQgSDI2NCBieXRlc3RyZWFtIGNvZGVjX2RhdGEKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTM2OQoKMjAxMi0wOC0yOCAxOTowMDo0NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcG9ydCBzZWdtZW50IGV2ZW50IGNyZWF0aW9uIHRvIDAuMTEKCjIwMTItMDgtMjggMTY6Mjg6MTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlbGVhc2UgZXh0cmEgZXZlbnQgcmVmIHdoZW4gcmVwbGFjaW5nIHBlbmRpbmcgbmV3c2VnbWVudCBldmVudAoKMjAxMi0wNy0wMyAxNzo1MDoyNCArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9kdW1wLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9kdW1wLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X3R5cGVzLmM6CgkgIGlzb21wNDogYWRkIERBU0ggdGZkdCBib3ggc3VwcG9ydAoJICBNUEVHIERBU0ggaGFzIGRlZmluZWQgYSBzZXQgb2YgbmV3IGJveGVzIHRvIHNwZWNpZnkgZHVyYXRpb24sIGluZGV4ZXMgYW5kCgkgIG9mZnNldHMgb2YgSVNPQk1GRiBmcmFnbWVudHMuCgkgIFRoZSBUcmFjayBGcmFnbWVudCBCYXNlIE1lZGlhIERlY29kZSBUaW1lICh0ZmR0KSBCb3ggY2FuIGluIHBhcnRpY3VsYXIgYmUKCSAgaW5jbHVkZWQgaW5zaWRlIGEgdHJhZiBib3ggdG8gc3BlY2lmeSB0aGUgYWJzb2x1dGUgZGVjb2RlIHRpbWUsIG1lYXN1cmVkIG9uIHRoZQoJICBtZWRpYSB0aW1lbGluZSwgb2YgdGhlIGZpcnN0IHNhbXBsZSBpbiBkZWNvZGUgb3JkZXIgaW4gdGhlIHRyYWNrIGZyYWdtZW50LgoJICBUaGlzIGluZm9ybWF0aW9uIGNhbiBiZSB1c2VkIGJ5IHRoZSBpc29tcDQgZGVtdXggdG8gZmluZCBvdXQgdGhlIGN1cnJlbnQgcG9zaXRpb24gb2YKCSAgYW4gTVA0IGZyYWdtZW50IGluIHRoZSB0aW1lbGluZS4KCSAgVGhpcyBwYXRjaCBhZGRzIGNvZGUgdG8gaXNvbXA0IHRvOgoJICAtIHBhcnNlIHRoZSB0ZmR0IGJveAoJICAtIGFkanVzdCB0aGUgdGltZS9wb3NpdGlvbiBtZW1iZXIgb2YgdGhlIG5ldyBzZWdtZW50IHNlbnQgd2hlbiBwbGF5YmFjayBzdGFydHMKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NzUzNQoKMjAxMi0wOC0yNiAyMjozOTo1NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvcmVuZGVyLmM6CgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuYzoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5LmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnNpbmsuYzoKCSogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguY2M6CgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlva2FyYW9rZS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHB1c2hmaWxlc3JjLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHRhZ2luamVjdC5jOgoJKiBnc3QvZGVidWd1dGlscy9wcm9ncmVzc3JlcG9ydC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdG9wLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJpcHBsZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHN0cmVhay5jOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9pc29tcDQvYXRvbXNyZWNvdmVyeS5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LWRvYy5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL3dlYm0tbXV4LmM6CgkqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdsaW1pdGVyLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6CgkqIGdzdC9ydHAvUkVBRE1FOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOgoJKiBzeXMvb3NzL2dzdG9zc3NyYy5jOgoJKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnJhZGlvLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYWlyby9jYWlyb19vdmVybGF5LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2M3AtQU1SLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjNwLVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2M3Auc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2NC1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjQuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1WVFMtSDI2M3AtQVRTLVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItVlRTLUgyNjNwLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWFsc2FzcmMtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1kZWNvZGViaW4tSDI2M3AtQU1SLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXY0bDItSDI2M3AtYWxzYXNyYy1BTVIuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItdjRsMi1IMjY0LWFsc2FzcmMtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkqIHRlc3RzL2ljbGVzL2dka3BpeGJ1ZnNpbmstdGVzdC5jOgoJKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOgoJICBkb2NzOiBnc3QtbGF1bmNoIC0+IGdzdC1sYXVuY2gtMS4wIGFuZCBmZm1wZWdjb2xvcnNwYWNlIC0+IHZpZGVvY29udmVydAoKMjAxMi0wOC0yNiAyMjozMjo1NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgZG9jczogZ3N0LWxhdW5jaC0wLjExIC0+IGdzdC1sYXVuY2gtMS4wCgoyMDEyLTA4LTI2IDIyOjA4OjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiB0aGUgZmllbGQgaW4gY2FwcyBpcyAiaW50ZXJsYWNlLW1vZGUiIG5vdCAiaW50ZXJsYWNlLW1ldGhvZCIKCSAgRml4IGRlaW50ZXJsYWNlIHVuaXQgdGVzdC4gTmVlZCB0byBzZXQgcmlnaHQgZmllbGQgb24gb3V0cHV0IGNhcHMuCgkgIEFsc28gcmVtb3ZlIHJpZ2h0IGZpZWxkIChub3Qgb2xkIDAuMTAgImludGVybGFjZWQiIGJvb2xlYW4gZmllbGQpCgkgIGZyb20gY2FwcyBpbiB1bml0IHRlc3QgYmVmb3JlIGNvbXBhcmluZyBvbGQgYW5kIG5ldy4KCjIwMTItMDgtMjYgMjE6NDU6NDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pY3lkZW11eC5jOgoJICB0ZXN0czogZml4IGljeWRlbXV4IHVuaXQgdGVzdAoJICBXYXMgd2FpdGluZyBmb3IgYSB0YWcgbWVzc2FnZSBvbiB0aGUgYnVzLCB3aGljaCB3b3VsZCBuZXZlcgoJICBjb21lLCBiZWNhdXNlIGVsZW1lbnRzIGRvbid0IHBvc3QgdGhvc2UgdGhlbXNlbHZlcyBhbnkgbW9yZQoJICBidXQgbGV0IHNpbmtzIHBvc3QgdGhlbSBmcm9tIHRhZyBldmVudHMuIE9ubHkgdGhhdCB0aGVyZSBhcmUKCSAgbm8gc2lua3MgaW4gdGhpcyB1bml0IHRlc3QuCgoyMDEyLTA4LTI2IDIxOjI3OjAwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6CgkgIHRlc3RzOiBmaXggdmlkZW9jcm9wIGNyb3BfdG9fMXgxIHVuaXQgdGVzdCBmb3IgR1JBWTggZm9ybWF0CgkgIFVwZGF0ZSB0YWJsZSB3aXRoIHBpeGVsIHZhbHVlcyB3aXRoIHRoZSB2YWx1ZSBhY3R1YWxseSBwcm9kdWNlZAoJICBieSB2aWRlb3Rlc3RzcmMuCgoyMDEyLTA4LTI3IDA5OjAwOjQ1ICswMjAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IE9ubHkgcHJpbnQgY2FwcyBpZiB0aGV5J3JlIHByb3ZpZGVkCgoyMDEyLTA4LTI0IDE5OjQzOjA4ICswMTAwICBNaWNoYWVsIFJ1Ymluc3RlaW4gPG1ydWJpbnN0ZWluQHJhaS1kZXYuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSAgdmlkZW9taXhlcjogZml4IGVuZGlhbm5lc3MgY2hlY2sgb24gc3lzdGVtcyB3aGVyZSBub24tZ2xpYiBlbmRpYW5uZXNzIGRlZmluZXMgYXJlIG5vdCBzZXQKCSAgT24gV2luZG93cyBMSVRUTEVfRU5ESUFOIHdpdGhvdXQgdGhlIEdfIGluIHdhcyBub3QgZGVmaW5lZCwgIHNvIHRoZQoJICB0ZXN0IGNvbWVzIG91dCB3cm9uZy4KCjIwMTItMDgtMjIgMTc6MjM6MjUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICB1ZHBzaW5rOiBkb24ndCBjcmFzaCBvbiBOVUxMIGVycm9yCgkgIENoZWNrIGlmIHRoZXJlIGlzIGFuIGVycm9yIGJlZm9yZSByZXRyaWV2aW5nIGl0cyBtZXNzYWdlLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MjQ4MQoKMjAxMi0wOC0yMiAxMzozMDoxOSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNjY4YWNlZSB0byA0Zjk2MmY3CgoyMDEyLTA4LTIyIDEzOjE4OjAwICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGJ1bXAgZ3RrLWRvYyByZXEgdG8gMS4xMiAobWFyLTIwMDkpCgkgIFRoaXMgYWxsb3dzIHVzIHRvIGUuZy4gdW5jb25kaXRpb25hbGx5IHVzZSBndGtkb2MtcmViYXNlLgoKMjAxMi0wOC0yMiAxMToyMTozOCArMDIwMCAgTWFydGluIEVydHNhYXMgPG1lcnRzYXNAY2lzY28uY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogTWFrZSBvc3h2aWRlb3NpbmsgdXNlIHRoZSBub24tZGVwcmVjYXRlZCB0aHJlYWRpbmcgYXBpIGZyb20gZ2xpYi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MjQ0NgoKMjAxMi0wOC0xNCAxNTo0MDozMSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IEhhbmRsZSBuZWdvdGlhdGlvbiBldmVudHMKCSAgVGhpcyBtYWtlcyBzdXJlIHRoYXQgd2U6CgkgIGEpIERlc3Ryb3kgYW4gZXhpc3Rpbmcgc3RyZWFtIGlmIGEgbmVnb3RpYXRlKCkgcmVxdWVzdCBjb21lcyBpbjogdGhpcyBpcwoJICByZXF1aXJlZCB3aGVuIHJlY2VpdmluZyBhIGRvd25zdHJlYW0gcmVuZWdvdGlhdGlvbiByZXF1ZXN0IGFmdGVyIGEKCSAgc3RyZWFtIGhhcyBiZWVuIGNyZWF0ZWQuCgkgIGIpIENyZWF0ZSBhIG5ldyBzdHJlYW0gb24gcHJlcGFyZSgpOiB0aGlzIGlzIHJlcXVpcmVkIHNpbmNlIHdlIGRvIGEKCSAgc2V0Y2FwcygpIGluIG5lZ290aWF0ZSgpLCB3aGljaCBjYXVzZXMgdGhlIHN0cmVhbSB0byBiZSBkcm9wcGVkIGJ5IGEKCSAgcmluZ2J1ZmZlciByZWxlYXNlKCkgY2FsbCAodGhpcyBkb2VzIG5vdCBoYXBwZW4gZHVyaW5nIGZpcnN0IG5lZ290aWF0aW9uCgkgIHNpbmNlIHRoZSByZWxlYXNlIGlzIG9ubHkgZG9uZSBvbiBhIHJ1bm5pbmcgcmluZ2J1ZmZlcikuIFRoZSBzdWJzZXF1ZW50CgkgIGNhbGwgdG8gcmluZ2J1ZmZlciBhY3F1aXJlKCkgZmFpbHMgYmVjYXVzZSB0aGUgc3RyZWFtIHdhcyBsb3N0IG9uCgkgIHJlbGVhc2UoKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTI0NwoKMjAxMi0wOC0xNCAxNTozODoyNyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkgIHB1bHNlOiBDbGVhciB1bnBvc2l0aW9uZWQgZmxhZyB3aGVuIHNldHRpbmcgcG9zaXRpb25zCgkgIElmIGNvbnZlcnRpbmcgYSBQQSBjaGFubmVsIG1hcCB0byBnc3QgY2hhbm5lbCBwb3NpdGlvbnMgcmVzdWx0cyBpbiBhCgkgIHZhbGlkIHNldCBvZiBjaGFubmVsIHBvc2l0aW9ucywgd2UgY2xlYXIgdGhlIHVucG9zaXRpb25lZCBmbGFnIGZyb20gdGhlCgkgIHJpbmdidWZmZXIgc3BlYy4KCjIwMTItMDgtMTQgMDk6Mzc6NDUgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBSZW1vdmUgcmVkdW5kYW50IGNoYW5uZWwtbWFzayBzZXR0aW5nIGZvciBzdGVyZW8gY2FzZQoJICBUaGUgZ3N0YXVkaW8gaGVscGVyIGxpYnJhcmllcyBhbHJlYWR5IHRha2UgY2FyZSBvZiB0aGlzIGNhc2UgZm9yIHVzLgoKMjAxMi0wOC0xNCAwOTozNjozMCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IERvbid0IHVzZSBtZW1zZXQgdG8gc2V0IGludmFsaWQgY2hhbm5lbCBwb3NpdGlvbnMKCSAgVGhpcyBpdGVyZWF0ZXMgb3ZlciB0aGUgR3N0QXVkaW9JbmZvIHRvIHNldCBpbnZhbGlkIGNoYW5uZWwgcG9zaXRpb25zCgkgIHJhdGhlciB0aGFuIHVzZSBtZW1zZXQoKSB3aGljaCB3b3JrcyByaWdodCBub3cgYmVjYXVzZSBpdCBhc3N1bWVzIHRoYXQKCSAgR1NUX0FVRElPX0NIQU5ORUxfUE9TSVRJT05fSU5WQUxJRCBpcyAtMS4KCjIwMTItMDgtMjIgMTA6MzA6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZzaW5rLmM6CgkgIGdka3BpeGJ1ZnNpbms6IG1pbm9yIGRvY3MgaW1wcm92ZW1lbnQKCjIwMTItMDgtMjIgMTA6MjM6MjQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9NYWtlZmlsZS5hbToKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmcGx1Z2luLmM6CgkgIGdka3BpeGJ1ZjogcmUtZW5hYmxlIGFscmVhZHktcG9ydGVkIGdka3BpeGJ1ZnNpbmsKCjIwMTItMDgtMjIgMTA6MDg6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9NYWtlZmlsZS5hbToKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5Lmg6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnBsdWdpbi5jOgoJICBnZGtwaXhidWY6IHBvcnQgZ2RrcGl4YnVmb3ZlcmxheSBlbGVtZW50IHRvIDAuMTEKCjIwMTItMDgtMjIgMDA6MDA6NDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9nZGtfcGl4YnVmL01ha2VmaWxlLmFtOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZkZWMuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmZGVjLmg6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnBsdWdpbi5jOgoJICBnZGtwaXhidWY6IHJlLWVuYWJsZSBhbHJlYWR5LXBvcnRlZCBnZGtwaXhidWYgZWxlbWVudCBhcyBnZGtwaXhidWZkZWMKCSAgTm90IHN1cmUgd2h5IGl0IGFzIGRpc2FibGVkIGV4YWN0bHkgZ2l2ZW4gdGhhdCBpdCBoYWQgYWxyZWFkeQoJICBiZWVuIHBvcnRlZCAodGhvdWdoIHdpdGhvdXQgbWV0YXMgb3IgYmFzZWNsYXNzKS4KCSAgTW92ZSBwbHVnaW5faW5pdCBiaXRzIGludG8gc2VwYXJhdGUgc291cmNlIGZpbGUsIGFuZCByZW5hbWUKCSAgZGVjb2RlciBlbGVtZW50IHRvIGdka3BpeGJ1ZmRlYy4KCjIwMTItMDgtMjEgMjM6MjU6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RfbG9hZGVyLmM6CgkgIGdka3BpeGJ1ZjogcmVtb3ZlIG9sZCBhbmQgdW51c2VkIGdzdF9sb2FkZXIgc291cmNlIGZpbGUKCSAgT25jZSB1cG9uIGEgdGltZSB1c2VkIHRvIGxvYWQgR1N0cmVhbWVyIHZpZHMgdmlhIEdka1BpeGJ1ZiBBUEkuCgoyMDEyLTA4LTE2IDE2OjUxOjE2IC0wNzAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXVlIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogbWFrZSBqaXR0ZXJidWZmZXIgZHJvcC1vbi1sYXRlbmN5IGF2YWlsYWJsZSAoZml4ICM2ODIwNTUpCgkgIENvbmZsaWN0czoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oCgoyMDEyLTA4LTIxIDE5OjQ3OjQ1ICswODAwICBIdWFjYWkgQ2hlbiA8Y2hlbmhjQGxlbW90ZS5jb20+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IG1ha2UgZ3N0X3Y0bDJfZmlsbF9saXN0cygpIGFkYXB0IHRvIGtlcm5lbCAzLjMrCgkgIFdoZW4gZG8gdjRsMl9pb2N0bCgpIHdpdGggVklESU9DX0VOVU1JTlBVVCBmYWlscyBvbiBzb21lIGRldmljZXMsCgkgIGtlcm5lbHMgYmVmb3JlIDMuMy4wIHJldHVybiBFSU5WQUwsIGJ1dCBuZXdlciBrZXJuZWxzIHJldHVybiBFTk9UVFkuCgkgIFRoaXMgcGF0Y2ggbWFrZSB0aG9zZSBkZXZpY2VzIHdvcmsgd2VsbCBvbiBrZXJuZWwgMy4zKy4KCSAgUmVsYXRlZCBrZXJuZWwgY29tbWl0OgoJICBodHRwOi8vZ2l0Lmtlcm5lbC5vcmcvP3A9bGludXgva2VybmVsL2dpdC90b3J2YWxkcy9saW51eC5naXQ7YT1jb21taXQ7aD0wN2QxMDZkMGEzM2Q2MDYzZDIwNjEzMDU5MDNkZWIwMjQ4OWViYTIwCgkgIFNpZ25lZC1vZmYtYnk6IEh1YWNhaSBDaGVuIDxjaGVuaGNAbGVtb3RlLmNvbT4KCSAgU2lnbmVkLW9mZi1ieTogUnVpIFdhbmcgPHdhbmdyQGxlbW90ZS5jb20+CgkgIFNpZ25lZC1vZmYtYnk6IEppZSBDaGVuIDxjaGVuakBsZW1vdGUuY29tPgoKMjAxMi0wOC0yMCAyMzozMDozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICB2aWRlby94LWR2ZC1zdWJwaWN0dXJlIC0+IHN1YnBpY3R1cmUveC1kdmQKCjIwMTItMDgtMTcgMjA6NTI6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICBtdWx0aWZpbGVzcmM6IGZpeCBleGFtcGxlIHBpcGVsaW5lIGluIGRvY3MKCjIwMTItMDgtMTcgMTQ6NTk6NTcgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZXF1YWxpemVyLmM6CgkgIGVxdWFsaXplcjogZW5hYmxlIHByZXNldHMgZm9yIHRoZSBuLWJhbmQgZXF1YWxpemVyCgkgIEFkZCBhIHRlc3QgZm9yIHNhdmluZyBhbmQgcmVzdG9yaW5nIHRoZSBwcmVzZXQuCgoyMDEyLTA4LTE0IDAxOjIwOjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBmaXggbm90LW5lZ290aWF0ZWQgZXJyb3JzIG9uIHZhcmlhYmxlIG9yIG1pc3NpbmcgZnJhbWVyYXRlIGluIGlucHV0IGNhcHMKCSAgUmVtb3ZlIHNvbWUgYm9ndXMgY29kZSBJIGFkZGVkIGR1cmluZyBwb3J0aW5nIHRoYXQgd291bGQgZXJyb3Igb3V0CgkgIG9uIG1pc3Npbmcgb3IgdmFyaWFibGUgZnJhbWVyYXRlcyBpbiBpbnB1dCBjYXBzLiBIYW5kbGUgdGhpcyBsaWtlCgkgIHdlIGRvIGluIDAuMTAKCSAgRml4ZXMgdGVzdF9tb2RlX2Rpc2FibGVkX3Bhc3N0aHJvdWdoIHVuaXQgdGVzdCBjaGVjay4KCjIwMTItMDgtMTIgMTM6MTY6MzIgKzAyMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSAgbGF3OiBGaWx0ZXIgbGF5b3V0IGNhcHMgZmllbGQKCSAgVGhlIGxheW91dCBjYXBzIGZpZWxkIHNob3VsZG4ndCBiZSBwYXNzZWQgdGhyb3VnaCB0byB0aGUgc2luayBwYWQKCSAgb2Yge211LGF9bGF3ZGVjLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxNjc3CgoyMDEyLTA4LTA5IDE5OjQxOjM0ICswMzAwICBBbnRvbiBCZWxrYSA8YW50b25iZWxrYUBnbWFpbC5jb20+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IGFsbG93IGEgVE9DIHdpdGggc2luZ2xlIGFsdGVybmF0aXZlIHRvcC1sZXZlbCBlbnRyeQoJICBBbGxvdyBhIFRPQyB0aGF0IGhhcyBhIHNpbmdsZSBhbHRlcm5hdGl2ZSB0b3AtbGV2ZWwgZW50cnkKCSAgd2l0aCBtdWx0aXBsZSBzZXF1ZW5jZSBzdWItZW50cmllcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQwODkxCgoyMDEyLTA4LTA5IDEwOjMxOjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBBbmQgZml4IHRoZSBHVEsgY2hlY2sgdG8gdXNlIHRoZSBjb3JyZWN0IHBrZy1jb25maWcgcGFja2FnZSBuYW1lCgoyMDEyLTA4LTA5IDEwOjI1OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBGaXggR1RLIHJlcXVpcmVkIHZlcnNpb24gdmFyaWFibGUgbmFtZQoKMjAxMi0wOC0wOSAwODozNToyMyArMDEwMCAgTWF0dGhpYXMgQ2xhc2VuIDxtY2xhc2VuQHJlZGhhdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBmaXggYnVpbGQgd2l0aCByZWNlbnQga2VybmVscywgdGhlIHY0bDJfYnVmZmVyIGlucHV0IGZpZWxkIHdhcyByZW1vdmVkCgkgIFRoaXMgd2FzIHVudXNlZCBhcHBhcmVudGx5IGFuZCByZW1vdmVkIGluIHRoZSBrZXJuZWwgaW4gY29tbWl0OgoJICBGcm9tIDJiNzE5ZDdiYWY0OTBlMjRjZTdkODE3YzYzMzdiN2M4N2ZkYTg0YzEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCgkgIEZyb206IFNha2FyaSBBaWx1cyA8c2FrYXJpLmFpbHVzQGlraS5maT4KCSAgRGF0ZTogV2VkLCAyIE1heSAyMDEyIDA5OjQwOjAzIC0wMzAwCgkgIFN1YmplY3Q6IFtQQVRDSF0gW21lZGlhXSB2NGw6IGRyb3AgdjRsMl9idWZmZXIuaW5wdXQgYW5kIFY0TDJfQlVGX0ZMQUdfSU5QVVQKCSAgUmVtb3ZlIGlucHV0IGZpZWxkIGluIHN0cnVjdCB2NGwyX2J1ZmZlciBhbmQgZmxhZyBWNEwyX0JVRl9GTEFHX0lOUFVUIHdoaWNoCgkgIHRlbGxzIHRoZSBmb3JtZXIgaXMgdmFsaWQuIFRoZSBmbGFnIGlzIHVzZWQgYnkgbm8gZHJpdmVyIGN1cnJlbnRseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTQ5MQoJICBDb25mbGljdHM6CgkgIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmMKCjIwMTItMDgtMDggMTc6MjU6MzYgLTA3MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgcnRwaDI2NHBheTogTWFrZSBpdCBhY3R1YWxseSB3b3JrIGFmdGVyIGNsZWFudXBzCgoyMDEyLTA4LTA4IDE3OjQwOjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIGdzdDogU2V0IGFsaWdubWVudCBhdCB0aGUgY29ycmVjdCBwbGFjZSBvZiBHc3RBbGxvY2F0aW9uUGFyYW1zCgoyMDEyLTA4LTA4IDE3OjM5OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIGdzdDogU2V0IGFsaWdubWVudCBhdCB0aGUgY29ycmVjdCBwbGFjZSBvZiBHc3RBbGxvY2F0aW9uUGFyYW1zCgoyMDEyLTA4LTA4IDE2OjI1OjU4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAwLjExLjkzID09PQoKMjAxMi0wOC0wOCAxNToyMjowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTEuOTMKCjIwMTItMDgtMDggMTU6MTc6MjIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIHdpbjMyL01BTklGRVNUOgoJKiB3aW4zMi9jb21tb24vdHVuZXItZW51bXR5cGVzLmM6CgkqIHdpbjMyL2NvbW1vbi90dW5lci1lbnVtdHlwZXMuaDoKCSogd2luMzIvY29tbW9uL3R1bmVyLW1hcnNoYWwuYzoKCSogd2luMzIvY29tbW9uL3R1bmVyLW1hcnNoYWwuaDoKCSAgd2luMzI6IGFkZCBnZW5lcmF0ZWQgdHVuZXItbWFyc2hhbC9lbnVtdHlwZXMgZmlsZXMgZm9yIHY0bDJzcmMgYW5kIHVwZGF0ZQoJICBBbmQgZ3N0LWluZGVudCB0aGUgcmlnaHQgcnRwIG1hcnNoYWwgZmlsZXM7IGFkZCBtaXNzaW5nIGZpbGVzIHRvIE1BTklGRVNULgoKMjAxMi0wOC0wOCAxNToxMDozNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94b3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5jOgoJICBnc3Q6IHVwZGF0ZSBkaXN0ZWQgb3JjIGZpbGVzCgoyMDEyLTA4LTA4IDExOjMxOjU5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSogc3lzL29zczQvb3NzNC1hdWRpby5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIFNpbGVuY2Ugc29tZSAndmFyaWFibGUgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCcgY29tcGlsZXIgd2FybmluZ3MKCSAgV2hlbiBjb21waWxpbmcgd2l0aCAtREdfRElTQUJMRV9BU1NFUlQKCjIwMTItMDgtMDggMTA6NTY6NTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtb292cmVjb3Zlci5jOgoJKiB0ZXN0cy9pY2xlcy94aW1hZ2VzcmMtdGVzdC5jOgoJICBObyBjb2RlIHdpdGggc2lkZS1lZmZlY3RzIGluc2lkZSBnX2Fzc2VydCgpIHBsZWFzZQoKMjAxMi0wOC0wNyAxMToxNDoyMSAtMDcwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazogUmV0dXJuIEZMVVNISU5HIGluc3RlYWQgb2YgRVJST1Igb24gdW5sb2NrCgkgIElmIHRoZSBiYXNlIGNsYXNzIGFza3MgbXVsdGl1ZHBzaW5rIHRvIHVubG9jaywgdGhlbiBpdCBzaG91bGQgcmV0dXJuCgkgIEZMVVNISU5HLCBub3QgRVJST1IKCjIwMTItMDctMjYgMTY6MTk6NTcgKzAzMDAgIEFudG9uIEJlbGthIDxhbnRvbmJlbGthQGdtYWlsLmNvbT4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5oOgoJICBmbGFjZW5jOiBhZGQgVE9DIHN1cHBvcnQKCSAgQWRkIFRPQyBhcyBlbWJlZGRlZCBjdWVzaGVldHMgaW4gZmxhYyBmaWxlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU0MDg5CgoyMDEyLTA4LTA3IDEyOjEyOjA5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZ2VuZXJhdGUgZW1wdHkgdm9yYmlzY29tbWVudCBmb3IgY29tcGxldGUgc3RyZWFtaGVhZGVycyBpZiBuZWVkZWQKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTMzNQoKMjAxMi0wOC0wNiAxODowMjo1MCAtMDcwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IEJsb2NrIHBhZCB3aGlsZSBpdCBpcyBhbm5vdW5jZWQuCgkgIEJsb2NrIHRoZSBSVFAgcGFkIGFuZCBhc3NvY2lhdGVkIFJUQ1AgcGFkcyB3aGlsZSB0aGV5IGFyZSBiZWluZwoJICBhbm5vdW5jZWQuIFRoaXMgaXQgdG8gcHJldmVudCBhIHJhY2Ugd2hlcmUgb25lIGlzIGFubm91bmNlZCBhbmQKCSAgYmVmb3JlIHRoZSBjYWxsYmFjayBoYXMgY29ubmVjdGVkIGl0LCB0aGUgb3RoZXIgb25lIGdldHMgYSBidWZmZXIuCgkgIFdlIGNhbid0IHVzZSB0aGUgInBhZGxvY2siIG9mIHNzcmNkZW11eCBiZWNhdXNlIGl0IGNhdXNlcyBkZWFkbG9ja3MuCgoyMDEyLTA4LTA2IDE1OjAwOjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgY29tbW9uOiB1bi1kbyBhY2NpZGVudGFsIGNvbW1vbiB1cGRhdGUgcmV2ZXJ0IGluIGNvbW1pdCA3YjU5MjViNQoKMjAxMi0wOC0wNiAxNDo1MDo1MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkgIHJ0cG1wYXJvYnVzdGRlcGF5OiBzZXQgY29ycmVjdCBkYXRhX3NpemUgZm9yIGdlbmVyYXRlZCBkdW1teSBmcmFtZQoJICAuLi4gd2hpY2ggcHJldmVudHMgZ2V0dGluZyBzdHVjayBpbiBhIGxvb3AgaWYgc3VjaCBvbmUgaXMgbmVlZGVkLgoKMjAxMi0wOC0wNiAxNDo1MDowMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkgIHJ0cG1wYXJvYnVzdGRlcGF5OiBpbXByb3ZlIGFuZCBmaXggZGVidWcgc3RhdGVtZW50CgkgIC4uLiBzbyBpdCByZWFsbHkgaW5mb3JtcyBhYm91dCBuZXh0IHJhdGhlciB0aGFuIHBhc3QgZnJhbWUuCgoyMDEyLTA4LTA2IDEyOjM0OjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSAgcnRwbXBhcm9idXN0ZGVwYXk6IHVwZGF0ZSBhdmFpbGFibGUgYnl0ZXdyaXRlciBzcGFjZSB3aGVuIHJlcG9zaXRpb25pbmcKCSAgLi4uIGFuZCBhZGQgc29tZSBtb3JlIGFzc2VydCB0byBjYXRjaCBwb3RlbnRpYWwgc3VycHJpc2VzIGVhcmx5IG9uLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwNTU4CgoyMDEyLTA4LTA0IDEyOjQ3OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgZ3N0OiBBZGQgc3RyZWFtLWlkIHRvIHN0cmVhbS1zdGFydCBldmVudHMKCjIwMTItMDgtMDQgMTI6NTQ6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IENoYWluIHVwIHRvIHRoZSBwYXJlbnQgY2xhc3MnIHF1ZXJ5IGhhbmRsZXIgaWYgbm8gcGFkIGlzIHByb3ZpZGVkCgoyMDEyLTA4LTAyIDAxOjQ4OjI5ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogYWRkIGEgYmV0dGVyIGRldGVjdGlvbiBmb3IgdGhlIG1haW4gcnVuIGxvb3AKCjIwMTItMDctMjcgMTY6MTM6NDkgKzAyMDAgIFhhdmkgQXJ0aWdhcyA8eGFydGlnYXNAZmx1ZW5kby5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogRG8gbm90IG92ZXJ3cml0ZSB0aGUgRFMgYnVmZmVyIHdoZW4gdGVzdGluZyBmb3IgQUMzIHN1cHBvcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDcwNgoJICBDb25mbGljdHM6CgkgIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYwoKMjAxMi0wOC0wNSAxNjozOToyMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gOTRjY2Y0YyB0byA2NjhhY2VlCgoyMDEyLTA4LTAzIDE2OjEzOjUyICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cHNzcmNkZW11eDogUmVsZWFzZSBsb2NrIGJlZm9yZSBzaWduYWxsaW5nIG5ldyBwYWQKCSAgVGhpcyBwcmV2ZW50cyBhIGRlYWRsb2NrIHdoZXJlIHNvbWV0aGluZyB3b3VsZCB0cnkgdG8gcHVzaCBhbiBldmVudAoJICB0aHJvdWdoIHRoZSBTU1JDIGRlbXV4IGZyb20gdGhlIGNhbGxiYWNrLCBjYXVzaW5nIHRoZSBwYWRzIHRvIGJlIGl0ZXJhdGVkCgkgIGFuZCB0aGUgbG9jayB0YWtlbi4KCjIwMTItMDgtMDQgMTY6MTA6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHRhZ2luamVjdC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXBldjJtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWN5ZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzdjJtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkgIGdzdF90YWdfbGlzdF9mcmVlIC0+IGdzdF90YWdfbGlzdF91bnJlZgoKMjAxMi0wOC0wMyAxNDoxMDozMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IG1hbmFnZSByYWNlIGJldHdlZW4gY29ubmVjdGlvbiBjbG9zaW5nIGFuZCBmbHVzaGluZwoJICAuLi4gd2hlcmUgdGhlIGZvcm1lciBjYW4gaGFwcGVuIGluIHRhc2sgdGhyZWFkIGFuZCB0aGUgbGF0dGVyIGluIG1haW5sb29wCgkgIHVwb24gZG93bndhcmQgc3RhdGUgY2hhbmdlLgoKMjAxMi0wOC0wMyAxNDowMjoyMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IGltcHJvdmUgYW5kIHJlbGF4IGF1ZGlvIGZyYW1lIHBhcnNpbmcKCSAgLi4uIHNvIGFzIHRvIHByb3Blcmx5IHJlY29nbml6ZSBmaXJzdCBhdWRpbyBmcmFtZS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTA3NwoJICBDb25mbGljdHM6CgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuYwoKMjAxMi0wOC0wMSAxMjoxNjo0MSArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggZG91YmxlIHVucmVmIG9mIHByaXZhdGUgdGFnIGJ1ZmZlcgoKMjAxMi0wNy0zMCAxNzo1NDo1MSArMDMwMCAgQW50b24gQmVsa2EgPGFudG9uYmVsa2FAZ21haWwuY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBjcmVhdGUgVE9DIGFzIG5lZWRlZAoJICBBdm9pZCBjcmVhdGluZyB0aGUgdG9jIGlmIHRoZSB3YXYgaGFzIG5vIG9yIGVtcHR5IGN1ZSBjaHVuay4KCSAgQWxzbyBhIHNtYWxsIGNvZGUgY2xlYW51cC4KCjIwMTItMDctMjggMTE6MjY6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IHVwZGF0ZSBmb3IgVE9DIEFQSSBjaGFuZ2VzCgoyMDEyLTA3LTI4IDExOjIyOjQzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thOiB1cGRhdGUgZm9yIFRPQyBBUEkgY2hhbmdlcwoKMjAxMi0wNy0yOCAxMToyMDowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogdXBkYXRlIGZvciBUT0MgQVBJIGNoYW5nZXMKCjIwMTItMDctMjggMDA6MTk6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHRhZ2luamVjdC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYzoKCSAgdGFnOiBVcGRhdGUgZm9yIHRhZ2xpc3QvdGFnIGV2ZW50IEFQSSBjaGFuZ2VzCgoyMDEyLTA3LTI3IDEyOjA1OjQ0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9pc29tcDQtcGx1Z2luLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdChkZSltdXg6IHBhc3MgcHJpdmF0ZSBibG9iIHRhZ3MgaW4gYSBzYW1wbGUKCSAgLi4uIHJhdGhlciB0aGFuIGEgYnVmZmVyLCBhbmQgdGhlIGRldGFpbGVkIGluZm8gaW4gdGhlIHNhbXBsZSBpbmZvCgkgIHJhdGhlciB0aGFuIGNhcHMuCgoyMDEyLTA3LTI3IDExOjMxOjEzICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICB2aWRlb2Nyb3A6IERvbid0IHJldHVybiBOVUxMIGZyb20gX3RyYW5zZm9ybV9jYXBzCgkgIElmIF90cmFuc2Zvcm1fY2FwcyAoKSByZXR1cm5zIE5VTEwsIHRoZSBiYXNldHJhbnNmb3JtIF90cmFuc2Zvcm1fY2FwcwoJICB0cmllcyB0byBjYWxsIGdzdF9jYXBzX2lzX3N1YnNldCAoKSB3aXRoIGEgTlVMTCBzdWJzZXQgd2hpY2ggaGl0cyBhbgoJICBhc3NlcnRpb24uCgoyMDEyLTA3LTI3IDExOjI2OjE4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogb2J0YWluIGltYWdlIHR5cGUgZnJvbSB0aGUgc2FtcGxlIGluZm8KCjIwMTItMDctMjcgMTE6MjU6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiByZW1vdmUgZXh0cmFuZW91cyBfdW5yZWYKCSAgLi4uIHNpbmNlIHdlIGRpZCBub3Qgb2J0YWluIGEgYnVmZmVyIHJlZiBmcm9tIHRoZSBHc3RTYW1wbGUuCgoyMDEyLTA3LTI3IDEwOjE0OjIzICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IFVwZGF0ZSB0byB1c2UgR3N0U2FtcGxlIHRhZyBzZXR0aW5nIEFQSQoKMjAxMi0wNy0yNiAxNjozNDoyMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkgIHJ0cG1wYXJvYnVzdGRlcGF5OiBtb2RpZnkgYnVmZmVyIGRhdGEgcmF0aGVyIHRoYW4gYnVmZmVyIGl0c2VsZgoKMjAxMi0wNy0yNiAxNjoyODozMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkgIHJ0cG1wYXJvYnVzdGRlcGF5OiBhdm9pZCBsZWFraW5nIGJ5dGV3cml0ZXIgaW5zdGFuY2UKCjIwMTItMDctMjYgMTY6MDQ6MjMgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogRml4IHRpbWVzdGFtcCBhZGp1c3RtZW50IGFuZCBjYXBzCgoyMDEyLTA3LTI2IDE2OjAzOjU3ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEZpeC9zaW1wbGlmeSB0ZWxlY2luZSBzdGF0ZSBjaGVja3MKCjIwMTItMDctMjYgMTI6MDg6NTggKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogSW1wcm92ZSBkZWJ1ZyBvdXRwdXQKCjIwMTItMDctMjYgMTI6MDg6MzYgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogRml4IGxvdy1sYXRlbmN5IHBhdHRlcm4gbG9ja2luZwoKMjAxMi0wNy0yNCAxNjoxOTo1MyArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBSRkYgc2hvdWxkIGJlIGlnbm9yZWQgaW4gZGVpbnRlcmxhY2UKCSAgUkZGIG9ubHkgb2NjdXJzIG9uIHByb2dyZXNzaXZlIGZyYW1lcyBpbiB0ZWxlY2luZSBzZXF1ZW5jZXMuIEZvcgoJICBkZWludGVybGFjZSwgd2UgZG9uJ3Qgd2FudCB0aGVzZSByZXBlYXRlZCBmaWVsZHMgYXMgd2Ugd2lsbCBzaW1wbHkgYmUKCSAgcHVzaGluZyB0aGUgcHJvZ3Jlc3NpdmUgZnJhbWUgYW5kIHRoZW4gbW92aW5nIG9uLgoJICBIb3dldmVyLCB3ZSBuZWVkIHRvIGNvbnNpZGVyIFJGRiBpbiBvcmRlciB0byBjb3JyZWN0bHkgaWRlbnRpZnkgcGF0dGVybnMKCSAgYW5kIGFkanVzdCB0aGUgdGltZXN0YW1wcy4KCjIwMTItMDctMjQgMTQ6NTk6NDcgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogSW1wcm92ZSBwcm9jZXNzIGxvZ2ljCgkgIFRoZSBsb2dpYyBub3cgd29ya3MgYmV0dGVyIGlmIHdlIGZpbHRlciBvcnBoYW5zLCB0aGVuIHByb2dyZXNzaXZlLCB0aGVuCgkgIHRlbGVjaW5lIGludGVybGFjZWQgZmllbGRzIHdoaWNoIG5lZWQgdG8gYmUgd292ZW4gYW5kIGZhbGwgdGhyb3VnaCB0bwoJICBpbnRlcmxhY2UuIFRlbGVjaW5lIGludGVybGFjZWQgZmllbGRzIHdpbGwgYmUgcmVndWxhcmx5IGRlaW50ZXJsYWNlZCBpZgoJICB0aGVyZSBpcyBubyBwYXR0ZXJuIGxvY2sgZm9yIHVzIHRvIGJlIHN1cmUgdGhhdCB3ZSBoYXZlIGEgdGVsZWNpbmUKCSAgcGF0dGVybi4KCSAgVGVsZWNpbmUgc2VxdWVuY2VzIHRoYXQgYXJlbid0IDI0ZnBzIHByb2dyZXNzaXZlIHdpdGggUkZGIGZsYWdzIGNhbid0CgkgIHJlYWxseSBiZSB0ZXN0ZWQgdW50aWwgZmllbGRhbmFseXNpcyBpcyBwb3J0ZWQuCgoyMDEyLTA3LTI1IDE2OjAyOjM0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogb25seSBzZXQgY29tcGxldGUgb3V0cHV0IGNhcHMgb25jZQoJICAuLi4gc28gYXMgdG8gYXZvaWQgZG93bnN0cmVhbSBjb21wbGFpbnRzIGFib3V0IG1pc3Npbmcgc3RyZWFtaGVhZGVycy4KCjIwMTItMDctMjUgMTU6Mjk6MDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBhbHNvIHN1cHBvcnQgUzI0XzMyIG91dHB1dAoKMjAxMi0wNy0yNSAxNToyODoxNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IHBhc3MgY29ycmVjdCBwYXJhbWV0ZXJzIHRvIGVuY29kZXIgbGliCgoyMDEyLTA3LTI1IDE0OjU3OjEzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogYWRqdXN0IHRvIG1vZGlmaWVkIGF1ZGlvZW5jb2RlciBnZXRjYXBzIGhlbHBlciBBUEkKCjIwMTItMDctMjUgMTI6NTA6MDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3A6IGdvIGFuZCBzdGF5IGluIHRoZSBsb29wIGZ1bmN0aW9uIG9uIFBMQVkKCSAgV2hlbiB3ZSBoYXZlIGEgUExBWSByZXF1ZXN0LCBnbyBpbnRvIHRoZSBMT09QIGZ1bmN0aW9uIG5leHQuIFdoZW4gd2UgYXJlCgkgIGxvb3BpbmcsIGtlZXAgb24gbG9vcGluZyB1bnRpbCB3ZSBhcmUgdG9sZCBvdGhlcndpc2UuCgkgIFRoaXMgZml4ZWQgcnRzcCBhbmQgVENQIGNvbm5lY3Rpb25zLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwNTUxCgoyMDEyLTA3LTI1IDEyOjQ5OjM1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwOiBzZXQgY2FwcyBhZnRlciBhY3RpdmF0aW5nIHRoZSBwYWQKCjIwMTItMDctMjUgMTI6NDk6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBoMjY0ZGVwYXk6IHNtYWxsIGNsZWFudXBzCgoyMDEyLTA3LTI1IDEwOjA4OjUyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RydHB4cXRkZXBheS5jOgoJICB4cXRkZXBheTogZml4IGJ1ZmZlciByZWZjb3VudCBlcnJvcgoJICBBZnRlciBwdXNoaW5nIHRoZSBidWZmZXIgaW50byB0aGUgYWRhcHRlciwgd2Ugc2hvdWxkIG5vdCBsZXQgdGhlIGJhc2VjbGFzcyBwdXNoCgkgIGl0IG91dCBhbnltb3JlLiBUaGlzIGVycm9yIHdhcyBpbnRyb2R1Y2VkIHdoaWxlIHBvcnRpbmcgdG8gMC4xMS4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODA1NDAKCjIwMTItMDctMjQgMjE6NDE6NTMgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgbGV2ZWw6IHJlbW92ZSBvYnNvbGV0ZSBsaWJvaWwgY29tbWVudAoKMjAxMi0wNy0yNCAyMToxMToxOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIG1hdHJvc2thZGVtdXg6IHB1c2ggbW9kZTogaW5jcmVhc2Ugc2VnbWVudCBhY2N1cmFjeSBmb2xsb3dpbmcgc2VlawoJICBDb25mbGljdHM6CgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jCgoyMDEyLTA3LTI0IDE2OjQxOjUxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBwZXJmb3JtIHByb3BlciBLRVlfVU5JVCBzZWVrIGFsc28gaW4gcHVzaCBtb2RlCgkgIENvbmZsaWN0czoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmMKCjIwMTItMDctMjQgMTk6MDQ6MzkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBkb24ndCBjcmFzaCBkZXJlZmVyZW5jaW5nIE5VTEwgZXJyb3Igd2hlbiBsZWF2aW5nIG11bHRpY2FzdCBncm91cCBvbiBzaHV0ZG93bgoJICBTdHJhbmdlbHkgZW5vdWdoLCBpZiB3ZSBkbyBwYXNzIGFuIGVycm9yIHZhcmlhYmxlIHRvIGJlIGZpbGxlZCwgd2UKCSAgbm8gbG9uZ2VyIGdldCBhbiBlcnJvciBvbiBsZWF2aW5nLgoKMjAxMi0wNy0yNCAxNTo1NToxMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiByZWFycmFuZ2Ugc29tZSBjaGVja3MgdG8gYXZvaWQgTlVMTCB1c2UKCjIwMTItMDctMjQgMTU6Mzg6MjQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogdXNlIHNhbWUgZm91cmNjIHRvIGRldGVybWluZSBjYXBzIGluIGRldGVybWluaW5nIHVuY29tcHJlc3NlZC1uZXNzCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzM4OTgKCSAgQ29uZmxpY3RzOgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmMKCjIwMTItMDctMjQgMTU6MzY6NTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBSZXZlcnQgImF2aWRlbXV4OiBEb24ndCBjb25zaWRlciAwIGZjY19oYW5kbGVyIGFzIHVuY29tcHJlc3NlZC4iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYzZiOWY1YjI1YWI0MzU2Njk4MTZhMDcwNDliMGU1YThmMDFlMDljYS4KCSAgZm91cmNjIEdTVF9SSUZGX3JnYiA9IDAgc3RpbGwgbGVhZHMgdG8gcmF3IHVuY29tcHJlc3NlZCByZ2IgY2Fwcy4KCSAgU2VlIGFsc28gaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3Mzg5OAoKMjAxMi0wNy0yNCAxMjoxMDo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGZpeCB1cCBleGFtcGxlIHBpcGVsaW5lIHNvbWUgbW9yZQoJICBObyBtb3JlIGZmbXBlZ2NvbG9yc3BhY2UKCjIwMTItMDctMjAgMTY6MzA6MDAgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogRml4IHRoZSBleGFtcGxlIGdzdC1sYXVuY2ggcGlwZWxpbmUuCgoyMDEyLTA3LTI0IDEyOjMzOjMzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBhdm9pZCBOVUxMIGFjY2VzcyB3aGVuIGNoZWNraW5nIHN1YnRpdGxlCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODAzODgKCjIwMTItMDctMjQgMTI6MjI6MDggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogUmVzZXQgcGFyc2VyIHdoZW4gd2UgaGF2ZSBjYXBzIHdpdGhvdXQgY29kZWNfZGF0YQoJICBUaGlzIGVuc3VyZXMgdGhlIGRldGVjdGlvbiAoYW5kIHByb3BlciBkb3duc3RyZWFtIGNhcHMgc2V0dGluZ3MpIHdpbGwKCSAgYWN0dWFsbHkgaGFwcGVuIHdoZW4gd2UgaGF2ZSBuZXcgaW5jb21pbmcgY2FwcyB3aXRob3V0IGNvZGVjX2RhdGEuCgkgIFRoaXMgd2FzIGVhc2lseSB0cmlnZ2VyZWQgYnkgc3RyZWFtcyBmcm9tIG1hdHJvc2thZGVtdXggd2hpY2ggaW5pdGlhbGx5CgkgIHByb3ZpZGVkIGNhcHMgd2l0aCBhIGNvbnN0cnVjdGVkIGNvZGVjX2RhdGEsIGJ1dCB0aGVuIHB1c2hlZCBuZXcgY2FwcwoJICB3aXRob3V0IHRoZSBjb2RlY19kYXRhIG9uY2UgaXQgZGV0ZWN0ZWQgdGhlIHN0cmVhbSB3YXMgYWR0cy4KCjIwMTItMDctMjQgMDk6MTc6MDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMub3JjOgoJICB2aWRlb21peGVyOiBwcmVmaXggb3JjIGZ1bmN0aW9ucyB3aXRoIHZpZGVvX21peGVyX29yY18KCjIwMTItMDctMjQgMDk6MTM6NDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94b3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94b3JjLWRpc3QuaDoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94b3JjLm9yYzoKCSAgdmlkZW9ib3g6IHByZWZpeCBvcmMgZnVuY3Rpb25zIHdpdGggdmlkZW9fYm94X29yY18KCjIwMTItMDctMjMgMTg6NTE6MDAgKzAyMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPHVyYWV1c0BsaW51eHJpc2luLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZSB3aXRoIGxhdGVzdCBjaGFuZ2VzCgoyMDEyLTA3LTIzIDE3OjM3OjU4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBnZW5lcmF0ZSBjb3JyZWN0IHNlZ21lbnQgc3RyZWFtIHRpbWUKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDI3NQoKMjAxMi0wNy0yMyAxNjo0Mjo1NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5oOgoJICBydHA6IGFsd2F5cyB1c2UgYnVmZmVyIGxpc3RzCgoyMDEyLTA3LTIzIDE1OjI0OjE3ICswMjAwICBQYXRyaWNpYSBNdXNjYWx1IDxwYXRyaWNpYUBheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuaDoKCSAgcnRwbXA0dnBheTogYWx3YXlzIGVuYWJsZSBidWZmZXItbGlzdHMKCjIwMTItMDctMjMgMTU6MjI6MjQgKzAyMDAgIFBhdHJpY2lhIE11c2NhbHUgPHBhdHJpY2lhQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5oOgoJICBydHBqcGVncGF5OiBhbHdheXMgZW5hYmxlIGJ1ZmZlci1saXN0cwoKMjAxMi0wNy0yMyAxNTo0OTowNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBnZXQgZnJhbWUgZmxhZ3MgY29ycmVjdGx5CgkgIEFsc28gbW92ZSB0aGUgZGVpbnRlcmxhY2UgcGx1Z2luIHRvIHBvcnRlZCBzdGF0dXMKCjIwMTItMDctMjMgMTU6MzM6NTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHByb3BlciBwYXJzZSByZWNvdmVyeSBhZnRlciBzZWVrCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODA0MjcKCjIwMTItMDctMjMgMTI6Mzk6MDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogY2xlYXIgb2xkIHNlZ21lbnQgZXZlbnQgd2hlbiByZXF1ZXN0aW5nIG5ldyBvbmUKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDI4MwoKMjAxMi0wNy0yMyAxMDozMjozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgIGV4dDogVXBkYXRlIGZvciB2aWRlbyBiYXNlIGNsYXNzZXMgQVBJIGNoYW5nZXMKCjIwMTItMDctMjMgMDg6NDk6MDcgKzAyMDAgIEFsYmFuIEJyb3dhZXlzIDxwcmFoYWxAeWFob28uY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBjb252ZXJ0IGFsbCBub24gR1NUX0ZPUk1BVF9CWVRFUyB0byBmb3JtYXQgYnl0ZXMuCgkgIENvbnZlcnQgYWxsIG5vbiBHU1RfRk9STUFUX0JZVEVTIHRvIGZvcm1hdCBieXRlczoKCSAgZml4ZXM6CgkgIEdTdHJlYW1lci1DUklUSUNBTCAqKjogZ3N0X3F1ZXJ5X3NldF9kdXJhdGlvbjogYXNzZXJ0aW9uIGBmb3JtYXQgPT0KCSAgZ192YWx1ZV9nZXRfZW51bSAoZ3N0X3N0cnVjdHVyZV9pZF9nZXRfdmFsdWUgKHMsIEdTVF9RVUFSSyAoRk9STUFUKSkpJwoJICBmYWlsZWQKCSAgd2hlbiBwbGF5aW5nIG1vcmUgdGhhbiBvbmUgd2F2IHN0cmVhbS4KCSAgZ3N0LXBsdWdpbnMtYmFzZS90ZXN0cy9pY2xlcy9wbGF5YmFjay90ZXN0NyB1cmkxLndhdiB1cmkyLndhdgoKMjAxMi0wNy0yMyAwOToyNToyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IERvbid0IGZhaWwgaWYgbW9yZSBkYXRhIHRoZW4gbmVlZGVkIGlzIGF2YWlsYWJsZSB3aGVuIHBhcnNpbmcgY3VlIGNodW5rcwoJICBGaXhlcyBidWcgIzY4MDMyOC4KCjIwMTItMDctMjMgMDk6MjI6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBTb21lIG1pbm9yIGNsZWFudXAgdG8gdGhlIGN1ZS9sYWJsIHBhcnNpbmcKCjIwMTItMDctMjMgMDg6NDU6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA5OGUzODZmIHRvIDk0Y2NmNGMKCjIwMTItMDctMTkgMTQ6NTU6NDUgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJICBkZWludGVybGFjZTogUG9ydCB0byAxLjAKCSAgVGhpcyByZXF1aXJlcyB0aGUgYWRkaXRpb25hbCBJTlRFUkxBQ0VEIGJ1ZmZlciBmbGFnIHJlY2VudGx5IGFkZGVkIHRvCgkgIC1iYXNlCgoyMDEyLTA3LTIwIDE1OjE4OjQ2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICBpbnRlcmxlYXZlOiBjb252ZXJ0IHRoZSBvdXRwdXQgc2VnbWVudCB0byB0aW1lCgkgIENvbnZlcnQgdGhlIHN0b3JlZCBpbnB1dCBzZWdtZW50IHRvIHRpbWUgYmVmb3JlIHB1c2hpbmcgaXQgb3V0LgoJICBDb25mbGljdHM6CgkgIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYwoKMjAxMi0wNy0yMCAxMzoxMjo0NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5oOgoJICBpbnRlcmxlYXZlOiB0cnkgdG8gZml4IHNlZ21lbnQgaGFuZGxpbmcKCSAgQ29uZmxpY3RzOgoJICBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmMKCjIwMTItMDctMjAgMTU6Mjg6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IE5vbi11cGRhdGUgc2Vla3Mgc2hvdWxkIHN0aWxsIG1ha2Ugc3VyZSB0aGF0IHJldmVyc2UgcGxheWJhY2sgc3RhdHVzIGlzIHJlc2V0CgkgIENvbmZsaWN0czoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmMKCjIwMTItMDctMjAgMTU6MTg6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFByb3Blcmx5IGluaXRpYWxpemUgZnJvbV9vZmZzZXQgYW5kIGZyb21fdGltZQoKMjAxMi0wNy0yMCAxNDoyNTo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogV2UgbmVlZCBhbiBpbmRleCBhbmQgaW5kZXggZW50cnkgZm9yIHJldmVyc2UgcGxheWJhY2sKCSAgUmV2ZXJzZSBwbGF5YmFjayBkb2VzIG5vdCB3b3JrIHdpdGggaW5kZXgtbGVzcyBmaWxlcyB5ZXQuCgoyMDEyLTA3LTIwIDE0OjEwOjQxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogY2xlYW4gdXAgcHVzaCBtb2RlIHNlZ21lbnQgaGFuZGxpbmcKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDI3NwoKMjAxMi0wNy0yMCAxMzozNToyOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcHJvcGVybHkgdHJhbnNmb3JtIGluY29taW5nIHNlZ21lbnQgZXZlbnQKCSAgLi4uIHdoaWNoIGlzIHJlYWxseSB1c2VmdWwgZm9yIHByb3BlciBwdXNoIG1vZGUgc2Vla2luZy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDI3OAoKMjAxMi0wNy0yMCAxMTowNzo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIG1hdHJvc2thZGVtdXg6IEZpeCByZXZlcnNlIHBsYXliYWNrIGZvciBzZWVrcyB3aXRob3V0IHN0b3AgcG9zaXRpb24KCSAgQ29uZmxpY3RzOgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYwoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaAoKMjAxMi0wNy0yMCAxMDo0ODozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogT25seSB0YWtlIHRoZSBzdHJlYW1fc3RhcnRfdGltZSBpbnRvIGFjY291bnQgZm9yIFNFVCBzZWVrcwoJICBGb3Igb3RoZXIgc2Vla3MgdGhlIHN0cmVhbV9zdGFydF90aW1lIGlzIGFscmVhZHkgYWRkZWQgdG8gdGhlCgkgIHNlZ21lbnQgdmFsdWVzLgoJICBDb25mbGljdHM6CgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jCgoyMDEyLTA3LTA4IDIwOjM2OjIyICswMzAwICBBbnRvbiBCZWxrYSA8YW50b25iZWxrYUBnbWFpbC5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIHdhdnBhcnNlOiBBZGQgVE9DIHN1cHBvcnQKCSAgQWRkIHN1cHBvcnQgZm9yOgoJICAqIEN1ZSBDaHVuawoJICAqIEFzc29jaWF0ZWQgRGF0YSBMaXN0IENodW5rCgkgICogTGFiZWwgQ2h1bmsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NzMwNgoKMjAxMi0wNS0wOSAxNTo1ODoxNiArMDIwMCAgTWFyaWEgR2lvdmFubmEgQ2hpb3NzYSA8bWFyaWFnaW92YW5uYS5jaGlvc3NhIGF0IHNlbGV4ZWxzYWcuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhbHNvIHNldCBVRFAgYnVmZmVyIHNpemUgaW4gbXVsdGljYXN0CgkgIEFsc28gc2V0IHRoZSBVRFAgYnVmZmVyIHNpemUgaW4gbXVsdGljYXN0IG1vZGUuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzU0NDgKCjIwMTItMDctMTggMjM6NDM6NTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBmaXggaGVhZGVyIHBhcnNpbmcgaW4gcHVzaCBtb2RlCgkgIEZpeCAnYnJlYWsnIHRoYXQgZ290IHdhcnBlZCB0byB0aGUgd3JvbmcgcGxhY2UsCgkgIHByb2JhYmx5IGFzIHBhcnQgb2YgYSBtZXJnZS4gRml4ZXMgR1NUX0lTX0JVRkZFUgoJICBjcml0aWNhbHMgaW4gcGFyc2VfaWRpdCgpIHdoZW4gYmVpbmcgYWNjaWRlbnRhbGx5CgkgIHBhc3NlZCBhIE5VTEwgYnVmZmVyIGJlY2F1c2Ugb2YgdGhlIG1pc3NpbmcgYnJlYWsuCgkgIGdzdC1sYXVuY2gtMS4wIHBsYXliaW4gdXJpPWh0dHA6Ly9kb2NzLmdzdHJlYW1lci5jb20vbWVkaWEvc2ludGVsX3RyYWlsZXItNDgwaS5hdmkKCjIwMTItMDctMTggMjI6NDc6MjIgKzAyMDAgIEFsYmFuIEJyb3dhZXlzIDxwcmFoYWxAeWFob28uY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwOiBkZXByZWNhdGVkIHNvdXBfbWVzc2FnZV9oZWFkZXJzIF9nZXQgLT4gX2dldF9vbmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDIwNgoKMjAxMi0wNy0xOCAxODoyNzo0MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgIGpwZWcvcG5nOiBDYWxsIHZpZGVvX2RlY29kZXJfbmVnb3RpYXRlKCkKCjIwMTItMDctMTggMTc6NTc6NTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RwdXNoZmlsZXNyYy5jOgoJICB1cGRhdGUgZm9yIGdob3N0cGFkIGNoYW5nZXMKCjIwMTItMDctMTggMTE6MzY6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFBhc3Mgc2VlayByYXRlIHRvIHVwc3RyZWFtIHNlZWsgZXZlbnRzIGluIHB1c2ggbW9kZQoJICBGaXhlcyBidWcgIzY3OTQzNS4KCSAgQ29uZmxpY3RzOgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYwoKMjAxMi0wNy0xNyAxNjozOTowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICB1cGRhdGUgZm9yIFJUUCBidWZmZXIgYXBpIGNoYW5nZXMKCjIwMTItMDctMTcgMTY6Mzg6MjcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHJ0cHhxdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJICB1cGRhdGUgZm9yIFJUUCBidWZmZXIgYXBpIGNoYW5nZXMKCjIwMTItMDctMTYgMTE6MDc6NDQgKzAyMDAgIFBhdHJpY2lhIE11c2NhbHUgPHBhdHJpY2lhQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IHVzZSBidWZmZXIgbGlzdHMKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3OTk5NAoKMjAxMi0wNy0xNyAxMDowMTo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IEZpeCBwYXJzaW5nIG9mIElTUkMgZnJvbSB0aGUgY3Vlc2hlZXRzCgoyMDEyLTA3LTA1IDE0OjE1OjI1ICswMzAwICBBbnRvbiBCZWxrYSA8YW50b25iZWxrYUBnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5oOgoJICBmbGFjcGFyc2U6IGFkZCBUT0Mgc3VwcG9ydAoJICBBZGQgc3VwcG9ydCBlbWJlZGRlZCBjdWVzaGVldHMgaW4gZmxhYyBmaWxlcy4KCSAgUGFyc2luZyBNRVRBREFUQV9CTE9DS19DVUVTSEVFVCBhcyBUT0MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NDA4OTEKCjIwMTItMDctMTMgMTQ6NDM6MzEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBhdm9pZCBzb21lIG1vcmUgZnJhbWUgbWlzcGFyc2luZyBieSBhZGRpdGlvbmFsIGhlYWRlciBzYW5pdHkgY2hlY2sKCSAgLi4uIHVzaW5nIGEgcmVxdWlyZWQgY29uc3RhbnQgYmxvY2tpbmdfc3RyYXRlZ3kgYml0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc5ODA3CgoyMDEyLTA3LTEzIDEzOjUxOjQ4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIGRlbXV4OiBQdXNoIFNUUkVBTV9TVEFSVCBldmVudCB3aGVuIG5lZWRlZAoKMjAxMi0wNy0xMSAxMzoxMDowNyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGF2b2lkIHdhcm5pbmcgaWYgYm90aCB0cyBhcmUgZXF1YWwKCjIwMTItMDctMTEgMTI6Mjg6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiBjaGVjayB0aGUgcmlnaHQgc2l6ZSB3aGVuIHdhcm5pbmcgYWJvdXQgdG9vIGxhcmdlIHVkcCBwYWNrZXRzCgkgIFdoYXQgbWF0dGVycyBpcyB0aGUgdG90YWwgc2l6ZSwgbm90IHRoZSBzaXplIG9mIGFueSBvZiB0aGUKCSAgaW5kaXZpZHVhbCBtZW1vcnkgY2h1bmtzIHRoYXQgbWFrZSB1cCB0aGUgcGFja2V0LgoKMjAxMi0wNy0xMCAxNDozODoyMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5oOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuaDoKCSAgYXV0b2RldGVjdDogcHJveHkgdHMtb2Zmc2V0IHByb3BlcnRpZXMKCSAgUHJveHkgdGhlIHRzLW9mZnNldCBwcm9wZXJ0eSBpbiB0aGUgYXVkaW8qc2luayBlbGVtZW50cy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3OTM0MwoKMjAxMi0wNy0wOSAxNjoyNzoxMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICBmaXggZm9yIGFsbG9jYXRvciBBUEkgY2hhbmdlcwoKMjAxMi0wNy0wOSAxMjoyMjowMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHVwZGF0ZSBmb3IgcmlmZiBmaWVsZCByZW5hbWUKCjIwMTItMDUtMjEgMTM6NTQ6NTEgKzAyMDAgIE1hdGhpYXMgSGFzc2VsbWFubiA8bWF0aGlhc0BvcGVuaXNtdXMuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBkcm9wIHJlZHVuZGFudCBlbGVtZW50c19sZXZlbF9MREFERCBsaW5lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzYzMDIKCjIwMTItMDctMDggMTM6MzA6MzQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVnZGVjLmM6CgkgIHRlc3RzOiBtaW5vciBqcGVnZGVjIGNsZWFuLXVwcyBhbmQgZml4ZXMKCSAgRml4IHJhY2UgY29uZGl0aW9uIGluIGVvcyBjaGVja2luZyBhbmQgYSBsZWFrLiBBbmQKCSAgYnVpbGQgcGlwZWxpbmUgd2l0aG91dCBwYXJzZV9sYXVuY2guCgoyMDEyLTA1LTIxIDEzOjUzOjU0ICswMjAwICBNYXRoaWFzIEhhc3NlbG1hbm4gPG1hdGhpYXNAb3BlbmlzbXVzLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVnZGVjLmM6CgkqIHRlc3RzL2ZpbGVzL2ltYWdlLmpwZzoKCSAgdGVzdHM6IEFkZCBzb21lIGJhc2ljIHRlc3RzIGZvciBqcGVnZGVjCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzYzMDIKCjIwMTItMDctMDggMDA6MDg6NTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIGR0bWZzcmM6IHBhc3MgdW5oYW5kbGVkIG5vbi1jdXN0b20gZXZlbnRzIHRvIHRoZSBiYXNlIGNsYXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjY2MjYKCjIwMTItMDctMDYgMTk6MTE6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IGF2b2lkIHNvbWUgcmVsb2NhdGlvbnMKCjIwMTItMDctMDYgMTQ6NDk6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkgIHJ0cG1wNHZwYXk6IHJlbW92ZSBkZXByZWNhdGVkIHNlbmQtY29uZmlnIHByb3BlcnR5CgkgIFVzZSBjb25maWctaW50ZXJ2YWwgaW5zdGVhZC4KCjIwMTItMDctMDYgMTQ6NDI6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiByZW1vdmUgZGVwcmVjYXRlZCAiYnl0ZS1zdHJlYW0iIGFuZCAiYWNjZXNzLXVuaXQiIHByb3BlcnRpZXMKCSAgVGhlc2Ugd2lsbCBiZSBwaWNrZWQgYXV0b21hdGljYWxseSBiYXNlZCBvbiBkb3duc3RyZWFtIGNhcHMgbm93LCBzbwoJICBpZiB5b3Ugd2FudCB0aGUgZGVwYXlsb2FkZXIgdG8gb3V0cHV0IGEgc3BlY2lmaWMgZm9ybWF0LCBtYWtlIHN1cmUKCSAgdGhlIGVsZW1lbnQgZG93bnN0cmVhbSBhZHZlcnRpc2VzIHRoYXQgcHJlZmVyZW5jZSBvciB1c2UgYSBjYXBzZmlsdGVyCgkgIGFmdGVyIHRoZSBkZXBheWxvYWRlciB0byBmb3JjZSBpdC4KCjIwMTItMDctMDYgMTQ6MTM6NTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IHJlbW92ZSBkZXByZWNhdGVkIGFuZCBub24tZnVuY3Rpb25hbCAicHJvZmlsZS1sZXZlbC1pZCIgcHJvcGVydHkKCSAgVGhpcyBpcyBub3cgb3B0aW9uYWxseSB0YWtlbiBmcm9tIGRvd25zdHJlYW0gY2Fwcywgc28gY2FuIGJlCgkgIHNwZWNpZmllZCB2aWEgYSBjYXBzZmlsdGVyIGFmdGVyIHRoZSBwYXlsb2FkZXIuCgoyMDEyLTA3LTA2IDE1OjA3OjUxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IHBlcmZvcm0gYWRkaXRpb25hbCBzYW5pdHkgY2hlY2sgYmVmb3JlIGNvbmZpcm1pbmcgQURUUyBmb3JtYXQKCSAgLi4uIGFuZCB0d2VhayBjb25mdXNpbmcgZGVidWcgbWVzc2FnZS4KCjIwMTItMDctMDYgMTU6Mjk6MTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogcmVtb3ZlIHVuaGVscGZ1bCBzdHJheSBkZWJ1ZyBtZXNzYWdlCgoyMDEyLTA3LTA2IDEzOjE2OjAwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogcmVtb3ZlIGRlcHJlY2F0ZWQgYW5kIHVudXNlZCAibnRwLW5zLWJhc2UiIHByb3BlcnR5CgoyMDEyLTA3LTA2IDEyOjU3OjIwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXgtZG9jLmM6CgkgIGRvY3M6IHVwZGF0ZSBpc29tcDQgZG9jcyBmb3IgZ3BwbXV4IC0+IDNncHBtdXggY2hhbmdlIGFzIHdlbGwKCjIwMTItMDctMDYgMTI6NTQ6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSAgaXNvbXA0OiByZW1vdmUgZ3BwbXV4LCB3aGljaCB3YXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgM2dwcG11eAoKMjAxMi0wNy0wNiAxMjo0OTo1NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSAgc210cDogcmVtb3ZlIGRlcHJlY2F0ZWQgImZwcyIgcHJvcGVydHkKCjIwMTItMDctMDYgMTI6NDY6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4Lmg6CgkgIG11bHRpcGFydGRlbXV4OiByZW1vdmUgZGVwcmVjYXRlZCBhbmQgdW51c2VkICJhdXRvc2NhbiIgcHJvcGVydHkKCSAgUmVwbGFjZWQgYnkgYm91bmRhcnk9TlVMTC4KCjIwMTItMDctMDYgMDk6MDc6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHJ0cGgyNjNwcGF5OiBhY2NlcHQgYW55IGgyNjMgaW5wdXQgdW5sZXNzIGRvd25zdHJlYW0gZm9yY2VzIHNwZWNpZmljIHJlcXVpcmVtZW50cwoJICBydHBoMjYzcHBheSBzaG91bGQgYWNjZXB0IGFueSBpbnB1dCBjb21wYXRpYmxlIHdpdGggaXRzIHNpbmsgdGVtcGxhdGUKCSAgY2FwcyBpZiBpdCBqdXN0IG91dHB1dHMgdG8gZS5nLiB1ZHBzaW5rIG9yIGZha2VzaW5rLgoJICBydHBoMjYzcHBheSAhIHJ0cGgyNjNwZGVwYXkgc2hvdWxkIGFsc28gd29yayB3aXRoIGFueSBjb21wYXRpYmxlIGlucHV0LgoJICBUaGlzIHdvdWxkIGZhaWwgYmVmb3JlIHdpdGggbm90LW5lZ290aWF0ZWQgZXJyb3JzIGJlY2F1c2UgdGhlIGdldF9jYXBzCgkgIGZ1bmN0aW9uIHdvdWxkIHNlZSB0aGUgZW5jb2RpbmctbmFtZSBpbiB0aGUgZGVwYXlsb2FkZXIncyB0ZW1wbGF0ZSBjYXBzCgkgIGFuZCBkZWZhdWx0IHRvIGJhc2VsaW5lIEguMjYzIGJlY2F1c2UgdGhlcmUncyBubyBwcm9maWxlL2xldmVsIGluZm9ybWF0aW9uCgkgIGluIHRob3NlIGNhcHMsIHdoaWNoIGlzIHRoZSByaWdodCB0aGluZyB0byBkbyBpZiBkb3duc3RyZWFtIGhhcyBmaWx0ZXJjYXBzCgkgIGZyb20gYW4gU0RQLCBidXQgbm90IGlmIHRob3NlIGZpZWxkcyBhcmUgYWJzZW50IGJlY2F1c2UgdGhleSBjYW4gYmUKCSAgYW55dGhpbmcgbGlrZSB3aXRoIHRoZSBkZXBheWxvYWRlcidzIHRlbXBsYXRlIGNhcHMuIE1ha2VzCgkgIHZpZGVvdGVzdHNyYyAhIGF2ZW5jX2gyNjNwICEgcnRwaDI2M3BwYXkgISBydHBoMjYzcGRlcGF5ICEgZmFrZXNpbmsKCSAgd29yay4KCjIwMTItMDctMDUgMjI6NTc6MDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgdGVzdHM6IGZpeCBoMjYzcCBwYXlsb2FkICEgZGVwYXlsb2FkIHVuaXQgdGVzdAoJICBOZWVkIHRvIGFkZCBoMjYzdmVyc2lvbiBmaWVsZCB0byBpbnB1dCBjYXBzIHNpbmNlIHRoZQoJICBwYXlsb2FkZXIgc2luayBnZXRfY2FwcyBmdW5jdGlvbiB3aWxsIGNvbnRhaW4gaXQgaW4gdGhlCgkgIHRoZSBjYXBzLCBhbmQgdGhlIHN0cmljdGVyIGNhcHMgc3Vic2V0IGNoZWNrIHJlcXVpcmVzCgkgIHRoaXMgdG8gYmUgcHJlc2VudCBpbiB0aGUgaW5wdXQgY2FwcyBhcyB3ZWxsIHRoZW4uCgoyMDEyLTA3LTA2IDExOjUwOjUwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHVwZGF0ZSBmb3IgcXVlcnkgYXBpIGNoYW5nZXMKCjIwMTItMDctMDYgMTE6MjY6NDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHVwZGF0ZSBmb3IgcXVlcnkgYXBpIGNoYW5nZXMKCjIwMTItMDctMDYgMTE6MDI6MjQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdXBkYXRlIGZvciBhbGxvY2F0aW9uIHF1ZXJ5IGNoYW5nZXMKCjIwMTItMDctMDUgMTU6MTQ6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYzoKCSAgdGVzdHM6IGZpeCByZ3ZvbHVtZSB1bml0IHRlc3QgZXZlbnQgaGFuZGxpbmcKCSAgTXVzdCBmbHVzaCBhZnRlciBFT1MgYmVmb3JlIHNlbmRpbmcgbW9yZSBidWZmZXJzIG9yCgkgIGFub3RoZXIgRU9TIGV2ZW50LCBvciB0aGUgZXZlbnQgb3IgYnVmZmVyIHdpbGwgYmUKCSAgcmVqZWN0ZWQuIEFsc28gc2VuZCBhIFNFR01FTlQgZXZlbnQgYXQgdGhlIHN0YXJ0CgkgIG9mIGVhY2ggc3RyZWFtIGZvciBnb29kIG1lYXN1cmUuCgoyMDEyLTA3LTA1IDEzOjEzOjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgZ3N0OiBJbXBsZW1lbnQgc2VnbWVudC1kb25lIGV2ZW50CgoyMDEyLTA3LTA1IDEyOjM1OjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBSZW1vdmUgdGhlIFRPQyBxdWVyeSBoYW5kbGluZwoKMjAxMi0wNy0wNCAxOTo1MjoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2E6IFVwZGF0ZSBmb3IgbmV3IEdzdFRvYyBBUEkKCSAgVE9DIHN1cHBvcnQgaW4gbWF0cm9za2FtdXggaXMgZGlzYWJsZWQgZm9yIG5vdyBhcyBpdCB3YXMgYnJva2VuIGFueXdheS4KCjIwMTItMDctMDQgMjM6NTc6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkgIHRlc3RzOiBmaXggcmdhbmFseXNpcyB1bml0IHRlc3QgZXZlbnQgaGFuZGxpbmcKCSAgTXVzdCBmbHVzaCBhZnRlciBFT1MgYmVmb3JlIHNlbmRpbmcgbW9yZSBidWZmZXJzIG9yCgkgIGFub3RoZXIgRU9TIGV2ZW50LCBvciB0aGUgZXZlbnQgb3IgYnVmZmVyIHdpbGwgYmUKCSAgcmVqZWN0ZWQuIEFsc28gc2VuZCBhIFNFR01FTlQgZXZlbnQgYXQgdGhlIHN0YXJ0CgkgIG9mIGVhY2ggc3RyZWFtIGZvciBnb29kIG1lYXN1cmUuCgoyMDEyLTA3LTA0IDE4OjU4OjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogY2xlYXIgMCBEVFMgb24gYnVmZmVycyBvdXRwdXQsIGFzIHNpbmtzIHdpbGwgcHJlZmVyIERUUyBvdmVyIFBUUyBmb3Igc3luY2luZwoJICBTaW5jZSB0aGUgaW5pdGlhbCBkZWNvZGVkIHN0aWxsIGltYWdlIGJ1ZmZlciB3aWxsIGhhdmUgZHRzPXB0cz0wLCBhbmQKCSAgd2Ugb25seSBzZXQgUFRTIG9uIGJ1ZmZlcnMgd2UgcHVzaCBvdXQsIGFsbCBidWZmZXJzIHB1c2hlZCBvdXQgd291bGQKCSAgaGF2ZSBhIERUUyBvZiAwLiBTaW5rcywgaG93ZXZlciwgd2lsbCBwcmVmZXIgRFRTIG92ZXIgUFRTIGlmIGJvdGggYXJlCgkgIHNldCwgYW5kIHdpbGwgdGhlcmVmb3JlIGFsd2F5cyBzZWUgYSB0aW1lc3RhbXAgb2YgMCBubyBtYXR0ZXIgd2hhdAoJICB0aGUgUFRTIGlzIHNldCB0by4KCSAgRml4ZXMgdW5pdCB0ZXN0IHRvby4KCjIwMTItMDctMDQgMjA6NTk6MDMgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IEZpeCBxdWVyeSBmdW5jdGlvbiBpbXBsZW1lbnRhdGlvbjsgbW9yZSBkZWJ1Z2dpbmcKCjIwMTItMDctMDQgMTk6NDE6NTIgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IEZpeCBzcGVjIHN0dWZmIGluIGRpcmVjdHNvdW5kc2luawoKMjAxMi0wNS0zMSAxOToyMjo0NyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiBmaXggYWNjZXNzIHRvIGludmFsaWQgcG9pbnRlciBpbiBzZXRfdm9sdW1lCgoyMDEyLTA2LTEzIDEyOjEyOjM5ICswMjAwICBTZWJhc3RpYW4gRHI9QzM9QjZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogRml4IGNhcHMgbGVha3MKCjIwMTItMDUtMjkgMTE6Mzc6NTkgKzAwMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogZml4IGFjY2VwdGNhcHMgY2hlY2sKCjIwMTItMDUtMjUgMTA6MTQ6NTcgKzAwMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogdXNlIGhlbHBlciBmdW5jdGlvbiB0byBjaGVjayBmb3Igc3BkaWYgZm9ybWF0cwoKMjAxMi0wNS0yNSAxMDoxOTowOSArMDAwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiBhZGQgc3VwcG9ydCBmb3IgRFRTCgoyMDEyLTA1LTA4IDE2OjIzOjQyICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IGZvcmNlIDQ4MDAwIGtIeiBmb3JjZSBBQy0zIG92ZXIgc3BkaWYKCjIwMTItMDctMDQgMTc6NDI6NDkgKzA0MDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogYWRkIHN1cHBvcnQgZm9yIGFjLTMgb3ZlciBzcGRpZgoKMjAxMi0wNy0wNCAxMjozNzo0MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGFjZS5jOgoJICB0ZXN0czogZGlzYWJsZSBkZWludGVybGFjZSB0ZXN0IGZvciBub3csIGVsZW1lbnQgc3RpbGwgbmVlZHMgdG8gYmUgcG9ydGVkCgkgIEJ1dCBsZWF2ZSBpdCBhY3RpdmUgYW5kIHByaW50IGEgRklYTUUuIFBvcnRpbmcgaXMgaW4gcHJvZ3Jlc3MuCgoyMDEyLTA3LTAzIDE5OjM4OjM5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICBkZWludGVybGVhdmU7IGRvd25ncmFkZSBjYXBzIGNoYW5nZSBmYWlsdXJlIGRlYnVnIG1lc3NhZ2UKCSAgQWRkIHNvbWUgbW9yZSBpbmZvIGFuZCBkb3duZ3JhZGUgdG8gd2FybmluZywgc28KCSAgaXQgZG9lc24ndCBsb29rIGxpa2UgdGhlIHVuaXQgdGVzdCBmYWlsZWQuCgoyMDEyLTA3LTAzIDE3OjUyOjExICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSAgYXVkaW9wYW5vcmFtYTogZml4IG5lZ290aWF0aW9uIGFuZCB1bml0IHRlc3QKCSAgTXVzdCByZW1vdmUgYSBwb3NzaWJseS1maXhlZCBjaGFubmVsLW1hc2sgZmllbGQgaWYKCSAgd2UncmUgZ29pbmcgdG8gc2V0IHVuZml4ZWQgY2hhbm5lbHMgb24gdGhlIHN0cnVjdHVyZSwKCSAgb3IgYSBkaWZmZXJlbnQgY2hhbm5lbCBjb3VudC4KCjIwMTItMDctMDMgMTc6MjY6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IE9ubHkgcHVzaCB0aGUgVE9DIGV2ZW50LCB0aGUgbWVzc2FnZSBpcyBoYW5kbGVkIGJ5IHRoZSBzaW5rcwoKMjAxMi0wNy0wMyAxMjo0Nzo1OCArMDkwMCAgSmF2aWVyIEphcmTDs24gPGpqYXJkb25AZ25vbWUub3JnPgoKCSogdGVzdHMvZXhhbXBsZXMvZXF1YWxpemVyL2RlbW8uYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzoKCSogdGVzdHMvaWNsZXMvZ2RrcGl4YnVmc2luay10ZXN0LmM6CgkgIHRlc3RzOiBkbyBub3QgdXNlIGRlcHJlY2F0ZWQgZ3RrKyBzeW1ib2xzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzkzMDEKCjIwMTItMDctMDMgMDk6Mjc6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogcmVxdWlyZSBHdGsrIDMuMCBmb3IgdGVzdHMvZXhhbXBsZXMKCjIwMTItMDctMDMgMTI6NTc6MTggKzA5MDAgIEphdmllciBKYXJkw7NuIDxqamFyZG9uQGdub21lLm9yZz4KCgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJICBydHA6IHJlbW92ZSBzb21lIG91dGRhdGVkIGNvbW1lbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzkzMDEKCjIwMTItMDYtMjkgMTE6NTE6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGRlZmF1bHQgdG8gZm9yY2UtYXNwZWN0LXJhdGlvPXRydWUKCjIwMTItMDYtMjggMjA6MDM6MDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkgIHJuZGJ1ZmZlcnNpemU6IGFkZCBwdXNoIG1vZGUgc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU2MzE3CgoyMDEyLTA2LTI4IDExOjI5OjU1ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgaXNvbXA0OiBUcnkgdG8gc2VlayB1cHN0cmVhbSBiZWZvcmUgcHJvY2Vzc2luZyBzZWVrIHB1c2ggZXZlbnQKCSAgV2hlbiBpdCByZWNlaXZlcyBhIHNlZWsgaW4gcHVzaCBtb2RlLCB0aGUgcXRkZW11eCBzaG91bGQgZmlyc3QgdHJ5IHRvIHB1c2ggdGhlIGV2ZW50IHVwc3RyZWFtLCBhbmQgb25seSBpZiB1cHN0cmVhbSBmYWlscyBmYWxsIGJhY2sgdG8KCSAgaXRzIG93biBzZWVrIGxvZ2ljLgoKMjAxMi0wNi0yOCAxMTo0NzoyMCArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIGlzb21wNDogQWxsb3cgZHVyYXRpb24gcXVlcmllcyB0byBiZSBmb3J3YXJkZWQgdXBzdHJlYW0KCSAgV2hlbiByZWNlaXZpbmcgYSBkdXJhdGlvbiBxdWVyeSBmb3IgVElNRSBmb3JtYXQsIHRyeSB0byBxdWVyeSB1cHN0cmVhbSwgYW5kIG9ubHkgaWYgdXBzdHJlYW0gZmFpbHMgZmFsbCBiYWNrIHRvIHF0ZGVtdXggZHVyYXRpb24gaGFuZGxpbmcuCgoyMDEyLTA2LTI4IDExOjU5OjExICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5oOgoJICBydHBoMjY0cGF5OiBjbGVhbnVwcwoJICBVc2UgdGhlIGNhcHMgcHJvcGVydGllcyBmb3IgYWxpZ25tZW50IGFuZCBmb3JtYXQuCgkgIFJlbW92ZSBzb21lIG9sZCBwcm9wZXJ0aWVzLCB3ZSBhbHdheXMgd2FudCB0byB1c2UgYnVmZmVybGlzdHMgd2hlbiB3ZSBjYW4gbm93LgoKMjAxMi0wNi0yOCAxMTozMjowMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBoMjY0cGF5OiBwcmVmZXIgQVZDLCBpdCdzIGVhc2llciB0byBwYXJzZSBldGMKCjIwMTItMDYtMjcgMDk6MDk6MzIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IG1hcmsgYWxsIG91dHB1dCBmcmFtZXMgYXMga2V5ZnJhbWVzCgoyMDEyLTA2LTI2IDE4OjQ4OjExICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYTogdXBkYXRlIGZvciBHc3RUb2MgQVBJIGFkZGl0aW9ucwoKMjAxMi0wNi0yNiAxNzowNDo0MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYTogc2V0IGludGVybGFjZS1tb2RlCgoyMDEyLTA2LTI2IDEzOjE5OjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogaW1wcm92ZSBkZWJ1ZwoKMjAxMi0wNi0yNiAxMzowMjoxMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIFJldmVydCAidjRsMjogZnJlZSBrZXJuZWwgYnVmZmVycyBiZWZvcmUgYWxsb2NhdGluZyBuZXcgb25lcyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAxYjA5YmM2MDlhNTc4ZTczMWYwZGJjOGY2ZTY5OGUyNWQ4ZjRjNWY4LgoJICBTZWVtcyB0byBtYWtlIGxpYnY0bDIgY29tcGxhaW4sIG1heWJlIGJlY2F1c2Ugd2UgY2FsbCBSRVFCVUZTIHdpdGggMCBidWZmZXJzCgkgIGJlZm9yZSB3ZSBhbGxvY2F0ZWQgYnVmZmVycy4KCjIwMTItMDYtMjYgMTI6MDc6NDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBmcmVlIGtlcm5lbCBidWZmZXJzIGJlZm9yZSBhbGxvY2F0aW5nIG5ldyBvbmVzCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcwMjU3CgoyMDEyLTA2LTI2IDEyOjA3OjI5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBpbXByb3ZlIGRlYnVnCgoyMDEyLTA2LTI2IDExOjE0OjU5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogc2V0dXAgc3RyaWRlcyBhbmQgb2Zmc2V0cyBmb3IgYWxsIHBsYW5lcwoKMjAxMi0wNi0yNSAyMDoxMTo1MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2EtbXV4OiB1cGRhdGUgZm9yIEdzdFRvY1NldHRlciBjaGFuZ2VzCgoyMDEyLTA2LTI1IDEzOjMxOjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBSZXR1cm4gRkFMU0UgZnJvbSBxdWVyaWVzIGlmIHdlIGNhbid0IGFuc3dlciBQT1NJVElPTi9EVVJBVElPTiBxdWVyaWVzCgoyMDEyLTA2LTIxIDE3OjE1OjExICswMzAwICBBbnRvbiBCZWxrYSA8YW50b25iZWxrYUBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogUmV0dXJuIEZBTFNFIGZyb20gVE9DIHF1ZXJ5IGlmIG5vIFRPQyBleGlzdHMgaW5zdGVhZCBvZiBhbiBlbXB0eSBUT0MKCjIwMTItMDYtMjQgMjI6NTE6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2E6IHVwZGF0ZSBmb3IgR3N0VG9jIEFQSSBjaGFuZ2VzCgoyMDEyLTA2LTIzIDE0OjU3OjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiB1cGRhdGUgZm9yIGdzdF9lbGVtZW50X21ha2VfZnJvbV91cmkoKSBjaGFuZ2VzCgoyMDEyLTA2LTIwIDEyOjMxOjAxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmx2ZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmx2bXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM2RlbXV4LmM6CgkgIHVwZGF0ZSBmb3IgYnVzIGFwaSBjaGFuZ2VzCgoyMDEyLTA2LTIwIDEwOjMzOjQyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtb292cmVjb3Zlci5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB1cGRhdGUgZm9yIHRhc2sgYXBpIGNoYW5nZQoKMjAxMi0wNi0yMCAwOTo1OTo0OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOgoJICB1cGRhdGUgZm9yIGNsb2NrIGFwaSBjaGFuZ2VzCgoyMDEyLTA2LTE5IDEyOjE1OjMzICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vTWFrZWZpbGUuYW06CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmg6CgkgIG9zeGF1ZGlvc2luazogcmVzcGVjdCB0aGUgcHJlZmVyZWQgY2hhbm5lbCBsYXlvdXQKCSAgSW4gT1NYIGlzIGFsbG93ZWQgdG8gY29uZmlndXJlIHRoZSBkZWZhdWx0IGF1ZGlvIG91dHB1dCBkZXZpY2UsCgkgIHByZWZlcmVkIGNoYW5uZWwgbGF5b3V0IGFuZCBzcGVha2VyIHBvc2l0aW9ucyB0aHJvdWdoIHRoZSB0b29sCgkgICJBdWRpbyBNSURJIFNldHVwIi4KCjIwMTItMDQtMzAgMjI6NTk6NTggKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2EtZGVtdXg6IFNlbmQgZ2FwIGV2ZW50cyBmb3Igc3VidGl0bGUgc3RyZWFtcwoKMjAxMi0wNi0xNyAwMTowMDo0MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5jOgoJICBzcGxpdGZpbGVzcmM6IGZpeCB1cCBkb2NzIGZvciAwLjExCgoyMDEyLTA2LTE2IDIzOjI5OjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmM6CgkgIHNwbGl0ZmlsZXNyYzogc21hbGwgdXJpIGhhbmRsZXIgZml4dXAgYW5kIHNvbWUgbW9yZSBkb2NzCgkgIEdldCBVUkkgbG9jYXRpb24gdXNpbmcgZ3N0X3VyaV9nZXRfbG9jYXRpb24oKSwgc28gYW55CgkgIGVzY2FwZWQgYml0cyBnZXQgdW5lc2NhcGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA5MDQ5CgoyMDEyLTA2LTE3IDAwOjU5OjIxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmM6CgkgIHNwbGl0ZmlsZXNyYzogcmUtcG9ydCB0byAwLjExCgoyMDEyLTA2LTE2IDE5OjA2OjI1ICswMTAwICBCYXN0aWVuIE5vY2VyYSA8aGFkZXNzQGhhZGVzcy5uZXQ+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5jOgoJICBzcGxpdGZpbGVzcmM6IEltcGxlbWVudCBzcGxpdGZpbGU6Ly8gVVJJIHNjaGVtZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA5MDQ5CgkgIENvbmZsaWN0czoKCSAgZ3N0L211bHRpZmlsZS9nc3RzcGxpdGZpbGVzcmMuYwoKMjAxMi0wNi0xNCAxMDo0Mzo1NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSAgdGhlb3JhZGVwYXk6IGZpeCBidWZmZXIgbWVtb3J5CgkgIFRoZSBtZW1vcnkgd2FzIGFkZGVkIHRvIHRoZSBpbnB1dCBidWZmZXIgaW5zdGVhZCBvZiB0aGUgb3V0cHV0IGJ1ZmZlci4KCjIwMTItMDYtMTMgMTM6MzY6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IERvbid0IHJlc2V0IHRpbWUgaW4gZmx1c2gtc3RvcAoJICBEb24ndCByZXNldCB0aGUgdGltZSBpbiBmbHVzaC1zdG9wLiBMaXZlIHNvdXJjZXMgY2FuIGRvIHRoaXMgZmx1c2ggaW4gdGhlCgkgIHBsYXlpbmcgc3RhdGUgYW5kIHNvIHRoZSBwaXBlbGluZSB3aWxsIG5ldmVyIGhhdmUgYSBjaGFuY2UgdG8gdXBkYXRlIHRoZQoJICBiYXNlX3RpbWUgb2YgdGhlIGVsZW1lbnRzLCB3aGljaCBvbmx5IGhhcHBlbnMgd2hlbiBnb2luZyBmcm9tIHBhdXNlZCB0bwoJICBwbGF5aW5nLgoKMjAxMi0wNi0xMiAxMjo0MjozMSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5oOgoJICBvc3hhdWRpb3Npbms6IEFkZCBzdXBwb3J0IGZvciBTUERJRiBvdXRwdXQKCSAgQSBiaWcgcmVmYWN0b3JpbmcgdG8gYWxsb3cgcGFzc3Rocm91Z2ggQUMzL0RUUyBvdmVyIFNQRElGLgoJICBTZXZlcmFsIHJhbmRvbSBjbGVhbnVwcyBhbmQgbWlub3IgZml4ZXMuCgoyMDExLTA5LTAxIDE1OjQxOjI2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSAgZGVpbnRlcmxhY2U6IHNlbmQgUW9TIG1lc3NhZ2VzIHdoZW4gZHJvcHBpbmcgYSBmcmFtZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU3OTQxCgoyMDEyLTA2LTEyIDE2OjA1OjQwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IFJld29yayB0aGUgYXN5bmMgc3RhdGUgaGFuZGxpbmcKCSAgQWx3YXlzIHNlbmQgdGhlIGZsdXNoaW5nIGV2ZW50cyB0byB0aGUgdWRwIGVsZW1lbnRzIG5vdyB0aGF0IGJhc2VzcmMgc3VwcG9ydHMKCSAgdGhpcy4gVGhpcyBtYWtlcyBzdXJlIGEgc2VnbWVudCBldmVudCBpcyBzZW50IGNvcnJlY3RseSBhZnRlciBhIGZsdXNoLgoJICBLZWVwIHRyYWNrIG9mIHRoZSBjdXJyZW50bHkgZXhlY3V0aW5nIGNvbW1hbmQgYW5kIG1ha2UgaXQgcG9zc2libGUgdG8gc3BlY2lmeQoJICB3aGF0IGNvbW1hbmQgeW91IHdhbnQgdG8gY2FuY2VsIHdoZW4gc3RhcnRpbmcgYSBuZXcgYXN5bmMgY29tbWFuZC4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzc5MDUKCjIwMTItMDYtMTEgMTg6MjQ6MjAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgY2hpbGRwcm94eTogdXBkYXRlIGFwaSB1c2UKCjIwMTItMDYtMTEgMTI6NTQ6MjcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGFsd2F5cyBwZXJmb3JtIGZ1bGwgc2VlayBpZiBzZWVrIGlzIGZsdXNoaW5nCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzc4MzgKCjIwMTItMDYtMTEgMTE6MjA6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJICBybmRidWZmZXJzaXplOiBwcmludGYgZm9ybWF0IGZpeCBmb3IgbG9uZyAtPiBpbnQgY2hhbmdlCgoyMDEyLTA2LTA4IDIwOjM4OjM0ICswMjAwICBIYW5zIGRlIEdvZWRlIDxoZGVnb2VkZUByZWRoYXQuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBEb24ndCBwcm9iZSBVVkMgZGV2aWNlcyBmb3IgYmVpbmcgaW50ZXJsYWNlZAoJICBVVkMgZGV2aWNlcyBhcmUgbmV2ZXIgaW50ZXJsYWNlZCwgYW5kIGRvaW5nIFZJRElPQ19UUllfRk1UIG9uIHRoZW0KCSAgY2F1c2VzIGV4cGVuc2l2ZSBhbmQgc2xvdyBVU0IgSU8sIHNvIGRvbid0IHByb2JlIHRoZW0gZm9yIGludGVybGFjZWQuCgkgIFRoaXMgc2hhdmVzIDIgc2Vjb25kcyBvZiB0aGUgc3RhcnR1cCB0aW1lIG9mIGNoZWVzZSB3aXRoIGEgTG9naXRlY2gKCSAgV2ViY2FtIFBybyA5MDAwLgoJICBTaWduZWQtb2ZmLWJ5OiBIYW5zIGRlIEdvZWRlIDxoZGVnb2VkZUByZWRoYXQuY29tPgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc3NzIyCgoyMDEyLTA2LTA5IDE2OjUzOjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSAgZGVidWc6IGNoYW5nZSBybmRidWZmZXJzaXplIHByb3BlcnRpZXMgZnJvbSBsb25nIHRvIGludAoJICBUaGVzZSBzaG91bGQgYWxsIGJlIGludCBpbnN0ZWFkIG9mIGxvbmcsIHRvIGF2b2lkIGJ1Z3MKCSAgd2hlbiBwYXNzaW5nIHRoZXNlIGFzIHZhcmFyZ3Mgd2l0aCBnX29iamVjdF9zZXQoKSwgYW5kCgkgIHRoZXJlIHdhcyBubyByZWFzb24gdG8gdXNlIGxvbmcgaW4gdGhlIGZpcnN0IHBsYWNlIGhlcmUuCgkgIEZpeGVzIEZJWE1FLgoKMjAxMi0wNi0wOCAxNTo1NDo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSAgZWxlbWVudHM6IFVzZSBnc3RfcGFkX3NldF9jYXBzKCkgaW5zdGVhZCBvZiBtYW51YWwgZXZlbnQgZmlkZGxpbmcKCjIwMTItMDYtMDggMTU6MDQ6NTkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAwM2EwZTU3IHRvIDk4ZTM4NmYKCjIwMTItMDYtMDggMTA6MTE6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSogc3lzL29zczQvb3NzNC1hdWRpby5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkgIHVwZGF0ZSBmb3IgYXVkaW8gYXBpIGNoYW5nZQoKMjAxMi0wNi0wNyAxNjoxMjozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTEuOTIgPT09CgoyMDEyLTA2LTA3IDE2OjEyOjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMS45MgoKMjAxMi0wNi0wNyAxNjoxMToxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMi0wNi0wNyAxNTowMzowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogaW1wcm92ZSBjbG9jayBoYW5kbGluZwoJICBQb3N0IHRoZSBub3RpZnkgb3V0c2lkZSBvZiB0aGUgcGFfbG9jayB0byBhdm9pZCBhIGRlYWRsb2NrIGNhdXNlZCBieSBiYXNlc3JjCgkgIGNhbGxpbmcgZ2V0X3RpbWUgd2l0aCB0aGUgb2JqZWN0IGxvY2suCgkgIFJlc2V0IHRoZSBjbG9jayBvbiBjb25uZWN0LgoJICBQb3N0IGNsb2NrLWxvc3QgYW5kIGNsb2NrLXByb3ZpZGUgbWVzc2FnZXMuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzM5NzcKCSAgQ29uZmxpY3RzOgoJICBleHQvcHVsc2UvcHVsc2VzcmMuYwoKMjAxMi0wNC0xMiAxMzoyMToxNyArMDMwMCAgTW9oYW1tZWQgU2FtZWVyIDxtc2FtZWVyQGZvb2xhYi5vcmc+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgQmV0dGVyIEdzdENsb2NrIGZvciBwdWxzZXNyYwoJICBUaGlzIGNsb2NrIHVzZXMgdGhlIGFjdHVhbCBzdHJlYW0gdGltZSAocGFfc3RyZWFtX2dldF90aW1lKSB0byBnZXQgYSBtb3JlIGFjY3VyYXRlIHRpbWVzdGFtcC4KCSAgQ29uZmxpY3RzOgoJICBleHQvcHVsc2UvcHVsc2VzcmMuYwoKMjAxMi0wNi0wNyAxMToxNjo1MCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJICBwbmc6IGZpeCB2aWRlbyBzdGF0ZSBsZWFrcwoKMjAxMi0wNi0wNyAxMToxNjozNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGZpeCB2aWRlbyBzdGF0ZSBsZWFrCgoyMDEyLTA2LTA3IDEyOjExOjE0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBvbmx5IHJlc2V0IHRoZSBtYW5hZ2VyIG9iamVjdCB3aGVuIHdlIGRpZCBhIHNlZWsKCSAgT25seSByZXNldCB0aGUgbWFuYWdlciBvYmplY3Qgd2hlbiB3ZSB1c2VkIGEgUmFuZ2UgaGVhZGVyLCBpZS4gd2hlbiB3ZSBkaWQgYQoJICBzZWVrLiBPdGhlcndpc2Ugd2UganVzdCBwYXVzZWQgYW5kIHdlIGNhbiByZXN1bWUganVzdCBmaW5lLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc3NDc1CgoyMDEyLTA2LTA2IDE2OjEzOjI5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHRlc3RzOiBhZGQgdGVzdCBmb3IgcnRwc2Vzc2lvbiBjbGVhbnVwCgoyMDEyLTA2LTA2IDE4OjE4OjQxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMWZhYjM1OSB0byAwM2EwZTU3CgoyMDEyLTA2LTA2IDE0OjE3OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBVcGRhdGUgZm9yIFRPQyBldmVudCBBUEkgY2hhbmdlCgoyMDEyLTA2LTA2IDEzOjAyOjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3R0YWdpbmplY3QuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jndm9sdW1lLmM6CgkgIHVwZGF0ZSBmb3IgdGFnIGV2ZW50IGNoYW5nZQoKMjAxMi0wNi0wNiAxMzowMDo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FzcGVjdHJhdGlvY3JvcC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzoKCSAgZml4IFk4MDAgZm9ybWF0CgoyMDEyLTA2LTAxIDAxOjE5OjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvOiBzdHJhaWdodGZvcndhcmQgcG9ydCB0byAwLjExCgoyMDEyLTA1LTMxIDE4OjM5OjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSAgU29tZSBwcmludGYgdmFyaWFibGUgZm9ybWF0IGZpeGVzCgkgIFRoZSBvc3ggY29tcGlsZXIgY29tcGxhaW5zIGFib3V0IHRob3NlCgoyMDEyLTA2LTA1IDA5OjE4OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IEZpeCBHc3RCYXNlUGFyc2U6OmdldF9zaW5rX2NhcHMoKSBpbXBsZW1lbnRhdGlvbnMKCSAgVGhleSBzaG91bGQgdGFrZSB0aGUgZmlsdGVyIGNhcHMgaW50byBhY2NvdW50IGFuZCBhbHdheXMgcmV0dXJuCgkgIHRoZSB0ZW1wbGF0ZSBjYXBzIGFwcGVuZGVkIHRvIHRoZSBhY3R1YWwgY2Fwcy4gT3RoZXJ3aXNlIHRoZQoJICBwYXJzZXJzIHN0b3AgdG8gYWNjZXB0IHVucGFyc2VkIHN0cmVhbXMgd2hlcmUgdXBzdHJlYW0gZG9lcyBub3QKCSAga25vdyBhYm91dCBjaGFubmVscywgcmF0ZSwgZXRjLgoJICBGaXhlcyBidWcgIzY3NzQwMS4KCjIwMTItMDYtMDQgMTY6MTc6NTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IHNldCBjb2xvcmltZXRyeSBvbiBvdXRwdXQgaW5mbwoKMjAxMi0wNi0wNCAwODoxMDoxNSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuYzoKCSAgb3N4YXVkaW9zaW5rOiBIYW5kbGUgZW5kaWFubmVzcyBjb3JyZWN0bHkKCjIwMTItMDYtMDEgMTY6Mzc6MDAgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuYzoKCSAgb3N4YXVkaW9zaW5rOiBBZGQgc3VwcG9ydCBmb3IgaW50IGF1ZGlvCgoyMDEyLTA2LTAxIDEwOjI4OjUzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZjFiNWE5NiB0byAxZmFiMzU5CgoyMDEyLTA1LTMxIDEzOjM2OjMyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNldCB0aGUgcGFsZXR0ZSBzaXplIGNvcnJlY3RseQoKMjAxMi0wNS0zMSAxMDoxNTo0MyArMDIwMCAgTWljaGFlbCBKb25lcyA8bWljaGFlbC5qb25lc0BtYXRyaXgtdmlzaW9uLmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkb3JpZW50Lmg6CgkgIHY0bDI6IGFkZCBtaXNzaW5nIEdfRU5EX0RFQ0xTCgkgIEdfQkVHSU5fREVDTFMgZGlkbid0IGhhdmUgbWF0Y2hpbmcgR19FTkRfREVDTFMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NzE2NQoKMjAxMi0wNS0zMSAxMzowODoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDkyYjcyNjYgdG8gZjFiNWE5NgoKMjAxMi0wNS0zMSAxMDoyNjoyNyArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICBvc3h2aWRlb3Npbms6IFJlYWxseSBmaXggdGhlIGJ1aWxkIG9uIDEwLjUKCSAgVGhlIEFQSSB0aGF0IHdlIHVzZSB0byBydW4gdGhlIENvY29hIGxvb3AgaW4gYW5vdGhlcgoJICB0aHJlYWQgZG9lcyBub3QgZXhpc3QgaW4gMTAuNSBvciBlYXJsaWVyLgoKMjAxMi0wNS0yNiAxMjoyMToxOCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGZpeCByYWNlIGluIHN0YXJ0aW5nIHRoZSBydW5sb29wIHRocmVhZAoJICBCbG9jayBnc3Rfb3N4X3ZpZGVvX3NpbmtfcnVuX2NvY29hX2xvb3AgdW50aWwgdGhlIGxvb3AgdGhyZWFkIGhhcyBzdGFydGVkIGFuZAoJICBmaW5pc2hlZCBpbml0aWFsaXppbmcgTlNBcHAuIEZpeGVzIG9jY2FzaW9uYWwgd2FybmluZ3MvY3Jhc2hlcyBkdWUgdG8gdHdvCgkgIHRocmVhZHMgZ29pbmcgaW5zaWRlIE5TQXBwIGJlZm9yZSBmaW5pc2hMYXVuY2hpbmcgaGFkIGNvbXBsZXRlZC4KCjIwMTItMDUtMzAgMTY6MDM6NTUgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgb3N4dmlkZW9zaW5rOiBGaXggbGFzdCBjb21taXQgdG8gYWN0dWFsbHkgd29yawoJICBNQUNfT1NfWF9WRVJTSU9OXzEwXzYgaXMgb2J2aW91c2x5IG5vdCBkZWZpbmVkIG9uIDEwLjUuCgoyMDEyLTA1LTMwIDEzOjUxOjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3h2aWRlby9NYWtlZmlsZS5hbToKCSAgb3N4dmlkZW9zaW5rOiBQdXQgdGhlIHJpZ2h0IGZsYWdzIGluIHRoZSByaWdodCB2YXJpYWJsZQoKMjAxMi0wNS0zMCAxMzoyNDowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRml4IEdTVF9PQkpDRkxBR1MKCjIwMTItMDUtMzAgMTI6NDU6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBlYzFjNGE4IHRvIDkyYjcyNjYKCjIwMTItMDUtMzAgMTI6NDM6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICBvc3h2aWRlb3Npbms6IE5TV2luZG93RGVsZWdhdGUgaXMgYXZhaWxhYmxlIGluIGFsbCBPU1ggdmVyc2lvbnMgbmV3ZXIgdGhhbiAxMC42CgoyMDEyLTA1LTMwIDEyOjQwOjU3ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgIG9zeHZpZGVvc2luazogRml4IGJ1aWxkIHdpdGggb2xkZXIgT1NYIHZlcnNpb25zCgoyMDEyLTA1LTMwIDExOjA5OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOgoJICBjb25maWd1cmU6IEFkZCBPQkpDIHNwZWNpZmljIGNvbXBpbGVyIGZsYWdzCgkgIFNlZSBidWcgIzY0MzkzOS4KCjIwMTItMDUtMzAgMTE6MjM6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAzNDI5YmE2IHRvIGVjMWM0YTgKCjIwMTItMDUtMjkgMTc6NTA6MjEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICB2aWRlbzogcmVtb3ZlIGR1cGxpY2F0ZSBmb3JtYXQKCjIwMTItMDUtMjkgMTY6NTI6MDIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogUG9zdCBlcnJvciBtZXNzYWdlIGlmIEVPUyBiZWZvcmUgcGFkcyB3ZXJlIGNyZWF0ZWQKCSAgSGFwcGVucyB3aXRoIHNvbWUgZmlsZXMgd2l0aCBvbmx5IGhlYWRlcnMKCjIwMTItMDUtMjggMTU6MjI6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuaDoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuaDoKCSAgcG5nOiBQb3J0IHRvIDAuMTEgYWdhaW4KCjIwMTItMDUtMTQgMTI6NDY6NTcgKzAyMDAgIEplbnMgR2VvcmcgPG1haWxAamVuc2dlLm9yZz4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXA6IERyb3AgdHJhbnNmZXJNb2RlLmRsbmEub3JnIGhlYWRlcgoJICBMZWF2ZSBpdCB0byB0aGUgYXBwbGljYXRpb24gdG8gZGVjaWRlIG9uIHRoZSBoZWFkZXIuIE5vIGhlYWRlciBhdCBhbGwKCSAgaXMgYmV0dGVyIHRoYW4gaGF2aW5nIHRoZSB3cm9uZyBoZWFkZXIgYXMgRExOQSBtYW5kYXRlcyB0aGF0IGEgbWlzc2luZwoJICBoZWFkZXIgaGFzIHRvIGJlIHRvbGVyYXRlZCB3aGlsZSBhIHdyb25nIGhlYWRlciBpcyBhbiBlcnJvci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NjAyMAoKMjAxMi0wNC0wNyAwOTo1MjowOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5oOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5oOgoJICBwbmc6IFBvcnQgdG8gYmFzZSB2aWRlbyBjbGFzc2VzCgkgIENvbmZsaWN0czoKCSAgZXh0L2xpYnBuZy9nc3RwbmdkZWMuYwoJICBleHQvbGlicG5nL2dzdHBuZ2RlYy5oCgkgIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmMKCSAgZXh0L2xpYnBuZy9nc3RwbmdlbmMuaAoJICBSZXZlcnRlZCB0byAwLjEwLCBuZWVkcyB0byBiZSBwb3J0ZWQgYWdhaW4uCgoyMDEyLTA1LTI3IDAwOjAyOjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBmbHYsIG1hdHJvc2thOiBkb24ndCB1c2UgR3N0U3RydWN0dXJlIEFQSSBvbiB0YWcgbGlzdHMKCjIwMTItMDUtMjYgMTE6NTc6MTYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSAgcnRwbXAydGRlcGF5OiBPbmx5IG91dHB1dCBpbnRlZ3JhbCBtcGVnLXRzIHBhY2tldHMKCSAgRnJvbSBSRkMgMjI1MAoJICAyLiBFbmNhcHN1bGF0aW9uIG9mIE1QRUcgU3lzdGVtIGFuZCBUcmFuc3BvcnQgU3RyZWFtcwoJICAuLi4KCSAgRm9yIE1QRUcyIFRyYW5zcG9ydCBTdHJlYW1zIHRoZSBSVFAgcGF5bG9hZCB3aWxsIGNvbnRhaW4gYW4gaW50ZWdyYWwKCSAgbnVtYmVyIG9mIE1QRUcgdHJhbnNwb3J0IHBhY2tldHMuICBUbyBhdm9pZCBlbmQgc3lzdGVtCgkgIGluZWZmaWNpZW5jaWVzLCBkYXRhIGZyb20gbXVsdGlwbGUgc21hbGwgTVRTIHBhY2tldHMgKG5vcm1hbGx5IGZpeGVkCgkgIGluIHNpemUgYXQgMTg4IGJ5dGVzKSBhcmUgYWdncmVnYXRlZCBpbnRvIGEgc2luZ2xlIFJUUCBwYWNrZXQuICBUaGUKCSAgbnVtYmVyIG9mIHRyYW5zcG9ydCBwYWNrZXRzIGNvbnRhaW5lZCBpcyBjb21wdXRlZCBieSBkaXZpZGluZyBSVFAKCSAgcGF5bG9hZCBsZW5ndGggYnkgdGhlIGxlbmd0aCBvZiBhbiBNVFMgcGFja2V0ICgxODgpLgoJICAuLi4uCgkgIFNpbmNlIGl0IG5lZWRzIHRvIGNvbnRhaW4gImFuIGludGVncmFsIG51bWJlciBvZiBNUEVHIHRyYW5zcG9ydCBwYWNrZXRzIiwgYQoJICBzaW1wbGUgZml4IGlzIHRvIGNoZWNrIHRoYXQncyB0aGUgY2FzZSwgYW5kIHN0cmlwIG9mZiBhbnkgbGVmdG92ZXIgZGF0YS4KCSAgRml4ZXMgIzY3Njc5OQoJICBDb25mbGljdHM6CgkgIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmMKCjIwMTItMDUtMjQgMjA6NDM6MTYgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IG1ha2Ugc3VyZSBhbGwgc2VsZWN0b3JzIGFyZSBwZXJmb3JtZWQgb24gdGhlIHNhbWUgdGhyZWFkCgkgIFdoZW4gd2UgYXJlIHVzaW5nIGEgZGVkaWNhdGVkIHRocmVhZCB0byBydW4gdGhlIG1haW4gcnVuIGxvb3Agd2UKCSAgbXVzdCBtYWtlIHN1cmUgdGhhdCBhbGwgc2VsZWN0b3JzIGFyZSBwZXJmb3JtZWQgb24gdGhpcyBzYW1lIHRocmVhZC4KCSAgRm9yIGluc3RhbmNlIGlmIHBlcmZvcm1TZWxlY3Rvck9uTWFpblRocmVhZCBpcyBjYWxsZWQgZnJvbSB0aGUgcmVhbAoJICBtYWluIHRocmVhZCwgaXQgd2lsbCBub3QgZ28gdGhyb3VnaCB0aGUgbWVzc2FnZSBxdWV1ZSBhbmQgd2lsbCBiZQoJICBleGVjdXRlZCBmcm9tIHRoZSByZWFsIG1haW4gdGhyZWFkLiBCeSBmb3JjaW5nIHRoZSB0YXJnZXQgdGhyZWFkLAoJICB3ZSBlbnN1cmUgdGhhdCBhbGwgZnVuY3Rpb25zIHdpbGwgYmUgY2FsbGVkIGVpdGhlciBmcm9tIHRoZSByZWFsCgkgIG1haW4gdGhyZWFkIHdoZW4gdGhlIG1haW4gcnVuIGxvb3AgaXMgcnVubmluZyBvciBmcm9tIG91ciB0aHJlYWQKCSAgc3Bpbm5pbmcgdGhlIG1haW4gbG9vcC4KCjIwMTItMDUtMjQgMTY6MDk6NTQgKzAyMDAgIE1hdGhpYXMgSGFzc2VsbWFubiA8bWF0aGlhcy5oYXNzZWxtYW5uIGF0IGdteC5kZT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogcmVtb3ZlIGZyYW1lcmF0ZQoJICBUaGUganBlZyBkZWNvZGVyIGRvZXNuJ3QgbmVlZC9jYXJlIGFib3V0IHRoZSBmcmFtZXJhdGUgdG8gc28gaXQgc2hvdWxkCgkgIG5vdCBiZSBpbiB0aGUgY2Fwcy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NjMwMgoKMjAxMi0wNS0yNCAxMzowODozNSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBzdGFydCB0aGUgbG9vcCBiZWZvcmUgY2FsbGluZyBbZ3N0dmlldyBoYXZlU3VwZXJ2aWV3XQoJICAuLi5hcyBoYXZlU3VwZXJ2aWV3IHJlcXVpcmVzIHRoZSBtYWlubG9vcCB0byBiZSBydW5uaW5nCgoyMDEyLTA1LTI0IDEzOjA4OjEzICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGZpeCBpbmRlbnRhdGlvbgoKMjAxMi0wNS0yMiAxNjo0NzozNiArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3h2aWRlby9NYWtlZmlsZS5hbToKCSAgb3N4dmlkZW9zaW5rOiBlbmFibGUgcnVubmluZyB0aGUgY29jb2EgbWFpbiBydW5sb29wIGluIGEgdGhyZWFkCgoyMDEyLTA1LTIyIDE2OjQ1OjI4ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogYWRkIGNvZGUgdG8gb3B0aW9uYWxseSBydW4gdGhlIGNvY29hIG1haW4gcnVubG9vcCBpbiBhIHNlcGFyYXRlIHRocmVhZAoJICBBZGQgYSBsaXR0bGUgaGFjayB0byBydW4gdGhlIGNvY29hIG1haW4gcnVubG9vcCBmcm9tIGEgc2VwYXJhdGUgdGhyZWFkIF93aGVuXwoJICB0aGUgbWFpbiBydW5sb29wIGlzIG5vdCBiZWluZyBydW4gKHdoaWNoIG1lYW5zIHRoYXQgdGhlIGFwcCBkb2Vzbid0IHVzZSBjb2NvYSkuCgkgIFJ1bmxvb3BzIGFyZSB0aHJlYWQgc3BlY2lmaWMsIHNvIHRoZSBoYWNrIGJvaWxzIGRvd24gdG8gZ2V0dGluZyB0aGUgcnVubG9vcCBmb3IKCSAgdGhlIG1haW4gdGhyZWFkIGFuZCBzZXR0aW5nIGl0IGFzIHRoZSBydW5sb29wIGZvciBvdXIgZGVkaWNhdGVkIHRocmVhZC4KCjIwMTItMDUtMjIgMTY6MzI6NTMgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogcmVzZXQgYXBwX3N0YXJ0ZWQgdG8gRkFMU0Ugd2hlbiBzaHV0dGluZyBkb3duCgoyMDEyLTA1LTIyIDE0OjQ5OjE3ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IHJlbmFtZSBjb2NvYSBydW5sb29wIGhlbHBlciBmdW5jcwoKMjAxMi0wNS0yMiAxNDoyNjoxMyArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBkb24ndCBjcmVhdGUgYXBwbGljYXRpb24gbWVudXMKCjIwMTItMDUtMTYgMjE6NTI6NDUgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiByZXNldCB0aGUgZW1iZWQgcHJvcGVydHkgZm9yIGJhY2t3YXJkIGNvbXBhdGlsaWJpdHkKCjIwMTItMDUtMTYgMjE6MTI6MjIgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBmaXggbmF2aWdhdGlvbiB3aGVuIGZvcmNlLWFzcGVjdC1yYXRpbyBpcyBhY3RpdmF0ZWQKCjIwMTItMDUtMTYgMTg6NTI6NDUgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGFkZCBmb3JjZS1hc3BlY3QtcmF0aW8gcHJvcGVydHkKCjIwMTItMDUtMTQgMTg6MDE6MDIgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IHN0YXJ0IGludGVybmFsIHdpbmRvdyBpZiBubyB2aWV3IGlzIHByb3ZpZGVkCgoyMDEyLTA1LTE0IDE0OjI3OjU4ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lmg6CgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogaW1wbGVtZW50IHRoZSBuYXZpZ2F0aW9uIGludGVyZmFjZQoKMjAxMi0wNS0xMSAxODoyNDowOCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3ZpZGVvc2luazogY3JlYXRlLCBkZXN0cm95LCByZXNpemUgYW5kIGRyYXcgZnJvbSB0aGUgbWFpbiB0aHJlYWQKCjIwMTItMDQtMTkgMDg6Mzc6MjggKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGluY3JlYXNlIE5FV1NFR01FTlQgYWNjdXJhY3kgYWZ0ZXIgc2Vla2luZwoJICBkZW11eC0+Y29tbW9uLnNlZ21lbnQgaXMgcG9wdWxhdGVkIGR1cmluZyBzZWVrIGhhbmRsaW5nIHdpdGggdGhlIHRhcmdldAoJICBzdGFydC9zdG9wIHBvc2l0aW9ucy4gRG9uJ3Qgb3ZlcnJpZGUgdGhlbSB3aGVuIHNlbmRpbmcgb3V0IGEgTkVXU0VHTUVOVC4KCSAgQ29uZmxpY3RzOgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYwoKMjAxMi0wNC0xOSAwODozMTowMCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogZG9uJ3QgZGlzY2FyZCB0aGUgaW5jb21pbmcgc2VlayBzZWdtZW50IG9uIHB1c2ggYmFzZWQgc2Vla2luZwoJICBUaGUgaW5jb21pbmcgc2VlayBzZWdtZW50IHdhcyBiZWluZyBkaXNjYXJkZWQgbGVhZGluZyB0byBwdXNoIGJhc2VkIHNlZWtpbmcKCSAgYmVpbmcgcG90ZW50aWFsbHkgaW5hY2N1cmF0ZS4KCjIwMTItMDUtMjMgMTg6MTI6MjQgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogY29tbW9uOgoJICBjb21tb246IFVwZGF0ZSBzbyB0aGUgcGx1Z2luIHNjYW5uZXIgY2hhbmdlcyBhcmUgaW5jbHVkZWQKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NjY3NAoKMjAxMi0wNS0yMyAxODowNzozNSArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogc3VwcHJlc3Mgc29tZSB3YXJuaW5ncyB3aGVuIGRlYnVnIGlzIGRpc2FibGVkCgkgIFdhcm5pbmdzIGFib3V0IHVudXNlZCB2YXJpYWJsZXMgc2hvdWxkIGJlIHN1cHByZXNzZWQgaWYgY29yZSBoYXMgdGhlCgkgIGRlYnVnIHN5c3RlbSBkaXNhYmxlZC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NjY3MQoKMjAxMi0wNS0yNCAwOToyOToyNSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHA6IGZpeCBidWlsZCBpc3N1ZSBpbiBnc3RydHBoMjY0cGF5LmMKCjIwMTItMDUtMjEgMTI6MTc6MzUgKzAyMDAgIEpvbmFzIEhvbG1iZXJnIDxqb25hc2hnQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IEFkZCB1bnJlc3RyaWN0ZWQgY2FwcwoJICBJZiB0aGVyZSBhcmUgbm8gcHJvZmlsZSByZXN0cmljdGlvbnMgZG93bnN0cmVhbSwgcmV0dXJuIGNhcHMgd2l0aAoJICBwcm9maWxlPWNvbnN0cmFpbmVkLWJhc2VsaW5lIGluIHRoZSBmaXJzdCBzdHJ1Y3R1cmUgYW5kIGFwcGVuZAoJICB1bnJlc3RyaWN0ZWQgY2FwcyBhcyB0aGUgbGFzdCBzdHJ1Y3R1cmUuCgkgIEZpeGVzIGJ1ZyAjNjcyMDE5CgoyMDEyLTA1LTI0IDA5OjU3OjMxICswMjAwICBNYXJpYSBHaW92YW5uYSBDaGlvc3NhIDxtYXJpYWdpb3Zhbm5hLmNoaW9zc2EgYXQgc2VsZXhlbHNhZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3A6IGFkZCB0aGUgU2NhbGUgaGVhZGVyIHdoZW4gbmVlZGVkCgkgIFNldHRpbmcgR1NUX1NFRUtfRkxBR19TS0lQIHdoZW4gc2VuZGluZyBhIHNlZWsgZXZlbnQgaW4gcnRzcHNyYyBzaG91bGQKCSAgc2V0IHRoZSAiU2NhbGUiIGZpZWxkIGluIHRoZSBydHNwIFBMQVkgaGVhZGVyLgoJICBCZWNhdXNlIHRoZSBib29sZWFuICJzcmMtPnNraXAiIGlzIHNldCBhZnRlciB0aGUgY2FsbCwgIlNwZWVkIiBpbnN0ZWFkCgkgIG9mICJTY2FsZSIgaXMgYWx3YXlzIHNldC4gTW92ZSB0aGUgYXNzaWdubWVudCBiZWZvcmUgaXNzdWluZyB0aGUgX3BsYXkKCSAgcmVxdWVzdC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NjYxOAoKMjAxMi0wNS0xNyAxNjoyMzo1OSArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBGaXggdGhlIHNhbXBsZSBwaXBlbGluZS4KCjIwMTItMDUtMjIgMTI6MzU6MDQgKzA0MDAgIEFudG9uIE5vdmlrb3YgPHJhbmRvbS5wbGFudEBnbWFpbC5jb20+CgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSAgaWN5ZGVtdXg6IHdhcm5pbmcgaWYgc2V0dGluZyBzcmNwYWQgY2FwcyBmYWlscwoKMjAxMi0wNS0yMiAxMjozNToyOSArMDQwMCAgQW50b24gTm92aWtvdiA8cmFuZG9tLnBsYW50QGdtYWlsLmNvbT4KCgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJICBpY3lkZW11eDogYWN0aXZhdGUgc3JjcGFkIGJlZm9yZSBzZXR0aW5nIGNhcHMKCSAgQmVmb3JlIGdzdF9wYWRfc2V0X2FjdGl2ZSgpIGlzIGNhbGxlZCwgdGhlIHBhZCBoYXMKCSAgRkxVU0hJTkcgZmxhZyBzZXQsIHNvIHNldHRpbmcgdGhlIGNhcHMgZmFpbHMKCjIwMTItMDUtMjIgMTM6NDY6MjcgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJtbmcvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJtbmcvZ3N0bW5nLmM6CgkqIGV4dC9saWJtbmcvZ3N0bW5nLmg6CgkqIGV4dC9saWJtbmcvZ3N0bW5nZGVjLmM6CgkqIGV4dC9saWJtbmcvZ3N0bW5nZGVjLmg6CgkqIGV4dC9saWJtbmcvZ3N0bW5nZW5jLmM6CgkqIGV4dC9saWJtbmcvZ3N0bW5nZW5jLmg6CgkgIG1uZzogcmVtb3ZlIGV4dC9saWJtbmcKCSAgUG9ydCB0byAwLjEwIHdhcyBuZXZlciBmaW5pc2hlZC4KCSAgSW50ZXJlc3Qgd2FzIGxvc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD0zMjQzNjQKCjIwMTItMDUtMTggMTY6Mzc6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogZml4IGFzc2VydGlvbiB3aGVuIGhhbmRsaW5nIGEgZGF0ZSB0YWcgYXMgYSBzdHJpbmcKCSAgRGF0ZSB0YWdzIGFyZSBHRGF0ZSwgbm90IHN0cmluZ3MuIEFkZCBhIHNwZWNpYWwgY2FzZSB0byBjb252ZXJ0CgkgIGl0IHRvIHRoZSBleGlmIGRhdGUgZm9ybWF0IHJlcHJlc2VudGF0aW9uIGluIHN0cmluZyB0byBhdm9pZAoJICB0aGUgYXNzZXJ0aW9uCgoyMDEyLTA1LTIxIDExOjQ3OjA3ICswMjAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IExpc3RlbiB0byBzb3VyY2Ugb3V0cHV0IGV2ZW50cywgbm90IHNpbmsgaW5wdXQKCjIwMTItMDUtMTggMTI6NTM6NDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkgIHJ0cG1wMnRwYXk6IHJlc3BlY3QgbXR1IGFuZCBwYWNrZXQgYm91bmRhcmllcwoJICBTZWUgIzY1OTkxNS4KCjIwMTItMDUtMTggMTE6MTA6NDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnOiBSZW1vdmUgZGVhZCBjb2RlCgkgIENvbmZsaWN0czoKCSAgZXh0L2pwZWcvZ3N0anBlZ2RlYy5jCgoyMDEyLTA1LTE4IDExOjA1OjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogRml4IGNvbXBpbGF0aW9uCgoyMDEyLTA1LTE4IDExOjAyOjUyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogV2hlbiBkcm9wcGluZyBmcmFtZXMgb24gRU9TLCBmbHVzaCBvdXQgZGF0YQoJICBDbGVhbmVyIHdheSBvZiBoYW5kbGluZyBzdHJheSBkYXRhCgoyMDEyLTA1LTE3IDA5OjM0OjAzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJICBqcGVnZGVjOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlCgkgIENvbmZsaWN0czoKCSAgZXh0L2pwZWcvZ3N0anBlZ2RlYy5jCgoyMDEyLTA1LTE3IDA5OjMzOjE4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogT25seSBwYXJzZSBmb3IgU09JIHdoZW4gd2UgZGlkbid0IHNlZSBpdCBiZWZvcmUKCjIwMTItMDUtMTcgMDk6MzE6NDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBSZW1lbWJlciBpZiB3ZSBzYXcgU09JIGFuZCBoYW5kbGUgc3RyYXkgZGF0YSBvbiBFT1MKCjIwMTItMDUtMTUgMjA6NTg6MjUgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheTogQWxsb3cgVSBhbmQgViBjb21wb25lbnRzIHRvIHVzZSBkaWZmZXJlbnQgcXVhbnQgdGFibGVzIGlmIHRoZXkgY29udGFpbiB0aGUgc2FtZSBkYXRhCgkgIFRoaXMgYWxsb3dzIHNvbWUgY2FtZXJhcyAoTG9naXRlY2ggQzkyMCkgdGhhdCBzcGVjaWZ5IGRpZmZlcmVudCBxdWFudAoJICB0YWJsZXMgYnV0IGJvdGggd2l0aCB0aGUgc2FtZSBkYXRhLCB0byB3b3JrLgoJICBCdWcgcmVwb3J0ZWQgYnkgUm9iZXJ0IEtyYWtvcmEKCjIwMTItMDUtMTQgMTU6NTE6MjkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IGZpeCBwb3NzaWJsZSBkYXRhIGNvcnJ1cHRpb24gYWZ0ZXIgc2Vla2luZwoJICBDb25zaWRlciBhIGRvd25zdHJlYW0gZWxlbWVudCB0aGF0IG1heSBpc3N1ZSBzZWVrcyBpbiB2ZXJ5IHNob3J0CgkgIHN1Y2Nlc3Npb24gKGUuZy4gcXVldWUyKSwgZGVwZW5kaW5nIG9uIHRoZSBhY2Nlc3MgcGF0dGVybiBvZgoJICB0aGUgZG93bnN0cmVhbSBlbGVtZW50IChlLmcuIHF0ZGVtdXggd2l0aCBhdWRpby92aWRlbyBjaHVua3MKCSAgaW50ZXJsZWF2ZWQgc28gdGhhdCB0aGVyZSdzIGFsd2F5cyBhIHNpemVhYmxlIGdhcCBiZXR3ZWVuIHRoZQoJICBjdXJyZW50IGNodW5rcyBmb3IgZWFjaCBzdHJlYW0pLiBJbiB0aGlzIGNhc2UsIHF1ZXVlMiB3aWxsIG1haW50YWluCgkgIHR3byByYW5nZXMsIGFuZCBldmVuIHdoZW4gaXQgc2VydmVzIGEgY2h1bmsgZnJvbSBtZW1vcnksIGl0IHdpbGwKCSAgc3dpdGNoIHJhbmdlcyBhbmQgbWFrZSBzb3VwaHR0cHNyYyBzZWVrIHRvIHRoZSBlbmQgb2YgdGhlIGF2YWlsYWJsZQoJICBkYXRhIGZvciB0aGF0IHJhbmdlLCBhc3N1bWluZyB0aGF0IHRoYXQncyB3aGVyZSB3ZSdsbCB3YW50IHRvCgkgIGNvbnRpbnVlIHJlYWRpbmcgZnJvbSBuZXh0LgoJICBUaGlzIG1heSBsZWFkIHRvIHRoZSBmb2xsb3dpbmcgc2VlayByZXF1ZXN0IHBhdHRlcm46CgkgIC0gc291cmNlIHJlYWRpbmcgcG9zaXRpb24gQQoJICAtIHNlZWsgdG8gQgoJICAtIG5vdyByZWFkaW5nIHBvc2l0aW9uIHN0aWxsIEEsIHJlcXVlc3RlZF9wb3N0aW9uIGlzIEIKCSAgLSBzdHJlYW1pbmcgdGhyZWFkIHRvIGJlIHJlc3RhcnRlZCB0byBjb250aW51ZSBmcm9tIEIKCSAgLSBzZWVrIHRvIEEsIGJlZm9yZSBzdHJlYW1pbmcgdGhyZWFkIGhhZCB0aW1lIHRvIGRvIHRoZSBzZWVrCgkgIC0gZG9fc2VlaygpIG5vdyBzZWVzIHJlYWRpbmcgcG9zaXRpb24gPT0gc2VlayBwb3NpdGlvbiBhbmQKCSAgcmV0dXJucyBlYXJseS4KCSAgLSBob3dldmVyLCByZXF1ZXN0ZWQgcG9zaXRpb24gaXMgc3RpbGwgQiBmcm9tIHRoZSBlYXJsaWVyCgkgIHNlZWsgcmVxdWVzdAoJICAtIHN0cmVhbWluZyB0aHJlYWQgc3RhcnRzIHVwLCBzZWVzIHRoYXQgYSBzZWVrIHRvIEIgaXMgcGVuZGluZwoJICBhbmQgcmVxdWVzdHMgZGF0YSBmcm9tIEIgZnJvbSB0aGUgc2VydmVyLCB3aGlsZSB0aGUgR3N0QmFzZVNyYwoJICBzZWdtZW50IGhhcyBvZiBjb3Vyc2UgYmVlbiB1cGRhdGVkL3Jlc2V0IHRvIHBvc2l0aW9uIEEsIHdoaWNoCgkgIHdhcyB0aGUgbGFzdCBzZWVrIHJlcXVlc3QuCgkgIC0gd2Ugd2lsbCBub3cgc2VuZCBkYXRhIGZvciBwb3NpdGlvbiBCIGFuZCBwcmV0ZW5kIHRoYXQncyB0aGUKCSAgZGF0YSBmcm9tIHBvc2l0aW9uIEEgKHZpYSB0aGUgbmV3c2VnbWVudCBldmVudCwgZXRjLikKCSAgLSB0aGlzIGNhdXNlcyBkYXRhIGNvcnJ1cHRpb24KCSAgUmVwcm9kdWNpYmxlIGRvaW5nIHNlZWstZW11bGF0ZWQgZmFzdC1mb3J3YXJkL2JhY2t3YXJkIG9uIDAwNjY0OC4KCjIwMTItMDUtMTYgMDk6MTI6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFJlcXVpcmUgY29yZS9iYXNlIDAuMTEuOTEKCjIwMTItMDEtMTMgMTg6MDk6NTAgLTA1MDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiAuZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBhZGQgdmlzdWFsIHN0dWRpbyBJREUgZmlsZXMgYW5kIE9TIFggLkRTX1N0b3JlIGZpbGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njc4OTkKCjIwMTItMDUtMDMgMDk6MzI6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5oOgoJICBqcGVnOiBQb3J0IHRvIDAuMTEgYWdhaW4KCjIwMTItMDQtMDYgMTI6MTM6MjQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5oOgoJICBqcGVnOiBQb3J0IGpwZWdkZWMvanBlZ2VuYyB0byBiYXNlIHZpZGVvIGNsYXNzZXMKCSAgQ29uZmxpY3RzOgoJICBleHQvanBlZy9nc3RqcGVnZGVjLmMKCSAgZXh0L2pwZWcvZ3N0anBlZ2RlYy5oCgkgIGV4dC9qcGVnL2dzdGpwZWdlbmMuYwoJICBleHQvanBlZy9nc3RqcGVnZW5jLmgKCSAgUmV2ZXJ0ZWQgdG8gMC4xMCB2ZXJzaW9ucyBmb3Igbm93LCBuZXh0IHBvcnQgYWdhaW4uCgoyMDEyLTA1LTEzIDE5OjIxOjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvYW5ub2RleC9NYWtlZmlsZS5hbToKCSogZXh0L2Fubm9kZXgvZ3N0YW5ub2RleC5jOgoJKiBleHQvYW5ub2RleC9nc3Rhbm5vZGV4Lmg6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5oOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuaDoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbHBhcnNlci5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1scGFyc2VyLmg6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWx0YWcuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbHRhZy5oOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sdXRpbHMuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbHV0aWxzLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxlbmMuYzoKCSAgYW5ub2RleDogcmVtb3ZlIGFubm9kZXggcGx1Z2luIGFuZCBDTU1MIGVsZW1lbnRzCgkgIFRoaXMgbmV2ZXIgcmVhbGx5IHRvb2sgb2ZmIGFuZCBpcyBtb3N0IGxpa2VseSBjb21wbGV0ZWx5CgkgIHVudXNlZC4gSWYgdGhlcmUgaXMgc3RpbGwgYSBuZWVkIGZvciB0aGlzLCBpdCBzaG91bGQKCSAgcHJvYmFibHkgYmUgZG9uZSBkaWZmZXJlbnRseSwgcGVyaGFwcyBpbnNpZGUgb2dnZGVtdXgvbXV4LgoKMjAxMi0wNS0xMyAxNjo1OTo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTEuOTEgPT09CgoyMDEyLTA1LTEzIDE2OjMxOjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTEuOTEKCjIwMTItMDUtMTMgMTY6MzA6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTItMDUtMTMgMTU6NTY6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBkYzcwMjAzIHRvIDM0MjliYTYKCjIwMTItMDUtMDkgMTU6MTQ6NTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJICBybmRidWZmZXJzaXplOiBvbmx5IHNlbmQgZmx1c2gtc3RvcCBpZiBpdCB3YXMgYSBmbHVzaGluZyBzZWVrCgoyMDEyLTA1LTA5IDEyOjU0OjExICswMjAwICBQZXRlciBTZWlkZXJlciA8cHMucmVwb3J0QGdteC5uZXQ+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDJzcmM6IGZpeCB2NGwyX3N0ZF9pZCBsb2dnaW5nCgkgIGlucHV0LnN0ZCBpcyBvZiB0eXBlIHY0bDJfc3RkX2lkIHdoaWNoIGlzIGRlZmluZWQgYXMgNjQtYml0IHVuc2lnbmVkIGludGVnZXIuCgkgIENhc3RpbmcgdG8gdWludCBtZWFucyB0aGUgaGlnaGVyIGJpdHMsIHdpY2ggYXJlIHVzZWQgZm9yIHRoZSBwcml2YXRlIHZpZGVvCgkgIHN0YW5kYXJkcyBvZiB0aGUgVEkgdmlkZW8gY2FwdHVyZS9kaXNwbGF5IGRyaXZlciBmb3IgZXhhbXBsZSwgYXJlIGxvc3QuCgoyMDEyLTA1LTA5IDEyOjI0OjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSAgcm5kYnVmZmVyc2l6ZTogbXVzdCBzZW5kIGZsdXNoLXN0b3AgYWZ0ZXIgYWNxdWlyaW5nIHRoZSBzdHJlYW0gbG9jawoJICBPdGhlcndpc2UgdGhlIHN0cmVhbWluZyB0aHJlYWQgbWlnaHQganVzdCBrZWVwIG9uIGdvaW5nIGFuZCB3ZQoJICBtaWdodCBuZXZlciBnZXQgdGhlIHN0cmVhbSBsb2NrLgoKMjAxMi0wNS0wOSAxMToxNToyMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkgIHJuZGJ1ZmZlcnNpemU6IHBvcnQgc2Vla2luZyBjb2RlIHRvIDAuMTEKCjIwMTItMDUtMDggMTk6MDc6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJICBybmRidWZmZXJzaXplOiBhZGQgc3VwcG9ydCBmb3Igc2Vla3MKCSAgVXNlZnVsIGZvciBlLmcuIGZpbGVzcmMgISBybmRidWZmZXJzaXplICEgcXVldWUyICEgLi4uCgoyMDEyLTA1LTA4IDE4OjQ1OjM0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSAgcm5kYnVmZmVyc2l6ZTogc2VuZCBTRUdNRU5UIGV2ZW50IGJlZm9yZSBwdXNoaW5nIGJ1ZmZlcnMKCSAgQ29uZmxpY3RzOgoJICBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmMKCjIwMTItMDUtMDkgMTE6MTU6NTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgIGludGVybGVhdmU6IGZpeCBjb21waWxhdGlvbiBhZ2FpbgoKMjAxMi0wMS0xMyAxMDo0OTo0MyArMDEwMCAgUGFzY2FsIEJ1aGxlciA8cGFidWhsZXJAY2lzY28uY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBjcmVhdGlvbiBzaG91bGQgYmUgc2lnbmFsZWQgYmVmb3JlIHZhbGlkYXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2Nzg1MAoKMjAxMi0wNS0wNCAxNToyMDo0NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBkbyBub3QgcHJveHkgb3VyIGZpbHRlciBjYXBzIGRvd25zdHJlYW0gb24gY2FwcyBxdWVyaWVzCgkgIERvd25zdHJlYW0gbGlrZWx5IHdvbid0IGFjY2VwdCB2aWRlby94LXJhdyBhbmQgdGhlIGNhcHMgcXVlcnkKCSAgd2lsbCByZXR1cm4gRU1QVFkgY2Fwcy4gSW5zdGVhZCwgY3JlYXRlIGEgY29weSBvZiB0aGUgY2FwcyB0aGF0CgkgIGhhcyBhbGwgc3RydWN0dXJlIG5hbWVzIHJlcGxhY2VkIGJ5ICdpbWFnZS9qcGVnJwoJICBTaW1wbGUgcGlwZWxpbmUgdGhhdCBzaG93cyB0aGUgcHJvYmxlbToKCSAgZ3N0LWxhdW5jaC0xLjAgdmlkZW90ZXN0c3JjIG51bS1idWZmZXJzPTEgISAidmlkZW8veC1yYXcsIFwKCSAgd2lkdGg9KGludCk2NDAsIGhlaWdodD0oaW50KTQ4MCIgISB2aWRlb3NjYWxlICEganBlZ2VuYyAhIFwKCSAgImltYWdlL2pwZWcsIHdpZHRoPShpbnQpODAwLCBoZWlnaHQ9KGludCk2MDAiICEgZmlsZXNpbmsgXAoJICBsb2NhdGlvbj0vdG1wL2ltYWdlLmpwZwoKMjAxMi0wNS0wMiAyMToxNzo0MyArMDIwMCAgQWxiYW4gQnJvd2FleXMgPHByYWhhbEB5YWhvby5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgaXNvbXA0OiBzZXQgbGF5b3V0PWludGVybGVhdmVkIG9uIHJhdyBhdWRpbyBjYXBzCgkgIFRoaXMgZml4ZXMgYSBub3QtbmVnb3RpYXRlZCBlcnJvciBhdCBsZWFzdCBvbiBtb3YgZmlsZXMgd2l0aAoJICB0d29zIGF1ZGlvIHdpdGggdHdvIGNoYW5uZWxzIGFuZCB2aWRlbyBkdmNwLiBBcyBwbGF5YmluIGFuZCBnc3QtbGF1bmNoCgkgIHNhbXBsZSBjb21pbmcgZnJvbSB0aGUgcXRkZW11eC5jIGZpbGUgdXNlcyBhdWRpb2NvbnZlcnQgYW5kIHRoZSBsYXR0ZXIKCSAgcmVxdWlyZSBmb3JtYXQgaW50ZXJsZWF2ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzUzMjYKCjIwMTItMDUtMDIgMjE6NDk6NTYgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogc3lzL3dhdmVmb3JtL01ha2VmaWxlLmFtOgoJICB3YXZlZm9ybTogTm8gbW9yZSBnc3RpbnRlcmZhY2VzCgkgIEZpeGVzICM2NzUzMTkKCjIwMTItMDUtMDIgMjA6MTQ6MjQgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJICBkaXJlY3Rzb3VuZDogTm8gbW9yZSBnc3RpbnRlcmZhY2VzCgkgIEZpeGVzICM2NzUzMTkKCjIwMTItMDUtMDEgMTg6NTg6MDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuaDoKCSAgdmlkZW9taXhlcjogY2hhbmdlIHNpbmsgcGFkIHRlbXBsYXRlIG5hbWUgZnJvbSBzaW5rXyVkIHRvIHNpbmtfJXUKCjIwMTItMDQtMzAgMTE6MDA6MTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgIGludGVybGVhdmU6IGhhbmRsZSBFT1Mgb24gYWxsIHBhZHMKCSAgV2hlbiBhbGwgcGFkcyBnbyB0byBFT1MgaW1tZWRpYXRlbHksIHdlIGFyZSBub3QgbmVnb3RpYXRlZCBhbmQgb3VyIGNvbGxlY3RlZAoJICBmdW5jdGlvbiBpcyBjYWxsZWQgKHdpdGhvdXQgYW55IGF2YWlsYWJsZSBkYXRhKS4gSGFuZGxlIHRoaXMgY2FzZSBncmFjZWZ1bGx5LgoJICBDb25mbGljdHM6CgkgIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYwoKMjAxMi0wNC0zMCAxMDo1OTozMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogaW1wcm92ZSBkZWJ1Z2dpbmcKCjIwMTItMDUtMDEgMTM6MzE6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBVcGRhdGUgZm9yIGJhc2VzcmMgQVBJIGNoYW5nZXMKCjIwMTItMDQtMzAgMjM6NTc6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBkb24ndCBzZXQgdXAgc3R1ZmYgYmVmb3JlIHRoZSBpbnB1dCBhbmQgb3V0cHV0IGZvcm1hdHMgYXJlIGtub3duCgkgIEZpeGVzIGNyYXNoIG9uIHN0YXJ0dXAuCgoyMDEyLTA0LTMwIDE0OjA5OjIzICswMjAwICBQZXRlciBTZWlkZXJlciA8cHMucmVwb3J0QGdteC5uZXQ+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgbXVsdGlmaWxlc2luazogZG9uJ3Qgd3JpdGUgc3RyZWFtIGhlYWRlciB0d2ljZSBmb3IgZmlyc3QgZmlsZQoKMjAxMi0wNC0zMCAxMzozMjo0MSArMDIwMCAgUGV0ZXIgU2VpZGVyZXIgPHBzLnJlcG9ydEBnbXgubmV0PgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIG11bHRpZmlsZXNpbms6IGZpeCBidWZmZXIgbGlzdCBzaXplIGNhbGN1bGF0aW9uIGluIHJlbmRlcl9saXN0CgkgIEZpeCB1bmluaXRpYWxpemVkICdzaXplJyB2YXJpYWJsZSBpbiBjYWxsIHRvIGdzdF9idWZmZXJfbGlzdF9mb3JlYWNoKCkuCgoyMDEyLTA0LTMwIDIxOjU4OjAwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgbXVsdGlmaWxlOiB1bm5lY2Vzc2FyeSBzaXplIGNoZWNrCgoyMDEyLTA0LTMwIDIxOjMwOjU2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmk6IGZpeCBidWlsZCBlcnJvcnMKCSAgZml4IHJlZHVuZGFudCBkZWNsYXJhdGlvbnMKCSAgYW5kIGFsc28gc3R5bGUvaW5kZW50IGlzc3VlcwoKMjAxMi0wNC0yNiAxMjo0NzoyNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IGltcGxlbWVudCBmb3J3YXJkIHNuYXBwaW5nIGtleWZyYW1lIHNlZWtpbmcKCSAgUmVxdWlyZXMgYW4gaW5kZXguCgoyMDEyLTA0LTI2IDEyOjQ2OjExICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpOiBpbXBsZW1lbnQgZm9yd2FyZCBzbmFwcGluZyBrZXlmcmFtZSBzZWVraW5nCgkgIEluIHB1bGwgbW9kZSB3aXRoIGFuIGluZGV4LgoKMjAxMi0wNC0yOCAyMzoxNDoyNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJICB0ZXN0czogZml4IG1hdHJvc2thbXV4IHVuaXQgdGVzdCBhZnRlciBtZWRpYSB0eXBlIGNoYW5nZXMKCjIwMTItMDQtMjggMTk6NTc6NTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS93ZWJtLW11eC5jOgoJICBtYXRyb3NrYTogdXBkYXRlIGZvciBtZWRpYSB0eXBlIGNoYW5nZXMKCjIwMTItMDQtMjQgMTY6MDg6NDcgKzAyMDAgIGlkYy1kcmFnb24gPGlkYy1kcmFnb24gYXQgZ214LmRlPgoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuYzoKCSAgY2VsdGRlcGF5OiBjYWxjdWxhdGUgc2l6ZSBjb3JyZWN0bHkKCSAgVGhlIHN1bW1hdGlvbiB3YXMgZG9uZSB3cm9uZywgY2F1c2luZyB0aGUgZGUtcGF5bG9hZGVyIHRvIGV4aXQgaXRzIGxvb3AgdG9vCgkgIGVhcmx5LCBiZWZvcmUgYWxsIGZyYW1lcyBhcmUgcHJvY2Vzc2VkLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc0NDcyCgoyMDEyLTA0LTI0IDE1OjU3OjE5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGltcHJvdmUgZGVidWcKCjIwMTItMDQtMjQgMTU6MzQ6NTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogc3RhcnQgdW5tdXRlZCB3aGVuIHJlcXVlc3RlZAoJICBXaGVuIHdlIGV4cGxpY2l0ZWx5IHNldCB0aGUgbXV0ZSBwcm9wZXJ0eSB0byBGQUxTRSwgY29ubmVjdCB0byBwdWxzZWF1ZGlvIHdpdGgKCSAgdGhlIFBBX1NUUkVBTV9TVEFSVF9VTk1VVEVEIGZsYWcgc2V0LCBvdGhlcndpc2UgcHVsc2VhdWRpbyB3aWxsIHVzZSBpdHMKCSAgcHJldmlvdXNseSB1c2VkIHZhbHVlICh3aGljaCBtaWdodCBzdGFydCB0aGUgc3RyZWFtIG11dGVkKS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MjQwMQoKMjAxMi0wNC0yNSAwOTo0MTo0NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogaW1wcm92ZSB0aW1lc3RhbXAgY29kZQoJICBTYW1wbGUgdGhlIHBpcGVsaW5lIGNsb2NrIGFuZCBkZXZpY2UgY2xvY2sgY2xvc2VyIHRvIGVhY2hvdGhlciB0byByZWR1Y2Ugaml0dGVyLgoJICBEb24ndCBzdWJ0cmFjdCB0aGUgZnJhbWUgZHVyYXRpb24gZnJvbSB0aGUgdGltZXN0YW1wIHdoZW4gd2UgY2FuIHVzZSB0aGUgZGV2aWNlCgkgIHRpbWVzdGFtcHMuCgkgIEFzc3VtZSBhIGRlbGF5IG9mIDEgZnJhbWUgaW4gcmVhZC13cml0ZSBtb2RlLgoKMjAxMi0wNC0yNCAxMjozNzozMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogdXNlIGRyaXZlciB0aW1lc3RhbXBzCgkgIFVzZSB0aGUgZHJpdmUgdGltZXN0YW1wcyBmb3IgdGltZXN0YW1waW5nIG91dGdvaW5nIGJ1ZmZlcnMuCgoyMDEyLTA0LTIzIDE4OjAxOjMxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyOiBJbXByb3ZlIGJ1ZmZlciBtYW5hZ2VtZW50CgkgIFF1ZXJ5IHRoZSBhbW91bnQgb2YgYXZhaWxhYmxlIGJ1ZmZlcnMgd2hlbiBkb2luZyBzZXRfY29uZmlnKCkuIFRoaXMgYWxsb3dzIHVzIHRvCgkgIGNvbmZpZ3VyZSB0aGUgcGFyZW50IGJ1ZmZlcnBvb2wgd2l0aCB0aGUgbnVtYmVyIG9mIGJ1ZmZlcnMgdG8gcHJlYWxsb2NhdGUuCgkgIEtlZXAgdHJhY2sgb2YgdGhlIHByb3ZpZGVkIGFsbG9jYXRvciBhbmQgdXNlIGl0IHdoZW4gd2UgbmVlZCB0byBhbGxvY2F0ZSBhCgkgIGJ1ZmZlciBpbiBSVyBtb2RlLgoJICBXaGVuIHdlIGFyZSBjYW4gbm90IGFsbG9jYXRlIHRoZSByZXF1ZXN0ZWQgbWF4X2J1ZmZlcnMgYW1vdW50IG9mIGJ1ZmZlcnMsIG1ha2UKCSAgc3VyZSB3ZSBrZWVwIDIgYnVmZmVycyBhcm91bmQgaW4gdGhlIHBvb2wgYW5kIGNvcHkgdGhlbSBpbnRvIGFuIG91dHB1dCBidWZmZXIuCgkgIFRoaXMgbWFrZXMgc3VyZSB0aGF0IHdlIGFsd2F5cyBoYXZlIGEgYnVmZmVyIHRvIGNhcHR1cmUgaW50by4gV2UgYWxzbyBuZWVkIHRvCgkgIGRldGVjdCB0aG9zZSBjb3BpZWQgYnVmZmVycyBhbmQgdW5yZWYgdGhlbSB3aGVuIHRoZXkgcmV0dXJuIHRvIHRoZSBwb29sLgoKMjAxMi0wNC0yMyAxNjo1MToyOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGZyZWUgdGhlIHF1ZXVlZCBidWZmZXJzCgkgIE9ubHkgZnJlZSB0aGUgcXVldWVkIGJ1ZmZlcnMgdGhhdCB3ZSBrZWVwIHRyYWNrIG9mIGluIG91ciBidWZmZXIgYXJyYXkuIGZvciBydwoJICBpby1tb2RlLCB3ZSBkbyBhbGxvY2F0ZSBidWZmZXJzIGJ1dCB3ZSBkb24ndCBrZWVwIHRyYWNrIG9mIHRoZW0gaW4gdGhlIGJ1ZmZlcgoJICBhcnJheS4KCjIwMTItMDQtMjMgMTY6MTA6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBtYXJrIG1lbW9yeSBhcyBuby1zaGFyZQoJICBXZSBkb24ndCBzdXBwb3J0IHNoYXJpbmcgb3VyIG1tYXBwZWQgbWVtb3J5IHNvIG1hcmsgaXQgYXMgTk9fU0hBUkUuCgoyMDEyLTA0LTIzIDE2OjA5OjU1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyOiByZW1vdmUgb2xkIHVudXNlZCBmaWxlCgoyMDEyLTA0LTIzIDEzOjMyOjQ4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyOiByZW1vdmUgdW51c2VkIGZ1bmN0aW9uCgoyMDEyLTA0LTExIDEyOjQyOjE3ICswMTAwICBCYXN0aWVuIE5vY2VyYSA8aGFkZXNzQGhhZGVzcy5uZXQ+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwOiBIYW5kbGUgaWN5IGFuZCBpY3l4IFVSSSBzY2hlbWVzCgkgIEFzIGhhbmRsZWQgYnkgUXVpY2tUaW1lIChmb3IgaWN5KSwgYW5kIE9yYmFuL0NvZGluZyBUZWNobm9sb2dpZXMKCSAgQUFDL2FhY1BsdXMgUGxheWVyIChmb3IgaWN5eCkuIFNlZSBhbHNvOgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzk0MjA3CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD00MDMyODUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3Mzg5OQoKMjAxMi0wNC0yMyAxMDowMzoxOSArMDMwMCAgTWFydCBSYXVkc2VwcCA8bWFydC5yYXVkc2VwcEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBkb2NzOiBBZGQgU2luY2UgdGFnIGZvciBuZXcgR3N0VjRsMlNyYzo6cHJlcGFyZS1mb3JtYXQgc2lnbmFsCgoyMDEyLTA0LTIzIDEwOjA3OjEyICswMjAwICBDaHJpcyBQYW5rb3cgPGthaW4yMzk2QGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkgIGF1ZGlvZnhiYXNlZmlyZmlsdGVyOiBGaXggdGltZS1kb21haW4gY29udm9sdXRpb24gZm9yIG11bHRpY2hhbm5lbCBpbnB1dAoJICBGaXhlcyBidWcgIzY3NDAyNS4KCjIwMTItMDQtMjEgMTE6MDg6NTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vUE9URklMRVMuaW46CgkgIHBvOiByZW1vdmUgc29tZSBtb3JlIG5vbi1leGlzdGVudCBmaWxlcyBmcm9tIHRoZSBsaXN0CgoyMDEyLTA0LTIxIDEwOjA1OjQ1ICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIHBvL1BPVEZJTEVTLmluOgoJICBwbzogUmVtb3ZlIG5vbi1leGlzdGVudCBwb3RmaWxlcyBmcm9tIHRoZSBsaXN0CgkgIEZpeGVzICM2NzQ1MTgKCjIwMTItMDQtMjAgMTg6MTM6MTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvaWNsZXMvdGVzdC1vc3M0LmM6CgkgIHRlc3RzOiBvc3M0OiBsaW1pdCB0ZXN0IHNjb3BlCgoyMDEyLTA0LTIwIDE4OjEzOjAxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIHN5cy9vc3M0L01ha2VmaWxlLmFtOgoJKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmM6CgkqIHN5cy9vc3M0L29zczQtYXVkaW8uaDoKCSogc3lzL29zczQvb3NzNC1taXhlci1lbnVtLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXItZW51bS5oOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLXNsaWRlci5jOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLXNsaWRlci5oOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLXN3aXRjaC5jOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLXN3aXRjaC5oOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuaDoKCSogc3lzL29zczQvb3NzNC1wcm9wZXJ0eS1wcm9iZS5jOgoJKiBzeXMvb3NzNC9vc3M0LXByb3BlcnR5LXByb2JlLmg6CgkqIHN5cy9vc3M0L29zczQtc2luay5jOgoJKiBzeXMvb3NzNC9vc3M0LXNpbmsuaDoKCSogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSogc3lzL29zczQvb3NzNC1zb3VyY2UuaDoKCSAgb3NzNDogcG9ydCB0byAwLjExCgoyMDEyLTA0LTIwIDE4OjEyOjU0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIHN5cy9vc3MvTWFrZWZpbGUuYW06CgkqIHN5cy9vc3MvZ3N0b3NzYXVkaW8uYzoKCSogc3lzL29zcy9nc3Rvc3NoZWxwZXIuYzoKCSogc3lzL29zcy9nc3Rvc3NoZWxwZXIuaDoKCSogc3lzL29zcy9nc3Rvc3NtaXhlci5jOgoJKiBzeXMvb3NzL2dzdG9zc21peGVyLmg6CgkqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJlbGVtZW50LmM6CgkqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJlbGVtZW50Lmg6CgkqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJ0cmFjay5jOgoJKiBzeXMvb3NzL2dzdG9zc21peGVydHJhY2suaDoKCSogc3lzL29zcy9nc3Rvc3NzaW5rLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc3JjLmg6CgkgIG9zczogcG9ydCB0byAwLjExCgoyMDEyLTA0LTIwIDE2OjQ5OjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJICBtdWx0aXBhcnRkZW11eDogZmlyc3QgYWN0aXZhdGUgcGFkIHRoZW4gc2V0IGNhcHMKCjIwMTItMDQtMjAgMTM6MzU6MTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBzZXQgY2FwcyBvbiBzcmNwYWQKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NDIxOQoKMjAxMi0wNC0xOSAxNDoxNjowMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IHVwZGF0ZSBmb3IgdmlkZW8gYXBpIGNoYW5nZQoKMjAxMi0wNC0xOSAxMjozODo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogZml4IGNvbXBpbGF0aW9uIG9uIG9sZGVyIHY0bDIKCSAgRml4IGNvbXBpbGF0aW9uIG9uIHN5c3RlbXMgd2hlcmUgdGhlIEgyNjQgZm9ybWF0IGlzIG5vdCBkZWZpbmVkLgoKMjAxMi0wNC0xOSAxMjoyMDo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L3JhdzEzOTQvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHZpZGVvOiBVcGRhdGUgZm9yIGxpYmdzdHZpZGVvIEFQSSBjaGFuZ2VzCgoyMDEyLTA0LTE5IDA4OjI3OjAxICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDJzcmM6IEFsbG93IG1wZWctdHMgY2FtZXJhcyB0byBuZWdvY2lhdGUgZm9ybWF0CgkgIFRoaXMgcmVtb3ZlcyBhbiB1Z2x5IGhhY2sgdW50aWwgdGhlIHJlYXNvbiBmb3IgdGhlIGhhY2sgY2FuIGJlIGRvY3VtZW50ZWQKCjIwMTItMDQtMTkgMDk6NTA6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyc3JjOiBGaXggbWVyZ2UKCjIwMTItMDQtMTkgMDk6NDA6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDJzcmM6IFJlbmFtZSBwcmUtc2V0LWZvcm1hdCBzaWduYWwgdG8gcHJlcGFyZS1mb3JtYXQKCjIwMTItMDQtMTYgMjI6MDg6MjEgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJzcmM6IEFkZCBIMjY0IGVuY29kZWQgc3RyZWFtIHN1cHBvcnQgdG8gdGhlIGNhcHMKCSAgVGhpcyBpcyBub3QgZW5vdWdoIHRvIHByb3Blcmx5IHN1cHBvcnQgSDI2NCBjYW1lcmFzLCBidXQgaXQgd2lsbAoJICBhbGxvdyBhbiBIMjY0IHN0cmVhbSB0byBiZSBnZW5lcmF0ZWQgYnkgdjRsMnNyYyB1c2luZyB0aGUgZGVmYXVsdAoJICBzZXR0aW5ncyBvZiB0aGUgY2FtZXJhLiBJZiB1c2VkIHdpdGggdGhlIHByZS1zZXQtZm9ybWF0IHNpZ25hbCwgdGhlCgkgIEgyNjQgZW5jb2RlciBjYW4gYmUgZnVsbHkgY29uZmlndXJlZC4KCSAgQ29uZmxpY3RzOgoJICBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmMKCjIwMTItMDQtMTYgMjI6MDY6MjEgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi8uZ2l0aWdub3JlOgoJKiBzeXMvdjRsMi9nc3R2NGwyLW1hcnNoYWwubGlzdDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDJzcmM6IEFkZGluZyBhIHByZS1zZXQtZm9ybWF0IHNpZ25hbAoJICBJbiBvcmRlciB0byBzdXBwb3J0IFVWQyBIMjY0IGVuY29kaW5nIGNhbWVyYXMsIGFuIEgyNjQgUHJvYmUmQ29tbWl0CgkgIG11c3QgaGFwcGVuIGJlZm9yZSB0aGUgbm9ybWFsIHY0bDIgc2V0LWZvcm1hdC4gVGhpcyBuZXcgc2lnbmFsIGlzCgkgIG1lYW50IHRvIGFsbG93IGFuIGV4dGVybmFsIGFwcGxpY2F0aW9uIG9yIGJpbiB0byBkbyBpdC4KCSAgSXQgYWxzbyBzZXJ2ZXMgdG8gZXhwb3NlIHRoZSBmaWxlIGRlc2NyaXB0b3IgdXNlZCBieSB2NGwyc3JjIGluIGNhc2UKCSAgc29tZSBjdXN0b20gaW9jdGxzIG5lZWQgdG8gYmUgY2FsbGVkLgoJICBDb25mbGljdHM6CgkgIHN5cy92NGwyL01ha2VmaWxlLmFtCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYwoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmMKCjIwMTItMDQtMTggMTc6MDk6NDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcmF3MTM5NC9nc3QxMzk0cHJvYmUuYzoKCSogZXh0L3JhdzEzOTQvZ3N0MTM5NHByb2JlLmg6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6CgkgIGR2MTM5NDogcG9ydCB0byAwLjExCgoyMDEyLTA0LTE3IDE1OjE0OjI3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuaDoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguaDoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguaDoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMnBhZC5oOgoJICBjb2xsZWN0cGFkczI6IHJlbmFtZSB0byBjb2xsZWN0cGFkcwoKMjAxMi0wNC0xNiAxNjozNzo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgbWlzYzogY2hhaW4gdXAgdG8gY29sbGVjdHBhZHMgZXZlbnQgaGFuZGxlcgoKMjAxMi0wNC0xNiAwOTowOToxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDZkYjI1YmUgdG8gZGM3MDIwMwoKMjAxMi0wNC0xNSAyMjo0OTo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJICBzaG91dDI6IHVwZGF0ZSBmb3Igb2dnIG1lZGlhIHR5cGUgY2hhbmdlcwoKMjAxMi0wNC0xMyAxNjo1NDo1MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmg6CgkgIHNtcHRlOiB1c2Ugc29tZSBtb3JlIGJvaWxlcnBsYXRlCgoyMDEyLTA0LTEzIDE2OjU0OjUwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkgIGZseGRlYzogaW1wcm92ZSBzZWdtZW50IGhhbmRsaW5nCgkgIC4uLiB0byBzZW5kIGEgcHJvcGVyIFRJTUUgc2VnbWVudCBkb3duc3RyZWFtLgoKMjAxMi0wNC0xMyAxNjo1NDo0NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmg6CgkgIGZseGRlYzogcG9ydCB0byAwLjExCgoyMDEyLTA0LTEzIDE2OjU0OjQyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guaDoKCSAgdmlkZW9ib3g6IGFkanVzdCB0byBkZXByZWNhdGVkIEdNdXRleCBzZXR1cAoKMjAxMi0wNC0xMyAxNjo1NDozOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guaDoKCSAgdmlkZW9ib3g6IHBvcnQgdG8gMC4xMQoKMjAxMi0wNC0xMyAxNjo1NDozMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzoKCSAgYWxwaGEsIHNtcHRlOiBhZGp1c3QgdG8gcmVtb3ZlZCBjb2xvci1tYXRyaXggY2FwcyBmaWVsZAoKMjAxMi0wNC0xMyAxNjoyNzozNCArMDIwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSAgdjRsMjogZW5zdXJlIGF1dG9nZW5lcmF0ZWQgZmlsZXMgYXJlIGNyZWF0ZWQKCSAgVGhlIHR1bmVyIG1hcnNoYWwgYW5kIGVudW10eXBlcyBhcmUgYXV0b2dlbmVyYXRlZCwgYW5kIHRoZXkgbmVlZAoJICB0byBiZSBjcmVhdGVkIGJlZm9yZSB0aGUgY29tcGlsYXRpb24gb2YgZ3N0djRsMnR1bmVyLmMKCSAgVGhpcyBwYXRjaCBhZGRzIHRoZSBhdXRvbWFrZSBpbnN0cnVjdGlvbiBmb3IgZW5zdXJpbmcgdGhlCgkgIGF1dG9nZW5lcmF0aW9uIG9mIHRob3NlIGZpbGVzIHByZXZpb3VzIHRoZSBjb21waWxhdGlvbi4KCjIwMTItMDQtMTMgMTM6NDE6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogYXV0b2dlbi5zaDoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IE1vZGVybml6ZSBhdXRvdG9vbHMgc2V0dXAgYSBiaXQKCSAgQWxzbyB3ZSBub3cgb25seSBjcmVhdGUgdGFyLmJ6MiBhbmQgdGFyLnh6IHRhcmJhbGxzLgoKMjAxMi0wNC0xMyAxMzozNzoxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDQ2NGZlMTUgdG8gNmRiMjViZQoKMjAxMi0wNC0xMyAxMzowNDoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGV4dC9wdWxzZS9NYWtlZmlsZS5hbToKCSogZXh0L3B1bHNlL3BsdWdpbi5jOgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlci5jOgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlci5oOgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuYzoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmg6CgkqIGV4dC9wdWxzZS9wdWxzZW1peGVydHJhY2suYzoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXJ0cmFjay5oOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuaDoKCSogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvb3ZlcmxheS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9vdmVybGF5Lmg6CgkqIHN5cy92NGwyL3R1bmVyLW1hcnNoYWwubGlzdDoKCSogc3lzL3Y0bDIvdHVuZXIuYzoKCSogc3lzL3Y0bDIvdHVuZXIuaDoKCSogc3lzL3Y0bDIvdHVuZXJjaGFubmVsLmM6CgkqIHN5cy92NGwyL3R1bmVyY2hhbm5lbC5oOgoJKiBzeXMvdjRsMi90dW5lcm5vcm0uYzoKCSogc3lzL3Y0bDIvdHVuZXJub3JtLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9wdWxzZS9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJICBVcGRhdGUgZXZlcnl0aGluZyBmb3IgdGhlIHJlbW92YWwgb2YgdGhlIGludGVyZmFjZSBsaWJyYXJ5IGFuZCBtaXhlci90dW5lciBpbnRlcmZhY2VzCgoyMDEyLTA0LTEyIDE1OjUwOjE2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSAgcnRwOiBVc2UgdW5jaGVja2VkIHZhcmlhbnQgb2YgR3N0Qnl0ZVdyaXRlciB3aGVyZSBhcHBsaWNhYmxlCgkgIFRoZSBzaXplIHdhcyBjaGVja2VkIGJlZm9yZQoKMjAxMi0wNC0xMiAxNTo0OTo0NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYTogQ2hlY2sgcmV0dXJuIHZhbHVlIG9mIEdzdEJ5dGVSZWFkZXIvV3JpdGVyCgoyMDEyLTA0LTEyIDE1OjQ4OjU3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9kdW1wLmM6CgkgIGlzb21wNDogQ2hlY2sgcmV0dXJuIHZhbHVlIG9mIEdzdEJ5dGVXcml0ZXIKCSAgQW5kIHVzZSB1bmNoZWNrZWQgdmFyaWFudCBvZiBHc3RCeXRlUmVhZGVyIHdoZXJlIGFwcGxpY2FibGUKCjIwMTItMDQtMTIgMTU6NDg6MDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogVXNlIHVuY2hlY2tlZCB2YXJpYW50IG9mIEdzdEJ5dGVSZWFkZXIKCSAgV2Uga25vdyB0aGVyZSdzIGF0IGxlYXN0IDcgYnl0ZXMgKGNoZWNrZWQgYWJvdmUpCgoyMDEyLTA0LTEyIDE1OjQ3OjQ5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aTogQ2hlY2sgcmV0dXJuIHZhbHVlIG9mIEdzdEJ5dGVXcml0ZXIKCjIwMTItMDQtMTIgMTU6NDc6MjQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IENoZWNrIHJldHVybiB2YWx1ZSBvZiBHc3RCaXRSZWFkZXIvR3N0Qnl0ZVJlYWRlcgoKMjAxMi0wNC0xMiAxMTo1Nzo1OSArMDEwMCAgdXJhZXVzIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBBZGQgaW50ZXJsZWF2ZSBwbHVnaW4gdG8gc3BlYyBmaWxlCgoyMDEyLTA0LTEyIDExOjE5OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMS45MCA9PT0KCjIwMTItMDQtMTIgMTA6Mjc6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0LmM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjExLjkwCgoyMDEyLTA0LTEyIDEwOjI2OjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEyLTA0LTExIDAwOjE5OjMwICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAgRml4IGZvcm1hdCBzdHJpbmcKCSAgRml4ZXMgIzY3Mzg1OQoKMjAxMi0wNC0xMSAwMDoxOToxNiArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmM6CgkgIFJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCSAgRml4ZXMgIzY3Mzg1OQoKMjAxMi0wNC0xMCAxMTo1Nzo1MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vMC4xMCcKCSAgQ29uZmxpY3RzOgoJICBnc3QvZmx2L2dzdGZsdmRlbXV4LmMKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmMKCjIwMTItMDQtMTAgMTE6Mzc6NDggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHNvbWUgbW9yZSBzZWdtZW50IGhhbmRsaW5nIHR3ZWFraW5nCgoyMDEyLTA0LTEwIDAwOjUxOjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6CgkqIGV4dC9jYWlyby9nc3RjYWlyb292ZXJsYXkuYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvcmVuZGVyLmM6CgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuYzoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5LmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnNpbmsuYzoKCSogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9qcGVnL2dzdHNtb2tlZGVjLmM6CgkqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6CgkqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6CgkqIGV4dC9saWJtbmcvZ3N0bW5nZGVjLmM6CgkqIGV4dC9saWJtbmcvZ3N0bW5nZW5jLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkqIGV4dC9taWttb2QvZ3N0bWlrbW9kLmM6CgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6CgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguY2M6CgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlva2FyYW9rZS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvYnJlYWtteWRhdGEuYzoKCSogZ3N0L2RlYnVndXRpbHMvY3B1cmVwb3J0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNkZWJ1Zy5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdmlnYXRpb250ZXN0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdnNlZWsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0cHVzaGZpbGVzcmMuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0dGFnaW5qZWN0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Byb2dyZXNzcmVwb3J0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSogZ3N0L2RlYnVndXRpbHMvdGVzdHBsdWdpbi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdG9wLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJpcHBsZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHN0cmVhay5jOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtb292cmVjb3Zlci5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cnRweHF0ZGVwYXkuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS93ZWJtLW11eC5jOgoJKiBnc3QvbWVkaWFuL2dzdG1lZGlhbi5jOgoJKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdGZpbGVzcmMuYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnbGltaXRlci5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIyZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvdGVtcGxhdGUuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NtaXhlcmVsZW1lbnQuYzoKCSogc3lzL29zcy9nc3Rvc3NzaW5rLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXIuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnJhZGlvLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICBVc2UgbmV3IGdzdF9lbGVtZW50X2NsYXNzX3NldF9zdGF0aWNfbWV0YWRhdGEoKQoKMjAxMi0wNC0wOSAxMjo1NTozNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJICB0ZXN0czogZGlzYWJsZSBzaW1wbGUgc21va2VlbmMvZGVjIGxhdW5jaCBsaW5lcyB0ZXN0CgkgIERpc2FibGUgdGVzdCBmb3Igc21va2UgZWxlbWVudHMsIHdoaWNoIGFyZW4ndCBwb3J0ZWQgeWV0CgkgIChhbmQgbWF5YmUgc2hvdWxkbid0IGJlIHBvcnRlZCkuCgoyMDEyLTA0LTA5IDAwOjE0OjQ4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkgIGludGVybGVhdmU6IG1ha2UgY2hhbm5lbC1wb2lzaXRpb25zIHByb3BlcnR5IGEgR1ZhbHVlQXJyYXkgYWdhaW4KCSAgT3IgcGVyaGFwcyBpdCBzaG91bGQganVzdCBiZSBhIGd1aW50NjQgY2hhbm5lbCBtYXNrLCB3aGljaCB3b3VsZAoJICBiZSBuaWNlciBpbiBDLCBidXQgbW9yZSBhd2t3YXJkIGZvciBiaW5kaW5ncyAoZXZlbiBtb3JlIHNvIHNpbmNlCgkgIHdlIGNhbid0IGFkZCBhIGZsYWdzIHR5cGUgZm9yIGl0LCBzaW5jZSB0aGF0IG9ubHkgc3VwcG9ydHMgZ3VpbnQKCSAgc2l6ZSBmbGFncykuIEZpeGVzIHdhdmVuYyB1bml0IHRlc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njk2NDMKCjIwMTItMDQtMDYgMTY6MDM6NDcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGNsZWFubHkgaW5pdGlhbGl6ZSBhbmQgc2V0IG5lZWRlZCBzZWdtZW50CgkgIEZpeGVzICM2NzMxNjUuCgoyMDEyLTA0LTA1IDE3OjE3OjIyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBGaXggdGhyZWFkaW5nIGlzc3VlIGluIGluZGV4IGhhbmRsaW5nCgoyMDEyLTA0LTA2IDA5OjEzOjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IERvbid0IHVzZSBzdGF0aWMgdmFyaWFibGVzIHRvIGhvbGQgaW5kZXggYXNzb2NpYXRpb25zCgkgIFRoaXMgbm90IHJlYWxseSB0aHJlYWRzYWZlIGluIGFueSB3YXkuCgoyMDEyLTA0LTA1IDE5OjE3OjQ4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Zsdm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkgIHRlc3RzOiBtYWtlIGZldyB0ZXN0cyBtb3JlIHZhbGdyaW5kLWZyaWVuZGx5CgoyMDEyLTA0LTA1IDE5OjE3OjQyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6CgkgIChkZSlpbnRlcmxlYXZlOiBmaXggcG9ydGVkIHVuaXQgdGVzdCBhbmQgZW5hYmxlIGFzIHBvcnRlZAoKMjAxMi0wNC0wNSAxOToxNzozOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6CgkgIHRlc3RzOiBjbW1sZGVjOiBhZGp1c3QgdG8gdGFnIGV2ZW50cyBubyBsb25nZXIgcG9zdGVkIG9uIGJ1cyBieSBlbGVtZW50CgoyMDEyLTA0LTA1IDE5OjE3OjI5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVwZHNyYzogY2xlYXIgZXJyb3IKCjIwMTItMDQtMDUgMTg6NDI6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA3ZmRhNTI0IHRvIDQ2NGZlMTUKCjIwMTItMDQtMDUgMTg6MDI6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZi5jOgoJICBnc3Q6IFVwZGF0ZSBmb3IgR1NUX1BMVUdJTl9ERUZJTkUoKSBBUEkgY2hhbmdlcwoKMjAxMi0wNC0wNSAxNzozNjozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGFubm9kZXguYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvLmM6CgkqIGV4dC9kdi9nc3Rkdi5jOgoJKiBleHQvZmxhYy9nc3RmbGFjLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWcuYzoKCSogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzoKCSogZXh0L2xpYm1uZy9nc3RtbmcuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmcuYzoKCSogZXh0L21pa21vZC9nc3RtaWttb2QuYzoKCSogZXh0L3B1bHNlL3BsdWdpbi5jOgoJKiBleHQvcmF3MTM5NC9nc3QxMzk0LmM6CgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXAuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4LmM6CgkqIGV4dC90YWdsaWIvZ3N0dGFnbGlicGx1Z2luLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2suYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meC5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9kZXRlY3QuYzoKCSogZ3N0L2F2aS9nc3RhdmkuYzoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0ZGVidWcuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGVmZmVjdHYuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2ludGVybGVhdmUvcGx1Z2luLmM6CgkqIGdzdC9pc29tcDQvaXNvbXA0LXBsdWdpbi5jOgoJKiBnc3QvbGF3L2FsYXcuYzoKCSogZ3N0L2xhdy9tdWxhdy5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLmM6CgkqIGdzdC9tZWRpYW4vZ3N0bWVkaWFuLmM6CgkqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlLmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0LmM6CgkqIGdzdC9yZXBsYXlnYWluL3JlcGxheWdhaW4uYzoKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbWFuYWdlci5jOgoJKiBnc3QvcnRzcC9nc3RydHNwLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zbXB0ZS9wbHVnaW4uYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkqIGdzdC91ZHAvZ3N0dWRwLmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW90ZW1wbGF0ZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvcGx1Z2luLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRwbHVnaW4uYzoKCSogc3lzL29zcy9nc3Rvc3NhdWRpby5jOgoJKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpby5jOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpby5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXBsdWdpbi5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICBnc3Q6IFVwZGF0ZSBmb3IgR1NUX1BMVUdJTl9ERUZJTkUoKSBBUEkgY2hhbmdlcwoKMjAxMi0wNC0wNSAxMzoyNjoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogVXBkYXRlIHZlcnNpb24gdG8gMC4xMS44OS4xCgoyMDEyLTA0LTA0IDIwOjA2OjU4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHRlc3RzOiBxdG11eDogZW5zdXJlIGluaXRpYWxpemVkIHRlc3QgYnVmZmVyIG1lbW9yeQoKMjAxMi0wNC0wNCAxNDo0MToyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSAgZ3N0OiBVcGRhdGUgdmVyc2lvbmluZwoKMjAxMi0wNC0wNCAxNDozMzoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvdmVyc2lvbi5lbnRpdGllcy5pbjoKCSogZXh0L2FhbGliL01ha2VmaWxlLmFtOgoJKiBleHQvY2Fpcm8vTWFrZWZpbGUuYW06CgkqIGV4dC9kdi9NYWtlZmlsZS5hbToKCSogZXh0L2ZsYWMvTWFrZWZpbGUuYW06CgkqIGV4dC9nZGtfcGl4YnVmL01ha2VmaWxlLmFtOgoJKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSogZXh0L2pwZWcvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJjYWNhL01ha2VmaWxlLmFtOgoJKiBleHQvbGlicG5nL01ha2VmaWxlLmFtOgoJKiBleHQvcHVsc2UvTWFrZWZpbGUuYW06CgkqIGV4dC9yYXcxMzk0L01ha2VmaWxlLmFtOgoJKiBleHQvc291cC9NYWtlZmlsZS5hbToKCSogZXh0L3NwZWV4L01ha2VmaWxlLmFtOgoJKiBleHQvdGFnbGliL01ha2VmaWxlLmFtOgoJKiBleHQvd2F2cGFjay9NYWtlZmlsZS5hbToKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJKiBnc3QvYWxwaGEvTWFrZWZpbGUuYW06CgkqIGdzdC9hcGV0YWcvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2F2aS9NYWtlZmlsZS5hbToKCSogZ3N0L2N1dHRlci9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWludGVybGFjZS9NYWtlZmlsZS5hbToKCSogZ3N0L2VmZmVjdHYvTWFrZWZpbGUuYW06CgkqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkqIGdzdC9pY3lkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L2lkM2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvaW50ZXJsZWF2ZS9NYWtlZmlsZS5hbToKCSogZ3N0L2lzb21wNC9NYWtlZmlsZS5hbToKCSogZ3N0L2xhdy9NYWtlZmlsZS5hbToKCSogZ3N0L2xldmVsL01ha2VmaWxlLmFtOgoJKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkqIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06CgkqIGdzdC9yZXBsYXlnYWluL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkqIGdzdC9zaGFwZXdpcGUvTWFrZWZpbGUuYW06CgkqIGdzdC9zbXB0ZS9NYWtlZmlsZS5hbToKCSogZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9ib3gvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2Nyb3AvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC93YXZlbmMvTWFrZWZpbGUuYW06CgkqIGdzdC93YXZwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSogcGtnY29uZmlnL01ha2VmaWxlLmFtOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtZ29vZC11bmluc3RhbGxlZC5wYy5pbjoKCSogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJKiBzeXMvb3NzL01ha2VmaWxlLmFtOgoJKiBzeXMvb3NzNC9NYWtlZmlsZS5hbToKCSogc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOgoJKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06CgkqIHN5cy9zdW5hdWRpby9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy93YXZlZm9ybS9NYWtlZmlsZS5hbToKCSogc3lzL3hpbWFnZS9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2F1ZGlvZngvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhaXJvL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9wdWxzZS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICBnc3Q6IFVwZGF0ZSB2ZXJzaW9uaW5nCgoyMDEyLTA0LTA0IDEyOjEwOjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi8wLjEwJwoJICBDb25mbGljdHM6CgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYwoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYwoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaAoKMjAxMi0wNC0wMyAxODozNjo1MCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IHBsdWcgdGVtcGxhdGUgY2FwcyBsZWFrCgoyMDEyLTA0LTAzIDExOjUwOjAwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogYXZpIG9ubHkga25vd3MgYWJvdXQgRFRTCgkgIE9ubHkgc2V0IERUUyBvbiBvdXRnb2luZyBidWZmZXJzIHVubGVzcyB3ZSBoYXZlIGEga2V5ZnJhbWUgYW5kIHRoZW4gd2UgY2FuIHNldAoJICB0aGUgUFRTIHRvIERUUyBhcyB3ZWxsLgoKMjAxMi0wNC0wMiAyMzozNTo0MyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBta3Y6IHBvcnQgdG9jIGNoYW5nZXMgdG8gMC4xMQoKMjAxMi0wNC0wMiAyMzoxODowMCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkgIE1lcmdlIGJyYW5jaCAnMC4xMCcKCSAgQ29uZmxpY3RzOgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYwoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmMKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmMKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmgKCjIwMTItMDMtMjkgMjM6MjI6MjggKzA0MDAgIEFsZXhhbmRlciBTYXByeWtpbiA8eGVsZml1bUBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgbWF0cm9za2E6IGFkZCBHc3RUb2Mgc3VwcG9ydCBmb3IgbXV4ZXIKCjIwMTItMDMtMjkgMjM6MTI6MTMgKzA0MDAgIEFsZXhhbmRlciBTYXByeWtpbiA8eGVsZml1bUBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2E6IGFkZCBzdXBwb3J0IGZvciBHc3RUb2MgaW4gZGVtdXhlcgoKMjAxMi0wMy0yOSAyMzowNToxNCArMDQwMCAgQWxleGFuZGVyIFNhcHJ5a2luIDx4ZWxmaXVtQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IGFkZCBjaGFwdGVyIHN1cHBvcnQgaW4gR3N0TWF0cm9za2FSZWFkQ29tbW9uCgoyMDEyLTA0LTAyIDEzOjAwOjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tMmsxL2xpbmVzLmM6CgkgIGdvb20yazE6IEZpeCAnbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uJyBjb21waWxlciB3YXJuaW5nCgoyMDEyLTA0LTAyIDExOjEzOjA5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2thcmFva2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgdXNlIHRyYW5zZm9ybV9pcF9vbl9wYXNzdGhyb3VnaAoKMjAxMi0wMy0zMSAxNTo0Mzo0OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9lcXVhbGl6ZXIuYzoKCSogdGVzdHMvZXhhbXBsZXMvZXF1YWxpemVyL2RlbW8uYzoKCSogdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzoKCSAgdXBkYXRlIGZvciBjaGlsZCBwcm94eSBhcGkgY2hhbmdlCgoyMDEyLTAzLTMwIDE4OjEzOjA4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkgIHVwZGF0ZSBmb3IgYnVmZmVyIGFwaSBjaGFuZ2UKCjIwMTItMDMtMzAgMTI6NTM6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5oOgoJICBzcGVleGVuYzogVXNlIG5ldyBnc3RfYXVkaW9fZW5jb2Rlcl9zZXRfaGVhZGVycygpIEFQSQoKMjAxMi0wMy0zMCAxMjoxODo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkgIGV4dDogVXBkYXRlIGZvciBHc3RBdWRpb0VuY29kZXIgQVBJIGNoYW5nZXMKCjIwMTItMDMtMjkgMjM6MjI6MjggKzA0MDAgIEFsZXhhbmRlciBTYXByeWtpbiA8eGVsZml1bUBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgbWF0cm9za2E6IGFkZCBHc3RUb2Mgc3VwcG9ydCBmb3IgbXV4ZXIKCjIwMTItMDMtMjkgMjM6MTI6MTMgKzA0MDAgIEFsZXhhbmRlciBTYXByeWtpbiA8eGVsZml1bUBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2E6IGFkZCBzdXBwb3J0IGZvciBHc3RUb2MgaW4gZGVtdXhlcgoKMjAxMi0wMy0yOSAyMzowNToxNCArMDQwMCAgQWxleGFuZGVyIFNhcHJ5a2luIDx4ZWxmaXVtQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IGFkZCBjaGFwdGVyIHN1cHBvcnQgaW4gR3N0TWF0cm9za2FSZWFkQ29tbW9uCgoyMDEyLTAzLTI5IDE3OjIyOjIzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy93YXZwYWNrLmM6CgkgIHRlc3RzOiB3YXZwYWNrOiBmZXdlciBidWZmZXJzIGFyZSBhbHNvIGFkZXF1YXRlIGFuZCBtb3JlIGNvbnZlbmllbnQKCjIwMTItMDMtMjkgMTc6MjI6MTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6CgkgIHRlc3RzOiB2aWRlb2Nyb3A6IHVubWFwIHZpZGVvIGZyYW1lIGFuZCB1bnJlZiBjYXBzCgoyMDEyLTAzLTI5IDE3OjIyOjA0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNiYW5kLmM6CgkgIHRlc3RzOiBhdWRpb3dzaW5jYmFuZDogdW5tYXAgZXhhbWluZWQgb3V0cHV0IGJ1ZmZlcnMKCjIwMTItMDMtMjkgMTc6MjE6NTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBwbHVnIHJlZiBsZWFrCgoyMDEyLTAzLTI5IDE3OjIxOjUwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSAgYXVkaW9wYW5vcmFtYTogZml4IHN1cHBvcnRlZCB0ZW1wbGF0ZSBjYXBzIGFuZCBzYW1wbGUgcHJvY2Vzc2luZwoKMjAxMi0wMy0yOSAxNzoyMTo0MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJICBhbHBoYWNvbG9yOiBwbHVnIHN0cnVjdHVyZSBsZWFrCgoyMDEyLTAzLTI5IDE2OjA0OjI2ICswMTAwICB1cmFldXMgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUgd2l0aCBsYXRlc3QgcG9ydGVkIHBsdWdpbnMKCjIwMTItMDMtMjkgMTU6MDM6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luLzAuMTAnCgkgIENvbmZsaWN0czoKCSAgY29uZmlndXJlLmFjCgoyMDEyLTAzLTI4IDE2OjI2OjU2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSAgdGVzdHM6IHRhZ3NjaGVja2luZzogbXV4ZXJzIG5lZWQgVElNRSBmb3JtYXQKCjIwMTItMDMtMjggMTY6MjY6MTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2ZsYWNkZWMuYzoKCSAgdGVzdHM6IGZsYWNkZWM6IG5lZWRzIGZsYWNwYXJzZSBub3dhZGF5cwoKMjAxMi0wMy0yOCAxNDo0OTowMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkgIHdhdnBhY2tlbmM6IHF1ZXJ5IGRvd25zdHJlYW0gZm9yIEJZVEUgc2Vla2luZyBzdXBwb3J0CgoyMDEyLTAzLTI4IDE0OjQ4OjQ2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogcXVlcnkgZG93bnN0cmVhbSBmb3IgQllURSBzZWVraW5nIHN1cHBvcnQKCjIwMTItMDMtMjggMTQ6NDY6MDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBjbGVhbiB1cCBvYnNvbGV0ZSBsb2cgc3RhdGVtZW50CgoyMDEyLTAzLTI4IDEyOjQ5OjE5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pa21vZC9nc3RtaWttb2QuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkgIHVwZGF0ZSBmb3IgYnVmZmVyIGNoYW5nZXMKCjIwMTItMDMtMjggMTI6MTY6NDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9keW5hbWljLmM6CgkgIHRlc3RzOiBhdWRpb2R5bmFtaWM6IGNvcnJlY3RseSBwb3J0IG9yaWdpbmFsIHRlc3QgdG8gbWluZCBpbiBwbGFjZSB0cmFuc2Zvcm0KCjIwMTItMDMtMjggMTE6MDU6NDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJICBhdWRpb2Z4OiBtb3JlIGFkanVzdG1lbnQgdG8gY2hhbmdlZCBzZW1hbnRpY3Mgb2YgYXVkaW9maWx0ZXIgX3NldHVwIG1ldGhvZAoKMjAxMi0wMy0yOCAxMToxMDoyNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2ZpcmZpbHRlci5jOgoJICB0ZXN0czogYXVkaW9maXJmaWx0ZXI6IG5lZ290aWF0ZSB0aGUgaW50ZW5kZWQgcmF3IGF1ZGlvIGZvcm1hdAoKMjAxMi0wMy0yNyAxODo0MTo0NSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmM6CgkgIHdhdnBhY2twYXJzZTogaW5pdCBkYXRhc3RydWN0dXJlCgoyMDEyLTAzLTI3IDE3OjE4OjQwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJICBlZmZlY3R2OiBmaXggc3RyaWRlcwoKMjAxMi0wMy0yNyAxNjo0MTowNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogc3lzL29zcy9nc3Rvc3NzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgY2FwczogaW1wcm92ZSBjYXBzIGhhbmRsaW5nCgkgIEF2b2lkIGNhcHMgY29weSBhbmQgbGVha3MKCjIwMTItMDMtMjcgMTQ6MDQ6NDggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWN5ZGVtdXguYzoKCSAgdGVzdHM6IGljeWRlbXV4OiBhY3RpdmF0ZSBpbnRlcm5hbCB0ZXN0IGhlbHBlciBzcmMgcGFkCgoyMDEyLTAzLTI3IDEyOjQ0OjQ2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyOiB1cGRhdGUgZm9yIGdldF9wYXJhbQoJICBSZW1vdmUgY29uc3QgZnJvbSB0aGUgR3N0Q2Fwcy4KCSAgUGx1ZyBzb21lIEdzdFN0cnVjdHVyZSBsZWFrcwoKMjAxMi0wMy0yNyAwMDowMjowOCArMDMwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcDogRml4IGNvbXBpbGluZyB3aXRoIG1pbmd3LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcyODgwCgoyMDEyLTAzLTI2IDE4OjMxOjQxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYzoKCSAgdGVzdHM6IHJlcGxheWdhaW46IG1pc2MgY29tcGF0aWJpbGl0eSBmaXhlcwoJICBEaXNjYXJkIGNhcHMgZXZlbnQgd2hlbiBjaGVja2luZyBmb3IgYW5kIGNvdW50aW5nIHZhcmlvdXMgdGFnIGV2ZW50cywKCSAgYW5kIHJlbW92ZSBhbGwgdGVzdGluZyBvZiA4IGJpdHMgZGVwdGggaW4gMTYgYml0cyB3aWR0aCBmb3JtYXQgc2luY2UKCSAgaXQgbm8gbG9uZ2VyIGV4aXN0cy4KCjIwMTItMDMtMjYgMTg6Mjg6MjYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHRlc3RzOiBydHA6IG1pc2MgY29tcGF0aWJpbGl5IGZpeGVzCgkgIC4uLiBzdWNoIGFzIGFsd2F5cyBzZXR0aW5nIHBhZCBjYXBzIGFuZCBwcm92aWRpbmcgbmVlZGVkIGNhcHMgZmllbGRzLgoKMjAxMi0wMy0yNiAxODoyNjo0MCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2ZpbHRlci5jOgoJICB0ZXN0czogdmlkZW9maWx0ZXI6IGVuc3VyZSBpbml0aWFsIHNlZ21lbnQgZXZlbnQKCjIwMTItMDMtMjYgMTg6MjU6MjggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuaDoKCSAgc2hhcGV3aXBlOiBwcm9wZXIgdmlkZW8gaW5mbyBhbmQgZnJhbWUgbWFuYWdlbWVudAoJICAuLi4gcGFydGljdWxhcmx5IHNpbmNlIGVhY2ggaW5jb21pbmcgcGFkIGhhcyBhIGRpc3RpbmN0IGZvcm1hdC4KCjIwMTItMDMtMjYgMTg6MjQ6MDggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IGVuc3VyZSBvdXRwdXQgY2FwcyBhcmUgc2V0IHdoZW4gcHVzaGluZyBvdXRwdXQgZGF0YQoJICAuLi4gZXZlbiBpZiBzb21lIFNQUy9QUFMgaGFzIG5vdCBwYXNzZWQgYnkgeWV0LgoKMjAxMi0wMy0yNiAxODoyMjo1MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICB2aWRlb2ZpbHRlcjogYXZvaWQgaG9sZGluZyBvYmplY3QgbG9jayB3aGVuIGNhbGxpbmcgYmFzZXRyYW5zZm9ybSBmdW5jdGlvbgoKMjAxMi0wMy0yNiAxODoyMjowMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBmaXggc29tZSBsb2NrIG1hbmFnZW1lbnQKCSAgLi4uIHRvIGF2b2lkIHRyeWluZyB0byB0YWtlIGEgbm9uLXJlY3Vyc2l2ZSBsb2NrIHR3aWNlLgoKMjAxMi0wMy0yNiAxODoyMToxMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkgIHJ0cEwxNihkZSlwYXk6IGZpeCByYXcgYXVkaW8gZm9ybWF0IGluIHRlbXBsYXRlIGNhcHMKCjIwMTItMDMtMjYgMTg6MjA6NDAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJICByZXBsYXlnYWluOiBhbHNvIHN0aWxsIHBvc3QgdGhlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzCgoyMDEyLTAzLTI2IDE1OjU5OjAxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBkb24ndCBlcnJvciBpbiBzaHV0ZG93bgoJICBEb24ndCBsb2cgd2l0aCB0aGUgRVJST1IgY2F0ZWdvcnkgd2hlbiB3ZSBhcmUgc3RvcHBpbmcgYmVjYXVzZSB3ZSBhcmUgc2h1dHRpbmcKCSAgZG93bi4KCSAgRml4ZXM6IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzI4MjQKCjIwMTItMDMtMjYgMTU6NTE6MjggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDI6IGZpeCBsYXRlbmN5CgoyMDEyLTAzLTI2IDE1OjMwOjAwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSAgdjRsMjogY2FsbGVkIGJhc2UgY2xhc3Mgc3RhcnQKCSAgQ2hhaW4gdXAgdG8gdGhlIGJhc2UgY2xhc3Mgc3RhcnQgbWV0aG9kIHNvIHRoYXQgbWV0YWRhdGEgaXMgcHJvcGVybHkgdGFnZ2VkLgoJICBSZW1vdmUgYW4gdW51c2VkIHZhcmlhYmxlLgoJICBmaXhlczogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MjgxMwoKMjAxMi0wMy0yNiAxMjoxMjo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIFJlcGxhY2UgbWFzdGVyIHdpdGggMC4xMQoKMjAxMi0wMy0yNSAwMDowMDo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5oOgoJICBnZGtwaXhidWZvdmVybGF5OiBhZGQgImFscGhhIiBwcm9wZXJ0eSB0byBzZXQgYWxwaGEgb2Ygb3ZlcmxheSBpbWFnZQoJICAuLiBvciB0dXJuIHRoZSBvdmVybGF5IG9mZiBieSBzZXR0aW5nIGFscGhhIHRvIDAuMAoKMjAxMi0wMy0yNCAwOTo1MTowNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IHBsdWcgY2FwcyBsZWFrCgoyMDEyLTAzLTIzIDE4OjQ3OjQ1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ltYWdlZnJlZXplLmM6CgkgIHRlc3RzOiBpbWFnZWZyZWV6ZTogcmVtb3ZlIGV4dHJhbmVvdXMgX3VucmVmCgoyMDEyLTAzLTIzIDE4OjQ3OjAzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aW11eC5jOgoJICB0ZXN0czogYXZpbXV4OiBhZGp1c3QgdG8gbW9kaWZpZWQgc2luayBwYWQgdGVtcGxhdGUgbmFtZQoKMjAxMi0wMy0yMyAxODo0NjozNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICB0ZXN0czogcXRtdXg6IGNsZWFudXAgZWxlbWVudCBzb29uZXIKCSAgLi4uIHRvIGF2b2lkIHN0cmF5IHJlZnMgaW4gc3RpY2t5IGNhcHMgZXZlbnRzLgoKMjAxMi0wMy0yMyAxODo0NTo1NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3dzaW5jYmFuZC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3dzaW5jbGltaXQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHRlc3RzOiBhcnJhbmdlIGZvciBzZW5kaW5nIGFuIGluaXRpYWwgc2VnbWVudCBldmVudAoJICAuLi4gd2hpY2ggaXMgbmVlZGVkIG5vd2FkYXlzIHNpbmNlIHZhcmlvdXMgZ3N0X3NlZ21lbnRfdG9fLi4uCgkgIG5vIGxvbmdlciBhdXRvbWF0aWNhbGx5IHNldCB0aGUgZm9ybWF0IHRvIHRoZSBzcGVjaWZpZWQgb25lCgkgIChmcm9tIF9VTkRFRklORUQpLgoKMjAxMi0wMy0yMyAxODo0NDoxNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IGltbWVkaWF0ZWx5IHJldHVybiBHU1RfRkxPV19FT1MKCSAgLi4uIHJhdGhlciB0aGFuIF9PSyBzaW5jZSB3ZSB3aWxsIG5vdCBiZSBjYXJpbmcgYWJvdXQgc3Vic2VxdWVudCBidWZmZXIKCSAgYW55d2F5LgoKMjAxMi0wMy0yMyAxODo0MzozNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IGZpeCBxdWVyeSBhbmQgX2dldGNhcHMgaGFuZGxpbmcKCjIwMTItMDMtMjMgMTg6NDI6NDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2thcmFva2UuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6CgkgIGF1ZGlvZng6IGFkanVzdCB0byBjaGFuZ2VkIHNlbWFudGljcyBvZiBhdWRpb2ZpbHRlciBfc2V0dXAgbWV0aG9kCgkgIC4uLiBpbiB0aGF0IGl0IHdpbGwgbm93IGNhbGwgc3ViY2xhc3Mgd2l0aCBpbmZvIG9uIHByb3Bvc2VkIGF1ZGlvIGZvcm1hdAoJICB3aXRob3V0IGhhdmluZyBzZXQgdGhhdCBpbmZvIGFscmVhZHkgaW4gYmFzZSBjbGFzcy4gIEFzIHN1Y2gsCgkgIHN1YmNsYXNzIGNhbiBub3QgcmVseSBvbiBhdWRpbyBmb3JtYXQgaW5mbyBiZWluZyBhdmFpbGFibGUgdGhlcmUuCgoyMDExLTA3LTE0IDE2OjIzOjQ5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuaDoKCSAgcnRwaDI2NGRlcGF5OiBNYWtlIG91dHB1dCBpbiBBVkMgc3RyZWFtIGZvcm1hdCB3b3JrIGV2ZW4gd2l0aG91dCBjb21wbGV0ZSBzcHJvcC1wYXJhbWV0ZXItc2V0CgkgIFRoaXMgYWxsb3dzIG91dHB1dHRpbmcgc3RyZWFtcyBpbiBBVkMgZm9ybWF0IGV2ZW4gaWYgdGhlIFNQUy9QUFMgYXJlIHNlbnQgaW5zaWRlCgkgIHRoZSBSVFAgc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0ODUwCgkgIFBvcnRlZCBmcm9tIG1hc3RlcgoKMjAxMi0wMS0yOSAxODozOTo1NCArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIHVkcHNpbms6IFVubG9jayBvbiBlcnJvcgoKMjAxMi0wMy0yMiAxODoyNzozMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiB1c2Ugc2luayBwYWQgdGVtcGxhdGUgY2FwcyByYXRoZXIgdGhhbiBzcmMKCjIwMTItMDMtMjIgMTg6MjM6MjIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMi0wMy0yMiAxODoyMTo1MiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuaDoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuaDoKCSAgc21wdGU6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMy0yMiAxNjoxMDozMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiBpbnRlcnNlY3QgZG93bnN0cmVhbSBhbGxvd2VkIHBlZXIgY2FwcyB3aXRoIHNpbmsgcGFkIHRlbXBsYXRlCgoyMDEyLTAzLTIyIDE1OjU1OjI4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBiYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAwLjExLjIgPT09CgoyMDEyLTAzLTIyIDE1OjUxOjEzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSogd2luMzIvY29tbW9uL2dzdHVkcC1tYXJzaGFsLmM6CgkgIFJlbGVhc2UgMC4xMS4yCgoyMDEyLTAzLTIyIDExOjU1OjI4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMi0wMy0yMiAxMTo1MzoyNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgdW5wb3J0IGdka3BpeGJ1ZgoJICBub3QgbWVyZ2VkOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0ODUwCgkgIENvbmZsaWN0czoKCSAgZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0CgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5CgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuYwoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmgKCSAgZXh0L2xpYnBuZy9nc3RwbmdkZWMuYwoJICBleHQvbGlicG5nL2dzdHBuZ2VuYy5jCgkgIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jCgkgIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmMKCSAgZ3N0L2Zsdi9nc3RmbHZtdXguYwoJICBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuYwoJICBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jCgoyMDEyLTAzLTIyIDExOjQ1OjExICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJICBzbXB0ZTogb25seSBzdGFydCBjb2xsZWN0cGFkczIgYXQgc3RhdGUgY2hhbmdlIHJhdGhlciB0aGFuIGluaXQKCjIwMTItMDMtMjEgMTM6MjI6NDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2FtcGxpZnkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9keW5hbWljLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZWNoby5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Bhbm9yYW1hLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHRlc3RzOiB1cGRhdGUgZm9yIG1lbW9yeSBhcGkgY2hhbmdlcwoKMjAxMi0wMy0yMCAxMDoyNDowNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICB1cGRhdGUgZm9yIG1lbW9yeSBhcGkgY2hhbmdlcwoKMjAxMi0wMy0xOSAxMjowMTo0MCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IHBlcmZvcm0gYWRkaXRpb25hbCBmcmFtZSBjcmMgY2hlY2sgaWYgYXBwbGljYWJsZQoJICAuLi4gc3VjaCBhcyBhIGZyYW1lIGhlYWRlciBwYXJzaW5nIHRocm93aW5nIHNvbWUgc3VzcGljaW91cyB3YXJuaW5ncy4KCSAgU28gd2UgY2FuIGJlIGEgYml0IG1vcmUgY29udmluY2VkIHdlIGRldGVybWluZSB0aGUgcmlnaHQgZnJhbWUgZW5kLgoKMjAxMi0wMy0xOSAxMTo1ODoxNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGF2b2lkIGluZGVmaW5pdGUgZXh0ZW5kZWQgc2VhcmNoIGZvciBmcmFtZSBlbmQgaWYgcG9zc2libGUKCSAgLi4uIHdoaWNoIGlzIHBhcnRpY3VsYXJseSB1c2VmdWwgaWYgbG9ja2VkIG9uIHRvIHRoZSB3cm9uZyBmcmFtZSBzdGFydAoJICBhbmQvb3IgY29ycnVwdCBmcmFtZSBiZWluZyBjcmMgY2hlY2tlZC4KCjIwMTItMDMtMTYgMTg6MjM6MjkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgIGZsYWNkZWM6IGltcHJvdmUgZXJyb3IgaGFuZGxpbmcgYW5kIHJlc2lsaWVuY2UKCSAgLi4uIGJ5IG5vdGluZyB0aGF0IG9uZSBvY2N1cnJlZCBpbiB0aGUgZmlyc3QgcGxhY2UsIGFuZCB0aGVuIGFwcHJvcHJpYXRlbHkKCSAgaWdub3Jpbmcgc29tZSB0cmFuc2llbnQgb25lcy4KCjIwMTItMDMtMTkgMTA6MzM6NDggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogbmVnb3RpYXRlIGFuIGFsbG9jYXRvciBvbiB0aGUgc3JjcGFkcwoJICBXZSBkbyBhbiBBTExPQ0FUSU9OIHF1ZXJ5IHRvIGZpbmQgb3V0IGFuIGFsbG9jYXRvciBhbmQgcGFyYW1ldGVycyBvbiB0aGUKCSAgc3JjcGFkcy4gVGhpcyB3YXkgZGVjb2RlcnMgKGFuZCBzaW5rcykgY2FuIHNwZWNpZnkgdGhlIG1lbW9yeSBhbmQgcGFyYW1ldGVycwoJICB0aGV5IHdhbnQgdXMgdG8gd3JpdGUgaW50by4KCjIwMTItMDMtMTcgMjA6NTM6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5oOgoJICBkb2NzOiB1cGRhdGUgZG9jcyBmb3IgbmV3IHByb3BlcnRpZXMgYW5kIGFkZCBnZGtwaXhidWZvdmVybGF5IGVsZW1lbnQKCSAgU29tZXdoYXQgYXQgbGVhc3QuIE5vIGlkZWEgd2h5IGl0IGRvZXNuJ3QgcGljayB1cCB0aGUgZGVzY3JpcHRpb24KCSAgb3IgZXhhbXBsZSBwaXBlbGluZS4KCjIwMTItMDMtMTggMDA6MTE6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dka19waXhidWYvTWFrZWZpbGUuYW06CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5LmM6CgkgIGdka3BpeGJ1Zm92ZXJsYXk6IG1ha2UgbW9zdCBwcm9wZXJ0aWVzIGNvbnRyb2xsYWJsZSBhbmQgZmxhZyB0aGVtIGFzIG11dGFibGUtcGxheWluZwoKMjAxMi0wMy0xNyAyMzo0MTozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5LmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuaDoKCSAgZ2RrcGl4YnVmb3ZlcmxheTogYWRkIHByb3BlcnRpZXMgZm9yIHBvc2l0aW9uaW5nIGFuZCBzaXppbmcKCjIwMTItMDMtMTcgMjA6MTg6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dka19waXhidWYvTWFrZWZpbGUuYW06CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5LmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuaDoKCSAgZ2RrcGl4YnVmOiBhZGQgZ2RrcGl4YnVmb3ZlcmxheSBlbGVtZW50CgkgIFN0aWxsIGxhY2tzIGZlYXR1cmVzIHN1Y2ggYXMgcG9zaXRpb25pbmcgb3IgcmVzaXppbmcsIG9yCgkgIGFuaW1hdGlvbnMsIGJ1dCBpdCdzIHVzYWJsZSBhbHJlYWR5LCBhbmQgc3VwcG9ydHMgbG90cyBvZgoJICBmb3JtYXRzLgoKMjAxMi0wMy0xNiAyMjo1MjowMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIGRvbid0IHBva2UgaW50byBiYXNldHJhbnNmb3JtIGludGVybmFscwoJICBCdXQgdXNlIHRoZSBtZXRob2RzCgoyMDEyLTAzLTE2IDIxOjQ3OjIxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIGRvbid0IHBhc3MgcmFuZG9tIHBvaW50ZXJzIHRvIHB1bGxfcmFuZ2UKCjIwMTItMDMtMTUgMjI6MTU6NDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJICB1cGRhcnRlIGZvciBidWZmZXJwb29sIGNoYW5nZXMKCjIwMTItMDMtMTUgMjI6MTE6MTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdXBkYXRlIGZvciBidWZmZXJwb29sIGNoYW5nZXMKCjIwMTItMDMtMTUgMjA6Mzc6NTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB1cGRhdGUgZm9yIGFsbG9jYXRpb24gcXVlcnkgY2hhbmdlcwoKMjAxMS0wNy0xNCAxNjoyMzo0OSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5Lmg6CgkgIHJ0cGgyNjRkZXBheTogTWFrZSBvdXRwdXQgaW4gQVZDIHN0cmVhbSBmb3JtYXQgd29yayBldmVuIHdpdGhvdXQgY29tcGxldGUgc3Byb3AtcGFyYW1ldGVyLXNldAoJICBUaGlzIGFsbG93cyBvdXRwdXR0aW5nIHN0cmVhbXMgaW4gQVZDIGZvcm1hdCBldmVuIGlmIHRoZSBTUFMvUFBTIGFyZSBzZW50IGluc2lkZQoJICB0aGUgUlRQIHN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDg1MAoKMjAxMi0wMy0xNSAxNDowNjo0MCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHVwZGF0ZSBmb3IgYnVmZmVycG9vbCBhcGkgY2hhbmdlCgoyMDEyLTAzLTE1IDEzOjM3OjM2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgdXBkYXRlIGZvciBtZW1vcnkgYXBpIGNoYW5nZXMKCjIwMTItMDMtMTUgMTM6MzY6MTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdGZpbGVzcmMuYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jaGViYmFuZC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJsaW1pdC5jOgoJICB1cGRhdGUgZm9yIG1lbW9yeSBhcGkgY2hhbmdlcwoKMjAxMi0wMy0xNCAyMTozNjowMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAgdXBkYXRlIGZvciBtZW1vcnkgYXBpIGNoYW5nZXMKCjIwMTItMDMtMTQgMTk6NTU6MzIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB0YWtlIHBhZGRpbmcgaW50byBhY2NvdW50CgoyMDEyLTAzLTE0IDE3OjA3OjUwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5oOgoJICBpbWFnZWZyZWV6ZTogcG9ydCB0byAwLjExCgoyMDEyLTAzLTE0IDE1OjQ1OjM4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcmVwbHkgRkFMU2Ugb24gc2VyaWFsaXplZCBxdWVyaWVzCgoyMDEyLTAzLTEzIDIzOjA4OjM4ICswMTAwICBBbmRyZWogR2VsZW5iZXJnIDxhbmRyZWouZ2VsZW5iZXJnQHVkby5lZHU+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5oOgoJICBwbmdlbmM6IGFkZCBzdXBwb3J0IGZvciA4LSBhbmQgMTYtYml0IGdyYXkgaW1hZ2VzCgkgIEFkZCBzdXBwb3J0IGZvciBkaXJlY3QgZW5jb2Rpbmcgb2YgOC0gYW5kIDE2LWJpdCBiaWcgZW5kaWFuIGdyYXkgaW1hZ2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcyMDI1CgoyMDEyLTAzLTE0IDExOjIxOjMyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkgIG1wNHZwYXk6IHdlIGNhbiBhbHNvIGhhbmRsZSB4LWRpdngKCjIwMTItMDMtMTQgMTA6Mzk6NTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJICB3YXZwYWNrZW5jOiBkbyBub3Qgc2V0IG91dHB1dCBjYXBzIGRpcmVjdGx5CgkgIC4uLiBidXQgdXNlIGJhc2UgY2xhc3MgZnVuY3Rpb24gaW5zdGVhZC4KCjIwMTItMDMtMTMgMjE6MzE6NDggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJICBtcDR2ZGVwYXk6IGZpeCBidWZmZXIgaGFuZGxpbmcKCSAgRG9uJ3QgYWx3YXlzIG91dHB1dCB0aGUgcGF5bG9hZCBzdWJidWZmZXIsIHVzZSBhIHNlcGFyYXRlIHZhcmlhYmxlIHRvCgkgIG1ha2UgdGhpbmdzIGNsZWFyZXIgYW5kIHdpdGhvdXQgdGhlIGVycm9yLgoKMjAxMi0wMy0xMyAyMDo0OTo0MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIHVkcHNpbms6IG1ha2UgYnVmZmVyLXNpemUgd29yayBhZ2FpbgoKMjAxMi0wMy0xMyAyMDozNjo1NiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogZml4IFNPX1JDVkJVRiBoYW5kbGluZwoKMjAxMi0wMy0xMyAxOToyNjo0NyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogZG9uJ3QgbGVhayB0aGUgYWRkcmVzcwoKMjAxMi0wMy0xMyAxOToyNjoyMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIGgyNjRkZXBheTogdW5tYXAgb24gZW1wdHkgcGFja2V0CgoyMDEyLTAzLTEzIDE4OjA3OjE4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IGRvIERUUyBhbmQgUFRTIGNvcnJlY3RseQoKMjAxMi0wMy0xMyAxNzo1NDo1MCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzZXQgRFRTIGFuZCBQVFMgb24gb3V0cHV0IGJ1ZmZlcnMKCSAgU2V0IFBUUyBhbmQgRFRTIG9uIG91dHB1dCBidWZmZXJzIGluc3RlYWQgb2YganVzdCB0aGUgUFRTLiBJbiBzdHJlYW1pbmcgY2FzZXMKCSAgeW91IHdhbnQgdG8gc3luY2hyb25pemVkIGVuY29kZWQgZGF0YSBiYXNlZCBvbiB0aGUgRFRTIGJlY2F1c2UgdGhhdCBpcwoJICBtb25vdG9uaWNhbGx5IGluY3JlYXNpbmcuCgoyMDEyLTAzLTEzIDE3OjU0OjI4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2R1bXAuYzoKCSAgcXRkZW11eDogZGVidWcgYWRkaXRpb25hbCBzZHRwIGZsYWcKCjIwMTItMDMtMTMgMTc6Mjc6MzIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJICBydHA6IGZpeCB1bm1hcCBjYWxscwoKMjAxMi0wMy0xMyAxMzoyNTowOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSAgcHVsc2U6IGZpeCBmb3JtYXRzLCB3ZSBjYW4gbm90IGhhbmRsZSBTOCBidXQgb25seSBVOAoKMjAxMi0wMy0xMyAxMjo0MDozNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogZml4IHN0cmVhbWhlYWRlcnMKCSAgRml4IHRoZSBjYXBzIG9mIGZsYWNlbmMsIHRoZSByZWZlcmVuY2UgZW5jb2RlciBvbmx5IHN1cHBvcnQgMjQgYml0cyBpbgoJICAzMiBiaXRzLgoJICBTZXQgc3RyZWFtaGVhZGVyIG9uIG91dHB1dCBjYXBzLgoKMjAxMi0wMy0xMiAxNzoxNzowMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6CgkgIHVwZGF0ZSBmb3IgY2FwcyBhcGkgY2hhbmdlcwoKMjAxMi0wMy0xMiAxNjo0MzoyNyArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWMgOiBidW1wIEdMaWIgcmVxdWlyZW1lbnQgdG8gMi4zMS4xNAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcxOTExCgoyMDEyLTAzLTEyIDE1OjI3OjI3ICswMTAwICBSb3NzIEJ1cnRvbiA8cm9zcyBhdCBidXJ0b25pbmkuY29tPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBnZW5lcmF0ZSBzZWVrdGFibGVzIGV2ZXJ5IDEwIHNlYyBieSBkZWZhdWx0CgkgIFNpbmNlIHRoaXMgaXMgd2hhdCB0aGUgY29tbWFuZCBsaW5lIHRvb2wgZG9lcyBhcyB3ZWxsLCBpdCBzZWVtcyBsaWtlCgkgIGEgYmV0dGVyIGRlZmF1bHQuCgoyMDEyLTAzLTEwIDEzOjQ0OjA4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBvbmx5IHVubG9jayBwYWQgd2hlbiBpdCB3YXMgbG9ja2VkCgkgIFRoaXMgZml4ZXMgdGhlIG11dGV4IGJlaW5nIHVubG9ja2VkIHRvbyBtdWNoIGFuZCBlbmRpbmcgdXAgYWxsb3dpbmcKCSAgb3RoZXIgdGhyZWFkcyB3aGVuIHRoZXkgc2hvdWxkIG5vdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MTc3NgoKMjAxMi0wMy0wNyAxMzozOTo1MCArMDEwMCAgQW5kcmVqIEdlbGVuYmVyZyA8YW5kcmVqLmdlbGVuYmVyZ0B1ZG8uZWR1PgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgcG5nZGVjOiBhZGQgc3VwcG9ydCBmb3IgdmlkZW8veC1yYXctZ3JheSBmb3JtYXRzCgkgIHBuZ2RlYyBjYW4gbm93IGRlY29kZSBncmF5IDgtIGFuZCAxNi1iaXQgaW1hZ2VzIHdpdGhvdXQgYWxwaGEgY2hhbm5lbAoJICBkaXJlY3QgdG8gdmlkZW8veC1yYXctZ3JheSBmb3JtYXQuIDE2LWJpdCBncmF5IGltYWdlcyBoYXZlIGJpZy1lbmRpYW4KCSAgZm9ybWF0LCBiZWNhdXNlIGl0J3MgbmF0aXZlIFBORyBlbmRpYW5uZXNzLiBHcmF5IGltYWdlcyB3aXRoIGFscGhhCgkgIGNoYW5uZWwgc3RpbGwgY29udmVydGVkIHRvIFJHQkEuCgkgIFNpZ25lZC1vZmYtYnk6IEFuZHJlaiBHZWxlbmJlcmcgPGFuZHJlai5nZWxlbmJlcmdAdWRvLmVkdT4KCjIwMTItMDMtMDggMTc6MDc6NTEgKzAxMDAgIE1hcmMgTGVlbWFuIDxtYXJjLmxlZW1hbkBnbWFpbC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgZ3N0cnRzcHNyYzogZGlzYWJsZSBSVFNQIGtlZXAtYWxpdmUgb24gcmVxdWVzdAoKMjAxMi0wMy0xMiAxNDo0ODo0NyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJICBzbXB0ZTogZml4IHN0cmlkZSBoYW5kbGluZwoKMjAxMi0wMy0xMiAxMjoyMzoxNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvZmlsdGVyLmM6CgkgIGZpeCBmb3IgY2FwcyBfbm9ybWFsaXplIGNoYW5nZXMKCjIwMTItMDMtMTIgMTE6NDc6MzUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgZml4IGZvciBjYXBzIGFwaSBjaGFuZ2UKCjIwMTItMDMtMTIgMTA6NDM6NTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogc3lzL29zczQvb3NzNC1hdWRpby5jOgoJICBmaXggZm9yIF9kb19zaW1wbGlmeSBjaGFuZ2VzCgoyMDEyLTAzLTEyIDA4OjQ4OjMyICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBnc3Q6IEZpeCBzb21lIHF1ZXJ5IGxlYWtzCgoyMDEyLTAzLTExIDE5OjA2OjU5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIGZpeCBmb3IgY2FwcyBhcGkgY2hhbmdlcwoKMjAxMi0wMy0xMSAxOTowNjozNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICBmaXggZm9yIGNhcHMgYXBpIGNoYW5nZXMKCjIwMTItMDMtMTAgMTA6NTE6NDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkgIGZpeCB0ZW1wbGF0ZSBjYXBzIHJlZmNvdW50CgoyMDEyLTAzLTA5IDE1OjUzOjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBmaXggdXNlIG9mIEFDX0xBTkdfUFJPR1JBTQoJICBObyBuZWVkIHRvIGluY2x1ZGUgdGhlIGludCBtYWluICgpIHsgfSBiaXRzLCB0aGUgYm9keSBpcyBlbm91Z2guCgoyMDEyLTAzLTA5IDE1OjI1OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBmaXggYXV0b2dlbi5zaCB3YXJuaW5ncwoJICBjb25maWd1cmUuYWM6NDEwOiB3YXJuaW5nOiBBQ19MQU5HX0NPTkZURVNUOiBubyBBQ19MQU5HX1NPVVJDRSBjYWxsIGRldGVjdGVkIGluIGJvZHkKCjIwMTItMDMtMDggMTM6MDY6MTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuaDoKCSAgYWFzaW5rOiBwcm9wb3NlIHZpZGVvbWV0YSB1cHRyZWFtCgkgIHN1YmNsYXNzIGZyb20gdmlkZW9zaW5rLgoJICBQcm9wb3NlIHZpZGVvbWV0YSB1cHN0cmVhbSBiZWNhdXNlIHdlIGNhbiBoYW5kbGUgaXQgd2l0aCB0aGUgdmlkZW8gYXBpLgoKMjAxMi0wMy0wOCAwMTo1Mzo1MCAtMDUwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGRvIG5vdCB1bnJlZiBzYW1wbGUgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcxNTM0CgoyMDEyLTAzLTA4IDExOjM2OjAxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2RldGVjdC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzoKCSAgdGVzdHM6IGltcHJvdmUgbW9yZSB0ZXN0cwoKMjAxMi0wMy0wOCAxMToyMDo0MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhcHNzZXR0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RrcGl4YnVmc2luay5jOgoJICB0ZXN0czogZml4IHNvbWUgbW9yZSB0ZXN0cwoKMjAxMi0wMy0wNyAxNToyMjozNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGltcHJvdmUgY2xlYW51cAoJICBSZXVzZSBjbGVhbnVwIG1ldGhvZHMgdG8gbWFrZSBzdXJlIHdlIHJlbW92ZSBhbGwgcGFkcyBjb3JyZWN0bHkKCjIwMTItMDMtMDcgMTU6MDA6MjYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHNldCBjYXBzIHdpdGhvdXQgdGhlIGxvY2sKCSAgUmVsZWFzZSB0aGUgbG9jayBiZWZvcmUgc2V0dGluZyB0aGUgY2FwcyBvbiB0aGUgc3JjcGFkLCB3aGljaCB0cmlnZ2VycyBhbiBldmVudCwKCSAgd2hpY2ggY291bGQgZXZlbnR1YWxseSBjYWxsIGJhY2sgaW50byB1cyBhbmQgY2F1c2UgYSBkZWFkbG9jay4KCjIwMTItMDMtMDcgMTQ6NTU6MDggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgIHB0ZGVtdXg6IHNldCBjYXBzIGFmdGVyIGFjdGl2YXRpbmcgdGhlIHBhZAoJICBTZXQgdGhlIGNhcHMgYWZ0ZXIgd2UgYWN0aXZhdGVkIHRoZSBwYWQgb3IgZWxzZSBpdCB3aWxsIGp1c3QgZmFpbC4KCjIwMTItMDMtMDcgMTQ6NTQ6MTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGF3L2FsYXcuYzoKCSogZ3N0L2xhdy9tdWxhdy5jOgoJICBsYXc6IGFkZCBsYXlvdXQgdG8gYXVkaW8gY2FwcwoKMjAxMi0wMy0wNyAxNDo1MTowOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5oOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5oOgoJICBsYXc6IHVzZSBHc3RBdWRpb0luZm8KCSAgVXNlIEdzdEF1ZGlvSW5mbyB0byBnZW5lcmF0ZSBvdXRwdXQgY2Fwcy4KCjIwMTItMDMtMDcgMDQ6MjA6MDAgLTA1MDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0ZGVtdXg6IGNvdmVydCBhcnQgdGFnIHR5cGUgaXMgR3N0U2FtcGxlIG5vdCBHc3RCdWZmZXIgbm93CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzE1MzQKCjIwMTItMDMtMDcgMTA6Mjg6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vUE9URklMRVMuaW46CgkgIHBvOiBmaXggUE9URklMRVMuaW4gZm9yIG5ldyB3YXZwYWNrcGFyc2UgbG9jYXRpb24gaW4gc291cmNlIHRyZWUKCjIwMTItMDMtMDYgMjE6NDQ6MzYgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcDogQ2hhbmdlIHRoZSBkZWZhdWx0IHBvcnQgdG8gNTAwNAoJICB1ZHBzcmMvdWRwc2luayBhcmUgYWxtb3N0IGFsd2F5cyB1c2VkIHdpdGggUlRQLCBzbyBsZXQncyB1c2UgYW4KCSAgUlRQIHBvcnQgYXMgdGhlIGRlZmF1bHQgcG9ydC4gIEl0J3MgdW5jbGVhciB3aHkgNDk1MSB3YXMgdXNlZCwgaXQKCSAgZ29lcyBiYWNrIHRvIGVhcmx5IGNvbW1pdHMgaW4gQ1ZTLgoKMjAxMi0wMy0wNiAyMTozNjowMiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBNZXJnZSBicmFuY2ggJzAuMTEnIG9mIHNzaDovL2dpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L2dzdHJlYW1lci9nc3QtcGx1Z2lucy1nb29kIGludG8gMC4xMQoKMjAxMi0wMy0wNiAxNTo1ODoyMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSAgc3BlZXhkZWM6IHVzZSBiYXNlIGNsYXNzIHRhZyBoYW5kbGluZyBoZWxwZXIKCSAgLi4uIHNvIGFzIHRvIGVuc3VyZSB0aGVzZSB0byBiZSBoYW5kbGVkIGFuZCBzZW50IGF0IHByb3BlciB0aW1lLgoKMjAxMi0wMy0wNiAxNDoyNToyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrc3RyZWFtcmVhZGVyLmM6CgkgIHdhdnBhY2s6IEZpeCBwb3NzaWJsZSB1bmRlcmZsb3cgb2YgdW5zaWduZWQgaW50ZWdlciB2YXJpYWJsZQoKMjAxMi0wMy0wNiAxNDoyMjo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICB4aW1hZ2VzcmM6IEZpeCAnY29tcGFyaXNvbiBvZiB1bnNpZ25lZCBleHByZXNzaW9uID49IDAgaXMgYWx3YXlzIHRydWUnCgkgIFRoaXMgdmFyaWFibGUgY2FuIG5ldmVyIGJlIGJlbG93IHplcm8gYW55d2F5LgoKMjAxMi0wMy0wNiAxNDoxODozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IFVzZSBjb3JyZWN0IGVudW0gZm9yIHJldHVybiB2YWx1ZXMKCjIwMTItMDMtMDYgMTQ6MTY6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmM6CgkgIGR2ZGVwYXk6IEZpeCAnY29tcGFyaXNvbiBvZiB1bnNpZ25lZCBleHByZXNzaW9uID49IDAgaXMgYWx3YXlzIHRydWUnIGNvbXBpbGVyIHdhcm5pbmcKCSAgVGhpcyB3YXMgYW4gYWN0dWFsIGJ1ZyBhcyBpdCBjb3VsZCd2ZSBjYXVzZWQgcmVhZGluZyBmcm9tCgkgIGludmFsaWQgbWVtb3J5IGFyZWFzIHdoZW4gdGhlIGlucHV0IGlzIGJyb2tlbi4KCjIwMTItMDMtMDYgMTM6MjE6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmFzbToKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BUb3AuaW5jOgoJICBkZWludGVybGFjZTogRml4ICd2YXJpYWJsZSAnb2xkYngnIGlzIHVuaW5pdGlhbGl6ZWQgd2hlbiB1c2VkIGhlcmUnIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEyLTAzLTA2IDEzOjE5OjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogRml4ICdpbXBsaWNpdCBjb252ZXJzaW9uIGZyb20gZW51bWVyYXRpb24gdHlwZSAnR3N0RGVpbnRlcmxhY2VGaWVsZHMnIHRvIGRpZmZlcmVudCBlbnVtZXJhdGlvbiB0eXBlICdHc3REZWludGVybGFjZU1vZGUnJyBjb21waWxlciB3YXJuaW5nCgoyMDEyLTAzLTA1IDE1OjI5OjU2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5oOgoJICBnZGs6IGNsZWFudXBzIGFuZCBmaXggcm93c3RyaWRlCgkgIEZpeCB0aGUgb3V0cHV0IHJvd3N0cmlkZSwgd2UgbmVlZCB0byB0YWtlIHRoZSBzdHJpZGUgb2YgdGhlIG91dHB1dCB2aWRlbyBmcmFtZS4KCSAgU2luY2Ugd2UgYXJlIGFsc28gZGVhbGluZyB3aXRoIHBsYW5lcywgdGFrZSB0aGUgcGxhbmUgZGF0YSBhbmQgc3RyaWRlLgoJICBEb24ndCBzdG9yZSB0aGUgc2FtZSBpbmZvIHR3aWNlIGluIGRpZmZlcmVudCB2YXJpYWJsZXMuCgoyMDEyLTAzLTA1IDEzOjMxOjQ0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkgIGdka3BpeGJ1ZjogZml4IGV2ZW50IGhhbmRsaW5nCgoyMDEyLTAzLTA1IDEyOjIwOjA3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy93YXZwYWNrLmM6CgkgIHRlc3RzOiBwb3J0IHdhdnBhY2sgdGVzdHMgdG8gMC4xMQoKMjAxMi0wMy0wNSAxMzozNjozOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICB3YXZwYWNrZGVjOiBwb3J0IHRvIDAuMTEKCjIwMTItMDMtMDUgMTI6MTc6MzkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmg6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSAgd2F2cGFja2VuYzogcG9ydCB0byAwLjExCgoyMDEyLTAzLTA1IDEzOjM0OjM2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZXh0L3dhdnBhY2svTWFrZWZpbGUuYW06CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2suYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICB3YXZwYWNrOiByZW1vdmUgbGVnYWN5IHdhdnBhY2twYXJzZQoKMjAxMi0wMy0wNSAxMjoxNTo0NCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJICBhdWRpb3BhcnNlcnM6IHBvcnQgd2F2cGFja3BhcnNlIHRvIDAuMTEKCjIwMTItMDMtMDUgMTM6Mjk6NTkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jCgkgIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmMKCSAgc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaAoJICBzeXMvdjRsMi9nc3R2NGwydmlkZW9vdmVybGF5LmMKCjIwMTItMDMtMDUgMTI6NDM6MTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHgtcmF3LWJheWVyIC0+IHgtYmF5ZXIKCjIwMTItMDMtMDUgMTE6MTc6MzAgKzAxMDAgIE9sZWtzaWogUmVtcGVsIChBbGV4ZXkgRmlzaGVyKSA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6CgkgIHY0bDJzaW5rOiBkb24ndCB1c2UgZGVwcmVjYXRlZCBYS2V5Y29kZVRvS2V5c3ltCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzEyOTkKCSAgU2lnbmVkLW9mZi1ieTogT2xla3NpaiBSZW1wZWwgKEFsZXhleSBGaXNoZXIpIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoyMDEyLTAzLTA1IDEyOjAzOjAxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3hpbWFnZS9NYWtlZmlsZS5hbToKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgeGltYWdlOiB1c2UgbmV3IHN0eWxlIGNhcHMKCjIwMTItMDMtMDUgMTA6NDk6MzMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJICB3YXZwYWNrZGVjOiBhbGxvdyBzb21lIHRpbWVzdGFtcCB0b2xlcmFuY2UgdG8gYXJyYW5nZSBmb3IgcGVyZmVjdCB0aW1lc3RhbXBpbmcKCSAgLi4uIHdoaWNoIGFsc28gaGFwcGVucyB0byBtYWtlIHNvbWUgbW9yZSB1bml0IHRlc3RzIHBhc3MuCgoyMDEyLTAzLTA1IDEwOjQ3OjQ0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSAgd2F2cGFja2RlYzogZml4IGNvcHlpbmcgb3V0cHV0IGRhdGEKCjIwMTItMDMtMDUgMTA6NDY6NTEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJICB3YXZwYWNrZW5jOiByZXN0b3JlIGxlZ2FjeSBidWZmZXIgb2Zmc2V0IGRlY29yYXRpbmcgc29tZXdoYXQKCSAgLi4uIGF0IGxlYXN0IHN1ZmZpY2llbnRseSB0byBhaWQgaW4gcmVjb2duaXppbmcgcmV3cml0dGVuIGhlYWRlciBidWZmZXIKCSAgbWFraW5nIHVuaXQgdGVzdCBwYXNzLgoKMjAxMi0wMy0wNSAxMDo1MTozMyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmM6CgkgIHdhdnBhY2twYXJzZTogaW5pdGlhbGl6ZSBoZWFkZXIgdG8gc2lsZW5jZSBvbGRlciBnY2MgdmVyc2lvbnMKCjIwMTItMDMtMDUgMTA6NDU6NDYgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgd2F2cGFja3BhcnNlOiByZW1vdmUgZW1wdHkgbGluZXMgaW4gdmFyYWJsZSBkZWNsYXJhdGlvbnMgY2F1c2VkIGJ5IG9sZCBpbmRlbnQKCjIwMTItMDMtMDUgMTA6NDQ6NTQgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkgIGphY2s6IGZpeCBvYnZpb3VzIHdyb25nIGRlZmluaXRpb24gZm9yIHRoZSBtYXN0ZXIgZmxhZwoKMjAxMi0wMy0wNCAxOTo1NToyNiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuaDoKCSAgamFjazogY2hhbmdlIHRoZSB0cmFuc3BvcnQtbW9kZSBlbnVtIGludG8gZmxhZ3MKCSAgT25lIGNhbiB1c2UgKG9yIG5vdCB1c2UpIG1hc3RlciBhbmQgc2xhdmUgbW9kZSBpbmRlcGVuZGVudGx5LgoKMjAxMi0wMy0wMiAxMTo0OTowMiAtMDUwMCAgQW50b2luZSBUcmVtYmxheSA8aGV4YTAwQGdtYWlsLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogc3VwcG9ydCB1cCB0byA2IGNoYW5uZWxzIG9mIEFDLTMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MTIyMAoKMjAxMi0wMy0wMyAxMzowNDo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBjbGVhciBESVNDT05UIGZsYWcgd2hlbiByZWN5Y2xpbmcgYnVmZmVycyBpbnRvIHRoZSBidWZmZXIgcG9vbAoJICBUaGUgYmFzZSBjbGFzcyBtYXkgaGF2ZSBzZXQgdGhlIERJU0NPTlQgZmxhZyBvbiB0aGUgZmlyc3QgYnVmZmVyIHB1c2hlZAoJICBvdXQuIFdlIG5lZWQgdG8gY2xlYXIgdGhhdCB3aGVuIHJlY3ljbGluZyBidWZmZXJzIGJhY2sgaW50byB0aGUgYnVmZmVyCgkgIHBvb2wsIG90aGVyd2lzZSB3ZSBjb25zdGFudGx5IHB1c2ggb3V0IGJ1ZmZlcnMgd2l0aCB0aGUgZGlzY29udCBmbGFnCgkgIHNldCwgd2hpY2ggbWlnaHQgdXBzZXQgZG93bnN0cmVhbSBlbGVtZW50cywgZXNwLiBmb3IgY29tcHJlc3NlZAoJICBmb3JtYXRzIGxpa2UgbXBlZy10cy4KCjIwMTItMDMtMDEgMTQ6MTU6MjkgKzAxMDAgIE9sZWtzaWogUmVtcGVsIChBbGV4ZXkgRmlzaGVyKSA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSAgdjRsMnNyYzogZml4IHY0bDJfbXVubWFwKCkgZm9yIGNvbXByZXNzZWQgZm9ybWF0cwoJICBNYWtlIHN1cmUgd2UgYWx3YXlzIGNhbGwgbXVubWFwKCkgd2l0aCB0aGUgc2FtZSBzaXplIHdlIGNhbGxlZCBtbWFwKCkKCSAgd2l0aCBiZWZvcmUuCgkgIEN1cnJlbnQgdjRsMnNyYyB1c2VzIHRoZSBzYW1lIHN0cnVjdHVyZSBmb3IgVklESU9DX1FVRVJZQlVGLCBWSURJT0NfUUJVRgoJICBhbmQgdjRsMl9tdW5tYXAgY2FsbHMuIFRoZSBwcm9ibGVtIGlzIHRoYXQgdGhlIHZpZGVvIGJ1ZmZlciBzaXplIChsZW5ndGgpCgkgIG1heSB2YXJ5IGZvciBjb21wcmVzc2VkIG9yIGVtdWxhdGVkIGJ1ZnMuIFZJRElPQ19RQlVGIHdpbGwgY2hhbmdlIGl0IGlmCgkgIHdlIHBhc3MgdGhlIHBvaW50ZXIgb2YgYSB2NGwyX2J1ZmZlci4gVGhpcyBpcyB3aHkgd2Ugc2hvdWxkIGF2b2lkIHVzaW5nCgkgIHNhbWUgdmFyaWFibGUgZm9yIG1tYXAgYW5kIHZpZGVvIGJ1ZmZlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzExMjYKCjIwMTItMDMtMDIgMTE6MTc6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9maXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9paXJmaWx0ZXIuYzoKCSogZ3N0L2Zsdi9nc3RpbmRleC5jOgoJICBnc3Q6IFVwZGF0ZSBmb3IgdGhlIGdzdG1hcnNoYWwuW2NoXSByZW1vdmFsCgoyMDEyLTAzLTAyIDEwOjEzOjA4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5oOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuaDoKCSAgbWl4ZXIvY29sb3JiYWxhbmNlOiBVcGRhdGUgZm9yIEFQSSBjaGFuZ2VzCgoyMDEyLTAzLTAxIDE3OjE1OjU3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJICBhYXNpbms6IGZpeCBzdHJpZGUKCjIwMTItMDMtMDEgMTE6MzY6MzQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSAgYXVkaW9wYXJzZXJzOiBkaXNhYmxlIG5vbi1wb3J0ZWQgd2F2cGFja3BhcnNlCgoyMDEyLTAzLTAxIDExOjI5OjUwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmMKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9paXJmaWx0ZXIuYwoJICB0ZXN0cy9leGFtcGxlcy92NGwyL3Byb2JlLmMKCjIwMTItMDItMjkgMjI6MzE6MjEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5jOgoJICBnZGtwaXhidWZzaW5rOiByZW1vdmUgZGVwcmVjYXRlZCBwcm9wZXJ0eQoKMjAxMi0wMi0yOSAyMjozMDo1NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSAgZ2RrcGl4YnVmc2NhbGU6IHJlbW92ZSBkZXByZWNhdGVkIHByb3BlcnR5CgoyMDEyLTAyLTI5IDIyOjI4OjAxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZzaW5rLmg6CgkgIGdka3BpeGJ1ZnNpbms6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMi0yOSAyMjoyNToyMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5oOgoJICBnZGtwaXhidWZzY2FsZTogcG9ydCB0byAwLjExCgoyMDEyLTAyLTI5IDIyOjI0OjQ2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuaDoKCSAgZ2RrcGl4YnVmZGVjOiBwb3J0IHRvIDAuMTEKCjIwMTItMDItMjkgMTc6MjY6MDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuaDoKCSAgdXBkYXRlIGZvciBtZXRhZGF0YSBBUEkgY2hhbmdlcwoKMjAxMi0wMi0yOCAxMzo1MToxMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJICBhdWRpb3BhcnNlcnM6IGFkZCBiYXNlcGFyc2UgYmFzZWQgd2F2cGFja3BhcnNlCgoyMDEyLTAyLTI4IDExOjM4OjU5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6CgkgIHVwZGF0ZSBmb3IgbWV0YWRhdGEgdGFncwoKMjAxMi0wMi0yNyAyMzo0NjoxNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOgoJICB3YXZwYWNrZGVjOiBhZGp1c3QgdG8gYXVkaW8gZm9ybWF0IGxpbWl0YXRpb25zCgkgIC4uLiB3aGljaCBkb2VzIG5vdCBhbGxvdyBleHByZXNzaW5nIGFyYml0cmFyeSBkZXB0aCBpbiBhIEdzdEF1ZGlvRm9ybWF0LgoJICBBbHNvIGFkanVzdCB1bml0IHRlc3QgdG8gbW9kaWZpZWQgYmVoYXZpb3VyLgoKMjAxMi0wMi0yNyAyMzo0NjowOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSAgd2F2cGFja2RlYzogZGV0ZXJtaW5lIGRlcHRoIGZyb20gYnl0ZXMgcGVyIHNhbXBsZQoJICAuLi4gcmF0aGVyIHRoYW4gZnJvbSBiaXRzIHBlciBzYW1wbGUsIHNpbmNlIHNwZWMgc3RhdGVzIHZhbHVlcyBhcmUgYWxyZWFkeQoJICBsZWZ0IGp1c3RpZmllZCB3LnIudC4gYml0cyBwZXIgc2FtcGxlIGJ1dCBub3Qgdy5yLnQuIGJ5dGVzIHBlciBzYW1wbGUKCSAgKGFuZCBzbyB0aGUgbGF0dGVyIGRldGVybWluZXMgdGhlIG5vcm1hbGl6YXRpb24sIG9yIGluZGljYXRlZCBkZXB0aCkuCgoyMDEyLTAyLTI3IDIzOjQ2OjAzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICB3YXZwYWNrZGVjOiBwb3J0IHRvIGF1ZGlvZGVjb2RlcgoKMjAxMi0wMi0yNyAyMzo0NTo1NCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2VuYy5jOgoJICB3YXZwYWNrZW5jOiBwb3J0IHRvIGF1ZGlvZW5jb2RlcgoJICBBbHNvIGFkanVzdCB1bml0IHRlc3QgdG8gc2xpZ2h0bHkgbW9kaWZpZWQgYmVoYXZpb3VyLgoKMjAxMi0wMi0yNyAxNDo0NzoyNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYW5ub2RleC9nc3Rhbm5vZGV4LmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxwYXJzZXIuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbHRhZy5jOgoJKiBleHQvcHVsc2UvcHVsc2Vwcm9iZS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2lpcmZpbHRlci5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIHN5cy9vc3M0L29zczQtYXVkaW8uYzoKCSogc3lzL29zczQvb3NzNC1wcm9wZXJ0eS1wcm9iZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZmlyZmlsdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaWlyZmlsdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2ZW5jLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2F1ZGlvZngvZmlyZmlsdGVyLWV4YW1wbGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvYXVkaW9meC9paXJmaWx0ZXItZXhhbXBsZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9wdWxzZS9wdWxzZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWFsc2FzcmMtUENNQS5jOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL3Byb2JlLmM6CgkqIHRlc3RzL2ljbGVzL3Rlc3Qtb3NzNC5jOgoJICBTdXBwcmVzcyBkZXByZWNhdGlvbiB3YXJuaW5ncyBpbiBzZWxlY3RlZCBmaWxlcywgZm9yIGdfdmFsdWVfYXJyYXlfKiBtb3N0bHkKCjIwMTItMDItMjcgMTM6MDk6MzEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgc3BlZXhlbmM6IGNoYWluIHVwIHRvIHBhcmVudCBldmVudCBoYW5kbGVyCgoyMDEyLTAyLTI3IDEzOjA1OjMzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBmaXggZXZlbnQgaGFuZGxpbmcKCSAgRml4IGRvZGd5IHNlZ21lbnQgZXZlbnQgaGFuZGxpbmcKCSAgQ2hhaW4gdXAgdG8gcGFyZW50IGV2ZW50IGhhbmRsZXIKCjIwMTItMDItMjcgMDk6MTQ6MDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiB1c2UgcHVibGljIGFwaQoJICBpbnN0ZWFkIG9mIHBva2luZyBpbnRvIHRoZSBwcml2YXRlIHN0cnVjdHVyZXMgb2YgdGhlIGJhc2UgY2xhc3MKCjIwMTItMDItMjcgMDE6MDk6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIGZsdm11eCwgbWF0cm9za2FtdXgsIHF0bXV4OiBpZiBpbiBkb3VidCBhYm91dCBkb3duc3RyZWFtIHNlZWthYmlsaXR5IGRlZmF1bHQgdG8gc3RyZWFtaW5nPXRydWUKCSAgSWYgZG93bnN0cmVhbSBkaWRuJ3QgYW5zd2VyIG91ciBTRUVLSU5HIHF1ZXJ5IGFuZCB0b2xkIHVzCgkgIGl0J3Mgc2Vla2FibGUsIGRlZmF1bHQgdG8gc3RyZWFtaW5nPXRydWUuIFdlIGNvdWxkbid0IGRvCgkgIHRoaXMgaW4gMC4xMCBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgcmVhc29ucywgYnV0IHdlCgkgIGNhbiBpbiAwLjExLiBQbGF5IGl0IHNhZmUuCgoyMDEyLTAyLTI3IDAxOjAwOjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi9tYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYwoKMjAxMi0wMi0yNyAwMDo1NjozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBjb21taXQgJ2Y5MjA3NzIyY2E4ZmQ4ZGNjMWU3MjE1ZDhhZjg1ZWZlNGRlYmZkZjQnIGludG8gMC4xMQoKMjAxMi0wMi0yNyAwMDo1NTozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiBmaXggdXAgYWZ0ZXIgbWVyZ2UKCjIwMTItMDItMjcgMDA6NDg6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgY29tbWl0ICczODUxNmFkMzY3MTI4ZDgzZjllMTU2NTI5MDE4YWRiNDQzM2NkMzI4JyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYwoJICBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmMKCjIwMTItMDItMjYgMjA6Mzk6NTIgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJICBnb29tMmsxOiBmaXggY29tcGlsZXIgd2FybmluZwoKMjAxMi0wMi0yNiAyMDozMDoyNCArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiBmaXggY29tcGlsZXIgd2FybmluZwoKMjAxMi0wMi0yNSAxNTo1NToxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBjcmVhdGUgc3RyZWFtYWJsZSBvdXRwdXQgaWYgZG93bnN0cmVhbSBpcyBub3Qgc2Vla2FibGUKCSAgSWdub3JlIHRoZSAic3RyZWFtYWJsZSIgcHJvcGVydHkgc2V0dGluZyBhbmQgY3JlYXRlIHN0cmVhbWFibGUKCSAgb3V0cHV0IGlmIGRvd25zdHJlYW0gaXMga25vd24gbm90IHRvIGJlIHNlZWthYmxlIChhcyBxdWVyaWVkCgkgIHZpYSBhIFNFRUtBQkxFIHF1ZXJ5KS4KCSAgRml4ZXMgcGlwZWxpbmVzIGxpa2UgcXRtdXggISBhcHBzaW5rIHBvc3NpYmx5IGNyZWF0aW5nIHNlZW1pbmdseQoJICBjb3JydXB0ZWQgb3V0cHV0IGlmIHN0cmVhbWFibGUgaGFzIG5vdCBiZWVuIHNldCB0byB0cnVlLgoKMjAxMi0wMi0yNSAxNTo0ODo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IGNyZWF0ZSBzdHJlYW1hYmxlIG91dHB1dCBpZiBkb3duc3RyZWFtIGlzIG5vdCBzZWVrYWJsZQoJICBJZ25vcmUgdGhlICJzdHJlYW1hYmxlIiBwcm9wZXJ0eSBzZXR0aW5nIGFuZCBjcmVhdGUgc3RyZWFtYWJsZQoJICBvdXRwdXQgaWYgZG93bnN0cmVhbSBpcyBrbm93biBub3QgdG8gYmUgc2Vla2FibGUgKGFzIHF1ZXJpZWQKCSAgdmlhIGEgU0VFS0FCTEUgcXVlcnkpLgoJICBGaXhlcyBwaXBlbGluZXMgbGlrZSBmbHZtdXggISBhcHBzaW5rIHBvc3NpYmx5IGNyZWF0aW5nIHNlZW1pbmdseQoJICBjb3JydXB0ZWQgb3V0cHV0IGlmIHN0cmVhbWFibGUgaGFzIG5vdCBiZWVuIHNldCB0byB0cnVlLgoKMjAxMi0wMi0yNSAxNTo0MDozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBjcmVhdGUgc3RyZWFtYWJsZSBvdXRwdXQgaWYgZG93bnN0cmVhbSBpcyBub3Qgc2Vla2FibGUKCSAgSWdub3JlIHRoZSAic3RyZWFtYWJsZSIgcHJvcGVydHkgc2V0dGluZyBhbmQgY3JlYXRlIHN0cmVhbWFibGUKCSAgb3V0cHV0IGlmIGRvd25zdHJlYW0gaXMga25vd24gbm90IHRvIGJlIHNlZWthYmxlIChhcyBxdWVyaWVkCgkgIHZpYSBhIFNFRUtBQkxFIHF1ZXJ5KS4KCSAgRml4ZXMgcGlwZWxpbmVzIGxpa2Ugd2VibW11eCAhIGFwcHNpbmsgY3JlYXRpbmcgc2VlbWluZ2x5CgkgIGNvcnJ1cHRlZCBvdXRwdXQgaWYgc3RyZWFtYWJsZSBoYXMgbm90IGJlZW4gc2V0IHRvIHRydWUuCgoyMDEyLTAyLTI0IDExOjAzOjQ4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNzZXR0ZXIuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICB1cGRhdGUgZm9yIGJhc2V0cmFuc2Zvcm0gY2hhbmdlCgoyMDEyLTAyLTI0IDEwOjI2OjI2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6CgkgIHVwZGF0ZSBmb3IgbWV0YWRhdGEgY2hhbmdlCgoyMDEyLTAyLTIzIDA4OjQyOjI1IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL2VmZW5jZS5jOgoJKiBnc3QvZGVidWd1dGlscy9lZmVuY2UuaDoKCSogZ3N0L2RlYnVndXRpbHMvZWZlbmNlLnZjcHJvajoKCSAgZWZlbmNlOiByZW1vdmUgcGx1Z2luCgkgIFZhbGdyaW5kIGlzIG11Y2ggbW9yZSB1c2VmdWwgdGhlc2UgZGF5cy4KCjIwMTItMDItMjMgMTI6MDU6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTkVXUzoKCSogUkVMRUFTRToKCSAgVXBkYXRlIE5FV1MgYW5kIFJFTEVBU0UgYXMgd2VsbAoKMjAxMi0wMi0yMyAxMTowNzozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQnVtcCB2ZXJzaW9uIGFmdGVyIHJlbGVhc2UKCjIwMTItMDItMjMgMTI6MDM6MjQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlaWlyZmlsdGVyLmg6CgkgIGF1ZGlvZng6IHJlbW92ZSB0cmFuc2Zvcm0gbG9jayB1c2FnZQoKMjAxMi0wMi0yMyAxMToxNjoyMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuaDoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICB1cGRhdGUgZm9yIGJhc2V0cmFuc2Zvcm0gbG9jayByZW1vdmFsCgoyMDEyLTAyLTIyIDIzOjM2OjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJICBkZWJ1Z3V0aWxzOiBkaXNhYmxlIGVmZW5jZSBwbHVnaW4gcHJvcGVybHkKCSAgV2UgZG9uJ3Qgd2FudCBpdCBidWlsdCBpZiBtbWFwIGlzbid0IGF2YWlsYWJsZSBlaXRoZXIuLgoKMjAxMi0wMi0yMiAxNzozOToxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IGZpeCBnZXRfY2FwcyBmdW5jdGlvbiBzb21lIG1vcmUgc28gdGhhdCBhbGwgc3RydWN0dXJlcyBoYXZlIGNoYW5uZWwgaW5mbwoJICBTZXQgY2hhbm5lbHMgYW5kIGNoYW5uZWwtbGF5b3V0IG9uIHRoZSByaWdodCBzdHJ1Y3R1cmU7IHRoYXQgaXMsIHRoZQoJICBzdHJ1Y3R1cmUgd2UgYXJlIGdvaW5nIHRvIGFwcGVuZCB0byB0aGUgY2FwcyB3ZSBhcmUgYnVpbGRpbmcsIGFuZCBub3QKCSAgdGhlIHN0cnVjdHVyZSB3ZSBhcmUgdXNpbmcgYXMgYSB0ZW1wbGF0ZSBmb3IgYWxsIHRoZSBzdHJ1Y3R1cmVzLiBGaXhlcwoJICBmaXJzdCBzdHJ1Y3R1cmUgb2YgdGhlIHJldHVybmVkIGNhcHMgbm90IGhhdmluZyBhbnkgY2hhbm5lbCBpbmZvIHNldAoJICBvbiBpdC4KCjIwMTItMDItMjIgMTc6MDk6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBtaWNyb29wdGltaXNhdGlvbjogYXZvaWQgdW5uZWNlc3NhcnkgbGlzdCBhbmQgc3RyaW5nIGNvcGllcwoKMjAxMi0wMi0yMiAxNzowMzo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IGF1ZGlvIGNhcHMgaGF2ZSBhICpsaXN0KiBvZiBmb3JtYXRzLCBub3QgYW4gYXJyYXkgb2YgZm9ybWF0cwoJICBBIGxpc3Qgb2YgdGhpbmdzIGluIGNhcHMgaXMgc29tZXRoaW5nIHdoZXJlIG9uZSBpcyBwaWNrZWQgaW4gdGhlCgkgIGNvdXJzZSBvZiBuZWdvdGlhdGlvbi4gQW4gYXJyYXkgaXMgYWx3YXlzIHNvbWV0aGluZyB0aGF0IG9ubHkgbWFrZXMKCSAgc2Vuc2UgYXMgYSB3aG9sZSBpbiB0aGF0IG9yZGVyLgoKMjAxMi0wMi0yMiAxODowMjoyNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IHJlbW92ZSBwb3N0LXBvcnQgYm9ndXMgX3VucmVmCgoyMDEyLTAyLTIyIDE3OjAwOjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogcmVtb3ZlIGJvZ3VzIHBhZCBsb2NraW5nIHRoYXQgY2F1c2VzIGRlYWRsb2NrcwoJICBJdCdzIG5vdCBjbGVhciB3aHkgdGhlIHBhZCBvYmplY3QgbG9jayBpcyB0YWtlbiBoZXJlLiBCdXQKCSAgZ3N0X3BhZF97aGFzLGdldH1fY3VycmVudF9jYXBzKCkgd2lsbCB0cnkgdG8gdGFrZSB0aGUgbG9jawoJICBhcyB3ZWxsIGFuZCBkZWFkbG9jaywgc2luY2UgaXQncyBub3QgcmVjdXJzaXZlLgoKMjAxMi0wMi0yMiAxNjo1OTo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IHNldCByaWdodCBudW1iZXIgb2YgY2hhbm5lbHMgb24gY2FwcyBpbiBnZXRfY2FwcyBmdW5jdGlvbgoKMjAxMi0wMi0yMSAxNzoxNjozMiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBhdXRvZ2VuLnNoOgoJICBhdXRvZ2VuOiBhdm9pZCB0b3VjaGluZyAucG8gZmlsZXMgZHVyaW5nICdtYWtlJwoJICBBIHNpbXBsZSB3b3JrYXJvdW5kIHRvIGRlYWwgd2l0aCBHTlUgZ2V0dGV4dCBhdXRvbWFrZSBpbnRlZ3JhdGlvbgoJICBmYWlsaW5nIHRvIGRlYWwgd2l0aCBnaXQuICBGaXhlczogIzY2OTIwNwoKMjAxMi0wMi0yMiAwMjowNjoxNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOgoJICB1cGRhdGUgZm9yIG5ldyBtZW1vcnkgYXBpCgoyMDEyLTAyLTIxIDE3OjU3OjQ0ICswMTAwICBWaW5jZW50IFVudHogPHZ1bnR6QGdub21lLm9yZz4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJICBwdWxzZTogRml4IGEgYnVpbGQgd2FybmluZyB3aGVuIGNvbXBpbGluZyB3aXRoIGFzc2VydHMgZGlzYWJsZWQKCSAgUmV0dXJuIGEgdmFsdWUgZXZlbiBpZiB0aGUgY29kZSB3aWxsIG5ldmVyIGJlIHJlYWNoZWQsIHRvIG1ha2UgY29tcGlsZXJzCgkgIGhhcHB5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcwNTYxCgoyMDEyLTAyLTIxIDE4OjQyOjMxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5oOgoJICBtcGVnYXVkaW9wYXJzZTogc3VwcG9ydCBwYXJzaW5nIGZyZWVmb3JtIGJpdHJhdGUgc3RyZWFtCgoyMDEyLTAyLTIxIDE4OjM5OjE4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuaDoKCSAgbW9ub3Njb3BlOiBwb3J0IHRvIDAuMTEKCjIwMTItMDItMjEgMTA6NTM6NTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDEyLTAyLTIwIDEyOjIyOjEyIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IEZvcmNlIGJhc2VsaW5lIGlzIHByb2ZpbGUtbGV2ZWwtaWQgaXMgdW5zcGVjaWZpZWQKCjIwMTItMDItMjEgMTA6NDA6MDAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgaWQzdjJtdXg6IEZpeCBtZXJnZSBlcnJvcgoKMjAxMi0wMi0yMCAxMjoyMjoxMiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBGb3JjZSBiYXNlbGluZSBpcyBwcm9maWxlLWxldmVsLWlkIGlzIHVuc3BlY2lmaWVkCgoyMDEyLTAyLTIwIDE2OjM1OjE4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgZml4IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEyLTAxLTI2IDAzOjI5OjI4IC0wNTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgZml4IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEyLTAxLTI2IDA2OjU4OjQ2IC0wNTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBGaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMTItMDItMTggMTE6Mzg6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSAgdGVzdHM6IGZpeCB1cCBsZXZlbCB0ZXN0IGZvciBHc3RWYWx1ZUxpc3QgLT4gR1ZhbHVlQXJyYXkgY2hhbmdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzAzMDMKCjIwMTItMDItMTYgMTg6MDE6MjkgKzAyMDAgIFBldGVyaXMgS3Jpc2phbmlzIDxwZWNpc2tAZ21haWwuY29tPgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIGxldmVsOiB1c2UgR1ZhbHVlQXJyYXkgaW5zdGVhZCBvZiBHc3RWYWx1ZUxpc3QgaW4gbWVzc2FnZXMKCSAgVXBkYXRlZCBHc3RMZXZlbCBlbGVtZW50IHRvIHVzZSBHVmFsdWVBcnJheSBpbnN0ZWFkIG9mCgkgIEdzdFZhbHVlTGlzdCBmb3Igcm1zL3BlYWsvZGVjYXkga2V5cyBhdHRhY2hlZCB0byBlbGVtZW50CgkgIG1lc3NhZ2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzAzMDMKCjIwMTItMDItMTggMDA6MDA6NTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHdpbjMyOiBiYWNrIHRvIGRldmVsb3BtZW50CgoyMDEyLTAyLTE3IDIzOjU0OjI5ICswMTAwICBEb21pbmlxdWUgTGV1ZW5iZXJnZXIgPGRvbWluaXF1ZS1nbm9tZXppbGxhIGF0IGxldWVuYmVyZ2VyLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgTm8gbG9uZ2VyIHJlZmVyZW5jZSBkZXByZWNhdGVkIGhlYWRlciBmaWxlcyB3aGlsZSBidWlsZGluZyBkb2NzLgoKMjAxMi0wMi0xNyAyMzo0OToyMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jCgoyMDEyLTAyLTE3IDE3OjIxOjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIGVxdWFsaXplcjogZml4IHN3aXRjaGluZyBmcm9tIHBhc3N0aHJvdWdoIHRvIG5vbi1wYXNzdGhyb3VnaCB3aGVuIHBhcmFtZXRlcnMgY2hhbmdlCgkgIGNvbW1pdCBiNWJmMDI5NCBtb3ZlZCB0aGUgaWYobmVlZF9uZXdfY29lZmZpY2llbnRzKSBzZXRfcGFzc3Rocm91Z2goZXF1KQoJICBhZnRlciB0aGUgaWYoaXNfcGFzc3Rocm91Z2gpIHJldHVybiBGTE9XX09LIHNob3J0Y3V0LCBzbyB0aGUgcGFzc3Rocm91Z2gKCSAgbW9kZSB3b3VsZCBuZXZlciBnZXQgdXBkYXRlZCBldmVuIGlmIHRoZSBjb2VmZmljaWVudHMgY2hhbmdlLgoJICBGaXhlcyBlcXVhbGl6ZXItdGVzdCBkb2luZyAuLiBub3RoaW5nLgoKMjAxMi0wMi0xNyAxNzo1NzowMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSAgZ29vbSo6IGZpeCBsZWFrZWQgY2FwcyBldmVudAoKMjAxMi0wMi0xNyAxMzoyNjo1MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiBwYXJzZSBlaXRoZXIgWGluZyBvciBWQlJJIGRhdGEKCSAgLi4uIGFuZCBhdm9pZCBjb25mdXNpbmcgZGVidWcgbWVzc2FnZSBjbGFpbWluZyBuZWl0aGVyIHByZXNlbnQuCgoyMDEyLTAyLTE3IDE0OjM4OjAzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2s6IGZpeCBzZWdtZW50IHVwZGF0ZQoKMjAxMi0wMi0xNyAxMTowNToyNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMS4xID09PQoKMjAxMi0wMi0xNyAxMTowNDo0NyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJKiB3aW4zMi9jb21tb24vZ3N0cnRwYmluLW1hcnNoYWwuYzoKCSogd2luMzIvY29tbW9uL2dzdHJ0cGJpbi1tYXJzaGFsLmg6CgkgIFJFTEVBU0UgMC4xMS4xCgoyMDEyLTAyLTE2IDIzOjMzOjE1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgZ29vbTogZml4IGJ1ZmZlciBsZWFrCgoyMDEyLTAyLTE2IDIzOjQwOjU4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSAgZ29vbTJrMTogdXNlIHNvbWUgbW9yZSBib2lsZXJwbGF0ZQoKMjAxMi0wMi0xNiAyMzozMzowMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5oOgoJICBnb29tMmsxOiBwb3J0IHRvIDAuMTEKCjIwMTItMDItMTYgMTU6MzE6NTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSAgc2hvdXQyOiB1c2Ugc29tZSBtb3JlIGJvaWxlcnBsYXRlCgoyMDEyLTAyLTE2IDE1OjI5OjM0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSAgc2hvdXQyOiBwb3J0IHRvIDAuMTEKCjIwMTItMDItMTQgMTE6NTY6MDAgKzAxMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBnc3QvaW50ZXJsZWF2ZS9NYWtlZmlsZS5hbToKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmg6CgkqIGdzdC9pbnRlcmxlYXZlL3BsdWdpbi5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9wbHVnaW4uaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOgoJICBpbnRlcmxlYXZlOiBwb3J0IHRvIDAuMTEKCSAgUG9ydCBvZiB0aGUgaW50ZXJsZWF2ZSBlbGVtZW50IGFuZCBpdHMgdW5pdHRlc3RzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY5NjQzCgoyMDEyLTAyLTE2IDE0OjIzOjUwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMi0wMi0xNiAxNzoxNDoyMCArMDgwMCAgR2FyeSBDaGluZy1QYW5nIExpbiA8Y2hpbmdwYW5nQGdtYWlsLmNvbT4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMnNyYzogZmFpbHVyZSB0byBxdWVyeSBzb21lIG9wdGlvbmFsIGNvbnRyb2xzIGlzIG5vdCBhIGZhdGFsIGVycm9yCgkgIERvbid0IHBvc3QgYSAoZmF0YWwpIGVycm9yIG1lc3NhZ2Ugb24gdGhlIGJ1cyBqdXN0IGJlY2F1c2Ugd2UKCSAgZmFpbGVkIHRvIHF1ZXJ5IHNvbWUgY29udHJvbC4gRml4ZXMgaXNzdWUgd2l0aCBidWlsdC1pbgoJICBTdXlpbiBDb3JwIHdlYmNhbSBmb3IgSFAgbm90ZWJvb2sgKHVzYmlkIDA2NGU6ZTI4YSkgb24KCSAgT3BlblN1c2UgMTIuMSwgd2hlcmUgcXVlcnlpbmcgcmVkL2JsdWUgYmFsYW5jZSBmYWlscy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MDE5NwoKMjAxMi0wMi0xNiAxMjo1OToxMCArMDAwMCAgVHV1a2thIFBhc2FuZW4gPHR1dWtrYS5wYXNhbmVuQGlsbWkuZmk+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDJzcmM6IGZpeCBmb3Igd2ViY2Ftc3R1ZGlvIHZsb29wYmFjawoJICBCZWNhdXNlIHZsb29iYWNrIGVtaXRzIDI1IC0gRU5PVFRZIGFuZCBubyBFSU5WQUwgdjRsMnNyYyB0aG91Z2h0IGl0CgkgIGNhbid0IGhhbmRsZSB0aGlzIGFuZCBkb2VzIG5vdCB3b3JrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY5NDU1CgoyMDEyLTAyLTE2IDExOjIxOjI4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGRlY2xhcmUgdmFyaWFibGVzIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGJsb2NrCgkgIEl0J3MgaG93IHdlIHJvbGwuIEZpeGVzICdJU08gQzkwIGZvcmJpZHMgbWl4ZWQgZGVjbGFyYXRpb25zIGFuZCBjb2RlJwoJICBjb21waWxlciB3YXJuaW5nLgoKMjAxMi0wMi0xNSAyMzo1NTo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSAgZXhhbXBsZXM6IGZpeCBzcGVjdHJ1bSBleGFtcGxlIGJ1aWxkIGlzc3VlcwoJICBGaW5kIGZmdCBoZWFkZXJzIGluIHVuaW5zdGFsbGVkIHNldHVwLCBmaXggTElCUyBvcmRlci4KCjIwMTItMDItMTUgMTI6NDE6NDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiByZW1vdmUgc29tZSB1bnVzZWQgZGVjbGFyYXRpb25zCgoyMDEyLTAyLTE1IDExOjI1OjQ1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6CgkgIHNwZWN0cnVtLWRlbW86IHNob3cgdGhlIGVmZmVjdCBvZiBmYXN0LW1vZGUKCjIwMTItMDItMTQgMTI6MjY6MzcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJICBhc3BlY3RyYXRpb2Nyb3A6IGZpeCBjYXBzIHJlZmNvdW50CgoyMDEyLTAyLTE0IDExOjIyOjQ2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2VmZmVjdHYuYzoKCSAgdGVzdHM6IGZpeCB0ZXN0LCB1c2UgdmlkZW9jb252ZXJ0CgoyMDEyLTAyLTE0IDEwOjUxOjM4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZsYWNwYXJzZS5jCgoyMDEyLTAyLTA5IDEzOjQxOjUzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IGFkanVzdCB0byBtb2RpZmllZCBiYXNlcGFyc2UgQVBJCgoyMDEyLTAyLTEzIDE3OjEzOjE3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIHVwZGF0ZSBmb3IgbWVtb3J5IGFwaSBjaGFuZ2UKCjIwMTItMDItMTMgMTI6MDY6MzcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmxhY3BhcnNlLmM6CgkgIHRlc3RzOiBmbGFjcGFyc2U6IGNoZWNrIGFuZCBjb21wYXJlIGludGVuZGVkIGRhdGEKCjIwMTItMDItMTIgMTc6MDM6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luL21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L3RhZ2xpYi9nc3RhcGV2Mm11eC5jYwoJICBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjCgkgIGV4dC90YWdsaWIvZ3N0dGFnbGlibXV4LmMKCSAgZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguaAoKMjAxMi0wMi0xMiAxNjoyMjoyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGFnbGliL01ha2VmaWxlLmFtOgoJKiBleHQvdGFnbGliL2dzdGFwZXYybXV4LmNjOgoJKiBleHQvdGFnbGliL2dzdGFwZXYybXV4Lmg6CgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguaDoKCSogZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguYzoKCSogZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguaDoKCSogZXh0L3RhZ2xpYi9nc3R0YWdsaWJwbHVnaW4uYzoKCSAgdGFnbGliOiBwb3J0IHRvIEdzdFRhZ011eCBiYXNlIGNsYXNzCgoyMDEyLTAyLTEyIDEyOjI0OjUwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90YWdsaWIvZ3N0dGFnbGlibXV4LmM6CgkgIHRhZ2xpYjogZmluaXNoIG9mZiBhIGZldyBtaXNzZWQgdmFyaWFibGUgY2hhbmdlcwoJICBMb2NhbCB2YXJpYWJsZXMgYXJlIG5vdyB1bnVzZWQsIGFuZCB0aGUgdmFsdWVzIGZyb20gdGhlIHNlZ21lbnQgY29weQoJICBhcmUgdXNlZCBpbnN0ZWFkLCBzbyByZW1vdmUgdGhlIG5vdyB1c2VsZXNzIGxvY2FsIHZhcmlhYmxlcyBhbmQgd3JpdGUKCSAgdG8gdGhlIHNlZ21lbnQgd2hlcmUgYXBwcm9wcmlhdGUuCgoyMDEyLTAyLTEwIDE2OjIzOjE0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9mbGFjL2dzdGZsYWNlbmMuYwoJICBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYwoJICBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmMKCSAgZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmMKCSAgZXh0L3B1bHNlL3BsdWdpbi5jCgkgIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmMKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jCgkgIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jCgoyMDEyLTAyLTA4IDIzOjAzOjI4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBhZGQgc3RyZWFtLWZvcm1hdCBhbmQgYWxpZ25tZW50IHRvIGgyNjQgc2luayBjYXBzCgkgIFdlJ3JlIGhhcHB5IHRvIGFjY2VwdCBib3RoIGJ5dGUtc3RyZWFtIGFuZCBhdmMsIGFkdmVydGlzZQoJICB0aGF0IG9uIHRoZSBzaW5rIGNhcHMgYW5kIGZpeCB1cCBfZ2V0X2NhcHMoKSBmdW5jdGlvbiB0bwoJICBub3QganVzdCByZXR1cm4gInZpZGVvL3gtaDI2NCIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDY2NjIKCjIwMTItMDItMDggMjA6NTg6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiBhZGQgc3RyZWFtLWZvcm1hdCBhbmQgYWxpZ25tZW50IGZpZWxkcyB0byBzcmMgdGVtcGxhdGUgY2FwcwoJICBCZWNhdXNlIHdlIGNhbi4gQW5kIHNvIHdlIGdldCBhIHdhcm5pbmcgaWYgd2UgdHJ5IHRvIG91dHB1dCBhdmMgd2l0aAoJICBuYWwgYWxpZ25tZW50IG9yIHNvbWVzdWNoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA2NjYyCgoyMDEyLTAyLTEwIDEzOjQ0OjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHRlc3RzOiBjbGVhbiB1cCBydHAtcGF5bG9hZGluZyB0ZXN0IGEgbGl0dGxlCgkgIEZlZWQgZGF0YSBpbnRvIHRoZSBwaXBlbGluZSB1c2luZyBhcHBzcmMgaW5zdGVhZCBvZiBmZHNyYyBhbmQKCSAgYSBwaXBlLiBTdG9yZSB1bnNpZ25lZCBieXRlIHZhbHVlcyBpbiBndWludDggaW5zdGVhZCBvZiBjaGFyLgoJICBHZXR0aW5nIHJpZCBvZiB0aGUgY2Fwc2ZpbHRlciBhbHNvIGhlbHBzIHRvIGF2b2lkICdmb3JtYXQgaXMKCSAgbm90IGZ1bGx5IHNwZWNpZmllZCcgd2FybmluZ3Mgd2hlbiBwdXNoaW5nICJ2aWRlby94LWgyNjQiIGRhdGEKCSAgaW50byBydHBoMjY0cGF5IHdpdGggZnVsbHkgc3BlY2lmaWVkIGgyNjQgY2FwcyBpbiB0aGUgc2luayB0ZW1wbGF0ZS4KCjIwMTItMDItMTAgMTA6MDc6MzQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdjogdXNlIGRlZmF1bHQgcGFkIHF1ZXJ5CgkgIFdlIG5lZWQgdG8gY2hhaW4gdXAgdW5rbm93biBxdWVyaWVzIHRvIHRoZSBkZWZhdWx0IHF1ZXJ5IGhhbmRsZXIgaW5zdGVhZCBvZgoJICBibGluZGx5IGZvcndhcmRpbmcgdGhlbS4gSW4gdGhpcyBjYXNlIGl0IGNhdXNlZCB0aGUgY2FwcyBxdWVyeSB0byBiZSBmb3J3YXJkZWQKCSAgdG8gdGhlIHVwc3RyZWFtIHR5cGVmaW5kIGFuZCByZXR1cm4gdGhlIHdyb25nIHR5cGUgZm9yIHRoZSBhdWRpby92aWRlbyBwYWQuCgoyMDEyLTAyLTA5IDIyOjEyOjE0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWdhdWRpb3BhcnNlLmM6CgkgIHRlc3RzOiBtcGVnYXVkaW9wYXJzZTogcmVtb3ZlIHN0cmF5IGRlY2xhcmF0aW9uCgoyMDEyLTAyLTA5IDIyOjA3OjQ4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGNvcnJlY3RseSBzZXQgQURJRiBzcmMgY2FwcwoKMjAxMi0wMi0wOSAyMjoxMDowNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBwcmV2ZW50IGEgZmV3IGRpcmVjdCBleGl0cyB3aXRob3V0IGNsZWFudXAKCjIwMTItMDItMDkgMjI6MDc6MTggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBzaGlmdCBpbiBwcm9wZXIgZGlyZWN0aW9uIGZvciBhdWRpbyBzYW1wbGUgY29udmVyc2lvbgoKMjAxMi0wMi0wOSAxODowOTo0NSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOgoJICB0ZXN0czogZml4IGNvbXBpbGF0aW9uCgoyMDEyLTAyLTA5IDEwOjExOjQ4ICswMTAwICBNYXJjIExlZW1hbiA8bWFyYy5sZWVtYW5AZ21haWwuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiB0eXBvIGZpeCAoYnl0ZXMgc2VuZCAtPiBieXRlcyBzZW50KQoKMjAxMi0wMi0wOCAxNjozNDowMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICBHU1RfRkxPV19XUk9OR19TVEFURSAtPiBHU1RfRkxPV19GTFVTSElORwoKMjAxMi0wMi0wOCAxNjozNzoxMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBHU1RfRkxPV19XUk9OR19TVEFURSAtPiBHU1RfRkxPV19GTFVTSElORwoKMjAxMi0wMi0wNyAxNDoxMDo0NCAtMDgwMCAgUmFscGggR2lsZXMgPGdpbGVzQG1vemlsbGEuY29tPgoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSAgc2hvdXQyc2VuZDogc2VuZCB2aWRlby93ZWJtIHRocm91Z2ggbGlic2hvdXQuCgkgIFRoaXMgcmVxdWlyZXMgU0hPVVRfRk9STUFUX1dFQk0sIGFkZGVkIGluIGxpYnNob3V0IDIuMy4wLAoJICBzbyB2aWRlby93ZWJtIHN1cHBvcnQgaXMgY29udGluZ2VudCBvbiB0aGF0IHN5bWJvbCBiZWluZwoJICBkZWZpbmVkLgoJICBBbHNvIGFuIGluZGVudGF0aW9uIGNoYW5nZSByZXF1aXJlZCBieSB0aGUgcHJlLWNvbW1pdCBob29rLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY5NTkwCgoyMDEyLTAxLTMwIDE2OjQwOjE5ICswMTAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaW50ZXJsZWF2ZS9NYWtlZmlsZS5hbToKCSogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5oOgoJKiBnc3QvaW50ZXJsZWF2ZS9wbHVnaW4uYzoKCSogZ3N0L2ludGVybGVhdmUvcGx1Z2luLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOgoJICBkZWludGVybGVhdmU6IHBvcnQgdG8gMC4xMQoJICBQb3J0IG9mIHRoZSBkZWludGVybGVhdmUgZWxlbWVudCBhbmQgaXRzIHVuaXR0ZXN0cy4gVGhlIGludGVybGVhdmUKCSAgZWxlbWVudCB3aWxsIGJlIHBvcnRlZCBhcyBwYXJ0IG9mIGFub3RoZXIgcGF0Y2gsIGhlbmNlIGRpc2FibGluZyBpdAoJICBmb3Igbm93LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY4ODQ3CgoyMDEyLTAyLTA3IDIzOjQxOjEzICswMjAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSAgZGlyZWN0c291bmRzaW5rOiBGaXggY29tcGlsaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njk2MDcKCjIwMTItMDItMDggMDA6MDg6NDkgKzAyMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5jOgoJICB3YXZlZm9ybXNpbms6IFBvcnQgdG8gMC4xMQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY5NjEyCgoyMDEyLTAyLTA3IDIxOjU3OjQ3ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IHJld29yayB0cmFuc3BvcnQgc3VwcG9ydAoJICBNb3ZlIGNvbW1vbiBjb2RlIHRvIGphY2tjbGllbnQuIFRoZXJlIHdlIGNhbiBhbHNvIGhhbmRsZSB0aGUgcmVxdWVzdCBzdGF0ZQoJICBtZXNzYWdlIGluIGEgYmV0dGVyIHdheSwgYXMgdGhlIGVsZW1lbnQgY2FsbGJhY2tzIGFyZSBvbmx5IHJ1biBpZiB0aGUgZWxlbWVudCBpcwoJICBhY3RpdmUuCgoyMDEyLTAyLTA3IDEwOjQ3OjE5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXBldjJtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzdjJtdXguYzoKCSAgdGVzdHM6IGltcHJvdmUgdGFnbXV4IHRlc3RzCgoyMDEyLTAyLTA3IDEwOjI5OjExICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguYzoKCSAgdGFnbGliOiBmaXggb2JqZWN0IHJlZ2lzdHJhdGlvbgoJICBXZSBjYW4ndCB1c2UgR19ERUZJTkVfVFlQRSBiZWNhdXNlIHRoZSBjbGFzcyBpcyBub3Qgc2V0IGluIHRoZSBjbGFzc19pbml0IGFuZCB3ZQoJICBuZWVkIGl0IHRvIGdldCB0aGUgc3JjcGFkIHRlbXBsYXRlLgoJICBGaXggYSBjYXBzIGxlYWsKCjIwMTItMDItMDcgMTA6MTY6MzIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVnZW5jLmM6CgkgIHRlc3RzOiBmaXgganBlZyB0ZXN0CgoyMDEyLTAyLTA3IDEwOjE1OjUxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cDogZml4IGNhcHMKCjIwMTItMDItMDcgMDk6NTQ6MDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSAgZWZmZWN0dHY6IGZpeCBpbml0aWFsaXNhdGlvbgoKMjAxMi0wMi0wNyAwOTo0MjowNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIHk0bTogZml4IG5lZ290aWF0aW9uCgoyMDEyLTAyLTA3IDA5OjQxOjUxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9maWx0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMveTRtZW5jLmM6CgkgIHRlc3RzOiBmaXggbW9yZSB0ZXN0cwoKMjAxMi0wMi0wNiAyMjoxMzo1MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9kdi9NYWtlZmlsZS5hbToKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkqIGV4dC9kdi9nc3RkdmRlYy5oOgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5oOgoJICBkdjogcG9ydCB0byAwLjExCgoyMDEyLTAyLTA2IDE4OjM1OjAxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdsaW1pdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jndm9sdW1lLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWN0cnVtLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOgoJICB0ZXN0OiBmaXggbW9yZSB0ZXN0cwoKMjAxMi0wMi0wNiAxNTo1Mjo0OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM2RlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJICB0ZXN0czogZml4IG1vcmUgdGVzdHMKCjIwMTItMDItMDYgMTU6NTI6MzYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdjogZml4IGNhcHMKCjIwMTItMDItMDYgMTU6MjA6NTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9lcXVhbGl6ZXIuYzoKCSAgaWlyZXF1YWxpemVyOiBmaXggZXF1YWxpemVyIGFuZCB1bml0IHRlc3QKCjIwMTItMDItMDYgMTM6NDQ6MjAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Bhbm9yYW1hLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNiYW5kLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNsaW1pdC5jOgoJICB0ZXN0czogZml4IHNvbWUgbW9yZSB0ZXN0cwoKMjAxMi0wMi0wNiAxMzo0Mzo0OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogdGFrZSB0aGUgcGFkIGZyb20gY29sbGVjdHBhZHMyIGNvcnJlY3RseQoKMjAxMi0wMi0wNiAxMzoyOToyNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaWlyZmlsdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaW52ZXJ0LmM6CgkgIHRlc3RzOiBmaXggbW9yZSB1bml0IHRlc3RzCgoyMDEyLTAyLTA2IDEzOjI4OjU1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkgIGF1ZGlvZHluYW1pYzogZml4IG5lZ290aWF0aW9uCgoyMDEyLTAxLTI4IDExOjEzOjE2ICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBhdm9pZCBwb3N0aW5nIGludmFsaWQgZHVyYXRpb24gZm9yIGVhY2ggZnJhbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NjU4MwoKMjAxMi0wMi0wNiAxMDowNzowNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvYW1wbGlmeS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJiYW5kLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYmxpbWl0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZHluYW1pYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2VjaG8uYzoKCSAgdGVzdHM6IGZpeCBtb3JlIHRlc3RzCgoyMDEyLTAyLTA2IDA5OjQ5OjM4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNwZWN0cmF0aW9jcm9wLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSAgdGVzdHM6IGltcHJvdmUgc29tZSB0ZXN0cwoKMjAxMi0wMi0wNiAwOToyMzo0OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICB0ZXN0czogZml4IGppdHRlcmJ1ZmZlciB0ZXN0CgoyMDEyLTAyLTA2IDA5OjIzOjA3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogZml4IGNhcHMgYWZ0ZXIgcHQgY2hhbmdlCgoyMDEyLTAyLTA2IDA5OjE4OjE3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogZml4IGNhcHMgbGVhawoKMjAxMi0wMi0wMyAyMjowNTo1OSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcGx1Z2luLmM6CgkgIHB1bHNlYXVkaW9zaW5rOiBMb3dlciByYW5rIHRvIHByZXZlbnQgYXV0b3BsdWdnaW5nCgkgIHB1bHNlYXVkaW9zaW5rIGJyZWFrcyB2aXN1YWxpc2F0aW9ucyBpbiBpdHMgY3VycmVudCBmb3JtLCBzbyBsZXQncwoJICBwcmV2ZW50IGl0IGZyb20gYmVpbmcgYXV0b3BsdWdnZWQgZm9yIHRoZSB0aW1lIGJlaW5nLgoJICBUaGUgYmVzdCB3ZSBjYW4gaG9wZSB0byBkbyBpbiB0aGUgMC4xMCBzZXJpZXMgaXMgcXVlcnkgdGhlIGxpc3Qgb2YKCSAgYXZhaWxhYmxlIHNpbmtzIGFuZCB0aGVpciBmb3JtYXRzLCBhbmQgZXhwb3NlIHRoZXNlIGFzIHRoZSBiaW4ncyBzaW5rcGFkCgkgIGNhcHMuIFdoaWxlIHRoaXMgaXMgbm90IGEgY29tcHJlaGVuc2l2ZSBzb2x1dGlvbiwgaXQgd2lsbCBtYWtlIHN1cmUgdGhhdAoJICB3ZSdyZSBvbmx5IHRyeWluZyB0byBzdXBwb3J0IGNvbXByZXNzZWQgZm9ybWF0cyBpZiB3ZSdyZSBjZXJ0YWluIHRoYXQKCSAgb25lIGV4aXN0cy4KCSAgVGhlIGxvbmctdGVybSBmaXggZm9yIHRoaXMgd2lsbCBiZSBpbiB0aGUgZm9ybSBvZiBwcm9wZXIgdXBzdHJlYW0KCSAgcmVuZWdvdGlhdGlvbiBzdXBwb3J0IGluIHRoZSAwLjExLzEuMCBzZXJpZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjYzNjEKCjIwMTItMDItMDMgMTc6MjM6NDggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6CgkgIHRlc3RzOiBmaXggbW9yZSB0ZXN0cwoKMjAxMi0wMi0wMyAxNjoxMzo1MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FwZXYybXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZmlyZmlsdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaWlyZmlsdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzdjJtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdmVuYy5jOgoJICB0ZXN0czogZml4IHNvbWUgbW9yZSB0ZXN0cwoKMjAxMi0wMi0wMyAxNjoxMjo1OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGZpeCBzcmNwYWQgY2FwcyBoYW5kbGluZwoKMjAxMi0wMi0wMyAxNjoxMjoyNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzoKCSAgY21tbGVuYzogZml4IGNhcHMgaGFuZGxpbmcKCjIwMTItMDItMDMgMTQ6NTM6MzEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBmaXggZXZlbnQgbGVhayB3aGVuIHRoZXJlIGlzIG5vIHBlZXIgb24gdGhlIHNyYyBwYWQKCjIwMTItMDItMDIgMTY6MjE6MjkgKzAwMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUKCjIwMTItMDItMDIgMTI6Mjc6MDkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBzcGVjaWZ5IHdlIG9ubHkgYWNjZXB0IHJhdyBBQUMgaW4gdGVtcGxhdGUgY2FwcwoJICBObyBoZWFkZXIgc2VlbXMgdG8gYmUgYWRkZWQsIGFuZCB0aGUgY29kZWMgSUQgaXMgdGhlIHNhbWUgYXMgdXNlZAoJICBmb3IgcmF3IGJ5IGZsdmRlbXV4LCBzbyByYXcgc2VlbXMgdGhlIG9ubHkgc3VwcG9ydGVkIGNhc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjUzOTQKCjIwMTItMDItMDIgMTI6MjU6MjEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogc3BlY2lmeSB3ZSBvbmx5IG91dHB1dCByYXcgQUFDIGluIHRlbXBsYXRlIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTM5NAoKMjAxMi0wMi0wMSAxODowMToyNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguY2M6CgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkqIGV4dC90YWdsaWIvZ3N0dGFnbGlibXV4LmM6CgkqIGV4dC90YWdsaWIvZ3N0dGFnbGlibXV4Lmg6CgkgIHRhZ2xpYjogcG9ydCB0byAwLjExCgoyMDEyLTAyLTAxIDE2OjQwOjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hbm5vZGV4L01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2F1ZGlvZngvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9NYWtlZmlsZS5hbToKCSAgYnVpbGQ6IGlnbm9yZSBHVmFsdWVBcnJheSBkZXByZWNhdGlvbiB3YXJuaW5ncyBmb3IgdGhlIHRpbWUgYmVpbmcKCSAgdW50aWwgdGhpcyBnZXRzIHNvcnRlZCBvdXQgd2l0aCB0aGUgR0xpYiBmb2xrcyBhbmQgd2UgaGF2ZSBhCgkgIHZpYWJsZSBhbHRlcm5hdGl2ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NzIyOAoKMjAxMi0wMi0wMSAxNjozNjo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2Vwcm9iZS5jOgoJKiBleHQvcHVsc2UvcHVsc2Vwcm9iZS5oOgoJICBwdWxzZTogZGlzYWJsZSBzb21lIHVudXNlZCBwcm9wZXJ0eSBwcm9iZSBjb2RlCgkgIHdoaWNoIHdhcyB1c2luZyBHVmFsdWVBcnJheQoKMjAxMi0wMi0wMSAxNjoxMToxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIHNwZWV4OiBVc2UgbmV3IGF1ZGlvIGVuY29kZXIvZGVjb2RlciBiYXNlIGNsYXNzIEFQSSBmb3Igc3JjcGFkIGNhcHMKCjIwMTItMDItMDEgMTY6MDU6NTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWM6IFVzZSBuZXcgYXVkaW8gZW5jb2Rlci9kZWNvZGVyIGJhc2UgY2xhc3MgQVBJIGZvciBzcmNwYWQgY2FwcwoKMjAxMi0wMS0zMSAxNTozOTowOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2VxdWFsaXplci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDNkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdsaW1pdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jndm9sdW1lLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2hhcGV3aXBlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWN0cnVtLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3VkcHNyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2ZsYWNkZWMuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdmVuYy5jOgoJICB0ZXN0czogZml4IG1vcmUgdGVzdHMKCjIwMTItMDEtMzAgMTQ6NTI6MzcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkgIHJ0cG1wMnRwYXk6IGRvIG5vdCB0cnkgdG8gZmx1c2ggYSBwYWNrZXQgd2hlbiBubyBkYXRhIGlzIGF2YWlsYWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY4ODc0CgoyMDEyLTAxLTMxIDEzOjQxOjQ1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWxwaGFjb2xvci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJiYW5kLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYmxpbWl0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZmlyZmlsdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaWlyZmlsdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaW52ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNiYW5kLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNsaW1pdC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxhY2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6CgkgIHRlc3RzOiB1cGRhdGUgc29tZSB0ZXN0cyBmb3IgbmV3IG1lbW9yeSBhcGkKCjIwMTItMDEtMzEgMTI6MjI6MTkgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9jYW1jdHJsLmM6CgkgIGNvbnRyb2xsZXI6IGFkYXB0IHRvIGNvbnRyb2wtc291cmNlIHR5cGUgY2hhbmdlcwoKMjAxMi0wMS0zMCAyMTozOTozNCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL2NhbWN0cmwuYzoKCSAgY29udHJvbGxlcjogcmVuYW1lIGNvbnRyb2wtYmluZGluZ3MKCSAgZ3N0X2NvbnRyb2xfYmluZGluZ194eHggLT4gZ3N0X3h4eF9jb250cm9sX2JpbmRpbmcgZm9yIGNvbnNpc3RlbmN5LgoKMjAxMi0wMS0zMCAxNzoxNjo1MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGRlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZW5jLmM6CgkgIHVwZGF0ZSBmb3IgSEVBREVSIGZsYWcKCjIwMTAtMDYtMTEgMDg6MzY6MzMgKzAyMDAgIFBhc2NhbCBCdWhsZXIgPHBhc2NhbC5idWhsZXJAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiBFeGNsdWRlIE5BTHUgc2l6ZSBmcm9tIHBheWxvYWQgbGVuZ3RoIG9uIHRydW5jYXRlZCBwYWNrZXRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3ODQ2CgoyMDEyLTAxLTI4IDIzOjM1OjUwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHJlbW92ZSBvYnNvbGV0ZSB2YXJpYWJsZSwgc2V0IGJ1dCBub3QgdXNlZAoJICBSZXBvcnRlZCBieSBhbmRyZWRpZWIgb24gI2dzdHJlYW1lci4KCjIwMTItMDEtMjggMTM6MDU6MDkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBhdm9pZCB3cmFwcGluZyBvcGFxdWUgdG8gdHJhbnNwYXJlbnQKCjIwMTItMDEtMjggMTI6MzU6MTMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogZG8gbm90IGZyZWUgbWVtb3J5IHR3aWNlCgkgIEEgcmVjZW50IGNoYW5nZSB0byBmaXggbGVha2luZyBjb2RlYyBJRCBzdHJpbmcgYWNjaWRlbnRhbGx5IGNhdXNlZAoJICBvbmUgb2YgdGhlIHZlcnkgZmV3IHBsYWNlcyB0aGF0IHdlcmVuJ3QgbGVha2luZyB0byBub3cgZnJlZSB0d2ljZS4KCjIwMTItMDEtMjcgMTY6Mjc6NDkgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkgIGFsYXdkZWM6IEVhY2ggb3V0cHV0IHNhbXBsZSBpcyAyIGJ5dGVzCgoyMDEyLTAxLTI3IDEyOjE0OjQ5ICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogRG9uJ3QgbGVhayBjYXBzIGV2ZW50IHdoZW4gbm90IHB1c2hpbmcKCjIwMTItMDEtMjcgMTI6MDQ6NTMgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgIHJ0cHB0ZGVtdXg6IEZvcndhcmQgc3RpY2t5IGV2ZW50cwoKMjAxMi0wMS0yNyAxMjowNDowNSArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgcnRwcHRkZW11eDogUHJvdGVjdCBhbGwgdXNlcyBwYWQgbGlzdCB3aXRoIE9CSkVDVCBMT0NLCgkgIEFjdHVhbGx5IHByb3RlY3QgdGhlIGVudGlyZSBwYWQgbGlzdCBhbmQgdXNlIGl0IGluIGEgdGhyZWFkIHNhZmUKCSAgd2F5LgoKMjAxMi0wMS0yNyAxMjowMjoyNSArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IEZvcndhcmQgc3RpY2t5IGV2ZW50cyB0byBuZXcgcGFkcwoKMjAxMi0wMS0yNyAxMjowMTo0MCArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IEFkZCBzc3JjIHRvIGZvcndhcmRlZCBDQVBTIGV2ZW50cwoJICBBbHNvIGl0ZXJhdGUgdGhlIGxpc3Qgb2YgR3N0UnRwU3NyY0RlbXV4UGFkIHNhZmVseQoKMjAxMi0wMS0yNyAxMTo1OTowOCArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjY2RlbXV4OiBGYWN0b3Igb3V0IGdldHRpbmcgZHBhZCBieSBwYWQKCjIwMTItMDEtMjYgMTg6MzU6NDggKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEtlZXAgdGhlIGJ1ZmZlciBtYXBwZWQgd2hpbGUgaXQgaXMgYmVpbmcgbW9kaWZpZWQKCjIwMTItMDEtMjYgMTg6MzU6MjcgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIHJ0cHNlc3Npb246IEluaXRpYWxpc2UgdGhlIGFkZHJlc3MgcG9pbnRlciB0byBOVUxMCgoyMDEyLTAxLTI3IDEyOjA3OjQzICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBkdG1mOiBVc2UgbmV3LXN0eWxlIGNhcHMKCjIwMTItMDEtMjcgMTY6Mzc6MTkgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICBkaXJlY3NvdW5kc2luazogUG9ydCBlbGVtZW50IHRvIDAuMTEKCjIwMTItMDEtMjYgMTk6NDg6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyMjogcmVtb3ZlIHBhZCBldmVudCBmdW5jdGlvbgoJICBXZSB1c2UgdGhlIG9uZSBmcm9tIGNvbGxlY3RwYWRzCgoyMDEyLTAxLTI2IDE4OjI2OjAyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBSZXZlcnQgInF0ZGVtdXg6IGZpeCBHc3REYXRlVGltZS9HRGF0ZVRpbWUgbWl4dXAiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNTMyNjEyNjExMjBiNGMwMDhkZTYxNjkxYzcwZTk0MzU0YjI4MDA0YS4KCSAgVGhlIEdzdERhdGVUaW1lLT5HRGF0ZVRpbWUgY2hhbmdlIGluIGNvcmUgd2FzIGFwcGFyZW50bHkgYWNjaWRlbnRhbCwKCSAgYW5kIGlzIG5vdyByZXZlcnRlZC4KCjIwMTItMDEtMjYgMTg6MjU6MjEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBSZXZlcnQgImF2aWRlbXV4OiBmaXggR3N0RGF0ZVRpbWUvR0RhdGVUaW1lIG1peHVwIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGFjYzlmMTUwOTY4YjI1YzVhZTVhNjk0MGIzNGFkMmQ1MWIxNzRmZDIuCgkgIFRoZSBHc3REYXRlVGltZS0+R0RhdGVUaW1lIGNoYW5nZSBpbiBjb3JlIHdhcyBhcHBhcmVudGx5IGFjY2lkZW50YWwsCgkgIGFuZCBpcyBub3cgcmV2ZXJ0ZWQuCgoyMDEyLTAxLTI2IDE3OjUwOjMwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGZpeCBHc3REYXRlVGltZS9HRGF0ZVRpbWUgbWl4dXAKCSAgVGhpcyBpcyBhIGJsaW5kIGZpeCB0byBtYXRjaCB0aGUgb25lIEkganVzdCBtYWRlIHRvIHF0ZGVtdXgsCgkgIGFzIEkgZG8gbm90IGhhdmUgYW4gQVZJIGZpbGUgd2hlcmUgdGhlIGNvZGUgZ2V0cyBleGVjdXRlZC4KCjIwMTItMDEtMjYgMTc6NDc6MjkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBHc3REYXRlVGltZS9HRGF0ZVRpbWUgbWl4dXAKCjIwMTItMDEtMjYgMTg6NTE6MzAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBtb3JlIGZpeGVzCgoyMDEyLTAxLTI2IDE4OjQzOjA2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogbWFrZSB2aWRlb21peGVyIHdvcmsgc29tZXdoYXQKCjIwMTItMDEtMjYgMTg6MTU6NTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmg6CgkgIHZpZGVvbWl4ZXI6IHBvcnQgdG8gMC4xMQoJICBJdCBidWlsZHMgYW5kIGdzdC1pbnNwZWN0LTAuMTEgd29ya3MuLiBvdGhlcndpc2UgdW50ZXN0ZWQKCjIwMTItMDEtMjYgMTU6NDg6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkgIGR5bnVkcHNpbms6IGZpeCBnZXQtc3RhdHMgc2lnbmFsIHJlZ2lzdHJhdGlvbiBzb21lIG1vcmUKCjIwMTItMDEtMjYgMTU6NDY6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgUmV2ZXJ0ICJ1ZHA6IG1hcmsgYWN0aW9uIHNpZ25hbHMgYXMgUlVOX0ZJUlNUIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDVjODMwODU5OTEyOWQ5ZTE2MDZlZWRiMmQzNTQzNjE3NjU4ZGMzMDYuCgoyMDEyLTAxLTI2IDE1OjM5OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIHVkcDogbWFyayBhY3Rpb24gc2lnbmFscyBhcyBSVU5fRklSU1QKCjIwMTItMDEtMjYgMTU6Mzc6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkgIHVkcDogbWFyayAiZ2V0LXN0YXRzIiBhcyBhY3Rpb24gc2lnbmFsCgoyMDEyLTAxLTI2IDE1OjMwOjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuaDoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgdWRwOiBmaXggZ2V0LXN0YXRzIGFjdGlvbiBzaWduYWwgcmVnaXN0cmF0aW9uCgkgIEl0IHJldHVybnMgYSBHc3RTdHJ1Y3R1cmUgbm93LCBub3QgYSBHVmFsdWVBcnJheQoKMjAxMi0wMS0yNiAxNjowNTozNCArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBmaXggcHJpbnQgZm9ybWF0CgoyMDEyLTAxLTI2IDExOjUwOjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkgIG1hdHJvc2thbXV4OiBGaXggc2l6ZSBvZiBvdXRwdXQgYnVmZmVycwoKMjAxMi0wMS0yNiAxMTozMzowNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGluY2x1ZGUgcmlnaHQgY29sbGVjdHBhZHMgdmVyc2lvbgoKMjAxMi0wMS0yNiAxMToyOToxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogUHJvcGVybHkgdXNlIHRoZSBhbGlnbm1lbnQgcGFyYW1ldGVyIG9mIGdzdF9idWZmZXJfbmV3X2FsbG9jYXRlKCkKCSAgSXQncyBhIGJpdG1hc2sgZm9yIHRoZSBhbGlnbm1lbnQsIG5vdCB0aGUgYWxpZ25tZW50IGl0c2VsZi4KCjIwMTItMDEtMjYgMTE6MTg6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSAgbWF0cm9za2FtdXg6IFByb3Blcmx5IHVubWFwIFdSSVRFIG1hcHMgb2YgdGhlIG91dHB1dCBidWZmZXJzCgoyMDEyLTAxLTI2IDEwOjQ0OjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXIyOiBVcGRhdGUgZm9yIHRoZSBuZXcgY29sbGVjdHBhZHMyIGV2ZW50IGhhbmRsaW5nIEFQSQoKMjAxMi0wMS0yNiAxMDo0MDowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBVcGRhdGUgZm9yIHRoZSBuZXcgY29sbGVjdHBhZHMyIGV2ZW50IGhhbmRsaW5nIEFQSQoKMjAxMi0wMS0yNiAxMDozNzo1MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBVcGRhdGUgZm9yIHRoZSBuZXcgY29sbGVjdHBhZHMyIGV2ZW50IGhhbmRsaW5nIEFQSQoKMjAxMi0wMS0yNiAxMDoyODo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IFVwZGF0ZSBmb3IgbmV3IGNvbGxlY3RwYWRzMiBldmVudCBoYW5kbGluZyBBUEkKCjIwMTItMDEtMjYgMTA6Mjc6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBVcGRhdGUgZm9yIG5ldyBjb2xsZWN0cGFkczIgZXZlbnQgaGFuZGxpbmcgQVBJCgoyMDEyLTAxLTI1IDE4OjQxOjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IE9ubHkgZm9yd2FyZCB0aGUgZXZlbnQgd2hlbiB3ZSBkaWRuJ3QgaGFuZGxlIGl0IG91cnNlbHZlcwoKMjAxMi0wMS0yNSAxODo0MDowMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIycGFkLmg6CgkgIHZpZGVvbWl4ZXI6IHNvbWUgbW9yZSBwb3J0aW5nCgoyMDEyLTAxLTI1IDE4OjAwOjUyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuaDoKCSAgdmlkZW9taXhlcjogcG9ydCBibGVuZCBmdW5jdGlvbgoKMjAxMi0wMS0yNSAxNjo1ODoxMiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdjogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlcwoJICAob3IgcmF0aGVyIGNpcmN1bXZlbnQgaXNzdWVzIHdpdGggbmFpdmUgY29tcGlsZXJzIC4uLikKCjIwMTItMDEtMjUgMTU6MjE6NDQgKzAwMDAgIEpheWFrcmlzaG5hbiBNIDxqYXkua3Jpc2huYW5tQGdtYWlsLmNvbT4KCgkqIGV4dC9jYWlyby9NYWtlZmlsZS5hbToKCSAgY2Fpcm86IGZpeCBidWlsZCwgbWFrZSBzdXJlIGxpYmdzdHZpZGVvIGNhbiBiZSBmb3VuZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY4NjQ4CgoyMDEyLTAxLTI1IDE0OjUwOjUwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBwb3J0IHRvIG5ldyBtZW1vcnkgQVBJCgoyMDEyLTAxLTI1IDEzOjE5OjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cG1hbmFnZXI6IGRvbid0IHByZXRlbmQgb3VyIHJhbmRvbSBob3N0bmFtZXMgYXJlIGZ1bGx5LXF1YWxpZmllZCBkb21haW4gbmFtZXMKCjIwMTItMDEtMjUgMTM6NDc6MzAgKzAxMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hcyAoYXQpIGFwZXN0YWFydCAoZG90KSBvcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGM0NjNiYzAgdG8gN2ZkYTUyNAoKMjAxMi0wMS0yNSAxMjo0OTozNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJzAuMTEnIG9mIHNzaDovL2dpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L2dzdHJlYW1lci9nc3QtcGx1Z2lucy1nb29kIGludG8gMC4xMQoKMjAxMi0wMS0yNSAxMjo0OToxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jCgkgIGV4dC9qcGVnL2dzdGpwZWdlbmMuYwoJICBleHQvcHVsc2UvcHVsc2VzaW5rLmMKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jCgoyMDEyLTAxLTI1IDEyOjQxOjQyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSAgcG5nOiBwb3J0IHRvIG5ldyBtZW1vcnkgQVBJCgoyMDEyLTAxLTI1IDEyOjQxOjMwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thOiBwb3J0IHRvIG5ldyBtZW1vcnkgQVBJCgoyMDEyLTAxLTI0IDE0OjM4OjU4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5oOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkgIG1vcmUgbWVtb3J5IEFQSSBwb3J0aW5nCgoyMDEyLTAxLTIzIDE3OjI1OjM3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2thcmFva2UuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2JyZWFrbXlkYXRhLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Rlc3RzLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6CgkqIGdzdC9pc29tcDQvYXRvbXNyZWNvdmVyeS5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSogZ3N0L2lzb21wNC9nc3RydHB4cXRkZXBheS5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuaDoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdsaW1pdGVyLmM6CgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgdXBkYXRlIGZvciBuZXcgbWVtb3J5IEFQSQoKMjAxMi0wMS0yNSAxMToyMTo1MCArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5Lmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgZHRtZjogcG9ydCB0byAwLjExCgoyMDEyLTAxLTI1IDExOjM4OjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMmE1OTAxNiB0byBjNDYzYmMwCgoyMDEyLTAxLTI0IDE4OjI0OjEzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkgIHBuZ2VuYzogZGlzYWJseSBzbmFwc2hvdCBiZWhhdmlvdXIgYnkgZGVmYXVsdAoJICAuLi4gc2luY2Ugc3VjaCBiZWhhdmlvdXIgaXMgbm90IGNvbnNpc3RlbnQsIGlmIGFsbG93YWJsZSBhdCBhbGwuCgoyMDEyLTAxLTI0IDE4OjIzOjIyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuaDoKCSAgcG5nZGVjOiBwb3J0IHRvIDAuMTEKCjIwMTItMDEtMjQgMTg6MjE6MDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuaDoKCSAgcG5nZW5jOiBwb3J0IHRvIDAuMTEKCjIwMTItMDEtMjQgMTQ6NTM6MzggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBmaXggc3RyaW5nIGxlYWsKCjIwMTItMDEtMjQgMTQ6NTI6MDkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBmaXggdXNlIG9mIGZyZWVkIG1lbW9yeQoKMjAxMS0xMi0wMSAxNTo0OTo0MCArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBEb24ndCBjcmFzaCBvbiBlbXB0eSBsYWNlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1MjI0CgoyMDEyLTAxLTIzIDEzOjE1OjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cG1hbmFnZXI6IGRvbid0IHJldmVhbCB0aGUgdXNlcidzIHVzZXJuYW1lLCBob3N0bmFtZSBvciByZWFsIG5hbWUgYnkgZGVmYXVsdAoJICBTZW5kIGEgcmFuZG9tbHkgbWFkZS11cCB1c2VyQGhvc3RuYW1lIGFzIENOQU1FIGFuZCBkb24ndAoJICBzZW5kIGEgTkFNRSBhdCBhbGwgYnkgZGVmYXVsdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2ODMyMAoKMjAxMi0wMS0yMSAyMDowNzo1NiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL2NhbWN0cmwuYzoKCSAgY29udHJvbGxlcjogbW92ZSBmcm9tIGNvbnRyb2wtYmluZGluZyB0byBjb250cm9sLWJpbmRpbmctZGlyZWN0CgoyMDEyLTAxLTIyIDIzOjMxOjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbGliLWNvbXBhdC1wcml2YXRlLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ZpcmZpbHRlci5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2lpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2lpcmZpbHRlci5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0Lmg6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmg6CgkgIERvbid0IHVzZSBkZXByZWNhdGVkIEdMaWIgQVBJCgoyMDEyLTAxLTIyIDIzOjE1OjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJKiBnc3QtbGlicy9nc3QvZ2xpYi1jb21wYXQtcHJpdmF0ZS5oOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmg6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJKiB0ZXN0cy9pY2xlcy9lcXVhbGl6ZXItdGVzdC5jOgoJKiB0ZXN0cy9pY2xlcy9nZGtwaXhidWZzaW5rLXRlc3QuYzoKCSogdGVzdHMvaWNsZXMvdGVzdC1vc3M0LmM6CgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOgoJICBVc2UgbmV3IEdMaWIgQVBJIHVuY29uZGl0aW9uYWxseQoKMjAxMi0wMS0yMCAxNzowNjo0MiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHNpbXBsaWZ5IGludGVybmFsIHNyYyBldmVudCBkZWJ1ZyBsb2dnaW5nCgkgIC4uLiB3aGljaCBhdm9pZHMgYWxtb3N0IHN1cGVyZmx1b3VzIG9idGFpbmluZyBvZiBydHNwIGVsZW1lbnQuCgoyMDEyLTAxLTIwIDE3OjAzOjUwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYXZvaWQgTlVMTCBzdHJpbmcgY29tcGFyaXNvbgoKMjAxMi0wMS0yMCAxNzowMzoyMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBhcnJhbmdlIGZvciBpbml0aWFsaXplZCB2YXJpYWJsZXMKCjIwMTItMDEtMjAgMTc6MDI6MTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSAgcnRwbXA0YWRlcGF5OiBwcmV2ZW50IG91dC1vZi1ib3VuZCBhcnJheSBhY2Nlc3MKCjIwMTItMDEtMjAgMTc6MDE6MzcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9hdG9tc3JlY292ZXJ5LmM6CgkgIGlzb21wNDogcmVjb3Zlcnk6IGFkZCBzYW5pdHkgY2hlY2sKCSAgLi4uIG9uIHBvc3NpYmx5IGJvZ3VzL2NvcnJ1cHQgaW5wdXQgZGF0YS4KCjIwMTItMDEtMjAgMTc6MDA6NTEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJICBydHB0aGVvcmFkZXBheTogcmVtb3ZlIGRlYWQgY29kZQoKMjAxMi0wMS0yMCAxNjo1ODoyOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2EtZGVtdXg6IHJlbW92ZSByZWR1bmRhbnQgdmFyaWFibGUKCjIwMTItMDEtMjAgMTY6NTc6NTIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBmaXggYXJpdGhtZXRpYyBmb3IgdW5zaWduZWQgY29tcGFyaXNvbgoKMjAxMi0wMS0yMCAxNjo1NTowNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IGFkZCB2YXJpb3VzIG1pc3NpbmcgYnJlYWsKCjIwMTItMDEtMjAgMTY6NTQ6MDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogdHdlYWsgREVGQVVMVCBmb3JtYXQgZHVyYXRpb24gcXVlcnkgcmVzcG9uc2UKCjIwMTItMDEtMjAgMTY6NDk6MTQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSAgYWxwaGFjb2xvcjogcmVtb3ZlIHJlZHVuZGFudCBzdGF0ZW1lbnQKCjIwMTItMDEtMjAgMTY6NDg6NDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBpbXByb3ZlIHVwc3RyZWFtIHBlZXIgZHVyYXRpb24gcXVlcnlpbmcKCSAgLi4uIHRvIGF2b2lkIGFjY2VwdGluZyB1bmhhbmRsZWQgZHVyYXRpb24gcXVlcnkgcmVzdWx0LgoKMjAxMi0wMS0yMCAxNjo0NzozNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IGFkZGl0aW9uYWwgZXJyb3IgY29uZGl0aW9uIGNoZWNraW5nCgoyMDEyLTAxLTIwIDE2OjQ2OjIxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBhZGRpdGlvbmFsIGVycm9yIGNvbmRpdGlvbiBjaGVja2luZwoKMjAxMi0wMS0yMCAxNjo0NDoyMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IGNoZWNrIF9hbGxvY19idWZmZXIgcmVzdWx0IGFuZCBwZXJmb3JtIGZhbGxiYWNrIGFsbG9jIGlmIG5lZWRlZAoJICAuLi4gcmF0aGVyIHRoYW4gY2Fycnlpbmcgb24gd2l0aCBOVUxMIGJ1ZmZlci4KCjIwMTItMDEtMjAgMTQ6NDU6MDEgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9jYW1jdHJsLmM6CgkgIGNvbnRyb2xsZXI6IGFkYXB0IHRvIGNvbnRyb2wgYmluZGluZyBjaGFuZ2VzCgoyMDEyLTAxLTIwIDExOjM3OjM4ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvY2FtY3RybC5jOgoJICBjb250cm9sbGVyOiBhZGFwdCB0byBjb250cm9sbGVyIGFwaSBjaGFuZ2VzCgkgIERvbid0IHVzZSB0aGUgY29udmVuaWVuY2UgYXBpIGZvciBjb250cm9sIHNvdXJjZXMuCgoyMDEyLTAxLTE5IDE0OjI0OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJICBBZGQgLS1kaXNhYmxlLWZhdGFsLXdhcm5pbmdzIGNvbmZpZ3VyZSBvcHRpb24KCjIwMTItMDEtMTkgMTI6NDQ6MzkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIHVwZGF0ZSBmb3IgbWVtb3J5IEFQSQoKMjAxMi0wMS0xOSAxMTozMzo1MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmg6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmg6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtb292cmVjb3Zlci5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bW9vdnJlY292ZXIuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmg6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9vdmVybGF5LmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOgoJICBwb3J0IHRvIG5ldyBndGhyZWFkIEFQSQoKMjAxMi0wMS0xOCAxNjo1ODoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogUmVtb3ZlIEdJTyBjaGVjaywgdGhpcyBpcyBpbiBnc3QtZ2xpYjIubTQgbm93CgoyMDEyLTAxLTE4IDE2OjQ2OjE3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMDgwNzE4NyB0byAyYTU5MDE2CgoyMDEyLTAxLTE4IDE2OjE1OjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBSZXF1aXJlIEdMaWIgMi4zMS4xMCBhbmQgaW1wcm92ZSBHSU8gY2hlY2sKCjIwMTItMDEtMTcgMTY6NTg6MDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBSZW1vdmUgdW5uZWVkZWQgc29ja2V0LmggaW5jbHVkZQoKMjAxMi0wMS0xNyAxNjo1MzozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkgIGNvbmZpZ3VyZTogUmVtb3ZlIHNvY2tldC93aW5zb2NrIHNwZWNpZmljIGNoZWNrcwoJICBOb3QgbmVjZXNzYXJ5IGFueW1vcmUuCgoyMDEyLTAxLTE3IDE2OjQ5OjEwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IFVwZGF0ZSBmb3IgdGhlIG5ldyBHSU8gdmVyc2lvbnMgb2YgdGhlIHVkcCBlbGVtZW50cwoKMjAxMi0wMS0xNyAxMzowODo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgcnRwbWFuYWdlcjogUG9ydCB0byBHSU8KCjIwMTItMDEtMTcgMTE6MTk6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvdWRwL01ha2VmaWxlLmFtOgoJICBjb25maWd1cmU6IFJlcXVpcmUgR0lPIDIuMzEuMTAKCjIwMTItMDEtMTcgMTE6MTg6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHAuYzoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmg6CgkgIHVkcDogUmVtb3ZlIG5vdyB1bmVjZXNzYXJ5IGNvZGUKCjIwMTItMDEtMTcgMTE6MTg6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc2luay5oOgoJICB1ZHBzaW5rL211bHRpdWRwc2luazogUG9ydCB0byBHSU8KCjIwMTItMDEtMTcgMDk6Mzg6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5oOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICBkeW51ZHBzaW5rOiBQb3J0IHRvIEdJTwoKMjAxMi0wMS0xNyAwOTozMjoyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmg6CgkgIGR5bnVkcHNpbms6IFBvcnQgdG8gR0lPCgoyMDEyLTAxLTE3IDA5OjAzOjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvTWFrZWZpbGUuYW06CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuaDoKCSogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkgIHVkcHNyYzogUG9ydCB0byBHSU8KCjIwMTItMDEtMTYgMTc6NTE6MTggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSAgY3V0dGVyOiBmaXggbGVhayBvZiB1bnVzZWQgR1ZhbHVlCgoyMDEyLTAxLTE2IDE2OjEwOjA4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9kZXRlY3QuYzoKCSAgdGVzdHM6IGZpeCBhdXRvZGV0ZWN0IHRlc3Qgbm90IHRlc3RpbmcgY29ycmVjdGx5IGZvciBzdGF0ZSBjaGFuZ2Ugc3VjY2VzcwoJICBTdGF0ZSBjaGFuZ2UgdG8gUEFVU0VEIGNhbiBiZSBkb25lIGFzeW5jLCBzbyBpZiB0aGlzIGhhcHBlbnMsIHdlIG5lZWQKCSAgdG8gd2FpdCBmb3IgdGhlIGNoYW5nZSB0byBiZSBkb25lIChvciBmYWlsZWQpLgoKMjAxMi0wMS0xNiAxNTo0Mjo0NiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkgIHJ0cGgyNjNwcGF5OiBmaXggY2FwcyBsZWFrCgoyMDEyLTAxLTE2IDEyOjEzOjUwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogbWFrZSBpbnRlcmxhY2VkbmVzcyB0ZXN0IGRldGVybWluaXN0aWMKCSAgSWYgdGhlIGludGVybGFjZWQgZmxhZyBpcyBub3QgcHJlc2VudCBpbiB0aGUgY2Fwcywgd2UgYXNzdW1lIHRoZQoJICBkYXRhIGlzIG5vdCBpbnRlcmxhY2VkLCBpbnN0ZWFkIG9mIGxlYXZpbmcgdGhlIGJvb2xlYW4gdW5pbml0aWFsaXplZC4KCjIwMTItMDEtMTMgMTg6MTI6MDUgLTA1MDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBtYXRyb3NrYTogZml4IHByaW50ZiBmb3JtYXQgY29tcGlsZXIgd2FybmluZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MjYxNQoKMjAxMi0wMS0xMyAxODoxMTozNiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IGZpeCB3cm9uZyBlcnJvciBjaGVjawoJICBwYV9zdHJlYW1fKiBmdW5jdGlvbnMgcmV0dXJuIG5lZ2F0aXZlIG9uIGVycm9yLCBkZXNwaXRlIHRoZSBkZWZpbmVzCgkgIGZvciBlcnJvciBjb2RlcyBiZWluZyBwb3NpdGl2ZS4KCSAgSSBvbmx5IGdvdCB0byByZXBybyB0aGUgZXJyb3IgdHdpY2UsIHNvIEknbSBub3Qgc3VyZSAxMDAlIHN1cmUgdGhpcwoJICBmaXhlcyB0aGUgaXNzdWUgKHRoZSBuZWdhdGl2ZSB2YXIgYmVpbmcgdW5pbml0aWFsaXplZCBhZnRlciByZXR1cm5pbmcKCSAgZnJvbSBwYV9zdHJlYW1fZ2V0X2xhdGVuY3kpLgoKMjAxMi0wMS0xMyAxNzo0Mzo0OSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSAgb3NzNDogZml4IGNhcHMgbGVha3MKCjIwMTItMDEtMTMgMTc6MjU6NTkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBmaXggY2FwcyBsZWFrCgoyMDEyLTAxLTEzIDE1OjU3OjIwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOgoJICB0ZXN0czogZml4IGNhcHMgbGVhayBpbiB2aWRlb3Rlc3RzcmMgdGVzdAoKMjAxMi0wMS0xMyAxMjo1MDowNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIG1hdHJvc2thZGVtdXg6IGNsZWFuIHVwIG9ic29sZXRlIGNsb3Npbmcgc2VnbWVudCBoYW5kbGluZwoKMjAxMi0wMS0xMyAxMDozMjo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgIHJ0cHB0ZGVtdXg6IHBsdWcgcGFkIGxlYWsgaW4gZXJyb3IgY29kZSBwYXRoCgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBTdGlnIFNhbmRuZXMgPHN0aWcuc2FuZG5lc0BjaXNjby5jb20+CgkgIERvbid0IGxlYWsgc3JjcGFkIGlmIHRoZXJlIGFyZSBubyBjYXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3ODIwCgoyMDExLTEwLTA0IDEwOjAwOjAyICswMjAwICBTdGlnIFNhbmRuZXMgPHN0aWdzYW5kQGNpc2NvLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJICBvc3h2aWRlbzogRml4IGxlYWsgb2YgTlNPcGVuR0xQaXhlbEZvcm1hdCBvYmplY3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NzgxOAoKMjAxMS0wOS0wNSAxMDo0MzoxOSArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBEb24ndCBhc3NlcnQgd2hlbiB0aGUgaW50ZXJmYWNlIGlzIG5vdCBpbXBsZW1lbnRlZC4KCSAgU2ltcGx5IHJldHVybiBGQUxTRSBpbnN0ZWFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3ODE3CgoyMDEyLTAxLTEyIDAwOjE4OjM5ICswMjAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuYzoKCSogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5oOgoJICB3YXZlZm9ybXNpbms6IEZpeCBtaW5ndyB3YXJuaW5ncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3NzE5CgoyMDEyLTAxLTEyIDIzOjU1OjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgR1NUX1RZUEVfREFURSAtPiBHX1RZUEVfREFURQoKMjAxMi0wMS0xMiAyMzo0ODo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBlcU1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi9tYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYwoJICBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYwoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmMKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmMKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmMKCjIwMTItMDEtMTIgMTg6MjM6NDIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIGdzdHJ0cHNzcmNkZW11eDogZml4IGVsZW1lbnQgbGVhawoKMjAxMi0wMS0xMiAxNDoxOToyMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2E6IGRvIG5vdCBsZWFrIGF0dGFjaG1lbnQgYnVmZmVycwoKMjAxMi0wMS0xMiAxMzoxNzo1NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiByZW1vdmUgb2Jzb2xldGUgRklYTUUgY29tbWVudHMKCjIwMTItMDEtMTIgMTA6MzA6MTEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBkbyBub3QgZHJvcCB0aGUgZmlyc3QgZGF0YSBidWZmZXIgb24gdGhlIGZsb29yIChhbmQgbGVhayBpdCBlaXRoZXIpCgoyMDEyLTAxLTEyIDExOjA4OjM4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0aW5kZXguYzoKCSogZ3N0L2Zsdi9nc3RtZW1pbmRleC5jOgoJICBmbHZkZW11eDogYWRkIHByZWZpeCB0byBsb2NhbCBHc3RJbmRleCByZWxhdGVkIGNvcGllcwoJICAuLi4gdG8gYXZvaWQgZHVwbGljYXRlIHR5cGUgbmFtZXMgd2l0aCBvdGhlciBzdWNoIGxvY2FsIGNvcGllcyBpbiB0aGUgd2lsZC4KCjIwMTItMDEtMTIgMTE6MDc6MzMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogYWN0aXZhdGUgcGFkIGJlZm9yZSBzZXR0aW5nIGNhcHMKCSAgLi4uIHJhdGhlciB0aGFuIHRoZSB1c3VhbCAwLjEwIG90aGVyIHdheSBhcm91bmQuCgkgIEZpeGVzICM2Njc1NTguCgoyMDEyLTAxLTExIDE4OjQ1OjMzIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogQW5kcm9pZC5tazoKCSAgVGVtcG9yYXJpbHkgZGlzYWJsaW5nIG11bHRpZmlsZSBmb3IgdGhlIEFuZHJvaWQgYnVpbGQKCSAgVGhlcmUgaXMgYSBoYXJkIGRlcGVuZGVuY3kgb24gaW5vdGlmeSBjb21taW5nIGZyb20gZ2lvLiBXZQoJICBhcmUgbm90IGN1cnJlbnRseSBidW5kbGluZyBpbm90aWZ5IHdpdGggdGhlIEFuZHJvaWQgZGlzdCBzbwoJICBJJ20gZGlzYWJsaW5nIG11bHRpZmlsZSBmb3Igbm93IHVudGlsIHNvbWVvbmUgZ2V0cyBhcm91bmQKCSAgdG8gc29ydCB0aGlzIG91dC4KCSAgVGhpcyBjaGFuZ2UgZml4ZXMgYnVpbGRpbmcgb24gQW5kcm9pZAoKMjAxMC0xMC0yMCAwMjoxNzo0MyAtMDcwMCAgTGVvIFNpbmdlciA8bGVvLnNpbmdlckBsaWdvLm9yZz4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VpaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9paXJmaWx0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9paXJmaWx0ZXIuYzoKCSAgYXVkaW9meDogVXNlIG1vc3QgY29tbW9uIGNvbnZlbnRpb24gZm9yIGRlZmluaXRpb25zIG9mIElJUiBmaWx0ZXIgY29lZmZpY2llbnRzLgoJICBNb3N0IHNpZ25hbCBwcm9jZXNzaW5nIHRleHRzLCBpbmNsdWRpbmcgTUFUTEFCLCB1c2UgdGhlIGZvbGxvd2luZyBjb252ZW50aW9uIGZvciBJSVIgZmlsdGVyIGNvZWZmaWNpZW50czoKCSAgYV8wIHlbbl0gKyBhXzEgeVtuLTFdICsgLi4uICsgYV9NIHlbbi1NXSA9IGJfMCB4W25dICsgYl8xIHhbbi0xXSArIC4uLiArIGJbTl0geFtuLU5dCgkgIFVzdWFsbHksIGFfMCBpcyBzZXQgdG8gMSBiZWNhdXNlIHRoZSBjb2VmZmljaWVudHMgY2FuIGFsd2F5cyBiZSByZXNjYWxlZCwgZ2l2aW5nCgkgIHlbbl0gPSBiXzAgeFtuXSArIGJfMSB4W24tMV0gKyAuLi4gKyBiW05dIHhbbi1OXSAtIGFfMSB5W24tMV0gLSAuLi4gLSBhX00geVtuLU1dCgkgIFRoZSBjb252ZW50aW9uIHRoYXQgd2FzIHByZXZpb3VzbHkgdXNlZCBieSBhdWRpb2Z4YmFzZWlpcmZpbHRlciBhbmQgZGVyaXZlZCBjbGFzcyBoYWQgdGhlIGEgYW5kIGIgY29lZmZpY2llbnRzIHN3YXBwZWQsIGFuZCBkaWQgbm90IGhhdmUgdGhlIG1pbnVzIHNpZ25zLgoJICBUaGlzIGNoYW5nZSBtYWtlcyB0aGUgYXVkaW9meCBwbHVnaW4gdXNlIHRoZSBtb3JlIGNvbW1vbiBjb252ZW50aW9uIGRlc2NyaWJlZCBhYm92ZS4KCjIwMTItMDEtMTEgMTQ6NDc6MzYgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuaDoKCSAgamFjazogYWRkIGEgdHJhbnNwb3J0IG1vZGUgZW51bQoJICBDbGllbnRzIGNhbiBjb25maWd1cmUgdGhlIGRlc2lyZWQgYmVoYXZpb3VyIHZpYSAidHJhbnNwb3J0IiBwcm9wZXJ0eS4gVGhlCgkgIGRlZmF1bHQgYmVoYXZpb3VyIGlzIGlnbm9yaW5nIHRoZSB0cmFuc3BvcnQgc3RhdGUuIE90aGVyIG1vZGVzIGFyZSBtYXN0ZXIgYW5kCgkgIHNsYXZlLgoKMjAxMi0wMS0xMSAxNDoxMDo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogRml4IGJ1ZmZlciBoYW5kbGluZwoJICBzb3VwaHR0cHNyYyBpcyBub3cgdXNhYmxlIGFnYWluIGFuZCBkb2Vzbid0IGNyYXNoIGFueW1vcmUKCSAgd2hlbmV2ZXIgc29tZXRoaW5nIGlzIHJlYWQgZnJvbSBhIEhUVFAgY29ubmVjdGlvbi4KCjIwMTItMDEtMTEgMDE6NDU6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdmVuYy5jOgoJICB0ZXN0czogZml4IHdhdmVuYyB0ZXN0IG9uIGJpZyBlbmRpYW4KCSAgd2F2ZW5jIG9ubHkgYWNjZXB0cyBsaXR0bGUtZW5kaWFuIFBDTSwgYnV0IG1vc3Qgb2Ygb3VyCgkgIGVsZW1lbnRzIHN1Y2ggYXMgYXVkaW90ZXN0c3JjIG9ubHkgcHJvZHVjZSBvciBwcm9jZXNzCgkgIGF1ZGlvIGluIG5hdGl2ZSBlbmRpYW5uZXNzLCBzbyB3ZSBuZWVkIHRvIHBsdWcgYQoJICBjb252ZXJ0ZXIgYmVmb3JlIHdhdmVuYyBvbiBiaWcgZW5kaWFuIHN5c3RlbXMuCgoyMDEyLTAxLTEwIDIzOjAyOjQ1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogZGVhY3RpdmF0ZSB0aGUgcmVxdWVzdF9zdGF0ZSBjb2RlCgkgIFdoZW4gcWphY2tjdGwgaXMgc3RhcnRlZCwgdHJhbnNwb3J0IGlzIHN0b3BwZWQgYnkgZGVmYXVsdC4gVGhpcyB3b3VsZCBiZSBhCgkgIHJlZ3Jlc3Npb24gZm9yIGdzdHJlYW1lciBhcHBzIHRoYXQgYmVmb3JlIGp1c3Qgc3RhcnRlZCB0byBwbGF5IHJpZ2h0IGF3YXkuCgoyMDEyLTAxLTEwIDIyOjI3OjExICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBhZGQgdHJhbnNwb3J0IGNvbnRyb2wgaGFuZGxpbmcKCSAgVGhpcyBmZWF0dXJlIGFsbG93cyB0byBzdGFydCBhbmQgc3RvcCBwbGF5YmFjayBmcm9tIG90aGVyIGphY2sgYXBwbGljYXRpb25zIChlLmcuIHFqYWNrY3RsKS4KCjIwMTItMDEtMTAgMTg6NTA6MjcgKzAxMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogZml4IGNvZGVjX3ByaXYgbGVha3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NzQxOQoKMjAxMi0wMS0xMCAxNTowNjozOSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jOgoJICBqYWNrOiB1c2UgamFjayB0eXBlIGZvciB0aGUgY2FsbGJhY2sKCSAgSmFjayBoZWFkZXJzIGhhdmUgYSB0eXBlZGVmIGZvciB0aGUgc2h1dGRvd24gY2FsbGJhY2sgYXMgd2VsbC4KCjIwMTItMDEtMTAgMTQ6MzI6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jCgkgIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jCgkgIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYwoJICBnc3QvYXZpL2dzdGF2aW11eC5jCgkgIGdzdC9mbHYvZ3N0Zmx2bXV4LmMKCSAgZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jCgkgIGdzdC9pc29tcDQvZ3N0cXRtdXguYwoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYwoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmMKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jCgkgIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jCgkgIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmMKCSAgZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYwoJICBnc3Qvc21wdGUvZ3N0c21wdGUuYwoJICBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jCgkgIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jCgkgIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmMKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmMKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmMKCSAgcG8vamEucG8KCSAgcG8vbHYucG8KCSAgcG8vc3IucG8KCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW0KCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYwoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ3ZvbHVtZS5jCgoyMDEyLTAxLTA5IDIyOjU4OjMyICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgZG9jczogUmVtb3ZlIG9sZCB2aWRlb21peGVyIGhlYWRlcnMKCSAgVGhlc2UgZ290IHJlbW92ZWQgaW4gdGhlIHRyYW5zaXRpb24gdG8gdmlkZW9taXhlcjIuCgoyMDEyLTAxLTA5IDE3OjI4OjE3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGZpeCBjb2RlYyBzdHJpbmcgbGVha3MKCjIwMTItMDEtMDkgMTQ6NTE6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVycGFkLmg6CgkgIHZpZGVvbWl4ZXI6IFJlbW92ZSB2aWRlb21peGVyIGFuZCByZWdpc3RlciB2aWRlb21peGVyMiBhcyB2aWRlb21peGVyCgoyMDEyLTAxLTA5IDExOjM2OjU4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBpbml0aWFsaXplIHZhcmlhYmxlIHRvIGF2b2lkIHVuZGVmaW5lZCB1c2UKCjIwMTItMDEtMDYgMDk6NDA6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmg6CgkgIGZsYWM6IFBvcnQgdG8gdGhlIG5ldyByYXcgYXVkaW8gY2FwcwoKMjAxMi0wMS0wNSAxOToyNTozMyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIGlzb21wNDogZml4IGNhcHMgbGVhawoKMjAxMi0wMS0wNSAxOTowODowMyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIGlzb21wNDogcmVtb3ZlIGRlYWQgYXNzaWdubWVudAoKMjAxMi0wMS0wNSAxNDoxODowMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSAgZml4IHBhZCB0ZW1wbGF0ZXMKCjIwMTItMDEtMDQgMTU6MDU6NDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBzcGVleDogVXBkYXRlIGZvciB0aGUgbmV3IHJhdyBhdWRpbyBjYXBzCgoyMDEyLTAxLTA0IDE0OjU0OjEwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IEFkZCB0aGUgbmV3IGxheW91dCBmaWVsZCB0byB0aGUgcmF3IGF1ZGlvIGNhcHMKCjIwMTItMDEtMDQgMTQ6NTI6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2t1dGlsLmM6CgkqIGV4dC9qYWNrL2dzdGphY2t1dGlsLmg6CgkgIGphY2thdWRpb3NyYzogUG9ydCB0byB0aGUgbmV3IG11bHRpY2hhbm5lbCBhdWRpbyBjYXBzCgoyMDEyLTAxLTA0IDE0OjEzOjU0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBBZGQgRkxBQyBhbmQgaW50ZXJsZWF2ZSB0byB0aGUgbm9uLXBvcnRlZCBwbHVnaW5zIGxpc3QKCSAgQm90aCBuZWVkIHRvIGJlIHVwZGF0ZWQgdG8gdGhlIGF1ZGlvL3gtcmF3IGNhcHMgYW5kIHdlcmUgb25seQoJICBoYWxmLXBvcnRlZCBiZWZvcmUuCgoyMDEyLTAxLTA0IDEzOjQ4OjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGNoYW5uZWxzLmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2hhbm5lbHMuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzIyZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICBydHA6IFVwZGF0ZSBmb3IgdGhlIG5ldyBhdWRpbyBjYXBzCgoyMDEyLTAxLTA0IDEyOjA2OjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogVXBkYXRlIGZvciBsaWJnc3RyaWZmIEFQSSBjaGFuZ2VzCgkgIFN0aWxsIG5lZWRzIHRvIGhhbmRsZSByYXcgYXVkaW8gY2hhbm5lbCByZW9yZGVyaW5nCgoyMDEyLTAxLTA0IDEyOjA1OjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkgIHdhdmVuYzogVXBkYXRlIGZvciB0aGUgbmV3IHJhdyBhdWRpbyBjYXBzCgoyMDEyLTAxLTA0IDEyOjAzOjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogVXBkYXRlIGZvciB0aGUgbmV3IHJhdyBhdWRpbyBjYXBzIGxheW91dCBmaWVsZAoKMjAxMi0wMS0wNCAxMTo1NzoyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnbGltaXRlci5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOgoJICByZXBsYXlnYWluOiBVcGRhdGUgZm9yIHRoZSBuZXcgYXVkaW8gY2FwcwoKMjAxMi0wMS0wNCAxMTo1MjoyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYTogVXBkYXRlIGZvciB0aGUgbmV3IHJhdyBhdWRpbyBpbnRlcmxlYXZlZCBjYXBzIGZpZWxkCgkgIFN0aWxsIG5lZWRzIHRvIGJlIGZpeGVkIHRvIGhhbmRsZSB0aGUgbXVsdGljaGFubmVsIGNoYW5uZWwtbWFzawoJICBhbmQgcmVvcmRlcmluZy4KCjIwMTItMDEtMDQgMTE6MzE6MDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIGxldmVsOiBVcGRhdGUgZm9yIHRoZSBuZXcgcmF3IGF1ZGlvIGxheW91dCBmaWVsZAoKMjAxMi0wMS0wNCAxMToyOToyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIGlzb21wNDogUG9ydCB0byB0aGUgbmV3IGF1ZGlvIGNhcHMKCSAgU3RpbGwgbmVlZHMgdG8gaGFuZGxlIHRoZSBjaGFubmVsIHBvc2l0aW9ucy9tYXNrcyBhbmQKCSAgY2hhbm5lbCByZW9yZGVyaW5nLgoKMjAxMi0wMS0wNCAxMToxMTowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJICBjdXR0ZXI6IFVwZGF0ZSBmb3IgdGhlIG5ldyByYXcgYXVkaW8gbGF5b3V0IGZpZWxkCgoyMDEyLTAxLTA0IDExOjA5OjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgZ29vbTogUG9ydCB0byB0aGUgbmV3IG11bHRpY2hhbm5lbCBjYXBzIGFuZCB1cGRhdGUgZm9yIHRoZSBuZXcgcmF3IGF1ZGlvIGxheW91dCBmaWVsZAoKMjAxMi0wMS0wNCAxMTowODoxOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICBlcXVhbGl6ZXI6IFVwZGF0ZSBmb3IgdGhlIG5ldyByYXcgYXVkaW8gbGF5b3V0IGZpZWxkCgoyMDEyLTAxLTA0IDExOjA3OjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IFVwZGF0ZSBmb3IgdGhlIGxpYmdzdHJpZmYgQVBJIGNoYW5nZXMKCSAgU3RpbGwgbmVlZHMgdG8gZG8gcmVvcmRlcmluZyBvZiBjaGFubmVscyBmb3IgcmF3IGF1ZGlvLgoKMjAxMi0wMS0wNCAxMTowNjoyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkgIGF1cGFyc2U6IFBvcnQgdG8gdGhlIG5ldyBtdWx0aWNoYW5uZWwgY2FwcyBhbmQgdGhlIG5ldyByYXcgYXVkaW8gbGF5b3V0IGZpZWxkCgoyMDEyLTAxLTA0IDExOjAyOjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlva2FyYW9rZS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkgIGF1ZGlvZng6IFBvcnQgdG8gdGhlIG5ldyBtdWx0aWNoYW5uZWwgY2FwcyBhbmQgdGhlIG5ldyByYXcgYXVkaW8gbGF5b3V0IGZpZWxkCgoyMDEyLTAxLTA0IDEwOjU0OjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOgoJKiBzeXMvb3NzL2dzdG9zc3NyYy5jOgoJICBvc3M6IFBvcnQgdG8gdGhlIG5ldyBtdWx0aWNoYW5uZWwgY2FwcyBhbmQgdGhlIHJhdyBhdWRpbyBjYXBzIGludGVybGVhdmVkIGZpZWxkCgoyMDEyLTAxLTA0IDEwOjI3OjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSAgcHVsc2U6IFBvcnQgdG8gdGhlIG5ldyBtdWx0aWNoYW5uZWwgY2FwcwoKMjAxMi0wMS0wNCAxOTo1MTo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDc2MmI2OTIgdG8gMDgwNzE4NwoKMjAxMi0wMS0wNCAxNzo1OTo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICB0ZXN0czogZml4IHNvbWUgbGVha3MgYW5kIHJlbW92ZSBmaWxlcyB3aGVuIGRvbmUgaW4gcXRtdXggdGVzdAoKMjAxMS0xMi0xNCAxMDoxNDoyMCArMDEwMCAgUGV0ZXIgU2VpZGVyZXIgPHBzLnJlcG9ydEBnbXgubmV0PgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIG11bHRpZmlsZXNpbms6IHBvc3QgYmV0dGVyIGVycm9yIG1lc3NhZ2Ugd2hlbiB3ZSBydW4gb3V0IG9mIGRpc2sgc3BhY2UKCSAgTWFwIHdyaXRlIGVycm5vIEVOT1NQQyB0byBHU1RfUkVTT1VSQ0VfRVJST1JfTk9fU1BBQ0VfTEVGVC4KCjIwMTItMDEtMDQgMTM6MjY6NDUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWxwaGFjb2xvci5jOgoJICBhbHBoYWNvbG9yOiBNb3JlIGZpeGVzL2NsZWFudXAKCjIwMTItMDEtMDQgMTM6MjU6NDAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBSZWZhY3RvciBwYXJhbS9wcm9jZXNzIGZ1bmN0aW9ucwoJICBXaGVuIDo6c2V0X2luZm8oKSBpcyBjYWxsZWQsIHRoZSBpbnB1dC9vdXRwdXQgVmlkZW9JbmZvIGFyZW4ndCBzZXQKCSAgeWV0IG9uIHRoZSB2aWRlb2ZpbHRlci4KCjIwMTItMDEtMDQgMTA6MDE6NDggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIEdTVF9GTE9XX1VORVhQRUNURUQgLT4gR1NUX0ZMT1dfRU9TCgoyMDExLTEyLTMxIDIzOjMzOjMzIC0wNTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJICBkY2FwYXJzZTogdXNlIHJpZ2h0IHZhcmlhYmxlCgkgIEZpeGVzIHVzZSBvZiB1bml0aWFsaXplZCB2YXJpYWJsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NzA4NQoKMjAxMi0wMS0wMyAxNToyNjoyMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdGZpbGVzcmMuYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgR1NUX0ZMT1dfVU5FWFBFQ1RFRCAtPiBHU1RfRkxPV19FT1MKCjIwMTItMDEtMDMgMTQ6NDI6MjggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkgIHRlc3RzOiByZXdyaXRlIHRlc3QgYSBsaXR0bGUKCSAgUmV3cml0ZSB0aGUgdGFnIGNoZWNrIHNvIHRoYXQgd2UgZG9uJ3QgbmVlZCB0byBkZWFsIHdpdGggdGFnIGxpc3RzLgoKMjAxMi0wMS0wMyAxNDoxNjoyOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVnZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluX2J1ZmZlcl9saXN0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zaGFwZXdpcGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdWRwc2luay5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9maWx0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMveTRtZW5jLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9mbGFjZGVjLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSAgdGVzdHM6IG1ha2UgbW9yZSB0ZXN0cyBjb21waWxlCgoyMDEyLTAxLTAzIDExOjU2OjI1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2VxdWFsaXplci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbGFjcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmx2ZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmx2bXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ljeWRlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ltYWdlZnJlZXplLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdsaW1pdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jndm9sdW1lLmM6CgkgIHRlc3Q6IG1ha2UgbW9yZSB1bml0IHRlc3RzIGNvbXBpbGUKCjIwMTItMDEtMDMgMTA6MjY6NDggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9maXJmaWx0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9paXJmaWx0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9pbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2JhbmQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2xpbWl0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9kZXRlY3QuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aXN1YnRpdGxlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhcHNzZXR0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxhY2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6CgkqIHRlc3RzL2NoZWNrL2dlbmVyaWMvaW5kZXguYzoKCSogdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzoKCSAgdGVzdHM6IGZpeCBzb21lIHVuaXQgdGVzdHMKCSAgUmVtb3ZlIHVuaXQgdGVzdCBmb3IgR3N0SW5kZXguCgkgIE1ha2Ugc29tZSBvdGhlciB1bml0IHRlc3RzIGNvbXBpbGUKCjIwMTItMDEtMDIgMTQ6MzI6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcGV4dC5jOgoJICBhdXRvZGV0ZWN0LCBydHNwOiBnc3RfcmVnaXN0cnlfZ2V0X2RlZmF1bHQoKSAtPiBnc3RfcmVnaXN0cnlfZ2V0KCkKCjIwMTEtMTItMzEgMTA6MDA6NDEgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL2NhbWN0cmwuYzoKCSAgY29udHJvbGxlcjogcG9ydCB0byBBUEkgY2hhbmdlcwoKMjAxMS0xMi0zMCAxNzo0MTo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHVwZGF0ZSBmb3IgR3N0SW5kZXggcmVtb3ZhbAoKMjAxMS0xMi0zMCAxNzoyMzo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IHVwZGF0ZSBmb3IgR3N0SW5kZXggcmVtb3ZhbAoKMjAxMS0xMi0zMCAxNzoyMDo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSogZ3N0L2Zsdi9nc3RpbmRleC5jOgoJKiBnc3QvZmx2L2dzdGluZGV4Lmg6CgkqIGdzdC9mbHYvZ3N0bWVtaW5kZXguYzoKCSAgZmx2ZGVtdXg6IHVwZGF0ZSBmb3IgR3N0SW5kZXggcmVtb3ZhbAoJICBBZGQgcHJpdmF0ZSBHc3RNZW1JbmRleCBmb3Igbm93LgoKMjAxMS0xMi0zMCAxNzoxMjowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpZGVtdXg6IHVwZGF0ZSBmb3IgR3N0SW5kZXggcmVtb3ZhbAoKMjAxMS0xMi0yNyAyMjo1OTowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmM6CgkgIHdhdmVmb3Jtc2luazogZml4IGNvbXBpbGVyIHdhcm5pbmdzIHdpdGggTWluZ1cKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NjQ4NQoKMjAxMS0xMi0yNyAxMjowNjoxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICB0ZXN0czogbWFrZSBnaXQgaWdub3JlIG5ldyB1bml0IHRlc3QgYmluYXJ5CgoyMDExLTEyLTI3IDExOjUwOjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogZml4IHZhbGdyaW5kIHdhcm5pbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NjY0NAoKMjAxMS0xMi0yNyAxMTo0OToxMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdWRwc3JjLmM6CgkgIHVkcHNyYzogYWRkIHVuaXQgdGVzdCB0aGF0IHNlbmRzIDAtc2l6ZSBwYWNrZXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NjY0NAoKMjAxMS0xMi0yMSAxMzoyMjowMyArMDEwMCAgSm9obiBPZ25lc3MgPGpvaG4ub2duZXNzQGxpbnV0cm9uaXguZGU+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IGRyb3AgZGF0YWxlc3MgVURQIHBhY2tldHMKCSAgSXQgaXMgYWxsb3dlZCB0byBzZW5kL3JlY2VpdmUgVURQIHBhY2tldHMgd2l0aCBubyBkYXRhLiBXaGVuIHN1Y2gKCSAgYSBwYWNrZXQgaXMgYXZhaWxhYmxlLCBzZWxlY3QoKSB3aWxsIHJldHVybiB3aXRoIHN1Y2Nlc3MgYnV0CgkgIGlvY3RsKEZJT05SRUFEKSB3aWxsIHJldHVybiAwLiBCdXQgYSByZWFkKCkgbXVzdCBzdGlsbCBvY2N1ciBpbgoJICBvcmRlciB0byBjbGVhciBvZmYgdGhlIFVEUCBwYWNrZXQgZnJvbSB0aGUgcXVldWUuCgkgIFRoaXMgcGF0Y2ggd2lsbCByZWFkIHRoZSBkYXRhbGVzcyBwYWNrZXQgZnJvbSB0aGUgc29ja2V0LiBJZgoJICBzZWxlY3QoKSB3YXMgd29rZW4gZm9yIG90aGVyIHJlYXNvbnMgKGFuZCBGSU9OUkVBRCByZXR1cm5zIDApLAoJICB0aGlzIG1heSByZXN1bHQgaW4gYSBVRFAgcGFja2V0IGdldHRpbmcgYWNjaWRlbnRhbGx5IGRyb3BwZWQuCgkgIEJ1dCBzaW5jZSBVRFAgaXMgbm90IHJlbGlhYmxlLCB0aGlzIGlzIGFjY2VwdGFibGUuCgkgIE5PVEU6IFRoaXMgcGF0Y2ggZml4ZXMgYSBuYXN0eSBidWcgd2hlcmUgc2VuZGluZyBhIGRhdGFsZXNzCgkgIFVEUCBwYWNrZXQgdG8gYSB1ZHBzcmMgaW5zdGFuY2Ugd2lsbCBjYXVzZSBhbiBpbmZpbml0ZQoJICBsb29wLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY2NjQ0CgkgIFNpZ25lZC1vZmYtYnk6IEpvaG4gT2duZXNzIDxqb2huLm9nbmVzc0BsaW51dHJvbml4LmRlPgoKMjAxMS0xMi0yNiAyMjoyMjo1OSArMDAwMCAgWWFha292IFNlbGtvd2l0eiA8eXNlbGtvd2l0ekB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL3dhdmVmb3JtL01ha2VmaWxlLmFtOgoJICB3YXZlZm9ybTogYWRkIGF1dG90b29scyBiaXRzIGZvciB3YXZlZm9ybSBwbHVnaW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NjQ4NQoKMjAxMS0xMi0yMSAyMDo1MDoyMSArMDEwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGZpeCBwZWVyX2NhcHMgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY2Njg4CgoyMDExLTEyLTI1IDIzOjUyOjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiByZW1vdmUgdW5uZWNlc3NhcnkgY2hlY2sgZm9yIGdkcCBsaWJyYXJ5CgoyMDExLTEyLTI1IDIyOjE3OjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZXh0L3B1bHNlL01ha2VmaWxlLmFtOgoJKiBleHQvcHVsc2UvcGx1Z2luLmM6CgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSAgcHVsc2U6IHJlbW92ZSBwdWxzZWF1ZGlvc2luayBoZWxwZXIgYmluCgkgIFRoaXMgaXMgY2F1c2luZyB1cyBsb3RzIG9mIGhlYWRhY2hlcyBpbiAwLjEwIGFuZCBuZWVkcyB0byBiZSBkb25lCgkgIGRpZmZlcmVudGx5IGFuZCBwcm9wZXJseSBpbiAwLjExLiBwbGF5YmluIG9yIGRlY29kZWJpbiBzaG91bGQKCSAgcmVjb25maWd1cmUgdGhlbXNlbHZlcyBiYXNlZCBvbiByZWNvbmZpZ3VyZSBldmVudHMsIGZvciBleGFtcGxlLgoKMjAxMS0xMi0yNSAyMTo0NTo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSAgcHVsc2U6IHVwZGF0ZSBmb3IgcmluZyBidWZmZXIgYXVkaW8gZm9ybWF0IHR5cGUgZW51bSByZW5hbWUKCjIwMTEtMTItMjUgMjA6MzQ6NTIgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL2NhbWN0cmwuYzoKCSAgY29udHJvbGxlcjogcG9ydCB0byBuZXcgY29udHJvbCBzb3VyY2UgYXBpCgoyMDExLTEyLTI1IDE0OjIzOjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogZG9uJ3QgdHJ5IHRvIHB1c2ggYWxyZWFkeS1mcmVlZCBidWZmZXJzCgkgIEZpeGVzIHVuaXQgdGVzdC4KCjIwMTEtMTItMjQgMTA6NTc6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBVc2Ugc2NhbGVfY2VpbCgpIGZ1bmN0aW9ucyBmcm9tIGNvcmUgaW5zdGVhZCBvZiBjdXN0b20gb25lcwoKMjAxMS0xMi0yMSAyMzo1MTowMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuaDoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuaDoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2aWdhdGlvbnRlc3QuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmg6CgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5oOgoJKiBnc3QvZWZmZWN0di9nc3RvcC5jOgoJKiBnc3QvZWZmZWN0di9nc3RvcC5oOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5oOgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJldi5oOgoJKiBnc3QvZWZmZWN0di9nc3RyaXBwbGUuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmlwcGxlLmg6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5oOgoJKiBnc3QvZWZmZWN0di9nc3RzdHJlYWsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c3RyZWFrLmg6CgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5oOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuaDoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5oOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuaDoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmg6CgkgIHVwZGF0ZSBmb3IgdmlkZW9maWx0ZXIgY2hhbmdlcy4KCjIwMTEtMTItMjEgMTc6NDM6MTAgKzAxMDAgIEJyYW5rbyBTdWJhc2ljIDxicmFua29AYXhpcy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIG1hdHJvc2thZGVtdXg6IGRvIG5vdCBjb25zaWRlciBkdXJhdGlvbiBvZiBub24tZmluYWxpemVkIGZpbGUKCSAgLi4uIHRvIGF2b2lkIGl0IGNsYW1waW5nIHJlcXVlc3RlZCBzZWVrIHBvc2l0aW9uLgoJICBOb24tZmluYWxpemVkIGZpbGUgY2FzZSwgZGV0ZXJtaW5lZCBieSB3aGV0aGVyCgkgIF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrIGV2ZXIgdXBkYXRlcyB0aGUgc2VnbWVudCBkdXJhdGlvbi4KCSAgRml4ZXMgIzY1MjE5NS4KCjIwMTEtMTItMjEgMTU6MDY6NTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGltcHJvdmUgZGVjaXNpb24gdG8gZmFsbCBiYWNrIHRvIHNjYW5uaW5nIHdoZW4gc2Vla2luZwoJICAuLi4gd2hpY2ggaXMgYmFzaWNhbGx5IGlmZiBub3Qgc3RyZWFtaW5nIGFuZCBubyBlbnRyeSBmb3VuZCBpbiBpbmRleAoKMjAxMS0xMi0yMSAwOTowOToyNyArMDEwMCAgT2xla3NpaiBSZW1wZWwgKEFsZXhleSBGaXNoZXIpIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFjM3BhcnNlOiByZW1vdmUgdW51c2VkIHZhcmlhYmxlCgkgIHJlbW92ZSB1bnVzZWQgdmFyaWFibGUgdG8gZml4IGNvbXBpbGUgZXJyb3I6CgkgIG1ha2UgLUMgYXVkaW9wYXJzZXJzCgkgIG1ha2VbM106IEJldHJldGUgVmVyemVpY2huaXMgJy9ob21lL2xleC90bXAvZ3N0LXBsdWdpbnMtZ29vZC9nc3QvYXVkaW9wYXJzZXJzJwoJICBDQyAgICAgbGliZ3N0YXVkaW9wYXJzZXJzX2xhLWdzdGFhY3BhcnNlLmxvCgkgIGdzdGFhY3BhcnNlLmM6IEluIGZ1bmN0aW9uICdnc3RfYWFjX3BhcnNlX3JlYWRfbG9hc19hdWRpb19zcGVjaWZpY19jb25maWcnOgoJICBnc3RhYWNwYXJzZS5jOjQ0NjoxMjogZXJyb3I6IHZhcmlhYmxlICdzYnInIHNldCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWJ1dC1zZXQtdmFyaWFibGVdCgkgIGNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCgkgIFNpZ25lZC1vZmYtYnk6IE9sZWtzaWogUmVtcGVsIChBbGV4ZXkgRmlzaGVyKSA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKMjAxMS0xMi0yMSAxMTo1OTo0NiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXByb2JlLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwycmFkaW8uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9wdWxzZS9wdWxzZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL3Byb2JlLmM6CgkgIHVwZGF0ZSBmb3IgcmVtb3ZlZCBwcm9wZXJ0eSBwcm9iZQoKMjAxMS0wOS0wOSAxMTo0MjowOSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBsZXQgYnNpZCA5IGFuZCAxMCB0aHJvdWdoCgkgIEZpbGVzIHdpdGggOSBhbmQgMTAgaGFwcGVuLCBhbmQgc2VlbSB0byBjb21wbHkgd2l0aCB0aGUgPD0gOAoJICBmb3JtYXQsIHNvIGxldCB0aGVtIHRocm91Z2guCgkgIFRoZSBzcGVjIHNheXMgbm90aGluZyBhYm91dCA5IGFuZCAxMC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1ODU0NgoKMjAxMS0xMi0xOSAyMzo1MDoxOSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvY2FtY3RybC5jOgoJICBjb250cm9sbGVyOiBwb3J0IHRvIG5ldyBpbnRlcnBvbGF0aW9uLW1vZGUgYXBpCgoyMDExLTEyLTE5IDIyOjUzOjU3ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9jYW1jdHJsLmM6CgkgIGNvbnRyb2xsZXI6IHBvcnQgdG8gbmV3IGNvbnRyb2xsZXIgYXBpCgoyMDExLTEyLTE5IDE5OjAzOjUyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiB1cGRhdGUgZm9yIG5ldyBpbnRlcmxhY2VkIGNhcHMKCjIwMTEtMTItMTYgMTk6MTU6MzggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBwcm9wZXJseSBkZXRlcm1pbmUgZmluYWwgZHVyYXRpb24KCSAgLi4uIHdoaWNoIGNhbiBiZSBhdXRob3JhdGl2ZWx5IG9idGFpbmVkIGZyb20gb3VyIG93biB3cml0dGVuIHRpbWVzdGFtcHMuCgoyMDExLTEyLTE5IDEzOjU2OjMwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogb25seSB3cml0ZSBmdWxsIG1ldGFkYXRhIGF0IHN0YXJ0CgkgIC4uLiByYXRoZXIgdGhhbiBoYXZpbmcgKHBvdGVudGlhbGx5KSB1bm5lY2Vzc2FyeSBkdXBsaWNhdGVzIHdyaXR0ZW4gYWxsIG92ZXIsCgkgIG9yIGV2ZW4gY29udHJhZGljdG9yeSB2YXJ5aW5nIGZpbGVzaXplIGluZm8sIG9yIGR1cmF0aW9uIGluZm8gdGhhdCB3aWxsIG5vdAoJICBiZSByZXdyaXR0ZW4gdXBvbiBoZWFkZXIgcmV3cml0ZS4KCjIwMTEtMTItMTYgMTk6MTU6MDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiB1c2UgR3N0Q29sbGVjdFBhZHMyIGJ1ZmZlciBjYWxsYmFjayBhbmQgcnVubmluZyB0aW1lIGNsaXBwZXIKCSAgLi4uIHNpbmNlIHRoZSBkZWZhdWx0IGNvbGxlY3Rpb24gaGV1cmlzdGljcyBzdWZmaWNlLgoKMjAxMS0xMi0xNiAxODowMzowMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiB1c2UgR3N0Q29sbGVjdFBhZHMyIGJ1ZmZlciBjYWxsYmFjayBhbmQgcnVubmluZyB0aW1lIGNsaXBwZXIKCSAgLi4uIHNpbmNlIGRlZmF1bHQgY29sbGVjdGlvbiBoZXVyaXN0aWNzIHN1ZmZpY2UuCgoyMDExLTEyLTE2IDE3OjIwOjUxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGJyaW5nIGEgZmV3IGRlYnVnIHN0YXRlbWVudHMgdXAgdG8gc3BlY3MKCSAgLi4uIGFuZCBtaW5vciBzcGVsbGluZyBmaXguCgoyMDExLTEyLTE2IDE2OjU2OjM3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGFkZGl0aW9uYWwgc3VidGl0bGUgc3VwcG9ydAoKMjAxMS0xMi0xNSAyMTo1MDo0MiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgbWF0cm9za2FtdXg6IGFkZGl0aW9uYWwgYnVmZmVyIGhhbmRsaW5nIGNsZWFudXAKCjIwMTEtMTItMTUgMjE6NDU6MTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogdXNlIEdzdENvbGxlY3RQYWRzMiBidWZmZXIgY2FsbGJhY2sgYW5kIHJ1bm5pbmcgdGltZSBjbGlwcGVyCgoyMDExLTEyLTA3IDEzOjI0OjU1ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5oOgoJICBhYWNwYXJzZTogcGFyc2UgTE9BUyB2YXJpYW50CgkgIFRoZSBMT0FTIHZhcmlhbnQgc2VlbXMgdG8gaGF2ZSB0aHJlZSBkaWZmZXJlbnQgc3VidmFyaWFudHMgaXRzZWxmLAoJICBvbmx5IG9uZSBvZiB0aGVtIGlzIGltcGxlbWVudGVkIGFzIG15IHR3byBzYW1wbGVzIGhhcHBlbiB0byBiZQoJICB1c2luZyB0aGF0IG9uZS4KCSAgVGhlIHNhbXBsZSByYXRlIGlzIG5vdCBhbHdheXMgcmVwb3J0ZWQgY29ycmVjdGx5LCBhcyB0aGUgIm1haW4iCgkgIHNhbXBsZSByYXRlIGlzIGFwcGFyZW50bHkgc29tZXRpbWVzIGhhbGYgd2hhdCBpdCBzaG91bGQgYmUgKGJvdGgKCSAgb2YgbXkgc2FtcGxlcyByZXBvcnQgMjQwMDAgSHogdGhlcmUpLCBhbmQgdGhlcmUgYXJlIHR3byBvdGhlcgoJICBwYXJ0cyBvZiB0aGUgc3VidmFyaWFudCB3aXRoIGRpZmZlcmVudCBzYW1wbGluZyByYXRlcy4gT25lIG9mIHRoZW0KCSAgaXMgcGFyc2VkLCBidXQgbm90IHRoZSBvdGhlciwgYXMgaXQncyBsb2NhdGVkIGFmdGVyIHNvbWUgb3RoZXIKCSAgbGFyZ2UgYW1vdW50IG9mIHZhcmlhYmxlIGRhdGEgdGhhdCBuZWVkcyBwYXJzaW5nIGZpcnN0LCBhbmQgdGhlcmUKCSAgc2VlbXMgdG8gYmUgYSBMT1Qgb2YgaXQsIHdoaWNoIGlzIHVzZWxlc3MgZm9yIG91ciBuZWVkcyBoZXJlLgoJICBUaGlzIGVuZHMgdXAgYmVpbmcgcmF0aGVyIGluY29uc2VxdWVudGlhbCwgYXMgZmZkZWNfYWFjX2xhdG0sCgkgIHdoaWNoIGlzIHRoZSBvbmx5IGRlY29kZXIgdGhhdCBjYW4gZGVjb2RlIHN1Y2ggc3RyZWFtcywgZG9lcyBub3QKCSAgbmVlZCB0aGUgc2FtcGxlIHJhdGUgb24gdGhlIGNhcHMgYW55d2F5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1Mzk0CgoyMDExLTEyLTE5IDEwOjQ4OjU0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBkb24ndCByZW1vdmUgc3JjcGFkCgkgIERvbid0IHJlbW92ZSB0aGUgYWx3YXlzIHNyY3BhZCBpbiByZWFkeSBhbmQgbWFrZSB0aGUgZWxlbWVudCByZXVzYWJsZS4KCjIwMTEtMTItMTUgMTY6NDA6MjEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSAgZmx2bXV4OiB1c2UgR3N0Q29sbGVjdFBhZHMyIGV2ZW50IGNhbGxiYWNrCgkgIC4uLiBpbiBzdGVhZCBvZiBsb2NhbCBIQUNLLgoKMjAxMS0xMi0xNSAxNjozMDoxNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgbWF0cm9za2FtdXg6IHVzZSBHc3RDb2xsZWN0UGFkczIgZXZlbnQgY2FsbGJhY2sKCSAgLi4uIGluIHN0ZWFkIG9mIGxvY2FsIEhBQ0suCgoyMDExLTEyLTE1IDE2OjE2OjUyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4Lmg6CgkgIGF2aW11eDogdXNlIEdzdENvbGxlY3RQYWRzMiBldmVudCBjYWxsYmFjawoJICAuLi4gaW4gc3RlYWQgb2YgbG9jYWwgSEFDSy4KCjIwMTEtMTItMTUgMTY6MTU6MjIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiB1c2UgR3N0Q29sbGVjdFBhZHMyIGV2ZW50IGNhbGxiYWNrCgkgIC4uLiBpbiBzdGVhZCBvZiBsb2NhbCBIQUNLLgoKMjAxMS0xMi0xNCAxOToxMzoyMSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmg6CgkgIHNtcHRlOiBwb3J0IHRvIEdzdENvbGxlY3RQYWRzMgoKMjAxMS0xMi0xNCAxOToxMDo1MyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5oOgoJICBtdWx0aXBhcnRtdXg6IHBvcnQgdG8gR3N0Q29sbGVjdFBhZHMyCgoyMDExLTEyLTE0IDE5OjA3OjIzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBtYXRyb3NrYW11eDogcG9ydCB0byBHc3RDb2xsZWN0UGFkczIKCjIwMTEtMTItMTQgMTk6MDI6MjMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBwb3J0IHRvIEdzdENvbGxlY3RQYWRzMgoKMjAxMS0xMi0xNCAxODo1NTozNiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuaDoKCSAgaW50ZXJsZWF2ZTogcG9ydCB0byBHc3RDb2xsZWN0UGFkczIKCjIwMTEtMTItMTQgMTg6NTI6MzcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSAgZmx4bXV4OiBwb3J0IHRvIEdzdENvbGxlY3RQYWRzMgoKMjAxMS0xMi0xNCAxODozODowOSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5oOgoJICBhdmltdXg6IHBvcnQgdG8gR3N0Q29sbGVjdFBhZHMyCgoyMDExLTEyLTE0IDE4OjM0OjI1ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuaDoKCSAgY2Fpcm90ZXh0b3ZlcmxheTogcG9ydCB0byBHc3RDb2xsZWN0UGFkczIKCjIwMTEtMTItMTMgMTg6MTg6NDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thZGVtdXg6IGZpbHRlciBib2d1cyBpbmRleCBlbnRyaWVzIHdpdGggbWlzc2luZyBibG9jayBudW1iZXIKCSAgLi4uIHRvIGF2b2lkIGNvbnRyYWRpY3RvcnkgaW5mb3JtYXRpb24gcmVzdWx0aW5nIGluIHNlZWtzIHNlbmRpbmcgbW9yZQoJICBkb3duc3RyZWFtIHRoYW4gbmVlZGVkIGZvciB0aGUgY29ycmVzcG9uZGluZyBzZWdtZW50LgoKMjAxMS0xMi0xMyAxODoxNToxOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogY2F0ZXIgZm9yIHNhZmVyIGFyaXRobWV0aWMgd2l0aCBnbG9iYWwgc3RhcnQgdGltZQoKMjAxMS0xMi0xMyAxNzowMjowMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogdHdlYWsgZmluYWwgY2xvc2luZyBzZWdtZW50IHNlbmRpbmcKCSAgLi4uIHRvIGF2b2lkIGl0IGludGVyZmVyaW5nIHdpdGggKHNwYXJzZSkgc3RyZWFtIHN5bmNpbmcuCgoyMDExLTEyLTEyIDExOjUxOjA2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBtYWtlIGRlYnVnIG1lc3NhZ2UgbW9yZSB1c2VmdWwKCSAgQWRkIGluZm9ybWF0aW9uIGFib3V0IHRoZSB0YWdsaXN0IGFuZCB3aGljaCBwYWQgcmVjZWl2ZWQgdGhlCgkgIHRhZyBldmVudCBvbiB0aGUgZGVidWcgbG9nZ2luZy4KCjIwMTEtMTItMTMgMTE6NDY6NDMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBhdm9pZCB1c2luZyBmbG9hdGluZyBwb2ludCB1bm5lY2Vzc2FyaWx5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjU5MTEKCjIwMTEtMTItMTMgMTE6NDI6NDAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBmaXggZm9ybWF0IHNwZWNpZmllciBzaWduZWRuZXNzCgkgIFVzZSB1bnNpZ25lZCBzcGVjaWZpZXJzIGZvciBhbGwgdW5zaWduZWQgdmFsdWVzLgoJICBBIGxvdCBvZiB0aGUgdmFsdWVzIHVzZWQgaGVyZSBhcmUgdW5zaWduZWQsIGFuZCBzb21lIGNhbiB0YWtlCgkgIGhpZ2ggZW5vdWdoIHZhbHVlcyB0aGF0IHRoZWlyIHNpZ25lZCBjb3VudGVycGFydCB3aWxsIGJlIG5lZ2F0aXZlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1OTExCgoyMDExLTEyLTEyIDE2OjQ5OjE5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSAgd2F2cGFyc2U6IGFkZCBhIGlnbm9yZS1sZW5ndGggcHJvcGVydHkKCSAgVGhpcyBhbGxvd3MgcGxheWluZyBicm9rZW4gc3RyZWFtcyB3aGljaCB3cml0ZSBhbiBpbmNvcnJlY3QKCSAgbGVuZ3RoIGluIHRoZWlyIGRhdGEgY2h1bmtzIChzdWNoIGFzLCBhdCBsZWFzdCwgb25lIHN0cmVhbWluZwoJICBjYW1lcmEpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1OTExCgoyMDExLTEyLTEyIDExOjU0OjU2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbGliLWNvbXBhdC1wcml2YXRlLmg6CgkgIGdsaWItY29tcGF0OiBBZGQgbGljZW5zZSBib2lsZXJwbGF0ZSBmb3IgTEdQTAoKMjAxMS0xMi0xMiAxNToxNTo0NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogbWluZCAodW4pc2lnbmVkIGluIHNvbWUgdGltZXN0YW1wIGFyaXRobWV0aWMKCSAgLi4uIHRvIGF2b2lkIGVuZGluZyB1cCB3aXRoIGludmFsaWQgKG5lZ2F0aXZlKSBkdXJhdGlvbi4KCjIwMTEtMDItMDkgMTU6MzE6MjIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGluY3JlYXNlIHBhcnNlIHRvbGVyYW5jZSBmb3IgZnV6enkgZmlsZSBjYXNlcwoKMjAxMS0xMi0xMiAxMDozODoyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSAgYnVpbGQ6IGRpc3QgZ2xpYi1jb21wYXQtcHJpdmF0ZS5oIHByb3Blcmx5CgkgIEFkZCBtaXNzaW5nIHNsYXNoLgoKMjAxMS0xMi0xMiAxMDoxODoxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICB0ZXN0czogdXNlIGF0ZXhpdCwgZ19hdGV4aXQgaGFzIGJlZW4gZGVwcmVjYXRlZCBpbiBnbGliIG1hc3RlcgoKMjAxMS0xMi0xMiAwMjo1MjoxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtb292cmVjb3Zlci5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBTdXBwcmVzcyBkZXByZWNhdGlvbiB3YXJuaW5ncyBpbiBzZWxlY3RlZCBmaWxlcywgZm9yIGdfc3RhdGljX3JlY19tdXRleF8qIG1vc3RseQoJICBHU3RhdGljUmVjTXV0ZXggaXMgcGFydCBvZiBvdXIgQVBJL0FCSSwgbm90IG11Y2ggd2UgY2FuIGRvIGhlcmUKCSAgaW4gMC4xMCBmb3IgbW9zdCBvZiB0aGVzZS4KCjIwMTEtMTItMTIgMDI6NDE6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSogdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzoKCSogdGVzdHMvaWNsZXMvZ2RrcGl4YnVmc2luay10ZXN0LmM6CgkqIHRlc3RzL2ljbGVzL3Rlc3Qtb3NzNC5jOgoJKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOgoJICB0ZXN0czogZ190aHJlYWRfaW5pdCgpIGlzIGRlcHJlY2F0ZWQgaW4gZ2xpYiBtYXN0ZXIKCSAgSXQncyBub3QgbmVlZGVkIGFueSBsb25nZXIuCgoyMDExLTEyLTEyIDAyOjM4OjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIFVzZSBnX3RocmVhZF90cnlfbmV3KCkgaW5zdGVhZCBvZiBnX3RocmVhZF9jcmF0ZSgpIHdpdGggbmV3ZXIgZ2xpYiB2ZXJzaW9ucwoKMjAxMS0xMi0xMiAwMjozMTozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmg6CgkgIGFscGhhOiB1c2UgbmV3IGdsaWIgQVBJIGZvciBzdGF0aWMgbXV0ZXggaWYgYXZhaWxhYmxlCgoyMDExLTEyLTEyIDAyOjMwOjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbGliLWNvbXBhdC1wcml2YXRlLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9maXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9paXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICBXb3JrIGFyb3VuZCBkZXByZWNhdGVkIHRocmVhZCBBUEkgaW4gZ2xpYiBtYXN0ZXIKCSAgQWRkIHByaXZhdGUgcmVwbGFjZW1lbnRzIGZvciBkZXByZWNhdGVkIGZ1bmN0aW9ucyBzdWNoIGFzCgkgIGdfbXV0ZXhfbmV3KCksIGdfbXV0ZXhfZnJlZSgpLCBnX2NvbmRfbmV3KCkgZXRjLiwgbW9zdGx5CgkgIHRvIGF2b2lkIHRoZSBkZXByZWNhdGlvbiB3YXJuaW5ncy4gV2UnbGwgY2hhbmdlIHRoZXNlCgkgIG92ZXIgdG8gdGhlIG5ldyBBUEkgb25jZSB3ZSBkZXBlbmQgb24gZ2xpYiA+PSAyLjMyLgoKMjAxMS0xMi0xMiAxMDoyNDo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogUmVxdWlyZSBHTGliID49IDIuMjQKCSAgQWxsIG90aGVyIG1vZHVsZXMgcmVxdWlyZSB0aGlzIGFscmVhZHkgYW5kIG5vYm9keSBpcyB0ZXN0aW5nIHdpdGgKCSAgb2xkZXIgdmVyc2lvbnMgYW55d2F5LgoKMjAxMS0xMi0xMSAxODo0MDozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZzaW5rLmM6CgkgIGdka3BpeGJ1ZnNpbms6IGZpeCBpbnZlcnRlZCBwaXhlbC1hc3BlY3QtcmF0aW8KCSAgU3BvdHRlZCBieSBNaWtlIE1vcnJpc29uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1ODgyCgoyMDExLTEyLTExIDE3OjU1OjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJICBwdWxzZWF1ZGlvc2luazogZG9uJ3QgbGVhayBwYWQgdGVtcGxhdGUKCjIwMTEtMTItMTAgMTQ6NDg6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkgIHNvdXA6IGZpeCBzdGFydC9zdG9wIHJhY2UgaW4gc291cGh0dHBjbGllbnRzaW5rCgkgIEZpeCBjcmFzaCBvciBoYW5nIGluIGdlbmVyaWMvc3RhdGVzIHVuaXQgdGVzdCB3aGVuIGRvaW5nIHN0b3AoKQoJICByaWdodCBhZnRlciBzdGFydCgpLiBDcmVhdGUgbWFpbiBsb29wIGluIHRoZSBzdGFydCBmdW5jdGlvbiBhbHJlYWR5CgkgIGFuZCBub3QganVzdCBpbiB0aGUgdGhyZWFkIGZ1bmN0aW9uLCBzbyB0aGF0IHN0b3AoKSBhbHdheXMgaGFzIGEKCSAgdmFsaWQgbWFpbiBsb29wIHRvIHF1aXQgb24uIEFsc28sIGNhbGxpbmcgZ19tYWluX2xvb3BfcXVpdCgpIGJlZm9yZQoJICBnX21haW5fbG9vcF9ydW4oKSB3b24ndCB3b3JrIGFuZCByZXN1bHQgaW4gdGhlIHN0b3AgZnVuY3Rpb24gd2FpdGluZwoJICBmb3IgdGhlIHRocmVhZCB0byBqb2luIGZvcmV2ZXIuIFRoZXJlZm9yZSwgd2FpdCBmb3IgdGhlIHRocmVhZCB0bwoJICBiZSByZWFkeSBhbmQgZ2V0IHRoZSBtYWluIGxvb3AgcnVubmluZyBpbiB0aGUgc3RhcnQoKSBmdW5jdGlvbiwgdG8KCSAgYmUgc3VyZSBzdG9wKCkgYWx3YXlzIHdvcmtzLgoKMjAxMS0xMi0xMCAxMzozNTowOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9maWxlcy9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGRpc3QgdGVzdCBmaWxlIHVzZWQgaW4gbWF0cm9za2FwYXJzZSB1bml0IHRlc3QKCjIwMTEtMTItMTAgMTI6MzI6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYzoKCSAgdGVzdHM6IGZpeCB1cCByZ3ZvbHVtZSB0ZXN0IGZvciBiYXNldHJhbnNmb3JtIGV2ZW50IGNhY2hpbmcKCSAgU29tZSB0ZXN0cyBhc3N1bWVkIHRoYXQgdGFnIGV2ZW50cyB3b3VsZCBhbHdheXMgcHVzaGVkIHRocm91Z2gKCSAgaW1tZWRpYXRlbHksIHdoaWNoIGlzbid0IHRoZSBjYXNlIGFueSBsb25nZXIsIHNvIHB1c2ggYSBuZXdzZWdtZW50CgkgIGV2ZW50IGFuZCBhbiBlbXB0eSBidWZmZXIgZmlyc3QuCgoyMDExLTEyLTEwIDExOjEyOjAxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHNzcmNkZW11eDogZml4IGl0ZXJhdG9yIGFuZCBjYXBzCgoyMDExLTEyLTEwIDExOjExOjAwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBmb3J3YXJkIHRoZSBjYXBzIGV2ZW50CgoyMDExLTEyLTEwIDExOjA5OjQzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogc2ltcGx5IGZvcndhcmQgdGhlIGNhcHMgZXZlbnQKCSAgZm9yd2FyZCB0aGUgY2FwcyBldmVudCB3ZSBnZXQgYXMgaW5wdXQgaW5zdGVhZCBvZiBtYWtpbmcgYSBuZXcgZXZlbnQgZXRjLi4KCjIwMTEtMTItMDkgMjA6MTA6MTkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGZvcndhcmQgY2FwcwoKMjAxMS0xMi0wOSAxOTo0NjowMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwOiBwYXNzIHBhcmVudCB0byBzZXRjYXBzIG1ldGhvZHMKCjIwMTEtMTItMTAgMDI6MjE6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vTElOR1VBUzoKCSogcG8vZW8ucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdi5wbzoKCSogcG8vc3IucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDExLTEyLTA5IDE2OjA0OjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlOiByZW5hbWUgImNsaWVudCIgcHJvcGVydGllcyB0byAiY2xpZW50LW5hbWUiCgkgIEJldHRlciBuYW1lLCBidXQgYWxzbyBtYXRjaGVzIHRoZSBwcm9wZXJ0eSBvbiB0aGUgamFjawoJICBlbGVtZW50cyAod2hlcmUgImNsaWVudCIgaXMgdXNlZCBmb3Igc29tZXRoaW5nIGVsc2UpLgoKMjAxMS0xMi0wOSAxNTo1MDoyOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBkb24ndCBsZWFrIGNsaWVudCBuYW1lIHdoZW4gZnJlZWluZyB0aGUgZWxlbWVudAoJICBBbmQgYWRkIGd0ay1kb2MgY2h1bmtzIGZvciB0aGUgbmV3IHByb3BlcnR5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1ODcyCgoyMDExLTEyLTA5IDE1OjQ1OjAzICswMDAwICBOaWNvbGFzIEJhcm9uIDxob2dnaW5zQHJhZGlvbS5mcj4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmg6CgkgIGphY2s6IGFkZCAiY2xpZW50LW5hbWUiIHByb3BlcnR5IHRvIGphY2thdWRpb3NpbmsgYW5kIGphY2thdWRpb3NyYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1ODcyCgoyMDExLTEyLTA5IDEyOjE5OjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9sYXcvTWFrZWZpbGUuYW06CgkgIGxhdzogZml4IENGTEFHUyBhbmQgTElCUyBvcmRlciBpbiBNYWtlZmlsZS5hbQoKMjAxMS0xMi0wOSAxMjoxNTozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTItMDkgMTA6NTE6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cDogZml4IG1hcnNoYWxsZXJzCgkgIFJlbW92ZSBjdXN0b20gbWFyc2hhbGxlcnMgZm9yIG1pbm9iamVjdC4KCSAgSW5pdCBSVENQIGJ1ZmZlciBjb3JyZWN0bHkuCgkgIEhhbmRsZSByZXN1bHRzIGZyb20gc2V0Y2FwcwoJICBSZW1vdmUgYXNzZXJ0cy4KCjIwMTEtMTItMDkgMTA6NTA6MTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGF3L01ha2VmaWxlLmFtOgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkgIGxhdzogZml4IG5lZ290aWF0aW9uCgoyMDExLTEyLTA4IDExOjAwOjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHN0cmVhbS1mb3JtYXQ9cmF3IGdvZXMgd2l0aCBhYWMgY2Fwcywgbm90IG1wMyBjYXBzCgoyMDExLTEyLTA4IDAxOjI4OjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi9tYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYwoKMjAxMS0xMi0wMiAxMjowNzoyNCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJzcmM6IGRvIG5vdCBpZ25vcmUgdGhlIGhpZ2hlc3QgZnJhbWUgaW50ZXJ2YWwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTM4NwoKMjAxMS0xMi0wMiAxMTo1OTowMyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJzcmM6IGRvIG5vdCBpZ25vcmUgdGhlIGxhcmdlc3QgcmVzb2x1dGlvbgoJICBUaGUgJ21heCcgdmFsdWUgaXNuJ3QgYW4gU1RMIHN0eWxlICJvbmUgYWZ0ZXIgdGhlIGVuZCIgYm91bmQsCgkgIGJ1dCB0aGUgbGFyZ2VzdCBhbGxvd2VkIHZhbHVlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1Mzg3CgoyMDExLTEyLTA2IDE2OjQ3OjI1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgIGRvY3M6IGFkZCBhZGQgdGhlIHR3byBlbnVtIHZhbHVlcyB0aGF0IHdlcmUganVzdCBhZGRlZCB0b28KCjIwMTEtMTItMDYgMTY6MTQ6NTQgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgIG11bHRpZmlsZXNpbms6IGV4cG9zZSB0aGUgZW51bSBwcm9wZXJ0eSBkb2NzIGZvciBzcGxpdHRpbmcgbW9kZS4KCSAgRml4ZXMgIzY2NTY2Ni4KCjIwMTEtMTItMDYgMTQ6MjM6MzAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgaDI2M3BheTogZml4IGludmFsaWQgcmV0dXJuIHZhbHVlCgoyMDExLTEyLTA2IDEzOjU5OjUyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiByZW1vdmUgdW51c2VkIGZsdXNoIHBhcmFtCgoyMDExLTEyLTA1IDE4OjQwOjI2ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cnRweHF0ZGVwYXkuYzoKCSAgcnRweHF0ZGVwYXk6IEluaXRpYWxpemUgR3N0UlRQQnVmZmVyIGJlZm9yZSB1c2FnZQoKMjAxMS0xMi0wNSAxODo0MDoxMiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwbWFuYWdlcjogSW5pdGlhbGl6ZSBHc3RSVFBCdWZmZXIgYmVmb3JlIHVzYWdlCgoyMDExLTEyLTA1IDE4OjM5OjU5ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICBydHA6IEluaXRpYWxpemUgR3N0UlRQQnVmZmVyIGJlZm9yZSB1c2FnZQoKMjAxMS0xMi0wNSAxMjoxNToyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IHJlcGxhY2UgZGVwcmVjYXRlZCBHU1RfQ0xBU1NfTE9DSwoKMjAxMS0xMS0yNCAxMzo1ODowMSArMDEwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheTogQ2VpbCBqcGVnIGRpbWVuc2lvbnMsIGluc3RlYWQgb2YgZmxvb3IKCSAgQSBKUEVHIGltYWdlIGluc2lkZSBhbiBSVFAgc3RyZWFtIGhhcyBhIHByZWNlZWRpbmcgUkZDMjQzNSBoZWFkZXIgdGhhdAoJICBjb252ZXlzIHdpZHRoL2hlaWdodC4gVGhlIGRpbWVuc2lvbnMgaW4gdGhpcyBoZWFkZXIgYXJlIGxpbWl0ZWQgdG8gYmUKCSAgbXVsdGlwbGVzIG9mIDguIFNpbmNlIEpQRUcgdXNlcyBhbiBNQ1Ugb2YgOHg4IHBpeGVscyBhbnkgaW1hZ2UgbXVzdAoJICBhbHJlYWR5IGluZGlyZWN0bHkgaGF2ZSBpbWFnZSBkYXRhIGRpbWVuc2lvbnMgdGhhdCBhcmUgcm91bmRlZCB1cCBpbgoJICBvcmRlciB0byBjb250YWluIGVub3VnaCBkYXRhIHRvIHJlbmRlciB0aGUgaW1hZ2UuIFRoZXJlZm9yZSB0aGlzIGZpeAoJICBzYWZlbHkgcm91bmRzIHRoZSBpbWFnZSBkaW1lbnNpb25zIGluIHRoZSBSRkMyNDM1IGhlYWRlciB1cCB0byB0aGUKCSAgY2xvc2VzdCBtdWx0aXBsZSBvZiA4LgoKMjAxMS0xMi0wNCAxMjo1MDo1NyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5oOgoJICBmbGFjcGFyc2U6IGVuc3VyZSB3ZSBvbmx5IGNoZWNrIGZvciBzYW1wbGUvYmxvY2sgbWl4dXAgYXQgc3RhcnQKCSAgT3RoZXJ3aXNlIHdlIG1pZ2h0IHRyaWdnZXIgYXQgc29tZSBwb2ludCB3aXRoaW4gdGhlIGZpbGUsIGJ1dCB0aGUKCSAgY2hlY2sgaXMgb25seSBtYWtpbmcgc2Vuc2UgZm9yIHRoZSBzZWNvbmQgYmxvY2suCgoyMDExLTEyLTAzIDE4OjE0OjU5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJICBtYXRyb3NrYXBhcnNlOiB3YXJuIGlmIGFjY3VtdWxhdGluZyBoZWFkZXJzIGFmdGVyIHRoZXkgd2VyZSBwdXNoZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTQxMgoKMjAxMS0xMC0yNSAxMjo1NDo0MyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSAgbWF0cm9za2FwYXJzZTogZml4IHBhcnNpbmcKCSAgTWFyayBtb3JlIHBhcnRzIGFzIGJlbG9uZ2luZyB0byBzdHJlYW1oZWFkZXJzLgoKMjAxMS0xMi0wMyAxNzozMDoxMCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBmaXggZGlzY29udGludWl0eSB0aHJlc2hvbGQgY2hlY2sgd2hlbiB0aW1lc3RhbXBzIGdvIGJhY2t3YXJkcwoJICBTaW5jZSB1bnNpZ25lZCB0eXBlcyBhcmUgdXNlZCwgYSBuZWdhdGl2ZSB2YWx1ZSB3b3VsZCBzaG93IGFzIHZlcnksIHZlcnkKCSAgcG9zaXRpdmUuCgkgIEZpeGVzIEEvViBzeW5jIG9uIHNvbWUuLi4gbGVzcyB0aGFuIHdlbGwgbWFkZSBmaWxlcyB3aGVyZSB0aW1lc3RhbXBzIGdvCgkgIGJhY2t3YXJkcy4KCjIwMTEtMTItMDIgMjI6MjU6MTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvdGVzdHBsdWdpbi5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgdXBkYXRlIGZvciBiYXNlc2luayBldmVudCBoYW5kbGVyIGNoYW5nZXMKCjIwMTEtMTItMDIgMTI6MDE6MjIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyc3JjOiBhZGQgYSBjb21tZW50IGFib3V0IGEgImhpZGRlbiIgYXNzdW1wdGlvbiBvbiByYW5rIHZhbHVlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1Mzg3CgoyMDExLTEyLTAyIDAxOjU4OjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi9tYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWwKCSAgZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmMKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmMKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jCgkgIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jCgoyMDExLTEyLTAxIDE4OjU1OjQ1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDNkZW11eC5jOgoJICB1cGRhdGUgZm9yIHRhZyBBUEkgY2hhbmdlcwoKMjAxMS0xMi0wMSAxNToyOToxNSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogcGxhY2F0ZSBnY2Mgc2luY2UgLVdlcnJvciBpcyB1c2VkCgkgIEluaXRpYWxpemUgdmFsdWVzIHRoYXQgR0NDIGNhbm5vdCBwcm92ZSBhcmUgbm90IHVzZWQgd2l0aG91dAoJICBiZWluZyBpbml0aWFsaXplZCwgYW5kIGFzc2VydCB0aGF0IEkgZGlkIG5vdCBtZXNzIHVwIG15IHByb29mLgoKMjAxMS0xMi0wMSAxNDoxMzowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGZpeCB1cCBMSUJTIG9yZGVyIHNvbSBtb3JlYAoKMjAxMS0xMi0wMSAxMzoyMjo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thLW11eDogZml4IG5hbWUgb2YgbmV3IHByb3BlcnR5IGFuZCB0aGUgdW5pdCB0ZXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQzNzkKCjIwMTEtMDktMjUgMTQ6NTc6NTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIG11bHRpZmlsZXNpbms6IGFkZCBiYXNpYyBidWZmZXIgbGlzdCBoYW5kbGluZwoJICBXZSBhc3N1bWUgZm9yIG5vdyB0aGF0IGFsbCBidWZmZXJzIGluIGEgYnVmZmVyIGxpc3QKCSAgc2hvdWxkIGVuZCB1cCBpbiB0aGUgc2FtZSBmaWxlIChzbyB3ZSBjYW4gZ3JvdXAgR09QcwoJICBpbiBidWZmZXIgbGlzdHMsIGZvciBleGFtcGxlKS4gQ291bGQgb3B0aW1pc2UgdGhpcwoJICBhIGJpdCB0byBhdm9pZCB0aGUgbWVtY3B5LgoKMjAxMS0wOS0yMyAxODo0MzozNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgbXVsdGlmaWxlc2luazogd3JpdGUgc3RyZWFtLWhlYWRlcnMgd2hlbiBzd2l0Y2hpbmcgdG8gdGhlIG5leHQgZmlsZSBpbiBtYXgtc2l6ZSBtb2RlCgoyMDExLTA5LTIzIDE4OjMxOjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgbXVsdGlmaWxlc2luazogYWRkIG5ldyAnbWF4LXNpemUnIG1vZGUgZm9yIHN3aXRjaGluZyB0byB0aGUgbmV4dCBmaWxlCgoyMDExLTA5LTIzIDE3OjQ5OjA1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgbXVsdGlmaWxlc2luazogYWRkICJtYXgtZmlsZS1zaXplIiBwcm9wZXJ0eSBmb3IgbmV3IG5leHQtZmlsZSBtb2RlCgoyMDExLTEyLTAxIDEzOjM4OjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBEb24ndCBmb3JnZXQgU1NBIHN1YnRpdGxlcyBpbiBsYXN0IGNvbW1pdAoKMjAxMS0xMi0wMSAxMzozNDo1MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBtYXRyb3NrYWRlbXV4OiBPbmx5IGNoZWNrIGZvciBtYXJrdXAgYW5kIGVzY2FwZSBpZiBuZWNlc3NhcnkgZm9yIHBsYWludGV4dCBzdWJ0aXRsZXMKCSAgT3RoZXJ3aXNlIHdlIGJyZWFrIFVTRiBhbmQgQVNTL1NTQSBzdWJ0aXRsZXMuCgoyMDExLTEyLTAxIDEzOjIzOjMzICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06CgkgIG11bHRpZmlsZTogZml4IGJ1aWxkIGluIHVuaW5zdGFsbGVkIHNldHVwCgkgIEFkZCAtYmFzZSBsaWJzIGluY2x1ZGVzIHRvIENGTEFHUywgZml4IG9yZGVyIG9mIExJQlMgPGNpdD4uCgoyMDExLTEyLTAxIDEzOjA4OjAxICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJICB0ZXN0czogZml4IGdfbWtkdGVtcCBwcmVzZW5jZSBjaGVjayBpbiBtdWx0aWZpbGUgdGVzdHMKCSAgZ19ta2R0ZW1wIHdhcyBhZGRlZCBpbiBnbGliIDIuMzAgZXZlbiB0aG91Z2ggdGhlIGRvYyBjbGFpbXMgaXQgd2FzIGFkZGVkIGluCgkgIDIuMjYuCgoyMDExLTA3LTE3IDIzOjU2OjA0ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJICBtdWx0aWZpbGVzaW5rOiBhZGQgZmxhZyB0byBjdXQgYWZ0ZXIgYSBmb3JjZSBrZXkgdW5pdCBldmVudAoKMjAxMS0xMi0wMSAxMjo0NzoyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogQ29weSBhbGwgYnVmZmVyIGZsYWdzIHdoZW4gY3JlYXRpbmcgYSBzdWJ0aXRsZSBidWZmZXIgY29weSBhZnRlciBwb3N0cHJvY2Vzc2luZwoJICBUaGlzIGFsc28gY29waWVzIHRoZSBjYXBzLiBPdGhlcndpc2Ugd2UgY291bGQgZW5kIHVwIHB1c2luZwoJICB0aGUgZmlyc3QgYnVmZmVyIHdpdGhvdXQgYW55IGNhcHMsIHdoaWNoIGNhdXNlcyBkb3duc3RyZWFtCgkgIHRvIG5vdCBnZXQgbm90aWZpZWQgYWJvdXQgdGhlIGNhcHMuCgkgIEZpeGVzIGJ1ZyAjNjY0ODkyLgoKMjAxMS0xMC0xMSAwMjowNzoxMyArMDIwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogbWFrZSBkZWZhdWx0IGZyYW1lcmF0ZSBvcHRpb25hbCBwZXIgc3RyZWFtCgkgIHRoZXJlIGlzIGF0IGxlYXN0IHR3byB1c2UgY2FzZXMgd2hlcmUgZGVmYXVsdCBmcmFtZSByYXRlCgkgIHNob3VsZCBvciBtYXkgYmUgZGlzYWJsZWQ6CgkgIC0gdnA4IHN0cmVhbSB3aXRoIGFsdHJlZiBmcmFtZSBlbmFibGVkLiBJZiBkZWZhdWx0IGZyYW1lIHJhdGUKCSAgaXMgZW5hYmxlZCwgc29tZSBwbGF5ZXJzIHdpbGwgbWlzc2ludGVycHJldGUgaXQgKGNyaXRpY2FsISkKCSAgLSBmb3Igd2VibSBjb250YWluZXIsIHRvIHJlZHVjZSBtaWNybyBvdmVyaGVhZAoJICAtIGZvciBzdHJlYW0gd2l0aCB2YXJpYWJsZSBmcmFtZSByYXRlLgoJICBTaWduZWQtb2ZmLWJ5OiBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoyMDExLTExLTMwIDIyOjEzOjExICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2VmZmVjdHYvZ3N0cmlwcGxlLmM6CgkgIHJpcHBsZXR2OiBmaXggQ0xBTVAgZW5kLXZhbHVlcwoKMjAxMS0xMS0zMCAxOToyNTozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgZG9jczogdXBkYXRlIGRvY3MKCjIwMTEtMTEtMzAgMTk6MDA6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbToKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdGZpbGVzcmMuYzoKCSogZ3N0L211bHRpZmlsZS9wYXR0ZXJuc3BlYy5jOgoJKiBnc3QvbXVsdGlmaWxlL3BhdHRlcm5zcGVjLmg6CgkgIHNwbGl0ZmlsZXNyYzogc3BlY2lmeSBmaWxlbmFtZXMgdmlhIG5vcm1hbCB3aWxkY2FyZHMgaW5zdGVhZCBvZiByZWd1bGFyIGV4cHJlc3Npb25zCgkgIExlc3MgY3JhY2t0YXN0aWMgaW4gdGhlIGVuZC4KCjIwMTEtMTAtMTAgMTg6Mjg6MTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdGZpbGVzcmMuYzoKCSAgc3BsaXRmaWxlc3JjOiBjaGVjayBieXRlcyBhY3R1YWxseSByZWFkLCBqdXN0IGluIGNhc2UKCSAgSGFuZGxlIGNvcm5lciBjYXNlIHdoZXJlIHdlIHRyeSB0byByZWFkIGJleW9uZCB0aGUgZW5kIG9mIHRoZQoJICBsYXN0IGZpbGUgcGFydCwgaW4gd2hpY2ggY2FzZSB3ZSB3YW50IHRvIHJldHVybiBhIHNob3J0IHJlYWQuCgkgIElmIHdlIGdldCBmZXdlciBieXRlcyB0aGFuIGV4cGVjdGVkIGZvciBhbnkgb3RoZXIgZmlsZSBwYXJ0LAoJICB3ZSBzaG91bGQganVzdCBlcnJvciBvdXQsIHNpbmNlIHNvbWV0aGluZyBmaXNoeSdzIGdvaW5nIG9uCgkgIHRoZW4uCgoyMDExLTEwLTA2IDA4OjMzOjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmM6CgkgIHNwbGl0ZmlsZXNyYzogc2V0IG9mZnNldHMgb24gYnVmZmVycwoJICBMb29rcyBsaWtlIHNvbWUgcGFyc2VycyAoaW4gc29tZSB2ZXJzaW9ucyBhdCBsZWFzdCkgZXhwZWN0IHRoZQoJICBvZmZzZXRzIHRvIGJlIHNldCwgYW5kIGJlaGF2ZSB3ZWlyZCBpZiB0aGF0J3Mgbm90IHRoZSBjYXNlCgkgIChlLmcuIG9mZi1ieS1vbmUgaW4gaDI2NHBhcnNlKS4KCjIwMTEtMDctMjggMjA6MTk6NTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbXVsdGlmaWxlL01ha2VmaWxlLmFtOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZS5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5oOgoJICBtdWx0aWZpbGU6IGFkZCBzcGxpdGZpbGVzcmMgZWxlbWVudAoJICBBZGQgbmV3IHNwbGl0ZmlsZXNyYyBlbGVtZW50IHRoYXQgcHJlc2VudHMgbXVsdGlwbGUgZmlsZXMKCSAgKHNlbGVjdGFibGUgdmlhIGEgbG9jYXRpb24gcmVnZXgpIGFzIG9uZSBzaW5nbGUgY29udGlndW91cwoJICBmaWxlLgoKMjAxMS0xMS0zMCAwNzo1Nzo0MCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5oOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICB1cGRhdGUgZm9yIG1vdmVkIGF1ZGlvIGludGVyZmFjZXMKCjIwMTEtMTEtMjkgMTc6MzQ6MTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJICBSZXZlcnQgInB1bHNlYXVkaW9zaW5rOiBmaXggY2FwcyBsZWFrIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGQ2YTlkZTllMmFlZGM4YjY2YWIzMjE5OTAyYjVhMzdlOGQ2NWFkYTIuCgkgIHNldGNhcHMgZnVuY3Rpb25zIGFyZW4ndCBzdXBwb3NlZCB0byB0YWtlIG93bmVyc2hpcCBvZiB0aGUgY2FwcyBwYXNzZWQKCjIwMTEtMTEtMjkgMTk6MTA6NTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9vdmVybGF5Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRvcmllbnQuaDoKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJICBmaXggZm9yIG1vdmVkIGludGVyZmFjZXMKCjIwMTEtMTEtMjggMjM6MjA6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgY29tbWl0ICc3NTIxYjU5N2Y0ZGM0OWQ4ZDE2OGYzNjhmMGU3ZWJhZjk4YTcyMTU2JyBpbnRvIDAuMTEKCjIwMTEtMTEtMjggMjE6Mjc6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luL21hc3RlcicgaW50byAwLjExCgoyMDExLTExLTI4IDIxOjI3OjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGNvbW1pdCAnYTIzMzdiOGFmNDVjYjVlOGMwOTFmZjBlMWMzZWY0YjZjYzdiMjBhMycgaW50byAwLjExCgoyMDExLTExLTI4IDE4OjI1OjUyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkgIFVwZGF0ZSBmb3IgaW5kZXhhYmxlIGNoYW5nZQoKMjAxMS0xMS0yOCAxNzo1MjowNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSAgdXBkYXRlIGZvciBjbG9jayBwcm92aWRlciBBUEkgY2hhbmdlCgoyMDExLTExLTI4IDE2OjU3OjI0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBmaXggZm9yIGVsZW1lbnQgZmxhZyB1cGRhdGVzCgoyMDExLTExLTI4IDEyOjU4OjQ0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6CgkqIGV4dC9jYWlyby9nc3RjYWlyb292ZXJsYXkuYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvcmVuZGVyLmM6CgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuYzoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9lc2QvZXNkbW9uLmM6CgkqIGV4dC9lc2QvZXNkc2luay5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5jOgoJKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc3JjLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZzaW5rLmM6CgkqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6CgkqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zaW5rLmM6CgkqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zcmMuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9qcGVnL2dzdHNtb2tlZGVjLmM6CgkqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6CgkqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6CgkqIGV4dC9saWJtbmcvZ3N0bW5nZGVjLmM6CgkqIGV4dC9saWJtbmcvZ3N0bW5nZW5jLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkqIGV4dC9taWttb2QvZ3N0bWlrbW9kLmM6CgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0aGR2MTM5NHNyYy5jOgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBleHQvdGFnbGliL2dzdGFwZXYybXV4LmNjOgoJKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJKiBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2JyZWFrbXlkYXRhLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2NwdXJlcG9ydC5jOgoJKiBnc3QvZGVidWd1dGlscy9lZmVuY2UuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc2RlYnVnLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNzZXR0ZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2c2Vlay5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RwdXNoZmlsZXNyYy5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3R0YWdpbmplY3QuYzoKCSogZ3N0L2RlYnVndXRpbHMvcHJvZ3Jlc3NyZXBvcnQuYzoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJKiBnc3QvZGVidWd1dGlscy90ZXN0cGx1Z2luLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0b3AuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmlwcGxlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c3RyZWFrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cnRweHF0ZGVwYXkuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS93ZWJtLW11eC5jOgoJKiBnc3QvbWVkaWFuL2dzdG1lZGlhbi5jOgoJKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnbGltaXRlci5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVucGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHZhcmlvdXM6IGZpeCBwYWQgdGVtcGxhdGUgbGVha3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MjY2NAoKMjAxMS0xMS0yOCAxMzowODoyNyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgdmFyaW91czogZml4IHBhZCB0ZW1wbGF0ZSByZWYgbGVha3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MjY2NAoKMjAxMS0xMS0yOCAxMTo0NzoxMSArMDEwMCAgQ2hhZCA8Y2hhbm5hQGNhbHRlY2guZWR1PgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0dGFnaW5qZWN0LmM6CgkgIHRhZ2luamVjdDogc2V0IGdhcC1hd2FyZQoJICBUaGUgZWxlbWVudCBkb2VzIG5vdCBtb2RpZnkgdGhlIGRhdGEgYW55d2F5LgoKMjAxMS0xMS0yNyAyMzozMjoxOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBwbzogdXBkYXRlIHBvIGZpbGVzCgoyMDExLTExLTI3IDIzOjMxOjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi9tYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmMKCjIwMTEtMTEtMjYgMjE6Mzk6MzMgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICBlcXVhbGl6ZXI6IGFsc28gc3luYyB0aGUgcGFyYW1ldGVycyBmb3IgdGhlIGZpbHRlciBiYW5kcwoKMjAxMS0xMS0yNiAxNjowNjo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmM6CgkgIG1hdHJvc2thZGVtdXg6IGluaXRpYWxpc2Ugc2Vlbl9tYXJrdXBfdGFnIGZpZWxkIG9uIHN1YnRpdGxlIHN0cmVhbSBjb250ZXh0CgoyMDExLTExLTI2IDEwOjAxOjA3ICswMTAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuaDoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJKiBnc3QvbWF0cm9za2Evd2VibS1tdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzoKCSAgbWF0cm9za2E6IHBvcnQgdG8gMC4xMQoJICBTdXBwb3J0IGZvciBUQUdfSU1BR0UgYW5kIFRBR19BVFRBQ0hNRU5UIGlzIGNvbW1lbnRlZCBvdXQ7IHRoaXMgcmVxdWlyZXMgY2FwcwoJICBvbiBidWZmZXJzIHdoaWNoIGlzIGdvbmUgZnJvbSAwLjExLgoJICBTZWdtZW50IGhhbmRsaW5nIGluIHRoZSBkZW11eGVyIGlzIGEgYml0IGNvbXBsZXg7IEkgYWRkZWQgc29tZSBGSVhNRSBjb21tZW50cwoJICBpbiBwbGFjZXMgd2hlcmUgSSdtIG5vdCB5ZXQgc3VyZSBpZiBJIHBvcnRlZCBjb3JyZWN0bHkuCgoyMDExLTExLTI2IDEzOjU0OjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3B1bHNlL3BsdWdpbi5jOgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuaDoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmg6CgkgIHB1bHNlYXVkaW86IHJlcXVpcmUgcHVsc2VhdWRpbyA+PSAxLjAKCjIwMTEtMTEtMjYgMTM6MzQ6MTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luL21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmMKCSAgZXh0L3B1bHNlL3B1bHNlc3JjLmMKCSAgZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jCgkgIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYwoJICBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmMKCSAgZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYwoJICBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmMKCSAgZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5oCgkgIGdzdC9lZmZlY3R2L2dzdHJpcHBsZS5jCgkgIFNvbWUgcG9zc2libGUgRklYTUVzIHJlbWFpbmluZyBpbiB0aGUgYXVkaW8gcGFyc2VyIGdldGNhcHMgZnVuY3Rpb25zLgoKMjAxMS0xMS0yNSAxOToyODo1NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5jOgoJICBpc21sbXV4OiBVc2UgaXNvLWZyYWdtZW50ZWQgYXMgdmFyaWFudCB0eXBlCgkgIFVzaW5nICdpc28nIGNvbmZsaWN0cyB3aXRoIG1wNG11eCB2YXJpYW50IHR5cGUsIGlzbWxtdXggbm93CgkgIHVzZXMgaXNvLWZyYWdtZW50ZWQKCSAgRml4ZXMgIzY1NjgyMwoKMjAxMS0xMS0yNCAxMjowNTozMyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmg6CgkgIHB1bHNlc3JjOiBJbXBsZW1lbnQgR3N0U3RyZWFtVm9sdW1lIGludGVyZmFjZQoJICBQdWxzZUF1ZGlvIDEuMCBzdXBwb3J0cyBwZXItc291cmNlLW91dHB1dCB2b2x1bWVzLCBhbmQgdGhpcyBleHBvc2VzIHRoZQoJICBmdW5jdGlvbmFsaXR5IHZpYSB0aGUgR3N0U3RyZWFtVm9sdW1lIGludGVyZmFjZS4KCSAgV2hlbiBjb21waWxlZCBhZ2FpbnN0IHByZS0xLjAgUHVsc2VBdWRpbywgdGhlIGludGVyZmFjZSBpcyBub3QKCSAgaW1wbGVtZW50ZWQsIGFuZCB0aGUgInZvbHVtZSIgb3IgIm11dGUiIHByb3BlcnRpZXMgYXJlIG5vdCBhdmFpbGFibGUuCgkgIFRoaXMgYml0IG9mIHVnbGluZXNzIHdpbGwgZ28gYXdheSB3aGVuIHdlIGNhbiBkZXBlbmQgb24gUHVsc2VBdWRpbyAxLjAKCSAgb3IgZ3JlYXRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5NTA1NQoKMjAxMS0wOS0xMCAyMToyMTozOCAtMDcwMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IFRyaXZpYWwgY29tbWVudCBjb3B5LXBhc3RlLW8gZml4CgoyMDExLTExLTE0IDEyOjQzOjI3ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJICBwdWxzZWF1ZGlvc2luazogUmVtb3ZlIHJlZHVuZGFudCBjb2RlCgoyMDExLTExLTE0IDEyOjQxOjQxICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJICBwdWxzZWF1ZGlvc2luazogQ2xlYW4gdXAgcmVmY291bnRpbmcgaW4gZXZlbnQgcHJvYmUKCSAgTWFrZXMgc3VyZSB3ZSBkb24ndCBsZWFrIGEgcmVmY291bnQgaWYgdGhlIG9iamVjdCBpcyBkaXNwb3NlZCBiZWZvcmUgYQoJICBORVdTRUdNRU5UIHR1cm5zIHVwLgoKMjAxMS0xMS0yNCAxNjozMTozOCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBmaXggc2Vla2luZwoJICBXaGljaCBJIGFjY2lkZW50YWxseSBicm9rZSB3aGVuIGZpeGluZyBmbHYgdmlkZW9zIGJyZWFraW5nIG9uCgkgIHNwdXJpb3VzIHRpbWVzdGFtcCBkaXNjb250aW51aXRpZXMgaW4gYnJva2VuIGZpbGVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMxNDMwCgoyMDExLTExLTI1IDEzOjEzOjQ3ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmg6CgkgIGVmZmVjdHY6IHJlcGFpciBjb2xvciBtb2RlcyBpbiByYWRpb2FjdHYgYnkgdGFraW5nIHJnYixiZ3IgaW50byBhY2NvdW50CgoyMDExLTExLTI1IDExOjQ0OjQ5ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5jOgoJICByYWRpb2FjdHY6IGFkZCBvbmUgbW9yZSBzZXQgb2YgY2FwcwoJICBJdCBhbHNvIHdvcmsgaW4gdGhpcyBmb3JtYXQuIEF2b2lkcyB0aGUgbmVlZCBmb3IgY29udmVyc2lvbi4KCjIwMTEtMTEtMjUgMTE6NDQ6MTggKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSAgZWZmZWN0dHY6IGZpeCByZXZlcnNlIG5lZ290aWF0aW9uCgkgIFRoZSBwbHVnaW5zIHdlcmUgdXNpbmcgX2ZpeGVkX2NhcHNfIGFuZCB0aHVzIG5vdCBhZGp1c3RpbmcgdG8gbmV3IHVwc3RyZWFtCgkgIHNpemVzLiBTcG90dGVkIGJ5IFRpbSBNw7xsbGVyLgoKMjAxMS0xMS0yNSAxMTo0MzoxNiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSAgd2FycHR2OiByZW1vdmUgbm90IG5lZWRlZCBpZmRlZgoKMjAxMS0xMS0yNSAxMDoxNTozNSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9lZmZlY3R2L2dzdHJpcHBsZS5jOgoJICByaXBwbGV0djogY2xlYW4gdXAgdGhlIHJlbmRlcmluZyBjb2RlIGEgYml0CgkgIFRoaXMgaXMgY29ycnJ1cHRzIHRoZSBtZW1veSB3aGVuIHJlc2l6aW5nLiBBZGQgYSBGSVhNRSB0byBtYWtlIGl0IHJlc2l6ZWFibGUKCSAgb25jZSB0aGF0IGlzIHNvbHZlZC4KCjIwMTEtMTEtMjQgMjE6NDE6MDMgKzAxMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbHBoYWNvbG9yLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvYW1wbGlmeS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJiYW5kLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYmxpbWl0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZHluYW1pYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2VjaG8uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9pbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9wYW5vcmFtYS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3dzaW5jYmFuZC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3dzaW5jbGltaXQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aXN1YnRpdGxlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhcHNzZXR0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGRlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2VxdWFsaXplci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pY3lkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVnZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnbGltaXRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ3ZvbHVtZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlY3RydW0uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9maWx0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMveTRtZW5jLmM6CgkgIHRlc3RzOiB1cGRhdGUgZm9yIGdzdGNoZWNrIEFQSSBjaGFuZ2UKCjIwMTEtMTEtMjQgMjA6NDI6NDkgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJKiBnc3QvZWZmZWN0di9nc3RzdHJlYWsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkgIGVmZmVjdHR2OiBmaXggcmV2ZXJzZSBuZWdvdGlhdGlvbgoJICBUaGUgcGx1Z2lucyB3ZXJlIHVzaW5nIF9maXhlZF9jYXBzXyBhbmQgdGh1cyBub3QgYWRqdXN0aW5nIHRvIG5ldyB1cHN0cmVhbQoJICBzaXplcy4gU3BvdHRlZCBieSBUaW0gTcO8bGxlci4KCjIwMTEtMTEtMjQgMTQ6MTQ6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBtdWx0aWZpbGVzaW5rOiBGaXggbGVhayBvZiBmaWxlbmFtZSBzdHJpbmdzCgkgIERvIG5vdCBmb3JnZXQgdG8gZnJlZSB0aGUgZmlsZW5hbWUgc3RyaW5ncyB3aGVuIGRlbGV0aW5nCgkgIHRoZSBsaXN0IG9mIGZpbGVzLgoKMjAxMS0xMS0yNCAxNDoxMTozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkgIG11bHRpZmlsZTogZml4IGJ1aWxkIG9mIHRlc3RzCgkgIFRlc3RzIGZhaWwgdG8gYnVpbGQgYmVjYXVzZSBnX21rZHRlbXAgaXMgYXZhaWxhYmxlIGZyb20gZ2xpYiBzaW5jZQoJICAyLjI2LgoJICBUaGlzIHBhdGNoIGFkZHMgYSBjb25kaXRpb24gYXJvdW5kIHRoZSByZWRlZmluaXRpb24gb2YKCSAgZ19ta2R0ZW1wIG9uIHRoZSB0ZXN0cyB0byBvbmx5IGJ1aWxkIGl0IGlmIGdsaWIgaXMgb2xkZXIgdGhhbgoJICAyLjI2LgoKMjAxMS0wOS0yNyAxNjo0OTo0NSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IHNraXAgaWQzMiB0YWdzCgkgIFRoaXMgYWxsb3dzIGRlY29kaW5nIGF0IGxlYXN0IG9uZSBzYW1wbGUgd2hlcmUgc29tZXRoaW5nIGhhcwoJICBzdHVmZmVkIHNvbWUgSUQzIHRhZyBiZWZvcmUgdGhlIChzdXBwb3NlZGx5IGluaXRpYWwpIEZNVFwgLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYwMjQ5CgoyMDExLTEwLTMxIDE3OjA2OjE4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSAgZWRnZXR2OiB0cml2aWFsIGNvbW1lbnQgZml4IGZvciBjbGFyaXR5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjE4NDEKCjIwMTEtMTAtMzEgMTc6MDQ6MjMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOgoJICBlZGdldHY6IGRvbid0IGxlYXZlIGJpdHMgb2YgdGhlIG91dHB1dCBidWZmZXIgdW5pbml0aWFsaXplZAoJICBMZXQncyBpbml0aWFsaXplIHRoZW0gdG8gemVyby4gSXQgbG9va3MgYWxyaWdodCwgYnV0IHRoZW4gaXQKCSAgYWxzbyBsb29rcyBhbHJpZ2h0IHdpdGggdjMsIG9yIHdpdGggdGhlIGNvcnJlc3BvbmRpbmcgcGl4ZWxzCgkgIGZyb20gdGhlIHNvdXJjZS4gSSBkb24ndCBrbm93IHdoYXQgdGhlIG9yaWdpbmFsIGludGVudCB3b3VsZAoJICBiZSwgYW5kIHRoZSBvcmlnaW5hbCBlZmZlY3R2IHNvdXJjZSBhbHNvIGhhcyB0aGlzIGJ1Zy9mZWF0dXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYxODQxCgoyMDExLTExLTI0IDEwOjI1OjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBhdWRpb3BhcnNlOiBVc2UgdGhlIHNpbmtwYWQgdGVtcGxhdGUgY2FwcyBhcyBmYWxsYmFjaywgbm90IHRoZSBzcmNwYWQgb25lcwoKMjAxMS0xMS0yNCAwOTo1OTo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiBJbXBsZW1lbnQgOjpnZXRfc2lua19jYXBzIHZmdW5jIHRvIHByb3BhZ2F0ZSBkb3duc3RyZWFtIGNhcHMgY29uc3RyYWludHMgdXBzdHJlYW0KCjIwMTEtMTEtMjQgMDk6NTc6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBJbXBsZW1lbnQgOjpnZXRfc2lua19jYXBzIHZmdW5jIHRvIHByb3BhZ2F0ZSBkb3duc3RyZWFtIGNhcHMgY29uc3RyYWludHMgdXBzdHJlYW0KCjIwMTEtMTEtMjQgMDk6NTU6NDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJICBkY2FwYXJzZTogSW1wbGVtZW50IDo6Z2V0X3NpbmtfY2FwcyB2ZnVuYyB0byBwcm9wYWdhdGUgZG93bnN0cmVhbSBjYXBzIGNvbnN0cmFpbnRzIHVwc3RyZWFtCgoyMDExLTExLTI0IDA5OjUzOjE4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSAgYW1ycGFyc2U6IEltcGxlbWVudCA6OmdldF9zaW5rX2NhcHMgdmZ1bmMgdG8gcHJvcGFnYXRlIGRvd25zdHJlYW0gY2FwcyBjb25zdHJhaW50cyB1cHN0cmVhbQoKMjAxMS0xMS0yNCAwOTo0OToyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkgIGFtcnBhcnNlOiBNYXJrIHNvbWUgbW9yZSBmdW5jdGlvbnMgYXMgc3RhdGljCgoyMDExLTExLTI0IDA5OjQ4OjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IEltcGxlbWVudCA6OmdldF9zaW5rX2NhcHMgdmZ1bmMgdG8gcHJvcGFnYXRlIGRvd25zdHJlYW0gY2FwcyBjb25zdHJhaW50cyB1cHN0cmVhbQoKMjAxMS0xMS0yNCAwOTo0NDo1OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBNYXJrIHNvbWUgZnVuY3Rpb25zIGFzIHN0YXRpYyBhbmQgcmVtb3ZlIHVudXNlZCBmdW5jdGlvbiBkZWNsYXJhdGlvbnMKCjIwMTEtMTEtMjQgMDk6NDM6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogSW1wbGVtZW50IDo6Z2V0X3NpbmtfY2FwcyB2ZnVuYyB0byBwcm9wYWdhdGUgZG93bnN0cmVhbSBjYXBzIGNvbnN0cmFpbnRzIHVwc3RyZWFtCgoyMDExLTExLTI0IDAxOjQ4OjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIHRlc3RzOiB1cGRhdGUgc291cCB0ZXN0IGZvciByZW1vdmVkIGlyYWRpby1tb2RlIHByb3BlcnR5CgoyMDExLTExLTI0IDAxOjQ1OjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIHNvdXBodHRwc3JjOiBnZXQgcmlkIG9mIGlyYWRpby0qIHByb3BlcnRpZXMsIHBvc3QgdGFncyBpbnN0ZWFkCgoyMDExLTExLTI0IDAxOjQwOjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIHNvdXBodHRwc3JjOiBhbHdheXMgc2VuZCBpY2VjYXN0IHJlcXVlc3QgaGVhZGVyLCBkcm9wIGlyYWRpby1tb2RlIHByb3BlcnR5CgkgIFNlcnZlciBzaG91bGQgaWdub3JlIHVua25vd24vdW5oYW5kbGVkIGhlYWRlcnMuLgoKMjAxMS0xMS0yNCAwMToxOTozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogbWFrZSBjb25uZWN0aW9uLXNwZWVkIHByb3BlcnR5IGEgZ3VpbnQ2NAoKMjAxMS0xMS0yNCAwMDo1Mjo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG1hbmFnZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtUENNQS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LVBDTUEucHk6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItYWxzYXNyYy1QQ01BLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItYWxzYXNyYy1QQ01BLnB5OgoJICBydHBtYW5hZ2VyOiByZW5hbWUgZ3N0cnRwKiAtPiBydHAqCgkgIFRoaXMgd2FzIGRvbmUgaW4gMC4xMCB0byBhdm9pZCBjb25mbGljdCB3aXRoIHRoZSBydHAgZWxlbWVudHMgaW4KCSAgZmFyc2lnaHQsIGJ1dCB0aGUgZ3N0LXByZWZpeGluZyBpcyBubyBsb25nZXIgbmVlZGVkIGluIDAuMTEKCjIwMTEtMTEtMjMgMTA6MjM6MjggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTExLTIzIDA5OjI2OjE3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkgIHB1bHNlYXVkaW9zaW5rOiBhdm9pZCBlbmRsZXNzIGNhcHMgbG9vcAoJICBDaGVjayBpZiB0aGUgY2FwcyBhcmUgdGhlIHNhbWUgYmVmb3JlIGFkZGluZyBhIG5ldyBwcm9iZS4gQmVjYXVzZSBvZiByZWNvbmZpZ3VyZQoJICBldmVudHMsIHVwc3RyZWFtcyBzZW5kcyBtdWx0aXBsZSBjYXBzIGV2ZW50cy4KCjIwMTEtMTEtMjMgMDA6NTc6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thcGFyc2UuYzoKCSogdGVzdHMvZmlsZXMvcGlua25vaXNlLXZvcmJpcy5ta3Y6CgkgIHRlc3RzOiBhZGQgYmFzaWMgdW5pdCB0ZXN0IGZvciBtYXRyb3NrYXBhcnNlCgoyMDExLTExLTIzIDAwOjU2OjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJICBtYXRyb3NrYXBhcnNlOiBkb24ndCBsZWFrIHN0cmVhbSBoZWFkZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjQ1NDgKCjIwMTEtMTEtMjIgMDE6NDA6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgTW9yZSBwcmludGYgZm9ybWF0IHdhcm5pbmcgZml4ZXMKCjIwMTEtMTEtMjEgMjA6MzE6MzEgKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2JyZWFrbXlkYXRhLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdmlnYXRpb250ZXN0LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIEZpeCBwcmludGYgZm9ybWF0IGNvbXBpbGVyIHdhcm5pbmdzIG9uIE9TIFggLyA2NGJpdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYyNjE1CgoyMDExLTExLTIxIDEzOjM3OjAxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgdXBkYXRlIGZvciBhY3RpdmF0aW9uIGNoYW5nZXMKCjIwMTEtMTEtMTggMTc6NTk6MTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHB1c2hmaWxlc3JjLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHVwZGF0ZSBmb3IgbmV3IHNjaGVkdWxpbmcgcXVlcnkKCjIwMTEtMTEtMTggMTM6NTc6MjAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgYWRkIHBhcmVudCB0byBhY3RpdmF0ZSBmdW5jdGlvbnMKCjIwMTEtMTEtMTcgMTc6MzY6MDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWN0aXZhdGUgcGFkIGJlZm9yZSBzZXR0aW5nIGNhcHMKCSAgU2V0aW5nIGNhcHMgb24gYW4gaW5hY3RpdmUgZmx1c2hpbmcgcGFkIGRvZXMgbm90aGluZy4KCjIwMTEtMTEtMTcgMTc6MTc6MTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmMKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jCgoyMDExLTExLTE3IDE1OjAyOjU1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZpZ2F0aW9udGVzdC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6CgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBhZGQgcGFyZW50IHRvIHBhZCBmdW5jdGlvbnMKCjIwMTEtMTEtMTcgMDg6MjQ6NTggKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgY29sbGVjdHBhZHM6IHBvcnQgQVBJIGNoYW5nZXMKCjIwMTEtMTEtMTYgMTk6MDg6MDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIHNwZWV4ZW5jOiBlbnN1cmUgdG8gZnJlZSBhbGxvY2F0ZWQgcGFkZGVkIGRhdGEKCjIwMTEtMTEtMTYgMTg6NTc6MzggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIHNwZWV4ZW5jOiByZXNldCB0YWcgc2V0dGVyIGludGVyZmFjZSB3aGVuIGFwcHJvcHJpYXRlCgoyMDExLTExLTE2IDE4OjU3OjIxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogcmVzZXQgdGFnIHNldHRlciBpbnRlcmZhY2Ugd2hlbiBhcHByb3ByaWF0ZQoKMjAxMS0xMS0xNiAxNzo1NDo0OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBhZGQgcGFyZW50IHRvIGludGVybmFsIGxpbmtzCgoyMDExLTExLTE2IDE3OjI3OjEzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RwdXNoZmlsZXNyYy5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIGFkZCBwYXJlbnQgdG8gcXVlcnkgZnVuY3Rpb24KCjIwMTEtMTEtMTYgMTI6NDA6MDggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgIGdvb206IHVwZGF0ZSBmb3IgcmVuYW1lZCBmbGFncwoJICBVc2UgdGhlIF9jaGVja19yZWNvbmZpZ3VyZSBtZXRob2QgaW5zdGVhZCBvZiBjaGVja2luZyBmbGFncy4KCSAgRG9uJ3QgbmVlZCB0byByZWYgdGhlIHBhcmVudCBhbnltb3JlLCBjb3JlIGRvZXMgdGhhdC4KCjIwMTEtMTEtMTUgMTg6MDE6MTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Byb2dyZXNzcmVwb3J0LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBfcXVlcnlfcGVlcl8qKCkgLT4gX3BlZXJfcXVlcnlfKigpCgoyMDExLTExLTE1IDE3OjQ1OjMxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkgIF9hY2NlcHRfY2FwcygpIC0+IF9xdWVyeV9hY2NlcHRfY2FwcygpCgoyMDExLTExLTE1IDE3OjI5OjQ1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBfcGVlcl9nZXRfY2FwcygpIC0+IF9wZWVyX3F1ZXJ5X2NhcHMoKQoKMjAxMS0xMS0xNSAxNjo1NToyNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogdGVzdHMvaWNsZXMvZ2RrcGl4YnVmc2luay10ZXN0LmM6CgkgIHVwZGF0ZSBmb3IgX2dldF9jYXBzKCkgLT4gX3F1ZXJ5X2NhcHMoKQoKMjAxMS0xMS0xNSAxNjozMTo0NSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSAgY2hhbmdlIGdldGNhcHMgdG8gcXVlcnkKCSAgQ2hhaW4gdXAgZXZlbnQgZnVuY3Rpb24gaW4gcGF5bG9hZGVycy4KCjIwMTEtMTEtMTUgMTM6MjM6NTYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBmaXggc3B1cmlvdXMgdGltZXN0YW1wIGRpc2NvbnRpbnVpdHkKCSAgV2UgbmVlZCB0byB0ZWxsIHRoZSBiYXNlIGNsYXNzIHRoYXQgd2UncmUgZHJvcHBpbmcgYnVmZmVycywKCSAgc28gaXQgZHJvcHMgdGhlIGlucHV0IHRpbWVzdGFtcHMgY29ycmVzcG9uZGluZyB0byB0aGVzZS4KCSAgT3RoZXJ3aXNlLCB0aGUgZmlyc3QgYWN0dWFsIGF1ZGlvIGJ1ZmZlcnMgd2Ugb3V0cHV0IHdpbGwgYmUKCSAgc3RhbXBlZCB3aXRoIHRob3NlIC0gR1NUX0NMT0NLX1RJTUVTVEFNUF9OT05FLiBUaGF0IG1pc21hdGNoCgkgIGJldHdlZW4gaW5wdXQgYnVmZmVyIGNvdW50IGFuZCBvdXRwdXQgYnVmZmVyIGNvdW50IHdpbGwgc3RheQoJICB3aGlsZSBwbGF5aW5nLiBXaXRoIGVub3VnaCBoZWFkZXJzIGFuZCBsb25nIGVub3VnaCBidWZmZXIKCSAgZHVyYXRpb25zLCB0aGUgc2luayB3aWxsIGhhdmUgcGxheWVkIGVub3VnaCBiZWZvcmUgcmVjZWl2aW5nCgkgIHRoZSBmaXJzdCB2YWxpZCB0aW1lc3RhbXAgKHVzdWFsbHkgMCksIGFuZCB3aWxsIHRyaWdnZXIgYW4KCSAgYXVkaWJsZSBkaXNjb250aW51aXR5LgoKMjAxMS0xMS0xNCAxNTozNDo1NyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5oOgoJICBmbGFjcGFyc2U6IGRldGVjdCB3aGVuIGEgZmlsZSBsaWVzIGFib3V0IGZpeGVkIGJsb2NrIHNpemUKCSAgSWYgdGhlIHNhbXBsZS9ibG9jayBudW1iZXIgaGFwcGVucyB0byBiZSB0aGUgc2FtZSBhcyB0aGUgYmxvY2sKCSAgc2l6ZSwgd2UgYXNzdW1lIHZhcmlhYmxlIGJsb2NrIHNpemUsIGFuZCB0aHVzIGNvdW50ZXJzIGluIHNhbXBsZXMKCSAgaW4gdGhlIGhlYWRlcnMuIFRoaXMgY2FuIG9ubHkgZ2V0IHVzIGEgZmFsc2UgcG9zaXRpdmUgZm9yIGEgYmxvY2sKCSAgc2l6ZSBvZiAxLCB3aGljaCBpcyBpbnZhbGlkLiBXZSBjYW4gZ2V0IGZhbHNlIG5lZ2F0aXZlcyBtb3JlCgkgIG9mdGVuIHRob3VnaCAoZWcsIGlmIG5vdCBzdGFydGluZyBhdCB0aGUgc3RhcnQgb2YgdGhlIHN0cmVhbSksCgkgIGJ1dCB0aGVuIHRoYXQncyBhbHJlYWR5IEdJR08uCgoyMDExLTA5LTAyIDE5OjIwOjA3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBnc3RydHBzZXNzaW9uOiBBZGQgc3BlY2lhbCBtb2RlIHRvIHVzZSBGSVIgYXMgcmVwYWlyIGFzIEdvb2dsZSBkb2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTg0MTkKCjIwMTEtMDktMDEgMTc6NDc6MzggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgcnRwc2Vzc2lvbjogU2VuZCBGSVIgcmVxdWVzdHMgaW4gcmVzcG9uc2UgdG8ga2V5IHVuaXQgcmVxdWVzdHMgd2l0aCBhbGwtaGVhZGVycz1UUlVFCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTg0MTkKCjIwMTEtMDktMDEgMTY6MjU6MjEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgcnRwc2Vzc2lvbjogUHV0IHRoZSBQTEkgcmVxdWVzdHMgaW4gZWFjaCBSVFBTb3VyY2UKCSAgQWxzbyByZWZhY3RvciBhIGJpdCBhbmQgcHV0IGFsbCB0aGUga2V5ZnJhbWUgcmVxdWVzdCBjb2RlIGluIG9uZQoJICBwbGFjZSBpbnNpZGUgcnRwc2Vzc2lvbi5jCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTg0MTkKCjIwMTEtMDgtMzEgMTQ6MzU6MzMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEhhY2sgdG8gRklSIGJlY2F1c2UgR29vZ2xlIGRvZXNuJ3Qgc2V0IHRoZSBzZW5kZXIgc3NyYyBjb3JyZWN0bHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1ODQxOQoKMjAxMS0wOC0zMCAxOTowNjoxMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBQcm9jZXNzIHJlY2VpdmVkIEZ1bGwgSW50cmEgUmVxdWVzdHMKCSAgUHJvY2VzcyBGSVIgcmVxdWVzdHMgYWNjb3JkaW5nIHRvIFJGQyA1MTA0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTg0MTkKCjIwMTEtMTEtMDcgMTg6NDM6MjYgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBTZXQgcGl4ZWwtYXNwZWN0LXJhdGlvIHRvIDEvMQoJICBXZSBkb24ndCBjdXJyZW50bHkgc3VwcG9ydCBzZXR0aW5nIHRoZSBwaXhlbC1hc3BlY3QtcmF0aW8gZnJvbSBWNEwyLiBTbwoJICBzaW1wbHkgc2V0IGl0IHRvIGJlIDEvMSBpbiB0aGUgY2FwcyB0byBwcmV2ZW50IG5lZ290aWF0aW9uIGZhaWx1cmVzIHdoZW4KCSAgZml4YXRpbmcgdG8gd2VpcmQgdmFsdWVzIChlLmcuIHdoZW4gdGhlIGRvd25zdHJlYW0gY2FwcyBoYXMKCSAgcGl4ZWwtYXNwZWN0LXJhdGlvID0gWyBNSU4sIE1BWCBdICkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzU4MAoKMjAxMS0xMS0xNCAwOTozOToxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDNkZW11eC5jOgoJICB0ZXN0czogbWFrZSBpZDNkZW11eCB0ZXN0IGNvbXBpbGUKCSAgU3RpbGwgZmFpbHMgdGhvdWdoLgoKMjAxMS0xMS0xMiAxNTo0MjoyNyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL2NhbWN0cmwuYzoKCSAgY29udHJvbGxlcjogbm8gbmVlZCB0byBleHBsaWNpdGVseSBhZGQgY29udHJvbGxlZCBwcm9wZXJ0aWVzIGFueW1vcmUKCjIwMTEtMTEtMTMgMjM6NDI6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0cHVzaGZpbGVzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnJhZGlvLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgVXBkYXRlIGZvciBHc3RVUklIYW5kbGVyIGdldF9wcm90b2NvbHMoKSBjaGFuZ2VzCgoyMDExLTExLTEzIDE4OjUwOjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHB1c2hmaWxlc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJyYWRpby5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHNvdXAsIHB1c2hmaWxlLCBydHNwLCB1ZHAsIHY0bDI6IHVwZGF0ZSBmb3IgR3N0VVJJSGFuZGxlciBBUEkgY2hhbmdlcwoKMjAxMS0xMS0xMSAxOToyNDoyNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYwoKMjAxMS0xMS0xMSAxOToyMTo1MCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJICBydHA6IGZpeCBmb3IgcnRwIGhlYWRlciBjaGFuZ2VzCgoyMDExLTExLTExIDEwOjA2OjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSAgcHVsc2VhdWRpb3Npbms6IGZpeCBjYXBzIGxlYWsKCjIwMTEtMTEtMTEgMTQ6NTU6NDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGRvIG5vdCBsZWFrIGNsaWVudG5hbWUgd2hlbiBzZXR0aW5nIHVwIHByb3BlcnR5CgoyMDExLTExLTExIDE4OjA1OjM1ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJICBwdWxzZTogQ2hhaW4gdXAgZGlzcG9zZSgpIGluIHB1bHNlYXVkaW9zaW5rCgoyMDExLTExLTExIDEyOjMyOjQxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RydHB4cXRkZXBheS5oOgoJKiBnc3QvcnRwL2ZudjFoYXNoLmg6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzIzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBpbGJjcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBwY211cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5kZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVucGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuaDoKCSAgdXBkYXRlIGZvciBiYXNlIGNsYXNzIHJlbmFtZQoKMjAxMS0xMS0xMSAxMjoyNTowMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cnRweHF0ZGVwYXkuYzoKCSogZ3N0L2lzb21wNC9nc3RydHB4cXRkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYnZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzIzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxY2VscGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuaDoKCSAgdXBkYXRlIGZvciBiYXNlIGNsYXNzIHJlbmFtZQoKMjAxMS0xMS0xMSAxMjowMToxNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICB1cGRhdGUgZm9yIGF1ZGlvYmFzZSogcmVuYW1lCgoyMDExLTExLTExIDExOjUzOjQ1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuaDoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgYXVkaW86IHVwZGF0ZSBmb3IgYmFzZSBjbGFzcyByZW5hbWUKCjIwMTEtMTEtMTEgMTE6MzM6NDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmg6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmg6CgkgIGZpeCBmb3IgcmluZ2J1ZmZlciByZW5hbWUKCjIwMTEtMTEtMTEgMTE6MjQ6MDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvamFjay9nc3RqYWNrcmluZ2J1ZmZlci5oOgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmg6CgkgIHVwZGF0ZSBmb3IgcmluZ2J1ZmZlciBjaGFuZ2UKCjIwMTEtMTEtMTAgMjM6MTU6MzAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9jYW1jdHJsLmM6CgkgIGNvbnRyb2xsZXI6IHBvcnQgYXBpIGNoYW5nZXMKCjIwMTEtMTEtMTAgMjM6MDk6MjMgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvYW5ub2RleC9nc3Rhbm5vZGV4LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VpaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICB2YXJpb3VzOiBhZGQgbWlzc2luZyBpbmNsdWRlcwoKMjAxMS0xMS0xMCAyMTozNToyNCArMDEwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBmaXggY29tcGlsYXRpb24gd2l0aCBwdWxzZWF1ZGlvIDAuOQoKMjAxMS0xMS0xMCAxODozMjo1OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgdXBkYXRlIGZvciBhZGFwdGVyIGFwaSBjaGFuZ2VzCgoyMDExLTExLTEwIDE3OjIzOjQ3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgdXBkYXRlIGZvciBjaGFuZ2VkIGJhc2UgY2xhc3NlcwoKMjAxMS0xMS0xMCAxMzo1MDozNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgZml4IGZvciBhdWRpbyBjbG9jayBjaGFuZ2UKCjIwMTEtMTEtMTAgMTE6MDM6MTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgdXBkYXRlIGZvciByZW1vdmVkIGZpeGF0ZSBmdW5jdGlvbgoKMjAxMS0xMS0wOSAxNzo0MDoxMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTEtMDkgMTc6Mzg6MDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICB1cGRhdGVzIGZvciBuZXcgYWNjZXB0Y2FwcyBxdWVyeQoKMjAxMS0xMS0wOCAxNTozNToyNiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBmaXggd3Jvbmcgc3RyaWRlIHdoZW4gaW52ZXJ0aW5nIHVuY29tcHJlc3NlZCB2aWRlbwoJICBTdWNoIGZyYW1lcyBoYXZlIGEgc3RyaWRlIG11bHRpcGxlIG9mIDQsIHNlZQoJICBodHRwOi8vbHNjdWJlLm9yZy9waXBlcm1haWwvZmZtcGVnLWlzc3Vlcy8yMDEwLUFwcmlsLzAxMDI0Ny5odG1sLgoJICBUaGlzIHNob3dlZCB1cCBvbiBhIHNhbXBsZSB1c2luZyBhIG9kZCB3aWR0aCBvZiAyNCBiaXQgdmlkZW8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTIyODgKCjIwMTEtMTEtMDkgMTI6MjU6MDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkgIGgyNjNwcGF5OiByZXBvcnQgdG8gMC4xMQoKMjAxMS0xMS0wOSAxMjoxODowMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmMKCSAgZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYwoJICBnc3QvaXNvbXA0L3F0ZGVtdXguYwoKMjAxMS0xMS0wOSAxMTo1NjowNyArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBkdG1mOiBmaXggY29tcGlsZXIgd2FybmluZyBmb3IgdW5pbml0aWFsaXplZCB2YWx1ZXMKCjIwMTEtMTEtMDkgMTE6NTM6MDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHJlbW92ZSBxdWVyeSB0eXBlcwoKMjAxMS0xMS0wOSAxMDozMjowNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogbWluaW1hbCBzYW5pdHkgY2hlY2sgb24gY3JlYXRpb24gZGF0ZXRpbWUKCjIwMTEtMTEtMDQgMTc6NTQ6MDQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIGR0bWZzcmM6IFJlamVjdCBzdGFydC9zdG9wIHJlcXVlc3RzIHRoYXQgY29tZSBvdXQgb2Ygb3JkZXIKCjIwMTEtMTAtMjkgMTg6MjQ6MjYgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgZHRtZjogUG9zdCBtZXNzYWdlcyB3aGVuIHN0YXJ0aW5nIHRvIHNlbmQvcmVjZWl2ZSBEVE1GCgkgIFRoaXMgd2F5LCB0aGUgVUkgY2FuIGRpc3BsYXkgdGhlIERUTUYgZXZlbnRzIGFzIHRoZXkgYXMgYmVpbmcgc2VudC4KCjIwMTEtMTEtMDIgMTI6NTg6MTIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkgIHJ0cGgyNjNwcGF5OiBSZXR1cm4gdGhlIHNpbmsgcGFkIHRlbXBsYXRlIGFzIHNpbmsgY2Fwcywgbm90IHRoZSBzcmMncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTc3Nzg0CgoyMDA5LTAzLTE1IDE5OjI2OjQ4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkgIHJ0cGgyNjNwcGF5OiBBbHNvIGltcGxlbWVudCBzaXplL2ZyYW1lcmF0ZSByZXN0cmljdGlvbnMgaW4gZ2V0Y2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTc3Nzg0CgoyMDA5LTAzLTA0IDIwOjUwOjE5IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkgIHJ0cGgyNjNwcGF5OiBJbXBsZW1lbnQgZ2V0Y2FwcyBmb2xsb3dpbmcgUkZDIDQ2MjksIHBpY2tzIHRoZSByaWdodCBhbm5leGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01Nzc3ODQKCjIwMTEtMTEtMDggMTQ6MzE6MzQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFsc28gc2V0IHNlZ21lbnQgc3RvcCBhdCBzdGFydHVwIHJhdGhlciB0aGFuIG9ubHkgcG9zdCBzZWVrCgkgIC4uLiBzbyBhcyB0byBlbnN1cmUgY29uc2lzdGVudCBwbGF5YmFjayB3aXRoIG9yIHdpdGhvdXQgc2VlaywgZXNwZWNpYWxseQoJICBpbiBwcmVzZW5jZSBvZiBzb21lIGJvZ3VzIGVkaXQgbGlzdCBlbnRyaWVzLgoKMjAxMS0xMS0wOCAxMToxODowNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHVwZGF0ZSBmb3IgcHJvYmUgYXBpIGNoYW5nZXMKCjIwMTEtMTEtMDggMDg6NTA6MTkgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgIGdvb206IGNvZGUgY2xlYW51cHMKCSAgTW92ZSB2YXJpYWJsZXMgdG8gdGhlIHNjb3BlIHdoZXJlIHRoZXkgYXJlIG5lZWRlZC4gVXNlIG91ciBtYWNyb3MgYW5kIGZ1bmN0aW9ucwoJICBtb3JlLgoKMjAxMS0xMS0wOCAwODo0OTowNSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgZ29vbTogYWRkIGEgc2lua19xdWVyeSB0byBlYXQgYWxsb2NhdGlvbiBxdWVyaWVzCgkgIFdlIHNob3VsZCBub3QgZm9yd2FyZCBhbGxvY2F0aW9uIHF1ZXJpZXMgZm9yIGF1ZGlvIHRvIHRoZSB2aWRlbyBzaW5rLgoKMjAxMS0xMS0wMiAxNzowMjo1NCArMDAwMCAgUmF1bCBHdXRpZXJyZXogU2VnYWxlcyA8cmdzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkgIGdzdC9mbHYvOiBhZGQgYW1mZGVmcy5oIHRvIG5vaW5zdF9IRUFERVJTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjMzMzQKCjIwMTEtMTEtMDcgMTc6MTQ6MTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBmaXggZm9yIHByb2JlIHVwZGF0ZXMKCjIwMTEtMTAtMDMgMTc6NTA6NDMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgIGZsdmRlbXV4OiBkZXRlY3QgbGFyZ2UgcHRzIGdhcHMgYW5kIHJlc3luYwoJICBTaG91bGQgd29yayBvbiBtdWx0aXBsZSBnYXBzLCBidXQgdGVzdGVkIG9uIG9ubHkgb25lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMxNDMwCgoyMDExLTA4LTIyIDEwOjQwOjQ1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogZml4IG9mZiBieSBvbmUgYmV0d2VlbiBncmFucG9zIGFuZCBsYXN0X3N0b3AKCjIwMTEtMTAtMDcgMTk6NDE6MzUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBmaXggbGFzdCBmcmFtZSB0aW1lc3RhbXAgaW4gZml4ZWQgYmxvY2sgc2l6ZSBtb2RlCgkgIFRoZSBsYXN0IGJsb2NrIG1heSBoYXZlIGEgZGlmZmVyZW50IGJsb2NrIHNpemUsIHNvIHdlIHNob3VsZCBub3QKCSAgdXNlIGl0IHRvIHNjYWxlIG9yIHdlJ2xsIGVuZCB1cCB3aXRoIGEgd3JvbmcgdGltZXN0YW1wLgoJICBTZWUgY29tbWVudCBhbmQgcXVvdGUgZnJvbSB0aGUgRkxBQyBmb3JtYXQgZG9jdW1lbnRhdGlvbiBpbiB0aGUgY29kZS4KCSAgRml4ZXMgbG9vcGVkIHBsYXliYWNrIG9mIEZMQUMgZmlsZXMgKHZpYSBhYm91dC10by1maW5pc2gpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYxMjE1CgoyMDExLTEwLTI3IDE1OjUyOjQ3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuaDoKCSAgY2Fpcm90ZXh0b3ZlcmxheTogYWRkIGEgJ3NpbGVudCcgcHJvcGVydHkgdG8gc2tpcCByZW5kZXJpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2Mjg1NgoKMjAxMS0xMS0wNyAxMjowMDoxMiArMDEwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkgIG1hdHJvc2thbXV4OiBmaXggcmVncmVzc2lvbiBjYXVzaW5nIG1hbGZvcm1lZCBmaWxlcwoJICBUaGlzIHdhcyBjYXVzZWQgYnkgbWUgaW4gMWIyMTNkLiBJdCBzZWVtcyBJIHdhcyB0b28gZm9jdXNlZCBvbiAwLjExIHdoZW4gSSBkaWQKCSAgdGhpcyBhbmQgdGVzdGVkIHRoZSB3cm9uZyBicmFuY2guCgkgIFRoZSBwcm9ibGVtIHdhcyByZXBvcnRlZCBieSBBbGV4ZXkgRmlzaGVyLgoKMjAxMS0xMS0wNCAxODo0MTozNiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuaDoKCSogZ3N0L2FscGhhL01ha2VmaWxlLmFtOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmg6CgkqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnguYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VpaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9paXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9rYXJhb2tlLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6CgkqIGdzdC9lZmZlY3R2L01ha2VmaWxlLmFtOgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdG9wLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJpcHBsZS5jOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmg6CgkqIGdzdC9zaGFwZXdpcGUvTWFrZWZpbGUuYW06CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zbXB0ZS9NYWtlZmlsZS5hbToKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzoKCSogZ3N0L3ZpZGVvYm94L01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9wbHVnaW4uYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL2NhbWN0cmwuYzoKCSAgY29udHJvbGxlcjogcG9ydCB0byBuZXcgY29udHJvbGxlciBsb2NhdGlvbiBhbmQgYXBpCgoyMDExLTExLTA0IDE3OjM5OjE1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBtb3JlIHRlbXBsYXRlIGZpeGVzCgoyMDExLTExLTA0IDE2OjIxOjEzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkgIHB1bHNlYXVkaW9zaW5rOiBtb3JlIDAuMTEgZml4aW5nCgkgIE1ha2Ugc3VyZSB0aGUgY2FwcyBldmVudCBnZXRzIHRvIHRoZSBzaW5rLgoKMjAxMS0xMS0wNCAxNTozNTo0MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJICBwdWxzZWF1ZGlvc2luazogcG9ydCBzb21lIG1vcmUKCSAgUmVuYW1lIGRlY29kZWJpbjIgLT4gZGVjb2RlYmluIHNvbWUgbW9yZQoJICBDbGVhbnVwIHVwIHNpbmtwYWQgZXZlbnQgaGFuZGxpbmcKCjIwMTEtMTEtMDQgMTM6NTY6MDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSAgcHVsc2VhdWRpb3Npbms6IHBvcnQgc29tZSBtb3JlIHRvIDAuMTEKCSAgV2UgbXVzdCBub3QgZm9yd2FyZCB0aGUgY2FwcyBldmVudC4gaW5zdGVhZCB3ZSB3aWxsIGRlY2lkZSB3aGF0IHRvIGRvIHdoZW4gdGhlCgkgIHBhZCBibG9jayBpcyB0YWtlbi4KCSAgVXNlIGRlY29kZWJpbiBpbnN0ZWFkIG9mIGRlY29kZWJpbjIKCjIwMTEtMTEtMDQgMTM6MTI6MzcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgbW9yZSB0ZW1wbGF0ZSBmaXhlcwoKMjAxMS0xMS0wNCAxMTo1ODoyMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS93ZWJtLW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICBtYWtlICV1IGluIGFsbCByZXF1ZXN0IHBhZCB0ZW1wbGF0ZXMKCjIwMTEtMTEtMDQgMTE6MDE6MDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYwoKMjAxMS0xMS0wNCAxMDozMjo0NiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSAgUG9ydCBhcGVkZW11eAoKMjAxMS0xMS0wMyAyMzoyODozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJICBydHA6IHVzZSBHTGliJ3MgR19CSUdfRU5ESUFOIGRlZmluZSBpbnN0ZWFkIG9mIEJJR19FTkRJQU4KCSAgRml4ZXMgY29tcGlsZXIgd2FybmluZyBvbiBtaW5ndzMyCgoyMDExLTExLTAzIDE2OjQzOjAwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkqIGdzdC91ZHAvTWFrZWZpbGUuYW06CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcC5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1cGRhdGUgZm9yIG5ldyBuZXQgbGlicmFyeQoKMjAxMS0xMS0wMiAxMjowOToyMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHRhZ2luamVjdC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHRhZ3M6IHVwZGF0ZSBmb3IgdGFnIEFQSSByZW1vdmFsCgoyMDExLTExLTAyIDEwOjQwOjEyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMC0zMSAwMjo0MDowOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1cGRhdGUgZm9yIG5ldGJ1ZmZlciBhcGkgY2hhbmdlCgoyMDExLTEwLTMxIDAyOjM1OjUxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHAuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdXBkYXRlIGZvciBuZXRhZGRyZXNzIGNoYW5nZQoKMjAxMS0xMC0zMSAwMjoyNDowNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB1cGRhdGUgZm9yIG1ldGEgYXBpIGNoYW5nZQoKMjAxMS0xMC0yOSAwOToyOToyNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtb292cmVjb3Zlci5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHVwZGF0ZSBmb3IgbmV3IHRhc2sgYXBpCgoyMDExLTEwLTI5IDA5OjA5OjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICBzdHJ1Y3R1cmU6IGZpeCBmb3IgYXBpIHVwZGF0ZQoKMjAxMS0xMC0yOSAwODoyNToyNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIGJ1ZmZlcmxpc3Q6IHVwZGF0ZSBmb3IgbmV3IEFQSQoKMjAxMS0xMS0wMSAwMDo0MDo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBVcGRhdGUgZm9yIHBhZCBBUEkgY2hhbmdlcwoJICBHc3RQcm9iZVR5cGUsIEdzdFByb2JlUmV0dXJuIGFuZCBHc3RBY3RpdmF0ZU1vZGUgLT4gR3N0UGFkKgoKMjAxMS0xMC0zMSAxODozODo1NSArMDEwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IGZpeCBvYnZpb3VzIGNyYXNoCgoyMDExLTEwLTMxIDE2OjE4OjMyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGF2b2lkIHNob3J0Y3V0IGV2YWx1YXRpb24gd2hlbiBhZGRpbmcgcGFpcmVkIG1wNCB0YWcKCSAgRml4ZXMgKHBhcnQgb2YpICM2Mzg3MTEuCgoyMDExLTEwLTMxIDE1OjQzOjI1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGRvIG5vdCB1c2UgdW5vZmZpY2FsIFZfTUpQRUcgY29kZWMgaWQKCSAgLi4uIGJ1dCBhcyBub3Qgc3BlYydlZCBlc3BlY2lhbGx5LCBjb25zaWRlciBpdCBhIFZmVyBjb21wYXRpYmlsaXR5IGNhc2UuCgkgIEZpeGVzICM2NTk4MzcuCgoyMDExLTEwLTMwIDE5OjMwOjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuaDoKCSAgZmxhY2VuYzogcmVtb3ZlIGRlYWQgY29kZSBmcm9tIGhlYWRlcgoJICBXZSByZXF1aXJlIGEgbmV3LWVub3VnaCBsaWJmbGFjIHRoYXQgdGhpcyBjb25kaXRpb24gd2lsbCBuZXZlciBhcHBseS4KCjIwMTEtMTAtMzAgMTk6MDk6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBwYXJzZSBzdHJlYW0gaGVhZGVycyBmcm9tIGNhcHMgaW4gc2V0X2Zvcm1hdCBmdW5jdGlvbgoJICBOb3QgdGhhdCB0aGlzIHNlZW1zIHRvIGJlIGFjdHVhbGx5IG5lZWRlZCwgbGliZmxhYyBoYXBwaWx5IGRlY29kZXMKCSAgc3R1ZmYgZXZlbiBpZiB3ZSBqdXN0IGRyb3AgYWxsIGhlYWRlcnMgYW5kIG5ldmVyIGZlZWQgaXQgdG8gdGhlCgkgIGxpYnJhcnkuCgoyMDExLTEwLTMwIDE4OjQ5OjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICBmbGFjZGVjOiBkb24ndCBleHRyYWN0IG1ldGFkYXRhLCBsZWF2ZSB0aGF0IHRvIHRoZSBwYXJzZXIgb3IgY29udGFpbmVyCgoyMDExLTEwLTMwIDE4OjQ1OjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICBmbGFjZGVjOiB3ZSBleHBlY3QgZnJhbWVkIGlucHV0IG5vdywgcmVtb3ZlIHNvbWUgbW9yZSBjb2RlCgoyMDExLTEwLTA5IDE2OjE4OjA5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICBmbGFjZGVjOiBuYWl2ZSBwb3J0IHRvIEdzdEF1ZGlvRGVjb2RlcgoJICBUaGlzIHdvdWxkIHByb2JhYmx5IGhhdmUgYmVlbiB0b28gaW52YXNpdmUgdG8gZG8gaW4gdGhlIDAuMTAKCSAgYnJhbmNoLCB3aXRoIGFsbCB0aGUgcHVsbC1tb2RlIGFuZCBwYXJzZXIgaGFuZGxpbmcgY29kZSBpbgoJICB0aGVyZS4KCjIwMTEtMTAtMzAgMTE6NDQ6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3R0YWdpbmplY3QuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgZXh0LCBnc3Q6IHVwZGF0ZSBmb3IgdGFnbGlzdCBBUEkgY2hhbmdlcwoKMjAxMS0xMC0zMCAxMTo0MTozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGZpeCBjb21waWxhdGlvbiBvZiBhdWRpbyB0ZXN0cyBpbiB1bmluc3RhbGxlZCBzZXR1cAoKMjAxMS0xMC0yOCAyMToyNjozMyArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSAgYXVkaW9wYW5vcmFtYTogc2ltcGxpZnkgZ2V0X3VuaXRfc2l6ZQoKMjAxMS0xMC0yOCAyMToxOTo0MiArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZWNoby5jOgoJICB0ZXN0czogYXVkaW9lY2hvOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMjggMjE6MTg6MzMgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSAgYXVkaW9lY2hvOiBmaXggaW50ZXJuYWwgYnVmZmVyIHNpemUgY2FsY3VsYXRpb24KCjIwMTEtMTAtMjggMTQ6MDU6NDggKzAyMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJiYW5kLmM6CgkgIHRlc3RzOiBhdWRpb2NoZWJiYW5kOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMjggMTY6NTI6MDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTEwLTI4IDE1OjA4OjI1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkgIHB1bHNlYXVkaW9zaW5rOiBmaXggcG9ydGluZyBlcnJvcnMKCSAgVGhlIHByb2JlcyB3ZXJlIHBvcnRlZCB3cm9uZ2x5IGFuZCBjYXVzZWQgZGVhZGxvY2tzLgoKMjAxMS0xMC0yOCAwOTo1NzozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGFkZCBzb2YtbWFya2VyIHRvIHRlbXBsYXRlIGNhcHMsIHNvIHdlIGRvbid0IGdldCBwbHVnZ2VkIGZvciBsb3NzbGVzcyBqcGVnCgkgIGpwZWdkZWMgKHVzaW5nIGxpYmpwZWcgNi4yLzgpIGNhbid0IGRlY29kZSBzb21lIGxvc3NsZXNzIHR5cGVzIG9mIEpQRUcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NTY2NDgKCjIwMTEtMTAtMjggMTM6MDY6MjAgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJsaW1pdC5jOgoJICB0ZXN0czogYXVkaW9jaGVibGltaXQ6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0yOCAxMzowMjo1NiArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlaWlyZmlsdGVyLmM6CgkgIGF1ZGlvZng6IGZpeCBjcmFzaCBpbiBwcm9jZXNzKCkKCjIwMTEtMTAtMjggMTE6NDg6MzEgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2FtcGxpZnkuYzoKCSAgdGVzdHM6IGF1ZGlvYW1wbGlmeTogcG9ydCB0byAwLjExCgoyMDExLTEwLTI4IDEyOjUxOjMxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkgIHB1bHNlOiBmaXggY2hlY2sgZm9yIGVtcHR5IGNhcHMKCjIwMTEtMTAtMjggMTI6MzA6MzMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGVsYWJvcmF0ZSBzb21lIGRlYnVnIHN0YXRlbWVudHMKCjIwMTEtMTAtMTEgMjA6NTY6NTEgKzA0MDAgIFN0YXMgU2VyZ2VldiA8c3RzcEB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBiZSBjYXJlZnVsIHdpdGggbmVnYXRpdmUgY3RzCgkgIEZpeGVzICM2NjE0NzcuCgoyMDExLTEwLTA2IDEzOjA0OjU0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiB0dW5lIG5vbi11cGRhdGUgc2VlayBoYW5kbGluZyBjYXNlcwoJICBGaXhlcyAjNjYxMDQ5LgoKMjAxMS0xMC0yOCAxMTo0Njo0MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBnc3QvdmlkZW9taXhlci9nc3Rjb2xsZWN0cGFkczIuYwoKMjAxMS0xMC0yOCAxMToxNjozOCArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOgoJICBhdWRpb2R5bmFtaWM6IGRvbid0IHNldCBwcm9jZXNzIGZ1bmN0aW9uIHRvbyBlYXJseQoJICBHc3RBdWRpb0luZm8gYW5kIEdzdEF1ZGlvRmlsdGVyIGhhdmUgYmVlbiBjaGFuZ2VkIHNvIHRoYXQgdGhpcyBjb2RlIGRvZXNuJ3QKCSAgY3Jhc2ggYW55bW9yZSB3aGVuIGEgcHJvcGVydHkgaXMgc2V0IGluIE5VTEwgc3RhdGUuCgoyMDExLTEwLTI4IDEwOjQyOjA0ICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9keW5hbWljLmM6CgkgIHRlc3RzOiBhdWRpb2R5bmFtaWM6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0yOCAwMDoyNDoxNCArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWN0cnVtLmM6CgkgIHRlc3RzOiBzcGVjdHJ1bTogcG9ydCB0byAwLjExCgoyMDExLTEwLTI3IDIzOjU3OjE3ICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9wYW5vcmFtYS5jOgoJICB0ZXN0czogYXVkaW9wYW5vcmFtYTogcG9ydCB0byAwLjExCgoyMDExLTEwLTI3IDIzOjU2OjEyICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJICBhdWRpb3Bhbm9yYW1hOiBmaXggZ2V0X3VuaXRfc2l6ZQoKMjAxMS0xMC0yOCAxMDo0MDozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyMjogVXNlIHRoZSBjbGlwIGZ1bmN0aW9uIGluc3RlYWQgb2YgdGhlIHByZXBhcmVfYnVmZmVyIGZ1bmN0aW9uCgoyMDExLTEwLTI4IDA5OjA1OjI3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICBydHBtYW5hZ2VyLCB2NGwyOiBmaXggY29tcGlsZXIgd2FybmluZ3MgYWZ0ZXIgZ3N0X2NhcHNfbmV3X3NpbXBsZSgpIGNoYW5nZQoKMjAxMS0xMC0yOCAwOTowMTo1NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGNvbXBpbGVyIHdhcm5pbmdzIGFmdGVyIGdzdF9jYXBzX25ld19zaW1wbGUoKSBjaGFuZ2UKCjIwMTEtMTAtMjggMDk6MzY6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21peGVyL2dzdGNvbGxlY3RwYWRzMi5jOgoJKiBnc3QvdmlkZW9taXhlci9nc3Rjb2xsZWN0cGFkczIuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjJwYWQuaDoKCSAgdmlkZW9taXhlcjI6IFVzZSBjb2xsZWN0cGFkczIgZnJvbSBjb3JlCgoyMDExLTEwLTI3IDE5OjM5OjIwICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdmVuYy9NYWtlZmlsZS5hbToKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSAgd2F2ZW5jOiBwb3J0IHRvIDAuMTEgcmF3IGF1ZGlvIGNhcHMKCjIwMTEtMTAtMjcgMTk6MDY6MDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZ3N0L2Zsdi9nc3RmbHZtdXguYwoKMjAxMS0xMC0yNyAxOTowMDo1MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJKiBnc3QvcnRwL1JFQURNRToKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJICBtYWtlIHNvbWUgbW9yZSB0aGluZ3MgY29tcGlsZSBhZ2FpbgoKMjAxMS0xMC0yNyAxNjowODoyMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYwoJICBleHQvcHVsc2UvcHVsc2VzaW5rLmMKCjIwMTEtMTAtMjcgMTY6MDM6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICBmaXggY29tcGlsYXRpb24KCjIwMTEtMTAtMjggMDA6NDE6NDUgKzExMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogRG9uJ3QgcG9pbnRsZXNzbHkgaG9sZCBvYmplY3QgbG9jayBvdmVyIGNhcHMgb3BlcmF0aW9ucwoJICBBdm9pZHMgYSBkZWFkbG9jayB3aGVuIGdldGNhcHMgaXMgcmVjdXJzaXZlIGR1ZSB0byB0aGUgZ2V0Y2FwcyBiZWluZwoJICByZWZsZWN0ZWQgdXBzdHJlYW0vZG93bnN0cmVhbS4gVGhlIGxvY2sgaXNuJ3QgYWN0dWFsbHkgcHJvdGVjdGluZwoJICBhbnl0aGluZyBoZXJlLgoKMjAxMS0xMC0yNyAwMDozNzowMyArMTEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2Zsdi9hbWZkZWZzLmg6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogYWRkIHNvbWUgY29tbWVudHMgYW5kIGRlZmluZXMgdG8gY2xhcmlmeSBjb2RlLgoKMjAxMS0xMC0xMCAxNTozNjoxNCArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkgIG1hdHJvc2thOiByZWZhY3RvciBlYm1sLXdyaXRlIHRvIGJlIG1vcmUgMC4xMSBmcmllbmRseQoJICBTd2l0Y2hpbmcgdG8gYSBtb3JlIDAuMTEtZnJpZW5kbHkgcGF0dGVybiwgd2hlcmUgZ2V0dGluZyB0aGUgYnVmZmVyJ3MgZGF0YQoJICBwb2ludGVyIGFuZCBzZXR0aW5nIHRoZSBzaXplIG1hbnkgdGltZXMgaXMgbGVzcyBuYXR1cmFsLiBUaGlzIGlzIG9mIGNvdXJzZSBpbgoJICBwcmVwYXJhdGlvbiB0byB0aGUgdXBjb21pbmcgcG9ydCBvZiB0aGUgcGx1Z2luLgoKMjAxMS0xMC0xMSAyMTo0NTo0NiArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkgIG1hdHJvc2thOiByZW1vdmUgc3RhbGUgZmxvYXRjYXN0IGluY2x1ZGUKCSAgR0RPVUJMRV9UT19CRSB3YXMgbW92ZWQgdG8gY29yZSBhIGxvbmcgdGltZSBhZ28uCgoyMDExLTEwLTExIDIyOjEwOjI3ICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogZml4IHBvc3NpYmxlIGNyYXNoIHdpdGggbWFsZm9ybWVkIGRpcmFjIGNvZGVjX2RhdGEKCSAgU2luY2Ugc2l6ZSBpcyB1bnNpZ25lZCwgd2UgbmVlZCB0byBzYWZlZ3VhcmQgYWdhaW5zdCB3cmFwcGluZyBiZWxvdyB6ZXJvLgoKMjAxMS0xMC0yMSAyMjozMzozNCArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIGVxdWFsaXplcjogcmVtb3ZlIGF2b2lkYWJsZSBjYWxsIHRvIGdzdF9vYmplY3Rfc2V0X25hbWUKCjIwMTEtMTAtMjEgMjI6MzI6MzggKzAyMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IHJlbW92ZSBhdm9pZGFibGUgY2FsbCB0byBnc3Rfb2JqZWN0X3NldF9uYW1lCgoyMDExLTEwLTIxIDE0OjUxOjIzICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmg6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJKiBzeXMvb3NzL2dzdG9zc21peGVyLmg6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvZWxlbWVudC5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJKiBzeXMvdjRsMi9nc3R2NGwycmFkaW8uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb292ZXJsYXkuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvb3ZlcmxheS5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkb3JpZW50LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRvcmllbnQuaDoKCSAgaW50ZXJmYWNlczogY2xlYW4gdXAgdGhlIHVzZSBvZiBpZmFjZSBhbmQgY2xhc3Mva2xhc3MKCjIwMTEtMTAtMjEgMTE6Mzc6MDUgKzAxMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUgc28gaXRzIHBhcmFsZWwtaW5zdGFsbGFibGUgYW5kIG9ubHkgdHJpZXMgdG8gcGFja2FnZSBwb3J0ZWQgcGx1Z2lucwoKMjAxMS0xMC0xNiAyMDozMDoyNSArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkgIHBuZ2VuYzogaW5jcmVhc2UgYXJiaXRyYXJ5IHJlc29sdXRpb24gbGltaXRzCgkgIEFwcGFyZW50bHkgbGlicG5nIGNhbiB0ZWNobmljYWxseSBkbyB1cCB0byAyXjMxLTEgcm93cyBhbmQgY29sdW1ucy4gSG93ZXZlciBpdAoJICBpbXBvc2VzIGFuIChhcmJpdHJhcnkpIGRlZmF1bHQgbGltaXQgb2YgMSBtaWxsaW9uICh0aGF0IGNvdWxkIHRoZW9yZXRpY2FsbHkgYmUKCSAgbGlmdGVkIGJ5IHVzaW5nIHNvbWUgYWRkaXRpb25hbCBBUEkpLgoJICBNb3ZlZCBhcnJheSBhbGxvY2F0aW9uIHRvIHRoZSBoZWFwIG5vdy4KCjIwMTEtMTAtMTYgMjA6MjU6NDEgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJICBwbmdlbmM6IGRvbid0IHVuY29uZGl0aW9uYWxseSBhbGxvY2F0ZSA0MDk2IHBvaW50ZXJzIG9uIHRoZSBzdGFjawoJICBJbnN0ZWFkIGFsbG9jYXRlIGFzIG1hbnkgYXMgbmVlZGVkIChvbiB0aGUgc3RhY2sgc3RpbGwpLgoKMjAxMS0xMC0xNiAyMDowNToyOCArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkgIHBuZ2VuYzogZW5zdXJlIHNldGNhcHMgd2FzIGNhbGxlZCBiZWZvcmUgY2hhaW4gZnVuY3Rpb24KCSAgVGhpcyBpcyBuZWVkZWQgdG8gcHJvcGVybHkgZXJyb3Igb3V0IGZvciBlLmcuICJmYWtlc3JjICEgcG5nZW5jICEgZmFrZXNpbmsiLgoKMjAxMS0xMC0xNiAxOTo0NDoyNyArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkgIHBuZ2VuYzogdmFsaWRhdGUgaW5wdXQgYnVmZmVyIHNpemUKCSAgSnVzdCBmb3Igc2FmZXR5OyBvZiBjb3Vyc2Ugc3VjaCBtaXNtYXRjaCByZXByZXNlbnRzIGEgYnVnIGluIGFub3RoZXIgZWxlbWVudC4KCjIwMTEtMTAtMTYgMTk6NDE6MjggKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBleHQvbGlicG5nL01ha2VmaWxlLmFtOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5oOgoJICBwbmdlbmM6IG1ha2Ugc2V0Y2FwcyBtb3JlIHJvYnVzdCwgdXNlIGdzdHZpZGVvIGZ1bmN0aW9ucwoJICBBIHNldGNhcHMgZnVuY3Rpb24gbmVlZHMgdG8gYWN0dWFsbHkgdmVyaWZ5IHRoZSBjYXBzIGNhcmVmdWxseS4gSW4gdGhpcyBjYXNlLAoJICBpdCB3YXMgcG9zc2libGUgdG8gZS5nLiBsaW5rIGEgdmlkZW8gZGVjb2RlciB3aXRoIFlVVitSR0IgdGVtcGxhdGUgY2FwcyB0bwoJICBwbmdlbmMuICBUaGF0IHdvdWxkIGNhdXNlIGEgY3Jhc2ggd2hlbiB0aGUgZGVjb2RlciBwdXNoZXMgYSBZVVYgYnVmZmVyLiBTYW1lCgkgIHRoaW5nIHdoZW4gcHVzaGluZyBhIHZhbGlkIGJ1ZmZlciB0aGF0IGV4Y2VlZHMgdGhlIHJlc29sdXRpb24gbGltaXRzLgoJICBBbHNvLCBtaXNzaW5nIGZyYW1lcmF0ZSBjYXBzIGZpZWxkIHdvdWxkIGNhdXNlIGEgZ2xpYiBjcml0aWNhbCB3YXJuaW5nIGR1ZSB0bwoJICBpbnZhbGlkIEdWYWx1ZS4gVGhpcyBmYWlscyBoYXJkIG5vdy4KCjIwMTEtMTAtMjEgMTA6MDE6NDMgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgZWJtbDogc21hbGwgY29ycmVjdGlvbiB0byBwcmV2aW91cyBjb21taXQKCSAgU2lnbmFsIGEgc2hvcnQgcmVhZCB3aXRoIFVORVhQRUNURUQsIGV4YWN0bHkgbGlrZSB0aGUgcGVla19ieXRlcyBmdW5jdGlvbi4KCjIwMTEtMTAtMTkgMTM6MDk6NTEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIGVibWw6IEZpeCBwdXNoLWJhc2VkIGJlaGF2aW91cgoJICBUaGUgJ3BlZWsnIG1ldGhvZCB3YXMgY29tcGxldGVseSB3cm9uZyAoIT8pCgoyMDExLTEwLTE4IDE4OjMxOjE3ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJICBwdWxzZTogR2V0IGNhcHMgY29ycmVjdGx5IG9uIHBhZCBibG9jawoJICBJbnN0ZWFkIG9mIGFsd2F5cyBnb2luZyB1cHN0cmVhbSwgd2Ugc2hvdWxkIGZpcnN0IHNlZSBpZiBhbHJlYWR5IGdvdAoJICBjYXBzIGZyb20gYSBzZXRjYXBzKCkgY2FsbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MTI2MgoKMjAxMS0xMC0xOCAxMjoyNToxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkgIHdhdnBhY2tlbmM6IGRvbid0IHVucmVmIGJ1ZmZlciB3aXRoIGdzdF9vYmplY3RfdW5yZWYoKQoKMjAxMS0xMC0xOCAxMjowNTowMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBvbmx5IHVzZSBpc19wY20gZm9yIDEuMCBvZiBwdWxzZWF1ZGlvCgoyMDExLTEwLTE4IDExOjU4OjU3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IG9ubHkgZGlzYWJsZSB0cmlja21vZGVzIGZvciAhcGNtCgkgIE9ubHkgZGlzYWJsZSB0cmlja21vZGVzIHdoZW4gd2UgYXJlIG5vdCBkZWFsaW5nIHdpdGggcmF3IFBDTSBzYW1wbGVzLgoKMjAxMS0xMC0xNiAxNTozMjo1MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgIHZpZGVvY3JvcDogZml4IGNvbXBpbGF0aW9uCgoyMDExLTEwLTE2IDE1OjI2OjM4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmMKCjIwMTEtMTAtMTQgMTA6NTY6MTYgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjI6IEZpeCBhIGxlYWsKCSAgQnVmZmVycyB3ZXJlbid0IGJlaW5nIHVucmVmJ2VkIGluIG9uZSBjYXNlIGluc2lkZSwgY2F1c2luZyBtZW1vcnkgdXNhZ2UKCSAgdG8gYmxvdyB1cC4KCjIwMTEtMTAtMTQgMDk6MTA6MDEgKzAyMDAgIE1hcmMgTGVlbWFuIDxtYXJjLmxlZW1hbkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJICBzZXQgY29sb3VyIG1hc2tzIGZvciB2aWRlby94LXJhdy1yZ2IgaW4gcnRwdnJhd2RlcGF5CgoyMDExLTEwLTEzIDAxOjA1OjEzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogcmUtZW5hYmxlIHZpZGVvY3JvcCBwbHVnaW4KCSAgQWxyZWFkeSBwb3J0ZWQgdG8gMC4xMQoKMjAxMS0xMC0xMyAwMTowNTowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuaDoKCSAgYXNwZWN0cmF0aW9jcm9wOiBQb3J0IHRvIDAuMTEKCjIwMTEtMTAtMTMgMDA6Mzk6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb2Nyb3AvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmg6CgkgIHZpZGVvY3JvcDogUG9ydCB0byAwLjExCgoyMDExLTEwLTEyIDE3OjQzOjQ3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc3BlY3RyYXRpb2Nyb3AuYzoKCSAgdGVzdHM6IGFzcGVjdHJhdGlvY3JvcDogUG9ydCB0byAwLjExCgoyMDExLTEwLTEyIDA4OjI0OjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbHBoYWNvbG9yLmM6CgkgIHRlc3RzOiBhbHBoYWNvbG9yOiBQb3J0IHRvIDAuMTEKCjIwMTEtMTAtMTMgMTc6MTI6MjMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBQcm9wZXJseSByZWdpc3RlciB0eXBlCgkgIEl0J3MgYSBzdWJjbGFzcyBvZiBHc3RBdWRpb0VuY29kZXIgYW5kIG5vdCBvZiBHc3RFbGVtZW50CgoyMDExLTEwLTEzIDE2OjU5OjUwICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXIyOiBGaXggaW5jb3JyZWN0IGdzdF9idWZmZXJfcmVwbGFjZSgpIGNhbGwKCSAgVGhpcyBnb3QgZXhwb3NlZCB3aGVuIGdzdF9idWZmZXJfcmVwbGFjZSgpIHdhcyBjaGFuZ2VkIGZyb20gYSBtYWNybyB0byBhCgkgIGZ1bmN0aW9uLgoKMjAxMS0xMC0xMyAwOTozNDowNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBGaXggd3JvbmcgdXNhZ2Ugb2YgZ3N0X2l0ZXJhdG9yX2ZpbHRlcgoJICBJdCB0YWtlcyBhIEdWYWx1ZSogYXMgdGhlIHVzZXJfZGF0YS4KCSAgQW5kIGRvbid0IGZvcmdldCB0byB1bnJlZiB0aGUgZGVtdXhlciBiZWZvcmUgcmV0dXJuaW5nLgoKMjAxMS0xMC0xMyAwOTowMjo0NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAgZml4IGNvbXBpbGUKCjIwMTEtMTAtMTMgMDg6NTg6MDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L2pwZWcvZ3N0anBlZ2RlYy5jCgkgIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jCgoyMDExLTEwLTEyIDA4OjA5OjIwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZW5jLmM6CgkgIHRlc3RzOiBjbW1sZW5jOiBQb3J0IHRvIDAuMTEKCjIwMTEtMTAtMTIgMDg6MDI6MDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxkZWMuYzoKCSAgdGVzdHM6IGNtbWxkZWM6IFBvcnQgdG8gMC4xMQoKMjAxMS0xMC0xMiAwNzoyOTozMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkgIHB1bHNlYXVkaW9zaW5rOiBVc2UgbmV3IEdzdEl0ZXJhdG9yIEFQSSBjb3JyZWN0bHkKCSAgR3N0SXRlcmF0b3Igbm93IHVzZXMgR1ZhbHVlLCB1c2UgaXQgY29ycmVjdGx5LgoKMjAxMS0xMC0xMiAxMToyNjo1MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgcnRwdnJhd3BheTogT25seSB1c2UgMjQgTFNCIGZvciBkZXB0aD0yNCBSR0IgY2FwcwoJICAuLi4gYW5kIGluZGVudCB0aGUgbWFza3MgZm9yIGNsYXJpdHkKCjIwMTEtMTAtMTEgMTQ6NTg6NDMgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBmaXggc2VnbWVudCBoYW5kbGluZywgc28gd2UgYWN0dWFsbHkgdXNlIHJ1bm5pbmcgdGltZQoJICBnc3RfbWF0cm9za2FfbXV4X2Jlc3RfcGFkIGFkanVzdHMgdGhlIGJ1ZmZlciB0aW1lc3RhbXAgdG8gcnVubmluZyB0aW1lIHVzaW5nCgkgIHRoZSBzZWdtZW50IHN0b3JlZCBpbiB0aGUgcGFkJ3MgY29sbGVjdCBkYXRhLiBIb3dldmVyLCB0aGUgZXZlbnQgaGFuZGxlciBkaWRuJ3QKCSAgcGFzcyB0aGUgbmV3c2VnbWVudCBldmVudCBvbiB0byBjb2xsZWN0cGFkcycgaGFuZGxlciwgc28gdGhpcyBzZWdtZW50IHdhcyBuZXZlcgoJICB1cGRhdGVkIGF0IGFsbC4KCSAgUmUtZml4ZXMgYnVnICM0MzI2MTIuCgoyMDExLTEwLTEwIDE5OjAxOjIzICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyMnBheS5jOgoJICBnc3RydHBnNzIycGF5OiBDb21wZW5zYXRlIGZvciBjbG9ja3JhdGUgdnMuIHNhbXBsZXJhdGUgZGlmZmVyZW5jZQoJICBUaGUgUlRQIGNsb2NrLXJhdGUgdXNlZCBmb3IgRzcyMiBpcyA4MDAwLCBldmVuIHRob3VnaCB0aGUgc2FtcGxlcmF0ZSBpcwoJICAxNjAwMC4gQ29tcGVuc2F0ZSBmb3IgdGhpcyBieSBwcmV0ZW5kaW5nIEc3MjIgaGFzIDggYml0cyBwZXIgc2FtcGxlCgkgIGluc3RlYWQgb2YgdGhlIDQgYml0cyBhcyBpZiBpdCB3ZXJlIGEgY29kZWMgdGhhdCByYW4gYXQgaGFsZiB0aGUgc3BlZWQsCgkgIGJ1dCB3aXRoIHR3aWNlIHRoZSBudW1iZXIgb2YgYml0cy4gRml4ZXMgIzY2MTM3NgoKMjAxMS0wOS0yNyAxOToyNTo1MyArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IEltcGxlbWVudCB1cHN0cmVhbSBuZWdvdGlhdGlvbgoJICBBZGQgdXBzdHJlYW0gbmVnb3RpYXRpb24gZm9yIGpwZWdkZWMuIEZpeGVzICM2NjAyNzUKCjIwMTEtMTAtMTAgMTk6MDI6NTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thLWRlbXV4OiBkb24ndCBsZWFrIGF1ZGlvIGNvZGVjX2RhdGEgYnVmZmVyCgoyMDExLTEwLTEwIDE3OjQxOjEwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkgIGFscGhhOiBEb24ndCB1c2Ugc3RhcnQoKSB2bWV0aG9kCgkgIFRoZSBvbmx5IHRoaW5nIHdlJ3JlIGRvaW5nIGlzIGluaXRpYWxpemluZyBwYXJhbWV0ZXJzIC4uLgoJICAqIHdoaWNoIHdvbid0IHdvcmsgYmVjYXVzZSB3ZSBkb24ndCBoYXZlIHVwc3RyZWFtL2Rvd25zdHJlYW0gY2FwcwoJICAqIHdoaWNoIHdpbGwgYmUgaW5pdGlhbGl6ZWQgd2hlbiA6OnNldF9jYXBzKCkgaXMgY2FsbGVkCgoyMDExLTEwLTEwIDE0OjA4OjI5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMC0xMCAxMzoyMjoxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6CgkgIGlkM2RlbXV4OiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMTAgMTM6MjA6MDQgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYWlyby9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGFkZCBtaXNzaW5nIFBMVUdJTl9BU0VfTElCUyB0byBMREFERAoKMjAxMS0xMC0xMCAxMjo1NDoyMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkgIGljeWRlbXV4OiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMTAgMTI6Mjc6MDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOgoJICBhbm5vZGV4OiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMTAgMTE6NDg6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmMKCjIwMTEtMTAtMTAgMDA6MTg6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5oOgoJICBwdWxzZTogcG9ydCBwdWxzZXV0aWwgdG8gMC4xMQoKMjAxMS0xMC0wOSAyMToxNzoyNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkgIHB1bHNlYXVkaW9zaW5rOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMDkgMTg6NTg6MjkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBGaXhpbmcgZ2V0Y2FwcyBmdW5jdGlvbgoJICBVcGRhdGUgZ2V0Y2FwcyBmdW5jdGlvbiB0byAwLjExIEFQSQoKMjAxMS0xMC0wOSAyMTozMToyNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmg6CgkgIHNwZWV4ZW5jOiBvbmx5IHB1c2ggaGVhZGVyIGJ1ZmZlcnMgZm9sbG93aW5nIGluaXRpYWwgZXZlbnRzCgoyMDExLTEwLTA5IDE2OjI5OjA1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi9tYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMC0wOSAxNjoyNDozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZHVtcC5jOgoJICBxdGRlbXV4OiB1cGRhdGUgZm9yIF9fZ3N0X2RlYnVnX21pbiBuYW1lIGNoYW5nZQoKMjAxMS0xMC0wOSAxMToxODoxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tc3JlY292ZXJ5LmM6CgkgIHF0bXV4OiBGaXggbWVtb3J5IGxlYWsgb24gYXRvbXMgcmVjb3ZlcnkgZnVuY3Rpb24KCSAgUmVtZW1iZXIgdG8gZnJlZSB0aGUgZnR5cCBkYXRhIGFmdGVyIHdyaXRpbmcgaXQgdG8gYSBmaWxlLgoJICBGaXhlcyAjNjYwOTY5CgoyMDExLTEwLTA2IDEyOjI2OjMzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogcmVwb3J0IG5ldyBiaXRzCgoyMDExLTEwLTA2IDEyOjIzOjM5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jCgkgIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jCgkgIGdzdC9pc29tcDQvYXRvbXMuYwoJICBnc3QvaXNvbXA0L2dzdHF0bXV4LmMKCjIwMTEtMDktMjEgMTg6NDU6NDIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBtYXRyb3NrYWRlbXV4OiBpbXByb3ZlIHNlZ21lbnQgaGFuZGxpbmcgd2l0aCBub24temVybyBzdGFydGluZyB0aW1lc3RhbXAKCSAgLi4uIGFzIHdlbGwgYXMgcmVsYXRlZCBpdGVtcywgc3VjaCBhcyBzZWVraW5nIGFuZCBwb3NpdGlvbiByZXBvcnRpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTk4MDgKCjIwMTEtMDktMjkgMTg6NDE6NTMgKzA0MDAgIFN0YXMgU2VyZ2VldiA8c3RzcEB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIHY0bDIsIHhpbWFnZXNyYzogZml4IHNvbWUgcHJpbnRmIGZvcm1hdCBjb21waWxlciB3YXJuaW5ncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYwMTUwCgoyMDExLTA5LTMwIDEyOjQyOjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHRlc3RzOiBxdG11eDogUmVmYWN0b3IgYml0cmF0ZSBjaGVjayB0ZXN0CgkgIFJlZmFjdG9yIGJpdHJhdGUgY2hlY2sgdGVzdCB0byBhY2NvbW9kYXRlIG11bHRpcGxlIHRlc3RzCgkgIGZvciBiaXRyYXRlCgoyMDExLTA5LTMwIDEzOjAyOjMxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSAgcXRtdXg6IHVwZGF0ZSBlc2RzIGF0b20gdW5kZXIgd2F2ZSBhdG9tIGZvciBhYWMgYml0cmF0ZXMKCSAgQUFDIGluIG1vdiBmb3JtYXQgcHV0cyBhbiBFU0RTIGF0b20gaW5zaWRlIG9mIGEgV0FWRSBhdG9tIGluCgkgIFNUU0QgYXRvbSwgd2UgbmVlZCB0byB1cGRhdGUgdGhlIGJpdHJhdGUgb24gdGhpcyBFU0RTLiBUaGlzIHBhdGNoCgkgIGZpeGVzIGl0LgoKMjAxMS0wOS0zMCAxMjo0MTo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkgIHF0bXV4OiBBbHNvIHVwZGF0ZSBidHJ0IGF0b20KCSAgV2hlbiByZXdyaXRpbmcgYml0cmF0ZXMsIGFsc28gdXBkYXRlIHRoZSBidHJ0IGF0b20gdW5kZXIgc3RzZAoKMjAxMS0wOS0zMCAxMDo1NTo1MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICB0ZXN0czogcXRtdXg6IGFkZCB0ZXN0cyBmb3IgYml0cmF0ZSBhdmVyYWdlIGNhbGN1bGF0aW9uCgkgIEFkZHMgdGVzdHMgdG8gbWFrZSBzdXJlIHF0bXV4L21wNG11eCBzZXRzIGF2ZXJhZ2UgYml0cmF0ZQoJICBjb3JyZWN0bHkKCjIwMTEtMDktMjggMTE6NDE6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5oOgoJICBxdG11eDogQ2FsY3VsYXRlIGF2ZXJhZ2UgYml0cmF0ZSBmb3Igc3RyZWFtcwoJICBDYWxjdWxhdGUgYW5kIHVzZSBhdmVyYWdlIGJpdHJhdGUgZm9yIHN0cmVhbXMgd2hlbiBubwoJICBiaXRyYXRlIHRhZyB3YXMgcmVjZWl2ZWQKCjIwMTEtMDktMjggMTA6NDE6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogQXZvaWQgYSBidWZmZXIgbWV0YWRhdGEgY29weSBpZiBwb3NzaWJsZQoJICBJZiBmaXJzdF90cyBpcyAwIHRoZXJlIGlzIG5vIG5lZWQgdG8gc3VidHJhY3QsIHNvIHdlIG1pZ2h0CgkgIHNraXAgc29tZSBjb3B5aW5nIHRvIG1ha2UgdGhlIGJ1ZmZlciBtZXRhZGF0YSB3cml0YWJsZS4KCjIwMTEtMDktMjkgMjM6MjE6NDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIHNwZWV4ZW5jOiBpbml0aWFsaXNlIHZhcmlhYmxlIGJlZm9yZSBhZGRpbmcgdG8gaXQKCjIwMTEtMDktMjkgMTc6MjE6MjIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5oOgoJICBzcGVleGRlYzogcG9ydCB0byBhdWRpb2RlY29kZXIKCjIwMTEtMDktMjkgMTY6MzM6MDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmg6CgkgIHNwZWV4ZW5jOiBjbGVhbiB1cCBzb21lIHVudXNlZCByZW1uYW50cwoKMjAxMS0wOS0yOSAxNzozMjoyMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvTWFrZWZpbGUuYW06CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuaDoKCSAgc3BlZXhlbmM6IHBvcnQgdG8gYXVkaW9lbmNvZGVyCgoyMDExLTA5LTI4IDE5OjEwOjI3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogZ2V0IHJpZCBvZiBncmFudWxlcG9zIGhhbmRsaW5nCgkgIExlYXZlIHRoYXQgdG8gdGhlIHBhcnNlciBvciBkZW11eGVyLiBUaGVyZSdzIHN0aWxsIHNvbWUKCSAgY29kZSBmb3Igb3BlcmF0aW5nIGluIERFRkFVTFQgKHNhbXBsZXMpIGZvcm1hdCwgYnV0IHRoYXQKCSAgd2lsbCBiZSByZW1vdmVkIGxhdGVyLgoKMjAxMS0wOS0yOCAxODozMjowMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSAgZmxhY2RlYzogZ2V0IHJpZCBvZiBwdWxsLW1vZGUgc3VwcG9ydCBhbmQgZm9jdXMgb24gYmVpbmcgYSBkZWNvZGVyCgkgIExlYXZlIGFsbCB0aGUgb3RoZXIgc3R1ZmYgdG8gZmxhY3BhcnNlLgoKMjAxMS0wOS0yOCAxNzoyOTowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBmbGFjLCBqcGVnOiBmaXggY29tcGlsZXIgd2FybmluZwoKMjAxMS0wOS0yOCAxNzo0MDowMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkgIGZsYWM6IHBvcnQgdG8gMC4xMQoKMjAxMS0wOS0yOCAxNzozOToxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvZmxhYy9nc3RmbGFjZW5jLmMKCjIwMTEtMDktMjggMTY6MTg6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA5LTI4IDE2OjA5OjU4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL01ha2VmaWxlLmFtOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuaDoKCSAgZmxhY2VuYzogcG9ydCB0byBhdWRpb2VuY29kZXIKCjIwMTEtMDktMjcgMTU6NTk6MjQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkgIG1hdHJvc2thZGVtdXg6IGVuc3VyZSBtaW5pbWFsIGFsaWdubWVudCBmb3IgYXVkaW8veC1yYXctKiBidWZmZXJzCgkgIFNpbmNlIG1hdHJvc2thZGVtdXggd2lsbCBhdHRlbXB0IHRvIHB1c2ggdW5hbGlnbmVkIGJ1ZmZlcnMsCgkgIGRvd25zdHJlYW0gbWlnaHQgaGF2ZSB0cm91YmxlIHdpdGggdGhvc2UsIGVzcGVjaWFsbHkgaWYgZG93bnN0cmVhbQoJICB1c2VzIE9SQywgc3VjaCBhcyBhdWRpb2NvbnZlcnQuCgkgIEVuc3VyZSB3ZSBwdXNoIGJ1ZmZlcnMgYWxpZ25lZCB0byB0aGUgYmFzaWMgdHlwZSBhdCBsZWFzdCBmb3IKCSAgdGhvc2UgcmF3IGJ1ZmZlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTk3OTgKCjIwMTEtMDktMjggMTI6NDQ6NTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgY29tbW9uCgkgIGV4dC9wdWxzZS9wdWxzZXNpbmsuYwoJICBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYwoJICBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmMKCSAgZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jCgkgIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmMKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmMKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmMKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jCgkgIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmMKCjIwMTEtMDktMjggMDA6MTA6MDkgKzAzMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogZ3N0L2dvb20yazEvZ29vbV9jb3JlLmM6CgkgIGdvb20yazE6IEZpeCBjb21waWxlciB3YXJuaW5ncyBvbiA2NCBiaXQgbWluZ3ctdzY0CgkgIEZpeGVzIGJ1ZyAjNjYwMjk0LgoKMjAxMS0wOS0yNSAxNToxMzozOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9NYWtlZmlsZS5hbToKCSogZXh0L3NvdXAvZ3N0c291cC5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmg6CgkgIHNvdXA6IHJlbmFtZSBzb3VwaHR0cHNpbmsgdG8gc291cGh0dHBjbGllbnRzaW5rCgkgIFRvIGF2b2lkIGNvbmZ1c2lvbiwgYW5kIGJlY2F1c2Ugd2UgbWlnaHQgd2FudCBhIHNlcnZlcgoJICBzaW5rIGF0IHNvbWUgcG9pbnQgdG9vLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5OTQ3CgoyMDExLTA5LTIzIDE2OjM5OjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc2luay5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNpbmsuaDoKCSAgc291cGh0dHBzaW5rOiBkb24ndCBjcmVhdGUgdW51c2VkIHNlY29uZCBzaW5rIHBhZCBvYmplY3QKCSAgVGhlIGJhc2UgY2xhc3Mgd2lsbCBjcmVhdGUgdGhlIHNpbmsgcGFkLgoKMjAxMS0wOS0yMyAxNTozNjozNiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBjb3JyZWN0bHkgY2hlY2sgZm9yIGFjMy9lLWFjMyBzd2l0Y2gKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTk0MwoKMjAxMS0wOS0yMSAxNDowMToyMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgVXBkYXRlIGNvbW1vbiB0byAwLjExIGJyYW5jaAoKMjAxMS0wOS0yMCAxMzozODo1MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IGltcHJvdmUgZG93bnN0cmVhbSBmbG93IHJldHVybiBmZWVkYmFjayB0byB1cHN0cmVhbQoJICAuLi4gYWx0aG91Z2ggYmFzZXJ0cGRlcGF5IGRvZXMgbm90IHJlYWxseSBtYWtlIGl0IGVhc3kvcG9zc2libGUgdG8gZG8gc28KCSAgYWxsIHRoZSB3YXkuCgoyMDExLTA5LTIwIDEyOjExOjQ3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmg6CgkgIHhpbWFnZXNyYzogYWRkIHhpZCBhbmQgeG5hbWUgcHJvcGVydGllcyB0byBhbGxvdyBjYXB0dXJpbmcgYSBwYXJ0aWN1bGFyIHdpbmRvdwoJICBBIHBhcnRpY3VsYXIgd2luZG93IG1heSBiZSBzZWxlY3RlZCB1c2luZyB0aGUgbmV3IHhpZCAoWC1XaW5kb3cKCSAgWElELCBlZyBhIHBvaW50ZXIpIGFuZCB4bmFtZSAod2luZG93IHRpdGxlKSBwcm9wZXJ0aWVzLiBJZiBib3RoCgkgIGFyZSBzcGVjaWZpZWQsIHRoZSBYSUQgaXMgdXNlZCBpbiBwcmVmZXJlbmNlLCBmYWxsaW5nIGJhY2sgdG8KCSAgeG5hbWUgaWYgbm90IGZvdW5kLgoJICBEZWZhdWx0IChpZiBub25lIG9mIHhpZCBhbmQgeG5hbWUgYXJlIHNwZWNpZmllZCwgb3IgaWYgbm8gc3VjaAoJICB3aW5kb3cgaXMgZm91bmQpIGlzIHRvIGNhcHR1cmUgdGhlIHJvb3Qgd2luZG93LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQ2OTMyCgoyMDExLTA4LTAyIDE3OjM5OjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHRlc3RzOiBhZGQgdW5pdCB0ZXN0IHRvIG1ha2Ugc3VyZSBlbmNvZGViaW4gcGlja3MgbXA0bXV4IGZvciB2YXJpYW50PWlzbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUxNDk2CgoyMDExLTA5LTE5IDEyOjE1OjExICswMjAwICBIYSBOZ3V5ZW4gPGhhbmd1eXR2QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IEZpeCBhIGxlYWtlZCBjbG9jayBmb3IgZWFjaCBidWZmZXJpbmcgbWVzc2FnZQoJICBGaXhlcyBidWcgIzY1OTIzNy4KCjIwMTEtMDktMTkgMTI6MTE6MzIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogcGFyc2UgZW1iZWRkZWQgSUQzMiB0YWdzCgoyMDExLTA5LTAyIDEzOjQxOjQxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNlc3Npb246IGF2b2lkIHNvdXJjZSBwcmVtYXR1cmUgdGltaW5nIG91dAoJICBVc2Ugc2xpZ2h0bHkgYWRqdXN0ZWQgc2VuZGVyIGludGVydmFsIHRvIGRldGVybWluZSBzZW5kZXIgdGltZW91dCByYXRoZXIgdGhhbgoJICBvdXIgb3duIHNlbmRlciBzaWRlIGludGVydmFsICh3aGljaCBtYXkgaGF2ZSBiZWVuIGZvcmNlZCBzbWFsbCkuCgoyMDExLTA4LTI1IDEyOjQwOjUyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IGF2b2lkIHRpbWluZyBvdXQgc291cmNlIHRvbyBxdWlja2x5CgkgIC4uLiBmb2xsb3dpbmcgYSBQQVVTRS9QTEFZIGN5Y2xlLCBwYXJ0aWN1bGFybHkgYXBwbGljYWJsZSB3aGVuIG9wZXJhdGluZwoJICB3aXRoIGEgc2hvcnQgUlRDUCBpbnRlcnZhbCAocG9zc2libHkgZm9yY2VkIHNvIHNlcnZlci1zaWRlKS4KCjIwMTEtMDgtMjQgMTQ6Mzc6NTIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXIvcnRwYmluOiByZWxheCBkcm9wcGluZyBydGNwIHBhY2tldHMKCSAgLi4uIHRvIGF0IGxlYXN0IGhhdmluZyBpdCB0cmlnZ2VyIGEvdiBzeW5jaHJvbml6YXRpb24sIHBvc3NpYmx5IHdpdGhvdXQKCSAgdXNpbmcgcHJvdmlkZWQgdmFsdWVzIHdoaWNoIGFyZSBzdGlsbCBub3QgY29uc2lkZXJlZCBzYW5lCgkgIChhcyBwcmV2aW91c2x5IGRyb3BwZWQpLgoKMjAxMS0wOC0yNCAxNDozNDoyMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBzb21lIG1vcmUgcmVzZXQgd2hlbiBjbGVhcmluZyBwdCBtYXAKCSAgLi4uIHdoaWNoIGluIHBhcnRpY3VsYXIgY2F0ZXJzIGZvciBzb21lIG1vcmUgcmVzZXQgZm9sbG93aW5nIGEgcG9zc2libGUKCSAgcnRzcCBQTEFZLgoKMjAxMS0wOC0yMSAyMTo1ODozOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGRvIG5vdCBzZXQgZWxlbWVudHMgdG8gUExBWUlORyB3aGVuIGRvaW5nIHNlZWsgaW4gUEFVU0VECgoyMDExLTA5LTAxIDE0OjQ3OjQ4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IG9ubHkgcmVzZXQgc2tldyBvbiBnYXAgaWYgaW5wdXQgdHMgYXZhaWxhYmxlCgoyMDExLTA4LTE4IDE0OjEyOjIxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGNoZWNrIHNvbWUgbW9yZSBmb3IgcG9zc2libGUgcnRwIHRpbWVzdGFtcCBkaXNjb250aW51aXR5CgkgIC4uLiB3aGVuIG9wZXJhdGluZyBpbiBub24gc2xhdmUgbW9kZSwgYW5kIHJlc2V0IGlmIGRldGVjdGVkLgoJICBUaGlzIHNob3VsZCBhdm9pZCBzb21lIChsYXJnZSkgYm9ndXMgb3V0Z29pbmcgdGltZXN0YW1wIGR1ZSB0byBqdW1wcwoJICBpbiBydHAgdGltZSwgYXMgcmVzdWx0IG9mIFBBVVNFL1BMQVkgb3Igc2VlayBvciAuLi4KCjIwMTEtMDgtMDggMTI6NDg6NTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBzd2l0Y2ggdG8gcnRwIHRpbWUgYmFzZWQgc3luY2luZyB3aGVuIGd1ZXNzZWQgYXBwcm9wcmlhdGUKCjIwMTEtMDgtMDggMTI6MTU6MjAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBydHBiaW46IGFsdGVybmF0aXZlIGludGVyLXN0cmVhbSBzeW5jaW5nIG1ldGhvZHMKCSAgLi4uIGF0IGxlYXN0IGlmIG5vdCBzeW5jaW5nIHRvIE5QVCB0aW1lOgoJICAqIGVpdGhlciBzeW5jIHVzaW5nIFJUQ1AgU1IgZGF0YSAoYXMgY3VycmVudGx5KQoJICAqIG9ubHkgcGVyZm9ybSB0aGUgYWJvdmUgb25jZSB1c2luZyBpbml0aWFsIFJUQ1AgU1IgcGFja2V0cwoJICAqIGRpc2NhcmQgUlRDUCBhbmQgc3luYyBieSBlcXVhdGluZyBwcm92aWRlZCBzdHJlYW0ncyBjbG9jay1iYXNlIHJ0cHRpbWUsCgkgIGFzIHByb3ZpZGVkIGJ5IGppdHRlcmJ1ZmZlciAodHlwaWNhbGx5IG9idGFpbmVkIGZyb20gUlRQLUluZm8gaW4gUlRTUCkuCgoyMDExLTA4LTA4IDEyOjExOjI0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGFsc28gcHJvdmlkZSBjbG9jay1iYXNlIHRvIHN5bmMgc2lnbmFsCgoyMDExLTA4LTA4IDEyOjA5OjQxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgcnRwYmluOiBhbGxvdyBjb25maWd1cmFibGUgcnRjcCBzdHJlYW0gc3luY2luZyBpbnRlcnZhbAoJICAuLi4gcmF0aGVyIHRoYW4gbmVjZXNzYXJpbHkgc3luY2luZyBhdCBlYWNoIFJUQ1AgU1IuCgoyMDExLTA4LTAxIDA4OjM1OjAxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogdHJpZ2dlciByZWNvbnNpZGVyYXRpb24gaWYgcnRjcCBpbnRlcnZhbCBzZXQKCjIwMTEtMDgtMDEgMDg6MzI6MjQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBjb25maWd1cmUgcnRjcCBpbnRlcnZhbCBpZiBwcm92aWRlZAoJICAuLi4gaW4gUExBWSByZXNwb25zZS4KCjIwMTEtMDktMTYgMTY6NTM6MjIgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8bGFzc2UubGF1a2thbmVuQGRpZ2lhLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgaXNvbXA0OiBGaXggYWxsb3dpbmcgemVybyBkdXJhdGlvbiB0cmFja3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNzQ4NgoKMjAxMS0wOS0wNSAxMDoxMToxOCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkgIHVkcHNyYzogZXJyb3Igb3V0IHdoZW4gbm8gcHJvdG9jb2wgaXMgc3BlY2lmaWVkIGluIHRoZSB1cmkKCSAgSXQgaXMgY2VydGFpbmx5IGJldHRlciB0aGFuIHRvIGNyYXNoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU4MTc4CgoyMDExLTA5LTE5IDA5OjM3OjU4ICswMjAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBzcGVleGVuYzogZG8gbm90IHVzZSBpbnZhbGlkIGJ1ZmZlciB0aW1lc3RhbXBzCgoyMDExLTAzLTI5IDEyOjA5OjE4ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9NYWtlZmlsZS5hbToKCSogZXh0L3B1bHNlL3BsdWdpbi5jOgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuaDoKCSAgcHVsc2U6IE5ldyBwdWxzZWF1ZGlvc2luayBlbGVtZW50IHRvIGhhbmRsZSBmb3JtYXQgY2hhbmdlcwoJICBUaGlzIGludHJvZHVjZXMgYSBuZXcgYmluIHdoaWNoIHdyYXBzIGFyb3VuZCBwdWxzZXNpbmsgYW5kIGRlcGVuZGluZyBvbgoJICB0aGUgZm9ybWF0cyBzdXBwb3J0ZWQgYnkgdGhlIHNpbmssIHBsdWdzIGluL291dCBhIGRlY29kZWJpbjIgYXMKCSAgcmVxdWlyZWQuIFRoaXMgYWxsb3dzIHVzZXJzIHRvIHN3aXRjaCBzaW5rcyBvbiB0aGUgc3RyZWFtIGFuZCBhZGFwdHMKCSAgYWNjb3JkaW5nbHkgKGZvciBleGFtcGxlLCB5b3UgY291bGQgd2F0Y2ggYSBtb3ZpZSBpbiBwYXNzdGhyb3VnaCBtb2RlIG9uCgkgIHlvdXIgcmVjZWl2ZXIgd2hpY2ggc3VwcG9ydHMgQUMzIGRlY29kZSwgdGhlbiBwbHVnIG91dCBhbmQgc3dpdGNoIHRvIGEKCSAgbm9uLWRpZ2l0YWwgcHJvZmlsZSB0byBjb250aW51ZSB1bmludGVycnVwdGVkIG9uIGFuYWxvZyBvdXRwdXQpLgoJICBUaGUgYmluIGlzIHJlcXVpcmVkIGJlY2F1c2UgZG9pbmcgdGhlIHNhbWUgd2l0aCBwbGF5YmluMi9wbGF5c2luayB3aWxsCgkgIHJlcXVpcmUgQVBJIGNoYW5nZXMgdGhhdCBjYW5ub3QgYmUgbWFkZSBpbiAwLjEwLiBXaXRoIDAuMTEvMS4wLCB3ZQoJICBzaG91bGQgYmUgYWJsZSB0byBhc2sgZm9yIHVwc3RyZWFtIGNhcHMgcmVuZWdvdGlhdGlvbiB0byBkZWFsIHdpdGggYWxsCgkgIHRoaXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTcxNzkKCjIwMTEtMDktMTYgMTU6MDM6MjMgKzAyMDAgIEJyYW5rbyBTdWJhc2ljIDxicmFua29AYXhpcy5jb20+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thZGVtdXg6IEF2b2lkIHNlbmRpbmcgRU9TIHdoZW4gaW4gcGF1c2VkIHN0YXRlCgkgIENoYW5nZWQgdGhlIGVibWwgcmVhZGVyJ3MgZ3N0X2VibWxfcGVla19pZF9sZW5ndGgoKSBmdW5jdGlvbiBzbwoJICB0aGF0IGl0IHJldHVybnMgdGhlIGFjdHVhbCByZWFzb24gZm9yIHdoeSB0aGUgcGVlayBmYWlsZWQsIGluc3RlYWQKCSAgb2YgKGFsbW9zdCkgYWx3YXlzIHJldHVybmluZyBHU1RfRkxPV19VTkVYUEVDVEVELiBUaGlzIHByZXZlbnRzCgkgIHRoZSBwdWxsaW5nIHRhc2sgZnJvbSBzZW5kaW5nIEVPUyB3aGVuIGRvaW5nIGEgZmx1c2hpbmcgc2Vlay4KCjIwMTEtMDktMTUgMTU6NTM6NDcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGZpeCBzdHV0dGVyaW5nIEEvVgoJICBTb21lb25lIGdvdCBoYWQgYnkgaW1wbGljaXQgcHJvbW90aW9uIHRvIHVuc2lnbmVkIGluIG9wcyB3aXRoCgkgIGEgc2lnbmVkIGFuZCBhbiB1bnNpZ25lZCB2YWx1ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTE1MwoKMjAxMS0wOS0xNCAxNjozNzoxMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZzZWVrLmM6CgkgIG5hdnNlZWs6IHRvZ2dsZSBwYXVzZS9wbGF5IG9uIHNwYWNlIGJhcgoJICBBIHVzZWZ1bCB0aGluZyB0byBoYXZlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5MDY1CgoyMDExLTA5LTE0IDE0OjQ2OjAwICswMjAwICBEYXZpZCBTdmVuc3NvbiBGb3JzIDxkYXZpZHNmQGF4aXMuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBtYXRyb3NrYWRlbXV4OiBjb25maWd1cmFibGUgdGltZXN0YW1wIGdhcCBoYW5kbGluZwoJICBtYXRyb3NrYWRlbXV4IHBlcmZvcm1zIHNlZ21lbnQgdHJpY2tzIHRvIHNraXAgZ2FwcyBpbiBzdHJlYW1zLAoJICBub3RhYmx5IGF0IHN0YXJ0IGZvciBub24gMCBiYXNlZCBmaWxlcy4gIFRoZXJlIG1heSBob3dldmVyIGJlCgkgIGNhc2VzIHdoZW4gZnVsbCBwcmVzZW50YXRpb24gKGluY2x1ZGluZyBpbnRlcm1lZGlhdGUgZ2FwcykgaXMKCSAgZGVzaXJlZCwgc28gYSBwcm9wZXJ0eSBhbGxvd3MgdG8gY29uZmlndXJlIGFzIG9mIHdoaWNoIGdhcAoJICB0byBhY3QgKG9yIG5vdCBhdCBhbGwpLgoJICBBUEk6IEdzdE1hdHJvc2thRGVtdXg6Om1heC1nYXAtdGltZQoJICBGaXhlcyAjNjU5MDA5LgoKMjAxMS0wOS0xMiAwOToyMTo0NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbHZtdXguYzoKCSAgdGVzdHM6IGZsdm11eDogRml4IGZsdm11eCdzIHRlc3RzIGFmdGVyIGZpeCBmb3IgcmVxdWVzdCBwYWRzIGhhbmRsaW5nCgkgIE5vdyB0aGF0IGZsdm11eCBkb2Vzbid0IHJlbGVhc2UgaXRzIHJlcXVlc3QgcGFkcyBvbiBQQVVTRUQtPlJFQURZIHRoZQoJICB0ZXN0IGRvZXNuJ3QgbmVlZCB0byByZS1yZXF1ZXN0IHRoZW0gZm9yIGV2ZXJ5IHJldXNlIHRlc3Qgc3RhcnQuCgoyMDExLTA5LTA5IDA5OjEyOjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEZpeCBjdHRzIGdlbmVyYXRpb24gZm9yIHN0cmVhbXMgdGhhdCBkb24ndCBzdGFydCBhdCAwIHRpbWVzdGFtcHMKCSAgU3VidHJhY3QgdGhlIGZpcnN0IHRpbWVzdGFtcCBvZiBhIHN0cmVhbSBmcm9tIGFsbCBpbnB1dCBidWZmZXJzIHRvCgkgIGdldCAwLWJhc2VkIHRpbWVzdGFtcHMgZm9yIGNyZWF0aW5nIGEgc2FuZSBjdHRzIHRhYmxlLiBXaXRob3V0IHRoaXMKCSAgcGF0Y2ggdGhlIGN0dHMgY291bGQgaGF2ZSBsYXJnZXIgdmFsdWVzIHRoYW4gbmVlZGVkLCBjYXVzaW5nIHRoZQoJICBwbGF5YmFjayB0byBoYXZlIGEgZGVsYXkgYXQgc3RhcnR1cC4KCSAgQXMgdGhlIGZpcnN0IHRpbWVzdGFtcCBpcyBvbmx5IGZvdW5kIGFmdGVyIGEgZmV3IGJ1ZmZlcnMgYXJlIHF1ZXVlZAoJICAoZHVlIHRvIHBvc3NpYmxlIHJlb3JkZXJlZCBidWZmZXJzKSwgb25jZSB3ZSBmaW5kIHRoZSBmaXJzdCB0aW1lc3RhbXAKCSAgd2Ugc3VidHJhY3QgaXQgZnJvbSBhbGwgYnVmZmVycyBvbiB0aGUgcXVldWUsIGZyb20gdGhhdCBwb2ludCBvbiwKCSAgYWxsIGJ1ZmZlcnMgaGF2ZSB0aGVpciB0aW1lc3RhbXBzIHN1YnRyYWN0IHdoZW4gdGhleSBhcmUgY29sbGVjdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU4NjU5CgoyMDExLTA5LTEyIDA3OjU1OjE5ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogZG9uJ3QgcmVsZWFzZSByZXF1ZXN0IHBhZHMgZ29pbmcgUEFVU0VELT5SRUFEWQoJICBEb24ndCByZWxlYXNlIHJlcXVlc3QgcGFkcyBidXQganVzdCByZXNldCB0aGVtLiBUaGlzIG1ha2VzIHBpcGVsaW5lcyB1c2luZwoJICBmbHZtdXggcmV1c2FibGUuCgoyMDExLTA5LTA5IDEyOjM1OjUwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IHVzZSBic2lkIDkgYW5kIDEwIHRvIGNvbnRyb2wgc2FtcGxlIHJhdGUKCSAgU2VlIGh0dHA6Ly9tYXRyb3NrYS5vcmcvdGVjaG5pY2FsL3NwZWNzL2NvZGVjaWQvaW5kZXguaHRtbAoJICBUaGUgc3BlYyBpcyBzaWxlbnQgYWJvdXQgdGhpcyB0aG91Z2guLi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1ODU0NgoKMjAxMS0wOS0wNyAxNDoxMzowMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGVuc3VyZSBzb21lIGluaXRpYWwgc3RhdGUgdmFyaWFibGUgc2V0dXAKCSAgLi4uIHdoaWNoIG1pZ2h0IG90aGVyd2lzZSBiZSBza2lwcGVkIGlmIHRoZSBQTEFZIGNvbW1hbmQgaXMgaXNzdWVkIGJlZm9yZQoJICB0aGUgT1BFTiBjb21tYW5kIGhhZCBhIGNoYW5jZSB0byBhY3R1YWxseSBiZSBhY3RlZCB1cG9uLgoJICBGaXhlcyAjNjU3Mzc2LgoKMjAxMS0wOS0wOCAxNTowMjowNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogdHdlYWsgZ2FwIGhhbmRsaW5nCgkgIC4uLiBzbyBhcyB0byBhdm9pZCBidWZmZXJzIGJlZm9yZSBhbmQgYWZ0ZXIgZ2FwIHRvIGhhdmUgaWRlbnRpY2FsIHJ1bm5pbmcgdGltZS4KCjIwMTEtMDktMDggMTM6Mjg6MjQgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiB1c2UgR1NUX1JFU09VUkNFX0VSUk9SX0JVU1kgaWYgdjRsMl9pb2N0bCBmYWlscyB3aXRoIEVCVVNZCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTg1NDMKCjIwMTEtMDktMDcgMDg6NTQ6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogcmVtb3ZlIG9uZSBHX1VOTElLRUxZIGZvciB1c2VyIHByb3BlcnR5CgkgIFVzaW5nIEdfVU5MSUtFTFkgb24gdXNlciBwcm9wZXJ0aWVzIGlzbid0IG5pY2UsIHNwZWNpYWxseSB3aGVuCgkgIHRoYXQgaXMgdGhlIGRlZmF1bHQgb3B0aW9uLgoKMjAxMS0wMy0xNSAxMTowMzo1MyArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIG1hdHJvc2thbXV4OiBoYW5kbGUgR3N0Rm9yY2VLZXlVbml0IGV2ZW50CgkgIC4uLiBieSBzdGFydGluZyBhIG5ldyBjbHVzdGVyIGFmdGVyIGZvcndhcmRpbmcgZXZlbnQuCgkgIEZpeGVzICM2NDQxNTQuCgoyMDExLTA5LTA3IDE0OjI3OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGVuYy5jOgoJICBjbW1sOiBVc2UgY29tcGxldGUgY21tbCBjYXBzIGluIHRoZSB1bml0IHRlc3QKCjIwMTEtMDktMDcgMTQ6MjY6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgcXRtdXg6IFVzZSBjb21wbGV0ZSBNUEVHIGNhcHMgaW4gdGhlIHVuaXQgdGVzdAoKMjAxMS0wOS0wNyAxNDoxODo1OCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgZG9jczogY2xlYW51cCBtYWtlZmlsZXMKCSAgUmVtb3ZlIGNvbW1lbnRlZCBvdXQgcGFydHMgdGhhdCB3ZSBkb24ndCBuZWVkLiBSZW1vdmUgInRoZSB3aW5nbyBhZGRpdGlvbiIgLSBubwoJICBzbyB1c2VmdWwgYWZ0ZXIgYWxsLiBOYXJyb3cgZG93biBmaWxlLWdsb2JzIGZvciBwbHVnaW4gZG9jcy4KCjIwMTEtMDgtMjkgMTQ6MTI6MjIgKzAyMDAgIEtvbnN0YW50aW4gTWlsbGVyIDxrb25zdGFudGluLm1pbGxlckBnbWFpbC5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogRG9uJ3QgaGFuZGxlIEhUVFAgcmVzcG9uc2UgNDA3IGFzIGVycm9yIGlmIHByb3h5IGF1dGhlbnRpY2F0aW9uIGRhdGEgaXMgYXZhaWxhYmxlCgkgIEZpeGVzIGJ1ZyAjNjU3NDIyLgoKMjAxMS0wOS0wNyAxMjoxMTozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBBZGQgQ29udmVydGVyIHRvIHRoZSBjbGFzc2lmaWNhdGlvbiBiZWNhdXNlIGl0IGNhbiBjb252ZXJ0IGJldHdlZW4gZGlmZmVyZW50IGFsaWdubWVudHMKCSAgVGhpcyBhbGxvd3MgZGVjb2RlYmluMiB0byBsZXQgaXQgbmVnb3RpYXRlIHByb3Blcmx5LgoKMjAxMS0wOS0wNyAxMjoxMDo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogSW1wcm92ZSBzcmMgdGVtcGxhdGUgY2FwcwoJICBSZW1vdmUgdGhlIHBhcnNlZC9mcmFtZWQgZmllbGRzIGFuZCBhZGQgYWxsIGZpZWxkcyB0byB0aGUgdGVtcGxhdGUKCSAgY2FwcyB0aGF0IGFsd2F5cyBleGlzdC4KCjIwMTEtMDktMDYgMTU6NTk6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmg6CgkgIGFhY3BhcnNlOiBwYXJzZSBjb2RlY19kYXRhIHRvIGRldGVybWluZSBudW1iZXIgb2Ygc2FtcGxlcyBwZXIgZnJhbWUKCSAgRml4ZXMgIzY1NjczNC4KCjIwMTEtMDktMDYgMjE6MjQ6NDYgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGEzOWViODMgdG8gMTFmMGNkNQoKMjAxMS0wOS0wNiAxNjo1NzoxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiB0cnkgdG8gZGlzYWJsZSBkZWludGVybGFjZS4uCgoyMDExLTA5LTA2IDE1OjQwOjMyICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2MDVjZDlhIHRvIGEzOWViODMKCjIwMTEtMDktMDYgMTY6Mzc6MDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgY29tbW9uCgoyMDExLTA5LTA2IDE2OjA2OjI1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYwoJICBnc3QvaXNvbXA0L3F0ZGVtdXguYwoKMjAxMS0wOS0wNiAxNTo0MDozMiArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNjA1Y2Q5YSB0byBhMzllYjgzCgoyMDExLTA5LTA2IDE1OjA1OjM3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBtYXRyb3NrYW11eDogbWFrZSBkZWZhdWx0IGR1cmF0aW9uIGNoZWNrIGxlc3Mgc2Vuc2l0aXZlCgkgIEZyYW1lIGR1cmF0aW9uIG1pZ2h0IHZhcnkgZm9yIDEgdXNlY29uZCwgaW4gdGhpcyBjYXNlIG1hdHJvc2thbXV4CgkgIGRlY2lkZXMgdG8gY3JlYXRlIEJMT0NLR1JPVVAgaW5zdGVhZCBvZiBTSU1QTEVCTE9DSy4KCSAgQ29udmVydCBkdXJhdGlvbiB0byB0aW1lY29kZXNjYWxlIHdoaWNoIGlzICh0eXBpY2FsbHkpIGxlc3MgcHJlY2lzZSwgYW5kCgkgIHRoZW4gYWxzbyBhbGxvdyB0aGUgZGlmZmVyZW5jZSBvZiAxLy0xIHRvIGFycmFuZ2UgZm9yIGxlc3Mgc2Vuc2l0aXZlIGNoZWNrLgoJICBCYXNlZCBvbiBwYXRjaCBieSBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgkgIEZpeGVzICM2NTMwODAuCgoyMDExLTA5LTA2IDEzOjE4OjQwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkgIHJ0cG1wNGdkZXBheTogaW1wcm92ZSBib2d1cyBpbnRlcmxlYXZlZCBpbmRleCBjb21wZW5zYXRpbmcKCSAgUGF0Y2ggYnkgPGd1ZGFrZUBnbWFpbC5jb20+CgkgIEZpeGVzICM2NTQ1ODUuCgoyMDExLTA5LTA2IDEzOjE2OjI3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5oOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9sYXcvYWxhdy5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgLWdvb2Q6IHBvcnQgdG8gbmV3IGF1ZGlvIGNhcHMKCjIwMTEtMDktMDYgMTA6MzM6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IEFsbG93IHBvc2l0aXZlLCBub24tMS4wIHNlZ21lbnQgcmF0ZXMKCSAgT25seSBuZWdhdGl2ZSByYXRlcyBhcmUgbm90IHN1cHBvcnRlZC4gRml4ZXMgYnVnICM2NTgzMDUuCgoyMDExLTA5LTA1IDE1OjUwOjU2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJICB0ZXN0czogcGFyc2VyczogcHJvdmlkZSBtb3JlIHJlYWwgZGF0YSB3aGVuIHRlc3RpbmcgZHJhaW5pbmcgb2YgZ2FyYmFnZQoKMjAxMS0wOS0wNSAxNTo1MDowNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkgIGFtcnBhcnNlOiBmaXggYW5kIHN0cmVhbWxpbmUgdmFsaWQgZnJhbWUgY2hlY2tpbmcKCSAgLi4uIHRvIGhhbmRsZSB2YXJpb3VzIGNvbWJpbmF0aW9ucyBvZiBzeW5jIG9yIG5vdCwgYW5kIHN1ZmZpY2llbnQgZGF0YQoJICBvciBub3QgYXMgbWlnaHQgYmUgZXhwZWN0ZWQuCgkgIEZpeGVzICM2NTA3MTQuCgoyMDExLTA5LTA1IDE0OjQ5OjMyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmcmFnbWVudGVkIHN1cHBvcnQ7IGF2b2lkIGFkanVzdG1lbnQgZm9yIGtleWZyYW1lIHNlZWsKCSAgLi4uIHNpbmNlIGFsbCBpbmRleCBkYXRhIG1heSBub3QgeWV0IGJlIGF2YWlsYWJsZSBhdCB0aGF0IHRpbWUuCgoyMDExLTA5LTA1IDE0OjQ4OjAyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmcmFnbWVudGVkIHN1cHBvcnQ7IG1hcmsgYWxsIGF1ZGlvIHRyYWNrIHNhbXBsZXMgYXMga2V5ZnJhbWUKCjIwMTEtMDktMDUgMTQ6NDY6MjkgKzAyMDAgIEJyaWFuIExpIDxicmlhbjcwMDNAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZyYWdtZW50ZWQgc3VwcG9ydDsgcHJvcGVybHkgaW5pdCByZXR1cm4gdmFyaWFibGUgdmFsdWUKCSAgRml4ZXMgIzY1NTkxOC4KCjIwMTEtMDktMDUgMTM6MzE6MjAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhZGQgZ3RrLWRvYyBmb3IgbmV3IHNob3J0LWhlYWRlciBwcm9wZXJ0eQoKMjAxMS0wOS0wNSAxMzoxODozOSArMDIwMCAgTWFyYyBMZWVtYW4gPG1hcmMubGVlbWFuQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBhbGxvdyBzZW5kaW5nIHNob3J0IFJUU1AgcmVxdWVzdHMgdG8gYSBzZXJ2ZXIKCSAgU29tZSBlbmNvZGVycyAoQXJlY29udCkgZG8gbm90IGxpa2UgdGhlIGxvbmcgT1BUSU9OUyBzZW50IGF0IHN0YXJ0dXAgYXMgc2VudCBieQoJICBHU3RyZWFtZXIsIGJ1dCBkbyBhY2NlcHQgdGhlIHNob3J0IGhlYWRlciBhcyBzZW50IGJ5IExpdmU1NTUuCgkgIFRoaXMgcGF0Y2ggbWFrZXMgdGhlIGV4dGVuZGluZyB0aGUgcmVxdWVzdCBvcHRpb25hbCBieSBhZGRpbmcgYSBwcm9wZXJ0eQoJICAoc2hvcnQtaGVhZGVyKS4KCSAgRml4ZXMgIzY1NTgwNS4KCSAgQVBJOiBHc3RSVFNQU3JjOnNob3J0LWhlYWRlcgoKMjAwOS0wMy0wNCAxNDo1MTowOSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJICBydHBoMjYzcHBheTogU2V0IEgyNjMtMjAwMCBpZiB0aGF0cyB3aGF0IHRoZSBvdGhlciBzaWRlIHdhbnRzCgkgIFRoZSBzdGF0aWMgY2FwcyBzdGF0ZXMgdGhpcyBlbGVtZW50IHN1cHBvcnRzIEgyNjMtMjAwMCwgYnV0IHNldGNhcHMgbmV2ZXIKCSAgc2V0cyBpdCwgc28gaXQgd2FzIGxpZS4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01Nzc3ODQKCjIwMTEtMDgtMzAgMTk6MDI6NTEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEluaXRpYWxpc2UgdGhlIGxhc3Rfa2V5ZnJhbWVfcmVxdWVzdCB2YXJpYWJsZQoKMjAxMS0wOC0zMSAxNjowNDoyNCArMDIwMCAgUGV0ZXIgS29yc2dhYXJkIDxqYWNtZXRAc3Vuc2l0ZS5kaz4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazogbWFrZSBhZGQvcmVtb3ZlL2NsZWFyL2dldC1zdGF0cyBhY3Rpb24gc2lnbmFscwoJICBodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTc4MzAKCSAgU2lnbmVkLW9mZi1ieTogUGV0ZXIgS29yc2dhYXJkIDxqYWNtZXRAc3Vuc2l0ZS5kaz4KCjIwMTEtMDgtMzEgMTg6NDU6MTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSAgbXAydDogZml4IGVuY29kaW5nIG5hbWUgYWNjb3JkaW5nIHRvIFJGQzM1NTEKCjIwMTEtMDgtMzAgMTM6MzM6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBwdXNoIG1vZGU7IHBlcmZvcm0gc29tZSBleHRyYSBjaGVja3MgcHJpb3IgdG8gdXBzdHJlYW0gc2Vla2luZwoKMjAxMS0wOC0zMCAxMzoyODoyMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcHVzaCBtb2RlOyBmaXggYnVmZmVyZWQgc3RyZWFtaW5nCgkgIFRoYXQgaXMsIGluIGNhc2Ugd2hlcmUgbm8gc2VlayBpcyBwZWZvcm1lZCB0byBtb292LCBidXQgcHJlY2VkaW5nCgkgIGxpbWl0ZWQgbWRhdCBpcyBidWZmZXJlZC4KCjIwMTEtMDgtMzAgMTQ6MDY6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmg6CgkgIHNoYXBld2lwZTogcG9ydCB0byAwLjExCgoyMDExLTA4LTMwIDEyOjQ5OjA4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBsYXcgaXMgcG9ydGVkIG5vdwoKMjAxMS0wOC0zMCAxMjoyNTozNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9sYXcvYWxhdy5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LmM6CgkgIGxhdzogcG9ydCB0byAwLjExCgoyMDExLTA4LTI5IDE5OjExOjI1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkgIGFsYXc6IHBvcnQgdG8gMC4xMQoKMjAxMS0wOC0yOSAxOToxMDozNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgZ29vbTogZml4IGNvbW1lbnQKCjIwMTEtMDgtMjkgMTg6MDI6MTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc2luay5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwOiBwb3J0IHNvdXAgZWxlbWVudHMgdG8gMC4xMQoKMjAxMS0wOC0yOSAxNToxMzo1NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYXZvaWQgb3ZlcmZsb3cgd3JhcGFyb3VuZCBpbiB0aW1lc3RhbXAgd2hlbiBhZGRpbmcgZHVyYXRpb25zCgkgIERvIHNvbWUgdHlwZSBqdWdnbGluZyB0byBhdm9pZCBvdmVyZmxvdywgd2hpbGUgc3RpbGwgYWxsb3dpbmcgZm9yICduZWdhdGl2ZScKCSAgZHVyYXRpb25zICh3aGljaCB3b3VsZCBuZWVkIGEgd3JhcGFyb3VuZCBlZmZlY3QpLgoKMjAxMS0wOC0yOSAxMzo0Mzo1OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmMKCjIwMTEtMDgtMjYgMTQ6MjA6NDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgYWxsb2NhdGlvbjogZml4IGZvciB2bWV0aG9kIGNoYW5nZXMKCjIwMTEtMDgtMjUgMjM6Mzc6NDcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyc3JjOiBtYWtlIHRoaXMgd29yayBtb3JlIHRoYW4gb25jZSBpbiBhIHJvdwoJICBXZSB1c2VkIHRvIHNraXAgZnJhbWUgcmF0ZSBzZXR1cCBpZiB0aGUgY2FtZXJhIHdhcyBhbHJlYWR5IHNldHVwCgkgIHdpdGggdGhlIHJlcXVlc3RlZCBmcmFtZSByYXRlLiBUaGlzIGJyZWFrcyBzb21lIGNhbWVyYXMgdGhvdWdoLAoJICBjYXVzaW5nIHRoZW0gdG8gbm90IG91dHB1dCBkYXRhIChzZXZlcmFsIG1vZGVscyBvZiBUaGlua3BhZCBjYW1lcmFzCgkgIGhhdmUgdGhpcyBwcm9ibGVtIGF0IGxlYXN0KS4KCSAgU28sIGRvbid0IHNraXAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzgzMDAKCjIwMTEtMDgtMjUgMTY6NDE6MjMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHBvcnQgdG8gbmV3IHZpZGVvIGZsYWdzCgoyMDExLTA4LTI0IDE4OjQwOjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJICBwdWxzZTogYWRkIHNvbWUgbW9yZSBjaGFubmVscwoKMjAxMS0wNy0xMiAyMTo0ODozNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBkdG1mOiBBZGQgbW9yZSBkZWJ1ZwoKMjAxMS0wNy0xMiAxOTowOTowMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdGR0bWZjb21tb24uaDoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIGR0bWY6IE1heCBldmVudCB0eXBlIGlzIDE1CgoyMDExLTA0LTE0IDE1OjQ2OjA4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSAgZHRtZnNyYzogQWxpZ24gRFRNRiBzb3VuZCBidWZmZXJzIHdpdGggbGFzdC1zdG9wIGZyb20gZXZlbnQKCSAgQWxzbyBtYWtlIHN1cmUgdGhlIHRpbWVzdGFtcHMgbmV2ZXIgZ28gYmFja3dhcmRzCgoyMDExLTA3LTExIDIxOjMxOjA3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBydHBkdG1mc3JjOiBDb3JyZWN0bHkgcmVjb2duaXplIHRoZSBlbmQgb2YgYSBidWZmZXIKCjIwMTEtMDctMTEgMjA6NDc6MjMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIHJ0cGR0bWZzcmM6IE1ha2Ugc3VyZSBydHBkdG1mc3JjIHRpbWVzdGFtcHMgZG9uJ3Qgb3ZlcmxhcAoKMjAxMS0wNy0xMSAyMDo0NjoyMCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgcnRwZHRtZnNyYzogUHV0IHRoZSBpbnRlciBkaWdpdCBpbnRlcnZhbCBhdCB0aGUgZW5kLCBub3QgYXQgdGhlIHN0YXJ0CgkgIFRoZSByZWFzb24gaXMgdG8gbGV0IHJ0cGR0bWZtdXggZHJvcCBidWZmZXJzIGR1cmluZyB0aGUgaW50ZXIgZGlnaXQgaW50ZXJ2YWwsCgkgIHRoaXMgd2F5LCB0aGVyZSB3aWxsIGJlIG1vcmUgc2lsZW5jZSBhcm91bmQgdGhlIERUTUYgdG9uZXMgc28gSVZGcyB3aWxsIGhhdmUKCSAgYSBiZXR0ZXIgY2hhbmNlIHJlY29nbml6aW5nIHRoZW0uCgoyMDExLTA0LTE0IDE3OjA4OjU3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgcnRwZHRtZnNyYzogU3RhcnQgYXQgdGhlIGxhc3Rfc3RvcCBmcm9tIHRoZSBzdGFydCBldmVudCBpZiB0aGVyZSB3YXMgb25lCgkgIFRoZSBnb2FsIGlzIHRvIHRyeSB0byBub3QgaGF2ZSBhIEdBUCBiZXR3ZWVuIHRoZSBhdWRpbyBhbmQgdGhlIERUTUYKCjIwMTEtMDQtMTQgMTY6NDk6MzkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBydHBkdG1mc3JjOiBSZXNwZWN0IHB0aW1lIGZyb20gdGhlIGNhcHMKCSAgUmVzcGVjdCB0aGUgcHRpbWUgZnJvbSB0aGUgY2FwcyBmb3IgdGhlIERUTUYgcGFja2V0cwoKMjAxMS0wNy0xMSAyMTozMDoyOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgcnRwZHRtZnNyYzogSnVzdCBlcnJvciBvdXQgaWYgdGhlcmUgaXMgbm8gY2xvY2sKCjIwMTEtMDgtMjQgMTQ6MTY6NDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA4LTIzIDEyOjEyOjE1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IG9ubHkgcmVxdWlyZSB0d28gZnJhbWVzIGluIGEgcm93IHdoZW4gd2UgZG8gbm90IGhhdmUgc3luYwoJICBUaGlzIGF2b2lkcyBhIHNpbmdsZSBiaXQgZXJyb3IgZHJvcHBpbmcgdHdvIGZyYW1lcyB1bm5lY2Vzc2FyaWx5LgoJICBUaGUgdHdvIGNvbnNlY3V0aXZlIGZyYW1lcyBjaGVjayBpcyBzdGlsbCByZXF1aXJlZCB3aGVuIHdlIGRvbid0CgkgIGhhdmUgc3luYy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NzA4MAoKMjAxMS0wOC0yMyAyMTo0MToxNSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogVHJpdmlhbCBpbmRlbnRhdGlvbiBmaXgKCjIwMTEtMDgtMjMgMTk6MDk6MzEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIHZpZGVvOiBwb3J0IHRvIG5ldyBjb2xvcmltZXRyeSBpbmZvCgoyMDExLTA3LTIxIDE3OjIzOjI4IC0wNDAwICBNb250eSBNb250Z29tZXJ5IDxjbW9udGdvbUByZWRoYXQuY29tPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBDb3JyZWN0IHNhbXBsZSBudW1iZXIgcm91bmRpbmcgcmVzdWx0aW5nIGluIHRpbWVzdGFtcCBqaXR0ZXIKCSAgZmxhY2RlYyBjb252ZXJ0cyB0aGUgc3JjIHRpbWVzdGFtcCB0byBhIHNhbXBsZSBudW1iZXIsIHVzZXMgdGhhdCBpbnRlcm5hbGx5LCB0aGVuIHJlY29udmVydHMgdGhlIHNhbXBsZSBudW1iZXIgdG8gYSB0aW1lc3RhbXAgZm9yIHRoZSBvdXRwdXQgYnVmZmVyLiAgVW5mb3J0dW5hdGVseSwgc2FtcGxlIG51bWJlcnMgY2FuJ3QgYmUgcmVwcmVzZW50ZWQgaW4gYW4gaW50ZWdlciBudW1iZXIgb2YgbmFub3NlY29uZHMsIGFuZCB0aGUgY29udmVyc2lvbiBwcm9jZXNzIHdhcyB0cnVuY2F0aW5nIHJhdGhlciB0aGFuIHJvdW5kaW5nLCByZXN1bHRpbmcgaW4gc2FtcGxlIG51bWJlcnMgYW5kIG91dHB1dCB0aW1lc3RhbXBzIHRoYXQgd2VyZSBvZnRlbiBvZmYgYnkgYSBmdWxsIHNhbXBsZS4KCSAgVGhpcyBjb3JyZWN0cyB0aGUgdGltZS0+c2FtcGxlIGNvbnZlc2lvbgoKMjAxMS0wOC0yMiAxMzoxMDowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDgtMjIgMTI6MjQ6MTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9hdG9tcy5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkgIGZvdXJjYzogcmVtb3ZlIGZvdXJjYyBmcm9tIGNhcHMKCjIwMTEtMDgtMjAgMTQ6NDg6MjAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlYnVndXRpbHMvYnJlYWtteWRhdGEuYzoKCSAgYnJlYWtteWRhdGE6IGVsZW1lbnQgaXMgbm90IHBhc3N0aHJvdWdoCgoyMDExLTA3LTEzIDExOjIwOjM0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgIG11bHRpZmlsZXNyYzogcXVpZXQgZGVidWdnaW5nCgoyMDExLTA3LTEwIDIxOjQwOjIwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXJibGVuZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3NjYWxlcmJvYi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdmZpci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmViZmYuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZXRmZi5jOgoJICBkZWludGVybGFjZTogY2hhbmdlIGZpZWxkIGhhbmRsaW5nIHRocm91Z2ggbWV0aG9kcwoJICBUaGlzIGxpa2VseSBicmVha3Mgc3R1ZmYuICBUaGUgZ29vZDogYWxsIG9mIHRoZSBtZXRob2RzIG5vdyBjcmVhdGUKCSAgZmllbGQgaW1hZ2VzIGFsaWduZWQgd2l0aCBpbnB1dCBmcmFtZXMsIHdpdGhvdXQgdGltZXN0YW1wIG1hbmdsaW5nLgoJICBUaGUgYmFkOiB0aGlzIHRvdWNoZXMgYSBsb3Qgb2YgY29kZSwgbXVjaCBvZiB3aGljaCBpcyBoYWlyeSBhbmQgaW4KCSAgbmVlZCBvZiBjbGVhbnVwLiAgSG93ZXZlciwgYXQgdGhpcyBwb2ludCB3ZSBjYW4gcmVhc29uYWJseSBjcmVhdGUgYQoJICBQU05SLWJhc2VkIHRlc3QuCgoyMDExLTA4LTIxIDE0OjQxOjE0ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBtdWx0aWZpbGVzaW5rOiByZXNldCAtPnN0cmVhbWhlYWRlcnMgdG8gTlVMTCBvbiBfc3RvcAoJICBGaXhlcyBpbnZhbGlkIG1lbW9yeSBhY2Nlc3MgcmV1c2luZyBtdWx0aWZpbGVzaW5rCgoyMDExLTA4LTIwIDEwOjQ2OjE4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuaDoKCSAgY3V0dGVyOiBicmluZyBjdXR0ZXIgc29tZXdoYXQgaW50byB0aGlzIG1pbGxlbm5pdW0KCjIwMTEtMDgtMTkgMTY6Mjc6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkgIHJnOiBmaXggY2FwcwoKMjAxMS0wOC0xOSAxNjoxMzoyMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBwb3J0IGFmdGVyIG1lcmdlCgoyMDExLTA4LTE5IDE2OjEyOjAxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wOC0xOSAxNjowOTo0OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9maXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VpaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9paXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9rYXJhb2tlLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOgoJKiBnc3QvYXVwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvbGV2ZWwvTWFrZWZpbGUuYW06CgkqIGdzdC9yZXBsYXlnYWluL01ha2VmaWxlLmFtOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnbGltaXRlci5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgcG9ydCB0byBtb3JlIGF1ZGlvIGFwaSBjaGFuZ2VzCgoyMDExLTA4LTE5IDE0OjAxOjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuaDoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5oOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJKiBzeXMvb3NzL2dzdG9zc2hlbHBlci5jOgoJKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9pbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2xldmVsL2xldmVsLWV4YW1wbGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vc3BlY3RydW0tZXhhbXBsZS5jOgoJICBwb3J0IG1vcmUgZWxlbWVudHMgdG8gbmV3IGF1ZGlvIGNhcHMgYW5kIEFQSQoKMjAxMS0wOC0xOSAxMTo0OTo0NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZmlyZmlsdGVyLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaWlyZmlsdGVyLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlva2FyYW9rZS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2thcmFva2UuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6CgkgIHBvcnQgdG8gbmV3IGF1ZGlvIEFQSSBhbmQgY2FwcwoKMjAxMS0wOC0xOCAxMzozNzozOSArMDIwMCAgRGF2aWQgSGVubmluZ3Nzb24gPGRhdmlkLmhlbm5pbmdzc29uQGNhbm9uaWNhbC5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogQWxsb3cgd3JpdGVzIGluIGJpZ2dlciBjaHVua3MKCSAgVGhlcmUncyBubyB1c2UgaW4gc3BsaXR0aW5nIHRoZSBpbmNvbWluZyBkYXRhIGRvd24gdG8gdGhlIHNlZ3NpemUKCSAgbGltaXQgLSBieSB3cml0aW5nIGFzIG11Y2ggYXMgcG9zc2libGUgaW4gb25lIGNodW5rLCB3ZSBpbmNyZWFzZQoJICBwZXJmb3JtYW5jZSBhbmQgYXZvaWQgUHVsc2VBdWRpbyB1bm5lY2Vzc2FyeSByZXdpbmRzLgoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBIZW5uaW5nc3NvbiA8ZGF2aWQuaGVubmluZ3Nzb25AY2Fub25pY2FsLmNvbT4KCjIwMTEtMDgtMTggMTk6Mzc6MzkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA4LTE4IDE5OjIxOjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkgIHBvcnQgdG8gbmV3IGF1ZGlvIGNhcHMuCgoyMDExLTA4LTA4IDIyOjE0OjI4ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBlbnN1cmUgbm8tbW9yZS1wYWRzIGlzIGFsd2F5cyBlbWl0dGVkCgkgIEluIHBhcnRpY3VsYXIsIGRvIHNvIGV2ZW4gaWYgZmFpbGluZyB0byByZWFkIHdoaWxlIHByZXJvbGxpbmcsCgkgIHN1Y2ggYXMgd2hlbiByZWFkaW5nIGZyb20gYSBwYXJ0aWFsIGZpbGUgKGVnLCB3aGlsZSBpdCBpcyBiZWluZwoJICBkb3dubG9hZGVkKS4KCSAgVGhpcyBmaXhlcyBhIHdlZGdlIGluIHBsYXliaW4yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUxOTY1CgoyMDExLTA4LTE3IDE3OjU3OjExICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyOiBpbXByb3ZlIGZpeGF0ZSBmdW5jdGlvbgoJICBVc2UgbmV3IGNvcmUgZnVuY3Rpb24gdG8gZml4YXRlIGEgZmllbGQuCgkgIENoYWluIHVwIHRvIHBhcmVudCBmaXhhdGUgZnVuY3Rpb24uCgoyMDExLTA4LTE3IDE1OjUyOjE4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuYwoKMjAxMS0wOC0xNyAxNTozOToyNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2pwZWcvTWFrZWZpbGUuYW06CgkqIGV4dC9qcGVnL2dzdGpwZWcuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5oOgoJICBqcGVnOiBwb3J0IHRvIDAuMTEKCSAgQWxzbyBkaXNhYmxlIHNtb2tlIGZvciBub3cuCgoyMDExLTA4LTE2IDE3OjI3OjEzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogYXZvaWQgdGltZXN0YW1wL29mZnNldCB0cmFja2luZyBnb2luZyBvdXQgb2Ygc3luYwoJICBUaGUgbGliRkxBQyBBUEkgaXMgY2FsbGJhY2sgYmFzZWQsIGFuZCB3ZSBtdXN0IG9ubHkgY2FsbCBpdCB0bwoJICBvdXRwdXQgZGF0YSB3aGVuIHdlIGtub3cgd2UgaGF2ZSBlbm91Z2ggaW5wdXQgZGF0YS4gRm9yIHRoaXMKCSAgcmVhc29uLCBhIHNpbmdsZSBwcm9jZXNzaW5nIHN0ZXAgaXMgZG9uZSB3aGVuIHJlY2VpdmluZyBhIGJ1ZmZlci4KCSAgSG93ZXZlciwgaWYgdGhlcmUgd2VyZSBtZXRhZGF0YSBidWZmZXJzIHN0aWxsIHBlbmRpbmcsIGEgc3RlcAoJICBpbnRlbmRlZCBmb3IgdGhlIGZpcnN0IGF1ZGlvIGZyYW1lIG1pZ2h0IGVuZCB1cCB3cml0aW5nIHRoYXQKCSAgbGVmdG92ZXIgbWV0YWRhdGEuIFNpbmNlIGEgc2luZ2xlIHN0ZXAgaXMgZG9uZSBwZXIgYnVmZmVyLCB0aGlzCgkgIHdpbGwgY2F1c2UgZXZlcnkgYnVmZmVyIHRvIGJlIHdyaXR0ZW4gb25lIHN0ZXAgbGF0ZS4KCSAgVGhpcyB3b3VsZCBhZGQgc29tZSBsYXRlbmN5IChhIGJ1ZmZlcmZ1bGwncyB3b3J0aCksIHBvc3NpYmx5CgkgIGxvc2UgYSBidWZmZXIgd2hlbiBzZWVraW5nIG9yIHRoZSBsaWtlLCBhbmQgYWxzbyBjYXVzZSB0aW1lc3RhbXAKCSAgYW5kIG9mZnNldCB0byBiZSBhcHBsaWVkIHRvIHRoZSB3cm9uZyBidWZmZXIsIGFzIHVwZGF0ZXMgdG8KCSAgdGhlICJjdXJyZW50IiBzZWdtZW50IGxhc3Rfc3RvcCAoZnJvbSBpbmNvbWluZyBidWZmZXIgdGltZXN0YW1wKQoJICB3aWxsIGJlIGFwcGxpZWQgdG8gYW4gb3V0cHV0IGJ1ZmZlciBvcmlnaW5hdGluZyBmcm9tIHRoZSBwcmV2aW91cwoJICBpbmNvbWluZyBidWZmZXIuCgkgIFRoaXMgZml4ZXMgdGhlIGlzc3VlIGJ5IGVuc3VyaW5nIHRoYXQsIHVwb24gcmVjZWl2aW5nIHRoZSBmaXJzdAoJICBhdWRpbyBmcmFtZSwgcHJvY2Vzc2luZyBpcyBkb25lIHRpbGwgYWxsIG1ldGFkYXRhIGlzIHByb2Nlc3NlZCwKCSAgc28gdGhlIG5leHQgInNpbmdsZSBzdGVwIiBkb25lIHdpbGwgYmUgZm9yIHRoZSBhdWRpbyBmcmFtZS4gQWZ0ZXIKCSAgdGhpcywgd2Ugc2hvdWxkIGtlZXAgdG8gMSBpbnB1dCBidWZmZXIgLT4gMSBvdXRwdXQgYnVmZmVyIGFuZCBzbwoJICBhdm9pZCBnZXR0aW5nIG91dCBvZiBzeW5jLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwOTYwCgoyMDExLTA4LTE3IDExOjE3OjM4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wOC0xNiAxNTozMjowNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IGJhaWwgb24gcmVzZXJ2ZWQgdmFsdWUKCSAgTm93IHRoYXQgd2UgbG9vayBhdCB0aGUgcmlnaHQgYml0cywgd2UgY2FuIHRlc3QgYWdhaW5zdCB0aGUgcmVzZXJ2ZWQKCSAgdmFsdWUgYXMgd2UgZG8gZm9yIG90aGVyIGZpZWxkcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDk2MAoKMjAxMS0wOC0xNiAxNToyNzo0MyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IGZpeCBiaXQgdHdpZGRsaW5nCgkgIFJpZ2h0IHNoaWZ0aW5nIGEgOCBiaXQgdmFsdWUgYnkgOCBiaXRzIGlzIHR3aWNlIHRvbyBtdWNoCgkgIHRvIGdldCB0aGUgaGlnaCA0IGJpdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA5NjAKCjIwMTEtMDgtMTYgMTU6MjI6NDYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiB3YXJuIGlmIHdlIHNlZSBhIHZhcmlhYmxlIGJsb2NrIHNpemUgd2hlcmUgdW5zdXBwb3J0ZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDk2MAoKMjAxMS0wOC0xNiAxODoyNToyOSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IGF2b2lkIGNyYXNoaW5nIGJ5IHJlc2V0dGluZyB0aGUgY29ycmVjdCBudW1iZXIgb2YgY2hhbm5lbHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NjYwNgoKMjAxMS0wOC0xNiAxODozNTo1MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmMKCjIwMTEtMDgtMTYgMTM6MTY6MjIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBmaXggb2ZmIGJ5IG9uZSBpbiBmcmFtZSBzaXplIGNoZWNrCgkgIFllcywgSSB3YXMgdHJhY2tpbmcgYW5vdGhlciBidWcgYW5kIHRoZSBzbWFsbCB0ZXN0IGZpbGUgSSBnZW5lcmF0ZWQKCSAgdG8gdGVzdCB3aXRoIGltcHJvYmFibHkganVzdCBoYXBwZW5lZCB0byB0cmlnZ2VyIHRoaXMsIHdpdGggYSBzZWNvbmQKCSAgYW5kIGxhc3QgZnJhbWUgb2YgMTYxNSBieXRlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NjY0OQoKMjAxMS0wOC0xNSAxMjoxOToxNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJICB0ZXN0czogdXBkYXRlIGZvciBfbmVnb3RpYXRlZF9jYXBzKCkgY2hhbmdlCgoyMDExLTA4LTE0IDIwOjQ2OjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDNkZW11eC9pZDN2Mi4zLjAuaHRtbDoKCSogZ3N0L2lkM2RlbXV4L2lkM3YyLjQuMC1mcmFtZXMudHh0OgoJKiBnc3QvaWQzZGVtdXgvaWQzdjIuNC4wLXN0cnVjdHVyZS50eHQ6CgkgIGlkM2RlbXV4OiByZW1vdmUgc3BlY3MgZnJvbSBnaXQgYXMgd2VsbCBub3cgdGhhdCBwYXJzaW5nIGNvZGUgaXMgaW4gLWJhc2UKCjIwMTEtMDctMTQgMTU6NDI6MzYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaWQzZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOgoJKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOgoJKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5oOgoJKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzoKCSAgaWQzZGVtdXg6IHVzZSAtYmFzZSBwcm92aWRlZCBpZDMgdGFnIHBhcnNpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDM4OAoKMjAxMS0wOC0xMyAxNjo1MToyMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFja2F1ZGlvc3JjOiBmaXggZXJyb3IgbWVzc2FnZSBjb2RlCgkgIEFuZCBhbHNvIHBvc3QgJ25vdCBmb3VuZCcgZXJyb3IgaWYgamFja2QgaXMgbm90IGV2ZW4gaW5zdGFsbGVkLgoKMjAxMS0wOC0xMiAxNjozMjo1OCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGluaXRpYWxpemUgYml0cmF0ZSB2YXJpYWJsZSBhbmQgcmVzZXQgZm9yIGVhY2ggbG9vcAoJICBEb24ndCBjaGVjayBldmVudHVhbGx5IHVuc2V0IHZhcmlhYmxlIGFuZCBkb24ndCBhY2NpZGVudGlhbGx5IHVzZSB2YWx1ZXMgZnJvbSBsYXN0CgkgIGN5Y2xlLgoKMjAxMS0wOC0xMCAxMToyODoyNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkgIGFhc2luazogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZXMKCjIwMTEtMDgtMDkgMTE6Mjg6MTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBQcm9wZXJseSBlcnJvciBvdXQgaWYgU0RQIGNvbnRhaW5zIG5vIHN0cmVhbXMKCSAgQWxzbyBmaXhlcyB1bml0aWFsaXplZCB2YXJpYWJsZSBlcnJvciBvbiBtYWNvc3guCgoyMDExLTA4LTA5IDA5OjA1OjMxICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIHhpbWFnZXNyYzogY2xlYXIgZmxhZ3Mgb24gYnVmZmVyIHJldXNlCgkgIFRoaXMgd2lsbCBlbnN1cmUgYSBsb2dpY2FsbHkgbmV3IGJ1ZmZlciBkb2VzIG5vdCBrZWVwIGZsYWdzIGZyb20KCSAgYSBwcmV2aW91cyB1c2Ugb2YgdGhhdCBidWZmZXIgKGVnLCBESVNDT05UIHdvdWxkIGJlIHNldCBvbiB0aGUgZmlyc3QKCSAgYnVmZmVyLCBhbmQgbWlzdGFrZW5seSBrZXB0IHdoZW4gcmV1c2VkKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MzcwOQoKMjAxMS0wOC0wOCAxMDo1NDoyNiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IHRha2UgY2FyZSBub3QgdG8gY2hhbmdlIHRoZSBjdXJyZW50IGZvcm1hdCB3aGVyZSBhcHByb3ByaWF0ZQoJICBTb21lIGRyaXZlcnMgYXJlIGJ1Z2d5IGFyZSB3aWxsIGNoYW5nZSB0aGUgY3VycmVudCBmb3JtYXQgd2hlbgoJICBwcm9jZXNzaW5nIFZJRElPQ19UUllfRk1ULiBTYXZlIGFuZCByZXN0b3JlIHRoZSBjdXJyZW50IGZvcm1hdAoJICB0byBlbnN1cmUgdGhlIGZvcm1hdCBpcyBrZXB0IHVuY2hhbmdlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0OTA2NwoKMjAxMS0wOC0wOCAxNToyNzoxMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMS0wOC0wOCAxNToyNjowMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYWFsaWIvTWFrZWZpbGUuYW06CgkgIGFhbGliOiBtYWtlIHN1cmUgLURHU1RfVVNFX1VOU1RBQkxFX0FQSSBpcyBkZWZpbmVkCgkgIFNvIHdlIGRvbid0IGdldCB3YXJuaW5ncy4KCjIwMTEtMDgtMDggMTU6MjU6MzEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvb3ZlcmxheS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9vdmVybGF5Lmg6CgkgIHY0bDI6IHVwZGF0ZSBmb3IgR3N0WE92ZXJsYXkgPT4gR3N0VmlkZW9PdmVybGF5IHJlbmFtZQoKMjAxMS0wOC0wNyAxMjoyMzoyNiArMDIwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDJzcmM6IFVzZSBmcmFjdGlvbiBjb21wYXJlIHV0aWwgZnVuY3Rpb24uCgkgIFVzZSB0aGUgZnJhY3Rpb24gY29tcGFyZSB1dGlsaXR5IHRvIGNvbXBhcmUgZnVuY3Rpb24sIG5vdCB0aGUKCSAgaGFuZGNyYWZ0ZWQgb25lLiBUaGUgaGFuZGNyYWZ0ZWQgb25lIGlzIGJ1Z2d5IGFzIGl0IGRvZXNuJ3QgdGFrZSBpbnRvCgkgIGFjY291bnQgcm91bmRpbmcgZXJyb3IuIEZvciBleGFtcGxlIGNvbXBhcmluZyBhIGZyYW1lcmF0ZSBvZiAyMC8xIG9uIGEKCSAgY2FtZXJhIGNvbmZpZ3VyZWQgYXMgMzAvMSBmcHMgd291bGQgeWllbGQgdHJ1ZTogMSA9PSAoMSAqIDIwKS8zMCBhbmQgbm90CgkgIHJlLWNvbmZpZ3VyZSB0aGUgY2FtZXJhLiBGaXhlcyAjNjU2MTA0CgoyMDExLTA4LTA3IDExOjE0OjUwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5oOgoJICBwdWxzZXNyYzogYXZvaWQgcmFjZSBpbiBzdGFydGluZwoJICBTaW5lIHRoZSBiYXNlIGNsYXNzIG5vdyBkb2VzIHRoZSBuZWdvdGlhdGlvbiBmcm9tIHRoZSBzdHJlYW1pbmcgdGhyZWFkIHdlIGhhdmUKCSAgdG8gYmUgY2FyZWZ1bCBhbmQgY2hlY2sgaWYgdGhlIHN0cmVhbSBpcyByZWFkeSBiZWZvcmUgY2hhbmdpbmcgaXRzIGNvcmtlZCBzdGF0ZS4KCjIwMTEtMDgtMDUgMTI6Mjc6MTggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGNoZWNrOiBVc2UgR1NUX0NGTEFHUyB3aGVuIGJ1aWxkaW5nIHRlc3RzCgkgIEVuc3VyZXMgd2UgaGF2ZSB0aGUgcHJvcGVyIGRlZmluZSBmb3IgdXNpbmcgdW5zdGFibGUgQVBJCgoyMDExLTA4LTA1IDA4OjU5OjU5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBpc29tcDQ6IGZpeHVwIGFmdGVyIHNtYWxsIGFwaSBjaGFuZ2VzCgkgIFBvcnQgdG8gcmVjZW50bHkgY2hhbmdlZCBhcGkgc28gdGhhdCBpdCBjb21waWxlcyBhZ2Fpbi4KCjIwMTEtMDgtMDUgMTE6MzI6NDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgeTRtZW5jOiBOb3cgZGVwZW5kcyBvbiBsaWJnc3R2aWRlbwoKMjAxMS0wOC0wNCAxODo0MToyOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZTogbW9yZSBjbGVhbnVwcwoKMjAxMS0wOC0wNCAxODoxNTo1NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogc21hbGwgY2xlYW51cHMKCjIwMTEtMDgtMDQgMTY6MzU6NDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IGNhbGwgc2V0X2NhcHMgbWV0aG9kIG9mIGJhc2VjbGFzcwoJICBDYWxsIHRoZSBiYXNlY2xhc3Mgc2V0X2NhcHMgZnVuY3Rpb24gdG8gbWFrZSBpdCBzZW5kIHRoZSBjYXBzIGV2ZW50IGFuZAoJICBwcm9wZXJseSB0cmlnZ2VyIHRoZSBuZWdvdGlhdGlvbiBmdW5jdGlvbnMuCgoyMDExLTA4LTA0IDE2OjI1OjA0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBzbWFsbCBjbGVhbnVwcwoKMjAxMS0wOC0wNCAxNToyNToyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICBnb29tOiBwb3J0IHRvIG5ldyBjYXBzCgoyMDExLTA4LTA0IDEzOjUyOjE4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDJzaW5rOiBTaXplIHZhcmlhYmxlIHNob3VsZCBiZSBhIGd1aW50IGFuZCBub3QgYSBnc2l6ZQoKMjAxMS0wOC0wNCAxMjo1MDowMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDI6IGFjdGl2YXRlIHRoZSBwb29sIGluIGZhbGxiYWNrCgkgIFdoZW4gbm9ib2R5IGlzIHVzaW5nIG91ciBwb29sLCBhY3RpdmF0ZSBpdCBvdXJzZWx2ZXMuCgkgIEF2b2lkIGxlYWtpbmcgdGhlIGJ1ZmZlciBhcnJheS4KCSAgU2V0IGRlZmF1bHQgcG9vbCBjb25maWd1cmF0aW9uIHdpdGggY2Fwcy4KCSAgRG9uJ3Qga2VlcCBjdXJyZW50X2NhcHMsIGNvcmUgZG9lcyB0aGF0IGZvciB1cyBub3cuCgoyMDExLTA4LTAzIDIyOjU3OjQ4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOgoJICBmaXggY29tcGlsYXRpb24KCSAgaGFsIGVsZW1lbnRzIHdlcmUgcmVtb3ZlZCwgcmVtb3ZlIHRoZW0gZnJvbSBkb2NzIHRvbwoJICBjaGFuZ2UgZXhhbXBsZSBmb3IgcGFkLWJsb2NrIEFQSSAoYWN0dWFsbHkgcmVtb3ZlIHRoZSBwYWQgYmxvY2ssIGFuIGFwcGxpY2F0aW9uCgkgIHNob3VsZCBub3QgYmUgYm90aGVyZWQgd2l0aCB3b3JraW5nIGFyb3VuZCBidWdzIGluIGVsZW1lbnRzKQoKMjAxMS0wOC0wMyAxODozNzoyNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBwb3J0IHRvIG5ldyBBUEkKCjIwMTEtMDgtMDMgMTg6MjU6MzAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L3B1bHNlL3B1bHNlc2luay5jCgkgIGV4dC9wdWxzZS9wdWxzZXNyYy5jCgkgIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYwoJICBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jCgkgIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jCgoyMDExLTA4LTAzIDIyOjUwOjA1ICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS5jOgoJICBtYXRyb3NrYTogUmVnaXN0ZXIgbmV3IGRlYnVnIGNhdGVnb3J5CgkgIFJlZ2lzdGVyIHRoZSBtYXRyb3NrYXJlYWRjb21tb24gZGVidWcgY2F0ZWdvcnkgd2hlbiB0aGUKCSAgcGx1Z2luIGlzIGxvYWRlZCB0byBhdm9pZCBhc3NlcnRpb24gb3V0cHV0IHdoZW4gZGVidWcgaXMgdHVybmVkIG9uLgoKMjAxMS0wOC0wMyAxMzozODowMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9pY2xlcy9nZGtwaXhidWZzaW5rLXRlc3QuYzoKCSAgdGVzdC9pY2tsZXM6IFBvcnQgZ2RrcGl4YnVmc2luayB0ZXN0CgoyMDExLTA4LTAzIDEzOjMzOjU5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvZGV0ZWN0LmM6CgkgIFJldmVydCAidGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IERpc2FibGUgYXV0b2RldGVjdCB0ZXN0IHRlbXBvcmFyaWx5LCBzbyB0aGF0IHRoZSBidWlsZCBib3RzIHVwZGF0ZSAtYmFkIGFuZCB0aGUgcmFua3Mgb2YgdW5yLi4uIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDQ3NWFlZDhhZjZkMmE1N2MxZDIxNDkwYzgyNGU3NTRhNmIyMzY3YTkuCgkgIEl0IHdvbid0IGNvbnNpZGVyIGVsZW1lbnRzIGZyb20gYW55d2hlcmUgZWxzZSBhbnltb3JlCgoyMDExLTA4LTAzIDEzOjEwOjQ2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSAgY2hlY2s6IFVwZGF0ZSBwYXJzZXIgbWluaS1saWIgdG8gMC4xMSBBUEkKCjIwMTEtMDgtMDMgMTM6MDk6MDcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vUE9URklMRVMuaW46CgkgIHBvOiB1cGRhdGUgZm9yIG1vZGlmaWVkIHNvdXJjZSBmaWxlIGxvY2F0aW9uCgoyMDExLTA4LTAzIDEzOjA4OjQzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBjYWlyb19nb2JqZWN0IGlzbid0IHBvcnRlZCBlaXRoZXIKCjIwMTEtMDgtMDMgMTA6NTk6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9oYWwvTWFrZWZpbGUuYW06CgkqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zaW5rLmM6CgkqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zaW5rLmg6CgkqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zcmMuYzoKCSogZXh0L2hhbC9nc3RoYWxhdWRpb3NyYy5oOgoJKiBleHQvaGFsL2dzdGhhbGVsZW1lbnRzLmM6CgkqIGV4dC9oYWwvZ3N0aGFsZWxlbWVudHMuaDoKCSogZXh0L2hhbC9oYWwuYzoKCSogZXh0L2hhbC9oYWwuaDoKCSAgaGFsOiBSZW1vdmUgaGFsIHBsdWdpbgoJICBoYWwgaXMgbm90IGRldmVsb3BlZCBhbnltb3JlIGFuZCBub2JvZHkgaXMgdXNpbmcgdGhlIHBsdWdpbiBub3dhZGF5cy4KCjIwMTEtMDctMjkgMTM6MDM6NTUgKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBub3JtYW5kQGlnYWxpYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc29mdGVuIGFzc2VydGlvbiBjaGVjayBvbiBzdHJlYW0gc2l6ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU1NTcwCgoyMDExLTA4LTAzIDEwOjA5OjQyICswMjAwICBSb2JlcnQgS3Jha29yYSA8cm9iLmtyYWtvcmFAbWVzc2FnZW5ldHN5c3RlbXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIHJ0cGpwZWdwYXk6IEFkZCBzdXBwb3J0IGZvciBILjI2NCBwYXlsb2FkIGluIE1KUEVHIGNvbnRhaW5lcgoJICBTZWUgaHR0cDovL3d3dy5xdWlja2NhbXRlYW0ubmV0L3V2Yy1oMjY0L1VTQl9WaWRlb19QYXlsb2FkX0guMjY0XzAuODcucGRmCgkgIEZpeGVzIGJ1ZyAjNjU1NTMwLgoKMjAxMS0wOC0wMiAyMjowNTowOCAtMDQwMCAgVHJpc3RhbiBNYXR0aGV3cyA8dHJpc3RhbkBzYXQucWMuY2E+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuaDoKCSAgamFja2F1ZGlvc2luazogRG9uJ3QgY2FsbCBnX2FsbG9jYSgpIGluIHByb2Nlc3NfY2IKCSAgZ19hbGxvY2EoKSBpcyBub3QgUlQtc2FmZSwgc28gaW5zdGVhZCB3ZSBzaG91bGQgYWxsb2NhdGUgdGhlCgkgIG1lbW9yeSBuZWVkZWQgaW4gYWR2YW5jZS4gRml4ZXMgIzY1NTg2NgoKMjAxMS0wOC0wMyAwODo1ODowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQWRkIGhhbCB0byB0aGUgbGlzdCBvZiBub24tcG9ydGVkIHBsdWdpbnMKCjIwMTEtMDgtMDMgMDg6NTM6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEFkZCBtb25vc2NvcGUgdG8gdGhlIGxpc3Qgb2Ygbm9uLXBvcnRlZCBwbHVnaW5zCgoyMDExLTA4LTAzIDA4OjUxOjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSAgZWZmZWN0djogRml4IHVudXNlZCBidXQgc2V0IHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDExLTA4LTAyIDIzOjQyOjU4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICBkb2NzOiBmaXggdHdvIG1vcmUgU2luY2U6IHRhZ3MKCjIwMTEtMDctMzEgMDQ6MTk6MDAgKzAzMDAgIE1hcnQgUmF1ZHNlcHAgPGxlaW9AZ2VudG9vLm9yZz4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogRml4IFNpbmNlIHRhZ3MgZm9yIGZpZWxkYW5hbHlzaXMgcmVsYXRlZCBuZXcgcHJvcGVydGllcwoJICBjb21taXQgYzFiMTAwY2Y5YyBpcyBhZnRlciAwLjEwLjI5IGFuZCAwLjEwLjMwIHdhcyBhIGJyYW5jaGVkIHJlbGVhc2UuCgkgIFNvIGZpeCBTaW5jZSB0YWdzIGZyb20gMC4xMC4yOSB0byAwLjEwLjMxIGZvciB0aGUgbmV3IHByb3BlcnRpZXMuCgoyMDExLTA4LTAyIDExOjUxOjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSAgcnRwdm9yYmlzcGF5OiBmaXggcG9ydGluZyBlcnJvcgoKMjAxMS0wOC0wMiAxMToyOTo0MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogRGVmaW5lIGxpc3Qgb2Ygbm9uLXBvcnRlZCBwbHVnaW5zCgoyMDExLTA4LTAyIDExOjI5OjI1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgVXBkYXRlIGNvbW1vbiBzdWJtb2R1bGUKCjIwMTEtMDgtMDIgMTE6MTc6MzggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IFNvcnQgQUdfR1NUX0NIRUNLX1BMVUdJTiBhbHBoYWJldGljYWxseQoKMjAxMS0wNy0yOSAxNzoyNzowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuaDoKCSAgLWdvb2Q6IGZpeCBmb3IgYnVmZmVycG9vbCBBUEkgY2hhbmdlCgoyMDExLTA3LTI5IDE3OjIxOjAzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGw6IGNoYW5nZSBmb3IgbmV3IEFQSQoKMjAxMS0wNy0yOSAxMzowNTo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogZml4IHZhcmlhYmxlLXNldC1idXQtbm90LXVzZWQgY29tcGlsZXIgd2FybmluZyB3aXRoIG9sZGVyIHB1bHNlIHZlcnNpb25zCgoyMDExLTA3LTI5IDEyOjA3OjI0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogcHJvcGVybHkgaW5pdCBydGNwX21pbl9pbnRlcnZhbAoKMjAxMS0wMy0wOSAxMTowNDozNiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJICBwdWxzZXNpbms6IEFkZCBzdXBwb3J0IGZvciBjb21wcmVzc2VkIGZvcm1hdHMKCSAgVGhpcyBhZGRzIHN1cHBvcnQgZm9yIHZhcmlvdXMgY29tcHJlc3NlZCBmb3JtYXRzIChBQzMsIEUtQUMzLCBEVFMgYW5kCgkgIE1QMykgcGF5bG9hZGVkIGluIElFQyA2MTkzNyBmb3JtYXQgKHVzZWQgZm9yIHRyYW5zbWlzc2lvbiBvdmVyIFMvUERJRiwKCSAgSERNSSBhbmQgQmx1ZXRvb3RoKS4KCSAgVGhlIGFjY2VwdGNhcHMoKSBmdW5jdGlvbiBhbGxvd3MgYmlucyB0byBwcm9iZSBmb3Igd2hhdCBmb3JtYXRzIHRoZSBzaW5rCgkgIGJlaW5nIGNvbm5lY3RlZCB0byBzdXBwb3J0LiBUaGlzIG9ubHkgd29ya3MgYWZ0ZXIgdGhlIGVsZW1lbnQgaXMgc2V0IHRvCgkgIGF0IGxlYXN0IFJFQURZLgoJICBJZiB0aGUgdW5kZXJseWluZyBzaW5rIGNoYW5nZXMgYW5kIHRoZSBmb3JtYXQgd2UgYXJlIHN0cmVhbWluZyBpcyBub3QKCSAgYXZhaWxhYmxlLCB3ZSBlbWl0IGEgbWVzc2FnZSB0aGF0IHdpbGwgYWxsb3cgdXBzdHJlYW0gZWxlbWVudHMvYmlucyB0bwoJICBibG9jayBhbmQgcmVuZWdvdGlhdGUgYSBuZXcgZm9ybWF0LgoKMjAxMS0wMy0wMSAxNTozNDo0NiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmg6CgkgIHB1bHNlc2luazogVXNlIHRoZSBleHRlbmRlZCBzdHJlYW0gQVBJIGlmIGF2YWlsYWJsZQoJICBUaGlzIHVzZXMgdGhlIG5ldyBleHRlbmRlZCBBUEkgZm9yIGNyZWF0aW5nIHN0cmVhbXMuIFRoaXMgd2lsbCBhbGxvdyB1cwoJICB0byBzdXBwb3J0IGNvbXByZXNzZWQgZm9ybWF0cyBuYXRpdmVseSBpbiBwdWxzZXNpbmsgYXMgd2VsbC4KCjIwMTEtMDctMjkgMDA6MDc6NTIgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5oOgoJICBwdWxzZXNyYzogQWRkIGEgc291cmNlLW91dHB1dC1pbmRleCBwcm9wZXJ0eQoJICBUaGlzIGV4cG9zZXMgdGhlIHNvdXJjZSBvdXRwdXQgaW5kZXggb2YgdGhlIHJlY29yZCBzdHJlYW0gdGhhdCB3ZSBvcGVuCgkgIHNvIHRoYXQgY2xpZW50cyBjYW4gdXNlIHRoaXMgd2l0aCB0aGUgaW50cm9zcGVjdGlvbiBpZiB0aGV5IHdhbnQgKHRvCgkgIG1vdmUgdGhlIHN0cmVhbSwgZm9yIGV4YW1wbGUpLgoKMjAxMS0wNy0yOCAxNDo0NDo1NyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBrZWVwIGEgcmVmIG9uIHRoZSBzcmMgcGFkIHdoaWxlIHVzaW5nIGl0CgkgIFByZXZlbnQgYSBwb3NzaWJsZSByYWNlIGlmIGNsZWFyX3NzcmMoKSBpcyBjYWxsZWQgYmV0d2VlbiBnZXR0aW5nIHRoZSBwYWQgYW5kCgkgIGRvaW5nIHRoZSBwdXNoLgoJICBCYXNlZCBvbiBwYXRjaCBieSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwOTE2CgoyMDExLTA1LTI0IDExOjI5OjU3ICswMzAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5oOgoJICBydHBzc3JjZGVtdXg6IE1ha2UgdGhlIHBhZHMgbG9jayByZWN1cnNpdmUgYW5kIGhvbGQgaXQgYWNyb3NzIHRoZSBzaWduYWwgZW1pdAoJICBXZSBuZWVkIHRvIGtlZXAgdGhlIGxvY2sgaGVsZCBiZWNhdXNlIHdlIGRvbid0IHdhbnQgYSBwdXNoIGJlZm9yZSB0aGUgIm5ldy1zc3JjLXBhZCIKCSAgaGFuZGxlciBoYXMgY29tcGxldGVkLiBCdXQgd2UgbWF5IHdhbnQgdG8gcHVzaCBhbiBldmVudCBmcm9tIGluc2lkZSB0aGF0IGhhbmRsZXIsIGhlbmNlCgkgIHRoZSByZWN1cnNpdmUgbXV0ZXguCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA5MTYKCjIwMTEtMDUtMjQgMTE6MTc6MjUgKzAzMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBVc2UgUEFEcyBsb2NrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA5MTYKCjIwMTEtMDctMjggMTE6MDk6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBzcGVleDogdXBkYXRlIGZvciBwb3NpdGlvbi9xdWVyeS9jb252ZXJ0IEFQSSBjaGFuZ2VzCgoyMDExLTA3LTI4IDEwOjU0OjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdnNlZWsuYzoKCSogZ3N0L2RlYnVndXRpbHMvcHJvZ3Jlc3NyZXBvcnQuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIGdzdDogdWRwYXRlIGZvciBwb3NpdGlvbi9kdXJhdGlvbi9jb252ZXJ0IHF1ZXJ5IEFQSSBjaGFuZ2VzCgoyMDExLTA3LTI4IDAwOjM3OjEzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGZpeCBjb21waWxlciB3YXJuaW5nCgkgIGdzdGF2aWRlbXV4LmM6IEluIGZ1bmN0aW9uICdnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSc6CgkgIGdzdGF2aWRlbXV4LmM6MTI2MToyNDogZXJyb3I6ICdkYXRhJyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24gWy1XZXJyb3I9dW5pbml0aWFsaXplZF0KCSAgZ3N0YXZpZGVtdXguYzoxMjA0OjExOiBub3RlOiAnZGF0YScgd2FzIGRlY2xhcmVkIGhlcmUKCjIwMTEtMDctMjcgMTg6MTU6MjAgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuaDoKCSAgcnRwaDI2NGRlcGF5OiBDb3BlIHdpdGggRlUtQSBFIGJpdCBub3QgYmVpbmcgc2V0CgkgIFNvbWUgaDI2NCBwYXlsb2FkZXJzIGFyZSB1bmZvcnR1bmF0ZWx5IGJ1Z2d5IGFuZCBkb24ndCBjb3JyZWN0bHkgc2V0IHRoZQoJICBFIGJpdCBpbiBGVS1BIE5BTCB3aGVuIHRoZXkgaGF2ZSBlbmRlZC4gV29yayBhcm91bmQgdGhpcyBieSBhc3N1bWluZwoJICBzdWNoIGEgZnJhZ21lbnRhdGlvbiB1bml0IGhhcyBlbmRlZCB3aGVuIHRoZXJlIHdhcyBubyBwYWNrZXQgbG9zcyBhbmQgYQoJICBuZXcgTkFMIGlzIHN0YXJ0ZWQKCjIwMTEtMDQtMTIgMTc6MDE6NDcgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmg6CgkgIGFjM3BhcnNlOiBTdXBwb3J0IHN3aXRjaGluZyBhbGlnbm1lbnQgb24tdGhlLWZseQoJICBUaGlzIGFsbG93cyBzd2l0Y2hpbmcgb2YgYWxpZ25tZW50IGZvciBFLUFDMyBzdHJlYW1zIGF0IHJ1bi10aW1lLiBUaGlzCgkgIGlzIHJlcXVlc3RlZCBieSBkb3duc3RyZWFtIGVsZW1lbnRzIHZpYSBhIGN1c3RvbSBldmVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDMxMwoKMjAxMS0wNy0yNyAxNjo0Njo0NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDI6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGVzCgkgIFVzZSB0aGUgbW9yZSBzcGVjaWFsaXplZCB0eXBlIGZvciB0aGUgYnVmZmVycG9vbC4KCSAgVXNlIHRoZSBzaXplIGZyb20gdGhlIGRyaXZlciBhcyB0aGUgc2l6ZSBvZiB0aGUgaW1hZ2UgdG8gcmVhZC4KCSAgRG9uJ3QgY29uZmlndXJlIHRoZSBwb29sIHdoZW4gY3JlYXRlZC4gVGhpcyB3aWxsIGJlIGRvbmUgaW4gdGhlIHNldHVwX2FsbG9jYXRpb24KCSAgbWV0aG9kIGxhdGVyIG9yIGJ5IHVwc3RyZWFtIGZvciBzaW5rcy4KCSAgUmVtb3ZlIHVudXNlZCBwcm9wZXJ0aWVzIGFuZCB2YXJpYWJsZXMuIEJ1ZmZlcnBvb2wgc2l6ZXMgYXJlIG5vdyBjb25maWd1cmVkIGluCgkgIHRoZSBidWZmZXJwb29sIGJ5IHRoZSBlbGVtZW50cyBpbiB0aGUgcGlwZWxpbmUuIFdlIG1pZ2h0IHdhbnQgdG8gaW5mbHVlbmNlIHRoZQoJICBwb29sIHNpemUgbGF0ZXIgc29tZWhvdy4KCjIwMTEtMDctMjcgMTM6NDY6MDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJICB2NGwyYnVmZmVycG9vbDogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoKMjAxMS0wNy0yNyAxMzo0MzowOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogYWRkIG1ldGFkYXRhCgoyMDExLTA3LTI3IDEzOjQxOjI4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSAgYnVmZmVycG9vbDogY2hlY2sgZm9yIG1ldGFkYXRhCgkgIE9ubHkgYWRkIHZpZGVvIG1ldGFkYXRhIHdoZW4gaXQgd2FzIGNvbmZpZ3VyZWQgaW4gdGhlIHBvb2wuIEZhaWwgaWYgdGhlcmUgd2FzIG5vCgkgIHZpZGVvIG1ldGFkYXRhIGNvbmZpZ3VyZWQgYW5kIHRoZSBzdHJpZGVzIGFyZSBub3QgdGhlIGRlZmF1bHQgb25lcy4KCjIwMTEtMDctMjcgMTI6NDI6MjEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuaDoKCSAgd2FycDogYWRkIHN0cmlkZSBzdXBwb3J0CgoyMDExLTA3LTI3IDEyOjQxOjMzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBhZGQgY29sb3JzcGFjZSB0byBkZWJ1ZwoKMjAxMS0wNy0yNiAxNzo0NTowMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHA6IGZpeCBjb21waWxhdGlvbgoKMjAxMS0wNy0yNiAxNjoxNTowNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDI6IHJlbmFtZSBhIHZhcmlhYmxlCgkgIFJlbmFtZSB0aGUgc2l6ZSB2YXJpYWJsZSB0byBzaXplaW1hZ2UgYW5kIGZpbGwgaXQgd2l0aCB0aGUgc2l6ZSB0aGF0IGhhcyBiZWVuCgkgIGdpdmVuIHRvIHVzZSBieSB0aGUgdjRsMiBkcml2ZXIgaW5zdGVhZCBvZiBtYWtpbmcgc29tZXRoaW5nIHVwLi4KCjIwMTEtMDctMjYgMTM6MTg6NTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyOiB1c2UgbmV3IHNldHVwX2FsbG9jYXRpb24gdm1ldGhvZAoKMjAxMS0wNy0yNiAxMDo1NjowNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGltcGxlbWVudCBtb3JlIGJpdHMgb2YgUlcgSS9PIG1vZGUKCSAgSW1wbGVtZW50IHRoZSByZWxhZXNlIG9mIFJXIGJ1ZmZlcnMgaW4gdGhlIHBvb2wuCgkgIFdhcm4gZm9yIHVuc3VwcG9ydGVkIHdyaXRlKCkgbW9kZSBmb3Igc2lua3MuCgoyMDExLTA3LTI2IDEwOjU0OjIzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBpbXByb3ZlIElPIG1vZGUgZXJyb3IgaGFuZGxpbmcKCSAgRXJyb3Igb3V0IHdoZW4gYW4gdW5zdXBwb3J0ZWQgSU8gbW9kZSB3YXMgc2VsZWN0ZWQKCjIwMTEtMDQtMDkgMTI6MjY6NTYgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBBZGQgc3VwcG9ydCBmb3IgSUVDIDYxOTM3IGFsaWdubWVudAoJICBXaGVuIHB1c2hpbmcgb3V0IGJ1ZmZlcnMgb3ZlciBTL1BESUYgb3IgSERNSSwgSUVDIDYxOTM3IHBheWxvYWRpbmcKCSAgcmVxdWlyZXMgZWFjaCBidWZmZXIgdG8gY29udGFpbiA2IGJsb2NrcyBmcm9tIGVhY2ggc3Vic3RyZWFtLiBUaGlzIGFkZHMKCSAgY29kZSB0byBjb2xsZWN0IGFsbCB0aGUgZnJhbWVzIG5lZWRlZCB0byBtZWV0IHRoaXMgcmVxdWlyZW1lbnQgYmVmb3JlCgkgIHB1c2hpbmcgb3V0IGEgYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwMzEzCgoyMDExLTA2LTA4IDE1OjU3OjM3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IEFsd2F5cyBzZW5kIGFwcGxpY2F0aW9uIHJlcXVlc3RlZCBmZWVkYmFjayBpbiBpbW1lZGlhdGUgbW9kZQoJICBTZW5kIGFzIG1hbnkgYXBwbGljYXRpb24gcmVxdWVzdGVkIGZlZWRiYWNrIG1lc3NhZ2VzIGluIGltbWVkaWF0ZSBtb2RlLCBldmVuIGlmIHRoZXkKCSAgaGF2ZSBhbHJlYWR5IGJlZW4gc2VudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDU4MwoKMjAxMS0wNi0wOCAxNDo0ODowMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogRG9uJ3QgbGV0IHRoZSBjb21wdXRlZCBSVFAgYmFuZHdpZHRoIGZhbGwgdG9vIGxvdwoJICBJZiBpdCBmYWxscyB0b28gbG93LCB0aGUgY29tcHV0ZWQgUlRDUCBiYW5kd2lkdGggd2lsbCBiZSBuZWFyIHplcm8gYW5kCgkgIHRoZSBSVENQIHRocmVhZCB3aWxsIGJlIHN0b3BwZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQ1ODMKCjIwMTEtMDQtMjUgMTY6MTM6MzggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogV2FpdCBsb25nZXIgdG8gdGltZW91dCBTU1JDIGNvbGxpc2lvbgoJICBVc2luZyB0aGUgY3VycmVudCBSVENQIGludGVydmFsIHRvIHRpbWVvdXQgU1NSQyBjb2xsaXNpb24gY2FuIGxlYWQgdG8KCSAgY29sbGlzaW9ucyBiZWluZyB0aW1lZCBvdXQgaW1tZWRpYXRlbHkgaWYgYSBCWUUgcGFja2V0IGlzIHNlbnQgYmVjYXVzZQoJICBpdCBpcyBzZW50IGltbWVkaWF0ZWx5LCBzbyB0aGUgaW50ZXJ2YWwgaXMgMC4gVGhpcyBpcyBub3Qgd2hhdCB3ZQoJICB3YW50LiBTbyBqdXN0IHNldCBhIHN0YXRpYyAxMCB0aW1lcyB0aGUgZGVmYXVsdCBSVENQIGludGVydmFsLCBpdAoJICBzaG91bGQgYmUgZW5vdWdoCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDg2NDIKCjIwMTEtMDctMjUgMTU6NTE6MjIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJICB2NGwyOiByZW1vdmUgdW51c2VkIG1ldGhvZAoKMjAxMS0wNy0yNSAxNTozODozOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogZml4IGZsdXNoaW5nIHN0YXJ0IGFuZCBzdG9wCgkgIE1vdmUgdGhlIGZsdXNoaW5nIGNhbGxzIHRvIHRoZSByaWdodCBwbGFjZSBpbiB0aGUgYnVmZmVycG9vbC4KCSAgRml4IHRoZSBtaW4gYW5kIG1heCBidWZmZXIgc2l6ZXMuCgoyMDExLTA3LTI1IDE0OjQ3OjA1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSAgdjRsMjogZGVxdWV1ZSBidWZmZXJzIHdoZW4gYWxsIGFyZSBxdWV1ZWQKCSAgUHJlZmVyIHRvIGFsd2F5cyB1c2UgdGhlIGRlZmF1bHQgYnVmZmVycG9vbCBxdWV1ZSBmb3IgdGhlIF9hY3F1aXJlIGZ1bmN0aW9uCgkgIGJlY2F1c2UgaXQgcHJvcGVybHkgc3VwcG9ydHMgdW5ibG9ja2luZyB3aGVuIHNldHRpbmcgaW5hY3RpdmUgZXRjLiBBcyBhIHJlc3VsdCwKCSAgd2UgbmVlZCB0byBkZXF1ZXVlIGJ1ZmZlcnMgYW5kIHB1dCB0aGVtIGJhY2sgaW4gdGhlIGJ1ZmZlcnBvb2wgcXVldWUgd2hlbiB3ZQoJICBoYXZlIHF1ZXVlZCBhbGwgYnVmZmVycyBpbiB0aGUgc2luay4KCSAgUmVuYW1lIHNvbWUgdmFyaWFibGVzIHRvIG1vcmUgbWVhbmluZ2Z1bGwgbmFtZXMgdG8gYXZvaWQgYSBwcm9ibGVtIHdpdGgKCSAgZnJlZWluZyB0aGUgd3JvbmcgYW1vdW50IG9mIGJ1ZmZlcnMuCgoyMDExLTA3LTE5IDEzOjM4OjAxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogc2V0IFNPVVJDRSBmbGFnIGF0IGluaXQgdGltZQoJICBGaXhlcyAjNjU0ODE2LgoKMjAxMS0wNy0yNSAxMDoxMDo1OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSAgdmVydGlnb3R2OiBhZGQgc3RyaWRlIHN1cHBvcnQKCjIwMTEtMDctMTkgMTg6MjU6MjkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBvbmx5IHRvIFNUUkVBTU9GRiB3aGVuIHN0cmVhbWluZwoJICBPbmx5IGNhbGwgU1RSRUFNT0ZGIHdoZW4gd2UgcHJldmlvdXNseSBjYWxsZWQgU1RSRUFNT04KCjIwMTEtMDctMjIgMjE6MjY6MzIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkgIHJlcGxheTogZml4IGZvciBldmVudCBoYW5kbGVyCgoyMDExLTA3LTIyIDIxOjE5OjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2c2Vlay5jOgoJKiBnc3QvZGVidWd1dGlscy9wcm9ncmVzc3JlcG9ydC5jOgoJICBmaXhlcyBmb3IgZXZlbnQgaGFuZGxlciBjaGFuZ2VzCgoyMDExLTA3LTE4IDE2OjQ2OjI3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiBDb21wbGV0ZSBtZXJnZWQgQVUgb24gbWFya2VyIGJpdAoJICBUaGUgbWFya2VyIGJpdCBvbiBhIFJUUCBwYWNrZXQgbWVhbnMgdGhlIEFVIGhhcyBiZWVuIGNvbXBsZXRlZCwgc28gcHVzaCBpdCBvdXQKCSAgaW1tZWRpYXRlbHkgdG8gcmVkdWNlIHRoZSBsYXRlbmN5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0ODUwCgoyMDExLTA3LTE4IDIwOjI3OjM4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5oOgoJICBydHBoMjY0cGF5OiBPbmx5IHNldCB0aGUgbWFya2VyIGJpdCBvbiB0aGUgbGFzdCBOQUxVIG9mIGEgbXVsdGktTkFMVSBhY2Nlc3MgdW5pdAoJICBBbiBhY2Nlc3MgdW5pdCBjb3VsZCBjb250YWluIG11bHRpcGxlIE5BTCB1bml0cywgaW4gdGhhdCBjYXNlLCBvbmx5IHRoZSBsYXN0CgkgIFJUUCBwYWNrZXQgb2YgdGhlIGxhc3QgTkFMVSBzaG91bGQgaGF2ZSBpdHMgbWFya2VyIGJpdCBzZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQ4NTAKCjIwMTEtMDctMjAgMDg6NTI6NTggKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSAgbXVsdGlwYXJ0OiBmaXggY29tcGlsZXIgd2FybmluZwoKMjAxMS0wNy0xOSAxODoyMDo0MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMjogaGFuZGxlIHVuc3VwcG9ydGVkIGZvcm1hdHMKCjIwMTEtMDctMTkgMTY6NTk6NTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMjogRml4IHNpbmsgYnVmZmVycG9vbCBoYW5kbGluZwoJICBSZW1vdmUgb2xkIG1ldGhvZCwgdXNlIG5ld3cgX3Byb2Nlc3MgbWV0aG9kIGZvciB0aGUgc2luay4KCSAgSW5mb3JtIHRoZSBwYXJlbnQgYnVmZmVycG9vbCBjbGFzcyBhYm91dCB0aGUgc2V0dGluZ3MgdG9vLiBUaGlzIGlzIG5lZWRlZCB0byBsZXQKCSAgaXQga25vdyBhYm91dCB0aGUgbWF4LWJ1ZmZlcnMuCgkgIEFsbG9jYXRlIHRoZSBuZWdvdGlhdGVkIG1heC1idWZmZXJzIGFuZCBpbml0aWFsbHkgbW1hcCBtaW4tYnVmZmVycy4gVGhlIGlkZWEgaXMKCSAgdGhhdCB0aGUgYnVmZmVycG9vbCB3aWxsIGFsbG9jYXRlIG1vcmUgd2hlbiBuZWVkZWQuCgkgIEltcHJvdmUgZGVidWdnaW5nLgoJICBPbmx5IHBvbGwgaW4gY2FwdHVyZSBtb2RlLCBpdCBkb2VzIG5vdCBzZWVtIHRvIHdvcmsgaW4gcGxheWJhY2sgbW9kZSBvbiB0aGlzCgkgIGJlYWdsZWJvYXJkLgoKMjAxMS0wNy0xOSAxMjowNTo1MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkgIGF1cGFyc2U6IGF2b2lkIGhhbmdpbmcgb24gaW52YWxpZCBzaG9ydCBpbnB1dAoJICAuLi4gYXMgaW4gc3VjaCBjYXNlIHRoZXJlIGlzIG5vIHNyY3BhZCB5ZXQgb24gd2hpY2ggdG8gZm9yd2FyZCBFT1MuCgoyMDExLTA3LTE4IDE1OjEzOjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogRml4IGRlZmF1bHQgdmFsdWUgbGVha2luZwoJICBSZW1lbWJlciB0byBmcmVlIHRoZSBkZWZhdWx0IHZhbHVlIG9mIGNsaWVudCBuYW1lLCBhdm9pZGluZyBhCgkgIGxlYWsKCjIwMTEtMDctMTggMTg6NTQ6NDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgIHY0bDI6IE1vcmUgd29yayBvbiBidWZmZXJwb29scwoJICBBZGQgZGlmZmVyZW50IHRyYW5zcG9ydCBtZXRob2RzIHRvIHRoZSBidWZmZXJwb29sIChNTUFQIGFuZCBSRUFEL1dSSVRFKQoJICBEbyBtb3JlIHBhcnNpbmcgb2YgdGhlIGJ1ZmZlcnBvb2wgY29uZmlnLgoJICBTdGFydCBhbmQgc3RvcCBzdHJlYW1pbmcgYmFzZWQgb24gdGhlIGJ1ZmZlcnBvb2wgc3RhdGUuCgkgIE1ha2Ugc2VwYXJhdGUgbWV0aG9kcyBmb3IgZ2V0dGluZyBhIGJ1ZmZlciBmcm9tIHRoZSBwb29sIGFuZCBmaWxsaW5nIGl0IHdpdGgKCSAgZGF0YS4gVGhpcyBhbGxvd3MgdXMgdG8gZmlsbCBidWZmZXJzIGZyb20gb3RoZXIgcG9vbHMgdG9vLiBFaXRoZXIgdXNlIGNvcHkgb3IKCSAgcmVhZCB0byBmaWxsIHVwIHRoZSB0YXJnZXQgYnVmZmVycy4KCSAgQWRkIHByb3BlcnR5IHRvIGZvcmNlIGEgdHJhbnNmZXIgbW9kZSBpbiB2NGwyc3JjLgoJICBJbmNyZWFzZSBkZWZhdWx0IG51bWJlciBvZiBidWZmZXJzIHRvIDQuCgkgIE5lZ290aWF0ZSBidWZmZXJwb29sIGFuZCBpdHMgcHJvcGVydGllcyBpbiB2NGwyc3JjLgoKMjAxMS0wNy0xOCAxNDoyNDo0OCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IHJlc2V0IHVwb24gRkxVU0hfU1RPUAoJICAuLi4gd2hpY2ggaXMgcGFydGljdWxhcmx5IG5lZWRlZCB3aGVuIG1lcmdpbmcgTkFMIHVuaXRzLCB3aGVyZSBub3QgcmVzZXR0aW5nCgkgIHdvdWxkIGxlYWQgdG8gb3V0cHV0IG9mIGFuIG9sZGVyIChwcmUtZmx1c2gpIEFVICh3aXRoIHVuaW50ZW5kZWQgdGltZXN0YW1wKS4KCjIwMTEtMDctMTggMTQ6MzA6NTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIG11bHRpZmlsZXNpbms6IGRvIG5vdCB1c2UgZ19zbGlzdF9mcmVlX2Z1bGwKCSAgLi4uIGFzIHRoYXQgaXMgb25seSBpbiBHTGliIDIuMjgsIHdoaWNoIGlzIG5vdCB5ZXQgcmVxdWlyZWQgYXQgdGhpcyB0aW1lLgoKMjAxMS0wNy0xOCAxMDo1MjoyMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyOiBhZGQgSU8gbWV0aG9kIGVudW0KCjIwMTEtMDctMTggMTA6NTE6MjEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICBidWZmZXJwb29sOiBpbXByb3ZlIF9uZXcgZnVuY3Rpb24KCjIwMTEtMDctMTggMDk6Mzg6MjYgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzoKCSAgbXVsdGlmaWxlc2luazogYWRkIG1heC1maWxlcyBwcm9wZXJ0eQoJICBBZGQgbWF4LWZpbGVzIHByb3BlcnR5IHRvIGxpbWl0IHRoZSBudW1iZXIgb2YgZmlsZXMgc2F2ZWQgb24gZGlzay4KCSAgQVBJOiBtdWx0aWZpbGVzaW5rOjptYXgtZmlsZXMKCjIwMTEtMDctMTcgMjM6MzY6NTUgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIG11bHRpZmlsZXNpbms6IHJlZmFjdG9yIGZpbGUgb3BlbmluZyBhbmQgY2xvc2luZyBjb2RlCgoyMDExLTA3LTE2IDE5OjM4OjUxICswMjAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogZml4IHBpeGVsLWFzcGVjdC1yYXRpbyBpZiBoZWFkZXIgaGFzIG9ubHkgb25lIGRpc3BsYXkgdmFyaWFibGUKCSAgQ3VycmVudCBtYXRyb3NrYSBkZW11eCBjYWxjdWxhdGVzIHRoZSBwaXhlbCBhc3BlY3QgcmF0aW8gb25seSBpZiBib3RoCgkgIERpc3BsYXlIZWlnaHQgYW5kIERpc3BsYXlXaWR0aCBhcmUgc2V0LCBidXQgaXQgaXMgbGVnYWwgdG8gdXNlIG9ubHkKCSAgb25lIHZhcmlhYmxlIGlmIHRoZSBvdGhlciBpcyBlcXVhbCB0byBQaXhlbFdpZHRoIG9yIFBpeGVsSGVpZ2h0LCBhdAoJICBsZWFzdCB0aGUgbWtjbGVhbiB1dGlsaXR5IGlzIGRvaW5nIHRoYXQuIFNvIHRoaXMgbWFrc2UgbWtjbGVhbmVkCgkgIGZpbGVzIHBsYXkgY29ycmVjdGx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0NzQ0CgoyMDExLTA3LTE2IDIzOjQ3OjUwICswMTAwICBBbnRvaW5lIEphY291dG90IDxhamFjb3V0b3RAb3BlbmJzZC5vcmc+CgoJKiBnc3QvZ29vbS9wbHVnaW5faW5mby5jOgoJICBnb29tOiBmaXggYnVpbGQgb24gUFBDIG9uIG9wZW5ic2QKCSAgQSBtaXNzaW5nIHN5cy9wYXJhbS5oIGluY2x1ZGUgcmVzdWx0cyBpbjoKCSAgL3Vzci9pbmNsdWRlL3N5cy9wcm9jLmg6NjQ6IGVycm9yOiAnTUFYTE9HTkFNRScgdW5kZWNsYXJlZCBoZXJlIChub3QgaW4gYQoJICBmdW5jdGlvbikKCSAgL3Vzci9pbmNsdWRlL3N5cy9wcm9jLmg6Mjg1OiBlcnJvcjogJ01BWENPTUxFTicgdW5kZWNsYXJlZCBoZXJlIChub3QgaW4gYQoJICBmdW5jdGlvbikKCSAgd2hlbiBjb21waWxpbmcgZ29vbSBvbiBvcGVuYnNkL3BwYy4gV2UgY2FuIGp1c3QgcmVtb3ZlIHRoZSB0d28gc3lzLyBpbmNsdWRlcwoJICBoZXJlLCB0aGV5IGFyZSBub3QgbmVlZGVkIGZvciBhbnl0aGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDc0OQoKMjAxMS0wNy0xNSAxNzowNjozOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDctMTUgMTY6NTU6NTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDI6IGltcGxlbWVudCBzZXR1cF9hbGxvY2F0aW9uCgkgIEltcGxlbWVudCB0aGUgc2V0dXBfYWxsb2NhdGlvbiB2bWV0aG9kLCB3ZSdsbCBob3BlZnVsbHkgZG8gc29tZXRoaW5nIGNsZXZlciBpbgoJICB0aGVyZSBsYXRlci4KCjIwMTEtMDctMTUgMTY6MjY6MDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGltcHJvdmUgYnVmZmVycG9vbCBjb25maWcgc2V0dGluZwoJICBQYXNzIHRoZSBjYXBzIGFuZCB0aGUgZGVmYXVsdCB2aWRlbyBzaXplIHRvIHRoZSBidWZmZXJwb29sIGNvbmZpZy4KCSAgRG9uJ3QgYWN0aXZhdGUgdGhlIGJ1ZmZlcnBvb2wsIHRoaXMgd2lsbCBiZSBkb25lIGJ5IHRoZSBvYmplY3QgdGhhdCBkZWNpZGVzIHRvCgkgIHVzZSB0aGUgYnVmZmVycG9vbC4KCSAgSW1wcm92ZSBkZWJ1Z2dpbmcgYW5kIGVycm9yIHJlcG9ydGluZy4KCjIwMTEtMDctMTUgMTM6NTI6MzggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBoYW5kbGUgZGVxdWV1ZWluZyBjb3JyZWNseQoJICBGaXJzdCBjbGVhbiB1cCB0aGUgYnVmZmVycyBpbiB0aGUgcXVldWUsIHRoZW4gdGhlIHJlbWFpbmluZyBvbmVzIGluIHRoZQoJICBkZXZpY2UuCgoyMDExLTA3LTE1IDEzOjI5OjQyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiB1bnJlZiBjb3BpZWQgYnVmZmVyCgkgIEFmdGVyIHdlIGNvcHkgdGhlIGluY29tbWluZyBidWZmZXIgdG8gb25lIG9mIG91ciBidWZmZXJwb29sIGJ1ZmZlcnMsIHVucmVmIHRoZQoJICB0YXJnZXQgYnVmZmVyIGFmdGVyIHJlbmRlcmluZyBzbyB0aGF0IGl0IGlzIHB1dCBiYWNrIGluIHRoZSBwb29sLgoKMjAxMS0wNy0xNSAxMzowNzoxMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkgIHY0bDI6IGRlcXVldWUgYnVmZmVycyBmb3IgdGhlIHNpbmsKCSAgV2hlbiB3ZSBoYXZlIGFsbCBidWZmZXJzIHF1ZXVlZCBmb3IgcGxheWJhY2sgYW5kIHdlIG5lZWQgYSBuZXcgZW1wdHkgYnVmZmVyLAoJICBkZXF1ZXVlIG9uZSBhbmQgcmV0dXJuIGl0LgoJICBTZXQgdGhlIHJpZ2h0IHNpemUgZm9yIHNpbmsgYnVmZmVycy4KCSAgSW1wcm92ZSBjb3VudGluZyBvZiBxdWV1ZWQgYnVmZmVycy4KCjIwMTEtMDctMTUgMTI6MzU6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiB1c2UgdGhlIHBhcmVudCBxdWV1ZSBmb3IgdGhlIHNpbmsKCSAgV2Ugd2FudCB0byBtYWludGFpbiBhIHF1ZXVlIG9mIGZyZWUgYnVmZmVycyBmb3IgdGhlIHNpbmssIHVzZSB0aGUgcGFyZW50IG1ldGhvZHMKCSAgdG8gZG8gdGhhdC4KCjIwMTEtMDctMTUgMTI6MDA6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGZpeCBlcnJvciBtZXNzYWdlcwoKMjAxMS0wNy0xNSAxMTozMDoyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDI6IGFkZCBBTExPQ0FUSU9OIHF1ZXJ5IHRvIHRoZSBzaW5rCgoyMDExLTA3LTE1IDExOjI3OjE4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDI6IGNvbnZlcnQgdG8gR3N0QnVmZmVyUG9vbAoJICBFeHRlbmQgZnJvbSBHc3RCdWZmZXJQb29sLgoJICBIYW5kbGUgdGhlIGxpZmV0aW1lIG9mIHRoZSBwb29sIGJ1ZmZlcnMgY29ycmVjdGx5IHdpdGggdGhlIHN0YXJ0L3N0b3Agdm1ldGhvZHMuCgkgIE1hcCBhY3F1aXJlIGFuZCByZWxlYXNlIGRpcmVjdGx5IHRvIFFCVUYgYW5kIERRQlVGLiBXZSBzdGlsbCBleHBvc2UgYW4gZXhwbGljaXQKCSAgcWJ1ZiBmb3IgdGhlIHY0bDJzaW5rIGZvciBub3cuCgoyMDExLTA3LTE1IDExOjE4OjAzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiByZW1vdmUgZXhwZXJpbWVudGFsIG1hcmtlcnMKCjIwMTEtMDctMTQgMjA6MTA6MDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkgIHJ0cHBjbUFwYXkvZGVwYXk6IFN0YXRpYyBjbG9jayByYXRlcyBvbiBzdGF0aWMgcGF5bG9hZHMsIGR5bmFtaWMgb24gZHluYW1pYwoJICBQYXJ0aWFsbHkgcmV2ZXJ0cyAzOTdkYzYwYgoKMjAxMS0wNy0xNCAxNjoyMTozNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogbWVyZ2UgY29kZQoKMjAxMS0wNy0xNCAxNjoxMjoxNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5oOgoJICB2NGwyOiBNb3ZlIG91dHB1dCBkZXRhaWxzIHRvIGRldmljZSBvYmplY3QKCSAgTW92ZSB0aGUgZGV0YWlscyBvZiBob3cgYSBidWZmZXIgaXMgcmVuZGVyZWQgdG8gdGhlIGRldmljZSBvYmplY3QuCgoyMDExLTAzLTA0IDE1OjQxOjIyIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogSW1wbGVtZW50IGdldGNhcHMKCSAgQ29udmVydCBwcm9maWxlLWxldmVsLWlkIGZyb20gUlRQIGNhcHMgaW50byB2aWRlby94LWgyNjQgc3R5bGUgY2FwcyAod2l0aCBwcm9maWxlIGFuZCBsZXZlbCkKCjIwMTEtMDctMTMgMTg6MzI6MDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgdjRsMjogbW92ZSBjYXB0dXJlIGNvZGUgdG8gZGV2aWNlIG9iamVjdAoJICBNb3ZlIHRoZSBkZXRhaWxzIG9mIGhvdyB0byBjYXB0dXJlIHRvIHRoZSBkZXZpY2Ugb2JqZWN0LiBSZW1vdmUgdGhlCgkgIHY0bDJzcmNfY2FsbHMuW2NoXSBmaWxlcyBiZWNhdXNlIHRoZXkgYXJlIGVtcHR5IG5vdy4KCSAgUHJvdmlkZSB0d28gc2ltcGxlIG1ldGhvZHMgdG8gZ2V0IGFuZCByZXR1cm4gYSBidWZmZXIgdG8gdGhlIGRldmljZS4KCSAgQWxzbyBkbyBhIHNsb3cgY29weSB3aGVuIHRoZSBidWZmZXIgaXMgbm90IGZyb20gb3VyIHBvb2wuCgoyMDExLTA3LTEzIDE2OjU4OjA4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBhZGQgc29tZSBtb3JlIGRlYnVnCgoyMDExLTA3LTEzIDE2OjU2OjIxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMjogc3RvcCBzdHJlYW1pbmcgaW4gUkVBRFkgYW5kIE5VTEwKCjIwMTEtMDctMTMgMTY6NDA6MzkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IHN0YXJ0IHN0cmVhbWluZyBmb3IgdGhlIG91dHB1dCBhcyB3ZWxsCgoyMDExLTA3LTEzIDE2OjMzOjU4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJyYWRpby5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIHY0bDI6IExldCB0aGUgZGV2aWNlIG9iamVjdCBtYW5hZ2UgdGhlIHBvb2wKCSAgUmVuYW1lIHN0YXJ0IGFuZCBzdG9wIG1ldGhvZHMgdG8gb3BlbiBhbmQgY2xvc2UgYmVjYXVzZSB0aGF0IGlzIHdoYXQgdGhleSBkby4KCSAgQWZ0ZXIgc2V0dGluZyB0aGUgZm9ybWF0IG9uIHRoZSBkZXZpY2Ugb2JqZWN0LCBzZXR1cCB0aGUgYnVmZmVycG9vbHMuIE1vdmUgdGhpcwoJICBjb2RlIGZyb20gdGhlIHY0bDJzcmNfY2FsbHMuYyBmaWxlLCBpdCBpcyBzaGFyZWQgYmV0d2VlbiBzb3VyY2UgYW5kIHNpbmsuCgkgIE1ha2UgbmV3IGRldmljZSBzdGFydCBhbmQgc3RvcCBtZXRob2QgdGhhdCBtZXJnZXMgdmFyaW91cyBiaXRzIG9mIGNvbW1vbiBjb2RlCgkgIHNwcmVhZCBvdmVyIHNldmVyYWwgZmlsZXMuCgoyMDExLTA3LTEzIDEzOjUyOjMwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDI6IGRvbid0IHN0b3JlIHN0cmlkZSBpbiB0aGUgdmlkZW9pbmZvCgkgIFdlIHdhbnQgdG8ga2VlcCB0aGUgZGVmYXVsdCBzdHJpZGVzIGluIHRoZSB2aWRlb2luZm8uIEtlZXAgdGhlIHN0cmlkZSBvZiB0aGUKCSAgdmlkZW8gZnJhbWVzIHNlcGFyYXRlIHNvIHRoYXQgd2UgY2FuIHVzZSBib3RoIHRvIGNvcHkgYSB2aWRlbyBmcmFtZSBhbmQgZG8KCSAgY29ycmVjdCBzdHJpZGUgY29udmVyc2lvbi4KCjIwMTEtMDctMTMgMTM6Mzg6MTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyOiBVc2UgdmlkZW8gZnJhbWUgY29weSBmb3IgcmF3IHZpZGVvCgkgIFVzZSB0aGUgdmlkZW8gZnJhbWUgY29weSBBUEkgZm9yIHJhdyB2aWRlbyBmcmFtZXMgc28gdGhhdCB3ZSBjb3B5IHdpdGggdGhlIHJpZ2h0CgkgIHN0cmlkZXMuCgoyMDExLTA3LTEzIDEzOjM3OjU4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogYWRkIHZpZGVvIG1ldGFkYXRhIHRvIHJhdyB2aWRlbyBidWZmZXJzCgoyMDExLTA3LTEzIDEzOjE1OjA1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBzbWFsbCBjbGVhbnVwcwoKMjAxMS0wNy0xMyAxMzowMDo0MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyOiBpbXByb3ZlIGNhcHMgcGFyc2luZwoJICBVc2UgR3N0VmlkZW9JbmZvIHRvIHN0b3JlIHRoZSBwYXJzZWQgY2Fwcy4KCSAgUmVtb3ZlIG91dHNpemUgZnJvbSB0aGUgY2FwcyBwYXJzaW5nIGNvZGUsIGl0J3Mgd3JvbmcgYmVjYXVzZSBpdCBkb2VzIG5vdCB1c2UKCSAgdGhlIHN0cmlkZSBnaXZlbiBieSB0aGUgZHJpdmVyLgoKMjAxMS0wNy0xMyAxMTo0MDoxMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogdXNlIGVycm5vCgoyMDExLTA3LTEzIDExOjM2OjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBoYW5kbGUgRUlOVkFMIHdpdGhvdXQgcG9zdGluZyBhIHdhcm5pbmcKCSAgRUlOVkFMIG1lYW5zIHRoYXQgYSBjYWxsIGlzIG5vdCBzdXBwb3J0ZWQsIHdlIG9ubHkgd2FudCB0byBwb3N0IGEgV0FSTklORyB3aGVuCgkgIHNvbWV0aGluZyBpcyByZWFsbHkgd3JvbmcuCgoyMDExLTA3LTEzIDExOjI5OjI2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBvbmx5IHNldCBmcmFtZXJhdGUgZm9yIGNhcHR1cmUgZm9yIG5vdwoKMjAxMS0wNy0xMyAxMToxOToyOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgdjRsMjogTW92ZSBjb25maWd1cmF0aW9uIG9mIGZyYW1lcmF0ZSB0byBfc2V0X2Zvcm1hdAoJICBNb3ZlIHRoZSBjb25maWd1cmF0aW9uIG9mIHRoZSBmcmFtZXJhdGUgdG8gd2hlcmUgd2Ugc2V0IHRoZSBvdGhlciBmb3JtYXQKCSAgcGFyYW1ldGVycy4KCSAgUmVtb3ZlIGhhY2sgdG8gY2hlY2sgaWYgdGhlIGRldmljZSBpcyBhY3RpdmUuCgkgIFN0b3JlIHN0cmVhbXBhcm0gaW4gdGhlIGRldmljZSBpbmZvLgoJICBVc2Ugc29tZSBtYWNyb3MgdG8gYWNjZXNzIHRoZSBjdXJyZW50IGRldmljZSBjb25maWd1cmF0aW9uLgoJICBSZW1vdmUgc29tZSBkdXBsaWNhdGUgZmllbGRzIGluIHNyYyBhbmQgc2luayBhbmQgdXNlIHRoZSBkZXZpY2UgY29uZmlndXJhdGlvbgoJICBpbnN0ZWFkLgoKMjAxMS0wNy0xMiAxOToxMzo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogZml4IHJldHVybiB2YWx1ZS4uLgoKMjAxMS0wNy0xMiAxOTowMzozMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICB2NGwyOiBzaW1wbGlmeSBzZXR0aW5nIHRoZSBjYXB0dXJlIGZvcm1hdAoJICBQYXNzIHRoZSBjYXBzIHRvIHRoZSBzZXRfZm9ybWF0IGZ1bmN0aW9uIGFuZCBtYWtlIF9zZXRfZm9ybWF0IHBhcnNlIHRoZSBjYXBzLgoJICBBbHNvIGtlZXAgdGhlIHBhcnNlZCB2YWx1ZXMgaW4gdGhlIHY0bDJvYmplY3Qgc28gdGhhdCB3ZSBjYW4gcmVmZXIgdG8gdGhlbSB3aGVuCgkgIHdlIHdhbnQuCgoyMDExLTA3LTEyIDE4OjQxOjQ3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgdjRsMjogcmVtb3ZlIG1vcmUgdW51c2VkIHBhcmFtZXRlcnMKCjIwMTEtMDctMTIgMTg6Mjk6MzUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDogaGFuZGxlIG9iamVjdCBvdXQgb2YgdGhlIG5vcm1hbCBmbG93CgoyMDExLTA3LTEyIDE4OjEzOjQyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsMjogTGV0IHRoZSBidWZmZXJwb29sIG93biB0aGUgVjRsMk9iamVjdAoJICBLZWVwIHRyYWNrIG9mIHRoZSBjdXJyZW50bHkgY29uZmlndXJlZCBmb3JtYXQgYW5kIHNldHRpbmcgaW4gdGhlCgkgIHY0bDJvYmplY3QuCgkgIFBhc3MgdGhlIHY0bDJvYmplY3QgdG8gdGhlIGJ1ZmZlcnBvb2wgY29uc3RydWN0b3Igc28gdGhhdCB0aGUgYnVmZmVycG9vbCBjYW4KCSAga25vdyBldmVyeXRoaW5nIGFib3V0IHRoZSBjdXJyZW50bHkgY29uZmlndXJlZCBzZXR0aW5ncy4gVGhpcyBhbHNvIGFsbG93cyB1cwoJICB0byByZW1vdmUgc29tZSBhd2t3YXJkIGNvZGUuCgoyMDExLTA3LTEyIDE3OjA2OjQxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGw6IHJlbW92ZSBjYXBzIGFyZ3VtZW50LCBpdCdzIG5vdCBuZWVkZWQKCSAgUmVtb3ZlIHRoZSBjYXBzIHBhcmFtZXRlciwgd2UgZG9uJ3QgbmVlZCBpdCBhbnltb3JlIGJlY2F1c2Ugd2UgZG9uJ3Qgc2V0CgkgIGNhcHMgb24gYnVmZmVycyBhbnltb3JlLgoKMjAxMS0wNy0xMiAxNjo0NjoyMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDogcGFzcyB0aGUgYnl0ZXNwZXJsaW5lIGFyb3VuZAoJICBXaGVuIHNldHRpbmcgYSBmb3JtYXQsIHJldHVybiB0aGUgYnl0ZXNwZXJsaW5lIHRvIHRoZSBjYWxsZXIgc28gdGhhdCBpdCBjYW4gYmUKCSAgdXNlZCB0byBhbGxvY2F0ZSBidWZmZXJzLgoKMjAxMS0wNy0xMiAxNjo0MzowNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHBvb2w6IG1ha2UgYnVmZmVyIHdyaXRhYmxlCgkgIFdlIG5lZWQgd3JpdGFibGUgYnVmZmVycyB3aGVuIHdlIG5lZWQgdG8gZG8gYSBzbG93IG1lbWNweS4KCjIwMTEtMDctMTIgMTU6MDQ6MzggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggc2Vla2luZyByZWdyZXNzaW9uCgkgIC4uLiBpbnRyb2R1Y2VkIHdoZW4gc2h1ZmZsaW5nIGFyb3VuZCBjb2RlIGZvciB0aGUgYXN5bmMgaW1wbGVtZW50YXRpb24KCSAgYnkgc2V0dGluZyBzdGF0ZSBvZiBzb3VyY2UgKGFuZCB1ZHAgc291cmNlcykgaW4gX3BsYXkgYmVmb3JlIGRvd25zdHJlYW0KCSAgZmx1c2hpbmcgaXMgdW5kb25lLgoKMjAxMS0wNy0xMSAxNToyMzo0MSArMDMwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQG5va2lhLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5oOgoJICBhYzNwYXJzZTogZml4IGJ1ZmZlciBkdXJhdGlvbiBvbiBibG9ja3MtcGVyLWZyYW1lIGNoYW5nZQoJICBUaGUgZ3N0X2Jhc2VfcGFyc2Vfc2V0X2ZyYW1lX3JhdGUgY2FsbCB3YXMgcHJlZGljYXRlZCBvbiBhIGNoYW5nZSB0bwoJICBzYW1wbGUgcmF0ZSwgZHVyYXRpb24gb3IgcHJvZmlsZS4gSG93ZXZlciwgdGhlIGJsb2NrIGNvdW50IHBlciBmcmFtZSBjYW4KCSAgYWxzbyBjaGFuZ2UgYmV0d2VlbiBwYWNrZXRzLCB3aGljaCB3b3VsZCByZXN1bHQgaW4gaW5jb3JyZWN0IGJ1ZmZlcgoJICBkdXJhdGlvbnMuCgoyMDExLTA3LTExIDEzOjUxOjUyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMnNpbms6IGhhbmRsZSBwb29scwoJICBDcmVhdGUgYSBuZXcgcG9vbCBpbiBzZXRjYXBzIGFuZCBzdG9wL2Rlc3Ryb3kgdGhlIG9sZCBvbmUuCgkgIFJlbW92ZSBidWZmZXJfYWxsb2MgZnVuY3Rpb25zLgoJICBDaGVjayB0aGF0IHdlIGhhdmUgdjRsMiBtZXRhZGF0YSBpbiBzaG93X2ZyYW1lIGFuZCBmYWxsIGJhY2sgdG8gbWVtY3B5IGludG8gYQoJICBidWZmZXIgZnJvbSBvdXIgcG9vbCBpZiB3ZSBkb24ndCByZWNlaXZlIG9uZSBvZiBvdXIgb3duIGJ1ZmZlcnMuCgoyMDExLTA3LTExIDEyOjA0OjU3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDI6IHZhcmlvdXMgY2xlYW51cHMKCSAgVmFyaW91cyBjbGVhbnVwcywgYXZvaWRzIHVzZWxlc3MgY2FzdHMsIG1vdmUgZXJyb3IgaGFuZGxpbmcgb3V0c2lkZSBvZiB0aGUgbWFpbgoJICBjb2RlIGZsb3cuCgkgIE5lZ290aWF0ZSB0byBhIHJlc29uYWJsZSByZXNvbHV0aW9uIGluc3RlYWQgb2YgdGhlIG1heCByZXNvbHV0aW9uLgoKMjAxMS0wNy0xMCAyMTo1MDoxOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVucGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5Lmg6CgkgIHJ0cDogcG9ydCByZW1haW5pbmcgdG8gMC4xMQoKMjAxMS0wNy0xMCAxNDo1NjowMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOgoJICB4aW1hZ2U6IHBvcnQgdG8gMC4xMQoKMjAxMS0wNy0xMCAxMzo0NDo0OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmg6CgkgIHk0bTogcG9ydCBzb21lIG1vcmUKCSAgVXNlIHZpZGVvIGhlbHBlcnMuCgoyMDExLTA3LTEwIDEzOjI4OjI3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgeTRtOiBwb3J0IHRvIDAuMTEKCjIwMTEtMDctMTAgMTI6NDY6MDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4Lmg6CgkgIG11bHRpcGFydDogcG9ydCB0byAwLjExCgoyMDExLTA3LTEwIDExOjQyOjM3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wNy0xMCAxMTo0MDo0MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9icmVha215ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy9lZmVuY2UuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc3NldHRlci5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RkZWJ1Zy5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZpZ2F0aW9udGVzdC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZpZ2F0aW9udGVzdC5oOgoJKiBnc3QvZGVidWd1dGlscy9nc3RwdXNoZmlsZXNyYy5jOgoJKiBnc3QvZGVidWd1dGlscy9wcm9ncmVzc3JlcG9ydC5jOgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Rlc3RzLmM6CgkgIGRlYnVnOiBwb3J0IHRvIDAuMTEsIGRpc2FibGUgb3RoZXJzCgkgIERpYXNhYmxlIHRoZSBlZmVuY2UgYW5kIGNhcHNkZWJ1ZyBlbGVtZW50cywgcG9ydCB0aGVtIGxhdGVyLgoKMjAxMS0wNy0wOSAxOToyMzo0MSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5oOgoJICBtdWx0aWZpbGVzcmM6IEltcHJvdmUgbG9vcGluZwoJICBBZGQgc3RhcnQtaW5kZXggYW5kIHN0b3AtaW5kZXggcHJvcGVydGllcy4KCjIwMTEtMDYtMTYgMTM6NTc6MDMgKzAxMDAgIEpvbm55IExhbWIgPGpvbm55bGFtYkBqb25ueWxhbWIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuaDoKCSAgbXVsdGlmaWxlOiBhZGQgbG9vcCBwcm9wZXJ0eSB0byBtdWx0aWZpbGVzcmMKCSAgRml4ZXM6ICM2NTI3MjcKCSAgU2lnbmVkLW9mZi1ieTogSm9ubnkgTGFtYiA8am9ubnlsYW1iQGpvbm55bGFtYi5jb20+CgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAwOS0xMS0yMCAxMDowNzo0MyArMDEwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiAxNi1iaXQgYXVkaW8gaXMgc2lnbmVkLCA4LWJpdCBpcyB1bnNpZ25lZC4KCSAgUHJldGVuZGluZyB0byBoYW5kbGUgOC1iaXQgc2lnbmVkIGNhdXNlcyBkaXN0b3J0ZWQgYXVkaW8gd2hlbgoJICBhY3R1YWxseSBnaXZlbiBzdWNoIGF1ZGlvLCB3aGljaCB5b3Ugd2lsbCBnZXQgaWYgcGFzc2luZyA4LWJpdAoJICB1bnNpZ25lZCB0aHJvdWdoIGF1ZGlvY29udmVydCAhIGF1ZGlvcmVzYW1wbGUsIGFzIGF1ZGlvcmVzYW1wbGUKCSAgb25seSBoYW5kbGVzIDgtYml0IHNpZ25lZC4gIEZpeGVzICM2MDU4MzQuCgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAxMS0wNy0wOCAxNjozNzoxMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMjogZml4IGdyYXkgZm9ybWF0LCB1c2UgZmlsdGVyIGluIGdldGNhcHMKCjIwMTEtMDctMDggMTY6MTA6NDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyOiBwb3J0IGFuZCBlbmFibGUgdjRsMnNpbmsKCjIwMTEtMDctMDggMTQ6MzQ6NDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogcG9ydCB0byBuZXcgdmlkZW8gZm9ybWF0cwoKMjAxMS0wNy0wOCAxMjo1MToxNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDctMDggMTI6NDk6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJyYWRpby5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsMjogcG9ydCB0byAwLjExCgoyMDExLTA3LTA3IDE4OjI3OjM2ICswMjAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogaGFuZGxlIGJsb2NrcyB3aXRoIGR1cmF0aW9uPTAKCSAgU29tZSB2aWRlbyBmcmFtZXMsIGZvciBleGFtcGxlIGFsdC1yZWYgZnJhbWUgaW4gVlA4LCB3aWxsIGJlCgkgIG5ldmVyIGRpc3BsYXllZC4gVGhpcyBpcyB3aHkgaXQgaGFzIGR1cmF0aW9uPTAuCgkgIFRoaXMgcGF0Y2ggYWxsb3cgdG8gdXNlIHRoaXMgZHVyYXRpb24uCgkgIEJ1ZzogNjU0MTc1CgkgIFNpZ25lZC1vZmYtYnk6IEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCjIwMTEtMDctMDYgMTc6MTg6MDUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBBZGQgZGlyZWN0IGRpcmFjIG1hcHBpbmcKCjIwMTEtMDctMDcgMTc6NTk6MDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RyaXBwbGUuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmlwcGxlLmg6CgkgIGVmZmVjdHY6IHBvcnQgbGFzdCBlZmZlY3R2IGVsZW1lbnQgdG8gMC4xMQoKMjAxMS0wNy0wNyAxNzo0OTozNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c3RyZWFrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHN0cmVhay5oOgoJICBlZmZlY3R2OiBwb3J0IHN0cmVha3R2IHRvIDAuMTEKCjIwMTEtMDctMDcgMTc6NDA6MjIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuaDoKCSAgZWZmZWN0djogcG9ydCByYWRpb2FjdHYgdG8gMC4xMQoKMjAxMS0wNy0wNyAxNzoyOTo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJldi5jOgoJKiBnc3QvZWZmZWN0di9nc3RyaXBwbGUuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RzdHJlYWsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkgIGVmZmVjdHY6IGZpeCBkb2NzCgoyMDExLTA3LTA3IDE3OjI5OjQ0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0b3AuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0b3AuaDoKCSAgZWZmZWN0djogcG9ydCBvcCB0byAwLjExCgoyMDExLTA3LTA3IDE3OjE4OjIxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkgIGVmZmVjdHY6IHBvcnQgcXVhcmsgdHYKCjIwMTEtMDctMDcgMTY6NTc6MzkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2Lmg6CgkgIGVmZmVjdHY6IHBvcnQgcmV2dHYgdG8gMC4xMQoKMjAxMS0wNy0wNyAxNjo0Njo1MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5oOgoJICBlZmZlY3R2OiBwb3J0IHZlcnRpZ290diB0byAwLjExCgoyMDExLTA3LTA3IDE2OjM4OjEwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmg6CgkgIGVmZmVjdHY6IHBvcnQgc2hhZ2FkZWxpY3R2IHRvIDAuMTEKCjIwMTEtMDctMDcgMTE6MjI6MjYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJICBhdXBhcnNlOiB1c2UgQUxXQVlTIHNyYyBwYWQgcmF0aGVyIHRoYW4gU09NRVRJTUVTCgoyMDExLTA3LTA3IDExOjE0OjE2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSAgYXVwYXJzZTogcG9ydCB0byAwLjExCgoyMDExLTA3LTA2IDE5OjAzOjUyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBiZWdpbm5pbmdzIG9mIHBvcnRpbmcKCjIwMTEtMDctMDYgMTg6NTA6MjYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuaDoKCSAgd2FycHR2OiBwb3J0IHRvIDAuMTEKCjIwMTEtMDctMDYgMTg6NTA6MTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkgIGRpY2U6IGtlZXAgdHJhY2sgb2YgaW5mbwoKMjAxMS0wNy0wNiAxODozMjo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5oOgoJICBlZmZlY3R2OiBwb3J0IGRpY2UKCjIwMTEtMDctMDYgMTg6MDk6NDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5oOgoJICBlZmZlY3R2OiBwb3J0IGFnaW5ndHYKCjIwMTEtMDctMDYgMTc6NTA6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYWFsaWIvTWFrZWZpbGUuYW06CgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSogZXh0L2FhbGliL2dzdGFhc2luay5oOgoJICBhYXNpbms6IHBvcnQgdG8gbmV3IHZpZGVvIEFQSQoKMjAxMS0wNy0wNiAxNzo0MDoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJjYWNhL01ha2VmaWxlLmFtOgoJKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOgoJKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5oOgoJICBjYWNhc2luazogcG9ydCB0byAwLjExCgoyMDExLTA3LTA2IDE2OjUwOjMyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnOiBiZWdpbm5pbmdzIG9mIHBvcnRpbmcgdG8gMC4xMQoKMjAxMS0wNy0wNiAxNjozMToxOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IHVzZSBBTFdBWVMgc291cmNlIHBhZCByYXRoZXIgdGhhbiBTT01FVElNRVMKCjIwMTEtMDctMDYgMTY6MTA6MzQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJICB3YXZwYXJzZTogcG9ydCB0byAwLjExCgoyMDExLTA3LTA2IDE2OjEwOjIzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkgIHdhdmVuYzogcG9ydCB0byAwLjExCgoyMDExLTA3LTA2IDEyOjIyOjQzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhZGp1c3QgdG8gdW5zaWduZWQgc2VnbWVudCBmaWVsZHMKCjIwMTEtMDctMDYgMTU6NTc6MjMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIHNwZWV4OiBwb3J0IHNwZWV4IGVsZW1lbnRzCgoyMDExLTA3LTA2IDEyOjA1OjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wNy0wNiAxMDoxMTo1MiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBtYW5hZ2VyOiBwb3J0IHRvIDAuMTEKCSAgKiB1c2UgR19ERUZJTkVfVFlQRQoJICAqIGFkanVzdCB0byBuZXcgR3N0QnVmZmVyIGFuZCBjb3JyZXNwb25kaW5nIHJ0cCBhbmQgcnRjcCBidWZmZXIgaW50ZXJmYWNlcwoJICAqIG1pc2MgY2FwcyBhbmQgc2VnbWVudCBoYW5kbGluZyBjaGFuZ2VzCgkgIEZJWE1FOiBhbHNvIHJlbGllcyBvbiBiZWluZyBhYmxlIHRvIHBhc3MgY2FwcyBhbG9uZyB3aXRoIGEgYnVmZmVyLAoJICB3aGljaCBoYXMgbm8gZXZpZGVudCBlcXVpdmFsZW50IHlldCwgc28gdGhhdCBlaXRoZXIgbmVlZHMgb25lLAoJICBvciBzdGlsbCBuZWVkcyBxdWl0ZSBzb21lIGNvZGUgcGF0aCBtb2RpZmljYXRpb24gdG8gZHJhZyBhbG9uZyBjYXBzLgoKMjAxMS0wNi0yOSAyMDo1OToyNiArMDMwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQG5va2lhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJICBwdWxzZXNpbms6IHByZXZlbnQgcmFjZSBjb25kaXRpb24gY2F1c2luZyByZWYgbGVhawoJICBTaW5jZSBjb21taXQgOGJmZDgwLCBnc3RfcHVsc2VyaW5nYnVmZmVyX3N0b3AgZG9lc24ndCB3YWl0IGZvciB0aGUKCSAgZGVmZXJyZWQgY2FsbCB0byBiZSBydW4gYmVmb3JlIHJldHVybmluZy4gVGhpcyBjYXVzZXMgYSByYWNlIHdoZW4KCSAgUkVBRFktPk5VTEwgaXMgZXhlY3V0ZWQgc2hvcnRseSBhZnRlciwgd2hpY2ggc3RvcHMgdGhlIG1haW5sb29wLiBUaGlzCgkgIGxlYWtzIHRoZSBlbGVtZW50IHJlZmVyZW5jZSB3aGljaCBpcyBwYXNzZWQgYXMgdXNlcmRhdGEgZm9yIHRoZSBjYWxsYmFjawoJICAoaW50cm9kdWNlZCBpbiBjb21taXQgN2NmOTk2LCBidWcgIzYxNDc2NSkuCgkgIFRoZSBjb3JyZWN0IGZpeCBpcyB0byB3YWl0IGluIFJFQURZLT5OVUxMIGZvciBhbGwgb3V0c3RhbmRpbmcgY2FsbHMgdG8KCSAgYmUgZmlyZWQgKHNpbmNlIGxpYnB1bHNlIGRvZXNuJ3QgcHJvdmlkZSBhIERlc3Ryb3lOb3RpZnkgZm9yIHRoZQoJICB1c2VyZGF0YSkuIFdlIGdldCByaWQgb2YgdGhlIHJlZmVyZW5jZSBwYXNzaW5nIGZyb20gN2NmOTk2IGFsdG9nZXRoZXIsCgkgIHNpbmNlIGZpbmFsaXphdGlvbiBmcm9tIHRoZSBjYWxsYmFjayB3b3VsZCBhbnl3YXlzIGxlYWQgdG8gYSBkZWFkbG9jay4KCSAgUmUtZml4ZXMgYnVnICM2MTQ3NjUuCgoyMDExLTA3LTA0IDA4OjU4OjE0ICswMzAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAbm9raWEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IHNtYWxsIGNsZWFudXAgb2YgY29weS1wYXN0ZSBjb2RlCgoyMDExLTA2LTI5IDE5OjUwOjQyICswMzAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAbm9raWEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkgIHB1bHNlc2luazogcmVtb3ZlIHVudXNlZCBtZW1iZXIgdmFyaWFibGUgYW5kIG1pc2xlYWRpbmcgbG9nIG1lc3NhZ2UKCSAgV2ltIGNoYW5nZWQgaXQgaW4gY29tbWl0IDhiZmQ4MCBzbyB0aGF0IHBhX2RlZmVyX3JhbiBpcyBub3QgcmVhZAoJICBhbnl3aGVyZS4KCSAgVGhlIGxvZyBtZXNzYWdlIHVzZWQgdG8gYW5ub3RhdGUgYSBtYWlubG9vcF93YWl0IGNhbGwgd2hpY2ggaXMgZ29uZS4KCjIwMTEtMDctMDUgMTU6Mzc6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIHZpZGVvZmxpcDogZml4IGNhcHMKCjIwMTEtMDctMDUgMTE6NDA6NTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuaDoKCSAgZWZmZWN0djogcG9ydCBlZGdldHYKCjIwMTEtMDctMDUgMTA6MTI6MjUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBBZGQgLURHU1RfVVNFX1VOU1RBQkxFX0FQSSB0byB0aGUgY29tcGlsZXIgZmxhZ3MgdG8gYXZvaWQgd2FybmluZ3MKCjIwMTEtMDctMDQgMTI6NTg6MzggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICBnb29tOiBEb24ndCBhbnN3ZXIgbGFudGVuY3kgcXVlcmllcyBiZWZvcmUgbmVnb3RpYXRpb24KCjIwMTEtMDctMDQgMTg6MTU6NDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwOiBwb3J0IHRvIG5ldyBBUEkKCjIwMTEtMDctMDQgMTg6MTI6NTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlci5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZTogcmVtb3ZlIGltcGxlbWVudHNpbnRlcmZhY2UKCjIwMTEtMDctMDQgMTg6MTA6NTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IGZpeCBjYXBzCgoyMDExLTA3LTA0IDE4OjA2OjQ4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmg6CgkgIGFscGhhOiBwb3J0IHRvIG5ldyB2aWRlbyBBUEkKCjIwMTEtMDctMDQgMTc6MDA6MzQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IG1vcmUgcG9ydGluZwoKMjAxMS0wNy0wNCAxNjowOTozMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuaDoKCSAgcG9ydCB0byBuZXcgdmlkZW8gYXBpCgoyMDExLTA2LTI4IDE0OjAzOjQzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5oOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuaDoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmg6CgkgIHZpZGVvOiBwb3J0IHRvIG5ldyB2aWRlbyBhcGlzCgoyMDExLTA3LTA0IDE0OjMwOjA5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogYXZvaWQgY3Jhc2hpbmcgb24gaW52YWxpZCBpbnB1dCB3aXRob3V0IGNvbXBvbmVudHMKCjIwMTEtMDctMDQgMTE6MDk6MTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdjogcG9ydCB0byAwLjExCgkgICogdXNlIEdfREVGSU5FX1RZUEUKCSAgKiBhZGp1c3QgdG8gbmV3IEdzdEJ1ZmZlcgoJICAqIG1pc2Mgc2VnbWVudCBhbmQgY2FwcyBjaGFuZ2VzCgoyMDExLTA3LTA0IDExOjQ4OjEzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvcHVsc2UvcHVsc2VzaW5rLmMKCjIwMTEtMDctMDQgMTE6MjU6MjggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBwYXNzIGFsb25nIHNlZ21lbnQgaW5mbyB0byBjb2xsZWN0cGFkcwoJICAuLi4gc28gaXQgY2FuIHRyYWNrIHRoaXMgYW5kIGJlIHN1YnNlcXVlbnRseSB1c2VkIHRvIGRldGVybWluZSBydW5uaW5nIHRpbWUgZXRjLgoKMjAxMS0wNy0wNCAxMToyNDoyMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBpbmRpY2F0ZSByYXcgZm9ybWF0IGluIGFhYyBjYXBzCgoyMDExLTA3LTA0IDExOjA3OjEzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IG1pbmQgcmVxdWVzdGVkIG5hbWUgZm9yIHJlcXVlc3QgcGFkCgoyMDExLTA3LTA0IDExOjA2OjU0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGZyZWUgc2NoZWR1bGluZyBxdWVyeQoKMjAxMS0wNy0wMyAxOTo1MTozMiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvcHVsc2UvcGx1Z2luLmM6CgkgIHB1bHNlOiBJbmNyZWFzZSByYW5rcyB0byBQUklNQVJZICsgMTAKCSAgU28gdGhhdCBwdWxzZXNyYy9wdWxzZXNpbmsgZ2V0IGNob3NlbiBvdmVyIG90aGVyIHBvc3NpYmxlIFBSSU1BUlkKCSAgc3JjL3NpbmtzIGJ5IGF1dG9hdWRpb3NpbmsuICBQcmVzdW1hYmx5LCBpZiBwdWxzZSBpcyBhdmFpbGFibGUsIGl0CgkgIGlzIGFsd2F5cyBwcmVmZXJyZWQgb3ZlciBhbm90aGVyIHNyYy9zaW5rLgoJICBGaXhlczogIzY0NzU0MC4KCjIwMTEtMDYtMzAgMTg6NDc6NDggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSAgbXVsdGlwYXJ0bXV4OiBBZGQgXHJcbiB0byB0YWlsIG9mIHB1c2hlZCBidWZmZXJzCgkgIENsaWVudHMgc3VjaCBhcyBGaXJlZm94IHJlcXVpcmUgdGhlIFxyXG4gYWZ0ZXIgdGhlIHBheWxvYWQuCgoyMDExLTA2LTE2IDE0OjUyOjUxICswMjAwICBCcmFua28gU3ViYXNpYyA8YnJhbmtvQGF4aXMuY29tPgoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogYXZvaWQgbG9vcGluZyB3aGVuIHNlYXJjaGluZyBmb3IgY2x1c3RlcnMKCSAgRml4ZXMgc29tZSBidWdzIHRoYXQgcmVzdWx0cyBpbiB0aGUgZGVtdXhlciBsb29waW5nIHdoZW4gc2VhY2hpbmcKCSAgZm9yIGNsdXN0ZXJzIGluIG5vbi1maW5hbGl6ZWQgZmlsZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTIxOTUKCjIwMTEtMDYtMzAgMTI6MzA6MjIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgIG11bHRpZmlsZTogcG9ydCB0byAwLjEwCgkgICogdXNlIEdfREVGSU5FX1RZUEUKCSAgKiBhZGp1c3QgdG8gbmV3IEdzdEJ1ZmZlcgoJICAqIG1pc2MgY2FwcyBoYW5kbGluZwoKMjAxMS0wNi0zMCAxMTozNToyMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJICBjdXR0ZXI6IHBvcnQgdG8gMC4xMQoJICAqIHVzZSBHX0RFRklORV9UWVBFCgkgICogYWRqdXN0IHRvIG5ldyBHc3RCdWZmZXIKCSAgKiBtaW5vciBtaXNjCgoyMDExLTA2LTMwIDExOjE3OjE5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdsaW1pdGVyLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6CgkgIHJlcGxheWdhaW46IHBvcnQgdG8gMC4xMQoJICAqIHVzZSBHX0RFRklORV9UWVBFCgkgICogYWRqdXN0IHRvIG5ldyBHc3RCdWZmZXIKCjIwMTEtMDYtMzAgMTA6NTM6MDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiByZW1vdmUgZGVwcmVjYXRlZCBwcm9wZXJ0eQoKMjAxMS0wNi0zMCAxMDo1MTo1NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IHBvcnQgdG8gMC4xMQoJICAqIHVzZSBHX0RFRklORV9UWVBFCgkgICogYWRqdXN0IHRvIG5ldyBHc3RCdWZmZXIKCjIwMTEtMDYtMzAgMTA6Mzg6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIGxldmVsOiBwb3J0IHRvIDAuMTEKCSAgKiB1c2UgR19ERUZJTkVfVFlQRQoJICAqIGFkanVzdCB0byBuZXcgR3N0QnVmZmVyCgoyMDExLTA2LTMwIDEwOjMwOjE2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJICBlcXVhbGl6ZXI6IHBvcnQgdG8gMC4xMQoKMjAxMS0wNi0xMCAxODo1NDo0OCArMDUzMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkgIG1hdHJvc2thcGFyc2U6IGZpeCByZWZlcmVuY2UgY291bnRpbmcgb2YgcGFyc2UtPnN0cmVhbWhlYWRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUyMjg2CgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAxMS0wNi0yOSAxNDozOTo1MiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IERvbid0IHJvdW5kIHVwIHNpemUgb2YgZW5jb2RlZCBidWZmZXJzCgkgIEZvciBzb21lIHJlYXNvbiwgaW4gY29kZSBkYXRpbmcgdG8gMjAwMSwgZW5jb2RlZCBqcGVnIGJ1ZmZlcnMgd2VyZQoJICByb3VuZGVkIHVwIHRvIG11bHRpcGxlcyBvZiA0IGJ5dGVzLiAgV2l0aCB0aGUgYWRkZWQgYm9udXMgdGhhdCB0aGUKCSAgZXh0cmEgYnl0ZXMgYXJlIHVud3JpdHRlbiwgY2F1c2luZyB2YWxncmluZCBpc3N1ZXMuICBPb3BzLiAgSSBjYW4ndAoJICB0aGluayBvZiBhbnkgcmVhc29uIHdoeSBKUEVHIGJ1ZmZlcnMgbmVlZCB0byBiZSBtdWx0aXBsZXMgb2YgNCBieXRlcywKCSAgc28gSSByZW1vdmVkIHRoZSBwYWRkaW5nLiAgVGhlcmUgbWlnaHQgYmUgc29tZSBjb2RlIHNvbWV3aGVyZSB0aGF0CgkgIGRlcGVuZHMgb24gdGhpcyBiZWhhdmlvciwgc28gaWYgdGhpcyBuZWVkcyB0byBiZSByZXZlcnRlZCwgcGxlYXNlIGZpeAoJICB0aGUgdmFsZ3JpbmQgaXNzdWVzLgoKMjAxMS0wNi0yOSAxMjo0NjoyMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L01ha2VmaWxlLmFtOgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvYXRvbXNyZWNvdmVyeS5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bW9vdnJlY292ZXIuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4Lmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSogZ3N0L2lzb21wNC9nc3RydHB4cXRkZXBheS5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIGlzb21wNDogcG9ydCB0byAwLjExCgoyMDExLTA2LTI4IDEyOjU1OjQ1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHR3ZWFrIHNvbWUgcG9ydGVkIHNlZ21lbnQgaGFuZGxpbmcKCSAgLi4uIHRvIGF2b2lkIGxvc2luZyBkdXJhdGlvbiBkdXJpbmcgcHVzaCBtb2RlIHNlZWtpbmcsIGFuZCB0byBwcm9wZXJseQoJICBhY2N1bXVsYXRlIHJ1bm5pbmcgdGltZSB3aGVuIHNlZ21lbnQgc2Vla2luZy4KCjIwMTEtMDYtMjkgMTI6MDU6MDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogZnJlZSBkYXRlIHRhZwoKMjAxMS0wNi0yOCAxMjoyNjozNyArMDIwMCAgSm9uYXMgTGFyc3NvbiA8am9uYXMubGFyc3NvbkBoaXEuc2U+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBub3Qgc28gZ3JlZWR5IG1pbmltdW0gZnJhbWUgc2l6ZQoJICBGaXhlcyAjNjUzNTU5LgoKMjAxMS0wNi0yNSAxMTozOToyMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogcmVtb3ZlIG5vbi1wa2ctY29uZmlnIGNoZWNrIGZvciBzaG91dAoJICBGaXhlczogNjUzMzI3CgoyMDExLTA2LTIwIDE4OjQ5OjU3ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBleHQvcmF3MTM5NC9nc3QxMzk0Y2xvY2suYzoKCSAgZHYxMzk0c3JjOiBtYWtlIHRoZSBpbnRlcm5hbCBjbG9jayB0aHJlYWQgc2FmZQoJICBGaXhlczogIzY1MzA5MS4KCjIwMTEtMDYtMjQgMTE6NTQ6MjkgKzAyMDAgIE1pZ3VlbCBBbmdlbCBDYWJyZXJhIE1veWEgPG1hZG1hYzI1MDFAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogcmV0dXJuIGNvcnJlY3QgdHlwZSB3aGVuIGFzc2VydGlvbiBmYWlscwoKMjAxMS0wNi0yMyAxMToyODoyNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDY5Yjk4MWYgdG8gNjA1Y2Q5YQoKMjAxMS0wNi0yMiAxNjo0MToxMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcDogZml4IGZvciB1cmkgY2hhbmdlcwoKMjAxMS0wMi0wMiAxNjoxODo1NCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5oOgoJICBwdWxzZTogRHJvcCBzdXBwb3J0IGZvciBQQSB2ZXJzaW9ucyBiZWZvcmUgMC45LjE2CgkgIFRoaXMgZHJvcHMgc3VwcG9ydCBmb2YgUHVsc2VBdWRpbyB2ZXJzaW9ucyBwcmlvciB0byAwLjkuMTYsIHdoaWNoIHdhcwoJICByZWxlYXNlZCBhYm91dCAxLjUgeWVhcnMgYWdvLiBUZXN0aW5nIHdpdGggdmVyeSBvbGQgdmVyc2lvbnMgaXMgbm90CgkgIGZlYXNpYmxlIGFuZCB3ZSBkb24ndCB3YW50IHRvIG1haW50YWluIDIgaW5kZXBlbmRlbnQgY29kZS1wYXRocy4KCjIwMTEtMDYtMjEgMTg6MjQ6NDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgY29uZmlndXJlLmFjCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWwKCjIwMTEtMDYtMjEgMTg6MTk6MDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogZml4IGZvciBoZWFkZXIgY2xlYW51cHMKCjIwMTEtMDYtMjEgMTU6MTU6MDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSAgcnRwbXA0YWRlcGF5OiBmaXggb3V0cHV0IGJ1ZmZlciB0aW1lc3RhbXBzIGluIGNhc2Ugb2YgbXVsdGlwbGUgZnJhbWVzCgoyMDExLTA2LTIwIDE2OjQ3OjM2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBUaGUgc2lnbmFsIGhhcyA1IGFyZ3VtZW50cywgbm90IDQKCjIwMTEtMDYtMjAgMTI6MTM6MTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IHVzZSBzdHJpbmcgZm9yIHZpZGVvIGZvcm1hdCBub3cKCjIwMTEtMDYtMjAgMTI6MDQ6NDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL01ha2VmaWxlLmFtOgoJICBhdmk6IGxpbmsgYWdhaW5zdCBnc3R2aWRlbyBub3cKCjIwMTEtMDYtMjAgMTI6MDM6MjQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmk6IHBvcnQgdG8gbmV3IGNhcHMKCjIwMTEtMDYtMTggMTM6NDM6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgQnVtcCBnaXQgdmVyc2lvbiBhZnRlciB1bnBsYW5uZWQgMC4xMC4zMCByZWxlYXNlCgkgIE1lcmdlIGJyYW5jaCAnMC4xMC4zMCcKCSAgQ29uZmxpY3RzOgoJICBjb25maWd1cmUuYWMKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sCgkgIHdpbjMyL2NvbW1vbi9jb25maWcuaAoKMjAxMS0wNi0xNyAxMDozNzozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuaDoKCSAgc3VuYXVkaW86IGZpeCB0eXBvIGluIGNvbW1lbnQKCjIwMTEtMDYtMTcgMTg6MTI6NTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA2LTE3IDE4OjExOjM4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSAgYXV0b2RldGVjdDogZml4IGNhcHMKCjIwMTEtMDYtMTYgMTU6Mzg6MTAgKzAyMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuZGViZXRoZW5jb3VydEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICBnb29tOiBmaXggdW51c2VkLWJ1dC1zZXQtY29tcGlsZXIgd2FybmluZ3MKCSAgUmVtb3ZlIHVubmVjZXNzYXJ5IHJlcyB2YXJpYWJsZXMsIGNvcmUgY2hlY2tzIGV4aXN0YW5jZQoJICBhbmQgdHlwZSBvZiB0aGVzZSBmaWVsZHMgZm9yIHVzIGFscmVhZHkgdmlhIHRoZSB0ZW1wbGF0ZQoJICBjYXBzLCBhbmQgd2Uga25vdyB0aGF0IHRoZXNlIGZpZWxkcyBleGlzdCBiZWNhdXNlIHdlJ3ZlCgkgIGZpeGF0ZWQgdGhlbSBiZWZvcmUgaW4gX25lZ290aWF0ZSgpLgoKMjAxMS0wNi0xNyAwMzowNzowOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkgIGF1ZGlvZWNobzogZml4IHBhcmFtIGZsYWdzCgkgIElmIHRoZSBwYXJhbWV0ZXIgY2Fubm90IGJlIGNoYW5nZWQgaW4gcGF1c2VkJnBsYXlpbmcsIGl0IGlzIG5vdCBjb250cm9sYWJsZS4gU2V0CgkgIHRoZSBhcHByb3ByaWF0ZSBtdXRhYmlsaXR5IGZsYWcgaW5zdGVhZC4KCj09PSByZWxlYXNlIDAuMTAuMzAgPT09CgoyMDExLTA2LTE1IDIzOjU3OjM0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4zMAoJICBUaGlzIGlzIGFuIGFkLWhvYyByZWxlYXNlIHRoYXQgaXMgYWxtb3N0IGlkZW50aWNhbCB0byAwLjEwLjI5OgoJICAqIHdvcmsgYXJvdW5kIEdMaWIgYXRvbWljIG9wcyBBUEkgY2hhbmdlCgkgICogYmV0dGVyIGhhbmRsaW5nIG9mIG1hbGZvcm1lZCBidWZmZXJzIGluIFJUUCBkZXBheWxvZGVycwoJICAqIHNvbWUgbWlub3IgY29tcGlsYXRpb24gZml4ZXMKCjIwMTEtMDYtMDggMTg6MzM6MTAgKzAzMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5oOgoJICB1ZHA6IEZpeCBjb21waWxlciB3YXJuaW5nIG9uIG1pbmd3LXc2NAoJICBGaXhlczogIzY1MjE0NC4KCSAgZ3N0dWRwbmV0dXRpbHMuaDozMjowOiBlcnJvcjogIldJTlZFUiIgcmVkZWZpbmVkCgkgIC91c3IvaTY4Ni13NjQtbWluZ3czMi9zeXMtcm9vdC9taW5ndy9pbmNsdWRlL19taW5ndy5oOjIzMTowOiBub3RlOiB0aGlzIGlzIHRoZQoJICBsb2NhdGlvbiBvZiB0aGUgcHJldmlvdXMgZGVmaW5pdGlvbgoKMjAxMS0wNi0wNCAxMzo0OTo1MiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgIGludGVybGVhdmU6IFdvcmsgYXJvdW5kIGNoYW5nZXMgaW4gZ19hdG9taWMgQVBJCgkgIFNlZSAjNjUxNTE0IGZvciBkZXRhaWxzLgoKMjAxMS0wNS0xOCAxMjozNjo0MCArMDIwMCAgSm9zZSBBbnRvbmlvIFNhbnRvcyBDYWRlbmFzIDxzYW50b3NjYWRlbmFzQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSAgcnRwOiBGaXggc2VnbWVudGF0aW9uIGZhdWx0IHByb2Nlc3NpbmcgcGF5bG9hZCBidWZmZXJzCgkgIFRoaXMgY29tbWl0IGNoZWNrcyBpZiB0aGUgdmFsdWUgcmV0dXJuZWQgYnkKCSAgZ3N0X3J0cF9idWZmZXJfZ2V0X3BheWxvYWRfYnVmZmVyIGFuZAoJICBnc3RfcnRwX2J1ZmZlcl9nZXRfcGF5bG9hZF9zdWJidWZmZXIgaXMgTlVMTCBiZWZvcmUgdXNpbmcgaXQuCgoyMDExLTA1LTE2IDA5OjA0OjMxICswMjAwICBQaW5vIFRvc2Nhbm8gPHRvc2Nhbm8ucGlub0B0aXNjYWxpLml0PgoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJICBwdWxzZTogRGVmaW5lIFBBVEhfTUFYIGlmIGl0IGlzbid0IGRlZmluZWQKCSAgR05VIEh1cmQgZm9yIGV4YW1wbGUgZG9lc24ndCBkZWZpbmUgaXQuCgoyMDExLTA0LTI5IDA4OjU1OjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkgIHdhdmVuYzogQWxsb3cgc2V0Y2FwcyB0byBiZSBjYWxsZWQgYWZ0ZXIgYSBmb3JtYXQgd2FzIG5lZ290aWF0ZWQgaWYgaXQncyBjb21wYXRpYmxlCgkgIE90aGVyd2lzZSB3YXZlbmMgd2lsbCBmYWlsIGlmIHVwc3RyZWFtIGRlY2lkZXMgdG8gc2V0IGVxdWl2YWxlbnQgY2FwcyBvciBjYXBzCgkgIHdpdGggYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBsYXRlci4KCSAgVGhhbmtzIHRvIEFsZXhhbmRlciBTY2hyZW1tZXIgZm9yIGZpbmRpbmcgdGhpcyBidWcuCgoyMDExLTA2LTE1IDE1OjA2OjIzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIFJFUVVJUkVNRU5UUzoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9lc2QvTWFrZWZpbGUuYW06CgkqIGV4dC9lc2QvZXNkbW9uLmM6CgkqIGV4dC9lc2QvZXNkbW9uLmg6CgkqIGV4dC9lc2QvZXNkc2luay5jOgoJKiBleHQvZXNkL2VzZHNpbmsuaDoKCSogZXh0L2VzZC9nc3Rlc2QuYzoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJKiBtNC9NYWtlZmlsZS5hbToKCSogbTQvYXMtYXJ0cy5tNDoKCSogbTQvZXNkLm00OgoJKiBwby9QT1RGSUxFUy5pbjoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgUmVtb3ZlIGVzb3VuZC9lc2RzaW5rIHBsdWdpbgoKMjAxMS0wNi0xNSAxNDozNzoyOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogUkVRVUlSRU1FTlRTOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2djb25mL01ha2VmaWxlLmFtOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmYuYzoKCSogZXh0L2djb25mL2dzdGdjb25mLmg6CgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuaDoKCSogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zcmMuYzoKCSogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zcmMuaDoKCSogZXh0L2djb25mL2dzdGdjb25mZWxlbWVudHMuYzoKCSogZXh0L2djb25mL2dzdGdjb25mZWxlbWVudHMuaDoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc2luay5oOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NyYy5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NyYy5oOgoJKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5jOgoJKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5oOgoJKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc3JjLmM6CgkqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzcmMuaDoKCSogZ2NvbmYvLmdpdGlnbm9yZToKCSogZ2NvbmYvTWFrZWZpbGUuYW06CgkqIGdjb25mL2dzdHJlYW1lci5zY2hlbWFzLmluOgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkqIG00L01ha2VmaWxlLmFtOgoJKiBtNC9nY29uZi0yLm00OgoJKiBwby9QT1RGSUxFUy5pbjoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIFJlbW92ZSBnY29uZiBlbGVtZW50cyBhbmQgcGx1Z2luCgkgIEdDb25mIHdhcyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiBHU2V0dGluZ3MgZXRjLgoKMjAxMS0wNi0xNSAxNToxNzoxOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZml4IHVuaXRpYWxpemVkIGFjY2VzcwoKMjAxMS0wNi0wOSAyMTowNjoyOCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thOiBhZGQgbWlzc2luZyBzdGRpbyBpbmNsdWRlIGZvciBzc2NhbmYKCjIwMTEtMDYtMTMgMTk6MDg6MzggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA2LTEzIDE3OjUxOjQwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIC1nb29kOiBwb3J0IHNvbWUgbW9yZSBwbHVnaW5zCgoyMDExLTA2LTEzIDE3OjE0OjUxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwOiBmaXggZm9yIGZsdXNoX3N0b3AgQVBJIGNoYW5nZQoKMjAxMS0wNi0xMyAxNzoxNDowMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkgIHJ0cDogcG9ydCBzb21lIG1vcmUgKGRlKXBheWxvYWRlcgoKMjAxMS0wNi0xMyAxNzowNToxOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiBub3Qgc28gZ3JlZWR5IG1pbmltdW0gZnJhbWUgc2l6ZQoJICAuLi4gd2hpY2ggd2lsbCBiZSBkZXRlcm1pbmVkIGJ5IHBhcnNpbmcgYW55d2F5LCBhbmQgYXZvaWRzIGludHJvZHVjaW5nCgkgIHJlZHVuZGFudCBhZGRpdGlvbmFsIGxhdGVuY3kuCgoyMDExLTA2LTEzIDE2OjMzOjU3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIC1nb29kOiB1cGRhdGUgZm9yIGJ1ZmZlciBBUEkgY2hhbmdlCgoyMDExLTA2LTEzIDE2OjMzOjQ2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHA6IHBvcnQgdG8gMC4xMQoKMjAxMS0wNi0xMyAxMzoyNTo0OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJICBydHA6IGZpeCBmb3IgQVBJIGNoYW5nZXMgaW4gdGhlIGJhc2UgY2xhc3NlcwoKMjAxMS0wNi0xMyAxMzowNzo1MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogdXNlIGNhcHMgZXZlbnQgZm9yIG5lZ290aWF0aW9uCgoyMDExLTA2LTEzIDEzOjA3OjI3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZml4IGZvciBmbHVzaCBzdG9wIGV2ZW50IGNoYW5nZXMKCjIwMTEtMDYtMDggMTg6MzM6MTAgKzAzMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5oOgoJICB1ZHA6IEZpeCBjb21waWxlciB3YXJuaW5nIG9uIG1pbmd3LXc2NAoJICBGaXhlczogIzY1MjE0NC4KCSAgZ3N0dWRwbmV0dXRpbHMuaDozMjowOiBlcnJvcjogIldJTlZFUiIgcmVkZWZpbmVkCgkgIC91c3IvaTY4Ni13NjQtbWluZ3czMi9zeXMtcm9vdC9taW5ndy9pbmNsdWRlL19taW5ndy5oOjIzMTowOiBub3RlOiB0aGlzIGlzIHRoZQoJICBsb2NhdGlvbiBvZiB0aGUgcHJldmlvdXMgZGVmaW5pdGlvbgoKMjAxMS0wNi0xMSAxODo1ODowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgZ29vbTogZml4IGZvciBidWZmZXJwb29sIHVwZGF0ZQoKMjAxMS0wNi0xMCAxODowNTowMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgZ29vbTogdXBkYXRlIGZvciBhbGlnbm1lbnQgY2hhbmdlCgoyMDExLTA2LTA5IDE3OjU2OjE4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogcG9ydCBzb21lIG1vcmUKCjIwMTEtMDYtMDkgMTc6NTI6MzQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3A6IHBvcnQgdG8gMC4xMQoKMjAxMS0wNi0wOSAxNzo1MDowOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcDogcG9ydCB0byAwLjExCgoyMDExLTA2LTA5IDExOjM3OjQ3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJICBhYXNpbms6IHJlZ2lzdGVyIHRlbXBsYXRlIGFuZCBrbGFzcyBjb3JyZWN0bHkKCjIwMTEtMDYtMDkgMTA6NTA6NDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tL2dzdGdvb20uaDoKCSAgZ29vbTogcG9ydCBnb29tCgoyMDExLTA2LTA4IDE4OjA2OjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wNi0wOCAxODowNToyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSAgYXNzaW5rOiBwb3J0IGFhc2luayB0byAwLjExCgoyMDExLTA2LTA3IDEyOjA2OjA4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2JyZWFrbXlkYXRhLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2NwdXJlcG9ydC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzZGVidWcuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc3NldHRlci5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZzZWVrLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHB1c2hmaWxlc3JjLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHRhZ2luamVjdC5jOgoJKiBnc3QvZGVidWd1dGlscy9wcm9ncmVzc3JlcG9ydC5jOgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Rlc3RwbHVnaW4uYzoKCSAgZGVidWd1dGlsczogU3dpdGNoIGZyb20gR1NUX0JPSUxFUlBMQVRFIHRvIEdfREVGSU5FX1RZUEUKCjIwMTEtMDYtMDcgMTE6MjU6MTggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICB2aWRlb2ZpbHRlcjogVXNlIG5ldyBHc3RCYXNlVHJhbnNmb3JtOjp0cmFuc2Zvcm1fY2FwcyBBUEkKCjIwMTEtMDYtMDcgMTE6MjM6NTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJICBhdXBhcnNlOiBEb24ndCB1c2UgR1NUX0JPSUxFUlBMQVRFCgoyMDExLTA2LTA3IDExOjIyOjM1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkgIGF1ZGlvZnhiYXNlZmlyZmlsdGVyOiBCdWZmZXJzIG5vIGxvbmdlciBoYXZlIGNhcHMKCjIwMTEtMDYtMDcgMTE6MjA6MDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkgIGFscGhhOiBVc2UgbmV3IHRyYW5zZm9ybV9jYXBzIHZtZXRob2QgKHdpdGggZmlsdGVyKQoKMjAxMS0wNi0wNiAyMDo0MzozMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogZml4IHNvbWUgbW9yZSBwYXJzZXJzCgoyMDExLTA2LTA2IDE4OjIxOjA0ICswNTMwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgTW92ZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X3BhcnNlX2NoYXB0ZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDYtMDYgMTQ6NDc6MjcgKzA1MzAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIE1vdmUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbiB0byBtYXRyb3NrYS1yZWFkLWNvbW1vbi5bY2hdIGZyb20KCSAgbWF0cm9za2EtZGVtdXguYyBhbmQgbWF0cm9za2EtcGFyc2UuYzoKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9wYXJzZV9hdHRhY2htZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA2LTA2IDEyOjQzOjE0ICswNTMwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgTW92ZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X3BhcnNlX2F0dGFjaGVkX2ZpbGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNi0wNSAyMjo0NTo1NSArMDUzMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgTW92ZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X3BhcnNlX2luZm8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNi0wNSAxMDoxNToyMyArMDUzMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgTW92ZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X3BhcnNlX21ldGFkYXRhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDYtMDUgMDk6NTQ6NDIgKzA1MzAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb24gdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fcGFyc2VfbWV0YWRhdGFfaWRfdGFnCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDYtMDUgMDI6MjQ6NDEgKzA1MzAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb24gdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fcGFyc2VfbWV0YWRhdGFfaWRfc2ltcGxlX3RhZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA2LTA2IDEyOjQyOjUzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcmVzZXQgc3RhdGUgdHJhY2tpbmcgdmFyaWFibGUgd2hlbiBhcHByb3ByaWF0ZQoJICAuLi4gc28gd2UgZG9uJ3QgZW5kIHVwIGludGVycnVwdGluZyBhbiBvcGVyYXRpb24gdGhhdCBzaG91bGQgbm90IGJlIGludGVycnVwdGVkCgkgIGJhc2VkIG9uIHRoZSBpbmRpY2F0aW9uIG9mIGEgcHJldmlvdXMgaW50ZXJydXB0YWJsZSBvcGVyYXRpb24uCgoyMDExLTA2LTA0IDEzOjQ5OjUyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogV29yayBhcm91bmQgY2hhbmdlcyBpbiBnX2F0b21pYyBBUEkKCSAgU2VlICM2NTE1MTQgZm9yIGRldGFpbHMuCgoyMDExLTA2LTA0IDEzOjQzOjAwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc2luay5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNpbmsuaDoKCSAgc291cGh0dHBzaW5rOiBjb2RlIGNsZWFudXAKCjIwMTEtMDYtMDUgMDI6MDA6MDggKzA1MzAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJICBtYXRyb3NrYXBhcnNlOiBVc2UgQVJUSVNUIHRhZyBpbnN0ZWFkIG9mIEFVVEhPUiBmb3IgR1NUX1RBR19BUlRJU1QKCSAgQVVUSE9SIG9ubHkgZXhpc3RlZCBpbiBhbiBvbGQgdmVyc2lvbiBvZiB0aGUgc3BlYyBhbmQgQVJUSVNUIGlzCgkgIHRoZSBuZXcgcmVwbGFjZW1lbnQgZm9yIHRoaXMuIFdlIGFyZSBzdGlsbCByZWFkaW5nIGJvdGggdG8gc3RpbGwKCSAgYmUgY29tcGF0aWJsZSB3aXRoIG9sZCBmaWxlcy4KCSAgRml4ZXMgYnVnICM2NDQ4NzUuCgoyMDExLTA2LTAyIDE4OjUxOjI5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIHN5cy94aW1hZ2UveGltYWdldXRpbC5jCgoyMDExLTA2LTAyIDE4OjQ3OjM2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSAgYXZpOiBwb3J0IEFWSSBlbGVtZW50cyB0byBuZXcgQVBJCgoyMDExLTA2LTAyIDEzOjM4OjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkgIGR2ZGVtdXg6IEZpcnN0IHF1ZXJ5IHRoZSBwZWVyIGR1cmF0aW9uIGluIHRoZSByZXF1ZXN0ZWQgZm9ybWF0IGJlZm9yZSBjb252ZXJ0aW5nIHRvIEJZVEVTCgkgIEZpeGVzIHVzYWdlIG9mIGR2ZGVtdXggYWZ0ZXIgYW5vdGhlciBkZW11eGVyLCBlLmcuIG14ZmRlbXV4LgoJICBGaXhlcyBidWcgIzY1MDUwMy4KCjIwMTEtMDYtMDIgMTA6NDE6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzaW5rLmM6CgkgIHNvdXBodHRwc2luazogRml4IHJlZmNvdW50aW5nIG9mIHRoZSAic2Vzc2lvbiIgcHJvcGVydHkKCSAgUHJvcGVydGllcyBzaG91bGQgbmV2ZXIgdGFrZSBvd25lcnNoaXAgb2YgdGhlIHZhbHVlcwoJICBwYXNzZWQgdG8gdGhlbS4KCjIwMTEtMDYtMDEgMTc6MDQ6MjcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogRm9yIHN0cmVhbWluZyBmaWxlcywgcHVzaCB0YWdzIGZpcnN0CgoyMDExLTA1LTI0IDE0OjUyOjAxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zb3VwL01ha2VmaWxlLmFtOgoJKiBleHQvc291cC9nc3Rzb3VwLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc2luay5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNpbmsuaDoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cDogQWRkIHNvdXBodHRwc2luawoKMjAxMS0wNi0wMSAxMDoxOTozMSArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogYWxsb3cgc2tpcC1maXJzdC1ieXRlcyBvZiBmdWxsIGJ1ZmZlciBzaXplCgoyMDExLTA1LTMwIDE4OjMxOjUwICswNTMwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgTW92ZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9ucyB0byBtYXRyb3NrYS1yZWFkLWNvbW1vbi5bY2hdIGZyb20KCSAgbWF0cm9za2EtZGVtdXguYyBhbmQgbWF0cm9za2EtcGFyc2UuYzoKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9wYXJzZV9oZWFkZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNS0zMCAxMjowOTozMSArMDIwMCAgQW50b25pbyBGcmVkaWFuaSA8YW50b25pby5mcmVkaWFuaUBpbndpbmQuaXQ+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBVc2UgR1NUX1RBR19JTUFHRSBmb3IgY292ZXJhcnQgdG9vCgkgIEZpeGVzIGJ1ZyAjNjM4MTA3LgoKMjAxMS0wNS0zMCAxMDo0MDowOCArMDUzMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIE1vdmUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbnMgdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fZ2V0X3NlZWtfdHJhY2sKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9yZXNldF9zdHJlYW1zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDUtMjggMjI6MDQ6MzQgKzA1MzAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIE1vdmUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbiB0byBtYXRyb3NrYS1yZWFkLWNvbW1vbi5bY2hdIGZyb20KCSAgbWF0cm9za2EtZGVtdXguYyBhbmQgbWF0cm9za2EtcGFyc2UuYzoKCSAgLSBnc3RfbWF0cm9za2F7ZGVtdXgscGFyc2V9X2ZvdW5kX2dsb2JhbF90YWcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNS0yOCAxMDo1OTowOSArMDUzMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIE1vdmUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbnMgdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2thX2luZGV4X3NlZWtfZmluZAoJICAtIGdzdF9tYXRyb3NrYXtkZW11eCxwYXJzZX1fZG9faW5kZXhfc2VlawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA1LTI3IDIzOjE1OjIzICswNTMwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgTW92ZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X3RyYWNrbnVtYmVyX3VuaXF1ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA1LTI3IDIwOjI4OjE5ICswNTMwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgTW92ZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X2RlY29kZV9kYXRhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDUtMjcgMTk6MzA6NDggKzA1MzAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb24gdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fZ2V0X2xlbmd0aAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA1LTI3IDA5OjE3OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogUmV2ZXJ0IDFhOTBhNmM0IGFuZCBkcm9wIERpcmFjIHN1cHBvcnQgYWdhaW4KCSAgSXQgZG9lcyBub3Qgd29yayBhdCBhbGwgKEEvViBzeW5jIGlzc3VlcyksIGlzIG5vdCB2ZXJ5IHVzZWZ1bCwKCSAgb3RoZXIgY29udGFpbmVycyB3b3JrIG11Y2ggYmV0dGVyIHdpdGggRGlyYWMgYW5kIERpcmFjIGluIEFWSQoJICBpcyBub3Qgc3VwcG9ydGVkIGJ5IG90aGVyIHNvZnR3YXJlLgoJICBGaXhlcyBidWcgIzU0MTIxNS4KCjIwMTEtMDUtMjYgMjM6MzU6NTIgKzA1MzAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X2VuY29kaW5nX2NtcAoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X3JlYWRfdHJhY2tfZW5jb2RpbmdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDUtMjMgMTg6MDY6NDQgKzAzMDAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X3BlZWtfaWRfbGVuZ3RoX3B1bGwKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9wZWVrX2lkX2xlbmd0aF9wdXNoCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDUtMjMgMTg6MDY6NDQgKzAzMDAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIE1vdmUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbiB0byBtYXRyb3NrYS1yZWFkLWNvbW1vbi5bY2hdIGZyb20KCSAgbWF0cm9za2EtZGVtdXguYyBhbmQgbWF0cm9za2EtcGFyc2UuYzoKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9wZWVrX2FkYXB0ZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNS0yNiAxMjo0ODozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSAgeHZpbWFnZXNpbms6IEZhbGxiYWNrIHRvIG5vbi1YU2htIG1vZGUgaWYgYWxsb2NhdGluZyB0aGUgWFNobSBpbWFnZSBmYWlsZWQKCSAgRml4ZXMgYnVnICM2MzA0NTYuCgoyMDExLTA1LTI2IDEyOjIyOjUyICswMjAwICBNYXJjIExlZW1hbiA8bWFyYy5sZWVtYW5AZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkgIHJ0cG1wNHZwYXk6IERlcHJlY2F0ZWQgc2VuZC1jb25maWcgcHJvcGVydHkgYW5kIHJlcGxhY2UgYnkgY29uZmlnLWludGVydmFsCgkgIEZpeGVzIGJ1ZyAjNjIyNDEyLgoKMjAxMC0wNi0yMyAxMToxMjowMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBtYXRyb3NrYWRlbXV4OiBVVEYtOCBzdWJ0aXRsZXMgbWF5IGhhdmUgbWFya3VwCgkgIEZpeGVzICM2MTY5MzYuCgoyMDExLTAxLTIzIDE1OjU2OjQ5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuaDoKCSAgY2Fpcm90ZXh0b3ZlcmxheTogZm9yd2FyZCBuZXcgc2VnbWVudCBldmVudHMgZnJvbSB0aGUgc2luayB0byB0aGUgc291cmNlCgkgIE5vdCBkb2luZyBzbyB3aWxsIGNhdXNlIGJ1ZmZlcnMgdG8gYmUgcmVjZWl2ZWQgYnkgZG93bnN0cmVhbSB3aXRob3V0CgkgIGEgdGltZSBiYXNlIHNldC4KCSAgV2UgdXNlIHRoZSBzYW1lIG1ldGhvZCBhdmltdXggdXNlcyB0byBnZXQgYWNjZXNzIHRvIHRoZSBldmVudCB3aGVuCgkgIGNvbGxlY3RwYWRzIGdvdCB0aGUgc2luayBldmVudCBmdW5jdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MDMyMwoKMjAxMS0wMS0yNCAxMToxMTo0OCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSAgdGV4dG92ZXJsYXk6IGZvcndhcmQgc291cmNlIGV2ZW50cyB0byBzaW5rcwoJICBFdmVudHMgYXJlIHBhc3NlZCB0byB0aGUgdmlkZW8gc2luaywgYW5kIHRvIHRoZSB0ZXh0IHNpbmsgaWYgaXQgaXMKCSAgbGlua2VkLgoJICBUaGlzIHdpbGwgYWxsb3cgc2Vla2luZywgZm9yIGluc3RhbmNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTg2NDUwCgoyMDExLTA1LTI1IDIxOjEyOjEyICswMjAwICBEYXZpZCBIb3l0IDxkaG95dEBsbG5sLmdvdj4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5oOgoJICBtdWx0aXBhcnRkZW11eDogQWRkIHByb3BlcnR5IHRvIGFzc3VtZSBhIHNpbmdsZSBzdHJlYW0gYW5kIGVtaXQgbm8tbW9yZS1wYWRzCgkgIEZpeGVzIGJ1ZyAjNjE2Njg2LgoKMjAxMS0wNS0yNSAxNDo1MDoyNiArMDIwMCAgTWlndWVsIEFuZ2VsIENhYnJlcmEgTW95YSA8bWFkbWFjMjUwMUBnbWFpbC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHVuaWZvcm0gdW5rbm93biBtZXNzYWdlIGhhbmRsaW5nCgkgIERvIHRoZSBzYW1lIHByb2Nlc3NpbmcgaW4gYWxsIHRoZSBjYXNlcyB3aGVuIGFuIHVua25vd24gbWVzc2FnZSBpcyByZWNlaXZlZC4KCSAgVGhhdCBpcywgZ2l2ZSBhIHdhcm5pbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTEwNTkKCjIwMTEtMDUtMjMgMTg6MDY6NDQgKzAzMDAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb24gdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fcGVla19wdWxsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDUtMjMgMTg6MDY6NDQgKzAzMDAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIE1vdmUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbiB0byBtYXRyb3NrYS1yZWFkLWNvbW1vbi5bY2hdIGZyb20KCSAgbWF0cm9za2EtZGVtdXguYyBhbmQgbWF0cm9za2EtcGFyc2UuYzoKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9wZWVrX2J5dGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDUtMjMgMTg6MDY6NDQgKzAzMDAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X2VuY29kaW5nX29yZGVyX3VuaXF1ZQoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X3JlYWRfdHJhY2tfZW5jb2RpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNS0yNCAxODoyNzoxMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkgIGF1dG9kZXRlY3Q6IHBvcnQgdG8gbmV3IEFQSQoKMjAxMS0wNS0yNCAxNzozNDoxOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmMKCSAgZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jCgkgIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmMKCSAgZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jCgkgIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jCgoyMDExLTA1LTI0IDEzOjEyOjE5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkgIHBjbXVkZXBheTogYWxsb3cgdmFyaWFibGUgc2FtcGxlIHJhdGUKCjIwMTEtMDUtMjQgMTM6MTE6NTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSAgcGNtYWRlcGF5OiBhbGxvdyB2YXJpYWJsZSBzYW1wbGUgcmF0ZQoKMjAxMC0wNC0wNCAwNjo0Mzo0MSAtMDUwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBhZGQgbm9ybSBwcm9wZXJ0eQoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5IEd1ZW5uYWRpIExpYWtob3ZldHNraS4KCSAgdjI6IHVwZGF0ZXMgYmVjYXVzZSBJIGZvcmdvdCB0byBhZGQgR3N0VHVuZXIgaW50ZXJmYWNlIHRvIHY0bDJzaW5rCgkgIHYzOiB1cGRhdGUgdG8gYWRkIGFsbCBwb3NzaWJsZSB2YWx1ZXMgdG8gbm9ybSBlbnVtCgoyMDExLTA1LTIzIDIwOjQ2OjA0ICswMzAwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiBmaXhlZCBjb3B5cmlnaHQgaGVhZGVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA1LTIzIDE4OjA2OjQ0ICswMzAwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgTW92ZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9ucyB0byBtYXRyb3NrYS1yZWFkLWNvbW1vbi5bY2hdIGZyb20KCSAgbWF0cm9za2EtZGVtdXguYyBhbmQgbWF0cm9za2EtcGFyc2UuYzoKCSAgLSBnc3RfbWF0cm9za2FfZGVjb2RlX2NvbnRlbnRfZW5jb2RpbmdzCgkgIC0gZ3N0X21hdHJvc2thX2RlY29tcHJlc3NfZGF0YQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA1LTIzIDE4OjQ4OjU3ICswMzAwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiBtb3ZlIEdzdE1hdHJvc2the0RlbXV4LFBhcnNlfTo6c3RhdGUgdG8gR3N0TWF0cm9za2FSZWFkQ29tbW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDUtMjQgMDk6NDg6NTYgKzAyMDAgIEpvbmFzIExhcnNzb24gPGpvbmFzLmxhcnNzb25AaGlxLnNlPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCBidWZmZXIgbGVhayB3aXRoIGNvcnJ1cHRlZCBmaWxlcwoJICBGaXhlcyBidWcgIzY1MDkxMi4KCjIwMTEtMDUtMjMgMDI6NDY6MzggLTA3MDAgIE1pZ3VlbCBBbmdlbCBDYWJyZXJhIE1veWEgPG1hZG1hYzI1MDFAZ21haWwuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBmaXggcGFyYW1ldGVyIHR5cGUgaW4gdHJhY2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDkzNwoKMjAxMS0wNS0yMyAxODowNjo0NCArMDMwMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL01ha2VmaWxlLmFtOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBSZXBsYWNlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIHdpdGggdGhlaXIgZ3N0X21hdHJvc2thX3JlYWRfY29tbW9uXyoKCSAgY291bnRlcnBhcnRzOgoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X3BhcnNlX2luZGV4CgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fcGFyc2Vfc2tpcAoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X3N0cmVhbV9mcm9tX251bQoJICBJbnRyb2R1Y2UgR3N0TWF0cm9za2FSZWFkQ29tbW9uIHRvIGNvbnRhaW4gdGhvc2UgbWVtYmVycyBvZgoJICBHc3RNYXRyb3NrYURlbXV4IGFuZCBHc3RNYXRyb3NrYVBhcnNlIHRoYXQgd2VyZSB1c2VkIGJ5IHRoZSBhYm92ZQoJICBmdW5jdGlvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDUtMjMgMTM6NTA6NDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiB0ZWxsIGJhc2VwYXJzZSB0aGUgZHVyYXRpb24gaW4gc2FtcGxlcyBmb3IgYmV0dGVyIGFjY3VyYWN5CgkgIFRlbGwgR3N0QmFzZVBhcnNlIHRoZSBkdXJhdGlvbiBpbiBzYW1wbGVzIGluc3RlYWQgb2YgdGltZSwgc28gdGhhdAoJICBhIGR1cmF0aW9uIHF1ZXJ5IGluIERFRkFVTFQgZm9ybWF0IHdpbGwgcmV0dXJuIHRoZSBjb3JyZWN0IG51bWJlcgoJICBvZiBzYW1wbGVzIHdpdGhvdXQgcm91bmRpbmcgZXJyb3JzLiBCYXNlcGFyc2Ugd2lsbCBjb252ZXJ0IHRoaXMKCSAgaW50byB0aW1lIGl0c2VsZiB3aGVuIG5lZWRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDc4NQoKMjAxMS0wNS0yMyAxMzoyNTo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IGFsc28gdHJ5IHVwc3RyZWFtIGZpcnN0IGZvciBkdXJhdGlvbiBxdWVyeSBpbiBERUZBVUxUIGZvcm1hdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwNzg1CgoyMDExLTA1LTIzIDEzOjIzOjIxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogbWFrZSBjb252ZXJzaW9uIGZyb20gVElNRSB0byBERUZBVUxUIGZvcm1hdCAoc2FtcGxlcykgd29yawoJICBGaXggY29weSduJ3Bhc3RlIGVycm9yIGluIHRoZSBwcmV2aW91cyBjb21taXQuCgoyMDExLTA1LTIzIDExOjM2OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogSW1wbGVtZW50IGNvbnZlcnNpb25zIGJldHdlZW4gVElNRSBhbmQgREVGQVVMVCBmb3JtYXQKCSAgRml4ZXMgYnVnICM2NTA3ODUuCgoyMDExLTA1LTIyIDE4OjUwOjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZG9uJ3QgZXJyb3Igb3V0IG9uIGludmFsaWQgbWluaW11bV9ibG9ja3NpemUgdmFsdWUgaW4gc3RyZWFtaW5mbyBoZWFkZXIKCSAgV2UgZG9uJ3QgdXNlIGl0LCBzbyBtYXkganVzdCBhcyB3ZWxsIGFjY2VwdCBhbiBpbnZhbGlkIHZhbHVlCgkgIG9mIDAgaGVyZSwgd2hpY2ggaXMgbGlrZWx5IGluY29uc2VxdWVudGlhbCBhbnl3YXkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA2OTEKCjIwMTEtMDUtMjAgMTA6MzQ6NDcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuYzoKCSAgcnRwOiBmaXggc3RhdGljIGFycmF5IG92ZXJydW5zIGluIGEgbmljZXIgd2F5CgkgIFVzZSBHX05fRUxFTUVOVFMgaW5zdGVhZCBvZiBoYXJkLWNvZGluZyB0aGUgYXJyYXkgc2l6ZS4KCjIwMTEtMDUtMjAgMDA6NTM6NDQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuYzoKCSAgcnRwOiBmaXggc3RhdGljIGFycmF5IG92ZXJydW5zCgkgIFllcyBhcnJheVsxMF0gaGFzIGVsZW1lbnRzIGZyb20gMC4uLjkuCgoyMDExLTA1LTE5IDIzOjMxOjE5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgZG9jczogdXBkYXRlIHBsdWdpbiBpbnRyb3NwZWN0aW9uIGRhdGEKCSAgTm93IG1vcmUgZmlsZXMgYXJlIG1lcmdlZCBhbmQgcHJvZHVjZWQgaW4gYSBjYW5vbmljYWwgZmFzaGlvbiwgd2hpY2ggaG9wZWZ1bGx5CgkgIGNyZWF0ZXMgbGVzcyBvciBubyBkZWx0YSBpbiB0aGUgZnV0dXJlLgoKMjAxMS0wNS0xOSAyMjo1NzoxNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA5ZTViYmQ1IHRvIDY5Yjk4MWYKCjIwMTEtMDUtMTkgMTg6MjE6MzMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhZGQgbWlzc2luZyBicmVhawoKMjAxMC0xMS0wOCAxNDowNjoxNSArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJICBkZWludGVybGFjZTogQWRkIHN1cHBvcnQgZm9yIGRlaW50ZXJsYWNpbmcgdXNpbmcgYnVmZmVyIGNhcHMvZmxhZ3MKCSAgV2hlbiBub3QgdXNpbmcgdGhlIGZpZWxkYW5hbHlzaXMgZWxlbWVudCBpbW1lZGlhdGVseSB1cHN0cmVhbSBvZiBkZWludGVybGFjZSwKCSAgYmVoYXZpb3VyIHNob3VsZCByZW1haW4gdW5jaGFuZ2VkLiBmaWVsZGFuYWx5c2lzIHdpbGwgc2V0IHRoZSBjYXBzIGFuZCBmbGFncyBvbgoJICB0aGUgYnVmZmVycyBzdWNoIHRoYXQgdGhleSBjYW4gYmUgaW50ZXJwcmV0ZWQgYW5kIGFjdGVkIHVwb24gdG8gcHJvZHVjZQoJICBwcm9ncmVzc2l2ZSBvdXRwdXQuCgkgIFRoZXJlIGFyZSB0d28gbWFpbiBtb2RlcyBvZiBvcGVyYXRpb246CgkgIC0gUGFzc2l2ZSBwYXR0ZXJuIGxvY2tpbmcKCSAgUGFzc2l2ZSBwYXR0ZXJuIGxvY2tpbmcgaXMgYSBub24tYmxvY2tpbmcsIGxvdy1sYXRlbmN5IG1vZGUgb2Ygb3BlcmF0aW9uIHRoYXQKCSAgaXMgc3VpdGFibGUgZm9yIGNsb3NlLXRvLWxpdmUgdXNhZ2UuIEluaXRpYWxseSBhIHRlbGVjaW5lIHN0cmVhbSB3aWxsIGJlCgkgIG91dHB1dCBhcyB2YXJpYWJsZSBmcmFtZXJhdGUgd2l0aCBuYcOvdmUgdGltZXN0YW1wIGFkanVzdG1lbnQuIFdpdGggZWFjaAoJICBpbmNvbWluZyBidWZmZXIsIGFuIGF0dGVtcHQgaXMgbWFkZSB0byBsb2NrIG9udG8gYSBwYXR0ZXJuLiBXaGVuIGEgbG9jayBpcwoJICBvYnRhaW5lZCwgdGhlIHNyYyBwYWQgYW5kIG91dHB1dCBidWZmZXIgY2FwcyB3aWxsIHJlZmxlY3QgdGhlIHBhdHRlcm4gYW5kCgkgIHRpbWVzdGFtcHMgd2lsbCBiZSBhY2N1cmF0ZWx5IGludGVycG9sYXRlZCBiZXR3ZWVuIHBhdHRlcm4gcmVwZWF0cy4gVGhpcwoJICBtZWFucyB0aGF0IGluaXRpYWxseSBhbmQgYXQgcGF0dGVybiB0cmFuc2l0aW9ucyB0aGVyZSB3aWxsIGJlIHNob3J0IHBlcmlvZHMKCSAgb2YgaW5hY2N1cmF0ZSB0aW1lc3RhbXBpbmcuCgkgIC0gQWN0aXZlIHBhdHRlcm4gbG9ja2luZwoJICBBY3RpdmUgcGF0dGVybiBsb2NraW5nIGlzIGEgYmxvY2tpbmcsIGhpZ2gtbGF0ZW5jeSBtb2RlIG9mIG9wZXJhdGlvbiB0aGF0IGlzCgkgIHRhcmdldGVkIGF0IHVzZS1jYXNlcyB3aGVyZSB0aW1lc3RhbXAgYWNjdXJhY3kgaXMgcGFyYW1vdW50LiBCdWZmZXJzIHdpbGwgYmUKCSAgcXVldWVkIHVudGlsIGVub3VnaCBhcmUgcHJlc2VudCB0byBtYWtlIGEgbG9jay4gV2hlbiBsb2NrZWQsIHRpbWVzdGFtcHMgd2lsbAoJICBiZSBhY2N1cmF0ZWx5IGludGVycG9sYXRlZCBiZXR3ZWVuIHBhdHRlcm4gcmVwZWF0cy4gT3JwaGFuIGZpZWxkcyBjYW4gYmUKCSAgZHJvcHBlZCBvciBkZWludGVybGFjZWQuIElmIG5vIGxvY2sgY2FuIGJlIG9idGFpbmVkLCBhIHNpbmdsZSBmaWVsZCBtaWdodCBiZQoJICBwdXNoZWQgdGhyb3VnaCB0byBiZSBkZWludGVybGFjZWQuCgkgIExvY2tpbmcgY2FuIGFsc28gYmUgZGlzYWJsZWQgb3IgJ2F1dG8nIGNob29zZXMgYmV0d2VlbiBwYXNzaXZlIGFuZCBhY3RpdmUKCSAgbG9ja2luZyBtb2RlcyBkZXBlbmRpbmcgb24gd2hldGhlciB1cHN0cmVhbSBpcyBsaXZlLgoKMjAxMS0wNS0xMCAxNjoyNTo0MCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogUmVtb3ZlIGNvbmZpZyBzY3JpcHQgY2hlY2sgZm9yIGNhY2EKCjIwMTEtMDUtMTggMTI6MzY6NDAgKzAyMDAgIEpvc2UgQW50b25pbyBTYW50b3MgQ2FkZW5hcyA8c2FudG9zY2FkZW5hc0BnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkgIHJ0cDogRml4IHNlZ21lbnRhdGlvbiBmYXVsdCBwcm9jZXNzaW5nIHBheWxvYWQgYnVmZmVycwoJICBUaGlzIGNvbW1pdCBjaGVja3MgaWYgdGhlIHZhbHVlIHJldHVybmVkIGJ5CgkgIGdzdF9ydHBfYnVmZmVyX2dldF9wYXlsb2FkX2J1ZmZlciBhbmQKCSAgZ3N0X3J0cF9idWZmZXJfZ2V0X3BheWxvYWRfc3ViYnVmZmVyIGlzIE5VTEwgYmVmb3JlIHVzaW5nIGl0LgoKMjAxMS0wNS0xOCAxNjoxMDowNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmZDM1MDczIHRvIDllNWJiZDUKCjIwMTEtMDUtMTggMTI6NTI6MzEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZW5zdXJlIDAtcGFkZGluZyB3aGVuIGNvcnJlY3RpbmcgZHViaW91cyBsaXN0IHNpemUKCjIwMTEtMDUtMTggMTI6MjQ6MjUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNDZkZmNlYSB0byBmZDM1MDczCgoyMDExLTA1LTE4IDEwOjIyOjI3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHVzZSBFSU5WQUwgZm9yIG1pc3NpbmcgdXJsIHBhcmFtZXRlcgoJICBGaXhlcyBnY2Mgd2FybmluZyBhYm91dCB1c2luZyB1bmluaXRpYWxpemVkIHZhcmlhYmxlICdyZXMnLgoKMjAxMS0wNC0yOCAxNTozNzo0MCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSAgdmFyaW91czogZml4IGF1dGhvciB0YWcgaW4gZWxlbWVudCBkZXRhaWxzCgoyMDExLTA0LTIwIDE1OjI1OjU4IC0wNDAwICBDaHJpcyBFIEpvbmVzIDxjaHJpc0BjaHJpc2Vqb25lcy5jb20+CgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkgIGF1cGFyc2U6IGltcGxlbWVudCBzZWVraW5nCgkgIEltcGxlbWVudCBzZWVraW5nIGFuZCBzZWVraW5nIHF1ZXJ5LiBGaXhlcyAjNjQ0NTEyCgoyMDExLTA1LTE3IDE2OjEzOjU5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wNC0wNiAxNjowNTo1NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFsc28gYWxsb3cgUEFVU0UgdG8gYmUgaW50ZXJydXB0ZWQKCSAgLi4uIGFzIGl0IGlzIG9uIHRoZSB3YXkgb3V0IHRvIE5VTEwuCgkgIFNlZSAjNjMyNTA0LgoKMjAxMS0wNC0wNiAxNTo1MTo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGVuc3VyZSBwcm9wZXIgY2xvc2luZyBhbmQgY2xlYW51cAoJICAuLi4gc2luY2UgdGhlIFRFQVJET1dOIHNlcXVlbmNlIG1pZ2h0IG5vdCBoYXZlIGhhZCBhIGNoYW5jZSB0byBldmVuIHN0YXJ0LAoJICBidXQgYXQgbGVhc3QgY29ubmVjdGlvbnMgc2hvdWxkIGJlIGNsb3NlZCAoc3luY2hyb25vdXNseSkgYW5kIHN0YXRlIGNsZWFuZWQgdXAuCgkgIFNlZSAjNjMyNTA0LgoKMjAxMS0wNC0wNiAxNTo0OTowMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogZml4IGFuZCBpbXByb3ZlIGFzeW5jIGhhbmRsaW5nCgkgIFNpbXBsaWZ5IHRoZSBjb21tYW5kIGhhbmRsaW5nOyBwYXNzaW5nIGEgY29tbWFuZCB0byB0aHJlYWQgbWVhbnMgd2UgcmVhbGx5CgkgIHdhbnQgaXQgdG8gZ2V0IHRoZSBtZXNzYWdlLCB3aGljaCBtZWFucyB0byBhbHdheXMgZmx1c2ggcHJvdmlkZWQgdGhlIGNvbW1hbmQKCSAgY2FuIGhhbmRsZSBiZWluZyBpbnRlcnJ1cHRlZC4gIENvbW1hbmQgdGhyZWFkIGluZGljYXRlcyB3aGV0aGVyIGNvbW1hbmQKCSAgYWxsb3dzIGludGVycnVwdGlvbiBhbmQgZW5zdXJlIG5vbi1mbHVzaGluZyBjb25uZWN0aW9uIGFzIGl0IHN1YnNlcXVlbnRseQoJICBuZWVkcyBpdC4KCSAgSW4gcGFydGljdWxhciwgdGhpcyBhbHNvIG1ha2VzIHRoZSBURUFSRE9XTiBzZXF1ZW5jZSBpbnRlcnJ1cHRhYmxlCgkgIGFuZCBhbHNvIHByZXZlbnRzIHJhY2VzIHdoZXJlIF9sb29wXyBjb3VsZCBtaXNzIGEgY29tbWFuZCBhbmQgd291bGQKCSAgY29udGludWUgcmVjZWl2aW5nIChvciBhdCBsZWFzdCB0cnlpbmcgdG8pLgoJICBTZWUgIzYzMjUwNC4KCjIwMTEtMDQtMDYgMTQ6NTM6MjcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiB0d2VhayBwb3N0LXNlZWsgbG9vcCBoYW5kbGluZwoKMjAxMS0wMS0xMCAxMjo0NjozNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBvcGVuIG9uIHBsYXkgYW5kIHBhdXNlIHdoZW4gbm90IGRvbmUgeWV0CgkgIFdpdGggdGhlIGFzeW5jIHN0YXRlIGNoYW5nZXMsIGl0IGlzIHBvc3NpYmxlIHRoYXQgd2UgbmVlZCB0byBvcGVuIHRoZSBzdHJlYW0KCSAgYmVmb3JlIHBsYXkgYW5kIHBhdXNlLgoJICBBbHNvIG1ha2Ugc3VyZSB3ZSByZW1lbWJlciBhIHByZXZpb3VzIG9wZW4gZmFpbHVyZSBzbyB0aGF0IHdlIGRvbid0IGtlZXAgdHJ5aW5nCgkgIGFnYWluLgoKMjAxMS0wMS0xMCAxMTo0NTowMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogaW1wcm92ZSBhc3luYyBoYW5kbGluZwoJICBTaW1wbGlmeSB0aGUgY29tbWFuZCBoYW5kbGluZywgb25seSBjb250aW51ZSBsb29waW5nIHdoZW4gd2UgaGF2ZSBub3QgcmVjZWl2ZWQKCSAgYW5vdGhlciBjb21tYW5kIG9yIHdoZW4gdGhlIHByZXZpb3VzIGxvb3Agd2FzIHN1Y2Nlc3NmdWxsLgoJICBBdm9pZCBsb29waW5nIG9uIGEgZGlzY29ubmVjdGVkIHNvY2tldC4KCjIwMTEtMDEtMDcgMTg6MDI6NDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHJld29yayByZWNvbm5lY3QgY29kZQoJICBVc2UgdGhlIHNhbWUgYXN5bmMgY29kZSBwYXRoIHRvIGltcGxlbWVudCByZWNvbm5lY3RzLgoJICBNYWtlIHN1cmUgd2Ugb25seSBwb3N0IHByb2dyZXNzIG1lc3NhZ2VzIHdoZW4gZG9pbmcgYXN5bmMgdGhpbmdzLgoKMjAxMS0wMS0wNyAxNzoxOTo1OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogc21hbGwgY2xlYW51cHMKCSAgTWFrZSBzdXJlIHdlIGNhbmNlbCB0aGUgcHJldmlvdXMgdGFzayB3aGVuIHF1ZXVpbmcgYSBuZXcgb25lLgoJICBNb3ZlIHRoZSBtZXNzYWdlcyB0byBhIGNlbnRyYWwgcGxhY2Ugc28gd2UgY2FuIG1vcmUgZWFzaWx5IHBvc3QgdGhlbS4KCjIwMTEtMDEtMDcgMTU6MTU6NDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGRvbid0IHBvc3QgZXJyb3JzIHdoZW4gaW50ZXJydXB0aW5nCgoyMDExLTAxLTA3IDEzOjQzOjA2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGltcGxlbWVudCBtb3JlIGFzeW5jIGhhbmRsaW5nCgkgIFJlbW92ZSBzb21lIG9sZCBsb2Nrcy4KCSAgTWFrZSBzdXJlIHdlIG5ldmVyIGdvIGludG8gdGhlIGxvb3AgZnVuY3Rpb24gd2hlbiBmbHVzaGluZy4KCjIwMTEtMDEtMDcgMTE6NDA6MzIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpcnN0IGF0dGVtcHQgYXQgYXN5bmMgaW1wbGVtZW50YXRpb24KCjIwMTEtMDEtMDcgMTE6NDA6MTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IHNtYWxsIGhlYWRlciBjbGVhbnVwcwoKMjAxMS0wNS0xNyAxMDo0NzozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgc3NyY2RlbXV4OiBGaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nIGZvciAocHJlLSkgcmVsZWFzZXMgdG9vCgoyMDExLTA0LTI4IDE1OjU3OjA0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdHM6IE9ubHkgYWxsb3cgbXBlZy10cyBvbiBzb3VyY2Ugb2JqZWN0cwoJICBVZ2x5IGZpeCBmb3IgIzY0ODMxMgoKMjAxMS0wNS0xNyAwOToyNDowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBGaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nCgoyMDExLTA1LTA2IDE5OjA5OjE3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgc3NyY2RlbXV4OiBJbXBsZW1lbnQgaXRlcmF0ZSBpbnRlcm5hbCBsaW5rcyBmb3Igc2luayBwYWRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDk2MTcKCjIwMTEtMDUtMDYgMTg6NDE6MDEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IGl0ZXJhdGUgcGFkIGZ1bmN0aW9uIGlzIG9ubHkgdmFsaWQgZm9yIHNyYyBwYWRzCgkgIFRoZSBpdGVyYXRlIGZ1bmN0aW9uIGlzIG9ubHkgdXNlZCBmb3Igc3JjIHBhZHMsIHNvIG1hcmsgaXQgYXMgc3VjaCBhbmQgcmVtb3ZlCgkgIGRlYWQgY29kZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0OTYxNwoKMjAxMS0wNS0wNiAxODoxMjo1MyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cHNzcmNkZW11eDogUmVsZWFzZSBsb2NrIGJlZm9yZSBlbWl0dGluZyBzaWduYWwKCSAgSWYgdGhlIGxvY2sgaXMgbm90IHJlbGVhc2VkIGJlZm9yZSBlbWl0dGluZyBhIHNpZ25hbCwgaXQgbWF5IGNhdXNlIGEgZGVhZGxvY2sKCSAgaWYgYW55IG90aGVyIGZ1bmN0aW9uIGluIHRoZSBlbGVtZW50IGlzIGNhbGxlZC4KCSAgQWxzbyByZW1vdmVkIGFuIHVudXNlZCB0aW1lc3RhbXAgcGFyYW1ldGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDk2MTcKCjIwMTEtMDUtMTUgMjM6MjU6MTUgKzAzMDAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJICBtYXRyb3NrYXBhcnNlOiBjYWxjdWxhdGUgc2VnbWVudCBkdXJhdGlvbiBhZnRlciBwYXJzaW5nIGFsbCB0aGUgSURzCgkgIFNpbmNlIHRoZSBzZWdtZW50IGR1cmF0aW9uIGlzIGdpdmVuIGluIHRlcm1zIG9mIHRoZQoJICBHU1RfTUFUUk9TS0FfSURfVElNRUNPREVTQ0FMRSB3ZSBzaG91bGQgb25seSBjb252ZXJ0IGl0IGludG8KCSAgbmFub3NlY29uZHMgd2hlbiB3ZSBhcmUgc3VyZSB0aGF0IGFueSBzY2FsZSBzcGVjaWZpZWQgaW4gdGhlIGZpbGUgaGFzCgkgIGJlZW4gcmVhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDI1OAoKMjAxMS0wNS0xNiAxNzo1MjoxMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBjb25maWd1cmUuYWMKCjIwMTEtMDUtMTYgMTc6NTA6MTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSAgLWdvb2Q6IGZpeCBmb3IgbmV3IEFQSQoKMjAxMS0wNS0wNCAxMTo1NToyMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogYWRkaXRpb25hbCBsb2NrIHNhZmV0eQoJICBGaXhlcyAjNjE5NTkwLgoKMjAxMS0wNC0yNiAxNjowNjo1NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWxzbyBjaGVjayBmb3IgYml0cmF0ZSBpbmZvIGluIGNhcHMKCjIwMTAtMDUtMjUgMDE6MDQ6NDMgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBndWVzcyBiaXRyYXRlIGlmIG9ubHkgb25lIHN0cmVhbSdzIGJpdHJhdGUgaXMgdW5rbm93bgoJICBJZiB0aGUgYml0cmF0ZXMgZm9yIGFsbCBidXQgb25lIGF1ZGlvL3ZpZGVvIHN0cmVhbXMgYXJlIGtub3duLCBhbmQgdGhlCgkgIHRvdGFsIHN0cmVhbSBzaXplIGFuZCBkdXJhdGlvbiBjYW4gYmUgZGV0ZXJtaW5lZCwgdGhpcyBjYWxjdWxhdGVzIHRoZQoJICB1bmtvd24gYml0cmF0ZSBhcyAoc3RyZWFtIHNpemUgLyBkdXJhdGlvbikgLSAoc3VtIG9mIGtub3duIGJpdHJhdGVzKS4KCSAgV2hpbGUgdGhpcyBpcyBub3QgZ3VhcmFudGVlZCB0byBiZSB2ZXJ5IGFjY3VyYXRlLCBpdCBzaG91bGQgYmUgZ29vZAoJICBlbm91Z2ggZm9yIG1vc3QgcHVycG9zZXMuCgkgIEZvciBleGFtcGxlLCB0aGlzIGlzIHVzZWZ1bCBmb3IgSC4yNjMgKyBBQUMgc3RyZWFtcyB3aGVyZSBubyAnYnRydCcgYXRvbQoJICBpcyBhdmFpbGFibGUgZm9yIHRoZSB2aWRlbyBwb3J0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE5NTQ4CgoyMDEwLTA1LTMxIDIzOjU5OjU5ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBFeHBvcnQgbWF4IGJpdHJhdGUgZm9yIEFNUi1OQi8tV0Igc3RyZWFtcwoJICBUaGlzIHBhcnNlcyB0aGUgJ2RhbXInIGF0b20gaWYgcHJlc2VudCwgYW5kIGV4cG9ydHMgdGhlIG1heGltdW0gYml0cmF0ZQoJICBvZiB0aGUgc3RyZWFtIHVzaW5nIHRoZSBtb2RlIHNldCBmaWVsZCB0byBkZXRlcm1pbmUgdGhlIGhpZ2hlc3QgYml0cmF0ZQoJICBmcmFtZSB0eXBlIHRoYXQgbWlnaHQgYmUgcHJlc2VudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMDE4NgoKMjAxMS0wNS0xNiAwOTowNDozMSArMDIwMCAgUGlubyBUb3NjYW5vIDx0b3NjYW5vLnBpbm9AdGlzY2FsaS5pdD4KCgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSAgcHVsc2U6IERlZmluZSBQQVRIX01BWCBpZiBpdCBpc24ndCBkZWZpbmVkCgkgIEdOVSBIdXJkIGZvciBleGFtcGxlIGRvZXNuJ3QgZGVmaW5lIGl0LgoKMjAxMS0wNS0xNSAyMzoyNToxNSArMDMwMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGNhbGN1bGF0ZSBzZWdtZW50IGR1cmF0aW9uIGFmdGVyIHBhcnNpbmcgYWxsIHRoZSBJRHMKCSAgU2luY2UgdGhlIHNlZ21lbnQgZHVyYXRpb24gaXMgZ2l2ZW4gaW4gdGVybXMgb2YgdGhlCgkgIEdTVF9NQVRST1NLQV9JRF9USU1FQ09ERVNDQUxFIHdlIHNob3VsZCBvbmx5IGNvbnZlcnQgaXQgaW50bwoJICBuYW5vc2Vjb25kcyB3aGVuIHdlIGFyZSBzdXJlIHRoYXQgYW55IHNjYWxlIHNwZWNpZmllZCBpbiB0aGUgZmlsZSBoYXMKCSAgYmVlbiByZWFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwMjU4CgoyMDExLTA1LTA5IDE5OjAwOjQ1ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IEFkZCBzdXBwb3J0IGZvciBtcGVndmVyc2lvbiAyLCB3aGljaCBpcyBhbHNvIEFBQwoKMjAxMS0wNS0xMSAxMDoyNToxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSAgZmxhY2RlYzogU2VuZCBFT1Mgd2hlbiBzZWVraW5nIGFmdGVyIHRoZSBlbmQgb2YgZmlsZSBpbnN0ZWFkIG9mIGZhaWxpbmcKCSAgRml4ZXMgYnVnICM2NDk3ODAuCgoyMDExLTA0LTI5IDA4OjU5OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkgIHdhdmVuYzogU2V0IGZpeGVkY2FwcyBnZXRjYXBzIGZ1bmN0aW9uIG9uIHRoZSBzaW5rcGFkCgkgIHdhdmVuYyBkb2VzIG5vdCBhbGxvdyB0byBjaGFuZ2UgdGhlIGNhcHMgZHVyaW5nIHBsYXliYWNrCgkgIGFuZCBhbHdheXMgcmV0dXJuaW5nIHRoZSB0ZW1wbGF0ZSBjYXBzIGlzIGp1c3Qgd3JvbmcuCgoyMDExLTA0LTI5IDA4OjU1OjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkgIHdhdmVuYzogQWxsb3cgc2V0Y2FwcyB0byBiZSBjYWxsZWQgYWZ0ZXIgYSBmb3JtYXQgd2FzIG5lZ290aWF0ZWQgaWYgaXQncyBjb21wYXRpYmxlCgkgIE90aGVyd2lzZSB3YXZlbmMgd2lsbCBmYWlsIGlmIHVwc3RyZWFtIGRlY2lkZXMgdG8gc2V0IGVxdWl2YWxlbnQgY2FwcyBvciBjYXBzCgkgIHdpdGggYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBsYXRlci4KCSAgVGhhbmtzIHRvIEFsZXhhbmRlciBTY2hyZW1tZXIgZm9yIGZpbmRpbmcgdGhpcyBidWcuCgoyMDExLTA1LTE0IDEwOjAyOjIyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTAuMjkgPT09CgoyMDExLTA1LTEwIDEwOjA0OjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjI5CgkgIEhpZ2hsaWdodHM6CgkgIC0gYW1ycGFyc2UsIGFhY3BhcnNlLCBhYzNwYXJzZSwgZmxhY3BhcnNlLCBtcGVnYXVkaW9wYXJzZSwgZGNhcGFyc2UgYXVkaW8gcGFyc2VycyAobW92ZWQgZnJvbSAtYmFkKQoJICAtIG11eGVycyBub3cgbXV4IGJhc2VkIG9uIHJ1bm5pbmcgdGltZQoJICAtIElTTyBNUDQgbXV4ZXJzOiBtcDRtdXgvM2dwcG11eC9xdG11eC9tajJtdXggKG1vdmVkIGZyb20gLWJhZCkKCSAgLSBuZXcgbWF0cm9za2FwYXJzZSBlbGVtZW50CgkgIC0gbmV3IHY0bDJyYWRpbyBlbGVtZW50CgkgIC0gcnRwc2Vzc2lvbjogc3VwcG9ydCBSVENQIEVhcmx5IEZlZWRiYWNrICh0aGUgQVZQRiBwcm9maWxlKQoJICAtIG9yYyAwLjQuMTQgb3IgbmV3ZXIgcmVjb21tZW5kZWQKCSAgLSBtYW55IG90aGVyIGZpeGVzIGFuZCBpbXByb3ZlbWVudHMKCjIwMTEtMDUtMDUgMTM6MjQ6MjMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogRml4IHNpZ25lZCBmbG9hdGluZyBwb2ludCB2YWx1ZXMgd3JpdGluZwoJICBZb3Ugd291bGQgZW5kIHVwIG9uIHNvbWUgYXJjaGl0ZWN0dXJlcyB3aXRoIDAgYmVpbmcgd3JpdHRlbiBvdXQKCSAgaW5zdGVhZCBvZiB0aGUgcHJvcGVyIHZhbHVlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ5NDQ5CgoyMDExLTA1LTA0IDEyOjA0OjE1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGF2b2lkIGJ1aWxkaW5nIGluZGV4IHdoZW4gc3RyZWFtYWJsZQoJICAuLi4gYXMgaXQgd2lsbCBub3QgYmUgd3JpdHRlbiBhbnl3YXkuCgkgIEZpeGVzICM2NDg5MzcgKD8pLgoKMjAxMS0wNS0wMiAxMjowOTowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSAgYnVpbGQ6IGFkZCBvbGQgcXRkZW11eC9xdWlja3RpbWUgZGlyZWN0b3JpZXMgdG8gQ1JVRlRfRElSUyBhbmQgQ1JVRlRfRklMRVMKCjIwMTEtMDUtMDEgMDA6MDQ6MDMgLTA0MDAgIFRvbSBKYW5pc3pld3NraSA8dG9tLmphbmlzemV3c2tpQGFsY2F0ZWwtbHVjZW50LmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogZG9uJ3Qgb3ZlcndyaXRlIG1ldGFkYXRhIHRhZyB3aXRoIGR1cmF0aW9uIGluIHN0cmVhbWluZyBtb2RlCgkgIEEgZHVyYXRpb24gdGFnIGdldHMgaW5zZXJ0ZWQgb25seSBmb3Igc3RyZWFtYWJsZT1mYWxzZSwgc28gb25seQoJICB1cGRhdGUvd3JpdGUgdGhlIGR1cmF0aW9uIGxhdGVyIGlmIHdlIGFjdHVhbGx5IGluc2VydGVkIHRoYXQgdGFnLAoJICBvdGhlcndpc2Ugd2Ugd3JpdGUgZ2FyYmFnZSBpbnRvIG90aGVyIHRhZ3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDkwNjAKCjIwMTEtMDQtMzAgMTg6MTY6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogcG8vZnIucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4yOC40IHByZS1yZWxlYXNlCgoyMDExLTA0LTMwIDE3OjQ2OjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIEFuZHJvaWQubWs6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSogZ3N0L2lzb21wNC9MRUdBTDoKCSogZ3N0L2lzb21wNC9NYWtlZmlsZS5hbToKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmg6CgkqIGdzdC9pc29tcDQvYXRvbXNyZWNvdmVyeS5jOgoJKiBnc3QvaXNvbXA0L2F0b21zcmVjb3ZlcnkuaDoKCSogZ3N0L2lzb21wNC9kZXNjcmlwdG9ycy5jOgoJKiBnc3QvaXNvbXA0L2Rlc2NyaXB0b3JzLmg6CgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvZnR5cGNjLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtb292cmVjb3Zlci5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bW9vdnJlY292ZXIuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC1kb2MuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC1kb2MuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4Lmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5oOgoJKiBnc3QvaXNvbXA0L2dzdHJ0cHhxdGRlcGF5LmM6CgkqIGdzdC9pc29tcDQvZ3N0cnRweHF0ZGVwYXkuaDoKCSogZ3N0L2lzb21wNC9pc29tcDQtcGx1Z2luLmM6CgkqIGdzdC9pc29tcDQvcHJvcGVydGllcy5jOgoJKiBnc3QvaXNvbXA0L3Byb3BlcnRpZXMuaDoKCSogZ3N0L2lzb21wNC9xdGF0b21wYXJzZXIuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXgudmNwcm9qOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZHVtcC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZHVtcC5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9sYW5nLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9sYW5nLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eF90eXBlcy5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfdHlwZXMuaDoKCSogZ3N0L2lzb21wNC9xdHBhbGV0dGUuaDoKCSogcG8vUE9URklMRVMuaW46CgkgIHF1aWNrdGltZTogcmVuYW1lIHBsdWdpbiB0byBpc29tcDQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0ODAwNAoKMjAxMS0wNC0yOSAxNzo1NToyOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogZml4IHNvbWUgcGFyc2VycwoKMjAxMS0wNC0yOSAxNzo1NDo0MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZml4IGVycm9yIGNhdXNlZCBieSBtZXJnaW5nCgoyMDExLTA0LTI5IDE1OjQ5OjQxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGNvbmZpZ3VyZS5hYwoJICBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jCgoyMDExLTA0LTI5IDE1OjQ2OjIxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSAgYXVkaW9meDogZml4IHBhZF9hbGxvYwoKMjAxMS0wNC0yNyAxMjo0NTo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogcG8vYmcucG86CgkqIHBvL2phLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vcnUucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4yOC4zIHByZS1yZWxlYXNlCgoyMDExLTA0LTI2IDE1OjU4OjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSAgcnRwZ3N0cGF5OiBmaXggYnVmZmVyIGxlYWsKCjIwMTEtMDQtMjYgMTU6NTg6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBydHBnc3RwYXk6IGZpeCBidWZmZXIgbGVhawoKMjAxMS0wNC0yNiAxNTo0Mjo0NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IHBvcnQgamFjayBlbGVtZW50cwoKMjAxMS0wNC0yNSAxMDowNDo1MiArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZG9jdW1lbnRhdGlvbiB0eXBvICJqcGVnZGRlYyIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0ODU4OQoKMjAxMS0wNC0yNSAxODoxNDo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkgIHJ0cDogcG9ydCBzb21lIG1vcmUgZWxlbWVudHMKCjIwMTEtMDQtMjUgMTc6Mjc6NDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkgIHJ0cDogcG9ydCBtb3JlIHRvIDAuMTEKCjIwMTEtMDQtMjUgMTM6MTY6NTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSAgcnRwOiBwb3J0IHNvbWUgbW9yZSAoZGUpcGF5bG9hZGVycwoKMjAxMS0wNC0yNSAxMjo0OTozNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9maXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VpaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9paXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9rYXJhb2tlLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgcG9ydCBzb21lIG1vcmUgZWxlbWVudHMgdG8gMC4xMQoKMjAxMS0wNC0yNSAxMTozODoyOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDQtMjQgMTY6NDU6MDcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBhdmltdXgsbWF0cm9za2FtdXg6IEFkZCBzdHJlYW0tZm9ybWF0IHRvIGgyNjQgY2FwcwoJICBGaXhlcyAjNjA2NjYyLgoKMjAxMS0wMi0yMCAxMjoxMzo0OSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICBwbmdkZWM6IFJlbW92ZSB0ZW1wb3JhcnkgY29kZQoJICBOb3cgdGhhdCB3ZSBkZXBlbmQgb24gKHdoYXQgd2lsbCBiZSkgLWJhc2UtMC4xMC4zMy4KCjIwMTEtMDQtMjQgMTQ6MDM6NTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGRvbid0IHBhc3MgLVdhZGRyZXNzIHRvIE9iakMgY29tcGlsZXIgb24gT1NYIHdoZW4gY29tcGlsaW5nIG9zeHZpZGVvc2luawoJICBUZW1wb3Jhcnkgd29ya2Fyb3VuZCB1bnRpbCB3ZSBmaXggdGhpcyBwcm9wZXJseSBhbmQgY2hlY2sgZm9yCgkgIHRoZSBPYmpDIHdhcm5pbmcvZXJyb3IgZmxhZ3MgaW5zdGVhZCBvZiBqdXN0IHBhc3NpbmcgQ0ZMQUdTIHRvIHRoZQoJICBPYmpDIGNvbXBpbGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQzOTM5CgoyMDExLTA0LTI0IDEzOjI5OjMyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkqIGdzdC9xdWlja3RpbWUvTWFrZWZpbGUuYW06CgkgIHF1aWNrdGltZTogcmVuYW1lIHBsdWdpbiBmaWxlbmFtZSBmcm9tICpxdGRlbXV4KiB0byAqcXVpY2t0aW1lKgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ4MDA0CgoyMDExLTA0LTI0IDE0OjAzOjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYzNjYWZlMSB0byA0NmRmY2VhCgoyMDExLTA0LTIxIDIzOjMwOjI2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvcXVpY2t0aW1lL01ha2VmaWxlLmFtOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bW9vdnJlY292ZXIuYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC1kb2MuYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC1kb2MuaDoKCSAgZG9jczogYWRkIHZhcmlvdXMgcXRtdXggdmFyaWFudHMgdG8gZG9jdW1lbnRhdGlvbgoKMjAxMS0wNC0yMSAyMjo1MTo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5oOgoJICBxdWlja3RpbWU6IHJlZ2lzdGVyIDNncHBtdXggZWxlbWVudCBpbiBhZGRpdGlvbiB0byB0aGUgbWlzbmFtZWQgZ3BwbXV4CgoyMDExLTA0LTE4IDE4OjA4OjMwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBSZW1vdmUgaW5jb21wbGV0ZSBzdXBwb3J0IGZvciBSVENQIEZJUgoJICBSZW1vdmUgYml0cyB0aGF0IHdlcmUgbWVhbnQgdG8gc3VwcHBvcnQgUlRDUCBGSVIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0ODE2MAoKMjAxMS0wNC0xOSAxODo1NTozMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkgIGZsYWM6IHBvcnQgdG8gMC4xMQoKMjAxMS0wNC0xOSAxNzozNTo0NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdXNlIEdfREVGSU5FX1RZUEUgc29tZSBtb3JlCgoyMDExLTA0LTE5IDE3OjIwOjE5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkgIGF2aTogdXNlIEdfREVGSU5FX1RZUEUKCjIwMTEtMDQtMTkgMTc6MDc6MTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlci5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJICB1c2UgR19ERUZJTkVfVFlQRQoKMjAxMS0wNC0xOSAxNjoyNToyOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDQtMTkgMTQ6MzM6MjUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2dlbmVyaWMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZ2VuZXJpYy9pbmRleC5jOgoJICB0ZXN0czogYWRkIGdlbmVyaWMgc2V0X2luZGV4IHRlc3QKCjIwMTEtMDQtMTkgMTQ6MzM6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogZml4IGRlYWRsb2NrIG9uIHNldHRpbmcgaW5kZXggb24gZmx2ZGVtdXgKCjIwMTEtMDQtMTkgMTQ6MTY6MTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmxhY3BhcnNlLmM6CgkgIHRlc3RzOiBhZGQgaW5kZXgtc2V0dGluZyB0ZXN0IGZvciBiYXNlcGFyc2UvZmxhY3BhcnNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDY4MTEKCjIwMTEtMDQtMTggMTE6Mjk6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdnBhY2suYzoKCSAgd2F2cGFjazogUmVtb3ZlIGJ1cyBHU291cmNlIHRvIHByZXZlbnQgYSB2YWxncmluZCB3YXJuaW5nCgoyMDExLTA0LTE4IDExOjE0OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy93YXZlbmMuYzoKCSAgd2F2ZW5jOiBSZW1vdmUgYnVzIEdTb3VyY2UgdG8gcHJldmVudCBhIHZhbGdyaW5kIHdhcm5pbmcKCjIwMTEtMDQtMTggMTE6MTE6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJICB0YWdzY2hlY2tpbmc6IFJlbW92ZSBidXMgR1NvdXJjZSB0byBwcmV2ZW50IGEgdmFsZ3JpbmQgd2FybmluZwoKMjAxMS0wNC0xOCAxMToxMDowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogUmVtb3ZlIGJ1cyBHU291cmNlIHRvIHByZXZlbnQgYSB2YWxncmluZCB3YXJuaW5nCgoyMDExLTA0LTE4IDEwOjU0OjQzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSAgcG9ydCBtb3JlIHBsdWdpbnMgdG8gMC4xMQoKMjAxMS0wNC0xOCAxMDoyMzo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBhbmRyb2lkL2FwZXRhZy5tawoJICBhbmRyb2lkL2F2aS5tawoJICBhbmRyb2lkL2Zsdi5tawoJICBhbmRyb2lkL2ljeWRlbXV4Lm1rCgkgIGFuZHJvaWQvaWQzZGVtdXgubWsKCSAgYW5kcm9pZC9xdGRlbXV4Lm1rCgkgIGFuZHJvaWQvcnRwLm1rCgkgIGFuZHJvaWQvcnRwbWFuYWdlci5tawoJICBhbmRyb2lkL3J0c3AubWsKCSAgYW5kcm9pZC9zb3VwLm1rCgkgIGFuZHJvaWQvdWRwLm1rCgkgIGFuZHJvaWQvd2F2ZW5jLm1rCgkgIGFuZHJvaWQvd2F2cGFyc2UubWsKCSAgY29uZmlndXJlLmFjCgoyMDExLTA0LTE3IDAxOjI5OjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGZpeCAndmFyaWFibGUgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCcgd2FybmluZ3MgY2F1c2VkIGJ5IC1ER19ESVNBQkxFX0FTU0VSVAoKMjAxMS0wNC0xNiAxODo1MDoxMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSogd2luMzIvY29tbW9uL2dzdHJ0cGJpbi1tYXJzaGFsLmM6CgkqIHdpbjMyL2NvbW1vbi9nc3RydHBiaW4tbWFyc2hhbC5oOgoJICAwLjEwLjI4LjIgcHJlLXJlbGVhc2UKCjIwMTEtMDQtMTYgMTg6NDk6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0LmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5oOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5oOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuaDoKCSAgZ3N0OiB1cGRhdGUgZGlzdGVkIG9yYyBiYWNrdXAgY29kZQoKMjAxMS0wNC0xNiAxODoyOTo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgIGRvY3M6IHVwZGF0ZSBmb3IgcHJlLXJlbGVhc2UKCjIwMTEtMDQtMTYgMTg6Mjc6NTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYmcucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZXMucG86CgkqIHBvL2lkLnBvOgoJKiBwby9zbC5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTEtMDQtMTYgMTg6MTc6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogcmVmdXNlIGluY29tcGxldGUgbGVnYWN5IGgyNjQgY2FwcwoJICBSZWZ1c2UgaDI2NCBjYXBzIHdpdGhvdXQgc3RyZWFtLWZvcm1hdCBhbmQgY29kZWNfZGF0YSBmaWVsZHMgZm9yCgkgIG5vdywgdG8gYXZvaWQgY3JlYXRpbmcgYnJva2VuIGZpbGVzLiBUaGlzIG1pZ2h0IGNhdXNlIHNvbWUgcGlwZWxpbmVzCgkgIHRoYXQgd29ya2VkIHByZXZpb3VzbHkgdG8gZmFpbC4gSG93ZXZlciwgdGhlIG1vdmUgZnJvbSAtYmFkIHRvIC1nb29kCgkgIGlzIG91ciBvbmx5IGNoYW5jZSB0byBmaXggdGhpcyB1cCwgc28gbWFrZSBpdCBzdHJpY3QgZm9yIG5vdy4gV2UgY2FuCgkgIGFsd2F5cyBjaGFuZ2UgaXQgYmFjayB0byBiZSBsZXNzIHN0cmljdCBpbiBmdXR1cmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDc5MTkKCjIwMTEtMDQtMTYgMTg6MTY6MTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMnNpbms6IGZpeCBhbm90aGVyIHVudXNlZC1idXQtc2V0LXZhcmlhYmxlIHdhcm5pbmcKCjIwMTEtMDQtMTYgMTg6MTA6MjQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkgIHB1bHNlLCBzcGVleGVuYywgcnRwZ3NtcGF5OiBkb24ndCB1c2UgZ19hc3NlcnQoKSBmb3IgZXJyb3IgaGFuZGxpbmcKCSAgRG9uJ3QgdXNlIGdfYXNzZXJ0KCkgZm9yIGVycm9yIGhhbmRsaW5nLCBldmVuIGlmIHRoZXkncmUgaGlnaGx5IHVubGlrZWx5LgoJICBFaXRoZXIgd2UgKmtub3cqIHRoYXQgc29tZXRoaW5nIGNhbid0IGhhcHBlbiwgaW4gd2hpY2ggY2FzZSB3ZQoJICBzaG91bGQganVzdCBub3QgaGFuZGxlIGl0LCBvciB3ZSB0aGluayBzb21ldGhpbmcgY2FuIGhhcHBlbiwgYnV0IGl0IGlzCgkgIHZlcnkgdmVyeSB1bmxpa2VseSB0aGF0IGl0IHdpbGwgZXZlciBoYXBwZW4sIGluIHdoaWNoIGNhc2Ugd2Ugc2hvdWxkCgkgIGhhbmRsZSBpdCBsaWtlIGFueSBvdGhlciBlcnJvciBpbnN0ZWFkIG9mIGFzc2VydGluZy4KCSAgZ19hc3NlcnQoKSBpcyBiZXN0IGxlZnQgZm9yIGNvbmRpdGlvbnMgd2UgaGF2ZSBjb250cm9sIG9mLCBsaWtlIGNoZWNraW5nCgkgIGludGVybmFsIGNvbnNpc3RlbmN5IG9mIG91ciBjb2RlLCBub3QgY2hlY2tpbmcgcmV0dXJuIHZhbHVlcyBvZiBleHRlcm5hbAoJICBjb2RlLgoJICBGaXhlcyBhIGJ1bmNoIG9mIHdhcm5pbmdzIHdoZW4gY29tcGlsaW5nIHdpdGggLURHX0RJU0FCTEVfQVNTRVJUOgoJICBnc3RydHBnc21wYXkuYzogSW4gZnVuY3Rpb24gJ2dzdF9ydHBfZ3NtX3BheV9oYW5kbGVfYnVmZmVyJzoKCSAgZ3N0cnRwZ3NtcGF5LmM6MTMwOjE3OiB3YXJuaW5nOiB2YXJpYWJsZSAncnRwZ3NtcGF5JyBzZXQgYnV0IG5vdCB1c2VkCgkgIGdzdHNwZWV4ZW5jLmM6IEluIGZ1bmN0aW9uICdnc3Rfc3BlZXhfZW5jX2VuY29kZSc6CgkgIGdzdHNwZWV4ZW5jLmM6OTA0OjE5OiB3YXJuaW5nOiB2YXJpYWJsZSAnd3JpdHRlbicgc2V0IGJ1dCBub3QgdXNlZAoJICBwdWxzZXNpbmsuYzogSW4gZnVuY3Rpb24gJ2dzdF9wdWxzZXNpbmtfY2hhbmdlX3N0YXRlJzoKCSAgcHVsc2VzaW5rLmM6MjcyNTo5OiB3YXJuaW5nOiB2YXJpYWJsZSAncmVzJyBzZXQgYnV0IG5vdCB1c2VkCgkgIHB1bHNlc3JjLmM6IEluIGZ1bmN0aW9uICdnc3RfcHVsc2VzcmNfY2hhbmdlX3N0YXRlJzoKCSAgcHVsc2VzcmMuYzoxMjUzOjc6IHdhcm5pbmc6IHZhcmlhYmxlICdlJyBzZXQgYnV0IG5vdCB1c2VkCgoyMDExLTA0LTE2IDE4OjA3OjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItYWxzYXNyYy1QQ01BLmM6CgkgIGV4YW1wbGVzOiBmaXggc29tZSB3YXJuaW5ncyBpbiBydHAgZXhhbXBsZQoJICBDYXVzZWQgYnkgLURHX0RJU0FCTEVfQVNTRVJUCgoyMDExLTA0LTE2IDE3OjU3OjMyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2xldmVsL2xldmVsLWV4YW1wbGUuYzoKCSAgZXhhbXBsZXM6IGRvbid0IHB1dCBjb2RlIHdpdGggc2lkZS1lZmZlY3RzIGludG8gZ19hc3NlcnQoKQoJICBPdGhlcndpc2UgdGhpbmdzIHdvbid0IHdvcmsgdG9vIHdlbGwgd2hlbiBjb21waWxpbmcgd2l0aAoJICAtREdfRElTQUJMRV9BU1NFUlQgKGFzIHdlIGRvIGZvciBwcmUtcmVsZWFzZXMgYW5kIHJlbGVhc2VzKS4KCjIwMTEtMDQtMTYgMTY6NTE6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgZGVpbnRlcmxhY2UsIG1hdHJvc2thOiBmaXggdHdvIHZhcmlhYmxlLW1heS1iZS11c2VkLXVuaW5pdGlhbGl6ZWQgY29tcGlsZXIgd2FybmluZ3MKCSAgV2UgdXNlIC1ER19ESVNBQkxFX0FTU0VSVCBmb3IgdGhlIHByZS1yZWxlYXNlcywgd2hpY2ggbWFrZXMgdGhlc2UKCSAgd2FybmluZ3MgcG9wIHVwIGluIGNhc2VzIHRoYXQgd2VyZSBwcmV2aW91c2x5IGNvdmVyZWQgYnkgZ19hc3NlcnRfbm90X3JlYWNoZWQoKQoJICBhbmQgdGhlIGxpa2U6CgkgIHR2dGltZS9ncmVlZHloLmM6ODAxOjE0OiB3YXJuaW5nOiAnc2NhbmxpbmUnIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbgoJICBtYXRyb3NrYS1tdXguYzo1MDE6MTk6IHdhcm5pbmc6ICdjb250ZXh0JyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24KCjIwMTEtMDQtMTYgMTQ6NDU6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJICBhcGVkZW11eDogUG9ydCB0byAwLjExCgoyMDExLTA0LTE2IDEzOjMzOjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IGZpeCB1bnVzZWQtYnV0LXNldC12YXJpYWJsZSB3YXJuaW5ncyB3aXRoIGdjYy00LjYKCjIwMTEtMDQtMTYgMTM6MjM6NTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2Fpcm8vY2Fpcm9fb3ZlcmxheS5jOgoJICBleGFtcGxlczogZml4ICdjb250cm9sIHJlYWNoZXMgZW5kIG9mIG5vbi12b2lkIGZ1bmN0aW9uJyB3YXJuaW5nIGluIGNhaXJvIGV4YW1wbGUKCjIwMTEtMDQtMTUgMTU6NDc6MjQgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogQWRkcmVzcyB1bnVzZWQgYnV0IHNldCB2YXJpYWJsZQoJICBUaGUgdjRsMm9iamVjdCBmb3JtYXRzIGxpc3Qgd2FzIGJlaW5nIG9idGFpbmVkIGludG8gYSBsb2NhbCB2YXJpYWJsZSBhbmQKCSAgdGhlbiBzdGlsbCB1c2VkIGZyb20gdGhlIGNvbnRleHQuIE1ha2UgdXNlIG9mIHRoZSBsb2NhbCB2YXJpYWJsZS4KCjIwMTEtMDQtMTUgMTU6MTc6MzQgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3M0L29zczQtbWl4ZXItc2xpZGVyLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXItc3dpdGNoLmM6CgkqIHN5cy9vc3M0L29zczQtcHJvcGVydHktcHJvYmUuYzoKCSogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSAgb3NzNDogQWRkcmVzcyB1bnVzZWQgYnV0IHNldCB2YXJpYWJsZXMKCSAgR0NDIDQuNi54IGNvbXBsYWlucyBhYm91dCBzdWNoIHZhcmlhYmxlIHVzYWdlLiBVbnVzZWQgYnV0IHNldCB2YXJpYWJsZXMKCSAgd2VyZSByZW1vdmVkIGV4Y2VwdCB0aGF0IGdzdF9vc3M0X21peGVyX3NsaWRlcl9zZXRfbXV0ZSAoKSBub3cgcmV0dXJucwoJICB0aGUgdmFsdWUgZnJvbSB0aGUgY2FsbCB0byBnc3Rfb3NzNF9taXhlcl9zZXRfY29udHJvbF92YWwgKCkuCgoyMDExLTA0LTE1IDE1OjE0OjEzICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzoKCSAganBlZ2VuYzogcHVsc2VzaW5rOiByYXcxMzk0OiBBZGRyZXNzIHVudXNlZCBidXQgc2V0IHZhcmlhYmxlcwoJICBHQ0MgNC42Lnggc3BpdHMgd2FybmluZ3MgYWJvdXQgc3VjaCB1c2FnZSBvZiB2YXJpYWJsZXMuIFRoZSB2YXJpYWJsZXMgaW4KCSAgcmF3MTM5NCB3ZXJlIG1hcmtlZCB3aXRoIEdfR05VQ19VTlVTRUQgYXMgdGhpcyBzZWVtZWQgb21yZSBhcHByb3ByaWF0ZS4KCSAgVGhlIG90aGVycyB3ZXJlIHJlbW92ZWQuCgoyMDExLTA0LTE1IDE1OjEyOjQ0ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICB5NG1lbmNvZGU6IHNoYXBld2lwZTogQWRkcmVzcyB1bnVzZWQgYnV0IHNldCB2YXJpYWJsZXMKCSAgR0NDIDQuNi54IGNvbXBsYWlucyBhYm91dCBzdWNoIHVzYWdlLgoKMjAxMS0wNC0xNSAxNToxMTozNSArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxhY2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2ZsYWNkZWMuYzoKCSogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvbGV2ZWwtZXhhbXBsZS5jOgoJKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOgoJKiB0ZXN0cy9pY2xlcy94aW1hZ2VzcmMtdGVzdC5jOgoJICB0ZXN0czogQWRkcmVzcyB1bnVzZWQgYnV0IHNldCB2YXJpYWJsZXMKCSAgR0NDIDQuNi54IHNwaXRzIHdhcm5pbmdzIGFib3V0IHN1Y2ggdXNhZ2Ugb2YgdmFyaWFibGVzLgoKMjAxMS0wNC0xNSAxNTozNjo0MSArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMub3JjOgoJICB2aWRlb21peGVyOiBGaXggYXJnYi9yZ2JhIG92ZXJsYXkgb3JjIGNvZGUKCSAgUmVtb3ZlIHNvbWUgcmVkdW5kYW50IG9wZXJhdGlvbnMgKGNvbnZ1YncpIGFuZCB1c2UgdGhlIGNvcnJlY3QgdmFyaWFibGUsCgkgIHQyLCBpbiB0aGUgb3JjX292ZXJsYXlfYmdyYSBmdW5jdGlvbi4KCjIwMTEtMDQtMTUgMTU6MzM6MzUgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkqIGdzdC92aWRlb21peGVyL2dzdGNvbGxlY3RwYWRzMi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBhZGRyZXNzIHVudXNlZCBidXQgc2V0IHZhcmlhYmxlcwoJICBHQ0MgNC42Lnggc3BpdHMgd2FybmluZ3MgYWJvdXQgdmFyaWFibGVzIHRoYXQgYXJlIHNldCBidXQgdW51c2VkLiBTdWNoCgkgIHZhcmlhYmxlcyBoYXZlIGJlZW4gcmVtb3ZlZCBpbiBibGVuZCwgY29sbGVjdHBhZHMyIGFuZCB2aWRlb21peGVyMi4KCjIwMTEtMDQtMTUgMTQ6NTc6MjAgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHAsIHJ0cG1hbmFnZXI6IEFkZHJlc3MgdW51c2VkIGJ1dCBzZXQgdmFyaWFibGVzCgkgIEdDQyA0LjYueCBzcGl0cyB3YXJuaW5ncyBhYm91dCB2YXJpYWJsZXMgdGhhdCBhcmUgdW51c2VkIGJ1dCBzZXQuIFN1Y2gKCSAgdmFyaWFibGVzIGhhdmUgYmVlbiByZW1vdmVkIHdoZXJlIHRyaXZpYWwgYnV0IHdpdGggY29tbWVudHMgbGVmdCBiZWhpbmQKCSAgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgaW4gc29tZSBjYXNlcy4KCSAgZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRjcCAoKSB3YXMgY2hhbmdlZCBpbiBjb21taXQgNDkwMTEzZDQKCSAgdG8gYWx3YXlzIHJldHVybiBHU1RfRkxPV19PSyBpbnN0ZWFkIG9mIHRoZSByZXR1cm4gdmFsdWUgb2YKCSAgcnRwX3Nlc3Npb25fcHJvY2Vzc19ydGNwICgpLCBzbyB3ZSdsbCBrZWVwIGl0IHRoYXQgd2F5LgoKMjAxMS0wNC0xNSAxMToyOTozMCArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9kZXNjcmlwdG9ycy5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHJ0cHhxdGRlcGF5LmM6CgkqIGdzdC9xdWlja3RpbWUvcXRkZW11eC5jOgoJICBxdWlja3RpbWU6IFJlbW92ZSB1bnVzZWQgYnV0IHNldCB2YXJpYWJsZXMKCSAgR0NDIDQuNi54IHNwaXRzIHdhcm5pbmdzIGFib3V0IHN1Y2ggdmFyaWFibGUgdXNhZ2UuIE5vdGUgdGhhdCBzb21lCgkgIGNhbGN1bGF0aW9ucyBhcmUgbGVmdCBhcyBjb21tZW50cyBmb3IgaW5mb3JtYXRpdmUgcHVycG9zZXMuCgoyMDExLTA0LTE1IDExOjIzOjM4ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkgIG1hdHJvc2thOiBSZW1vdmUgdW51c2VkIGJ1dCBzZXQgdmFyaWFibGVzCgkgIEdDQyA0LjYueCBzcGl0cyB3YXJuaW5ncyBhYm91dCBzdWNoIHZhcmlhYmxlIHVzYWdlLgoKMjAxMS0wNC0xNSAxMToxOToyNiArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBSZW1vdmUgdW51c2VkIGJ1dCBzZXQgZHVyYXRpb24gdmFyaWFibGUKCSAgR0NDIDQuNi54IHNwaXRzIHdhcm5pbmdzIGFib3V0IHN1Y2ggdmFyaWFibGUgdXNhZ2UuCgoyMDExLTA0LTE1IDExOjE4OjE5ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZseGRlbXV4OiBSZW1vdmUgdW51c2VkIGJ1dCBzZXQga2V5ZnJhbWUgdmFyaWFibGVzCgkgIFRoZSBGSVhNRXMgYWJvdXQgdGhlIGtleWZyYW1lIGZsYWcgbmV2ZXIgYmVpbmcgdXNlZCBhcmUgbGVmdCBmb3IgbGF0ZXIKCSAgZml4aW5nLCBhdCB3aGljaCBwb2ludCB0aGUga2V5ZnJhbWUgdmFyaWFibGVzIGNvdWxkIGJlIGFkZGVkIGJhY2suCgoyMDExLTA0LTE1IDExOjE2OjQyICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6CgkgIGVkZ2V0djogUmVtb3ZlIHVudXNlZCBidXQgc2V0IGhlaWdodCB2YXJpYWJsZQoJICBHQ0MgNC42Lnggc3BpdHMgd2FybmluZ3MgYWJvdXQgc3VjaCB2YXJpYWJsZXMuCgoyMDExLTA0LTE1IDE4OjUxOjIwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogdXBkYXRlIGZvciBnc3RfYmFzZV9wYXJzZV9mcmFtZV9pbml0KCkgQVBJIGNoYW5nZQoKMjAxMS0wMi0wMSAxNTo1NzowMSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBVc2UgZXhpc3RpbmcgZnVuY3Rpb25zIHRvIHBhcnNlIFJUQ1AgRkIgcGFja2V0cwoJICBVc2UgZXhpc3RpbmcgZnVuY3Rpb25zIHRvIGdldCB0aGUgRkNJIGZyb20gRkIgcGFja2V0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMjU1MwoKMjAxMS0wMi0wMSAxNjoyMzo1MiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBtYXJzaGFsIEdzdEJ1ZmZlciBhcyBhIE1pbmlPYmplY3QgaW5zdGVhZCBvZiBhIHBvaW50ZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMjU1MwoKMjAxMS0wNC0xNCAyMzoyNDo1NiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogQmV0dGVyIGNhbGN1bGF0aW9uIG9mIGZyYW1lcmF0ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ3ODMzCgoyMDExLTA0LTEzIDEyOjM3OjA5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGRlZmF1bHQgdG8gZHRzLW1ldGhvZD1yZW9yZGVyIGFuZCBwcmVzZW50YXRpb24tdGltZT10cnVlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzY2OTkKCjIwMTEtMDQtMTUgMTI6NDc6NTIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgdGVzdHM6IHF0bXV4OiB0ZXN0IHZhcmlvdXMgZHRzLW1ldGhvZHMKCjIwMTEtMDQtMTUgMTI6MzQ6MDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogZml4IGNvcm5lciBjYXNlIGJ1ZmZlciBoYW5kbGluZyBmb3IgcmVvcmRlciBtZXRob2QKCjIwMTEtMDQtMTQgMTM6NDc6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogRG9uJ3QgbGVhayB0aGUgU0VFS0lORyBxdWVyeQoKMjAxMS0wNC0xNCAxMzo0MzowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bW9vdnJlY292ZXIuYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG1vb3ZyZWNvdmVyLmg6CgkgIHF0bW9vdnJlY292ZXI6IERvbid0IGxlYWsgdGhlIHN0YXRpYyByZWN1cnNpdmUgbXV0ZXgKCjIwMTEtMDQtMTQgMTM6Mzc6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnJhZGlvLmM6CgkgIHY0bDJyYWRpbzogRnJlZSB2aWRlb2RldiBzdHJpbmcgYmVmb3JlIHJlcGxhY2luZyBpdAoKMjAxMS0wNC0xNCAxMzoyNDoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSAgbWF0cm9za2FwYXJzZTogQWxsb3cgd2VibSBhbmQgbWF0cm9za2EgY2FwcyBhbmQgZG9uJ3QgbGVhayBjYXBzCgoyMDExLTA0LTE0IDA3OjM1OjI5ICswMTAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBBZGQgcGFyc2VyIHBsdWdpbgoKMjAxMS0wNC0xMyAyMTo1ODozNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkqIGdzdC9kdG1mL2dzdGR0bWZjb21tb24uaDoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5Lmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBkdG1mOiBNb3ZlIGR1cGxpY2F0ZSAjZGVmaW5lcyBpbnRvIGEgY29tbW9uIGluY2x1ZGUKCSAgQ2VudHJhbGl6ZSBkdXBsaWNhdGVkIGNvbnN0YW50cyBzbyB0aGV5IGhhdmUgdGhlIHNhbWUgdmFsdWUuCgkgIEFsc28gc3RhbmRhcmRpc2UgbWluaW11bSB0b25lIGR1cmF0aW9uIHRvIDI1MG1zIGFuZCBtaW5pbXVtIGludGVyLXRvbmUKCSAgaW50ZXJ2YWwgdG8gMTAwbXMuCgoyMDExLTAzLTI0IDE0OjM0OjI0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BlbnRyb3B5d2F2ZS5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogQWRkIGNvbmRpdGlvbmFscyBvbiBXQVZFX0ZPUk1BVF9ET0xCWV9BQzNfU1BESUYKCjIwMTEtMDQtMTEgMjA6MDk6MTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc2RlYnVnLmM6CgkgIGNhcHNkZWJ1ZzogZml4IHVudXNlZC1idXQtc2V0LXZhcmlhYmxlIHdhcm5pbmdzIHdpdGggZ2NjIDQuNgoKMjAxMS0wNC0xMSAyMDowNTo1NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBmaXggdW51c2VkLWJ1dC1zZXQtdmFyaWFibGUgd2FybmluZyB3aXRoIGdjYyA0LjYKCSAgTW9zdCBsaWtlbHkgYSBsZWZ0b3ZlciBmcm9tIHdoZW4gdGhlIGluZGV4IHBhcnNpbmcgY29kZSB3YXMgcmV3cml0dGVuLgoKMjAxMS0wNC0xMSAxOTo1NDowMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBmaXggdW51c2VkLWJ1dC1zZXQtdmFyaWFibGUgd2FybmluZyB3aXRoIGdjYyA0LjYKCjIwMTEtMDQtMTEgMTk6NTA6MDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICB2aWRlb2JhbGFuY2U6IGZpeCBoYW5kbGluZyBvZiBZVVYgaW1hZ2VzIHdpdGggJ29kZCcgd2lkdGhzCgkgIEZpeGVzIHVudXNlZC1idXQtc2V0LXZhcmlhYmxlIHdhcm5pbmdzIHdpdGggZ2NjIDQuNi4KCjIwMTEtMDQtMTEgMTk6NDk6MjIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICB2aWRlb2ZsaXA6IGZpeCB1bnVzZWQtYnV0LXNldC12YXJpYWJsZSB3YXJuaW5ncyB3aXRoIGdjYyA0LjYKCjIwMTEtMDQtMTMgMTg6MTE6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6CgkgIGF1ZGlvd3NpbmN7YmFuZCxsaW1pdH06IEZpeCBjaGVjayBmb3IgZGl2aXNvbiBieSB6ZXJvCgoyMDExLTA0LTEzIDE4OjAxOjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkgIGF1ZGlvd3NpbmNiYW5kOiBGaXggcmFuZ2Ugb2Yga2VybmVsIGVsZW1lbnRzIChsaW0gLT4gbGltLTEpCgoyMDExLTA0LTEzIDE4OjAwOjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOgoJICBhdWRpb3dzaW5jbGltaXQ6IEFkZCBzb21lIG1vcmUgYnJhY2VzIHRvIG1ha2UgdGhlIGNvZGUgbW9yZSByZWFkYWJsZQoKMjAxMS0wNC0xMSAxODo0MDozMCAtMDUwMCAgSm9yZGkgQnVyZ3VldC1DYXN0ZWxsIDxqb3JkaS5idXJndWV0LWNhc3RlbGxAbGlnby5vcmc+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzoKCSAgYXVkaW93c2luY2xpbWl0OiBGaXggcmFuZ2Ugb2Yga2VybmVsIGVsZW1lbnRzIChsaW0gLT4gbGltLTEpIGluIGhpZ2gvbG93LXBhc3MgZmlsdGVycwoKMjAxMS0wNC0xMyAxNzo0OToyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOgoJICBhdWRpb3dzaW5jYmFuZDogQWRkIG5ldyB3aW5kb3dpbmcgZnVuY3Rpb25zOiBnYXVzc2lhbiwgY29zIGFuZCBoYW5uCgoyMDExLTA0LTExIDE4OjQxOjQzIC0wNTAwICBKb3JkaSBCdXJndWV0LUNhc3RlbGwgPGpvcmRpLmJ1cmd1ZXQtY2FzdGVsbEBsaWdvLm9yZz4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOgoJICBhdWRpb3dzaW5jbGltaW10OiBBZGQgbmV3IHdpbmRvd3MgdG8gaGlnaC9sb3ctcGFzcyBmaWx0ZXJzOiBnYXVzc2lhbiwgY29zaW5lLCBoYW5uCgoyMDExLTA0LTEzIDE2OjQ3OjA1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBzZXQgc3RyZWFtLWZvcm1hdD1ieXRlLXN0cmVhbSBvbiBoMjY0IGNhcHMgaWYgdGhlcmUncyBubyBjb2RlYyBkYXRhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDY2NjIKCjIwMTEtMDQtMTMgMTY6Mzc6MDcgKzAxMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiByZXN0cmljdCBoMjY0IHNvbWUgbW9yZSB0byBvbmx5IGFjY2VwdCBBVS1hbGlnbmVkIEFWQwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA2NjYyCgoyMDExLTA0LTEzIDE3OjExOjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgbXBlZ2F1ZGlvcGFyc2U6IFRoZSBWQlJJIGhlYWRlciBpcyBhbHdheXMgYXQgb2Zmc2V0IDB4MjAsIGluZGVwZW5kZW50IG9mIE1QRUcgdmVyc2lvbgoJICBBbHNvIGNsZWFuIHVwIGFkdmFuY2luZyBvZiB0aGUgZGF0YSBwb2ludGVyIGEgYml0LgoJICBGaXhlcyBidWcgIzY0NzY1OS4KCjIwMTEtMDQtMTMgMTU6MTg6MTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICBxdG11eDogYWRkIHZhcmlhbnQtbGVzcyB2aWRlby9xdWlja3RpbWUgdG8gc291cmNlIHBhZCB0ZW1wbGF0ZSBjYXBzCgkgIFRoaXMgaXMgbmVlZGVkIGZvciBhdXRvbWF0aWMgdHJhbnNjb2RpbmcgdXNpbmcgZW5jb2RlYmluLiBPdXIgdHlwZWZpbmRlcgoJICBkb2VzIG5vdCBhbHdheXMgYWRkIGEgdmFyaWFudCB0byB0aGUgZm91bmQgY2FwcywgYW5kIGVuY29kZWJpbiBuZWVkcwoJICBhbiAqZXhhY3QqIG1hdGNoIHRvIHRoZSBjYXBzIG9uIHRoZSBzb3VyY2UgcGFkIHRlbXBsYXRlLCBzbyB3ZSBuZWVkCgkgIHRvIGFkZCB0aGUgdmFyaWFudC1sZXNzIHZpZGVvL3F1aWNrdGltZSBjYXBzIHRvIHRoZSB0ZW1wbGF0ZSBhcyB3ZWxsCgkgIGZvciBlbmNvZGViaW4gdG8gYmUgYWJsZSB0byBmaW5kIGl0LiBBZGQgdW5pdCB0ZXN0IGZvciB0aGlzIGFzIHdlbGwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDI4NzkKCjIwMTEtMDQtMTMgMTY6MTc6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBQcm9wZXJseSBpbnRlcnByZXRlIHRoZSByZXN1bHQgb2Ygc3RyY21wKCkKCjIwMTEtMDQtMTMgMTY6MDk6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBEb24ndCBzdG9yZSBpbWFnZSB0YWdzIGluc2lkZSB0aGUgdm9yYmlzY29tbWVudHMgYW5kIHRoZSBmbGFjIG1ldGFkYXRhCgkgIEluc3RlYWQgb25seSBzdG9yZSB0aGVtIGluc2lkZSB0aGUgZmxhYyBtZXRhZGF0YS4gVGhlcmUncwoJICBubyBwb2ludCBpbiBzdG9yaW5nIHRoZW0gdHdpY2UgYW5kIHRoZSBmbGFjIG1ldGFkYXRhIGlzCgkgIHN0aWxsIHRoZSBvZmZpY2lhbCB3YXkgdG8gc3RvcmUgaW1hZ2UgdGFncyBpbnNpZGUgZmxhYy4KCjIwMTEtMDQtMTMgMTI6Mzg6MTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzLy5naXRpZ25vcmU6CgkgIHRlc3RzOiBpZ25vcmUgbmV3IHF0bXV4LXJlbGF0ZWQgdGVzdCBiaW5hcmllcwoKMjAxMS0wNC0xMyAxMToyNToxMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGdzdC9xdWlja3RpbWUvTWFrZWZpbGUuYW06CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhwbHVnaW4uYzoKCSogZ3N0L3F1aWNrdGltZS9xdWlja3RpbWUuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHF1aWNrdGltZTogbW92ZSBxdG11eCBwbHVnaW4gZnJvbSAtYmFkIHRvIC1nb29kCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzY2OTkKCjIwMTEtMDQtMTIgMTY6NDI6MTcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBkdG1mOiBSZW1vdmUgbGVmdG92ZXIgTUFFTU9fQlJPS0VOIGRlZmluZXMKCSAgUmVtb3ZlIGRlZmluZXMgdG8gd29yayBhcm91bmQgYnVncyBpbiBvbGQgTWFlbW8gcmVsZWFzZXMKCjIwMTEtMDQtMDQgMTI6MjE6MjMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogbW9yZSBoZWxwZnVsIGRlYnVnIGVycm9yIG1lc3NhZ2Ugd2hlbiBubyBuZWVkZWQgZHVyYXRpb24gb24gaW5wdXQgYnVmZmVycwoJICBGaXhlcyAjNjQ2MjU2LgoKMjAxMS0wMy0yMSAxMDo1Njo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogQWRkaW5nIEdzdFRhZ1htcFdyaXRlciBpbnRlcmZhY2UKCSAgQWRkcyBHc3RUYWdYbXBXcml0ZXIgaW50ZXJmYWNlIHN1cHBvcnQgdG8gcXRtdXgKCjIwMTEtMDMtMjIgMjA6NTM6MDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogdXNlIHJ1bm5pbmcgdGltZSBmb3Igc3luY2hyb25pemF0aW9uCgkgIFNlZSBhbHNvICM0MzI2MTIuCgoyMDExLTAzLTEwIDE2OjAzOjU4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHByb3ZpZGUgZm9yIFBUUyBtZXRhZGF0YSB3aGVuIHNvIGNvbmZpZ3VyZWQKCSAgLi4uIGFuZCBub3Qgb25seSB3aGVuIHNvcnQtb2YgZmVlbGluZyBsaWtlIGl0LgoJICBJbiBhbnkgY2FzZSwgaWYgaXQgdHVybnMgb3V0IGFsbCByZWFsbHkgaXMgaW4gb3JkZXIsCgkgIGFuZCBwcmVzdW1hYmx5IERUUyA9PSBQVFMsIHRoZW4gbm8gY3R0cyB3aWxsIGJlIHByb2R1Y2VkIGFueXdheS4KCjIwMTEtMDMtMTAgMTY6MDI6NDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogYWxzbyB0cmFjayBvcmlnaW5hbCBQVFMgYnVmZmVyIHRpbWVzdGFtcCBpbiByZW9yZGVyIGR0cy1tZXRob2QKCjIwMTEtMDItMjEgMTI6MTQ6NTkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBSZXZlcnQgIkNoZWNrIHRoYXQgY29sbGVjdHBhZHMgZXhpc3RzIGJlZm9yZSByZW1vdmluZyBwYWQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNmQ4NzQwNDc2Y2NkM2EzNDk4ZGM0ZjE4YzE5NzMzNjQzODI1YzdiOC4KCSAgRGVwZW5kcyBvbiBhIGNvcmUgY29tbWl0IHRoYXQgd2FzIHJldmVydGVkCgoyMDExLTAyLTIwIDIzOjU3OjE5IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgQ2hlY2sgdGhhdCBjb2xsZWN0cGFkcyBleGlzdHMgYmVmb3JlIHJlbW92aW5nIHBhZAoJICBUaGUgY29yZSBub3cgY2FsbHMgcmVsZWFzZSBwYWQgZnJvbSBmaW5hbGl6ZSwgYXQgd2hpY2ggcG9pbnQKCSAgdGhlIGNvbGxlY3RwYWRzIG1pZ2h0IGhhdmUgYWxyZWFkeSBiZWVuIGZyZWVkLgoKMjAxMS0wMS0xMyAxMToyODozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICB0ZXN0OiBxdG11eDogVGVzdHMgcXRtdXggcmV1c2UKCSAgRm9yY2VzIHRoZSB1c2Ugb2YgcXRtdXggYWZ0ZXIgaXQgaGFzIGJlZW4gcHV0IHRvIFBMQVlJTkcgYW5kIGJhY2sKCSAgdG8gTlVMTCBvbmNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzkzMzgKCjIwMTEtMDEtMTMgMTU6Mjc6MzYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogc2V0IHNyYyBwYWRzIHdoZW4gc3RhcnRpbmcgZmlsZQoJICAuLi4gcmF0aGVyIHRoYW4gYXQgX2luaXQgdGltZSwgc28gdGhleSBhcmUgYWxzbyBhdmFpbGFibGUgZm9sbG93aW5nIGEKCSAgcGFkIChkZSlhY3RpdmF0aW9uIGN5Y2xlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM5MzM4CgoyMDExLTAxLTAzIDE3OjI0OjIzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJICBxdG11eDogYWRqdXN0IG5hc3R5IGNhc2UgdGltZXN0YW1wIHRyYWNraW5nCgkgIFRoYXQgaXMsIGFsbCBzb3J0cyBvZiBwcm9ibGVtcyBhcmlzZSB3aXRoIHJlLW9yZGVyZWQgaW5wdXQgdGltZXN0YW1wcyB0aGF0CgkgIHRlbmQgdG8gZGVmeSBhdXRvbWFnaWMgaGFuZGxpbmcgZm9yIGV2ZXJ5IGNhc2UsIHNvIGFsbG93IGZvciBhIGZldyB2YXJpYXRpb25zCgkgIHRoYXQgY2FuIGJlIHRyaWVkIGRlcGVuZGluZyBvbiBjaXJjdW1zdGFuY2VzLgoJICBBbHNvIHRyeSB0byBkb2N1bWVudCBhY2NvcmRpbmdseS4KCSAgQWxzbyBmaXhlcyAjNjM4Mjg4LgoKMjAxMC0xMi0zMCAyMTo0ODo0MSArMDIwMCAgRmVsaXBlIENvbnRyZXJhcyA8ZmVsaXBlLmNvbnRyZXJhc0Bub2tpYS5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBnZXQgcmlkIG9mIHRpbWVzdGFtcCBvdmVycHJvdGVjdGl2ZW5lc3MKCSAgU2lnbmVkLW9mZi1ieTogRmVsaXBlIENvbnRyZXJhcyA8ZmVsaXBlLmNvbnRyZXJhc0Bub2tpYS5jb20+CgoyMDExLTAxLTAzIDE2OjU2OjU3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zcmVjb3ZlcnkuYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogc2ltcGxpZnkgYW5kIGZpeCBwdHNfb2Zmc2V0IHN0b3JpbmcKCSAgSW4gcGFydGljdWxhciwgb25seSB3cml0ZSBhIGN0dHMgYXRvbSBpZiBhbmQgb25seSBpZiBldmVyIGEgbm9uLXplcm8gb2Zmc2V0LgoKMjAxMS0wMS0wMyAxMDo0MzoxNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBhZGQgc29tZSBtb3JlIGRvY3VtZW50YXRpb24KCjIwMTAtMTItMDMgMTU6MjM6MDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJICBxdG11eDogcmVtb3ZlIGxhcmdlLWZpbGUgcHJvcGVydHkKCSAgUmF0aGVyLCBhdXRvLWRldGVybWluZSBpZiA2NC1iaXRzIGZpZWxkcyBhcmUgbmVlZGVkIGZvciBhIHZhbGlkIHJlc3VsdCwgYW5kCgkgIHN0aWNrIHRvIHBsYWluIDMyLWJpdHMgaWYgbm90IG5lZWRlZC4KCSAgQVBJOiBHc3RRVE11eDpsYXJnZS1maWxlIChyZW1vdmVkKQoKMjAxMC0xMi0xOSAxMjo1MzozNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBGcmVlIEF0b21JbmZvIHN0cnVjdHMKCjIwMTAtMTItMTkgMTI6NTA6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogRnJlZSB0YWcgc3RyaW5nIGFmdGVyIHVzZQoKMjAxMC0xMi0xOSAxMjoxMjoyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkgIHRhZ3NjaGVja2luZzogRml4IHNvbWUgbW9yZSBtZW1vcnkgbGVha3MKCjIwMTAtMTItMTcgMTk6NDE6MjUgKzAyMDAgIExhc3NlIExhdWtrYW5lbiA8bGFzc2UubGF1a2thbmVuQGRpZ2lhLmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGFsbG93IHplcm8gZHVyYXRpb24gdHJhY2tzCgoyMDEwLTEyLTAzIDE4OjA5OjQxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGFkZCBkb2N1bWVudGF0aW9uCgoyMDEwLTEyLTAxIDEwOjQ1OjQ5ICswMTAwICBEYXZpZCBIb3l0IDxkaG95dEBsbG5sLmdvdj4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGhhbmRsZSBtc3ZjIGZ0cnVuY2F0ZSBpbmNvbXBhdGliaWxpdHkKCSAgRml4ZXMgIzYzNjE4NS4KCjIwMTAtMTEtMjcgMTY6MDc6MTkgLTA2MDAgIEFsZWphbmRybyBHb256YWxleiA8YWdvbnphbGV6QGRleHRyYXRlY2guY29tPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogZ3N0X3F0bXV4X2NoZWNrX2RpZmZlcmVuY2UgdmVyaWZ5IGJlZm9yZSBzdWJ0cmFjdAoJICBBdm9pZCBuZWdhdGl2ZSBvdmVyZmxvdyBieSBjaGVja2luZyB0aGUgb3JkZXIgb2Ygb3BlcmFuZHMKCSAgb24gc3VidHJhY3Rpb24gb2YgdW5zaWduZWQgaW50ZWdlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzU4NzgKCjIwMTAtMTEtMTkgMTc6NTU6MzYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogcmVtb3ZlIHJlbW5hbnQgb2Ygb2Jzb2xldGUgcHJvcGVydHkKCjIwMTAtMTEtMTkgMTU6MTg6NTggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgdGVzdHM6IHF0bXV4OiBhbHNvIHVuaXQgdGVzdCBmcmFnbWVudGVkIGZpbGUgY2FzZXMKCjIwMTAtMDctMzAgMTI6NDg6MjkgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBhbGxvdyBzcGVjaWZ5aW5nIHRyYWsgdGltZXNjYWxlCgkgIFRoaXMgaXMgbWFpbmx5IGJlY2F1c2UgU21vb3Roc3RyZWFtaW5nIGNsaWVudCBhcmUgYnJva2VuIGFuZCBkb24ndAoJICB0YWtlIHRoZSBUaW1lU2NhbGUgcHJvcGVydHkgaW50byBhY2NvdW50LgoKMjAxMC0xMS0xOSAxNzo0MTo0MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogaW5jbHVkZSBzZHRwIGF0b21zIGZvciBpc212IGZyYWdtZW50ZWQgZmlsZXMKCSAgQmFzZWQgb24gcGF0Y2ggYnkgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoyMDEwLTExLTE5IDE5OjE3OjQ1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGVuYWJsZSBkZWZhdWx0IGZyYWdtZW50ZWQgZmlsZSBmb3IgaXNtbG11eAoKMjAxMC0wOS0wMiAxMzo1ODowNSArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvZnR5cGNjLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5oOgoJICBxdG11eDogYWRkIGlzbWxtdXgsIGZvciBmcmFnbWVudGVkIGlzbWwgbWFqb3IgYnJhbmQKCjIwMTAtMTEtMTkgMTQ6NDQ6NDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogZmluYWxpemUgc2lua3BhZHMgbGlzdAoKMjAxMC0wNy0yMiAxOTo0MDowNyArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBhZGQgbW9vdiBpbiBzdHJlYW1oZWFkZXIKCjIwMTAtMDgtMDYgMTM6MjY6MjcgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBhZGQgc3RyZWFtYWJsZSBwcm9wZXJ0eSB0byBhdm9pZCBidWlsZGluZyBmcmFnbWVudGVkIG1mcmEgaW5kZXgKCjIwMTAtMTEtMTggMTY6NDg6MDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJICBxdG11eDogYWRkIG1mcmEgdG8gZnJhZ21lbnRlZCBmaWxlCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKMjAxMC0xMS0xNSAxNToxNzo1OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBvcHRpb25hbGx5IGNyZWF0ZSBmcmFnbWVudGVkIGZpbGUKCSAgSW4gdGhpcyBtb2RlLCBhbiBpbml0aWFsIGVtcHR5IG1vb3YgKGNvbnRhaW5pbmcgb25seSBzdHJlYW0gbWV0YWRhdGEpIGlzIHdyaXR0ZW4sCgkgIGZvbGxvd2VkIGJ5IGZyYWdtZW50cyBjb250YWluaW5nIGFjdHVhbCBkYXRhIChhbG9uZyB3aXRoIHJlcXVpcmVkIG1ldGFkYXRhKS4KCSAgTmV3IGZyYWdtZW50cyBhcmUgc3RhcnRlZCBlaXRoZXIgYXQga2V5ZnJhbWUgKGlmIHN1Y2ggYXJlIHNwYXJzZSkgb3Igd2hlbgoJICBwcm9wZXJ0eSBjb25maWd1cmVkIGR1cmF0aW9uIGV4Y2VlZGVkLgoJICBCYXNlZCBvbiBwYXRjaCBieSBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCSAgRml4ZXMgIzYzMjkxMS4KCjIwMTAtMTEtMTUgMTU6MTI6NDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJICBxdG11eDogdXNlIGhlbHBlciB0byBzZXQgYXRvbSBmbGFncyBmcm9tIGdpdmVuIHVpbnQKCjIwMTAtMTEtMDkgMTY6NDk6MDcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogcmVmYWN0b3IgY29uZmlndXJpbmcgYW5kIHNlbmRpbmcgb2YgbW9vdgoJICBCYXNlZCBvbiBwYXRjaCBieSBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCjIwMTAtMTEtMDkgMTU6NTQ6NDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogcmVmYWN0b3IgZXh0cmEgdG9wLWxldmVsIGF0b20gaGFuZGxpbmcKCSAgQWxzbyBjaGVjayBhIGJpdCBtb3JlIGZvciBwb3NzaWJsZSBlcnJvcnMsIGFuZCBmcmVlIHByb3BlciBpdGVtcyBpbiBzdWNoIGNhc2UuCgoyMDEwLTExLTA5IDE1OjAxOjE1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlZmFjdG9yIHNsaWdodGx5IHVzaW5nIGJ1ZmZlciBoZWxwZXIKCjIwMTAtMTEtMDUgMTM6NDg6NTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogZml4IG1pc2luZm9ybWluZyBjb21tZW50CgoyMDEwLTExLTA1IDEyOjA4OjE1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBkZWxlZ2F0ZSBtdmV4IGhhbmRsaW5nIHRvIGF0b21zCgkgIC4uLiB3aGljaCBrZWVwcyBxdG11eCBzaW1wbGVyLgoKMjAwOS0wOS0yOCAxNjoxMTozNSArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogYWRkIG12ZXgvdHJleCBpbiBoZWFkZXIgaWYgZnJhZ21lbnRlZAoJICBPbmUgInRyZXgiIGlzIGFkZGVkIHBlciAidHJhayIuIFdlIGRvbid0IHN1cHBvcnQgZGVmYXVsdCB2YWx1ZXMsCgkgIGJ1dCB0aGUgInRyZXgiIGJveCBpcyBtYW5kYXRvcnkuCgoyMDA5LTA5LTI4IDEzOjAxOjMwICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZm91cmNjLmg6CgkgIHF0bXV4OiBhZGQgYSBjb3VwbGUgb2YgZm91cmNjIGZvciBmcmFnbWVudGVkIG1wNAoKMjAxMC0xMS0wNSAxMTowODowMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBhdm9pZCByZW1vdmluZyB0ZW1wIGZpbGUgd2hlbiBlcnJvciBvY2N1cnJlZAoKMjAwOS0wOS0zMCAxNzoxNjozMCArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiB0cnVuY2F0ZSBidWZmZXIgZmlsZSBhZnRlciBlYWNoIHNlbmQKCjIwMDktMDktMjggMTY6NTM6NTEgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogcmVtb3ZlIHRlbXAgZmlsZSB3aGVuIHJlc2V0L2ZpbmFsaXplCgoyMDEwLTEwLTE5IDEzOjQzOjE0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bW9vdnJlY292ZXIuYzoKCSAgdmFyaW91cyAoZ3N0KTogYWRkIG1pc3NpbmcgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyBmbGFncwoJICBDYW5vbmljYWxpemUgcHJvcGVydHkgbmFtZXMgYXMgbmVlZGVkLgoKMjAxMC0xMC0xMyAxNzo0NzoyOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBwcmV2ZW50IGluZmluaXRlIGxvb3Agd2hlbiBhZGp1c3RpbmcgZnJhbWVyYXRlCgkgIEZpeGVzICM2MzIwNzAuCgoyMDEwLTEwLTAzIDIzOjQ1OjQ2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEFkZCBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTCgkgIEFkZCBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIHRvIHF0bXV4IHByb3BlcnRpZXMKCjIwMTAtMDktMTUgMTc6NTQ6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvZm91cmNjLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJICBxdG11eDogRm9sbG93IHhtcCBzZXJpYWxpemF0aW9uIGd1aWRlbGluZXMgY2xvc2VyCgkgIHF0IGFuZCBpc29tIHZhcmlhbnRzIGhhdmUgZGlmZmVyZW50IHdheXMgb2Ygc2VyaWFsaXppbmcKCSAgeG1wLCBmb2xsb3cgdGhlc2UgZ3VpZGVsaW5lcy4KCSAgVGhvc2UgY2FuIGJlIGZvdW5kIGluIEFkb2JlJ3MgeG1wIGRvY3MuCgoyMDEwLTA4LTE2IDEyOjM2OjI0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGF1dG9kZXRlY3Qgb3V0LW9mLW9yZGVyIGlucHV0IHRpbWVzdGFtcHMgYW5kIGRldGVybWluZSBEVFMgYWNjb3JkaW5nbHkKCSAgRmF2b3VyIHVzaW5nIGlucHV0IGJ1ZmZlciB0aW1lc3RhbXBzIGZvciBEVFMsIGJ1dCBmYWxsYmFjayB0byB1c2luZyBidWZmZXIKCSAgZHVyYXRpb24gKGFjY3VtdWxhdGlvbikgaWYgaW5wdXQgdHMgZGV0ZWN0ZWQgb3V0LW9mLW9yZGVyLgoJICBGaXhlcyAjNjI0MjEyLgoKMjAxMC0wNy0yOCAxNjoxNTo1MyArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiB1c2UgY2FwcyBiaXRyYXRlIGF0IGxhc3QgY2hhbmNlCgkgIElmIHdlIGRpZG4ndCBnZXQgdGhlIHN0cmVhbSdzIGJpdHJhdGUgZnJvbSBvbmUgb2YgdGhlIGF0b21zLAoJICB0cnkgZ2V0dGluZyBpdCBmcm9tIHRoZSBjYXBzIGFzIGEgbGFzdCByZXNvcnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjU0OTYKCjIwMTAtMDctMjggMTY6MTI6MTEgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJICBxdG11eDogYnRydCAtIG1heCBiaXRyYXRlIGJlZm9yZSBhdmVyYWdlCgkgIEFjY29yZGluZyB0byBpc28gYmFzZSBtZWRpYSBmaWxlIGZvcm1hdCwgdGhlIG1heCBiaXRyYXRlCgkgIGlzIGJlZm9yZSB0aGUgYXZnCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjU0OTYKCjIwMTAtMDctMDYgMTQ6NDg6MDggKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFdyaXRlICdidHJ0JyBhdG9tIGZvciBILjI2NCBtZWRpYSBpZiBwb3NzaWJsZQoJICBUaGlzIHdyaXRlcyBvdXQgdGhlIG9wdGlvbmFsICdidHJ0JyBhdG9tIChNUEVHNEJpdHJhdGVCb3gpIGZvciBILjI2NAoJICBtZWRpYSBpZiBlaXRoZXIgb3IgYm90aCBvZiBhdmVyYWdlIGFuZCBtYXhpbXVtIGJpdHJhdGUgYXJlIGF2YWlsYWJsZSBmb3IKCSAgdGhlIHN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMzY3OAoKMjAxMC0wNy0wNSAxNDowOTo1MCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBXcml0ZSBhdmcvbWF4IGJpdHJhdGUgdG8gRVNEUyBpZiBhdmFpbGFibGUKCSAgVGhpcyBjb2xsZWN0cyB0aGUgJ2JpdHJhdGUnIGFuZCAnbWF4aW11bS1iaXRyYXRlJyB0YWdzIG9uIHRoZQoJICBjb3JyZXNwb25kaW5nIHBhZCBhbmQgdXNlcyB0aGVzZSB0byBwb3B1bGF0ZSB0aGVzZSBmaWVsZHMgaW4gdGhlIEVTRFMKCSAgd2hlcmUgYXBwbGljYWJsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMzY3OAoKMjAxMC0wNy0wMiAxMjo0NToyMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IERvbid0IHVzZSBib2d1cyBjb2RlYy9mb3JtYXQgdGFncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIzMzY1CgoyMDEwLTA2LTI1IDIwOjE5OjIwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFdyaXRlIHVpbnQgdGFncyB0aGF0IGRvbid0IGhhdmUgYSBjb21wbGVtZW50CgkgIFdyaXRlIHVpbnQgdGFncyB0aGF0IGhhdmUgY29tcGxlbWVudHMgKGUuZy4gdHJhY2stbnVtYmVyLwoJICB0cmFjay1jb3VudCkgZXZlbiB3aGVuIHdlIG9ubHkgaGF2ZSBvbmUgb2YgdGhlbSBhdmFpbGFibGUKCSAgYW5kIHNldCB0aGUgb3RoZXIgb25lIHRvIDAuCgkgIEZpeGVzICM2MjI0ODQKCjIwMTAtMDYtMjEgMTk6Mzk6NTQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBSZW1vdmUgdGhlIHBhZCBmcm9tIG91ciBpbnRlcm5hbCBsaXN0IGJlZm9yZSBjYWxsaW5nIGNvbGxlY3RwYWRzCgkgIFByZXZpb3VzbHkgd2Ugd291bGQgZW5kIHVwIHdpdGggdGhlIGNvbGxlY3RwYWRkYXRhIHN0cnVjdHVyZSBhbHJlYWR5IGZyZWVkLgoJICBUaGlzIHdvdWxkIHJlc3VsdCBpbiBhIGJvZ3VzIGl0ZXJhdGlvbiBvZiBtdXgtPnNpbmtwYWRzIChhbGwgdGhlCgkgIEdzdFFUUGFkIGJlaW5nIGZyZWVkKSBhbmQgaXQgd291bGRuJ3QgYmUgcmVtb3ZlZCBmcm9tIHRoYXQgbGlzdC4KCSAgRmluYWxseSwgZHVlIHRvIGl0IG5vdCBiZWluZyByZW1vdmVkIGZyb20gdGhhdCBsaXN0LCB3ZSB3b3VsZCBlbmQgdXAKCSAgY2FsbGluZyBhIGJvZ3VzIGdzdF9xdF9tdXhfcGFkX3Jlc2V0IG9uIHRob3NlIHN0cnVjdHVyZXMgPT4gU0VHRkFVTFQKCjIwMTAtMDUtMTIgMTg6NTA6MzQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3F1aWNrdGltZS9mb3VyY2MuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBBZGQgVlA4CgoyMDEwLTA1LTExIDEzOjE1OjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSAgdGVzdHM6IGRvbid0IGZhaWwgdGFnc2NoZWNraW5nIHRlc3QgaWYgcXRkZW11eCBpcyBub3QgYXZhaWxhYmxlIG9yIHRvbyBvbGQKCjIwMTAtMDMtMjcgMDk6NDY6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eHBsdWdpbi5jOgoJICBxdG11eDogdXNlIEdTdHJlYW1lciBwYWNrYWdlIG5hbWUgYW5kIG9yaWdpbiBpbiB0aGUgcGx1Z2luIGluZm8KCjIwMTAtMDMtMjMgMTc6MzQ6MzAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJICB0ZXN0czogdGFnc2NoZWNraW5nOiBOZXcgdGFncyB0ZXN0cwoJICBBZGRzIG5ldyB0YWdzIGNoZWNraW5nIHRlc3RzLgoKMjAxMC0wMy0yNSAwMDoyMDo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBpbml0IGRlYnVnIGNhdGVnb3J5IGJlZm9yZSB1c2luZyBpdAoKMjAxMC0wMy0yMiAxNjo1NjowMyArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJICBBZGQgLVdvbGQtc3R5bGUtZGVmaW5pdGlvbgoJICBhbmQgZml4IHRoZSB3YXJuaW5ncwoKMjAxMC0wMy0yMiAxMzoxNjozMyArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIEFkZCAtV3dyaXRlLXN0cmluZ3MKCSAgYW5kIGZpeCBpdHMgd2FybmluZ3MKCjIwMTAtMDMtMjEgMjE6Mzk6MTggKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zcmVjb3ZlcnkuYzoKCSogZ3N0L3F1aWNrdGltZS9kZXNjcmlwdG9ycy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkgIEFkZCAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVzIHRvIGNvbmZpZ3VyZSBmbGFncwoJICBBbmQgZml4IGFsbCB3YXJuaW5ncwoKMjAxMC0wMy0xOCAxNzozMDoyNiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHMgPT4gZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlCgoyMDEwLTAzLTEyIDExOjI4OjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSAgdGVzdHM6IHRhZ3NjaGVja2luZzogSW1wcm92ZW1lbnRzIGFuZCBuZXcgZ2VvLWxvY2F0aW9uIHRlc3RzCgkgIE1ha2VzIHNvbWUgaW1wcm92ZW1lbnRzIHRvIHRhZ3NjaGVja2luZy5jLCBtYWtpbmcgaXQgdXNlCgkgIGZha2VzcmMgaW5zdGVhZCBvZiB2aWRlb3Rlc3RzcmMgYW5kIGFsbG93aW5nIHRvIHNldCBpbnB1dAoJICBjYXBzIHNvIHRoYXQgbW9yZSBtdXhlcnMgY2FuIGJlIHVzZWQuIFByZXZpb3VzbHkgd2UgY291bGQKCSAgb25seSB1c2UgdGhvc2UgdGhhdCBhY2NlcHRlZCByYXcgdmlkZW8gY2Fwcy4KCSAgQWxzbyBhZGRzIHNvbWUgdGVzdHMgZm9yIGdlby1sb2NhdGlvbiB0YWdzCgoyMDEwLTAzLTEyIDEwOjUzOjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFVzZSB4bXAgb24gbXA0bXV4IGFuZCBncHBtdXggdG9vCgkgIERvIG5vdCByZXN0cmljdCB4bXAgdG8gcXRtdXgsIGJ1dCB1c2UgaXQgdG9vCgkgIG9uIG1wNG11eCBhbmQgZ3BwbXV4CgoyMDEwLTAzLTA1IDEzOjMzOjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSAgY2hlY2s6IHRhZ3NjaGVja2luZzogdGVzdHMgZm9yIHRhZ3Mgc2VyaWFsaXphdGlvbiBpbiBtdXhlcnMKCSAgQWRkcyBhIGNoZWNrIHVuaXQgdGVzdCB0aGF0IGFpbXMgdG8gdGVzdCB0YWdzIHNlcmlhbGl6YXRpb24KCSAgYW5kIGRlc2VyaWFsaXphdGlvbiBjb25zaXN0ZW5jeSAoaW4gbXV4ZXJzKS4gSXQgcHJvdmlkZXMgYQoJICBiYXNpYyBmdW5jdGlvbiB0aGF0IGFsbG93cyBvbmUgdG8gZWFzaWx5IHNwZWNpZnkgdGFncywgYQoJICBtdXhlciBhbmQgYSBkZW11eGVyIGFuZCBhIHRlc3Qgd2lsbCBiZSBkb25lIHRvIGNoZWNrIGlmCgkgIHRoZSB0YWdzIGhhdmUgYmVlbiBjb25zaXN0ZW50bHkgbXV4ZWQgYW5kIGRlbXV4ZWQKCjIwMTAtMDItMjIgMTY6NDU6MzQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvZm91cmNjLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGFkZCB4bXAgc3VwcG9ydAoJICBBZGRzIHhtcCBtZXRhdGFncyBhZGRpbmcgdG8gcXRtdXguCgkgIEZpeGVzICM2MDk1MzkKCjIwMTAtMDMtMTEgMTc6MTc6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkgIHF0bXV4OiBmaXggR1NUX0VMRU1FTlRfRVJST1IgdXNhZ2UKCSAgV2UgbmVlZCB0byBwYXNzIChOVUxMKSByYXRoZXIgdGhhbiBOVUxMIGZvciBlbXB0eSBhcmd1bWVudHMuCgoyMDEwLTAzLTEwIDEwOjIzOjIzIC0wNjAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bW9vdnJlY292ZXIuYzoKCSAgcXRtdXg6IGZpeCBjb21waWxlIGVycm9yCgkgIGdzdC9xdWlja3RpbWUvZ3N0cXRtb292cmVjb3Zlci5jOjI2ODogd2FybmluZzogZm9ybWF0IG5vdCBhIHN0cmluZyBsaXRlcmFsIGFuZCBubyBmb3JtYXQgYXJndW1lbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTI0NTQKCjIwMTAtMDItMjIgMTk6Mzg6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogUmVuYW1lICdhdmMtc2FtcGxlJyB0byAnYXZjJyBpbiBjYXBzCgkgIEZpeGVzICM2MDY2NjIKCjIwMTAtMDItMjYgMTE6NTA6MjUgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogVGFrZSBsb2NrIGFyb3VuZCB1c2Ugb2YgKG5vbi10aHJlYWRzYWZlKSB0YWdzZXR0ZXIgaW50ZXJmYWNlLgoKMjAxMC0wMi0yMiAxNjo1MTowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkgIHF0bXV4OiB3cml0ZSBhbGwgdWR0YSBjaGlsZHJlbiBhdG9tcwoJICBVRFRBIG1pZ2h0IGhhdmUgTUVUQSBhbmQgb3RoZXIgY2hpbGRyZW4gYXRvbXMKCSAgdG9nZXRoZXIsIHdyaXRlIHRoZW0gYWxsLgoKMjAxMC0wMi0yMiAxMDo0ODoxMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IFVzZSBpbnRlcm5hbCBzaW5rIHBhZHMgbGlzdAoJICBEdWUgdG8gR3N0Q29sbGVjdFBhZHMgc2luayBwYWRzIGxpc3QgYmVpbmcgbm90IHJlbGlhYmx5CgkgIGl0ZXJhdGFibGUgKHdoZW4gbm90IGluc2lkZSB0aGUgY29sbGVjdGVkIGZ1bmN0aW9uKSB0aGlzCgkgIHBhdGNoIGFkZHMgYSBzaW5rIHBhZHMgbGlzdCB0byBxdG11eCB0byBiZSB1c2VkIHdoZW4gaXRlcmF0aW5nCgkgIHNpbmsgcGFkcyBvbiByZXNldCBmdW5jdGlvbi4KCSAgRml4ZXMgIzYwOTA1NQoKMjAxMC0wMi0xNiAxNzoxMzowOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkgIHF0bXV4OiBwcmV2ZW50IGxlYWtpbmcgaGRsciBuYW1lCgoyMDEwLTAyLTE2IDE2OjI0OjEyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IHN1cHBvcnQgZm9yIEFMQUMKCSAgRml4ZXMgIzU4MDczMS4KCjIwMTAtMDItMTYgMTQ6MTk6MDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJICBxdG11eDogcmVmYWN0b3IgYnVpbGRpbmcgc3RzZCBlbnRyeSAnd2F2ZScgZXh0ZW5zaW9uCgoyMDEwLTAyLTA4IDExOjUxOjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXNyZWNvdmVyeS5jOgoJICBxdG11eDogYXRvbXNyZWNvdmVyeTogRml4IGNvbXBpbGF0aW9uIHByb2JsZW0KCSAgRml4ZXMgYSBjb21waWxhdGlvbiBlcnJvciBkdWUgdG8gdW51c2VkIGZ1bmN0aW9uIHJlc3VsdC4KCjIwMDktMTItMTIgMTY6MDc6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXNyZWNvdmVyeS5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zcmVjb3ZlcnkuaDoKCSogZ3N0L3F1aWNrdGltZS9mb3VyY2MuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtb292cmVjb3Zlci5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eHBsdWdpbi5jOgoJICBxdG11eDogQWRkcyBtb292IHJlY292ZXJ5IGZlYXR1cmUKCSAgQWRkcyBhIG5ldyBwcm9wZXJ0eSB0byBxdG11eCB0aGF0IHNldHMgYSBwYXRoIHRvIGEgZmlsZSB0byB3cml0ZQoJICBhbmQgdXBkYXRlIGRhdGEgYWJvdXQgdGhlIG1vb3YgYXRvbSAodGhhdCBpcyBub3Qgd3JpdGVuIHRpbGwgdGhlCgkgIGVuZCBvZiB0aGUgZmlsZSkuIElmIHRoZSBwaXBlbGluZS9hcHAgY3Jhc2hlcyBkdXJpbmcgZXhlY3V0aW9uIGl0CgkgIG1pZ2h0IGJlIHBvc3NpYmxlIHRvIHJlY292ZXIgdGhlIG1vdmllIHVzaW5nIHRoZSBxdG1vb3ZyZWNvdmVyIGVsZW1lbnQuCgkgIHF0bW9vdnJlY292ZXIgaXMgYW4gZWxlbWVudCB0aGF0IGlzIGFsc28gYSBwaXBlbGluZS4gSXQgaXMgbm90CgkgIG1lYW50IHRvIGJlIHVzZWQgd2l0aCBvdGhlciBlbGVtZW50cyAoaXQgaGFzIG5vIHBhZHMpLiBJdCBpcyBtZXJlbHkKCSAgYSB0b29sL3V0aWxpdGFyeSB0byByZWNvdmVyIHVuZmluaXNoZWQgcXRtdXggZmlsZXMuCgkgIEZpeGVzICM2MDE1NzYKCjIwMTAtMDEtMjcgMTk6MDY6NTMgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJICBxdG11eDogZm9yIGZpeGVkLXNhbXBsZSBzaXplIHN0cmVhbXMgKFBDTSBhdWRpbywgZXRjKSBkb24ndCBhbGxvY2F0ZSBhbiBlbm9ybW91cyBidWZmZXIgdGhhdCB3ZSB0aGVuIHdvbid0IHVzZSBhdCBhbGwuCgoyMDEwLTAxLTI3IDE1OjM3OjM3IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGhhbmRsZSBtdXhpbmcgYWRwY20gY29ycmVjdGx5LgoKMjAxMC0wMS0yMiAxMzozNjowNCAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkgIHF0bXV4OiBTZXQgdGhlIG1kaWEgaGRsciBuYW1lIGZpZWxkIHRvIHdoYXQgcXVpY2t0aW1lIHVzZXMuIEZpeCB3cml0aW5nIGl0IHNpbmNlIGl0J3Mgbm90IG51bGwtdGVybWluYXRlZC4gSW1wcm92ZXMgY29tcGF0aWJpbGl0eSB3aXRoIHNvbWUgaGFyZHdhcmUgcGxheWVycy4KCjIwMTAtMDEtMjIgMTM6MzA6MDcgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogZW5kaWFubmVzcyBpbiBnc3RyZWFtZXIgaXMgYW4gaW50LCBub3QgYm9vbGVhbi4KCjIwMTAtMDEtMjYgMTc6NTQ6MjggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkgIHF0bXV4OiBzdHJlYW1saW5lIG1vb3YgZGF0YSBtZW1vcnkgc3RvcmFnZQoJICBJbiBwYXJ0aWN1bGFyLCB1c2UgYXJyYXlzIHJhdGhlciB0aGFuIChkb3VibGUpIGxpbmtlZCBsaXN0cy4KCjIwMTAtMDEtMjYgMTM6NDQ6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogZ19mcmVlIGlzIE5VTEwgc2FmZQoKMjAxMC0wMS0yMCAxMzozMDo0OCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L3F1aWNrdGltZS9kZXNjcmlwdG9ycy5jOgoJKiBnc3QvcXVpY2t0aW1lL2Rlc2NyaXB0b3JzLmg6CgkqIGdzdC9xdWlja3RpbWUvcHJvcGVydGllcy5jOgoJICBbY2xlYW51cF0gVmFyaW91cyBzdHlsZSBhbmQgY2xlYW51cHMKCSAgVmFyaW91cyBmaXhlcyBmb3IgZ3RrLWRvYyB3YXJuaW5ncyBhbmQgbWFraW5nIGZ1bmN0aW9ucyB3aXRob3V0CgkgIGFyZ3VtZW50cyB0YWtlIHZvaWQgYXMgcGFyYW1ldGVyLgoKMjAxMC0wMS0xNCAwODowOTowMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEFjdHVhbGx5IHVzZSBuZXcgY2FwcyBpbmZvIG9uIHJlbmVnb3RpYXRpb24KCSAgRm9sbG93aW5nIHRoZSBwcmV2aW91cyBxdG11eCBjb21taXQsIHRoaXMgcGF0Y2ggdHJpZXMKCSAgdG8gdXNlIHRoZSBuZXcgaW5mbyBhZGRlZCB0byB0aGUgY2FwcyB0byBmaWxsIHRoZSAndHJhaycKCSAgYXRvbSdzIGZpZWxkcyBhbmQgY2hpbGRyZW4gYXRvbXMuIFRoaXMgd2F5IHF0bXV4IHdpbGwKCSAgdXNlIHRoZSBsYXRlIGFkZGVkICdjb2RlY19kYXRhJyB3aGVuIGgyNjRwYXJzZSBhZGRzCgkgIGl0IGluIHRoZSBmb2xsb3dpbmcgcGlwZWxpbmU6CgkgIHZpZGVvdGVzdHNyYyBudW0tYnVmZmVycz0yMDAgISB4MjY0ZW5jIGJ5dGUtc3RyZWFtPXRydWUgISBcCgkgIGgyNjRwYXJzZSBvdXRwdXQtZm9ybWF0PTAgISBxdG11eCAhIFwKCSAgZmlsZXNpbmsgbG9jYXRpb249dGVzdC5tb3YKCjIwMTAtMDEtMTMgMjM6MzM6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBEbyBjYXBzIHJlbmVnb3RpYXRpb24gd2hlbiBpdCBvbmx5IGFkZHMgZmllbGRzCgkgIFF0bXV4IGNhbiBhY2NlcHQgY2FwcyByZW5lZ290aWF0aW9uIGlmIHRoZSBuZXcgY2FwcyBpcyBhCgkgIHN1cGVyc2V0IG9mIHRoZSBvbGQgb25lLCBtZWFuaW5nIHVwc3RyZWFtIGFkZGVkIG5ldyBpbmZvIHRvCgkgIHRoZSBjYXBzLiBUaGlzIHBhdGNoIHN0aWxsIGRvZXNuJ3QgbWFrZSBxdG11eCB1cGRhdGUgYW55CgkgIGF0b21zIGluZm8gZnJvbSB0aGUgbmV3IGluZm8sIGJ1dCBhdCBsZWFzdCBpdCBkb2Vzbid0CgkgIHJlamVjdCB0aGUgbmV3IGNhcHMgYW55bW9yZS4KCSAgQSBwaXBlbGluZSB0aGF0IHJlcHJvZHVjZXMgdGhpcyB1c2UgY2FzZSBpczoKCSAgdmlkZW90ZXN0c3JjIG51bS1idWZmZXJzPTIwMCAhIHgyNjRlbmMgYnl0ZS1zdHJlYW09dHJ1ZSAhIFwKCSAgaDI2NHBhcnNlIG91dHB1dC1mb3JtYXQ9MCAhIHF0bXV4ICEgXAoJICBmaWxlc2luayBsb2NhdGlvbj10ZXN0Lm1vdgoKMjAxMC0wMS0xMyAxOTozMDo0NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBwcm92aWRlIHJlcXVlc3QgcGFkcyB1bmRlciB3aWRlciBjb25kaXRpb25zCgkgIEZpeGVzICM2MDY4NTkuCgoyMDEwLTAxLTEzIDEwOjM1OjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IE9ubHkgYWNjZXB0IGF2Yy1zYW1wbGUgaDI2NAoJICBxdG11eCBhbmQgbXA0bXV4IHNob3VsZCBvbmx5IGFjY2VwdCBoMjY0IGluIGF2Yy1zYW1wbGUKCSAgZm9ybWF0CgoyMDEwLTAxLTExIDEzOjEzOjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJICBSZW5hbWUgYWFjJ3Mgc3RyZWFtLWZvcm1hdCAnbm9uZScgdG8gJ3JhdycKCSAgUmVuYW1lcyBhYWMncyBzdHJlYW0tZm9ybWF0IGZyb20gcHJldmlvdXMgY29tbWl0cyBmcm9tIG5vbmUgdG8KCSAgcmF3CgoyMDEwLTAxLTExIDEwOjM0OjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogT25seSBhY2NlcHQgc3RyZWFtLWZvcm1hdD0nbm9uZScgYWFjCgkgIE9ubHkgYWNjZXB0IHJhdyBhYWMgc3RyZWFtcyAoc3RyZWFtLWZvcm1hdD1ub25lKSB0byBhdm9pZAoJICBnZW5lcmF0aW5nIGludmFsaWQgZmlsZXMuCgkgIEZpeGVzICM2MDQ5MjUKCjIwMDktMTItMjggMTE6MzQ6MzUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IGFsc28gYWRkIC5oIGZpbGUgY2hhbmdlcyB0byB1bmJyZWFrIHRoZSBidWlsZAoKMjAwOS0xMi0yNyAyMzo1MTo1MCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogdXNlIGNvcnJlY3QgbmFtZXMgZnJvbSB0ZW1wbGF0ZSBmb3IgcmVxdWVzdCBwYWRzCgkgIFRoZSBwYWRzIHdoZXJlIG5hbWVzIHBhZDAsIHBhZDEsIC4uLgoKMjAwOS0xMi0yNyAyMzozMjo1OCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogbW92ZSBlcnJvcnMgX25ld19wYWQgdG8gdGhlIGVuZAoKMjAwOS0xMi0yMSAxMzo1ODozMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBBY2NlcHQgbm9uLXBhaXJlZCB1aW50IHRhZ3MKCSAgQWRkcyBzdXBwb3J0IGZvciB1bnBhaXJlZCB1bnNpZ25lZCBpbnRlcmdlciB0YWdzCgoyMDA5LTEyLTIxIDEyOjA1OjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZm91cmNjLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEFkZHMgbmV3IHRhZ3MKCSAgTWFwcyBtb3JlIHRhZ3MgdGhhdCBhcmUgYWxyZWFkeSBwb3N0ZWQgYnkgcXRkZW11eAoJICBGaXhlcyAjNTk5NzU5CgoyMDA5LTEyLTEwIDIyOjIwOjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2ZvdXJjYy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogc3VwcG9ydCBtb3JlIG9mIGoyawoJICBSZWFkcyB0aGUgbmV3IGNhcHMgYWRkZWQgdG8gcXRkZW11eCBieSBjb21taXQKCSAgYzkxN2Q2NWU2ZGYwYjVkNTg1ZjkwNWM3YWQ3OGE4YTBhNDRiMmNiMAoJICBhbmQgYWRkcyBpdHMgY29ycmVzcG9uZGluZyBhdG9tcy4KCSAgQWxzbyBhZGRzIHN1cHBvcnQgZm9yIGltYWdlL3gtanBjIGFzIGl0IGlzIHRoZSBzYW1lCgkgIGFzIGltYWdlL3gtanAyLCBleGNlcHQgdGhhdCB0aGUgYnVmZmVycyBuZWVkIHRvIGJlCgkgIGJveGVkIGluc2lkZSBhIGpwMmMgaXNvbSBib3ggYmVmb3JlIG11eGluZy4gVG8gc29sdmUKCSAgdGhpcyB0aGUgUVRQYWRzIG5vdyBoYXZlIGEgZnVuY3Rpb24gdGhhdCAoaWYKCSAgbm90IE5VTEwpIGlzIGNhbGxlZCB3aGVuIGEgYnVmZmVyIGlzIGNvbGxlY3RlZC4gVGhpcwoJICBmdW5jdGlvbiByZXR1cm5zIGEgcmVwbGFjZW1lbnQgdG8gdGhlIGN1cnJlbnQgY29sbGVjdGVkCgkgIGJ1ZmZlci4KCSAgRml4ZXMgIzU5ODkxNgoKMjAwOS0xMi0xMCAxNjo1MzoxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2ZvdXJjYy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IE1hcHMgJ2NsYXNzaWZpY2F0aW9uJyB0YWcgZm9yIDNncHAgZmlsZXMKCSAgQWRkcyB0aGUgbWFwcGluZyBvZiAnY2xhc3NpZmljYXRpb24nIHRhZ3MgdG8gd3JpdGluZyBvZgoJICAnY2xzZicgYXRvbXMgZm9yIGdwcG11eC4KCSAgQmFzZWQgb24gYSBwYXRjaCBieTogTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKMjAwOS0xMi0wOCAxNzo1OTowNCAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlbW92ZSBjKysgY29tbWVudHMgYW5kIGFkZCBzb21lIG1vcmUgY29tbWVudHMuCgoyMDA5LTEyLTA4IDE3OjU1OjU2IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2ZvdXJjYy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IGFkZCBpbWEgYWRwY20gc3VwcG9ydAoKMjAwOS0xMS0yNSAyMTo0MToyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiByZXBsYWNlIF9zY2FsZSB3aXRoIF9zY2FsZV9yb3VuZAoJICBVc2UgdGhlIHJvdW5kaW5nIHZlcnNpb24gZm9yIGltcHJvdmVkIHN5bmMgYmV0d2VlbiBzdHJlYW1zLgoJICBTbWFsbCB2YXJpYXRpb25zIGluIHRoZSBkdXJhdGlvbiB3aGVuIG11eGluZyBtaWdodCBsZWFkIHRvCgkgIGN1bXVsbGF0aXZlIHdyb25nIHRpbWVzdGFtcGluZyB3aGVuIGRlbXV4aW5nLgoJICBGaXhlcyAjNjAyOTM2CgoyMDA5LTExLTI0IDE2OjE2OjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHVzZSB0aW1lc3RhbXBzIGZvciBtdXhpbmcKCSAgVHJ5IHRvIHVzZSB0aW1lc3RhbXBzIGV2ZW4gd2hlbiB0aGUgc3RyZWFtIGhhcyBvdXQgb2Ygb3JkZXIKCSAgdGltZXN0YW1wcywgb25seSBmYWxsIGJhY2sgdG8gZHVyYXRpb25zIHdoZW4gd2UgZGV0ZWN0IGFuCgkgIG91dCBvZiBvcmRlciBidWZmZXIuIEltcHJvdmVzIHN5bmMgYmV0d2VlbiBzdHJlYW1zLgoKMjAwOS0xMS0xOSAxODoyODo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBmaXggbWlzc2luZyBkZWJ1ZyBhcmd1bWVudAoJICBBZGRzIGEgbWlzc2luZyBkZWJ1ZyBhcmd1bWVudAoKMjAwOS0xMS0xOSAxMTozNjoxNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBmaXggbWlzaW5mb3JtaW5nIGRlYnVnIHN0YXRlbWVudAoKMjAwOS0xMS0xOSAxMToxNDo1NyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBlbnN1cmUgd3JpdGFibGUgYnVmZmVyIG1ldGFkYXRhIGJlZm9yZSBzZXR0aW5nIGNhcHMKCjIwMDktMTAtMjkgMDg6MzY6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvZm91cmNjLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogc3VwcG9ydCBmb3IgU1ZRMwoJICBBZGRzIHN1cHBvcnQgZm9yIG11eGluZyBTVlEzIGNvbnRlbnQuIFVzdWFsbHkgdGhpcyBmb3JtYXQKCSAgaGFzIGRlY29kZXIgaW5mbyB0aGF0IG11c3QgYmUgcGFzc2VkIGluIHRoZSAnc2VxaCcgZmllbGQKCSAgaW4gdGhlIGNhcHMuIEl0IGlzIGFsc28gZ29vZCB0byBhZGQgdGhlIGdhbWEgYXRvbSB0byBtYWtlCgkgIHF1aWNrdGltZSBub3QgY3Jhc2guCgkgIEZpeGVzICM1ODc5MjIKCjIwMDktMTEtMTcgMDk6MjY6MDUgLTAzMDAgIFRoaWFnbyBTb3VzYSBTYW50b3MgPHRoaWFnb3NzQHJlZG1vb24uKG5vbmUpPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogZG8gbm90IGxlYWsgYSBzdHJpbmcKCSAgRnJlZXMgYSBzdHJpbmcgYWZ0ZXIgdXNlLiBBbHNvIGRvZXMgc29tZSBjb2RlIG9yZ2FuaXphdGlvbgoKMjAwOS0xMS0xNiAxNDo1Nzo1MyAtMDMwMCAgVGhpYWdvIFNvdXNhIFNhbnRvcyA8dGhpYWdvc3NAcmVkbW9vbi4obm9uZSk+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkgIHF0bXV4OiBkbyBub3QgYWRkIHNpemUgdG8gdGhlIHBvaW50ZXIgdmFyaWFibGUKCSAgRG8gbm90IHdyb25nbHkgYWRkIHRoZSByZXN1bHQgb2YgdGhlIGZ1bmN0aW9uIHRvIHRoZQoJICBwb2ludGVyIHRvIHRoZSBidWZmZXIgc2l6ZS4gSW5zdGVhZCwgY2hlY2sgdGhlIHJlc3VsdAoJICB0byBzZWUgaWYgdGhlIHNlcmlhbGl6YXRpb24gd2FzIG9rLgoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5OiAiQ2Fyc3RlbiBLcm9sbCA8Y2FyQHhpbWlkaS5jb20+IgoJICBGaXhlcyAjNjAyMTA2CgoyMDA5LTExLTA2IDEwOjM0OjM5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IGhhbmRsZSAnbGF0ZScgc3RyZWFtcwoJICBXaGVuIG11eGluZyBzdHJlYW1zLCBzb21lIGNhbiBzdGFydCBsYXRlciB0aGFuIG90aGVycy4gcXRtdXgKCSAgbm93IGhhbmRsZSB0aGlzIGJ5IGFkZGluZyBhbiBlbXB0eSBlZHRzIGVudHJ5IHdpdGggdGhlCgkgIGR1cmF0aW9uIG9mIHRoZSAnbGF0ZW5lc3MnIHRvIHRoZSBzdHJlYW0ncyB0cmFrLgoJICBJdCB0b2xlcmF0ZXMgYSBzdHJlYW0gdG8gYmUgdXAgdG8gMC4xcyBsYXRlLgoJICBGaXhlcyAjNTg2ODQ4CgoyMDA5LTExLTA1IDIxOjM1OjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJICBxdG11eDogYWRkcyB0aGUgRURUUyBhbmQgRUxUUyBhdG9tcyB0byBhdG9tcy5jCgkgIFRoZXNlIGF0b21zIHdpbGwgYmUgdXNlZnVsIGZvciBzaWduYWxpbmcgc3RyZWFtcwoJICB0aGF0IHN0YXJ0IGxhdGVyIGluIHRoZSBmaWxlLiBBcyB3ZWxsIGZvciBhZGRpbmcKCSAgZWRpdCBsaXN0cyBpZiBuZWVkZWQgc29tZXRpbWUgbGF0ZXIuCgoyMDA5LTExLTA2IDAwOjQ2OjEyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogQWRkaW5nIHNvbWUgaWZzIGZvciBwcm90ZWN0aW9uCgkgIEFkZGluZyBzb21lcyBpZnMgdG8gcHJvdGVjdCBhZ2FpbnN0IHdhcm5pbmcgY29uZGl0aW9ucwoJICB0aGF0IG1pZ2h0IGhhcHBlbiB3aGVuIHVwc3RyZWFtIGVsZW1lbnQgaXMgbm90IHNhbmUKCSAgRml4ZXMgIzYwMDg5NQoKMjAwOS0xMC0xNiAxMDo0NzozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvcXVpY2t0aW1lL2Z0eXBjYy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmg6CgkgIGdwcG11eDogQWRkIHN1cHBvcnQgZm9yIDNncjYKCSAgS2VlcCB0cmFjayBvZiB0aGUgY2h1bmsgZHVyYXRpb25zIHRvIGJlIGFibGUgdG8gYWRkIDNncjYKCSAgYnJhbmQgaWYgaXQgaXMgYSBmYXN0c3RhcnQgZmlsZSBhbmQgdGhlIGxvbmdlc3QgY2h1bmsgaXMKCSAgc21hbGxlciB0aGFuIGEgc2VjLiBJbXBsZW1lbnRlZCBhY2NvcmRpbmcgdG8gM2dwcAoJICBUUyAyNi4yNDQgdjYuNC4wICgyMDA1LTA5KQoJICBGaXhlcyAjNTg0MzYxCgoyMDA5LTEwLTE1IDIxOjExOjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IE9ubHkgcHVzaCBmdHlwIGxhdGVyIChpbiBmYXN0c3RhcnQgbW9kZSkKCSAgSW4gZmFzdHN0YXJ0IG1vZGUsIHRoZXJlIGlzIG5vIG5lZWQgdG8gc2VuZCB0aGUgZnR5cAoJICByaWdodCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBzdHJlYW0uIFdhaXRpbmcgYW5kIHNlbmRpbmcgaXQKCSAgb25seSBsYXRlciAod2hlbiB0aGUgbW9vdiBhdG9tIGlzIHJlYWR5IHRvIGJlIHNlbnQpIHByb3ZpZGVzCgkgIHVzIHdpdGggbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgc3RyZWFtIGFuZCB3ZSBjYW4gYmV0dGVyCgkgIHNlbGVjdCB0aGUgY29tcGF0aWJsZSBicmFuZHMuCgoyMDA5LTEwLTE1IDE3OjUxOjM5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEltcHJvdmUgZXJyb3IgbWVzc2FnZQoJICBJbXByb3ZlIGVycm9yIG1lc3NhZ2Ugd2hlbiB3ZSBjYW4ndCBnZXQgb3IgZXN0aW1hdGUgdGhlCgkgIHRpbWVzdGFtcC9kdXJhdGlvbiBvZiBhIGJ1ZmZlcgoKMjAwOS0wOS0yOSAxNTo0NzoxMyArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkgIHF0bXV4OiBmaXggZmxhZ3NfYXNfdWludCB0byBmbGFnc1tdCgoyMDA5LTA4LTA0IDEyOjU4OjM1ICswMjAwICBKYW4gVXJiYW5za2kgPHd1bGN6ZXJAd3VsY3plci5vcmc+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBEb24ndCByZXF1aXJlIGVuZGlhbm5lc3MgZmllbGQgZm9yIDggYml0IHJhdyBhdWRpbwoJICBGaXhlcyBidWcgIzU5MDM2MC4KCjIwMDktMDYtMjUgMDg6Mzg6MjEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkgIHF0bXV4OiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlLgoKMjAwOS0wNi0yNSAwODozODoxMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEZpeCBkZWJ1ZyBzdGF0ZW1lbnQuCgoyMDA5LTA2LTExIDE1OjU0OjQyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBvbmx5IHVzZSAoNjQtYml0KSBleHRlbmRlZCAobWRhdCkgYXRvbSBzaXplIGlmIG5lZWRlZC4gIEZpeGVzICM1ODUzMTkuCgoyMDA5LTA2LTEwIDE0OjQ2OjE0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHNldCBkZWZhdWx0IG1vdmllIHRpbWVzY2FsZSB0byBtaWNyb3NlY29uZCB1bml0cwoKMjAwOS0wNi0xMCAxMzoyNDoyMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkgIHF0bXV4OiBjb21wcmVzcy9vcHRpbWl6ZSBzdHNjIHdyaXRpbmcKCjIwMDktMDYtMTAgMTI6NDI6NDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvZm91cmNjLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogYWRkIDNHUCBzdHlsZSB0YWdnaW5nIChhbmQgcmVmYWN0b3IgYXBwcm9wcmlhdGVseSkKCjIwMDktMDYtMDEgMjM6MDA6NDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvZm91cmNjLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXggKGFuZCB2YXJpYW50cyk6IGhhbmRsZSBwaXhlbC1hc3BlY3QtcmF0aW8uICBGaXhlcyAjNTg0MzU4LgoKMjAwOS0wNi0wMSAyMjo0MjowOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9mdHlwY2MuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJICBncHBtdXg6IGVuaGFuY2UgZnR5cCBicmFuZCBoZXVyaXN0aWMuICBGaXhlcyAjNTg0MzYwLgoKMjAwOS0wNS0yOCAxMzo1NjoxMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2ZvdXJjYy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiB1c2UgZGlmZmVyZW50IHN0c2QgYXRvbSB0eXBlIGZvciBIMjYzIGZvciBJU08gYW5kIFFUIHZhcmlhbnRzCgkgIEZpeGVzICM1ODQxMTQuCgoyMDA5LTA1LTE1IDAxOjU0OjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSAgW3F0bXV4XSBGaXhlcyBzZWdmYXVsdCB3aGVuIGFkZGluZyBhIGJsb2IgYXMgZmlyc3QgdGFnLgoJICBNb3ZlcyB0YWdzIGRhdGEgaW5pdGlhbGl6YXRpb24gdG8gdGhlIGZ1bmN0aW9uIHRoYXQgYWN0dWFsbHkgYXBwZW5kcwoJICB0aGUgdGFncyB0byB0aGUgbGlzdC4gRml4ZXMgIzU4MjcwMgoJICBBbHNvIGZpeGVzIHNvbWUgc3R5bGUgY2F1Z2h0IGJ5IHRoZSBwcmUtY29tbWl0IGhvb2suCgoyMDA5LTA1LTEwIDIxOjIxOjM2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSAgZ3BwbXV4OiBBZGQgTVBFRy00IHBhcnQgMiB0byBzdXBwb3J0ZWQgZm9ybWF0cy4gIEZpeGVzICM1ODE1OTMuCgoyMDA5LTA1LTA3IDE3OjUzOjQyICswMTAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIEFkZCByYW5rcyB0byB2YXJpb3VzIG11eGVycyBhbmQgZW5jb2RlcnMgaW4gLWJhZAoKMjAwOS0wNC0zMCAxNDo0MzozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBjaGFuZ2VzIGNhcHMgb2Ygc3JjIHBhZHMgdG8gdmlkZW8vcXVpY2t0aW1lLCB2YXJpYW50PXNvbWV0aGluZwoJICBUYWtlIGEgbG9vayBhdCBidWcgIzU4MDAwNSBmb3IgZnVydGhlciBpbmZvLgoKMjAwOS0wNC0yNCAxODo1MzozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkgIG1wNG11eDogQ2hhbmdlcyBzcmMgY2FwcyB0byBhcHBsaWNhdGlvbi94LWlzby1tcDQKCSAgRml4ZXMgIzU4MDAwNQoKMjAwOS0wMy0yNSAyMToyNDo0NCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBmaXggcmV1c2luZyBlbGVtZW50CgkgIFN0YXRlIGNoYW5nZSB0byBSRUFEWSBhbmQgdGhlbiBiYWNrIHRvIFBBVVNFRCBzaG91bGQgc3RpbGwgcHJvdmlkZQoJICB0aGUgcHJvcGVyIHN0cnVjdHVyZXMgYXMgYXJlIG90aGVyd2lzZSBmcmVzaGx5IGF2YWlsYWJsZSBmb2xsb3dpbmcKCSAgYSByZXF1ZXN0X25ld19wYWQuCgkgIFBvaW50ZWQgb3V0IGJ5IFRoaWFnbyBTYW50b3MuCgoyMDA5LTAzLTIzIDExOjE3OjM5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogZml4IGluY2x1ZGVzIGZvciBsc2VlawoJICAtLQoKMjAwOS0wMy0yMCAxNDoyMDoxNiArMDEwMCAgTFJOIDxscm4xOTg2IGF0IGdtYWlsIGRvdCBjb20+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHdpbjMyOiBmaXggc2Vla2luZyBpbiBsYXJnZSBmaWxlcwoJICBVc2UgX2xzZWVraTY0KCkgb24gV2luZG93cyB0byBzZWVrIGluIGxhcmdlIGZpbGVzLgoJICBGaXhlcyAjNTc2MDIxLgoKMjAwOS0wMy0wMiAxMDo1NzozNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEJlIGEgYml0IG1vcmUgdmVyYm9zZSBpbiBvdXIgZGVidWcgbWVzc2FnZSB3aGVuIGZhaWxpbmcgdG8gcmVuZWdvdGlhdGUKCjIwMDktMDEtMjggMTM6MjU6MTQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJICBBZGRpdGlvbmFsIG1lZGlhIHR5cGUgc3VwcG9ydCBpbiBxdG11eCAoYW5kIGZyaWVuZHMpLgoJICBTdXBwb3J0IEFNUiBhbmQgSDI2MyBmb3IgYm90aCBxdG11eCBhbmQgZ3BwbXV4LAoJICBhbmQgYWRkIGV4dGVuc2lvbnMgaW4gc2FtcGxlIHRhYmxlIGRlc2NyaXB0aW9uLgoKMjAwOS0wMS0wOSAyMTo1OTo0OCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6IEFkZCB2aWRlby94LXF0LXBhcnQgYW5kIHZpZGVvL3gtbTQtcGFydCB0byBjYXBzIHNvIHNjaHJvZW5jL3NjaHJvcGFyc2UgY2FuIHVzZSBpdC4gIEZpeGVzICM1Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzogQWRkIHZpZGVvL3gtcXQtcGFydCBhbmQgdmlkZW8veC1tNC1wYXJ0CgkgIHRvIGNhcHMgc28gc2Nocm9lbmMvc2Nocm9wYXJzZSBjYW4gdXNlIGl0LiAgRml4ZXMgIzU2Njk1OAoKMjAwOC0xMi0xOSAxODo1Mzo0NyArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6IERvIG5vdCB0ZW1wdCBvciBzdWdnZXN0IHRvIHZpb2xhdGUgZ3N0X2NvbGxlY3RfcGFkcyBBUEkgc3BlY2lmaWNhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOiAoZ3N0X3F0X211eF9jaGFuZ2Vfc3RhdGUpOgoJICBEbyBub3QgdGVtcHQgb3Igc3VnZ2VzdCB0byB2aW9sYXRlIGdzdF9jb2xsZWN0X3BhZHMgQVBJIHNwZWNpZmljYXRpb24uCgoyMDA4LTEyLTE5IDE4OjMzOjQ3ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9xdWlja3RpbWUvOiBEdWFsIGxpY2Vuc2UgcXRtdXggTEdQTC9NSVQuICBGaXhlcyAjNTY0MjMyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkgICogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJICAqIGdzdC9xdWlja3RpbWUvZGVzY3JpcHRvcnMuYzoKCSAgKiBnc3QvcXVpY2t0aW1lL2Rlc2NyaXB0b3JzLmg6CgkgICogZ3N0L3F1aWNrdGltZS9mb3VyY2MuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2Z0eXBjYy5oOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL3Byb3BlcnRpZXMuYzoKCSAgKiBnc3QvcXVpY2t0aW1lL3Byb3BlcnRpZXMuaDoKCSAgRHVhbCBsaWNlbnNlIHF0bXV4IExHUEwvTUlULiAgRml4ZXMgIzU2NDIzMi4KCjIwMDgtMTItMTYgMTY6MjY6NTIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFRvdGFsbHkgcmVtb3ZlIHRoZSBpbnRlcm5hbCB0YWdsaXN0cyBhbmQgZnVsbHkgdXNlIHRhZ3NldHRlci4gRml4ZXMgdmFyaW91cyB0YWcgbXV4aW5nIGlzc3Vlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICAqIGV4dC9jZWx0L2dzdGNlbHRlbmMuaDoKCSAgKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJICBUb3RhbGx5IHJlbW92ZSB0aGUgaW50ZXJuYWwgdGFnbGlzdHMgYW5kIGZ1bGx5IHVzZSB0YWdzZXR0ZXIuIEZpeGVzCgkgIHZhcmlvdXMgdGFnIG11eGluZyBpc3N1ZXMuCgoyMDA4LTEyLTAxIDE2OjM3OjQ1ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9xdWlja3RpbWUvYXRvbXMuYzogRml4IG1qMiBzYW1wbGUgZGVzY3JpcHRpb24gbWV0YWRhdGEgY29uc3RydWN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6IChidWlsZF9qcDJoX2V4dGVuc2lvbik6CgkgIEZpeCBtajIgc2FtcGxlIGRlc2NyaXB0aW9uIG1ldGFkYXRhIGNvbnN0cnVjdGlvbi4KCjIwMDgtMTEtMTggMDE6MDk6MDkgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOiBRdWlldCBhIGRlYnVnZ2luZyBtZXNzYWdlIHRoYXQgSSByZWNlbnRseSBhZGRlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOiBRdWlldCBhIGRlYnVnZ2luZyBtZXNzYWdlIHRoYXQgSSByZWNlbnRseQoJICBhZGRlZC4KCjIwMDgtMTEtMTUgMDI6NTY6MzEgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L3F1aWNrdGltZS9nc3RxdG11eC4qOiBVc2UgZHRzIGZyb20gR1NUX0JVRkZFUl9PRkZTRVRfRU5EKCkgZm9yIHZpZGVvL3gtcXQtcGFydC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSAgVXNlIGR0cyBmcm9tIEdTVF9CVUZGRVJfT0ZGU0VUX0VORCgpIGZvciB2aWRlby94LXF0LXBhcnQuCgoyMDA4LTExLTE0IDIxOjI0OjUxICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9xdWlja3RpbWUvOiBSZXZlcnQgcHJldmlvdXMgY29tbWl0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkgICogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJICAqIGdzdC9xdWlja3RpbWUvZGVzY3JpcHRvcnMuYzoKCSAgKiBnc3QvcXVpY2t0aW1lL2Rlc2NyaXB0b3JzLmg6CgkgICogZ3N0L3F1aWNrdGltZS9mb3VyY2MuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2Z0eXBjYy5oOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL3Byb3BlcnRpZXMuYzoKCSAgKiBnc3QvcXVpY2t0aW1lL3Byb3BlcnRpZXMuaDoKCSAgUmV2ZXJ0IHByZXZpb3VzIGNvbW1pdC4KCjIwMDgtMTEtMTQgMjA6Mzg6MTggKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3F1aWNrdGltZS86IER1YWwgbGljZW5zZSBMR1BML01JVCwgYXMgYXBwYXJlbnRseSBzdXBwb3NlZCB0by4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJICAqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2Rlc2NyaXB0b3JzLmM6CgkgICogZ3N0L3F1aWNrdGltZS9kZXNjcmlwdG9ycy5oOgoJICAqIGdzdC9xdWlja3RpbWUvZm91cmNjLmg6CgkgICogZ3N0L3F1aWNrdGltZS9mdHlwY2MuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmg6CgkgICogZ3N0L3F1aWNrdGltZS9wcm9wZXJ0aWVzLmM6CgkgICogZ3N0L3F1aWNrdGltZS9wcm9wZXJ0aWVzLmg6CgkgIER1YWwgbGljZW5zZSBMR1BML01JVCwgYXMgYXBwYXJlbnRseSBzdXBwb3NlZCB0by4KCjIwMDgtMTEtMTQgMjA6MTc6MTAgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3F1aWNrdGltZS86IEN1dCBkZXRvdXIgaW4gc2FtcGxlIGRlc2NyaXB0aW9uIGV4dGVuc2lvbiBjb25zdHJ1Y3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzogKGJ1aWxkX2VzZHNfZXh0ZW5zaW9uKSwKCSAgKGJ1aWxkX21vdl9hYWNfZXh0ZW5zaW9uKSwgKGJ1aWxkX2pwMmhfZXh0ZW5zaW9uKSwKCSAgKGJ1aWxkX2NvZGVjX2RhdGFfZXh0ZW5zaW9uKToKCSAgKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkgICogZ3N0L3F1aWNrdGltZS9mb3VyY2MuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6IChnc3RfcXRfbXV4X2F1ZGlvX3Npbmtfc2V0X2NhcHMpLAoJICAoZ3N0X3F0X211eF92aWRlb19zaW5rX3NldF9jYXBzKToKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6IChnc3RfcXRfbXV4X21hcF9mb3JtYXRfdG9faGVhZGVyKToKCSAgQ3V0IGRldG91ciBpbiBzYW1wbGUgZGVzY3JpcHRpb24gZXh0ZW5zaW9uIGNvbnN0cnVjdGlvbi4KCSAgQWxzbyBhY3R1YWxseSBpbXBsZW1lbnQgSVNPIEpQRUcyMDAwIG1qMiBmb3JtYXQuCgoyMDA4LTExLTExIDE5OjMxOjM1ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIHVuaXQgdGVzdCBmb3IgcXRtdXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6IChzZXR1cF9zcmNfcGFkKSwKCSAgKHRlYXJkb3duX3NyY19wYWQpLCAoc2V0dXBfcXRtdXgpLCAoY2xlYW51cF9xdG11eCksCgkgIChjaGVja19xdG11eF9wYWQpLCAoR1NUX1NUQVJUX1RFU1QpLCAocXRtdXhfc3VpdGUpLCAobWFpbik6CgkgIEFkZCB1bml0IHRlc3QgZm9yIHF0bXV4LgoKMjAwOC0xMS0xMSAxOToyNDoxMiArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6IEFkZCBzb21lIG1vcmUgc2FmZXR5L3Nhbml0eSBjaGVja3MgaW4gdGFnIG1hbmlwdWxhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOiAoZ3N0X3F0X211eF9hZGRfbWV0YWRhdGFfdGFncyk6CgkgIEFkZCBzb21lIG1vcmUgc2FmZXR5L3Nhbml0eSBjaGVja3MgaW4gdGFnIG1hbmlwdWxhdGlvbi4KCjIwMDgtMTEtMDggMDI6MDA6NTggKzAwMDAgIFRoaWFnbyBTb3VzYSBTYW50b3MgPHRoaWFnb3NzYW50b3NAZ21haWwuY29tPgoKCSAgQ29weSBxdG11eCBmcm9tIHJldmlzaW9uIDE0OCBvZiB0aGUgZ3N0LXF0bXV4IHJlcG9zaXRvcnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogVGhpYWdvIFNvdXNhIFNhbnRvcyA8dGhpYWdvc3NhbnRvc0BnbWFpbC5jb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9xdWlja3RpbWUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJICAqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2Rlc2NyaXB0b3JzLmM6CgkgICogZ3N0L3F1aWNrdGltZS9kZXNjcmlwdG9ycy5oOgoJICAqIGdzdC9xdWlja3RpbWUvZm91cmNjLmg6CgkgICogZ3N0L3F1aWNrdGltZS9mdHlwY2MuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmg6CgkgICogZ3N0L3F1aWNrdGltZS9wcm9wZXJ0aWVzLmM6CgkgICogZ3N0L3F1aWNrdGltZS9wcm9wZXJ0aWVzLmg6CgkgIENvcHkgcXRtdXggZnJvbSByZXZpc2lvbiAxNDggb2YgdGhlIGdzdC1xdG11eCByZXBvc2l0b3J5LgoJICBGaXhlcyAjNTUwMjgwLgoKMjAxMS0wNC0xMiAxODoyNTozNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBBbmRyb2lkLm1rOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGdzdC9xdWlja3RpbWUvTEVHQUw6CgkqIGdzdC9xdWlja3RpbWUvTWFrZWZpbGUuYW06CgkqIGdzdC9xdWlja3RpbWUvZ3N0cnRweHF0ZGVwYXkuYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RydHB4cXRkZXBheS5oOgoJKiBnc3QvcXVpY2t0aW1lL3F0YXRvbXBhcnNlci5oOgoJKiBnc3QvcXVpY2t0aW1lL3F0ZGVtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9xdGRlbXV4Lmg6CgkqIGdzdC9xdWlja3RpbWUvcXRkZW11eC52Y3Byb2o6CgkqIGdzdC9xdWlja3RpbWUvcXRkZW11eF9kdW1wLmM6CgkqIGdzdC9xdWlja3RpbWUvcXRkZW11eF9kdW1wLmg6CgkqIGdzdC9xdWlja3RpbWUvcXRkZW11eF9mb3VyY2MuaDoKCSogZ3N0L3F1aWNrdGltZS9xdGRlbXV4X2xhbmcuYzoKCSogZ3N0L3F1aWNrdGltZS9xdGRlbXV4X2xhbmcuaDoKCSogZ3N0L3F1aWNrdGltZS9xdGRlbXV4X3R5cGVzLmM6CgkqIGdzdC9xdWlja3RpbWUvcXRkZW11eF90eXBlcy5oOgoJKiBnc3QvcXVpY2t0aW1lL3F0cGFsZXR0ZS5oOgoJKiBnc3QvcXVpY2t0aW1lL3F1aWNrdGltZS5jOgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgcXRkZW11eDogcmVuYW1lIGRpcmVjdG9yeSB0byBxdWlja3RpbWUgdG8gbWF0Y2ggcGx1Z2luIG5hbWUKCSAgSW4gcHJlcGFyYXRpb24gZm9yIHF0bXV4IG1vdmluZyB0byAtZ29vZC4KCjIwMTEtMDQtMTIgMTE6NDk6NTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogc2ltcGxpZnkgZnJhbWVyYXRlIGZyYWN0aW9uIGNhbGN1bGF0aW9uCgoyMDExLTAxLTI0IDE1OjQ1OjI4IC0wNjAwICBMZW9uYXJkbyBTYW5kb3ZhbCA8bHNhbmRvdmFsQHRpLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICBmbHZkZW11eDogYWRkIHdpZHRoLCBoZWlnaHQgYW5kIGZyYW1lcmF0ZSB0byBjYXBzIHdoZW4gcHJlc2VudCBvbiBvbk1ldGFEYXRhCgkgIEZpeGVzICM2NDA0ODMuCgoyMDEwLTA4LTI0IDEzOjU3OjU1ICswMjAwICBQYXNjYWwgQnVobGVyIDxwYXNjYWwuYnVobGVyQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IFVua25vd24gU1NSQyBpcyBub3QgZmF0YWwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0Njk2NgoKMjAxMC0wOC0yNCAxMzo1NDo1OCArMDIwMCAgUGFzY2FsIEJ1aGxlciA8cGFzY2FsLmJ1aGxlckB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IE51bWJlciBvZiBhY3RpdmUgc291cmNlcyBzaG91bGQgYmUgdXBkYXRlZCB3aGVuZXZlciB0aGUgc3RhdHVzIG9mIHRoZSBzb3VyY2UgY2hhbmdlcyB0byBhY3RpdmUKCSAgRm9yd2FyZC1wb3J0ZWQgYnkgT2xpdmllciBDcsOqdGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0Njk2NQoKMjAxMC0wNi0yMyAxMToyOTo1OCArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBtYW5hZ2VyOiBpZ25vcmUgYSBCWUUgaWYgaXQgaXMgc2VudCB3aXRoIG91ciBpbnRlcm5hbCBTU1JDCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDY5NjQKCjIwMTAtMDEtMjkgMDk6NDk6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBBZGRzIG1vcmUgaDI2NCBmaWVsZHMgdG8gaXRzIGNhcHMKCSAgQWRkcyBhbGlnbm1lbnQ9YXUgYW5kIHN0cmVhbS1mb3JtYXQ9YXZjIHRvIGgyNjQgY2FwcwoJICBGaXhlcyAjNjA2NjYyCgoyMDExLTA0LTExIDEyOjQ0OjE5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IGFsc28gaGFuZGxlIGRlcHJlY2F0aW9ucyBmb3IgamFjayAxLjkuNwoJICBKYWNrIDEuOS43IHdhcyByZWxlYXNlZCAyMC5NYXIuMjAxMSwgbmVlZCB0byBoYW5kbGUgdGhlIGRlcHJlY2F0ZWQgYXBpIGZvciB0aGlzCgkgIHZlcnNpb24gdG9vLgoKMjAxMS0wNC0xMSAwMDozNjozNSAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSAgYW5kcm9pZDogbWFrZSBpdCByZWFkeSBmb3IgYW5kcm9nZW5pemVyCgkgIFJlbW92ZSB0aGUgYW5kcm9pZC8gdG9wIGRpcgoJICBGaXhlIHRoZSBNYWtlZmlsZS5hbSB0byBiZSBhbmRyb2dlbml6ZWQKCSAgVG8gYnVpbGQgZ3N0cmVhbWVyIGZvciBhbmRyb2lkIHdlIGFyZSBub3cgdXNpbmcgYW5kcm9nZW5pemVyIHdoaWNoIGdlbmVyYXRlcyB0aGUgbmVlZGVkIEFuZHJvaWQubWsgZmlsZXMuCgkgIEFuZHJvZ2VuaXplciBjYW4gYmUgZm91bmQgaGVyZTogaHR0cDovL2dpdC5jb2xsYWJvcmEuY28udWsvP3A9dXNlci9kZXJlay9hbmRyb2dlbml6ZXIuZ2l0CgoyMDExLTA0LTEwIDE4OjU2OjUyIC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jby51az4KCgkqIEFuZHJvaWQubWs6CgkqIGFuZHJvaWQvTk9USUNFOgoJKiBhbmRyb2lkL2FwZXRhZy5tazoKCSogYW5kcm9pZC9hdmkubWs6CgkqIGFuZHJvaWQvZmx2Lm1rOgoJKiBhbmRyb2lkL2dzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmM6CgkqIGFuZHJvaWQvZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwuaDoKCSogYW5kcm9pZC9nc3QvdWRwL2dzdHVkcC1lbnVtdHlwZXMuYzoKCSogYW5kcm9pZC9nc3QvdWRwL2dzdHVkcC1lbnVtdHlwZXMuaDoKCSogYW5kcm9pZC9nc3QvdWRwL2dzdHVkcC1tYXJzaGFsLmM6CgkqIGFuZHJvaWQvZ3N0L3VkcC9nc3R1ZHAtbWFyc2hhbC5oOgoJKiBhbmRyb2lkL2ljeWRlbXV4Lm1rOgoJKiBhbmRyb2lkL2lkM2RlbXV4Lm1rOgoJKiBhbmRyb2lkL3F0ZGVtdXgubWs6CgkqIGFuZHJvaWQvcnRwLm1rOgoJKiBhbmRyb2lkL3J0cG1hbmFnZXIubWs6CgkqIGFuZHJvaWQvcnRzcC5tazoKCSogYW5kcm9pZC9zb3VwLm1rOgoJKiBhbmRyb2lkL3VkcC5tazoKCSogYW5kcm9pZC93YXZlbmMubWs6CgkqIGFuZHJvaWQvd2F2cGFyc2UubWs6CgkqIGdzdC9hbHBoYS9NYWtlZmlsZS5hbToKCSogZ3N0L2FwZXRhZy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkqIGdzdC9hdXBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvYXV0b2RldGVjdC9NYWtlZmlsZS5hbToKCSogZ3N0L2F2aS9NYWtlZmlsZS5hbToKCSogZ3N0L2N1dHRlci9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWludGVybGFjZS9NYWtlZmlsZS5hbToKCSogZ3N0L2VmZmVjdHYvTWFrZWZpbGUuYW06CgkqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkqIGdzdC9mbHgvTWFrZWZpbGUuYW06CgkqIGdzdC9nb29tL01ha2VmaWxlLmFtOgoJKiBnc3QvZ29vbTJrMS9NYWtlZmlsZS5hbToKCSogZ3N0L2ljeWRlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvaWQzZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9pbWFnZWZyZWV6ZS9NYWtlZmlsZS5hbToKCSogZ3N0L2ludGVybGVhdmUvTWFrZWZpbGUuYW06CgkqIGdzdC9sYXcvTWFrZWZpbGUuYW06CgkqIGdzdC9sZXZlbC9NYWtlZmlsZS5hbToKCSogZ3N0L21hdHJvc2thL01ha2VmaWxlLmFtOgoJKiBnc3QvbW9ub3Njb3BlL01ha2VmaWxlLmFtOgoJKiBnc3QvbXVsdGlmaWxlL01ha2VmaWxlLmFtOgoJKiBnc3QvbXVsdGlwYXJ0L01ha2VmaWxlLmFtOgoJKiBnc3QvcXRkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3JlcGxheWdhaW4vTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRzcC9NYWtlZmlsZS5hbToKCSogZ3N0L3NoYXBld2lwZS9NYWtlZmlsZS5hbToKCSogZ3N0L3NtcHRlL01ha2VmaWxlLmFtOgoJKiBnc3Qvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkqIGdzdC91ZHAvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2JveC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvY3JvcC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZmlsdGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L3dhdmVuYy9NYWtlZmlsZS5hbToKCSogZ3N0L3dhdnBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJICBhbmRyb2lkOiBNYWtlIGl0IHJlYWR5IGZvciBhbmRyb2dlbml6ZXIKCSAgUmVtb3ZlIHRoZSBhbmRyb2lkLyB0b3AgZGlyCgkgIEZpeGUgdGhlIE1ha2VmaWxlLmFtIHRvIGJlIGFuZHJvZ2VuaXplZAoJICBUbyBidWlsZCBnc3RyZWFtZXIgZm9yIGFuZHJvaWQgd2UgYXJlIG5vdyB1c2luZyBhbmRyb2dlbml6ZXIgd2hpY2ggZ2VuZXJhdGVzIHRoZSBuZWVkZWQgQW5kcm9pZC5tayBmaWxlcy4KCSAgQW5kcm9nZW5pemVyIGNhbiBiZSBmb3VuZCBoZXJlOiBodHRwOi8vZ2l0LmNvbGxhYm9yYS5jby51ay8/cD11c2VyL2RlcmVrL2FuZHJvZ2VuaXplci5naXQKCjIwMTEtMDQtMDUgMjE6MTQ6NDMgKzAyMDAgIEhhYWtvbiBTcG9yc2hlaW0gPGhhYWtvbi5zcG9yc2hlaW1AZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSAgcnRwZ3N0cGF5OiBkZWNsYXJlIGZyYWdfb2Zmc2V0IHRvIGhvbGQgMzJiaXRzLgoJICBBcyBzcGVjaWZpZWQgaW4gZG9jdW1lbmF0aW9uIGFib3ZlIGFuZCBiZWxvdy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0Njk1NAoKMjAxMS0wNC0wOSAxMjo0MTo0OCArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBmaXggd3JvbmdseSBhcHBsaWVkIHBhdGNoCgkgIE9idmlvdXNseSByZWN2X3J0cF9zaW5rIGRvZXMgbm90IGhhdmUgbXVjaCB0byBkbyB3aXRoIHNlbmRfcnRjcF9zcmMuLi4KCSAgU2VlIGNvbW1pdCAwNDZmZjE3MC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0NzI2MwoKMjAxMS0wNC0wOCAxNTo1OTo1OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiB1cGRhdGUgZm9yIHNldF9mcmFtZV9wcm9wcyAtPiBzZXRfZnJhbWVfcmF0ZSBBUEkgY2hhbmdlCgoyMDExLTA0LTA4IDAwOjAzOjIxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICB0ZXN0czogaG9vayB1cCBhdWRpb3BhcnNlciB1bml0IHRlc3RzCgoyMDExLTA0LTA3IDE4OjMwOjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgbXBlZ2F1ZGlvcGFyc2U6IHJlbGF4IHN5bmMgbWF0Y2ggYSBiaXQgd2hlbiBkcmFpbmluZwoJICAuLi4gdG8gYXQgbGVhc3QgYWxsb3cgaW5pdGlhbCBjYXBzIGNoYW5nZSAoYnV0IG5vIGZ1cnRoZXIgY2FwcyBqaXR0ZXIpLgoJICBGaXhlcyB1bml0IHRlc3QgYWdhaW4gYWZ0ZXIgcHJldmlvdXMgY2hhbmdlLgoKMjAxMS0wNC0wNyAxNToyMToxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJICBkb2NzOiB1cGRhdGUgZm9yIGNoYW5nZXMgaW4gZ2l0CgoyMDExLTA0LTA3IDE1OjIwOjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSAgZG9jczogYWRkIGF1ZGlvcGFyc2VycyB0byBkb2NzCgoyMDExLTA0LTA3IDE1OjA3OjE1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSAgYWFjcGFyc2UsIGFtcnBhcnNlOiBnc3RfZm9vcGFyc2VfeHl6IC0+IGdzdF9mb29fcGFyc2VfeHl6IHRvIG1hdGNoIEdzdEZvb1BhcnNlCgkgIFNlZSBtb3ZpbmctcGx1Z2lucyBjaGVja2xpc3QuCgoyMDExLTA0LTA3IDE0OjQzOjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSAgYXVkaW9wYXJzZXJzOiBob29rIHVwIHRvIGJ1aWxkCgoyMDExLTA0LTA3IDEzOjI2OjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuaDoKCSAgYXVkaW9wYXJzZXJzOiBwb3J0IHRvIG5ldyBHc3RCYXNlUGFyc2UgaW4gY29yZQoKMjAxMS0wNC0wNCAyMDo1NTozOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiByZXF1aXJlIHRpZ2h0ZXIgc3luYyBtYXRjaCB3aGVuIGRyYWluaW5nCgoyMDExLTA0LTAxIDE0OjQ3OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5oOgoJICBtcGVnYXVkaW9wYXJzZTogUGFyc2UgZW5jb2RlciBkZWxheSBhbmQgZW5jb2RlciBwYWRkaW5nIGZyb20gdGhlIExBTUUgaGVhZGVyIGlmIHByZXNlbnQKCjIwMTEtMDMtMDkgMjM6MDY6MTQgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSAgZGNhcGFyc2U6IEJ1bXAgcmFuayB0byBwcmltYXJ5KzEKCSAgU2VlbXMgdG8gd29yayBmaW5lIHdpdGggYSByZWFzb25hYmx5IHdpZGUgcmFuZ2Ugb2YgbWVkaWEsIHNvIGJ1bXBpbmcKCSAgcmFuay4KCjIwMTEtMDMtMjMgMjI6MDI6MzcgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmg6CgkgIGRjYXBhcnNlOiBFeHBvc2UgZnJhbWUgc2l6ZSBpbiBjYXBzCgkgIFRoaXMgZXhwb3J0cyB0aGUgc2l6ZSBvZiB0aGUgZnJhbWUgKG51bWJlciBvZiBieXRlcyBmcm9tIG9uZSBzeW5jIHBvaW50CgkgIHRvIHRoZSBuZXh0KSBhcyB0aGUgImZyYW1lX3NpemUiIGZpZWxkIGluIGNhcHMuCgoyMDExLTAzLTA5IDIzOjAzOjEwICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5oOgoJICBkY2FwYXJzZTogRXhwb3NlIGJsb2NrIHNpemUgaW4gY2FwcwoJICBUaGlzIHNldHMgdGhlICJibG9ja19zaXplIiBmaWVsZCBvbiBjYXBzIGFzIHRoZSBudW1iZXIgb2Ygc2FtcGxlcwoJICBlbmNvZGVkIGluIG9uZSBmcmFtZS4KCjIwMTEtMDMtMTYgMTU6NTM6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBtcGVnYXVkaW9wYXJzZTogYWRkIEZJWE1FIGZvciBtYWtpbmcgdGhlIGJhc2UgY2xhc3MgdXNlIHhpbmcgc2VlayB0YWJsZXMgYmV0dGVyCgoyMDExLTAzLTE0IDE4OjI1OjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5oOgoJICBkY2FwYXJzZTogQWRkIGRlcHRoIGFuZCBlbmRpYW5uZXNzIHRvIHRoZSBjYXBzCgkgIFNvbWUgZGVjb2RlcnMgY2FuIG9ubHkgaGFuZGxlIHNwZWNpZmljIGVuZGlhbm5lc3Mgb3IgYSBmaXhlZAoJICBkZXB0aCBhbmQgdGhpcyBhbGxvd3MgYmV0dGVyIG5lZ290aWF0aW9uLgoJICBGaXhlcyBidWcgIzY0NDIwOC4KCjIwMTEtMDItMjYgMTM6NTM6NDQgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBSZXZlcnQgImFhY3BhcnNlOiBhbGxvdyBwYXJzZWQgZnJhbWVzIG9uIHNpbmsgcGFkIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGU0OWI4OWQ1YzVhMTI0NGZhMGRjYjhiYjQ5OTZlMzhmYjliZmY5ZTUuCgoyMDExLTAyLTIzIDE3OjI1OjAzIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGFsbG93IHBhcnNlZCBmcmFtZXMgb24gc2luayBwYWQKCjIwMTAtMTAtMTMgMTY6MTI6MDIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkgIHRlc3RzOiBmaXggYmFzZXBhcnNlIHRlc3QKCjIwMTAtMTAtMTMgMTU6Mzk6NTUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmg6CgkgIGJhc2VwYXJzZTogQ3JlYXRlIGJhc2VwYXJzZSBsaWJyYXJ5CgoyMDExLTAyLTA3IDE0OjQ2OjU3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogdHVuZSBRVUVSWV9TRUVLSU5HIHJlc3BvbnNlCgkgIEV2ZW4gaWYgd2UgY3VycmVudGx5IGRvIG5vdCBoYXZlIGEgZHVyYXRpb24geWV0LCBhc3N1bWUgc2Vla2FibGUgaWYKCSAgaXQgbG9va3MgbGlrZSB3ZSdsbCBsaWtlbHkgYmUgYWJsZSB0byBkZXRlcm1pbmUgaXQgbGF0ZXIgb24KCSAgKHdoaWNoIGNvaW5jaWRlcyB3aXRoIG5lZWRlZCBpbmZvcm1hdGlvbiB0byBwZXJmb3JtIHNlZWtpbmcpLgoJICBGaXhlcyAjNjQxMDQ3LgoKMjAxMS0wMi0wOCAyMzozOToyNCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IFVwZGF0ZSBtaW4vbWF4IGJpdHJhdGUgYmVmb3JlIGZpcnN0IHBvc3RpbmcgdGhlbQoJICBUaGlzIGF2b2lkcyBwb3N0aW5nIGFuIGluaXRpYWwgbWluLWJpdHJhdGUgb2YgR19VSU5UTUFYIGFuZCBtYXgtYml0cmF0ZQoJICBvZiAwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQxODU3CgoyMDExLTAyLTA4IDIzOjUwOjEzICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5oOgoJICBtcGVnYXVkaW9wYXJzZTogUG9zdCBDQlIgYml0cmF0ZSBhcyBub21pbmFsIGJpdHJhdGUKCSAgRXZlbiBpZiBWQlIgaGVhZGVycyBhcmUgbWlzc2luZywgd2UgY2FuJ3QgZ3VhcmFudGVlIHRoYXQgYSBzdHJlYW0gaXMgaW4KCSAgZmFjdCBhIENCUiBzdHJlYW0sIHNvIGl0J3Mgc2FmZXIgdG8gbGV0IGJhc2VwYXJzZSBjYWxjdWxhdGUgdGhlIGF2ZXJhZ2UKCSAgYml0cmF0ZSByYXRoZXIgdGhhbiBhc3N1bWUgYSBDQlIgc3RyZWFtLiBIb3dldmVyLCBpbiBvcmRlciB0byBtYWtlCgkgIC9zb21lLyBtZXRhZGF0YSBhdmFpbGFibGUgYmVmb3JlIHRoZSByZXF1aXNpdGUgbnVtYmVyIG9mIGZyYW1lcyBoYXZlCgkgIGJlZW4gcGFyc2VkLCB0aGlzIHBvc3RzIHRoZSBiaXRyYXRlIGZyb20gdGhlIG5vbi1WQlIgaGVhZGVycyBhcyB0aGUKCSAgbm9taW5hbCBiaXRyYXRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQxODU4CgoyMDEwLTA5LTA2IDE0OjEwOjExICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSAgYW1ycGFyc2U6IGEgdmFsaWQgYW1yLXdiIGZyYW1lIHNob3VsZCBub3QgaGF2ZSByZXNlcnZlZCBmcmFtZSB0eXBlIGluZGV4CgkgIFNlZSAjNjM5NzE1LgoKMjAxMS0wMS0yNyAxNjo1MjozNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBpbXByb3ZlIGhhbmRsaW5nIG9mIGRlcGVuZGVudCBzdWJzdHJlYW0gZnJhbWVzCgkgIEluIHBhcnRpY3VsYXIsIHRpbWVzdGFtcHMgb2YgdGhlc2Ugc2hvdWxkIHRyYWNrIG1haW4tc3RyZWFtIHRpbWVzdGFtcHMuCgoyMDExLTAxLTIxIDE0OjUzOjM5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogdHVuZSBkZWZhdWx0IGR1cmF0aW9uIGVzdGltYXRlIHVwZGF0ZSBpbnRlcnZhbAoJICBSYXRoZXIgdGhhbiBhIGZpeGVkIGRlZmF1bHQgZnJhbWUgY291bnQsIGVzdGltYXRlIGZyYW1lIGNvdW50IHRvIGFpbSBmb3IKCSAgYW4gaW50ZXJ2YWwgZHVyYXRpb24gZGVwZW5kaW5nIG9uIGZwcyBpZiBhdmFpbGFibGUsIG90aGVyd2lzZSB1c2Ugb2xkCgkgIGZpeGVkIGRlZmF1bHQuCgoyMDExLTAxLTE0IDE1OjE2OjA0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcmV2ZXJzZSBwbGF5YmFjazsgbWluZCBrZXlmcmFtZXMgZm9yIGZyYWdtZW50IGJvdW5kYXJ5CgoyMDExLTAxLTEzIDE1OjI2OjIxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSAgYW1ycGFyc2U6IHByb3Blcmx5IGNoZWNrIGZvciBzdWZmaWNpZW50IGF2YWlsYWJsZSBkYXRhIHByaW9yIHRvIGFjY2VzcwoKMjAxMS0wMS0xMiAxNDo0MDozNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGVuc3VyZSBub24tZW1wdHkgY2FuZGlkYXRlIGZyYW1lcwoKMjAxMS0wMS0xMSAxNToyNDoyMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGNsYXJpZnkgc29tZSBkZWJ1ZyBzdGF0ZW1lbnRzCgoyMDExLTAxLTExIDE1OjI0OjAyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcHJvcGVybHkgdHJhY2sgdXBzdHJlYW0gdGltZXN0YW1wcwoJICAuLi4gcmF0aGVyIHRoYW4gd2l0aCBhIGRlbGF5LgoKMjAxMS0wMS0xMSAxNToyMzoyOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IG5lZWQgcHJvcGVyIGZyYW1lIGR1cmF0aW9uIHRvIG9idGFpbiBzZW5zaWJsZSBmcmFtZSBiaXRyYXRlCgoyMDExLTAxLTExIDE1OjIyOjUxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcHJvcGVyIGluaXRpYWwgdmFsdWVzIGZvciBpbmRleCB0cmFja2luZyB2YXJpYWJsZXMKCjIwMTEtMDEtMTEgMTI6MDU6MTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBhcnJhbmdlIGZvciBjb25zaXN0ZW50IGV2ZW50IGhhbmRsaW5nCgoyMDExLTAxLTEwIDE2OjU5OjU5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogaGVhZGVyIHN0eWxlIGNsZWFuaW5nCgoyMDExLTAxLTEwIDE3OjA3OjM4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcHJvdmlkZSBzb21lIG1vcmUgaW5pdGlhbCBmcmFtZSBtZXRhZGF0YSBpbiBwYXJzZV9mcmFtZQoJICAuLi4gYW5kIGRvY3VtZW50IGFjY29yZGluZ2x5LgoKMjAxMS0wMS0xMCAxNjo1NjozNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGJhc2VwYXJzZTogcmVmYWN0b3IgcGFzc3Rocm91Z2ggaW50byBmb3JtYXQgZmxhZ3MKCSAgQWxzbyBhZGQgYSBmb3JtYXQgZmxhZyB0byBzaWduYWwgYmFzZXBhcnNlIHRoYXQgc3ViY2xhc3MvZm9ybWF0IGNhbiBwcm92aWRlCgkgIChwYXJzZWQpIHRpbWVzdGFtcCByYXRoZXIgdGhhbiBhbiBlc3RpbWF0ZWQgb25lLiAgSW4gcGFydGljdWxhciwgc3VjaCAic3Ryb25nIgoJICB0aW1lc3RhbXAgdGhlbiBhbGxvd3MgdG8gZS5nLiBkZXRlcm1pbmUgZHVyYXRpb24uCgoyMDExLTAxLTEwIDE1OjM0OjQ4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBiYXNlcGFyc2U6IGludHJvZHVjZSBhIGJhc2VwYXJzZSBmcmFtZSB0byBzZXJ2ZSBhcyBjb250ZXh0CgkgIC4uLiBhbmQgYWRqdXN0IHN1YmNsYXNzIHBhcnNlcnMgYWNjb3JkaW5nbHkKCjIwMTEtMDEtMDcgMTY6Mzk6NTEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiByZXN0cmljdCBkdXJhdGlvbiBzY2FubmluZyB0byBwdWxsIG1vZGUgYW5kIGF2b2lkIGV4dHJhIHNldF9jYXBzIGNhbGwKCjIwMTEtMDEtMDcgMTU6NTg6NDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiB1cGRhdGUgc29tZSBkb2N1bWVudGF0aW9uCgkgIEFsc28gYWRkIHNvbWUgbW9yZSBkZWJ1Zy4KCjIwMTEtMDEtMDYgMTE6NDE6NDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBhbGxvdyBpbmNyZWFzaW5nIG1pbl9zaXplIGZvciBjdXJyZW50IGZyYW1lIHBhcnNpbmcgb25seQoJICBBbHNvIGNoZWNrIHRoYXQgc3ViY2xhc3MgYWN0dWFsbHkgZWl0aGVyIGRpcmVjdHMgdG8gc2tpcCBieXRlcyBvcgoJICBpbmNyZWFzZXMgZXhwZWN0ZWQgZnJhbWUgc2l6ZSB0byBhdm9pZCBnb2luZyBub3doZXJlIGluIGJvZ3VzCgkgIGluZGVmaW5pdGUgbG9vcGluZy4KCjIwMTEtMDEtMTQgMTU6MjY6MzcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFlc3BhcnNlOiBmaXggcmVmYWN0b3IgcmVncmVzc2lvbiBpbiBsb29wIGJhc2VkIHBhcnNpbmcKCjIwMTEtMDEtMDYgMTE6MTY6NTYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwYXNzIGFsbCBhdmFpbGFibGUgZGF0YSB0byBzdWJjbGFzcyByYXRoZXIgdGhhbiBtaW5pbXVtCgkgIEFsc28gcmVkdWNlIHNvbWUgYWRhcHRlciBjYWxscyBhbmQgYWRkIGEgZmV3IGRlYnVnIHN0YXRlbWVudHMuCgoyMDEwLTEyLTEwIDE1OjU5OjQ5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZml4IHJldmVyc2UgcGxheWJhY2sgaGFuZGxpbmcKCjIwMTAtMTItMTAgMTQ6NTY6MTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBtaW5vciB0eXBvIGFuZCBkZWJ1ZyBzdGF0ZW1lbnQgY2xlYW51cAoKMjAxMC0xMi0xMCAxNDo0MDowNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IHJlZHVjZSBsb2NraW5nCgkgIC4uLiB3aGljaCBpcyBlaXRoZXIgYWxyZWFkeSBtdXRlIGFuZC9vciBpbXBsaWNpdGx5IGhhbmRsZWQgYnkgU1RSRUFNX0xPQ0suCgoyMDExLTAxLTE0IDE0OjA4OjM4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogYXZvaWQgbG9vcCBpbiBmcmFtZSBsb2NhdGluZyBpbnRlcnBvbGF0aW9uCgoyMDExLTAxLTE5IDE4OjI2OjMwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogbWluZCBnc3RfYnVmZmVyX3VucmVmIG5vdCBsaWtpbmcgTlVMTAoJICBGaXhlcyAjNjM5OTUwLgoKMjAxMS0wMS0xNCAxNjozMDoxMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IGJhc2VwYXJzZTogQmUgY2FyZWZ1bCB0byBub3QgbG9zZSB0aGUgZXZlbnQgcmVmCgkgIERvbid0IHVucmVmIHRoZSBldmVudCBpZiBpdCBoYXNuJ3QgYmVlbiBoYW5kbGVkLCBiZWNhdXNlIHRoZSBjYWxsZXIKCSAgYXNzdW1lcyBpdCBpcyBzdGlsbCB2YWxpZCBhbmQgbWlnaHQgcmV1c2UgaXQuCgkgIEkgcmFuIGludG8gdGhpcyBwcm9ibGVtIHdoZW4gdHJhbnNjb2RpbmcgYW4gQVZJICh3aXRoIG1wMyBpbnNpZGUpCgkgIHRvIGdwcC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzOTU1NQoKMjAxMS0wMS0xMyAxNzoxMDoxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkgIGRjYXBhcnNlOiBmaXggc3luYyB3b3JkIGZvciAxNC1iaXQgbGl0dGxlIGVuZGlhbiBjb2RpbmcKCSAgRml4IGNvcHknbidwYXN0ZSBidWcgdGhhdCBtYWRlIHVzIGxvb2sgZm9yIHRoZSByYXcgbGl0dGxlIGVuZGlhbgoJICBzeW5jIHdvcmQgdHdpY2UgaW5zdGVhZCBvZiBsb29raW5nIGZvciB0aGUgMTQtYml0IExFIHN5bmMgd29yZAoJICBhcyB3ZWxsLiBGaXhlcyBwYXJzaW5nIG9mIHN1Y2ggc3RyZWFtcyAoc2VlICM2MzYyMzQgZm9yIHNhbXBsZSBmaWxlKS4KCjIwMTEtMDEtMTMgMTY6Mjc6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgZG9jczogbWlub3IgYmFzZXBhcnNlIGRvY3MvY29tbWVudCBmaXhlcwoJICBSZW1vdmUgY29weSduJ3Bhc3RlIGxlZnRvdmVycy4KCjIwMTEtMDEtMDYgMTI6NDk6NDMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUgb24gbWFjb3N4CgoyMDEwLTEyLTEzIDE1OjE3OjI5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IHJlbGF4IGJzaWQgY2hlY2tpbmcKCSAgLi4uIHRvIHRoZSB3aWRlc3QgcG9zc2libGUgc3BlYyBpbnRlcnByZXRhdGlvbi4KCSAgRml4ZXMgIzYzNzA2Mi4KCjIwMTAtMTItMDMgMTg6MTE6NTYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiB1cGRhdGUgc29tZSBkb2N1bWVudGF0aW9uCgoyMDEwLTEyLTAzIDE4OjExOjM4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgbXBlZ2F1ZGlvcGFyc2U6IGFkZCB0byBkb2N1bWVudGF0aW9uCgoyMDEwLTEyLTAzIDE4OjExOjA5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSAgZGNhcGFyc2U6IGFkZCB0byBkb2N1bWVudGF0aW9uCgoyMDEwLTExLTA4IDE5OjU4OjMxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogaW5jcmVhc2Uga2V5ZnJhbWUgYXdhcmVuZXNzCgkgIC4uLiB3aGljaCBpcyBub3QgcGFydGljdWxhciByZWxldmFudCBmb3IgYXVkaW8gcGFyc2luZywgYnV0IG1vcmUgc28KCSAgaW4gdmlkZW8gY2FzZXMuICBJbiBwYXJ0aWN1bGFyLCBhdXRvLWRldGVybWluZSBpZiBkZWFsaW5nIHdpdGggdmlkZW8gKGNhcHMpLgoKMjAxMC0xMi0wMSAxNToyODo1MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuaDoKCSAgYWMzcGFyc2U6IHVzZSBwcm9wZXIgRUFDLTMgY2FwcwoKMjAxMC0xMS0zMCAxNTo0MTowMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGF2b2lkIHVuZXhwZWN0ZWQgc3RyYXkgbWV0YWRhdGEKCjIwMTAtMTEtMzAgMTU6NDA6MjggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiB1c2UgcHJvcGVyIF9OT05FIG91dHB1dCB2YWx1ZSB3aGVuIGFwcGxpY2FibGUKCjIwMTAtMTEtMjUgMTg6NTY6NDIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoKMjAxMC0xMS0yNSAxNzoxNDoyMyArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYXVkaW9wYXJzZTogZml4IHBvc3NpYmxlIGRpdmlzaW9uLWJ5LXplcm8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNTc4NgoKMjAxMC0xMS0xNyAxNjoyMzo0MiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHVzZSBjb3JyZWN0IG9mZnNldCB3aGVuIGFkZGluZyBpbmRleCBlbnRyeQoJICAuLi4gYmVhcmluZyBpbiBtaW5kIHRoYXQgQlVGRkVSX09GRlNFVCBpcyBtZWRpYSBzcGVjaWZpYyBhbmQgbWF5IG5vdAoJICByZWZsZWN0IHRoZSBiYXNpYyBvZmZzZXQgYWZ0ZXIgaGF2aW5nIGJlZW4gcGFyc2VkLgoKMjAxMC0xMS0xNyAxNDozMDowOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGVuaGFuY2VtZW50cyBmb3IgdGltZXN0YW1wIG1hcmtlZCBmcmFtZWQgZm9ybWF0cwoJICBUaGF0IGlzLCBhcyBzdWNoIGZvcm1hdHMgYWxsb3cgc3ViY2xhc3MgdG8gZXh0cmFjdCBwb3NpdGlvbiBmcm9tIGZyYW1lLAoJICBpdCBpcyBwb3NzaWJsZSB0byBleHRyYWN0IGR1cmF0aW9uIChpZiBub3Qgb3RoZXJ3aXNlIHByb3ZpZGVkKQoJICBmcm9tIChuZWFyKSBsYXN0IGZyYW1lLCBhbmQgYSBzZWVrIGNhbiBmYWlybHkgYWNjdXJhdGVseSB0YXJnZXQgdGhlIHJlcXVpcmVkCgkgIHBvc2l0aW9uLgoJICBGaXhlcyAjNjMxMzg5LgoKMjAxMC0xMS0xNiAxNzowNjoxNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHJlZmFjdG9yIGZyYW1lIHNjYW5uaW5nIHBlZm9ybWVkIGJ5IF9sb29wCgoyMDEwLTExLTE2IDE4OjA0OjAwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogc2xpZ2h0bHkgb3B0aW1pemUgc2VuZGluZyBvZiBwZW5kaW5nIG5ld3NlZ21lbnQgZXZlbnRzCgoyMDEwLTExLTE2IDE3OjA0OjM1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogbWlub3IgZml4ZXMgYW5kIGVuaGFuY2VtZW50cwoJICBBcnJhbmdlIGZvciB1cHN0cmVhbSBhcyB3ZWxsIGFzIGRvd25zdHJlYW0gZmx1c2hpbmcgd2hlbiBzZWVraW5nLgoJICBBbHNvIGRldGVybWluZSB1cHN0cmVhbSBzaXplIGFzIHdlbGwgYXMgc2Vla2FiaWxpdHkuICBBZGp1c3Qgc29tZSBjb21tZW50cwoJICB0byByZWFsaXR5IGFuZCBlbXBsb3kgZGVidWcgc3RhdGVtZW50IGluIHByb3BlciBvcmRlci4KCjIwMTAtMTEtMTcgMTU6MzM6MzYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogbWlub3IgY2xlYW51cHMKCjIwMTAtMTEtMTcgMTU6MjQ6MzcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogZml4IHJlZ3Jlc3Npb24gaW4gQURJRiBzcmMgY2FwcyBzZXR0aW5nCgoyMDEwLTExLTE2IDEyOjExOjUzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkgIGZsYWNwYXJzZTogcGFyc2Ugc2Vla3RhYmxlCgkgIEZpeGVzICM2MzEzODkgKHBhcnRpYWxseSkuCgoyMDEwLTExLTE2IDEyOjA4OjU0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogbWlub3IgcmVmYWN0b3IgYW5kIGVuYWJsZSBkZWZhdWx0IGJhc2VwYXJzZSBzZWdtZW50IGNsaXBwaW5nCgoyMDEwLTExLTA5IDE5OjM4OjI1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgbXBlZ2F1ZGlvcGFyc2U6IGZpeCBzaWxseSBsZWFrIGluIF9yZXNldAoKMjAxMC0xMC0yOSAxNDowODo1OCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHVzZSBvbmx5IHVwc3RyZWFtIGR1cmF0aW9uIGlmIGl0IHByb3ZpZGVzIG9uZQoKMjAxMC0xMC0yNSAxNDoxNTo1MCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHJlZmxvdyB1cGRhdGVfYml0cmF0ZSBjb2RlCgkgIC4uLiB3aGljaCBtYWtlcyBsb2NhbCB2YXJpYWJsZXMgcmVwcmVzZW50IHJlYWwgc3RhdGUgYmV0dGVyLCBhbmQgYXZvaWRzCgkgIHRyaWdnZXJpbmcgdW5uZWVkZWQgdXBkYXRlcy9hY3Rpb25zLgoKMjAxMC0xMC0yNSAxNDoxMzo1MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGFkZCBzb21lIGRlYnVnIHN0YXRlbWVudHMKCjIwMTAtMTAtMTkgMjM6MjU6NTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJICBkY2FwYXJzZTogaW5pdCB2YXJpYWJsZSB0byBtYWtlIG9zeCBidWlsZCBib3QgaGFwcHkKCSAgZ3N0ZGNhcGFyc2UuYzogSW4gZnVuY3Rpb24gJ2dzdF9kY2FfcGFyc2VfY2hlY2tfdmFsaWRfZnJhbWUnOgoJICBnc3RkY2FwYXJzZS5jOjI0Njogd2FybmluZzogJ2Jlc3Rfc3luYycgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uCgoyMDEwLTEwLTE5IDAwOjE1OjIwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJICBhdWRpb3BhcnNlcnM6IGFkZCB2ZXJ5IGJhc2ljIGR0cy9kY2EgcGFyc2VyCgkgIFN0aWxsIHNvbWUgaXNzdWVzLCBlLmcuIHdpdGggc2Vla2FibGUgcXVlcmllcyBpbiB0b3RlbSwgYnV0IGFsc28KCSAgcHJvY2Vzc2luZyBhbHJlYWR5LWNodW5rZWQgaW5wdXQgKGNyZWF0ZWQgd2l0aCBtYXRyb3NrYWRlbXV4ICEgZ2RwcGF5KS4KCjIwMTAtMTAtMTQgMTY6NDg6MjEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogcHJvcGVybHkgcGFyc2UgZS1hYzMgZnJhbWUgaGVhZGVyCgkgIEFsc28gYWRkIGEgZmV3IGRlYnVnIHN0YXRlbWVudHMuCgoyMDEwLTEwLTEzIDExOjAwOjAxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogdHdlYWsgc2V0dGluZyBidWZmZXIgbWV0YWRhdGE7IGF2b2lkIHRpbWVzdGFtcCBqaXR0ZXIKCSAgRml4ZXMgIzYzMTk5My4KCjIwMTAtMTAtMTIgMTg6MDc6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmg6CgkgIGFhY3BhcnNlOiBzdHJlYW1saW5lIHNyYyBjYXBzIHNldHRpbmcKCSAgSW4gcGFydGljdWxhciwgYWxzbyBzZXQgc3JjIGNhcHMgd2hlbmV2ZXIgY2hhbmdlcyBpbiBzdHJlYW0gd2FycmFudCBkb2luZyBzby4KCjIwMTAtMTAtMTIgMTA6Mjg6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogQWRqdXN0IHVuaXQgdGVzdHMgdG8gbmV3IGZsYWNwYXJzZSBiZWhhdmlvdXIKCSAgR2FyYmFnZSBhZnRlciBmcmFtZXMgaXMgbm93IGluY2x1ZGVkIGluIHRoZSBmcmFtZXMgYmVjYXVzZSBmbGFjcGFyc2UKCSAgaGFzIG5vIGVhc3kgd2F5IHRvIGRldGVjdCB0aGUgcmVhbCBlbmQgb2YgYSBmcmFtZS4gRGVjb2RlcnMgYXJlCgkgIGV4cGVjdGVkIHRvIGV2ZXJ5dGhpbmcgYWZ0ZXIgdGhlIGZyYW1lIGJlY2F1c2Ugb25seSBkZWNvZGluZyB0aGUKCSAgYml0c3RyZWFtIHdpbGwgcmV2ZWFsIHRoZSByZWFsIGVuZCBvZiB0aGUgZnJhbWUuCgkgIEZpeGVzIGJ1ZyAjNjMxODE0LgoKMjAxMC0xMC0xMiAxMDoyNzo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IERvbid0IGRyb3AgdGhlIGxhc3QgZnJhbWUgaWYgaXQgaXMgZm9sbG93ZWQgYnkgZ2FyYmFnZQoJICBTZWUgYnVnICM2MzE4MTQuCgoyMDEwLTEwLTExIDE3OjQ5OjQ2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcGVyZm9ybSBiaXRyYXRlIGhhbmRsaW5nIGFuZCBwb3N0aW5nIGFmdGVyIG5ld3NlZ21lbnQgc2VuZGluZwoKMjAxMC0xMC0xMSAxNzozNjoxOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGltbWVkaWF0ZWx5IHBvc3Qgc3ViY2xhc3MgcHJvdmlkZWQgYml0cmF0ZQoKMjAxMC0xMC0xMSAxNzowNjo0OCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGZpeCBwYXJzaW5nIHdpdGggdW5rbm93biBmcmFtZXNpemVzCgkgIEZpeGVzICM2MzE4MTQgKG1vc3RseSkuCgoyMDEwLTEwLTA3IDIzOjM3OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogU2ltcGxpZnkgZnJhbWUgaGVhZGVyIHBhcnNpbmcgYnkgdXNpbmcgbG9va3VwIHRhYmxlcwoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5IEZlbGlwZSBDb250cmVyYXMuCgkgIFNlZSBidWcgIzYzMTIwMC4KCjIwMTAtMTAtMDcgMjM6Mjg6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuaDoKCSAgZmxhY3BhcnNlOiBEb24ndCBwYXJzZSB0aGUgY29tcGxldGUgRkxBQyBmcmFtZXMgYnV0IG9ubHkgbG9vayBmb3IgdmFsaWQgZnJhbWUgaGVhZGVycwoJICBUaGFua3MgdG8gRmVsaXBlIENvbnRyZXJhcyBmb3IgdGhlIHN1Z2dlc3Rpb24uIFRoaXMgaXMgcGFydGlhbGx5CgkgIGJhc2VkIG9uIGhpcyBwYXRjaGVzIGFuZCBtYWtlcyBmbGFjcGFyc2UgbW9yZSB0aGFuIDMuNSB0aW1lcyBmYXN0ZXIuCgkgIExvb2tpbmcgZm9yIHZhbGlkIGZyYW1lIGhlYWRlcnMgaXMgdW5saWtlbHkgdG8gZ2l2ZSBmYWxzZSBwb3NpdGl2ZXMKCSAgYmVjYXVzZSBldmVyeSBmcmFtZSBoZWFkZXIgaXMgYXQgbGVhc3QgOSBieXRlcyBsb25nLCBjb250YWlucyBhCgkgIDE0IGJpdCBzeW5jIGNvZGUgYW5kIGEgOCBiaXQgY2hlY2tzdW0gb3ZlciB0aGUgZmlyc3QgOCBieXRlcy4KCSAgRml4ZXMgYnVnICM2MzEyMDAuCgoyMDEwLTEwLTA2IDE4OjMyOjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogUmVhbGx5IHBvc3QgdGFncyBvbmx5IGFmdGVyIHRoZSBpbml0aWFsIG5ld3NlZ21lbnQgZXZlbnQKCSAgVGhlIGZpcnN0IG5ld3NlZ21lbnQgZXZlbnQgd2lsbCBiZSBzZW5kIGJ5IHRoZSBmaXJzdCBjYWxsIHRvCgkgIGdzdF9iYXNlX3BhcnNlX3B1c2hfYnVmZmVyKCkgaWYgbmVjZXNzYXJ5LCBwb3N0aW5nIHRoZSB0YWdzCgkgIGJlZm9yZSB0aGF0IGlzIG5vdCBhIGdvb2QgaWRlYS4gSW5zdGVhZCBkbyBpdCBmcm9tIHRoZQoJICBHc3RCYXNlUGFyc2U6OnByZV9wdXNoX2J1ZmZlciB2ZnVuYy4KCjIwMTAtMTAtMDUgMTE6MTc6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgUmV2ZXJ0ICJiYXNlcGFyc2U6IGFkZCBza2lwIHByb3BlcnR5IgoJICBUaGlzIHJldmVydHMgY29tbWl0IGI1YTNkNjAzNjNkODM3YTEwZjA1MzNjMTQxZWM5M2QxMGI3NDIzMTIuCgkgIFJldmVydGluZyB0aGlzIGZvciBub3csIHNpbmNlIG5vIG9uZSByZWFsbHkgc2VlbXMgdG8gcmVtZW1iZXIgd2h5IHRoaXMKCSAgcHJvcGVydHkgZXhpc3RzIG9yIHdoYXQgaXQgY291bGQgcG9zc2libHkgYmUgZ29vZCBmb3IuIEl0IHNlZW1zIHRvIGhhdmUKCSAgYmVlbiBpbiB0aGUgb3JpZ2luYWwgbXAzcGFyc2Ugc2luY2UgdGhlIGJlZ2lubmluZyBvZiB0aW1lIGFuZCB3YXMgYmFjay0KCSAgcG9ydGVkIGZyb20gdGhlcmUuCgoyMDEwLTEwLTA0IDEwOjQxOjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogRml4IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZ3MKCSAgVGhlc2Ugd2FybmluZ3MgYXJlIHdyb25nLCB0aGUgdmFyaWFibGVzIGFyZSBvbmx5IHVzZWQgaWYgdGhleSB3ZXJlCgkgIGluaXRpYWxpemVkIGJ5IHRoZSBiaXQgcmVhZGVyLgoKMjAxMC0wOS0xNCAwMjo0ODo1OCArMDMwMCAgRmVsaXBlIENvbnRyZXJhcyA8ZmVsaXBlLmNvbnRyZXJhc0BnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGZpeCBwaWN0dXJlIHBhcnNpbmcKCSAgU2lnbmVkLW9mZi1ieTogRmVsaXBlIENvbnRyZXJhcyA8ZmVsaXBlLmNvbnRyZXJhc0BnbWFpbC5jb20+CgoyMDEwLTEwLTAzIDIzOjU0OjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogUHVzaCB0YWdzIGJlZm9yZSB0aGUgaGVhZGVyIGJ1ZmZlcnMgYXJlIHB1c2hlZAoKMjAxMC0wOC0wMiAyMDo1MDoyMSArMDMwMCAgRmVsaXBlIENvbnRyZXJhcyA8ZmVsaXBlLmNvbnRyZXJhc0BnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IHRyaXZpYWwgY2FwcyBmaXgKCSAgU2lnbmVkLW9mZi1ieTogRmVsaXBlIENvbnRyZXJhcyA8ZmVsaXBlLmNvbnRyZXJhc0BnbWFpbC5jb20+CgoyMDEwLTEwLTAzIDIzOjUwOjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyOiBMZXQgdGhlIGZvcm1hdCBzdHJpbmcgYWdyZWUgd2l0aCB0aGUgcGFyYW1ldGVycyB0byBmaXggY29tcGlsZXIgd2FybmluZwoKMjAxMC0xMC0wMyAxNTo0MToyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBVc2UgdW5jaGVja2VkIHZlcnNpb25zIG9mIHRoZSBiaXRyZWFkZXIgZ2V0IGZ1bmN0aW9ucwoJICBXZSBkaWRuJ3QgY2hlY2sgdGhlIHJldHVybiB2YWx1ZXMgYW55d2F5Li4uCgoyMDEwLTA5LTIyIDE1OjQ0OjQzICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogRml4IGRlYnVnIG91dHB1dAoJICBXZSBsb3NlIHRoZSByZWZlcmVuY2UgdG8gdGhlIGJ1ZmZlciBhZnRlciBnc3RfcGFkX3B1c2goKSwgc28gdGhlIGRlYnVnCgkgIHByaW50IHNob3VsZCBoYXBwZW4gYmVmb3JlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIyMjc2CgoyMDEwLTEwLTAxIDEyOjM0OjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZsYWNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmg6CgkgIGF1ZGlvcGFyc2VyczogYWRkIGZsYWNwYXJzZSB1bml0IHRlc3QKCSAgLi4uIGFuZCB0d2VhayBwYXJzZXIgdGVzdCBoZWxwZXIgaW4gdGhlIHByb2Nlc3MuCgoyMDEwLTA5LTI5IDE2OjEyOjQyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogc3VwcG9ydCByZXZlcnNlIHBsYXliYWNrCgkgIC4uLiBpbiBwdWxsIG1vZGUgb3IgdXBzdHJlYW0gZHJpdmVuLgoKMjAxMC0wOS0yNyAxMjoxNjo0MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHJlbW92ZSBkb25lIFRPRE9zIGFuZCB1cGRhdGUgZG9jdW1lbnRhdGlvbgoKMjAxMC0wOS0yNSAxNDo0MDo1NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHVzZSBkZXRlcm1pbmVkIHNlZWthYmlsaXR5IGluIGFuc3dlcmluZyBTRUVLSU5HIHF1ZXJ5CgoyMDEwLTA5LTI1IDE0OjMyOjA2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogYWRkIHNraXAgcHJvcGVydHkKCjIwMTAtMDktMjUgMTM6NTk6MzkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWMzcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ2F1ZGlvcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiBhZGQgYWMzcGFyc2UgYW5kIG1wZWdhdWRpb3BhcnNlIHVuaXQgdGVzdAoKMjAxMC0wOS0yNSAxMzo1OToxOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSAgbXBlZ2F1ZGlvcGFyc2U6IGluaXRpYWwgdmVyc2lvbgoJICAuLi4gYWRlcXVhdGVseSBlcXVpdmFsZW50IHRvIG1wM3BhcnNlLCBzbyBsZXRzIGJvbGRseSBzZXQgaXQKCSAgdG8gaGlnaGVyIHJhbmsuCgoyMDEwLTA5LTI1IDE0OjAxOjA3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IHNldCBtaW5pbXVtIGZyYW1lIHNpemUgYXQgX3N0YXJ0CgkgIC4uLiByYXRoZXIgdGhhbiBvbmUgdGltZSBhdCBfaW5pdC4KCjIwMTAtMDktMjUgMTM6NTA6NTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWFjcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYW1ycGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5oOgoJICBhdWRpb3BhcnNlcnM6IHJlZmFjdG9yIGV4aXN0aW5nIHVuaXQgdGVzdHMgdXNpbmcgY29tbW9uIGhlbHBlcgoKMjAxMC0wOS0yMiAxNTowNzowOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IHVzZSBfc2V0X2ZyYW1lX3Byb3BzIHRvIGNvbmZpZ3VyZSBmcmFtZSBsZWFkX2luIGFuZCBsZWFkX291dAoJICAuLi4gcHJvdmlkZWQgYSBjb3JyZXNwb25kaW5nIGRlY29kZXIgd2l0aCBzdWZmaWNpZW50IGxlYWRpbmcgYW5kIGZvbGxvd2luZwoJICBmcmFtZXMgdG8gY2Fycnkgb3V0IGZ1bGwgZGVjb2RpbmcgZm9yIGEgcGFydGljdWxhciBzZWdtZW50LgoKMjAxMC0wOS0yMiAxNDoxMzoxNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHVzZSBfc2V0X2R1cmF0aW9uIHRvIGNvbmZpZ3VyZSBkdXJhdGlvbiB1cGRhdGUgaW50ZXJ2YWwKCSAgLi4uIGFzIGl0IGxvZ2ljYWxseSBiZWxvbmdzIHRoZXJlIGFzIG9uZSBvciB0aGUgb3RoZXI7IGVpdGhlciBzdWJjbGFzcwoJICBjYW4gcHJvdmlkZSBhIGR1cmF0aW9uLCBvciBhbiBlc3RpbWF0ZSBtdXN0IGJlIG1hZGUgKHJlZ3Vhcmx5IHVwZGF0ZWQpLgoKMjAxMC0wOS0yMiAxMzo1NToyMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGxvY2FsaXplIHVzZSBvZiBwcm92aWRlZCBmcHMgaW5mb3JtYXRpb24KCjIwMTAtMDktMjIgMTI6MTM6MTIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBzZWVrIHRhYmxlIGFuZCBhY2N1cmF0ZSBzZWVrIHN1cHBvcnQKCjIwMTAtMDktMjEgMTM6NTc6MTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwcm9wZXIgYW5kIG1vcmUgZXh0ZW5kZWQgc2VnbWVudCBhbmQgc2VlayBoYW5kbGluZwoJICBUaGF0IGlzLCBsb29wIHBhdXNlIGhhbmRsaW5nLCBzZWdtZW50IHNlZWsgc3VwcG9ydCwgbmV3c2VnbWVudCBmb3IgZ2FwcywgZXRjCgoyMDEwLTA5LTIxIDEwOjU3OjA0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogYWRkIGluZGV4IHN1cHBvcnQKCjIwMTAtMDktMjEgMDk6NTk6NTYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiByZWZhY3RvciBzdGF0ZSByZXNldAoKMjAxMC0wOS0yMCAxNjozOTozNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHByZXZlbnQgaW5kZWZpbml0ZSByZXN5bmNpbmcKCjIwMTAtMDktMjAgMTM6NTc6NTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBzcGVjaWZpYyBFT1MgaGFuZGxpbmcgaWYgbm8gb3V0cHV0IHNvIGZhcgoKMjAxMC0wOS0yMCAxMzozMTo1NyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGFkanVzdCBfc2V0X2ZyYW1lX3Byb3AgZG9jdW1lbnRhdGlvbiBhbmQgc2V0IGRlZmF1bHQgYXMgY2xhaW1lZAoKMjAxMC0wOS0yMCAxMzozMDo1NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGZpeCBiaXRyYXRlIGNvcHktYW5kLXBhc3RlIGFuZCB1cGRhdGUgaGV1cmlzdGljCgoyMDEwLTA5LTE3IDE4OjMzOjI5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcG9zdCBkdXJhdGlvbiBtZXNzYWdlIGlmIGF2ZXJhZ2UgYml0cmF0ZXMgaXMgdXBkYXRlZAoKMjAxMC0wOS0xNyAxODoyNDoyMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogcmVtb3ZlIGlzX3NlZWthYmxlIHZtZXRob2QgYW5kIHVzZSBhIHNldF9zZWVrIGluc3RlYWQKCSAgU2Vla2FiaWxpdHksIGxpa2UgZHVyYXRpb24sIGV0YyBpcyB1bmxpa2VseSB0byBjaGFuZ2UgKGZyZXF1ZW50bHkpLCBhbmQKCSAgdGhlIGRlZmF1bHQgYXNzdW1wdGlvbiBjb3ZlcnMgbW9zdCBjYXNlcywgc28gbGV0IHN1YmNsYXNzIHNldCB3aGVuIG5lZWRlZC4KCSAgQXQgdGhlIHNhbWUgdGltZSwgYWxsb3cgc3ViY2xhc3MgdG8gaW5kaWNhdGUgaWYgaXQgaGFzIHNlZWstbWV0YWRhdGEgKHRhYmxlKQoJICBhdmFpbGFibGUsIGFuZCBwb3NzaWJseSBoYXZlIGl0IHByb3ZpZGUgYW4gYXZlcmFnZSBiaXRyYXRlLgoKMjAxMC0wOS0xNyAxNzozNTo0MCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiByZW1vdmUgcmVkdW5kYW50IGRlZmF1bHQgaXNfc2Vla2FibGUKCjIwMTAtMDktMTcgMTc6MjE6NDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiBhZGQgYW5vdGhlciBob29rIGZvciBzdWJjbGFzcyBwcmlvciB0byBwdXNoaW5nIGJ1ZmZlcgoJICAuLi4gYW5kIGFsbG93IHN1YmNsYXNzIHRvIHBlcmZvcm0gY3VzdG9tIHNlZ21lbnQgY2xpcHBpbmcsIG9yIHRvCgkgIGVtaXQgdGFncyBvciBtZXNzYWdlcyBhdCB0aGlzIHRpbWUuCgoyMDEwLTA5LTE3IDE3OjE5OjM3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogMCBjb252ZXJ0cyB0byAwIGJ5IGRlZmF1bHQKCjIwMTAtMDktMTYgMTg6NTY6NDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhc2U6IHJlZmFjdG9yIGNvbnZlcnNpb24gdXNpbmcgaGVscGVyIGZ1bmN0aW9uIGFuZCBleHBvcnQgZGVmYXVsdCBjb252ZXJ0CgoyMDEwLTA5LTE2IDE4OjM1OjQ3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogc3RyZWFtbGluZSBxdWVyeSBoYW5kbGluZwoKMjAxMC0wOS0xNiAxMTo1MToyMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IGNsZWFudXAgc3RydWN0IGFuZCByZW1vdmUgdW51c2VkIG1lbWJlcgoKMjAxMC0wOC0xNiAxMTowNDozNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJICBhdWRpb3BhcnNlcnM6IGluY3JlYXNlIHJhbmtzIHRvIGVuYWJsZSBhdXRvLXBsdWdnaW5nCgkgIEJlY2F1c2Ugd2UgY2FuLCBhbmQgc2hvdWxkLCBoYXZlIHNvbWUgc2hha2Vkb3duIHRlc3RpbmcgYmVmb3JlIGhhdmluZwoJICB0aGVzZSBtYWtlIGl0IGludG8gLWdvb2QgbGF0ZXIgb24gLi4uCgoyMDEwLTA5LTIyIDE2OjA3OjI0ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogQWxsb3cgY2hhaW5pbmcgb2Ygc3ViY2xhc3MgZXZlbnQgaGFuZGxlcnMKCSAgVGhpcyBhbGxvd3MgdGhlIGNoaWxkIGNsYXNzIHRvIGNoYWluIGl0cyBldmVudCBoYW5kbGVyIHdpdGgKCSAgR3N0QmFzZVBhcnNlLCBzbyB0aGF0IHN1YmNsYXNzZXMgZG9uJ3QgaGF2ZSB0byBkdXBsaWNhdGUgYWxsIHRoZSBkZWZhdWx0CgkgIGV2ZW50IGhhbmRsaW5nIGxvZ2ljLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIyMjc2CgoyMDEwLTA4LTI3IDE4OjM1OjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCSAgQWxzbyBkb24ndCBwb3N0IGFuIGVycm9yIG1lc3NhZ2UgZm9yIFVORVhQRUNURUQgYW5kIGRvIGl0CgkgIGZvciBOT1RfTElOS0VELgoKMjAxMC0wOS0wNiAxNDoxMjowMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IG5vbi1USU1FIHNlZWsgZXZlbnQgaXMgc2ltcGx5IG5vdCBoYW5kbGVkCgoyMDEwLTA2LTE1IDE1OjM0OjA1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZml4IHNlZWsgZXZlbnQgcmVmIGhhbmRsaW5nCgoyMDEwLTA2LTE1IDE1OjMzOjM3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcHJldmVudCBhcml0aG1ldGljIG92ZXJmbG93cyBpbiBwdWxsIG1vZGUgYnVmZmVyIGNhY2hlIGhhbmRsaW5nCgoyMDEwLTA2LTE1IDE1OjMyOjM0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZml4IHNlZWsgaGFuZGxpbmcKCSAgQWxsb3cgYSBmZXcgbW9yZSBzZWVrIGV2ZW50IHR5cGUgY29tYmluYXRpb25zLCBhbmQgcmVhbGx5IHVzZSB0aGUgcmVzdWx0CgkgIG9mIGdzdF9zZWdtZW50X3NldF9zZWVrIHRvIHBlcmZvcm0gdGhlIHNlZWsuICBBbHNvIGFkZCBzb21lIGRlYnVnLgoKMjAxMC0wNC0xMiAxODowNzoyOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FtcnBhcnNlLmM6CgkgIGNoZWNrOiBEb24ndCByZS1kZWNsYXJlICdHTGlzdCAqYnVmZmVycycgaW4gdGhlIHRlc3RzCgkgIEl0J3MgYW4gZXh0ZXJuYWwgd2hpY2ggbGl2ZXMgaW4gZ3N0Y2hlY2suYy4gUmVkZWNsYXJpbmcgaXQgbWFrZXMgc29tZQoJICBjb21waWxlcnMvYXJjaGl0ZWN0dXJlcyB0aGluayB0aGUgJ2J1ZmZlcnMnIGluIHRoZSBpbmRpdmlkdWFsIHRlc3RzIGFyZQoJICBhIGRpZmZlcmVudCBzeW1ib2wuLi4gYW5kIHRoZXJlZm9yZSB3ZSBlbmQgdXAgY29tcGFyaW5nIGhvbG9kZWNrcyB3aXRoCgkgIG9yYW5nZXMuCgoyMDEwLTAzLTI2IDE4OjU2OjQ5ICswMDAwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogRG9uJ3QgZW1pdCBiaXRyYXRlIHRhZ3MgdG9vIGVhcmx5CgkgIFdlIHdhaXQgdG8gcGFyc2UgYSBtaW5pbXVtIG51bWJlciBvZiBmcmFtZXMgKDEwLCBhcmJpdHJhcmlseSkgYmVmb3JlCgkgIGVtaXRpbmcgYml0cmF0ZSB0YWdzIHNvIHRoYXQgb3VyIGVhcmx5IGVzdGltYXRlcyBhcmUgbm90IHdpbGRseQoJICBpbmFjY3VyYXRlIGZvciBzdHJlYW1zIHRoYXQgc3RhcnQgd2l0aCBhIHNpbGVuY2UuIElmIHRoZSBzdHJlYW0gZW5kcwoJICBiZWZvcmUgdGhhdCwgd2UganVzdCBlbWl0IHRoZSB0YWdzIGFueXdheS4KCSAgV2hpbGUgaXQgX3dvdWxkXyBiZSBuaWNlciB0byBiZSBzcGVjaWZ5IHRoZSB0aHJlc2hvbGQgdG8gc3RhcnQgcHVzaGluZwoJICB0aGUgdGFncyBpbiB0ZXJtcyBvZiBkdXJhdGlvbiwgdGhpcyB3b3VsZCBpbnRyb2R1Y2UgbW9yZSBjb21wbGV4aXR5IHRoYW4KCSAgdGhpcyBtZXJpdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTQ5OTEKCjIwMTAtMDMtMjYgMTg6NTg6MzUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuaDoKCSAgZmxhY3BhcnNlOiBPcHRpb25hbGx5IGNoZWNrIHRoZSBvdmVyYWxsIGZyYW1lIGNoZWNrc3VtcyB0b28gYmVmb3JlIGFjY2VwdGluZyBhIGZyYW1lIGFzIHZhbGlkCgkgIFRoaXMgaXMgb3B0aW9uYWwgYmVjYXVzZSBpdCdzIGEgcXVpdGUgZXhwZW5zaXZlIG9wZXJhdGlvbiBhbmQgaXQncyB2ZXJ5CgkgIHVubGlrZWx5IHRoYXQgYSBub24tZnJhbWUgaXMgZGV0ZWN0ZWQgYXMgZnJhbWUgYWZ0ZXIgdGhlIGhlYWRlciBDUkMgY2hlY2sKCSAgYW5kIGNoZWNraW5nIGFsbCBiaXRzIGZvciB2YWxpZCB2YWx1ZXMuIFRoZSBvdmVyYWxsIGZyYW1lIGNoZWNrc3VtcyBhcmUKCSAgbWFpbmx5IHVzZWZ1bCB0byBkZXRlY3QgaW5jb25zaXN0ZW5jaWVzIGluIHRoZSBlbmNvZGVkIHBheWxvYWQuCgoyMDEwLTAzLTI2IDE4OjQyOjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogQ2hlY2sgdGhlIENSQy04IG9mIHRoZSBoZWFkZXJzIGJlZm9yZSBhY2NlcHRpbmcgYSBmcmFtZSBhcyB2YWxpZAoJICBUaGlzIG1ha2VzIGZhbHNlLXBvc2l0aXZlcyBkdXJpbmcgc2Vla2luZyBtdWNoIGxlc3MgbGlrZWx5IGFuZCBkZXRlY3Rpb24gb2YKCSAgdGhlbSBtdWNoIGZhc3Rlci4KCjIwMTAtMDMtMjYgMTg6MjA6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBTZXQgdGhlIGxhc3Qgc3RvcCB0byB0aGUgYnVmZmVyIHN0YXJ0dGltZSBpZiB0aGUgZHVyYXRpb24gaXMgaW52YWxpZAoJICAuLi5pbnN0ZWFkIG9mIG5vdCBzZXR0aW5nIGl0IGF0IGFsbC4KCjIwMTAtMDMtMjYgMTg6MTk6MDAgKzAxMDAgIEpvc2h1YSBNLiBEb2UgPGpvc2hAam9zaGRvZS5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IFNlbmQgTkVXU0VHTUVOVCBldmVudCB3aXRoIGNvcnJlY3Qgc3RhcnQgYW5kIHBvc2l0aW9uCgkgIEluc3RlYWQgb2YgdGFraW5nIHRoZSBsYXN0IHN0b3AgKHdoaWNoIGNvdWxkIGJlIGJ1ZmZlciBlbmR0aW1lIGluc3RlYWQKCSAgb2Ygc3RhcnR0aW1lKSBhbHdheXMgdGFrZSB0aGUgYnVmZmVyIHN0YXJ0dGltZS4KCSAgRml4ZXMgYnVnICM2MTQwMTYuCgoyMDEwLTAzLTI2IDE2OjQ5OjAxICswMDAwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogRml4IGJ1ZmZlciByZWZjb3VudCBpc3N1ZQoJICBXaGVuIGNhbGxlZCBmcm9tIHRoZSBHU1RfRkxBQ19QQVJTRV9TVEFURV9IRUFERVJTIGNhc2UsCgkgIGdzdF9mbGFjX3BhcnNlX2hhbmRfaGVhZGVycygpIGRvZXMgYSBnc3RfYnVmZmVyX3NldF9jYXBzKCkgb24gYSBidWZmZXIKCSAgd2l0aCByZWZjb3VudCA+IDEuIFRoaXMgY2hhbmdlIGhhbmRsZXMgdGhpcyBjYXNlIGJ5IG1ha2luZyB0aGUgYnVmZmVyCgkgIG1ldGFkYXRhX1dyaXRhYmxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE0MDM3CgoyMDEwLTAzLTI1IDE3OjA5OjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGF1ZGlvcGFyc2VyczogcmVtb3ZlIHVudXNlZCBHc3RCYXNlUGFyc2VDbGFzc1ByaXZhdGUgc3RydWN0dXJlCgoyMDEwLTAzLTI1IDEyOjU1OjAyICswMDAwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogTWFrZSBiaXRyYXRlIGVzdGltYXRpb24gbW9yZSBhY2N1cmF0ZQoJICBUaGlzIGltcGxlbWVudHMgdGhlIGdldF9mcmFtZV9vdmVyaGVhZCgpIHZmdW5jIHNvIHRoYXQgYmFzZXBhcnNlIGNhbgoJICBtYWtlIG1vcmUgYWNjdXJhdGUgYml0cmF0ZSBlc3RpbWF0ZXMuCgoyMDEwLTAzLTI1IDExOjQ4OjQ2ICswMDAwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEZpeCBiaXRyYXRlIGNhbGN1bGF0aW9uCgkgIFRoaXMgcGF0Y2ggYWRkcyB0aGUgZ2V0X2ZyYW1lX292ZXJoZWFkKCkgdmZ1bmMgc28gdGhhdCBiYXNlcGFyc2UgY2FuCgkgIGFjY3VyYXRlbHkgY2FsY3VsYXRlIHRoZSBtaW4vYXZnL21heCBiaXRyYXRlcyBmb3IgYWFjcGFyc2UuCgkgIE5vdGU6IFRoZSBiaXRyYXRlIHdhcyBiZWluZyBpbmNvcnJlY3RseSBjYWxjdWxhdGVkIGZvciBBRFRTIHN0cmVhbXMKCSAgKGl0J3Mgbm90IGluIHRoZSBoZWFkZXIgYXMgdGhlIGNvZGUgc3VnZ2VzdHMpLgoKMjAxMC0wMy0yNSAxMToyMjo1OCArMDAwMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBhdWRpb3BhcnNlcnM6IEFkZCBiaXRyYXRlIGNhbGN1bGF0aW9uIHRvIGJhc2VwYXJzZQoJICBUaGlzIG1ha2VzIGJhc2VwYXJzZSBrZWVwIGEgcnVubmluZyBhdmVyYWdlIG9mIHRoZSBzdHJlYW0gYml0cmF0ZSwgYXMKCSAgd2VsbCBhcyB0aGUgbWluaW11bSBhbmQgbWF4aW11bSBiaXRyYXRlcy4gU3ViY2xhc3NlcyBjYW4gb3ZlcnJpZGUgYQoJICB2ZnVuYyB0byBtYWtlIHN1cmUgdGhhdCBwZXItZnJhbWUgb3ZlcmhlYWQgZnJvbSB0aGUgY29udGFpbmVyIGlzIG5vdAoJICBhY2NvdW50ZWQgZm9yIGluIHRoZSBiaXRyYXRlIGNhbGN1bGF0aW9uLgoJICBXZSB0YWtlIGNhcmUgbm90IHRvIG92ZXJyaWRlIHRoZSBiaXRyYXRlLCBtaW5pbXVtLWJpdHJhdGUsIGFuZAoJICBtYXhpbXVtLWJpdHJhdGUgdGFncyBpZiB0aGV5IGhhdmUgYmVlbiBwb3N0ZWQgdXBzdHJlYW0uIFdlIGFsc28KCSAgcmF0ZS1saW1pdCB0aGUgZW1pc3Npb24gb2YgYml0cmF0ZSBzbyB0aGF0IGl0IGlzIG9ubHkgdHJpZ2dlcmVkIGJ5IGEKCSAgY2hhbmdlIG9mID4xMCBrYnBzLgoKMjAxMC0wMy0yMiAxNjo1NjowMyArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYW1ycGFyc2UuYzoKCSAgQWRkIC1Xb2xkLXN0eWxlLWRlZmluaXRpb24KCSAgYW5kIGZpeCB0aGUgd2FybmluZ3MKCjIwMTAtMDMtMjEgMjE6Mzk6MTggKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FtcnBhcnNlLmM6CgkgIEFkZCAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVzIHRvIGNvbmZpZ3VyZSBmbGFncwoJICBBbmQgZml4IGFsbCB3YXJuaW5ncwoKMjAxMC0wMy0xOCAxNzozMDoyNiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkgIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzID0+IGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZQoKMjAxMC0wMS0xNCAxMTo1MDozMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IHJlbmFtZSBiYXNlcGFyc2UgR1R5cGUgbmFtZSB0byBhdm9pZCBwb3NzaWJsZSBjb25mbGljdHMKCjIwMTAtMDEtMTIgMTg6NTU6NTMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IEluaXRpYWxpemUgdmFyaWFibGVzLgoJICBGaXhlcyBidWlsZCBvbiAkI0AqKCBtYWNvc3gKCjIwMTAtMDEtMTEgMjI6NDE6NTcgKzAzMDAgINDz8evg7SDI5uHz6+Dy7uIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkgIHdpbjMyOiBJbmNsdWRlIGNvbmZpZy5oIGJlZm9yZSBhbnl0aGluZyBlbHNlLiBGaXggbXBlZ2RlbXV4IExJQkFERAoJICBCZWNhdXNlIGNvbmZpZy5oIGRlZmluZXMgX19NU1ZDUlRfVkVSU0lPTl9fLCB3aGljaCBzaG91bGQgYmUgZGVmaW5lZAoJICBiZWZvcmUgaW5jbHVzaW9uIG9mIGFueSBzeXN0ZW0gaGVhZGVyLgoJICBBbHNvIGZpeGVzIG1wZWdkZW11eCBNYWtlZmlsZS5hbSBMSUJBREQgdHlwby4KCSAgRml4ZXMgIzYwNjY2NQoKMjAxMC0wMS0xMSAxMzoyMDoyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBBbHNvIGFkZCBzdHJlYW0tZm9ybWF0IHRvIHRlbXBsYXRlIGNhcHMKCSAgRG8gbm90IGZvcmdldCB0byBhZGQgc3RyZWFtLWZvcm1hdCB0byB0ZW1wbGF0ZSBjYXBzCgkgIG9mZiBhYWNwYXJzZQoKMjAxMC0wMS0xMSAxMzoxMzo0MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkgIFJlbmFtZSBhYWMncyBzdHJlYW0tZm9ybWF0ICdub25lJyB0byAncmF3JwoJICBSZW5hbWVzIGFhYydzIHN0cmVhbS1mb3JtYXQgZnJvbSBwcmV2aW91cyBjb21taXRzIGZyb20gbm9uZSB0bwoJICByYXcKCjIwMTAtMDEtMTEgMTI6MTA6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IHVwZGF0ZSB0ZXN0cyB0byBzdHJlYW0tZm9ybWF0IGNoYW5nZXMKCSAgVXBkYXRlcyBhYWNwYXJzZSB1bml0IHRlc3RzIHRvIGNoZWNrIGZvciBzdHJlYW0tZm9ybWF0CgkgIGNvcnJlY3RuZXNzIGFzIHdlbGwuCgoyMDEwLTAxLTExIDEwOjUxOjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEFkZCBzdHJlYW0tZm9ybWF0IHRvIG91dHB1dCBjYXBzCgkgIEFkZHMgc3RyZWFtLWZvcm1hdCBmaWVsZCB0byBvdXRwdXQgY2FwcwoKMjAxMC0wMS0wNSAxNTowNTowNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiBkb2N1bWVudGF0aW9uIGZpeGVzCgoyMDEwLTAxLTA1IDE1OjA0OjM4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IGFkZCBkb2N1bWVudGF0aW9uCgoyMDEwLTAxLTA1IDE0OjQ4OjQ5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkgIGZsYWNwYXJzZTogYWRkIGRvY3VtZW50YXRpb24KCjIwMDktMTItMjEgMTg6Mjk6NDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBwZXJmb3JtIGFkZGl0aW9uYWwgZnJhbWUgY2hlY2tzIHdoZW4gcmVzeW5jaW5nCgoyMDEwLTAxLTA1IDE2OjM1OjUyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZml4IChtdWx0aXBsZSBjaGFubmVsKSBmcmFtZSBwYXJzaW5nCgoyMDEwLTAxLTA1IDE2OjM1OjQ0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZGVjbGFyZSB1bnBhcnNlZCBpbnB1dCBhbmQgcGFyc2VkIG91dHB1dAoKMjAwOS0xMi0yMSAxODoxOToyMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBmaXggc2Nhbm5pbmcgZm9yIG5leHQgc3luY3dvcmQKCjIwMDktMTItMjEgMTg6MTg6MzkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBhZGp1c3Qgc2VlayBoYW5kbGluZyBhbmQgbmV3c2VnbWVudCBzZW5kaW5nCgkgIFBlcmZvcm0gc2FuaXR5IGNoZWNrIG9uIHR5cGUgb2Ygc2VlaywgYW5kIG9ubHkgcGVyZm9ybSBvbmUgdGhhdCBpcwoJICBhcHByb3ByaWF0ZWx5IHN1cHBvcnRlZC4gIEFkanVzdCBkb3duc3RyZWFtIG5ld3NlZ21lbnQgZXZlbnQKCSAgdG8gZmlyc3QgYnVmZmVyIHRpbWVzdGFtcCB0aGF0IGlzIHNlbnQgZG93bnN0cmVhbS4KCjIwMDktMTItMjEgMTE6NTk6NDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBtaW5vciByZWZhY3RvciBjbGVhbnVwCgkgIEFsc28gYWRkIHNvbWUgZGVidWcgbG9nZ2luZy4KCjIwMDktMTItMTggMjE6MDU6MTEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBsb2NhdGUgbmV4dCBzeW5jIGNvZGUgbW9yZSBlZmZpY2llbnRseQoKMjAwOS0xMi0xOCAyMTowNDoxMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGJhc2VwYXJzZSB0YWtlcyBjYXJlIG9mIGhhbmRsaW5nIGxlZnRvdmVyIHBpZWNlcwoKMjAwOS0xMi0xOCAyMTowMjo0MCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGltcGxlbWVudCBsZWZ0b3ZlciBkcmFpbmluZyBpbiBwdWxsIG1vZGUKCjIwMDktMTItMTcgMTI6NDU6MzYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBzZXQgX09GRlNFVCBhbmQgX09GRlNFVF9FTkQgb24gb3V0Z29pbmcgYnVmZmVycwoKMjAwOS0xMi0xNyAxMjo0NDoyMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJICBhdWRpb3BhcnNlcnM6IG1vdmUgJ2ZsYWNwYXJzZScgaW50byBpdAoKMjAwOS0xMi0xNiAxODozODozMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHByb3ZpZGUgZGVmYXVsdCBjb252ZXJzaW9uIHVzaW5nIGJwcyBpZiBubyBmcHMgYXZhaWxhYmxlCgkgIEFsc28gc3RvcmUgZXN0aW1hdGVkIGR1cmF0aW9uIGFzIHN1Y2gsIHJhdGhlciB0aGFuIHByZXRlbmRpbmcgb3RoZXJ3aXNlCgkgIChlLmcuIHNldCBieSBzdWJjbGFzcykuCgoyMDA5LTEyLTE4IDEzOjMwOjI5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogY2hlY2sgZm9yIHJlbWFpbmluZyBkYXRhIHdoZW4gZHJhaW5pbmcgaW4gcHVzaCBtb2RlCgoyMDA5LTEyLTE4IDEzOjMwOjA3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZml4IHB1bGwgbW9kZSBjYWNoZSBzaXplIGNvbXBhcmlzb24KCjIwMDktMTItMTggMTM6MDE6MTcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUuCgoyMDA5LTEyLTE3IDE0OjQ2OjAxICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJICBVcGRhdGUgc3BlYyBmaWxlIGFuZCBmaXggYWMzcGFyc2VyIGhlYWRlciBsaXN0aW5nIGluIE1ha2VmaWxlLmFtCgoyMDA5LTEyLTExIDEwOjI1OjE2IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGF1ZGlvcGFyc2U6IGZpeCBhIGZvcm1hdCBzdHJpbmcgYXMgcmVwb3J0ZWQgb24gaXJjLgoKMjAwOS0xMS0yMyAxNjozNDo1MCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBlbnN1cmUgc3VmZmljaWVudCBkYXRhIGF2YWlsYWJsZSBmb3IgcGFyc2luZwoKMjAwOS0xMC0yOSAxNToxOTowNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBleHRyYWN0IGFuZCB1c2Ugc29tZSBtb3JlIGRldGFpbHMgZm9yIEVuaGFuY2VkIEFjLTMgc3RyZWFtcwoKMjAwOS0xMC0yOSAxNToxODozNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IGN1c3RvbSBidWZmZXJmbGFnIGluZGljYXRlcyBub3QgdG8gY291bnQgZnJhbWUgaW4gc3RhdHMKCjIwMDktMTAtMjggMTQ6MDg6NDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogcGVyZm9ybSBhZGRpdGlvbmFsIGZyYW1lIGNoZWNrcyB3aGVuIHJlc3luY2luZwoKMjAwOS0xMC0yOCAxNDowNzoxNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBpbmZvcm0gYmFzZSBwYXJzZXIgb2YgZnJhbWUgZHVyYXRpb24KCjIwMDktMTAtMjcgMTY6MTY6NTAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogaW1wcm92ZSBzcmMgY2FwcyBzZXR0aW5ncwoKMjAwOS0xMS0yNyAxNzo1OTowMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSAgYWMzcGFyc2U6IGluaXRpYWwgdmVyc2lvbgoJICBNQVJHSU5BTCByYW5rIGZvciBub3c7IG1pZ2h0IHRha2Ugc29tZSB0aW1lIGZvciBzb21lICh1c2VmdWwpCgkgIGZyYW1lZD10cnVlL2ZhbHNlIHRvIGFwcGVhciBoZXJlIGFuZCB0aGVyZS4KCjIwMDktMTEtMjYgMTg6MzQ6NDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmg6CgkgIGFtcnBhcnNlOiB1c2UgKGRlZmF1bHQpIHRpbWUgaGFuZGxpbmcgb2YgYmFzZXBhcnNlciBjbGFzcwoKMjAwOS0xMS0yNiAxODoxNToyMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSAgYXVkaW9wYXJzZXJzOiBtb3ZlICdhbXJwYXJzZScgaW50byBpdAoKMjAwOS0xMS0yNyAxNzoyNzozMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IHJlZmVyZW5jZSBHc3RCYXNlUGFyc2Ugbm93IGxpdmVzIGhlcmUKCjIwMDktMTEtMjggMTg6MTM6MzEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSAgYXVkaW9wYXJzZXJzOiByZW5hbWUgJ2FhY3BhcnNlJyBwbHVnaW4gdG8gZ2VuZXJpYyAnYXVkaW9wYXJzZXJzJyBwbHVnaW4KCjIwMDktMTEtMjYgMTc6MDQ6NDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2FhY3BhcnNlL3BsdWdpbi5jOgoJICBhYWNwYXJzZTogc2VwYXJhdGUgcGx1Z2luIHJlZ2lzdHJhdGlvbiBhbmQgcmVuYW1lIHBsdWdpbgoKMjAwOS0xMS0yNiAxNzowNDozNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGVuc3VyZSBzdWZmaWNpZW50IGRhdGEgYXZhaWxhYmxlIGJlZm9yZSBhY2Nlc3NpbmcKCjIwMDktMTEtMDUgMTQ6MzE6NDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5oOgoJICBhYWNwYXJzZTogdXNlIChkZWZhdWx0KSB0aW1lIGhhbmRsaW5nIG9mIGJhc2VwYXJzZXIgY2xhc3MKCjIwMDktMTAtMjkgMTU6MTk6MzUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBmaXh1cCBjb21tZW50cyB0byBDLXN0eWxlCgoyMDA5LTEwLTI5IDE2OjA1OjAwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiByZXNldCBwYXNzdGhyb3VnaCBtb2RlIHRvIGRlZmF1bHQgKGRpc2FibGVkKSBvbiBhY3RpdmF0aW9uCgoyMDA5LTEwLTI5IDE1OjE2OjU5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBlbnN1cmUgYnVmZmVyIG1ldGFkYXRhIGlzIHdyaXRhYmxlCgoyMDA5LTEwLTI4IDE0OjA2OjEzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IGZpeC9lbmhhbmNlIERJU0NPTlQgbWFya2luZwoJICBJbiBwYXJ0aWN1bGFyLCBjb25zaWRlciBESVNDT05UID09ICFzeW5jLCBhbmQgYWxsb3cgc3ViY2xhc3MgdG8gcXVlcnkKCSAgc3luYyBzdGF0ZSwgYXMgaXQgbWF5IHdhbnQgdG8gcGVyZm9ybSBhZGRpdGlvbmFsIGNoZWNrcyBkZXBlbmRpbmcKCSAgb24gd2hldGhlciBzeW5jIHdhcyBhY2hpZXZlZCBlYXJsaWVyIG9uLgoJICBBbHNvIGFycmFuZ2UgZm9yIHN1YmNsYXNzIHRvIHF1ZXJ5IHdoZXRoZXIgbGVmdG92ZXIgZGF0YSBpcyBiZWluZyBkcmFpbmVkLgoKMjAwOS0xMS0yMyAxNTo0ODoyNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiBhZGQgdGltZXN0YW1wIGhhbmRsaW5nLCBhbmQgZGVmYXVsdCBjb252ZXJzaW9uCgkgIEluIHBhcnRpY3VsYXIsIChvcHRpb25hbGx5KSBwcm92aWRlIGJhc2VwYXJzZSB3aXRoIGEgbm90aW9uIG9mIGZyYW1lcyBwZXIgc2Vjb25kCgkgIChhbmQgdGhlcmVmb3JlIGFsc28gZnJhbWUgZHVyYXRpb24pIGFuZCBoYXZlIGl0IHRyYWNrIGZyYW1lIGFuZCBieXRlIGNvdW50cy4KCSAgVGhpcyB3YXksIHN1YmNsYXNzIGNhbiBwcm92aWRlIGJhc2VwYXJzZSB3aXRoIGZwcyBhbmQgaGF2ZSBpdCBwcm92aWRlIGRlZmF1bHQKCSAgYnVmZmVyIHRpbWUgbWV0YWRhdGEgYW5kIGNvbnZlcnNpb25zLCB0aG91Z2ggc3ViY2xhc3MgY2FuIHN0aWxsIGluc3RhbGwKCSAgY2FsbGJhY2tzIHRvIGhhbmRsZSBzdWNoIGl0c2VsZi4KCjIwMDktMTAtMjggMTI6MDI6MDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGRvY3VtZW50YXRpb24gZml4ZXMKCjIwMDktMTAtMjggMTI6MDA6MDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHVzZV9maXhlZF9jYXBzIGZvciBzcmMgcGFkCgkgIEFmdGVyIGFsbCwgc3RyZWFtIGlzIGFzLWlzLCBhbmQgdGhlcmUgaXMgbGl0dGxlIG1vbGRpbmcgdG8gZG93bnN0cmVhbSdzCgkgIHRhc3RlIHRoYXQgY2FuIGJlIGRvbmUuICBJZiBzdWJjbGFzcyBjYW4gYW5kIHdhbnRzIHRvIGRvIHNvLCBpdCBjYW4KCSAgc3RpbGwgb3ZlcnJpZGUgYXMgc3VjaC4KCjIwMDktMTEtMjAgMTc6MzI6MTMgKzAxMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBmbHVlbmRvLmNvbT4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEZpeCBjb21waWxhdGlvbiB3YXJuaW5ncwoKMjAwOS0xMC0xMSAxMToyMjoxMSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGZpeCB3YXJuaW5ncyBpbiBtYWNvc3ggc25vdyBsZW9wYXJkCgoyMDA5LTA5LTI1IDE3OjAyOjUzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSAgYWFjcGFyc2U6IGZvcmVnbyAoYm9ndXMpIHBhcnNpbmcgb2YgYWxyZWFkeSBwYXJzZWQgKHJhdykgaW5wdXQKCjIwMDktMDgtMDcgMTM6MDc6MTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHByZXZlbnQgaW5maW5pdGUgbG9vcCB3aGVuIGRyYWluaW5nCgoyMDA5LTA4LTA3IDEzOjA2OjI4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBmaXggbWlub3IgbWVtb3J5IGxlYWsKCjIwMDktMDctMTQgMTQ6MDg6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkgIGFhY3BhcnNlOiBBZGQgZnVuY3Rpb24gZm9yIHRoZSBiYXNlcGFyc2Ugc3ViY2xhc3MgdG8gcHVzaCBidWZmZXJzIGRvd25zdHJlYW0KCSAgQWxzbyBoYW5kbGUgdGhlIGNhc2UgZ3JhY2VmdWxseSB3aGVyZSB0aGUgc3ViY2xhc3MgZGVjaWRlcyB0byBkcm9wCgkgIHRoZSBmaXJzdCBidWZmZXJzIGFuZCBoYXMgbm8gY2FwcyBzZXQgeWV0LiBJdCdzIHN0aWxsIHJlcXVpcmVkIHRvCgkgIGhhdmUgdmFsaWQgY2FwcyBzZXQgd2hlbiB0aGUgZmlyc3QgYnVmZmVyIHNob3VsZCBiZSBwYXNzZWQgZG93bnN0cmVhbS4KCjIwMDktMDctMTQgMTQ6MDc6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IEZpeCBzZWVrIGV2ZW50IGxlYWtpbmcKCjIwMDktMDYtMTggMTI6MTM6MjggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBBRElGOiBkbyBub3Qgc2VuZCBib2d1cyB0aW1lc3RhbXBzLCBsZWF2ZSB0byBkb3duc3RyZWFtIChkZWNvZGVyKQoKMjAwOS0wNi0wMSAxNTo1MzoyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGZpeCBzYW1wbGUgcmF0ZSBleHRyYWN0aW9uIGZyb20gY29kZWMgZGF0YQoJICBJbiBvbmUgY2FzZSB3ZSBleHRyYWN0ZWQgdGhlIHNhbXBsZSByYXRlIGluZGV4IGZyb20gdGhlIGNvZGVjIGRhdGEKCSAgYW5kIHNhdmVkIGl0IGFzIHNhbXBsZSByYXRlIHJhdGhlciB0aGFuIGdldHRpbmcgdGhlIHJlYWwgc2FtcGxlCgkgIHJhdGUgZnJvbSB0aGUgdGFibGUuIEZpeCB0aGF0LCBhbmQgYWxzbyBtYWtlIHN1cmUgd2UgZG9uJ3QgYWNjZXNzCgkgIG5vbi1leGlzdGFudCB0YWJsZSBlbnRyaWVzIGJ5IGFkZGluZyBhIHNtYWxsIGhlbHBlciBmdW5jdGlvbiB0aGF0CgkgIGd1YXJkcyBhZ2FpbnN0IG91dC1vZi1ib3VuZHMgYWNjZXNzIGluIGNhc2Ugb2YgaW52YWxpZCBpbnB1dCBkYXRhLgoKMjAwOS0wNi0wMSAxNDowMjozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2UsIGFtcnBhcnNlOiByZW1vdmUgYm9ndXMgZ3N0X3BhZF9maXhhdGVfY2FwcygpIGNhbGxzCgoyMDA5LTA2LTAxIDEzOjU2OjE4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwcm9wYWdhdGUgcmV0dXJuIHZhbHVlIG9mIEdzdEJhc2VQYXJzZTo6c2V0X3NpbmtfY2FwcygpCgkgIGdzdF9iYXNlX3BhcnNlX3Npbmtfc2V0Y2FwcygpIHByZXN1bWFibHkgc2hvdWxkIGZhaWwgaWYgdGhlIHN1YmNsYXNzCgkgIHJldHVybnMgRkFMU0UgZnJvbSBpdHMgOjpzZXRfc2lua19jYXBzKCkgZnVuY3Rpb24uCgoyMDA5LTA2LTAxIDEzOjQ3OjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBkb24ndCB0cnkgdG8gR1NUX0xPRyBhbiBhbHJlYWR5LWZyZWVkIGNhcHMgc3RyaW5nCgkgIFRoZSBwcm9wZXIgd2F5IHRvIGxvZyBjYXBzIGlzIHZpYSBHU1RfUFRSX0ZPUk1BVCBhbnl3YXkuCgoyMDA5LTA2LTAxIDEzOjA1OjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogc2V0IGNoYW5uZWxzIGFuZCByYXRlIG9uIG91dHB1dCBjYXBzLCBhbmQga2VlcCBjb2RlY19kYXRhCgkgIENyZWF0ZSBvdXRwdXQgY2FwcyBmcm9tIGlucHV0IGNhcHMsIHNvIHdlIG1haW50YWluIGFueSBmaWVsZHMgd2UKCSAgbWlnaHQgZ2V0IG9uIHRoZSBpbnB1dCBjYXBzLCBzdWNoIGFzIGNvZGVjX2RhdGEgb3IgcmF0ZSBhbmQgY2hhbm5lbHMuCgkgIFNldCBjaGFubmVscyBhbmQgcmF0ZSBvbiB0aGUgb3V0cHV0IGNhcHMgaWYgd2UgZG9uJ3QgaGF2ZSBpbnB1dCBjYXBzCgkgIG9yIHRoZXkgZG9uJ3QgY29udGFpbiBzdWNoIGZpZWxkcy4gV2UgZG8gdGhpcyBwYXJ0bHkgYmVjYXVzZSB3ZSBjYW4sCgkgIGJ1dCBhbHNvIGJlY2F1c2Ugc29tZSBtdXhlcnMgbmVlZCB0aGlzIGluZm9ybWF0aW9uLiBUYWdyZWFkYmluIHdpbGwKCSAgYWxzbyBiZSBoYXBweSBhYm91dCB0aGlzLgoKMjAwOS0wNS0yNiAxOTo0Mzo1MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZml4IGRlYnVnIGNhdGVnb3J5CgoyMDA5LTA0LTI3IDIyOjM5OjE1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBmaXggKHJlZ3Jlc3Npb24gaW4pIG5ld3NlZ21lbnQgaGFuZGxpbmcKCSAgKGFhY3BhcnNlLCBhbXJwYXJzZSwgZmxhY3BhcnNlKS4gIEZpeGVzICM1ODAxMzMuCgoyMDA5LTA0LTA3IDA0OjUzOjAyICswMzAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IEZpeCBzbGlnaHRseSBicm9rZW4gYnVmZmVyLWluLXNlZ21lbnQgY2hlY2sgKGFhY3BhcnNlLCBhbXJwYXJzZSwgZmxhY3BhcnNlKQoKMjAwOS0wNC0wNSAwMzo1MDoxOSArMDMwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBGaXggcHVzaCBtb2RlIHNlZWtpbmcgKGFhY3BhcnNlLCBhbXJwYXJzZSkKCSAgU2VuZGluZyB0aGUgZmx1c2gtc3RhcnQgZXZlbnQgZm9yd2FyZCBiZWZvcmUgdGFraW5nIHRoZSBzdHJlYW0gbG9jayBhY3R1YWxseQoJICB3b3JrcywgaW4gY29udHJhc3QgdG8gZGVhZGxvY2tpbmcgaW4gZG93bnN0cmVhbSBwcmVyb2xsX3dhaXQgKGh1bmsgMSkuCgkgIEFmdGVyIHRoYXQgd2UgZ2V0IHRoZSBjaGFpbiBmdW5jdGlvbiBiZWluZyBzdHVjayBpbiBhIGJ1c3kgbG9vcC4gVGhpcyBpcyBmaXhlZAoJICBieSB1cGRhdGluZyB0aGUgbWluaW11bSBmcmFtZSBzaXplIGluc2lkZSB0aGUgc3luY2hyb25pemF0aW9uIGxvb3AgYmVjYXVzZSB0aGUKCSAgc3ViY2xhc3MgYXNrcyBmb3IgbW9yZSBkYXRhIGluIHRoaXMgd2F5IChodW5rIDIpLgoJICBGaW5hbGx5LCB0aGlzIGxlYWRzIHRvIGEgdmVyeSBwcm9iYWJsZSBjcmFzaCBiZWNhdXNlIHRoZSBzdWJjbGFzcyBjYW4gZmluZCBhCgkgIHZhbGlkIGZyYW1lIHdpdGggYSBzaXplIGdyZWF0ZXIgdGhhbiB0aGUgY3VycmVudGx5IGF2YWlsYWJsZSBkYXRhIGluIHRoZQoJICBhZGFwdGVyLiBUaGlzIG1ha2VzIHRoZSBzdWJzZXF1ZW50IGdzdF9hZGFwdGVyX3Rha2VfYnVmZmVyIGNhbGwgcmV0dXJuIE5VTEwsCgkgIHdoaWNoIGlzIG5vdCBleHBlY3RlZCAoaHVuayAzKS4KCjIwMDktMDMtMzEgMTY6MDc6NDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IERlbGF5IG5ld3NlZ21lbnQgYXMgbG9uZyBhcyBwb3NzaWJsZS4KCSAgSWYgbmV3c2VnbWVudCBpcyBzZW50ICh0b28pIGVhcmx5LCBjYXBzIG1heSBub3QgeWV0IGJlIGZpeGVkL3NldCwKCSAgYW5kIGRvd25zdHJlYW0gbWF5IG5vdCBoYXZlIGJlZW4gbGlua2VkLgoKMjAwOS0wMy0xOSAwMToxNzoyNSArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogRml4IGJ1c3lsb29wIHdoZW4gc2Vla2luZy4gRml4ZXMgIzU3NTM4OAoJICBUaGUgcHJvYmxlbSBpcyB0aGF0IGFmdGVyIGEgZGlzY29udCwgc2V0X21pbl9mcmFtZV9zaXplKDEwMjQpIGlzIGNhbGxlZCB3aGVuCgkgIGRldGVjdF9zdHJlYW0gcmV0dXJucyBGQUxTRS4gSG93ZXZlciwgZGV0ZWN0X3N0cmVhbSBjYWxscyBjaGVja19hZHRzX2ZyYW1lCgkgIHdoaWNoIHNldHMgdGhlIGZyYW1lIHNpemUgb24gaXRzIG93biB0byBzb21ldGhpbmcgbGFyZ2VyIHRoYW4gMTAyNC4gVGhpcyBpcyB0aGUKCSAgc2FtZSBzaXR1YXRpb24gYXMgaW4gdGhlIGJlZ2lubmluZywgc28gdGhlIGJhc2UgY2xhc3MgZW5kcyB1cCBjYWxsaW5nCgkgIGNoZWNrX3ZhbGlkX2ZyYW1lIGluIGFuIGVuZGxlc3MgbG9vcC4KCjIwMDktMDMtMTkgMDA6MzI6NDAgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IFJlZmFjdG9yIGNoZWNrX3ZhbGlkX2ZyYW1lIHRvIGV4cG9zZSBicm9rZW4gY29kZQoJICBKdXN0IG1vdmluZyBjb2RlIGFyb3VuZCBhbmQgcmVtb3ZpbmcgYW4gdW5oZWxwZnVsL21pc2xlYWRpbmcgY29tbWVudC4KCjIwMDktMDItMjcgMTE6MjQ6MzcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiByZXZlcnQgbGFzdCBjaGFuZ2UgYW5kIHByb3Blcmx5IGZpeAoJICBCYXNlcGFyc2UgaW50ZXJuYWx5IGJyZWFrcyB0aGUgc2VtYW50aWNzIG9mIGEgX2NoYWluIGZ1bmN0aW9uIGJ5IGNhbGxpbmcgaXQgd2l0aAoJICBidWZmZXI9PU5VTEwuIFRoZSByZXNvbiBJIGJlbGl2ZWQgaXQgd2FzIG9rYXkgdG8gcmVtb3ZlIGl0IHdhcyB0aGF0IHRoZXJlIGlzCgkgIGFsc28gYW4gdW5jaGVja2VkIGFjY2VzcyB0byBidWZmZXIgbGF0ZXIgaW4gX2NoYWluLiBBY3R1YWxseSB0aGF0IGNvZGUgaXMgd3JvbmcsCgkgIGFzIGl0IG1vc3QgcHJvYmFibHkgd2FudHMgdG8gc2V0IGRpc2NvbnQgb24gdGhlIG91dGdvaW5nIGJ1ZmZlci4KCjIwMDktMDItMjYgMTE6MDI6MDYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiByZW1vdmUgY2hlY2tzIGZvciBidWZmZXI9PU5VTEwKCSAgQWNjb3JkaWZuIHRvIGRvY3MgZm9yIEdzdFBhZENoYWluRnVuY3Rpb24gYnVmZmVyIGNhbm5vdCBiZSBOVUxMLiBJZiB3ZSB3b3VsZAoJICBsZWF2ZSB0aGUgY2hlY2ssIHdlIHdvdWxkIGFsc28gbmVlZCBtb3JlIHN1Y2ggY2hlY2sgYmVsb3cuCgoyMDA5LTAyLTExIDAwOjE1OjQzICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBGaXggbGljZW5zZSBzcGVjaWZpZWQgaW4gcGx1Z2luIGRldGFpbHMuCgoyMDA5LTAxLTMwIDE4OjE4OjEwICswMDAwICBKYW4gU2NobWlkdCA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgRml4IHRoZSByZXR1cm4gdmFsdWUgb2YgdGhlIGRlZmF1bHQgcGFyc2VfZnJhbWUgZnVuY3Rpb24uCgkgIEZpeCB0aGUgcmV0dXJuIHZhbHVlIG9mIHRoZSBkZWZhdWx0IHBhcnNlX2ZyYW1lIGZ1bmN0aW9uIGluIGJvdGgKCSAgY29waWVzIG9mIEdzdEJhc2VQYXJzZQoKMjAwOS0wMS0yMyAxNjowMDoxMCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkgIExvZyBhYWMgZGV0YWlscyBmb3VuZCBpbiBjb2RlY19kYXRhLgoKMjAwOC0xMS0xMyAxNzoyNDo1OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOiBEb24ndCBhdXRvcGx1ZyBhYWNwYXJzZSB1bnRpbCBpdCB3b3Jrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6IChwbHVnaW5faW5pdCk6CgkgIERvbid0IGF1dG9wbHVnIGFhY3BhcnNlIHVudGlsIGl0IHdvcmtzLgoKMjAwOC0xMS0xMyAxNToyMDoxNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgdW5pdCB0ZXN0cyBmb3IgbmV3IHBhcnNlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYW1ycGFyc2UuYzoKCSAgQWRkIHVuaXQgdGVzdHMgZm9yIG5ldyBwYXJzZXJzLgoKMjAwOC0xMS0xMyAxNDoyMTozOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0LzogRml4IGJhc2VwYXJzZSB0eXBlIG5hbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIEZpeCBiYXNlcGFyc2UgdHlwZSBuYW1lLgoKMjAwOC0xMS0xMyAxMjo1OTozNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgQWRkIHR3byBuZXcgYmFzZXBhcnNlIGJhc2VkIHBhcnNlcnMgKGFhYyBhbmQgYW1yKSBmcm9tIEJ1ZyAjNTE4ODU3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2FhY3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJICAqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5oOgoJICAqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkgICogZ3N0L2FtcnBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hbXJwYXJzZS9nc3RhbXJwYXJzZS5jOgoJICAqIGdzdC9hbXJwYXJzZS9nc3RhbXJwYXJzZS5oOgoJICAqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkgIEFkZCB0d28gbmV3IGJhc2VwYXJzZSBiYXNlZCBwYXJzZXJzIChhYWMgYW5kIGFtcikgZnJvbSBCdWcgIzUxODg1Ny4KCjIwMTEtMDMtMjAgMDE6MDg6MzggKzAxMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IE1ha2Ugc3JjX3F1ZXJ5IE1ULXNhZmUKCSAgSXQgaXMgcG9zc2libGUgdGhhdCB0aGUgZWxlbWVudCBtaWdodCBiZSBnb2luZyBkb3duIHdoaWxlIHRoZSBldmVudCBhcnJpdmVzCgoyMDExLTA0LTA4IDE1OjIyOjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogVW5yZWYgZXZlbnQgaWYgdGhlIHBhcmVudCBlbGVtZW50IGRpc2FwcGVhcmVkCgoyMDExLTA0LTA4IDE1OjIyOjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IFVucmVmIGV2ZW50IGlmIHRoZSBwYXJlbnQgZWxlbWVudCBkaXNhcHBlYXJlZAoKMjAxMS0wMy0yMSAxNjowNDozNCArMDEwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBNYWtlIHVwc3RyZWFtIGV2ZW50cyBNVC1zYWZlCgoyMDExLTAzLTIxIDE2OjA0OjM0ICswMTAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBNYWtlIHVwc3RyZWFtIGV2ZW50cyBNVC1zYWZlCgoyMDExLTA0LTA4IDE1OjIwOjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cDogVW5yZWYgZXZlbnRzIGlmIHRoZSBwYXJlbnQgZWxlbWVudCBkaXNhcHBlYXJlZAoKMjAxMS0wMS0wNiAxODoyNDozNiArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cG1hbmFnZXI6IGZpeCBwYWQgY2FsbGJhY2tzIHNvIHRoZXkgaGFuZGxlIHdoZW4gcGFyZW50IGdvZXMgYXdheQoJICAxKSBXZSBuZWVkIHRvIGxvY2sgYW5kIGdldCBhIHN0cm9uZyByZWYgdG8gdGhlIHBhcmVudCwgaWYgc3RpbGwgdGhlcmUuCgkgIDIpIElmIGl0IGhhcyBnb25lIGF3YXksIHdlIG5lZWQgdG8gaGFuZGxlIHRoYXQgZ3JhY2VmdWxseS4KCSAgVGhpcyBpcyBuZWNlc3NhcnkgaW4gb3JkZXIgdG8gc2FmZWx5IG1vZGlmeSBhIHJ1bm5pbmcgcGlwZWxpbmUuIEhhcyBiZWVuCgkgIG9ic2VydmVkIHdoZW4gYSBzdHJlYW1pbmcgdGhyZWFkIGlzIGRvaW5nIGEgYnVmZmVyX2FsbG9jKCkgd2hpbGUgYW4KCSAgYXBwbGljYXRpb24gdGhyZWFkIHNlbmRzIGFuIGV2ZW50IG9uIGEgcGFkIGZ1cnRoZXIgZG93bnN0cmVhbSwgYW5kIGZyb20KCSAgd2l0aGluIGEgcGFkIHByb2JlIChob2xkaW5nIFNUUkVBTV9MT0NLKSBjYXJyaWVzIG91dCB0aGUgcGlwZWxpbmUgcGx1bWJpbmcKCSAgd2hpbGUgdGhlIHN0cmVhbWluZyB0aHJlYWQgaGFzIGl0cyBidWZmZXJfYWxsb2MoKSBpbiBwcm9ncmVzcy4KCjIwMTAtMTEtMjYgMTU6MjA6MDQgKzAxMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogbWFrZSBpdGVyYXRlX2ludGVybmFsX2xpbmtzIE1ULXNhZmUKCjIwMTEtMDQtMDggMTQ6MzU6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBSZXZlcnQgIlB1bHNlc2luazogQWxsb3cgY2h1bmtzIHVwIHRvIGJ1ZnNpemUgaW5zdGVhZCBvZiBzZWdzaXplIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDFlMmMxNDY3YWUwNDJhM2M2YmIxYTZiYzBjMDdhZWZmMTNlYzVlZGIuCgkgIFRoZSBjb21taXQgY2F1c2VzIHB1bHNlc2luayB0byBpZ25vcmUgdGhlIGxhdGVuY3ktdGltZSBiYXNlYXVkaW9zaW5rIHByb3BlcnR5LgoKMjAxMS0wNC0wOCAxMToxMzowNyArMDIwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJICBydHBzcGVleHBheTogRG8gbm90IHRyYW5zbWl0dCBzYW1wbGVzIHdpdGggR0FQIGZsYWcKCSAgSWYgd2UgZ2V0IEdBUCBzYW1wbGVzLCB0aGVyZSBpcyBubyBuZWVkIHRvIHRyYW5zbWl0dCBpdC4KCSAgSW4gc29tZSBzaXR1YXRpb25zLCBtaWNyb3Bob25lIGlzIG11dGVkLCB3ZSBjYW4gZHJvcCBuZXQgdHJhZmZpY2sKCSAgdXNhZ2UgdG8gfjEga2JpdC9zLiBXaXRob3V0IHBhdGNoIGl0IHdpbGwgc3RheSB+MjAga2JpdC9zCgoyMDExLTA0LTA4IDExOjExOjU4ICswMjAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgc3BlZXhlbmM6IFVzZSBzcGVleCBpbnRlcm4gc2lsZW5jZSBkZXRlY3Rpb24KCSAgU3BlZXggaGFzIGJ1aWxkIGluIHNpbGVuY2UgZGV0ZWN0aW9uLiBJZiBzcGVleF9lbmNvZGVfaW50IHJldHVybnMgMCwKCSAgdGhhbiB0aGVyZSBpcyBzaWxlbmNlIGFuZCBzYW1wbGUgZG8gbm90IG5lZWQgdG8gYmUgdHJhbnNtaXR0ZWQuCgkgIFRoaXMgd29yayBvbmx5IGlmIHZicj0xIGFuZCBkdHg9MSBvcHRpb25hcyBhcmUgZW5hYmxlZC4KCSAgU28gaWYgd2UgZ2V0IDAsIHdlIGFkZCBHQVAgZmxhZyB0byB0aGUgc2FtcGxlLgoKMjAxMS0wNC0wNyAxOTowNDozMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5jOgoJICBydHA6IHBvcnQgc29tZSBwYXkvZGVwYXlsb2FkZXJzCgoyMDExLTA0LTA1IDE5OjE1OjExICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgdWRwc2luazogaGFuZGxlIHNjYXRoZXIgZ2F0aGVyIGZyb20gYnVmZmVycwoJICBJdGVyYXRlIHRoZSBtZW1vcnkgYmxvY2tzIG9uIHRoZSBidWZmZXIgYW5kIHNlbmQgdGhlbSB1c2luZyBzZW5kbXNnLgoKMjAxMS0wNC0wNSAxNzoyNjo0NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJICBydHBkZWM6IHJlc2V0IHN0cnVjdHVyZSBiZWZvcmUgdXNlCgoyMDExLTA0LTA1IDE3OjIwOjA4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYwoKMjAxMS0wNC0wNSAxNzoxMjoyOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogaGFuZGxlICogY29udHJvbCBjb3JyZWN0bHkKCSAgUGFyc2Ugc2Vzc2lvbiBjb250cm9sIGF0dHJpYnV0ZXMgd2hlbiBubyBtZWRpYSBjb250cm9sIGF0dHJpYnV0ZSBpcwoJICBwcmVzZW50LiBUaHJlYXQgKiBjb250cm9sIGF0dHJpYnV0ZXMgYXMgYW4gZW1wdHkgc3RyaW5nLCBqdXN0IGxpa2UgdGhlCgkgIHNwZWMgc2F5cy4KCSAgRml4ZXMgIzY0NjgwMAoKMjAxMS0wNC0wNSAxNzowNjo0MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICBydHNwL3VkcDogcG9ydCB0byAwLjExCgoyMDExLTA0LTA1IDE0OjI4OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IEFkZCBzdXBwb3J0IGZvciBBLUxhdyBhbmQgwrUtTGF3CgkgIEZpeGVzIGJ1ZyAjNjQ2NTY3LgoKMjAxMS0wNC0wNSAwOTo0NDowMSArMDIwMCAgSm9uIE5vcmRieSA8am9ub25vckBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IEZpeCBidWlsZCB3aXRoIGphY2sgMC4xMjAuMQoJICA5NTQ0NjIyNjc0YzBkMGEzMTQ3YTliNTExNDUxNTliMDJlZWM2OGU5IGNoZWNrZWQKCSAgZm9yIDAuMTIwLjIgYW5kIGxhdGVyLCBidXQgdGhlIGRlcHJlY2F0aW9uIHdhcyBpbnRyb2R1Y2VkIGluCgkgIDAuMTIwLjEKCjIwMTEtMDQtMDUgMTE6MTM6MzYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkgIGF2aTogbW9yZSBwb3J0aW5nIHRvIDAuMTEKCjIwMTEtMDQtMDUgMTI6MDU6MTkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJyYWRpby5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOgoJICBkb2NzOiBmaXggZG9jdWVtbnRhdGlvbiB3YXJuaW5ncyAoYW5kIHJlaW5kZW50KQoKMjAxMS0wNC0wNCAxOToxNzo0MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpOiBwb3J0IHRvIDAuMTEgQVBJCgoyMDExLTA0LTA0IDE3OjM0OjE3ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5oOgoJICB2aWRlb21peGVyOiB1cGRhdGUgb3JjIGRpc3QgZmlsZXMKCjIwMTEtMDQtMDQgMTU6NTc6MTAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMWNjYmUwOSB0byBjM2NhZmUxCgoyMDExLTAzLTAxIDE0OjA4OjEyICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBBbHdheXMgY2FsbCBwYV9zdHJlYW1fbmV3X3dpdGhfcHJvcGxpc3QoKQoJICBwYV9zdHJlYW1fbmV3X3dpdGhfcHJvcGxpc3QoKSBjYW4gdGFrZSBhIE5VTEwgcHJvcGxpc3QsIHNvIHdlIGRvbid0IG5lZWQKCSAgdG8gY29uY2VybiBvdXJzZWx2ZXMgd2l0aCB3aGV0aGVyIGl0J3MgTlVMTCBvciBub3QuCgoyMDExLTA0LTA0IDExOjMzOjEwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcGVyZm9ybSBwb3N0LWZsdXNoIHN0YXRlIHRyaWNrcyBkb3duc3RyZWFtIHRvIHVwc3RyZWFtCgkgIC4uLiBzbyBkb3duc3RyZWFtIGlzIHNldCB3aGVuIHVwc3RyZWFtIHJlc3VtZXMgZGF0YSBmbG93LgoKMjAxMS0wNC0wNCAxMToyNzoyOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGRpc3RyaWJ1dGUgbmV3IGJhc2VfdGltZSB0byBtYW5hZ2VyIGNoaWxkcmVuIGZvbGxvd2luZyBmbHVzaCBzZWVrCgkgIC4uLiBieSBmb3JjaW5nIGEgc3RhdGUgY2hhbmdlZCB0byBQTEFZSU5HLCB3aGljaCBzaG91bGQgb3RoZXJ3aXNlIGJlIGEKCSAgbm8tb3AgYXMgZWxlbWVudHMgc2hvdWxkIGFscmVhZHkgYmUgaW4gdGhhdCBzdGF0ZS4KCSAgSW4gcGFydGljdWxhciwgaml0dGVyYnVmZmVyIG5lZWRzIG5ldyBiYXNlX3RpbWUgYXMgc29vbiBhcyBwb3NzaWJsZSB0byBwZXJmb3JtCgkgIHByb3BlciB0aW1pbmcgKGUuZy4gZW9zIHRpbWVvdXQgaGFuZGxpbmcpIGFuZCBjYW4ndCB3YWl0IGZvciB0aGUgbmV3IGJhc2VfdGltZQoJICB0aGF0IHdpbGwgYmUgZGlzdHJpYnV0ZWQgd2hlbiB0aGUgd2hvbGUgcGlwZWxpbmUgcmV0dXJucyB0byBQTEFZSU5HLgoJICBTZWUgYnVnICM2NDYzOTcuCgoyMDExLTA0LTA0IDExOjM1OjU5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBSZXZlcnQgImppdHRlcmJ1ZmZlcjogcmVzZXQgZWxlbWVudCBiYXNlX3RpbWUgdXBvbiBmbHVzaCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBmODRiOGE2OWNiYTljNTM4ZjU1NDY4NjljYjRlZjQ1NGFkNWVmYjlkLgoJICBGaXhlcyBidWcgIzY0NjM5Ny4KCjIwMTEtMDQtMDQgMTA6MzE6NDQgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdjogU3BlY2lmeSB0aGUgb25seSBwb3NzaWJsZSBzdHJlYW0tZm9ybWF0IGZvciBoMjY0IGluIHRoZSBwYWQgdGVtcGxhdGVzLgoKMjAxMS0wNC0wNCAxMDowNzo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IENoZWNrIGZvciBpbnZhbGlkIChlbXB0eSkgY2xhc3NpZmljYXRpb24gaW5mbyBlbnRpdHkgc3RyaW5ncwoJICBPdGhlcndpc2UgdGhlIGNsYXNzaWZpY2F0aW9uIHN0cmluZyBjYW4gYmUgZW1wdHkgYW5kIGdzdF90YWdfbGlzdF9hZGQoKSB3aWxsCgkgIGNvbXBsYWluIG9yIGhhdmUgYSBcMCBpbiB0aGUgZmlyc3QgZm91ciBieXRlcywgd2hpY2ggaXMgd3JvbmcgdG9vLgoKMjAxMS0wNC0wNCAxMDowMToyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFllYXIgMCBpcyBub3QgYSB2YWxpZCB5ZWFyIGZvciBHRGF0ZSBhbmQgdGhlIHByb2xlcHRpYyBncmVnb3JpYW4gY2FsZW5kYXIKCjIwMTEtMDQtMDEgMTM6MTg6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBBZGQgc3VwcG9ydCBmb3Igd3JpdGluZyBNRVRBREFUQV9CTE9DS19QSUNUVVJFIGJsb2NrcyBmb3IgR1NUX1RBR19JTUFHRSBhbmQgR1NUX1RBR19QUkVWSUVXX0lNQUdFCgoyMDExLTA0LTAxIDExOjMzOjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlclsyXTogVXNlIG9yY19tZW1zZXQoKSBpbnN0ZWFkIG9mIG1lbXNldCgpCgoyMDExLTAxLTE5IDE4OjA2OjQ1IC0wNzAwICBMYW5lIEJyb29rcyA8ZGlyanVkQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5oOgoJICB2aWRlb21peGVyOiBBZGQgdHJhbnNwYXJlbnQgYmFja2dyb3VuZCBvcHRpb24gZm9yIGFscGhhIGNoYW5uZWwgZm9ybWF0cwoKMjAxMS0wMS0xOSAxMjowNzoxNyAtMDcwMCAgTGFuZSBCcm9va3MgPGRpcmp1ZEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5oOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy5vcmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmg6CgkgIHZpZGVvbWl4ZXIyOiBBZGQgdHJhbnNwYXJlbnQgYmFja2dyb3VuZCBvcHRpb24gZm9yIGFscGhhIGNoYW5uZWwgZm9ybWF0cwoJICBUaGlzIG9wdGlvbiBhbGxvd3MgdGhlIHZpZGVvbWl4ZXIyIGVsZW1lbnQgdG8gb3V0cHV0IGEgdmFsaWQgYWxwaGEKCSAgY2hhbm5lbCB3aGVuIHRoZSBpbnB1dHMgY29udGFpbiBhIHZhbGlkIGFscGhhIGNoYW5uZWwuIFRoaXMgYWxsb3dzCgkgIG1peGluZyB0byBvY2N1ciBpbiBtdWx0aXBsZSBzdGFnZXMgc2VyaWFsbHkuCgkgIFRoZSBmb2xsb3dpbmcgcGlwZWxpbmUgc2hvd3MgYW4gZXhhbXBsZSBvZiBzdWNoIGEgcGlwZWxpbmU6CgkgIGdzdC1sYXVuY2ggdmlkZW90ZXN0c3JjIGJhY2tncm91bmQtY29sb3I9MHgwMDAwMDAgcGF0dGVybj1iYWxsICEgdmlkZW8veC1yYXcteXV2LGZvcm1hdD1cKGZvdXJjY1wpQVlVViAhIHZpZGVvbWl4ZXIyIGJhY2tncm91bmQ9dHJhbnNwYXJlbnQgbmFtZT1taXgxICEgdmlkZW9taXhlcjIgbmFtZT1taXgyICEgZmZtcGVnY29sb3JzcGFjZSAhIGF1dG92aWRlb3NpbmsgIHZpZGVvdGVzdHNyYyAhIHZpZGVvL3gtcmF3LXl1dixmb3JtYXQ9XChmb3VyY2NcKUFZVVYgISBtaXgyLgoJICBUaGUgZmlyc3QgdmlkZW90ZXN0c3JjIGluIHRoaXMgcGlwZWxpbmUgY3JlYXRlcyBhIG1vdmluZyBiYWxsIG9uIGEKCSAgdHJhbnNwYXJlbnQgYmFja2dyb3VuZC4gSXQgaXMgdGhlbiBwYXNzZWQgdG8gdGhlIGZpcnN0IHZpZGVvbWl4ZXIyLgoJICBQcmV2aW91c2x5LCB0aGlzIHZpZGVvbWl4ZXIyIHdvdWxkIGhhdmUgZm9yY2VkIHRoZSBhbHBoYSBjaGFubmVsIHRvCgkgIDEuMCBhbmQgZ2l2ZW4gYSBiYWNrZ3JvdW5kIG9mIGNoZWNrZXIsIGJsYWNrLCBvciB3aGl0ZSB0byB0aGUKCSAgc3RyZWFtLiBXaXRoIHRoaXMgcGF0Y2gsIGhvd2V2ZXIsIHlvdSBjYW4gbm93IHNwZWNpZnkgdGhlIGJhY2tncm91bmQKCSAgYXMgdHJhbnNwYXJlbnQsIGFuZCB0aGUgYWxwaGEgY2hhbm5lbCBvZiB0aGUgaW5wdXQgd2lsbCBiZQoJICBwcmVzZXJ2ZWQuIFRoaXMgYWxsb3dzIGZvciBmdXJ0aGVyIG1peGluZyBkb3duc3RyZWFtLCBhcyBpcyBzaG93biBpbgoJICB0aGUgYWJvdmUgcGlwZWxpbmUgd2hlcmUgdGhlIGEgc2Vjb25kIHZpZGVvbWl4ZXIyIGlzIHVzZWQgdG8gbWl4IGluIGEKCSAgYmFja2dyb3VuZCBvZiBhbiBzbXB0ZSB2aWRlb3Rlc3RzcmMuIFNvIHRoZSByZXN1bHQgaXMgYSBiYWxsIGhvdmVyaW5nCgkgIG92ZXIgdGhlIHNtcHRlIHRlc3Qgc291cmNlLiBUaGlzIGNvdWxkLCBvZiBjb3Vyc2UsIGhhdmUgYmVlbgoJICBhY2NvbXBsaXNoZWQgd2l0aCBhIHNpbmdsZSBtaXhlciBlbGVtZW50LCBidXQgc3RhZ2VkIG1peGluZyBpcyB1c2VmdWwKCSAgd2hlbiBpdCBpcyBub3QgY29udmVuaWVudCB0byBtaXggYWxsIHZpZGVvIGF0IG9uY2UgKGUuZy4gYSBwaXBlbGluZQoJICB3aGVyZSBhIGZvcmVncm91bmQgYW5kIGJhY2tncm91bmQgYmluIGV4aXN0IGFuZCBhcmUgbWl4ZWQgYXQgdGhlIGZpbmFsCgkgIG91dHB1dCwgYnV0IHRoZSBmb3JlZ3JvdW5kIGJpbiBuZWVkcyBhbiBpbnRlcm5hbCBtaXhlciB0byBjcmVhdGUKCSAgdHJhbnNpdGlvbnMgYmV0d2VlbiBjbGlwcykuCgkgIEZpeGVzIGJ1ZyAjNjM5OTk0LgoKMjAxMS0wMy0zMSAxMzoyNTowMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogYWxzbyB1bmNvcmsgZHVyaW5nIEVPUyB3YWl0aW5nIChhbmQgYWZ0ZXIgRU9TIGlzIHJlbmRlcmVkKQoJICBQdWxzZXNpbmsgd2FzIHJlY2VudGx5IGNoYW5nZWQgdG8gZGVmZXIgdW5jb3JraW5nIHVudGlsIHRoZXJlIGlzIGRhdGEKCSAgdG8gd3JpdGUuIFRoaXMgY29uZGl0aW9uIHdpbGwgaG93ZXZlciBuZXZlciBvY2N1ciB3aGVuIEVPUyBpbiBiZWluZwoJICByZW5kZXJlZCAoc2luY2UgdGhhdCBtYXJrcyB0aGUgZW5kIG9mIGRhdGEpLiBDaGFuZ2luZyB0byBQQVVTRUQgc3RhdGUKCSAgd2hpbGUgRU9TIGlzIGJlaW5nIHdhaXRlZCBvbiByZXN1bHRzIGluIGEgaGFuZzogcGF1c2luZyBjb3JrcyB0aGUKCSAgc3RyZWFtLCB3aGljaCB3aWxsIG5ldmVyIGJlIHVuZG9uZSBzaW5jZSB0aGVyZSBpcyBubyBtb3JlIGRhdGEgd2hlbgoJICBnb2luZyBiYWNrIHRvIFBMQVlJTkcuIElmIHB1bHNlc2luayBpcyB0aGUgY2xvY2sgcHJvdmlkZXIsIGRlYWRsb2NrCgkgIGVuc3VlcyBzaW5jZSB0aW1lIGRvZXNuJ3QgY29udGludWUgaW4gY29ya2VkIHN0YXRlIGFuZCB0aGUgY2xvY2sgaWQKCSAgZm9yIEVPUyB3YWl0IG5ldmVyIGZpcmVzLgoJICBGaXhlcyAjNjQ1OTYxLgoKMjAxMS0wMy0yOSAxNjozMzo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgcnRwYmluOiBEb24ndCB0cnkgdG8gcmVxdWVzdCB0aGUgc2FtZSByZXF1ZXN0IHBhZCB0d2ljZQoKMjAxMS0wMy0yOCAyMzo0Njo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSAgZmxhY2RlYzogZml4IGlzc3VlcyB3aXRoIGxhcmdlIG1ldGFkYXRhIGJsb2NrcyB3aGVuIHN0cmVhbWluZyB1bmZyYW1lZCBmbGFjCgkgIFBhcnNlIG1ldGFkYXRhIGJsb2NrcyB3aGVuIGhhbmRsaW5nIHVucGFyc2VkIGZsYWMgaW4gcHVzaCBtb2RlLiBUaGlzCgkgIHdvcmtzIGFyb3VuZCBhIGJ1bmNoIG9mIGlzc3VlcyB3aXRoIHRoZSBmbGFjIGRlY29kZXIgd2hlbiBoYW5kbGluZwoJICBtZXRhZGF0YSBibG9ja3MgdGhhdCBhcmUgbGFyZ2VyIHRoYW4gdGhlIG1heC4gZmxhYyBmcmFtZXNpemUsIHdoaWNoCgkgIGNvdmVyYXJ0IGJsb2NrcyBvZnRlbiBhcmUuIFdlIG5lZWQgdG8gaGF2ZSBhbGwgdGhlIGRhdGEgZm9yIHRoZXNlCgkgIGJsb2NrcyBhdmFpbGFibGUgd2hlbiB3ZSBwYXNzIGRhdGEgdG8gbGliZmxhYy4KCSAgaHR0cDovL2dzdHJlYW1lci1kZXZlbC45NjYxMjUubjQubmFiYmxlLmNvbS9GbGFjLWZpbGVzLXRoYXQtd2lsbC1wbGF5YmFjay1idXQtbm90LXN0cmVhbS10ZDMzMzgxOTguaHRtbCNhMzM5NTI3NgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTY2NzY5CgoyMDExLTAzLTI4IDIxOjA1OjMxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICBwbHVnaW5zOiBwb3J0IHRvIG5ldyBtZW1vcnkgQVBJCgoyMDExLTAzLTI4IDIwOjUwOjU5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMS1mZG8KCjIwMTEtMDMtMjcgMjE6Mzk6NTAgKzAyMDAgIEphbiBVcmJhxYRza2kgPHd1bGN6ZXJAd3VsY3plci5vcmc+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgZmx2ZGVtdXg6IERvIG5vdCBidWlsZCBhbiBpbmRleCBpZiB1cHN0cmVhbSBpcyBub3Qgc2Vla2FibGUKCSAgQW4gaW5kZXggaXMgbm90IHVzZWZ1bCBpZiB1cHN0cmVhbSBjYW5ub3QgaGFuZGxlIHNlZWtzIGFuZCBidWlsZGluZyBpdAoJICBmb3IgaW5maW5pdGUgZmlsZXMsIGZvciBpbnN0YW5jZSBGTFYgc3RyZWFtcywgcmVzdWx0cyBpbiBhIG1lbW9yeSBsZWFrLgoKMjAxMS0wMy0yNyAwMToxOTo1OCArMDMwMCAgQWxleGV5IENoZXJub3YgPDRlcm5vdkBnbWFpbC5jb20+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJyYWRpby5jOgoJKiBzeXMvdjRsMi9nc3R2NGwycmFkaW8uaDoKCSAgdjRsMjogbmV3IHY0bDJyYWRpbyBlbGVtZW50IHRvIGNvbnRyb2wgYW5hbG9nIHJhZGlvIGRldmljZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MDExOAoKMjAxMS0wMy0yNSAyMjoyMjo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDE5M2I3MTcgdG8gMWNjYmUwOQoKMjAxMS0wMy0yNSAxNDo1NjowNiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBiNzdlMmJmIHRvIDE5M2I3MTcKCjIwMTEtMDMtMjUgMTI6NTM6NDMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9jYWlyby9NYWtlZmlsZS5hbToKCSAgY2Fpcm86IGZpeCB0aGUgbmFtZSBvZiB0aGUgKi1tYXJzaGFsbC5saXN0IGZpbGUgdG8gdW5icmVhayBtYWtlIGRpc3RjaGVjawoKMjAxMS0wMy0yNSAwOTozMTowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGQ4ODE0YjYgdG8gYjc3ZTJiZgoKMjAxMS0wMy0yNSAwOTowNjoxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDZhYWEyODYgdG8gZDg4MTRiNgoKMjAxMS0wMy0yNSAwMDoxMDo1NiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBzcGVjdHJ1bTogcmVmYWN0b3IgcHJvY2Vzc2luZyBsb29wIGZvciBibG9jayBiYXNlZCBvcGVyYXRpb24KCSAgUHJldmlvdXNseSB0aGUgY2hhaW4gZnVuY3Rpb24gd2FzIHdvcmtpbmcgc2FtcGxlIGZyYW1lIGJhc2VkLiBJbiBlYWNoIGN5Y2xlIGl0CgkgIHdhcyBjaGVja2luZyBpZiBpdCBpcyB0aW1lIHRvIHJ1biBhIGZmdCBvciBpZiBpdCBpcyB0aW1lIHRvIHNlbmQgYSBtZXNzYWdlLgoJICBOb3cgd2UgY2hhbmdlZCB0aGUgZGF0YSB0cmFuc2Zvcm0gZnVuY3Rpb25zIHRvIHdvcmsgb24gYSBibG9jayBvZiBkYXRhIGFuZAoJICBjYWxjdWxhdGUgdGhlIG1heCBsZW5ndGggdW50aWwgZWl0aGVyIHtlbmQtb2YtZGF0YSwgZG8tZmZ0LCBkby1tc2d9LiBUaGlzIGFsbG93cwoJICB1cyBhbHNvIHRvIGF2b2lkIHRoZSBkdXBsaWNhdGVkIGNvZGUgZm9yIHRoZSBzaW5nbGUgYW5kIG11bHRpLWNoYW5uZWwgY2FzZSAoYXMKCSAgdGhlIHRyYW5zZm9ybWVycyBoYXZlIHRoZSBzYW1lIHNpZ25hdHVyZSBub3cpLgoKMjAxMS0wMy0yNCAyMzo0NzozMyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBqYWNrOiB1bmJyZWFrIHRoZSBidWlsZCBmb3IgamFjazIgdXNlcnMKCSAgSmFjazIgKHZlcnNpb25zIDEuWC5YKSBkb2VzIG9ubHkgaGF2ZSB0aGF0IEFQSSBpbiBzdm4uIExpbW1pdCB0aGUgdXNlIG9mIHRoZSBuZXcKCSAgQVBJIGZvciBqYWNrMSB2ZXJzaW9ucy4KCjIwMTEtMDMtMjQgMTg6NDk6MTkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNmFlYzZiOSB0byA2YWFhMjg2CgoyMDExLTAzLTI0IDE0OjE0OjA5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IGZpeCB0aGUgZXJyb3IgYWNjdW11bGF0aW9uIGFuZCBmcmFtZXNfdG9kbyBoYW5kbGluZwoJICBFdmVuIHRob3VnaCB3ZSB3cmFwIGFyb3VuZCB0aGUgYWNjdW11bGF0ZWQgc2Vjb25kLCB3ZSBzdGlsbCBuZWVkIHRvIGFkZCB0aGUKCSAgZXJyb3IgaW4gdGhlIHNhbWUgY3ljbGUuIEluY3JlYXNlIHRoZSB0b2RvIGluIHRoZSBzYW1lIGNvbmRpdGlvbmFsIGFzIGFmdGVyd2FyZHMKCSAgdGhlIGFjY3VtdWxhdGVkIGVycm9yIHdpbGwgYmUgYmVsb3cgb25lIHNlY29uZC4KCjIwMTEtMDMtMjQgMTM6NTM6MTIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogZml4IGJyb2tlbiBjb2RlIHJlc3VsdGluZyBmb3IgYSB3cm9uZyBzcGxpdHVwIG9mIGNoYW5nZXMKCjIwMTEtMDMtMjIgMTY6Mjk6NTMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgc3BlY3RydW06IHNpbXBsaWZ5IHRoZSBoYXZlX2ludGVydmFsIGNhbGN1bGF0aW9uCgkgIE1vdmUgc29tZSBvZiB0aGUgY29uZGl0aW9ucyB0byB0aGUgcGxhY2VzIHdoZXJlIHRoZSBkZXBlbmRlbnQgdmFyaWFibGVzIGNoYW5nZS4KCjIwMTEtMDMtMjIgMTY6MjY6NDUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogdXNlIGxvY2FsIHZhciBmb3IgaW5wdXRfZGF0YSBmdW5jdGlvbgoJICBBdm9pZCBkZXJlZmVyZW5jaW5nIHRoZSBpbnB1dF9kYXRhIGZyb20gdGhlIGluc3RhbmNlIGZyb20gd2l0aGluIGFuIGlubmVyIGxvb3AuCgoyMDExLTAzLTIzIDE2OjM0OjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuaDoKCSAgc3BlZXhkZWM6IEdldCBhbmQgdXNlIHN0cmVhbWhlYWRlciBmcm9tIHRoZSBjYXBzIGlmIHBvc3NpYmxlCgkgIFRoaXMgYWxsb3dzIHBsYXliYWNrIG9mIHN0cmVhbXMgd2hlcmUgdGhlIHN0cmVhbWhlYWRlciBidWZmZXJzCgkgIHdlcmUgZHJvcHBlZCBmcm9tIHRoZSBzdHJlYW0gZm9yIHNvbWUgcmVhc29uLgoKMjAxMS0wMy0yMiAxOTozNjozMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IHVzZSBydW5uaW5nIHRpbWUgZm9yIHN5bmNocm9uaXphdGlvbgoJICBGaXhlcyAjNDMyNjEyLgoKMjAxMS0wMy0yMiAxOTozNjoyMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiB1c2UgcnVubmluZyB0aW1lIGZvciBzeW5jaHJvbml6YXRpb24KCSAgRml4ZXMgIzQzMjYxMi4KCjIwMTEtMDMtMjIgMTk6MzU6NTggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiB1c2UgcnVubmluZyB0aW1lIGZvciBzeW5jaHJvbml6YXRpb24KCSAgU2VlIGJ1ZyAjNDMyNjEyLgoKMjAxMS0wMy0yMiAxMjo1MzoyMiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiByZWR1bmRhbnQgdXNlcyBvZiBBQ19NU0dfUkVTVUxUKCkKCSAgY2xlYW5lZCB0aGUgcmVkdW5kYW50IHVzZXMgb2YgQUNfTVNHX1JFU1VMVCgpIGluIGNvbmZpZ3VyZS5hYwoKMjAxMS0wMy0xOCAxOTozNDo1NyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkgIGF1dG9nZW46IHdpbmdvIHNpZ25lZCBjb21tZW50CgoyMDExLTAzLTE2IDEwOjQzOjQ3ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkgIGphY2thdWRpb3Npbms6IEZpeCB0eXBvIGZyb20gOTU0NDYyMjY3NGMwZDBhMzE0N2E5YjUxMTQ1MTU5YjAyZWVjNjhlOQoKMjAxMS0wMy0xNiAwOTozODo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYTogTWFyayB0YWcgbWFwcGluZyB0YWJsZXMgYXMgc3RhdGljIGNvbnN0CgoyMDExLTAzLTE2IDA5OjM3OjU4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IFVzZSBBUlRJU1QgaW5zdGVhZCBvZiBBVVRIT1IgZm9yIEdTVF9UQUdfQVJUSVNUCgoyMDExLTAzLTE2IDA5OjM1OjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIG1hdHJvc2thZGVtdXg6IFVzZSBBUlRJU1QgTWF0cm9za2EgdGFnIGluc3RlYWQgb2YgQVVUSE9SIGZvciBHU1RfVEFHX0FSVElTVAoJICBBVVRIT1Igb25seSBleGlzdGVkIGluIGFuIG9sZCB2ZXJzaW9uIG9mIHRoZSBzcGVjIGFuZCBBUlRJU1QgaXMKCSAgdGhlIG5ldyByZXBsYWNlbWVudCBmb3IgdGhpcy4gV2UgYXJlIHN0aWxsIHJlYWRpbmcgYm90aCB0byBzdGlsbAoJICBiZSBjb21wYXRpYmxlIHdpdGggb2xkIGZpbGVzLgoJICBGaXhlcyBidWcgIzY0NDg3NS4KCjIwMTEtMDMtMTUgMjA6MTk6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9maWx0ZXIuYzoKCSAgdGVzdHM6IGVuYWJsZSBtb3JlIGZvcm1hdHMgaW4gdmlkZW9maWx0ZXIgdW5pdCB0ZXN0LCBjaGVjayBtb3JlIHJlc29sdXRpb25zCgoyMDExLTAzLTE0IDE5OjE0OjA3IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICB2aWRlb2ZsaXA6IEZpeCBidWZmZXIgb3ZlcmZsb3cgYnVnIGZvciBvZGQgcmVzb2x1dGlvbnMgYW5kIFk0MjIgY29sb3JzcGFjZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0NDc3MwoKMjAxMS0wMy0xNSAxOTozNjowMSArMDIwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSAgc3BlZXhkZWM6IHNpbGVuY2Ugd2FybmluZyBtZXNzYWdlIHdoZW4gYXBwcm9wcmlhdGUKCSAgSWYgd2UgZGlkIG5vdCBrbm93IGhvdyBtYW55IGZyYW1lcyB0byBleHBlY3QsIHRoZW4gd2UgZ2V0IGFuIHVuZXhwZWN0ZWQKCSAgZW5kIG9mIHN0cmVhbSB3aGVuIHRyeWluZyB0byBkZWNvZGUgbW9yZSBmcmFtZXMgdGhhdCBhcmUgdGhlcmUsIGlmIHRoZXJlCgkgIGFyZSBsZWZ0b3ZlciBiaXRzIHRvIHBhZCB0byB0aGUgbmV4dCBieXRlCgoyMDExLTAzLTE0IDE5OjE0OjA3IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICB2aWRlb2ZsaXA6IEFkZCBzdXBwb3J0IGZvciBZVVkyLCBVVllWIGFuZCBZVllVIGNvbG9yc3BhY2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDQ3NzMKCjIwMTEtMDMtMTUgMDk6NDM6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9maWx0ZXIuYzoKCSAgdGVzdHM6IGluIHZpZGVvZmlsdGVyIHVuaXQgdGVzdCBhbHNvIGNoZWNrIHdpdGggJ29kZCcgd2lkdGhzIGFuZCBoZWlnaHRzCgkgIEFuZCBvbmx5IHVzZSBvbmUgdGVzdCBzdWl0ZS4KCjIwMTEtMDMtMTQgMTk6Mjg6MDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkgIHNwZWV4ZGVjOiBBbHdheXMgcHJvY2VzcyB0aGUgbnVtYmVyIG9mIGZyYW1lcyBwZXIgcGFja2V0IGFzIHNwZWNpZmllZCBpbiB0aGUgaGVhZGVyCgkgIExvb2tpbmcgYXQgdGhlIHJlbWFpbmluZyBiaXRzIGluIHRoZSBiaXRzdHJlYW0gYWZ0ZXIgZGVjb2RpbmcgYQoJICBzaW5nbGUgZnJhbWUgY2FuJ3QgYmUgdXNlZCBhcyBsb29wIGNvbmRpdGlvbi4gVGhlIHJlbWFpbmluZwoJICBiaXRzIG1pZ2h0IG5vdCBnaXZlIGEgY29tcGxldGUgZnJhbWUgYW5kIHRoZSBzcGVleCBkZWNvZGVyIHdpbGwKCSAgdGhlbiBvdXRwdXQgbm90aGluZyBidXQgYWNjZXNzIHVuaW5pdGlhbGl6ZWQgbWVtb3J5LCB3aGljaCBsZWFkcwoJICB0byB2YWxncmluZCB3YXJuaW5ncy4KCSAgRml4ZXMgYnVnICM2NDQ2NjkuCgoyMDExLTAzLTE0IDE1OjQ2OjUwICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiByZXR1cm4gVFJVRSBmcm9tIHNpbmsgcGFkIGV2ZW50IGZ1bmN0aW9uIGZvciB0YWcgZXZlbnRzLCB3aGljaCBhcmUgaGFuZGxlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ0NzMwCgoyMDExLTAzLTEyIDAwOjQ0OjMxICswNTMwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEJldHRlciBmaXggZm9yIGRlYWRsb2NrIG9uIGZhaWxlZCBjb25uZWN0CgkgIFRoaXMgcmV2ZXJ0cyB0aGUgcHJldmlvdXMgZml4IHRoYXQgd291bGQgY2F1c2UgYSBkb3VibGUtdW5sb2NrIHdoZW4gdGhlCgkgIHN0cmVhbSBjb25uZWN0IGZhaWxlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0NDUxMAoKMjAxMS0wMy0xMSAyMzowNjozMSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogRml4IGRlYWRsb2NrIGlmIGNvbm5lY3RpbmcgdG8gUEEgZmFpbHMKCSAgQ29tbWl0IGRkNGVjMjJlIGludHJvZHVjZWQgYSBkZWFkbG9jayBpbiB0aGUgZmFpbHVyZSBwYXRoIHdoaWxlIHRyeWluZwoJICB0byBjb25uZWN0IHRvIFB1bHNlQXVkaW8uIFRoaXMgbWFrZXMgc3VyZSB3ZSBkcm9wIHRoZSBsb2NrIG9uIHRoZQoJICByZXNvdXJjZSBtdXRleCB0byBhdm9pZCB0aGlzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ0NTEwCgoyMDExLTAzLTExIDE2OjU5OjEwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IG9yZGVyIHN0YXRlLXRlc3QgYmxhY2tsaXN0IGFuZCBhZGQgamFjayBlbGVtZW50cwoJICBKYWNrIGF1ZGlvIHNyYy9zaW5rIGVsZW1lbnRzIHJlY2VudGx5IGdvdCBtb3ZlZCBmcm9tIGJhZCBhbmQgc2hvdWxkIGJlIGV4Y2x1ZGVkCgkgIGZyb20gdGhlIHRlc3QgKGxpa2UgdGhlIG90aGVyIGRldmljZSBzcGVjaWZpYyBzb3VyY2UgYW5kIHNpbmtzKS4KCSAgRml4ZXMgIzY0NDI4OAoKMjAxMS0wMy0xMSAxMzo0NzoyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJICBkdmRlbXV4OiBDaGFpbiB1cCB0byB0aGUgcGFyZW50IGNsYXNzJyA6OnNlbmRfZXZlbnQgZm9yIG5vbi1zZWVrIGV2ZW50cwoKMjAxMS0wMy0xMSAxMzo0NjowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJICBkdmRlbXV4OiBGaXggcmVmY291bnQgaXNzdWVzIHdpdGggdGhlIHNlZWsgZXZlbnQKCSAgRml4ZXMgYnVnICM2NDI5NjMuCgoyMDExLTAzLTExIDA5OjU0OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgZG9jczogZml4IHB1bHNlc2luayBndGstZG9jIG1hcmt1cAoKMjAxMS0wMy0xMSAxMDoyOTowOCArMDEwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogZml4IGJ1aWxkIGFnYWluc3QgamFjayAwLjEyMC4yCgkgIGphY2tfcG9ydF9nZXRfdG90YWxfbGF0ZW5jeSgpIGhhcyBiZWVuIGRlcHJlY2F0ZWQgaW4gZmF2b3Igb2YKCSAgamFja19wb3J0X2dldF9sYXRlbmN5X3JhbmdlKCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDQ0NzcKCjIwMTEtMDMtMTAgMTQ6Mjk6MjUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogbW9yZSBjb21tZW50cyBhbmQgdHVuZSBhbmQgbG9nZ2luZwoKMjAxMS0wMy0xMCAxNDoxNTo0MiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBhdm9pZCB1bm5lY2Nlc2FyeSBleHRyYSBmZnQgcnVucwoJICBCZWZvcmUgaXQgd2FzIHBvc3NpYmxlIHRoYXQgd2UgcnVuIGFuIGV4dHJhIGZmdCB3aGVuIHRoZSB0aW1lIGZvciBzZW5kaW5nIGEgbmV3CgkgIG1lc3NhZ2UgaXMgZHVlLiBPbmx5IGRvIHRoaXMgaWYgd2UgaGF2ZSBub3QgcnVuIHRoZSBmZnQgZm9yIHRoZSBpbnRlcnZhbCBhdCBhbGwuCgoyMDExLTAzLTEwIDE0OjEyOjAxICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IG9ubHkgc2NhbGUgdGhlIHZlY3RvcnMgdGhhdCB3ZSBhcmUgcHJvY2Vzc2luZwoJICBQaGFzZSBpcyBub3QgcHJvZHVjZWQgYnkgZGVmYXVsdCwgc28gbGV0cyBub3Qgc2NhbGUgaXQgdW5jb25kaXRpb25hbGx5IHRvIHNhdmUgYQoJICBmZXcgY3ljbGVzLgoKMjAxMS0wMy0xMCAxNDoxMDoyNSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBzcGVjdHJ1bTogcHV0IG51bWJlciBvZiBjaGFubmVscyB0byBpbnN0YW5jZSB2YXJpYWJsZQoJICBXaGVuIGZyZWVpbmcgZGF0YSB0aGUgZm9ybWF0IG1pZ2h0IGhhdmUgY2hhbmdlZC4gVGh1cyB3ZSBuZWVkIHRvIHJlbWVtYmVyIGZvcgoJICB3aGljaCBmb3JtYXQgd2UgYWxsb2NhdGVkIG1lbW9yeS4KCjIwMTEtMDMtMTAgMTA6Mjc6MTQgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogdXBkYXRlIGRvYyByZXZpZXcgc3RhbXAKCjIwMTEtMDMtMTAgMTA6MjI6MjkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgc3BlY3RydW06IHVzZSBmdW5jdGlvbiBwb2ludGVycyBmb3IgZGF0YSByZWFkZXJzCgkgIERvbid0IGNoZWNrIHRoZSBmb3JtYXQgZm9yIGVhY2ggc2FtcGxlIGZyYW1lIHRvIHJlYWQuIFdlIGNhbiBtYWtlIHRoYXQgZGVjaXNzaW9uCgkgIGluIF9zZXR1cCBhbHJlYWR5LiBUaGlzIGlzIHN0aWxsIG5vdCBpZGVhbCBhcyB3ZSBjYWxsIHRoZSBmdW5jdGlvbiBwZXIgZnJhbWUuCgkgIElkZWFsbHkgd2UgZGV0ZXJtaW5lIGhvdyBtYW55IHNhbXBsZXMgd2UgY2FuIGNvcHkgYW5kIGhhdmUgYSBsb29wIGluIHRoZSBpbnB1dAoJICByZWFkZXIuIEFzIGFuIGFsdGVybmF0aXZlIHdlIG1pZ2h0IGFsc28gY29uc2lkZXIgdG8gdXNlIHRoZSBmZnQgdmFyaWFudHMgZm9yIHRoZQoJICB2YXJpb3VzIGZvcm1hdHMgYW5kIG5vdCBjb252ZXJ0IHRvIGZsb2F0IGZvciBhbGwgY2FzZXMgLSB3ZSB3b3VsZCBzdGlsbCBuZWVkIHRvCgkgIG1peCBvciBkZWludGVybGVhdmUgdGhvdWdoLgoKMjAxMS0wMy0wOSAxNzowNzo0NyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogaW1wcm92ZSByZWNvdmVyeSBmcm9tIGZhaWxlZCBzZWVrCgkgIEluIGNhc2Ugc2VydmVyLXNpZGUgZmFpbHMgdG8gcGVyZm9ybSBzZWVrLCBpLmUuIFBMQVkgYXQgbm9uLXplcm8gcmVxdWVzdGVkCgkgIHBvc2l0aW9uLCByZWNvdmVyeSBzbyBmYXIgd291bGQgYXJyYW5nZSBmb3Igc3RyZWFtaW5nIHRvIGNvbnRpbnVlLCBhbGJlaXQKCSAgaGF2aW5nIGxvc3QgcG9zaXRpb24gdHJhY2tpbmcgaW4gdGhlIHByb2Nlc3MuICBTbywgcXVlcnkgcG9zaXRpb24gcHJpb3IKCSAgdG8gc2VlayBhbmQgdXNlIHVwb24gZmFpbGVkIHNlZWsuCgoyMDExLTAzLTA5IDE2OjUxOjAwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGhhbmRsZSBwb3NpdGlvbiBxdWVyeQoKMjAxMS0wMy0wOSAxNjo1NzoyOCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBzcGVjdHJ1bTogIG11bHRpLWNoYW5uZWwgc3VwcG9ydAoJICBBZGQgYSBib29sZWFuIG11bHRpLWNoYW5uZWwgcHJvcGVydHkgd2l0aCBhIGRlZmF1bHQgb2YgRkFMU0UuIFdoZW4gc2V0IHRvIFRSVUUKCSAgdGhlIGVsZW1lbnQgd29uJ3QgbWl4IGFsbCBpbnB1dCBjaGFubmVscyB0byBtb25vLCBidXQgaW5zdGVhZCBydW4gYSBGRlQgb24gZWFjaAoJICBjaGFubmVsLiBJbiB0aGF0IGNhc2UgdGhlIHJlc3VsdCBtZXNzYWdlIHdvdWxkIGNvbnRhaW4gYSAyIGRpbWVuc2lvbmFsIGFycmF5CgkgIG9mIGNoYW5uZWwgeCBkYXRhIGZvciBtYWduaXR1ZGUgYW5kIHBoYXNlLgoJICBBUEk6IEdzdFNwZWN0cnVtOm11bHRpLWNoYW5uZWwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5MzQ4MgoKMjAxMS0wMy0wOSAxNjo1NTo1NiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBtb3JlIHhyZWZzIGluIHRoZSBkb2NzCgoyMDExLTAzLTA5IDEyOjQxOjE1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IGZhY3RvciBvdXQgdGhlIGNvZGUgdGhhdCBhY2N1bXVsYXRlZCBzYW1wbGVzIGludG8gdGhlIHJpbmctYnVmZmVyCgkgIFVzZSBhIHNlcGFyYXRlIGZ1bmN0aW9uIHRvIHJlYWQgYSBzYW1wbGUgZnJhbWUgaW50byBhIHJpbmdidWZmZXIgc2xvdC4gSW4gdGhlCgkgIGZ1dHVyZSB3ZSBjYW4gdXNlIGZvcm1hdC1zcGVjaWZpYyBmdW5jdGlvbiBwb2ludGVyIHRvIGF2b2lkIHRoZSByZW9jY3VyaW5nCgkgIGZvcm1hdCBjaGVja3MuCgoyMDExLTAzLTA5IDEyOjM4OjUyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IHB1bGwgZm9ybWF0IHRvIHRlbXAgdmFyIHRvIGltcHJvdmUgcmVhZGFiaWxpdHkgb2YgbGluZXMgdXNpbmcgaXQKCjIwMTEtMDMtMDkgMTI6MjA6MTEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogY29kZSBjbGVhbnVwIGZvciBjb3B5aW5nIGRhdGEgdG8gcmluZy1idWZmZXIKCSAgUmVuYW1lIGZwIHRvIGlzX2Zsb2F0IGFuZCByZXN0cnVjdHVyZSBpZi1lbHNlIHBhcnQgZm9yIGhhbmRsaW5nIHRoZSBkaWZmZXJlbnQgZm9ybWF0cy4KCjIwMTEtMDMtMDkgMTE6NDA6NDggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgc3BlY3RydW06IGFkZCBhIEdzdFNwZWNydHVtQ2hhbm5lbCBjb250ZXh0IHN0cnVjdHVyZQoJICBXZSBub3cga2VlcCB0aGUgZmZ0IGRhdGEgdGhhdCBpcyByZWxhdGVkIHRvIG9uZSBjaGFubmVsIGluIGEgc2VwYXJhdGUgc3RydWN0dXJlCgkgIHRvIHByZXBhcmUgZm9yIG11bHRpY2hhbm5lbCBzdXBwb3J0LiBXZSBhbHNvIHJlZmFjdG9yIHRoZSBjb2RlIHRvIG9wZXJhdGUgbW9yZQoJICBvZnRlbiBvbiB0aGUgY2hhbm5lbCBjb250ZXh0LgoKMjAxMS0wMy0wOSAxMToxODoxOSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBjYWxsIHRoZSBpbnN0YW5jZSB2YXIgc3BlY3RydW0gaW5zdGVhZCBvZiBmaWx0ZXIKCjIwMTEtMDMtMDkgMTE6MTQ6MzcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogZG9uJ3QgdmFsdWUgd2UgYWxyZWFkeSB0b29rIGZyb20gdGhlIGd2YWx1ZQoKMjAxMS0wMy0wOCAxNzoyNjoxNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBjb25maWd1cmUuYWMKCjIwMTEtMDMtMDggMTc6MDI6MzAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9lZmVuY2UuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6CgkgIG1ldGE6IHVwZGF0ZSBmb3IgbmV3IEFQSQoKMjAxMS0wMy0wOCAxNjoyODoyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBhZC1ob2MgcmVsZWFzZSBicmFuY2ggJzAuMTAuMjgnCgo9PT0gcmVsZWFzZSAwLjEwLjI4ID09PQoKMjAxMS0wMy0wOCAxNTo0Nzo1MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4yOAoJICBBZC1ob2MgcmVsZWFzZSB0byBmaXggYnVpbGQgaXNzdWUgd2l0aCBuZXdlciBrZXJuZWxzLgoKMjAxMS0wMy0wMyAwMDoxNjo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkgIHY0bDI6IHJlbW92ZSB1bm5lY2Vzc2FyeSBsaW51eC92aWRlb2Rldi5oIGluY2x1ZGUKCSAgQ2F1c2VzIGNvbXBpbGF0aW9uIGlzc3VlcyB3aXRoIG5ld2VyIGtlcm5lbCBoZWFkZXJzIHdoZXJlIHRoZSBvbGQKCSAgdjRsIGludGVyZmFjZSBoYXMgYmVlbiByZW1vdmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQzNzE2CgoyMDExLTAzLTA4IDEwOjE0OjIwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIHRlc3RzL2V4YW1wbGVzL2NhaXJvL01ha2VmaWxlLmFtCgoyMDExLTAzLTA3IDE2OjU2OjQzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGFsc28gZXN0aW1hdGUgZW9zIGlmIHZlcnkgbmVhciBlb3MKCjIwMTEtMDMtMDcgMTY6NTY6MTggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogYXZvaWQgdHJ5aW5nIHRvIGJ1ZmZlciBtb3JlIHRoYW4gaXMgYXZhaWxhYmxlLgoJICBUaGF0IGlzLCBpbiBjYXNlIG9mIHNob3J0IChvciBuZWFyIGVvcyBvZikgc3RyZWFtLCBkZWFkbG9jayAodW50aWwgdGltZW91dCkKCSAgd291bGQgb2NjdXIgdHJ5aW5nIHRvIGJ1ZmZlciBtb3JlIHRoYW4gaXMgeWV0IGZvcnRoY29taW5nLgoKMjAxMS0wMy0wNyAxMTowMTowNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiByZXNldCBlbGVtZW50IGJhc2VfdGltZSB1cG9uIGZsdXNoCgkgIC4uLiB0byBhcnJhbmdlIGZvciBwcm9wZXJseSBzY2hlZHVsZWQgdGltZW91dCAoZm9sbG93aW5nIHNlZWspLgoKMjAxMS0wMy0wNyAxMDo1NDoyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYWlyby9jYWlyb19vdmVybGF5LmM6CgkgIGNhaXJvb3ZlcmxheTogQWRkIGEgYnVzIGhhbmRsZXIgdG8gdGhlIGV4YW1wbGUgdG8gaGFuZGxlIEVPUy9FUlJPUi9XQVJOSU5HCgkgIEFsc28gY2xlYW4gdXAgdGhlIHBpcGVsaW5lIHByb3Blcmx5LgoKMjAxMS0wMy0wNyAxMDo0NzoyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSAgZXhhbXBsZXM6IEFsd2F5cyBkaXN0IHRoZSBjYWlybyBleGFtcGxlCgoyMDExLTAzLTA3IDEwOjQ2OjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhaXJvL01ha2VmaWxlLmFtOgoJICBjYWlyb292ZXJsYXk6IFVzZSBMREFERCBpbnN0ZWFkIG9mIExERkxBR1MgZm9yIGxpYnMgYW5kIGFkZCAkKEdTVF9MSUJTKQoKMjAxMS0wMy0wNSAyMzoyMjo1OCArMDAwMCAgSm9uIE5vcmRieSA8am9ub25vckBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2Fpcm8vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhaXJvL2NhaXJvX292ZXJsYXkuYzoKCSAgY2Fpcm9vdmVybGF5OiBSZW1vdmUgdW5uZWNlc3NhcnkgZ3RrL2d0ay14MTEgdXNlIGluIGV4YW1wbGUuCgkgIFRoaXMgcmVtb3ZlcyBjb2RlLCBhbmQgYWxsb3dzIHRoZSBleGFtcGxlIHRvIGJlIHVzZWQgb24gYW55IHBsYXRmb3JtLgoJICBGaXhlcyBidWcgIzY0Mzk4MS4KCjIwMTEtMDMtMDQgMTg6Mzc6MzggLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBVc2UgI2lmZGVmcyBmb3IgVjRMMl9QSVhfRk1UX1BKUEcKCSAgSXQncyBvbmx5IHJlY2VudGx5IGFkZGVkIHRvIGtlcm5lbCBoZWFkZXJzLgoKMjAxMS0wMi0yMyAxNjo1MDo0MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIHdhdnBhcnNlOiB0dW5lIG91dHB1dCBtYXggYnVmZmVyIHNpemUgdG8gbWF0ZXJpYWwKCSAgLi4uIHRvIGF2b2lkIGVuZGluZyB1cCB3aXRoIHRvbnMgb2Ygc2hvcnQgdGltZSBidWZmZXJzIGZvciBlLmcuIGhpZ2ggc2FtcGxlCgkgIHJhdGUgYXVkaW8uCgoyMDExLTAzLTA0IDE3OjA0OjM3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2Fpcm8vTWFrZWZpbGUuYW06CgkgIGV4YW1wbGVzOiBkb24ndCB1c2UgaGFyZGNvZGVjIDAuMTAKCjIwMTEtMDMtMDQgMTY6MzA6MzYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTAzLTA0IDE1OjUwOjAxICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogYWRkIGEgZG9jIGV4YW1wbGUgZm9yIHNldHRpbmcgc3RyZWFtLXByb3BlcnRpZXMKCjIwMTEtMDMtMDQgMTU6NDI6MTkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBmaXggdGhlIHhtbCBpbiB0aGUgZG9jcwoKMjAxMS0wMy0wMyAwMDoxNjo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkgIHY0bDI6IHJlbW92ZSB1bm5lY2Vzc2FyeSBsaW51eC92aWRlb2Rldi5oIGluY2x1ZGUKCSAgQ2F1c2VzIGNvbXBpbGF0aW9uIGlzc3VlcyB3aXRoIG5ld2VyIGtlcm5lbCBoZWFkZXJzIHdoZXJlIHRoZSBvbGQKCSAgdjRsIGludGVyZmFjZSBoYXMgYmVlbiByZW1vdmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQzNzE2CgoyMDExLTAzLTAyIDIzOjIxOjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhaXJvL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYWlyby9jYWlyb19vdmVybGF5LmM6CgkgIGNhaXJvb3ZlcmxheTogVGhlIGV4YW1wbGUgYWx3YXlzIHJlcXVpcmVzIGd0ay14MTEKCSAgQ2hlY2sgZm9yIGd0ay14MTEgYW5kIG9ubHkgYnVpbGQgdGhlIGV4YW1wbGUgaWYgaXQncyBhdmFpbGFibGUuCgoyMDExLTAzLTAyIDIzOjE0OjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jYWlyby9nc3RjYWlyb292ZXJsYXkuYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvb3ZlcmxheS5oOgoJICBjYWlyb292ZXJsYXk6IFNvbWUgbWlub3IgY2xlYW51cAoKMjAxMS0wMy0wMiAyMzowOToyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSAgZG9jczogVXBkYXRlIGluc3BlY3RlZCBwbHVnaW4gZGF0YQoKMjAxMS0wMS0yOCAwMjoxNDowNCArMDIwMCAgSm9uIE5vcmRieSA8am9ub25vckBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBleHQvY2Fpcm8vLmdpdGlnbm9yZToKCSogZXh0L2NhaXJvL01ha2VmaWxlLmFtOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm8tbWFyc2hhbC5saXN0OgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm8uYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvb3ZlcmxheS5jOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9vdmVybGF5Lmg6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYWlyby8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9jYWlyby9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2Fpcm8vY2Fpcm9fb3ZlcmxheS5jOgoJICBjYWlyb292ZXJsYXk6IEFkZCBnZW5lcmljIENhaXJvIG92ZXJsYXkgdmlkZW8gZWxlbWVudC4KCSAgQWxsb3dzIGFwcGxpY2F0aW9ucyB0byBjb25uZWN0IHRvIHRoZSAiZHJhdyIgc2lnbmFsIG9mCgkgIHRoZSBlbGVtZW50IGFuZCBkbyB0aGVpciBjdXN0b20gZHJhd2luZyB0aGVyZS4KCSAgSW5jbHVkZXMgYW4gZXhhbXBsZSBhcHBsaWNhdGlvbiBkZW1vbnN0cmF0aW5nIHVzYWdlLgoJICBGaXhlczogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5NTUyMAoKMjAxMS0wMy0wMiAxMzowMDozMSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L21vbm9zY29wZS9tb25vc2NvcGUuYzoKCSAgbW9ub3Njb3BlOiBkb24ndCBsZWFrIHRoZSBtb25vc2NvcGVfc3RhdGUgZGF0YQoJICBUaGUgbW9ub3Njb3BlX2Nsb3NlKCkgaW1wbGVtZW50YXRpb24gd2FzIGVtcHR5LgoKMjAxMS0wMy0wMiAxMjo1OTozNSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L21vbm9zY29wZS9tb25vc2NvcGUuYzoKCSAgbW9ub3Njb3BlOiB3ZSBoYXZlIDY0IGNvbG9ycywgZG9uJ3QgYWNjZXNzIGNvbG9yc1s2NF0KCSAgRml4ZXMgcmVtYWluaW5nIGludmFsaWQgcmVhZC4KCjIwMTEtMDMtMDIgMTA6MjU6MjkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhcnJhbmdlIGZvciBub24tZmF0YWwgZXJyb3Igd2hlbiBwYXJzaW5nIG5vbi12aXRhbCBwYXJ0cwoKMjAxMS0wMy0wMiAxMDo1NjozMyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L21vbm9zY29wZS9jb252b2x2ZS5jOgoJICBtb25vc2NvcGU6IHN0YWNrIG5lZWRzIHRvIGJlIHNpemUrMSBhcyB3ZSBwdXQgYSBlbmQtbWFya2VyIGludG8gaXQKCSAgVmFsZ3JpbmQgaXMgc3RpbGwgY29tcGxhaW5pbmcgYWJvdXQgb25lIGJhZCByZWFkLCBidXQgdGhpcyB0YWtlcyBjYXJlIG9mIHRoZQoJICBjcmFzaCBtZW50aW9uZWQgaW4gdGhlIGNvbW1lbnQgYW5kIGluIGJ1ZyAjNTY0MTIyLgoKMjAxMS0wMy0wMSAyMjo0MDoxOSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci12NGwyLUgyNjNwLWFsc2FzcmMtQU1SLnNoOgoJICBleGFtcGxlOiBmaXggdGhlIHZhcmlhYmxlIG5hbWUgZm9yIHRoZSBpcC1hZGRyZXNzCgkgIEZpeCB0aGUgbmFtZSBpbiB0aGUgbGF1bmNoIHBpcGVsaW5lIGFuZCB1c2UgYSB2YWx1ZSBvZiAibG9jYWxob3N0IiBieSBkZWZhdWx0LgoKMjAxMS0wMi0yOCAxOToxNjowMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogY3lnd2luL21pbmd3OyBlbmFibGUgcGx1Z2luIGxpbmtpbmcgdG8gc3RhdGljIGxpYgoJICBVc2VmdWwgZm9yIERpcmVjdFggcGx1Z2luKHMpLgoJICBGaXhlcyAjNjQyNTA3LgoKMjAxMS0wMi0yOCAxOToxMzo0MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogZXhwb3J0IHBsdWdpbiBkZXNjcmlwdGlvbiBtb3JlIHBsYXRmb3JtIGluZGVwZW5kZW50CgkgIEZpeGVzICM2NDI1MDQuCgoyMDExLTAyLTI4IDE4OjMyOjU0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMWRlN2Y2YSB0byA2YWVjNmI5CgoyMDExLTAyLTI4IDEzOjI5OjQ3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wMi0yOCAxMzoyODoyOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogdXNlIE5ldEFkZHJlc3MgbWV0YWRhdGEKCjIwMTEtMDItMjggMTM6MTQ6MzcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHAuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwOiBpbXBsZW1lbnQgTmV0QWRkcmVzcyB3aXRoIG1ldGFkYXRhCgoyMDExLTAyLTI4IDEwOjE2OjUyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogcmVnaXN0ZXIgbWV0YWRhdGEKCjIwMTEtMDItMjcgMTk6NDM6MTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9lZmVuY2UuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmg6CgkgIG1ldGE6IGZpeCBmb3IgbmV3IEFQSQoKMjAxMS0wMi0yNSAxNjoyOTozOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2VmZW5jZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuaDoKCSAgbWV0YWRhdGE6IHVzZSBtZXRhZGF0YSBmb3IgcHJpdmF0ZSBidWZmZXIgZGF0YQoJICBVc2UgYnVmZmVyIG1ldGFkYXRhIHRvIHN0b3JlIGVsZW1lbnQgcHJpdmF0ZSBkYXRhLgoKMjAxMS0wMi0yNCAxMzo1MTozMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuaDoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5oOgoJICBtaW5pb2JqZWN0OiBwb3J0IHRvIDAuMTEKCSAgVXNlIGJ1ZmZlciBwcml2YXRlIGRhdGEgaW5zdGVhZCBvZiBzdWJjbGFzc2luZy4KCjIwMTEtMDItMjQgMTM6NTA6NDggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9wdWxzZS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBkb24ndCBoYXJkY29kZSB2ZXJzaW9uIG51bWJlcgoKMjAxMS0wMi0yNCAxMzowMzo0NCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIGlkMzogdXNlIGJveGVkIHR5cGUgaW5zdGVhZCBvZiBtaW5pb2JqZWN0CgoyMDExLTAyLTI0IDEzOjAwOjQ4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZWZlbmNlLmM6CgkqIGdzdC9yZXBsYXlnYWluL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcC5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICBtaW5pb2JqZWN0OiB1c2UgYnVmZmVyIHByaXZhdGUgZmllbGQgZm9yIGV4dHJhIGRhdGEKCSAgVXNlIHRoZSBvd25lciBwcml2YXRlIGZpZWxkIHRvIHN0b3JlIGV4dHJhIGJ1ZmZlciBkYXRhIGluc3RlYWQgb2YgdXNpbmcKCSAgc3ViY2xhc3NpbmcuCgoyMDExLTAyLTI0IDEyOjIzOjQ0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBhZGQgZHVyYXRpb24gd2hlbiBleHRpbWF0aW5nIFFvUyB0aW1lCgkgIFdoZW4gd2UgbmVlZCB0byBkZWNpZGUgb24gdGhlIG5leHQgUW9TIHRpbWUsIHRha2UgaW50byBhY2NvdW50IHRoZSBkdXJhdGlvbiBvZgoJICB0aGUgYnVmZmVycy4KCjIwMTEtMDItMjggMTE6NTg6MDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgY29uZmlndXJlLmFjCgoyMDExLTAyLTIzIDE3OjQxOjIyICswMTAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IHJlbGVhc2UgcGFfc2hhcmVkX3Jlc291cmNlX211dGV4IGJlZm9yZSBwYV90aHJlYWRlZF9tYWlubG9vcF93YWl0CgkgIE5vdCBkb2luZyBzbyBjYW4gcmVzdWx0IGluIGEgZGVhZGxvY2sgd2hlbiB0d28gdGhyZWFkcyBlbnRlcgoJICBnc3RfcHVsc2VyaW5nYnVmZmVyX29wZW5fZGV2aWNlIGF0IHRoZSBzYW1lIHRpbWUsIGFzCgkgIHBhX3RocmVhZGVkX21haW5sb29wX3dhaXQgcmVsZWFzZXMgdGhlIG1haW5sb29wIGxvY2sgd2hpbGUgd2FpdGluZywKCSAgYWxsb3dpbmcgYW5vdGhlciB0aHJlYWQgdG8gdGFrZSBpdCwgcmVzdWx0aW5nIGluIGEgZGVhZGxvY2sgYXMgdHdvCgkgIHRocmVhZHMgd2FpdHMgZm9yIHRoZSBsb2NrIHRoZSBvdGhlciBpcyBob2xkaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQzMDg3CgoyMDExLTAyLTIzIDE3OjE4OjE5ICswMTAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IHMvcmVzc291cmNlL3Jlc291cmNlLwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQzMDg3CgoyMDExLTAyLTI1IDIwOjEyOjM1IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmVtb3ZlIGFjY2lkZW50YWwgZGVidWcgbWVzc2FnZQoJICBpbiBwcmV2aW91cyBjb21taXQKCjIwMTEtMDItMjUgMTk6MzU6NTEgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBBZGQgc3VwcG9ydCBmb3IgMlZ1eSBhbmQgcjIxMAoKMjAxMS0wMi0yNCAxNDowODoyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvc2NhbGVyYm9iLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdmZpci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmViZmYuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZXRmZi5jOgoJICBkZWludGVybGFjZTogQWRkIHN1cHBvcnQgZm9yIE5WMjEgY29sb3JzcGFjZQoKMjAxMS0wMi0yNCAxNDowMDozNyArMDEwMCAgQ2Fyc3RlbiBLcm9sbCA8Y2FyQHhpbWlkaS5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvc2NhbGVyYm9iLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdmZpci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmViZmYuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZXRmZi5jOgoJICBkZWludGVybGFjZTogQWRkIHN1cHBvcnQgZm9yIE5WMTIgY29sb3JzcGFjZQoJICBGaXhlcyBidWcgIzY0Mjk2MS4KCjIwMTEtMDItMjQgMTM6NTY6MDQgKzAxMDAgIENhcnN0ZW4gS3JvbGwgPGNhckB4aW1pZGkuY29tPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSAgZHZkZW11eDogRmlyc3QgdHJ5IGlmIHVwc3RyZWFtIGhhbmRsZXMgVElNRSBzZWVrcyBiZWZvcmUgaGFuZGxpbmcgdGhlbSBoZXJlCgkgIEZpeGVzIGJ1ZyAjNjQyOTYzLgoKMjAxMC0xMS0wOCAxNDoyNTo1OSArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJICBkZWludGVybGFjZTogU2ltcGxpZnkgc2V0Y2FwcwoJICBUaGUgY3VycmVudCBjb2RlIG5ldmVyIHVzZXMgdXBzdHJlYW0gbmVnb3RpYXRpb24gc28gdGhlIGNvZGUgY2FuIGJlCgkgIHNpZ25pZmljYW50bHkgc2ltcGxpZmllZC4KCjIwMTEtMDEtMjQgMTI6NDg6MTggKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5LmM6CgkgIGRlaW50ZXJsYWNlOiBQb3J0IGdyZWVkeWwgdG8gR3N0RGVpbnRlcmxhY2VTaW1wbGVNZXRob2QKCSAgVGhlIG1haW4gZ29hbCBvZiB0aGlzIGNoYW5nZSBpcyB0byByZXVzZSB0aGUgY29tcGxleCBidXQgbm93IG5lYXRseQoJICB3cml0dGVuIHNjYW5saW5lIHBvaW50ZXIgY2FsY3VsYXRpb24gY29kZSBmcm9tIHRoZSBzaW1wbGUgbWV0aG9kcy4KCjIwMTEtMDItMjIgMTU6MjA6MTEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOgoJICBSZXZlcnQgImlkM2RlbXV4OiBlbnN1cmUgYSB0YWdsaXN0IGJlZm9yZSBhZGRpbmcgdGhlIGNvbnRhaW5lciB0YWciCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYTg2YmFiNjY4OTNiYjFhMzMyM2E3NTY0MTA1NzNjMTE3YjgyMTllZi4gVGhlIGlzc3VlIGlzCgkgIGZpeGVkIHdpdGggY29tbWl0IGZmNWU1YThmMGRhYTFmZGY4OTc5MmQwNzI2ZWEwNjNiYmQ5OWRiMTggaW5zdGVhZC4KCjIwMTEtMDItMjIgMTU6MTk6MDAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6CgkgIGlkM2RlbXV4OiByZXR1cm4gSUQzVEFHU19CUk9LRU5fVEFHIGZvciB1bnN1cHBvcnRlZCB2ZXJzaW9ucwoJICBUaGlzIHByZXZlbnRzIHVzIGZvciB0cnlpbmcgdG8gd29yayB3aXRoIGEgTlVMTCB0YWdsaXN0LgoKMjAxMS0wMi0yMiAxNDoxNToyNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZS4KCjIwMTEtMDItMjIgMTQ6MDE6MjcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZW5zdXJlIHNhbmUgcGFyYW1ldGVycyB3aGVuIHBhcnNpbmcgc3VwZXJpbmRleAoKMjAxMS0wMi0yMiAxNDowMDoxMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBjaGVjayBmb3IgTlVMTCBhdWRpbyBzdHJlYW0gZm9ybWF0IGhlYWRlciB3aGVuIHBhcnNpbmcgc3RyZWFtCgoyMDExLTAyLTIyIDE0OjUyOjE4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXY0bDItSDI2M3AtYWxzYXNyYy1BTVIuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItdjRsMi1IMjY0LWFsc2FzcmMtUENNQS5zaDoKCSAgcnRwLWV4YW1wbGVzOiBtb3ZlIGNhcHNmaWx0ZXIgYmVoaW5kIGNvbnZlcnRlcnMKCSAgV2UgbmVlZCB0byBoYXZlIHRoZSBjYXBzZmlsdGVyIGJlaGluIHRoZSBjb252ZXJ0ZXJzIHRvIG1ha2UgdGhlIGNvbnZlcnRlcnMKCSAgY29udmVydCBmcm9tIHRoZSBmb3JtYXRzIHY0bDJzcmMgY2FuIGRvIHRvIHdoYXQgd2UgcmVxdWVzdCB3aXRoIHRoZQoJICBjYXBzZmlsdGVyLgoKMjAxMS0wMi0yMiAxNDo1MDo1OSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjY0LVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1hbHNhc3JjLVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItdjRsMi1IMjYzcC1hbHNhc3JjLUFNUi5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci12NGwyLUgyNjQtYWxzYXNyYy1QQ01BLnNoOgoJICBydHAtZXhhbXBsZXM6IGZpeCBhc2NpaS1hcnQKCSAgU29tZSBib3hlcyB3aGVyZSBtaXNhbGlnbmVkIGR1ZSB0byBsb25nICJhdWRpb3RldHNzcmMiIG5hbWUuIFRyaW0gdHJhaWxpbmcKCSAgd2hpdGVzcGFjZS4KCjIwMTEtMDItMjIgMTM6Mjk6MjYgKzAxMDAgIEJsYWlzZSBHYXNzZW5kIDxibGFpc2UgYXQgd2lsbG93Z2FyYWdlIGRvdCBjb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBoYW5kbGUgTlVMTCBkZW11eCBlbGVtZW50cwoJICBXaGVuIHVzaW5nIGdzdHJ0cGJpbiB3aXRoIGlnbm9yZS1wdD10cnVlLCB0aGUgZnJlZV9zdHJlYW0gZnVuY3Rpb24gdHJpZXMgdG8KCSAgY2FsbCBnc3RfZWxlbWVudF9zZXRfbG9ja2VkX3N0YXRlIGFuZCBnc3RfZWxlbWVudF9zZXRfc3RhdGUgb24gYSBzdHJlYW0tPmRlbXV4CgkgIHdoaWNoIGlzIE5VTEwuCgkgIGZpeGVzICM2NDI0MTIKCjIwMTEtMDEtMjQgMTI6MTg6MzkgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuYzoKCSAgZGVpbnRlcmxhY2U6IHNtYWxsIGNsZWFuLXVwcwoJICBJbXByb3ZlIGRlYnVnIG91dHB1dCBieSBwcmludGluZyB0aGUgYnVmZmVyIHBvaW50ZXIgd2hlbgoJICBwb3BwaW5nIGEgYnVmZmVyIGFuZCBzaW1wbGlmeSBjb2RlIHRvIHVzZSBzY2FubGluZXMuYm90dG9tX2ZpZWxkCgkgIGFzIGFwcHJvcHJpYXRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQyNjkxCgoyMDExLTAxLTI0IDEyOjE4OjM5ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IGZpeCBhc3NpZ25lZCBtZXRob2RfaWQgd2hlbiB1c2luZyBmYWxsYmFjawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQyNjkxCgoyMDExLTAyLTIxIDE3OjE3OjMyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogZml4IHNldHRpbmcgdGhlIFNERVMgcHJvcGVydHkKCSAgT25seSB0aGUgc2RlcyB2ZXJpYWJsZSBpcyBwcm90ZWN0ZWQgd2l0aCB0aGUgb2JqZWN0IGxvY2suCgkgIFVzZSB0aGUgcmlnaHQgb2JqZWN0IHdoZW4gc2V0dGluZyB0aGUgc2RlcyBwcm9wZXJ0eS4KCjIwMTEtMDItMjEgMTI6MDk6MDcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIFJldmVydCAiQ2hlY2sgdGhhdCBjb2xsZWN0cGFkcyBleGlzdHMgYmVmb3JlIHJlbW92aW5nIHBhZCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA4ZTZiODc2ZTc2Yzk0NDEwZGIxNjBhZmU1ZWIzMGYyMTQ1MmU0MTlmLgoJICBEZXBlbmRzIG9uIGEgY29yZSBjb21taXQgdGhhdCB3YXMgcmV2ZXJ0ZWQKCjIwMTEtMDItMjEgMDA6NTU6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkgIGljeWRlbXV4OiBmaXggdGFnIGxpc3QgaGFuZGxpbmcgaXNzdWVzIHRoYXQgbWlnaHQgaGF2ZSBjYXVzZWQgY3Jhc2hlcwoJICBGaXggc2xpZ2h0bHkgY29uZnVzZWQgdGFnIGhhbmRsaW5nIGluIHNvbWUgcGxhY2VzOiBtYWtlIGl0IGNsZWFyIHdoZW4KCSAgd2UncmUgdGFraW5nIG93bmVyc2hpcCBvZiBhIHRhZyBsaXN0IGFuZCB3aGVuIG5vdC4gRm9yIGV4YW1wbGUsCgkgIGdzdF9pY3lkZW11eF90YWdfZm91bmQoKSB3YXMgdGFraW5nIG93bmVyc2hpcCB3aGVuIHRoZSBzb3VyY2UgcGFkCgkgIGV4aXN0ZWQsIGJ1dCBvdGhlcndpc2Ugbm90IChsZWFrKS4gQWxzbywgZ3N0X2V2ZW50X3BhcnNlX3RhZygpIGRvZXMKCSAgbm90IHJldHVybiBhIG5ld2x5LWFsbG9jYXRlZCB0YWdsaXN0LCBidXQgYSB0YWcgbGlzdCB0aGF0IGJlbG9uZ3MgdG8KCSAgdGhlIHRhZyBldmVudCwgc28gZG9uJ3QgZ2l2ZSBvd25lcnNoaXAgb2YgaXQgYXdheS4KCSAgV2hpbGUgd2UncmUgYXQgaXQsIHNvbWUgbWlub3IgY2xlYW4tdXBzOiBkb24ndCByZS1pbnZlbnQgZ19zdHJuZHVwKCkKCSAgYW5kIHNpbXBsaWZ5IGdzdF9pY3lkZW11eF9wYXJzZV9hbmRfc2VuZF90YWdzKCkgYSBiaXQsIGFuZCBkb24ndAoJICBsZWFrIHRoZSB0YWcgbGlzdCBpbiBjYXNlIG5vIHZhbGlkIHRhZ3Mgd2hlcmUgZm91bmQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDEzMzAKCjIwMTEtMDItMjAgMjM6Mzk6NDEgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIENoZWNrIHRoYXQgY29sbGVjdHBhZHMgZXhpc3RzIGJlZm9yZSByZW1vdmluZyBwYWQKCSAgVGhlIGNvcmUgbm93IGNhbGxzIHJlbGVhc2UgcGFkIGZyb20gZmluYWxpemUsIGF0IHdoaWNoIHBvaW50CgkgIHRoZSBjb2xsZWN0cGFkcyBtaWdodCBoYXZlIGFscmVhZHkgYmVlbiBmcmVlZC4KCjIwMTEtMDItMTkgMTU6NDg6MjIgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgcG5nZGVjOiBIYW5kbGUgMTYtYml0LXBlci1jaGFubmVsIGltYWdlcwoKMjAxMS0wMi0xOCAxMDoxMjo0NyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogc3RyZWFtLT5jdXJyZW50X3RvdGFsIGlzIGFjY3VtdWxhdGVkIGJ5dGUgc2l6ZSBhbmQgbm90IHRpbWUKCSAgVXNlIHRpbWVzdGFtcCBmb3IgdGhlIHN0cmVhbSBpbmRleCBhcyB3ZWxsLgoKMjAxMS0wMi0xNSAxOTozMzo0NSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICB1ZHBzaW5rOiB3YXJuIHdoZW4gcGFja2V0IGlzIHRvbyBsYXJnZQoKMjAxMS0wMi0xNyAxNzo1OToyNSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLmM6CgkgIG1hdHJvc2thcGFyc2U6IE5ldyBlbGVtZW50CgkgIENvcGllZCBmcm9tIGRlbXV4LiAgRHVwbGljYXRlcyBtdWNoIGNvZGUsIGFsc28gc29tZSBkZWFkIGNvZGUKCSAgcmVtYWluaW5nLgoKMjAxMS0wMi0xNyAxNzo1Nzo1NSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogRWFybGllciBkZWJ1ZyBjYXRlZ29yeSBpbml0aWFsaXphdGlvbgoKMjAxMS0wMS0yMiAwMDoxMzoxNiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IGRvbid0IHNldCBkdXJhdGlvbiBmb3IgbGl2ZSBzdHJlYW0KCjIwMTEtMDEtMDYgMTU6NDQ6MjQgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL25lZ290aWF0aW9uLmM6CgkgIGRlYnVndXRpbHM6IHJlbW92ZSBiaXRyb3R0ZW4gbmVnb3RpYXRpb24gZWxlbWVudAoJICBXYXNuJ3QgZW5hYmxlZCwgZGlkbid0IHdvcmssIGFuZCBwbGFubmVkIGZlYXR1cmVzIGhhdmUgYmVlbgoJICBzdXBlcmNlZGVkIGJ5IGNhcHNmaWx0ZXIgYW5kIGNhcHNkZWJ1Zy4KCjIwMTAtMDktMTcgMTI6MTA6MzggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5oOgoJICBydHB2cmF3cGF5OiBJbXBsZW1lbnQgaW50ZXJsYWNpbmcKCjIwMTEtMDItMTcgMTc6NTc6NDIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGFsc28gYWRkIHRoZSBmcmFtZS10eXBlIGZvciB0aGUgc3RyZWFtIGluZGV4CgoyMDExLTAyLTE3IDE3OjU2OjI5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBnZXQgdGhlIGluZGV4IHdyaXRlciBpZCB3aGVuIHRoZSBwYWQgaGFzIGEgcGFyZW50CgkgIE90aGVyd2lzZSB0aGUgaW5kZXggd3JpdGVyIGhhcyBhIHdlaXJlZCBuYW1lLCBhcyB0aGUgcGFkIGhhcyBubyBwYXJlbnQgeWV0LgoKMjAxMS0wMi0xNyAxNDowMDo0OCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGF2aWRlbXV4LCBmbHZkZW11eDogZm9ybWF0dGluZyBjbGVhbnVwCgkgIFRyaW0gdHJhaWxpbmcgd2hpdGVzcGFjZXMgYW5kIGZpeCB0aGUgZm9ybWF0dGluZyBvZiBkb3VibGUgbmVnYXRpb24uCgoyMDExLTAyLTE3IDEzOjU3OjM3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgYXZpZGVtdXgsIGZsdmRlbXV4OiBtYXJrIGRlbHRhLXVuaXRzIGluIHRoZSBpbmRleAoJICBXZSBuZWVkIHRvIHVzZSB0aGUgJ2RlbHRhJyBmbGFnIGZvciBkZWx0YSB1bml0cyBhbmQgbm90IHRoZSAnbm9uZScgZmxhZy4KCjIwMTEtMDItMTcgMTE6NTg6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvaWNsZXMvLmdpdGlnbm9yZToKCSAgLmdpdGlnbm9yZTogaWdub3JlIG1vdmVkIGVxdWFsaXplciB0ZXN0IGJpbmFyeQoKMjAxMS0wMi0xNyAxMjo0NjoxNCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBtYXJrIGRlbHRhLXVuaXQgaW4gdGhlIGluZGV4CgkgIFdlIG5lZWQgdG8gdXNlIHRoZSBkZWx0YSBmbGFnIGZybyBkZWx0YSB1bml0cyBhbmQgbm90IG5vbmUuIFByaW50IG1vcmUgZGV0YWlscwoJICB0byB0aGUgZGVidWcgbG9nLgoKMjAxMS0wMi0xNyAxMjo0NDowMSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmb3JtYXR0aW5nIGNsZWFudXAKCSAgVHJpbSB0cmFpbGluZyB3aGl0ZXNwYWNlcyBhbmQgZml4IHRoZSBmb3JtYXR0aW5nIG9mIGRvdWJsZSBuZWdhdGlvbi4KCjIwMTEtMDItMTYgMTc6MDk6MjAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHJld29yayBfcmVxdWVzdF9uZXdfcGFkIHRvIGhhbmRsZSBleHBsaWN0IHJlcS1wYWQtbmFtZXMKCSAgRG9uJ3QgaWdub3JlIGV4cGxpY2l0IHBhZC1uYW1lcy4KCjIwMTEtMDItMTYgMTc6MDY6NTEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogcmV3b3JrIF9yZXF1ZXN0X25ld19wYWQgdG8gaGFuZGxlIGV4cGxpY3QgcmVxLXBhZC1uYW1lcwoJICBEb24ndCBpZ25vcmUgZXhwbGljaXQgcGFkLW5hbWVzLiBSZWFycmFuZ2UgdGhlIGNvZGUgYW5kIHRoZSBlcnJvciBoYW5kbGluZyBhCgkgIGJpdC4gQWRkIGEgRklYTUUtMC4xMSBmb3IgdGhlIGJhZCBwYWQtbmFtZXMuCgoyMDExLTAyLTE2IDE1OjI4OjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICBpY2xlczogQWRkIGVxdWFsaXplci10ZXN0IHRvIHRoZSBidWlsZCBzeXN0ZW0KCjIwMTEtMDItMTYgMTU6MjM6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzoKCSAgW01PVkVEIEZST00gQkFEIDUvNV0gZXF1YWxpemVyLXRlc3Q6IEluaXRpYWxpemUgZGVidWcgY2F0ZWdvcnkgYWZ0ZXIgZ3N0X2luaXQoKSB0byBmaXggc2VnZmF1bHQKCjIwMDctMTEtMDcgMTU6MzY6NTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCA0LzVdIHRlc3RzL2ljbGVzL2VxdWFsaXplci10ZXN0LmM6IEZpeCBnYWluIHJhbmdlcyBmb3IgdGhlIGxhdGVzdCBlcXVhbGl6ZXIgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzogKGRvX3NsaWRlcl9maWRkbGluZyk6CgkgIEZpeCBnYWluIHJhbmdlcyBmb3IgdGhlIGxhdGVzdCBlcXVhbGl6ZXIgY2hhbmdlcy4KCjIwMDctMDUtMjEgMTQ6MDE6MTYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAzLzVdIENoYW5nZUxvZzogQ2hhbmdlTG9nIHN1cmdlcnkuIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmMgKEFSR19CQU5EX1dJRFRILCBfZG9faW5pdCwgQVJHX0dBSU4sIF9Hc3RJaXJFcXVhbGl6ZXJCYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBDaGFuZ2VMb2c6CgkgIENoYW5nZUxvZyBzdXJnZXJ5LgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmMgKEFSR19CQU5EX1dJRFRILCBfZG9faW5pdCwgQVJHX0dBSU4sCgkgIF9Hc3RJaXJFcXVhbGl6ZXJCYW5kLCBvYmplY3QsIF9Hc3RJaXJFcXVhbGl6ZXJCYW5kQ2xhc3MsCgkgIHBhcmVudF9jbGFzcywgZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9zZXRfcHJvcGVydHksCgkgIGdzdF9paXJfZXF1YWxpemVyX2JhbmRfY2xhc3NfaW5pdCwgZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9nZXRfdHlwZSwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkX2J5X2luZGV4LAoJICBnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRyZW5fY291bnQsCgkgIGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2ludGVyZmFjZV9pbml0LCBzZXR1cF9maWx0ZXIsCgkgIGdzdF9paXJfZXF1YWxpemVyX2NvbXB1dGVfZnJlcXVlbmNpZXMsIHBsdWdpbl9pbml0KToKCSAgKiB0ZXN0cy9pY2xlcy9lcXVhbGl6ZXItdGVzdC5jOgoJICBBZGQgZml4bWUgYW5kIGNvbW1lbnQgZm9yIGV4YW1wbGUuCgoyMDA3LTAzLTE0IDE2OjMzOjAzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQUQgMi81XSB0ZXN0cy9pY2xlcy9lcXVhbGl6ZXItdGVzdC5jOiBQb3J0IHRoZSBleGFtcGxlIHRvIG5ldyBlcXVhbGl6ZXIgYXBpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy9lcXVhbGl6ZXItdGVzdC5jOiAoZXF1YWxpemVyX3NldF9iYW5kX3ZhbHVlKSwKCSAgKGVxdWFsaXplcl9zZXRfYWxsX2JhbmRfdmFsdWVzKSwKCSAgKGVxdWFsaXplcl9zZXRfYmFuZF92YWx1ZV9hbmRfd2FpdCksCgkgIChlcXVhbGl6ZXJfc2V0X2FsbF9iYW5kX3ZhbHVlc19hbmRfd2FpdCksIChkb19zbGlkZXJfZmlkZGxpbmcpLAoJICAobWFpbik6CgkgIFBvcnQgdGhlIGV4YW1wbGUgdG8gbmV3IGVxdWFsaXplciBhcGkuCgoyMDA3LTAyLTAzIDIzOjM1OjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDEvNV0gRml4IHVwIHRvIHVzZSB0aGUgbmV3bHkgcG9ydGVkIChhY3R1YWxseSB3b3JraW5nKSBHc3RBdWRpb0ZpbHRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKGdzdF9paXJfZXF1YWxpemVyX2Jhc2VfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jbGFzc19pbml0KSwgKGdzdF9paXJfZXF1YWxpemVyX2luaXQpLAoJICAoc2V0dXBfZmlsdGVyKSwgKGdzdF9paXJfZXF1YWxpemVyX2NvbXB1dGVfZnJlcXVlbmNpZXMpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfc2V0X3Byb3BlcnR5KSwgKGdzdF9paXJfZXF1YWxpemVyX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl90cmFuc2Zvcm1faXApLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfc2V0dXApLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmg6CgkgIEZpeCB1cCB0byB1c2UgdGhlIG5ld2x5IHBvcnRlZCAoYWN0dWFsbHkgd29ya2luZykgR3N0QXVkaW9GaWx0ZXIuCgkgIEJ1bXAgY29yZS9iYXNlIHJlcXVpcmVtZW50cyB0byBDVlMgZm9yIHRoaXMuCgkgICogdGVzdHMvaWNsZXMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9pY2xlcy9lcXVhbGl6ZXItdGVzdC5jOiAoY2hlY2tfYnVzKSwKCSAgKGVxdWFsaXplcl9zZXRfYmFuZF92YWx1ZSksIChlcXVhbGl6ZXJfc2V0X2FsbF9iYW5kX3ZhbHVlcyksCgkgIChlcXVhbGl6ZXJfc2V0X2JhbmRfdmFsdWVfYW5kX3dhaXQpLAoJICAoZXF1YWxpemVyX3NldF9hbGxfYmFuZF92YWx1ZXNfYW5kX3dhaXQpLCAoZG9fc2xpZGVyX2ZpZGRsaW5nKSwKCSAgKG1haW4pOgoJICBBZGQgYnJhaW4tZGVhZCBpbnRlcmFjdGl2ZSB0ZXN0IGZvciBlcXVhbGl6ZXIuCgoyMDExLTAyLTE1IDE1OjU5OjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogQWRkIFBKUEcgbWFwcGluZwoJICBBZGRzIG1hcHBpbmcgb2YgcHJvZ3Jlc3NpdmUganBlZyBmb3JtYXQKCjIwMTEtMDItMTUgMTY6MzA6MjAgKzAxMDAgIEFuZHkgV2luZ28gPHdpbmdvQG9ibG9uZy5jb20+CgoJICBwbHVnIHF0ZGVtdXggcmVmY291bnQgbGVha3MKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmMgKGdzdF9xdGRlbXV4X3NyY19jb252ZXJ0KTogVW5yZWYgdGhlIHF0ZGVtdXg7IHdlCgkgIHdlcmVuJ3QgZG9pbmcgc28gYmVmb3JlLgoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19ldmVudCwgZ3N0X3F0ZGVtdXhfY2hhaW4pOiBGaXggc29tZSBlcnJvcgoJICBjYXNlcyB3aGljaCB3b3VsZCBsZWFrIGEgcmVmIHRvIHRoZSBxdGRlbXV4LgoKMjAxMS0wMi0xNCAyMDoyMDowOCArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IEFkZCBVUkkgcXVlcnkgaGFuZGxlcgoJICBGaXhlcyBidWcgIzY0MjMzNy4KCjIwMTEtMDItMTQgMTc6NDk6NTQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGF2b2lkIHNvcnRpbmcgTlVMTCBhcnJheSBvZiBjbHVzdGVyIHBvc2l0aW9ucwoKMjAxMS0wMi0xNCAxNjo0Njo0NiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgdGhlb3JhcGF5OiBoYW5kbGUgMCBzaXplZCBwYWNrZXRzCgkgIEhhbmRsZSAwIHNpemVkIHBhY2tldHMgKHJlcGVhdCBmcmFtZSkgaW4gdGhlIHBheWxvYWRlciBhbmQgZGVwYXlsb2FkZXIuCgkgIEZpeGVzICM2NDE4MjcKCjIwMTEtMDItMTQgMTU6MjE6MjkgKzAyMDAgIFR1dWtrYSBQYXNhbmVuIDx0dXVra2EucGFzYW5lbkBpbG1pLmZpPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0dGFnaW5qZWN0LmM6CgkgIHRhZ2luamVjdDogcmVzZW5kIHRhZ3Mgd2hlbiB0aGV5IGFyZSBjaGFuZ2VkCgkgIEFsbG93IHNldHRpbmcgbmV3IHRhZ3Mgb24gdGhlIHByb3BlcnR5IHdoaWxlIHJ1bm5pbmcgYW5kIHNlbmQgdGhlbS4KCSAgRml4ZXMgIzY0MDI0OQoKMjAxMS0wMi0xNCAxMjo1MzoyNyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmOTRkNzM5IHRvIDFkZTdmNmEKCjIwMTEtMDItMDcgMjM6MzI6NTMgKzAxMDAgIE1pZ3VlbCBBbmdlbCBDYWJyZXJhIE1veWEgPG1hZG1hYzI1MDFAZ21haWwuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggbWlub3IgbGVha3Mgd2hlbiBoYW5kbGluZyBzZXJ2ZXIgcmVxdWVzdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDAxNjMKCjIwMTEtMDItMTQgMDA6NDk6MDAgKzAwMDAgIEhlYXRoIE5pZWxzb24gPGhlYXRobkBnbWFpbC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGV4dHJhY3QgTXVzaWNCcmFpbnogdGFncwoJICBFeHRyYWN0IE11c2ljQnJhaW56IHRhZ3MgYWRkZWQgYnkgTXVzaWNCcmFpbnoncyBQaWNhcmQKCSAgdGFnZ2VyIGFwcGxpY2F0aW9uLiBUaGVzZSB0YWdzIChlc3AuIHRoZSBhbGJ1bSBpZCkgYXJlCgkgIGhlbHBmdWwgZm9yIHJoeXRobWJveCBldC5hbC4gdG8gYXV0b21hdGljYWxseSBkb3dubG9hZHMKCSAgY292ZXIgYXJ0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQyMjA1CgoyMDExLTAyLTE0IDAwOjM4OjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmVmYWN0b3IgaVR1bmVzIHRhZyBwYXJzaW5nIGEgYml0CgoyMDExLTAyLTEwIDIzOjUyOjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSAgZG9hcDogdXBkYXRlIG1haWxpbmcgbGlzdCBsb2NhdGlvbgoKMjAxMS0wMi0xMCAxODoxMTo0NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHByb3BhZ2F0ZSBlcnJvciBkdXJpbmcgZXhwb3NlX3N0cmVhbXMKCSAgLi4uIGFzIGl0IG1heSBvY2N1ciBkdXJpbmcgaW5pdGlhbCBwYXJzaW5nIG9mIGZyYWdtZW50ZWQgZmlsZS4KCjIwMTEtMDItMTAgMTg6MDA6MTEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhdm9pZCBza2lwcGluZyBleHBvc2luZyBhIHN0cmVhbSBmb2xsb3dpbmcgYSByZW1vdmVkIHN0cmVhbQoKMjAxMS0wMi0xMCAxMTo1NjozMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIG1hdHJvc2thZGVtdXg6IHN0b3JlIGNsdXN0ZXIgcG9zaXRpb25zIHByb3ZpZGVkIGJ5IFNlZWtIZWFkCgkgIC4uLiBhbmQgdXNlIHRob3NlLCBpZiBhdmFpbGFibGUsIHRvIGxvY2F0ZSBhIGNsdXN0ZXIgcmF0aGVyIHRoYW4gc2Nhbm5pbmcuCgoyMDExLTAyLTA5IDE2OjIyOjQ3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBwcm9wZXJseSByZXN1bWUgY2x1c3RlciBzY2FubmluZwoJICAuLi4gcmF0aGVyIHRoYW4gZ2V0dGluZyBvZmZzZXQgdHJhY2tpbmcgbWVzc2VkIHVwLCBhbmQgdGhlbiBsaWtlbHkKCSAgZmFpbGluZyBhIHN1YnNlcXVlbnQgYXNzZXJ0LgoKMjAxMS0wMi0wOCAxMDowNzo0MyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6CgkgIGlkM2RlbXV4OiBlbnN1cmUgYSB0YWdsaXN0IGJlZm9yZSBhZGRpbmcgdGhlIGNvbnRhaW5lciB0YWcKCSAgSW4gdGhlIGNhc2Ugb2YgaWQzdjEgYWxzbyBkb24ndCByZXR1cm4gTlVMTCBvbiBlbXB0eSB0YWdzLCBidXQgYWxzbyBjcmVhdGUgYSBuZXcKCSAgdGFnbGlzdCBhbmQgYWRkIHRoZSBjb250YWluZXIgdGFnIGZvciBjb25zaXN0ZW5jeS4KCjIwMTEtMDItMDcgMTc6MDg6NDcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogc3RyaXAgdHJhaWxpbmcgc3BhY2VzCgoyMDExLTAyLTA3IDE3OjA3OjQyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0cHNyYzogc2V0IG11bHRpcGxlIHByb3BlcnRpZXMgaW4gb25lIGdvCgkgIFRoZXJlIGlzIG5vIG5lZWQgZm9yIHNlcGFyYXRlIGdfb2JqZWN0X3NldCgpIGNhbGxzIGhlcmUuCgoyMDExLTAyLTAzIDE2OjEwOjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogSGFuZGxlIGltYWdlIGNhcHMgd2l0aG91dCBhc3NlcnRpbmcKCSAgSW1hZ2VzIG1pZ2h0IGhhdmUgZnJhbWVyYXRlPTAvMSBpbiB0aGUgY2Fwcywgd2hpY2ggY2F1c2VkIGFuCgkgIGFzc2VydGlvbiBvbiBkZWludGVybGFjZS4gSSBkb24ndCBrbm93IG9mIGludGVybGFjZWQgaW1hZ2UgZm9ybWF0cwoJICBidXQgZGVpbnRlcmxhY2UgbWlnaHQgYmUgaGFyZGNvZGVkIG9uIHNvbWUgZ2VuZXJpYyBwaXBlbGluZXMgYW5kCgkgIGl0IHNob3VsZG4ndCBhc3NlcnQuCgkgIFRoZSBmaXggd2FzIHRvIHNldCBmaWVsZF9kdXJhdGlvbiB0byAwIGlmIHRoZSBpbnB1dCBoYXMgYSBmcmFtZXJhdGUKCSAgd2l0aCBhIDAgbnVtZXJhdG9yLgoJICBUaGlzIHBhdGNoIGFsc28gYWRkcyBjaGVja3MgZm9yIHRoaXMgc2l0dWF0aW9uIG9uIHRoZSB1bml0IHRlc3RzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQxNDAwCgoyMDExLTAyLTA0IDEyOjMzOjA5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICBkb2NzOiBmaXggcGFyYW1ldGVyIG5hbWUgaW4gdWRwc3JjIGRvY3MKCSAgSXQgaXMgImJ1ZmZlci1zaXplIiBhbmQgbm90ICJidWZmZXIiLiBBbHNvIHRyaW0gdHJhaWxpbmcgd2hpdGVzcGFjZS4KCjIwMTEtMDItMDMgMjM6NDI6NTkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBmaXggaW50ZXJsYWNlZCBzZXRfZm9ybWF0IGNvbmZpZ3VyYXRpb24KCSAgQ29tbWl0IDZjODI2OGRiZmQ1Yzg4ZmFjMjhjODgyZWYyZTQ1OThhNjUyMmUyZDYgYnJva2UgcmVjb3JkaW5nCgkgIGZyb20gaW50ZXJsYWNlZCB2NGwyIHNvdXJjZSAoZS5nLiB0eXBpY2FsIHR2IGNhcHR1cmUgY2FyZCkgc2luY2UKCSAgVjRMMl9GSUVMRF9TRVFfVEIgKHdpdGggZmllbGRzIHN0b3JlZCBzZXBhcmF0ZWx5KSBkb2VzIG5vdCBtYXAKCSAgdG8gY3VycmVudGx5IGRlZmluZWQgaW50ZXJsYWNlZCBmb3JtYXQgKGZpZWxkcyBzdG9yZWQgaW50ZXJsZWF2ZWQpLgoJICBCZXNpZGVzIHRoaXMgbWlzbWF0Y2gsIGhhcmR3YXJlIG1pZ2h0IHF1aXRlIGxpa2VseSBub3Qgc3VwcG9ydCBvcgoJICBhcHByZWNpYXRlIHRoaXMgZmllbGQgdmFsdWUsIHNpbmNlIHF1ZXJ5aW5nIHN1cHBvcnRlZCBmb3JtYXRzIG1hcHBlZAoJICBfSU5URVJMQUNFRCBmaWVsZCBmb3JtYXRzIHRvIGludGVybGFjZWQ9dHJ1ZSBjYXBzIChzbyB0aGUgbGF0dGVyIHNob3VsZAoJICBub3QgYmUgbWFwcGVkIHRvIGZpZWxkIHZhbHVlIHRoYXQgaXMgbm90IGtub3duIHRvIGJlIHN1cHBvcnRlZCkuCgoyMDExLTAyLTAyIDE4OjI3OjUyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHNvdXJjZTogZml4IHR5cGUgb2YgbnRwbnN0aW1lCgoyMDExLTAyLTAyIDE4OjIxOjI2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBydHBiaW46IEdldCBhbmQgdXNlIHRoZSBOVFAgdGltZSB3aGVuIHJlY2VpdmluZyBSVENQCgkgIFdoZW4gd2UgcmVjZWl2ZSBhbiBSVENQIHBhY2tldCwgZ2V0IHRoZSBjdXJyZW50IE5UUCB0aW1lIGluIG5hbnNlY29uZHMgc28gdGhhdAoJICB3ZSBjYW4gY29ycmVjdGx5IGNhbGN1bGF0ZSB0aGUgcm91bmQtdHJpcCB0aW1lLgoKMjAxMS0wMi0wMSAxOTo0MDo1OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kOiBhcnJhbmdlIGZvciBkZWZpbml0aW9uIG9mIF9zd2FiIG9uIEN5Z3dpbgoJICBnc3RkaXJlY3Rzb3VuZHNpbmsuYzogSW4gZnVuY3Rpb24gJ2dzdF9kaXJlY3Rzb3VuZF9zaW5rX3dyaXRlJzoKCSAgZ3N0ZGlyZWN0c291bmRzaW5rLmM6NTU3OiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ19zd2FiJwoJICBnc3RkaXJlY3Rzb3VuZHNpbmsuYzo1NTc6IGVycm9yOiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mICdfc3dhYicKCjIwMTAtMTAtMDYgMjE6MTc6MjggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5oOgoJICBydHB0aGVvcmFkZXBheTogUmVxdWVzdCBuZXcga2V5ZnJhbWUgb24gbG9zdCBwYWNrZXRzCgkgIFRoZW9yYSBjYW4gb25seSB1c2UgdGhlIGxhc3QgZnJhbWUgKG9yIHRoZSBrZXlmcmFtZSkgYXMgYSByZWZlcmVuY2UsIHNvIGluCgkgIHByYWN0aWNlLiBJZiB3ZSByZWNlaXZlIGEgYnVmZmVyIHRoYXQgcmVmZXJlbmNlcyBhbiB1bmtub3duIGNvZGVib29rLCByZXF1ZXN0CgkgIG5ldyBoZWFkZXJzLiBJdCBwcm9iYWJseSBtZWFucyB0aGF0IGhlYWRlcnMgd2VyZSBsb3N0LgoKMjAxMC0wOC0yNyAxNDoxMTo1MyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IEFkZCBhY3Rpb24gc2lnbmFsIHRvIHJlcXVlc3QgZWFybHkgUlRDUAoKMjAxMC0wOC0yNyAxNjoxMTowNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogQWRkIGNhbGxiYWNrIHRvIGdldCB0aGUgY3VycmVudCB0aW1lCgoyMDEwLTEwLTE5IDIyOjIxOjU0ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogRG9uJ3QgcmVsYXkgbW9yZSB0aGFuIG9uZSBQTEkgcmVxdWVzdCBwZXIgUlRUCgkgIERyb3AgUExJIHJlcXVlc3RzIGlmIG9uZSB3YXMgcmVsYXkgaW4gdGhlIGxhc3QgUlRULCB0aGUgb3RoZXIgc2lkZSBtYXkKCSAganVzdCBub3QgaGF2ZSByZWNlaXZlZCB0aGUga2V5ZnJhbWUgeWV0LgoKMjAxMC0wNi0yMyAxNjo0MzoyNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogU2VuZCBHc3RGb3JjZUtleVVuaXQgZXZlbnQgaW4gcmVzcG9uc2UgdG8gcmVjZWl2ZWQgUlRDUCBQTEkKCjIwMTAtMTEtMjQgMTU6Mjc6NDYgLTA1MDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBnc3RydHBzZXNzaW9uOiBGYWxsYmFjayBmb3IgRklSIHRvIFBMSSBpZiBQTEkgaXNuJ3QgYXZhaWxhYmxlCgoyMDEwLTA2LTIyIDE5OjU2OjUwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBJbXBsZW1lbnQgc2VuZGluZyBQTEkgcGFja2V0cyBpbiByZXNwb25zZSB0byBHc3RGb3JjZUtleVVuaXQKCjIwMTAtMDYtMjIgMTM6MzM6MzIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIHJ0cHNvdXJjZTogUmV0YWluIFJUQ1AgRmVlZGJhY2sgcGFja2V0cyBmb3IgYSBzcGVjaWZpZWQgYW1vdW50IG9mIHRpbWUKCjIwMTAtMDktMDcgMTM6MzU6MTYgKzAzMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogTWFrZSBydGNwIGJ1ZmZlciBtZXRhZGF0YSB3cml0YWJsZSBhZnRlciBwcm9jZXNzaW5nIGl0CgkgIEZ1bmN0aW9ucyB0aGF0IHByb2Nlc3MgdGhlIHJ0Y3AgYnVmZmVyIGNvdWxkIGRlY2lkZSB0byBrZWVwIGEgcmVmCgkgIG9uIHRoZSBidWZmZXIgZm9yIGZ1cnRoZXIgcHJvY2Vzc2luZy4gU28gbWFrZSB0aGUgbWV0YWRhdGEgd3JpdGFibGUKCSAgb25seSBhZnRlciB0aGV5IGFyZSBkb25lLgoKMjAxMC0wNi0xNyAxNzozNDoxOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IEVtaXQgc2lnbmFsIG9uIGluY29taW5nIFJUQ1AgRkIgcGFja2V0CgoyMDExLTAyLTAxIDE4OjE3OjEzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBmaXggY29tcGlsYXRpb24KCjIwMTAtMDYtMTUgMTg6Mzk6NDcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBBZGQgbWV0aG9kIHRvIHJlcXVlc3QgZWFybHkgUlRDUCBwYWNrZXQKCSAgSW1wbGVtZW50IHRoZSBlYXJseSBtb2RlIGRlZmluZWQgaW4gUkZDIDQ1ODUuIEluIHRoaXMgbW9kZSwgUlRDUCBmZWVkYmFjawoJICBwYWNrZXRzIGFyZSBzZW50IGVhcmx5IHRvIG5vdGlmaWVyLgoKMjAxMC0wNi0wMSAxOToyODowMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIHJ0cHNlc3Npb246IEFkZCBwcm9wZXJ0eSBmb3IgbWluaW11bSBpbnRlcnZhbCBiZXR3ZWVuIFJlZ3VsYXIgUlRDUCBtZXNzYWdlcwoJICBUaGlzIGNhbiBiZSBjaGFuZ2VkIGFjY29yZGluZyB0byBSRkMgNDU4NQoKMjAxMC0wNi0xNCAxODo0MDozMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IEVtaXQgc2lnbmFsIHdoZW4gc2VuZGluZyBhIGNvbXBvdW5kIFJUQ1AgcGFja2V0CgkgIFRoaXMgYWxsb3dzIHVzZXJzIHRvIGFkZCBleHRyYSBSVENQIHBhY2tldHMgdG8gdGhlIGNvbXBvdW5kCgkgIFJUQ1AgcGFja2V0LgoKMjAxMC0wNi0xOSAxOToxMTowNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICBydHBwdGRlbXV4OiBUYWcgdXBzdHJlYW0gY3VzdG9tIGV2ZW50cyB3aXRoIHBheWxvYWQgdHlwZQoKMjAxMC0wNi0xOCAxOToxMjo0MCAtMDQwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBUYWcgdXBzdHJlYW0gY3VzdG9tIGV2ZW50cyB3aXRoIFNTUkMKCjIwMTAtMTAtMDEgMTc6MTk6MTYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogRW1pdCAib24tc3NyYy12YWxpZGF0ZWQiIHdoZW4gdmFsaWRhdGluZyBieSBSVENQCgkgIEVtaXQgIm9uLXNzcmMtdmFsaWRhdGVkIiBpZiB0aGUgU1NSQyBpcyB2YWxpZGF0ZWQgYnkgcmVjZWl2aW5nCgkgIGEgUlRDUCBTREVTIHBhY2tldC4KCjIwMTEtMDItMDEgMTY6Mzg6MjAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJICBqMmtwYXk6IHNraXAgRVBIIHBhY2tldHMKCSAgSW5jbHVkZSBFUEggbWFya2VycyBpbnRvIHRoZSBwcmV2aW91cyBjaHVuayBvZiBwYWNrZXRzLgoKMjAxMS0wMS0zMSAxNzo1NjoxOCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5oOgoJICBydHBwY21hcGF5OiBSZW5hbWUgdGhlIGNsYXNzIHRvIGhhdmUgdGhlIHJpZ2h0IG5hbWUKCSAgSXQgd2FzIG5hbWUgcG1jYSBpbnN0ZWFkIG9mIHBjbWEgYW5kIG1hZGUgZGVidWcgbG9ncyBoYXJkIHRvIHNlYXJjaC4KCjIwMTEtMDEtMzEgMDU6NTg6MzYgKzAxMDAgIERhdmlkIEhlbm5pbmdzc29uIDxkYXZpZC5oZW5uaW5nc3NvbkBjYW5vbmljYWwuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBQdWxzZXNpbms6IEFsbG93IGNodW5rcyB1cCB0byBidWZzaXplIGluc3RlYWQgb2Ygc2Vnc2l6ZQoJICBCeSBhbGxvd2luZyBsYXJnZXIgY2h1bmtzIHRvIGJlIHNlbnQsIFB1bHNlQXVkaW8gd2lsbCBoYXZlIGEKCSAgbG93ZXIgQ1BVIHVzYWdlLiBUaGlzIGlzIGVzcGVjaWFsbHkgaW1wb3J0YW50IG9uIGxvdy1lbmQgbWFjaGluZXMsCgkgIHdoZXJlIFB1bHNlQXVkaW8gY2FuIGNyYXNoIGlmIHBhY2tldHMgYXJlIGNvbWluZyBpbiBhdCBhIGhpZ2hlcgoJICByYXRlIHRoYW4gUHVsc2VBdWRpbyBjYW4gcHJvY2VzcyB0aGVtLgoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBIZW5uaW5nc3NvbiA8ZGF2aWQuaGVubmluZ3Nzb25AY2Fub25pY2FsLmNvbT4KCjIwMTEtMDEtMzEgMTM6NDQ6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBzaW1wbGlmeSB0ZW1wbGF0ZSBjYXBzCgkgIFdlIGNhbiBtZXJnZSBhbGwgdGhlIFlVViB2YXJpYW50cyBpbnRvIG9uZSBzaW5nbGUgc3RydWN0dXJlLgoKMjAxMS0wMS0yNyAxNTozNTowNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgd2luMzI6IGZpeCBERUZBVUxUX0FVRElPU0lOSywgc2hvdWxkIGJlIGRpcmVjdCpzb3VuZCpzaW5rCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDA3MDUKCjIwMTEtMDEtMjcgMTY6MDI6NDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogaW5pdGlhbGl6ZSBsb2NhbCB2YXJpYWJsZSB0byBwbGVhc2UgbWluZ3czMiBjb21waWxlcgoKMjAxMS0wMS0yNiAyMjoyMTozMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmg6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcDogdXNlIHNvY2tsZW5fdCB3aGVyZSBhcHByb3ByaWF0ZSByYXRoZXIgdGhhbiBjdXN0b20gdHlwZQoJICBJbiBwYXJ0aWN1bGFyLCBmaXhlcyBDeWd3aW4gYnVpbGQgd2hlcmUgc29ja2xlbl90IGlzIGRlZmluZWQgYXMgaW50CgkgIGluIGxpbmUgd2l0aCBuYXRpdmUgd2luMzIgYXBpIGRlZmluaXRpb24uCgoyMDExLTAxLTI3IDEyOjE2OjQ2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogbWluZCByb3VuZGluZyBpc3N1ZXMgd2hlbiBjb252ZXJ0aW5nIGZyb20gZ2xvYmFsIHRpbWUgdG8gbW92IHRpbWUKCSAgSW4gcGFydGljdWxhciwgdGhpcyBhdm9pZHMgbWlzc2luZyB0aGUgaW50ZW5kZWQga2V5ZnJhbWUgd2hlbiBmaXJzdCBjb252ZXJ0aW5nCgkgIGZyb20gdGhlIGZyYW1lJ3MgbW92IHRpbWUgdG8gZ2xvYmFsIHNlZ21lbnQgdGltZSwgYW5kIHRoZW4gYmFjayBmcm9tIGdsb2JhbAoJICB0aW1lIHRvIG1vdiB0aW1lIHdoZW4gYWN0aXZhdGluZyB0aGUgc2VnbWVudC4KCjIwMTEtMDEtMjYgMDg6NDg6NDMgKzAwMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW4udG9uY2hldkBheGlzLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBkb24ndCBsZWFrIGVibWwgd3JpdGVyIGNhcHMgd2hlbiByZS11c2luZyBtYXRyb3NrYW11eAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQwNTQyCgoyMDExLTAxLTI1IDIxOjU2OjE5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBkb24ndCBkaXZpZGUgYnkgMAoKMjAxMS0wMS0xOCAxNDo0ODowNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogcHVsbCBtb2RlIHNob3VsZCBhbHdheXMgcmVwb3J0IHNlZWthYmxlCgkgIC4uLiBhcyBpdCBubyBsb25nZXIgcmVxdWlyZXMgYW4gaW5kZXgsIGJ1dCBjYW4gc2VlayBieSBzY2FubmluZyBhcyB3ZWxsLgoKMjAxMS0wMS0xMCAxMjozNDoyMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IHN1cHBvcnQgc29tZSBtb3JlIG1wZWctNCBmb3VyY2MgdmFyaWFudHMKCjIwMTEtMDEtMTAgMTI6MzQ6MDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzaW1wbGlmeSByZXRyaWV2aW5nIHN0c2QgY2hpbGQgZW50cnkgYXRvbQoKMjAxMS0wMS0yNCAxODoyNzo1MiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBEb24ndCBjb25zaWRlciAwIGZjY19oYW5kbGVyIGFzIHVuY29tcHJlc3NlZC4KCSAgSnVzdCBhdm9pZHMgYSB3YXJuaW5nCgoyMDExLTAxLTIwIDEyOjE0OjA4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiB0YWtlIGNvbmZpZ3VyZWQgc3RhcnQgdGltZSBpbnRvIGFjY291bnQKCSAgd2hlbiBjcmVhdGluZyB0aGUgbmV3c2VnbWVudCBldmVudCwgdGFrZSB0aGUgY29uZmlndXJlZCBzdGFydCB0aW1lCgkgIGludG8gYWNjb3VudC4KCjIwMTEtMDEtMjQgMTU6MTE6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggcHJpbnRmIGZvcm1hdCB3YXJuaW5nIG9uIG1pbmd3MzIKCSAgTWFrZSB3aW4zMiBidWlsZCBib3QgaGFwcHkgYWdhaW4sIGFuZCBuaWNlZnkgb3V0cHV0IHdoaWxlIHdlJ3JlIGF0IGl0LgoJICBxdGRlbXV4LmM6IEluIGZ1bmN0aW9uICdxdGRlbXV4X3BhcnNlX3RydW4nOgoJICBxdGRlbXV4LmM6MjE2MjozOiBlcnJvcjogZm9ybWF0ICclbHUnIGV4cGVjdHMgdHlwZSAnbG9uZyB1bnNpZ25lZCBpbnQnLCBidXQgYXJndW1lbnQgOSBoYXMgdHlwZSAnZ3VpbnQzMicKCjIwMTEtMDEtMjQgMTM6Mzk6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjYzcC1BTVIuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2M3AtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjY0LVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtUENNQS5zaDoKCSAgZXhhbXBsZXM6IGF1dG9hdWRpc2luayAtPiBhdXRvYXVkaW9zaW5rIGluIFJUUCBleGFtcGxlcwoKMjAxMS0wMS0yNCAwMDozMjo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMC4yNyA9PT0KCjIwMTEtMDEtMjEgMTI6NTQ6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMjcKCjIwMTEtMDEtMjAgMTQ6MTA6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgaDI2NGRlcGF5OiBkb24ndCBsZWFrIGNvZGVjIGRhdGEgYnVmZmVyIGluIGJ5dGUtc3RyZWFtPXRydWUgbW9kZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQwMDYzCgoyMDExLTAxLTIwIDEzOjQxOjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZG9uJ3QgbGVhayB1cmwgc3RyaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDAwNjQKCjIwMTEtMDEtMjAgMTE6NDU6NDcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBHcmFjZWZ1bGx5IGhhbmRsZSBtb3YgZmlsZXMgbWlzdXNpbmcgdGhlIFdBVkUgYXRvbXMKCSAgQ2hlY2sgdGhhdCB0aGUgV0FWRUhFQURFUiBub2RlIGlzIHByZXNlbnQgaW5zdGVhZCBvZiBibGluZGx5IHVzaW5nIGl0LgoJICBJZiBub3QgcHJlc2VudCB3ZSB3b24ndCBiZSBhYmxlIHRvIHByb3ZpZGUgYSBtb3JlIHJlZmluZWQgY2FwcywgYnV0IGF0CgkgIGxlYXN0IHdlIHdvbid0IGNyYXNoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQwMDI4CgoyMDExLTAxLTIwIDAwOjA3OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDJzaW5rOiBmaXggYWNjaWRlbnRhbCBicmVha2FnZSBvZiBuYXZpZ2F0aW9uIGludGVyZmFjZSBzdXBwb3J0CgoyMDExLTAxLTE4IDEyOjU4OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjI2LjQgcHJlLXJlbGVhc2UKCjIwMTEtMDEtMTIgMTQ6MDM6NTcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmM6CgkgIGRlaW50ZXJsYWNlOiByZXdyaXRlIGhvdyBuZWlnaGJvcmluZyBzY2FuIGxpbmVzIGFyZSBjYWxjdWxhdGVkCgkgIE9sZCBjb2RlIHdhcyBkaWZmaWN1bHQgdG8gdW5kZXJzdGFuZCBleGFjdGx5IGhvdyB0aGUgbmVpZ2hib3JpbmcKCSAgc2NhbiBsaW5lcyBhcmUgY2FsY3VsYXRlZCwgYW5kIGl0IGFwcGVhcmVkIHRoYXQgc29tZSB3ZXJlIG9mZiBieQoJICArMiBvciAtMiwgZGVwZW5kaW5nIG9uIHRoZSBmaWVsZCBmbGFnLiAgRml4ZXMgIzYzOTMyMS4KCjIwMTEtMDEtMTggMDk6MzM6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJICBhdmlzdWJ0aXRsZTogc2V0IGNhcHMgb24gc3JjcGFkIHRvIGZpeCBpc3N1ZSB3aXRoIGRpc2NvdmVyZXIKCSAgU2V0IGNhcHMgZnJvbSB0aGUgc3RhcnQgc28gZGlzY292ZXJlciBkb2Vzbid0IGJsb3cgdXAgb24KCSAgc2VlaW5nIG5vIG5lZ290aWF0ZWQgY2FwcyBiZXR3ZWVuIGVsZW1lbnRzIG9uIHByZXJvbGwsCgkgIHdoaWNoIG1pZ2h0IGhhcHBlbiBpZiBubyBzdWJ0aXRsZSBidWZmZXJzIGhhdmUgYmVlbgoJICBwdXNoZWQgeWV0IGF0IHRoZSB0aW1lLiBTZWUgZmlsZSBmcm9tIGJ1ZyAjNjAzMzA4LgoKMjAxMS0wMS0xNyAyMDowOToxNiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogVW5jb3JrIHN0cmVhbSB3aGlsZSBmbHVzaGluZyB0aGUgcmluZ2J1ZmZlcgoJICBBZnRlciBzdGFydGluZyB0aGUgcmluZ2J1ZmZlciwgd2Ugd2FpdCBmb3IgZW5vdWdoIGRhdGEgdG8gYXJyaXZlIGJlZm9yZQoJICB1bmNvcmtpbmcgdGhlIHN0cmVhbS4gVGhpcyB3aWxsIGNhdXNlIHRoZSBwaXBlbGluZSB0byBzdGFsbCBpZiB3ZSBnZXQgYW4KCSAgRU9TIChvciBvdGhlcndpc2UgbmVlZCB0byBmbHVzaCB0aGUgc3RyZWFtKSBiZWZvcmUgc3VmZmljaWVudCBkYXRhCgkgIGJlY29tZXMgYXZhaWxhYmxlLiBUaGlzIHBhdGNoIG1ha2VzIHN1cmUgdGhhdCB0aGUgc3RyZWFtIGlzIHVuY29ya2VkCgkgIHdoaWxlIGZsdXNoaW5nIHRvIGF2b2lkIHRoaXMgcHJvYmxlbS4KCSAgRml4ZXMgaXNzdWUgd2l0aCBhIHdlYmtpdCB1bml0IHRlc3QgdGVzdGluZyByZXZlcnNlIHBsYXliYWNrIG9mCgkgIGFuIE1QNCBILjI2NC9BQUMgZmlsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzOTc0MAoKMjAxMS0wMS0xNCAxNDo1MTo1MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBhdm9pZCBjcmVhdGluZyBjYXBzIGZyb20gc3RyaW5nIHdoZW4gcG9zc2libGUKCSAgRml4ZXMgIzYzOTUxNi4KCjIwMTEtMDEtMTQgMTQ6NDg6NDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBzZXQgc3JjIHBhZCBjYXBzIHdoZW4gc3RhcnRpbmcgZmlsZQoJICBGaXhlcyAjNjM5NTE2LgoKMjAxMS0wMS0xMiAyMDozODo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGRlZmluZSBWNEwyX0ZJRUxEX0lOVEVSTEFDRURfe1RCLEJUfSBpZiBub3QgYXZhaWxhYmxlIGluIGhlYWRlcgoJICBPbGRlciBrZXJuZWxzIGRvbid0IGhhdmUgdGhlc2UsIGFuZCB0aGVyZSdzIG5vIGVhc3kgd2F5IHRvIGNoZWNrIGZvciB0aGUKCSAgZXhpc3RhbmNlIG9mIGVudW1zIHRoYXQgZG9lc24ndCBpbnZvbHZlIGEgY29uZmlndXJlIGNoZWNrLCBzbyBqdXN0IGRlZmluZQoJICB0aGVzZSBpZiB0aGUgVjRMMl9DQVBfVklERU9fT1VUUFVUX09WRVJMQVkgZGVmaW5lIGlzIG5vdCB0aGVyZSwgd2hpY2ggd2FzCgkgIGFkZGVkIGluIHRoZSBzYW1lIGNvbW1pdCBhcyB0aGUgVEIvQlQgZW51bS4gRml4ZXMgY29tcGlsYXRpb24gb24gQ2VudE9TIDUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzkzMzkKCjIwMTEtMDEtMTEgMjM6MTg6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjYuMyBwcmUtcmVsZWFzZQoKMjAxMS0wMS0xMSAyMjo0Mjo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgZG9jczogdXBkYXRlIGRvY3MKCjIwMTEtMDEtMTEgMjM6Mzk6MTIgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IE1ha2UgY29ya2luZyBkdXJpbmcgcGF1c2Ugc3luY2hyb25vdXMKCSAgVGhpcyBtYWtlcyB0aGUgY2FsbCB0byBwYV9zdHJlYW1fY29yaygpIGR1cmluZyByaW5nYnVmZmVyIHBhdXNlKCkKCSAgc3luY2hyb25vdXMsIHdoaWNoIG1ha2VzIHN1cmUgdGhhdCB0aGUgY2xvY2sgZG9lcyBub3QgYWR2YW5jZSBhZnRlciB3ZQoJICB0YWtlIGEgc25hcHNob3QgZm9yIHN0YXJ0X3RpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzkyNDAKCjIwMTEtMDEtMTEgMTk6MzM6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vZGEucG86CgkqIHBvL2dsLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDExLTAxLTExIDE1OjUwOjI4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGU1NzJjODcgdG8gZjk0ZDczOQoKMjAxMS0wMS0xMCAxNjozNjoxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGNjYmFhODUgdG8gZTU3MmM4NwoKMjAxMS0wMS0xMCAxNDo1MzozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDQ2NDQ1YWQgdG8gY2NiYWE4NQoKMjAxMS0wMS0wNyAxMzoyNDowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4yNi4yIHByZS1yZWxlYXNlCgoyMDExLTAxLTA3IDEzOjA2OjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDExLTAxLTA3IDAyOjMyOjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogZml4IGNvbXBpbGVyIHdhcm5pbmdzIGNhdXNlZCBieSAtREdfRElTQUJMRV9BU1NFUlQKCjIwMTEtMDEtMDcgMDI6MDY6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJICBtYXRyb3NrYTogZG9uJ3QgcHV0IGVzc2VudGlhbCBmdW5jdGlvbiBjYWxscyBpbnRvIGdfYXNzZXJ0KCkKCSAgZ19hc3NlcnQoKSB3aWxsIGV4cGFuZCB0byBOT09QcyBpZiAtREdfRElTQUJMRV9BU1NFUlQgaXMgcGFzc2VkLgoKMjAxMS0wMS0wNyAwMTozNTo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyc2luazogZG9uJ3QgcHV0IGZ1bmN0aW9uYWwgY29kZSBsaWtlIGlvY3RsIGNhbGxzIGludG8gZ19yZXR1cm5faWZfZmFpbCgpCgkgIFRoZXNlIG1hY3JvcyB3aWxsIGV4cGFuZCB0byBOT09QcyBnaXZlbiB0aGUgcmlnaHQgZGVmaW5lcy4gQWxzbywKCSAgZ19yZXR1cm5faWZfZmFpbCgpIGFuZCBmcmllbmRzIGFyZSBtZWFudCB0byBiZSB1c2VkIHRvIGNhdGNoIHByb2dyYW1taW5nCgkgIGVycm9ycyAobGlrZSBpbnZhbGlkIGlucHV0IHRvIGZ1bmN0aW9ucyksIG5vdCBydW50aW1lIGVycm9yIGhhbmRsaW5nLgoKMjAxMS0wMS0wNyAwMToxMTowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IG5ldmVyIGRpc2FibGUgZ19hc3NlcnQoKSBhbmQgY2FzdCBjaGVja3MgZm9yIHRoZSB1bml0IHRlc3RzCgkgIFRoZSB1bml0IHRlc3RzIGFyZSByaWRkbGVkIHdpdGggZ19hc3NlcnQoKSBhbmQgZnJpZW5kcywgbWFrZSBzdXJlIHdlCgkgIGRvbid0IGRpc2FibGUgYXNzZXJ0IGFuZCBjYXN0IGNoZWNrcyBmb3IgdGhlIHVuaXQgdGVzdHMgZXZlbiBpZgoJICB0aGlzIGhhcyBiZWVuIHNwZWNpZmllZCBmb3IgdGhlIHJlc3Qgb2YgdGhlIGNvZGUgYmFzZSwgZS5nLiB2aWEKCSAgLS1kaXNhYmxlLWdsaWItYXNzZXJ0cy4KCjIwMTEtMDEtMDYgMTI6Mjk6MjEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSAgcnRwOiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGVzIG9uIG1hY29zeAoKMjAxMS0wMS0wNiAxMjoyODo1OCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuYzoKCSAgcXRkZW11eDogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlcyBvbiBtYWNvc3gKCjIwMTEtMDEtMDUgMTc6NDk6MTYgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc2RlYnVnLmM6CgkgIGNhcHNkZWJ1ZzogQWRkIGNhcGRlYnVnIGRlYnVnIGNhdGVnb3J5CgoyMDEwLTEyLTExIDEyOjQyOjEwIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogQ2hhbmdlIHRoZSBkZWZhdWx0IHRvIGxpbmVhcgoJICBUaGUgcHJldmlvdXMgZGVmYXVsdCwgZ3JlZWR5aCwgdGFrZXMgNCB0aW1lcyBhcyBsb25nIGFzIE1QRUctMgoJICB2aWRlbyBkZWNvZGluZywgYW5kIGlzIHVubGlrZWx5IGZhc3QgZW5vdWdoIG9uIGFueSBjdXJyZW50IENQVQoJICB0byBwbGF5IDEwODBpIHZpZGVvIGluIHJlYWwtdGltZS4gIGdyZWVkeWwgaXNuJ3QgbXVjaCBmYXN0ZXIuCgkgIGxpbmVhciB3YXMgY2hvc2VuIG92ZXIgdmZpciwgc2luY2UgdGhlIHF1YWxpdHkgYWR2YW50YWdlIG9mIHZmaXIKCSAgaXMgbWluaW1hbCBjb21wYXJlZCB0byB0aGUgb2NjYXNpb25hbCB2aXN1YWwgYXJ0aWZhY3RzIGFuZCBzbG93ZXIKCSAgcHJvY2Vzc2luZy4KCjIwMTEtMDEtMDUgMTg6MzI6NTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGRvbid0IGNvbmZ1c2UgcmV0dXJuIHZhbHVlcwoJICBSZXR1cm4gYSByZXR1cm4gdmFsdWUgb2YgdGhlIHJpZ2h0IHR5cGUuCgoyMDExLTAxLTA1IDE2OjI0OjEzICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmM6CgkgIHF0ZGVtdXg6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZXMgb24gbWFjb3N4CgoyMDExLTAxLTA1IDE1OjAzOjMyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSAgdnJhd2RlcGF5OiBmaXggbGVuZ3RoIGNoZWNrCgkgIEFkZCBzb21lIG1vcmUgZGVidWdnaW5nLgoJICBBZGQgdGhlIGxlbmd0aCBjaGVjayBzbyB3ZSBkb24ndCBjYXVzZSB1bm5lZWRlZCB3YXJuaW5ncy4KCjIwMTEtMDEtMDUgMTI6MDQ6MDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICBtdWx0aXVkcHNpbms6IGFkZCBidWZmZXItc2l6ZSBwcm9wZXJ0eQoJICBBZGQgYnVmZmVyLXNpemUgcHJvcGVydHkgdG8gY29uZmlndXJlIHRoZSBrZXJuZWwgc2VuZCBidWZmZXIuCgoyMDExLTAxLTAzIDIwOjE2OjIyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGVzIHdoZW4gZGVidWctbG9nZ2luZyBkaXNhYmxlZAoKMjAxMS0wMS0wMyAyMDowNjozNSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thLWRlbXV4OiByZW1vdmUgdW51c2VkIHZhcmlhYmxlcyB3aGVuIGRlYnVnLWxvZ2dpbmcgZGlzYWJsZWQKCjIwMTEtMDEtMDMgMTg6MDU6MTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOgoJICBjYWNhc2luazogZml4IG1hc2tzIGFuZCBzdHJpZGVzCgkgIFVzZSB0aGUgcmlnaHQgZW5kaWFubmVzcyB0byByZWFkIHRoZSBtYXNrcy4KCSAgVXNlIHRoZSByaWdodCBzdHJpZGVzIGZvciB0aGUgYml0bWFwLgoJICBGaXhlcyAjNjM4NTY5CgoyMDExLTAxLTAzIDAxOjE4OjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogdW5kbyBwcmVzdW1hYmx5IGFjY2lkZW50YWwgZW5hYmxlbWVudCBvZiB0aGUgR3N0WE92ZXJsYXkgaW50ZXJmYWNlCgkgIExvb2tzIGxpa2UgdGhpcyBnb3QgZW5hYmxlZCBieSBhY2NpZGVudCB3aGVuIGFkZGluZyBpdCB0byB2NGwyc2luaywKCSAgc28gdW5kbyB0aGlzIGZvciBub3cuIE5vdCBzdXJlIGl0IG1ha2VzIG11Y2ggc2Vuc2UgaW4gYSBHU3RyZWFtZXIKCSAgY29udGV4dCB3aXRoIGN1cnJlbnQgaGFyZHdhcmUuCgoyMDExLTAxLTAzIDE1OjQwOjExICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBpbmNyZWFzZSB1ZHAgYnVmZmVyIHNpemUKCSAgU2V0IGEgYmlnZ2VyIFVEUCBidWZmZXIgc2l6ZSBieSBkZWZhdWx0IHRvIHJlZHVjZSBwYWNrZXQgbG9zcyB3aXRoCgkgIGhpZ2ggYml0cmF0ZSBzdHJlYW1zLgoKMjAxMS0wMS0wMiAxOToxOToyNyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgIG11bHRpZmlsZXNpbms6IHNlbmQgc3RyZWFtIGhlYWRlcnMgaW4ga2V5LWZyYW1lIG1vZGUKCjIwMTEtMDEtMDIgMTk6NDM6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svTWFrZWZpbGUuYW06CgkqIGV4dC9qYWNrL1JFQURNRToKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBmaXggdXAgZWxlbWVudCBkZXRhaWxzIGFuZCBzb21lIG90aGVyIG1pbm9yIGNsZWFuLXVwcwoKMjAxMS0wMS0wMiAxOToyMzo1MSArMDAwMCAgRXJpY2ggU2NodWJlcnQgPGVyaWNoQGRlYmlhbi5vcmc+CgoJKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzoKCSAgaWQzZGVtdXg6IGZpeCBwYXJzaW5nIG9mIElEM3YyLjQgZ2VucmUgZnJhbWVzIHdpdGggbXVsdGlwbGUgZ2VucmVzCgkgIFdlJ2Qgb25seSBleHRyYWN0IHRoZSBmaXJzdCBnZW5yZSAobXVsdGlwbGUgdGltZXMpIGluc3RlYWQgb2YgYWxsCgkgIGdlbnJlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzODUzNQoKMjAxMS0wMS0wMiAxNzo0MDo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiB0ZW1wbGF0ZSBjYXBzIGhhZCBsaXN0cyB3aXRoIG9uZSB2YWx1ZSwganVzdCB1c2UgdmFsdWUgZGlyZWN0bHkKCjIwMTEtMDEtMDIgMTc6MDc6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBtYWtlIGdldF90eXBlIGZ1bmN0aW9ucyB0aHJlYWQtc2FmZQoJICBCZWNhdXNlIHdlIGNhbiAoc2hvdWxkbid0IGJlIG5lZWRlZCB3aXRoIG90aGVyIHdvcmthcm91bmRzIHN0aWxsIHRoZXJlKS4KCjIwMTEtMDEtMDIgMTU6Mjc6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSAgZG9jczogdXBkYXRlIHBsdWdpbiBkb2NzCgoyMDExLTAxLTAyIDE1OjI1OjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIC5naXRpZ25vcmU6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9qYWNrL01ha2VmaWxlLmFtOgoJICBqYWNrOiBuZXcgamFja2F1ZGlvc3JjIGFuZCBqYWNrYXVkaW9zaW5rIGVsZW1lbnRzLCBtb3ZlZCBmcm9tIGdzdC1wbHVnaW5zLWJhZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIxOTI5CgoyMDEwLTEwLTE5IDE2OjIzOjIzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICB2YXJpb3VzIChleHQpOiBhZGQgbWlzc2luZyBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIGZsYWdzCgkgIENhbm9uaWNhbGl6ZSBwcm9wZXJ0eSBuYW1lcyBhcyBuZWVkZWQuCgoyMDEwLTA5LTA5IDE0OjQ5OjA2IC0wNDAwICBUcmlzdGFuIE1hdHRoZXdzIDxsZS5idXNpbmVzc21hbkBnbWFpbC5jb20+CgoJKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogYWRkZWQgdHJhbnNsYXRhYmxlIHRleHQgZm9yIHNlcnZlciBub3QgZm91bmQgZXJyb3IKCjIwMTAtMDktMDYgMTc6MTc6NTQgLTA0MDAgIFRyaXN0YW4gTWF0dGhld3MgPGxlLmJ1c2luZXNzbWFuQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2phY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2phY2svamFja19jbGllbnQuYzoKCSAgZXhhbXBsZXM6IGFkZCB0ZXN0IHRvIGRlbW9uc3RyYXRlIGphY2tfY2xpZW50X3QgdXNhZ2UKCjIwMTAtMDktMDYgMTY6MTE6MzEgLTA0MDAgIFRyaXN0YW4gTWF0dGhld3MgPGxlLmJ1c2luZXNzbWFuQGdtYWlsLmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50Lmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmg6CgkgIGphY2s6IGFkZGVkIGNsaWVudCBwcm9wZXJ0eQoKMjAxMC0wNi0xNyAxNjoyNjowNyAtMDQwMCAgVHJpc3RhbiBNYXR0aGV3cyA8dHJpc3RhbkBzYXQucWMuY2E+CgoJKiBleHQvamFjay9nc3RqYWNrYmluLmM6CgkgIGphY2s6IHJlbW92ZWQgdW51c2VkIGZpbGUgZ3N0amFja2Jpbi5jCgkgIFRoaXMgaXMgYSAwLjggbGVmdG92ZXIuCgoyMDEwLTA1LTEzIDEyOjU1OjI5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2tzcmM6IG1ha2Ugc3VyZSB3ZSBhbHdheXMgcmVhZCBuZnJhbWVzCgkgIEVycm9yIG91dCB3aGVuIHdlIGFyZSBhc2tlZCB0byByZWFkIGEgZGlmZmVyZW50IHNpemUgdGhhdCB3aGF0IHdhcyBjb25maWd1cmVkIGFzCgkgIHRoZSBqYWNrIHBlcmlvZCBzaXplIGJlY2F1c2UgdGhhdCB3b3VsZCBtZWFuIHNvbWV0aGluZyBlbHNlIGlzIHdyb25nLgoJICBGaXhlcyAjNjE4NDA5CgoyMDEwLTA1LTExIDE3OjU2OjMxIC0wNDAwICBUcmlzdGFuIE1hdHRoZXdzIDx0cmlzdGFuQHNhdC5xYy5jYT4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuaDoKCSAgamFjazogaW1wcm92ZSBwcm9jZXNzX2NiCgoyMDEwLTA0LTI3IDEwOjQ4OjMyIC0wNDAwICBUcmlzdGFuIE1hdHRoZXdzIDx0cmlzdGFuQHRyaXN0YW4tbGFwdG9wLihub25lKT4KCgkqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2phY2svZ3N0amFja3V0aWwuYzoKCSogZXh0L2phY2svZ3N0amFja3V0aWwuaDoKCSAgamFjazogaW1wbGVtZW50IG11bHRpY2hhbm5lbCBzdXBwb3J0IGNvcnJlY3RseSBmb3IgamFja2F1ZGlvc3JjCgkgIEZpeGVzIHBhcnRzIG9mIGJ1ZyAjNjE2NTQxLgoKMjAxMC0wNC0yNyAxMToyMToxNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2phY2svZ3N0amFja3JpbmdidWZmZXIuaDoKCSAgamFjazogcmVtb3ZlIGVtcHR5IGRpc3Bvc2UgYW5kIGZpbmFsaXplIG1ldGhvZHMKCjIwMTAtMDQtMjcgMTA6NTk6MDAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IGRvbid0IGxlYWsgY2FwcwoJICBBZGQgZGlzcG9zZSBtZXRob2RzIHRvIGNsZWFyIGNhcHMuCgoyMDEwLTA0LTI3IDEwOjM0OjI0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBkb24ndCB1c2UgR1NUX0RFQlVHX0ZVTkNQVFIgZm9yIGdvYmplY3Qgdm1ldGhvZHMKCjIwMTAtMDMtMjQgMTU6NTk6NTMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBmaXggZWxlbWVudCBuYW1lIGluIHNlY3Rpb24gZG9jIGJsb2IKCjIwMTAtMDMtMjIgMTY6NTY6MDMgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBBZGQgLVdvbGQtc3R5bGUtZGVmaW5pdGlvbgoJICBhbmQgZml4IHRoZSB3YXJuaW5ncwoKMjAxMC0wMy0yMSAyMTozOToxOCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJICBBZGQgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyB0byBjb25maWd1cmUgZmxhZ3MKCSAgQW5kIGZpeCBhbGwgd2FybmluZ3MKCjIwMTAtMDMtMTggMTc6MzA6MjYgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzID0+IGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZQoKMjAwOS0xMC0xMiAwOTowNjozNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogZW5zdXJlIHNlZ3RvdGFsIGlzIGF0IGxlYXN0IDIKCSAgTm90IG9ubHkgYWRqdXN0IGJ1ZmZlci10aW1lIGFuZCBhdm9pZCBzZWd0b3RhbD0wLCBidXQgaW5zdGVhZCBlbnN1cmUgc2VndG90YWwgaXMKCSAgYXRsZWFzdCAyLiBEbyBzYW1lIGNoYW5nZSBvbiBqYWNrc3JjLiBXZSBjb3VsZCBhbHNvIGNoZWNrIHRoZSBsYXRlbmN5IGFuZCBidWZmZXIKCSAgdGltZSBjb25maWd1cmVkIGJ5IHRoZSBjbGllbnQgYW5kIGFkanVzdCBidWZmZXItdGltZSBzbyB0aGF0IHdlIGdldCB0byB0aGUgc2FtZQoJICBudW1iZXIgb2Ygc2VnbWVudHMuCgoyMDA5LTEwLTEyIDAwOjUxOjI3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkgIGphY2s6IGRvbid0IGNyYXNoIGluIHJpbmdidWZmZXIgd2l0aCBTSUdGUEUgb24gc21hbGwgYnVmZmVyLXRpbWVzCgkgIEphY2sgb3ZlcnJpZGVzIHVzZXItc3BlY2lmaWVkIGxhdGVuY3ktdGltZSB3aXRoIHRoZSBvbmUgaXQgZ2V0cyBmcm9tIGphY2sKCSAgaXRzZWxmLiBJdCBhbHNvIG5lZWRzIHRvIGFkanVzdCBidWZmZXItdGltZSBzb21ld2hhdCB0byBhdm9pZCBzZWd0b3RhbCBiZWluZyAwCgoyMDA5LTA1LTExIDE2OjEyOjU0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJICBqYWNrOiB3aGVuIHN0b3BwaW5nIHBsYXliYWNrLCBkbyBvbmUgbW9yZSBjeWNsZSB0byBmbHVzaCB0aGUgcG9ydC4gRml4ZXMgIzU4MjE2NwoJICBUaGUgZ3N0X2phY2tfYXVkaW9fY2xpZW50X3NldF9hY3RpdmUoKSBmbGFncyB0aGUgcG9ydCBhcyBkZWFjdGl2YXRpbmcgYW5kIHVzZXMKCSAgYSBHQ29uZCB0byB3YWl0IHVudGlsIHRoZSBqYWNrX3Byb2Nlc3NfY2IoKSBoYXMgcnVuIG9uY2UgbW9yZSBhbmQgY2xlYXJlZCB0aGUKCSAgZmxhZy4gVGhpcyB3YXkgdGhlIGNsaWVudCB6ZXJvJ3MgdGhlIGJ1ZmZlci4gVGhpcyBoYXBwZW5zIGlmIG9uZSBtYW55YWxseSBnbwoJICB0byBQQVVTRUQgYW5kIHRoZW4gdG8gUkVBRFksIHdoaWxlIGxldGluZyB0aGUgbWFpbmxvb3AgcnVuIGluYmV0d2Vlbi4KCjIwMDktMDMtMTYgMTE6MjE6MDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogQWRkIG5ldyBjb25uZWN0aW9uIG1vZGUKCSAgQWRkIGEgbmV3IGNvbm5lY3Rpb24gbW9kZSB0byBqYWNrc3JjIGFuZCBqYWNrc2luay4gSW4gdGhpcyBuZXcgYXV0by1mb3JjZQoJICBjb25uZWN0aW9uIG1vZGUgamFjayB3aWxsIGNyZWF0ZSBhcyBtYW55IHBvcnRzIGFzIHJlcXVlc3RlZC9uZWVkZWQgaW4gdGhlCgkgIHBpcGVsaW5lIGFuZCB3aWxsIHRoZW4gY29ubmVjdCBhcyBtYW55IHBoeXNpY2FsIHBvcnRzIGFzIHBvc3NpYmxlLCBwb3NzaWJseQoJICBsZWF2aW5nIHNvbWUgcG9ydHMgdW5jb25uZWN0ZWQuCgkgIEFsc28gZ2V0IHJpZCBvZiBzb21lIGxlZnRvdmVyIGdfcHJpbnQuCgkgIEZpeGVzICM1NzUyODQuCgoyMDA4LTExLTIzIDE3OjUwOjA4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvamFjay86IFF1ZXJ5IHBvcnQgbGF0ZW5jaWVzIGZvciBzaW5rL3NyYyBkZWxheXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgUXVlcnkgcG9ydCBsYXRlbmNpZXMgZm9yIHNpbmsvc3JjIGRlbGF5cy4KCSAgKiBleHQvamFjay9nc3RqYWNrYmluLmM6CgkgIE5vIHByaW50ZiBwbGVhc2UuCgoyMDA4LTExLTA0IDEyOjQyOjMwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciAtYmFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYXNwZGlmL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbXJ3Yi9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXBleHNpbmsvTWFrZWZpbGUuYW06CgkgICogZXh0L2FydHMvTWFrZWZpbGUuYW06CgkgICogZXh0L2FydHNkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hdWRpb2ZpbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L2J6Mi9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2RhdWRpby9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2VsdC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGMxMzk0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXJhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGlyZWN0ZmIvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpdngvTWFrZWZpbGUuYW06CgkgICogZXh0L2R0cy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmFhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmFhZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ3NtL01ha2VmaWxlLmFtOgoJICAqIGV4dC9oZXJtZXMvTWFrZWZpbGUuYW06CgkgICogZXh0L2l2b3JiaXMvTWFrZWZpbGUuYW06CgkgICogZXh0L2phY2svTWFrZWZpbGUuYW06CgkgICogZXh0L2pwMmsvTWFrZWZpbGUuYW06CgkgICogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGNzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJmYW1lL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJtbXMvTWFrZWZpbGUuYW06CgkgICogZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tcGVnMmVuYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXBsZXgvTWFrZWZpbGUuYW06CgkgICogZXh0L211c2VwYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tdXNpY2JyYWluei9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXl0aHR2L01ha2VmaWxlLmFtOgoJICAqIGV4dC9uYXMvTWFrZWZpbGUuYW06CgkgICogZXh0L25lb24vTWFrZWZpbGUuYW06CgkgICogZXh0L29mYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvcG9seXAvTWFrZWZpbGUuYW06CgkgICogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zZGwvTWFrZWZpbGUuYW06CgkgICogZXh0L3Nob3V0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9zbmFwc2hvdC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc25kZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291bmR0b3VjaC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3BjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zd2ZkZWMvTWFrZWZpbGUuYW06CgkgICogZXh0L3Rhcmtpbi9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGhlb3JhL01ha2VmaWxlLmFtOgoJICAqIGV4dC90aW1pZGl0eS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdHdvbGFtZS9NYWtlZmlsZS5hbToKCSAgKiBleHQveDI2NC9NYWtlZmlsZS5hbToKCSAgKiBleHQveGluZS9NYWtlZmlsZS5hbToKCSAgKiBleHQveHZpZC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYWlmZnBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvYnVmZmVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9iYXllci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY2R4YXBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9jaGFydC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY29sb3JzcGFjZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGNjcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOgoJICAqIGdzdC9mZXN0aXZhbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmlsdGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mbGFjcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ2FtZXMvTWFrZWZpbGUuYW06CgkgICogZ3N0L2gyNjRwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJICAqIGdzdC9taXhtYXRyaXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21vZHBsdWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWcxc3lzL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnNHZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWdkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3RzbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9uc2YvTWFrZWZpbGUuYW06CgkgICogZ3N0L251dmRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9vdmVybGF5L01ha2VmaWxlLmFtOgoJICAqIGdzdC9wYXNzdGhyb3VnaC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGNhcHBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Jhd3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yZWFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydGpwZWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkgICogZ3N0L3NkcC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2VsZWN0b3IvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Ntb290aC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc21vb3Rod2F2ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlZWQvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3N0ZXJlby9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3ViZW5jL01ha2VmaWxlLmFtOgoJICAqIGdzdC90dGEvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZiaWRlYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9kcm9wL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb3NpZ25hbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlydHVhbGR1Yi9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvdm1uYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJICAqIHN5cy9hY21lbmMvTWFrZWZpbGUuYW06CgkgICogc3lzL2Nkcm9tL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHZiL01ha2VmaWxlLmFtOgoJICAqIHN5cy9keHIzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9mYmRldi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3NzNC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvcWNhbS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvcXR3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy92Y2QvTWFrZWZpbGUuYW06CgkgICogc3lzL3dpbmluZXQvTWFrZWZpbGUuYW06CgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciAtYmFkLgoKMjAwOC0wOS0xNyAxMzo1OToyMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBGaXggY29tcGlsZXIgd2FybmluZ3Mgb24gT1MvWAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IChqYWNrX3Byb2Nlc3NfY2IpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAoY2FsY3VsYXRlX3NrZXcpOgoJICBGaXggY29tcGlsZXIgd2FybmluZ3Mgb24gT1MvWAoKMjAwOC0wOC0wNyAxMzoxNToyMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6IFRyeSBjb21taXR0aW5nIHRoaXMgb25jZSBhZ2Fpbi4gTm93IHByb3Blcmx5IHJlbmFtZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBUcnkgY29tbWl0dGluZyB0aGlzIG9uY2UgYWdhaW4uIE5vdyBwcm9wZXJseSByZW5hbWVkLgoKMjAwOC0wOC0wNyAwOTowOTo0NCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWwKCSAgQWRkIG5ldyBlbGVtZW50IHRvIGRvY3MuCgkgICogZXh0L2phY2svZ3N0amFjay5oCgkgIEFkZCBtaXNzaW5nIGZpbGUuCgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmg6CgkgIFJlbmFtZSBqYWNrYXVkaW9zcmMgdG8gamFja19hdWRpb19zcmMuCgoyMDA4LTA4LTA3IDA4OjQ3OjQwICswMDAwICBUcmlzdGFuIE1hdHRoZXdzIDx0cmlzdGFuQHNhdC5xYy5jYT4KCgkgIGV4dC9qYWNrLzogQWRkIGEgamFja2F1ZGlvc3JjLiBSZWZhY3RvciBzaW5rIHNsaWdodGx5IGZvciBiZXR0ZXIgY29kZSByZXVzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBUcmlzdGFuIE1hdHRoZXdzIDx0cmlzdGFuQHNhdC5xYy5jYT4KCSAgKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvamFjay9nc3RqYWNrLmM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuaDoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuaDoKCSAgKiBleHQvamFjay9nc3RqYWNrcmluZ2J1ZmZlci5oOgoJICBBZGQgYSBqYWNrYXVkaW9zcmMuIFJlZmFjdG9yIHNpbmsgc2xpZ2h0bHkgZm9yIGJldHRlciBjb2RlIHJldXNlLgoJICBGaXhlcyAjNTQ1MTk3LgoKMjAwOC0wNi0xMyAxMTo1OToyMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3Yi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHZkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGludGVybGFjZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sCgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sCgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleHJlc2FtcGxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbAoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10aW1pZGl0eS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6CgkgICogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZGVjLmM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSAgKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOgoJICAqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICAqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgICogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkgIEFkZCBtaXNzaW5nIGVsZW1lbnRzIHRvIGRvY3MuIEZpeCBkb2MtbWFya3VwOiB1c2UgY29udmluaWVuY2Ugc3ludGF4CgkgIGZvciBleGFtcGxlcyAocHJvZHVjZXMgdmFsaWQgZG9jYm9vayksIGFkZCBzZXZlcmFsIHJlZnNlYzIgd2hlbiB3ZQoJICBoYXZlIHNldmVyYWwgdGl0bGVzLiBGaXggc29tZSB0eXBlcy4KCjIwMDgtMDYtMTIgMTQ6NDk6MTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIERvIG5vdCB1c2Ugc2hvcnRfZGVzY3JpcHRpb24gaW4gc2VjdGlvbiBkb2NzIGZvciBlbGVtZW50cy4gV2UgZXh0cmFjdCB0aGVtIGZyb20gZWxlbWVudCBkZXRhaWxzIGFuZCB0aGVyZSB3aWxsIGJlIHdhci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2RlYy5jOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSAgKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5jOgoJICAqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzoKCSAgKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuYzoKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJICBEbyBub3QgdXNlIHNob3J0X2Rlc2NyaXB0aW9uIGluIHNlY3Rpb24gZG9jcyBmb3IgZWxlbWVudHMuIFdlIGV4dHJhY3QKCSAgdGhlbSBmcm9tIGVsZW1lbnQgZGV0YWlscyBhbmQgdGhlcmUgd2lsbCBiZSB3YXJuaW5ncyBpZiB0aGV5IGRpZmZlci4KCSAgQWxzbyBmaXhpbmcgdXAgdGhlIENoYW5nZUxvZyBvcmRlci4KCjIwMDgtMDUtMjYgMTc6NTI6MjEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IEluY2x1ZGUgdGhlIGVsZW1lbnQgbmFtZSBpbiB0aGUgcG9ydCBuYW1lIHRvIGF2b2lkIGR1cGxpY2F0ZSBwb3J0IG5hbWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkgIChnc3RfamFja19hdWRpb19zaW5rX2FsbG9jYXRlX2NoYW5uZWxzKToKCSAgSW5jbHVkZSB0aGUgZWxlbWVudCBuYW1lIGluIHRoZSBwb3J0IG5hbWUgdG8gYXZvaWQgZHVwbGljYXRlIHBvcnQgbmFtZXMuCgoyMDA4LTA0LTA2IDIwOjE4OjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiBXb3JrIGFyb3VuZCBtaXNzaW5nIGJpdHMgb2YgdGhyZWFkLXNhZmV0eSBvbiBvbGRlciBHTGlicyBzb21lIG1vcmUgdG8gYXZvaWQgYXNzZXJ0aW9ucyB3Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzogKGdzdF9qYWNrX2F1ZGlvX3NpbmtfY2xhc3NfaW5pdCk6CgkgIFdvcmsgYXJvdW5kIG1pc3NpbmcgYml0cyBvZiB0aHJlYWQtc2FmZXR5IG9uIG9sZGVyIEdMaWJzIHNvbWUKCSAgbW9yZSB0byBhdm9pZCBhc3NlcnRpb25zIHdoZW4gc3RhcnRpbmcgdXAgbXVsdGlwbGUgcGxheWJpbgoJICBvYmplY3RzIGNvbmN1cnJlbnRseSAoc2VlICM1MTIzODIpLgoKMjAwOC0wMy0xMyAxNDoyNToyMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgVXNlIEdTVF9MSUNFTlNFLCBHU1RfUEFDS0FHRV9OQU1FIGFuZCBHU1RfUEFDS0FHRV9PUklHSU4gaW5zdGVhZCBvZiBoYXJkY29kaW5nIHZhbHVlcyB3aGVyZSBwb3NzaWJsZS4gRml4ZXMgYnVnICM1MjIyMTIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5jOgoJICAqIGV4dC9nc20vZ3N0Z3NtLmM6CgkgICogZXh0L2phY2svZ3N0amFjay5jOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgKiBleHQvc2hvdXQvZ3N0c2hvdXQuYzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSAgKiBnc3QvdHRhL2dzdHR0YS5jOgoJICBVc2UgR1NUX0xJQ0VOU0UsIEdTVF9QQUNLQUdFX05BTUUgYW5kIEdTVF9QQUNLQUdFX09SSUdJTiBpbnN0ZWFkCgkgIG9mIGhhcmRjb2RpbmcgdmFsdWVzIHdoZXJlIHBvc3NpYmxlLiBGaXhlcyBidWcgIzUyMjIxMi4KCjIwMDctMDctMTggMDc6NDI6NDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzogQWRkIHN0ZGxpYiBpbmNsdWRlIGhlcmUgdG9vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IChnc3RfamFja19yaW5nX2J1ZmZlcl9vcGVuX2RldmljZSksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9hY3F1aXJlKToKCSAgQWRkIHN0ZGxpYiBpbmNsdWRlIGhlcmUgdG9vLgoKMjAwNy0wNC0wNCAwNzozNjoyOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiBUcnkgdCBiZXR0ZXIgbmFtZSBjbGllbnRzLiBwcm9wZXJseSBoYW5kbGUgcmV0dXJuIGNvZGVzIHdoZW4gcmUtIGVzdGFibGlzaGluZyBsaW5rcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiAoZ3N0X2phY2tfcmluZ19idWZmZXJfb3Blbl9kZXZpY2UpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfYWNxdWlyZSk6CgkgIFRyeSB0IGJldHRlciBuYW1lIGNsaWVudHMuIHByb3Blcmx5IGhhbmRsZSByZXR1cm4gY29kZXMgd2hlbiByZS0KCSAgZXN0YWJsaXNoaW5nIGxpbmtzLgoKMjAwNy0wMy0xOCAxNzo1Nzo0OCArMDAwMCAgUGF1bCBEYXZpcyA8cGF1bEBsaW51eGF1ZGlvc3lzdGVtcy5jb20+CgoJICBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzogRG9uJ3QgbmVlZCB0byB0YWtlIHRoZSBjb25uZWN0aW9uIGxvY2ssIGl0IHdpbGwgbm90IGJlIHVzZWQgYW5kIGNvdWxkIGNhdXNlIGRlYWRsb2Nrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBQYXVsIERhdmlzIDxwYXVsIGF0IGxpbnV4YXVkaW9zeXN0ZW1zIGRvdCBjb20+CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6IChnc3RfamFja19hdWRpb191bnJlZl9jb25uZWN0aW9uKToKCSAgRG9uJ3QgbmVlZCB0byB0YWtlIHRoZSBjb25uZWN0aW9uIGxvY2ssIGl0IHdpbGwgbm90IGJlIHVzZWQgYW5kIGNvdWxkCgkgIGNhdXNlIGRlYWRsb2Nrcy4KCjIwMDctMDMtMDggMTU6MjQ6NTIgKzAwMDAgIFBhdWwgRGF2aXMgPHBhdWxAbGludXhhdWRpb3N5c3RlbXMuY29tPgoKCSAgZXh0L2phY2svOiBNYWtlIGFuIG9iamVjdCB0byBtYW5hZ2UgY2xpZW50IGNvbm5lY3Rpb25zIHRvIHRoZSBqYWNrIHNlcnZlciB3aGljaCB3ZSB3aWxsIHVzZSBpbiB0aGUgZnV0dXJlIHRvIHJ1biBzZWxlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBJbmNsdWRlcyBwYXRjaCBieTogUGF1bCBEYXZpcyA8cGF1bCBhdCBsaW51eGF1ZGlvc3lzdGVtcyBkb3QgY29tPgoJICAqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jOiAoZ3N0X2phY2tfYXVkaW9fY2xpZW50X2luaXQpLAoJICAoamFja19wcm9jZXNzX2NiKSwgKGphY2tfc2FtcGxlX3JhdGVfY2IpLCAoamFja19idWZmZXJfc2l6ZV9jYiksCgkgIChqYWNrX3NodXRkb3duX2NiKSwgKGNvbm5lY3Rpb25fZmluZCksCgkgIChnc3RfamFja19hdWRpb19tYWtlX2Nvbm5lY3Rpb24pLCAoZ3N0X2phY2tfYXVkaW9fZ2V0X2Nvbm5lY3Rpb24pLAoJICAoZ3N0X2phY2tfYXVkaW9fdW5yZWZfY29ubmVjdGlvbiksCgkgIChnc3RfamFja19hdWRpb19jb25uZWN0aW9uX2FkZF9jbGllbnQpLAoJICAoZ3N0X2phY2tfYXVkaW9fY29ubmVjdGlvbl9yZW1vdmVfY2xpZW50KSwKCSAgKGdzdF9qYWNrX2F1ZGlvX2NsaWVudF9uZXcpLCAoZ3N0X2phY2tfYXVkaW9fY2xpZW50X2ZyZWUpLAoJICAoZ3N0X2phY2tfYXVkaW9fY2xpZW50X2dldF9jbGllbnQpLAoJICAoZ3N0X2phY2tfYXVkaW9fY2xpZW50X3NldF9hY3RpdmUpOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5oOgoJICBNYWtlIGFuIG9iamVjdCB0byBtYW5hZ2UgY2xpZW50IGNvbm5lY3Rpb25zIHRvIHRoZSBqYWNrIHNlcnZlciB3aGljaCB3ZQoJICB3aWxsIHVzZSBpbiB0aGUgZnV0dXJlIHRvIHJ1biBzZWxlY3RlZCBqYWNrIGVsZW1lbnRzIHdpdGggdGhlIHNhbWUgamFjawoJICBjb25uZWN0aW9uLgoJICBNYWtlIHNvbWUgc3R1ZmYgYSBiaXQgbW9yZSB0aHJlYWRzYWZlLgoJICBBY3RpdmF0ZSB0aGUgamFjayBjbGllbnQgQVNBUC4KCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkgIChnc3RfamFja19hdWRpb19zaW5rX2FsbG9jYXRlX2NoYW5uZWxzKSwKCSAgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfZnJlZV9jaGFubmVscyksIChqYWNrX3Byb2Nlc3NfY2IpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfb3Blbl9kZXZpY2UpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfY2xvc2VfZGV2aWNlKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2FjcXVpcmUpLCAoZ3N0X2phY2tfcmluZ19idWZmZXJfcmVsZWFzZSksCgkgIChnc3RfamFja19hdWRpb19zaW5rX2NsYXNzX2luaXQpLCAoZ3N0X2phY2tfYXVkaW9fc2lua19pbml0KSwKCSAgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfZ2V0Y2Fwcyk6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5oOgoJICBVc2UgbmV3IGNsaWVudCBvYmplY3QgdG8gbWFuYWdlIGNvbm5lY3Rpb25zLgoJICBEb24ndCByZW1vdmUgYW5kIHJlY3JlYXRlIGFsbCBwb3J0cywgdHJ5IHRvIHJldXNlIHRoZW0uCgoyMDA3LTAxLTEyIDEwOjI1OjQwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay4qOiBJbXByb3ZlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzogKGphY2tfc2FtcGxlX3JhdGVfY2IpLAoJICAoamFja19idWZmZXJfc2l6ZV9jYiksIChqYWNrX3NodXRkb3duX2NiKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2FjcXVpcmUpOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuaDoKCSAgSW1wcm92ZSBkb2NzLgoKMjAwNi0xMi0wNiAxNjo1NzoxNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvamFjay8uY3ZzaWdub3JlOiBJZ25vcmUgb2xkIGZpbGVzIGFzIHJlcXVlc3RlZCBieSB0aGUgYnVpbGQgc2xhdmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qYWNrLy5jdnNpZ25vcmU6CgkgIElnbm9yZSBvbGQgZmlsZXMgYXMgcmVxdWVzdGVkIGJ5IHRoZSBidWlsZCBzbGF2ZS4KCjIwMDYtMTEtMzAgMTE6NTk6MDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvTWFrZWZpbGUuYW06IEZpeCBidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICBGaXggYnVpbGQuCgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiAoamFja19wcm9jZXNzX2NiKSwKCSAgKGphY2tfc2FtcGxlX3JhdGVfY2IpLCAoamFja19idWZmZXJfc2l6ZV9jYiksIChqYWNrX3NodXRkb3duX2NiKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2FjcXVpcmUpOgoJICBTbWFsbCBjbGVhbnVwcy4KCjIwMDYtMTEtMzAgMTE6NDk6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBBZGRlZCBmdWxseSBmdW5jdGlvbmFsIGphY2thdWRpb3NpbmsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2phY2svTWFrZWZpbGUuYW06CgkgICogZXh0L2phY2svZ3N0amFjay5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9qYWNrL2dzdGphY2suaDoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IChnc3RfamFja19yaW5nX2J1ZmZlcl9nZXRfdHlwZSksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9jbGFzc19pbml0KSwgKGphY2tfcHJvY2Vzc19jYiksCgkgIChqYWNrX3NhbXBsZV9yYXRlX2NiKSwgKGphY2tfYnVmZmVyX3NpemVfY2IpLCAoamFja19zaHV0ZG93bl9jYiksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9pbml0KSwgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2Rpc3Bvc2UpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfZmluYWxpemUpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfb3Blbl9kZXZpY2UpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfY2xvc2VfZGV2aWNlKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2FjcXVpcmUpLCAoZ3N0X2phY2tfcmluZ19idWZmZXJfcmVsZWFzZSksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9zdGFydCksIChnc3RfamFja19yaW5nX2J1ZmZlcl9wYXVzZSksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9zdG9wKSwgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2RlbGF5KSwKCSAgKGdzdF9qYWNrX2Nvbm5lY3RfZ2V0X3R5cGUpLCAoZ3N0X2phY2tfYXVkaW9fc2lua19iYXNlX2luaXQpLAoJICAoZ3N0X2phY2tfYXVkaW9fc2lua19jbGFzc19pbml0KSwgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfaW5pdCksCgkgIChnc3RfamFja19hdWRpb19zaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfamFja19hdWRpb19zaW5rX2dldF9wcm9wZXJ0eSksIChnc3RfamFja19hdWRpb19zaW5rX2dldGNhcHMpLAoJICAoZ3N0X2phY2tfYXVkaW9fc2lua19jcmVhdGVfcmluZ2J1ZmZlcik6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5oOgoJICBBZGRlZCBmdWxseSBmdW5jdGlvbmFsIGphY2thdWRpb3NpbmsuCgoyMDA2LTA0LTA4IDIxOjQ4OjAxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBGaXggIzMzNzM2NSAoZ190eXBlX2NsYXNzX3JlZiA8LT4gZ190eXBlX2NsYXNzX3BlZWtfcGFyZW50KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzogKGdzdF9hbXJ3YmRlY19jbGFzc19pbml0KToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzogKGdzdF9hbXJ3YmVuY19jbGFzc19pbml0KToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOiAoZ3N0X2FtcndicGFyc2VfY2xhc3NfaW5pdCk6CgkgICogZXh0L2FydHMvZ3N0X2FydHMuYzogKGdzdF9hcnRzX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzogKGdzdF9hcnRzZHNpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzogKGdzdF9hZnNpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOiAoZ3N0X2Fmc3JjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6IChnc3RfY2RhdWRpb19jbGFzc19pbml0KToKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IChnc3RfZGZidmlkZW9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuYzogKGdzdF9kaXZ4ZGVjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOgoJICAoZ3N0X2hlcm1lc19jb2xvcnNwYWNlX2NsYXNzX2luaXQpOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzogKGdzdF9pdm9yYmlzZmlsZV9jbGFzc19pbml0KToKCSAgKiBleHQvamFjay9nc3RqYWNrLmM6IChnc3RfamFja19jbGFzc19pbml0KToKCSAgKiBleHQvamFjay9nc3RqYWNrYmluLmM6IChnc3RfamFja19iaW5fY2xhc3NfaW5pdCk6CgkgICogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6IChnc3RfY29sb3JzcGFjZV9jbGFzc19pbml0KToKCSAgKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6IChnc3RfZmFtZWVuY19jbGFzc19pbml0KToKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6IChnc3RfbXVzaWNicmFpbnpfY2xhc3NfaW5pdCk6CgkgICogZXh0L25hcy9uYXNzaW5rLmM6IChnc3RfbmFzc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvc2hvdXQvZ3N0c2hvdXQuYzogKGdzdF9pY2VjYXN0c2VuZF9jbGFzc19pbml0KToKCSAgKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzogKGdzdF9zbmFwc2hvdF9jbGFzc19pbml0KToKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5jOiAoZ3N0X3NmX2NsYXNzX2luaXQpOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6IChnc3Rfc3dmZGVjYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X3N3ZmRlY19jbGFzc19pbml0KToKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5jOiAoZ3N0X3RhcmtpbmRlY19jbGFzc19pbml0KToKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmVuYy5jOiAoZ3N0X3RhcmtpbmVuY19jbGFzc19pbml0KToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5jOiAoZ3N0X2NkeGFzdHJpcF9jbGFzc19pbml0KToKCSAgKiBnc3QvY2hhcnQvZ3N0Y2hhcnQuYzogKGdzdF9jaGFydF9jbGFzc19pbml0KToKCSAgKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6IChnc3RfY29sb3JzcGFjZV9jbGFzc19pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzogKGdzdF9kZWludGVybGFjZV9jbGFzc19pbml0KToKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzogKGdzdF9mZXN0aXZhbF9jbGFzc19pbml0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0aWlyLmM6IChnc3RfaWlyX2NsYXNzX2luaXQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzogKGdzdF9yZmJzcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzogKGdzdF9taXhtYXRyaXhfY2xhc3NfaW5pdCk6CgkgICogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmM6CgkgIChnc3Rfc3lzdGVtX2VuY29kZV9jbGFzc19pbml0KToKCSAgKiBnc3QvbXBlZzF2aWRlb3BhcnNlL2dzdG1wMXZpZGVvcGFyc2UuYzoKCSAgKGdzdF9tcDF2aWRlb3BhcnNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuYzogKGdzdF9tcGVnMnN1YnRfY2xhc3NfaW5pdCk6CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIChnc3RfbXAzcGFyc2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOiAoZ3N0X292ZXJsYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3Bhc3N0aHJvdWdoL2dzdHBhc3N0aHJvdWdoLmM6IChwYXNzdGhyb3VnaF9jbGFzc19pbml0KToKCSAgKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5jOiAocGxheV9vbl9kZW1hbmRfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuYzogKGdzdF9ydGpwZWdkZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuYzogKGdzdF9ydGpwZWdlbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzogKGdzdF9zbW9vdGhfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOiAoZ3N0X3Ntb290aHdhdmVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzogKGdzdF9zdGVyZW9fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzogKGdzdF9zd2l0Y2hfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3R0YS9nc3R0dGFkZWMuYzogKGdzdF90dGFfZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogKGdzdF90dGFfcGFyc2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuYzogKGdzdF92YmlkZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzogKGdzdF92aWRlb19jcm9wX2NsYXNzX2luaXQpOgoJICAqIGdzdC92aXJ0dWFsZHViL2dzdHhzaGFycGVuLmM6IChnc3RfeHNoYXJwZW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzogKGdzdF95NG1lbmNvZGVfY2xhc3NfaW5pdCk6CgkgICogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6IChjZHBsYXllcl9jbGFzc19pbml0KToKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIChnc3RfZGlyZWN0c291bmRzaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuYzogKGR4cjNhdWRpb3NpbmtfY2xhc3NfaW5pdCk6CgkgICogc3lzL2R4cjMvZHhyM3NwdXNpbmsuYzogKGR4cjNzcHVzaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuYzogKGR4cjN2aWRlb3NpbmtfY2xhc3NfaW5pdCk6CgkgICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOiAoZ3N0X3FjYW1zcmNfY2xhc3NfaW5pdCk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5jOgoJICAoZ3N0X3Y0bDJfY29sb3JfYmFsYW5jZV9jaGFubmVsX2NsYXNzX2luaXQpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOiAoZ3N0X3Y0bDJfdHVuZXJfY2hhbm5lbF9jbGFzc19pbml0KSwKCSAgKGdzdF92NGwyX3R1bmVyX25vcm1fY2xhc3NfaW5pdCk6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2VzcmNfY2xhc3NfaW5pdCk6CgkgIEZpeCAjMzM3MzY1IChnX3R5cGVfY2xhc3NfcmVmIDwtPiBnX3R5cGVfY2xhc3NfcGVla19wYXJlbnQpCgoyMDA2LTA0LTAxIDEwOjA5OjExICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgcmV3b3JrIGJ1aWxkOyBhZGQgdHJhbnNsYXRpb25zIGZvciB2NGwyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXdvcmsgYnVpbGQ7IGFkZCB0cmFuc2xhdGlvbnMgZm9yIHY0bDIKCjIwMDUtMTAtMTIgMTQ6Mjk6NTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHJlbmFtZWQgR1NUX0ZMQUdTIG1hY3JvcyB0byBHU1RfT0JKRUNUX0ZMQUdTIG1vdmVkIGJpdHNoaWZ0IGZyb20gbWFjcm8gdG8gZW51bSBkZWZpbml0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL2luZGV4aW5nL2luZGV4bXBlZy5jOiAobWFpbik6CgkgICogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOiAoZ3N0X2FydHNkc2lua19vcGVuX2F1ZGlvKSwKCSAgKGdzdF9hcnRzZHNpbmtfY2xvc2VfYXVkaW8pLCAoZ3N0X2FydHNkc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuaDoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuYzogKGdzdF9hZnBhcnNlX29wZW5fZmlsZSksCgkgIChnc3RfYWZwYXJzZV9jbG9zZV9maWxlKToKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuaDoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOiAoZ3N0X2Fmc2lua19vcGVuX2ZpbGUpLAoJICAoZ3N0X2Fmc2lua19jbG9zZV9maWxlKSwgKGdzdF9hZnNpbmtfY2hhaW4pLAoJICAoZ3N0X2Fmc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmg6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOiAoZ3N0X2Fmc3JjX29wZW5fZmlsZSksCgkgIChnc3RfYWZzcmNfY2xvc2VfZmlsZSksIChnc3RfYWZzcmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmg6CgkgICogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOiAoZ3N0X2NkYXVkaW9faW5pdCk6CgkgICogZXh0L2RpcmVjdGZiL2RpcmVjdGZidmlkZW9zaW5rLmM6IChnc3RfZGlyZWN0ZmJ2aWRlb3NpbmtfaW5pdCk6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuYzogKGdzdF9kdHNkZWNfaW5pdCk6CgkgICogZXh0L2phY2svZ3N0amFjay5oOgoJICAqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzogKGdzdF9qYWNrX2Jpbl9pbml0KSwKCSAgKGdzdF9qYWNrX2Jpbl9jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOiAoZ3N0X211c2VwYWNrZGVjX2luaXQpOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzogKGdzdF9tdXNpY2JyYWluel9pbml0KToKCSAgKiBleHQvbmFzL25hc3NpbmsuYzogKGdzdF9uYXNzaW5rX29wZW5fYXVkaW8pLAoJICAoZ3N0X25hc3NpbmtfY2xvc2VfYXVkaW8pLCAoZ3N0X25hc3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvbmFzL25hc3NpbmsuaDoKCSAgKiBleHQvcG9seXAvcG9seXBzaW5rLmM6IChnc3RfcG9seXBzaW5rX2luaXQpOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6IChnc3Rfc2RsdmlkZW9zaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuaDoKCSAgKiBleHQvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6IChnc3Rfc21vb3Rod2F2ZV9pbml0KToKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5jOiAoZ3N0X3NmX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfc2ZfY2hhbmdlX3N0YXRlKSwgKGdzdF9zZl9yZWxlYXNlX3JlcXVlc3RfcGFkKSwKCSAgKGdzdF9zZl9vcGVuX2ZpbGUpLCAoZ3N0X3NmX2Nsb3NlX2ZpbGUpLCAoZ3N0X3NmX2xvb3ApOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmg6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzogKGdzdF9zd2ZkZWNfaW5pdCk6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuYzogKGdzdF90YXJraW5kZWNfaW5pdCk6CgkgICogZ3N0L2FwZXRhZy9hcGVkZW11eC5jOiAoZ3N0X2FwZV9kZW11eF9pbml0KToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOiAoZ3N0X2NkeGFwYXJzZV9pbml0KToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5jOiAoZ3N0X2NkeGFzdHJpcF9pbml0KToKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzogKGdzdF9mZXN0aXZhbF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5oOgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuYzogKGdzdF9tcGVnMnN1YnRfaW5pdCk6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5jOiAoZ3N0X211bHRpZmlsZXNpbmtfaW5pdCksCgkgIChnc3RfbXVsdGlmaWxlc2lua19zZXRfbG9jYXRpb24pLCAoZ3N0X211bHRpZmlsZXNpbmtfb3Blbl9maWxlKSwKCSAgKGdzdF9tdWx0aWZpbGVzaW5rX2Nsb3NlX2ZpbGUpLCAoZ3N0X211bHRpZmlsZXNpbmtfbmV4dF9maWxlKSwKCSAgKGdzdF9tdWx0aWZpbGVzaW5rX3BhZF9xdWVyeSksIChnc3RfbXVsdGlmaWxlc2lua19oYW5kbGVfZXZlbnQpLAoJICAoZ3N0X211bHRpZmlsZXNpbmtfY2hhaW4pLCAoZ3N0X211bHRpZmlsZXNpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgICogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuYzogKGdzdF92aWRlb2Ryb3BfaW5pdCk6CgkgICogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6IChjZHBsYXllcl9pbml0KToKCSAgKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmM6IChkeHIzYXVkaW9zaW5rX2luaXQpLAoJICAoZHhyM2F1ZGlvc2lua19vcGVuKSwgKGR4cjNhdWRpb3NpbmtfY2xvc2UpLAoJICAoZHhyM2F1ZGlvc2lua19jaGFpbl9wY20pLCAoZHhyM2F1ZGlvc2lua19jaGFpbl9hYzMpLAoJICAoZHhyM2F1ZGlvc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuaDoKCSAgKiBzeXMvZHhyMy9keHIzc3B1c2luay5jOiAoZHhyM3NwdXNpbmtfaW5pdCksIChkeHIzc3B1c2lua19vcGVuKSwKCSAgKGR4cjNzcHVzaW5rX2Nsb3NlKSwgKGR4cjNzcHVzaW5rX2NoYWluKSwKCSAgKGR4cjNzcHVzaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogc3lzL2R4cjMvZHhyM3NwdXNpbmsuaDoKCSAgKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmM6IChkeHIzdmlkZW9zaW5rX2luaXQpLAoJICAoZHhyM3ZpZGVvc2lua19vcGVuKSwgKGR4cjN2aWRlb3NpbmtfY2xvc2UpLAoJICAoZHhyM3ZpZGVvc2lua193cml0ZV9kYXRhKSwgKGR4cjN2aWRlb3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmg6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAoZ3N0X2dsaW1hZ2VzaW5rX2luaXQpOgoJICAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzogKGdzdF9xY2Ftc3JjX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcWNhbXNyY19vcGVuKSwgKGdzdF9xY2Ftc3JjX2Nsb3NlKToKCSAgKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfaW5pdCk6CgkgICogc3lzL3ZjZC92Y2RzcmMuYzogKGdzdF92Y2RzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF92Y2RzcmNfZ2V0KSwKCSAgKGdzdF92Y2RzcmNfb3Blbl9maWxlKSwgKGdzdF92Y2RzcmNfY2xvc2VfZmlsZSksCgkgIChnc3RfdmNkc3JjX2NoYW5nZV9zdGF0ZSksIChnc3RfdmNkc3JjX3JlY2FsY3VsYXRlKToKCSAgKiBzeXMvdmNkL3ZjZHNyYy5oOgoJICByZW5hbWVkIEdTVF9GTEFHUyBtYWNyb3MgdG8gR1NUX09CSkVDVF9GTEFHUwoJICBtb3ZlZCBiaXRzaGlmdCBmcm9tIG1hY3JvIHRvIGVudW0gZGVmaW5pdGlvbgoKMjAwNS0wOS0wNSAxNzoyMDoyOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzoKCSAgRml4IHVwIGFsbCB0aGUgc3RhdGUgY2hhbmdlIGZ1bmN0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCB1cCBhbGwgdGhlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbnMuCgoyMDA0LTA4LTAzIDE0OjI4OjEyICswMDAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQGdub21lLm9yZz4KCgkgIGZpeGVzIGZvciBHX0RJU0FCTEVfQVNTRVJUIGFuZCBmcmllbmRzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL2R5bnBhcmFtcy9maWx0ZXIuYzogKHVpX2NvbnRyb2xfY3JlYXRlKToKCSAgKiBleGFtcGxlcy9nc3RwbGF5L3BsYXllci5jOiAocHJpbnRfdGFnKToKCSAgKiBleHQvYWxzYS9nc3RhbHNhLmM6IChnc3RfYWxzYV9yZXF1ZXN0X25ld19wYWQpOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka2FuaW1hdGlvbi5jOgoJICAoZ3N0X2dka19hbmltYXRpb25faXRlcl9tYXlfYWR2YW5jZSk6CgkgICogZXh0L2phY2svZ3N0amFjay5jOiAoZ3N0X2phY2tfcmVxdWVzdF9uZXdfcGFkKToKCSAgKiBleHQvbWFkL2dzdGlkM3RhZy5jOiAoZ3N0X21hZF9pZDNfdG9fdGFnX2xpc3QpLAoJICAodGFnX2xpc3RfdG9faWQzX3RhZ19mb3JlYWNoKSwgKGdzdF9pZDNfdGFnX2hhbmRsZV9ldmVudCk6CgkgICogZXh0L3ZvcmJpcy9vZ2d2b3JiaXNlbmMuYzogKGdzdF9vZ2d2b3JiaXNlbmNfZ2V0X3RhZ192YWx1ZSk6CgkgICogZXh0L3ZvcmJpcy92b3JiaXNlbmMuYzogKGdzdF92b3JiaXNlbmNfZ2V0X3RhZ192YWx1ZSk6CgkgICogZXh0L3hpbmUveGluZWF1ZGlvZGVjLmM6IChnc3RfeGluZV9hdWRpb19kZWNfY2hhaW4pOgoJICAqIGdzdC1saWJzL2dzdC9tZWRpYS1pbmZvL21lZGlhLWluZm8tdGVzdC5jOiAocHJpbnRfdGFnKToKCSAgKiBnc3Qvc2luZS9kZW1vLWRwYXJhbXMuYzogKG1haW4pOgoJICAqIGdzdC90YWdzL2dzdHZvcmJpc3RhZy5jOiAoZ3N0X3RhZ190b192b3JiaXNfY29tbWVudHMpOgoJICAqIHRlc3RzdWl0ZS9hbHNhL2Zvcm1hdHMuYzogKGNyZWF0ZV9waXBlbGluZSk6CgkgICogdGVzdHN1aXRlL2Fsc2Evc2luZXNyYy5jOiAoc2luZXNyY19mb3JjZV9jYXBzKSwgKHNpbmVzcmNfZ2V0KToKCSAgZml4ZXMgZm9yIEdfRElTQUJMRV9BU1NFUlQgYW5kIGZyaWVuZHMKCSAgKiBnc3QvdHlwZWZpbmQvZ3N0dHlwZWZpbmRmdW5jdGlvbnMuYzogKGFhY190eXBlX2ZpbmQpLAoJICAobXAzX3R5cGVfZnJhbWVfbGVuZ3RoX2Zyb21faGVhZGVyKSwgKG1wM190eXBlX2ZpbmQpLAoJICAocGx1Z2luX2luaXQpOgoJICByZXF1aXJlIG1wMyB0eXBlZmluZGluZyB0byBoYXZlIGF0IGxlYXN0IE1JTl9IRUFERVJTIHZhbGlkIGhlYWRlcnMKCSAgYWRkIHR5cGVmaW5kaW5nIGZvciBBQUMgYWR0cyBmaWxlcwoKMjAwNC0wNS0yMSAyMzoyODo1NyArMDAwMCAgU3TDqXBoYW5lIExvZXVpbGxldCA8Z3N0cmVhbWVyQGxlcm91dGllci5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSAgc2Vjb25kIGJhdGNoIDogcmVtb3ZlICcsJyBhdCBlbmQgb2YgZW51bXMgYXMgdGhleSBjb3VsZCBjb25mdXNlIG9sZGVyIGdjYywgZm9yZWlnbiBjb21waWxlcnMgKGZvcnRlKSBhbmQgZ3RrLWRvYyAoaW4gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzZWNvbmQgYmF0Y2ggOgoJICByZW1vdmUgJywnIGF0IGVuZCBvZiBlbnVtcyBhcyB0aGV5IGNvdWxkIGNvbmZ1c2Ugb2xkZXIgZ2NjLCBmb3JlaWduIGNvbXBpbGVycyAoZm9ydGUpIGFuZCBndGstZG9jCgkgIChpbiBnc3QtcGx1Z2lucy9leHQvIHRoaXMgdGltZSkKCjIwMDQtMDMtMTUgMTk6MzI6MjcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrYmluLmM6CgkgIGRvbid0IG1peCB0YWJzIGFuZCBzcGFjZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRvbid0IG1peCB0YWJzIGFuZCBzcGFjZXMKCjIwMDQtMDMtMTUgMTY6MzI6NTQgKzAwMDAgIEpvaGFuIERhaGxpbiA8am9oYW5AZ25vbWUub3JnPgoKCSAgKi5oOiBSZXZlcnQgaW5kZW50aW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqICouaDogUmV2ZXJ0IGluZGVudGluZwoKMjAwNC0wMy0xNCAyMjozNDozMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSogZXh0L2phY2svZ3N0amFja2Jpbi5jOgoJICBnc3QtaW5kZW50CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBnc3QtaW5kZW50CgoyMDA0LTAxLTEyIDAzOjQwOjE4ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgUmVtb3ZlIGFsbCB1c2FnZSBvZiBnc3RfcGFkX2dldF9jYXBzKCksIGFuZCByZXBsYWNlIGl0IHdpdGggZ3N0X3BhZF9nZXRfYWxsb3dlZF9jYXBzKCkgb3IgZ3N0X3BhZF9nZXRfbmVnb3RpYXRlZF9jYXAoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbW92ZSBhbGwgdXNhZ2Ugb2YgZ3N0X3BhZF9nZXRfY2FwcygpLCBhbmQgcmVwbGFjZSBpdCB3aXRoCgkgIGdzdF9wYWRfZ2V0X2FsbG93ZWRfY2FwcygpIG9yIGdzdF9wYWRfZ2V0X25lZ290aWF0ZWRfY2FwKCkuCgoyMDAzLTEyLTIyIDAxOjQ3OjA5ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgTWVyZ2UgQ0FQUyBicmFuY2gKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE1lcmdlIENBUFMgYnJhbmNoCgoyMDAzLTEyLTEzIDE2OjU5OjUxICswMDAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQGdub21lLm9yZz4KCgkqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzoKCSAgcmVtb3ZlZCBHU1RfKl9DQVNULiBEaXNhYmxpbmcgb2YgdHlwZSBjaGVja2luZyBpcyBkb25lIGluIGdsaWIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmVkIEdTVF8qX0NBU1QuIERpc2FibGluZyBvZiB0eXBlIGNoZWNraW5nIGlzIGRvbmUgaW4gZ2xpYi4KCjIwMDMtMTItMDQgMTA6Mzc6MzggKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgcmVtb3ZlIGNvcHlyaWdodCBmaWVsZCBmcm9tIHBsdWdpbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZSBjb3B5cmlnaHQgZmllbGQgZnJvbSBwbHVnaW5zCgoyMDAzLTExLTA3IDEyOjQ3OjAyICswMDAwICBSb25hbGQgUy4gQnVsdGplIDxyYnVsdGplQHJvbmFsZC5iaXRmcmVhay5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrYmluLmM6CgkgIFJlbW92ZSBhbGwgY29uZmlnLmggaW5jbHVkZXMgZnJvbSBoZWFkZXIgZmlsZXMsIGFkZCBpdCB0byBlYWNoIHNvdXJjZSBmaWxlIGFuZCByZW1vdmUgZHVwbGljYXRlIGNvbmZpZy5oIGluY2x1ZGVzIGZyby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVtb3ZlIGFsbCBjb25maWcuaCBpbmNsdWRlcyBmcm9tIGhlYWRlciBmaWxlcywgYWRkIGl0IHRvIGVhY2ggc291cmNlIGZpbGUgYW5kIHJlbW92ZSBkdXBsaWNhdGUgY29uZmlnLmggaW5jbHVkZXMgZnJvbSBzZXZlcmFsIHNvdXJjZSBmaWxlcwoKMjAwMy0xMS0wMSAyMzo0MzoxMyArMDAwMCAgSWFpbiBIb2xtZXMgPGlhaW5AcHJldHR5cGVvcGxlLm9yZz4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgSmFjayBmaXhlZCB0b28KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEphY2sgZml4ZWQgdG9vCgoyMDAzLTEwLTI5IDAzOjE1OjU1ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSAgY2hhbmdlIGdzdC9ieXRlc3RyZWFtLmggdG8gZ3N0L2J5dGVzdHJlYW0vYnl0ZXN0cmVhbS5oCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjaGFuZ2UgZ3N0L2J5dGVzdHJlYW0uaCB0byBnc3QvYnl0ZXN0cmVhbS9ieXRlc3RyZWFtLmgKCjIwMDMtMTAtMjggMjA6NTI6NDEgKzAwMDAgIEJlbmphbWluIE90dGUgPG90dGVAZ25vbWUub3JnPgoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJICBtZXJnZSBUWVBFRklORCBicmFuY2guIE1ham9yIGNoYW5nZXM6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtZXJnZSBUWVBFRklORCBicmFuY2guIE1ham9yIGNoYW5nZXM6CgkgIC0gdG90YWxseSByZXdvcmtlZCB0eXBlKGZpbmQpIHN5c3RlbQoJICAtIGFsbCB0eXBlZmluZCBmdW5jdGlvbnMgYXJlIGluIGdzdC90eXBlZmluZCBub3cKCSAgLSBtb3JlIHR5cGVmaW5kIGZ1bmN0aW9ucyB0aGVuIGJlZm9yZQoJICAtIHNvbWUgcGx1Z2lucyBtaWdodCBmYWlsIHRvIGNvbXBpbGUgbm93IGJlY2F1c2UgSSBkb24ndCBoYXZlIHRoZW0gaW5zdGFsbGVkIGFuZCB0aGV5CgkgIGEpIHJlcXVpcmUgYnl0ZXN0cmVhbSBvcgoJICBiKSBoYXZlbid0IGhhZCB0aGVpciB0eXBlZmluZCBmaXhlZC4KCSAgUGxlYXNlIGZpeCB0aG9zZSBwbHVnaW5zIGFuZCBwdXQgdGhlIHR5cGVmaW5kIGZ1bmN0aW9ucyBpbnRvIGdzdC90eXBlZmluZCBpZiB0aGV5IGRvbid0IGhhdmUgZGVwZW5kZW5jaWVzCgoyMDAzLTEwLTA4IDE2OjA4OjE5ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIC9Hc3RCdWZmZXIvR3N0RGF0YS8gaW4gdGhlIEFQSSB3aGVyZSB5b3UgY2FuIHBhc3MgZXZlbnRzLiBGaXggdGhlIHBsdWdpbnMgdG8gZGVhbCB3aXRoIHRoYXQuIEZpeGVzICMxMTM0ODguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAvR3N0QnVmZmVyL0dzdERhdGEvIGluIHRoZSBBUEkgd2hlcmUgeW91IGNhbiBwYXNzIGV2ZW50cy4gRml4IHRoZSBwbHVnaW5zIHRvIGRlYWwgd2l0aCB0aGF0LiBGaXhlcyAjMTEzNDg4LgoKMjAwMy0xMC0wMSAxMzoxNDo1MCArMDAwMCAgUm9uYWxkIFMuIEJ1bHRqZSA8cmJ1bHRqZUByb25hbGQuYml0ZnJlYWsubmV0PgoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJICBOZXcgdHlwZWZpbmQgc3lzdGVtOiBieXRlc3RyZWFtIGlzIG5vdyBwYXJ0IG9mIHRoZSBjb3JlIGFsbCBwbHVnaW5zIGhhdmUgYmVlbiBtb2RpZmllZCB0byB1c2UgdGhpcyBuZXcgdHlwZWZpbmQgc3lzdGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE5ldyB0eXBlZmluZCBzeXN0ZW06CgkgICogYnl0ZXN0cmVhbSBpcyBub3cgcGFydCBvZiB0aGUgY29yZQoJICAqIGFsbCBwbHVnaW5zIGhhdmUgYmVlbiBtb2RpZmllZCB0byB1c2UgdGhpcyBuZXcgdHlwZWZpbmQgc3lzdGVtCgkgICogYXNmIHR5cGVmaW5kaW5nIGFkZGVkCgkgICogbXBlZyB2aWRlbyBzdHJlYW0gdHlwZWZpZGluZyByZW1vdmVkIGJlY2F1c2UgaXQncyBicm9rZW4KCSAgKiBkdXBsaWNhdGUgdHlwZWZpbmQgZW50cmllcyByZW1vdmVkCgkgICogZXh0cmEgaWQzIHR5cGVmaW5kaW5nIGFkZGVkLCBiZWNhdXNlIHdlJ3ZlIHNlZW4gNCB0eXBlcyBvZiBmaWxlcwoJICAocmlmZi93YXYsIGZsYWMsIHZvcmJpcywgbXAzKSB3aXRoIGlkMyBoZWFkZXJzIGFuZCBlYWNoIG9mIHRoZXNlIG5lZWRzCgkgIHRvIHdvcmsuIEluc3RlYWQsIEkndmUgYWRkZWQgYW4gaWQzIGVsZW1lbnQgYW5kIGxldCBpdCByZWRvIHR5cGVmaWRpbmcKCSAgYWZ0ZXIgdGhlIGlkMyBoZWFkZXIuIHRoaXMgbmVlZHMgYSBoYWNrIGJlY2F1c2Ugc3BpZGVyIG9ubHkgdHlwZWZpbmRzCgkgIG9uY2UuIFdlIGNhbiByZW1vdmUgdGhpcyBoYWNrIG9uY2Ugc3BpZGVyIHN1cHBvcnRzIG11bHRpcGxlIHR5cGVmaW5kcy4KCSAgKiB3aXRoIGFsbCB0aGlzLCBtcDMgdHlwZWZpbmRpbmcgaXMgc2VtaS1yZXdyaXR0ZW4KCSAgKiBpZDMgdHlwZWZpbmRpbmcgaW4gZmxhYy92b3JiaXMgaXMgcmVtb3ZlZCwgaXQncyBubyBsb25nZXIgbmVlZGVkCgkgICogZml4ZWQgc3BpZGVyIGFuZCBnc3QtdHlwZWZpbmQgdG8gdXNlIHRoaXMsIHRvby4KCSAgKiBPdGhlciBnZW5lcmFsIGNsZWFudXBzCgoyMDAzLTA5LTMwIDEyOjU2OjI3ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSogZXh0L2phY2svZ3N0amFja2Jpbi5jOgoJICBjb25mb3JtIHRvIHRoZSBidWZmZXItZnJhbWVzIHByb3BzIGVudHJ5IC0tIG11Y2ggbmljZXIgbm93Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjb25mb3JtIHRvIHRoZSBidWZmZXItZnJhbWVzIHByb3BzIGVudHJ5IC0tIG11Y2ggbmljZXIgbm93Li4uCgoyMDAzLTA4LTEwIDAwOjAxOjU4ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJICBSZW1vdmUgcmVkdW5kYW50IHBsdWdpbmRpciBkZWZpbml0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZW1vdmUgcmVkdW5kYW50IHBsdWdpbmRpciBkZWZpbml0aW9uCgoyMDAzLTA3LTE5IDIzOjI1OjI1ICswMDAwICBMZWlmIEpvaG5zb24gPGxlaWZAYW1iaWVudC4yeS5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSAgKyBjaGFuZ2VzIGZvciBuZXcgZmxvYXQgY2FwcyB3aXRob3V0IHNsb3BlL2ludGVyY2VwdCArIHNvbWUgY2F0ZWdvcnkgY2hhbmdlcyBmb3IgcGx1Z2lucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKyBjaGFuZ2VzIGZvciBuZXcgZmxvYXQgY2FwcyB3aXRob3V0IHNsb3BlL2ludGVyY2VwdAoJICArIHNvbWUgY2F0ZWdvcnkgY2hhbmdlcyBmb3IgcGx1Z2lucwoKMjAwMy0wNy0wNiAyMDo0OTo1MiArMDAwMCAgUm9uYWxkIFMuIEJ1bHRqZSA8cmJ1bHRqZUByb25hbGQuYml0ZnJlYWsubmV0PgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJICBOZXcgbWltZXR5cGVzIGdvbmUgaW50byBlZmZlY3QgdG9kYXkgLSB0aGlzIGNvbW1pdCBjaGFuZ2VzIGFsbCBvbGQgbWltZXR5cGVzIG92ZXIgdG8gdGhlIG5ldyBtaW1ldHlwZXMgc3BlYyBhcyBkZXNjcmkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE5ldyBtaW1ldHlwZXMgZ29uZSBpbnRvIGVmZmVjdCB0b2RheSAtIHRoaXMgY29tbWl0IGNoYW5nZXMgYWxsIG9sZCBtaW1ldHlwZXMgb3ZlciB0byB0aGUgbmV3IG1pbWV0eXBlcyBzcGVjIGFzIGRlc2NyaWJlZCBpbiB0aGUgcHJldmlvdXMgY29tbWl0J3MgZG9jdW1lbnQuIE5vdGU6IHNvbWUgcGx1Z2lucyB3aWxsIGJyZWFrLCBzb21lIHBpcGVsaW5lcyB3aWxsIGJyZWFrLCBleHBlY3QgSEVBRCB0byBiZSBicm9rZW4gb3IgYXQgbGVhc3Qgbm90IDEwMCUgd29ya2luZyBmb3IgYSBmZXcgZGF5cywgYnV0IGRvbid0IGZvcmdldCB0byByZXBvcnQgYnVncwoKMjAwMy0wNy0wMSAwMjoyNzowNiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIGZpeCB0eXBlIHB1bm5pbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCB0eXBlIHB1bm5pbmcKCjIwMDMtMDYtMjkgMTk6NDY6MTMgKzAwMDAgIEJlbmphbWluIE90dGUgPG90dGVAZ25vbWUub3JnPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrYmluLmM6CgkgIGNvbXBhdGliaWxpdHkgZml4IGZvciBuZXcgR1NUX0RFQlVHIHN0dWZmLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY29tcGF0aWJpbGl0eSBmaXggZm9yIG5ldyBHU1RfREVCVUcgc3R1ZmYuCgkgIEluY2x1ZGVzIGZpeGVzIGZvciBtaXNzaW5nIGluY2x1ZGVzIGZvciBjb25maWcuaCBhbmQgdW5pc3RkLmgKCSAgSSBvbmx5IGVuc3VyZWQgZm9yIHBsdWdpbnMgSSBjYW4gYnVpbGQgdGhhdCB0aGV5IHdvcmssIHNvIGlmIHNvbWUgb2YgdGhlbSBhcmUgc3RpbGwgYnJva2VuLCB5b3UgZ290dGEgZml4IHRoZW0geW91cnNlbHZlcyB1bmZvcnR1bmF0ZWx5LgoKMjAwMy0wNi0xMyAyMToyMToxNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgUmVtb3ZlZCB1Z2x5IGNhcHMgZml4ZWQgZmxhZyBoYWNrLCB3aWxsIGJlIGRvbmUgYXV0b21hdGljYWxseSBpbiBjb3JlIHNvb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbW92ZWQgdWdseSBjYXBzIGZpeGVkIGZsYWcgaGFjaywgd2lsbCBiZSBkb25lIGF1dG9tYXRpY2FsbHkgaW4KCSAgY29yZSBzb29uCgoyMDAzLTAzLTA0IDE1OjM0OjIwICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSogZXh0L2phY2svZ3N0amFja2Jpbi5jOgoJICB1cGRhdGUgZm9yIHRoZSBsYXRlc3QgamFjayBjdnMgYW5kIG5vbi1jb3RocmVhZGVkIGdzdCBzY2hlZHVsZXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBmb3IgdGhlIGxhdGVzdCBqYWNrIGN2cyBhbmQgbm9uLWNvdGhyZWFkZWQgZ3N0IHNjaGVkdWxlcgoKMjAwMy0wMi0wNSAyMDozODo0MSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIENoYW5nZWQgY2Fwcy0+Zml4ZWQgdG8gdXNlIEZMQUdfU0VUCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDaGFuZ2VkIGNhcHMtPmZpeGVkIHRvIHVzZSBGTEFHX1NFVAoKMjAwMy0wMS0xMCAxMzozODozMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIFBhZENvbm5lY3QgLT4gUGFkTGluawoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGFkQ29ubmVjdCAtPiBQYWRMaW5rCgoyMDAzLTAxLTEwIDEwOjIyOjI1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgYW5vdGhlciBiYXRjaCBvZiBjb25uZWN0LT5saW5rIGZpeGVzIHBsZWFzZSBsZXQgbWUga25vdyBhYm91dCBpc3N1ZXMgYW5kIHBsZWFzZSByZWZyYWluIG9mIG1ha2luZyB0aGVtIHlvdXJzZWxmLCBzbyB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhbm90aGVyIGJhdGNoIG9mIGNvbm5lY3QtPmxpbmsgZml4ZXMKCSAgcGxlYXNlIGxldCBtZSBrbm93IGFib3V0IGlzc3VlcwoJICBhbmQgcGxlYXNlIHJlZnJhaW4gb2YgbWFraW5nIHRoZW0geW91cnNlbGYsIHNvIHRoYXQgSSBkb24ndCBzcGVuZCBkb3VibGUKCSAgdGhlIHRpbWUgcmVzb2x2aW5nIGNvbmZsaWN0cwoKMjAwMi0xMi0wOCAxNDo1MDoxMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSAgcGFyYWxsZWwgaW5zdGFsbCBmaXhlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGFyYWxsZWwgaW5zdGFsbCBmaXhlcwoKMjAwMi0wOS0yOSAxODoxMjoxOCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrYmluLmM6CgkgIGxpY2Vuc2VzIGFnYWluCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBsaWNlbnNlcyBhZ2FpbgoKMjAwMi0wOS0xOCAxOTowMjo1MiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJICBwbHVnaW5zIHBhcnQgb2YgbGljZW5zZSBmaWVsZCBwYXRjaAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGx1Z2lucyBwYXJ0IG9mIGxpY2Vuc2UgZmllbGQgcGF0Y2gKCjIwMDItMDktMTAgMDk6MzE6NDAgKzAwMDAgIFJvbmFsZCBTLiBCdWx0amUgPHJidWx0amVAcm9uYWxkLmJpdGZyZWFrLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgVGhpcyB1cGRhdGVzIGFsbCBwbHVnaW5zIHRvIHRoZSBuZXcgQVBJIGZvciBnc3RfcGFkX3RyeV9zZXRfY2FwcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVGhpcyB1cGRhdGVzIGFsbCBwbHVnaW5zIHRvIHRoZSBuZXcgQVBJIGZvciBnc3RfcGFkX3RyeV9zZXRfY2FwcwoKMjAwMi0wOS0wOSAyMzoyNzozOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIHJlbW92aW5nIHdhcm5pbmdzIGFzIGFwcHJvdmVkIGJ5IHdpbQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3Zpbmcgd2FybmluZ3MgYXMgYXBwcm92ZWQgYnkgd2ltCgoyMDAyLTA4LTIzIDA0OjA0OjExICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzoKCSAgZml4IGphY2sgaW5wdXQgcG9ydCBjb25uZWN0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggamFjayBpbnB1dCBwb3J0IGNvbm5lY3Rpb24KCjIwMDItMDctMDkgMTc6Mzk6MTcgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgY29tcGlsZSBmaXhlbiwgYW5kIHByZXBhcmUgdG8gbW92ZSBNQUlOVEFJTkVSX01PREUgdG8gYXMtdmVyc2lvbi5tNAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY29tcGlsZSBmaXhlbiwgYW5kIHByZXBhcmUgdG8gbW92ZSBNQUlOVEFJTkVSX01PREUgdG8gYXMtdmVyc2lvbi5tNAoKMjAwMi0wNy0wMiAyMzozNTowNyArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrYmluLmM6CgkgIG1ha2UgamFjayB3b3JrIGluIGFsbCBpdHMgZnVsbCBkdXBsZXggZ2xvcnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG1ha2UgamFjayB3b3JrIGluIGFsbCBpdHMgZnVsbCBkdXBsZXggZ2xvcnkKCjIwMDItMDYtMTIgMDM6MzI6MDIgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFja2Jpbi5jOgoJICB3b3JraW5nIGphY2sgZWxlbWVudHMgKGZpeGVkIGEgcHJvYmxlbSBpbiB1cHN0cmVhbSBqYWNrKSByYW5kb20gb3RoZXIgZml4ZW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogd29ya2luZyBqYWNrIGVsZW1lbnRzIChmaXhlZCBhIHByb2JsZW0gaW4gdXBzdHJlYW0gamFjaykKCSAgKiByYW5kb20gb3RoZXIgZml4ZW4uLi4KCjIwMDItMDUtMTUgMTk6MDg6NDkgKzAwMDAgIFN0ZXZlIEJha2VyIDxzdGV2ZUBzdGV2ZWJha2VyLm9yZz4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgdXNlIG5ldyBieXRlc3RyZWFtIGFwaQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXNlIG5ldyBieXRlc3RyZWFtIGFwaQoKMjAwMi0wNS0xMyAxODowODozMyArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzoKCSAgdXBkYXRlIHRvIG5ldyBqYWNrIGFwaQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHRvIG5ldyBqYWNrIGFwaQoKMjAwMi0wNS0wNSAxOTozOToxNyArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJICBhZGQgc29tZSBpbmNsdWRlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIHNvbWUgaW5jbHVkZXMKCjIwMDItMDUtMDUgMDE6MDg6MDUgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJKiBleHQvamFjay9nc3RqYWNrYmluLmM6CgkgIGJldHRlciBpbml0aWFsaXphdGlvbi4gaXQgZG9lc24ndCB3b3JrIG92ZXIgaGVyZSwgdGhvdWdoLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYmV0dGVyIGluaXRpYWxpemF0aW9uLiBpdCBkb2Vzbid0IHdvcmsgb3ZlciBoZXJlLCB0aG91Z2guCgoyMDAyLTA1LTA0IDIxOjM4OjU2ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrYmluLmM6CgkgIGEgY29tbWl0IHNvIHRoYXQgamFjayB3aWxsIGJ1aWxkIHdpdGhvdXQgZXJyb3JzIG9uIFVyYWV1cydzIHN5c3RlbSA7KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYSBjb21taXQgc28gdGhhdCBqYWNrIHdpbGwgYnVpbGQgd2l0aG91dCBlcnJvcnMgb24gVXJhZXVzJ3Mgc3lzdGVtIDspCgoyMDAyLTA1LTA0IDIwOjUzOjM1ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIHNldCBjYXBzIG9uY2Ugd2Uga25vdyB0aGUgc2FtcGxlIHJhdGUgb2YgdGhlIHN5c3RlbQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgc2V0IGNhcHMgb25jZSB3ZSBrbm93IHRoZSBzYW1wbGUgcmF0ZSBvZiB0aGUgc3lzdGVtCgoyMDAyLTA1LTA0IDE4OjU3OjQ0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSogZXh0L2phY2svZ3N0amFja2Jpbi5jOgoJICBzb21lIGphY2sgZml4ZXMsIGFsc2EgdG91Y2h1cHMsIGFuZCBhZGQgcnRwIGJ5IGRlZmF1bHQgdG8gdGhlIGJ1aWxkIGlmIHRoZXJlIGFyZSBhbnkgcHJvYmxlbXMgYnVpbGRpbmcgcnRwLCB3ZSdyZSBtb3YuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHNvbWUgamFjayBmaXhlcywgYWxzYSB0b3VjaHVwcywgYW5kIGFkZCBydHAgYnkgZGVmYXVsdCB0byB0aGUgYnVpbGQKCSAgaWYgdGhlcmUgYXJlIGFueSBwcm9ibGVtcyBidWlsZGluZyBydHAsIHdlJ3JlIG1vdmluZyBpdCBiYWNrIHRvIGV4cGVyaW1lbnRhbCA7KQoKMjAwMi0wNC0yMCAyMTo0Mjo1MSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJICBhIGhhY2sgdG8gd29yayBhcm91bmQgaW50bHRvb2wncyBicm9rZW5uZXNzIGEgY3VycmVudCBjaGVjayBmb3IgbXBlZzJkZWMgZGV0YWlscy0+a2xhc3MgcmVvcmdhbml6YXRpb25zIGFuIGVsZW1lbnQgYnIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogYSBoYWNrIHRvIHdvcmsgYXJvdW5kIGludGx0b29sJ3MgYnJva2VubmVzcwoJICAqIGEgY3VycmVudCBjaGVjayBmb3IgbXBlZzJkZWMKCSAgKiBkZXRhaWxzLT5rbGFzcyByZW9yZ2FuaXphdGlvbnMKCSAgKiBhbiBlbGVtZW50IGJyb3dzZXIgdGhhdCB1c2VzIGRldGFpbHMtPmtsYXNzCgkgICogc2VwYXJhdGVkIGNkeGEgcGFyc2Ugb3V0IGZyb20gdGhlIGF2aSBkaXJlY3RvcnkKCjIwMDItMDQtMTYgMTc6MTQ6MDUgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSogZXh0L2phY2svZ3N0amFja2Jpbi5jOgoJICBGaW5hbGx5IHdlJ3JlIG9uIHRvIGEgcHJvcGVyIGphY2sgc2V0dXAsIHdpdGggYSBzcGVjaWFsaXplZCBiaW4gYW5kIGVsZW1lbnRzIHRoYXQgY2FuIG9ubHkgZ28gaW4gYSBqYWNrIGJpbi4gSSBoYWQgdG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpbmFsbHkgd2UncmUgb24gdG8gYSBwcm9wZXIgamFjayBzZXR1cCwgd2l0aCBhIHNwZWNpYWxpemVkIGJpbiBhbmQgZWxlbWVudHMKCSAgdGhhdCBjYW4gb25seSBnbyBpbiBhIGphY2sgYmluLiBJIGhhZCB0byBmaXggdGhlIHBhcnNlciBmaXJzdCB0byBkbyB0aGlzLCBidXQKCSAgdG8gcnVuIGl0LCB0aGUgc3ludGF4IGlzIGxpa2Ugc286CgkgIGdzdC1sYXVuY2ggamFja2Jpbi4oIGZpbGVzcmMgISBtYWQgISBqYWNrc2luayApCgkgIEJ1dCBvZiBjb3Vyc2UgaXQncyBub3QgZnVsbHkgZnVuY3Rpb25hbCB5ZXQuIFNpZ2guCgoyMDAyLTA0LTExIDIwOjQyOjI2ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIEdzdFBhZFRlbXBsYXRlIDwtPiBnc3RfcGFkX3RlbXBsYXRlIDwtPiBHU1RfUEFEX1RFTVBMQVRFIHNhbWUgd2l0aCAqZmFjdG9yeSBhbmQgdHlwZWZpbmQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBHc3RQYWRUZW1wbGF0ZSA8LT4gZ3N0X3BhZF90ZW1wbGF0ZSA8LT4gR1NUX1BBRF9URU1QTEFURQoJICBzYW1lIHdpdGggKmZhY3RvcnkgYW5kIHR5cGVmaW5kLgoJICBhbHNvLCBzb21lIC1XZXJyb3IgZml4ZXMuCgoyMDAyLTAzLTMwIDIxOjA3OjUxICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIGFscGhhYmV0aXphdGlvbiBmaXhlbiBhIGphY2sgY2FwcyBmaXgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogYWxwaGFiZXRpemF0aW9uIGZpeGVuCgkgICogYSBqYWNrIGNhcHMgZml4CgoyMDAyLTAzLTMwIDE5OjMxOjEzICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIGFkZCBub3RpZnkgYmFjayB0byBmaWxlc3JjLCBpdCdzIG5lZWRlZCBmb3IgTVZDIGFwcGxpY2F0aW9ucyByZW1vdmUgbm90aWZ5IHByaW50b3V0cyBmcm9tIGdzdC1sYXVuY2ggY2xlYW51cCBpbiBnc3QtcC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBhZGQgbm90aWZ5IGJhY2sgdG8gZmlsZXNyYywgaXQncyBuZWVkZWQgZm9yIE1WQyBhcHBsaWNhdGlvbnMKCSAgKiByZW1vdmUgbm90aWZ5IHByaW50b3V0cyBmcm9tIGdzdC1sYXVuY2gKCSAgKiBjbGVhbnVwIGluIGdzdC1wbHVnaW5zIGNvbmZpZ3VyZS5hYwoJICAqIHNvbWUgamFjayB1cGRhdGVzCgkgICogcmVtb3ZlIFNFTEZfSVRFUkFUSU5HIGZsYWcgaW4gZmF2b3Igb2YgU0VGX1NDSEVEVUxBQkxFIChub3QgYSBjbGVhciBuYW1lLAoJICBidXQgaXQncyB3aGF0IHdlIGhhdmUgZm9yIHRoZSBtb21lbnQpCgkgICogaW1wcm92ZSBwYXJzaW5nIG9mIHJlcXVlc3QgcGFkIG5hbWVzLCBubyBtb3JlIHNzY2FuZgoJICAqIGZpeGVzIHRvIHRoZSBmYXN0c2NoZWR1bGVyIE1ha2VmaWxlLmFtCgoyMDAyLTAzLTIwIDIxOjQ1OjA0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIHMvR25vbWUtU3RyZWFtZXIvR1N0cmVhbWVyLwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcy9Hbm9tZS1TdHJlYW1lci9HU3RyZWFtZXIvCgoyMDAyLTAzLTE5IDA0OjEwOjA2ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSogZXh0L2phY2svZ3N0amFjay5jOgoJICByZW1vdmFsIG9mIC8vLXN0eWxlIGNvbW1lbnRzIGRvbid0IGxpbmsgcGx1Z2lucyB0byBjb3JlIGxpYnMgLS0gdGhlIHZlcnNpb25pbmcgaXMgZG9uZSBpbnRlcm5hbGx5IHRvIHRoZSBwbHVnaW5zIHdpdGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcmVtb3ZhbCBvZiAvLy1zdHlsZSBjb21tZW50cwoJICAqIGRvbid0IGxpbmsgcGx1Z2lucyB0byBjb3JlIGxpYnMgLS0gdGhlIHZlcnNpb25pbmcgaXMgZG9uZSBpbnRlcm5hbGx5IHRvIHRoZSBwbHVnaW5zIHdpdGggdGhlIHBsdWdpbl9pbmZvIHN0cnVjdCwKCSAgYW5kIHN5bWJvbCByZXNvbHV0aW9uIGlzIGxhenksIHNvIHdlIGNhbiBhbHdheXMga25vdyBpZiBhIHBsdWdpbiBjYW4gYmUgbG9hZGVkIGJ5IHRoZSBwbHVnaW5faW5mbyBkYXRhLiBpbiB0aGVvcnkuCgoyMDAyLTAzLTE5IDAxOjM5OjQzICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSAgcy9AR1NUX1BMVUdJTl9MREZMQUdTQC8kKEdTVF9QTFVHSU5fTERGTEFHUykvIEAtc3Vic3RpdHVlZCB2YXJpYWJsZXMgdmFyaWFibGVzIGFyZSBkZWZpbmVkIGFzIG1ha2UgdmFyaWFibGVzIGF1dG9tYWdpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzL0BHU1RfUExVR0lOX0xERkxBR1NALyQoR1NUX1BMVUdJTl9MREZMQUdTKS8KCSAgQC1zdWJzdGl0dWVkIHZhcmlhYmxlcyB2YXJpYWJsZXMgYXJlIGRlZmluZWQgYXMgbWFrZSB2YXJpYWJsZXMgYXV0b21hZ2ljYWxseSwKCSAgYW5kIHRoaXMgZ2l2ZXMgdGhlIHVzZXIgdGhlIGZyZWVkb20gdG8gc2F5IG1ha2UgR1NUX1BMVUdJTl9MREZMQUdTPS1teWZsYWcKCjIwMDItMDMtMTggMDQ6NDE6MzUgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJKiBleHQvamFjay9SRUFETUU6CgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJICBzL2dzdF9lbGVtZW50X2luc3RhbGxfc3RkX3Byb3BzL2dzdF9lbGVtZW50X2NsYXNzX2luc3RhbGxfc3RkX3Byb3BzLyAtLSBpdCBqdXN0IG1ha2VzIG1vcmUgc2Vuc2UgdGhhdCB3YXkgYWRkZWQgamFjayAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcy9nc3RfZWxlbWVudF9pbnN0YWxsX3N0ZF9wcm9wcy9nc3RfZWxlbWVudF9jbGFzc19pbnN0YWxsX3N0ZF9wcm9wcy8gLS0gaXQganVzdCBtYWtlcyBtb3JlIHNlbnNlIHRoYXQgd2F5CgkgICogYWRkZWQgamFjayBlbGVtZW50LCBkb2Vzbid0IHF1aXRlIHdvcmsgcmlnaHQgeWV0IGJ1dCBpIGRpZG4ndCB3YW50IHRvIGxvc2UgdGhlIHdvcmsgLS0gaXQgZG9lcyBidWlsZCwgcmVnaXN0ZXIsCgkgIGFuZCBhdHRlbXB0IHRvIHJ1biB0aG91Z2gKCSAgKiBpbXBvc2VkIHNvbWUgcmVzdHJpY3Rpb25zIG9uIHRoZSBuYW1pbmcgb2YgcmVxdWVzdCBwYWRzIHRvIGJldHRlciBhbGxvdyBmb3IgcmV2ZXJzZSBwYXJzaW5nCgkgICogYWRkZWQgJyVzJyB0byByZXZlcnNlIHBhcnNpbmcKCSAgKiBhZGRlZCBuZXcgYmluIGZsYWcgdG8gaW5kaWNhdGUgdGhhdCBpdCBpcyBzZWxmLWl0ZXJhdGluZywgYW5kIHNvbWUgbGFtZSBjb2RlIGluIGdzdC1sYXVuY2ggdG8gdGVzdCBpdCBvdXQKCSAgKiBmaXhlbiBvbiBsYXVuY2gtZ3VpCgkgICogYWRkZWQgcGtnLWNvbmZpZyBzdHVmZiBmb3IgdGhlIGVkaXRvcidzIGxpYnMKCjIwMTEtMDEtMDIgMTE6Mzc6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBtYXJrIHY0bDJzaW5rIGFzIGV4cGVyaW1lbnRhbCBhbmQgYnVpbGQgb25seSBpZiAtLWVuYWJsZS1leHBlcmltZW50YWwgaXMgcGFzc2VkCgkgIEl0J3Mgbm90IHJlYWxseSBvZiAnZ29vZCcgcXVhbGl0eSB5ZXQsIGJ1dCB0aGVyZSdzIGEgbG90IG9mCgkgIGNvZGUgc2hhcmVkIHdpdGggdjRsMnNyYywgc28gbm90IHNvIGVhc3kgdG8gbW92ZSBpdCBlbHN3aGVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMjI0NAoKMjAxMS0wMS0wMiAwMToyNDoyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIFJldmVydCAidjRsMjogYWRkIG5vcm0gcHJvcGVydHkiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgOWUxZDQxOWQwNzMzN2U2ZGIyY2MzOTM2NDcyYmUyMDVjZTkyN2U1NC4KCSAgUmV2ZXJ0aW5nIHRoaXMgc2luY2UgaXQgYWRkcyB1bnJldmlld2VkIGFuZCBiYWQgQVBJIHRvIHY0bDJzcmMKCSAgKHByb3BlcnR5IG9mIHR5cGUgZW51bSwgd2l0aCBzZWVtaW5nbHkgcmFuZG9tIGFuZCB1bnNvcnRlZCB2YWx1ZXMpLgoKMjAxMS0wMS0wMSAyMzoyNjozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0b29scy8uZ2l0aWdub3JlOgoJKiB0b29scy9NYWtlZmlsZS5hbToKCSogdG9vbHMvUkVBRE1FLmZpbHRlcnN0YW1wOgoJKiB0b29scy9maWx0ZXJzdGFtcC5zaDoKCSogdG9vbHMvZ3N0LWxhdW5jaC1leHQtbS5tOgoJKiB0b29scy9nc3QtbGF1bmNoLWV4dC4xLmluOgoJKiB0b29scy9nc3QtdmlzdWFsaXNlLW0ubToKCSogdG9vbHMvZ3N0LXZpc3VhbGlzZS4xLmluOgoJICB0b29sczogcmVtb3ZlIHVudXNlZCBsZWZ0LW92ZXIgZGlyZWN0b3J5CgkgIFRoZXNlIGFyZSBhbGwgaW4gLWJhc2UvdG9vbHMuCgoyMDEwLTEyLTMxIDEzOjU3OjA1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuaDoKCSAgbXA0YWRlcGF5OiBpbXByb3ZlIHRpbWVzdGFtcHMgb24gb3V0Z29pbmcgcGFja2V0cwoJICBJbXByb3ZlIHBhcnNpbmcgb2YgdGhlIHNhbXBsZXJhdGUuCgkgIFBhcnNlIHRoZSBmcmFtZWxlbiBzbyB0aGF0IHdlIGNhbiBjYWxjdWxhdGUgdGltZXN0YW1wcy4KCSAgV2hlbiBpbnRlcnBvbGxhdGUgdGhlIGluY29tbWluZyB0aW1lc3RhbXAgb24gb3V0Z29pbmcgYnVmZmVycyB3aGVuIHRoZXJlIGFyZQoJICBtdWx0aXBsZSBzdWJmcmFtZXMuCgkgIGZpeGVzICM2MjU4MjUKCjIwMTAtMTItMzEgMDA6MTI6NTMgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuYzoKCSAgZHRtZjogRml4IGJ1aWxkIGZhaWx1cmUgY2F1c2VkIGJ5IHByZXZpb3VzIGNvbW1pdAoKMjAxMC0xMi0zMCAxODoyMDo0NyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL3RvbmVfZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL3RvbmVfZGV0ZWN0Lmg6CgkgIGR0bWY6IGJ1aWxkIGZpeGVzIGZvciBNU1ZDCgkgIFVzZSBnaW50MTYgYW5kIEdfUEkuCgoyMDEwLTEyLTMwIDE4OjE5OjQ3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kdG1mL3RvbmVfZGV0ZWN0LmM6CgkgIGR0bWY6IHJlaW5kZW50CgoyMDEwLTEyLTMxIDAyOjE2OjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIGNhaXJvLCB2aWRlb2ZpbHRlcjogdXNlIGdzdC9tYXRoLWNvbXBhdC5oIGhlYWRlciBmb3IgcmludAoKMjAxMC0xMi0zMCAxNDozMDoyNyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIHZpZGVvYmFsYW5jZTogQ2hlY2sgZm9yIEhBVkVfUklOVCBpbnN0ZWFkCgkgIEFsc28gY2hhbmdlIE1fUEkgdG8gR19QSSBmb3IgZ2lnZ2xlcy4KCjIwMTAtMTItMzAgMTQ6MjE6MzcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NhaXJvL2dzdGNhaXJvcmVuZGVyLmM6CgkgIGNhaXJvOiBEb24ndCB1c2UgI2lmZGVmcyBpbnNpZGUgbWFjcm9zCgoyMDEwLTEyLTMwIDE0OjIwOjUyIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9rYXJhb2tlLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOgoJKiBnc3QvZWZmZWN0di9nc3RvcC5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJKiBnc3QvZ29vbS9jb252b2x2ZV9meC5jOgoJKiBnc3QvZ29vbS9pZnMuYzoKCSogZ3N0L2dvb20vbGluZXMuYzoKCSogZ3N0L2dvb20vdGVudGFjbGUzZC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9hdWRpb2Z4L2ZpcmZpbHRlci1leGFtcGxlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2F1ZGlvZngvaWlyZmlsdGVyLWV4YW1wbGUuYzoKCSAgQ2hhbmdlIE1fUEkgdG8gR19QSQoKMjAxMC0xMi0zMCAxMjowNzo1MiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIHZpZGVvYmFsYW5jZTogdXNlIEdfT1NfV0lOMzIgZm9yIHdpbmRvd3MgY2hlY2sKCjIwMTAtMTItMzAgMTY6MjQ6MTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJICBtcDRhZGVwYXk6IGZpeCB0aW1lc3RhbXBzIG9uIGJ1ZmZlcnMKCjIwMTAtMTItMzAgMTY6MjI6NDggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJICBtcHZwYXk6IGZpeCBmbHVzaGluZyBhbmQgZGlzY29udAoJICBGaXggZmx1c2hpbmcgYW5kIGRpc2NvbnRzLgoJICBDbGVhbiB1cCBpbiBzdGF0ZSBjaGFuZ2VzLgoKMjAxMC0xMi0yOSAyMzozODoxOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2EtZGVtdXg6IGluY3JlYXNlIGFsbG93ZWQgbWF4LiBibG9jayBzaXplIGZvciBwdXNoIG1vZGUgZnJvbSAxME0gdG8gMTVNCgkgIEl0IHdhcyBhbiBhcmJpdHJhcnkgbGltaXQgZnJvbSB0aGUgc3RhcnQsIG1lYW50IGFzIGEgYmFzaWMgc2FuaXR5IGNoZWNrLAoJICBzbyBtYXkganVzdCBhcyB3ZWxsIGluY3JlYXNlIGl0IGEgbGl0dGxlLiBXb3VsZCBiZSBnb29kIHRvIHByb3ZpZGUKCSAgcHJvZ3Jlc3MgcmVwb3J0aW5nIHdoaWxlIGNvbXBsZXRpbmcgdGhlIGJsb2NrIGluIGFueSBjYXNlLi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNzA2MAoKMjAxMC0xMi0yOSAyMzowOTowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2EtZGVtdXg6IGFzc3VtZSBtYXRyb3NrYSBpZiBubyBkb2N0eXBlIGlzIHNwZWNpZmllZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM4MDE5CgoyMDEwLTEyLTA0IDEzOjQzOjExIC0wNjAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgdjRsMjogYWRkIGludGVybGFjZWQgc3VwcG9ydAoKMjAxMC0xMC0wMiAxNDo0NToxNCAtMDUwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5oOgoJICB2NGwyc2luazogYWRkIG5hdmlnYXRpb24gc3VwcG9ydAoKMjAxMC0wNC0wNCAwNjo0Mzo0MSAtMDUwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBhZGQgbm9ybSBwcm9wZXJ0eQoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5IEd1ZW5uYWRpIExpYWtob3ZldHNraS4KCjIwMTAtMDctMTMgMTA6MDM6NTEgLTA1MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJICB2NGwyOiBjbGVhbnVwIGdldC9zZXQgaW5wdXQvb3V0cHV0CgkgIG91dHB1dCBkZXZpY2VzIHNob3VsZCB1c2UgZ2V0L3NldCBvdXRwdXQsIGFuZCBpbiBlaXRoZXIgY2FzZSB3ZSBzaG91bGQKCSAgbm90IHByaW50IGEgd2FybmluZyBtZXNzYWdlIGlmIHRoZSBpb2N0bCBmYWlscyBidXQgdGhlIGRldmljZSBkb2VzIG5vdAoJICBjbGFpbSB0byBzdXBwb3J0IHRoZSB0dW5lciBpbnRlcmZhY2UKCjIwMTAtMDYtMTAgMTE6MTU6NDYgLTA1MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuaDoKCSAgdjRsMnhvdmVybGF5OiBhZGQgc3VwcG9ydCB0byBjcmVhdGUgd2luZG93CgkgIElmIHhvdmVybGF5IGlzIGF2YWlsYWJsZSwgdjRsMnNpbmsgc2hvdWxkIGNyZWF0ZSBhIHdpbmRvdyBmb3IgdGhlIG92ZXJsYXkgdG8KCSAgZGlzcGxheSBpbi4KCSAgVGhlIHdpbmRvdyBhdXRvbWF0aWNhbGx5IHRyaWVzIHRvIG1ha2UgaXRzZWxmIGFzIGxhcmdlIGFzIHBvc3NpYmxlLgoJICBUaGlzIHdvcmtzIHdlbGwgb24gYSBzbWFsbCBzY3JlZW4sIGJ1dCBwZXJoYXBzIHNob3VsZCBmaXJzdCBhdHRlbXB0IHRvIHVzZQoJICB0aGUgc2l6ZSBvZiB0aGUgdmlkZW8gdGhhdCBpcyBwbGF5ZWQgKG5vIHNjYWxpbmcpLgoKMjAxMC0wNC0wNCAwNjo0MToyOCAtMDUwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMnNpbms6IHNwZWNpYWwgaGFuZGxpbmcgZm9yIGNhc2VzIGdzdF9idWZmZXJfbWFrZV9tZXRhZGF0YV93cml0YWJsZSgpCgkgIFNwZWNpYWwgY2FzZSBjaGVjayBmb3Igc3ViLWJ1ZmZlcnM6ICBJbiBjZXJ0YWluIGNhc2VzLCBwbGFjZXMgbGlrZQoJICBHc3RCYXNlVHJhbnNmb3JtLCB3aGljaCBtaWdodCBjaGVjayB0aGF0IHRoZSBidWZmZXIgaXMgd3JpdGFibGUgYmVmb3JlIGNvcHlpbmcKCSAgbWV0YWRhdGEsIHRpbWVzdGFtcCwgYW5kIHN1Y2gsIHdpbGwgZmluZCB0aGF0IHRoZSBidWZmZXIgaGFzIG1vcmUgdGhhbiBvbmUKCSAgcmVmZXJlbmNlIHRvIGl0LiAgSW4gdGhlc2UgY2FzZXMsIHRoZXkgd2lsbCBjcmVhdGUgYSBzdWItYnVmZmVyIHdpdGggYW4gb2Zmc2V0PTAKCSAgYW5kIGxlbmd0aCBlcXVhbCB0byB0aGUgb3JpZ2luYWwgYnVmZmVyIHNpemUuCgkgIFRoaXMgY291bGQgaGFwcGVuIGluIHR3byBzY2VuYXJpb3M6ICgxKSBhIHRlZSBpbiB0aGUgcGlwZWxpbmUsIGFuZCAoMikgYmVjYXVzZQoJICB0aGUgcmVmY250IGlzIGluY3JlbWVudGVkIGluIGdzdF9taW5pX29iamVjdF9mcmVlKCkgYmVmb3JlIHRoZSBmaW5hbGl6ZSBmdW5jdGlvbgoJICBpcyBjYWxsZWQsIGFuZCBkZWNyZW1lbnRlZCBhZnRlciBpdCByZXR1cm5zLi4gIGJ1dCByZXR1cm5pbmcgdGhpcyBidWZmZXIgdG8gdGhlCgkgIGJ1ZmZlciBwb29sIGluIHRoZSBmaW5hbGl6ZSBmdW5jdGlvbiwgY291bGQgd2FrZSB1cCBhIHRocmVhZCBibG9ja2VkIGluCgkgIF9idWZmZXJfYWxsb2MoKSB3aGljaCBjb3VsZCBydW4gYW5kIGdldCBhIGJ1ZmZlciB3LyByZWZjbnQ9PTIgYmVmb3JlIHRoZSB0aHJlYWQKCSAgb3JpZ2luYWxseSB1bnJlZidpbmcgdGhlIGJ1ZmZlciByZXR1cm5zIGZyb20gZmluYWxpemUgZnVuY3Rpb24gYW5kIGRlY3JlbWVudHMKCSAgdGhlIHJlZmNudCBiYWNrIHRvIDEhCgkgIFRoaXMgaXMgcmVsYXRlZCB0byBpc3N1ZSAjNTQ1NTAxCgoyMDEwLTA0LTA0IDA2OjM5OjUyIC0wNTAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBmaXggcmFjZSBjb25kaXRpb24KCSAgVGhlIHNpemUgb2YgdGhlIGJ1ZmZlciB3b3VsZCBiZSB6ZXJvJ2Qgb3V0IGluIGdzdF92NGwyX2J1ZmZlcl9maW5hbGl6ZSgpCgkgIGFmdGVyIHRoZSBidWZmZXIgaXMgcWJ1ZidkIG9yIHB1c2hlZCBvbnRvIHRoZSBxdWV1ZSBvZiBhdmFpbGFibGUgYnVmZmVycy4uCgkgIGxlYXZpbmcgYSByYWNlIGNvbmRpdGlvbiB3aGVyZSB0aGUgdGhyZWFkIHdhaXRpbmcgZm9yIHRoZSBidWZmZXIgY291bGQgYXdha2UKCSAgYW5kIHNldCBiYWNrIGEgdmFsaWQgc2l6ZSBiZWZvcmUgdGhlIGZpbmFsaXppbmcgdGhyZWFkIHplcm9zIG91dCB0aGUgbGVuZ3RoLgoJICBUaGlzIHdvdWxkIHJlc3VsdCB0aGF0IHRoZSBuZXdseSBhbGxvY2F0ZWQgYnVmZmVyIGhhcyBsZW5ndGggb2YgemVyby4KCjIwMTAtMDQtMDQgMDY6Mzk6MDggLTA1MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmg6CgkgIHY0bDJzaW5rOiBhZGQgcHJvcGVydGllcyB0byBjb250cm9sIGNyb3AKCjIwMTAtMDQtMDQgMDY6Mzc6MTYgLTA1MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6CgkgIHY0bDI6IHJlLWVuYWJsZSB4LW92ZXJsYXkgc3VwcG9ydAoKMjAxMC0xMi0yNSAxMTo1MjozNiAtMDYwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMnNpbms6IGZpeCBmb3IgUEFVU0VELT5SRUFEWS0+UEFVU0VEIHN0YXRlIHRyYW5zaXRpb25zCgkgIFdoZW4gdjRsMnNpbmsgZ29lcyB0byBQQVVTRUQtPlJFQURZIGl0IG9ubHkgc3RvcHMgc3RyZWFtaW5nLCBzbyB0aGUgc3RhdGUKCSAgc2hvdWxkIGJlIHNldCB0byBTVEFURV9QRU5ESU5HX1NUUkVBTU9OIGluIGNhc2UgdGhlIGVsZW1lbnQgdHJhbnNpdGlvbnMKCSAgYmFjayB0byBQTEFZSU5HLgoKMjAxMC0wNC0wNCAwNjoyODo1MSAtMDUwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuaDoKCSAgdjRsMnNpbms6IGFkZCAibWluLXF1ZXVlZC1idWZzIiBwcm9wZXJ0eQoKMjAxMC0wNC0wNCAwNjoyNjo1MCAtMDUwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyc2luazogQWRkIHN1cHBvcnQgZm9yIGJsb2NraW5nIGRlcXVldWUuCgkgIFdlJ2QgcHJlZmVyIHRvIHRocm90dGxlIHRoZSBkZWNvZGVyIGlmIHdlIHJ1biBvdXQgb2YgYnVmZmVycywgdG8ga2VlcCBhIGJvdW5kCgkgIG9uIG1lbW9yeSB1c2FnZS4gIEFsc28sIGZvciBPTUFQNCBpdCBpcyBhIHJlcXVpcmVtZW50IG9mIHRoZSBkZWNvZGVyIHRvIG5vdAoJICBhbHRlcm5hdGUgYmV0d2VlbiBtZW1vcnkgYWxsb2NlZCBieSB0aGUgZGlzcGxheSBkcml2ZXIgYW5kIG1hbGxvYydkIHVzZXJzcGFjZQoJICBtZW1vcnkuCgoyMDEwLTA0LTA0IDA2OjI0OjQxIC0wNTAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBjbGVhciBmbGFncyBiZWZvcmUgcmV1c2luZyBidWZmZXIgZnJvbSBidWZmZXIgcG9vbAoJICBub3RlOiB0aGlzIHJlYWxseSBvbmx5IGFmZmVjdHMgdjRsMnNpbmsgc2luY2UgZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfZ2V0KCkgaXMKCSAgb25seSBjYWxsZWQgb25jZSBwZXIgYnVmZmVyIGluIHRoZSB2NGwyc3JjIGNhc2UgKGluCgkgIGdzdF92NGwyc3JjX2J1ZmZlcl9wb29sX2FjdGl2YXRlKCkpCgoyMDEwLTA0LTA0IDA2OjIzOjMxIC0wNTAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyc2luazogZG9uJ3QgcmVuZGVyIHByZXJvbGwgYnVmZmVycwoJICBNb3N0IHY0bDIgZHJpdmVycyB3aWxsIGdldCB1cHNldCB3aGVuIHlvdSBxdWV1ZSB0aGUgc2FtZSBidWZmZXIgdHdpY2UgaW4gYQoJICByb3cgd2l0aG91dCBmaXJzdCBkZXF1ZXVlaW5nIGl0LgoJICBSZW5kZXJpbmcgb2YgcHJlLXJvbGwgYnVmZmVycyBjYW4gYmUgcmUtaW50cm9kdWNlZCBsYXRlciwgYnV0IHdpbGwgcmVxdWlyZQoJICB0cmFja2luZyB0aGUgc3RhdGUgb2YgdGhlIGJ1ZmZlciwgYW5kIGF2b2lkaW5nIHRvIHJlLVFCVUYgaWYgdGhlIGJ1ZmZlciBoYXMKCSAgYWxyZWFkeSBiZWVuIHBhc3NlZCB0byB0aGUgZHJpdmVyLgoKMjAxMC0wNC0wNCAwNjoyMjo0MyAtMDUwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMnNpbms6IEltcHJvdmUgYmVoYXZpb3IgZm9yIHNoYXJlZCBidWZmZXJzLgoJICBXaGVuIHRoZSBkZWNvZGVyIGlzIHVzaW5nIHBhZF9hbGxvYygpLCB2NGwyc2luayB3b3VsZCBiZWhhdmUgYmFkbHkgaWYKCSAgdGhlIG51bWJlciBvZiBidWZmZXJzICgncXVldWUtc2l6ZScgcHJvcGVydHkpIHdhcyBub3QgaGlnaCBlbm91Z2ggdG8KCSAgYWNjb3VudCBmb3IgYWxsIHRoZSBidWZmZXJzIG5lZWRlZCBieSB0aGUgZGVjb2RlciwgYW5kIG90aGVyIGVsZW1lbnRzCgkgIChzdWNoIGFzIHF1ZXVlcykgYmV0d2VlbiB0aGUgZGVjb2RlciBhbmQgdjRsMnNpbmsuICBUaGlzIHBhdGNoCgkgIHNsaWdodGx5IGluY3JlYXNlcyB0aGUgZGVmYXVsdCBudW1iZXIgb2YgYnVmZmVycywgYW5kIGNoYW5nZXMgdjRsMnNpbmsKCSAgdG8gZHJvcCBmcmFtZXMgcmF0aGVyIHRoYW4gcmV0dXJuIGFuIGVycm9yIGluIGNhc2UgdGhlIG51bWJlciBvZgoJICBidWZmZXJzIGlzIG5vdCBoaWdoIGVub3VnaC4KCjIwMTAtMTEtMTUgMTU6NTg6MjggKzAxMDAgIEFuZHkgV2luZ28gPHdpbmdvQG9ibG9uZy5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmg6CgkgIGFkZCAiY2xpZW50IiBwcm9wZXJ0eQoJICAqIGV4dC9wdWxzZS9wdWxzZXNyYy5jIChnc3RfcHVsc2VzcmNfY2xhc3NfaW5pdCwgZ3N0X3B1bHNlc3JjX2luaXQpCgkgIChnc3RfcHVsc2VzcmNfc2V0X3Byb3BlcnR5LCBnc3RfcHVsc2VzcmNfZ2V0X3Byb3BlcnR5KQoJICAoZ3N0X3B1bHNlc3JjX29wZW4pOiBBZGQgYSAiY2xpZW50IiBwcm9wZXJ0eSwgYXMgaW4gcHVsc2VzaW5rLgoJICBGaXhlcyAjNjM0OTE0CgoyMDEwLTEyLTI5IDE1OjU0OjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogc2VyaWFsaXNlL2Rlc2VyaWFsaXNlIGZsb2F0cyB3aXRob3V0IGNoYW5naW5nIGxvY2FsZQoJICBVc2UgZ19hc2NpaV9kdG9zdHIoKSBhbmQgZ19hc2NpaV9zdHJ0b2QoKSB0byBzZXJpYWxpc2UvZGVzZXJpYWxpc2UKCSAgZmxvYXRpbmcgcG9pbnQgbnVtYmVycywgaW5zdGVhZCBvZiB1Z2x5IGhhY2tzIHRoYXQgc3dpdGNoIGxvY2FsZQoJICBiZWZvcmUgYW5kIGFmdGVyIGNhbGxpbmcgbGliYyBmdW5jdGlvbnMgKHdoaWNoIGlzIG5vdCBhIGdvb2QgaWRlYQoJICBpbiBhIG11bHRpLXRocmVhZGVkIGFwcGxpY2F0aW9uKS4KCjIwMTAtMTItMjkgMTQ6NDA6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSAgcnRwanBlZ2RlcGF5OiBmaXggZnJhbWVyYXRlIHBhcnNpbmcgZm9yIGxvY2FsZXMgdGhhdCB1c2UgYSBjb21tYSBhcyBmbG9hdGluZyBwb2ludAoJICBhdG9mKCkgY29udmVydHMgc3RyaW5ncyBhY2NvcmRpbmcgdG8gdGhlIGN1cnJlbnQgbG9jYWxlLCBidXQgdGhlCgkgIGZyYW1lcmF0ZSBzdHJpbmcgd2lsbCBsaWtlbHkgYWx3YXlzIHVzZSBhIGRvdCBhcyBmbG9hdGluZyBwb2ludAoJICBzZXBhcmF0b3IsIHNvIHVzZSBnX2FzY2lpX3N0cnRvZCgpIGluc3RlYWQgKGJ1dCBhbHNvIGNhbm9uaWNhbGlzZQoJICB0aGUgc3RyaW5nIGJlZm9yZSwgc28gd2UgY2FuIGhhbmRsZSBib3RoIGZvcm1hdHMgYXMgaW5wdXQpLgoKMjAxMC0xMi0yNyAxMzoxMTo1OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IHVzZSB0aGUgcmlnaHQgdmFyaWFibGUKCSAgVXNlIHRoZSByaWdodCB2YXJpYWJsZSBmb3Igc3BlY2lmeWluZyB0aGF0IHdlIHNlbnQgYSByZWNlaXZlciByZXBvcnQuCgoyMDEwLTEyLTIzIDE2OjQyOjI5IC0wNjAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBmaXggdHlwbwoKMjAxMC0xMi0yMyAxNjowMzowMCAtMDYwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thLWRlbXV4OiBhZGQgc3RyZWFtLWZvcm1hdCBhbmQgYWxpZ25tZW50IHByb3BlcnRpZXMgZm9yIGgyNjQKCjIwMTAtMTItMjIgMTE6NDE6NTkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBnc3RwYXk6IGZpeCBrbGFzcywgYWRkIFJUUCBhcyBhIHVzZSBjYXNlCgoyMDEwLTEyLTEyIDE1OjEwOjQ3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJICBnc3RkZXBheTogY2xlYW51cCB0aGUgY2FjaGUKCjIwMTAtMTItMTIgMDU6MTA6MDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuaDoKCSAgZ3N0cGF5L2RlcGF5OiBhZGQgZ2VuZXJpYyBnc3RyZWFtZXIgcGF5bG9hZGVyCgkgIEFkZCB0aGUgYmVnaW5uaW5ncyBvZiBhIGdlbmVyaWMgR1N0cmVhbWVyIGJ1ZmZlcnMgcGF5bG9hZGVyLgoKMjAxMC0xMi0yMyAxNzowNjo1OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJICBtcDRncGF5OiByZXNldCBzdGF0ZSBvbiBmbHVzaC1zdG9wCgoyMDEwLTEyLTIzIDE2OjI2OjA3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSAgbXA0Z2RlcGF5OiBmbHVzaCBzdGF0ZSBvbiBmbHVzaC1zdG9wCgoyMDEwLTEyLTIzIDE2OjI1OjE1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBvbi1ucHQtc3RvcCBpcyBhIG1hbmFnZXIgc2lnbmFsCgoyMDEwLTEyLTIzIDE1OjI0OjI5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGltcHJvdmUgUlRQIHNlc3Npb24gaGFuZGxpbmcKCSAgU3RvcmUgdGhlIFJUUCBzZXNzaW9uIGluIHRoZSBzdHJlYW0gc28gdGhhdCB3ZSBjYW4gbW9yZSBlZmZpY2llbnRseQoJICBwZXJmb3JtIGFjdGlvbnMgb24gdGhlIHN0cmVhbSBiYXNlZCBvbiBSVFAgc2lnbmFscy4KCjIwMTAtMTItMjMgMTM6NTU6MzEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiBpbmNsdWRlIGxhc3Qgc2VuZCBSQiBibG9jawoJICBPbmx5IHJlcG9ydCBSQiB2YWx1ZXMgZm9yIG5vbi1pbnRlcm5hbCBzb3VyY2VzLgoJICBSZXBvcnQgbm90IG9ubHkgdGhlIFJCIGJsb2NrcyB3ZSBsYXN0IHJlY2VpdmVkIGZyb20gYnV0IGFsc28gdGhlIGxhc3QgUkIKCSAgYmxvY2sgd2Ugc2VudCB0byBhIHNvdXJjZS4KCjIwMTAtMTItMjMgMTM6NTI6NTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBydHBzZXNzaW9uOiByZW1lbWJlciBsYXN0IHNlbnQgUkIgdmFsdWVzLgoKMjAxMC0xMi0yMyAxMzowMDo0OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IGluY2x1ZGUgYWxsIHN0YXRzIGFuZCBkb2N1bWVudAoJICBJbmNsdWRlIGFsbCBwb3NzaWJsZSBzdGF0cyBvZiBhIHNvdXJjZSBpbiB0aGUgc3RhdHMgc3RydWN0dXJlIGJlY2F1c2Ugd2UgbWlnaHQKCSAgYmUgaW50ZXJlc3RlZCBpbiB3aGF0IGhhcHBlbmVkIGluIHRoZSBwYXN0LgoJICBEb2N1bWVudCB0aGUgc3RhdHMgcHJvcGVydHkgYW5kIHRoZSBmaWVsZHMuCgoyMDEwLTEyLTIzIDEyOjU5OjU5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1QQ01BLmM6CgkgIGV4YW1wbGVzOiBhZGQgZXhhbXBsZSBSVFAgc3RhdHMKCSAgQWRkIHNvbWUgbW9yZSBSVFAgZXhhbXBsZXMgZm9yIGhvdyB0byByZXRyaWV2ZSBSVFAgc3RhdHMgaW4gYSByZWNlaXZlci4KCjIwMTAtMTItMjMgMTI6NTg6MDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGFsc28gZW1pdCBSVENQIGFjdGl2aXR5IG9uIFNSCgkgIEFsc28gZW1pdCBSVENQIGFjdGl2aXR5IHNpZ25hbHMgd2hlbiB3ZSByZWNlaXZlIGFuIFNSIHBhY2tldCB3aXRob3V0IFJCIGJsb2NrcywKCSAgc3VjaCBhcyBmcm9tIGEgc2VuZGVyIHRoYXQgaXMgbm90IHJlY2VpdmluZyBhbnl0aGluZy4KCjIwMTAtMTItMjMgMTE6MTA6NTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgZG9jczogYWRkIHNvbWUgbW9yZSBnc3RydHBiaW4gZG9jcwoKMjAxMC0xMi0yMiAyMToyNzoxMSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIHhpbWFnZXNyYzogcmVtb3RlIGlzIGEgYm9vbGVhbiAoYW5kIG5vdCB1aW50KSBwcm9wZXJ0eQoKMjAxMC0xMi0yMiAxOTo1ODoyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogRG9uJ3QgdXNlIGdzdF9wYWRfYWxsb2NfYnVmZmVyKCkKCSAgVXNpbmcgdGhpcyBpbiBhIGRlbXV4ZXIgd2lsbCBjYXVzZSBkZWFkbG9ja3MgaWYgdGhlcmUncwoJICBhIHBhZCB3aXRoIGEgcGVuZGluZyBwYWQtYmxvY2sgZG93bnN0cmVhbSwgbm8gbWF0dGVyIGlmCgkgIHRoZXJlIGlzIGEgcXVldWUgYmV0d2VlbiB0aGUgcGFkIG9yIG5vdC4gUXVldWVzIHBhc3MKCSAgYnVmZmVyYWxsb2MgZG93bnN0cmVhbSBmcm9tIHRoZSBzYW1lIHRocmVhZCBhbmQgb25seQoJICBhY3QgYXMgYSB0aHJlYWQgYm91bmRhcnkgZm9yIGV2ZW50cyBhbmQgYnVmZmVycy4KCjIwMTAtMTItMjIgMTQ6MTQ6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogZml4IHN1YnRpdGxlIHBhZCB0ZW1wbGF0ZSwgd2Ugb25seSBoYW5kbGUga2F0ZSBmb3Igbm93CgoyMDEwLTEyLTE2IDExOjQ0OjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgZG9jczogdXBkYXRlIHJ0c3BzcmMgZG9jcywgcnRwYmluIGlzIG5vdCBpbiAtYmFkIGFueSBtb3JlCgoyMDEwLTEyLTIyIDExOjQyOjMxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiB1bmxvY2sgYmVmb3JlIGVtaXR0aW5nIHNpZ25hbHMKCjIwMTAtMTItMjEgMjI6MzQ6NDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM3BheS5oOgoJICBydHBhYzNwYXk6IGFkZCBBQzMgcGF5bG9hZGVyCgoyMDEwLTEyLTIxIDIyOjE3OjE5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJICBhYzNkZXBheTogZml4IGRlYnVnIGNhdGVnb3J5IGRlc2NyaXB0aW9uCgoyMDEwLTEyLTIxIDIyOjE2OjQyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSAgbXBhcGF5OiBhZGQgZGVidWcgY2F0ZWdvcnkKCjIwMTAtMTItMjAgMTQ6NDk6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdlbmMuYzoKCSAganBlZ2VuYzogQWRkcyBhbm90aGVyIHRlc3QgY2FzZQoJICBBZGRzIGEgdGVzdCBmb3IganBlZ2VuYyB0byBjaGVjayB0aGF0IGlzIHBvc3NpYmxlIHRvIG5lZ290aWF0ZSBhbmQKCSAgcHVzaCBidWZmZXJzIHdpdGggZGlmZmVyZW50IHJlc29sdXRpb24gb25lIGFmdGVyIGFub3RoZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzc2ODYKCjIwMTAtMTItMjEgMTM6Mzc6NDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBzaW5rIHBhZCdzIGdldGNhcHMgc2hvdWxkbid0IHVzZSB0aGUgc3JjIHBhZCBnZXRjYXBzCgkgIEluc3RlYWQgb2YgdXNpbmcgZ2V0X2FsbG93ZWRfY2FwcyBvbiB0aGUgc3JjcGFkLCB0aGUgc2lua3BhZCBnZXRjYXBzCgkgIHNob3VsZCB1c2UgdGhlIGdldGNhcHMgb2YgdGhlIHNyY3BhZCdzIHBlZXIuIFRoaXMgd2F5IHRoZSBzcmNwYWQKCSAgY2FuIGtlZXAgdXNpbmcgZml4ZWRfY2FwcyBhbmQgc2lua3BhZCBnZXRjYXBzIGV4cG9zZXMgYWxsIGNhcHMKCSAgdGhhdCBjYW4gYmUgbmVnb3RpYXRlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM3Njg2CgoyMDEwLTEyLTIxIDE2OjU4OjQ3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIyZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxY2VscGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICBydHA6IGFkZCBSVFAgaGludCB0byB0aGUga2xhc3MKCjIwMTAtMTItMjEgMTY6NDk6MjggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIHJ0cDogZml4IHJhbmsgb2YgcGF5bG9hZGVycyBhbmQgZGVwYXlsb2FkZXJzCgkgIFNldCB0aGUgcGF5bG9hZGVycyBhbmQgZGVwYXlsb2FkZXJzIHRvIGEgcmVhc29uYWJsZSByYW5rLgoKMjAxMC0xMi0yMSAxNToyNDoxOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkgIHZyYXdkZXBheTogcmVzZXQgZGVwYXlsb2FkZXIgc3RhdGUKCSAgUmVzZXQgdGhlIGRlcGF5bG9hZGVyIHN0YXRlIG9uIGZsdXNoLXN0b3AuCgoyMDEwLTEyLTIxIDE1OjA3OjE0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5oOgoJICBtcDRwYXk6IHVzZSB2bWV0aG9kIGZvciBpbnRlcmNlcHRpbmcgZXZlbnRzCgoyMDEwLTEyLTIxIDEzOjU1OjQwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgdGhlb3JhcGF5OiBjbGVhciBwYWNrZXQgb24gZmx1c2gtc3RvcAoKMjAxMC0xMi0yMSAxMzo0OTo0MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkgIHZvcmJpc3BheTogY2xlYXIgcGFja2V0IG9uIGZsdXNoLXN0b3AKCjIwMTAtMTItMjEgMTI6MzE6NDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJICBtcDRnZGVwYXk6IHJlc2V0IGRlcGF5bG9hZGVyIHN0YXRlCgoyMDEwLTEyLTIxIDEyOjI5OjU4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIGgyNjRwYXk6IGZsdXNoIGFkYXB0ZXIgb24gZmx1c2gtc3RvcAoKMjAxMC0xMi0yMCAxODo0OTo0OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkgIG1wYXBheTogZmx1c2ggbGFzdCBwYWNrZXRzIG9uIEVPUwoKMjAxMC0xMi0yMCAxNzo0NzowNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDE2OTQ2MmEgdG8gNDY0NDVhZAoKMjAxMC0xMi0yMCAxNjo1MTo0NyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkgIG1wYXBheTogcmVzZXQgcGF5bG9hZGVyIG9uIHN0YXRlIGNoYW5nZQoKMjAxMC0xMi0yMCAxNjowNTozNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkgIG1wYXBheTogcmVzZXQgcGF5bG9hZGVyIG9uIGZsdXNoCgkgIFJlc2V0IHRoZSBwYXlsb2FkZXIgb24gYSBmbHVzaCBldmVudC4KCSAgSGFuZGxlIERJU0NPTlQgYmV0dGVyLgoKMjAxMC0xMi0yMCAxNTo1NDo0NSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGdldCBiZXR0ZXIgYnVmZmVyaW5nIGxldmVsCgkgIFdoZW4gdGhlIGppdHRlcmJ1ZmZlciBjb250YWlucyAtMSB0aW1lc3RhbXBzLCBtYWtlIHN1cmUgd2Ugc3RpbGwgY2FsY3VsYXRlIHRoZQoJICBidWZmZXIgZmlsbCBsZXZlbCBieSBza2lwcGluZyB0aGUgLTEgYnVmZmVycy4KCSAgVHJ5IHRvIGJlIG1vcmUgcmVzaWxpZW50IHRvIHdlaXJkIGlucHV0IHRpbWVzdGFtcHMuCgoyMDEwLTEyLTIwIDExOjEwOjIyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcHJvdmlkZSBhIGNsb2NrLgoJICBzaW5jZSB3ZSBhcmUgdXNpbmcgdGhlIGNsb2NrIGZvciBzeW5jLCB3ZSBuZWVkIHRvIGFsc28gcHJvdmlkZSBhIGNsb2NrIGZvciBnb29kCgkgIG1lYXN1cmUuIFRoZSByZWFzb24gaXMgdGhhdCBldmVuIGlmIGRvd25zdHJlYW0gZWxlbWVudHMgcHJvdmlkZSBhIGNsb2NrLCB3ZQoJICBkb24ndCB3YW50IHRvIGhhdmUgdGhhdCBjbG9jayBzZWxlY3RlZCBiZWNhdXNlIGl0IG1pZ2h0IG5vdCBiZSBydW5uaW5nIHlldC4KCjIwMTAtMTItMjAgMTA6NDk6NTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBjb3B5IGJ1ZmZlcmluZyBzdGF0cwoJICB3aGVuIHdlIGNyZWF0ZSBhbiBhZ2dyZWdhdGUgYnVmZmVyaW5nIG1lc3NhZ2UsIGNvcHkgdGhlIGJ1ZmZlcmluZyBzdGF0cyBmb3JtIHRoZQoJICBsYXN0IG1lc3NhZ2UuIEF0IGxlYXN0IHdlIGdldCBjb3JyZWN0IGJ1ZmZlcmluZyBtb2RlIHRoZW4uCgoyMDEwLTEyLTE5IDExOjAyOjQxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy93YXZlbmMuYzoKCSAgd2F2ZW5jOiBGaXggbWVtb3J5IGxlYWtzIGluIHRoZSB1bml0IHRlc3QKCjIwMTAtMTItMTkgMTA6NTg6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmg6CgkgIHJhZGlvYWN0djogUHJldmVudCB1c2Ugb2YgdW5pbml0aWFsaXplZCB2YWx1ZXMKCSAgRml4ZXMgYnVnICM2MTg2NTIuCgoyMDEwLTEyLTE5IDEwOjIyOjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNkZWJ1Zy5jOgoJICBjYXBzZGVidWc6IERvbid0IGxlYWsgcGFkIHRlbXBsYXRlcyBjcmVhdGVkIGZyb20gc3RhdGljIHBhZCB0ZW1wbGF0ZXMKCjIwMTAtMTEtMjkgMTI6MzY6MDYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuaDoKCSAgeGltYWdlc3JjOiBjaGFuZ2UgZnJvbSBYR2V0SW1hZ2UgdG8gWEdldFN1YkltYWdlIGRlcGVuZGFudCBvbiBhIHByb3BlcnR5CgkgIHhpbWFnZXNyYzogY2hhbmdlIGZyb20gWEdldEltYWdlIHRvIFhHZXRTdWJJbWFnZSBkZXBlbmRhbnQgb24gYSBwcm9wZXJ0eQoJICB0byBhdm9pZCB1bm5lY2Vzc2FyeSBwZXJmb3JtYW5jZSBoaXRzIGJ5IGRlZmF1bHQuCgoyMDEwLTExLTI4IDE2OjA0OjM1ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIHhpbWFnZXNyYzogdXNlIFhHZXRTdWJJbWFnZSBpbnN0ZWFkIG9mIFhHZXRJbWFnZSwgd29ya3Mgd2l0aCByZW1vdGUgWAoJICB4aW1hZ2VzcmM6IHVzZSBYR2V0U3ViSW1hZ2UgaW5zdGVhZCBvZiBYR2V0SW1hZ2UsIHdvcmtzIHdpdGggcmVtb3RlIFgKCSAgKG9uIG15IHNldHVwIGFueXdheS4uLikKCjIwMTAtMTEtMjcgMTc6MTU6MzIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgeGltYWdlc3JjOiBmaXggdmFyaW91cyB3aWR0aC9oZWlnaHQgY2FsY3VsYXRpb25zIGJlaW5nIG9mZiBieSBvbmUsCgkgIHhpbWFnZXNyYzogZml4IHZhcmlvdXMgd2lkdGgvaGVpZ2h0IGNhbGN1bGF0aW9ucyBiZWluZyBvZmYgYnkgb25lLAoJICBhbmQgbWFrZSBpdCBzbyBhIHNpbmdsZSBwaXhlbCB3aWR0aC9oZWlnaHQgY2FuIGJlIGNhcHR1cmVkIChleGNlcHQKCSAgdGhlIHRvcCBsZWZ0IG9uZSwgYXMgMCwwLDAsMCBpcyByZXNlcnZlZCBmb3IgZnVsbCBzY3JlZW4gYXMgcGVyCgkgIHRoZSBwcm9wZXJ0eSBjb21tZW50cykuCgoyMDEwLTEyLTE3IDE5OjE5OjM1IC0wNjAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIGZpeCBjb21waWxlIGVycm9ycyBvbiBtYWNvc3gKCSAgd2l0aCBpNjg2LWFwcGxlLWRhcndpbjEwLWdjYy00LjIuMToKCSAgZ3N0djRsMm9iamVjdC5jOiBJbiBmdW5jdGlvbiAnZ3N0X3Y0bDJfb2JqZWN0X2dldF9uZWFyZXN0X3NpemUnOgoJICBnc3R2NGwyb2JqZWN0LmM6MTk4ODogd2FybmluZzogZm9ybWF0ICcldScgZXhwZWN0cyB0eXBlICd1bnNpZ25lZCBpbnQnLCBidXQgYXJndW1lbnQgMTIgaGFzIHR5cGUgJ2dpbnQgKicKCSAgZ3N0djRsMm9iamVjdC5jOjE5ODg6IHdhcm5pbmc6IGZvcm1hdCAnJXUnIGV4cGVjdHMgdHlwZSAndW5zaWduZWQgaW50JywgYnV0IGFyZ3VtZW50IDEzIGhhcyB0eXBlICdnaW50IConCgoyMDEwLTEyLTE3IDE1OjM4OjE1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheTogZGV0ZXJtaW5lIG91dHB1dCBoMjY0IGxheW91dCB1c2luZyBjYXBzIG5lZ290aWF0aW9uCgkgIC4uLiB0aGVyZWJ5IChwYXJ0aWFsbHkpIGRlcHJlY2F0aW5nIHByb3BlcnRpZXMgY3VycmVudGx5IGNvbnRyb2xsaW5nIHdoZXRoZXIKCSAgb3Igbm90IGJ5dGUtc3RyZWFtIG91dHB1dCBvciBOQUwvQVUgYWxpZ25tZW50ICh0aG91Z2ggcHJvcGVydGllcyBzdGlsbCBkZXRlcm1pbmUKCSAgZmFsbGJhY2sgaWYgbm90aGluZyBzcGVjaWZpZWQgaW4gY2FwcykuCgkgIEZpeGVzICM2MDY2NjIuCgoyMDEwLTEyLTE2IDE4OjU1OjQzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSAgajJrcGF5OiBoYW5kbGUgRU9DIGNvcnJlY3RseQoJICBEb24ndCBpbmNsdWRlIHRoZSBuZXh0IDIgYnl0ZXMgd2hlbiB3ZSBhcmUgYXQgdGhlIGVuZCBvZiB0aGUgZGF0YSBhbmQgdGhlcmUgYXJlCgkgIG5vIG1vcmUgYnl0ZXMgbGVmdC4KCjIwMTAtMTItMTYgMTU6MTU6NDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGZsdXNoIHJlbWFpbmluZyBidWZmZXJlZCBzYW1wbGVzIG9uIEVPUwoJICAuLi4gd2hpY2ggY2FuIG1ha2UgYSBkaWZmZXJlbmNlIGJldHdlZW4gYWxsIG9yIG5vdGhpbmcgd2hlbiBkZWFsaW5nCgkgIHdpdGggc2hvcnQgc3RyZWFtcyBhbmQgcmVsYXRpdmVseSBsYXJnZSByaW5nYnVmZmVyIHNlZ21lbnQuCgoyMDEwLTEyLTE2IDEwOjA0OjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogQ2hhbmdlIGNsYXNzaWZpY2F0aW9uIHRvIEZpbHRlci9FZmZlY3QvVmlkZW8vRGVpbnRlcmxhY2UKCjIwMTAtMTItMTUgMTg6MjE6MzQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSAgcnRwajJrcGF5OiBJbml0aWFsaXplIGFsbCBmaWVsZHMKCSAgTWFrZXMgc2FkIGNvbXBsaWVycyBoYXBweQoKMjAxMC0xMi0xNSAxNjoyMjo1NCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkgIGoya3BheTogY2xlYW51cCBoZWFkZXIgY29uc3RydWN0aW9uCgkgIFVzZSBhIHNpbXBsZXIgd2F5IG9mIGNvbnN0cnVjdGluZyB0aGUgaGVhZGVyIHRoYXQgZG9lc24ndCBkZXBlbmQgb24KCSAgdGhlIGVuZGlhbm5lc3MuCgoyMDEwLTEyLTE1IDEzOjMwOjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBkZXBlbmQgb24gLWJhc2UgZnJvbSBnaXQgZm9yIG5ldyBydHAgYmFzZSBkZXBheWxvYWRlciBmZWF0dXJlcwoJICBUaGlzIGlzIG9rIGluIHRoaXMgY2FzZSwgc2luY2UgdGhlIHBsYW4gaXMgdG8gcmVsZWFzZSBjb3JlL2Jhc2UgYWdhaW4KCSAgYWxvbmcgd2l0aCBnb29kL3VnbHkvYmFkIGluIHRoZSBuZXh0IGN5Y2xlLgoKMjAxMC0xMi0xNSAxNDo1NTo1OCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAyMDc0MmFlIHRvIDE2OTQ2MmEKCjIwMTAtMTItMTUgMTM6MTI6MDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuaDoKCSAgajJrZGVwYXk6IGFkZCBzdXBwb3J0IGZvciBidWZmZXIgbGlzdHMKCjIwMTAtMTItMTQgMTg6MTI6NDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IGZpeCBhdmVyYWdlIFJUQ1AgcGFja2V0IHNpemUgc29tZSBtb3JlLgoJICBGaXggc3R1cGlkIGVycm9yIGluIGF2ZXJhZ2luZyBtYWNyby4KCSAgSW5jbHVkZSB1ZHAgaGVhZGVycyBpbiBwYWNrZXQgbGVuZ3RoIGVzdGltYXRpb24uCgoyMDEwLTEyLTE0IDE3OjE1OjIzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOgoJICBydHBiaW46IGNvcnJlY3RseSBjYWxjdWxhdGUgUlRDUCBwYWNrZXQgc2l6ZQoKMjAxMC0xMi0xNCAxNToyNzo1MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkgIGoya3BheTogc3RvcCBzY2FubmluZyB3aGVuIHdlIHJlYWNoZWQgdGhlIGVuZAoJICBTdG9wIHNjYW5uaW5nIGZvciBtYXJrZXJzIHdoZW4gd2UgcmVhY2hlZCB0aGUgZW5kIG9mIHRoZSBkYXRhLgoKMjAxMC0xMi0xMyAxNjoyMzoyNCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAwMTFiY2M4IHRvIDIwNzQyYWUKCjIwMTAtMTItMTMgMTI6NTY6MTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBhdm9pZCBsZWFraW5nIHNpbmsgZXZlbnRzCgkgIEF2b2lkIGxlYWtpbmcgdGhlIG5ld3NlZ21lbnQgZXZlbnQgd2hlbiBpdCBoYXMgdGhlIHdyb25nIGZvcm1hdC4KCjIwMTAtMTItMTIgMTQ6NTM6MTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSAgbXA0dnBheTogd2UgY2FuIGFsc28gYWNjZXB0IHh2aWQgY2FwcwoKMjAxMC0xMi0xMiAwMTozOTowNiArMTEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBBdm9pZCBpbmZpbml0ZSBsb29wIGRyYWluaW5nIGZyYW1lcwoJICBXaGVuIHRoZSBwaXBlbGluZSBpcyBmbHVzaGVkIGp1c3QgYXMgd2UncmUgZHJhaW5pbmcgaGlzdG9yeSwKCSAgZG9uJ3QgbG9vcCBpbmZpbml0ZWx5LCBqdXN0IGRpc2NhcmQgdGhlIGhpc3RvcnkgYW5kIGFib3J0LgoKMjAxMC0xMi0xMSAxNzozOToyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSAganBlZ2RlYzogYWRkICJtYXgtZXJyb3JzIiBwcm9wZXJ0eSB0byBpZ25vcmUgZGVjb2RpbmcgZXJyb3JzCgkgIEFkZCBwcm9wZXJ0eSB0byBpZ25vcmUgZGVjb2RpbmcgZXJyb3JzLiBEZWZhdWx0IGlzIHRvIGlnbm9yZSBhIGZldwoJICBkZWNvZGluZyBlcnJvcnMgaWYgdGhlIGlucHV0IGlzIHBhY2tldGl6ZWQsIGJ1dCBlcnJvciBvdXQgaW1tZWRpYXRlbHkKCSAgaWYgdGhlIGlucHV0IGlzIG5vdCBwYWNrZXRpemVkLgoJICBJZ25vcmluZyBlcnJvcnMgZm9yIHBhY2tldGl6ZWQgaW5wdXQgbW9zdCBsaWtlbHkgZG9lc24ndCB3b3JrCgkgIHByb3Blcmx5IHlldCwgc28gZG9uJ3QgZG8gdGhhdCBmb3Igbm93LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIzMDYzCgoyMDEwLTA1LTI4IDE1OjI3OjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZ2VuYzogZnJlZS9tYWxsb2MgaW5zdGVhZCBvZiByZWFsbG9jLCBhdm9pZHMgbWVtY3B5CgoyMDEwLTEyLTExIDE3OjQ5OjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQ2hlY2sgaWYgdGhlcmUncyBhY3R1YWxseSBhIHNlZWsgdGFibGUgYmVmb3JlIHBhcnNpbmcgaXQKCjIwMTAtMTItMTEgMTc6NDY6MTcgKzAxMDAgIEtpc2hvcmUgQXJlcGFsbGkgPGtpc2hvcmUuYXJlcGFsbGlAZ21haWwuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBJbXBsZW1lbnQgQ09OVkVSVCBhbmQgRk9STUFUUyBxdWVyeQoJICBGaXhlcyBidWcgIzYzNjc4NC4KCjIwMTAtMDctMDEgMDA6MjI6MDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thLWRlbXV4OiBwdXQgdW5yZWNvZ25pc2VkIFJJRkYgZm9ybWF0IElEcyBpbnRvIHRoZSB1bmtub3duIGNhcHMKCSAgRXh0cmEgaW5mbyBjYW4ndCBodXJ0LiBGaWVsZCBuYW1lcyBhcmVuJ3QgbmVjZXNzYXJpbHkgY29uc2lzdGVudCB3aXRoCgkgIHdoYXQncyB1c2VkIGVsc2V3aGVyZSB0aG91Z2ggKGUuZy4gYXZpZGVtdXgpLCBidXQgdGhlbiBuZWl0aGVyIGFyZSB0aGUKCSAgY2Fwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMzE3OAoKMjAxMC0xMC0yOSAyMjo1MDoxNCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmM6CgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5oOgoJICBwdWxzZW1peGVyOiBJbXBsZW1lbnQgTUlYRVJfRkxBR19BVVRPX05PVElGSUNBVElPTlMKCSAgQWRkIHRoZSBtaXhlciBmbGFnIGFuZCBzZW5kIG5vdGlmaWNhdGlvbnMgd2hlbiBlaXRoZXIgdGhlIHZvbHVtZSBvciBtdXRlZAoJICBzdGF0dXMgY2hhbmdlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxODM4OQoKMjAxMC0wMi0wOCAyMTo0MToyOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IG1hcmsgRElTQ09OVCB3aGVuIHJlc3VtaW5nIFBMQVkKCSAgSW4gcGFydGljdWxhciwgd2hlbiBzdHJlYW1pbmcgaW50ZXJsZWF2ZWQsIHRoaXMgYXJyYW5nZXMgZm9yIHNldHRpbmcgYSBuZXcKCSAgdGltZXN0YW1wIG9uIG91dGdvaW5nIGJ1ZmZlciBzbyBkb3duc3RyZWFtIGNhbiBhcHByb3ByaWF0ZSByZXNldAoJICB0byBhIGNoYW5nZSBpbiAocnRwKXRpbWUuCgoyMDEwLTEyLTAyIDE2OjA4OjM0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBkZWdyYWRlIGdyYWNlZnVsbHkgdXBvbiBmYWlsaW5nIHNlZWsgYW5kIHR3ZWFrIFFVRVJZX1NFRUtJTkcgcmVzcG9uc2UKCjIwMTAtMTAtMjUgMTE6NTE6MDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhZGQgYW5kIHVzZSBhdXRvIGJ1ZmZlcmluZyBtb2RlCgkgIC4uLiB3aGljaCBzZWxlY3RzIEJVRkZFUiBmb3IgYSBub24tbGl2ZSBzdHJlYW0sIGFuZCBvdGhlcndpc2UgU0xBVkUuCgkgIEZpeGVzICM2MzMwODguCgoyMDEwLTEyLTA2IDEyOjE2OjEyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5Lmg6CgkgIGoya2RlcGF5OiBtYWtlIHRoZSBkZXBheWxvYWRlciBtb3JlIHJlc2lsaWVudAoJICBVc2UgMyBhZGFwdGVycywgb25lIHRvIGFjY3VtdWxhdGUgcGFrZXRpemF0aW9uIHVuaXRzLCBhbm90aGVyIG9uIHRvIGFjY3VtdWxhdGUKCSAgdGlsZXMgYW5kIGEgbGFzdCBvbmUgdG8gYWNjdW11bGF0ZSB0aGUgZmluYWwgZnJhbWUuCgkgIERvbid0IGp1c3QgYmxpbmRseSBmbHVzaCB0aGUgYWRhcHRlciBvbiBESVNDT05UIGJ1dCBvbmx5IGRpc2NhcmQgdGhlIGN1cnJlbnQKCSAgcGFja2V0aXphdGlvbiB1bml0LgoJICBXaGVuIHdlIGRyb3BwZWQganBlZzIwMDAgcGFja2V0cyBiZXR3ZWVuIFNPUCBtYXJrZXJzLCBhZGp1c3QgdGhlIFNPVCBoZWFkZXIgd2l0aAoJICB0aGUgbmV3IGxlbmdodC4KCjIwMTAtMTItMDkgMTM6NDk6MDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggZmxvdyByZXR1cm4gYWdncmVnYXRpb24KCjIwMTAtMTItMDggMTE6MzU6MzMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggaGFuZGxpbmcgbmVhciBlbmQtb2YtZmlsZSBjb3JuZXIgY2FzZXMKCSAgQWxzbywgcmVsYXggc29tZSBlcnJvciBoYW5kbGluZyB0byBub3QgYmFpbCBvdXQgY29tcGxldGVseSB3aGVuIHNvbWV0aGluZwoJICBmZWVscyBhbWlzcywgYnV0IGNvbnNpZGVyIHRoaXMgRU9GIGFuZCBjb250aW51ZSB3aXRoIHdhcyBvYnRhaW5lZCBzbyBmYXIuCgoyMDEwLTEyLTA3IDE3OjE5OjAwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZnJhZ21lbnRlZCBzdXBwb3J0OyBmaXggb2Zmc2V0IGhhbmRsaW5nIGFuZCByZWxheCBlcnJvciByYWlzaW5nCgkgIEluIHBhcnRpY3VsYXIsIGFjY2VwdCB1bmtub3duIHN0cmVhbSBpbiB0cmFjayBmcmFnbWVudCwgYW5kIG9ubHkgZXJyb3Igb3V0CgkgIGlmIHRoYXQgcmFpc2VzIHByb2JsZW1zIGxhdGVyIG9uIHdpdGggcmVzcGVjdCB0byBvZmZzZXQgdHJhY2tpbmcuCgkgIEZpeGVzICM2MjAyODMuCgoyMDEwLTEyLTA3IDEzOjExOjQ4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IHVzZSBhYWMgY29kZWMtZGF0YSB0byBhZGp1c3Qgc2FtcGxlcmF0ZSBpZiBuZWVkZWQKCSAgQmFzZWQgb24gcGF0Y2ggYnkgRmFiaWVuIExlYmFpbGxpZi1EZWxhbWFyZSA8ZmFiaWVuQGFycS1tZWRpYS5jb20+CgkgIEZpeGVzICM2MzY2MjEuCgoyMDEwLTEyLTA3IDExOjQzOjEzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGRvbid0IHVuY29yayBpbiBfc3RhcnQKCSAgRG9uJ3QgdW5jb3JrIGluIHRoZSBfc3RhcnQgbWV0aG9kIGp1c3QgeWV0IGJ1dCB3YWl0IHVudGlsIHdlIGhhdmUgd3JpdHRlbiBzb21lCgkgIHNhbXBsZXMgdG8gcHVsc2VhdWRpby4gVGhpcyBhdm9pZCB1bmRlcnJ1bnMgb24gcHVsc2VhdWRpbyBhbmQgbGVzcyBjcmFja2xpbmcKCSAgbm9pc2VzIHdoZW4gc3RhcnRpbmcuCgoyMDEwLTEyLTA3IDExOjQ3OjQxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMC0xMi0wNyAxMTo0MzoxMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBkb24ndCB1bmNvcmsgaW4gX3N0YXJ0CgkgIERvbid0IHVuY29yayBpbiB0aGUgX3N0YXJ0IG1ldGhvZCBqdXN0IHlldCBidXQgd2FpdCB1bnRpbCB3ZSBoYXZlIHdyaXR0ZW4gc29tZQoJICBzYW1wbGVzIHRvIHB1bHNlYXVkaW8uIFRoaXMgYXZvaWQgdW5kZXJydW5zIG9uIHB1bHNlYXVkaW8gYW5kIGxlc3MgY3JhY2tsaW5nCgkgIG5vaXNlcyB3aGVuIHN0YXJ0aW5nLgoKMjAxMC0xMi0wNyAxMTo0MjoxNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogdXNlIF9vYmplY3RfcmVmX3NpbmsoKSB3aGVuIHdlIGNhbgoKMjAxMC0xMi0wNyAxMTo0MDo1OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogZG9uJ3QgYWJ1c2UgdGhlIGNsYXNzIGxvY2sKCSAgVXNlIGEgbmV3IHN0YXRpYyBsb2NrIHRvIHByb3RlY3QgdGhlIHByb2JlZCBkZXZpY2UgbGlzdCBpbnN0ZWFkIG9mIHRoZSBvYmplY3QKCSAgY2xhc3MgbG9jay4KCjIwMTAtMTItMDYgMTk6NTk6NDkgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggY29tcGlsZXIgd2FybmluZ3Mgb24gT1NYLgoKMjAxMC0xMi0wNiAxODoxNzoyNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGFkZCBkZWJ1ZyB0byBub3RpZnkgd2hlbiBza2lwcGluZyB0byBqcGVnIGhlYWRlcgoKMjAxMC0xMi0wNiAxODoxNjoxOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGRpc2NhcmQgaW5jb21wbGV0ZSBpbWFnZQoJICAuLi4gYXMgZGV0ZXJtaW5lZCB3aGVuIGZpbmRpbmcgU09JIG5leHQgaW1hZ2UgYmVmb3JlIGFuIEVPSS4KCSAgQmFzZWQgb24gcGF0Y2ggYnkgRGF2aWQgSG95dCA8ZGF2aWQuaG95dEBsbG5sLmdvdj4KCSAgRml4ZXMgIzYzNTczNC4KCjIwMTAtMTItMDYgMTc6NDU6MzggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBhdm9pZCBpbmZpbml0ZSBsb29wIHdoZW4gcmVzeW5jaW5nCgkgIEZpeGVzICM2MzU3MzQgKHBhcnRseSkuCgoyMDEwLTEyLTA2IDE3OjI4OjMyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIG9mIHNzaDovL2dpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L2dzdHJlYW1lci9nc3QtcGx1Z2lucy1nb29kIGludG8gMC4xMQoKMjAxMC0xMi0wNiAxNzoyNzo1MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGFuZHJvaWQvYXBldGFnLm1rOgoJKiBhbmRyb2lkL2F2aS5tazoKCSogYW5kcm9pZC9mbHYubWs6CgkqIGFuZHJvaWQvaWN5ZGVtdXgubWs6CgkqIGFuZHJvaWQvaWQzZGVtdXgubWs6CgkqIGFuZHJvaWQvcXRkZW11eC5tazoKCSogYW5kcm9pZC9ydHAubWs6CgkqIGFuZHJvaWQvcnRwbWFuYWdlci5tazoKCSogYW5kcm9pZC9ydHNwLm1rOgoJKiBhbmRyb2lkL3NvdXAubWs6CgkqIGFuZHJvaWQvdWRwLm1rOgoJKiBhbmRyb2lkL3dhdmVuYy5tazoKCSogYW5kcm9pZC93YXZwYXJzZS5tazoKCSogY29uZmlndXJlLmFjOgoJICBtb3JlIDAuMTAgLT4gMC4xMSBjaGFuZ2VzCgoyMDEwLTEyLTA2IDE1OjIxOjUzICswMTAwICBEYXZpZCBIb3l0IDxkaG95dEBsbG5sLmdvdj4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogcGFzcyBhbG9uZyBlb3MgaWYgcmVjZWl2ZWQgYmVmb3JlIGJ1ZmZlciBhcnJpdmVzCgkgIEZpeGVzICM2MzYxNzIuCgoyMDEwLTEwLTIwIDExOjA1OjQ5ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiB0cnkgdG8gd3JpdGUgdGltZXN0YW1wcyBpbiBhbGwgdGhlIG91dGdvaW5nIGJ1ZmZlcnMKCSAgRml4ZXMgIzYzMjY1NC4KCjIwMTAtMTItMDYgMTI6MjE6MDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogc3RhcnQgMC4xMSBicmFuY2gKCjIwMTAtMTItMDYgMTI6MTc6MjEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvcHJvZ3Jlc3NyZXBvcnQuYzoKCSogZ3N0L2RlYnVndXRpbHMvcHJvZ3Jlc3NyZXBvcnQuaDoKCSAgcHJvZ3Jlc3NyZXBvcnQ6IG9wdGlvbmFsbHkgZGV0ZXJtaW5lIHByb2dyZXNzIHVzaW5nIGJ1ZmZlciBtZXRhZGF0YQoJICBCYXNlZCBvbiBwYXRjaCBieSBMZW8gU2luZ2VyIDxsc2luZ2VyIGF0IGNhbHRlY2guZWR1PgoJICBGaXhlcyAjNjI5NDE4LgoKMjAxMC0xMi0wNSAxNDozOToxOSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSAgY2hlY2s6IEZpeHVwIHRoZSBzaHV0dGluZyBkb3duIG9yZGVyCgkgIEZpcnN0IGJyaW5nIGRvd24gZXZlcnl0aGluZyB0byBOVUxMIGJlZm9yZSBhdHRlbXB0aW5nIHRvIHVubGluawoJICBvciB1bnJlZiBhbnl0aGluZy4KCSAgQXZvaWRzIHRoZSB0ZXN0cyBqdXN0IGhhbmdpbmcgdGhlcmUgZm9yIGV2ZXIgd2FpdGluZyB0byBhY3F1aXJlIGEKCSAgbG9jayB0aGF0IGRvZXNuJ3QgZXhpc3QgYW55bW9yZS4KCjIwMTAtMTEtMDQgMTk6MzE6NDUgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJzcmM6IHNldCB0b3AgZmllbGQgZmlyc3QgZm9yIGludGVybGFjZWQgYnVmZmVycyBpZiB2NGwyIGV4cG9ydHMgaXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNDM5MwoKMjAxMC0xMS0wNCAxODozNjowOSArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyc3JjOiBjaGVjayBmaWVsZCBpbmZvcm1hdGlvbiBhbmQgc2V0IGludGVybGFjZWQgY2FwcyBhY2NvcmRpbmdseQoJICBSZWplY3QgdGhlIGZvcm1hdCBpZiB0aGUgZmllbGQgdHlwZSBpcyBub3Qgc3VwcG9ydGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM0MzkxCgoyMDEwLTEyLTAzIDE3OjQyOjE0ICswMTAwICBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAc3Rlcmljc3Nvbi5jb20+CgoJKiBBbmRyb2lkLm1rOgoJKiBhbmRyb2lkL05PVElDRToKCSogYW5kcm9pZC9hcGV0YWcubWs6CgkqIGFuZHJvaWQvYXZpLm1rOgoJKiBhbmRyb2lkL2Zsdi5tazoKCSogYW5kcm9pZC9nc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5jOgoJKiBhbmRyb2lkL2dzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmg6CgkqIGFuZHJvaWQvZ3N0L3VkcC9nc3R1ZHAtZW51bXR5cGVzLmM6CgkqIGFuZHJvaWQvZ3N0L3VkcC9nc3R1ZHAtZW51bXR5cGVzLmg6CgkqIGFuZHJvaWQvZ3N0L3VkcC9nc3R1ZHAtbWFyc2hhbC5jOgoJKiBhbmRyb2lkL2dzdC91ZHAvZ3N0dWRwLW1hcnNoYWwuaDoKCSogYW5kcm9pZC9pY3lkZW11eC5tazoKCSogYW5kcm9pZC9pZDNkZW11eC5tazoKCSogYW5kcm9pZC9xdGRlbXV4Lm1rOgoJKiBhbmRyb2lkL3J0cC5tazoKCSogYW5kcm9pZC9ydHBtYW5hZ2VyLm1rOgoJKiBhbmRyb2lkL3J0c3AubWs6CgkqIGFuZHJvaWQvc291cC5tazoKCSogYW5kcm9pZC91ZHAubWs6CgkqIGFuZHJvaWQvd2F2ZW5jLm1rOgoJKiBhbmRyb2lkL3dhdnBhcnNlLm1rOgoJICBBZGQgYnVpbGQgc3lzdGVtIGZvciBBbmRyb2lkCgoyMDEwLTAzLTI2IDEzOjUxOjU4ICswMTAwICBHdWlsbGF1bWUgRW1vbnQgPGdlbW9udEBpZ2FsaWEuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2c2Vlay5jOgoJICBuYXZzZWVrOiBhZGQgYmFzaWMgc3VwcG9ydCB0byBjaGFuZ2UgcGxheWJhY2sgcmF0ZQoJICBUaGUgZm9sbG93aW5nIGtleXMgd2lsbCBub3cgYmUgaW50ZXJwcmV0ZWQgYnkgbmF2c2VlazoKCSAgJ2YnIG1lYW5zIGZhc3QgZm9yd2FyZDogdGhlIHN0cmVhbSBnZXRzIHBsYXllZCBhdCByYXRlIDIuMAoJICAncicgbWVhbnMgcmV3aW5kOiB0aGUgc3RyZWFtIGdldHMgcGxheWVkIGF0IHJhdGUgLTIuMAoJICAnbicgbWVhbnMgbm9ybWFsOiB0aGUgc3RyZWFtIGdldHMgcGxheWVkIGF0IHJhdGUgMS4wCgkgIEZpeGVzICM2MzE1MTYuCgoyMDEwLTEyLTAxIDEzOjEyOjA0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWRkIHN1cHBvcnQgZm9yIGUoYSljLTMgYXVkaW8KCjIwMTAtMTEtMTkgMTI6NDQ6MzUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhdm9pZCBzZW5kaW5nIEVPUyBldmVudCB0d2ljZQoKMjAxMC0xMS0xOSAxMjo0NDoxOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlbW92ZSBkZWFkIGNvZGUgdHJ5aW5nIHRvIHVwZGF0ZSBzdHJlYW0gZHVyYXRpb24KCSAgT24gdGhlIG9uZSBoYW5kLCBpdCBpbnN1ZmZpY2llbnRseSBjaGVja3Mgd2hldGhlciBpdCBvbmx5IHVwZGF0ZXMgYSBkdW1teQoJICBzZWdtZW50LiAgT24gdGhlIG90aGVyIGhhbmQsIG9ubHkgZG9pbmcgdGhpcyBhdCB0aGUgdGltZSB0aGUgbGFzdCBzYW1wbGVkIGlzCgkgIHByZXBhcmVkIChhbmQgc2VudCBkb3duc3RyZWFtKSBpcyB0b28gbGl0dGxlIHRvbyBsYXRlLgoKMjAxMC0xMS0wOSAxMDo1ODo1NyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZyYWdtZW50ZWQgc3VwcG9ydDsgaGFuZGxlIGlzbXYgc2FtcGxlIGZsYWdzCgoyMDEwLTExLTA4IDExOjQxOjIxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZnJhZ21lbnRlZCBzdXBwb3J0OyBoYW5kbGUgaXNtdiBzdGJsIGF0b21zCgkgIC4uLiBvciBsYWNrIG9mIHNvbWUgdGhlcmVvZiwgc3VjaCBhcyBtYW5kYXRvcnkgc3Rzei4gIFNodWZmbGUgc29tZSBjb2RlCgkgIGluIF9zdGJsX2luaXQgdG8gZGV0ZWN0IHRoaXMgZWFybHkgZW5vdWdoLgoKMjAxMC0xMS0wOCAxMTozOTozNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZyYWdtZW50ZWQgc3VwcG9ydDsgY29tcGVuc2F0ZSBmb3IgaXNtdiBvZmZzZXQgaGFuZGxpbmcKCSAgLi4uIG9yIGxhY2sgdGhlcmVvZiwgd2hpY2ggYWNjb3JkaW5nIHRvIHNwZWNzIHdvdWxkIHB1dCBtZWRpYSBkYXRhIGluCgkgIHVubGlrZWx5IHBvc2l0aW9uLgoKMjAxMC0xMS0wNCAxNDowNzo1NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogZnJhZ21lbnRlZCBzdXBwb3J0IGZvciBwdXNoIG1vZGUKCjIwMTAtMTEtMDQgMTA6MTc6MzcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IGZyYWdtZW50ZWQgc3VwcG9ydDsgcHJvcGVyIGFuZCBpbmNyZW1lbnRhbCBtb29mIHBhcnNpbmcKCSAgVGhhdCBpcywgcGFyc2UgZWFjaCBtb29mIGluIG9uZSBwYXNzIChjb25zaWRlcmluZyBhbGwgY29udGFpbmVkIHN0cmVhbXMnCgkgIG1ldGFkYXRhKSwgYW5kIGRvIHNvIGluY3JlbWVudGFsbHkgYXMgbmVlZGVkIGZvciBwbGF5YmFjayByYXRoZXIgdGhhbgoJICBhbiBpbml0aWFsIGNvbXBsZXRlIHNjYW4gb2YgYWxsIG1vb2YgKHRob3VnaCBhbGwgbW9vdiBzYW1wbGUgbWV0YWRhdGEKCSAgaXMgZnVsbHkgcGFyc2VkIGF0IHN0YXJ0dXApLgoKMjAxMC0xMS0wNCAxMDowNjozMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlZmFjdG9yIHN0cmVhbSBmcmVlaW5nCgoyMDEwLTExLTA0IDEwOjA1OjE1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZGVsZWdhdGUgbGluZWFyIHNlYXJjaCBmb3Igc2FtcGxlIHRvIGJpbmFyeSBzZWFyY2ggd2hlbiBwb3NzaWJsZQoJICBBbHNvIGFycmFuZ2UgZm9yIHBhcnNpbmcgYSBzYW1wbGUgcHJpb3IgdG8gdGFraW5nIGEgcmVmZXJlbmNlIHRvIGl0LAoJICB3aGljaCByZXF1aXJlcyBsZXNzIG1lbW9yeSBsYXlvdXQgYXNzdW1wdGlvbnMgZm9yIGNvcnJlY3RuZXNzLgoKMjAxMC0xMS0wMSAxNTo1MjoyOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZyYWdtZW50ZWQgc3VwcG9ydDsgaGFuZGxlIG1vb3Ygc2FtcGxlcyBhbmQgcHJvcGVyIHN0cmVhbSBkdXJhdGlvbgoKMjAxMC0xMS0wMSAxMzo0MDowNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZyYWdtZW50ZWQgc3VwcG9ydDsgY29uc2lkZXIgbXZleCBhbmQgaGFuZGxlIGZsYWdzIGFuZCBvZmZzZXQgZmllbGRzCgoyMDEwLTEwLTI4IDE2OjQ5OjQxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZnJhZ21lbnRlZCBzdXBwb3J0OyBmb3JlZ28gY2hlY2sgZm9yIHNob3J0IHN0cmVhbXMKCSAgLi4uIGFzIHNvbWUgYm9ndXMgZmlsZXMgbWF5IGluZGljYXRlIHN0cmVhbXMgb2YgMCBkdXJhdGlvbiBpbiBtb292LAoJICB3aGlsZSBpbmRpY2F0aW5nIHRoZSBjb21wbGV0ZSBtb3ZpZSBkdXJhdGlvbiBpbiBtdmhkICh0aGUgbGF0dGVyIHNob3VsZAoJICBiZSBpbiBtZWhkKS4KCjIwMTAtMTAtMjggMTY6NDY6NDggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmg6CgkgIHF0ZGVtdXg6IGZyYWdtZW50ZWQgc3VwcG9ydDsgY29kZSBjbGVhbnVwcyBhbmQgb3B0aW1pemF0aW9ucyBpbiBhdG9tIHBhcnNpbmcKCSAgQXZvaWQgZXh0cmEgYWxsb2NhdGlvbiBpbiBfcGFyc2VfdHJ1biwgYWRkIG1vcmUgY2hlY2tzIGZvciBwYXJzaW5nIGVycm9ycywKCSAgYWRkIG9yIGFkanVzdCBzb21lIGRlYnVnIHN0YXRlbWVudCwgZml4IGNvbW1lbnRzLCBzcHJpbmtsZSBzb21lIGJyYW5jaAoJICBwcmVkaWN0aW9uLgoKMjAxMC0wOS0xMyAyMzoxOTo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHBhcnNlX21vb2Ygc2hvdWxkIHJldHVybiBUUlVFIG9uIHN1Y2Nlc3MKCjIwMTAtMDktMTAgMjI6NDE6MDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggaXRlcmF0aW9uIGJ1ZwoJICBBdm9pZCBpbmZpbml0ZSBsb29wIHdoZW4gaXRlcmF0aW5nIHRyYWYKCjIwMTAtMDktMTAgMjE6MzI6MjYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBSZWZhY3RvciB0cnVuIHBhcnNpbmcKCSAgVGhlIGFsbG9jYXRpb24gb2YgdGhlIHNhbXBsZXMgY2FuIGJlIHBsYWNlZCBvdXQgb2YgdGhlIGxvb3AuCgkgIE1ha2VzIHRoZSBjb2RlIGNsZWFyZXIuCgkgIEFsc28gYXZvaWQgcmVseWluZyBvbiB0cmFmIGluZm9ybWF0aW9uIGFzIGl0IGlzIHBsYWNlZCBvbiB0aGUKCSAgZW5kIG9mIHRoZSBmaWxlIGFuZCBtaWdodCBub3QgYmUgYWNlc3NpYmxlIG9uIHB1c2ggbW9kZS4KCjIwMTAtMDktMTAgMDA6Mjk6MjYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBSZW1vdmUgcGFyc2luZyBvZiB1bnVzZWQgYXRvbQoJICBzZHRwIGF0b20gaXMgcGFyc2VkIGJ1dCBub3QgdXNlZCwgc28gd2UgZG9uJ3QgaGF2ZSB0bwoJICBwYXJzZSBpdC4KCjIwMTAtMTEtMDkgMTE6NDU6MDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiB0d2VhayB3YW0gc3VwcG9ydAoJICAuLi4gd2l0aCBzb21lIGNvbW1lbnQgYW5kIHBvcnRhYmlsaXR5IG1hY3Jvcy4KCjIwMDktMDktMjMgMTg6NDc6NDIgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmM6CgkgIHF0ZGVtdXg6IHN1cHBvcnQgd21hICYgdmMtMQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk2MzIxCgoyMDEwLTAzLTExIDA5OjU2OjA0ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogcGFyc2UgZm1wNCBzYW1wbGVzIGluZm9ybWF0aW9uCgkgIFRoZSBmcmFnbWVudGVkIG1wNCBmb3JtYXQgc3RvcmVzIHRoZSB0cmFja3MgYW5kIHNhbXBsZXMgaW5mb3JtYXRpb24gaW4gdGhlCgkgICdtb29mJyBib3hlcywgd2hpY2ggYXJlIGFwcGVuZGVkIGJlZm9yZSBlYWNoIGZyYWdtZW50IChmcmFnbWVudC0+J21vb2YnKydtZGF0JykuCgkgIFRoZSAnbWZyYScgYm94IHN0b3JlcyB0aGUgb2Zmc2V0IG9mIGVhY2ggJ21vb2YnIGJveCBhbmQgdGhlaXIgcHJlc2VudGF0aW9uCgkgIHRpbWUuIFRoZSBsb2NhdGlvbiBvZiB0aGlzIGJveCBjYW4gYmUgcmV0cmlldmVkIGZyb20gdGhlICdtZnJvJyBib3gsIHdoaWNoIGlzCgkgIGxvY2F0ZWQgYXQgdGhlIGVuZCBvZiB0aGUgZmlsZS4KCSAgVGhlICdtZnJhJyBib3ggaXMgcGFyc2VkIHRvIGdldCB0aGUgb2Zmc2V0IG9mIGVhY2ggJ21vb2YnIGJveCBhbmQgdGhlaXIKCSAgcHJlc2VudGF0aW9uIHRpbWUuCgkgIEVhY2ggJ21vb2YnIGJveCBjYW4gY29udGFpbiBpbmZvcm1hdGlvbiBmb3Igb25lIG9yIG1vcmUgdHJhY2tzIGluc2lkZQoJICAndGZoZCcgYm94ZXMuIEZvciBlYWNoIHRyYWNrIGluIGEgJ21vb2YnLCB3ZSBoYXZlIGEgJ3RydW4nIGJveCwgd2hpY2gKCSAgY29udGFpbnMgaW5mb3JtYXRpb24gb2YgZWFjaCBzYW1wbGUgKG9mZnNldCBhbmQgZHVyYXRpb24pIHVzZWQgdG8gYnVpbGQKCSAgdGhlIHNhbXBsZXMgdGFibGUuCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk2MzIxCgoyMDEwLTAzLTExIDE1OjM0OjQ5ICswMTAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0YXRvbXBhcnNlci5oOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmg6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5oOgoJICBxdGRlbXV4OiBhZGQgZnJhZ21lbnRlZCBtcDQgZm91cmNjcwoJICBBZGRzIGZvdXJjYydzIGZvciB0ZnJhLCB0ZmhkLCB0cnVuLCBzZHRwLCB0cmV4LCBtZWhkIGFuZAoJICB0aGVpciBkdW1wcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk2MzIxCgoyMDEwLTAzLTExIDEwOjI0OjU2ICswMTAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcGFyc2UgdGhlIHRyYWNrIGlkIGZyb20gdGhlIHRyYWNrIGhlYWRlcgoJICBTaWduZWQtb2ZmLWJ5OiBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTYzMjEKCjIwMTAtMDMtMTEgMTQ6MTA6MTIgKzAxMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhbGxvdyBwdWxsaW5nIGF0b21zIHdpdGggdW5rbm93biBzaXplCgkgIFNpZ25lZC1vZmYtYnk6IEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5NjMyMQoKMjAxMC0wNy0xNCAyMDoxMzo1NSArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuYzoKCSAgcXRkZW11eDogbWFrZSBxdGRlbXV4X2R1bXBfbXZoZCBwYXJzZSB2ZXJzaW9uIDEgY29ycmVjdGx5CgkgIFZlcnNpb25zIDAgYW5kIDEgb2YgbXZoZCBoYXZlIGRpZmZlcmVudCBzaXplcyBvZiBpdHMgdmFsdWVzCgkgICgzMmJpdHMvNjRiaXRzKS4gVGhpcyBwYXRjaCBtYWtlcyBpdCBkdW1wIHRoZW0gY29ycmVjdGx5LgoJICBBbHNvIHVzZSB0aGUgcmlnaHQgbm9kZSBpbiB0aGUgcGFyYW1ldGVyIGFuZCBub3QgdGhlIHJvb3Qgbm9kZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5NjMyMQoKMjAxMC0xMS0xOSAxMjo0NTowMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IG1pbm9yIGNsZWFudXBzIGluIHNldHRpbmcgc3RyZWFtaGVhZGVyIG9uIGNhcHMKCjIwMTAtMTEtMDIgMTc6MDQ6MDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IG5vcm1hbGl6ZSBlbXB0eSBDdWVzIHRvIG5vIEN1ZXMKCSAgLi4uIHRvIHRyaWdnZXIgaW5kZXhsZXNzIHNlZWtpbmcuCgoyMDEwLTEwLTI2IDExOjE1OjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGFkZCB3b3JrYXJvdW5kIGZvciBidWdneSBsaXN0IHNpemUKCSAgRml4ZXMgdHJ1bmNhdGVkIGV4dHJhLWRhdGEgaW4gaGRybC9zdHJsL3N0cmYgZHVlIHRvIGJ1Z2d5IGNvbnRhaW5pbmcKCSAgbGlzdCBzaXplIG5vdCBhY2NvdW50aW5nIGZvciBwYWRkaW5nIGluIGNvbnRhaW5lZCBjaHVua3MuCgoyMDEwLTEyLTAyIDE2OjExOjAxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IGRvIG5vdCBob2xkIGN1c3RvbSBQQURfTE9DSyB3aGVuIHB1c2hpbmcgZG93bnN0cmVhbQoKMjAxMC0xMi0wMiAxNjoxMDoxNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHJlc2V0IHNlc3Npb24gbWFuYWdlciBiYXNlIHRpbWUgd2hlbiBmbHVzaGluZwoJICAuLi4gYXMgcnRwYmluIHVzZXMgcnVubmluZyB0aW1lIHRvIGhhbmRsZSBydHBqaXR0ZXJidWZmZXIncyBidWZmZXIgbW9kZSBwYXVzZXMuCgoyMDEwLTEyLTAxIDE2OjUxOjMzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogaW5jbHVkZSByYW5nZSByZXF1ZXN0IGZvciBhbGwgc3RyZWFtcyB3aXRoIG5vbi1hZ2dyZWdhdGUgY29udHJvbAoKMjAxMC0xMC0wNyAxNDo1MDo1MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBkZWJ1ZyBzdGF0ZW1lbnQKCjIwMTAtMTItMDMgMTU6Mzg6MDAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBQYXJzZSBtb3JlIHZhcmlhbnRzIG9mIG51bWVyaWNhbCBJRElUIHRhZwoKMjAxMC0wNS0wNyAxNzozMDozMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkgIHBuZ2VuYzogVXNlIHByb3BlciBmcmFtZXJhdGUgcmFuZ2UgaW4gY2FwcwoKMjAxMC0xMi0wMyAxNTowNDoyNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy93YXZlbmMuYzoKCSAgdGVzdHM6IEZpeCBwcmV2aW91c2x5IHVuYnVpbGRhYmxlL3VudGVzdGVkIHdhdmVuYyB0ZXN0CgoyMDEwLTEwLTI0IDE1OjIxOjA4ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogUmVmYWN0b3IgdGFnIHB1c2hpbmcgbG9naWMKCSAgVGhlIGxvZ2ljIG9mIHdoZW4gdG8gcHVzaCB3YXMgd3JvbmcgYWxzbyAocmVzdWx0aW5nIGluIHNvbWUgdGFncyBuZXZlcgoJICBiZWluZyBwdXNoZWQpLgoKMjAxMC0xMC0yNCAxNToyMDoyNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IFVzZSBwYnV0aWxzIGZvciBjb2RlYyBkZXNjcmlwdGlvbnMKCjIwMTAtMDQtMTMgMTE6Mjk6MzAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91ZHBzaW5rLmM6CgkgIGNoZWNrOiBVc2UgZmFpbF91bmxlc3NfZXF1YWxzX2ludCBpbnN0ZWFkIG9mIGZhaWxfaWYKCSAgTWFrZXMgdGhlIGVycm9yIG1lc3NhZ2UgbW9yZSBpbnRlcmVzdGluZwoKMjAxMC0xMS0zMCAxOToyMjoxMSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IEFsc28gZXh0cmFjdCBJRElUIHRhZ3MgcHJlc2VudCB0b28gZWFybHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNjE0MwoKMjAxMC0xMS0zMCAxOToyMToyMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IEFsc28gZW1pdCBEYXRlVGltZSB0YWcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNjE0MwoKMjAxMC0xMi0wMyAwMDoyMjo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGRldGVjdCBEVFMgYWR2ZXJ0aXNlZCBhcyBQQ00gY29ycmVjdGx5IGluIHNvbWUgbW9yZSBjYXNlcwoJICBUaGUgRFRTIHR5cGVmaW5kZXIgbWF5IHJldHVybiBhIGxvd2VyIHByb2JhYmlsaXR5IGZvciBmcmFtZXMgdGhhdCBzdGFydAoJICBhdCBub24temVybyBvZmZzZXRzIGFuZCB3aGVyZSB0aGVyZSdzIG5vIHNlY29uZCBmcmFtZSBzeW5jIGluIHRoZSBmaXJzdAoJICBidWZmZXIuIEl0J3MgZmFpcmx5IHVubGlrZWx5IHRoYXQgd2UnbGwgYWNpZGVudGFsbHkgaWRlbnRpZnkgUENNIGRhdGEKCSAgYXMgRFRTLCBzbyB3ZSBkb24ndCBkbyBhZGRpdGlvbmFsIGNoZWNrcyBmb3Igbm93LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM2MjM0CgoyMDEwLTExLTA4IDE3OjExOjQyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IG1ha2VmaWxlIGNsZWFudXAKCSAgRml4IGluZGVudGF0aW9uLiBVc2UgJChHU1RfTUFKT1JNSU5PUikgaW5zdGVhZCBvZiBoYXJkY29kZWQgMC4xMC4KCjIwMTAtMTEtMDggMTc6MDI6NTYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdmVuYy5jOgoJICB0ZXN0czogYWRkIGEgdGVzdCBmb3Igd2F2IG11eGluZwoKMjAxMC0xMS0wOCAxNjo1NzoxNyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2cGFjay5jOgoJICB0ZXN0czogcmVtb3ZlIG5ld2xpbmVzIGJldHdlZW4gdmFyaWFibGUgZGVjbHMgKG9sZCBnc3QtaW5kZW50IGZhaWx1cmUpCgoyMDEwLTExLTA4IDE0OjQ3OjA0ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICBwbmdkZWM6IHVzZSBwbmdfZXJyb3IoKSBhcyByZWNvbW1lbmRlZCBieSBsaWJwbmcgZG9jcyB0byBzaWduYWwgYW4gZXJyb3IKCSAgV2l0aG91dCB0aGF0IHRoZSBlbGVtZW50IGxvb3BzIGVuZGxlc3NseSBvbiBicm9la24gcG5ncy4gRml4ZXMgIzYzNDMxNAoKMjAxMC0xMS0xNiAxNzo0ODoxNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFBhcnNlIGFuZCB1c2UgY3JlYXRpb24gdGltZSB0YWcgZnJvbSBtdmhkCgkgIEV4cG9zZSBjcmVhdGlvbiB0aW1lIGZyb20gbXZoZCBhcyBhIGRhdGV0aW1lIHRhZwoJICBGaXhlcyAjNjM0OTI4CgoyMDEwLTEwLTI3IDE5OjE1OjIwICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSAgaWN5ZGVtdXg6IEFkZCAnU3RyZWFtVXJsJyBtZXRhZGF0YSBhcyBHU1RfVEFHX0hPTUVQQUdFIHRhZwoKMjAxMC0xMC0yMyAxOTozNDowMCAtMDQwMCAgVG9tIEphbmlzemV3c2tpIDxUb20uSmFuaXN6ZXdza2lAYWxjYXRlbC1sdWNlbnQuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBGaXggZm9yIG5lbGx5bW9zZXIgY29kZWNpZCBzZXR0aW5nCgkgIEZpeGVzIGJ1ZyAjNjMyODk3LgoKMjAxMC0xMC0yMSAxNjoxNTowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBBZGQgc3VwcG9ydCBmb3IgRS1BQzMKCjIwMTAtMTAtMjEgMTY6MTQ6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogQWRkIHN1cHBvcnQgZm9yIERUUwoKMjAxMC0xMC0zMSAxODowODoxNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogRG9uJ3Qgc2VuZCBzZWVrcyBiZWhpbmQgdGhlIGVuZCBvZiBmaWxlIHRvIHRoZSBzZXJ2ZXIKCSAgQWxzbyBpbXByb3ZlIGRlYnVnIG91dHB1dCwgcmUtaW5pdGlhbGl6ZSB0aGUgY29udGVudCBzaXplIGFuZCBsZXQgdGhlCgkgIHNlZWsgaGFuZGxlciBlcnJvciBvdXQgb24gaW52YWxpZCBzZWVrIHNlZ21lbnRzLgoJICBGaXhlcyBidWcgIzYzMjk3Ny4KCjIwMTAtMTItMDIgMTc6NTM6NDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJICBqMmtwYXk6IHVzZSBTT1AgbWFya2VycyB0byBzcGxpdCBiaXRzdHJlYW0KCSAgV2hlbiBwYXJzaW5nIHRoZSBiaXRzdHJlYW0sIGxvb2sgZm9yIFNPUCBtYXJrZXJzIGJlY2F1c2Ugd2UgYXJlIGFsbG93ZWQgdG8gc3BsaXQKCSAgcGFja2V0cyBvbiB0aG9zZSBtYXJrZXIgYm91bmRhcmllcy4KCSAgUmV3b3JrIHRoZSBwYXJzaW5nIGNvZGUgYSBsaXR0bGUgc28gdGhhdCB3ZSBjYW4gcGFjayBtdWx0aXBsZSBQYWNrZXRpemF0aW9uCgkgIHVuaXRzIGluIG9uZSBSVFAgcGFja2V0LgoKMjAxMC0xMS0xOCAxMjo0OTo0NyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5Lmg6CgkgIHJ0cGoya3BheTogdXNlIGJ1ZmZlciBsaXN0cwoJICBVc2UgYnVmZmVyIGxpc3RzIGZvciBkb2luZyB6ZXJvY29weSBwYXlsb2FkaW5nLgoJICBBZGQgcHJvcGVydHkgdG8gZGlzYWJsZSBidWZmZXIgbGlzdHMuCgoyMDEwLTExLTE2IDE2OjU0OjI1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIGgyNjRwYXk6IHNtYWxsIGNsZWFudXBzCgkgIEFsbG9jYXRlIGFkYXB0ZXIgb25seSBvbmNlLgoJICBNYWtlIHNvbWUgZ3VpbnQ4ICogY29uc3QuCgoyMDEwLTExLTE2IDE1OjM5OjI0ICswMTAwICBUYW1iZXQgSW5nbyA8dGFtYmV0IGF0IGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuaDoKCSAgcnRwaDI2NHBheTogaW1wbGVtZW50IGZ1bGwgYnl0ZXN0cmVhbSBzY2FuIG1vZGUuCgkgIEltcGxlbWVudCB0aGUgZnVsbCBieXRlc3RyZWFtIHNjYW4gbW9kZS4KCSAgRml4ZXMgIzYzNDkxMAoKMjAxMC0xMS0xNSAxMDo1MjozMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2M3AtQU1SLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjNwLVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2M3Auc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2NC1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjQuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci12NGwyLUgyNjQtYWxzYXNyYy1QQ01BLnNoOgoJICBleGFtcGxlczogaW1wcm92ZSBSVFAgZXhhbXBsZXMKCSAgTWFrZSB0aGUgZXhhbXBsZXMgdXNlIGF1dG92aWRlb3NpbmsgYW5kIGZmbXBlZ2NvbG9yc3BhY2UgZm9yIGJldHRlcgoJICBjb21ww6B0aWJpbGl0eS4KCSAgTWFrZSBzb21lIG1vcmUgdmFyaWFibGVzIGZvciB0aGUgc2luayBhbmQgdGhlIGRlY29kZXJzLgoJICBTZXQgemVyb2xhdGVuY3kgdHVuaW5nIG9uIHgyNjRlbmMgZm9yIGJldHRlciByZWFsdGltZSByZXN1bHRzLgoKMjAxMC0xMS0xMCAxMTowNDo0OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBzZWxlY3QgbXVsdGljYXN0IHRyYW5zcG9ydHMgaW4gYSBzbWFydGVyIHdheQoJICBXaGVuIHdlIHNlZSBhIG11bHRpY2FzdCBhZGRyZXNzIGluIHRoZSBTRFAgY29ubmVjdGlvbiwgb25seSB0cnkgdG8gbmVnb3RpYXRlIGEKCSAgbXVsdGljYXN0IHRyYW5zcG9ydCB3aXRoIHRoZSBzZXJ2ZXIuCgkgIEZpeGVzICM2MzQwOTMKCjIwMTAtMTItMDIgMTg6MTQ6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBCdW1wIEdMaWIgcmVxdWlyZW1lbnQgdG8gaW1wbGljaXQgcmVxdWlyZW1lbnQKCSAgaWUuID49IDIuMjAgd2hpbGUgd2UgZGVwZW5kIG9uIGNvcmUvYmFzZSAwLjEwLjMxCgoyMDEwLTEyLTAyIDE4OjEzOjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTAuMjYgPT09CgoyMDEwLTEyLTAxIDIxOjE1OjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMjYKCjIwMTAtMTEtMzAgMTU6Mjg6NTAgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBhbmFseXNlIFJGRiBmaWVsZHMgaW4gY29ycmVjdCBvcmRlcgoJICBDb2RlIHdhcyByZXBlYXRpbmcgdGhlIHNlY29uZCBmaWVsZCwgbm90IHRoZSBmaXJzdC4KCSAgRml4ZXM6ICM2MzYxNzkuCgoyMDEwLTExLTI5IDE1OjMyOjQwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogaGFuZGxlIHN0YWxlIGRpZ2VzdCBhdXRoZW50aWNhdGlvbiBzZXNzaW9uIGRhdGEKCSAgSW4gcGFydGljdWxhciwgaGFuZGxlIFVuYXV0aG9yaXplZCBzZXJ2ZXIgcmVzcG9uc2Ugd2hlbiB0cnlpbmcgdG8gY29udmV5CgkgIGtlZXAtYWxpdmUuCgkgIEZpeGVzICM2MzU1MzIuCgoyMDEwLTExLTI2IDE1OjAwOjI5ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiBmaXggc2VnZmF1bHQgb24gZW1wdHkgcGF5bG9hZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM1ODQzCgoyMDEwLTExLTI1IDE5OjA2OjI3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIGR0bWY6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDEwLTExLTE4IDAwOjQ1OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjI1LjUgcHJlLXJlbGVhc2UKCjIwMTAtMTEtMTggMDA6NDQ6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYmcucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9odS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3RyLnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMC0xMS0xNCAwMDoxODoxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IGZpeCByZWZlcmVuY2UgbGVhawoKMjAxMC0xMS0xMiAyMzo1OTowNiArMTEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBGbHVzaCBRb1MgYW5kIGhpc3RvcnkgYmVmb3JlIGFwcGx5aW5nIHNlZ21lbnQKCSAgV2hlbiBoYW5kbGluZyBuZXdzZWdtZW50LCBmbHVzaCBvdXQgdGhlIGJ1ZmZlciBoaXN0b3J5IGluIHRoZQoJICBleGlzdGluZyBzZWdtZW50LCBub3QgdGhlIG5ldyBvbmUuIEZpeGVzIHBsYXliYWNrIGluIHNvbWUgRFZECgkgIGNhc2VzLgoJICBQYXJ0aWFsbHkgZml4ZXMgIzYzMzI5NAoKMjAxMC0xMS0xMiAxMjoyMDoxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IGltcHJvdmUgZXZlbnQgbG9nZ2luZwoKMjAxMC0xMS0wNSAxNzowMDoxNSArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJICBkZWludGVybGFjZTogSW1wbGVtZW50IGZpZWxkIGhpc3RvcnkgZmx1c2hpbmcKCSAgSW4gYSBudW1iZXIgb2YgY2FzZXMgaXQgaXMgbmVjZXNzYXJ5IHRvIGZsdXNoIHRoZSBmaWVsZCBoaXN0b3J5IGJ5CgkgIHBlcmZvcm1pbmcgJ2RlZ3JhZGVkJyBkZWludGVybGFjaW5nIC0gdGhhdCBpcywgdXNpbmcgdGhlIHVzZXItY2hvc2VuCgkgIG1ldGhvZCBmb3IgYXMgbWFueSBmaWVsZHMgYXMgcG9zc2libGUsIHRoZW4gdXNpbmcgdmZpciBmb3IgYXMgbG9uZyBhcwoJICB0aGVyZSBhcmUgPj0gMiBmaWVsZHMgcmVtYWluaW5nIGluIHRoZSBoaXN0b3J5LCB0aGVuIHVzaW5nIGxpbmVhciBmb3IKCSAgdGhlIGxhc3QgZmllbGQuCgkgIFRoaXMgc2hvdWxkIGF2b2lkIGxvc2luZyBmaWVsZHMgYmVpbmcga2VwdCBmb3IgaGlzdG9yeSBmb3IgZXhhbXBsZSBhdAoJICBFT1MuCgkgIFRoaXMgbWF5IGFkZHJlc3MgcGFydCBvZiAjNjMzMjk0CgoyMDEwLTExLTA1IDE1OjQ0OjM1ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IFJlZmFjdG9yIGNoYWluIGZ1bmN0aW9uCgkgIFRoaXMgaXMgbmVlZGVkIHRvIGJlIGFibGUgdG8gb3V0cHV0IGEgZnJhbWUgZnJvbSBvdXRzaWRlIHRoZSBjaGFpbgoJICBmdW5jdGlvbiwgaS5lLiBpbiB0aGUgZm9sbG93aW5nIGNvbW1pdCB0aGF0IGFkZHMgZmx1c2hpbmcgb2YgdGhlIGZpZWxkCgkgIGhpc3RvcnkuCgoyMDEwLTExLTA1IDE3OjE3OjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiB3ZSBzdGlsbCByZXF1aXJlIEd0aysgPj0gMi4xNC4wIHdoZW4gY29tcGlsaW5nIGFnYWluc3QgMi4wCgkgIFRoZSBjaGVjayBmb3IgdGhlIG1pbm9yIHZlcnNpb24gd2FzIGRyb3BwZWQgaW4gdGhlIHByZXZpb3VzIGNvbW1pdC4KCjIwMTAtMTEtMDUgMTY6MjQ6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGFkZCAtLXdpdGgtZ3RrIG9wdGlvbiBhbmQgZGVmYXVsdCB0byBHdGsrIDIuMCB3aGlsZSB0aGUgMy4wIEFQSSBpcyBzdGlsbCBpbiBmbHV4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzQwMTQKCjIwMTAtMTEtMDQgMTY6NDI6MDcgKzEwMDAgIEpvbmF0aGFuIE1hdHRoZXcgPGpvbmF0aGFuQGQxNG4ub3JnPgoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkgIGljeWRlbXV4OiBmaXggdXNlLWFmdGVyLWZyZWUgb2YgdGFnbGlzdAoJICBCcm9rZW4gYnkgY29tbWl0IDRjMmY1MzMzIChidWcgIzYzMDIwNSkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzM5NzAKCjIwMTAtMTEtMDEgMTc6Mjk6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjUuNCBwcmUtcmVsZWFzZQoKMjAxMC0xMS0wMSAxNzoyODozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZXMucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vc2wucG86CgkqIHBvL3N2LnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMC0xMS0wMSAxNjowNDoyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IC0tZGlzYWJsZS1leHRlcm5hbAoKMjAxMC0xMS0wMSAxNDo1NjoyOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5Lmg6CgkgIHJ0cGgyNjRkZXBheTogb25seSBzZXQgZGVsdGEgdW5pdCBvbiBhbGwtbm9uLWtleSB1bml0cwoJICBPbmx5IHNldCB0aGUgZGVsdGEgZmxhZyB3aGVuIGFsbCBvZiB0aGUgdW5pdHMgaW4gdGhlIHBhY2tldCBhcmUgZGVsdGEgdW5pdHMuCgkgIEJhc2VkIG9uIHBhdGNoIGZyb20gT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoJICBGaXhlcyAjNjMyOTQ1CgoyMDEwLTEwLTI2IDE1OjQ0OjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgZ29vbTogUmV0dXJuIG5vdC1uZWdvdGlhdGVkIHdoZW4gYnBzIGlzIHVua25vd24KCSAgSWYgY2FwcyB3ZXJlbid0IG5lZ290aWF0ZWQsIGdvb20gc2hvdWxkIHJldHVybiBub3QtbmVnb3RpYXRlZAoJICBmcm9tIGl0cyBjaGFpbiBmdW5jdGlvbnMgaW5zdGVhZCBvZiB1c2luZyBicHMgdW5pdGlhbGl6ZWQsIHdoaWNoCgkgIGxlYWRzIHRvIGEgZGl2aXNpb24gYnkgMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMzMjEyCgoyMDEwLTEwLTI3IDEzOjE2OjU0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDdiYmQ3MDggdG8gMDExYmNjOAoKMjAxMC0xMC0yNiAxNjo1NDoxMSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICB2aWRlb2ZsaXA6IEZvcndhcmQgc3JjIHBhZCBldmVudHMgdXBzdHJlYW0uCgkgIEZpeCBwYXNzaW5nIG5hdmlnYXRpb24gYW5kIG90aGVyIGV2ZW50cyB1cHN0cmVhbSBieSBhY3R1YWxseSBzZW5kaW5nIHRoZW0uCgkgIEZpeGVzOiAjNjMzMjA1CgoyMDEwLTEwLTI0IDE4OjUwOjMwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGRlYWRsb2NrIGluIGVycm9yIGNvZGUgcGF0aAoJICBHU1RfRUxFTUVOVF9FUlJPUiBtdXN0IG5vdCBiZSBjYWxsZWQgd2l0aCB0aGUgb2JqZWN0IGxvY2sgaGVsZCwKCSAgc2luY2UgaXQgd2lsbCBjYWxsIGdzdF9vYmplY3RfZ2V0X3BhcmVudCgpIGludGVybmFsbHksIHdoaWNoCgkgIHRha2VzIHRoZSBvYmplY3QgbG9jayBhcyB3ZWxsLgoKMjAxMC0xMC0yMCAxMDoyMTo0OCArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBSZW1vdmUgdXNlbGVzcyBjbGVhcmluZyBvZiBzZW5kX3hpcGhfaGVhZGVycyBmb3IgRGlyYWMKCSAgVGhpcyBsb29rcyBsaWtlIGEgbWlzdGFrZSB3aGVuIGNvcHktcGFzdGluZyB0aGUgVGhlb3JhIGNvZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzI2ODIKCjIwMTAtMTAtMjAgMTM6Mjg6MjggKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogZG9uJ3QgY3Jhc2ggaWYgdm9yYmlzL3RoZW9yYSBjb2RlYyBkYXRhIGlzIG1pc3NpbmcKCSAgRXJyb3Igb3V0IHByb3Blcmx5IGluIHRoaXMgY2FzZSBpbnN0ZWFkIG9mIGNyYXNoaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMyNjgyCgoyMDEwLTEwLTIyIDE4OjExOjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjI1LjMgcHJlLXJlbGVhc2UKCjIwMTAtMTAtMTkgMTY6NDU6NTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggZHVyYXRpb24gcmVwb3J0aW5nCgkgIEluaXQgc2VnbWVudCBwcmlvciB0byBzdG9yaW5nIGR1cmF0aW9uIGluZm8gaW4gaXQuCgkgIEZpeGVzICM2MzI1NDguCgoyMDEwLTEwLTE5IDE0OjIxOjUzICswMTAwICBCYXN0aWVuIE5vY2VyYSA8aGFkZXNzQGhhZGVzcy5uZXQ+CgoJKiBnY29uZi9NYWtlZmlsZS5hbToKCSAgZ2NvbmY6IERvbid0IGluc3RhbGwgc2NoZW1hcyB3aGVuIEdDb25mIGlzIGRpc2FibGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzI1NTMKCjIwMTAtMTAtMTkgMTM6NDM6MTQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgdmFyaW91cyAoZ3N0KTogYWRkIG1pc3NpbmcgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyBmbGFncwoJICBDYW5vbmljYWxpemUgcHJvcGVydHkgbmFtZXMgYXMgbmVlZGVkLgoKMjAxMC0xMC0xOSAxMzo0NDoyNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBkdG1mc3JjOiByZW1vdmUgREVCVUdfRlVOQ1BUUiBmcm9tIGdvYmplY3Qgdm1ldGhvZHMKCjIwMTAtMTAtMTYgMTU6NDM6NTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHdpbjMyOiBzZXQgR1NUX1BBQ0tBR0VfUkVMRUFTRV9EQVRFVElNRSBhbHNvIGluIHdpbjMyIGNvbmZpZy5oCgoyMDEwLTEwLTE2IDAxOjMzOjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjI1LjIgcHJlLXJlbGVhc2UKCjIwMTAtMTAtMTYgMDE6MjY6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vZWwucG86CgkqIHBvL3ZpLnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMC0xMC0xNSAxMzoyMjowMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IERvbid0IGRpc3QgZ2VuZXJhdGVkIG9yYyBmaWxlcwoKMjAxMC0xMC0xNSAxNDowMjoxOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0Lmg6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy1kaXN0Lmg6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5oOgoJICBVcGRhdGUgZ2VuZXJhdGVkIG9yYyBjb2RlCgoyMDEwLTEwLTE1IDE4OjAwOjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBidW1wIE9yYyByZXF1aXJlbWVudCB0byAwLjQuMTEKCjIwMTAtMTAtMTQgMTc6NDE6MzAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IFVzZSB0aGUgcmlnaHQgY29uc3RhbnQgdG8gZGVmaW5lIHRoZSAidXNlLXBpcGVsaW5lLWNsb2NrIiBwcm9wZXJ0eQoJICBUaGUgd3JvbmcgI2RlZmluZSB3YXMgYmVpbmcgdXNlZCwgbm93IHVzZSB0aGUgY29ycmVjdCBvbmUuCgoyMDEwLTEwLTE0IDEyOjMxOjQ4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNWE2NjhiZiB0byA3YmJkNzA4CgoyMDEwLTEwLTE0IDE3OjI2OjE0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIGFjMzogZGVtdXhlcnMgcHJvdmlkZSBmcmFtZWQgb3V0cHV0CgoyMDEwLTEwLTE0IDAwOjExOjI3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmg6CgkgIG1hdHJvc2thbXV4OiByZWR1Y2UgbmV3c2VnbWVudCBldmVudCBzcGFtIGFuZCBzZXQgZGlzY29udCBmbGFnIHdoZXJlIG5lZWRlZAoJICBPbmx5IHNlbmQgbmV3c2VnbWVudCBldmVudHMgd2l0aCBuZXcgcG9zaXRpb25zIGRvd25zdHJlYW0gd2hlbiBhY3R1YWxseQoJICBuZWVkZWQsIGluc3RlYWQgb2Ygc2VuZGluZyBtdWx0aXBsZSBuZXdzZWdtZW50IGV2ZW50cyB3aXRoIG5ldyBzZWVrCgkgIHBvc2l0aW9ucyBpbiBhIHJvdy4gQWxzbyBzZXQgdGhlIGRpc2NvbnQgZmxhZyBvbiBidWZmZXJzIGFmdGVyIGEKCSAgZGlzY29udGludWl0eS4KCjIwMTAtMTAtMTMgMjM6NDY6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuaDoKCSAgbWF0cm9za2FtdXg6IHNldCBjb3JyZWN0IGJ1ZmZlciBvZmZzZXRzIGFmdGVyIHNlZWtzCgkgIFJlLXVzZSB0aGUgZXhpc3RpbmcgJ3BvcycgZmllbGQgbWFpbnRhaW5lZCBieSBlYm1sIHdyaXRlciB0byBzZXQKCSAgYnVmZmVyIG9mZnNldHMuIFRoaXMgYWxzbyBtYWtlcyBzdXJlIHRoYXQgd2Ugc2V0IHRoZSByaWdodCBvZmZzZXRzCgkgIG9uIGJ1ZmZlcnMgYWZ0ZXIgYSBzZWVrIChlLmcuIHdoZW4gd3JpdGluZyBhbiBpbmRleCBhdCB0aGUgZW5kKS4KCjIwMTAtMTAtMTQgMDA6MjI6MDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogZG9uJ3QgZm9yd2FyZCB0YWcgZXZlbnRzIGRvd25zdHJlYW0KCSAgRG9uJ3QgZm9yd2FyZCBzdHJlYW0tc3BlY2lmaWMgdGFnIGV2ZW50cyBkb3duc3RyZWFtIChlc3AuIG5vdAoJICBiZWZvcmUgYW55IG5ld3NlZ21lbnQgZXZlbnQpLngKCjIwMTAtMTAtMTMgMTc6MTU6MjUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBxdGRlbXV4OiBoYW5kbGUgYW5vdGhlciBtcDR2IHZhcmlhdGlvbgoJICAuLi4gaW5jbHVkaW5nIHRoZSBnbGJsIGF0b20gY29udGFpbmluZyBjb2RlYy1kYXRhLgoKMjAxMC0xMC0xMyAxNzoyMToyMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2thcmFva2UuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJKiBnc3QvZGVidWd1dGlscy9icmVha215ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy9lZmVuY2UuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2c2Vlay5jOgoJKiBnc3QvZGVidWd1dGlscy9uZWdvdGlhdGlvbi5jOgoJKiBnc3QvZGVidWd1dGlscy9wcm9ncmVzc3JlcG9ydC5jOgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWVkaWFuL2dzdG1lZGlhbi5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnbGltaXRlci5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW90ZW1wbGF0ZS5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJICB2YXJpb3VzIChnc3QpOiBhZGQgYSBtaXNzaW5nIEdfUEFSQU1fU1RBVElDX1NUUklOR1MgZmxhZ3MKCjIwMTAtMTAtMTMgMTc6MTM6MDQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJlbGVtZW50LmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOgoJKiBzeXMvb3NzL2dzdG9zc3NyYy5jOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkqIHN5cy9vc3M0L29zczQtc2luay5jOgoJKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIHZhcmlvdXMgKHN5cyk6IGFkZCBhIG1pc3NpbmcgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyBmbGFncwoKMjAxMC0xMC0xMyAxNjoyNToxNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbHRhZy5jOgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkqIGV4dC9lc2QvZXNkbW9uLmM6CgkqIGV4dC9lc2QvZXNkc2luay5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZzaW5rLmM6CgkqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6CgkqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zaW5rLmM6CgkqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zcmMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6CgkqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkqIGV4dC9taWttb2QvZ3N0bWlrbW9kLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6CgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJICB2YXJpb3VzIChleHQpOiBhZGQgYSBtaXNzaW5nIEdfUEFSQU1fU1RBVElDX1NUUklOR1MgZmxhZ3MKCjIwMTAtMTAtMTMgMTY6MzQ6MDkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSogZXh0L2VzZC9lc2Rtb24uYzoKCSogZ3N0L21lZGlhbi9nc3RtZWRpYW4uYzoKCSAgdmFyaW91czogd3JhcCBwcm9wZXJ0eSByZWdpc3RyYXRpb24gYW5kIGFkZCBhIHNpbmdsZSBmaXhtZSBmb3IgbG9uZyBkZXNjLgoKMjAxMC0xMC0xMyAxMTo0Njo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIGgyNjRkZXBheTogYWx3YXlzIG1hcmsgdGhlIGNvZGVjX2RhdGEgYXMga2V5ZnJhbWUKCSAgV2UgbmVlZCB0byBtYXJrIHRoZSBjb2RlY19kYXRhIGFzIGEga2V5ZnJhbWUgb3IgZWxzZSBkb3duc3RyZWFtIGRlY29kZXJzIG1pZ2h0CgkgIGRlY2lkZSB0byBza2lwIGl0LCB3YWl0aW5nIGZvciBhIGtleWZyYW1lLgoJICBGaXhlcyAjNjMxOTk2CgoyMDEwLTEwLTEzIDA3OjE2OjQ3ICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSAgbWF0cm9za2FtdXg6IG1ha2UgYnVmZmVyIG9mZnNldHMgYSBieXRlIGNvdW50IHJhdGhlciB0aGFuIGEgYnVmZmVyIGNvdW50CgoyMDEwLTEwLTA3IDIxOjEyOjQ4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkqIGV4dC9lc2QvZXNkbW9uLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L21pa21vZC9nc3RtaWttb2QuYzoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2VmZW5jZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgZXh0LCBnc3Q6IGNhbm9uaWNhbGlzZSBwcm9wZXJ0eSBuYW1lcyB3aGVyZSB0aGlzIHdhc24ndCB0aGUgY2FzZQoJICBpZS4gImZvb19iYXIiIC0+ICJmb28tYmFyIgoKMjAxMC0xMC0xMiAxNTowMjo0MiArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6CgkgIHJ0cG1wdnBheTogZml4IHRpbWVzdGFtcGluZyBvZiBydHAgYnVmZmVycwoJICBJbmNvbW1pbmcgYnVmZmVyIGlzIG9ubHkgcHVzaGVkIG9uIHRoZSBhZGFwdGVyIGF0IHRoZSBlbmQgb2YgdGhlCgkgIGhhbmRsZV9idWZmZXIgZnVuY3Rpb24uIEJ1dCBkdXJhdGlvbi90aW1lc3RhbXAgb2YgdGhpcyBidWZmZXIgaXMgYWxyZWFkeQoJICB0YWtlbiBpbnRvIGFjY291bnQgZm9yIHRoZSBjdXJyZW50IGRhdGEgaW4gdGhlIGFkYXB0ZXIuIFRoaXMgbGVhZHMgdG8KCSAgd3JvbmcgcnRwIHRpbWVzdGFtcHMgYW5kIGV4dHJhIGxhdGVuY3kuCgoyMDEwLTEwLTEyIDExOjM3OjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2VxdWFsaXplci9kZW1vLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6CgkgIGV4YW1wbGVzOiBGaXggYnVpbGQgd2l0aCBHVEsrIDMuMAoKMjAxMC0xMC0xMSAxNToxMjowMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogbWFyayBhcyBhIHNvdXJjZQoJICBNYXJrIHRoZSBydHNwc3JjIGVsZW1lbnQgYXMgYSBzb3VyY2UuCgkgIFJlcXVpcmVzIDAuMTAuMzEuMSBub3cKCjIwMTAtMTAtMTEgMTQ6MjQ6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJICBhdXRvZGV0ZWN0OiBTZXQgR1NUX0VMRU1FTlRfSVNfU09VUkNFIGZsYWcgb24gc291cmNlcwoKMjAxMC0xMC0xMSAxNDoyMTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc3JjLmM6CgkgIHN3aXRjaHNyYzogU2V0IHRoZSBHU1RfRUxFTUVOVF9JU19TT1VSQ0UgZmxhZwoKMjAxMC0xMC0xMSAxNDoxNzozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogUmVxdWlyZSBjb3JlIDAuMTAuMzAuMQoKMjAxMC0xMC0xMCAxNDo0Mzo1OCArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmg6CgkgIG1hdHJvc2thbXV4OiBzZXQgb2Zmc2V0cyBvbiBvdXRnb2luZyBidWZmZXJzCgoyMDEwLTEwLTA5IDE0OjE0OjI3ICswMjAwICBJT2hhbm5lcyBtIHptw7ZsbmlnIDx6bW9lbG5pZ0BpZW0uYXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyc2luazogT25seSBnZXQvc2V0IG92ZXJsYXkgcGFyYW1zIGlmIG5lZWRlZAoJICBpdCdzIHBlcmZlY3RseSBvayBmb3IgYSB2aWRlbyBvdXRwdXQgZGV2aWNlIHRvIG5vdCBoYXZlIG92ZXJsYXkgY2FwYWJpbGl0aWVzLgoJICB0aGlzIHBhdGNoIHJlbW92ZXMgdGhlIG5lZWQgdG8gZ2V0L3NldCB0aGUgb3ZlcmxheSBwYXJhbWV0ZXJzIGlmIHRoZSB1c2VyCgkgIGRvZXMgbm90IGV4cGxpY2l0ZWx5IHJlcXVlc3Qgb25lIG9mIHRoZSBvdmVybGF5IHByb3BlcnRpZXMKCjIwMTAtMDktMzAgMTU6Mjg6MjMgKzAyMDAgIElPaGFubmVzIG0gem3DtmxuaWcgPHptb2VsbmlnQGllbS5hdD4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDJzaW5rOiBQcm90ZWN0IGFnYWluc3QgTlVMTC1wb2ludGVyIGFjY2VzcwoJICBnc3RfdjRsMnNpbmtfY2hhbmdlX3N0YXRlKCkgd291bGQgZnJlZSB0aGUgcG9vbCB3aXRob3V0IGNoZWNraW5nIHdoZXRoZXIgdGhlcmUKCSAgd2FzIGEgdmFsaWQgcG9vbC4uLgoKMjAxMC0xMC0wOCAxMjo0Mzo1MSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGM0YThhZGMgdG8gNWE2NjhiZgoKMjAxMC0xMC0wOCAxMjo1MzozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDVlM2M5YmYgdG8gYzRhOGFkYwoKMjAxMC0xMC0wNiAxMToyOTo1NSArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBGaXggcmVxdWlyZWQgZmllbGRzIGxvZ2ljCgkgIEJvdGggaGlzdG9yeV9jb3VudCBhbmQgZmllbGRzX3JlcXVpcmVkIGNvdW50IGZyb20gMS4gQXMgcGVyIHRoZSB3aGlsZSBsb29wCgkgIGNvbmRpdGlvbiB0aGF0IGZvbGxvd3MgdGhpcyBjb2RlLCB0byBwZXJmb3JtIHRoZSBkZWludGVybGFjaW5nIG1ldGhvZCwgd2UgbmVlZAoJICBoaXN0b3J5X2NvdW50ID49IGZpZWxkc19yZXF1aXJlZCBmaWVsZHMgaW4gdGhlIGhpc3RvcnkuIFRoZXJlZm9yZSBpZiB3ZSBoYXZlCgkgIGhpc3RvcnlfY291bnQgPCBmaWVsZHNfcmVxdWlyZWQgKG5vdCBmaWVsZHNfcmVxdWlyZWQgKyAxKSwgd2UgbmVlZCBtb3JlIGZpZWxkcy4KCjIwMTAtMDktMjAgMTk6NDM6NDUgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkgIGZsdm11eDogcmVzZW5kIG9uTWV0YWRhIHRhZyB3aGVuIHRhZ3MgY2hhbmdlcyBpbiBzdHJlYW1hYmxlIG1vZGUKCjIwMTAtMTAtMDUgMTk6NDA6NTAgKzAxMDAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBBQUMgY29kZWNfZGF0YSBjYW4gYmUgPiAyIGJ5dGVzIGxvbmcKCSAgVGhpcyBmaXhlcyB0aGUgYXNzdW1wdGlvbiB0aGF0IERlY29kZXJTcGVjaWZpY0luZm8gbXVzdCBiZSAyIGJ5dGVzIGxvbmcKCSAgZm9yIEFBQyBmaWxlcy4gVGhlIHNwZWNpZmljYXRpb24gYWxsb3dzIEhFLUFBQyB0byBiZSBleHBsaWNpdGx5CgkgIHNpZ25hbGxlZCBpbiBhIGJhY2t3YXJkIGNvbXBhdGlibGUgd2F5LiBUaGlzIGlzIGRvbmUgYnkgbWVhbnMgb2YgYW4KCSAgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBhZnRlciB0aGUgcmVndWxhciBBQUMgaGVhZGVyLiBJdCBpcyBleHBlY3RlZCB0aGF0CgkgIGRlY29kZXJzIHRoYXQgY2FuIHBsYXkgQUFDIGJ1dCBub3QgSEUtQUFDIHdpbGwgcGFyc2UgdGhlIGhlYWRlciBub3JtYWxseQoJICBhbmQgaWdub3JlIGV4dGVuZGVkIGJpdHMsIG11Y2ggYXMgdGhleSBkbyBmb3IgdGhlIEhFLUFBQyBzcGVjaWZpYyBwYXlsb2FkCgkgIGluIHRoZSBhY3R1YWwgc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEyMzEzCgoyMDEwLTEwLTA1IDE2OjAxOjE5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBvbmx5IHVucmVmIGJ1ZmZlciB3aGVuIG5vIGxvbmdlciBuZWVkZWQgZm9yIGNsdXN0ZXIgc2Nhbm5pbmcKCSAgRml4ZXMgIzYyOTA0Ny4KCjIwMTAtMTAtMDUgMTY6MDA6NDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGF2b2lkIGluZmluaXRlIGNsdXN0ZXIgc2Nhbm5pbmcKCjIwMTAtMTAtMDUgMTI6MjA6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSAgZ29vbTogdGFrZSBkdXJhdGlvbiBpbnRvIGFjY291bnQgd2hlbiBkb2luZyBRb1MKCSAgVGFrZSB0aGUgZHVyYXRpb24gb2YgdGhlIGZyYW1lcyBpbnRvIGFjY291bnQgc28gdGhhdCB3ZSBkb24ndCBkcm9wIGZyYW1lcyB0aGF0CgkgIGFyZSBvbmx5IHBhcnRpYWxseSBwYXN0IHRoZSBRb1MgZGVhZGxpbmUuCgoyMDEwLTEwLTA1IDEwOjQwOjE1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmg6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5oOgoJICBnb29tOiB1c2UgYWRhcHRlciBmb3IgdGltZXN0YW1waW5nCgkgIFVzZSB0aGUgYWRhcHRlciB0aW1lc3RhbXAgY29kZSB0byBnZXQgbW9yZSBhY2N1cmF0ZSB0aW1lc3RhbXBzLgoJICBGaXggbGF0ZW5jeSBjYWxjdWxhdGlvbiwgd2UgYWRkIG91ciBvd24gbGF0ZW5jeSBpbiB0aGUgd29yc3QgY2FzZS4KCjIwMTAtMTAtMDQgMjI6MzE6MzIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9yYXcxMzk0L01ha2VmaWxlLmFtOgoJKiBleHQvcmF3MTM5NC9nc3QxMzk0LmM6CgkgIHJhdzEzOTQ6IERvbid0IGNvbXBpbGUgaGR2MTM5NHNyYyBpZiBsaWJpZWM2MTg4MyBpc24ndCBhdmFpbGFibGUKCSAgRml4ZXMgIzYyOTg5NgoKMjAxMC0wOS0yMCAxOTo0NDowOSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkgIGljeWRlbXV4OiBmb3J3YXJkIHRhZyBldmVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzMDIwNQoKMjAxMC0xMC0wNCAxOTowMDo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSAgZ29vbTJrMTogcmVwb3J0IG91ciBsYXRlbmN5IGNvcnJlY3RseQoJICBGaXhlcyAjNjMxMzAzCgoyMDEwLTEwLTA0IDE4OjU2OjE1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJICBnb29tMmsxOiBhZGQgZGVmaW5lcyBmb3IgZGVmYXVsdCB3aWR0aC9oZWlnaHQvZnBzCgkgIEFkZCBzb21lIGRlZmluZXMgZm9yIHRoZSBkZWZhdWx0IHdpZHRoL2hlaWdodC9mcHMgaW5zdGVhZCBvZiB1c2luZyBkaWZmZXJlbnQKCSAgdmFsdWVzIGluIGRpZmZlcmVudCBwbGFjZXMuCgoyMDEwLTEwLTA0IDE4OjUyOjE0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICBnb29tOiBhZGQgbGF0ZW5jeSBjb21wZW5zYXRpb24gY29kZS4KCSAgSW1wbGVtZW50IGEgbGF0ZW5jeSBxdWVyeSBhbmQgcmVwb3J0IGhvdyBtdWNoIGxhdGVuY3kgd2Ugd2lsbCBhZGQgdG8gdGhlCgkgIHN0cmVhbS4KCSAgQWxzZSBtYWtlIHNvbWUgZGVmYXVsdHMgZm9yIHRoZSBkZWZhdWx0IHdpZHRoL2hlaWdodC9mcmFtZXJhdGUKCSAgRml4ZXMgIzYzMTMwMwoKMjAxMC0xMC0wNCAxNzo1Njo1NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItYWxzYXNyYy1QQ01BLnB5OgoJICB0ZXN0OiBhZGQgcHl0aG9uIHZlcnNpb24gb2YgdGhlIGF1ZGlvIHNlbmRlcgoJICBBZGQgYSBweXRob24gdmVyc2lvbiBvZiB0aGUgYXVkaW8gc2VuZGVyIHBpcGVsaW5lLgoJICBQb3J0ZWQgYnkgU3A0cmMgb24gSVJDLgoKMjAxMC0xMC0wNCAxNzo1MjoyMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtUENNQS5weToKCSAgdGVzdHM6IEFkZCBweXRob24gUlRQIGNsaWVudCBleGFtcGxlCgkgIEFkZCBhIHB5dGhvbiB2ZXJzaW9uIG9mIHRoZSBQQ01BIGNsaWVudCBhcHAuCgkgIFBvcnRlZCBieSBTcDRyYyBvbiBJUkMuCgoyMDEwLTEwLTA0IDA5OjM5OjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJICBydHA6IEZpeCB1bml0aWFsaXplZCBjb21waWxlciB3YXJuaW5ncyBvbiBPUyBYIGJ1aWxkIGJvdAoJICBUaGVzZSB3YXJuaW5ncyBhcmUgd3JvbmcgdGhvdWdoLCB0aGUgdmFyaWFibGVzIGFyZSBvbmx5IHVzZWQgaW4KCSAgdGhlIGNhc2VzIHdoZXJlIHRoZXkgKmFyZSogaW5pdGlhbGl6ZWQgYnkgdGhlIGJpdCByZWFkZXIuCgoyMDEwLTEwLTAzIDIzOjQ5OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyMnBheS5jOgoJICBydHBnNzIycGF5OiBGaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nCgkgIFRoZSBjbG9jayByYXRlIGlzIGFsd2F5cyA4MDAwIEh6IGFjY29yZGluZyB0byB0aGUgUkZDIGFuZAoJICB0aGUgc2FtcGxpbmcgcmF0ZSBtdXN0IGFsd2F5cyBiZSAxNjAwMCBIei4KCjIwMTAtMTAtMDEgMTM6NTk6MTAgKzA0MDAgIFZsYWRpbWlyIEVyZW1lZXYgPGVyZW1lZXZAYXRsYW50aXMucnU+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBpbXByb3ZlIGFydGljbGUgcmVmZXJlbmNlIGluIGNvbW1lbnQgYmxvY2sKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzMTA4MgoKMjAxMC0wNC0zMCAyMTowMDozMSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F1aWNrdGltZS5jOgoJICBxdGRlbXV4OiBVc2UgcGJ1dGlscyBmb3IgSC4yNjQgcHJvZmlsZS9sZXZlbCBleHRyYWN0aW9uCgkgIFRoZSBmdW5jdGlvbnMgdXNlZCB0byBleHRyYWN0IHRoaXMgZGF0YSBoYXZlIGJlZW4gbW92ZWQgdG8gZ3N0cGJ1dGlscyB0bwoJICBmYWNpbGl0YXRlIHJldXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE3MzE4CgoyMDEwLTA0LTMwIDIxOjAwOjMxICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbToKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS5jOgoJICBtYXRyb3NrYWRlbXV4OiBVc2UgcGJ1dGlscyBmb3IgSC4yNjQgcHJvZmlsZS9sZXZlbCBleHRyYWN0aW9uCgkgIFRoZSBmdW5jdGlvbnMgdXNlZCB0byBleHRyYWN0IHRoaXMgZGF0YSBoYXZlIGJlZW4gbW92ZWQgdG8gZ3N0cGJ1dGlscyB0bwoJICBmYWNpbGl0YXRlIHJldXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE3MzE4CgoyMDEwLTA0LTIyIDE5OjM5OjQ3ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRXhwb3J0IE1QRUctNCB2aWRlbyBwcm9maWxlIGFuZCBsZXZlbCBpbiBzdHJlYW0gY2FwcwoJICBUaGlzIHVzZXMgZ3N0cGJ1dGlscyB0byBleHRyYWN0IHRoZSBwcm9maWxlIGFuZCBsZXZlbCBmcm9tIHRoZSB2aWRlbwoJICBvYmplY3Qgc2VxdWVuY2UgYW5kIGFkZHMgdGhpcyB0byBzdHJlYW0gY2Fwcy4gVGhpcyBjYW4gYmUgdXNlZCBhcwoJICBtZXRhZGF0YSBhbmQgZm9yIGZpbmUtZ3JhaW5lZCBkZWNvZGVyIHNlbGVjdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxNjUyMQoKMjAxMC0wOS0zMCAxMjo0NDo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBhYWMgY2hhbm5lbCBvdmVycmlkZSBiYXNlZCBvbiBjb2RlYyBkYXRhIGZvciA3LjEgY2FzZQoKMjAxMC0wNC0zMCAxNDowNjoyNyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBFeHBvcnQgQUFDIHByb2ZpbGUgYW5kIGxldmVsIGluIGNhcHMKCSAgVGhpcyBleHBvcnRzIHRoZSBBQUMgcHJvZmlsZSBhbmQgbGV2ZWwgaW4gY2FwcyBmb3IgdXNlIGFzIG1ldGFkYXRhIGFuZAoJICAoZXZlbnR1YWxseSkgZm9yIG1vcmUgZmluZS1ncmFpbmVkIHNlbGVjdGlvbiBvZiBkZWNvZGVycyBhdAoJICBjYXBzLW5lZ290aWF0aW9uIHRpbWUuIChEb2Vzbid0IHdvcmsgZm9yIEhFLUFBQyB5ZXQgdGhvdWdoLikKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMjMxMwoKMjAxMC0wOS0zMCAxODozNDowNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJwYXkuaDoKCSAgcnRwOiBhZGQgRzcyMiBwYXkgYW5kIGRlcGF5bG9hZGVyCgoyMDEwLTA5LTMwIDEyOjA4OjQ5ICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogdXBkYXRlIGxpbmsgdG8gZG9jdW1lbnRhdGlvbgoKMjAxMC0wOS0zMCAxMTozNDo1NiArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2NC5zaDoKCSAgZXhhbXBsZXM6IGZpeCBpbmRlbnRhdGlvbiBvbiBydHAgY2xpZW50IGV4YW1wbGUKCjIwMTAtMDktMzAgMTE6MzM6MjQgKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjQtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjY0LnNoOgoJICBleGFtcGxlczogZml4IHR5cG8gaW4gcG9ydCBvZiBydHAgZXhhbXBsZXMKCjIwMTAtMDktMjkgMTM6MjA6MjIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSAgd2F2ZW5jOiBtaW5pc2N1bGUgY29kZSBjbGVhbi11cAoJICBHU1RfQ0xPQ0tfVElNRV9OT05FIGlzIG5vdCBzb21ldGhpbmcgdGhhdCBzaG91bGQgYmUgdXNlZCBpbiBjb25uZWN0aW9uIHdpdGgKCSAgR1NUX0ZPUk1BVF9CWVRFUy4KCjIwMTAtMDktMjkgMTA6MzQ6MzYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogcmV2ZXJzZSBwbGF5YmFjazsgcHJldmVudCBvdmVybGFwIG9mIHN1YnNlcXVlbnQgZnJhZ21lbnRzCgoyMDEwLTA5LTI4IDE2OjIxOjQ4ICswMzAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAbm9raWEuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggbWlzc2luZyBudWxsLXRlcm1pbmF0b3IgaW4gcHJvdG9jb2xzIGFycmF5CgkgIEZpeGVzIHJhbmRvbSBjcmFzaCByZWdyZXNzaW9uIGZyb20gY29tbWl0IGFlODRhZS4KCjIwMTAtMDktMjQgMTY6MjY6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGRvbid0IGFkZCAvVURQIGluIHRoZSB0cmFuc3BvcnQsIGl0J3MgdGhlIGRlZmF1bHQKCSAgZG9uJ3QgYWRkIHRoZSBkZWZhdWx0IFVEUCBsb3dlci10cmFuc3BvcnQsIHNvbWUgc2VydmVycyBkb24ndCBzZWVtIHRvIGxpa2UgaXQuCgkgIEZpeGVzICM2MzA1MDAKCjIwMTAtMDYtMjUgMTc6MDg6MDMgKzAyMDAgIFBhc2NhbCBCdWhsZXIgPHBhc2NhbC5idWhsZXJAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cG1hbmFnZXI6IHBhY2tldCBsb3N0IHNob3VsZCBub3QgYmUgYSB3YXJuaW5nLiBJdCBoYXBwZW5zIGFsbCB0aGUgdGltZS4uLgoKMjAxMC0wOS0yNCAxNTozMzo0MCArMDIwMCAgUGFzY2FsIEJ1aGxlciA8cGFzY2FsLmJ1aGxlckB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgcnRwYmluOiBNYWtlIGNsZWFuaW5nIHVwIHNvdXJjZXMgaW4gcnRwX3Nlc3Npb25fb25fdGltZW91dCBNVCBzYWZlCgkgIFVzaW5nIF9mb3JlYWNoX3JlbW92ZSBvbiB0aGUgaGFzaHRhYmxlLCB3aGlsZSByZWxlYXNpbmcgdGhlIGxvY2sgcHJvdGVjdGluZwoJICB0aGF0IHRhYmxlIGluc2lkZSB0aGUgY2FsbGJhY2sgaXMgbm90IGEgZ29vZCBpZGVhLiBUaGUgaGFzaHRhYmxlIG1pZ2h0CgkgIHRoZW4gY2hhbmdlIChhIHNvdXJjZSByZW1vdmVkIG9yIGFkZGVkKSB3aGlsZSBzaWduYWxzIGxpa2Ugb25fdGltZW91dAoJICBhcmUgYmVpbmcgc2VudC4KCSAgVGhpcyBzb2x1dGlvbiBtYWtlcyBhIGNvcHkgb2YgdGhlIHRhYmxlLCBwZXJmb3JtcyB0aGUgX2ZvcmVhY2ggd2l0aG91dAoJICBhY3R1YWxseSByZW1vdmluZyBhbnkgc291cmNlcywgYnV0IG1hcmtzIHRoZW0gZm9yIHJlbW92YWwgb24gYSBzZWNvbmQKCSAgaXRlcmF0aW9uIHdpdGggdGhlIHJlYWwgbGlzdCwgYnV0IHRoaXMgdGltZSBub3QgbGV0dGluZyBnbyBvZiB0aGUgbG9jay4KCSAgRml4ZXMgIzYzMDQ1MgoKMjAxMC0wOS0yNCAxNToxOToxNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6CgkgIGlkM2RlbXV4OiBTYW5pdGl6ZSBpZDMgZnJhbWUgbmFtZXMKCSAgVGhpcyBpcyBzaW1pbGFyIHRvIHdoYXQgaXMgZG9uZSBpbiBxdGRlbXV4LiBBdm9pZHMgcHJvdmlkaW5nIGludmFsaWQKCSAgc3RydWN0dXJlL3RhZ3MgbmFtZXMKCjIwMTAtMDktMjQgMTQ6NTk6NDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkgIGFwZWRlbXV4OiBTa2lwIGVtcHR5IHRhZ3MKCSAgQXZvaWQgY3JlYXRpbmcgYm9ndXMgc3RyaW5nIHRhZ3MuIEFsc28gYWRkZWQgbG9nZ2luZyBvZiB0aGUgc3RyaW5nCgkgIHZhbHVlcyBvZiB0aGUgdGFnIG5hbWUgYW5kIHZhbHVlLgoKMjAxMC0wOS0yNCAwODo1NjozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwOiBpbml0IGRlYnVnIGNhdGVnb3J5IGJlZm9yZSB1c2luZyBpdAoKMjAxMC0wNC0xMiAwOTo0OToxNCArMDIwMCAgUGFzY2FsIEJ1aGxlciA8cGFzY2FsLmJ1aGxlckB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBIYW5kbGUgcnlzbmMgb2YgaXRlcmF0b3Igd2hlbiBsb29raW5nIGZvciBmcmVlIHBhZCBuYW1lCgkgIElmIGEgbmV3IHBhZCB3YXMgYWRkZWQgd2hpbGUgaXRlcmF0aW5nIHRoZW4gYSBwYWQgY291bGQgYmUKCSAgcmV0dXJuZWQgdGhhdCB3YXMgYWxyZWFkeSBpbiB1c2UuCgkgIEZpeGVzICM2MzA0NTEKCjIwMTAtMDktMjQgMTQ6MDk6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGZpeCBjb21waWxhdGlvbgoKMjAxMC0wNC0wNyAxNTozMTo1MiArMDIwMCAgVHJvbmQgQW5kZXJzZW4gPHRyb25kLmFuZGVyc2VuQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IFVubG9jayBiZWZvcmUgYWRkaW5nIHBhZCBpbiBuZXdfcGF5bG9hZF9mb3VuZAoJICBIb2xkaW5nIGludGVybmFsIGxvY2tzIHdoaWxlIHBvdGVudGlhbGx5IGNhbGxpbmcgb3V0IGlzIGEgc291cmNlCgkgIG9mIGRlYWRsb2NrcywgYW5kIGluIHRoaXMgY2FzZSB0aGUgYXBwbGljYXRpb24gbWlnaHQgc3Vic2NyaWJlIHRvIHRoZQoJICBwYWQtYWRkZWQgc2lnbmFsLgoJICBGaXhlcyAjNjMwNDQ5CgoyMDA5LTA4LTMxIDE4OjM3OjQwICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHJlbGF4IHRoaXJkLXBhcnR5IGNvbGxpc2lvbiBkZXRlY3Rpb24KCSAgSWYgdGhlIHNvdXJjZSBoYXMgYmVlbiBpbmFjdGl2ZSBmb3Igc29tZSB0aW1lLCB3ZSBhc3N1bWUgdGhhdCBpdCBoYXMKCSAgc2ltcGx5IGNoYW5nZWQgaXRzIHRyYW5zcG9ydCBzb3VyY2UgYWRkcmVzcy4gSGVuY2UsIHRoZXJlIGlzIG5vIHRydWUKCSAgdGhpcmQtcGFydHkgY29sbGlzaW9uIC0gb25seSBhIHNpbXVsYXRlZCBvbmUuCgkgIEZpeGVzICM2MzA0NDcKCjIwMTAtMDktMjQgMTM6NTA6MDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiB3aGl0ZXNwYWNlIGZpeGVzCgoyMDEwLTA5LTI0IDEzOjQ4OjUwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogc2ltcGxpZnkgdGhlIHJhdGUgZXN0aW1hdGlvbiBzb21lIG1vcmUKCjIwMDktMDgtMzEgMTg6MzQ6MDggKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBydHBtYW5hZ2VyOiBwcm92aWRlIGFkZGl0aW9uYWwgc3RhdGlzdGljcwoKMjAxMC0wOS0yNCAwMDowMTowNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogc2V0IHBsdWdpbiByZWxlYXNlIGRhdGV0aW1lCgoyMDEwLTA5LTIzIDIxOjIxOjI5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5oOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5oOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5oOgoJICBlcXVhbGl6ZXI6IGZpeCBjbGFzcyBkZWZpbml0aW9ucwoJICBDbGFzcyBzdHJ1Y3R1cmVzIG11c3QgYmUgYmFzZWQgb24gdGhlIHBhcmVudCBjbGFzcyBzdHJ1Y3QsIG5vdCBvbgoJICB0aGUgcGFyZW50IGluc3RhbmNlIHN0cnVjdC4KCjIwMTAtMDktMTUgMjA6MzY6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjI6IHByZS1yZWdpc3RlciBwYWQgY2xhc3MgcHJvcGVybHkgd2l0aCBnX3R5cGVfY2xhc3NfcmVmCgkgIEZpeCBjb2RlIHRvIG1hdGNoIHRoZSBjb21tZW50LiBBbHNvLCB0aGVyZSdzIG5vIG5lZWQgdG8gcmVnaXN0ZXIgdGhlCgkgIGJhY2tncm91bmQgZW51bSB0eXBlIGFnYWluLCB0aGlzIGlzIGFscmVhZHkgZG9uZSB2aWEgaW5zdGFsbF9wcm9wZXJ0eS4KCjIwMTAtMDktMjMgMjE6NTc6MTggKzAyMDAgIERhdmlkIEhveXQgPGRob3l0QGxsbmwuZ292PgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBzcGVleDogRml4IGNyYXNoZXMgd2l0aCBNU1ZDCgkgIFVzaW5nIHRoZSBzeW1ib2xzIGZvciB0aGUgZGlmZmVyZW50IFNwZWV4IG1vZGVzIHJlc3VsdHMKCSAgaW4gY3Jhc2hlcyB3aGVuIHVzaW5nIE1TVkMuIFVzZSB0aGUgbGlicmFyeSBmdW5jdGlvbnMgdG8KCSAgZ2V0IHRoZSBtb2RlcyBpbnN0ZWFkLgoJICBGaXhlcyBidWcgIzYzMDM3OC4KCjIwMTAtMDgtMjQgMTM6MjU6MDIgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBsZXZlbDogYXZvaWQgZGl2aXNpb24gYnkgemVybyBvbiBzaWxlbmNlCgkgIEZpeGVzIGJ1ZyAjNjMwNDU4LgoKMjAxMC0wOS0yMyAxNjo0NjozMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IHBhcnNlIGFuZCB1c2UgY3RzCgkgIEZvciBIMjY0LCB0aGVyZSBpcyBhbiBleHRyYSBoZWFkZXIgY29udGFpbmluZyB0aGUgQ1RTLCB3aGljaCBpcyBhIHRpbWVzdGFtcAoJICBvZmZzZXQgdGhhdCBzaG91bGQgYmUgYXBwbGllZCB0byB0aGUgUFRTLiBQYXJzZSB0aGlzIHZhbHVlIGFuZCB1c2UgaXQgdG8gYWRqdXN0CgkgIHRoZSBwdHMuCgkgIEZpeGVzICM2MzAwODgKCjIwMTAtMDktMjMgMTY6NDU6NDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBpbXByb3ZlIHB0cyBkZWJ1Z2dpbmcKCjIwMTAtMDktMjIgMTk6MDE6NDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9wdWxzZS8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9wdWxzZS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvcHVsc2UvcHVsc2UuYzoKCSAgcHVsc2U6IGFkZCB0ZXN0IGFwcCBmb3IgcHVsc2UgZGV2aWNlIHByb2JlCgoyMDEwLTA5LTIyIDE4OjUwOjQ0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2U6IGZpeCBkZXZpY2VfZGVzY3JpcHRpb24gaW4gUkVBRFkKCSAgTWFrZSB0aGUgaXNfZGVhZCBjaGVjayBtb3JlIGNsZWFyIGFuZCBhZGQgYW4gb3B0aW9uIHRvIGNoZWNrIGZvciB0aGUgc3RhdHVzIG9mCgkgIHRoZSBzdHJlYW0gaW4gYWRkaXRpb24gdG8gdGhlIGNvbnRleHQuCgkgIFdlIGRvbid0IG5lZWQgYSBzdHJlYW0gdG8gZ2V0IHRoZSBkZXZpY2VfZGVzY3JpcHRpb24gc3RyaW5nLgoJICBGaXhlcyAjNjMwMzE3CgoyMDEwLTA5LTIyIDEyOjU2OjAwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBEb24ndCBwb3N0IHRhZ3MgaWYgdGhlcmUgYXJlIG5vbmUKCSAgQW5kIG1ha2UgYWxsIGNvZGUgZ28gdGhyb3VnaCBfcG9zdF9nbG9iYWxfdGFncy4KCjIwMTAtMDktMjIgMTI6Mzc6MzMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5oOgoJICBydHBoMjY0ZGVwYXk6IHJlZmFjdG9yIGFuZCBzaW1wbGlmeSBBVSBtZXJnaW5nCgkgIE1vdmUgdGhlIHByb2Nlc3Npbmcgb2YgdGhlIE5BTFUgdG8gYSBzZXBhcmF0ZSBtZXRob2QuCgkgIFNpbXBsaWZ5IHRoZSBtZXJnaW5nIG9mIE5BTFUgaW50byBBVSBhbmQgdXNlIGNvbW1vbiBjb2RlIHdoZW4gcG9zc2libGUuCgoyMDEwLTA5LTIxIDIzOjIzOjA3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSAgc2hhcGV3aXBlOiBhZGQgb3B0aW9uYWwgYm9yZGVyIHBhcmFtZXRlciBhbmQgc2xvd2Rvd24gYW5pbWF0aW9uCgkgIEFsbG93IHRvIHBsYXkgd2l0aCB0aGUgYm9yZGVyIHByb3BlcnR5IChzaGFycC9zb2Z0IGVkZ2VzKS4KCjIwMTAtMDktMjEgMTk6MTQ6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBGb3JjZSBmb3JtYXQgdG8gQVlVViBpbiB0aGUgZXhhbXBsZSBwaXBlbGluZSBmb3IgdGhlIHNhbWUgcmVhc29uCgoyMDEwLTA5LTIxIDE5OjEzOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJICBzaGFwZXdpcGU6IEZvcmNlIHRoZSBpbnB1dCB0byBBWVVWIHRvIHByZXZlbnQgbmVnb3RpYXRpb24gZmFpbHVyZXMgaW4gdmlkZW9taXhlcgoJICBUaGUgc2Vjb25kIHZpZGVvdGVzdHNyYyBjaGFpbiBtaWdodCBwcm9kdWNlIFlVWTIgYmVjYXVzZSBldmVyeXRoaW5nIGlzCgkgIGFjY2VwdGVkIGRvd25zdHJlYW0gYmVmb3JlIHRoZSBmaXJzdCBzaGFwZXdpcGUgY2hhaW4gZ2V0cyBuZWdvdGlhdGVkLgoKMjAxMC0wOS0yMSAxOToxMjo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IEltcHJvdmUgZGVidWdnaW5nIGFuZCBpbW1lZGlhdGVseSByZXR1cm4gZW1wdHkgY2FwcyBmcm9tIHRoZSBnZXRjYXBzIGZ1bmN0aW9ucwoKMjAxMC0wOS0yMSAxODozMzo1NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYWEwZDFkMCB0byA1ZTNjOWJmCgoyMDEwLTA5LTIxIDEyOjQ5OjMxICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5oOgoJICB2NGwyOiB1c2UgdGhlIHhvdmVybGF5IEFQSXMKCjIwMTAtMDktMjEgMTI6NDg6MzQgKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBub3JtYW5kQGlnYWxpYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiB1c2UgdGhlIG5ldyB4b3ZlcmxheSBBUElzCgkgIEFsc28gYnVtcGVkIC1iYXNlIHJlcXVpcmVtZW50cy4KCjIwMTAtMDktMjEgMTI6MzE6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFVzZSAtREdTVF9ESVNBQkxFX0RFUFJFQ0FURUQgYWdhaW4gZm9yIEdJVCB2ZXJzaW9ucwoKMjAxMC0wOS0yMSAxMTo1MjoyMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBGaXggZGVidWcgc3RhdGVtZW50CgoyMDEwLTA5LTIwIDIzOjE3OjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogUGFyc2UgdXVpZCBhdG9tcyBpbiBwdXNoIG1vZGUKCSAgUGFyc2VzIHV1aWQgYXRvbXMgaW4gcHVzaCBtb2RlIHdoZW4gdGhleSBhcmUgZm91bmQsIHRoZXkgbWlnaHQKCSAgY29udGFpbiB4bXAgdGFncy4KCSAgQWxzbyBkb2VzIGEgbWlub3IgcmVmYWN0b3JpbmcgdG8gcHV0IHRoZSBnbG9iYWwgdGFncyBwb3N0aW5nCgkgIGludG8gYSBzaW5nbGUgZnVuY3Rpb24gaW5zdGVhZCBvZiByZXBlYXRpbmcgaXQgaW4gMyBkaWZmZXJlbnQKCSAgcGxhY2VzLgoJICBGaXhlcyAjNjI5ODM5CgoyMDEwLTA5LTE2IDA4OjA0OjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRGVsYXkgdGFncyBwb3N0aW5nIGEgbGl0dGxlCgkgIERlbGF5IHRhZ3MgcG9zdGluZyB1bnRpbCB3ZSd2ZSBwYXJzZWQgYWxsIHRoZSBoZWFkZXJzIHNvCgkgIHRoYXQgdGhlIG5hdGl2ZSBhbmQgeG1wIHRhZ3MgZ2V0IG1lcmdlZCBiZWZvcmUgcG9zdGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI5ODM5CgoyMDEwLTA5LTE1IDIyOjEzOjQzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogUGFyc2UgeG1wIHBhY2tldCBpbiB1dWlkIGF0b20KCSAgeG1wIHBhY2tldCBpcyBwbGFjZWQgaW50byBhIHRvcC1sZXZlbCB1dWlkIGF0b20gZm9yCgkgIGlzb20vbXA0IHZhcmlhbnRzLgoJICBUaGlzIHBhdGNoIG1ha2VzIHF0ZGVtdXggcGFyc2UgYWxsIHRvcC1sZXZlbCBhdG9tcwoJICBpbiBwdWxsLW1vZGUgYmVmb3JlIHN0YXJ0aW5nIHRvIHB1c2ggZGF0YSwgbWFraW5nCgkgIGl0IGFibGUgdG8gZmluZCB0aG9zZSB0YWdzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI5ODM5CgoyMDEwLTA5LTE3IDExOjA3OjUyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzoKCSAgcnRwc3RhdHM6IHByaW50ZiBmb3JtYXQgZml4ZXMKCjIwMTAtMDktMTcgMTE6MDc6MDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSAgcnRwcGF5OiBzb21lIHByaW50ZiBmb3JtYXQgZml4ZXMKCjIwMTAtMDktMTUgMTg6MjE6MTEgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBsb2dpYyB3aGVuIHB1c2hpbmcgRU9TLgoJICBEb24ndCBjaGVjayBmb3IgcmV0dXJuIHZhbHVlcyB3aGVuIHB1c2hpbmcgRU9TLiBTdGlsbCBwb3N0IGFuIGVycm9yIGlmIEVPUyBpcwoJICByZWFjaGVkIGFuZCBubyBzdHJlYW1zIGhhdmUgYmVlbiBmb3VuZC4KCjIwMTAtMDktMTUgMTc6MDI6NTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgZG9jczogYWRkIGd0ay1kb2MgY2h1bmtzIHdpdGggU2luY2U6IG1hcmtlcnMgZm9yIG5ldyB2NGwyc3JjIHByb3BlcnRpZXMKCjIwMTAtMDktMTUgMTg6NDM6NTAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvY2FtY3RybC5jOgoJICBjYW1jdHJsOiBhZGQgbGljZW5zZSBoZWFkZXIgdG8gZGVtbwoKMjAxMC0wOS0xNCAxNzo0MToyOCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZG9uJ3Qgc2VuZCBFT1MgdHdpY2Ugb24gdGhlIHNhbWUgcGFkLgoKMjAxMC0wOS0xNCAxMDowNzo1OCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkgIHB1bHNlc2luazogbW92ZSB0aGUgc2hhcmVkIG1haW5sb29wIGZyb20gY2xhc3MgdG8gc3RhdGljIHZhcgoJICBKdXN0IGhhdmUgb25lIHN0YXRpYyB2YXIgZm9yIHRoZSBzaGFyZWQgbWFpbmxvb3AgaW5zdGVhZCBvZiBvbmUgY2xhc3MgdmFyaWFibGUKCSAgYW5kIGNvcGllcyBpbiB0aGUgaW5zdGFuY2UuCgoyMDEwLTA5LTEzIDE3OjMxOjM1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIHJ0cGpwZWdwYXk6IGNsZWFudXBzIGZvciBEUkkgbWFya2VycwoJICBQcm90ZWN0IGFnYWluc3QgaW52YWxpZCBEUkkgbWFya2Vycy4KCSAgZG8gc29tZSBjbGVhbnVwcwoKMjAxMC0wOS0xMCAxMTozNTo1MyAtMDQwMCAgQW1lcmljYW4gRHluYW1pY3MgPEdTdHJlYW1lci1CdWdzQHR5Y29zcC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgZ3N0cnRwanBlZ3BheTogQWRkZWQgRGVmaW5lIFJlc3RhcnQgSW50ZXJ2YWwgKERSSSkgTWFya2VyCgkgIEFkZGVkIGFiaWxpdHkgdG8gZGV0ZWN0IGFuZCByZXNwb25kIHRvIGEgSlBFRy1kZWZpbmVkIERSSSBtYXJrZXIKCjIwMTAtMDYtMTkgMTk6MjA6MTggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgZ3N0cnRwc2Vzc2lvbjogU3BsaXQgZ2V0dGluZyB0aGUgY2FwcyBpbnRvIGl0cyBvd24gZnVuY3Rpb24KCjIwMTAtMDktMTMgMTY6MDM6NTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBzbWFsbCBjbGVhbnVwLgoKMjAxMC0wOS0xMyAxNjoyNDoyNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkgIHB1bHNlc2luazogcmV3b3JrIGNvbnRleHQgc2hhcmluZwoJICBXZSBhbHNvIG5lZWQgdG8gc2hhcmUgdGhlIG1haW4tbG9vcCB0aHJlYWRzIGFzIHRoaXMgb3ducyB0aGUgY29udGV4dC4gVGh1cyBoYXZlCgkgIGEgY2xhc3Mgd2lkZSBtYWluLWxvb3AgdGhyZWFkLiBGcm9tIHRoaXMgd2UgY3JlYXRlIGEgY29udGV4dCBwZXIgY2xpZW50LW5hbWUuCgkgIEluc3RlYWQgb2YgYWx3YXlzIGxvb2tpbmcgdXAgdGhlIGNvbnRleHQsIHdlIGtlZXAgdGhpcyB3aXRoIHRoZSBpbnN0YW5jZS4gVGhlCgkgIHJldmVyc2UgbWFwcGluZyBpcyBvbmx5IG5lZWRlZCBpbiBwdWxzZSBzaW5nYWwgaGFuZGxlcnMuIFRoaXMgc2F2ZXMgYSBsb3Qgb2YKCSAgbG9ja2luZy4gQWxzbyBvbmUgc2lnbmFsIGhhbmRsZXIgYmVjb21lcyBzaW1wbGVyIGFzIHRoZXIgZWlzIG9ubHkgb25lIG1haW5sb29wCgkgIHRvIG5vdGlmeS4KCSAgTm93IHZhbGdpbmQgaGFwcHkgLSBubyBsZWFrcywgbm8gYmFkIHJlYWRzL3dyaXRlcy4KCSAgVGhpcyByZXZlcnRzIG1ham9yIHBhcnRzIG9mIGNvbW1pdCA2OWEzOTdjMzJmNGJhZjA3YTdiMjkzN2M2MTBmOWU4ZjM4M2U5YWU5LgoJICBGaXhlcyAjNjI4OTk2CgoyMDEwLTA5LTEzIDE1OjQ0OjUyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOgoJICBydHBzZXNzaW9uOiBTbWFsbCBjbGVhbnVwcwoJICBNYWtlIHRoZSBwcm9wZXJ0eSBkZXNjcmlwdGlvbiBwcmV0dGllci4KCSAgQWN0dWFsbHkgbXVsdGlwbGUgdGhlIGJhbmR3aWR0aCB3aXRoIHRoZSBmcmFjdGlvbi4KCjIwMTAtMDYtMDEgMjE6MzU6NDAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIHJ0cHNlc3Npb246IENhbGN1bGF0ZSBSVENQIGJhbmR3aWR0aCBhcyBhIGZyYWN0aW9uIG9mIHRoZSBSVFAgYmFuZHdpZHRoCgkgIENhbGN1bGF0ZSB0aGUgUlRDUCBiYW5kd2lkdGggdG8gYmUgYSBmcmFjdGlvbiBvZiB0aGUgUlRQIGJhbmR3aWR0aCBpZiBpdCBpcwoJICBzcGVjaWZpZWQgYXMgYSB2YWx1ZSBiZXR3ZWVuIDAgYW5kIDEuCgoyMDEwLTA5LTEzIDE1OjI5OjA2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBpbXByb3ZlIGJhbmR3aWR0aCByZWNhbGN1bGF0aW9uCgkgIEFsc28gcmVjYWxjdWxhdGUgYmFuZHdpZHRoIHdoZW4gb25lIG9mIHRoZSBzb3VyY2UgYmFuZHdpZHRocyBjaGFuZ2VkLgoJICBVc2UgdGhlIG5ld2x5IGNhbGN1bGF0ZWQgYmFuZHdpZHRoLgoKMjAxMC0wNi0wMSAyMToxNzoyNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEFkZCB0aGUgb3B0aW9uIHRvIGF1dG8tZGlzY292ZXIgdGhlIFJUUCBiYW5kd2lkdGgKCjIwMTAtMDktMTMgMTQ6Mzg6MTEgKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBzZXQgdXNlLXBpcGVsaW5lLWNsb2NrIG9uIGNvcnJlY3QgR09iamVjdAoKMjAxMC0wNi0wMiAxNzo1MToxMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBJbml0aWFsaXNlIHRoZSBhdmVyYWdlIHNjYWxlZCBieSAxNgoKMjAxMC0wOS0xMyAxMjo0MToxMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogYWRkIHJ1bm5pbmdfdGltZSBhcmd1bWVudCBkb2NzCgoyMDEwLTA2LTIzIDE2OjEzOjAxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBydHBzdGF0czogUmVjdGlmeSBkZXNjcmlwdGlvbiBvZiBjdXJyZW50X3RpbWUgaW4gUlRQQXJyaXZhbFN0YXRzCgkgIEl0IGlzIHRoZSBjdXJyZW50IHRpbWUsIGl0IGlzIHVucmVsYXRlZCB0byB3aGVuIHRoZSBwYWNrZXQgd2FzIGFjdHVhbGx5IHJlY2VpdmVkLgoKMjAxMC0wOS0xMyAxMjozMTo0MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogY29tcHV0ZSB0aGUgYXZlcmFnZSBjb3JyZWN0bHkgc2NhbGVkCgoyMDEwLTA2LTAxIDIwOjMxOjE4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IENvdW50IHNlbnQgUlRDUCBwYWNrZXRzIGFmdGVyIHRoZXkgaGF2ZSBiZWVuIGZpbmlzaGVkCgkgIElmIHRoZXkgYXJlIGNvdW50ZWQgYmVmb3JlIGNhbGxpbmcgZ3N0X3J0Y3BfYnVmZmVyX2VuZCgpLCB0aGVuIHRoZQoJICBzaXplIGlzIHdheSB0b28gYmlnLgoKMjAxMC0wNi0wMSAxOTo1MTozNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBnc3RydHBzZXNzaW9uOiBEb24ndCB1bnJlZiAgcGFkcyBpbiBmaW5hbGl6ZQoJICBUaGUgZ3N0cnRwc2Vzc2lvbiBvYmplY3QgaXMgbm90IGhvbGRpbmcgYW55IHJlZmVyZW5jZSB0byB0aGVtIGRpcmVjdGx5CgoyMDEwLTA5LTEyIDAwOjA5OjA5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL1BPVEZJTEVTLmluOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucyBmb3IgbmV3IHNvdXBodHRwc3JjIG1lc3NhZ2VzCgoyMDEwLTA5LTEyIDAwOjA4OjA1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXA6IGhvb2sgdXAgaTE4biBiaXRzIGZvciBwbHVnaW4KCSAgQ2FsbCBiaW5kdGV4dGRvbWFpbigpIGV0Yy4KCjIwMTAtMDktMTIgMDA6MDQ6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cDogZml4IGVycm9yIG1lc3NhZ2VzCgkgIEVycm9yIG1lc3NhZ2VzIHNob3VsZCBiZSB0cmFuc2xhdGVkLiBVUklzIGFuZCBmaWxlbmFtZXMgc2hvdWxkIG5vdAoJICBiZSBwYXJ0IG9mIHRoZSBlcnJvciBtZXNzYWdlIHN0cmluZyB0aGF0J3Mgc2hvd24gdG8gdGhlIHVzZXIuCgkgIHNvdXBfbWVzc2FnZS0+cmVhc29uX3BocmFzZSBpcyBub3QgdHJhbnNsYXRlZCBhbmQgbm90IHN1aXRhYmxlIGFzCgkgIGVycm9yIG1lc3NhZ2UgZm9yIHVzZXJzIChzZWUgbGlic291cCBkb2N1bWVudGF0aW9uKS4gQWxzbyBmaXggdXAKCSAgZXJyb3IgY29kZXMgYSBiaXQsIGFzIGZhciBhcyBwb3NzaWJsZSB3aXRoIHRoZSBleGlzdGluZyBjb2Rlcy4KCjIwMTAtMDktMTAgMDk6NDM6MjQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBkb24ndCBwb3N0IGFuIGVycm9yIG1lc3NhZ2UgaWYgYnVmZmVyIGFsbG9jIGZhaWxzIHdpdGggTk9UX0xJTktFRCBmbG93CgkgIFRoaXMgaXMgbm90IGZhdGFsLCBsZXQgdXBzdHJlYW0gaGFuZGxlIGl0LgoKMjAxMC0wOS0xMCAxODowNjo0OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZG9uJ3QgY2xlYXIgc2RwIHdoZW4gc2V0IGFzIHVyaQoJICB3aGVuIHdlIHNldCB0aGUgU0RQIHdpdGggYW4gdXJpLCBkb24ndCBjbGVhciBpdCB3aGVuIHdlIGdvIHRvIFJFQURZLgoKMjAxMC0wOS0xMCAxODowMToxOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogdXNlIHNkcCB1cmkgcGFyc2UgbWV0aG9kCgkgIFVzZSB0aGUgc2RwIHBhcnNlIG1ldGhvZCB0aGF0IGRvZXMgcHJvcGVyIHVyaSBlc2NhcGluZy4KCjIwMTAtMDktMTAgMTY6NTk6MTAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9jYW1jdHJsLmM6CgkgIGV4YW1wbGU6IGFkZCB2NGwyIGV4YW1wbGUsIGRlbW9uc3RyYXRpbmcgdGhlIHVzZSBvZiBnc3QgY29udHJvbGxlcgoKMjAxMC0wOS0xMCAxNjo1NToyNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyc3JjOiBkb24ndCBza2lwIGNhbGN1bGF0aW5nIHRoZSBkdXJhdGlvbgoKMjAxMC0wNi0yMiAxNTo0ODowNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICB2NGwyc3JjOiBhZGQgY29udHJvbGFibGUgY29sb3JiYWxhbmNlIHBhcmFtZXRlcnMKCSAgRXhwb3NlIGNvbG9yYmFsYW5jZSBjb250cm9scyBhcyBvYmplY3QgcHJvcGVydGllcyAobGlrZSB3ZSBkbyBvbiB4dmltYWdlc2luaykuCgkgIE1ha2UgdGhlbSBjb250cm9sYWJsZS4KCjIwMTAtMDktMTAgMTM6MjU6MzkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJICBydHBtcGFyb2J1c3RkZXBheTogZml4IHNvbWUgbWlzLWltcGxlbWVudGF0aW9uCgkgIEFsc28gYWRkIHNvbWUgZGVidWcuCgoyMDEwLTA5LTEwIDEzOjI0OjAyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSAgcnRwbXBhcm9idXN0ZGVwYXk6IHByb3Blcmx5IGluc2VydCBkdW1teSBidWZmZXJzCgoyMDEwLTA5LTEwIDExOjU1OjI2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGFkZCBydHNwLXNkcCBwcm90b2NvbCBzdXBwb3J0CgkgIEFsbG93IHNldHRpbmcgYW4gU0RQIHdpdGggdGhlIHJ0c3Atc2RwOi8vIHVybC4KCSAgQmFzZWQgb24gcGF0Y2ggZnJvbSBNYXJjbyBCYWxsZXNpby4KCSAgU2VlICM2MjgyMTQKCjIwMTAtMDktMTAgMTE6MzU6NTggKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJICBhbHBoYWNvbG9yOiBtYWtlIHBhc3N0aHJvdWdoIHdvcmsuCgoyMDEwLTA5LTA5IDIxOjQzOjQwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJICBtcDRhZGVwYXk6IHNtYWxsIGxvZ2dpbmcgY2xlYW51cCBhbmQgYWRkaXRpb24gdG8gZGVidWcgY29uZmlnIHBhcnNpbmcKCjIwMTAtMDktMDkgMjE6NDI6NDYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSAgYWFzaW5rOiBmaXggY29udGV4dCBpbml0aWFsaXNhdGlvbiBhbmQgZnJlZWluZyB0byBub3QgbGVhawoKMjAxMC0wOS0wOSAyMTo0MDo1MSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2dlbmVyaWMvc3RhdGVzLmM6CgkgIHRlc3RzOiBhbGxvdyBydW5uaW5nIHN0YXRlIHRlc3RzIGZvciBhbGwgZWxlbWVudHMKCSAgTm93IG9uZSBjYW4gdXNlIEdTVF9OT19TVEFURV9JR05PUkVfRUxFTUVOVFM9MSBtYWtlIGdlbmVyaWMvc3RhdGVzLmNoZWNrCgkgIHRvIHRyeSBlbGVtZW50cyB0aGF0IHdvdWxkIG5vcm1hbHkgYmUgc2tpcHBlZC4KCjIwMTAtMDktMDkgMTg6NDc6NTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICB0ZXN0czogZml4IHJ0cGpwZWdwYXkgdGVzdAoJICBNYWtlIHRoZSBkYXRhIHdlIHNlbmQgdG8gdGhlIGpwZWcgcGF5bG9hZGVyIGJlIGEgdmFsaWQganBlZyBmaWxlIGJlY2F1c2UgdGhlCgkgIHBheWxvYWRlciBub3cgZXhwZWN0cyB0aGlzLgoKMjAxMC0wOS0wOSAxODo0NzoxMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBydHBqcGVncGF5OiBpbXByb3ZlIGRlYnVnZ2luZwoKMjAxMC0wOS0wOSAxNjozMTo1NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkgIHJ0cG1wYXJvYnVzdGRlcGF5OiB1c2UgdmFsaWQgYml0cmF0ZSBmb3IgZHVtbXkgZnJhbWUKCjIwMTAtMDktMDggMTc6MDc6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgaWQzdjJtdXg6IEFkZHMgbWFwcGluZyBmb3IgYWxidW0gYXJ0aXN0CgkgIE1hcHMgR1NUX1RBR19BTEJVTV9BUlRJU1QgdG8gVFBFMiBpbiBpZDN2Mm11eAoKMjAxMC0wOS0wOCAxODozNTowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogUmVxdWlyZSBvcmMgMC40LjgKCSAgVGhlIGRlaW50ZXJsYWNlIHBsdWdpbiBhcHBhcmVudGx5IGZhaWxzIHRvIGNvbXBpbGUgd2l0aCBvbGRlciB2ZXJzaW9ucy4KCjIwMTAtMDktMDggMTc6NTA6MTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFFvUyBoYW5kbGluZyBsb2dpYyBvbmx5IGFwcGxpZXMgdG8gZm9yd2FyZCBwbGF5YmFjawoJICBGaXhlcyAjNjI4ODk0LgoKMjAxMC0wOS0wOCAxNzo0Mzo0NyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IHJlbW92ZSB1bnVzZWQgY29kZQoKMjAxMC0wOS0wOCAxNDozNjo0OCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGZpeHVwIGxhc3QgY29tbWl0CgkgIFdlIG5lZWQgdG8gcHJldmVudCB0aGUgZXZlbnR1YWwgbGVhayBiZXR0ZXIuCgoyMDEwLTA5LTA4IDE0OjE2OjU4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogY29kZSBjbGVhbnVwcwoJICBVc2UgZ19zbGlzdF9wcmVwZW5kIGFzIHdlIGRvbid0IGNhcmUgYWJvdXQgdGhlIG9yZGVyLiBDaGVjayBmb3IgbGlzdCA9PSBOVUxMCgkgIGluc3RlYWQgb2YgaXRlcmF0aW5nIHRoZSBsaXN0IHRvIHNlZSBpZiBpdCBpcyBlbXB0eS4gTW92ZSBjdHggYWxsb2NhdGlvbiBkb3duCgkgIHRvIHByZXZlbnQgbGVhayBpbiBjYXNlIG9mIGZhaWx1cmUuCgoyMDEwLTA5LTA4IDA3OjEzOjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBydHBqcGVncGF5OiBGaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nCgkgIEZpeGVzIGJ1ZyAjNjI5MDE4LgoKMjAxMC0wOS0wNyAxOTowMjowMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBzaW1wbGlmeSBjbG9jayBwcm92aWRlIGNvZGUKCSAgRG9uJ3QgbGVhayB0aGUgcHVsc2VzaW5rIGVsZW1lbnQgYnkgaGF2aW5nIHRoZSBjbG9jayBrZWVwIGEgcmVmIHRvIHRoZSBzaW5rLgoJICBDcmVhdGUgdGhlIGNsb2NrIG9ubHkgb25jZSBpbiB0aGUgY29uc3RydWN0b3IgYW5kIHVzZSB0aGUgYmFzZWF1ZGlvc2luayBjbG9jawoJICBjbGVhbnVwIGNvZGUuCgoyMDEwLTA5LTA3IDE3OjQ5OjA1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogbW92ZSB0aGUgY29udGV4dCB0YWJsZSBpbml0IHRvIF9nZXRfdHlwZSBwaGFzZQoJICBUaGlzIHNlZW1zIHRvIGZpeCB0aGUgaW52YWxpZCByZWFkcyBvbiBjb250ZXh0IHNodXRkb3duIGJldHRlciwgYWx0b3VnaAoJICBJIGNhbid0IHJlYWxseSBleHBsYWluLgoKMjAxMC0wOS0wNyAxNzowNjowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogdXNlIG9sZGVyIGdfYXJyYXlfZnJlZQoJICBnX2FycmF5X3VucmVmKCkgaXMgb25seSBzaW5jZSAyLjIyCgoyMDEwLTA5LTA3IDE2OjQ5OjE2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBhdm9pZCBpbnZhbGlkIGFkYXB0ZXIgZmx1c2ggb24gUW9TCgkgIEZpcnN0IHN0b3JlIHRoZSBhdmFpbGFibGUgZGF0YSBpbiB0aGUgYWRhcHRlciBpbiB0aGUgcmVtX2ltZ19sZW4gaW5zdGFuY2UgZmllbGQKCSAgYmVmb3JlIHRyeWluZyB0byBmbHVzaCB0aGUgYWRhcHRlciB3aXRoIHRoYXQgdmFsdWUgb24gUW9TLgoKMjAxMC0wOS0wNyAxNjo0MDowOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBydHBqcGVncGF5OiBkbyBzb21lIG1vcmUgc2FuaXRpdHkgY2hlY2tzCgkgIFByb3RlY3Qgc29tZSBtb3JlIGFnYWluc3QgaW52YWxpZCBpbnB1dC4KCjIwMTAtMDktMDcgMTU6MjA6MTIgKzAyMDAgIEFtZXJpY2FuIER5bmFtaWNzIDxHU3RyZWFtZXItQnVncyBhdCB0eWNvc3AuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIGpwZWdwYXk6IGhhbmRsZSBjb3JydXB0ZWQganBlZyBiZXR0ZXIKCSAgUHJvdGVjdCBhZ2FpbnN0IGNvcnJ1cHRlZCBqcGVnIGlucHV0LgoKMjAxMC0wOS0wNyAxMzo1NTowNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkgIHJ2YXdkZXBheTogY2xlYW51cCB1bnVzZWQgZmllbGRzCgoyMDEwLTA5LTA3IDEzOjUxOjM3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSAgdnJhd2RlcGF5OiBoYW5kbGUgaW52YWxpZCBwYXlsb2FkIGJldHRlcgoJICBNYWtlIHN1cmUgd2UgZG9uJ3QgcmVhZCBtb3JlIGRhdGEgdGhhbiBhdmFpbGFibGUgaW4gdGhlIGlucHV0IGJ1ZmZlci4KCSAgQ2xpcCB0aGUgaW5wdXQgZGF0YSBpbnRvIHRoZSBvdXRwdXQgYnVmZmVyLgoKMjAxMC0wOC0xNiAxNTozNTo1MSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuaDoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmg6CgkgIHB1bHNlOiBhbGxvdyBzZXR0aW5nIHN0cmVhbSBwcm9wZXJ0aWVzCgkgIEFkZCBhICJwcm9wZXJ0aWVzIiBwcm9wZXJ0eSB0byB0aGUgZWxlbWVudHMgdG8gYWxsb3cgc2V0dGluZyBleHRyYSBzdHJlYW0KCSAgcHJvcGVydGllcy4KCSAgRml4ZXMgIzUzNzU0NAoKMjAxMC0wOS0wNyAxMjowODoxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1ZjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBkb2NzOiByZW1vdmUgaW50cm9zcGVjdGlvbiBpbmZvIGZvciBnZGtwaXhidWYzIHBsdWdpbiBhbmQgdXBkYXRlIHZlcnNpb24gZm9yIG90aGVycwoJICBUaGUgdmVyc2lvbnMgZ290IGFjY2lkZW50YWxseSByZXZlcnRlZCB0byBhIHByZS1yZWxlYXNlIHZlcnNpb24sIGZpeCB0aGF0LgoKMjAxMC0wOS0wNyAxMTo0MjoxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGMyZTEwYmYgdG8gYWEwZDFkMAoKMjAxMC0wOS0wNyAwOToyMDowMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkgIGNtbWxkZWM6IGZpeCBmbG93IHJldHVybiBoYW5kbGluZwoJICBGaXggYnVnZ3kgR1NUX0ZMT1dfSVNfRkFUQUwgc3Vic3RpdHV0aW9uLCBhbmQgJ21ha2UgY2hlY2snOgoJICAtICBpZiAoIUdTVF9GTE9XX0lTX0ZBVEFMIChkZWMtPmZsb3dfcmV0dXJuKSAmJiAhZGVjLT5zZW50X3Jvb3QpIHsKCSAgKyAgaWYgKGRlYy0+Zmxvd19yZXR1cm4gIT0gR1NUX0ZMT1dfT0sgJiYgIWRlYy0+c2VudF9yb290KSB7CgoyMDEwLTA5LTA3IDAwOjI3OjA3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogZG9uJ3QgZnJlZSB0aGUgY29udGV4dCBtdWx0aXBsZSB0aW1lcwoJICBBcHBhcmVudGx5IHRoZSBjbG9zZSBmdW5jdGlvbiBvZiB0aGUgcmluZy1idWZmZXIgY2FuIGJlIGNhbGxlZCBtdWx0aXBsZSB0aW1lcy4KCjIwMTAtMDgtMTIgMTI6MzM6MDYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkgIHJ0cG1wNGFkZXBheTogZ3JhYiB0aGUgc2FtcGxpbmcgYXJ0ZSBhbmQgcHV0IGludG8gY2FwcwoJICBUaGlzIGlzIG5lZWRlZCB0byBiZSBhYmxlIHRvIG11eCB0aGUgcmVjZWl2ZWQgYXVkaW8gaW50byBtcDQgKGluIHRoZSBjYXNlIG9mCgkgIGFhYykuIEZpeGVzICM2MjU4MjUuCgoyMDEwLTA5LTA2IDE0OjQwOjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxY2VscGRlcGF5LmM6CgkgIHJ0cDogbWFyayBjb25zdGFudCB0YWJsZXMgYXMgY29uc3QKCjIwMTAtMDgtMTggMTQ6NDA6NDggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuaDoKCSAgcnRwYW1ycGF5OiBwcm9wZXJseSBzdXBwb3J0IHBlcmZlY3QtcnRwdGltZQoKMjAxMC0wOC0xOCAxMTo0MjozMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJICBydHBhbXJwYXk6IHByb3BlciBkdXJhdGlvbiBmb3IgbXVsdGlwbGUgZnJhbWUgcGF5bG9hZAoKMjAxMC0wOC0xOCAxMTo0MjowNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkgIHJ0cGFtcihkZSlwYXk6IHN1cHBvcnQgQU1SLVdCIFNJRCBmcmFtZQoKMjAxMC0wOC0xOCAxMTozOTowNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5Lmg6CgkgIHJ0cGc3MjlwYXk6IHByb3Blcmx5IHN1cHBvcnQgcGVyZmVjdC1ydHB0aW1lCgoyMDEwLTA4LTE2IDE2OjA4OjA0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogaW1wcm92ZSBmcmFtZXJhdGUgZGV0ZXJtaW5pbmcKCSAgQ29sbGVjdCBhIGxpbWl0ZWQgbnVtYmVyIG9mIHN0YXJ0aW5nIHNhbXBsZSBkdXJhdGlvbnMgYW5kIHVzZSB0aGUgbWVkaWFuIG9mCgkgIHRob3NlIHRvIGRldGVybWluZSBjYXBzIGZyYW1lcmF0ZS4KCjIwMTAtMDgtMTcgMTI6MDg6MTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGF0dGVtcHQgbW9yZSByZXN5bmMgdXBvbiAoY2x1c3RlcikgcGFyc2UgZXJyb3IKCSAgVGhhdCBpcywgaWYgcGFyc2UgZXJyb3Igb2NjdXJzIGluIHN0YXRlIHJlcXVpcmluZyB0byBtb3ZlIHRvIG5leHQgY2x1c3RlciwKCSAgYW5kIGRvaW5nIHNvIHRvIHRoZSBleHBlY3RlZCBuZXh0IHBvc2l0aW9uIG9mIGNsdXN0ZXIgZmFpbHMsIHRoZW4gc2NhbiBmb3IgYQoJICBuZXh0IGNsdXN0ZXIgZnJvbSBwcmVzZW50IHBvc2l0aW9uIGFuZCByZXN1bWUgZnJvbSB0aGVyZS4KCSAgRml4ZXMgIzYyMDc5MC4KCjIwMTAtMDgtMTYgMTY6MDU6NDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IG5vdCBzbyBmYXRhbCBlcnJvciBoYW5kbGluZwoJICBJZiBzb21lIGJpdHMgb3V0IG9mIHBsYWNlIGluIGJsb2NrKGdyb3VwKSBwYXJzaW5nLCBmb3JlZ28gYW5kIG1vdmUgdG8gbmV4dC4KCSAgQWxzbyBza2lwIGxhcmdlIGJsb2NrcyBpbiBwdWxsIG1vZGUsIGJ1dCBuZWVkIHRvIGdpdmUgdXAgaW4gcHVzaCBtb2RlLgoJICBGaXhlcyAjNjI2NDYzLgoJICBJbXByb3ZlcyAjNjIwNzkwLgoKMjAxMC0wNy0yNiAxNTo1MTo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIG1hdHJvc2thZGVtdXg6IGFkZGl0aW9uYWwgcGFyc2UgcmVjb3ZlcnkKCSAgSW4gcGFydGljdWxhciwgdXBvbiBwYXJzZSBmYWlsdXJlIGluIG9uZSBjbHVzdGVyLCB3ZSBtYXkgZm9yZWdvIHJlbWFpbmluZwoJICBjb250ZW50IGFuZCB0cnkgcmVzdW1pbmcgZnJvbSBuZXh0IGNsdXN0ZXIgb253YXJkcy4KCSAgRml4ZXMgIzYyMDc5MC4KCjIwMTAtMDgtMjYgMDI6NTQ6NTUgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIGR0bWZzcmM6IE1ha2UgdGhlIGR0bWZzcmMgYWNjZXB0IGV2ZW50cyBzZW50IHdpdGggZ3N0X2VsZW1lbnRfc2VuZF9ldmVudAoJICBUaGUgZG9jIHNheXMgdG8gdXNlIGdzdF9lbGVtZW50X3NlbmRfZXZlbnQgb24gdGhlIHBpcGVsaW5lLCBidXQgaWYKCSAgd2UgYXJlIHRvIGNhbGwgaXQgb24gdGhlIGVsZW1lbnQgaXRzZWxmLCBpdCdzIGEgbm9vcC4gVGhpcyBzaG91bGQgbWFrZSBpdAoJICBoYW5kbGUgdGhlIGV2ZW50IHByb3Blcmx5IGJlZm9yZSBkZWxlZ2F0aW5nIGl0IHRvIGJhc2VzcmMuCgoyMDEwLTA5LTA2IDEyOjIyOjExICswMjAwICBBbWVyaWNhbiBEeW5hbWljcyA8R1N0cmVhbWVyLUJ1Z3MgYXQgdHljb3NwLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBBZGQgcHJvcGVydHkgdG8gY29uZmlndXJlIHVkcHNyYyBidWZmZXIgc2l6ZQoJICBBZGQgYSBuZXcgdWRwLWJ1ZmZlci1zaXplIHByb3BlcnR5IHRvIGNvbmZpZ3VyZSB0aGUgYnVmZmVyLXNpemUgb24gdGhlIHVkcHNyYwoJICBlbGVtZW50cy4KCSAgRml4ZXMgIzYyODA1OAoKMjAxMC0wOC0yNyAxNzo1ODo0NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgcnRwYmluOiBhZGQgbnRwLXN5bmMgcHJvcGVydHkKCSAgQWRkIGFuIG50cC1zeW5jIHByb3BlcnR5IHRoYXQgd2lsbCBzeW5jIHRoZSByZWNlaXZlZCBzdHJlYW1zIHRvIHRoZSBzZXJ2ZXIKCSAgTlRQIHRpbWUuIFRoaXMgcmVxdWlyZXMgc3luY2hyb25pemVkIE5UUCB0aW1lcyBiZXR3ZWVuIHRoZSBzZW5kZXIgYW5kIHJlY2VpdmVycywKCSAgbGlrZSB3aXRoIG50cGQuCgkgIEJhc2VkIG9uIHBhdGNoIGZyb20gVGhpanMgVmVybWVpci4KCSAgRml4ZXMgIzYyNzc5NgoKMjAxMC0wOC0yNyAxMjoxNDoyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHJlbmFtZSBhIHZhcmlhYmxlIHRvIGF2b2lkIGNvbmZ1c2lvbgoKMjAxMC0wOC0yNyAxMTowNzozNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IHJlbmFtZSBzb21lIHZhcmlhYmxlcyBmb3IgbGVzcyBjb25mdXNpb24KCjIwMTAtMDgtMjcgMTA6NDE6MDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBtb3ZlIGNvbW1lbnQgd2hlcmUgaXQgYmVsb25ncwoKMjAxMC0wOC0yNiAxNjowMDozOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogbWlub3IgY2xlYW51cHMKCSAgTWFrZSBjbG9jayBzbmFwc2hvdHMgbW9yZSBhY2N1cmF0ZSBieSBvbmx5IHNhbXBsaW5nIHRoZSBzYW1lIGNsb2NrIG9uY2UuCgoyMDEwLTA4LTI2IDEwOjU4OjI2ICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cGJpbjogYWRkIHVzZS1waXBlbGluZS1jbG9jayBwcm9wZXJ0eQoJICBXaXRoIHRoaXMgcHJvcGVydHkgUlRDUCBTUiBOVFAgdGltZXMgY2FuIGJlIGJhc2VkCgkgIG9uIHRoZSBzeXN0ZW0gY2xvY2sgKG1heWJlIHN5bmNlZCB3aXRoIG50cGQpIG9yIHRoZQoJICBjdXJyZW50IHBpcGVsaW5lIGNsb2NrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI3Nzk2CgoyMDEwLTA4LTI1IDA5OjU4OjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcGV4dC5jOgoJICBydHNwZXh0OiBzdG9wIGNvbmZpZ3VyYXRpb24gb24gZmlyc3QgZmFpbHVyZQoJICBTdG9wIHRoZSBjb25maWd1cmF0aW9uIG9mIGEgc3RyZWFtIGFzIHNvb24gYXMgc29tZSBvZiB0aGUgZXh0ZW5zaW9ucyByZXR1cm4KCSAgRkFMU0UuCgkgIEZpeGVzICM1ODEyOTQKCjIwMTAtMDgtMjAgMTU6MzU6MjcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICBtdWx0aWZkc2luazogdXNlIHJlZmNvdW50IHRvIGNvdW50IGhvc3QvcG9ydCBkdXBsaWNhdGVzCgkgIEluc3RlYWQgb2YgYWRkaW5nIG11bHRpcGxlIGNsaWVudCBzdHJ1Y3R1cmVzIGZvciB0aGUgc2FtZSBob3N0L3BvcnQgcGFpciwgdXNlIGEKCSAgcmVmY291bnQuCgkgIEFkZCBhIHNlbmQtZHVwbGljYXRlcyBmZWF0dXJlIHRoYXQgYWxsb3dzIHlvdSB0byBkaXNhYmxlIHNlbmRpbmcgbXVsdGlwbGUgY29waWVzCgkgIG9mIHRoZSBzYW1lIHBhY2tldCB0byB0aGUgc2FtZSBob3N0IHdoZW4gaXQgd2FzIGFkZGVkIG11bHRpcGxlIHRpbWVzLiBUaGUKCSAgc2VuZC1kdXBsaWNhdGVzIHByb3BlcnR5IGlzIGJ5IGRlZmF1bHQgc2V0IHRvIFRSVUUgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5CgkgIGFsdGhvdWdoIGl0IGlzIHZlcnkgbGlrZWx5IHRoYXQgdGhpcyBpcyBub3QgZGVzaXJlZCBiZWhhdmlvdXIuCgoyMDEwLTA4LTE5IDE3OjA2OjI2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBpbXBsZW1lbnQgY3VzdG9tIGV2ZW50IGhhbmRsZXIKCSAgRXh0ZW5kIHRoZSBfcHVzaF9ldmVudCgpIGZ1bmN0aW9uIHNvIHRoYXQgaXQgY2FuIGFsc28gc2VuZCBldmVudHMgdG8gdGhlIHVkcAoJICBzb3VyY2VzIHdoZW4gYXNrZWQuCgkgIEltcGxlbWVudCBhIGN1c3R1bSBzZW5kX2V2ZW50IGZ1bmN0aW9uIHRoYXQgY29ycmVjdGx5IGRpc3BhdGNoZXMgdGhlIGRvd25zdHJlYW0KCSAgZXZlbnRzIGluIFRDUCBtb2RlLiBUaGlzIGZpeGVzIHNlbmRpbmcgRU9TIHRvIHJ0c3BzcmMgYW5kIGhhdmUgaXQgcHVzaCB0aGUgRU9TCgkgIGRvd25zdHJlYW0uCgoyMDEwLTA4LTE5IDExOjM3OjA0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiB1c2UgX2dldF9jYXBzX3JlZmZlZCgpIHdoZW4gd2UgY2FuCgkgIFVzZSBfZ2V0X2NhcHNfcmVmZmVkKCkKCSAgQWRkIHNvbWUgbW9yZSBkZWJ1ZyB3aGVuIG9wZW5pbmcgdGhlIHNlcnZlciBjb25uZWN0aW9uLgoKMjAxMC0wOC0xNiAxMToyOTowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5Lmg6CgkgIGpwZWdkZXBheTogaGFuZGxlIERJU0NPTlQgYW5kIHJlc2V0IHN0YXRlCgkgIFB1dCBhIERJU0NPTlQgZXZlbnQgb24gdGhlIG5leHQgb3V0cHV0IGJ1ZmZlciB3aGVuIHRoZSBpbnB1dCBidWZmZXIgaGFkIGEKCSAgRElTQ09OVC4KCSAgTWFrZSBzdXJlIHdlIGNsZWFyIG91ciBhZGFwdGVyIGFuZCByZXNldCBvdXIgc3RhdGUgYmVmb3JlIGdvaW5nIHRvIFBBVVNFRC4KCSAgRnJlZSB0aGUgcXRhYmxlcy4KCSAgRml4ZXMgIzYyNjg2OQoKMjAxMC0wOC0xNiAxMToyNzo1MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5oOgoJICBnNzI5cGF5OiBleHRlbmQgZnJvbSByaWdodCBwYXJlbnQKCjIwMTAtMDktMDYgMDk6NTc6MTAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBhZGQgc2luY2UgZG9jcyBmb3IgbmV3IHByb3BlcnR5LgoKMjAxMC0wOC0zMCAxNjo0NTo0OCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiB1c2UgR1NUX0JPSUxFUlBMQVRFIG1hY3JvCgoyMDEwLTA4LTE2IDE3OjIzOjU4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVtaXhlcjogYWRkIGEgZXhhbXBsZSBzaG93aW5nIGhvdyB0byB1c2UgdGhlIGNoaWxkIHByb3BlcnRpZXMKCSAgU2hvdyBob3cgdG8gcG9zaXRpb24gYW5kIHNldCB0aGUgYWxwaG8gb2YgdGhlIHZpZGVvcyBvbiBnc3QtbGF1bmNoLgoKMjAxMC0wOC0xNiAxNToxOTozOCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBtb3ZlIHRoZSBwcm9wZXJ0eS1zZXR0ZXIgdG8gdGhlIGdldHRlci4KCjIwMTAtMDgtMTEgMTU6NDg6MTggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bSBvbmx5IGFnZ3JlZ2F0ZSBtYWduaXR1ZGUvcGhhc2UgaWYgdXNlciBhc2tzIGZvciBpdAoKMjAxMC0wOC0xMSAxNTo0NTo1NiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBpbXByb3ZlIHBlcmZvcm1hbmNlIHdpdGggbG9jYWwgdmFycwoJICBVc2UgJ2lucHV0JyBpbnN0ZWFkIG9mICdzcGVjdHJ1bS0+aW5wdXQnIHdoaWNoIHdhcyBpbnRlbmRlIGFscmVhZHkgKHZhcmlhYmxlCgkgIGV4aXN0cywgYnV0IG5vdCB1c2VkIGV2ZXJ5d2hlcmUpLiBBbHNvIHVzZSBhIGxvY2FsIHZlcnNpb24gb2YKCSAgJ3NwZWN0cnVtLT5pbnB1dF9wb3MnLgoKMjAxMC0wOC0xMSAxNTo0NDowMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBjb2RlIGNsZWFudXAKCSAgTW9yZSBjb21tZW50cyBhbmQgbG9nZ2luZy4gRXh0cmFjdCBvbmUgY29tcGxleCBjb25kaXRpb24gdG8gYSB2YXJpYWJsZS4gUmVvcmRlcgoJICBzb21lIGNvZGUgZm9yIHJlYWRhYmlsaXR5LgoKMjAxMC0wOC0xMSAxNTo0MDowOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBpbXByb3ZlIHByb3BlcnR5IHNldHRlcgoJICBjb25zaXN0ZW50bHkgb25seSB1cGRhdGUgaWYgdGhlIHByb3BlcnR5IGFjdHVhbHkgY2hhbmdlZCB0aGUgdmFsdWUuIERvIGl0CgkgIHdpdGhvdXQgcmVhZGluZyB0aGUgZ3ZhbHVlIHR3aWNlLiBObyBuZWVkIHRvIHJlc2V0IHRoZSBzcGVjdHJ1bSBhbmFseXplciBmb3IKCSAgdGhyZXNob2xkIGNoYW5nZXMuCgoyMDEwLTA4LTExIDE1OjM4OjI0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IGFkZCBoZWxwZXIgdG8gb25seSBmbHVzaCByaW5nYnVmZmVyIGRhdGEgd2l0aG91dCByZXNldHRpbmcgdGhlIGZmdAoJICBSZWR1Y2VzIHNvbWUgZHVwbGljYXRlZCBjb2RlIGFzIHdlbGwuCgoyMDEwLTA4LTExIDEyOjQ1OjUzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIHNwZWN0cnVtOiBtb3JlIGNvbW1lbnRzCgoyMDEwLTA5LTA1IDIyOjIyOjQyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogRG9jdW1lbnQgbWV0aG9kcyB3aXRoIGJhZCBxdWFsaXR5CgoyMDEwLTA5LTA1IDIyOjE5OjU2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5jOgoJICBkZWludGVybGFjZTogaW5pdGlhbGl6ZSBhbGwgZGVpbnRlcmxhY2UgY2xhc3MgbWVtYmVycwoJICBUaGlzIGZpeGVzIFVZVlkgZGVpbnRlcmxhY2luZy4KCjIwMTAtMDktMDUgMTg6NTg6MTMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBkM2Q5YWNmIHRvIGMyZTEwYmYKCjIwMTAtMDktMDUgMTg6NDU6MjEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSAgdmlkZW9taXhlcjogb3JjX2luaXQoKSBkb2Vzbid0IG5lZWQgdG8gYmUgY2FsbGVkCgkgIFRoZXJlJ3Mgbm8gbmVlZCB0byBjYWxsIG9yY19pbml0KCkgdW5sZXNzIHlvdSdyZSB1c2luZyB0aGUgT3JjCgkgIEFQSSBkaXJlY3RseS4gIEFsbCBjb2RlIGNyZWF0ZWQgYnkgb3JjYyBpcyBndWFyYW50ZWVkIHRvIHdvcmsKCSAgd2l0aG91dCBjYWxsaW5nIG9yY19pbml0KCkuCgoyMDEwLTA5LTA1IDE4OjQwOjQ4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLm9yYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHkuYzoKCSAgZGVpbnRlcmxhY2U6IEZpeCBncmVlZHlsIE9yYyBpbXBsZW1lbnRhdGlvbgoJICBUbyBhZ3JlZSB3aXRoIHRoZSBwcmV2aW91cyBDL2FzbSBjb2RlLgoKMjAxMC0wOS0wNSAyMjozMTozNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyMjogRmFpbCB3aGVuIGNhcHMgYXJlIGluY29tcGF0aWJsZQoJICBEbyBub3QgZm9yZ2V0IHRvIHJldHVybiBmYWxzZSB3aGVuIGNhcHMgYXJlIGluY29tcGF0aWJsZS4KCjIwMTAtMDktMDUgMjA6NTY6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSAgdmlkZW9taXhlcjogT25seSBpbml0IG9yYyBpZiBpdCBpcyBhdmFpbGFibGUKCSAgUHV0IHNvbWUgaWZkZWYgYXJvdW5kIG9yY19pbml0IHRvIHByZXZlbnQgYnVpbGQgZXJyb3JzCgoyMDEwLTA5LTA1IDEyOjE3OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZWM2MDIxNyB0byBkM2Q5YWNmCgoyMDEwLTA5LTA0IDEyOjQ2OjMxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuaDoKCSAgZGVpbnRlcmxhY2U6IFVwZGF0ZSBkaXN0ZWQgT3JjIGZpbGVzCgoyMDA5LTA2LTI5IDExOjQzOjA3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICB2NGwyc3JjOiBhZGQgZGVjaW1hdGUgcHJvcGVydHkKCjIwMTAtMDYtMDQgMTI6MDk6MjMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2R2L01ha2VmaWxlLmFtOgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZHYvZ3N0c21wdGV0aW1lY29kZS5oOgoJICBkdmRlbXV4OiBQYXJzZSBTTVBURSB0aW1lIGNvZGVzCgoyMDEwLTA4LTIzIDAyOjUwOjM2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyYmxlbmQuYzoKCSAgZGVpbnRlcmxhY2U6IHJlbW92ZSBhc3NlbWJseSBjb2RlIGluIGZhdm9yIG9mIG9yYwoKMjAxMC0wNi0wOCAxNDo1NDo0OSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLm9yYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHkuYzoKCSAgZGVpbnRlcmxhY2U6IGltcGxlbWVudCBncmVlZHkgaW4gT3JjCgoyMDEwLTA5LTA0IDExOjQzOjIxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuaDoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94b3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94b3JjLWRpc3QuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0Lmg6CgkgIHVwZGF0ZSBkaXN0ZWQgT3JjIGZpbGVzCgoyMDEwLTA5LTAyIDE0OjM0OjUwICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJICBhbHBoYWNvbG9yOiBGaXggY2xhc3NpZmljYXRpb24KCSAgVGhpcyBpcyBubyBlZmZlY3QgYnV0IGEgY29udmVydGVyLiBGaXhlcyBidWcgIzYyODYwOC4KCjIwMTAtMDktMDIgMTE6MTk6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnR5cGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1ZjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIycGFkLmg6CgkgIHZpZGVvbWl4ZXIyOiBBZGQgZG9jdW1lbnRhdGlvbiBhbmQgYWRkIHRvIHRoZSBkb2NzCgoyMDEwLTA3LTI2IDE2OjA3OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9taXhlci9nc3Rjb2xsZWN0cGFkczIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvZ3N0Y29sbGVjdHBhZHMyLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuaDoKCSAgdmlkZW9taXhlcjI6IEFkZCB2aWRlb21peGVyMiBlbGVtZW50CgkgIFRoaXMgaXMgYmFzZWQgb24gY29sbGVjdHBhZHMyIGFuZCBpcyBzeW5jaHJvbml6aW5nCgkgIGFsbCBzdHJlYW1zIGJhc2VkIG9uIHRoZSBydW5uaW5nIHRpbWUuCgkgIE5ldyBmZWF0dXJlcyBjb21wYXJlZCB0byBvbGQgdmlkZW9taXhlcjoKCSAgKiBTeW5jaHJvbml6aW5nIGZyYW1lcyBvbiB0aGUgcnVubmluZyB0aW1lCgkgICogSW1wcm92ZWQgYW5kIHNpbXBsaWZpZWQgbmVnb3RpYXRpb24KCSAgKiBGdWxsIFFvUyBzdXBwb3J0CgkgICogVmFyaWFibGUgZnJhbWVyYXRlIHN1cHBvcnQKCSAgRml4ZXMgYnVnICM2MjYwNDgsICM2MjQ5MDUuCgoyMDEwLTA5LTAxIDExOjExOjM0ICswMjAwICBQYXZlbCBLb3N0eXVjaGVua28gPHNocHJvdHhAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFJlbGF4IHBhcnNpbmcgb2YgZGF0ZSB0YWdzCgkgIEJlZm9yZSB3ZSByZXF1aXJlZCBhIGNvbXBsZXRlIGRhdGUgaW4gbWF0cm9za2FkZW11eCBidXQgaW4KCSAgaWQzZGVtdXggZm9yIGV4YW1wbGUgb25seSB0aGUgeWVhciBvciB5ZWFyIGFuZCBtb250aCB3YXMgcG9zc2libGUgdG9vLgoJICBGaXhlcyBidWcgIzYyODQ1NC4KCjIwMTAtMDgtMzAgMTk6MDM6NTIgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBVc2UgR3N0QmFzZVNyYzo6YmxvY2stc2l6ZSBhcyBmYWxsYmFjayBzaXplCgoyMDEwLTA4LTMwIDE4OjM2OjU0ICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBGaXggdXNpbmcgbXBlZ3RzIHZpYSB0aGUgbW1hcCBpbnRlcmZhY2UKCSAgTVBFRyBkb2Vzbid0IGhhdmUgYSBzdGF0aWMgc2l6ZSBwZXIgZnJhbWUsIHNvIGRvbid0IHByZXRlbmQgaXQgaGFzIG9uZQoJICBhbmQgZmFpbCB3aGVuIGNhcHR1cmluZyBiZWNhdXNlIGl0IGRvZXNuJ3QgbWF0Y2guIEluc3RlYWQgbWFyayB0aGUgc2l6ZQoJICBhcyB1bmtub3duIGFuZCBsZXQgdGhlIHJlYWQgZnJhbWUgZ3JhYmJpbmcgbWV0aG9kIHVzZSBhIHJlYXNvbmFibGUgZmFsbGJhY2sKCSAgdmFsdWUgKGFzc3VtaW5nIHRoYXQncyBvbmx5IGZvciBhY3R1YWwgc3RyZWFtaW5nIGZvcm1hdHMpCgkgIEZpeGVzIGJ1ZyAjNjI4MzQ5LgoKMjAxMC0wOC0yNyAxODoxNTowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgd2F2cGFja3BhcnNlOiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoKMjAxMC0wOC0yNyAxODoxMzoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICBwbmdkZWM6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgkgIEFuZCBkb24ndCBwb3N0IGFuIGVycm9yIG1lc3NhZ2UgaWYgZG93bnN0cmVhbSByZXR1cm5zIFVORVhQRUNURUQuCgoyMDEwLTA4LTI3IDE4OjA5OjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkgIGR2ZGVtdXg6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgoyMDEwLTA4LTI3IDE4OjA1OjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCSAgQW5kIGRvbid0IHBvc3QgYW4gZXJyb3IgbWVzc2FnZSBpZiBidWZmZXIgYWxsb2NhdGlvbiBmYWlsZWQgYmVjYXVzZQoJICBvZiBVTkVYUEVDVEVELCB3aGljaCBvbmx5IG1lYW5zIHRoYXQgZG93bnN0cmVhbSB3YW50cyB1cyB0byBFT1Mgbm93LgoKMjAxMC0wOC0yNyAxODowMjo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYy9kZWM6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgkgIEFuZCBwcm9wZXJseSBoYW5kbGUgVU5FWFBFQ1RFRCBhbmQgV1JPTkdfU1RBVEUuCgoyMDEwLTA4LTI3IDE3OjUyOjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOgoJICBjbW1sZGVjL2VuYzogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCSAgQW5kIGFzIGEgcmVzdWx0LCBkb24ndCBpZ25vcmUgV1JPTkdfU1RBVEUgYW5kIE5PVF9MSU5LRUQuCgkgIEJvdGggbWVhbiB0aGF0IGl0J3MgYSBnb29kIGlkZWEgdG8gcGFzcyB0aGVtIHVwc3RyZWFtIGluc3RlYWQKCSAgb2YgcHJldGVuZGluZyB0aGF0IGV2ZXJ5dGhpbmcgaXMgZ29vZC4KCjIwMTAtMDgtMjcgMTc6NDc6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoKMjAxMC0wOC0yNyAxNzo0NTo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpIGFuZCBHU1RfRkxPV19JU19TVUNDRVNTKCkKCjIwMTAtMDgtMjcgMTc6Mzk6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoKMjAxMC0wOC0yNyAxNzozNzozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCjIwMTAtMDgtMjcgMTc6MzU6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJICBybmRidWZmZXJzaXplOiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoKMjAxMC0wOC0yNyAxNzozNTozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoKMjAxMC0wOC0yNyAxNzozMjowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoJICBBbmQgZG9jdW1lbnQgd2h5IHdyb25nLXN0YXRlIGRvZXNuJ3QgbmVlZCBhbiBlcnJvciBtZXNzYWdlLgoKMjAxMC0wOC0yNiAxMzo0NDo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogRmFpbCBncmFjZWZ1bGx5IGlmIG5vIHRocmVhZGVkIFBBIG1haW5sb29wIGNhbiBiZSBjcmVhdGVkCgkgIEZpeGVzIGJ1ZyAjNjI4MDIwLgoKMjAxMC0wOC0yNCAxNToxMToyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuaDoKCSAgdmlkZW9taXhlcjogVXBkYXRlIGRpc3RlZCBPUkMgZmlsZXMKCjIwMTAtMDgtMjMgMTU6NDQ6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfbW14Lmg6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLm9yYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBPcHRpbWl6ZSBBUkdCIGJsZW5kaW5nIGFuZCBpbXBsZW1lbnQgQkdSQSBibGVuZGluZyB3aXRoIG9yYwoJICBUaGlzIG5vdyBtZWFucywgdGhhdCB3ZSBoYXZlIGFic29sdXRlbHkgbm8gaGFuZHdyaXR0ZW4gYXNzZW1ibHkgYW55bW9yZQoJICBpbiB2aWRlb21peGVyIGFuZCBpdCdzIGFsc28gZmFzdGVyIG5vdyB3aGVuIHVzaW5nIFNTRS4KCjIwMTAtMDgtMjIgMDE6NTg6MDUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMub3JjOgoJICB2aWRlb21peGVyOiBBZGQgb3JjIGltcGxlbWVudGF0aW9uIGZvciBibGVuZGluZwoJICB2aWRlb21peGVyOiBBZGQgb3JjIGltcGxlbWVudGF0aW9uIGZvciBibGVuZGluZwoKMjAxMC0wOC0yMiAwMTo1NDoxNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IEZpeCBleGFtcGxlIHBpcGVsaW5lcwoJICB2aWRlb21peGVyOiBGaXggZXhhbXBsZSBwaXBlbGluZXMKCjIwMTAtMDgtMjAgMTE6NDE6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IEFkZCB0ZXN0IGZvciBjaGVja2luZyBpZiBpbWFnZWZyZWV6ZSBjb3JyZWN0bHkgcmV0dXJucyBVTkVYUEVDVEVEIGFmdGVyIHRoZSBmaXJzdCBidWZmZXIKCjIwMTAtMDgtMjAgMTE6Mzg6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IEFkZCB0ZXN0IGZvciBidWZmZXJhbGxvYyBwYXNzdGhyb3VnaAoKMjAxMC0wOC0yMCAxMDozNToxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogRml4IHJhY2UgY29uZGl0aW9ucyBpbiB0aGUgdW5pdCB0ZXN0CgkgIElmIHNldHRpbmcgdGhlIHBpcGVsaW5lIHRvIFBMQVlJTkcgYmVmb3JlIGlzc3VpbmcgdGhlIHNlZWssIGJ1ZmZlcnMKCSAgYXJlIGFscmVhZHkgYXJyaXZpbmcgYXQgdGhlIHNpbmsgYmVmb3JlIHRoZSBzZWVrIGlzIGhhbmRsZWQgYW5kCgkgIHdpbGwgaGF2ZSB0aGUgd3JvbmcgdGltZXN0YW1wcyBhbmQgZXZlcnl0aGluZy4KCSAgRml4ZXMgYnVnICM2MjU1NDcuCgoyMDEwLTA4LTIwIDEwOjM0OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuaDoKCSAgaW1hZ2VmcmVlemU6IEZpeCBhbm90aGVyIHN1YnRsZSByYWNlIGNvbmRpdGlvbiByZWxhdGVkIHRvIHN0YXJ0aW5nIHRoZSBzcmNwYWQgdGFzawoJICBEdWUgdG8gYSBzZWVrIHRoZSBzcmNwYWQgdGFzayBjb3VsZCBiZSBzdGFydGVkIGluIHJhcmUgY2lyY3Vtc3RhbmNlcyBhbHRob3VnaAoJICBpdCBzaG91bGRuJ3QgYmUgc3RhcnRlZCBhbnltb3JlIGJlY2F1c2Ugbm8gdXBzdHJlYW0gYnVmZmVyIGlzIGF2YWlsYWJsZS4KCjIwMTAtMDgtMjAgMTA6MjQ6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5oOgoJICBpbWFnZWZyZWV6ZTogUHJvdGVjdCB0aGUgZmx1c2hpbmctc2VlayB2YXJpYWJsZSBieSB0aGUgc3JjcGFkJ3Mgc3RyZWFtIGxvY2sKCSAgVGhpcyBmaXhlcyBhIHN1YnRsZSByYWNlIGNvbmRpdGlvbiwgdGhhdCBjYXVzZWQgYnVmZmVyYWxsb2MgdG8gZmFpbAoJICB3aXRoIHdyb25nLXN0YXRlIGR1ZSB0byBhIHNlZWsgYnV0IGNhdXNlZCBpdCB0byBiZSBub3QgcmV0cmllZCBhcwoJICBpdCBzaG91bGQuCgoyMDEwLTA4LTIwIDA5OjE0OjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogQWx3YXlzIGdlbmVyYXRlIGEgcGVyZmVjdGx5IHRpbWVzdGFtcGVkIHN0cmVhbQoJICBCZWZvcmUgdGhlcmUgY291bGQgYmUgcm91bmRpbmcgZXJyb3JzIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGR1cmF0aW9uLAoJICByZXN1bHRpbmcgaW4gdGltZXN0YW1wICsgZHVyYXRpb24gYmVpbmcgc21hbGxlciB0aGFuIHRoZSBuZXh0IGJ1ZmZlcidzCgkgIHRpbWVzdGFtcC4KCjIwMTAtMDgtMTkgMTg6Mzg6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IE9ubHkgaW5jbHVkZSB0aGUgc2VydmVyIG5hbWUgaW4gdGhlIGNvbnRleHQgbmFtZSBpZiBpdCdzIG5vdCBOVUxMCgoyMDEwLTA4LTE4IDE2OjM3OjQxICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkgIHB1bHNlc2luazogQWRkICJjbGllbnQiIHByb3BlcnR5IHRvIHNldCB0aGUgUEEgY2xpZW50IG5hbWUKCSAgQWxsb3dzIHRoZSBhcHBsaWNhdGlvbiB0byBtb2RpZnkgdGhlIGNsaWVudCBuYW1lIHVzZWQgdG8gY29ubmVjdCB3aGVuCgkgIGNvbm5lY3RpbmcgdG8gdGhlIFB1bHNlQXVkaW8gZGFlbW9uLiBOb3RlIGhvd2V2ZXIgdGhhdCB1cGRhdGluZyB0aGUKCSAgcHJvcGVydHkgYWZ0ZXIgdGhlIGVsZW1lbnQgcmVhY2hlZCB0aGUgUkVBRFkgc3RhdGUgd2lsbCBoYXZlIG5vCgkgIGVmZmVjdCB1bnRpbCB0aGUgbmV4dCBOVUxMLT5SRUFEWSB0cmFuc2l0aW9uLgoJICBGaXhlcyBidWcgIzYyNzE3NC4KCjIwMTAtMDgtMTkgMTc6NTk6MDkgKzAyMDAgIERhdmlkIEhveXQgPGRob3l0QGxsbmwuZ292PgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IEltcHJvdmUgZXJyb3IgbWVzc2FnZXMKCSAgQmVmb3JlIHRoZXkgY29udGFpbmVkIHRoZSBVUkwgYmVmb3JlIHRoZSBhY3R1YWwgZmFpbHVyZS4gVGhlIG90aGVyCgkgIHdheSBhcm91bmQgbWFrZXMgbW9yZSBzZW5zZSBhbmQgd2UgZG8gdGhlIHNhbWUgaW4gb3RoZXIgZWxlbWVudHMKCSAgbGlrZSBmaWxlc3JjLgoJICBGaXhlcyBidWcgIzYyNzI4OS4KCjIwMTAtMDgtMTkgMTI6NDY6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEZyZWUgdGhlIGNsb2NrIG9uIHN0YXRlIGNoYW5nZSBmYWlsdXJlcyB0b28KCjIwMTAtMDgtMTcgMTY6MjY6NDEgKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBub3JtYW5kQGlnYWxpYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBwdWxzZXV0aWw6IGluY2x1ZGUgcGlkIHZhbHVlIGluIGdzdF9wdWxzZV9jbGllbnRfbmFtZSgpIGZhbGxiYWNrIHJldHVybiB2YWx1ZQoJICBGaXhlcyBidWcgIzYyNzE2MgoKMjAxMC0wOC0xOSAxMjozMjo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogRnJlZSB0aGUgR3N0UHVsc2VDb250ZXh0IGFmdGVyIHVzYWdlCgoyMDEwLTA4LTE2IDA5OjEyOjA0ICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IHNoYXJlIHRoZSBQQSBjb250ZXh0IGJldHdlZW4gYWxsIGNsaWVudHMgd2l0aCB0aGUgc2FtZSBuYW1lCgkgIEF2b2lkIHRvIGNyZWF0ZSBhIG5ldyBQQSBjb250ZXh0IGZvciBlYWNoIG5ldyBjbGllbnQgYnkgdXNpbmcgYSBoYXNoCgkgIHRhYmxlIGNvbnRhaW5pbmcgdGhlIGxpc3Qgb2YgcmluZy1idWZmZXJzIGFuZCB0aGUgc2hhcmVkIFBBIGNvbnRleHQKCSAgZm9yIGVhY2ggY2xpZW50LiBEb2luZyB0aGlzIHdpbGwgaW1wcm92ZSBhcHBsaWNhdGlvbiBtZW1vcnkgdXNhZ2UgaW4KCSAgdGhlIGNhc2VzIHdoZXJlIG11bHRpcGxlIHBpcGVsaW5lcyBpbnZvbHZpbmcgbXVsdGlwbGUgcHVsc2VzaW5rCgkgIGVsZW1lbnRzIGFyZSB1c2VkLgoJICBGaXhlcyBidWcgIzYyNDMzOC4KCjIwMTAtMDgtMTcgMTM6NDE6NDkgKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxAYmFzZS1hcnQubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGNsZWFyIHRoZSBQQSBtYWlubG9vcCBpZiBiYXNlYXVkaW9zaW5rIGZhaWxlZCB0byBvcGVuIHRoZSByaW5nX2J1ZmZlcgoJICBJZiB0aGUgYXBwbGljYXRpb24gcmVxdWVzdHMgYSBzdGF0ZS1jaGFuZ2UgYW5kIHB1bHNlc2luayBmYWlscyB0byBvcGVuCgkgIHRoZSByaW5nX2J1ZmZlciBkZXZpY2UgdGhlIG1haW5sb29wIGF0dHJpYnV0ZSBvZiB0aGUgc2luayBzaG91bGQgYmUKCSAgY2xlYW5lZCB1cCB0byBhdm9pZCBmdXR1cmUgc3RhdGUtY2hhbmdlIChOVUxMLT5SRUFEWSkgZmFpbHVyZXMuCgoyMDEwLTA4LTE5IDEyOjIzOjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogUG9zdCBhbiBlcnJvciBtZXNzYWdlIGlmIEVPUyBoYXBwZW5zIGJlZm9yZSB2YWxpZCBpbnB1dCBpcyBmb3VuZAoJICBGaXhlcyBidWcgIzYyNzM0MS4KCjIwMTAtMDgtMTIgMTE6NDk6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiBTZW5kIGNsb3NlIG5ld3NlZ21lbnQgZXZlbnQgZnJvbSB0aGUgc3RyZWFtaW5nIHRocmVhZAoKMjAxMC0wOC0xMSAxMTozNjozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmg6CgkgIGltYWdlZnJlZXplOiBSZXRyeSBidWZmZXJhbGxvYyBpZiBpdCB3YXMgYWJvcnRlZCB3aXRoIFdST05HX1NUQVRFIGJlY2F1c2Ugb2YgYSBmbHVzaGluZyBzZWVrCgoyMDEwLTA4LTExIDA4OjQ2OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogUmV0dXJuIEdTVF9GTE9XX1VORVhQRUNURUQgd2hlbiBnZXR0aW5nIGEgc2Vjb25kIGJ1ZmZlcgoJICBUaGlzIHByZXZlbnRzIHVwc3RyZWFtIGZyb20gcHVzaGluZyBtYW55IHVzZWxlc3MgYnVmZmVycyBhbmQgbWFrZXMKCSAgaXQgZ28gaW50byBFT1Mgc3RhdGUuCgoyMDEwLTA4LTEwIDIwOjExOjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogUGFzc3Rocm91Z2ggYnVmZmVyIGFsbG9jYXRpb25zCgoyMDEwLTA5LTA0IDEzOjEwOjMwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoJICBUZW1wb3JhcmlseSBkaXNhYmxlIC1ER1NUX0RJU0FCTEVfREVQUkVDQVRFRCBmb3IgZ2l0IGJ1aWxkcyB1bnRpbAoJICB0aGUgY29kZSBpcyB1cGRhdGVkIGZvciB0aGUgR1NUX0ZMT1dfSVNfKiBtYWNybyBkZXByZWNhdGlvbnMuCgo9PT0gcmVsZWFzZSAwLjEwLjI1ID09PQoKMjAxMC0wOS0wMiAyMzo0NDoxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0Lmg6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy1kaXN0Lmg6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5oOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4yNQoKMjAxMC0wOS0wMiAyMzoxMjo0OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgIGRvY3M6IHVwZGF0ZSBkb2NzIGZvciByZWxlYXNlCgoyMDEwLTA5LTAyIDIzOjA3OjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL0xJTkdVQVM6CgkqIHBvL2VzLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vbHQucG86CgkqIHBvL25sLnBvOgoJKiBwby9yby5wbzoKCSogcG8vc3YucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDEwLTA4LTI1IDE5OjAxOjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIDAuMTAuMjQuNSBwcmUtcmVsZWFzZQoKMjAxMC0wOC0yMiAyMToxNTowNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IHVzZSBzZXBhcmF0ZSBidWZmZXIgbWV0YWRhdGEgZm9yIGZpZWxkcwoJICBDYWxsIGdzdF9idWZmZXJfbWFrZV9tZXRhZGF0YV93cml0YWJsZSgpIG9uIGJ1ZmZlcnMgdGhhdCBhcmUKCSAgZHVwbGljYXRlZCBpbnRvIGZpZWxkcy4gIEZpeGVzICM2Mjc2ODkuCgoyMDEwLTA4LTIxIDIxOjQxOjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0LmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5oOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5oOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuaDoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIDAuMTAuMjQuNCBwcmUtcmVsZWFzZQoKMjAxMC0wOC0xOSAxODozMDowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IFByZXZlbnQgY3Jhc2ggd2hlbiByZWFkaW5nIGltYWdlIHdpdGggcHJvYmxlbXMKCSAgQ2hlY2sgaWYgd2UgaGF2ZSBkYXRhIG9uIHRoZSBhZGFwdGVyIGFuZCBmYWlsIGlmIG5vdC4KCSAgRml4ZXMgIzYyNzQxMwoKMjAxMC0wOC0xMyAxNzoyNDowMSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAzZThkYjFkIHRvIGVjNjAyMTcKCjIwMTAtMDgtMTEgMjI6MjA6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBTZW5kIGNsb3NlIHNlZ21lbnRzIHdoZW4gc2Vla2luZyBvbmx5IGZvciBub24tZmx1c2hpbmcgc2Vla3MgYW5kIGlmIHdlIGFscmVhZHkgc2VudCBhIG5ld3NlZ21lbnQgZXZlbnQKCSAgRml4ZXMgYnVnICM2MjY2MTkuCgoyMDEwLTA4LTExIDE2OjUwOjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSogd2luMzIvY29tbW9uL2dzdHJ0cGJpbi1tYXJzaGFsLmM6CgkqIHdpbjMyL2NvbW1vbi9nc3R1ZHAtZW51bXR5cGVzLmM6CgkqIHdpbjMyL2NvbW1vbi9nc3R1ZHAtZW51bXR5cGVzLmg6CgkqIHdpbjMyL2NvbW1vbi9nc3R1ZHAtbWFyc2hhbC5jOgoJICAwLjEwLjI0LjMgcHJlLXJlbGVhc2UKCjIwMTAtMDgtMTEgMTE6MTc6MTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwcmV2ZW50IHJlYWRpbmcgcGFzdCBhdmMxIGF0b20gd2hlbiBwYXJzaW5nCgkgIC4uLiB3aGVuIG9uZSBvZiB0aGUgc3ViYXRvbXMgaGFzIGEgbGFyZ2UvaW52YWxpZCBzaXplLgoJICBGaXhlcyAjNjI2NjA5LgoKMjAxMC0wOC0xMCAyMzozNzoyMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4yNC4yIHByZS1yZWxlYXNlCgoyMDEwLTA4LTEwIDEwOjU3OjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYmQyMDU0YiB0byAzZThkYjFkCgoyMDEwLTA4LTA5IDAwOjM2OjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2U6IGZpeCBwcmludGYgZm9ybWF0IGluIHNvbWUgZGVidWdnaW5nIG1lc3NhZ2VzCgoyMDEwLTA4LTA4IDIzOjMxOjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGx1Z2lucy1nb29kLXVuaW5zdGFsbGVkLnBjLmluOgoJICBwa2djb25maWc6IHNldCBwbHVnaW5zZGlyIHRvIHRvcC1sZXZlbCBidWlsZGRpciB3aXRob3V0IHRoZSBwa2djb25maWcvLi4gYml0cwoJICBSZW1vdmVzIGNsdXR0ZXIgaW4gcGx1Z2luIGRpciBwYXRocy4gVGhpcyBpcyBvbmx5IHVzZWQgdG8gZmluZCB0aGUgLWdvb2QKCSAgcGx1Z2lucyBmb3IgdW5pdCB0ZXN0cyBvZiB1Z2x5L2JhZC9mZm1wZWcvZXRjLiBpbiBhbiB1bmluc3RhbGxlZCBzZXR1cC4KCjIwMTAtMDgtMDYgMjA6MDQ6NTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyc3JjOiBhbHNvIGxvZyBwaXhlbCBmb3JtYXRzIGluIHNvcnRlZCBvcmRlcgoKMjAxMC0wOC0wNiAxODowNzo0NiArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IHNvcnQgZm9ybWF0cyBpbiB0aGUgcmlnaHQgb3JkZXIgc28gdGhhdCBub24tZW11bGF0ZWQgZm9ybWF0cyBhcmUgcHJlZmVyZWQKCSAgVGhlIGZvcm1hdCBsaXN0IHNob3VsZCBiZSBzb3J0ZWQgZnJvbSBoaWdoIHJhbmtzIHRvIGxvdyByYW5rcy4gSW4gdGhlIEdTTGlzdAoJICBzb3J0aW5nIGZ1bmN0aW9uIHRoaXMgbWVhbnMgdGhlIGNvbXBhcmUgbmVlZHMgdG8gcmV0dXJuIGEgcG9zaXRpdmUgdmFsdWUgaWYKCSAgZm9ybWF0IGEgaGFzIGEgbG93ZXIgcmFuayB0aGFuIGZvcm1hdCBiLgoJICBBbW9uZyBvdGhlciB0aGluZ3MgdGhpcyBmaXhlcyB2NGwyc3JjIHRvIHByZWZlciBub24tZW11bGF0ZWQgZm9ybWF0cwoJICB0byBlbXVsYXRlZCBmb3JtYXRzIHdoZW4gYnVpbHQgYWdhaW5zdCBsaWJ2NGwuCgoyMDEwLTA4LTA2IDE5OjI0OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogRml4IHBpcGVsaW5lIGluIHRoZSBkb2N1bWVudGF0aW9uCgkgIE1ha2Ugc3VyZSB0aGF0IHdlIGhhdmUgdGhlIHNhbWUgY29sb3IgZm9ybWF0IG9uIGFsbCBzdHJlYW1zLCBpLmUuIEFZVVYKCSAgRml4ZXMgYnVnICM2MjU0NTIuCgoyMDEwLTA4LTA1IDEzOjU2OjQ0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGE1MTk1NzEgdG8gYmQyMDU0YgoKMjAxMC0wNi0xNCAxOTo1ODoxMSArMTAwMCAgSm9uYXRoYW4gTWF0dGhldyA8am9uYXRoYW5AZDE0bi5vcmc+CgoJKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDN2Mm11eC5jOgoJICBpZDN2Mm11eDogd3JpdGUgYmVhdHMtcGVyLW1pbnV0ZSB0YWcgdXNpbmcgVEJQTSBmcmFtZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIxNTIwCgoyMDEwLTA3LTI1IDExOjQ3OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5oOgoJICB2aWRlb21peGVyOiBNb3ZlIGRlYnVnIGNhdGVnb3JpZXMgaW50byB0aGUgc291cmNlIGZpbGVzIGFuZCBhZGQgZGVidWcgY2F0ZWdvcnkgZm9yIHRoZSBibGVuZCBmdW5jdGlvbnMKCjIwMTAtMDgtMDQgMTk6MjU6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IENoZWNrIGlmIHRoZSBjb21waWxlciBzdXBwb3J0cyBJU08gQzg5IG9yIEM5OSBhbmQgd2hpY2ggcGFyYW1ldGVycyBhcmUgcmVxdWlyZWQKCSAgVGhpcyBmaXJzdCBjaGVja3Mgd2hhdCBpcyByZXF1aXJlZCBmb3IgSVNPIEM5OSBzdXBwb3J0IGFuZCBzZXRzIHRoZSByZWxldmFudAoJICBjb21waWxlciBwYXJhbWV0ZXJzIGFuZCBpZiBubyBDOTkgY29tcGlsZXIgaXMgZm91bmQsIGl0IGNoZWNrcyBmb3IgYQoJICBDODkgY29tcGlsZXIuIFRoaXMgZW5hYmxlcyB1cyB0byBjaGVjayBmb3IgYW5kIHVzZSBDODkvQzk5IGZ1bmN0aW9ucwoJICB0aGF0IGdjYyBoaWRlcyBmcm9tIHVzIHdpdGhvdXQgdGhlIGNvcnJlY3QgY29tcGlsZXIgcGFyYW1ldGVycy4KCjIwMTAtMDctMTUgMTA6MTA6MzEgKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBub3JtYW5kQGlnYWxpYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogdXNlIEdfVFlQRV9ERUZJTkUgdG8gZGVmaW5lIHJpbmcgYnVmZmVyIHR5cGUKCSAgVGhlIGV4aXN0aW5nIGdldF90eXBlKCkgaW1wbGVtZW50YXRpb24gaXMgcmFjeSwgYW5kIHRoZQoJICBnX3R5cGVfY2xhc3NfcmVmKCkgd29ya2Fyb3VuZCBkaWRuJ3QgYWN0dWFsbHkgd29yayBiZWNhdXNlCgkgIGl0IHdhcyBpbiB0aGUgd3JvbmcgZnVuY3Rpb24uIFNpbmNlIGNsYXNzIGNyZWF0aW9uIGluIEdPYmplY3QKCSAgaXMgdGhyZWFkLXNhZmUgdGhlc2UgZGF5cyAoc2luY2UgMi4xNiksIHRoZSBjbGFzc19yZWYgd29ya2Fyb3VuZAoJICBpcyBubyBsb25nZXIgbmVlZGVkIGFuZCBpdCBpcyBzdWZmaWNpZW50IHRvIGVuc3VyZSB0aGUgX2dldF90eXBlKCkKCSAgZnVuY3Rpb24gaXMgdGhyZWFkLXNhZmUsIHdoaWNoIEdfVFlQRV9ERUZJTkUgZG9lcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNDMzOAoKMjAxMC0wOC0wNCAxNToyMDo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogUG9zdCBDTE9DSy1MT1NUL0NMT0NLLVBST1ZJREUgd2hlbiBnb2luZyB0by9mcm9tIFJFQURZCgkgIE90aGVyd2lzZSB0aGUgY2xvY2tzIGFyZSByZWRpc3RyaWJ1dGVkIGV2ZXJ5IHRpbWUgdGhlIHBpcGVsaW5lCgkgIGdvZXMgdG8gUEFVU0VELCB3aGljaCBpcyBxdWl0ZSBleHBlbnNpdmUuCgoyMDEwLTA3LTEyIDEyOjM1OjE1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5oOgoJICBydHBtcDRncGF5OiBpbXBsZW1lbnQgcGVyZmVjdCB0aW1lc3RhbXBzCgkgIFVzZSBiaXRyZWFkZXIgZm9yIHBhcnNpbmcgdGhlIGNvbmZpZyBzdHJpbmcKCSAgUmVzZXQgc3RhdGUgdmFyaWFibGVzIHdoZW4gZ29pbmcgdG8gUkVBRFkKCSAgUGFyc2UgZnJhbWUgbGVuZ3RoIGFuZCB1c2UgaXQgdG8ga2VlcCB0cmFjayBvZiB0aGUgcnRwdGltZXN0YW1wcwoKMjAxMC0wNy0wOSAxNDowNzo0OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJICBydHBoMjYzcGRlcGF5OiBhbGxvdyBtb3JlIGNsb2NrLXJhdGVzIGFzIGlucHV0CgkgIEFsdGhvdWdoIHRoZSBzcGVjIHNheXMgdGhhdCB0aGUgY2xvY2stcmF0ZSBzaG91bGQgYWx3YXlzIGJlIDkwMDAwLCBzb21lIHJ0c3AKCSAgc2VydmVycyBzZW5kIGRpZmZlcmVudCBjbG9jay1yYXRlcyBzbyB3ZSBtdXN0IGFjY2VwdCB0aGVuIGluIG9yZGVyIHRvIGhhbmRsZQoJICB0aG9zZSBzdHJlYW1zIHRvby4KCjIwMTAtMDctMDYgMTk6MDI6MTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkgIEwxNmRlcGF5OiBkZWZhdWx0IHRvIDEgY2hhbm5lbAoJICBXaGVuIHdlIGNhbid0IGZpbmQgYW55IGNoYW5uZWwgb3IgZW5jb2RpbmctcGFyYW1zIG9uIHRoZSBjYXBzIGZvciBkeW5hbWljCgkgIHBheWxvYWQgdHlwZXMsIHNldCB0aGUgZGVmYXVsdCBudW1iZXIgb2YgY2hhbm5lbHMgdG8gMSwgYXMgdGhlIHNwZWMgc2F5cyB3ZQoJICBzaG91bGQuCgkgIFNlZSAjNjIzMjA5CgoyMDEwLTA3LTA2IDE4OjIyOjI0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBkb24ndCByZXVzZSB1ZHAgc29ja2V0cwoJICBEb24ndCByZXVzZSBzb2NrZXRzIGJ1dCBtYWtlIHRoZSB1ZHBzcmMgZWxlbWVudCBmYWlsIHRoZSBzdGF0ZSBjaGFuZ2Ugd2hlbiB0aGUKCSAgc29ja2V0IGlzIGFscmVhZHkgaW4gdXNlLiBJZiB3ZSBkb24ndCBwcmV2ZW50IHJldXNlLCB3ZSBtaWdodCBlbmQgdXAgdXNpbmcgdGhlIHNhbWUKCSAgcG9ydCBmb3IgZGlmZmVyZW50IHN0cmVhbXMgaW4gc29tZSBjYXNlcy4KCSAgRml4ZXMgIzYyMjAxNwoKMjAxMC0wNy0wNiAxODoxMToyMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkgIHVkcHNyYzogYWRkIHByb3BlcnR5IHRvIGVuYWJsZSBwb3J0IHJldXNlCgoyMDEwLTA3LTA1IDEwOjIzOjM3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJICBMMTZkZXBheTogdXNlIGVuY29kaW5nLXBhcmFtcyBmb3IgdGhlIGNoYW5uZWxzCgkgIFdoZW4gcGFyc2luZyB0aGUgbnVtYmVyIG9mIGNoYW5uZWxzLCB1c2UgdGhlIGVuY29kaW5nLXBhcmFtcyBwcm9wZXJ0eSBmcm9tIHRoZQoJICBSVFAgY2FwcyBiZWNhdXNlIHRoYXQgaXMgd2hlcmUgd2UgY2FuIGZpbmQgdGhlIGNoYW5uZWxzIGFjY29yZGluZyB0byB0aGUgc3BlYy4KCSAgRmFsbCBiYWNrIHRvIHRoZSBjaGFubmVscyBwcm9wZXJ0eSBpbiB0aGUgY2FwcyB3aGVuIG5lZWRlZC4KCSAgRml4ZXMgIzYyMzIwOQoKMjAxMC0wNi0yOSAxMDo0Njo0MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogaW1wcm92ZSBlcnJvciBhbmQgd2FybmluZyBtZXNzYWdlCgkgIEltcHJvdmUgZXJyb3IgYW5kIHdhcm5pbmcgbWVzc2FnZS4KCSAgRml4ZXMgIzYyMjU3NwoKMjAxMC0wOC0wMiAyMzoxNTo1NiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1vc3NzcmMuYzoKCSAgZXhhbXBsZXM6IG5vIG5lZWQgdG8gc2V0IHRoZSBjb2xvciBmb3IgZWFjaCBmcnEtYmFuZAoKMjAxMC0wOC0wMiAxMjo1NjoyOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5Lmg6CgkgIHJ0cGc3MjlwYXk6IGF2b2lkIGJhc2VydHBwYXlsb2FkIHBlcmZlY3QtcnRwdGltZSBtb2RlCgkgIEc3MjkgcGFja2V0cyBtYXkgb25seSBvY2N1ciBpbnRlcm1pdHRlbnRseSAoZS5nLiBjbiBwYWNrZXRzKSwgYW5kIGFzIHN1Y2gKCSAgZG8gbm90IGFsbG93IGZvciBwZXJmZWN0LXJ0cHRpbWUgY2FsY3VsYXRpbmcgcnRwIHRpbWVzIGJhc2VkIG9uIGZyYW1lIG9yIGJ5dGUKCSAgY291bnQuICBJbiBwYXJ0aWN1bGFyLCBkbyBub3QgdXNlIHJ0cCBhdWRpbyBiYXNlIHBheWxvYWRlciBhcyBiYXNlIGNsYXNzLCBidXQKCSAgcmF0aGVyIGJhc2UgcGF5bG9hZGVyIGRpcmVjdGx5LgoKMjAxMC0wOC0wMiAxMjo0ODowMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogZml4IGVsZW1lbnQgbGVhawoKMjAxMC0wOC0wMiAxMjo0Njo0MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJICBydHBtcDR2ZGVwYXk6IGZpeCBidWZmZXIgbGVhawoKMjAxMC0wOC0wMiAxMjo0NjoyMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICB0ZXN0czogcnRwIHBheWxvYWRpbmc6IGZpeCBwYWQgbGVhawoKMjAxMC0wNy0yOSAxNzoxODoxMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBwdXNoIG1vZGU7IHVzZSBwcm9wZXIgbW92aSBvZmZzZXQgZm9yIG1vdmkgYmFzZWQgaW5kZXgKCSAgRml4ZXMgIzYyMzM1Ny4KCjIwMTAtMDctMjkgMTA6MDA6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IENvcnJlY3RseSBwYXJzZSBtdmhkIGF0b21zCgkgIFBhcnNlIG12aGQgZGF0YSBhY2NvcmRpbmcgdG8gaXRzIHZlcnNpb24gdG8gYXZvaWQgZmFpbGluZwoJICBvbiB2YWxpZCBmaWxlcy4KCjIwMTAtMDctMjggMTI6MjE6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggdGhlIG1heC9hdmcgaW4gYnRydCBhdG9tIHJlYWRpbmcKCSAgQWNjb3JkaW5nIHRvIElTTyBtZWRpYSBiYXNlIGZvcm1hdCwgdGhlIG1heCBiaXRyYXRlIGlzIHRoZQoJICBmaXJzdCBvbmUsIGFuZCB0aGUgYXZnIGNvbWVzIG5leHQuCgoyMDEwLTA3LTI3IDE1OjU4OjAyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBwcm9wZXIgaGFuZGxpbmcgb2Ygc3RyZWFtaW5nIHVwc3RyZWFtIHdpdGhvdXQgZHVyYXRpb24KCSAgRml4ZXMgIzYyNTM3MS4KCjIwMTAtMDctMjYgMTg6MzM6MDkgKzAyMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGluaXRpYWxpemUgc29tZSB2YXJpYWJsZXMgdG8gZml4IGNvbXBpbGVyIHdhcm5pbmdzIG9uIE9TWCBidWlsZCBib3QKCjIwMTAtMDctMjYgMTg6MTU6MjUgKzAyMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGNvcnJlY3RseSBjaGVjayB3aGF0IHZlcnNpb24gb2YgZ3N0LXBsdWdpbnMtYmFzZSB3ZSdyZSBjb21waWxpbmcgYWdhaW5zdAoJICBXZSBuZWVkIHRvIGNoZWNrIHRoZSBnc3QtcGx1Z2lucy1iYXNlIHZlcnNpb24sIG5vdCB0aGUgY29yZSB2ZXJzaW9uCgkgIChldmVuIGlmIGJvdGggc2hvdWxkIGJlIHRoZSBzYW1lIGluIGFueSBzYW5lIHNldHVwKS4KCjIwMTAtMDctMjYgMTc6NDU6NDIgKzAyMDAgIEFybmF1ZCBWcmFjIDxyYXdvdWwgYXQgZ21haWwuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGFkZCBwb3J0LXJhbmdlIHByb3BlcnR5IHRvIHJ0c3BzcmMKCSAgVG8gc3VwcG9ydCBzZXR1cHMgd2l0aCBmaXJld2FsbC9pcHNlYywgaXQgaXMgdXNlZnVsIGZvciBhbiBydHNwIGNsaWVudCB0byBiZQoJICBhYmxlIHRvIHNldCB0aGUgcmFuZ2Ugb2YgcG9ydHMgdGhhdCBjYW4gYmUgdXNlZCBmb3IgcnRwL3J0Y3AgcmVjZXB0aW9uLgoJICBBbGxvd3MgdGhpcyBieSBhZGRpbmcgYSAicG9ydC1yYW5nZSIgcHJvcGVydHkgdG8gdGhlIHJ0c3BzcmMgZWxlbWVudC4KCSAgRml4ZXMgIzYyNTE1MwoKMjAxMC0wNy0yNiAxMzozODozMSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzZXQgdGhlIHBpeGVsLWFzcGVjdC1yYXRpbyBmaWVsZCBhbHNvIGZvciBwYXI9MS8xCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjUzMDIKCjIwMTAtMDctMjYgMTU6MzE6MTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBtZW1vcnkgbGVhayBpbiBzZXJ2ZXIgcmVxdWVzdCByZXBseQoJICBUaGUgUlRTUCBzZXJ2ZXIgcnRzcHNyYyBpcyBjb21tdW5pY2F0aW5nIHdpdGgsIHNlbmRzIGEgR0VUX1BBUkFNRVRFUiByZXF1ZXN0CgkgIHBlcmlvZGljYWxseSBhcyBhIHBpbmcuICBUaGUgY29kZSBpbiBnc3RfcnRzcHNyY19oYW5kbGVfcmVxdWVzdCBmb3JtcyBhbiBPSwoJICByZXNwb25zZSBhbmQgc2VuZHMsIGJ1dCBkb2Vzbid0IGNhbGwgZ3N0X3J0c3BfbWVzc2FnZV91bnNldCB0byBmcmVlIHRoZSBtZW1vcnkKCSAgYWZ0ZXIgc2VuZGluZyB0aGUgcmVzcG9uc2UuICBUaGlzIHJlc3VsdHMgaW4gYSBjb25zdGFudCBzbG93IG1lbW9yeSBsZWFrLgoJICBGaXhlcyAjNjI0NzcwCgoyMDEwLTA3LTI0IDIyOjM5OjU0ICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L2RlYnVndXRpbHMvY3B1cmVwb3J0LmM6CgkgIGNwdXJlcG9ydDogcmVtb3ZlIGJvZ3VzIGRvY3MKCjIwMTAtMDctMjQgMjI6Mzc6MTEgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvY3B1cmVwb3J0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2NwdXJlcG9ydC5oOgoJKiBnc3QvZGVidWd1dGlscy9nc3RkZWJ1Zy5jOgoJICBkZWJ1Z3V0aWxzOiBuZXcgZWxlbWVudCBjcHVyZXBvcnQKCSAgY3B1cmVwb3J0IHBvc3RzIGJ1cyBtZXNzYWdlcyBhZnRlciBldmVyeSBidWZmZXIgcmVjZWl2ZWQgb2YgY3B1IHVzZWQsIHN5c3RlbQoJICBjbG9jayB0aW1lLCBidWZmZXIgdGltZQoKMjAxMC0wNy0yNCAxMDoyOTowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9lcXVhbGl6ZXIvZGVtby5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOgoJICBleGFtcGxlczogRGVzdHJveSB0aGUgY2Fpcm8gY29udGV4dCBhZnRlciB1c2FnZQoKMjAxMC0wNy0yNCAxMDoyMTowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2dka19waXhidWYvTWFrZWZpbGUuYW06CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZzaW5rLmM6CgkqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6CgkgIFJldmVydCAiZ2RrcGl4YnVmOiBBZGQgYSBnZGtwaXhidWYzIHBsdWdpbiB0aGF0IHVzZXMgZ2RrcGl4YnVmMyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBiNjc4ODE1MzE2MWI0ZTA3ZmJmM2Q0MmEyZDg5MjFlYTA0OTMwNWQwLgoJICBUaGVyZSdzIG5vIGdkay1waXhidWYzIGFueW1vcmUuIGdkay1waXhidWYgd2FzIHNlcGFyYXRlZCBmcm9tIEdUSysKCSAgYW5kIHdpbGwgc3RheSBhdCB2ZXJzaW9uIDIuMCBmb3IgR1RLKyAzLjAuCgoyMDEwLTA3LTI0IDEwOjE5OjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2VxdWFsaXplci9kZW1vLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6CgkgIGV4YW1wbGVzOiBVc2UgY2Fpcm8gaW5zdGVhZCBvZiB0by1iZS1kZXByZWNhdGVkIEdESyBBUEkKCSAgRml4ZXMgYnVnICM2MjUwMDIuCgoyMDEwLTA3LTIyIDE2OjI0OjQzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogZml4IGV2ZW50IGxlYWsKCjIwMTAtMDctMjIgMTI6MDU6MjYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBtYXRyb3NrYWRlbXV4OiBwdWxsIG1vZGUgbm9uLWN1ZSBzZWVraW5nCgkgIFRoYXQgaXMsIGluIGZpbGVzIHRoYXQgaGF2ZSBubyBpbmRleCAoQ3VlKSwgcGVyZm9ybSBzZWVrIGJ5IHNjYW5uaW5nIGZvcgoJICBuZWFyZXN0IGNsdXN0ZXIgd2l0aCB0aW1lY29kZSBiZWZvcmUgcmVxdWVzdGVkIHBvc2l0aW9uLiAgU2Nhbm5pbmcgaXMgZG9uZQoJICBhcyBhIGNvbWJpbmF0aW9uIG9mIGludGVycG9sYXRpb24gYW5kIHNlcXVlbnRpYWwgc2Nhbi4KCSAgRml4ZXMgIzYxNzM2OC4KCjIwMTAtMDctMTYgMTI6NDY6NTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogc3RyZWFtYWJsZSBmaWxlcyBuZWVkIG5vIF9maW5pc2gKCSAgRml4ZXMgIzYyNDQ1NS4KCjIwMTAtMDctMjIgMTE6NDY6MzUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogcHVzaCBtb2RlOyBoYW5kbGUgMC1zaXplIGRhdGEgY2h1bmtzCgkgIEZpeGVzICM2MTg1MzUuCgoyMDEwLTA3LTIxIDA4OjExOjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogT25seSByZXNldCBRb1MgaW5mb3JtYXRpb24gYW5kIHNlbmQgYSBORVdTRUdNRU5UIGV2ZW50IGRvd25zdHJlYW0gZm9yIE5FV1NFR01FTlQgZXZlbnRzIG9uIHRoZSBtYXN0ZXIgcGFkCgoyMDEwLTA3LTE0IDIwOjMxOjQ0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzZGVidWcuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc2RlYnVnLmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGRlYnVnLmM6CgkgIGNhcHNkZWJ1ZzogQWRkIG5ldyBlbGVtZW50CgoyMDEwLTA3LTIwIDE2OjExOjI1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGRlbW90ZSBXQVJOSU5HIG1lc3NhZ2UgdG8gTE9HIGxldmVsCgkgIEl0J3Mgbm90IGEgd2FybmluZy4KCjIwMTAtMDctMTkgMTQ6NDc6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBGaXggcmVncmVzc2lvbiBvbiBtYXJrZXJzIHBhcnNpbmcKCSAgRml4ZXMgYSByZWdyZXNzaW9uIGludHJvZHVjZWQgd2hlbiBmaXhpbmcgYnVnICM1ODMwNDcgaW4KCSAgY29tbWl0IGEzOTFiZjUyY2MzYzU4MGM3YTBhMjMxNmNhNTJlYjY2ZGEzYjg1YzEKCSAgU2tpcCB0aGUgZGF0YSB3aGVuIGxpYmpwZWcgYXNrcyBpdCB0byBiZSBza2lwcGVkIG9uCgkgIG9uZSBvZiBpdHMgY2FsbGJhY2tzLgoKMjAxMC0wNy0xNiAxODowNDo0NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogYWRkIG1pc3NpbmcgYXJndW1lbnQgaW4gZGVidWcgbWVzc2FnZQoKMjAxMC0wNy0xNiAxNzo1Mzo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzaW5rOiBPbmx5IHVzZSBnc3RfYXVkaW9fY2xvY2tfbmV3KCkgd2hlbiBjb21waWxpbmcgYWdhaW5zdCBuZXdlciBiYXNlCgoyMDEwLTA3LTA5IDE3OjMzOjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJICBkdjEzOTRzcmM6IFBvc3QgY2xvY2stcHJvdmlkZSBhbmQgY2xvY2stbG9zdCBtZXNzYWdlcyB3aGVuIGdvaW5nIGZyb20vdG8gUExBWUlORwoJICBJbiBQQVVTRUQgYW5kIGJlbG93IHRoZSBjbG9jayBpcyBub3Qgd29ya2luZy4KCjIwMTAtMDctMDQgMTY6NTc6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuYzoKCSogZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuaDoKCSogZXh0L2djb25mL2dzdHN3aXRjaHNyYy5jOgoJKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc3JjLmg6CgkgIGdjb25mOiBGaXggcmVmIGhhbmRsaW5nIG9mIG5ldyBjaGlsZCBlbGVtZW50cyBhbmQgbWlub3IgY2xlYW51cAoKMjAxMC0wNy0wNCAwOTo0NTo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NyYy5jOgoJICBnY29uZnZpZGVvc3JjOiBVc2UgY29ycmVjdCBHQ29uZiBrZXkKCjIwMTAtMDctMDMgMTQ6MTY6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zcmMuYzoKCSogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zcmMuaDoKCSAgZ2NvbmY6IFBvcnQgZ2NvbmZhdWRpb3NyYyB0byBHc3RTd2l0Y2hTcmMKCjIwMTAtMDctMDMgMTQ6MTI6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zcmMuYzoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zcmMuaDoKCSAgZ2NvbmY6IFBvcnQgZ2NvbmZ2aWRlb3NyYyB0byBHc3RTd2l0Y2hTcmMKCjIwMTAtMDctMDMgMTQ6MTE6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2djb25mL01ha2VmaWxlLmFtOgoJKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc3JjLmM6CgkqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzcmMuaDoKCSAgZ2NvbmY6IEFkZCBHc3RTd2l0Y2hTcmMgYmFzZSBjbGFzcwoKMjAxMC0wNy0wMyAxMzo1NjozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5jOgoJICBnY29uZjogQ3JlYXRlIHRoZSBnaG9zdHBhZCBvZiB0aGUgc3dpdGNoc2luayBmcm9tIHRoZSB0ZW1wbGF0ZQoKMjAxMC0wNy0wNyAxMDoxMDo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogUG9zdCBjbG9jay1wcm92aWRlL2Nsb2NrLWxvc3Qgd2hlbiBnb2luZyB0by9mcm9tIFBBVVNFRAoJICBBbHNvIHVzZSBnc3RfYXVkaW9fY2xvY2tfbmV3X2Z1bGwoKSB0byBwcmV2ZW50IGNyYXNoZXMgd2hlbiB0aGUKCSAgY2xvY2sgaXMgdXNlZCBhZnRlciB0aGUgZWxlbWVudCB3YXMgZGVzdHJveWVkLgoKMjAxMC0wNy0xNSAxMTo0OTowMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogcmVtb3ZlIGJvZ3VzIFVOTE9DSwoKMjAxMC0wNy0xMyAxMjozNDo0NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFsc28gY2FsY3VsYXRlIFBBUiB1c2luZyB0cmFjayB3aWR0aCBhbmQgaGVpZ2h0IGZvciBRVCBmaWxlcwoJICAoLi4uIGFzIG9wcG9zZWQgdG8gb25seSBmb3IgSVNPIHN0eWxlIGZpbGVzKS4KCSAgRml4ZXMgIzYyNDE3My4KCjIwMTAtMDctMTIgMTc6Mjk6MTIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGhhbmRsZSBib2d1cyBmaWxlcyBzdG9yaW5nIEFEVFMgQUFDIGRhdGEKCjIwMTAtMDctMDkgMTY6NTc6MzMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGRvIG5vdCBlcnJvciBvdXQgb24gYSBibG9jayB3aXRoIHVua25vd24gdHJhY2tudW1iZXIKCjIwMTAtMDctMDggMTg6NTc6MjEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkbyBub3QgYWxpZ24gcmV2ZXJzZSBwbGF5YmFjayByZWZlcmVuY2Ugc3RyZWFtIHR3aWNlCgkgIFRpbWVzdGFtcCByb3VuZGluZyBpc3N1ZXMgY291bGQgbGVhZCB0byBnb2luZyBiYWNrd2FyZHMgMiBrZXlmcmFtZSBwZXJpb2RzCgkgIChyYXRoZXIgdGhhbiBvbmx5IDEpLiAgV2hpbGUgdGhpcyBpcyBub3QgbmVjZXNzYXJpbHkgYSBwcm9ibGVtLCBpdCBtaWdodAoJICBwb3RlbnRpYWxseSBwbGFjZSBhZGRpdGlvbmFsIChidWZmZXJpbmcpIGxvYWQgb24gZG93bnN0cmVhbSBhbmQgY291bGQgYmUKCSAgYXZvaWRlZCAoYmVjYXVzZSBXZSBDYW4pLgoJICBGaXhlcyAjNjIzNjI5LgoKMjAxMC0wNy0wOCAxNjowNzoxNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGNvbnZlcnQgc29tZSBtb3JlIG1vdiBmb3JtYXQgdGltZXN0YW1wIHRvIGdzdCB0aW1lCgoyMDEwLTA3LTA3IDE0OjE2OjU5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGFkZGl0aW9uYWwgdmVyaWZpY2F0aW9uIGhldXJpc3RpY3MgZm9yIFZCUiBhdWRpbyBzdHJlYW0KCSAgQ2hlY2sgZm9yIGFuZCBvdmVycmlkZSBzb21lIGhlYWRlciBmaWVsZChzKSBmb3IgcmVhc29uYWJsZSB2YWx1ZXMsIGFjY29yZGluZwoJICB0byBsYXRlciBleHBlY3RlZCB1c2UgaW4gY2FsY3VsYXRpb25zLgoKMjAxMC0wNy0xNCAxNToyMToyMSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIHZpZGVvYmFsYW5jZTogRml4IHdyb25nIGxvY2sgb3JkZXIgdGhhdCBjb3VsZCBsZWFkIHRvIGEgZGVhZGxvY2suIEZpeGVzICM2MjQzMzEuCgoyMDEwLTA3LTE2IDExOjMxOjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTAuMjQgPT09CgoyMDEwLTA3LTE1IDAxOjQ5OjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4yNAoKMjAxMC0wNy0xNSAwMTozNTowNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9jcy5wbzoKCSogcG8vbHYucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDEwLTA3LTA3IDAwOjQyOjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4yMy40IHByZS1yZWxlYXNlCgoyMDEwLTA3LTA3IDAwOjMxOjE3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL0xJTkdVQVM6CgkqIHBvL2RhLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZXMucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9pZC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3NsLnBvOgoJKiBwby90ci5wbzoKCSogcG8vemhfQ04ucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDEwLTA2LTIzIDExOjQ3OjQzICswMjAwICBNaWNoYWVsIEdyemVzY2hpayA8bS5ncnplc2NoaWtAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyc2luazogZGVzdHJveSBidWZmZXIgcG9vbCB3aGVuIGNoYW5naW5nIHN0YXRlIHRvIE5VTEwKCSAgSW4gdGhlIGNhc2Ugd2UgY2hhbmdlIHRoZSBTdGF0ZSBmcm9tIFJFQURZX1RPX05VTEwgdGhlIGJ1ZmZlcnMgaW4gdGhlIHBvb2wKCSAgc3RpbGwgaG9sZCBhbiBvcGVuIGR1cCBmaWxlIGRlc2NyaXB0b3IgdG8gdGhlIGRldmljZSwgdGhlcmVmb3JlIHRoZSBkZXZpY2UKCSAgcmVsZWFzZSBmdW5jdGlvbiB3aWxsIG5vdCBiZSBjYWxsZWQgYW5kIHRoZSBkZXZpY2Ugd2lsbCBwcm9iYWJseSBhbnN3ZXIgd2l0aAoJICAtRUJVU1kgd2hlbiB3ZSByZW9wZW4gaXQgaW4gdGhlIG5leHQgTlVMTF9UT19SRUFEWSB0cmFuc2l0aW9uLgoJICBTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIEdyemVzY2hpayA8bS5ncnplc2NoaWtAcGVuZ3V0cm9uaXguZGU+CgkgIFNlZSBidWcgIzYyMjUwMCBhbmQgIzYxMjI0NC4KCjIwMTAtMDctMDYgMTM6MjE6MTkgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggb3JkZXIgb2YgYml0cmF0ZXMgaW4gJ2J0cnQnIGF0b20KCSAgVGhlcmUgc2VlbXMgdG8gYmUgYSBidWcgaW4gbGlibXA0djIgdGhhdCBnZW5lcmF0ZXMgYSBNUEVHNEJpdFJhdGVCb3ggYXMKCSAgKGJ1ZmZlclNpemVEQiwgYXZnQml0cmF0ZSwgbWF4Qml0cmF0ZSkgaW5zdGVhZCBvZiAoYnVmZmVyU2l6ZURCLAoJICBtYXhCaXRyYXRlLCBhdmdCaXRyYXRlKSwgYWNjb3JkaW5nIHRvIHRoZSBzcGVjLiBJIHVzZWQgdGhlIG1wNGZpbGUKCSAgb3V0cHV0IHdoaWxlIHdyaXRpbmcgdGhpcyBjb2RlLCBzbyB0aGUgb3JkZXIgaXMgd3JvbmcuIFRoaXMgcGF0Y2hlcwoJICBmaXhlcyB0aGF0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIzNjU0CgoyMDEwLTA3LTA1IDEyOjA1OjU3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZml4IHNraXBwaW5nIGV4dHJhIDB4ZmYgbWFya2VycwoJICBGaXhlcyAjNjIzNTg1LgoKMjAxMC0wNi0yOSAyMzoxODoyMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSAganBlZ2RlYzogZml4IG1lbW9yeSBsZWFrCgkgIERvbid0IGxlYWsgcmVzdWx0IG9mIGdzdF9hZGFwdGVyX3Rha2UoKS4gVGhlcmUgYXJlIG1vc3QgbGlrZWx5CgkgIHNtYXJ0ZXIgdGhpbmdzIHdlIGNhbiBkbywgYnV0IGxldCdzIGtlZXAgdGhpbmdzIHNpbXBsZSBmb3IgdGhlCgkgIHJlbGVhc2UuCgkgIEZpeGVzICM2MjMxNzIuCgoyMDEwLTA3LTAyIDEyOjMxOjMxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzdHJpcCBvdXQgYm9ndXMgdGFncyBmcm9tIFhNUCBhdG9tCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjMzNjYKCjIwMTAtMDctMDIgMTQ6MjU6MjIgKzAyMDAgIEFuZHJ6ZWogSy4gSGFjemV3c2tpIDxhaGFjemV3c2tpQGdtYWlsLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogV3JpdGUgZHVyYXRpb24gYXQgdGhlIGNvcnJlY3QgcG9zaXRpb24KCjIwMTAtMDYtMzAgMTE6MTI6MDggKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgIHJ0cHB0ZGVtdXg6IGZpeCBtZW1sZWFrIG9uIGN1c3RvbSBkb3duc3RyZWFtIGV2ZW50cwoJICBieSBub3Qgc2VuZGluZyBjdXN0b20gZG93bnN0cmVhbSBldmVudCB0d2ljZSBhbmQgZml4IG1lbWxlYWsgd2hlbgoJICBub3QgaGFuZGxpbmcgdGhlIGV2ZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjMxOTYKCjIwMTAtMDYtMjkgMjA6MTg6NTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4yMy4zIHByZS1yZWxlYXNlCgoyMDEwLTA2LTI5IDIwOjE0OjUzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogZml4IHVucG9ydGFibGUgcHJpbnRmIGZvcm1hdCBzcGVjaWZpZXJzIGluIGNvbW1lbnRlZCBvdXQgY29kZQoJICBUbyBhdm9pZCBmYWxzZSBwb3NpdGl2ZXMgd2hlbiBncmVwcGluZyBmb3IgdW5wb3J0YWJsZSBzcGVjaWZpZXJzLgoKMjAxMC0wNi0yOSAxOToxMjozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IC0tZGlzYWJsZS1leHRlcm5hbAoKMjAxMC0wNi0yOCAxNTo0NDowNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgYXV0b21ha2UgcmVxdWlyZW1lbnQgdG8gMS4xMCBhbmQgYXV0b2NvbmYgdG8gMi42MAoJICBGb3IgbWFpbnRhaW5hYmlsaXR5IHJlYXNvbnMgYW5kICQoYnVpbGRkaXIpLgoJICBTZWUgIzYyMjk0NC4KCjIwMTAtMDYtMjggMDk6MDc6NTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dvb20vcGx1Z2luX2luZm8uYzoKCSAgZ29vbTogZG9uJ3QgYWxsb2NhdGUgMjYwa0Igc3RydWN0IG9uIHRoZSBzdGFjawoJICBQbHVnaW5JbmZvIGlzIHF1aXRlIGEgc2l6ZWFibGUgc3RydWN0LCBsZXQncyBub3QgYWxsb2NhdGUgaXQgb24gdGhlCgkgIHN0YWNrLCBlc3BlY2lhbGx5IG5vdCBpZiB3ZSdyZSBjb3B5aW5nIGl0IG92ZXIgaW50byBhbm90aGVyIGR5bmFtaWNhbGx5CgkgIGFsbG9jYXRlZCBjb3B5IGFueXdheS4KCSAgRml4ZXMgIzU3MDc2MS4KCjIwMTAtMDYtMjcgMTA6MzE6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFJlcXVpcmUgR1RLKyA+PSAyLjE0IGZvciB0aGUgZXhhbXBsZXMKCjIwMTAtMDYtMjYgMjA6MTI6MjUgKzAyMDAgIEd1aWRvIEfDvG50aGVyIDxhZ3hAc2lneGNwdS5vcmc+CgoJKiB0ZXN0cy9leGFtcGxlcy9lcXVhbGl6ZXIvZGVtby5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOgoJICBleGFtcGxlczogTWFrZSBkZW1vcyAtRFNFQUwgc2FmZSB0byBmaXggYnVpbGQgd2l0aCBHVEsrIDMuMAoKMjAxMC0wNi0yNiAyMTozOTozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9NYWtlZmlsZS5hbToKCSAganBlZzogRXhwbGljaXRlbHkgbGluayB3aXRoIGxpYmdzdGJhc2UKCjIwMTAtMDYtMjYgMTg6NDI6MjkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjMuMiBwcmUtcmVsZWFzZQoKMjAxMC0wNi0yNiAxODo0MTo0OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0Lmg6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy1kaXN0Lmg6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuYzoKCSAgZ3N0OiB1cGRhdGUgb3JjIGZpbGVzCgoyMDEwLTA2LTI2IDE4OjQxOjM5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDEwLTA2LTI1IDE5OjQwOjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IEZpeCBsZWFraW5nIG9mIHRoZSBzdHJlYW1oZWFkZXIgYnVmZmVycwoJICBnc3RfdmFsdWVfc2V0X2J1ZmZlcigpIGluY3JlYXNlcyB0aGUgcmVmY291bnQgYW5kIGRvZXNuJ3QKCSAgdGFrZSBvd25lcnNoaXAgb2YgdGhlIGJ1ZmZlci4KCjIwMTAtMDYtMjQgMTY6MzI6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICBtYXRyb3NrYSwgdmlkZW9ib3gsIHZpZGVvZmlsdGVyOiBmaXggY29tcGlsZXIgd2FybmluZ3Mgd2hlbiBkZWJ1Z2dpbmcgaXMgZGlzYWJsZWQgaW4gZ3N0cmVhbWVyCgkgIEZpeGVzIHVudXNlZCB2YXJpYWJsZSB3YXJuaW5ncyB3aGVuIEdTdHJlYW1lcidzIGRlYnVnZ2luZyBzeXN0ZW0gaGFzIGJlZW4gZGlzYWJsZWQuCgoyMDEwLTA2LTI0IDE1OjE3OjExICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogYWRkIHBsdWdpbiBsb2FkaW5nIHdoaXRlbGlzdCB0byB0ZXN0IGVudmlyb25tZW50CgkgIE9ubHkgd2FudCB0byBsb2FkIGNvcmUvYmFzZS9nb29kIHBsdWdpbnMgaGVyZS4KCSAgRml4ZXMgIzYxOTcxNy4KCjIwMTAtMDYtMjQgMTU6MDk6MTYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNzNmZjkzYSB0byBhNTE5NTcxCgoyMDEwLTA2LTI0IDEzOjAyOjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJICBnZGtwaXhidWZkZWM6IGJ1bXAgcmFuayB0byBTRUNPTkRBUlkKCSAgQnVtcCBnZGtwaXhidWZkZWMncyByYW5rIHRvIFNFQ09OREFSWSB0byBnaXZlIGl0IGFuIGVkZ2Ugb3ZlciBtaXNjLgoJICBpbWFnZSBkZWNvZGVycyBpbiBnc3QtZmZtcGVnIHRoYXQgYWxzbyBoYXZlIGEgTUFSR0lOQUwgcmFuay4KCSAgRml4ZXMgIzYyMDE2Mi4KCjIwMTAtMDYtMjMgMTI6MTU6MTMgKzAyMDAgIE1pY2hhZWwgR3J6ZXNjaGlrIDxtLmdyemVzY2hpa0BwZW5ndXRyb25peC5kZT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgcmVzZXQgdGhlIGhhdmVfaW5kZXggZmxhZyBhdCB0cmFuc2l0aW9uIFBBVVNFRF9UT19SRUFEWQoJICBJZiB3ZSByZXN0YXJ0IHRoZSBTdHJlYW0gaW4gdGhlIGNhc2Ugb2YgZG9pbmcgYSB0cmFuc2l0aW9uIGZyb20KCSAgUEFVU0VEX1RPX1JFQURZIGFuZCBiYWNrIHdpdGggUkVBRFlfVE9fUEFVU0VEIGFzby4gdGhlIGR1cmF0aW9uIG9mIHRoZSB2aWRlbwoJICB3aWxsIGdldCBjYWxjdWxhdGVkIGV2ZW4gaWYgd2UgaGF2ZSBhIGF2aSBoZWFkZXIgd2l0aCB0aGF0IGluZm9ybWF0aW9uLgoJICBTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIEdyemVzY2hpayA8bS5ncnplc2NoaWtAcGVuZ3V0cm9uaXguZGU+CgoyMDEwLTA2LTIzIDIwOjI5OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogRml4IG5lZ290aWF0aW9uIGZvciBJNDIwL1lWMTIKCSAgV2UgZG9uJ3Qgc3VwcG9ydCBjb252ZXJzaW9uIGludG8gKmFsbCogWVVWCgkgIGZvcm1hdHMgZm9yIHRoZW0sIG9ubHkgaW50byBJNDIwL1lWMTIvQVlVVi4KCSAgRml4ZXMgYnVnICM2MjI1MDEuCgoyMDEwLTA2LTIyIDE1OjIyOjQ0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogcHJvcGVyIGNsb3Npbmcgc2VnbWVudCBjb25zdHJ1Y3Rpb24KCSAgRml4ZXMgIzYxODk4Mi4KCjIwMTAtMDYtMjIgMTU6NDY6NTEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDI6IHByZWNhbGN1bGF0ZSBkdXJhdGlvbgoJICBIYXZlIGZyYW1lIGR1cmF0aW9uIGluIHRoZSBpbnN0YW5jZSBzdHJ1Y3QgYW5kIGNhbGN1bGF0ZSBpdCBhZnRlciBjaGFuZ2luZyB0aGUgY2Fwcy4KCjIwMTAtMDYtMjEgMTI6MTc6MzkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDJzaW5rOiB1c2UgZ2xpYiBkZWZpbmVzIGluIHByb3BlcnR5IGRlY2xhcmF0aW9ucyBmb3IgcmVhZGFiaWxpdHkKCjIwMTAtMDYtMjEgMTI6MTU6MTQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyOiB1c2UgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyB0byBzYXZlIGEgZmV3IGJ5dGVzIGFuZCBzdHJkdXBzCgoyMDEwLTA2LTE4IDIwOjAyOjQ5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggbG9ja2luZyBhZnRlciBtb3ZpbmcgdGhpbmdzIGFyb3VuZAoKMjAxMC0wNi0xOCAxNDoxMzo1OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGFnbGliL2dzdGFwZXYybXV4LmNjOgoJICB0YWdsaWI6IFVzZSBuZXdseSBhZGRlZCBnc3RfdGFnX2xpc3RfcGVla19zdHJpbmdfaW5kZXgKCSAgUmVwbGFjZSBjYWxscyB0byBnc3RfdGFnX2xpc3RfZ2V0X3N0cmluZ19pbmRleCB3aXRoCgkgIGdzdF90YWdfbGlzdF9wZWVrX3N0cmluZ19pbmRleCB0byBhdm9pZCBhIHN0cmluZyBjb3B5CgoyMDEwLTA2LTE4IDE2OjU2OjE5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBtYWtlIHNvbWUgZXJyb3JzIGFzIHdhcm5pbmdzCgkgIEF2b2lkIHNwYW1taW5nIHRoZSB0ZXN0c3VpdGUgd2l0aCB0aGVzZSBlcnJvciBkZWJ1ZyBsaW5lcy4KCjIwMTAtMDYtMTggMTY6NDk6MDggKzAyMDAgIEtlaXRoIE5pY2hvbHNvbiA8a2VpdGgubmljaG9sc29uIGF0IHVsdHJhLWNjcy5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IGZpeCBtdWx0aWNhc3Qgc3VwcG9ydCBvbiB3aW5kb3dzIGJ1aWxkcwoJICBPbiB3aW5kb3dzIGJ1aWxkcywgc2V0cyBzb3VyY2UgYWRkcmVzcyBmb3IgYmluZCB0byBJTkFERFJfQU5ZLCB3aGlsZQoJICBtYWludGFpbmluZyB0aGUgb3JpZ2luYWwgbXVsdGljYXN0IGdyb3VwIGFkZHJlc3MgZm9yIHN1YnNlcXVlbnQgam9pbi4KCSAgRml4ZXMgIzU5NTk3OAoKMjAxMC0wNi0xOCAxNjoxNjoyOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSAgdWRwOiBtYWtlIHVybCBwYXJzaW5nIGNvbXBhdGlibGUgd2l0aCBWTEMgc3ludGF4CgkgIFNraXAgZXZlcnl0aGluZyBiZWZvcmUgdGhlIEAgc2lnbiBpbiB0aGUgdXJsIGxvY2F0aW9uLiBWTEMgdXNlcyB0aGF0IGFzIHRoZQoJICByZW1vdGUgYWRkcmVzcyB0byBjb25uZWN0IHRvIChidXQgd2UgaWdub3JlIGl0IGZvciBub3cpLiBUaGlzIG1ha2VzIG91ciB1ZHAgdXJscwoJICBjb21wYXRpYmxlIHdpdGggdGhlIG9uZXMgdXNlZCBieSBWTEMuCgkgIEZpeGVzICM1OTc2OTUKCjIwMTAtMDYtMTggMTU6MDg6MjEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogZmFjdG9yIG91dCB0aGUgY29ubmVjdGlvbnMKCSAgS2VlcCBhIGdsb2JhbCBjb25uZWN0aW9uIGZvciBhZ2dyZWdhdGUgY29udHJvbCBidXQgYWxzbyBrZWVwIHN0cmVhbSBjb25uZWN0aW9ucwoJICBmb3Igbm9uLWFnZ3JlZ2F0ZSBjb250cm9sLgoJICBBZGQgc29tZSBoZWxwZXIgbWV0aG9kcyB0byBjb25uZWN0L2Nsb3NlL2ZsdXNoIHRoZSBjb25uZWN0aW9ucy4KCjIwMTAtMDYtMTcgMTM6MDY6NTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFkZCBub24tYWdncmVnYXRlIGNvbnRyb2wKCSAgQWRkIG5vbi1hZ2dyZWdhdGUgY29udHJvbC4KCSAgU2VwYXJhdGUgcmV0cmlldmluZyB0aHIgU0RQIGZyb20gcGFyc2luZyBhbmQgc2V0dGluZyB1cCB0aGUgc3RyZWFtaW5nIGZyb20gdGhlCgkgIFNEUC4KCjIwMTAtMDYtMTcgMjI6MTA6MDMgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBjb21tb246CgkgIGNvbW1vbjogdXBkYXRlIGNvbW1vbiBiYWNrIHRvIHdoYXQgaXQgd2FzCgoyMDEwLTA2LTE3IDE3OjI0OjIyICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogY29tbW9uOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IGFkZCBkb2N1bWVudGF0aW9uIGZvciBzdHJlYW1hYmxlIHByb3BlcnR5CgoyMDEwLTA2LTE3IDE2OjQzOjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICBkb2NzOiB1cGRhdGUgaW50cm9zcGVjdGVkIHBsdWdpbiBkb2NzIGZvciBnc3Rkb2Mtc2NhbmdvYmogYW5kIG90aGVyIGNoYW5nZXMKCSAgVXBkYXRlIGNvbW1vbiBmb3IgbGF0ZXN0IGdzdGRvYy1zY2FuZ29iaiwgYW5kIGluc3BlY3QgeG1sIGZpbGVzIGZvcgoJICBlc2NhcGluZyBhbmQgcGFkIHRlbXBsYXRlIG9yZGVyIGNoYW5nZXMuCgoyMDEwLTA2LTE3IDE2OjQxOjU2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrLy5naXRpZ25vcmU6CgkgIHRlc3RzOiBpZ25vcmUgc3ViLWRpcmVjdG9yeSB3aXRoIG9yYyB0ZXN0cwoKMjAxMC0wNi0xNyAxMDo0NDozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogRml4IGFuIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZwoKMjAxMC0wNi0xNiAyMTowMjoxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkgIGVibWwtcmVhZDogWmVyby1zaXplZCBpbnRzL3VpbnRzL2Zsb2F0cyBoYXZlIGEgdmFsdWUgb2YgMCBhY2NvcmRpbmcgdG8gdGhlIEVCTUwgc3BlYwoKMjAxMC0wNi0xNiAyMDowMjo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogRml4IHBvc3NpYmxlIE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSBhbmQgYXNzZXJ0aW9uIHRoYXQgY291bGQgYmUgY2F1c2VkIGJ5IGludmFsaWQgZmlsZXMKCjIwMTAtMDYtMTYgMTk6NTA6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IENsZWFuIHVwL2ZpeCBzb21lIG1pbm9yIGVycm9yIGhhbmRsaW5nIGJ1Z3MKCjIwMTAtMDYtMTYgMTk6MzA6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgeGltYWdlc3JjOiBGaXggTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlIHdoZW4gYWxsb2NhdGlvbiBvZiB0aGUgeGltYWdlIGZhaWxzCgoyMDEwLTA2LTE2IDE5OjI4OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSAgZmxhY3RhZzogRml4IHBvc3NpYmxlIE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZQoKMjAxMC0wNi0xNiAxOToyNDo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2lpcmZpbHRlci5jOgoJICBhdWRpb2lpcmZpbHRlcjogRml4IHBvc3NpYmxlIE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZQoKMjAxMC0wNi0xNiAxOToyMDowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkgIHdhcnB0djogRG9uJ3QgdXNlIGZsb2F0cyBhcyBsb29wIGNvdW50ZXJzCgoyMDEwLTA2LTE2IDExOjIxOjM1IC0wNDAwICBIYXZvYyBQZW5uaW5ndG9uIDxocEBwb2JveC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJzcmM6IGRvIG5vdCB0cnkgdG8gY2hhbmdlIGRldmljZSBmb3JtYXQgaWYgaXQncyBhbHJlYWR5IGNvcnJlY3QKCSAgVGhpcyBhbGxvd3Mgc2V0X2NhcHMgdG8gc3VjY2VlZCBpZiBjYXBzIGNoYW5nZSBpbiBhIHdheSB0aGF0CgkgIHdvdWxkIG5vdCBtb2RpZnkgdGhlIGZvcm1hdCB3ZSdyZSBnZXR0aW5nIGZyb20gdGhlIGhhcmR3YXJlLgoJICBPdGhlcndpc2UgaWYgbm90IGluIE5VTEwgc3RhdGUsIHNldHRpbmcgY2FwcyB3b3VsZCBmYWlsCgkgIHdpdGggRUJVU1kuCgkgIFdpdGggdGhpcyBjaGFuZ2UsIGluIHNvbWUgY2FzZXMgaXQncyBPSyB0byBnbyBQTEFZSU5HLT5SRUFEWS0+UExBWUlORwoJICByYXRoZXIgdGhhbiBQTEFZSU5HLT5OVUxMLT5QTEFZSU5HIHRvIGF2b2lkIGEgdGltZS1jb25zdW1pbmcgY2xvc2UKCSAgYW5kIHJlb3BlbiBvZiB0aGUgZGV2aWNlLgoJICBGaXhlcyAjNjIxNzIzCgoyMDEwLTA2LTE2IDExOjA5OjE3IC0wNDAwICBIYXZvYyBQZW5uaW5ndG9uIDxocEBwb2JveC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IGluIG5lZ290aWF0ZSwgY2hlY2sgZm9yIGVycm9yIHJldHVybiBmcm9tIHNldF9jYXBzCgkgIEZpeGVzICM2MjE3MjMgIChwYXJ0aWFsbHkpCgkgIHNldF9jYXBzIGNhbiBmYWlsIGlmIHRoZSB2aWRlbyBkZXZpY2UgaXMgcnVubmluZywgaW4gdGhhdCBjYXNlCgkgIHNldHRpbmcgaXRzIGZvcm1hdCBsZWFkcyB0byBFQlVTWS4KCSAgSWYgc2V0X2NhcHMgZmFpbHMgdGhlbiB3ZSB3aWxsIG5vdCBoYXZlIHNldCB1cCB0aGUgYnVmZmVyIHBvb2wKCSAgKGl0IHdpbGwgYmUgTlVMTCkgd2hpY2ggbGVhZHMgdG8gYSBjcmFzaCB3aGVuIHdlIHRyeSB0byBwdWxsCgkgIGJ1ZmZlcnMuIElmIHdlIGZhaWwgdGhlIG5lZ290aWF0ZSBvbiBzZXRfY2FwcyBmYWlsdXJlLCB0aGVuIHdlCgkgIHdvbid0IGdvIHRvIHBsYXlpbmcgc3RhdGUgYW5kIHdvbid0IGNyYXNoLgoJICBUaGlzIGlzIGEgc21hbGwgaW1wcm92ZW1lbnQuIE9mIGNvdXJzZSwgYSBuaWNlciBmaXggd291bGQKCSAgYmUgdG8gbWFrZSBzZXRfY2FwcyB3b3JrIGluIHRoZSBjYXNlIHdoZXJlIHRoZSBmb3JtYXQgaXMKCSAgdW5jaGFuZ2VkLiBJZiB0aGUgZm9ybWF0IGhhcyBjaGFuZ2VkLCBmYWlsaW5nIGlzCgkgIHByb2JhYmx5IGNvcnJlY3QgYmVjYXVzZSB3ZSBuZWVkIHRvIGNsb3NlIHRoZSBkZXZpY2UKCSAgKGdvIHRvIE5VTEwgc3RhdGUpIGluIG9yZGVyIHRvIHNldCBjYXBzLgoKMjAxMC0wNi0xNiAxNTo0MDozNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBpbXByb3ZlIGF1ZGlvIHZiciBkZXRlY3Rpb24KCSAgU3Vic2VxdWVudCBlbnRyeSB0aW1lIGNhbGN1bGF0aW9ucyB1c2UgYmxvY2thbGlnbiB2YWx1ZSB0byBkZXRlcm1pbmUKCSAgbnVtYmVyIG9mIGZyYW1lcyBwZXIgY2h1bmssIGFuZCBibG9ja2FsaWduID09IDEgaXMgdGhlbiBtb3N0IHVubGlrZWx5IHRvIHJlc3VsdAoJICBpbiByZWFzb25hYmxlIHZhbHVlcyAod2hpY2ggYWxzbyBhbGlnbnMgd2l0aCAic3BlYyIpLgoKMjAxMC0wNi0xNiAxNTo1Mjo1NyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IHR3ZWFrIERFTFRBX1VOSVQgbGFiZWxpbmcKCSAgQ29uc2lkZXIgU1BTLCBQUFMgYW5kIElEUiBhcyBrZXlmcmFtZSwgYWxsIG90aGVycyBhcyBERUxUQV9VTklULgoJICBTZWUgIzYyMDE1NC4KCjIwMTAtMDYtMTUgMjA6MDY6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJICB3YXZwYWNrZGVjOiBJbml0aWFsaXplIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgYW5kIGRvbid0IHVucmVmIGl0IGlmIGl0J3MgTlVMTAoKMjAxMC0wNi0xNSAyMDowNDozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBBc3NpZ24gdmFyaWFibGVzIGJlZm9yZSBwcmludGluZyB0aGVtCgoyMDEwLTA2LTE1IDIwOjAwOjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogSW5pdGlhbGl6ZSB1bmluaXRpYWxpemVkIHZhcmlhYmxlCgoyMDEwLTA2LTE1IDE5OjQ3OjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogSW5pdGlhbGl6ZSB2YXJpYWJsZQoKMjAxMC0wNi0xNSAxOTo0NTozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IEZpeCBORVdTRUdNRU5UIHBhcnNpbmcgbG9naWMgYW5kIGRvbid0IHVzZSB1bmluaXRpYWxpemVkIHZhcmlhYmxlcwoKMjAxMC0wNi0xNSAxNzoyMDoyMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSAgbWF0cm9za2E6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZQoKMjAxMC0wNi0xNSAxNjo0OTo0OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gOTMzOWNjYyB0byAzNTYxN2MyCgoyMDEwLTA2LTE1IDE2OjU0OjA0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDVhZGIxY2EgdG8gOTMzOWNjYwoKMjAxMC0wNi0xNSAxNjozNToxOCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA1N2M4OWI3IHRvIDVhZGIxY2EKCjIwMTAtMDYtMTUgMTQ6MDg6MjYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogLmdpdGlnbm9yZToKCSAgLmdpdGlnbm9yZTogaWdub3JlIGdlbmVyYXRlZCB0dnRpbWUuaCBmaWxlCgoyMDEwLTA2LTE1IDE1OjM2OjMzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGM4MDQ5ODggdG8gNTdjODliNwoKMjAxMC0wNS0xNyAxMzo1NDowMyArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBleHQvcmF3MTM5NC9nc3QxMzk0Y2xvY2suYzoKCSogZXh0L3JhdzEzOTQvZ3N0MTM5NGNsb2NrLmg6CgkgIHJhdzEzOTQ6IHJlbW92ZSB1c2VsZXNzIGxhc3RfdGltZQoJICBJdCBzZWVtcyB0byBtZSB0aGlzIGNvZGUgaXMgdXNlbGVzczogcmVtb3ZpbmcgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTg4NzEKCjIwMTAtMDYtMTQgMTk6MjE6MjIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogcmVzcGVjdCBhZ2dyZWdhdGUgY29udHJvbCBhdHRyaWJ1dGVzCgkgIHdoZW4gdGhlIFNEUCBzcGVjaWZpZXMgYW4gYWdncmVnYXRlIGNvbnRyb2wgdXJsLCB1c2UgdGhhdCBmb3IgcGxheWJhY2sKCSAgY29udHJvbC4KCSAgRml4ZXMgIzYxOTUzMQoKMjAxMC0wNi0xNCAxNTozNjowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgIGdvb206IENhbGwgb3JjX2luaXQoKSBiZWZvcmUgdHJ5aW5nIHRvIGdldCB0YXJnZXQgZmxhZ3MKCjIwMTAtMDYtMTQgMTU6MzU6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBDYWxsIG9yY19pbml0KCkgYmVmb3JlIHRyeWluZyB0byBnZXQgdGFyZ2V0IGZsYWdzCgoyMDEwLTA2LTE0IDE0OjI2OjIyICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJICBtYXRyb3NrYW11eDogcmV2ZXJ0IGNoYW5nZSB0aGF0IHNldCBhIHJlc2VydmVkIGZsYWcgb24gdGhlIEJsb2NrLgoJICBTbyBtYXRyb3NrYSdzIEJsb2NrIHN0cnVjdHVyZSBoYXMgbm8ga2V5ZnJhbWUgZmxhZywgb25seSB0aGUgU2ltcGxlQmxvY2sgaGFzIGl0LgoJICBUbyBkZXRlY3Qga2V5ZnJhbWVzIGluIEJsb2NrcywgaXQgaXMganVzdCB0aGUgQmxvY2tHcm91cCBjb250YWluZXIgdGhhdCBuZWVkcwoJICB0byBoYXZlIGEgUmVmZXJlbmNlQmxvY2sgYXR0YWNoZWQgaWYgaXQgaXMgYSBkZWx0YSBmcmFtZSBpbiB2aWRlby4KCjIwMTAtMDUtMzEgMTI6NDU6MDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkgIGpwZWdkZWM6IHVzZSBsaWJqcGVnIHNjYXR0ZXItZ2F0aGVyIG9wZXJhdGlvbiB0byBhdm9pZCBkYXRhIGNvcHlpbmcKCSAgRml4ZXMgIzU4MzA0NyAobW9yZSkuCgoyMDEwLTA1LTI3IDE1OjQ1OjIzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJICBqcGVnZGVjOiBvcHRpbWl6ZSBidWZmZXIgaGFuZGxpbmcgd2hlbiBwYXJzaW5nCgkgIFVzZSBhbiBhZGFwdGVyIHRvIGNvbGxlY3QgaW5jb21pbmcgZGF0YSwgYW5kIHVzZSBhZGFwdGVyIEFQSSB0byBzY2FuIGFuZCBwZWVrLgoJICBGaXhlcyAjNTgzMDQ3LgoKMjAxMC0wNi0xNCAxMzo0ODoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgIG9zczQ6IFVzZSBnX2FzY2lpX3N0cmNhc2VjbXAoKSBpbnN0ZWFkIG9mIHRoZSBkZXByZWNhdGVkIGdfc3RyY2FzZWNtcCgpCgoyMDEwLTA2LTE0IDEzOjI3OjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBVc2UgR0xJQl9FWFRSQV9DRkxBR1MKCjIwMTAtMDYtMTQgMTM6MDM6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA3YTBmZGY1IHRvIGM4MDQ5ODgKCjIwMTAtMDYtMTQgMTE6NDY6MzIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiBhbHNvIGNvbnNpZGVyIEFVIGFuZCBTRUkgTkFMVXMgYXMgREVMVEFfVU5JVAoJICBGaXhlcyAjNjIwMTU0LgoKMjAxMC0wNi0xNCAxMTozMjo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDZkYTNiYWIgdG8gN2EwZmRmNQoKMjAxMC0wNi0xMiAyMToyNjoxNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJICBidWlsZDogaW5jbHVkZSBzdGRpby5oIGZvciBzc2NhbmYKCjIwMTAtMDYtMTIgMTQ6MTI6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBBZGQgY2xlYW4gcnVsZSBmb3IgdGhlIG9yYyB0ZXN0cwoKMjAxMC0wNi0xMiAxNDoxMjowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IEFkZCBhdXRvZ2VuZXJhdGVkIG9yYyB0ZXN0cwoKMjAxMC0wNi0xMiAwODoyNzo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDczM2ZjYTkgdG8gNmRhM2JhYgoKMjAxMC0wNi0xMSAxNjoyMzoyOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IEZpeCBlbGVtZW50IGRlc2NyaXB0aW9uCgoyMDEwLTA2LTExIDIxOjEzOjU5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSAgcnRwbXBhcm9idXN0ZGVwYXk6IGRvbid0IHRyeSB0byB1bnJlZiBOVUxMIGJ1ZmZlcnMKCSAgRml4ZXMgZ2VuZXJpYy9zdGF0ZXMgdW5pdCB0ZXN0LgoKMjAxMC0wNi0xMSAyMDo1MDoyMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IHVzZSB0eXBlZmluZCBmdW5jdGlvbnMgdG8gY2hlY2sgaWYgUENNIGRhdGEgY29udGFpbnMgZHRzIHN0cmVhbQoJICBVc2UgbmV3IGR0cyBhdWRpbyB0eXBlZmluZGVyIGZyb20gLWJhc2UgdG8gY2hlY2sgaWYgdGhlIFBDTSBkYXRhCgkgIGNvbnRhaW5zIGEgZHRzIHN0cmVhbS4gVGhpcyB3YXkgd2UgcmVjb2duaXNlIG1vcmUgdmFyaWV0aWVzIG1vcmUKCSAgcmVsaWFibHkgYW5kIGFsc28gZGV0ZWN0IHRoZSBkdHMgc3RyZWFtIGlmIHRoZXJlIGlzbid0IGEgZnJhbWUKCSAgc3luYyByaWdodCBhdCB0aGUgc3RhcnQgb2YgdGhlIGRhdGEuCgkgIEZpeGVzICM0MTM5NDIuCgoyMDEwLTA2LTExIDIwOjQ3OjIyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogc2V0IGJ1ZmZlciBvZmZzZXRzIGJlZm9yZSB1c2luZyB0aGUgYnVmZmVyIGZvciB0aGUgZmlyc3QgdGltZQoJICBnc3RfdHlwZV9maW5kX2hlbHBlcl9mb3JfYnVmZmVyKCkgd2lsbCBuZWVkIHRoZSBjb3JyZWN0IG9mZnNldAoJICBzZXQgb24gdGhlIGJ1ZmZlciAoaWUuIDApIGFuZCBub3QgdGhlIGJ5dGUgb2Zmc2V0IHdlIHN0YXJ0ZWQKCSAgcHVsbGluZyB0aGUgZGF0YSBmcm9tLgoKMjAxMC0wNi0xMCAxNjoxNDo0MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuaDoKCSAgcnRwOiBhZGQgbXBhLXJvYnVzdCBkZXBheWxvYWRlcgoJICBGaXhlcyAjNTg5OTk3LgoKMjAxMC0wNi0xMSAxMDo1Nzo0MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IGZpeCBhdmkgaGVhZGVyIGJ5dGV3cml0aW5nCgkgIC4uLiBieSB1c2luZyBwcm9wZXIgb2Zmc2V0cyBmb3IgdGFnIGxpc3Qgd3JpdGluZy4KCSAgQWxzbyB1c2UgX3Jlc2V0IHJhdGhlciB0aGFuIF9mcmVlIGFuZCBjb25zaXN0ZW50bHkgdXNlIGJ5dGV3cml0ZXIgcG9zaXRpb24uCgkgIFNlZSAjNjE5MjkzLgoKMjAxMC0wNi0xMCAyMjo1ODo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiAuZ2l0aWdub3JlOgoJICBVcGRhdGUgLmdpdGlnbm9yZQoJICBBZGQgdGhlIGdlbmVyYXRlZCBvcmMgc291cmNlIGZpbGVzCgoyMDEwLTA2LTEwIDIyOjU1OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBGaXggdW5pdCB0ZXN0IGZvciBjaGFuZ2VkIGtleS1mcmFtZSBiZWhhdmlvdXIKCSAgQWxsIGF1ZGlvIGZyYW1lcyBhcmUgbWFya2VkIGFzIGtleWZyYW1lIG5vdyBpbnN0ZWFkIG9mIG1hcmtpbmcKCSAgdGhlbSBhbGwgYXMgZGVsdGEgdW5pdC4uLgoKMjAxMC0wNi0xMCAyMjo0NToxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfbW14Lmg6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5oOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy5vcmM6CgkgIHZpZGVvbWl4ZXI6IFBvcnQgbW9zdCBibGVuZGluZyByZWxhdGVkIGZ1bmN0aW9ucyB0byBvcmMKCSAgT25seSByZW1haW5pbmcgTU1YIGltcGxlbWVudGF0aW9uIGlzIHRoZSBBUkdCL0JHUkEvQVlVViBibGVuZGluZwoJICBmb3Igd2hpY2ggd2UgZmlyc3QgbmVlZCB0aGUgb3JjIGNvbXBvc2l0aW5nIG9wY29kZXMuCgoyMDEwLTA2LTEwIDIwOjE3OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kX21teC5oOgoJICB2aWRlb21peGVyOiBSZXBsYWNlIHNvbWUgdGFicyBieSBzcGFjZXMKCjIwMTAtMDYtMTAgMTE6MDQ6MzggKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGV4dC9yYXcxMzk0L2dzdDEzOTRjbG9jay5jOgoJICBkdjEzOTQ6IEZpeCB0aGUgaW50ZXJuYWwgY2xvY2sgZXZlbiBtb3JlCgkgIFRoZSBjeWNsZUNvdW50IHJlZ2lzdGVyIGlzIDEzIGJpdHMgbG9uZyBhbmQgdGhlIGN5Y2xlT2Zmc2V0IG9uZQoJICBpcyAxMiBiaXRzIGxvbmcuIFRvIHJlYWQgdGhlIGN5Y2xlQ291bnQgcmVnaXN0ZXIgd2UgbmVlZCB0byBzaGlmdAoJICAxMiBiaXRzIGFuZCBub3QgMTMuIEZpeGVzICM2MTU0NjEKCjIwMTAtMDYtMDkgMTg6Mzc6MjkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHVzZSBtNCBtYWNybyB0byBjaGVjayBmb3IgT3JjCgoyMDEwLTA2LTA5IDIyOjQwOjIzICswMjAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogc29tZSBub24tZGVsdGEgYnVmZmVycyB3ZXJlIG5vdCBtYXJrZWQgYXMga2V5ZnJhbWVzCgoyMDEwLTA2LTA5IDIyOjAwOjE2ICswMjAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIG1hdHJvc2thbXV4OiBjaGFuZ2UgMiBzZWNvbmQgbGltaXQgcGVyIGNsdXN0ZXIKCSAgU3RhcnQgY2x1c3RlciBhdCBldmVyeSBrZXlmcmFtZSBvciB3aGVuIHdlIHdvdWxkIG92ZXJmbG93IHRoZSBwcmV2aW91cwoJICBjbHVzdGVyJ3MgcmVsYXRpdmUgdGltZXN0YW1wIGZpZWxkLiBUaGlzIHdvdWxkIGF2b2lkIGFzIG11Y2ggYXMgcG9zc2libGUKCSAgc3RhcnRpbmcgY2x1c3RlcnMgYXQgbm9uLWtleWZyYW1lcy4KCjIwMTAtMDYtMDkgMTI6NDA6MDkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmYWQxNDViIHRvIDczM2ZjYTkKCjIwMTAtMDYtMDkgMTI6MzQ6MDEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA0NzY4M2MxIHRvIGZhZDE0NWIKCjIwMTAtMDYtMDkgMjA6NTM6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IERvbid0IHJlcXVlc3QgbW9yZSBzaGFyZWQgbWVtb3J5IHRoYW4gbmVlZGVkCgoyMDEwLTA2LTA5IDIwOjQ1OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmM6CgkgIHN3aXRjaHNpbms6IFNldCB0aGUgR1NUX0VMRU1FTlRfSVNfU0lOSyBmbGFnIG9uIHRoZSBzaW5rCgoyMDEwLTA2LTA5IDIwOjQzOjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc2luay5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuaDoKCSAgZ2NvbmZ2aWRlb3Npbms6IFVzZSBHc3RTd2l0Y2hTaW5rIGFzIGJhc2UgY2xhc3MKCjIwMTAtMDYtMDkgMjA6MzA6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmM6CgkgIGdjb25mYXVkaW9zaW5rOiBVc2UgR19QQVJBTV9TVEFUSUNfU1RSSU5HUwoKMjAxMC0wNi0wOSAyMDoyOTowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYzoKCSogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmg6CgkgIGdjb25mYXVkaW9zaW5rOiBSZW5hbWUgaW5zdGFuY2UgdmFyaWFibGUgdG8gYmUgbW9yZSBkZXNjcmlwdGl2ZQoKMjAxMC0wNi0wOSAyMDoyMjozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSAgYXV0b3thdWRpbyx2aWRlb31zaW5rOiBEb24ndCBsb3NlIHRoZSBHU1RfRUxFTUVOVF9JU19TSU5LIGZsYWcgYWZ0ZXIgcmVtb3ZpbmcgdGhlIGNoaWxkCgoyMDEwLTA2LTA5IDIwOjA3OjA5ICswMjAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AZmx1ZW5kby5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogUGx1ZyBzb21lIG1lbWxlYWsgYW5kIHN1cHBvcnQgMjIwNTBIeiBtb25vIHNvdW5kLgoJICBTZWdtZW50IHNpemUgbmVlZHMgdG8gYmUgYSBtdWx0aXBsZSBvZiB0aGUgc2FtcGxlIHNpemUgaW4gYnl0ZXMuCgoyMDEwLTA2LTA5IDE2OjIyOjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBGbHVzaCBzaG0gYnVmZmVyIGltbWVkaWF0ZWx5IGlmIGl0J3MgZnVsbAoKMjAxMC0wNi0wOSAxNjoyMTo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogRml4IHdyaXRpbmcgb2YgYnVmZmVycyBsYXJnZXIgdGhhbiBzZWdzaXplCgkgIEZpeGVzIGJ1ZyAjNjIwNTQwLgoKMjAxMC0wNi0wOSAxNTo0MjozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogRml4IHBsYXliYWNrIGlmIFBBIGRvZXNuJ3QgZ2l2ZSB1cyBhIGxhcmdlIGVub3VnaCBzaGFyZWQgbWVtb3J5IGJ1ZmZlcgoKMjAxMC0wNi0wOSAxNTo0MjoxOSArMDIwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBtYXRyb3NrYW11eDogY2hhbmdlIGluZGV4ZWQgcHJvcGVydHkgdG8gc3RyZWFtYWJsZQoJICBUaGUgcHJvcGVydHkgc3RyZWFtYWJsZSBoYXMgcmV2ZXJzZSBzZW1hbnRpY3MgdG8gaW5kZXhlZC4KCjIwMTAtMDYtMDkgMDk6MTM6MDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSAgZmx2bXV4OiBSZW5hbWUgdW5yZWxlYXNlZCBwcm9wZXJ0eSAnaW5kZXhlZCcgdG8gJ3N0cmVhbWFibGUnCgkgIFJlbmFtZSAnaW5kZXhlZCcgdG8gJ3N0cmVhbWFibGUnIGZvciBhIGJldHRlciBuYW1lIHdoaWxlIGl0CgkgIGhhc24ndCBiZWVuIHJlbGVhc2VkCgoyMDEwLTA2LTA4IDE1OjIzOjUxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIFJFUVVJUkVNRU5UUzoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHJlbW92ZSBsaWJvaWwgY2hlY2sKCjIwMTAtMDYtMDggMTQ6NDQ6MTkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIGxldmVsOiByZW1vdmUgdW51c2VkIGxpYm9pbCBpbmNsdWRlCgoyMDEwLTA2LTA0IDE4OjIyOjQyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJICB2aWRlb21peGVyOiBsaWJvaWwgdG8gb3JjIGNvbnZlcnNpb24KCjIwMTAtMDYtMDQgMTg6MjE6MjEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3ZpZGVvYm94L01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94b3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94b3JjLWRpc3QuaDoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94b3JjLm9yYzoKCSAgdmlkZW9ib3g6IGxpYm9pbCB0byBvcmMgY29udmVyc2lvbgoKMjAxMC0wNi0wNCAxODoxNjoyNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ29vbS9NYWtlZmlsZS5hbToKCSogZ3N0L2dvb20vUkVBRE1FOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tL3BsdWdpbl9pbmZvLmM6CgkgIGdvb206IGxpYm9pbCB0byBvcmMgY29udmVyc2lvbgoKMjAxMC0wNi0wOCAxNjowNDoyMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS5vcmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyYmxlbmQuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS92ZmlyLmM6CgkgIGRlaW50ZXJsYWNlOiBvcmNpZnkgc29tZSBkZWludGVybGFjaW5nIG1ldGhvZHMKCjIwMTAtMDYtMDggMTY6MDM6MzYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHkuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyYmxlbmQuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9zY2FsZXJib2IuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdmZpci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmViZmYuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZXRmZi5jOgoJICBkZWludGVybGFjZTogY29udmVydCBmcm9tIGxpYm9pbCB0byBvcmMKCjIwMTAtMDYtMDggMTU6MjM6MjggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogUkVRVUlSRU1FTlRTOgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQWRkIG9yYyBjaGVjawoKMjAxMC0wNi0wOCAxNDowOTowMCArMDIwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkgIGZsdm11eDogQWRkIGluZGV4ZWQgcHJvcGVydHkgdG8gcmVwbGFjZSBkaXNhYmxlZCBpcy1saXZlLgoJICBBZGQgaW5kZXhlZCBwcm9wZXJ0eSB0byBiZSB0aGUgbmVnYXRpb24gb2Ygd2hhdCB0aGUgZGlzYWJsZWQgaXMtbGl2ZSBwcm9wZXJ0eQoJICB3YXMuIEZpeGVzIGJ1ZyAjNjEzMDY2LgoKMjAxMC0wNi0wOCAwOToyMjozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIHJhdzEzOTQ6IFJlcXVpcmUgbGlicmF3MTM5NCA+PSAyLjAuMCBmb3IgcmF3MTM5NF9yZWFkX2N5Y2xlX3RpbWVyCgkgIEZpeGVzIGJ1ZyAjNjIwOTI5LgoKMjAxMC0wNi0wOCAwNzozNTowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6CgkgIGNtbWxlbmM6IFJlbW92ZSBoYWNrIHRvIGxldCBvZ2dtdXggc3RhcnQgYSBuZXcgcGFnZSBmb3IgZXZlcnkgQ01NTCBidWZmZXIKCSAgb2dnbXV4IGRvZXMgdGhpcyBmb3IgQ01NTCBieSBpdHMgb3duIG5vdwoKMjAxMC0wNi0wNyAxODozMjoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBEb24ndCBoYW5kbGUgbm9uLVRJTUUgc2Vla3MKCSAgRG9uJ3Qgc2VuZCB0aGVtIHVwc3RyZWFtIGJlY2F1c2UgZm9yIHVwc3RyZWFtIGEgQllURVMgc2VlawoJICBtaWdodCBtYWtlIHNlbnNlIGJ1dCBpcyBjb21wbGV0ZWx5IHdyb25nIGJlY2F1c2UgdXBzdHJlYW0KCSAgY2FuJ3Qgc2VlayB0byBhIGJ5dGUgcG9zaXRpb24gb2YgdGhlIGF1ZGlvIG9yIHZpZGVvIHN0cmVhbS4KCSAgQWxzbyBkb24ndCBidWlsZCB0aGUgaW5kZXggaW4gcHVzaCBtb2RlIGZvciBub24tVElNRSBzZWVrcywKCSAgdGhpbmdzIHdpbGwgZ28gd3JvbmcgaGVyZSBvdGhlcndpc2UuCgoyMDEwLTA2LTA3IDExOjE1OjI2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5oOgoJICBkdG1mZGV0ZWN0OiBPbmx5IHdvcmtzIHdpdGggcmF0ZT04MDAwLCBmaXggaW4gY2FwcwoKMjAxMC0wNi0wMiAxOToxNjoyMCArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgQ29wZSB3aXRoIHNob3J0IHN0YXJ0Y29kZXMgaW4gdGhlIGgyNjQgYnl0ZXN0cmVhbQoKMjAxMC0wNi0wNiAxNzoyNToxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlOiBsb2cgbWVzc2FnZSBwcmludGYgZm9ybWF0IGZpeGVzCgoyMDEwLTA2LTA2IDE4OjAwOjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIGV4dDogRG9uJ3QgdXNlIEdTVF9ERUJVR19GVU5DUFRSIGZvciBHT2JqZWN0IHZmdW5jcwoKMjAxMC0wNi0wNiAxNzo1NzowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkqIHN5cy9vc3MvZ3N0b3NzZG1hYnVmZmVyLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOgoJKiBzeXMvb3NzL2dzdG9zc3NyYy5jOgoJKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzoKCSogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5jOgoJICBzeXM6IERvbid0IHVzZSBHU1RfREVCVUdfRlVOQ1BUUiBmb3IgR09iamVjdCB2ZnVuY3MKCjIwMTAtMDYtMDYgMTc6NTI6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSogZ3N0L2RlYnVndXRpbHMvYnJlYWtteWRhdGEuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0dGFnaW5qZWN0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSogZ3N0L2RlYnVndXRpbHMvdGVzdHBsdWdpbi5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgZ3N0OiBEb24ndCB1c2UgR1NUX0RFQlVHX0ZVTkNQVFIgZm9yIEdPYmplY3QgdmZ1bmNzCgoyMDEwLTA2LTA2IDE1OjEyOjE2ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHJlZmFjdG9yIGRlbHRhIHVuaXQgaGFuZGxpbmcKCSAgVGhpcyBhbGxvd3MgdXMgdG8gc2tpcCBkZWx0YSB1bml0cyBlYXJsaWVyIGFuZCBpcyBhIGJpdCBjbGVhcmVyIGluIG15CgkgIG9waW5pb24uIEl0IGFsc28gbWFrZXMgb25seSB2aWRlbyBidWZmZXJzIGV2ZXIgYmUgZGVsdGEgdW5pdHMsIG5vdAoJICBqdXN0IGZvciBTaW1wbGVCbG9jayBhcyBiZWZvcmUuCgoyMDEwLTA2LTA2IDE1OjE3OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IENsZWFyIGFkYXB0ZXIgb24gZGlzY29udGludWl0aWVzCgoyMDEwLTA2LTA2IDE0OjAzOjUzICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IElnbm9yZSBrZXlmcmFtZSBmbGFnIGZvciBub24tdmlkZW8gc3RyZWFtcwoJICBXaGVuIHRoZSBrZXlmcmFtZSBiaXQgb2YgU2ltcGxlQmxvY2sgRmxhZ3Mgd2Fzbid0IHNldCwgdGhlIGJ1ZmZlciB3YXMgYmVpbmcKCSAgbWFya2VkIHdpdGggR1NUX0JVRkZFUl9GTEFHX0RFTFRBX1VOSVQsIGNhdXNpbmcgYWxsIGJ1ZmZlcnMgdG8gYmUgc2tpcHBlZAoJICBhZnRlciBhIHNlZWsuIFRoaXMgbWF5IGJlIGEgcHJvYmxlbSB3aXRoIHRoZSBTb3JlbnNvbiBTcXVpc2ggZW5jb2RlciwgYnV0CgkgIGFyZ3VhYmx5IHRoZSBrZXlmcmFtZSBiaXQgc2hvdWxkIG9ubHkgYmUgYXBwbGllZCB0byB2aWRlby4KCSAgRml4ZXMgYnVnICM2MjAzNTguCgoyMDEwLTA2LTA2IDE0OjU2OjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IEZpcnN0IHRyeSB1cHN0cmVhbSB3aGVuIGhhbmRsaW5nIHNlZWsgZXZlbnRzL3F1ZXJpZXMKCjIwMTAtMDYtMDQgMTQ6NTQ6NTkgLTA0MDAgIFRyaXN0YW4gTWF0dGhld3MgPHRyaXN0YW5Ac2F0LnFjLmNhPgoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5LmM6CgkgIGdzdHJ0cGNlbHRwYXk6IGRvbid0IGFsd2F5cyBmaXhhdGUgc2luayBjYXBzIHRvIDEgY2hhbm5lbAoJICBUaGUgZ2V0Y2FwcyBmdW5jdGlvbiBzaG91bGQgbm90IGZpeGF0ZSB0aGUgY2hhbm5lbHMgZmllbGQgdW50aWwgd2UKCSAgZ2V0IHRoZSBlbmNvZGluZy1wYXJhbXMgZmllbGQgZnJvbSBvdXIgc3JjcGFkJ3MgY2Fwcy4gRml4ZXMgIzYyMDU5MQoKMjAxMC0wNi0wNCAxMzo1NzoyOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcDogdHJ5IGFsbCByYW5nZXMgZnJvbSB0aGUgc2RwCgkgIFRyeSBhbGwgcmFuZ2VzIGluIHRoZSBTRFAgYmVmb3JlIGdpdmluZyB1cC4KCjIwMTAtMDYtMDQgMTM6NTY6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IG1ha2UgcGFyc2VfcmFuZ2UgcmV0dXJuIHJlc3VsdAoJICBNYWtlIHRoZSBwYXJzZV9yYW5nZSBmdW5jdGlvbiByZXR1cm4gaWYgdGhlIHBhcnNpbmcgc3VjY2VlZGVkIG9yIGZhaWxlZC4KCjIwMTAtMDYtMDQgMTE6NDQ6MDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IGlmIHdlJ3JlIG5vdCBsaW5rZWQgZG93bnN0cmVhbSwgd2UgY2FuIGRvIGFueSBmb3JtYXQKCSAgU3R1cGlkIG1lLCBhc3N1bWluZyBfZ2V0X2FsbG93ZWRfY2FwcygpIHdvdWxkIGFjdHVhbGx5IHJldHVybiB0aGUKCSAgcGFkIHRlbXBsYXRlcyBpZiB0aGVyZSB3YXMgbm8gcGVlci4KCjIwMTAtMDUtMzEgMTY6MjY6MTkgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgS2VlcCBhbm5vdW5jaW5nIHRoZSBkZWxpdmVyeS1tZXRob2QgaW4gdGhlIGNhcGFiaWxpdGllcwoJICBFdmVuIHRob3VnaCB3ZSBkb24ndCB1c2UgZGVsaXZlcnktbWV0aG9kIGluIG91ciBwYXlsb2FkZXIsIG9sZGVyIHZlcnNpb25zIG9mCgkgIHRoZSB0aGVvcmEgcGF5bG9hZGVyIGluIGdzdHJlYW1lciByZXF1aXJlZCBpdC4gQXMgc3VjaCB3ZSBuZWVkIHRvIGtlZXAgdGhpcwoJICBhcm91bmQgaW4gdGhlIGNhcHMgZm9yIGJhY2t3YXJkcy1jb21wYXRpYmlsaXR5LgoJICBUaGlzIHJldmVydHMgcGFydCBvZiA0OTQ2M2EzN2NiYWE5NTJlMTQwMTI5MWYwYTI2MjNkZTZjYWIzODgwCgkgIEZpeGVzICM2MTg5NDAKCjIwMTAtMDYtMDMgMTc6NTI6MTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICBvc3M0OiBhZGQgc29tZSBjb21tZW50cyBmb3IgdHJhbnNsYXRvcnMgdG8gY2xhcmlmeSBtZWFuaW5nIG9mICJMb3ciCgkgICJMb3ciIGV0Yy4gYXJlIHF1YWxpdHkgc2V0dGluZ3MgaGVyZSAoZS5nLiBmb3IgdGhlIGludGVybmFsIHJlc2FtcGxlcikuCgkgIFNvbWUgZGF5IHdoZW4gd2UgdXNlIEdMaWIncyBpMThuIGZ1bmN0aW9ucyB3ZSBtaWdodCB3YW50IHRvIHVzZQoJICBOQ18oKSBhbmQgZ19kcGdldHRleHQyKCkgaGVyZSBpbnN0ZWFkIG9mIHRoZSBjb21tZW50cy4KCSAgRml4ZXMgIzU1NTk2Ny4KCjIwMTAtMDYtMDMgMTk6MjM6MDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5oOgoJICBtcDRnZGVwYXk6IGNhbGN1bGF0ZSB0aGUgZnJhbWUgZHVyYXRpb24gY29ycmVjdGx5CgkgIFdoZW4gd2UgY2FsY3VsYXRlIHRoZSBmcmFtZSBkdXJhdGlvbiwgd2UgbmVlZCB0byB1c2UgdGhlIGFtb3VudCBvZgoJICBmcmFtZXMgaW4gdGhlIF9wcmV2aW91c18gcGFja2V0LCBub3QgdGhlIGN1cnJlbnQgcGFja2V0LiBUaGUgZnJhbWUgZHVyYXRpb24gaXMKCSAgbmVlZGVkIHRvIGNvcnJlY3RseSBkZS1pbnRlcmxlYXZlIGludGVybGVhdmVkIHN0cmVhbXMuIFRoaXMgZml4ZXMgdGhlIGNhc2Ugd2hlcmUKCSAgdGhlcmUgYXJlIGEgdmFyaWFibGUgbnVtYmVyIG9mIGZyYW1lcyBpbiBhIHBhY2tldC4KCSAgRml4ZXMgIzYyMDQ5NAoKMjAxMC0wNi0wMyAxODo1ODo0MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogRG9uJ3QgcmV0dXJuIGNhcHMgaW4gZ2V0X2NhcHMoKSB0aGF0IHdpbGwgYmUgcmVqZWN0ZWQKCSAgVGhpcyBjb21taXQgYmFzaWNhbGx5IHB1dHMgX2dldF9jYXBzKCkgaW4gc3luYyB3aXRoIGFjY2VwdF9jYXBzKCkuCgkgIElmIHdlIGRvbid0IGhhdmUgYSBtYXN0ZXIgcGFkIE9SIHRoZSBtYXN0ZXIgcGFkIGNhcHMgYXJlbid0IG5lZ290aWF0ZWQKCSAgdGhlbiB3ZSBqdXN0IHJldHVybiB0aGUgZG93bnN0cmVhbSBhbGxvd2VkIGNhcHMuCgkgIElmIHdlIGhhdmUgYSBtYXN0ZXIgcGFkIHdpdGggbmVnb3RpYXRlZCBjYXBzLCB3ZSByZXR1cm4gdGhvc2UgY2FwcwoJICB3aXRoIGEgZnJlZSByYW5nZSBvZiB3aWR0aC9oZWlnaHQvZnJhbWVyYXRlCgoyMDEwLTA2LTAzIDEzOjQ1OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgUmV2ZXJ0ICJwdWxzZXNpbms6IEFkZCBjb21tZW50cyB0byByZW1vdmUgdGhlIHByb3ZpZGUtY2xvY2sgbWVzc2FnZSBwb3N0aW5nIG9uY2Ugd2UgZGVwZW5kIG9uIGJhc2UgMC4xMC4zMCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA4ZjM3MDhmMzhhYTM4MzlhNmE2MjVjYTdkMWMxNjYxMDFjOWZiYjdmLgoJICBUaGUgYmFzZWF1ZGlvc2luayBjb21taXQgd2FzIHJldmVydGVkCgoyMDEwLTA2LTAzIDEwOjI3OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBBZGQgY29tbWVudHMgdG8gcmVtb3ZlIHRoZSBwcm92aWRlLWNsb2NrIG1lc3NhZ2UgcG9zdGluZyBvbmNlIHdlIGRlcGVuZCBvbiBiYXNlIDAuMTAuMzAKCSAgYmFzZWF1ZGlvc2luayBkb2VzIGFsbCB0aGlzIGZvciB1cyBub3cuCgoyMDEwLTA1LTA3IDE4OjQyOjA2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgZHRtZjogUmVtb3ZlIHJ0cGR0bWZtdXggc3RyZWFtLWxvY2sgY29kZQoKMjAxMC0wNi0wMiAxNjozNjoxMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBkZWxheWVkIHNlZWsgaGFuZGxpbmcgYWxzbyBkZXNlcnZlcyBUUlVFIGV2ZW50IHJlc3BvbnNlCgoyMDEwLTA2LTAyIDE1OjMwOjQ3ICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgdW51c2VkIHZhcmlhYmxlIOKAmGVzdGltYXRlZOKAmQoKMjAxMC0wNi0wMiAxNTowNDowMCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBjb21tb246CgkgIGNvbW1vbjogcmV2ZXJ0IHRoZSBjaGFuZ2UgaSBkaWQgaW4gbXkgcHJldmlvdXMgY29tbWl0CgoyMDEwLTA2LTAyIDEzOjM5OjEwICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGNvbW1vbjoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogc3RvcCBidWZmZXJpbmcgYW5kIGVtaXQgRU9TIGF0IHRoZSBlbmQgb2YgYSBzdHJlYW0KCSAgV2hlbiB1c2luZyBSVFBfSklUVEVSX0JVRkZFUl9NT0RFX0JVRkZFUiwgbWFrZSBzdXJlIHRoYXQgdGhlIHJpbmdidWZmZXIgZG9lc24ndAoJICBnZXQgc3R1Y2sgYnVmZmVyaW5nIGZvcmV2ZXIgd2hlbiB0aGVyZSBpc24ndCBlbm91Z2ggZGF0YSBsZWZ0IHRvIGZpbGwgdGhlCgkgIGJ1ZmZlci4KCjIwMTAtMDYtMDEgMjE6NTI6NTkgKzAyMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL3Rlc3RwbHVnaW4uYzoKCSAgZGVidWd1dGlsczogRG9uJ3QgY29uc3VtZSBwcmVyb2xsIGJ1ZmZlciB0d2ljZQoKMjAxMC0wNi0wMSAyMTozMjoxMSArMDIwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJICBwdWxzZTogU3R5bGUgZml4OiB1c2UgZ19zdHJkdXAoKSBpbnN0ZWFkIG9mIHByaW50ZigpaW5nIGEgc2ltcGxlIHN0cmluZwoKMjAxMC0wNS0yNyAxNjowNzozMSArMDIwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvdGVzdHMuYzoKCSAgZGVidWd1dGlsczogUmVwbGFjZSBtZDUgaW1wbGVtZW50YXRpb24gd2l0aCBnbGliJ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxOTgyNAoKMjAxMC0wNS0yMiAxMTo1NTozNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IGNsZWFuIHVwIGNvZGUgZm9yIGF2aSBoZWFkZXIgdXNpbmcgYSBieXRld3JpdGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTkyOTMKCjIwMTAtMDYtMDEgMTg6NTQ6NDEgLTA1MDAgIFBpZXJyZS1Mb3VpcyBCb3NzYXJ0IDxwaWVycmUtbG91aXMuYm9zc2FydEBpbnRlbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBvcHRpbWl6ZSBjb21tdW5pY2F0aW9uIHdpdGggUHVsc2VBdWRpbyB1c2luZyBwYV9zdHJlYW1fYmVnaW5fd3JpdGUKCjIwMTAtMDYtMDIgMTA6NTI6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IFBvc3QgcHJvdmlkZS1jbG9jayBtZXNzYWdlIG9uIHRoZSBidXMgaWYgdGhlIGNsb2NrIGFwcGVhcnMvZGlzYXBwZWFycwoJICBGaXhlcyBidWcgIzYyMDI3Ny4KCjIwMTAtMDYtMDEgMjM6NDk6MTcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAxN2Y4OWU1IHRvIDQ3NjgzYzEKCjIwMTAtMDYtMDEgMjI6NTQ6NDkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBjZGZmMGZiIHRvIDE3Zjg5ZTUKCjIwMTAtMDYtMDEgMjA6NDU6MjkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IGZpbHRlciBjYXBzIHJldHVybmVkIGZyb20gZG93bnN0cmVhbSB3aXRoIG91ciBwYWQgdGVtcGxhdGUuCgoyMDEwLTA2LTAxIDE2OjU2OjMyICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogUmVtb3ZlIG1vcmUgdW5uZWVkZWQgd2FybmluZ3MKCjIwMTAtMDYtMDEgMTY6NTQ6MDMgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJICBtYXRyb3NrYW11eDogcmVtb3ZlIHVubmVlZGVkIHdhcm5pbmcKCjIwMTAtMDYtMDEgMTY6NDk6MTQgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJICBtYXRyb3NrYW11eDogcmVtb3ZlIHVubmVlZGVkIGRlYnVnIHN0YXRlbWVudAoKMjAxMC0wNi0wMSAxNjoyNDo1MyArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBtYXRyb3NrYW11eDogY2hhbmdlIGlzLWxpdmUgcHJvcGVydHkgdG8gaW5kZXhlZAoKMjAxMC0wNS0yMyAxMzo1NjoxNiArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thOiB1c2UgdGhlIHVpbnQ2NCBzY2FsaW5nIGZ1bmN0aW9ucwoJICBJbiBkZW11eGVyIGFuZCBtdXhlciB1c2UgdGhlIGdzdF91dGlsX3VpbnQ2NCBzY2FsaW5nIGZ1bmN0aW9ucyByYXRoZXIgdGhhbgoJICBzdGFuZGFyZCBpbnRlZ2VyIGRpdmlzaW9uLiBBZGQgd2FybmluZ3MgKHRvIGJlIGNoYW5nZWQgdG8gZGVidWcpIGZvciBkZWJ1Z2dpbmcKCSAgdGhlIHRpbWVzdGFtcCBhbmQgZHVyYXRpb24uCgoyMDEwLTA1LTIxIDE0OjM1OjM0ICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogc2V0IGRlbHRhIHVuaXQgb24gYWxsIGJ1ZmZlcnMgZXhjZXB0IGNsdXN0ZXIgc3RhcnQgb25lcwoKMjAxMC0wNS0yMSAxMzozODoxMSArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHN0b3JlIGNhcHMgYW5kIHNldCBvbiBidWZmZXJzIHJhdGhlciB0aGFuIHVzaW5nIHBhZCBjYXBzCgoyMDEwLTA1LTIxIDEzOjI1OjI0ICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogbWFrZSBzdXJlIHBhZHMgY2FwcyBhcmUgc2V0IGJlZm9yZSBhbnkgYnVmZmVycyBwdXNoZWQuCgoyMDEwLTA1LTIxIDEzOjE0OjA0ICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogYWRkIHN0cmVhbWhlYWRlcnMKCjIwMTAtMDUtMjEgMTI6MjM6MDggKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBubyBuZWVkIHRvIHNldCBjYWNoZSB0d2ljZQoKMjAxMC0wNS0yMSAwMTo1OTo1MyArMDIwMCAgWGF2aWVyIFF1ZXJhbHQgPHhxdWVyYWx0QGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgRG8gbm90IGNyZWF0ZSBhIFNlZWtIZWFkZXIsIEN1ZXMsIC4uIHdoZW4gZG9pbmcgbGl2ZQoKMjAxMC0wNS0yMCAyMzozOTo1OSArMDIwMCAgWGF2aWVyIFF1ZXJhbHQgPHhxdWVyYWx0QGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBBZGQgaXMtbGl2ZSBwcm9wZXJ0eQoKMjAxMC0wNi0wMSAxMzoyMjoyNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGZpeCB2YXJpYWJsZSBpbml0CgoyMDEwLTA1LTI4IDE2OjM3OjMyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBtYXRyb3NrYWRlbXV4OiBpbXByb3ZlIHJldmVyc2UgcGxheWJhY2sKCSAgU2xpZ2h0bHkgbW9kaWZ5IGFwcHJvYWNoIHRvIGFsc28gaGFuZGxlIGNhc2VzIHdoZXJlIGN1ZSBlbnRyaWVzIGRvIG5vdCByZWxpYWJseQoJICBsZWFkIHRvIGluaXRpYWwga2V5ZnJhbWVzLgoJICBGaXhlcyAjNjE5ODE3LgoKMjAxMC0wNS0yNCAxNjowMjo1OCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXJibGVuZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3NjYWxlcmJvYi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS92ZmlyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmUuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZWJmZi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZldGZmLmM6CgkgIGRlaW50ZXJsYWNlOiBhdm9pZCBndGstZG9jIGNvbmZ1c2luZyBjb21tZW50cwoKMjAxMC0wNS0yMSAxMToyMTo1OCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzoKCSAgbWF0cm9za2FtdXg6IGFkanVzdCB1bml0IHRlc3QgdG8gbW9kaWZpZWQgYmVoYXZpb3VyCgoyMDEwLTA1LTIwIDE0OjMzOjQxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHVzZSB3cml0ZSBjYWNoaW5nIGFsc28gd2hlbiB3cml0aW5nIGJ1ZmZlciBkYXRhCgkgIFNwZWNpZmljYWxseSwgdGhpcyByZWR1Y2VzIHB1c2hpbmcgc2V2ZXJhbCBzbWFsbCBidWZmZXJzIGZvciBlYWNoCgkgIGRhdGEgYnVmZmVyIGFuZCBhbHNvIGF2b2lkcyBhIHNlZWsgZm9yIGVhY2ggYnVmZmVyIGFsdG9nZXRoZXIKCSAgKHRob3VnaCBhIHNlZWsgaXMgc3RpbGwgbmVlZGVkIGZvciBlYWNoIGNsdXN0ZXIpLgoJICBGaXhlcyAjNjE5MjczLgoKMjAxMC0wNS0yMCAxNDoyMzowNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBmaXggZWJtbCB3cml0ZSBjYWNoaW5nIHdpdGggYnl0ZXdyaXRlciBpbXBsZW1lbnRhdGlvbgoJICBBbHNvIGNhY2hlIGEgYml0IG1vcmUgZHVyaW5nIGhlYWRlciB3cml0aW5nLgoJICBGaXhlcyAjNjE5MjczLgoKMjAxMC0wNS0yMCAxNDowODo0MiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJICBtYXRyb3NrYW11eDogdXNlIGNvbnNpc3RlbnQgZGVidWcgY2F0ZWdvcnkgbmFtZSBmb3IgZWJtbHdyaXRlCgoyMDEwLTA1LTE4IDE0OjQ0OjE1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIG1hdHJvc2thZGVtdXg6IHVzZSBieXRlcmVhZGVyIGJhc2VkIEdzdEVibWxSZWFkIGFzIGEgaGVscGVyCgkgIC4uLiByYXRoZXIgdGhhbiBiYXNpbmcgb24gaXQgYnkgaW5oZXJpdGFuY2UuCgkgIEFsc28gdXNlIG1vcmUgY29tbW9uIGNvZGUgZm9yIHB1c2ggYW5kIHB1bGwgbW9kZS4KCSAgRml4ZXMgIzYxOTE5OC4KCSAgRml4ZXMgIzYxMTExNy4KCjIwMTAtMDYtMDEgMTU6NDc6MzIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogX2dldF9wYWRfdGVtcGxhdGUgcmVzdWx0IG5lZWRzIG5vIHVucmVmCgoyMDEwLTA1LTE4IDE5OjQyOjU4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkgIHBuZ2VuYzogU3VwcG9ydCA4IGJpdCBncmF5c2NhbGUKCSAgQWRkcyBzdXBwb3J0IHRvIDggYml0IGdyYXlzY2FsZSBpbnB1dAoKMjAxMC0wNS0xOCAxNDo0Njo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IEFkZHMgOGJpdCBncmF5c2NhbGUgc3VwcG9ydAoJICBBZGRzIGRlY29kaW5nIHN1cHBvcnQgZm9yIGpwZWcgaW1hZ2VzIGluIDggYml0IGdyYXlzY2FsZSBmb3JtYXQuCgoyMDEwLTA1LTE4IDAxOjU3OjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZ2VuYzogQWNjZXB0IGdyYXlzY2FsZSBhcyBpbnB1dAoJICBBZGRzIHZpZGVvL3gtcmF3LWdyYXlzY2FsZSAoOCBiaXQpIHN1cHBvcnQgdG8ganBlZ2VuYwoKMjAxMC0wNS0zMSAxMzozMDowNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogSW1wbGVtZW50IHNpbmtwYWQgR2V0Q2Fwc0Z1bmN0aW9uLgoJICBUaGlzIGFsbG93cyByZXR1cm5pbmcgb25seSB0aGUgZm9ybWF0cywgd2lkdGgsIGhlaWdodCwgZnJhbWVyYXRlCgkgIGFuZCBwaXhlbC1hc3BlY3QtcmF0aW8gdGhhdCBkb3duc3RyZWFtIGNhbiBzdXBwb3J0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIwMTQ4CgoyMDEwLTA1LTMxIDA3OjQ5OjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBEb24ndCBjb21wYXJlIHJ1bm5pbmcgdGltZXMgd2l0aCBzdHJlYW0gdGltZXMgd2hlbiBkb2luZyBRb1MKCjIwMTAtMDUtMjcgMjE6MDY6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJICBkZWludGVybGFjZTogRG9uJ3QgcmVjb25maWd1cmUgdGhlIGNhcHMgd2hlbiBjaGFuZ2luZyBwcm9wZXJ0aWVzCgkgIEZpeGVzIGJ1ZyAjNjE5ODQ4LgoKMjAxMC0wNS0yNiAxMzoxMzo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmg6CgkgIGFscGhhOiBBZGQgcHJvcGVydHkgdG8gYWxsb3cgcGFzc3Rocm91Z2ggbW9kZQoJICBUaGlzIHBhc3N0aHJvdWdoIG1vZGUgaXMgdXNlZCBpZiB0aGUgYWxwaGEgbWV0aG9kIGlzICJzZXQiCgkgIGFuZCB0aGUgYWxwaGEgdmFsdWUgaXMgMS4wLgoJICBGaXhlcyBidWcgIzYxNzUxMi4KCjIwMTAtMDUtMjUgMTU6MTY6MDYgKzEwMDAgIEFsZXhhbmRlciBLb2pldm5pa292IDxhbGV4YW5kZXJAa29qZXZuaWtvdi5jb20+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IHN1cHBvcnQgMjQtYml0IHdpZHRoCgkgIEZpeGVzICM2MTkwNDUKCjIwMTAtMDUtMjQgMjE6NTA6NTggKzEwMDAgIEFsZXhhbmRlciBLb2pldm5pa292IDxhbGV4YW5kZXJAa29qZXZuaWtvdi5jb20+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IHN1cHBvcnQgYXJiaXRyYXJ5IGJpdCBkZXB0aAoJICBQYXJ0aWFsbHkgZml4ZXMgIzYxOTA0NQoKMjAxMC0wNS0yNSAwNTozNjo0NiArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBmaXggZGVhZGxvY2sgaW50cm9kdWNlZCBieSB2aWRlbyBrZXlmcmFtZSBRb1MKCjIwMTAtMDUtMjMgMDk6MzI6MDggKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIG1hdHJvc2thZGVtdXg6IHNraXAgYnVmZmVycyBiZWZvcmUgYSBsYXRlIGtleWZyYW1lIChRb1MpCgkgIEJlZm9yZSwgdnA4ZGVjIGhhZCBubyBvcHRpb24gYnV0IHRvIGRlY29kZSBhbGwgZnJhbWVzIGV2ZW4gaWYgc29tZS9hbGwKCSAgb2YgdGhlbSB3b3VsZCBiZSBsYXRlLiBXaXRoIHRoaXMgY2hhbmdlLCBwZXJmb3JtYW5jZSB3aGVuIGtleWZyYW1lcyBhcmUKCSAgZnJlcXVlbnQgaXMgaGVscGVkIGEgZ3JlYXQgZGVhbC4gT24gbXkgVGhpbmtwYWQgWDYwcywgZGVjb2RpbmcgYSAyMCBzCgkgIDEwODBwIHN1bmZsb3dlciBlbmNvZGUgd2l0aCBrZXlmcmFtZXMgZXZlcnkgMTAgZnJhbWVzIHdlbnQgZnJvbSB0YWtpbmcKCSAgNDIgcyB3aXRoIDUgZnJhbWVzIHNob3duIHRvIDIxIHMgd2l0aCAxNSBmcmFtZXMgc2hvd24gKHN0aWxsIHNsb3cKCSAgZW5vdWdoIHRvIGNvdW50IGJ5IGhhbmQpLiBXaGVuIGtleWZyYW1lcyBhcmUgbW9yZSBzcGFyc2UsIHlvdSB3aWxsCgkgIHN0aWxsIGJlIGFibGUgdG8gY2F0Y2ggdXAgZXZlbnR1YWxseSwgYnV0IHRoZSByZXN1bHRzIHdvbid0IGJlIGFzCgkgIG5vdGljYWJsZS4KCjIwMTAtMDUtMTQgMTc6NTc6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXJwYWQuaDoKCSAgdmlkZW9taXhlcjogRG9uJ3QgbWl4IGlucHV0IHdpdGggZGlmZmVyZW50IHBpeGVsIGFzcGVjdCByYXRpb3MKCSAgRml4ZXMgYnVnICM2MTg1MzAuCgoyMDEwLTA1LTE3IDE5OjU0OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5hc206CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5jOgoJICBkZWludGVybGFjZTogQWRkIE1NWC8zRE5vdyBpbXBsZW1lbnRhdGlvbnMgb2YgZ3JlZWR5aCBmb3IgVVlWWQoKMjAxMC0wNS0xNyAxOToxNjo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYzoKCSAgZGVpbnRlcmxhY2U6IEZpeCBVWVZZIGltcGxlbWVudGF0aW9uIG9mIGdyZWVkeWggdG8gYmUgYWN0dWFsbHkgdXNlZAoKMjAxMC0wNS0xMSAxMTo0MzowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2dka19waXhidWYvTWFrZWZpbGUuYW06CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZzaW5rLmM6CgkqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6CgkgIGdka3BpeGJ1ZjogQWRkIGEgZ2RrcGl4YnVmMyBwbHVnaW4gdGhhdCB1c2VzIGdka3BpeGJ1ZjMKCjIwMTAtMDYtMDEgMTA6MDY6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbW1vbjoKCSogd2luMzIvY29tbW9uL2dzdHJ0cGJpbi1tYXJzaGFsLmM6CgkqIHdpbjMyL2NvbW1vbi9nc3RydHBiaW4tbWFyc2hhbC5oOgoJKiB3aW4zMi9jb21tb24vZ3N0dWRwLWVudW10eXBlcy5jOgoJKiB3aW4zMi9jb21tb24vZ3N0dWRwLW1hcnNoYWwuYzoKCSogd2luMzIvY29tbW9uL2dzdHVkcC1tYXJzaGFsLmg6CgkgIHdpbjMyOiBhZGQgbW9yZSBnZW5lcmF0ZWQgbWFyc2hhbCBhbmQgZW51bXR5cGUgZmlsZXMgdG8gd2luMzItdXBkYXRlCgoyMDEwLTA2LTAxIDA5OjI3OjAwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS5jOgoJICBSZXZlcnQgIm1hdHJvc2thOiBhZGQgdGVtcG9yYXJ5IHdlYm0gdHlwZWZpbmRlciIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBkMTQ4ZWMwYWQyMDUzYWJiMGMzOGZjNjgxYTg5NTMyOTI5ODUzODhmLgoJICBXZSBkZXBlbmQgb24gLWJhc2UgZ2l0IG5vdywgd2hpY2ggaGFzIGEgd2VibSB0eXBlZmluZGVyIGluIHRoZSB1c3VhbAoJICBwbGFjZS4KCjIwMTAtMDYtMDEgMDk6MjY6MTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBSZXZlcnQgImF2aW11eCwgZmx2bXV4LCBtYXRyb3NrYW11eDogZG9uJ3QgY3Jhc2ggaWYgdGFncyBhcnJpdmUgb24gbXVsdGlwbGUgaW5wdXQgcGFkcyBhdCB0aGUgc2FtZSB0aW1lIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDZhOTk4M2NkMjBjNDhiOTYzOTYyMjliM2Y5NGQwMjU0YTA1ZGRmNDguCgkgIFJlbHkgb24gbG9ja2luZyBkb25lIGluIEdzdFRhZ1NldHRlciBpbiBjb3JlIGdpdC4KCjIwMTAtMDYtMDEgMDk6MjM6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHJlcXVpcmUgY29yZS9iYXNlIGdpdAoJICBGb3IgV2ViTSB0eXBlZmluZGluZyBhbmQgR3N0VGFnc2V0dGVyIGZpeGVzLgoKMjAxMC0wNi0wMSAwOToxNzo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTAuMjMgPT09CgoyMDEwLTA1LTMwIDE0OjAzOjUzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4yMwoKMjAxMC0wNS0zMCAxNDowMjowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEwLTA1LTI5IDEwOjIzOjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IEZpeCBwb3NpdGlvbiBxdWVyeQoKMjAxMC0wNS0yOCAxNToxNDowNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2Evd2VibS1tdXguYzoKCSAgZG9jczogcmVtb3ZlIHVubmVjZXNzYXJ5IHZpZGVvcmF0ZSBlbGVtZW50IGZyb20gd2VibW11eCBleGFtcGxlIHBpcGVsaW5lCgoyMDEwLTA1LTI4IDEwOjQzOjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZ2VuYzogS2VlcCB2YXJpYWJsZXMgaW4gc2FuZSBzdGF0ZSBhZnRlciBfcmVzZXQKCSAgV2hlbiByZXNldGluZywga2VlcCAncm93JyB2YXJpYWJsZXMgYXQgYSBzYW5lIHN0YXRlIGFmdGVyCgkgIGZyZWVpbmcgdG8gYXZvaWQgaXQgYmVpbmcgZnJlZWQgYWdhaW4gb24gX3Jlc3luYyByZWFsbG9jCgkgIHdoZW4gdGhlIGVsZW1lbnQgaXMgcmV1c2VkLgoJICBGaXhlcyAjNjE5OTQzCgoyMDEwLTA1LTI3IDE4OjA4OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogRml4IGZsb2F0aW5nIHBvaW50IHRvIGludGVnZXIgY29udmVyc2lvbiBmb3IgdGhlIGFscGhhIHZhbHVlcwoJICBGaXhlcyBidWcgIzYxOTgzNS4KCjIwMTAtMDUtMjYgMDg6NTQ6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjIuMyBwcmUtcmVsZWFzZQoKMjAxMC0wNS0yNiAwMDozMzo1OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMC0wNS0yNSAxNTozNDoxMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGhhbmRsZSB0cnVuY2F0ZWQgaW5wdXQgZGF0YSBhdCBFT1MgaW4gcHVsbCBtb2RlCgkgIEZpeGVzICM2MTc3MzMuCgoyMDEwLTA1LTI2IDExOjU1OjEzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMzU3YjBkYiB0byBmZDdjYTA0CgoyMDEwLTA1LTI1IDIxOjE0OjA1ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFJvdW5kIHRpbWVzdGFtcCB1cCB3aGVuIHNjYWxpbmcgdG8gbW92IGZvcm1hdAoJICBGaXggdGltZXN0YW1wIHJvdW5kaW5nIHRvIGFsbG93IHRoZSBjb3JyZWN0IGluZGV4IHRvIGJlIGxvY2F0ZWQuCgkgIFRoZSBpc3N1ZSB3YXMgdGhhdCBzY2FsaW5nIGZyb20gR1N0cmVhbWVyIHRpbWUgZm9ybWF0IHRvIG1vdiB0aW1lIGZvcm1hdCB3YXMKCSAgcm91bmRpbmcgZG93biBjYXVzaW5nIHRoZSB0aW1lc3RhbXAgb2YgdGhlIG5ld3NlZ21lbnQgZXZlbnQgcmVjZWl2ZWQgYWZ0ZXIgYQoJICBmbHVzaGluZyBrZXlmcmFtZSBzZWVrIHRvIGZpbmQgdGhlIHNhbXBsZSBpbmRleCBiZWZvcmUgdGhlIG9uZSBpdCBzaG91bGQKCSAgY2F1c2luZyBmdXJ0aGVyIGJhY2t3YXJkIHNlZWtpbmcgdG8gdGhlIGtleWZyYW1lIHByaW9yIHVudGlsIG5vIHJvdW5kaW5nIGVycm9yCgkgIG9jY3VycmVkLgoJICBSb3VuZGluZyB1cCB3aGVuIHNjYWxpbmcgdG8gbW92IGZvcm1hdCBoYXMgdGhlIGRlc2lyZWQgZWZmZWN0LCBhbmQgaXQgaXMKCSAgbm90IGNsZWFyIHdoZXRoZXIganVzdCB0aGUgX3JvdW5kICgpIHZhcmlhbnQgd291bGQgYmUgc3VmZmljaWVudC4KCSAgRml4ZXMgYnVnICM2MTkxMDUKCjIwMTAtMDUtMjQgMTc6MjY6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBhdmltdXgsIGZsdm11eCwgbWF0cm9za2FtdXg6IGRvbid0IGNyYXNoIGlmIHRhZ3MgYXJyaXZlIG9uIG11bHRpcGxlIGlucHV0IHBhZHMgYXQgdGhlIHNhbWUgdGltZQoJICBUaGlzIGlzIGEgdGVtcG9yYXJ5IGZpeCBmb3IgdGhlIHJlbGVhc2Ugb25seS4KCSAgRml4ZXMgIzYxOTUzMy4KCjIwMTAtMDUtMjUgMTc6MDU6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgIHJ0cHRoZW9yYTogcmVtb3ZlIGRlbGl2ZXJ5LW1ldGhvZCBmcm9tIGNhcHMKCSAgV2UgY2FuIGFjY2VwdCBhbGwgZGVsaXZlcnkgbWV0aG9kcyBzbyBkb24ndCBhZHZlcnRpc2UgYW55dGhpbmcgb24gdGhlIGNhcHMgb3IKCSAgcGFyc2UgYW55dGhpbmcsIHdlIHdpbGwgaGFuZGxlIHdoYXRldmVyIHdlIHJlY2VpdmUuCgkgIEZpeGVzICM2MTg5NDAKCjIwMTAtMDUtMjUgMTU6NDA6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLmM6CgkgIG1hdHJvc2thOiBhZGQgdGVtcG9yYXJ5IHdlYm0gdHlwZWZpbmRlcgoJICBBZGQgd2VibSB0eXBlZmluZGVyIGp1c3QgZm9yIHRoZSByZWxlYXNlLCBzbyB3ZWJtIHdvcmtzIGZvcgoJICBwZW9wbGUgd2hvc2UgZGlzdHJvcyBkb24ndCBwYXRjaCBnc3QtcGx1Z2lucy1iYXNlIGFzIHdlbGwuCgkgIFdlJ2xsIHJlbW92ZSB0aGlzIGFnYWluIGFmdGVyIHRoZSByZWxlYXNlLgoKMjAxMC0wNS0yMyAxMToxNzoyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2Evd2VibS1tdXguYzoKCSAgZG9jczogYWRkIHNvbWUgcGlwZWxpbmUgZXhhbXBsZXMgdG8gd2VibW11eCBkb2NzCgoyMDEwLTA1LTIxIDEyOjI3OjA3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBkb2NzOiBhZGQgd2VibW11eCB0byBkb2NzCgoyMDEwLTA1LTIxIDEzOjAxOjMwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EuYzoKCSogZ3N0L21hdHJvc2thL3dlYm0tbXV4LmM6CgkgIG1hdHJvc2thOiBmaXggdXAgcGx1Z2luIGFuZCBlbGVtZW50IGRlc2NyaXB0aW9ucyBhIGJpdAoKMjAxMC0wNS0yMSAxMjo0NzowMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EuYzoKCSogZ3N0L21hdHJvc2thL3dlYm0tbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS93ZWJtLW11eC5oOgoJICBtYXRyb3NrYTogbW92ZSB3ZWJtbXV4IGludG8gb3duIHNvdXJjZSBmaWxlcwoJICBNYWtlcyB0aGluZ3MgZWFzaWVyIGZvciBndGstZG9jLgoKMjAxMC0wNS0yMSAxMjoyNjowNSArMDUwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlIHdpdGggbGF0ZXN0IGNoYW5nZXMKCjIwMTAtMDUtMjAgMjA6MDE6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thOiBSZW1vdmUgdGhlIGRvY3R5cGUgZW51bSwgaXQncyBub3QgbmVlZGVkIGFueW1vcmUKCjIwMTAtMDUtMjAgMTk6NTc6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIHdlYm1tdXg6IEFkZCBuZXcgd2VibW11eCBlbGVtZW50IHRoYXQgb25seSBzdXBwb3J0cyBtdXhpbmcgb2YgV2ViTQoJICAuLi5hbmQgcmVtb3ZlIHRoZSBkb2N0eXBlIHByb3BlcnR5IGZyb20gbWF0cm9za2FtdXggYWdhaW4uCgoyMDEwLTA1LTIwIDE3OjMxOjU5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6CgkgIG1hdHJvc2thbXV4OiB1bml0IHRlc3QgY2hlY2tzIHZlcnNpb24gMSBmaWxlcwoKMjAxMC0wNS0xOCAxNToyNzowNiAtMDQwMCAgVHJpc3RhbiBNYXR0aGV3cyA8dHJpc3RhbkBzYXQucWMuY2E+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgc3BlZXg6IGZpeCBsYXRlbmN5IHF1ZXJ5CgkgIFNwZWV4IHNob3VsZCByZXBvcnQgMzAgbXMgbGF0ZW5jeSBmb3IgbmFycm93YmFuZCBtb2RlLCAzNCBvdGhlcndpc2UuCgkgIEZpeGVzICM2MTkwMTgKCjIwMTAtMDUtMTggMjE6MDQ6MzIgKzA4MDAgIFBoaWxpcCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkgIGVibWxyZWFkOiBybSBmbG9hdGNhc3QuaCBpbmNsdWRlIChub3QgdXNlZCkKCjIwMTAtMDUtMTcgMDU6MzY6MDAgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBidW1wIGRlZmF1bHQgZG9jdHlwZSB2ZXJzaW9uIHRvIDIKCSAgSW4gdGhpcyBkYXkgYW5kIGFnZSB0aGlzIHNob3VsZCBiZSBzYWZlLiBUaGVyZSdzIG90aGVyd2lzZSBhIHJpc2sgcGVvcGxlCgkgIHdpbGwgYmUgY3JlYXRpbmcgdW5uZWNjZXNzYXJpbHkgYmlnIFdlYk0gZmlsZXMgYXMgdGhleSBjYW4ndCB1c2UKCSAgU2ltcGxlQmxvY2sgaW4gdjEuCgoyMDEwLTA1LTE3IDA1OjI3OjQ0ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2E6IGhhbmRsZSBtYXRyb3NrYSBhbmQgd2VibSBkb2N0eXBlIHZlcnNpb25zIGVxdWFsbHkKCSAgVGhlIG9yaWdpbmFsIHBsYW4gd2FzIHRvIGxldCBXZWJNIHYxIGJlIHRoZSBzYW1lIGFzIE1hdHJvc2thIHYyICh3aXRoCgkgIGV4dHJhIGNvbnN0cmFpbnRzKSwgYnV0IGZvciBzaW1wbGljaXR5IGl0IHdhcyBkZWNpZGVkIHRvIGhhbmRsZSB0aGUKCSAgdmVyc2lvbnMgZXF1YWxseSwgc3VjaCB0aGF0IGUuZy4gU2ltcGxlQmxvY2sgaXMgb25seSBhbGxvd2VkIGluIFdlYk0gdjIuCgoyMDEwLTA1LTEzIDEyOjEwOjU0ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFZlcmlmeSBsYWNlIHNpemUgaW4gX3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2sKCSAgRmFpbHVyZSB0byBkbyB0aGlzIGZvciBjb3JydXB0IGlucHV0IGNhbiBjYXVzZSBhIHN1YmJ1ZmZlciBiaWdnZXIKCSAgdGhhbiB0aGUgYWN0dWFsIGJ1ZmZlciB0byBiZSBjcmVhdGVkLCBxdWlja2x5IGxlYWRpbmcgdG8gc2VnZmF1bHQuCgkgIFRlc3QgY2FzZToKCSAgYnVnX3MyMjIwMDU3NTFfcjAuMDAxX19fX21lbWNweS53ZWJtCgoyMDEwLTA1LTEzIDEwOjIzOjEwICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIGVibWw6IGNydWRlIGhhY2sgdG8gYXZvaWQgY3Jhc2hpbmcgb24gdW5leHBlY3RlZCBtZXRhZGF0YQoJICBUaGUgY29tbWVudCBzYXlzIHRoaXMgY2Fubm90IGhhcHBlbiwgYnV0IGl0IGRpZCBhbmQgSSBkb24ndCBrbm93CgkgIHdoeS4gVGhpcyBpcyBub3QgdGhlIGNvcnJlY3QgZml4LCBuZWVkcyBpbnZlc3RpZ2F0aW9uLiBUZXN0IGNhc2U6CgkgIGJ1Z19zNTU1MDEwMDk0X3IwLjAwMDU6MC4wMDhfX19fSUFfX2dfYXNzZXJ0aW9uX21lc3NhZ2VfZXhwci53ZWJtCgoyMDEwLTA1LTEzIDA5OjE4OjU2ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJICBlYm1sOiBkb24ndCBtb2RpZnkgb3V0IHN0ciBpZiByZXR1cm5pbmcgYW4gZXJyb3IgaW4gX3JlYWRfYXNjaWkKCSAgVGhpcyBpcyBhIHJlZ3Jlc3Npb24gZnJvbSBBU0NJSSB2YWxpZGF0aW9uIGNoYW5nZXMuIFRlc3QgY2FzZToKCSAgYnVnX3M2Njg3NjM5MF9yMC4wMDFfX19fbWFsbG9jX3ByaW50ZXJyLndlYm0KCjIwMTAtMDUtMTIgMTM6MTY6MjggKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkgIGVibWw6IFZhbGlkYXRlIDctYml0IEFTQ0lJIGluIGdzdF9lYm1sX3JlYWRfYXNjaWkKCSAgVGhpcyB3YXMgdHJpZ2dlcmluZyBhbiBVVEYtOCBhc3NlcnRpb24gaW4gZ3N0X2NhcHNfc2V0X3NpbXBsZSBmb3IKCSAgY29ycnVwdCBmaWxlcyB3aXRoIGdhcmJhZ2UgYXMgY29kZWMgaWQuIFRlc3QgY2FzZToKCSAgZ3N0cmVhbWVyX2Vycm9yX3RyeWluZ190b19zZXRfaW52YWxpZF91dGY4X2FzX2NvZGVjX2lkLndlYm0KCSAgT2xkIGdzdF9lYm1sX3JlYWRfYXNjaWkgcmVuYW1lZCB0byBnc3RfZWJtbF9yZWFkX3N0cmluZywgYWxzbyB1c2VkIGJ5CgkgIGdzdF9lYm1sX3JlYWRfdXRmOC4gVW5saWtlIGZvciBVVEYtOCwgZmFpbHVyZSB0byB2YWxpZGF0ZSBpcyBhbiBlcnJvciwKCSAgYXMgZ3N0X2VibWxfcmVhZF9hc2NpaSBpcyB1c2VkIGZvciByZWFkaW5nIGRvY3R5cGUgYW5kIGNvZGVjIGlkIGFuZCB3ZQoJICBtaWdodCBqdXN0IGFzIHdlbGwgZ2l2ZSB1cCBlYXJseSBpbiB0aG9zZSBjYXNlcy4KCjIwMTAtMDUtMTIgMTQ6MzA6MTggKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogSWdub3JlIHVuZXhwZWN0ZWQgQ29kZWNTdGF0ZQoJICBCZWNhdXNlIEdzdE1hdHJvc2thVHJhY2tDb250ZXh0ICpzdHJlYW0gaXMgc2V0IHVwIGluIHRoZSBmaXJzdAoJICBTaW1wbGVCbG9jayBvciBCbG9jaywgYSByb2d1ZSBDb2RlY1N0YXRlIG90aGVyd2lzZSBjYXVzZXMgYSBzZWdmYXVsdCBvbgoJICBkZXJlZmVuY2luZyB0aGUgTlVMTCBwb2ludGVyLiBUZXN0IGNhc2U6CgkgIGJ1Z19zNTUwNjE2N19yMC4wMDFfX19fZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2sud2VibQoKMjAxMC0wNS0xMCAwNjowMDo0OSArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBBZGQgdmlkZW8vd2VibSBzaW5rIGNhcHMKCjIwMTAtMDUtMDkgMTk6NDY6NTEgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwQGZvb2xpcC5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBVc2UgU2ltcGxlQmxvY2sgZm9yIFdlYk0gd2hlbiBwb3NzaWJsZQoKMjAxMC0wNS0wOSAxOToyODo1OSArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBAZm9vbGlwLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBTdXBwb3J0ICJ3ZWJtIiBEb2NUeXBlCgoyMDEwLTA1LTA5IDEyOjM1OjEwICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcEBmb29saXAub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIG1hdHJvc2thbXV4OiByZW5hbWUgbWF0cm9za2FfdmVyc2lvbiB0byBkb2N0eXBlX3ZlcnNpb24KCjIwMTAtMDUtMDkgMTI6MDk6NTcgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwQGZvb2xpcC5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIG1hdHJvc2thbXV4OiBTdXBwb3J0ICJ3ZWJtIiBEb2NUeXBlCgoyMDEwLTA1LTEyIDE4OjM4OjQ4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQWRkIFZQOAoKMjAxMC0wNC0yNyAxNToyNjoxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBBZGQgc3VwcG9ydCBmb3IgT24yIFZQOAoJICAuLi5tYXRyb3NrYWRlbXV4IGF1dG9tYXRpY2FsbHkgc3VwcG9ydHMgaXQgdGhyb3VnaCBsaWJnc3RyaWZmLgoKMjAxMC0wNC0yNyAxNToyNTozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IEFkZCBzdXBwb3J0IGZvciBPbjIgVlA4CgkgIC4uLmF2aWRlbXV4IGF1dG9tYXRpY2FsbHkgc3VwcG9ydHMgaXQgdGhyb3VnaCBsaWJnc3RyaWZmLgoKMjAxMC0wNS0xNyAxNzoxNzowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZTogRG9uJ3QgbG9jayB0aGUgbWFpbmxvb3AgaW4gTlVMTAoKMjAxMC0wNS0xNSAyMToxNTo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogVXNlID0gaW5zdGVhZCBvZiA9PSBpbiBzaGVsbCBzY3JpcHRzIGZvciBlcXVhbGl0eSBjaGVja3MKCjIwMTAtMDUtMTQgMTg6MzM6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjIuMiBwcmUtcmVsZWFzZQoKMjAxMC0wNS0xNCAxODoyNDoxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDRkNjdiZDYgdG8gMzU3YjBkYgoKMjAxMC0wNS0xNCAxODoxNjo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICB0ZXN0czogZml4IGxlYWsgaW4gc291cGh0dHBzcmMgdW5pdCB0ZXN0CgkgIFVucmVmIHNlcnZlciBvYmplY3RzIHdoZW4gZG9uZS4gRml4ZXMgY2hlY2stdmFsZ3JpbmQuCgoyMDEwLTA1LTE0IDE3OjMwOjQwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZ2VuYzogZml4IHR3byBsZWFrcwoJICBEb24ndCBsZWFrIG90aGVyY2FwcyBvciBqcGVnZW5jIHJlZi4KCjIwMTAtMDUtMTMgMTM6MDE6MjYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBmaXggZG9jcwoJICBEb2N1bWVudGF0aW9uIGVycm9yIHNwb3R0ZWQgYnkgdG9ueSA8Y2FpY2FpMDExOSBhdCBnbWFpbC5jb20+CgkgIEZpeGVzICM2MTg0MTkKCjIwMTAtMDUtMTEgMTM6MTg6NDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSAgcnRwdGhlb3JhZGVwYXk6IG1ha2UgZGVsaXZlcnktbWV0aG9kIHBhcmFtZXRlciBvcHRpb25hbAoJICBJdCBwcm9iYWJseSB3aWxsIG5vdCBiZSBpbiB0aGUgZmluYWwgUkZDIGFzIGl0IGlzIG5vdCBpbiBSRkMgNTIxNSBmb3IgVm9yYmlzLgoJICBJZiB0aGVyZSBpcyBhIGNvbmZpZ3VyYXRpb24gc3BlY2lmaWVkLCBhc3N1bWUgaXQgaXMgaW4tbGluZSBhbmQgaWYgbm90aGluZyBpcwoJICBzcGVjaWZpZWQsIGFzc3VtZSBpdCBpcyBpbi1iYW5kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE4Mzg2CgoyMDEwLTA1LTEzIDEyOjE2OjU5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBpbmNyZWFzZSBhY2NlcHRhYmxlIG91dHB1dCBzaXplcwoJICBXZSBjYW4gcGVyZmVjdGx5IGRlY29kZSAxeDEgaW1hZ2VzIHNvIGxvd2VyIHRoZSBtaW4gd2lkdGggYW5kIGhlaWdodCB0byAxLgoJICBGaXhlcyAjNjE4MzkyCgoyMDEwLTA1LTEzIDExOjMwOjI3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5LmM6CgkgIGNlbHRwYXk6IGZpeCBxdWV1ZSBkdXJhdGlvbiBjYWxjdWxhdGlvbnMKCSAgRG9uJ3QgYmxpbmRseSBhZGQgdGhlIGR1cmF0aW9ucyBvZiBpbmNvbW1pbmcgYnVmZmVycyB0byB0aGUgdG90YWwgcXVldWVkCgkgIGR1cmF0aW9uIGJlY2F1c2UgaXQgbWlnaHQgYmUgaW52YWxpZC4gTWFyayB0aGUgdG90YWwgcXVldWVkIGR1cmF0aW9uIGludmFsaWQKCSAgd2hlbiB3ZSByZWNlaXZlIGFuIGludmFsaWQgaW5jb21taW5nIHRpbWVzdGFtcCBiZWNhdXNlIHRoYXQncyB3aGVuIHdlIGxvc2UgdHJhY2sKCSAgb2YgdGhlIHRvdGFsIHF1ZXVlZCBkdXJhdGlvbi4KCSAgRml4ZXMgIzYxODMyNAoKMjAxMC0wNS0xMCAxMToxNDozOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogZXh0cmFjdCBTUFMgYW5kIFBQUyBmcm9tIHByb3BlcnR5IHByb3ZpZGVkIHBhcmFtZXRlciBzZXQKCSAgLi4uIHNvIGl0IGNhbiBhbHNvIGJlIHJlZ3VsYXJseSBpbnNlcnRlZCBpbnRvIHRoZSBzdHJlYW0gaWYgc28gY29uZmlndXJlZC4KCSAgRml4ZXMgIzYxNzE2NC4KCjIwMTAtMDUtMTEgMjI6Mjg6MDggKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGFsbG93IHN3aXRjaGluZyB2aWV3cyBhdCBydW50aW1lLgoKMjAxMC0wNS0xMSAyMDoyNjozNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICBydHA6IGRpc3QgbWlzc2luZyBoZWFkZXIgZmlsZSB0byBmaXggbWFrZSBkaXN0Y2hlY2sKCjIwMTAtMDUtMTEgMTk6MDU6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkgIG9zczQ6IG1pbm9yIGNsZWFudXAKCSAgUmVtb3ZlIGZpeGVkIEZJWE1FLCBjaGFuZ2UgZmluYWxpc2UgdG8gZmluYWxpemUgZm9yIGNvbnNpc3RlbmN5LgoKMjAxMC0wNS0xMSAxOTowMTo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkgIGRvY3M6IGFkZCBvc3M0IGVsZW1lbnRzIHRvIGRvY3MKCjIwMTAtMDUtMTEgMTY6MDk6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIHBvOiBtb3ZlIG9zczQgc3RyaW5ncyBmcm9tIC1iYWQgdG8gLWdvb2QKCjIwMTAtMDUtMTEgMTY6MDg6MjEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkqIHBvL1BPVEZJTEVTLmluOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICBNb3ZlIG9zczQgcGx1Z2luIGZyb20gLWJhZCB0byAtZ29vZAoJICBIb29rIHVwIGJ1aWxkIGluZnJhc3RydWN0dXJlLCBkb2NzIGFuZCB0ZXN0cy4KCSAgRml4ZXMgIzYxNDMwNS4KCjIwMTAtMDQtMjkgMTM6MTg6NTggKzAxMDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ab3JhY2xlLmNvbT4KCgkqIHN5cy9vc3M0L29zczQtc2luay5jOgoJKiBzeXMvb3NzNC9vc3M0LXNpbmsuaDoKCSAgb3NzNHNpbms6IGltcGxlbWVudCBHc3RTdHJlYW1Wb2x1bWUgaW50ZXJmYWNlIGFuZCBhZGQgbXV0ZSBhbmQgdm9sdW1lIHByb3BlcnRpZXMKCSAgT1NTNCBzdXBwb3J0cyBwZXItc3RyZWFtIHZvbHVtZSBjb250cm9sLCBzbyBleHBvc2UgdGhpcyB1c2luZyB0aGUgcmlnaHQKCSAgQVBJLCBzbyB0aGF0IHBsYXliaW4yIGFuZCBhcHBsaWNhdGlvbnMgbGlrZSB0b3RlbSBjYW4gbWFrZSB1c2Ugb2YgaXQKCSAgKGluc3RlYWQgb2YgdXNpbmcgYSB2b2x1bWUgZWxlbWVudCBmb3Igdm9sdW1lIGNvbnRyb2wpLgoJICBGaXhlcyAjNjE0MzA1LgoKMjAxMC0wNC0wOCAxMDo0NTozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmM6CgkgIG9zczQ6IDgtYml0IFBDTSBhdWRpbyBjYXBzIGRvbid0IG5lZWQgYW4gZW5kaWFubmVzcyBmaWVsZAoKMjAxMC0wNC0wOCAxMDo0MDowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmM6CgkgIG9zczQ6IGRvbid0IGl0ZXJhdGUgdGhlIGZvcm1hdHMgdGFibGUgdHdpY2UgZm9yIGVhY2ggZW50cnkKCSAgV2hlbiBpdGVyYXRpbmcgdGhlIGZvcm1hdHMgdGFibGUsIHdlIGNhbiBqdXN0IHBhc3MgdGhlIHdob2xlCgkgIGVudHJ5IHRvIG91ciBoZWxwZXIgZnVuY3Rpb24sIHdoaWNoIGF2b2lkcyBpdGVyYXRpbmcgdGhlIHRhYmxlCgkgIGFnYWluIHRvIGZpbmQgdGhlIGVudHJ5IHN0cnVjdHVyZSBmcm9tIHRoZSBwYXNzZWQgZm9ybWF0IGlkLgoKMjAxMC0wMy0zMCAxMTo0MzowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmM6CgkgIG9zczQ6IGFsc28gYWNjZXB0IGZvcm1hdHMgbm90IG5hdGl2ZWx5IHN1cHBvcnRlZAoJICBBbHNvIGFjY2VwdCBmb3JtYXRzIHRoYXQgYXJlIG5vdCBuYXRpdmVseSBzdXBwb3J0ZWQgYnkgdGhlCgkgIGhhcmR3YXJlLCBPU1M0IGNhbiBjb252ZXJ0IHRoZW0gaW50ZXJuYWxseS4gTGlzdCB0aGUgbmF0aXZlCgkgIGZvcm1hdHMgZmlyc3QgaW4gdGhlIGNhcHMgdGhvdWdoLCB0byBleHByZXNzIG91ciBwcmVmZXJlbmNlCgkgIGZvciB0aGUgbmF0aXZlIGZvcm1hdHMuIFdlIG5lZWQgdGhpcyBpbiBvcmRlciB0byBzdXBwb3J0IHRoZQoJICBjYXNlIHByb3Blcmx5IHdoZXJlIHRoZSBhdWRpbyBoYXJkd2FyZSBzdXBwb3J0cyBvbmx5IGUuZy4KCSAgbGl0dGxlIGVuZGlhbiBQQ00sIGJ1dCB0aGUgaG9zdCBpcyBiaWcgZW5kaWFuLCBzaW5jZSBtYW55CgkgIGF1ZGlvIGVsZW1lbnRzIG9ubHkgc3VwcG9ydCBuYXRpdmUgZW5kaWFubmVzcyBhbmQgbWFrZSB0aGUKCSAgcmVhc29uYWJsZSBhc3N1bXB0aW9uIHRoYXQgYW55IGF1ZGlvc2luayB3aWxsIGJlIGFibGUgdG8KCSAgaGFuZGxlIGF1ZGlvIGluIG5hdGl2ZSBlbmRpYW5uZXNzLgoJICBCYXNlZCBvbiBwYXRjaCBieSBKZXJyeSBUYW4gPGplcnJ5LnRhbkBzdW4uY29tPgoJICBGaXhlcyAjNjE0MzE3LgoKMjAxMC0wMy0zMCAwMToxNDo1OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgIG9zczQ6IGFkZCBjb21tZW50IGZvciB0cmFuc2xhdG9ycwoJICBOb3QgdGhhdCB0aGF0IHdpbGwgbWFrZSB0aGVzZSBzdHJpbmdzIG11Y2ggYmV0dGVyLiBBbHNvIHJlbW92ZSBpMThuCgkgIG1hcmtlciB3aGVyZSBpdCBkb2Vzbid0IG1ha2Ugc2Vuc2UuCgoyMDEwLTAzLTIyIDE2OjEzOjEyICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgIG9zczQ6IFJlZmFjdG9yIGNvZGUgdG8gbWFrZSBpdCBsb29rIG1vcmUgbW9kZXJuCgkgIEEgc2lkZSBlZmZlY3QgaXMgdGhhdCBpdCBwYXNzZXMgLVdmb3JtYXQtbm9ubGl0ZXJhbCBhbmQgZG9lc24ndCByZWFkCgkgIGludmFsaWQgbWVtb3J5IGluIHNvbWUgY2FzZXMsIGxpa2Ugd2hlbiB0aGUgbWl4ZXIgdHJhY2sgY29udGFpbnMKCSAgYSAlIHNpZ24gb3IgdGhlcmUgaXMgYSBudW1iZXIgYnV0IG5vdCBhIGtub3duIG1peGVyIG5hbWUuCgoyMDEwLTAzLTIyIDE0OjA5OjI0ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgIG9zczQ6IEF2b2lkIGdfcXVhcmtfdG9fc3RyaW5nIChnX3F1YXJrX2Zyb21fc3RyaW5nICgpKSBtYWRuZXNzCgkgIFdlIHRvIHRoZSBzdHJkdXAgaW5zaWRlIGdzdF9vc3M0X21peGVyX2NvbnRyb2xfZ2V0X3RyYW5zbGF0ZWRfbmFtZSgpCgkgIGluc3RlYWQgb2YgaW4gdGhlIG9ubHkgY2FsbGVyLgoKMjAxMC0wMy0yMSAyMTozOToxOCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICBBZGQgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyB0byBjb25maWd1cmUgZmxhZ3MKCSAgQW5kIGZpeCBhbGwgd2FybmluZ3MKCjIwMTAtMDEtMjAgMTM6Mjk6NTIgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmcgYWJvdXQgdW51c2VkIHJldHVybiB2YWx1ZQoKMjAwOS0wOC0yMSAwMToxNzoxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9pY2xlcy90ZXN0LW9zczQuYzoKCSAgdGVzdHM6IGZpeCB0ZXN0LW9zczQgdG8gdHJlYXQgYW4gZW1wdHkgZGV2aWNlIG5hbWUgdGhlIHNhbWUgYXMgYSBOVUxMIG5hbWUKCjIwMDktMDctMTYgMTM6NTU6MTQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgb3NzNDogQXR0ZW1wdCB0byBmaXggYSBjb21waWxlciB3YXJuaW5nCgkgIERvbid0IHN0b3JlIGEgY29uc3QgZ2NoYXIgKiBpbiBhIG5vbi1jb25zdCBnY2hhciAqIGxvY2FsIHZhci4KCSAgQWxzbywgbWFrZSB0aGUgdHJhbnNsYXRpb24gc3RyaW5nIGZ1bmN0aW9uIHN0YXRpYyBzaW5jZSBpdCdzIG9ubHkKCSAgdXNlZCBpbiB0aGUgb25lIGZpbGUuCgoyMDA5LTA2LTEwIDE5OjIxOjIxICswMTAwICBHYXJyZXR0IEQnQW1vcmUgPGdhcnJldHQuZGFtb3JlQHN1bi5jb20+CgoJKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXItc2xpZGVyLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXItc3dpdGNoLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgb3NzNDogRW5oYW5jZW1lbnRzIHRvIHRoZSBtaXhlciBhbmQgYXVkaW8gb3V0cHV0CgkgIENvZGUgY2xlYW51cHMsIGdlbmVyYWwgaW1wcm92ZW1lbnRzLCBzdXBwb3J0IGZvciB0aGUKCSAgbmV3IG1peGVyIGZsYWdzIGluIGxhdGVzdCBnc3QtcGx1Z2lucy1iYXNlLgoJICBGaXhlczogIzU4NDI1MgoJICBQYXRjaCBCeTogQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoJICBQYXRjaCBCeTogR2FycmV0dCBEJ0Ftb3JlIDxnYXJyZXR0LmRhbW9yZUBzdW4uY29tPgoKMjAwOS0wNi0xOSAxNjoyMToyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgIE1ha2UgYnVpbGQgd2l0aG91dCB3YXJuaW5ncyB3aXRoIGRlYnVnZ2luZyBkaXNhYmxlZAoKMjAwOC0xMS0wNCAxMjo0MjozMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgLWJhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2FzcGRpZi9NYWtlZmlsZS5hbToKCSAgKiBleHQvYW1yd2IvTWFrZWZpbGUuYW06CgkgICogZXh0L2FwZXhzaW5rL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hcnRzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hcnRzZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXVkaW9maWxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9iejIvTWFrZWZpbGUuYW06CgkgICogZXh0L2NkYXVkaW8vTWFrZWZpbGUuYW06CgkgICogZXh0L2NlbHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2RjMTM5NC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGlyYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpcmVjdGZiL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXZ4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kdHMvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZhYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZhYWQvTWFrZWZpbGUuYW06CgkgICogZXh0L2dzbS9NYWtlZmlsZS5hbToKCSAgKiBleHQvaGVybWVzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9pdm9yYmlzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qcDJrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkgICogZXh0L2xjcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGliZmFtZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGlibW1zL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXBlZzJlbmMvTWFrZWZpbGUuYW06CgkgICogZXh0L21wbGV4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9tdXNlcGFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXVzaWNicmFpbnovTWFrZWZpbGUuYW06CgkgICogZXh0L215dGh0di9NYWtlZmlsZS5hbToKCSAgKiBleHQvbmFzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9uZW9uL01ha2VmaWxlLmFtOgoJICAqIGV4dC9vZmEvTWFrZWZpbGUuYW06CgkgICogZXh0L3BvbHlwL01ha2VmaWxlLmFtOgoJICAqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc2RsL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zaG91dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc25hcHNob3QvTWFrZWZpbGUuYW06CgkgICogZXh0L3NuZGZpbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdW5kdG91Y2gvTWFrZWZpbGUuYW06CgkgICogZXh0L3NwYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3dmZGVjL01ha2VmaWxlLmFtOgoJICAqIGV4dC90YXJraW4vTWFrZWZpbGUuYW06CgkgICogZXh0L3RoZW9yYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGltaWRpdHkvTWFrZWZpbGUuYW06CgkgICogZXh0L3R3b2xhbWUvTWFrZWZpbGUuYW06CgkgICogZXh0L3gyNjQvTWFrZWZpbGUuYW06CgkgICogZXh0L3hpbmUvTWFrZWZpbGUuYW06CgkgICogZXh0L3h2aWQvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FpZmZwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2J1ZmZlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYmF5ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NkeGFwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY2hhcnQvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NvbG9yc3BhY2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RjY3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmVzdGl2YWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmxhY3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkgICogZ3N0L2dhbWVzL01ha2VmaWxlLmFtOgoJICAqIGdzdC9oMjY0cGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbWl4bWF0cml4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tb2RwbHVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnMXN5cy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZzR2aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWd0c211eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L212ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbnNmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9udXZkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvb3ZlcmxheS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGFzc3Rocm91Z2gvTWFrZWZpbGUuYW06CgkgICogZ3N0L3BjYXBwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGxheW9uZGVtYW5kL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yYXdwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmVhbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRqcGVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zZHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NlbGVjdG9yL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zbW9vdGgvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Ntb290aHdhdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWVkL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zdGVyZW8vTWFrZWZpbGUuYW06CgkgICogZ3N0L3N1YmVuYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdHRhL01ha2VmaWxlLmFtOgoJICAqIGdzdC92YmlkZWMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvZHJvcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9zaWduYWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpcnR1YWxkdWIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZtbmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvYWNtZW5jL01ha2VmaWxlLmFtOgoJICAqIHN5cy9jZHJvbS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL2R2Yi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHhyMy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZmJkZXYvTWFrZWZpbGUuYW06CgkgICogc3lzL29zczQvTWFrZWZpbGUuYW06CgkgICogc3lzL3FjYW0vTWFrZWZpbGUuYW06CgkgICogc3lzL3F0d3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvdmNkL01ha2VmaWxlLmFtOgoJICAqIHN5cy93aW5pbmV0L01ha2VmaWxlLmFtOgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgLWJhZC4KCjIwMDgtMTAtMTIgMjE6NTI6MjcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgc3lzL29zczQvOiBBZGQgc29tZSBzcGFjZXMgaW4gdHJhbnNsYXRlYWJsZSBzdHJpbmdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgICogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkgICogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSAgQWRkIHNvbWUgc3BhY2VzIGluIHRyYW5zbGF0ZWFibGUgc3RyaW5ncy4KCSAgRml4ZXM6ICM1NTU5NjkgIzU1NTk2OCAjNTU1OTY1CgoyMDA4LTA4LTA3IDE2OjIwOjMwICswMDAwICBGcmVkZXJpYyBDcm96YXQgPGZjcm96YXRAbWFuZHJpdmEub3JnPgoKCSAgTWFrZSBzdXJlIGdldHRleHQgcmV0dXJucyB0cmFuc2xhdGlvbnMgaW4gVVRGLTggZW5jb2RpbmcgcmF0aGVyIHRoYW4gaW4gdGhlIGN1cnJlbnQgbG9jYWxlIGVuY29kaW5nICgjNTQ2ODIyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBGcmVkZXJpYyBDcm96YXQgPGZjcm96YXRAbWFuZHJpdmEub3JnPgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmM6IChwbHVnaW5faW5pdCk6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzogKGdzdF9kdmJzcmNfcGx1Z2luX2luaXQpOgoJICAqIHN5cy9vc3M0L29zczQtYXVkaW8uYzogKHBsdWdpbl9pbml0KToKCSAgTWFrZSBzdXJlIGdldHRleHQgcmV0dXJucyB0cmFuc2xhdGlvbnMgaW4gVVRGLTggZW5jb2RpbmcgcmF0aGVyCgkgIHRoYW4gaW4gdGhlIGN1cnJlbnQgbG9jYWxlIGVuY29kaW5nICgjNTQ2ODIyKS4KCjIwMDgtMDYtMTYgMDc6MzA6MzQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEZpbmFsIHJvdW5kIG9mIGRvYyB1cGRhdGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJICAqIHN5cy93aW5pbmV0L2dzdHdpbmluZXRzcmMuYzoKCSAgRmluYWwgcm91bmQgb2YgZG9jIHVwZGF0ZXMuCgoyMDA4LTA2LTEyIDE0OjQ5OjE4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBEbyBub3QgdXNlIHNob3J0X2Rlc2NyaXB0aW9uIGluIHNlY3Rpb24gZG9jcyBmb3IgZWxlbWVudHMuIFdlIGV4dHJhY3QgdGhlbSBmcm9tIGVsZW1lbnQgZGV0YWlscyBhbmQgdGhlcmUgd2lsbCBiZSB3YXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNkZWMuYzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkgICogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguYzoKCSAgKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6CgkgICogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICAqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmM6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgICogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkgICogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSAgRG8gbm90IHVzZSBzaG9ydF9kZXNjcmlwdGlvbiBpbiBzZWN0aW9uIGRvY3MgZm9yIGVsZW1lbnRzLiBXZSBleHRyYWN0CgkgIHRoZW0gZnJvbSBlbGVtZW50IGRldGFpbHMgYW5kIHRoZXJlIHdpbGwgYmUgd2FybmluZ3MgaWYgdGhleSBkaWZmZXIuCgkgIEFsc28gZml4aW5nIHVwIHRoZSBDaGFuZ2VMb2cgb3JkZXIuCgoyMDA4LTA2LTEyIDEzOjA2OjM3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9pY2xlcy90ZXN0LW9zczQuYzogSW5jbHVkZSBzdGRsaWIuaC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvdGVzdC1vc3M0LmM6CgkgIEluY2x1ZGUgc3RkbGliLmguCgoyMDA4LTA1LTIyIDE2OjMzOjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvaWNsZXMvOiBTbWFsbCBvc3M0IHRlc3QgdGhhdCBwcm9iZXMgZm9yIGF2YWlsYWJsZSBkZXZpY2VzIGFuZCByZXRyaWV2ZXMgdGhlaXIgY2FwcyBhbmQgbWl4ZXIgdHJhY2tzIGFuZCBhbGwgdGhhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvaWNsZXMvdGVzdC1vc3M0LmM6IChvcHRfc2hvd19taXhlcl9tZXNzYWdlcyksIChXQUlUX1RJTUUpLAoJICAoc2hvd19taXhlcl9tZXNzYWdlcyksIChwcm9iZV9taXhlcl90cmFja3MpLCAocHJvYmVfcGFkKSwKCSAgKHByb2JlX2RldGFpbHMpLCAocHJvYmVfZWxlbWVudCksIChtYWluKToKCSAgU21hbGwgb3NzNCB0ZXN0IHRoYXQgcHJvYmVzIGZvciBhdmFpbGFibGUgZGV2aWNlcyBhbmQgcmV0cmlldmVzCgkgIHRoZWlyIGNhcHMgYW5kIG1peGVyIHRyYWNrcyBhbmQgYWxsIHRoYXQuIEFsc28gYWxsb3dzIHRlc3Rpbmcgb2YKCSAgbWl4ZXIgY2hhbmdlIG1lc3NhZ2VzIG9uIHRoZSBidXMuCgoyMDA4LTA1LTIyIDE1OjE0OjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL29zczQvOiBNYWtlIGRldmljZS1uYW1lIHByb2JpbmcgaW4gTlVMTCBzdGF0ZSB3b3JrIGJldHRlciAoZS5nLiBmb3IgdGhlIGdub21lLWNvbnRyb2wtY2VudGVyIHNvdW5kIGNhcHBsZXQpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6IChnc3Rfb3NzNF9taXhlcl9vcGVuKToKCSAgKiBzeXMvb3NzNC9vc3M0LXByb3BlcnR5LXByb2JlLmM6CgkgIChnc3Rfb3NzNF9wcm9wZXJ0eV9wcm9iZV9maW5kX2RldmljZV9uYW1lKSwKCSAgKGdzdF9vc3M0X3Byb3BlcnR5X3Byb2JlX2ZpbmRfZGV2aWNlX25hbWVfbm9mZCk6CgkgICogc3lzL29zczQvb3NzNC1wcm9wZXJ0eS1wcm9iZS5oOgoJICAqIHN5cy9vc3M0L29zczQtc2luay5jOiAoZ3N0X29zczRfc2lua19nZXRfcHJvcGVydHkpOgoJICAqIHN5cy9vc3M0L29zczQtc291cmNlLmM6IChnc3Rfb3NzNF9zb3VyY2VfZ2V0X3Byb3BlcnR5KToKCSAgTWFrZSBkZXZpY2UtbmFtZSBwcm9iaW5nIGluIE5VTEwgc3RhdGUgd29yayBiZXR0ZXIgKGUuZy4gZm9yIHRoZQoJICBnbm9tZS1jb250cm9sLWNlbnRlciBzb3VuZCBjYXBwbGV0KS4KCjIwMDgtMDUtMDggMTk6MTY6MTcgKzAwMDAgIENsaXZlIFdyaWdodCA8Y2xpdmVfd3JpZ2h0QG50bHdvcmxkLmNvbT4KCgkgIHN5cy9vc3M0L29zczQtbWl4ZXItc2xpZGVyLmM6IEFwcGFyZW50bHkgbW9ubyBzbGlkZXJzIGhhdmUgdGhlIG1vbm8gdmFsdWUgcmVwZWF0ZWQgaW4gdGhlIHVwcGVyIGJpdHMsIHNvIG1hc2sgdGhvc2Ugby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IENsaXZlIFdyaWdodCA8Y2xpdmVfd3JpZ2h0IG50bHdvcmxkIGNvbT4KCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLXNsaWRlci5jOiAoZ3N0X29zczRfbWl4ZXJfc2xpZGVyX3VucGFja192b2x1bWUpOgoJICBBcHBhcmVudGx5IG1vbm8gc2xpZGVycyBoYXZlIHRoZSBtb25vIHZhbHVlIHJlcGVhdGVkIGluIHRoZSB1cHBlciBiaXRzLAoJICBzbyBtYXNrIHRob3NlIG91dCB3aGVuIHJlYWRpbmcgdGhlbS4gUHJvYmFibHkgbWFrZXMgdGhlIG1peGVyIGFwcGxldAoJICB3b3JrIHByb3Blcmx5IGluIHNvbWUgbW9yZSBjYXNlcy4KCjIwMDgtMDQtMTEgMDg6MTM6MjIgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgc3lzL29zczQvOiBGaXggYXJndW1lbnRzIGZvcm1hdCBpbiBkZWJ1ZyBzdGF0ZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0wNC0xMSAgSnVsaWVuIE1vdXR0ZSAgPGp1bGllbkBmbHVlbmRvLmNvbT4KCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLWVudW0uYzoKCSAgKGdzdF9vc3M0X21peGVyX2VudW1fZ2V0X3ZhbHVlc19sb2NrZWQpOgoJICAqIHN5cy9vc3M0L29zczQtc291cmNlLmM6IChnc3Rfb3NzNF9zb3VyY2VfZGVsYXkpOiBGaXggYXJndW1lbnRzCgkgIGZvcm1hdCBpbiBkZWJ1ZyBzdGF0ZW1lbnRzLgoKMjAwOC0wNC0wMiAyMDoxODo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIE9TU3Y0LiBNaXhlciBzdGlsbCBuZWVkcyBhIGJpdCBtb3JlIGxvdmUsIGJ1dCBldmVuIG1hZ2ljIGhhcyBpdHMgbGltaXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3M0L01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3M0L29zczQtYXVkaW8uYzoKCSAgKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmg6CgkgICogc3lzL29zczQvb3NzNC1taXhlci1lbnVtLmM6CgkgICogc3lzL29zczQvb3NzNC1taXhlci1lbnVtLmg6CgkgICogc3lzL29zczQvb3NzNC1taXhlci1zbGlkZXIuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLXNsaWRlci5oOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXItc3dpdGNoLmM6CgkgICogc3lzL29zczQvb3NzNC1taXhlci1zd2l0Y2guaDoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgICogc3lzL29zczQvb3NzNC1taXhlci5oOgoJICAqIHN5cy9vc3M0L29zczQtcHJvcGVydHktcHJvYmUuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXByb3BlcnR5LXByb2JlLmg6CgkgICogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkgICogc3lzL29zczQvb3NzNC1zaW5rLmg6CgkgICogc3lzL29zczQvb3NzNC1zb3VuZGNhcmQuaDoKCSAgKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJICAqIHN5cy9vc3M0L29zczQtc291cmNlLmg6CgkgIEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIE9TU3Y0LiBNaXhlciBzdGlsbCBuZWVkcyBhIGJpdCBtb3JlIGxvdmUsCgkgIGJ1dCBldmVuIG1hZ2ljIGhhcyBpdHMgbGltaXRzLgoKMjAxMC0wNS0xMSAxMDo1Mjo1OCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGltcGxlbWVudCB0aGUgeG92ZXJsYXkgaW50ZXJmYWNlLiBGaXhlcyAjNjE4MzQ5LgoKMjAxMC0wNS0xMSAxODo0MjozMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBwdXNoIGJhc2VkIHNlZWtpbmcKCSAgLi4uIHdoZXJlIGl0IGNvbWVzIGRvd24gdG8gdHJhbnNmb3JtaW5nIGluY29taW5nIEJZVEUgc2VnbWVudAoJICB0byBhIGNvcnJlc3BvbmRpbmcgVElNRSBzZWdtZW50LgoJICBBbHNvIGZpeGVzICM2MDk0MDUuCgoyMDEwLTA1LTExIDE0OjIzOjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgTW92ZSBpbWFnZWZyZWV6ZSBwbHVnaW4gZnJvbSAtYmFkIHRvIC1nb29kCgkgIEhvb2sgdXAgYnVpbGQgaW5mcmFzdHJ1Y3R1cmUsIGRvY3MgYW5kIHVuaXQgdGVzdCBmb3IgbmV3IHBsdWdpbi4KCSAgRml4ZXMgIzYxMzc4Ni4KCjIwMTAtMDUtMDUgMTI6MjM6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBTZXQgZml4ZWQgY2FwcyBvbiB0aGUgY29ycmVjdCBwYWQKCSAgVGhpcyBtYWtlcyB0aGUgc2luayBnZXRjYXBzIGZ1bmN0aW9uIGFjdHVhbGx5IHVzZWQgaW5zdGVhZCBvZiB1c2luZwoJICB0aGUgZml4ZWQgY2FwcyBmdW5jdGlvbiBmb3IgaXQuCgoyMDEwLTAzLTIxIDIxOjM5OjE4ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbWFnZWZyZWV6ZS5jOgoJICBBZGQgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyB0byBjb25maWd1cmUgZmxhZ3MKCSAgQW5kIGZpeCBhbGwgd2FybmluZ3MKCjIwMTAtMDMtMTUgMTE6NTQ6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBPbmx5IHN0YXJ0IHRoZSB0YXNrIGFmdGVyIGEgc2VlayBpZiBhIGJ1ZmZlciB3YXMgcmVjZWl2ZWQgYWxyZWFkeQoKMjAxMC0wMi0yOCAxNjowODoxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogQWRkIHNvbWUgdW5pdCB0ZXN0cwoKMjAxMC0wMi0yOCAxNjowNDozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IFNldCB1bmRlZmluZWQgZnJhbWVyYXRlIGluIHNpbmsgZ2V0Y2FwcyBmdW5jdGlvbgoKMjAxMC0wMi0yOCAxNTowMjowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IEltcGxlbWVudCByZXZlcnNlIHBsYXliYWNrIGFuZCBzZXQgYnVmZmVyIG9mZnNldHMKCjIwMTAtMDItMjcgMTc6MzM6MDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ltYWdlZnJlZXplL01ha2VmaWxlLmFtOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmg6CgkgIGltYWdlZnJlZXplOiBBZGQgc3RpbGwgZnJhbWUgc3RyZWFtIGdlbmVyYXRvciBlbGVtZW50CgoyMDEwLTA1LTExIDEzOjA3OjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvZ3N0ZGVidWcuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIE1vdmUgY2Fwc2ZpbHRlciBlbGVtZW50IGZyb20gLWJhZCB0byAtZ29vZAoJICBIb29rIHVwIG1vdmVkIGZpbGVzIHRvIHRoZSBidWlsZCBpbmZyYXN0cnVjdHVyZSBhbmQgZG9jcy4KCSAgRml4ZXMgIzYxNzczOS4KCjIwMTAtMDUtMDYgMTM6MTI6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc3NldHRlci5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmg6CgkgIGNhcHNzZXR0ZXI6IFNvbWUgbWlub3IgY2xlYW51cAoKMjAxMC0wMy0yMiAxNjo1NjowMyArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2Fwc3NldHRlci5jOgoJICBBZGQgLVdvbGQtc3R5bGUtZGVmaW5pdGlvbgoJICBhbmQgZml4IHRoZSB3YXJuaW5ncwoKMjAxMC0wMy0xOCAxNzozMDoyNiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc3NldHRlci5jOgoJICBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlscyA9PiBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUKCjIwMDktMTAtMDggMTk6NTE6MzEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2Fwc3NldHRlci5jOgoJICBjYXBzc2V0dGVyOiBhZGQgdW5pdCB0ZXN0CgoyMDA5LTA2LTI1IDE2OjQxOjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNzZXR0ZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc3NldHRlci5oOgoJICBjYXBzc2V0dGVyOiBpbXBvcnQgZWxlbWVudCBpbnRvIC1iYWQKCjIwMTAtMDUtMTEgMTI6MDY6MTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBjaGVjayB0aGF0IHBhZHMgaGF2ZSBiZWVuIG5lZ290aWF0ZWQKCSAgQWxzbyBzZXQgZmNjX2hhbmRsZXIgZmllbGQgaW4gYXVkaW8gc3RyZWFtIGhlYWRlci4KCSAgRml4ZXMgIzYxODM1MS4KCjIwMTAtMDUtMTAgMTg6MzM6MDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggcGFydGlhbCBwYXJzaW5nIG9mIGN0dHMgdGFibGUKCSAgRml4ZXMgIzYxNjUxNi4KCjIwMTAtMDUtMTAgMTg6MzI6MTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBjbGVhbnVwIGEgY29tbWVudCBhbmQgYWRkIHNvbWUgZGVidWcgYW5kIGNvbmRpdGlvbmFsIGNvbXBpbGF0aW9uCgoyMDEwLTA1LTExIDEwOjAxOjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBDaGVjayBmb3IgR1RLKyAzLjAgYW5kIGlmIGl0J3Mgbm90IGF2YWlsYWJsZSBmb3IgR1RLKyAyLjAKCjIwMTAtMDUtMTAgMjI6MTE6MTAgKzAyMDAgIEphbiBVcmJhxYRza2kgPHd1bGN6ZXJAd3VsY3plci5vcmc+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IG9ubHkgc3RvcmUgdGhlIGxhc3QgYnVmZmVyIHRpbWVzdGFtcCBpZiBpdCdzIHZhbGlkCgkgIEZpeGVzIGJ1ZyAjNjE4MzA1CgoyMDEwLTAxLTA4IDIyOjEzOjU5IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogUmUtc2VuZCBTUFMvUFBTIHdoZW4gcmVxdWVzdGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDY2ODkKCjIwMTAtMDUtMDcgMTc6MDk6MTYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IGZpeCB0eXBvIGluIGRlYnVnIG1lc3NhZ2UKCjIwMTAtMDUtMDcgMTU6NDI6MjMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuaDoKCSAgcnRwdGhlb3JhcGF5OiBhZGQgY29uZmlnLWludGVydmFsIHBhcmFtZXRlciB0byByZS1pbnNlcnQgY29uZmlnIGluIHN0cmVhbQoJICBBZGQgYSBuZXcgY29uZmlnLWludGVydmFsIHByb3BlcnR5IHRvIGluc3RydWN0IHRoZSBwYXlsb2FkZXIgdG8gaW5zZXJ0CgkgIGNvbmZpZ3VyYXRpb24gaGVhZGVycyBhdCBwZXJpb2RpYyBpbnRlcnZhbHMgaW4gdGhlIHN0cmVhbQoJICAod2hlbiBhIGtleWZyYW1lIGlzIGNvdW50ZXJlZCkuCgoyMDEwLTA1LTA3IDE1OjMxOjAzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSAgcnRwdGhlb3JhZGVwYXk6IGZpeCBpbi1iYW5kIGNvbmZpZ3VyYXRpb24gcGFyc2luZwoJICBBbHNvIG1ha2UgY29uZmlndXJhdGlvbiBoZWFkZXIgcGFyc2luZyBhIGJpdCBtb3JlIHJlbGF4ZWQgd2l0aCByZXNwZWN0CgkgIHRvIGxlbmd0aCBmaWVsZCBpbnRlcnByZXRhdGlvbi4KCjIwMTAtMDUtMDcgMTU6MzA6MzAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJICBydHB2b3JiaXNkZXBheTogZml4IGluLWxpbmUgY29uZmlndXJhdGlvbiBwYXJzaW5nCgkgIEFsc28gbWFrZSBjb25maWd1cmF0aW9uIGhlYWRlciBwYXJzaW5nIGEgYml0IG1vcmUgcmVsYXhlZCB3aXRoIHJlc3BlY3QKCSAgdG8gbGVuZ3RoIGZpZWxkIGludGVycHJldGF0aW9uLgoKMjAxMC0wNS0wNCAxNjo1NzozNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICBydHB0aGVvcmFwYXk6IGRvIG5vdCBkaXNjYXJkIGRvd25zdHJlYW0gZmxvdyByZXR1cm4KCjIwMTAtMDUtMDQgMTY6NTc6MTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgcnRwdGhlb3JhcGF5OiByZWZhY3RvciBidWZmZXIgcGF5bG9hZGluZwoKMjAxMC0wNS0wNyAyMDo0MTowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXJibGVuZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3NjYWxlcmJvYi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3ZmaXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlYmZmLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmV0ZmYuYzoKCSAgZGVpbnRlcmxhY2U6IEFkZCBzdXBwb3J0IGZvciBVWVZZCgoyMDEwLTA1LTA3IDE5OjA2OjM1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBmaXggcmV0dXJuIHZhbHVlCgoyMDEwLTA1LTA3IDE5OjAyOjIxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBkb24ndCBsZWFrIHRoZSBzZXNzaW9uCgoyMDEwLTA1LTA3IDE4OjU5OjQyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwOiBjb25maWd1cmUgYmFuZHdpZHRoIHByb3BlcnRpZXMgaW4gdGhlIHNlc3Npb24KCjIwMTAtMDUtMDcgMTg6NTg6NTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGFkZCBwcm9wZXJ0aWVzIHRvIGNvbmZpZ3VyZSB0aGUgYmFuZHdpZHRoCgkgIEFkZCBwcm9wZXJ0aWVzIHRvIHByb3h5IHRoZSBiYW5kd2lkdGggY29uZmlndXJhdGlvbiB0byB0aGUgc2Vzc2lvbiBvYmplY3QuCgoyMDEwLTA1LTA3IDE4OjU3OjEzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IGFkZCBwcm9wZXJ0aWVzIHRvIGNvbmZpZ3VyZSBiYW5kd2lkdGhzCgkgIEFkZCBwcm9wZXJ0aWVzIHRvIGNvbmZpZ3VyZSB0aGUgc2VuZGVyIGFuZCByZWNlaXZlciBiYW5kd2lkdGhzLgoJICBDb25maWd1cmUgdGhlIGJhbmR3aWR0aHMgYmVmb3JlIGNhbGN1bGF0aW5nIHRoZSBSVENQIHRpbWVvdXQgd2hlbiB3ZSBuZWVkIHRvLgoKMjAxMC0wNS0wNyAxODo1NjozMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkgIHJ0cHN0YXRzOiBhZGQgc29tZSBkZWJ1ZyBpbmZvCgoyMDEwLTA1LTA3IDE4OjU1OjM0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBzbWFsbCBjbGVhbnVwcwoKMjAxMC0wNS0wNyAxNjo1NToxMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIHJ0cHN0YXRzOiBtYWtlIGJhbmR3aWR0aHMgbW9yZSBjb25maWd1cmFibGUKCSAgQWRkIGEgbWV0aG9kIHRvIGNvbmZpZ3VyZSB0aGUgdmFyaW91cyBiYW5kd2lkdGhzIGluIHRoZSBzZXNzaW9uLgoKMjAxMC0wNS0wNyAxMzozMjozMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogaGFuZGxlIE5PTkUgUlRDUCBpbnRlcnZhbHMKCSAgUHJlcGFyZSBmb3IgaGFuZGxpbmcgUlRDUCByZXBvcnRpbmcgaW50ZXJ2YWxzIG9mIEdTVF9DTE9DS19USU1FX05PTkUsIHdoaWNoCgkgIG1lYW5zIGRvbid0IHNlbmQgUlRDUCBhdCBhbGwuCgoyMDEwLTA1LTA3IDEyOjUxOjA1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGZhbGwgYmFjayB0byBTRFAgcG9ydHMgaW5zdGVhZCBvZiBzZXJ2ZXJfcG9ydAoJICBJbiBtdWx0aWNhc3QsIGZhbGwgYmFjayB0byB0aGUgcG9ydHMgaW4gdGhlIFNEUCBpbnN0ZWFkIG9mIHRoZSBzZXJ2ZXJfcG9ydAoJICBhdHRyaWJ1dGUgYXMgdGhpcyBpcyBtb3JlIGluIGxpbmUgd2l0aCB0aGUgUkZDLgoKMjAxMC0wNS0wNyAxMjoyNDo1MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcmVmYWN0b3IgY29sbGVjdGluZyB0aGUgdHJhbnNwb3J0IGluZm8KCSAgTWFrZSBhIG1ldGhvZCB0byBjb2xsZWN0IHRoZSBwb3J0cyBhbmQgZGVzdGluYXRpb24gYWRkcmVzcy4KCjIwMTAtMDUtMDcgMTE6Mjg6MzYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGhhbmRsZSBzZXJ2ZXJzIHRoYXQgc2VuZCBicm9rZW4gVHJhbnNwb3J0cwoJICBIYW5kbGUgc2VydmVycyB0aGF0IHNlbmQgdGhlaXIgcG9ydCBwYWlycyB3aXRoIHRoZSB3cm9uZyBuYW1lLgoJICBGaXhlcyAjNjE3NTM3CgoyMDEwLTA1LTA2IDE2OjUyOjI2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IHVzZSB0aGUgU0RQIGNvbm5lY3Rpb24gaW5mbyBpbiBtdWx0aWNhc3QKCSAgUGFyc2UgdGhlIGNvbm5lY3Rpb24gaW5mbyBmcm9tIHRoZSBTRFAuCgkgIFdoZW4gd2UgbmVlZCB0byBjb25maWd1cmUgdGhlIG11bHRpY2FzdCBkZXN0aW5hdGlvbiwgZmFsbCBiYWNrIHRvIHRoZSBTRFAKCSAgY29ubmVjdGlvbiBpbmZvIHdoZW4gdGhlIHRyYW5zcG9ydCBkaWQgbm90IHNwZWNpZnkgYSBkZXN0aW5hdGlvbiBhbmQgdHRsLgoJICBGaXhlcyAjNjE3NTM3CgoyMDEwLTA1LTA2IDE1OjQyOjM4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSAgZ29vbSxtb25vc2NvcGU6IHRydW5jYXRlIG93biBjYXBzLCBpbnN0ZWFkIG9mIGNvcHlpbmcgYW5kIHVzaW5nIHRoZSBmaXJzdCBvbmx5CgkgIFdlIGdvdCB0aGUgY2FwcyBmcm9tIGFuIGludGVyc2VjdCwgaXQgaXMgb3VyIG93biwgaGVuY2Ugd2UgY2FuIHRydW5jYXRlIGl0LgoKMjAxMC0wNS0wNiAxNTo0MDozMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiByZWZsb3cgdG8gdHJ1bmNhdGUgY2FwcyBqdXN0IG9uY2UKCSAgV2UgZ2V0IHdyaXRhYmxlIGNwYXMgZnJvbSB0aGUgaW50ZXJzZWN0aW9uICh1bmxlc3MgaXQgZmFpbGVkKS4gQXMgd2UgdHJ1bmNhdGUKCSAgdGhvc2UgYW55d2F5LCB3ZSBkb24ndCBuZWVkIHRvIG1hbnlhbHkgY29weSB0aGUgZmlyc3Qgc3RydWN0dXJlLgoKMjAxMC0wNS0wNiAxNTozOTozMSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkgIGdka3BpeGJ1ZjogZG9uJ3QgbGVhayB0ZW1wbGF0ZSBjYXBzCgoyMDEwLTA1LTA2IDE1OjM4OjM1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJICBhdXRve2F1ZGlvLHZpZGVvfXtzcmMsc2lua306IHVzZSBjYW5faW50ZXJzZWN0IHRvIGF2b2lkIGEgY2FwcyBjb3B5CgoyMDEwLTA0LTI3IDEzOjM2OjM1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiB0ZWxsIHdoYXQgd2UgY2FuIGRvCgkgIEFueS1jYXBzIGFyZSBiYWQuIElmIGFwcHMgc2NhbiB0aGUgcmVnaXN0cnksIHRoZXknZCBsaWtlIHRvIGtub3cgd2hhdCB3ZSBjYW4KCSAgb3V0cHV0LgoKMjAxMC0wNC0yNyAxMzo0MzoyOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBhbHNvIGxpZnQgdGhlIGFyYml0cmFyeSByZXN0cmljdGlvbnMgZm9yIHdpZHRoIGFuZCBoZWlnaHQKCSAgVGhpcyB3YXMgYWxyZWFkeSBkb25lIGZvciBqcGVnZGVjLgoKMjAxMC0wNS0wNiAxNDowMzoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IEFsbG9jYXRlL2ZyZWUgUEEgbWFpbmxvb3AgZHVyaW5nIHN0YXRlIGNoYW5nZXMKCSAgLi4uYWxzbyBkZXN0cm95IHRoZSBzdHJlYW0gYW5kIGNvbnRleHQgZHVyaW5nIHN0YXRlIGNoYW5nZXMuCgoyMDEwLTA1LTA2IDEzOjU3OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBBbGxvY2F0ZSBhbmQgZnJlZSB0aGUgY3VzdG9tIGNsb2NrIGluIE5VTEw8LT5SRUFEWQoKMjAxMC0wNS0wNiAxMzo1MTo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogQ3JlYXRlIGFuZCBmcmVlIHRoZSBQQSBtYWlubG9vcCBpbiBOVUxMLT5SRUFEWS9SRUFEWS0+TlVMTAoJICBUaGlzIGZpeGVzIGEgcmFjZSBjb25kaXRpb24sIHdoZW4gc3RvcHBpbmcgdGhlIG1haW5sb29wIGR1cmluZyBmaW5hbGl6YXRpb24KCSAgaXMgZG9uZSBmcm9tIGEgbWFpbmxvb3AgY2FsbGJhY2suCgkgIEZpeGVzIGJ1Z3MgIzYxNDc2NSBhbmQgIzU5MDY2Mi4KCjIwMTAtMDUtMDUgMTk6MzU6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBNYWtlIHNlbGVjdGlvbiBvZiBhIHNpbmtwYWQgbnVtYmVyIHRocmVhZHNhZmUKCjIwMTAtMDUtMDUgMTc6Mzk6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHkuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXJibGVuZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3NjYWxlcmJvYi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3ZmaXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlYmZmLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmV0ZmYuYzoKCSAgZGVpbnRlcmxhY2U6IEFkZCBzdXBwb3J0IGZvciBhbGwgY29tbW9uIFJHQiBmb3JtYXRzCgoyMDEwLTA1LTA1IDE2OjA2OjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5LmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5hc206CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvc2NhbGVyYm9iLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdmZpci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmViZmYuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZXRmZi5jOgoJICBkZWludGVybGFjZTogQWRkIHN1cHBvcnQgZm9yIEFZVVYKCjIwMTAtMDUtMDQgMTY6MzQ6MjcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IG1ha2Ugc2V0dXAgdXJsIGluIGEgc21hcnRlciB3YXkKCSAgTWFrZSBzdXJlIHdlIGFsd2F5cyBzZXBhcmF0ZSB0aGUgYmFzZSBhbmQgY29udHJvbCB1cmwgcGFydHMgd2l0aCBhIC8gd2hlbgoJICBjcmVhdGluZyB0aGUgc2V0dXAgdXJsLgoKMjAxMC0wNS0wNCAxNjowNDozOSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGhhbmRsZSBTRUVLSU5HIHF1ZXJpZXMuCgoyMDEwLTA1LTA0IDExOjEzOjQ1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuaDoKCSAgcnRwbXA0dnBheTogYWRkIGNvbmZpZy1pbnRlcnZhbCBwYXJhbWV0ZXIgdG8gcmUtaW5zZXJ0IGNvbmZpZyBpbiBzdHJlYW0KCSAgQWRkIGEgbmV3IGNvbmZpZy1pbnRlcnZhbCBwcm9wZXJ0eSB0byBpbnN0cnVjdCB0aGUgcGF5bG9hZGVyIHRvIGluc2VydAoJICBjb25maWcgKFZPU0gsIFZPUywgZXRjKSBhdCBwZXJpb2RpYyBpbnRlcnZhbHMgaW4gdGhlIHN0cmVhbQoJICAod2hlbiBhIEdPUCBvciBWT1AtSSBpcyBlbmNvdW50ZXJlZCkuCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IDxtYXJjLmxlZW1hbiBhdCBnbWFpbC5jb20+CgkgIEZpeGVzICM2MDc0NTIuCgoyMDEwLTA1LTAzIDEzOjI2OjMyICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogbW92ZSBzb21lIGluaXRpYWxpemF0aW9uIGNvZGUgZnJvbSBjaGFuZ2Vfc3RhdGUgdG8gX2luaXQuCgkgIFNldCAtPmFjdGl2ZSB0byBUUlVFIGluIF9pbml0IHNvIGl0IGNhbiBiZSBzZXQgdG8gRkFMU0UgYWZ0ZXIgY3JlYXRpbmcgdGhlCgkgIGppdHRlcmJ1ZmZlciBhbmQgaXQgd29uJ3QgYmUgbWlzdGFrZW5seSByZXNldCB0byBUUlVFIGluIHRoZSBjaGFuZ2Vfc3RhdGUKCSAgZnVuY3Rpb24uCgkgIFRoaXMgaXMgbmVlZGVkIHRvIHN0YXJ0IHRoZSBqaXR0ZXJidWZmZXIgYXMgaW5hY3RpdmUgd2hlbiBydHBiaW4gaXMgYnVmZmVyaW5nLgoKMjAxMC0wNS0wMyAxMTo1Njo1OCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGZpeCBhIGJ1ZyBoYW5kbGluZyBCVUZGRVJJTkcgbWVzc2FnZXMuCgkgIElmIGEgc2Vzc2lvbiBleGlzdHMgYnV0IGhhcyBubyBzdHJlYW1zLCBzZXQgdGhlIG1pbiBidWZmZXJpbmcgcGVyY2VudCB0byAwCgkgIHNpbmNlIGl0IG1lYW5zIHRoYXQgd2UgaGF2ZW4ndCByZWNlaXZlZCBhbnl0aGluZyBmb3IgdGhhdCBzZXNzaW9uIHlldC4KCjIwMTAtMDUtMDMgMTE6NTE6MzcgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiB3aGVuIGEgc3RyZWFtIGlzIGNyZWF0ZWQsIHBhdXNlIHRoZSBqaXR0ZXJidWZmZXIgaWYgcnRwYmluIGlzIGJ1ZmZlcmluZy4KCjIwMTAtMDUtMDMgMTE6MjM6NTkgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBmaXggYSBidWcgY2FsY3VsYXRpbmcgc3RyZWFtIG9mZnNldHMuCgoyMDEwLTA1LTAxIDE0OjIwOjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBtYXRyb3NrYW11eDogV3JpdGUgcHJldmlvdXMgY2x1c3RlcidzIHNpemUKCSAgVGhpcyBpcyB1c2VmdWwgZm9yIGJhY2t3YXJkcyBwbGF5YmFjaywgd2hpY2ggc2hvdWxkIGJlIGltcGxlbWVudGVkCgkgIGluIG1hdHJvc2thZGVtdXggYXQgc29tZSBwb2ludC4KCjIwMTAtMDUtMDEgMTQ6MTU6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFNldCBpbnRlcmxhY2VkIGZsYWcgaW4gdGhlIGNhcHMgaWYgdGhlIGZsYWcgaXMgc2V0IGluIHRoZSBNYXRyb3NrYSBmaWxlCgoyMDEwLTA1LTAxIDE0OjEyOjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IFdyaXRlIGludGVybGFjZWQgZmxhZyBpZiB0aGUgaW5wdXQgdmlkZW8gY29udGVudCBpcyBpbnRlcmxhY2VkCgkgIFVuZm9ydHVuYXRlbHkgTWF0cm9za2EgaGFzIG5vIHdheSB0byBzcGVjaWZ5IFRGRiBhbmQgZnJpZW5kcy4uLgoKMjAxMC0wNS0wMSAxMToyNToyNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSAgcnRwOiBmaXggcHJpbnRmIGZvcm1hdCBvZiBzb21lIGRlYnVnIG1lc3NhZ2VzCgoyMDEwLTA1LTAxIDExOjA2OjUzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYTogaW5pdCB2YXJpYWJsZSB0byBhdm9pZCBjb21waWxlciB3YXJuaW5nIG9uIE9TWAoJICBGaXhlcyAoYm9ndXMpICInb2Zmc2V0JyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24iCgkgIHdhcm5pbmcgb24gYnVpbGQgYm90IChhbHNvIHNwb3R0ZWQgYnkgcGhpbG4pLgoKMjAxMC0wNC0zMCAxNzoxOTo0NCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFVZVlkgaXMgNDoyOjIsIG5vdCA0OjI6MAoKMjAxMC0wNC0zMCAyMjoyMjoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkgIHB1bHNlOiBEb24ndCBjb21wYXJlIHZhbHVlcyBvZiB0d28gZGlmZmVyZW50IGVudW0gdHlwZXMKCjIwMTAtMDQtMzAgMjI6MTM6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBNYWtlIGF1dG9tYXRpYyBkZXRlY3Rpb24gb2YgaW50ZXJsYWNpbmcgdGhlIGRlZmF1bHQKCSAgUHJldmlvdXNseSAiZm9yY2UgZGVpbnRlcmxhY2luZyIgd2FzIHRoZSBkZWZhdWx0LCB3aGljaCBpcyBhIG5vdCB2ZXJ5CgkgIHNlbnNpYmxlIGRlZmF1bHQgZm9yIHRoZSBub3JtYWwgdXNlIGNhc2Ugd2hlcmUgZGVpbnRlcmxhY2Ugc2hvdWxkIGFjdAoJICBpbiBwYXNzdGhyb3VnaCBtb2RlIHVubGVzcyBpbnRlcmxhY2VkIGNvbnRlbnQgaXMgcHJlc2VudC4KCjIwMTAtMDQtMjkgMTY6MjY6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkgIGpwZWdkZWM6IG9wdGltaXNlIGJ1ZmZlciBzY2FubmluZwoJICBTcGVjaWZpY2FsbHksIHdoZW4gbmVlZGluZyBtb3JlIGRhdGEsIGRvIG5vdCByZXNjYW4gZnJvbSBzdGFydCBuZXh0IHRpbWUKCSAgYXJvdW5kLCBidXQgcmVzdW1lIGZyb20gbGFzdCBwb3NpdGlvbi4KCSAgU2VlIGFsc28gIzU4MzA0Ny4KCjIwMTAtMDQtMjkgMTU6Mzg6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBkaXNyZWdhcmQgc3VwZXJmbHVvdXMgbGluZXMgd2hlbiBpbmRpcmVjdCBkZWNvZGluZwoKMjAxMC0wNC0yNyAxNTo0NDozOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSAganBlZ2RlYzogYWRkIHN1cHBvcnQgZm9yIFJHQiBhbmQgZ3JheXNjYWxlIGNvbG9yIHNwYWNlCgkgIEFsc28gcmVmYWN0b3Igc3JjIGNhcHMgbmVnb3RpYXRpb24gYW5kIHNldHRpbmcuCgoyMDEwLTA0LTI3IDEyOjE5OjIyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL01ha2VmaWxlLmFtOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuaDoKCSAganBlZ2VuYzogc3VwcG9ydCBtb3JlIGNvbG91ciBzcGFjZXMgYW5kIHNvbWUgY2xlYW51cHMKCjIwMTAtMDQtMzAgMTI6NDc6MDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBtb3JlIGdlbmVyaWMgc2luayBnZXRjYXBzCgoyMDEwLTA0LTMwIDEyOjQyOjQyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogbW9yZSBzYW5pdHkgY2hlY2tzIG9uIGlucHV0CgkgIFNwZWNpZmljYWxseSwgdmVyaWZ5IGlucHV0IGNvbXBvbmVudHMgLyBjb2xvdXIgc3BhY2UgaXMgYXMgY29kZQoJICBzdWJzZXF1ZW50bHkgZXhwZWN0cywgdGhlcmVieSBhdm9pZGluZyBjcmFzaGVzIG9yIG90aGVyd2lzZSBib2d1cyBvdXRwdXQuCgkgIFByZXNlbnRseSwgdGhhdCBtZWFucyAzIGNvbXBvbmVudHMgWUNiQ3IgY29sb3VyIHNwYWNlLCBhbmQgc29tZXdoYXQKCSAgbGltaXRlZCBzYW1wbGluZyBmYWN0b3JzLgoJICBGaXhlcyAjNjAwNTUzLgoKMjAxMC0wNC0yMiAxMjoyODoyMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkgIHJ0cHRoZW9yYWRlcGF5OiBhbHNvIGFjY2VwdCBpbi1iYW5kIGNvbmZpZ3VyYXRpb24KCSAgRml4ZXMgIzU3NDQxNiAodGhlb3JhKS4KCjIwMTAtMDQtMjIgMTI6Mjc6MzUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJICBydHB2b3JiaXNkZXBheTogYWxzbyBhY2NlcHQgaW4tbGluZSBjb25maWd1cmF0aW9uCgkgIEZpeGVzICM1NzQ0MTYgKHZvcmJpcykuCgoyMDEwLTA0LTA3IDE3OjIxOjU1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkgIHJ0cHRoZW9yYWRlcGF5OiBJZ25vcmUgcGFja2V0cyB3aXRob3V0IGEga25vd24gY29kZWJvb2sKCSAgRG9uJ3QgcHJvZHVjZSBhbiBlcnJvciBpZiBhIHBhY2tldCBpcyByZWNlaXZlZCB3aXRob3V0IGEgdmFsaWQgY29kZWJvb2ssCgkgIGl0J3MgcG9zc2libGUgdGhhdCB0aGUgY29kZWJvb2sgd2lsbCBqdXN0IGJlIGNvbWluZyBsYXRlci4KCSAgU2VlICM1NzQ0MTYuCgoyMDEwLTA0LTIwIDEyOjE3OjI2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3k0bWVuYy5jOgoJICB5NG1lbmM6IGFkanVzdCB1bml0IHRlc3QgdG8gZWxlbWVudCBiZWhhdmlvdXIKCjIwMTAtMDItMjMgMjI6MTY6MzkgLTA1MDAgIEJlbmphbWluIE0uIFNjaHdhcnR6IDxiZW5zQGFsdW0ubWl0LmVkdT4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmg6CgkgIHk0bWVuYzogYWRkIDQ6MjoyLCA0OjE6MSwgYW5kIDQ6NDo0IG91dHB1dCBzdXBwb3J0CgkgIEZpeGVzICM2MTA5MDIuCgoyMDEwLTA0LTE1IDEyOjIxOjU2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5Lmg6CgkgIHJ0cGgyNjRkZXBheTogREVMVEFfVU5JVCBtYXJraW5nIG9mIG91dHB1dCBidWZmZXJzCgkgIC4uLiB3aGljaCBldmlkZW50bHkgbWFrZXMgKG1vc3QpIHNlbnNlIGlmIG91dHB1dCBidWZmZXJzIGFyZQoJICBhY3R1YWxseSBmcmFtZXMuCgkgIFBhcnRpYWxseSBiYXNlZCBvbiBhIHBhdGNoIGJ5CgkgIE1pZ3VlbCBBbmdlbCBDYWJyZXJhIDxtYWRfYWx1Y2hlIGF0IGhvdG1haWwuY29tPgoJICBGaXhlcyAjNjA5NjU4LgoKMjAxMC0wNC0xNiAxNzoyMTo1MCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5oOgoJICBydHBoMjYzZGVwYXk6IGV4dHJhIGtleWZyYW1lIGluZm8gZnJvbSBQVFlQRSBoZWFkZXIKCSAgLi4uIGFzIG9wcG9zZWQgdG8gdGFraW5nIGl0IGZyb20gaDI2MyBwYXlsb2FkIGhlYWRlciwgd2hpY2ggbmVlZCBub3QKCSAgYmUgc28gcmVsaWFibGUuCgkgIEZpeGVzICM2MTAxNzIuCgoyMDEwLTA0LTE2IDE3OjA4OjQ3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkgIHJ0cGgyNjNkZXBheTogYWxzbyB1c2UgUGljdHVyZSBTdGFydCBDb2RlIHRvIGRldGVjdCBwYWNrZXQgbG9zcwoJICBUaGlzIGVuc3VyZXMgYSB3aG9sZSBmcmFtZSBpcyBkcm9wcGVkIGlmIGEgKHN0YXJ0KSBwYWNrZXQgaXMgbG9zdCwKCSAgcmF0aGVyIHRoYW4gcmVseWluZyBvbmx5IG9uIHRoZSBESVNDT05UIGZsYWcuCgoyMDEwLTA0LTE2IDE3OjA2OjExICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkgIHJ0cGgyNjNkZXBheTogZGV0ZWN0IGZyYW1lIHN0YXJ0IHVzaW5nIFBpY3R1cmUgU3RhcnQgQ29kZQoJICBTbyB3ZSBzdG9wIGRyb3BwaW5nIGZyYWdtZW50cyBhcyBzb29uIGFzIHRoZXJlIGlzIGEgcGljdHVyZSBzdGFydCAoY29kZSkuCgkgIEluIHBhcnRpY3VsYXIsIHRoaXMgcHJldmVudHMgZHJvcHBpbmcgdGhlIGZpcnN0IGZyYW1lIGZvbGxvd2luZwoJICBpbml0aWFsIERJU0NPTlQuCgoyMDEwLTA0LTE2IDE2OjM0OjA2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkgIHJ0cGgyNjNkZXBheTogaGFuZGxlIGEgZmV3IEZJWE1FcwoKMjAxMC0wNC0xNiAxNjoyNzoyNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJICBydHBoMjYzZGVwYXk6IHNsaWdodGx5IHJlZmFjdG9yIHBheWxvYWQgZHJvcHBpbmcKCjIwMTAtMDQtMTYgMTE6NTM6MTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5oOgoJICBydHBoMjYzcGF5OiB1c2UgZm91bmQgR09CcyB0byBhcHBseSBNb2RlIEEgcGF5bG9hZGluZwoJICAuLi4gcmF0aGVyIHRoYW4gZmFsbGluZyBiYWNrIHRvIHNlbmRpbmcgdGhlIHdob2xlIGZyYW1lIGluIG9uZSBwYWNrZXQKCSAgaWYgbnVtYmVyIG9mIEdPQiBzdGFydGNvZGVzIDwgbWF4aW11bS4KCSAgT25lIG1pZ2h0IHRha2UgdGhpcyBmdXJ0aGVyIGFuZCBzdGlsbCBwZXJmb3JtIE1vZGUgQi9DIHBheWxvYWRpbmcsCgkgIGJ1dCBhdCBsZWFzdCB0aGlzIHNob3VsZCBjYXRlciBmb3IgZGVjZW50IGZyYWdtZW50cyBpbiB0eXBpY2FsIGNhc2VzLgoJICBGaXhlcyAjNTk5NTg1LgoKMjAxMC0wNC0xNCAxMTo1Mzo0NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIG1hdHJvc2thZGVtdXg6IGltcGxlbWVudCBwdXNoIG1vZGUgc2Vla2luZwoKMjAxMC0wNC0yOSAyMDowODo0MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJICBkb2NzOiB1cGRhdGUgZm9yIHZpZGVvZmlsdGVyIHBsdWdpbiBtZXJnZSBhbmQgYWRkIGd0ay1kb2MgYmx1cmIgZm9yIG5ldyBwcm9wZXJ0eQoKMjAxMC0wNC0yNiAxODoxMjo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEltcHJvdmUgc2VnbWVudCBoYW5kbGluZyBhIGJpdAoKMjAxMC0wNC0yNiAxODowNTowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IE9yZGVyIGNhcHMgYnkgYW1vdW50IG9mIGNvbnRhaW5lZCBpbmZvcm1hdGlvbgoKMjAxMC0wNC0yNiAxNzoyNTozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IFByb3Blcmx5IHNldCBpbnRlcmxhY2VkIGZpZWxkIGluIGdldGNhcHMKCjIwMTAtMDQtMjQgMTY6Mjg6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXJibGVuZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3NjYWxlcmJvYi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmViZmYuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZXRmZi5jOgoJICBkZWludGVybGFjZTogQWRkIHBsYW5hciBZVVYgc3VwcG9ydCB0byBhbGwgb3RoZXIgc2ltcGxlIG1ldGhvZHMKCjIwMTAtMDQtMjQgMTY6MTA6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmFzbToKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmM6CgkgIGRlaW50ZXJsYWNlOiBBZGQgcGxhbmFyIFlVViBzdXBwb3J0IHRvIGdyZWVkeWggbWV0aG9kCgoyMDEwLTA0LTI0IDE1OjQyOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5LmM6CgkgIGRlaW50ZXJsYWNlOiBBZGQgc3VwcG9ydCBmb3IgcGxhbmFyIFlVViBmb3JtYXRzIGluIGdyZWVkeWwgbWV0aG9kCgoyMDEwLTA0LTI0IDEzOjU4OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdmZpci5jOgoJICBkZWludGVybGFjZTogQWRkIHN1cHBvcnQgZm9yIFk0NDQsIFk0MkIsIEk0MjAsIFlWMTIgYW5kIFk0MUIKCSAgVGhlIHZmaXIgbWV0aG9kIHN1cHBvcnRzIHRoZW0gYW5kIHdpbGwgYmUgdXNlZCB1bnRpbCBzb21ldGhpbmcgZWxzZQoJICBzdXBwb3J0cyBpdC4KCjIwMTAtMDQtMjQgMDk6MTY6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmM6CgkgIGRlaW50ZXJsYWNlOiBEZWZpbmUgZGVpbnRlcmxhY2UgbWV0aG9kIGJhc2UgY2xhc3NlcyBhcyBhYnN0cmFjdCB0eXBlcwoKMjAxMC0wNC0yMyAxNzo0MDoxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXJibGVuZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3NjYWxlcmJvYi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS92ZmlyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmUuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZWJmZi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZldGZmLmM6CgkgIGRlaW50ZXJsYWNlOiBNb3ZlIGRlaW50ZXJsYWNpbmcgbWV0aG9kcyB0byB0aGVpciBvd24gZmlsZQoKMjAxMC0wNC0yMyAxNzoyNToxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkgIGRlaW50ZXJsYWNlOiBTaW1wbGlmeSBwYXNzdGhyb3VnaCBtb2RlIGRldGVjdGlvbgoKMjAxMC0wNC0yMyAxNDozNTo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogRml4IHVuaXQgdGVzdCB0aGF0IGNoZWNrcyBjYXBzIGhhbmRsaW5nCgkgIGRlaW50ZXJsYWNlIG5vdyBhbHdheXMgYWRkcyB0aGUgaW50ZXJsYWNlZCBmaWVsZCB0byB0aGUgb3V0cHV0IGNhcHMsCgkgIGlmIGl0IHdhc24ndCBwcmVzZW50IGluIHRoZSBpbnB1dCBjYXBzIHRoZSBvdXRwdXQgY2FwcyB3aWxsIHN0aWxsCgkgIGNvbnRhaW4gaW50ZXJsYWNlZD1mYWxzZS4KCjIwMTAtMDQtMjEgMTc6MDA6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5LmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5hc206CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvc2NhbGVyYm9iLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdmZpci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmViZmYuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZXRmZi5jOgoJICBkZWludGVybGFjZTogUmVmYWN0b3IgZGVpbnRlcmxhY2luZyBhcyBwcmVwYXJhdGlvbiBmb3Igc3VwcG9ydGluZyBtb3JlIGNvbG9yIGZvcm1hdHMKCjIwMTAtMDQtMjIgMTk6MDU6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBBZGQgc3VwcG9ydCBmb3IgWTQ0NCwgWTQyQiBhbmQgWTQxQgoKMjAxMC0wNC0yMiAxNTo1NDoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IEFkZCBzdXBwb3J0IGZvciBZVllVIGFuZCByZW9yZGVyIHRlbXBsYXRlIGNhcHMKCjIwMTAtMDQtMTggMjE6MTE6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBUcmFuc2xhdGUgbmF2aWdhdGlvbiBldmVudHMgdG8gbWFrZSBzZW5zZSBhZ2FpbiB1cHN0cmVhbQoKMjAxMC0wNC0xOCAyMDo1ODoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IFByb3Blcmx5IGhhbmRsZSByYW5nZXMvbGlzdHMgb2Ygd2lkdGggb3IgaGVpZ2h0IHdoZW4gdHJhbnNmb3JtaW5nIGNhcHMKCSAgQ29kZSBwYXJ0bHkgdGFrZW4gZnJvbSB0aGUgdmlkZW9jcm9wIGVsZW1lbnQuCgoyMDEwLTA0LTIyIDE1OjQ1OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogRml4IHBsYW5hciBZVVYtPlJHQiBwcm9jZXNzaW5nCgoyMDEwLTA0LTIyIDE1OjQyOjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogQ29ycmVjdGx5IGNsYW1wIGFmdGVyIFlVVi0+UkdCIGNvbnZlcnNpb24KCjIwMTAtMDQtMjIgMTU6MjA6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBBZGQgc3VwcG9ydCBmb3IgWVVZMiwgWVZZVSBhbmQgVVlWWQoKMjAxMC0wNC0xOCAxNTowMjo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IFN5bmMgcHJvcGVydGllcyB0byB0aGUgY29udHJvbGxlciBpbiBiZWZvcmVfdHJhbnNmb3JtCgoyMDEwLTA0LTE2IDE3OjAwOjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogQWRkIHN1cHBvcnQgZm9yIFlVWTIgYW5kIFVZVVYKCjIwMTAtMDQtMjEgMTc6NDE6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBSZWZhY3RvciBwcm9jZXNzaW5nIGFuZCBhZGQgc3VwcG9ydCBmb3Igb3RoZXIgcGxhbmFyIFlVViBmb3JtYXRzCgkgIFRoaXMgcmVkdWNlcyB0aGUgZ2VuZXJhdGVkIGNvZGUgc2l6ZSBieSBhIGZhY3RvciBvZiAyLjUuCgoyMDEwLTA0LTIxIDE3OjE1OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogQWRkIHN1cHBvcnQgZm9yIFlWMTIgaW5wdXQKCjIwMTAtMDQtMjIgMTM6NTY6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBBZGQgc3VwcG9ydCBmb3IgWVVZMiwgWVZZVSwgVVlWWQoKMjAxMC0wNC0yMCAxMjoxODoxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IEFkZCBzdXBwb3J0IGZvciBZNDQ0LCBZNDJCLCBZNDFCIGFuZCBZVjEyCgoyMDEwLTA0LTIxIDE3OjA3OjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgdmlkZW9maWx0ZXI6IE9yZGVyIGNvbG9yIGZvcm1hdHMgYnkgdGhlaXIgY29udGFpbmVkIGFtb3VudCBvZiBpbmZvcm1hdGlvbgoKMjAxMC0wNC0yMCAxODoyMjoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIHZpZGVvZmxpcDogRHJvcCBZNDFCL1k0MkIgc3VwcG9ydAoJICBSb3RhdGluZyA5MMKwLzI3MMKwIHdpdGggc3Vic2FtcGxlZCBZVVYgd2hlcmUgaG9yaXpvbnRhbAoJICBhbmQgdmVydGljYWwgc3Vic2FtcGxpbmcgYXJlIGRpZmZlcmVudCBkb2Vzbid0IHJlYWxseSB3b3JrLgoKMjAxMC0wNC0xOSAxNDozNzo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIHZpZGVvZmxpcDogQWxzbyBmbGlwIHRoZSBwaXhlbC1hc3BlY3QtcmF0aW8gaWYgd2lkdGgvaGVpZ2h0IGFyZSBleGNoYW5nZWQKCjIwMTAtMDQtMTggMjM6MDg6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvZmlsdGVyLmM6CgkgIHZpZGVvZmlsdGVyOiBFeHRlbmQgdGhlIHVuaXQgdGVzdCB0byB0ZXN0IGRpZmZlcmVudCBjb2xvciBmb3JtYXRzCgoyMDEwLTA0LTE4IDIyOjU1OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvZmlsdGVyLmM6CgkgIHZpZGVvZmlsdGVyOiBBZGQgc29tZSBtb3JlIHRlc3RzCgkgIFRoZXNlIGNoZWNrIGRpZmZlcmVudCBwcm9wZXJ0eSBjb21iaW5hdGlvbnMKCjIwMTAtMDQtMTggMjI6NTQ6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICB2aWRlb2ZsaXA6IENoYW5nZSB0aGUgZGVmYXVsdCBtZXRob2QgdG8gaWRlbnRpdHkKCjIwMTAtMDQtMTggMjI6NTA6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmg6CgkgIHZpZGVvYmFsYW5jZTogUmVkdWNlIG51bWJlciBvZiBhbGxvY2F0aW9ucyBwZXIgaW5zdGFuY2UKCjIwMTAtMDQtMTggMjI6NDU6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICB2aWRlb2ZpbHRlcjogVXBkYXRlIGxhc3QtcmV2aWV3ZWQgY29tbWVudHMKCjIwMTAtMDQtMTggMjI6NDA6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICB2aWRlb2JhbGFuY2U6IEFkZCBzdXBwb3J0IGZvciBhbGwgUkdCIGZvcm1hdHMKCjIwMTAtMDQtMTggMjI6Mjg6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICB2aWRlb2JhbGFuY2U6IEFkZCBzdXBwb3J0IGZvciBZVVkyLCBVWVZZLCBBWVVWIGFuZCBZVllVCgoyMDEwLTA0LTE4IDIyOjIzOjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgdmlkZW9iYWxhbmNlOiBBZGQgZGVidWcgY2F0ZWdvcnkKCjIwMTAtMDQtMTggMjI6MTk6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICB2aWRlb2JhbGFuY2U6IE1ha2UgcHJvcGVydHkgYWNjZXNzIHRocmVhZHNhZmUKCjIwMTAtMDQtMTggMjI6MTg6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICB2aWRlb2JhbGFuY2U6IEFkZCBzdXBwb3J0IGZvciBZNDFCLCBZNDJCIGFuZCBZNDQ0CgoyMDEwLTA0LTE4IDIyOjE3OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5oOgoJICB2aWRlb2JhbGFuY2U6IFVzZSBsaWJnc3R2aWRlbyBmb3IgZm9ybWF0IHNwZWNpZmljIHRoaW5ncwoKMjAxMC0wNC0xOCAyMjowOTowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIHZpZGVvYmFsYW5jZTogTWFrZSBwcm9wZXJ0aWVzIGNvbnRyb2xsYWJsZQoKMjAxMC0wNC0xOCAyMjowNjo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIHZpZGVvYmFsYW5jZTogRW1pdCAidmFsdWUtY2hhbmdlZCIgc2lnbmFsIG9mIGNvbG9yIGJhbGFuY2UgaW50ZXJmYWNlIHdoZW4gdmFsdWVzIGNoYW5nZQoKMjAxMC0wNC0xOCAyMTo1ODoxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuaDoKCSAgdmlkZW9iYWxhbmNlOiBTb21lIHJhbmRvbSBjbGVhbnVwCgoyMDEwLTA0LTE4IDIxOjM3OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgdmlkZW9iYWxhbmNlOiBTdG9wIHVzaW5nIGxpYm9pbAoJICBUaGUgdXNlZCBsaWJvaWwgZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBhbmQgaGFzIG5vIG9wdGltaXplZAoJICBpbXBsZW1lbnRhdGlvbiBhbnl3YXkuCgoyMDEwLTA0LTE4IDIxOjE0OjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgdmlkZW9mbGlwOiBNYWtlIHByb3BlcnR5IGFjY2VzcyB0aHJlYWRzYWZlCgoyMDEwLTA0LTE4IDE1OjAwOjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJICBnYW1tYTogU3luYyBwcm9wZXJ0aWVzIHRvIHRoZSBjb250cm9sbGVyIGluIGJlZm9yZV90cmFuc2Zvcm0KCjIwMTAtMDQtMTggMTQ6NDY6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICB2aWRlb2ZsaXA6IEFkZCBzdXBwb3J0IGZvciBhbGwgUkdCIGZvcm1hdHMgYW5kIEFZVVYKCjIwMTAtMDQtMTggMTQ6MzE6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICB2aWRlb2ZsaXA6IEFkZCBzdXBwb3J0IGZvciBZNDFCLCBZNDJCIGFuZCBZNDQ0CgoyMDEwLTA0LTE4IDE0OjI5OjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5oOgoJICB2aWRlb2ZsaXA6IE1ha2UgcHJvY2Vzc2luZyBtb3JlIGdlbmVyYWwgYW5kIHVzZSBsaWJnc3R2aWRlbyBmb3IgYWxsIGZvcm1hdCBzcGVjaWZpYyB0aGluZ3MKCjIwMTAtMDQtMTggMTM6MTI6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICB2aWRlb2ZsaXA6IE1ha2UgbWV0aG9kIHByb3BlcnR5IGNvbnRyb2xsYWJsZSBhbmQgaW1wcm92ZSBkZWJ1ZyBvdXRwdXQKCjIwMTAtMDQtMTggMTM6MDM6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmg6CgkgIHZpZGVvZmxpcDogU29tZSByYW5kb20gY2xlYW51cAoKMjAxMC0wNC0xOCAxMDoxNzo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZmlsdGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9wbHVnaW4uYzoKCSAgdmlkZW9maWx0ZXI6IE1vdmUgYWxsIGVsZW1lbnRzIGludG8gYSBzaW5nbGUgcGx1Z2luCgkgIEhhdmluZyBhbGwgdGhlc2Ugc21hbGwgZWxlbWVudHMgaW4gYSBzZXBhcmF0ZSBwbHVnaW4KCSAgaXMgbm90IHZlcnkgbWVtb3J5IGVmZmVjdGl2ZS4uLgoKMjAxMC0wNC0xOCAxMDowNzoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmg6CgkgIGdhbW1hOiBJbXByb3ZlIGRvY3MgYSBiaXQKCjIwMTAtMDQtMTggMDk6NTk6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkgIGdhbW1hOiBBZGQgc3VwcG9ydCBmb3IgYWxsIFJHQiBmb3JtYXRzCgoyMDEwLTA0LTE4IDA5OjQ2OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJICBnYW1tYTogQWRkIHN1cHBvcnQgZm9yIG1hbnkgcGFja2VkIFlVViBmb3JtYXRzCgkgIFRoYXQgaXMgWVVZMiwgVVlWWSwgQVlVViBhbmQgWVZZVS4KCjIwMTAtMDQtMTggMDk6Mzg6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkgIGdhbW1hOiBBZGQgc3VwcG9ydCBmb3IgYWxsIG90aGVyIHBsYW5hciBZVVYgZm9ybWF0cwoJICBUaGF0IGlzIFk0MUIsIFk0MkIsIFk0NDQsIE5WMTIgYW5kIE5WMjEuCgoyMDEwLTA0LTE4IDA5OjMzOjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkgIGdhbW1hOiBTdG9wIHVzaW5nIGxpYm9pbAoJICBUaGUgdXNlZCBsaWJvaWwgZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCwgb25seSBoYXMgYSByZWZlcmVuY2UgaW1wbGVtZW50YXRpb24KCSAgYW5kIGlzIG1vcmUgY29tcGxleCB0aGFuIHdoYXQncyBuZWVkZWQgaGVyZS4KCjIwMTAtMDQtMTcgMTg6MTM6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5oOgoJICBnYW1tYTogVXNlIGxpYmdzdHZpZGVvIGZvciBmb3JtYXQgc3BlY2lmaWMgdmFsdWVzIGFuZCBtYWtlIGdhbW1hIHByb2Nlc3NpbmcgbW9yZSBnZW5lcmljCgkgIEFsbG93cyB1cyB0byBlYXNpbHkgYWRkIHN1cHBvcnQgZm9yIG5ldyBjb2xvciBmb3JtYXRzIGxhdGVyLgoKMjAxMC0wNC0xNyAxODowMTowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJICBnYW1tYTogTWFrZSBnYW1tYSBwcm9wZXJ0eSBjb250cm9sbGFibGUKCSAgLi4uYW5kIHByb3Blcmx5IHVzZSBsaWJvaWwuCgoyMDEwLTA0LTE3IDE3OjU1OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJICBnYW1tYTogU29tZSByYW5kb20gY2xlYW51cAoKMjAxMC0wNC0xOSAxNDo0NTozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJICBzbXB0ZWFscGhhOiBTeW5jIHByb3BlcnRpZXMgdG8gdGhlIGNvbnRyb2xsZXIgaW4gYmVmb3JlX3RyYW5zZm9ybQoKMjAxMC0wNC0xNyAxNzo0NzowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJICBzbXB0ZWFscGhhOiBBZGQgc3VwcG9ydCBmb3IgWVYxMiAoY29udmVydGVkIHRvIEFZVVYpCgoyMDEwLTA0LTE3IDE3OjQzOjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkgIHNtcHRlYWxwaGE6IEFkZCBzdXBwb3J0IGZvciBhbGwgNCBBUkdCIGZvcm1hdHMKCSAgLi4ud2l0aG91dCBmb3JtYXQgY29udmVyc2lvbi4KCjIwMTAtMDQtMTYgMTc6Mjc6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuaDoKCSAgc21wdGVhbHBoYTogTWFrZSBjb2xvciBmb3JtYXQgc3VwcG9ydCBtb3JlIGdlbmVyaWMKCSAgVGhpcyBhbGxvd3MgZWFzaWVyIGFkZGl0aW9uIG9mIG5ldyBmb3JtYXRzIGxhdGVyLgoKMjAxMC0wNC0xNiAxNzoxODoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5oOgoJICBzbXB0ZWFscGhhOiBTb21lIHJhbmRvbSBjbGVhbnVwCgoyMDEwLTA0LTE1IDIyOjI4OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zbXB0ZS9nc3RtYXNrLmM6CgkqIGdzdC9zbXB0ZS9nc3RtYXNrLmg6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuaDoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuaDoKCSAgc21wdGU6IEFkZCBwcm9wZXJ0eSBmb3IgaW52ZXJ0aW5nIHRoZSB0cmFuc2l0aW9uIG1hc2sKCSAgVGhpcyBjb252ZXJ0cyBhIGxlZnQtdG8tcmlnaHQgdHJhbnNpdGlvbiB0byByaWdodC10by1sZWZ0IG9yCgkgIGNsb2NrLXdpc2UgdG8gY291bnRlci1jbG9jay13aXNlLgoKMjAxMC0wNC0xNSAyMjoyNzo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJICBzbXB0ZWFscGhhOiBDb3JyZWN0bHkgZGV0ZWN0IHByb3BlcnR5IGNoYW5nZXMgYW5kIHVwZGF0ZSBwcm9wZXJ0aWVzCgoyMDEwLTA0LTE2IDE5OjM1OjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBxY2VscGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5oOgoJICBxY2VscGRlcGF5OiBhZGQgZmlyc3QgdmVyc2lvbiBvZiBhIFFDRUxQIGRlcGF5bG9hZGVyCgoyMDEwLTA0LTI5IDE1OjE4OjA3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50LgoKPT09IHJlbGVhc2UgMC4xMC4yMiA9PT0KCjIwMTAtMDQtMjggMDI6NTg6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMjIKCjIwMTAtMDQtMjggMDI6NTc6MjEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMC0wNC0yNSAyMzozNjoyOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4yMS4zIHByZS1yZWxlYXNlCgoyMDEwLTA0LTI1IDIxOjE5OjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogaGlkZSBpcy1saXZlIHByb3BlcnR5IGZvciByZWxlYXNlCgkgIEF0IHRoZSB2ZXJ5IGxlYXN0IGl0IG5lZWRzIGEgYmV0dGVyL2xlc3Mgd3JvbmcgbmFtZS4KCSAgU2VlICM2MTMwNjYuCgoyMDEwLTA0LTI1IDE1OjEyOjIwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZG9uJ3QgY3Jhc2ggaWYganBlZyBpbWFnZSBjb250YWlucyBtb3JlIHRoYW4gdGhyZWUgY29tcG9uZW50cwoJICBPdXIgY29kZSBjdXJyZW50bHkgb25seSBoYW5kbGVzIGEgbWF4aW11bSBvZiAzIGNvbXBvbmVudHMsIHNvIGVycm9yCgkgIG91dCBmb3Igbm93IGlmIHRoZSBpbWFnZSBoYXMgbW9yZSBjb21wb25lbnRzIHRoYW4gdGhhdC4KCSAgRml4ZXMgIzYwNDEwNi4KCjIwMTAtMDQtMjAgMTc6MjE6MjkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJICBkb2FwOiB1cGRhdGUgcmVwb3NpdG9yeSBpbmZvIGZyb20gY3ZzLT5naXQgYW5kIG1haW50YWluZXJzCgoyMDEwLTA0LTIzIDE0OjQwOjIwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZmM4NTg2NyB0byA0ZDY3YmQ2CgoyMDEwLTA0LTIyIDEzOjMwOjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkgIHZpZGVvbWl4ZXI6IEZpeCBieXRlIG9yZGVyIGZvciBNTVggQVJHQi9BWVVWIGNvbG9yIGZpbGxpbmcKCSAgRml4ZXMgYnVnICM2MTY0MDkuCgoyMDEwLTA0LTIxIDE3OjUzOjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkgIHZpZGVvbWl4ZXI6IEZpeCBBWVVWIGNoZWNrZXIvY29sb3IgZmlsbGluZwoKMjAxMC0wNC0xOSAxNjo0MzoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9tbXguaDoKCSAgdmlkZW9taXhlcjogQWRkIGkzODcgZmxvYXRpbmcgcG9pbnQgcmVnaXN0ZXJzIHRvIHRoZSBjbG9iYmVyZWQgcmVnaXN0ZXJzIGxpc3QKCSAgVGhleSBhcmUgdGhlIHNhbWUgYXMgdGhlIG1tMC1tbTcgTU1YIHJlZ2lzdGVycyBhbmQgd2lsbCBiZSBvdmVyd3JpdHRlbgoJICBieSB0aGUgYXNzZW1ibHkgY29kZSBpZiBnY2MgZG9lc24ndCBrbm93IGFib3V0IHRoZSBNTVggcmVnaXN0ZXJzLgoJICBOb3RlOiBUaGV5J3JlIGFsbCBhZGRlZCB0byB0aGUgbGlzdCBvZiBjbG9iYmVyZWQgcmVnaXN0ZXJzIGluIGFsbCBjYXNlcwoJICBhbmQgbm90IG9ubHkgd2hlbiBfX01NWF9fIGlzIG5vdCBkZWZpbmVkIGp1c3QgdG8gbWFrZSBzdXJlIHRoYXQgbm8gb3RoZXIKCSAgYnVncyBoYXBwZW4gd2l0aCB0aGlzIGNvZGUganVzdCBiZWNhdXNlIHNvbWUgY29tcGlsZXIgdmVyc2lvbiBnZXRzIHRoaW5ncwoJICB3cm9uZy4KCSAgRml4ZXMgYnVnICM2MTQ0NjYuCgoyMDEwLTA0LTE5IDE0OjA5OjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogVXNlIGxpYmdzdHZpZGVvIHRvIGdldCB0aGUgb3JkZXIgb2YgUkdCCgoyMDEwLTA0LTE3IDEwOjA2OjQxICswMTAwICBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQG9yYWNsZS5jb20+CgoJKiBnc3QvZ29vbS94bW14LmM6CgkgIGdvb206IGFkZCBlZHggdG8gY2xvYmJlciBsaXN0IGluIGlubGluZSBhc3NlbWJseSBjb2RlCgkgIG11bGwgbW9kaWZpZXMgJWVkeCwgc28gc2hvdWxkIGJlIG1lbnRpb25lZCBpbiBjbG9iYmVyIGxpc3QuCgkgIEZpeGVzIGNyYXNoIG9uIFNvbGFyaXMgKCM2MTU5OTgpLgoKMjAxMC0wNC0xNSAxMzozOTo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGRvbid0IHVzZSBHU1RfUExVR0lOX0xERkxBR1Mgd2hlbiBidWlsZGluZyB0ZXN0IGJpbmFyaWVzCgoyMDEwLTA0LTE2IDE1OjI3OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogRml4IEk0MjAtPkk0MjAgY29weWluZwoJICBGaXhlcyBidWcgIzYxNTE0My4KCjIwMTAtMDQtMTMgMTg6MTU6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBGaXggQVlVVi0+STQyMCBjb3B5aW5nCgoyMDEwLTA0LTE2IDEyOjE0OjI2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheTogcHJvZmlsZS1sZXZlbC1pZCBpcyBhbiBvcHRpb25hbCBwYXJhbWV0ZXIKCSAgU28sIGlmIG5lZWRlZCwgZXh0cmFjdCB0aGUgY29ycmVzcG9uZGluZyBpbmZvIGZyb20KCSAgc3Byb3AtcGFyYW1ldGVyLXNldHMuCgkgIEJhc2VkIG9uIHBhdGNoIHByb3ZpZGVkIGJ5IDxkeHNzeCBhdCBnbWFpbC5jb20+CgkgIEZpeGVzICM2MTI2NTcuCgoyMDEwLTA0LTE1IDA3OjEzOjQ2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBEcm9wIC1XY2FzdC1hbGlnbgoJICBDb21taXQgbWVzc2FnZSBjb3BpZWQgZnJvbSBjb3JlJ3MgY29tbWl0IGZyb20gQmVuamFtaW4gT3R0ZToKCSAgMjQ2ZjVkYmE5NmE1YjUwYmI3NDYyMWFmNjdiMzA5NDJjY2E3MmFmNQoJICBBcHBhcmVudGx5IGdjYyB3YXJucyB0aGF0IEdzdE1pbmlPYmplY3QgaXMgbm90IGNhc3RhYmxlIHRvCgkgIEdzdEV2ZW50L01lc3NhZ2UvQnVmZmVyIGR1ZSB0byB0aGVtIGNvbnRhaW5pbmcgNjRiaXQgdmFyaWFibGVzLCBldmVuCgkgIHRob3VnaCBBUk0gaGFja2VycyBjbGFpbSB0aGF0IHRob3NlIG9ubHkgbmVlZCA0Ynl0ZSBhbGlnbm1lbnQuIEFuZCBhcwoJICBsb25nIGFzIGdjYyBiZWhhdmVzIHRoYXQgd2F5LCB0aGlzIHdhcm5pbmcgaXMgbm90IHZlcnkgdXNlZnVsLgoJICBTbyB3ZSdsbCByZW1vdmUgdGhlIHdhcm5pbmcgdW50aWwgdGhpcyBwcm9ibGVtIGlzIGZpeGVkLgoJICBGaXhlcyAjNjE1Njk4CgoyMDEwLTA0LTE0IDIzOjQ2OjA2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSAgZmxhY3RhZzogZml4IGFkYXB0ZXIgYXNzZXJ0aW9uIHdoZW4gdXNlZCBkaXJlY3RseSBhZnRlciBmbGFjZW5jCgkgIFVubGlrZSBmaWxlc3JjLCBmbGFjZW5jIG91dHB1dHMgdGhlIGZsYWMgYmxvY2tzIG5lYXRseSBhbGlnbmVkIG9uZSBpbgoJICBlYWNoIGJ1ZmZlci4gVGhpcyBtZWFucyB0aGF0IHdoZW4gd2Ugc3dpdGNoIGZyb20gbWV0YWRhdGEgbW9kZSB0bwoJICBhdWRpbyBkYXRhIHBhc3N0aHJvdWdoIG1vZGUsIHRoZXJlJ3Mgbm8gZGF0YSBsZWZ0IGluIHRoZSBhZGFwdGVyIHRvCgkgIHB1c2ggb3V0IGF0IHRoaXMgcG9pbnQsIHNvIGNoZWNrIGlmIHRoZXJlJ3MgZGF0YSBpbiB0aGUgYWRhcHRlcgoJICBiZWZvcmUgcmVxdWVzdGluZyBidWZmZXJzIGZyb20gaXQgKGFsc28gbmVlZGVkIGluIGNhc2Ugd2UgZ2V0IGlucHV0CgkgIGJ1ZmZlcnMgb2YgMCBzaXplKS4KCSAgRml4ZXMgIzYxNTc5My4KCjIwMTAtMDQtMTQgMjM6MTg6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjEuMiBwcmUtcmVsZWFzZQoKMjAxMC0wNC0xNCAyMDozMTozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBwbzogdXBkYXRlCgoyMDEwLTA0LTE0IDIwOjA2OjA5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIHRlc3RzOiB1c2UgTERBREQgZm9yIGxpYnMgdG8gbGluayB0byBpbnN0ZWFkIG9mIExERkxBR1MKCSAgVXNlIGZvb19MREFERCBpbnN0ZWFkIG9mIGZvb19MREZMQUdTIHRvIHNwZWNpZnkgdGhlIGxpYnJhcmllcyB0byBsaW5rIHRvLgoJICBUaGlzIHNob3VsZCBtYWtlIHN1cmUgYXJndW1lbnRzIGFyZSBwYXNzZWQgdG8gdGhlIGxpbmtlciBpbiB0aGUgcmlnaHQKCSAgb3JkZXIsIGFuZCBtYWtlcyBMREZMQUdTIHVzYWJsZSBhZ2Fpbi4KCSAgQmFzZWQgb24gcGF0Y2ggYnkgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBvcmFjbGUuY29tPgoJICBGaXhlcyAjNjE1Njk3LgoKMjAxMC0wNC0xNCAxODoxMzo1NiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogdHJhbnNmb3JtX2NhcHMgOiBXZSBjYW4gb25seSBjb252ZXJ0IEFZVVYgdG8geFJHQgoJICBXZSB3ZXJlIHByZXZpb3VzbHkgc3RhdGluZyB0aGF0IHdlIGNvdWxkIGNvbnZlcnQgQVlVVi9JNDIwL1lWMTIgdG8geFJHQi4KCjIwMTAtMDQtMTMgMDA6MTQ6NDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGFsc28gcmVtb3ZlIC1XYWdncmVnYXRlLXJldHVybiBmcm9tIHdhcm5pbmcgZmxhZ3MKCSAgSXQgY2F1c2VzIHByb2JsZW1zIHdpdGggT2JqZWN0aXZlLUMgY29kZSBsaWtlIGluIG9zeHZpZGVvc2luay4KCSAgRml4ZXMgIzYxMzY2My4KCjIwMTAtMDQtMTIgMTg6MjI6MzkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgY2hlY2s6IElnbm9yZSBvc3ggYXVkaW8vdmlkZW8gc3JjL3NpbmtzIGluIHN0YXRlIGNoYW5nZSB0ZXN0cwoJICBBbmQgbWFrZSB0aGUgbGluZSByZWFkYWJsZSBmb3IgdGhvc2UgbWVyZSBtb3J0YWxzIHRoYXQgZG9uJ3Qgb3duIGEgMzAiIHNjcmVlbgoKMjAxMC0wNC0xMiAxODowMzoyMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGVuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnbGltaXRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ3ZvbHVtZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVjdHJ1bS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2ZpbHRlci5jOgoJICBjaGVjazogRG9uJ3QgcmUtZGVjbGFyZSAnR0xpc3QgKmJ1ZmZlcnMnIGluIHRoZSB0ZXN0cwoJICBJdCdzIGFuIGV4dGVybmFsIHdoaWNoIGxpdmVzIGluIGdzdGNoZWNrLmMuIFJlZGVjbGFyaW5nIGl0IG1ha2VzIHNvbWUKCSAgY29tcGlsZXJzL2FyY2hpdGVjdHVyZXMgdGhpbmsgdGhlICdidWZmZXJzJyBpbiB0aGUgaW5kaXZpZHVhbCB0ZXN0cyBhcmUKCSAgYSBkaWZmZXJlbnQgc3ltYm9sLi4uIGFuZCB0aGVyZWZvcmUgd2UgZW5kIHVwIGNvbXBhcmluZyBob2xvZGVja3Mgd2l0aAoJICBvcmFuZ2VzLgoKMjAxMC0wNC0xMiAxNDo1MDo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4LCBxdGRlbXV4OiBtaW5vciBjb2RlIGNsZWFudXAgaW4gYXZjX2xldmVsX2lkY190b19zdHJpbmcoKQoJICBEbyB0aGUgc2FtZSB3aXRoIHNsaWdodGx5IGZld2VyIExPQy4KCjIwMTAtMDQtMTIgMTI6NDA6MTEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogUmVtb3ZlIC1XdW5kZWYgZmxhZwoJICBGaXhlcyAjNjE1MTYxCgoyMDEwLTA0LTEyIDExOjQzOjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogRml4IEk0MjAtPkFZVVYgY29weWluZwoKMjAxMC0wNC0xMiAxMToyNTo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IENvcnJlY3RseSBjbGFtcCBmcmFtZS9iYWNrZ3JvdW5kIGFscGhhcyB0byBbMCwyNTVdIGJlZm9yZSB3cml0aW5nIHRoZW0KCjIwMTAtMDQtMTIgMTE6MTY6NTYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICBjaGVjazogSWdub3JlIGpwZWdlbmMgdGVzdAoKMjAxMC0wNC0xMSAxMzoxNDozMCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkgIGRlaW50ZXJsYWNlOiBPbmx5IGNoZWNrIGludGVybGFjZWQgZmxhZyBpbiBzaW5rIGNhcHMKCSAgRml4ZXMgIzYxNTQ2MC4KCjIwMTAtMDQtMDkgMTE6MjE6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBiYTMzZDFmIHRvIGZjODU4NjcKCjIwMTAtMDQtMDggMTg6MDU6NDYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgZG9jczogZG8gcHJvcGVyIGVzY2FwaW5nIGZvciAiJSIKCjIwMTAtMDQtMDggMTc6NTA6NDkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHNwL2dzdHJ0c3Bnb29nbGUuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcGdvb2dsZS5oOgoJICBydHNwOiByZW1vdmUgb2Jzb2xldGUgZ29vZ2xlIGV4dGVuc2lvbgoJICBUaGlzIHdhcyBub3QgYnVpbGQgZm9yIGEgd2hpbGUgYW5kIGNhbiBiZSByZW1vdmVkLgoKMjAxMC0wNC0wOCAxNzo0Mjo1MiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IG1vdmUgdHdvIHN5bWJvbHMgdG8gcHJpdmF0ZSBzZWN0aW9uCgoyMDEwLTA0LTA4IDE3OjM2OjMwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogYWRkIGZseGRlYyBkb2NzCgoyMDEwLTA0LTA4IDE3OjE3OjA2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIGRvY3M6IGVuYWJsZSB0aGUgMiBvZiA2NSBydHAgZWxlbWVudHMgaW4gdGhlIGRvY3MKCjIwMTAtMDQtMDggMTE6NTQ6MTkgKzAyMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkgIHNob3V0MjogRG9uJ3Qgd2FpdCBpZiB3ZSdyZSBsYXRlCgkgIEluIGZhY3QsIGR1ZSB0byBzaWduZWRuZXNzIGlzc3VlcywgYSBuZWdhdGl2ZSBkZWxheSB3b3VsZCBiZSBjaGFuZ2VkIHRvCgkgIGFuIGFsbW9zdCBpbmZpbml0ZSB3YWl0IGNhdXNpbmcgc2hvdXQyc2VuZCB0byAibG9jayB1cCIuCgkgIFJlcG9ydGVkIGJ5IENocmlzdG9waGVyIE1vbnRnb21lcnkuCgoyMDEwLTA0LTA4IDE2OjU2OjM3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBkb2NzOiB1cGQgLT4gdWRwIGFuZCB2b2lsYSBpdCBzaG93cyB1cCBpbiB0aGUgZG9jcwoKMjAxMC0wNC0wOCAxNjo1MToyNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmg6CgkgIGRvY3M6IGZpeCBkb2MgYmxvYiBzeW50YXgKCjIwMTAtMDQtMDggMTY6NTE6MDUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiBhZGQgKHNwYXJzZSkgZG9jcyBmb3IgYXVwYXJzZSBlbGVtZW50CgoyMDEwLTA0LTA4IDE0OjQwOjQzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogYWRkIHZpZGVvYm94IHN5bWJvbHMKCjIwMTAtMDQtMDggMTQ6NDA6MTkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgZG9jczogcmVtb3ZlIGR5bnVkcHNpbmsgdW50aWwgc29tZW9uZSBkb2N1bWVudHMgaXQKCjIwMTAtMDQtMDggMTQ6MzQ6NTkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IG1ha2UgZGVidWcgY2F0ZWdvcnkgc3RhdGljCgoyMDEwLTA0LTA4IDE0OjI5OjE5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgIGZseGRlbXV4OiByZW5hbWUgR3N0RkxWRGVtdXggZm9yIEdzdEZsdkRlbXV4CgoyMDEwLTA0LTA4IDE0OjIzOjE5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5oOgoJICBmbHZkZW11eDogbWVyZ2UgZmx2cGFyc2UgaW50byB0aGUgZGVtdXhlciBhbmQgbWFrZSBmdW5jdGlvbiBzdGF0aWMKCSAgTm8gbmVlZCB0byBoaWRlIGNlcnRhaW4gZnVuY3Rpb24gaW4gdGhlIGRvY3MuIEFsbG93cyB0byBkbyBtb3JlIGNsZWFudXBzLgoKMjAxMC0wNC0wOCAxMzoxMzozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuaDoKCSAgYWxwaGE6IEFkZCBkb2N1bWVudGF0aW9uCgoyMDEwLTA0LTA4IDE0OjAwOjA4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogdjRsMmJ1ZmZlciBwb29sIGlzIG5vdyBhIHNlcGFyYXRlIG9iamVjdCwgcmVtb3ZlIHRoZW0gZnJvbSB2NGwyc3JjIGRvY3MKCjIwMTAtMDQtMDggMTM6NTg6MTEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiByZW1vdmUgbm9uIGV4aXN0aW5nIGZsYWdzIGFuZCBhZGQgdHdvIGludGVybmFsIG1ldGhvZHMKCSAgSWYgc29tZW9uZSBjYXJlcyBmbHZwYXJzZSBjb3VsZCBiZSBtZXJnZWQgaW50byBmbHZkZW11eC4KCjIwMTAtMDQtMDggMTM6NTc6MDkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogcmVtb3ZlIHByb3RvdHlwZSBmb3Igbm9uIGV4aXN0aW5nIGZ1bmN0aW9uCgkgIFRoZXJlIGlzIG5vIGZ1bmN0aW9uIGJ5IHRoYXQgbmFtZSBhbnl3aGVyZS4KCjIwMTAtMDQtMDggMTI6NTY6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJICBkb2NzOiBVcGRhdGUgaW5zcGVjdGVkIHBsdWdpbiBpbmZvcm1hdGlvbgoKMjAxMC0wNC0wOCAxMjo1NjozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJICBhbHBoYWNvbG9yOiBJbXByb3ZlIGRvY3MgYSBiaXQKCjIwMTAtMDQtMDggMTM6NDc6NDIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiBhZGQgZWZmZWN0dHYgZGVmaW5lcyBhbmQgcmVvcmRlciBsaXN0CgoyMDEwLTA0LTA4IDEzOjQxOjQ3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogcmVtb3ZlIHRocmVlIGVudHJpZXMgdGhhdCBhcmUgbm90IGV4cG9ydGVkIGZyb20gdGhlIGhlYWRlcnMgYW55bW9yZQoKMjAxMC0wNC0wOCAxMzo0MDozNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkgIGpwZWdkZWM6IG1vdmUgbWFjcm8gdG8gYyBzb3VyY2UKCSAgT25lIGxlc3Mgc2VtaSBwdWJsaWMgc3ltYm9sIHdpdGhvdXQgbmFtZXNwYWNlIHByZWZpeCBpbiB0aGUgaGVhZGVycy4KCjIwMTAtMDQtMDggMTM6NDA6MDkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5oOgoJICBzcGVleGVuYzogcmVtb3ZlIHVudXNlZCBkZWZpbmVzCgoyMDEwLTA0LTA4IDEzOjIzOjM4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thLW11eDogZml4IGxhc3QgY29tbWl0CgkgIFVzZSBhIGxvY2FsIGRlZmluZSBmb3IgV0FWRUZPUk1BVF9FWCBiYXNlZCBvbiB0aGUgc2l6ZSBvZiB0aGUgc3RydWN0ICsgMiBieXRlcwoJICBmb3IgdGhlIGV4dGVuc2lvbiBzaXplLgoKMjAxMC0wNC0wOCAxMzoxNjo1MyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmg6CgkgIHNwZWV4OiByZW1vdmUgdW51c2VkIGRlZmluZQoKMjAxMC0wNC0wOCAxMzowMzo0MyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3dhdmVuYy9NYWtlZmlsZS5hbToKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSogZ3N0L3dhdmVuYy9yaWZmLmg6CgkgIHdhdmVuYzogcmVtb3ZlIGludGVybmFsIGNvcHkgb2YgcmlmZi5oIGFuZCB1c2UgcmlmZi1saWJyYXJ5IGluc3RlYWQuCgkgIFdlIGRvbid0IHVzZSBhbnkgZnVuY3Rpb24geWV0LCBqdXN0IHRoZSBzdHJ1Y3R1cmVzIGFuZCBkZWZpbmVzLgoKMjAxMC0wNC0wOCAxMjo1NjowOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIG1hdHJvc2thbXV4OiB1c2UgcmlmZiBsaWIgbW9yZQoJICBSZW1vdmUgQklUTUFQSU5GT0hFQURFUiBhbmQgdXNlIHRoZSBvbmUgZnJvbSByaWZmLWxpYi4gQWxzbyByZW1vdmUgdGhlCgkgIFdBVkVGT1JNQVRFWF9TSVpFIGRlZmluZSBhbmQgdXNlIGEgc2l6ZW9mIHRvZ2V0aGVyIHdpdGggdGhlIHJlc3BlY3RpdmUgc3RydWN0LgoJICBCZXNpZGVzIGJldHRlciBjb2RlIHJldXNlIHRoaXMgbGVzc2VucyB0aGUgdW51bnNlZCBzeW1ib2xzIGluIHRoZSBkb2NzLgoKMjAxMC0wNC0wOCAxMjoxNDowNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkgIGRvY3M6IHRyaW0gc2VjdGlvbnMgZmlsZSBtb3JlCgkgIFJlbmFtZSBzb21lIGRlZmluZXMgYW5kIG1vdmUgc29tZSBpdGVzbSB0byAqLmMgZmlsZXMuIEFkZCBtb3JlIGl0ZW1zIHRvIGludGVybmFsCgkgIHN1YnNlY3Rpb24uCgoyMDEwLTA0LTA4IDExOjE5OjQzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZG9jc3c6IHRyaW0gdGhlIHNlY3Rpb24gZmlsZQoKMjAxMC0wNC0wOCAxMDoyNjoyNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IGFkZCB2NGwyc2luayB0byBkb2NzCgoyMDEwLTA0LTA4IDEwOjE1OjA4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIGRvY3M6IGZpeCB4bWwKCSAgVGhlIHRpdGxlIHRhZyBiZWxvbmdzIGludG8gdGhlIHJlZnNlY3QyLgoKMjAxMC0wNC0wNyAxNzo0Mzo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IEFkZCBzdXBwb3J0IGZvciBZVjEyLCBpbmNsdWRpbmcgY29udmVyc2lvbiBzdXBwb3J0IGZvciBJNDIwL0FZVVYKCjIwMTAtMDQtMDcgMTc6Mjc6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBBZGQgc3VwcG9ydCBmb3IgZ3JheXNjYWxlIGlucHV0L291dHB1dAoJICBUaGlzIGRvZXNuJ3QgZG8gYW55IGNvbnZlcnNpb24gYW5kIGlzIHRoZSBuZXh0IHN0ZXAgdG8KCSAgcmVwbGFjaW5nIHZpZGVvY3JvcCBieSBzdXBwb3J0aW5nIGFsbCByZW1haW5pbmcgZm9ybWF0cwoJICBpbiBwYXNzdGhyb3VnaCBtb2RlLgoKMjAxMC0wNC0wNyAxNjoyNDozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94Lmg6CgkgIHZpZGVvYm94OiBBZGQgc3VwcG9ydCBmb3IgZmlsbGluZyB0aGUgYmFja2dyb3VuZCB3aXRoIHJlZCwgeWVsbG93IGFuZCB3aGl0ZQoKMjAxMC0wNC0wNyAxNjoxMToxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IEFkZCBzdXBwb3J0IGZvciBkaXJlY3QgUkdCPC0+QVlVViBjb252ZXJzaW9uCgoyMDEwLTA0LTA3IDE2OjExOjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogRml4IFJHQjI0IGZpbGxpbmcKCjIwMTAtMDQtMDcgMTY6MDY6NTQgKzAzMDAgIE1hcmNvIEJhbGxlc2lvIDxtYXJjby5iYWxsZXNpb0Bub2tpYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBoMjY0ZGVwYXk6IGhhbmRsZSBwcm9wZXJseSBTVEFQcwoJICBpbiBydHBoMjY0ZGVwYXkuYywgbGluZXMgNTc3LTU3NiwgTkFMVS10eXBlIDI0IChTaW5nbGUtVGltZSBBZ2dyZWdhdGlvbgoJICBQYWNrZXQpIGlzIGhhbmRsZWQgaW4gZmFsbC10aHJvdWdoIGFzIE5BTFUtdHlwZSAyNiAodW5oYW5kbGVkKS4KCSAgVGhpcyBsZWFkcyBoaWdoIHF1YWxpdHkgaDI2NCBzdHJlYW1zIHN1Y2ggYXM6CgkgIHJ0c3A6Ly9zdHJlYW0ueWxlLm1vYmkveWxlL2FyZWVuYS9NRURJQV9FMDM0MjY1N19wMy5tcDQKCSAgdG8gZmFpbCB3aXRoICJOQUwgdW5pdCB0eXBlIDI0IG5vdCBzdXBwb3J0ZWQgeWV0IiAoYnV0IGl0J3MgYWN0dWFsbHkKCSAgc3VwcG9ydGVkKSwgYW5kIHRodXMgdG8gY2xvc2UgYW55IHN0cmVhbSB3aGljaCBjb250YWlucyBTVEFQcy4KCSAgVGhlIHByb3Bvc2VkIG9uZS1saW5lciBwYXRjaCBmaXhlcyB0aGUgaXNzdWUuCgkgIEZpeGVzICM2MTUwNTEuCgoyMDEwLTA0LTA3IDEzOjQ3OjAyICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dzdC1pMThuLXBsdWdpbi5oOgoJKiBnc3QvYXZpL2dzdGF2aS5jOgoJICBidWlsZDogZml4IGNvbXBpbGVyIHdhcm5pbmdzCgkgIGZpeCB3YXJuaW5ncyBmb3IgYWxsIHBsdWdpbnMgdGhhdCB1c2U6IHNldGxvY2FsZSAoTENfQUxMLi4uCgoyMDEwLTA0LTA3IDEzOjMxOjEzICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmkuYzoKCSAgYXZpOiBmaXggY29tcGlsZXIgd2FybmluZwoKMjAxMC0wMy0zMSAxNzo1NDoyMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogcmVzdHJpY3QgcmVzeW5jaW5nIHRvIHN1YnRpdGxlIHRyYWNrcwoJICBUaGlzIHNob3VsZCBwcmV2ZW50IHNraXBwaW5nIGF1ZGlvIG9yIHZpZGVvIGluIG5vdCBzbyB3ZWxsIGludGVybGVhdmVkCgkgIGNhc2VzLgoJICBGaXhlcyAjNjE0NDYwLgoKMjAxMC0wNC0wNiAxMzoyMTo1MSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Zm9yZF9wcmVmZWN0QGdlbnRvby5vcmc+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IFBvc3QgYXZnLi9tYXguIGJpdHJhdGUgdGFncyBmb3IgSC4yNjQKCSAgVGhpcyByZWFkcyB0aGUgYXZlcmFnZSBhbmQgbWF4aW11bSBiaXRyYXRlcyBmcm9tIHRoZSAnYnRydCcgYXRvbSBpZgoJICBhdmFpbGFibGUsIGFuZCBwdXNoZXMgdGhlc2UgYXMgdGFncywKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxNDkyNwoKMjAxMC0wNC0wMyAyMzozOToyMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGZpeCByYWN5IHNodXRkb3duCgkgIEtlZXAgYSByZWYgb2YgcHVsc2VzaW5rIGZvciBkZWZlcnJlZCBtYWlubG9vcCBpbnZvY2F0aW9uLiBGaXhlcyAjNjE0NzY1CgoyMDEwLTA0LTA1IDE1OjQ4OjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVnZW5jLmM6CgkgIHRlc3RzOiBqcGVnZW5jOiBBZGRzIHNvbWUgZ2V0Y2FwcyB0ZXN0CgkgIEFkZHMgdGVzdHMgZm9yIHRoZSBqcGVnZW5jIGdldGNhcHMgZnVuY3Rpb24sIHRvIGF2b2lkCgkgIGhhdmluZyBpdCByZXR1cm5pbmcgbm9uLXN1YnNldCBjYXBzCgoyMDEwLTA0LTA1IDE0OjUxOjU4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZ2VuYzogRml4IGdldGNhcHMgZnVuY3Rpb24KCSAgV2hlbiBjcmVhdGluZyB0aGUgY2FwcyBhbGxvd2VkIHRvIHVwc3RyZWFtIHVzaW5nIGRvd25zdHJlYW0KCSAgcmVzdHJpY3Rpb25zLCB1c2UgZ3N0X3BhZF9nZXRfYWxsb3dlZF9jYXBzIGFzIHRoYXQgaGFzIHRoZQoJICB1c2FibGUgZm9ybWF0cyBhbmQgcHV0cyBpbnRvIGl0IHRoZSB3aWR0aCwgaGVpZ2h0IGFuZCBmcmFtZXJhdGUKCSAgZmllbGRzLiBUaGlzIGF2b2lkcyBnZXR0aW5nIGVycm9ycyBhYm91dCBnZXRjYXBzIHJldHVybmluZwoJICBub24gc3Vic2V0IGNhcHMgb2YgaXRzIHBhZCB0ZW1wbGF0ZS4KCSAgVGhpcyBlcnJvciBzaG93ZWQgdXAgb24gdGhlIG1ldGFkYXRhIHBsdWdpbiB1bml0IHRlc3QgaW4gLWJhZC4KCjIwMTAtMDQtMDUgMTc6MzE6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBGaXggY29udmVyc2lvbiBmcm9tIDMgYnl0ZSBSR0IgdG8gQVJHQgoKMjAxMC0wNC0wNSAxNzowODoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IEFkZCBzdXBwb3J0IGZvciAzIGJ5dGUgUkdCIGZvcm1hdHMgYW5kIHJlZmFjdG9yIFJHQiBjb2RlIGEgYml0CgoyMDEwLTA0LTA1IDE1OjUxOjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guaDoKCSAgdmlkZW9ib3g6IEFkZCBzdXBwb3J0IGZvciBhbGwgMzIgYml0IFJHQiBmb3JtYXRzCgkgIC4uLmluY2x1ZGluZyBjb252ZXJzaW9uIGJldHdlZW4gdGhlbS4KCjIwMTAtMDQtMDUgMTU6MjY6MDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogYWRkIHByb3BlcnR5IHRvIGNvbnRyb2wgdGhlIGJ1ZmZlcmluZyBtZXRob2QKCSAgQWRkIGEgcHJvcGVydHkgdG8gY29udHJvbCBob3cgdGhlIGppdHRlcmJ1ZmZlciBwZXJmb3JtcyB0aW1lc3RhbXBpbmcgYW5kCgkgIGJ1ZmZlcmluZy4KCjIwMTAtMDQtMDQgMTk6MDI6NDEgLTAzMDAgIEFuZHLDqSBEaWViIE1hcnRpbnMgPGFuZHJlLmRpZWJAZ21haWwuY29tPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSAgYWxwaGFjb2xvcjogUmVtb3ZpbmcgdW51c2VkIHZhcmlhYmxlCgkgIEZpeGVzIGJ1ZyAjNjE0ODQzLgoKMjAxMC0wNC0wNCAyMDozMTozOCAtMDMwMCAgQW5kcsOpIERpZWIgTWFydGlucyA8YW5kcmUuZGllYkBnbWFpbC5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IHNob3VsZCBub3QgcmV0dXJuIGNhcHMgQU5ZIGJhc2VkIG9uIGRvd25zdHJlYW0KCSAgV2hlbiBkb3duc3RyZWFtIGhhcyBhIHNpbmsgcGFkIHdpdGggQU5ZIGNhcHMsIGpwZWdlbmMgc2hvdWxkCgkgIHRyZWF0IGl0IHRoZSBzYW1lIGFzIE5VTEwgYW5kIHJldHVybiBpdHMgdGVtcGxhdGUgY2Fwcy4KCSAgRml4ZXMgIzYxNDg0MgoKMjAxMC0wNC0wNCAyMjoyODozMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL29zcy9nc3Rvc3NoZWxwZXIuYzoKCSAgb3NzOiBhZGQgZml4bWUgY29tbWVudAoKMjAxMC0wNC0wNCAyMjoyNjo1OSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ2NvbmYvTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiB1c2UgJChidWlsZGRpcikgZm9yIGluc3RhbGxpbmcgZ2VuZXJhdGVkIGZpbGVzCgoyMDEwLTA0LTA0IDIyOjA3OjMzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIFJldmVydCAiY29uZmlndXJlOiBmaXggb3V0IG9mIHNvdXJjZSBkaXIgYnVpbGRzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGNhMGJkM2E4Y2VhMzFmOWVhMGRmNzk4YTgzZDMwMDdlNjk2OTU4YmEuCgoyMDEwLTA0LTA0IDIxOjM2OjM1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IG91dCBvZiBzb3VyY2UgZGlyIGJ1aWxkcwoJICBSZW1vdmUgbm9uLWV4aXN0aW5nIGdzdC1saWJzIGZyb20gaW5jbHVkZSBhbmQgbGlicmFyeS1wYXRocycuCgkgIEZpeGVzICM2MTQzNTQgZXZlbiBtb3JlLgoKMjAxMC0wNC0wMSAxMDoxOTowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IFJlYWQgcmVwbGF5Z2FpbiBwZWFrL2dhaW4gdGFncwoJICBNYWtlIHF0ZGVtdXggcmVhZCB0YWdzIHJlcGxheWdhaW4gdGFncyB0aGF0IGFyZSB3aXRoaW4gJy0tLS0nIGF0b21zLgoJICBGaXhlcyAjNjE0NDcxCgoyMDEwLTA0LTAxIDE4OjQ4OjQzICswNTMwICBBcnVuIFJhZ2hhdmFuIDxmb3JkX3ByZWZlY3RAZ2VudG9vLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIG1hdHJvc2thOiBFeHBvcnQgaC4yNjQgcHJvZmlsZSBhbmQgbGV2ZWwgaW4gY2FwcwoJICBUaGlzIHJlcGxpY2F0ZXMgdGhlIGNvZGUgaW4gcXRkZW11eCB0byBleHBvcnQgdGhlIGguMjY0IHByb2ZpbGUgYW5kCgkgIGxldmVsIGluIHRoZSBzdHJlYW0gY2Fwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxNDY1MQoKMjAxMC0wNC0wMiAxODo1MDo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCBvZmYtYnktb25lIGludHJvZHVjZWQgaW4gbGFzdCBjb21taXQKCjIwMTAtMDQtMDEgMTg6Mzg6MzggKzA1MzAgIEFydW4gUmFnaGF2YW4gPGZvcmRfcHJlZmVjdEBnZW50b28ub3JnPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBNaW5vciByZWZhY3RvciBvZiB0aGUgY29kZQoJICBUaGlzIHdpbGwgbWFrZSBpdCBlYXNpZXIgdG8gY2x1bXAgdG9nZXRoZXIgY29tbW9uIGNvZGUgd2hlbiBjb3B5aW5nIHRvCgkgIG1hc3Ryb3NrYWRlbXV4LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE0NjUxCgoyMDEwLTA0LTAxIDE4OjE3OjA5ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxmb3JkX3ByZWZlY3RAZ2VudG9vLm9yZz4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRXhwb3J0IGguMjY0IGxldmVsIGluIGNhcHMKCSAgVGhpcyBleHBvcnRzIHRoZSBoLjI2NCBsZXZlbCBpbiB0aGUgc3RyZWFtIGNhcHMgKGFzIGEgc3RyaW5nKSB3aGljaCBjYW4KCSAgYmUgdXNlZCB0byBtYXRjaCBhIGRlY29kZXIsIG9yIGFzIG1ldGFkYXRhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE0NjUxCgoyMDEwLTA0LTAxIDE2OjU4OjMyICswNTMwICBBcnVuIFJhZ2hhdmFuIDxmb3JkX3ByZWZlY3RAZ2VudG9vLm9yZz4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRXhwb3J0IGguMjY0IHByb2ZpbGUgaW4gY2FwcwoJICBUaGlzIGFkZHMgdGhlIGguMjY0IHByb2ZpbGUgZm9yIGEgZ2l2ZW4gc3RyZWFtIGludG8gY2Fwcy4gVGhpcyBjYW4KCSAgKGV2ZW50dWFsbHkpIGJlIHVzZWQgdG8gc2VsZWN0IGFuIGFwcHJvcHJpYXRlIGRlY29kZXIgYW5kIGFzIG1ldGFkYXRhCgkgIGZvciBjZXJ0YWluIGFwcGxpY2F0aW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxNDY1MQoKMjAxMC0wMy0zMSAxNDo0MzoxNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiByZW1vdmUgb2Jzb2xldGUgcmV2ZXJzZSBwbGF5YmFjayBjb2RlIHBhdGgKCjIwMTAtMDMtMzEgMTQ6NDA6NTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgZmx2ZGVtdXg6IHN1cHBvcnQgKHB1bGwgbW9kZSkgbmVnYXRpdmUgc2VlayByYXRlCgoyMDEwLTAzLTI5IDE1OjI3OjM3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IGFsc28gY2hlY2sgZm9yIHNlZ21lbnQgc3RvcCBmb3Igbm9uLXNlZ21lbnQtc2VlawoKMjAxMC0wMy0zMCAxNjo1MDoxMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogcHVzaCBjb3JyZWN0bHkgc2l6ZWQgZmxhYyBoZWFkZXIgYnVmZmVycwoJICBGaXhlcyAjNjE0MzUzLgoKMjAxMC0wMy0zMCAwNzozNDowNyAtMDUwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBidWlsZDogZml4IGNvbXBpbGVyIHdhcm5pbmcgd2hlbiBzcmNkaXIgIT0gYnVpbGRkaXIKCSAgRml4ZXMgJy4uLy4uL2dzdC1saWJzOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5JyB3YXJuaW5nL2Vycm9yIHdoZW4KCSAgdGhlIGJ1aWxkIGRpcmVjdG9yeSBpcyBub3QgdGhlIHNhbWUgYXMgdGhlIHNvdXJjZSBkaXJlY3RvcnkuCgkgIEZpeGVzICM2MTQzNTQuCgoyMDEwLTAzLTMwIDAxOjUwOjMyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOgoJICBpZDNkZW11eDogZml4IHBhcnNpbmcgb2YgdW5zeW5jZWQgZnJhbWVzIHdpdGggZGF0YSBsZW5ndGggaW5kaWNhdG9yCgkgIEZpeGVzIGJ1ZyAjNjE0MTU4LgoKMjAxMC0wMy0yOSAxMTowMDowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZ3N0L01ha2VmaWxlLmFtOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJICBidWlsZDogYnVpbGQgcGx1Z2lucyBhbmQgZXhhbXBsZXMgaW4gcGFyYWxsZWwgd2hlcmUgcG9zc2libGUKCjIwMTAtMDMtMTggMTg6NDk6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IGZpeCByZWR1bmRhbnQgZnVuY3Rpb24gcmVkZWNsYXJhdGlvbiBjb21waWxlciB3YXJuaW5ncwoJICBSZS1hcHBseSB0aGlzIGFnYWluIGFzIHdlbGwsIGFzIGl0IHdhcyB1bmRvbmUgYnkgdGhlIHByZXZpb3VzIGNvbW1pdC4uCgoyMDEwLTAzLTE4IDE0OjMxOjM1ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzID0+IGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZQoJICBBcHBseSB0aGlzIGFnYWluLCBhcyBpdCB3YXMgb3ZlcndyaXR0ZW4gYnkgdGhlIHByZXZpb3VzIGNvbW1pdC4gTWVyZ2luZwoJICBpcyBoYXJkLCBhcHBhcmVudGx5LgoKMjAxMC0wMy0yNiAyMzoyMDoxMCArMDEwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQGZsdWVuZG8uY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgIGRpcmVjdHNvdW5kc2luazogSW1wbGVtZW50IFNQRElGIHN1cHBvcnQgZm9yIEFDMy4KCSAgRGV0ZWN0IGlmIHRoZSBzb3VuZCBjYXJkIHN1cHBvcnRzIFNQRElGIHBhc3N0aHJ1IG9mIEFDMyBhbmQgYWRkCgkgIG5lY2Vzc2FyeSBjb2RlIHRvIHN1cHBvcnQgdGhhdCBsaWtlIGFsc2FzaW5rLgoKMjAxMC0wMy0yNiAxNzowNjo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSAgYnVpbGQ6IGFkZCBjcnVmdCBhbGVydCBmb3IgY29tbW9uL3NoYXZlKgoKMjAxMC0wMy0yNiAxNjo1MDoyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2xhbmcuYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9sYW5nLmg6CgkgIHF0ZGVtdXg6IGV4dHJhY3Qgc3RyZWFtIGxhbmd1YWdlIGluIG1vcmUgY2FzZXMKCSAgVGhlIDE2LWJpdCBsYW5ndWFnZSBjb2RlIGNhbiBiZSBlaXRoZXIgYSBwYWNrZWQgSVNPLTYzOS0yVCBjb2RlCgkgIG9yIGEgJ01hY2ludG9zaCBsYW5ndWFnZSBjb2RlJy4gSGFuZGxlIHRoZSBsYXR0ZXIgdHlwZSBvZiBsYW5ndWFnZQoJICBjb2RlcyBhcyB3ZWxsLCBhbmQgbWFwIHRvIHRoZSBtYXRjaGluZyBJU08gY29kZS4gTGFzdGx5LCBmaXgKCSAgbGFuZ3VhZ2UgY29kZSBwb3N0aW5nIGZvciBsYW5ndWFnZSAjMCwgd2hpY2ggaXMgdmFsaWQgYW5kIHN0YW5kcwoJICBmb3IgJ0VuZ2xpc2gnLgoJICBGaXhlcyAjNjE0MDAxLgoKMjAxMC0wMy0yNiAxNDo1NTo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IEltcHJvdmUgZGVidWdnaW5nIGFuZCBhZGQgc29tZSBGSVhNRXMKCjIwMTAtMDMtMjYgMTQ6NDI6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBTYW1wbGUgcmF0ZSBtYXJrZXJzIDB4MDEsIDB4MDIgYW5kIDB4MDMgYXJlIHZhbGlkCgkgIFRoZXkgYXJlIGZvciA4OC4ya0h6LCAxNzYuNGtIeiBhbmQgMTkya0h6LgoKMjAxMC0wMy0yNiAxNDoxNjozOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IFRha2Ugc2FtcGxlcmF0ZSwgd2lkdGggYW5kIG51bWJlciBvZiBjaGFubmVscyBmcm9tIHRoZSBTVFJFQU1JTkZPCgkgIC4uLmFuZCB1cGRhdGUgaXQgZnJvbSB0aGUgZnJhbWUgaGVhZGVycyBpZiBpdCBzaG91bGQgY2hhbmdlIGZvciBzb21lIHJlYXNvbi4KCSAgVGhpcyBhbGxvd3MgcGxheWJhY2sgb2YgZmlsZXMgd2l0aCBvZGQgc2FtcGxlIHJhdGVzLgoKMjAxMC0wMy0yNiAxMzo0NTo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IEZpeCBBWVVWLT5JNDIwIGZyYW1lIGNvcHlpbmcKCjIwMTAtMDMtMjYgMTM6MzQ6MTcgKzAxMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBTZXQgY29ycmVjdCBnZXRjYXBzL3NldGNhcHMgZnVuY3Rpb25zIG9uIHNyY3BhZHMgYW5kIHNpbXBsaWZ5IHRoZW0KCSAgVGhpcyBmaXhlcyBkb3duc3RyZWFtIG5lZ290aWF0aW9uLCB1cHN0cmVhbSBuZWdvdGlhdGlvbiBpc24ndCByZWFsbHkKCSAgc3VwcG9ydGVkIGJ5IGpwZWdlbmMgeWV0LgoJICBGaXhlcyBidWcgIzYxMzc4OS4KCjIwMTAtMDMtMjYgMTA6MzE6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5oOgoJICB2aWRlb2JveDogQWx3YXlzIGZpbGwgdGhlIGNvbXBsZXRlIGZyYW1lIGlmIGJvcmRlcnMgc2hvdWxkIGJlIGFkZGVkCgkgIFRoaXMgbWFrZXMgc3VyZSB0aGF0IHdlIGRvbid0IGdldCBhbnkgZ2FwcyBiZXR3ZWVuIHJlY3RhbmdsZXMgYmVjYXVzZQoJICBvZiBjaHJvbWEgc3Vic2FtcGxpbmcgZm9yIGV4YW1wbGUuCgoyMDEwLTAzLTE4IDIyOjEyOjQwICswMDAwICBEYW1pZW4gTGVzcGlhdSA8ZGFtaWVuLmxlc3BpYXVAaW50ZWwuY29tPgoKCSogYXV0b2dlbi5zaDoKCSAgYXV0b2dlbi5zaDogRG9uJ3QgY2FsbCBjb25maWd1cmUgd2l0aCAtLWVuYWJsZS1wbHVnaW4tZG9jcwoJICBjb25maWd1cmUgZ2l2ZXMgYSBuaWNlIHdhcm5pbmc6CgkgIGNvbmZpZ3VyZTogV0FSTklORzogdW5yZWNvZ25pemVkIG9wdGlvbnM6IC0tZW5hYmxlLXBsdWdpbi1kb2NzCgkgIGFuZCBpbmRlZWQsIEkgY291bGQgbm90IGZpbmQgYW55dGhpbmcgaW4gdGhlIGNvbmZpZ3VyZS5hYyBvciB0aGUgbTQKCSAgbWFjcm9zIHRoYXQgd291bGQgYWxsb3cgZW5hYmxpbmcgdGhhdCBvcHRpb24uIFJlbW92ZSBpdCB0aGVuLgoKMjAxMC0wMy0yMiAxNjo1ODoyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94Lmg6CgkgIHZpZGVvYm94OiBSZWZhY3RvciBib3hpbmcgdG8gcmVkdWNlIGNvZGUgZHVwbGljYXRpb24KCjIwMTAtMDMtMjIgMTM6MTM6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBTaW1wbGlmeSBjYXBzIHRyYW5zZm9ybWF0aW9uCgoyMDEwLTAzLTIxIDIwOjE0OjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogQWRkIGNvbnN0IHF1YWxpZmllciB0byB0aGUgc291cmNlIGZyYW1lIGRhdGEKCjIwMTAtMDMtMjMgMTc6NDc6NDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IG9ubHkgc2VlayB3aGVuIGluIHByb3BlciBzdGF0ZQoJICAuLi4gYW5kIGRhdGEgc3RydWN0dXJlcyBjYW4gYmUgdGhyZWFkLXNhZmVseSBhY2Nlc3NlZC4KCSAgU2VlICM2MDE2MTcuCgoyMDEwLTAzLTIzIDE3OjM0OjUwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBtYXRyb3NrYWRlbXV4OiBzdXBwb3J0IChwdWxsIG1vZGUpIG5lZ2F0aXZlIHNlZWsgcmF0ZQoKMjAxMC0wMy0xOCAxNToyOTowMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIG1hdHJvc2thZGVtdXg6IHRyYWNrIGNsaXAgZHVyYXRpb24gaW4gc2VnbWVudAoKMjAxMC0wMy0xOCAxMzozOTowNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogcHJlZmVyIGluZGV4IG9mIHZpZGVvIHRyYWNrIHRvIHBlcmZvcm0gc2Vla2luZwoKMjAxMC0wMy0yNSAyMjo1ODo0NyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJICBkdG1mZGV0ZWN0OiBpZiB3ZSB0ZWxsIHRoYXQgd2UgaGFuZGxlIGdhcCBmbGFncywgdGhlbiBkbyBzbwoKMjAxMC0wMy0yNSAyMjo1NTozMiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJICBkdG1mZGV0ZWN0OiB1c2UgZ2xpYiB0eXBlcwoKMjAxMC0wMy0yNSAyMjo1NDo0OSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJICBkdG1mZGV0ZWN0OiBmaXggY2xhc3NpZmljYXRpb24KCjIwMTAtMDMtMjUgMjI6NTM6MjAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSAgZHRtZmRldGVjdDogcmVmb3JtYXQgbWVzc2FnZSBkb2NzCgkgIFVzZSBhIGxpc3QgbGlrZSBpbiBvdGhlciBlbGVtZW50IGRvY3MgYXMgYW4gdW50d2Vha2VkIGRvY2Jvb2sgdGFibGUgbG9vayB1Z2x5LgoKMjAxMC0wMy0yNCAxNjoxOTo1MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBmaXggdHlwbyBpbiBoZWFkZXIgdmFsaWRhdGlvbiBjaGVjawoKMjAxMC0wMy0yNCAxODo1MzoyMCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNTVjZDUxNCB0byBjMWQwN2RkCgoyMDEwLTAzLTIzIDE5OjQ2OjQzICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5oOgoJICBpY3lkZW11eDogSGFuZGxlIHVwc3RyZWFtIENvbnRlbnQtVHlwZS4KCSAgQWxsb3dzIHVzIHRvIGhhbmRsZSBTaG91dENhc3QgVFYgKE5TVikgc3RyZWFtcy4KCSAgSWYgdGhlIHVwc3RyZWFtIGNhcHMgaGF2ZSB0aGUgJ2NvbnRlbnQtdHlwZScgZmllbGQgc2V0IHRvIHZpZGVvL25zdiwgdGhlbgoJICB3ZSBzaG9ydGN1dCB0aGUgdHlwZWZpbmRpbmcgYW5kIHNldCB2aWRlby94LW5zdiBkaXJlY3RseS4KCjIwMTAtMDMtMjMgMTk6MzA6NTAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogU2V0IHRoZSBDb250ZW50LVR5cGUgSFRUUCBoZWFkZXIgb24gdGhlIGNhcHMuCgkgIEZpcnN0IHN0ZXAgdG8gZml4aW5nIFNob3V0Q2FzdCAoTlNWKSBzdHJlYW1pbmcuCgoyMDEwLTAzLTIzIDAyOjM4OjQzIC0wNDAwICBUcmlzdGFuIE1hdHRoZXdzIDx0cmlzdGFuQHNhdC5xYy5jYT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb2VsZW1lbnQuYzoKCSogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOgoJICBvc3g6IGZpeCBjb21waWxlciB3YXJuaW5ncwoJICBBZGRlZCB2b2lkIHBhcmFtZXRlciB0byBhdm9pZCBvbGQtc3R5bGUgZGVmaW5pdGlvbiB3YXJuaW5nLgoJICBBZGRlZCAtV25vLWFnZ3JlZ2F0ZS1yZXR1cm4gZmxhZyB0byBhdm9pZCBlcnJvbmVvdXMgYWdncmVnYXRlIHJldHVybiB3YXJuaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEzNjYzCgoyMDEwLTAzLTIzIDAwOjE1OjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOgoJICB0ZXN0czogdXNlIGxvb3AgdGVzdCBmb3IgbG9uZy1ydW5uaW5nIHZpZGVvY3JvcCBjaGVjawoJICBUaGlzIHNob3VsZCBhdm9pZCB0aW1lb3V0cyBvbiBzbG93IG1hY2hpbmVzLgoJICBGaXhlcyAjNTk3NzM5LgoKMjAxMC0wMy0yMiAxNzoyNjozNyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2ZsYWMvZ3N0ZmxhYy5jOgoJKiBleHQvcHVsc2UvcGx1Z2luLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2suYzoKCSogZ3N0LWxpYnMvZ3N0L2dldHRleHQuaDoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgIGkxOG46IGJ1aWxkIGZpeGVzOiAjaWYgLT4gI2lmZGVmIGZvciBFTkFCTEVfTkxTCgoyMDEwLTAzLTIyIDE3OjI1OjA5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvZ3N0LWkxOG4tcGx1Z2luLmg6CgkgIGkxOG46IGZpeCB0aGUgYnVpbGQKCSAgRG9uJ3QgaW5sY3VkZSBsb2NhbGUuaCB3aGljaCB3ZSBpbmNsdWRlIGluIGdldHRleHQuaCBpZiBuZWVkZWQuIEd1YXJkIHRoZQoJICBpbmxjdWRlIGxpa2Ugd2UgZG8gaW4gdGhlIHNpbWlsbGFyIGhlYWRlcnMgaW4gY29yZS4KCjIwMTAtMDMtMjIgMTM6MTY6MzMgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIEFkZCAtV3dyaXRlLXN0cmluZ3MKCSAgYW5kIGZpeCBpdHMgd2FybmluZ3MKCjIwMTAtMDMtMjIgMTI6MDI6MTYgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgQWRkIC1XcmVkdW5kYW50LWRlY2xzIGZsYWcKCSAgYW5kIGZpeCB3YXJuaW5ncyBmcm9tIGl0CgoyMDEwLTAzLTIxIDIxOjM5OjE4ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuaDoKCSAgQWRkIC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgdG8gY29uZmlndXJlIGZsYWdzCgkgIEFuZCBmaXggYWxsIHdhcm5pbmdzCgoyMDEwLTAzLTIxIDE3OjQ2OjA2ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIC1Xb2xkLXN0eWxlLWRlZmluaXRpb24gaXMgbm90IHZhbGlkIGZvciBDKysKCjIwMTAtMDMtMjEgMTc6MzY6MjggKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlLmM6CgkgIG11bHRpZmlsZTogSW5jbHVkZSBoZWFkZXJzIGluc3RlYWQgZm8gZGVmaW5pbmcgZnVuY3Rpb25zCgoyMDEwLTAzLTIxIDE3OjI0OjE0ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEFkZCBhIGxhcmdlIHNldCBvZiB3YXJuaW5nIGZsYWdzLgoJICBOb25lIG9mIHRoZW0gdHJpZ2dlciB3YXJuaW5ncyBhbnltb3JlLCBzbyBub3RoaW5nIG5lZWRlZCB0byBiZSBmaXhlZC4KCjIwMTAtMDMtMjEgMTc6MjM6NDMgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9nb29tL2NvbmZpZ19wYXJhbS5jOgoJKiBnc3QvZ29vbS9jb252b2x2ZV9meC5jOgoJKiBnc3QvZ29vbS9maWx0ZXJzLmM6CgkqIGdzdC9nb29tL2ZseWluZ19zdGFyc19meC5jOgoJKiBnc3QvZ29vbS9nb29tX2NvbmZpZ19wYXJhbS5oOgoJKiBnc3QvZ29vbS9nb29tX2NvcmUuYzoKCSogZ3N0L2dvb20vZ29vbV9maWx0ZXJzLmg6CgkqIGdzdC9nb29tL2dvb21fZnguaDoKCSogZ3N0L2dvb20vaWZzLmM6CgkqIGdzdC9nb29tL2lmcy5oOgoJKiBnc3QvZ29vbS9wbHVnaW5faW5mby5jOgoJKiBnc3QvZ29vbS90ZW50YWNsZTNkLmM6CgkqIGdzdC9nb29tL3RlbnRhY2xlM2QuaDoKCSAgTWFrZSBnb29tIG5vdCB1c2UgYWdncmVnYXRlIHJldHVybnMKCjIwMTAtMDMtMjEgMTU6MTc6NDYgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbHV0aWxzLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxhY2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdsaW1pdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3VkcHNpbmsuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9maWx0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOgoJKiB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSAgQWRkIC1Xb2xkLXN0eWxlLWRlZmluaXRpb24gZmxhZwoJICBBbmQgZml4IHRoZSB3YXJuaW5ncwoKMjAxMC0wMy0yMCAwMDo1NDoxNCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvaGFsL2hhbC5jOgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0aGR2MTM5NHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHB1c2hmaWxlc3JjLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSogZ3N0L2dvb20vY29uZmlnX3BhcmFtLmM6CgkqIGdzdC9nb29tL2dvb21fY29uZmlnX3BhcmFtLmg6CgkqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6CgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogc3lzL29zcy9nc3Rvc3NtaXhlcnRyYWNrLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW5fYnVmZmVyX2xpc3QuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzoKCSAgQWRkIC1Xd3JpdGUtc3RyaW5ncyB0byB0aGUgY29uZmlndXJlIGZsYWdzCgkgIC4uLiBhbmQgZml4IGFsbCB3YXJuaW5ncwoKMjAxMC0wMy0yMSAxMToxNDoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IEFkZCBzdXBwb3J0IGZvciB0aGUgcmVtYWluaW5nIEFSR0IgZm9ybWF0cwoJICBBbmQgaGFuZGxlIEFZVVYgbGlrZSBBUkdCLCB3ZSBuZWVkIG5vIFlVViBzcGVjaWZpYyBoYW5kbGluZy4KCjIwMTAtMDMtMjAgMjE6MzA6NTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBBZGQgc3VwcG9ydCBmb3IgUkdCIGFuZCB4UkdCIGlucHV0CgoyMDEwLTAzLTIwIDIxOjEzOjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogQWRkIHN1cHBvcnQgZm9yIEFSR0IgaW5wdXQKCjIwMTAtMDMtMjAgMjA6NDY6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBBZGQgc3VwcG9ydCBmb3IgZ2VuZXJhdGluZyBBUkdCIG91dHB1dAoKMjAxMC0wMy0yMCAxMDo0Nzo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5oOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9tbXguaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBBZGQgc3VwcG9ydCBmb3IgQUJHUiBhbmQgUkdCQQoJICBOb3cgYWxsIDQgQVJHQiB2YXJpYW50cyBhcmUgc3VwcG9ydGVkIGJ5IHZpZGVvbWl4ZXIuCgoyMDEwLTAzLTIwIDEwOjI0OjU2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogTW92ZSBjaHJvbWEga2V5aW5nIHBhcmFtZXRlcnMgaW50byBzdGFjayB2YXJpYWJsZXMgdG8gcHJldmVudCBtdWx0aXBsZSBwb2ludGVyIGRlcmVmZXJlbmNlcyBwZXIgcGl4ZWwKCjIwMTAtMDMtMjAgMTA6MjA6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBNb3ZlIGNvbG9yIGNvbnZlcnNpb24gbWF0cml4ZXMgaW50byBzdGFjayB2YXJpYWJsZXMgdG8gc3BlZWQgdXAgcHJvY2Vzc2luZwoKMjAxMC0wMy0yMCAxMDoxODowNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IFVzZSBjb3JyZWN0IG1hdHJpeGVzIHRvIGNvbnZlcnQgY2hyb21hIGtleWluZyBjb2xvciB0byBZVVYKCjIwMTAtMDMtMTkgMTg6NTE6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBBZGQgc3VwcG9ydCBmb3IgZGlmZmVyZW50IGNvbG9yIG1hdHJpeGVzCgoyMDEwLTAzLTE5IDE4OjIxOjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogUmVuYW1lIGFuZCBtb3ZlIGZ1bmN0aW9ucyBhcyBmdXJ0aGVyIHByZXBhcmF0aW9uIGZvciBzdXBwb3J0aW5nIG1vcmUgY29sb3IgZm9ybWF0cwoKMjAxMC0wMy0xOSAxODoxODowOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmg6CgkgIGFscGhhOiBSZW1vdmUgc29tZSB1bm5lZWRlZCBjYWxjdWxhdGlvbnMgYW5kIGluc3RhbmNlIHN0cnVjdCBmaWVsZHMKCSAgQW5kIGRvY3VtZW50IHRoZSBpbnN0YW5jZSBzdHJ1Y3QgZmllbGRzIGEgYml0IGJldHRlcgoKMjAxMC0wMy0xOSAxODoxMToxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmg6CgkgIGFscGhhOiBTb21lIHByZXBhcmF0aW9ucyBmb3Igc3VwcG9ydGluZyBtb3JlIGNvbG9yIGZvcm1hdHMKCjIwMTAtMDMtMTkgMTc6MDk6MDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgaDI2NHBheTogZml4IGNvbmZpZy1pbnRlcnZhbCBwcm9wZXJ0eQoJICBVc2UgdGhlIHNhbWUgdW5pdHMgZm9yIGNvbXBhcmluZyB0aGUgZWxhcHNlZCB0aW1lIGFnYWluc3QgdGhlIGludGVydmFsLgoJICBGaXhlcyAjNjEzMDEzCgoyMDEwLTAzLTE5IDE2OjQ0OjAwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmg6CgkgIGFscGhhY29sb3I6IEltcGxlbWVudCBjb2xvci1tYXRyaXggc3VwcG9ydCBhbmQgdXNlIGludGVnZXIgYXJpdGhtZXRpYyBvbmx5CgkgIEFscGhhY29sb3Igbm93IHVzZXMgdGhlIGNvcnJlY3QgbWF0cml4ZXMgZm9yIFNEVFYgYW5kIEhEVFYgYW5kIGNhbgoJICBjb252ZXJ0IGJldHdlZW4gdGhlbS4KCjIwMTAtMDMtMTkgMTU6MDM6NDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcDogdXNlIEdUeXBlIGZyb20gLWJhc2UgYW5kIGJ1bXAgcmVxdWlyZWQgdmVyc2lvbgoJICBVc2UgdGhlIHRyYW5zcG9ydCBmbGFncyBHVHlwZSBmcm9tIC1iYXNlIGFuZCBidW1wIHRoZSByZXF1aXJlZCB2ZXJzaW9uIG9mIC1iYXNlCgkgIGJlY2F1c2Ugb2YgdGhpcy4KCjIwMTAtMDMtMTkgMDA6MDU6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FwZXRhZy9NYWtlZmlsZS5hbToKCSAgYXBldGFnOiBtaW5vciBNYWtlZmlsZS5hbSBzdXJnZXJ5CgkgIC1JJCh0b3Bfc3JjZGlyKS9nc3QtbGlicy8gaXMgYWxyZWFkeSBpbiAkKEdTVF9DRkxBR1MpCgoyMDEwLTAzLTE4IDE3OjMwOjI2ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHMgPT4gZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlCgoyMDEwLTAzLTA0IDIyOjEyOjM1ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZXh0L3JhdzEzOTQvZ3N0MTM5NGNsb2NrLmM6CgkgIGR2MTM5NHNyYzogRml4IGludGVybmFsIGNsb2NrCgkgIEZpeGVzICM1OTM5MTAuCgoyMDEwLTAzLTE4IDIxOjE0OjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9NYWtlZmlsZS5hbToKCSogZXh0L2VzZC9NYWtlZmlsZS5hbToKCSogZXh0L2xpYmNhY2EvTWFrZWZpbGUuYW06CgkqIGV4dC9wdWxzZS9NYWtlZmlsZS5hbToKCSogZXh0L3Nob3V0Mi9NYWtlZmlsZS5hbToKCSogZXh0L3NwZWV4L01ha2VmaWxlLmFtOgoJKiBleHQvd2F2cGFjay9NYWtlZmlsZS5hbToKCSogZ3N0L2F1cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9hdmkvTWFrZWZpbGUuYW06CgkqIGdzdC9mbHgvTWFrZWZpbGUuYW06CgkqIGdzdC9pY3lkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L2ludGVybGVhdmUvTWFrZWZpbGUuYW06CgkqIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbToKCSogZ3N0L3F0ZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9yZXBsYXlnYWluL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvdWRwL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L3dhdnBhcnNlL01ha2VmaWxlLmFtOgoJKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkqIHN5cy9vc3MvTWFrZWZpbGUuYW06CgkqIHN5cy93YXZlZm9ybS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9NYWtlZmlsZS5hbToKCSAgYnVpbGQ6IE1ha2VmaWxlLmFtIGNsZWFudXBzCgkgIE1vc3RseSBhZGQgJChHU1RfQkFTRV9DRkxBR1MpIHdoZXJlIGl0IHdhcyBtaXNzaW5nLCBidXQgYWxzbyBmaXggdXAKCSAgb3JkZXIgb2YgZmxhZ3MgYW5kIGxpYnMgaWYgbmVlZGVkIChzZWUgZG9jcy9yYW5kb20vbW92aW5nLXBsdWdpbnMpLgoKMjAxMC0wMy0xOCAxODo0OToyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogZml4IHJlZHVuZGFudCBmdW5jdGlvbiByZWRlY2xhcmF0aW9uIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEwLTAzLTE4IDE5OjAwOjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuaDoKCSAgYWxwaGE6IFJlbW92ZSByZW1haW5pbmcgZmxvYXRpbmcgcG9pbnQgYXJpdGhtZXRpYyB3aGVuIHByb2Nlc3NpbmcgYSBwaXhlbAoKMjAxMC0wMy0xOCAxODo1NTozNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IFJlZmFjdG9yIGNocm9tYSBrZXlpbmcgaW50byBhIHNpbmdsZSBmdW5jdGlvbgoJICBUaGlzIHJlZHVjZXMgY29kZSBkdXBsaWNhdGlvbiBvbmNlIHdlIGFkZCBzdXBwb3J0IGZvciBtb3JlIGNvbG9yIGZvcm1hdHMuCgoyMDEwLTAzLTE4IDE0OjMxOjM1ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5LmM6CgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZXNkL2VzZG1vbi5jOgoJKiBleHQvZXNkL2VzZHNpbmsuYzoKCSogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc3JjLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc2luay5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NyYy5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzoKCSogZXh0L2hhbC9nc3RoYWxhdWRpb3NpbmsuYzoKCSogZXh0L2hhbC9nc3RoYWxhdWRpb3NyYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2pwZWcvZ3N0c21va2VkZWMuYzoKCSogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzoKCSogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzoKCSogZXh0L2xpYm1uZy9nc3RtbmcuaDoKCSogZXh0L2xpYm1uZy9nc3RtbmdkZWMuYzoKCSogZXh0L2xpYm1uZy9nc3RtbmdlbmMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmcuaDoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSogZXh0L21pa21vZC9nc3RtaWttb2QuYzoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9rYXJhb2tlLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2JyZWFrbXlkYXRhLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2VmZW5jZS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZpZ2F0aW9udGVzdC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZzZWVrLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHB1c2hmaWxlc3JjLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL25lZ290aWF0aW9uLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Byb2dyZXNzcmVwb3J0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Rlc3RwbHVnaW4uYzoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkqIGdzdC9tZWRpYW4vZ3N0bWVkaWFuLmM6CgkqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2xpbWl0ZXIuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzoKCSogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcGdvb2dsZS5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvdGVtcGxhdGUuYzoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NtaXhlcmVsZW1lbnQuYzoKCSogc3lzL29zcy9nc3Rvc3NzaW5rLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXIuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzID0+IGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZQoKMjAxMC0wMy0xOCAxNDowMjozMCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L29sZGNvcmUvTWFrZWZpbGUuYW06CgkqIGdzdC9vbGRjb3JlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0L29sZGNvcmUvZ3N0YWdncmVnYXRvci5oOgoJKiBnc3Qvb2xkY29yZS9nc3RlbGVtZW50cy5jOgoJKiBnc3Qvb2xkY29yZS9nc3RmZHNpbmsuYzoKCSogZ3N0L29sZGNvcmUvZ3N0ZmRzaW5rLmg6CgkqIGdzdC9vbGRjb3JlL2dzdG1kNXNpbmsuYzoKCSogZ3N0L29sZGNvcmUvZ3N0bWQ1c2luay5oOgoJKiBnc3Qvb2xkY29yZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSogZ3N0L29sZGNvcmUvZ3N0bXVsdGlmaWxlc3JjLmg6CgkqIGdzdC9vbGRjb3JlL2dzdHBpcGVmaWx0ZXIuYzoKCSogZ3N0L29sZGNvcmUvZ3N0cGlwZWZpbHRlci5oOgoJKiBnc3Qvb2xkY29yZS9nc3RzaGFwZXIuYzoKCSogZ3N0L29sZGNvcmUvZ3N0c2hhcGVyLmg6CgkqIGdzdC9vbGRjb3JlL2dzdHN0YXRpc3RpY3MuYzoKCSogZ3N0L29sZGNvcmUvZ3N0c3RhdGlzdGljcy5oOgoJICBSZW1vdmUgb2xkY29yZSBkaXJlY3RvcnkKCSAgVGhlIGVsZW1lbnRzIGhhdmUgYmVlbiB1bnVzZWQgZm9yIGFnZXMgYW5kIGFsbCBpbXBvcnRhbnQgb25lcyBoYXZlIGJlZW4KCSAgcmVwbGFjZWQgb3IgY29waWVkIGVsc2V3aGVyZS4KCjIwMTAtMDMtMTggMTM6NDU6MDggKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVjb2Rlci5jOgoJICBhdmk6IFJlbW92ZSBvbGQgZmlsZQoJICBTZWVtcyB0byBiZSBsZWZ0b3ZlciBmcm9tIHRoZSAwLjQgZGF5cyBvciBzby4KCjIwMTAtMDMtMTggMTI6NDQ6NTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJICBwdWxzZTogdXNlICNpZmRlZiByYXRoZXIgdGhhbiAjaWYgY29uZGl0aW9uYWxzCgoyMDEwLTAzLTE4IDEyOjIwOjE3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheTogZG8gbm90IGNhbGwgX3B1c2hfdHMgd2l0aCB1bm5lZWRlZCAoYW5kIHdyb25nKSB0aW1lIHBhcmFtZXRlcgoJICBGaXhlcyAjNjEzMjA2LgoKMjAxMC0wMy0xOCAxMTozMzo1OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBmaXggdHlwbyBpbiBoZWFkZXIgdmFsaWRhdGlvbiBjaGVjawoKMjAxMC0wMy0xOCAwMTo1MToxOSArMDEwMCAgSmFuIFVyYmHFhHNraSA8d3VsY3plckB3dWxjemVyLm9yZz4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogcHV0IG1vcmUgaW5mb3JtYXRpb24gaW4gdGhlIG1ldGFkYXRhCgkgIEFkZGl0aW9uYWwgdGFncyBhcmU6IGF1ZGlvY29kZWNpZCwgdmlkZW9jb2RlY2lkIGZyYW1lcmF0ZSBhbmQgKGluIHRoZQoJICBub24tbGl2ZSBjYXNlKSBmaWxlc2l6ZS4KCSAgV2hpbGUgYXQgaXQsIGZpeCBpbmRleCByZXdyaXRpbmcgdG8gdXBkYXRlIGR1cmF0aW9uIGFuZCBmaWxlc2l6ZQoJICB2YWx1ZXMgZXZlbiBpZiB0aGUgaW5kZXggaXMgZW1wdHkuCgkgIEZpeGVzICM2MTMwOTQuCgoyMDEwLTAzLTE3IDIxOjMzOjI4ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmg6CgkqIGdzdC9nb29tL2dvb21fY29uZmlnLmg6CgkqIGdzdC9nb29tL21hdGh0b29scy5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJICBBZGQgLVd1bmRlZiB0byBjb25maWd1cmUgZmxhZ3MKCSAgYW5kIGZpeCB0aGUgcmVzdWx0aW5nIHdhcm5pbmdzCgoyMDEwLTAzLTE3IDIwOjAyOjE2ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIC1XbWlzc2luZy1wcm90b3R5cGVzIGlzIG5vdCB2YWxpZCBmb3IgQysrCgoyMDEwLTAzLTE3IDE5OjM1OjEwICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWcuaDoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnbGltaXRlci5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBBZGQgLVdyZWR1bmRhbnQtZGVjbHMgd2FybmluZyBmbGFnCgkgIEFsc28gZml4IGNvbXBpbGUgaXNzdWVzCgoyMDEwLTAzLTE3IDE4OjQ5OjExICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5oOgoJICBGaXggd2FybmluZ3MgaW4gZXhwZXJpbWVudGFsIHBsdWdpbnMsIHRvbwoKMjAxMC0wMy0xNyAxODoyMzowMCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvYW5ub2RleC9nc3Rhbm5vZGV4LmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuaDoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5oOgoJKiBleHQvYW5ub2RleC9nc3RjbW1scGFyc2VyLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWx1dGlscy5jOgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuaDoKCSogZXh0L2pwZWcvTWFrZWZpbGUuYW06CgkqIGV4dC9qcGVnL2dzdGpwZWcuYzoKCSogZXh0L2pwZWcvZ3N0anBlZy5oOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3N0cmVhbXJlYWRlci5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrc3RyZWFtcmVhZGVyLmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2JyZWFrbXlkYXRhLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdnNlZWsuYzoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJKiBnc3QvZGVidWd1dGlscy90ZXN0cGx1Z2luLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5hc206CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL21teC5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkqIGdzdC9nb29tL2dvb21fZnguaDoKCSogZ3N0L2dvb20yazEvZmlsdGVycy5jOgoJKiBnc3QvZ29vbTJrMS9maWx0ZXJzLmg6CgkqIGdzdC9sYXcvbXVsYXctY29udmVyc2lvbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguaDoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguaDoKCSogZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuYzoKCSogZ3N0L3J0cC9mbnYxaGFzaC5jOgoJKiBnc3QvcnRwL2ZudjFoYXNoLmg6CgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmg6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5kZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVucGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5wYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5oOgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3Qvc21wdGUvZ3N0bWFzay5jOgoJKiBnc3Qvc21wdGUvZ3N0bWFzay5oOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guaDoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuaDoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmg6CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkb3JpZW50Lmg6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc3BlY3RyYXRpb2Nyb3AuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9hbXBsaWZ5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYmJhbmQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jaGVibGltaXQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9keW5hbWljLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZWNoby5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2ludmVydC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Bhbm9yYW1hLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNiYW5kLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNsaW1pdC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpc3VidGl0bGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGRlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9lcXVhbGl6ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdsaW1pdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jndm9sdW1lLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NoYXBld2lwZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVjdHJ1bS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2ZpbHRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3k0bWVuYy5jOgoJKiB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2cGFjay5jOgoJKiB0ZXN0cy9leGFtcGxlcy9lcXVhbGl6ZXIvZGVtby5jOgoJKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9sZXZlbC1leGFtcGxlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL3NwZWN0cnVtLWV4YW1wbGUuYzoKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIEFkZCAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVzIHdhcm5pbmcgZmxhZ3MKCSAgQW5kIGZpeCBhbGwgdGhlIHdhcm5pbmdzLgoKMjAxMC0wMy0xNyAxNjoyMzoyNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkgIG1wNGdkZXBheTogaW1wcm92ZSBjb25zdGFudER1cmF0aW9uIGd1ZXNzaW5nCgkgIFdoZW4gbm8gY29uc3RhbnREdXJhdGlvbiBoYXMgYmVlbiBnaXZlbiBpbiB0aGUgY2FwcywgdHJ5IHRvIGRlcml2ZSBvbmUgZnJvbSB0aGUKCSAgdGltZXN0YW1wIGRpZmZlcmVuY2UgYmV0d2VlbiBwYWNrZXRzLiBBbHNvIGtlZXAgZG9pbmcgdGhpcyBmb3IgZWFjaCBwYWNrZXQKCSAgYmVjYXVzZSBzb21lIGJyb2tlbiBzdHJlYW1zIG1pZ2h0IHNpbXBseSBwcm92aWRlIHdyb25nIHRpbWVzdGFtcHMuCgoyMDEwLTAzLTE2IDIzOjQzOjM5ICswMTAwICBKYW4gVXJiYcWEc2tpIDx3dWxjemVyQHd1bGN6ZXIub3JnPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBQdXQgd2lkdGggYW5kIGhlaWdodCBpbiB0aGUgbWV0YWRhdGEKCSAgU29tZSBwbGF5ZXJzIHVzZSB0aGF0IGluZm8gdG8gc2NhbGUgdGhlaXIgZGlzcGxheS4KCSAgU2VlICM2MTMwOTQuCgoyMDEwLTAzLTE2IDIzOjMyOjQ1ICswMTAwICBKYW4gVXJiYcWEc2tpIDx3dWxjemVyQHd1bGN6ZXIub3JnPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBkb24ndCBwdXQgdGltZXN0YW1wcyBsYXJnZXIgdGhhbiBHX01BWElOVDMyIGluIHRoZSBGTFYgdGFncwoJICBGb3Igbm9uLWxpdmUgaW5wdXQgcmVzcG9uZCBieSBwdXNoaW5nIEVPUywgZm9yIGxpdmUgd3JhcCB0aGUKCSAgdGltZXN0YW1wcyBldmVyeSBHX01BWElOVDMyIG1pbGlzZWNvbmRzLgoJICBGaXhlcyAjNjEzMDAzLgoKMjAxMC0wMy0xNiAyMzo0MDoxMiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cDogYWxzbyB1c2UgZ192YWx1ZV9zZXRfc3RhdGljX3N0cmluZygpIGhlcmUgZm9yIHN0YXRpYyBzdHJpbmdzCgoyMDEwLTAzLTE2IDIxOjIzOjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkgIGFscGhhY29sb3I6IEZpeCBSR0JBPC0+QVlVViBjb252ZXJzaW9uCgoyMDEwLTAzLTE2IDIxOjE2OjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuaDoKCSAgYWxwaGE6IFJlbW92ZSByZWR1bmRhbnQgaW5zdGFuY2UgZmllbGQKCjIwMTAtMDMtMTYgMjE6MTA6MDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBQcm90ZWN0IHByb3BlcnR5IHZhbHVlcyBmcm9tIGNoYW5nZXMgZHVyaW5nIGZyYW1lIHByb2Nlc3NpbmcKCjIwMTAtMDMtMTUgMjM6Mjk6NTUgKzAzMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgcG5nZW5jOiBVc2UgcG5nX2dldF9pb19wdHIoKSBpbnN0ZWFkIG9mIGFjY2Vzc2luZyBpb19wdHIgZGlyZWN0bHkKCSAgRml4ZXMgIzYxMjcwMCAoZm9yIHRoZSBsYXN0IHRpbWUhKQoKMjAxMC0wMy0xNSAyMzoyOTowNiArMDMwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIHBuZzogQ2hlY2sgZm9yIGxpYnBuZyA+PSAxLjIgaW5zdGVhZCBvZiBsaWJwbmcxMgoKMjAxMC0wMy0xNiAwMToyOTozNiArMDEwMCAgSmFuIFVyYmHFhHNraSA8d3VsY3plckB3dWxjemVyLm9yZz4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkgIGZsdm11eDogQWx3YXlzIHB1dCBhIGR1cmF0aW9uIHRhZyBpbiB0aGUgbWV0YWRhdGEKCSAgU29tZSBGbGFzaCBwbGF5ZXJzIChmb3IgaW5zdGFuY2UgSlcgUGxheWVyKSBhbHdheXMgZXhwZWN0IGEgZHVyYXRpb24KCSAgdGFnLCBvdGhlcndpc2UgdGhleSBkb24ndCBzdGFydCBwbGF5YmFjay4KCSAgSWYgZHVyYXRpb24gY2FuIGJlIHF1ZXJpZWQgZnJvbSB0aGUgc2luayBwYWRzIG9yIGlzIHByb3ZpZGVkIGFzIGEgdGFnLAoJICB1c2UgaXQuIE90aGVyd2lzZSB0cnkgdG8gZGV0ZXJtaW5lIGl0IGZyb20gdGhlIGxhc3Qgc2VlbiB0aW1lc3RhbXAgb2YKCSAgdGhlIHNpbmsgcGFkcyBhZnRlciBFT1MgYW5kIHJld3JpdGUgaXQgaW4gdGhlIGhlYWRlciBiZWZvcmUgd3JpdGluZwoJICB0aGUgaW5kZXguCgoyMDEwLTAzLTE2IDAwOjM1OjQ2ICswMTAwICBKYW4gVXJiYcWEc2tpIDx3dWxjemVyQHd1bGN6ZXIub3JnPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSAgZmx2bXV4OiBSZW1vdmUgdGhlIHNlbmRfY29kZWNfZGF0YSBmaWVsZCBmcm9tIEdzdEZsdlBhZAoJICBUaGF0IGZpZWxkIGlzIG5vdCB1c2VkIGFueW1vcmUgYWZ0ZXIgdGhlIGNoYW5nZXMgaW4KCSAgOWZkZWNiYzFjMTFmNGU1YWY2NTc4YmJhMzJhOWIzMjc3MTAyOWQzMy4KCjIwMTAtMDMtMTYgMTM6NTM6MjYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IGdldCBmYW1pbHkgb2YgZXh0ZXJuYWwgc29ja2V0cyB0b28KCSAgR2V0IHRoZSBmYW1pbHkgb2YgZXh0ZXJuYWxseSBjb25maWd1cmVkIHNvY2tldHMgc28gdGhhdCB3ZSBjYW4gY29uZmlndXJlIGl0CgkgIGNvcnJlY3RseS4KCjIwMTAtMDMtMTUgMjA6Mzc6NTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSAgYWxwaGFjb2xvcjogQWRkIHN1cHBvcnQgZm9yIHRoZSByZW1haW5pbmcgQVJHQiBmb3JtYXRzCgoyMDEwLTAzLTE1IDE5OjE2OjE4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkgIGFscGhhY29sb3I6IFNpbXBsaWZ5IEFSR0I8LT5BWVVWIGNvbnZlcnNpb25zIGJ5IGNvZGUgZ2VuZXJhdGlvbiBtYWNyb3MKCjIwMTAtMDMtMTUgMTk6MDc6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBnc3QvYWxwaGEvTWFrZWZpbGUuYW06CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuaDoKCSAgYWxwaGE6IE1pbm9yIGNsZWFudXBzIGFuZCBtb3ZlIGRlY2xhcmF0aW9ucyBpbnRvIGEgc2VwYXJhdGUgaGVhZGVyIGZpbGUKCjIwMTAtMDMtMTUgMTg6NTg6NTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL01ha2VmaWxlLmFtOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IFVzZSBHc3RWaWRlb0ZpbHRlciBhcyBiYXNlIGNsYXNzIGZvciBhdXRvbWF0aWMgUW9TIHN1cHBvcnQKCjIwMTAtMDMtMTUgMTg6NTA6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuaDoKCSAgYWxwaGFjb2xvcjogQWRkIHN1cHBvcnQgZm9yIGlucGxhY2UgY29udmVyc2lvbnMgZnJvbSBBWVVWIHRvIEFSR0IKCjIwMTAtMDMtMTUgMTg6MTQ6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuaDoKCSAgYWxwaGFjb2xvcjogVXNlIGxpYmdzdHZpZGVvIGZvciBjYXBzIHBhcnNpbmcKCjIwMTAtMDMtMTUgMTg6MDk6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL01ha2VmaWxlLmFtOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5oOgoJICBhbHBoYWNvbG9yOiBVc2UgR3N0VmlkZW9GaWx0ZXIgYXMgYmFzZSBjbGFzcyBmb3IgYXV0b21hdGljIFFvUyBzdXBwb3J0CgoyMDEwLTAzLTE1IDE4OjA3OjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkgIGFscGhhY29sb3I6IFNvbWUgbWlub3IgY2xlYW51cAoKMjAxMC0wMy0xNSAxNDoxNjo1OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmg6CgkgIHNwZWV4ZGVjOiBVc2Ugc3BlZXhfc3RlcmVvX3N0YXRlX2luaXQoKSBpbnN0ZWFkIG9mIHRoZSBkZXByZWNhdGVkIGluaXRpYWxpemF0aW9uIG1hY3JvCgkgIEZpeGVzIGJ1ZyAjNjEyNzc3LgoKMjAxMC0wMy0xNSAwMTowOTo0OSArMDEwMCAgSmFuIFVyYmHFhHNraSA8d3VsY3plckB3dWxjemVyLm9yZz4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogQ29ycmVjdGx5IG1hcmsgYnVmZmVycyBhcyBkZWx0YSB1bml0cwoJICBNYXJrIHZpZGVvIGludGVyZnJhbWVzLCB2aWRlbyBjb2RlYyBkYXRhIGJ1ZmZlcnMgYW5kIGF1ZGlvIGJ1ZmZlcnMgKGlmCgkgIGl0J3Mgbm90IGFuIGF1ZGlvLW9ubHkgc3RyZWFtKSBhcyBkZWx0YSB1bml0cy4KCjIwMTAtMDMtMTQgMTk6MzI6MjAgKzAxMDAgIEphbiBVcmJhxYRza2kgPHd1bGN6ZXJAd3VsY3plci5vcmc+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IFN1cHBvcnQgc3RyZWFtaGVhZGVycwoJICBQdXQgdGhlIEZMViBoZWFkZXIsIHRoZSBtZXRhZGF0YSB0YWcgYW5kIChpZiBwcmVzZW50KSBjb2RlYwoJICBpbmZvcm1hdGlvbiBpbiB0aGUgc3RyZWFtaGVhZGVyIHRvIGFsbG93IHRoZSBtdXhlciB0byBiZSB1c2VkIGZvcgoJICBzdHJlYW1pbmcuCgoyMDEwLTAzLTE0IDAxOjM4OjIxICswMTAwICBKYW4gVXJiYcWEc2tpIDx3dWxjemVyQHd1bGN6ZXIub3JnPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBQcmVhbGxvY2F0ZSBpbmRleCBzcGFjZSBhbmQgZmlsbCBpdCBhZnRlciBmaW5pc2hpbmcgb3V0cHV0CgkgIE1ha2UgdGhlIGluZGV4IGFwcGVhciBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBmaWxlLCB3aGljaCBpcyB3aGF0IG1vc3QKCSAgcGxheWVycyBhcmUgZXhwZWN0aW5nLgoJICBGaXhlcyAjNjAxMjM2LgoKMjAxMC0wMy0xNSAxMzo0NzoxMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IE1pbm9yIGNvZGluZyBzdHlsZSBmaXhlcyBhbmQgY2xlYW51cAoKMjAxMC0wMy0xNCAwMTozNDowMiArMDEwMCAgSmFuIFVyYmHFhHNraSA8d3VsY3plckB3dWxjemVyLm9yZz4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkgIGZsdm11eDogQWRkIGEgaXMtbGl2ZSBwcm9wZXJ0eQoJICBJZiBpdCBpcyBzZXQsIHRoZSBtdXhlciB3aWxsIG5vdCB3cml0ZSB0aGUgaW5kZXguIERlZmF1bHRzIHRvIGZhbHNlLgoKMjAxMC0wMy0xNCAwMToyNTo0MiArMDEwMCAgSmFuIFVyYmHFhHNraSA8d3VsY3plckB3dWxjemVyLm9yZz4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogT25seSBwdXQgdmFsaWQgc2VlayBwb2ludHMgaW4gdGhlIGluZGV4CgkgIEZvciBmaWxlcyBjb250YWluaW5nIHZpZGVvIG9ubHkgdmlkZW8ga2V5ZnJhbWVzIGFyZSB2YWxpZCBwb2ludHMgdG8KCSAgd2hpY2ggYSBwbGF5ZXIgY2FuIHNlZWsuIEZvciBhdWRpby1vbmx5IGZpbGVzIGFueSB0YWcgc3RhcnQgaXMgYSB2YWxpZAoJICBzZWVrIHBvaW50LgoJICBTZWUgIzYwMTIzNi4KCjIwMTAtMDMtMTQgMDE6MDk6MzcgKzAxMDAgIEphbiBVcmJhxYRza2kgPHd1bGN6ZXJAd3VsY3plci5vcmc+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IEZpeCBpbmRleCBidWlsZGluZyB0byBtYWtlIGVudHJpZXMgcG9pbnQgdG8gdGFnJ3Mgc3RhcnQgb2Zmc2V0CgkgIFByZXZpb3VzIGNvZGluZyB3YXMgd3JvbmdseSBpbmNyZW1lbnRpbmcgdGhlIHRvdGFsIGJ5dGUgY291bnQgYmVmb3JlCgkgIGFkZGluZyBhbiBpbmRleCBlbnRyeS4KCjIwMTAtMDMtMTUgMTM6NDA6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkgIGNhaXJvdGV4dG92ZXJsYXk6IERvbid0IHJlbmRlciB0ZXh0IG91dHNpZGUgdGhlIGZyYW1lIGJvdW5kYXJpZXMKCSAgRml4ZXMgYnVnICM2MTE5ODYuCgoyMDEwLTAzLTE1IDExOjM4OjIzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBkb24ndCBmb3JnZXQgdG8gc2VuZCBrZWVwYWxpdmUgbWVzc2FnZXMKCSAgV2hlbiB3ZSBvcGVyYXRlIGluIFRDUCBtb2RlLCBzdGlsbCBzZW5kIGtlZXBhbGl2ZSBtZXNzYWdlcyB3aGVuIHdlCgkgIG5lZWQgdG8uCgkgIEZpeGVzICM2MTI2OTYKCjIwMTAtMDMtMTMgMjM6MTk6MzUgKzAzMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSAgcG5nZW5jOiBDYWxsIHBuZ19qbXBidWYoKSBpbnN0ZWFkIG9mIGFjY2Vzc2luZyBwbmdfc3RydWN0X3B0ciBkaXJlY3RseQoJICBGaXhlcyAjNjEyNzAwIChhZ2FpbikKCjIwMTAtMDMtMTIgMTY6NDQ6MzAgKzAzMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSAgcG5nZW5jOiBDYWxsIHBuZ19lcnJvcigpIGluc3RlYWQgb2YgdXNpbmcgbG9uZ2ptcCgpIGRpcmVjdGx5LgoJICBGaXhlcyAjNjEyNzAwCgoyMDEwLTAzLTEyIDEzOjU3OjI4ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBlMjcyZjcxIHRvIDU1Y2Q1MTQKCjIwMTAtMDMtMDUgMTE6MDY6NDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBxdGRlbXV4OiBhZGQgWE1QIHBhcnNpbmcgc3VwcG9ydAoJICBVc2UgeG1wIGhlbHBlcnMgdG8gcGFyc2UgWE1QIG1ldGFkYXRhIGluIHVkdGEgYXRvbS4KCSAgRml4ZXMgIzYwOTUzOQoKMjAxMC0wMy0xMSAxMjozMjo1NiAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuaDoKCSAgdWRwOiBmaXggY29tcGlsYXRpb24gZXJyb3JzIG9uIG5vbi13aW5kb3dzLgoKMjAxMC0wMy0xMCAyMjoyMzo0MyArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5oOgoJICBtdWx0aXVkcHNpbms6IGF2b2lkIGdldHRpbmcgdGhlIHNvY2tldCBmYW1pbHkgdXNpbmcgZ2V0c29ja25hbWUoKQoKMjAxMC0wMy0xMSAxNzoyODo0NyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IHByaW50IHN0YXRlbWVudHMgZm9yIHBvaW50ZXIgZGlmZmVyZW5jZXMuCgkgIFRoaXMgZml4ZXMgaXQgZm9yIGJvdGggMzIgYW5kIDY0IGJpdAoKMjAxMC0wMy0xMSAxNzoyODozNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlcwoKMjAxMC0wMy0xMSAxNzowMzo0NyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IEZpeCBwcmludGYgZm9ybWF0dGluZyBmb3IgbWFjb3N4CgoyMDEwLTAzLTExIDE3OjAzOjA1ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlcwoKMjAxMC0wMy0xMSAxNzowMjo0NCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZS4KCjIwMTAtMDItMTkgMTM6Mzk6MDQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIGZsdnBhcnNlOiBNYWtlIHNjcmlwdCB0YWcgcGFyc2luZyBtb3JlIGZsZXhpYmxlLgoJICAqIFRoZSBuYl9lbGVtZW50cyBmb3IgYXJyYXlzIGlzIGp1c3QgYW4gaW5kaWNhdGlvbiwgd2UgY2FuIHRoZXJlZm9yZSBpZ25vcmUKCSAgaXQgYW5kIGNhcnJ5IG9uIHBhcnNpbmcgbWV0YWRhdGEgaXRlbXMgdW50aWwgd2UgcmVhY2ggdGhlIGVuZCBtYXJrZXIuCgkgICogSWYgdHlwZSA9PSAzLCB0aGVuIHRoZSBzY3JpcHQgdGFnIGNvbnRhaW5zIGEgbGlzdCBvZiBvYmplY3QgZm9sbG93ZWQKCSAgYnkgdGhlIGVuZCBtYXJrZXIuCgkgIFJlZmFjdG9yIGNvZGUgc2xpZ2h0bHkgdG8gaGFuZGxlIGJvdGggY2FzZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMDQ0NwoKMjAxMC0wMy0xMSAxNTo1MTo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOgoJICB0ZXN0czogZml4IG1ldGFkYXRhIG5vdCB3cml0YWJsZSB3YXJuaW5ncyBpbiBpbnRlcmxlYXZlIGFuZCBkZWludGVybGVhdmUgdGVzdHMKCjIwMTAtMDMtMTEgMTU6Mzg6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXBldjJtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzdjJtdXguYzoKCSAgdGVzdHM6IGZpeCBtZXRhZGF0YSBub3Qgd3JpdGFibGUgd2FybmluZ3Mgd2l0aCBhcGV2Mm11eCBhbmQgaWQzdjJtdXggdGVzdHMKCjIwMTAtMDMtMTEgMTU6MjQ6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IGZpeCBtZXRhZGF0YSB3cml0YWJsZSB3YXJuaW5ncwoJICBTZXQgbWV0YWRhdGEgb24gYnVmZmVyIGZpcnN0LCB3aGVuIHRoZSByZWZjb3VudCBpcyBzdGlsbCAxLCBhbmQgb25seQoJICByZWYgYWdhaW4gYWZ0ZXJ3YXJkcy4KCjIwMTAtMDMtMTEgMTU6MDI6NDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogaWdub3JlIHN0cmVhbSB3aXRoIGludmFsaWQgaGVhZGVyIHRpbWUgbWV0YWRhdGEKCjIwMTAtMDMtMDggMTQ6NTc6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBTZXQgc3RyZWFtLWZvcm1hdD1yYXcgb24gQUFDIGNhcHMKCSAgU2V0IHN0cmVhbS1mb3JtYXQ9cmF3IGZvciBBQUMgY2FwcywgYXMgdGhhdCBpcyB0aGUKCSAgZXhwZWN0ZWQgQUFDIGZvcm1hdCB0byBiZSBpbiB0aGlzIGNvbnRhaW5lciBmYW1pbHkuCgkgIEZpeGVzICM1NjYyNTAKCjIwMTAtMDMtMTEgMTI6NTY6MTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGNoZWNrIGZvciBOVUxMIGJlZm9yZSBkb2luZyBzdHJjbXAKCSAgQ2hlY2sgdGhlIGNvbm5lY3Rpb24gYW5kIGFkZHJlc3MgdHlwZSBmb3IgTlVMTCBiZWZvcmUgZG9pbmcgc3RyY21wIGFuZAoJICBjcmFzaGluZy4KCSAgRml4ZXMgIzYxMjU1MwoKMjAxMC0wMy0xMSAxMToyMDo1OSArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBkZjhhN2M4IHRvIGUyNzJmNzEKCjIwMTAtMDMtMTEgMTE6MDk6NTUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSAgYnVpbGQ6IGluY2x1ZGUgc3RkbGliLmggZm9yIGF0b2koKQoKMjAxMC0wMy0xMSAxMDozMzowMCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJICBhdWRpb3Bhbm9yYW1hOiBtb3ZlIGludmFyaWFudCBjaGVjayBvdXQgb2YgdGhlIGlubmVyIGxvb3AKCSAgSW1wcm92ZXMgcGVyZm9ybWFuY2UgZm9yIHNpbXBsZSBtZXRob2QuCgoyMDEwLTAzLTEwIDIyOjE1OjA0ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIFVwZGF0ZSBDWFhGTEFHUywgdG9vLCBqdXN0IGxpa2UgQ0ZMQUdTCgoyMDEwLTAzLTEwIDIxOjAxOjIwICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgVXBkYXRlIGZvciByZWNlbnQgY2hhbmdlcyB0byBjb21tb24gc3VibW9kdWxlCgkgIFRoaXMganVzdCByZXBsYWNlcyBldmVyeSAiJEVSUk9SX0NGTEFHUyIgdXNhZ2Ugd2l0aCBhIHVzYWdlIG9mCgkgICIkV0FSTklOR19DRkxBR1MgJEVSUk9SX0NGTEFHUyIgdG8gZ2V0IHRoZSBzYW1lIGZ1bmN0aW9uYWxpdHkgYXMKCSAgcHJldmlvdXNseS4KCSAgQWN0dWFsbHkgdXNpbmcgdGhhdCBzZXBhcmF0aW9uIHdpbGwgaGFwcGVuIGxhdGVyLgoKMjAxMC0wMy0xMCAyMTo1MjowOSArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA5NzIwYTdkIHRvIGRmOGE3YzgKCjIwMTAtMDMtMTAgMjA6NDM6NTcgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMGI2ZTA3MiB0byA5NzIwYTdkCgoyMDEwLTAzLTEwIDEwOjUxOjI4IC0wODAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IFJlc2V0IHdpbmRvd3MgZXJyb3IgY29kZSBhZnRlciBnZXR0aW5nIGNvcnJlc3BvbmRpbmcgZXJyb3IgbWVzc2FnZS4KCjIwMTAtMDMtMDkgMTc6MzI6MjcgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguaDoKCSAgYXZpbXV4OiBwdXQgdGhlIGNvZGVjX2RhdGEgYmxvYiBpbnRvIHRoZSBhY3R1YWwgZGF0YSBmb3IgTVBFRzQgdmlkZW8sIHRvIG1hdGNoIG90aGVyIGltcGxlbWVudGF0aW9ucyBpbiB0aGUgd2lsZC4KCjIwMTAtMDMtMTAgMTY6MDk6NTYgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gN2NjNWViNCB0byAwYjZlMDcyCgoyMDEwLTAyLTIzIDIxOjA2OjU1IC0wMzAwICBUaGFkZXUgTGltYSBkZSBTb3V6YSBDYXNjYXJkbyA8Y2FzY2FyZG9AaG9sb3Njb3Bpby5jb20+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICB4aW1hZ2VzcmM6IHNlbmQgbmV3X3NlZ21lbnQgd2l0aCBHU1RfRk9STUFUX1RJTUUgZm9ybWF0CgkgIEluc3RlYWQgb2YgdXNpbmcgQmFzZVNyYyBkZWZhdWx0IGZvcm1hdCBHU1RfRk9STUFUX0JZVEVTLCBzZW5kIGl0IGluCgkgIEdTVF9GT1JNQVRfVElNRS4KCSAgU2lnbmVkLW9mZi1ieTogVGhhZGV1IExpbWEgZGUgU291emEgQ2FzY2FyZG8gPGNhc2NhcmRvQGhvbG9zY29waW8uY29tPgoJICBGaXhlcyAjNjExNjU5CgoyMDEwLTAzLTEwIDExOjQ2OjA2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHB1c2ggbW9kZTsgYWxzbyByZXBvcnQgc2Vla2FibGUgd2l0aG91dCBhbiBlbGVtZW50IGluZGV4CgkgIC4uLiBzaW5jZSByZWNlbnQgY29kZSBhbHNvIHNlZWtzIGFyb3VuZCB0byBvYnRhaW4gcmVxdWlyZWQgZGF0YQoJICBmcm9tIGF2aSBpbmRleC4KCjIwMTAtMDMtMDkgMTg6MDY6NTIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogYWRkIHNvbWUgY2hlY2sgYW5kIHN0YW5kYXJkaXplZCBzZWVrIGV2ZW50IGhhbmRsaW5nIGluIHB1c2ggbW9kZQoKMjAxMC0wMy0wOSAxODowNToyOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBmaXggb2Zmc2V0IGhhbmRsaW5nIGluIHB1c2ggbW9kZSBzZWVraW5nCgkgIFB1c2ggbW9kZSBzZWVraW5nIHVzZXMgc2FtZSBpbmRleCBkYXRhIGFzIHB1bGwgbW9kZSwgYW5kIHN0b3JlcwoJICBvZmZzZXQgdG8gZGF0YSBpbiBjaHVuaywgd2hlcmVhcyBwdXNoIG1vZGUgb3BlcmF0ZXMgaW4gY2h1bmtzLAoJICBhbmQgYXMgc3VjaCBuZWVkcyBvZmZzZXQgY29uc2lzdGVudGx5IGNvcnJlc3BvbmRpbmcgdG8gY2h1bmsgaGVhZGVycy4KCSAgQWxzbyBmaXggZGV0ZXJtaW5pbmcgYmVzdCBtYXRjaGluZyBzdHJlYW0gZm9yIGluY29taW5nIG5ld3NlZ21lbnQgZXZlbnQsCgkgIGFzIHdlbGwgYXMgc2V0dGluZyBzb21lIHN0cmVhbSBzdGF0ZSBhY2NvcmRpbmdseS4KCjIwMTAtMDItMjYgMjE6Mjk6NDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgIGZsdmRlbXV4OiBjb25kdWN0IGluZGV4IHNjYW4gaW4gdGFzayB0aHJlYWQKCSAgLi4uIHJhdGhlciB0aGFuIGluIHNlZWtpbmcgdGhyZWFkLCB3aGljaCBtaWdodCB0aGVuIG9jY3VweSBtYWlubG9vcAoJICBmb3Igc29tZSB0aW1lIHdpdGggcG9zc2libGUgdW5yZXNwb25zaXZlIHNpZGUtZWZmZWN0cy4KCjIwMTAtMDItMjYgMjE6Mjc6MzMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBmbHZkZW11eDogYXZvaWQgaW5kZWZpbml0ZSBpbmRleCBncm93dGgKCSAgVGhhdCBpcywgY2hlY2sgZm9yIGFuZCBkbyBub3QgYWRkIGFuIGluZGV4IGVudHJ5IHRoYXQgaGFzIGFscmVhZHkKCSAgYmVlbiBhZGRlZC4KCjIwMTAtMDItMTggMTQ6NTc6MzkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBmbHZkZW11eDogYWxzbyBjb2xsZWN0IGluZGV4IGluZm8gb24tdGhlLWZseSBpbiBwdWxsIG1vZGUKCjIwMTAtMDItMTggMTI6NDI6MzEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5oOgoJICBmbHZkZW11eDogaW5jcmVtZW50YWxseSBidWlsZCBpbmRleCBpbiBwdWxsIG1vZGUKCSAgU2NhbiBmb3IgbmVlZGVkIHBhcnQgdXBvbiBhIHNlZWsgYXMgb3Bwb3NlZCB0byBkb2luZyBhIGNvbXBsZXRlIHNjYW4KCSAgYXQgc3RhcnR1cCwgd2hpY2ggbWF5IHRha2Ugc29tZSB0aW1lIGRlcGVuZGluZyBvbiBmaWxlIGFuZC9vciBwbGF0Zm9ybS4KCSAgQWxzbyBhY2NlcHQgaW5kZXggbWV0YWRhdGEgaW4gcHVsbCBtb2RlIGFuZCBwZWVrIGZvciBzb21lIG1ldGFkYXRhCgkgIGF0IHRoZSBlbmQgb2YgdGhlIGZpbGUgd2hlbiBkZWVtZWQgYXBwcm9wcmlhdGUuCgoyMDEwLTAyLTE4IDEyOjI2OjQ2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IHNvbWUgbW9yZSB2YXJpYWJsZSBjbGVhbnVwCgoyMDEwLTAzLTA5IDE4OjI1OjIzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgZmx2ZGVtdXg6IHJlZmFjdG9yIGFkZGluZyBpbmRleCBlbnRyeQoKMjAxMC0wMi0xNyAxMTozNjoxMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIGZsdmRlbXV4OiBmaXggc2V0dGluZyBERUxUQV9VTklUIGZsYWcgb24gb3V0Z29pbmcgYnVmZmVycwoJICAuLi4gd2hpY2ggc2hvdWxkIG5vdCBkZXBlbmQgb24gaGF2aW5nIGluZGV4IGF2YWlsYWJsZSBvciBub3QuCgkgIEFsc28gcmVmYWN0b3IgcmVzdWx0aW5nIGNvbGxhcHNlZCBjb2RlLgoKMjAxMC0wMi0xMSAxOTo0Mzo0NyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGF2b2lkIGVycm9uZW91cyBjb2RlYy1kYXRhIG92ZXJyaWRpbmcgb2Ygc3RzZCBpbmZvcm1hdGlvbgoKMjAxMC0wMi0wMSAyMjozNzozMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSAgc3BlZXhkZWM6IGFkYXB0IHRvIG5ldyBvZ2dkZW11eAoJICBSZW1vdmUgYWxsIGdyYW51bGVwb3MgaGFja3MgYW5kIHNpbXBseSB1c2UgdXBzdHJlYW0gdGltZXN0YW1wcy4KCjIwMTAtMDItMDEgMjI6MzY6MDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5oOgoJICBzcGVleGRlYzogcmVmYWN0b3IgZ3JhbnVsZXBvcyBoYWNrcwoKMjAxMC0wMy0xMCAxMToxOTo0NiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcGFyc2UgY29ubmVjdGlvbiBpbmZvcm1hdGlvbgoJICBQYXJzZSB0aGUgY29ubmVjdGlvbiBpbmZvcm1hdGlvbiBmcm9tIHRoZSBTRFAgYW5kIHVzZSBpdCB0byBmaWd1cmUgb3V0IGlmIHdlIGFyZQoJICBkZWFsaW5nIHdpdGggaXB2NCBvciBpcHY2IGNvbm5lY3Rpb25zLgoKMjAxMC0wMy0wOSAxNzo1MzozMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcmVxdWlyZSBhIGRlc3RpbmF0aW9uIGZvciBtdWx0aWNhc3QKCSAgV2hlbiBzZXR0aW5nIHVwIHRoZSBtdWx0aWNhc3Qgc29ja2V0cywgd2UgbmVlZCBhIGRlc3RpbmF0aW9uIGFkZHJlc3MgdG8gbGlzdGVuCgkgIG9uIG9yIGVsc2Ugd2UgZXJyb3IuCgoyMDEwLTAzLTA5IDE3OjUyOjM1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGhhbmRsZSBpcHY2IGxpc3RlbmluZyBwb3J0cyB3aGVuIG5lZWRlZAoJICBBZGQgc29tZSBjb2RlIHRvIG1ha2UgdWRwc3JjIGxpc3RlbiBvbiBhbiBpcHY2IGFkZHJlc3Mgd2hlbiBuZWVkZWQuIFRoZQoJICBkZXRlY3Rpb24gb2YgSVBWNiBpcyBub3QgeWV0IGltcGxlbWVudGVkLgoKMjAxMC0wMy0wOSAxNzoxNToxNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuaDoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuaDoKCSAgdWRwOiB1c2UgdXJpIHBhcnNpbmcgY29kZQoJICBVc2UgdGhlIHVyaSBwYXJzaW5nIGhlbHBlciBmdW5jdGlvbnMgdG8gbWFuYWdlIHRoZSBob3N0IGFuZCBwb3J0IHBhaXJzLiBUaGlzCgkgIGFkZHMgc3VwcG9ydCBmb3IgSVBWNi4KCjIwMTAtMDMtMDkgMTc6MTM6MzEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuaDoKCSAgdWRwbmV0dXRpbHM6IGFkZCBoZWxwZXIgZnVuY3Rpb25zIGZvciB1ZHAgdXJpIGhhbmRsaW5nCgkgIEFkZCBzb21lIGhlbHBlcnMgdG8gcGFyc2UgdWRwIHVyaXMuIE1ha2Ugc3VyZSBJUFY2IGlzIHN1cHBvcnRlZCB0b28uCgoyMDEwLTAzLTA1IDE2OjA4OjQ1ICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBydHBzZXNzaW9uOiBNYWtlIGl0IHBvc3NpYmxlIHRvIGZhdm9yIG5ldyBzb3VyY2VzIGluIGNhc2Ugb2YgU1NSQyBjb25mbGljdAoJICBBZGQgYSAiZmF2b3ItbmV3IiBwcm9wZXJ0eSB0aGF0IHRlbGxzIHRoZSBzZXNzaW9uIHRvIGZhdm9yIG5ldyBzb3VyY2VzIHdoZW4KCSAgdGhlcmUgaXMgYSBTU1JDIGNvbmZsaWN0LiBUaGlzIGlzIHVzZWZ1bCBmb3IgU0lQIGNhbGxzIGFuZCBvdGhlciBzdWNoIGNhc2VzCgkgIHdoZXJlIGEgcmVtb3RlIGxvb3AgaXMgZXh0cmVtZWx5IHVubGlrZWx5LgoJICBGaXhlcyAjNjA3NjE1CgoyMDEwLTAzLTA1IDE1OjQ2OjQ4ICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBydHBzZXNzaW9uOiBNb3ZlIFNTUkMgY29uZmxpY3RzIGxpc3RzIGludG8gUlRQU291cmNlCgkgIFdlIHdpbGwgYWxzbyBuZWVkIHRvIHRyYWNrIFNTUkMgY29uZmxpY3RzIGluIHJlbW90ZSBzb3VyY2VzLgoJICBTZWUgIzYwNzYxNQoKMjAxMC0wMi0yNiAxNzoxMzo0OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogc2VuZCBrZWVwIGFsaXZlIHdoZW4gcGF1c2VkCgkgIFdoZW4gd2UgYXJlIHBhdXNlZCwgc2VuZCBrZWVwIGFsaXZlIG1lc3NhZ2VzIHRvIHRoZSBzZXJ2ZXIgc28gdGhhdCBvdXIgc2Vzc2lvbgoJICBkb2Vzbid0IHRpbWUgb3V0IHdoZW4gd2UgZ28gYmFjayB0byBwbGF5aW5nIGxhdGVyLgoKMjAxMC0wMy0xMCAwMToxMDowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDdhYTY1YjUgdG8gN2NjNWViNAoKMjAxMC0wMi0yMyAxOTo0ODoxMCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgIG11bHRpZmlsZXNpbms6IEFkZCBrZXktZnJhbWUgb3B0aW9uIHRvIG5leHQtZmlsZQoJICBUaGlzIGFsbG93cyBzZWdtZW50aW5nIG9mIE1QRUctVFMgZmlsZXMgYXQga2V5IGZyYW1lcywgd2hpY2ggaXMKCSAgZXhhY3RseSB3aGF0IGlzIG5lZWRlZCBmb3IgQXBwbGUncyBIVFRQIHN0cmVhbWluZy4KCjIwMTAtMDMtMDkgMjE6MzI6NDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA0NGVjY2U3IHRvIDdhYTY1YjUKCjIwMTAtMDMtMDggMjA6MTc6NTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBGaXggYXV0b2Nyb3BwaW5nIGZvciBvZGQgd2lkdGgvaGVpZ2h0IGRpZmZlcmVuY2VzCgoyMDEwLTAzLTA4IDIwOjAyOjE5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5oOgoJICB2aWRlb2JveDogVXNlIGxpYmdzdHZpZGVvIGZvciBmb3JtYXQgc3BlY2lmaWMgc3R1ZmYKCjIwMTAtMDMtMDggMTk6Mjg6NDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VpaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9rYXJhb2tlLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSAgYXVkaW9meDogU3luYyBwcm9wZXJ0aWVzIHRvIHRoZSBzdHJlYW0gdGltZQoKMjAxMC0wMy0wOCAxOToyMDo1OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogTWFrZSBwcm9wZXJ0aWVzIGNvbnRyb2xsYWJsZQoKMjAxMC0wMy0wOCAxOTowOTowMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IFNvbWUgY2xlYW51cAoKMjAxMC0wMi0yOCAxNTo0Nzo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0b3AuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmlwcGxlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c3RyZWFrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJICBlZmZlY3R2OiBVc2UgY29udHJvbGxlciB3aGVyZSBwb3NzaWJsZSwgb3B0aW1pemUgYSBiaXQgYW5kIG1ha2UgcHJvcGVydGllcyB0aHJlYWRzYWZlCgoyMDEwLTAyLTI2IDE2OjM1OjE3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbToKCSAgYnVpbGQ6IE1ha2Ugc29tZSBtb3JlIHJ1bGVzIHNpbGVudCBpZiByZXF1ZXN0ZWQKCjIwMTAtMDItMjYgMTU6NDE6NTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFVzZSBhdXRvbWFrZSAxLjExIHNpbGVudCBydWxlcyBpbnN0ZWFkIG9mIHNoYXZlIGlmIGF2YWlsYWJsZQoJICBUaGlzIG1ha2VzIHN1cmUgdGhhdCB3ZSB1c2Ugc29tZXRoaW5nIHRoYXQgaXMgc3RpbGwgbWFpbnRhaW5lZCBhbmQKCSAgYWxzbyBicmluZ3MgYmFjayBsaWJ0b29sIDEuNSBzdXBwb3J0LgoKMjAxMC0wMy0wOCAyMjo1NzozNCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSAgcG5nOiBmcmFjdGlvbnMgZG9uJ3QgYWxsb3cgZG91YmxlcwoKMjAxMC0wMy0wMSAxMjowMzo1NiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSAgZmx4OiBmaXggZGVzY3JpcHRpb24KCSAgSXQncyB2aWRlbywgbm90IGF1ZGlvCgoyMDEwLTAzLTA5IDE3OjQ1OjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMC4yMSA9PT0KCjIwMTAtMDMtMDkgMDA6Mjg6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjIxCgoyMDEwLTAzLTA5IDAwOjI0OjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTAtMDMtMDkgMDA6MDk6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuaDoKCSAgUmV2ZXJ0ICJBZGQgNDoyOjIsIDQ6MToxLCBhbmQgNDo0OjQgb3V0cHV0IHN1cHBvcnQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNjM3YzI2ZjYxYTJiZDhkN2IwMWY4YjZkMDgxZDk0ZGE2NWY3NDU1Ny4KCj09PSByZWxlYXNlIDAuMTAuMjAgPT09CgoyMDEwLTAzLTA4IDIzOjQyOjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4yMAoKMjAxMC0wMy0wOCAyMzo0MjowNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEwLTAzLTA4IDE2OjQ3OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogZG9uJ3Qgc2VuZCBzZWNvbmQgbmV3c2VnbWVudCBldmVudCBpbiBmcmFtZWQgbW9kZSwgZml4ZXMgbG9uZyBwbGF5YmFjayBkZWxheQoJICBEb24ndCBzZW5kIGFub3RoZXIgbmV3c2VnbWVudCBldmVudCBpZiB0aGUgdXBzdHJlYW0gbXV4ZXIvcGFyc2VyIGhhcyBhbHJlYWR5CgkgIHNlbnQgb25lIChvdGhlcndpc2UgdGhlIHNpbmsgd2lsbCB3YWl0IGZvciAkZHVyYXRpb24gYmVmb3JlIHN0YXJ0aW5nIHBsYXliYWNrKS4KCSAgRml4ZXMgbG9uZyBkZWxheSB1bnRpbCBwbGF5YmFjayBzdGFydHMgd2l0aCBmbGFjLWluLW9nZyBmaWxlcy4KCSAgRml4ZXMgIzYxMDk1OS4KCjIwMTAtMDMtMDUgMTM6NDk6MzEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGNvbmZpZ3VyZSBtdWx0aWNhc3QgY29ycmVjdGx5CgkgIFRha2UgdGhlIHRyYW5zcG9ydCBkZXN0aW5hdGlvbiBmb3IgbXVsdGljYXN0LgoJICBEaXNhYmxlIGxvb3AgYW5kIGF1dG9qb2luIGZvciBtdWx0aWNhc3Qgb24gdGhlIHVkcHNpbmtzLgoKMjAxMC0wMy0wNSAxMzo0NzozMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpY2FzdDogYWx3YXlzIGNvbmZpZ3VyZSBsb29wIGFuZCB0dGwKCSAgQWxzbyBjb25maWd1cmUgVFRMIGFuZCBsb29wIHBhcmFtZXRlcnMgd2hlbiB3ZSBhZGQgYSBjbGllbnQgYWZ0ZXIgaW5pdGlhbGl6aW5nCgkgIHRoZSBzZW5kZXIuCgoyMDEwLTAzLTA4IDEyOjEzOjMyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSAgUmV2ZXJ0ICJydHBoMjYzZGVwYXk6IGJhc2VjbGFzcyBoYW5kbGVzIHRpbWVzdGFtcHMgZm9yIHVzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDU2NDU4MWUxYjg4ZWNkNWVjNWRhODJjM2NhZmIwZTdhMmQ1OGIzMDIuCgkgIElmIHdlIGRvbid0IGNhbGwgcHVzaF90cywgdGhlcmUgd2lsbCBiZSBubyB0aW1lc3RhbXAgYXQgYWxsIG9uIHRoZSBvdXRnb2luZwoJICBidWZmZXIuCgkgIEZpeGVzICM2MTIxNTQKCjIwMTAtMDItMjMgMjI6MTY6MzkgLTA1MDAgIEJlbmphbWluIE0uIFNjaHdhcnR6IDxiZW5zQGFsdW0ubWl0LmVkdT4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmg6CgkgIEFkZCA0OjI6MiwgNDoxOjEsIGFuZCA0OjQ6NCBvdXRwdXQgc3VwcG9ydAoKMjAxMC0wMy0wMiAxMzoyMToyNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IHVzZSBwYXlsb2FkIHNpemUgdG8gZXN0aW1hdGUgYml0cmF0ZQoJICBVc2UgdGhlIGxlbmd0aCBvZiB0aGUgcGF5bG9hZCBmb3IgZXN0aW1hdGluZyB0aGUgcmVjZWl2ZXIgYml0cmF0ZSBzbyB0aGF0IGl0CgkgIG1hdGNoZXMgdGhlIGNhbGN1bGF0aW9ucyBkb25lIG9uIHRoZSBzZW5kZXIgc2lkZS4gVG9nZXRoZXIgd2l0aCB0aGUgbnVtYmVyIG9mCgkgIHBhY2tldHMgb25lIGNhbiBzY2FsZSB0aGUgYml0cmF0ZSB3aXRoIHRoZSBoZWFkZXIgb3ZlcmhlYWQgb2YgdGhlIGxvd2VyCgkgIHRyYW5zcG9ydC4KCjIwMTAtMDMtMDIgMTI6Mzk6MjAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIHJ0cHNvdXJjZTogcmVmYWN0b3IgYml0cmF0ZSBlc3RpbWF0aW9uCgkgIERvbid0IHJldXNlIHRoZSBzYW1lIHZhcmlhYmxlIHdlIG5lZWQgZm9yIHN0YXRzIGZvciB0aGUgYml0cmF0ZSBlc3RpbWF0aW9uCgkgIGJlY2F1c2Ugd2UncmUgdXBkYXRpbmcgaXQuCgkgIFJlZmFjdG9yIHRoZSBiaXRyYXRlIGVzdGltYXRpb24gY29kZSBzbyB0aGF0IGJvdGggc2VuZGVyIGFuZCByZWNlaXZlcnMgdXNlIHRoZQoJICBzYW1lIGNvZGUgcGF0aC4KCjIwMTAtMDMtMDEgMTY6NDA6MjcgLTA1MDAgIFRyaXN0YW4gTWF0dGhld3MgPHRyaXN0YW5Ac2F0LnFjLmNhPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIGFkZGVkIGJpdHJhdGUgZXN0aW1hdGlvbiB0byByZWNlaXZlci1zaWRlIHN0YXRzLCBmaXhlcyAjNjExMjEzCgoyMDEwLTAzLTAxIDE2OjAxOjI0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgIGgyNjNwYXk6IGZpeCB0eXBvIGluIGRlYnVnCgo9PT0gcmVsZWFzZSAwLjEwLjE5ID09PQoKMjAxMC0wMy0wNiAwMDo0MzowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMTkKCjIwMTAtMDMtMDYgMDA6NDI6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMC0wMy0wMyAyMDoyOTozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xOC40IHByZS1yZWxlYXNlCgoyMDEwLTAzLTAyIDE4OjI5OjQxICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IE1ha2Ugc3VyZSB3ZSBkb24ndCBzZW5kIGludmFsaWQgbmV3c2VnbWVudHMKCSAgRml4ZXMgIzYxMTUwMQoKMjAxMC0wMy0wMiAxNDowOToxNCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIG1hdHJvc2thZGVtdXg6IE1hcmsgc3RyZWFtcyBhcyBiZWluZyBFT1MgYXQgdGhlIHJpZ2h0IHRpbWUuCgkgIFRoaXMgYWxsb3dzIHVzIHRvIHN0b3Agc3RyZWFtaW5nIG9ubHkgd2hlbiBhbGwgc3RyZWFtcyBoYXZlIGdvbmUgcGFzdCB0aGUKCSAgc2VnbWVudC5zdG9wIGFuZCBub3QgYmVmb3JlLgoJICBGaXhlcyAjNjExNTAxCgoyMDEwLTAyLTI2IDE4OjEwOjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBBZHZhbmNlIHNwYXJzZSBzdHJlYW1zIG9ubHkgYXMgbXVjaCBhcyByZXF1aXJlZCB0byBrZWVwIHRoZSBnYXAgc21hbGxlciB0aGFuIDUwMG1zCgkgIENoYW5naW5nIGl0IHRvIHRoZSBuZXdlc3QgdGltZXN0YW1wIHRoYXQgd2FzIGV2ZXIgcHVzaGVkIHdpbGwKCSAgaW5jcmVhc2UgdGhlIHNlZ21lbnQgc3RhcnQgaW4gNTAwbXMganVtcHMsIHdoaWNoIGNvdWxkIGJlIGp1c3QKCSAgYWZ0ZXIgdGhlIG5leHQgc3BhcnNlIHN0cmVhbSBidWZmZXIuIEUuZy4KCSAgVmlkZW8gYXQgMS4wcywgc3BhcnNlIHN0cmVhbSBhdCAwLjVzIHdvdWxkIGp1bXAgdGhlCgkgIHNwYXJzZSBzdHJlYW0gdG8gMS4wcy4gTm93IGEgbmV3IHNwYXJzZSBzdHJlYW0gYnVmZmVyIGNvdWxkCgkgIGFwcGVhciB0aGF0IGhhcyBhIHRpbWVzdGFtcCBvZiAwLjlzIGFuZCB0aGlzIHdvdWxkIGJlCgkgIGRyb3BwZWQgZm9yIG5vIGdvb2QgcmVhc29uIGJlY2F1c2Ugb2YgYmFkIGx1Y2suCgoyMDEwLTAyLTI0IDAxOjM2OjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vZXMucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xOC4zIHByZS1yZWxlYXNlCgoyMDEwLTAyLTI0IDAyOjA1OjQ5ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmg6CgkgIE1ha2Ugc3VyZSBGTFVTSF9TVE9QIGlzIHNlbnQgc28gbm90IHRvIGxlYXZlIGRvd25zdHJlYW0gZmx1c2hpbmcuCgoyMDEwLTAyLTIzIDE3OjI1OjU0ICswMTAwICBWb2xrZXIgR3JhYnNjaCA8YnVnemlsbGEuZ25vbWUub3JnQHYubm90anVzdGhvc3RpbmcuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFVzZSAkUEtHX0NPTkZJRyBpbnN0ZWFkIG9mIHBrZy1jb25maWcgdG8gZml4IGNyb3NzIGNvbXBpbGF0aW9uCgkgIEZpeGVzIGJ1ZyAjNjEwODM5LgoKMjAxMC0wMi0yMyAxNzoyNDowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBSZXNldCBza2V3IGRldGVjdGlvbiBhZnRlciBpbnN0YW50aWF0aW5nIHRoZSBqaXR0ZXJidWZmZXIKCSAgLi4ubm90IG9ubHkgd2hlbiBnb2luZyB0byBSRUFEWS4gVGhpcyBzZXRzIGhpZ2hfbGV2ZWwgYW5kIGZyaWVuZHMgdG8KCSAgYSBtb3JlIHVzZWZ1bCB2YWx1ZS4KCjIwMTAtMDItMjMgMTc6MTk6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogUmV0dXJuIDEwMCBpZiBoaWdoLWxldmVsIGlzIDAgaW5zdGVhZCBvZiBkaXZpZGluZyBieSB6ZXJvCgoyMDEwLTAyLTIyIDEyOjI0OjE0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSAgcnRwbXA0Z2RlcGF5OiBhdm9pZCBkaXZpc2lvbiBieSAwCgkgIEF2b2lkIGEgZGl2aXNpb24gYnkgMCB3aGVuIG5vIGNvbnN0YW50RHVyYXRpb24gd2FzIHNwZWNpZmllZCBhbmQgd2hlbiBvdXQgdHdvCgkgIHRpbWVzdGFtcHMgYXJlIGVxdWFsLgoJICBGaXhlcyAjNjEwMjY1CgoyMDEwLTAyLTIyIDE4OjIwOjQ2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5oOgoJICBkdmRlcGF5OiBkb24ndCBvdXRwdXQgZnJhbWVzIHVudGlsIHdlIGhhdmUgYSBoZWFkZXIKCSAgV2FpdCBmb3IgdGhlIGNvbXBsZXRlIGZpcnN0IDYgaGVhZGVyIERJRiBwYWNrZXRzIGJlZm9yZSBvdXRwdXR0aW5nIGEgZnJhbWUuCgkgIERlY29kZXJzIG5lZWQgdGhpcyBpbmZvIHRvIGNvcnJlY3RseSBkZWNvZGUgdGhlIGRhdGEuCgkgIEZpeGVzICM2MTA1NTYKCjIwMTAtMDItMjIgMjA6NTU6MjkgKzAxMDAgIERhdmlkIEhveXQgPGRob3l0QGxsbmwuZ292PgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBGaXggaW52YWxpZCBtZW1vcnkgYWNjZXNzIGJ5IGZpcnN0IGNoZWNraW5nIGFuZCB0aGVuIHJlYWRpbmcKCSAgRml4ZXMgYnVnICM2MTA0ODMuCgoyMDEwLTAyLTE4IDA5OjA1OjUwICswMTAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsQGJhc2UtYXJ0Lm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBnc3RfcHVsc2VzaW5rX2dldF9tdXRlOiBzZXQgcmVzdWx0IGVhcmxpZXIuCgkgIEluIHRoZSBjYXNlcyB3aGVyZSBubyBidWZmZXIgd2FzIHByb2Nlc3MgeWV0IG9yIHRoZSBpbmRleCBpcyBub3QKCSAgYXZhaWxhYmxlLCBnZXRfcHVsc2VzaW5rX2dldF9tdXRlKCkgd291bGQgdW5jb25kaXRpb25hbGx5IHJldHVybgoJICBGQUxTRS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMDMzNwoKMjAxMC0wMi0xOSAxMjozNToyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtZ29vZC11bmluc3RhbGxlZC5wYy5pbjoKCSAgcGtnY29uZmlnOiBmaXggZ3N0cmVhbWVyLXBsdWdpbnMtZ29vZCB1bmluc3RhbGxlZCAucGMgZmlsZQoJICBGaXggZ3N0LXBsdWdpbnMtYmFzZSByZWZlcmVuY2UvcmVxdWlyZW1lbnQuIFRoaXMgY2F1c2VkIHNwdXJpb3VzCgkgIHByb2JsZW1zIHdpdGggdW5pbnN0YWxsZWQgLXVnbHkvLWJhZCBub3QgZmluZGluZyAtZ29vZCBwbHVnaW5zIGluCgkgIHRoZWlyIHVuaXQgdGVzdHMgKHdoZW4gZGlzdGNoZWNraW5nKS4KCjIwMTAtMDItMTkgMDE6MDM6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBwby9sdi5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE4LjIgcHJlLXJlbGVhc2UKCjIwMTAtMDItMTkgMDA6NTQ6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlLy5naXRpZ25vcmU6CgkgIE1ha2UgZ2l0IGlnbm9yZSBzaGFwZXdpcGUgZXhhbXBsZXMgYW5kIHRlc3RzCgoyMDEwLTAyLTE5IDAwOjQ2OjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgZmx2ZGVtdXg6IG1pbm9yIG1pY3JvLW9wdGltaXNhdGlvbgoJICBXZSBrbm93IHRoZXNlIHZhbHVlcyBkb24ndCBjaGFuZ2UgZHVyaW5nIHRoZSBsb29wLCBidXQgdGhlIGNvbXBpbGVyCgkgIGRvZXNuJ3QgYW5kIGhhcyB0byByZS1jaGVjayB0aGVtIGZvciBldmVyeSBpdGVyYXRpb24uCgoyMDEwLTAyLTE5IDAwOjM5OjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgZmx2ZGVtdXg6IHJlbW92ZSBzdGF0aWMga2V5d29yZCBmcm9tIHZhcmlhYmxlcyB0aGF0IHNob3VsZG4ndCBiZSBzdGF0aWMKCSAgTXVsdGlwbGUgZmx2cGFyc2UvZmx2ZGVtdXggaW5zdGFuY2VzIHNob3VsZCBiZSBhYmxlIHRvIG9wZXJhdGUgd2l0aG91dAoJICB0cmFtcGxpbmcgb3ZlciBlYWNoIG90aGVyIGJ5IGFjY2lkZW50YWxseSByZS11c2luZyB0aGUgc2FtZSAoc3RhdGljKQoJICB2YXJpYWJsZXMuIChTcG90dGVkIGJ5IE1hcmsgTmF1d2VsYWVydHMpCgoyMDEwLTAyLTE2IDAyOjA3OjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBkb2NzOiBhZGQgU2luY2U6IG1hcmtlcnMgZm9yIG5ldyBqaXR0ZXJidWZmZXIgcHJvcGVydGllcwoKMjAxMC0wMi0xOCAxODoyMDoyNCArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggb2ZmLWJ5LW9uZSBsb2dpYyBlcnJvciBpbiBmcmFtZSByYXRlIGNhcCByZWdyZXNzaW9uIGNvbW1pdAoKMjAxMC0wMi0xNyAxNjoyNzozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFVzZSB0aGUgY29ycmVjdCBkdXJhdGlvbiB3aGVuIGNvbXBhcmluZyBzZWdtZW50cwoJICBEbyBub3QgY29uZnVzZSBRdERlbXV4U2VnbWVudHMgd2l0aCBHc3RTZWdtZW50cyB3aGVuCgkgIGNvbXBhcmluZyB0aGUgdG90YWwgZmlsZSBkdXJhdGlvbiB3aXRoIHRoZSBzZWdtZW50IGR1cmF0aW9uCgkgIEZpeGVzICM2MTAyOTYKCjIwMTAtMDItMTcgMTg6MDY6MjkgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWRkIGR1cmF0aW9ucyBtb2R1bG8gMTw8MzIKCSAgRm9yIGNhbGN1bGF0aW5nIHRoZSBkdXJhdGlvbnMgb2YgZWFjaCBzYW1wbGUsIHdlIGFyZSBzdXBwb3NlZCB0byBhZGQgZWFjaAoJICBkdXJhdGlvbiBtb2R1bG8gMTw8MzIgc28gbWFrZSB0aGUgZWxhcHNlZCB0aW1lIGNvdW50ZXIgYSB1aW50MzIuCgkgIEZpeGVzICM2MTAyODAKCjIwMTAtMDItMTYgMjE6MDU6MjQgKzAxMDAgIEFuZGVycyBTa2FyZ3JlbiA8YW5kZXJzLnNrYXJncmVuIGF0IGF4aXMuY29tPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJICBtdWx0aXBhcnRkZW11eDogaW1wcm92ZSBoZWFkZXIgbWltZS10eXBlIHBhcnNpbmcKCSAgTWFrZSB0aGUgaGFuZGluZyBvZiB0aGUgbWltZSB0eXBlIHdpdGhpbiB0aGUgImJvdW5kYXJ5IiBhIGJpdCBsZXNzIG5haXZlLgoJICBUaGUgc3RhbmRhcmQgZm9yIE1JTUUgYWxsb3dzIHBhcmFtZXRlcnMgdG8gZm9sbG93IHRoZSAidHlwZSIgLyAic3VidHlwZSIKCSAgY2xhdXNlIHNlcGFyYXRlZCBmcm9tIHRoZSBtaW1lIHR5cGUgYnkgJzsnLgoJICBNb2RpZmllcyB0aGUgbXVsdGlwYXJ0ZGVtdXhlcidzIGhlYWRlciBwYXJzaW5nIHNvIGl0IGRvZXNudCBhc3N1bWUKCSAgdGhlIHdob2xlIGxpbmUgYWZ0ZXIgImNvbnRlbnQtdHlwZToiIGlzIHRoZSBtaW1lIHR5cGUgYW5kIHRodXMgbWFrZXMgaXQgYSBiaXQKCSAgbW9yZSByZXNpbGllbnQgdG8gZmluZGluZyBhYnN1cmQgbWltZSB0eXBlcyBpbiB0aGUgY2FzZSB3aGVyZSBwYXJhbWV0ZXJzIGFyZQoJICBhZGRlZC4KCSAgRml4ZXMgIzYwNDcxMQoKMjAxMC0wMi0xNiAxOTo1MzowOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYXZvaWQgc3RvcHBpbmcgTlVMTCB0YXNrcwoJICBDaGVjayB0aGUgdGFzayBmb3IgTlVMTCwgaXQgY291bGQgYmUgcGF1c2VkIGFuZCBzZXQgdG8gTlVMTCBiZWZvcmUuCgoyMDEwLTAyLTE2IDE2OjIyOjI4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IEFMQUMgY29kZWMtZGF0YSBoYW5kbGluZwoJICBBTEFDIGNvZGVjLWRhdGEgYXBwYXJlbnRseSBjb21lcyBpbiAoYXQgbGVhc3QpIHR3byBmbGF2b3VycyAobW92LCBtcDQpLAoJICBzbyB1c2UgYXRvbSBiYXNlZCBwYXJzaW5nIHRvIHJldHJpZXZlIHJlcXVpcmVkIGRhdGEsIHJhdGhlciB0aGFuCgkgIGFpbWluZyBmb3IgYSBzcGVjaWZpYyBvZmZzZXQuCgkgIFNlZSBhbHNvICM1ODA3MzEuCgoyMDEwLTAyLTE2IDE1OjUwOjIzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGRlYnVnIG1lc3NhZ2UKCjIwMTAtMDItMTEgMTk6Mzk6MDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmg6CgkgIHF0ZGVtdXg6IGhhbmRsZSBzaWduZWQgdmFsdWVzIGluIDNHUFAgbG9jYXRpb24gdGFnCgoyMDEwLTAyLTA4IDIxOjM1OjUzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IHR5cG8gaW4gZGVidWcgbWVzc2FnZQoKMjAxMC0wMi0xNiAxNTowMDoxMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiByZXNldCBzb21lIG1vcmUgc3RyZWFtIHN0YXRlIGFmdGVyIHNlZWsKCSAgSW4gcGFydGljdWxhciwgZml4ZXMgbm9uLWZsdXNoaW5nIHNlZWsuCgoyMDEwLTAyLTE2IDE0OjQ0OjExICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCBmcmFtZSByYXRlIGNhcCByZWdyZXNzaW9uCgkgIExvb2sgZm9yIGEgbm9uLXplcm8gbWluX2R1cmF0aW9uIGR1cmluZyBpbml0aWFsaXNhdGlvbiB0byBhdm9pZAoJICBpbmNvcnJlY3QgZnJhbWUgcmF0ZSBjYXBzLgoKMjAxMC0wMi0xNiAxMDoxMzoxNyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogbG9nIG1vcmUgZGV0YWlscyBpbiBidWZmZXIgcG9vbCBmaW5hbGl6ZQoJICBIZWxwcyB0byBhbGlnbiB3aXRoIHRoZSBsb2dnaW4gZnJvbSBsaWJ2NGwuCgoyMDEwLTAyLTE2IDEwOjExOjQwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGluaXQgZGF0YXN0cnVjdHVyZXMgYWZ0ZXIgcHJlLWNvbmRpdGlvbnMgY2hlY2tzCgoyMDEwLTAyLTE2IDEwOjEwOjQ1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IGFkZCBhIGZpeG1lIGZvciBoYW5kbGluZyBvdGhlciBZVVYgdmFyaWFudHMKCjIwMTAtMDItMTYgMDE6NDA6MTkgKzAwMDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYTogZml4IEdTVF9FTEVNRU5UX0VSUk9SIHVzYWdlCgkgIEZpeGVzICM2MTAwNTMuCgoyMDEwLTAyLTE2IDAwOjUwOjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBmaXggdXAgR1NUX0NYWEZMQUdTIHByb3Blcmx5CgkgIFdlIGRvbid0IHdhbnQgQyBzcGVjaWZpYyBmbGFncyBpbiBHU1RfQ1hYRkxBR1MsIHNvIGJhc2UgaXQgb24gdGhlCgkgIEdTVF9DRkxBR1MgdGhhdCBvbmx5IGNvbnRhaW5zIHRoZSBwa2ctY29uZmlnIENGTEFHUyBidXQgbm9uZSBvZgoJICB0aGUgR1NUX09QVElPTl9DRkxBR1MuIEFsc28sIHdlIG9ubHkgbmVlZCB0aGUgbG9jYWwgaW5jbHVkZXMgb25jZS4KCSAgRml4IHR5cG8gYXMgd2VsbCAoR1NUX0ZMQUdTIC0+IEdTVF9DRkxBR1MpLgoKMjAxMC0wMi0xNSAyMzoxMzo0NiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGJhc2UgR1NUX0NYWEZMQUdTIG9uIC0tY2ZsYWdzIGZyb20gcGtnLWNvbmZpZwoJICBwa2ctY29uZmlnIHNldHMgR1NUX0NGTEFHUyBhbmQgR1NUX0xJQlMuIFdlIG5lZWQgdG8gdXNlIENGTEFHUyBhcyBhIHN0YXJ0aW5nCgkgIHBvaW50IGZvciBmb3IgYm90aCBDIGFuZCBDWFggc2V0dGluZ3MuCgoyMDEwLTAxLTIwIDE4OjUyOjUxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwYmluOiByZW1vdmUgdXNlIG9mIG50cF9uc19iYXNlCgoyMDEwLTAxLTIwIDE4OjIyOjIwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgcnRwYmluOiByZW1vdmUgbW9yZSBudHBuc3RpbWUgYW5kIGNsZWFudXBzCgkgIFJlbW92ZSBzb21lIGNvZGUgd2hlcmUgd2UgcGFzcyBudHBuc3RpbWUgYXJvdW5kLCB3ZSBjYW4gZG8gbW9zdCB0aGluZ3Mgd2l0aCB0aGUKCSAgcnVubmluZ190aW1lIGp1c3QgZmluZS4KCSAgUmVuYW1lIGEgdmFyaWFibGUgaW4gdGhlIEFycml2YWxTdGF0cyBzdHJ1Y3Qgc28gdGhhdCBpdCdzIGNsZWFyIHRoYXQgdGhpcyBpcyB0aGUKCSAgY3VycmVudCBzeXN0ZW0gdGltZS4KCjIwMTAtMDEtMjAgMTg6MTk6MzQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiB1c2UgcnVubmluZ190aW1lIGZvciBqaXR0ZXIKCSAgVXNlIHRoZSBydW5uaW5nX3RpbWUgdG8gY2FsY3VsYXRlIHRoZSBqaXR0ZXIgaW5zdGVhZCBvZiB0aGUgbnRwIHRpbWUuIFBhcnQgb2YKCSAgdGhlIHBsYW4gdG8gZ2V0IHJpZCBvZiBudHBuc2Jhc2UuCgoyMDEwLTAxLTIwIDE3OjA0OjAzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBydHBiaW46IGNoYW5nZSBob3cgTlRQIHRpbWUgaXMgY2FsY3VsYXRlZCBpbiBSVENQCgkgIERvbid0IGNhbGN1bGF0ZSB0aGUgTlRQIHRpbWUgYmFzZWQgb24gdGhlIHJ1bm5pbmdfdGltZSBvZiB0aGUgcGlwZWxpbmUgYnV0IGZyb20KCSAgdGhlIHN5c3RlbWNsb2NrLiBUaGlzIGFsbG93cyB1cyB0byBnZW5lcmF0ZSBtb3JlIGFjY3VyYXRlIE5UUCB0aW1lc3RhbXBzIGluIGNhc2UKCSAgdGhlIHN5c3RlbWNsb2NrIGlzIHN5bmNocm9uaXplZCB3aXRoIE5UUCBvciBzaW1pbGFyLgoKMjAxMC0wMi0xNSAxMjoxMjozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IHByaW50ZiBmb3JtYXQgc3RyaW5nIGZpeAoJICBUaGUgY29tcGlsZXIgd2FudHMgYSBjYXN0IGhlcmUgZXZlbiB0aG91Z2ggdGhlIHR5cGUgaXMgYWxyZWFkeQoJICB0eXBlZGVmZWQgYXMgNjQtYml0IGludGVnZXIgKHByZXN1bWFibHkgYmVjYXVzZSBnbGliIGhhcyB0eXBlZGVmZWQKCSAgZ3VpbnQ2NCB0byB1bnNpZ25lZCBsb25nIGhlcmUpLgoKMjAxMC0wMi0xNSAxMDozMzowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2E6IGZpeCBwcmludGYgZm9ybWF0IHN0cmluZwoKMjAxMC0wMi0xNSAwMDo1MDoxMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmF3MTM5NC9nc3QxMzk0Y2xvY2suaDoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgIHJhdzEzOTQsIG1hdHJvc2thLCBydHBtYW5hZ2VyOiByZW1vdmUgcGFkZGluZyBmcm9tIHN0cnVjdHVyZXMKCSAgTm9uZSBvZiB0aGVzZSBlbGVtZW50IGFuZCBjbGFzcyBzdHJ1Y3R1cmVzIGFyZSBpbiBwdWJsaWMgaGVhZGVycywKCSAgc28gZG9uJ3QgbmVlZCBwYWRkaW5nLgoKMjAxMC0wMi0xNSAwMDo0NzoxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBwbzogdXBkYXRlIGZvciBuZXcgdHJhbnNsYXRvciBjb21tZW50CgoyMDEwLTAyLTE1IDAwOjQ1OjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBhZGQgY29tbWVudCBmb3IgdHJhbnNsYXRvcnMgZm9yICd4IGJ5IHknIG1lc3NhZ2UKCSAgRml4ZXMgIzYwOTcyNC4KCjIwMTAtMDItMTUgMDE6Mjg6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NhaXJvL2dzdGNhaXJvcmVuZGVyLmM6CgkgIGNhaXJvcmVuZGVyOiBGaXggbGVha2luZyBvZiBwYWQgdGVtcGxhdGVzCgoyMDEwLTAyLTE1IDAwOjUwOjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IEZpeCB1bml0IHRlc3QgZm9yIGxhdGVzdCBjaGFuZ2VzCgkgIE5vdyB0aGUgYWxwaGEgaXMgbXVsdGlwbGllZCB3aXRoIHRoZSBhbHJlYWR5IGV4aXN0aW5nIGFscGhhCgkgIHZhbHVlIGluc3RlYWQgb2Ygc2ltcGx5IGlnbm9yaW5nIGl0IGFuZCB0aGUgbHVtYS9jaHJvbWEgdmFsdWVzCgkgIGFyZSBrZXB0LCBldmVuIGlmIHRoZSBvdXRwdXQgaXMgMTAwJSB0cmFuc3BhcmVudC4KCjIwMTAtMDItMTUgMDA6NDc6MDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogSW1wcm92ZSB1bml0IHRlc3Qgb3V0cHV0IG9uIGVycm9ycwoKMjAxMC0wMi0xNCAyMzoxNzoyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDk2ZGM3OTMgdG8gNDRlY2NlNwoKMjAxMC0wMi0xMyAyMzoyODowNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYnVtcCAtYmFzZSByZXF1aXJlbWVudCB0byBnaXQKCSAgRm9yIEdTVF9SSUZGX1RBR19KVU5RLgoKMjAxMC0wMi0xMiAxNjoxMTozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkgIHY0bDJzaW5rOiBjaGFuZ2UgcmFuayB0byBOT05FIHNvIGl0IGlzIG5ldmVyIGF1dG9wbHVnZ2VkCgoyMDEwLTAyLTEzIDE4OjE4OjQyICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBmbHZkZW11eDogQXVkaW8gdGFncyB3aXRob3V0IGFueSBjb250ZW50IGFyZSB2YWxpZC4KCSAgV2Ugc2lsZW50bHkgaWdub3JlIHRoZW0gaW5zdGVhZCBvZiBlcnJvcmluZyBvdXQuCgoyMDEwLTAyLTEzIDE4OjA3OjUwICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBmbHZkZW11eDogRml4IEdTVF9DTE9DS19ESUZGIHVzYWdlLgoJICBJdCB3YXMgcHJldmlvdXNseSBjaGVja2luZyBmb3IgRElGRihhLCBiID4gNiAqIEdTVF9TRUNPTkQpIGluc3RlYWQgb2YKCSAgdGhlIHByb3BlciBESUZGKGEsYikgPiA2ICogR1NUX1NFQ09ORAoKMjAxMC0wMi0xMyAxNjoyNzowNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IERvbid0IGZvcmdldCB0byByZXNldCB0aGUgaW5kZXhlZCB2YXJpYWJsZSB3aGVuIGNsZWFuaW5nIHVwCgoyMDEwLTAyLTEzIDExOjAxOjUzICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBmbHZkZW11eDogU3BlZWR1cCBHc3RJbmRleCB1c2FnZQoJICBVc2VkIHRoZSBfYWRkX2Fzc29jaWF0aW9udiB2YXJpYW50IG9mIEdzdEluZGV4IHNpbmNlIHdlIGtub3cgaG93IG1hbnkKCSAgYXNzb2NpYXRpb25zIHdlJ3JlIGFkZGluZy4gVHJpbXMgdXAgdG8gNTAlIGZyb20gaW5kZXggZ2VuZXJhdGlvbiB0aW1lLgoJICBOb3RlIDogSXQgd291bGQgYmUgZ3JlYXQgaWYgdGhlIGluZGV4IGNvdWxkIGJlIGdlbmVyYXRlZCBvbiB0aGUgZmx5IG9yCgkgIG9uIHJlcXVlc3QgYXMgb3Bwb3NlZCB0byBiZWluZyBmdWxseSBjcmVhdGVkIGF0IHN0YXJ0dXAuCgoyMDEwLTAyLTEyIDE5OjMyOjI3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogZG9uJ3QgcmVzeW5jIHRvIGludmFsaWQgdGltZXN0YW1wcwoJICBJZiB3ZSBkZXRlY3QgYmFja3dhcmQgdGltZXN0YW1wcyBvbiB0aGUgc2VydmVyLCBkb24ndCB0cnkgdG8gcmVzeW5jIHdoZW4gd2UKCSAgZG9uJ3QgaGF2ZSBhbiBpbnB1dCB0aW1lc3RhbXAgKHN1Y2ggYXMgd2hlbiB1c2luZyBSVFNQIG92ZXIgVENQKSBpbnN0ZWFkLCBkbwoJICBub3RoaW5nIGJ1dCBhc3N1bWUgdGhlIHRpbWVzdGFtcCB3YXMgb2ssIGl0IHdpbGwgY29ycmVjdCBpdHNlbGYgd2hlbiB0aW1lIGdvZXMKCSAgZm9yd2FyZHMuCgoyMDEwLTAyLTEyIDE3OjIxOjQzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogZml4IHR5cG8KCjIwMTAtMDItMTIgMTY6NDc6MjkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBzdGFydCBvdXQgYWN0aXZlIGFuZCBub3QgYnVmZmVyaW5nCgkgIFRoZXJlIGlzIG5vIG5lZWQgdG8gc2V0IHRoZSBsYXRlbmN5IGluIHRoZSBqaXR0ZWJ1ZmZlciBpbiBfaW5pdCwgd2Ugd2lsbCBzZXQKCSAgdGhhdCBsYXRlciB3aGVuIGdvaW5nIHRvIFBBVVNFRC4KCSAgU2V0IHRoZSBqaXR0ZXJidWZmZXIgYWN0aXZlIGFuZCBub3QgYnVmZmVyaW5nIHdoZW4gc3RhcnRpbmcuCgoyMDEwLTAxLTI3IDE3OjU3OjU1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIHJ0cGJpbjogbW9yZSBidWZmZXJpbmcgd29yawoJICBXaGVuIGRlYWN0aXZhdGluZyBqaXR0ZXJidWZmZXJzIHdoZW4gdGhlIGJ1ZmZlcmluZyBzdGFydHMsIGtlZXAgdGhlIGN1cnJlbnQKCSAgcGVyY2VudCBvZiB0aGUgaml0dGVyYnVmZmVyIGFuZCBhbHNvIHNldCB0aGUgaml0dGVyYnVmZmVyIGluIHRoZSBidWZmZXJpbmcgc3RhdGUKCSAgc28gdGhhdCB3ZSBrbm93IHdoZW4gaXQncyBmaWxsZWQgYWdhaW4uCgkgIEFkZCBwcm9wZXJ0eSB0byBnZXQgdGhlIGJ1ZmZlcmluZyBwZXJjZW50YWdlIG9mIHRoZSBqaXR0ZXJidWZmZXIuCgoyMDA5LTEwLTE0IDE2OjI5OjM1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogYWRqdXN0IGxhdGVuY3kgaW4gYnVmZmVyIG1vZGUKCSAgV2hlbiB3ZSBhcmUgaW4gYnVmZmVyIG1vZGUsIGFkanVzdCB0aGUgYnVmZmVyaW5nIGxvdy9oaWdoIHRocmVzaG9sZHMgYmFzZWQgb24KCSAgdGhlIHRvdGFsIGNvbmZpZ3VyZWQgbGF0ZW5jeS4gSWYgd2UgZG9uJ3QgYW5kIHRoZXJlIGlzIGEgaHVnZSBxdWV1ZSBvciBlbGVtZW50CgkgIHdpdGggYSBiaWcgbGF0ZW5jeSBkb3duc3RyZWFtIHdlIG1pZ2h0IGRyYWluIHRoZSBjb21wbGV0ZSBxdWV1ZSBpbW1lZGlhdGVseSBhbmQKCSAgc3RhcnQgYnVmZmVyaW5nIGFnYWluLgoKMjAwOS0xMC0xMiAxMTo1NDowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGFkZCB0cy1vZmZzZXQgdG8gdGltZXN0YW1wCgkgIEFkZCB0aGUgdHMtb2Zmc2V0IHRvIHRoZSBidWZmZXIgdGltZXN0YW1wIHRvIGdldCB0aGUgZmluYWwgb3V0cHV0IHRpbWVzdGFtcCBvZgoJICB0aGUgYnVmZmVyLgoKMjAwOS0xMC0wOCAxOToyMzo1MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBiaW46IGRvIG1vcmUgYWNjdXJhdGUgYnVmZmVyIG9mZnNldHMKCSAgUmV0dXJuIHRoZSBuZXh0IHRpbWVzdGFtcCBpbiB0aGUgaml0dGVyYnVmZmVyLgoJICBVc2UgdGhlIG1pbi10aW1lc3RhbXAgb2YgdGhlIGppdHRlcmJ1ZmZlcnMgdG8gY2FsY3VsYXRlIGFuIG9mZnNldCBzbyB0aGF0IHRoZQoJICBuZXh0IHRpbWVzdGFtcCBpcyBwdXNoZWQgd2l0aCBhIHRpbWVzdGFtcCBlcXVhbCB0byBydW5uaW5nX3RpbWUuCgkgIFN0YXJ0IHByb2R1Y2luZyB0aW1lc3RhbXBzIGZyb20gMCBpbiB0aGUgYnVmZmVyaW5nIGNhc2UgdG9vLgoKMjAwOS0xMC0wOCAxODo0MjoxMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IG9ubHkgc3RhcnQgYnVmZmVyaW5nIHdoZW4gPCAxMDAlCgkgIE9ubHkgc3RhcnQgYnVmZmVyaW5nIHdoZW4gdGhlIHBlcmNlbnRhZ2UgbWVzc2FnZSBpcyA8IDEwMCAlLgoKMjAwOS0xMC0wNiAxMzozNDozNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgcnRwYmluOiBrZWVwIHRyYWNrIG9mIGVsYXBzZWQgcGF1c2UgdGltZQoJICBLZWVwIHRyYWNrIG9mIHRoZSB0aW1lIHdlIHNwZW5kIHBhdXNpbmcgdGhlIGppdHRlcmJ1ZmZlcnMgd2hlbiB0aGV5IHdlcmUKCSAgYnVmZmVyaW5nIGFuZCBkaXN0cmlidXRlIHRoaXMgZWxhcHNlZCB0aW1lIHRvIHRoZSBqaXR0ZXJidWZmZXJzLgoJICBBbHNvIGtlZXAgdGhlIGxhdGVuY3kgaW4gbmFub3NlY29uZCBwcmVjaXNpb24uCgoyMDA5LTEwLTA2IDEzOjMzOjE1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICBqaXR0ZXJidWZmZXI6IGtlZXAgdHJhY2sgb2Ygb2Zmc2V0CgkgIEtlZXAgdHJhY2sgb2YgYW4gb3V0Z29pbmcgb2Zmc2V0IHRoYXQgd2UgYWRkIHRvIGVhY2ggb3V0Z29pbmcgYnVmZmVyIHRvCgkgIGNvbXBlbnNhdGUgZm9yIFBBVVNFIHdoZW4gYnVmZmVyaW5nLgoJICBBZGp1c3QgdGhlIG9mZnNldCB3aGVuIGFjdGl2YXRpbmcuCgoyMDA5LTEwLTA2IDEzOjMwOjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcmVwb3J0IGxldmVsIHVzaW5nIGhpZ2ggd2F0ZXJtYXJrCgoyMDA5LTEwLTA1IDIxOjMxOjU5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHBiaW46IHBhc3MgcnVubmluZ190aW1lIHRvIGppdHRlcmJ1ZmZlciBwYXVzZQoJICBQYXNzIHRoZSBjdXJyZW50IHJ1bm5pbmcgdGltZSB0byB0aGUgaml0dGVyYnVmZmVyIHdoZW4gcGF1c2luZyBvciByZXN1bWluZyBzbwoJICB0aGF0IGl0IGNhbGN1bGF0ZSB0aGUgcmlnaHQgb2Zmc2V0cy4KCSAgU21hbGwgY2xlYW51cHMgYW5kIGNvbW1lbnRzLgoJICBTZXQgdGhlIGRlZmF1bHQgcnRzcHNyYyBsYXRlbmN5IHRvIDIgc2Vjb25kcy4KCjIwMDktMTAtMDUgMjA6MDk6MzAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGJpbjogYWRkIHNvbWUgY29tbWVudHMKCjIwMDktMTAtMDUgMTk6NDU6MzUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBydHBiaW46IG1vcmUgYnVmZmVyaW5nIHVwZGF0ZXMKCSAgQWRkIHNpZ25hbCB0byBwYXVzZSB0aGUgaml0dGVyYnVmZmVyLiBUaGlzIHdpbGwgYmUgZW1pdHRlZCBmcm9tIGdzdHJ0cGJpbiB3aGVuCgkgIG9uZSBvZiB0aGUgaml0dGVyYnVmZmVycyBpcyBidWZmZXJpbmcuCgkgIE1ha2UgcnRwYmluIGNvbGxlY3QgdGhlIGJ1ZmZlcmluZyBtZXNzYWdlcyBhbmQgcG9zdCBhIG5ldyBidWZmZXJpbmcgbWVzc2FnZSB3aXRoCgkgIHRoZSBtaW4gdmFsdWUuCgkgIFJlbW92ZSB0aGUgc3RhdHMgY2FsbGJhY2sgZnJvbSBqaXR0ZXJidWZmZXIgYnV0IHBhc3MgYSBwZXJjZW50IGludGVnZXIgdG8KCSAgZnVuY3Rpb25zIHRoYXQgYWZmZWN0IHRoZSBidWZmZXJpbmcgc3RhdGUgb2YgdGhlIGppdHRlcmJ1ZmZlci4gVGhpcyBhbGxvd3MgdXMKCSAgdGhlbiB0byBwb3N0IGJ1ZmZlcmluZyBtZXNzYWdlcyBmcm9tIG91dHNpZGUgb2YgdGhlIGppdHRlcmJ1ZmZlciBsb2NrLgoKMjAwOS0xMC0wNSAxMzozMjoxNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgcnRwYmluOiBwcm9wYWdhdGUgYnVmZmVyLW1vZGUgcHJvcGVydHkKCSAgUHJvcGFnYXRlIGJ1ZmZlci1tb2RlIHByb3BlcnR5IHRvIHRoZSBqaXR0ZXJidWZmZXJzLgoJICBJbnRlcmNlcHQgQlVGRkVSSU5HIG1lc3NhZ2VzIGluIHJ0cGJpbgoKMjAwOS0xMC0wMSAxNzoxNDowOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIGppdHRlcmJ1ZmZlcjogZG8gbW9yZSBidWZmZXJpbmcgaW1wbGVtZW50YXRpb24KCSAgQWRkIGNhbGxiYWNrIGZvciBidWZmZXJpbmcgc3RhdHMuCgkgIENvbmZpZ3VyZSB0aGUgbGF0ZW5jeSBpbiB0aGUgaml0dGVyYnVmZmVyIGluc3RlYWQgb2YgcGFzc2luZyBpdCB3aXRoIF9pbnNlcnQuCgkgIENhbGN1bGF0ZSBidWZmZXJpbmcgbGV2ZWxzIHdoZW4gcHVzaGluZyBhbmQgcG9wcGluZwoJICBQb3N0IGJ1ZmZlcmluZyBtZXNzYWdlcy4KCjIwMDktMTAtMDEgMTI6NDY6MjEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBqaXR0ZXJidWZmZXI6IGZsZXNoIG91dCBidWZmZXJpbmcgbW9kZSBzb21lIG1vcmUKCSAgQWRkIGEgYnVmZmVyaW5nIHN0YXRlIHRvIHRoZSBqaXR0ZXJidWZmZXIgYW5kIHdhaXQgdW50aWwgYnVmZmVyaW5nIGVuZHMgYmVmb3JlCgkgIHB1c2hpbmcgb3V0IHBhY2tldHMuCgoyMDA5LTEwLTAxIDEyOjA5OjU4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGhvb2sgdXAgdGhlIG1vZGUgcHJvcGVydHkKCSAgRXhwb3NlIGEgbW9kZSBwcm9wZXJ0eSBvbiB0aGUgaml0dGVyYnVmZmVyLgoJICBGaXggdGhlIGNhc2Ugd2hlcmUgdGltZXN0YW1wcyBhcmUgLTEgaW4gdGhlIGNoZWNrIGZvciBvdXRnb2luZyB0aW1lc3RhbXBzLgoKMjAwOS0xMC0wMSAxMToyMDowOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgaml0dGVyYnVmZmVyOiBhZGQgYnVmZmVyaW5nIG1vZGUgb3B0aW9ucwoJICBBZGQgZ2V0dGVycyBhbmQgc2V0dGVycyBmb3IgZGlmZmVyZW50IGJ1ZmZlcmluZyBtb2RlcyB0aGF0IHRoZSBqaXR0ZXJidWZmZXIgd2lsbAoJICBzdXBwb3J0LiBEZWZhdWx0IHRvIHRoZSBjdXJyZW50IHNsYXZlIG1vZGUuCgoyMDEwLTAyLTEyIDE1OjU0OjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSAgdjRsc2luazogbG93ZXIgcmFuayB0byBNQVJHSU5BTAoKMjAxMC0wMi0xMiAxNjowNjo0NSArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgZmx2ZGVtdXg6IE9idGFpbiB0aGUgaW5kZXggZnJvbSB0aGUgZW5kIG9mIGFuIGZsdiBmaWxlIGluIHB1c2ggbW9kZQoJICBBbGxvd3MgZm9yIGJldHRlciBzdXBwb3J0IG9mIHNlZWtpbmcgaW4gZmx2IGZpbGVzIHdoZW4gaW4gcHVzaCBtb2RlCgoyMDEwLTAxLTIxIDExOjU1OjE1ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpZGVtdXg6IERyb3AgdmlkZW8gZnJhbWVzIHVwIHRvIHRoZSBkZXNpcmVkIGtleWZyYW1lIGFmdGVyIGEgc2VlawoJICBUaGUgYXVkaW8gcGFja2V0cyBpbiBBVkkgYXJlIGdlbmVyYWxseSBtdXhlZCB+MC41cyBiZWZvcmUgdGhlCgkgIGNvcnJlc3BvbmRpbmcgdmlkZW8gcGFja2V0LiBUaGlzIGNoYW5nZXMgY2F1c2VzIGRvd25zdHJlYW0gdG8gb25seQoJICByZWNlaXZlIHBhY2tldHMgd2l0aCByb3VnaGx5IGNvcnJlc3BvbmRpbmcgdGltZXN0YW1wcy4KCjIwMTAtMDEtMTkgMTg6MzU6NDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBtb3JlIERJU0NPTlQgaGFuZGxpbmcKCSAgQWRkIHNvbWUgZGVidWcgaW4gdGhlIERJU0NPTlQgaGFuZGxpbmcgY29kZS4KCSAgV2hlbiB3ZSByZWNlaXZlIGEgRElTQ09OVCBpbiBwdXNoIG1vZGUsIG1hcmsgYWxsIHN0cmVhbXMgYXMgRElTQ09OVC4KCjIwMTAtMDEtMTkgMTA6NTE6MDggKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IEZpeCBfaGFuZGxlX3NlZWtfcHVzaCAoKSBhbmQgbmV3IHNlZ2VtZW50IGJlaGF2aW91cgoKMjAxMC0wMS0xOCAxNzoxMzowNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGNsZWFudXBzCgkgIE1ha2Ugc3VyZSB3ZSByZXNldCB0aGUgZGVtdXhlciBjb3JyZWN0bHkgd3J0IHBhcnNpbmcgdGhlIGluZGV4LgoJICBEb24ndCBsZWFrIHBlbmRpbmcgc2VlayBldmVudHMuCgkgIFJlbmFtZSBzb21lIG1ldGhvZHMgdG8gcmVmbGVjdCB3aGF0IHRoZXkgZG8gYW5kIHRvIGF2b2lkIGNvbmZ1c2lvbiB3aXRoIHNpbWlsYXIKCSAgbWV0aG9kIG5hbWVzLgoJICBUcnkgdG8gbWFrZSB0aGUgc2Vla2luZyB0aHJlYWRzYWZlIGJ5IHByb3RlY3RpbmcgdGhlIHNldHVwIGNvZGUgd2l0aCBhIGxvY2suCgkgIE1ha2Ugc3VyZSB3ZSBwb3N0IGVycm9ycyB3aGVuIGEgc2VlayBmYWlscy4KCjIwMTAtMDEtMTggMTE6NDU6MzggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpZGVtdXg6IHJlbmFtZSBzb21lIHZhcmlhYmxlcwoJICBzZWVrX2V2ZW50IC0+IHNlZ19ldmVudAoJICBldmVudF9zZWVrIC0+IHNlZWtfZXZlbnQKCjIwMTAtMDEtMTUgMTg6MDA6NDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiB0YWtlIGZhbGxiYWNrIGR1cmF0aW9uIGZyb20gYXZpaAoJICBXaGVuIHdlIGhhdmUgbm90IHBhcnNlZCBhbnkgaW5kZXhlcyB5ZXQsIHdlIGRvbid0IGtub3cgdGhlIGxlbmd0aCBvZiB0aGUgc3RyZWFtcwoJICBhbmQgd2UgbXVzdCB0YWtlIHRoZSBsZW5ndGggZ2l2ZW4gaW4gdGhlIGF2aWggYXMgYSBmYWxsYmFjay4KCSAgQXZvaWQgc29tZSB0eXBlY2hlY2tpbmcuCgoyMDA5LTEyLTA0IDE1OjEzOjEyICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpZGVtdXg6IFB1c2ggbW9kZSBzZWVraW5nIHN1cHBvcnQKCjIwMTAtMDItMDEgMTY6MDQ6NDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGNsZWFudXAgcHJvcGVydGllcwoJICBVc2UgbW9yZSBkZWZhdWx0IGNvbnN0YW50cy4KCSAgVXNlIHN0YXRpYyBzdHJpbmdzIHBhcmFtIGZsYWcuCgkgIEluaXQgcHJvcGVydGllcyBleHBsaWNpdGx5IGluc3RlYWQgb2YgbGV0dGluZyBnb2JqZWN0IGRvIHRoaXMuCgoyMDEwLTAyLTEyIDE1OjM0OjM4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSAgc3BlZXg6IGFkZCBtaXNzaW5nIGluY2x1ZGUKCjIwMTAtMDItMDUgMTM6Mjg6NTMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHRhZ2luamVjdC5jOgoJICB0YWdpbmplY3Q6IGZpeCBtdWx0aS12YWx1ZSB0YWcgZXhhbXBsZQoJICBXZSBuZWVkIHRvIHVzZSB7fSB0byBzcGVjaWZ5IGEgbGlzdC4KCjIwMTAtMDItMDEgMTQ6NDM6MDQgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIGF2aSx3YXY6IGFsc28gaGFuZGxlIEpVTlEgY2h1bmsgaW4gYWRkaXRpb24gdG8gSlVOSwoKMjAxMC0wMi0wNCAxNTo1OToyNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSAgcnRwcGF5OiBkb24ndCBpZ25vcmUgcmVzdWx0IGZyb20gc2V0X291dGNhcHMKCSAgc2V0X291dGNhcHMgY2FuIGZhaWwgYW5kIHdlIG5lZWQgdG8gcHJvcGFnYXRlIHRoZSByZXN1bHQgdXBzdHJlYW0uCgoyMDEwLTAyLTA0IDE1OjM2OjI0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBmbHZwYXJzZTogZml4IGNvbmZ1c2luZyBkZWJ1ZyBtZXNzYWdlcwoKMjAxMC0wMS0yNyAxMzoyODoxMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGFkZCBzb21lIG1vcmUgZGVidWcgaW5mbwoKMjAxMC0wMS0yNyAxMzoyNjo0NiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBhdm9pZCBzZWdmYXVsdCB3aGVuIHNodXR0aW5nIGRvd24KCSAgd2hlbiB3ZSBhcmUgc2h1dHRpbmcgZG93biwgd2UgbWlnaHQgc3RpbGwgcmVjZWl2ZSBzdGF0ZSB1cGRhdGVzIGZyb20gcHVsc2VhdWRpbwoJICBidXQgc2luY2Ugd2UgYXJlIHVucGFyZW50ZWQgd2Ugc2hvdWxkIG5vdCBkbyBhbnl0aGluZyB3aXRoIHRoZSBOVUxMIHBhcmVudAoJICBhbnltb3JlLgoKMjAxMC0wMS0yNiAxODozMzoyNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5oOgoJICB2aWRlb21peGVyOiBmaXggdGltZXN0YW1wIHByb2JsZW1zCgkgIFdoZW4gdGhlIHBhZCB3aXRoIHRoZSBoaWdoZXN0IGZyYW1lcmF0ZSBnb2VzIEVPUywgaW5zdGVhZCBvZiBub3QgdGltZXN0YW1waW5nCgkgIG91dHB1dCBidWZmZXJzLCBpbnRlcG9sbGF0ZSB0aW1lc3RhbXBzIGFuZCBkdXJhdGlvbnMgZnJvbSB0aGUgbGFzdCBzZWVuIG9uZXMuCgkgIEZpeGVzICM2MDgwMjYKCjIwMTAtMDItMTIgMTE6MzI6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBkb2NzOiBVcGRhdGUgZG9jdW1lbnRhdGlvbgoKMjAxMC0wMi0xMiAxMToxODoyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJICBNb3ZlZCAnc2hhcGV3aXBlJyBmcm9tIC1iYWQgdG8gLWdvb2QKCSAgRml4ZXMgYnVnICM1ODQ1MzYuCgoyMDEwLTAyLTEwIDEwOjUyOjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAyOS8yOV0gc2hhcGV3aXBlOiBQcmVzZXJ2ZSB0aGUgaW5wdXQgY29sb3IgdmFsdWVzIGluIGFsbCBjYXNlcwoKMjAxMC0wMi0xMCAxMDo1MDo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMjgvMjldIHNoYXBld2lwZTogU2NhbGUgbWFzayBhbHBoYSB2YWx1ZXMgYnkgdGhlIHNvdXJjZSBhbHBoYSB2YWx1ZXMKCjIwMTAtMDItMTAgMTA6NDI6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgW01PVkVEIEZST00gQkFEIDI3LzI5XSBzaGFwZXdpcGU6IEZpeCBBUkdCIHByb2Nlc3NpbmcKCjIwMTAtMDItMTAgMTA6MzQ6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAyNi8yOV0gc2hhcGV3aXBlOiBQcmludCBzb21lIG1vcmUgZGV0YWlscyBvbiBlcnJvci93YXJuaW5nIG1lc3NhZ2VzCgoyMDEwLTAyLTA4IDA4OjI2OjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAyNS8yOV0gc2hhcGV3aXBlOiBJbXByb3ZlL2FkZCBkZWJ1ZyBvdXRwdXQKCjIwMTAtMDItMDggMDg6MjA6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgW01PVkVEIEZST00gQkFEIDI0LzI5XSBzaGFwZXdpcGU6IEFsd2F5cyBob2xkIHRoZSBtYXNrIG11dGV4IGJlZm9yZSBzaWduYWxsaW5nIHRoZSBHQ29uZAoKMjAxMC0wMi0wOCAwODoxOTo0OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMjMvMjldIHNoYXBld2lwZTogTW92ZSBjaGFpbiBmdW5jdGlvbiBlcnJvciBjYXNlcyBhdCB0aGUgZW5kIG9mIHRoZSBmdW5jdGlvbiBhbmQgYWRkIHVzZWZ1bCBkZWJ1ZyBvdXRwdXQKCjIwMTAtMDItMDggMDg6MTI6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuaDoKCSAgW01PVkVEIEZST00gQkFEIDIyLzI5XSBzaGFwZXdpcGU6IEZpeCByYWNlIGNvbmRpdGlvbiBkdXJpbmcgc2h1dGRvd24gdGhhdCBjYW4gbGVhZCB0byBhIGRlYWRsb2NrCgoyMDEwLTAyLTA4IDA4OjExOjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAyMS8yOV0gc2hhcGV3aXBlOiBEcm9wIG1hc2sgYnVmZmVyIG9uIEZMVVNIIGV2ZW50cwoKMjAxMC0wMi0wOCAwODowOTo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5oOgoJICBbTU9WRUQgRlJPTSBCQUQgMjAvMjldIHNoYXBld2lwZTogVXBkYXRlIGNvcHlyaWdodCB5ZWFyCgoyMDEwLTAyLTA4IDA4OjA4OjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxOS8yOV0gc2hhcGV3aXBlOiBEb24ndCByZXNldCBwcm9wZXJ0aWVzIHdoZW4gZ29pbmcgUEFVU0VELT5SRUFEWQoJICBBbHNvIHVzZSBkZWZpbmVzIGZvciB0aGUgZGVmYXVsdCB2YWx1ZXMgb2YgdGhlIHByb3BlcnRpZXMuCgoyMDEwLTAxLTE2IDE2OjUyOjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxOC8yOV0gc2hhcGV3aXBlOiBSZXBsYWNlIGZsb2F0aW5nIHBvaW50IGFyaXRobWV0aWMgaW4gdGhlIGlubmVyIHByb2Nlc3NpbmcgbG9vcHMgYnkgaW50ZWdlciBhcml0aG1ldGljCgoyMDA5LTEyLTEwIDEwOjQwOjEwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxNy8yOV0gc2hhcGV3aXBlOiBEb24ndCBkbyBwb2ludGVyIGRlcmVmZXJlbmNlcyBpbiB0aGUgcHJvY2Vzc2luZyBsb29wCgkgIExvd2VycyB0aGUgdGltZSB0YWtlbiB0aGVyZSBpbiBteSB0ZXN0Y2FzZSBmcm9tIDYuOTElIHRvIDYuMjAlCgkgIGFzIG1lYXN1cmVkIGJ5IGNhbGxncmluZC4KCjIwMDktMDctMDggMTc6NTk6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgW01PVkVEIEZST00gQkFEIDE2LzI5XSBzaGFwZXdpcGU6IEFkZCBCR1JBIHN1cHBvcnQgZm9yIHZpZGVvIGluL291dHB1dAoKMjAwOS0wNy0wMiAxMToyNDo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5oOgoJICBbTU9WRUQgRlJPTSBCQUQgMTUvMjldIHNoYXBld2lwZTogQWRkIHN1cHBvcnQgZm9yIEFSR0IgdmlkZW8gaW5wdXQvb3V0cHV0CgoyMDA5LTA2LTIzIDE4OjIzOjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxNC8yOV0gc2hhcGV3aXBlOiBDb3JyZWN0bHkgaGFuZGxlIDAvMSBmcHMKCjIwMDktMDYtMDkgMTk6MTQ6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuaDoKCSAgW01PVkVEIEZST00gQkFEIDEzLzI5XSBzaGFwZXdpcGU6IEltcGxlbWVudCBiYXNpYyBRb1MKCSAgVGhpcyBjaGFuZ2UgaXMgYmFzZWQgb24gVGltJ3MgUW9TIGltcGxlbWVudGF0aW9uCgkgIGZvciBqcGVnZGVjLgoKMjAwOS0wNi0wOSAxODo0NToxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTIvMjldIHNoYXBld2lwZTogUHJveHkgcXVlcmllcyBvbiB0aGUgdmlkZW8gcGFkcyB0byB0aGUgY29ycmVjdCBwZWVycwoKMjAwOS0wNi0wOSAxODozNzo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTEvMjldIHNoYXBld2lwZTogUHJveHkgYnVmZmVyYWxsb2Mgb24gdGhlIHZpZGVvIHNpbmtwYWQKCjIwMDktMDYtMDkgMTg6MjU6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgW01PVkVEIEZST00gQkFEIDEwLzI5XSBzaGFwZXdpcGU6IFRyeSB0byB3b3JrIGlucGxhY2UgaWYgcG9zc2libGUKCSAgVGhpcyBzYXZlcyBvbmUgbmV3LCBsYXJnZSBhbGxvY2F0aW9uIHBlciBmcmFtZSBmb3IgdGhlCgkgIG1vc3QgY2FzZXMuCgoyMDA5LTA2LTA0IDA4OjU2OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NoYXBld2lwZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDkvMjldIHNoYXBld2lwZTogSW5jcmVhc2UgdGltZW91dCBvZiB0aGUgdW5pdCB0ZXN0CgoyMDA5LTA2LTAxIDIxOjI0OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwOC8yOV0gc2hhcGV3aXBlOiBGaXggc29tZSBpc3N1ZXMgdGhhdCB3ZXJlIGV4cG9zZWQgYnkgdGhlIG5ldyB1bml0IHRlc3QKCjIwMDktMDYtMDEgMjE6MjQ6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2hhcGV3aXBlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNy8yOV0gc2hhcGV3aXBlOiBBZGQgdW5pdCB0ZXN0IGZvciBzaGFwZXdpcGUKCjIwMDktMDUtMzEgMjE6MzM6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgW01PVkVEIEZST00gQkFEIDA2LzI5XSBzaGFwZXdpcGU6IEFkZCBkb2N1bWVudGF0aW9uIGFuZCBpbnRlZ3JhdGUgaW50byB0aGUgYnVpbGQgc3lzdGVtCgoyMDA5LTA1LTI5IDIxOjA3OjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNS8yOV0gc2hhcGV3aXBlOiBBZGp1c3QgYm9yZGVyIHRvIHN0aWxsIGhhdmUgZXZlcnl0aGluZyB0cmFuc3BhcmVudCBhdCAxLjAgYW5kIHRoZSBvdGhlciB3YXkgYXJvdW5kCgoyMDA5LTA1LTI5IDE2OjU1OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDQvMjldIHNoYXBld2lwZTogRGl2aWRlIHRoZSBib3JkZXIgdmFsdWUgYnkgdHdvLCBvdGhlcndpc2Ugd2UgdXNlIGEgdHdpY2UgYSB3aWRlIGJvcmRlcgoKMjAwOS0wNS0yOSAxNjo1MTo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5oOgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSAgW01PVkVEIEZST00gQkFEIDAzLzI5XSBzaGFwZXdpcGU6IEFkZCBib3JkZXIgcHJvcGVydHkgdG8gYWxsb3cgc21vb3RoIGJvcmRlcnMKCSAgLi4uYW5kIHVzZSBhIGJvcmRlciBvZiAwLjAxIGluIHRoZSBleGFtcGxlIGFwcGxpY2F0aW9uLgoKMjAwOS0wNS0yOSAxNjowMDoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvTWFrZWZpbGUuYW06CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMi8yOV0gc2hhcGV3aXBlOiBGaXggTWFrZWZpbGUgb2YgdGhlIGV4YW1wbGUgYXBwbGljYXRpb24KCjIwMDktMDUtMjkgMTU6MzI6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9NYWtlZmlsZS5hbToKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuaDoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSAgW01PVkVEIEZST00gQkFEIDAxLzI5XSBzaGFwZXdpcGU6IEFkZCBhIHNpbXBsZSBzaGFwZXdpcGUgdHJhbnNpdGlvbiBmaWx0ZXIgJiBleGFtcGxlIGFwcGxpY2F0aW9uCgoyMDEwLTAyLTA2IDE4OjE5OjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogT25seSBmbHVzaCB0aGUgRkxBQyBkZWNvZGVyIGlmIGl0IHdhc24ndCBjcmVhdGVkIHJpZ2h0IGJlZm9yZQoJICBJZiB0aGUgRkxBQyBkZWNvZGVyIGlzIGZsdXNoZWQsIGl0cyBzdGF0ZSB3aWxsIGJlIHNldCB0byBmcmFtZS1zeW5jIG1vZGUsCgkgIHdoaWNoIHdpbGwgc3luYyB0byB0aGUgbmV4dCAqYXVkaW8qIGZyYW1lIGFuZCBtYWtlcyBpdCBpZ25vcmUgYWxsIGhlYWRlcnMuCgkgIFRoaXMgcHJldmVudGVkIHRhZ3MgYW5kIGV2ZXJ5dGhpbmcgZWxzZSB0byBzaG93IHVwIHdoZW4gdXNpbmcgZmxhY2RlYwoJICBpbiBwdXNoIG1vZGUuCgkgIEZpeGVzIGJ1ZyAjNjA4ODQzLgoKMjAxMC0wMi0xMSAwMToxMjoxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNQUlOVEFJTkVSUzoKCSAgVXBkYXRlIE1BSU5UQUlORVJTCgoyMDEwLTAyLTEyIDAwOjAzOjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBiYWNrIHRvIGRldmVsb3BtZW50CgkgIFNsdXNoeSBmcmVlemUgcmVtYWlucyBpbiBlZmZlY3QuCgo9PT0gcmVsZWFzZSAwLjEwLjE4ID09PQoKMjAxMC0wMi0xMCAyMzoxODoyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjE4CgoyMDEwLTAyLTEwIDIzOjE3OjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTAtMDItMTAgMjA6MzY6NTYgKzAwMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogdGVtcG9yYXJ5IHNhZmV0eSBjaGVjayB0byBhdm9pZCBjcmFzaGVzIHdpdGggYSBjZXJ0YWluIGZpbGUKCSAgQWRkIHRlbXBvcmFyeSBjaGVjayB0byBhdm9pZCBjcmFzaGVzIHdpdGggYSBjZXJ0YWluIGZpbGUgd2hlbiBzZWVraW5nCgkgIHVudGlsIHRoZSByZWFsIGNhdXNlIG9mIHRoaXMgaXMgZmlndXJlZCBvdXQuIFNlZSAjNjA5NDA1LgoKMjAxMC0wMi0wNSAxODowNTozOSArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IHNraXAgdW5rbm93biBhdG9tcyB3aGVuIGxvb2tpbmcgZm9yIG1vb3YKCSAgRml4ZXMgYnVnICM2MDkxMDcKCjIwMTAtMDItMDUgMDI6MTM6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTcuMyBwcmUtcmVsZWFzZQoKMjAxMC0wMi0wNCAxOToxMDozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9iZy5wbzoKCSogcG8vaHUucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDEwLTAyLTA0IDE0OjQ2OjU2ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogU2V0IHRoZSBzZWdtZW50IHN0YXJ0IHRpbWUgdG8gdGhlIHJlcXVlc3RlZCBzZWVrIHRpbWUgZm9yIG5vbi1rZXlmcmFtZSBzZWVrcwoKMjAxMC0wMi0wNCAxMjowMDowMyArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggdGltZSByZXR1cm5lZCBmb3IgaW5kZXggYXQgYSBieXRlIG9mZnNldAoJICBUaGUgbG9naWMgZm9yIHNlYXJjaGluZyBmb3J3YXJkcy9iYWNrd2FyZHMgd2FzIHN3YXBwZWQKCjIwMTAtMDItMDEgMTk6MjI6MjQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkgIHNwZWV4ZGVjOiBpbml0aWFsaXplIHN0ZXJlbyBkZWNvZGluZyBzdGF0ZQoKMjAxMC0wMS0yOCAxODo1ODowOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogaW1wcm92ZSBzdHJlYW0gc3luY2hyb25pemF0aW9uCgkgIEluIHBhcnRpY3VsYXIsIGRvIG5vdCBtYWtlIGl0IHNlbmQgbmV3c2VnbWVudCB1cGRhdGVzIHRoYXQKCSAgc29ydC1vZiBjb250cmFkaWN0IHRoZSBpbmRlbnRlZCBwbGF5YmFjayBzZWdtZW50IChlLmcuIHN0YXJ0IHRpbWUpLgoKMjAxMC0wMS0yOCAxODo1MzoxOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogZml4IGJyaWRnaW5nICh0aW1lKSBnYXBzIGluIHN0cmVhbXMKCSAgQXMgYSBzaWRlIGVmZmVjdCwgYXZvaWQgc2VuZGluZyBuZXdzZWdtZW50IHVwZGF0ZXMgd2l0aCBzdGFydCB0aW1lcwoJICB0aGF0IGdvIGJhY2sgYW5kIGZvcnRoLCB3aGljaCBsZWFkcyB0byBib2d1cyBkb3duc3RyZWFtIHJ1bm5pbmdfdGltZS4KCSAgQWxzbyBmaXhlcyBzZWVraW5nIGluIGJ1ZyAjNjA2NzQ0LgoKMjAxMC0wMS0yOCAxODo0OTo1NyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogZml4IHN0cmVhbSBzeW5jaHJvbml6YXRpb24KCSAgLi4gYnkgaW5pdGlhbGl6aW5nIHN0cmVhbXMgc3RhcnRpbmcgYXQgMCwgYXMgdGhhdCBpcyBiYXNpY2FsbHkKCSAgd2hlcmUgd2UgJ3NlZWsgdG8nIGF0IHRoZSBzdGFydCBhbmQgYXNzdW1lIHN0cmVhbXMgdG8gc3RhcnQgZWxzZXdoZXJlLgoJICBBbHNvIGVuYWJsZXMgbmV3c2VnbWVudCB1cGRhdGUgZXZlbnRzIGZvciBzdWJ0aXRsZSBzdHJlYW1zLgoKMjAxMC0wMi0wMiAxMzo0MTowMyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnOiBkb24ndCBkaXJlY3RseSBhY2Nlc3MgbWVzc2FnZSwgc29tZSBtZXNzYWdlIGhhdmUgYXJncwoJICBUaGlzIGNhdXNlZCBib2d1cyBtZXNzYWdlcywgc3VjaCBhcyByZXBvcnRlZCBpbiBidWcgIzYwNzQ3MS4KCjIwMTAtMDItMDIgMDA6MDI6MzQgKzAwMDAgIERhdmlkIEhveXQgPGRob3l0QGxsbmwuZ292PgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgcG5nOiBmaXggY29tcGlsYXRpb24gd2l0aCBsaWJwbmcgMS40CgkgIHBuZ19zZXRfZ3JheV8xXzJfNF90b184KCkgaGFzIGJlZW4gZGVwcmVjYXRlZCBmb3IgYSB3aGlsZSBhbmQgd2FzCgkgIGZpbmFsbHkgcmVtb3ZlZCBpbiBsaWJwbmcgMS40LnguIFVzZSBwbmdfc2V0X2V4cGFuZF9ncmF5XzFfMl80X3RvXzgoKQoJICBpbnN0ZWFkLgoJICBGaXhlcyAjNjA4NjI5LgoKMjAxMC0wMi0wMSAxNjo0NjozNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZnJlZSB0cmFuc3BvcnRzIG9uIGVycm9ycwoJICBTZWUgIzYwODU2NAoKMjAxMC0wMi0wMSAwOToxODo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IGZpeCB1bnBvcnRhYmxlIHByaW50ZiBmb3JtYXQKCjIwMTAtMDEtMzAgMTU6MTg6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAxNWQ0N2E2IHRvIDk2ZGM3OTMKCjIwMTAtMDEtMjcgMTc6NTM6MDcgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogaW5kZXggdGltZXN0YW1wcyBzaG91bGQgYmUgaW4gc2Vjb25kcywgbm90IG1pbGxpc2Vjb25kcwoKMjAxMC0wMS0yNyAxNToyNDo1MiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSAgc3BlZXhkZWM6IGZyZWUgc29tZSBtb3JlIHdoZW4gcmVzZXR0aW5nCgkgIEZpeGVzICM2MDgyNTUuCgoyMDEwLTAxLTI3IDE1OjI0OjI0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSAgcnRwc3BlZXhwYXk6IGZpeCBvY2Nhc2lvbmFsIGJ1ZmZlciBsZWFrCgkgIEZpeGVzICM2MDgyNTUuCgoyMDEwLTAxLTI3IDE1OjIyOjQ2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBzcGVleGVuYzogcHJldmVudCBpbnZhbGlkIGFyaXRobWV0aWMgaWYgbm90IHNldHVwIHlldAoJICBGaXhlcyAjNjA4MjU1LgoKMjAxMC0wMS0yNyAxNjozNDoyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9tbXguaDoKCSAgdmlkZW9taXhlcjogRml4IGFzc2VtYmx5IHJlZ2lzdGVyIGNvbnN0cmFpbnRzCgkgIEZpeGVzIGJ1ZyAjNjA4MjA5LgoKMjAxMC0wMS0yNyAwMTo1NjowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xNy4yIHByZS1yZWxlYXNlCgoyMDEwLTAxLTI3IDAxOjUyOjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL0xJTkdVQVM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDEwLTAxLTI3IDAxOjQ5OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIGNoZWNrczogaWdub3JlIGRlaW50ZXJsYWNlIGNoZWNrIGJpbmFyeQoKMjAxMC0wMS0yNyAwMToxODo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogcHVyZ2UgYWxsIG1lbnRpb24gb2YgQ1ZTCgoyMDEwLTAxLTI2IDExOjE4OjI4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogaWdub3JlIHN0cmVhbXMgdGhhdCBmaW5pc2hlZAoJICBXaGVuIHdlIHJlY2VpdmUgYW4gVU5FWFBFQ1RFRCBmcm9tIGEgc3RyZWFtLCBtb3ZlIHRvIHRoZSBuZXh0IHN0cmVhbSBhbmQgb25seSBnbwoJICBFT1Mgd2hlbiBhbGwgc3RyZWFtcyBhcmUgRU9TLiBXaGVuIHNlbGVjdGluZyBhIHN0cmVhbSB0byBwdXNoLCBpZ25vcmUgc3RyZWFtcwoJICB0aGF0IHdlbnQgRU9TLgoJICBGaXhlcyAjNjA3OTQ5CgoyMDEwLTAxLTI1IDE3OjIzOjQzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDJzcmM6IGRvbid0IGRlcmVmIE5VTEwKCSAgRXJyb3Igb3V0IHdoZW4gdGhlIHBvb2wgZ2V0cyBzaHV0ZG93bi4KCjIwMTAtMDEtMjUgMTc6MjE6MTMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgUmV2ZXJ0ICJ2NGwyc3JjOiBkb24ndCBkZXJlZiBOVUxMIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDNkOWQzNGJkNjBmYWViOTQwYjM2ZDk5MmE0NzE2OGZjODk1MDM2YmEuCgoyMDEwLTAxLTI1IDE0OjE2OjIyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHY0bDJzcmM6IGRvbid0IGRlcmVmIE5VTEwKCSAgRXJyb3Igb3V0IHdoZW4gdGhlIHBvb2wgZ2V0cyBzaHV0ZG93bi4KCjIwMTAtMDEtMjMgMTU6MzI6NDggLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZ2VuYzogd2hlbiBjcmVhdGluZyBhbiBvdmVyZmxvdyBidWZmZXIsIGNvcHkgdGltZXN0YW1wcy4KCjIwMTAtMDEtMjMgMTQ6NDc6NTUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRtYjEgaXMgYSB2YWxpZCBmb3VyY2MgZm9yIE1vdGlvbi1KUEVHCgoyMDEwLTAxLTIzIDE0OjIwOjAyICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRldXg6IElWMzIgaXMgYWxzbyB1c2VkIGZvciBJbmRlbyAzIHZpZGVvIHN0cmVhbXMKCjIwMTAtMDEtMjIgMTY6NDg6MDEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2ljbGVzL3hpbWFnZXNyYy10ZXN0LmM6CgkgIGJ1aWxkOiBubyB1bnVzZWQgdmFyaWFibGVzIHdoZW4gZGlzYWJsaW5nIGFzc2VydHMKCjIwMTAtMDEtMjEgMjM6MTc6NDAgLTAzMDAgIFJvbGFuZCBLcmlrYXZhIDxya3Jpa2F2YUBnbWFpbC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEF2b2lkIG5lZ2F0aXZlIG92ZXJmbG93IG9uIGtleWZyYW1lIHNlYXJjaAoJICBEbyBub3Qgb3ZlcmZsb3cgbmVnYXRpdmVseSB3aGVuIHNlYXJjaGluZyBhIHByZXZpb3VzCgkgICJrZXlmcmFtZSIgb24gYXVkaW8gc3RyZWFtcy4gQ291bGQgY2F1c2UgaW5maW5pdGUgbG9vcHMKCSAgb24gYmFja3dhcmRzIHBsYXliYWNrCgkgIEZpeGVzICM2MDc3MTgKCjIwMTAtMDEtMjEgMTc6MjI6MzggLTA4MDAgIFBldGVyIHZhbiBIYXJkZW5iZXJnIDxwdmhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5oOgoJICBqcGVnZW5jOiBlbmxhcmdlIGJ1ZmZlciBpZiBsaWJqcGVnIHRlbGxzIHVzIGl0J3Mgb3V0IG9mIHNwYWNlLiBGaXhlcyBidWZmZXIgb3ZlcmZsb3cgb24gc29tZSBoaWdoLXF1YWxpdHksIGxvdy1yZXNvbHV0aW9uIGpwZWcgZW5jb2Rlcy4KCjIwMTAtMDEtMjEgMTk6MjQ6MjIgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggY29tcGlsZXIgd2FybmluZ3MgdW5kZXIgT1MgWC4KCjIwMTAtMDEtMjEgMTc6NTc6MzYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBkb24ndCBwYXJzZSBOVUxMIGluZGV4ZXMKCSAgZm9yIHNvbWUgc3RyZWFtcyB3ZSBtaWdodCBmYWlsIHRvIGZldGNoIHRoZSBpbmRleCBvZmZzZXRzLiBEb24ndCB0cnkgdG8gcGFyc2UKCSAgTlVMTCBpbmRleGVzIGluIHRob3NlIGNhc2VzLgoKMjAxMC0wMS0xOCAyMToxNTo1MSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkgIHJ0cGc3MjlwYXk6IHB0aW1lIHNob3VsZCBpcyBpbiBuYW5vc2Vjb25kcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA3NDAzCgoyMDEwLTAxLTIwIDE1OjExOjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmg6CgkgIHdhdmVuYzogUG9zdCB3YXJuaW5nIGlmIGZpbGUgaXNudCBmaW5pc2hlZCBwcm9wZXJseQoJICBXaGVuIHRoZSBwaXBlbGluZSBpcyBzaHV0IGRvd24gYW5kIHRoZSBmaWxlIGlzbid0CgkgIGZpbmlzaGVkIHByb3Blcmx5LCB3YXZlbmMgc2hvdWxkIHBvc3QgYSB3YXJuaW5nLgoJICBGaXhlcyAjNjA3NDQwCgoyMDA5LTA1LTI3IDEzOjUxOjQ0ICswMjAwICBBcm5vdXQgVmFuZGVjYXBwZWxsZSA8YXJub3V0QG1pbmQuYmU+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgbWF0cm9za2FtdXg6IG1ha2UgaW5kZXggc2l6ZSBjb25maWd1cmFibGUuCgkgIEFkZGVkIHRoZSAnbWluLWluZGV4LWludGVydmFsJyBwcm9wZXJ0eSB0byBtYXRyb3NrYW11eCwKCSAgd2hpY2ggZGV0ZXJtaW5lcyBob3cgbXVjaCB0aW1lIChuYW5vc2Vjb25kcykgaXMgbGVmdAoJICBiZXR3ZWVuIGtleWZyYW1lcyBzdG9yZWQgaW4gdGhlIGluZGV4LgoJICBGaXhlcyAjNTgzOTg1LgoKMjAxMC0wMS0yMCAxNjoyODozMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBzY2FsZSBzcHNwcHNfaW50ZXJ2YWwgdG8gbWlsbGlzZWNvbmRzCgkgIFRoZSBzcHNwcHNfaW50ZXJ2YWwgaXMga2VwdCBpbiBzZWNvbmRzLiBDb252ZXJ0IGl0IHRvIG1pbGxpc2Vjb25kcyBiZWZvcmUKCSAgY29tcGFyaW5nIGl0IHRvIGFub3RoZXIgdmFsdWUgaW4gbWlsbGlzZWNvbmRzLgoKMjAxMC0wMS0yMCAxNToxODo0NyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFsd2F5cyBrZWVwIG1lZGlhIHNlZ21lbnRzIHdpdGhpbiB0b3RhbCBkdXJhdGlvbgoJICAuLi4gYXMgb3Bwb3NlZCB0byBvbmx5IGRvaW5nIHNvIGZvbGxvd2luZyBhIHNlZWsuCgoyMDEwLTAxLTIwIDE1OjQ0OjQwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IHJlbmFtZSBzcHNwcHMtaW50ZXJ2YWwgcHJvcGVydHkKCSAgUmVuYW1lIHRoZSBzcHNwcHMtaW50ZXJ2YWwgcHJvcGVydHkgdG8gY29uZmlnLWludGVydmFsIGJlY2F1c2UgaXQgaXMgbmljZXIuCgoyMDEwLTAxLTE5IDE4OjM3OjMxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogc2tpcCBSSUZGIGFuZCBpbmRleCBpbiBwdXNoIG1vZGUKCSAgV2hlbiB3ZSBhcmUgaW4gcHVzaCBtb2RlLCB3ZSBjYW4gZW5jb3VudGVyIFJJRkYgYW5kIGlkeCB0YWdzIGluIHRoZSBkYXRhIGNodW5rCgkgIHdoZW4gd2UgYXJlIGRlYWxpbmcgd2l0aCBPRE1MIGZpbGVzLiBJbiB0aGVzZSBjYXNlcywgc2ltcGx5IHNraXAgdGhlIGNodW5rcyBhbmQKCSAgY29udGludWUgc3RyZWFtaW5nIGluc3RlYWQgb2YgZ29pbmcgRU9TLgoKMjAxMC0wMS0yMCAxMToyNzoyMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IG1vcmUgRElTQ09OVCBoYW5kbGluZwoJICBBZGQgc29tZSBkZWJ1ZyBpbiB0aGUgRElTQ09OVCBoYW5kbGluZyBjb2RlLgoJICBXaGVuIHdlIHJlY2VpdmUgYSBESVNDT05UIGluIHB1c2ggbW9kZSwgbWFyayBhbGwgc3RyZWFtcyBhcyBESVNDT05ULgoKMjAxMC0wMS0yMCAxMToyNjozNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHJlc2V0IG9uIGZsdXNoIGV2ZW50cwoJICBXaGVuIHdlIHJlY2VpdmUgYSBmbHVzaCBldmVudCBvbiB0aGUgc2lua3BhZCwgcmVzZXQgdGhlIEVPUyBzdGF0ZSBhbmQgdGhlCgkgIGZsb3dyZXR1cm4gb2YgYWxsIHN0cmVhbXMuIEFsc28gbWFyayB0aGUgc3RyZWFtcyB3aXRoIGEgRElTQ09OVC4KCjIwMTAtMDEtMjAgMTE6MjI6MDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpZGVtdXg6IHJlbmFtZSBzb21lIHZhcmlhYmxlCgkgIFJlbmFtZSB0aGUgc2Vla19ldmVudCB2YXJpYWJsZSB0byBzZWdfZXZlbnQgYmVjYXVzZSBpdCByZWFsbHkgY29udGFpbnMgdGhlCgkgIG5ld3NlZ21lbnQgZXZlbnQgdGhhdCBuZWVkcyB0byBiZSBwdXNoZWQuCgoyMDEwLTAxLTIwIDAwOjU0OjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMTRjZWM4OSB0byAxNWQ0N2E2CgoyMDEwLTAxLTE4IDE0OjQ5OjI2IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lmg6CgkgIHJ0cGgyNjRwYXk6IERvbid0IHNldCBwcm9maWxlLWxldmVsLWlkIGluIG91dCBjYXBzCgkgIFRoZSBwcm9maWxlLWxldmVsLWlkIHJlcHJlc2VudHMgcmVzdHJpY3Rpb25zIG9uIHdoYXQgY2FuIGJlIHNlbnQsIGl0IGRvZXMgbm90CgkgIGRlc2NyaWJlIHRoZSBzdHJlYW0uIFNvIGl0IHNob3VsZCBiZSByZWZsZWN0ZWQgaW4gdGhlIHNpbmsgY2FwcyBvZiB0aGUKCSAgcGF5bG9hZGVyLCBub3QgdGhlIHNyYyBjYXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA3MzUzCgoyMDEwLTAxLTE4IDE0OjQxOjEwIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgZnJvbSBzZXRfb3V0Y2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA3MzUzCgoyMDEwLTAxLTE4IDE3OjQzOjQxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aG1hY3Jvcy5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmViZmYuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZXRmZi5jOgoJICBkZWludGVybGFjZTogRml4IGxpY2Vuc2UgYW5kIGNvcHlyaWdodCBoZWFkZXJzCgoyMDEwLTAxLTE4IDE0OjU3OjQyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJICB2NGwyOiBtb3ZlIEdfRU5EX0RFQ0xTIHRvIHRoZSBlbmQKCjIwMTAtMDEtMTggMTQ6NTU6MzggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkgIHY0bDI6IGZpeCBidWZmZXJwb29sIGZpbGUgbmFtZXMgaW4gaGVhZGVyIGNvbW1lbnQKCjIwMTAtMDEtMTUgMTg6MTU6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBhdm9pZCBzb21lIHR5cGVjYXN0aW5nCgoyMDEwLTAxLTE1IDE4OjEzOjI0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogYXZvaWQgc29tZSB0eXBlIGNoZWNrcwoKMjAxMC0wMS0xNSAxODowOToxNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBhdmlkZW11eDogZmFsbGJhY2sgdG8gYXZpaCBkdXJhdGlvbgoJICB3aGVuIHdlIGhhdmUgbm90IHlldCBwYXJzZWQgdGhlIGluZGV4ZXMgKGluIHB1c2ggbW9kZSwgZm9yIGV4YW1wbGUpIHVzZQoJICB0aGUgZHVyYXRpb24gYXMgZ2l2ZW4gaW4gdGhlIGF2aWggaGVhZGVyIGluc3RlYWQgb2YgLTEuCgoyMDEwLTAxLTE1IDEzOjMyOjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZ19mcmVlIGlzIE5VTEwgc2FmZQoKMjAxMC0wMS0xNSAxMzoyNzo0MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHVzZSBERU1VWCBlcnJvcnMsIGluc3RlYWQgb2YgREVDT0RFCgkgIHF0ZGVtdXggc2hvdWxkIHVzZSBERU1VWCBlcnJvcnMsIGFuZCBub3QgREVDT0RFCgkgIENvbmZsaWN0czoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jCgoyMDEwLTAxLTE0IDE5OjE2OjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogTWlub3IgcmVmYWN0b3IKCSAgUmVwbGFjZSByZXBlYXRlZCBjb2RlIHdpdGggYSBmdW5jdGlvbiBjYWxsCgoyMDEwLTAxLTE0IDE3OjExOjEzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogSGFuZGxlIGFub3RoZXIga2luZCBvZiByZWRpcmVjdCB0cmFrCgkgIFNvbWUgdHJha3MgbWlnaHQgY29udGFpbiBhIHJlZGlyZWN0IHJ0c3AgdXJpIGluc2lkZQoJICBobmRsIGF0b20gKHdoaWNoIGlzIGEgZHJlZiBhdG9tIGVudHJ5KS4gVGhpcyBjb21taXQgbWFrZXMgcXRkZW11eAoJICBwb3N0IGEgbWVzc2FnZSB3aGVuIGl0IGZpbmRzIG9uZSBvZiB0aGVzZSB0cmFrcyBhbmQgdGhlcmUgYXJlCgkgIG5vIG90aGVyIHRyYWtzLgoJICBGaXhlcyAjNTk3NDk3CgoyMDEwLTAxLTE0IDE2OjEzOjA4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBQb3N0IGVycm9yIHdoZW4gcmVhY2hpbmcgRU9TIHdpdGhvdXQgcGFkcwoJICBQb3N0IGFuIGVycm9yIHdoZW4gRU9TIGlzIHJlYWNoZWQgYW5kIHRoZXJlIGFyZSBubyBzcmMgcGFkcwoKMjAxMC0wMS0xNCAxNDoxMzo1MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IERvIG5vdCBwb3N0IGVtcHR5IHJlZGlyZWN0IG1lc3NhZ2VzCgkgIFNvbWUgbWlzaW50ZXJwcmV0ZWQgZGF0YSBjb3VsZCByZXN1bHQgaW4gcG9zdGluZyByZWRpcmVjdCBtZXNzYWdlcwoJICB3aXRoIGVtcHR5IHJlZGlyZWN0IHN0cmluZ3MuIEl0IGlzIGJldHRlciBub3QgdG8gcG9zdCB0aGVtLgoJICBBbiBleGFtcGxlIGlzIHRoZSBmaWxlIG9uIGJ1ZyAjNTk3NDk3CgoyMDEwLTAxLTE0IDE4OjE5OjI1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBwb2xpc2ggbGFzdCBidWZmZXIgZW5kIHRpbWUgdXNhZ2UKCSAgVGhhdCBpcywgcmVzZXQgaXQgdXBvbiBzZWVrLCBhbmQgbm90ZSB0aGF0IChyYXJlbHkpIGxhc3QgcHVzaGVkIGJ1ZmZlcgoJICB0aW1lIG1pZ2h0IHByZWNlZGUgc2VnbWVudCBzdGFydC4KCjIwMTAtMDEtMTMgMTY6NDg6NDYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kX21teC5oOgoJICB2aWRlb21peGVyOiB1c2UgJ3EnIGNvbnN0cmFpbnQgaW5zdGVhZCBvZiAncicKCSAgVGhpcyBhdm9pZHMgdGhlICJiYWQgcmVnaXN0ZXIgbmFtZSBgJWRpbCciIGNvbXBpbGF0aW9uIGVycm9ycyBvbiAzMmJpdCB3aGVyZQoJICBiZWNhdXNlIG9mICdyJyBnY2MgcHV0cyB0aGUgdmFsdWUgaW4gYSBnZW5lcmFsIHB1cnBvc2UgcmVnaXN0ZXIgYW5kIHRoZW4gdHJpZXMKCSAgdG8gYWNjZXNzIHRoZSBsb3dlciBwYXJ0IGFzICVkaWwvJXNpbCB3aGljaCBpcyBub3QgZXhpc3Rpbmcgb24gMzJiaXQuICdxJyByZXF1ZXN0cwoJICBhLWQgcmVnaXN0ZXJzCgoyMDEwLTAxLTEzIDE2OjQ0OjU4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aTogYWRkIG1pc3NpbmcgaW5jbHVkZSBmb3Igc3NjYW5mCgoyMDEwLTAxLTEzIDA5OjM2OjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJICBlcXVhbGl6ZXI6IEZpeCBwcm9wZXJ0eSBkZXNjcmlwdGlvbiBmb3IgdGhlIDNyZCBiYW5kIG9mIHRoZSAxMGJhbmQgZXF1YWxpemVyCgkgIFRoZSBmcmVxdWVuY3kgaXMgYWN0dWFsbHkgMjM3IEh6LCBub3QgMjI3IEh6LgoJICBGaXhlcyBidWcgIzYwNjY5Mi4KCjIwMTAtMDEtMTMgMDk6MjI6MjAgKzAxMDAgIEtpcHAgQ2Fubm9uIDxrY2Fubm9uQGxpZ28uY2FsdGVjaC5lZHU+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSAgYXVkaW9hbXBsaWZ5OiBBbGxvdyBuZWdhdGl2ZSBhbXBsaWZpY2F0aW9ucwoJICBGaXhlcyBidWcgIzYwNjgwNy4KCjIwMTAtMDEtMTMgMDk6MTc6MDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RhZ2xpYi9nc3RhcGV2Mm11eC5jYzoKCSAgYXBldjJtdXg6IERvbid0IGNhbGwgY29uc3RydWN0b3JzIGRpcmVjdGx5LCB0aGlzIGxlYWRzIHRvIGNvbXBpbGVyIGVycm9ycyB3aXRoIGdjYyA0LjUKCjIwMTAtMDEtMTIgMTc6Mzk6MDUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHVzZSBHX0dTSVpFX0ZPUk1BVCBmb3IgcGxhdGZvcm0gaW5kZXBlbmRlbnQgZ3NpemUgcXVhbGlmaWVyCgkgIEZpeGVzIGJ1aWxkIG9uIG1hY29zeAoKMjAxMC0wMS0xMSAxOTowMjozNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogcmVmYWN0b3IgZW9zIHNlbmRpbmcgd2hlbiBwYXVzaW5nIGxvb3AKCSAgQWxzbywgcHJldmVudCBoYW5naW5nIGlmIG5vIHBhZHMgeWV0IG9uIHdoaWNoIHRvIHNlbmQgZW9zIGJ5CgkgIHBvc3RpbmcgYSBtZXNzYWdlIGluc3RlYWQuCgoyMDEwLTAxLTExIDE3OjUwOjM1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBzdGFuZGFyZGl6ZSBzZWVrIGhhbmRsaW5nCgkgIC4uLiB3aGljaCBpbXBsaWVzIGZpeGluZyBzb21lIGNvcm5lciBjYXNlcy4KCjIwMTAtMDEtMTEgMTU6MTQ6MDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogdXNlIG1vcmUgZ2VuZXJpYyB4aXBoTl9zdHJlYW1oZWFkZXJfdG9fY29kZWNkYXRhIGhlbHBlcgoKMjAxMC0wMS0xMSAxNzo1MDowNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiByZWZsb3cgYXVkaW8gYW5kIHZpZGVvIHNldGNhcHMgYW5kIGltcHJvdmUgbG9nZ2luZwoJICBBbHNvIGVuc3VyZSB3aWR0aCBhbmQgaGVpZ2h0IGFyZSBhdmFpbGFibGUgYXMgdGhleSBhcmUgbWFuZGF0b3J5CgkgIGluIG1hdHJvc2thIHNwZWNzLgoKMjAxMC0wMS0xMSAxMTo0Mjo0MyAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBvZmZzZXQgZm9yIHR5cGUgMiBtcDRhIHNvdW5kIHNhbXBsZSBkZXNjcmlwdGlvbnMuCgkgIEFsbG93cyB1cyB0byBjb3JyZWN0bHkgZmluZCB0aGUgZXNkcyAoYW5kIHRodXMgdGhlIGNvZGVjIGRhdGEpIGZvciBzdWNoCgkgIG1wNGEgZmlsZXMuCgoyMDEwLTAxLTExIDE1OjQ1OjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJICBydHBtcDRnKGRlKXBheTogT25seSBoYW5kbGUgcmF3IGFhYwoJICBydHBtcDRnKGRlKXBheSBzaG91bGQgb25seSBoYW5kbGUgcmF3IEFBQyBzdHJlYW1zCgoyMDEwLTAxLTExIDE4OjU5OjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5oOgoJICB2aWRlb21peGVyOiBJbXBsZW1lbnQgYmFzaWMgUW9TCgkgIFRoaXMgZHJvcHMgZnJhbWVzIGlmIHRoZXkncmUgdG9vIGxhdGUgYW55d2F5IGJlZm9yZSBibGVuZGluZyBhbmQgYWxsCgkgIHRoYXQgc3RhcnRzIGJ1dCBRb1MgZXZlbnRzIGFyZSBub3QgZm9yd2FyZGVkIHVwc3RyZWFtLiBJbiB0aGUgZnV0dXJlCgkgIHRoZSBRb1MgZXZlbnRzIHNob3VsZCBiZSB0cmFuc2Zvcm1lZCBzb21laG93IGFuZCBmb3J3YXJkZWQgdXBzdHJlYW0uCgoyMDEwLTAxLTExIDE0OjQ4OjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOgoJICBydHBtcDRhKGRlKXBheTogT25seSBhY2NlcHQgcmF3IGFhYwoJICBydHBtcDRhKGRlKXBheSBzaG91bGQgb25seSBoYW5kbGUgcmF3IGFhYyB0byBjb25mb3JtIHRvIHRoZSBSRkMKCjIwMTAtMDEtMTEgMTg6MzU6NDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfbW14Lmg6CgkgIHZpZGVvbWl4ZXI6IEFkZCBNTVggaW1wbGVtZW50YXRpb25zIGZvciBJNDIwIGFuZCBhbGwgbm9uLWFscGhhIFJHQiBmb3JtYXRzCgoyMDEwLTAxLTA0IDEwOjI0OjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5oOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9heXV2LmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2JncmEuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfaTQyMC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9tbXguaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfcmdiLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5oOgoJICB2aWRlb21peGVyOiBSZWZhY3RvciBwcm9jZXNzaW5nIGZ1bmN0aW9ucwoJICBUaGlzIGFsbG93cyBlYXNpZXIgcGx1Z2dpbmcgb2Ygb3B0aW1pemVkIHByb2Nlc3NpbmcgZnVuY3Rpb25zCgkgIGluIHRoZSBmdXR1cmUsIGxpa2UgZm9yIFNTRSBvciBBbHRpVmVjLgoKMjAxMC0wMS0xMSAxMzoyNjozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIGF2aW11eDogbWF0cm9za2FtdXg6IHJlbmFtZSBhYWMncyBzdHJlYW0tZm9ybWF0IHRvIHJhdwoJICBBQUMncyBub25lIHN0cmVhbS1mb3JtYXQgaGFzIGJlZW4gcmVuYW1lZCB0byByYXcsIHJlbmFtZQoJICBvbiBhdmltdXggYW5kIG1hdHJvc2thbXV4IGFzIHdlbGwKCjIwMTAtMDEtMTEgMTI6MDc6MjkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogT25seSBhY2NlcHQgcmF3IGFhYwoJICBtYWtlcyBtYXRyb3NrYW11eCByZWplY3QgYWFjIHN0cmVhbXMgdGhhdCBhcmUgbm90CgkgIGluIHJhdyBmb3JtYXQgKHN0cmVhbS1mb3JtYXQ9bm9uZSkKCSAgRml4ZXMgIzU5ODM1MAoKMjAxMC0wMS0xMSAxMjowODo1NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IE9ubHkgYWNjZXB0IHJhdyBhYWMKCSAgbWFrZXMgYXZpbXV4IHJlamVjdCBhYWMgc3RyZWFtcyB0aGF0IGFyZSBub3QKCSAgaW4gcmF3IGZvcm1hdCAoc3RyZWFtLWZvcm1hdD1ub25lKQoJICBGaXhlcyAjNTk4MzUwCgoyMDEwLTAxLTExIDEwOjM4OjEwICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IE9vcHMuIFRoZSBncG9pbnRlciBjYXN0IGlzIG5lZWRlZCBiZWNhdXNlIG9mIHRoZSBjb25zdCBxdWFsaWZpZXJzIG9uIHRoZSBkYXRhIGVsZW1lbnRzCgoyMDEwLTAxLTExIDEwOjE3OjU0ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IERlYnVnIC0+IGluZm8gbGV2ZWwgZm9yIGEgbWVzc2FnZSBmb3IgYmVuY2htYXJraW5nIGluZGV4IHBhcnNpbmcKCSAgVGhlIGV4dHJhIG1lc3NhZ2Ugb3V0cHV0IGF0IGhpZ2hlciBsZXZlbHMgYWZmZWN0cyB0aGUgYWNjdXJhY3kgb2YgdGhlCgkgIGJlbmNobWFyay4KCjIwMTAtMDEtMTEgMTA6MDU6MTAgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRG9uJ3QgY2hlY2sgZm9yIE5VTEwgcG9pbnRlcnMgb3IgY2FzdCB0byBncG9pbnRlciBhcyB0aGlzIGlzIG5vdCBuZWVkZWQKCjIwMTAtMDEtMDggMTM6NTU6MDUgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogUmVmYWN0b3Igc3RibCBzdWItYXRvbSBmcmVlaW5nLiBGcmVlIHdoZW4gaW5kZXggaGFzIGJlZW4gY29tcGxldGVseSBwYXJzZWQuCgoyMDEwLTAxLTA4IDE0OjMyOjA2ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEF2b2lkIHdoaXRlc3BhY2UgY29tbWl0cyBkdWUgdG8gaW5jb25zaXN0ZW50IEdOVSBpbmRlbnQgYmVoYXZpb3VyCgoyMDEwLTAxLTExIDAwOjEwOjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmVtb3ZlIG5ld2xpbmUgYXQgZW5kIG9mIGRlYnVnIHN0YXRlbWVudAoKMjAxMC0wMS0wOCAxOToyNjoyMSArMDEwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiBDb21waWxlciB3YXJuaW5nIGZpeGVzIGZvciBXaW5kb3dzCgkgIEp1c3Qgc2ltcGxlIG1pc3NpbmcgY2FzdHMKCSAgRml4ZXMgYnVnICM2MDY0MzguCgoyMDEwLTAxLTA4IDE4OjA0OjE0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogZml4IHNlZWtwb2ludHMgcHJvcGVydHkgY29weS1hbmQtcGFzdGUgZG9jdW1lbnRhdGlvbgoKMjAxMC0wMS0wNiAxNzowNjo1MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuaDoKCSAgZmxhY2VuYzogb3B0aW9uYWxseSBhZGQgYSBzZWVrIHRhYmxlCgkgIEFQSTogR3N0RmxhY0VuYzpzZWVrcG9pbnRzCgkgIEZpeGVzICMzNTE1OTUuCgoyMDEwLTAxLTA4IDExOjMzOjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IFVzZSBtb3JlIGdsaWIgYW5kIGJlIHNhZmVyCgkgIEJlIHNhZmVyIG9uIHNzY2FuZiBieSBsaW1pdGluZyBzdHJpbmcgZm9ybWF0IHNpemVzLgoJICBSZW1vdmUgdXNlbGVzcyBwYXJhbWV0ZXIgYW5kIHVzZSBnX3N0cm5kdXAuCgoyMDEwLTAxLTA4IDEwOjQ0OjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IFNpbXBsaWZ5aW5nIGNvZGUKCSAgR3JlYXRseSBzaW1wbGlmeSB0aGUgSURJVCBjaHVuayBoYW5kbGluZyBieSB1c2luZyBzc2NhbmYKCSAgaW5zdGVhZCBvZiAnbWFudWFsbHknIHBhcnNpbmcuIEFsc28gcmVwbGFjZXMgc3RybmNhc2VjbXAgYW5kCgkgIGlzX2FscGhhL2lzX2RpZ2l0IHdpdGggZ2xpYiB2ZXJzaW9ucy4KCjIwMTAtMDEtMDggMTA6MTg6MzAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogaXQncyBmZWIgZm9yIGZlYnJ1YXJ5CgkgIEZpeCB0eXBvIGluIGxhc3QgY29tbWl0LgoKMjAxMC0wMS0wOCAwOToxNzoyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBQYXJzZSBhbmQgcG9zdCBJRElUIGRhdGVzCgkgIFBhcnNlcyBhbmQgcG9zdCBkYXRlIHRhZ3MgY29udGFpbmVkIGluIElESVQgY2h1bmtzLgoJICBGaXhlcyAjNTAzNTgyCgoyMDEwLTAxLTA3IDE3OjI1OjA1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmg6CgkgIGF1ZGlvZnhiYXNlZmlyZmlsdGVyOiBBZGQgcHJvcGVydHkgZm9yIG5vdCBkcmFpbmluZyB0aGUgaGlzdG9yeSBvbiBrZXJuZWwgY2hhbmdlcwoJICBDdXJyZW50bHkgdGhpcyBvbmx5IHdvcmtzIGlmIHRoZSBrZXJuZWwgc2l6ZSBkb2Vzbid0IGNoYW5nZSwgaW4gdGhlIGZ1dHVyZQoJICBpdCB3aWxsIGJlIHBvc3NpYmxlIHRvIGNoYW5nZSB0aGUga2VybmVsIHNpemUgdG9vIHdpdGhvdXQgZHJhaW5pbmcKCSAgdGhlIGNvbXBsZXRlIGhpc3RvcnkgYW5kIHdpdGhvdXQgbG9vc2luZyBhbnl0aGluZy4KCSAgUGFydGlhbGx5IGJhc2VkIG9uIGEgcGF0Y2ggYnkKCSAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoyMDEwLTAxLTA3IDE2OjU4OjU1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IHJlbW92ZSB3ZWlyZCBtZW1jbXAgY29kZQoJICBVc2UgcGxhaW4gbWVtY21wIGZvciBjb21wYXJpbmcgbWVtb3J5IGluc3RlYWQgb2YgdGhlIGN1c3RvbSBidWdneSBvbmUuCgkgIEZpeGVzICM2MDYxOTgKCjIwMTAtMDEtMDcgMTU6Mzg6MzYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgbGV2ZWw6IGZpeCB0eXBvIGluICdtZXNzYWdlJyBwcm9wZXJ0eSBkZXNjcmlwdGlvbgoKMjAxMC0wMS0wNiAxNDowNjoxNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IHJlYWxseSB1c2UgdXBzdHJlYW0gdGltZXN0YW1wIGlmIHRoZXJlIGlzIG9uZQoJICBTZWUvZml4ZXMgIzYwMzQ3MS4KCjIwMTAtMDEtMDYgMTM6NDU6NTkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSAgcnRwZzcyOHBheTogcmVtb3ZlIHVudXNlZCBhZGFwdGVyIHBlZWsKCjIwMTAtMDEtMDUgMTk6MDA6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEltcHJvdmUgcGFzc3Rocm91Z2ggdGVzdHMKCSAgSW1wcm92ZSBwYXNzdGhyb3VnaCB0ZXN0cyBieSBmb3JjaW5nIG1vcmUgc3BlY2lmaWMKCSAgaW50ZXJsYWNlZC9kZWludGVybGFjZWQgY2FwcyB0byBiZSB0ZXN0ZWQKCjIwMTAtMDEtMDUgMTg6MjI6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEFkZHMgc29tZSBkb2NzIHRvIHRoZSBuZXcgdGVzdHMKCSAgQWRkcyBzb21lIGRvY3MgZXhwbGFpbmluZyB0aGUgdXRpbGl0eSBmdW5jdGlvbnMgb2YgdGhlIGNoZWNrCgkgIHRlc3RzIG9mIGRlaW50ZXJsYWNlCgoyMDEwLTAxLTA1IDE4OjE0OjA4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBBZGRzIHRlc3RzIGZvciBwYXNzdGhyb3VnaAoJICBBZGRzIHRlc3RzIGZvciBjaGVja2luZyBpZiB0aGUgZWxlbWVudCByZWFsbHkgZG9lcwoJICBwYXNzdGhyb3VnaCBpbiBkaXNhYmxlZCBtb2RlIGFuZCBpbiBhdXRvIChpZiB0aGUgaW5wdXQgaXMKCSAgbm90IGludGVybGFjZWQpCgoyMDEwLTAxLTA1IDA3OjUwOjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogQWRkcyB0ZXN0cyBmb3IgY2FwcyBhY2NlcHRhbmNlCgkgIEFkZHMgY2hlY2sgdW5pdCB0ZXN0cyBmb3IgZGVpbnRlcmxhY2UgZm9yIHZhbGlkYXRpbmcKCSAgY2FwcyBhY2NlcHRpbmcgYW5kIHRoZSBleHBlY3RlZCBjYXBzIG91dHB1dCBvbiB0aGUKCSAgb3RoZXIgcGFkCgoyMDEwLTAxLTA0IDEzOjQzOjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogQWRkcyBiYXNpYyBjaGVjayB0ZXN0CgkgIEFkZHMgYSBiYXNpYyBjaGVjayB0ZXN0IGZvciBkZWludGVybGFjZSBlbGVtZW50CgoyMDEwLTAxLTA0IDE1OjQ0OjI4IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEFkZCBzdXBwb3J0IGZvciB3YXZlLXN0eWxlIGF1ZGlvIGluIHF0LgoJICBVc2VzIGdzdHJpZmYgdG8gcGFyc2UgdGhlIHdhdmUgaGVhZGVycyBhcHByb3ByaWF0ZWx5LiBUZXN0ZWQgd2l0aCBNUy1BRFBDTQoJICBjb250ZW50LgoKMjAwOS0xMi0zMSAxNzowOTowMyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgdGVzdHM6IEFkZCBHLjcyOSBSVFAgcGF5bG9hZGVyL2RlcGF5bG9hZGVyIHRlc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwNjA1MAoKMjAwOS0xMi0zMSAxNjo1MjozMCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkgIHJ0cGc3MjlwYXk6IFNpbXBsaWZ5IGFkYXB0ZXIgdXNhZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwNjA1MAoKMjAwOS0xMi0zMSAxNjoyNzozMCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkgIHJ0cGc3MjlwYXk6IFN1cHBvcnQgcHRpbWUgZnJvbSBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDYwNTAKCjIwMDktMTItMDIgMTk6MzU6MjEgKzA1MzAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvUkVBRE1FOgoJICBydHA6IEFkZCBtYXhwdGltZSB0byB0aGUgUkVBRE1FCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDYwNTAKCjIwMTAtMDEtMDUgMTk6MDM6MDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNkZXBheS5oOgoJICBydHBnNzIzZGVwYXk6IGFkZCBHNzIzIGRlcGF5bG9hZGVyCgoyMDEwLTAxLTA1IDE5OjAyOjM5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuaDoKCSAgcnRwZzcyOWRlcGF5OiByZW1vdmUgdW51c2VkIHZhcmlhYmxlCgoyMDEwLTAxLTA1IDE4OjMzOjI1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5oOgoJICBydHBnNzIzcGF5OiByZXdyaXRlIHBheWxvYWRlcgoJICBIYW5kbGUgYWxsIDMgcGFja2V0IHNpemVzIGFjY29yZGluZyB0byBSRkMgMzU1MS4KCSAgVG90YWxseSB1bnRlc3RlZCwgd2UgZG9uJ3QgaGF2ZSBhIEc3MjMgZW5jb2Rlci4KCSAgRml4ZXMgIzYwNTg4MgoKMjAxMC0wMS0wNSAxMTo0NzoyMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGNodW5rIGNvdW50ZXIKCjIwMTAtMDEtMDQgMTk6NDQ6NTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IG1vcmUgd29yayBhdCByZWR1Y2luZyBsb29wIG92ZXJoZWFkCgkgIFRyeSB0byBhdm9pZCBkZXJlZnMgd2hlbiBwYXJzaW5nIHRoZSBpbmRleC4gU2F2ZSB0aGUgc3RhdGUgaW50byB0aGUgc3RydWN0dXJlcwoJICB3aGVuIHdlIGV4aXQgdGhlIGxvb3AgaW5zdGVhZCBvZiBmb3IgZWFjaCBpdGVyYXRpb24uCgoyMDEwLTAxLTA0IDE2OjMzOjMwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBjbGVhbnVwcyBhbmQgbWFrZSBkdXJhdGlvbiBtb3JlIGFjY3VyYXRlCgkgIE1ha2UgdGhlIFF0RGVtdXhTYW1wbGUgc3RydWN0IHNtYWxsZXIgYnkga2VlcGluZyB0aGUgZHVyYXRpb24gYW5kIHRoZSBwdHNfb2Zmc2V0CgkgIGFzIHRoZWlyIDMyIGJpdCB2YWx1ZXMuCgkgIE1ha2Ugc29tZSBtYWNyb3MgdG8gY2FsY3VsYXRlIFBUUywgRFRTIGFuZCBkdXJhdGlvbiBvZiBhIHNhbXBsZS4KCSAgRGVyZWYgdGhlIHNhbXBsZSBpbmRleCBsZXNzIG9mdGVuIGJ5IGtlZXBpbmcgYSByZWYgdG8gdGhlIHNhbXBsZSB3ZSdyZSBkZWFsaW5nCgkgIHdpdGguCgoyMDEwLTAxLTA0IDEzOjQxOjE4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzaW1wbGlmeSBsb2dpYyB0byBjYWxjdWxhdGUgZHVyYXRpb24KCSAgU2luY2Ugd2Ugbm8gbG9uZ2VyIHN0b3JlIHRoZSB0aW1lc3RhbXAgYW5kIGR1cmF0aW9uIGluIG5hbm9zZWNvbmRzLCB3ZSBjYW4gbm93CgkgIHNpbXBseSBzdG9yZSB0aGUgZHVyYXRpb24gYXMtaXMuCgoyMDEwLTAxLTAxIDE2OjQyOjU3ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFN0b3JlIHRpbWVzdGFtcHMgaW4gbW92IGZvcm1hdCBpbiB0aGUgaW5kZXgKCSAgVGhpcyBhbGxvd3MgZmFzdGVyIGJ1aWxkaW5nIG9mIHRoZSBpbmRleCB1cG9uIHNlZWtzIHNvIHRoYXQgc2NhbGluZyBvZgoJICB0aW1lc3RhbXBzIG9ubHkgb2NjdXJzIHdoZW4gYWN0dWFsbHkgbmVlZGVkLgoKMjAwOS0xMi0xOCAxMzo1NDo0NiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogbWFrZSBzZWVraW5nIGluIHB1c2ggbW9kZSB3b3JrCgkgIE1vdmUgc2FtcGxlIHBvc2l0aW9uIGNoZWNrcyBpbnRvIHF0ZGVtdXhfcGFyc2Vfc2FtcGxlcyB3aGVyZSB3ZSBjYW4gcHJvdGVjdCBpdAoJICB3aXRoIGEgbG9jay4KCSAgUmVmYWN0b3IgYW5kIG1ha2UgYW4gcXRkZW11eF9lbnN1cmVfaW5kZXggZnVuY3Rpb24uCgkgIFJlbmFtZSBxdGRlbXV4X2RvX3B1c2hfc2VlayB0byBxdGRlbXV4X3NlZWtfb2Zmc2V0IGluIG9yZGVyIHRvIGF2b2lkIGNvbmZ1c2lvbgoJICB3aXRoIGdzdF9xdGRlbXV4X2RvX3B1c2hfc2Vlay4KCjIwMDktMTItMTggMTI6NDQ6MjcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IG1vdmUgZXJyb3IgY29kZSBvdXQgb2Ygbm9ybWFsIGZsb3cKCjIwMDktMTEtMjQgMTY6Mjc6MjYgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBBZGQgcHVzaCBtb2RlIHNlZWsgc3VwcG9ydCBmb3Igc2Vla2luZyB0byBvYnRhaW4gdGhlIG1vb3YgYXRvbQoKMjAxMC0wMS0wNSAxMjoyMjowOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IG9uLW5wdC1zdG9wIHNpZ25hbCB3YXJuaW5ncyBmb3IgUkRUCgkgIFRoZSBSRFQgbWFuYWdlciBkb2VzIG5vdCBpbXBsZW1lbnQgdGhpcyBzaWduYWwgc28gd2UgbmVlZCB0byBjaGVjayBmb3IgaXQgYmVmb3JlCgkgIHRyeWluZyB0byBjb25uZWN0IHRvIGl0LgoKMjAxMC0wMS0wNSAwOTo0NzowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IGZpeCBtZW1vcnkgbGVhayBpbiBuZXcgdXJpIGhhbmRsZXIgY29kZQoJICBEb24ndCBsZWFrIGEgc3RyaW5nIGV2ZXJ5dGltZSBnZXRfdXJpKCkgaXMgY2FsbGVkIGFuZCBhIGRldmljZQoJICBoYXMgYmVlbiBzZXQuIFRoZXJlJ3MgYSBsaW1pdGVkIG51bWJlciBvZiBkZXZpY2VzLCBzbyBqdXN0CgkgIGludGVybiB0aGUgc3RyaW5nIGluc3RlYWQgb2YgZG9pbmcgbW9yZSBlbGFib3JhdGUgaG91c2VrZWVwaW5nCgkgIGFuZCBzdG9yaW5nIGl0IGluIHRoZSBpbnN0YW5jZSBzdHJ1Y3Qgb3Igc28uCgoyMDEwLTAxLTAxIDE0OjEwOjQ5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IGZpeCB0eXBvIGluIHdhcm5pbmcgbWVzc2FnZQoKMjAxMC0wMS0wNCAwOToyODozNiAtMDMwMCAgUm9iZXJ0IFdlaWRsaWNoIDxnbm9tZWJ1Z3ppbGxhQHJvYmVydC53ZWlkbGljaC5jYz4KCgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmg6CgkgIHNob3V0MnNlbmQ6IEFkZCAncHVibGljJyBwcm9wZXJ0eQoJICBBZGRzIGEgcHJvcGVydHkgdG8gc2V0ICdwdWJsaWMnIGZsYWcgb24gbGlic2hvdXQsIG1ha2luZwoJICB0aGUgc3RyZWFtIGxpc3RlZCBvbiB0aGUgc2VydmVyJ3Mgc3RyZWFtIGRpcmVjdG9yeS4KCSAgRml4ZXMgIzYwNTI2OQoKMjAwOS0xMi0zMCAxNDoxNDo1NSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEFkZCB0YWdzIGZvciBhdmVyYWdlIGFuZCBtYXhpbXVtIGJpdHJhdGUKCSAgRml4ZXMgIzU5OTMwMC4KCjIwMDktMTItMjYgMTY6NTk6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSAgYXVkaW9meGJhc2VmaXJmaWx0ZXI6IGRvIG5vdCB0cnkgdG8gYWxsb2MgcmVhbGx5IGxhcmdlIGJ1ZmZlcnMKCSAgV2hlbiBuc2FtcGxlc19vdXQgaXMgbGFyZ2VyIHRoYW4gbnNhbXBsZXNfaW4sIHVzaW5nIHVuc2lnbmVkCgkgIGludHMgbGVhZCB0byBhIG92ZXJmbG93IGFuZCB0aGUgcmVzdWx0aW5nIHZhbHVlIGlzIHdyb25nIGFuZAoJICB3YXkgdG9vIGxhcmdlIGZvciBhbGxvY2F0aW5nIGEgYnVmZmVyLiBVc2Ugc2lnbmVkIGludGVnZXJzCgkgIGFuZCByZXR1cm5pbmcgaW1tZWRpYXRlbGx5IHdoZW4gdGhhdCBoYXBwZW5zLgoKMjAwOS0xMi0yNSAxMjozODozNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2F5dXYuYzoKCSAgdmlkZW9taXhlcjogb3B0aW1pemUgYmxlbmQgY29kZSBzb21lIG1vcmUKCSAgVXNlIG1vcmUgZWZmaWNpZW50IGZvcm11bGEgdGhhdCB1c2VzIGxlc3MgbXVsdGlwbGllcy4KCSAgUmVkdWNlIHRoZSBhbW91bnQgb2Ygc2NhbGFyIGNvZGUsIHVzZSBNTVggdG8gY2FsY3VsYXRlIHRoZSBkZXNpcmVkCgkgIGFscGhhIHZhbHVlLgoJICBVbnJvbGwgYW5kIGhhbmRsZSAyIHBpeGVscyBpbiBvbmUgaXRlcmF0aW9uIGZvciBpbXByb3ZlZCBwYWlyaW5nLgoKMjAwOS0xMi0yNCAyMjo1OTowOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2F5dXYuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfYmdyYS5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9pNDIwLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX3JnYi5jOgoJICB2aWRlb21peGVyOiBzY2FsZSBhbmQgY2xhbXAKCSAgU2NhbGUgYW5kIGNsYW1wIHRvIHRoZSBtYXggYWxwaGEgdmFsdWVzLgoKMjAwOS0xMi0yNCAyMjo1MDozMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogc2NhbGUgYW5kIGNsYW1wIGFscGhhIHRvIGl0cyBmdWxsIGV4dGVuZAoJICBDb252ZXJ0IHRoZSBhbHBoYSB2YWx1ZSB0byAwLT4yNTUgd2hlbiBzZXR0aW5nIGFuZCB0byAwLT4yNTYgd2hlbiB1c2luZyBhcwoJICBhIHNjYWxpbmcgZmFjdG9yLiBUaGlzIG1ha2VzIHN1cmUgd2UgY2FuIHJlYWNoIHRoZSBmdWxsIG9wYWNpdHkgdmFsdWUgb2YgMHhmZiBpbgoJICBhbGwgY2FzZXMuCgoyMDA5LTEyLTI0IDIyOjIzOjAxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggc29tZSBjb21tZW50cywgcmVtb3ZlIHByb3BlcnR5IGNoZWNrCgkgIEZpeCBzb21lIGNvbW1lbnRzLCBjbGFyaWZ5IHNvbWUgRklYTUVzCgkgIFJlbW92ZSB0aGUgb24tbnRwLXN0b3Agc2lnbmFsIGNoZWNrIG5vdyB0aGF0IHRoZSBqaXR0ZXJidWZmZXIgaXMgaW4KCSAgLWdvb2QgYW5kIHdlIGtub3cgdGhhdCBpdCBzdXBwb3J0cyB0aGlzIHNpZ25hbC4KCjIwMDktMTItMjQgMjA6Mjc6NTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IHNvbWUgdHJpdmlhbCBjbGVhbnVwcwoKMjAwOS0xMi0yNCAxNzowNDoyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IFBhcnNlIGFsbCBydHBpbmZvIGVudHJpZXMKCSAgRG8gbm90IGZvcmdldCB0byBwYXJzZSBhbGwgcnRwLWluZm8gZW50cmllcywgaW5zdGVhZCBvZgoJICBwYXJzaW5nIHRoZSBmaXJzdCBvbmUgb25seS4KCSAgRml4ZXMgIzYwNTIyMgoKMjAwOS0xMi0yMiAxMjo0NDo1MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHBlcmYgdGFnIHNob3VsZCBtYXAgdG8gR1NUX1RBR19BUlRJU1QKCjIwMDktMTItMjQgMTc6MDM6MDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgIGludGVybGVhdmU6IGZpeCB3ZWlyZCBpbmRlbnRhdGlvbgoKMjAwOS0xMi0yNCAxNzowMTo1NCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSAgcnRwaDI2M3BwYXk6IHVzZSBmYXN0ZXIgX2FkYXB0ZXJfY29weSgpIHdoZW0gcG9zc2libGUKCjIwMDktMTItMjQgMTc6MDE6MTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9hdWRpb2Z4L2ZpcmZpbHRlci1leGFtcGxlLmM6CgkgIHRlc3RzOiB1c2UgcmlnaHQgdHlwZSB3aGVuIHBhc3NpbmcgdmFyYXJnIHZhbHVlCgoyMDA5LTEyLTIzIDE3OjUwOjM0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICBmbGFjZGVjOiB1c2UgYSBzaW5nbGUgZGVjb2RlciBmaWVsZCBmb3IgYm90aCBwdXNoIGFuZCBwdWxsIG1vZGUKCjIwMDktMTItMjMgMTc6MDM6MzIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBmaXggcG9zc2libGUgaGFuZ2luZyBpbiBwdWxsIG1vZGUgc2Vla2luZwoJICBBIHNlZWsgaW4gbXVsdGktc2luayBwaXBlbGluZSB0eXBpY2FsbHkgbGVhZHMgdG8gc2V2ZXJhbCBzZWVrIGV2ZW50cyBpbiBhIHJvdywKCSAgd2hpY2ggY291bGQgbGVhZCB0byBzZW5kaW5nIHNldmVyYWwgbmV3c2VnbWVudHMgaW4gYSByb3cgd2l0aG91dCBpbnRlcm1lZGlhdGUKCSAgZmx1c2hpbmcuICBUaGVzZSB3b3VsZCB0aGVuIGFjY3VtdWxhdGUsIGRpc3RvcnQgcmVuZGVyaW5nIHRpbWVzIGFuZCBhcyBzdWNoCgkgIGxlYWQgdG8gJ2hhbmdpbmcnLgoKMjAwOS0xMi0yMyAxOTozOTowNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogZml4IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUKCjIwMDktMTItMjMgMTM6MDk6NTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVucGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICBydHA6IHVzZSBib2lsZXJwbGF0ZQoKMjAwOS0xMi0yMyAwMDozODowNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5Lmg6CgkgIHJ0cEwxNnBheTogY29udmVydCB0byBiYXNlYXVkaW9wYXlsb2FkCgkgIFVzZSBHc3RSVFBCYXNlQXVkaW9QYXlsb2FkIGFzIHRoZSBiYXNlIGNsYXNzLiBUaGlzIHNhdmVzIGEgbG90IG9mIGNvZGUgYW5kIGZpeGVzCgkgIGEgYnVuY2ggb2YgcHJvYmxlbXMgdGhhdCB3ZXJlIGFscmVhZHkgc29sdmVkIGluIHRoZSBiYXNlIGNsYXNzLgoJICBGaXhlcyAjODUzMzY3CgoyMDA5LTEyLTIzIDAwOjMwOjQ5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkgIHJ0cHBjbWFwYXk6IHRoZSBib2lsZXJwbGF0ZSBtYWNybyBzZXRzIHBhcmVudF9jbGFzcwoKMjAwOS0xMi0yMiAyMjoyNzoyMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBydHBiaW46IGF2b2lkIHNvbWUgc3RydWN0dXJlIGNvcGllcwoJICBEb24ndCBtYWtlIGNvcGllZCBpbiB0aGUgZ2V0dGVyIGFuZCBzZXR0ZXIgZm9yIFNERVMgaW4gdGhlIFJUUFNvdXJjZS4gVGhpcwoJICBhdm9pZHMgYSBjb3VwbGUgb2YgY29waWVzIG9mIHRoZSBTREVTIHN0cnVjdHVyZSB3aGVuIGdlbmVyYXRpbmcgUlRDUAoJICBwYWNrZXRzLgoKMjAwOS0wOC0zMSAxODo0MjoyNSArMDIwMCAgUGFzY2FsIEJ1aGxlciA8cGFzY2FsLmJ1aGxlckB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgcnRwbWFuYWdlcjogaW1wcm92ZSBTREVTIGhhbmRsaW5nCgkgIFN0b3JlIFNERVMgaW50ZXJuYWxseSBhcyBhIHN0cnVjdCB0byBzdXBwb3J0IG11bHRpcGxlIFBSSVYgdmFsdWVzLgoJICBJbmNsdWRlIGFsbCB2YWx1ZXMgc2V0IGluIFNERVMgc3RydWN0IHdoZW4gc2VuZGluZyBSVENQIFNERVMuCgoyMDA5LTEyLTIyIDE0OjQxOjM1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSAgcnRwaDI2M2RlcGF5OiBhZGQgc29tZSBmaXhtZXMKCjIwMDktMTItMjIgMTQ6MzU6MTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJICBydHBoMjYzZGVwYXk6IGJhc2VjbGFzcyBoYW5kbGVzIHRpbWVzdGFtcHMgZm9yIHVzCgoyMDA5LTEyLTIyIDE0OjI3OjQwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSAgcnRwaDI2M2RlcGF5OiByZXNldCBzdGFydCB2YXJpYWJsZSBwcm9wZXJseQoKMjAwOS0wNS0yOSAxNTo0OToyNyArMDMwMCAgTWFyY28gQmFsbGVzaW8gPG1hcmNvLmJhbGxlc2lvQG5va2lhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5Lmg6CgkgIERyb3AgdGhlIHdob2xlIGZyYW1lIGlmIGEgcGFja2V0IGlzIGxvc3QuCgkgIEZpeGVzICM1ODI1NzUKCjIwMDktMTItMjEgMjA6Mzk6NTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lmg6CgkgIHJ0cGgyNjRwYXk6IGFkZCBvcHRpb24gdG8gaW5zZXJ0IFBQUy9TUFMgaW4gc3RyZWFtcwoJICBBZGQgYSBuZXcgc3BzcHBzLWludGVydmFsIHByb3BlcnR5IHRvIGluc3RydWN0IHRoZSBwYXlsb2FkZXIgdG8gaW5zZXJ0CgkgIFNQUyBhbmQgUFBTIGF0IHBlcmlvZGljIGludGVydmFscyBpbiB0aGUgc3RyZWFtLgoJICBSZXdvcmsgdGhlIFNQUy9QUFMgaGFuZGxpbmcgc28gdGhhdCBieXRlc3RyZWFtIGFuZCBBVkMgc2FtcGxlIGNvZGUgYm90aCB1c2UgdGhlCgkgIHNhbWUgY29kZSBwYXRocyB0byBoYW5kbGUgc3Byb3AtcGFyYW1ldGVyLXNldHMuIFRoaXMgYWxzbyBhbGxvd3MgdG8gaGF2ZSB0aGUgQVZDCgkgIGNvZGUgdG8gaW5zZXJ0IFNQUy9QUFMgbGlrZSB0aGUgYnl0ZXN0cmVhbSBjb2RlLgoJICBGaXhlcyAjNjA0OTEzCgoyMDA5LTEyLTIxIDE5OjEyOjIyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNDdjYjIzYSB0byAxNGNlYzg5CgoyMDA5LTEyLTIxIDEyOjAxOjUzIC0wMzAwICBKb25hdGhhbiBDb25kZXIgPGpAc2t1cnZ5Lm5vLWlwLm9yZz4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5jOgoJICBxdGRlbXV4OiBBZGRzIG5ldyB0YWdzCgkgIEFkZHMgc29tZSBuZXcgdGFncyBtYXBwaW5nIHRvIHF0ZGVtdXguCgkgIEZpeGVzICM1OTk3NTkKCjIwMDktMTItMjEgMTU6MDU6MDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBhZGQgcHJvcGVydHkgdG8gcmVtb3ZlIHBhZHMgYXV0b21hdGljYWxseQoJICBBZGQgYSBwcm9wZXJ0eSBjYWxsZWQgYXV0b3JlbW92ZSB0byBhdXRvbWF0aWNhbGx5IHJlbW92ZSB0aGUgcGFkcyBvZiBzb3VyY2VzCgkgIHRoYXQgdGltZWQgb3V0LgoJICBGaXhlcyAjNTU0ODM5CgoyMDA5LTEyLTIxIDE0OjU1OjE2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHNzcmNkZW11eDogZml4IGNvbXBhcmlzb24KCSAgQSBOVUxMIG1lYW5zIG5vIHBhZCB3YXMgZm91bmQuCgoyMDA5LTExLTA4IDExOjQ5OjE0ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBBZGQgR3N0VVJJSGFuZGxlciBpbnRlcmZhY2UuIEZpeGVzICM2MDExNDMKCSAgVGhpcyBhbGxvd3MgdXNpbmcgdjRsMjovL1s8ZGV2aWNlPl0KCjIwMDktMTItMjAgMTc6MjQ6NDcgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazogcGFzcyBsZW5ndGggcGFyYW1ldGVyIHRvIGdfY29udmVydAoKMjAwOS0xMi0xOCAxMjo0NDo1MCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYTogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlLgoJICBZZXMsIGl0J3Mgc3R1cGlkLCBidXQgbWFjb3N4IGNvbXBpbGVycyBhcmUgZXZlbiBtb3JlIHN0dXBpZC4KCjIwMDktMTItMTcgMTY6MDE6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfYXl1di5jOgoJICB2aWRlb21peGVyOiBGaXggYXNzZW1ibHkgY29tcGlsYXRpb24gb24geDg2CgkgIEZpeGVzIGJ1ZyAjNjA0ODE0LgoKMjAwOS0xMi0xNyAxNzozNzowMyArMDEwMCAgQnJhbmtvIMSMaWJlaiA8YnJhbmUgYXQgeGJjLm51PgoKCSogZ3N0L3JlcGxheWdhaW4vcmdhbmFseXNpcy5jOgoJICByZ2FuYWx5c2lzOiBmaXggdGltZXN0YW1wIHJvdW5kaW5nCgkgIFVzZSBzY2FsaW5nIGZ1bmN0aW9uIHRvIHJvdW5kIGFuZCBhdm9pZCBvdmVyZmxvd3MuCgkgIEZpeGVzICM2MDQzNTIKCjIwMDktMTItMTcgMTc6Mjc6NDIgKzAxMDAgIFRpYWdvIEthdGNpcGlzIDx0aWFnby5rYXRjaXBpc0BkaWdpdHJvLmNvbS5icj4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuaDoKCSAgcnRwOiBhZGQgRzcyMyBwYXlsb2FkZXIKCSAgRml4ZXMgIzU5NzgyMwoKMjAwOS0xMi0xNyAxNjoyMjo1NiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5jOgoJICBxdGRlbXV4OiBGaXggQUxBQyBjb2RlY19kYXRhIHBhcnNpbmcKCSAgRml4ZXMgIzYwNDYxMQoKMjAwOS0xMi0xNiAxNzoyODozMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFJlbW92ZSBjcHAgc3R5bGUgY29tZW50cwoJICBSZW1vdmVzIC8vIGNvbW1lbnRzIGFuZCByZXBsYWNlIHRoZW0gd2l0aCAvKiAqLyBjb21tZW50cwoKMjAwOS0xMi0xNiAxMjo0ODowMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIG1hdHJvc2thZGVtdXg6IGFsc28gY29uc2lkZXIgQmxvY2tOdW1iZXIgaW5kaWNhdGVkIGluIGluZGV4IHdoZW4gc2Vla2luZwoKMjAwOS0xMi0xNiAxMjo0MzoyNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBtYXRyb3NrYWRlbXV4OiBzdXBwb3J0IHB1c2ggYmFzZWQgbW9kZQoJICBGaXhlcyAjNTk4NjEwLgoKMjAwOS0xMi0xNiAxMjo0NDozNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkgIG1hdHJvc2thZGVtdXg6IGZpeCBlYm1sIHJlYWQgY2FjaGUgdXNhZ2UKCjIwMDktMTItMTYgMTA6NTA6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfYXl1di5jOgoJICB2aWRlb21peGVyOiBVc2UgbW92emJsIGluc3RlYWQgb2YgbW92enhiIGZvciBtb3Zpbmcgb25lIGJ5dGUgdG8gYSBsIHJlZ2lzdGVyCgkgIEZvciBzb21lIHJlYXNvbiBsYXRlc3QgZ2NjL2JpbnV0aWxzIGFjY2VwdCBtb3Z6eGIgaGVyZSB3aGlsZQoJICBtb3Z6Ymwgd291bGQgYmUgY29ycmVjdCBhbmQgaXMgdGhlIG9ubHkgdGhpbmcgYWNjZXB0ZWQgYnkgb2xkZXIKCSAgZ2NjL2JpbnV0aWxzLgoJICBGaXhlcyBidWcgIzYwNDY3OS4KCjIwMDktMTItMTYgMDY6NTk6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfYXl1di5jOgoJICB2aWRlb21peGVyOiBzcmMvZGVzdCBhcmUgaW5wdXQgYW5kIG91dHB1dCBvZiB0aGUgQVlVViBibGVuZGluZyBNTVggYXNzZW1ibGVyCgoyMDA5LTEyLTE1IDE4OjE4OjU0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkgIGF1ZGlvd3NpbmNiYW5kOiBVc2UgdGhlIHNhbWUgdXBwZXIgbGVuZ3RoIGxpbWl0IGFzIGF1ZGlvd3NpbmNsaW1pdAoKMjAwOS0xMi0xMiAxNzowMDo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzoKCSAgYXVkaW93c2luY3tsaW1pdCxiYW5kfTogQWxsb3cgbXVjaCBsYXJnZXIgZmlsdGVyIGxlbmd0aHMgbm93CgoyMDA5LTEyLTExIDEyOjI3OjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkgIGF1ZGlvZnhiYXNlZmlyZmlsdGVyOiBGaXggZnJlcXVlbmN5IHJlc3BvbnNlIGNhbGN1bGF0aW9uCgoyMDA5LTEyLTA4IDE0OjU3OjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkgIGF1ZGlvZnhiYXNlZmlyZmlsdGVyOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoKMjAwOS0xMi0wNiAxNjo1ODo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJICBhdWRpb2Z4YmFzZWZpcmZpbHRlcjogQWRkIHNwZWNpYWwgcHJvY2Vzc2luZyBmdW5jdGlvbnMgZm9yIE1vbm8vU3RlcmVvCgkgIFRoaXMgcHJvdmlkZXMgYW5vdGhlciA3JSBzcGVlZHVwIGZvciB0aGUgdGltZSBkb21haW4gY29udm9sdXRpb24gYW5kIDEuNSUKCSAgc3BlZWR1cCBmb3IgdGhlIEZGVCBjb252b2x1dGlvbiBvbiBNb25vIGlucHV0LgoJICBUaGlzIG9wdGltaXphdGlvbiBhc3N1bWVzIHRoYXQgdGhlIGNvbXBpbGVyIHNpbXBsaWZpZXMgY2FsY3VsYXRpb25zCgkgIGFuZCBjb25kaXRpb25zIG9uIGNvbnN0YW50IG51bWJlcnMgYW5kIHVucm9sbHMgbG9vcHMgd2l0aCBhIGNvbnN0YW50CgkgIG51bWJlciBvZiByZXBlYXRzLgoKMjAwOS0xMi0wNCAwOToyNTo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5oOgoJICBhdWRpb2Z4YmFzZWZpcmZpbHRlcjogQWRkIGEgImxvdy1sYXRlbmN5IiBtb2RlCgkgIFRoaXMgd2lsbCBhbHdheXMgdXNlIHRpbWUtZG9tYWluIGNvbnZvbHV0aW9uLCB3aGljaCBsb3dlcnMgdGhlIGxhdGVuY3kuCgkgIFdpdGggRkZUIGNvbnZvbHV0aW9uIGl0J3MgYWx3YXlzIGEgbXVsdGlwbGUgb2YgdGhlIGtlcm5lbCBsZW5ndGgsCgkgIHdpdGggdGltZSBkb21haW4gY29udm9sdXRpb24gaXQncyBvbmx5IHRoZSBwcmUtbGF0ZW5jeSBvZiB0aGUgZmlsdGVyIGtlcm5lbC4KCjIwMDktMTItMDQgMDk6MDA6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSAgYXVkaW9meGJhc2VmaXJmaWx0ZXI6IFJlbW92ZSBvYnNvbGV0ZSBUT0RPIGNvbW1lbnRzCgoyMDA5LTEyLTAzIDIwOjEyOjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkgIGF1ZGlvZnhiYXNlZmlyZmlsdGVyOiBVc2Ugc2FtcGxlcyBldmVyeXdoZXJlIGluc3RlYWQgb2Ygc2FtcGxlcypjaGFubmVscyBzb21ldGltZXMKCjIwMDktMTItMDMgMTc6Mjc6MTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmg6CgkgIGF1ZGlvZnhiYXNlZmlyZmlsdGVyOiBGRlQgY29udm9sdXRpb24gaW1wbGVtZW50YXRpb24KCSAgVGhpcyBwcm92aWRlcyBhIGdyZWF0IHNwZWVkdXAsIGVzcGVjaWFsbHkgdGhlIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIGtlcm5lbAoJICBsZW5ndGggYW5kIHByb2Nlc3Npbmcgc2l6ZSBpcyBub3cgbG9nYXJpdGhtaWMgaW5zdGVhZCBvZiBsaW5lYXIuIEJlbG93IGEKCSAga2VybmVsIHNpemUgb2YgMzIgaXQncyBhIGJpdCBzbG93ZXIsIGFmdGVyd2FyZHMgaXQncyBtdWNoIGZhc3RlcjoKCSAgMTcgICAgIDAuNzg4MDAwIC0+IDAuOTUwMDAwCgkgIDMzICAgICAxLjIwODAwMCAtPiAxLjE0NjAwMAoJICA2NSAgICAgMi4xNjYwMDAgLT4gMS4xNDYwMDAKCSAgLi4uCgkgIDQwOTcgMTA3LjQ0NDAwMCAtPiAxLjUwODAwMAoJICBGb3Igc2l6ZXMgc21hbGxlciAzMiB0aGUgbm9ybWFsIHRpbWUtZG9tYWluIGNvbnZvbHV0aW9uIGlzIGNob3NlbiwKCSAgZm9yIGxhcmdlciBzaXplcyB0aGUgRkZUIGNvbnZvbHV0aW9uIGlzIGF1dG9tYXRpY2FsbHkgdXNlZC4KCSAgRml4ZXMgYnVnICM1OTQzODEuCgoyMDA5LTExLTI3IDIwOjMzOjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmg6CgkgIGF1ZGlvZnhiYXNlZmlyZmlsdGVyOiBNYWtlIG1vc3QgY29kZSBwYXJ0cyBpbmRlcGVuZGVudCBvZiB0aGUgcHJvY2Vzc2luZyBmdW5jdGlvbnMgYW5kIHVzZWQgY29udm9sdXRpb24gYWxnb3JpdGhtCgkgIE9ubHkgcmVtYWluaW5nIHBhcnQgaXMgdGhlIHJlc2lkdWUgcHVzaGluZywgd2hpY2ggd2lsbCBiZSBmaXhlZCBsYXRlci4KCjIwMDktMTEtMjYgMTU6MTc6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSAgYXVkaW9meGJhc2VmaXJmaWx0ZXI6IE9wdGltaXplIHRpbWUtZG9tYWluIGNvbnZvbHV0aW9uCgkgIFJlbW92ZSBzb21lIHJlZHVuZGFudCBjYWxjdWxhdGlvbnMsIG1vdmUgY29tcGFyaXNpb25zIG91dCBvZgoJICBpbm5lciBsb29wcywgZXRjLgoJICBUaGlzIG1ha2VzIHRoZSBjb252b2x1dGlvbiBhYm91dCAzICghKSB0aW1lcyBmYXN0ZXIgYnV0CgkgIHByb2Nlc3NpbmcgdGltZSBpcyBvZiBjb3Vyc2Ugc3RpbGwgcHJvcG9ydGlvbmFsIHRvIHRoZQoJICBmaWx0ZXIgc2l6ZS4KCjIwMDktMTEtMjYgMTA6NDU6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSAgYXVkaW9meGJhc2VmaXJmaWx0ZXI6IFVzZSBfQ0FTVCBtYWNyb3MgaW4gc29tZSBwbGFjZXMgYW5kIGRvIHNvbWUgY2FsY3VsYXRpb25zIG9ubHkgb25jZQoKMjAwOS0xMS0yNSAxODoxMjowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5oOgoJICBhdWRpb2Z4YmFzZWZpcmZpbHRlcjogUmV3cml0ZSB0aW1lc3RhbXAgdHJhY2tpbmcKCSAgSXQncyBtdWNoIHNpbXBsZXIgbm93IGFuZCBkb2Vzbid0IGludHJvZHVjZSBhY2N1bXVsYXRpbmcgcm91bmRpbmcKCSAgZXJyb3JzLgoKMjAwOS0xMS0yNSAxNzozOTo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5oOgoJICBhdWRpb2Z4YmFzZWZpcmZpbHRlcjogUmVuYW1lIHNvbWUgdmFyaWFibGVzIGFuZCBjaGFuZ2UgY29tbWVudHMKCjIwMDktMTEtMjQgMjA6MDY6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuaDoKCSAgYXVkaW9meGJhc2VmaXJmaWx0ZXI6IEFkZCBjb25zdCBxdWFsaWZpZXIgdG8gdGhlIHNvdXJjZSBkYXRhIGFycmF5CgoyMDA5LTEyLTE0IDIwOjA4OjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9heXV2LmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogQWRkIE1NWCBpbXBsZW1lbnRhdGlvbnMgb2YgdGhlIEFZVVYgYmxlbmRpbmcgYW5kIGNvbG9yIGZpbGxpbmcgZnVuY3Rpb25zCgkgIFRoaXMgcHJvdmlkZXMgYSAyMCUgc3BlZWR1cCBmb3IgYmxlbmRpbmcgYW5kIDEwMCUgZm9yIGNvbG9yIGZpbGxpbmcuCgkgIFRoZSBibGVuZGluZyBjYW4gcHJvYmFibHkgYmUgb3B0aW1pemVkIGV2ZW4gbW9yZS4KCjIwMDktMTItMTMgMTM6MTk6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6CgkgIGlkM2RlbXV4OiBwcmVmZXIgdHdvIGxldHRlciBJU08gNjM5LTEgY29kZSBmb3IgZXh0ZW5kZWQgY29tbWVudAoKMjAwOS0xMi0xMyAxMzoxMDoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCB1cCBsYW5ndWFnZSBjb2RlIGV4dHJhY3Rpb24gc29tZSBtb3JlCgkgIFF1aWNrdGltZSB1c2VzIElTTyA2MzktMiBmb3IgbGFuZ3VhZ2UgY29kZXMsIGJ1dCBHU1RfVEFHX0xBTkdVQUdFCgkgIGlzIHN1cHBvc2VkIHRvIGhvbGQgYSBJU08gNjM5LTEgY29kZSwgc28gY29udmVydCBhcyBuZWVkZWQgdXNpbmcKCSAgdGhlIG5ldyBBUEkgZnJvbSAtYmFzZS4KCSAgU2VlICM2MDIxMjYuCgoyMDA5LTEyLTEzIDEyOjQ1OjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thOiBmaXggbGFuZ3VhZ2UgY29kZSB3cml0aW5nIGFuZCBleHRyYWN0aW9uCgkgIE1hdHJvc2thIHVzZXMgdGhyZWUtbGV0dGVyIElTTyA2MzktMkIgY29kZXMsIGJ1dCBHU1RfVEFHX0xBTkdVQUdFIGlzCgkgIHN1cHBvc2VkIHRvIGNvbnRhaW4gdHdvLWxldHRlciBJU08gNjM5LTEgY29kZXMsIHNvIHVzZSBuZXcgbGFuZ3VhZ2UKCSAgY29kZSBtYXBwaW5nIGZ1bmN0aW9ucyBpbiAtYmFzZSB0byBjb252ZXJ0IGJldHdlZW4gdGhvc2UgdHdvIGFzCgkgIG5lZWRlZC4KCSAgRml4ZXMgIzUwNTgyMy4KCjIwMDktMTItMDcgMjA6NTQ6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogbWlub3IgZGVidWcgbWVzc2FnZSBjaGFuZ2VzCgkgIEZpeCB1cCBhIGZldyBkZWJ1ZyBtZXNzYWdlcyBzbyB0aGF0IGl0J3MgY2xlYXJlciB3aGF0IHRoZXkgbWVhbi4KCjIwMDktMTItMTIgMTc6NDQ6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBSZXZlcnQgInF0ZGVtdXg6IENvcnJlY3RseSBwYXJzZSBjbGFzc2lmaWNhdGlvbiB0YWdzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGNkODgzYWE2MGMxMTMzMTk2YTZhZTA1Mjg4NGQxNWMyOTVjMzdkZGUuCgkgIFByZXZpb3VzIGNvZGUgd2FzIGNvcnJlY3QsIDQgaXMgZHVlIHRvIHRhYmxlIGFuZCBsYW5ndWFnZSBjb2RlLAoJICBub3Qgb25seSBsYW5ndWFnZSBjb2RlCgoyMDA5LTEyLTEyIDE2OjI4OjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQ29ycmVjdGx5IHBhcnNlIGNsYXNzaWZpY2F0aW9uIHRhZ3MKCSAgSW4gY2xzZiBhdG9tcywgdGhlIGxhbmd1YWdlIGNvZGUgaXMgMiBieXRlcyBsb25nLCBub3QgNC4KCjIwMDktMTItMTIgMTY6NTU6MTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBEZXF1ZXVlIGN1cnJlbnQgYnVmZmVyIG9uIEZMVVNIX1NUT1AgYW5kIGRvbid0IHVucmVmIE5VTEwgYnVmZmVycwoJICAuLi4gTlVMTCBidWZmZXJzIHNob3VsZG4ndCByZWFsbHkgaGFwcGVuIGFueW1vcmUgd2hlbiBwb3BwaW5nIHRoZQoJICBidWZmZXIgZnJvbSBHc3RDb2xsZWN0UGFkcyBidXQgYmV0dGVyIGNoZWNrIGZvciB0aGlzIGFuZCBwcmludCBhIHdhcm5pbmcuCgoyMDA5LTEyLTExIDEzOjExOjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2k0MjAuYzoKCSAgdmlkZW9taXhlcjogRml4IHN0dXBpZCBtaXN0YWtlIGluIGxhc3QgY29tbWl0CgoyMDA5LTEyLTExIDEyOjM1OjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2k0MjAuYzoKCSAgdmlkZW9taXhlcjogRG9uJ3QgZG8gZmxvYXRpbmcgcG9pbnQgbWF0aCBpbiB0aGUgaW5uZXIgcHJvY2Vzc2luZyBsb29wIGZvciBJNDIwIGJsZW5kaW5nCgoyMDA5LTEyLTEwIDE4OjQzOjQ0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBoYW5kbGUgTlVMTCBhbmQgZW1wdHkgdHJhbnNwb3J0IHN0cmluZ3MKCSAgV2hlbiBhbiBSVFNQIGV4dGVuc2lvbiByZXR1cm5zIE5VTEwgb3IgYW4gZW1wdHkgdHJhbnNwb3J0IHN0cmluZywganVzdCBpZ25vcmUgaXQKCSAgYW5kIHRyeSB0byBnZXQgdGhlIG5leHQgcG9zc2libGUgdHJhbnNwb3J0LiBGaXhlcyBwbGF5YmFjayBvZiBSZWFsTWVkaWEgc3RyZWFtcy4KCjIwMDktMTItMTAgMTg6NDI6NTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGluc3RhbGwgZXZlbnQgZnVuY3Rpb24gb24gaW50ZXJuYWwgUlRDUCBwYWQKCSAgSW5zdGFsbCBhIGN1c3RvbSBldmVudCBmdW5jdGlvbiBvbiB0aGUgaW50ZXJuYWwgUlRDUCBwYWQgc28gdGhhdCB3ZSBjYW4gcmVwbHkKCSAgVFJVRSB0byBhIGxhdGVuY3kgZXZlbnQuCgoyMDA5LTEyLTEwIDEwOjQ4OjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2F5dXYuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfYmdyYS5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9yZ2IuYzoKCSAgdmlkZW9taXhlcjogUmVtb3ZlIHdyb25nIGNvbW1lbnRzLCBjb3BpZWQgZnJvbSB0aGUgSTQyMCBibGVuZCBmdW5jdGlvbgoKMjAwOS0xMi0wOSAyMToxNTowNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IFRoZSBxdWV1ZWQgZHVyYXRpb24gaXMgYSBzaWduZWQgaW50ZWdlcgoJICAuLi5hbmQgaXQgd2lsbCByZWFsbHkgYmUgbmVnYXRpdmUgc29tZXRpbWVzLgoKMjAwOS0xMi0wOSAyMTowMzo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IE9ubHkgcG9wIGJ1ZmZlcnMgZnJvbSBjb2xsZWN0cGFkcyBhZnRlciB0aGV5J3JlIGZ1bGx5IGNvbnN1bWVkCgkgIFRoaXMgZGVjcmVhc2VzIGxhdGVuY3kgYW5kIG1lbW9yeSB1c2FnZSBiZWNhdXNlIG5ldyBidWZmZXJzIGFyZSBvbmx5CgkgIGFjY2VwdGVkIGJ5IGNvbGxlY3RwYWRzIGlmIHRoZXJlJ3Mgbm8gcXVldWVkIGJ1ZmZlci4KCjIwMDktMTItMDkgMjA6NDI6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBtYXRyb3NrYWRlbXV4OiBDbGVhbiB1cCBwb3NpdGlvbi9kdXJhdGlvbiBoYW5kbGluZwoJICBBbHNvIHVzZSB0aGUgbGFzdCBlbmQgdGltZSBmb3IgY2xvc2luZyB0aGUgc2VnbWVudCwgbm90IHRoZQoJICBzdGFydCB0aW1lIG9mIHRoZSBsYXN0IGJ1ZmZlci4KCjIwMDktMTItMDkgMTY6NTA6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IENsb3NlIHRoZSBzZWdtZW50IG9uIEVPUyBpZiB0aGUgcmVhbCBkdXJhdGlvbiBpcyBrbm93bgoKMjAwOS0xMi0wOSAxNjo0NjoxOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogVXBkYXRlIGR1cmF0aW9uIGlmIGN1cnJlbnQgYnVmZmVyIGlzIGFscmVhZHkgYWZ0ZXIgdGhlIG9sZCBkdXJhdGlvbgoKMjAwOS0xMi0wOSAxNjo0Mzo0MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogRHJvcCBidWZmZXJzIHRoYXQgYXJlIGFmdGVyIHNlZ21lbnQgc3RvcAoJICAuLi5hbmQgaWYgdGhpcyBoYXBwZW5lZCBmb3IgYWxsIHN0cmVhbXMgZ28gRU9TLgoKMjAwOS0xMi0wOSAxNjo0MTowNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogRml4IHBvc2l0aW9uIHRyYWNraW5nIGFuZCBzZW5kaW5nIG9mIGZpbGxlciBzZWdtZW50cwoKMjAwOS0xMi0wOSAxNjoxNTowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IFVzZSBnc3RfdXRpbF91aW50NjRfc2NhbGVfaW50KCkgZm9yIGZwcyB0byBzZWNvbmRzIHBlciBmcmFtZSBjYWxjdWxhdGlvbnMKCjIwMDktMTItMDggMTc6MzQ6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IEtlZXAgdGhlIHNlZ21lbnQgc3RvcCBwb3NpdGlvbiBmb3IgdXBkYXRlIG5ld3NlZ21lbnQgZXZlbnRzCgoyMDA5LTEyLTA0IDE0OjQyOjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5oOgoJKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5oOgoJKiBleHQvbGFkc3BhL2xvYWQuYzoKCSogZXh0L2xhZHNwYS9zZWFyY2guYzoKCSogZXh0L2xhZHNwYS91dGlscy5oOgoJICBsYWRzcGE6IFJlbW92ZSB0aGUgc291cmNlcyBmcm9tIGdzdC1wbHVnaW5zLWdvb2QKCSAgSXQncyBkaXNhYmxlZCBhbnl3YXkgYW5kIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiBpdCBpcyBpbgoJICBnc3QtcGx1Z2lucy1iYWQuIEZpeGVzIGJ1ZyAjNjAzNzc5LgoKMjAwOS0xMi0wNCAxMzo1MDo1OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGluaXQgY3VycmVudF9lbnRyeSBpbiBwdXNoIG1vZGUKCSAgU2V0IHRoZSBjdXJyZW50X2VudHJ5IHRvIDAgKGluc3RlYWQgb2YgLTEpIGluIHB1c2ggbW9kZSBzbyB0aGF0IHdlIGNvcnJlY3RseQoJICBjYWxjdWxhdGUgdGhlIGN1cnJlbnQgZnJhbWUgbnVtYmVyIGFuZCB0aW1lc3RhbXAuCgkgIEFkZCBzb21lIG1vcmUgZGVidWcgaW5mbyBhbmQgZmljIHRoZSBkdXJhdGlvbiBkZWJ1Zy4KCjIwMDktMTItMDQgMTE6MTQ6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggbWFqb3IgbWVtb3J5IGxlYWsgd2hlbiBwbGF5aW5nIGJhY2sgcnRzcCB2aWRlbyBzdHJlYW1zCgkgIERvbid0IGZvcmdldCB0byB1bnJlZiBRb1MsIG5hdmlnYXRpb24gYW5kIGxhdGVuY3kgZXZlbnRzIHdoZW4KCSAgZHJvcHBpbmcgdGhlbS4KCjIwMDktMTItMDMgMDg6NTg6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IG9ubHkgc2VuZCBwZW5kaW5nIHRhZ3Mgd2l0aCBuZXdzZWdtZW50IGV2ZW50cwoJICBTZW5kIHBlbmRpbmcgdGFncyBvbmx5IGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQsIGp1c3QgYWZ0ZXIgd2UndmUgc2VudAoJICB0aGUgbmV3c2VnbWVudCBldmVudCwgbm90IHdpdGggZS5nLiBmbHVzaC1zdGFydC4gVGhpcyBub3Qgb25seSBkb2VzIHRoZQoJICByaWdodCB0aGluZywgYnV0IGFsc28gbWFrZXMgc3VyZSB3ZSdyZSBub3QgdHJhbXBsaW5nIG92ZXIgdmFyaWFibGVzIHNldAoJICB1cCBpbiB0aGUgc3RyZWFtaW5nIHRocmVhZCBmcm9tIHRoZSBzZWVraW5nIHRocmVhZCBpbiBjYXNlIHNvbWVvbmUgdHJpZXMKCSAgdG8gaXNzdWUgYSBzZWVrIGp1c3QgYXMgdGhlIGRlbXV4ZXIgaXMgcGFyc2luZyB0aGUgaGVhZGVycy4KCSAgRml4ZXMgIzYwMTYxNy4gU3BvdHRlZCBieSBPZ255YW4gVG9uY2hldi4KCjIwMDktMTItMDMgMTc6NDk6NTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggZGVidWcgbWVzc2FnZSBwcmludGYgYXJncwoJICBGaXhlcyBkZWJ1ZyBtZXNzYWdlIHByaW50ZiBmb3JtYXQgdG8gbWFrZSBpdCBidWlsZCBpbiBtYWMncyBnY2MKCjIwMDktMTItMDIgMTM6MzM6MjAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSAgc2hvdXQyOiBDb252ZXJ0IGRlbGF5IGNvcnJlY3RseQoJICBVc2UgR1NUX01TRUNPTkQgdG8gY29udmVydCBkZWxheSBpbiBtc2VjcyB0byBuYW5vc2VjcwoJICBGaXhlcyAjNjAzNTQ3CgoyMDA5LTEyLTAxIDE5OjI0OjAyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiByZXNldCBzZWdtZW50IGluZm8gYWZ0ZXIgZmx1c2gKCSAgUmVzZXQgdGhlIHNlZ21lbnQgaW5mbyBhZnRlciBhIGZsdXNoLiBXZSB1c2UgdGhlIHNlZ21lbnQgZm9yIGhhbmRsaW5nIFFvUyBhbmQgaWYKCSAgd2UgZG9uJ3QgcmVzZXQgdGhlIHNlZ21lbnQsIFFvUyBpcyBiYXNpY2FsbHkgZGlzYWJsZWQgYWZ0ZXIgYSBmbHVzaGluZyBzZWVrLgoKMjAwOS0xMi0wMSAxNTowNzowNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDg3YmY0MjggdG8gNDdjYjIzYQoKMjAwOS0xMi0wMSAxNDoxNTo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGRhNGM3NWMgdG8gODdiZjQyOAoKMjAwOS0xMS0zMCAxNTo1OTo1MCArMDEwMCAgQXVyZWxpZW4gR3JpbWF1ZCA8Z3N0ZWx6eiBhdCB5YWhvbyBkb3QgZnI+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGF2b2lkIGJ1ZmZlciByZWYvdW5yZWYgcGFpcnMgZm9yIENTUkNzCgkgIFdlIHJlZiB0aGUgYnVmZmVyIGJlZm9yZSBwdXNoaW5nIGl0IGRvd25zdHJlYW0gaW4gb3JkZXIgdG8gZ2V0IHRoZSBDU1JDcyBvZiBpdAoJICBhZnRlciBwdXNoaW5nLiBUaGlzIGNhdXNlcyBwZXJmb3JtYW5jZSBwcm9ibGVtcyB3aGVuIGRvd25zdHJlYW0gZWxlbWVudHMgd2FudCB0bwoJICBjaGFuZ2UgdGhlIG1ldGFkYXRhIGJlY2F1c2UgdGhlIGJ1ZmZlciBuZWVkcyB0byBiZSBzdWJidWZmZXJlZC4KCSAgSW5zdGVhZCwgcmVhZCBhbmQgc3RvcmUgdGhlIENTUkNzIG9mIHRoZSBidWZmZXIgaW4gYW4gYXJyYXkgYmVmb3JlIHB1c2hpbmcgaXQKCSAgYW5kIHByb2Nlc3MgdGhlIGFycmF5IGFmdGVyIHB1c2hpbmcgdGhlIGJ1ZmZlci4gVGhpcyBhbGxvd3MgdXMgdG8gcmVtb3ZlIHRoZQoJICByZWYvdW5yZWYgcGFpci4KCSAgRml4ZXMgIzYwMzM3NgoKMjAwOS0xMS0yOCAxOToyMzoyNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmg6CgkgIHNob3V0MjogdXNlIGdzdHBvbGwgZm9yIHRpbWVvdXRzCgkgIFVzZSBvdXIgb3duIEdzdFBvbGwgYmFzZWQgdGltZW91dCBpbnN0ZWFkIG9mIHRoZSBzaG91dCBzbGVlcCBzbyB0aGF0IHdlIGNhbgoJICBpbnRlcnJ1cHQgd2hlbiBkb2luZyBhIHN0YXRlIGNoYW5nZSBhbmQgc2h1dHRpbmcgZG93bi4KCSAgRml4ZXMgIzYwMjg4NwoKMjAwOS0xMS0yOCAxMjoyNTowNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBjaGVjazogZml4IGppdHRlcmJ1ZmZlciBjaGVjawoJICBNYWtlIHN1cmUgd2Ugc2V0IGEgYmFzZV90aW1lIG9uIHRoZSBlbGVtZW50LgoJICBGaXggdGhlIHRpbWVvdXQgdG8gYXQgbGVhc3QgdHdpY2UgdGhlIGppdHRlcmJ1ZmZlciBsYXRlbmN5LgoJICBFbmFibGUgcHJldmlvdXNseSBmYWlsaW5nIHRlc3RzLgoJICBSZW1vdmUgaW1wb3NzaWJsZSBjaGVja3MuCgoyMDA5LTExLTI3IDE4OjU1OjIwICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA1M2EyNDg1IHRvIGRhNGM3NWMKCjIwMDktMTEtMjYgMTY6MTQ6MzAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuaDoKCSAgcnRwaDI2NGRlcGF5OiBvcHRpb25hbGx5IG1lcmdlIE5BTFVzIGludG8gQWNjZXNzIFVuaXRzCgkgIC4uLiB3aGljaCBtYXkgYmUgZXhwZWN0ZWQvZGVzaXJlZCBieSBzb21lIGRvd25zdHJlYW0gZGVjb2RlcnMKCSAgKGFuZCBzcGVjLXdpc2UgaGlnaGx5IHJlY29tbWVuZGVkIGZvciBhdCBsZWFzdCBub24tYnl0ZXN0cmVhbSBtb2RlKS4KCjIwMDktMTEtMjYgMTc6Mjk6MDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggdGltZXN0YW1wIGRhdGF0eXBlCgoyMDA5LTExLTI1IDEwOjM4OjIzIC0wNjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogYXZvaWQgdXNpbmcgd3JvbmcgY2xvY2stcmF0ZQoJICBDaGVjayBmb3IgYSB2YWxpZCBjbG9jay1yYXRlIGJlZm9yZSBhdHRlbXB0aW5nIHRvIGVzdGltYXRlIHRoZSBucHQKCSAgc3RvcCB0aW1lLgoKMjAwOS0xMS0yNSAxMDozNzozMCAtMDYwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGZpeCB0eXBvIGluIGNvbW1lbnRzCgoyMDA5LTExLTI1IDE2OjA1OjEwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVydGVzdDogYWRkIG9uZSBtb3JlIHRlc3QgYW5kIGZpbGUgYSBidWcgbm93CgkgIENIYW5nZSB0aGUgYmFja3dhcmRzIHRlc3QgdG8gYWx3YXlzIHNlbmQgZmlyc3QgYnVmZmVyIGZpcnN0IHRvIGhhdmUgYSBkZWZpbmUKCSAgYmFzZXRpbWUuIEFkZCBhbm90aGVyIHRlc3QgdGhhdCBzZW5kcyBidWZmZXJzIGJhY2t3YXJkcyB0byBhc3NlcnQgdGhhdCBvbmx5CgkgIGZpcnN0IHNlbnQgYnVmZmVyIGlzIGtlZXAgYW5kIHVzZWQgYXMgYmFzZXRpbWUuIERpc2FibGVkIHRob3NlIHRlc3RzIHN0aWxsLAoJICBhcyBpdHMgbm90IHBhc3NpbmcvZmFpbGluZyBjb25zaXRlbnRseSBhbmQgZmlsZSBhIGJ1ZyBmb3Igaml0dGVyYnVmZmVyLgoKMjAwOS0xMS0yNSAxMDoxNzozNCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcnRlc3Q6IGltcHJvdmUgdGhlIHRlc3QKCSAgdGhlIHRlc3RzIGFyZSBhIGJpdCBtb3JlIHNvbGlkIG5vdyBidXQgc3RpbGwgbm90IHByb2R1Y2UgcmVsaWFibGUgcmVzdWx0cy4KCSAgV29uZGVyIGlmIHRoZXkgYXJlIHN0aWxsIGZsYXdreSBvciBpZiBpdHMgYSBidWcgaW4gaml0dGVyYnVmZmVyLgoKMjAwOS0xMS0yNCAxMToxMzowNiAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IHJldHVybiBlcnJvciBtZXNzYWdlIG9uIHdpbmRvd3MgdG9vLgoKMjAwOS0xMS0yNCAxMDo1ODo0OSAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IGZpcnN0IHBoYXNlIG9mIGZpeGluZyB1cCBlcnJvciByZXBvcnRpbmcgZm9yIHdpbmRvd3MuCgoyMDA5LTEwLTMwIDAzOjEzOjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogYWxzbyBzZXQgdGhlIHN1Z2dlc3RlZCBidWYgc2l6ZSBmb3IgYXVkaW8KCSAgV2Ugd2VyZSBvbmx5IHNldHRpbmcgdGhlIHN1Z2dlc3RlZCBidWYgc2l6ZSBmb3IgdmlkZW8sCgkgIHdlIGNhbiBzZXQgaXQgZm9yIGF1ZGlvIGFzIHdlbGwuCgkgIFRoaXMgYW5kIDE5NWUxNDUyOWQ4MGVmMzE4Y2UzYTc3OGMxOTk1ZWZiMTFmMjY2Y2QKCSAgZml4IGFuIGlzc3VlIHRoYXQgcHJldmVudGVkIHNlZWtpbmcgb24gbGFyZ2UgYXZpIGZpbGVzCgkgIG9uIFdNUCAobm9uLXJlY2VudCB2ZXJzaW9ucykuCgoyMDA5LTExLTA0IDE2OjEwOjIzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4Lmg6CgkgIGF2aW11eDogZml4IGluZHggZHVyYXRpb24gZm9yIFBDTSBhdWRpbwoJICBHc3RCdWZmZXJzIGZvciBQQ00gYXVkaW8gdXN1YWxseSBjb250YWlucyBtb3JlIHRoYW4KCSAgMSBzYW1wbGUsIHdlIG5lZWQgdG8gZ2V0IHRoZSB0b3RhbCBudW1iZXIgb2Ygc2FtcGxlcyB0byBzZXQKCSAgdGhlIGluZHggZHVyYXRpb24uCgoyMDA5LTExLTA0IDE2OjA0OjEwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogQXVkaW8gYnVmZmVycyBzaG91bGQgYmUgcGlja2VkIGVhcmxpZXIKCSAgQWRkcyBhIDAuNXMgYWR2YW50YWdlIGZvciBhdWRpbyBidWZmZXJzIHRvIGJlaW5nCgkgIHBpY2tlZCBlYXJsaWVyIGZvciBtdXhpbmcuCgoyMDA5LTExLTI0IDE2OjQwOjE5ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCBwdXNoIG1vZGUgYnkgbWFraW5nIHN1cmUgc3RibCBpbmZvcm1hdGlvbiBpcyBhdmFpbGFibGUgaW4gbmV4dF9lbnRyeV9zaXplICgpCgoyMDA5LTExLTI0IDE2OjM1OjIwICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCBvcmRlciBvZiBhcmd1bWVudHMgaW4gbG9nIG1lc3NhZ2UKCjIwMDktMTEtMjQgMTU6NTE6MjEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZ2VuYzogZml4IHNwZWxsaW5nIGluIGNvbW1lbnQKCjIwMDktMTEtMjMgMTc6NTg6MTcgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgYnVpbGQgc3lzdGVtOiBGaXggd3JvbmdseSBjb21taXR0ZWQgY2hhbmdlIHRvIGNvbW1vbi8KCjIwMDktMTEtMTAgMTA6MjY6MDcgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRWFzZSBkZWJ1Z2dpbmcgYnkgcmVtb3ZpbmcgYSBnb3RvIGZvciBhbiBlcnJvciBtZXNzYWdlCgoyMDA5LTExLTE0IDE1OjUyOjA5ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogUGFyc2UgcGVyIHNhbXBsZSByYXRoZXIgdGhhbiBhbGwgYXQgb25jZSBidXQgYnVpbGQgY29tcGxldGUgaW5kZXggd2hlbiBzZWVraW5nCgoyMDA5LTExLTA0IDE3OjMxOjE1ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFNhdmUgYXRvbSBkYXRhIGZvciBsYXRlciB1c2Ugc28gaXQgZG9lc24ndCBnZXQgZnJlZWQgYWZ0ZXIgaW5pdGlhbCBwYXJzaW5nCgoyMDA5LTExLTA2IDExOjAwOjA0ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFBhcnNlIGZyb20gdGhlIHByZXZpb3VzbHkgcGFyc2VkIHNhbXBsZSB1cCB0byBzYW1wbGUgbgoKMjAwOS0xMS0wNCAxNzowNDoyMiArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBNYWtlIHF0ZGVtdXhfcGFyc2Vfc2FtcGxlcyAoKSBwYXJzZSB1cCB0byBuIHNhbXBsZXMKCjIwMDktMTAtMjggMTc6NDk6MDIgKzAwMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogU2VwYXJhdGUgb2ZmIHN0Ymwgc3ViLWF0b20gaW5pdGlhbGlzYXRpb24KCjIwMDktMTAtMjYgMjI6NDI6MzYgKzAwMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogTW92ZSB2YXJpYWJsZXMgaW50byBjb250ZXh0IGluIHByZXBhcmF0aW9uIGZvciByZWZhY3RvcmlzYXRpb24KCjIwMDktMTAtMjYgMjA6MzY6MDggKzAwMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IGJ1ZyB3aGVyZSBzdHBzIGlzIG5ldmVyIHBhcnNlZCBkdWUgdG8gbG9naWMgZXJyb3IKCjIwMDktMTEtMDQgMTc6MzE6MTUgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogUG9ydCBjdHRzIGZyb20gR25vZGUgKiB0byBHc3RCeXRlUmVhZGVyCgoyMDA5LTEwLTIzIDEzOjA2OjQ0ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBnbWFpbC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGF0b21wYXJzZXIuaDoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmg6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuaDoKCSAgcXRkZW11eDogU3dpdGNoIGZyb20gUXRBdG9tUGFyc2VyIHRvIEdzdEJ5dGVSZWFkZXIKCjIwMDktMTEtMjMgMTI6NTM6NTAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCB0eXBvIGFuZCBncmFtbWFyCgoyMDA5LTExLTIyIDE5OjMwOjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJICBDbGVhbiB1cCBMREZMQUdTLCBMSUJTLCBDRkxBR1MKCSAgRml4IG9yZGVyLCBmaXggdmFyaWFibGVzIHRoYXQgZG9uJ3QgZXhpc3QsIGxpa2UgR1NUX0xJQlNfTElCUywKCSAgdXNlICQoTElCTSkgaW5zdGVhZCBvZiAtbG0sIGFuZCBtb3ZlIF9MSUJTIGZyb20gTERGTEFHUyB0byBMSUJBREQuCgkgIFNwb3R0ZWQgYnkgSGF2YXJkIEdyYWZmLgoKMjAwOS0xMS0yMCAxMDozMTo0NyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJKiBnc3QvZHRtZi90b25lX2RldGVjdC5oOgoJICBkdG1mOiBVc2UgX3N0ZGludC5oIGZyb20gY29uZmlndXJlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDI0NjUKCjIwMDktMTEtMjAgMTA6MzA6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBmaXggdHlwbyBpbiBtb2RlIGVudW0gZGVzY3JpcHRpb24KCjIwMDktMTEtMjAgMTE6MjU6NDkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBkb2NzOiBtb3JlIGxpbmtzIGFuZCBiZXR0ZXIgc2hvcnQgZGVzY3JpcHRpb24KCSAgRml4IHNwZWxsaW5nIG9mIEdzdFJ0cFNzcmNEZW11eCB0byBnZXQgaXQgbGlua2VkLiBBZGQgbW9yZSBsaW5rcy4gQ2hhbmdlCgkgIHRoZSBzaG9ydCBkZXNjcmlwdGlvbiB0byBiZSBtb3JlIG1lYW5pbmdmdWwuCgoyMDA5LTExLTIwIDA5OjU4OjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2twYXJzZS5jOgoJICB3YXZwYWNrcGFyc2U6IEZpeCB1bml0IHRlc3QgZm9yIHJlY2VudCBwb3NpdGlvbiByZXBvcnRpbmcgY2hhbmdlcwoKMjAwOS0xMS0xOSAyMDozMzowNyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuYzoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuaDoKCSAgZHRtZjogVXBkYXRlIGR0bWZkZXRlY3QgdG8gbWFrZSBpdCBNU1ZDIGZyaWVuZGx5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDI0NjUKCjIwMDktMTEtMTkgMTY6MDk6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIHdhdnBhY2twYXJzZTogQWZ0ZXIgcHVzaGluZyBhIGZyYW1lLCB1cGRhdGUgbGFzdF9zdG9wIHRvIHRoZSBlbmQgb2YgdGhlIGZyYW1lCgkgIFRoaXMgaW1wcm92ZXMgcG9zaXRpb24gcmVwb3J0aW5nLCBlc3BlY2lhbGx5IGJlY2F1c2Ugb2YgdGhlIGZhY3QgdGhhdAoJICBXYXZQYWNrIGZyYW1lcyBhcmUgdXN1YWxseSAwLjUtMS4wIHNlY29uZHMgbG9uZy4KCjIwMDktMTEtMTkgMTY6MDg6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIHdhdnBhY2twYXJzZTogQWxsb3cgcHVsbGluZyB0aGUgbGFzdCBXYXZQYWNrIGZyYW1lIG9mIGEgZmlsZQoJICBCZWNhdXNlIG9mIGEgPj0gaW5zdGVhZCBvZiBhID4sIHRoYXQgbGFzdCBmcmFtZSBvZiBhIFdhdlBhY2sgZmlsZQoJICB3b3VsZCBuZXZlciBiZSBwYXJzZWQgaW4gcHVsbCBtb2RlLgoKMjAwOS0xMS0xOSAxMDozMDo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDA3MDJmZTEgdG8gNTNhMjQ4NQoKMjAwOS0xMC0yOSAwODoyOTozOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IEFkZCBtb3JlIGZpZWxkcyB0byBTVlEzIGNhcHMKCSAgcXRkZW11eCBvbmx5IGFkZGVkIHRoZSB3aG9sZSBzdHNkIGF0b20gYXMgJ2NvZGVjX2RhdGEnCgkgIGluIGl0cyBvdXRwdXQgY2FwcyBmb3IgU1ZRMy4gVGhpcyBwYXRjaCBtYWtlcyBpdCBhZGQKCSAgdGhlIFNFUUggKGluc2lkZSBhIFNNSSBhdG9tKSBhbmQgYSBnYW1tYSBmaWVsZCAodGFrZW4KCSAgZnJvbSB0aGUgZ2FtYSBhdG9tKSBpZiBhdmFpbGFibGUuCgkgIEZpeGVzICM1ODc5MjIKCjIwMDktMTEtMTggMTc6NTU6NDIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJICB3YXZlbmM6IFJhaXNlIHJhbmsgb2YgbXV4ZXIgdG8gUFJJTUFSWQoKMjAwOS0xMS0xOCAxNzo1NDoxNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIHk0bTogUmFpc2UgcmFuayBvZiBlbmNvZGVyIHRvIFBSSU1BUlkKCjIwMDktMTEtMTggMTc6NTQ6MDIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbGF3L2FsYXcuYzoKCSogZ3N0L2xhdy9tdWxhdy5jOgoJICBsYXc6IFJhaXNlIHJhbmsgb2YgZW5jb2RlcnMgdG8gUFJJTUFSWQoKMjAwOS0xMS0xMiAxOToxMToxOCArMDAwMCAgQmFzdGllbiBOb2NlcmEgPGhhZGVzc0BoYWRlc3MubmV0PgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIEFkZCB1c2VyLWlkIGFuZCB1c2VyLXB3IHByb3BlcnRpZXMKCSAgU28gdGhhdCBvbmUgZG9lc24ndCBuZWVkIHRvIG1vZGlmeSB0aGUgVVJMIHRvIGhhdmUgYWNjZXNzCgkgIHRvIGF1dGhlbnRpY2F0ZWQgUlRTUCBzdHJlYW1zLgoJICBmaXhlcyAjNjAxNzI4CgoyMDA5LTExLTE4IDEyOjIyOjEwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IHVzZSBhY3F1aXJlZCBmbGFnIHdoZW4gY2hlY2tpbmcgdmFsaWQgc3RhdGUKCSAgVXNlIHRoZSBhY3F1aXJlZCBmaWVsZCBvZiB0aGUgcmluZ2J1ZmZlciBpbiBnZXRfdGltZSB0byBrbm93IHdoZW4gd2UgYXJlIGluIGFuCgkgIGludmFsaWQgc3RhdGUuIFdlIGRvbid0IGNsZWFyIHRoZSByYXRlIGZsYWcgd2hlbiByZWxlYXNpbmcgdGhlIHJpbmdidWZmZXIgc28KCSAgdGhpcyB2YWx1ZXMgaXMgbm90IHVzYWJsZS4KCSAgQXZvaWRzIHNvbWUgZXJyb3IgbWVzc2FnZXMgYmVpbmcgcG9zdGVkIGJlY2F1c2UgdGhlIHB1bHNlYXVkaW8gY29ubmVjdGlvbiBpcwoJICBkb3duLgoKMjAwOS0xMS0xOCAxMDoxNzowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYnVtcCBjb3JlIHJlcXVpcmVtZW50IHRvIDAuMTAuMjUuMSBhcyB3ZWxsCgkgIE1ha2UgaW1wbGljaXQgcmVxdWlyZW1lbnQgZXhwbGljaXQuCgoyMDA5LTExLTE4IDEyOjUzOjQ0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGJvZ3VzIG1lbW9yeSBjaHVuayBzaXplIGNoZWNrCgoyMDA5LTExLTE4IDEyOjAxOjUyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGltcGxlbWVudCBzb21lIG1vcmUgY2FsbGJhY2tzCgkgIEltcGxlbWVudCBzb21lIG1vcmUgY2FsbGJhY2tzIGZvciBkZWJ1Z2dpbmcgcHVycG9zZXMuCgoyMDA5LTExLTExIDE1OjUwOjE5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcmVsZWFzZSBsb2NrIGJlZm9yZSBlbWl0aW5nIHNpZ25hbHMKCSAgUmVsZWFzZSB0aGUgamJ1ZiBsb2NrIGJlZm9yZSBlbWl0aW5nIHRoZSByZXF1ZXN0LXB0LW1hcCBzaWduYWwgdG8gYXZvaWQKCSAgZGVhZGxvY2tzLiBXZSBhbHNvIG5lZWQgdG8gY2F0Y2ggdGhlIHNodXRkb3duIGNhc2Ugd2hlbiBsb2NraW5nIGFnYWluLgoJICBGaXhlcyAjNTkzMzU0CgoyMDA5LTExLTExIDExOjU5OjE2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5oOgoJICBydHA6IGFkZCBCcm9hZGNvbVZvaWNlIGRlcGF5bG9hZGVyCgoyMDA5LTExLTExIDExOjM4OjM2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5jOgoJICBydHBidnBheTogYWRkIHJmYyByZWZlcmVuY2UKCjIwMDktMTEtMTEgMTE6Mzc6MDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZwYXkuaDoKCSAgcnRwOiBhZGQgQnJvYWRjb21Wb2ljZSBwYXlsb2FkZXIKCjIwMDktMTEtMDkgMTI6MTc6MzQgKzAxMDAgIEphbiBVcmJhxYRza2kgPHd1bGN6ZXJAd3VsY3plci5vcmc+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IHByb3Blcmx5IGZpbmlzaCB0aGUgRUNNQSBhcnJheQoJICBUaGUgRUNNQSBhcnJheSB3aXRoIHRoZSBmaWxlIGluZGV4IHdhcyBtaXNzaW5nIGEgbWFuZGF0b3J5IGVuZCBtYXJrZXIuCgkgIEZpeGVzIGJ1ZyAjNjAxMjQyLgoKMjAwOS0xMS0xOCAwMjoxNToxNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIFVzZSBuZXcgc3RpbGwtZnJhbWUgQVBJIGZyb20gZ3N0LXBsdWdpbnMtYmFzZQoKMjAwOS0xMS0xOCAwMjoxNDo0NiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBCdW1wIGdzdC1wbHVnaW5zLWJhc2UgcmVxdWlyZW1lbnQgdG8gMC4xMC4yNS4xCgoyMDA5LTExLTE3IDE3OjU5OjEzIC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogaWRlbnRpZnkgSU1BIGFkcGNtIGluIHF0IHByb3Blcmx5LgoKMjAwOS0xMS0xOCAwMToyNzozNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQgLT4gMC4xMC4xNy4xCgoyMDA5LTExLTE3IDAxOjUzOjA4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkgIEFkZCByZWxlYXNlIDAuMTAuMTcgdG8gdGhlIGRvYXAgZmlsZQoKPT09IHJlbGVhc2UgMC4xMC4xNyA9PT0KCjIwMDktMTEtMTcgMDE6MjU6MzAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgUmVsZWFzZSAwLjEwLjE3CgoyMDA5LTExLTE3IDAwOjE4OjIyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDktMTEtMTMgMDI6MDc6MjUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTYuMyBwcmUtcmVsZWFzZQoKMjAwOS0xMS0xMCAxMTo1MjoyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IE1ha2Ugc3VyZSB0byBpbml0aWFsaXplIHZhcmlhYmxlcyBiZWZvcmUgdXNpbmcgdGhlbQoKMjAwOS0xMS0wOSAyMDowNjowMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE2LjIgcHJlLXJlbGVhc2UKCjIwMDktMTEtMDkgMTU6MjA6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBmcmVlIHRlbXBvcmFyeSBidWZmZXIgd2hlbiBjaGFuZ2luZyBzdGF0ZSB0byBOVUxMCgkgIEZyZWUgdGVtcG9yYXJ5IGFsbG9jYXRpb25zIGluIHRoZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gYW5kIG5vdAoJICBvbmx5IHdoZW4gdGhlIG9iamVjdCBpcyBmaW5hbGlzZWQuCgoyMDA5LTExLTA5IDExOjQwOjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJICBqcGVnZGVjOiBvbmx5IGFsbG9jYXRlIGFzIG11Y2ggdGVtcG9yYXJ5IG1lbW9yeSBhcyBuZWVkZWQgZm9yIGluZGlyZWN0IGRlY29kaW5nCgkgIFdoZW4gd2UgY2FuJ3QgZGVjb2RlIGRpcmVjdGx5IGludG8gdGhlIG91dHB1dCBidWZmZXIsIG1ha2Ugb3VyIHRlbXAgYnVmZmVycwoJICBvbmx5IGFzIGJpZyBhcyBuZWVkZWQgaW5zdGVhZCBvZiBhbGxvY2F0aW5nIGZvciB0aGUgd29yc3QgY2FzZSBzY2VuYXJpbyAod2VsbCwKCSAgd2Ugc3RpbGwgYWxsb2MgbW9yZSB0aGFuIHN0cmljdGx5IG5lZWRlZCBmb3Igc29tZSBjYXNlcywgYnV0IHNpZ25pZmljYW50bHkKCSAgbGVzcyB0aGFuIGJlZm9yZSkuCgoyMDA5LTExLTA1IDIzOjQ2OjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBwcmludGYgZm9ybWF0IGZpeAoKMjAwOS0xMS0wNSAyMzo0NDoyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmF3MTM5NC9nc3QxMzk0Y2xvY2suYzoKCSogZXh0L3JhdzEzOTQvZ3N0aGR2MTM5NHNyYy5jOgoJICByYXcxMzk0OiBwcmludGYgZm9ybWF0IGZpeGVzCgoyMDA5LTExLTA1IDIzOjQwOjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIGVxdWFsaXplcjogcHJpbnRmIGZvcm1hdCBmaXgKCjIwMDktMTEtMDQgMjI6MTk6NTggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJKiBnc3QvZHRtZi9nc3RkdG1mLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5oOgoJKiBnc3QvZHRtZi90b25lX2RldGVjdC5jOgoJKiBnc3QvZHRtZi90b25lX2RldGVjdC5oOgoJICBkdG1mZGV0ZWN0OiBBZGQgRFRNRiB0b25lIGRldGVjdG9yCgkgIEl0IGxvb2tzIGF0IHJhdyBhdWRpbyBkYXRhIGFuZCBlbWl0cyBtZXNzYWdlcyB3aGVuIERUTUYgaXMgZGV0ZWN0ZWQuCgkgIFRoZSBkdG1mIGRldGVjdG9yIGlzIHRoZSBzYW1lIEdvZXJ0emVsIGltcGxlbWVudGF0aW9uIHVzZWQgaW4gRnJlZVN3aXRjaAoJICBhbmQgQXN0ZXJpc2suIEl0IGlzIGluIHRoZSBwdWJsaWMgZG9tYWluLgoKMjAwOS0xMS0wNSAxMjoxMzo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IGRvIG5vdCB3cml0ZSBlbXB0eSBJTkZPIGxpc3QKCSAgYXZvaWQgd3JpdGluZyBhbiBlbXB0eSBJTkZPIGxpc3QgY2h1bmssIGJvdGggYmVjYXVzZQoJICBpdCBpcyB1c2VsZXNzIGFuZCBiZWNhdXNlIHZsYyByZWZ1c2VzIHRvIHBsYXkgdGhlCgkgIHJlc3VsdGluZyBmaWxlLgoKMjAwOS0xMS0wNSAxMDo1NDoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICBlcXVhbGl6ZXI6IE5vdGlmeSBhYm91dCBiYW5kIHByb3BlcnR5IGNoYW5nZXMgY2F1c2VkIGJ5IGNoYW5naW5nIG51bWJlciBvZiBiYW5kcwoKMjAwOS0xMS0wNSAxMDo0NTo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5oOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJICBlcXVhbGl6ZXI6IE1ha2UgY2hhbmdlcyB0byBiYW5kIHByb3BlcnRpZXMgYW5kIHRoZSBudW1iZXIgb2YgYmFuZHMgdGhyZWFkc2FmZQoKMjAwOS0xMS0wNSAxMDozMDo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICBlcXVhbGl6ZXI6IEZpeCBzdHVwaWQgb2ZmIGJ5IHR3byBidWcKCjIwMDktMTEtMDUgMDg6MTg6MDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgZXF1YWxpemVyOiBBZGQgYmFuZCBwcm9wZXJ0eSB0byBzZWxlY3QgdGhlIGJhbmQgZmlsdGVyIHR5cGUKCSAgVGhpcyBhbGxvd3MgcGVyIGJhbmQgY29uZmlndXJhdGlvbiBvZiBhIHBlYWssIGxvdyBzaGVsZiBvcgoJICBoaWdoIHNoZWxmIGZpbHRlciwgd2hpY2ggY2FuIGJlIHZlcnkgdXNlZnVsIGlmIHRoZSBiYW5kIGZyZXF1ZW5jaWVzCgkgIGFuZCB3aWR0aHMgYXJlIG1hbnVhbGx5IGNvbmZpZ3VyZWQuCgoyMDA5LTExLTA1IDA4OjE3OjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIGVxdWFsaXplcjogRml4IGNvZGUgc3R5bGUKCjIwMDktMTEtMDUgMDg6MDM6MTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkgIGVxdWFsaXplcjogU29tZSBjbGVhbnVwCgoyMDA5LTExLTA0IDIyOjIxOjM1IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIGR0bWZzcmM6IFJlamVjdCBlbXB0eSBjYXBzCgoyMDA5LTExLTA0IDIyOjIxOjIyIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIGR0bWZzcmM6IFVzZSBsb2cgbGV2ZWwgZm9yIHJlcGVhdGVkIGRlYnVnIG1lc3NhZ2VzCgoyMDA5LTExLTA0IDIwOjA1OjE3IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIGR0bWZzcmM6IEFsbG93IGZvciBhbnkgc2FtcGxlcmF0ZQoKMjAwOS0xMC0wNyAwOTozMToxOSAtMDQwMCAgR2FicmllbCBNaWxsYWlyZSA8Z2FicmllbC5taWxsYWlyZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuYzoKCSAgY2VsdHBheS9kZXBheSA6IGNoYW5nZSBHU1RfREVCVUdfT0JKRUNUIHRvIEdTVF9MT0dfT0JKRUNUIGluIHBheV9oYW5kbGVfYnVmZmVyIGFuZCBkZXBheV9wcm9jZXNzCgoyMDA5LTEwLTAyIDE3OjA0OjQzIC0wNDAwICBHYWJyaWVsIE1pbGxhaXJlIDxnYWJyaWVsLm1pbGxhaXJlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJICBjZWx0cGF5L2RlcGF5OiBOZWdvdGlhdGUgcGFyYW1ldGVycyB0aHJvdWdoIGNhcHMKCSAgY2VsdGRlcGF5IDogYWRkZWQgZGVmYXVsdCBmcmFtZXNpemUoNDgwKSBjaGFubmVscygxKSBhbmQgY2xvY2tyYXRlKDMyMDAwKQoJICBkZXBheV9zZXRjYXBzIDogbm93IGdldHMgY2hhbm5lbHMgYW5kIGZyYW1lc2l6ZSBmcm9tIHN0cmluZyB3aXRoIGRlZmF1bHQgdmFsdWUKCSAgZGVwYXlfcHJvY2VzcyA6IG5vdyBhZGRzIHRpbWVzdGFtcCB0byBvdXRidWYKCSAgQWRkZWQgZnJhbWVfc2l6ZSB0byBHc3RSdHBDZWx0RGVwYXkKCSAgQ2hhbmdlZCBzb21lIEdTVF9ERUJVRyB0byBHU1RfREVCVUdfT0JKRUNUIG9yIEdTVF9MT0dfT0JKRUNUCgkgIGNlbHRwYXkgOiBnZXRjYXBzIDogZ2V0cyBjaGFubmVsIGFuZCBmcmFtZXNpemUgYW5kIHNldHMgY2FwcwoJICBBZGRlZCBmcmFtZS1zaXplIHRvIHN0YXRpYyBjYXBzIGZvciBhdWRpby94LWNlbHQKCjIwMDktMTEtMDQgMTU6NTg6MzQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kZWludGVybGFjZS9NYWtlZmlsZS5hbToKCSAgZGVpbnRlcmxhY2U6IFB1bGwgaW4gQ0ZMQUdTIGFuZCBMSUJTIGZsYWdzIGZyb20gLWJhc2UgYmVmb3JlIGNvcmUgYmVmb3JlIHN5c3RlbS4KCjIwMDktMTAtMTUgMTY6MzM6MjQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHBvL01ha2V2YXJzOgoJICBwbzogRG9uJ3QgY3JlYXRlIGJhY2t1cCAucG8gZmlsZXMKCSAgQXMgd2VsbCBhcyBwcmV2ZW50aW5nIGNyZWF0aW9uIG9mIHVzZWxlc3MgYmFja3VwIGZpbGVzLCBpdCB3b3JrcwoJICBhcm91bmQgYSBidWcgaW4gZ2V0dGV4dCAwLjE3IG9uIE9TL1gKCjIwMDktMTEtMDQgMTY6NDc6NDIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAaWhhdGVzdGV2ZS5sb2NhbD4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5jOgoJICBxdGRlbXV4OiBpbml0IHZhcmlhYmxlcyB0byBtYWtlIGNvbXBpbGVyIG9uIG9zeCBidWlsZCBib3QgaGFwcHkKCjIwMDktMTEtMDMgMTY6MDQ6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmM6CgkgIHF0ZGVtdXg6IGluaXQgdmFyaWFibGVzIHRvIG1ha2UgY29tcGlsZXIgb24gb3N4IGJ1aWxkIGJvdCBoYXBweQoKMjAwOS0xMS0wMyAxNzozNToxNSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkgIGpwZWdkZWM6IGRvbid0IGFsbG9jYXRlIGJpZyBhcnJheXMgb24gdGhlIHN0YWNrCgkgIEFkZCB0aGUgYXJyYXlzIHRvIHRoZSBpbnN0YW5jZSBkYXRhIGFuZCBhbGxvY2F0ZSBvbiBmaXJzdCB1c2UuCgoyMDA5LTExLTAxIDE1OjU3OjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogcmVtb3ZlIHBvaW50bGVzcyBjYWxsIHRvIGdzdF9lbGVtZW50X25vX21vcmVfcGFkcygpCgoyMDA5LTExLTAxIDAwOjI5OjU3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgbGV2ZWw6IGZpeCBkZWNheSB0byBiZSBzbW9vdGgKCSAgVGhlIGxlbmd0aCBub3QgaGF2aW5nIGFueSBmcmFjdGlvbmFsIHBhcnQgYXMgaXQgd2FzIHByb21vdGVkIHRvIGdkb3VibGUgYWZ0ZXIKCSAgZGl2aWRpbmcgdHdvIGd1aW50NjQuCgoyMDA5LTExLTAxIDAwOjI5OjI0ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmg6CgkgIGxldmVsOiBjYWxjdWxhdGUgdGhlIG1lc3NhZ2UtaW50ZXJ2YWxsIHdoZW4gaXQgY2hhbmdlcwoKMjAwOS0xMS0wMSAwMDoxNDowOCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIGxldmVsOiBjbG9ja3RpbWUgaXMgYSBndWludDY0LCB1c2UgcmlnaHQgbWFjcm8gdG8gaW5pdCBmaWVsZHMKCjIwMDktMTEtMDEgMDA6MTA6MDEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBsZXZlbDogdXNlIG1vcmUgZy1zdHlsZSB0eXBlcwoKMjAwOS0xMC0zMCAwOToyNzo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBPbmx5IHNldCB0aGUgdm9sdW1lIG9uIHN0cmVhbSBjb25uZWN0aW9uIGlmIHB1bHNlID49IDAuOS4yMCBpcyBhdmFpbGFibGUKCSAgSW4gb2xkZXIgdmVyc2lvbnMgdGhlIHZvbHVtZSBzZXQgZHVyaW5nIHN0cmVhbSBjb25uZWN0aW9uIGhhZAoJICBubyBkZWZpbmVkIHNlbWF0aWMgYW5kIHVzdWFsbHkgaXQgd2FzIGEgcmVsYXRpdmUgdm9sdW1lLiBXaGF0CgkgIHdhcyBuZWVkZWQgZm9yIG91ciB1c2UgY2FzZSBpcyBhbiBhYnNvbHV0ZSB2b2x1bWUgdGhvdWdoLCBvdGhlcndpc2UKCSAgdGhlIHZvbHVtZSB3aWxsIGJlIGFsd2F5cyBkZWNyZWFzZWQgb24gc3RyZWFtIGNvbm5lY3Rpb24gaWYgaXQncwoJICBsZXNzIHRoYW4gMTAwJS4KCSAgU2luY2UgcHVsc2UgMC45LjIwIHRoYXQgdm9sdW1lIGlzIGFsd2F5cyBhbiBhYnNvbHV0ZSB2b2x1bWUgaWYKCSAgZmxhdCB2b2x1bWVzIGFyZSB1c2VkIGFuZCByZWxhdGl2ZSBvdGhlcndpc2UsIHdoaWNoIGlzIHRoZSBzYW1lCgkgIGFzIGZvciBwYV9jb250ZXh0X3NldF9zaW5rX2lucHV0X3ZvbHVtZSgpLgoJICBSZWxldmFudCBwdWxzZSBjaGFuZ2VzZXRzOgoJICBodHRwOi8vZ2l0LjBwb2ludGVyLmRlLz9wPXB1bHNlYXVkaW8uZ2l0O2E9Y29tbWl0O2g9ZjI3YTUwNjkxYzhmZTQ1YmFjN2RkNmIyMWZhYzkxYTM1OWRlZjNhMQoJICBodHRwOi8vZ2l0LjBwb2ludGVyLmRlLz9wPXB1bHNlYXVkaW8uZ2l0O2E9Y29tbWl0O2g9MjUwMTY4NzU3OWUzNTlkNTAzMmE0ZDE2NWIyZmZjOGY1YjFiOGJhNgoKMjAwOS0xMC0yNyAxODowNzoxOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHVzZSBzZWdtZW50X2Z1bGwgd2hlbiB3ZSBjYW4KCSAgVXNlIHNlZ21lbnRfZnVsbCBzbyB0aGF0IHdlIGNhbiBwYXNzIHRoZSBhcHBsaWVkIHJhdGUgdG8gdGhlIHNlZ21lbnQgdmFsdWVzLiBXZQoJICB3aWxsIGNoYW5nZSB0aGUgYXBwbGllZCByYXRlIHdoZW4gd2UgaW1wbGVtZW50IHNraXAgbW9kZS4KCjIwMDktMTAtMTggMDA6MTY6MDYgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGdtYWlsLmNvbT4KCgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkgIHdhdmVuYzogRml4IGJ1ZmZlciBvZmZzZXQgYnkgbW92aW5nIGxlbmd0aCBpbmNyZW1lbnRhdGlvbgoKMjAwOS0xMC0yMyAxODozMToxNCAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogQ3JlYXRlIHRoZSB2aWRlbyBOU1ZpZXcgaW4gUkVBRFktPlBBVVNFRCByYXRoZXIgdGhhbiBOVUxMLT5SRUFEWQoKMjAwOS0xMC0yMyAxODoyODoyMiAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06CgkgIG9zeHZpZGVvOiBleHBsaWNpdGx5IGxpbmsgdG8gR1NUX0xJQlMKCjIwMDktMTAtMjMgMTg6MDk6NDMgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L2F2aS9NYWtlZmlsZS5hbToKCSogZ3N0L21hdHJvc2thL01ha2VmaWxlLmFtOgoJKiBnc3Qvd2F2cGFyc2UvTWFrZWZpbGUuYW06CgkgIEFkZCBkZXBlbmRlbmNpZXMgb2YgZ3N0cmlmZiB0byB0aGluZ3MgdGhhdCBsaW5rIHRvIGdzdHJpZmYsIG5lZWRlZCBvbiBXaW4zMi4KCjIwMDktMTAtMjMgMTc6MjU6MTcgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1QQ01BLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItYWxzYXNyYy1QQ01BLmM6CgkgIHJ0cCBleGFtcGxlczogcmVtb3ZlIGV4ZWN1dGFibGUgYml0cyBmcm9tIEMgZmlsZXMuCgoyMDA5LTEwLTIzIDExOjIxOjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICB0ZXN0czogZGlzYWJsZSBhbGwgaml0dGVyYnVmZmVyIHRlc3RzIGZvciBub3cKCSAgU2luY2UgZXZlbiB0aGUgb25lIGVuYWJsZWQgc2VlbXMgdG8gZmFpbC4KCjIwMDktMTAtMjIgMTM6Mzk6NTggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICB0ZXN0czogYWxzbyBpbmNsdWRlIHRoZSBuZXcgdGVzdCBmb3IgcHJldiBjb21taXQKCjIwMDktMTAtMjIgMTM6MTk6MDcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgdGVzdHM6IGFkZCBhIGppdHRlcmJ1ZmZlciB0ZXN0CgkgIFRlc3RzIHB1c2hpbmcgYSBmZXcgYnVmZmVycyBpbiB2YXJpb3VzIG9yZGVyIGFuZCBhc3NlcnRpbmcgdGhlIG9yZGVyIHNlbnQgYnkgdGhlCgkgIGppdHRlcmJ1ZmZlci4gQ29udGFpbnMgdHdvIGRpc2FibGVkIHRlc3RzIHRoYXQgbmVlZCBtb3JlIHdvcmsuCgoyMDA5LTEwLTIyIDEyOjMwOjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IERpcmFjICJtdXhpbmciIHVuaXRzIGVuZCBvbiBFT1MgdG9vCgkgIEEgRGlyYWMgbXV4aW5nIHVuaXQgYXJlIGFsbCBub24tcGljdHVyZSwgbm9uLWVuZC1vZi1zZXF1ZW5jZQoJICBwYWNrZXRzIHVwIHRvIGFuZCBpbmNsdWRpbmcgdGhlIGZpcnN0IHBpY3R1cmUgb3IgZW9zIHBhY2tldC4KCSAgU2VlIGh0dHA6Ly93d3cuZGlyYWN2aWRlby5vcmcvd2lraS9pbmRleC5waHAvQ29udGFpbmVyRm9ybWF0TWFwcGluZ0d1aWRlbGluZXMKCjIwMDktMTAtMjIgMDI6MDk6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZml4IGNvbXBpbGF0aW9uIHdpdGggZGVidWdnaW5nIGRpc2FibGVkCgkgIHRvdGFsX2lkeCBpcyBhbHdheXMgZXZhbHVhdGVkLgoKMjAwOS0xMC0xOSAyMTo1OTo0NiArMDMwMCAgUHJpaXQgTGFlcyA8cGxhZXNAcGxhZXMub3JnPgoKCSogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuaDoKCSAgY2FjYXNpbms6IG1pbm9yIGNsZWFudXBzIGZvciBoZWFkZXIuCgkgIFVzZSBHX0JFR0lOX0RFQ0xTIG1hY3JvcywgcmVtb3ZlIHVudXNlZCB2YXJpYWJsZXMgYW5kIGZpeCB0eXBvLgoJICBTZWUgIzU5OTAxOC4KCjIwMDktMTAtMTkgMjE6NTk6MjMgKzAzMDAgIFByaWl0IExhZXMgPHBsYWVzQHBsYWVzLm9yZz4KCgkqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6CgkgIGNhY2FzaW5rOiBleGl0IHByb3Blcmx5IHdoZW4gaW52YWxpZCBkcml2ZXIgaGFzIGJlZW4gc2VsZWN0ZWQuCgkgIFNlZSAjNTk5MDE4LgoKMjAwOS0xMC0yMCAxODoyMzoyOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IFN0b3Agc2Nhbm5pbmcgYXQgdGhlIGxhc3QgZW50cnkuLi4gYW5kIG5vdCB0aGUgb25lIGJlZm9yZSA6KQoJICBUaGlzIGVuc3VyZXMgd2UgYWN0dWFsbHkgcHVzaCBvdXQgZXZlcnl0aGluZwoKMjAwOS0xMC0yMCAxNzoyMDo1NSArMDIwMCAgQW5keSBXaW5nbyA8d2luZ29Ab2Jsb25nLm5ldD4KCgkgIHF0ZGVtdXg6IHVucGFjayBtb3JlIGluZm9ybWF0aW9uIGludG8gaW1hZ2UveC1qMmMgY2FwcwoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6IEFkZCBuZXcgZm91cmNjcyBmb3IgdXNlIGJ5IHRoZSBtajIKCSAgdW5wYWNrZXIuCgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jIChxdGRlbXV4X3BhcnNlX3RyYWspOiBVbnBhY2sgSlBFRzIwMDAgY29tcG9uZW50CgkgIG1hcHBpbmcgYW5kIGNoYW5uZWwgZGVmaW5pdGlvbnMgZnJvbSB0aGUganAyaCBoZWFkZXIuIFdpbGwgYWRkCgkgIGNvbXBvbmVudC1tYXAgYW5kIGNoYW5uZWwtZGVmaW5pdGlvbnMgZWxlbWVudHMgdG8gdGhlIGNhcHMgaWYgdGhlCgkgIGNvbXBvbmVudCBtYXBzIG9yIGNoYW5uZWwgZGVmaW5pdGlvbnMgYXJlIG5vbnN0YW5kYXJkLCB3aGVyZSBzdGFuZGFyZAoJICBvcmRlciBtZWFucyBSR0IsIDQ0NCBwYWNrZWQgWVVWLCBvciBncmV5c2NhbGUsIHdpdGggbm8gYWxwaGEgY2hhbm5lbC4KCSAgRml4ZXMgIzU5ODkxNS4KCjIwMDktMTAtMjAgMTc6MzM6NDEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOgoJICB0ZXN0czogaW5jbHVkZSBzdGRpby5oIGZvciBzc2NhbmYKCjIwMDktMTAtMTkgMTU6MjE6NTcgKzAxMDAgIEJhc3RpZW4gTm9jZXJhIDxoYWRlc3NAaGFkZXNzLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgRml4IHRoZSBTdHJlYW1Wb2x1bWUgaW50ZXJmYWNlIG5vdCBiZWluZyBhZHZlcnRpc2VkCgkgIGdzdF9wdWxzZXNpbmtfaW50ZXJmYWNlX3N1cHBvcnRlZCgpIHdhcyBtaXNzaW5nIGEgY2hlY2sgZm9yIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk4OTMzCgoyMDA5LTEwLTE2IDIxOjE0OjE0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgbGV2ZWw6IGNvZGUgY2xlYW51cAoJICBVc2UgZ2RvdWJsZSBpbnN0ZWFkIG9mIGRvdWJsZS4gQ2FsY3VsYXRlIGZhbGxvZmZfdGltZSBvbmNlIGluc3RlYWQgb2YgdHdpY2UuCgoyMDA5LTEwLTE4IDE1OjUyOjAyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogTUVNRFVNUCB0aGUganVuayBibG9icwoJICBJdCB3aWxsIG9ubHkgYWN0dWFsbHkgcHVsbCB0aGUganVuayBibG9icyBmcm9tIHVwc3RyZWFtIGlmIHRoZSBtZW1kdW1wCgkgIGxldmVsIGlzIGFjdGl2YXRlZAoKMjAwOS0xMC0xOCAxNTo1MTozNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IFNvbWUgYXZpIGZpbGVzIGhhdmUgSU5GTyBsaXN0cyBpbiB0aGUgaGVhZGVycy4KCjIwMDktMTAtMTggMTY6MDI6MDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBEb24ndCBzZWVrIG9uIGVtcHR5IHN0cmVhbXMKCjIwMDktMTAtMTggMTU6NTA6MzkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBFbnN1cmUgX2NhbGN1bGF0ZV9kdXJhdGlvbnNfZnJvbV9pbmRleCBvbmx5IHVzZXMgdmFsaWQgc3RyZWFtcwoKMjAwOS0xMC0xOCAxNTo0OToyOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IE9ubHkgY2FsbCBjb252ZXJ0IGZ1bmN0aW9uIGlmIHdlIGhhdmUgc3RyZi5hdWRzCgoyMDA5LTEwLTE4IDE1OjQ4OjA2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiBVc2UgZmlyc3QgaW5kZXhlZCBzdHJlYW0gZm9yIHNlZWtpbmcuCgkgIEluIHRoZSBmdXR1cmUsIG1haW5fc3RyZWFtIGNhbiBiZSBhZGp1c3RlZCB0byBjb250YWluIHRoZSBvcHRpbWFsIHN0cmVhbQoJICBhcyBtZW50aW9ubmVkIGluIHRoZSBGSVhNRSBsaW5lIDM0NDAKCjIwMDktMTAtMTggMTU6NDY6NDggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpZGVtdXg6IE9ubHkgZXhwb3NlIHN0cmVhbXMgdGhhdCBhY3R1YWxseSBoYXZlIHNvbWV0aGluZyBpbiBpdC4KCSAgVGhpcyBndWFyYW50ZWVzIHRoYXQgaW4gcHVsbC1tb2RlLCBhbGwgc3RyZWFtcyBoYXZlIGEgdmFsaWQgaW5kZXggdG8KCSAgd29yayB3aXRoLgoKMjAwOS0xMC0xOCAxNTo0MDozNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IFByb3Blcmx5IG1hcmsgcHJlc2VuY2Ugb2YgaW5kZXguCgkgIEluc3RlYWQgb2YgYmxpbmRseSBzYXlpbmcgd2UgaGF2ZSBhbiBpbmRleCwgb25seSBkbyBzbyBpZiB3ZSBoYXZlIGEKCSAgbm9uLWVtcHR5IGluZGV4LgoKMjAwOS0xMC0xNyAwMjoxODo1MyArMDIwMCAgTGVubmFydCBQb2V0dGVyaW5nIDxsZW5uYXJ0QHBvZXR0ZXJpbmcubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZTogbmV2ZXIgYXBwbHkgdm9sdW1lIG1vcmUgdGhhbiBvbmNlCgkgIEdlbmVyYWxseSBkZWNpc2lvbnMgb24gdGhlIHZvbHVtZSBvZiB0aGUgc3RyZWFtIHNob3VsZCBiZSBkb25lIGluc2lkZSBvZgoJICBQQSwgbm90IGluc2lkZSBvZiBHc3QuIE9ubHkgUEEga25vd3MgaG93IHZvbHVtZXMgdHJhbnNsYXRlIGJldHdlZW4KCSAgZGV2aWNlcyBhbmQgcyBvbi4KCSAgVGhpcyBwYXRjaCBtYWtlcyBzdXJlIHRoYXQgYWxsIHZvbHVtZXMgc2V0IHZpYSB0aGUgdm9sdW1lIHByb3BlcnR5IGFyZQoJICBvbmx5IGFwcGxpZWQgKm9uY2UqIHRvIHRoZSB1bmRlcmx5aW5nIHN0cmVhbS4gQWZ0ZXIgYXBwbHlpbmcgdGhlbSB0aGUKCSAgY2xpZW50IHNpZGUgd2lsbCBub3Qgc3RvcmUgdGhlbSBhbnltb3JlLiBUaGlzIHNob3VsZCBtYWtlIHN1cmUgdGhhdAoJICByZWFsbHkgb25seSB1c2VyLXRyaWdnZXJlZCB2b2x1bWUgY2hhbmdlcyBhcmUgZm9yd2FyZGVkIHRvIHNlcnZlciwgYnV0CgkgIHRoZSBjbGllbnQgbmV2ZXIgdHJpZXMgdG8gc2F2ZS9yZXN0b3JlIHRoZSB2b2x1bWUgaW50ZXJuYWxseS4KCSAgRml4ZXMgYnVnICM1OTUyMzEuCgoyMDA5LTEwLTE3IDA4OjU1OjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wbHVnaW4uYzoKCSAgcHVsc2VzaW5rOiBJbml0aWFsaXplIGdldHRleHQgZm9yIHRoZSB0cmFuc2xhdGVkIHN0cmluZ3MgaW4gcGx1Z2luX2luaXQoKQoKMjAwOS0xMC0xNyAwMDoxMDozMCArMDIwMCAgTGVubmFydCBQb2V0dGVyaW5nIDxsZW5uYXJ0QHBvZXR0ZXJpbmcubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZTogdXNlICdwZXJmb3JtZXInIGFzIGEgZmFsbGJhY2sgZm9yICdhcnRpc3QnIHRhZwoKMjAwOS0xMC0xNyAwMDowOTozNiArMDIwMCAgTGVubmFydCBQb2V0dGVyaW5nIDxsZW5uYXJ0QHBvZXR0ZXJpbmcubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgcHVsc2U6IHdoZW4gY29uc3RydWN0aW5nIGEgc3RyZWFtIHRpdGxlIGZyb20gdGFnIGRhdGEgbWFrZSBzdXJlIGl0IGlzIHRyYW5zbGF0YWJsZQoKMjAwOS0xMC0xNyAwMDowNjoxNSArMDIwMCAgTGVubmFydCBQb2V0dGVyaW5nIDxsZW5uYXJ0QHBvZXR0ZXJpbmcubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmM6CgkgIHB1bHNlOiBsb29wIHdoaWxlIGNvbm5lY3RpbmcgdG8gc2VydmVyCgkgIHB0aHJlYWQgZG9lcyBub3QgZ3VhcmFudGVlIHRoYXQgdGhlcmUgYXJlIG5vIHNwdXJpb3VzIGNvbmRpdGlvbiB2YXJpYWJsZQoJICB3YWtldXBzLCBuZWl0aGVyIGRvZXMgcGFfdGhyZWFkZWRfbWFpbmxvb3BfeHh4KCkgd2hpY2ggaXMgYSB3cmFwcGVyCgkgIGFyb3VuZCBpdC4gU28gd2UgbmVlZCB0byBsb29wIGFyb3VuZCB0aGUgX3dhaXQoKSBmdW5jdGlvbiB0byBtYWtlIHN1cmUKCSAgd2UgZ2V0IHRoZSByaWdodCB3YWtldXAuCgkgIEFsc28sIHVuaWZ5IHRoZSBvcmRlciBvZiB0aGUgd2FpdCBsb29wcyBhY3Jvc3MgdGhlIGZpbGUuCgoyMDA5LTEwLTE3IDAwOjA1OjEwICswMjAwICBMZW5uYXJ0IFBvZXR0ZXJpbmcgPGxlbm5hcnRAcG9ldHRlcmluZy5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuYzoKCSogZXh0L3B1bHNlL3B1bHNlcHJvYmUuYzoKCSAgcHVsc2U6IG1haW5sb29wIGNyZWF0aW9uIGNhbiBmYWlsIHRvbywgc28gaGFuZGxlIHRoYXQKCjIwMDktMTAtMTcgMDA6MDM6MDYgKzAyMDAgIExlbm5hcnQgUG9ldHRlcmluZyA8bGVubmFydEBwb2V0dGVyaW5nLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5jOgoJICBwdWxzZTogYWRqdXN0IENIRUNLX0RFQURfR09UTyBtYWNybyB0byBnbGliIHN0eWxlCgoyMDA5LTEwLTE2IDE3OjI4OjQyICswMjAwICBMZW5uYXJ0IFBvZXR0ZXJpbmcgPGxlbm5hcnRAcG9ldHRlcmluZy5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuYzoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXByb2JlLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXByb2JlLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuaDoKCSAgcHVsc2U6IG1ha2UgYSBmZXcgdGhpbmdzIHNtYWxsZXIgYnkgbWFraW5nIHRoZW0gYml0ZmllbGRzCgoyMDA5LTEwLTE2IDE3OjI2OjQxICswMjAwICBMZW5uYXJ0IFBvZXR0ZXJpbmcgPGxlbm5hcnRAcG9ldHRlcmluZy5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIHB1bHNlOiBidW1wIG1pbmltdW0gbGlicHVsc2UgdmVyc2lvbiB0byAwLjkuMTAKCSAgT2xkZXIgdmVyc2lvbnMgdGhhbiAwLjkuMTAgYXJlIHJlYWxseSByZWFsbHkgb2xkIGFuZCBidWdneS4gRHJvcAoJICBjb21wYXRpYmlsaXR5IHdpdGggdGhlbS4gTm9ib2R5IHNob3VsZCBydW4gYW55dGhpbmcgdGhhdCBvbGQuCgkgIEFsc28gc2VlOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk1MDI5CgoyMDA5LTEwLTE2IDE4OjE4OjMxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGRlYnVnLmM6CgkgIGRlYnVndXRpbHM6IHJlZ2lzdGVyIHB1c2hmaWxlc3JjIGVsZW1lbnQKCjIwMDktMTAtMTYgMTc6Mjg6MDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguaDoKCSAgYXZpbXV4OiBzdXBwb3J0IChzb21lKSBWQlIgYXVkaW8gbXV4aW5nCgkgIEFWSSBmb3JtYXQgY2FuIGhhbmRsZSBWQlIgYXVkaW8gcHJvdmlkZWQgYXVkaW8gY2h1bmtzIGFyZSBvZiBmaXhlZCBkdXJhdGlvbgoJICAoY2ZyIGZpeGVkIGR1cmF0aW9uIHZpZGVvIGZyYW1lcykuICBBcHBseSB0aGlzIGFwcHJvYWNoIHRvIChhbHdheXMpIHBhcnNlZAoJICByYXcgQUFDIGFuZCAoaWYgcGFyc2VkKSB0byBNUEVHLTEvMiBhdWRpby4KCSAgU2VlICMzNjg2ODEuCgoyMDA5LTEwLTE2IDEzOjQxOjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZml4IGJyYW5jaCBoaW50cwoJICBSZW1vdmUgaW5hcHByb3ByaWF0ZSBicmFuY2hpbmcgaGludHMgYW5kIGFkZCBzb21lIG5ldyBvbmVzLgoKMjAwOS0xMC0xNiAxMjozMzowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGZpeCByZWdyZXNzaW9uIGluIGluZGlyZWN0IGRlY29kZSBwYXRoCgkgIFJldmVydCB2YXJpYWJsZSBuYW1lIGJhY2sgdG8gd2hhdCBpdCB3YXMgYmVmb3JlIHRoZSBHX0xJS0VMWSB3YXMKCSAgYWRkZWQgKGluIGNvbW1pdCA2OWMyNGZiOSkuIFRoZSBjb2RlIHdvcmtzIGJldHRlciB0aGF0IHdheS4KCjIwMDktMTAtMTYgMDI6NDc6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBmaXggcmVncmVzc2lvbiB3aXRoIGNlcnRhaW4gZm9ybWF0cwoJICBGaXggcmVncmVzc2lvbiBpbnRyb2R1Y2VkIGJ5IHByZXZpb3VzIGNvbW1pdCAoIzU5ODUxNykuCgoyMDA5LTEwLTE1IDE5OjQ5OjU1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZG9uJ3QgdXNlIGRlY29tcHJlc3Mgc3RydWN0dXJlIG1lbWJlcnMgd2Ugc2hvdWxkbid0IGJlIHVzaW5nCgoyMDA5LTEwLTE0IDE3OjUzOjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSAganBlZ2RlYzogcmVtb3ZlIHNvbWUgdW51c2VkIG1lbWJlcnMgZnJvbSBqcGVnZGVjIGluc3RhbmNlIHN0cnVjdHVyZQoKMjAwOS0xMC0xNiAxMTo1MzozOCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkqIGdzdC91ZHAvTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiB1c2UgZ3N0LWdsaWItZ2VuLm1hayB0byBmaXggdGhlIGdsaWIgYnVpbGQgcnVsZXMuCgkgIFRoZSBidWlsZCBydWxlcyBpbiBnbGliLWdlbi5tYWsgd2VyZSB1c2luZyBwYXR0ZXJuIHJ1bGVzIGluIGEgbm9uIHNhdmUgd2F5LgoKMjAwOS0xMC0xNiAxMDoxNTozNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA4NWQxNTMwIHRvIDA3MDJmZTEKCjIwMDktMTAtMTUgMjE6MDQ6MDIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogYWRqdXN0IGZsb3cgcmV0dXJuIGFnZ3JlZ2F0aW9uIHRvIHVwZGF0ZWQgbG9vcF9kYXRhCgkgIEluIHBhcnRpY3VsYXIsIGVhY2ggc3RyZWFtIGlzIG5vdyB0cmVhdGVkIHNlcGFyYXRlbHksIGFuZCBvbmUgc3RyZWFtJ3MKCSAgRU9TIHNob3VsZCBub3QgbGVhZCB0byBvdmVyYWxsIEVPUy4KCjIwMDktMTAtMTUgMTE6NTI6MzUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBjaGVjayBzb21lIG1vcmUgYXRvbSBzaXplcyBwcmlvciB0byBwYXJzaW5nCgoyMDA5LTEwLTE1IDEzOjE5OjEzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwOiBoYW5kbGUgZXZlbnRzIGluIFRDUCBtb2RlCgkgIFdlIG5lZWQgdG8gaGFuZGxlIGV2ZW50cyBpbiBUQ1AgbW9kZSBzbyB0aGF0IHdlIGNhbiByZXBseSB0byB0aGUgTEFURU5DWSBldmVudAoJICB3aXRoIFRSVUUuCgoyMDA5LTEwLTE1IDExOjI0OjQ1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGFkZCBtaXNzaW5nIGFyZ3VtZW50IGluIGRlYnVnIG1lc3NhZ2UKCjIwMDktMTAtMTQgMTg6NTg6MDYgKzAyMDAgIE1hcnZpbiBTY2htaWR0IDxtYXJ2QGV4aGVyYm8ub3JnPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmx2bXV4LmM6CgkgIGZsdm11eDogVXNlIGxvb3AgdGVzdCB0byBwcmV2ZW50IHRpbWVvdXQgb24gc2xvdyBtYWNoaW5lcwoJICBQYXJ0aWFsbHkgZml4ZXMgYnVnICM1OTc3MzkuCgoyMDA5LTEwLTE0IDE2OjE1OjQ4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmb3J3YXJkIGV2ZW50cyBpbnRvIHRoZSBydHBiaW4KCSAgT25seSBjYXRjaCB0aGUgU0VFSyBldmVudCBvbiB0aGUgc3JjcGFkIGFuZCBsZXQgb3RoZXIgZXZlbnRzIGVudGVyIHRoZSBydHBiaW4uCgoyMDA5LTEwLTE0IDExOjMzOjI0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBGaXggbGF0ZSB0YWdzIGZpbmRpbmcKCSAgVXNlIHRoZSBjb3JyZWN0IHRhZ2xpc3QgdmFyaWFibGUgd2hlbiBub3RpZnlpbmcgb2YgbGF0ZSB0YWdzLgoKMjAwOS0xMC0xNCAxMzowOTowMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpZGVtdXg6IHVzZSBHc3RJbmRleCBmb3IgKGxpbWl0ZWQpIHNlZWtpbmcgaW4gcHVzaCBtb2RlCgkgIC4uLiBidXQgZGlzYWJsZSB0aGlzIGZvciBub3cuICBBbHRob3VnaCBpdCBiYXNpY2FsbHkgd29ya3MgZmluZSwKCSAgdXNlciBleHBlcmllbmNlIG1pZ2h0IGJlIHNoYWt5IChkZXBlbmRpbmcgb24gdGFzdGUpLCBzaW5jZSB0aGVyZQoJICBpcyBubyBrZXlmcmFtZSBpbmZvIGluIHB1c2ggbW9kZS4KCjIwMDktMTAtMTQgMTM6MDg6NDcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiBhZGQgR3N0SW5kZXggc3VwcG9ydAoKMjAwOS0xMC0xNCAxMTo1NTozMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBhbHNvIGRldGVybWluZSBkdXJhdGlvbiBpbiBwdXNoIG1vZGUKCjIwMDktMTAtMTQgMTE6NTQ6NDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IGFkZCBHc3RJbmRleCBzdXBwb3J0CgoyMDA5LTEwLTE0IDA3OjM4OjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogU2V0IGR1cmF0aW9uIG9uIGJ1ZmZlcnMKCSAgVXNlIGZyYW1lcmF0ZSB0byBlc3RpbWF0ZSBkdXJhdGlvbiBvZiBidWZmZXJzLgoJICBGaXhlcyAjNTkwMzYyCgoyMDA5LTEwLTE0IDEyOjI4OjU1ICswMjAwICBIw6V2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmYgYXQgdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICBydHBwdGRlbXV4OiBvbmx5IGZvcndhcmQgdGhlIGxvc3QtZXZlbnQgdG8gdGhlIGxhc3Qgc2VlbiBwdC1udW1iZXIKCSAgZm9yd2FyZCBhbGwgZXZlbnRzIG9uIGFsbCBwYWRzIGV4Y2VwdCBmb3IgdGhlIFBhY2tldExvc3QgZXZlbnQsIHdoaWNoIHdlIHdhbnQgdG8KCSAgZm9yd2FyZCB0byB0aGUgbGFzdCBzZWVuIHB0IHBhZC4KCSAgRml4ZXMgIzU5ODM3NwoKMjAwOS0xMC0wNiAyMjoyODo1MCArMDMwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBzZXQgZGVzaXJlZCBtaW5yZXEgdmFsdWUgdG8gc2Vnc2l6ZS9sYXRlbmN5LXRpbWUKCSAgSWYgd2UgbGV0IHRoZSBkYWVtb24gZGVjaWRlIGZyZWVseSBieSBwYXNzaW5nIC0xLCB3ZSBlbmQgdXAgYWx3YXlzIGdldHRpbmcgMjBtcy4KCSAgV2Ugd2FudCB0byBzZXQgdGhpcyB2YWx1ZSBiZWNhdXNlIGluIHNvbWUgY2FzZXMgd2Ugd2FudCB0byBzZWxlY3QgYSBoaWdoZXIKCSAgbGF0ZW5jeS10aW1lIGluIG9yZGVyIHRvIHNhdmUgcG93ZXIuCgkgIEZpeGVzICM1OTc2MDEKCjIwMDktMTAtMTQgMTA6NDE6MjEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGEzZTNjZTQgdG8gODVkMTUzMAoKMjAwOS0xMC0xMyAxODozMzozNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9mbGFjZGVjLmM6CgkgIHRlc3RzL3BpcGVsaW5lL2ZsYWM6IEZpeCBidWlsZCBvbiBtYWNvc3ggMTAuNQoKMjAwOS0xMC0xMyAxODoxOTozMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGRlbW90ZSBzb21lIHdhcm5pbmdzIHRvIGRlYnVnCgoyMDA5LTEwLTEzIDE3OjQ3OjQwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9hdmktaWRzLmg6CgkgIGF2aTogYWRkIG5ldyBhdmkgZmxhZyB3ZSBtaWdodCB3YW50IHRvIHVzZQoKMjAwOS0xMC0xMyAxNzo0NjoyMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogY2FsY3VsYXRlIHN1Z2dlc3RlZCBidWZmZXIgc2l6ZQoJICBDYWxjdWxhdGUgdGhlIHN1Z2dlc3RlZCBidWZmZXIgc2l6ZSBiYXNlZCBvbiB0aGUgbGFyZ2VzdCBjaHVuayBpbiB0aGUgZmlsZS4KCSAgU2VlICM1OTc4NDcKCjIwMDktMTAtMTMgMTc6NDU6MTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IGFkZCBqcGVnMjAwMCB0byBhbGxvd2VkIGNhcHMKCjIwMDktMTAtMTMgMTc6NDE6MTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBhZGQgZGVidWcgZm9yIHRoZSBzdXBlcmluZGV4IG9mZnNldHMKCjIwMDktMTAtMTMgMTY6MDI6MzcgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgd2FybmluZwoJICBGaXggYW5vdGhlciBib2d1cyBtYXktYmUtdXNlZC11bmluaXRpYWxpemVkIHdhcm5pbmcgaW4gcXRkZW11eAoKMjAwOS0xMC0xMyAxMzowODozMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4Lmg6CgkgIGF2aTogbG93ZXIgbWF4IGZpbGUgc2l6ZQoJICBNYWtlIGEgY29uc3RhbnQgb2YgdGhlIG1heCBmaWxlIHNpemUgYW5kIGxvd2VyIHRoZSB2YWx1ZSB0byB3aGF0IGZmbXBlZyBkb2VzLAoJICBob3BlZnVsbHkgaW1wcm92aW5nIGNvbXBhdGliaWxpdHkgd2l0aCB3aW5kb3dzIG1lZGlhIHBsYXllci4KCSAgU2VlICM1OTc4NDcKCjIwMDktMTAtMTMgMDE6MDI6MTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBmaXggYm9ndXMgd2FybmluZyBhYm91dCBkaXNjb250IGZsYWcgb24gZmlyc3QgYnVmZmVyCgkgIFRoZSB2ZXJ5IGZpcnN0IGJ1ZmZlciBzaG91bGQgYWx3YXlzIGhhdmUgdGhlIERJU0NPTlQgZmxhZyBzZXQsIG5vCgkgIG5lZWQgdG8gd2FybiBhYm91dCB0aGF0LiBPbmx5IHdhcm4gaWYgd2UgZ2V0IGEgRElTQ09OVCBidWZmZXIgaW4KCSAgbm9uLXBhY2tldGlzZWQgbW9kZSBhbmQgd2UgYWxyZWFkeSBoYXZlIHNvbWUgZGF0YS4KCjIwMDktMTAtMTMgMDA6NDE6NTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBmaXggY3Jhc2ggZm9yIHVudXN1YWwgdmVydGljYWwgY2hyb21hIHN1YnNhbXBsaW5nIGZhY3RvcnMKCSAgRml4ZXMgIzU5NzM1MS4KCjIwMDktMTAtMTMgMDA6MTI6NDIgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgd2FybmluZ3MKCSAgVGhlIGdjYyBvbiB0aGUgT1MvWCBidWlsZGJvdCBjb21wbGFpbnMgYWJvdXQgdGhlc2UgdmFyaWFibGVzIG5vdCBiZWluZwoJICBpbml0aWFsaXplZCwgZXZlbiB0aG91Z2ggdGhleSBjYW4ndCBwb3NzaWJseSBhY3R1YWxseSBiZSB1c2VkCgkgIHVuaW5pdGlhbGl6ZWQuCgoyMDA5LTEwLTExIDExOjM1OjIzICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgZHRtZjogZml4IHdhcm5pbmdzIGluIG1hY29zeCBzbm93IGxlb3BhcmQKCjIwMDktMTAtMTAgMDA6Mzc6MDggKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZml4ZXMgd2FybmluZyBidWlsZGluZyBpbiBzbm93IGxlb3BhcmQKCjIwMDktMTAtMDkgMTc6MTI6NDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhbHNvIGNvbnNpZGVyIFF1aWNrdGltZSB0ZXh0IHN1YnRpdGxlcwoKMjAwOS0xMC0wOSAxNzowMjo1NyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHByb3ZpZGUgbGFuZ3VhZ2UgdGFnIGZvciBzdHJlYW0KCjIwMDktMTAtMDkgMTY6MzA6NTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiByZWZhY3RvciBjb21tb24gcGFydHMgaW4gdHJhY2sgcGFyc2luZwoKMjAwOS0xMC0wOSAxNjoyMTowMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogcmVmYWN0b3IgYnVmZmVyIHByb2Nlc3NpbmcgYW5kIHNlbmRpbmcKCSAgLi4uIHNvIGl0IGNhbiBiZSB1c2VkIGluIGJvdGggcHVsbCBhbmQgcHVzaCBiYXNlZCBtb2RlLgoKMjAwOS0xMC0wOCAxMzozOToyNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGV4dHJhY3QgcGFsZXR0ZSBkYXRhIGZvciBkdmQgc3VicGljdHVyZSBzdHJlYW1zCgkgIC4uLiBhbmQgc2VuZCBpdCBkb3duc3RyZWFtIHVzaW5nIGN1c3RvbSBkdmQgZXZlbnQKCjIwMDktMTAtMDcgMTQ6MDM6MTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IHN1cHBvcnQgM0dQUCB0aW1lZCB0ZXh0IHN1YnRpdGxlcwoJICBJbiBwYXJ0aWN1bGFyLCBhbHNvIG1ha2Ugc3VidGl0bGUgc3VwcG9ydCBsZXNzIHN1YnAoaWN0dXJlKS1jZW50cmljLgoKMjAwOS0xMC0wNyAxNjoxNTo1NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IE5VTEwgaXMgbm90IGEgdmFsaWQgdGFnbGlzdAoKMjAwOS0wOS0yMyAxNzoyMDoyNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IHJlY29nbml6ZSBzb21lIG1vcmUgZW5jeXB0ZWQgdHJhY2sgY2FzZXMKCjIwMDktMTAtMDkgMTU6NTk6MjUgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6CgkgIGlkMzogZml4ZXMgd2FybmluZ3MgYnVpbGRpbmcgb24gbWFjb3N4CgkgIEFub3RoZXIgcm91bmQgb24gdGhlIGZvcm1hdGluZyBvZiB0aGF0IGRlYnVnIGxpbmUuCgoyMDA5LTEwLTA5IDE0OjQ0OjAyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOgoJICBpZDM6IGNhc3QgcG9pbnRlciBtYXRoIHJlc3VsdHMgdG8gZ2xvbmcKCjIwMDktMTAtMDkgMTQ6Mzc6MzIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhYzogYXBwYXJlbnRseSBvbiBzb21lIHBsYXRmb3JtcyBhIEZMQUNfX3VpbnQ2NCE9Z3VpbnQ2NAoKMjAwOS0xMC0wOSAxNDoyMTowOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICBidWlrZDogZXhwbGljaXRlbHkgY2FzdCwgdG8gdGVsbCBzb21lIGNvbXBpbGVycyB0aGF0IHRoaXMgaXMgbm90IGxvbmcgaW50CgoyMDA5LTEwLTA5IDEzOjM4OjE3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgYnVpbGQ6IGRvbid0IGNhc3QsIGJ1dCB1c2UgdGhlIHJpZ2h0IGZvcm1hdCBzcGVjaWZpZWQgaW5zdGVhZAoJICBUaGlzIGNvcnJlY3Qgc29tZSBvZiB0aGUgcHJldmlvdXMgbWFjb3MgZml4ZXMuCgoyMDA5LTEwLTA5IDEyOjQwOjQ3ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJICBkdjogZml4IHdhcm5pbmdzIG9uIG1hY29zeAoKMjAwOS0xMC0wOSAxMjoyNToxOSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWM6IGZpeCB3YXJuaW5ncyBvbiBtYWNvc3gKCjIwMDktMTAtMDkgMTI6MTk6MzUgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOgoJICBhbm5vZGV4OiBmaXggd2FybmluZ3MgaW4gbWFjb3N4CgoyMDA5LTEwLTA5IDEyOjE0OjIyICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSAgb3N4dmlkZW86IGZpeCBhIHdhcm5pbmcgZG9pbmcgYSBjYXN0CgoyMDA5LTEwLTA5IDEyOjExOjEyICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5jOgoJICBvc3hhdWRpbzogZml4IHdhcm5pbmdzIG9uIG1hY29zeAoKMjAwOS0xMC0wOSAxMjowMToxMCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIHJ0cHZyYXdwYXk6IGZpeCB3YXJuaW5nIG9uIG1hY29zeAoKMjAwOS0xMC0wOSAxMTo1Nzo1OSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgIHJ0cGgyNjNwYXk6IGZpeCB3YXJuaW5nIG9uIG1hY29zeAoKMjAwOS0xMC0wOSAxMTo1NDowMyArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggd2FybmluZ3MgYnVpbGRpbmcgb24gbWFjb3N4CgoyMDA5LTEwLTA5IDExOjQyOjM2ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOgoJICBpZDNkZW11eDogZml4IHByaW50ZiB3YXJuaW5ncyBvbiBtYWNvc3gKCjIwMDktMTAtMDkgMTE6MzA6MDAgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGZpeCB3YXJuaW5nIGluIG1hY29zeCBtYWtpbmcgdGhlIGZvcm1hdCBwb3J0YWJsZQoKMjAwOS0xMC0wOSAxMDo1MToyOSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSAgYXVkaW9meDogdXNlIEdfR1VJTlQ2NF9GT1JNQVQgdG8gZml4IHdhcm5pbmdzIG9uIE9TWAoKMjAwOS0xMC0wOSAxMDoxMTozOCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuYzoKCSAgb3N4YXVkaW86IEZpeGVzIGJ1aWxkIG9uIG1hY29zeCBzbm93IGxlb3BhcmQuCgoyMDA5LTEwLTA5IDExOjM0OjE2ICswMjAwICBQYXUgR2FyY2lhIGkgUXVpbGVzIDxwZ3F1aWxlc0BlbHBhdWVyLm9yZz4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMjogSW5jbHVkZSBzeXMvaW9jdGwuaCBmb3IgdGhlIFY0TCBpb2N0bCByZXF1ZXN0cwoJICBPbGQgdmlkZW9kZXZpY2UyLmgga2VybmVsIGhlYWRlcnMgdXNlZCBpb2N0bCBzdHVmZiB3aXRob3V0CgkgIGluY2x1ZGluZyBpb2N0bC5oLCBtYWtpbmcgY29tcGlsYXRpb24gZmFpbCBvbiBvbGRlciBzeXN0ZW1zLgoJICBOb3RlOiBJbmNsdWRpbmcgaW9jdGwuaCBoZXJlIGlzIG9ubHkgYSB3b3JrYXJvdW5kIGZvciBvbGQga2VybmVsCgkgIGhlYWRlcnMsIHNob3VsZCBiZSByZW1vdmVkIG9uY2UgZXZlcnlib2R5IGhhcyBuZXcgZW5vdWdoIGhlYWRlcnMuCgkgIEZpeGVzIGJ1ZyAjNTk3ODY3LgoKMjAwOS0xMC0wOSAwMDoxNDowNyArMDEwMCAgSmFuIFNjaG1pZHQgPGphbi5zY2htaWR0QHN1bi5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkgIGNoZWNrOiBNYWtlIHRoZSBsZXZlbCB1bml0IHRlc3Qgc3VjY2VlZCBvbiBTb2xhcmlzIDEwCgkgIEFkZCBhIGNvbmZpZ3VyZSBjaGVjayBmb3IgZnVuY3Rpb25hbCBpc2luZigpIGFuZCBmcGNsYXNzKCksIGFuZAoJICB1c2UgZnBjbGFzcygpIHdoZXJlIHBvc3NpYmxlIHdoZW4gaXNpbmYoKSBpcyBub3QgYXZhaWxhYmxlLgoKMjAwOS0wNS0xNiAxMzo1Mjo1MCArMDMwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQG5va2lhLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBmaXggc3Ryc3RyKCkgdXNhZ2Ugb24gcG9zc2libHkgdW50ZXJtaW5hdGVkIHN0cmluZwoKMjAwOS0xMC0wOCAxNjoxNjoxNCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkgIGNoZWNrOiBMaW5rIGFnYWluc3QgTElCTSBhbmQgaW5jbHVkZSBtYXRoLmggZm9yIGlzaW5mKCkKCjIwMDktMTAtMDcgMjE6NTE6MzggKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zcy9nc3Rvc3NhdWRpby5jOgoJICBvc3M6IERvd25ncmFkZSB0aGUgcmFuayBvZiBvc3NzcmMgdG8gU0VDT05EQVJZCgkgIHdoaWNoIGlzIHRoZSBzYW1lIHJhbmsgYXMgb3Nzc2luayBoYXMuCgkgIEZpeGVzIGJ1ZyAjNTk3NzMwLgoKMjAwOS0xMC0wOCAxMDo1OTo1MyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAxOWZhNGYzIHRvIGEzZTNjZTQKCjIwMDktMTAtMDggMTA6MjA6MDkgKzAxMDAgIEphbiBTY2htaWR0IDxqYW4uc2NobWlkdEBzdW4uY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgYXZpL3dhdjogRml4IHNvbWUgY29tcGlsZXIgd2FybmluZ3MgYWJvdXQgaW5jb21wYXRpYmxlIHBvaW50ZXJzLgoKMjAwOS0xMC0wNSAxNzozNjo1NSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGUuYzoKCSAgbXVsdGlmaWxlOiBGaXggcGx1Z2luIGRlc2NyaXB0aW9uCgoyMDA5LTEwLTA3IDE0OjAzOjIwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvYW5ub2RleC9nc3RjbW1sdXRpbHMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmg6CgkqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSogZ3N0L2RlYnVndXRpbHMvdGVzdHMuYzoKCSogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9zcGVjdHJ1bS1leGFtcGxlLmM6CgkgIGJ1aWxkOiBmcHJpbnRmLCBzcHJpbnRmLCBzc2NhbmYgbmVlZCBzdGRpby5oCgoyMDA5LTEwLTA3IDAwOjMzOjQ5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICBlcXVhbGl6ZXI6IHVzZSBzaGVsZmluZyBmaWx0ZXJzIGZvciBmaXJzdCBhbmQgbGFzdCBiYW5kCgkgIFJlZmFjdG9yIHRoZSBmaWx0ZXIgc2V0dXAuIEFkZCB0d28gbmV3IGZpbHRlcnMgd2l0aCBzaGVsZiBjaGFyYWN0ZXJpc3RpY3MgZm9yCgkgIGZpcnN0IGFuZCBsYXN0IGJhbmQuIENoYW5nZSBnYWluIGNhbGN1bGF0aW9uIGFzIHJlY29tbWVuZGVkIGluIHRoZSBxdW90ZWQKCSAgZG9jdW1lbnQgKG5vIHFydCBuZWVkZWQpLiBSZW5hbWUgdmFyaWFibGVzIHRvIG1hdGNoIHRoZSBmb3JtdWxhcyBpbiB0aGUKCSAgZG9jdW1lbnQuCgoyMDA5LTEwLTAyIDIzOjUxOjI5ICswMzAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBndWFyZCBmcmFnbWVudCBzaXplIHdpdGggYSBsb3dlciBsaW1pdCBiYXNlZCBvbiBsYXRlbmN5LXRpbWUKCSAgSW4gY2FzZSB0aGF0IHRoZSBwdWxzZSBkYWVtb24gcnVucyB0aGUgc291cmNlIGRldmljZSBhdCBhIHJlbGF0aXZlbHkgbG93IGZpeGVkCgkgIGZyYWdtZW50IHNpemUgY29tcGFyZWQgdG8gdGhlIHJlcXVlc3RlZCBsYXRlbmN5LXRpbWUsIGNvbmZpZ3VyZSB0aGUgcmluZyBidWZmZXIKCSAgc2Vnc2l6ZSB0byB0aGUgbGFyZ2VzdCBpbnRlZ2VyIG11bHRpcGxlIG9mIHRoZSBmcmFnbWVudCBzaXplIHRoYXQgaXMgc3RpbGwKCSAgc21hbGxlciB0aGFuIG9yIGVxdWFsIHRvIHRoZSByZXF1ZXN0ZWQgbGF0ZW5jeS10aW1lLgoJICBGaXhlcyBidWcgIzU5NzQ2My4KCjIwMDktMTAtMDYgMTc6NDA6NDcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogY29tbWVudC9sb2dnaW5nIGNsZWFudXBzIGFuZCBtb3JlIGJyYW5jaCBndWlkZXMKCjIwMDktMTAtMDUgMjI6NDM6MTEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIGVxdWFsaXplcjogZml4IGZpbHRlciBoaXN0b3J5IHVzYWdlLiBGaXhlcyAjNTk3Mzk3CgkgIFRoZSBwcm9jZXNzIGZ1bmN0aW9ucyB3aGVyZSBvdmVyd3JpdGluZyB0aGUgaGlzdG9yeSBmb3IgZWFjaCBjaGFubmVsLiBBbHNvIHB1bGwKCSAgc29tZSBzdGF0aWMgdGhpbmdzIG91dCBvZiB0aGUgaW5uZXIgbG9vcC4KCjIwMDktMTAtMDUgMTY6MDc6MjQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiB1c2UgbG9ja2luZyBhcm91bmQgdGhlIHNlc3Npb25zCgoyMDA5LTEwLTA1IDExOjQ2OjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogbWFrZSBzdXJlIGNvbXBhdGlibGUgYnJhbmRzIGJ1ZmZlciBleGlzdHMgYmVmb3JlIGRlcmVmZXJlbmNpbmcgaXQKCjIwMDktMTAtMDQgMjE6NTk6MjQgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGdtYWlsLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IHByaW50ZiB3YXJuaW5ncyBvbiBPU1gKCSAgQ2FzdCB2YXJpYWJsZXMgcGFzc2VkIHRvIHByaW50ZiB0byBhdm9pZCB3YXJuaW5ncyBhYm91dCBpbmNvcnJlY3QKCSAgZm9ybWF0cyAobW9zdCBsaWtlbHkgY2F1c2VkIGJ5IHNpemVvZiByZXR1cm5pbmcgYSBzaXplX3QpLgoJICBGaXhlcyAjNTk3MzQ4LgoKMjAwOS0xMC0wMiAwMDoyMzozNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlbW92ZSBpbnRlcm5hbCBnZW5yZSB0YWJsZQoJICBObyBuZWVkIHRvIG1haW50YWluIG91ciBvd24gZ2VucmUgdGFibGUgaW4gcXRkZW11eC4gVGhlIGdlbnJlcyBhcmUKCSAgaWRlbnRpY2FsIHRvIHRoZSBJRDMgZ2VucmVzLCBzbyB3ZSBjYW4ganVzdCB1c2UgbGliZ3N0dGFnJ3MKCSAgZ3N0X3RhZ19pZDNfZ2VucmVfZ2V0KCkgdG8gbG9vayB0aGVtIHVwLgoKMjAwOS0xMC0wMyAxNzoxODoyOCArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AZ21haWwuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBGaXggcHJpbnRmIGZvcm1hdHMgdG8gYXZvaWQgd2FybmluZ3MgaW4gYXZpZGVtdXguIEZpeGVzICM1OTcyMTQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5NzIxNAoKMjAwOS0xMC0wMyAwOTo1Mjo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogQ2hhbmdlIG9uZSBHU1RfV0FSTklORyB0byBhIEdTVF9ERUJVRwoKMjAwOS0xMC0wMiAxNDozNzo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBmbHZkZW11eDogSWYgdGhlcmUncyBubyBhdWRpbyBzdHJlYW0gYWZ0ZXIgNiBzZWNvbmRzIG9mIHZpZGVvIHNpZ25hbCBuby1tb3JlLXBhZHMKCSAgLi4uYW5kIHRoZSBvdGhlciB3YXkgYXJvdW5kLiBBbHNvIGlnbm9yZSBhbnkgYXVkaW8vdmlkZW8gc3RyZWFtcyB0aGF0IGFwcGVhcgoJICBhZnRlciBuby1tb3JlLXBhZHMuCgkgIEZpeGVzIGJ1ZyAjNTk3MDkxLgoKMjAwOS0xMC0wMiAxNDozNzo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBmbHZkZW11eDogTWFrZSBzdXJlIHRvIG9ubHkgc2lnbmFsIG5vLW1vcmUtcGFkcyBhIHNpbmdsZSB0aW1lCgoyMDA5LTEwLTAyIDIyOjU1OjQ1ICswMzAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2U6IHJlbmFtZSBwYV9idWZmZXJfYXR0ciB2YXJpYWJsZXMKCSAgTWFrZXMgaXQgbXVjaCBlYXNpZXIgdG8gc2VlIHdoYXQgaXMgZ29pbmcgb24gYW5kIGlzIGEgbG90IGxlc3MgZXJyb3IgcHJvbmUuCgoyMDA5LTEwLTAyIDE4OjI1OjE2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJICBydHA6IGFkZCBtaXNzaW5nIGluY2x1ZGUgdG8gZml4IHRoZSBidWlsZAoKMjAwOS0xMC0wMiAxMzoxNTo1OSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgdmlkZW9maWx0ZXI6IGFkZCBHX09CSkVDVF9XQVJOX0lOVkFMSURfUFJPUEVSVFlfSUQgdG8gcHJvcGVydHkgc2V0dGVyCgoyMDA5LTEwLTAyIDEzOjEwOjQ0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgbGV2ZWw6IGRvbid0IGdpdmUgd3JvbmcgbnVtYmVyIG9mIGZpZWxkcyBpbiB0aGUgbWVzc2FnZSBkb2NzCgoyMDA5LTEwLTAxIDEyOjUyOjQwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogY2FjaGUgbGF0ZW5jeSBpbiBuYW5vc2Vjb25kcwoJICBDYWNoZSB0aGUgbGF0ZW5jeSBpbiBuYW5vc2Vjb25kcyB1bml0cyB0byBhdm9pZCBoYXZpbmcgdG8gY29udmVydCB0aGUKCSAgbWlsbGlzZWNvbmRzIHZhbHVlIHRvIG5hbm9zZWNvbmRzIGFsbCB0aGUgdGltZS4KCjIwMDktMTAtMDEgMTI6MTI6MDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBoYW5kbGUgLTEgaW5wdXQgdGltZXN0YW1wcwoJICBEb24ndCB0cnkgdG8gY2hlY2sgYSAtMSB0aW1lc3RhbXAgYWdhaW5zdCB0aGUgbWF4IGRlbGF5LgoKMjAwOS0xMC0wMSAxMDo1NDo1NSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmk6IGRvbid0IG1pc3VlcyBwZXJmLWNhdGVnb3J5IGFuZCByZW1vdmUgdW51c2VkIGV4dCBjYXRlZ29yeQoJICBUaGUgcGVyZm9ybWFuY2UgY2F0ZWdvcnkgaXMgbWVhbnQgdG8gYmUgdXNlZCB0byBhdWRpdCBjb2RlcGF0aHMgdGhhdCBsZWFkIHRvIGJhZAoJICBwZXJmb3JtYW5jZSAoZS5nLiBjb3BpZXMsIGNvbnZlcnNpb24gdGhhdCBjYW4gYmUgYXZvaWRlZCkuCgkgIFJlbW92ZSB0aGUgZXZlbnQgY2F0ZWdvcnkgd2hpY2ggaXMgbm90IHVzZWQuCgoyMDA5LTA5LTE2IDE0OjIzOjI0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSAgcnRwZzcyOXBheS9kZXBheTogRGVtb3RlIHBlci1idWZmZXIgZGVidWcgbWVzc2FnZXMgdG8gbG9nIGxldmVsCgoyMDA5LTA5LTE2IDE0OjE2OjI3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSAgcnRwZzcyOXBheTogRG9uJ3QgbGVhayBpbmNvbWluZyBidWZmZXJzIGFmdGVyIHN1YmJ1ZmZlcmluZyB0aGVtCgoyMDA5LTA5LTE2IDEzOjU3OjA1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSAgcnRwZzcyOXBheS9kZXBheTogQWRkIGRlYnVnIGNhdGVnb3JpZXMKCjIwMDktMDktMTYgMTM6NTU6MTkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJICBydHBnNzI5cGF5OiBSZW1vdmUgbG9uZyB1bm5lZWRlZCBkZWZpbmUgcmVwbGFjZW1lbnQKCjIwMDktMDktMzAgMTg6MDY6MDcgKzAxMDAgIENocmlzdGlhbiBGLksuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R2L01ha2VmaWxlLmFtOgoJICBVcGRhdGUgbWFrZWZpbGUgd2l0aCBtaXNzaW5nIGhlYWRlciBmaWxlCgoyMDA5LTA5LTMwIDE4OjQ1OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2M3AtQU1SLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjNwLVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2NC1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItYWxzYXNyYy1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXY0bDItSDI2M3AtYWxzYXNyYy1BTVIuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItdjRsMi1IMjY0LWFsc2FzcmMtUENNQS5zaDoKCSAgcnRwOiBVc2UgYXV0b2F1ZGlve3Npbmssc3JjfSBpbnN0ZWFkIG9mIGFsc2EgaW4gdGhlIGV4YW1wbGVzCgoyMDA5LTA5LTI5IDE3OjUxOjA0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGRvbid0IGxlYWsgb3V0cHV0IGJ1ZmZlcnMgb24gZGVjb2RpbmcgZXJyb3JzCgkgIFRoZSBzZXRqbXAgaGFuZGxlcyBsaWJqcGVnIGVycm9yLiBGcmVlIHRoZSBvdXRwdXRiZmZlciBpZiB3ZSBkb24ndCBuZWVkIGl0LgoKMjAwOS0wOS0yOSAwMDowMTo1OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGZpeCAndW51c2VkIHZhcmlhYmxlJyBjb21waWxlciB3YXJuaW5nIHdoZW4gY29tcGlsaW5nIHdpdGggR1NUX0RJU0FCTEVfR1NUX0RFQlVHCgoyMDA5LTA5LTIzIDE0OjI1OjA4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmk6IHNtYWxsIGNsZWFudXBzCgoyMDA5LTA5LTIzIDEzOjU3OjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmk6IGZpeCB0aW1lc3RhbXBpbmcgaW4gc29tZSBhdWRpbyBzdHJlYW1zCgkgIEZvciB2YnIgYXVkaW8gc3RyZWFtcyB3ZSBuZWVkIHRvIHVzZSB0aGUgbnVtYmVyIG9mIGJsb2NrcyB0byBjYWxjdWxhdGUgdGhlCgkgIHRpbWVzdGFtcHMuCgkgIFdoZW4gdGhlIGFsbG9jYXRpb24gb2YgYWRkaXRpb25hbCBpbmRleCBtZW1vcnkgZmFpbHMsIGRvbid0IHRocm93IGF3YXkgd2hhdAoJICB3ZSBoYWQgYmVmb3JlLgoJICBWYXJpb3VzIGNsZWFudXBzLgoKMjAwOS0wOS0yMyAxMjo1NjowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpOiBhZGQgc3VwcG9ydCBmb3IgT0RNTCBpbmRleGVzIGFnYWluCgoyMDA5LTA5LTIyIDIyOjEyOjU4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aTogaW1wbGVtZW50IGluZGV4IHNjYW5uaW5nCgkgIEltcGxlbWVudCBzY2FubmluZyBvZiB0aGUgZmlsZSB3aGVuIHdlIGNhbiBwYXJzZSB0aGUgaW5kZXguCgkgIFNvbWUgcmVmYWN0b3Jpbmcgb2YgY29tbW9uIGNvZGUuCgkgIENsZWFudXBzIGFuZCBjb21tZW50cy4KCSAgUmVtb3ZlIHNvbWUgcmVpbXBsZW1lbnRlZCBjb2RlLgoJICBSZW1vdmUgaW5kZXggbWFzc2FnZSBjb2RlIGFuZCBwdXQgYSBGSVhNRSB3aGVyZSB3ZSBzaG91bGQgZG8gc29tZXRoaW5nCgkgIGVxdWl2YWxlbnQgbGF0ZXIuCgoyMDA5LTA5LTIyIDE4OjE4OjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmk6IGZpeCByZXZlcnNlIHBsYXliYWNrCgoyMDA5LTA5LTIyIDE3OjQyOjQ4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmk6IGZpeCBwcmV2IGtleWZyYW1lIHNlYXJjaCBhbmQgY2xlYW51cHMKCjIwMDktMDktMjIgMTQ6NTE6MzAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aTogcmVtb3ZlIGNvZGUgdGhhdCBnb3QgY29udmVydGVkCgoyMDA5LTA5LTIyIDE0OjQ0OjQyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aTogbW9yZSBjbGVhbnVwcwoJICBSZW1vdmUgc29tZSBkdXBsaWNhdGUgY291bnRlcnMuCgkgIEJlIHNtYXJ0ZXIgd2hlbiB1cGRhdGVpbmcgdGhlIGN1cnJlbnQgdGhlIHRpbWVzdGFtcCBhbmQgb2Zmc2V0IGluIHRoZSBzdHJlYW0KCSAgYmVjYXVzZSB3ZSBjYW4gcmV1c2UgcHJldmlvdXNseSBjYWxjdWxhdGVkIHZhbHVlcyB3aGVuIHNpbXBseSBnbyBmb3J3YXJkIG9uZQoJICBzdGVwLgoJICBDb3JyZWN0bHkgc2V0IG1ldGFkYXRhIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgoyMDA5LTA5LTIyIDEyOjM1OjMwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiBzbWFsbCBjbGVhbnVwcwoKMjAwOS0wOS0yMiAwMToyODo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpOiBmaXggcmVhZCBvZmZzZXQgYW5kIGNsZWFudXBzCgoyMDA5LTA5LTIxIDE4OjA0OjI1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aTogcmV3cml0ZSBpbmRleCBwbGF5YmFjawoJICBkaXNhYmxlIGNvZGUsIHN0YXJ0IG9uIHJlaW1wbGVtZW50aW5nIGxvb3AgYmFzZWQgb3BlcmF0aW9uLgoJICBSZXdyaXRlIHRoZSBpbmRleCBoYW5kbGluZyBzbyB0aGF0IGFsbCBzdHJlYW1zIHVzZSB0aGVpciBvd24gaW5kZXggZm9yIGRlY29kaW5nCgkgIG1lZGlhLgoKMjAwOS0wOS0yMSAxNTozNTo1NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBhdmlkZW11eDogYWRkIG5ldyBpbmRleCBwYXJzaW5nIGNvZGUKCSAgQWRkIGEgbmV3IGZ1bmN0aW9uIGFuZCBkYXRhc3RydWN0dXJlIHRvIHBhcnNlIGFuZCBob2xkIHRoZSBpbmRleCBlbnRyaWVzIG9uIGEKCSAgcGVyIHN0cmVhbSBiYXNlLiBBbHNvIGF2b2lkIGRvaW5nIHRvbyBtdWNoIHdvcmsgdHJ5aW5nIHRvIGZpZ3VyZSBvdXQgdGhlCgkgIHRpbWVzdGFtcHMgYW5kIGR1cmF0aW9ucyBhcyB3ZSBjYW4gdHJpdmlhbGx5IGRvIHRoYXQgbGF0ZXIuCgkgIExlc3MgaW5mb3JtYXRpb24gaW4gdGhlIGVudHJpZXMgbWFrZXMgdGhlbSAyIHRpbWVzIHNtYWxsZXIgYW5kIG5vdCBkb2luZyB0b28KCSAgbXVjaCB3b3JrIG1ha2VzIHRoaXMgY29kZSBhYm91dCAxMiB0aW1lcyBmYXN0ZXIgdGhhbiB0aGUgcmVndWxhciBjYXNlLgoJICBIb29rIGluIHRoZSBuZXcgZnVuY3Rpb24gYWxvbmdzaWRlIHRoZSBleGlzdGluZyBmdW5jdGlvbiBmb3IgY29tcGFyaXNvbiB1bnRpbAoJICB0aGUgcmVzdCBvZiB0aGUgY29kZSBpcyB1cGRhdGVkIHRvIGhhbmRsZSB0aGUgbmV3IGluZGV4IGRhdGFzdHJ1Y3R1cmUuCgoyMDA5LTA5LTI4IDE2OjI5OjQ1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWc6IGhhbmRsZSBtb3JlIGxpYmpwZWcgcmV0dXJuIHZhbHVlcywgYWRkIHNvbWUgbW9yZSBicmFuY2ggaGludHMKCSAgQWxzbyByZW1vdmUgdW51c2VkIHNpemUgdmFyaWFibGUgaW4gX2NoYWluKCkuCgoyMDA5LTA5LTI1IDE5OjIxOjMyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc29tZSBvcHRpb25hbCBRVCBzcGVjaWZpZWQgc3RzZCBNUEVHLTQgYXRvbXMgYWxzbyBhcHBseSB0byBIMjY0CgkgIEZpeGVzICM1OTYzMTkuCgoyMDA5LTA5LTI1IDE2OjQwOjMxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogb25seSBzZW5kIHRhZyBldmVudHMgZG93bnN0cmVhbSBhZnRlciBuZXdzZWdtZW50CgoyMDA5LTA5LTI1IDE0OjE0OjAzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogaWYgdHJhbnNwb3J0IHByb3RvY29sIHVuc3VwcG9ydGVkLCB0cnkgYW5vdGhlciBvbmUKCSAgQWxzbyBjaGFuZ2UgZXJyb3IgbWVzc2FnZSB0byBtb3JlIGFjY3VyYXRlbHkgcmVmbGVjdCBjYXNlcyBpbiB3aGljaAoJICBpdCBjYW4gb2NjdXIuCgoyMDA5LTA5LTI1IDExOjU0OjA2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhZGQgZHVyYXRpb25zIG1vZHVsbyAxPDwzMgoJICBGb3IgY2FsY3VsYXRpbmcgdGhlIGR1cmF0aW9ucyBvZiBlYWNoIHNhbXBsZSwgd2UgYXJlIHN1cHBvc2VkIHRvIGFkZCBlYWNoCgkgIGR1cmF0aW9uIG1vZHVsbyAxPDwzMiBzbyBtYWtlIHRoZSBlbGFwc2VkIHRpbWUgY291bnRlciBhIHVpbnQzMi4KCSAgRml4ZXMgIzU5NTk0MgoKMjAwOS0wOS0yNCAyMDozODo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc21hbGwgY2xlYW51cAoKMjAwOS0wOS0yNCAxOTozMzozOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGF0b21wYXJzZXIuaDoKCSAgcXRkZW11eDogZG9uJ3QgdXNlIGNvcmUgQVBJIHRoYXQgZG9lc24ndCBleGlzdCB5ZXQKCSAgVGhlcmUncyBubyBnc3RfYnl0ZV9yZWFkZXJfaGFzX3JlbWFpbmluZygpIHlldC4gRml4ZXMgYnVpbGQuCgoyMDA5LTA5LTI0IDEzOjIwOjUwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0YXRvbXBhcnNlci5oOgoJICBxdGRlbXV4OiBtYXAgc29tZSBhdG9tcGFyc2VyIGZ1bmN0aW9ucyB0byB0aGVpciBuZXcgYnl0ZXJlYWRlciBlcXVpdmFsZW50cwoJICBOb3cgdGhhdCBHc3RCeXRlUmVhZGVyIGhhcyB1bmNoZWNrZWQgYW5kIGlubGluZWQgdmFyaWFudHMgYXMgd2VsbCwgbWFwCgkgIGF0b21wYXJzZXIgZnVuY3Rpb25zIHRvIHRoZWlyIHJlc3BlY3RpdmUgYnl0ZXJlYWRlciBlcXVpdmFsZW50cy4KCjIwMDktMDgtMjUgMTI6MTE6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRhdG9tcGFyc2VyLmg6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmM6CgkgIHF0ZGVtdXg6IGFkZCBxdF9hdG9tX3BhcnNlcl9oYXNfY2h1bmtzKCkgYW5kIGZpeCBpbmRlbnRhdGlvbgoKMjAwOS0wOC0yMCAxODoyMTo1OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGJhaWwgb3V0IGluc3RlYWQgb2YgdHJ5aW5nIHRvIGFsbG9jIHNpbGx5IGluZGV4IHNpemVzCgkgIElmIGl0IGxvb2tzIGxpa2Ugd2Ugd291bGQgYmUgYWxsb2NhdGluZyBhIHNpbGx5IHNpemUgZm9yIG91ciBzYW1wbGUKCSAgaW5kZXgsIGp1c3QgYmFpbCBvdXQgaW5zdGVhZCBvZiB0cnlpbmcgdG8gYWxsb2NhdGUgaXQuIEhlbHBzIHdpdGgKCSAgYnJva2VuIG9yIGZ1enplZCBmaWxlcyB3aGVyZSB3ZSBtaWdodCBlbmQgdXAgdHJ5aW5nIHRvIG1hbGxvYyBhCgkgIGNvdXBsZSBvZiBodW5kcmVkIE1CcyBvdGhlcndpc2UuCgoyMDA5LTA4LTIwIDE2OjQ3OjI1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZXJyb3Igb3V0IGNvcnJlY3RseSBpZiB3ZSBkb24ndCBldmVuIGhhdmUgZW5vdWdoIGJ5dGVzIGZvciBhbiBhdG9tIGhlYWRlcgoKMjAwOS0wOC0yMCAxNTozOTowMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGluaXQgZm91cmNjIHRvIDAgYXMgd2VsbCB0byBhdm9pZCBpbnZhbGlkIHJlYWRzIHdoZW4gcHJpbnRmJ2luZyBlcnJvciBtZXNzYWdlCgoyMDA5LTA4LTIwIDAxOjM5OjE3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0YXRvbXBhcnNlci5oOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5jOgoJICBxdGRlbXV4OiBhZGQgcXRfYXRvbV9wYXJzZV9oYXNfcmVtYWluaW5nKCkgdG8gYXZvaWQgb3ZlcmZsb3dzIHdpdGggX2dldF9yZW1haW5pbmcoKQoKMjAwOS0wOC0yMCAwMToyMTowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHVzZSBHc3RCeXRlUmVhZGVyIHdoZW4gcGFyc2luZyB0a2hkIGF0b20KCjIwMDktMDgtMTkgMTk6MTM6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiB1c2UgdW5zaWduZWQgaW50cyBmb3Igbm9kZSBsZW5ndGggYW5kIGRvIG1vcmUgc2FuaXR5IGNoZWNraW5nIG9mIHRoZSBhdG9tIGxlbmd0aAoKMjAwOS0wOC0xOSAwMTozNjozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGF0b21wYXJzZXIuaDoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5oOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmg6CgkgIHF0ZGVtdXg6IHVzZSBHc3RCeXRlUmVhZGVyIGZvciBhdG9tIGR1bXBpbmcgYW5kIGZpeCBhIGZldyBidWdzCgoyMDA5LTA4LTIxIDE0OjIxOjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogbW92ZSBzdGNvLCBzdHRzLCBzdHNzIGFuZCBzdHBzIGF0b20gcGFyc2luZyBvdmVyIHRvIEdzdEJ5dGVSZWFkZXIKCSAgTWFrZSBzdXJlIHdlIGRvbid0IHJlYWQgYmV5b25kIHRoZSBhdG9tIGJvdW5kYXJ5LiBOb3RlIHRoYXQgdGhlIGNvZGUKCSAgYmVoYXZlcyBzbGlnaHRseSBkaWZmZXJlbnRseSBpbiB0aGUgY29ybmVyIGNhc2Ugd2hlcmUgdGhlcmUgaXMgbm90CgkgIGVub3VnaCBhdG9tIGRhdGEgZm9yIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIHNhbXBsZXMgKG5fc2FtcGxlc190aW1lKQoJICBpbiB0aGUgYXRvbSwgYnV0IHN0aWxsIGVub3VnaCBkYXRhIHRvIGZpbGwgdGhlIHByZS1hbGxvY2F0ZWQgaW5kZXggb2YKCSAgbl9zYW1wbGVzIGVudHJpZXM6IGJlZm9yZSB3ZSB3b3VsZCBqdXN0IHN0b3AgcGFyc2luZyB0aGUgc3R0cyBkYXRhCgkgIGFuZCBjb250aW51ZSwgd2hlcmVhcyBub3cgd2Ugd2lsbCBsaWtlbHkgZXJyb3Igb3V0LiBUaGlzIHNob3VsZCBub3QKCSAgYmUgYSBwcm9ibGVtIGluIHByYWN0aWNlIHRob3VnaC4gV2UgY291bGQgbWFpbnRhaW4gdGhlIG9sZCBiZWhhdmlvdXIKCSAgYnkgZG9pbmcgcmVhZHMgd2l0aCBhIHNpemUgY2hlY2sgaW5zaWRlIHRoZSBsb29wIGlmIG5lZWRlZC4KCjIwMDktMDYtMzAgMTk6NTE6MTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiB1c2UgYnl0ZXJlYWRlciB0byBwYXJzZSBzdHN6IGFuZCBzdHNjIGF0b21zCgkgIFVzZSBHc3RCeXRlUmVhZGVyIHRvIHBhcnNlIHN0c3ogYW5kIHN0c2MgY2h1bmtzLCBhbmQgY2hlY2sgc2l6ZSBvZgoJICBhdmFpbGFibGUgZGF0YSBiZWZvcmUgcGFyc2luZyBpdCwgaW5zdGVhZCBvZiBibGluZGx5IGFzc3VtaW5nIHRoZXJlCgkgIHdpbGwgYmUgZW5vdWdoIGRhdGEuIEZpeGVzIGNyYXNoZXMgd2l0aCBzb21lIGZ1enplZC9icm9rZW4gZmlsZXMuCgoyMDA5LTA4LTE1IDIwOjM4OjQwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0YXRvbXBhcnNlci5oOgoJICBxdGRlbXV4OiBhZGQgcXRfYXRvbV9wYXJzZXJfZ2V0X29mZnNldCgpIGFuZCBvcHRpbWlzZSBfcGVla19zdWIoKQoKMjAwOS0wNy0wMSAxMzo0OTo1NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3F0ZGVtdXgvcXRhdG9tcGFyc2VyLmg6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWRkIFF0QXRvbVBhcnNlciwgYW4gaW5saW5lZCBHc3RCeXRlUmVhZGVyIHZhcmlhbnQKCjIwMDktMDktMjMgMTc6MTk6MzQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBtYXRyb3NrYWRlbXV4OiB1c2UgcHJvcGVyIG9yZGVyIGZvciBuby1tb3JlLXBhZHMgYW5kIG5ld3NlZ21lbnQgYW5kIHRhZyBzZW5kaW5nCgoyMDA5LTA5LTIzIDA5OjUwOjM3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBzcHJpbmtsZSBhIGZldyBicmFuY2ggcHJlZGljdGlvbiBtYWNyb3MKCjIwMDktMDktMjIgMTU6MDM6MjAgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6CgkgIEZpeCBjb21waWxlIHdhcm5pbmdzIHdpdGggZ2NjIDQuMC4xLgoKMjAwOS0wOS0yMiAxMTo0ODo1MCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogRG9uJ3QgZ2V0IHN0dWNrIGluIGFuIGluZmluaXRlIGxvb3Agd2l0aCBEaXJhYwoJICBBdCB0aGUgZW5kLCBEaXJhYyBzdHJlYW1zIGhhdmUgYW4gRU9TIHBhY2tldCB3aXRoIDAgbGVuZ3RoLgoJICBEb24ndCBldmVyIHNpdCBpbiBhbiBpbmZpbml0ZSBsb29wIHdoZW4gcHJvY2Vzc2luZyBvbmUuIEFsbG93cwoJICBtdXhpbmcgRGlyYWMgaW50byBta3YgdG8gY29tcGxldGUgc3VjY2Vzc2Z1bGx5LgoKMjAwOS0wOS0yMiAxMTowMzo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiAuZ2l0aWdub3JlOgoJICBVcGRhdGUgLmdpdGlnbm9yZQoKMjAwOS0wOS0yMiAxMTowMjowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSAgdmlkZW9taXhlcjogZml4IHVwIE1ha2VmaWxlIHNvbWUgbW9yZQoJICBSZW1vdmUgQ0ZMQUdTIGZyb20gTElCQUREIGFuZCBtYWtlIG9yZGVyIG9mIHRoZSB2YXJpb3VzIENGTEFHUyBhbmQKCSAgTElCUyBhdCBsZWFzdCBjb25zaXN0ZW50IHdpdGggZWFjaCBvdGhlci4KCjIwMDktMDktMjIgMDg6MDI6NDggKzAyMDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJICB2aWRlb21peGVyOiBBZGQgJChHU1RfUExVR0lOU19CQVNFX0xJQlMpIHRvIExERkxBR1MgZm9yIGxpbmtpbmcgbGliZ3N0dmlkZW8KCSAgRml4ZXMgYnVnICM1OTU4OTcuCgoyMDA5LTA5LTIxIDE4OjA5OjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmk6IGZpeCB0aW1lc3RhbXBzIGluIHB1c2ggbW9kZQoKMjAwOS0wOS0xOCAxNzoyNjo0MiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBhZGQgYSBHX1VOTElLRUxZIGFuZCBwdXQgcGVyZi1jYXQgbG9nIHRvIGNvZGUgcGF0aCB0aGF0IGNvcGllcwoKMjAwOS0wOS0yMSAxMjozMjo1MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpOiBhZGQgc29tZSBwZXJmb3JtYW5jZSBtZWFzdXJlbWVudHMKCSAgTWVhc3VyZSB0aGUgcGVyZm9ybWFuY2Ugb2YgdmFyaW91cyBpbmRleCBhbmQgaGVhZGVyIHBhcnNpbmcgc3RlcHMgdG8gdGhlCgkgIFBFUkZPUk1BTkNFIGRlYnVnIGNhdGVnb3J5LgoKMjAwOS0wOS0xOCAxMTo1MzoxMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSAgc3BlZXhkZWM6IGFsbG93IGZvciB1bmtub3duIHZhcnlpbmcgbnVtYmVyIG9mIGZyYW1lcyBwZXIgYnVmZmVyCgkgIEluIHBhcnRpY3VsYXIsIHRoaXMgY2F0ZXJzIGZvciBSVFAgcGF5bG9hZHMgd2l0aCBtdWx0aXBsZSBmcmFtZXMKCSAgcGVyIHBhY2tldC4KCjIwMDktMDktMTggMTE6NDU6MDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkgIHNwZWV4ZGVjOiB1c2UgY29ycmVjdCBzYW1wbGUgc2l6ZSBpbiBjb252ZXJzaW9ucwoKMjAwOS0wOS0xOCAxMTo0Mzo0NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgc3BlZXhlbmM6IGZpeCBidWZmZXIgdGltZSBhbmQgZHVyYXRpb24gZm9yIG11bHRpcGxlIGZyYW1lcyBwZXIgcGFja2V0CgoyMDA5LTA5LTE4IDE0OjIyOjAyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBzb21lIGxvZ2dpbmcgY2xlYW51cCB0byBoZWxwIHVuZGVyc3RhbmRpbmcgdGhlIGluZGV4IHBhcnNpbmcgb3ZlcmhlYWQKCjIwMDktMDktMTYgMTM6Mjg6MjcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOgoJICBvc3hhdWRpbzogbGluayBhZ2FpbnN0IEdTVF9CQVNFX0xJQlMKCjIwMDktMDktMTUgMTc6MjQ6MjQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJICBydHBnNzI5cGF5OiBGaXggYWRhcHRlciBsZWFrCgkgIFRoZSBhZGFwdGVyIHdvdWxkIGJlIGxlYWtlZCBpZiBpdCB3YXMgZW1wdHkgYW5kIHRoZSBkYXRhIGNvdWxkIGJlIHB1c2hlZCBvdXQgZGlyZWN0bHkuCgoyMDA5LTA5LTE1IDEwOjA0OjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogRG9uJ3QgZGVyZWZlcmVuY2UgTlVMTCBwb2ludGVycwoJICBwYV9zdHJlYW1fZ2V0X3RpbWluZ19pbmZvKCkgY2FuIHJldHVybiBOVUxMLgoJICBGaXhlcyBidWcgIzU5NTIyMC4KCjIwMDktMDktMTUgMTA6MDE6NTQgKzAyMDAgIERhdmlkIEhlbm5pbmdzc29uIDxnbm9tZS53ZWJAZXBvc3QuZGl3aWMuc2U+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogRG9uJ3QgZGVyZWZlcmVuY2UgTlVMTCBwb2ludGVycwoJICBwYV9zdHJlYW1fZ2V0X3RpbWluZ19pbmZvKCkgY2FuIHJldHVybiBOVUxMLgoJICBGaXhlcyBidWcgIzU5NTIyMC4KCjIwMDktMDktMTQgMTY6MDU6MzAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogaGFuZGxlIHN0cmVhbSBldmVudHMKCSAgSGFuZGxlIHN0cmVhbSBldmVudHMgYW5kIHJlcXVlc3QgYSBQQVVTRS9QTEFZIHN0YXRlIGNoYW5nZSBmcm9tIHRoZSBhcHBsaWNhdGlvbgoJICB3aGVuIHdlIHJlY2VpdmUgYSBDT1JLL1VOQ09SSyBldmVudC4KCjIwMDktMDktMTMgMTI6MzA6MzQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5oOgoJICBtdWx0aWZpbGVzaW5rOiBBZGQgbmV4dC1maWxlIHByb3BlcnR5CgkgIEFkZCBhIHByb3BlcnR5IHRvIGFsbG93IGNvbnRyb2wgb3ZlciB3aGF0IGV2ZW50IGNhdXNlcyBhIGZpbGUKCSAgdG8gZmluaXNoIGJlaW5nIHdyaXR0ZW4gYW5kIGEgbmV3IGZpbGUgc3RhcnQuICBUaGUgZGVmYXVsdCBpcwoJICB0aGUgc2FtZSBhcyBiZWZvcmUgLS0gZWFjaCBidWZmZXIgY2F1c2VzIGEgbmV3IGZpbGUgdG8gYmUKCSAgd3JpdHRlbi4gIEFkZGVkIGlzIGEgY2FzZSB3aGVyZSBidWZmZXJzIGFyZSB3cml0dGVuIHRvIHRoZQoJICBzYW1lIGZpbGUgdW50aWwgYSBkaXNjb250aW51aXR5IGluIHRoZSBzdHJlYW0uCgoyMDA5LTA5LTEzIDE1OjU1OjAyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9kdi9nc3RkdmRlbXV4Lmg6CgkgIGR2ZGVtdXg6IFVzZSB2YWx1ZXMgZnJvbSBkZWNvZGVyIHN0cnVjdHVyZSBkaXJlY3RseQoJICBEb24ndCBzdG9yZSB0aGUgc2FtZSB2YWx1ZXMgaW4gdGhlIEdzdER2RGVtdXguICBUaGlzCgkgIGZpeGVzIGEgYnVnIHdoZXJlIGR2ZGVtdXggd291bGQgZGV0ZWN0IGEgc3RyZWFtIGFzIFBBTAoJICBpbnN0ZWFkIG9mIE5UU0MsIGFuZCBzaWxlbnRseSBwYXJzZSBpdCB3cm9uZy4KCjIwMDktMDktMTMgMTI6MjA6MjMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2R2L01ha2VmaWxlLmFtOgoJKiBleHQvZHYvZ3N0c21wdGV0aW1lY29kZS5jOgoJKiBleHQvZHYvZ3N0c21wdGV0aW1lY29kZS5oOgoJKiBleHQvZHYvc21wdGVfdGVzdC5jOgoJICBkdmRlbXV4OiBBZGQgY29kZSB0byBwYXJzZSBTTVBURSB0aW1lIGNvZGVzCgkgIENvZGUgdG8gY29udmVydCB0aW1lIGNvZGVzIHRvL2Zyb20gdGltZXN0YW1wcyBhbmQgZnJhbWUgbnVtYmVycy4KCjIwMDktMDktMTMgMTI6MDE6MjcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2R2L2dzdGR2ZGVtdXguaDoKCSAgZHZkZW11eDogRml4IGRldGVjdGlvbiBvZiBuZXcgbWVkaWEKCSAgVGhlcmUgYXJlIDUgb3IgNiBBQVVYIHNvdXJjZSBjb250cm9sIHBhY2tzIGluIGEgZnJhbWUsIGFuZCBhbnkKCSAgb2YgdGhlbSBjb3VsZCBoYXZlIFJFQ19TVCBjbGVhcmVkLCBpbmRpY2F0aW5nIGEgcmVjb3JkaW5nIHN0YXJ0CgkgIHBvaW50LiAgbGliZHYgb25seSBjaGVja3MgdGhlIGZpcnN0LgoKMjAwOS0wOS0xMiAxOToyNTozNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkgIGR2ZGVtdXg6IFNldCBESVNDT05UIGZsYWcgb24gYnVmZmVycyB3aGVuIFJFQ19TVCBmbGFnIGlzIHNldC4KCSAgQWxzbyBhZGQgYSBmZXcgYnJhbmNoIHByZWRpY3Rpb24gbWFjcm9zCgoyMDA5LTA5LTEyIDAwOjEzOjA0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzoKCSAgY2hlY2s6IEZpeCBhIGNvdXBsZSBvZiB0ZXN0cy4KCSAgVGhlIHNvdXBodHRwc3JjIHRlc3Qgd2Fzbid0IGNvbXBpbGluZy4gVGhlIHNvdXAtbWlzYy5oIGhlYWRlciBpcyBuZWVkZWQgZm9yCgkgIHNvdXBfc3NsX3N1cHBvcnRlZC4KCSAgRml4IHRoZSB5NG1lbmMgdGVzdCB0byB1c2UgYSAncHJvZ3Jlc3NpdmUnIGhlYWRlciBmb3IgdGhlIHRlc3QgZGF0YSBub3cgdGhhdAoJICB0aGUgZWxlbWVudCBvdXRwdXRzIGNvcnJlY3QgaW50ZXJsYWNpbmcgaW5mby4KCjIwMDktMDktMTEgMTM6MzI6MzkgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiB0cmVhdCBhIHplcm8tc2l6ZWQgZGF0YSBjaHVuayBhcyBleHRlbmRpbmcgdG8gdGhlIGVuZCBvZiB0aGUgZmlsZS4KCSAgVGhpcyBmaXhlcyBwbGF5YmFjayBvZiBzb21lIGZpbGVzIHRoYXQgZG9uJ3QgaGF2ZSBhIHZhbGlkIGRhdGEgY2h1bmsgbGVuZ3RoLAoJICBhcHBhcmVudGx5IHNvbWUgcHJvZ3JhbSBjcmVhdGVzIHRoZXNlLgoKMjAwOS0wOS0xMSAyMjoyNDo0NyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgIHY0bDJzcmM6IGFkZCBhIGZ1bmN0aW9uIHBvaW50ZXIgZm9yIGdldF9mcmFtZSBmdW5jdGlvbiBhbmQgb3B0aW1pemUgYSBiaXQKCSAgVXNlIGEgZnVuY3Rpb24tcG9pbnRlciBmb3IgbW1hcC9yZWFkLCBhcyB0aGlzIGNhbid0IGNoYW5nZSBkdXJpbmcgY2FwdHVyZS4gQWxzbwoJICBzcHJpbmtsZSBhIGZldyBHX0xJS0VMWS9VTkxJS0VMWSB0byBpbXByb3ZlIHRoZSBlcnJvci1sZXNzIGNvZGUgcGF0aC4KCjIwMDktMDktMTEgMjI6MTU6MDEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyOiBsb2cgYnVmZmVyIGNvcGllcyBvbiBxdWV1ZSB1bmRlcnJ1biBpbiBwZXJmIGNhdGVnb3J5CgkgIHY0bDJzcmMgaGFzIGEgc2xvdyBwYXRoIHdoZXJlIGl0IGRvZXMgYnVmZmVyLWNvcGllcyB3aGVuIGl0IHJ1bnMgb3V0IG9mIHF1ZXVlZAoJICBidWZmZXJzLiBMb2cgdGhpcyB0byBwZXJmb3JtYW5jZSBjYXRlZ29yeSB0byBoZWxwIG1vbml0b3JpbmcgaXQuCgoyMDA5LTA5LTExIDE1OjE0OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBJbXBsZW1lbnQgR3N0U3RyZWFtVm9sdW1lIGludGVyZmFjZQoKMjAwOS0wOS0xMSAxNjowOTo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSAgcHVsc2VzaW5rOiBJbXBsZW1lbnQgbXV0ZSBwcm9wZXJ0eQoKMjAwOS0wOS0xMSAxMzozMzozMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnNpbmsuYzoKCSAgZ2RrcGl4YnVmc2luazogZml4IGRvY3MgcmVmZXJpbmcgdG8gc2VuZC1tZXNzYWdlcwoKMjAwOS0wOS0xMSAxMzoyODozNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgc3BlY3RydW06IGFkZCBwb3N0LW1lc3NhZ2VzIHByb3BlcnR5CgkgIEFkZCBhIHBvc3QtbWVzc2FnZXMgcHJvcGVydHkgYW5kIGRlcHJlY2F0ZSB0aGUgbGVzcyBkZXNjcmlwdGl2ZSBtZXNzYWdlCgkgIHByb3BlcnR5LgoKMjAwOS0wOS0xMSAxMzoyMDowNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnNpbmsuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5oOgoJICBwaXhidWZzaW5rOiBhZGQgcG9zdC1tZXNzYWdlcyBwcm9wZXJ0eQoJICBBZGQgcG9zdC1tZXNzYWdlcyBhbmQgZGVwcmVjYXRlIHNlbmQtbWVzc2FnZXMgYXMgdGhlIGZvcm1lciBpcyBtb3JlCgkgIGRlc2NyaXB0aXZlIG9mIHdoYXQgYWN0dWFsbHkgaGFwcGVucy4KCjIwMDktMDktMTEgMTM6MTI6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgIG11bHRpZmlsZXNpbms6IHJlbmFtZSBzaWxlbnQgdG8gcG9zdC1tZXNzYWdlcwoJICBVc2UgdGhlIHBvc3QtbWVzc2FnZXMgcHJvcGVydHkgbmFtZSBpbnN0ZWFkIG9mIHNpbGVudCBhcyBpdCBpcyBtb3JlCgkgIGRlc2NyaXB0aXZlLgoKMjAwOS0wOS0xMSAxMjoxNjoxOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgbXVsdGlmaWxlc2luazogcG9zdCBtZXNzYWdlcyBmb3IgZWFjaCBidWZmZXIKCSAgQWRkIGEgc2lsZW50IHByb3BlcnR5IHRoYXQgY2FuIGJlIHNldCB0byBGQUxTRSB0byBwb3N0IG1lc3NhZ2VzIG9uIHRoZSBidXMgZm9yCgkgIGVhY2ggd3JpdHRlbiBmaWxlLgoJICBEbyBzb21lIG1vcmUgY2xlYW51cHMuCgkgIEFkZCBzb21lIGRvY3MuCgkgIEZpeGVzICM1OTQ2NjMKCjIwMDktMDktMDkgMTg6MTM6MjkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICBydHBoMjYzcGF5OiBBbGxvY2F0ZSBCb3VuZHJ5IHN0cnVjdHMgb24gdGhlIHN0YWNrIGluc3RlYWQgb2YgdGhlIGhlYXAgdG8gYXZvaWQgbGVha3MKCSAgRml4ZXMgYnVnICM1OTQ2OTEuCgoyMDA5LTA5LTEwIDEwOjI4OjQ4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICBkb2NzOiBmaXggZ3RrLWRvYyB3YXJuaW5ncwoKMjAwOS0wOS0xMCAxMDoyNjoyMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5oOgoJICBkb2NzOiBmaXggZ3RrLWRvYyB3YXJuaW5ncwoKMjAwOS0wOS0wOSAxNzo1MToxOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvcmF3MTM5NC9NYWtlZmlsZS5hbToKCSogZXh0L3JhdzEzOTQvZ3N0MTM5NGNsb2NrLmM6CgkqIGV4dC9yYXcxMzk0L2dzdDEzOTRjbG9jay5oOgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmg6CgkgIGR2MTM5NHNyYzogQWRkIGEgY2xvY2sgYmFzZWQgb24gaXNvY2hyb25vdXMgY3ljbGUgY291bnRlcgoJICBQYXJ0aWFsIGZpeCBmb3IgIzE2OTM4My4KCjIwMDktMDktMDkgMTY6MDI6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBGaXggQVlVVi0+STQyMCBjb252ZXJzaW9uCgkgIEZvciB0aGlzIGZpeCB0aGUgYXZlcmFnaW5nIG9mIHRoZSBjaHJvbWEgdmFsdWVzLiBJdCBzaG91bGQndCBiZSAoYS8yICsgYikvMgoJICBidXQganVzdCAoYSArIGIpLzIuCgkgIEZpeGVzIGJ1ZyAjNTk0NTk5LgoKMjAwOS0wOS0wOSAxNjoyNTowNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IHJlbW92ZSByaW5nYnVmZmVyIHJlc2V0IGNvbXBlbnNhdGlvbgoJICBSZW1vdmUgdGhlIGNvZGUgdG8gZGVhbCB3aXRoIGEgcmluZ2J1ZmZlciByZXNldCBhcyB0aGlzIGNvZGUgaXMgbm93IGluIHRoZSBiYXNlCgkgIGNsYXNzLgoJICBCdW1wIHRoZSAtYmFzZSByZXF1aXJlbWVudCBhcyB3ZSBuZWVkIHRoZSBuZXcgYmFzZWF1ZGlvc2luayBjb2RlIHRvIGZ1bmN0aW9uCgkgIHByb3Blcmx5LgoKMjAwOS0wOS0wOSAxNjoyNDo0OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSAgcHVsc2VzaW5rOiB3aGl0ZXNwYWNlIGZpeGVzCgoyMDA5LTA5LTA5IDEwOjI3OjU1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJICB3aGl0ZXNwYWNlIGZpeGVzCgoyMDA5LTA5LTA4IDE5OjM0OjA5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXIuYzoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXByb2JlLmM6CgkgIHB1bHNlOiBzbWFsbCBjbGVhbnVwcwoJICBBZGQgc29tZSBkZWJ1ZyBpbmZvCgkgIEZpeCB0aGUgc3RhdGUgY2hhbmdlcwoKMjAwOS0wOS0wOCAxODoyOTozNSArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJICBtdWx0aXBhcnRtdXg6IG1hcmsgZGF0YSBidWZmZXIgYXMgZGVsdGEtdW5pdAoJICBTbyB0aGF0IG11bHRpZmRzaW5rIGFsd2F5cyBzdGFydCBzZW5kaW5nIGhlYWRlciBidWZmZXIgZmlyc3QKCSAgRml4ZXMgIzU5NDUyMAoKMjAwOS0wOS0wOCAxNzozNzoxNSArMDIwMCAgTWFyYyBMZWVtYW4gPG1hcmMubGVlbWFuQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgcnRwYmluOiBhZGQgaWdub3JlLXB0IHBhcmFtZXRlcgoJICBBZGQgYSBwYXJhbWV0ZXIgJ2lnbm9yZS1wdCcgdGhhdCBkaXNhYmxlcyBjcmVhdGluZyBhIGdzdHJ0cHB0ZGVtdXggbW9kdWxlIGFuZAoJICBnaG9zdHMgdGhlIHBhZHMgb2YgZ3N0cnRwaml0dGVyYnVmZmVyIGluc3RlYWQgb2YgdGhlIG9uZXMgb2YgZ3N0cnRwcHRkZW11eC4KCSAgRml4ZXMgIzU5NDQ5MAoKMjAwOS0wOS0wNCAxMzo1MTozNyArMDIwMCAgTWFydmluIFNjaG1pZHQgPG1hcnZpbl9zY2htaWR0QGdteC5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICBjaGVja3M6IG9ubHkgcnVuIEhUVFBTIHRlc3QgaWYgbGlic291cCBoYXMgU1NMIHN1cHBvcnQKCjIwMDktMDktMDggMTM6NTk6NTYgKzAyMDAgIEjDpXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIHJ0cGJpbjogcHJvcGFnYXRlIHBheWxvYWQtdHlwZS1jaGFuZ2Ugc2lnbmFsIGZyb20gZGVtdXhlcgoJICBmaXhlcyAjNTk0MjU0CgoyMDA5LTA4LTMxIDE4OjQ2OjI1ICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBjaGFuZ2Ugc2V2ZXJpdHkgb2YgY2xvY2stcmF0ZSBjaGFuZ2UgZGVidWcKCSAgTWFrZSBsb2cgR1NUX0RFQlVHIHVuZGVyIG5vcm1hbCBjaXJjdW1zdGFuY2VzLCBHU1RfV0FSTklORyBvdGhlcndpc2UuCgkgIEZpeGVzICM1OTQyNTMKCjIwMDktMDktMDggMTM6Mzk6MzEgKzAyMDAgIEjDpXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBhdm9pZCB0aHJvd2luZyByZW9yZGVyZWQgYnVmZmVycyB3aXRoIHNhbWUgdGltZXN0YW1wcwoJICBXaGVuIHdlIHJlY2VpdmUgYSByZW9yZGVyZWQgcGFja2V0IHdpdGggdGhlIHNhbWUgdGltZXN0YW1wIGFzIHRoZSBwcmV2aW91cyBvbmUKCSAgKHdoaWNoIGNhbiBoYXBwZW4gZm9yIGZyYWdtZW50ZWQgcGFja2V0cykgZG9uJ3QgY29uc2lkZXIgdGhlIHBhY2tldCBhcyBsb3N0IGJ1dAoJICBpbnN0ZWFkIHdhaXQgZm9yIHRoZSByZW9yZGVyZWQgcGFja2V0IHRvIGFycml2ZS4KCSAgU3dpdGNoIHRoZSB3YXJuaW5nLWxldmVsLCBzbyB0aGF0IGEgcmVvcmRlcmluZyBkb2VzIG5vdCBnZXQgYSB3YXJuaW5nLCBvbmx5CgkgIGFuIGFjdHVhbCBwcm9kdWNlZCBsb3N0LXBhY2tldC4KCSAgRml4ZXMgIzU5NDI1MQoKMjAwOS0wOC0zMSAyMToxNjo1NCArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSAgcnRwanBlZ2RlcGF5OiBhZGQgbWlzc2luZyBtYXRoLmggaW5jbHVkZQoJICBGaXhlcyAjNTk0MjQ3CgoyMDA5LTA5LTA4IDEzOjMwOjI5ICswMjAwICBBcm5vdXQgVmFuZGVjYXBwZWxsZSA8YXJub3V0QG1pbmQuYmU+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBtZW1vcnkgbGVhawoJICBJbiBnc3RfcnRzcHNyY19wYXJzZV9kaWdlc3RfY2hhbGxlbmdlKCksIHJ0c3BzcmMgZG9lcyBhIGdfc3RybmR1cCBvZiB0aGUgYXV0aAoJICBoZWFkZXIgaXRlbXMgYW5kIHRoZW4gcGFzc2VzIHRoZW0gdG8gZ3N0X3J0c3BfY29ubmVjdGlvbl9zZXRfYXV0aF9wYXJhbSgpCgkgIHdpdGhvdXQgZnJlZWluZy4KCSAgRml4ZXMgIzU5NDEzMwoKMjAwOS0wOS0wOCAxMzoxODoyOSArMDIwMCAgU3RpZyBTYW5kbmVzIDxzdGlnLnNhbmRuZXNAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogbWFrZSBmcmVlX3Nlc3Npb24oKSByZW1vdmUgc3RyZWFtIHJlZmVyZW5jZXMKCSAgV2hlbiByZWNlaXZpbmcgYSBzeW5jLXBhY2tldCwgYWxsIHNlc3Npb25zIHdpdGggdGhlIHNhbWUgY25hbWUgd2lsbCBiZSBjb21wYXJlZAoJICBhbmQgc3luY2VkIHRvZ2V0aGVyLiBJbiB0aGlzIHByb2Nlc3MsIHRoZXJlIGNvdWxkIHN0aWxsIGJlIHJlZmVyZW5jZXMgdG8gYQoJICBzZXNzaW9uIHRoYXQgaGFzIGJlZW4gc2h1dCBkb3duIGluIHRoZSBtZWFud2hpbGUuCgkgIFRoaXMgcGF0Y2ggbWFrZXMgc3VyZSB0aGF0IHRoZXNlIHJlZmVyZW5jZXMgYXJlIHJlbW92ZWQgd2hlbiBzaHV0dGluZyBkb3duIGEKCSAgc2Vzc2lvbiwgc28gdGhhdCB0aGUgc3luY2luZyBjYW4gYmUgZG9uZSBzYWZlbHkuCgkgIEZpeGVzICM1OTQyODMKCjIwMDktMDgtMzEgMTg6NDY6NTEgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IHVzZSBsb2NrZWQgc3RhdGUgb24gaW50ZXJuYWwgYmlucwoJICBTZXQgdGhlIGxvY2tlZCBzdGF0ZSBvbiBpbnRlcm5hbCBlbGVtZW50cyB0byBtYWtlIHN1cmUgdGhhdCB0aGV5IGRvbid0IGNoYW5nZQoJICBiYWNrIHRvIGFub3RoZXIgc3RhdGUgd2hlbiBzaHV0dGluZyBkb3duLgoJICBGaXhlcyAjNTk0MjQ4CgoyMDA5LTA5LTA3IDE4OjI4OjUxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsMnNyYzogYWRkIHN1cHBvcnQgZm9yIG1wZWcgZm9ybWF0cwoKMjAwOS0wOS0wNSAyMDo1MToxNCAtMDcwMCAgWmFoZWVyIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmg6CgkgIHk0bWVuYzogQWRkIGludGVybGFjZWQgc3VwcG9ydAoJICBGaXhlcyAjNTkxNzEzCgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAwOS0wOC0yNCAxMzo0Mjo0MiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYzoKCSogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zcmMuYzoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc3JjLmM6CgkqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIFJlbW92ZSBSb25hbGQgQnVsdGplIGZyb20gQXV0aG9ycyBmaWVsZAoJICBSZXBsYWNlZCB3aXRoICJHU3RyZWFtZXIgbWFpbnRhaW5lcnMKCSAgPGdzdHJlYW1lci1kZXZlbEBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ+IiBvciBqdXN0IHJlbW92ZWQsCgkgIGRlcGVuZGluZyBvbiB0aGUgbnVtYmVyIG9mIG90aGVyIGF1dGhvcnMuCgoyMDA5LTA5LTA1IDEwOjIxOjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMDBhODU5ZSB0byAxOWZhNGYzCgoyMDA5LTA5LTA0IDEzOjQyOjQzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcHJldmVudCBhIHNwdXJpb3VzIGRlYnVnIHdhcm5pbmcKCjIwMDktMDktMDQgMDk6MzI6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBEZWZpbmUgVjRMMl9GTVRfRkxBR19FTVVMQVRFRCBpZiBpdCdzIG5vdCBkZWZpbmVkIHlldAoJICBsaWJ2NGwyIGFscmVhZHkgdXNlcyB0aGlzIGZsYWcsIGV2ZW4gb24gTGludXgga2VybmVsIHZlcnNpb25zCgkgIGJlZm9yZSAyLjYuMzIuCgoyMDA5LTA5LTA0IDA3OjEwOjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBDb3JyZWN0bHkgaGFuZGxlIE5VTEwgR3N0SW5kZXgKCjIwMDktMDktMDMgMjA6NDA6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBGaXggc3R1cGlkIHR5cG8gaW4gbGFzdCBjb21taXQKCjIwMDktMDktMDMgMjA6Mzg6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBQdXQgZW11bGF0ZWQgZm9ybWF0cyBiZWhpbmQgbmF0aXZlIGZvcm1hdHMKCSAgRml4ZXMgYnVnICM1OTM3NjQuCgoyMDA5LTA5LTAzIDE5OjM3OjEwICswMjAwICBMYXVyZW50IEdsYXlhbCA8c3BnbGVnbGUgYXQgeWFob28uZnI+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiBmaXggbWVtbGVhawoJICBEb24ndCBsZWFrIHRoZSBpbnB1dCBidWZmZXIgd2hlbiB0aGUgcmVjZWl2ZWQgYW5kIGV4cGVjdGVkIHNlcW51bSBhcmUgZGlmZmVyZW50IHdoZW4KCSAgaW4gcHJvYmF0aW9uLgoJICBmaXhlcyAjNTk0MDM5CgoyMDA5LTA5LTAyIDE1OjIxOjAyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBMb2NrIGNsb2NrX3JhdGUgdmFyaWFibGUKCSAgVGhlIHByaXYtPmNsb2NrX3JhdGUgdmFyaWFibGUgY291bGQgYmVjb21lIC0xIGJldHdlZW4gd2hlbiBpdHMgY2hlY2tlZCB0byBub3QKCSAgYmUgLTEgYW5kIHdoZW4gaXRzIHVzZWQsIGNhdXNpbmcgYW4gYXNzZXJ0aW9uLiBGaXhlZCBieSB0YWtpbmcgdGhlIG11dGV4CgkgIGVhcmxpZXIgaW4gdGhlIGNoYWluKCkgZnVuY3Rpb24uCgkgIEZpeGVzICM1OTM5NTUKCjIwMDktMDktMDMgMTk6MTI6MzkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiB3aGl0ZXNwYWNlIGZpeGVzCgoyMDA5LTA5LTAzIDE5OjA5OjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSAgcnRwbXBhcGF5OiB3aGl0ZXNwYWNlIGZpeGVzCgoyMDA5LTA5LTAzIDE5OjA4OjUzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiB3aGl0ZXNwYWNlIGZpeGVzCgoyMDA5LTA5LTAzIDE3OjMzOjI4ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBBdm9pZCB1bm5lY2Vzc2FyeSBwcm9jZXNzaW5nIHVudGlsIHdlIGhhdmUgYSBmdWxsIHBpY3R1cmUuCgkgIFRoaXMgaXMgZm9yIG5vbi1wYWNrZXRpemVkIG1vZGUsIHdoZW4gd2Uga25vdyB0aGUgdXBzdHJlYW0gc2l6ZSBpbiBieXRlcy4KCjIwMDktMDktMDMgMTQ6NDA6MjAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogZnVsbHkgdXNlIHRhZ3NldHRlciB0byBtYW5hZ2UgdGhlIHRhZ3MuIEZpeGVzICM1NjMyMjEKCSAgVGhlcmUgaXMgbm8gbmVlZCB0byBtYW5hZ2UgYSBzZXBhcmF0ZSB0YWdsaXN0LgoKMjAwOS0wOS0wMyAxNDoxMzo0MyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIHNwZWV4ZW5jOiBzbWFsbCB0YWdsaXN0IGhhbmRsaW5nIGNsZWFudXAKCSAgRG9uJ3QgZXZlbnR1YWx5IGxlYWsgdGhlIGxpc3QgYW5kIGluc3RlYWQgYXNzZXJ0IChsaWtlIGluIG90aGVyIGVsZW1lbnRzKS4KCjIwMDktMDktMDIgMjM6MTI6NDEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBhbHNvIGd1YXJkIHJlc2V0aW5nIHN1YnNjcmliZSBjYWxsYmFjayB3aXRoIGlmZGVmcwoJICBJdCBpcyBjb25kaXRpb25hbHkgc2V0LCBzbyBkbyB0aGUgc2FtZSB3aGVuIHVuc2V0dGluZy4KCjIwMDktMDktMDEgMTU6MDY6NDYgKzAyMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBtYW5hZ2VyOiBGaXhlZCBhIGNvcHkgJiBwYXN0ZSBlcnJvcgoKMjAwOS0wOS0wMSAxMzoyMToyMyArMDIwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cG1hbmFnZXI6IFJlbW92ZWQgdW51c2VkIHZhcmlhYmxlIHByaXYKCSAgVGhlIHZhcmlhYmxlIHByaXYgd2FzIGluaXRpYWxpemVkIGluIGEgbG90IG9mIGZ1bmN0aW9ucyBidXQgdGhlbiBuZXZlcgoJICB1c2VkIGZvciBhbnl0aGluZy4KCjIwMDktMDktMDEgMTM6MDM6NTcgKzAyMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBtYW5hZ2VyOiBBIGxpdHRsZSBjbGVhbiB1cAoJICBNYWtlIHRoZSBjb2RlIGZsb3cgb2YgZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRjcCgpIGFuZAoJICBnc3RfcnRwX3Nlc3Npb25fc3luY19ydGNwKCkgaWRlbnRpY2FsLgoKMjAwOS0wOS0wMSAxMjo0Nzo1MSArMDIwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cG1hbmFnZXI6IE1ha2Ugc3VyZSB0aGF0IHVzZWQgY2FwcyBhcmUgbm90IGZyZWVkIGFscmVhZHkgKHRha2UgMikKCSAgVGhpcyByZWludHJvZHVjZXMgdGhlIGZpeCBmb3IgYnVnICM1OTMzOTEuIEl0IGFsc28gYXBwbGllcyBpdCBpbgoJICBnc3RfcnRwX3Nlc3Npb25fc3luY19ydGNwKCkgd2hpY2ggaGFzIHZlcnkgc2ltaWxhciBjb2RlIHRvCgkgIGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0Y3AoKS4KCjIwMDktMDktMDEgMTI6NDE6MzYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBqaXR0ZXJidWZmZXI6IG1ha2Ugc3VyZSB0aW1lIGRvZXMgbm90IGdvIGJhY2t3YXJkcwoJICBXaGVuIHdlIGNvbnN0cnVjdCBhIHRpbWVzdGFtcCB0aGF0IHdvdWxkIHJlc3VsdCBpbiBhIHRpbWVzdGFtcCB0aGF0IGlzIGVhcmxpZXIKCSAgdGhhbiB3aGVuIHRoZSBwYWNrZXQgd2FzIHJlY2VpdmVkLCByZXNldCB0aGUgc2tldyBjYWxjdWxhdGlvbiBhcyB0aGlzIGlzCgkgIHByb2JhYmx5IGEgc2lnbiB0aGF0IHRoZSBzZW5kZXIgcmVzdGFydGVkIG9yIHBhdXNlZC4KCSAgRml4ZXMgIzU5MzM1NAoKMjAwOS0wOS0wMSAxMTozMjo0MSArMDIwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cG1hbmFnZXI6IFNldCBjYXBzIGluIGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0Y3AoKSBjb3JyZWN0bHkgYWdhaW4KCSAgVGhlIHRlc3QgZm9yIHdoZW4gdG8gc2V0IGFuIFJUQ1AgY2FwcyBvbiB0aGUgb3V0cHV0IHBhZCBpbgoJICBnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydGNwKCkgYWNjaWRlbnRhbGx5IGdvdCBpbnZlcnRlZCBpbiB0aGUgbGFzdCBjb21taXQuCgoyMDA5LTA5LTAxIDEwOjI2OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQWRkIHN1cHBvcnQgZm9yIFFDRUxQIGF1ZGlvCgkgIEZpeGVzIGJ1ZyAjNTkzNzU3LgoKMjAwOS0wOC0zMSAxODoxMDoxMSArMDIwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdG9wLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJICBlZmZlY3R2OiBGaXggY29tcGlsYXRpb24gd2l0aCBnY2MgMwoJICBSZWNlbnQgY2hhbmdlcyBpbiBnc3QtcGx1Z2lucy1nb29kL2dzdC9lZmZlY3R2IHByZXZlbnRzIGl0IGZyb20gYmVpbmcgY29tcGlsZWQKCSAgd2l0aCBnY2MgMy4gVGhlIHByb2JsZW0gaXMgdGhhdCB0aGUgbmV3IGNvZGUgdXNlcyBwcmVwcm9jZXNzb3IgY29uZGl0aW9uYWxzCgkgIHdpdGhpbiBhIG1hY3JvIGNhbGwgd2hpY2ggZG9lcyBub3Qgd29yayB3aXRoIG9sZGVyIHZlcnNpb25zIG9mIGdjYy4KCSAgRml4ZXMgYnVnICM1OTM2ODguCgoyMDA5LTA4LTMxIDE2OjIwOjU5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiBzbWFsbCBjbGVhbi11cHMgaW4gLXNlY3Rpb25zLnR4dAoJICBSZW1vdmUgZHVwbGljYXRlIGVudHJ5IGZvciB3YXJwdHY7IHRoZXJlIGlzIG5vIHRhZ2xpYm11eCBlbGVtZW50LgoKMjAwOS0wOC0yNyAxNTo0Njo1MiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJICBydHBtcDRnZGVwYXk6IGNvbnNpZGVyIChvcHRpb25hbCkgYXV4aWxpYXJ5IGRhdGEgd2hlbiBwYXJzaW5nCgoyMDA5LTA4LTI3IDE1OjQ2OjE1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5Lmg6CgkgIHJ0cG1wNGdkZXBheTogaGFuZGxlIGJyb2tlbiBBVS1JbmRleCBpbiBub24taW50ZXJsZWF2ZWQgc3RyZWFtcwoJICBJbiBjYXNlIG9mIG5vbi1pbnRlcmxlYXZlZCAoPSBzZXF1ZW50aWFsbHkgcGF5bG9hZGVkKSBzdHJlYW1zLAoJICB0aGUgQVUtSW5kZXggc2VydmVzIGxpdHRsZSBwdXJwb3NlICh0aGF0IGlzIG5vdCBhbHJlYWR5IGNvdmVyZWQgYnkKCSAgUlRQIGZpZWxkcykuICAoQnJva2VuKSBQYXlsb2FkZXJzIG1pZ2h0IGNvbnNpZGVyIHRoaXMgZmllbGQgdGhlbgoJICB0byBiZSBkaXNyZWdhcmRlZCBhbmQgaGF2ZSBub24gc3BlYyBjb21wbGlhbnQgdmFsdWVzLCBlLmcuIGVhY2gKCSAgUlRQIHBhY2tldCBoYXZpbmcgQVUtSW5kZXggMiAocmF0aGVyIHRoYW4gMCkuICBBcyBzdWNoLCBlbnN1cmUvZm9yY2UKCSAgc2ltcGxlIHNlcXVlbnRpYWwgc2VuZGluZyBvZiBub24taW50ZXJsZWF2ZWQgc3RyZWFtcy4KCjIwMDktMDgtMTggMTc6MTc6MjggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhbHNvIGV4dHJhY3QgZnR5cCBpbmZvIGluIHB1c2ggbW9kZQoKMjAwOS0wOC0xMyAxNjoxMTo1OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogY29uc2lkZXIgM2dwcCBzdHlsZSB0YWcgcGFyc2luZyBpbiBzb21lIG1vcmUgY2FzZXMKCSAgM0dQUCBzcGVjcyBkZWZpbmUgYSBudW1iZXIgb2YgdGFncyBhbG9uZyB3aXRoIHByZWNpc2UgbGF5b3V0LiBXaGlsZSB0aGVzZQoJICBhcmUgbm9ybWFsbHkgZXhwZWN0ZWQgdG8gYmUgZm91bmQgaW4gYSBjb250YWluZXIgd2hvc2UgbWFqb3IgYnJhbmQgaXMgYQoJICAzR1BQIGJyYW5kLCB0aGlzIG1heSBhbHNvIGhhcHBlbiB3aGVuIGEgM0dQUCBicmFuZCBpcyBvbmx5IG1lbnRpb25lZCBhcyBhCgkgIGNvbXBhdGlibGUgYnJhbmQuICBBcHBseSBzb21lIGNoZWNrcywgaGV1cmlzdGljIGFuZCBmYWxsYmFja3MgdG8gZXh0cmFjdAoJICBzdWNoIHRhZ3MgYXMgd2VsbC4KCjIwMDktMDgtMTEgMTM6NTY6NDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiByZWZsb3cgZXhpdCwgYW5kIGZpeCBzb21lIGxlYWtzCgoyMDA5LTA4LTExIDEzOjU0OjU2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogcHVzaCBtb2RlOyBhZGQgcGFkIGlmIG5lZWRlZCBzbyBkb3duc3RyZWFtIGdldHMgRU9TCgoyMDA5LTA4LTEwIDE2OjE5OjAzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSAgd2F2cGFyc2U6IHB1c2ggbW9kZTsgZml4L2ltcHJvdmUgY2h1bmsgaGFuZGxpbmcKCSAgSGFuZGxlIGxhcmdlLCBpbnZhbGlkIG9yIG90aGVyd2lzZSB1bnVzdWFsIGNodW5rIHNpemVzLgoJICBWZXJpZnkgc29tZSBjaHVuayBzaXplcyB0byBiZSBhdCBsZWFzdCB0aGUgc2l6ZSB0aGV5IGFyZQoJICBleHBlY3RlZCB0byBiZSBhbmQgcm91bmQgdXAgc29tZSBzaXplcyB0byBldmVuIG51bWJlciBmb3IKCSAgZS5nLiBvZmZzZXQgYWRtaW5pc3RyYXRpb24sIHdoaWNoIG11c3QgYWxzbyBiZSBwcm9wZXJseQoJICB0cmFja2VkIGluIHB1c2ggbW9kZS4KCjIwMDktMDgtMDggMjE6NTQ6MDAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiBwdXNoIG1vZGU7IGNhdGVyIGZvciB1bnVzdWFsIGNodW5rIHNpemVzCgoyMDA5LTA4LTMxIDE2OjM0OjE0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiB1c2UgcHJvcGVyIGxvY2tpbmcgZm9yIHBhZHMgYW5kIGNhcHMKCSAgVXNlIHRoZSBzZXNpb24gbG9jayBhbmQgc2hvdGRvd24gdmFyaWFibGUgdG8gcHJvdGVjdCBhbmQgcmVmIHRoZSBwYWRzIHdlIGFyZQoJICBnb2luZyB0byBwdXNoIG9uLgoJICBmaXhlcyAjNTYxODI1CgoyMDA5LTA4LTMxIDE2OjMzOjI2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogd2hpdGVzcGFjZSBmaXhlcwoKMjAwOS0wOC0zMSAxMzozODowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGNsZWFuIHVwIGFkYXB0ZXIgcHJvcGVybHkKCSAgUmVmbG93IGNvZGUgc28gd2UgZG9uJ3QgdHJ5IHRvIGNsZWFyIG9yIHJlLXVzZSBhbiBhbHJlYWR5LWZyZWVkIGFkYXB0ZXIuCgoyMDA5LTA4LTMxIDEzOjA3OjUzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIGZsYWN0YWcsIHdhdnBhcnNlOiBHc3RBZGFwdGVyIGlzIG5vdCBhIEdzdE9iamVjdAoKMjAwOS0wOC0zMSAxMjoyODo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgZG9jczogdXBkYXRlIHBsdWdpbiBkb2NzIHRvIGdpdCB2ZXJzaW9uCgoyMDA5LTA4LTMxIDExOjMyOjM5ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBGaXggdGVzdHMgd2FybmluZyBmcm9tIHNldHRpbmcgYSBOVUxMIGluZGV4CgkgIFNldHRpbmcgYSBudWxsIGluZGV4IGluIHRoZSB0ZXN0cyB3YXMgY2F1c2luZyB3YXJuaW5ncyBieSB1bnJlZmZpbmcKCSAgTlVMTCBwb2ludGVycy4gVGhpcyBpcyBhIGJ1ZyBleHBvc2VkIGJ5IGEgcmVjZW50IGNoYW5nZSBpbiBjb3JlLCBpdAoJICBzZWVtcy4KCjIwMDktMDgtMzEgMTM6MDI6MTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBhZGQgc2xvcGUgZXN0aW1hdGlvbiBjb2RlIGFuZCBkZWJ1ZwoJICBBZGQgc29tZSBjb2RlIHRvIG1lYXN1cmUgdGhlIHNlbmRlciBzcGVlZCB2cyB0aGUgcmVjZWl2ZXIgc3BlZWQuIFRoaXMgY2FuIGJlCgkgIHVzZWQgdG8gZGV0ZWN0IGJ1cnN0cy4KCjIwMDktMDgtMzEgMTI6NTc6MzIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiByZXNldCBza2V3IHdoZW4gdGltZXN0YW1wcyBjaGFuZ2UKCSAgUmVmYWN0b3IgdGhlIGppdHRlcmJ1ZmZlciByZXN5bmMgY29kZS4KCSAgUmVzZXQgdGhlIHNrZXcgY29ycmVjdGlvbiB3aGVuIHdlIGRldGVjdCBhIGJpZyB0aW1lc3RhbXAgZGlzY29udC4KCSAgU2VlICM1OTMzNTQKCjIwMDktMDgtMzEgMTI6NDc6MTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBtYWtlIHN1cmUgdGltZSBuZXZlciBnb2VzIGludmFsaWQKCSAgU2luY2UgdGhlIHNrZXcgY2FuIGJlIG5lZ2F0aXZlLCB3ZSBtaWdodCBlbmQgdXAgd2l0aCBpbnZhbGlkIHRpbWVzdGFtcHMuIENoZWNrCgkgIGZvciBuZWdhdGl2ZSByZXN1bHRzIGFuZCBjbGFtcCB0byAwLgoJICBTZWUgIzU5MzM1NAoKMjAwOS0wOC0zMSAxMjoxNjowMSArMDIwMCAgSmFya2tvIFBhbHZpYWluZW4gPGphcmtrby5wYWx2aWFpbmVuIGF0IHNlc2NhLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSAgdWRwc2luazogQWRkIHR0bCBtdWx0aWNhc3QgcHJvcGVydHkKCSAgQWRkIGEgbmV3IHR0bC1tYyBwcm9wZXJ0eSB0byBjb250cm9sIHRoZSBUVEwgb24gbXVsdGljYXN0IGFkZHJlc3Nlcy4KCSAgRml4ZXMgIzU4ODI0NQoKMjAwOS0wOC0zMSAxMjoxMzowNyArMDIwMCAgSmFya2tvIFBhbHZpYWluZW4gPGphcmtrby5wYWx2aWFpbmVuIGF0IHNlc2NhLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5oOgoJICB1ZHA6IHNwbGl0IG91dCBUVEwgYW5kIGxvb3Agb3B0aW9ucwoJICBTcGxpdCBzZXR0aW5nIHRoZSBUVEwgYW5kIGxvb3AgcGFyYW1ldGVycyBpbiAyIG1ldGhvZHMgYXMgdGhleSBhcmUgbm90IHJlbGF0ZWQuCgkgIEZpeCBzZXR0aW5nIHRoZSBUVEwgY29ycmVjdGx5IGZvciBtdWx0aWNhc3Qgc3RyZWFtcy4KCSAgU2VlICM1ODgyNDUKCjIwMDktMDgtMjcgMTI6MzY6MzcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkgIHJ0cDogd2hpdGVzcGFjZSBmaXhlcwoKMjAwOS0wOC0xNCAxMzo0NToyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgdmlkZW9ib3g6IENvcnJlY3RseSBhZGQgdG8gdGhlIGRvY3MKCjIwMDktMDgtMTQgMTM6NDA6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94Lmg6CgkgIHZpZGVvYm94OiBTcGxpdCBkZWNsYXJhdGlvbnMgaW50byBhIGhlYWRlciBmaWxlIGFuZCBhZGQgYXV0b2Nyb3Agc3R1ZmYgdG8gdGhlIGRvY3MKCjIwMDktMDgtMTQgMTM6MjY6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBSZWNvbmZpZ3VyZSBiYXNldHJhbnNmb3JtIGlmIHNvbWV0aGluZyBjaGFuZ2VzIGFnYWluCgkgIEZvciB0aGlzIGludmVudCBhIG5ldyBsb2NrIGFuZCBkb24ndCBhYnVzZSB0aGUgYmFzZXRyYW5zZm9ybSBsb2NrLAoJICBvdGhlcndpc2Ugd2UnbGwgZW5kIHVwIGluIGRlYWRsb2Nrcy4KCjIwMDktMDgtMTQgMTM6MTU6NTcgKzAyMDAgIFN0ZXBoZW4gSnVuZ2VscyA8c3RlcGhlbkBqdW5nZWxzLm5ldD4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogQWRkIHN1cHBvcnQgZm9yIGF1dG9jcm9wcGluZyBhY2NvcmRpbmcgdG8gdGhlIGNhcHMKCSAgRml4ZXMgYnVnICM1ODIyMzguCgoyMDA5LTA4LTMwIDIxOjU3OjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogTWFrZSBzdXJlIHRoYXQgdXNlZCBjYXBzIGFyZSBub3QgZnJlZWQgYWxyZWFkeQoJICBGaXhlcyBidWcgIzU5MzM5MS4KCjIwMDktMDgtMjYgMTc6MDI6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzoKCSAgcnRwOiBVc2UgbmV3IGdzdF9pdGVyYXRvcl9uZXdfc2luZ2xlKCkgZm9yIHRoZSBpbnRlcm5hbCBsaW5rZWQgcGFkcyBpdGVyYXRpb24KCjIwMDktMDgtMTkgMTY6NTc6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBVc2UgaXRlcmF0ZSBpbnRlcm5hbCBsaW5rcyBpbnN0ZWFkIG9mIGRlcHJlY2F0ZWQgZ2V0IGludGVybmFsIGxpbmtzCgoyMDA5LTA4LTE5IDE2OjQ4OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IFVzZSBpdGVyYXRlIGludGVybmFsIGxpbmtzIGluc3RlYWQgb2YgZGVwcmVjYXRlZCBnZXQgaW50ZXJuYWwgbGlua3MKCjIwMDktMDgtMTkgMTY6Mzc6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cHNzcmNkZW11eDogVXNlIGl0ZXJhdGUgaW50ZXJuYWwgbGlua3MgaW5zdGVhZCBvZiBkZXByZWNhdGVkIGdldCBpbnRlcm5hbCBsaW5rcwoKMjAwOS0wOC0zMCAyMzoyNzowOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIFVwZGF0ZSBjb21tb24KCjIwMDktMDgtMzAgMjM6MjY6NDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGhhY2tpbmcgLT4gMC4xMC4xNi4xCgo9PT0gcmVsZWFzZSAwLjEwLjE2ID09PQoKMjAwOS0wOC0yOSAxMjowNTo0MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFJlbGVhc2UgMC4xMC4xNgoKMjAwOS0wOC0yNiAwMDo1ODo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIDAuMTAuMTUuNSBwcmUtcmVsZWFzZQoKMjAwOS0wOC0yNSAxNjo1MzoyOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBkb24ndCB1c2UgcmVsYXRpdmUgc2Vla3MKCSAgRG9uJ3QgdXNlIHJlbGF0aXZlIHNlZWtzLCBpdCdzIHRvbyBoYXJkIHRvIHRyYWNrIHdoZXJlIHdlIGFyZSBhZnRlciBhIGZsdXNoCgkgIGV0Yy4KCSAgZml4ZXMgIzU5MzAxNQoKMjAwOS0wOC0yNCAxNzo1MDoyOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL0xJTkdVQVM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgMC4xMC4xNS40IHByZS1yZWxlYXNlCgoyMDA5LTA4LTI0IDE2OjIyOjQ3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBkb24ndCBkaXNjYXJkIHRoZSByZXN1bHQgb2YgX3NldF9jYXBzKCkKCSAgVXNlIHRoZSByZXN1bHQgb2YgZ3N0X3BhZF9zZXRfY2FwcygpIGluc3RlYWQgb2YgYXNzdW1pbmcgc3VjY2Vzcy4KCSAgU2VlICM1OTA2NzgKCjIwMDktMDgtMjEgMTE6NDQ6NDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IGFkZCBzdXBwb3J0IGZvciBhZ3NtCgkgIEZpeGVzICM1OTI1MzAKCjIwMDktMDgtMTggMTc6MTY6MTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggcXQgc3R5bGUgc3RyaW5nIHRhZyBleHRyYWN0aW9uCgkgIFFUIHN0eWxlIHRhZ3MgYXJlIHRlc3RlZCBvbiBzdGFydGluZyB3aXRoIChDKSBzeW1ib2wgdXNpbmcgPj4sCgkgIGFuZCAodW5zaWduZWQpIGludCAobWF5KSBoYXZlIGRpZmZlcmVudCA+PiBiZWhhdmlvdXIuCgkgIEZpeGVzICM1OTIyMzIuCgoyMDA5LTA4LTE3IDE1OjQ4OjIwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL3Ntb2tlY29kZWMuYzoKCSAgc21va2VlbmM6IGRvbid0IGNyYXNoIHdoZW4gY29tcGlsZWQgYWdhaW5zdCBsaWJqcGVnNwoJICBTZXQgcGFyYW1ldGVycyBzbyB0aGF0IHdlIGRvbid0IGNyYXNoIHdpdGggbGlianBlZzcuIEJhc2VkIG9uCgkgIFN0ZWZhbiBLb3N0J3MgZml4IGZvciBqcGVnZW5jLiBGaXhlcyAjNTkxOTUxLgoKMjAwOS0wOC0xNCAyMDoxODowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICAwLjEwLjE1LjMgcHJlLXJlbGVhc2UKCjIwMDktMDgtMTQgMTM6NDU6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIGNoZWNrczogYWRkIHRlc3QgZm9yIGxlYWsgdG8gcnRwYmluIHVuaXQgdGVzdAoJICBTZWUgIzU5MTQ3Ni4KCjIwMDktMDgtMTEgMTQ6NDc6MTIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IEZpeCByZWZlcmVuY2UgbGVhawoJICBGaXhlcyAjNTkxNDc2LgoKMjAwOS0wOC0xNCAxMzozNDo1MyArMDEwMCAgWmFoZWVyIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJICBkdmRlYzogc2V0IGJvdHRvbSBmaWVsZCBmaXJzdCBvbiBQQUwgaW50ZXJsYWNlZCBjb250ZW50LCBub3QgdG9wIGZpZWxkIGZpcnN0CgkgIERWIGludGVybGFjZWQgY29udGVudCBpcyBhbHdheXMgYm90dG9tIGZpZWxkIGZpcnN0LiBGaXhlcyAjNTkxNzEyLgoKMjAwOS0wOC0xNCAxMjo0NDowNiArMDEwMCAgSGFucyBkZSBHb2VkZSA8andyZGVnb2VkZUBmZWRvcmFwcm9qZWN0Lm9yZz4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogZml4ICdoYW5nJyB3aXRoIHNvbWUgY2FtZXJhcyBjYXVzZWQgYnkgYmFkIHRpbWVzdGFtcGluZyBpZiBubyBmcmFtZXJhdGUgaXMgYXZhaWxhYmxlCgkgIEZvciBjYW1lcmFzL2RyaXZlcnMgdGhhdCBkb24ndCBzdXBwb3J0IGUuZy4gVklESU9DX0dfUEFSTSB3ZSdkIGVuZCB1cCB3aXRob3V0CgkgIGEgZnJhbWVyYXRlIGFuZCB3b3VsZCB0cnkgdG8gZGl2aWRlIGJ5IDAsIGNhdXNpbmcgcnVuLXRpbWUgd2FybmluZ3MgYW5kIGFsbAoJICBmcmFtZXMgdG8gYmUgdGltZXN0YW1wZWQgd2l0aCAwLCB3aGljaCBtYWtlcyBzaW5rcyB0aGF0IHN5bmMgYWdhaW5zdCB0aGUgY2xvY2sKCSAgZHJvcCB0aGVtLCBjYXVzaW5nICdoYW5ncycgKG9ic2VydmVkIHdpdGggdGhlIHB3YyBkcml2ZXIgYW5kIGEgTG9naXRlY2ggUXVpY2tDYW0KCSAgUHJvIDQwMDApLiBTbyBpZiB3ZSBkbyBub3Qga25vdyB0aGUgZnJhbWVyYXRlLCBzaW1wbHkgZG9uJ3QgYWRqdXN0IHRoZQoJICB0aW1lc3RhbXBzLiBGaXhlcyAjNTkxNDUxLgoKMjAwOS0wOC0xNCAxMDoxMToyNSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogY2xlYXIgZm9ybWF0IGxpc3QgaW4gUkVBRFktPk5VTEwKCSAgQ2xlYXIgZm9ybWF0IGxpc3QgYW5kIHByb2JlZCBjYXBzIHdoZW4gZ29pbmcgdG8gTlVMTCBzbyBpZiBhIG5ldyBkZXZpY2UKCSAgaXMgc2V0IHdlJ2xsIHByb2JlIHRoZSBmb3JtYXRzIGFnYWluIGluc3RlYWQgb2YgdXNpbmcgcHJldmlvdXNseQoJICBkZXRlY3RlZCBvbmVzLiBGaXhlcyBidWcgIzU5MTc0Ny4KCjIwMDktMDgtMTEgMTY6NDI6NTEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgZHRtZnNyYzogRW1wdHkgZXZlbnQgcXVldWUgb24gZmluYWxpemUKCjIwMDktMDgtMTEgMTY6Mzk6NDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBkdG1mOiBVc2UgR1NsaWNlIGZvciBpbnRlcm5hbCBldmVudCBzdHJ1Y3R1cmVzCgoyMDA5LTA4LTExIDE2OjIzOjIwIC0wNDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgcnRwZHRtZnNyYzogQ2xlYW51cCBldmVudHMgb24gZmluYWxpemUKCSAgUHJvYmxlbSBmb3VuZCBieSBMYXVyZW50IEdsYXlhbAoJICBGaXhlcyBidWcgIzU5MTQ0MAoKMjAwOS0wOC0xMSAxNjoyMzoyMCAtMDQwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIHJ0cGR0bWZzcmM6IENsZWFudXAgZXZlbnRzIG9uIGZpbmFsaXplCgkgIFByb2JsZW0gZm91bmQgYnkgTGF1cmVudCBHbGF5YWwKCSAgRml4ZXMgYnVnICM1OTE0NDAKCjIwMDktMDgtMTEgMTc6MzA6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBwby9MSU5HVUFTOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgMC4xMC4xNS4yIHByZS1yZWxlYXNlCgoyMDA5LTA4LTExIDE1OjI1OjM5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1BSU5UQUlORVJTOgoJICBBZGQgbXlzZWxmIHRvIE1BSU5UQUlORVJTIGZpbGUgYW5kIHVwZGF0ZSBXaW0ncyBlLW1haWwuCgoyMDA5LTA4LTExIDAzOjA4OjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJICB2NGwyOiBmaXggbWFrZSBkaXN0Y2hlY2sgYnkgZGlzdGluZyBzb21lIG1vcmUgaGVhZGVycwoKMjAwOS0wOC0xMSAwMjo0MjoxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkgIGRvY3M6IHVwZGF0ZQoKMjAwOS0wOC0xMSAwMjozMTo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy8uZ2l0aWdub3JlOgoJICBNb3ZlIHJ0cG1hbmFnZXIgZnJvbSAtYmFkIHRvIC1nb29kLgoJICBIb29rIHVwIGJ1aWxkIGluZnJhc3RydWN0dXJlIChhdXRvdG9vbHMsIGRvY3MsIHVuaXQgdGVzdCkuCgoyMDA5LTA4LTA2IDE5OjI2OjIxICswMjAwICByaWMgPGNzeG5qdSBhdCBzb2dvdS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiBhdm9pZCBidWZmZXIgbGVhayBvbiBiYWQgc2VxbnVtCgkgIEZpeGVzICM1OTA3OTcKCjIwMDktMDctMjggMTg6MTg6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiBhbGxvdyBmb3IgTlVMTCBjYXBzIG9uIGJ1ZmZlcnMKCSAgQWRkIHRoZSBOVUxMIGNhcHMgY2hlY2sgd2hlcmUgaXQgbWF0dGVycyBhbmQgYWxzbyBjb3ZlciBhbm90aGVyIGNhc2Ugb2YKCSAgcG90ZW50aWFsIE5VTEwgY2Fwcy4KCSAgRml4ZXMgIzU5MDAzMAoKMjAwOS0wNy0yOCAxMTo1OTo1NiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogSW5jb21pbmcgYnVmZmVycyBkbyBub3QgYWx3YXlzIGhhdmUgY2FwcwoKMjAwOS0wNy0yNyAxNTo0NjoyMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogYXZvaWQgZG9pbmcgbGlwLXN5bmMgaW4gQllFCgkgIFdoZW4gd2UgZ2V0IGEgQllFIHBhY2tldCwgZG9uJ3QgZG8gbGlwLXN5bmMgd2l0aCB0aGUgU1IgaW5zaWRlIGJlY2F1c2Ugc29tZQoJICBzZW5kZXJzIGhhdmUgdHJvdWJsZSBjb25zdHJ1Y3RpbmcgdmFsaWQgU1IgcGFja2V0cyBhZnRlciBCWUUuCgoyMDA5LTA3LTI3IDEzOjE3OjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBiaW46IGRvbid0IGRvIGxpcC1zeW5jIGFmdGVyIGEgQllFCgkgIEFmdGVyIGEgQllFIHBhY2tldCBmcm9tIGEgc291cmNlLCBzdG9wIGZvcndhcmRpbmcgdGhlIFNSIHBhY2tldHMgZm9yIGxpcC1zeW5jCgkgIHRvIHJ0cGJpbi4gU29tZSBzZW5kZXJzIGRvbid0IHVwZGF0ZSB0aGVpciBTUiBwYWNrZXRzIGNvcnJlY3RseSBhZnRlciBzZW5kaW5nIGEKCSAgQllFIGFuZCB0aGVuIHdlIGJyZWFrIGxpcC1zeW5jLiBXZSBwcmVmZXIgdG8gbGV0IHRoZSBqaXR0ZXJidWZmZXJzIGRyYWluIHdpdGgKCSAgdGhlIGN1cnJlbnQgbGlwLXN5bmMgaW5zdGVhZC4KCjIwMDktMDctMjcgMTI6NDM6MDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cGJpbjogb25seSByZWNvbnNpZGVyIG9uY2UgZm9yIEJZRQoJICBXaGVuIGl0ZXJhdGluZyB0aGUgc291cmNlcyBvZiBhIEJZRSBwYWNrZXQsIGRvbid0IHNpZ25hbCBhIHJlY29uc2lkZXJhdGlvbiBmb3IKCSAgZWFjaCBvZiB0aGVtIGJ1dCBzaWduYWwgYWZ0ZXIgd2UgaGFuZGxlZCBhbGwgc291cmNlcy4KCjIwMDktMDctMjEgMTU6MzM6NDEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogRnJlZSBjb25mbGljdGluZyBhZGRyZXNzZXMgb24gZmluYWxpemUKCjIwMDktMDctMDEgMTI6NTU6MDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwYmluOiB1c2UgbmV3IG1ldGhvZCBmb3IgbmV0YWRkcmVzcyB0byBzdHJpbmcKCjIwMDktMDYtMjkgMTg6NDg6MzMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHJ0cGJpbjogZG8gYmV0dGVyIGNsZWFudXAgb2YgdGhlIHNyYyBnaG9zdHBhZHMKCSAgQ29ubmVjdCB0byB0aGUgcGFkLXJlbW92ZWQgc2lnbmFsIG9mIHRoZSBwdGRlbXV4IGVsZW1lbnRzIHNvIHRoYXQgd2UgcmVtb3ZlIHRoZQoJICBnaG9zdHBhZHMgZm9yIHRoZW0uIEZpeGVzIGNsZWFudXAgd2hlbiBnb2luZyB0byBOVUxMIGFzIHdlbGwgYXMgd2hlbiByZWxlYXNpbmcKCSAgdGhlIHNpbmtwYWRzLgoJICBGaXhlcyAjNTYxNzUyCgoyMDA5LTA1LTI4IDE5OjA4OjQwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBhZGQgYSBjb21tZW50CgoyMDA5LTA2LTI5IDE2OjM3OjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cGJpbjogYWRkIFNERVMgcHJvcGVydHkKCSAgUmVtb3ZlIGFsbCBpbmRpdmlkdWFsIFNERVMgcHJvcGVydGllcyBhbmQgdXNlIG9uZSBzZGVzIHByb3BlcnR5IHRoYXQgdGFrZXMgYQoJICBHc3RTdHJ1Y3R1cmUgaW5zdGVhZC4gVGhpcyB3aWxsIGFsbG93IHVzIHRvIGFkZCBtb3JlIGN1c3RvbSBzdHVmZiB0byB0aGUgU0RFUwoJICBtZXNzYWdlcyBsYXRlci4KCjIwMDktMDYtMjkgMTY6MjE6MDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBydHBiaW46IGFkZCBTREVTIHByb3BlcnR5IHRoYXQgdGFrZXMgR3N0U3RydWN0dXJlCgkgIFJlbW92ZSBhbGwgaW5kaXZpZHVhbCBTREVTIHByb3BlcnRpZXMgYW5kIHVzZSBvbmUgc2RlcyBwcm9wZXJ0eSB0aGF0IHRha2VzIGEKCSAgR3N0U3RydWN0dXJlIGluc3RlYWQuIFRoaXMgd2lsbCBhbGxvdyB1cyB0byBhZGQgbW9yZSBjdXN0b20gc3R1ZmYgdG8gdGhlIFNERVMKCSAgbWVzc2FnZXMgbGF0ZXIuCgoyMDA5LTA2LTAyIDE3OjQ2OjA4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbWFuYWdlci5jOgoJICBydHBiaW46IHJlbW92ZWQgb2xkIGdzdHJ0cGNsaWVudAoKMjAwOS0wNi0xOSAxOTowOToxOSArMDIwMCAgQnJhbmtvIFN1YmFzaWMgPGJyYW5rby5zdWJhc2ljIGF0IGF4aXMuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW5fYnVmZmVyX2xpc3QuYzoKCSAgcnRwYmluOiBhZGQgc3VwcG9ydCBmb3IgYnVmZmVyLWxpc3QKCSAgQWRkIHN1cHBvcnQgZm9yIHNlbmRpbmcgYnVmZmVyLWxpc3RzLgoJICBBZGQgdW5pdCB0ZXN0IGZvciB0ZXN0aW5nIHRoYXQgdGhlIGJ1ZmZlci1saXN0IHBhc3NlZCB0aHJvdWdoIHJ0cGJpbi4KCSAgZml4ZXMgIzU4NTgzOQoKMjAwOS0wNi0xOSAxNjoyMToyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgTWFrZSBidWlsZCB3aXRob3V0IHdhcm5pbmdzIHdpdGggZGVidWdnaW5nIGRpc2FibGVkCgoyMDA5LTA1LTI4IDE3OjM3OjQ0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBUcmFuc2Zvcm0gdGhlIHJpZ2h0IHNlc3Npb24gc2RlcyBtZXNzYWdlCgkgIEZpeGVzICM1ODQxNjUKCjIwMDktMDUtMjggMTc6MzM6MTAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBBZGQgc3NyYyB0byBhcHBsaWNhdGlvbi94LXJ0cC1zb3VyY2Utc2RlcyBzdHJ1Y3R1cmUKCjIwMDktMDUtMjcgMTE6MDM6MTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291Y2U6IHRoZSBuZXR3b3JrIGFkZHJlc3MgaXMgaW4gbmV0d29yayBvcmRlcgoJICBCcmluZyB0aGUgbmV0d29yayBhZGRyZXNzIGluIG5ldG93a3IgYnl0ZSBvcmRlciB0byB0aGUgaG9zdCBvcmRlci4KCjIwMDktMDUtMjYgMTU6NDA6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiBieXRlc3dhcCB0aGUgcG9ydCBmcm9tIEdzdE5ldEFkZHJlc3MKCSAgU2luY2UgdGhlIHBvcnQgaW4gR3N0TmV0QWRkcmVzcyBpcyBpbiBuZXR3b3JrIG9yZGVyIHdlIG1pZ2h0IG5lZWQgdG8gYnl0ZXN3YXAgaXQKCSAgYmVmb3JlIGFkZGluZyBpdCB0byB0aGUgc291cmNlIHN0YXRpc3RpY3MuCgoyMDA5LTA1LTI1IDEzOjQ2OjI5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogcmVtb3ZlIHB0ZGVtdXggZ2hvc3RwYWRzCgoyMDA5LTA1LTI1IDEzOjMzOjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHRlc3RzOiBhZGQgcmVjZWl2ZSBydHBiaW4gdW5pdCB0ZXN0CgoyMDA5LTA1LTIyIDE2OjQxOjE5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogYWRkIHRvIG5ldyBzaWduYWwgdG8gcmVtb3ZlIFNTUkMgcGFkcwoKMjAwOS0wNS0yMiAxNjozNToyMCArMDIwMCAgQWxpIFNhYmlsIDxhbGkuc2FiaWwgYXQgZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5oOgoJICBzc3JjZGVtdXg6IGVtaXQgc2lnbmFsIHdoZW4gcGFkcyBhcmUgcmVtb3ZlZAoJICBBZGQgYWN0aW9uIHNpZ25hbCB0byBjbGVhciBhbiBTU1JDIGluIHRoZSBzc3JjIGRlbXV4ZXIuCgkgIEFkZCBzaWduYWwgdG8gbm90aWZ5IG9mIHJlbW92ZWQgc3NyYy4KCSAgU2VlICM1NTQ4MzkKCjIwMDktMDUtMjIgMTU6NDU6MTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiB1c2Ugb3VyIGdob3N0cGFkcyBpbnN0ZWFkIG9mIGl0cyB0YXJnZXQKCSAgU2luY2Ugd2Uga2VlcCBhIHJlZmVyZW5jZSB0byBvdXIgZ2hvc3RwYWRzLCB3ZSBjYW4gdXNlIHRoZW0gdG8gdHJhY2sgc2Vzc2lvbnMuCgkgIFRoaXMgYXZvaWQgdXMgaGF2aW5nIHRvIG1lc3Mgd2l0aCB0aGUgdGFyZ2V0IG9mIHRoZSBnaG9zdHBhZC4KCjIwMDktMDUtMjIgMTU6Mzc6MjkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgdGVzdHM6IG1vcmUgcnRwYmluIGNoZWNrcwoKMjAwOS0wNS0yMiAxNTozNjoxNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGRvbid0IHdhcm4gd2hlbiBnZXR0aW5nIHJlcXVlc3QgcGFkcyB0d2ljZQoJICBBbGxvdyBnZXR0aW5nIHRoZSByZXF1ZXN0IHBhZHMgbXVsdGlwbGUgdGltZXMsIGp1c3QgcmV0dXJuIHRoZSBwcmV2aW91c2x5CgkgIGNyZWF0ZWQgcGFkcy4KCjIwMDktMDUtMjIgMTM6NDc6MzAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiBhZGQgUlRQIGFuZCBSVENQIHNvdXJjZSBhZGRyZXNzCgkgIEFkZCB0aGUgUlRQIGFuZCBSVENQIHNlbmRlciBhZGRyZXNzZXMgaW4gdGhlIHN0YXRzIHN0cnVjdHVyZS4KCjIwMDktMDUtMjIgMTM6NDU6MTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHJldXNlIHNvdXJjZSBjb2RlIGZvciBTREVTCgkgIFJldXNlIHRoZSBSVFBTb3VyY2Ugb2JqZWN0IHByb3BlcnR5IGluc3RlYWQgb2YgZHVwbGljYXRpbmcgY29kZS4KCjIwMDktMDUtMjIgMTM6NDQ6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgdGVzdHM6IGFkZCBtb3JlIHJ0cGJpbiB0ZXN0cwoKMjAwOS0wNS0yMiAxMjoyMzoyNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICB0ZXN0czogYWRkIHJ0cGJpbiB1bml0IHRlc3QKCSAgQWRkIHRoZSBiZWdpbm5pbmdzIG9mIGFuIHJ0cGJpbiB1bml0IHRlc3QKCSAgQWRkIHNvbWUgbW9yZSBzdHVmZiB0byAuZ2l0aWdub3JlCgoyMDA5LTA1LTIyIDEyOjIwOjEzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogc2V0IHRhcmdldCBzdGF0ZSBvbiBuZXcgZWxlbWVudHMKCSAgU2V0IHRoZSBzdGF0ZSBvbiBuZXdseSBhZGRlZCBlbGVtZW50cyB0byB0aGUgc3RhdGUgb2YgdGhlIHBhcmVudC4KCSAgQWRkIHNvbWUgZGVidWcgaW5mbyBhbmQgZG8gc29tZSBjbGVhbnVwcwoKMjAwOS0wNS0yMiAxMTo1OToxNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IHVucmVmIHJlcXVlc3RzIHBhZHMgYWZ0ZXIgcmVsZWFzaW5nCgoyMDA5LTA1LTIyIDAxOjQzOjUwICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBJbXBsZW1lbnQgcmVsZWFzaW5nIHRoZSBzdHJlYW1zCgkgIFNlZSAjNTYxNzUyCgoyMDA5LTA1LTIyIDAxOjE2OjExICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBLZWVwIGpiIHNpZ25hbHMgaGFuZGxlcgoJICBLZWVwIHRoZSBzaWduYWwgaGFuZGxlcnMgc28gdGhleSBjYW4gYmUgZGlzY29ubmVjdGVkIGF0IHJlbGVhc2UgdGltZQoJICBTZWUgIzU2MTc1MgoKMjAwOS0wNS0yMiAwMToxMjo1NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IHVzZSB0aGUgcmlnaHQgbG9jayBmb3IgdGhlIHNlc3Npb25zCgkgIFVzZSB0aGUgcmlnaHQgbG9jayB3aGVuIGl0ZXJhdGluZyB0aGUgc2Vzc2lvbnMuCgoyMDA5LTA1LTIyIDAxOjAzOjU1ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBGcmVlIHNlc3Npb24gaWYgcmVxdWVzdCBwYWRzIGFyZSByZWxlYXNlZAoJICBGcmVlIHRoZSBzZXNzaW9uIHdoZW4gYWxsIHRoZSByZXF1ZXN0IHBhZHMgYXJlIHJlbGVhc2VkLgoJICBEb24ndCBtZXNzIHdpdGggdGhlIHNlc3Npb24gbGlzdCBpbiBmcmVlX3Nlc3Npb24gYXMgaXQgaXMgY2FsbGVkIGZyb20gYSBmb3JlYWNoCgkgIG9uIHRoYXQgbGlzdC4KCSAgU2V0IHRoZSBzdGF0ZSBvZiB0aGUgdXBzdHJlYW0gZWxlbWVudCB0byBOVUxMIGZpcnN0LgoJICBTZWUgIzU2MTc1MgoKMjAwOS0wNS0yMiAwMDo1MTo1MyArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogSW1wbGVtZW50IHJlbGFzaW5nIG9mIHRoZSBydHAgcmVjdiBwYWQKCjIwMDktMDUtMjIgMDA6NDQ6NTEgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IEltcGxlbWVudCByZWxlYXNpbmcgb2YgcnRwIHNlbmQgcGFkcwoKMjAwOS0wNS0yMiAwMDozNDozNiArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogSW1wbGVtZW50IHJlbGVhc2Ugb2YgdGhlIHJlY3YgcnRjcCBwYWQKCSAgU2VlICM1NjE3NTIKCjIwMDktMDUtMjIgMDA6MTY6MTkgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IEltcGxlbWVudCByZWxlYXNpbmcgb2YgcnRjcCBzcmMgcGFkCgkgIFNlZSAjNTYxNzUyCgoyMDA5LTA1LTA1IDE2OjQ4OjM3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cHNzcmNkZW11eDogZHJvcCB1bmV4cGVjdGVkIFJUQ1AgcGFja2V0cwoJICBXZSB1c3VhbGx5IG9ubHkgZ2V0IFNSIHBhY2tldHMgaW4gb3VyIGNoYWluIGZ1bmN0aW9uIGJ1dCBpZiBhbiBpbnZhbGlkIHBhY2tldAoJICBjb250YWlucyB0aGUgU1IgcGFja2V0IGFmdGVyIHRoZSBSUiBwYWNrZXQsIHdlIG11c3Qgbm90IGZhaWwgYnV0IHNpbXBseSBpZ25vcmUKCSAgdGhlIG1hbGZvcm1lZCBwYWNrZXQuCgkgIEZpeGVzICM1ODEzNzUKCjIwMDktMDQtMjcgMTE6MDk6MDggKzAyMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdWNlOiBtYWtlIFdBUk5JTkcgaW50byBMT0cKCSAgU2luY2UgbmVpdGhlciBydHBtYW5hZ2VyIG5vciBhbnkgb2YgdGhlIHBheWxvYWRlcnMgcHJvcGVybHkgaW1wbGVtZW50CgkgIHBhZCBhbGxvY2F0aW9uLCB0aGVyZSBpcyBubyB3YXkgZm9yIHRoZSBydHBtYW5hZ2VyIHRvIGluZm9ybSBkb3duc3RyZWFtIGVsZW1lbnRzCgkgIG9mIHRoZSBuZXcgU1NSQyBpZiB0aGVyZSBpcyBhbiBTU1JDIGNvbGxpc2lvbi4gU28gdGhlIHdhcm5pbmcgaXMgZW1pdHRlZCBhbGwgdGhlCgkgIHRpbWUgYW5kIGl0IGlzIGNvbmZ1c2luZy4KCSAgRml4ZXMgIzU4MDE0NAoKMjAwOS0wNC0yNyAxMTowNjowMSArMDIwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IG5vdGlmeSB3aGVuIFNTUkMgY2hhbmdlcwoJICBFbWl0IGEgZ19vYmplY3Rfbm90aWZ5IHdoZW4gdGhlIFNTUmMgY2hhbmdlcyBiZWNhdXNlIG9mIGEgY29sbGlzaW9uLgoJICBGaXhlcyAjNTgwMTQ0CgoyMDA5LTA0LTE3IDE2OjE2OjI5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBqb2luIHRoZSBSVENQIHRocmVhZAoJICBBdm9pZCBhIGNhc2Ugd2hlcmUgYSBqb2luYWJsZSB0aHJlYWQgd291bGQgYmUgbGVmdCB1bmpvaW5lZCwgd2hpY2ggbGVha2VkIHRoZQoJICB0aHJlYWQgc3RydWN0dXJlLgoJICBGaXhlcyAjNTc3MzE4LgoKMjAwOS0wNC0xNSAxODoxNDo0OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHByZXZlbnQgb3ZlcmZsb3cgaW4gRU9TIGVzdGltYXRpb24KCSAgVXNlIGEgZ3VpbnQ2NCBpbnN0ZWFkIG9mIGEgZ3VpbnQgdG8gaG9sZCBhIDY0Yml0IHZhbHVlIHRvIHByZXZlbnQgY29tcGxldGVseQoJICBib2d1ZXMgRU9TIGVzdGltYXRpb24gdmFsdWVzIGR1ZSB0byBvdmVyZmxvd3MuCgoyMDA5LTA0LTE1IDE3OjQ0OjE3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBydHBiaW46IHdlIHNob3VsZCBub3QgcHJvdmlkZSBhIGNsb2NrCgkgIFRoZXJlIGlzIG5vIG5lZWQgdG8gcHJvdmlkZSBhIGNsb2NrLgoKMjAwOS0wNC0xNSAxNzoyODo1NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IG1vcmUgZXN0aW1hdGVkIEVPUyBmaXhlcwoJICBEbyBtb3JlIGFjY3VyYXRlIEVPUyBlc3RpbWF0ZSBhbmQgZ3VhcmQgYWdhaW5zdCBiYWNrd2FyZCB0aW1lc3RhbXBzLgoKMjAwOS0wNC0xNSAxNzoyNTowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHJlbGVhc2UgbG9jayBiZWZvcmUgcHVzaGluZyBFT1MKCSAgTWFrZSBzdXJlIHdlIHJlbGVhc2UgdGhlIGppdHRlcmJ1ZmZlciBsb2NrIGJlZm9yZSB3ZSBzdGFydCBwdXNoaW5nIG91dCBkYXRhCgkgIGJlY2F1c2UgZWxzZSB3ZSBtaWdodCBkZWFkbG9jay4KCjIwMDktMDMtMjcgMTc6NDQ6NTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgcnRwYmluOiBhZGQgb25fbnB0X3N0b3Agc2lnbmFsCgkgIEFkZCB0aGUgb25fbnB0X3N0b3Agc2lnbmFsIHRvIHJ0cGJpbiBhbmQgcnRwaml0dGVyYnVmZmVyIHRvIG5vdGlmeSB0aGUKCSAgYXBwbGljYXRpb24gdGhhdCB0aGUgTlBUIHN0b3AgcG9zaXRpb24gaGFzIGJlZW4gcmVhY2hlZC4KCjIwMDktMDMtMTMgMTU6NTk6MzcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cGJpbjogZG9uJ3QgcmV0dXJuIEZBTFNFIG9uIHNlZWsgZXZlbnRzCgkgIFNpbGVudGx5IGlnbm9yZSB0aGUgc2VlayBldmVudCBpbnN0ZWFkIG9mIHJldHVybmluZyBGQUxTRS4KCjIwMDktMDItMjYgMTM6MTA6MjkgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgZ3N0cnRwYmluOiBEb24ndCBmb3J3YXJkIHJldmMgZXZlbnRzIHRvIHNlbmRlcgoJICBEb24ndCBzZW5kIGV2ZW50cyBmcm9tIHRoZSByZWNlaXZlciB0byB0aGUgc2VuZGVyIHNpZGUuCgkgIEZpeGVzICM1NzI5MDAuCgoyMDA5LTAyLTI1IDExOjQ1OjA1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgZG9jczogdmFyaW91cyBkb2MgZml4ZXMKCSAgTm8gc2hvcnQtZGVzYyBhcyB3ZSBoYXZlIHRoZW0gaW4gdGhlIGVsZW1lbnQgZGV0YWlscy4KCSAgQWxzbyBrZWVwIHRoaW5ncyAoTWFrZWZpbGUuYW0gYW5kIHNlY3Rpb25zLnR4dCkgc29ydGVkLgoJICBSZXdvcmQgYW1iaWdvdXMgcmV0dXJucy4gTm8gdGV4dCBhZnRlciBzaW5jZSBwbGVhc2UuCgoyMDA5LTAxLTIzIDEyOjEzOjAwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzoKCSAgU2VuZCBCWUUgcGFja2V0cyBpbW1lZGlhdGx5IGZvciBzbWFsbCBzZXNzaW9ucwoJICBXaGVuIHRoZSBudW1iZXIgb2YgcGFydGljaXBhbnRzIGlzIGxlc3MgdGhhbiA1MCwgdGhlIFJGQyBhbGxvd3MgZm9yIHNlbmRpbmcgdGhlCgkgIEJZRSBwYWNrZXQgaW1tZWRpYXRseSBpbnN0ZWFkIG9mIHVzaW5nIHRoZSByZWd1bGFyIEJZRSB0aW1lb3V0LgoJICBGaXhlcyAjNTY3ODI4LgoKMjAwOS0wMS0yMiAxMzozMzoxNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBVbmxvY2sgdGhlIGppdHRlcmJ1ZmZlciBiZWZvcmUgcHVzaGluZyBvdXQgdGhlIHBhY2tldC1sb3N0IGV2ZW50cy4gTW92ZSBzb21lIGNvZGUgYmVmb3JlIHdlIGRvIHRoZSB1bmxvY2sgdG8gbWFrZSB0aGUgaml0dGVyYnVmZmVyIHN0YXRlIGNvbnNpc3RlbnQgd2hpbGUgd2UgYXJlIHVubG9ja2VkLgoKMjAwOS0wMS0wMiAxNzo0MDowNiArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogV2hlbiBhbiBTU1JDIGlzIGZvdW5kIG9uIHRoZSBjYXBzIG9mIHRoZSBzZW5kZXIgUlRQLCB1c2UgdGhpcyBhcyB0aGUgaW50ZXJuYWwgU1NSQy4gRml4ZXMgIzU2NTkxMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIChnc3RfcnRwX3Nlc3Npb25fc2V0Y2Fwc19zZW5kX3J0cCksIChjcmVhdGVfc2VuZF9ydHBfc2luayk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fc2V0X2ludGVybmFsX3NzcmMpOgoJICBXaGVuIGFuIFNTUkMgaXMgZm91bmQgb24gdGhlIGNhcHMgb2YgdGhlIHNlbmRlciBSVFAsIHVzZSB0aGlzIGFzIHRoZQoJICBpbnRlcm5hbCBTU1JDLiBGaXhlcyAjNTY1OTEwLgoKMjAwOS0wMS0wMiAxNjo1MDo1MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogUmVuYW1lIGEgbWV0aG9kIHRvIGJldHRlciByZWZsZWN0IHdoYXQgaXQgcmVhbGx5IGRvZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9nZXRjYXBzX3NlbmRfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChjaGVja19jb2xsaXNpb24pLAoJICAocnRwX3Nlc3Npb25fc2NoZWR1bGVfYnllX2xvY2tlZCksIChydHBfc2Vzc2lvbl9zY2hlZHVsZV9ieWUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgUmVuYW1lIGEgbWV0aG9kIHRvIGJldHRlciByZWZsZWN0IHdoYXQgaXQgcmVhbGx5IGRvZXMuCgoyMDA4LTEyLTI5IDE1OjQ5OjM3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBVc2UgbWV0aG9kIHRvIGdldCB0aGUgaW50ZXJuYWwgU1NSQy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAoZ3N0X3J0cF9zZXNzaW9uX2dldGNhcHNfc2VuZF9ydHApOgoJICBVc2UgbWV0aG9kIHRvIGdldCB0aGUgaW50ZXJuYWwgU1NSQy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9wcm9wZXJ0eSksIChydHBfc2Vzc2lvbl9nZXRfcHJvcGVydHkpOgoJICBBZGQgcHJvcGVydHkgdG8gY29uZ2l1cmUgdGhlIGludGVybmFsIFNTUkMgb2YgdGhlIHNlc3Npb24uCgkgIEZpeGVzICM1NjU5MTAuCgoyMDA4LTEyLTI5IDE1OjIxOjU4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiBPbmx5IGNoYW5nZSB0aGUgU1NSQyBvZiB0aGUgc2Vzc2lvbiBhbmQgcmVzZXQgdGhlIGludGVybmFsIHNvdXJjZSB3aGVuIHRoZSBTU1JDIGFjdHVhbGx5Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX3NldF9pbnRlcm5hbF9zc3JjKToKCSAgT25seSBjaGFuZ2UgdGhlIFNTUkMgb2YgdGhlIHNlc3Npb24gYW5kIHJlc2V0IHRoZSBpbnRlcm5hbCBzb3VyY2Ugd2hlbgoJICB0aGUgU1NSQyBhY3R1YWxseSBjaGFuZ2VkLiBTZWUgIzU2NTkxMC4KCjIwMDgtMTItMjkgMTQ6MjE6NDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuKjogV2hlbiBubyBwYXlsb2FkIHdhcyBzcGVjaWZpZWQgb24gdGhlIGNhcHMgYnV0IHRoZXJlIHdhcyBhIGNsb2NrLXJhdGUsIGFzc3VtZSB0aGUgY2xvY2stcmEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2luaXQpLAoJICAocnRwX3NvdXJjZV91cGRhdGVfY2FwcyksIChnZXRfY2xvY2tfcmF0ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIFdoZW4gbm8gcGF5bG9hZCB3YXMgc3BlY2lmaWVkIG9uIHRoZSBjYXBzIGJ1dCB0aGVyZSB3YXMgYSBjbG9jay1yYXRlLAoJICBhc3N1bWUgdGhlIGNsb2NrLXJhdGUgY29ycmVzcG9uZHMgdG8gdGhlIGZpcnN0IHBheWxvYWQgdHlwZSBmb3VuZCBpbiB0aGUKCSAgUlRQIHBhY2tldHMuIEZpeGVzICM1NjU1MDkuCgoyMDA4LTEyLTIzIDExOjM5OjU5ICswMDAwICBBcm5vdXQgVmFuZGVjYXBwZWxsZSA8YXJub3V0QG1pbmQuYmU+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuKjogS2VlcCB0cmFjayBvZiB0aGUgbGFzdCBvdXRnb2luZyB0aW1lc3RhbXAgYW5kIG9mIHRoZSBsYXN0IHNlbmRlci1zaWRlIHRpbWUuICBUaW1lc3QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBcm5vdXQgVmFuZGVjYXBwZWxsZSA8YXJub3V0IGF0IG1pbmQgZG90IGJlPgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfcmVzZXRfc2tldyksCgkgIChjYWxjdWxhdGVfc2tldyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIEtlZXAgdHJhY2sgb2YgdGhlIGxhc3Qgb3V0Z29pbmcgdGltZXN0YW1wIGFuZCBvZiB0aGUgbGFzdCBzZW5kZXItc2lkZQoJICB0aW1lLiAgVGltZXN0YW1wcyBjYW4gb25seSBnbyBmb3J3YXJkIGlmIHRoZXkgZG8gYXQgdGhlIHNlbmRlcgoJICBzaWRlLCBjYW4gb25seSBnbyBiYWNrIGlmIHRoZXkgZG8gYXQgdGhlIHNlbmRlciBzaWRlLCBhbmQgcmVtYWluIHRoZQoJICBzYW1lIGlmIHRoZXkgcmVtYWluIHRoZSBzYW1lIGF0IHRoZSBzZW5kZXIgc2lkZS4gRml4ZXMgIzU2NTMxOS4KCjIwMDgtMTEtMjYgMTI6NDA6MTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IE1ha2Ugb2J0YWluX3NvdXJjZSByZXR1cm4gYW4gYWRpdGlvbmFsIHJlZiBzbyB0aGF0IHdlIGRvbid0IGxvc2Ugb3VyIHJlZiB0byBpdCB3aGVuIGEgc2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAob2J0YWluX3NvdXJjZSksCgkgIChydHBfc2Vzc2lvbl9jcmVhdGVfc291cmNlKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19yciksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NkZXMpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ieWUpOgoJICBNYWtlIG9idGFpbl9zb3VyY2UgcmV0dXJuIGFuIGFkaXRpb25hbCByZWYgc28gdGhhdCB3ZSBkb24ndCBsb3NlIG91ciByZWYKCSAgdG8gaXQgd2hlbiBhIHNlc3Npb24gY2xlYW51cCBvY2N1cnMgd2hlbiB3ZSBhcmUgZW1pdGluZyBhIHNpZ25hbC4KCSAgRW1pdCB0aGUgb25fbmV3X3NzcmMgc2lnbmFsIGZvciB0aGUgQ1NSQywgbm90IHRoZSBTU1JDLgoJICBGaXhlcyAjNTYyMzE5LgoKMjAwOC0xMS0yNiAxMjowMjoyMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBSZXNldCB0aGUgc3luYyBwYXJhbWV0ZXJzIHdoZW4gY2xlYXJpbmcgdGhlIHBheWxvYWQgdHlwZSBtYXAgdG9vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX3Jlc2V0X3N5bmMpLAoJICAoZ3N0X3J0cF9iaW5fY2xlYXJfcHRfbWFwKToKCSAgUmVzZXQgdGhlIHN5bmMgcGFyYW1ldGVycyB3aGVuIGNsZWFyaW5nIHRoZSBwYXlsb2FkIHR5cGUgbWFwIHRvby4KCSAgRml4ZXMgIzU2MjMxMi4KCjIwMDgtMTEtMjYgMTE6NDQ6MzcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uKjogUmVtb3ZlIGEgbG90IG9mIHBlciBzdHJlYW0gc3RhdGUgdGhhdCBpcyBub3QgbmVlZGVkIGFuZCBwYXNzIG5ldyBpbmZvIGluIHRoZSBtZXRob2QgY2FsbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnZXRfY2xpZW50KSwKCSAgKGdzdF9ydHBfYmluX3Jlc2V0X3N5bmMpLCAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKSwKCSAgKGdzdF9ydHBfYmluX2hhbmRsZV9zeW5jKSwgKGNyZWF0ZV9zdHJlYW0pLAoJICAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksIChuZXdfc3NyY19wYWRfZm91bmQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBSZW1vdmUgYSBsb3Qgb2YgcGVyIHN0cmVhbSBzdGF0ZSB0aGF0IGlzIG5vdCBuZWVkZWQgYW5kIHBhc3MgbmV3IGluZm8gaW4KCSAgdGhlIG1ldGhvZCBjYWxsLgoJICBBZGQgc2lnbmFsIHRvIHJlc2V0IHN5bmMgcGFyYW1ldGVycy4KCSAgQXZvaWQgcGFyc2luZyB0aGUgY2FwcyB0byBnZXQgYSBjbG9ja19iYXNlLCB3ZSBnZXQgdGhpcyBmcm9tIHRoZSBzeW5jCgkgIHNpZ25hbCBub3cuCgoyMDA4LTExLTI1IDE1OjEyOjA2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBGaXggZXZlbnQgbGVhay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRjcF9zcmMpOgoJICBGaXggZXZlbnQgbGVhay4KCjIwMDgtMTEtMjIgMTU6MzE6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IEFkZCBwcm9wZXJ0eSB0byBjb25maWd1cmUgdGhlIFJUQ1AgTVRVLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKHJ0cF9zZXNzaW9uX2luaXQpLCAocnRwX3Nlc3Npb25fc2V0X3Byb3BlcnR5KSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9wcm9wZXJ0eSk6CgkgIEFkZCBwcm9wZXJ0eSB0byBjb25maWd1cmUgdGhlIFJUQ1AgTVRVLgoKMjAwOC0xMS0yMiAxNToyNDo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogQWRkIEdfUEFSQU1fU1RBVElDX1NUUklOR1MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAoY29weV9zb3VyY2UpLCAocnRwX3Nlc3Npb25fY3JlYXRlX3NvdXJjZXMpLAoJICAocnRwX3Nlc3Npb25fZ2V0X3Byb3BlcnR5KToKCSAgQWRkIEdfUEFSQU1fU1RBVElDX1NUUklOR1MuCgkgIEFkZCBwcm9wZXJ0eSB0byByZXR1cm4gYSBHVmFsdWVBcnJheSBvZiBhbGwga25vd24gUlRQU291cmNlcyBpbiB0aGUKCSAgc2Vzc2lvbi4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfY2xhc3NfaW5pdCksCgkgIChydHBfc291cmNlX2NyZWF0ZV9zZGVzKSwgKHJ0cF9zb3VyY2Vfc2V0X3Byb3BlcnR5KSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X3Byb3BlcnR5KToKCSAgUmVtb3ZlIHByb3BlcnRpZXMgdG8gc2V0IHRoZSB2YXJpb3VzIFNERVMgaXRlbXMsIGFuIGFwcGxpY2F0aW9uIGlzIG5ldmVyCgkgIHN1cHBvc2VkIHRvIGNoYW5nZSB0aGUgUlRQU291cmNlIGRhdGEuCgkgIENoYW5nZSB0aGUgU0RFUyBnZXR0ZXIgcHJvcGVydGllcyB0byBvbmUgU0RFUyBwcm9wZXJ0eSB0aGF0IHJldHVybnMgYWxsCgkgIFNERVMgaXRlbXMgaW4gYSBHc3RTdHJ1Y3R1cmUuCgoyMDA4LTExLTIyIDEzOjE3OjI0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEFsc28gdW5yZWYgdGhlIHRhcmdldCBwYWQgZm9yIHVua25vd24gcGFkcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9yZWxlYXNlX3BhZCk6CgkgIEFsc28gdW5yZWYgdGhlIHRhcmdldCBwYWQgZm9yIHVua25vd24gcGFkcy4KCjIwMDgtMTEtMjEgMTY6MTc6MjIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogUmVsZWFzZSB0aGUgcmlnaHQgcGFkcyBvbiBydHBiaW4uIEZpeGVzICM1NjE3NTIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9yZWxlYXNlX3BhZCk6CgkgIFJlbGVhc2UgdGhlIHJpZ2h0IHBhZHMgb24gcnRwYmluLiBGaXhlcyAjNTYxNzUyLgoKMjAwOC0xMS0yMCAxODo0MTozNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogUGFzcyB0aGUgcnVubmluZyB0aW1lIHRvIHRoZSBzZXNzaW9uIHdoZW4gcHJvY2Vzc2luZyBSVFAgcGFja2V0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ2V0X2N1cnJlbnRfdGltZXMpLAoJICAocnRjcF90aHJlYWQpLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRwKToKCSAgUGFzcyB0aGUgcnVubmluZyB0aW1lIHRvIHRoZSBzZXNzaW9uIHdoZW4gcHJvY2Vzc2luZyBSVFAgcGFja2V0cy4KCSAgSW1wcm92ZSB0aGUgdGltZSBmdW5jdGlvbiB0byBwcm92aWRlIG1vcmUgaW5mby4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKHJ0cF9zZXNzaW9uX2luaXQpLCAodXBkYXRlX2Fycml2YWxfc3RhdHMpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19zZGVzKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRjcCksIChzZXNzaW9uX3N0YXJ0X3J0Y3ApLAoJICAocnRwX3Nlc3Npb25fb25fdGltZW91dCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBNYXJrIHRoZSBpbnRlcm5hbCBzb3VyY2Ugd2l0aCBhIGZsYWcuCgkgIFVzZSBydW5uaW5nX3RpbWUgaW5zdGVhZCBvZiB0aGUgbW9yZSB1c2VsZXNzIHRpbWVzdGFtcC4KCSAgVmFsaWRhdGUgYSBzb3VyY2Ugd2hlbiBhIHZhbGlkIFNERVMgaGFzIGJlZW4gcmVjZWl2ZWQuCgkgIFBhc3MgdGhlIGN1cnJlbnQgc3lzdGVtIHRpbWUgd2hlbiBwcm9jZXNzaW5nIFNSIHBhY2tldHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2NsYXNzX2luaXQpLAoJICAocnRwX3NvdXJjZV9pbml0KSwgKHJ0cF9zb3VyY2VfY3JlYXRlX3N0YXRzKSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X3Byb3BlcnR5KSwgKHJ0cF9zb3VyY2Vfc2VuZF9ydHApLAoJICAocnRwX3NvdXJjZV9wcm9jZXNzX3JiKSwgKHJ0cF9zb3VyY2VfZ2V0X25ld19yYiksCgkgIChydHBfc291cmNlX2dldF9sYXN0X3JiKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgQWRkIHByb3BlcnR5IHRvIGdldCBzb3VyY2Ugc3RhdHMuCgkgIE1hcmsgcGFyYW1zIGFzIFNUQVRJQ19TVFJJTkdTLgoJICBDYWxjdWxhdGUgdGhlIGJpdHJhdGUgYXQgdGhlIHNlbmRlciBTU1JDLgoJICBBdm9pZCBuZWdhdGl2ZSB2YWx1ZXMgaW4gdGhlIHJvdW5kIHRyaXAgdGltZSBjYWxjdWxhdGlvbnMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgVXBkYXRlIHNvbWUgZG9jcyBhbmQgY2hhbmdlIHNvbWUgdmFyaWFibGUgbmFtZSB0byBtb3JlIGNsb3NlbHkgcmVmbGVjdAoJICB3aGF0IGl0IGNvbnRhaW5zLgoKMjAwOC0xMS0yMCAwODoxOToxNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IEluaXRpYWxpemUgcmV0dXJuIHZhbHVlIHRvIGZpeCBjb21waWxlciB3YXJuaW5nIGFib3V0IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluX3J0Y3ApOgoJICBJbml0aWFsaXplIHJldHVybiB2YWx1ZSB0byBmaXggY29tcGlsZXIgd2FybmluZyBhYm91dCB1bmluaXRpYWxpemVkCgkgIHZhcmlhYmxlLgoKMjAwOC0xMS0xOSAxNjo0ODozOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBNYXJrIHNpZ25hbCBhcmcgYXMgc3RhdGljIHNjb3BlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGFzc19pbml0KToKCSAgTWFyayBzaWduYWwgYXJnIGFzIHN0YXRpYyBzY29wZS4KCjIwMDgtMTEtMTkgMDk6MDY6MjkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogUmVtb3ZlIGludGVybmFsIHN5bmMgcGFkLCB1c2Ugc2lnbmFscyBpbnN0ZWFkIHRvIGdldCBsaXAtc3luYyBub3RpZmljYXRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2Fzc29jaWF0ZSksCgkgIChnc3RfcnRwX2Jpbl9oYW5kbGVfc3luYyksIChjcmVhdGVfc3RyZWFtKSwgKGZyZWVfc3RyZWFtKSwKCSAgKG5ld19zc3JjX3BhZF9mb3VuZCk6CgkgIFJlbW92ZSBpbnRlcm5hbCBzeW5jIHBhZCwgdXNlIHNpZ25hbHMgaW5zdGVhZCB0byBnZXQgbGlwLXN5bmMKCSAgbm90aWZpY2F0aW9ucy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ludGVybmFsX2xpbmtzKSwgKGNyZWF0ZV9ydGNwX3NpbmspLAoJICAocmVtb3ZlX3J0Y3Bfc2luayksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfcmVxdWVzdF9uZXdfcGFkKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9yZWxlYXNlX3BhZCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc2lua19ydGNwX2V2ZW50KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbl9ydGNwKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICBNYWtlIGl0IHBvc3NpYmxlIHRvIHNlbmQgU1IgcGFja2V0cyB0byB0aGUgaml0dGVyYnVmZmVyLgoJICBDaGVjayBpZiB0aGUgU1IgdGltZXN0YW1wcyBhcmUgdmFsaWQgYnkgY29tcGFyaW5nIHRoZW0gdG8gdGhlIFJUUAoJICB0aW1lc3RhbXBzLgoJICBTaWduYWwgdGhlIFNSIHBhY2tldCBhbmQgdGhlIHRpbWluZyBpbmZvcm1hdGlvbiB0byBsaXN0ZW5lcnMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6IChjcmVhdGVfZGVtdXhfcGFkX2Zvcl9zc3JjKSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9ydGNwX2NoYWluKSwgKGdzdF9ydHBfc3NyY19kZW11eF9zcmNfcXVlcnkpOgoJICBSZW1vdmUgc29tZSB1bnVzZWQgY29kZS4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX3Jlc2V0X3NrZXcpLAoJICAoY2FsY3VsYXRlX3NrZXcpLCAocnRwX2ppdHRlcl9idWZmZXJfZ2V0X3N5bmMpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBLZWVwIHRyYWNrIG9mIHRoZSBsYXN0IHNlZW4gUlRQIHRpbWVzdGFtcCBzbyB0aGF0IHdlIGNhbiBmaWx0ZXIgb3V0CgkgIGludmFsaWQgU1IgcGFja2V0cy4KCjIwMDgtMTEtMTcgMTk6NDc6MzIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiBGaXggR1NUX0RFQlVHIGNhbGwgdG8gb25seSBoYXZlIGFzIG1hbnkgYXJndW1lbnRzIGFzIHJlcXVpcmVkIGJ5IHRoZSBmb3JtYXQgc3RyaW5nLiBGaXhlcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKGdldF9jbG9ja19yYXRlKToKCSAgRml4IEdTVF9ERUJVRyBjYWxsIHRvIG9ubHkgaGF2ZSBhcyBtYW55IGFyZ3VtZW50cyBhcyByZXF1aXJlZAoJICBieSB0aGUgZm9ybWF0IHN0cmluZy4gRml4ZXMgYSBjb21waWxlciB3YXJuaW5nLgoKMjAwOC0xMS0xNyAxNToxNzo1MiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBEbyBub3QgdHJ5IHRvIGtlZXAgdHJhY2sgb2YgdGhlIGNsb2NrLXJhdGUgb3Vyc2VsdmVzIGJ1dCBzaW1wbHkgZ2V0IHRoZSB2YWx1ZSBmcm9tIHRoZSBqaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2Fzc29jaWF0ZSksCgkgIChnc3RfcnRwX2Jpbl9zeW5jX2NoYWluKSwgKGNyZWF0ZV9zdHJlYW0pLCAobmV3X3NzcmNfcGFkX2ZvdW5kKToKCSAgRG8gbm90IHRyeSB0byBrZWVwIHRyYWNrIG9mIHRoZSBjbG9jay1yYXRlIG91cnNlbHZlcyBidXQgc2ltcGx5IGdldCB0aGUKCSAgdmFsdWUgZnJvbSB0aGUgaml0dGVyYnVmZmVyLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X3N5bmMpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICBBZGQgc29tZSBkZWJ1ZyBpbmZvLgoJICBQYXNzIHRoZSBjbG9jay1yYXRlIHRvIHRoZSBqaXR0ZXJidWZmZXIuCgkgIEFsc28gcGFzcyB0aGUgY2xvY2stcmF0ZSBhbG9uZyB3aXRoIHRoZSBydHAgdGltZXN0YW1wIHdoZW4gZ2V0dGluZyB0aGUKCSAgc3luYyBwYXJhbWV0ZXJzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfY2hhaW4pOgoJICBGaXggc29tZSBkZWJ1Zy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX3Jlc2V0X3NrZXcpLAoJICAoY2FsY3VsYXRlX3NrZXcpLCAocnRwX2ppdHRlcl9idWZmZXJfZ2V0X3N5bmMpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBLZWVwIHRyYWNrIG9mIGNsb2NrLXJhdGUgY2hhbmdlcyBhbmQgcmV0dXJuIHRoZSBjbG9jay1yYXRlIHRvZ2V0aGVyIHdpdGgKCSAgdGhlIHJ0cCB0aW1lc3RhbXBzIHVzZWQgZm9yIHN5bmMuCgkgIERvbid0IHRyeSB0byBjb25zdHJ1Y3QgdGltZXN0YW1wcyB3aGVuIHdlIGhhdmUgbm8gYmFzZV90aW1lLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAoZ2V0X2Nsb2NrX3JhdGUpOgoJICBSZXF1ZXN0IGEgbmV3IGNsb2NrLXJhdGUgd2hlbiB0aGUgcGF5bG9hZCB0eXBlIGNoYW5nZXMuCgkgIFJlc2V0IHRoZSBqaXR0ZXIgY2FsY3VsYXRpb24gd2hlbiB0aGUgY2xvY2stcmF0ZSBjaGFuZ2VzLgoKMjAwOC0xMS0xMyAxNTo0ODo1NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogU21hbGwgY2xlYW51cHMgYW5kIHNvbWUgbW9yZSBkZWJ1ZyBpbmZvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3NpbmtfcGFyc2VfY2FwcyksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RvcCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfcmVzZXRfc2tldyksCgkgIChjYWxjdWxhdGVfc2tldyk6CgkgIFNtYWxsIGNsZWFudXBzIGFuZCBzb21lIG1vcmUgZGVidWcgaW5mby4KCjIwMDgtMTEtMTAgMTU6MjY6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogQWxzbyBjb25maWd1cmUgdGhlIG5leHQgZXhwZWN0ZWQgb3V0cHV0IHNlcW51bSB3aGVuIHdlIGdldCBhIHNlcW51bS1iYXNlIG9uIHRoZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3BhcnNlX2NhcHMpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKToKCSAgQWxzbyBjb25maWd1cmUgdGhlIG5leHQgZXhwZWN0ZWQgb3V0cHV0IHNlcW51bSB3aGVuIHdlIGdldCBhIHNlcW51bS1iYXNlCgkgIG9uIHRoZSBjYXBzLgoKMjAwOC0xMS0wNCAxMjo0MjozMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgLWJhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2FzcGRpZi9NYWtlZmlsZS5hbToKCSAgKiBleHQvYW1yd2IvTWFrZWZpbGUuYW06CgkgICogZXh0L2FwZXhzaW5rL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hcnRzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hcnRzZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXVkaW9maWxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9iejIvTWFrZWZpbGUuYW06CgkgICogZXh0L2NkYXVkaW8vTWFrZWZpbGUuYW06CgkgICogZXh0L2NlbHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2RjMTM5NC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGlyYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpcmVjdGZiL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXZ4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kdHMvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZhYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZhYWQvTWFrZWZpbGUuYW06CgkgICogZXh0L2dzbS9NYWtlZmlsZS5hbToKCSAgKiBleHQvaGVybWVzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9pdm9yYmlzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qcDJrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkgICogZXh0L2xjcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGliZmFtZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGlibW1zL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXBlZzJlbmMvTWFrZWZpbGUuYW06CgkgICogZXh0L21wbGV4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9tdXNlcGFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXVzaWNicmFpbnovTWFrZWZpbGUuYW06CgkgICogZXh0L215dGh0di9NYWtlZmlsZS5hbToKCSAgKiBleHQvbmFzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9uZW9uL01ha2VmaWxlLmFtOgoJICAqIGV4dC9vZmEvTWFrZWZpbGUuYW06CgkgICogZXh0L3BvbHlwL01ha2VmaWxlLmFtOgoJICAqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc2RsL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zaG91dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc25hcHNob3QvTWFrZWZpbGUuYW06CgkgICogZXh0L3NuZGZpbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdW5kdG91Y2gvTWFrZWZpbGUuYW06CgkgICogZXh0L3NwYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3dmZGVjL01ha2VmaWxlLmFtOgoJICAqIGV4dC90YXJraW4vTWFrZWZpbGUuYW06CgkgICogZXh0L3RoZW9yYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGltaWRpdHkvTWFrZWZpbGUuYW06CgkgICogZXh0L3R3b2xhbWUvTWFrZWZpbGUuYW06CgkgICogZXh0L3gyNjQvTWFrZWZpbGUuYW06CgkgICogZXh0L3hpbmUvTWFrZWZpbGUuYW06CgkgICogZXh0L3h2aWQvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FpZmZwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2J1ZmZlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYmF5ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NkeGFwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY2hhcnQvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NvbG9yc3BhY2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RjY3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmVzdGl2YWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmxhY3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkgICogZ3N0L2dhbWVzL01ha2VmaWxlLmFtOgoJICAqIGdzdC9oMjY0cGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbWl4bWF0cml4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tb2RwbHVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnMXN5cy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZzR2aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWd0c211eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L212ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbnNmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9udXZkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvb3ZlcmxheS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGFzc3Rocm91Z2gvTWFrZWZpbGUuYW06CgkgICogZ3N0L3BjYXBwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGxheW9uZGVtYW5kL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yYXdwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmVhbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRqcGVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zZHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NlbGVjdG9yL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zbW9vdGgvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Ntb290aHdhdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWVkL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zdGVyZW8vTWFrZWZpbGUuYW06CgkgICogZ3N0L3N1YmVuYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdHRhL01ha2VmaWxlLmFtOgoJICAqIGdzdC92YmlkZWMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvZHJvcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9zaWduYWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpcnR1YWxkdWIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZtbmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvYWNtZW5jL01ha2VmaWxlLmFtOgoJICAqIHN5cy9jZHJvbS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL2R2Yi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHhyMy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZmJkZXYvTWFrZWZpbGUuYW06CgkgICogc3lzL29zczQvTWFrZWZpbGUuYW06CgkgICogc3lzL3FjYW0vTWFrZWZpbGUuYW06CgkgICogc3lzL3F0d3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvdmNkL01ha2VmaWxlLmFtOgoJICAqIHN5cy93aW5pbmV0L01ha2VmaWxlLmFtOgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgLWJhZC4KCjIwMDgtMTAtMTYgMTM6MDU6MzcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogRml4IHByb2JsZW0gd2l0aCB1c2luZyB0aGUgb3V0cHV0IHNlcW51bSBjb3VudGVyIHRvIGNoZWNrIGZvciBpbnB1dCBzZXFudW0gZGlzY28uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3BhcnNlX2NhcHMpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0YXJ0KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdG9wKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIEZpeCBwcm9ibGVtIHdpdGggdXNpbmcgdGhlIG91dHB1dCBzZXFudW0gY291bnRlciB0byBjaGVjayBmb3IgaW5wdXQKCSAgc2VxbnVtIGRpc2NvbnRpbnVpdGllcy4KCSAgSW1wcm92ZSBnYXAgZGV0ZWN0aW9uIGFuZCByZWNvdmVyeSwgcmVzZXQgYW5kIGZsdXNoIHRoZSBqaXR0ZXJidWZmZXIgb24KCSAgc2VxbnVtIHJlc3RhcnQuIEZpeGVzICM1NTY1MjAuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9pbnNlcnQpOgoJICBGaXggd3JvbmcgR19MSUtFTFkuCgoyMDA4LTEwLTE2IDA5OjUxOjI4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBJbnN0YWxsIGV2ZW50IGhhbmRsZXIgb24gdGhlIHJ0Y3Bfc3JjIHBhZCwgbWFrZSBMQVRFTkNZIGV2ZW50IHJldHVybgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydGNwX3NyYyksIChjcmVhdGVfc2VuZF9ydGNwX3NyYyk6CgkgIEluc3RhbGwgZXZlbnQgaGFuZGxlciBvbiB0aGUgcnRjcF9zcmMgcGFkLCBtYWtlIExBVEVOQ1kgZXZlbnQgcmV0dXJuCgkgIFRSVUUuCgoyMDA4LTEwLTA3IDE4OjU0OjQxICswMDAwICBIw6V2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDogQWRkIG1hcnNoYWxsZXIgZm9yIG5ldyBhY3Rpb24gc2lnbmFsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEjDpXZhcmQgR3JhZmYgPGhhdmFyZCBkb3QgZ3JhZmYgYXQgdGFuZGJlcmcgZG90IGNvbT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OgoJICBBZGQgbWFyc2hhbGxlciBmb3IgbmV3IGFjdGlvbiBzaWduYWwuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9nZXRfaW50ZXJuYWxfc2Vzc2lvbiksCgkgIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgQWRkIGFjdGlvbiBzaWduYWwgdG8gcmV0cmlldmUgdGhlIGludGVybmFsIFJUUFNlc3Npb24gb2JqZWN0LgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9nZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9zZXNzaW9uX3JlbGVhc2VfcGFkKToKCSAgQWRkIHByb3BlcnR5IHRvIGFjY2VzcyB0aGUgaW50ZXJuYWwgUlRQU2Vzc2lvbiBvYmplY3QuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChjaGVja19jb2xsaXNpb24pOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgQWRkIGFjdGlvbiBzaWduYWwgdG8gcmV0cmlldmUgYW4gUlRQU291cmNlIG9iamVjdCBieSBTU1JDLgoJICBTZWUgIzU1NTM5Ni4KCjIwMDgtMTAtMDcgMTE6MzM6MTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogUmVsZWFzZSBwYWRzIG9mIHRoZSBzZXNzaW9uIG1hbmFnZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZmluZF9zZXNzaW9uX2J5X3BhZCksCgkgIChmcmVlX3Nlc3Npb24pLCAoZ3N0X3J0cF9iaW5fZGlzcG9zZSksIChyZW1vdmVfcmVjdl9ydHApLAoJICAocmVtb3ZlX3JlY3ZfcnRjcCksIChyZW1vdmVfc2VuZF9ydHApLCAocmVtb3ZlX3J0Y3ApLAoJICAoZ3N0X3J0cF9iaW5fcmVsZWFzZV9wYWQpOgoJICBSZWxlYXNlIHBhZHMgb2YgdGhlIHNlc3Npb24gbWFuYWdlci4KCSAgU3RhcnQgaW1wbGVtZW50aW5nIHJlbGVhc2luZyBwYWRzIG9mIGdzdHJ0cGJpbi4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChyZW1vdmVfcmVjdl9ydHBfc2luayksCgkgIChyZW1vdmVfcmVjdl9ydGNwX3NpbmspLCAocmVtb3ZlX3NlbmRfcnRwX3NpbmspLAoJICAocmVtb3ZlX3NlbmRfcnRjcF9zcmMpLCAoZ3N0X3J0cF9zZXNzaW9uX3JlbGVhc2VfcGFkKToKCSAgSW1wbGVtZW50IHJlbGVhc2luZyBwYWRzIGluIGdzdHJ0cHNlc3Npb24uCgoyMDA4LTEwLTA3IDEwOjAyOjIwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IE9ubHkgdXBkYXRlIHRoZSBzZXFudW0tYmFzZSB3aGVuIGl0IHdhcyBub3QgYWxyZWFkeSBjb25maWd1cmVkIGZvciB0aGUgc3RyZWFtcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3BhcnNlX2NhcHMpOgoJICBPbmx5IHVwZGF0ZSB0aGUgc2VxbnVtLWJhc2Ugd2hlbiBpdCB3YXMgbm90IGFscmVhZHkgY29uZmlndXJlZCBmb3IgdGhlCgkgIHN0cmVhbXMuCgoyMDA4LTA5LTMwIDE1OjA4OjUyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiBSZWYgdGhlIHJ0cHNvdXJjZSBvYmplY3QgYmVmb3JlIHdlIHJlbGVhc2UgdGhlIHNlc3Npb24gbG9jayB3aGVuIHdlIGVtaXQgdGhlIHNpZ25hbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKG9uX25ld19zc3JjKSwgKG9uX3NzcmNfY29sbGlzaW9uKSwKCSAgKG9uX3NzcmNfdmFsaWRhdGVkKSwgKG9uX3NzcmNfYWN0aXZlKSwgKG9uX3NzcmNfc2RlcyksCgkgIChvbl9ieWVfc3NyYyksIChvbl9ieWVfdGltZW91dCksIChvbl90aW1lb3V0KSwgKG9uX3NlbmRlcl90aW1lb3V0KToKCSAgUmVmIHRoZSBydHBzb3VyY2Ugb2JqZWN0IGJlZm9yZSB3ZSByZWxlYXNlIHRoZSBzZXNzaW9uIGxvY2sgd2hlbiB3ZSBlbWl0CgkgIHRoZSBzaWduYWxzLgoKMjAwOC0wOS0yMyAxODoxMzozMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogRml4IHNvbWUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9pbnNlcnQpLAoJICAocnRwX2ppdHRlcl9idWZmZXJfZ2V0X3N5bmMpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKG9uX3NlbmRlcl90aW1lb3V0KSwKCSAgKHNlc3Npb25fY2xlYW51cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIEZpeCBzb21lIGRvY3MuCgoyMDA4LTA5LTE3IDEzOjU5OjIxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIEZpeCBjb21waWxlciB3YXJuaW5ncyBvbiBPUy9YCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzogKGphY2tfcHJvY2Vzc19jYik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChjYWxjdWxhdGVfc2tldyk6CgkgIEZpeCBjb21waWxlciB3YXJuaW5ncyBvbiBPUy9YCgoyMDA4LTA5LTEzIDAxOjM3OjUwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IERvIG5vdCB0cnkgdG8gYWRqdXN0IHRoZSBvZmZzZXQgb2Ygc3RyZWFtcyBmb3Igd2hpY2ggd2UgaGF2ZSBub3QgeWV0IHNlZW4gYW4gU1IgcGFja2V0LiBBLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3Nlc3Npb24pLAoJICAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKSwgKGdzdF9ydHBfYmluX3N5bmNfY2hhaW4pOgoJICBEbyBub3QgdHJ5IHRvIGFkanVzdCB0aGUgb2Zmc2V0IG9mIHN0cmVhbXMgZm9yIHdoaWNoIHdlIGhhdmUgbm90IHlldAoJICBzZWVuIGFuIFNSIHBhY2tldC4gQXZvaWRzIGxhcmdlIHRzLW9mZnNldHMgaW4gc29tZSBjYXNlcy4KCjIwMDgtMDktMDUgMTM6NTI6MzQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uKjogQWRkIHNpZ25hbCB0byBub3RpZnkgbGlzdGVuZXJzIHdoZW4gYSBzZW5kZXIgYmVjb21lcyBhIHJlY2VpdmVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKG9uX3NlbmRlcl90aW1lb3V0KSwKCSAgKGNyZWF0ZV9zZXNzaW9uKSwgKGdzdF9ydHBfYmluX2Fzc29jaWF0ZSksCgkgIChnc3RfcnRwX2Jpbl9zeW5jX2NoYWluKSwgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9iaW5fcmVxdWVzdF9uZXdfcGFkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgQWRkIHNpZ25hbCB0byBub3RpZnkgbGlzdGVuZXJzIHdoZW4gYSBzZW5kZXIgYmVjb21lcyBhIHJlY2VpdmVyLgoJICBUd2VhayBsaXAtc3luYyBjb2RlLCBkb24ndCBzdG9yZSBvdXIgb3duIGNvcHkgb2YgdGhlIHRzLW9mZnNldCBvZiB0aGUKCSAgaml0dGVyYnVmZmVyLCBkb24ndCBhZGp1c3Qgc3luYyBpZiB0aGUgY2hhbmdlIGlzIGxlc3MgdGhhbiA0bXNlYy4KCSAgR2V0IHRoZSBSVFAgdGltZXN0YW1wIDwtPiBHU3RyZWFtZXIgdGltZXN0YW1wIHJlbGF0aW9uIGRpcmVjdGx5IGZyb20KCSAgdGhlIGppdHRlcmJ1ZmZlciBpbnN0ZWFkIG9mIG91ciBpbmFjY3VyYXRlIHZlcnNpb24gZnJvbSB0aGUgc291cmNlLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRfc3luYyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgIEFkZCBHX0xJS0VMWSBtYWNyb3MsIHVzZSBnbG9iYWwgZGVmaW5lcyBmb3IgbWF4IHBhY2tldCByZW9yZGVyIGFuZAoJICBkcm9wb3V0cy4KCSAgUmVzZXQgdGhlIGppdHRlcmJ1ZmZlciBjbG9jayBza2V3IGRldGVjdGlvbiB3aGVuIHBhY2tldHMgc2VxbnVtcyBhcmUKCSAgY2hhbmdlZCB1bmV4cGVjdGVkbHkuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAob25fc2VuZGVyX3RpbWVvdXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgQWRkIHNlbmRlciB0aW1lb3V0IHNpZ25hbC4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX3Jlc2V0X3NrZXcpLAoJICAoY2FsY3VsYXRlX3NrZXcpLCAocnRwX2ppdHRlcl9idWZmZXJfaW5zZXJ0KSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX2dldF9zeW5jKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgQWRkIHNvbWUgR19MSUtFTFkgbWFjcm9zLgoJICBLZWVwIHRyYWNrIG9mIHRoZSBleHRlbmRlZCBSVFAgdGltZXN0YW1wIHNvIHRoYXQgd2UgY2FuIHJlcG9ydCB0aGUgUlRQCgkgIHRpbWVzdGFtcCA8LT4gR1N0cmVhbWVyIHRpbWVzdGFtcCByZWxhdGlvbiBmb3IgbGlwLXN5bmMuCgkgIFJlbW92ZSBzZXJ2ZXIgdGltZXN0YW1wIGdhcCBkZXRlY3Rpb24gY29kZSwgdGhlIHNlcnZlciBjYW4gc29tZXRpbWVzCgkgIG1ha2UgYSBodWdlIGdhcCBpbiB0aW1lc3RhbXBzICh0YWxrIHNwdXJ0cywuLi4pIHNlZSAjNTQ5Nzc0LgoJICBEZXRlY3QgdGltZXRhbXAgd2VpcmRuZXNzIGluc3RlYWQgYnkgb2JzZXJ2aW5nIHRoZSBzZW5kZXIvcmVjZWl2ZXIKCSAgdGltZXN0YW1wIHJlbGF0aW9uIGFuZCByZXN5bmMgaWYgaXQgY2hhbmdlcyBtb3JlIHRoYW4gMSBzZWNvbmQuCgkgIEFkZCBtZXRob2QgdG8gcmVwb3J0IGFib3V0IHRoZSBjdXJyZW50IHJ0cCA8LT4gZ3N0IHRpbWVzdGFtcCByZWxhdGlvbgoJICB3aGljaCBpcyBuZWVkZWQgZm9yIGxpcC1zeW5jLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAob25fc2VuZGVyX3RpbWVvdXQpLCAoY2hlY2tfY29sbGlzaW9uKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLAoJICAoc2Vzc2lvbl9jbGVhbnVwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIEFkZCBzZW5kZXIgdGltZW91dCBzaWduYWwuCgkgIFJlbW92ZSBpbmFjY3VyYXRlIHJ0cCA8LT4gZ3N0IHRpbWVzdGFtcCByZWxhdGlvbiBjb2RlLCB0aGUKCSAgaml0dGVyYnVmZmVyIGNhbiBub3cgZG8gYW4gYWNjdXJhdGUgcmVwb3J0aW5nIGFib3V0IHRoaXMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2luaXQpLAoJICAocnRwX3NvdXJjZV91cGRhdGVfY2FwcyksIChjYWxjdWxhdGVfaml0dGVyKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBSZW1vdmUgaW5hY2N1cmF0ZSBydHAgPC0+IGdzdCB0aW1lc3RhbXAgcmVsYXRpb24gY29kZS4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBEZWZpbmUgZ2xvYmFsIG1heC1yZW9yZGVyIGFuZCBtYXgtZHJvcG91dCBjb25zdGFudHMgZm9yIHVzZSBpbiB2YXJpb3VzCgkgIHN1YnN5c3RlbXMuCgoyMDA4LTA4LTI4IDE1OjIxOjQ1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBTZW5kIEVPUyB3aGVuIHRoZSBzZXNzaW9uIG9iamVjdCBpbnN0cnVjdHMgdXMgdG8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0Y3ApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspOgoJICBTZW5kIEVPUyB3aGVuIHRoZSBzZXNzaW9uIG9iamVjdCBpbnN0cnVjdHMgdXMgdG8uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fb25fdGltZW91dCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBNYWtlIGl0IHBvc3NpYmxlIGZvciB0aGUgc2Vzc2lvbiBtYW5hZ2VyIHRvIGluc3RydWN0IHVzIHRvIHNlbmQgRU9TLiBXZQoJICBjdXJyZW50bHkgd2lsbCBFT1Mgd2hlbiB0aGUgc2Vzc2lvbiBpcyBhIHNlbmRlciBhbmQgd2hlbiB0aGUgc2VuZGVyIHBhcnQKCSAgZ29lcyBFT1MuIFRoaXMgaXMgbm90IGVudGlyZWx5IGNvcnJlY3QgYmVoYXZpb3VyIGJlY2F1c2UgdGhlIHNlc3Npb24KCSAgY291bGQgc3RpbGwgcGFydGljaXBhdGUgYXMgYSByZWNlaXZlci4KCSAgRml4ZXMgIzU0OTQwOS4KCjIwMDgtMDgtMTMgMTQ6MzE6MDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogUmVzZXQgcnRwIHRpbWVzdGFtcCBpbnRlcnBvbGxhdGlvbiB3aGVuIHdlIGRldGVjdCBhIGdhcCB3aGVuIHRoZSBjbG9ja19iYXNlIGNoYW5nZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKSwKCSAgKGdzdF9ydHBfYmluX3N5bmNfY2hhaW4pLCAobmV3X3NzcmNfcGFkX2ZvdW5kKToKCSAgUmVzZXQgcnRwIHRpbWVzdGFtcCBpbnRlcnBvbGxhdGlvbiB3aGVuIHdlIGRldGVjdCBhIGdhcCB3aGVuIHRoZQoJICBjbG9ja19iYXNlIGNoYW5nZWQuCgkgIERvbid0IHRyeSB0byBhZGp1c3QgdGhlIHRzLW9mZnNldCB3aGVuIGl0J3MgdG9vIGJpZyAoPiAzc2Vjb25kcykKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fc2V0X3NzcmMpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgQWRkIG1ldGhvZCB0byBzZXQgc2Vzc2lvbiBTU1JDLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKGNoZWNrX2NvbGxpc2lvbiksCgkgIChydHBfc2Vzc2lvbl9zZXRfaW50ZXJuYWxfc3NyYyksIChydHBfc2Vzc2lvbl9nZXRfaW50ZXJuYWxfc3NyYyksCgkgIChydHBfc2Vzc2lvbl9vbl90aW1lb3V0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIEFkZGVkIGRlYnVnZ2luZyBmb3IgdGhlIGNvbGxpc2lvbiBjaGVja3MuCgkgIEFkZCBtZXRob2QgdG8gY2hhbmdlIHRoZSBpbnRlcm5hbCBTU1JDIG9mIHRoZSBzZXNzaW9uLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9wcm9jZXNzX3J0cCk6CgkgIFJlc2V0IHRoZSBjbG9jayBiYXNlIHdoZW4gd2UgZGV0ZWN0IGxhcmdlIGp1bXBzIGluIHRoZSBzZXFudW1zLgoKMjAwOC0wOC0xMSAwNzoyMDoxNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IFByaW50IHRoZSBwYWQtbmFtZSBpbiBkZWJ1ZyBsb2cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBQcmludCB0aGUgcGFkLW5hbWUgaW4gZGVidWcgbG9nLgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jOgoJICBVc2UgIi0iIGluc3RlYWQgb2YgIl8iIGluIHByb3BlcnR5IG5hbWVzLiBDYW4gd2UgY2FsbCB0aGVtIGp1c3QKCSAgImRldmljZSIgbGlrZSBldmVyeXdoZXJlIGVsc2U/CgoyMDA4LTA4LTA1IDA5OjQyOjUzICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IE1ha2UgdGhlIGJ1ZmZlciBtZXRhZGF0YSB3cml0YWJsZSBiZWZvcmUgaW5zZXJ0aW5nIGl0IGluIHRoZSBqaXR0ZXJidWZmZXIgYmVjYXVzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBNYWtlIHRoZSBidWZmZXIgbWV0YWRhdGEgd3JpdGFibGUgYmVmb3JlIGluc2VydGluZyBpdCBpbiB0aGUKCSAgaml0dGVyYnVmZmVyIGJlY2F1c2UgdGhlIGppdHRlcmJ1ZmZlciB3aWxsIG1vZGlmeSB0aGUgdGltZXN0YW1wcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgVXBkYXRlIG1ldGhvZCBjb21tZW50IGFib3V0IHJlcXVpcmluZyB3cml0YWJsZSBtZXRhZGF0YSBvbiBidWZmZXJzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydGNwKToKCSAgTWFrZSB0aGUgUlRDUCBidWZmZXIgbWV0YWRhdGEgd3JpdGFibGUgYmVjYXVzZSB3ZSB3YW50IHRvIG1vZGlmeSB0aGUKCSAgbWV0YWRhdGEuCgkgIEZpeGVzICM1NDYzMTIuCgoyMDA4LTA4LTA1IDA5OjAwOjUwICswMDAwICBIw6V2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IEZpeCBkZWJ1ZyBieSBsb2dnaW5nIHRoZSByaWdodCBzZXFudW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSMOldmFyZCBHcmFmZiA8aGF2YXJkIGRvdCBncmFmZiBhdCB0YW5kYmVyZyBkb3QgY29tPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKToKCSAgRml4IGRlYnVnIGJ5IGxvZ2dpbmcgdGhlIHJpZ2h0IHNlcW51bS4KCjIwMDgtMDgtMDUgMDg6NTg6MjcgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogUmVsZWFzZSBsb2NrIGJlZm9yZSBlbWl0dGluZyB0aGUgcmVxdWVzdC1wdC1tYXAgc2lnbmFsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ2V0X3B0X21hcCk6CgkgIFJlbGVhc2UgbG9jayBiZWZvcmUgZW1pdHRpbmcgdGhlIHJlcXVlc3QtcHQtbWFwIHNpZ25hbC4KCSAgRml4ZXMgIzU0MzQ4MC4KCjIwMDgtMDctMDMgMTQ6NDQ6NTEgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBDb3JyZWN0ZWQgYSB0eXBvIChpbnRlcnBvbGxhdGUgLT4gaW50ZXJwb2xhdGUpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBDaGFuZ2VMb2c6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2dldF9uZXdfc3IpOgoJICBDb3JyZWN0ZWQgYSB0eXBvIChpbnRlcnBvbGxhdGUgLT4gaW50ZXJwb2xhdGUpLgoKMjAwOC0wNy0wMyAxNDozMToxMCArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IENoYW5nZWQgc29tZSBHU1RfREVCVUcoKSB0byBHU1RfTE9HKCkgdG8gcmVkdWNlIHRoZSBzcGFtIHdoZW4gYSBwaXBlbGluZSBpcyBydW5uaW5nIG5vcm1hbGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRwKSwgKGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0Y3ApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3N5bmNfcnRjcCksIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRjcCksIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fc2VuZF9ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHNvdXJjZV9wdXNoX3J0cCksCgkgIChydHBfc2Vzc2lvbl9zZW5kX3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChwdXNoX3BhY2tldCksIChjYWxjdWxhdGVfaml0dGVyKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19ydHApLCAocnRwX3NvdXJjZV9zZW5kX3J0cCk6CgkgIENoYW5nZWQgc29tZSBHU1RfREVCVUcoKSB0byBHU1RfTE9HKCkgdG8gcmVkdWNlIHRoZSBzcGFtIHdoZW4gYQoJICBwaXBlbGluZSBpcyBydW5uaW5nIG5vcm1hbGx5LgoKMjAwOC0wNy0wMyAxMzo0NzoxOSArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IERvIG5vdCBtaXggdGhlIHVzZSBvZiBnX2dldF9jdXJyZW50X3RpbWUoKSB3aXRoIGdzdF9jbG9ja19nZXRfdGltZSgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25faW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZmluYWxpemUpLCAocnRjcF90aHJlYWQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRwKSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0Y3ApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3NlbmRfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChjaGVja19jb2xsaXNpb24pLAoJICAodXBkYXRlX2Fycml2YWxfc3RhdHMpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydGNwKSwgKHJ0cF9zZXNzaW9uX3NlbmRfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX3NlbmRfYnllX2xvY2tlZCksIChydHBfc2Vzc2lvbl9zZW5kX2J5ZSksCgkgIChydHBfc2Vzc2lvbl9uZXh0X3RpbWVvdXQpLCAoc2Vzc2lvbl9yZXBvcnRfYmxvY2tzKSwgKHNlc3Npb25fY2xlYW51cCksCgkgIChpc19ydGNwX3RpbWUpLCAocnRwX3Nlc3Npb25fb25fdGltZW91dCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBEbyBub3QgbWl4IHRoZSB1c2Ugb2YgZ19nZXRfY3VycmVudF90aW1lKCkgd2l0aCBnc3RfY2xvY2tfZ2V0X3RpbWUoKS4KCjIwMDgtMDYtMTYgMDc6MzA6MzQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEZpbmFsIHJvdW5kIG9mIGRvYyB1cGRhdGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJICAqIHN5cy93aW5pbmV0L2dzdHdpbmluZXRzcmMuYzoKCSAgRmluYWwgcm91bmQgb2YgZG9jIHVwZGF0ZXMuCgoyMDA4LTA2LTE2IDA3OjAzOjU4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvOiBNb3JlIGRvYyB1cGRhdGVzLiBNb3JlIHhyZWZzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICAqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgTW9yZSBkb2MgdXBkYXRlcy4gTW9yZSB4cmVmcy4KCjIwMDgtMDYtMTIgMTQ6NDk6MTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIERvIG5vdCB1c2Ugc2hvcnRfZGVzY3JpcHRpb24gaW4gc2VjdGlvbiBkb2NzIGZvciBlbGVtZW50cy4gV2UgZXh0cmFjdCB0aGVtIGZyb20gZWxlbWVudCBkZXRhaWxzIGFuZCB0aGVyZSB3aWxsIGJlIHdhci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2RlYy5jOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSAgKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5jOgoJICAqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzoKCSAgKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuYzoKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJICBEbyBub3QgdXNlIHNob3J0X2Rlc2NyaXB0aW9uIGluIHNlY3Rpb24gZG9jcyBmb3IgZWxlbWVudHMuIFdlIGV4dHJhY3QKCSAgdGhlbSBmcm9tIGVsZW1lbnQgZGV0YWlscyBhbmQgdGhlcmUgd2lsbCBiZSB3YXJuaW5ncyBpZiB0aGV5IGRpZmZlci4KCSAgQWxzbyBmaXhpbmcgdXAgdGhlIENoYW5nZUxvZyBvcmRlci4KCjIwMDgtMDYtMDYgMTM6MDE6MDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogRml4IGRlYWRsb2NrIHdoZW4gc2h1dHRpbmcgZG93biwgdXNlIGEgbmV3IGxvY2sgaW5zdGVhZCB0byBwcm9wZXJseSBzaHV0ZG93bi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9pbml0KSwKCSAgKGdzdF9ydHBfYmluX2ZpbmFsaXplKSwgKGdzdF9ydHBfYmluX2NoYW5nZV9zdGF0ZSk6CgkgIEZpeCBkZWFkbG9jayB3aGVuIHNodXR0aW5nIGRvd24sIHVzZSBhIG5ldyBsb2NrIGluc3RlYWQgdG8gcHJvcGVybHkKCSAgc2h1dGRvd24uCgoyMDA4LTA1LTI3IDE2OjQ4OjEwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEJyZWFrIG91dCBvZiBjYWxsYmFja3Mgd2hlbiB3ZSBhcmUgc2h1dHRpbmcgZG93bi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIChnc3RfcnRwX2Jpbl9wcm9wYWdhdGVfcHJvcGVydHlfdG9faml0dGVyYnVmZmVyKSwKCSAgKGdzdF9ydHBfYmluX2NoYW5nZV9zdGF0ZSksIChuZXdfcGF5bG9hZF9mb3VuZCksCgkgIChuZXdfc3NyY19wYWRfZm91bmQpOgoJICBCcmVhayBvdXQgb2YgY2FsbGJhY2tzIHdoZW4gd2UgYXJlIHNodXR0aW5nIGRvd24uCgkgIE1ha2Ugc3VyZSBubyBzdGF0ZSBjaGFuZ2VzIGNhbiBoYXBwZW4gd2hlbiB3ZSByZWNvbmZpZ3VyZS4KCjIwMDgtMDUtMjYgMTA6MDk6MjkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogV2hlbiBjaGVja2luZyB0aGUgc2VxbnVtLCByZXNldCB0aGUgaml0dGVyYnVmZmVyIGlmIHRoZSBnYXAgaXMgdG9vIGJpZywgd2UgbmVlZCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBXaGVuIGNoZWNraW5nIHRoZSBzZXFudW0sIHJlc2V0IHRoZSBqaXR0ZXJidWZmZXIgaWYgdGhlIGdhcCBpcyB0b28gYmlnLAoJICB3ZSBuZWVkIHRvIGRvIHRoaXMgc28gdGhhdCB3ZSBjYW4gYmV0dGVyIGhhbmRsZSBhIHJlc3RhcnRlZCBzb3VyY2UuCgkgIEZpeCBzb21lIGNvbW1lbnRzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAoY2FsY3VsYXRlX3NrZXcpLAoJICAocnRwX2ppdHRlcl9idWZmZXJfaW5zZXJ0KToKCSAgVHdlYWsgdGhlIHNrZXcgcmVzeW5jIGRpZmYuCgkgIFVzZSBvdXIgd29ya2luZyBzZXFudW0gY29tcGFyZSBmdW5jdGlvbiBpbiAtYmFzZS4KCSAgUmV3b3JrIHRoZSBqaXR0ZXJidWZmZXIgaW5zZXJ0IGNvZGUgdG8gbWFrZSBpdCBjbGVhcmVyIGFuZCBtb3JlCgkgIHBlcmZvcm1hbnQgYnkgb25seSByZXRyaWV2aW5nIHRoZSBzZXFudW0gb2YgdGhlIGlucHV0IGJ1ZmZlciBvbmNlIGFuZCBieQoJICBhZGRpbmcgc29tZSBHX0xJS0VMWSBjb21waWxlciBoaW50cy4KCSAgSW1wcm92ZSBkZWJ1Z2dpbmcgZm9yIGR1cGxpY2F0ZSBwYWNrZXRzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9wcm9jZXNzX3J0cCk6CgkgIEZpeCBhIGNvbW1lbnQsIHdlIGRvbid0IGRvIHNrZXcgY29ycmVjdGlvbiBoZXJlLi4KCjIwMDgtMDUtMjYgMTA6MDA6MjQgKzAwMDAgIEjDpXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogUHJvcGFnYXRlIHRoZSBkby1sb3N0IGFuZCBsYXRlbmN5IHByb3BlcnRpZXMgdG8gdGhlIGppdHRlcmJ1ZmZlcnMgd2hlbiB0aGV5IGFyZSBjaGFuZ2VkIG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBIw6V2YXJkIEdyYWZmIDxoYXZhcmQgZG90IGdyYWZmIGF0IHRhbmRiZXJnIGRvdCBjb20+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIChnc3RfcnRwX2Jpbl9wcm9wYWdhdGVfcHJvcGVydHlfdG9faml0dGVyYnVmZmVyKSwKCSAgKGdzdF9ydHBfYmluX3NldF9wcm9wZXJ0eSk6CgkgIFByb3BhZ2F0ZSB0aGUgZG8tbG9zdCBhbmQgbGF0ZW5jeSBwcm9wZXJ0aWVzIHRvIHRoZSBqaXR0ZXJidWZmZXJzIHdoZW4KCSAgdGhleSBhcmUgY2hhbmdlZCBvbiBydHBiaW4uCgoyMDA4LTA1LTI2IDA5OjU3OjQwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgRG9uJ3QgdXNlIF9nc3RfcGFkKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL3N3aXRjaC9zd2l0Y2hlci5jOiAoc3dpdGNoX3RpbWVyKToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOiAoZ3N0X3JnX3ZvbHVtZV9pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzogKGNyZWF0ZV9zdHJlYW0pOgoJICAqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzogKGdzdF9zZHBfZGVtdXhfc3RyZWFtX2NvbmZpZ3VyZV91ZHApLAoJICAoZ3N0X3NkcF9kZW11eF9zdHJlYW1fY29uZmlndXJlX3VkcF9zaW5rKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzogKEdTVF9TVEFSVF9URVNUKSwKCSAgKHBhZF9hZGRlZF9zZXR1cF9kYXRhX2NoZWNrX2Zsb2F0MzJfOGNoX2NiKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6IChzZW5kX2Vvc19ldmVudCksCgkgIChzZW5kX3RhZ19ldmVudCk6CgkgIERvbid0IHVzZSBfZ3N0X3BhZCgpLgoKMjAwOC0wNS0xNiAxOTo1NjozMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBkb2NzL01ha2VmaWxlLmFtOiBEb24ndCBhdHRlbXB0IHRvIGJ1aWxkIHBsdWdpbiBkb2NzIHdoZW4gdGhleSdyZSBkaXNhYmxlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9NYWtlZmlsZS5hbToKCSAgRG9uJ3QgYXR0ZW1wdCB0byBidWlsZCBwbHVnaW4gZG9jcyB3aGVuIHRoZXkncmUgZGlzYWJsZWQuCgkgICogZ3N0L2JheWVyL01ha2VmaWxlLmFtOgoJICBBZGQgbGliZ3N0dmlkZW8gdG8gdGhlIGxpbmsuCgkgICogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgIEZpeCBsaW5rIG9yZGVyLCBhbmQgbW92ZSBMSUJTIHRoaW5ncyB0byBfTElCUwoKMjAwOC0wNS0xNCAyMTowMjoxOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBTaW1wbHkgZHJvcCBiYWQgUlRQIHBhY2tldHMgd2l0aCBhIHdhcm5pbmcgaW5zdGVhZCBvZiBqdXN0IHBvc3RpbmcgYW4gZXJyb3IgYW5kIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbik6CgkgIFNpbXBseSBkcm9wIGJhZCBSVFAgcGFja2V0cyB3aXRoIGEgd2FybmluZyBpbnN0ZWFkIG9mIGp1c3QgcG9zdGluZyBhbgoJICBlcnJvciBhbmQgc3RvcHBpbmcuIFRoaXMgaXMgYSBwZXJmZWN0bHkgcmVjb3ZlcmFibGUgZXZlbnQgYW5kIHdlIGRvbid0CgkgIGZvcmNlIHBlb3BsZSB0byB1c2UgYW4gcnRwYmluIHRvIGZpbHRlciBvdXQgYmFkIHBhY2tldHMgZmlyc3QuCgoyMDA4LTA1LTEzIDA5OjA2OjUxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEFjdHVhbGx5IGFkZCB0aGUgZG8tbG9zdCBwcm9wZXJ0eSB0byB0aGUgb2JqZWN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpOgoJICBBY3R1YWxseSBhZGQgdGhlIGRvLWxvc3QgcHJvcGVydHkgdG8gdGhlIG9iamVjdC4KCjIwMDgtMDUtMTIgMTg6NDM6NDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogQXZvaWQgd2FpdGluZyBmb3IgYSBuZWdhdGl2ZSAoaHVnZSkgZHVyYXRpb24gd2hlbiB0aGUgbGFzdCBwYWNrZXQgaGFzIGEgbG93ZXIgdGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIEF2b2lkIHdhaXRpbmcgZm9yIGEgbmVnYXRpdmUgKGh1Z2UpIGR1cmF0aW9uIHdoZW4gdGhlIGxhc3QgcGFja2V0IGhhcyBhCgkgIGxvd2VyIHRpbWVzdGFtcCB0aGFuIHRoZSBjdXJyZW50IHBhY2tldC4KCjIwMDgtMDUtMTIgMTQ6Mjg6MDkgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBNYWtlIHN1cmUgdG8gdW5yZWYgdGhlIHJ0cHNlc3Npb24gcmV0dXJuZWQgYnkgZ3N0X3BhZF9nZXRfcGFyZW50KCkgdG8gcHJldmVudCBhIG1lbW9yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9xdWVyeV9zZW5kX3J0Y3Bfc3JjKToKCSAgTWFrZSBzdXJlIHRvIHVucmVmIHRoZSBydHBzZXNzaW9uIHJldHVybmVkIGJ5IGdzdF9wYWRfZ2V0X3BhcmVudCgpIHRvCgkgIHByZXZlbnQgYSBtZW1vcnkgbGVhay4KCjIwMDgtMDUtMTIgMTQ6MTI6MDggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IEluaXRpYWxpc2Ugd2l0aCBHU1RfQ0xPQ0tfVElNRV9OT05FIHRvIGF2b2lkIGNvbXBpbGVyIHdhcm5pbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBJbml0aWFsaXNlIHdpdGggR1NUX0NMT0NLX1RJTUVfTk9ORSB0byBhdm9pZCBjb21waWxlciB3YXJuaW5nLgoKMjAwOC0wNS0wOSAwNzo0MTo1OCArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogTWFrZSBzdXJlIHRvIHVucmVmIHRoZSBjYXBzIHVzZWQgYnkgUlRQU291cmNlIHRvIHByZXZlbnQgYSBtZW1vcnkgbGVhay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2ZpbmFsaXplKToKCSAgTWFrZSBzdXJlIHRvIHVucmVmIHRoZSBjYXBzIHVzZWQgYnkgUlRQU291cmNlIHRvIHByZXZlbnQgYSBtZW1vcnkgbGVhay4KCjIwMDgtMDUtMDggMDk6NDM6MzMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IFVubG9jayB0aGUgc2Vzc2lvbiBsb2NrIHdoZW4gY2FsbGluZyBvbmUgb2Ygb3VyIGNhbGxiYWNrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChzb3VyY2VfY2xvY2tfcmF0ZSksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX2J5ZSksIChydHBfc2Vzc2lvbl9zZW5kX2J5ZV9sb2NrZWQpOgoJICBVbmxvY2sgdGhlIHNlc3Npb24gbG9jayB3aGVuIGNhbGxpbmcgb25lIG9mIG91ciBjYWxsYmFja3MuCgkgIEZpeGVzICM1MzIwMTEuCgoyMDA4LTA1LTA4IDA2OjIzOjM5ICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IFNlbmQgUlRQIEJZRSBjb21tYW5kIG9uIEVPUy4gRml4ZXMgYnVnICM1MzE5NTUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2pvZXJkIFNpbW9ucyA8c2pvZXJkIGF0IGx1b24gZG90IG5ldD4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBfc2luayk6CgkgIFNlbmQgUlRQIEJZRSBjb21tYW5kIG9uIEVPUy4gRml4ZXMgYnVnICM1MzE5NTUuCgoyMDA4LTA0LTI1IDExOjMyOjA5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLio6IEV4cG9zZSBuZXcgaml0dGVyYnVmZmVyIHByb3BlcnR5IGluIHJ0cGJpbiB0b28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3N0cmVhbSksIChnc3RfcnRwX2Jpbl9pbml0KSwKCSAgKGdzdF9ydHBfYmluX3NldF9wcm9wZXJ0eSksIChnc3RfcnRwX2Jpbl9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBFeHBvc2UgbmV3IGppdHRlcmJ1ZmZlciBwcm9wZXJ0eSBpbiBydHBiaW4gdG9vLgoKMjAwOC0wNC0yNSAxMToyMjoxMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBEaXNhYmxlIHNlbmRpbmcgb3V0IHJ0cCBwYWNrZXQgbG9zdCBldmVudHMgYnkgZGVmYXVsdCBhbmQgbWFrZSBhIHByb3BlcnR5IHRvIGVuYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGFzc19pbml0KSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9pbml0KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldF9wcm9wZXJ0eSk6CgkgIERpc2FibGUgc2VuZGluZyBvdXQgcnRwIHBhY2tldCBsb3N0IGV2ZW50cyBieSBkZWZhdWx0IGFuZCBtYWtlIGEKCSAgcHJvcGVydHkgdG8gZW5hYmUgaXQuIFdlIHdpbGwgbGlrZWx5IGVuYWJsZSBpdCBieSBkZWZhdWx0IHdoZW4gdGhlIGJhc2UKCSAgZGVwYXlsb2FkZXJzIGhhdmUgYSBkZWZhdWx0IGhhbmRsZXIgZm9yIHRoZW0gc28gdGhhdCB3ZSBkb24ndCBzZW5kIHRoZXNlCgkgIGV2ZW50cyBhbGwgdGhyb3VnaCB0aGUgcGlwZWxpbmUgZm9yIG5vdy4KCjIwMDgtMDQtMjUgMDk6MzU6NDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogUmVtb3ZlIHByaXZhdGUgdmVyc2lvbiBvZiBhIGZ1bmN0aW9uIHRoYXQgaXMgaW4gLWJhc2Ugbm93LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9pbml0KSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdG9wKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zcmNfZXZlbnQpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgUmVtb3ZlIHByaXZhdGUgdmVyc2lvbiBvZiBhIGZ1bmN0aW9uIHRoYXQgaXMgaW4gLWJhc2Ugbm93LgoJICBBZGQgc3JjIGV2ZW50IGhhbmRsZXIuCgkgIFJld29yayB0aGUgaml0dGVyYnVmZmVyIHB1c2hpbmcgbG9vcCBzbyB0aGF0IGl0IGNhbiBxdWlja2x5IHJlYWN0IHRvCgkgIGxvc3QgcGFja2V0cyBhbmQgaW5zdHJ1Y3QgdGhlIGRlcGF5bG9hZGVyIG9mIHRoZW0uIFRoaXMgY2FuIHRoZW4gYmUgdXNlZAoJICB0byBpbXBsZW1lbnQgZXJyb3IgY29uY2VhbG1lbnQgZGF0YS4KCjIwMDgtMDQtMjUgMDg6MjE6MDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IFNldCB1cCBzb21lIGludGVybmFsIGxpbmtzIGZ1bmN0aW9ucyBmb3IgdGhlIFJUQ1AgYW5kIHN5bmMgcGFkcyBiZWNhdXNlIHRoZSBkZWZhdWx0cyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAoZ3N0X3J0cF9zZXNzaW9uX3F1ZXJ5X3NlbmRfcnRjcF9zcmMpLCAoY3JlYXRlX3JlY3ZfcnRjcF9zaW5rKSwKCSAgKGNyZWF0ZV9zZW5kX3J0Y3Bfc3JjKToKCSAgU2V0IHVwIHNvbWUgaW50ZXJuYWwgbGlua3MgZnVuY3Rpb25zIGZvciB0aGUgUlRDUCBhbmQgc3luYyBwYWRzIGJlY2F1c2UKCSAgdGhlIGRlZmF1bHRzIGFyZSByZWFsbHkgbm90IGNvcnJlY3QuCgkgIEltcGxlbWVudCBhIHF1ZXJ5IGhhbmRsZXIgZm9yIHRoZSBSVENQIHNyYyBwYWQsIG1vc3RseSB0byBjb3JyZWN0bHkKCSAgcmVwb3J0IGFib3V0IHRoZSBsYXRlbmN5LgoKMjAwOC0wNC0yNSAwODoxNTo1OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogQWxzbyBrZWVwIHRyYWNrIG9mIHRoZSBmaXJzdCBidWZmZXIgdGltZXN0YW1wIHRvZ2V0aGVyIHdpdGggdGhlIGZpcnN0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKSwKCSAgKGdzdF9ydHBfYmluX3N5bmNfY2hhaW4pOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHVwZGF0ZV9hcnJpdmFsX3N0YXRzKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLCAocnRwX3Nlc3Npb25fb25fdGltZW91dCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2luaXQpLAoJICAoY2FsY3VsYXRlX2ppdHRlcik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgQWxzbyBrZWVwIHRyYWNrIG9mIHRoZSBmaXJzdCBidWZmZXIgdGltZXN0YW1wIHRvZ2V0aGVyIHdpdGggdGhlIGZpcnN0CgkgIFJUUCB0aW1lc3RhbXAgYXMgdGhleSBib3RoIGFyZSBuZWVkZWQgdG8gY29uc3RydWN0IHRoZSB0aW1pbmcgb2YKCSAgb3V0Z29pbmcgcGFja2V0cyBpbiB0aGUgaml0dGVyYnVmZmVyIGFuZCBhcmUgdGhlcmVmb3JlIGFsc28gbmVlZGVkIHRvCgkgIG1hbmFnZSBsaXAtc3luYy4gVGhpcyBmaXhlcyBsaXAtc3luYyBpZiB0aGUgZmlyc3QgUlRQIHBhY2tldHMgYXJyaXZlCgkgIHdpdGggYSB3aWxkbHkgZGlmZmVyZW50IGdhcC4KCjIwMDgtMDQtMjEgMDg6MjY6MzcgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogUmVmIGNhcHMgd2hlbiBpbnNlcnRpbmcgaW50byB0aGUgY2FjaGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc2Vzc2lvbiksIChnZXRfcHRfbWFwKSwKCSAgKG5ld19zc3JjX3BhZF9mb3VuZCk6CgkgIFJlZiBjYXBzIHdoZW4gaW5zZXJ0aW5nIGludG8gdGhlIGNhY2hlLgoJICBEb24ndCBsZWFrIHBhZHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X2Nsb2NrX3JhdGUpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3F1ZXJ5KToKCSAgQXZvaWQgYSBjYXBzIGxlYWsuCgkgIERvbid0IGxlYWsgcmVmY291bnQgaW4gcXVlcnkuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9nZXRfY2FwcyksCgkgIChnc3RfcnRwX3B0X2RlbXV4X2NoYWluKToKCSAgQXZvaWQgY2FwcyBsZWFrcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChzb3VyY2VfZ2V0X3NkZXNfc3RydWN0dXJlKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9pbml0KSwgKHJldHVybl90cnVlKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jbGVhcl9wdF9tYXApLCAoZ3N0X3J0cF9zZXNzaW9uX2NhY2hlX2NhcHMpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2Nsb2NrX3JhdGUpOgoJICBSZWYgY2FwcyB3aGVuIGluc2VydGluZyBpbnRvIHRoZSBjYWNoZS4KCSAgRml4IHNvbWUgbW9yZSBjYXBzIGxlYWtzLiBGaXhlcyAjNTI4MjQ1LgoKMjAwOC0wNC0xNyAwNzozMTo0NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogVW5zZXQgR1ZhbHVlcyBhZnRlciBnX3NpZ25hbF9lbWl0diBzbyB0aGF0IHdlIGF2b2lkIGEgcmVmY291bnQgbGVhay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnZXRfcHRfbWFwKSwgKGZyZWVfY2xpZW50KSwKCSAgKGdzdF9ydHBfYmluX2Fzc29jaWF0ZSksIChnc3RfcnRwX2Jpbl9nZXRfZnJlZV9wYWRfbmFtZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X2Nsb2NrX3JhdGUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfZ2V0X2NhcHMpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbG9ja19yYXRlKToKCSAgVW5zZXQgR1ZhbHVlcyBhZnRlciBnX3NpZ25hbF9lbWl0diBzbyB0aGF0IHdlIGF2b2lkIGEgcmVmY291bnQgbGVhay4KCSAgRG9uJ3QgbGVhayBhIHBhZG5hbWUuCgkgIERvbid0IGxlYWsgY2xpZW50IHN0cmVhbXMgbGlzdC4KCSAgTG9jayBydHBiaW4gd2hlbiBhc3NvY2lhdGluZyBzdHJlYW1zLiBGaXhlcyAjNTI4MjQ1LgoKMjAwOC0wNC0wOSAyMjoyNzo1MCArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IEF2b2lkIGxlYWtpbmcgcGFkcyBpbiB0aGUgUlRQIG1hbmFnZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZnJlZV9zZXNzaW9uKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fZmluYWxpemUpOgoJICBBdm9pZCBsZWFraW5nIHBhZHMgaW4gdGhlIFJUUCBtYW5hZ2VyLgoKMjAwOC0wMy0xMSAxMjo0MDo1OCArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uKjogSW1wbGVtZW50IGNvbGxpc2lvbiBhbmQgbG9vcCBkZXRlY3Rpb24gaW4gcnRwbWFuYWdlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChmaW5kX2FkZF9jb25mbGljdGluZ19hZGRyZXNzZXMpLAoJICAoY2hlY2tfY29sbGlzaW9uKSwgKG9idGFpbl9zb3VyY2UpLCAocnRwX3Nlc3Npb25fY3JlYXRlX25ld19zc3JjKSwKCSAgKHJ0cF9zZXNzaW9uX2NyZWF0ZV9zb3VyY2UpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3JyKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc2RlcyksIChydHBfc2Vzc2lvbl9wcm9jZXNzX2J5ZSksCgkgIChydHBfc2Vzc2lvbl9zZW5kX2J5ZV9sb2NrZWQpLCAocnRwX3Nlc3Npb25fc2VuZF9ieWUpLAoJICAocnRwX3Nlc3Npb25fb25fdGltZW91dCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBJbXBsZW1lbnQgY29sbGlzaW9uIGFuZCBsb29wIGRldGVjdGlvbiBpbiBydHBtYW5hZ2VyLgoJICBGaXhlcyAjNTIwNjI2LgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9yZXNldCksCgkgIChydHBfc291cmNlX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBBZGQgbWV0aG9kIHRvIHJlc2V0IHN0YXRzLgoKMjAwOC0wMy0xMSAxMTozNjowMyArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogQXZvaWQgYSBkZWFkbG9jayB3aGVuIGpvaW5pbmcgdGhlIFJUQ1AgdGhyZWFkIGluIFBBVVNFRCBiZWNhdXNlIGl0IG1pZ2h0IGJlIGJsb2NrZWQgZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyAgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9pbml0KSwKCSAgKHJ0Y3BfdGhyZWFkKSwgKHN0YXJ0X3J0Y3BfdGhyZWFkKSwgKHN0b3BfcnRjcF90aHJlYWQpLAoJICAoam9pbl9ydGNwX3RocmVhZCksIChnc3RfcnRwX3Nlc3Npb25fY2hhbmdlX3N0YXRlKToKCSAgQXZvaWQgYSBkZWFkbG9jayB3aGVuIGpvaW5pbmcgdGhlIFJUQ1AgdGhyZWFkIGluIFBBVVNFRCBiZWNhdXNlIGl0IG1pZ2h0CgkgIGJlIGJsb2NrZWQgZG93bnN0cmVhbS4gQWxzbyBhdm9pZCBzcGF3bmluZyBtdWx0aXBsZSBydGNwIHRocmVhZHMuCgkgIEZpeGVzICM1MjA4OTQuCgoyMDA4LTAzLTExIDEwOjQzOjMyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogRG9uJ3QgdHJ5IHRvIHJlc2V0IHRoZSBjbG9jayBza2V3IHdoZW4gd2UgaGF2ZSBubyB0aW1lc3RhbXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKGNhbGN1bGF0ZV9za2V3KToKCSAgRG9uJ3QgdHJ5IHRvIHJlc2V0IHRoZSBjbG9jayBza2V3IHdoZW4gd2UgaGF2ZSBubyB0aW1lc3RhbXBzLgoJICBGaXhlcyAjNTE5MDA1LgoKMjAwOC0wMi0yMCAwOTozMzoyNSArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBGaXggc21hbGwgbWVtb3J5IGxlYWssIGxlYWtpbmcgY2Fwcy4gRml4ZXMgI2J1ZyA1MTc1NzEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChuZXdfc3NyY19wYWRfZm91bmQpOgoJICBGaXggc21hbGwgbWVtb3J5IGxlYWssIGxlYWtpbmcgY2Fwcy4gRml4ZXMgI2J1ZyA1MTc1NzEuCgoyMDA4LTAyLTE0IDE2OjI1OjUxICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IElnbm9yZSBzdHJlYW1zIHRoYXQgZGlkIG5vdCByZWNlaXZlIGFuIFNSIHBhY2tldCB3aGVuIGRvaW5nIHN5bmNocm9uaXNhdGlvbi4gRml4ZXMgIzUxNjE2MC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKToKCSAgSWdub3JlIHN0cmVhbXMgdGhhdCBkaWQgbm90IHJlY2VpdmUgYW4gU1IgcGFja2V0IHdoZW4gZG9pbmcKCSAgc3luY2hyb25pc2F0aW9uLiBGaXhlcyAjNTE2MTYwLgoKMjAwOC0wMS0yOSAxODo1NzoyNyArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBUcnkgdG8gZ2V0IHRoZSBuZXcgY2xvY2stcmF0ZSBmcm9tIHRoZSBidWZmZXIgY2FwcyB3aGVuIHdlIHJlY2VpdmUgYSBuZXcgcGF5bG9hZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRoaWpzIFZlcm1laXIgIDx0aGlqc3Zlcm1laXIgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbik6CgkgIFRyeSB0byBnZXQgdGhlIG5ldyBjbG9jay1yYXRlIGZyb20gdGhlIGJ1ZmZlciBjYXBzIHdoZW4gd2UgcmVjZWl2ZSBhIG5ldwoJICBwYXlsb2FkIHR5cGUgaW5zdGVhZCBvZiBhbHdheXMgZmlyaW5nIHRoZSBzaWduYWwuIEZpeGVzICM1MTI3NzQuCgoyMDA4LTAxLTI1IDE2OjU4OjAwICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEFsc28gaGFuZGxlIGxpcC1zeW5jIHdoZW4gdGhlIGNsb2NrLXJhdGUgaXMgbm90IHByb3ZpZGVkIHdpdGggY2FwcyBidXQgd2l0aCBhIHNpZ25hbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKSwKCSAgKGNyZWF0ZV9zdHJlYW0pLCAocGF5bG9hZF90eXBlX2NoYW5nZSksIChuZXdfc3NyY19wYWRfZm91bmQpOgoJICBBbHNvIGhhbmRsZSBsaXAtc3luYyB3aGVuIHRoZSBjbG9jay1yYXRlIGlzIG5vdCBwcm92aWRlZCB3aXRoIGNhcHMgYnV0CgkgIHdpdGggYSBzaWduYWwuCgoyMDA4LTAxLTI1IDE2OjAwOjUyICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBSZW1vdmUgdGhlIGZpeGVkIGNsb2NrLXJhdGUgZnJvbSB0aGUgaml0dGVyYnVmZmVyIGFuZCBleHRlbmQgaXQgc28gdGhhdCBhIGNsb2NrLXJhdGUgY2FuIGJlIHByb3ZpZGVkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3NpbmtfcGFyc2VfY2FwcyksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAoY2FsY3VsYXRlX3NrZXcpLAoJICAocnRwX2ppdHRlcl9idWZmZXJfaW5zZXJ0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgUmVtb3ZlIHRoZSBmaXhlZCBjbG9jay1yYXRlIGZyb20gdGhlIGppdHRlcmJ1ZmZlciBhbmQgZXh0ZW5kIGl0IHNvIHRoYXQKCSAgYSBjbG9jay1yYXRlIGNhbiBiZSBwcm92aWRlZCB3aXRoIGVhY2ggYnVmZmVyIGluc3RlYWQuIEZpeGVzICM1MTE2ODYuCgoyMDA4LTAxLTI1IDE1OjQ5OjU1ICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFJlbW92ZSBvbGQgdW51c2VkIHZhcmlhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfaW5pdCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIFJlbW92ZSBvbGQgdW51c2VkIHZhcmlhYmxlLgoJICBUcmFjayBwdCBvbiBpbnB1dCBidWZmZXJzIGFuZCBnZXQgdGhlIGNsb2NrLXJhdGUgd2hlbiBpdCBjaGFuZ2VzLgoJICBJZ25vcmUgcGFja2V0cyB3aXRoIHVua25vd24gY2xvY2stcmF0ZS4gU2VlICM1MTE2ODYuCgoyMDA4LTAxLTI1IDAxOjQ0OjI3ICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IEZpeCB1bnJlZiBvZiBidWZmZXIgdXNpbmcgdGhlIHdyb25nIGZ1bmN0aW9uLiAgRml4ZXMgIzUxMTkyMAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IEZpeCB1bnJlZiBvZiBidWZmZXIgdXNpbmcgdGhlCgkgIHdyb25nIGZ1bmN0aW9uLiAgRml4ZXMgIzUxMTkyMAoKMjAwOC0wMS0xMSAxNzowMjozMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogSWYgd2UgZmluZCB0aGUgY2FwcyBpbiB0aGUgY2FjaGUsIHVzZSBpdCB0byBwYXJzZSB0aGUgY2xvY2stcmF0ZSBpbnN0ZWFkIG9mIHJldHVybmluZy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xvY2tfcmF0ZSk6CgkgIElmIHdlIGZpbmQgdGhlIGNhcHMgaW4gdGhlIGNhY2hlLCB1c2UgaXQgdG8gcGFyc2UgdGhlIGNsb2NrLXJhdGUgaW5zdGVhZAoJICBvZiByZXR1cm5pbmcgYW4gZXJyb3IuIEZpeGVzIGEgVE9ETyBhcyBmb3VuZCBieSBZb3VuZXNzIEFsYW91aS4KCjIwMDgtMDEtMTEgMTY6NDU6NTcgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcnRwbWFuYWdlci86IE1ha2UgaXQgcG9zc2libGUgdG8gdXNlIGRpZmZlcmVudCB1c2VyX2RhdGEgZm9yIGVhY2ggb2YgdGhlIGNhbGxiYWNrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBZb3VuZXNzIEFsYW91aSA8eW91bmVzcyBkb3QgYWxhb3VpIGF0IGNvbGxhYm9yYSBkb3QgY28gZG90IHVrPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbG9ja19yYXRlKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9zZXRfY2FsbGJhY2tzKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9wcm9jZXNzX3J0cF9jYWxsYmFjayksCgkgIChydHBfc2Vzc2lvbl9zZXRfc2VuZF9ydHBfY2FsbGJhY2spLAoJICAocnRwX3Nlc3Npb25fc2V0X3NlbmRfcnRjcF9jYWxsYmFjayksCgkgIChydHBfc2Vzc2lvbl9zZXRfc3luY19ydGNwX2NhbGxiYWNrKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9jbG9ja19yYXRlX2NhbGxiYWNrKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9yZWNvbnNpZGVyX2NhbGxiYWNrKSwgKHNvdXJjZV9wdXNoX3J0cCksCgkgIChzb3VyY2VfY2xvY2tfcmF0ZSksIChydHBfc2Vzc2lvbl9wcm9jZXNzX2J5ZSksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0Y3ApLCAocnRwX3Nlc3Npb25fc2VuZF9ieWUpLAoJICAocnRwX3Nlc3Npb25fb25fdGltZW91dCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBNYWtlIGl0IHBvc3NpYmxlIHRvIHVzZSBkaWZmZXJlbnQgdXNlcl9kYXRhIGZvciBlYWNoIG9mIHRoZSBjYWxsYmFja3MuCgkgIEZpeGVzICM1MDg1ODcuCgoyMDA4LTAxLTEwIDIwOjU3OjE3ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEZpeCBkb2N1bWVudGF0aW9uIGZvciBsYXRlc3QgcGF0Y2gKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIEZpeCBkb2N1bWVudGF0aW9uIGZvciBsYXRlc3QgcGF0Y2gKCjIwMDgtMDEtMTAgMTQ6MzQ6MzAgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogQWxsb3cgcmVxdWVzdF9uZXdfcGFkIHdpdGggbmFtZSBOVUxMIChidWcgIzUwODUxNSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIEFsbG93IHJlcXVlc3RfbmV3X3BhZCB3aXRoIG5hbWUgTlVMTCAoYnVnICM1MDg1MTUpCgoyMDA4LTAxLTA5IDE0OjM5OjQ0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBEb24ndCBzZXQgZml4ZWQgY2Fwcywgd2UgY2FuIGJhc2ljYWxseSBkbyBldmVyeXRoaW5nIHRoZSB1cHN0ZWFtIHBlZXIgcGFkIGNhbiByZW5lZ290Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGNyZWF0ZV9zZW5kX3J0cF9zaW5rKToKCSAgRG9uJ3Qgc2V0IGZpeGVkIGNhcHMsIHdlIGNhbiBiYXNpY2FsbHkgZG8gZXZlcnl0aGluZyB0aGUgdXBzdGVhbSBwZWVyCgkgIHBhZCBjYW4gcmVuZWdvdGlhdGUgdG8uIEZpeGVzICM1MDc5NDAuCgoyMDA4LTAxLTA0IDE4OjQ3OjU3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IERvbid0IHVucmVmIHRoZSBwb3BwZWQgYnVmZmVyIHdoZW4gd2UgZG9uJ3QgaGF2ZSBvd25lcnNoaXAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBEb24ndCB1bnJlZiB0aGUgcG9wcGVkIGJ1ZmZlciB3aGVuIHdlIGRvbid0IGhhdmUgb3duZXJzaGlwLgoJICBGaXhlcyAjNTA3MDIwLgoKMjAwNy0xMi0zMSAxMzoxMjowNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOiBEb24ndCBjbGVhbiB1cCBwYWRzIHdoZW4gZ29pbmcgdG8gUEFVU0VELgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICBEb24ndCBjbGVhbiB1cCBwYWRzIHdoZW4gZ29pbmcgdG8gUEFVU0VELgoKMjAwNy0xMi0xMiAxNjo1OTowMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogQ2xlYW4gdXAgdGhlIGR5bmFtaWMgcGFkcyB3aGVuIGdvaW5nIHRvIFJFQURZLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBfcHRfZGVtdXhfc2V0dXApLCAoZ3N0X3J0cF9wdF9kZW11eF9yZWxlYXNlKSwKCSAgKGdzdF9ydHBfcHRfZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzogKGdzdF9ydHBfc3NyY19kZW11eF9yZXNldCksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfZGlzcG9zZSksIChnc3RfcnRwX3NzcmNfZGVtdXhfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICBDbGVhbiB1cCB0aGUgZHluYW1pYyBwYWRzIHdoZW4gZ29pbmcgdG8gUkVBRFkuCgoyMDA3LTEyLTEyIDEyOjExOjUzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBGaXggc29tZSBsZWFrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9maW5hbGl6ZSksCgkgIChnc3RfcnRwX2Jpbl9zZXRfc2Rlc19zdHJpbmcpLCAoZ3N0X3J0cF9iaW5fZ2V0X3NkZXNfc3RyaW5nKSwKCSAgKGdzdF9ydHBfYmluX2hhbmRsZV9tZXNzYWdlKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9maW5hbGl6ZSksCgkgIChydHBfc2Vzc2lvbl9zZW5kX2J5ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2ZpbmFsaXplKToKCSAgRml4IHNvbWUgbGVha3MuCgoyMDA3LTEyLTEwIDE4OjM2OjA0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBQb3N0IGEgbWVzc2FnZSB3aGVuIHRoZSBTREVTIGluZm9yIGNoYW5nZXMgZm9yIGEgc291cmNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9iaW5faGFuZGxlX21lc3NhZ2UpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKHNvdXJjZV9nZXRfc2Rlc19zdHJ1Y3R1cmUpLAoJICAob25fc3NyY19zZGVzKToKCSAgUG9zdCBhIG1lc3NhZ2Ugd2hlbiB0aGUgU0RFUyBpbmZvciBjaGFuZ2VzIGZvciBhIHNvdXJjZS4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIFVwZGF0ZSBzb21lIGNvbW1lbnRzLgoKMjAwNy0xMi0xMCAxNTozNDoxOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogQWRkIHNpZ25hbCB0byBub3RpZnkgb2YgYW4gU0RFUyBjaGFuZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAob25fc3NyY19zZGVzKSwgKGNyZWF0ZV9zZXNzaW9uKSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG1hbmFnZXIuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKG9uX3NzcmNfc2RlcyksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksIChnc3RfcnRwX3Nlc3Npb25faW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAob25fc3NyY19zZGVzKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc2Rlcyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgQWRkIHNpZ25hbCB0byBub3RpZnkgb2YgYW4gU0RFUyBjaGFuZ2UuCgkgIEZpeCBvYmplY3QgdHlwZSBpbiB0aGUgc2lnbmFsIGNhbGxiYWNrcy4KCjIwMDctMTItMTAgMTQ6MDM6MzIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uKjogRXhwb3NlIFNERVMgaXRlbXMgYXMgcHJvcGVydGllcyBhbmQgY29uZmlndXJlIHRoZSBzZXNzaW9uIG1hbmFnZXJzIHdpdGggdGhlbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc2Vzc2lvbiksCgkgIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwgKGdzdF9ydHBfYmluX2luaXQpLCAoc2Rlc190eXBlX3RvX25hbWUpLAoJICAoZ3N0X3J0cF9iaW5fc2V0X3NkZXNfc3RyaW5nKSwgKGdzdF9ydHBfYmluX2dldF9zZGVzX3N0cmluZyksCgkgIChnc3RfcnRwX2Jpbl9zZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9iaW5fZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgRXhwb3NlIFNERVMgaXRlbXMgYXMgcHJvcGVydGllcyBhbmQgY29uZmlndXJlIHRoZSBzZXNzaW9uIG1hbmFnZXJzIHdpdGgKCSAgdGhlbS4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfY2xhc3NfaW5pdCksCgkgIChydHBfc291cmNlX3NldF9wcm9wZXJ0eSk6CgkgIEZpeCBTU1JDIHByb3BlcnR5LgoKMjAwNy0xMi0xMCAxMTowODoxMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogVXBkYXRlIGNvbW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3Nlc3Npb24pOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBVcGRhdGUgY29tbWVudC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25fc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfc2Vzc2lvbl9nZXRfcHJvcGVydHkpOgoJICBEZWZpbmUgc29tZSBHT2JqZWN0IHByb3BlcnRpZXMgdG8gc2V0IFNERVMgYW5kIG90aGVyIGNvbmZpZ3VyYXRpb24uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChydHBfc2Vzc2lvbl9pbml0KSwgKHJ0cF9zZXNzaW9uX2ZpbmFsaXplKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9wcm9wZXJ0eSksIChydHBfc2Vzc2lvbl9nZXRfcHJvcGVydHkpLAoJICAob25fc3NyY19zZGVzKSwgKHJ0cF9zZXNzaW9uX3NldF9iYW5kd2lkdGgpLAoJICAocnRwX3Nlc3Npb25fZ2V0X2JhbmR3aWR0aCksIChydHBfc2Vzc2lvbl9zZXRfcnRjcF9mcmFjdGlvbiksCgkgIChydHBfc2Vzc2lvbl9nZXRfcnRjcF9mcmFjdGlvbiksIChydHBfc2Vzc2lvbl9zZXRfc2Rlc19zdHJpbmcpLAoJICAocnRwX3Nlc3Npb25fZ2V0X3NkZXNfc3RyaW5nKSwgKG9idGFpbl9zb3VyY2UpLAoJICAocnRwX3Nlc3Npb25fZ2V0X2ludGVybmFsX3NvdXJjZSksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NkZXMpLAoJICAocnRwX3Nlc3Npb25fc2VuZF9ydHApLCAocnRwX3Nlc3Npb25fbmV4dF90aW1lb3V0KSwgKHNlc3Npb25fc2RlcyksCgkgIChpc19ydGNwX3RpbWUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgQWRkIHNpZ25hbCB3aGVuIG5ldyBTREVTIGluZm9yIGhhcyBiZWVuIGZvdW5kIGZvciBhIHNvdXJjZS4KCSAgQ3JlYXRlIHByb3BlcnRpZXMgZm9yIFNERVMgYW5kIG90aGVyIGluZm8uCgkgIFNpbXBsaWZ5IHRoZSBTREVTIEFQSS4KCSAgQWRkIG1ldGhvZCBmb3IgZ2V0dGluZyB0aGUgaW50ZXJuYWwgc291cmNlIG9iamVjdCBvZiB0aGUgc2Vzc2lvbi4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfY2xhc3NfaW5pdCksCgkgIChydHBfc291cmNlX2ZpbmFsaXplKSwgKHJ0cF9zb3VyY2Vfc2V0X3Byb3BlcnR5KSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X3Byb3BlcnR5KSwgKHJ0cF9zb3VyY2Vfc2V0X2NhbGxiYWNrcyksCgkgIChydHBfc291cmNlX2dldF9zc3JjKSwgKHJ0cF9zb3VyY2Vfc2V0X2FzX2NzcmMpLAoJICAocnRwX3NvdXJjZV9pc19hc19jc3JjKSwgKHJ0cF9zb3VyY2VfaXNfYWN0aXZlKSwKCSAgKHJ0cF9zb3VyY2VfaXNfdmFsaWRhdGVkKSwgKHJ0cF9zb3VyY2VfaXNfc2VuZGVyKSwKCSAgKHJ0cF9zb3VyY2VfcmVjZWl2ZWRfYnllKSwgKHJ0cF9zb3VyY2VfZ2V0X2J5ZV9yZWFzb24pLAoJICAocnRwX3NvdXJjZV9zZXRfc2RlcyksIChydHBfc291cmNlX3NldF9zZGVzX3N0cmluZyksCgkgIChydHBfc291cmNlX2dldF9zZGVzKSwgKHJ0cF9zb3VyY2VfZ2V0X3NkZXNfc3RyaW5nKSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X25ld19zciksIChydHBfc291cmNlX2dldF9uZXdfcmIpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBBZGQgR09iamVjdCBwcm9wZXJ0aWVzIGZvciB2YXJpb3VzIHRoaW5ncy4KCSAgRG9uJ3QgbGVhayB0aGUgYnllIHJlYXNvbi4KCjIwMDctMTEtMjIgMDk6MDg6MjcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogaml0dGVyYnVmZmVyIGNhbiBidWZmZXIgYW4gdW5saW1pdGVkIGFtb3VudCBvZiB0aW1lIGFuZCB0aHVzIGhhcyBubyBtYXhfbGF0ZW5jeSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfcXVlcnkpOgoJICBqaXR0ZXJidWZmZXIgY2FuIGJ1ZmZlciBhbiB1bmxpbWl0ZWQgYW1vdW50IG9mIHRpbWUgYW5kIHRodXMgaGFzIG5vCgkgIG1heF9sYXRlbmN5IHJlcXVpcmVtZW50cy4KCjIwMDctMTEtMDIgMjE6NDU6MzggKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IEZpeCBiYWQgZnVuY3Rpb24gc2lnbmF0dXJlcyAoIzQ5Mjc5OCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzICA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBGaXggYmFkIGZ1bmN0aW9uIHNpZ25hdHVyZXMgKCM0OTI3OTgpLgoKMjAwNy0xMC0wOSAxMDowMTozOSArMDAwMCAgTGF1cmVudCBHbGF5YWwgPHNwZ2xlZ2xlQHlhaG9vLmZyPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEZpeCBtZW1sZWFrLiBGaXhlcyAjNDg0OTkwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IExhdXJlbnQgR2xheWFsIDxzcGdsZWdsZSBhdCB5YWhvbyBkb3QgZnI+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpOgoJICBGaXggbWVtbGVhay4gRml4ZXMgIzQ4NDk5MC4KCjIwMDctMTAtMDggMTc6NDY6NDUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0LzogRml4IGNvbXBpbGVyIHdhcm5pbmdzIHNob3duIGJ5IEZvcnRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL3JmYmJ1ZmZlci5jOiAocmZiX2J1ZmZlcl9uZXdfYW5kX2FsbG9jKToKCSAgKiBnc3QvbGlicmZiL3JmYmJ1ZmZlci5oOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOiAocmZiX3NvY2tldF9nZXRfYnVmZmVyKToKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzogKGdzdF9tcGVndmlkZW9wYXJzZV9jaGFpbik6CgkgICogZ3N0L25zZi9uZXM2NTAyLmM6IChuZXM2NTAyX2V4ZWN1dGUpOgoJICAqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOiAoZ3N0X3JlYWxfYXVkaW9fZGVjX3NldGNhcHMpOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiAob3Blbl9saWJyYXJ5KToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChjcmVhdGVfcmVjdl9ydHBfc2luayksCgkgIChjcmVhdGVfcmVjdl9ydGNwX3NpbmspLCAoY3JlYXRlX3NlbmRfcnRwX3NpbmspOgoJICBGaXggY29tcGlsZXIgd2FybmluZ3Mgc2hvd24gYnkgRm9ydGUuCgoyMDA3LTEwLTA4IDEwOjM5OjM1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEZpeCBjYXBzIHJlZmNvdW50aW5nIGZvciBwYXlsb2FkIG1hcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ2V0X3B0X21hcCksCgkgIChnc3RfcnRwX2Jpbl9jbGVhcl9wdF9tYXApLCAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCk6CgkgIEZpeCBjYXBzIHJlZmNvdW50aW5nIGZvciBwYXlsb2FkIG1hcHMuCgkgIFdoZW4gY2xlYXJpbmcgcGF5bG9hZCBtYXBzLCBhbHNvIGNsZWFyIHNlc3Npb25zIGFuZCBzdHJlYW1zIHBheWxvYWQKCSAgbWFwcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2dldF9jYXBzKSwKCSAgKGdzdF9ydHBfcHRfZGVtdXhfY2xlYXJfcHRfbWFwKSwgKGdzdF9ydHBfcHRfZGVtdXhfY2hhaW4pLAoJICAoZmluZF9wYWRfZm9yX3B0KToKCSAgSW1wbGVtZW50IGNsZWFyaW5nIHRoZSBwYXlsb2FkIG1hcC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBfc2luayk6CgkgIEZvcndhcmQgZmx1c2ggZXZlbnRzIGluc3RlYWQgb2YgbGVha2luZyB0aGVtLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X3J0Y3Bfc2lua19ldmVudCk6CgkgIENvcnJlY3RseSByZWZjb3VudCBldmVudHMgYmVmb3JlIHB1c2hpbmcgdGhlbS4KCjIwMDctMTAtMDUgMTc6MjY6MTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IFdoZW4gcmVjb25zaWRlcmluZyBSVENQIHRpbWVvdXRzLCBzZXQgdGhlIG5leHQgdGltZW91dCBhZ2FpbnN0IHRoZSBsYXN0IHJlcG9ydCB0aW1lIGluc3QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fbmV4dF90aW1lb3V0KSwKCSAgV2hlbiByZWNvbnNpZGVyaW5nIFJUQ1AgdGltZW91dHMsIHNldCB0aGUgbmV4dCB0aW1lb3V0IGFnYWluc3QgdGhlIGxhc3QKCSAgcmVwb3J0IHRpbWUgaW5zdGVhZCBvZiB0aGUgY3VycmVudCBjbG9jayB0aW1lIHNvIHRoYXQgd2UgZG9uJ3QgZW5kIHVwCgkgIHJlY29uc2lkZXJpbmcgZm9yZXZlci4KCjIwMDctMTAtMDUgMTI6MDc6MzcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogT25seSBwZWVrIGF0IHRoZSB0YWlsIGVsZW1lbnQgaW5zdGVhZCBvZiBwb3BwaW5nIGl0IG9mZiwgd2hpY2ggYWxsb3dzIHVzIHRvIGdyZWEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBPbmx5IHBlZWsgYXQgdGhlIHRhaWwgZWxlbWVudCBpbnN0ZWFkIG9mIHBvcHBpbmcgaXQgb2ZmLCB3aGljaCBhbGxvd3MKCSAgdXMgdG8gZ3JlYXRseSBzaW1wbGlmeSB0aGluZ3Mgd2hlbiB0aGUgdGFpbCBlbGVtZW50IGNoYW5nZXMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3JlY3ZfcnRwX3NpbmspOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X3NpbmtfZXZlbnQpOgoJICBGb3J3YXJkIEZMVVNIIGV2ZW50cyBpbnN0ZWFkIG9mIGxlYWtpbmcgdGhlbS4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX3Jlc2V0X3NrZXcpLAoJICAoY2FsY3VsYXRlX3NrZXcpLCAocnRwX2ppdHRlcl9idWZmZXJfaW5zZXJ0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgUmVtb3ZlIHRoZSB0YWlsLWNoYW5nZWQgY2FsbGJhY2sgaW4gZmF2b3VyIG9mIGEgc2ltcGxlIGJvb2xlYW4gd2hlbiB3ZQoJICBpbnNlcnQgYSBidWZmZXIgaW4gdGhlIHF1ZXVlLgoJICBBZGQgbWV0aG9kIHRvIHBlZWsgdGhlIHRhaWwgb2YgdGhlIGJ1ZmZlci4KCjIwMDctMTAtMDIgMTA6Mjc6NDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogUmVtb3ZlIHNvbWUgb2xkIHVudXNlZCB2YXJpYWJsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0YXJ0KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdG9wKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFuZ2Vfc3RhdGUpLCAoYXBwbHlfb2Zmc2V0KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgUmVtb3ZlIHNvbWUgb2xkIHVudXNlZCB2YXJpYWJsZXMuCgkgIERvbid0IGFkZCB0aGUgbGF0ZW5jeSB0byB0aGUgc2tldyBjb3JyZWN0ZWQgdGltZXN0YW1wLCBsYXRlbmN5IGlzIG9ubHkKCSAgdXNlZCB0byBzeW5jIGFnYWluc3QgdGhlIGNsb2NrLgoJICBJbXByb3ZlIGRlYnVnZ2luZy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX2luaXQpLAoJICAocnRwX2ppdHRlcl9idWZmZXJfcmVzZXRfc2tldyksIChjYWxjdWxhdGVfc2tldyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIEhhbmRsZSBjYXNlIHdoZXJlIHNlcnZlciB0aW1lc3RhbXAgZ29lcyBiYWNrd2FyZHMgb3Igd2lsZGx5IGp1bXBzIGJ5CgkgIHRlbXBvcmFyaWx5IHBhdXNpbmcgdGhlIHNrZXcgY29ycmVjdGlvbi4KCSAgSW1wcm92ZSBkZWJ1Z2dpbmcuCgoyMDA3LTA5LTI4IDE0OjUxOjU4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEZpeCBjcmFzaGVyIGluIGRpc3Bvc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZnJlZV9jbGllbnQpOgoJICBGaXggY3Jhc2hlciBpbiBkaXNwb3NlLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAoY2FsY3VsYXRlX3NrZXcpOgoJICBIYW5kbGUgY2FzZXMgd2hlcmUgaW5wdXQgYnVmZmVycyBoYXZlIG5vIHRpbWVzdGFtcHMgc28gdGhhdCBubyBjbG9jawoJICBza2V3IGNhbiBiZSBjYWxjdWxhdGVkLCBpbiB0aGlzIGNhc2UgaW50ZXJwb2xsYXRlIHRpbWVzdGFtcHMgYmFzZWQgb24KCSAgcnRwIHRpbWVzdGFtcCBhbmQgYXNzdW1lIGEgMCBjbG9jayBza2V3LgoKMjAwNy0wOS0yOCAxMToxNzozNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBSZW1vdmUgaml0dGVyIGNvcnJlY3Rpb24gY29kZSwgaXQncyBub3cgaW4gdGhlIGxvd2VyIGxldmVsIG9iamVjdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IChhcHBseV9sYXRlbmN5KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9xdWVyeSk6CgkgIFJlbW92ZSBqaXR0ZXIgY29ycmVjdGlvbiBjb2RlLCBpdCdzIG5vdyBpbiB0aGUgbG93ZXIgbGV2ZWwgb2JqZWN0LgoJICBVc2UgbmV3IC1jb3JlIG1ldGhvZCBmb3IgZG9pbmcgYSBwZWVyIHF1ZXJ5LgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfaW5pdCksCgkgIChjYWxjdWxhdGVfc2tldyksIChydHBfaml0dGVyX2J1ZmZlcl9pbnNlcnQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBNb3ZlIGppdHRlciBjb3JyZWN0aW9uIHRvIHRoZSBsb3dsZXZlbCBqaXR0ZXJidWZmZXIuCgkgIEluY3JlYXNlIHRoZSBtYXggd2luZG93IHNpemUuCgkgIFdoZW4gZmlsbGluZyB0aGUgd2luZG93LCBhbHJlYWR5IHN0YXJ0IGVzdGltYXRpbmcgdGhlIHNrZXcgdXNpbmcgYQoJICBwYXJhYm9saWMgd2VpZ2h0aW5nIGZhY3RvciBzbyB0aGF0IHdlIGhhdmUgYSBtdWNoIGJldHRlciBzdGFydHVwCgkgIGJlaGF2aW91ciB0aGF0IGdldHMgbW9yZSBhY2N1cmF0ZSB3aXRoIHRoZSBtb3JlIHNhbXBsZXMgd2UgaGF2ZS4KCSAgSW5jcmVhc2UgdGhlIGRlZmF1bHQgd2VpZ2h0aW5nIGZhY3RvciBmb3IgdGhlIHN0ZWFkeSBzdGF0ZSB0byBnZXQKCSAgc21vb3RoZXIgdGltZXN0YW1wcy4KCjIwMDctMDktMjYgMjA6MDg6MjggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogRml4IGNsZWFudXAgY3Jhc2hlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9kaXNwb3NlKSwKCSAgKGdzdF9ydHBfYmluX2ZpbmFsaXplKToKCSAgRml4IGNsZWFudXAgY3Jhc2hlci4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX2luaXQpLAoJICAoY2FsY3VsYXRlX3NrZXcpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBEeW5hbWljYWxseSBhZGp1c3QgdGhlIHNrZXcgY2FsY3VsYXRpb24gd2luZG93IHNvIHRoYXQgd2UgY2FsY3VsYXRlIGl0CgkgIG92ZXIgYSBwZXJpb2Qgb2YgYXJvdW5kIDIgc2Vjb25kcy4KCjIwMDctMDktMjAgMTQ6MzQ6NTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IEFkZCBub3RpZmljYXRpb24gb2YgYWN0aXZlIFNTUkNzIHRvIHZhcmlvdXMgUlRQIGVsZW1lbnRzLiBGaXhlcyAjNDc4NTY2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKG9uX3NzcmNfYWN0aXZlKSwgKGNyZWF0ZV9zZXNzaW9uKSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKG9uX3NzcmNfYWN0aXZlKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwgKGdzdF9ydHBfc2Vzc2lvbl9pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChvbl9zc3JjX2FjdGl2ZSksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3JiKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIEFkZCBub3RpZmljYXRpb24gb2YgYWN0aXZlIFNTUkNzIHRvIHZhcmlvdXMgUlRQIGVsZW1lbnRzLiBGaXhlcyAjNDc4NTY2LgoKMjAwNy0wOS0xNyAwMjowMTo0MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBMaW5rIHRvIHRoZSByaWdodCBwYWRzIHJlZ2FyZGxlc3Mgb2Ygd2hpY2ggb25lIHdhcyBjcmVhdGVkIGZpcnN0IGluIHRoZSBzc3JjIGRlbXV4ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAobmV3X3NzcmNfcGFkX2ZvdW5kKToKCSAgTGluayB0byB0aGUgcmlnaHQgcGFkcyByZWdhcmRsZXNzIG9mIHdoaWNoIG9uZSB3YXMgY3JlYXRlZCBmaXJzdCBpbiB0aGUKCSAgc3NyYyBkZW11eGVyLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRwKSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9zZW5kX3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChjYWxjdWxhdGVfaml0dGVyKToKCSAgSW1wcm92ZSBkZWJ1Z2dpbmcuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6IChjcmVhdGVfZGVtdXhfcGFkX2Zvcl9zc3JjKSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9pbml0KSwgKGdzdF9ydHBfc3NyY19kZW11eF9maW5hbGl6ZSksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfc2lua19ldmVudCksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfcnRjcF9zaW5rX2V2ZW50KSwgKGdzdF9ydHBfc3NyY19kZW11eF9jaGFpbiksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfcnRjcF9jaGFpbiksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfaW50ZXJuYWxfbGlua3MpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5oOgoJICBGaXggcmFjZSBpbiBjcmVhdGluZyB0aGUgUlRQIGFuZCBSVENQIHBhZHMgd2hlbiBhIG5ldyBTU1JDIGlzIGRldGVjdGVkLgoKMjAwNy0wOS0xNiAxOTo0MDozMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBVc2UgbG9jayB0byBwcm90ZWN0IHZhcmlhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2Jpbl9nZXRfcHJvcGVydHkpOgoJICBVc2UgbG9jayB0byBwcm90ZWN0IHZhcmlhYmxlLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksCgkgIChjb252ZXJ0X3J0cHRpbWVfdG9fZ3N0dGltZSksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIFJlY29uc3RydWN0IEdTVCB0aW1lc3RhbXAgZnJvbSBSVFAgdGltZXN0YW1wcyBiYXNlZCBvbiBtZWFzdXJlZCBjbG9jawoJICBza2V3IGFuZCBzeW5jIG9mZnNldC4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX2luaXQpLAoJICAocnRwX2ppdHRlcl9idWZmZXJfc2V0X3RhaWxfY2hhbmdlZCksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9zZXRfY2xvY2tfcmF0ZSksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9nZXRfY2xvY2tfcmF0ZSksIChjYWxjdWxhdGVfc2tldyksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9pbnNlcnQpLCAocnRwX2ppdHRlcl9idWZmZXJfcGVlayk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIE1lYXN1cmUgY2xvY2sgc2tldy4KCSAgQWRkIGNhbGxiYWNrIHRvIGJlIG5vdGZpZWQgd2hlbiBhIG5ldyBwYWNrZXQgd2FzIGluc2VydGVkIGF0IHRoZSB0YWlsLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9pbml0KSwKCSAgKGNhbGN1bGF0ZV9qaXR0ZXIpLCAocnRwX3NvdXJjZV9zZW5kX3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIFJlbW92ZSBjbG9jayBza2V3IGRldGVjdGlvbiwgaXQncyBtb3ZlIHRvIHRoZSBqaXR0ZXJidWZmZXIgbm93LgoKMjAwNy0wOS0xNSAxODo0ODowMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBBbHNvIHNldCBOVFAgYmFzZSB0aW1lIG9uIG5ldyBzZXNzaW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc2Vzc2lvbik6CgkgIEFsc28gc2V0IE5UUCBiYXNlIHRpbWUgb24gbmV3IHNlc3Npb25zLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3F1ZXJ5KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldF9wcm9wZXJ0eSk6CgkgIFVzZSB0aGUgcmlnaHQgbG9jayB0byBwcm90ZWN0IG91ciB2YXJpYWJsZXMuCgkgIEZpeCBzb21lIGNvbW1lbnQuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAoZ3N0X3J0cF9zZXNzaW9uX2dldGNhcHNfc2VuZF9ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3NlbmRfcnRwKSwgKGNyZWF0ZV9zZW5kX3J0cF9zaW5rKToKCSAgSW1wbGVtZW50IGdldGNhcHMgb24gdGhlIHNlbmRlciBzaW5rcGFkIHNvIHRoYXQgcGF5bG9hZGVycyBjYW4gbmVnb3RpYXRlCgkgIHRoZSByaWdodCBTU1JDLgoKMjAwNy0wOS0xMiAyMToyMzo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogVmFyaW91cyBsZWFrIGZpeGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zZXNzaW9uKSwgKGZyZWVfc2Vzc2lvbiksCgkgIChnZXRfY2xpZW50KSwgKGZyZWVfY2xpZW50KSwgKGdzdF9ydHBfYmluX2Fzc29jaWF0ZSksCgkgIChmcmVlX3N0cmVhbSksIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwgKGdzdF9ydHBfYmluX2Rpc3Bvc2UpLAoJICAoZ3N0X3J0cF9iaW5fZmluYWxpemUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZpbmFsaXplKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X3JlbGVhc2UpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9maW5hbGl6ZSksCgkgIChnc3RfcnRwX3Nlc3Npb25fc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fc2VuZF9ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X2Rpc3Bvc2UpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2ZpbmFsaXplKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIFZhcmlvdXMgbGVhayBmaXhlcy4KCjIwMDctMDktMTIgMTg6MDQ6MzIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogQ2FsY3VsYXRlIGFuZCBjb25maWd1cmUgdGhlIE5UUCBiYXNlIHRpbWUgc28gdGhhdCB3ZSBjYW4gZ2VuZXJhdGUgYmV0dGVyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY2FsY19udHBfbnNfYmFzZSksCgkgIChnc3RfcnRwX2Jpbl9jaGFuZ2Vfc3RhdGUpLCAobmV3X3BheWxvYWRfZm91bmQpLCAoY3JlYXRlX3NlbmRfcnRwKToKCSAgQ2FsY3VsYXRlIGFuZCBjb25maWd1cmUgdGhlIE5UUCBiYXNlIHRpbWUgc28gdGhhdCB3ZSBjYW4gZ2VuZXJhdGUgYmV0dGVyCgkgIE5UUCB0aW1lcyBpbiBTUiBwYWNrZXRzLgoJICBTZXQgY2FwcyBvbiBuZXcgZ2hvc3RwYWQuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIENsZWFuIGRlYnVnIHN0YXRlbWVudC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25faW5pdCksIChnc3RfcnRwX3Nlc3Npb25fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9nZXRfcHJvcGVydHkpLCAoZ2V0X2N1cnJlbnRfbnRwX25zX3RpbWUpLAoJICAocnRjcF90aHJlYWQpLCAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3JlY3ZfcnRwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2ludGVybmFsX2xpbmtzKSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fc2VuZF9ydHApLCAoY3JlYXRlX3JlY3ZfcnRwX3NpbmspLAoJICAoY3JlYXRlX3NlbmRfcnRwX3NpbmspOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgQWRkIG50cC1ucy1iYXNlIHByb3BlcnR5IHRvIGNvbnZlcnQgcnVubmluZ190aW1lIHRvIE5UUCB0aW1lLgoJICBIYW5kbGUgTkVXU0VHTUVOVCBldmVudHMgb24gc2VuZCBhbmQgcmVjdiBSVFAgcGFkcyBzbyB0aGF0IHdlIGNhbgoJICBjYWxjdWxhdGUgdGhlIHJ1bm5pbmcgdGltZSBhbmQgdGh1cyBOVFAgdGltZSBvZiB0aGUgcGFja2V0cy4KCSAgU2ltcGxpZnkgZ2V0dGluZyB0aGUgY3VycmVudCBOVFAgdGltZSB1c2luZyB0aGUgcGlwZWxpbmUgY2xvY2suCgkgIEltcGxlbWVudCBpbnRlcm5hbCBsaW5rcyBmdW5jdGlvbnMuCgkgIFVzZSB0aGUgYnVmZmVyIHRpbWVzdGFtcCB0byBjYWxjdWxhdGUgdGhlIE5UUCB0aW1lIGluc3RlYWQgb2YgdGhlIGNsb2NrLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOiAoY3JlYXRlX2RlbXV4X3BhZF9mb3Jfc3NyYyksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfaW5pdCksIChnc3RfcnRwX3NzcmNfZGVtdXhfc2lua19ldmVudCksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfY2hhaW4pLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X3J0Y3BfY2hhaW4pLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2ludGVybmFsX2xpbmtzKSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9zcmNfcXVlcnkpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5oOgoJICBJbXBsZW1lbnQgaW50ZXJuYWwgbGlua3MgZnVuY3Rpb24uCgkgIENhbGN1bGF0ZSB0aGUgZGlmZiBiZXR3ZWVuIGRpZmZlcmVudCBzdHJlYW1zLCB0aGlzIG1pZ2h0IGJlIHVzZWQgbGF0ZXIKCSAgdG8gZ2V0IHRoZSBpbnRlciBzdHJlYW0gbGF0ZW5jeS4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9zZW5kX3J0cCk6CgkgIFNpbXBsZSBjbGVhbnVwLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9pbml0KSwKCSAgKGNhbGN1bGF0ZV9qaXR0ZXIpLCAocnRwX3NvdXJjZV9zZW5kX3J0cCksIChydHBfc291cmNlX2dldF9uZXdfc3IpOgoJICBNYWtlIHRoZSBjbG9jayBza2V3IHdpbmRvdyBhIGxpdHRsZSBiaWdnZXIuCgkgIEFwcGx5IHRoZSBjbG9jayBza2V3IHRvIGFsbCBidWZmZXJzLCBub3QganVzdCBvbmUgd2l0aCBhIG5ldyB0aW1lc3RhbXAuCgkgIENhbGN1bGF0ZSBhbmQgZGVidWcgc2VuZGVyIGNsb2NrIGRyaWZ0LgoJICBVc2UgZXh0ZW5kZWQgbGFzdCB0aW1lc3RhbXAgdG8gaW50ZXJwb2xsYXRlIGZvciBTUiByZXBvcnRzLgoKMjAwNy0wOS0wNCAxNToyMzozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogTWFrZSBjb21waWxlciBoYXBweTogZml4IGNvbXBpbGF0aW9uIHdpdGggLVdhbGwgLVdlcnJvciAoIzQ3MzU2MikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgTWFrZSBjb21waWxlciBoYXBweTogZml4IGNvbXBpbGF0aW9uIHdpdGggLVdhbGwgLVdlcnJvcgoJICAoIzQ3MzU2MikuCgoyMDA3LTA5LTAzIDIxOjE5OjM0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBVcGRhdGVkIGV4YW1wbGUgcGlwZWxpbmVzIGluIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9nZXRfY2xpZW50KSwKCSAgKGdzdF9ydHBfYmluX2Fzc29jaWF0ZSksIChnc3RfcnRwX2Jpbl9zeW5jX2NoYWluKSwgKGNyZWF0ZV9zdHJlYW0pLAoJICAoZ3N0X3J0cF9iaW5faW5pdCksIChjYXBzX2NoYW5nZWQpLCAobmV3X3NzcmNfcGFkX2ZvdW5kKSwKCSAgKGNyZWF0ZV9yZWN2X3J0cCksIChjcmVhdGVfcmVjdl9ydGNwKSwgKGNyZWF0ZV9zZW5kX3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIFVwZGF0ZWQgZXhhbXBsZSBwaXBlbGluZXMgaW4gZG9jcy4KCSAgSGFuZGxlIHN5bmNfcnRjcCBidWZmZXJzIGZyb20gdGhlIFNTUkMgZGVtdXhlciB0byBwZXJmb3JtIGxpcC1zeW5jLgoJICBTZXQgdGhlIGRlZmF1bHQgbGF0ZW5jeSBjb3JyZWN0bHkuCgkgIEFkZCBzb21lIG1vcmUgcG9pbnRzIHdoZXJlIHdlIGNhbiBnZXQgY2Fwcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3NpbmtfcGFyc2VfY2FwcyksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfcXVlcnkpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X3Byb3BlcnR5KToKCSAgQWRkIHRzLW9mZnNldCBwcm9wZXJ0eSB0byBjb250cm9sIHRpbWVzdGFtcGluZy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25faW5pdCksIChnc3RfcnRwX3Nlc3Npb25fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9nZXRfcHJvcGVydHkpLCAoZ2V0X2N1cnJlbnRfbnRwX25zX3RpbWUpLAoJICAocnRjcF90aHJlYWQpLCAoc3RvcF9ydGNwX3RocmVhZCksIChnc3RfcnRwX3Nlc3Npb25fY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0Y3ApLCAoZ3N0X3J0cF9zZXNzaW9uX3N5bmNfcnRjcCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2FjaGVfY2FwcyksIChnc3RfcnRwX3Nlc3Npb25fY2xvY2tfcmF0ZSksCgkgIChnc3RfcnRwX3Nlc3Npb25fc2lua19zZXRjYXBzKSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fc2VuZF9ydHApLCAoY3JlYXRlX3JlY3ZfcnRwX3NpbmspLAoJICAoY3JlYXRlX3JlY3ZfcnRjcF9zaW5rKSwgKGNyZWF0ZV9zZW5kX3J0cF9zaW5rKSwKCSAgKGNyZWF0ZV9zZW5kX3J0Y3Bfc3JjKToKCSAgVmFyaW91cyBjbGVhbnVwcy4KCSAgRmVlZCBydHBzZXNzaW9uIG1hbmFnZXIgd2l0aCBOVFAgdGltZSBiYXNlZCBvbiBwaXBlbGluZSBjbG9jayB3aGVuCgkgIGhhbmRsaW5nIFJUUCBwYWNrZXRzIGFuZCBSVENQIHRpbWVvdXRzLgoJICBQZXJmb3JtIGFsbCBSVENQIHdpdGggdGhlIHN5c3RlbSBjbG9jay4KCSAgU2V0IGNhcHMgb24gUlRDUCBvdXRnb2luZyBidWZmZXJzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOiAoZmluZF9kZW11eF9wYWRfZm9yX3NzcmMpLAoJICAoY3JlYXRlX2RlbXV4X3BhZF9mb3Jfc3NyYyksIChnc3RfcnRwX3NzcmNfZGVtdXhfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9pbml0KSwgKGdzdF9ydHBfc3NyY19kZW11eF9zaW5rX2V2ZW50KSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9ydGNwX3NpbmtfZXZlbnQpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NoYWluKSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9ydGNwX2NoYWluKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguaDoKCSAgQWxzbyBkZW11eCBSVENQIG1lc3NhZ2VzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX3NldF9jYWxsYmFja3MpLAoJICAodXBkYXRlX2Fycml2YWxfc3RhdHMpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19yYiksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnIpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydGNwKSwKCSAgKHJ0cF9zZXNzaW9uX3NlbmRfcnRwKSwgKHJ0cF9zZXNzaW9uX3NlbmRfYnllKSwKCSAgKHNlc3Npb25fc3RhcnRfcnRjcCksIChzZXNzaW9uX3JlcG9ydF9ibG9ja3MpLCAoc2Vzc2lvbl9jbGVhbnVwKSwKCSAgKHJ0cF9zZXNzaW9uX29uX3RpbWVvdXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgUmVtb3ZlIHRoZSBnZXRfdGltZSBjYWxsYmFjaywgdGhlIEdTdHJlYW1lciBwYXJ0IHdpbGwgZmVlZCB1cyB3aXRoCgkgIGVub3VnaCB0aW1pbmcgaW5mb3JtYXRpb24uCgkgIFNwbGl0IHN5bmMgdGltaW5nIGFuZCBSVENQIHRpbWluZyBpbmZvcm1hdGlvbi4KCSAgRmFjdG9yIG91dCBjb21tb24gUkIgaGFuZGxpbmcgZm9yIFNSIGFuZCBSUi4KCSAgU2VuZCBvdXQgU1IgUlRDUCBwYWNrZXRzIGZvciBsaXAtc3luYy4KCSAgTW92ZSBTUiBhbmQgUlIgcGFja2V0IGluZm8gZ2VuZXJhdGlvbiB0byB0aGUgc291cmNlLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9pbml0KSwKCSAgKHJ0cF9zb3VyY2VfdXBkYXRlX2NhcHMpLCAoZ2V0X2Nsb2NrX3JhdGUpLCAoY2FsY3VsYXRlX2ppdHRlciksCgkgIChydHBfc291cmNlX3Byb2Nlc3NfcnRwKSwgKHJ0cF9zb3VyY2Vfc2VuZF9ydHApLAoJICAocnRwX3NvdXJjZV9wcm9jZXNzX3NyKSwgKHJ0cF9zb3VyY2VfcHJvY2Vzc19yYiksCgkgIChydHBfc291cmNlX2dldF9uZXdfc3IpLCAocnRwX3NvdXJjZV9nZXRfbmV3X3JiKSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X2xhc3Rfc3IpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIFVzZSBjYXBzIG9uIGluY29tbWluZyBidWZmZXJzIHRvIGdldCB0aW1pbmcgaW5mb3JtYXRpb24gd2hlbiB0aGV5IGFyZQoJICB0aGVyZS4KCSAgQ2FsY3VsYXRlIGNsb2NrIHNjZXcgb2YgdGhlIHJlY2VpdmVyIGNvbXBhcmVkIHRvIHRoZSBzZW5kZXIgYW5kIGFkanVzdAoJICB0aGUgcnRwIHRpbWVzdGFtcHMuCgkgIENhbGN1bGF0ZSB0aGUgcm91bmQgdHJpcCBpbiBzb3VyY2VzLgoJICBEbyBTUiBhbmQgUlIgY2FsY3VsYXRpb25zIGluIHRoZSBzb3VyY2UuCgoyMDA3LTA4LTMxIDE1OjI2OjE0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFVzZSBleHRlbmRlZCB0aW1lc3RhbXAgdG8gcmVsZWFzZSBidWZmZXJzIGZyb20gdGhlIGppdHRlcmJ1ZmZlciBzbyB0aGF0IHdlIGNhbiBoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0b3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYW5nZV9zdGF0ZSksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIFVzZSBleHRlbmRlZCB0aW1lc3RhbXAgdG8gcmVsZWFzZSBidWZmZXJzIGZyb20gdGhlIGppdHRlcmJ1ZmZlciBzbyB0aGF0CgkgIHdlIGNhbiBoYW5kbGUgdGhlIHJ0cCB3cmFwYXJvdW5kIGNvcnJlY3RseS4KCjIwMDctMDgtMjkgMTY6NTY6MjcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogSW1wcm92ZSBDb21tZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIEltcHJvdmUgQ29tbWVudHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoc3RvcF9ydGNwX3RocmVhZCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhbmdlX3N0YXRlKSwgKGdzdF9ydHBfc2Vzc2lvbl9wYXJzZV9jYXBzKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jbG9ja19yYXRlKSwgKGdzdF9ydHBfc2Vzc2lvbl9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspLCAoY3JlYXRlX3JlY3ZfcnRwX3NpbmspLAoJICAoY3JlYXRlX3NlbmRfcnRwX3NpbmspOgoJICBBbHNvIHBhcnNlIHRoZSBzaW5rIGNhcHMgZm9yIGNsb2NrLXJhdGUgaW5zdGVhZCBvZiBvbmx5IHJlbHlpbmcgb24gdGhlCgkgIHJlc3VsdCBvZiB0aGUgc2lnbmFsLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9zZW5kX3J0cCk6CgkgIE1ha2Ugc3VyZSB3ZSBmZXRjaCB0aGUgY2xvY2sgcmF0ZSBmb3IgcGF5bG9hZHMgd2UgYXJlIHNlbmRpbmcgb3V0IHNvCgkgIHRoYXQgd2UgY2FuIHVzZSBpdCBmb3IgU1IgcmVwb3J0cy4KCjIwMDctMDgtMjkgMDE6MjI6NDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLio6IERpc3RyaWJ1dGUgc3luY2hyb25pc2F0aW9uIHBhcmFtZXRlcnMgdG8gdGhlIHNlc3Npb24gbWFuYWdlciBzbyB0aGF0IGl0IGNhbiBnZW5lcmF0ZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoc3RvcF9ydGNwX3RocmVhZCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkgIERpc3RyaWJ1dGUgc3luY2hyb25pc2F0aW9uIHBhcmFtZXRlcnMgdG8gdGhlIHNlc3Npb24gbWFuYWdlciBzbyB0aGF0IGl0CgkgIGNhbiBnZW5lcmF0ZSBjb3JyZWN0IFNSIHBhY2tldHMgZm9yIGxpcC1zeW5jLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX3NldF9iYXNlX3RpbWUpLAoJICAocnRwX3Nlc3Npb25fc2V0X3RpbWVzdGFtcF9zeW5jKSwgKHNlc3Npb25fc3RhcnRfcnRjcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBBZGQgbWV0aG9kcyBmb3Igc2V0dGluZyBzeW5jIHBhcmFtZXRlcnMuCgkgIFNldCBjb3JyZWN0IFJUUCB0aW1lIGluIFNSIHBhY2tldHMgdXNpbmcgdGhlIHN5bmMgcGFyYW1zLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9zZW5kX3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIFJlY29yZCBsYXN0IFJUUCA8LT4gR1NUIHRpbWVzdGFtcCBzbyB0aGF0IHdlIGNhbiB1c2UgdGhlbSB0byBjb252ZXJ0IE5UUAoJICB0byBSVFAgdGltZXN0YW1wcyBpbiBTUiBwYWNrZXRzLgoKMjAwNy0wOC0yOCAyMDozMDoxNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBBZGQgc29tZSBtb3JlIGFkdmFuY2VkIGV4YW1wbGUgcGlwZWxpbmVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2NsZWFyX3B0X21hcCk6CgkgIEFkZCBzb21lIG1vcmUgYWR2YW5jZWQgZXhhbXBsZSBwaXBlbGluZXMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAocnRjcF90aHJlYWQpLAoJICAoc3RvcF9ydGNwX3RocmVhZCksIChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydGNwKToKCSAgQWRkIHNvbWUgZGVidWcgYW5kIEZJWE1FLgoJICBSZWxlYXNlIExPQ0sgd2hlbiBwZXJmb3JtaW5nIHNlc3Npb24gY2xlYW51cC4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChzZXNzaW9uX3JlcG9ydF9ibG9ja3MpOgoJICBBZGQgc29tZSBkZWJ1Zy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKGNhbGN1bGF0ZV9qaXR0ZXIpLAoJICAocnRwX3NvdXJjZV9zZW5kX3J0cCk6CgkgIE1ha2Ugc3VyZSB3ZSBhbHdheXMgc2VuZCBSVFAgcGFja2V0cyB3aXRoIHRoZSBzZXNzaW9uIFNTUkMuCgoyMDA3LTA4LTI3IDIxOjE3OjIxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFdoZW4gc3luY2hyb25pemluZyBidWZmZXJzLCB0YWtlIHBlZXIgbGF0ZW5jeSBpbnRvIGFjY291bnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYW5nZV9zdGF0ZSksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfcXVlcnkpOgoJICBXaGVuIHN5bmNocm9uaXppbmcgYnVmZmVycywgdGFrZSBwZWVyIGxhdGVuY3kgaW50byBhY2NvdW50LgoJICBEb24ndCB0cnkgdG8gYWRkIG91ciBsYXRlbmN5IHRvIGludmFsaWQgcGVlciBtYXggbGF0ZW5jeSB2YWx1ZXMuCgoyMDA3LTA4LTIzIDIxOjM5OjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUmVuYW1lIGFsbCBHc3RSVFBGb28gc3RydWN0cyB0byBHc3RSdHBGb28gc28gdGhhdCBHU1RfQk9JTEVSUExBVEUgcmVnaXN0ZXJzIGEgR1R5cGUgdGhhdCdzIGRpZmZlcmVudCB0aGFuIHRoZSBHc3RSVFBGLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4Lmg6CgkgIFJlbmFtZSBhbGwgR3N0UlRQRm9vIHN0cnVjdHMgdG8gR3N0UnRwRm9vIHNvIHRoYXQgR1NUX0JPSUxFUlBMQVRFCgkgIHJlZ2lzdGVycyBhIEdUeXBlIHRoYXQncyBkaWZmZXJlbnQgdGhhbiB0aGUgR3N0UlRQRm9vIHR5cGVzIHRoYXQKCSAgZmFyc2lnaHQgcmVnaXN0ZXJzIChsdWNraWx5IEdUeXBlIG5hbWVzIGFyZSBjYXNlIHNlbnNpdGl2ZSkuIFNob3VsZAoJICBmaW5hbGx5IGZpeCAjNDMwNjY0LgoKMjAwNy0wOC0yMSAxNzoxODoyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBXaGVuIGRyb3Atb24tbGF0ZW5jeSBpcyBzZXQgYnV0IHdlIGhhdmUgbm8gbGF0ZW5jeSBjb25maWd1cmVkLCBqdXN0IHB1c2ggdGhlIGJ1Zi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc2V0X3Byb3BlcnR5KToKCSAgV2hlbiBkcm9wLW9uLWxhdGVuY3kgaXMgc2V0IGJ1dCB3ZSBoYXZlIG5vIGxhdGVuY3kgY29uZmlndXJlZCwganVzdCBwdXNoCgkgIHRoZSBidWZmZXIgYXMgZmFzdCBhcyBwb3NzaWJsZS4KCSAgRml4IHR5cG8gaW4gY29tbWVudC4KCjIwMDctMDgtMjEgMTY6MDQ6NDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuKjogRml4IHVuZGVmaW5lZCBvdmVyZmxvdyBwcm9uZSB0c19kaWZmIGhhbmRsaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX2dldF90c19kaWZmKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgRml4IHVuZGVmaW5lZCBvdmVyZmxvdyBwcm9uZSB0c19kaWZmIGhhbmRsaW5nLgoKMjAwNy0wOC0xNiAxMTo0MDoxNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBGaXggRU9TIGhhbmRsaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zaW5rX2V2ZW50KSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIEZpeCBFT1MgaGFuZGxpbmcuCgkgIENvbnZlcnQgc29tZSBERUJVRyBpbnRvIFdBUk5JTkdzLgoJICBQYXVzZSB0YXNrIHdoZW4gZmx1c2hpbmcuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAocnRjcF90aHJlYWQpLCAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3JlY3ZfcnRjcF9zaW5rKToKCSAgVXNlIHN5c3RlbSBjbG9jayBmb3IgUlRDUCBzZXNzaW9uIG1hbmFnZW1lbnQgdGltZW91dHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAob25fbmV3X3NzcmMpLCAob25fc3NyY19jb2xsaXNpb24pLAoJICAob25fc3NyY192YWxpZGF0ZWQpLCAob25fYnllX3NzcmMpLCAob25fYnllX3RpbWVvdXQpLCAob25fdGltZW91dCk6CgkgIFJlbGVhc2UgdGhlIHNlc3Npb24gbG9jayB3aGVuIGVtaXRpbmcgc2lnbmFscy4KCjIwMDctMDgtMTMgMDY6MTY6NDAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiBJbmNsdWRlIHN0ZGxpYi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIEluY2x1ZGUgc3RkbGliLgoKMjAwNy0wOC0xMCAxNzoxNjo1MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogUmVtb3ZlIGNvbXBsaWNhdGVkIGFzeW5jIHF1ZXVlIGFuZCByZXBsYWNlIHdpdGggbW9yZSBzaW1wbGUgaml0dGVyYnVmZmVyIGNvZGUgd2hpbGUgYWxzbyBmaXhpbmcgc29tZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLAoJICAocnRwX2ppdHRlcl9idWZmZXJfaW5pdCksIChydHBfaml0dGVyX2J1ZmZlcl9maW5hbGl6ZSksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9uZXcpLCAoY29tcGFyZV9zZXFudW0pLAoJICAocnRwX2ppdHRlcl9idWZmZXJfaW5zZXJ0KSwgKHJ0cF9qaXR0ZXJfYnVmZmVyX3BvcCksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9mbHVzaCksIChydHBfaml0dGVyX2J1ZmZlcl9udW1fcGFja2V0cyksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9nZXRfdHNfZGlmZik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIFJlbW92ZSBjb21wbGljYXRlZCBhc3luYyBxdWV1ZSBhbmQgcmVwbGFjZSB3aXRoIG1vcmUgc2ltcGxlIGppdHRlcmJ1ZmZlcgoJICBjb2RlIHdoaWxlIGFsc28gZml4aW5nIHNvbWUgYnVncy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAob25fbmV3X3NzcmMpLCAob25fc3NyY19jb2xsaXNpb24pLAoJICAob25fc3NyY192YWxpZGF0ZWQpLCAob25fYnllX3NzcmMpLCAob25fYnllX3RpbWVvdXQpLCAob25fdGltZW91dCksCgkgIChjcmVhdGVfc2Vzc2lvbiksIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwgKGNyZWF0ZV9yZWN2X3J0cCksCgkgIChjcmVhdGVfc2VuZF9ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2luaXQpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2Rpc3Bvc2UpLAoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdGFydCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RvcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zaW5rX2V2ZW50KSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChvbl9uZXdfc3NyYyksCgkgIChvbl9zc3JjX2NvbGxpc2lvbiksIChvbl9zc3JjX3ZhbGlkYXRlZCksIChvbl9ieWVfc3NyYyksCgkgIChvbl9ieWVfdGltZW91dCksIChvbl90aW1lb3V0KSwgKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAob25fYnllX3NzcmMpLCAoc2Vzc2lvbl9jbGVhbnVwKToKCSAgVXNlIG5ldyBqaXR0ZXJidWZmZXIgY29kZS4KCSAgRXhwb3NlIHNvbWUgbmV3IHNpZ25hbHMgaW4gcHJlcGFyYXRpb24gZm9yIGhhbmRsaW5nIEVPUy4KCjIwMDctMDctMTggMDc6MzU6MzIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEFkZCBzdGRsaWIgaW5jbHVkZSAoZnJlZSwgYXRvaSwgZXhpdCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmNfZXguYzoKCSAgKiBleGFtcGxlcy9zd2l0Y2gvc3dpdGNoZXIuYzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzoKCSAgKiBnc3QvbXZlL212ZWF1ZGlvZW5jLmM6IChtdmVfY29tcHJlc3NfYXVkaW8pOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIEFkZCBzdGRsaWIgaW5jbHVkZSAoZnJlZSwgYXRvaSwgZXhpdCkuCgoyMDA3LTA2LTIyIDIwOjIzOjE4ICswMDAwICBKZW5zIEdyYW5zZXVlciA8amVuc2dyQGdteC5uZXQ+CgoJICBnc3QvOiBCdWlsZCBmaXhlcyBmb3IgZ2NjLTIuOXggKG5vIG1pZC1ibG9jayB2YXJpYWJsZSBkZWNsYXJhdGlvbnMgZXRjLikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSmVucyBHcmFuc2V1ZXIgIDxqZW5zZ3IgYXQgZ214IG5ldD4KCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuYzoKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9wdXNoX3NvcnRlZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6IChnc3Rfc3dpdGNoX2NoYWluKToKCSAgQnVpbGQgZml4ZXMgZm9yIGdjYy0yLjl4IChubyBtaWQtYmxvY2sgdmFyaWFibGUgZGVjbGFyYXRpb25zIGV0Yy4pLgoJICBGaXhlcyAjNDUwMTg1LgoKMjAwNy0wNS0yOCAxNjozNzo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIFJlbmFtZSBlbGVtZW50cyB0byBhdm9pZCBjb25mbGljdCB3aXRoIGZhcnNpZ2h0IGVsZW1lbnRzIHdpdGggdGhlIHNhbWUgbmFtZS4gRml4ZXMgIzQzMDY2NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3Nlc3Npb24pLCAoY3JlYXRlX3N0cmVhbSksCgkgIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwgKGNyZWF0ZV9yZWN2X3J0cCksIChjcmVhdGVfcmVjdl9ydGNwKSwKCSAgKGNyZWF0ZV9zZW5kX3J0cCksIChjcmVhdGVfcnRjcCksIChnc3RfcnRwX2Jpbl9yZXF1ZXN0X25ld19wYWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOiAoY3JlYXRlX3N0cmVhbSksCgkgIChnc3RfcnRwX2NsaWVudF9yZXF1ZXN0X25ld19wYWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsZWFyX3B0X21hcCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbWFuYWdlci5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25fcmVxdWVzdF9uZXdfcGFkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgUmVuYW1lIGVsZW1lbnRzIHRvIGF2b2lkIGNvbmZsaWN0IHdpdGggZmFyc2lnaHQgZWxlbWVudHMgd2l0aCB0aGUgc2FtZQoJICBuYW1lLiBGaXhlcyAjNDMwNjY0LgoKMjAwNy0wNS0yMyAxMzowODo1MiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIERvY3VtZW50IHN0dWZmLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xlYXJfcHRfbWFwKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9wdF9kZW11eF9jbGVhcl9wdF9tYXApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChydGNwX3RocmVhZCksIChnc3RfcnRwX3Nlc3Npb25fY2xlYXJfcHRfbWFwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfY2xhc3NfaW5pdCk6CgkgIERvY3VtZW50IHN0dWZmLgoJICBBZGQgY2xlYXItcHQtbWFwIGFjdGlvbiBzaWduYWwgd2hlcmUgbmVlZGVkLgoKMjAwNy0wNS0xNSAxMzoyOTo1MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogV2UgYWx3YXlzIHVzZSBmaXhlZCBjYXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2NoYWluKToKCSAgV2UgYWx3YXlzIHVzZSBmaXhlZCBjYXBzLgoKMjAwNy0wNS0xNSAwMzo0NTo0NSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogZ19oYXNoX3RhYmxlX3JlbW92ZV9hbGwoKSBvbmx5IGV4aXN0cyBpbiAyLjEyLiAgV29yayBhcm91bmQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBnX2hhc2hfdGFibGVfcmVtb3ZlX2FsbCgpIG9ubHkgZXhpc3RzIGluIDIuMTIuICBXb3JrIGFyb3VuZC4KCjIwMDctMDUtMTQgMTU6Mjg6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuYzogRml4IGxlYWsgd2hlbiBmbHVzaGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmM6CgkgIChhc3luY19qaXR0ZXJfcXVldWVfc2V0X2ZsdXNoaW5nX3VubG9ja2VkKToKCSAgRml4IGxlYWsgd2hlbiBmbHVzaGluZy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2NsZWFyX3B0X21hcCksCgkgIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgQWRkIGNsZWFyLXB0LW1hcCBzaWduYWwuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RvcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc2lua19ldmVudCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIEluaXQgY2xvY2stcmF0ZSB0byAtMSB0byBtYXJrIHVua25vdyBjbG9jayByYXRlLgoJICBGaXggZmx1c2hpbmcuCgoyMDA3LTA1LTEwIDE0OjAyOjA3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmMgKGdzdF9xdGRlbXV4X21vdmVfc3RyZWFtLCBnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlciwgZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCwgZ3N0X3F0ZGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jIChnc3RfcXRkZW11eF9tb3ZlX3N0cmVhbSwKCSAgZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIsIGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQsCgkgIGdzdF9xdGRlbXV4X3ByZXBhcmVfY3VycmVudF9zYW1wbGUsIGdzdF9xdGRlbXV4X2NvbWJpbmVfZmxvd3MsCgkgIGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUsIGdzdF9xdGRlbXV4X2xvb3AsCgkgIHF0ZGVtdXhfcGFyc2Vfc2VnbWVudHMsIHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jIChydHBfc2Vzc2lvbl9nZXRfYmFuZHdpZHRoLAoJICBydHBfc2Vzc2lvbl9nZXRfcnRjcF9iYW5kd2lkdGgsIHJ0cF9zZXNzaW9uX2dldF9jbmFtZSwKCSAgcnRwX3Nlc3Npb25fZ2V0X25hbWUsIHJ0cF9zZXNzaW9uX2dldF9lbWFpbCwgcnRwX3Nlc3Npb25fZ2V0X3Bob25lLAoJICBydHBfc2Vzc2lvbl9nZXRfbG9jYXRpb24sIHJ0cF9zZXNzaW9uX2dldF90b29sLAoJICBydHBfc2Vzc2lvbl9wcm9jZXNzX2J5ZSwgc2Vzc2lvbl9yZXBvcnRfYmxvY2tzKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYyAocnRwX3NvdXJjZV9wcm9jZXNzX3J0cCwKCSAgcnRwX3NvdXJjZV9zZW5kX3J0cCwgcnRwX3NvdXJjZV9wcm9jZXNzX3NyLCBydHBfc291cmNlX3Byb2Nlc3NfcmIpOgoJICBNb3JlIGZvcm1hdCBhcmcgZml4aW5nIChzcG90dGVkIGJ5IEFsaSBTYWJpbCA8YWxpLnNhYmlsQGdtYWlsLmNvbT4pLgoJICAqIGdzdC9zd2l0Y2gvTWFrZWZpbGUuYW06CgkgIEFkZCByZXF1aXJlIGxpYnJhcmllcyhzcG90dGVkIGJ5IEFsaSBTYWJpbCA8YWxpLnNhYmlsQGdtYWlsLmNvbT4pLgoKMjAwNy0wNS0xMCAxMjozODo0OSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmM6CgkgIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5jICh0YWlsX2J1ZmZlcl9kdXJhdGlvbiwgYXN5bmNfaml0dGVyX3F1ZXVlX3JlZiwgYXN5bmNfaml0dGVyX3F1ZXVlX3JlZl91bmxvY2tlZCwgYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuYyAodGFpbF9idWZmZXJfZHVyYXRpb24sCgkgIGFzeW5jX2ppdHRlcl9xdWV1ZV9yZWYsIGFzeW5jX2ppdHRlcl9xdWV1ZV9yZWZfdW5sb2NrZWQsCgkgIGFzeW5jX2ppdHRlcl9xdWV1ZV9zZXRfbG93X3RocmVzaG9sZCwKCSAgYXN5bmNfaml0dGVyX3F1ZXVlX2xlbmd0aF90c191bml0c191bmxvY2tlZCwKCSAgYXN5bmNfaml0dGVyX3F1ZXVlX3VucmVmX2FuZF91bmxvY2ssIGFzeW5jX2ppdHRlcl9xdWV1ZV91bnJlZiwKCSAgYXN5bmNfaml0dGVyX3F1ZXVlX2xvY2ssIGFzeW5jX2ppdHRlcl9xdWV1ZV9wdXNoLAoJICBhc3luY19qaXR0ZXJfcXVldWVfcHVzaF91bmxvY2tlZCwgYXN5bmNfaml0dGVyX3F1ZXVlX3B1c2hfc29ydGVkLAoJICBhc3luY19qaXR0ZXJfcXVldWVfcG9wX2ludGVybl91bmxvY2tlZCwgYXN5bmNfaml0dGVyX3F1ZXVlX3BvcCwKCSAgYXN5bmNfaml0dGVyX3F1ZXVlX3BvcF91bmxvY2tlZCwgYXN5bmNfaml0dGVyX3F1ZXVlX2xlbmd0aF91bmxvY2tlZCwKCSAgYXN5bmNfaml0dGVyX3F1ZXVlX3NldF9mbHVzaGluZ191bmxvY2tlZCwKCSAgYXN5bmNfaml0dGVyX3F1ZXVlX3Vuc2V0X2ZsdXNoaW5nX3VubG9ja2VkKToKCSAgRm9ybWF0IGFyZyBmaXggKHNwb3R0ZWQgYnkgQWxpIFNhYmlsIDxhbGkuc2FiaWxAZ21haWwuY29tPikKCjIwMDctMDUtMDkgMTE6MjQ6MjIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogUGFzcyBxdWVyaWVzIHVwc3RyZWFtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9xdWVyeSk6CgkgIFBhc3MgcXVlcmllcyB1cHN0cmVhbS4KCjIwMDctMDUtMDQgMTI6MzI6MjcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogQWRkIHNvbWUgZGVidWcgaW5mby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfcXVlcnkpOgoJICBBZGQgc29tZSBkZWJ1ZyBpbmZvLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2luaXQpLAoJICAocnRwX3Nlc3Npb25fc2VuZF9ydHApOgoJICBTdG9yZSByZWFsIHVzZXIgbmFtZSBpbiB0aGUgc2Vzc2lvbi4KCjIwMDctMDQtMzAgMTM6NDE6MzAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuYzogRml4IHRoZSBjYXNlIHdoZXJlIHRoZSBidWZmZXIgdW5kZXJydW5zIGFuZCBkb2VzIG5vdCBibG9jay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmM6IChzaWduYWxfd2FpdGluZ190aHJlYWRzKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9wb3BfaW50ZXJuX3VubG9ja2VkKToKCSAgRml4IHRoZSBjYXNlIHdoZXJlIHRoZSBidWZmZXIgdW5kZXJydW5zIGFuZCBkb2VzIG5vdCBibG9jay4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2Jhc2VfaW5pdCksCgkgIChjcmVhdGVfcmVjdl9ydGNwKSwgKGNyZWF0ZV9zZW5kX3J0cCksIChjcmVhdGVfcnRjcCksCgkgIChnc3RfcnRwX2Jpbl9yZXF1ZXN0X25ld19wYWQpOgoJICBSZW5hbWUgUlRDUCBzZW5kIHBhZCwgbGlrZSBpbiB0aGUgc2Vzc2lvbiBtYW5hZ2VyLgoJICBBbGxvdyBnZXR0aW5nIGFuIFJUQ1AgcGFkIGZvciByZWNlaXZpbmcgZXZlbiBpZiB3ZSBkb24ndCByZWNlaXZlIFJUUC4KCSAgZml4IGhhbmRsaW5nIG9mIHNlbmRfcnRwX3NyYyBwYWQuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9jaGFpbik6CgkgIFdoZW4gbm8gcHQgbWFwIGNvdWxkIGJlIGZvdW5kLCBmYWxsIGJhY2sgdG8gdGhlIHNpbmtwYWQgY2Fwcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRwKSwgKGNyZWF0ZV9yZWN2X3J0cF9zaW5rKSwKCSAgKGNyZWF0ZV9yZWN2X3J0Y3Bfc2luayksIChjcmVhdGVfc2VuZF9ydHBfc2luayksCgkgIChjcmVhdGVfc2VuZF9ydGNwX3NyYyk6CgkgIEZpeCBwYWQgbmFtZXMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAoc291cmNlX3B1c2hfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX2NyZWF0ZV9zb3VyY2UpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksCgkgIChydHBfc2Vzc2lvbl9zZW5kX3J0cCksIChzZXNzaW9uX3N0YXJ0X3J0Y3ApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgVW5sb2NrIHNlc3Npb24gd2hlbiBwZXJmb3JtaW5nIGEgY2FsbGJhY2suCgkgIEFkZCBjYWxsYmFja3MgZm9yIHRoZSBpbnRlcm5hbCBzZXNzaW9uIG9iamVjdC4KCSAgRml4IHNlbmRpbmcgb2YgUlRQIHBhY2tldHMuCgkgIGZpcnN0IGF0dGVtcHQgYXQgYWRkaW5nIE5UUCB0aW1lcyBpbiB0aGUgU1IgcGFja2V0cy4KCSAgU21hbGwgZGVidWcgYW5kIGRvYyBpbXByb3ZlbWVudHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX3NlbmRfcnRwKToKCSAgVXBkYXRlIHN0YXRzIGZvciBTUiByZXBvcnRzLgoKMjAwNy0wNC0yOSAxNDo0NjoyNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogUmVtb3ZlIGRlYnVnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydGNwKToKCSAgUmVtb3ZlIGRlYnVnLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zZGVzKSwgKGNhbGN1bGF0ZV9ydGNwX2ludGVydmFsKSwKCSAgKHJ0cF9zZXNzaW9uX25leHRfdGltZW91dCksIChzZXNzaW9uX3JlcG9ydF9ibG9ja3MpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6IChydHBfc3RhdHNfY2FsY3VsYXRlX3J0Y3BfaW50ZXJ2YWwpOgoJICBJbXByb3ZlIGRlYnVnZ2luZwoJICBGaXggaW50ZXJ2YWwgZm9yIEJZRS9SVENQIHBhY2tldHMuCgoyMDA3LTA0LTI3IDE1OjA5OjEyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBNb3ZlIHJlY29uc2lkZXJhdGlvbiBjb2RlIHRvIHRoZSBydHBzZXNzaW9uIG9iamVjdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAocnRjcF90aHJlYWQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRjcCksIChnc3RfcnRwX3Nlc3Npb25fcmVjb25zaWRlcik6CgkgIE1vdmUgcmVjb25zaWRlcmF0aW9uIGNvZGUgdG8gdGhlIHJ0cHNlc3Npb24gb2JqZWN0LgoJICBTaW1wbGlmeSB0aW1vdXQgaGFuZGxpbmcgYW5kIGFkZCByZWNvbnNpZGVyYXRpb24uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChydHBfc2Vzc2lvbl9pbml0KSwgKHJ0cF9zZXNzaW9uX2ZpbmFsaXplKSwgKG9uX2J5ZV9zc3JjKSwKCSAgKG9uX2J5ZV90aW1lb3V0KSwgKG9uX3RpbWVvdXQpLCAocnRwX3Nlc3Npb25fc2V0X2NhbGxiYWNrcyksCgkgIChvYnRhaW5fc291cmNlKSwgKHJ0cF9zZXNzaW9uX2NyZWF0ZV9zb3VyY2UpLAoJICAodXBkYXRlX2Fycml2YWxfc3RhdHMpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3JyKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfYnllKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRjcCksCgkgIChjYWxjdWxhdGVfcnRjcF9pbnRlcnZhbCksIChydHBfc2Vzc2lvbl9zZW5kX2J5ZSksCgkgIChydHBfc2Vzc2lvbl9uZXh0X3RpbWVvdXQpLCAoc2Vzc2lvbl9zdGFydF9ydGNwKSwKCSAgKHNlc3Npb25fcmVwb3J0X2Jsb2NrcyksIChzZXNzaW9uX2NsZWFudXApLCAoc2Vzc2lvbl9zZGVzKSwKCSAgKHNlc3Npb25fYnllKSwgKGlzX3J0Y3BfdGltZSksIChydHBfc2Vzc2lvbl9vbl90aW1lb3V0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIEhhbmRsZSB0aW1lb3V0IG9mIGluYWN0aXZlIHNvdXJjZXMgYW5kIHNlbmRlcnMuCgkgIEltcGxlbWVudCBCWUUgc2NoZWR1bGluZy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKGNhbGN1bGF0ZV9qaXR0ZXIpLAoJICAocnRwX3NvdXJjZV9wcm9jZXNzX3NyKSwgKHJ0cF9zb3VyY2VfZ2V0X2xhc3Rfc3IpLAoJICAocnRwX3NvdXJjZV9nZXRfbGFzdF9yYik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIEFkZCBtZW1iZXJzIHRvIGNoZWNrIGZvciB0aW1lb3V0cy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOiAocnRwX3N0YXRzX2luaXRfZGVmYXVsdHMpLAoJICAocnRwX3N0YXRzX2NhbGN1bGF0ZV9ydGNwX2ludGVydmFsKSwgKHJ0cF9zdGF0c19hZGRfcnRjcF9qaXR0ZXIpLAoJICAocnRwX3N0YXRzX2NhbGN1bGF0ZV9ieWVfaW50ZXJ2YWwpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIFVzZSBSRkMgYWxnb3JpdGhtIGZvciBjYWxjdWxhdGluZyB0aGUgcmVwb3J0aW5nIGludGVydmFsLgoKMjAwNy0wNC0yNSAxNjozODowMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogSW1wbGVtZW50IGZvcndhcmQgYW5kIHJldmVyc2UgcmVjb25zaWRlcmF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChydGNwX3RocmVhZCk6CgkgIEltcGxlbWVudCBmb3J3YXJkIGFuZCByZXZlcnNlIHJlY29uc2lkZXJhdGlvbi4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9nZXRfbnVtX3NvdXJjZXMpLAoJICAocnRwX3Nlc3Npb25fZ2V0X251bV9hY3RpdmVfc291cmNlcyksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwKCSAgKHNlc3Npb25fcmVwb3J0X2Jsb2Nrcyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBTbWFsbCBjbGVhbnVwcy4KCjIwMDctMDQtMjUgMTU6NDg6NDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uKjogTWFrZSBkZWZhdWx0IGppdHRlcmJ1ZmZlciBsYXRlbmN5IGNvbmZpZ3VyYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJldmlld2VkIGJ5OiA8ZGVsZXRlIGlmIG5vdCB1c2luZyBhIGJ1ZGR5PgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3N0cmVhbSksCgkgIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwgKGdzdF9ydHBfYmluX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2Jpbl9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBNYWtlIGRlZmF1bHQgaml0dGVyYnVmZmVyIGxhdGVuY3kgY29uZmlndXJhYmxlLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldF9wcm9wZXJ0eSk6CgkgIERlYnVnaW5nIGNsZWFudXBzLgoKMjAwNy0wNC0yNSAxMzoxOTozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBSZXBvcnQgTk9fUFJFUk9MTCB3aGVuIGdvaW5nIHRvIFBBVVNFRC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhbmdlX3N0YXRlKToKCSAgUmVwb3J0IE5PX1BSRVJPTEwgd2hlbiBnb2luZyB0byBQQVVTRUQuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAocnRjcF90aHJlYWQpOgoJICBEb24ndCBzZW5kIFJUQ1AgcmlnaHQgYmVmb3JlIHdlIGFyZSBzaHV0dGluZyBkb3duLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLCAoc2Vzc2lvbl9yZXBvcnRfYmxvY2tzKSwKCSAgKHJ0cF9zZXNzaW9uX3BlcmZvcm1fcmVwb3J0aW5nKToKCSAgSW1wcm92ZSByZXBvcnQgYmxvY2tzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAoY2FsY3VsYXRlX2ppdHRlciksIChpbml0X3NlcSksCgkgIChydHBfc291cmNlX3Byb2Nlc3NfcnRwKSwgKHJ0cF9zb3VyY2VfcHJvY2Vzc19zciksCgkgIChydHBfc291cmNlX3Byb2Nlc3NfcmIpLCAocnRwX3NvdXJjZV9nZXRfbGFzdF9zciksCgkgIChydHBfc291cmNlX2dldF9sYXN0X3JiKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBDbGVhbnVwcywgYWRkIG1ldGhvZHMgdG8gYWNjZXNzIHN0YXRzLgoKMjAwNy0wNC0yNSAwODozMDo0OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBmaXggZm9yIHBhZCBuYW1lIGNoYW5nZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9ydGNwKToKCSAgZml4IGZvciBwYWQgbmFtZSBjaGFuZ2UKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChydGNwX3RocmVhZCksCgkgIChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydGNwKSwgKGdzdF9ydHBfc2Vzc2lvbl9jbG9ja19yYXRlKToKCSAgRml4IGZvciByZW5hbWVkIG1ldGhvZHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25faW5pdCksCgkgIChydHBfc2Vzc2lvbl9maW5hbGl6ZSksIChydHBfc2Vzc2lvbl9zZXRfY25hbWUpLAoJICAocnRwX3Nlc3Npb25fZ2V0X2NuYW1lKSwgKHJ0cF9zZXNzaW9uX3NldF9uYW1lKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9uYW1lKSwgKHJ0cF9zZXNzaW9uX3NldF9lbWFpbCksCgkgIChydHBfc2Vzc2lvbl9nZXRfZW1haWwpLCAocnRwX3Nlc3Npb25fc2V0X3Bob25lKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9waG9uZSksIChydHBfc2Vzc2lvbl9zZXRfbG9jYXRpb24pLAoJICAocnRwX3Nlc3Npb25fZ2V0X2xvY2F0aW9uKSwgKHJ0cF9zZXNzaW9uX3NldF90b29sKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF90b29sKSwgKHJ0cF9zZXNzaW9uX3NldF9ub3RlKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9ub3RlKSwgKHNvdXJjZV9wdXNoX3J0cCksIChvYnRhaW5fc291cmNlKSwKCSAgKHJ0cF9zZXNzaW9uX2FkZF9zb3VyY2UpLCAocnRwX3Nlc3Npb25fZ2V0X3NvdXJjZV9ieV9zc3JjKSwKCSAgKHJ0cF9zZXNzaW9uX2NyZWF0ZV9zb3VyY2UpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NkZXMpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydGNwKSwgKHJ0cF9zZXNzaW9uX3NlbmRfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9yZXBvcnRpbmdfaW50ZXJ2YWwpLCAoc2Vzc2lvbl9yZXBvcnRfYmxvY2tzKSwKCSAgKHNlc3Npb25fc2RlcyksIChydHBfc2Vzc2lvbl9wZXJmb3JtX3JlcG9ydGluZyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBQcmVwYXJlIGZvciBpbXBsZW1lbnRpbmcgU1NSQyBzYW1wbGluZy4KCSAgQ3JlYXRlIFNTUkMgZm9yIHRoZSBzZXNzaW9uLgoJICBBZGQgbWV0aG9kcyB0byBzZXQgdGhlIFNERVMgZW50cmllcy4KCSAgZml4IGFjY291bnRpbmcgb2Ygc2VuZGVycy9yZWNlaXZlcnMuCgkgIEltcGxlbWVudCBTUi9SUi9TREVTIFJUQ1AgcmVwb3J0aW5nLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9pbml0KSwgKGluaXRfc2VxKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19ydHApLCAocnRwX3NvdXJjZV9wcm9jZXNzX3NyKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgSW1wbGVtZW50IGV4dGVuZGVkIHNlcXVlbmNlIG51bWJlci4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOiAocnRwX3N0YXRzX2NhbGN1bGF0ZV9ydGNwX2ludGVydmFsKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBSZW5hbWUgc29tZSBmaWVsZHMuCgoyMDA3LTA0LTIxIDE5OjIxOjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiBEb24ndCB1c2UgR0xpYi0yLjEwIEFQSSwgd2Ugb25seSByZXF1aXJlIEdMaWIgMi44IGF0IHRoZSBtb21lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2ZpbmFsaXplKToKCSAgRG9uJ3QgdXNlIEdMaWItMi4xMCBBUEksIHdlIG9ubHkgcmVxdWlyZSBHTGliIDIuOCBhdCB0aGUgbW9tZW50LgoKMjAwNy0wNC0xOCAxODo1ODo1MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogRGlzYWJsZSBydHBtYW5hZ2VyIGZvciBub3cgYmVjYXVzZSBpdCBkZXBlbmRzIG9uIENWUyAtYmFzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBEaXNhYmxlIHJ0cG1hbmFnZXIgZm9yIG5vdyBiZWNhdXNlIGl0IGRlcGVuZHMgb24gQ1ZTIC1iYXNlLgoJICAqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJICBBZGRlZCBuZXcgZmlsZXMgZm9yIHNlc3Npb24gbWFuYWdlci4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zZXNzaW9uKSwgKGdldF9wdF9tYXApLAoJICAoY3JlYXRlX3N0cmVhbSksIChwdF9tYXBfcmVxdWVzdGVkKSwgKG5ld19zc3JjX3BhZF9mb3VuZCk6CgkgIFNvbWUgY2xlYW51cHMuCgkgIHRoZSBzZXNzaW9uIG1hbmFnZXIgY2FuIG5vdyBhbHNvIHJlcXVlc3QgYSBwdC1tYXAuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksIChnc3RfcnRwX3Nlc3Npb25faW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZmluYWxpemUpLCAocnRjcF90aHJlYWQpLCAoc3RhcnRfcnRjcF90aHJlYWQpLAoJICAoc3RvcF9ydGNwX3RocmVhZCksIChnc3RfcnRwX3Nlc3Npb25fY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksIChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRjcCksIChnc3RfcnRwX3Nlc3Npb25fY2xvY2tfcmF0ZSksCgkgIChnc3RfcnRwX3Nlc3Npb25fZ2V0X3RpbWUpLCAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3JlY3ZfcnRwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9yZWN2X3J0Y3Bfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydGNwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9zZW5kX3J0cCksIChjcmVhdGVfc2VuZF9ydGNwX3NyYyksCgkgIChnc3RfcnRwX3Nlc3Npb25fcmVxdWVzdF9uZXdfcGFkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkgIFdlIGNhbiBhc2sgZm9yIHB0LW1hcCBub3cgdG9vIHdoZW4gdGhlIHNlc3Npb24gbWFuYWdlciBuZWVkcyBpdC4KCSAgSG9vayB1cCB0byB0aGUgbmV3IHNlc3Npb24gbWFuYWdlciwgaW1wbGVtZW50IHRoZSBuZWVkZWQgY2FsbGJhY2tzIGZvcgoJICBwdXNoaW5nIGRhdGEsIGdldHRpbmcgY2xvY2sgdGltZSBhbmQgcmVxdWVzdGluZyBjbG9jay1yYXRlcy4KCSAgUmVuYW1lIHJ0Y3Bfc3JjIHRvIHNlbmRfcnRjcF9zcmMgdG8gbWFrZSBpdCBjbGVhciB0aGF0IHRoaXMgUlRDUCBpcyB0bwoJICBiZSBzZW5kIHRvIGNsaWVudHMuCgkgIEFkZCBjb2RlIHRvIHN0YXJ0IGFuZCBzdG9wIHRoZSB0aHJlYWQgdGhhdCB3aWxsIHNjaGVkdWxlIFJUQ1AgdGhyb3VnaAoJICB0aGUgc2Vzc2lvbiBtYW5hZ2VyLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAocnRwX3Nlc3Npb25faW5pdCksIChydHBfc2Vzc2lvbl9maW5hbGl6ZSksCgkgIChydHBfc2Vzc2lvbl9zZXRfcHJvcGVydHkpLCAocnRwX3Nlc3Npb25fZ2V0X3Byb3BlcnR5KSwKCSAgKG9uX25ld19zc3JjKSwgKG9uX3NzcmNfY29sbGlzaW9uKSwgKG9uX3NzcmNfdmFsaWRhdGVkKSwKCSAgKG9uX2J5ZV9zc3JjKSwgKHJ0cF9zZXNzaW9uX25ldyksIChydHBfc2Vzc2lvbl9zZXRfY2FsbGJhY2tzKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9iYW5kd2lkdGgpLCAocnRwX3Nlc3Npb25fZ2V0X2JhbmR3aWR0aCksCgkgIChydHBfc2Vzc2lvbl9zZXRfcnRjcF9iYW5kd2lkdGgpLCAocnRwX3Nlc3Npb25fZ2V0X3J0Y3BfYmFuZHdpZHRoKSwKCSAgKHNvdXJjZV9wdXNoX3J0cCksIChzb3VyY2VfY2xvY2tfcmF0ZSksIChjaGVja19jb2xsaXNpb24pLAoJICAob2J0YWluX3NvdXJjZSksIChydHBfc2Vzc2lvbl9hZGRfc291cmNlKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9udW1fc291cmNlcyksCgkgIChydHBfc2Vzc2lvbl9nZXRfbnVtX2FjdGl2ZV9zb3VyY2VzKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9zb3VyY2VfYnlfc3NyYyksCgkgIChydHBfc2Vzc2lvbl9nZXRfc291cmNlX2J5X2NuYW1lKSwgKHJ0cF9zZXNzaW9uX2NyZWF0ZV9zb3VyY2UpLAoJICAodXBkYXRlX2Fycml2YWxfc3RhdHMpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3JyKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc2RlcyksIChydHBfc2Vzc2lvbl9wcm9jZXNzX2J5ZSksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX2FwcCksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0Y3ApLAoJICAocnRwX3Nlc3Npb25fc2VuZF9ydHApLCAocnRwX3Nlc3Npb25fZ2V0X3J0Y3BfaW50ZXJ2YWwpLAoJICAocnRwX3Nlc3Npb25fcHJvZHVjZV9ydGNwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIFRoZSBhZHZhbmNlZCBiZWdpbm5pbmdzIG9mIHRoZSBtYWluIHNlc3Npb24gbWFuYWdlciB0aGF0IGhhbmRsZXMgdGhlCgkgIHBhcnRpY2lwYW50IGRhdGFiYXNlIG9mIFJUUFNvdXJjZXMsIFNTUkMgcHJvYmF0aW9uLCBTU1JDIGNvbGxpc2lvbnMsCgkgIHBhcnNlIFJUQ1AgdG8gdXBkYXRlIHNvdXJjZSBzdGF0cy4gZXRjLi4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfY2xhc3NfaW5pdCksCgkgIChydHBfc291cmNlX2luaXQpLCAocnRwX3NvdXJjZV9maW5hbGl6ZSksIChydHBfc291cmNlX25ldyksCgkgIChydHBfc291cmNlX3NldF9jYWxsYmFja3MpLCAocnRwX3NvdXJjZV9zZXRfYXNfY3NyYyksCgkgIChydHBfc291cmNlX3NldF9ydHBfZnJvbSksIChydHBfc291cmNlX3NldF9ydGNwX2Zyb20pLAoJICAocHVzaF9wYWNrZXQpLCAoZ2V0X2Nsb2NrX3JhdGUpLCAoY2FsY3VsYXRlX2ppdHRlciksCgkgIChydHBfc291cmNlX3Byb2Nlc3NfcnRwKSwgKHJ0cF9zb3VyY2VfcHJvY2Vzc19ieWUpLAoJICAocnRwX3NvdXJjZV9zZW5kX3J0cCksIChydHBfc291cmNlX3Byb2Nlc3Nfc3IpLAoJICAocnRwX3NvdXJjZV9wcm9jZXNzX3JiKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgT2JqZWN0IHRoYXQgZW5jYXBzdWxhdGVzIGFuIFNTUkMgYW5kIGl0cyBzdGF0ZSBpbiB0aGUgZGF0YWJhc2UuCgkgIENhbGN1bGF0ZXMgdGhlIGppdHRlciBhbmQgdHJhbnNpdCB0aW1lcyBvZiBkYXRhIHBhY2tldHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzogKHJ0cF9zdGF0c19pbml0X2RlZmF1bHRzKSwKCSAgKHJ0cF9zdGF0c19jYWxjdWxhdGVfcnRjcF9pbnRlcnZhbCksIChydHBfc3RhdHNfYWRkX3J0Y3Bfaml0dGVyKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBWYXJpb3VzIHN0YXRzIHJlZ2FyZGluZyB0aGUgc2Vzc2lvbiBhbmQgc291cmNlcy4KCSAgVXNlZCB0byBjYWxjdWxhdGUgdGhlIFJUQ1AgaW50ZXJ2YWwuCgoyMDA3LTA0LTEzIDA5OjIwOjU1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBQcm90ZWN0IGxpc3RzIGFuZCBzdHJ1Y3R1cmVzIHdpdGggbG9ja3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3Nlc3Npb24pLCAoZ2V0X3B0X21hcCksCgkgIChnc3RfcnRwX2Jpbl9pbml0KSwgKGdzdF9ydHBfYmluX2ZpbmFsaXplKSwgKG5ld19zc3JjX3BhZF9mb3VuZCksCgkgIChjcmVhdGVfcmVjdl9ydHApLCAoZ3N0X3J0cF9iaW5fcmVxdWVzdF9uZXdfcGFkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25faW5pdCksIChnc3RfcnRwX3Nlc3Npb25fZmluYWxpemUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3JlY3ZfcnRwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3JlY3ZfcnRjcF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0Y3ApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3JlcXVlc3RfbmV3X3BhZCk6CgkgIFByb3RlY3QgbGlzdHMgYW5kIHN0cnVjdHVyZXMgd2l0aCBsb2Nrcy4KCSAgUmV0dXJuIEZMT1dfT0sgZnJvbSBSVENQIG1lc3NhZ2VzIGZvciBub3cuCgoyMDA3LTA0LTEyIDA4OjE4OjMyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEVtaXQgcHQgbWFwIHJlcXVlc3RzIGFuZCBjYWNoZSByZXN1bHRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zZXNzaW9uKSwgKGdldF9wdF9tYXApLAoJICAoY3JlYXRlX3N0cmVhbSksIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwgKHB0X21hcF9yZXF1ZXN0ZWQpOgoJICBFbWl0IHB0IG1hcCByZXF1ZXN0cyBhbmQgY2FjaGUgcmVzdWx0cy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3NpbmtfcGFyc2VfY2FwcyksCgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldF9jbG9ja19yYXRlKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9jaGFpbik6CgkgIEVtaXQgcmVxdWVzdC1wdC1tYXAgc2lnbmFscy4KCjIwMDctMDQtMTEgMTM6NDk6NTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OiBTb21lIG1vcmUgY3VzdG9tIG1hcnNoYWxsZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OgoJICBTb21lIG1vcmUgY3VzdG9tIG1hcnNoYWxsZXJzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3Nlc3Npb24pLCAoZ2V0X3B0X21hcCksCgkgIChjbG9ja19yYXRlX3JlcXVlc3QpLCAoY3JlYXRlX3N0cmVhbSksIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwKCSAgKHB0X21hcF9yZXF1ZXN0ZWQpLCAobmV3X3NzcmNfcGFkX2ZvdW5kKSwgKGNyZWF0ZV9yZWN2X3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIFByZXBhcmUgZm9yIGNhY2hpbmcgcHQgbWFwcy4KCSAgQ29ubmVjdCB0byBzaWduYWxzIHRvIGNvbGxlY3QgcHQgbWFwcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3Npbmtfc2V0Y2FwcyksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgIEFkZCByZXF1ZXN0X2Nsb2NrX3JhdGUgc2lnbmFsLgoJICBVc2Ugc2NhbGUgaW5zdGVhdCBvZiBzY2FsZV9pbnQgYmVjYXVzZSB0aGUgbGF0ZXIgZG9lcyBub3QgZGVhbCB3aXRoCgkgIG5lZ2F0aXZlIG51bWJlcnMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfcHRfZGVtdXhfY2hhaW4pOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguaDoKCSAgSW1wbGVtZW50IHJlcXVlc3QtcHQtbWFwIHNpZ25hbC4KCjIwMDctMDQtMTAgMDk6MTQ6MDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IEFkZGVkIGN1c3RvbSBtYXJzaGFsbGVycyBmb3Igc2lnbmFscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvLmN2c2lnbm9yZToKCSAgKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OgoJICBBZGRlZCBjdXN0b20gbWFyc2hhbGxlcnMgZm9yIHNpZ25hbHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgUHJlcGFyZSBmb3IgZW1pdGluZyBwdCBtYXAgc2lnbmFscy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NsYXNzX2luaXQpOgoJICBGaXggc2lnbmFscy4KCjIwMDctMDQtMDYgMTI6Mjg6MjkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uKjogUHJvdmlkZSBhIGNsb2NrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9iaW5faW5pdCksIChnc3RfcnRwX2Jpbl9wcm92aWRlX2Nsb2NrKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgUHJvdmlkZSBhIGNsb2NrLgoKMjAwNy0wNC0wNiAxMjowNzozMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBGaXggcGFkIHRlbXBsYXRlIG5hbWUgcGFyc2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfcnRjcCk6CgkgIEZpeCBwYWQgdGVtcGxhdGUgbmFtZSBwYXJzaW5nLgoKMjAwNy0wNC0wNSAxNjoxMDoyNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBBZGQgc29tZSBkZWJ1ZyBhbmQgY29tbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19zZXRjYXBzKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIEFkZCBzb21lIGRlYnVnIGFuZCBjb21tZW50cy4KCSAgRml4IGRvdWJsZSB1bnJlZigpIGluIGVycm9yIGNhc2VzLgoKMjAwNy0wNC0wNSAxMzo1NDoyMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi4qOiBBZGQgZGVidWdnaW5nIGNhdGVnb3J5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGZpbmRfc2Vzc2lvbl9ieV9pZCksCgkgIChjcmVhdGVfc2Vzc2lvbiksIChmaW5kX3N0cmVhbV9ieV9zc3JjKSwgKGNyZWF0ZV9zdHJlYW0pLAoJICAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksIChuZXdfcGF5bG9hZF9mb3VuZCksCgkgIChuZXdfc3NyY19wYWRfZm91bmQpLCAoY3JlYXRlX3JlY3ZfcnRwKSwgKGNyZWF0ZV9yZWN2X3J0Y3ApLAoJICAoY3JlYXRlX3NlbmRfcnRwKSwgKGNyZWF0ZV9ydGNwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgQWRkIGRlYnVnZ2luZyBjYXRlZ29yeS4KCSAgQWRkZWQgUlRQU3RyZWFtIHRvIG1hbmFnZSBzdHJlYW0gcGVyIFNTUkMsIGVhY2ggd2l0aCBpdHMgb3duCgkgIGppdHRlcmJ1ZmZlciBhbmQgcHRkZW11eC4KCSAgQWRkZWQgU1NSQ0RlbXV4LgoJICBDb25uZWN0IHRvIHZhcmlvdXMgU1NSQyBhbmQgUFQgc2lnbmFscyBhbmQgY3JlYXRlIGdob3N0cGFkcywgbGluayBzdHVmZi4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtYW5hZ2VyLmM6IChwbHVnaW5faW5pdCk6CgkgIEFkZGVkIHJ0cGJpbiB0byBlbGVtZW50cy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2NoYWluKToKCSAgRml4IGNhcHMgYW5kIGZvcndhcmQgR3N0Rmxvd1JldHVybgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9yZWN2X3J0cF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfcmVjdl9ydGNwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRjcCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fc2VuZF9ydHApLCAoY3JlYXRlX3JlY3ZfcnRwX3NpbmspLAoJICAoY3JlYXRlX3JlY3ZfcnRjcF9zaW5rKSwgKGNyZWF0ZV9zZW5kX3J0cF9zaW5rKSwgKGNyZWF0ZV9ydGNwX3NyYyksCgkgIChnc3RfcnRwX3Nlc3Npb25fcmVxdWVzdF9uZXdfcGFkKToKCSAgQWRkIGRlYnVnIGNhdGVnb3J5LgoJICBBZGQgZXZlbnQgaGFuZGxpbmcKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzogKGZpbmRfcnRwX3BhZF9mb3Jfc3NyYyksCgkgIChjcmVhdGVfcnRwX3BhZF9mb3Jfc3NyYyksIChnc3RfcnRwX3NzcmNfZGVtdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfaW5pdCksIChnc3RfcnRwX3NzcmNfZGVtdXhfY2hhaW4pLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4Lmg6CgkgIEFkZCBkZWJ1ZyBjYXRlZ29yeS4KCSAgQWRkIG5ldy1wdC1wYWQgc2lnbmFsLgoKMjAwNy0wNC0wNCAxMDoyMzoxNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogQWRkZWQgc2ltcGxlIFNTUkMgZGVtdXhlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbWFuYWdlci5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOiAoZmluZF9wYWRfZm9yX3NzcmMpLAoJICAoY3JlYXRlX3BhZF9mb3Jfc3NyYyksIChnc3RfcnRwX3NzcmNfZGVtdXhfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9jbGFzc19pbml0KSwgKGdzdF9ydHBfc3NyY19kZW11eF9pbml0KSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9maW5hbGl6ZSksIChnc3RfcnRwX3NzcmNfZGVtdXhfc2lua19ldmVudCksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfY2hhaW4pLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X3NyY19ldmVudCksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguaDoKCSAgQWRkZWQgc2ltcGxlIFNTUkMgZGVtdXhlci4KCjIwMDctMDQtMDMgMTE6MzU6MzkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IFNvbWUgbW9yZSBnaG9zdHBhZCBtYWdpYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChmaW5kX3Nlc3Npb25fYnlfaWQpLAoJICAoY3JlYXRlX3Nlc3Npb24pLCAoZ3N0X3J0cF9iaW5fYmFzZV9pbml0KSwgKGNyZWF0ZV9yZWN2X3J0cCksCgkgIChjcmVhdGVfcmVjdl9ydGNwKSwgKGNyZWF0ZV9zZW5kX3J0cCksIChjcmVhdGVfcnRjcCksCgkgIChnc3RfcnRwX2Jpbl9yZXF1ZXN0X25ld19wYWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOgoJICBTb21lIG1vcmUgZ2hvc3RwYWQgbWFnaWMuCgoyMDA3LTA0LTAzIDA5OjUxOjEzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06IEFkZCAuaCBmaWxlIHNvIGl0IGNhbiBiZSBkaXN0ZWQgcHJvcGVybHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJICBBZGQgLmggZmlsZSBzbyBpdCBjYW4gYmUgZGlzdGVkIHByb3Blcmx5LgoKMjAwNy0wNC0wMyAwOToxMzoxNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIEFkZCBSVFAgc2Vzc2lvbiBtYW5hZ2VtZW50IGVsZW1lbnRzLiBTdGlsbCBpbiBwcm9ncmVzcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5jOiAoYXN5bmNfaml0dGVyX3F1ZXVlX25ldyksCgkgIChzaWduYWxfd2FpdGluZ190aHJlYWRzKSwgKGFzeW5jX2ppdHRlcl9xdWV1ZV9yZWYpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3JlZl91bmxvY2tlZCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfc2V0X2xvd190aHJlc2hvbGQpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3NldF9oaWdoX3RocmVzaG9sZCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfc2V0X21heF9xdWV1ZV9sZW5ndGgpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX2dldF9nX3F1ZXVlKSwgKGNhbGN1bGF0ZV90c19kaWZmKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9sZW5ndGhfdHNfdW5pdHNfdW5sb2NrZWQpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3VucmVmX2FuZF91bmxvY2spLCAoYXN5bmNfaml0dGVyX3F1ZXVlX3VucmVmKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9sb2NrKSwgKGFzeW5jX2ppdHRlcl9xdWV1ZV91bmxvY2spLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3B1c2gpLCAoYXN5bmNfaml0dGVyX3F1ZXVlX3B1c2hfdW5sb2NrZWQpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3B1c2hfc29ydGVkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9wdXNoX3NvcnRlZF91bmxvY2tlZCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfaW5zZXJ0X2FmdGVyX3VubG9ja2VkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9wb3BfaW50ZXJuX3VubG9ja2VkKSwgKGFzeW5jX2ppdHRlcl9xdWV1ZV9wb3ApLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3BvcF91bmxvY2tlZCksIChhc3luY19qaXR0ZXJfcXVldWVfbGVuZ3RoKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9sZW5ndGhfdW5sb2NrZWQpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3NldF9mbHVzaGluZ191bmxvY2tlZCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfdW5zZXRfZmx1c2hpbmdfdW5sb2NrZWQpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3NldF9ibG9ja2luZ191bmxvY2tlZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksIChnc3RfcnRwX2Jpbl9pbml0KSwKCSAgKGdzdF9ydHBfYmluX2ZpbmFsaXplKSwgKGdzdF9ydHBfYmluX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2Jpbl9nZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9iaW5fY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfYmluX3JlcXVlc3RfbmV3X3BhZCksIChnc3RfcnRwX2Jpbl9yZWxlYXNlX3BhZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6IChuZXdfcGFkKSwgKGNyZWF0ZV9zdHJlYW0pLAoJICAoZnJlZV9zdHJlYW0pLCAoZmluZF9zdHJlYW1fYnlfc3NyYyksIChnc3RfcnRwX2NsaWVudF9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9jbGllbnRfY2xhc3NfaW5pdCksIChnc3RfcnRwX2NsaWVudF9pbml0KSwKCSAgKGdzdF9ydHBfY2xpZW50X2ZpbmFsaXplKSwgKGdzdF9ydHBfY2xpZW50X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2NsaWVudF9nZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9jbGllbnRfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfY2xpZW50X3JlcXVlc3RfbmV3X3BhZCksIChnc3RfcnRwX2NsaWVudF9yZWxlYXNlX3BhZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50Lmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGFzc19pbml0KSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9pbml0KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9kaXNwb3NlKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRjYXBzKSwKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3Npbmtfc2V0Y2FwcyksIChmcmVlX2Z1bmMpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0YXJ0KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdG9wKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zcmNfYWN0aXZhdGVfcHVzaCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhbmdlX3N0YXRlKSwgKHByaXZfY29tcGFyZV9ydHBfc2VxX2x0KSwKCSAgKGNvbXBhcmVfcnRwX2J1ZmZlcnNfc2VxX251bSksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc2lua19ldmVudCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3F1ZXJ5KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbWFuYWdlci5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfcHRfZGVtdXhfY2xhc3NfaW5pdCksIChnc3RfcnRwX3B0X2RlbXV4X2luaXQpLAoJICAoZ3N0X3J0cF9wdF9kZW11eF9maW5hbGl6ZSksIChnc3RfcnRwX3B0X2RlbXV4X2NoYWluKSwKCSAgKGdzdF9ydHBfcHRfZGVtdXhfZ2V0Y2FwcyksIChmaW5kX3BhZF9mb3JfcHQpLAoJICAoZ3N0X3J0cF9wdF9kZW11eF9zZXR1cCksIChnc3RfcnRwX3B0X2RlbXV4X3JlbGVhc2UpLAoJICAoZ3N0X3J0cF9wdF9kZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwgKGdzdF9ydHBfc2Vzc2lvbl9pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9maW5hbGl6ZSksIChnc3RfcnRwX3Nlc3Npb25fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9nZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRjcCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fc2VuZF9ydHApLCAoY3JlYXRlX3JlY3ZfcnRwX3NpbmspLAoJICAoY3JlYXRlX3JlY3ZfcnRjcF9zaW5rKSwgKGNyZWF0ZV9zZW5kX3J0cF9zaW5rKSwgKGNyZWF0ZV9ydGNwX3NyYyksCgkgIChnc3RfcnRwX3Nlc3Npb25fcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9ydHBfc2Vzc2lvbl9yZWxlYXNlX3BhZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICBBZGQgUlRQIHNlc3Npb24gbWFuYWdlbWVudCBlbGVtZW50cy4gU3RpbGwgaW4gcHJvZ3Jlc3MuCgoyMDA5LTA4LTEwIDEzOjMwOjIzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHB1c2ggbW9kZTsgY2F0ZXIgZm9yIGNodW5rIHBhZGRpbmcKCjIwMDktMDgtMDQgMTk6NDU6NDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogb25seSB1c2Ugc3RyZWFtJ3MgcGFkIGFmdGVyIGhhdmluZyBjaGVja2VkIGl0IGV4aXN0cwoKMjAwOS0wOC0wNCAxMzozODowOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBzcHJpbmtsZSBzb21lIG1vcmUgR1NUX0RFQlVHX0ZVTkNQVFIKCjIwMDktMDgtMDQgMTM6MzY6MzYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogcG9zdCBlcnJvciBtZXNzYWdlIGlmIG5vIHBhZHMgdG8gcHVzaCBFT1MgZXZlbnQgb24KCjIwMDktMDgtMDQgMTE6Mzk6NTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZml4IHR5cG8gaW4gd2FybmluZyBtZXNzYWdlCgoyMDA5LTA4LTA0IDExOjM5OjM5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGZpeCBzb21lIGJ1ZmZlciByZWYgaGFuZGxpbmcKCjIwMDktMDgtMDQgMTE6Mzc6MTYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZG8gbm90IGV4Y2VlZCBtYXhpbXVtIG51bWJlciBvZiBzdXBwb3J0ZWQgc3RyZWFtcwoKMjAwOS0wOC0wNCAxMTozNToxOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBwcmV2ZW50IGRvdWJsZSB1bnJlZjsgZ3N0X2F2aV9kZW11eF9wYXJzZV9hdmloIGFscmVhZHkgdW5yZWZzCgoyMDA5LTA4LTA0IDExOjMyOjI3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHZlcmlmeSBzaXplIG9mIElORk8gTElTVCB0byBzYXRpc2Z5IHN1YnNlcXVlbnQgZXhwZWN0YXRpb25zCgoyMDA5LTA3LTI5IDE1OjI1OjM4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGNoZWNrIHZpZGVvIHN0cmVhbSBmcmFtZXJhdGUgYWdhaW5zdCBhdmkgaGVhZGVyIGZyYW1lIGR1cmF0aW9uCgkgIFRoZSBmb3JtZXIgbWlnaHQgYmUgYm9ndXMgaW4gc2lsbHkgY2FzZXMsIGFuZCB0aGUgbGF0dGVyIHNlZW1zIHRvCgkgIGNhcnJ5IG1vcmUgd2VpZ2h0LgoKMjAwOS0wOC0wNCAxMjoxNjoxMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBzdHJlYW1saW5lIHN0cmVhbSBkdXJhdGlvbiBjYWxjdWxhdGlvbgoKMjAwOS0wNy0wMyAxNDowNDoxMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJICBkdjEzOTRzcmM6IEZpeCBlbGVtZW50IGZvciBsaXZlIHVzYWdlLi4uIHdoaWNoIGhhcyBiZWVuIGJyb2tlbiBmb3IgMiB5ZWFycyA6KAoJICBUaGlzIGlzIGEgbGl2ZSBzb3VyY2UsIHRoZXJlZm9yZToKCSAgKiBVc2UgR1NUX0ZPUk1BVF9USU1FIGFzIHRoZSBkZWZhdWx0IGZvcm1hdAoJICAqIHNldF90aW1lc3RhbXAgdG8gVHJ1ZQoJICAqIHByb3Blcmx5IGltcGxlbWVudCBxdWVyeSBsYXRlbmN5LgoJICBUaGlzIGFsbG93cyBleHBlY3RlZCBsaXZlIHVzYWdlIGxpa2UgOiBwbGF5YmluMiB1cmk9ZHY6Ly8KCjIwMDktMDgtMDkgMDk6NDM6NDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSAgcmF3MTM5NDogUmVtb3ZlIHVubmVlZGVkIHZhcmlhYmxlCgoyMDA5LTA4LTA5IDA5OjQzOjI5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thOiByZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoKMjAwOS0wOC0wOSAwOTo0MzowMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJICBydHA6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzIGFuZCByZXN1bHRpbmcgdW5uZWVkZWQgdmFyaWFibGVzLgoKMjAwOS0wOC0xMCAwOTo1MzoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC93YXZwYWNrL01ha2VmaWxlLmFtOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSogZXh0L3dhdnBhY2svbWQ1LmM6CgkqIGV4dC93YXZwYWNrL21kNS5oOgoJICB3YXZwYWNrOiBVc2UgR0xpYiBHQ2hlY2tzdW0gaW5zdGVhZCBvZiBvdXIgb3duIE1ENSBpbXBsZW1lbnRhdGlvbgoJICBUaGlzIHJlcXVpcmVzIEdMaWIgMi4xNiBidXQgdGhhdCB2ZXJzaW9uIGlzIGFscmVhZHkgcmVxdWlyZWQgYnkgY29yZSBhbnl3YXkuCgoyMDA5LTA4LTA4IDAwOjQ3OjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgbWF0cm9za2E6IEFkZHMgc3VwcG9ydCB0byBtdXhpbmcvZGVtdXhpbmcgV01BCgkgIEFkZHMgc3VwcG9ydCBmb3IgbXV4aW5nIHdtYSBhdWRpbyBmYW1pbHkgYW5kIGZpeGVzCgkgIGRlbXV4aW5nIG9mIHdtYSBmYW1pbHkgaW4gbWF0cm9za2FkZW11eC4gbWF0cm9za2FkZW11eAoJICB3YXMgYnJva2VuIGJlY2F1c2UgaXQgbWlzc2VkIGNvZGVjX2RhdGEuCgoyMDA5LTA4LTA2IDIwOjE1OjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGFkZHMgc3VwcG9ydCBmb3Igd212IGZhbWlseQoJICBBZGRzIHN1cHBvcnQgdG8gV01WMSwgV01WMiwgV01WMyBhbmQgb3RoZXIgZmFtaWx5IGZvcm1hdHMgdGhhdAoJICBhcmUgc2lnbmFsZWQgYnkgdGhlICdmb3JtYXQnIGZpZWxkIGluIHRoZSBjYXBzIChpLmUuIFdWQzEpLgoJICBQYXJ0aWFsbHkgZml4ZXMgIzU3NjM3OAoKMjAwOS0wOC0wOSAxNDoxOTo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJzcmM6IGlmIG1heCA9PSBtaW4gd2lkdGgvaGVpZ2h0IHB1dCBhbiBpbnQgaW4gdGhlIHByb2JlZCBjYXBzLCBub3QgYW4gaW50IHJhbmdlCgkgIEZpeGVzICM1NjAwMzMuCgoyMDA5LTA4LTA5IDEzOjU4OjA3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJICBvc3hhdWRpb3NyYzogaWYgbWF4X2NoYW5uZWxzID09IG1pbl9jaGFubmVscywgdXNlIGFuIGludCBpbnN0ZWFkIG9mIGFuIGludCByYW5nZSBpbiB0aGUgY2FwcwoKMjAwOS0wOC0wOSAxMjo1MjoxNyArMDIwMCAgTG9uZVN0YXIgPGxvbmVAYXV2dGVjaC5jb20+CgoJKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzoKCSAgaWQzZGVtdXg6IFRyeSBHU1RfKl9UQUdfRU5DT0RJTkcgYW5kIGxvY2FsZSBlbmNvZGluZyBpZiB0YWdzIGFyZSBub3QgVVRGOAoJICBGaXhlcyBidWcgIzQ5OTI0Mi4KCjIwMDktMDgtMDkgMDE6Mjk6NTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGJ1bXAgY29yZS9iYXNlIHJlcXVpcmVtZW50cyB0byBsYXRlc3QgcmVsZWFzZQoJICBUbyBhdm9pZCBjb25mdXNpb24uCgoyMDA5LTA4LTA5IDAxOjI3OjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Zsdm11eC5jOgoJICBjaGVjazogZml4IGZsdm11eCB1bml0IHRlc3Qgb24gYmlnIGVuZGlhbiBtYWNoaW5lcwoJICBmbHZtdXggb25seSBhY2NlcHRzIHJhdyBhdWRpbyBpbiBsaXR0bGUgZW5kaWFuLCBidXQgYXVkaW90ZXN0c3JjCgkgIHByb2R1Y2VzIGF1ZGlvIGluIHRoZSBuYXRpdmUgZW5kaWFubmVzcywgd2hpY2ggbWFrZXMgbGlua2luZwoJICBiZXR3ZWVuIGF1ZGlvdGVzdHNyYyBhbmQgZmx2bXV4IGZhaWwgb24gYmlnIGVuZGlhbiBtYWNoaW5lcy4gQWRkCgkgIGFuIGF1ZGlvY29udmVydCBlbGVtZW50IGluIGJldHdlZW4gdGhlIHR3byB0byBmaXggdGhpcy4KCjIwMDktMDItMTUgMTg6NDk6NDQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8b2dnLmsub2dnLmtAZ29vZ2xlbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thOiBhZGQga2F0ZSBzdWJ0aXRsZSBzdXBwb3J0IHRvIG1hdHJvc2thIG11eGVyIGFuZCBkZW11eGVyCgkgIFNlZSAjNTI1NzQzLgoKMjAwOS0wOC0wNyAxNjo1MTo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzZGVtdXgvaWQzdjIuMy4wLmh0bWw6CgkgIGlkM2RlbXV4OiBhZGQgSUQzIHYyLjMgc3BlYyBhcyB3ZWxsCgoyMDA5LTA4LTA3IDE2OjQyOjM5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOgoJICBpZDNkZW11eDogc2l6ZXMgaW4gSUQzIHYyLjMgYXJlIHVubGlrZWx5IHRvIGJlIHN5bmMtc2FmZSBpbnRlZ2VycwoJICBJbiBJRDMgdjIuMyBjb21wcmVzc2VkIGZyYW1lcyB3aWxsIGhhdmUgYSA0LWJ5dGUgZGF0YSBsZW5ndGggaW5kaWNhdG9yCgkgIGFmdGVyIHRoZSBmcmFtZSBoZWFkZXIgdG8gaW5kaWNhdGUgdGhlIHNpemUgb2YgdGhlIGRlY29tcHJlc3NlZCBkYXRhLgoJICBUaGlzIGludGVnZXIgaXMgdW5saWtlbHkgdG8gYmUgYSBzeW5jLXNhZmUgaW50ZWdlciBmb3IgdjIuMyB0YWdzLAoJICBvbmx5IGluIHYyLjQgaXQncyBzeW5jLXNhZmUuCgoyMDA5LTA4LTA3IDE2OjM2OjU1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6CgkgIGlkM2RlbXV4OiBmaXggdHlwbyBpbiBkZWJ1ZyBtZXNzYWdlCgoyMDA5LTA4LTA3IDE2OjAyOjIzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6CgkqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmg6CgkqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDNkZW11eC5jOgoJKiB0ZXN0cy9maWxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZmlsZXMvaWQzLTU4ODE0OC11bnN5bmNlZC12MjQudGFnOgoJICBpZDNkZW11eDogZml4IHBhcnNpbmcgb2YgdW5zeW5jJ2VkIElEMyB2Mi40IHRhZ3MgYW5kIGZyYW1lcwoJICBSZXZlcnNpbmcgdGhlIHVuc3luY2hyb25pc2F0aW9uIHNlZW1zIHRvIHdvcmsgc2xpZ2h0bHkgZGlmZmVyZW50bHkKCSAgZm9yIElEMyB2Mi4zIHRhZ3MgYW5kIHYyLjQgdGFnczogdjIuMyB0YWdzIGRvbid0IGhhdmUgc3luY3NhZmUgZnJhbWUKCSAgc2l6ZXMgaW4gdGhlIGZyYW1lIGhlYWRlciwgc28gdGhlIHVuc3luY2hyb25pc2F0aW9uIGlzIGFwcGxpZWQgdG8KCSAgdGhlIHdob2xlIGZyYW1lIGRhdGEgaW5jbHVkaW5nIGFsbCB0aGUgZnJhbWUgaGVhZGVycy4gdjIuNCBmcmFtZXMKCSAgaGF2ZSBzeW5jLXNhZmUgc2l6ZXMsIGhvd2V2ZXIsIHNvIHRoZSB1bnN5bmNocm9uaXNhdGlvbiBvbmx5IG5lZWRzCgkgIHRvIGJlIGFwcGxpZWQgdG8gdGhlIGFjdHVhbCBmcmFtZSBkYXRhLCBhbmQgaXQgc2VlbXMgdGhhdCdzIHdoYXQncwoJICBiZWluZyBkb25lIGFzIHdlbGwuIFNvIHdlIG5lZWQgdG8gdW5kbyB0aGUgdW5zeW5jaHJvbmlzYXRpb24gb24gYQoJICBwZXItZnJhbWUgYmFzaXMgZm9yIHYyLjQgdGFncyBmb3IgdGhpbmdzIHRvIHdvcmsgcHJvcGVybHkuCgkgIEZpeGVzIGV4dHJhY3Rpb24gb2YgY292ZXJhcnQvaW1hZ2VzIGZyb20gQVBJQyBmcmFtZXMgaW4gSUQzIHYyLjQKCSAgdGFncyAoIzU4ODE0OCkuCgkgIEFkZCB1bml0IHRlc3QgZm9yIHRoaXMgYXMgd2VsbC4KCjIwMDktMDgtMDYgMjE6MjQ6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IFVzZSBTT1VQX01FVEhPRF9HRVQgaW5zdGVhZCBvZiAiR0VUIiBzdHJpbmcKCSAgRml4ZXMgYnVnICM1OTA5NzAuCgoyMDA5LTA4LTA2IDEzOjAwOjU5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBzZXQgdGhlIGRlZmF1bHQgc2xhdmUgbWV0aG9kIHRvIHNrZXcKCSAgU2V0IHRoZSBkZWZhdWx0IHNsYXZlIG1ldGhvZCB0byB0aGUgbXVjaCBiZXR0ZXIgc2tldyBhbGdvcml0aG0uIFRoaXMgaXMgdGhlCgkgIGRlZmF1bHQgaW4gdGhlIG5ldyBiYXNlIGNsYXNzIGJ1dCB3ZSBvdmVycmlkZSB0aGlzIGhlcmUgYXMgd2VsbCBmb3IgdGhlCgkgIHVwY29tbWluZyByZWxlYXNlLgoKMjAwOS0wOC0wNiAxMDoyMDozNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IGZpeCBjb21waWxhdGlvbiB3aXRoIC0tZGlzYWJsZS1nc3QtZGVidWcKCjIwMDktMDgtMDMgMTg6NTk6MzIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lmg6CgkgIHJ0cGgyNjRwYXk6IHVzZSBhcnJheSBpbnN0ZWFkIG9mIHF1ZXVlCgoyMDA5LTA4LTAzIDE4OjU1OjE5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuaDoKCSAgcnRwaDI2NHBheTogcHVzaCBOQUxzIG9ubHkgYWZ0ZXIgU1BTL1BQUwoJICBwYXJzZSBjb21wbGV0ZSAoYnl0ZXN0cmVhbSkgYnVmZmVyIGZvciBTUFMvUFBTIGJlZm9yZSBwdXNoaW5nIE5BTHMuCgkgIEZpeGVzICM1NjQ1MDEuCgoyMDA5LTA4LTA0IDE0OjQ0OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSAgdjRsMjogRGlyZWN0bHkgdXNlIEdTVF9QVFJfRk9STUFUIGZvciBwcmludGluZyBjYXBzIHdpdGggdGhlIExPR19DQVBTIG1hY3JvCgoyMDA5LTA4LTA0IDExOjE3OjE3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJICBydHBxZG0yZGVwYXk6IEZpeCBkZWJ1ZyBzdGF0ZW1lbnQuCgoyMDA5LTA4LTA0IDA5OjMyOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSAgdjRsMjogUmVtb3ZlIHNvbWUgT01BUCBzcGVjaWZpYyBoYWNrcwoJICBUaGV5IHJlcXVpcmUgc3BlY2lhbCBidWlsZCBmbGFncyBhbmQgYXJlIG5vdCB1c2VmdWwgaW4gZ2VuZXJhbC4KCjIwMDktMDgtMDQgMDk6MjI6MjkgKzAyMDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsMnNpbms6IGNoYW5nZSB3aGVyZSBidWZmZXJzIGdldCBkZXF1ZXVlZAoJICBJdCBzZWVtcyB0byBjYXVzZSBzdHJhbmdlIG9jY2FzaW9uYWwgaGlnaCBsYXRlbmNpZXMgKGFsbW9zdCAyMDBtcykgd2hlbiBkZXF1ZXVpbmcgYnVmZmVycyBmcm9tIF9idWZmZXJfYWxsb2MoKS4gIEl0IGlzIHNpbXBsZXIgYW5kIHNlZW1zIHRvIHdvcmsgbXVjaCBiZXR0ZXIgdG8gZHFidWYgZnJvbSB0aGUgc2FtZSB0aHJlYWQgdGhhdCBpcyBxdWV1aW5nIHRoZSBuZXh0IGJ1ZmZlci4KCjIwMDktMDgtMDQgMDk6MTQ6MjAgKzAyMDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICB2NGwyOiBBZGQgdjRsMnNpbmsgZWxlbWVudAoJICBUaGlzIGFsc28gZG9lcyB0aGUgZm9sbG93aW5nIGNoYW5nZXM6CgkgICgxKSBwdWxsIHRoZSBidWZmZXJwb29sIGNvZGUgb3V0IGludG8gZ3N0djRsMmJ1ZmZlcnBvb2wuYywgYW5kIG1ha2UgYQoJICBiaXQgbW9yZSBnZW5lcmljIHNvIGl0IGNhbiBiZSB1c2VkIGJvdGggZm9yIHY0bDJzcmMgYW5kIHY0bDJzaW5rCgkgICgyKSBtb3ZlIHNvbWUgb2YgdGhlIGRldmljZSBwcm9iaW5nL2NvbmZpZ3VyYXRpb24vY2FwcyBzdHVmZiBpbnRvCgkgIGdzdHY0bDJvYmplY3QuYyBzbyBpdCBkb2VzIG5vdCBoYXZlIHRvIGJlIGR1cGxpY2F0ZWQgYmV0d2VlbgoJICB2NGwyc3JjIGFuZCB2NGwyc2luawoJICBGaXhlcyBidWcgIzU5MDI4MC4KCjIwMDktMDgtMDQgMDc6MDc6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGZsdm11eDogRW5hYmxlIHVuaXQgdGVzdCBub3cgdGhhdCBpdCBwYXNzZXMKCjIwMDktMDgtMDMgMjE6MjE6MzkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkgIHJ0cHFkbTJkZXBheSxydHBzdjN2ZGVwYXk6IEFkZCBkZWJ1Z2dpbmcgY2F0ZWdvcnkuCgoyMDA5LTA4LTAzIDIxOjIyOjQ4ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5Lmg6CgkgIHJ0cHFkbTJkZXBheTogSGFuZGxlIGdhcHMgaW4gaW5jb21pbmcgcGFja2V0cy4KCSAgV2hlbmV2ZXIgd2Ugc2VlIGEgZ2FwLCB3ZSBmbHVzaCB0aGUgdGVtcG9yYXJ5IHBhY2tldHMgKGJ1dCBub3QgdGhlIGFkYXB0ZXIpLiBJZiB3ZQoJICBoYWQgc29tZSBkYXRhIHRlbXBvcmFyaWx5IHN0b3JlZCBpdCB3aWxsIGJlIG91dHB1dHRlZCAodGhlIHNvdW5kIHdpbGwgc291bmQgYSBiaXQKCSAgZ2FyYmxlZC4uLiBidXQgdGhhdCdzIGhvdyBpdCBzb3VuZHMgb24gTWFjT1NYIDopCgoyMDA5LTA4LTAzIDE5OjAxOjA3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJICBydHBxZG1kZXBheTogRml4IENSQyBjYWxjdWxhdGlvbiBhbmQgcmVtb3ZlIGNvbW1lbnRlZCBjb2RlLgoKMjAwOS0wOC0wMiAxMzo0MjoxMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5oOgoJICBydHA6IE5ldyBRRE0yIHJ0cCBkZXBheWxvYWRlci4KCSAgUmV2ZXJzZS1lbmdpbmVlcmVkIGJ5IGNvbXBhcmluZzoKCSAgKiBBIHJ0cCBoaW50ZWQgZmlsZSBwcm92aWRlZCBieSBEYXJ3aW5TdHJlYW1pbmdTZXJ2ZXIKCSAgKiBUaGUgb3V0cHV0IHByb2N1ZWQgYnkgRFNTIGZvciB0aGF0IHNhbWUgZmlsZQoJICBBbHNvIHVzZWQgdmFyaW91cyBzdHJlYW1pbmcgc291cmNlcyBhdmFpbGFibGUgb24gdGhlIGludGVybmV0IHRvIGZpbmUtdHVuZQoJICB0aGUgY29kZS4KCSAgVGhlIGhlYWRlci9jb2RlY19kYXRhIGV4dHJhY3Rpb24gbWV0aG9kcyBhcmUgZnJvbSBGRk1wZWcgKExHUEwpLgoKMjAwOS0wOC0wMyAyMToyNDo0NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkgIHJ0cHN2M3ZkZXBheTogUHJvcGVybHkgZmlsbCBjb2RlY19kYXRhIGFuZCBjbGVhbnVwIGNvZGUgYSBiaXRlIG1vcmUuCgoyMDA5LTA4LTAzIDE5OjAyOjE3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuaDoKCSAgcnRwc3YzdmRlcGF5OiBPbmx5IG91dHB1dCBidWZmZXJzIG9uY2Ugd2UncmUgY29uZmlndXJlZC4KCjIwMDktMDgtMDMgMTk6MDI6MDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJICBydHBzdjN2ZGVwYXk6IEFkZCBtb3JlIGVuY29kaW5nLW5hbWUgdmFyaWFudHMKCjIwMDktMDgtMDMgMjA6MDg6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmx2bXV4LmM6CgkgIGZsdm11eDogRml4IHVuaXQgdGVzdCB0byBjb3JyZWN0bHkgaGFuZGxlIHJlcXVlc3QgcGFkcwoJICBSZXF1ZXN0IHBhZHMgYXJlIHJlbW92ZWQgYnkgdGhlIGVsZW1lbnQgaW5zdGFuY2UgaW4gUEFVU0VELT5SRUFEWQoJICBzbyB3ZSBuZWVkIHRvIHJlLXJlcXVlc3QgcGFkcyBmb3IgZXZlcnkgcnVuIGFuZCBsaW5rIHRoZW0gYWdhaW4uCgkgIExhc3QgZml4IGZvciBidWcgIzU5MDQ0Ny4KCjIwMDktMDgtMDMgMjA6MDg6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBGaXggd3JpdGluZyBvZiB0aGUgaW5kZXggZm9yIDwgMTI4IGJ1ZmZlcnMKCSAgUGFydGlhbGx5IGZpeGVzIGJ1ZyAjNTkwNDQ3LgoKMjAwOS0wOC0wMyAyMDowNzowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IEZpeCByZXNldHRpbmcgb2YgdGhlIGVsZW1lbnQKCSAgUmVzZXQgdGhlIGhhdmVfdmlkZW8vaGF2ZV9hdWRpbyBmbGFncyBhbmQgbWFrZSBzdXJlIHRvCgkgIHByb3Blcmx5IHJlbGVhc2UgdGhlIHJlcXVlc3QgcGFkcy4KCSAgUGFydGlhbGx5IGZpeGVzIGJ1ZyAjNTkwNDQ3LgoKMjAwOS0wOC0wMyAxODoxMzo0NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZG9uJ3QgYWRkIG5vbi11dGY4IGNoYXJzIHRvIHN0cnVjdHVyZXMKCjIwMDktMDgtMDMgMTg6MDI6MzEgKzAyMDAgIEx1YyBEZXNjaGVuYXV4IDxsdWMuZGVzY2hlbmF1eCBhdCBmcmVlc3VyZi5jaD4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5Lmg6CgkgIGpwZWdkZXBheTogdXNlIGF0dHJpYnV0ZXMgZm9yIGV4dHJhIHByb3BlcnRpZXMKCSAgVXNlIHNvbWUgb2YgdGhlIFNEUCBhdHRyaWJ1dGVzIHdoZW4gdGhleSBhcmUgcHJlc2VudCB0byBzcGVjaWZ5IHRoZSBvdXRwdXQKCSAgZGltZW5zaW9uIGFuZCBmcmFtZXJhdGUuIFRoaXMgYWxsb3dzIHVzIHRvIHJlY2VpdmUganBlZyBmcmFtZXMgbGFyZ2VyIHRoYW4KCSAgMjA0MCB3aWR0aC9oZWlnaHQuCgkgIEZpeGVzICM1NjQ0MzcKCjIwMDktMDgtMDMgMTg6MDE6MjcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL1JFQURNRToKCSAgUlRQIGRvY3M6IHVwZGF0ZSB3aXRoIGF0dHJpYnV0ZXMgaW4gY2FwcwoKMjAwOS0wOC0wMyAxNzoyMTo0NCArMDIwMCAgTHVjIERlc2NoZW5hdXggPGx1Yy5kZXNjaGVuYXV4IGF0IGZyZWVzdXJmLmNoPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBwdXQgYWxsIFNEUCBhdHRyaWJ1dGVzIG9uIGNhcHMKCSAgUHV0IHRoZSBTRFAgYXR0cmlidXRlcyBvbiB0aGUgY2FwcyB0b28gc28gdGhhdCB0aGV5IGNhbiBiZSB1c2VkIGJ5CgkgIGRlcGF5bG9hZGVycy4KCSAgU2VlICM1NjQ0MzcKCjIwMDktMDgtMDMgMTM6MzI6MTIgKzAyMDAgIEpvbmF0aGFuIFRlbGxpZXIgPGpvbmF0aGFuLnRlbGxpZXIgYXQgZ21haWwuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBpbml0aWFsaXplIHRoZSBwcm9iZSB3aXRoIHRoZSBzZXJ2ZXIKCSAgV2hlbiBjcmVhdGluZyBhIG5ldyBwcm9iZSwgcGFzcyB0aGUgc2VydmVyIGluc3RlYWQgb2YgdGhlIGRldmljZSBzdHJpbmcuCgkgIGZpeGVzICM1OTA0MDEKCjIwMDktMDgtMDIgMTE6NDQ6MDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiBkb24ndCBkbyB0aGluZ3Mgd2l0aCBzaWRlLWVmZmVjdHMgaW5zaWRlIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKCkKCSAgU29tZW9uZSBtaWdodCBjb21waWxlIHRoaXMgY29kZSB3aXRoIC1ER19ESVNBQkxFX0FTU0VSVCBzb21lIGRheS4KCjIwMDktMDgtMDEgMjE6Mzk6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGRvbid0IGRvIGxvZ2ljIHdpdGhpbiBnX2Fzc2VydCgpIHN0YXRlbWVudHMKCSAgT3RoZXJ3aXNlIHRoYXQgY29kZSB3aWxsIGp1c3QgYmUgZXhwYW5kZWQgdG8gbm90aGluZyB3aGVuIGNvbXBpbGVkCgkgIC1ER19ESVNBQkxFX0FTU0VSVCAoUFM6IHdoeSBpcyBtYWlubG9vcF9zdGFydCgpIGNhbGxlZCBpbiB0aGUgaW5pdAoJICBmdW5jdGlvbiBhbmQgbm90IHdoZW4gY2hhbmdpbmcgc3RhdGUgdG8gUkVBRFk/KQoKMjAwOS0wOC0wMSAxNzowNzo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IHNlbmQgbmV3c2VnbWVudCBldmVudCB3aGVuIG9wZXJhdGluZyBwdXNoLWJhc2VkIGFuZCB1bmZyYW1lZAoJICBGb3Igc29tZSByZWFzb24gZmxhYyBkb2Vzbid0IGNhbGwgb3VyIG1ldGFkYXRhIGNhbGxiYWNrIHdoZW4gd2Ugb3BlcmF0ZQoJICBpbiBwdXNoIG1vZGUgd2l0aCB1bmZyYW1lZCBpbnB1dCwgYnV0IHRoYXQncyB3aGVyZSB3ZSBzZXQgdXAgdGhlCgkgIG5ld3NlZ21lbnQgZXZlbnQgKHNpbmNlIHRoYXQncyB3aGVyZSB3ZSdkIGdldCB0aGUgZHVyYXRpb24gZnJvbSB0aGUKCSAgc3RyZWFtIGluZm8gaGVhZGVyKSwgc28gd2UgZGlkbid0IHNlbmQgYSBuZXdzZWdtZW50IGV2ZW50IGF0IGFsbCBpbiB0aGlzCgkgIGNhc2UuIEhhY2sgYXJvdW5kIHRoaXMgYnkgc3RvcmluZyBhIGdlbmVyaWMgbmV3c2VnbWVudCBldmVudCBmb3Igbm93CgkgIHdoaWNoIHdpbGwgYmUgdXNlZCBpZiB3ZSBkb24ndCByZXBsYWNlIGl0IHdpdGggYSBiZXR0ZXIgb25lIHRoYXQKCSAgaW5jbHVkZXMgdGhlIGR1cmF0aW9uLgoKMjAwOS0wOC0wMSAxNjo0ODozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IHNtYWxsIGNsZWFudXBzCgkgIFJlbW92ZSBzb21lIGNhbGxiYWNrIGluZGlyZWN0aW9ucyB3aGljaCBhcmUgbm8gbG9uZ2VyIG5lZWRlZCBiZWNhdXNlCgkgIHRoZXJlJ3Mgb25seSBvbmUgZGVjb2RlciBvYmplY3QgdHlwZSBub3cuIEFsc28gcmVtb3ZlIHVudXNlZCB2YXJpYWJsZS4KCjIwMDktMDgtMDEgMTU6MjI6NDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiB1c2UgZ3N0X2FkYXB0ZXJfY29weSgpIHRvIGF2b2lkIHVubmVjZXNzYXJ5IGJ1ZmZlciBtZXJnZXMKCSAgZ3N0X2FkYXB0ZXJfcGVlaygpIHdpbGwgbWVyZ2UgYnVmZmVycyBhcyBuZWVkZWQsIHdoaWNoIHdlIGNhbiBhdm9pZAoJICBoZXJlIHNpbmNlIHdlJ3JlIGRvaW5nIGEgbWVtY3B5IGFueXdheSBhbmQgdGhlbiBmbHVzaCB0aGUgY29waWVkCgkgIGRhdGEgZnJvbSB0aGUgYWRhcHRlciByaWdodCBhd2F5LgoKMjAwOS0wOC0wMSAwMDowMDo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IHJlcGFpciBzb21lIGJyb2tlbiBpbmRlbnRpbmcKCjIwMDktMDgtMDEgMTI6MTk6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Zsdm11eC5jOgoJICBjaGVja3M6IGFkZCBiYXNpYyB1bml0IHRlc3QgZm9yIGZsdm11eCwgYnV0IGRpc2FibGUgaXQgZm9yIG5vdwoJICBCYXNpYyB1bml0IHRlc3QgZm9yIGZsdm11eC4gRmFpbHMgbWlzZXJhYmx5LCBoZW5jZSBkaXNhYmxlZCBmb3Igbm93LgoKMjAwOS0wNy0zMSAyMzoyODoxMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmx2ZGVtdXguYzoKCSogdGVzdHMvZmlsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ZpbGVzL3BjbTE2c2luZS5mbHY6CgkgIGNoZWNrOiBhZGQgYmFzaWMgdW5pdCB0ZXN0IGZvciBmbHZkZW11eAoJICBJbiBwYXJ0aWN1bGFyLCB0ZXN0IHJlLXVzZSBvZiBmbHZkZW11eCBpbiBib3RoIHB1bGwgYW5kIHB1c2ggbW9kZQoJICAoc2VlICM1ODMwMzApLgoKMjAwOS0wNy0zMSAyMDoyNToxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IGZpeCBpbnZhbGlkIHdyaXRlIGNhdXNlZCBieSB1c2luZyBzaXplb2YoInN0cmluZyIpIGFzIGxlbmd0aAoJICBzaXplb2YoImZvbyIpIGluY2x1ZGVzIHRoZSBzdHJpbmcncyBOVUwtdGVybWluYXRvciBpbiB0aGUgc2l6ZSByZXR1cm5lZCwKCSAgYnV0IHdlJ3JlIHdyaXRpbmcgc3RyaW5ncyBoZXJlIHdpdGggYW4gZXhwbGljaXQgc2l6ZSBhdCB0aGUgYmVnaW5uaW5nCgkgIGFuZCBubyBOVUwtdGVybWluYXRvci4gSW4gbW9zdCBjYXNlcyB1c2luZyBzaXplb2YoImZvbyIpIGFzIGxlbmd0aCBpbgoJICBtZW1jcHkgaXMgbm90IGhhcm1mdWwsIGJ1dCBpdCBpcyB3aGVyZSB0aGUgc3RyaW5nIGdvZXMgcmlnaHQgYXQgdGhlCgkgIGVuZCBvZiBvdXIgYnVmZmVyIHRvIHdyaXRlLCBzaW5jZSB3ZSBkb24ndCBhbGxvY2F0ZSBzcGFjZSBmb3IgdGhhdAoJICBOVUwgdGVybWluYXRvci4KCjIwMDktMDctMjcgMTg6NDQ6NDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwOiBVc2UgIkdFVCIgaW5zdGVhZCBvZiBTT1VQX01FVEhPRF9HRVQuIEZpeGVzIGJ1aWxkIHdpdGggbGlic291cC0yLjcuKgoJICBUaGlzIGlzIGR1ZSB0byBhIHF1YWxpdHkgQVBJIGNoYW5nZSBpbiBsaWJzb3VwIDIuNy4gU09VUF9NRVRIT0RfKiBhcmUgbm93CgkgIGludGVnZXJzIGFuZCBub3Qgc3RyaW5ncy4uLiB0aGV5IGNvdWxkIGhhdmUgY2hhbmdlZCB0aGUgbmFtZXMuCgoyMDA5LTA3LTMwIDE3OjU3OjUzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZzogdXNlIGxvbmdlciBtYWNybyBuYW1lcyB0byBub3QgY2xhc2ggd2l0aCBzb21lIHN0dXBpZCB3aW5kb3dzIGRlZmluZXMKCSAgbGlianBlZyBoZWFkZXJzIHB1bGwgc29tZSB3aW5kb3dzIHN5c3RlbSBpbmxjdWRlcyAob24gd2luZG93cykgdGhhdCBjb250YWluIGEKCSAgZGVmaW5lIGZvciBERUZBVUxUX1FVQUxJVFkuCgoyMDA5LTA3LTI5IDE0OjMxOjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IEZpeCBsYXN0IGNvbW1pdCBhbmQgaW1wcm92ZSByZWFkYWJpbGl0eQoKMjAwOS0wNy0yNCAxOTowNDozMSArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIEZpeGVkIHRoZSBmaXggZm9yIFRJTUUtPkRFRkFVTFQgY29udmVyc2lvbi4KCSAgRml4ZXMgYnVnICM1NzgwNTIgYWdhaW4uCgoyMDA5LTA3LTI5IDEzOjM4OjAzICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSAgcnRwc3YzZGVwYXk6IEZpeCB3aWR0aC9oZWlnaHQgY2FsY3VsYXRpb24sIGJyaW5nIHVwIHRvIG1hcmdpbmFsIHJhbmsuCgkgIEJhc2VkIG9uIGRvY3VtZW50YXRpb24gZm91bmQgb24gaHR0cDovL3dpa2kubXVsdGltZWRpYS5jeC8KCjIwMDktMDctMjkgMTI6MTM6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZTogY29uZGl0aW9uYWxseSBjb21waWxlIG5ld2VyIHN0dWZmCgkgIGNvbmZpZ3VyZWRfc2luay9zb3VyY2VfdXNlYyBpbiB0aGUgdGltaW5nX2luZm8gaXMgb25seSBzaW5jZSAwLjkuMTEgc28KCSAgY29uZGl0aW9uYWxseSBjb21waWxlIHRoaXMgaW5mb3JtYXRpb24uCgkgIGZpeGVzICM1OTAwMzgKCjIwMDktMDctMjggMTg6Mjk6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmg6CgkgIHB1bHNlc3JjOiBjbGVhbnVwcwoJICBLZWVwIHRyYWNrIG9mIHRoZSBwYXVzZWQgc3RhdGUgb2YgdGhlIHNvdXJjZSBhbmQgbGVhdmUgdGhlIHJlYWQgZnVuY3Rpb24gd2hlbgoJICBwYXVzZWQuCgkgIGRvbid0IHdhaXQgZm9yIGEgbGF0ZW5jeSB1cGRhdGUgd2hlbiB0aGUgZGVsYXkgaXMgbm90IHlldCBrbm93biBidXQgc2ltcGx5CgkgIHJldHVybiAwIGluc3RlYWQgb2YgYmxvY2tpbmcuCgkgIEtlZXAgdHJhY2sgb2YgdGhlIGNvcmtlZCBzdGF0ZSBvZiB0aGUgc3RyZWFtLgoJICBGaXggdGhlIHN0YXRlIGNoYW5nZXMuCgoyMDA5LTA3LTI4IDE2OjExOjE4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBzZXQgbWF4bGVuZ3RoIGFsd2F5cyB0byAtMQoKMjAwOS0wNy0yOCAxNTo1Mzo1NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuaDoKCSAgcHVsc2VzcmM7IGNsZWFudXBzLCByZXBvcnQgcmVhbCBsYXRlbmN5CgkgIEFkZCBzb21lIG1vcmUgZGVidWcgaW5mbwoJICBBdm9pZCBzb21lIHR5cGUgY2FzdHMKCSAgUmVwb3J0IHRoZSByZWFsIGxhdGVuY3kgdG8gdGhlIGFwcGxpY2F0aW9uLgoKMjAwOS0wNy0yOCAxNjoxMTozNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IHdoZW4gc2Nhbm5pbmcgZm9yIDB4ZmYgbWFya2VyIGVuZHMsIGVuc3VyZSBkZXNpcmVkIHJlc3VsdAoJICBPdGhlcndpc2UsIGFueSBub24gMHhmZiBieXRlIGF0IGVuZCBvZiBkYXRhIHdvdWxkIGJlIG1pc3Rha2VuIGZvcgoJICBhIHRhZyBieXRlLCBhbmQgaW4gY2FzZSBvZiBhIGZyYW1lX2xlbiAwIHRhZyBzdWJzZXF1ZW50bHkgbGVhZCB0byBhbgoJICBpbmZpbml0ZSBsb29wLgoKMjAwOS0wNy0yOCAwMDozMDo0MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IGFkZHMgc3VwcG9ydCB0byB3bWEKCjIwMDktMDctMjggMDA6MDc6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBhZGRzIHN1cHBvcnQgdG8gd212CgoyMDA5LTA3LTI3IDIxOjM0OjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRG93bmdyYWRlIHdhcm5pbmcgbWVzc2FnZSB0byBkZWJ1ZwoKMjAwOS0wNy0yNyAxMTo1MTozOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBhdm9pZCB1c2luZyBpdmFsaWQgc3RyZWFtIGluZGV4ZXMKCSAgd2hlbiB3ZSBnZXQgYW4gaW52YWxpZCBzdHJlYW0gaW5kZXggZnJvbSBwdWxzZSBiZWNhdXNlIHdlIHdlcmUganVzdCBzdGFydGluZywKCSAgYXZvaWQgdXNpbmcgaXQgZm9yIGdldHRpbmcgYW5kIHNldHRpbmcgdGhlIHZvbHVtZS4KCSAgRml4ZXMgIzU4OTM2NQoKMjAwOS0wNy0yNCAxOTozODowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmlwcGxlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c3RyZWFrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJICBlZmZlY3R2OiBEb24ndCBhbGxvdyBjYXBzIGNoYW5nZXMgZm9yIHNvbWUgZWZmZWN0diBmaWx0ZXJzCgkgIFRoZXNlIGZpbHRlcnMgdXNlIGluZm9ybWF0aW9uIGZyb20gcHJldmlvdXMgZnJhbWVzIHRvCgkgIGdlbmVyYXRlIHRoZSBjdXJyZW50IGZyYW1lIGFuZCBhIGNhcHMgY2hhbmdlIHdpbGwgbWFrZQoJICB0aGUgZWZmZWN0IHN0YXJ0IGZyb20gdGhlIGJlZ2lubmluZyBhZ2Fpbi4KCjIwMDktMDctMjQgMTk6Mzc6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmg6CgkgIHdhcnB0djogTWFrZSB0aGUgc2luZSB0YWJsZSBnbG9iYWwgaW5zdGVhZCBvZiBoYXZpbmcgaXQgaW4gZXZlcnkgaW5zdGFuY2UKCjIwMDktMDctMjQgMTA6NDc6NDQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZzogbWFrZSBlbmNvZGVyIHdvcmsgd2l0aCBsaWJqcGVnIHY3CgkgIFdlIGhhdmUgdG8gc3BlY2lmeSBkb19mYW5jeV9kb3duc2FtcGxpbmcgPSBGQUxTRSBpbiB0aGUgZW5jb2RlciB3aXRoIGRpZCBub3QgZXhpc3QgYmVmb3JlLgoKMjAwOS0wNy0yNCAwMDo0MjozMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmZWRhYWVlIHRvIDk0Zjk1ZTMKCjIwMDktMDctMjMgMTI6MDY6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBJbXBsZW1lbnQgU0VFS0lORyBxdWVyeQoJICBGaXhlcyBidWcgIzU4OTQyMy4KCjIwMDktMDctMjIgMTE6MTY6MDYgKzAxMDAgIENvbGluIEd1dGhyaWUgPGNndXRocmllQG1hbmRyaXZhLm9yZz4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBGaXggYSBjb3VwbGUgZXJyb3IgbWVzc2FnZXMgdGhhdCBtZW50aW9uZWQgaW5jb3JyZWN0IGZ1bmN0aW9uIG5hbWVzLgoJICBGaXhlcyAjNTg5NDU5LgoKMjAwOS0wNy0yMyAxMTo1MDoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgZmx2ZGVtdXg6IEltcGxlbWVudCBTRUVLSU5HIHF1ZXJ5CgkgIEFsc28gYWRkIHNvbWUgbW9yZSBxdWVyeSB0eXBlcyB0byB0aGUgYW5zd2VyIG9mIHRoZSBxdWVyeSB0eXBlIGZ1bmN0aW9uLgoJICBGaXhlcyBidWcgIzU4OTQyNC4KCjIwMDktMDctMjEgMTk6NDY6NTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgIGZsYWNkZWM6IGZpeCBpbnRlcm1pdHRlbnQgRkxBQ19fU1RSRUFNX0RFQ09ERVJfQUJPUlRFRCBlcnJvcnMgd2hlbiBzZWVraW5nCgkgIFdoZW4gc2Vla2luZyBpbiBhIGxvY2FsIGZsYWMgZmlsZSAoaWUuIG9wZXJhdGluZyBwdWxsLWJhc2VkKSwgdGhlIGRlY29kZXIKCSAgd291bGQgb2Z0ZW4ganVzdCBlcnJvciBvdXQgYWZ0ZXIgdGhlIGxvb3AgZnVuY3Rpb24gc2VlcyBhIERFQ09ERVJfQUJPUlRFRAoJICBzdGF0dXMuIFRoaXMsIGhvd2V2ZXIsIGlzIHRoZSByZWFkIGNhbGxiYWNrJ3Mgd2F5IG9mIHRlbGxpbmcgb3VyIGxvb3AKCSAgZnVuY3Rpb24gdGhhdCBwdWxsX3JhbmdlIGZhaWxlZCBhbmQgc3RyZWFtaW5nIHNob3VsZCBzdG9wLCBpbiB0aGlzIGNhc2UKCSAgYmVjYXVzZSBvZiB0aGUgZmx1c2gtc3RhcnQgZXZlbnQgdGhhdCB0aGUgc2VlayBoYW5kbGVyIHB1c2hlZCB1cHN0cmVhbQoJICBmcm9tIHRoZSBzZWVraW5nIHRocmVhZC4gSGFuZGxlIHRoaXMgc2xpZ2h0bHkgYmV0dGVyIGJ5IHN0b3JpbmcgdGhlIGxhc3QKCSAgZmxvdyByZXR1cm4gZnJvbSBwdWxsX3JhbmdlLCBzbyB0aGUgbG9vcCBmdW5jdGlvbiBjYW4gZXZhbHVhdGUgaXQgcHJvcGVybHkKCSAgd2hlbiBpdCBlbmNvdW50ZXJzIGEgREVDT0RFUl9BQk9SVEVEIGFuZCB0YWtlIHRoZSByaWdodCBhY3Rpb24uCgkgIEZpeGVzICM1Nzg2MTIuCgoyMDA5LTA3LTIxIDEwOjA3OjAwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgIGludGVybGVhdmU6IGZpeCBpbmRlbnRpbmcgYW5kIHVwZ3JhZGUgdHdvIGRlYnVncyB0byB3YXJuaW5ncy4KCSAgRml4IG5ld2xpbmVzIGluIHZhcmlhYmxlIGRlY2xzLiBDaGFuZ2UgdHdvIGRlYnVncyB0byBiZWNvbWUgd2FybmluZ3MgYXMgdGhleQoJICBpbmRpY2F0ZSB0aGF0IHRoaW5ncyB3aWxsIG5vdCB3b3JrLgoKMjAwOS0wNy0yMSAxMDowNDozNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2pwZWcvZ3N0anBlZy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5oOgoJICBqcGVnOiBjb2RlIGNsZWFudXBzIGZvciBlbmNvZGVyCgkgIFJlbW92ZSBzb21lIGRpc2FibGVkIGNvZGUgaW4gZW5jb2Rlci4gVHJ5ICNpZiAwJ2VkIGNvZGUgYW5kIGFkZCBjb21tZW50cyBhYm91dAoJICB3aHkgaXQgaXMgZGlzYWJsZWQuIE1vdmUgaWRjdC1tZXRob2QgZW51bSB0byBqcGVnLmMgYW5kIHVzZSBpbiBib3RoIGVuY29kZXIgYW5kCgkgIGRlY29kZXIuIEFkZCBpZGN0LW1ldGhvZCBwcm9wZXJ0eSB0byBlbmNvZGVyLgoKMjAwOS0wNy0yMSAwNzo1MDo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogQW5zd2VyIFNFRUtJTkcgcXVlcmllcyBpbiB0aGUgb3JpZ2luYWwgZm9ybWF0CgoyMDA5LTA3LTIxIDAxOjEyOjQ0ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkgIHVkcHV0aWxzOiBpbml0aWFsaXplIHN0cnVjdCBjb250ZW50IHdpdGggMC4KCSAgRml4ZXMgc29tZSByYW5kb20gY3Jhc2hlcy4KCjIwMDktMDctMjAgMTk6MDk6MTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogc2V0IHNvbWUgdmFsdWVzIHRvIHRoZWlyIGRlZmF1bHRzCgkgIFNldCB0aGUgbWlucmVxIGFuZCBtYXhsZW5ndGggYnVmZmVyIGF0dHJpYnV0ZXMgdG8gLTEgdG8gbGV0IHB1bGVzZWF1ZGlvIHNlbGVjdCBhCgkgIHNlbnNpYmxlIHZhbHVlLgoKMjAwOS0wNy0yMCAxOTowNDowOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBkb24ndCB3YWl0IGZvciBwb3N0ZWQgbWVzc2FnZQoJICBXZSBjYW4ndCB3YWl0IGZvciB0aGUgRU5URVIvTEVBVkUgbWVzc2FnZXMgdG8gYmUgYmUgcG9zdGVkIGJlY2F1c2UgdGhlIGJhc2UKCSAgY2xhc3Mgc29tZXRpbWVzIGNhbGxzIHRoZSBzdGFydCBtZXRob2Qgd2l0aCB0aGUgb2JqZWN0IGxvY2ssIHdoaWNoIHdvdWxkIGJsb2NrCgkgIHRoZSBtZXNzYWdlIHBvc3RpbmcuCgkgIEluc3RlYWQsIGp1c3QgYXNzdW1lIHRoYXQgdGhlIG1lc3NhZ2Ugd2lsbCBiZSBwb3N0ZWQgc29vbiBhbmQgY29udGludWUuIFdlJ2xsCgkgIGhhdmUgdG8gZml4IHRoaXMgaW4gdGhlIGJhc2UgY2xhc3MuCgoyMDA5LTA3LTIwIDE4OjExOjMzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IHVzZSByZWxhdGl2ZSBzZWVrcwoJICBVc2UgcmVsYXRpdmUgc2Vla3MgYmVjYXVzZSBJIHdhcyB0b2xkIHRoYXQgYWJzb2x1dGUgc2Vla3MgZG9uJ3Qgd29yay4KCjIwMDktMDctMjAgMTY6NTI6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IEltcGxlbWVudCBTRUVLSU5HIHF1ZXJ5CgoyMDA5LTA3LTIwIDA4OjA3OjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jYWlyby9nc3RjYWlyb3JlbmRlci5jOgoJICBjYWlyb3JlbmRlcjogQWRkIHN1cHBvcnQgZm9yIEFSR0IvQkdSQSBpbnB1dAoJICBOb3RlIHRoYXQgdmlkZW90ZXN0c3JjIG91dHB1dHMgMTAwJSB0cmFuc3BhcmVudCB2aWRlbwoJICB3aGljaCB3aWxsIHJlc3VsdCBpbiB3aGl0ZSBvdXRwdXQgZnJvbSBjYWlyb3JlbmRlci4KCjIwMDktMDctMTcgMTM6MjI6NTcgKzAxMDAgIEVsYWluZSBYaW9uZyA8RWxhaW5lLlhpb25nQFN1bi5DT00+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDI6IEZpeCB2NGwyc3JjIG9uIE9wZW5Tb2xhcmlzCgkgIFRoZSB2NGwyIGRyaXZlciBmb3IgVVNCIHdlYmNhbXMgb24gT3BlblNvbGFyaXMgZG9lcyBub3Qgc3VwcG9ydCBzZWxlY3QoKQoJICBjYWxscy4gRGV0ZWN0IHdoZW4gc2VsZWN0KCkgZmFpbHMsIGFuZCBza2lwIHBvbGxpbmcgdGhlIGRldmljZSBhZnRlcndhcmQsCgkgIHdoaWNoIHJlc3RvcmVzIHRoZSBwcmUgMC4xMC4xNCBiZWhhdmlvdXIgb24gT3BlblNvbGFyaXMuCgkgIFNpZ25lZC1vZmYtYnk6IEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCjIwMDktMDctMTcgMTE6MjI6MDYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvLmdpdGlnbm9yZToKCSAgZ2l0aWdub3JlOiBJZ25vcmUgc29tZSBuZXcgYmluYXJpZXMKCjIwMDktMDctMTcgMTM6NDk6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGV4dC9jYWlyby9nc3RjYWlyb3JlbmRlci5jOgoJICBjYWlyb3JlbmRlcjogQWRkIHRvIHRoZSBkb2N1bWVudGF0aW9uCgoyMDA5LTA3LTE3IDEzOjQyOjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jYWlyby9nc3RjYWlyb3JlbmRlci5jOgoJICBjYWlyb3JlbmRlcjogUmV0dXJuIG5vdC1uZWdvdGlhdGVkIGlmIHdlIGhhdmUgbm8gY2FwcwoKMjAwOS0wNy0xNyAxMzo0MToxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvcmVuZGVyLmg6CgkgIGNhaXJvcmVuZGVyOiBGaXggY2FwcyBhbmQgY29sb3JzcGFjZSBoYW5kbGluZwoKMjAwOS0wNy0xNyAxMzozMDowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuYzoKCSAgY2Fpcm9yZW5kZXI6IFVzZSBjb3JyZWN0IG1pbWV0eXBlcyBmb3IgUERGIGFuZCBTVkcKCjIwMDktMDctMTcgMTM6MjQ6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NhaXJvL2dzdGNhaXJvcmVuZGVyLmM6CgkgIGNhaXJvcmVuZGVyOiBSZW1vdmUgcHVsbCBtb2RlLCBpdCBvbmx5IGFkZHMgY29tcGxleGl0eSBidXQgbm90IGFkdmFudGFnZXMKCjIwMDktMDctMTYgMjE6NTU6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NhaXJvL2dzdGNhaXJvcmVuZGVyLmM6CgkgIGNhaXJvcmVuZGVyOiBGaXggY2FwcyBuZWdvdGlhdGlvbiBhbmQgY2Fpcm8gc3VyZmFjZSBjcmVhdGlvbgoKMjAwOS0wNy0xNiAyMTo0MjoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuYzoKCSAgY2Fpcm9yZW5kZXI6IENvcnJlY3RseSBzZXQgc3JjY2FwcwoKMjAwOS0wNy0xNiAyMTozMTo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvcmVuZGVyLmg6CgkgIGNhaXJvcmVuZGVyOiBNb3ZlIGluc3RhbmNlL2NsYXNzIHN0cnVjdCBkZWZpbml0aW9ucyB0byB0aGUgaGVhZGVyCgoyMDA5LTA3LTE2IDIxOjMwOjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jYWlyby9nc3RjYWlyb3JlbmRlci5jOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuaDoKCSAgY2Fpcm9yZW5kZXI6IEFkZCBMdXR6JyBjb3B5cmlnaHQgdG8gdGhlIGZpbGUgaGVhZGVyCgoyMDA5LTA3LTE2IDIxOjI3OjQ1ICswMjAwICBMdXR6IE11ZWxsZXIgPGx1dHpAdG9wZnJvc2UuZGU+CgoJKiBleHQvY2Fpcm8vTWFrZWZpbGUuYW06CgkqIGV4dC9jYWlyby9nc3RjYWlyby5jOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvcmVuZGVyLmg6CgkgIGNhaXJvOiBBZGQgY2Fpcm8tYmFzZWQgUERGL1BTL1NWRyBlbmNvZGVyIGVsZW1lbnQKCSAgRml4ZXMgYnVnICMzMzE0MjAuCgoyMDA5LTA3LTE2IDIwOjQ0OjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5oOgoJICBmbGFjZW5jOiBPcHRpb25hbGx5IHdyaXRlIGEgUEFERElORyBibG9jawoJICBUaGUgc2l6ZSBvZiB0aGUgUEFERElORyBibG9jayBpcyBzcGVjaWZpZWQgYnkgYSBuZXcKCSAgInBhZGRpbmciIHByb3BlcnR5LgoJICBGaXhlcyBidWcgIzU4ODQ4My4KCjIwMDktMDctMTYgMTk6MzU6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IE9ubHkgYXNzdW1lIHNlZWthYmlsaXR5IGlmIHRoZSBzZXJ2ZXIgcHJvdmlkZXMgQ29udGVudC1MZW5ndGgKCSAgUHJldmlvdXNseSBzZWVrYWJpbGl0eSB3YXkgYWx3YXlzIGFzc3VtZWQgdW50aWwgdGhlIGZpcnN0IHNlZWsgYWN0dWFsbHkKCSAgZmFpbGVkLiBOb3cgd2UgYXNzdW1lIHRoYXQgYWxsIHNlcnZlcnMgYXJlIG5vdCBzZWVrYWJsZSB1bmxlc3MgdGhleSBwcm92aWRlCgkgIGEgQ29udGVudC1MZW5ndGggaGVhZGVyLiBJZiBhIHNlZWsgZmFpbHMgYWZ0ZXIgdGhhdCB3ZSBjb250aW51ZSB0bwoJICBhc3N1bWUgbm8gc2Vla2FiaWxpdHkuIEZpeGVzIGJ1ZyAjNTg1NTc2LgoKMjAwOS0wNy0xNiAxNToxNDo0MyArMDIwMCAgQXJub3V0IFZhbmRlY2FwcGVsbGUgPGFybm91dEBtaW5kLmJlPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IGRvbid0IHRyeSB0byBhdXRoZW50aWNhdGUgaWYgbm8gdXNlcm5hbWUvcGFzc3dvcmQgaXMgc2V0LgoKMjAwOS0wNy0xNiAxNzoxMDoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkgIGVmZmVjdHY6IENoYWluIHVwIGZpbmFsaXplIHRvIHRoZSBwYXJlbnQgY2xhc3MgaW4gd2FycHR2CgkgIEZpeGVzIGEgbWVtb3J5IGxlYWsuCgoyMDA5LTA3LTE2IDEyOjU1OjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZWZmZWN0di5jOgoJICBlZmZlY3R2OiBBZGQgdW5pdCB0ZXN0IGZvciBhbGwgZWZmZWN0diBlbGVtZW50cwoKMjAwOS0wNy0xNiAxMjoxNzozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJICBlZmZlY3R2OiBBZGQgbmV3IGVmZmVjdHYgZWxlbWVudHMgdG8gdGhlIGRvY3MKCjIwMDktMDctMTUgMTQ6Mzc6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvTWFrZWZpbGUuYW06CgkqIGdzdC9lZmZlY3R2L2dzdGVmZmVjdHYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmlwcGxlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJpcHBsZS5oOgoJICBlZmZlY3R2OiBBZGQgcmlwcGxldHYgZWxlbWVudAoJICBUaGlzIHByb2R1Y2VzIGEgd2F0ZXIgcmlwcGxlIGVmZmVjdCBvbiB0aGUgdmlkZW8gaW5wdXQsCgkgIGJhc2VkIG9uIG1vdGlvbiBvciBhIHJhaW4gZHJvcCBhbGdvcml0aG0uCgkgIEtpbmRseSByZWxpY2Vuc2VkIHRvIExHUEwyKyBieSBLZW50YXJvIEZ1a3VjaGkgPGZ1a3VjaGlAbWVnYXVpLm5ldD4uCgkgIEZpeGVzIGJ1ZyAjNTg4Njk1LgoKMjAwOS0wNy0xMiAxNTo0MjozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9NYWtlZmlsZS5hbToKCSogZ3N0L2VmZmVjdHYvZ3N0ZWZmZWN0di5jOgoJKiBnc3QvZWZmZWN0di9nc3RzdHJlYWsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c3RyZWFrLmg6CgkgIGVmZmVjdHY6IEFkZCBzdHJlYWt0diBlZmZlY3QgZmlsdGVyIGVsZW1lbnQKCSAgVGhpcyBjb21iaW5lcyB0aGUgU3RyZWFrVFYgYW5kIEJhbHRhblRWIGZpbHRlcnMgZnJvbSB0aGUKCSAgZWZmZWN0diBwcm9qZWN0LgoJICBLaW5kbHkgcmVsaWNlbnNlZCB0byBMR1BMMisgYnkgS2VudGFybyBGdWt1Y2hpIDxmdWt1Y2hpQG1lZ2F1aS5uZXQ+LgoJICBGaXhlcyBidWcgIzU4ODM2OC4KCjIwMDktMDctMTIgMTI6MzE6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RvcC5jOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJldi5jOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSAgZWZmZWN0djogRml4IHByb2Nlc3Npbmcgb24gYmlnIGVuZGlhbiBhcmNoaXRlY3R1cmVzCgoyMDA5LTA3LTEyIDExOjUyOjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L01ha2VmaWxlLmFtOgoJKiBnc3QvZWZmZWN0di9nc3RlZmZlY3R2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5oOgoJICBlZmZlY3R2OiBBZGQgcmFkaW9hY3R2IGVmZmVjdCBmaWx0ZXIKCSAgVGhpcyBmaWx0ZXIgYWRkcyBhIHJhZGlhdGlvbi1saWtlIG1vdGlvbiBibHVyIGVmZmVjdAoJICB0byB0aGUgdmlkZW8gc3RyZWFtLgoJICBLaW5kbHkgcmVsaWNlbnNlZCB0byBMR1BMMisgYnkgS2VudGFybyBGdWt1Y2hpIDxmdWt1Y2hpQG1lZ2F1aS5uZXQ+LgoJICBGaXhlcyBidWcgIzU4ODM1OS4KCjIwMDktMDctMTIgMTE6MjY6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0b3AuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0b3AuaDoKCSAgZWZmZWN0djogTWFrZSB0aGUgb3B0diB0aHJlc2hvbGQgcHJvcGVydHkgYW4gdWludAoKMjAwOS0wNy0xMiAxMDozOTowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9NYWtlZmlsZS5hbToKCSogZ3N0L2VmZmVjdHYvZ3N0ZWZmZWN0di5jOgoJKiBnc3QvZWZmZWN0di9nc3RvcC5jOgoJKiBnc3QvZWZmZWN0di9nc3RvcC5oOgoJICBlZmZlY3Q6IEFkZCBvcHR2IGVmZmVjdCBmaWx0ZXIgZnJvbSB0aGUgZWZmZWN0diBwcm9qZWN0CgkgIFRoaXMgZmlsdGVyIGJpbmFyaXplcyBpbnB1dCBmcmFtZXMgYW5kIGNvbWJpbmVzIHRoZW0gd2l0aCB2YXJpb3VzCgkgIG9wdGljYWwgcGF0dGVybi4KCSAgS2luZGx5IHJlbGljZW5zZWQgdG8gTEdQTDIrIGJ5IEtlbnRhcm8gRnVrdWNoaSA8ZnVrdWNoaUBtZWdhdWkubmV0Pi4KCSAgRml4ZXMgYnVnICM1ODgzNDkuCgoyMDA5LTA3LTAzIDA1OjExOjI2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogRW1pdCBzdHJlYW0tc3RhdHVzIGxlYXZlIG1lc3NhZ2UKCSAgRml4ZXMgIzU4NzY5NQoKMjAwOS0wNy0wMyAwNTowNjo0NSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkgIHB1bHNlc2luazogRW1pdCBzdHJlYW0tc3RhdHVzIGVudGVyIG1lc3NhZ2UKCSAgRW1pdCBzdHJlYW0tc3RhdHVzIG1lc3NhZ2VzIGZvciB0aGUgcHVsc2UgdGhyZWFkLgoJICBEb24ndCB1c2Ugb3VyIG93biBHQ29uZCBmb3Igc2lnbmFsaW5nIGJ1dCBzaW1wbHkgdXNlIHRoZSBwdWxzZSBtYWlubG9vcAoJICBtZWNoYW5pc21zIGZvciBzeW5jaHJvbmlzYXRpb24uCgkgIFNlZSAjNTg3Njk1CgoyMDA5LTA3LTE0IDE4OjE1OjU5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGRlYnVnIHRoZSBsYXRlbmN5IHVwZGF0ZSB2YWx1ZXMKCjIwMDktMDctMTQgMTY6MTI6NTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJICBwdWxzZXNpbms6IGFkZCAyNGJpdCBzYW1wbGUgZm9ybWF0cwoJICBBZGQgY2hlY2sgZm9yIHB1bHNlYXVkaW8gMC45LjE1IGFuZCBlbmFibGUgMjRiaXRzIHNhbXBsZXMgaW4gdGhhdCBjYXNlLgoKMjAwOS0wNy0xMyAxMjoyMzozNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA1ODQ1YjYzIHRvIGZlZGFhZWUKCjIwMDktMDctMTMgMTc6NTM6MjUgKzAyMDAgIE1hcmMgTGVlbWFuIDxtYXJjLmxlZW1hbiBhdCBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJICBtcHZwYXk6IFJld29yayB0aGUgdGltZXN0YW1waW5nCgkgIFJld29yayB0aGUgdGltZXN0YW1waW5nIGluIHRoZSBtcHYgcGF5bG9hZGVyIHNvIHRoYXQgdGhlIHRpbWVzdGFtcHMgYXJlIG1vcmUKCSAgYWNjdXJhdGUuCgkgIEZpeGVzICM1ODc2ODAKCjIwMDktMDctMDMgMDg6NDc6MTIgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9wcm9iZS5jOgoJICB2NGwyc3JjOiBhZGQgYSBzaW1wbGUgdGVzdCBjYXNlIGZvciBkZXZpY2UgcHJvYmluZwoKMjAwOS0wNy0wMyAwODozODo0MyArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJzcmM6IG9wdGlvbmFsIHN1cHBvcnQgZm9yIGRldmljZSBwcm9iaW5nIHdpdGggZ3VkZXYKCSAgRW51bWVyYXRlIHY0bDIgZGV2aWNlcyB1c2luZyBndWRldiBpZiBhdmFpbGFibGUuCgkgIEZpeGVzIGJ1ZyAjNTgzNjQwLgoKMjAwOS0wNy0xMCAxOTo1NDoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IFJhbmRvbSBjbGVhbnVwCgoyMDA5LTA3LTEwIDE5OjU0OjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogU2VuZCBxdWVyaWVzIHRvIHRoZSBtYXN0ZXIgcGFkIGJ5IGRlZmF1bHQgaW5zdGVhZCBvZiBhbGwgcGFkcwoKMjAwOS0wNy0xMCAxOTozNDo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfcmdiLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogQWRkIFJHQiwgQkdSLCB4UkdCLCBSR0J4LCB4QkdSLCBCR1J4IHN1cHBvcnQKCjIwMDktMDctMTAgMTc6NDM6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBDbGVhbiB1cCBkZWJ1Z2dpbmcgYSBiaXQKCjIwMDktMDctMTAgMTc6MjU6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBSZW1vdmUgc29tZSByZWR1bmRhbnQgY2hlY2tzIGFuZCBlcnJvciBvdXQgaW1tZWRpYXRlbHkgaWYgbm90IG5lZ290aWF0ZWQKCSAgQWxzbyBzdG9wIGxlYWtpbmcgdGhlIG91dHB1dCBidWZmZXIgaW4gc29tZSBlcnJvciBjYXNlcy4KCjIwMDktMDctMTAgMTc6MjM6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfYXl1di5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9iZ3JhLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2k0MjAuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmg6CgkgIHZpZGVvbWl4ZXI6IFJlbW92ZSB0aGUgY2FsY3VsYXRlX2ZyYW1lX3NpemUoKSBmdW5jdGlvbiBhbmQgdXNlIGxpYmdzdHZpZGVvIGluc3RlYWQKCjIwMDktMDYtMzAgMTU6MTM6NDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IFJlbW92ZSB1bnVzZWQgbGluay91bmxpbmsgcGFkIG1ldGhvZHMKCjIwMDktMDYtMzAgMTI6NDM6MDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9pNDIwLmM6CgkgIHZpZGVvbWl4ZXI6IEk0MjAgbW9kZTogQWRkIGZhc3QgcGF0aCBmb3IgMC4wIGFuZCAxLjAgYWxwaGEKCSAgSWYgdGhlIHNvdXJjZSBhbHBoYSBpcyAwLjAsIHdlIHRha2Ugbm90aGluZy4KCSAgSWYgdGhlIHNvdXJjZSBhbHBoYSBpcyAxLjAsIHdlIG92ZXJ3cml0ZSBldmVyeXRoaW5nLgoKMjAwOS0wNi0zMCAxMjo0MDowMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2k0MjAuYzoKCSAgdmlkZW9taXhlcjogSTQyMCBibGVuZGluZyA6IEZpeCBtYWluIGFsZ29yaXRobS4KCSAgV2hlbiBibGVuZGluZyBhIHNvdXJjZSBsYXllciB3aXRoIGFuIGFscGhhIG9mICdhJyBvbiB0b3Agb2YgYW5vdGhlcgoJICBkZXN0aW5hdGlvbiBsYXllciB3ZSB0YWtlIHRoZSBzdW0gb2Y6CgkgICogJ2EnIHBlcmNlbnQgb2YgdGhlIHNvdXJjZSBsYXllcgoJICAqICgxMDAgLSAnYScpIHBlcmNlbnQgb2YgdGhlIGRlc3RpbmF0aW9uIGxheWVyICh0aGUgcmVtYWluZGVyKQoKMjAwOS0wNi0zMCAxMjozOToxOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2k0MjAuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXJwYWQuaDoKCSAgdmlkZW9taXhlcjogTWFrZSBkZWJ1Z2dpbmcgY2F0ZWdvcnkgZ2xvYmFsIHRvIGFsbCB0aGUgY29kZS4KCjIwMDktMDYtMjkgMTk6MjM6NDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IGltcHJvdmUgcmVhZGFiaWxpdHkgb2YgZGVidWdnaW5nIHN0YXRlbWVudHMuCgoyMDA5LTA3LTA4IDEzOjM4OjUzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZG8gbm90IGxlYWsgdGltZW91dCBtZXNzYWdlCgoyMDA5LTA3LTA5IDA3OjE0OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpOiBEb24ndCBmb3J3YXJkIE5FV1NFR01FTlQgZXZlbnRzIGZyb20gdXBzdHJlYW0KCSAgTmV3IG9uZXMgYXJlIGdlbmVyYXRlZCBsYXRlciBhbmQgc2ltcGx5IGZvcndhcmRpbmcgdGhlbSBjYW4KCSAgcmVzdWx0IGluIE5FV1NFR01FTlQgZXZlbnRzIG9mIGRpZmZlcmVudCBmb3JtYXQgZ29pbmcgZG93bnN0cmVhbS4KCSAgRml4ZXMgYnVnICM1ODc5ODMuCgoyMDA5LTA3LTA4IDE4OjE5OjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2F5dXYuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfaTQyMC5jOgoJICB2aWRlb21peGVyOiBNYWtlIGNoZWNrZXIgcGF0dGVybiBsb29rdXAgdGFibGUgY29uc3RhbnQKCjIwMDktMDctMDggMTg6MTc6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2JncmEuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBBZGQgc3VwcG9ydCBmb3IgQVJHQgoJICBBbmQgY2xlYW4gdXAgdGhlIGNhcHMgcGFyc2luZy4KCjIwMDktMDctMDggMTU6MTc6NDEgKzAyMDAgIEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbkBnYWlnbmFyZC5uZXQ+CgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkgIHVkcDogSW5pdGlhbGl6ZSBwb2ludGVyIHRvIE5VTEwKCSAgT3RoZXJ3aXNlIHdlJ3JlIGNhbGxpbmcgZnJlZSgpIHdpdGggc29tZSByYW5kb20KCSAgbWVtb3J5IGFkZHJlc3MgaW4gZXJyb3IgY2FzZXMuCgkgIEZpeGVzIGJ1ZyAjNTg3OTgyLgoKMjAwOS0wNy0wNyAxNjozNToyNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNwcmlua2xlIHNvbWUgbW9yZSBjb25zdAoKMjAwOS0wNy0wNyAxNTo1Nzo1NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHBlcmZvcm0gc29tZSBtb3JlIChjYXJlZnVsKSBkYXRhIGJ1ZmZlcmluZwoJICBPbmNlIGJ1ZmZlcmluZyBoYXMgc3RhcnRlZCAod2l0aCBhbiBtZGF0IGF0b20pLCBjb250aW51ZSBidWZmZXJpbmcKCSAgdW50aWwgbW9vdiBhdG9tIGlzIHJlYWNoZWQsIHdoaWNoIGhhbmRsZXMgY2FzZXMgd2l0aCBtdWx0aXBsZQoJICBtZGF0IGF0b21zLiAgQWxzbyBrZWVwIGFkYXB0ZXIvb2Zmc2V0IGJldHRlciBpbiBzeW5jIHdpdGggdXBzdHJlYW0KCSAgYW5kIGZpeCBzb21lIGRlYnVnIHN0YXRlbWVudHMuICBGaXhlcyAjNTg3NDI2LgoKMjAwOS0wNy0wNiAxMDo0MDozMSArMDIwMCAgUGhpbGlwIErkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogUmVwbGFjZSBkZXByZWNhdGVkIEdTVF9ESVNBQkxFX0RFQlVHIHdpdGggY29ycmVjdCBtYWNyby4gRml4ZXMgIzU4NzgyNgoKMjAwOS0wNy0wMSAxMzowNzo0OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGVycm9yIG91dCBpbnN0ZWFkIG9mIGRpdmlkaW5nIGJ5IDAKCSAgRXJyb3Igb3V0IGlmIHRpbWVzY2FsZSBpcyAwLgoKMjAwOS0wNy0wMSAwOTozMjo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIFJldmVydCAicXRkZW11eDogTWFrZSBzdXJlIHdlIGRvbid0IGJsYWNrbGlzdCBzdHJlYW1zIGJ5IHdyb25nbHkgY29tcGFyaW5nIHRoZWlyIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDU1MDNhNTlhNTc3OWI2NzQ1MWQ4YTI3MTAwMDE4MTc5MGVlNzZiYzcuCgkgIFJldmVydGluZyB0aGlzIHNpbmNlIGl0IGNhdXNlcyByZWdyZXNzaW9ucyB3aXRoIGEgbG90IG9mIHNhbXBsZSBmaWxlcwoJICBJIGhhdmUsIGFsbCBvZiB3aGljaCB3b3JrZWQgZmluZSB3aXRoIHRoZSBsYXN0IC1nb29kIHJlbGVhc2UgKCM1ODY4OTEpLgoKMjAwOS0wNi0zMCAxNTo1NDo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGNvbW1lbnQgb3V0IHVudXNlZCBzdHJ1Y3R1cmUKCjIwMDktMDYtMzAgMTM6MTI6MDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBtb3JlIHNpemUgY2hlY2tzLCBhbmQgdXNlIGdfdHJ5X25ldzAoKSBpbnN0ZWFkIG9mIGdfbmV3MCgpCgkgIFdoZW5ldmVyIHdlIGFsbG9jIHNvbWV0aGluZyBiYXNlZCBvbiBhIHVzZXItc3VwcGxpZWQgc2l6ZSwgd2Ugc2hvdWxkCgkgIHJlYWxseSB1c2UgZ190cnlfbmV3KCksIG90aGVyd2lzZSB3ZSBjYW4gZWFzaWx5IGJlIG1hZGUgdG8gYWJvcnQgYnkKCSAgcGFzc2luZyBhIHJpZGljdWxvdXNseSBsYXJnZSBudW1iZXIgdG8gdXMgZm9yIGFsbG9jaW5nLiBGaXhlcwoJICBwcm9ibGVtcyB3aXRoIHNvbWUgZnV6emVkIGZpbGVzLgoKMjAwOS0wNi0yOSAxODo1ODozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGd1YXJkIGFnYWluc3QgYm9ndXMgYXRvbSBzaXplcyBhbmQgc2hvcnQgcmVhZHMKCSAgQ2hlY2sgdGhlIHBvc3NpYmx5IDY0LWJpdCBhdG9tIHNpemUgbW9yZSBjYXJlZnVsbHkgYmVmb3JlIGNhc3RpbmcgaXQKCSAgdG8gYW4gaW50IGFuZCBwYXNzaW5nIGl0IHRvIGdzdF9wYWRfcHVsbF9yYW5nZSgpLCBvdGhlcndpc2Ugd2UgbWlnaHQKCSAgZW5kIHVwIHB1bGxpbmcgMCBieXRlcywgZ2V0dGluZyBhbiBlbXB0eSBidWZmZXIgYXMgcmVxdWVzdGVkIGFuZAoJICBkZXJlZmVyZW5jaW5nIG5vdCBhdmFpbGFibGUgZGF0YSB3aGlsc3QgdGhpbmtpbmcgd2UgYWN0dWFsbHkgYXNrZWQKCSAgZm9yIGFuZCBnb3QgMHgxMDAwMDAwMDAwMDAwIGJ5dGVzLiBTaW1pbGFyIGZpeCBmb3IgcHVzaCBtb2RlIG9wZXJhdGlvbgoJICB3aGVyZSBuZWVkZWRieXRlcyBlbmRzIHVwIGJlaW5nIDAgYnl0ZXMsIHdoaWNoIG1ha2VzIHVzIGFzc2VydC4gRml4ZXMKCSAgY3Jhc2ggd2l0aCBicm9rZW4gb3IgZnV6emVkIGZpbGUgKE5CICMxMjIzNzgpLgoKMjAwOS0wNi0yOSAxNjo1Mjo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHVzZSAweCBwcmVmaXggd2hlbiBsb2dnaW5nIG51bWJlcnMgaW4gaGV4CgoyMDA5LTA3LTAxIDA4OjQwOjQwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBEb24ndCBzZW5kIGVtcHR5IHN0cmluZyB0YWdzCgoyMDA5LTA2LTMwIDIxOjM1OjM3ICswNDAwICBMUk4gPGxybjE5ODYgYXQgZ21haWwuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgRG9uJ3QgdXNlIHNlbmRtc2coKS1kZXBlbmRlbnQgY29kZSBvbiBXaW5kb3dzCgkgIEZpeGVzICM1ODU4NDIKCjIwMDktMDYtMzAgMTU6NTk6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXcuYzoKCSAgbGF3OiBmaXggY2FwcyBhbmQgbmVnb3RpYXRpb24KCSAgRml4IHRoZSBjYXBzIHRvIGluY2x1ZGUgdGhlIGRlcHRoIChpbnN0ZWFkIG9mIHdpZHRoIHR3aWNlKSBpbiB0aGUgY2FwcyBvZgoJICBhdWRpby94LXJhdy1pbnQuCgkgIEZpeCBuZWdvdGlhdGlvbiB0byBub3Qgb25seSBjb3B5IHRoZSByYXRlL2NoYW5uZWxzIG9mIHRoZSBmaXJzdCBzdHJ1Y3R1cmUuCgoyMDA5LTA2LTMwIDE0OjQ4OjA5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogaW5jbHVkZSAiMS4wPTEwMCUiIGluIHZvbHVtZSBhbmQgY2hhbmdlIHVwcGVyIGxpbWl0CgkgIFVwcGVyIHZvbHVtZSBsaW1taXQgd2FzIDEwMDAuIFRoYXQgYXBwZWFyIHVubmVjZWFzcmlseSBoaWdoLiBJdCB3b3VsZCBhbHNvIGNhdXNlCgkgIHNldmVyIGRpc3RvcnRpb24gaWYgYWNjaWRlbnRpYWx5IHVzZWQuIE5vdyBpdHMgMTAgKH4gKzE1ZGIpIHdoaWNoIGlzIGFsc28gaW4KCSAgc3luYyB3aXRoIHZvbHVtZSBhbmQgcGxheWJpbjIuCgoyMDA5LTA2LTI5IDE1OjM5OjQzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlOiBzb21lIG1vcmUgdHJpdmlhbCBjbGVhbnVwcwoKMjAwOS0wNi0yOSAxNTozODo0OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyLmM6CgkgIHB1bHNlOiB0cml2aWFsIGNsZWFudXBzCgoyMDA5LTA2LTI5IDE1OjIwOjMxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGNsZWFyIHJpbmdidWZmZXIgd2hlbiBhc2tlZCB0bwoJICBTaW5jZSB3ZSBtYXAgdGhlIHJpbmdidWZmZXIgdG8gdGhlIHB1bHNlYXVkaW8gaW50ZXJuYWwgcmluZ2J1ZmZlciwgZmx1c2ggdGhlCgkgIHB1bHNlYXVkaW8gYnVmZmVyIHdoZW4gd2UgYXJlIGFza2VkIHRvIGNsZWFyIHRoZSByaW5nYnVmZmVyLgoJICBUaGlzIGF2b2lkcyBzb21lIGxlZnRvdmVyIGF1ZGlvIGFmdGVyIGEgc2Vlay4KCjIwMDktMDYtMjYgMTU6MDA6MTQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGF1dG9nZW4uc2g6CgkgIGF1dG9nZW4uc2g6IEFjdHVhbGx5IGRvIHRoZSAnZWNobyAtbicgLT4gcHJpbnRmIGNoYW5nZS4KCjIwMDktMDYtMjYgMTQ6NDA6MTQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGF1dG9nZW4uc2g6CgkgIGF1dG9nZW4uc2g6IFVzZSBwcmludGYgaW5zdGVhZCBvZiAnZWNobyAtbicuIENoZWNrIGZvciBhdXRvbWFrZS0xLjFbMDFdCgkgIENoZWNrIGZvciBtb3JlIGF1dG9tYWtlIGNvbW1hbmQgdmFyaWFudHMuIFVzZSBwcmludGYgaW5zdGVhZCBvZiAnZWNobyAtbicKCSAgZm9yIHBvcnRhYmlsaXR5CgoyMDA5LTA2LTI2IDEzOjQyOjA5ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGY4MTAwMzAgdG8gNTg0NWI2MwoKMjAwOS0wNi0yNiAxMzoxOTowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRvbid0IHByb2Nlc3MgdHJhY2tfbnVtL3RyYWNrX2NvdW50IHRhZ3Mgd2l0aCBhIDAgdmFsdWUKCSAgTnVtYmVyL2NvdW50IHZhbHVlcyBvZiAwIG1lYW4gdGhleSdyZSBub3Qgc2V0LiBEb24ndCBwdXQgdGhvc2UgaW4gdGhlCgkgIHRhZ2xpc3QuCgoyMDA5LTA2LTI1IDE4OjUxOjEyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuYzoKCSAgd2F2ZWZvcm1zaW5rOiB1c2UgJ2d1aW50OCcgaW5zdGVhZCBvZiAnYnl0ZScgdG8gZml4IGNvbXBpbGF0aW9uIHdpdGggTVNWQzgKCSAgV2UgbmVlZCBhIGNhc3QgaGVyZSBmb3IgcG9pbnRlciBhcml0aG1ldGljIHRvIHdvcmsgY29ycmVjdGx5LCBidXQgc29tZQoJICBNU1ZDIHZlcnNpb25zIGRvbid0IHNlZW0gdG8gbGlrZSAnYnl0ZScsIHNvIHVzZSBndWludDggaGVyZS4gSG9wZWZ1bGx5CgkgIGZpeGVzICM1ODUzNjEuCgoyMDA5LTA2LTI1IDE5OjM5OjM3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDJzcmM6IHNldCBzdHJ1Y3RzIHRvIHplcm8gYmVmb3JlIHVzaW5nIHRoZW0gaW4gaW9jdGxzCgkgIFRoaXMgZml4ZXMgdmFsZ3JpbmQgd2FybmluZ3MuCgoyMDA5LTA2LTI1IDEzOjIzOjQwICswMjAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AZmx1ZW5kby5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IE1ha2Ugc3VyZSB3ZSBkb24ndCBibGFja2xpc3Qgc3RyZWFtcyBieSB3cm9uZ2x5IGNvbXBhcmluZyB0aGVpciBkdXJhdGlvbiB3aXRoIGVudGlyZSBjbGlwIGR1cmF0aW9uLgoKMjAwOS0wNi0yNSAxMzoxODoxNCArMDIwMCAgS3J6eXN6dG9mIELFgmFzemtvd3NraSA8a2IgYXQgc3lzbWlrcm8uY29tLnBsPgoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkgIHJ0cGRlYzogZml4IHNvbWUgYnVmZmVyIGxlYWtzCgoyMDA5LTA2LTI1IDA4OjExOjA5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBmbHZwYXJzZTogQWRkIG1pc3NpbmcgYnJlYWsgaW4gc3dpdGNoL2Nhc2UuCgoyMDA5LTA2LTI1IDA4OjEwOjM4ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZSwgaGludCBicmFuY2ggbGlrZWxpbmVzcywgYWRkIGNvbW1lbnRzLgoKMjAwOS0wNi0yNSAwODowOTo1NyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IFJlbW92ZWQgdW51c2VkIHZhcmlhYmxlCgoyMDA5LTA2LTI1IDA3OjQxOjA3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cyBhbmQgdW51c2VkIHZhcmlhYmxlcy4KCSAgQWxzbyBhZGQgYnJhbmNoIGxpa2VsaW5lc3MgbWFjcm9zLgoKMjAwOS0wNi0yNSAwNzo0MDoyNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGVzLiBGaXhlcyBidWlsZCBvbiBtYWNvc3gKCjIwMDktMDYtMjQgMTc6NDM6MjUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBmcmVlIG1lbW9yeSBpbiBmaW5hbGl6ZQoJICBmaW5hbGl6ZSBpcyBjYWxsZWQgb25seSBvbmNlLiBubyBuZWVkIHRvIGNsZWFyIHBvaW50ZXJzIHRoZXJlLiBkaXNwb3NlIGlzIGZvcgoJICB1bnJlZmZpbmcuCgoyMDA5LTA2LTI0IDE1OjE0OjE0ICswMTAwICBKYW4gU2NobWlkdCA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNmFiMTFkMSB0byBmODEwMDMwCgoyMDA5LTA2LTA4IDE0OjQ2OjQ4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHNob3J0LWNpcmN1aXQgZ3N0X2F2aV9kZW11eF9zcmNfY29udmVydCgpIHdoZW4gcGFyc2luZyB0aGUgaW5kZXgKCSAgRG9uJ3QgY2FsbCBnc3RfYXZpX2RlbXV4X3NyY19jb252ZXJ0KCkgZm9yIGVhY2ggc2luZ2xlIGluZGV4IGVudHJ5LiBOb3QKCSAgb25seSBkbyB3ZSBhbHJlYWR5IGhhdmUgdGhlIHBvaW50ZXIgdG8gdGhlIHN0cmVhbSBjb250ZXh0LCB3ZSBhbHNvIGtub3cKCSAgdGhlIGZvcm1hdHMgd2Ugd2FudCB0byBjb252ZXJ0IGZyb20gYW5kIHRvIGFscmVhZHksIHNvIHdlIG1heSBqdXN0IGFzCgkgIHdlbGwgdXNlIG9wdGltaXNlZCBjb252ZXJzaW9uIHJvdXRpbmVzIHRoYXQgYnlwYXNzIHNvbWUgb2YgdGhlIGNoZWNrcwoJICBhbmQgbG9va3VwcyBtYWRlIGluIGdzdF9hdmlfZGVtdXhfc3JjX2NvbnZlcnQoKS4KCjIwMDktMDYtMTcgMTY6Mzk6MzYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEFub3RoZXIgcm91bmQgb2YgR18qTElLRUxZIG1pY3JvLW9wdGltaXNhdGlvbnMuCgoyMDA5LTA2LTE3IDE2OjIwOjI1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBUYWtlIGxhc3Qgc2FtcGxlIGR1cmF0aW9uIGZvciBkdW1teSBzZWdtZW50IGNhbGN1bGF0aW9uLgoJICBUaGlzIGZpeGVzIHRoZSBjYXNlcyB3aGVyZSBmaWxlcyB3aXRob3V0IEVETCB3b3VsZG4ndCBvdXRwdXQgdGhlaXIKCSAgbGFzdCBidWZmZXIuCgoyMDA5LTA2LTI0IDEyOjM2OjMxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogU3ByaW5rbGUgYnJhbmNoIGxpa2VsaW5lc3MgbWFjcm9zIG92ZXIgdGhlIGNvZGUuCgoyMDA5LTA2LTIzIDE2OjU0OjMyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzoKCSAgcmF3MTM5NDogc3ByaW5rbGUgYnJhbmNoIGxpa2VsaW5lc3MgbWFjcm9zIGFjY3Jvc3MgdGhlIGNvZGUuCgoyMDA5LTA2LTE0IDEwOjM2OjE3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBBZGQgR1NUX01FTURVTVAgc3RhdGVtZW50cyBmb3IgdW5rbm93biBhdG9tcy4KCSAgVGhpcyBpcyB0byBoZWxwIGRldmVsb3BlcnMgdHJhY2sgZG93biBhbmQgaW1wbGVtZW50IHVuaGFuZGxlZCBhdG9tcyBmYXN0ZXIuCgoyMDA5LTA2LTIzIDE3OjUxOjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogUmVtb3ZlIHRoZSBpbnRlcmxhY2VkIGZpZWxkIGZyb20gdGhlIG91dHB1dCBjYXBzIGlmIGRlaW50ZXJsYWNpbmcgaXMgZW5hYmxlZAoKMjAwOS0wNi0yMyAxNzo0ODo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYzoKCSAgZGVpbnRlcmxhY2U6IENvcHkgdGhlIGNvcnJlY3QgbGluZSBmcm9tIGNvcnJlY3QgcGxhY2UgaW4gdGhlIGhpc3RvcnkKCjIwMDktMDYtMjMgMTY6MzU6MzYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHVzZSBzYW1lIHByb3RvY29scyBhZnRlciByZWRpcmVjdAoJICBBZnRlciBhIHJlZGlyZWN0IHdlIHdhbnQgdG8gdXNlIHRoZSBzYW1lIHByb3RvY29scyB0aGF0IHdlIHdlcmUgdXNpbmcgZm9yIHRoZQoJICBjdXJyZW50IHVybC4KCjIwMDktMDYtMjMgMTU6MzU6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkb24ndCBsZWFrIGNvdmVyIGFydAoKMjAwOS0wNi0yMyAxNDoxMDoxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkgIHVkcDogZml4IGNvbXBpbGVyIHdhcm5pbmcgYWJvdXQgRUFJX0FERFJGQU1JTFkgZ2V0dGluZyByZWRlZmluZWQgaW4gc29tZSBjYXNlcwoJICBJbmNsdWRlIHRoZSBoZWFkZXIgZnJvbSB3aGVyZSB3ZSBpbmNsdWRlIGFsbCB0aGUgc3lzdGVtIGhlYWRlcnMgd2l0aCB0aGUKCSAgc29ja2V0IHN0dWZmIGJlZm9yZSB3ZSB0cnkgdG8gZGVmaW5lIEVBSV9BRERSRkFNSUxZIG91cnNlbHZlcywgb3RoZXJ3aXNlCgkgIHdlIGRlZmluZSBpdCBvdXJzZWx2ZXMgYW5kIHRoZW4gZ2V0IGEgY29tcGlsZXIgd2FybmluZyBpZiBhIHN5c3RlbSBoZWFkZXIKCSAgZGVmaW5lcyBpdCBhcyB3ZWxsIHdpdGhvdXQgZ3VhcmRpbmcgYWdhaW5zdCBpdCBiZWluZyBkZWZpbmVkIGFscmVhZHkuCgoyMDA5LTA2LTIzIDE0OjM5OjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBtYXRyb3NrYTogYW5kIHRoZSBuZXcgaGVhZGVycyB0b28KCjIwMDktMDYtMjMgMTQ6MzI6NDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2U6IGZpeCBjb21waWxlciBlcnJvcgoJICBjaGFuZ2UgZ3BvaW50ZXIgdG8gZ3VpbnQ4ICogZm9yIGNvZGVjX3N0YXRlIGFuZCBjb2RlY19wcml2IGFzIHNvbWUKCSAgZnVuY3Rpb25zIG9wZXJhdGUgb24gdGhvc2UgdHlwZXMgYW5kIGl0IGF2b2lkcyBicmVha2luZyBzdHJpY3QtYWxpYXNpbmcKCSAgcnVsZXMuCgoyMDA5LTA2LTIzIDEyOjQyOjMzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGF2b2lkIGxlYWtpbmcgYnVmZmVycwoJICBEb24ndCBsZWFrIGJ1ZmZlcnMgd2hlbiByZXN5bmNpbmcgdG8gYSBrZXlmcmFtZS4KCSAgQXZvaWQgbGVha2luZyBidWZmZXJzIHdoZW4gZXhpdGluZyB0aGUgbG9vcCBvbiBlcnJvciBjb25kaXRpb25zLgoJICBBZGQgc29tZSBtb3JlIGRlYnVnIGluZm8uCgkgIEZpeGVzICM1ODU5MTEKCjIwMDktMDYtMjIgMTU6NTY6NTggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogb3Blbi9jbG9zZSB0aGUgZGV2aWNlIGluIFJFQURZCgkgIFRoaXMgYWxsb3dzIHRvIHF1ZXJ5IHRoZSBkZXZpY2UgaW4gUkVBRFkuIEJlZm9yZSBvbmUgbmVlZCB0byBzd2l0Y2ggaXQgdG8gUEFVU0VECgkgIGFuZCB0aGF0IGFsc28gc3RhcnRzIHN0cmVhbWluZy4KCjIwMDktMDYtMjAgMTU6NDE6NDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuYzoKCSAgcXRkZW11eDogdXNlIEdTVF9NRU1EVU1QCgoyMDA5LTA2LTE5IDAwOjE2OjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hcGV0YWcvTWFrZWZpbGUuYW06CgkqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSAgYXBlZGVtdXg6IGFkZCBjb250YWluZXItZm9ybWF0IHRhZwoJICBVc2UgcGJ1dGlscyBoZXJlIGJlY2F1c2UgdGhlIHN0cmluZyBpcyB0cmFuc2xhdGVkLgoKMjAwOS0wNi0xOSAwMDoxNTo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOgoJICBpZDNkZW11eDogYWRkIGNvbnRhaW5lci1mb3JtYXQgdGFnCgkgIFVzaW5nIHBidXRpbHMgaGVyZSBiZWNhdXNlIHRoZSBzdHJpbmcgaXMgdHJhbnNsYXRlZC4KCjIwMDktMDYtMTggMjM6NTE6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSAgZHZkZW11eDogcG9zdCBjb250YWluZXItZm9ybWF0IHRhZwoJICBBbHNvIG1lcmdlIHRoZSB0d28gYWxtb3N0IGlkZW50aWNhbCBfYWRkXypfcGFkKCkgZnVuY3Rpb25zIGludG8gb25lLgoKMjAwOS0wNi0xOCAyMzo0Mzo0OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJICBkdmRlbXV4OiBkb24ndCBzY3JldyB1cCBmaXJzdCBhdWRpbyBidWZmZXIKCSAgUXVlcnkgdGhlIGF1ZGlvIGZvcm1hdCwgZXNwLiBkdmRlbXV4LT5udW1fY2hhbm5lbHMsIGJlZm9yZSB3ZSB1c2UgdGhhdAoJICB2YXJpYWJsZSB0byBhbGxvY2F0ZSB0aGUgaW5pdGlhbCBidWZmZXIuIFRoYXQgd2F5IHdlIGRvbid0IGFjY2lkZW50YWxseQoJICBwdXNoIGEgemVyby1zaXplZCBidWZmZXIgYXMgZmlyc3QgYXVkaW8gYnVmZmVyLgoKMjAwOS0wNi0xOCAyMzozODozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkgIG11bHRpcGFydGRlbXV4OiBwb3N0IGNvbnRhaW5lci1mb3JtYXQgdGFnCgoyMDA5LTA2LTE4IDIzOjM3OjExICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYS1kZW11eDogcG9zdCBjb250YWluZXItZm9ybWF0IHRhZ3MKCjIwMDktMDYtMTggMjM6MzY6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogcG9zdCBjb250YWluZXItZm9ybWF0IHRhZwoKMjAwOS0wNi0xOCAyMzozNToyOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHBvc3QgY29udGFpbmVyLWZvcm1hdCB0YWdzCgoyMDA5LTA2LTIxIDE3OjEzOjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJICBhdWRpb2FtcGxpZnk6IEZpeCBpbnRlZ2VyIG92ZXJmbG93cyBvbiAzMiBiaXQgYXJjaGl0ZWN0dXJlcwoKMjAwOS0wNi0yMSAwOTo1MDo1NCArMDIwMCAgS2lwcCBDYW5ub24gPGtjYW5ub25AbGlnby5jYWx0ZWNoLmVkdT4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJICBhdWRpb2FtcGxpZnk6IERvbid0IGRlY2xhcmUgYSBsb29wIGluZGV4IHN0YXRpYwoJICBUaGUgcHJldmlvdXMgcGF0Y2ggdG8gYWRkIHN1cHBvcnQgZm9yIGFkZGl0aW9uYWwgc2FtcGxlIGZvcm1hdHMgcG9zc2libHkKCSAgaW50cm9kdWNlZCBhIHJlZW50cmFuY3kgYnVnOiAgYSB2YXJpYWJsZSB1c2VkIGZvciBhIGxvb3AgaW5kZXggd2FzIGRlY2xhcmVkCgkgIHN0YXRpYy4gIFRoaXMgcGF0Y2ggZml4ZXMgdGhhdCwgYW5kIGFsc28gYWRkcyBhICIvKiAqSU5ERU5ULU9OKiAqLyIgYW5ub3RhdGlvbgoJICBmb2xsb3dpbmcgdGhlIG1hY3JvIGJsb2NrLiAgKEkgZG9uJ3Qga25vdyB3aGF0IHRoZSBhbm5vdGF0aW9uIGlzIGZvciwgYnV0IHRoZQoJICBhZGRlciwgd2hlcmUgSSBjb3BpZWQgdGhpcyBmcm9tLCBoYXMgaXQpLgoKMjAwOS0wNi0xOSAyMjozNzoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSAgYXVkaW9hbXBsaWZ5OiBGaXggb2ZmLWJ5LW9uZSBpbiB3cmFwLXBvc2l0aXZlIG1vZGUKCjIwMDktMDYtMTkgMjI6MjA6NDUgKzAyMDAgIEtpcHAgQ2Fubm9uIDxrY2Fubm9uQGxpZ28uY2FsdGVjaC5lZHU+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5Lmg6CgkgIGF1ZGlvYW1wbGlmeTogQWRkIG5vY2xpcCBtZXRob2QgYW5kIHN1cHBvcnQgZm9yIG1vcmUgZm9ybWF0cwoJICBGaXhlcyBidWcgIzU4NTgyOCBhbmQgIzU4NTgzMS4KCjIwMDktMDYtMTkgMjE6NDY6NDEgKzAyMDAgIEtvb3AgTWFzdCA8a3dtQGZyZWVic2Qub3JnPgoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5oOgoJICB1ZHA6IEZpeCBidWlsZCBvbiBGcmVlQlNECgkgIEZpeGVzIGJ1ZyAjNTg2Mzk3LgoKMjAwOS0wNi0xOSAxODoxMjoyNyArMDIwMCAgT2dueWFuIFRvbmNoZXYgPG9nbnlhbi50b25jaGV2IGF0IGF4aXMuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgdGVzdHM6IGFkZCB1bml0IHRlc3RzIGZvciBidWZmZXItbGlzdCBwYXlsb2FkZXJzCgkgIFNlZSAjNTg1NTU5CgoyMDA5LTA2LTE5IDE4OjAwOjM1ICswMjAwICBPZ255YW4gVG9uY2hldiA8b2dueWFuLnRvbmNoZXYgYXQgYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5Lmg6CgkgIHJ0cG1wNHZwYXk6IGFkZCBzdXBwb3J0IGZvciBidWZmZXItbGlzdAoJICBTZWUgIzU4NTU1OQoKMjAwOS0wNi0xOSAxNzo1NzoxMiArMDIwMCAgT2dueWFuIFRvbmNoZXYgPG9nbnlhbi50b25jaGV2IGF0IGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5oOgoJICBydHBqcGVncGF5OiBhZGQgc3VwcG9ydCBmb3IgYnVmZmVyLWxpc3RzCgkgIFNlZSAjNTg1NTU5CgoyMDA5LTA2LTE5IDE3OjUzOjMyICswMjAwICBPZ255YW4gVG9uY2hldiA8b2dueWFuLnRvbmNoZXYgYXQgYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lmg6CgkgIHJ0cGgyNjRwYXk6IGFkZCBzdXBwb3J0IGZvciBidWZmZXItbGlzdHMKCSAgU2VlICM1ODU1NTkKCjIwMDktMDYtMTggMTE6NTQ6MjIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkgIHVkcHV0aWxzOiBkb24ndCBmcmVlIGludmFsaWQgbWVtb3J5CgkgIEFzIHNwb3R0ZWQgYnkgYmVuamlHIGluIElSQy4KCSAgZG9uJ3QgZnJlZSBpbnZhbGlkIG1lbW9yeSB3aGVuIGdldGFkZHJpbmZvIGZhaWxlZC4KCjIwMDktMDYtMTcgMTc6NDg6MzEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlaW5rOiBkb24ndCBsZWFrIGRldmljZV9kZXNjcmlwdGlvbgoJICBkb24ndCBsZWFrIHRoZSBkZXZpY2VfZGVzY3JpcHRpb24uCgkgIHNvbWUgY2xlYW51cHMuCgoyMDA5LTA2LTE5IDE0OjQ0OjQwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgcG86IHVwZGF0ZSAucG8gZmlsZXMgZm9yIHN1bmF1ZGlvbWl4ZXIgc3RyaW5nIGNoYW5nZXMKCjIwMDktMDYtMTggMTY6NTg6MjYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogc3RyZWFtaW5nOyBhZGp1c3Qgc2l6ZXMgdG8gY2F0ZXIgZm9yIHBhZGRpbmcgaW4gY2h1bmtzCgoyMDA5LTA2LTE3IDExOjU0OjUzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHN0cmVhbWluZyBtb2RlOyBoYW5kbGUgZGF0YSBjaHVua3MgZ3JvdXBlZCBpbiByZWMgbGlzdHMuCgkgIEZpeGVzICM1Njc5ODMuCgoyMDA5LTA2LTEwIDEyOjM2OjUwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogbWFwIHNvbWUgdGFncyB0byBDT01QT1NFUiByYXRoZXIgdGhhbiBBUlRJU1QKCjIwMDktMDYtMTAgMTI6MzQ6NDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggc29tZSAzR1AgdGFnIGV4dHJhY3Rpb24gKGtleXdvcmRzLCBnZW5yZSwgbG9jYXRpb24pCgoyMDA5LTA2LTA5IDE1OjM2OjUwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogZXh0cmFjdCBwaXhlbC1hc3BlY3QtcmF0aW8gaW5mb3JtYXRpb24KCjIwMDktMDYtMTcgMDc6MTQ6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IEZpeCBsZWFraW5nIG9mIHRoZSBNYXRyb3NrYSBUSVRMRSBlbGVtZW50CgoyMDA5LTA2LTE2IDIwOjM4OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5oOgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmg6CgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmg6CgkqIGdzdC9lZmZlY3R2L2dzdHJldi5jOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmg6CgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5oOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuaDoKCSAgZWZmZWN0djogQWRkIGJhc2ljIGRvY3VtZW50YXRpb24gZm9yIHRoZSBlZmZlY3R2IGVsZW1lbnRzCgoyMDA5LTA2LTE2IDIwOjE2OjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWZmZWN0di5oOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkgIGVmZmVjdHY6IERlZmluZSB0aGUgZmFzdCBQUk5HIGZ1bmN0aW9uIGF0IGEgY2VudHJhbCBwbGFjZQoKMjAwOS0wNi0xNiAyMDoxMzozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9NYWtlZmlsZS5hbToKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmg6CgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5oOgoJKiBnc3QvZWZmZWN0di9nc3RlZmZlY3R2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdGVmZmVjdHYuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJldi5oOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmg6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5oOgoJICBlZmZlY3R2OiBNb3ZlIHR5cGUgZGVmaW5pdGlvbnMgaW50byBzZXBhcmF0ZSBoZWFkZXJzCgkgIFRoaXMgaXMgbmVlZGVkIGZvciB0aGUgZG9jcyBsYXRlci4KCjIwMDktMDYtMTYgMTk6NDE6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJldi5jOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJICBlZmZlY3R2OiBSZW1vdmUgZ2V0X3VuaXRfc2l6ZSBpbXBsZW1lbnRhdGlvbnMKCSAgVGhlIGRlZmF1bHQgb24gZnJvbSBHc3RWaWRlb0ZpbHRlciBoYW5kbGVzIHRoaXMgYWxyZWFkeS4KCjIwMDktMDYtMTYgMTQ6NTQ6MzQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGJ1bXAgY29yZS9iYXNlIHJlcXVpcmVtZW50cyB0byBnaXQKCSAgTmVlZCBnaXQgY29yZSBmb3IgYmFzZXNpbmsgYnVmZmVybGlzdCBhZGRpdGlvbnM7IC1iYXNlIHJlcXVpcmVtZW50CgkgIGJ1bXBlZCBncmF0dWl0b3VzbHkuCgoyMDA5LTA2LTE2IDE1OjI1OjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdWRwc2luay5jOgoJICB0ZXN0czogYWRkIHNvbWUgZGVidWcsIHNlbmQgbmV3c2VnbWVudAoKMjAwOS0wNi0xNiAxNTowNjo1MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogYWRkIGRlYnVnIGxpbmUgZm9yIHRoZSBzb2NrZXQKCjIwMDktMDYtMTYgMTU6MDY6MjUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZmxhY2RlYy5jOgoJICB0ZXN0czogdHVybiBnX3ByaW50IGludG8gZGVidWcKCjIwMDktMDYtMTYgMTU6MDQ6MTUgKzAyMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW5AYXhpcy5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IGFkZCBzdXBwb3J0IGZvciBidWZmZXIgbGlzdHMKCSAgQWRkIHN1cHBvcnQgZm9yIEJ1ZmZlckxpc3QgYW5kIGFkZCBhIHVuaXQgdGVzdC4KCSAgRml4ZXMgIzU4NTg0MgoKMjAwOS0wNi0xNiAwMDowMjo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogcmVzZXQgc2Vzc2lvbiBzdGF0ZSB3aGVuIHN0b3BwaW5nCgkgIEluY3JlYXNlcyB0aGUgY2hhbmNlcyB0aGF0IHRoZSBlbGVtZW50IGlzIGFjdHVhbGx5IHJldXNhYmxlLgoKMjAwOS0wNi0xNSAyMzo0OTo0OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogbG9nIHJlc3BvbnNlIGFuZCByZXF1ZXN0IGhlYWRlcnMgYW5kIGZpeCBzb21lIGJyb2tlbiBpbmRlbnRpbmcKCjIwMDktMDYtMTUgMjI6NDA6MzUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJICBtcDRnZGVwYXk6IGd1ZXNzIGNvbnN0YW50RHVyYXRpb24gYmV0dGVyCgkgIERvIGEgYmV0dGVyIGpvYiBhdCBndWVzc2luZyB0aGUgY29uc3RhbnREdXJhdGlvbiBwYXJhbWV0ZXIgd2hlbiBpdCBpcyBub3QKCSAgcHJlc2VudCBpbiB0aGUgY2Fwcy4KCSAgRml4ZXMgIzU4NTIwNQoKMjAwOS0wNi0xNSAyMTowOTo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkgIHdhcnB0djogQ2xlYW4gdXAgd2FycHR2IGVsZW1lbnQgYW5kIGZpeCBzb21lIG1pbm9yIGJ1Z3MgYW5kIGxlYWtzCgoyMDA5LTA2LTE1IDIwOjUzOjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSAgdmVydGlnb3R2OiBDbGVhbiB1cCB2ZXJ0aWdvdHYgZWxlbWVudCBhbmQgZml4IHNvbWUgbWlub3IgYnVncyBhbmQgbGVha3MKCjIwMDktMDYtMTUgMjA6Mzg6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJICBkaWNldHY6IFVzZSBndWludDggaW5zdGVhZCBvZiBjaGFyICh3aGljaCBjYW4gYmUgc2lnbmVkIG9yIHVuc2lnbmVkKQoKMjAwOS0wNi0xNSAyMDozNjozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkgIHNoYWdhZGVsaWN0djogVXNlIGd1aW50OC9naW50OCBpbnN0ZWFkIG9mIGNoYXIgKHdoaWNoIGNhbiBiZSBzaWduZWQgb3IgdW5zaWduZWQpCgoyMDA5LTA2LTE1IDIwOjMxOjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSAgc2hhZ2FkZWxpY3R2OiBDbGVhbiB1cCBlbGVtZW50IGFuZCBmcmVlIGFsbCBtZW1vcnkgaW4gZmluYWxpemUKCjIwMDktMDYtMTUgMjA6MjE6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkgIHJldnR2OiBDbGVhbiB1cCByZXZ0diBlbGVtZW50CgoyMDA5LTA2LTE1IDIwOjA3OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkgIHF1YXJrdHY6IFNpbXBsaWZ5IHNvbWUgY29kZQoKMjAwOS0wNi0xNSAyMDowNzoxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJICBxdWFya3R2OiBVc2UgdGhlIGlucHV0IGRhdGEgaWYgYSBOVUxMIGJ1ZmZlciBpcyBjaG9zZW4gaW5zdGVhZCBvZiB0aGUgdmFsdWUgMAoKMjAwOS0wNi0xNSAyMDowMDo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJICBxdWFya3R2OiBGaXggc2V0dGluZyB0aGUgcGxhbmVzIHByb3BlcnR5IG9mIHF1YXJrdHYKCSAgU2V0dGluZyBpdCB0byBhIHZhbHVlPDE2IHdvdWxkIGNhdXNlIGNyYXNoZXMgYmVmb3JlIGJlY2F1c2UKCSAgY3VycmVudF9wbGFuZSB3YXMgc2V0IHRvIHRoZSBvbGQgbnVtYmVyIG9mIHBsYW5lcy0xLiBBbHNvCgkgIGZpeCBjYWxjdWxhdGlvbnMgZm9yIG5vbi0yXm4gcGxhbmVzIHZhbHVlcy4KCjIwMDktMDYtMTUgMTc6NTA6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSAgcXVhcmt0djogQ2xlYW4gdXAgdGhlIHF1YXJrdHYgZWxlbWVudAoKMjAwOS0wNi0xNSAxNzozOToyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RlZmZlY3R2LmM6CgkgIGVmZmVjdHY6IE1ha2UgZWxlbWVudHMgbGlzdCBjb25zdGFudAoKMjAwOS0wNi0xNSAxNzozNzo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6CgkgIGVkZ2V0djogQ2xlYW4gdXAgZWRnZXR2IGVsZW1lbnQgYW5kIGZpeCBtZW1vcnkgbGVhawoKMjAwOS0wNi0xNSAxNzoyMTo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkgIGRpY2V0djogQ2xlYW4gdXAgZGljZXR2IGVsZW1lbnQgYW5kIGZpeCBzb21lIHNtYWxsZXIgaXNzdWVzCgkgIFRoaXMgZml4ZXMgYSBtZW1vcnkgbGVhayAodGhlIGRpY2UgbWFwKSBhbmQgYSBjcmFzaCB3aGVuCgkgIHNldHRpbmcgdGhlIHNxdWFyZS1iaXRzIHByb3BlcnR5IGJlZm9yZSBjYXBzIGFyZSBzZXQuCgoyMDA5LTA2LTE1IDE3OjIwOjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L01ha2VmaWxlLmFtOgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJICBhZ2luZ3R2OiBBY3R1YWxseSB1c2UgR3N0Q29udHJvbGxlciBmb3Igc3luY2luZyB0aGUgcHJvcGVydGllcyB0byB0aW1lc3RhbXBzCgoyMDA5LTA2LTE1IDE3OjAzOjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkgIGFnaW5ndHY6IEV4cG9ydCBzb21lIG1vcmUgYWdpbmd0diBwcm9wZXJ0aWVzIHZpYSBHT2JqZWN0IHByb3BlcnRpZXMKCjIwMDktMDYtMTUgMTU6MDY6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSAgYWdpbmd0djogR2VuZXJhbCBjbGVhbnVwIGFuZCB1cGRhdGluZyBvZiBjb3B5cmlnaHQKCSAgQWxzbyBtYWtlIHRoZSBzY3JhdGNoLWxpbmVzIHByb3BlcnR5IGV4cG9ydGVkIHZpYSBhIEdPYmplY3QKCSAgcHJvcGVydHkgYW5kIGluaXRpYWxpemUvcmVzZXQgdGhlIGludGVybmFsIHN0YXRlIGNvcnJlY3RseS4KCjIwMDktMDYtMTUgMTU6MDU6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSAgYWdpbmd0djogU3RvcmUgYW5kIHVwZGF0ZSBzdGF0ZSBpbnNpZGUgdGhlIGluc3RhbmNlIHN0cnVjdAoJICBUaGlzIG1ha2VzIHRoZSBjb2xvcmFnaW5nIGVmZmVjdCBhbmQgcGl0cyBlZmZlY3QgdmlzaWJsZS4KCjIwMDktMDYtMTUgMTU6NTE6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IHJlZiBjdXN0b20gcmluZyBidWZmZXIgY2xhc3MgYW5kIHR5cGUgaW4gY2xhc3NfaW5pdAoJICBIYWNrIGFyb3VuZCB0aHJlYWQtc2FmZXR5IGlzc3VlcyBpbiBHT2JqZWN0IGFuZCBvdXIgcmFjeSBfZ2V0X3R5cGUoKQoJICBmdW5jdGlvbnMgKHdlIGNvdWxkIGVhc2lseSBmaXggdGhlIF9nZXRfdHlwZSgpIGZ1bmN0aW9ucywgYnV0IHdlIHN0aWxsCgkgIG5lZWQgdG8gaGFjayBhcm91bmQgdGhlIEdPYmplY3QgY2xhc3MgcmFjZXMgdW50aWwgd2UgcmVxdWlyZSBhIG5ld2VyCgkgIEdMaWIgdmVyc2lvbiwgSSB0aGluaykuCgoyMDA5LTA2LTE0IDE5OjE5OjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9kZW1vLXBsYXkuYzoKCSogdGVzdHMvb2xkL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9vbGQvZXhhbXBsZXMvbGV2ZWwvTWFrZWZpbGUuYW06CgkqIHRlc3RzL29sZC9leGFtcGxlcy9sZXZlbC9SRUFETUU6CgkqIHRlc3RzL29sZC9leGFtcGxlcy9sZXZlbC9kZW1vLmM6CgkqIHRlc3RzL29sZC9leGFtcGxlcy9sZXZlbC9wbG90LmM6CgkqIHRlc3RzL29sZC9leGFtcGxlcy9zd2l0Y2gvLmdpdGlnbm9yZToKCSogdGVzdHMvb2xkL2V4YW1wbGVzL3N3aXRjaC9NYWtlZmlsZS5hbToKCSogdGVzdHMvb2xkL2V4YW1wbGVzL3N3aXRjaC9zd2l0Y2hlci5jOgoJICBSZW1vdmUgYSBmZXcgb2xkIGV4YW1wbGUgYXBwcyBmcm9tIHRoZSAwLjggZGF5cwoJICBTb21lIGhhdmUgYmVlbiByZXBsYWNlZCBieSBuZXdlciBvbmVzLCBvdGhlcnMgYXJlIGRlbW9pbmcgZWxlbWVudHMgdGhhdAoJICBkb24ndCBleGlzdCBhbnkgbG9uZ2VyIChub3QgaW4gLWdvb2QgYW55d2F5KSwgYW5kIG90aGVycyBoYXZlIG5vdCBiZWVuCgkgIHRvdWNoZWQgaW4gbWFueSB5ZWFycyBhbmQgaXQgc2VlbSBwb2ludGxlc3MgdG8ga2VlcCB0aGVtIGFyb3VuZC4KCSAgUmVtb3ZpbmcgdGhlc2UgZmlsZXMgbWFrZXMgc3VyZSB3ZSBkb24ndCBoYXZlIGFueSBjb2RlIGluIG91ciByZXBvc2l0b3J5CgkgIHRoYXQgdXNlcyBHdGsrIHN5bWJvbHMgd2hpY2ggYXJlIHRvIGJlIHJlbW92ZWQgZm9yIEdOT01FMywgYW5kIGFzIHN1Y2gKCSAgd2lsbCBtYWtlIHNvbWUgc2NyaXB0IHRoYXQgZ3JlcHMgZm9yIHRoaXMga2luZCBvZiBzdHVmZiBnaXZlIHVzIGEgY2xlYW4KCSAgYmlsbCBvZiBjb2RlIGhlYWx0aC4gRml4ZXMgIzU4NTc1Ny4KCjIwMDktMDYtMTMgMjE6MDI6NDUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSogY29tbW9uOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVucGF5LmM6CgkgIHJ0cHNpcmVucGF5OiBSZW1vdmUgZGVwcmVjYXRlZCBzeW1ib2wKCSAgUGF0Y2ggYnk6IEx1aXMgTWVuaW5hCgoyMDA5LTA2LTEzIDEwOjQzOjU1ICswMjAwICBNYXJ2aW4gU2NobWlkdCA8bWFydmluX3NjaG1pZHRAZ214Lm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogRG9uJ3QgcnVuIHRoZSBmbGFjZGVjIHRlc3QgaWYgdGhlIHBsdWdpbiBpc24ndCBidWlsdC4gRml4ZXMgIzU4NTYzMAoKMjAwOS0wNi0xMiAxNjowNjoyOCArMDIwMCAgUGF0cmljayBSYWRpemkgPHBhdHJpY2sucmFkaXppIGF0IGF4aXMuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IEFkZCBSVFAgYmxvY2tzaXplIGZ1bmN0aW9uYWxpdHkKCSAgQWRkIHByb3BlcnR5IHRvIG1ha2UgdGhlIGNsaWVudCBzdWdnZXN0IGEgYmxvY2tzaXplIHRvIHRoZSBzZXJ2ZXIuCgkgIEZpeGVzICM1ODU1NDkKCjIwMDktMDYtMTEgMjI6MzA6MDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL1JFQURNRToKCSAgcnRwOiB1cGRhdGUgUkVBRE1FLCBmaXggc29tZSB0eXBvcywgbWVudGlvbiBnc3RydHBiaW4KCjIwMDktMDYtMTEgMTk6MTA6NTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogaGFuZGxlIGJvcmRlciBjYXNlcyBpbiByZXNhbXBsZXIKCjIwMDktMDYtMTEgMTM6MzI6MjIgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbW1vbjoKCSogZG9jcy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3VwbG9hZC5tYWs6CgkgIGRvY3M6IEJ1bXAgY29tbW9uLiBVc2UgdXBsb2FkLWRvYy5tYWsgaW5zdGVhZCBvZiB1cGxvYWQubWFrCgkgIFJlbW92ZSB0aGUgbG9jYWwgY29weSBvZiB1cGxvYWQubWFrIGluIGZhdm91ciBvZiB1c2luZyB0aGUgc2hhcmVkCgkgIHVwbG9hZC1kb2MubWFrZSBpbiBjb21tb24vCgoyMDA5LTA2LTExIDExOjM5OjI1ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZ29vbS9nb29tX2NvbmZpZ19wYXJhbS5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIGRvY3M6IFF1aWV0ZW4gYSBjb3VwbGUgbW9yZSBkb2NzIHdhcm5pbmdzCgoyMDA5LTA2LTExIDExOjI3OjI2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbHpvLmM6CgkgIGRvY3M6IFJlbW92ZSBndGstZG9jIGNvbW1lbnQgbWFya2VyCgkgIFRoZXNlIGNvbW1lbnQgYmxvY2tzIGFyZW4ndCBndGstZG9jIGNvbW1lbnRzIGFuZCBjYXVzZSBhbm5veWluZyBub2lzZSBpbgoJICB0aGUgZG9jcyBidWlsZC4KCjIwMDktMDYtMTEgMTA6MDU6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJICBkZWludGVybGFjZTogSW1wbGVtZW50IHVwc3RyZWFtIG5lZ290YXRpb24KCjIwMDktMDYtMTAgMjE6NDc6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBJbXByb3ZlIGRlYnVnZ2luZyBhbmQgY2xlYW4gdXAgc29tZSBjb2RlCgoyMDA5LTA2LTEwIDE0OjU1OjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogQ2xpcCBidWZmZXJzIHRvIHRoZSBjdXJyZW50IHNlZ21lbnQgaWYgcG9zc2libGUKCjIwMDktMDYtMTAgMTQ6NDU6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJICBkZWludGVybGFjZTogQ2xlYW4gdXAgaW5jbHVkZXMgYW5kIGNsZWFuIHVwIG9yZGVyIG9mIGluc3RhbmNlIHN0cnVjdCBmaWVsZHMKCjIwMDktMDYtMTAgMTY6MDk6NTYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5oOgoJICBydHBoMjYzcGF5OiBEZWZhdWx0IHRvIGRvaW5nIEEsIEIgYW5kIEMgbW9kZXMsIG5vdCBvbmx5IEEKCjIwMDktMDYtMTAgMDk6NTY6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBGaXggUW9TIGNhbGN1bGF0aW9ucwoJICBUaGUgZGlmZiBpcyBhIHNpZ25lZCBpbnRlZ2VyLCBub3QgYW4gdW5zaWduZWQgb25lIG9mIGNvdXJzZS4KCSAgSW4gbW9kZXMgb3RoZXIgdGhhbiBHU1RfREVJTlRFUkxBQ0VfQUxMIGV2ZXJ5IGZyYW1lIGhhcyB0d2ljZSB0aGUKCSAgZHVyYXRpb24gb2YgdGhlIGZpZWxkIGR1cmF0aW9uLgoKMjAwOS0wNi0wOSAxNDoxMzozMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5jOgoJICBydHBzaXJlbnBheTogUHV0IHRoZSBiaXRyYXRlIGluIHRoZSBSVFAgY2FwcwoJICBUaGUgTVMgY29kZSBzZWVtcyB0byByZXF1aXJlIHRoZSBiaXRyYXRlIHRvIGludGVyb3BlcmF0ZSBhbmQKCSAgZHJhZnQtaWV0Zi1hdnQtcnRwLWc3MjIxLTAwIGFsc28gaGFzIGl0LgoKMjAwOS0wNi0wOSAxOTo1NTozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkgIGRlaW50ZXJsYWNlOiBJbXBsZW1lbnQgYmFzaWMgUW9TCgkgIFRoaXMgY2hhbmdlIGlzIGJhc2VkIG9uIFRpbSdzIFFvUyBpbXBsZW1lbnRhdGlvbgoJICBmb3IganBlZ2RlYy4KCjIwMDktMDYtMDkgMTk6Mjk6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBEaXJlY3RseSBwcm94eSBldmVudHMvcXVlcmllcyB0byB0aGUgcGVlciBwYWRzCgkgIFRoaXMgcmVtb3ZlcyBzb21lIG92ZXJoZWFkIGludHJvZHVjZWQgYnkgdGhlIGRlZmF1bHQgaGFuZGxlcnMKCSAgdGhhdCBuZWVkIHRvIGl0ZXJhdGUgb3ZlciB0aGUgb3RoZXIgcGFkcy4KCjIwMDktMDYtMDkgMTA6Mzg6NTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBkZWJ1Z19tZW1kdW1wKCkgdW5rbm93biB0YWdzLiBSZWZhY3RvciBqdW5rIHBhcnNpbmcgY29kZS4KCSAgVGhpcyBtYWtlcyBsaWZlIHNsaWdodGx5IGVhc2llciB3aGVuIGRlYnVnZ2luZyBhdmkgZmlsZXMuCgoyMDA5LTA2LTA4IDA4OjIxOjQzICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgcnRwOiBEb24ndCBmb3JnZXQgdG8gZGlzdCB0aGUgaGVhZGVycyBmb3IgdGhlIENFTFQgKGRlKXBheWxvYWRlcnMuCgoyMDA5LTA2LTA3IDIwOjU0OjA2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBSZXZlcnQgIlJldmVydCAicXRkZW11eDogZmlsbCB0aW1lc3RhbXAgdGFibGUgY29tcGxldGVseSIiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgOWYwMjJjOGE4NTAzYzJjZTBmYTYxN2ZkYjUwZTQxNzA2ZGQ0MTJmNS4KCSAgU29ycnksIEkgd2FzIHRoaW5raW5nIGFib3V0IHRoZSB3cm9uZyBtb2R1bGUuCgoyMDA5LTA2LTA3IDIwOjQ5OjUwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBSZXZlcnQgInF0ZGVtdXg6IGZpbGwgdGltZXN0YW1wIHRhYmxlIGNvbXBsZXRlbHkiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNzkwYjA1MGZjNTMwMmNhZTg5Y2RkY2QyM2IyNTgwOTM5NjdkMDVhOS4KCSAgSSBmb3Jnb3Qgd2Ugd2VyZSBmcm96ZW4uCgoyMDA5LTA2LTA3IDIwOjQ2OjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaWxsIHRpbWVzdGFtcCB0YWJsZSBjb21wbGV0ZWx5CgkgIFdoZW4gdGhlcmUgYXJlIGxlc3MgdGltZXN0YW1wcyB0aGF0IHRoZXJlIGFyZSBzYW1wbGVzLCBmaWxsIHVwIHRoZSBzYW1wbGUgdGFibGUKCSAgd2l0aCB0aGUgbGFzdCBrbm93IHRpbWVzdGFtcC4gVGhpcyBzaXR1YXRpb24gY2FuIGhhcHBlbiB3aGVuIHRoZSBsYXN0IHNhbXBsZQoJICBkb2VzIG5vdCBkZWNvZGUgYW5kIGRvZXNuJ3QgbmVlZCBhIHRpbWVzdGFtcC4gV2UgaG93ZXZlciBjYWxjdWxhdGUgdGhlIHRvdGFsCgkgIHRyYWNrIGxlbmd0aCB1c2luZyB0aGUgbGFzdCBzYW1wbGUgdGltZXN0YW1wIHNvIHdlIG5lZWQgdG8gaGF2ZSBzb21ldGhpbmcKCSAgc2Vuc2libGUgaW4gdGhlcmUuCgkgIEZpeGVzICM1ODUwNTYKCjIwMDktMDYtMDcgMTM6Mzc6MDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGhhbmRsZSBMSVNUIElORk8gb2YgMCBzaXplCgkgIEhhbmRsZSBMSVNUIElORk8gY2h1bmtzIG9mIDAgc2l6ZSBpbnN0ZWFkIG9mIGNhdXNpbmcgZXJyb3JzLgoJICBGaXhlcyAjNTg0OTgxCgoyMDA5LTA2LTA3IDEzOjI0OjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIFJldmVydCAid2F2cGFyc2U6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzLCBtb3ZlIHZhcmlhYmxlIHRvIHdoZXJlIGl0J3MgbmVlZGVkLiIKCSAgUmV2ZXJ0cyBjb21taXQgNDQyNTZhNzhmOGRkNzlhOTFmM2JiMmFiN2MzYWE2MjNjMDk3YmI4YSBhbmQgdXNlIHRoZSByZXN1bHQgaW4KCSAgZXJyb3IgcmVwb3J0aW5nIHNvIHRoYXQgd2UgY2FuIHNlZSB3aGF0J3MgZ29pbmcgb24uCgoyMDA5LTA2LTA1IDE4OjU1OjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuaDoKCSAgY2VsdGRlcGF5OiBhZGQgQ0VMVCBkZXBheWxvYWRlcgoKMjAwOS0wNi0wNSAxNTozMDo1MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuaDoKCSAgcnRwY2VsdHBheTogYWRkIENFTFQgUlRQIHBheWxvYWRlcgoKMjAwOS0wNi0wNSAxNjo1NDo0OCArMDEwMCAgSmFuIFNjaG1pZHQgPGphbi5zY2htaWR0QHN1bi5jb20+CgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJvcHRpb25zLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVydHJhY2suYzoKCSAgc3VuYXVkaW86IEZpeCBzd2l0Y2ggc2V0dGluZyBvbiBzb21lIGRldmljZXMuIEFkZCBkZWJ1Zy4gRml4IGEgRklYTUUuCgkgIEZpeCB0aGUgc2V0dGluZyBvZiB0b2dnbGUgc3dpdGNoZXMgb24gc29tZSBicm9rZW4gYXVkaW8gZHJpdmVycyB3aGljaAoJICByZXBvcnQgdGhhdCBubyBhdWRpbyBwb3J0cyBhcmUgc2V0dGFibGUgYnkgaWdub3JpbmcgdGhlIG1vZF9wb3J0IGZpZWxkCgkgIHRoZXJlLgoJICBBZGQgc29tZSBkZWJ1ZyBzdGF0ZW1lbnRzLgoJICBGaXggYSBGSVhNRSBub3cgdGhhdCBHb29kIHJlbGllcyBvbiBhIG5ldyBlbm91Z2ggZ3N0LXBsdWdpbnMtYmFzZS4KCjIwMDktMDYtMDQgMTI6Mjc6MTkgKzAxMDAgIEphbiBTY2htaWR0IDxqYW4uc2NobWlkdEBzdW4uY29tPgoKCSogc3lzL3N1bmF1ZGlvL01ha2VmaWxlLmFtOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmg6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyb3B0aW9ucy5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcm9wdGlvbnMuaDoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJ0cmFjay5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcnRyYWNrLmg6CgkgIHN1bmF1ZGlvOiBTdXBwb3J0IG5ldyBmbGFncyBmb3Igb3B0aW9ucyBhbmQgYWN0aW9ucwoJICBVc2UgbmV3IGF1ZGlvIG1peGVyIGZsYWdzIGFkZGVkIGluIEJhc2UgMC4xMC4yMyB0byBleHBvc2UgZmxhZ3MgYW5kIG9wdGlvbnMKCSAgb24gdGhlIFN1bkF1ZGlvIGRldmljZXMuCgkgIEZpeGVzOiAjNTgzNTkzCgkgIFBhdGNoIEJ5OiBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgkgIFBhdGNoIEJ5OiBHYXJyZXR0IEQnQW1vcmUgPGdhcnJldHQuZGFtb3JlQHN1bi5jb20+CgoyMDA5LTA1LTE1IDExOjUwOjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSAgZGVpbnRlcmxhY2U6IEZpcnN0IHRyeSB0byBoYW5kbGUgRFZEIHN0aWxsIGZyYW1lcyBjb3JyZWN0bHkKCSAgVGhpcyBoZWxwcyBhIGJpdCB3aXRoIGJ1ZyAjNTgyNzQwIGJ1dCBzdGlsbCBkb2Vzbid0IG1ha2UgaXQgd29yay4KCjIwMDktMDYtMDQgMTc6Mzc6MDMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBvbmx5IG5vdGlmeSBpZiBhbGwgY2hlY2tzIHBhc3NlZAoJICBSZXBsYWNlIGdvdG8gZG9uZTogd2l0aCByZXR1cm4sIGFzIHRob3NlIGFyZSBjaGVja3Mgd2hlbiB3ZSBkb24ndCB3YW50IHRvIGZsYWcgYQoJICBwZW5kaW5nIG5vdGlmeS4KCjIwMDktMDYtMDQgMTU6MTk6MDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHNldCB0aGUgcmlnaHQgc3RhdGUgb24gcnRwYmluCgkgIFdlIG5lZWQgdG8gc2V0IHRoZSBzdGF0ZSBvZiBnc3RydHBiaW4gdG8gdGhlIHNhbWUgc3RhdGUgYXMgb3VyIHNvdXJjZSBlbGVtZW50cy4KCSAgVGhpcyBmaXhlcyBmYWxsYmFjayB0byBUQ1AgYWdhaW4uCgoyMDA5LTA2LTAzIDE4OjIzOjUzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogY2hlY2sgcG9pbnRlciBiZWZvcmUgYWNjZXNzaW5nCgkgIE1vdmUgZXhpc3RpbmcgY2hlY2sgYSBmZXcgbGluZXMgdXAsIHNvIHRoYXQgd2UgY2hlY2sgYmVmb3JlIGFjY2Vzc2luZyBmaWVsZHMuCgoyMDA5LTA2LTAzIDE4OjIxOjEyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogcmVuYW1lIGdzdF9wdWxzZV9zaW5rX2dldF90aW1lIHRvIGdzdF9wdWxzZXNpbmtfZ2V0X3RpbWUKCSAgUmVuYW1lIGludGVybmFsIG1ldGhvZCBmb3IgY29uc2lzdGVuY3kuCgoyMDA5LTA2LTAzIDE4OjE5OjIyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogdXNlIHZhbHVlcyBmcm9tIHBhX3N0cmVhbV9nZXRfYnVmZmVyX2F0dHIoKQoJICBXZSB3ZXJlIHB1dHRpbmcgdGhlIHJlcXVlc3RlZCB2YWx1ZXMgYmFjayBpbnRvIHJpbmdidWZmZXIgc3BlYywgaW5zdGVhZCBvZgoJICB1c2luZyB0aGUgcXVlcmllZCB2YWx1ZXMuCgoyMDA5LTA2LTAyIDE5OjMyOjIxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIHZyYXdwYXk6IHRyaW0gb3V0cHV0IGJ1ZmZlcnMKCSAgUmVtb3ZlIHRoZSBsZWZ0b3ZlciB1bnVzZWQgYnl0ZXMgaW4gdGhlIG91dHB1dCBidWZmZXIuCgkgIEZpeGVzICM1ODQ2MTMKCjIwMDktMDYtMDIgMTk6MzA6MzAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJICB2cmF3ZGVwYXk6IGZpeCBwYXJzaW5nIG9mIHNhbXBsaW5nIGZpZWxkCgkgIGNvbW1pdCBhMTJkOWE4MGYyMjViZTk3YjM2NzRiMWEwNTA2YWM2NjU0NGRiZjQ5IGJyb2tlIHRoZSBwYXJzaW5nIG9mIHRoZQoJICBzYW1wbGluZy4KCjIwMDktMDUtMjcgMTc6MDY6MzQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgIHBuZ2RlYzogQXZvaWQgcG9zc2libGUgb3ZlcmZsb3cgaW4gY2FsY3VsYXRpb25zCgkgIEEgbWFsZm9ybWVkIChvciBzaW1wbHkgaHVnZSkgUE5HIGZpbGUgY2FuIGxlYWQgdG8gaW50ZWdlciBvdmVyZmxvdyBpbgoJICBjYWxjdWxhdGluZyB0aGUgc2l6ZSBvZiB0aGUgb3V0cHV0IGJ1ZmZlciwgbGVhZGluZyB0byBjcmFzaGVzIG9yIGJ1ZmZlcgoJICBvdmVyZmxvd3MgbGF0ZXIuIEZpeGVzIFNBMzUyMDUgc2VjdXJpdHkgYWR2aXNvcnkuCgoyMDA5LTA2LTAyIDAwOjQ4OjAwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogc29tZSBtb3JlIGxvZ2dpbmcgLSBkdW1wIGhlYWRlciBwYWNrZXRzCgkgIEFsc28sIHRoZSBmaW5hbCBmaXhpbmcgdXAgb2YgdGhlIGhlYWRlcnMgaXMgZXhwZWN0ZWQgYW5kIG5vdCBzb21ldGhpbmcKCSAgd2Ugc2hvdWxkIHdhcm4gYWJvdXQuCgoyMDA5LTA2LTAyIDAwOjM3OjE1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogbmV2ZXIgZXZlciBwYXNzIHZhbHVlcyA+MzZiaXRzIHRvIF9zZXRfdG90YWxfc2FtcGxlc19lc3RpbWF0ZSgpCgkgIExldCdzIGJlIHBhcmFub2lkIGFuZCBtYWtlIHN1cmUgd2UgbmV2ZXIgcGFzcyBhIG51bWJlciB0aGF0IHRha2VzIHVwCgkgIG1vcmUgdGhhbiAzNiBiaXRzIHRvIF9zZXRfdG90YWxfc2FtcGxlc19lc3RpbWF0ZSgpLCBzaW5jZSBsaWJGTEFDCgkgIGV4cGVjdHMgYWxsIHRoZSBvdGhlciBiaXRzIHRvIGJlIHplcm8sIGFuZCBpZiB0aGlzIGlzIG5vdCB0aGUgY2FzZQoJICBuZWlnaGJvdXJpbmcgZmllbGRzIGluIHRoZSBnbG9iYWwgc3RyZWFtIGluZm8gaGVhZGVyIG1heSBnZXQgbWVzc2VkCgkgIHVwIGluYWR2ZXJ0ZW50bHksIHNvIHRoYXQgZmxhYyAtZCByZWZ1c2VzIHRvIGRlY29kZSB0aGUgc3RyZWFtLgoJICBTZWUgIzU4NDQ1NS4KCjIwMDktMDYtMDEgMjI6MzM6MDIgKzAyMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hcyAoYXQpIGFwZXN0YWFydCAoZG90KSBvcmc+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIEFkZHJlc3MgYmFkIEZMQUMgc2FtcGxlIGxlbmd0aCBlbmNvZGluZyBvZiAjNTg0NDQ1NQoJICBDb21taXQgZGY3MDdjNjY2NDMzYTc4ZDM4NzhhZjZmMDU1Njk4ZDU3NTYyMjZjNAoJICBpbnRyb2R1Y2VkIGFuIG9idmlvdXMgYnVnIGluIHRoZSBzYW1wbGUgbGVuZ3RoIGNhbGN1bGF0aW9uLAoJICB1c2luZyB0aGUgd3JvbmcgbWFjcm8gZm9yIGNvbnZlcnNpb24uCgoyMDA5LTA2LTAxIDExOjU4OjIxIC0wNzAwICBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL21teC5oOgoJICBkZWludGVybGFjZTogRml4IHNwdXJpb3VzIGNvbG9ucyBpbiBhc20gY29kZQoJICBGaXhlcyAjNTg0MTc0LgoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMDktMDYtMDEgMDA6NDA6NTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogc2tpcCBKVU5LIGNodW5rcyBpbiBkYXRhIHNlY3Rpb24gaW4gc3RyZWFtaW5nIG1vZGUKCSAgU2tpcCBKVU5LIHRhZ3MgaW4gc3RyZWFtaW5nIG1vZGUgYXMgd2VsbCBpbnN0ZWFkIG9mIEVPU2luZwoJICBwcmVtYXR1cmVseS4gRml4ZXMgIzU2NDEwMC4KCjIwMDktMDUtMjggMTQ6MDE6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfYmdyYS5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9pNDIwLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogRG9uJ3QgdXNlIC8vIGNvbW1lbnRzCgoyMDA5LTA1LTI4IDEzOjU2OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2JncmEuYzoKCSAgdmlkZW9taXhlcjogRml4IGJhY2tncm91bmQgYmxpdHRpbmcgd2hlbiBhIGNvbG9yIG1vZGUgaXMgc2VsZWN0ZWQgd2l0aCBCR1JBCgoyMDA5LTA1LTI4IDEzOjU0OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2F5dXYuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfYmdyYS5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9pNDIwLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5oOgoJICB2aWRlb21peGVyOiBTb21lIGNsZWFudXAgYW5kIGZpeCB0aGUgY2FsY3VsYXRpb24gb2YgdGhlIGZyYW1lIHNpemUgaW4gYnl0ZXMKCjIwMDktMDUtMjggMTM6MzU6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfaTQyMC5jOgoJICB2aWRlb21peGVyOiBGaXggSTQyMCBibGVuZGluZyB0byBhY3R1YWxseSBkbyBzb21ldGhpbmcKCSAgRm9yIHRoaXMgd2UgYSkgaW1wbGVtZW50IHRoZSBjaGVja2VycyBmaWxsaW5nIGFuZCBiKQoJICBhY3R1YWxseSBibGVuZCB0aGUgc3JjL2Rlc3QgYnkgdXNpbmcgdGhlIHNyYyBhbHBoYSB2YWx1ZQoJICBmcm9tIHRoZSBwYWQuCgoyMDA5LTA1LTI4IDEzOjE0OjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2JncmEuYzoKCSAgdmlkZW9taXhlcjogRml4IEFSR0IgYmxlbmRpbmcgdG8gYWN0dWFsbHkgd29yawoKMjAwOS0wNS0yOCAxMzowNDo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfYmdyYS5jOgoJICB2aWRlb21peGVyOiBCbGVuZCBCR1JBIG91cnNlbHZlcyBpbnN0ZWFkIG9mIHVzaW5nIENhaXJvCgoyMDA5LTA1LTI4IDEyOjU1OjE2ICswMjAwICBBbGV4IFVnYXJ0ZSA8YWxleHVnYXJ0ZUBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfYXl1di5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9iZ3JhLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2k0MjAuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmg6CgkgIHZpZGVvbWl4ZXI6IEFkZCBzdXBwb3J0IGZvciBibGVuZGluZyBCR1JBIGFuZCBBWVVWCgkgIEZpeGVzIGJ1ZyAjNTc3MDE3LgoKMjAwOS0wNS0yOCAxMjozOTo0NiArMDIwMCAgR2hpc2xhaW4gJ0F1cycgTGFjcm9peCA8YXVzQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICBlcXVhbGl6ZXI6IFVzZSBmbG9hdGluZyBwb2ludCBhcml0aG1ldGljIGludGVybmFsbHkgZm9yIHRoZSBpbnQxNiBtb2RlCgkgIEJ5IHVzaW5nIGludDMyIGFyaXRobWV0aWMgd2Ugd2lsbCBpbnRyb2R1Y2UgZGlzdG9ydGlvbnMgYXMgdGhlCgkgIElJUiBmaWx0ZXIgaXMgdmVyeSBzZW5zaXRpdmUgdG8gcm91bmRpbmcgZXJyb3JzLiBGaXhlcyBidWcgIzU4MDIxNC4KCjIwMDktMDUtMjggMTA6NTU6MTYgKzAxMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZSB3aXRoIGxhdGVzdCBwbHVnaW5zCgoyMDA5LTA1LTI2IDE3OjE5OjA4ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDg4OGUwYTIgdG8gYzU3MjcyMQoKMjAwOS0wNS0yNiAxNjoyMDozNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgIHY0bDI6IGNsZWFudXAgYW5kIGNvbW1lbnRpbmcKCSAgUmVtb3ZlIG5ld2xpbmVzIGluc2VydGVkIGJ5IGdzdC1pbmRlbnQgb25jZS4gUmVtb3ZlIHVudXNlZCB2YXIgZnJvbSBpbnN0YW5jZQoJICBzdHJ1Y3QuIEFkZCBjb21tZW50cy4gQWRkIGFub3RoZXIgI2RlZmluZSBmb3IgZGVmYXVsdCBwcm9wZXJ0eSB2YWx1ZS4KCjIwMDktMDUtMDYgMTI6NDM6MzUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBtYWtlZmlsZTogaWRlYSBhYm91dCBtYWtlaW5nIG1vcmUgc291cmNlcy9zaW5rcyB0ZXN0YWJsZSBhZ2FpbgoKMjAwOS0wNS0yNSAxNjozMzozNSArMDIwMCAgSm9obiBLZWVwaW5nIDxqb2huLmtlZXBpbmcgYXQgbGluZW9uZS5uZXQ+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICBwbmdkZWM6IG1hdGNoIGdfbWFsbG9jKCkgd2l0aCBnX2ZyZWUoKQoJICBNYXRjaGluZyBnX21hbGxvYygpIHdpdGggYSBnX2ZyZWUoKSBpcyBpbXBvcnRhbnQgd2hlbiBhIGN1c3RvbSBhbGxvY2F0b3IgaXMKCSAgaW5zdGFsbGVkLgoJICBGaXhlcyAjNTgzODAzCgoyMDA5LTA1LTEyIDE4OjM5OjI4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5oOgoJICBydHBtcDR2cGF5OiBkb24ndCBsb29rIGZvciBoZWFkZXJzIGluIHNvbWUgY2FzZXMKCSAgSW4gc29tZSBzdHJlYW1zIChzdGFydGluZyB3aXRoIDAwMDAwMTAwKSBkb24ndCBsb29rIGZvciB0aGUgaGVhZGVycyBidXQgcHVzaAoJICBkYXRhIGFzIGl0IGlzLgoJICBGaXhlcyAjNTgyMTUzCgoyMDA5LTA1LTEzIDExOjUwOjIyICswMjAwICBQYXRyaWNrIFJhZGl6aSA8cGF0cmljay5yYWRpemkgYXQgYXhpcy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBtZW1vcnkgbGVhayBvZiBtZXNzYWdlcwoJICBGcmVlIG1lc3NhZ2VzIGNvcnJlY3RseS4KCSAgRml4ZXMgIzU3NzMxOAoKMjAwOS0wNS0yNCAxOTozMjoxNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogbWFrZSBmYWtlc3JjIHNpbGVudAoJICBNYWtlIHRoZSBmYWtlc3JjIHRoYXQgaXMgcmVzcG9uc2libGUgZm9yIHNlbmRpbmcgZHVtbXkgcGFja2V0cyBzaWxlbnQuCgoyMDA5LTA1LTI0IDE2OjMzOjQyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBkb24ndCBzZW5kIHRlYXJkb3duIGJlZm9yZSBzZXR1cAoJICBEb24ndCBzZW5kIGEgVEVBUkRPV04gcmVxdWVzdCB3aGVuIHdlIGRpZCBub3QgbWFuYWdlIHRvIHN1Y2Nlc3NmdWxseSBzZXR1cCBhCgkgIHN0cmVhbS4KCjIwMDktMDUtMTQgMTQ6NDY6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIG1hdHJvc2thZGVtdXg6IFBvcHVsYXRlIGEgR3N0SW5kZXggdGhhdCBpcyBzZXQgb24gbWF0cm9za2FkZW11eAoKMjAwOS0wNS0xNCAxMDozNToyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IEdldCB0aGUgbWF4IGR1cmF0aW9uIGZyb20gdXBzdHJlYW0gaWYgdGhlcmUncyBubyBkdXJhdGlvbiB0YWcKCjIwMDktMDUtMTQgMTA6Mjk6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSAgZmx2bXV4OiBXcml0ZSBhbiBpbmRleCB0YWJsZSB0byB0aGUgZW5kIG9mIHRoZSBmaWxlCgoyMDA5LTA1LTIyIDAxOjEyOjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgYXV0b3Rvb2xzOiBtb3ZlIHRoZSAtV25vLXBvcnRhYmlsaXR5IGZyb20gYXV0b2dlbi5zaCB0byBjb25maWd1cmUuYWMKCSAgSWYgd2UncmUgbHVja3kgaXQnbGwgZ2V0IHVzZWQgb24gYXV0b21hdGljIHJlYnVpbGRzIGFzIHdlbGwgdGhhdCB3YXkuCgoyMDA5LTA1LTIyIDAxOjEwOjEyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiBtNC9nc3QtZmlvbnJlYWQubTQ6CgkgIG00OiBmaXggJ3N1c3BpY2lvdXMgY2FjaGUgaWQnIHdhcm5pbmdzCgkgIGFuZCB1cGRhdGUgY29tbW9uIHRvIHB1bGwgaW4gYSBzaW1pbGFyIGZpeC4gQWxzbyBjaGVjayBpbiBjb25maWd1cmUKCSAgd2hldGhlciB0aGUgY29tcGlsZXIgc3VwcG9ydHMgZG8gd2hpbGUgbWFjcm9zIChHTGliIHdhbnRzIHRoaXMKCSAgZGVmaW5lZCBhbmQgaXQgaXMgbmVlZGVkIHRvIGF2b2lkIHdhcm5pbmdzIHdpdGggc29tZSBjKysgY29tcGlsZXJzCgkgIGFwcGFyZW50bHkpLgoKMjAwOS0wNS0yMiAwMTozOTozMyArMDMwMCAgWmVlc2hhbiBBbGkgKEtoYXR0YWspIDx6ZWVzaGFuYWtAZ25vbWUub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBzb3VwaHR0cHNyYzogQnVtcC11cCBsaWJzb3VwLTIuMjQgZGVwIHRvID49IDIuMjYKCSAgVGhlIGhlbHBlciBmdW5jdGlvbiBzb3VwX21lc3NhZ2VfaGVhZGVyc19nZXRfY29udGVudF90eXBlIHRoYXQgd2Ugbm93IHVzZQoJICB3YXMgYWRkZWQgaW4gMi4yNi4KCjIwMDktMDUtMjAgMTc6NTc6NTkgKzAzMDAgIFplZXNoYW4gQWxpIChLaGF0dGFrKSA8emVlc2hhbmFrQGdub21lLm9yZz4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBTZXQgY2FwcyBmb3IgYXVkaW8vTDE2IGNvbnRlbnQtdHlwZQoJICBXaGVuICJDb250ZW50LVR5cGUiIGhlYWRlciBpcyAiYXVkaW8vTDE2Iiwgd2UgbmVlZCB0byBzZXQgdGhlIGNhcHMgb24gdGhlCgkgIG91dGdvaW5nIGJ1ZmZlcnMgc28gdGhhdCBkb3duc3RyZWFtIGVsZW1lbnRzIGNhbiBoYXZlIG1lYW5zIHRvIGRldGVjdCB0aGUKCSAgc3RyZWFtIHR5cGUgYW5kIGhhbmRsZSBpdCBhcHByb3ByaWF0ZWx5LiBUZXN0ZWQgd2l0aCBIVFRQIHN0cmVhbSBwcm92aWRlZAoJICBieSBwdWxzZS1hdWRpbydzIGh0dHAgbW9kdWxlIChnaXQgbWFzdGVyKS4KCjIwMDktMDUtMjAgMTU6MDY6MjUgKzAzMDAgIFplZXNoYW4gQWxpIChLaGF0dGFrKSA8emVlc2hhbmFrQGdub21lLm9yZz4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIHNvdXBodHRwc3JjOiBSZW5hbWUgaWN5X2NhcHMgdG8gc3JjX2NhcHMKCjIwMDktMDUtMjEgMjM6Mzk6MTMgKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxpcHBlIGF0IGZsdWVuZG8uY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBidW1wIG1heCBzaXplIHRvIDY1NTM1eDY1NTM1CgkgIFJlbW92ZSBhcnRpZmljaWFsIGpwZWcgaW1hZ2UgbGltaXRzLgoJICBGaXhlcyAjNTgzMDQ4LgoKMjAwOS0wNS0yMSAyMTozNjowMiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB3aW4zMjogVXBkYXRlIHRoZSB3aW4zMiBjb25maWcuaAoKMjAwOS0wNS0xOSAxNToxMjowOSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgbWF0cm9za2FkZW11eDogUmVjb2duaXNlIFBHUyBzdWJwaWN0dXJlIHN0cmVhbXMgLSB0aGUgYmx1cmF5IGZvcm1hdC4KCSAgUmVjb2duaXNlIGFuZCBhcHBseSBhcHByb3ByaWF0ZSBjYXBzIHRvIFBHUyAoUHJlc2VudGF0aW9uIEdyYXBoaWMgU3RyZWFtKQoJICBzdWJwaWN0dXJlIHN0cmVhbXMuCgoyMDA5LTA1LTE1IDEwOjQyOjE5ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogQ29udmVydCBhbiBlcnJvbmVvdXMgYXNzZXJ0aW9uCgkgIE9jY2FzaW9uYWxseSwgd2UgZ2V0IGEgY2hhbmdlIGNhbGxiYWNrIGZvciBhbiBvbGQgc3RyZWFtLCB0cmlnZ2VyaW5nCgkgIHRoZSBhc3NlcnRpb24gdW5uZWNlc3NhcmlseS4gSnVzdCBpZ25vcmUgc3VjaCBjYWxsYmFja3MuCgoyMDA5LTA1LTIwIDE2OjE0OjQwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlOiBQcmludCBhIHdhcm5pbmcgb24gdW5kZXIvb3ZlcmZsb3dzCgoyMDA5LTA1LTIwIDE4OjQ1OjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBxdGRlbXV4OiBwYXJzZSBpbjI0IGJveGVzIHRvIGdldCBlbmRpYW5uZXNzCgkgIGluMjQgc2FtcGxlcyBhcmUgbm9ybWFsbHkgYmlnLWVuZGlhbiBidXQgYW4gZW5kYSBib3ggY2FuIGNoYW5nZSB0aGlzIHRvCgkgIGxpdHRsZS1lbmRpYW4uIFJlY3Vyc2UgaW50byB0aGUgaW4yNCBib3ggYW5kIGZpbmQgdGhlIGVuZGEgYm94IHNvIHRoYXQgd2UgZ2V0CgkgIHRoZSBlbmRpYW5uZXNzIHJpZ2h0LgoJICBGaXhlcyAjNTgyNTE1CgoyMDA5LTA1LTIwIDE0OjE0OjMxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJICBtdWx0aXBhcnRkZW11eDogYWRkIHByb3BlciBwYWR0ZW1wbGF0ZQoKMjAwOS0wNS0yMCAxNDowMjo0MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgbXVsdGlwYXJ0ZGVtdXg6IGFkZCBtb3JlIG1pbWUgdHlwZXMKCSAgQWRkIG1pbWUtdHlwZSBmb3IgUGFuYXNvbmljIGc3MjYgYW5kIGFkZCBtb3JlIHJlcXVpcmVkIGNhcHMgcHJvcGVydGllcyBmb3Igb3RoZXIKCSAgRzcyNiBtaW1lLXR5cGVzLgoJICBNYWtlIG1pbWUtdHlwZXMgY2FzZSBpbnNlbnNpdGl2ZS4KCSAgU2VlICM1ODIxNjkKCjIwMDktMDUtMjAgMTM6NDc6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguaDoKCSAgbXVsdGlwYXJ0ZGVtdXg6IGFkZCBmbG93IGFnZ3JlZ2F0aW9uCgoyMDA5LTA1LTIwIDEzOjI5OjAyICswMjAwICBBcm5vdXQgVmFuZGVjYXBwZWxsZSA8YXJub3V0QG1pbmQuYmU+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkgIG11bHRpcGFydGRlbXV4OiBhbGxvdyBjb250ZW50IHRvIGJlIGVtcHR5LgoJICBnc3RfYWRhcHRlcl90YWtlX2J1ZmZlciBkb2Vzbid0IGFsbG93IGJ1ZmZlciB0byBiZSBlbXB0eS4KCSAgU2ltcGx5IHNraXAgYW55IHBhcnQgd2hlcmUgdGhlIGNvbnRlbnQgaXMgZW1wdHkuICBEb24ndAoJICBjcmVhdGUgYSBwYWQgZm9yIGl0IGVpdGhlci4KCSAgU2VlICM1ODIxNjkKCjIwMDktMDUtMTggMjI6MTk6MzkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGNoYW5uZWxzLmg6CgkgIHJ0cDogZml4IGNoYW5uZWwgcG9zaXRpb25zIGZvciBtb25vCgoyMDA5LTA1LTIxIDIxOjAyOjExICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gaGFja2luZyAtPiAwLjEwLjE1LjEKCj09PSByZWxlYXNlIDAuMTAuMTUgPT09CgoyMDA5LTA1LTIwIDIyOjM0OjE4ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4xNQoKMjAwOS0wNS0yMCAyMjowMzoyMSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA5LTA1LTE2IDAyOjU5OjE0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTQuMyBwcmUtcmVsZWFzZQoKMjAwOS0wNS0xNiAwMjozNzowNiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2ZsYWNkZWMuYzoKCSAgY2hlY2s6IERvbid0IGNoYW5nZSBkaXJlY3RvcnkgaW4gdGhlIHRlc3QKCSAgQ2hhbmdpbmcgZGlyZWN0b3J5IGludmFsaWRhdGVzIHRoZSBwYXRocyB0aGUgcmVnaXN0cnkgaGFzIHBpY2tlZAoJICB1cCBmb3Igb3VyIHBsdWdpbnMsIGJlY2F1c2UgdGhlIHRlc3QgZW52aXJvbm1lbnQgc3BlY2lmaWVzIHJlbGF0aXZlCgkgIHBhdGhzLiBGaXhpbmcgdGhhdCBpcyBhIHNlcGFyYXRlIHByb2JsZW0sIGluIHRoZSBtZWFudGltZSwgYnVpbGQgYQoJICBwYXRoIHRvIHRoZSB0ZXN0IGZpbGVzIGluc3RlYWQgb2YgY2hhbmdpbmcgZGlyZWN0b3J5LiBGaXhlcyB0aGUKCSAgZGlzdGNoZWNrLgoKMjAwOS0wNS0xNiAwMTo1Mzo0NiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogd2luMzIvTUFOSUZFU1Q6CgkgIHdpbjMyOiBSZW1vdmUgZGlyZWN0ZHJhdyBwcm9qZWN0IGZpbGVzIGZyb20gdGhlIHdpbjMyIG1hbmlmZXN0CgoyMDA5LTA1LTE2IDAxOjIxOjM0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkgIGNoZWNrOiBSZW1vdmUgYXNzZXJ0aW9uIHRoYXQgYnJlYWtzIGNoZWNrIGFnYWluIGdpdCBtYXN0ZXIKCSAgUmVtb3ZlIHRoZSBhc3NlcnRpb24gdGhhdCB0aGUgc2VuZGVyIG9mIHRoZSB0YWdzIG1lc3NhZ2UgaXMgdGhlCgkgIGVsZW1lbnQgdW50aWwgd2UgZGVjaWRlIHdoZXRoZXIgdGhhdCdzIGdvaW5nIHRvIGJlIHRydWUgb3Igbm90LgoKMjAwOS0wNS0xNiAwMToxMTozMyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmVjdGRyYXcueG1sOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9kaXJlY3RkcmF3L01ha2VmaWxlLmFtOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3cGx1Z2luLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3RkcmF3LmRzcDoKCSogd2luMzIvdnM3L2xpYmdzdGRpcmVjdGRyYXcudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0ZGlyZWN0ZHJhdy52Y3Byb2o6CgkgIE1vdmVkICdkaXJlY3RkcmF3JyBmcm9tIC1nb29kIHRvIC1iYWQKCjIwMDktMDUtMTYgMDA6MTg6MzQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy8uZ2l0aWdub3JlOgoJICBpZ25vcmVzOiBJZ25vcmUgdGhlIGZsYWNkZWMgY2hlY2sgYmluYXJ5CgoyMDA5LTA1LTE2IDAwOjE3OjU3ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSAgZG9jczogVXBkYXRlIGluc3BlY3Rpb24gZGV0YWlscyBmb3IgdGhlIGF2aSBwbHVnaW4KCjIwMDktMDUtMTYgMDA6MDA6MDcgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMveTRtZW5jLmM6CgkgIE1vdmVkICd5NG1lbmMnIGZyb20gLWJhZCB0byAtZ29vZAoKMjAwOS0wNS0xMyAxNzo1NTo0NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRF0geTRtZW5jOiBjaGFuZ2UgbXkgZW1haWwKCSAgY2hhbmdlIG15IGVtYWlsIHRvIHNvbWV0aGluZyBtb3JlIGN1cnJlbnQKCSAgU2VlICM1ODA3ODMKCjIwMDktMDUtMTMgMTc6NTQ6NDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBbTU9WRUQgRlJPTSBCQURdIHk0bWVuYzogZG9uJ3Qgc3RyaXAgdGltZXN0YW1wcwoJICBGaXhlcyAjNTgyNDgzCgoyMDA4LTExLTA0IDEyOjQyOjMwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQURdIERvbid0IGluc3RhbGwgc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMuIEZpeGVzICM1NTA4NTEgZm9yIC1iYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhc3BkaWYvTWFrZWZpbGUuYW06CgkgICogZXh0L2FtcndiL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hcGV4c2luay9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXJ0cy9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXJ0c2QvTWFrZWZpbGUuYW06CgkgICogZXh0L2F1ZGlvZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvYnoyL01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZGF1ZGlvL01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZWx0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kYzEzOTQvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpcmFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXJlY3RmYi9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGl2eC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZHRzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9mYWFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9mYWFkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9nc20vTWFrZWZpbGUuYW06CgkgICogZXh0L2hlcm1lcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvaXZvcmJpcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvanAyay9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9sY3MvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYmZhbWUvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYm1tcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06CgkgICogZXh0L21wZWcyZW5jL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tcGxleC9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXVzZXBhY2svTWFrZWZpbGUuYW06CgkgICogZXh0L211c2ljYnJhaW56L01ha2VmaWxlLmFtOgoJICAqIGV4dC9teXRodHYvTWFrZWZpbGUuYW06CgkgICogZXh0L25hcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbmVvbi9NYWtlZmlsZS5hbToKCSAgKiBleHQvb2ZhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9wb2x5cC9NYWtlZmlsZS5hbToKCSAgKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkgICogZXh0L3NkbC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc2hvdXQvTWFrZWZpbGUuYW06CgkgICogZXh0L3NuYXBzaG90L01ha2VmaWxlLmFtOgoJICAqIGV4dC9zbmRmaWxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zb3VuZHRvdWNoL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zcGMvTWFrZWZpbGUuYW06CgkgICogZXh0L3N3ZmRlYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFya2luL01ha2VmaWxlLmFtOgoJICAqIGV4dC90aGVvcmEvTWFrZWZpbGUuYW06CgkgICogZXh0L3RpbWlkaXR5L01ha2VmaWxlLmFtOgoJICAqIGV4dC90d29sYW1lL01ha2VmaWxlLmFtOgoJICAqIGV4dC94MjY0L01ha2VmaWxlLmFtOgoJICAqIGV4dC94aW5lL01ha2VmaWxlLmFtOgoJICAqIGV4dC94dmlkL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L01ha2VmaWxlLmFtOgoJICAqIGdzdC9haWZmcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9idWZmZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2JheWVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9jZHhhcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NoYXJ0L01ha2VmaWxlLmFtOgoJICAqIGdzdC9jb2xvcnNwYWNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kY2NwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kdmRzcHUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2Zlc3RpdmFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9maWx0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZsYWNwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJICAqIGdzdC9nYW1lcy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaDI2NHBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06CgkgICogZ3N0L21peG1hdHJpeC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbW9kcGx1Zy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZzFzeXMvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWc0dmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ2RlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVndHNtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L25zZi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbnV2ZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L292ZXJsYXkvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Bhc3N0aHJvdWdoL01ha2VmaWxlLmFtOgoJICAqIGdzdC9wY2FwcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L3BsYXlvbmRlbWFuZC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmF3cGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L3JlYWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0anBlZy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2RwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zZWxlY3Rvci9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc21vb3RoL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zbW9vdGh3YXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVlZC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3RlcmVvL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zdWJlbmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3R0YS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmJpZGVjL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2Ryb3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvc2lnbmFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aXJ0dWFsZHViL01ha2VmaWxlLmFtOgoJICAqIGdzdC92bW5jL01ha2VmaWxlLmFtOgoJICAqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkgICogc3lzL2FjbWVuYy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvY2Ryb20vTWFrZWZpbGUuYW06CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kdmIvTWFrZWZpbGUuYW06CgkgICogc3lzL2R4cjMvTWFrZWZpbGUuYW06CgkgICogc3lzL2ZiZGV2L01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3M0L01ha2VmaWxlLmFtOgoJICAqIHN5cy9xY2FtL01ha2VmaWxlLmFtOgoJICAqIHN5cy9xdHdyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL3ZjZC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvd2luaW5ldC9NYWtlZmlsZS5hbToKCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIERvbid0IGluc3RhbGwgc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMuIEZpeGVzICM1NTA4NTEgZm9yIC1iYWQuCgoyMDA4LTA2LTI2IDE1OjUyOjQwICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIFtNT1ZFRCBGUk9NIEJBRF0gQWRkIGRvY3VtZW50YXRpb24gZm9yIFlVVjRNUEVHMiBlbmNvZGVyIGVsZW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgQWRkIGRvY3VtZW50YXRpb24gZm9yIFlVVjRNUEVHMiBlbmNvZGVyIGVsZW1lbnQuCgoyMDA3LTA0LTI0IDE1OjQ5OjE4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgW01PVkVEIEZST00gQkFEXSBQbHVnIHNvbWUgbGVha3M7IHRyeSB0byBtYWtlIGJ1aWxkIGJvdCBoYXBweSBhZ2Fpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzogKGdzdF95NG1fZW5jb2RlX2luaXQpLAoJICAoZ3N0X3k0bV9lbmNvZGVfc2V0Y2Fwcyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMveTRtZW5jLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIFBsdWcgc29tZSBsZWFrczsgdHJ5IHRvIG1ha2UgYnVpbGQgYm90IGhhcHB5IGFnYWluLgoKMjAwNi0xMS0xMyAxODo1NTo1NyArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIFtNT1ZFRCBGUk9NIEJBRF0gY29uZmlndXJlLmFjOiBFbmFibGUgY2RhdWRpbyBhbmQgeTRtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1dyBhdCBza3luZXQgYmU+CgkgICogY29uZmlndXJlLmFjOgoJICBFbmFibGUgY2RhdWRpbyBhbmQgeTRtLgoJICAqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzogKGdzdF95NG1fZW5jb2RlX2Jhc2VfaW5pdCksCgkgIChnc3RfeTRtX2VuY29kZV9jbGFzc19pbml0KSwgKGdzdF95NG1fZW5jb2RlX2luaXQpLAoJICAoZ3N0X3k0bV9lbmNvZGVfcmVzZXQpLCAoZ3N0X3k0bV9lbmNvZGVfc2V0Y2FwcyksCgkgIChnc3RfeTRtX2VuY29kZV9nZXRfc3RyZWFtX2hlYWRlciksCgkgIChnc3RfeTRtX2VuY29kZV9nZXRfZnJhbWVfaGVhZGVyKSwgKGdzdF95NG1fZW5jb2RlX2NoYWluKSwKCSAgKGdzdF95NG1fZW5jb2RlX3NldF9wcm9wZXJ0eSksIChnc3RfeTRtX2VuY29kZV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3k0bV9lbmNvZGVfY2hhbmdlX3N0YXRlKSwgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5oOgoJICBQb3J0IG9mIHk0bWVuY29kZSB0byAwLjEwLgoKMjAwNi0wNC0yNSAyMTo1NjozOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgW01PVkVEIEZST00gQkFEXSBEZWZpbmUgR3N0RWxlbWVudERldGFpbHMgYXMgY29uc3QgYW5kIGFsc28gc3RhdGljICh3aGVuIGRlZmluZWQgYXMgZ2xvYmFsKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOgoJICAqIGV4dC9hcnRzL2dzdF9hcnRzLmM6CgkgICogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5jOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKiBleHQvYnoyL2dzdGJ6MmRlYy5jOgoJICAqIGV4dC9iejIvZ3N0YnoyZW5jLmM6CgkgICogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmM6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGVuYy5jOgoJICAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6IChnc3RfZHRzZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfYmFzZV9pbml0KToKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSAgKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJICAqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzoKCSAgKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzoKCSAgKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuYzogKGdzdF9tbXNfYmFzZV9pbml0KToKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzogKGdzdF9tdXNlcGFja2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzogKGdzdF9tdXNpY2JyYWluel9iYXNlX2luaXQpOgoJICAqIGV4dC9uYXMvbmFzc2luay5jOiAoZ3N0X25hc3NpbmtfYmFzZV9pbml0KToKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICAqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSAgKiBleHQvc2hvdXQvZ3N0c2hvdXQuYzoKCSAgKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzoKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5jOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuYzoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmVuYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9iYXNlX2luaXQpOgoJICAqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzoKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzogKGdzdF9jZHhhX3BhcnNlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuYzogKGdzdF9jZHhhc3RyaXBfYmFzZV9pbml0KToKCSAgKiBnc3QvY2hhcnQvZ3N0Y2hhcnQuYzoKCSAgKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKGdzdF9paXJfZXF1YWxpemVyX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RpaXIuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzoKCSAgKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJICAqIGdzdC9nYW1lcy9nc3RwdXp6bGUuYzogKGdzdF9wdXp6bGVfYmFzZV9pbml0KToKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICAqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6CgkgICogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmM6CgkgICogZ3N0L21wZWcxdmlkZW9wYXJzZS9nc3RtcDF2aWRlb3BhcnNlLmM6CgkgICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5jOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6CgkgICogZ3N0L3Bhc3N0aHJvdWdoL2dzdHBhc3N0aHJvdWdoLmM6CgkgICogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuYzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuYzoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2VuYy5jOgoJICAqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6CgkgICogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICAqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJICAqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzoKCSAgKiBnc3QvdHRhL2dzdHR0YWRlYy5jOiAoZ3N0X3R0YV9kZWNfYmFzZV9pbml0KToKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6IChnc3RfdHRhX3BhcnNlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuYzoKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICAqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmM6CgkgICogZ3N0L3ZpcnR1YWxkdWIvZ3N0eHNoYXJwZW4uYzoKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6IChnc3RfeGluZ19tdXhfYmFzZV9pbml0KToKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICAqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5jOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSAgKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICAqIHN5cy92Y2QvdmNkc3JjLmM6IChnc3RfdmNkc3JjX2Jhc2VfaW5pdCk6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzoKCSAgRGVmaW5lIEdzdEVsZW1lbnREZXRhaWxzIGFzIGNvbnN0IGFuZCBhbHNvIHN0YXRpYyAod2hlbiBkZWZpbmVkIGFzCgkgIGdsb2JhbCkKCjIwMDYtMDQtMDggMjE6NDg6MDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRF0gRml4ICMzMzczNjUgKGdfdHlwZV9jbGFzc19yZWYgPC0+IGdfdHlwZV9jbGFzc19wZWVrX3BhcmVudCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6IChnc3RfYW1yd2JkZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6IChnc3RfYW1yd2JlbmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzogKGdzdF9hbXJ3YnBhcnNlX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hcnRzL2dzdF9hcnRzLmM6IChnc3RfYXJ0c19jbGFzc19pbml0KToKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6IChnc3RfYXJ0c2RzaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6IChnc3RfYWZzaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzogKGdzdF9hZnNyY19jbGFzc19pbml0KToKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgICogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOiAoZ3N0X2NkYXVkaW9fY2xhc3NfaW5pdCk6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiAoZ3N0X2RmYnZpZGVvc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmM6IChnc3RfZGl2eGRlY19jbGFzc19pbml0KToKCSAgKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzoKCSAgKGdzdF9oZXJtZXNfY29sb3JzcGFjZV9jbGFzc19pbml0KToKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6IChnc3RfaXZvcmJpc2ZpbGVfY2xhc3NfaW5pdCk6CgkgICogZXh0L2phY2svZ3N0amFjay5jOiAoZ3N0X2phY2tfY2xhc3NfaW5pdCk6CgkgICogZXh0L2phY2svZ3N0amFja2Jpbi5jOiAoZ3N0X2phY2tfYmluX2NsYXNzX2luaXQpOgoJICAqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOiAoZ3N0X2NvbG9yc3BhY2VfY2xhc3NfaW5pdCk6CgkgICogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOiAoZ3N0X2ZhbWVlbmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOiAoZ3N0X211c2ljYnJhaW56X2NsYXNzX2luaXQpOgoJICAqIGV4dC9uYXMvbmFzc2luay5jOiAoZ3N0X25hc3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L3Nob3V0L2dzdHNob3V0LmM6IChnc3RfaWNlY2FzdHNlbmRfY2xhc3NfaW5pdCk6CgkgICogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6IChnc3Rfc25hcHNob3RfY2xhc3NfaW5pdCk6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuYzogKGdzdF9zZl9jbGFzc19pbml0KToKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiAoZ3N0X3N3ZmRlY2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9zd2ZkZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuYzogKGdzdF90YXJraW5kZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5lbmMuYzogKGdzdF90YXJraW5lbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuYzogKGdzdF9jZHhhc3RyaXBfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2NoYXJ0L2dzdGNoYXJ0LmM6IChnc3RfY2hhcnRfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOiAoZ3N0X2NvbG9yc3BhY2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6IChnc3RfZGVpbnRlcmxhY2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6IChnc3RfZmVzdGl2YWxfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19jbGFzc19pbml0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGlpci5jOiAoZ3N0X2lpcl9jbGFzc19pbml0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6IChnc3RfcmZic3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6IChnc3RfbWl4bWF0cml4X2NsYXNzX2luaXQpOgoJICAqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOgoJICAoZ3N0X3N5c3RlbV9lbmNvZGVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L21wZWcxdmlkZW9wYXJzZS9nc3RtcDF2aWRlb3BhcnNlLmM6CgkgIChnc3RfbXAxdmlkZW9wYXJzZV9jbGFzc19pbml0KToKCSAgKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0LmM6IChnc3RfbXBlZzJzdWJ0X2NsYXNzX2luaXQpOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICAoZ3N0X21wM3BhcnNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuYzogKGdzdF9vdmVybGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9wYXNzdGhyb3VnaC9nc3RwYXNzdGhyb3VnaC5jOiAocGFzc3Rocm91Z2hfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuYzogKHBsYXlfb25fZGVtYW5kX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmM6IChnc3RfcnRqcGVnZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmM6IChnc3RfcnRqcGVnZW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6IChnc3Rfc21vb3RoX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzogKGdzdF9zbW9vdGh3YXZlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6IChnc3Rfc3RlcmVvX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6IChnc3Rfc3dpdGNoX2NsYXNzX2luaXQpOgoJICAqIGdzdC90dGEvZ3N0dHRhZGVjLmM6IChnc3RfdHRhX2RlY19jbGFzc19pbml0KToKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6IChnc3RfdHRhX3BhcnNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmM6IChnc3RfdmJpZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6IChnc3RfdmlkZW9fY3JvcF9jbGFzc19pbml0KToKCSAgKiBnc3QvdmlydHVhbGR1Yi9nc3R4c2hhcnBlbi5jOiAoZ3N0X3hzaGFycGVuX2NsYXNzX2luaXQpOgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6IChnc3RfeTRtZW5jb2RlX2NsYXNzX2luaXQpOgoJICAqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5jOiAoY2RwbGF5ZXJfY2xhc3NfaW5pdCk6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICAoZ3N0X2RpcmVjdHNvdW5kc2lua19jbGFzc19pbml0KToKCSAgKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmM6IChkeHIzYXVkaW9zaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmM6IChkeHIzc3B1c2lua19jbGFzc19pbml0KToKCSAgKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmM6IChkeHIzdmlkZW9zaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzogKGdzdF9xY2Ftc3JjX2NsYXNzX2luaXQpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuYzoKCSAgKGdzdF92NGwyX2NvbG9yX2JhbGFuY2VfY2hhbm5lbF9jbGFzc19pbml0KToKCSAgKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzogKGdzdF92NGwyX3R1bmVyX2NoYW5uZWxfY2xhc3NfaW5pdCksCgkgIChnc3RfdjRsMl90dW5lcl9ub3JtX2NsYXNzX2luaXQpOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6IChnc3RfeGltYWdlc3JjX2NsYXNzX2luaXQpOgoJICBGaXggIzMzNzM2NSAoZ190eXBlX2NsYXNzX3JlZiA8LT4gZ190eXBlX2NsYXNzX3BlZWtfcGFyZW50KQoKMjAwNi0wNC0wOCAxOTowNDowMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgW01PVkVEIEZST00gQkFEXSBnc3QvOiBGaXggbW9yZSBicm9rZW4gR09iamVjdCBtYWNyb3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5oOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJICAqIGdzdC9wYXNzdGhyb3VnaC9nc3RwYXNzdGhyb3VnaC5oOgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmg6CgkgIEZpeCBtb3JlIGJyb2tlbiBHT2JqZWN0IG1hY3JvcwoKMjAwNi0wNC0wNiAxMTozNToyNiArMDAwMCAgakBib290bGFiLm9yZyA8akBib290bGFiLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRF0gVW5pZnkgdGhlIGxvbmcgZGVzY3JpcHRpb25zIGluIHRoZSBwbHVnaW4gZGV0YWlscyAoIzMzNzI2MykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogal4gIDxqIGF0IGJvb3RsYWIgZG90IG9yZz4KCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOgoJICAqIGV4dC9hcnRzL2dzdF9hcnRzLmM6CgkgICogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5jOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOgoJICAqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGRlYy5jOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuYzoKCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5jOiAoZ3N0X2R0c2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICAqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkgICogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSAgKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6CgkgICogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6CgkgICogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6IChnc3RfbW1zX2Jhc2VfaW5pdCk6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOiAoZ3N0X211c2ljYnJhaW56X2Jhc2VfaW5pdCk6CgkgICogZXh0L25hcy9uYXNzaW5rLmM6IChnc3RfbmFzc2lua19iYXNlX2luaXQpOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgICogZXh0L3BvbHlwL3BvbHlwc2luay5jOiAoZ3N0X3BvbHlwc2lua19iYXNlX2luaXQpOgoJICAqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSAgKiBleHQvc2hvdXQvZ3N0c2hvdXQuYzoKCSAgKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzoKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5jOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmM6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5lbmMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfYmFzZV9pbml0KToKCSAgKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6IChnc3RfY2R4YV9wYXJzZV9iYXNlX2luaXQpOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmM6IChnc3RfY2R4YXN0cmlwX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2NoYXJ0L2dzdGNoYXJ0LmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKGdzdF9paXJfZXF1YWxpemVyX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RpaXIuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzoKCSAgKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJICAqIGdzdC9nYW1lcy9nc3RwdXp6bGUuYzogKGdzdF9wdXp6bGVfYmFzZV9pbml0KToKCSAgKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOgoJICAqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOgoJICAqIGdzdC9tcGVnMXZpZGVvcGFyc2UvZ3N0bXAxdmlkZW9wYXJzZS5jOgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuYzoKCSAgKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgICogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOgoJICAqIGdzdC9wYXNzdGhyb3VnaC9nc3RwYXNzdGhyb3VnaC5jOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmM6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuYzoKCSAgKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOgoJICAqIGdzdC90dGEvZ3N0dHRhZGVjLmM6IChnc3RfdHRhX2RlY19iYXNlX2luaXQpOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogKGdzdF90dGFfcGFyc2VfYmFzZV9pbml0KToKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICAqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmM6CgkgICogZ3N0L3ZpcnR1YWxkdWIvZ3N0eHNoYXJwZW4uYzoKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6IChnc3RfeGluZ19tdXhfYmFzZV9pbml0KToKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBVbmlmeSB0aGUgbG9uZyBkZXNjcmlwdGlvbnMgaW4gdGhlIHBsdWdpbiBkZXRhaWxzICgjMzM3MjYzKS4KCjIwMDYtMDQtMDEgMTA6MDk6MTEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgW01PVkVEIEZST00gQkFEXSByZXdvcmsgYnVpbGQ7IGFkZCB0cmFuc2xhdGlvbnMgZm9yIHY0bDIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJld29yayBidWlsZDsgYWRkIHRyYW5zbGF0aW9ucyBmb3IgdjRsMgoKMjAwNS0wOS0wNSAxNzoyMDoyOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBbTU9WRUQgRlJPTSBCQURdIEZpeCB1cCBhbGwgdGhlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggdXAgYWxsIHRoZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb25zLgoKMjAwNS0wNy0wNSAxMDo1MTo0OSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgW01PVkVEIEZST00gQkFEXSBXYXksIHdheSwgd2F5IHRvbyBtYW55IGZpbGVzOiBSZW1vdmUgY3JhY2sgY29tbWVudCBmcm9tIHRoZSAyMDAwIGVyYS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMDctMDUgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogV2F5LCB3YXksIHdheSB0b28gbWFueSBmaWxlczoKCSAgUmVtb3ZlIGNyYWNrIGNvbW1lbnQgZnJvbSB0aGUgMjAwMCBlcmEuCgoyMDA1LTAxLTE0IDE4OjM2OjQyICswMDAwICBTdMOpcGhhbmUgTG9ldWlsbGV0IDxnc3RyZWFtZXJAbGVyb3V0aWVyLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRF0gSSdtIGEgYmFkIGJveS4gdXNpbmcgLzEwMDEuIHRvIGZvcmNlIEMgdG8gZG8gZmxvYXQgZGl2aXNpb24gYW5kIG5vdCBpbnRlZ2VyIGRpdmlzaW9uIChhcyBpdCBkaWQgaW4gbXkgbGFzdCBjb21taXQpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlYy5jOgoJICAqIGdzdC9zdWJwYXJzZS9nc3RzdWJwYXJzZS5jOiAocGFyc2VfbWR2ZHN1Yik6CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzogKGdzdF95NG1lbmNvZGVfc2lua2Nvbm5lY3QpOgoJICBJJ20gYSBiYWQgYm95LiB1c2luZyAvMTAwMS4gdG8gZm9yY2UgQyB0byBkbyBmbG9hdCBkaXZpc2lvbgoJICBhbmQgbm90IGludGVnZXIgZGl2aXNpb24gKGFzIGl0IGRpZCBpbiBteSBsYXN0IGNvbW1pdCkKCSAgVGhhbmtzIHRvIERhdmlkIEkuIExlaG4gZm9yIHBvaW50aW5nIHRoaXMgbWlzdGFrZS4KCjIwMDUtMDEtMTQgMTI6Mjc6MjIgKzAwMDAgIFN0w6lwaGFuZSBMb2V1aWxsZXQgPGdzdHJlYW1lckBsZXJvdXRpZXIubmV0PgoKCSAgW01PVkVEIEZST00gQkFEXSByZXBsYWNlIGZyYW1lcmF0ZSBhcHJveGltYXRpb25zIGJ5IHRoZWlyIHJlYWwgdmFsdWUgKDI0MDAwLzEwMDEsIDMwMDAwLzEwMDEsIDYwMDAwLzEwMDEpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlYy5jOgoJICAqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzoKCSAgKiBnc3Qvc3VicGFyc2UvZ3N0c3VicGFyc2UuYzogKHBhcnNlX21kdmRzdWIpOgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6IChnc3RfeTRtZW5jb2RlX3Npbmtjb25uZWN0KToKCSAgcmVwbGFjZSBmcmFtZXJhdGUgYXByb3hpbWF0aW9ucyBieSB0aGVpciByZWFsIHZhbHVlCgkgICgyNDAwMC8xMDAxLCAzMDAwMC8xMDAxLCA2MDAwMC8xMDAxKQoJICBGaW5pc2ggZml4aW5nIGJ1ZyAjMTY0MDQ5CgoyMDA0LTA3LTI3IDIxOjQxOjMwICswMDAwICBTdGV2ZSBMaG9tbWUgPHN0ZXZlLmxob21tZUBmcmVlLmZyPgoKCSogZ3N0L3k0bS95NG1lbmMudmNwcm9qOgoJICBbTU9WRUQgRlJPTSBCQURdIG1vcmUgd29ya2luZyBwbHVnaW5zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtb3JlIHdvcmtpbmcgcGx1Z2lucwoKMjAwNC0wNy0yNyAwOTo1NzozMyArMDAwMCAgU3RldmUgTGhvbW1lIDxzdGV2ZS5saG9tbWVAZnJlZS5mcj4KCgkqIGdzdC95NG0veTRtZW5jLnZjcHJvajoKCSAgW01PVkVEIEZST00gQkFEXSByZW5hbWUgR1N0cmVhbWVyLTAuOC5saWIgdG8gbGliZ3N0cmVhbWVyLmxpYgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVuYW1lIEdTdHJlYW1lci0wLjgubGliIHRvIGxpYmdzdHJlYW1lci5saWIKCjIwMDQtMDctMjcgMDk6NDg6NTEgKzAwMDAgIFN0ZXZlIExob21tZSA8c3RldmUubGhvbW1lQGZyZWUuZnI+CgoJKiBnc3QveTRtL3k0bWVuYy52Y3Byb2o6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gYXZvaWQgcHJvYmxlbXMgd2l0aCBtYXRoLmgsIGZpeCByZWxlYXNlIGRlcGVuZGFuY3kKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGF2b2lkIHByb2JsZW1zIHdpdGggbWF0aC5oLCBmaXggcmVsZWFzZSBkZXBlbmRhbmN5CgoyMDA0LTA3LTI2IDEzOjIwOjExICswMDAwICBTdGV2ZSBMaG9tbWUgPHN0ZXZlLmxob21tZUBmcmVlLmZyPgoKCSogZ3N0L3k0bS95NG1lbmMudmNwcm9qOgoJICBbTU9WRUQgRlJPTSBCQURdIG1vcmUgcGx1Z2lucyBzdXBwb3J0ZWQgdW5kZXIgd2luZG93cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbW9yZSBwbHVnaW5zIHN1cHBvcnRlZCB1bmRlciB3aW5kb3dzCgoyMDA0LTA0LTAxIDExOjQ4OjI3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gYTUyZGVjOiAgIFVzZSBhIGRlYnVnIGNhdGVnb3J5LCBPdXRwdXQgdGltZXN0YW1wcyBjb3JyZWN0bHkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGE1MmRlYzogICBVc2UgYSBkZWJ1ZyBjYXRlZ29yeSwgT3V0cHV0IHRpbWVzdGFtcHMgY29ycmVjdGx5CgkgIEVtaXQgdGFnIGluZm8sIEhhbmRsZSBldmVudHMsIHRlbGwgbGliYTUyZGVjIGFib3V0IGNwdQoJICBjYXBhYmlsaXRpZXMgc28gaXQgY2FuIHVzZSBNTVggZXRjLgoJICBkdmRlYzogICAgRml4IGEgY3Jhc2hlciBhY2Nlc3NpbmcgaW52YWxpZCBtZW1vcnkKCSAgZHZkbmF2c3JjOlNvbWUgc3VwcG9ydCBmb3IgYnl0ZS1mb3JtYXQgc2Vla2luZy4KCSAgU21hbGwgZml4ZXMgZm9yIHN0aWxsIGZyYW1lcyBhbmQgbWVudSBidXR0b24gb3ZlcmxheXMKCSAgbXBlZzJkZWM6IFVzZSBhIGRlYnVnIGNhdGVnb3J5LiBBZGp1c3QgdGhlIHJlcG9ydCBsZXZlbCBvZiBzZXZlcmFsIGl0ZW1zIHRvCgkgIExPRy4gQ2FsbCBtcGVnMl9jdXN0b21fZmJ1ZiB0byBtYXJrIG91ciBidWZmZXJzIGFzICdjdXN0b20gYnVmZmVycycKCSAgc28gaXQgZG9lc24ndCBsb3NlIHRoZSBHc3RCdWZmZXIgcG9pbnRlcgoJICBuYXZzZWVrOiAgQWRkIHRoZSBuYXZzZWVrIGRlYnVnIGVsZW1lbnQgZm9yIHNlZWtpbmcgYmFjayBhbmQgZm9ydGggaW4gYQoJICB2aWRlbyBzdHJlYW0gdXNpbmcgYXJyb3cga2V5cy4KCSAgbXBlZzJzdWJ0OlByZXR0eSBtdWNoIGEgY29tcGxldGUgcmV3cml0ZS4gTm93IGEgbG9vcGJhc2VkIGVsZW1lbnQuIE1heSBzdGlsbAoJICByZXF1aXJlIHdvcmsgdG8gcHJvcGVybHkgc3luY2hyb25pc2Ugc3VidGl0bGUgYnVmZmVycy4KCSAgbXBlZ2RlbXV4OgoJICBkdmRkZW11eDogRG9uJ3QgYXR0ZW1wdCB0byBjcmVhdGUgc3ViYnVmZmVycyBvZiBzaXplIDAKCSAgUmVkdWNlIGEgY291cGxlIG9mIGVycm9yIG91dHB1dHMgdG8gd2FybmluZ3MuCgkgIHk0bWVuY29kZTpPdXRwdXQgdGhlIHk0bSBmcmFtZSBoZWFkZXIgY29ycmVjdGx5CgoyMDA0LTAzLTE1IDE5OjMyOjI3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gZG9uJ3QgbWl4IHRhYnMgYW5kIHNwYWNlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZG9uJ3QgbWl4IHRhYnMgYW5kIHNwYWNlcwoKMjAwNC0wMy0xNSAxNjozMjo1NCArMDAwMCAgSm9oYW4gRGFobGluIDxqb2hhbkBnbm9tZS5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQURdICouaDogUmV2ZXJ0IGluZGVudGluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiAqLmg6IFJldmVydCBpbmRlbnRpbmcKCjIwMDQtMDMtMTQgMjI6MzQ6MzMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuaDoKCSAgW01PVkVEIEZST00gQkFEXSBnc3QtaW5kZW50CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBnc3QtaW5kZW50CgoyMDA0LTAxLTEyIDAyOjAxOjUyICswMDAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQGdub21lLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRF0gZ3N0LWxpYnMvZ3N0L3ZpZGVvL3ZpZGVvLmg6IEZpeCBjYXBzIHRlbXBsYXRlIG5hbWVzIHRvIGJlIHVuZGVyc3RhbmRhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNC0wMS0xMiAgQmVuamFtaW4gT3R0ZSAgPGluN3kxMThAcHVibGljLnVuaS1oYW1idXJnLmRlPgoJICAqIGdzdC1saWJzL2dzdC92aWRlby92aWRlby5oOgoJICBGaXggY2FwcyB0ZW1wbGF0ZSBuYW1lcyB0byBiZSB1bmRlcnN0YW5kYWJsZS4KCSAgUHJlZml4IGV2ZXJ5dGhpbmcgd2l0aCBHU1RfVklERU8uCgkgICogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuYzoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmM6CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkgICogZXh0L2hlcm1lcy9nc3Rjb2xvcnNwYWNlLmM6IChnc3RfY29sb3JzcGFjZV9iYXNlX2luaXQpOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogKHJhd19jYXBzX2ZhY3RvcnkpOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzogKHJhd19jYXBzX2ZhY3RvcnkpOgoJICAqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzogKHJhd19jYXBzX2ZhY3RvcnkpOgoJICAqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSAgKiBnc3QvY2hhcnQvZ3N0Y2hhcnQuYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgKiBnc3QvZWZmZWN0di9nc3RlZmZlY3R2LmM6CgkgICogZ3N0L2ZseC9nc3RmbHhkZWMuYzogKGdzdF9mbHhkZWNfbG9vcCk6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICAqIGdzdC9tZWRpYW4vZ3N0bWVkaWFuLmM6CgkgICogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzogKGdzdF9tb25vc2NvcGVfaW5pdCksCgkgIChnc3RfbW9ub3Njb3BlX3NyY2Nvbm5lY3QpLCAoZ3N0X21vbm9zY29wZV9jaGFpbik6CgkgICogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOgoJICAqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkgICogZ3N0L3N5bmFlc3RoZXNpYS9nc3RzeW5hZXN0aGVzaWEuYzoKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICAqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmM6CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6CgkgICogc3lzL3Y0bC9nc3R2NGxzcmMuYzogKGdzdF92NGxzcmNfcGFsZXR0ZV90b19jYXBzKToKCSAgTWFrZSB0aGVtIHdvcmsgd2l0aCBuZXcgdmlkZW8uaCBmaWxlLgoJICAqIHN5cy94aW1hZ2UveGltYWdlc2luay5jOiAoZ3N0X3hpbWFnZXNpbmtfY2hhaW4pLAoJICAoZ3N0X3hpbWFnZXNpbmtfYnVmZmVyX2ZyZWUpLCAoZ3N0X3hpbWFnZXNpbmtfYnVmZmVyX2FsbG9jKToKCSAgKiBzeXMveHZpbWFnZS94dmltYWdlc2luay5jOiAoZ3N0X3h2aW1hZ2VzaW5rX2NoYWluKSwKCSAgKGdzdF94dmltYWdlc2lua19idWZmZXJfZnJlZSksIChnc3RfeHZpbWFnZXNpbmtfYnVmZmVyX2FsbG9jKToKCSAgTWFrZSBpdCB3b3JrIHdpdGggbmV3IGJ1ZmZlciBhbGxvY2F0aW9uIHN5c3RlbS4KCjIwMDMtMTItMjIgMDE6NDc6MDkgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgW01PVkVEIEZST00gQkFEXSBNZXJnZSBDQVBTIGJyYW5jaAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTWVyZ2UgQ0FQUyBicmFuY2gKCjIwMDMtMTItMDQgMTA6Mzc6MzggKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gcmVtb3ZlIGNvcHlyaWdodCBmaWVsZCBmcm9tIHBsdWdpbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZSBjb3B5cmlnaHQgZmllbGQgZnJvbSBwbHVnaW5zCgoyMDAzLTExLTE2IDIyOjAyOjIzICswMDAwICBMZWlmIEpvaG5zb24gPGxlaWZAYW1iaWVudC4yeS5uZXQ+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBbTU9WRUQgRlJPTSBCQURdICsgY2hlY2tpbmcgaW4gcGx1Z2luIGNhdGVnb3J5IGNoYW5nZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICsgY2hlY2tpbmcgaW4gcGx1Z2luIGNhdGVnb3J5IGNoYW5nZXMKCjIwMDMtMTEtMDcgMTI6NDc6MDIgKzAwMDAgIFJvbmFsZCBTLiBCdWx0amUgPHJidWx0amVAcm9uYWxkLmJpdGZyZWFrLm5ldD4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gUmVtb3ZlIGFsbCBjb25maWcuaCBpbmNsdWRlcyBmcm9tIGhlYWRlciBmaWxlcywgYWRkIGl0IHRvIGVhY2ggc291cmNlIGZpbGUgYW5kIHJlbW92ZSBkdXBsaWNhdGUgY29uZmlnLmggaW5jbHVkZXMgZnJvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZW1vdmUgYWxsIGNvbmZpZy5oIGluY2x1ZGVzIGZyb20gaGVhZGVyIGZpbGVzLCBhZGQgaXQgdG8gZWFjaCBzb3VyY2UgZmlsZSBhbmQgcmVtb3ZlIGR1cGxpY2F0ZSBjb25maWcuaCBpbmNsdWRlcyBmcm9tIHNldmVyYWwgc291cmNlIGZpbGVzCgoyMDAzLTExLTAyIDE5OjE3OjI3ICswMDAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQGdub21lLm9yZz4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gZml4IHRvIG5ldyBwbHVnaW4gc3lzdGVtCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggdG8gbmV3IHBsdWdpbiBzeXN0ZW0KCjIwMDMtMTAtMDggMTY6MDg6MTkgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gL0dzdEJ1ZmZlci9Hc3REYXRhLyBpbiB0aGUgQVBJIHdoZXJlIHlvdSBjYW4gcGFzcyBldmVudHMuIEZpeCB0aGUgcGx1Z2lucyB0byBkZWFsIHdpdGggdGhhdC4gRml4ZXMgIzExMzQ4OC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIC9Hc3RCdWZmZXIvR3N0RGF0YS8gaW4gdGhlIEFQSSB3aGVyZSB5b3UgY2FuIHBhc3MgZXZlbnRzLiBGaXggdGhlIHBsdWdpbnMgdG8gZGVhbCB3aXRoIHRoYXQuIEZpeGVzICMxMTM0ODguCgoyMDAzLTA4LTEwIDAwOjAxOjU4ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkgIFtNT1ZFRCBGUk9NIEJBRF0gUmVtb3ZlIHJlZHVuZGFudCBwbHVnaW5kaXIgZGVmaW5pdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVtb3ZlIHJlZHVuZGFudCBwbHVnaW5kaXIgZGVmaW5pdGlvbgoKMjAwMy0wNy0wNiAyMDo0OTo1MiArMDAwMCAgUm9uYWxkIFMuIEJ1bHRqZSA8cmJ1bHRqZUByb25hbGQuYml0ZnJlYWsubmV0PgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuaDoKCSAgW01PVkVEIEZST00gQkFEXSBOZXcgbWltZXR5cGVzIGdvbmUgaW50byBlZmZlY3QgdG9kYXkgLSB0aGlzIGNvbW1pdCBjaGFuZ2VzIGFsbCBvbGQgbWltZXR5cGVzIG92ZXIgdG8gdGhlIG5ldyBtaW1ldHlwZXMgc3BlYyBhcyBkZXNjcmkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE5ldyBtaW1ldHlwZXMgZ29uZSBpbnRvIGVmZmVjdCB0b2RheSAtIHRoaXMgY29tbWl0IGNoYW5nZXMgYWxsIG9sZCBtaW1ldHlwZXMgb3ZlciB0byB0aGUgbmV3IG1pbWV0eXBlcyBzcGVjIGFzIGRlc2NyaWJlZCBpbiB0aGUgcHJldmlvdXMgY29tbWl0J3MgZG9jdW1lbnQuIE5vdGU6IHNvbWUgcGx1Z2lucyB3aWxsIGJyZWFrLCBzb21lIHBpcGVsaW5lcyB3aWxsIGJyZWFrLCBleHBlY3QgSEVBRCB0byBiZSBicm9rZW4gb3IgYXQgbGVhc3Qgbm90IDEwMCUgd29ya2luZyBmb3IgYSBmZXcgZGF5cywgYnV0IGRvbid0IGZvcmdldCB0byByZXBvcnQgYnVncwoKMjAwMy0wNi0yOSAxOTo0NjoxMyArMDAwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUBnbm9tZS5vcmc+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBbTU9WRUQgRlJPTSBCQURdIGNvbXBhdGliaWxpdHkgZml4IGZvciBuZXcgR1NUX0RFQlVHIHN0dWZmLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY29tcGF0aWJpbGl0eSBmaXggZm9yIG5ldyBHU1RfREVCVUcgc3R1ZmYuCgkgIEluY2x1ZGVzIGZpeGVzIGZvciBtaXNzaW5nIGluY2x1ZGVzIGZvciBjb25maWcuaCBhbmQgdW5pc3RkLmgKCSAgSSBvbmx5IGVuc3VyZWQgZm9yIHBsdWdpbnMgSSBjYW4gYnVpbGQgdGhhdCB0aGV5IHdvcmssIHNvIGlmIHNvbWUgb2YgdGhlbSBhcmUgc3RpbGwgYnJva2VuLCB5b3UgZ290dGEgZml4IHRoZW0geW91cnNlbHZlcyB1bmZvcnR1bmF0ZWx5LgoKMjAwMy0wMS0xMCAxMzozODozMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBbTU9WRUQgRlJPTSBCQURdIFBhZENvbm5lY3QgLT4gUGFkTGluawoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGFkQ29ubmVjdCAtPiBQYWRMaW5rCgoyMDAzLTAxLTEwIDEwOjIyOjI1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gYW5vdGhlciBiYXRjaCBvZiBjb25uZWN0LT5saW5rIGZpeGVzIHBsZWFzZSBsZXQgbWUga25vdyBhYm91dCBpc3N1ZXMgYW5kIHBsZWFzZSByZWZyYWluIG9mIG1ha2luZyB0aGVtIHlvdXJzZWxmLCBzbyB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhbm90aGVyIGJhdGNoIG9mIGNvbm5lY3QtPmxpbmsgZml4ZXMKCSAgcGxlYXNlIGxldCBtZSBrbm93IGFib3V0IGlzc3VlcwoJICBhbmQgcGxlYXNlIHJlZnJhaW4gb2YgbWFraW5nIHRoZW0geW91cnNlbGYsIHNvIHRoYXQgSSBkb24ndCBzcGVuZCBkb3VibGUKCSAgdGhlIHRpbWUgcmVzb2x2aW5nIGNvbmZsaWN0cwoKMjAwMi0xMi0wOCAxNDo1MDoxMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJICBbTU9WRUQgRlJPTSBCQURdIHBhcmFsbGVsIGluc3RhbGwgZml4ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhcmFsbGVsIGluc3RhbGwgZml4ZXMKCjIwMDItMDktMTggMTk6MDI6NTIgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gcGx1Z2lucyBwYXJ0IG9mIGxpY2Vuc2UgZmllbGQgcGF0Y2gKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBsdWdpbnMgcGFydCBvZiBsaWNlbnNlIGZpZWxkIHBhdGNoCgoyMDAyLTA2LTE3IDEwOjI5OjMwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkgIFtNT1ZFRCBGUk9NIEJBRF0gY29zbWV0aWMgY2hhbmdlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjb3NtZXRpYyBjaGFuZ2UKCjIwMDItMDUtMDMgMDk6NTk6MTAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgW01PVkVEIEZST00gQkFEXSB2YXJpb3VzIG5hbWUgZml4ZXMgYW5kIHN1bmRyeQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdmFyaW91cyBuYW1lIGZpeGVzIGFuZCBzdW5kcnkKCjIwMDItMDQtMjAgMjE6NDI6NTEgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gYSBoYWNrIHRvIHdvcmsgYXJvdW5kIGludGx0b29sJ3MgYnJva2VubmVzcyBhIGN1cnJlbnQgY2hlY2sgZm9yIG1wZWcyZGVjIGRldGFpbHMtPmtsYXNzIHJlb3JnYW5pemF0aW9ucyBhbiBlbGVtZW50IGJyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGEgaGFjayB0byB3b3JrIGFyb3VuZCBpbnRsdG9vbCdzIGJyb2tlbm5lc3MKCSAgKiBhIGN1cnJlbnQgY2hlY2sgZm9yIG1wZWcyZGVjCgkgICogZGV0YWlscy0+a2xhc3MgcmVvcmdhbml6YXRpb25zCgkgICogYW4gZWxlbWVudCBicm93c2VyIHRoYXQgdXNlcyBkZXRhaWxzLT5rbGFzcwoJICAqIHNlcGFyYXRlZCBjZHhhIHBhcnNlIG91dCBmcm9tIHRoZSBhdmkgZGlyZWN0b3J5CgoyMDAyLTA0LTExIDIwOjQyOjI2ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBbTU9WRUQgRlJPTSBCQURdIEdzdFBhZFRlbXBsYXRlIDwtPiBnc3RfcGFkX3RlbXBsYXRlIDwtPiBHU1RfUEFEX1RFTVBMQVRFIHNhbWUgd2l0aCAqZmFjdG9yeSBhbmQgdHlwZWZpbmQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBHc3RQYWRUZW1wbGF0ZSA8LT4gZ3N0X3BhZF90ZW1wbGF0ZSA8LT4gR1NUX1BBRF9URU1QTEFURQoJICBzYW1lIHdpdGggKmZhY3RvcnkgYW5kIHR5cGVmaW5kLgoJICBhbHNvLCBzb21lIC1XZXJyb3IgZml4ZXMuCgoyMDAyLTAzLTMwIDE3OjA2OjI2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgW01PVkVEIEZST00gQkFEXSBDaGFuZ2VkIHRvIHRoZSBuZXcgcHJvcHMgQVBJCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDaGFuZ2VkIHRvIHRoZSBuZXcgcHJvcHMgQVBJCgkgIE90aGVyIHNtYWxsIHR1ZmYuCgoyMDAyLTAzLTIwIDIxOjQ1OjA0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5oOgoJICBbTU9WRUQgRlJPTSBCQURdIHMvR25vbWUtU3RyZWFtZXIvR1N0cmVhbWVyLwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcy9Hbm9tZS1TdHJlYW1lci9HU3RyZWFtZXIvCgoyMDAyLTAzLTE5IDA0OjEwOjA2ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5oOgoJICBbTU9WRUQgRlJPTSBCQURdIHJlbW92YWwgb2YgLy8tc3R5bGUgY29tbWVudHMgZG9uJ3QgbGluayBwbHVnaW5zIHRvIGNvcmUgbGlicyAtLSB0aGUgdmVyc2lvbmluZyBpcyBkb25lIGludGVybmFsbHkgdG8gdGhlIHBsdWdpbnMgd2l0aC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiByZW1vdmFsIG9mIC8vLXN0eWxlIGNvbW1lbnRzCgkgICogZG9uJ3QgbGluayBwbHVnaW5zIHRvIGNvcmUgbGlicyAtLSB0aGUgdmVyc2lvbmluZyBpcyBkb25lIGludGVybmFsbHkgdG8gdGhlIHBsdWdpbnMgd2l0aCB0aGUgcGx1Z2luX2luZm8gc3RydWN0LAoJICBhbmQgc3ltYm9sIHJlc29sdXRpb24gaXMgbGF6eSwgc28gd2UgY2FuIGFsd2F5cyBrbm93IGlmIGEgcGx1Z2luIGNhbiBiZSBsb2FkZWQgYnkgdGhlIHBsdWdpbl9pbmZvIGRhdGEuIGluIHRoZW9yeS4KCjIwMDItMDMtMTkgMDE6Mzk6NDMgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkgIFtNT1ZFRCBGUk9NIEJBRF0gcy9AR1NUX1BMVUdJTl9MREZMQUdTQC8kKEdTVF9QTFVHSU5fTERGTEFHUykvIEAtc3Vic3RpdHVlZCB2YXJpYWJsZXMgdmFyaWFibGVzIGFyZSBkZWZpbmVkIGFzIG1ha2UgdmFyaWFibGVzIGF1dG9tYWdpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzL0BHU1RfUExVR0lOX0xERkxBR1NALyQoR1NUX1BMVUdJTl9MREZMQUdTKS8KCSAgQC1zdWJzdGl0dWVkIHZhcmlhYmxlcyB2YXJpYWJsZXMgYXJlIGRlZmluZWQgYXMgbWFrZSB2YXJpYWJsZXMgYXV0b21hZ2ljYWxseSwKCSAgYW5kIHRoaXMgZ2l2ZXMgdGhlIHVzZXIgdGhlIGZyZWVkb20gdG8gc2F5IG1ha2UgR1NUX1BMVUdJTl9MREZMQUdTPS1teWZsYWcKCjIwMDItMDEtMTggMTE6Mzc6MTkgKzAwMDAgIFdyb2JlbGwgPHdyb2JlbGxAaXRlLnBsPgoKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgW01PVkVEIEZST00gQkFEXSAtIHBsdWdpbnMgYXJlIGJ1aWx0IHdpdGhvdXQgdmVyc2lvbmluZyBpbmZvCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAtIHBsdWdpbnMgYXJlIGJ1aWx0IHdpdGhvdXQgdmVyc2lvbmluZyBpbmZvCgoyMDAyLTAxLTEzIDIyOjI3OjI1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgW01PVkVEIEZST00gQkFEXSBCcmluZyB0aGUgcGx1Z2lucyBpbiBzeW5jIHdpdGggdGhlIG5ldyBjb3JlIGNhcHNuZWdvIHN5c3RlbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJyaW5nIHRoZSBwbHVnaW5zIGluIHN5bmMgd2l0aCB0aGUgbmV3IGNvcmUgY2Fwc25lZ28gc3lzdGVtLgoJICBBZGRlZCBzb21lIGZlYXR1cmVzLCBlbmhhbmNlbWVudHMuLi4KCjIwMDItMDEtMTIgMDM6MzQ6MjcgKzAwMDAgIERhdmlkIEkuIExlaG4gPGRsZWhuQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkgIFtNT1ZFRCBGUk9NIEJBRF0gcy9maWx0ZXIvcGx1Z2luLyBsaW5rIHBsdWdpbnMgdG8gR1NUX0xJQlMgcmVhcnJhbmdlIHJ1bGVzIHRvIGEgY29tbW9uIGZvcm1hdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzL2ZpbHRlci9wbHVnaW4vCgkgICogbGluayBwbHVnaW5zIHRvIEdTVF9MSUJTCgkgICogcmVhcnJhbmdlIHJ1bGVzIHRvIGEgY29tbW9uIGZvcm1hdAoKMjAwMS0xMi0yMyAyMDoyMToyMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBbTU9WRUQgRlJPTSBCQURdIG1vcmUgZml4ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG1vcmUgZml4ZXMKCjIwMDEtMTItMjMgMTM6MTc6MzYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuaDoKCSAgW01PVkVEIEZST00gQkFEXSBCQkIgYXNrZWQgbWUgdG8gcmVuYW1lIGxhdiB0byB5NG0gY2FuIHNvbWVvbmUgd2hvIGtub3dzIHRoZSBwbHVnaW4gZG8gdGhpcyBpbiB0aGUgc291cmNlIGFzIHdlbGwgPwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQkJCIGFza2VkIG1lIHRvIHJlbmFtZSBsYXYgdG8geTRtCgkgIGNhbiBzb21lb25lIHdobyBrbm93cyB0aGUgcGx1Z2luIGRvIHRoaXMgaW4gdGhlIHNvdXJjZSBhcyB3ZWxsID8KCjIwMDktMDUtMTUgMTg6MTc6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vTWFrZXZhcnM6CgkgIHBvOiBhZGQgTWFrZXZhcnMgbWFnaWMgc28gd2UgZG9uJ3QgZ2V0IGxpbmUgbnVtYmVycyBpbiAqLnBvIGZpbGVzCgkgIFRoaXMgYXZvaWRzIHRoZSBudW1iZXIgb25lIHJlYXNvbiBmb3IgbG9jYWwgbW9kaWZpY2F0aW9ucyBpbiAqLnBvCgkgIGZpbGVzIGFuZCBhbmQgbWFrZXMgdGhpbmdzIGxlc3MgYW5ub3lpbmcgd2hlbiB3b3JraW5nIHdpdGggZ2l0IChvcgoJICBhbnkgb3RoZXIgVkNTIGZvciB0aGF0IG1hdHRlcikuCgoyMDA5LTA1LTE1IDE3OjExOjI3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDNkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZmxhY2RlYy5jOgoJKiB0ZXN0cy9maWxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZmlsZXMvYXVkaW90ZXN0c3JjLmZsYWM6CgkqIHRlc3RzL2ZpbGVzL3Rlc3QtY2VydC5wZW06CgkqIHRlc3RzL2ZpbGVzL3Rlc3Qta2V5LnBlbToKCSAgY2hlY2tzOiBtb3ZlIGZpbGVzIHJlcXVpcmVkIGJ5IHVuaXQgdGVzdHMgaW50byB0ZXN0cy9maWxlcyBhbmQgbWFrZSBzdXJlIHRoZXkncmUgZGlzdGVkCgkgIE1vdmUgdW5pdCB0ZXN0IGRhdGEgaW50byB0aGUgZGlyZWN0b3J5IHdoZXJlIGl0IGJlbG9uZ3MgYW5kIG1ha2UgaW4gcGFydGljdWxhcgoJICB0aGUgZmxhY2RlYyB1bml0IHRlc3QgY2QgaW50byB0aGUgZGlyZWN0b3J5IHdpdGggdGhlIHRlc3QgZmlsZXMgaW5zdGVhZCBvZiBtYWtpbmcKCSAgYXNzdW1wdGlvbnMgYWJvdXQgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkgaW4gdGhhdCB1bml0IHRlc3QuIEFzIGEgc2lkZSBlZmZlY3QKCSAgb2YgbW92bmcgdGhvc2UgZmlsZXMsIHRoZXJlJ3Mgb25seSBvbmUgRVhUUkFfRElTVCBpbiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbSBub3csCgkgIHdoaWNoIGlzIGxpa2VseSB0byB3b3JrIGJldHRlciB0aGFuIGhhdmluZyB0d28uIEhvcGVmdWxseSBmaXhlcyAjNTgyNzUzLgoKMjAwOS0wNS0xNCAyMTo0MzoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IElmIHRoZSB1cHN0cmVhbSBtYXggbGF0ZW5jeSBpcyB1bmJvdW5kIHJldHVybiB1bmJvdW5kIG1heCBsYXRlbmN5CgkgIEZpeGVzIGJ1ZyAjNTgyNjYxLgoKMjAwOS0wNS0xNSAwODo0NDozOSArMDIwMCAgSmFtZXMgQW5kcmV3YXJ0aGEgPHRyczgwQHVjYy5ndS51d2EuZWR1LmF1PgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVydHJhY2suYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzCgkgIEZpeGVzIGJ1ZyAjNTgyNzE1LgoKMjAwOS0wNS0xMyAyMjo0Njo0NCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBSZWNvdmVyZWQgZGVidWd1dGlscyBsaW5lIGFjY2lkZW50YWxseSByZW1vdmVkIGluIGRlaW50ZXJsYWNlMiBtb3ZlLgoKMjAwOS0wNS0xMyAxMDo0Njo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGdzdC9kZWludGVybGFjZS9NYWtlZmlsZS5hbToKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYXNtOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHlobWFjcm9zLmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyYmxlbmQuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9tbXguaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9wbHVnaW5zLmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvc2NhbGVyYm9iLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvc3NlLmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcDBBLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BCb3R0b20uaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEVkZ2VBLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BFZGdlQTguaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEEuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEEyLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBNi5pbmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQUguaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEFIMi5pbmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVG9wLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BWQS5pbmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVkFILmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1N0cmFuZ2VCb2IuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsMi5pbmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9XaWVyZEJvYi5pbmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC90b21zbW9jb21wbWFjcm9zLmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdmZpci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmViZmYuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZXRmZi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3g4Ni02NF9tYWNyb3MuaW5jOgoJICBNb3ZlZCAnZGVpbnRlcmxhY2UyJyBmcm9tIC1iYWQgdG8gLWdvb2QKCSAgQW5kIHJlbmFtZSBpdCB0byBkZWludGVybGFjZS4KCjIwMDktMDUtMDggMTU6Mzk6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgW01PVkVEIEZST00gQkFEIDU2LzU2XSBkZWludGVybGFjZTI6IEFkZCBhIGRpc2FibGVkIG1vZGUgZm9yIHBhc3N0aHJvdWdoIG9wZXJhdGlvbgoJICBBbHNvIGFsbG93IHRvIGNoYW5nZSB0aGUgbW9kZSBpbiBQQVVTRUQgYW5kIFBMQVlJTkcgYnkgdXBkYXRpbmcKCSAgdGhlIGNhcHMgaWYgbmVjZXNzYXJ5LgoKMjAwOS0wNC0yMiAxOTo0MzoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICBbTU9WRUQgRlJPTSBCQUQgNTUvNTZdIGRlaW50ZXJsYWNlMjogQWRkIGRvY3VtZW50YXRpb24gYW5kIGludGVncmF0ZSBpbnRvIHRoZSBidWlsZCBzeXN0ZW0KCjIwMDktMDQtMTkgMTc6MTg6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgW01PVkVEIEZST00gQkFEIDU0LzU2XSBkZWludGVybGFjZTI6IE1ha2UgaXQgcG9zc2libGUgdG8gc2VsZWN0IGludGVybGFjaW5nIGF1dG9kZXRlY3Rpb24gb3IgdG8gZW5mb3JlIGRlaW50ZXJsYWNpbmcKCSAgRm9yIHRoaXMgYWRkIGEgIm1vZGUiIHByb3BlcnR5IHRoYXQgZGVmYXVsdHMgdG8gImludGVybGFjZWQiIGZvciBub3cgYXMKCSAgbW9zdCBkZWNvZGVycy9kZW11eGVycyBkb24ndCBwcm9wZXJseSBzZXQgdGhlICJpbnRlcmxhY2VkIiBmaWVsZCBvbiB0aGUKCSAgY2FwcyB5ZXQuCgkgIElmIHRoaXMgcHJvcGVydHkgaXMgc2V0IHRvICJhdXRvIiB0aGUgZWxlbWVudCB3aWxsIHdvcmsgaW4gcGFzc3Rocm91Z2gKCSAgbW9kZSB1bmxlc3MgdGhlIGNhcHMgY29udGFpbiB0aGUgImludGVybGFjZWQiIGZpZWxkLgoKMjAwOS0wNC0xNyAxNTozOTo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICBbTU9WRUQgRlJPTSBCQUQgNTMvNTZdIGRlaW50ZXJsYWNlMjogVXNlIEdTVF8oREVCVUd8V0FSTklOR3xFUlJPUilfT0JKRUNUIGluc3RlYWQgb2YgdGhlIG5vbi1PQkpFQ1Qgb25lcwoKMjAwOS0wNC0xNyAxNTozOTozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICBbTU9WRUQgRlJPTSBCQUQgNTIvNTZdIGRlaW50ZXJsYWNlMjogUmVzZXQgaGlzdG9yeSBpZiBESVNDT05UIGlzIHNldCBvbiB0aGUgaW5jb21pbmcgYnVmZmVyCgoyMDA5LTA0LTE3IDE1OjM5OjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCA1MS81Nl0gZGVpbnRlcmxhY2UyOiBGaXggdGltZXN0YW1wcyBmb3IgYnVmZmVycyB3aXRoIFJGRiBmbGFnIHNldAoKMjAwOS0wNC0xNiAxNzo0MTozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zY2FsZXJib2IuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvd2VhdmUuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvd2VhdmViZmYuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvd2VhdmV0ZmYuYzoKCSAgW01PVkVEIEZST00gQkFEIDUwLzU2XSBkZWludGVybGFjZTI6IFJlbmFtZSBsaW5lX2xlbmd0aCB0byByb3dfc3RyaWRlIGFuZCByZW1vdmUgb3V0cHV0X3N0cmlkZQoKMjAwOS0wNC0xNiAxNTo1MjozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICBbTU9WRUQgRlJPTSBCQUQgNDkvNTZdIGRlaW50ZXJsYWNlMjogSW1wbGVtZW50IHN1cHBvcnQgZm9yIFJGRiBhbmQgT05FRklFTEQgYnVmZmVyIGZsYWdzCgoyMDA5LTA0LTE1IDE1OjQ2OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCA0OC81Nl0gZGVpbnRlcmxhY2UyOiBNb3ZlIG91dHB1dCBidWZmZXIgZnJvbSB0aGUgaW5zdGFuY2Ugc3RydWN0IHRvIGEgZnVuY3Rpb24gcGFyYW1ldGVyCgoyMDA5LTA0LTE1IDE1OjMzOjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCA0Ny81Nl0gZGVpbnRlcmxhY2UyOiBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciBhdXRvbWF0aWMgZGV0ZWN0aW9uIG9mIHRoZSBmaWVsZCBvcmRlcgoKMjAwOS0wNC0xNSAxNDo0Nzo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICBbTU9WRUQgRlJPTSBCQUQgNDYvNTZdIGRlaW50ZXJsYWNlMjogQWRkIHN1cHBvcnQgZm9yIFlWWVUgY29sb3JzcGFjZQoJICBUaGlzIGlzIHRoZSBzYW1lIGFzIFlVWTIgd2l0aCBqdXN0IENyIGFuZCBDYiBzd2FwcGVkLiBBcwoJICB3ZSBkb24ndCBtYWtlIGEgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZW0gd2hlbiBkZWludGVybGFjaW5nCgkgIHRoaXMgd29ya3MuCgoyMDA4LTExLTA2IDE0OjA1OjU1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgW01PVkVEIEZST00gQkFEIDQ1LzU2XSBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOiBCcmluZyBwcm9wZXJ0aWVzIGludG8gdGhpcyBjZW50dXJ5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jbGFzc19pbml0KSwgKGdzdF9kZWludGVybGFjZTJfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldF9wcm9wZXJ0eSksIChnc3RfZGVpbnRlcmxhY2UyX2dldF9wcm9wZXJ0eSk6CgkgIEJyaW5nIHByb3BlcnRpZXMgaW50byB0aGlzIGNlbnR1cnkuCgoyMDA4LTExLTA0IDEyOjQyOjMwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQUQgNDQvNTZdIERvbid0IGluc3RhbGwgc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMuIEZpeGVzICM1NTA4NTEgZm9yIC1iYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhc3BkaWYvTWFrZWZpbGUuYW06CgkgICogZXh0L2FtcndiL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hcGV4c2luay9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXJ0cy9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXJ0c2QvTWFrZWZpbGUuYW06CgkgICogZXh0L2F1ZGlvZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvYnoyL01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZGF1ZGlvL01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZWx0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kYzEzOTQvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpcmFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXJlY3RmYi9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGl2eC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZHRzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9mYWFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9mYWFkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9nc20vTWFrZWZpbGUuYW06CgkgICogZXh0L2hlcm1lcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvaXZvcmJpcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvanAyay9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9sY3MvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYmZhbWUvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYm1tcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06CgkgICogZXh0L21wZWcyZW5jL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tcGxleC9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXVzZXBhY2svTWFrZWZpbGUuYW06CgkgICogZXh0L211c2ljYnJhaW56L01ha2VmaWxlLmFtOgoJICAqIGV4dC9teXRodHYvTWFrZWZpbGUuYW06CgkgICogZXh0L25hcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbmVvbi9NYWtlZmlsZS5hbToKCSAgKiBleHQvb2ZhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9wb2x5cC9NYWtlZmlsZS5hbToKCSAgKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkgICogZXh0L3NkbC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc2hvdXQvTWFrZWZpbGUuYW06CgkgICogZXh0L3NuYXBzaG90L01ha2VmaWxlLmFtOgoJICAqIGV4dC9zbmRmaWxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zb3VuZHRvdWNoL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zcGMvTWFrZWZpbGUuYW06CgkgICogZXh0L3N3ZmRlYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFya2luL01ha2VmaWxlLmFtOgoJICAqIGV4dC90aGVvcmEvTWFrZWZpbGUuYW06CgkgICogZXh0L3RpbWlkaXR5L01ha2VmaWxlLmFtOgoJICAqIGV4dC90d29sYW1lL01ha2VmaWxlLmFtOgoJICAqIGV4dC94MjY0L01ha2VmaWxlLmFtOgoJICAqIGV4dC94aW5lL01ha2VmaWxlLmFtOgoJICAqIGV4dC94dmlkL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L01ha2VmaWxlLmFtOgoJICAqIGdzdC9haWZmcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9idWZmZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2JheWVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9jZHhhcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NoYXJ0L01ha2VmaWxlLmFtOgoJICAqIGdzdC9jb2xvcnNwYWNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kY2NwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kdmRzcHUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2Zlc3RpdmFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9maWx0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZsYWNwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJICAqIGdzdC9nYW1lcy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaDI2NHBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06CgkgICogZ3N0L21peG1hdHJpeC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbW9kcGx1Zy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZzFzeXMvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWc0dmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ2RlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVndHNtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L25zZi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbnV2ZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L292ZXJsYXkvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Bhc3N0aHJvdWdoL01ha2VmaWxlLmFtOgoJICAqIGdzdC9wY2FwcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L3BsYXlvbmRlbWFuZC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmF3cGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L3JlYWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0anBlZy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2RwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zZWxlY3Rvci9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc21vb3RoL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zbW9vdGh3YXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVlZC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3RlcmVvL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zdWJlbmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3R0YS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmJpZGVjL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2Ryb3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvc2lnbmFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aXJ0dWFsZHViL01ha2VmaWxlLmFtOgoJICAqIGdzdC92bW5jL01ha2VmaWxlLmFtOgoJICAqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkgICogc3lzL2FjbWVuYy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvY2Ryb20vTWFrZWZpbGUuYW06CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kdmIvTWFrZWZpbGUuYW06CgkgICogc3lzL2R4cjMvTWFrZWZpbGUuYW06CgkgICogc3lzL2ZiZGV2L01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3M0L01ha2VmaWxlLmFtOgoJICAqIHN5cy9xY2FtL01ha2VmaWxlLmFtOgoJICAqIHN5cy9xdHdyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL3ZjZC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvd2luaW5ldC9NYWtlZmlsZS5hbToKCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIERvbid0IGluc3RhbGwgc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMuIEZpeGVzICM1NTA4NTEgZm9yIC1iYWQuCgoyMDA4LTEwLTA5IDE5OjM4OjUyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgNDMvNTZdIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuYzogRml4IHVudXNlZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nIHdoZW4gbm90IGJ1aWxkaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdG9tc21vY29tcF9jbGFzc19pbml0KToKCSAgRml4IHVudXNlZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nIHdoZW4gbm90IGJ1aWxkaW5nCgkgIFg4NiBhc3NlbWJseS4KCjIwMDgtMDgtMjggMTc6MTY6NTEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgW01PVkVEIEZST00gQkFEIDQyLzU2XSBnc3QvZGNjcC86IEZpeCBjb21waWxhdGlvbiBvbiBTb2xhcmlzIGJ5IGluY2x1ZGluZyBmaWxpby5oIGFzIG5lZWRlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcC5jOgoJICAqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzcmMuYzoKCSAgRml4IGNvbXBpbGF0aW9uIG9uIFNvbGFyaXMgYnkgaW5jbHVkaW5nIGZpbGlvLmggYXMgbmVlZGVkLgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsMi5pbmM6CgkgIEZpeCBjb21waWxhdGlvbiB3aXRoIEZvcnRlIC0gYXBwYXJlbnRseSBpdCBoYXRlcyBjb25jYXRlbmF0aW5nIGEKCSAgbWFjcm8gYXJndW1lbnQgdGhhdCBzdGFydHMgd2l0aCBhbiB1bmRlcnNjb3JlPz8KCjIwMDgtMDgtMjYgMTI6MzM6MTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCA0MS81Nl0gZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC86IFVucm9sbCB0aGUgbG9vcCB0byBoYW5kbGUgdHdvIGJ5dGVzIGF0IG9uY2UuIFRoaXMgc2hvdWxkIGdpdmUgYSBzbWFsbCBzcGVlZHVwIGFuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEJvdHRvbS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVG9wLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1N0cmFuZ2VCb2IuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvV2llcmRCb2IuaW5jOgoJICBVbnJvbGwgdGhlIGxvb3AgdG8gaGFuZGxlIHR3byBieXRlcyBhdCBvbmNlLiBUaGlzIHNob3VsZCBnaXZlCgkgIGEgc21hbGwgc3BlZWR1cCBhbmQgbWFrZXMgaXQgcG9zc2libGUgdG8gaGFuZGxlIGNocm9tYSBhbmQgbHVtYQoJICBkaWZmZXJlbnQgd2hpY2ggaXMgbmVlZGVkIGxhdGVyLgoKMjAwOC0wOC0yNSAxNDozNzo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDQwLzU2XSBnc3QvZGVpbnRlcmxhY2UyLzogRmlyc3QgcGFydCBvZiB0aGUgQyBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgdG9tc21vY29tcCBkZWludGVybGFjaW5nIGFsZ29yaXRobS4gVGhpcyBvbmx5IHN1cHBvcnRzIHMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3RvbXNtb2NvbXBfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wQm90dG9tLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BUb3AuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU3RyYW5nZUJvYi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwyLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1dpZXJkQm9iLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL3RvbXNtb2NvbXBtYWNyb3MuaDoKCSAgRmlyc3QgcGFydCBvZiB0aGUgQyBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgdG9tc21vY29tcCBkZWludGVybGFjaW5nCgkgIGFsZ29yaXRobS4gVGhpcyBvbmx5IHN1cHBvcnRzIHNlYXJjaC1lZmZvcnQ9MCBjdXJyZW50bHksIGlzIHBhaW5mdWxseQoJICBzbG93IGFuZCBuZWVkcyBzb21lIGNsZWFudXAgbGF0ZXIgd2hlbiBhbGwgc2VhcmNoLWVmZm9ydCBzZXR0aW5ncwoJICBhcmUgaW1wbGVtZW50ZWQgaW4gQy4KCjIwMDgtMDgtMDIgMTg6NDg6MTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAzOS81Nl0gZ3N0L2RlaW50ZXJsYWNlMi86IFVzZSBvaWxfbWVtY3B5KCkgaW5zdGVhZCBvZiBtZW1jcHkoKSBhcyBpdCdzIGZhc3RlciBmb3IgdGhlIHNpemVzIHRoYXQgYXJlIHVzdWFsbHkgdXNlZCBoZXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX3NpbXBsZV9tZXRob2RfaW50ZXJwb2xhdGVfc2NhbmxpbmUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX3NpbXBsZV9tZXRob2RfY29weV9zY2FubGluZSksCgkgIChnc3RfZGVpbnRlcmxhY2Vfc2ltcGxlX21ldGhvZF9kZWludGVybGFjZV9mcmFtZSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6IChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHkpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX2dyZWVkeWgpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NjYWxlcmJvYi5jOgoJICAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfc2NhbGVyX2JvYik6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOiAoRmllbGRjb3B5KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZS5jOiAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfd2VhdmUpLAoJICAoY29weV9zY2FubGluZSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvd2VhdmViZmYuYzogKGRlaW50ZXJsYWNlX3NjYW5saW5lX3dlYXZlKSwKCSAgKGNvcHlfc2NhbmxpbmUpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZldGZmLmM6IChkZWludGVybGFjZV9zY2FubGluZV93ZWF2ZSksCgkgIChjb3B5X3NjYW5saW5lKToKCSAgVXNlIG9pbF9tZW1jcHkoKSBpbnN0ZWFkIG9mIG1lbWNweSgpIGFzIGl0J3MgZmFzdGVyIGZvciB0aGUgc2l6ZXMgdGhhdAoJICBhcmUgdXN1YWxseSB1c2VkIGhlcmUuCgoyMDA4LTA4LTAyIDE4OjM2OjExICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMzgvNTZdIGdzdC9kZWludGVybGFjZTIvOiBBZGQgdGhlIHJlbWFpbmluZyB0dnRpbWUgZGVpbnRlcmxhY2luZyBtZXRob2RzIGFuZCBmaXggdGhlIGRlaW50ZXJsYWNlX2ZyYW1lKCkgaW1wbGVtZW50YXRpb24gb2YgRy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2Vfc2ltcGxlX21ldGhvZF9kZWludGVybGFjZV9mcmFtZSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX21ldGhvZHNfZ2V0X3R5cGUpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfbWV0aG9kKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2xpbmVhci5jOgoJICAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfbGluZWFyX2MpLCAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfbGluZWFyX21teCksCgkgIChkZWludGVybGFjZV9zY2FubGluZV9saW5lYXJfbW14ZXh0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfbGluZWFyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9saW5lYXJfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvbGluZWFyYmxlbmQuYzoKCSAgKGRlaW50ZXJsYWNlX3NjYW5saW5lX2xpbmVhcl9ibGVuZF9jKSwKCSAgKGRlaW50ZXJsYWNlX3NjYW5saW5lX2xpbmVhcl9ibGVuZDJfYyksCgkgIChkZWludGVybGFjZV9zY2FubGluZV9saW5lYXJfYmxlbmRfbW14KSwKCSAgKGRlaW50ZXJsYWNlX3NjYW5saW5lX2xpbmVhcl9ibGVuZDJfbW14KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfbGluZWFyX2JsZW5kX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9saW5lYXJfYmxlbmRfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvcGx1Z2lucy5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NjYWxlcmJvYi5jOgoJICAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfc2NhbGVyX2JvYiksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3NjYWxlcl9ib2JfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3NjYWxlcl9ib2JfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvd2VhdmUuYzogKGRlaW50ZXJsYWNlX3NjYW5saW5lX3dlYXZlKSwKCSAgKGNvcHlfc2NhbmxpbmUpLCAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF93ZWF2ZV9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2Rfd2VhdmVfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvd2VhdmViZmYuYzogKGRlaW50ZXJsYWNlX3NjYW5saW5lX3dlYXZlKSwKCSAgKGNvcHlfc2NhbmxpbmUpLCAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF93ZWF2ZV9iZmZfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3dlYXZlX2JmZl9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZXRmZi5jOiAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfd2VhdmUpLAoJICAoY29weV9zY2FubGluZSksIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3dlYXZlX3RmZl9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2Rfd2VhdmVfdGZmX2luaXQpOgoJICBBZGQgdGhlIHJlbWFpbmluZyB0dnRpbWUgZGVpbnRlcmxhY2luZyBtZXRob2RzIGFuZCBmaXggdGhlCgkgIGRlaW50ZXJsYWNlX2ZyYW1lKCkgaW1wbGVtZW50YXRpb24gb2YgR3N0RGVpbnRlcmxhY2VTaW1wbGVNZXRob2QuCgoyMDA4LTA4LTAyIDE4OjMwOjU2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMzcvNTZdIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzogSW1wbGVtZW50IHRoZSBWRklSIGRlaW50ZXJsYWNpbmcgbWV0aG9kIGFzIHNpbXBsZSBtZXRob2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzogKGRlaW50ZXJsYWNlX2xpbmVfYyksCgkgIChkZWludGVybGFjZV9saW5lX21teCksIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3ZmaXJfY2xhc3NfaW5pdCk6CgkgIEltcGxlbWVudCB0aGUgVkZJUiBkZWludGVybGFjaW5nIG1ldGhvZCBhcyBzaW1wbGUgbWV0aG9kLgoKMjAwOC0wOC0wMiAxODoxODo1NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDM2LzU2XSBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi4qOiBBZGQgYSBHc3REZWludGVybGFjZVNpbXBsZU1ldGhvZCBzdWJjbGFzcyBvZiBHc3REZWludGVybGFjZU1ldGhvZCB0aGF0IGNhbiBiZSB1c2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZV9zaW1wbGVfbWV0aG9kX2ludGVycG9sYXRlX3NjYW5saW5lKSwKCSAgKGdzdF9kZWludGVybGFjZV9zaW1wbGVfbWV0aG9kX2NvcHlfc2NhbmxpbmUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX3NpbXBsZV9tZXRob2RfZGVpbnRlcmxhY2VfZnJhbWUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX3NpbXBsZV9tZXRob2RfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2Vfc2ltcGxlX21ldGhvZF9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICBBZGQgYSBHc3REZWludGVybGFjZVNpbXBsZU1ldGhvZCBzdWJjbGFzcyBvZiBHc3REZWludGVybGFjZU1ldGhvZCB0aGF0CgkgIGNhbiBiZSB1c2VkIGJ5IHNpbXBsZSBkZWludGVybGFjaW5nIG1ldGhvZHMuIFRoZXkgb25seSBoYXZlIHRvIHByb3ZpZGUKCSAgYSBmdW5jdGlvbiBmb3IgaW50ZXJwb2xhdGluZyBhIHNjYW5saW5lIG9yIGNvcHlpbmcgYSBzY2FubGluZS4KCjIwMDgtMDgtMDIgMTg6MTU6NDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAzNS81Nl0gZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzogUmVzcGVjdCB0aGUgbGF0ZW5jeSBvZiB0aGUgZGVpbnRlcmxhY2luZyBhbGdvcml0aG0gZm9yIHRoZSB0aW1lc3RhbXBzIG9mIGV2ZXJ5IGJ1Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6IChnc3RfZGVpbnRlcmxhY2UyX2NoYWluKToKCSAgUmVzcGVjdCB0aGUgbGF0ZW5jeSBvZiB0aGUgZGVpbnRlcmxhY2luZyBhbGdvcml0aG0gZm9yIHRoZSB0aW1lc3RhbXBzCgkgIG9mIGV2ZXJ5IGJ1ZmZlci4KCjIwMDgtMDgtMDIgMTg6MTM6MjAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAzNC81Nl0gZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvOiBBZGQgdGhlIE1NWCByZWdpc3RlcnMgdG8gdGhlIGNsb2JiZXJlZCByZWdpc3RlcnMgb25seSBpZiBfX01NWF9fIGlzIGRlZmluZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEJvdHRvbS5pbmM6CgkgIEFkZCB0aGUgTU1YIHJlZ2lzdGVycyB0byB0aGUgY2xvYmJlcmVkIHJlZ2lzdGVycyBvbmx5IGlmIF9fTU1YX18gaXMKCSAgZGVmaW5lZC4KCjIwMDgtMDgtMDIgMTg6MDk6NTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAzMy81Nl0gZ3N0L2RlaW50ZXJsYWNlMi86IEVuYWJsZSB0b21zbW9jb21wIGFnYWluIGFzIHRoZSBDIHBvcnQgd2lsbCBiZSByZWFkeSBmb3IgdGhlIG5leHQgcmVsZWFzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlMl9tZXRob2RzX2dldF90eXBlKSwgKGdzdF9kZWludGVybGFjZTJfc2V0X21ldGhvZCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2NsYXNzX2luaXQpOgoJICBFbmFibGUgdG9tc21vY29tcCBhZ2FpbiBhcyB0aGUgQyBwb3J0IHdpbGwgYmUgcmVhZHkgZm9yIHRoZSBuZXh0CgkgIHJlbGVhc2UuCgoyMDA4LTA4LTAyIDE4OjAyOjQ0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMzIvNTZdIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6IERvbid0IHVzZSBwcm94eV9nZXRjYXBzKCkgYnV0IGltcGxlbWVudCBvdXIgb3duIGdldGNhcHMoKSBmdW5jdGlvbiB0aGF0IGRvdWJsZXMvaC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOiAoZ3N0X2RlaW50ZXJsYWNlMl9pbml0KSwKCSAgKGdzdF9ncmVhdGVzdF9jb21tb25fZGl2aXNvciksIChnc3RfZnJhY3Rpb25fZG91YmxlKSwKCSAgKGdzdF9kZWludGVybGFjZTJfZ2V0Y2FwcyksIChnc3RfZGVpbnRlcmxhY2UyX3NldGNhcHMpOgoJICBEb24ndCB1c2UgcHJveHlfZ2V0Y2FwcygpIGJ1dCBpbXBsZW1lbnQgb3VyIG93biBnZXRjYXBzKCkgZnVuY3Rpb24KCSAgdGhhdCBkb3VibGVzL2hhbGZzIHRoZSBmcmFtZXJhdGUgaWYgYWxsIGZpZWxkcyBzaG91bGQgYmUgc2VudCBvdXQuCgoyMDA4LTA3LTE4IDA4OjM0OjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMzEvNTZdIERpc2FibGUgdGhlIHRvbXNtb2NvbXAgYWxnb3JpdGhtIGZvciB0aGlzIHJlbGVhc2UgYXMgaXQncyBidWdneSBhbmQgaGFzIG5vIEMgaW1wbGVtZW50YXRpb24geWV0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlMl9tZXRob2RzX2dldF90eXBlKSwgKGdzdF9kZWludGVybGFjZTJfc2V0X21ldGhvZCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2NsYXNzX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlMl9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfbF9jbGFzc19pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9oX2NsYXNzX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdmZpcl9jbGFzc19pbml0KToKCSAgRGlzYWJsZSB0aGUgdG9tc21vY29tcCBhbGdvcml0aG0gZm9yIHRoaXMgcmVsZWFzZSBhcyBpdCdzIGJ1Z2d5CgkgIGFuZCBoYXMgbm8gQyBpbXBsZW1lbnRhdGlvbiB5ZXQuCgkgIEJ1aWxkIHRoZSBkZWludGVybGFjZTIgcGx1Z2luIG9uIGFsbCBhcmNoaXRlY3R1cmVzIGJ1dCBzdGlsbCBtYXJrIGl0CgkgIGFzIGV4cGVyaW1lbnRhbC4KCSAgQnVpbGQgdGhlIHg4NiBpbmxpbmUgYXNzZW1ibHkgb25seSBpZiBHQ0MgaW5saW5lIGFzc2VtYmx5IGlzIHN1cHBvcnRlZAoJICBhbmQgb25seSBvbiB4ODYgb3IgYW1kNjQuIEZpeGVzIGJ1ZyAjNTQzMjg2LgoKMjAwOC0wNy0xNCAxNDoxMzo1NCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAzMC81Nl0gZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvOiBGaXggYnVpbGQgb24geDg2XzY0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfbF9jbGFzc19pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9oX2NsYXNzX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdmZpcl9jbGFzc19pbml0KToKCSAgRml4IGJ1aWxkIG9uIHg4Nl82NAoKMjAwOC0wNy0xMyAxMDo1Njo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDI5LzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbTogQWx3YXlzIHVzZSB0aGUgQyBpbXBsZW1lbnRhdGlvbiBpZiB3aWR0aCBpcyBub3QgYSBtdWx0aXBsZSBvZiA0LiBUaGUgYXNzZW1ibHkgb3AuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206CgkgIEFsd2F5cyB1c2UgdGhlIEMgaW1wbGVtZW50YXRpb24gaWYgd2lkdGggaXMgbm90IGEgbXVsdGlwbGUgb2YgNC4gVGhlCgkgIGFzc2VtYmx5IG9wdGltaXplZCB2ZXJzaW9uIG9ubHkgaGFuZGxlIHRoaXMgYW5kIGNhbGxpbmcgdGhlIEMKCSAgaW1wbGVtZW50YXRpb24gZm9yIHRoZSByZW1haW5pbmcgcGFydCBkb2Vzbid0IHdvcmsgYmVjYXVzZSBpdCBuZWVkcwoJICBwcmV2aW91cyBjYWxjdWxhdGlvbnMuCgoyMDA4LTA3LTEzIDEwOjUyOjAzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMjgvNTZdIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lLzogU29tZSBjbGVhbnVwLCB1c2UgM0ROT1cgaW5zdGVhZCBvZiBURE5PVyBpbiBtYWNyb3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHlobWFjcm9zLmg6CgkgIFNvbWUgY2xlYW51cCwgdXNlIDNETk9XIGluc3RlYWQgb2YgVEROT1cgaW4gbWFjcm9zLgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdG9tc21vY29tcF9jbGFzc19pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvdG9tc21vY29tcG1hY3Jvcy5oOgoJICBUaGUgU1NFIG1ldGhvZCBpbiBmYWN0IG9ubHkgbmVlZHMgTU1YRVhULCBkZWNsYXJlIGl0IGFzIHN1Y2guCgoyMDA4LTA3LTA4IDEzOjMxOjM3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMjcvNTZdIERvbid0IHVzZSBkZWNsYXJhdGlvbnMgYWZ0ZXIgc3RhdGVtZW50cyBpbiB0aGUgcmVtYWluaW5nIGNvZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGMvZ3N0c3BjLmM6IChzcGNfc2V0dXApOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFRvcC5pbmM6CgkgIERvbid0IHVzZSBkZWNsYXJhdGlvbnMgYWZ0ZXIgc3RhdGVtZW50cyBpbiB0aGUgcmVtYWluaW5nIGNvZGUuCgoyMDA4LTA3LTA2IDIwOjQzOjU4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMjYvNTZdIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbDIuaW5jOiBNYXJrIGludGVybmFsIHByb2Nlc3NpbmcgZnVuY3Rpb25zIGFzIHN0YXRpYyBpbmxpbmUgZm9yIHF1aXRlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwyLmluYzoKCSAgTWFyayBpbnRlcm5hbCBwcm9jZXNzaW5nIGZ1bmN0aW9ucyBhcyBzdGF0aWMgaW5saW5lIGZvciBxdWl0ZSBzb21lCgkgIHNwZWVkdXAgYXMgdGhleSdyZSB1c2VkIG9ubHkgb25jZSBhbmQgbmVlZCB0byBnZXQgbWFueSBsb2NhbCB2YXJpYWJsZXMKCSAgcGFzc2VkIGFzIHBhcmFtZXRlci4KCjIwMDgtMDctMDUgMTk6MjA6MzAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAyNS81Nl0gZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuKjogQ2FsbCB0aGUgY3VycmVudCBpbnN0YW5jZSAic2VsZiIgaW5zdGVhZCBvZiAib2JqZWN0Ii4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZGVpbnRlcmxhY2VfZnJhbWUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfbWV0aG9kKSwgKGdzdF9kZWludGVybGFjZTJfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3Jlc2V0X2hpc3RvcnkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9yZXNldCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldF9wcm9wZXJ0eSksIChnc3RfZGVpbnRlcmxhY2UyX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3BvcF9oaXN0b3J5KSwgKGdzdF9kZWludGVybGFjZTJfaGVhZF9oaXN0b3J5KSwKCSAgKGdzdF9kZWludGVybGFjZTJfcHVzaF9oaXN0b3J5KSwgKGdzdF9kZWludGVybGFjZTJfY2hhaW4pLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRjYXBzKSwgKGdzdF9kZWludGVybGFjZTJfc2lua19ldmVudCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2NoYW5nZV9zdGF0ZSksIChnc3RfZGVpbnRlcmxhY2UyX3NyY19ldmVudCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NyY19xdWVyeSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgQ2FsbCB0aGUgY3VycmVudCBpbnN0YW5jZSAic2VsZiIgaW5zdGVhZCBvZiAib2JqZWN0Ii4KCjIwMDgtMDctMDUgMTk6MTE6NTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAyNC81Nl0gZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuKjogSW5jbHVkZSBsYXRlbmN5IG9mIHRoZSBtZXRob2QgaW4gdGhlIHJldHVybmVkIGxhdGVuY3kuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dldF9sYXRlbmN5KSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0X21ldGhvZCksIChnc3RfZGVpbnRlcmxhY2UyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9wdXNoX2hpc3RvcnkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFpbiksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldGNhcHMpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfcXVlcnkpOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgIEluY2x1ZGUgbGF0ZW5jeSBvZiB0aGUgbWV0aG9kIGluIHRoZSByZXR1cm5lZCBsYXRlbmN5LgoJICBGaXggb3V0cHV0dGluZyBvZiBhbGwgZmllbGRzLCBpLmUuIGRvdWJsaW5nIG9mIHRoZSBmcmFtZXJhdGUuCgoyMDA4LTA3LTA1IDE2OjQ3OjMyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMjMvNTZdIGdzdC9kZWludGVybGFjZTIvOiBVc2UgYSBHc3RPYmplY3Qgc3VidHlwZSBmb3IgdGhlIGRlaW50ZXJsYWNpbmcgbWV0aG9kcyBhbmQgZXhwb3J0IHRoZSBkaWZmZXJlbnQgc2V0dGluZ3MgZm9yIGVhY2ggZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2NsYXNzX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZGVpbnRlcmxhY2VfZnJhbWUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9nZXRfZmllbGRzX3JlcXVpcmVkKSwKCSAgKGdzdF9kZWludGVybGFjZTJfbWV0aG9kc19nZXRfdHlwZSksIChfZG9faW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldF9tZXRob2QpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkX2J5X2luZGV4KSwKCSAgKGdzdF9kZWludGVybGFjZTJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkcmVuX2NvdW50KSwKCSAgKGdzdF9kZWludGVybGFjZTJfY2hpbGRfcHJveHlfaW50ZXJmYWNlX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9pbml0KSwgKGdzdF9kZWludGVybGFjZTJfZmluYWxpemUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFpbiksIChnc3RfZGVpbnRlcmxhY2UyX3NyY19xdWVyeSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfbF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfbF9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfbF9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2xfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOiAoZ3JlZWR5RFNjYWxlcl9DKSwKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX2dyZWVkeWgpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfaF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfaF9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfaF9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2hfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3BsdWdpbnMuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3RvbXNtb2NvbXBfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdG9tc21vY29tcF9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF90b21zbW9jb21wX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF90b21zbW9jb21wX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzogKGRlaW50ZXJsYWNlX2ZyYW1lX3ZmaXIpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF92ZmlyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF92ZmlyX2luaXQpOgoJICBVc2UgYSBHc3RPYmplY3Qgc3VidHlwZSBmb3IgdGhlIGRlaW50ZXJsYWNpbmcgbWV0aG9kcyBhbmQgZXhwb3J0CgkgIHRoZSBkaWZmZXJlbnQgc2V0dGluZ3MgZm9yIGVhY2ggZGVpbnRlcmxhY2luZyBtZXRob2QgdmlhIEdPYmplY3QKCSAgcHJvcGVydGllcy4KCSAgSW1wbGVtZW50IEdzdENoaWxkUHJveHkgaW50ZXJmYWNlIHRvIGFsbG93IGFjY2VzcyB0byB0aGUgdXNlZAoJICBkZWludGVybGFjaW5nIG1ldGhvZCBhbmQgdG8gYWxsb3cgYWRqdXN0aW5nIHRoZSBkaWZmZXJlbnQgc2V0dGluZ3MuCgkgIE1vdmUgZ2xvYmFsIHZhcmlhYmxlcyBvZiB0aGUgdG9tc21vY29tcCBkZWludGVybGFjaW5nIG1ldGhvZCBpbnRvCgkgIGZ1bmN0aW9uIGxvY2FsIHZhcmlhYmxlcyB0byBtYWtlIGl0IHBvc3NpYmxlIHRvIHVzZSB0aGlzIGRlaW50ZXJsYWNpbmcKCSAgbWV0aG9kIGZyb20gZGlmZmVyZW50IGluc3RhbmNlcy4KCjIwMDgtMDctMDUgMTI6MjI6MzcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAyMi81Nl0gZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206IFN1cHBvcnQgd2lkdGhzIHRoYXQgYXJlIG5vdCBhIG11bHRpcGx5IG9mIDQgd2hlbiB1c2luZyB0aGUgYXNzZW1ibHkgb3B0aW1pemVkIGdyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOgoJICBTdXBwb3J0IHdpZHRocyB0aGF0IGFyZSBub3QgYSBtdWx0aXBseSBvZiA0IHdoZW4gdXNpbmcgdGhlIGFzc2VtYmx5CgkgIG9wdGltaXplZCBncmVlZHloIGltcGxlbWVudGF0aW9ucy4KCjIwMDgtMDctMDQgMTg6NTQ6MTUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAyMS81Nl0gZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOiBPbmx5IGJ1aWxkIHRoZSBhc3NlbWJseSBvcHRpbWl6ZWQgaW1wbGVtZW50YXRpb25zIG9uIHg4Ni4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5aCk6CgkgIE9ubHkgYnVpbGQgdGhlIGFzc2VtYmx5IG9wdGltaXplZCBpbXBsZW1lbnRhdGlvbnMgb24geDg2LgoKMjAwOC0wNi0zMCAwNzo1MTowNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDIwLzU2XSBnc3QvZGVpbnRlcmxhY2UyLzogUmVtb3ZlIHVzZWxlc3MgZmlsZSBhbmQgbWFyayBldmVyeXRoaW5nIHBvc3NpYmxlIGFzIHN0YXRpYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmM6ICh0b21zbW9jb21wX2luaXQpLAoJICAodG9tc21vY29tcF9maWx0ZXJfbW14KSwgKHRvbXNtb2NvbXBfZmlsdGVyXzNkbm93KSwKCSAgKHRvbXNtb2NvbXBfZmlsdGVyX3NzZSksIChkZWludGVybGFjZV9mcmFtZV9kaV90b21zbW9jb21wKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmg6CgkgIFJlbW92ZSB1c2VsZXNzIGZpbGUgYW5kIG1hcmsgZXZlcnl0aGluZyBwb3NzaWJsZSBhcyBzdGF0aWMuCgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJICBVc2UgIl9zdGRpbnQuaCIgaW5zdGVhZCBvZiA8c3RkaW50Lmg+LgoKMjAwOC0wNi0yOSAxMDo1Njo0NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDE5LzU2XSBnc3QvZGVpbnRlcmxhY2UyLzogR2V0IHJpZCBvZiBzcGVlZHkuW2NoXSBhcyB3ZSBkb24ndCB1c2UgbW9zdCBvZiBpdCdzIGNvZGUgYW55d2F5IGFuZCBpdCBkb2Vzbid0IHNlZW0gdG8gYmUgcmVsaWNlbnMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOiAoZ3N0X2RlaW50ZXJsYWNlMl9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzogKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX2dyZWVkeSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5aCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR0b29scy5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NwZWVkeS5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NwZWVkeS5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuYzogKEZpZWxkY29weSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IChkZWludGVybGFjZV9mcmFtZV92ZmlyKToKCSAgR2V0IHJpZCBvZiBzcGVlZHkuW2NoXSBhcyB3ZSBkb24ndCB1c2UgbW9zdCBvZiBpdCdzIGNvZGUgYW55d2F5CgkgIGFuZCBpdCBkb2Vzbid0IHNlZW0gdG8gYmUgcmVsaWNlbnNlZCB0byBMR1BMLiBVc2UgbWVtY3B5KCkgaW5zdGVhZAoJICBvZiB0aGUgc3BlZWR5IG1lbWNweSBldmVyeXdoZXJlIGluc3RlYWQuCgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgUmVtb3ZlIG1hbnkgdW51c2VkIGRlY2xhcmF0aW9ucy4KCjIwMDgtMDYtMjggMTg6MTM6MDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxOC81Nl0gZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzogRGl2aWRlIGxhdGVuY3kgYmUgMiB0byBjb252ZXJ0IGZyb20gZmllbGRzIHRvIGZyYW1lcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzogKGdzdF9kZWludGVybGFjZTJfc3JjX3F1ZXJ5KToKCSAgRGl2aWRlIGxhdGVuY3kgYmUgMiB0byBjb252ZXJ0IGZyb20gZmllbGRzIHRvIGZyYW1lcy4KCjIwMDgtMDYtMjggMTg6MTA6NTIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxNy81Nl0gZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6IERvbid0IHVzZSBzY2FubGluZXMgZnVuY3Rpb24gZnJvbSBnc3RkZWludGVybGFjZTIgYXMgaXQncyBub3QgYXBwcm9waWF0ZSBmb3IgdGhpcyBtLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX2dyZWVkeSk6CgkgIERvbid0IHVzZSBzY2FubGluZXMgZnVuY3Rpb24gZnJvbSBnc3RkZWludGVybGFjZTIgYXMgaXQncwoJICBub3QgYXBwcm9waWF0ZSBmb3IgdGhpcyBtZXRob2QuIEluc3RlYWQgaW1wbGVtZW50IGRlaW50ZXJsYWNlX2ZyYW1lCgkgIGZ1bmN0aW9uIGJ5IHRha2luZyB0aGUgb25lIGZyb20gZ3JlZWR5aC4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6IChncmVlZHlEU2NhbGVyX0MpOgoJICBTbWFsbCBmaXggZm9yIHRoZSBDIGltcGxlbWVudGF0aW9uLgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzogKGRlaW50ZXJsYWNlX2ZyYW1lX3ZmaXIpOgoJICBEb24ndCB1c2UgdGhlIHNjYW5saW5lcyBmdW5jdGlvbiBmcm9tIGdzdGRlaW50ZXJsYWNlMiBhcyBpdCdzIG9ubHkKCSAgdXNlZCBmb3IgdGhpcyBtZXRob2QgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gSW5zdGVhZCBpbXBsZW1lbnQKCSAgZGVpbnRlcmxhY2VfZnJhbWUgZnVuY3Rpb24gYW5kIG1ha2UgaXQgYSBiaXQgbW9yZSBlZmZpY2llbnQuCgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZTJfY2xhc3NfaW5pdCksIChnc3RfZGVpbnRlcmxhY2UyX3NldF9tZXRob2QpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9wdXNoX2hpc3RvcnkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFpbiksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldGNhcHMpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zaW5rX2V2ZW50KSwKCSAgKGdzdF9kZWludGVybGFjZTJfY2hhbmdlX3N0YXRlKSwgKGdzdF9kZWludGVybGFjZTJfc3JjX2V2ZW50KSwKCSAgKGdzdF9kZWludGVybGFjZTJfc3JjX3F1ZXJ5KToKCSAgRml4IGNvZGluZyBzdHlsZSBhbmQgcmVtb3ZlIHNjYW5saW5lcyBmdW5jdGlvbiBhcyBpdCdzIHVudXNlZCBub3cuCgoyMDA4LTA2LTI4IDE3OjI1OjU2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMTYvNTZdIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lLzogQWRkIGEgQyBpbXBsZW1lbnRhdGlvbiBmb3IgdGhlIGdyZWVkeWggZGVpbnRlcmxhY2luZyBtZXRob2QsIGNsZWFuIHVwIHRoZSBjb2RlIGEgYml0IGFuZCBtYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6IChncmVlZHlEU2NhbGVyX0MpLAoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5aCksIChkc2NhbGVyX2dyZWVkeWhfZ2V0X21ldGhvZCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aG1hY3Jvcy5oOgoJICBBZGQgYSBDIGltcGxlbWVudGF0aW9uIGZvciB0aGUgZ3JlZWR5aCBkZWludGVybGFjaW5nIG1ldGhvZCwgY2xlYW4KCSAgdXAgdGhlIGNvZGUgYSBiaXQgYW5kIG1hcmsgdGhlIFNTRSB2ZXJzaW9uIGFzIE1NWEVYVCBhcyBpdCBkb2Vzbid0CgkgIHJlcXVpcmUgYW55IFNTRSBpbnN0cnVjdGlvbnMuCgoyMDA4LTA2LTI3IDEzOjIyOjM0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMTUvNTZdIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6IElmIHdlJ3JlIG91dHB1dHRpbmcgYWxsIGZpZWxkcyB0aGUgZnJhbWVyYXRlIGhhcyB0byBiZSBkb3VibGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfcHJvcGVydHkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFpbiksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldGNhcHMpOgoJICBJZiB3ZSdyZSBvdXRwdXR0aW5nIGFsbCBmaWVsZHMgdGhlIGZyYW1lcmF0ZSBoYXMgdG8gYmUgZG91YmxlZC4KCSAgU2V0IGR1cmF0aW9uIG9uIHRoZSBvdXRnb2luZyBidWZmZXJzLgoKMjAwOC0wNi0yNSAxNjowNTowOCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxNC81Nl0gZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC90b21zbW9jb21wbWFjcm9zLmg6IFJlbW92ZSB1bm5lZWRlZCBtYWNyb3MgdGhhdCBicmVhayBidWlsZCBvbiBtYWNvc3guCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvdG9tc21vY29tcG1hY3Jvcy5oOgoJICBSZW1vdmUgdW5uZWVkZWQgbWFjcm9zIHRoYXQgYnJlYWsgYnVpbGQgb24gbWFjb3N4LgoKMjAwOC0wNi0yNCAxMjowODo0NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDEzLzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzogT3B0aW1pemUgTU1YL01NWEVYVCBpbXBsZW1lbnRhdGlvbnMgYSBiaXQgYnkgcmVxdWlyaW5nIHR3byBsZXNzIG1lbW9yeSBhY2Nlc3NlcyBhbmQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCk6CgkgIE9wdGltaXplIE1NWC9NTVhFWFQgaW1wbGVtZW50YXRpb25zIGEgYml0IGJ5IHJlcXVpcmluZyB0d28gbGVzcwoJICBtZW1vcnkgYWNjZXNzZXMgYW5kIGZpeCB0aGUgd29ya2Fyb3VuZCBmb3IgdGhlIG1pc3NpbmcgcmlnaHQgc2hpZnQKCSAgb24gYnl0ZXMgdG8gdW5zZXQgdGhlIGhpZ2hlc3QgYml0IG9mIGV2ZXJ5IGJ5dGUuCgoyMDA4LTA2LTI0IDEwOjE1OjQxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMTIvNTZdIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOiBSZW1vdmUgc2ZlbmNlIGluc3RydWN0aW9uIGFzIGl0J3Mgbm90IG5lZWRlZCBhbmQgYWN0dWFsbHkgaXMgYW4gU1NFIGluc3RydWN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KToKCSAgUmVtb3ZlIHNmZW5jZSBpbnN0cnVjdGlvbiBhcyBpdCdzIG5vdCBuZWVkZWQgYW5kIGFjdHVhbGx5IGlzIGFuIFNTRQoJICBpbnN0cnVjdGlvbi4KCjIwMDgtMDYtMjQgMTA6MTI6MDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxMS81Nl0gZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6IEFkZCBwbGFpbiBNTVggaW1wbGVtZW50YXRpb24gZm9yIHRoZSBncmVlZHlsIG1ldGhvZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lKToKCSAgQWRkIHBsYWluIE1NWCBpbXBsZW1lbnRhdGlvbiBmb3IgdGhlIGdyZWVkeWwgbWV0aG9kLgoKMjAwOC0wNi0yNCAwOTo0MDowMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDEwLzU2XSBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOiBNb3ZlIHRoZSBhc3NlbWJseSBpbmNsdWRlcyB0byBub2luc3RfSEVBREVSUyB3aGVyZSB0aGV5IGJlbG9uZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgTW92ZSB0aGUgYXNzZW1ibHkgaW5jbHVkZXMgdG8gbm9pbnN0X0hFQURFUlMgd2hlcmUgdGhleSBiZWxvbmcuCgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiAoZGVpbnRlcmxhY2VfbGluZV9jKSwKCSAgKGRlaW50ZXJsYWNlX2xpbmVfbW14KToKCSAgRml4IEMgYW5kIE1NWCBpbXBsZW1lbnRhdGlvbnMgYSBiaXQgbW9yZS4KCjIwMDgtMDYtMjQgMDk6MTA6NDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAwOS81Nl0gZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6IEZpeCB0aGUgQyBpbXBsZW1lbnRhdGlvbiB0byBwcm9kdWNlIGNvcnJlY3QgcmVzdWx0cyBhbmQgb3B0aW1pemUgdGhlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmUpOgoJICBGaXggdGhlIEMgaW1wbGVtZW50YXRpb24gdG8gcHJvZHVjZSBjb3JyZWN0IHJlc3VsdHMgYW5kIG9wdGltaXplIHRoZQoJICBNTVhFWFQgaW1wbGVtZW50YXRpb24uCgkgIEhhbmRsZSBvZGQgd2lkdGhzIGFuZCBkb24ndCByZWFkIG92ZXIgYXJyYXkgYm91bmRhcmllcyBpbiB0aGUgTU1YRVhUCgkgIGltcGxlbWVudGF0aW9uLgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzogKGRlaW50ZXJsYWNlX2xpbmVfYyksCgkgIChkZWludGVybGFjZV9saW5lX21teCksIChkZWludGVybGFjZV9zY2FubGluZV92ZmlyKToKCSAgRml4IGEgc21hbGwgcm91bmRpbmcgYnVnIGluIHRoZSBNTVggaW1wbGVtZW50YXRpb24sIHRoZSBNTVgKCSAgaW1wbGVtZW50YXRpb24gZG9lc24ndCBhY3R1YWxseSBuZWVkIE1NWEVYVCBpbnN0cnVjdGlvbnMgc28gZG9uJ3QgbWFyawoJICBpdCBhcyBzdWNoLgoJICBIYW5kbGUgb2RkIHdpZHRocyBpbiBib3RoIGltcGxlbWVudGF0aW9ucy4KCjIwMDgtMDYtMjEgMDk6MDU6MDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAwOC81Nl0gZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6IEltcGxlbWVudCBhIEMgdmVyc2lvbiBvZiB0aGUgZ3JlZWR5IGxvdyBtb3Rpb24gYWxnb3JpdGhtIGFuZCBtYXJrIHRoZSBhc3NlbWJseSBvcHRpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9zc2UpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmUpOgoJICBJbXBsZW1lbnQgYSBDIHZlcnNpb24gb2YgdGhlIGdyZWVkeSBsb3cgbW90aW9uIGFsZ29yaXRobSBhbmQgbWFyayB0aGUKCSAgYXNzZW1ibHkgb3B0aW1pemVkIHZlcnNpb24gYXMgU1NFIGFzIGl0IHVzZXMgU1NFIGluc3RydWN0aW9ucwoJICBhZGRpdGlvbmFsIHRvIE1NWCBpbnN0cnVjdGlvbnMuCgoyMDA4LTA2LTIwIDE0OjQ4OjQwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMDcvNTZdIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzogTWFrZSBpdCBwb3NzaWJsZSB0byB1c2UgdGhlIHZmaXIgbWV0aG9kIG9uIFg4NiBDUFVzIHdpdGhvdXQgTU1YRVhUIHRvbyBidXQgdXNlIHRoZSBNTS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IChkZWludGVybGFjZV9saW5lX21teGV4dCksCgkgIChkZWludGVybGFjZV9saW5lX2MpLCAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfdmZpcik6CgkgIE1ha2UgaXQgcG9zc2libGUgdG8gdXNlIHRoZSB2ZmlyIG1ldGhvZCBvbiBYODYgQ1BVcyB3aXRob3V0IE1NWEVYVCB0b28KCSAgYnV0IHVzZSB0aGUgTU1YRVhUIG9wdGltaXplZCBjb2RlIHdoZW5ldmVyIHBvc3NpYmxlLgoKMjAwOC0wNi0yMCAxNDozNToyNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDA2LzU2XSBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi4qOiBSZXNldCBlbGVtZW50IHN0YXRlIG9uIFBBVVNFRC0+UkVBRFkgcHJvcGVybHksIGRvbid0IGxlYWsgYW55IGJ1ZmZlcnMgd2hlbiBmaW5hbGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZTJfY2xhc3NfaW5pdCksIChnc3RfZGVpbnRlcmxhY2UyX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9yZXNldF9oaXN0b3J5KSwgKGdzdF9kZWludGVybGFjZTJfcmVzZXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9maW5hbGl6ZSksIChnc3RfZGVpbnRlcmxhY2UyX2NoYWluKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2lua19ldmVudCksIChnc3RfZGVpbnRlcmxhY2UyX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NyY19xdWVyeSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgUmVzZXQgZWxlbWVudCBzdGF0ZSBvbiBQQVVTRUQtPlJFQURZIHByb3Blcmx5LCBkb24ndCBsZWFrIGFueSBidWZmZXJzCgkgIHdoZW4gZmluYWxpemluZywgYWxsb2NhdGUgYnVmZmVycyB3aXRoIGdzdF9wYWRfYWxsb2NfYnVmZmVyKCkgYW5kCgkgIHByb3Blcmx5IHJldHVybiBmbG93IHJldHVybnMgZnJvbSBnc3RfcGFkX3B1c2goKSBpbnN0ZWFkIG9mIGlnbm9yaW5nIHRoZW0uCgoyMDA4LTA2LTIwIDEzOjQ1OjA4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMDUvNTZdIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvdG9tc21vY29tcG1hY3Jvcy5oOiBBZGQgbWlzc2luZyBoZWFkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvdG9tc21vY29tcG1hY3Jvcy5oOgoJICBBZGQgbWlzc2luZyBoZWFkZXIuCgoyMDA4LTA2LTIwIDEzOjI0OjI5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMDQvNTZdIEZpeCBjb21waWxhdGlvbiBvbiBnZW5lcmljIHg4Ni9hbWQ2NCBhbmQgaW5jbHVkZSBkZWludGVybGFjZTIgaW4gdGhlIGJ1aWxkIHN5c3RlbS4gQmVjYXVzZSBvZiBzZXZlcmFsIGJ1Z3MgaXQncyBzdGlsbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BCb3R0b20uaW5jOgoJICBGaXggY29tcGlsYXRpb24gb24gZ2VuZXJpYyB4ODYvYW1kNjQgYW5kIGluY2x1ZGUgZGVpbnRlcmxhY2UyIGluIHRoZQoJICBidWlsZCBzeXN0ZW0uIEJlY2F1c2Ugb2Ygc2V2ZXJhbCBidWdzIGl0J3Mgc3RpbGwgZW5hYmxlZCBvbmx5CgkgIGJ5IC0tZW5hYmxlLWV4cGVyaW1lbnRhbC4KCjIwMDgtMDYtMTggMDY6MzE6MTMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAwMy81Nl0gRml4IGd0ay1kb2Mgd2FybmluZ3MuIEFsc28gZG9uJ3QgbWlzdXNlIGFwaS1kb2MgY29tbWVudHMgZm9yIG5vcm1hbCBjb21tZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjLXJhLmM6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyYy1zZWVrYWJsZS5jOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtc3RyZWFtLmM6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyYy1zdHJlYW0yLmM6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5oOgoJICAqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuYzoKCSAgKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmg6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhLmM6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHkuYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHkuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6CgkgIEZpeCBndGstZG9jIHdhcm5pbmdzLiBBbHNvIGRvbid0IG1pc3VzZSBhcGktZG9jIGNvbW1lbnRzIGZvciBub3JtYWwKCSAgY29tbWVudHMuCgoyMDA4LTA2LTExIDExOjEyOjQ5ICswMDAwICBNYXJ0aW4gRWlrZXJtYW5uIDxtZWlrZXJAdXBiLmRlPgoKCSAgW01PVkVEIEZST00gQkFEIDAyLzU2XSBnc3QvZGVpbnRlcmxhY2UyLzogQWRkIGEgZGVpbnRlcmxhY2VyIHBsdWdpbiBiYXNlZCBvbiB0aGUgdHZ0aW1lL0RTY2FsZXIgZGVpbnRlcmxhY2VyLCB3aGljaCB3YXMgcmVsaWNlbnNlZCB0byBMR1BMIGYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnk6IE1hcnRpbiBFaWtlcm1hbm4gPG1laWtlciBhdCB1cGIgZG90IGRlPgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZTJfbWV0aG9kX2dldF90eXBlKSwKCSAgKGdzdF9kZWludGVybGFjZTJfZmllbGRzX2dldF90eXBlKSwKCSAgKGdzdF9kZWludGVybGFjZTJfZmllbGRfbGF5b3V0X2dldF90eXBlKSwKCSAgKGdzdF9kZWludGVybGFjZTJfYmFzZV9pbml0KSwgKGdzdF9kZWludGVybGFjZTJfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfbWV0aG9kKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0X3Byb3BlcnR5KSwgKGdzdF9kZWludGVybGFjZTJfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGFjZTJfZmluYWxpemUpLCAoZ3N0X2RlaW50ZXJsYWNlMl9wb3BfaGlzdG9yeSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2hlYWRfaGlzdG9yeSksIChnc3RfZGVpbnRlcmxhY2UyX3B1c2hfaGlzdG9yeSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2RlaW50ZXJsYWNlX3NjYW5saW5lcyksIChnc3RfZGVpbnRlcmxhY2UyX2NoYWluKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0Y2FwcyksIChnc3RfZGVpbnRlcmxhY2UyX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfZXZlbnQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfcXVlcnkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfcXVlcnlfdHlwZXMpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6IChjb3B5X3NjYW5saW5lKSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGRzY2FsZXJfZ3JlZWR5bF9nZXRfbWV0aG9kKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkgIChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHloKSwgKGRzY2FsZXJfZ3JlZWR5aF9nZXRfbWV0aG9kKSwKCSAgKGdyZWVkeWhfaW5pdCksIChncmVlZHloX2ZpbHRlcl9tbXgpLCAoZ3JlZWR5aF9maWx0ZXJfM2Rub3cpLAoJICAoZ3JlZWR5aF9maWx0ZXJfc3NlKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aG1hY3Jvcy5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL21teC5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3BsdWdpbnMuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHRvb2xzLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR5LmM6IChtdWx0aXBseV9hbHBoYSksIChjbGlwMjU1KSwKCSAgKGNvbWJfZmFjdG9yX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoZGlmZl9mYWN0b3JfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoZGlmZl9mYWN0b3JfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChkaWZmX3BhY2tlZDQyMl9ibG9jazh4OF9tbXgpLCAoZGlmZl9wYWNrZWQ0MjJfYmxvY2s4eDhfYyksCgkgIChwYWNrZWQ0NDRfdG9fcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAocGFja2VkNDIyX3RvX3BhY2tlZDQ0NF9zY2FubGluZV9jKSwKCSAgKHBhY2tlZDQyMl90b19wYWNrZWQ0NDRfcmVjNjAxX3NjYW5saW5lX2MpLAoJICAodmZpbHRlcl9jaHJvbWFfMTIxX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAodmZpbHRlcl9jaHJvbWFfMTIxX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKHZmaWx0ZXJfY2hyb21hXzMzMl9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKHZmaWx0ZXJfY2hyb21hXzMzMl9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChraWxsX2Nocm9tYV9wYWNrZWQ0MjJfaW5wbGFjZV9zY2FubGluZV9tbXgpLAoJICAoa2lsbF9jaHJvbWFfcGFja2VkNDIyX2lucGxhY2Vfc2NhbmxpbmVfYyksCgkgIChpbnZlcnRfY29sb3VyX3BhY2tlZDQyMl9pbnBsYWNlX3NjYW5saW5lX21teCksCgkgIChpbnZlcnRfY29sb3VyX3BhY2tlZDQyMl9pbnBsYWNlX3NjYW5saW5lX2MpLAoJICAobWlycm9yX3BhY2tlZDQyMl9pbnBsYWNlX3NjYW5saW5lX2MpLAoJICAoaW50ZXJwb2xhdGVfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoY29udmVydF91eXZ5X3RvX3l1eXZfc2NhbmxpbmVfbW14KSwKCSAgKGNvbnZlcnRfdXl2eV90b195dXl2X3NjYW5saW5lX2MpLAoJICAoaW50ZXJwb2xhdGVfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChpbnRlcnBvbGF0ZV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDQ0NF9zY2FubGluZV9tbXgpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDQ0NF9zY2FubGluZV9tbXhleHQpLCAoc21hbGxfbWVtY3B5KSwKCSAgKHNwZWVkeV9tZW1jcHlfYyksIChzcGVlZHlfbWVtY3B5X21teCksIChzcGVlZHlfbWVtY3B5X21teGV4dCksCgkgIChibGl0X3BhY2tlZDQyMl9zY2FubGluZV9jKSwgKGJsaXRfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChibGl0X3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoY29tcG9zaXRlX2NvbG91cjQ0NDRfYWxwaGFfdG9fcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoY29tcG9zaXRlX2NvbG91cjQ0NDRfYWxwaGFfdG9fcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChjb21wb3NpdGVfcGFja2VkNDQ0NF9hbHBoYV90b19wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChjb21wb3NpdGVfcGFja2VkNDQ0NF9hbHBoYV90b19wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGNvbXBvc2l0ZV9wYWNrZWQ0NDQ0X3RvX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGNvbXBvc2l0ZV9wYWNrZWQ0NDQ0X3RvX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoY29tcG9zaXRlX2FscGhhbWFza190b19wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLAoJICAoY29tcG9zaXRlX2FscGhhbWFza190b19wYWNrZWQ0NDQ0X3NjYW5saW5lX21teGV4dCksCgkgIChjb21wb3NpdGVfYWxwaGFtYXNrX2FscGhhX3RvX3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksCgkgIChwcmVtdWx0aXBseV9wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLAoJICAocHJlbXVsdGlwbHlfcGFja2VkNDQ0NF9zY2FubGluZV9tbXhleHQpLAoJICAoYmxlbmRfcGFja2VkNDIyX3NjYW5saW5lX2MpLCAoYmxlbmRfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChxdWFydGVyX2JsaXRfdmVydGljYWxfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChxdWFydGVyX2JsaXRfdmVydGljYWxfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoc3VicGl4X2JsaXRfdmVydGljYWxfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoYThfc3VicGl4X2JsaXRfc2NhbmxpbmVfYyksIChteXJvdW5kKSwgKGluaXRfUkdCX3RvX1lDYkNyX3RhYmxlcyksCgkgIChpbml0X1lDYkNyX3RvX1JHQl90YWJsZXMpLCAocmdiMjRfdG9fcGFja2VkNDQ0X3JlYzYwMV9zY2FubGluZV9jKSwKCSAgKHJnYmEzMl90b19wYWNrZWQ0NDQ0X3JlYzYwMV9zY2FubGluZV9jKSwKCSAgKHBhY2tlZDQ0NF90b19yZ2IyNF9yZWM2MDFfc2NhbmxpbmVfYyksCgkgIChwYWNrZWQ0NDRfdG9fbm9ucHJlbXVsdGlwbGllZF9wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLAoJICAoYXNwZWN0X2FkanVzdF9wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLCAoc2V0dXBfc3BlZWR5X2NhbGxzKSwKCSAgKHNwZWVkeV9nZXRfYWNjZWwpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NwZWVkeS5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NzZS5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuYzogKEZpZWxkY29weSksCgkgIChkZWludGVybGFjZV9mcmFtZV9kaV90b21zbW9jb21wKSwgKGRzY2FsZXJfdG9tc21vY29tcF9nZXRfbWV0aG9kKSwKCSAgKHRvbXNtb2NvbXBfaW5pdCksICh0b21zbW9jb21wX2ZpbHRlcl9tbXgpLAoJICAodG9tc21vY29tcF9maWx0ZXJfM2Rub3cpLCAodG9tc21vY29tcF9maWx0ZXJfc3NlKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wMEEuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEJvdHRvbS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wRWRnZUEuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEVkZ2VBOC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQTIuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEE2LmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBSC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQUgyLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BUb3AuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFZBLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BWQUguaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU3RyYW5nZUJvYi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwyLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1dpZXJkQm9iLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IChkZWludGVybGFjZV9saW5lKSwKCSAgKGRlaW50ZXJsYWNlX3NjYW5saW5lX3ZmaXIpLCAoY29weV9zY2FubGluZSksCgkgIChkc2NhbGVyX3ZmaXJfZ2V0X21ldGhvZCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUveDg2LTY0X21hY3Jvcy5pbmM6CgkgIEFkZCBhIGRlaW50ZXJsYWNlciBwbHVnaW4gYmFzZWQgb24gdGhlIHR2dGltZS9EU2NhbGVyIGRlaW50ZXJsYWNlciwKCSAgd2hpY2ggd2FzIHJlbGljZW5zZWQgdG8gTEdQTCBmb3IgR1N0cmVhbWVyIGFuZCBpbiB0aGVvcnkgcHJvdmlkZXMKCSAgYmV0dGVyIGFuZCBmYXN0ZXIgcmVzdWx0cyB0aGFuIHRoZSBzaW1wbGUgZGVpbnRlcmxhY2UgZWxlbWVudC4KCSAgRml4ZXMgYnVnICMxNjM1NzguCgkgIFBvcnRlZCB0byBHU3RyZWFtZXIgMC4xMCBidXQgc3RpbGwgbm90IGVuYWJsZWQgb3IgaW5jbHVkZWQgaW4gdGhlCgkgIGJ1aWxkIHN5c3RlbSBieSBkZWZhdWx0IGJlY2F1c2Ugb2YgYmFkIGFydGVmYWN0cyBjYXVzZWQgYnkgYSBidWcKCSAgc29tZXdoZXJlIGFuZCBhcyBpdCBjYW4gYmUgb25seSBidWlsZCBvbiB4ODYvYW1kNjQgQVRNIGFuZCByZXF1aXJlcwoJICBzcGVjaWFsIENGTEFHUy4gV2lsbCBiZSBmaXhlZCBzb29uLgoKMjAwOC0wNi0xMSAxMToxMjoxNCArMDAwMCAgTWFydGluIEVpa2VybWFubiA8bWVpa2VyQHVwYi5kZT4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAwMS81Nl0gZ3N0L2RlaW50ZXJsYWNlMi86IEFkZCBhIGRlaW50ZXJsYWNlciBwbHVnaW4gYmFzZWQgb24gdGhlIHR2dGltZS9EU2NhbGVyIGRlaW50ZXJsYWNlciwgd2hpY2ggd2FzIHJlbGljZW5zZWQgdG8gTEdQTCBmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5OiBNYXJ0aW4gRWlrZXJtYW5uIDxtZWlrZXIgYXQgdXBiIGRvdCBkZT4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2UyX21ldGhvZF9nZXRfdHlwZSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2ZpZWxkc19nZXRfdHlwZSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2ZpZWxkX2xheW91dF9nZXRfdHlwZSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2Jhc2VfaW5pdCksIChnc3RfZGVpbnRlcmxhY2UyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9pbml0KSwgKGdzdF9kZWludGVybGFjZTJfc2V0X21ldGhvZCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldF9wcm9wZXJ0eSksIChnc3RfZGVpbnRlcmxhY2UyX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2ZpbmFsaXplKSwgKGdzdF9kZWludGVybGFjZTJfcG9wX2hpc3RvcnkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9oZWFkX2hpc3RvcnkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9wdXNoX2hpc3RvcnkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9kZWludGVybGFjZV9zY2FubGluZXMpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFpbiksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldGNhcHMpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zaW5rX2V2ZW50KSwKCSAgKGdzdF9kZWludGVybGFjZTJfY2hhbmdlX3N0YXRlKSwgKGdzdF9kZWludGVybGFjZTJfc3JjX2V2ZW50KSwKCSAgKGdzdF9kZWludGVybGFjZTJfc3JjX3F1ZXJ5KSwgKGdzdF9kZWludGVybGFjZTJfc3JjX3F1ZXJ5X3R5cGVzKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOiAoY29weV9zY2FubGluZSksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChkc2NhbGVyX2dyZWVkeWxfZ2V0X21ldGhvZCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5aCksIChkc2NhbGVyX2dyZWVkeWhfZ2V0X21ldGhvZCksCgkgIChncmVlZHloX2luaXQpLCAoZ3JlZWR5aF9maWx0ZXJfbW14KSwgKGdyZWVkeWhfZmlsdGVyXzNkbm93KSwKCSAgKGdyZWVkeWhfZmlsdGVyX3NzZSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWhtYWNyb3MuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9tbXguaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9wbHVnaW5zLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR0b29scy5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NwZWVkeS5jOiAobXVsdGlwbHlfYWxwaGEpLCAoY2xpcDI1NSksCgkgIChjb21iX2ZhY3Rvcl9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGRpZmZfZmFjdG9yX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGRpZmZfZmFjdG9yX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoZGlmZl9wYWNrZWQ0MjJfYmxvY2s4eDhfbW14KSwgKGRpZmZfcGFja2VkNDIyX2Jsb2NrOHg4X2MpLAoJICAocGFja2VkNDQ0X3RvX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKHBhY2tlZDQyMl90b19wYWNrZWQ0NDRfc2NhbmxpbmVfYyksCgkgIChwYWNrZWQ0MjJfdG9fcGFja2VkNDQ0X3JlYzYwMV9zY2FubGluZV9jKSwKCSAgKHZmaWx0ZXJfY2hyb21hXzEyMV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKHZmaWx0ZXJfY2hyb21hXzEyMV9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgICh2ZmlsdGVyX2Nocm9tYV8zMzJfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgICh2ZmlsdGVyX2Nocm9tYV8zMzJfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoa2lsbF9jaHJvbWFfcGFja2VkNDIyX2lucGxhY2Vfc2NhbmxpbmVfbW14KSwKCSAgKGtpbGxfY2hyb21hX3BhY2tlZDQyMl9pbnBsYWNlX3NjYW5saW5lX2MpLAoJICAoaW52ZXJ0X2NvbG91cl9wYWNrZWQ0MjJfaW5wbGFjZV9zY2FubGluZV9tbXgpLAoJICAoaW52ZXJ0X2NvbG91cl9wYWNrZWQ0MjJfaW5wbGFjZV9zY2FubGluZV9jKSwKCSAgKG1pcnJvcl9wYWNrZWQ0MjJfaW5wbGFjZV9zY2FubGluZV9jKSwKCSAgKGludGVycG9sYXRlX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGNvbnZlcnRfdXl2eV90b195dXl2X3NjYW5saW5lX21teCksCgkgIChjb252ZXJ0X3V5dnlfdG9feXV5dl9zY2FubGluZV9jKSwKCSAgKGludGVycG9sYXRlX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoaW50ZXJwb2xhdGVfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDQ0NF9zY2FubGluZV9jKSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQ0NDRfc2NhbmxpbmVfbW14KSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQ0NDRfc2NhbmxpbmVfbW14ZXh0KSwgKHNtYWxsX21lbWNweSksCgkgIChzcGVlZHlfbWVtY3B5X2MpLCAoc3BlZWR5X21lbWNweV9tbXgpLCAoc3BlZWR5X21lbWNweV9tbXhleHQpLAoJICAoYmxpdF9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksIChibGl0X3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoYmxpdF9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGNvbXBvc2l0ZV9jb2xvdXI0NDQ0X2FscGhhX3RvX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGNvbXBvc2l0ZV9jb2xvdXI0NDQ0X2FscGhhX3RvX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoY29tcG9zaXRlX3BhY2tlZDQ0NDRfYWxwaGFfdG9fcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoY29tcG9zaXRlX3BhY2tlZDQ0NDRfYWxwaGFfdG9fcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChjb21wb3NpdGVfcGFja2VkNDQ0NF90b19wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChjb21wb3NpdGVfcGFja2VkNDQ0NF90b19wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGNvbXBvc2l0ZV9hbHBoYW1hc2tfdG9fcGFja2VkNDQ0NF9zY2FubGluZV9jKSwKCSAgKGNvbXBvc2l0ZV9hbHBoYW1hc2tfdG9fcGFja2VkNDQ0NF9zY2FubGluZV9tbXhleHQpLAoJICAoY29tcG9zaXRlX2FscGhhbWFza19hbHBoYV90b19wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLAoJICAocHJlbXVsdGlwbHlfcGFja2VkNDQ0NF9zY2FubGluZV9jKSwKCSAgKHByZW11bHRpcGx5X3BhY2tlZDQ0NDRfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGJsZW5kX3BhY2tlZDQyMl9zY2FubGluZV9jKSwgKGJsZW5kX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAocXVhcnRlcl9ibGl0X3ZlcnRpY2FsX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAocXVhcnRlcl9ibGl0X3ZlcnRpY2FsX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKHN1YnBpeF9ibGl0X3ZlcnRpY2FsX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGE4X3N1YnBpeF9ibGl0X3NjYW5saW5lX2MpLCAobXlyb3VuZCksIChpbml0X1JHQl90b19ZQ2JDcl90YWJsZXMpLAoJICAoaW5pdF9ZQ2JDcl90b19SR0JfdGFibGVzKSwgKHJnYjI0X3RvX3BhY2tlZDQ0NF9yZWM2MDFfc2NhbmxpbmVfYyksCgkgIChyZ2JhMzJfdG9fcGFja2VkNDQ0NF9yZWM2MDFfc2NhbmxpbmVfYyksCgkgIChwYWNrZWQ0NDRfdG9fcmdiMjRfcmVjNjAxX3NjYW5saW5lX2MpLAoJICAocGFja2VkNDQ0X3RvX25vbnByZW11bHRpcGxpZWRfcGFja2VkNDQ0NF9zY2FubGluZV9jKSwKCSAgKGFzcGVjdF9hZGp1c3RfcGFja2VkNDQ0NF9zY2FubGluZV9jKSwgKHNldHVwX3NwZWVkeV9jYWxscyksCgkgIChzcGVlZHlfZ2V0X2FjY2VsKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHkuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zc2UuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmM6IChGaWVsZGNvcHkpLAoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfdG9tc21vY29tcCksIChkc2NhbGVyX3RvbXNtb2NvbXBfZ2V0X21ldGhvZCksCgkgICh0b21zbW9jb21wX2luaXQpLCAodG9tc21vY29tcF9maWx0ZXJfbW14KSwKCSAgKHRvbXNtb2NvbXBfZmlsdGVyXzNkbm93KSwgKHRvbXNtb2NvbXBfZmlsdGVyX3NzZSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcDBBLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BCb3R0b20uaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEVkZ2VBLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BFZGdlQTguaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEEuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEEyLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBNi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQUguaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEFIMi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVG9wLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BWQS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVkFILmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1N0cmFuZ2VCb2IuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsMi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9XaWVyZEJvYi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiAoZGVpbnRlcmxhY2VfbGluZSksCgkgIChkZWludGVybGFjZV9zY2FubGluZV92ZmlyKSwgKGNvcHlfc2NhbmxpbmUpLAoJICAoZHNjYWxlcl92ZmlyX2dldF9tZXRob2QpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3g4Ni02NF9tYWNyb3MuaW5jOgoJICBBZGQgYSBkZWludGVybGFjZXIgcGx1Z2luIGJhc2VkIG9uIHRoZSB0dnRpbWUvRFNjYWxlciBkZWludGVybGFjZXIsCgkgIHdoaWNoIHdhcyByZWxpY2Vuc2VkIHRvIExHUEwgZm9yIEdTdHJlYW1lciBhbmQgaW4gdGhlb3J5IHByb3ZpZGVzCgkgIGJldHRlciBhbmQgZmFzdGVyIHJlc3VsdHMgdGhhbiB0aGUgc2ltcGxlIGRlaW50ZXJsYWNlIGVsZW1lbnQuCgkgIEZpeGVzIGJ1ZyAjMTYzNTc4LgoJICBQb3J0ZWQgdG8gR1N0cmVhbWVyIDAuMTAgYnV0IHN0aWxsIG5vdCBlbmFibGVkIG9yIGluY2x1ZGVkIGluIHRoZQoJICBidWlsZCBzeXN0ZW0gYnkgZGVmYXVsdCBiZWNhdXNlIG9mIGJhZCBhcnRlZmFjdHMgY2F1c2VkIGJ5IGEgYnVnCgkgIHNvbWV3aGVyZSBhbmQgYXMgaXQgY2FuIGJlIG9ubHkgYnVpbGQgb24geDg2L2FtZDY0IEFUTSBhbmQgcmVxdWlyZXMKCSAgc3BlY2lhbCBDRkxBR1MuIFdpbGwgYmUgZml4ZWQgc29vbi4KCjIwMDktMDUtMTMgMTA6MzA6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBmbHY6IEFjdHVhbGx5IGFkZCB0aGUgZmx2IHBsdWdpbiB0byBjb25maWd1cmUuYWMKCjIwMDktMDUtMTMgMDk6MjQ6MjYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2ZsYWNkZWMuYzoKCSAgY2hlY2tzOiBmaXggZmxhY2RlYyB1bml0IHRlc3RzIG9uIGJpZy1lbmRpYW4gbWFjaGluZXMgYW5kIHVuZGVyIHZhbGdyaW5kCgkgIEZsYWNkZWMgb3V0cHV0cyAxNi1iaXQgc2FtcGxlcywgc28gbGV0J3MgY2hlY2sgaWYgdGhlIHZhbHVlIG9mIHRoZSBmaXJzdAoJICBzYW1wbGUgaXMgd2hhdCB3ZSBleHBlY3QgcmF0aGVyIHRoYW4ganVzdCB0aGUgZmlyc3QgYnl0ZSwgd2hpY2ggbWF5IGJlCgkgIGRpZmZlcmVudCBmcm9tIHdoYXQgd2UgZXhwZWN0IGRlcGVuZGluZyBvbiB0aGUgaG9zdCdzIGVuZGlhbm5lc3MuIEZpeGVzCgkgIHRoZSBmbGFjZGVjIHVuaXQgdGVzdHMgb24gUFBDLiBBbHNvIGZpeCBhIGJ1bmNoIG9mIGxlYWtzIGluIHRoZSB1bml0CgkgIHRlc3RzIHRvIG1ha2UgdmFsZ3JpbmQgaGFwcHkuIEZpeGVzICM1ODI0MjAuCgoyMDA5LTA1LTEzIDA5OjE4OjA3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogZml4IGJ1ZmZlciBsZWFrCgkgIGdzdF9idWZmZXJfcmVwbGFjZSgpIHdpbGwgdGFrZSBpdHMgb3duIHJlZiwgc28gd2Ugc3RpbGwgaGF2ZQoJICB0byB1bnJlZiB0aGUgYnVmZmVyIGlmIHdlIGRvbid0IG5lZWQgaXQgYW55IGxvbmdlci4KCjIwMDktMDUtMTIgMjE6MjA6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogRml4IHBvaW50ZXIgYXJpdGhtZXRpYwoJICBUaGlzIGZpeGVzIGEgc2Vla2luZyByZWdyZXNzaW9uLCBidWcgIzEzNDUyMi4KCjIwMDktMDUtMTIgMjE6MzY6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkgIE1vdmVkICdmbHYnIGZyb20gLWJhZCB0byAtZ29vZAoKMjAwOS0wNS0wNyAxNzo1Mzo0MiArMDEwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBbTU9WRUQgRlJPTSBCQUQgNTcvNTddIEFkZCByYW5rcyB0byB2YXJpb3VzIG11eGVycyBhbmQgZW5jb2RlcnMgaW4gLWJhZAoKMjAwOS0wNC0yOSAxODo1MjoyMCArMDEwMCAgVHJpc3RhbiBNYXR0aGV3cyA8bGUuYnVzaW5lc3NtYW5AZ21haWwuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgW01PVkVEIEZST00gQkFEIDU2LzU3XSBmbHZtdXg6IGluaXQgdmFyaWFibGUgdG8gTlVMTCB0byBmaXggY29tcGlsZXIgd2FybmluZwoJICBGaXhlcyAjNTgwNzg2LgoKMjAwOS0wNC0yOSAxMzo1NjowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCA1NS81N10gZmx2OiBTZXQvcmVxdWlyZSB0aGUgZnJhbWVkL3BhcnNlZCBmaWVsZHMgb2YgdGhlIGF1ZGlvL21wZWcgY2FwcyB0byBUUlVFCgoyMDA5LTA0LTI5IDEzOjE2OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCA1NC81N10gZmx2OiBBbHdheXMgd3JpdGUgYXQgbGVhc3QgdGhlIG1pbmltYWwgdGFncyBhbmQgd3JpdGUgdGhlIFBBUiBhcyB0YWdzCgoyMDA5LTA0LTI5IDEzOjAzOjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCA1My81N10gZmx2OiBBZGQgc3VwcG9ydCBmb3IgbXV4aW5nIHNvbWUgdGFncwoKMjAwOS0wNC0yOSAxMzowMzoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCA1Mi81N10gZmx2OiBBZGQgc3VwcG9ydCBmb3IgdGl0bGUgdGFnCgoyMDA5LTA0LTI5IDA5OjQwOjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgW01PVkVEIEZST00gQkFEIDUxLzU3XSBmbHY6IEZpeCBwYXJzaW5nIG9mIHRhZ3MgYW5kIGFkZCBuZXcgbWFwcGluZ3MKCSAgV2Ugc2hvdWxkbid0IHJlZ2lzdGVyIGEgbmV3IEdzdFRhZyBmb3IgZXZlcnkgdW5rbm93biB0YWcKCSAgd2UgZmluZCBhcyB0aGlzIG1pZ2h0IGxlYWQgdG8gY29uZmxpY3RzIGFuZCBhbHNvIHRob3NlCgkgIHRhZ3MgYXJlIGVzc2VudGlhbGx5IHVua25vd24uCgkgIEFkZCBtYXBwaW5ncyBmb3Igc29tZSBrbm93biB0YWdzIGFuZCBhbHNvIGNvbnZlcnQgc3RyaW5nCgkgIGRhdGVzIHRvIEdEYXRlLCBhcyBmb3VuZCBpbiBtYW55IEZMViBmaWxlcy4KCjIwMDktMDQtMjIgMTk6NTI6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCA1MC81N10gZmx2OiBBZGQgZG9jdW1lbnRhdGlvbiB0byBmbHZtdXggYW5kIGZsdmRlbXV4CgkgIFBhcnRpYWxseSBmaXhlcyBidWcgIzU3MzczNy4KCjIwMDktMDEtMjIgMTM6Mzk6MzQgKzAxMDAgIEphbiBVcmJhbnNraSA8ai51cmJhbnNraUBzdHVkZW50cy5taW11dy5lZHUucGw+CgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCA0OS81N10gQWRkIHN1cHBvcnQgZm9yIEVDTUEgYXJyYXlzIGluIHNjcmlwdCB0YWdzLiBGaXhlcyBidWcgIzU2Nzk2NS4KCSAgQWRkIHN1cHBvcnQgZm9yIEVDTUEgYXJyYXlzIGluIHNjcmlwdCB0YWdzLiBUaGlzIGZpeGVzCgkgIHNlZWtpbmcgb24gc29tZSBmaWxlcyB0aGF0IGhhdmUgdGhlIHNlZWsgdGFibGUgc3RvcmVkCgkgIGluc2lkZSBhbiBFQ01BIGFycmF5IGluc3RlYWQgb2YgdGhlIG5vcm1hbCBhcnJheS4KCjIwMDgtMTItMDMgMTE6NDM6MDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCA0OC81N10gZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBDaGVjayBpZiBzdHJpbmdzIGFyZSB2YWxpZCBVVEY4IGJlZm9yZSB1c2luZyB0aGVtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChGTFZfR0VUX1NUUklORyk6CgkgIENoZWNrIGlmIHN0cmluZ3MgYXJlIHZhbGlkIFVURjggYmVmb3JlIHVzaW5nIHRoZW0uCgoyMDA4LTExLTI0IDExOjE3OjE5ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCA0Ny81N10gZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBGaXggbm9uIGtleSB1bml0IHNlZWtpbmcgYnkgYWx3YXlzIGdvaW5nIHRvIHRoZSBwcmV2aW91cyBrZXlmcmFtZS4gTWFyayB0aGUgZGlzY29udCBmbGFnIHdoZW4gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTExLTI0ICBKdWxpZW4gTW91dHRlICA8anVsaWVuQGZsdWVuZG8uY29tPgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfZmluZF9vZmZzZXQpLAoJICAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdXNoKSwKCSAgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVsbCk6CgkgIEZpeCBub24ga2V5IHVuaXQgc2Vla2luZyBieSBhbHdheXMgZ29pbmcgdG8gdGhlIHByZXZpb3VzCgkgIGtleWZyYW1lLiBNYXJrCgkgIHRoZSBkaXNjb250IGZsYWcgd2hlbiB3ZSd2ZSBtb3ZlZCBpbiB0aGUgZmlsZS4KCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX2F1ZGlvX25lZ290aWF0ZSk6IE1QMwoJICBzdHJlYW1zCgkgIGFyZSBwYXJzZWQgYWxyZWFkeSwgbWFrZXMgYXV0b3BsdWdnZWQgcGlwZWxpbmVzIHNob3J0ZXIuCgoyMDA4LTExLTA0IDEyOjQyOjMwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQUQgNDYvNTddIERvbid0IGluc3RhbGwgc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMuIEZpeGVzICM1NTA4NTEgZm9yIC1iYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhc3BkaWYvTWFrZWZpbGUuYW06CgkgICogZXh0L2FtcndiL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hcGV4c2luay9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXJ0cy9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXJ0c2QvTWFrZWZpbGUuYW06CgkgICogZXh0L2F1ZGlvZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvYnoyL01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZGF1ZGlvL01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZWx0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kYzEzOTQvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpcmFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXJlY3RmYi9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGl2eC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZHRzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9mYWFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9mYWFkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9nc20vTWFrZWZpbGUuYW06CgkgICogZXh0L2hlcm1lcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvaXZvcmJpcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvanAyay9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9sY3MvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYmZhbWUvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYm1tcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06CgkgICogZXh0L21wZWcyZW5jL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tcGxleC9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXVzZXBhY2svTWFrZWZpbGUuYW06CgkgICogZXh0L211c2ljYnJhaW56L01ha2VmaWxlLmFtOgoJICAqIGV4dC9teXRodHYvTWFrZWZpbGUuYW06CgkgICogZXh0L25hcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbmVvbi9NYWtlZmlsZS5hbToKCSAgKiBleHQvb2ZhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9wb2x5cC9NYWtlZmlsZS5hbToKCSAgKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkgICogZXh0L3NkbC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc2hvdXQvTWFrZWZpbGUuYW06CgkgICogZXh0L3NuYXBzaG90L01ha2VmaWxlLmFtOgoJICAqIGV4dC9zbmRmaWxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zb3VuZHRvdWNoL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zcGMvTWFrZWZpbGUuYW06CgkgICogZXh0L3N3ZmRlYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFya2luL01ha2VmaWxlLmFtOgoJICAqIGV4dC90aGVvcmEvTWFrZWZpbGUuYW06CgkgICogZXh0L3RpbWlkaXR5L01ha2VmaWxlLmFtOgoJICAqIGV4dC90d29sYW1lL01ha2VmaWxlLmFtOgoJICAqIGV4dC94MjY0L01ha2VmaWxlLmFtOgoJICAqIGV4dC94aW5lL01ha2VmaWxlLmFtOgoJICAqIGV4dC94dmlkL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L01ha2VmaWxlLmFtOgoJICAqIGdzdC9haWZmcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9idWZmZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2JheWVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9jZHhhcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NoYXJ0L01ha2VmaWxlLmFtOgoJICAqIGdzdC9jb2xvcnNwYWNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kY2NwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kdmRzcHUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2Zlc3RpdmFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9maWx0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZsYWNwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJICAqIGdzdC9nYW1lcy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaDI2NHBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06CgkgICogZ3N0L21peG1hdHJpeC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbW9kcGx1Zy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZzFzeXMvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWc0dmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ2RlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVndHNtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L25zZi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbnV2ZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L292ZXJsYXkvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Bhc3N0aHJvdWdoL01ha2VmaWxlLmFtOgoJICAqIGdzdC9wY2FwcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L3BsYXlvbmRlbWFuZC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmF3cGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L3JlYWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0anBlZy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2RwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zZWxlY3Rvci9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc21vb3RoL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zbW9vdGh3YXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVlZC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3RlcmVvL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zdWJlbmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3R0YS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmJpZGVjL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2Ryb3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvc2lnbmFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aXJ0dWFsZHViL01ha2VmaWxlLmFtOgoJICAqIGdzdC92bW5jL01ha2VmaWxlLmFtOgoJICAqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkgICogc3lzL2FjbWVuYy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvY2Ryb20vTWFrZWZpbGUuYW06CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kdmIvTWFrZWZpbGUuYW06CgkgICogc3lzL2R4cjMvTWFrZWZpbGUuYW06CgkgICogc3lzL2ZiZGV2L01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3M0L01ha2VmaWxlLmFtOgoJICAqIHN5cy9xY2FtL01ha2VmaWxlLmFtOgoJICAqIHN5cy9xdHdyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL3ZjZC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvd2luaW5ldC9NYWtlZmlsZS5hbToKCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIERvbid0IGluc3RhbGwgc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMuIEZpeGVzICM1NTA4NTEgZm9yIC1iYWQuCgoyMDA4LTEwLTI4IDE4OjQ0OjQ0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgNDUvNTddIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogSW1wbGVtZW50IHBvc2l0aW9uIHF1ZXJ5IGluIHRpbWUgZm9ybWF0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X3F1ZXJ5KToKCSAgSW1wbGVtZW50IHBvc2l0aW9uIHF1ZXJ5IGluIHRpbWUgZm9ybWF0LgoKMjAwOC0xMC0yOCAxODo0MToxOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDQ0LzU3XSBnc3QvZmx2LzogUHV0IHRoZSBHc3RTZWdtZW50IGRpcmVjdGx5IGludG8gdGhlIGluc3RhbmNlIHN0cnVjdCBpbnN0ZWFkIG9mIGFsbG9jYXRpbmcgYW5kIGZyZWUnaW5nIGl0IGFnYWluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2NsZWFudXApLAoJICAoZ3N0X2Zsdl9kZW11eF9sb29wKSwgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVzaCksCgkgIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1bGwpLCAoZ3N0X2Zsdl9kZW11eF9zaW5rX2V2ZW50KSwKCSAgKGdzdF9mbHZfZGVtdXhfZGlzcG9zZSksIChnc3RfZmx2X2RlbXV4X2luaXQpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyksIChnc3RfZmx2X3BhcnNlX3RhZ190aW1lc3RhbXApOgoJICBQdXQgdGhlIEdzdFNlZ21lbnQgZGlyZWN0bHkgaW50byB0aGUgaW5zdGFuY2Ugc3RydWN0IGluc3RlYWQgb2YKCSAgYWxsb2NhdGluZyBhbmQgZnJlZSdpbmcgaXQgYWdhaW4uCgkgIFB1c2ggdGFncyBhbHJlYWR5IGlmIG9ubHkgb25lIHBhZCB3YXMgYWRkZWQsIG5vIG5lZWQgdG8gd2FpdCBmb3IKCSAgdGhlIHNlY29uZCBvbmUuCgkgIFdoZW4gZ2VuZXJhdGluZyBvdXIgaW5kZXggc2V0IGhhc192aWRlbyBhbmQgaGFzX2F1ZGlvIGlmIHdlIGZpbmQKCSAgdmlkZW8gb3IgYXVkaW8gaW4gY2FzZSB0aGUgRkxWIGhlYWRlciBoYXMgaW5jb3JyZWN0IGRhdGEuCgoyMDA4LTEwLTI3IDA5OjQ1OjA0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgNDMvNTddIGdzdC9mbHYvOiBEb24ndCBtZW1jcHkoKSBhbGwgZGF0YSB3ZSB3YW50IHRvIHB1c2ggZG93bnN0cmVhbSwgaW5zdGVhZCBqdXN0IGNyZWF0ZSBzdWJidWZmZXJzIGFuZCBwdXNoIHRoZW0gZG93bnN0cmVhbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9jaGFpbiksCgkgIChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKSwgKGdzdF9mbHZfZGVtdXhfcHVsbF9oZWFkZXIpLAoJICAoZ3N0X2Zsdl9kZW11eF9jcmVhdGVfaW5kZXgpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX3NjcmlwdCksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ190aW1lc3RhbXApLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdHlwZSksCgkgIChnc3RfZmx2X3BhcnNlX2hlYWRlcik6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5oOgoJICBEb24ndCBtZW1jcHkoKSBhbGwgZGF0YSB3ZSB3YW50IHRvIHB1c2ggZG93bnN0cmVhbSwgaW5zdGVhZCBqdXN0CgkgIGNyZWF0ZSBzdWJidWZmZXJzIGFuZCBwdXNoIHRoZW0gZG93bnN0cmVhbS4KCSAgRml4IHNvbWUgbWlub3IgbWVtb3J5IGxlYWtzLgoKMjAwOC0xMC0yNyAwOTo0MToxOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDQyLzU3XSBnc3QvZmx2L01ha2VmaWxlLmFtOiBGaXggKG5vbi1jcml0aWNhbCkgc3ludGF4IGVycm9yIGFuZCBhZGQgYWxsIHJlcXVpcmVkIENGTEFHUyBhbmQgTElCUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSAgRml4IChub24tY3JpdGljYWwpIHN5bnRheCBlcnJvciBhbmQgYWRkIGFsbCByZXF1aXJlZCBDRkxBR1MgYW5kIExJQlMuCgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoRkxWX0dFVF9TVFJJTkcpLAoJICAoZ3N0X2Zsdl9wYXJzZV9tZXRhZGF0YV9pdGVtKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3NjcmlwdCksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ190aW1lc3RhbXApLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdHlwZSk6CgkgIFJld3JpdGUgdGhlIHNjcmlwdCB0YWcgcGFyc2luZyB0byBtYWtlIHN1cmUgd2UgZG9uJ3QgdHJ5IHRvIHJlYWQKCSAgbW9yZSBkYXRhIHRoYW4gd2UgaGF2ZS4gQWxzbyB1c2UgR1NUX1JFQURfVUlOVDI0X0JFIGRpcmVjdGx5IGFuZAoJICBmaXggc29tZSBtaW5vciBtZW1vcnkgbGVha3MuCgkgIFRoaXMgc2hvdWxkIG1ha2UgYWxsIGNyYXNoZXMgb24gZnV6emVkIEZMViBmaWxlcyBkaXNhcHBlYXIuCgoyMDA4LTEwLTI3IDA5OjM3OjIxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgNDEvNTddIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogUHJvcGVybHkgY2hlY2sgZXZlcnl3aGVyZSB0aGF0IHdlIGhhdmUgZW5vdWdoIGRhdGEgdG8gcGFyc2UgYW5kIGRvbid0IHJlYWQgb3V0c2lkZSB0aGUgYWxsb2NhdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChGTFZfR0VUX1NUUklORyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ190eXBlKSwgKGdzdF9mbHZfcGFyc2VfaGVhZGVyKToKCSAgUHJvcGVybHkgY2hlY2sgZXZlcnl3aGVyZSB0aGF0IHdlIGhhdmUgZW5vdWdoIGRhdGEgdG8gcGFyc2UgYW5kCgkgIGRvbid0IHJlYWQgb3V0c2lkZSB0aGUgYWxsb2NhdGVkIG1lbW9yeSByZWdpb24uCgoyMDA4LTEwLTI3IDA5OjM1OjM0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgNDAvNTddIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogSWYgdGhlIGNhcHMgY2hhbmdlIGR1cmluZyBwbGF5YmFjayBhbmQgbmVnb3RpYXRpb24gZmFpbHMgZXJyb3Igb3V0IGluc3RlYWQgb2YgdHJ5aW5nIHRvIGNvbnRpbnVlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6CgkgIElmIHRoZSBjYXBzIGNoYW5nZSBkdXJpbmcgcGxheWJhY2sgYW5kIG5lZ290aWF0aW9uIGZhaWxzIGVycm9yIG91dAoJICBpbnN0ZWFkIG9mIHRyeWluZyB0byBjb250aW51ZS4KCjIwMDgtMTAtMjcgMDk6MzM6NDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAzOS81N10gZ3N0L2Zsdi86IEFkZCBzdXBwb3J0IGZvciBTcGVleCBhdWRpbyBhbmQgYWxsb3cgYnVmZmVycyB3aXRob3V0IHZhbGlkIHRpbWVzdGFtcCBpbiB0aGUgbXV4ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6IChnc3RfZmx2X211eF9hdWRpb19wYWRfc2V0Y2FwcyksCgkgIChnc3RfZmx2X211eF9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X2Zsdl9tdXhfd3JpdGVfYnVmZmVyKSwKCSAgKGdzdF9mbHZfbXV4X2NvbGxlY3RlZCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX2F1ZGlvX25lZ290aWF0ZSk6CgkgIEFkZCBzdXBwb3J0IGZvciBTcGVleCBhdWRpbyBhbmQgYWxsb3cgYnVmZmVycyB3aXRob3V0IHZhbGlkCgkgIHRpbWVzdGFtcCBpbiB0aGUgbXV4ZXIuCgoyMDA4LTEwLTI3IDA5OjMyOjAzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMzgvNTddIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogRG9uJ3QgcG9zdCBhbiBlcnJvciBtZXNzYWdlIG9uIHRoZSBidXMgaWYgc2VuZGluZyBFT1MgZG93bnN0cmVhbSBkaWRuJ3Qgd29yay4gRml4ZXMgYnVnICM1NTA0NTQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfbG9vcCksCgkgIChnc3RfZmx2X2RlbXV4X2ZpbmRfb2Zmc2V0KSwgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVzaCksCgkgIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1bGwpOgoJICBEb24ndCBwb3N0IGFuIGVycm9yIG1lc3NhZ2Ugb24gdGhlIGJ1cyBpZiBzZW5kaW5nIEVPUyBkb3duc3RyZWFtCgkgIGRpZG4ndCB3b3JrLiBGaXhlcyBidWcgIzU1MDQ1NC4KCSAgRml4IHNlZWsgZXZlbnQgaGFuZGxpbmcgdG8gbG9vayBhdCB0aGUgZmxhZ3Mgb2YgdGhlIHNlZWsgZXZlbnQKCSAgaW5zdGVhZCBvZiBhc3N1bWluZyBzb21lIHJhbmRvbSBmbGFncywgZG9uJ3Qgc2VuZCBzZWdtZW50LXN0YXJ0CgkgIG1lc3NhZ2VzIHdoZW4gb3BlcmF0aW5nIGluIHB1c2ggbW9kZSBhbmQgcHVzaCBzZWVrIGV2ZW50cyB1cHN0cmVhbQoJICBpZiB3ZSBjb3VsZG4ndCBoYW5kbGUgdGhlbS4KCjIwMDgtMTAtMjcgMDk6Mjc6MTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAzNy81N10gZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBFcnJvciBvdXQgZWFybHkgaWYgcHVsbGluZyBhIHRhZyBmYWlsZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpOgoJICBFcnJvciBvdXQgZWFybHkgaWYgcHVsbGluZyBhIHRhZyBmYWlsZWQuCgoyMDA4LTEwLTI3IDA5OjI1OjExICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMzYvNTddIGdzdC9mbHYvOiBJbiBwdWxsIG1vZGUgd2UgY3JlYXRlIG91ciBvd24gaW5kZXggYmVmb3JlIGRvaW5nIGFueXRoaW5nIGVsc2UgYW5kIGRvbid0IHVzZSB0aGUgaW5kZXggcHJvdmlkZWQgYnkgc29tZSBmaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2NyZWF0ZV9pbmRleCksCgkgIChnc3RfZmx2X2RlbXV4X2xvb3ApOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX3NjcmlwdCksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ190aW1lc3RhbXApOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuaDoKCSAgSW4gcHVsbCBtb2RlIHdlIGNyZWF0ZSBvdXIgb3duIGluZGV4IGJlZm9yZSBkb2luZyBhbnl0aGluZyBlbHNlCgkgIGFuZCBkb24ndCB1c2UgdGhlIGluZGV4IHByb3ZpZGVkIGJ5IHNvbWUgZmlsZXMgKHdoaWNoIGFyZSBtb3JlIHRoYW4KCSAgb2Z0ZW4gaW5jb3JyZWN0IGFuZCBjYXVzZSBmYWlsZWQgc2Vla3MpLgoJICBGb3IgcHVzaCBtb2RlIHdlIHN0aWxsIHVzZSB0aGUgaW5kZXggcHJvdmlkZWQgYnkgdGhlIGZpbGUgYW5kIGV4dGVuZCBpdAoJICB3aGlsZSBkb2luZyB0aGUgcGxheWJhY2suCgoyMDA4LTEwLTI3IDA5OjIwOjAxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMzUvNTddIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogSW5zdGVhZCBvZiB1c2luZyBnc3RfcGFkX2V2ZW50X2RlZmF1bHQoKSB1c2UgYSBzbWFsbCBnc3RfcGFkX3B1c2hfZXZlbnQoKSB3cmFwcGVyIHRoYXQgb25seSBkby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X3B1c2hfc3JjX2V2ZW50KSwKCSAgKGdzdF9mbHZfZGVtdXhfbG9vcCksIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1bGwpLAoJICAoZ3N0X2Zsdl9kZW11eF9zaW5rX2V2ZW50KToKCSAgSW5zdGVhZCBvZiB1c2luZyBnc3RfcGFkX2V2ZW50X2RlZmF1bHQoKSB1c2UgYSBzbWFsbAoJICBnc3RfcGFkX3B1c2hfZXZlbnQoKSB3cmFwcGVyIHRoYXQgb25seSBkb2VzIHdoYXQgd2Ugd2FudCBhbmQgaXMgbXVjaAoJICBtb3JlIHNpbXBsZS4KCjIwMDgtMTAtMjcgMDk6MTQ6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAzNC81N10gZ3N0L2Zsdi9nc3RmbHZkZW11eC4qOiBJZiBvdXIgaW5kZXggd2FzIGNyZWF0ZWQgYnkgdGhlIGVsZW1lbnQgYW5kIG5vdCBwcm92aWRlZCBmcm9tIHRoZSBvdXRzaWRlIHdlIHNob3VsZCBkZXN0cm95IGl0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9mbHZfZGVtdXhfc2V0X2luZGV4KSwgKGdzdF9mbHZfZGVtdXhfaW5pdCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICBJZiBvdXIgaW5kZXggd2FzIGNyZWF0ZWQgYnkgdGhlIGVsZW1lbnQgYW5kIG5vdCBwcm92aWRlZCBmcm9tIHRoZQoJICBvdXRzaWRlIHdlIHNob3VsZCBkZXN0cm95IGl0IHdoZW4gc3RhcnRpbmcgYSBuZXcgc3RyZWFtIHRvIGdldAoJICBhbGwgb2xkIGVudHJpZXMgcmVtb3ZlZC4KCjIwMDgtMTAtMjcgMDk6MTI6MzMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAzMy81N10gZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBJbXByb3ZlIGRlYnVnZ2luZyBhIGJpdCB3aGVuIHB1bGxpbmcgYSBidWZmZXIgZnJvbSB1cHN0cmVhbSBmYWlscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9wdWxsX3JhbmdlKToKCSAgSW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQgd2hlbiBwdWxsaW5nIGEgYnVmZmVyIGZyb20gdXBzdHJlYW0gZmFpbHMuCgoyMDA4LTEwLTI3IDA5OjEwOjU0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMzIvNTddIGdzdC9mbHYvOiBDbG9zZSB0aGUgY3VycmVudGx5IHBsYXlpbmcgc2VnbWVudCBmcm9tIHRoZSBzdHJlYW1pbmcgdGhyZWFkIGluc3RlYWQgb2YgdGhlIHRocmVhZCB3aGVyZSB0aGUgc2VlayBldmVudCBpcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2NsZWFudXApLAoJICAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdWxsKSwgKGdzdF9mbHZfZGVtdXhfZGlzcG9zZSk6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKToKCSAgQ2xvc2UgdGhlIGN1cnJlbnRseSBwbGF5aW5nIHNlZ21lbnQgZnJvbSB0aGUgc3RyZWFtaW5nIHRocmVhZAoJICBpbnN0ZWFkIG9mIHRoZSB0aHJlYWQgd2hlcmUgdGhlIHNlZWsgZXZlbnQgaXMgaGFuZGxlZC4KCjIwMDgtMTAtMTYgMTU6MjE6MTUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAzMS81N10gZ3N0L2Zsdi9nc3RmbHZtdXguYzogRG9uJ3Qgc2V0IHZpZGVvX2NvZGVjIHRvIHRoZSB2YWx1ZSB0aGF0IGFjdHVhbGx5IHNob3VsZCBnbyBpbnRvIGF1ZGlvIGNvZGVjLCBvdGhlcndpc2Ugd2UgY3JlYXRlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6IChnc3RfZmx2X211eF9hdWRpb19wYWRfc2V0Y2FwcyksCgkgIChnc3RfZmx2X211eF93cml0ZV9idWZmZXIpOgoJICBEb24ndCBzZXQgdmlkZW9fY29kZWMgdG8gdGhlIHZhbHVlIHRoYXQgYWN0dWFsbHkgc2hvdWxkIGdvCgkgIGludG8gYXVkaW8gY29kZWMsIG90aGVyd2lzZSB3ZSBjcmVhdGUgaW52YWxpZCBmaWxlcy4KCSAgRml4ZXMgYnVnICM1NTY1NjQuCgoyMDA4LTEwLTEyIDE3OjA4OjEwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMzAvNTddIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogRml4IHJlZ3Jlc3Npb24gb2YgaGFuZGxpbmcgZmxvdyByZXR1cm5zIGluIHB1bGwgbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyksCgkgIChnc3RfZmx2X2RlbXV4X3B1bGxfaGVhZGVyKToKCSAgRml4IHJlZ3Jlc3Npb24gb2YgaGFuZGxpbmcgZmxvdyByZXR1cm5zIGluIHB1bGwgbW9kZS4KCSAgRml4ZXMgYnVnICM1NTYwMDMuCgoyMDA4LTEwLTEwIDE2OjMzOjM2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMjkvNTddIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogVXNlIGdzdF9wYWRfYWxsb2NfYnVmZmVyX2FuZF9zZXRfY2FwcygpIHRvIG1ha2Ugc3VyZSB3ZSBnZXQgYSBidWZmZXIgd2l0aCBjYXBzIHRoYXQgd2UgY2FuIHdvci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6CgkgIFVzZSBnc3RfcGFkX2FsbG9jX2J1ZmZlcl9hbmRfc2V0X2NhcHMoKSB0byBtYWtlIHN1cmUgd2UgZ2V0CgkgIGEgYnVmZmVyIHdpdGggY2FwcyB0aGF0IHdlIGNhbiB3b3JrIHdpdGggKGkuZS4gdGhlIHBhZCdzIGNhcHMpLgoJICBBZGQgbm9uLWtleWZyYW1lIHZpZGVvIGZyYW1lcyB0byB0aGUgaW5kZXggdG9vIGJ1dCB3aXRob3V0IHRoZQoJICBrZXlmcmFtZSBmbGFnLgoJICBBZGQgYXVkaW8gZnJhbWVzIHRvIHRoZSBpbmRleCBvbmx5IGlmIHdlIGhhdmUgbm8gdmlkZW8gc3RyZWFtLgoKMjAwOC0xMC0xMCAxNjoxNTowOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDI4LzU3XSBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IENyZWF0ZSBwYWRzIGZyb20gdGhlIHBhZCB0ZW1wbGF0ZXMsIHVzZSBmaXhlZCBjYXBzIG9uIHRoZW0gYW5kIG9ubHkgYWN0aXZhdGUgdGhlbSBhZnRlciB0aGUgY2EuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOgoJICBDcmVhdGUgcGFkcyBmcm9tIHRoZSBwYWQgdGVtcGxhdGVzLCB1c2UgZml4ZWQgY2FwcyBvbiB0aGVtCgkgIGFuZCBvbmx5IGFjdGl2YXRlIHRoZW0gYWZ0ZXIgdGhlIGNhcHMgYXJlIHNldC4KCjIwMDgtMTAtMDkgMTY6MjA6MjYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAyNy81N10gZ3N0L2Zsdi86IEdldCBhbiBhcHByb3hpbWF0ZSBkdXJhdGlvbiBvZiB0aGUgZmlsZSBieSBsb29raW5nIGF0IHRoZSB0aW1lc3RhbXAgb2YgdGhlIGxhc3QgdGFnIGluIHB1bGwgbW9kZS4gSWYgd2UgZ2V0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfbG9vcCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfdGltZXN0YW1wKToKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmg6CgkgIEdldCBhbiBhcHByb3hpbWF0ZSBkdXJhdGlvbiBvZiB0aGUgZmlsZSBieSBsb29raW5nIGF0IHRoZSB0aW1lc3RhbXAKCSAgb2YgdGhlIGxhc3QgdGFnIGluIHB1bGwgbW9kZS4gSWYgd2UgZ2V0IChtYXliZSBiZXR0ZXIpIGR1cmF0aW9uIGZyb20KCSAgbWV0YWRhdGEgbGF0ZXIgd2UnbGwgdXNlIHRoYXQgaW5zdGVhZC4KCjIwMDgtMTAtMDkgMTU6NDM6MDIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAyNi81N10gZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBSZWZhY3RvciBfcHVsbF9yYW5nZSgpIGxvZ2ljIHdpdGggY2hlY2tzIGludG8gYSBzZXBlcmF0ZSBmdW5jdGlvbiB0byBtYWtlIHRoaW5ncyBhIGJpdCBtb3JlIHJlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfcHVsbF9yYW5nZSksCgkgIChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKSwgKGdzdF9mbHZfZGVtdXhfcHVsbF9oZWFkZXIpOgoJICBSZWZhY3RvciBfcHVsbF9yYW5nZSgpIGxvZ2ljIHdpdGggY2hlY2tzIGludG8gYSBzZXBlcmF0ZSBmdW5jdGlvbgoJICB0byBtYWtlIHRoaW5ncyBhIGJpdCBtb3JlIHJlYWRhYmxlLgoKMjAwOC0xMC0wOSAxNToyNjo1NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDI1LzU3XSBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IFVzZSBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9jaGFpbiksCgkgIChnc3RfZmx2X2RlbXV4X2Jhc2VfaW5pdCk6CgkgIFVzZSBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUoKS4KCSAgSWYgd2UgZ2V0IEdTVF9GTE9XX05PVF9MSU5LRUQgaW4gdGhlIHBhcnNlIGxvb3AgYnV0IGF0IGxlYXN0CgkgIG9uZSBvZiB0aGUgcGFkcyBpcyBsaW5rZWQgY29udGludWUgdGhlIGxvb3AuCgoyMDA4LTEwLTA5IDEwOjAwOjUxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMjQvNTddIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogQ29ycmVjdCBjYXBzIGZvciB2aWRlbyBjb2RlYyBpZCA1OiBJdCdzIE9uMiBWUDYgd2l0aCBhbHBoYSBjaGFubmVsIHdoaWNoIG5lZWRzIGEgZGlmZmVyZW50IGRlYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX2F1ZGlvX25lZ290aWF0ZSksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksIChnc3RfZmx2X3BhcnNlX3ZpZGVvX25lZ290aWF0ZSk6CgkgIENvcnJlY3QgY2FwcyBmb3IgdmlkZW8gY29kZWMgaWQgNTogSXQncyBPbjIgVlA2IHdpdGggYWxwaGEgY2hhbm5lbAoJICB3aGljaCBuZWVkcyBhIGRpZmZlcmVudCBkZWNvZGVyIGFuZCBoYXMgZGlmZmVyZW50IGNhcHMuCgkgIEFkZCBzdXBwb3J0IGZvciBhdWRpbyBjb2RlYyBpZCAxNCwgd2hpY2ggaXMgTVAzIHdpdGggOGtIeiBzYW1wbGluZwoJICByYXRlLgoJICBGaXggZW5kaWFubmVzcyBhbmQgc2lnbmVkbmVzcyBmb3IgcmF3IGF1ZGlvIGNvZGVjIGlkcy4KCSAgQWRkIHN1cHBvcnQgZm9yIGFsYXcgYW5kIG11bGF3IGF1ZGlvLgoKMjAwOC0xMC0wOSAwOTo0ODo0NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDIzLzU3XSBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEdvIG91dCBvZiB0aGUgcGFyc2UgbG9vcCBhcyBzb29uIGFzIHdlIGdldCBhbiBlcnJvciBpbnN0ZWFkIG9mIHBhcnNpbmcgdW50aWwgdGhlIEdzdEFkYXB0ZXIgaXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9jaGFpbik6CgkgIEdvIG91dCBvZiB0aGUgcGFyc2UgbG9vcCBhcyBzb29uIGFzIHdlIGdldCBhbiBlcnJvciBpbnN0ZWFkCgkgIG9mIHBhcnNpbmcgdW50aWwgdGhlIEdzdEFkYXB0ZXIgaXMgZW1wdHkuCgkgIEFkZCBzb21lIGV4cGxhbmF0aW9ucyBhYm91dCB0aGUgaGVhZGVyIGFuZCB0YWcgc2l6ZS4KCSAgRG9uJ3QgcHJpbnQgc3luY2hyb25pemluZyBtZXNzYWdlIGlmIGV2ZXJ5dGhpbmcgaXMgZmluZS4KCjIwMDgtMTAtMDkgMDk6MjY6NTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAyMi81N10gZ3N0L2Zsdi86IEFkZCBmaXJzdCB2ZXJzaW9uIG9mIGEgRkxWIG11eGVyLiBUaGUgb25seSBtaXNzaW5nIGZlYXR1cmUgaXMgd3JpdGluZyBvZiBzdHJlYW0gbWV0YWRhdGEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6IChnc3RfZmx2X211eF9iYXNlX2luaXQpLAoJICAoZ3N0X2Zsdl9tdXhfY2xhc3NfaW5pdCksIChnc3RfZmx2X211eF9pbml0KSwKCSAgKGdzdF9mbHZfbXV4X2ZpbmFsaXplKSwgKGdzdF9mbHZfbXV4X3Jlc2V0KSwKCSAgKGdzdF9mbHZfbXV4X2hhbmRsZV9zcmNfZXZlbnQpLCAoZ3N0X2Zsdl9tdXhfaGFuZGxlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2Zsdl9tdXhfdmlkZW9fcGFkX3NldGNhcHMpLCAoZ3N0X2Zsdl9tdXhfYXVkaW9fcGFkX3NldGNhcHMpLAoJICAoZ3N0X2Zsdl9tdXhfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9mbHZfbXV4X3JlbGVhc2VfcGFkKSwKCSAgKGdzdF9mbHZfbXV4X3dyaXRlX2hlYWRlciksIChnc3RfZmx2X211eF93cml0ZV9idWZmZXIpLAoJICAoZ3N0X2Zsdl9tdXhfY29sbGVjdGVkKSwgKGdzdF9mbHZfbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSAgQWRkIGZpcnN0IHZlcnNpb24gb2YgYSBGTFYgbXV4ZXIuIFRoZSBvbmx5IG1pc3NpbmcgZmVhdHVyZSBpcyB3cml0aW5nCgkgIG9mIHN0cmVhbSBtZXRhZGF0YS4KCjIwMDgtMDYtMTMgMjI6NDY6NDMgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDIxLzU3XSBnc3QvZmx2LzogSW50cm9kdWNlIGRlbXV4aW5nIHN1cHBvcnQgZm9yIEFBQyBhbmQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMDYtMTQgIEp1bGllbiBNb3V0dGUgIDxqdWxpZW5AZmx1ZW5kby5jb20+CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9jbGVhbnVwKSwKCSAgKGdzdF9mbHZfZGVtdXhfZGlzcG9zZSk6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfYXVkaW9fbmVnb3RpYXRlKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwgKGdzdF9mbHZfcGFyc2VfdmlkZW9fbmVnb3RpYXRlKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKTogSW50cm9kdWNlIGRlbXV4aW5nIHN1cHBvcnQgZm9yIEFBQwoJICBhbmQKCSAgSC4yNjQvQVZDIGluc2lkZSBGTFYuCgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmM6CgkgIChnc3RfZHNob3dhdWRpb2RlY19pbml0KSwKCSAgKGdzdF9kc2hvd2F1ZGlvZGVjX2NoYWluKSwgKGdzdF9kc2hvd2F1ZGlvZGVjX3B1c2hfYnVmZmVyKSwKCSAgKGdzdF9kc2hvd2F1ZGlvZGVjX3NpbmtfZXZlbnQpLCAoZ3N0X2RzaG93YXVkaW9kZWNfc2V0dXBfZ3JhcGgpOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5oOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jOgoJICAoZ3N0X2RzaG93dmlkZW9kZWNfaW5pdCksCgkgIChnc3RfZHNob3d2aWRlb2RlY19zaW5rX2V2ZW50KSwgKGdzdF9kc2hvd3ZpZGVvZGVjX2NoYWluKSwKCSAgKGdzdF9kc2hvd3ZpZGVvZGVjX3B1c2hfYnVmZmVyKSwKCSAgKGdzdF9kc2hvd3ZpZGVvZGVjX3NyY19nZXRjYXBzKToKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuaDogTG90IG9mIHJhbmRvbSBmaXhlcwoJICB0byBpbXByb3ZlIHN0YWJpbGl0eSAocmVmIGNvdW50aW5nLCBzYWZldHkgY2hlY2tzLi4uKQoKMjAwOC0wNC0yNSAwODowNzozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAyMC81N10gZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBGb3J3YXJkIHVua25vd24gcXVlcmllcyB1cHN0cmVhbSBpbnN0ZWFkIG9mIHJldHVybmluZyBGQUxTRSBvbiB0aGVtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X3F1ZXJ5KToKCSAgRm9yd2FyZCB1bmtub3duIHF1ZXJpZXMgdXBzdHJlYW0gaW5zdGVhZCBvZiByZXR1cm5pbmcgRkFMU0Ugb24gdGhlbS4KCjIwMDgtMDQtMTEgMjM6MTk6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQUQgMTkvNTddIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogSGFuZGxlIE5VTEwgcmV0dXJucyBmcm9tIEZMVl9HRVRfU1RSSU5HKCkgbW9yZSBncmFjZWZ1bGx5LiBGaXhlcyBjcmFzaCBjYXVzZWQgYnkgYSBzdHJsZW4gb24gYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX21ldGFkYXRhX2l0ZW0pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfc2NyaXB0KToKCSAgSGFuZGxlIE5VTEwgcmV0dXJucyBmcm9tIEZMVl9HRVRfU1RSSU5HKCkgbW9yZSBncmFjZWZ1bGx5LiBGaXhlcwoJICBjcmFzaCBjYXVzZWQgYnkgYSBzdHJsZW4gb24gYSBOVUxMIHN0cmluZyAoIzUyNzYyMikuCgoyMDA3LTEyLTExIDExOjU0OjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDE4LzU3XSBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IERvbid0IHN0cmR1cCAoYW5kIHRodXMgbGVhaykgY29kZWMgbmFtZSBzdHJpbmdzIHdoZW4gcGFzc2luZyB0aGVtIHRvIGdzdF90YWdfbGlzdF9hZGQoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOgoJICBEb24ndCBzdHJkdXAgKGFuZCB0aHVzIGxlYWspIGNvZGVjIG5hbWUgc3RyaW5ncyB3aGVuIHBhc3NpbmcKCSAgdGhlbSB0byBnc3RfdGFnX2xpc3RfYWRkKCkuCgoyMDA3LTEyLTA5IDE5OjM3OjUzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgW01PVkVEIEZST00gQkFEIDE3LzU3XSBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IEZpeCBsaXN0IG9mIHN1cHBvcnRlZCBhbmQga25vd24gY29kZWNzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6CgkgIEZpeCBsaXN0IG9mIHN1cHBvcnRlZCBhbmQga25vd24gY29kZWNzLgoJICBFbWl0IHRhZyB3aXRoIHRoZSBjb2RlYyBuYW1lIHNvIGl0IGdldHMgcHJvcGVybHkgcmVwb3J0ZWQgaW4gdG90ZW0gYW5kCgkgIG90aGVyIGFwcGxpY2F0aW9ucy4KCjIwMDctMTEtMjUgMTA6NDU6MDkgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBbTU9WRUQgRlJPTSBCQUQgMTYvNTddIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogT3V0cHV0IHNlZ21lbnQgd2l0aCBwcm9wZXIgJ3N0b3AnIHZhbHVlLCBtYWtlcyBmbHZkZW11eCAxMDAlIGNvbXBhdGlibGUgd2l0aCBnbm9ubGluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6CgkgIE91dHB1dCBzZWdtZW50IHdpdGggcHJvcGVyICdzdG9wJyB2YWx1ZSwgbWFrZXMgZmx2ZGVtdXggMTAwJSBjb21wYXRpYmxlCgkgIHdpdGggZ25vbmxpbi4KCjIwMDctMTEtMTIgMTk6MjI6MjQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBbTU9WRUQgRlJPTSBCQUQgMTUvNTddIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogQWRkIG1hcHBpbmcgZm9yIE5lbGx5bW9zZXIgQVNBTyBhdWRpbyBjb2RlYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBBZGQgbWFwcGluZyBmb3IgTmVsbHltb3NlciBBU0FPIGF1ZGlvIGNvZGVjLgoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOiBNYWtlIHN1cmUgd2UKCSAgYWN0dWFsbHkgaGF2ZSBkYXRhIHRvIHJlYWQgYXQgdGhlIGVuZCBvZiB0aGUgdGFnLiBUaGlzIGF2b2lkcyB0cnlpbmcKCSAgdG8gYWxsb2NhdGUgbmVnYXRpdmUgYnVmZmVycy4KCjIwMDctMTAtMjIgMTU6NDU6NDkgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDE0LzU3XSBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IERvbid0IGVtaXQgbm8tbW9yZS1wYWRzIGZvciBzaW5nbGUgcGFkIHNjZW5hcmlvcyBhcyB0aGUgaGVhZGVyIGlzIGRlZmluaXRlbHkgbm90IHJlbGlhYmxlLiBXZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTAtMjIgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyksIChnc3RfZmx2X3BhcnNlX3RhZ190eXBlKTogRG9uJ3QKCSAgZW1pdCBuby1tb3JlLXBhZHMgZm9yIHNpbmdsZSBwYWQgc2NlbmFyaW9zIGFzIHRoZSBoZWFkZXIKCSAgaXMgZGVmaW5pdGVseSBub3QgcmVsaWFibGUuIFdlIGVtaXQgdGhlbSBmb3IgMiBwYWRzIHNjZW5hcmlvcwoJICB0aG91Z2ggdG8gc3BlZWQgdXAgbWVkaWEgZGlzY292ZXJ5LgoKMjAwNy0wOS0yNyAxMDowNjoyMyArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQUQgMTMvNTddIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogSSBnb3QgaXQgd3JvbmcgYWdhaW4sIGF1ZGlvIHJhdGUgd2FzIG5vdCBkZXRlY3RlZCBjb3JyZWN0bHkgaW4gYWxsIGNhc2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wOS0yNyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKTogSSBnb3QgaXQgd3JvbmcgYWdhaW4sIGF1ZGlvIHJhdGUKCSAgd2FzIG5vdCBkZXRlY3RlZCBjb3JyZWN0bHkgaW4gYWxsIGNhc2VzLgoKMjAwNy0wOS0yNiAxNjozMDo1MCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQUQgMTIvNTddIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogY29kZWNfZGF0YSBpcyBuZWVkZWQgZm9yIGV2ZXJ5IHRhZyBub3QganVzdCB0aGUgZmlyc3Qgb25lLiAoRml4IGEgc3R1cGlkIGJ1ZyBpIGludHJvZHVjZWQgd2l0aC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wOS0yNiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKTogY29kZWNfZGF0YSBpcyBuZWVkZWQgZm9yIGV2ZXJ5IHRhZwoJICBub3QganVzdCB0aGUgZmlyc3Qgb25lLiAoRml4IGEgc3R1cGlkIGJ1ZyBpIGludHJvZHVjZWQgd2l0aG91dAoJICB0ZXN0aW5nKQoKMjAwNy0wOS0yNiAxMToxNzowOCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQUQgMTEvNTddIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogRml4IGJpdCBtYXNrcyBvcGVyYXRpb25zIHRvIGJlIHN1cmUgd2UgZGV0ZWN0IHRoZSBjb2RlY190YWdzIGFuZCBzYW1wbGUgcmF0ZXMgY29ycmVjdGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wOS0yNiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKTogRml4IGJpdCBtYXNrcyBvcGVyYXRpb25zIHRvIGJlCgkgIHN1cmUgd2UgZGV0ZWN0IHRoZSBjb2RlY190YWdzIGFuZCBzYW1wbGUgcmF0ZXMgY29ycmVjdGx5LgoJICBGaXggcmF3IGF1ZGlvIGNhcHMgZ2VuZXJhdGlvbi4KCjIwMDctMDktMTIgMDg6Mzg6MjIgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgW01PVkVEIEZST00gQkFEIDEwLzU3XSBnc3QvOiBQcmludGYgZm9ybWF0IGZpeGVzICgjNDc2MTI4KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBQZXRlciBLamVsbGVyc3RlZHQgIDxwa2ogYXQgYXhpcyBjb20+CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOgoJICBQcmludGYgZm9ybWF0IGZpeGVzICgjNDc2MTI4KS4KCjIwMDctMDgtMjcgMTQ6NTY6MDUgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDA5LzU3XSBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IE1ha2Ugc3VyZSB3ZSBpbml0aWFsaXplIHRoZSBzZWVrIHJlc3VsdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDgtMjcgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1bGwpOgoJICBNYWtlIHN1cmUgd2UgaW5pdGlhbGl6ZSB0aGUgc2VlayByZXN1bHQuCgoyMDA3LTA4LTI0IDE3OjAzOjE1ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAwOC81N10gZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBSZW1vdmUgc29tZSB1c2VsZXNzIGlmZGVmLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wOC0yNCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfZmx1c2gpLAoJICAoZ3N0X2Zsdl9kZW11eF9jaGFpbiksIChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKSwKCSAgKGdzdF9mbHZfZGVtdXhfZmluZF9vZmZzZXQpLCAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdXNoKSwKCSAgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVsbCksIChnc3RfZmx2X2RlbXV4X3NpbmtfZXZlbnQpLAoJICAoZ3N0X2Zsdl9kZW11eF9zcmNfZXZlbnQpOiBSZW1vdmUgc29tZSB1c2VsZXNzIGlmZGVmLgoKMjAwNy0wOC0yNCAxNTozMToyNiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQUQgMDcvNTddIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogSW1wbGVtZW50IHNlZWtpbmcgaW4gcHVzaCBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wOC0yNCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfZmx1c2gpLAoJICAoZ3N0X2Zsdl9kZW11eF9jbGVhbnVwKSwgKGdzdF9mbHZfZGVtdXhfY2hhaW4pLAoJICAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyksIChnc3RfZmx2X2RlbXV4X2ZpbmRfb2Zmc2V0KSwKCSAgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVzaCksCgkgIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1bGwpLAoJICAoZ3N0X2Zsdl9kZW11eF9zaW5rX2V2ZW50KSwgKGdzdF9mbHZfZGVtdXhfc3JjX2V2ZW50KTogSW1wbGVtZW50CgkgIHNlZWtpbmcgaW4gcHVzaCBtb2RlLgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCjIwMDctMDgtMjIgMTQ6NTA6NTEgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDA2LzU3XSBnc3QvZmx2LzogSGFuZGxlIHBpeGVsIGFzcGVjdCByYXRpbyB0aHJvdWdoIG1ldGFkYXRhIHRhZ3MgbGlrZSBBU0YgZG9lcy4gRmx1ZW5kbyBtdXhlciBzdXBwb3J0cyB0aGlzIGFuZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wOC0yMiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfY2xlYW51cCksCgkgIChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKToKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV9tZXRhZGF0YV9pdGVtKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3NjcmlwdCksIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6IEhhbmRsZSBwaXhlbCBhc3BlY3QgcmF0aW8gdGhyb3VnaAoJICBtZXRhZGF0YSB0YWdzIGxpa2UgQVNGIGRvZXMuIEZsdWVuZG8gbXV4ZXIgc3VwcG9ydHMgdGhpcyBhbmQKCSAgRmxhc2ggcGxheWVycyBjYW4gc3VwcG9ydCBpdCBhcyB3ZWxsIHRoaXMgd2F5LgoKMjAwNy0wOC0yMiAxNDowMzo0MiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQUQgMDUvNTddIGdzdC9mbHYvOiBNYWtlIHN1cmUgd2UgZG9uJ3QgdHJ5IGZpbGxpbmcgdXAgdGhlIGluZGV4IGlmIG5vIHRpbWVzIG9iamVjdCB3YXMgcGFyc2VkLiBGaXggdGhlIHdheSB3ZSBkZWNpZGUgdG8gcHVzaCB0YS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wOC0yMiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfbWV0YWRhdGFfaXRlbSksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19zY3JpcHQpLCAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOiBNYWtlIHN1cmUgd2UgZG9uJ3QgdHJ5IGZpbGxpbmcgdXAgdGhlCgkgIGluZGV4IGlmIG5vIHRpbWVzIG9iamVjdCB3YXMgcGFyc2VkLiBGaXggdGhlIHdheSB3ZSBkZWNpZGUgdG8KCSAgcHVzaAoJICB0YWdzIGFuZCBlbWl0IG5vLW1vcmUtcGFkcy4gRml4IHNvbWUgcHJpbnRmIHR5cGluZyBpbiBkZWJ1Z2dpbmcuCgoyMDA3LTA4LTE0IDE0OjU2OjIwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgW01PVkVEIEZST00gQkFEIDA0LzU3XSBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEZpeCBsb2NraW5nIGFuZCByZWZjb3VudGluZyBvbiB0aGUgaW5kZXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfc2V0X2luZGV4KSwKCSAgKGdzdF9mbHZfZGVtdXhfZ2V0X2luZGV4KToKCSAgRml4IGxvY2tpbmcgYW5kIHJlZmNvdW50aW5nIG9uIHRoZSBpbmRleC4KCjIwMDctMDgtMTQgMTQ6MjI6MDkgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDAzLzU3XSBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEZpcnN0IG1ldGhvZCBmb3Igc2Vla2luZyBpbiBwdWxsIG1vZGUgdXNpbmcgdGhlIGluZGV4IGJ1aWx0IHN0ZXAgYnkgc3RlcCBvciBjb21pbmcgZnJvbSBtZXRhZGF0YS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDgtMTQgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2NsZWFudXApLAoJICAoZ3N0X2Zsdl9kZW11eF9hZGFwdGVyX2ZsdXNoKSwgKGdzdF9mbHZfZGVtdXhfY2hhaW4pLAoJICAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyksIChnc3RfZmx2X2RlbXV4X2RvX3NlZWspLAoJICAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2VlayksIChnc3RfZmx2X2RlbXV4X3NpbmtfZXZlbnQpLAoJICAoZ3N0X2Zsdl9kZW11eF9zcmNfZXZlbnQpLCAoZ3N0X2Zsdl9kZW11eF9xdWVyeSksCgkgIChnc3RfZmx2X2RlbXV4X2NoYW5nZV9zdGF0ZSksIChnc3RfZmx2X2RlbXV4X3NldF9pbmRleCksCgkgIChnc3RfZmx2X2RlbXV4X2dldF9pbmRleCksIChnc3RfZmx2X2RlbXV4X2Rpc3Bvc2UpLAoJICAoZ3N0X2Zsdl9kZW11eF9jbGFzc19pbml0KTogRmlyc3QgbWV0aG9kIGZvciBzZWVraW5nIGluIHB1bGwKCSAgbW9kZSB1c2luZyB0aGUgaW5kZXggYnVpbHQgc3RlcCBieSBzdGVwIG9yIGNvbWluZyBmcm9tIG1ldGFkYXRhLgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChGTFZfR0VUX1NUUklORyksCgkgIChnc3RfZmx2X3BhcnNlX21ldGFkYXRhX2l0ZW0pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfc2NyaXB0KSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKTogUGFyc2UKCSAgbW9yZSBtZXRhZGF0YSB0eXBlcyBhbmQga2V5ZnJhbWVzIGluZGV4LgoKMjAwNy0wNy0yNSAxMzoyOTowNCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQUQgMDIvNTddIGdzdC9mbHYvOiBIYW5kbGUgbm90IGxpbmtlZCBwYWRzLCB0cnkgdG8gbWFrZSBpdCByZXVzYWJsZSwgbW9yZSBzYWZldHkgY2hlY2tzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wNy0yNSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAoZ3N0X2Zsdl9kZW11eF9jaGFpbiksIChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKSwKCSAgKGdzdF9mbHZfZGVtdXhfY2hhbmdlX3N0YXRlKSwgKGdzdF9mbHZfZGVtdXhfZGlzcG9zZSksCgkgIChnc3RfZmx2X2RlbXV4X2luaXQpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChGTFZfR0VUX1NUUklORyksCgkgIChnc3RfZmx2X3BhcnNlX21ldGFkYXRhX2l0ZW0pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfc2NyaXB0KSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKSwKCSAgKGdzdF9mbHZfcGFyc2VfaGVhZGVyKToKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmg6IEhhbmRsZSBub3QgbGlua2VkIHBhZHMsIHRyeSB0byBtYWtlIGl0CgkgIHJldXNhYmxlLCBtb3JlIHNhZmV0eSBjaGVja3MuCgoyMDA3LTA3LTE5IDE1OjA1OjMwICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAwMS81N10gQWRkcyBhIGZpcnN0IGRyYWZ0IG9mIGFuIEZMViBkZW11eGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wNy0xOSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfZmx1c2gpLAoJICAoZ3N0X2Zsdl9kZW11eF9jbGVhbnVwKSwgKGdzdF9mbHZfZGVtdXhfY2hhaW4pLAoJICAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyksIChnc3RfZmx2X2RlbXV4X3B1bGxfaGVhZGVyKSwKCSAgKGdzdF9mbHZfZGVtdXhfc2Vla190b19wcmV2X2tleWZyYW1lKSwgKGdzdF9mbHZfZGVtdXhfbG9vcCksCgkgIChnc3RfZmx2X2RlbXV4X3NpbmtfYWN0aXZhdGUpLAoJICAoZ3N0X2Zsdl9kZW11eF9zaW5rX2FjdGl2YXRlX3B1c2gpLAoJICAoZ3N0X2Zsdl9kZW11eF9zaW5rX2FjdGl2YXRlX3B1bGwpLCAoZ3N0X2Zsdl9kZW11eF9zaW5rX2V2ZW50KSwKCSAgKGdzdF9mbHZfZGVtdXhfY2hhbmdlX3N0YXRlKSwgKGdzdF9mbHZfZGVtdXhfZGlzcG9zZSksCgkgIChnc3RfZmx2X2RlbXV4X2Jhc2VfaW5pdCksIChnc3RfZmx2X2RlbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X2Zsdl9kZW11eF9pbml0KSwgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoRkxWX0dFVF9CRVVJMjQpLCAoRkxWX0dFVF9TVFJJTkcpLAoJICAoZ3N0X2Zsdl9kZW11eF9xdWVyeV90eXBlcyksIChnc3RfZmx2X2RlbXV4X3F1ZXJ5KSwKCSAgKGdzdF9mbHZfcGFyc2VfbWV0YWRhdGFfaXRlbSksIChnc3RfZmx2X3BhcnNlX3RhZ19zY3JpcHQpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdHlwZSksIChnc3RfZmx2X3BhcnNlX2hlYWRlcik6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5oOiBBZGRzIGEgZmlyc3QgZHJhZnQgb2YgYW4gRkxWIGRlbXV4ZXIuCgkgIEl0IGRvZXMgbm90IGRvIHNlZWtpbmcgeWV0LCBpdCBzdXBwb3J0cyBwdWxsIGFuZCBwdXNoIG1vZGUgc28KCSAgWUVTCgkgIHlvdSBjYW4gdXNlIGl0IHRvIHBsYXkgeW91dHViZSB2aWRlb3MgZGlyZWN0bHkgZnJvbSBhbiBIVFRQIHVyaS4KCSAgTm90IHNvIG11Y2ggdGVzdGluZyBkb25lIHlldCBidXQgaXQgcGFyc2VzIG1ldGFkYXRhLCByZXBseSB0bwoJICBkdXJhdGlvbiBxdWVyaWVzLCBldGMuLi4KCjIwMDktMDUtMTIgMTM6MDA6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgcnRwOiBMaW5rIHRvIC1sbQoJICBGaXhlcyBidWcgIzU4MjI4MS4KCjIwMDktMDUtMTIgMTE6MTY6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOgoJICByZ2FuYWx5c2lzOiBSZW1vdmUgaW52YWxpZCB1bml0IHRlc3QKCSAgVGhlIHRlc3QgY3JlYXRlcyBidWZmZXJzIHdpdGggbm9uLXNpbGVuY2UsIHNldHMgdGhlIEdBUAoJICBmbGFnIG9uIGl0IGFuZCBleHBlY3RzIHJnYW5hbHlzaXMgdG8gaWdub3JlIHRoZSBjb250ZW50IGFuZCBhc3N1bWUgc2lsZW5jZS4KCSAgVGhhdCdzIG5vdCB0aGUgd2F5IGhvdyBHQVAgYnVmZmVycyBzaG91bGQgYmUgdXNlZCwgaWYgdGhlIEdBUCBmbGFnIGlzIHNldAoJICBlbGVtZW50cyAqY2FuKiBhc3N1bWUgdGhhdCB0aGV5IG9ubHkgY29udGFpbiBzaWxlbmNlIGJ1dCB0aGV5J3JlIG5vdCAqcmVxdWlyZWQqCgkgIHRvIGFzc3VtZSB0aGF0LiBUaGUgR0FQIGZsYWcgbXVzdCBvbmx5IGJlIHNldCBvbiBzaWxlbmNlIGJ1ZmZlcnMuCgkgIEZpeGVzIGJ1ZyAjNTgyMjUyLgoKMjAwOS0wNS0xMiAwMDo0ODo0OSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE0LjIgcHJlLXJlbGVhc2UKCjIwMDktMDUtMTEgMjM6MTM6MjAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHRlc3RzL2ZpbGVzL01ha2VmaWxlLmFtOgoJICBjaGVja3M6IGRpc3QgaWQzLTU3NzQ2OC11bnN5bmNlZC10YWcudGFnIHRlc3QgZmlsZQoKMjAwOS0wNS0xMSAyMTowMjoyNyArMDIwMCAgVHJpc3RhbiBNYXR0aGV3cyA8bGUuYnVzaW5lc3NtYW4gYXQgZ21haWwuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogaW5pdGlhbGl6ZSB2YXJpYWJsZSB0byAwCgkgIEZpeGVzICM1ODIyMTguCgoyMDA5LTA1LTExIDE4OjIxOjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBPbmx5IHNlYXJjaCBmb3IgdGhlIGluZGV4IGVudHJ5IG9uY2UKCjIwMDktMDUtMTEgMTg6MTg6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFVzZSB0aGUgZmlyc3QgaW5kZXggZW50cnkgaWYgaXQncyBhZnRlciB0aGUgc2VlayBwb3NpdGlvbgoKMjAwOS0wNS0xMSAxODoxNToyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBVc2UgdGhlIGZpcnN0IGVudHJ5IGZvciBhIGdpdmVuIHN0cmVhbSBpZiB0aGUgZmlyc3QgZW50cnkgaXMgYWZ0ZXIgdGhlIHNlZWsgcG9zaXRpb24KCjIwMDktMDUtMTEgMTY6NTA6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogVXNlIGJpbmFyeSBzZWFyY2ggZm9yIGZpbmRpbmcgdGhlIHJlcXVlc3RlZCBpbmRleCBlbnRyeSB3aGVuIHNlZWtpbmcKCjIwMDktMDUtMTEgMTU6MzY6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgbWF0cm9za2FkZW11eDogSW1wcm92ZS9vcHRpbWl6ZSBzZWVraW5nCgkgIEZpcnN0IG9mIGFsbCBhIGtleWZyYW1lIHNlZWsgc2hvdWxkIGJlIGRvbmUgdG8gdGhlCgkgIGtleWZyYW1lIHJpZ2h0IGJlZm9yZSB0aGUgcmVxdWVzdGVkIHBvc2l0aW9uIGFuZCBub3QKCSAgdG8gdGhlIGtleWZyYW1lIHRoYXQgaXMgbmVhcmVzdCB0byB0aGUgcmVxdWVzdGVkIHBvc2l0aW9uLgoJICBVc2UgcGVyIHRyYWNrIGluZGV4IGFycmF5cyBhbmQgdXNlIG91ciBuZXcgYmluYXJ5IHNlYXJjaCBmdW5jdGlvbgoJICBmcm9tIGNvcmUgdG8gc3BlZWQgdXAgdGhlIHNlYXJjaC4KCjIwMDktMDUtMTEgMTU6MzY6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBSZXF1aXJlIHJlbGVhc2VkIHZlcnNpb25zIG9mIGNvcmUvYmFzZQoKMjAwOS0wNS0xMSAxMDoxNTowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgZ2RrcGl4YnVmOiBVc2UgdGhlIGxpYnMgYW5kIGNmbGFncyBvZiBnZGsgcGl4YnVmIGluc3RlYWQgb2YgZ3RrCgkgIFRoaXMgZml4ZXMgdGhlIGJ1aWxkIGlmIGdkay1waXhidWYgaXMgZm91bmQgYnV0IGd0ayBpc24ndAoKMjAwOS0wNS0xMSAwOTo1ODo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIEFsd2F5cyBkZWZpbmUgdGhlIGNvbmRpdGlvbmFsIEhBVkVfR1RLIHRvIGZpeCBjb25maWd1cmUgaW4gc29tZSBjYXNlcwoKMjAwOS0wNS0xMCAxMToxNzoyMyArMDIwMCAgTWFyYy1BbmRyZSBMdXJlYXUgPG1hcmNhbmRyZS5sdXJlYXVAZ21haWwuY29tPgoKCSogYXV0b2dlbi5zaDoKCSAgUnVuIGxpYnRvb2xpemUgYmVmb3JlIGFjbG9jYWwKCSAgVGhpcyB1bmJyZWFrcyB0aGUgYnVpbGQgaW4gc29tZSBjYXNlcy4gRml4ZXMgYnVnICM1ODIwMjEKCjIwMDktMDUtMDkgMTA6NTA6NDUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thOiBmaXggcHJpbnRmIGZvcm1hdCB0byBhZ3JlZSB3aXRoIGFyZ3VtZW50CgoyMDA5LTA1LTA4IDE5OjQyOjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6CgkgIHJhdzEzOTQ6IGluY2x1ZGUgc3RkbGliLmggZm9yIHN0cnRvbCgpCgkgIEZpeGVzIGNvbXBpbGVyIHdhcm5pbmcgd2hlbiBjb21waWxpbmcgd2l0aCB4bWwgc3R1ZmYgaW4gY29yZSBkaXNhYmxlZC4KCjIwMDktMDUtMDggMTY6NDA6NTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IEFjdHVhbGx5IG91dHB1dCB0aGUgcGVuZGluZyBidWZmZXIuLiBhbmQgbm90IGEgYmxhbmsgb25lLgoJICBJdCB3YXMgcHJldmlvdXNseSBzZW5kaW5nIHRoZSBib2d1cyBidWZmZXIgd2hpY2ggd2FzIHJldHVybmVkIGZyb20KCSAgdGhlIGJ1ZmZlcmFsbG9jIChyZXF1aXJlZCBmb3IgcmV2ZXJzZSBuZWdvdGlhdGlvbiBhcHBhcmVudGx5KSBpbnN0ZWFkCgkgIG9mIHRoZSBwZW5kaW5nIGJ1ZmZlci4KCjIwMDktMDUtMDggMTI6MDA6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IEFsbG93IG5vbi1zdHJpbmcgZmllbGRzIGluIHRoZSBleHRyYS1oZWFkZXJzIHByb3BlcnR5CgoyMDA5LTA1LTA4IDExOjM1OjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5Lmg6CgkgIHJ0ajJrZGVwYXk6IGFkZCBiYXNpYyBKUEVHIDIwMDAgZGVwYXlsb2FkZXIKCjIwMDktMDUtMDggMTE6MzE6MDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJICBydHBqMmtwYXk6IHNldCBtYXJrZXIgYml0IGNvcnJlY3RseQoKMjAwOS0wNS0wOCAxMToyOTowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBzb3VwaHR0cHNyYzogQWRkIHN1cHBvcnQgZm9yIGV4dHJhLWhlYWRlcnMgYXBwZW5kZWQgdG8gdGhlIEhUVFAgcmVxdWVzdAoJICBUaGlzIGFsbG93cyB0byBzZXQgdGhlIFJlZmVyZXIgaGVhZGVyIGFtb25nIG90aGVyIHRoaW5ncyBieQoJICBhZGRpbmcgYSAiZXh0cmEtaGVhZGVycyIgcHJvcGVydHkgdGhhdCB0YWtlcyBhIEdzdFN0cnVjdHVyZQoJICB3aXRoIGZpZWxkPXN0cmluZyBwYWlycy4KCSAgRml4ZXMgYnVnICM1ODE4MDYuCgoyMDA5LTA1LTA4IDEwOjM4OjQyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuaDoKCSAgcnRwajJrcGF5OiBhZGQgYSBzaW1wbGUgSlBFRyAyMDAwIHBheWxvYWRlcgoKMjAwOS0wNS0wOCAxMDozMToxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBydHBqcGVncGF5OiB3ZSBvbmx5IG5lZWQgdG8gc3dhcCBiaXRzIG9uIExFCgoyMDA5LTA1LTA3IDE4OjEwOjA4ICswMTAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWcuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmcuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgQWRkIFJBTktTIGZvciB2YXJpb3VzIGVuY29kZXJzIGFuZCBtdXhlcnMKCjIwMDktMDUtMDcgMTc6MDk6NDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogYWRkIHNvbWUgZGVidWdnaW5nCgoyMDA5LTA1LTA3IDE1OjU4OjQzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHBhcnNlIHhpcGggaGVhZGVycyBsZW5ndGggY29ycmVjdGx5CgkgIFNlZSAjNTgwOTgwCgoyMDA5LTA1LTA3IDE2OjI1OjQxICswMjAwICBHYWJyaWVsIEJvdXZpZ25lIDxib3V2aWduZUBtcDMtdGVjaC5vcmc+CgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuaDoKCSogZ3N0L3JlcGxheWdhaW4vcmdhbmFseXNpcy5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9yZ2FuYWx5c2lzLmg6CgkgIHJnYW5hbHlzaXM6IEFkZCBhYmlsaXR5IHRvIHBvc3QgbGV2ZWwgbWVzc2FnZXMKCSAgRml4ZXMgYnVnICM1ODE1NjguCgoyMDA5LTA1LTA2IDIzOjU2OjQ0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIHJ0cGpwZWdwYXk6IHJlZnVzZSBzb21lIHVuc3VwcG9ydGVkIGpwZWcgZm9ybWF0cwoKMjAwOS0wNS0wNiAxODowNjo0OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgIHJ0cHRoZW9yYXBheTogZml4IGRlc2NyaXB0aW9uCgoyMDA5LTA1LTA2IDE2OjA5OjEzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIHJ0cGpwZWdwYXk6IHJld3JpdGUgcXVhbnQgdGFibGUgaGFuZGxpbmcKCSAgUmV3cml0ZSB0aGUgcXVhbnQgdGFibGUgcGFyc2luZyB0byBhbHNvIGhhbmRsZSBtdWx0aXBsZSB0YWJsZXMgaW4gb25lIEpQRUcgSERRCgkgIHNlZ21lbnQuCgkgIEhhbmRsZSBtb3JlIGpwZWcgdHlwZXMgYnkga2VlcGluZyB0cmFjayBvZiB0aGUgdGFibGVzIHVzZWQgcGVyIGNvbXBvbmVudCBhbmQKCSAgcHV0dGluZyB0aGUgdXNlZCBvbmVzIGluIHRoZSBxdWFudCBoZWFkZXJzLgoKMjAwOS0wNC0xOCAxNzoyMzo1MSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzdjJtdXguYzoKCSAgaWQzdjJtdXg6IE1ha2UgdGhlIHRlc3QgZmFpbHVyZSBzbGlnaHRseSBtb3JlIGluZm9ybWF0aXZlCgoyMDA5LTA0LTIwIDE4OjMzOjA5ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWM6IE1ha2UgYnVmZmVycyBjcmVhdGVkIGR1cmluZyBzZWVrIGFjdCBsaWtlIG5vcm1hbCBidWZmZXJzLgoJICBTdG9yZSB0aGUgb2Zmc2V0IGFuZCBjYXBzIHdoZW4gYWxsb2NhdGluZyBhIGJ1ZmZlciBkdXJpbmcgc2Vla2luZywgYW5kIHRoZW4KCSAgYWxsb2NhdGUgYSBuZXcgYnVmZmVyIHdpdGggYnVmZmVyX2FsbG9jIGJlZm9yZSB3ZSBwdXNoIGl0IG91dC4gVGhpcyBlbnN1cmVzCgkgIHRoYXQgaW4gYWxsIHJlc3BlY3RzIHRoZSBmaXJzdCBidWZmZXIgZGVjb2RlZCBkdXJpbmcgc2Vla2luZyBiZWhhdmVzIGxpa2UKCSAgYWxsIG90aGVyIGJ1ZmZlcnMsIGluY2x1ZGluZyBhbGxvd2luZyBkb3duc3RyZWFtIHJlLW5lZ290aWF0aW9uLgoKMjAwOS0wNC0xOCAxODowMDo1NCArMDIwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IGRvbid0IHVzZSBwYWRfYWxsb2Mgd2hlbiBkZWNvZGluZyB3aGlsZSBzZWVraW5nLiBGaXhlcyAjNTc5NDIyCgoyMDA5LTA1LTA2IDEzOjIyOjUxICswMjAwICBBcm5vdXQgVmFuZGVjYXBwZWxsZSA8YXJub3V0QG1pbmQuYmU+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IHJlZmFjdG9yZWQgZ3N0X2pwZWdfZGVjX3BhcnNlX2ltYWdlX2RhdGEKCSAgRml4ZXMgIzU3OTgwOAoKMjAwOS0wNS0wNiAxMzoxMTo1MyArMDIwMCAgQXJub3V0IFZhbmRlY2FwcGVsbGUgPGFybm91dEBtaW5kLmJlPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBzdXBwb3J0IGFkZGl0aW9uYWwgMHhmZiBiZWZvcmUgZW5kIG1hcmtlci4KCSAgSlBFRyBtYXJrZXJzIG1heSBiZSBwcmVjZWRlZCBieSBhZGRpdGlvbmFsIDB4ZmYuICBqcGVnZGVjIHNob3VsZAoJICBza2lwIG92ZXIgdGhlc2UsIGV2ZW4gYmVmb3JlIHRoZSBlbmQgbWFya2VyLgoJICBTZWUgIzU3OTgwOAoKMjAwOS0wNS0wNiAxMjo1NDoyMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBydHBqcGVncGF5OiBoYW5kbGUgaW5wdXQgd2l0aCAxIHF1YW50IHRhYmxlCgkgIEFsc28gaGFuZGxlIGlucHV0IHdpdGgganVzdCBvbmUgcXVhbnQgdGFibGUsIHNpbXBseSBkdXBsaWNhdGUgdGhlIHF1YW50IHRhYmxlLgoJICBIYW5kbGUgaW52YWxpZCBTT0YgY29ycmVjdGx5IGFuZCBzb21lIHNtYWxsIGNsZWFudXBzLgoJICBGaXhlcyAjNTc4MjU3CgoyMDA5LTA0LTI5IDE1OjU4OjEwICswMzAwICBNYXJjbyBCYWxsZXNpbyA8bWFyY28uYmFsbGVzaW9Abm9raWEuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggYnl0ZSBvcmRlciBzd2FwcGluZyBpbiAzR1BQIGNsYXNzaWZpY2F0aW9uIGVudGl0eSB0YWcKCSAgRml4ZXMgIzU4MDc0Ni4KCjIwMDktMDUtMDUgMTc6MDc6MTMgKzAyMDAgIEFybm91dCBWYW5kZWNhcHBlbGxlIDxhcm5vdXRAbWluZC5iZT4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgbXVsdGlwYXJ0ZGVtdXg6IGF2b2lkIHJlYWRpbmcgZnJvbSBpbmF2bGlkIG1lbW9yeQoJICBSZWFkIHRoZSB0aW1lc3RhbXAgb2YgdGhlIGluY29tbWluZyBidWZmZXIgYmVmb3JlIHdlIHB1c2ggaXQgaW4gdGhlIGFkYXB0ZXIgYW5kCgkgIGZsdXNoIGl0IG91dCBhZ2FpbiBhcyB0aGUgYnVmZmVyIG1pZ2h0IGJlIHVucmVmZmVkIHRoZW4gYW5kIHdlIHJlYWQgZnJvbSBpbnZhbGlkCgkgIG1lbW9yeS4KCSAgRml4ZXMgIzU4MTQ0NC4KCjIwMDktMDUtMDUgMTc6MDM6MjkgKzAyMDAgIEFybm91dCBWYW5kZWNhcHBlbGxlIDxhcm5vdXRAbWluZC5iZT4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgbXVsdGlwYXJ0ZGVtdXg6IGRvbid0IGxlYWsgZHluYW1pYyBwYWRzCgkgIEZyZWUgdGhlIGR5bmFtaWMgcGFkcyBkYXRhIGluIGZpbmFsaXplLgoJICBGaXhlcyAjNTgxNDMyCgoyMDA5LTA1LTA1IDE2OjMyOjE3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5oOgoJICBydHBqcGVncGF5OiBjb3JyZWN0bHkgc2V0IHRoZSB0eXBlIGhlYWRlcgoJICBEb24ndCByZXF1aXJlIHdpZHRoL2hlaWdodCBvbiB0aGUgY2Fwcy4gVXNlIHRoZSBTT0YgaGVhZGVyIHRvIGZpbmQgd2lkdGgvaGVpZ2h0CgkgIGFuZCBmYWxsIGJhY2sgdG8gdGhlIGNhcHMgaWYgdGhlcmUgaXMgbm8gU09GLiBBbHNvIHVzZSB0aGUgU09GIGluZm8gdG8gZmluZCB0aGUKCSAgc3Vic2FtcGxpbmcgYW5kIHF1YW50aXphdGlvbiB0YWJsZXMgdXNlZC4gVGhpcyBhbGxvd3MgdXMgdG8gc2V0IHRoZSByaWdodCB0eXBlCgkgIHZhbHVlIGluIHRoZSBKUEVHIHJ0cCBoZWFkZXIuCgkgIERlcHJlY2F0ZSB0aGUgcXVhbGl0eSBwcm9wZXJ0eSwgaXQncyB1bnVzZWQgbm93IGFuZCBpdCB3YXMgdXNlZCB3cm9uZ2x5IGJlZm9yZS4KCSAgQWx3YXlzIHNlbmQgZnVsbCBxdWFudCB0YWJsZXMgZm9yIG5vdyB1bnRpbCB3ZSBoYXZlIHNvbWUgY29kZSB0byBkZXRlY3QgZGVmYXVsdAoJICBvbmVzLgoJICBGaXhlcyAjNTgwODgwCgoyMDA5LTA1LTA1IDE2OjI4OjQ0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuaDoKCSAgcnRwanBlZ2RlcGF5OiB1c2Ugd2lkdGgvaGVpZ2h0IGZyb20gcGF5bG9hZAoJICBVc2UgdGhlIHdpZHRoIGFuZCB0aGUgaGVpZ2h0IGZyb20gdGhlIHBheWxvYWQgaGVhZGVycyBhbmQgc2V0IHRoZW0gb24gdGhlCgkgIG91dHB1dCBjYXBzIGZvciBhZGRlZCBhd2Vzb21lbmVzcy4KCSAgRml4IHF1YW50IHBhcnNpbmcsIHdlIG5lZWQgdG8gY2hlY2sgdGhlIHR5cGUgaW4gdGhlIGxvd2VyIDYgYml0cy4KCSAgQWRkIGZpcnN0IGJpdHMgb2YgY2FjaGluZyBxdWFudGl6YXRpb24gdGFibGVzLgoKMjAwOS0wNS0wNSAxNjoyNDoxNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZ2VuYzogc2V0IGNvbG9yc3BhY2UgYmVmb3JlIF9zZXRfZGVmYXVsdHMoKQoJICBUaGUgbGlianBlZyBhcGkgc2F5cyB0aGF0IHdlIG5lZWQgdG8gc2V0IHRoZSBjb2xvcnNwYWNlIGJlZm9yZSB3ZSBjYWxsCgkgIF9zZXRfZGVmYXVsdHMoKS4gSW5kZWVkLCBpZiB3ZSBkb24ndCBkbyB0aGF0IHdlIGVuZCB1cCB3aXRoIHNvbWUgdmVyeSBmcmVha3kKCSAgbm9uLXN0YW5kYXJkIHF1YW50IHRhYmxlIGFuZCBodWZmbWFuIHRhYmxlIGluZGV4ZXMuCgoyMDA5LTA1LTA1IDEzOjE5OjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZG9uJ3QgYnVpbGQgZXhhbXBsZXMgaWYgLS1kaXNhYmxlLWV4YW1wbGVzIHdhcyBwYXNzZWQgdG8gY29uZmlndXJlCgoyMDA5LTA1LTA1IDEyOjMzOjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBjbGVhbiB1cCBtZXNzIGFyb3VuZCBndGsrIGNoZWNraW5nCgkgIEFuZCBkb24ndCBjaGVjayBmb3IgZ3RrKyB3aGVuIGl0J3Mgbm90IG5lZWRlZCAoaWUuIGlmIGV4YW1wbGVzIGFyZSBkaXNhYmxlZCkKCjIwMDktMDUtMDUgMTI6Mjc6MjEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZ2RrX3BpeGJ1Zi9NYWtlZmlsZS5hbToKCSogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuaDoKCSAgY29uZmlndXJlOiBtYWtlIGdkay1waXhidWYgcGx1Z2luIGRlcGVuZCBvbmx5IG9uIGdkay1waXhidWYsIG5vdCBndGsrCgoyMDA5LTA1LTA0IDE4OjU1OjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBGaXggZmluZF9zdHJlYW1fYnlfKiBmdW5jdGlvbnMKCSAgRml4IHZhcmlvdXMgdmVyc2lvbiBvZiBmaW5kX3N0cmVhbV9ieV8qIGJ5IG5vdCB0cnlpbmcgdG8gY29udmVydCBhbiBpbnQgdG8gYQoJICBwb2ludGVyIGFuZCB2aWNlIHZlcnNhLCBmb3IgcG9ydGFiaWxpdHkgcmVhc29ucy4KCSAgRml4ZXMgIzU4MTMzMwoKMjAwOS0wNS0wNCAxODozMjowNSArMDIwMCAgQ2hyaXMgV2ludGVyIDxlbHdpbnRybyBhdCBnbWFpbC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBkdW1teSBuYXQgcGFja2V0IGxvZ2ljCgkgIEZpeCBhIHR5cG8gaW4gdGhlIGR1bW15IE5BVCBwYWNrZXQgc2VuZGluZyBjb2RlLgoJICBGaXhlcyAjNTgxMzI5CgoyMDA5LTA0LTMwIDEwOjI0OjI3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYXZvaWQgZXJyb3JzIGFmdGVyIHNlcnZlciBlb2YKCSAgU2VydmVyIGVvZiAoZS5nLiBjb25uZWN0aW9uIGNsb3NlZCkgaXMgYW5ub3VuY2VkIGFzIGNvbm5lY3Rpb24gY2xvc2VkLAoJICBzbyBiZXR0ZXIgcmVjb3JkIHN0YXRlIGFuZCBhY3QgYWNjb3JkaW5nbHkgdG8gcHJldmVudCAocmVhZC93cml0ZSkKCSAgZXJyb3JzIGR1cmluZyBzdWJzZXF1ZW50IHRlYXJkb3duL2NsZWFudXAgc2VxdWVuY2VzLiAgI0ZpeGVzIDU4MDg1MS4oYykuCgoyMDA5LTA0LTMwIDEwOjE5OjI3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYWxzbyBzZXQgYmFzZV90aW1lIG9uIHNyYyBhZnRlciBmbHVzaAoJICB0aW1lc3RhbXBzIGZvbGxvd2luZyBmbHVzaC9zZWVrIHNob3VsZCBiZSBjb25zaXN0ZW50IGJldHdlZW4KCSAgVURQIGFuZCBUQ1AgaW50ZXJsZWF2ZWQgY2FzZS4gIEZpeGVzICM1ODA4NTEuKGIpLgoKMjAwOS0wNC0zMCAxMDoxNzoyMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHNhbml0eSBjaGVja3Mgb24gcmFuZ2UgaW5mbwoJICBBIG1heCByYW5nZSB0aGF0IG92ZXJmbG93cyBzaG91bGQgbm90IGJlIHRydXN0ZWQsCgkgIG5vciBzaG91bGQgYSBtYXggcmFuZ2UgdGhhdCBlcXVhbHMgdGhlIG1pbiByYW5nZS4KCSAgRml4ZXMgIzU4MDg1MS4oYSkuCgoyMDA5LTA1LTA0IDE2OjE2OjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IHVzZSBTS0lQIGZsYWcgdG8gdXNlIFNDQUxFIGhlYWRlcnMKCSAgV2UgY2FuIHVzZSB0aGUgU0tJUCBzZWVrIGZsYWcgdG8gaW5zdHJ1Y3QgdGhlIHNlcnZlciB0byBzZW5kIGRhdGEgZmFzdGVyIHRoZW4KCSAgbm9ybWFsIGJ1dCB3aXRoIHRoZSBzYW1lIGJhbmR3aWR0aC4KCSAgRml4ZXMgIzUzNzYwOQoKMjAwOS0wNS0wNCAxNDoxOToyMiArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSAgc3BlZXhkZWM6IG1ha2Ugc3BlZXhfZGVjX2NvbnZlcnQgd29yayB3aXRoIHNhbWUtZm9ybWF0IHZhbHVlcyB3aGVuIG5vIGRhdGEgaGFzIGJlZW4gZGVjb2RlZC4KCjIwMDktMDUtMDQgMTI6NDM6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjOiBJbXBsZW1lbnQgcHJlc2V0IGludGVyZmFjZQoKMjAwOS0wNS0wNCAxMjo0MTo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgc3BlZXg6IEltcGxlbWVudCBwcmVzZXQgaW50ZXJmYWNlCgoyMDA5LTA1LTA0IDEyOjQwOjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSAgd2F2cGFjazogSW1wbGVtZW50IHByZXNldCBpbnRlcmZhY2UKCjIwMDktMDUtMDQgMTI6MzU6MTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHVzZSBiaW5hcnkgc2VhcmNoIGZvciBpbmRleAoJICBVc2UgdGhlIG5ldyBiaW5hcnkgc2VhcmNoIG1ldGhvZCBmb3IgZmluZGluZyB0aGUgcmlnaHQgaW5kZXggZW50cnkgZmFzdGVyLgoKMjAwOS0wNS0wNCAxMToyNjo1NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogZHJhdyB0aGUgY29tcGxldGUgVSBhbmQgViBwbGFuZXMKCSAgUm91bmQgdXAgdGhlIHNjYWxlZCBVIGFuZCBWIHdpZHRoIGFuZCBoZWlnaHQgc28gdGhhdCB3ZSBhbHdheXMgZHJhdyB0aGUgY29ycmVjdAoJICBhbW91bnQgb2YgcGl4ZWxzIHRvIGZpbGwgdGhlIGNvbXBsZXRlIGltYWdlLgoJICBGaXhlcyAjNTY5NjExCgoyMDA5LTA1LTAxIDE5OjM1OjExICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhZGQgc29tZSBtb3JlIG1pY3JvIG9wdGltaXNhdGlvbnMKCjIwMDktMDQtMzAgMTg6NDE6NDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmM6CgkgIHF0ZGVtdXg6IG1pY3JvIG9wdGltaXplIHF0ZGVtdXggYSBsaXR0bGUKCSAgU3ByaW5rbGUgc29tZSBHX0xJS0VMWSBhcm91bmQuCgkgIEF2b2lkIHRyYXZlcnNpbmcgYW5kIGR1bXBpbmcgdGhlIHRyZWUgd2hlbiBkZWJ1Z2dpbmcgaXMgbm90IGFjdGl2YXRlZC4KCjIwMDktMDQtMzAgMTQ6MjI6MjcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogYWRkIHN1cHBvcnQgZm9yIHN1YnRpdGxlIHBpY3R1cmVzCgkgIEFkZCBzdXBwb3J0IGZvciBzdWJ0aXRsZSBwaWN0dXJlcy4KCSAgRml4ZXMgIzU2ODI3OC4KCjIwMDktMDQtMzAgMTA6MzI6MzkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogbWFrZSBzdXJlIHdlIGFsd2F5cyBzaWduYWwgd2FpdGVycwoJICBBbHdheXMgc2lnbmFsIHRoZSB3YWl0ZXJzIGluIHRoZSBhc3luYyBjYWxsYmFja3MuIEVzcGVjaWFsbHkgZm9yIHRoZSB2b2x1bWUKCSAgY2FsbGJhY2tzIHNpbmNlIHRoaXMgbWlnaHQgY2F1c2UgZGVhZGxvY2tzLgoKMjAwOS0wNC0yOSAxODowOTowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcmVsZWFzZSBzdGF0ZSBsb2NrIGJlZm9yZSBzdG9wcGluZyB0YXNrCgkgIFdlIG5lZWQgdG8gcmVsZWFzZSB0aGUgc3RhdGUgbG9jayBiZWZvcmUgdHJ5aW5nIHRvIHdhaXQgZm9yIHRoZSB0YXNrIHRvIGVuZAoJICBiZWNhdXNlIHRoZSB0YXNrIG1pZ2h0IGFsc28gdGFrZSB0aGUgbG9jay4KCSAgRml4ZXMgIzU3NzY3MQoKMjAwOS0wNC0yOSAxMjoxOToyNyArMDIwMCAgSGFucyBkZSBHb2VkZSA8andyZGVnb2VkZSBhdCBmZWRvcmFwcm9qZWN0Lm9yZz4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogaGFuZGxlIGFjLTMgYXVkaW8KCSAgZml4IGRlbXV4aW5nIG9mIG00diBzdHJlYW1zIHdpdGggYWMtMyBhdWRpbwoJICBGaXhlcyAjNTgwNTU0CgoyMDA5LTA0LTI5IDExOjEyOjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogVXNlIHRoZSB0YWcgbWVyZ2UgbW9kZSB0aGF0IHdhcyBzZXQgb24gdGhlIGludGVyZmFjZSBmb3IgbWVyZ2luZyB0YWcgZXZlbnRzCgoyMDA5LTA0LTI1IDA5OjQzOjM4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBmaXggZ2V0YWRkcmluZm8gZXJyb3IgcmVwb3J0aW5nCgkgIGdldGFkZHJpbmZvIGVycm9ycyBzaG91bGQgYmUgcmVwb3J0ZWQgd2l0aCBnYWlfc3RyZXJyb3IgaW5zdGVhZCBvZiBlcnJubyBhcwoJICBzcG90dGVkIGJ5IE1pa2VTLgoKMjAwOS0wNC0yNyAxMDowODozOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJICBnNzI2cGF5OiBmaXggY29tcGlsYXRpb24KCjIwMDktMDQtMjcgMTA6MDI6MDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5Lmg6CgkgIGc3MjZwYXk6IGFkZCBSRkMgY29tcGxpYW50IHBhY2tldGl6aW5nCgkgIFNodWZmbGUgdGhlIGlucHV0IGJpdHMgYWNjb3JkaW5nIHRvIFJGQyAzNTUxIGZvciBHNzI2IHBheWxvYWRzLgoJICBBZGQgb3B0aW9uIHRvIGZvcmNlIHRoZSBwcmV2aW91cyBiZWhhdmlvdXIuCgkgIEZpeGVzICM1NjcxNDAKCjIwMDktMDQtMjcgMDk6NTk6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJICBnNzI2ZGVwYXk6IGFkZCBkZWJ1ZyBjYXRlZ29yeQoJICBBZGQgYSBkZWJ1Z2dpbmcgY2F0ZWdvcnksIGFkZCBzb21lIGNvbW1lbnRzIGFuZCByZW1vdmUgX3BlZWtfcGFyZW50KCkuCgoyMDA5LTA0LTI2IDE1OjU5OjUwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgaWQzdjJtdXg6IHdlIG5lZWQgdGFnbGliIDEuNSBmb3IgSUQzdjI6OlJlbGF0aXZlVm9sdW1lRnJhbWU6OnNldElkZW50aWZpY2F0aW9uCgkgIEJ1bXAgdGFnbGliIHJlcXVpcmVtZW50LgoKMjAwOS0wNC0yNCAwMjoxMToyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDNkZW11eC5jOgoJKiB0ZXN0cy9maWxlcy9pZDMtNTc3NDY4LXVuc3luY2VkLXRhZy50YWc6CgkgIGlkM2RlbXV4OiBhZGQgdW5pdCB0ZXN0IGZpbGUgZm9yIHVuc3luY2VkIGlkMyB0YWdzCgoyMDA5LTA0LTI0IDAxOjUxOjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6CgkgIGlkM2RlbXV4OiBwYXJzZSB1bnN5bmNocm9uaXNlZCB0YWdzIHByb3Blcmx5CgkgIFdlIGRpZG4ndCBoYW5kbGUgdW5zeW5jaHJvbml6YXRpb24gYXQgYWxsIHVwIHRvIG5vdywgd2hpY2ggbWlnaHQgaGF2ZQoJICBjYXVzZWQgZnJhbWVzIHRvIG5vdCBiZSBleHRyYWN0ZWQgLSBlc3AuIGZyYW1lcyBhZnRlciBhbiBBUElDIHBpY3R1cmUKCSAgZnJhbWUuIEZpeGVzICM1Nzc0NjguCgoyMDA5LTA0LTI0IDAxOjAxOjUzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6CgkgIGlkM2RlbXV4OiBwYXNzIHRoZSByaWdodCBzaXplIHZhbHVlIGZvciBzaXplIG9mIGFsbCBmcmFtZXMgdG8gdGhlIHBhcnNlcgoJICBGcmFtZSBkYXRhIHNpemUgaXMgdGFnIHNpemUgYWRqdXN0ZWQgZm9yIHNpemUgb2YgdGhlIHRhZyBoZWFkZXIgYW5kCgkgIGZvb3Rlciwgbm90IHRhZyBzaXplIGluY2x1ZGluZyBoZWFkZXIgYW5kIGZvb3Rlci4KCjIwMDktMDQtMjIgMTU6MjQ6NTUgKzAyMDAgIFBhdHJpY2sgUmFkaXppIDxwYXRyaWNrLnJhZGl6aSBhdCBheGlzLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IHNvbWUgbW9yZSBwYWQgbGVha3MKCSAgRml4IHNvbWUgcGFkIGxlYWtzLgoJICBTZWUgIzU3NzMxOC4KCjIwMDktMDQtMjEgMjI6MTI6NDUgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYjM5NDFlYSB0byA2YWIxMWQxCgoyMDA5LTA0LTIxIDE0OjAyOjAxIC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogb3ZlcnJpZGUgY2FwcyBiYXNlZCBvbiBkYXRhIGZyb20gRVNEUyBhdG9tcyBpbiBtcGVnNC4KCSAgSWYgdGhlIGNvZGVjIGlzIGFjdHVhbGx5IHNvbWV0aGluZyBlbHNlIChlLmcuIG1qcGVnKSBjaGFuZ2UgdGhlIGNhcHMgdG8KCSAgbWF0Y2ggd2hlbiBwYXJzaW5nIHRoZSBFU0RTIGF0b20uCgkgIEFsc28sIGZvciBBQUMsIG92ZXJyaWRlIHJhdGUgYW5kIGNoYW5uZWxzIHdpdGggY29ycmVjdCB2YWx1ZXMgcmVhZCBmcm9tCgkgIEVTRFMsIHNpbmNlIHRoZSByYXRlL2NoYW5uZWxzIHZhbHVlcyBlbHNld2hlcmUgYXJlIG9mdGVuIHdyb25nLgoKMjAwOS0wNC0yMCAxOTozMjowMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGZpeCB3YXJuaW5nIGZvciBzdGlsbCBpbWFnZXMgYnkgbm90IHRyeWluZyB0byBkaXZpZGUgYnkgMAoJICBEb24ndCBwYXNzIGEgMCBkaXZpc29yIHRvIGdzdF91dGlsX3VpbnQ2NF9zY2FsZSgpLCBvciBpdCB3aWxsIGNvbXBsYWluCgkgIGluIHRoZSBzaW5nbGUgaW1hZ2UgY2FzZSB3aGVyZSBmcHM9MC8xIChhcmUgd2Ugc3VwcG9zZWQgdG8gZGlmZmVyZW50aWF0ZQoJICBiZXR3ZWVuIG5vIGZwcz1zdGlsbCBpbWFnZSBhbmQgZnBzPTAvMT12YXJpYWJsZSByYXRlIGhlcmUgYnR3PykKCjIwMDktMDQtMjAgMTc6MjU6MzQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSAgdWRwOiBGaXggYSBzaW1wbGUgdHlwbyBpbiB0aGUgcHJldmlvdXMgY29tbWl0CgkgIFVzZSAjaWZkZWYgaW5zdGVhZCBvZiAjaWYsIHRvIGZpeCB0aGUgYnVpbGQKCjIwMDktMDQtMjAgMTU6NDg6MjEgKzAyMDAgIEFuZHkgV2luZ28gPHdpbmdvQHdpbmdvbWFjLmJjbi5vYmxvbmcubmV0PgoKCSAgZml4IGZvcm1hdCBzdHJpbmcgaW4gcG5nZGVjCgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogRml4IHNpemVfdCB2cyB1bnNpZ25lZCBpbnQgZm9ybWF0IGluIGVycm9yIG1lc3NhZ2UuCgoyMDA5LTA0LTIwIDE1OjQ2OjAzICswMjAwICBBbmR5IFdpbmdvIDx3aW5nb0B3aW5nb21hYy5iY24ub2Jsb25nLm5ldD4KCgkgIG9ubHkgdXNlIHN0cnVjdCBpcF9tcmVxbiBpZiBpdCBpcyBkZXRlY3RlZAoJICAqIGNvbmZpZ3VyZS5hYzogTWFrZSBhbiBleHBsaWNpdCBjaGVjayBmb3Igc3RydWN0IGlwX21yZXFuLgoJICAqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzogVXNlIEhBVkVfSVBfTVJFUU4gaW5zdGVhZCBvZiB0aGUgYWQtaG9jIGNoZWNrcy4KCjIwMDktMDQtMjAgMTM6NDU6MzIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBGaXggcHVzaCBtb2RlIGJ1ZmZlcmluZyBzYW5pdHkgY2hlY2sgdG8gYWN0dWFsbHkgZml0IHRoZSBkZXNjcmlwdGlvbi4KCjIwMDktMDQtMTggMTk6MTE6MDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgcnRwaDI2M3BheTogQW5kIGxldCdzIG5vdCBmb3JnZXQgdG8gcmVtb3ZlIHRoZSB1bnVzZWQgdmFyaWFibGUuCgoyMDA5LTA0LTE4IDE4OjUwOjMyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgIHJ0cGgyNjNwYXk6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzLCB0aGUgdmFyaWFibGVzIGFyZSBuZXZlciByZWFkIGFmdGVyLgoKMjAwOS0wNC0xOCAxODo0OTo0OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJICBydHBtcDR2cGF5OiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50LiBUaGUgdmFsdWUgaXMgbmV2ZXIgcmVhZCBhZnRlci4KCjIwMDktMDQtMTggMTg6NDg6NTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnQuCgkgIHQgaXMgYmVpbmcgb3ZlcndyaXR0ZW4gYWZ0ZXIsIGJlZm9yZSBpdCdzIHVzZWQuCgoyMDA5LTA0LTE4IDE4OjQ4OjA2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJICBydHBhbXJkZXBheTogUmVtb3ZlIHVubmVlZGVkIHZhcmlhYmxlLCB0aGUgdmFsdWUgaXMgb25seSByZWFkIG9uY2UuCgoyMDA5LTA0LTE4IDE4OjQ3OjA1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSAgcnRwYW1ycGF5OiBSZW1vdmUgdW5uZWVkZWQgdmFyaWFibGUsIHRoZSB2YWx1ZSBpcyBvbmx5IHJlYWQgb25jZS4KCjIwMDktMDQtMTggMTg6NDY6MTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZ29vbS9maWx0ZXJzLmM6CgkgIGdvb20vZmlsdGVyczogUmVtb3ZlIGRlYWQgYXNzaWdubWVudC4gVmFsdWUgb3ZlcndyaXR0ZW4ganVzdCBhZnRlci4KCjIwMDktMDQtMTggMTg6NDU6MzIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICBydHB2b3JiaXNwYXk6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnQuIFZhbHVlIG5ldmVyIHJlYWQgYWZ0ZXIuCgoyMDA5LTA0LTE4IDE4OjQ1OjA3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgcnRwdGhlb3JhcGF5OiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50LiBWYWx1ZSBuZXZlciByZWFkIGFmdGVyLgoKMjAwOS0wNC0xOCAxODo0MzozMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSAgcnRwdGhlb3JhZGVwYXk6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUsIGl0J3MgbmV2ZXIgYmVpbmcgcmVhZC4KCjIwMDktMDQtMTggMTg6NDI6NDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnQuICdyZXMnIGlzbid0IHJlYWQgYWZ0ZXIuCgoyMDA5LTA0LTE4IDE4OjQxOjU4ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlLiAncmVzJyBpcyBuZXZlciByZWFkLgoKMjAwOS0wNC0xOCAxODo0MDo0OCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogUmVtb3ZlIGRlYWQgdmFyaWFibGUuICdzdHJlYW0nIGlzIG5ldmVyIHJlYWQgYWZ0ZXIuCgoyMDA5LTA0LTE4IDE4OjM5OjQ4ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVib3g6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzLgoJICBUaGVzZSB2YXJpYWJsZXMgYXJlIG5ldmVyIHJlYWQgYWZ0ZXIgdGhpcyBwb2ludC4KCjIwMDktMDQtMTggMTg6Mzg6MjkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZ29vbS9jb252b2x2ZV9meC5jOgoJICBnb29tOiBmZiBhbmQgaWZmIGFyZSBvbmx5IHVzZWQgaW4gYSAnI2lmZGVmIERSQVdfTU9USUYnIGJsb2NrLgoKMjAwOS0wNC0xOCAxODozNDoxMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogUmVtb3ZlIGRlYWQgYXNzaWdubWVudC4KCSAgcmVzIGlzbid0IHJlYWQgYWZ0ZXIgdGhpcy4KCjIwMDktMDQtMTggMTg6MzI6MDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzLCBtb3ZlIHZhcmlhYmxlIHRvIHdoZXJlIGl0J3MgbmVlZGVkLgoJICBUaGUgaGVhZGVyX3JlYWRfZXJyb3IgbGFiZWwgd2lsbCByZXR1cm4gR1NUX0ZMT1dfRVJST1IKCjIwMDktMDQtMTggMTg6MjE6MjIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJICBydHB2cmF3ZGVwYXk6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnQuCgkgIFRoZSB2YWx1ZSBvZiAnc3RyJyB3aWxsIG5ldmVyIGJlIHVzZWQgaW4gdGhlc2UgY2FzZXMuCgoyMDA5LTA0LTE4IDE4OjE5OjEyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFJlbW92ZSB1c2VsZXNzIHZhcmlhYmxlLgoJICBpcmV0IHdhcyBuZXZlciByZWFkIG91dHNpZGUgb2YgdGhhdCBsb29wLCBhbmQgaXMgYWx3YXlzIGJlaW5nIGV4aXRlZCBpZgoJICBpcmV0IHdhcyAhPSBHU1RfRkxPV19PSyBhbnl3YXkuCgoyMDA5LTA0LTE4IDE4OjE3OjM1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogTW92ZSAncmVzJyB0byB3aGVyZSBpdCdzIGFjdHVhbGx5IGJlaW5nIHVzZWQuCgkgIHJlcyB3YXMgbmV2ZXIgdXNlZCBvdXRzaWRlIG9mIHRoYXQgYmxvY2sgZXhjZXB0IGZvciBhIGRlYWQgYXNzaWdubWVudC4KCjIwMDktMDQtMTggMTg6MTY6MzMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6CgkgIGF1ZGlvZng6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUuCgkgIHJ6IGlzIG5ldmVyIHVzZWQgaW4gdGhlc2UgbWV0aG9kcy4KCjIwMDktMDQtMTggMTg6MTU6MzkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5jOgoJICBvc3hyaW5nYnVmZmVyOiBSdW4gZ3N0LWluZGVudC4KCjIwMDktMDQtMTggMTg6MTQ6NDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICB4aW1hZ2U6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzLgoJICBUaG9zZSB2YXJpYWJsZXMgYXJlIG5vdCByZWFkIGFmdGVyIHRoYXQgcG9pbnQuCgoyMDA5LTA0LTE4IDE4OjExOjAwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6CgkqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkqIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVucGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzoKCSogZ3N0L3NtcHRlL3BhaW50LmM6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIFJlbW92ZSB0cml2aWFsIHVudXNlZCB2YXJpYWJsZXMgZGV0ZWN0ZWQgYnkgQ0xhbmcgc3RhdGljIGFuYWx5emVyLgoKMjAwOS0wNC0xOCAxNzo1MjowMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmM6CgkqIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICBSZW1vdmUgYmxhbmsge3NldHxnZXR9X3Byb3BlcnR5L2NoYW5nZV9zdGF0ZS9maW5hbGl6ZSBtZXRob2RzLgoKMjAwOS0wNC0xOCAxNzo0Mjo1NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5jOgoJKiBleHQvZXNkL2VzZHNpbmsuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJKiBnc3QvZGVidWd1dGlscy9lZmVuY2UuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0dGFnaW5qZWN0LmM6CgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVucGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOgoJKiBzeXMvb3NzL2dzdG9zc3NyYy5jOgoJICBSZW1vdmUgdW51c2VkIHZhcmlhYmxlcyBpbiBfY2xhc3NfaW5pdAoJICBEZXRlY3RlZCBieSBMTFZNJ3MgQ0xhbmcgc3RhdGljIGFuYWx5emVyCgoyMDA5LTA0LTE4IDEzOjU0OjA4ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICBjaGVjazogQ2hlY2sgd2hldGhlciB0aHJlYWRzIGFyZSBhbHJlYWR5IGluaXRpYWxpc2VkIGJlZm9yZSBnX3RocmVhZF9pbml0KCkKCjIwMDktMDQtMTggMTQ6MzI6NDAgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogbWFyayBkaXNjb250IG9uIHRoZSBzdHJlYW1zIGFzIHdhcyBzYWlkIHRoZSBkZWJ1ZyBsaW5lCgkgIEFmdGVyIGEgc2VlayBtYXJrIGFsbCBzdHJlYW1zIHdpdGggZGlzY29udCBhcyBpdCB3YXMgc2FpZCBpbiB0aGUgZGVidWcgbGluZS4KCSAgRml4ZXMgdGhhdCBidWZmZXJzIGFmdGVyIGEgc2VlayBhcmUgZ2VuZXJhdGVkIHdpdGhvdXQgYSB2YWxpZCB0aW1lc3RhbXAuCgoyMDA5LTA0LTE4IDA4OjQ1OjE4ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IG1hcCBHU1RfUlRTUF9FRU9GIHRvIEVPUyBvbiBzZXJ2ZXIgcmVxdWVzdHMKCSAgUGVybWl0IHByb3Blcmx5IGhhbmRsZSB0aGUgRU9TIGNvbmRpdGlvbiB3aGVuIHNlcnZlciByZXBvcnQgaXQgaW4gYSByZXF1ZXN0LgoKMjAwOS0wNC0xOCAwODozOTo1NyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSAgcnRwdGhlb3JhZGVwYXk6IEZpeCBidWlsZCBvbiBtYWNvc3guCgkgIFVzZSBHX0dTSVpFX0ZPUk1BVCBpbnN0ZWFkIG9mIHUuCgoyMDA5LTA0LTE2IDIyOjUwOjU5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGZpeCBzYW1wbGUgb2Zmc2V0IGNhbGN1bGF0aW9uIGFnYWluCgoyMDA5LTA0LTE1IDE5OjMyOjE4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOgoJICBzdW5hdWRpbzogZml4IGJyb2tlbiBpbmRlbnRhdGlvbiBvZiB2YXJpYWJsZSBkZWNsYXJhdGlvbnMKCjIwMDktMDQtMTUgMTk6Mjg6NTMgKzAxMDAgIEphbWVzIEFuZHJld2FydGhhIDx0cnM4MEB1Y2MuZ3UudXdhLmVkdS5hdT4KCgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6CgkgIHN1bmF1ZGlvOiByZW1vdmUgc29tZSB1bnVzZWQgdmFyaWFibGVzIGFuZCBnb3RvIGxhYmVscwoJICBGaXhlcyAjNTc5MDcwLgoKMjAwOS0wNC0xNSAxOToyNDo0OSArMDIwMCAgSmFtZXMgQW5kcmV3YXJ0aGEgPHRyczgwIGF0IHVjYy5ndS51d2EuZWR1LmF1PgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5oOgoJICBydHBoMjYzcGF5OiBmaXggY29tcGlsYXRpb24gb24gYmlnLWVuZGlhbgoJICBTb21lIHNlbWljb2xvbnMgd2VyZSBtaXNzaW5nIGZyb20gdGhlIGJpZy1lbmRpYW4gc3RydWN0cyBpbiBnc3RydHBoMjYzcGF5LmguCgkgIEEgR1NUX0RFQlVHIGNhbGwgd2FzIG1pc3NpbmcgYSBmb3JtYXQgc3BlY2lmaWVyLgoJICBGaXhlcyAjNTc5MDY5CgoyMDA5LTA0LTE1IDIwOjEwOjA0ICswMzAwICBNYXJjbyBCYWxsZXNpbyA8bWFyY28uYmFsbGVzaW9Abm9raWEuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuYzoKCSogZ3N0L3F0ZGVtdXgvcXVpY2t0aW1lLmM6CgkgIHF0ZGVtdXg6IGltcGxlbWVudCAzR1BQIChUUyAyNi4yNDQgVjguMC4wKSBBc3NldCBtZXRhZGF0YSBoYW5kbGluZywgRml4ZXMgIzEzMjE5MwoJICBJbXBsZW1lbnRzIDNncHAgaXNvIG1ldGFkYXRhIHRhZ3Mgd2hpY2ggYXJlIGRpZmZlcmVudCBmcm9tIG1vdiB1ZHRhIGF0b21zLgoKMjAwOS0wNC0xNSAxNTo1MToyNCArMDIwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9lZmVuY2UuaDoKCSAgZGVidWd1dGlsczogVXNlIEdfQkVHSU5fREVDTFMvR19FTkRfREVDTFMuCgkgIFVzZSBHX0JFR0lOX0RFQ0xTL0dfRU5EX0RFQ0xTIHRvIGF2b2lkIGdzdC1pbmRlbnQgbWVzc2luZyB1cCB0aGUKCSAgaW5kZW50YXRpb24gZHVlIHRvIGV4dGVybiAiQyIgeyB9LgoKMjAwOS0wNC0xNSAxNjowMzoyNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9icmVha215ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy9kZWJ1Zy52Y3Byb2o6CgkqIGdzdC9kZWJ1Z3V0aWxzL2VmZW5jZS5jOgoJKiBnc3QvZGVidWd1dGlscy9lZmVuY2UuaDoKCSogZ3N0L2RlYnVndXRpbHMvZWZlbmNlLnZjcHJvajoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0ZGVidWcuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2aWdhdGlvbnRlc3QuaDoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2c2Vlay5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZzZWVrLmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHB1c2hmaWxlc3JjLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHB1c2hmaWxlc3JjLmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHRhZ2luamVjdC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3R0YWdpbmplY3QuaDoKCSogZ3N0L2RlYnVndXRpbHMvbmF2aWdhdGlvbnRlc3QudmNwcm9qOgoJKiBnc3QvZGVidWd1dGlscy9uZWdvdGlhdGlvbi5jOgoJKiBnc3QvZGVidWd1dGlscy9wcm9ncmVzc3JlcG9ydC5jOgoJKiBnc3QvZGVidWd1dGlscy9wcm9ncmVzc3JlcG9ydC5oOgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Rlc3RwbHVnaW4uYzoKCSogZ3N0L2RlYnVndXRpbHMvdGVzdHMuYzoKCSogZ3N0L2RlYnVndXRpbHMvdGVzdHMuaDoKCSAgZGVidWc6IHJlbmFtZSBkZWJ1ZyB0byBkZWJ1Z3V0aWxzIHRvIGF2b2lkIGNsYXNoIHdpdGggLS1kaXNhYmxlLWRlYnVnLiBGaXhlcyAjNTYyMTY4CgoyMDA5LTA0LTE1IDE1OjQzOjA0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZGVidWcvZWZlbmNlLmM6CgkqIGdzdC9kZWJ1Zy9lZmVuY2UuaDoKCSogZ3N0L2RlYnVnL2dzdG5hdmlnYXRpb250ZXN0Lmg6CgkqIGdzdC9kZWJ1Zy9nc3RuYXZzZWVrLmg6CgkqIGdzdC9kZWJ1Zy9nc3RwdXNoZmlsZXNyYy5oOgoJKiBnc3QvZGVidWcvZ3N0dGFnaW5qZWN0Lmg6CgkqIGdzdC9kZWJ1Zy9wcm9ncmVzc3JlcG9ydC5oOgoJKiBnc3QvZGVidWcvdGVzdHMuaDoKCSAgZGVidWc6IGluZGVudCBiZWZvcmUgcmVuYW1pbmcKCjIwMDktMDQtMTUgMTQ6MDc6NTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJICBnNzI2ZGVwYXk6IGFkZCBwcm9wZXJ0eSBmb3IgYWFsMiBmb3JjZQoKMjAwOS0wNC0xNSAxMzo1NjoxNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5Lmg6CgkgIGc3MjZkZXBheTogaW1wbGVtZW50IFJGQzM1NTEgcGFja2luZwoJICBXZSBpbXBsZW1lbnRlZCB0aGUgQUFMMiBwYWNraW5nLCBhZGQgdGhlIGVuY29kaW5nLW5hbWUgZm9yIHRob3NlIHRvIHRoZSBjYXBzIGFuZAoJICBhIHByb3BlcnR5IHRvIGZvcmNlIEFBTDIgZGVjb2RpbmcgKGFsd2F5cyBUUlVFIGZvciBub3cpLgoJICBJbXBsZW1lbnQgUkZDMzU1MSB1bnBhY2tpbmcgZm9yIHJlZ3VsYXIgRzcyNi4KCSAgU2VlICM1NjcxNDAuCgoyMDA5LTA0LTE1IDAwOjIyOjQzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5Lmg6CgkgIHJ0cGgyNjNwYXk6IGZpeCBidWlsZAoKMjAwOS0wNC0xNCAxODo1Mjo0OCArMDIwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpIGF0IGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICBoMjYzcGF5OiB2YXJpb3VzIGZpeGVzCgkgIFJlLWVuYWJsZSBtb2RlIEEgc3VwcG9ydCBhbmQgYSBwcm9wZXJ0eSB0byBjb250cm9sIGl0LgoJICBGaXggbWVtb3J5IGxlYWsgb2YgR3N0UnRwSDI2M1BheUJvdW5kcnkgb2JqZWN0cy4KCSAgRml4IG1hcmtlci4KCSAgRml4ZXMgIzUwOTMxMQoKMjAwOS0wNC0xNCAxODo0NDo1MSArMDIwMCAgSmFuaW4gS29sZW5jIDxqYW5pbi5rb2xlbmMgYXQgbWFyYW5kLnNpPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5oOgoJICBoMjYzcGF5OiBGaXggdGhlIHBheWxvYWRlcgoJICBGaXggdGhlIEgyNjMgcGF5bG9hZGVyIHRvIGJlIG1vcmUgUkZDIDIxOTAgY29tcGxpYW50LgoJICBTZWUgIzUwOTMxMQoKMjAwOS0wNC0xNCAxNzoyNzowNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGRvbid0IHB1c2ggRU9TIGluIHN0cmVhbWluZyBtb2RlCgkgIEluIHN0cmVhbWluZyBtb2RlLCBhdmlkZW11eCBpcyBub3Qgc3VwcG9zZWQgdG8gc2VuZCBhbiBFT1MgZXZlbnQgZG93bnN0cmVhbSBidXQKCSAgaXQgaXMgc3VwcG9zZWQgdG8gcmV0dXJuIFVORVhQRUNURUQgZnJvbSB0aGUgY2hhaW4gZnVuY3Rpb24gaW5zdGVhZCBzbyB0aGF0CgkgIHVwc3RyZWFtIGNhbiBkbyB0aGUgcmlnaHQgRU9TIGhhbmRsaW5nLgoKMjAwOS0wNC0xMyAxNDowMzowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIG11eGluZy9kZW11eGluZyBTcGVleCBhdWRpbwoJICBOb3RlOiBUaGlzIGlzIG5vdCBpbiB0aGUgTWF0cm9za2Egc3BlYyB5ZXQKCSAgRml4ZXMgYnVnICM1NzgzMTAuCgoyMDA5LTA0LTEwIDIxOjMxOjA2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGhhbmRsZSBOVUxMIHRpbWluZyBpbmZvCgkgIERvbid0IGNyYXNoIHdoZW4gdGhlIHRpbWluZyBpbmZvIGlzIG5vdCB5ZXQgYXZhaWxhYmxlLgoKMjAwOS0wNC0xMCAyMTo0MjoxMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkgIHB1bHNlOiBtYWtlIGl0IHdvcmsgb24gMC45LjEyCgkgIEZpcnN0IHdlIGlnbm9yZSByZXF1ZXN0IHRvIGZpbGwgdGhlIHJpbmdidWZmZXIgd2hpY2ggYXJlIGxlc3MgdGhlbiBhIHNlZ21lbnQuCgkgIFRoZSBzbWFsbCByZXF1ZXN0IHdoZXJlIGNhdXNpbmcgc3R1dHRlci4KCSAgVGhlbiB3ZSBkaXNhYmxlIGZsdXNoaW5nIHRoZSBzdHJlYW0gd2hlbiBydW5uaW5nIGFnYWluc3QgcGEgMC45LjEyIGFzIHRoaXMKCSAgdHJpZ2dlcnMgYW4gYXNzZXJ0aW9uZyBpbiB0aGUgc291bmQgc2VydmVyIGFuZCB0ZXJtaW5hdGVzIGl0LiBJdCBkb2VzIG5vdCBoYXBwZW4KCSAgd2l0aCAwLjkuMTAgYW5kIDAuOS4xNC4KCjIwMDktMDQtMTAgMTQ6MTg6NDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogaGFuZGxlIHNlcnZlciBkaXNjb25uZWN0IGluIGdldF90aW1lCgkgIFdoZW4gdGhlIHNlcnZlciBpcyBkaXNjb25uZWN0ZWQgb3Igd2hlbiB3ZSBhcmUgc2h1dCBkb3duLCBtYWtlIG91ciBjbG9jayByZXR1cm4KCSAgYW4gaW52YWxpZCB0aW1lIGluc3RlYWQgb2YgZXJyb3Jpbmcgb3V0LgoKMjAwOS0wNC0xMCAxMjowMToyNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBicHMgaXMgc2lnbmVkIGludCB0byBhdm9pZCBvdmVyZmxvdwoJICBLZWVwIGJwcyBhcyBnaW50IGluc3RlYWQgb2YgZ3VpbnQgYmVjYXVzZSB3ZSB3aWxsIGJlIGRvaW5nIHNpZ25lZCBtYXRoIHdpdGggaXQKCSAgbGF0ZXIgb24gYW5kIHdlIGRvbid0IHdhbnQgd2VpcmQgcmVzdWx0cy4KCjIwMDktMDQtMTAgMDA6MjY6NDQgKzAyMDAgIExSTiA8bHJuMTk4NiBhdCBnbWFpbC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBhZGQgY29udmVydCBxdWVyeSwgZml4IGR1cmF0aW9uIHF1ZXJ5CgkgIEZpeCB0aGUgZHVyYXRpb24gcXVlcnkgc28gdGhhdCBpdCBhbHNvIHdvcmtzIHdpdGggZm9ybWF0cyBvdGhlciB0aGFuCgkgIFRJTUUsIHN1Y2ggYXMgREVGQVVMVCB0byBnZXQgdGhlIG51bWJlciBvZiBmcmFtZXMuCgkgIEFkZCBhIGNvbnZlcnQgZnVuY3Rpb24uCgkgIEZpeGVzICM1NzgwNTIuCgoyMDA5LTA0LTA5IDIzOjQzOjU4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGNoZWNrIGZvciBhIHN0cmVhbQoJICBEb24ndCB0cnkgdG8gY2hhbmdlIHRoZSBzdHJlYW0gdm9sdW1lIChhbmQgb3RoZXIgdGhpbmdzKSB3aGVuIHdlIGRvbid0IGhhdmUgYQoJICBzdHJlYW0geWV0LiBKdXN0IHN0b3JlIHRoZSB2YWx1ZXMgZm9yIGxhdGVyLgoKMjAwOS0wNC0wOSAxODowNzozOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBmaXggY29tcGlsYXRpb24gZm9yIG5ld2VyIHB1bHNlYXVkaW8KCjIwMDktMDQtMDkgMTc6MTg6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogdW5jb3JrIGZpeGVzIGFuZCB1c2UgcHJlYnVmID0gMAoJICBXZSBjYW4gdXNlIHByZWJ1ZiA9IDAgdG8gaW5zdHJ1Y3QgcHVsc2UgdG8gbm90IHBhdXNlIHRoZSBzdHJlYW0gb24gdW5kZXJmbG93cy4KCSAgVGhpcyB3YXkgd2UgY2FuIHJlbW92ZSB0aGUgdW5kZXJmbG93IGNhbGxiYWNrLiBXZSBob3dldmVyIGhhdmUgdG8gbWFudWFsbHkKCSAgdW5jb3JrIHRoZSBzdHJlYW0gbm93IHdoZW4gd2UgaGF2ZSBubyBhdmFpbGFibGUgc3BhY2UgaW4gdGhlIGJ1ZmZlciBvciB3aGVuIHdlCgkgIGFyZSB3cml0aW5nIHRvbyBmYXIgYXdheSBmcm9tIHRoZSBjdXJyZW50IHJlYWRfaW5kZXguCgoyMDA5LTA0LTA5IDE0OjM4OjE3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGhhbmRsZSB3cml0ZSBlcnJvcnMKCjIwMDktMDQtMDkgMTQ6MTY6MzUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogd3JpdGUgc2lsZW5jZSBvbiB1bmRlcmZsb3cKCSAgU3RhcnQgZmlsbGluZyB1cCB0aGUgYnVmZmVyIHdpdGggZW1wdHkgc2FtcGxlcyB3aGVuIGFuIHVuZGVyZmxvdyBoYXBwZW5zLiBXZQoJICBuZWVkIHRvIGRvIHRoaXMgdG8ga2VlcCBwdWxzZWF1ZGlvIHJlcG9ydGluZyB0aGUgcmlnaHQgdGltZSBmb3IgdXMuCgoyMDA5LTA0LTA5IDEzOjE0OjE0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGhhbmRsZSBwdWxsLWJhc2VkIHNjaGVkdWxpbmcKCSAgVXNlIHRoZSBkZWZhdWx0IGJhc2VzaW5rIG1ldGhvZHMgZm9yIGltcGxlbWVudGluZyBwdWxsIGJhc2VkIHNjaGVkdWxpbmcsIGl0CgkgIHdvcmtzIGZpbmUgZm9yIHVzLgoKMjAwOS0wNC0wOSAxMjoxMzo0NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBhZGQgYmVnaW5uaW5ncyBvZiBwdWxsLWJhc2VkIHNjaGVkdWxpbmcKCjIwMDktMDQtMDggMTg6MTc6MTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazoga2VlcCB0cmFjayBvZiBjbG9jayByZXNldAoJICB3aGVuIHdlIHN3aXRjaCBzdHJlYW1zLCB0aGUgY2xvY2sgd2lsbCByZXNldCB0byAwLiBNYWtlIHN1cmUgdGhhdCB0aGUgcHJvdmlkZWQKCSAgY2xvY2sgZG9lc24ndCBnZXQgc3R1Y2sgd2hlbiB0aGlzIGhhcHBlbnMgYnkga2VlcGluZyBhbiBpbml0aWFsIG9mZnNldC4gV2UgYWxzbwoJICBuZWVkIHRvIG1ha2Ugc3VyZSB0aGF0IHdlIHN1YnRyYWN0IHRoaXMgb2Zmc2V0IGluIHNhbXBsZXMgd2hlbiB3cml0aW5nIHRvIHRoZQoJICByaW5nYnVmZmVyLgoKMjAwOS0wNC0wOCAxMzo1Mjo0MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJICBwdWxzZXNpbms6IHJld3JpdGUgcHVsc2VzaW5rCgkgIERlcml2ZSBmcm9tIEJhc2VBdWRpb1NpbmsgYW5kIGltcGxlbWVudCBvdXIgY3VzdG9tIHJpbmdidWZmZXIgdGhhdCBtYXBzIHRvIHRoZQoJICBpbnRlcm5hbCBwdWxzZWF1ZGlvIHJpbmdidWZmZXIuCgoyMDA5LTA0LTA4IDEzOjUyOjAwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJICBwdWxzZTogcmVtb3ZlIHNvbWUgc3RyYXkgZGVidWcgbGluZXMKCjIwMDktMDQtMDkgMTE6MzA6NTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkgIGpwZWdkZWM6IHVzZSBzbGlnaHRseSBtb3JlIGFkYXB0aXZlIGZvcm11bGEgZm9yIFFvUwoJICBTaG91bGQgd29yayBhdCBsZWFzdCBhIHRhZCBiZXR0ZXIgaWYgdGhlIGRlY29kZXIgY2FuJ3Qga2VlcCB1cCwgYW5kCgkgIHNob3VsZCBhbHNvIHNwcmVhZCBkcm9wcGVkIGZyYW1lcyBhIGJpdCBtb3JlIGV2ZW5seSBvdmVyIHRpbWUuCgoyMDA5LTA0LTA3IDIyOjM1OjMxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGRvbid0IGxlYWsgcGFkLXRlbXBsYXRlCgkgIGdzdF9lbGVtZW50X2NsYXNzX2FkZF9wYWRfdGVtcGxhdGUoKSBkb2VzIG5vdCB0YWtlIG93bmVyc2hpcC4KCjIwMDktMDQtMDQgMjE6MTg6NTUgKzAzMDAgIEZlbGlwZSBDb250cmVyYXMgPGZlbGlwZS5jb250cmVyYXNAZ21haWwuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBkMGVhODllIHRvIGIzOTQxZWEKCjIwMDktMDQtMDEgMDE6MTU6MzEgKzAyMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hcyAoYXQpIGFwZXN0YWFydCAoZG90KSBvcmc+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSAgYWRkIHBlbmRpbmdfc2FtcGxlcyBzbyB0aGF0IHdlIG9ubHkgdXBkYXRlIHNlZ21lbnQncyBsYXN0IHN0b3AgYWZ0ZXIgcmVhbGx5IHNlbmRpbmcgdGhlIHNhbXBsZXMKCjIwMDktMDMtMTUgMjE6MzE6NDkgKzAxMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hcyAoYXQpIGFwZXN0YWFydCAoZG90KSBvcmc+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZmxhY2RlYy5jOgoJICBhZGQgZGVidWcgYW5kIGFuIGFzc2VydAoKMjAwOS0wMy0xNSAyMTozMDozMiArMDEwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzIChhdCkgYXBlc3RhYXJ0IChkb3QpIG9yZz4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgYWRkIGRlYnVnZ2luZwoKMjAwOS0wMy0wMyAxMDoxNDowMiArMDEwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzIChhdCkgYXBlc3RhYXJ0IChkb3QpIG9yZz4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9hdWRpb3Rlc3RzcmMuZmxhYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2ZsYWNkZWMuYzoKCSAgYWRkIGEgdGVzdCB0byBjaGVjayB0aGF0IHdlIGdldCBhbGwgZGVjb2RlZCBieXRlcyBmcm9tIGEgMTAtYnVmZmVyIGF1ZGlvdGVzdHNyYyBmbGFjLCBpbiB0aGUgY2FzZSBvZjogIC0gYSBmdWxsIGRlY29kZSAgLSBhIGRlY29kZSBvZiBhIHNlZWsgZm9yIHRoZSBmdWxsIGZpbGUgIC0gYSBkZWNvZGUgb2YgYSBzZWVrIGZvciBhIHNtYWxsIHBhcnQsIHNtYWxsZXIgdGhhbiB0aGUgZmlyc3QgYnVmZmVyCgkgIFRoZSB0ZXN0IGZhaWxzIGJlY2F1c2UgZmxhY2RlYyBkcm9wcyB0aGUgZmlyc3Qgb3V0Z29pbmcgYnVmZmVyIG9uIGEgc2VlawoKMjAwOS0wMy0wMyAxMDowNjo1MiArMDEwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzIChhdCkgYXBlc3RhYXJ0IChkb3QpIG9yZz4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgY2xpcHBpbmcgc2hvdWxkIGFsc28gd29yayBpZiBpdCdzIGRvbmUgb24gdGhlIGZpcnN0IGJ1ZmZlciBzdGFydGluZyBhdCAwCgoyMDA5LTA0LTA0IDE0OjU0OjAxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmOGIzZDkxIHRvIGQwZWE4OWUKCjIwMDktMDQtMDMgMDk6NTc6MTUgKzAxMDAgIFphaGVlciBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvcXRkZW11eC9MRUdBTDoKCSAgRml4IGdyYW1tYXIuCgoyMDA5LTA0LTAyIDIyOjQxOjAxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhbGxvdyBodHRwOi8vIG9uIHRoZSBwcm94eSBzZXR0aW5nCgkgIEFsbG93IGFuZCBpZ25vcmUgaHR0cDovLyBhdCB0aGUgc3RhcnQgb2YgdGhlIHByb3h5IHNldHRpbmcsIGxpa2UKCSAgc291cGh0dHBzcmMuCgkgIEZpeGVzICM1NzMxNzMKCjIwMDktMDQtMDIgMjE6MDg6NDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGRvbid0IGxlYWsgdGhlIHVkcHNyYyBwYWQKCSAgRml4IG1lbW9yeSBsZWFrIGluIHJ0c3BzcmMgYmVjYXVzZSB3ZSBkaWRuJ3QgdW5yZWYgdGhlIHVkcHNyYyBwYWQuCgkgIFNlZSAjNTc3MzE4CgoyMDA5LTA0LTAxIDE3OjMxOjE4IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgIHJ0cHRoZW9yYXBheTogZml4IGxlbmd0aCBlbmNvZGluZyBpbiBwYWNrZWQgaGVhZGVycy4KCSAgQXMgZm9yIHZvcmJpcyBwYXlsb2FkZXI7IHRoaXMgYnkgaW5zcGVjdGlvbiBoYWQgdGhlIHNhbWUgYnVnLgoKMjAwOS0wNC0wMSAxNzoyMzozMyAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICBydHB2b3JiaXNwYXk6IGluIHBhY2tlZCBoZWFkZXJzLCBwcm9wZXJseSBmbGFnIG11bHRpYnl0ZSBsZW5ndGhzLgoJICBJbiB0aGUgc2VxdWVuY2Ugb2YgaGVhZGVyIGxlbmd0aHMsIGZvciBoZWFkZXJzID4xMjcgYnl0ZXMsIHdlIHVzZQoJICBtdWx0aXBsZSBieXRlcyB0byBlbmNvZGUgdGhlIGxlbmd0aC4gQnl0ZXMgb3RoZXIgdGhhbiB0aGUgbGFzdCBtdXN0IGhhdmUKCSAgdGhlIHRvcCAoZmxhZykgYml0IHNldC4KCjIwMDktMDQtMDIgMDA6MjA6MDIgKzAxMDAgIEpvbmF0aGFuIE1hdHRoZXcgPGpvbmF0aGFuQGQxNG4ub3JnPgoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzdjJtdXguYzoKCSAgaWQzdjJtdXg6IHdyaXRlIFJWQTIgZnJhbWVzIGNvbnRhaW5pbmcgcGVhay9nYWluIHZvbHVtZSBkYXRhCgoyMDA5LTA0LTAyIDAwOjA1OjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJICBqcGVnZGVjOiBkZW1vdGUgc29tZSBsb2cgbWVzc2FnZSBmcm9tIERFQlVHIHRvIExPRwoJICBBbmQgbG9nIGRlY29kZXIgb2JqZWN0LgoKMjAwOS0wNC0wMSAyMToxNTowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSAganBlZ2RlYzogaW1wbGVtZW50IGJhc2ljIFFvUwoJICBEb24ndCBkZWNvZGUgZnJhbWVzIHRoYXQgYXJlIGdvaW5nIHRvIGJlIHRvbyBsYXRlIGFueXdheS4KCjIwMDktMDQtMDEgMTI6MjY6MTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBkb24ndCBlbWl0IHVnbHkgd2FybmluZ3Mgd2l0aCBvbGRlciBydHBqaXR0ZXJidWZmZXIgdmVyc2lvbnMKCSAgVGhlIG9uLW5wdC1zdG9wIHNpZ25hbHMgd2FzIGFkZGVkIG9ubHkgcmVjZW50bHkgdG8gcnRwaml0dGVyYnVmZmVyIGluCgkgIC1iYWQsIHNvIGNoZWNrIGlmIHRoZSBzaWduYWwgZXhpc3RzIGJlZm9yZSBnX3NpZ25hbF9jb25uZWN0KClpbmcgdG8KCSAgaXQsIHRvIGF2b2lkIHdhcm5pbmdzLgoKMjAwOS0wMy0zMSAxOTowODozNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBhZGQgcHJveHkgc3VwcG9ydAoKMjAwOS0wMy0zMSAxNzoxNjowNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYTogZG9uJ3QgbGVhayBzZXJpYWxpemVkIHZhbHVlcyB3aGVuIHdyaXRpbmcgdGFncwoKMjAwOS0wMy0zMSAxNzowNjo1MCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thOiBkb24ndCBhbHRlciBwYXNzZWQgZGF0YSBhbmQgZXNwZWNpYWx5IGRvbid0IGxlYWsuCgkgIElmIHdlIG5lZWQgZGlmZmVyZW50IHNpemUsIE1ha2UgYSBjb3B5LCB3b3JrIHdpdGggdGhhdCBhbmQgZnJlZSBpdC4KCjIwMDktMDMtMzEgMTY6NDI6MTUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9nb29tL3BsdWdpbl9pbmZvLmM6CgkgIGdvb206IHRoZSBzdHJ1Y3R1cmUgaXMgbm90IGZ1bGx5IGluaXRpYWxpemVkLCBidXQgdGhlIGNvcGllZC4KCSAgU2V0IHRvIGZ1bGx5IHRvIDAgdG8gYXZvaWQgY3JlZXAgb2YgdW5pbml0aWFsaXplZCB2YWx1ZXMuCgoyMDA5LTAzLTMxIDE2OjI1OjU4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thOiBpbml0IGVuZGlhbmVzcyBhcyBzdWNoIGFuZCBzaWduZWRuZXNzIGFzIGJvb2xlYW4uCgoyMDA5LTAzLTMxIDE2OjIyOjQyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRvbid0IHVzZSBpbmluaXRpYWxpemVkIHZhciBpbiBkZWJ1ZyBsb2cgc3RhdGVtZW50CgkgIEFsc28gbWFrZSB0aGUgbG9nIHN0YXRlbWVudCB1c2VmdWwgYnkgcHJpbnRpbmcgdGhlIGh1bWFuIHJlYWRhYmxlIGZvcm1hdCBuYW1lLgoKMjAwOS0wMy0zMSAxMjowMToyMSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkb24ndCBsZWFrIGF0b20gZGF0YSBpbiBjYXNlIG9mIGEgd3JvbmcgZm91cmNjCgoyMDA5LTAzLTMxIDExOjU3OjM2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2E6IGRvbid0IGxlYWsgcmVhZCBkYXRhIGluIGRlbXV4ZXIKCjIwMDktMDMtMzEgMTE6NTA6NDEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHA6IGRvbid0IHVzZSBwcm90b2NvbCBpbiBkZWJ1ZyBtZXNzYWdlIGFmdGVyIGZyZWVpbmcKCjIwMDktMDMtMzAgMTQ6MTA6MTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSAgcnRwbXA0YWRlcGF5OiBvdXRwdXQgc2hvdWxkIGJlIGZyYW1lZCBhbHJlYWR5CgoyMDA5LTAzLTI3IDIxOjE3OjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuaDoKCSAgZmxhYzogcmVxdWlyZSBhICduZXdlcicgZmxhYyBhbmQgcmVtb3ZlIHN1cHBvcnQgZm9yIHRoZSBsZWdhY3kgZmxhYyBBUEkKCjIwMDktMDMtMjcgMTc6NDg6MTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGxpbmsgdG8gdGhlIG9uX25wdF9zdG9wIHNpZ25hbCB0byBFT1MKCSAgQ29ubmVjdCB0byB0aGUgb25fbnB0X3N0b3Agc2lnbmFsIG9mIHRoZSBzZXNzaW9uIG1hbmFnZXIgdG8gc2NoZWR1bGUgdGhlIEVPUwoJICBhY3Rpb25zLgoKMjAwOS0wMy0yNiAxNDozOTowNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNvbWUgc3RyZWFtIHN5bmNocm9uaXphdGlvbiB0byBhaWQgc2Vla2luZyBpbiB1bmJhbGFuY2VkIGNsaXBzCgkgIFNvbWUgY2xpcHMgKHRyYWlsZXJzKSBtYXkgaGF2ZSAobGVuZ3RoLXdpc2UpIHVuYmFsYW5jZWQgc3RyZWFtcywKCSAgd2hpY2ggc3RhbGxzIHRoZSBwaXBlbGluZSBpZiBzZWVraW5nIGludG8gdGhhdCByZWdpb24uCgkgIEFkZGl0aW9uYWwgc3RyZWFtIHN5bmNocm9uaXphdGlvbiBjYW4gaGFuZGxlIHRoaXMsIGFzIHdlbGwgYXMKCSAgc3BhcnNlIChzdWJ0aXRsZSkgc3RyZWFtcyAoYXQgc29tZSBsYXRlciB0aW1lID8pCgoyMDA5LTAzLTI2IDEwOjMxOjE4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWRkaXRpb25hbCBzYWZldHkgYW5kIHNhbml0eSBjaGVja3MgKHB1c2ggYmFzZWQgbW9kZSkKCjIwMDktMDMtMjYgMTA6MTg6MzEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IHNvbWUgbW9yZSBpbmRlbnQgZml4ZXMKCjIwMDktMDMtMjQgMTY6MDA6NTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IGZpeCBnc3QtaW5kZW50IHNjcmV3dXAKCjIwMDktMDMtMjUgMTc6NTQ6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcC5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIHBvL1BPVEZJTEVTLmluOgoJICBydHNwc3JjOiBiZXR0ZXIgZXJyb3IgbWVzc2FnZSB3aGVuIHRoZSBSVFNQIGV4dGVuc2lvbiBmb3IgUmVhbCBzdHJlYW1zIGlzIG1pc3NpbmcKCSAgVHJ5IHRvIHBvc3QgYSBkZWNlbnQgZXJyb3IgbWVzc2FnZSB3aGVuIGl0IGxvb2tzIGxpa2Ugd2UncmUgZmFpbGluZwoJICBiZWNhdXNlIHRoZSBSZWFsIFJUU1AgZXh0ZW5zaW9uIHBsdWdpbiBpcyBtaXNzaW5nLiBBbHNvIGFkZCBpMThuCgkgIGJpdHMgZm9yIHJ0c3BzcmMgc28gb3VyIGVycm9yIG1lc3NhZ2VzIGdldCB0cmFuc2xhdGVkLgoKMjAwOS0wMy0yNSAxNTo0MjoxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aS5jOgoJKiBnc3QvcXRkZW11eC9xdWlja3RpbWUuYzoKCSAgaTE4bjogbWFrZSBzdXJlIGdldHRleHQgZ2l2ZXMgdXMgVVRGLTggYXQgYWxsIHRpbWVzCgoyMDA5LTAzLTI1IDAxOjI4OjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOgoJICBydHBtcDRhcGF5LHJ0cG1wNGRlcGF5OiBmaXggYnVmZmVyIGxlYWtzIGluIEFBQyBwYXlsb2FkZXIgYW5kIGRlcGF5bG9hZGVyCgoyMDA5LTAzLTI1IDAxOjIyOjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOgoJICBydHBtcDRhcGF5OiB3YXJuIGlmIGlucHV0IGlzIHVuZnJhbWVkCgoyMDA5LTAzLTIyIDIxOjIwOjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJICBqcGVnZGVjOiBwdXQgR3N0U2VnbWVudCBpbnNpZGUgdGhlIGVsZW1lbnQgc3RydWN0IGluc3RlYWQgb2YgYWxsb2NhdGluZyBpdCBzZXBhcmF0ZWx5CgoyMDA5LTAzLTI1IDEwOjA4OjQxICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsMnNyYzogbW92ZSBkdXBsaWNhdGVkIHRpbWVzdGFtcGluZyBhbmQgYnVmZmVyIG1ldGFkYXRhIGNvZGUgdG8gX2NyZWF0ZSgpCgkgIFRoaXMgd2lsbCBpbmNsdWRlIHRoZSBsYXRlbmN5IGNoYW5nZXMgYWxzbyBpbiB0aGUgbW1hcCBjYXNlLgoKMjAwOS0wMy0yNSAxMDowNjo0OCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDJzcmM6IHJlbW92ZSB3aW4zMiBpZmRlZnMgaW50cm9kdWNlZCBieSBjb21taXQgY2ZmM2Y0Njc2MGVhYzc0YzliYmQ3YTM2YWNhNDRmZWRmMzI3NDI0YgoJICBWNGwyc3JjIGlzIHVuZGVyIHN5cyBhbmQgZG9lcyBub3QgZXhpc3RzL3J1biB1bmRlciB3aW5kb3dzIGFueXdheS4KCjIwMDktMDMtMjQgMTU6NDQ6NDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBoYW5kbGUgRkxVU0hfU1RPUCBldmVudAoJICBDbGVhbiB1cCBzb21lIHN0YXRlIChtb3N0IG5vdGFibHkgcGFkIGZsb3cgcmV0dXJucykgdG8gcmVzdW1lCgkgIHByb3BlciBzdHJlYW1pbmcgZm9sbG93aW5nIGZsdXNoaW5nIHNlZWsuCgoyMDA5LTAzLTI0IDEyOjQyOjEzICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZG9uJ3QgcG9zdCBhbiBlcnJvciBpZiBFT1MgY2FuJ3QgYmUgcHVzaGVkIGRvd25zdHJlYW0uCgkgIFRoaXMgYWxpZ25zIGF2aWRlbXV4IHdpdGggb3RoZXIgZGVtdXhlcnMgYW5kIGZpeGVzIGEgYnVnIHVzaW5nIGF2aWRlbXV4CgkgIHdpdGggYSByZWNlbnQgZ25vbmxpbi4KCjIwMDktMDMtMjMgMTE6MjI6MDggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogY2xlYW4gdXAgdGhlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbgoJICBNYWtlIHRoZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gYSBiaXQgbW9yZSByZWFkYWJsZSBhbmQgb25seSBwYXVzZSBhZnRlciB0aGUKCSAgcGFyZW50IGhhZCBhIGNoYW5nZSB0byBwYXVzZSBmaXJzdC4KCjIwMDktMDMtMDkgMjM6NDM6NTUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJICBNYWtlZmlsZS5hbTogbm8gc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMKCjIwMDktMDMtMjAgMTc6MjI6MzIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzdXBwb3J0IHNlZWtpbmcgaW4gcHVzaCBiYXNlZCBtb2RlCgoyMDA5LTAzLTIwIDE3OjExOjM5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWxpZ24gcHVzaCBiYXNlZCBiZWhhdmlvdXIgbW9yZSB3aXRoIHB1bGwgYmFzZWQKCSAgQ2F0ZXIgZm9yIERFTFRBX1VOSVQgZmxhZyBvbiBidWZmZXJzLCBrZWVwIHRyYWNrIG9mIGN1cnJlbnQKCSAgcG9zaXRpb24sIHJlbW92ZSBhbmQgd2FybiBhYm91dCBlZGl0IGxpc3RzIGlmIGFueSAoYXMgdGhvc2UKCSAgYXMgYXJlIGRlIGZhY3RvIGRpc2NhcmRlZCBhbnl3YXkpLCBhZGQgc29tZSBkZWJ1ZyBzdGF0ZW1lbnRzCgkgIGFuZCBpbmRlbnQgZml4ZXMuCgoyMDA5LTAzLTIwIDE3OjAzOjAzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IG1lbSBsZWFrcyBhbmQgcHJldmVudCBleGNlc3NpdmUgYnVmZmVyaW5nIGluIHB1c2ggYmFzZWQgbW9kZQoKMjAwOS0wMy0yMCAxMzoyNzo1OSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkgIHB1bHNlc2luazogVHJhY2sgdGhlIGNvcmtlZC91bmNvcmtlZCBzdGF0ZSBvdXJzZWx2ZXMKCSAgVXNlIGFuIGluc3RhbmNlIHZhcmlhYmxlIHRvIHRyYWNrIHdoZXRoZXIgdGhlIHN0cmVhbSBpcyBjb3JrZWQgb3Igbm90LAoJICBpbnN0ZWFkIG9mIHVzaW5nIFBBIEFQSSB0aGF0IHdhcyBvbmx5IGludHJvZHVjZWQgaW4gMC45LjExCgoyMDA5LTAzLTE5IDE4OjM5OjA0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlOiBNYWtlIHN1cmUgdGhlIHN0cmVhbSBpcyB1bmNvcmtlZCBpbiB0aGUgd3JpdGUgZnVuY3Rpb24KCSAgSWYgdGhlIGNhcHMgY2hhbmdlcywgdGhlIHNpbmsgaXMgcmVzZXQgd2l0aG91dCB0cmFuc2l0aW9uaW5nIHRocm91Z2gKCSAgYSBQQVVTRUQtPlBMQVlJTkcgc3RhdGUgY2hhbmdlLCByZXN1bHRpbmcgaW4gYSBjb3JrZWQgc3RyZWFtLiBUaGlzIGF2b2lkcwoJICB0aGUgcHJvYmxlbSBieSBjaGVja2luZyB0aGF0IHRoZSBzdHJlYW0gaXMgdW5jb3JrZWQgd2hlbiB3cml0aW5nIHNhbXBsZXMKCSAgdG8gaXQuCgoyMDA5LTAzLTIwIDAxOjAyOjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBzcGVleGVuYzogZml4IGRpcmVjdGlvbiBvZiBsYXRlbmN5IHF1ZXJ5IGFuZCBvdGhlciB1cHN0cmVhbSBxdWVyaWVzCgkgIERvbid0IHNlbmQgcXVlcmllcyBiYWNrIHRvIHRoZSBlbGVtZW50IHRoZXkganVzdCBjYW1lIGZyb20gYnkgc2VuZGluZwoJICB0aGVtIHRvIHRoZSBwZWVyIG9mIHRoZSB3cm9uZyBwYWQuCgoyMDA5LTAzLTE5IDExOjEwOjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIC5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IGlnbm9yZSBtb3JlCgoyMDA5LTAzLTE4IDE2OjU1OjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkgIHJ0cG1wNGFkZXBheTogZG9uJ3QgYXBwZW5kIGFuIGV4dHJhIDAgYnl0ZSB0byB0aGUgY29kZWMgZGF0YQoJICBUaGUgYXVkaW9NdXhWZXJzaW9uIHN0cnVjdHVyZSBpcyBwYWNrZWQgaW4gc3VjaCBhIHdheSB0aGF0IHRoZSBjb2RlYwoJICBkYXRhIGRvZXMgbm90IHN0YXJ0IGJ5dGUtYWxpZ25lZCwgd2hpY2ggbWVhbnMgdGhlcmUncyBhbiBleHRyYSBiaXQgb2YKCSAgcGFkZGluZyBhdCB0aGUgZW5kLiBXZSBkb24ndCB3YW50IHRoYXQgYml0IGluIHRoZSBjb2RlYyBkYXRhLCBzaW5jZQoJICBzb21lIGRlY29kZXJzIHNlZW0gZ2V0IGNvbmZ1c2VkIHdoZW4gdGhleSdyZSBmZWQgd2l0aCBhbiBleHRyYSBjb2RlYwoJICBkYXRhIGJ5dGUgKGFsc28gaXQncyBqdXN0IG5vdCByaWdodCBvZiBjb3Vyc2UpLgoKMjAwOS0wMy0xOSAxMzoyNTo1NyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheTogZml4IGJhc2U2NCBkZWNvZGluZwoJICBXZSBjYW4ndCBwYXNzIC0xIHRvIF9kZWNvZGVfc3RlcCwgdGhhdCBmdW5jdGlvbnMgcmV0dXJucyAwIHJpZ2h0IGF3YXkgaW5zdGVhZCBvZgoJICBkZWNvZGluZyB1cCB0byB0aGUgc3RyaW5nIGVuZC4KCjIwMDktMDMtMTkgMTM6MjQ6MDIgKzAxMDAgIERhdmlkIEFkYW0gPHphbmNoZXkgYXQgdWNjLmd1LnV3YS5lZHUuYXU+CgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkgIHVkcDogRml4IGJ1aWxkIGlmIG9uIFNvbGFyaXMKCSAgVGhpcyBwYXRjaCBjaGVja3MgZm9yIFNvbGFyaXMgYW5kIHVzZXMgaXBfbXJlcSBpbnN0ZWFkIG9mIGlwX21yZXFuIGlmIG9uIHRoaXMKCSAgcGxhdGZvcm0uCgkgIEZpeGVzICM1NzU5MzcuCgoyMDA5LTAzLTE4IDE0OjUwOjE3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkgIHJ0cDogVXNlIEdMaWIgZnVuY3Rpb25zIGZvciBlbmNvZGluZy9kZWNvZGluZyBiYXNlNjQKCjIwMDktMDMtMTYgMTk6MTc6MjQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFkZCBzb21lIGRlYnVnIGZvciB0aGUgdGltZXN0YW1wcwoJICBXaGVuIHRpbWVzdGFtcGluZyBpbiBUQ1AgbW9kZSwgbG9nIHRoZSBmaXJzdCB0aW1lc3RhbXAgd2UgcHV0IG9uIHRoZSBidWZmZXJzLgoKMjAwOS0wMy0xNSAyMzoyNjo1NiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyc3JjOiBsb2cgZGV0YWlscyBpZiB3ZSBoYXZlIHRoZW0sIG5lZWRlZCBmb3IgIzU3NTM5MQoKMjAwOS0wMy0xMyAxODozMjo0NyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogY29udmVydCBfIGluIHByb3BlcnRpZXMgdG8gLQoJICAtLQoKMjAwOS0wMy0xMyAxODoyODo1OSArMDEwMCAgRWRnYXIgRS4gSWdsZXNpYXMgPGVkZ2FyLmlnbGVzaWFzQGdtYWlsLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5oOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5oOgoJICB1ZHBzcmM6IEFkZCBuZXR3b3JrIGludGVyZmFjZSBzZWxlY3Rpb24KCSAgQWRkIG5ldHdvcmsgaW50ZXJmYWNlIHNlbGVjdGlvbiB3aGVuIGpvaW5pbmcgbXVsdGljYXN0IGdyb3Vwcy4KCSAgVXNlZnVsIHdoZW4gdXNpbmcgdGhlIHVkcHNyYyBvbiBtdWx0aWhvbWVkIGhvc3RzLgoJICBGaXhlcyAjNTc1MjM0LgoJICBBUEk6IEdzdFVEUFNyYzo6bXVsdGljYXN0LWlmYWNlCgoyMDA5LTAzLTEzIDE1OjQzOjUyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDJzcmM6IFByZXBlbmQgdG8gbGlzdHMgYW5kIHJldmVyc2UgdGhlbSBhdCB0aGUgZW5kLgoJICBHcmF0dWl0b3VzIG1pY3JvLW9wdGltaXNhdGlvbiAtIHByZXBlbmQgdG8gbGlzdHMgYW5kIHJldmVyc2UgdGhlbSwgcmF0aGVyCgkgIHRoYW4gYXBwZW5kaW5nIHRvIHRoZW0gZWFjaCB0aW1lLgoKMjAwOS0wMy0xMyAxNTo0MDo1MCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IFdhaXQgdW50aWwgdGhlcmUgaXMgZW5vdWdoIHJvb20gdG8gd3JpdGUgYW4gZW50aXJlIHNlZ21lbnQKCSAgV2hlbiB0cnlpbmcgdG8gd3JpdGUgb3V0IGEgc2VnbWVudCwgd2FpdCB1bnRpbCB0aGVyZSBpcyBlbm91Z2ggZnJlZSBzcGFjZQoJICBmb3IgdGhlIGVudGlyZSBzZWdtZW50LiBUaGlzIGhlbHBzIHRvIHJlZHVjZSByaXBwbGUgaW4gdGhlIGNsb2NrIHJlcG9ydGluZywKCSAgd2hlcmUgdGhlIGFwcCBtaWdodCBxdWVyeSB0aGUgcGxheWJhY2sgcG9zaXRpb24gd2hpbGUgb25seSBoYWxmIGEgc2VnbWVudAoJICBoYXMgYmVlbiB3cml0dGVuIChhbmQgaXMgdGhlcmVmb3JlIHJlcG9ydGVkIGJ5IF9kZWxheSgpLCBldmVuIHRob3VnaAoJICB0aGUgcmluZyBidWZmZXIgaGFzIG5vdCB5ZXQgYmVlbiBhZHZhbmNlZCkKCjIwMDktMDMtMTIgMjA6Mzg6NDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGRvbid0IHNlbmQgUEFVU0Ugd2hlbiBub3QgY29ubmVjdGVkCgkgIGRvbid0IHNlbmQgYSBQQVVTRSByZXF1ZXN0IHdoZW4gd2UgYXJlIG5vIGxvbmdlciBjb25uZWN0ZWQuCgoyMDA5LTAzLTEyIDE2OjEwOjI1ICswMTAwICBMYXN6bG8gUGFuZHkgPGxhc3psb2syQGdtYWlsLmNvbT4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgRG9uJ3QgY2FsbCBGTEFDX18gbWV0aG9kcyBiZWZvcmUgaXQncyBpbml0aWFsaXplZC4gRml4ZXMgIzUxNjAzMQoJICBJbiB0aGUgZXZlbnQgaGFuZGxlciwgZ3N0X2ZsYWNfZGVjX3NpbmtfZXZlbnQoKSwgdHdvIGZ1bmN0aW9ucyBhcmUgY2FsbGVkIG9uCgkgIHRoZSBGTEFDIHN0cmVhbSB3aXRob3V0IGNoZWNraW5nIGlmIGl0IGhhcyBiZWVuIGluaXRpYWxpemVkOgoJICBGTEFDX19zdHJlYW1fZGVjb2Rlcl9mbHVzaCgpCgkgIEZMQUNfX3N0cmVhbV9kZWNvZGVyX3Byb2Nlc3NfdW50aWxfZW5kX29mX3N0cmVhbSgpCgkgIEJvdGggdGhlc2UgRkxBQ19fKigpIGZ1bmN0aW9ucyBtb2RpZnkgdGhlIGludGVybmFsIHN0YXRlIG9mIHRoZSBGTEFDIHN0cmVhbS4KCSAgTGF0ZXIsIHdoZW4gdGhlIGJ1ZmZlcnMgc3RhcnQgZmxvd2luZywgZ3N0X2ZsYWNfZGVjX2NoYWluKCkgdHJpZXMgdG8gaW5pdGlhbGl6ZQoJICB0aGUgc3RyZWFtLiB0aGUgRkxBQ19fc3RyZWFtX2RlY29kZXJfaW5pdF9zdHJlYW0oKSBjYWxsIHdpbGwgZmFpbCBiZWNhdXNlIHRoZQoJICBwcmV2aW91cyBjYWxscyB0byBGTEFDX18qKCkgY2hhbmdlZCB0aGUgc3RyZWFtIHN0YXRlIHNvIGl0IGlzIG5vIGxvbmdlciBpbiB0aGUKCSAgaW5pdGlhbGl6ZWQgc3RhdGUuCgoyMDA5LTAzLTExIDE3OjU5OjAwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggdGltZW91dCBjaGVjawoJICAtLS0KCjIwMDktMDMtMTEgMTI6NDg6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogd2luMzIvTUFOSUZFU1Q6CgkgIHdpbjMyOiB1cGRhdGUgTUFOSUZFU1QsIGZpeGluZyAnbWFrZSBkaXN0JwoJICBjb25maWcuaC5pbiBubyBsb25nZXIgZXhpc3RzLgoKMjAwOS0wMy0xMCAyMToxNDo0MyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L211bHRpcGFydC9NYWtlZmlsZS5hbToKCSAgbWFrZWZpbGU6IGZpeCB0eXBvIGluIG5vLXN0YXRpYyBwbHVnaW5zIHJ1bGUKCjIwMDktMDMtMTAgMTE6MDE6MTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICBwbmdkZWM6IHZhcmlvdXMgY2xlYW51cHMuCgkgIE1ha2Ugc29tZSBjb2RlIG1vcmUgcmVhZGFibGUuCgkgIEZpeCBhIGxlYWsgd2hlbiBwdWxsIHJhbmdlIHJldHVybnMgYSBzaG90IGJ1ZmZlci4KCSAgUHVzaCBFT1MgYWZ0ZXIgcG9zdGluZyB0aGUgZXJyb3IuCgoyMDA5LTAzLTEwIDEwOjE2OjI3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJICBnc3RydHB2b3JiaXNkZXBheTogRml4IGJ1aWxkIG9uIG1hY29zeAoKMjAwOS0wMy0wMSAxNzozNzo1NiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIC5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IElnbm9yZSBtNCBkaXJlY3RvcnkKCjIwMDktMDMtMDkgMjM6MTI6MzMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNzAzMjE2MyB0byBmOGIzZDkxCgoyMDA5LTAzLTA5IDE4OjA3OjIwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJICB2b3JiaXNkZXBheTogZml4IHNvbWUgbGVha3MKCSAgQW5kIGxlYWsgdGhlIGNvZGVib29rcy4KCSAgVXNlIGdsaWIgYmFzZTY0IGRlY29kZXJzLgoJICBVc2Ugc3ViYnVmZmVycyB0byBhdm9pZCBhIG1lbWNweSBvZiB0aGUgaGVhZGVycy4KCjIwMDktMDMtMDkgMTc6MTQ6MTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSAgZmxhY2RlYzogZG9uJ3QgbG9zZSB0aGUgZmlyc3QgYnVmZmVyIGFmdGVyIGEgc2VlawoJICBUaGUgZmxhY2RlYyBBUEkgY2FsbHMgdGhlIHdyaXRlIGNhbGxiYWNrIHdoZW4gcGVyZm9ybWluZyBhIHNlZWsuIFdlIGNhbm5vdCB5ZXQKCSAgcHVzaCBvdXQgYSBidWZmZXIgYXQgdGhhdCB0aW1lIHNvIHdlIG11c3Qga2VlcCBpdCBhbmQgcHVzaCBpdCBvdXQgbGF0ZXIuCgkgIEZsdXNoIG91dCB0aGUgdXBzdHJlYW0gcGFydCBvZiB0aGUgcGlwZWxpbmUgd2hlbiBkb2luZyBhIHNlZWsuCgkgIEZpeGVzICM1NzQyNzUuCgoyMDA5LTAzLTA5IDE1OjIwOjA1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzYW5pdGl6ZSB0YWcgbmFtZXMKCSAgU2FuaXRpemUgdGhlIHRhZyBuYW1lcyBiZWZvcmUgdHVybmluZyB0aGVtIGludG8gYSBzdHJ1Y3R1cmUgbmFtZS4gV2UgY2FuIG9ubHkKCSAgYWRkIGFscGhhbnVtZXJpYyB2YWx1ZXMgYXMgdGhlIHN0cnVjdHVyZSBuYW1lLgoKMjAwOS0wMy0wOCAxMjowNDoyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGZmYTczOGQgdG8gNzAzMjE2MwoKMjAwOS0wMy0wOCAxMToxOTo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDNmMTNlNGUgdG8gZmZhNzM4ZAoKMjAwOS0wMy0wNyAxMTo0NTozNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDNjNzQ1NmIgdG8gM2YxM2U0ZQoKMjAwOS0wMy0wNyAxMDo0NTo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDU3YzgzZjIgdG8gM2M3NDU2YgoKMjAwOS0wMy0wNiAyMTo1NjoyNiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyc3JjOiBmaXggcGFkcywgc28gdGhhdCB0aGV5IGFyZSBzdWJzZXQgb2YgdGVtcGxhdGUgY2FwcwoJICBEbyBub3QgYWRkIHc9MCB8IGg9MC4gV2hlbiB3ZSBjYW4ndCBnZXQgYSBmcmFtZXJhdGUgYWRkIGZyYWN0aW9uIHJhbmdlLgoKMjAwOS0wMy0wNSAxNDowODoxNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBmaXggcmFuZ2UgcGFyc2luZwoJICBGaXggcGFyc2luZyBvZiB0aGUgcmFuZ2UgaGVhZGVycy4KCjIwMDktMDItMTAgMTc6MjA6NTcgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVucGF5Lmg6CgkgIE1vdmUgc2lyZW4gcnRwIHBheS9kZXBheSBmcm9tIGdzdC1wbHVnaW5zLWZhcnNpZ2h0CgoyMDA5LTAzLTA0IDE2OjI1OjM0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggbWVtb3J5IGxlYWsgaW4gY2xvc2UKCSAgQ2xvc2UgdGhlIGNvbm5lY3Rpb24gZXZlbiB3aGVuIHdlIGZhaWwgdG8gc2VuZCB0aGUgdGVhcmRvd24gbWVzc2FnZS4KCSAgVXNlIHRoZSBjb25uZWN0aW9uIHVybCAod2hpY2ggaXMgYSBjb3B5IG9mIHRoZSBzcmMgdXJsKS4KCjIwMDktMDMtMDQgMTY6MTU6MDUgKzAxMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGNoZWNrOiBnc3QtcGx1Z2lucy1nb29kLnN1cHAgbmVlZHMgdG8gYmUgZGlzdHJpYnV0ZWQuCgoyMDA5LTAzLTA0IDEyOjI5OjUwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggZG8tcnRjcCBwcm9wZXJ0eSBkZXNjcmlwdGlvbgoJICAtLS0KCjIwMDktMDMtMDMgMTI6MjA6MjcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBzb3VwaHR0cHNyYzogRXhwb3NlIHRoZSBTb3VwU2Vzc2lvbiAndGltZW91dCcgcHJvcGVydHkuCgoyMDA5LTAzLTAyIDE1OjA3OjI0ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogLmdpdGlnbm9yZToKCSAgLmdpdGlnbm9yZTogSWdub3JlIHRoZSBtNC8gZGlyZWN0b3J5CgoyMDA5LTAzLTAyIDE3OjE4OjU1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkgIHJ0cG1wNHZwYXk6IEFkZCBzdXBwb3J0IGZvciBtb3JlIGZvcm1hdHMKCSAgSGFjayBhcm91bmQgc2hvcnQgaGVhZGVyIG1wZWc0IHZpZGVvIGZpbGVzIGFuZCBwdXQgdGhlIHNob3J0IGhlYWRlciBhcyB0aGUKCSAgY29uZmlnIHN0cmluZy4KCSAgRml4ZXMgIzU3MjU1MS4KCjIwMDktMDMtMDIgMTY6MDg6MjMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFkZCBzdXBwb3J0IGZvciBodHRwIHR1bm5lbGluZwoJICBBZGQgc3VwcG9ydCBmb3IgaHR0cCB0dW5uZWxpbmcgYW5kIGEgbmV3IHJ0c3BoOi8vIHVyaSBmb3IgaXQuCgkgIFNlZSAjNTczMTczLgoKMjAwOS0wMy0wMiAwOTo0MzozMCArMDEwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzIChhdCkgYXBlc3RhYXJ0IChkb3QpIG9yZz4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBvZiBzc2g6Ly90aG9tYXN2c0BnaXQuZnJlZWRlc2t0b3Aub3JnL2dpdC9nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtZ29vZAoKMjAwOS0wMy0wMiAwODo0MToxNSArMDEwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzIChhdCkgYXBlc3RhYXJ0IChkb3QpIG9yZz4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgQWRkL2NsYXJpZnkvZml4IHNvbWUgbG9nZ2luZy4KCjIwMDktMDMtMDEgMTI6NDc6MzcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQGh1dGNoLTIubG9jYWw+CgoJKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06CgkgIFJlbW92ZSBoYXJkY29kZWQgZGVmaW5pdGlvbiBvZiBPQkpDCgoyMDA5LTAzLTAxIDE5OjU1OjI2ICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBXYWl0IGZvciBhIGZyYW1lIHRvIGJlY29tZSBhdmFpbGFibGUgYmVmb3JlIGNhcHR1cmluZyBpdAoJICBVc2UgR3N0UG9sbCB0byB3YWl0IGZvciB0aGUgZmQgb2YgdGhlIHZpZGVvIGRldmljZSB0byBiZWNvbWUgcmVhZGFibGUgYmVmb3JlCgkgIHRyeWluZyB0byBjYXB0dXJlIGEgZnJhbWUuIFRoaXMgc3BlZWRzIHVwIHN0b3BwaW5nIHY0bDJzcmMgYSBsb3QgYXMgaXQgbm8KCSAgbG9uZ2VyIGhhcyB0byB3YWl0IGZvciB0aGUgbmV4dCBmcmFtZSwgZXNwZWNpYWxseSB3aGVuIGNhcHR1cmluZyB3aXRoIGxvdwoJICBmcmFtZXJhdGVzIG9yIHdoZW4gdGhlIHZpZGVvIGRldmljZSBqdXN0IG5ldmVyIGdlbmVyYXRlcyBhIGZyYW1lICh3aGljaCBzZWVtcyBhCgkgIGNvbW1vbiBpc3N1ZSBmb3IgdXZjdmlkZW8gZGV2aWNlcykKCSAgRml4ZXMgYnVnICM1NjM1NzQuCgoyMDA5LTAyLTE0IDE3OjU2OjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSAgYWxhd2RlYywgbXVsYXdkZWM6IGRlbW90ZSBzb21lIGRlYnVnIG1lc3NhZ2VzIGZyb20gRVJST1IgdG8gV0FSTklORyBvciBERUJVRwoJICBOb24tb2sgZmxvdyByZXR1cm5zIG1heSBoYXBwZW4gZm9yIGEgdmFyaWV0eSBvZiBwZXJmZWN0bHkgbGVnaXRpbWF0ZSBhbmQgZXhwZWN0ZWQgcmVhc29ucwoJICAodGVtcG9yYXJpbHkgbm90IGxpbmtlZCwgc2Vla2luZywgcGlwZWxpbmUgc2h1dGRvd24pLCBzbyB3ZSByZWFsbHkgc2hvdWxkbid0IHNwZXcgRVJST1IKCSAgZGVidWcgbWVzc2FnZXMgdG8gc3RkZXJyIGluIHRob3NlIGNhc2VzLiBGaXhlcyAjNTcwNzgxLiAoU2VlbXMgbGlrZSBzb21lb25lIGFscmVhZHkgdG9vawoJICBjYXJlIG9mIHNvbWUgb2YgdGhlc2UuKQoKMjAwOS0wMi0yOCAxNToyNjowMCArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6CgkgIHJndm9sdW1lOiBJbXByb3ZlIGxvZyBtZXNzYWdlIGZvciBwZWFrIHZhbHVlcyA+MS4wIGJ5IGNsYW1waW5nIGV4cGxpY2l0bHkuCgoyMDA5LTAyLTI3IDIzOjI1OjMyIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJICBGaXggdGhlIGZpZWxkIGRvbWluYW5jZQoJICBQQUwgaXMgVEZGLCBOVFNDIGlzIEJGRi4gIFNvbWUgZGF5IEkgd2lsbCBsZWFybiB0byBrZWVwIHRoaXMKCSAgc3RyYWlnaHQuCgoyMDA5LTAyLTI3IDIwOjQwOjMxICswMTAwICBMUk4gPGxybjE5ODZAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgZGlyZWN0ZHJhd3Npbms6IEZpeCB0eXBlIG1pc21hdGNoZXMKCSAgRml4ZXMgYnVnICM1NzMzNDMuCgoyMDA5LTAyLTI3IDIwOjI4OjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBvZiBzc2g6Ly9naXQuZnJlZWRlc2t0b3Aub3JnL2dpdC9nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtZ29vZAoKMjAwOS0wMi0yNyAyMDoyNDo1MyArMDEwMCAgTFJOIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSAgdWRwOiBEb24ndCBzZXQgZXJybm8gdG8gRUFGTk9TVVBQT1JUIHVuY29uZGl0aW9uYWxseQoJICBGaXhlcyBidWcgIzU3MzM0Mi4KCjIwMDktMDItMjcgMTE6MTc6NTAgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzoKCSAgcmd2b2x1bWU6IGlnbm9yZSBvdXQtb2YtcmFuZ2UgcGVhayB2YWx1ZXMKCSAgSWYgdGhlIHBlYWsgdmFsdWUgaXMgPiAxIChhbmQgdGh1cyBub25zZW5zaWNhbCkgaWdub3JlIGl0LiBQcmV2ZW50cwoJICByZ3ZvbHVtZSByZWR1Y2luZyB2b2x1bWUgdG8gZWZmZWN0aXZlbHkgc2lsZW50IG9uIGZpbGVzIHdpdGggYm9ndXMgcGVhawoJICB2YWx1ZXMuCgoyMDA5LTAyLTI3IDEzOjI5OjQxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogRml4IFNFRUsgZXZlbnQgaGFuZGxpbmcgaW4gcHVzaCBtb2RlLCBhbmQgU0VFS0FCTFkgcXVlcnkgaGFuZGxpbmcKCSAgU3RhbmRhcmQgcHVsbCBtb2RlIGxvb3AgYmFzZWQgU0VFSyBoYW5kbGluZyBmYWlscyBpbiBwdXNoIG1vZGUsCgkgIHNvIGNvbnZlcnQgdGhlIFNFRUsgZXZlbnQgYXBwcm9wcmlhdGVseSBhbmQgZGlzcGF0Y2ggdG8gdXBzdHJlYW0uCgkgIEFsc28gY2F0ZXIgZm9yIE5FV1NFR01FTlQgZXZlbnQgaGFuZGxpbmcsIGFuZCBwcm9wZXJseSBpbmZvcm0KCSAgZG93bnN0cmVhbSBhbmQgYXBwbGljYXRpb24gb2YgU0VFS0FCTEUgY2FwYWJpbGl0aWVzLCBkZXBlbmRpbmcKCSAgb24gc2NoZWR1bGluZyBtb2RlIGFuZCB1cHN0cmVhbS4KCjIwMDktMDItMjcgMTE6MDQ6MDggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogUmVtb3ZlIGdzdF91dGlsX2R1bXBfbWVtKCkgY2FsbHMuCgoyMDA5LTAyLTI2IDE5OjA3OjM1ICswMTAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AZmx1ZW5kby5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBmaXggU0VFSyBldmVudCBoYW5kbGluZyBpbiBwdXNoIG1vZGUKCSAgV2hlbiBpbiBwdXNoIG1vZGUgd2Ugc2hvdWxkIG5vdCB0cnkgdG8gaGFuZGxlIHRoZSBTRUVLIGV2ZW50IGFzIHRoZXJlJ3MKCSAgbm8gY29kZSB0byBoYW5kbGUgaXQgcHJvcGVybHkuIFByb3BhZ2F0ZSB1cHN0cmVhbS4KCjIwMDktMDItMjYgMTk6MDU6MDYgKzAxMDAgIFBhdHJpY2sgUmFkaXppIDxwYXRyaWNrIGRvdCByYWRpemkgYXQgYXhpcyBkb3QgY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBhZGQgdGhlIC5oIGZpbGUgY2hhbmdlIHRvbwoJICBBZGQgdGhlIC5oIGZpbGUgY2hhbmdlIGZvciB0aGUgbmV3IHByb3BlcnR5LgoKMjAwOS0wMi0yNiAxOTowMzo1MiArMDEwMCAgUGF0cmljayBSYWRpemkgPHBhdHJpY2sgZG90IHJhZGl6aSBhdCBheGlzIGRvdCBjb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFkZCBwcm9wZXJ0eSB0byBkaXNhYmxlIFJUQ1AKCSAgU29tZSBvbGQgc2VydmVycyBkb24ndCBsaWtlIHVzIGRvaW5nIFJUQ1AgYW5kIHRodXMgd2UgbmVlZCBhIHByb3BlcnR5IHRvIGRpc2FibGUKCSAgaXQuIFNlZSAjNTczMTczLgoKMjAwOS0wMi0yNiAxMzoxOTozMSArMDEwMCAgSmFuIFNtb3V0IDxqYW4gZG90IHNtb3V0IGF0IGdtYWlsIGRvdCBjb20+CgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkgIHVkcDogZml4IGdzdF91ZHBfc2V0X2xvb3BfdHRsKCkgYWdhaW4KCSAgRml4IHRoZSBnc3RfdWRwX3NldF9sb29wX3R0bCgpIGZ1bmN0aW9uIHRoYXQgd2FzIGNvbW1lbnRlZCBvdXQgaW4gYQoJICBwcmV2aW91cyBjb21taXQuIFNlZSAjNTczMTE1LgoKMjAwOS0wMi0yNiAxMzowNjoxNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkgIHJ0cHZyYXdkZXBheTogZmFpbCBvbiBpbnRlcmxhY2VkIHZpZGVvCgkgIEZhaWwgb24gaW50ZXJsYWNlZCB2aWRlbyB1bnRpbCB3ZSBzdXBwb3J0IGl0LgoKMjAwOS0wMi0yNiAxMzowMDo1OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICBydHB2cmF3cGF5OiBmYWlsIG9uIGludGVybGFjZWQgdmlkZW8KCSAgRGV0ZWN0IGFuZCBmYWlsIHdoZW4gdHJ5aW5nIHRvIHBheWxvYWQgaW50ZXJsYWNlZCB2aWRlby4KCjIwMDktMDItMjUgMjA6NDc6MTUgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oLmluOgoJICBDaGFuZ2UgaG93IHdpbjMyL2NvbW1vbi9jb25maWcuaCBpcyB1cGRhdGVkCgkgIEdlbmVyYXRlIHdpbjMyL2NvbW1vbi9jb25maWcuaC1uZXcgZGlyZWN0bHkgZnJvbSBjb25maWcuaC5pbiwKCSAgdXNpbmcgc2hlbGwgdmFyaWFibGVzIGluIGNvbmZpZ3VyZSBhbmQgc29tZSBoYXJkLWNvZGVkIGluZm9ybWF0aW9uLgoJICBDaGFuZ2UgdG9wLWxldmVsIG1ha2VmaWxlIHNvIHRoYXQgJ21ha2Ugd2luMzItdXBkYXRlJyBjb3BpZXMgdGhlCgkgIGdlbmVyYXRlZCBmaWxlIHRvIHdpbjMyL2NvbW1vbi9jb25maWcuaCwgd2hpY2ggd2Uga2VlcCBpbiBzb3VyY2UKCSAgY29udHJvbC4gIEl0J3Mga2VwdCBpbiBzb3VyY2UgY29udHJvbCBzbyB0aGF0IHRoZSBnaXQgdHJlZSBpcwoJICBidWlsZGFibGUgZnJvbSBWUy4KCSAgVGhpcyBjaGFuZ2UgaXMgc2ltaWxhciB0byB0aGUgb25lIHJlY2VudGx5IGFwcGxpZWQgdG8gR1N0cmVhbWVyCgkgIGFuZCBnc3QtcGx1Z2lucy1nb29kLiAgVGhlIHByZXZpb3VzIGNvbmZpZy5oIGZpbGUgaW4gLWdvb2Qgd2FzIGluCgkgIHByZXR0eSBiYWQgc2hhcGUsIHNvIHVubGlrZSBjb3JlIGFuZCBiYXNlLCBJIGRpZG4ndCBhdHRlbXB0IHRvCgkgIGxlYXZlIGl0IHN0cmljdGx5IHRoZSBzYW1lLCBidXQgZml4ZWQgaXQgYXMgbmVjZXNzYXJ5LiAgTmVlZHMKCSAgdGVzdGluZyBJIGNhbm5vdCBkbyBteXNlbGYuCgoyMDA5LTAyLTI1IDE5OjU4OjI5IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJKiBleHQvZHYvZ3N0ZHZkZWMuaDoKCSAgZHZkZWM6IEFkZCBpbnRlcmxhY2luZyBpbmZvIHRvIGNhcHMgYW5kIGJ1ZmZlcnMKCjIwMDktMDItMjUgMTQ6NTc6MzMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJICBidWlsZDogVXBkYXRlIHNoYXZlIGluaXQgc3RhdGVtZW50IGZvciBjaGFuZ2VzIGluIGNvbW1vbi4gQnVtcCBjb21tb24uCgoyMDA5LTAyLTI1IDE0OjAxOjI2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBmaXggY29tcGlsYXRpb24KCSAgRml4IGNvbXBpbGF0aW9uIG9uIHN5c3RlbXMgTVNHX0VSUlFVRVVFIGFuZCBJUF9SRUNWRVJSLgoKMjAwOS0wMi0xOSAyMDoxNDoxMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IGVycm9yIG91dCBpbnN0ZWFkIG9mIGNyYXNoaW5nIGlmIG5vIGNhcHMgaGF2ZSBiZWVuIHNldAoJICBEb24ndCBjcmFzaCBpZiB3ZSByZWNlaXZlIGEgYnVmZmVyIHdpdGhvdXQgY2Fwcy4gRml4ZXMgIzU3MjQxMy4KCjIwMDktMDItMjUgMTE6MzU6MzEgKzAxMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBNYWtlIHN1cmUgdGhlIHNvY2thZGRyIGxlbmd0aCB1c2VkIGZvciByZWN2ZnJvbSgpIGlzIGJpZyBlbm91Z2guCgkgIFByZXZpb3VzbHkgdGhlIHNvY2thZGRyIGxlbmd0aCB1c2VkIGZvciByZWN2ZnJvbSgpIHdhcyBjYWxjdWxhdGVkIGFzCgkgIHNpemVvZiAoc3RydWN0IHNvY2thZGRyKS4gSG93ZXZlciwgdGhpcyBpcyB0b28gbGl0dGxlIHRvIGhvbGQgYW4gSVB2NgoJICBhZGRyZXNzLCBzbyB0aGUgZnVsbCBzaXplIG9mIHRoZSBnc3Rfc29ja2FkZHIgdW5pb24gc2hvdWxkIGJlIHVzZWQKCSAgaW5zdGVhZC4KCjIwMDktMDItMjUgMTE6MzI6MjggKzAxMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBVbmlmeSB0aGUgdXNlIG9mIHVuaW9uIGdzdF9zb2NrYWRkci4KCjIwMDktMDItMjUgMTE6MzI6MDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gOWNmOGM5YiB0byBhNmNlNWM2CgoyMDA5LTAyLTI1IDEyOjA1OjIyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogYXZvaWQgY3Jhc2hpbmcgb24gc3VidGl0bGVzCgkgIEF2b2lkIGEgY3Jhc2ggaW4gYXZpIHdpdGggc3VidGl0bGVzIGJ5IG9ubHkgZGVyZWZlcmVuY2luZyB0aGUgdmlkZW8gZGVzY3JpcHRpb24KCSAgd2hlbiB3ZSBhY3R1YWxseSBhcmUgZGVhbGluZyB3aXRoIHZpZGVvIGluIHRoZSBfaW52ZXJ0IGZ1bmN0aW9uLgoKMjAwOS0wMi0yNSAxMTo0NTowNSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIGRvY3M6IHZhcmlvdXMgZG9jIGZpeGVzCgkgIE5vIHNob3J0LWRlc2MgYXMgd2UgaGF2ZSB0aGVtIGluIHRoZSBlbGVtZW50IGRldGFpbHMuCgkgIEFsc28ga2VlcCB0aGluZ3MgKE1ha2VmaWxlLmFtIGFuZCBzZWN0aW9ucy50eHQpIHNvcnRlZC4KCSAgUmV3b3JkIGFtYmlnb3VzIHJldHVybnMuIE5vIHRleHQgYWZ0ZXIgc2luY2UgcGxlYXNlLgoKMjAwOS0wMi0yNCAxNzo1ODozMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwOiBGaXggc3RyaWN0LWFsaWFzaW5nIHdhcm5pbmdzIGZyb20gZ2NjIDQuNC4wCgkgIEZpeCBzdHJpY3QgYWxpYXNpbmcgd2FybmluZ3MgYnkgZGVmaW5pbmcgYSB1bmlvbiBvbiB0aGUgZGlmZmVyZW50CgkgIHNvY2thZGRyIHN0cnVjdHMgdGhhdCB3ZSBuZWVkLgoKMjAwOS0wMi0yNCAxNzozNTo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwOiBGaXggY29tcGlsZXIgd2FybmluZyBpbiBoMjY0IHBheWxvYWRlcgoJICBGaXggYW4gdW5kZWZpbmVkIGJlaGF2aW91ciB3YXJuaW5nIGZyb20gZ2NjIDQuNC4wCgkgIFBhdGNoIEJ5OiBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCSAgRml4ZXM6ICM1NzA5OTUKCSAgU2lnbmVkLU9mZi1CeTogSmFuIFNjaG1pZHQgPGphbi5zY2htaWR0QHN1bi5jb20+CgoyMDA5LTAyLTIyIDE3OjIzOjA5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgVXNlIHNoYXZlIGZvciB0aGUgYnVpbGQgb3V0cHV0CgoyMDA5LTAyLTI0IDE0OjU1OjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nY29uZi9NYWtlZmlsZS5hbToKCSogZXh0L2djb25mL2dzdGdjb25mLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZi5oOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZlbGVtZW50cy5oOgoJICBnY29uZjogUmVuYW1lIGdjb25mLltjaF0gdG8gZ3N0Z2NvbmYuW2NoXSB0byBwcmV2ZW50IG5hbWUgY29uZmxpY3RzCgoyMDA5LTAyLTI0IDE0OjQxOjI2ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBxdGRlbXV4OiBBbHNvIHVzZSAiKGMpaW5mIiB0byBmaWxsIHRoZSBjb21tZW50IHRhZwoKMjAwOS0wMS0yNiAxMTowNjoxMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHBlcmZvcm0gVURQIFNFVFVQIGFjY29yZGluZyB0byBNUyBSVFNQIHNwZWMKCSAgTVMgUlRTUCBzcGVjIHN0YXRlcyB0aGF0IHRoZSBVRFAgcG9ydCBwYWlyIHVzZWQgaW4gc3Vic2VxdWVudCBTRVRVUAoJICByZXF1ZXN0cyBmb3IgdmFyaW91cyBzdHJlYW1zIG11c3QgYmUgaWRlbnRpY2FsIChzaW5jZSB0aGVyZSB3aWxsIGFjdHVhbGx5CgkgIGJlIG9ubHkgMSBzdHJlYW0gb2YgbXV4ZWQgYXNmIHBhY2tldHMpLiAgRm9sbG93aW5nIHRyYWRpdGlvbmFsIHNwZWNzIGFuZAoJICB1c2luZyBkaWZmZXJlbnQgcG9ydCBwYWlycyBpbiB0aGUgU0VUVVBzIGZvciBzZXBhcmF0ZSBzdHJlYW1zIHdpbGwgcmVzdWx0CgkgIGluIGFsbCBidXQgdGhlIGZpcnN0IG9uZSBmYWlsaW5nIGFuZCBvbmx5IG9uZSBzdHJlYW0gYmVpbmcgc3RyZWFtZWQuCgkgIFNvLCBpbiBhcHByb3ByaWF0ZSBjaXJjdW1zdGFuY2VzLCByZXRyeSBVRFAgU0VUVVAgdXNpbmcgcHJldmlvdXNseSB1c2VkCgkgIHBvcnQgcGFpci4gIEZpeGVzICM1NTI2NTAuCgoyMDA5LTAyLTIzIDIwOjQ5OjM3ICswMTAwICBBdXJlbGllbiBHcmltYXVkIDxnc3RlbHp6IGF0IHlhaG9vIGRvdCBmcj4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIFJlYWQgSUNNUCBlcnJvciBtZXNzYWdlcyBpbnN0ZWFkIG9mIGxvb3BpbmcKCSAgV2hlbiB3ZSBhcmUgZGVhbGluZyB3aXRoIGNvbm5lY3RlZCBzb2NrZXRzIHNoYXJlZCBiZXR3ZWVuIGEgdWRwc3JjIGFuZCBhIHVkcHNpbmsKCSAgd2UgbWlnaHQgcmVjZWl2ZSBJQ01QIGNvbm5lY3Rpb24gcmVmdXNlZCBlcnJvciBtZXNzYWdlcyBpbiB1ZHBzcmMgdGhhdCB3aWxsCgkgIGNhdXNlIGl0IHRvIGdvIGludG8gYSBidXJzdHkgbG9vcCBiZWNhdXNlIHRoZSBwb2xsIHJldHVybnMgcmlnaHQgYXdheSB3aXRob3V0IGEKCSAgbWVzc2FnZSB0byByZWFkLgoJICBJbnN0ZWFkIG9mIGxvb3BpbmcsIHJlYWQgdGhlIGVycm9yIG1lc3NhZ2UgZnJvbSB0aGUgZXJyb3IgcXVldWUgaW4gdWRwc3JjLgoJICBGaXhlcyAjNTY3ODU3LgoKMjAwOS0wMi0yMyAxOTo1Mzo1OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgQ29uZGl0aW9uYWxseSBjb21waWxlIGNvZGUgZm9yIFlWWVUKCSAgT25seSBjb21waWxlIHRoZSBjb2RlIGZvciB0aGUgWVZZVSBmb3JtYXQgd2hlbiB0aGUgZm9ybWF0IGlzIGFjdHVhbGx5IGRlZmluZWQuCgkgIFNwb3R0ZWQgYnkgdG1hdHRoIG9uIElSQy4KCjIwMDktMDItMTcgMTE6MDE6NDcgLTA4MDAgIExldmVudGUgRmFya2FzIDxsZmFya2FzQGxmYXJrYXMub3JnPgoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyc3JjOiBNYWtlIHNvcnRfYnlfZnJhbWVfc2l6ZSBjb25kaXRpb25hbGx5IGNvbXBpbGVkCgkgIHNvcnRfYnlfZnJhbWVfc2l6ZSBpcyBkZWNsYXJlZCBzdGF0aWMgYW5kIG9ubHkgdXNlZCBpbnNpZGUKCSAgYW4gaWZkZWYsIHNvIHVzZSB0aGUgc2FtZSBpZmRlZiB0byBkZWZpbmUgdGhlIGZ1bmN0aW9uLiAgRml4ZXMgIzU3MjE4NQoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMDktMDItMjMgMTc6MDU6NDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIEFkZCBZVllVIGZvcm1hdCB0byBjYXBzCgkgIEFkZCBZVllVIGZvcm1hdCB0byB0aGUgY2Fwcy4gV2UgZG9uJ3QgaGF2ZSBhbnl0aGluZyB0byBoYW5kbGUgdGhlc2UgY2FwcyB5ZXQsCgkgIHRob3VnaC4KCjIwMDktMDItMjMgMTU6NDg6NDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuaDoKCSAgU29tZSBjbGVhbnVwcwoJICBSZW1vdmUgc29tZSB1bnVzZWQgdmFyaWFibGVzLgoJICBBdm9pZCBhIHVzZWxlc3MgX3Jlc3luYyBjYWxsLgoJICBDb3JyZWN0bHkgdXNlIGEgZ2Jvb2xlYW4uCgoyMDA5LTAyLTIzIDE1OjQzOjUxICswMTAwICBXYWktTWluZyBIbyA8d2FpbWluZyBhdCBhaWx1cm9wb2RhIGRvdCBuZXQ+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgQWx3YXlzIGFkZCBQUFMgdG8gdGhlIHNwcm9wLXBhcmFtZXRlcnMtc2V0CgkgIFJld29yayB0aGUgcGFyc2luZyBjb2RlIHRoYXQgdW5kZXIgY2VydGFpbiBjaXJjdW1zdGFuY2VzIGRyb3BwZWQgdGhlIFBQUyBmcm9tCgkgIHRoZSBzcHJvcC1wYXJhbWV0ZXJzLXNldC4KCSAgRml4ZXMgIzU3Mjg1NC4KCjIwMDktMDItMjMgMTI6MTQ6MjMgKzAxMDAgIEFybm91dCBWYW5kZWNhcHBlbGxlIDxhcm5vdXQgYXQgbWluZCBkb3QgYmU+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIERvbid0IGRvIGNyYXp5IHRoaW5ncyB3aXRoIDAvMSBmcmFtZXJhdGVzCgkgIFdlIHVzZSAwLzEgZnJhbWVyYXRlcyB0byBtYXJrIHZhcmlhYmxlIGZyYW1lcmF0ZXMgYW5kIG1hdHJvc2thbXV4IHNob3VsZCBub3QgdHJ5CgkgIHRvIGNhbGN1bGF0ZSBhIGZyYW1lIGR1cmF0aW9uIGZvciBpdC4KCSAgRml4ZXMgIzU3MTI5NC4KCjIwMDktMDItMjMgMTE6NDU6NTAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIFJlcXVpcmUgbmV3ZXIgZ3N0LXAtYiBmb3IgdGhlIFJUU1AgZXh0ZW5zaW9ucy4KCSAgLS0KCjIwMDktMDItMjMgMTE6NDI6NTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIENhbGwgbmV3IHJlY2VpdmVfcmVxdWVzdCBtZXRob2QKCSAgQ2FsbCB0aGUgcmVjZWl2ZV9yZXF1ZXN0IGV4dGVuc2lvbiBtZXRob2RzIHNvIHRoYXQgZXh0ZW5zaW9ucyBjYW4gaGFuZGxlIHRoZQoJICBzZXJ2ZXIgcmVxdWVzdCBpZiB0aGV5IHdhbnQuCgoyMDA5LTAyLTIzIDExOjEzOjMwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcGV4dC5jOgoJKiBnc3QvcnRzcC9nc3RydHNwZXh0Lmg6CgkgIEFkZCBtZXRob2QgZm9yIGhhZGxpbmcgc2VydmVyIHJlcXVlc3RzCgkgIEFkZCBtZXRob2QgdG8gaGFuZGxlIHNlcnZlciByZXF1ZXN0cyBvbiB0aGUgbGlzdCBvZiBSVFNQIGV4dGVuc2lvbnMuCgoyMDA5LTAyLTEzIDE0OjM5OjI5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJICBEb24ndCB1c2UgR1NUX0VSUk9SIGZvciBub24tZXJyb3IgY2FzZXMuCgkgIFR1cm4gYSBHU1RfRVJST1IgbGluZSBpbnRvIGEgR1NUX0RFQlVHIGxpbmUgc28gdGhhdCB3ZSBkb24ndCBzcGFtIHRoZSBsb2cgd2l0aAoJICBlcnJvcnMuIEZpeGVzICM1NzA3ODEuCgoyMDA5LTAyLTIyIDE5OjMwOjMyICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuYzoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmg6CgkqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc3JjLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc3JjLmg6CgkgIGdjb25mdmlkZW8oc3JjfHNpbmspOiBEaXNjb25uZWN0IEdDb25mIG5vdGlmaWNhdGlvbnMKCSAgRml4ZXMgYnVnICM1NzEzMjEuCgoyMDA5LTAyLTIyIDE5OjI1OjM5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBVbnJlZiB0aGUgYnVmZmVyIGFuZCBub3QgdGhlIG1lbW9yeSBhZGRyZXNzIG9mIHRoZSBidWZmZXIKCjIwMDktMDItMjIgMTg6NDc6MzUgKzAxMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkgIGFsYXcvbXVsYXc6IEltcGxlbWVudCBfZ2V0Y2FwcyBmdW5jdGlvbiBmb3IgYWxhdy9tdWxhdyBkZWNvZGVycwoJICBGaXhlcyBidWcgIzU3MjM1OC4KCjIwMDktMDItMjIgMTg6NDY6MDMgKzAxMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkgIGFsYXcvbXVsYXc6IERvbid0IHJlcXVpcmUgYm90aCwgcmF0ZSBhbmQgY2hhbm5lbCwgdG8gYmUgc2V0IGluIF9nZXRjYXBzCgkgIEZpeGVzIGJ1ZyAjNTcyMzU4LgoKMjAwOS0wMi0yMiAxODozMjowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBGaXggYWxpZ25tZW50IGlzc3VlcyBieSB1c2luZyBHU1RfUkVBRF8qCgkgIFJlYWRpbmcgaW50ZWdlcnMgZnJvbSByYW5kb20gbWVtb3J5IGFkZHJlc3NlcyB3aWxsIHJlc3VsdAoJICBpbiBTSUdCVVMgb24gc29tZSBhcmNoaXRlY3R1cmVzIGlmIHRoZSBtZW1vcnkgYWRkcmVzcwoJICBpcyBub3QgY29ycmVjdGx5IGFsaWduZWQuIFRoaXMgY2FuIGhhcHBlbiBhdCB0d28KCSAgcGxhY2VzIGluIGF2aWRlbXV4IHNvIHdlIHNob3VsZCB1c2UgR1NUX1JFQURfVUlOVDMyX0xFCgkgIGFuZCBmcmllbmRzIGhlcmUuIEZpeGVzIGJ1ZyAjNTcyMjU2LgoKMjAwOS0wMi0yMiAxODowODo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuYzoKCSAgcHVsc2VtaXhlcjogRG9uJ3QgdXNlIGdfYXRvbWljX2ludF8oZ2V0fHNldCkgZm9yIGFjY2Vzc2luZyB0aGUgbWl4ZXIgdHJhY2sgZmxhZ3MKCSAgZ19hdG9taWNfaW50XyhnZXR8c2V0KSBvbmx5IHdvcmsgb24gaW50cyBhbmQgdGhlIGZsYWdzIGFyZQoJICBhbiBlbnVtICh3aGljaCBvbiBtb3N0IGFyY2hpdGVjdHVyZXMgaXMgc3RvcmVkIGFzIGFuIGludCkuCgkgIEFsc28gdGhlIHdheSB0aGUgZmxhZ3Mgd2VyZSBhY2Nlc3NlZCBhdG9taWNhbGx5IHdvdWxkIHN0aWxsCgkgIGxlYXZlIGEgcG9zc2libGUgcmFjZSBjb25kaXRpb24gYW5kIHdlIGRvbid0IGRvIGl0IGluIGFueQoJICBvdGhlciBtaXhlciB0cmFjayBpbXBsZW1lbnRhdGlvbiwgbGV0IGFsb25lIGF0IGFueSBvdGhlcgoJICBwbGFjZSB3aGVyZSBhbiBpbnRlZ2VyIGNvdWxkIGJlIGNoYW5nZWQgZnJvbSBkaWZmZXJlbnQKCSAgdGhyZWFkcy4gUmVtb3ZpbmcgdGhlIGdfYXRvbWljX2ludF8oZ2V0fHNldCkgd2lsbCBvbmx5CgkgIGludHJvZHVjZSBhIG5ldyByYWNlIGNvbmRpdGlvbiBvbiBhcmNoaXRlY3R1cmVzIHdoZXJlCgkgIGludGVnZXJzIGNvdWxkIGJlIGhhbGYtd3JpdHRlbiB3aGlsZSByZWFkaW5nIHRoZW0KCSAgd2hpY2ggc2hvdWxkbid0IGJlIHRoZSBjYXNlIGZvciBhbnkgbW9kZXJuIGFyY2hpdGVjdHVyZQoJICBhbmQgaWYgd2UgcmVhbGx5IGNhcmUgYWJvdXQgdGhpcyB3ZSBuZWVkIHRvIHVzZQoJICBnX2F0b21pY19pbnRfKGdldHxzZXQpIGF0IG1hbnkgb3RoZXIgcGxhY2VzIHRvby4KCSAgQXBhcnQgZnJvbSB0aGF0IGdfYXRvbWljX2ludF8oc2V0fGdldCkgd2lsbCByZXN1bHQgaW4KCSAgYWxpYXNpbmcgd2FybmluZ3MgaWYgdGhlaXIgYXJndW1lbnQgaXMgZXhwbGljaXRlbHkKCSAgY2FzdGVkIHRvIGFuIGludCAqLiBGaXhlcyBidWcgIzU3MTE1My4KCjIwMDktMDItMjIgMTU6NTI6MDYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNWQ3YzljYyB0byA5Y2Y4YzliCgoyMDA5LTAyLTIyIDEyOjQxOjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzoKCSAgaGR2MTM5NHNyYzogRG9uJ3QgdXNlIHZvaWQgKiBwb2ludGVyIGFyaXRobWV0aWMKCjIwMDktMDItMjEgMTE6MTM6NDMgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA4MGM2MjdkIHRvIDVkN2M5Y2MKCjIwMDktMDItMjEgMTg6NDI6NDYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudCAtPiAwLjEwLjE0LjEKCjIwMDktMDItMjAgMTg6MTY6MDIgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgRG9jdW1lbnQgcnRwZHRtZmRlcGF5IGEgYml0CgoyMDA5LTAyLTIwIDE3OjQxOjM3IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mLmM6CgkgIE1vdmVkIGR0bWYgZWxlbWVudHMgZnJvbSBnc3QtcGx1Z2lucy1mYXJzaWdodCB0byAtYmFkCgoyMDA5LTAyLTIwIDE3OjQwOjU3IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5Lmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBGaXggdXAgZG9jdW1lbnRhdGlvbiBibG9icyBTR01MCgoyMDA5LTAyLTIwIDE3OjM3OjQzIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mY29tbW9uLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFJlLWluZGVudCB0byBHc3Qgc3R5bGUKCjIwMDktMDItMTggMTM6MzA6NDQgLTA1MDAgIExhdXJlbnQgR2xheWFsIDxzcGdsZWdsZUB5YWhvby5mcj4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1pc3NpbmcgZm9ybWF0IGRpcmVjdGl2ZQoKMjAwOC0xMi0wNCAyMToyMTo0NCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWxsb3cgc2V0dGluZyBhIG1heGltdW0gZHVyYXRpb24gdG8gYSBSVFAgRFRNRiBldmVudAoKMjAwOC0xMi0wNCAyMToxMToxNyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBJbXByb3ZlIHRoZSBtaW5pbXVtIHF1YW50YSB0byBtYWtlIGl0IGltcG9zc2libGUgZm9yIHRoZSBkdXJhdGlvbiB0byBmYWxsIGRvd24gdG8gMAoKMjAwOC0xMi0wMSAxODozMTo0OCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWxsb3cgc2V0dGluZyBhIG1pbmltdW0gc2l6ZSBvZiBhIHNvdW5kIHF1YW50YSBpbiB0aGUgZHRtZiBkZXBheWxvYWRlcgoKMjAwOC0xMi0xMSAxNzo1NDoxOCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvLmdpdC1kYXJjcy1kaXI6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgLmdpdC1kYXJjcy1kaXIgZmlsZXMKCjIwMDgtMTItMDEgMTc6Mzc6MTAgLTA1MDAgIEjDpXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIERvIHdpZXJkIGNhc3Rpbmcgb2YgdGhlIHZvbHVtZSB0byBtYWtlIE1TVkMgaGFwcHkKCjIwMDgtMTAtMTUgMTY6MjE6NTAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ2xhcmlmeSB0aGUgZG9jdW1lbnRhdGlvbiBvZiB0aGUgImV2ZW50LXR5cGUiIGZpZWxkIHdoZW4gc3BlY2lmeWluZyBkdG1mIGV2ZW50cwoKMjAwOC0wNy0yMiAyMTozOTozOCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgZ19kZWJ1Z3MKCSAgMjAwODA3MjIyMTM5MzgtM2UyZGMtNDRhODJkMDE3ZmU2NmYzMTEyMzAxYzQxMGFhMGI1NDNkZTYxNTZhZC5negoKMjAwOC0wNi0xMyAyMzo1NzoyMyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBUYWtlIHJhdGUgZnJvbSB0aGUgcGVlcnMgY2FwcyBpZiBwb3NzaWJsZQoJICAyMDA4MDYxMzIzNTcyMy0zZTJkYy0xNTY5MGVlNDI3MDhjNTM5ZTFiZTEyZTIwZTA3NmE1NjEzZmFlYTk2Lmd6CgoyMDA4LTA2LTEzIDIzOjQxOjQ0ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUHV0IHRoZSBzYW1wbGUgcmF0ZSBpbiBkdG1mc3JjIGludG8gYSB2YXJpYWJsZQoJICAyMDA4MDYxMzIzNDE0NC0zZTJkYy1lNjAwNzA5NDNiZWM4MjliNzAzYjg4MjFjN2FhNDM1MWEwMmRlZWJlLmd6CgoyMDA4LTA2LTEzIDIzOjMwOjA2ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFRha2UgdGhlIGNsb2NrLXJhdGUgZnJvbSB0aGUgY2FwcyBpbiBydHBkdG1mc3JjCgkgIDIwMDgwNjEzMjMzMDA2LTNlMmRjLWE3ZDRlOTE4NjQzZjRmOGMxYmIyY2MyNjc4NTU4YzY1NDAyNTkyMGUuZ3oKCjIwMDgtMDQtMjggMjI6MjI6MzcgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBMaW5rIG1vZHVsZXMgd2l0aCBsaWJtIHdoZXJlIHJlcXVpcmVkCgkgIDIwMDgwNDI4MjIyMjM3LTNlMmRjLWIxZTkxMjBjMWU5Y2ExYTUxMGJmZDdjMjdlMmQ0NWYwZDRhMTI1MDQuZ3oKCjIwMDgtMDQtMTIgMjM6NDQ6MTggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IGJ5dGUgb3JkZXJpbmcgaXNzdWVzIHdpdGggZHRtZnNyYyBhbmQgcnRwZHRtZmRlcGF5Li4gdXNlIG9mIEdfU1RSSU5HSUZZIHRvIGF2b2lkIGVycm9yIG9uIE1TVkMKCSAgMjAwODA0MTIyMzQ0MTgtNGYwZjYtNDgyOGQxNjEzZGZjZDU2NGFmZDIzNmRmYzhmYjU3YTI5OTA5MmY4My5negoKMjAwOC0wMy0yMCAxOToxNDozOCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCBjb3B5cmlnaHRzIGFnYWluLCBwZXIgc21jdidzIGFkdmljZS4uCgkgIDIwMDgwMzIwMTkxNDM4LTRmMGY2LTY3MWM5ZGI1ZDk5NmE0NjAxZGYwMTdjZWFiNGFmNmQxNjQ2OWM5NjYuZ3oKCjIwMDgtMDMtMTkgMjE6MTc6MzEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWFrZSBpdCBjbGVhciB0aGF0IGR0bWZzcmMgYWxzbyB0YWtlcyBuYW1lZCBldmVudHMgYXMgaW5wdXQKCSAgMjAwODAzMTkyMTE3MzEtM2UyZGMtMjZjNzI5ZjZkYzhkYjI3ZTcxY2Y2YjIyNjQ2YTgxNTMwZGJmODYyZi5negoKMjAwOC0wMy0yMCAxODo0ODo0MSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gZGVidWcgbWVzc2FnZSBtYWRlIGludG8gZXJyb3JzIGJlY2F1c2UgdGhhdCdzIHdoYXQgdGhleSBhcmUuLi4KCSAgMjAwODAzMjAxODQ4NDEtNGYwZjYtOGEyZDI4MzI5N2IwMjcxM2RhZGUwYWU0YWNhYTVmNmUwZjY3ZWFjZS5negoKMjAwOC0wMy0yMCAxODozOTozNyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ2xlYW4gdW51c2VkIHN0dWZmLi4uCgkgIDIwMDgwMzIwMTgzOTM3LTRmMGY2LWJjYjg0MWNkYzA3ZjllOTY3NzUxMmY0YjUwYjRiNjU5YTU4YzY3ODMuZ3oKCjIwMDgtMDMtMjAgMTg6Mzk6MTIgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5Lmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggY29weXJpZ2h0cwoJICAyMDA4MDMyMDE4MzkxMi00ZjBmNi02ODkzNjVkNWE0MDY2MzJlM2QwODhmYWM3NGU0ZmI2ZjhhNGViMGVhLmd6CgoyMDA4LTAzLTIwIDAxOjEzOjAxICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkqIGdzdC9kdG1mL2dzdGR0bWYuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkaW5nIHN1cHBvcnQgZm9yIHJ0cGR0bWZkZXBheQoJICAyMDA4MDMyMDAxMTMwMS00ZjBmNi1kMzZhNWQyNGJlMjAzMzZlMzZjNDc5NmQ3NTQ3NmM5YjVlZTFhN2UxLmd6CgoyMDA4LTAzLTE5IDE5OjMyOjUxICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIGVuY29kaW5nIG5hbWUgaGFzIHRvIGJlIHVwcGVyLWNhc2UKCSAgMjAwODAzMTkxOTMyNTEtM2UyZGMtMTU4MWIzM2JlOWI0ODZlMzVlYzQ5NDgwMDk2NzdjY2Q1ZmZkYzA5OC5negoKMjAwOC0wMy0yMCAwMDo1MTo0NyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZjb21tb24uaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkaW5nIG5lY2Vzc2FyeSBmaWxlcyBmb3IgcnRwZHRtZmRlcGF5CgkgIDIwMDgwMzIwMDA1MTQ3LTRmMGY2LTU1MGZlMjJmNzAxNTJmM2FhYjNkY2Q3YTZiMDJjYmY4MWU4OTIzMmQuZ3oKCjIwMDgtMDMtMjAgMDA6NTA6NDEgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggdHlwb3MKCSAgMjAwODAzMjAwMDUwNDEtNGYwZjYtOWQyMmZhNWQxNTVlMzViNjA1ZWE4NWIxZmQ5ZTcxOTdhODgyYTFmMC5negoKMjAwOC0wMi0xNiAxMzo0MTo0MCArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gZHRtZnNyYzogQ29ycmVjdGx5IHNldCB0aGUgZW5kaWFuZXNzIGluIHRoZSBjYXBzIHRvIHRoZSBtYWNoaW5lcyBlbmRpYW5lc3MKCSAgMjAwODAyMTYxMzQxNDAtOTNiOWEtNDBhM2E5ZDdhYzE2NzljNWUwZGZkMjRhNmI5MWU0YWJhNmNjNjQ5Ni5negoKMjAwNy0wOS0xNyAxNzo1MjozMyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBTZWFyY2gmUmVwbGFjZSBvb3BzCgkgIDIwMDcwOTE3MTc1MjMzLTNlMmRjLTU3ZjU3OWM0Yjg5MDk5M2Y0OWZhOGU5ZTY0NzBhM2ViNzlkMmI5MjIuZ3oKCjIwMDctMDktMTcgMTc6NTE6MzMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gZXZlbnRzIGRvbnQgeWV0IGJlbG9uZyBpbiB0aGUgY2FwcwoJICAyMDA3MDkxNzE3NTEzMy0zZTJkYy1mZDFkODNiNzgyNmI4OTgxMTBmYzU3MWFlN2MzNDQwZjE4ODc0MzRkLmd6CgoyMDA3LTA5LTE3IDE2OjA4OjIwICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIHBhdGNoIHRvIG1ha2UgaXQgd29yayB3aXRoIG1hZW1vIGRzcCBzb3VyY2VzIHRoYXQgcGF5bG9hZCBpbmNvcnJlY3RseQoJICAyMDA3MDkxNzE2MDgyMC0zZTJkYy0wNmIxYjFkMWIwOTE4YjMwZGFiZWE1YTA3MTRjYjczMmIzYjhkOGRkLmd6CgoyMDA3LTA5LTE3IDA0OjI2OjQ5ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gT29wcywgc2V0IHRvIG5vIHByZXJvbGwgd2hlbiBwbGF5aW5nLT5wYXVzZWQgdG9vCgkgIDIwMDcwOTE3MDQyNjQ5LTNlMmRjLTk0YWRiNmFhMDYxN2U4MTVhNmUyMzMyMzJkYWJiNGJiYzQ4ZGM4MmMuZ3oKCjIwMDctMDktMTcgMDA6MzY6NTQgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDb21wbGV0ZSBwb3J0IHRvIGJhc2VzcmMKCSAgMjAwNzA5MTcwMDM2NTQtM2UyZGMtZGIwZjg0ZGFiZDlkZDFhYzkyOWEwNDYxODY1YjhhYWE4ZWY5MWE3Ny5negoKMjAwNy0wOS0xNyAwMDoyNDoxMiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCBjYXBzIG5lZ290aWF0aW9uIGZ1bmN0aW9uCgkgIDIwMDcwOTE3MDAyNDEyLTNlMmRjLWNhMjY2ODE2ZTk2Mjk3NDZlOTA4M2M1YmI4YjdmNzNiOTRhOWIyYjAuZ3oKCjIwMDctMDktMTcgMDA6MTY6NTkgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUHJvcGVybHkgZnJlZSBub24tc3RhcnQgZXZlbnRzCgkgIDIwMDcwOTE3MDAxNjU5LTNlMmRjLWE1NzE3NzdlM2VjZmI5MDk4OWY4NzQxMmY1NTRhYTEwYTMxY2MyY2EuZ3oKCjIwMDctMDktMTcgMDA6MTU6NTIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNYWtlIGludGVydmFsIGFuZCBwYWNrZXRfcmVkdW5kYW5jeSBpbnRvIHVpbnQKCSAgMjAwNzA5MTcwMDE1NTItM2UyZGMtNjAwMzJlNTQ3YjM2NjliODczMTdjOTgxZDk4NWMxNTZhYWI5MWI0MC5negoKMjAwNy0wOS0xNiAxOTo0NDowOCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1ha2UgdGhlIHJ0cCBkdG1mIHNyYyB1c2UgYmFzZXNyYwoJICAyMDA3MDkxNjE5NDQwOC0zZTJkYy03MzQwMDAxMzBkY2UyNDM0YTAxNGFjZjg0M2Q2NDFmZjBlNjBhYTVhLmd6CgoyMDA3LTA5LTE2IDE5OjQxOjAxICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1ha2UgZHRtZiBzcmMgY29kZSBuaWNlcgoJICAyMDA3MDkxNjE5NDEwMS0zZTJkYy1hOGJlOGM1MDljNjU0MDBkMWQzOTYyZGEwMmU2N2QxNWQyMDU0MzE2Lmd6CgoyMDA3LTA5LTE0IDA0OjIwOjQyICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gSW1wbGVtZW50IHN0b3BwaW5nIGluIGEgbmljZSB0aHJlYWQgc2FmZSB3YXkKCSAgMjAwNzA5MTQwNDIwNDItM2UyZGMtMWZlMjU3ZmY0YjcyYWNhNGIwZWI1ZjI4NWExNDY1MGI4ZGYyNjhjMy5negoKMjAwNy0wOS0xNCAwNDoxODozNCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgZ2V0X3RpbWVzIChXaW0gc2F5cyBpdHMgb25seSBnb29kIGZvciByZWFsbHkgZmFrZSBzb3VyY2VzKQoJICAyMDA3MDkxNDA0MTgzNC0zZTJkYy1mZmY0ZDVkYTJhMTQ1ZjE5ZTdiNjEwYTEwMjdkMmM0ZDRiYzVlYWUwLmd6CgoyMDA3LTA5LTEzIDIxOjIxOjQ1ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gdXNpbmcgdGhlIHVubG9jayBtZXRob2Qgb2YgYmFzZXNyYwoJICAyMDA3MDkxMzIxMjE0NS00ZjBmNi0wZTQzOGE2ODFiZjE2NTFjMGNjMGQ4ZmEzMjY5YWVkM2YxNjY4YjZiLmd6CgoyMDA3LTA5LTEzIDIxOjEyOjI2ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gbW9yZSBkZWJ1ZwoJICAyMDA3MDkxMzIxMTIyNi00ZjBmNi1iYzMyYjU4MjhmYzhlMDMyM2M4YTZlZWU3NzlhMzgxNDVhYWNkNTkzLmd6CgoyMDA3LTA5LTEzIDIwOjQ2OjE0ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gYWRkZWQgZGVidWdzCgkgIDIwMDcwOTEzMjA0NjE0LTRmMGY2LTY4YzJhNjlhZTdhMWVmY2E2ZTEzYzExNmRiYWQ3ZjliNjg2ZjAyNDIuZ3oKCjIwMDctMDktMTMgMTk6MjA6NTMgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNYWtlIHN1cmUgdG8gdW5sb2NrIHRoZSB0aHJlYWQgd2hlbiBnb2luZyB0byByZWFkeSBhbmQgdG8gZmx1c2ggdGhlIHF1ZXVlIHdoZW4gbW92aW5nIHRvIHBhdXNlZCBvciBwbGF5aW5nCgkgIDIwMDcwOTEzMTkyMDUzLTRmMGY2LTc2YzM5MjUzODBkMWEzMDk4ODI4NjE3MDUzNWE2NWRlYTY0YTU1ODMuZ3oKCjIwMDctMDktMTMgMTc6NTU6MjAgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENoYW5nZWQgZHRtZnNyYyBpbnRvIGEgc3ViY2xhc3Mgb2YgR3N0QmFzZVNyYwoJICAyMDA3MDkxMzE3NTUyMC00ZjBmNi0xNmNhNGJmOTM2OTAwNzJmM2U4MzZkMWM4YTViNTJjZjdhNDIxOTE2Lmd6CgoyMDA3LTA5LTA0IDIyOjU3OjUzICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIGFub3RoZXIgZml4IGZvciBhIHBvc3NpYmxlIHJhY2UgY29uZGl0aW9uCgkgIDIwMDcwOTA0MjI1NzUzLTRmMGY2LTViYThjNDI2MGMwMDJiYjI3ZWI5OGU5ZmFiYTNjMTU3OTkzNTdiNTcuZ3oKCjIwMDctMDktMDQgMjE6NTI6MjQgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIGNvbW1lbnQgdG8gZXhwbGFpbiBwdXNoIGJhY2sKCSAgMjAwNzA5MDQyMTUyMjQtM2UyZGMtZDkyYWMxZjQwM2RjZjU3MTU0NmE3YzUzZjE4ODA5Zjg0MGVlYTUxZC5negoKMjAwNy0wOS0wNCAyMDo1NTowOSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFByb3Blcmx5IGRvIHRoZSBsb2NraW5nIHRvIGF2b2lkIHJhY2UgY29uZGl0aW9ucyB3aXRoIGNsb2NrIHVuc2NoZWR1bGluZwoJICAyMDA3MDkwNDIwNTUwOS0zZTJkYy1kYTE5OTAwYjUxYWY2YWVkYjY1NDdmNGYzOTJiZWY0ZDEwNjFkZWMyLmd6CgoyMDA3LTA5LTAxIDAwOjAzOjI0ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gb3VwcywgSSBkaWQgaXQgYWdhaW4uLi4KCSAgMjAwNzA5MDEwMDAzMjQtNGYwZjYtM2Q4YjQ2NjkxZWU1MjA1MzdiMDZjNTExYTVlNzMyZjViODEyYjg0NC5negoKMjAwNy0wOC0zMSAyMzo1NDoyOCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIG91cHMsIHNvcnJ5Li4gRFRNRiwgbm90IFJUUF9EVE1GIGZvciB0aGlzIGZpbGUuLi4KCSAgMjAwNzA4MzEyMzU0MjgtNGYwZjYtMDBiNjA2YmZiNDg5MmU0ZjIxN2M0NDBiNjExY2M3OTRhYjBkZTU1YS5negoKMjAwNy0wOC0zMSAyMzo0NDoxMyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeGVzIHRoZSBkZWFkbG9jayB3aGVuIHBhdXNpbmcgdGhlIGR0bWZzcmMgYW5kIHJ0cGR0bWZzcmMuIEhhZCB0byBwdXNoIHNvbWV0aGluZyBvbiB0aGUgYXN5bmMgcXVldWUgdG8gcmVsZWFzZSB0aGUgYmxvY2tpbmcgYXN5bmNfcXVldWVfcG9wKCkuIFRoYW5rcyB0byBPbGl2aWVyIGZvciB0aGUgc29sdXRpb24uCgkgIDIwMDcwODMxMjM0NDEzLTRmMGY2LTc5M2NmMzVmYzQzNjM2ZTcyNzUyNThjYzcwNjNmYzA2OGY1ZWZhMGEuZ3oKCjIwMDctMDgtMjggMjI6MTU6MzQgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDbG9ja0lEIHdoZW4gd2FpdGluZyBmb3IgYnVmZmVyIGlzIG5vdyB1bnNjaGVkdWxlZCB3aGVuIHN0b3BwaW5nIHRoZSB0YXNrLiBWYXJpb3VzIGZpeGVzIHRvIGF2b2lkIGJ1Z3MgKHRoYW5rcyB0byAtV2FsbCAtV2Vycm9yKS4gRml4ZXMgdG8gYWxsb3cgdGhlIG1lcmdlIG9mIHRoZSBicmFuY2guCgkgIDIwMDcwODI4MjIxNTM0LTRmMGY2LWIwZDZhNGZlNDhjNGUyYTE2YjlmZjY5Y2IzMTAwODdjOTcwY2U0OGUuZ3oKCjIwMDctMDgtMjggMTc6MTU6NDYgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENsZWFuZWQgdXAgdGhlIGNvZGUgYSBiaXQsIG5vIHVzZSBvZiBHU1RfKiBhbmQgcmV0dXJuIHZhbHVlIHZlcmlmaWNhdGlvbiBmcm9tIGdzdF8qCgkgIDIwMDcwODI4MTcxNTQ2LTRmMGY2LWJkZWI0YjFiN2Y5OWY5NDY0YWFiZTVjNDNiZDRhNGQyMDI1MjYyYjYuZ3oKCjIwMDctMDgtMjcgMTk6NTY6MTAgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggb3Zlcmx5IGxvbmcgbGluZXMgYW5kIHRhYnMKCSAgMjAwNzA4MjcxOTU2MTAtM2UyZGMtMzk2YTNmYTAxZTE2ZjE4NGU0MTA5YzcxZmUyZGViNmU1MTZiZGYwZC5negoKMjAwNy0wOC0yNyAxOToyNjoxOCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gdW50YWJiaWZpZWQgZHRtZnNyYwoJICAyMDA3MDgyNzE5MjYxOC00ZjBmNi03N2Q2ODA3MDQ2NGYxYjVmOWE0NmNiNmVlYzJkOTIyMzQwMTQzYzA0Lmd6CgoyMDA3LTA4LTI3IDE3OjI0OjI0ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IFJUUCB0aW1lc3RhbXBzIGJ5IHNlbmRpbmcgYSBuZXdfc2VnbWVudCBldmVudCB0byB0aGUgcGF5bG9hZGVyCgkgIDIwMDcwODI3MTcyNDI0LTRmMGY2LWQyMDkwN2UzZDQzNmQ1MGJmZTc0ZWI0ZmMzZDJkNmQ3YjZiNmRiYzUuZ3oKCjIwMDctMDgtMjcgMTc6MjM6MzkgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBCZXR0ZXIgaGFuZGxpbmcgb2YgcGFja2V0cywgd2Ugc2VuZCB0aGUgc2FtZSBkdXJhdGlvbiBmb3IgYWxsIHBhY2tldHMgdG8gYXZvaWQgaHVnZSBwYWNrZXRzIHdoZW4gbWluIGR1cmF0aW9uIGRlZmluZXMgYXJlIG1vZGlmaWVkLgoJICAyMDA3MDgyNzE3MjMzOS00ZjBmNi1jYzkzMzA0NDM3ZWEzNzZmZmY2NDU4Yzc0YzQ2YzE5ZjY5MjBkMzI5Lmd6CgoyMDA3LTA4LTI3IDE3OjIzOjIyICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ2hhbmdpbmcgbWluaW11bSB2YWx1ZXMgdG8gd29yayBiZXR0ZXIgb24gc29tZSBnYXRld2F5cwoJICAyMDA3MDgyNzE3MjMyMi00ZjBmNi01YmYyYmZmYTU5YTgyNDQ1MzhkY2VkNzk1ZmE3ZDc2NDk0NTJjYTkxLmd6CgoyMDA3LTA4LTIyIDIwOjE2OjUzICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVGhlIERUTUYgdG9uZSBnZW5lcmF0b3Igbm93IHJlc3BlY3RzIHRoZSB2b2x1bWUgYXJndW1lbnQgcGFzc2VkIGluIHRoZSBldmVudAoJICAyMDA3MDgyMjIwMTY1My00ZjBmNi04YjdmZjg3NDAwNmUxMWY1YTc0ZDBmZDkxZTVhOWE0M2NkMDgyYWRhLmd6CgoyMDA3LTA4LTIyIDE4OjAxOjMzICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gZG9uJ3Qga25vdyB3aHkgSSBkaWQgdGhhdC4uLgoJICAyMDA3MDgyMjE4MDEzMy00ZjBmNi02YTczODJmNmM3ZDM2MzBmOTFkYTM4NGUxOTA0NzYzYzdlYTZmYTFhLmd6CgoyMDA3LTA4LTIyIDE3OjU1OjMzICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBQb3J0ZWQgdGhlIGV2ZW50IHF1ZXVlIHdvcmsgZnJvbSBkdG1mc3JjIHRvIHJ0cGR0bWZzcmMKCSAgQWRkZWQgYSBxdWV1ZSBiYXNlZCBzeXN0ZW0gZm9yIHRoZSBydHBkdG1mc3JjLiBOb3cgaXQgd2FpdHMgZm9yIHN0YXJ0L3N0b3AgbWVzc2FnZXMgb24gdGhlIHF1ZXVlLCBhbmQgbWFrZXMgc3VyZSB0aGF0IHRoZSBtaW5pbXVtIGR1dHkgY3ljbGUgKDEyMG1zKSBpcyByZXNwZWN0ZWQgYmV0d2VlbiBlYWNoCgkgIHRvbmUsIGluY2x1ZGluZyBpbnRlci1kaWdpdCBzaWxlbmNlLgoJICAyMDA3MDgyMjE3NTUzMy00ZjBmNi1mMjc0MTRjNDA2ZjFmN2IwMGM5YTkwODRhOTg4Y2YzYTc5MzBmZTVjLmd6CgoyMDA3LTA4LTIyIDE3OjU0OjQ0ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gb3VjaCwgcHJpbnRpbmcgd2l0aCBhcmd1bWVudHMgYnV0IHdpdGhvdXQgJXMuLiB0aGF0IG1hZGUgaXQgc2VnZmF1bHQgYSBmZXcgdGltZXMuLi4KCSAgMjAwNzA4MjIxNzU0NDQtNGYwZjYtNDQ1ZWE2Y2U3YTk2NjhkMDRjZjk5OWFmNzcyYTUwNGVjNzRmYjY3YS5negoKMjAwNy0wOC0yMiAxNzo1MToyNiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTW92ZWQgdGhlIHRpbWVzdGFtcCBmcm9tIHRoZSBldmVudCB0byBkdG1mc3JjIHN0cnVjdHVyZSBzaW5jZSB3ZSBoYXZlIG9ubHkgb25lIGV2ZW50IGF0IGEgdGltZSwgc28gbGV0J3Mga2VlcCBpdCBzdG9yZWQgaW4gdGhlIGR0bWZzcmMgc3RydWN0CgkgIDIwMDcwODIyMTc1MTI2LTRmMGY2LTUzYmNkYTJiZDhhZThjNTZkMjllNjJlNjlhYzE5YTMwZTA4YWQzNTAuZ3oKCjIwMDctMDgtMjAgMjA6Mzg6MjYgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZGVkIGEgcXVldWUgYmFzZWQgc3lzdGVtIGZvciB0aGUgZHRtZnNyYy4gTm93IGl0IHdhaXRzIGZvciBzdGFydC9zdG9wIG1lc3NhZ2VzIG9uIHRoZSBxdWV1ZSwgYW5kIG1ha2VzIHN1cmUgdGhhdCB0aGUgbWluaW11bSBkdXR5IGN5Y2xlICgxMjBtcykgaXMgcmVzcGVjdGVkIGJldHdlZW4gZWFjaCB0b25lLCBpbmNsdWRpbmcgaW50ZXItZGlnaXQgc2lsZW5jZS4KCSAgMjAwNzA4MjAyMDM4MjYtNGYwZjYtNzUwYTIyYjYxMmE1ZTQ5NWU3Njc2NjY5MzQ0NjVjMzRmZTMyMDc0Yi5negoKMjAwNy0wOC0yMCAxODo0ODo1MiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJKiBnc3QvZHRtZi9nc3RkdG1mLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZGVkIGR0bWZzcmMsIGEgRFRNRiBUb25lIEdlbmVyYXRvciwgYW5kIG1hZGUgaXQgcGFydCBvZiB0aGUgJ2R0bWYnIHBsdWdpbi4KCSAgMjAwNzA4MjAxODQ4NTItNGYwZjYtYTBkODVlNjc3MDgyOTBhZWJhZmE4OWFiNzlkM2NlZGQ1ODE1YjYyMC5negoKMjAwNy0wOC0yMCAxODo0ODowMCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mLy5naXQtZGFyY3MtZGlyOgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNb3ZlZCBydHBkdG1mIHRvIGR0bWYgZGlyZWN0b3J5CgkgIDIwMDcwODIwMTg0ODAwLTRmMGY2LWZhMzNlYTk3NDUxMDE2MWRlOGM5OTUxYzM5MDg3YWYzNjEzYjY1YTQuZ3oKCjIwMDktMDItMjEgMTI6NDc6MDAgKzAxMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hcyAoYXQpIGFwZXN0YWFydCAoZG90KSBvcmc+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIHJlc3BlY3QgREVGQVVMVCBzZWdtZW50IGJ5IGNsaXBwaW5nIHRoZSBsYXN0IGJ1ZmZlciB0byBiZSBzZW50Cgo9PT0gcmVsZWFzZSAwLjEwLjE0ID09PQoKMjAwOS0wMi0xOSAyMDowOTowNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjE0CgoyMDA5LTAyLTE5IDIwOjA3OjQxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDktMDItMTkgMTM6MTY6MzkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkgIFVwZGF0ZSBTaW5jZTogdGFncyBpbiBhdXRvZGV0ZWN0IHNyY3MgYW5kIGF1ZGlvZWNobwoKMjAwOS0wMi0xOSAxMToxMjo1OCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogQ2hhbmdlTG9nOgoJICBVcGRhdGUgQ2hhbmdlTG9nIGZvciAwLjEwLjEzLjMKCjIwMDktMDItMTkgMTE6MDk6MDMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjEzLjMgcHJlLXJlbGVhc2UKCjIwMDktMDItMTAgMTE6MjU6NDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmM6CgkgIHB1bHNlbWl4ZXI6IEZpeCBjb21waWxlciB3YXJuaW5ncy4KCSAgQ2FzdCAoZW51bSAqKSB0byAoaW50ICopLCBub3QgbmVjZXNzYXJpbHkgdGVjaG5pY2FsbHkgcmlnaHQsCgkgIGJ1dCBwbHVncyAjNTcxMTUzLgoKMjAwOS0wMi0xMyAxODowMzoxNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSAgcHVsc2VzaW5rOiBJc3N1ZSBwcm9wZXJ0eSBjaGFuZ2Ugbm90aWZpY2F0aW9uIGluIHN0cmVhbWluZyB0aHJlYWQsIHJhdGhlciB0aGFuIFBBIHRocmVhZC4KCSAgcGFfdGhyZWFkZWRfbWFpbmxvb3BfbG9jaygpIChhLm8uKSBhbmQgYnkgZXh0ZW5zaW9uIGdldF9wcm9wZXJ0eSBzaG91bGQKCSAgbm90IGJlIGRvbmUgZnJvbSBhIFBBIHRocmVhZCwgYnV0IHRoZSBsYXR0ZXIgbWF5IG9jY3VyIGFzIGEgcmVzdWx0IG9mIGEKCSAgcHJvcGVydHkgY2hhbmdlIG5vdGlmaWNhdGlvbi4gIEZpeGVzICM1NzEyMDQgKHRob3VnaCBjdXJyZW50IHNpdHVhdGlvbgoJICBub3QgaWRlYWwsIGUuZy4gcG9zdCBtZXNzYWdlIHJhdGhlciB0aGFuIHNpZ25hbCkuCgoyMDA5LTAyLTEwIDExOjI3OjUxICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSAgYXNwZWN0cmF0aW9jcm9wOiBEb24ndCBmb3JnZXQgdG8gY2FsbCBwYXJlbnQgZmluYWxpemUgaW1wbGVtZW50YXRpb24uCgkgIFRoaXMgZml4ZXMgYSBtZW1vcnkgbGVhayAobGVha2luZyB0aGUgY29udGFpbmVkIGVsZW1lbnRzIG9mIHRoZSBiaW4pLgoKMjAwOS0wMi0xMCAwODo0Mzo1OSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBGaXggYnVpbGQuIEZpeGVzICM1NzEwMzgKCjIwMDktMDItMDkgMTI6MTg6MzYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIEJ1bXAgcmV2aXNpb24gdG8gdXNlIGZvciBjb21tb24gc3VibW9kdWxlLgoKMjAwOS0wMi0wNyAxNjowMDo0OSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogQ2hhbmdlTG9nOgoJICBDaGFuZ2VMb2c6IFVwZGF0ZSBDaGFuZ2VMb2cgZm9yIDAuMTAuMTMuMgoKMjAwOS0wMi0wNyAxNTo1ODo1NSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucyBmb3IgMC4xMC4xMy4yCgoyMDA5LTAyLTA3IDE1OjQ2OjA3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjEzLjIKCjIwMDktMDItMDcgMTU6NDA6NTMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHBvL0xJTkdVQVM6CgkqIHBvL210LnBvOgoJICBwbzogQWRkIE1hbHRlc2UgdHJhbnNsYXRpb24KCjIwMDktMDItMDYgMTY6MTY6MDUgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmg6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuYzoKCSAgcXRkZW11eDogQWRkIGhhbmRsaW5nIGZvciBzdHBzIGF0b21zCgkgIHN0cHMgYXRvbXMgY29udGFpbiAicGFydGlhbCBzeW5jIiBpbmZvcm1hdGlvbiwgd2hpY2ggbWVhbnMgdGhhdCBpdCdzCgkgIGEgc3luYyBwb2ludCB3aGVyZSBwdHMgIT0gZHRzLiAgVGhpcyBpcyBuZWVkZWQgdG8gcHJvcGVybHkgaGFuZGxlCgkgIE1QRUcyLCBILjI2NCwgRGlyYWMsIGV0Yy4sIGluIHF1aWNrdGltZS4KCjIwMDktMDItMDUgMTU6NTE6NDIgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBpZiB3ZSBhYm9ydGVkIHJlYWRpbmcsIGRvbid0IGRvIGludG8gYW4gaW5maW5pdGUgbG9vcC4KCSAgSWYgb3VyIHJlYWQgY2FsbGJhY2sgcmFuIG91dCBvZiBkYXRhLCBzbyBoYWQgdG8gYWJvcnQgcmVhZGluZywgd2UgcmV0dXJuCgkgIEdTVF9GTE9XX0VSUk9SIGluc3RlYWQgb2YgZ29pbmcgaW50byBhbiBpbmZpbml0ZSBsb29wLgoKMjAwOS0wMi0wNSAxMDoxOTozNyAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiByZW1vdmUgbm9uLWVtYmVkZGVkIG1vZGUgYW5kIGZpeCBtZW1vcnkgbWFuYWdlbWVudC4KCSAgUmVtb3ZlIG5vbi1lbWJlZGRlZCBtb2RlLiBFbWJlZCBtb2RlIGJlY29tZXMgZGVmYXVsdCBhbmQgb25seSBtb2RlLgoJICBlbWJlZCBwcm9wZXJ0eSBpcyByZXRhaW5lZCBmb3IgYmluYXJ5IGNvbXBhdGliaWxpdHkuCgkgIEFkZGVkIGF1dG9yZWxlYXNlIHBvb2xzIGFyb3VuZCBhbGwgb2JqYyBmdW5jdGlvbnMgdGhhdCBtaWdodCBiZSBjYWxsZWQKCSAgZnJvbSBhIG5vbi1tYWluIHRocmVhZC4KCjIwMDktMDItMDUgMjA6MDI6MDEgKzAxMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hcyAoYXQpIGFwZXN0YWFydCAoZG90KSBvcmc+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGRlYnVnIG9uIHRoZSBvYmplY3QKCjIwMDktMDItMDQgMTY6NDA6MTMgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuYzoKCSAgb3N4YXVkaW8gZml4ZXM6IG11bHRpY2hhbm5lbCBhbmQgY2hhbmdpbmcgY2Fwcy4KCSAgRW5zdXJlIHdlIGNyZWF0ZSB0aGUgcmluZ2J1ZmZlciBzZWdtZW50IHNpemUgYXMgYSBtdWx0aXBsZSBvZiB0aGUKCSAgYnl0ZXMgcGVyIHNhbXBsZSAoZml4ZXMgNi1jaGFubmVsIG91dHB1dCkuCgkgIFJlc2V0IHRoZSBzZWdvZmZzZXQgd2hlbiBhY3F1aXJpbmcgdGhlIHJpbmdidWZmZXIsIHNvIHdlIGRvbid0IHJldGFpbgoJICBhIGJvZ3VzIG9mZnNldCB3aGVuIGNhcHMgY2hhbmdlLgoKMjAwOS0wMi0wNCAxMTozODozMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBLZWVwIHRyYWNrIG9mIGNvbm5lY3RlZCBzdGF0ZQoJICBLZWVwIHRyYWNrIG9mIHRoZSBzdGF0ZSBvZiB0aGUgY29ubmVjdGlvbiBhbmQgZG9uJ3QgdHJ5IHRvIHNlbmQgVEVBUkRPV04gd2hlbgoJICB0aGUgc2VydmVyIGhhcyBjbG9zZWQgdGhlIGNvbm5lY3Rpb24uCgoyMDA5LTAyLTA0IDA5OjIwOjI4ICswMTAwICBSb2JpbiBTdG9ja2VyIDxyb2JpbkBuaWJvci5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgUmVhZCBNYXRyb3NrYSBUaXRsZSBlbGVtZW50IGZvciB0aGUgVElUTEUgdGFnCgkgIE5vdCBhbGwgTWF0cm9za2EgZmlsZXMgaGF2ZSBhIFRhZ3MgZWxlbWVudCB3aGljaCBjb250YWlucwoJICBpbmZvcm1hdGlvbiBhYm91dCB0aGUgdGl0bGUgYW1vbmcgb3RoZXIgdGhpbmdzLiBNb3N0IHZpZGVvCgkgIE1hdHJvc2thIGZpbGVzIG9ubHkgY29udGFpbiB0aGUgVGl0bGUgZWxlbWVudCBzbyB3ZQoJICBzaG91bGQgcGFyc2UgdGhpcyB0b28uIEZpeGVzIGJ1ZyAjNTcwNDM1LgoKMjAwOS0wMi0wMyAyMjozNDozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogYnVtcCBjb3JlL2Jhc2UgcmVxdWlyZW1lbnRzIHRvIHJlbGVhc2VkIHZlcnNpb25zCgoyMDA5LTAyLTAzIDE3OjEwOjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZWNoby5jOgoJICBGaXggYXVkaW9lY2hvIHVuaXQgdGVzdCBvbiAzMiBiaXQgc3lzdGVtcwoJICBDYXN0IHRoZSBuZXcgdmFsdWUgZm9yIHRoZSAiZGVsYXkiIHByb3BlcnR5IHRvIEdzdENsb2NrVGltZS4KCSAgSW50ZWdlcnMgd2l0aG91dCB0eXBlIGFyZSBwYXNzZWQgdG8gdmFyYXJnIGZ1bmN0aW9ucyB3aXRoCgkgIGFuIGludGVnZXIgdHlwZSB0aGF0IGNhbiBob2xkIGEgcG9pbnRlci4KCjIwMDktMDItMDMgMTQ6MDk6MjYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIGVxdWFsaXplcjogRG9uJ3QgcmVzZXQgZnJlcXVlbmN5IGJhbmRzIGZyb20gdXNlciBzZXR0aW5ncy4gRml4ZXMgIzU3MDM0My4KCSAgTW92ZSByZWFsbG9jYXRpbmcgdGhlIGhpc3RvcnkgYnVmZmVyIG91dCBvZiBfY29tcHV0ZV9mcmVxdWVuY2llcygpIGFuZCBjYWxsIHRoZQoJICByaWdodCBmdW5jdGlvbiBhcyBuZWVkZWQuIEFkZCBzb21lIGxvZ2dpbmcgYW5kIHR3ZWFrIHRoZSBmb3JtYXR0aW5nIG9mIGV4aXN0aW5nCgkgIGxvZ2dpbmcuIFNpbXBsaWZ5IHNldHRpbmcgbmVlZF9uZXdfY29lZmZpY2llbnRzIHdoZW4gY2hhbmdpbmcgcHJvcGVydGllcy4KCjIwMDktMDItMDMgMTE6NTI6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkgIFVzZSBndWludDY0IGluc3RlYWQgb2YgZ3VpbnQgZm9yIHN0b3JpbmcgZ3VpbnQ2NAoKMjAwOS0wMi0wMiAxODozNzozNSArMDEwMCAgSm9uYXRoYW4gTWF0dGhldyA8bm90dmVyeXNtYXJ0QGdtYWlsLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIFVzZSBjb3JyZWN0IGZsYWcgZm9yIHRoZSBHTk9NRSBwcm94eSBjb25maWd1cmF0aW9uCgkgIEZpeGVzIGJ1ZyAjNTUyMTQwLgoKMjAwOS0wMi0wMiAxMzowODoxNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJICBGaXggY29tcGlsZXIgd2FybmluZ3MKCSAgZml4IGNvbXBpbGVyIHdhcm5pbmdzIGR1ZSB0byB1bnVzZWQgcmV0dXJuIHZhbHVlcyBvZiBzY2FuZi4KCjIwMDktMDEtMzEgMTE6MDg6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIEZpeCBmb3JtYXQgc3RyaW5nIGNvbXBpbGVyIHdhcm5pbmcKCjIwMDktMDEtMzAgMjI6MjQ6MTQgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICBBZGQgcmVsZWFzZWluZm8gd2l0aCBvbmxpbmUgdXJsLgoKMjAwOS0wMS0zMCAxODowNDoxMSArMDAwMCAgSmFuIFNjaG1pZHQgPGphbi5zY2htaWR0QHN1bi5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIEZpeCB1cCBzb21lIGNvbXBpbGUgZmxhZ3MKCjIwMDktMDEtMzAgMTc6MzU6NDkgKzAwMDAgIEphbiBTY2htaWR0IDxqYW4uc2NobWlkdEBzdW4uY29tPgoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgRG9uJ3QgdXNlIEdsaWIgMi4xNiBmdW5jdGlvbiBnX3N0cmNtcDAuCgoyMDA5LTAxLTMwIDE3OjM0OjQ1ICswMDAwICBKYW4gU2NobWlkdCA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgRG9uJ3QgZG8gdm9pZCBwb2ludGVyIGFyaXRobWV0aWMKCjIwMDktMDEtMzAgMTc6MjY6MTkgKzAwMDAgIEphbiBTY2htaWR0IDxqYW4uc2NobWlkdEBzdW4uY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgRml4IEZvcnRlIGNvbXBpbGVyIHdhcm5pbmdzLgoJICBEb24ndCBkbyB2b2lkIHBvaW50ZXIgYXJpdGhtZXRpYy4gRG9uJ3QgaGF2ZSBhbiB1bnJlYWNoYWJsZSBzdGF0ZW1lbnQuCgoyMDA5LTAxLTMwIDE3OjI5OjQ1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb21tb246CgkgIEJ1bXAgY29tbW9uCgoyMDA5LTAxLTI2IDEwOjMzOjU1ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBSZW1vdmUgdXNlbGVzcyBwcm9jZXNzaW5nIGZvciBub24tcmF3IGZvcm1hdHMKCjIwMDktMDEtMzAgMTU6MzQ6MzEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuYzoKCSAgQWRkIHN1cHBvcnQgZm9yIHRoZSAnUmVxdWlyZW1lbnQnIGFuZCAnRW5jb2RlcicgdGFncwoKMjAwOS0wMS0zMCAxNTozMzoxOSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgTW9kaWZ5IHByaXZhdGUtdGFnIG5hbWUgZm9ybWF0dGVyIHNvIHRoYXQgaXQgZG9lc24ndCBnbyBtYWQgYXQgZm91cmNjIHN0YXJ0aW5nIHdpdGggJyhjKScuCgoyMDA5LTAxLTMwIDE0OjQwOjUxICswMTAwICBCcmlqZXNoIFNpbmdoIDxicmlqZXNoLmtzaW5naEBnbWFpbC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzoKCSAgRml4IGNvbXBhcmlzb24gb2YgdGhlIHR1bmVyIG5vcm1zCgkgIFRoZSBWNEwyIHR1bmVyIG5vcm1zIHRoYXQgYSBkZXZpY2Ugc3VwcG9ydHMgY291bGQKCSAgYmUgYSBzdWJzZXQgb2Ygc29tZSBub3JtIChlLmcuIE5UU0MgaW5zdGVhZCBvZiBOVFNDX00pLgoJICBUaGUgY29tcGFyaXNvbiBzaG91bGQgYmUgZG9uZSBieSAmIGluc3RlYWQgb2YgPT0uCgkgIFNlZSBodHRwOi8vd3d3LmxpbnV4dHYub3JnL2Rvd25sb2Fkcy92aWRlbzRsaW51eC9BUEkvVjRMMl9BUEkvc3BlYy1zaW5nbGUvdjRsMi5odG1sI1NUQU5EQVJECgkgIEZpeGVzIGJ1ZyAjNTY5ODIwLgoKMjAwOS0wMS0zMCAwODo1MzowNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbW1vbjoKCSAgVXNlIGEgc3ltYm9saWMgbGluayBmb3IgdGhlIHByZS1jb21taXQgY2xpZW50LXNpZGUgaG9vawoKMjAwOS0wMS0yOSAxNDowODo1NiArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkgIE9ubHkgdW5yZWYgdGhlIHBlZXIgd2hlbiB0aGVyZSBpcyBvbmUuCgoyMDA5LTAxLTI5IDExOjA3OjU5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmM6CgkgIFJlbW92ZSB2ZXJzaW9uIG51bWJlcnMgZnJvbSBhIGZldyBnc3QtbGF1bmNoIGV4YW1wbGVzLgoJICBUaGUgbWFqb3JpdHkgb2YgdGhlIGV4YW1wbGVzIGRvZSBub3QgdXNlIC0wLjEwIGFuZCB0aGlzIHdpbGwgYWxzbyBoZWxwIHVzIHRvIG1haW50YWluIHRoZSBkb2NzLgoKMjAwOS0wMS0yOSAxMDoxMDowOCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJKiBzeXMvb3NzL2dzdG9zc21peGVyZWxlbWVudC5jOgoJKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXIuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIFVwZGF0ZSBhbmQgYWRkIGRvY3VtZW50YXRpb24gZm9yIHBsYXRmb3JtIHNwZWNpZmljIHBsdWdpbnMgKHN5cykuCgkgIExpbmsgdG8gcHJvcGVydGllcy4gQ29ycmVjdCB0aXRsZXMgZm9yIGV4YW1wbGVzLiBGaXggZXhhbXBsZXMuCgoyMDA5LTAxLTI5IDA5OjQ1OjI1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJICBBZGQgJyB0byBmcmFtZXJhdGUgYXJndW1lbnQgYW5kIHJlbW92ZSB0aGUgd29yZCAnc2ltcGxlJyBhcyBhbGwgb3VyIHBpcGVsaW5lcyBhcmUgYXBwYXJlbnRseSBzaW1wbGUuCgoyMDA5LTAxLTI5IDA5OjQyOjU2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAgQWRkIGV4YW1wbGVzIGZvciB0aGUganBlZyBlbGVtZW50cy4KCjIwMDktMDEtMjggMjE6NDA6MTEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgRml4IGNvbXBpbGUgZXJyb3IgaW4gdGhlIGxhc3QgY29tbWl0CgoyMDA5LTAxLTI4IDIwOjM0OjQwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9wdWxzZS9wdWxzZXByb2JlLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXByb2JlLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5oOgoJICBSZXdyaXRlIHRoZSBwdWxzZSBwbHVnaW4sIGNvbmRpdGlvbmFsbHkgZW5hYmxpbmcgbmV3IGJlaGF2aW91ciB3aXRoIG5ld2VyIHB1bHNlYXVkaW8uCgkgIEZpeGVzOiAjNTY3Nzk0CgkgICogSG9vayBwdWxzZXNpbmsncyB2b2x1bWUgcHJvcGVydHkgdXAgd2l0aCB0aGUgc3RyZWFtIHZvbHVtZSAtLSBub3QgdGhlCgkgIHNpbmsgdm9sdW1lIGluIFBBLgoJICAqIFJlYWQgdGhlIGRldmljZSBkZXNjcmlwdGlvbiBkaXJlY3RseSBmcm9tIHRoZSBzaW5rIGluc3RlYWQgb2YgZ29pbmcKCSAgdmlhIHRoZSBtaXhlci4KCSAgKiBQcm9wZXJseSBpbXBsZW1lbnQgX3Jlc2V0KCkgbWV0aG9kcyBmb3IgYm90aCBzaW5rIGFuZCBzb3VyY2UgdG8gYXZvaWQKCSAgZGVhZGxvY2tzIHdoZW4gc2h1dHRpbmcgZG93biBhIHBpcGVsaW5lLgoJICAqIFJlcGxhY2UgYWxsIHNpbXBsZSBwYV90aHJlYWRlZF9tYWlubG9vcF93YWl0KCkgYnkgcHJvcGVyIGxvb3BzIHRvCgkgIGd1YXJhbnRlZSB0aGF0IHdlIHdhaXQgZm9yIHRoZSByaWdodCBldmVudCBpbiBjYXNlIG11bHRpcGxlIGV2ZW50cyBhcmUKCSAgZmlyZWQuICBXaGlsZSB0aGlzIGlzIG5vdCBzdHJpY3RseSBuZWNlc3NhcnkgaW4gbWFueSBjYXNlcyBpdAoJICBjZXJ0YWlubHkgaXMgbW9yZSBjb3JyZWN0IGFuZCBtYWtlcyBtZSBzbGVlcCBiZXR0ZXIgYXQgbmlnaHQuCgkgICogUmVwbGFjZSBDSEVDS19ERUFEX0dPVE8gbWFjcm9zIHdpdGggcHJvcGVyIGZ1bmN0aW9ucwoJICAqIEV4dGVuZCB0aGUgbnVtYmVyIG9mIHN1cHBvcnRlZCBjaGFubmVscyB0byAzMiBzaW5jZSB0aGF0IGlzIHRoZSBhY3R1YWwKCSAgbGltaXQgaW4gUEEuCgkgICogR2V0IHJpZCBvZiBfZGlzcG9zZSgpIG1ldGhvZHMgc2luY2Ugd2UgZG9uJ3QgbmVlZCB0aGVtLgoJICAqIEluY3JlYXNlIHRoZSB2b2x1bWUgcHJvcGVydHkgdXBwZXIgbGltaXQgb2YgdGhlIHNpbmsgdG8gMTAwMC4KCSAgKiBSZXNldCBmdW5jdGlvbiBwb2ludGVycyBhZnRlciB3ZSBkaXNjb25uZWN0IGEgc3RyZWFtL2NvbnRleHQuIEJldHRlcgoJICBmaXggZm9yIGJ1ZyA1NTY5ODYuCgkgICogUmVzZXQgdGhlIHN0YXRlIG9mIHRoZSBlbGVtZW50IHByb3Blcmx5IGlmIG9wZW4vcHJlcGFyZSBmYWlscwoJICAqIENvcmsgdGhlIFBBIHN0cmVhbSB3aGVuIHRoZSBwaXBlbGluZSBpcyBwYXVzZWQuIFRoaXMgYWxsb3dzIHRoZSBQQQoJICAqIGRhZW1vbiB0bwoJICBjbG9zZSBhdWRpbyBkZXZpY2Ugb24gcGF1c2UgYW5kIHRodXMgc2F2ZSBhIGJpdCBvZiBwb3dlci4KCSAgKiBTZXQgUEEgc3RyZWFtIHByb3BlcnRpZXMgYmFzZWQgb24gR1NUIHRhZ3Mgc3VjaCBhcyBHU1RfVEFHX1RJVExFLAoJICBHU1RfVEFHX0FSVElTVCwgYW5kIHNvIG9uLgoJICBTaWduZWQtb2ZmLWJ5OiBMZW5uYXJ0IFBvZXR0ZXJpbmcgPGxlbm5hcnRAcG9ldHRlcmluZy5uZXQ+CgoyMDA5LTAxLTI4IDE3OjQ2OjA2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5jOgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2VzZC9lc2Rtb24uYzoKCSogZXh0L2VzZC9lc2RzaW5rLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYzoKCSogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zcmMuYzoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc3JjLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnNpbmsuYzoKCSogZXh0L2hhbC9nc3RoYWxhdWRpb3NpbmsuYzoKCSogZXh0L2hhbC9nc3RoYWxhdWRpb3NyYy5jOgoJKiBleHQvaGFsL2hhbC5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9qcGVnL2dzdHNtb2tlZGVjLmM6CgkqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6CgkqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6CgkqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmg6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZXh0L3RhZ2xpYi9nc3RhcGV2Mm11eC5jYzoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIFVwZGF0ZSBhbmQgYWRkIGRvY3VtZW50YXRpb24gZm9yIHBsdWdpbnMgd2l0aCBkZXBzIChleHQpLgoJICBMaW5rIHRvIHByb3BlcnRpZXMuIENvcnJlY3QgdGl0bGVzIGZvciBleGFtcGxlcy4gRG9jdW1lbnQgYSBmZXcgdHJpdmlhbCBjYXNlcy4gS2VlcCBsaXN0cyBpbiBzZWN0aW9uIGZpbGUgYW5kIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbSBhbHBoYWJldGljYWxseSBvcmRlcmVkLiBGaXggd2FybmluZ3MgdGhhdCBndGstZG9jIHBvaW50cyBvdXQuCgoyMDA5LTAxLTI4IDE1OjU3OjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uaDoKCSAgTGltaXQgdGhlIGRlbGF5IGJ5IGEgbmV3IG1heC1kZWxheSBwcm9wZXJ0eQoJICBJbnRyb2R1Y2UgYSBuZXcgbWF4LWRlbGF5IHByb3BlcnR5IHRoYXQgY2FuIG9ubHkKCSAgYmUgc2V0IGJlZm9yZSBnb2luZyB0byBQTEFZSU5HIG9yIFBBVVNFRC4gVGhpcwoJICBpcyB1c2VkIHRvIGxpbWl0IHRoZSBtYXhpbXVtIGRlbGF5IGFuZCBpcyBzZXQKCSAgdG8gdGhlIGN1cnJlbnQgZGVsYXkgYnkgZGVmYXVsdC4KCSAgVXNpbmcgdGhpcyB3aWxsIG1ha2Ugc3VyZSB0aGF0IHdlIGhhdmUgZW5vdWdoIGRhdGEKCSAgaW4gb3VyIGludGVybmFsIHJpbmdidWZmZXIgZm9yIHRoZSBlY2hvLiBXaXRoIGR5bmFtaWMKCSAgcmVhbGxvY2F0aW9uIG9mIHRoZSByaW5nYnVmZmVyIGFzIHVzZWQgYmVmb3JlIHNpbGVuY2UKCSAgY291bGQndmUgYmVlbiB1c2VkIGFzIHRoZSBlY2hvIGRpcmVjdGx5IGFmdGVyIHNldHRpbmcKCSAgYSBuZXcgZGVsYXkuCgoyMDA5LTAxLTI4IDExOjU4OjQyICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZXZlcnQgcHJldmlvdXMgYm9ndXMgY29tbWl0CgoyMDA5LTAxLTI4IDEyOjI5OjQyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2lpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2thcmFva2UuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkqIGdzdC9kZWJ1Zy9nc3RwdXNoZmlsZXNyYy5jOgoJKiBnc3QvZGVidWcvZ3N0dGFnaW5qZWN0LmM6CgkqIGdzdC9kZWJ1Zy9wcm9ncmVzc3JlcG9ydC5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXcuYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgVXBkYXRlIGFuZCBhZGQgZG9jdW1lbnRhdGlvbiBmb3IgcGx1Z2lucyB3aXRoIG5vIGRlcHMgKGdzdCkuCgkgIExpbmsgdG8gcHJvcGVydGllcy4gQ29ycmVjdCB0aXRsZXMgZm9yIGV4YW1wbGVzLiBEb2N1bWVudCBhIGZldyB0cml2aWFsIGNhc2VzLiBLZWVwIGxpc3RzIGluIHNlY3Rpb24gZmlsZSBhbmQgZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtIGFscGhhYmV0aWNhbGx5IG9yZGVyZWQuCgoyMDA5LTAxLTI3IDIzOjA5OjA1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOgoJICBGaXggZXhhbXBsZSBhcHBzIGJ5IGRyYXdpbmcgaW4gdGhlIG1haW4tbG9vcC4KCjIwMDktMDEtMjcgMjA6MzM6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBmaXggYnVpbGQgb2YgYXNwZWN0cmF0aW8gY3JvcCB1bml0IHRlc3QgaW4gdW5pbnN0YWxsZWQgZW52aXJvbm1lbnQuCgoyMDA5LTAxLTI3IDIwOjMwOjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIC5naXRpZ25vcmU6CgkgIE1ha2UgZ2l0IGlnbm9yZSBiYWNrdXAgZmlsZXMKCjIwMDktMDEtMjYgMTY6MTQ6NDcgKzAxMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJICBQbHVnIGEgbWVtb3J5IGxlYWsgaW4gYSBkZWJ1ZyBtZXNzYWdlLgoKMjAwOS0wMS0yMiAxNTo1OTo0MCArMDEwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkgIENvcnJlY3QgcmV0dXJuIHZhbHVlIGZyb20gZ3N0X3VkcF9nZXRfYWRkcigpIHdoZW4gbm8ga25vd24gZmFtaWx5IGlzIGZvdW5kLgoKMjAwOS0wMS0yNiAwOTo1MTozNiArMDEwMCAgSm9uYXRoYW4gTWF0dGhldyA8am9uYXRoYW5AZDE0bi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIFVzZSBsaWJzb3VwLWdub21lIGZvciBwcm94eSBjb25maWd1cmF0aW9uIGlmIGF2YWlsYWJsZQoJICBJZiBsaWJzb3VwLWdub21lIGlzIGZvdW5kIHVzZSB0aGlzIGFzIGl0IHdpbGwgZ2l2ZSB1cwoJICB0aGUgR05PTUUgcHJveHkgY29uZmlndXJhdGlvbi4gT3RoZXJ3aXNlIHVzZSBub3JtYWwKCSAgbGlic291cC4KCSAgVGhlIEdOT01FIHByb3h5IGNvbmZpZ3VyYXRpb24gd2lsbCBvbmx5IGJlIHVzZWQgaWYKCSAgdGhlIHByb3h5IHByb3BlcnRpZXMgYXJlIG5vdCBzZXQgb24gc291cGh0dHBzcmMKCSAgYW5kIGlmIHRoZSBodHRwX3Byb3h5IGVudmlyb25tZW50IHZhcmlhYmxlIGlzIG5vdAoJICBzZXQuCgkgIEZpeGVzIGJ1ZyAjNTUyMTQwLgoKMjAwOS0wMS0yNSAxOToyNjo0NiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIEFkZCBhIGZldyBtb3JlIHZpZGVvIGZvdXJjYydzCgoyMDA5LTAxLTI0IDE0OjQ4OjAwICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FzcGVjdHJhdGlvY3JvcC5jOgoJICBBZGQgdW5pdCB0ZXN0IGZvciBhc3BlY3RyYXRpb2Nyb3AgRml4ZXMgYnVnICM1Mjc5NTEKCSAgQWRkIHVuaXQgdGVzdCBmb3IgYXNwZWN0cmF0aW9jcm9wIGFuZCByZWZhY3RvciB0aGlzIGVsZW1lbnQuIEFkZGVkCgkgIGZpbmFsaXplIGZ1bmN0aW9uIHRvIGNsZWFudXAgbGVha2luZyBtdXRleC4KCjIwMDktMDEtMjUgMTQ6MzQ6MDkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIElnbm9yZSBjaGVjayBiaW5hcmllcwoKMjAwOS0wMS0yNCAxODoyODowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSAgU2F2ZSBzb21lIGFsbG9jYXRpb25zIGlmIHRoZSBlY2hvIGRlbGF5IGlzIGluY3JlYXNlZCBvZnRlbgoJICBTYXZlIHNvbWUgYWxsb2NhdGlvbnMgaWYgdGhlIGVjaG8gZGVsYXkgaXMgaW5jcmVhc2VkIG9mdGVuCgkgIGR1cmluZyBwbGF5YmFjayBieSBhbHdheXMgYWxsb2NhdGluZyBlbm91Z2ggbWVtb3J5IHRvIGhvbGQKCSAgZGF0YSB1cCB0byB0aGUgbmV4dCBjb21wbGV0ZSBzZWNvbmQsIGkuZS4gaW4gdGhlIHdvcnN0IGNhc2UKCSAgYWxsb2NhdGUgbWVtb3J5IGZvciBvbmUgYWRkaXRpb25hbCBzZWNvbmQuCgoyMDA5LTAxLTI0IDE0OjI1OjA4ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkgIFVwZGF0ZSBwbHVnaW4gdmVyc2lvbiBpbiBkb2N1bWVudGF0aW9uCgoyMDA5LTAxLTIzIDIxOjQ3OjQwICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgRml4IGxpbmsgaW4gZG9jdW1lbnRhdGlvbiBvZiB2aWRlb2Nyb3AgZWxlbWVudAoKMjAwOS0wMS0yMyAyMTo0NjoxMyArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkgIEFkZCBkb2N1bWVudGF0aW9uIGZvciBhc3BlY3RyYXRpb2Nyb3AKCjIwMDktMDEtMjQgMTM6MjE6MzkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBVcGRhdGUgd2luMzIvY29tbW9uL2NvbmZpZy5oIGZvciB0aGUgbmV3IGRldmVsb3BtZW50IGN5Y2xlCgoyMDA5LTAxLTI0IDExOjUzOjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJICBBZGQgbm90ZSB0aGF0IGF1ZGlvZWNobydzIHJldmVyYiBzb3VuZHMgbWV0YWxsaWMKCSAgQWRkIGEgbm90ZSB0byB0aGUgZG9jcyB0aGF0IGF1ZGlvZWNobydzIHJldmVyYiB3aWxsCgkgIHNvdW5kIG1ldGFsbGljLiBUaGlzIGhhcHBlbnMgYmVjYXVzZSBmb3IgYSByZWFsCgkgIHJldmVyYiBmaWx0ZXIgYWRkaXRpb25hbCBmaWx0ZXJpbmcgaXMgbmVjZXNzYXJ5LgoJICBBbHNvIG5vdGUgd2hpY2ggdmFsdWVzIHNob3VsZCBiZSB1c2VkIGZvciB0aGUgZGVsYXkKCSAgcHJvcGVydHkgdG8gZ2V0IGFuIGVjaG8gZWZmZWN0LgoKMjAwOS0wMS0yMyAyMzozODoxMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogLmdpdGlnbm9yZToKCSogZG9jcy9wbHVnaW5zLy5naXRpZ25vcmU6CgkqIHBvLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2F1ZGlvZngvLmdpdGlnbm9yZToKCSAgTW9yZSBlbnRyaWVzIGZvciB0aGUgZ2l0aWdub3JlcwoKMjAwOS0wMS0yMyAyMDozNjoyNyArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOgoJICBza2lwIHZpZGVvL3gtcmF3LWdyYXkgaW4gdmlkZW9jcm9wIHVuaXQgdGVzdAoJICBBIHJlY2VudCBjb21taXQgYWRkZWQgdmlkZW8veC1yYXctZ3JheSBzdXBwb3J0IHRvIHZpZGVvY3JvcC4gSG93ZXZlcgoJICB0aGlzIGxldHMgdGhlIHZpZGVvY3JvcCB1bml0IHRlc3QgZmFpbC4gQmVjYXVzZSB2aWRlb3Rlc3RzcmMgY2FuJ3QKCSAgZ2VuZXJhdGUgdGhpcyBmb3JtYXQuCgoyMDA5LTAxLTIzIDE1OjM5OjQ2ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvY3JvcC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuaDoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgQWRkIGFzcGVjdHJhdGlvY3JvcCBlbGVtZW50LiBGaXhlcyBidWcgIzUyNzk1MQoJICBBZGQgbmV3IGFzcGVjdHJhdGlvY3JvcCBlbGVtZW50IHRoYXQgY3JvcHMgdGhlIHZpZGVvCgkgIHRvIGEgc3BlY2lmaWVkIGFzcGVjdCByYXRpbyB1c2luZyB2aWRlb2Nyb3AuCgoyMDA5LTAxLTIzIDEwOjQ5OjI4ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgRml4IG5hdmlnYXRpb24gZXZlbnQgZm9yd2FyZGluZyB3aGlsZSBjcm9wcGluZy4gRml4ZXMgYnVnICM1Njc5OTIuCgkgIEZpeCB0aGUgbmF2aWdhdGlvbiBldmVudCBmb3J3YXJkaW5nIHdoaWxlIGNyb3BwaW5nIGJ5IGFkanVzdGluZwoJICB0aGUgbW91c2UgcG9zaXRpb24gYnkgdGhlIGFtb3VudCBvZiBjcm9wcGVkIHBpeGVscy4KCjIwMDktMDEtMjMgMTA6MDQ6MzkgKzAxMDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgRml4IGxpbmtpbmcgb24gU29sYXJpcy4gRml4ZXMgYnVnICM1Njg4MDkuCgkgIENoZWNrIGZvciB0aGUgc29ja2V0IGxpYnJhcnkgd2hpY2ggaXMgbmVlZGVkCgkgIGZvciBzb2NrZXQoKSBvbiBTb2xhcmlzLgoKMjAwOS0wMS0yMiAyMjo0MTo0MyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBCdW1wIHZlcnNpb24gbnVtYmVyIGFnYWluIC0+IDAuMTAuMTMuMQoKMjAwOS0wMS0yMiAyMjo0MTowMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJICBBZGQgcmVsZWFzZXMgMC4xMC4xMiBhbmQgMC4xMC4xMyB0byB0aGUgZG9hcCBmaWxlCgoyMDA5LTAxLTIyIDE4OjA4OjUwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIFVwZGF0ZSBjb21tb24gc25hcHNob3QuCgoyMDA5LTAxLTIyIDE0OjI1OjA3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbCAtPiAwLjEwLjEyLjEKCjIwMDktMDEtMjIgMDE6Mjk6NDAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgUmVsZWFzZSAwLjEwLjEyCgoyMDA5LTAxLTIxIDE3OjIyOjM5IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgRml4IGZvciBzZWN1cml0eSBhZHZpc29yeSBUS0FEVjIwMDktMHh4CgkgIEZpeCBwb3RlbnRpYWwgYnVmZmVyIG92ZXJmbG93cyB3aGlsZSByZWFkaW5nIHF1aWNrdGltZSBoZWFkZXJzLgoJICBTZWN1cml0eSBpc3N1ZSBub3RpY2VkIGJ5IFRvYmlhcyBLbGVpbi4KCjIwMDktMDEtMjEgMTI6NTY6NTUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgRml4IHR5cG8gYW5kIHNtYWxsIGZsYXcgaW4gZmxhYyBkZWNvZGVyCgoyMDA5LTAxLTIyIDEzOjQ5OjM1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb21tb246CgkgIEZpeCBwcmUtY29tbWl0IGhvb2sKCjIwMDktMDEtMjIgMTA6NDA6MzQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4LmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2VjaG8uYzoKCSAgUmVuYW1lIGF1ZGlvcmV2ZXJiIHRvIGF1ZGlvZWNoby4gRml4ZXMgYnVnICM1NjgzOTUuCgkgIFRoZSBlbGVtZW50IGNhbiBhZGQgYW4gZWNobyBhbmQgYSBzaW1wbGUgcmV2ZXJiIGVmZmVjdCB0bwoJICBhbiBhdWRpbyBzdHJlYW0gYnV0IGZvciBhIHJlYWwgcmV2ZXJiIGZpbHRlciBpdCB3b3VsZCBuZWVkCgkgIHNvbWUgYWRkaXRpb25hbCBmaWx0ZXJpbmcgdG8gcHJldmVudCBhIG1ldGFsbGljLXNvdW5kaW5nCgkgIHJlc3VsdC4KCjIwMDktMDEtMjIgMTI6MjE6MjkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIEZyZWUgbGVmdG92ZXIgdWRwIHBvcnRzIChpZiBhbnkpIHdoZW4gYSBzZXR1cCByZXF1ZXN0IGZhaWxzLgoKMjAwOS0wMS0yMiAwNjowNToyNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbW1vbjoKCSAgSW5zdGFsbCBhbmQgdXNlIHByZS1jb21taXQgaW5kZW50YXRpb24gaG9vayBmcm9tIGNvbW1vbgoKMjAwOS0wMS0yMSAxMzoyNTowNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgV2hpdGVzcGFjZSBmaXhlcyBhbmQgc29tZSBpbXByb3ZlZCBkZWJ1ZyBsaW5lcy4KCjIwMDktMDEtMjEgMDQ6MzE6NTggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJICBhdXRvZ2VuLnNoIDogVXNlIGdpdCBzdWJtb2R1bGUKCjIwMDktMDEtMjAgMTU6MzM6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IEZpeCBlcnJvciBjb2RlICh0aGUgbWVzc2FnZSBzdHJpbmcgYWxzbyBuZWVkcyBsb3ZlLCBidXQgbm90IHRvZGF5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfZ2V0X3JlYWQpOgoJICBGaXggZXJyb3IgY29kZSAodGhlIG1lc3NhZ2Ugc3RyaW5nIGFsc28gbmVlZHMgbG92ZSwgYnV0IG5vdCB0b2RheSkuCgoyMDA5LTAxLTE5IDExOjQ0OjM2ICswMDAwICBMdW90YW8gRnUgPGwuZnVAcGVuZ3V0cm9uaXguZGU+CgoJICBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOiBBZGQgOGJpdCBncmF5c2NhbGUgc3VwcG9ydCB0byB2aWRlb2Nyb3AgcGx1Z2luLiBGaXhlcyAjNTY3OTUyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEx1b3RhbyBGdSA8bCBkb3QgZnUgYXQgcGVuZ3V0cm9uaXggZG90IGRlPgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgIChnc3RfdmlkZW9fY3JvcF9nZXRfaW1hZ2VfZGV0YWlsc19mcm9tX2NhcHMpOgoJICBBZGQgOGJpdCBncmF5c2NhbGUgc3VwcG9ydCB0byB2aWRlb2Nyb3AgcGx1Z2luLiBGaXhlcyAjNTY3OTUyLgoKMjAwOS0wMS0xOSAxMToyMjowNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1ZGlvZngvYXVkaW9yZXZlcmIuYzogU2V0IHRoZSBkZWZhdWx0IHZhbHVlIGluIHRoZSBpbnN0YW5jZSBpbml0IGZ1bmN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3JldmVyYi5jOiAoZ3N0X2F1ZGlvX3JldmVyYl9pbml0KToKCSAgU2V0IHRoZSBkZWZhdWx0IHZhbHVlIGluIHRoZSBpbnN0YW5jZSBpbml0IGZ1bmN0aW9uLgoKMjAwOS0wMS0xOSAxMToxOTowOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIGFuIGVjaG8vcmV2ZXJiIGZpbHRlciB0byB0aGUgYXVkaW9meCBwbHVnaW4sIHdpdGggY29uZmlndXJhYmxlIGVjaG8gZGVsYXksIGludGVuc2l0eSBhbmQgZmVlZGJhY2suIEZpeGVzIGJ1ZyAjNTY3Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkgICogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9meC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvcmV2ZXJiLmM6IChnc3RfYXVkaW9fcmV2ZXJiX2Jhc2VfaW5pdCksCgkgIChnc3RfYXVkaW9fcmV2ZXJiX2NsYXNzX2luaXQpLCAoZ3N0X2F1ZGlvX3JldmVyYl9pbml0KSwKCSAgKGdzdF9hdWRpb19yZXZlcmJfZmluYWxpemUpLCAoZ3N0X2F1ZGlvX3JldmVyYl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX3JldmVyYl9nZXRfcHJvcGVydHkpLCAoZ3N0X2F1ZGlvX3JldmVyYl9zZXR1cCksCgkgIChnc3RfYXVkaW9fcmV2ZXJiX3N0b3ApLCAoZ3N0X2F1ZGlvX3JldmVyYl90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvcmV2ZXJiLmg6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9yZXZlcmIuYzogKHNldHVwX3JldmVyYiksCgkgIChjbGVhbnVwX3JldmVyYiksIChHU1RfU1RBUlRfVEVTVCksIChhdWRpb3JldmVyYl9zdWl0ZSk6CgkgIEFkZCBhbiBlY2hvL3JldmVyYiBmaWx0ZXIgdG8gdGhlIGF1ZGlvZnggcGx1Z2luLCB3aXRoIGNvbmZpZ3VyYWJsZQoJICBlY2hvIGRlbGF5LCBpbnRlbnNpdHkgYW5kIGZlZWRiYWNrLiBGaXhlcyBidWcgIzU2Nzg3NC4KCjIwMDktMDEtMTkgMTA6MTM6NTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS4qOiBJbXBsZW1lbnQgYSBzaW1wbGUgY29tcGVuc2F0aW9uIGFsZ29yaXRobSBmb3Igcm91bmRpbmcgZXJyb3JzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9yZXNldF9zdGF0ZSksCgkgIChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgSW1wbGVtZW50IGEgc2ltcGxlIGNvbXBlbnNhdGlvbiBhbGdvcml0aG0gZm9yIHJvdW5kaW5nIGVycm9ycy4KCSAgVGhpcyBtYWtlcyBzdXJlIHRoYXQgYSBzcGVjdHJ1bSBtZXNzYWdlIGlzIHBvc3RlZCBvbiB0aGUgYnVzCgkgIGV2ZXJ5IGludGVydmFsIG5hbm9zZWNvbmRzLiBGaXhlcyBidWcgIzU2Nzk1NS4KCjIwMDktMDEtMTUgMjE6MTY6NDUgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIHN5cy9vc3hhdWRpby9NYWtlZmlsZS5hbTogTGluayBhZ2FpbnN0IENvcmVTZXJ2aWNlcyAobmVlZGVkIGZvciBvc3ggMTAuNCkgYW5kIGZpeCB1cCB0aGUgbGlua2VyIGZsYWdzLiBGaXhlcyAjNTY3ODUzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3N4YXVkaW8vTWFrZWZpbGUuYW06CgkgIExpbmsgYWdhaW5zdCBDb3JlU2VydmljZXMgKG5lZWRlZCBmb3Igb3N4IDEwLjQpIGFuZCBmaXggdXAgdGhlIGxpbmtlcgoJICBmbGFncy4gRml4ZXMgIzU2Nzg1My4KCjIwMDktMDEtMTUgMTQ6NTM6MTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IENhdGNoIGludmFsaWQgYW5kIGNvbW1vbmx5IHdyb25nIHBsYXliYWNrIHJhdGVzIGluIHRoZSBlbHN0IGF0b21zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3NlZ21lbnRzKToKCSAgQ2F0Y2ggaW52YWxpZCBhbmQgY29tbW9ubHkgd3JvbmcgcGxheWJhY2sgcmF0ZXMgaW4gdGhlIGVsc3QgYXRvbXMuCgkgIEZpeGVzICM1Njc4MDAuCgoyMDA5LTAxLTE1IDExOjQwOjIzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogRG9uJ3QgY2FsbCBnc3RfZmZ0X2YzMl9mcmVlKCkgd2l0aCBOVUxMIHRvIHByZXZlbnQgYSBjcmFzaC4gRml4ZXMgYnVnICM1Njc2NDIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX3Jlc2V0X3N0YXRlKToKCSAgRG9uJ3QgY2FsbCBnc3RfZmZ0X2YzMl9mcmVlKCkgd2l0aCBOVUxMIHRvIHByZXZlbnQgYQoJICBjcmFzaC4gRml4ZXMgYnVnICM1Njc2NDIuCgoyMDA5LTAxLTE0IDE1OjQ0OjE4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uKjogVXNlIGNvcnJlY3QgdHlwZXMgZm9yIGZyYW1lL2ZmdCBjb3VudGVycyBhbmQgc29tZSBtaW5vciBjbGVhbnVwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBVc2UgY29ycmVjdCB0eXBlcyBmb3IgZnJhbWUvZmZ0IGNvdW50ZXJzIGFuZCBzb21lIG1pbm9yCgkgIGNsZWFudXAuCgoyMDA5LTAxLTE0IDE1OjM3OjA3ICswMDAwICBMZW5uYXJ0IFBvZXR0ZXJpbmcgPGxlbm5hcnRAcG9ldHRlcmluZy5uZXQ+CgoJICBleHQvcHVsc2UvcHVsc2Vwcm9iZS5jOiBGaXggcmVmY291bnQgbG9vcCwgcmVzdWx0aW5nIGluIGEgdGhyZWFkIGxlYWsuIEZpeGVzIGJ1ZyAjNTY3NzQ2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IExlbm5hcnQgUG9ldHRlcmluZyA8bGVubmFydCBhdCBwb2V0dGVyaW5nIGRvdCBuZXQ+CgkgICogZXh0L3B1bHNlL3B1bHNlcHJvYmUuYzogKGdzdF9wdWxzZXByb2JlX25ldyksCgkgIChnc3RfcHVsc2Vwcm9iZV9mcmVlKToKCSAgRml4IHJlZmNvdW50IGxvb3AsIHJlc3VsdGluZyBpbiBhIHRocmVhZCBsZWFrLiBGaXhlcyBidWcgIzU2Nzc0Ni4KCjIwMDktMDEtMTQgMTA6NDY6NTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVjdHJ1bS86IFBvc3QgYSBzcGVjdHJ1bSBtZXNzYWdlIG9uIHRoZSBidXMgZm9yIGV2ZXJ5IGludGVydmFsLCBldmVuIGlmIHRoZSBpbnRlcnZhbCBpcyBzbWFsbCB0aGFuIHRoZSBsZW5ndGggby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWN0cnVtL1JFQURNRToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9iYXNlX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpLCAoZ3N0X3NwZWN0cnVtX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX3Jlc2V0X3N0YXRlKSwgKGdzdF9zcGVjdHJ1bV9maW5hbGl6ZSksCgkgIChnc3Rfc3BlY3RydW1fc2V0X3Byb3BlcnR5KSwgKGdzdF9zcGVjdHJ1bV9zdGFydCksCgkgIChnc3Rfc3BlY3RydW1fc3RvcCksIChnc3Rfc3BlY3RydW1fc2V0dXApLAoJICAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIFBvc3QgYSBzcGVjdHJ1bSBtZXNzYWdlIG9uIHRoZSBidXMgZm9yIGV2ZXJ5IGludGVydmFsLCBldmVuCgkgIGlmIHRoZSBpbnRlcnZhbCBpcyBzbWFsbCB0aGFuIHRoZSBsZW5ndGggb2YgdGhlIEZGVC4KCSAgRml4ZXMgYnVnICM1Njc2NDIuCgkgIE1ham9yIGNsZWFudXAgb2YgdGhlIHNwZWN0cnVtIGVsZW1lbnQuCgoyMDA5LTAxLTEzIDE5OjIzOjU3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgYXVkaW9paXJmaWx0ZXIgYW5kIGF1ZGlvZmlyZmlsdGVyIGVsZW1lbnRzIHdoaWNoIGFsbG93IGdlbmVyaWMgSUlSL0ZJUiBmaWx0ZXJzIHRvIGJlIGltcGxlbWVudGVkIGJ5IHByb3ZpZGluZyB0aGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZmlyZmlsdGVyLmM6IChnc3RfYXVkaW9fZmlyX2ZpbHRlcl9iYXNlX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2Zpcl9maWx0ZXJfY2xhc3NfaW5pdCksCgkgIChnc3RfYXVkaW9fZmlyX2ZpbHRlcl91cGRhdGVfa2VybmVsKSwgKGdzdF9hdWRpb19maXJfZmlsdGVyX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2Zpcl9maWx0ZXJfc2V0dXApLCAoZ3N0X2F1ZGlvX2Zpcl9maWx0ZXJfZmluYWxpemUpLAoJICAoZ3N0X2F1ZGlvX2Zpcl9maWx0ZXJfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb19maXJfZmlsdGVyX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9maXJmaWx0ZXIuaDoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2Z4LmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9paXJmaWx0ZXIuYzogKGdzdF9hdWRpb19paXJfZmlsdGVyX2Jhc2VfaW5pdCksCgkgIChnc3RfYXVkaW9faWlyX2ZpbHRlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9hdWRpb19paXJfZmlsdGVyX3VwZGF0ZV9jb2VmZmljaWVudHMpLAoJICAoZ3N0X2F1ZGlvX2lpcl9maWx0ZXJfaW5pdCksIChnc3RfYXVkaW9faWlyX2ZpbHRlcl9zZXR1cCksCgkgIChnc3RfYXVkaW9faWlyX2ZpbHRlcl9maW5hbGl6ZSksCgkgIChnc3RfYXVkaW9faWlyX2ZpbHRlcl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX2lpcl9maWx0ZXJfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2lpcmZpbHRlci5oOgoJICBBZGQgYXVkaW9paXJmaWx0ZXIgYW5kIGF1ZGlvZmlyZmlsdGVyIGVsZW1lbnRzIHdoaWNoIGFsbG93CgkgIGdlbmVyaWMgSUlSL0ZJUiBmaWx0ZXJzIHRvIGJlIGltcGxlbWVudGVkIGJ5IHByb3ZpZGluZyB0aGUKCSAgZmlsdGVyIGNvZWZmaWNpZW50cy4gRml4ZXMgYnVnICM1Njc1NzcuCgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICBBZGQgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGF1ZGlvaWlyZmlsdGVyIGFuZCBhdWRpb2ZpcmZpbHRlcgoJICBlbGVtZW50cy4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2ZpcmZpbHRlci5jOiAob25fbWVzc2FnZSksCgkgIChvbl9yYXRlX2NoYW5nZWQpLCAob25faGFuZG9mZiksIChHU1RfU1RBUlRfVEVTVCksCgkgIChhdWRpb2ZpcmZpbHRlcl9zdWl0ZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9paXJmaWx0ZXIuYzogKG9uX21lc3NhZ2UpLAoJICAob25fcmF0ZV9jaGFuZ2VkKSwgKG9uX2hhbmRvZmYpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAoYXVkaW9paXJmaWx0ZXJfc3VpdGUpOgoJICAqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2V4YW1wbGVzL2F1ZGlvZngvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvZXhhbXBsZXMvYXVkaW9meC9maXJmaWx0ZXItZXhhbXBsZS5jOiAob25fbWVzc2FnZSksCgkgIChvbl9yYXRlX2NoYW5nZWQpLCAobWFpbik6CgkgICogdGVzdHMvZXhhbXBsZXMvYXVkaW9meC9paXJmaWx0ZXItZXhhbXBsZS5jOiAob25fbWVzc2FnZSksCgkgIChvbl9yYXRlX2NoYW5nZWQpLCAobWFpbik6CgkgIEFkZCB1bml0IHRlc3RzIGFuZCBleGFtcGxlIGFwcGxpY2F0aW9ucyBmb3IgdGhlIHR3byBmaWx0ZXIKCSAgZWxlbWVudHMuCgoyMDA5LTAxLTEzIDE5OjA5OjE5ICswMDAwICBUaGlhZ28gU291c2EgU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IGZvcm1hdCBzdHJpbmcgZm9yIGd1aW50NjQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVGhpYWdvIFNvdXNhIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBGaXggZm9ybWF0IHN0cmluZyBmb3IgZ3VpbnQ2NC4KCjIwMDktMDEtMTMgMTk6MDQ6MDkgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIHN5cy9vc3hhdWRpby9NYWtlZmlsZS5hbTogb3N4YXVkaW8gcGx1Z2luIG5vdyByZXF1aXJlcyBBdWRpb1VuaXQgZnJhbWV3b3JrLCBzbyBsaW5rIGFnYWluc3QgdGhhdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOgoJICBvc3hhdWRpbyBwbHVnaW4gbm93IHJlcXVpcmVzIEF1ZGlvVW5pdCBmcmFtZXdvcmssIHNvIGxpbmsgYWdhaW5zdCB0aGF0LgoJICBDbGVhbiB1cCB0YWJzIHYgc3BhY2VzIHdoaWxlIEknbSB0aGVyZS4KCjIwMDktMDEtMTMgMTc6NDk6MDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWFsc2FzcmMtUENNQS5jOiBBZGQgc29tZSBleGFtcGxlIGNvZGUgZm9yIHByaW50aW5nIHRoZSBSVFAgbWFuYWdlciBzdGF0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1hbHNhc3JjLVBDTUEuYzogKHByaW50X3NvdXJjZV9zdGF0cyksCgkgIChwcmludF9zdGF0cyksIChtYWluKToKCSAgQWRkIHNvbWUgZXhhbXBsZSBjb2RlIGZvciBwcmludGluZyB0aGUgUlRQIG1hbmFnZXIgc3RhdHMuCgoyMDA5LTAxLTEzIDA4OjI0OjI1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXVkaW9meC86IFVzZSBhIGN1c3RvbSBtdXRleCBmb3IgcHJvdGVjdGluZyB0aGUgaW5zdGFuY2UgZmllbGRzIGluc3RlYWQgb2YgdGhlIEdzdE9iamVjdCBsb2NrLiBVc2luZyB0aGUgbGF0dGVyIGMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOiAoZ3N0X2F1ZGlvX2NoZWJfYmFuZF9jbGFzc19pbml0KSwKCSAgKGdzdF9hdWRpb19jaGViX2JhbmRfaW5pdCksIChnc3RfYXVkaW9fY2hlYl9iYW5kX2ZpbmFsaXplKSwKCSAgKGdzdF9hdWRpb19jaGViX2JhbmRfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmg6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzogKGdzdF9hdWRpb19jaGViX2xpbWl0X2NsYXNzX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2NoZWJfbGltaXRfaW5pdCksIChnc3RfYXVkaW9fY2hlYl9saW1pdF9maW5hbGl6ZSksCgkgIChnc3RfYXVkaW9fY2hlYl9saW1pdF9zZXRfcHJvcGVydHkpOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0Lmg6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuYzogKGdzdF9hdWRpb193c2luY2JhbmRfY2xhc3NfaW5pdCksCgkgIChnc3RfYXVkaW9fd3NpbmNiYW5kX2luaXQpLCAoZ3N0X2F1ZGlvX3dzaW5jYmFuZF9maW5hbGl6ZSksCgkgIChnc3RfYXVkaW9fd3NpbmNiYW5kX3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuaDoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzogKGdzdF9hdWRpb193c2luY2xpbWl0X2NsYXNzX2luaXQpLAoJICAoZ3N0X2F1ZGlvX3dzaW5jbGltaXRfaW5pdCksIChnc3RfYXVkaW9fd3NpbmNsaW1pdF9maW5hbGl6ZSksCgkgIChnc3RfYXVkaW9fd3NpbmNsaW1pdF9zZXRfcHJvcGVydHkpOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5oOgoJICBVc2UgYSBjdXN0b20gbXV0ZXggZm9yIHByb3RlY3RpbmcgdGhlIGluc3RhbmNlIGZpZWxkcyBpbnN0ZWFkIG9mCgkgIHRoZSBHc3RPYmplY3QgbG9jay4gVXNpbmcgdGhlIGxhdHRlciBjYW4gbGVhZCB0byBkZWFkbG9ja3MsIGVzcGVjaWFsbHkKCSAgd2l0aCB0aGUgRklSIGZpbHRlcnMgd2hlbiB1cGRhdGluZyB0aGUgbGF0ZW5jeS4KCjIwMDktMDEtMTEgMTk6MDM6MzggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdWRpb2Z4LzogSW1wbGVtZW50IGEgYmFzZSBjbGFzcyBmb3IgZ2VuZXJpYyBhdWRpbyBGSVIgZmlsdGVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSAgKGdzdF9hdWRpb19meF9iYXNlX2Zpcl9maWx0ZXJfZGlzcG9zZSksCgkgIChnc3RfYXVkaW9fZnhfYmFzZV9maXJfZmlsdGVyX2Jhc2VfaW5pdCksCgkgIChnc3RfYXVkaW9fZnhfYmFzZV9maXJfZmlsdGVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2Z4X2Jhc2VfZmlyX2ZpbHRlcl9pbml0KSwKCSAgKGdzdF9hdWRpb19meF9iYXNlX2Zpcl9maWx0ZXJfcHVzaF9yZXNpZHVlKSwKCSAgKGdzdF9hdWRpb19meF9iYXNlX2Zpcl9maWx0ZXJfc2V0dXApLAoJICAoZ3N0X2F1ZGlvX2Z4X2Jhc2VfZmlyX2ZpbHRlcl90cmFuc2Zvcm0pLAoJICAoZ3N0X2F1ZGlvX2Z4X2Jhc2VfZmlyX2ZpbHRlcl9zdGFydCksCgkgIChnc3RfYXVkaW9fZnhfYmFzZV9maXJfZmlsdGVyX3N0b3ApLAoJICAoZ3N0X2F1ZGlvX2Z4X2Jhc2VfZmlyX2ZpbHRlcl9xdWVyeSksCgkgIChnc3RfYXVkaW9fZnhfYmFzZV9maXJfZmlsdGVyX3F1ZXJ5X3R5cGUpLAoJICAoZ3N0X2F1ZGlvX2Z4X2Jhc2VfZmlyX2ZpbHRlcl9ldmVudCksCgkgIChnc3RfYXVkaW9fZnhfYmFzZV9maXJfZmlsdGVyX3NldF9rZXJuZWwpOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmg6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VpaXJmaWx0ZXIuYzoKCSAgSW1wbGVtZW50IGEgYmFzZSBjbGFzcyBmb3IgZ2VuZXJpYyBhdWRpbyBGSVIgZmlsdGVycy4KCSAgKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOgoJICAoZ3N0X2dzdF9hdWRpb193c2luY2JhbmRfbW9kZV9nZXRfdHlwZSksCgkgIChnc3RfZ3N0X2F1ZGlvX3dzaW5jYmFuZF93aW5kb3dfZ2V0X3R5cGUpLAoJICAoZ3N0X2F1ZGlvX3dzaW5jYmFuZF9iYXNlX2luaXQpLCAoZ3N0X2F1ZGlvX3dzaW5jYmFuZF9jbGFzc19pbml0KSwKCSAgKGdzdF9hdWRpb193c2luY2JhbmRfaW5pdCksIChnc3RfYXVkaW9fd3NpbmNiYW5kX2J1aWxkX2tlcm5lbCksCgkgIChnc3RfYXVkaW9fd3NpbmNiYW5kX3NldHVwKSwgKGdzdF9hdWRpb193c2luY2JhbmRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb193c2luY2JhbmRfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5oOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOgoJICAoZ3N0X2F1ZGlvX3dzaW5jbGltaXRfbW9kZV9nZXRfdHlwZSksCgkgIChnc3RfYXVkaW9fd3NpbmNsaW1pdF93aW5kb3dfZ2V0X3R5cGUpLAoJICAoZ3N0X2F1ZGlvX3dzaW5jbGltaXRfYmFzZV9pbml0KSwKCSAgKGdzdF9hdWRpb193c2luY2xpbWl0X2NsYXNzX2luaXQpLCAoZ3N0X2F1ZGlvX3dzaW5jbGltaXRfaW5pdCksCgkgIChnc3RfYXVkaW9fd3NpbmNsaW1pdF9idWlsZF9rZXJuZWwpLCAoZ3N0X2F1ZGlvX3dzaW5jbGltaXRfc2V0dXApLAoJICAoZ3N0X2F1ZGlvX3dzaW5jbGltaXRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb193c2luY2xpbWl0X2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0Lmg6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2JhbmQuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3dzaW5jbGltaXQuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgVXNlIHRoaXMgbmV3IGJhc2UgY2xhc3MgZm9yIGF1ZGlvd3NpbmNiYW5kIGFuZCBhdWRpb3dzaW5jbGltaXQuCgkgIEFsc28gY2xlYW51cCBib3RoIGVsZW1lbnRzLgoKMjAwOS0wMS0wOCAxODoxNzoxMyArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBJbiBwdXNoIG1vZGUsIGVycm9yIG91dCBpZiB3ZSBnZXQgRU9TIGJlZm9yZSB3ZSd2ZSBjcmVhdGVkIGFueSBzcmNwYWRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIEluIHB1c2ggbW9kZSwgZXJyb3Igb3V0IGlmIHdlIGdldCBFT1MgYmVmb3JlIHdlJ3ZlIGNyZWF0ZWQgYW55IHNyY3BhZHMuCgkgIEhhbmRsZSAoaW4gcHVsbCBtb2RlKSBzb21lIGZpbGVzIHRoYXQgaGF2ZSBhIHRydW5jYXRlZCBtb292IGF0b20gd2hlcmUKCSAgdGhlIGZpbmFsIHN1Yi1hdG9tIGlzIGEgJ2ZyZWUnIGF0b20gYW5kIHRoZSBjb250ZW50cyBvZiB0aGF0IGFyZSBub3QKCSAgcHJlc2VudCBpbiB0aGUgZmlsZS4KCjIwMDktMDEtMDggMTU6NTY6NDYgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L21hdHJvc2thLzogU29tZSBjbGVhbnVwcywgcmVmYWN0b3JpbmcgYW5kIG1pbm9yIGVuaGFuY2VtZW50cyBpbiBjYXBzIGhhbmRsaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF92aWRlb19jYXBzKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X3ZpZGVvX3BhZF9zZXRjYXBzKToKCSAgU29tZSBjbGVhbnVwcywgcmVmYWN0b3JpbmcgYW5kIG1pbm9yIGVuaGFuY2VtZW50cyBpbiBjYXBzIGhhbmRsaW5nLgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfbWF0cm9za2FfbXV4X2luaXQpLCAoZ3N0X21hdHJvc2thX3BhZF9yZXNldCksCgkgIChnc3RfbWF0cm9za2FfcGFkX2ZyZWUpLCAoZ3N0X21hdHJvc2thX211eF9yZXNldCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3ZpZGVvX3BhZF9zZXRjYXBzKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfcmVxdWVzdF9uZXdfcGFkKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOiAodGVhcmRvd25fc3JjX3BhZCk6CgkgIE9ubHkgcmVtb3ZlLCByZWxlYXNlIG9yIHJlc2V0IHdoYXQgaXMgYXBwcm9wcmlhdGUgdXBvbiBzdGF0ZSBjaGFuZ2UuCgoyMDA5LTAxLTA3IDIwOjM4OjUwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9wdWxzZS9wdWxzZXNpbmsuKjogVXNlIGEgbXV0ZXggdG8gcHJvdGVjdCB0aGUgY3VycmVudCBzdHJlYW0gcG9pbnRlciwgYW5kIGlnbm9yZSBjYWxsYmFja3MgZm9yIHN0cmVhbSBvYmplY3RzIHRoYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgICogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJICBVc2UgYSBtdXRleCB0byBwcm90ZWN0IHRoZSBjdXJyZW50IHN0cmVhbSBwb2ludGVyLCBhbmQgaWdub3JlCgkgIGNhbGxiYWNrcyBmb3Igc3RyZWFtIG9iamVjdHMgdGhhdCBoYXZlIGJlZW4gZGVzdHJveWVkIGFscmVhZHkuCgkgIEZpeGVzIHByb2JsZW1zIHdpdGggdW5wcmVwYXJlL3ByZXBhcmUgY3ljbGVzIGNhdXNlZCBieSB0aGUgaW5wdXQKCSAgY2FwcyBjaGFuZ2luZywgd2l0aG91dCByZWludHJvZHVjaW5nIGJ1ZyAjNTU2OTg2LgoKMjAwOS0wMS0wNyAxNjowOTo0NyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IFJlbW92ZSAoKSBmcm9tIHRyYW5zbGF0ZWFibGUgc3RyaW5nLCBzbyB0aGF0IGl0IG1ha2VzIG1vcmUgc2Vuc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgUmVtb3ZlICgpIGZyb20gdHJhbnNsYXRlYWJsZSBzdHJpbmcsIHNvIHRoYXQgaXQgbWFrZXMgbW9yZSBzZW5zZS4KCjIwMDktMDEtMDcgMDk6NDM6MTMgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogTWlub3IgZml4L2NsZWFudXAgaW4gaGVhZGVyIGZpZWxkIGNhbGN1bGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aV9tdXhfYXVkc2lua19zZXRfY2Fwcyk6CgkgIE1pbm9yIGZpeC9jbGVhbnVwIGluIGhlYWRlciBmaWVsZCBjYWxjdWxhdGlvbi4KCjIwMDktMDEtMDYgMTc6NDg6MTAgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC4qOiBSZW1vdmUgaW50ZXJuYWwgdGFnbGlzdCBhbmQgZnVsbHkgdXNlIHRhZ3NldHRlciBpbnRlcmZhY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfcmVzZXQpLAoJICAoZ3N0X21hdHJvc2thX211eF9oYW5kbGVfc2lua19ldmVudCksIChnc3RfbWF0cm9za2FfbXV4X2ZpbmlzaCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBSZW1vdmUgaW50ZXJuYWwgdGFnbGlzdCBhbmQgZnVsbHkgdXNlIHRhZ3NldHRlciBpbnRlcmZhY2UuCgoyMDA5LTAxLTA2IDE0OjUwOjI5ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4Lio6IEVuc3VyZSBoZWFkZXIgc2l6ZSBpbnZhcmlhbmNlIGR1cmluZyBzdWJzZXF1ZW50IHJld3JpdGUgYnkgdXNpbmcgdGFncyBzbmFwc2hvdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmlfbXV4X3Jlc2V0KSwKCSAgKGdzdF9hdmlfbXV4X3JpZmZfZ2V0X2F2aV9oZWFkZXIpOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4Lmg6CgkgIEVuc3VyZSBoZWFkZXIgc2l6ZSBpbnZhcmlhbmNlIGR1cmluZyBzdWJzZXF1ZW50IHJld3JpdGUgYnkgdXNpbmcKCSAgdGFncyBzbmFwc2hvdC4KCjIwMDktMDEtMDUgMTc6MzE6MTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzogRG9uJ3Qgd2FpdCBmb3IgdGhlIHB1bHNlIG1haW5sb29wIHdoZW4gZGVzdHJveWluZyB0aGUgc3RyZWFtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6IChnc3RfcHVsc2VzaW5rX2Rlc3Ryb3lfc3RyZWFtKToKCSAgRG9uJ3Qgd2FpdCBmb3IgdGhlIHB1bHNlIG1haW5sb29wIHdoZW4gZGVzdHJveWluZyB0aGUgc3RyZWFtLgoJICBGaXhlcyBhIGRlYWRsb2NrIHdoZW4gdGhlIHB1bHNlZGFlbW9uIGdvZXMgYXdheSB3aGlsZSBwdWxzZXNpbmsKCSAgaXMgUExBWUlORy4gRml4ZXMgYnVnICM1NTY5ODYuCgoyMDA5LTAxLTA1IDEyOjMwOjQwICswMDAwICBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IEFkZCBzdXBwb3J0IGZvciBncmF5c2NhbGUgdjRsMiBkZXZpY2VzLiBGaXhlcyBidWcgIzU2NjYxNi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTYXNjaGEgSGF1ZXIgPHMgZG90IGhhdWVyIGF0IHBlbmd1dHJvbml4IGRvdCBkZT4KCSAgTHVvdGFvIEZ1IDxsIGRvdCBmdSBhdCBwZW5ndXRyb25peCBkb3QgZGU+CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfdjRsMmZvdXJjY190b19zdHJ1Y3R1cmUpLAoJICAoZ3N0X3Y0bDJfZ2V0X2NhcHNfaW5mbyk6CgkgIEFkZCBzdXBwb3J0IGZvciBncmF5c2NhbGUgdjRsMiBkZXZpY2VzLiBGaXhlcyBidWcgIzU2NjYxNi4KCjIwMDktMDEtMDUgMTE6NDI6MDkgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3F0ZGVtdXgvOiBTdHJlYW1saW5lIHRhZyBoYW5kbGluZyBhbmQgcGFzcyB1bnBhcnNlZCB0YWdzIGFzIGJpbmFyeSBibG9iIGluIHByaXZhdGUgdGFnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3RhZ19hZGRfc3RyKSwKCSAgKHF0ZGVtdXhfdGFnX2FkZF90bXBvKSwgKHF0ZGVtdXhfdGFnX2FkZF9jb3ZyKSwKCSAgKHF0ZGVtdXhfdGFnX2FkZF9kYXRlKSwgKHF0ZGVtdXhfdGFnX2FkZF9nbnJlKSwKCSAgKHF0ZGVtdXhfdGFnX2FkZF9ibG9iKSwgKHF0ZGVtdXhfcGFyc2VfdWR0YSk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICAqIGdzdC9xdGRlbXV4L3F1aWNrdGltZS5jOiAocGx1Z2luX2luaXQpOgoJICBTdHJlYW1saW5lIHRhZyBoYW5kbGluZyBhbmQgcGFzcyB1bnBhcnNlZCB0YWdzIGFzIGJpbmFyeSBibG9iCgkgIGluIHByaXZhdGUgdGFnLgoKMjAwOS0wMS0wNSAxMDoxMzoyOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1ZGlvZngvOiBJbXBsZW1lbnQgYSBiYXNlIGNsYXNzIGZvciBJSVIgZmlsdGVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VpaXJmaWx0ZXIuYzoKCSAgKGdzdF9hdWRpb19meF9iYXNlX2lpcl9maWx0ZXJfYmFzZV9pbml0KSwKCSAgKGdzdF9hdWRpb19meF9iYXNlX2lpcl9maWx0ZXJfZGlzcG9zZSksCgkgIChnc3RfYXVkaW9fZnhfYmFzZV9paXJfZmlsdGVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2Z4X2Jhc2VfaWlyX2ZpbHRlcl9pbml0KSwKCSAgKGdzdF9hdWRpb19meF9iYXNlX2lpcl9maWx0ZXJfY2FsY3VsYXRlX2dhaW4pLAoJICAoZ3N0X2F1ZGlvX2Z4X2Jhc2VfaWlyX2ZpbHRlcl9zZXRfY29lZmZpY2llbnRzKSwKCSAgKGdzdF9hdWRpb19meF9iYXNlX2lpcl9maWx0ZXJfc2V0dXApLCAocHJvY2VzcyksCgkgIChnc3RfYXVkaW9fZnhfYmFzZV9paXJfZmlsdGVyX3RyYW5zZm9ybV9pcCksCgkgIChnc3RfYXVkaW9fZnhfYmFzZV9paXJfZmlsdGVyX3N0b3ApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlaWlyZmlsdGVyLmg6CgkgIEltcGxlbWVudCBhIGJhc2UgY2xhc3MgZm9yIElJUiBmaWx0ZXJzLgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuYzogKGdzdF9hdWRpb19jaGViX2JhbmRfYmFzZV9pbml0KSwKCSAgKGdzdF9hdWRpb19jaGViX2JhbmRfY2xhc3NfaW5pdCksIChnc3RfYXVkaW9fY2hlYl9iYW5kX2luaXQpLAoJICAoZ2VuZXJhdGVfY29lZmZpY2llbnRzKSwgKGdzdF9hdWRpb19jaGViX2JhbmRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb19jaGViX2JhbmRfc2V0dXApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuaDoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOiAoZ3N0X2F1ZGlvX2NoZWJfbGltaXRfYmFzZV9pbml0KSwKCSAgKGdzdF9hdWRpb19jaGViX2xpbWl0X2NsYXNzX2luaXQpLCAoZ3N0X2F1ZGlvX2NoZWJfbGltaXRfaW5pdCksCgkgIChnZW5lcmF0ZV9jb2VmZmljaWVudHMpLCAoZ3N0X2F1ZGlvX2NoZWJfbGltaXRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb19jaGViX2xpbWl0X3NldHVwKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5oOgoJICBVc2UgdGhlIElJUiBmaWx0ZXIgYmFzZSBjbGFzcyBmb3IgdGhlIGNoZWJ5c2hldiBmaWx0ZXJzLgoKMjAwOS0wMS0wMiAyMDozOTozNCArMDAwMCAgSnVzdGluIEthcm5lZ2FzIDxqdXN0aW5AYWZmaW5peC5jb20+CgoJICBzeXMvb3N4YXVkaW8vOiBSZXdyaXRlIG9zeGF1ZGlvIHRvIHdvcmsgbW9yZSBmbGV4aWJseSBhbmQgbW9yZSByZWxpYWJseSwgdXNpbmcgYSBkaWZmZXJlbnQgYWJzdHJhY3Rpb24gbGF5ZXIgb2YgY29yZWEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKdXN0aW4gS2FybmVnYXMgPGp1c3RpbkBhZmZpbml4LmNvbT4gYW5kCgkgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpby5jOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb2VsZW1lbnQuYzoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9lbGVtZW50Lmg6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuaDoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuaDoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5jOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmg6CgkgIFJld3JpdGUgb3N4YXVkaW8gdG8gd29yayBtb3JlIGZsZXhpYmx5IGFuZCBtb3JlIHJlbGlhYmx5LCB1c2luZyBhCgkgIGRpZmZlcmVudCBhYnN0cmFjdGlvbiBsYXllciBvZiBjb3JlYXVkaW8gdGhhdCBpcyB0aGUgcmVjb21tZW5kZWQgd2F5IG9mCgkgIGRvaW5nIGxvdy1sZXZlbCBhdWRpbyBJL08gb24gT1NYLgoJICBGaXhlcyBieWcgIzU2NDk0OC4KCjIwMDktMDEtMDIgMTY6MzE6MTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWRlY29kZWJpbi1IMjYzcC1BTVIuc2g6IEFkZCBleGFtcGxlIFJUUCB0cmFuc2NvZGluZyBwaXBlbGluZSBmcm9tIGFueSBmaWxlIGRlY29kZWRhYmxlIHdpdGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1kZWNvZGViaW4tSDI2M3AtQU1SLnNoOgoJICBBZGQgZXhhbXBsZSBSVFAgdHJhbnNjb2RpbmcgcGlwZWxpbmUgZnJvbSBhbnkgZmlsZSBkZWNvZGVkYWJsZSB3aXRoCgkgIHVyaWRlY29kZWJpbi4KCjIwMDktMDEtMDIgMTU6MjA6NDggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICB0ZXN0cy9leGFtcGxlcy9ydHAvOiBBZGQgdHdvIEMgZXhhbXBsZXMgb2YgdXNpbmcgZ3N0cnRwYmluIGFzIGEgc2VuZGVyIGFuZCBhIHJlY2VpdmVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1QQ01BLmM6IChwYWRfYWRkZWRfY2IpLCAobWFpbik6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1hbHNhc3JjLVBDTUEuYzogKG1haW4pOgoJICBBZGQgdHdvIEMgZXhhbXBsZXMgb2YgdXNpbmcgZ3N0cnRwYmluIGFzIGEgc2VuZGVyIGFuZCBhIHJlY2VpdmVyLgoKMjAwOC0xMi0zMSAxMToyMDo1NSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBDaGFuZ2VMb2c6IFJlbW92ZSBjb25mbGljdCBtYXJrZXIgZnJvbSBDaGFuZ2VMb2cKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogQ2hhbmdlTG9nOgoJICBSZW1vdmUgY29uZmxpY3QgbWFya2VyIGZyb20gQ2hhbmdlTG9nCgoyMDA4LTEyLTI4IDA5OjUwOjMxICswMDAwICBqXiA8akBvaWwyMS5vcmc+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBjb2RlYyBtYXBwaW5nIGZvciB4dmlkLCBmbXA0IGFuZCBhYzMgdHJhY2tzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IGpeIDxqIGF0IG9pbDIxLm9yZz4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3ZpZGVvX2NhcHMpLAoJICAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgQWRkIGNvZGVjIG1hcHBpbmcgZm9yIHh2aWQsIGZtcDQgYW5kIGFjMyB0cmFja3MuCgkgIEZpeGVzICM1NjU4NTAKCjIwMDgtMTItMjMgMTI6MTA6NDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvanBlZy9nc3RzbW9rZWVuYy4qOiBJbXBsZW1lbnQgZ2V0Y2FwcyBmdW5jdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzogKGdzdF9zbW9rZWVuY19pbml0KSwKCSAgKGdzdF9zbW9rZWVuY19nZXRjYXBzKSwgKGdzdF9zbW9rZWVuY19zZXRjYXBzKSwKCSAgKGdzdF9zbW9rZWVuY19jaGFpbiksIChnc3Rfc21va2VlbmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5oOgoJICBJbXBsZW1lbnQgZ2V0Y2FwcyBmdW5jdGlvbi4KCSAgU2V0IGNhcHMgb24gdGhlIHBhZCBhbmQgb24gYWxsIG91dGdvaW5nIGJ1ZmZlcnMuCgkgIEZpeGVzICM1NjU0NDEuCgoyMDA4LTEyLTE5IDA5OjM2OjQ1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuYzogQW5kIHJlbW92ZSB0ZW1wb3JhcnkgY29tbWVudCBwb2ludGluZyB0byB0aGUgYnVnIHRpY2tldC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmM6CgkgIEFuZCByZW1vdmUgdGVtcG9yYXJ5IGNvbW1lbnQgcG9pbnRpbmcgdG8gdGhlIGJ1ZyB0aWNrZXQuCgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgTW92ZSByZW9jY3VyaW5nIGxvZ2dpbmcgdG8gTE9HIGFuZCBsb2cgaW5zdGFuY2UgdG9vLgoKMjAwOC0xMi0xNyAxNzoyODozOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmM6IERvbid0IGxlYWsgdGhlIHBhX29wZXJhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmM6CgkgIERvbid0IGxlYWsgdGhlIHBhX29wZXJhdGlvbi4KCjIwMDgtMTItMTYgMTY6MTk6MjYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogUmVxdWlyZSBjb3JlIGN2cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBSZXF1aXJlIGNvcmUgY3ZzLgoKMjAwOC0xMi0xNiAxNjowNzo0OCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogUmVuYW1lIGFwaSBmcm9tIF9mbHVzaCB0byBfcmVzZXRfdGFncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgUmVuYW1lIGFwaSBmcm9tIF9mbHVzaCB0byBfcmVzZXRfdGFncy4KCjIwMDgtMTItMTYgMTQ6MjI6NTEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IFVzZSBuZXcgdGFnc2V0dGVyIGFwaSB0byBmbHVzaCB0YWdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBVc2UgbmV3IHRhZ3NldHRlciBhcGkgdG8gZmx1c2ggdGFncy4KCjIwMDgtMTItMTYgMTM6MTQ6MzkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOiBJbmNyZWFzZSB0aW1lb3V0IHRvIDMgbWludXRlcyB0byBwcmV2ZW50IHRpbWVvdXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzogKGRlaW50ZXJsZWF2ZV9zdWl0ZSk6CgkgIEluY3JlYXNlIHRpbWVvdXQgdG8gMyBtaW51dGVzIHRvIHByZXZlbnQgdGltZW91dHMuCgoyMDA4LTEyLTE2IDEyOjUyOjI0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6IEluY3JlYXNlIHRpbWVvdXQgdG8gMyBtaW51dGVzIHRvIHByZXZlbnQgdGltZW91dHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzogKGludGVybGVhdmVfc3VpdGUpOgoJICBJbmNyZWFzZSB0aW1lb3V0IHRvIDMgbWludXRlcyB0byBwcmV2ZW50IHRpbWVvdXRzLgoKMjAwOC0xMi0xNiAxMTo1NzowMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguKjogVG90YWxseSByZW1vdmUgdGhlIGludGVybmFsIHRhZ2xpc3RzIGFuZCBmdWxseSB1c2UgdGFnc2V0dGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4Lmg6CgkgIFRvdGFsbHkgcmVtb3ZlIHRoZSBpbnRlcm5hbCB0YWdsaXN0cyBhbmQgZnVsbHkgdXNlIHRhZ3NldHRlci4KCjIwMDgtMTItMTUgMTU6NTk6NTMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IEluc3RlYWQgb2YgZmlsdGVyaW5nIHdyb25nbHkganVzdCB1c2UgdGhlIG1lcmdlbW9kZS4gQXBwbGljYXRpb25zIGlzIHVzZSBLRUVQX0FMTCBpZiB0aGV5IHdhbnQgdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBJbnN0ZWFkIG9mIGZpbHRlcmluZyB3cm9uZ2x5IGp1c3QgdXNlIHRoZSBtZXJnZW1vZGUuIEFwcGxpY2F0aW9ucyBpcwoJICB1c2UgS0VFUF9BTEwgaWYgdGhleSB3YW50IHRvIHN1cHJlc3MgdGFnLWV2ZW50cy4gRml4ZXMgIzU2MzIyMSBmb3IKCSAgYXZpIGZvciByZWFsIChJIGhvcGUpLiBFdmVyeW9uZSBjaGltZSBpbiwgYmVmb3JlIEkgZml4IHRoZSBvdGhlcnMuCgoyMDA4LTEyLTE1IDEyOjQ1OjM1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuYzogQWRkIG5vdGUgYWJvdXQgbWVtbGVhay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmM6CgkgIEFkZCBub3RlIGFib3V0IG1lbWxlYWsuCgoyMDA4LTEyLTEzIDE2OjIzOjA5ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgbTQvTWFrZWZpbGUuYW06IEEgY291cGxlIG1vcmUgLm00IHRoYXQgYXJlbid0IHNoaXBwZWQgYW55bW9yZSB3aXRoIGdldHRleHQgMC4xNy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogbTQvTWFrZWZpbGUuYW06CgkgIEEgY291cGxlIG1vcmUgLm00IHRoYXQgYXJlbid0IHNoaXBwZWQgYW55bW9yZSB3aXRoIGdldHRleHQgMC4xNy4KCjIwMDgtMTItMTMgMTU6MzQ6MDEgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBTd2l0Y2ggdG8gdXNpbmcgR3N0U3RhdGljUGFkVGVtcGxhdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY19iYXNlX2luaXQpLAoJICAoZ3N0X2ZsYWNfZGVjX2luaXQpOgoJICAqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzogKGdzdF9hbGF3X2RlY19iYXNlX2luaXQpLAoJICAoZ3N0X2FsYXdfZGVjX2luaXQpOgoJICAqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzogKGdzdF9hbGF3X2VuY19iYXNlX2luaXQpLAoJICAoZ3N0X2FsYXdfZW5jX2luaXQpOgoJICAqIGdzdC9sYXcvYWxhdy5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6IChnc3RfbXVsYXdkZWNfYmFzZV9pbml0KSwKCSAgKGdzdF9tdWxhd2RlY19pbml0KToKCSAgKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOiAoZ3N0X211bGF3ZW5jX2Jhc2VfaW5pdCksCgkgIChnc3RfbXVsYXdlbmNfaW5pdCk6CgkgICogZ3N0L2xhdy9tdWxhdy5jOiAocGx1Z2luX2luaXQpOgoJICBTd2l0Y2ggdG8gdXNpbmcgR3N0U3RhdGljUGFkVGVtcGxhdGUuCgkgICogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOiAoZ3N0X3VkcF9nZXRfYWRkcik6CgkgIERvbid0IGZvcmdldCB0byBmcmVlIHRoZSBhZGRyaW5mbyBzdHJ1Y3R1cmUuCgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfcmVzZXQpLAoJICAoZ3N0X3dhdnBhcnNlX3NpbmtfYWN0aXZhdGUpOgoJICBEb24ndCBmb3JnZXQgdG8gdW5yZWYgdGhlIEdzdEFkYXB0ZXIuCgoyMDA4LTEyLTEzIDEyOjU4OjI0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgbTQvTWFrZWZpbGUuYW06IGludHR5cGVzLm00IGhhc24ndCBiZWVuIGF2YWlsYWJsZSBzaW5jZSBnZXR0ZXh0LTAuMTUsIGFuZCBzaW5jZSB3ZSBub3cgcmVxdWlyZSBnZXR0ZXh0ID49IDAuMTcgLi4uIHdlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIG00L01ha2VmaWxlLmFtOgoJICBpbnR0eXBlcy5tNCBoYXNuJ3QgYmVlbiBhdmFpbGFibGUgc2luY2UgZ2V0dGV4dC0wLjE1LCBhbmQgc2luY2Ugd2Ugbm93CgkgIHJlcXVpcmUgZ2V0dGV4dCA+PSAwLjE3IC4uLiB3ZSBjYW4gcmVtb3ZlIGl0IGZyb20gdGhlIGxpc3Qgb2YgZmlsZXMgdG8KCSAgZGlzdC4KCjIwMDgtMTItMTAgMTU6MDM6MjMgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgc21hbGxlciBzcGVjIGZpbGUgdXBkYXRlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgc21hbGxlciBzcGVjIGZpbGUgdXBkYXRlcwoKMjAwOC0xMi0wOSAxNzo1NToyMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBNb3JlIGxvZ2dpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgTW9yZSBsb2dnaW5nLgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIEhhbmRsZSBtb3JlIG1ldGFkYXRhIGZpZWxkcy4gQmV0dGVyIGVzdGltYXRlIG9mIG1ldGFkYXRhIHNpemUuIERvbid0CgkgIG1lcmdlIHJlY2VpdmVkIHRhZ3MsIGlmIGFwcGxpY2F0aW9uIGhhcyBzcGVjaWZpZWQgdGFncyB1c2luZwoJICBHU1RfVEFHX01FUkdFX1JFUExBQ0VfQUxMLiBGaXhlcyAjNTYzMjIxIGZvciBhdmkuCgoyMDA4LTEyLTA5IDE0OjMwOjAzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogQWxzbyBpZ25vcmUgcHVsc2VtaXhlciBmb3IgdGhlIHN0YXRlcyB1bml0IHRlc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBBbHNvIGlnbm9yZSBwdWxzZW1peGVyIGZvciB0aGUgc3RhdGVzIHVuaXQgdGVzdC4KCjIwMDgtMTItMDkgMTQ6MTk6MTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOiBBZGQgYW4gRU9JIG1hcmtlciBhdCB0aGUgZW5kIG9mIHRoZSBqcGVnIGZyYW1lIHdoZW4gaXQncyBtaXNzaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOiAoZ3N0X3J0cF9qcGVnX2RlcGF5X3Byb2Nlc3MpOgoJICBBZGQgYW4gRU9JIG1hcmtlciBhdCB0aGUgZW5kIG9mIHRoZSBqcGVnIGZyYW1lIHdoZW4gaXQncyBtaXNzaW5nLgoJICBGaXhlcyAjNTYzMDU2LgoKMjAwOC0xMi0wOSAxMDo0NzoxNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6IFVwZGF0ZSB0aGUgdW5pdCB0ZXN0IGZvciB0aGUgbmV3IGNvbG9yIHZhbHVlcyBmb3IgQlQuNjAxIHJlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6IChjaGVja18xeDFfYnVmZmVyKToKCSAgVXBkYXRlIHRoZSB1bml0IHRlc3QgZm9yIHRoZSBuZXcgY29sb3IgdmFsdWVzIGZvciBCVC42MDEgcmVkLgoJICBGaXhlcyBidWcgIzU2MzUxMC4KCjIwMDgtMTItMDkgMTA6Mjg6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZHYvZ3N0ZHZkZW11eC5jOiBSZXN0b3JlIHByZXZpb3VzIGJlaGF2aW91ciBvZiBub3QgcGFzc2luZyBRb1MgYW5kIG5hdmlnYXRpb24gZXZlbnRzIHVwc3RyZWFtLCB3aGljaCBwcmVzdW1hYmx5IHcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2hhbmRsZV9zcmNfZXZlbnQpOgoJICBSZXN0b3JlIHByZXZpb3VzIGJlaGF2aW91ciBvZiBub3QgcGFzc2luZyBRb1MgYW5kIG5hdmlnYXRpb24KCSAgZXZlbnRzIHVwc3RyZWFtLCB3aGljaCBwcmVzdW1hYmx5IHdhc24ndCBtZWFudCB0byBiZSBjaGFuZ2VkLgoKMjAwOC0xMi0wOSAwOTozOTo1MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2R2L2dzdGR2ZGVtdXguYzogQWRkIHNyY3BhZHMgb25seSB3aGVuIG5lZWRlZCBhbmQgcmVtb3ZlIHRoZW0gYWdhaW4gd2hlbiBnb2luZyBiYWNrIHRvIFJFQURZLiBUaGlzIHByZXZlbnRzIHN0YWxsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9hZGRfdmlkZW9fcGFkKSwKCSAgKGdzdF9kdmRlbXV4X2FkZF9hdWRpb19wYWQpLCAoZ3N0X2R2ZGVtdXhfcmVtb3ZlX3BhZHMpLAoJICAoZ3N0X2R2ZGVtdXhfZGVtdXhfYXVkaW8pLCAoZ3N0X2R2ZGVtdXhfZGVtdXhfdmlkZW8pLAoJICAoZ3N0X2R2ZGVtdXhfY2hhaW4pLCAoZ3N0X2R2ZGVtdXhfbG9vcCksCgkgIChnc3RfZHZkZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICBBZGQgc3JjcGFkcyBvbmx5IHdoZW4gbmVlZGVkIGFuZCByZW1vdmUgdGhlbSBhZ2FpbiB3aGVuIGdvaW5nCgkgIGJhY2sgdG8gUkVBRFkuIFRoaXMgcHJldmVudHMgc3RhbGxlZCBwaXBlbGluZXMgaWYgdGhlcmUncyBubwoJICBhdWRpbyBpbnNpZGUgdGhlIERWIHN0cmVhbSwgd2hpY2ggaGFwcGVucyBmb3IgbWFueSBNWEYgZmlsZXMuCgoyMDA4LTEyLTA5IDA5OjA5OjI1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOiBUaGUgcG9ydHMgaW4gbGlic291cCBhcmUgdW5zaWduZWQgaW50ZWdlcnMgYW5kIG5vdCBzaWduZWQgaW50ZWdlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6IChHU1RfU1RBUlRfVEVTVCksCgkgIChydW5fc2VydmVyKToKCSAgVGhlIHBvcnRzIGluIGxpYnNvdXAgYXJlIHVuc2lnbmVkIGludGVnZXJzIGFuZCBub3Qgc2lnbmVkCgkgIGludGVnZXJzLgoKMjAwOC0xMi0wOCAxODozMTowMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2R2L2dzdGR2ZGVtdXguYzogRm9yd2FyZCBhbGwgZXZlbnRzIHVwc3RyZWFtIHVubGVzcyBpdCdzIHNvbWV0aGluZyB3ZSByZWFsbHkgZG9uJ3QgaGFuZGxlLiBUaGlzIGZpeGVzIGxhdGVuY3kgY29uLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9oYW5kbGVfc3JjX2V2ZW50KToKCSAgRm9yd2FyZCBhbGwgZXZlbnRzIHVwc3RyZWFtIHVubGVzcyBpdCdzIHNvbWV0aGluZyB3ZSByZWFsbHkKCSAgZG9uJ3QgaGFuZGxlLiBUaGlzIGZpeGVzIGxhdGVuY3kgY29uZmlndXJhdGlvbiBvZiBwaXBlbGluZXMuCgoyMDA4LTEyLTA4IDE4OjI0OjIxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZHYvOiBSZWFsbHkgY2FsbCBkdl9pbml0KCkgZXhhY3RseSBvbmUgdGltZSwgbm90IG9uZSB0aW1lIGZvciB0aGUgZGVtdXhlciBhbmQgb25lIHRpbWUgZm9yIHRoZSBkZWNvZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHYuYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvZHYvZ3N0ZHZkZWMuYzogKGdzdF9kdmRlY19jbGFzc19pbml0KToKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfY2xhc3NfaW5pdCk6CgkgIFJlYWxseSBjYWxsIGR2X2luaXQoKSBleGFjdGx5IG9uZSB0aW1lLCBub3Qgb25lIHRpbWUgZm9yCgkgIHRoZSBkZW11eGVyIGFuZCBvbmUgdGltZSBmb3IgdGhlIGRlY29kZXIuCgoyMDA4LTEyLTA4IDEyOjM3OjQ1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6IENvcHkgaW5jb21taW5nIHRpbWVzdGFtcCB0byBvdXRnb2luZyBwYWNrZXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzogKGdzdF9ydHBfbXA0YV9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgIENvcHkgaW5jb21taW5nIHRpbWVzdGFtcCB0byBvdXRnb2luZyBwYWNrZXRzLgoKMjAwOC0xMi0wOCAxMjozNjoyMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOiBEb24ndCB0cnkgdG8gcHVzaCBwYWNrZXRzIGJlZm9yZSB3ZSBjb3VsZCBmaW5kIGEgdmFsaWQgY29uZmlnIHN0YXJ0Y29kZS4gRml4ZXMgIzU2MzUwOS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6IChnc3RfcnRwX21wNHZfcGF5X2ZsdXNoKSwKCSAgKGdzdF9ydHBfbXA0dl9wYXlfZXZlbnQpOgoJICBEb24ndCB0cnkgdG8gcHVzaCBwYWNrZXRzIGJlZm9yZSB3ZSBjb3VsZCBmaW5kIGEgdmFsaWQgY29uZmlnCgkgIHN0YXJ0Y29kZS4gRml4ZXMgIzU2MzUwOS4KCjIwMDgtMTItMDcgMTk6MjI6NDggKzAwMDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCgkgIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOiBTZXQgdGhlIG1peGVyIGZkIGJlZm9yZSBjYWxsaW5nIGlvY3RsKCkgb24gaXQuIEZpeGVzIGJ1ZyAjNTYzNDE0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb24gYXQgc3VuIGRvdCBjb20+CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6CgkgIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX29wZW4pOgoJICBTZXQgdGhlIG1peGVyIGZkIGJlZm9yZSBjYWxsaW5nIGlvY3RsKCkgb24gaXQuIEZpeGVzIGJ1ZyAjNTYzNDE0LgoKMjAwOC0xMi0wNyAxOTowMTozNSArMDAwMCAgQWxleGFuZHJlIFJvc3RvdnRzZXYgPHRldHJvbWlub0BnbWFpbC5jb20+CgoJICBjb25maWd1cmUuYWM6IE1ha2UgdXNhZ2Ugb2YgbGlidjRsIG9wdGlvbmFsIGJ5IGEgY29uZmlndXJlIHBhcmFtZXRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBbGV4YW5kcmUgUm9zdG92dHNldiA8dGV0cm9taW5vIGF0IGdtYWlsIGRvdCBjb20+CgkgICogY29uZmlndXJlLmFjOgoJICBNYWtlIHVzYWdlIG9mIGxpYnY0bCBvcHRpb25hbCBieSBhIGNvbmZpZ3VyZSBwYXJhbWV0ZXIuCgkgIEZpeGVzIGJ1ZyAjNTYzNTA0LgoKMjAwOC0xMi0wNSAwOToyNDoxOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIGRvY3VtZW50YXRpb24gZm9yIG1hdHJvc2thbXV4IGFuZCBtYXRyb3NrYWRlbXV4IGFuZCB1cGRhdGUgdGhlIGluc3BlY3Rpb24geG1sIGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBBZGQgZG9jdW1lbnRhdGlvbiBmb3IgbWF0cm9za2FtdXggYW5kIG1hdHJvc2thZGVtdXggYW5kCgkgIHVwZGF0ZSB0aGUgaW5zcGVjdGlvbiB4bWwgZmlsZXMuCgoyMDA4LTEyLTA0IDIwOjEwOjU4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IEFwcGFyZW50bHkgQUNfQ09ORklHX01BQ1JPX0RJUiBicmVha3Mgd2hlbiB1c2luZyBtb3JlIHRoYW4gb25lIG1hY3JvIGRpcmVjdG9yeSwgcmV2ZXJ0aW5nIGxhc3QgY2hhbmdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEFwcGFyZW50bHkgQUNfQ09ORklHX01BQ1JPX0RJUiBicmVha3Mgd2hlbiB1c2luZyBtb3JlCgkgIHRoYW4gb25lIG1hY3JvIGRpcmVjdG9yeSwgcmV2ZXJ0aW5nIGxhc3QgY2hhbmdlLgoKMjAwOC0xMi0wNCAxOTo0NzoyMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBTZXQgQUNfQ09ORklHX01BQ1JPX0RJUiB0byBjb21tb24vbTQgdG8gcG9pbnQgYXV0b2NvbmYgdG8gb3VyIE00IG1hY3Jvcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBTZXQgQUNfQ09ORklHX01BQ1JPX0RJUiB0byBjb21tb24vbTQgdG8gcG9pbnQgYXV0b2NvbmYgdG8KCSAgb3VyIE00IG1hY3Jvcy4KCjIwMDgtMTEtMzAgMTY6MjQ6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IFByb3ZpZGUgdGhlIHBhcmFtZXRlcnMgdGhhdCBhcmUgcmVxdWlyZWQgZm9yIHRoZSBmb3JtYXQgc3RyaW5nIHRvIGZpeCBhIGNvbXBpbGVyIHdhcm5pbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX3JlbmRlcik6CgkgIFByb3ZpZGUgdGhlIHBhcmFtZXRlcnMgdGhhdCBhcmUgcmVxdWlyZWQgZm9yIHRoZSBmb3JtYXQgc3RyaW5nCgkgIHRvIGZpeCBhIGNvbXBpbGVyIHdhcm5pbmcuCgoyMDA4LTExLTI5IDIwOjA1OjQxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzogRml4IGNsYXNzaWZpY2F0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSAgRml4IGNsYXNzaWZpY2F0aW9uLgoKMjAwOC0xMS0yOSAxMzozMTo1NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgUmVxdWlyZSBnZXR0ZXh0IDAuMTcgYmVjYXVzZSBvbGRlciB2ZXJzaW9ucyBkb24ndCBtaXggd2l0aCBsaWJ0b29sIDIuMi4gQXQgYnVpbGQgdGltZSBhbiBvbGRlciBnZXR0ZXh0IHZlcnNpb24gd2lsbCBzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQ3lnd2luIFBvcnRzIG1haW50YWluZXIKCSAgPHlzZWxrb3dpdHogYXQgdXNlcnMgZG90IHNvdXJjZWZvcmdlIGRvdCBuZXQ+CgkgICogYXV0b2dlbi5zaDoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFJlcXVpcmUgZ2V0dGV4dCAwLjE3IGJlY2F1c2Ugb2xkZXIgdmVyc2lvbnMgZG9uJ3QgbWl4IHdpdGggbGlidG9vbAoJICAyLjIuIEF0IGJ1aWxkIHRpbWUgYW4gb2xkZXIgZ2V0dGV4dCB2ZXJzaW9uIHdpbGwgc3RpbGwgd29yay4KCSAgRml4ZXMgYnVnICM1NTYwOTEuCgoyMDA4LTExLTI4IDE1OjEwOjUwICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IE1ha2UgZ3N0X211bHRpdWRwc2lua19yZW5kZXIoKSBpZ25vcmUgZXJyb3JzIGZyb20gc2VuZHRvKCkgaW5zdGVhZCBvZiBicmVha2luZyBzdHJlYW1pbmcuIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqIGF0IGF4aXMgY29tPgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX3JlbmRlcik6CgkgIE1ha2UgZ3N0X211bHRpdWRwc2lua19yZW5kZXIoKSBpZ25vcmUgZXJyb3JzIGZyb20gc2VuZHRvKCkgaW5zdGVhZCBvZgoJICBicmVha2luZyBzdHJlYW1pbmcuIEVtaXQgYSB3YXJuaW5nIGluc3RlYWQuIEZpeGVzICM1NjI1NzIuCgoyMDA4LTExLTI3IDE2OjQzOjI0ICswMDAwICBSb24gTWNPdWF0IDxybWNvdWF0QHNtYXJ0dC5jb20+CgoJICBBZGQgc3VwcG9ydCBmb3IgYmFzaWMgYW5kIGRpZ2VzdCBhdXRoZW50aWNhdGlvbiBpbiBzb3VwaHR0cHNyYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSb24gTWNPdWF0IDxybWNvdWF0IGF0IHNtYXJ0dCBkb3QgY29tPgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cF9odHRwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2luaXQpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfZGlzcG9zZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2F1dGhlbnRpY2F0ZV9jYiksIChnc3Rfc291cF9odHRwX3NyY19zdGFydCk6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOiAoYmFzaWNfYXV0aF9jYiksCgkgIChkaWdlc3RfYXV0aF9jYiksIChydW5fdGVzdCksIChHU1RfU1RBUlRfVEVTVCksCgkgIChzb3VwaHR0cHNyY19zdWl0ZSksIChydW5fc2VydmVyKToKCSAgQWRkIHN1cHBvcnQgZm9yIGJhc2ljIGFuZCBkaWdlc3QgYXV0aGVudGljYXRpb24gaW4gc291cGh0dHBzcmMuCgkgIEZpeGVzIGJ1ZyAjNTYxNzc1LgoKMjAwOC0xMS0yNyAxMjoxMzozOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3dhdmVuYy86IEFkZCBzdXBwb3J0IGZvciBhLWxhdyBhbmQgbXUtbGF3IGVuY29kZWQgd2F2IGZpbGVzLiBGaXhlcyBidWcgIzU2MjQzNC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBQZXBpam4gVmFuIEVlY2tob3VkdAoJICA8cGVwaWpuIGRvdCB2YW5lZWNraG91ZHQgYXQgbHVjaWFkIGRvdCBjb20+CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogKGdzdF93YXZlbmNfY3JlYXRlX2hlYWRlcl9idWYpLAoJICAoZ3N0X3dhdmVuY19zaW5rX3NldGNhcHMpLCAoZ3N0X3dhdmVuY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmg6CgkgICogZ3N0L3dhdmVuYy9yaWZmLmg6CgkgIEFkZCBzdXBwb3J0IGZvciBhLWxhdyBhbmQgbXUtbGF3IGVuY29kZWQgd2F2IGZpbGVzLiBGaXhlcyBidWcgIzU2MjQzNC4KCjIwMDgtMTEtMjcgMTE6MjI6NTYgKzAwMDAgIOydtOusuO2YlSA8aXdpbmdzQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogUHJldmVudCBmdXJ0aGVyIHJlYWQvd3JpdGUgYWN0aW9ucyB0YWtlbiB0byB0aGUgY29ubmVjdC1mYWlsZWQgc29ja2V0IGJ5IGVycm9yaW5nIG91dCBxdWlja2x5Li4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IOydtOusuO2YlSA8aXdpbmdzIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfbG9vcF91ZHApOgoJICBQcmV2ZW50IGZ1cnRoZXIgcmVhZC93cml0ZSBhY3Rpb25zIHRha2VuIHRvIHRoZSBjb25uZWN0LWZhaWxlZCBzb2NrZXQgYnkKCSAgZXJyb3Jpbmcgb3V0IHF1aWNrbHkuIFNlZSAjNTYyMjU4LgoKMjAwOC0xMS0yNiAyMToxOTo0NyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvZXhhbXBsZXMvbGV2ZWwvbGV2ZWwtZXhhbXBsZS5jOiBTZXQgZmFrZXNpbmsgdG8gc3luYy4gT3RoZXJ3aXNlIHBlb3BsZSBtaWdodCBxdWVzdGlvbiB0aGUgbWVzc2FnZSBpbnRlcnZhbC4gTmV2Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2V4YW1wbGVzL2xldmVsL2xldmVsLWV4YW1wbGUuYzoKCSAgU2V0IGZha2VzaW5rIHRvIHN5bmMuIE90aGVyd2lzZSBwZW9wbGUgbWlnaHQgcXVlc3Rpb24gdGhlIG1lc3NhZ2UKCSAgaW50ZXJ2YWwuIE5ldmVydGhlbGVzcyB0aGUgdGltZXN0YW1wIGluIHRoZSBtZXNzYWdlIGlzIHdoYXQgbWF0dGVycy4KCjIwMDgtMTEtMjUgMTg6MTM6MjUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICB0ZXN0cy9pY2xlcy8uY3ZzaWdub3JlOiBjdnNpZ25vcmUgbmV3bHkgZ2VuZXJhdGVkIGZpbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzLy5jdnNpZ25vcmU6CgkgIGN2c2lnbm9yZSBuZXdseSBnZW5lcmF0ZWQgZmlsZS4KCjIwMDgtMTEtMjUgMTg6MDM6MDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogRml4IHRoZSBkZXNjcmlwdGlvbnMgYW5kIGZpeCBzb21lIGVtYWlsIGFkZHJlc3Nlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSAgKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzogKGdzdF9ydHBfTDE2X2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOiAoZ3N0X3J0cF9hYzNfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmM6IChnc3RfcnRwX2R2X2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzogKGdzdF9ydHBfZ3NtX3BheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOiAoZ3N0X3J0cF9oMjYzX2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6IChnc3RfcnRwX2gyNjNwX2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOiAoZ3N0X3J0cF9tcDFzX2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzogKGdzdF9ydHBfbXAydF9kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6IChnc3RfcnRwX21wNGFfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRhcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzogKGdzdF9ydHBfbXA0Z19kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6IChnc3RfcnRwX21wNHZfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzogKGdzdF9ydHBfbXA0dl9wYXlfZXZlbnQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzogKGdzdF9ydHBfcGNtYV9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOiAoZ3N0X3J0cF92b3JiaXNfcGF5X2ZpbmlzaF9oZWFkZXJzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6IChnc3RfcnRwX3ZyYXdfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIEZpeCB0aGUgZGVzY3JpcHRpb25zIGFuZCBmaXggc29tZSBlbWFpbCBhZGRyZXNzZXMuCgoyMDA4LTExLTI1IDE3OjQ3OjI0ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIE1QRzEgYW5kIE1QRzIgZm91cmNjIHRvIHN1cHBvcnRlZCBxdGRlbXV4IHZpZGVvIGNvZGVjcyBhcyBJIGZvdW5kIHNvbWUgdmlkZW8gY2xpcHMgdXNpbmcgdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0xMS0yNSAgSnVsaWVuIE1vdXR0ZSAgPGp1bGllbkBmbHVlbmRvLmNvbT4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3ZpZGVvX2NhcHMpOiBBZGQgTVBHMSBhbmQgTVBHMgoJICBmb3VyY2MKCSAgdG8gc3VwcG9ydGVkIHF0ZGVtdXggdmlkZW8gY29kZWNzIGFzIEkgZm91bmQgc29tZSB2aWRlbyBjbGlwcwoJICB1c2luZwoJICB0aG9zZS4KCjIwMDgtMTEtMjUgMTY6MjY6MTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXV0b2RldGVjdC86IFBvc3QgYW4gZXJyb3Igd2hlbiB3ZSBjYW4ndCBzZXQgdGhlIGludGVybmFsIGdob3N0cGFkIHRhcmdldC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOiAoZ3N0X2F1dG9fYXVkaW9fc2lua19kZXRlY3QpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOiAoZ3N0X2F1dG9fYXVkaW9fc3JjX2RldGVjdCk6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOiAoZ3N0X2F1dG9fdmlkZW9fc2lua19yZXNldCksCgkgIChnc3RfYXV0b192aWRlb19zaW5rX2RldGVjdCk6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6IChnc3RfYXV0b192aWRlb19zcmNfZGV0ZWN0KToKCSAgUG9zdCBhbiBlcnJvciB3aGVuIHdlIGNhbid0IHNldCB0aGUgaW50ZXJuYWwgZ2hvc3RwYWQgdGFyZ2V0LgoKMjAwOC0xMS0yNSAxNjowNjoyMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLio6IEZpeCByZW5lZ290aWF0aW9uIHdoZW4gY2hhbmdpbmcgcHJvcGVydGllcyB1c2luZyB0aGUgbmV3IGJhc2V0cmFuc2Zvcm0gZmVhdHVyZXMuIEZpeGVzIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOiAoZ3N0X3ZpZGVvX2Nyb3BfaW5pdCksCgkgIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm0pLCAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX2NhcHMpLAoJICAoZ3N0X3ZpZGVvX2Nyb3Bfc2V0X2NhcHMpLCAoZ3N0X3ZpZGVvX2Nyb3Bfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5oOgoJICBGaXggcmVuZWdvdGlhdGlvbiB3aGVuIGNoYW5naW5nIHByb3BlcnRpZXMgdXNpbmcgdGhlIG5ldyBiYXNldHJhbnNmb3JtCgkgIGZlYXR1cmVzLiBGaXhlcyAjNTYxNTAyLgoJICAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcDItdGVzdC5jOiAobWFrZV9waXBlbGluZSksIChtYWluKToKCSAgQWRkIGNyYXp5IGludGVyYWN0aXZlIHRlc3QgdW5pdCBmb3IgZHluYW1pY2FsbHkgY2hhbmdpbmcgcHJvcGVydGllcy4KCjIwMDgtMTEtMjQgMTI6MjA6MjkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IEFkZCBzb21lIG1vcmUgZGVidWdnaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChuZXdfc2Vzc2lvbl9wYWQpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfcmFuZ2UpOgoJICBBZGQgc29tZSBtb3JlIGRlYnVnZ2luZy4KCSAgVXNlIHRoZSByZWFuZ2VzIHJlY2VpdmVkIGZyb20gdGhlIHNlcnZlciB1bmNvbmRpdGlvbmFsbHkuCgkgIEZpeGVzICM1NjE2MjUuCgoyMDA4LTExLTIzIDE1OjA4OjQ1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvcHVsc2UvcHVsc2VzaW5rLmM6IENoYW5nZSAjaWYgMCB0byBzb21ldGhpbmcgbW9yZSBleHByZXNpdmUgYW5kIGFkZCBwb2ludGVyIHRvIHJlbGF0ZWQgYnVnIHRpY2tldC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBDaGFuZ2UgI2lmIDAgdG8gc29tZXRoaW5nIG1vcmUgZXhwcmVzaXZlIGFuZCBhZGQgcG9pbnRlciB0byByZWxhdGVkCgkgIGJ1ZyB0aWNrZXQuCgoyMDA4LTExLTIzIDExOjE3OjAxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkgIENoYW5nZUxvZyBzdXJnZXJ5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDaGFuZ2VMb2cgc3VyZ2VyeQoKMjAwOC0xMS0yMyAxMToxNDo0MiArMDAwMCAgVGFsIFNoYWxpZiA8dHNoYWxpZkBuYXJnaWxhLm9yZz4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogVXNlIEdfe0JJRyxMSVRUTEV9X0VORElBTiBpbnN0ZWFkIG9mIHRoZSBub24tR0xpYiB2YXJpYW50cyBhcyB0aGUgbGF0dGVyIGRvbid0IGV4aXN0IG9uIHNvbWUgcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRhbCBTaGFsaWYgPHRzaGFsaWYgYXQgbmFyZ2lsYSBkb3Qgb3JnPgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgIFVzZSBHX3tCSUcsTElUVExFfV9FTkRJQU4gaW5zdGVhZCBvZiB0aGUgbm9uLUdMaWIgdmFyaWFudHMgYXMKCSAgdGhlIGxhdHRlciBkb24ndCBleGlzdCBvbiBzb21lIHN5c3RlbXMgKG1pbmd3KS4gRml4ZXMgYnVnICM1NjE5OTIuCgoyMDA4LTExLTIxIDEzOjQzOjI5ICswMDAwICBaZWVzaGFuIEFsaSA8emVlc2hhbmFrQGdub21lLm9yZz4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IEFkZCB0cmFuc2Zlck1vZGUuZG5sYS5vcmcgaGVhZGVyIHRvIEhUVFAgcmVxdWVzdHMgYXMgdGhpcyBpcyByZXF1aXJlZCBieSB0aGUgRExOQSBzcGVjcyBhbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFplZXNoYW4gQWxpIDx6ZWVzaGFuYWsgYXQgZ25vbWUgZG90IG9yZz4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBfaHR0cF9zcmNfYnVpbGRfbWVzc2FnZSk6CgkgIEFkZCB0cmFuc2Zlck1vZGUuZG5sYS5vcmcgaGVhZGVyIHRvIEhUVFAgcmVxdWVzdHMgYXMgdGhpcyBpcwoJICByZXF1aXJlZCBieSB0aGUgRExOQSBzcGVjcyBhbmQgZG9lc24ndCBodXJ0IGluIG90aGVyIHNpdHVhdGlvbnMuCgkgIEZpeGVzIGJ1ZyAjNTYxODAyLgoKMjAwOC0xMS0yMCAyMzo1OTowNyArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay4qOiBIYW5kbGUgdmlkZW8gd2luZG93IHJlc2l6aW5nIG1vcmUgY29ycmVjdGx5LCBhdm9pZGluZyBjcmFzaGVzIHdoZW4gZW1iZWRkaW5nIHRoZSB3aW5kb3cgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIEhhbmRsZSB2aWRlbyB3aW5kb3cgcmVzaXppbmcgbW9yZSBjb3JyZWN0bHksIGF2b2lkaW5nIGNyYXNoZXMgd2hlbgoJICBlbWJlZGRpbmcgdGhlIHdpbmRvdyBhbmQgcmVzaXppbmcgaXQuCgoyMDA4LTExLTIwIDIyOjU2OjU4ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvdWRwLzogRml4IG11bHRpdWRwc2luayBvbiBPU1ggYnkgcGFzc2luZyB0aGUgc3BlY2lmaWMgbGVuZ3RoIG9mIHRoZSBzb2NrZXQsIHJlZmFjdG9yIHRoYXQgaW50byBhIGZ1bmN0aW9uIHNoYXJlZCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkgICogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5oOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIEZpeCBtdWx0aXVkcHNpbmsgb24gT1NYIGJ5IHBhc3NpbmcgdGhlIHNwZWNpZmljIGxlbmd0aCBvZiB0aGUgc29ja2V0LAoJICByZWZhY3RvciB0aGF0IGludG8gYSBmdW5jdGlvbiBzaGFyZWQgd2l0aCB0aGUgc2FtZSB0aGluZyBpbiB1ZHBzcmMuCgoyMDA4LTExLTIwIDIwOjA3OjI2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IEZpeCB0aGUgc2NhbGluZyBjb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKHVpbnQ2NF9jZWlsaW5nX3NjYWxlX2ludCksCgkgICh1aW50NjRfY2VpbGluZ19zY2FsZSksIChnc3Rfd2F2cGFyc2VfY2FsY3VsYXRlX2R1cmF0aW9uKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyk6CgkgIEZpeCB0aGUgc2NhbGluZyBjb2RlLgoJICBGaXggcGFyc2luZyBvZiB0aGUgSU5GTyBjaHVua3MsIHdlIHdlcmUgcmVhZGluZyB0aGUgd3JvbmcgbnVtYmVyIG9mCgkgIGJ5dGVzLiAgRml4ZXMgIzU2MTU4MC4KCjIwMDgtMTEtMjAgMTQ6MzA6NDAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBGaXggTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlIG9mIGFuIHVuc2V0IGNvZGVjX2lkIGluIHRoZSByZWNlbnRseSBhZGRlZCBEaXJhYyBwYXRocwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIEZpeCBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2Ugb2YgYW4gdW5zZXQgY29kZWNfaWQgaW4gdGhlIHJlY2VudGx5CgkgIGFkZGVkIERpcmFjIHBhdGhzCgoyMDA4LTExLTIwIDEzOjU4OjQzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBKdXN0IGtlZXAgZGlzYWJsaW5nIGVsZW1lbnRzIHRoYXQgaGFuZyB0aGUgc3RhdGVzIHRlc3QgdW50aWwgaXQgd29ya3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBKdXN0IGtlZXAgZGlzYWJsaW5nIGVsZW1lbnRzIHRoYXQgaGFuZyB0aGUgc3RhdGVzIHRlc3QgdW50aWwgaXQKCSAgd29ya3MuCgoyMDA4LTExLTIwIDEzOjQ2OjQ3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6IERvbid0IGZsdXNoIGRvd25zdHJlYW0gYWZ0ZXIgZXZlcnkgYnVmZmVyIC0gdGhhdCdzIG5vdCB3aGF0IHRoaXMgbGlicG5nIGNhbGxiYWNrIGlzIGZvciBhdCBhbGwhCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkgIERvbid0IGZsdXNoIGRvd25zdHJlYW0gYWZ0ZXIgZXZlcnkgYnVmZmVyIC0gdGhhdCdzIG5vdCB3aGF0CgkgIHRoaXMgbGlicG5nIGNhbGxiYWNrIGlzIGZvciBhdCBhbGwhCgoyMDA4LTExLTE3IDE0OjA0OjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBUdXJucyBvdXQgd2UgZG9uJ3QgYWx3YXlzIGdldCB0aGUgZnJhbWUgc2l6ZXMgaW4gYSBwcmVkZWZpbmVkIG9yZGVyIGZyb20gbG93ZXN0IHRvIGhpZ2hlc3QgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdF9hbmRfc2l6ZSksIChzb3J0X2J5X2ZyYW1lX3NpemUpLAoJICAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0KToKCSAgVHVybnMgb3V0IHdlIGRvbid0IGFsd2F5cyBnZXQgdGhlIGZyYW1lIHNpemVzIGluIGEgcHJlZGVmaW5lZAoJICBvcmRlciBmcm9tIGxvd2VzdCB0byBoaWdoZXN0IHJlc29sdXRpb24sIHNvIGxldCdzIGp1c3Qgc29ydCB0aGUKCSAgbGlzdCBieSBmcmFtZSBzaXplIG9uY2Ugd2UndmUgcXVlcmllZCB0aGUgcG9zc2libGUgcmVzb2x1dGlvbnMKCSAgcmF0aGVyIHRoYW4gYXNzdW1lIGFueSBwYXJ0aWN1bGFyIG9yZGVyLiBGaXhlcyBwcm9iZWQgY2FwcyBmb3IKCSAgdGhlIGNhbWVyYSBpbiBteSBIUDIxMzMgbWluaSBub3RlYm9vayBhbmQgbWFrZXMgdjRsMnNyYyBkZWZhdWx0CgkgIHRvIGEgZGVjZW50IHNpemUuCgoyMDA4LTExLTE2IDE0OjQxOjMyICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L21hdHJvc2thLzogTWFrZSBta3ZkZW11eCBhd2FyZSBvZiBFLUFDMy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfYXVkaW9fY2Fwcyk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBNYWtlIG1rdmRlbXV4IGF3YXJlIG9mIEUtQUMzLgoKMjAwOC0xMS0xNCAxODo0MToyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBBZGQgYSBqcGVnIGRlcGF5bG9hZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzogKGdzdF9ydHBfanBlZ19kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9qcGVnX2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9qcGVnX2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9qcGVnX2RlcGF5X2ZpbmFsaXplKSwgKE1ha2VUYWJsZXMpLCAoTWFrZVF1YW50SGVhZGVyKSwKCSAgKE1ha2VIdWZmbWFuSGVhZGVyKSwgKE1ha2VEUklIZWFkZXIpLCAoTWFrZUhlYWRlcnMpLAoJICAoZ3N0X3J0cF9qcGVnX2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9qcGVnX2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF9qcGVnX2RlcGF5X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX2pwZWdfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5Lmg6CgkgIEFkZCBhIGpwZWcgZGVwYXlsb2FkZXIuCgkgICogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIFNldCB0aGUgZGVmYXVsdCBwcm9wZXJ0aWVzIG9uIHRoZSBwYXlsb2FkZXIgdG8gYmV0dGVyIGRlZmF1bHRzLgoKMjAwOC0xMS0xNCAxNTo0MjozMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL3Y0bDIvZ3N0djRsMi5jOiBHaXZlIGl0IGEgcHJpbWFyeSByYW5rIGZvciBhdXRvdmlkZW9zcmMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSAgR2l2ZSBpdCBhIHByaW1hcnkgcmFuayBmb3IgYXV0b3ZpZGVvc3JjLgoKMjAwOC0xMS0xNCAxMTo0MTo1NSArMDAwMCAgQmpvcm4gT3N0YnkgPGJqb3Jub3NAYXhpcy5jb20+CgoJICBnc3QvcnRwLzogQWRkIEpQRUcgcGF5bG9hZGVyLiBGaXhlcyAjNTYwNzU2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEJqb3JuIE9zdGJ5IDxiam9ybm9zIGF0IGF4aXMgZG90IGNvbT4KCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6IChnc3RfcnRwX2pwZWdfcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX2pwZWdfcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9qcGVnX3BheV9pbml0KSwKCSAgKGdzdF9ydHBfanBlZ19wYXlfc2V0Y2FwcyksIChnc3RfcnRwX2pwZWdfcGF5X2hlYWRlcl9zaXplKSwKCSAgKGdzdF9ydHBfanBlZ19wYXlfcmVhZF9xdWFudF90YWJsZSksCgkgIChnc3RfcnRwX2pwZWdfcGF5X3NjYW5fbWFya2VyKSwgKGdzdF9ydHBfanBlZ19wYXlfaGFuZGxlX2J1ZmZlciksCgkgIChnc3RfcnRwX2pwZWdfcGF5X3NldF9wcm9wZXJ0eSksIChnc3RfcnRwX2pwZWdfcGF5X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2pwZWdfcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuaDoKCSAgQWRkIEpQRUcgcGF5bG9hZGVyLiBGaXhlcyAjNTYwNzU2LgoKMjAwOC0xMS0xMyAxNzo0NTo1OSArMDAwMCAgRmFicmljaW8gR29kb3kgPHNrYXJsbG90QGdtYWlsLmNvbT4KCgkgIHN5cy86IEZpeCBzb21lIHNwZWxsaW5nIG1pc3Rha2VzLiBGaXhlcyAjNTU2ODAyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEZhYnJpY2lvIEdvZG95IDxza2FybGxvdCBhdCBnbWFpbCBkb3QgY29tPgoJICAqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOiAoZ3N0X29zc19zaW5rX29wZW4pOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6IChnc3Rfb3NzX3NyY19vcGVuKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19nZXRfbW1hcCk6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiAoZ3N0X3Y0bDJfZmlsbF9saXN0cyk6CgkgIEZpeCBzb21lIHNwZWxsaW5nIG1pc3Rha2VzLiBGaXhlcyAjNTU2ODAyLgoKMjAwOC0xMS0xMyAxNjoyNDo1OSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2VxdWFsaXplci86IEFkZCBwcmVzZXRzIGZvciBlcXVhbGl6ZXIuIEZpeGVzICM1MjIxODMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvR3N0SWlyRXF1YWxpemVyMTBCYW5kcy5wcnM6CgkgICogZ3N0L2VxdWFsaXplci9Hc3RJaXJFcXVhbGl6ZXIzQmFuZHMucHJzOgoJICAqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSAgQWRkIHByZXNldHMgZm9yIGVxdWFsaXplci4gRml4ZXMgIzUyMjE4My4KCjIwMDgtMTEtMTMgMTY6MTc6MzggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC86IFJlbW92ZSBnb29nbGUgZXh0ZW5zaW9uIGFnYWluLCBpdCdzIG5vdCBuZWVkZWQgYW55bW9yZSBiZWNhdXNlIHdlIG5ldmVyIHNlbmQgbXVsdGlwbGUgdHJhbnNwb3J0cyBhbnltb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRzcC9nc3RydHNwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcGdvb2dsZS5jOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3Bnb29nbGUuaDoKCSAgUmVtb3ZlIGdvb2dsZSBleHRlbnNpb24gYWdhaW4sIGl0J3Mgbm90IG5lZWRlZCBhbnltb3JlIGJlY2F1c2Ugd2UgbmV2ZXIKCSAgc2VuZCBtdWx0aXBsZSB0cmFuc3BvcnRzIGFueW1vcmUuCgoyMDA4LTExLTEzIDE2OjExOjE2ICswMDAwICBFcmljIFpoYW5nIDxjaGFvLnpoYW5nQGFjY2Vzcy1jb21wYW55LmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuKjogQWRkIHByb3BlcnR5IHRvIGNvbmZpZ3VyZSBOQVQgdHJhdmVyc2FsIG1ldGhvZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBFcmljIFpoYW5nIDxjaGFvLnpoYW5nIGF0IGFjY2Vzcy1jb21wYW55IGRvdCBjb20+CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BfbmF0X21ldGhvZF9nZXRfdHlwZSksCgkgIChnc3RfcnRzcHNyY19jbGFzc19pbml0KSwgKGdzdF9ydHNwc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRzcHNyY19nZXRfcHJvcGVydHkpLCAoZ3N0X3J0c3BzcmNfY3JlYXRlX3N0cmVhbSksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fZnJlZSksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3VkcF9zaW5rcyksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksCgkgIChnc3RfcnRzcHNyY19zZW5kX2R1bW15X3BhY2tldHMpLAoJICAoZ3N0X3J0c3BzcmNfY3JlYXRlX3RyYW5zcG9ydHNfc3RyaW5nKSwKCSAgKGdzdF9ydHNwc3JjX2hhbmRsZV9tZXNzYWdlKSwgKGdzdF9ydHNwc3JjX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBBZGQgcHJvcGVydHkgdG8gY29uZmlndXJlIE5BVCB0cmF2ZXJzYWwgbWV0aG9kLgoJICBJZ25vcmUgRU9TIGZyb20gdGhlIGludGVybmFsIHNpbmtzLgoJICBJbXBsZW1lbnQgc2VuZGluZyBkdW1teSBwYWNrZXRzIGFzIGEgKHNpbXBsZSkgbWV0aG9kIHRvIG9wZW4gdXAKCSAgc29tZSBmaXJld2FsbHMuCgkgIFNlbmQgUExBWSByZXF1ZXN0IHRvIHRoZSBzZXJ2ZXIgYWZ0ZXIgd2Ugc3RhcnRlZCB0aGUgdWRwIHNvdXJjZXMuCgkgIEZpeGVzICM1NTk1NDUuCgoyMDA4LTExLTEzIDE0OjA0OjQwICswMDAwICBZb3RhbSA8c2gueW90YW1AZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6IEZsdXNoIHRoZSByZW1haW5pbmcgZnJhbWVzIG9uIEVPUy4gRml4ZXMgIzU2MDY0MS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBZb3RhbSA8c2ggZG90IHlvdGFtIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6IChnc3RfcnRwX21wNHZfcGF5X2V2ZW50KToKCSAgRmx1c2ggdGhlIHJlbWFpbmluZyBmcmFtZXMgb24gRU9TLiBGaXhlcyAjNTYwNjQxLgoKMjAwOC0xMS0xMiAxNjozNzowNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzogRml4IGNvbXBpbGVyIHdhcm5pbmcgYWJvdXQgcHJpbnRmIGZvcm1hdHRpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOiAoZ3N0X3J0cF9nNzI5X3BheV9oYW5kbGVfYnVmZmVyKToKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmcgYWJvdXQgcHJpbnRmIGZvcm1hdHRpbmcuCgoyMDA4LTExLTEyIDExOjU1OjE0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4Lio6IFF1ZXVlIHVwIG5ldyBzZWdtZW50IGV2ZW50cyBpbnN0ZWFkIG9mIHNlbmRpbmcgdGhlbSBmcm9tIHRoZSBzZWVraW5nIHRocmVhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oIChzdHJ1Y3QgX0dzdFFURGVtdXgpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYyAoZ3N0X3F0ZGVtdXhfZG9fc2Vlayk6IFF1ZXVlIHVwIG5ldwoJICBzZWdtZW50IGV2ZW50cyBpbnN0ZWFkIG9mIHNlbmRpbmcgdGhlbSBmcm9tIHRoZSBzZWVraW5nIHRocmVhZC4KCSAgRml4ZXMgIzU1OTI4OC4KCSAgKGdzdF9xdGRlbXV4X3B1c2hfcGVuZGluZ19uZXdzZWdtZW50KTogTmV3IGhlbHBlciwgc2VuZHMgb3V0CgkgIHF1ZXVlZCBuZXdzZWdtZW50IGV2ZW50cy4KCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpOiBWb2lsw6AsIGNhbGwgaXQgaGVyZS4gT25seSBuZWVkIHRvCgkgIGNhbGwgaXQgaGVyZSwgYXMgd2Ugb25seSBzZWVrIHdoZW4gbG9vcGluZywgYW5kIG9ubHkgcHVzaCBpbiB0aGUKCSAgbW92aWUgc3RhdGUuCgoyMDA4LTExLTExIDE5OjUyOjA1ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9xdGRlbXV4LzogQWRkIGNvdmVyIGFuZCBhbHRlcm5hdGl2ZSBjb3B5cmlnaHQgdGFnLCBhbmQgZW5oYW5jZSBzb21lIGV4aXN0aW5nIG9uZXMgYnkgbWFya2luZyB0aGVtIGFzIGNvbnRhaW5lciBhdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3RhZ19hZGRfdG1wbyksCgkgIChxdGRlbXV4X3RhZ19hZGRfY292ciksIChxdGRlbXV4X3BhcnNlX3VkdGEpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5jOgoJICBBZGQgY292ZXIgYW5kIGFsdGVybmF0aXZlIGNvcHlyaWdodCB0YWcsIGFuZCBlbmhhbmNlIHNvbWUgZXhpc3RpbmcKCSAgb25lcyBieSBtYXJraW5nIHRoZW0gYXMgY29udGFpbmVyIGF0b21zLgoKMjAwOC0xMS0xMSAxNzozMzowMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOiBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRjYXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzogKGdzdF9ydHBfZzcyOV9wYXlfc2V0X2NhcHMpOgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRjYXBzLgoKMjAwOC0xMS0xMSAxNzoyOTowMyArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS4qOiBSZXBsYWNlIEc3MjkgcGF5bG9hZGVyIHdpdGggYW4gaW1wcm92ZWQgdmVyc2lvbi4gRml4ZXMgIzUzMjQwOS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzogKGdzdF9ydHBfZzcyOV9wYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfZzcyOV9wYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX2c3MjlfcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9nNzI5X3BheV9zZXRfY2FwcyksIChnc3RfcnRwX2c3MjlfcGF5X2hhbmRsZV9idWZmZXIpOgoJICAqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5oOgoJICBSZXBsYWNlIEc3MjkgcGF5bG9hZGVyIHdpdGggYW4gaW1wcm92ZWQgdmVyc2lvbi4gRml4ZXMgIzUzMjQwOS4KCjIwMDgtMTEtMTEgMTY6MDA6NDggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IE9ubHkgc2VuZCBvbmUgdHJhbnNwb3J0IGF0IGEgdGltZSBmb3IgaW1wcm92ZWQgY29tcGF0aWJpbGl0eSB3aXRoIHNvbWUgYnJva2VuIHNlcnZlcnMuIFNlZSAjNTMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfY3JlYXRlX3RyYW5zcG9ydHNfc3RyaW5nKSwKCSAgKGdzdF9ydHNwc3JjX2NoYW5nZV9zdGF0ZSk6CgkgIE9ubHkgc2VuZCBvbmUgdHJhbnNwb3J0IGF0IGEgdGltZSBmb3IgaW1wcm92ZWQgY29tcGF0aWJpbGl0eSB3aXRoIHNvbWUKCSAgYnJva2VuIHNlcnZlcnMuIFNlZSAjNTM3ODMyLgoKMjAwOC0xMS0xMSAxNToxNjozMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogT25seSBwYXVzZS9wbGF5IGluIHRoZSBzZWVrIGhhbmRsZXIgd2hlbiB0aGUgc291cmNlIHdhcyBwbGF5aW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19kb19zZWVrKSwKCSAgKGdzdF9ydHNwc3JjX3BlcmZvcm1fc2Vlayk6CgkgIE9ubHkgcGF1c2UvcGxheSBpbiB0aGUgc2VlayBoYW5kbGVyIHdoZW4gdGhlIHNvdXJjZSB3YXMgcGxheWluZy4KCSAgRml4ZXMgIzUyOTM3OS4KCjIwMDgtMTEtMTEgMTI6MTg6MjMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogRml4IG11eGluZyBvZiBEaXJhYyBzdHJlYW1zIGlmIHRoZSBpbnB1dCBhbHJlYWR5IGhhcyB0aGUgZm9ybWF0IHdlIG5lZWQsIGkuZS4gaXMgdGhlIG91dC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfbXV4X2hhbmRsZV9kaXJhY19wYWNrZXQpOgoJICBGaXggbXV4aW5nIG9mIERpcmFjIHN0cmVhbXMgaWYgdGhlIGlucHV0IGFscmVhZHkgaGFzIHRoZSBmb3JtYXQKCSAgd2UgbmVlZCwgaS5lLiBpcyB0aGUgb3V0cHV0IG9mIG1hdHJvc2thZGVtdXguCgoyMDA4LTExLTExIDEwOjA2OjAxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aW11eC5jOiBEb24ndCBzZWdmYXVsdCBvbiBzdHJpbmcgdHlwZWQgdGFncyBiZWluZyBOVUxMLiBGaXhlcyAjNTYwMTU1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBEb24ndCBzZWdmYXVsdCBvbiBzdHJpbmcgdHlwZWQgdGFncyBiZWluZyBOVUxMLiBGaXhlcyAjNTYwMTU1LgoKMjAwOC0xMS0xMCAxNjo0NDo0NSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IEZpeCBtYXBwaW5nIEFBQyBwcm9maWxlIHRvIE1hdHJvc2thIGNvZGVjIGlkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChhYWNfY29kZWNfZGF0YV90b19jb2RlY19pZCksCgkgIChnc3RfbWF0cm9za2FfbXV4X2F1ZGlvX3BhZF9zZXRjYXBzKToKCSAgRml4IG1hcHBpbmcgQUFDIHByb2ZpbGUgdG8gTWF0cm9za2EgY29kZWMgaWQuCgoyMDA4LTExLTEwIDE2OjM2OjA5ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogUmVmYWN0b3Igc29tZSByYXcgYXVkaW8gY2FwcyBidWlsZGluZywgYW5kIGhhbmRsZSA+MTYtYml0IGNhc2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF92aWRlb19jYXBzKSwgKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgIFJlZmFjdG9yIHNvbWUgcmF3IGF1ZGlvIGNhcHMgYnVpbGRpbmcsIGFuZCBoYW5kbGUgPjE2LWJpdCBjYXNlcy4KCSAgRml4L3JlcGxhY2UgYnVpbGRpbmcgY2FwcyBmcm9tIGEgc3RyaW5nIGRlc2NyaXB0aW9uLgoKMjAwOC0xMS0xMCAxMzo1OToyNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvOiBNYWtlIGF1dGhvciBuYW1lIGNvbnNpc3RlbnQgd2l0aCBvdGhlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6CgkgICogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSAgTWFrZSBhdXRob3IgbmFtZSBjb25zaXN0ZW50IHdpdGggb3RoZXJzLgoKMjAwOC0xMS0xMCAxMjoxMzoyMSArMDAwMCAgRXJpYyBaaGFuZyA8Y2hhby56aGFuZ0BhY2Nlc3MtY29tcGFueS5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFBhdXNlIHRoZSBSVFNQIHN0cmVhbSBiZWZvcmUgZG9pbmcgYSBuZXcgcGxheSByZXF1ZXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IEVyaWMgWmhhbmcgPGNoYW8uemhhbmcgYXQgYWNjZXNzLWNvbXBhbnkgZG90IGNvbT4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV91ZHBfc2luayk6CgkgIFBhdXNlIHRoZSBSVFNQIHN0cmVhbSBiZWZvcmUgZG9pbmcgYSBuZXcgcGxheSByZXF1ZXN0LgoJICBNYWtlIHN1cmUgdGhhdCBhZGRpbmcgdGhlIHVkcHNpbmtzIGRvZXMgbm90IGNhdXNlIHRoZSBydHNwc3JjIHRvIGJlY29tZQoJICBhIHNpbmsuIEZpeGVzICM1NTk1NDcuCgoyMDA4LTExLTA1IDE0OjQyOjM1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvOiBJbXBsZW1lbnQgRGlyYWMgbXV4aW5nIGludG8gTWF0cm9za2EgY29tZm9ybWluZyB0byB0aGUgc3BlYywgaS5lLiBwdXQgYWxsIERpcmFjIHBhY2thZ2VzIHVwIHRvIGEgcGljdHUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9wYWRfZnJlZSksCgkgIChnc3RfbWF0cm9za2FfbXV4X2hhbmRsZV9kaXJhY19wYWNrZXQpLAoJICAoZ3N0X21hdHJvc2thX211eF93cml0ZV9kYXRhKToKCSAgSW1wbGVtZW50IERpcmFjIG11eGluZyBpbnRvIE1hdHJvc2thIGNvbWZvcm1pbmcgdG8gdGhlIHNwZWMsIGkuZS4KCSAgcHV0IGFsbCBEaXJhYyBwYWNrYWdlcyB1cCB0byBhIHBpY3R1cmUgaW50byBhIE1hdHJvc2thIGJsb2NrLgoJICBUT0RPOiBJbXBsZW1lbnQgd3JpdGluZyBvZiB0aGUgUmVmZXJlbmNlQmxvY2sgTWF0cm9za2EgZWxlbWVudHMsCgkgIGN1cnJlbnRseSB0aGUgRGlyYWMgbXV4aW5nIGlzIG9ubHkgMTAwJSBjb3JyZWN0IGlmIE1hdHJvc2thIHZlcnNpb24gMgoJICBpcyBzZWxlY3RlZCBmb3IgbXV4aW5nLgoKMjAwOC0xMS0wNCAxMjozMjo0OCArMDAwMCAgQmFzdGllbiBOb2NlcmEgPGhhZGVzc0BoYWRlc3MubmV0PgoKCSAgT3B0aW9uYWxseSB1c2UgbGlidjRsIHRvIGFjY2VzcyB2NGwyIGRldmljZXMuIEZpeGVzIGJ1ZyAjNTQ1MDMzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEJhc3RpZW4gTm9jZXJhIDxoYWRlc3MgYXQgaGFkZXNzIGRvdCBuZXQ+LAoJICBIYW5zIGRlIEdvZWRlIDxqd3JkZWdvZWRlIGF0IGZlZG9yYXByb2plY3QgZG90IG9yZz4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfZ2V0X3JlYWQpOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogKGdzdF92NGwyX2dldF9jYXBhYmlsaXRpZXMpLAoJICAoZ3N0X3Y0bDJfZmlsbF9saXN0cyksIChnc3RfdjRsMl9vcGVuKSwgKGdzdF92NGwyX2Nsb3NlKSwKCSAgKGdzdF92NGwyX2dldF9ub3JtKSwgKGdzdF92NGwyX3NldF9ub3JtKSwgKGdzdF92NGwyX2dldF9mcmVxdWVuY3kpLAoJICAoZ3N0X3Y0bDJfc2V0X2ZyZXF1ZW5jeSksIChnc3RfdjRsMl9zaWduYWxfc3RyZW5ndGgpLAoJICAoZ3N0X3Y0bDJfZ2V0X2F0dHJpYnV0ZSksIChnc3RfdjRsMl9zZXRfYXR0cmlidXRlKSwKCSAgKGdzdF92NGwyX2dldF9pbnB1dCksIChnc3RfdjRsMl9zZXRfaW5wdXQpOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMl9idWZmZXJfZmluYWxpemUpLAoJICAoZ3N0X3Y0bDJfYnVmZmVyX25ldyksIChnc3RfdjRsMl9idWZmZXJfcG9vbF9maW5hbGl6ZSksCgkgIChnc3RfdjRsMl9idWZmZXJfcG9vbF9uZXcpLCAoZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfYWN0aXZhdGUpLAoJICAoZ3N0X3Y0bDJzcmNfZmlsbF9mb3JtYXRfbGlzdCksCgkgIChnc3RfdjRsMnNyY19wcm9iZV9jYXBzX2Zvcl9mb3JtYXRfYW5kX3NpemUpLAoJICAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0KSwgKGdzdF92NGwyc3JjX2dyYWJfZnJhbWUpLAoJICAoZ3N0X3Y0bDJzcmNfc2V0X2NhcHR1cmUpLCAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9pbml0KSwKCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfc3RhcnQpLCAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9zdG9wKSwKCSAgKGdzdF92NGwyc3JjX2dldF9uZWFyZXN0X3NpemUpOgoJICBPcHRpb25hbGx5IHVzZSBsaWJ2NGwgdG8gYWNjZXNzIHY0bDIgZGV2aWNlcy4gRml4ZXMgYnVnICM1NDUwMzMuCgoyMDA4LTExLTA0IDEyOjI4OjM0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciAtZ29vZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FhbGliL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbm5vZGV4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9jYWlyby9NYWtlZmlsZS5hbToKCSAgKiBleHQvZHYvTWFrZWZpbGUuYW06CgkgICogZXh0L2VzZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmxhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ2NvbmYvTWFrZWZpbGUuYW06CgkgICogZXh0L2dka19waXhidWYvTWFrZWZpbGUuYW06CgkgICogZXh0L2hhbC9NYWtlZmlsZS5hbToKCSAgKiBleHQvanBlZy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJjYWNhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJtbmcvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYnBuZy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbWlrbW9kL01ha2VmaWxlLmFtOgoJICAqIGV4dC9wdWxzZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvcmF3MTM5NC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc2hvdXQyL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zb3VwL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zcGVleC9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFnbGliL01ha2VmaWxlLmFtOgoJICAqIGV4dC93YXZwYWNrL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hbHBoYS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXBldGFnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdXBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdXRvZGV0ZWN0L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdmkvTWFrZWZpbGUuYW06CgkgICogZ3N0L2N1dHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVidWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L2VmZmVjdHYvTWFrZWZpbGUuYW06CgkgICogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmx4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9nb29tL01ha2VmaWxlLmFtOgoJICAqIGdzdC9nb29tMmsxL01ha2VmaWxlLmFtOgoJICAqIGdzdC9pY3lkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaWQzZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ludGVybGVhdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2xhdy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbGV2ZWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L21hdHJvc2thL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tZWRpYW4vTWFrZWZpbGUuYW06CgkgICogZ3N0L21vbm9zY29wZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXVsdGlmaWxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdWx0aXBhcnQvTWFrZWZpbGUuYW06CgkgICogZ3N0L29sZGNvcmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3F0ZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L3JlcGxheWdhaW4vTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRzcC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc21wdGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJICAqIGdzdC91ZHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvYm94L01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2Nyb3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvZmlsdGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC93YXZlbmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3dhdnBhcnNlL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kaXJlY3RkcmF3L01ha2VmaWxlLmFtOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3NzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3hhdWRpby9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06CgkgICogc3lzL3N1bmF1ZGlvL01ha2VmaWxlLmFtOgoJICAqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJICAqIHN5cy93YXZlZm9ybS9NYWtlZmlsZS5hbToKCSAgKiBzeXMveGltYWdlL01ha2VmaWxlLmFtOgoJICBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciAtZ29vZC4KCjIwMDgtMTAtMzEgMTg6MTc6NTAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9mbGFjL01ha2VmaWxlLmFtOiBJbmNsdWRlICQoRkxBQ19DRkxBR1MpIGluIENGTEFHUyB0byBtYWtlIHN1cmUgdG8gZmluZCB0aGUgRkxBQyBoZWFkZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9NYWtlZmlsZS5hbToKCSAgSW5jbHVkZSAkKEZMQUNfQ0ZMQUdTKSBpbiBDRkxBR1MgdG8gbWFrZSBzdXJlIHRvIGZpbmQgdGhlIEZMQUMgaGVhZGVycy4KCSAgVGhpcyBmaXhlcyBjb21waWxhdGlvbiBpZiBGTEFDIGlzIGluc3RhbGxlZCBpbiBhbiB1bmNvbW1vbiBsb2NhdGlvbgoJICB0aGF0IGlzIG5vdCBhbHJlYWR5IGhhbmRsZWQgYnkgb3RoZXIgQ0ZMQUdTLiBGaXhlcyBidWcgIzU1ODcxMS4KCjIwMDgtMTAtMzEgMTA6MDg6NTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IEd1YXJkIG1vcmUgdW5jb21tb24gZm9ybWF0cyB3aXRoIGlmZGVmcyBzbyB0aGF0IHdlIGNhbiBjb21waWxlIG9uIG9sZGVyIHZlcnNpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19mb3JtYXRfZ2V0X3JhbmspOgoJICBHdWFyZCBtb3JlIHVuY29tbW9uIGZvcm1hdHMgd2l0aCBpZmRlZnMgc28gdGhhdCB3ZSBjYW4gY29tcGlsZSBvbiBvbGRlcgoJICB2ZXJzaW9ucy4KCjIwMDgtMTAtMzEgMTA6MDA6MTggKzAwMDAgIE5pY2sgSGFkZGFkIDxuaWNrQGhhZGRhZHMubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBJbnZlcnQgb3RoZXIgdW5jb21wcmVzc2VkIFJHQiBmb3JtYXRzLiBGaXhlcyAjNTU4NTU0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE5pY2sgSGFkZGFkIDxuaWNrIGF0IGhhZGRhZHMgZG90IG5ldD4KCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2lzX3VuY29tcHJlc3NlZCksCgkgIChnc3RfYXZpX2RlbXV4X2ludmVydCksIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9kYXRhKToKCSAgSW52ZXJ0IG90aGVyIHVuY29tcHJlc3NlZCBSR0IgZm9ybWF0cy4gRml4ZXMgIzU1ODU1NC4KCjIwMDgtMTAtMzAgMTU6MDg6NDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLio6IEFkZCBzdXBwb3J0IGZvciBmbG9hdC9kb3VibGUgYXMgaW5wdXQgYW5kIHJlbW92ZSB0aGUgKG5vd2FkYXlzKSB1c2VsZXNzIHBhcnNpbmcgb2YgdGhlIGRlcHRoIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiAoZ3N0X3dhdmVuY19jcmVhdGVfaGVhZGVyX2J1ZiksCgkgIChnc3Rfd2F2ZW5jX3Npbmtfc2V0Y2FwcyksIChnc3Rfd2F2ZW5jX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIGZsb2F0L2RvdWJsZSBhcyBpbnB1dCBhbmQgcmVtb3ZlIHRoZSAobm93YWRheXMpCgkgIHVzZWxlc3MgcGFyc2luZyBvZiB0aGUgZGVwdGggYXMgd2UgcmVxdWlyZSB3aWR0aD09ZGVwdGguCgoyMDA4LTEwLTMwIDEwOjMxOjM1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IE5hcnJvdyBkb3duIHRoZSBjYXBzIG9mIHRoZSBtcGVnIGF1ZGlvIHBheS9kZXBheWxvYWRlcnMgdG8gb25seSBhY2NlcHQgbXBlZyB2ZXJzaW9uIDEuIEZpeGVzICM1NTg0MjcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzogKGdzdF9ydHBfbXBhX2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkgIE5hcnJvdyBkb3duIHRoZSBjYXBzIG9mIHRoZSBtcGVnIGF1ZGlvIHBheS9kZXBheWxvYWRlcnMgdG8gb25seSBhY2NlcHQKCSAgbXBlZyB2ZXJzaW9uIDEuIEZpeGVzICM1NTg0MjcuCgoyMDA4LTEwLTI5IDE4OjI4OjI1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzogT25seSBwdXQgYW4gaW50ZWdyYWwgYW1vdW50IG9mIHNhbXBsZXMgaW4gdGhlIFJUUCBwYWNrZXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6IChnc3RfcnRwX0wxNl9wYXlfZmx1c2gpLAoJICAoZ3N0X3J0cF9MMTZfcGF5X2dldGNhcHMpOgoJICBPbmx5IHB1dCBhbiBpbnRlZ3JhbCBhbW91bnQgb2Ygc2FtcGxlcyBpbiB0aGUgUlRQIHBhY2tldC4KCSAgRml4ZXMgIzU1NjY0MS4KCjIwMDgtMTAtMjggMTc6NDI6MDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGNoYW5uZWxzLio6IEFkZCBtZXRob2QgdG8gZ2V0IHBvc3NpYmxlIGNoYW5uZWwgcG9zaXRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGNoYW5uZWxzLmM6IChnc3RfcnRwX2NoYW5uZWxzX2dldF9ieV9pbmRleCk6CgkgICogZ3N0L3J0cC9nc3RydHBjaGFubmVscy5oOgoJICBBZGQgbWV0aG9kIHRvIGdldCBwb3NzaWJsZSBjaGFubmVsIHBvc2l0aW9ucy4KCjIwMDgtMTAtMjggMTc6Mzk6NDggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL01ha2VmaWxlLmFtOiBBbHNvIGNvbW1pdCB1cGRhdGVkIG1ha2VmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgIEFsc28gY29tbWl0IHVwZGF0ZWQgbWFrZWZpbGUKCjIwMDgtMTAtMjggMTQ6NTY6MDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IERvbid0IGFsbG93IHdpZHRoPTMyLGRlcHRoPTI0IGFzIGlucHV0LiBXQVYgcmVxdWlyZXMgdGhhdCB0aGUgd2lkdGggaXMgdGhlIG5leHQgaW50ZWdlciBtdWx0aS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiAoZ3N0X3dhdmVuY19jaGFpbik6CgkgIERvbid0IGFsbG93IHdpZHRoPTMyLGRlcHRoPTI0IGFzIGlucHV0LiBXQVYgcmVxdWlyZXMgdGhhdCB0aGUgd2lkdGgKCSAgaXMgdGhlIG5leHQgaW50ZWdlciBtdWx0aXBseSBvZiA4IGZyb20gdGhlIGRlcHRoLgoKMjAwOC0xMC0yOCAxMDowMTo0OSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBBZGQgbWFwcGluZ3MgZm9yIG11bHRpY2hhbm5lbCBzdXBwb3J0LiBEb2VzIG5vdCBjb21wbGV0ZWx5IGp1c3Qgd29yayBiZWNhdXNlIHRoZSBnZXRjYXBzIGZ1bmN0aW9uIGRvZXMgbm90IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6IChnc3RfcnRwX0wxNl9kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOiAoZ3N0X3J0cF9MMTZfcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9MMTZfcGF5X2dldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwY2hhbm5lbHMuYzogKGNoZWNrX2NoYW5uZWxzKSwKCSAgKGdzdF9ydHBfY2hhbm5lbHNfZ2V0X2J5X3BvcyksIChnc3RfcnRwX2NoYW5uZWxzX2dldF9ieV9vcmRlciksCgkgIChnc3RfcnRwX2NoYW5uZWxzX2NyZWF0ZV9kZWZhdWx0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGNoYW5uZWxzLmg6CgkgIEFkZCBtYXBwaW5ncyBmb3IgbXVsdGljaGFubmVsIHN1cHBvcnQuIERvZXMgbm90IGNvbXBsZXRlbHkganVzdCB3b3JrCgkgIGJlY2F1c2UgdGhlIGdldGNhcHMgZnVuY3Rpb24gZG9lcyBub3QgeWV0IHJldHVybiB0aGUgYWxsb3dlZCBjaGFubmVsCgkgIG1hcHBpbmdzLiBTZWUgIzU1NjY0MS4KCjIwMDgtMTAtMjggMDY6NTA6NTcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9nb29tLzogQWRkIGxpY2Vuc2UgaGVhZGVycyBpbiBhbGwgc291cmNlIGZpbGVzLiBSZW1vdmUgZmlsdGVyLmMgZnJvbQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ29vbS9SRUFETUU6CgkgICogZ3N0L2dvb20vY29uZmlnX3BhcmFtLmM6CgkgICogZ3N0L2dvb20vY29udm9sdmVfZnguYzoKCSAgKiBnc3QvZ29vbS9kcmF3bWV0aG9kcy5jOgoJICAqIGdzdC9nb29tL2RyYXdtZXRob2RzLmg6CgkgICogZ3N0L2dvb20vZmlsdGVycy5jOgoJICAqIGdzdC9nb29tL2ZpbHRlcnNfbW14LnM6CgkgICogZ3N0L2dvb20vZmx5aW5nX3N0YXJzX2Z4LmM6CgkgICogZ3N0L2dvb20vZ29vbS5oOgoJICAqIGdzdC9nb29tL2dvb21fY29uZmlnLmg6CgkgICogZ3N0L2dvb20vZ29vbV9jb25maWdfcGFyYW0uaDoKCSAgKiBnc3QvZ29vbS9nb29tX2NvcmUuYzoKCSAgKiBnc3QvZ29vbS9nb29tX2ZpbHRlcnMuaDoKCSAgKiBnc3QvZ29vbS9nb29tX2Z4Lmg6CgkgICogZ3N0L2dvb20vZ29vbV9ncmFwaGljLmg6CgkgICogZ3N0L2dvb20vZ29vbV9wbHVnaW5faW5mby5oOgoJICAqIGdzdC9nb29tL2dvb21fdG9vbHMuYzoKCSAgKiBnc3QvZ29vbS9nb29tX3Rvb2xzLmg6CgkgICogZ3N0L2dvb20vZ29vbV90eXBlZGVmcy5oOgoJICAqIGdzdC9nb29tL2dvb21fdmlzdWFsX2Z4Lmg6CgkgICogZ3N0L2dvb20vZ3JhcGhpYy5jOgoJICAqIGdzdC9nb29tL2lmcy5jOgoJICAqIGdzdC9nb29tL2lmcy5oOgoJICAqIGdzdC9nb29tL2xpbmVzLmM6CgkgICogZ3N0L2dvb20vbGluZXMuaDoKCSAgKiBnc3QvZ29vbS9tYXRodG9vbHMuYzoKCSAgKiBnc3QvZ29vbS9tYXRodG9vbHMuaDoKCSAgKiBnc3QvZ29vbS9tbXguYzoKCSAgKiBnc3QvZ29vbS9tb3RpZl9nb29tMS5oOgoJICAqIGdzdC9nb29tL21vdGlmX2dvb20yLmg6CgkgICogZ3N0L2dvb20vcGx1Z2luX2luZm8uYzoKCSAgKiBnc3QvZ29vbS9wcGNfZHJhd2luZ3MuaDoKCSAgKiBnc3QvZ29vbS9wcGNfem9vbV91bHRpbWF0ZS5oOgoJICAqIGdzdC9nb29tL3NvdW5kX3Rlc3Rlci5jOgoJICAqIGdzdC9nb29tL3NvdW5kX3Rlc3Rlci5oOgoJICAqIGdzdC9nb29tL3N1cmYzZC5jOgoJICAqIGdzdC9nb29tL3N1cmYzZC5oOgoJICAqIGdzdC9nb29tL3RlbnRhY2xlM2QuYzoKCSAgKiBnc3QvZ29vbS90ZW50YWNsZTNkLmg6CgkgICogZ3N0L2dvb20vdjNkLmM6CgkgICogZ3N0L2dvb20vdjNkLmg6CgkgICogZ3N0L2dvb20veG1teC5jOgoJICBBZGQgbGljZW5zZSBoZWFkZXJzIGluIGFsbCBzb3VyY2UgZmlsZXMuIFJlbW92ZSBmaWx0ZXIuYyBmcm9tCgkgIEVYVFJBX0RJU1QsIGFzIGl0cyBpbiBTT1VSQ0VTIGFscmVhZHkuIE1lbnRpb24gdGhlIGZpbGVzIGluIHRoZSBSRURNRQoJICB3aGljaCBhcmUgbm90IHVzZWQgcmlnaHQgbm93LiBGaXhlcyAjNTU3NzA5LgoKMjAwOC0xMC0yNyAxMToyODozMCArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6IEltcGxlbWVudCBnZXRjYXBzIGluIHJ0cEwxNnBheS4gRml4ZXMgIzU1NjQ4NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOiAoZ3N0X3J0cF9MMTZfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9MMTZfcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9MMTZfcGF5X2dldGNhcHMpOgoJICBJbXBsZW1lbnQgZ2V0Y2FwcyBpbiBydHBMMTZwYXkuIEZpeGVzICM1NTY0ODQuCgoyMDA4LTEwLTI3IDExOjAzOjUzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOiBDaGVjayBpZiBjbG9jay1yYXRlIGFuZCBjaGFubmVscyBhcmUgdmFsaWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzogKGdzdF9ydHBfTDE2X2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9MMTZfZGVwYXlfcHJvY2Vzcyk6CgkgIENoZWNrIGlmIGNsb2NrLXJhdGUgYW5kIGNoYW5uZWxzIGFyZSB2YWxpZC4KCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0Y2Fwcy4KCSAgTm8gbmVlZCB0byB2YWxpZGF0ZSB0aGUgYnVmZmVyLCB0aGUgYmFzZSBjbGFzcyBkb2VzIHRoYXQgZm9yIHVzLgoJICBVc2UgdGhlIG1hcmtlciBiaXQgdG8gc2V0IHRoZSBESVNDT05UIGZsYWcgb24gb3V0Z29pbmcgYnVmZmVycy4KCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOiAoZ3N0X3J0cF9MMTZfcGF5X3NldGNhcHMpOgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRfb3V0Y2Fwcy4KCSAgKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6IChnc3RfcnRwX2FjM19kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfYWMzX2RlcGF5X3Byb2Nlc3MpOgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRfY2Fwcy4KCSAgTm8gbmVlZCB0byB2YWxpZGF0ZSB0aGUgYnVmZmVyLCB0aGUgYmFzZSBjbGFzcyBkb2VzIHRoYXQgZm9yIHVzLgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzogKGdzdF9ydHBfYW1yX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9hbXJfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5oOgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRjYXBzLgoJICBObyBuZWVkIHRvIHZhbGlkYXRlIHRoZSBidWZmZXIsIHRoZSBiYXNlIGNsYXNzIGRvZXMgdGhhdCBmb3IgdXMuCgkgIE5vIG5lZWQgdG8gc2V0IG91dHB1dCBjYXBzIG9uIHRoZSBidWZmZXJzLCB0aGUgYmFzZSBjbGFzcyBkb2VzIHRoYXQgZm9yCgkgIHVzLgoJICBUaGUgc3ViY2xhc3Mgd2lsbCBtYWtlIHN1cmUgd2UgYXJlIG5lZ290aWF0ZWQuCgkgICogZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmM6IChnc3RfcnRwX2R2X2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9kdl9kZXBheV9wcm9jZXNzKSwgKGdzdF9ydHBfZHZfZGVwYXlfcmVzZXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5oOgoJICBDbGVhbiB1cCBjYXBzIG5lZ290aWF0aW9uLgoJICBUaGUgc3ViY2xhc3Mgd2lsbCBtYWtlIHN1cmUgd2UgYXJlIG5lZ290aWF0ZWQuCgkgICogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzogKGdzdF9ydHBfZzcyNl9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfZzcyNl9kZXBheV9wcm9jZXNzKToKCSAgQ2xlYW4gdXAgY2FwcyBuZWdvdGlhdGlvbi4KCSAgVXNlIHRoZSBtYXJrZXIgYml0IHRvIHNldCB0aGUgRElTQ09OVCBmbGFnIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgICogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzogKGdzdF9ydHBfZzcyOV9kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfZzcyOV9kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfZzcyOV9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5oOgoJICBUaGUgc3ViY2xhc3Mgd2lsbCBtYWtlIHN1cmUgd2UgYXJlIG5lZ290aWF0ZWQuCgkgIFVzZSB0aGUgbWFya2VyIGJpdCB0byBzZXQgdGhlIERJU0NPTlQgZmxhZyBvbiBvdXRnb2luZyBidWZmZXJzLgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzogKGdzdF9ydHBfZ3NtX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9nc21fZGVwYXlfcHJvY2Vzcyk6CgkgIENsZWFuIHVwIGNhcHMgbmVnb3RpYXRpb24uCgkgIFVzZSB0aGUgbWFya2VyIGJpdCB0byBzZXQgdGhlIERJU0NPTlQgZmxhZyBvbiBvdXRnb2luZyBidWZmZXJzLgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6IChnc3RfcnRwX2dzbV9wYXlfc2V0Y2Fwcyk6CgkgIENsZWFuIHVwIGNhcHMgbmVnb3RpYXRpb24uCgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldF9vdXRjYXBzLgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6IChnc3RfcnRwX2gyNjNfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX2gyNjNfZGVwYXlfcHJvY2Vzcyk6CgkgIENsZWFuIHVwIGNhcHMgbmVnb3RpYXRpb24uCgkgIE5vIG5lZWQgdG8gdmFsaWRhdGUgdGhlIGJ1ZmZlciwgdGhlIGJhc2UgY2xhc3MgZG9lcyB0aGF0IGZvciB1cy4KCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzogKGdzdF9ydHBfaDI2M19wYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX2gyNjNfcGF5X2ZsdXNoKSwgKGdzdF9ydHBfaDI2M19wYXlfaGFuZGxlX2J1ZmZlcik6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGF5Lmg6CgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldF9vdXRjYXBzLgoJICBEbyBzb21lIG1vcmUgdGltZXN0YW1wcy4KCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzogKGdzdF9ydHBfaDI2M3BfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX2gyNjNwX2RlcGF5X3Byb2Nlc3MpOgoJICBDbGVhbiB1cCBjYXBzIG5lZ290aWF0aW9uLgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRjYXBzLgoJICBObyBuZWVkIHRvIHZhbGlkYXRlIHRoZSBidWZmZXIsIHRoZSBiYXNlIGNsYXNzIGRvZXMgdGhhdCBmb3IgdXMuCgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOiAoZ3N0X3J0cF9oMjYzcF9wYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2gyNjNwX3BheV9zZXRjYXBzKSwgKGdzdF9ydHBfaDI2M3BfcGF5X2ZsdXNoKSwKCSAgKGdzdF9ydHBfaDI2M3BfcGF5X2hhbmRsZV9idWZmZXIpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuaDoKCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0X291dGNhcHMuCgkgIERvIHNvbWUgbW9yZSB0aW1lc3RhbXBzLgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6IChnc3RfcnRwX2gyNjRfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX2gyNjRfZGVwYXlfcHJvY2Vzcyk6CgkgIENsZWFuIHVwIGNhcHMgbmVnb3RpYXRpb24uCgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldGNhcHMuCgkgIEZpeCBwb3NzaWJsZSBjYXBzIGxlYWsuCgkgIE5vIG5lZWQgdG8gdmFsaWRhdGUgdGhlIGJ1ZmZlciwgdGhlIGJhc2UgY2xhc3MgZG9lcyB0aGF0IGZvciB1cy4KCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzogKGdzdF9ydHBfaDI2NF9wYXlfc2V0Y2Fwcyk6CgkgIEFkZCBzb21lIG1vcmUgZGVidWcgaW5mby4KCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOiAoZ3N0X3J0cF9pbGJjX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9pbGJjX2RlcGF5X3Byb2Nlc3MpOgoJICBDbGVhbiB1cCBjYXBzIG5lZ290aWF0aW9uLgoJICBVc2UgdGhlIG1hcmtlciBiaXQgdG8gc2V0IHRoZSBESVNDT05UIGZsYWcgb24gb3V0Z29pbmcgYnVmZmVycy4KCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzogKGdzdF9ydHBpbGJjcGF5X3Npbmtfc2V0Y2Fwcyk6CgkgIENsZWFuIHVwIGNhcHMgbmVnb3RpYXRpb24uCgkgICogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuYzogKGdzdF9ydHBfbXAxc19kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfbXAxc19kZXBheV9wcm9jZXNzKToKCSAgQ2xlYW4gdXAgY2FwcyBuZWdvdGlhdGlvbi4KCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0Y2Fwcy4KCSAgTm8gbmVlZCB0byB2YWxpZGF0ZSB0aGUgYnVmZmVyLCB0aGUgYmFzZSBjbGFzcyBkb2VzIHRoYXQgZm9yIHVzLgoJICBObyBuZWVkIHRvIHNldCBjYXBzIG9uIGJ1ZmZlcnMsIHN1YmNsYXNzIGRvZXMgdGhhdCBmb3IgdXMuCgkgICogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzogKGdzdF9ydHBfbXAydF9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfbXAydF9kZXBheV9wcm9jZXNzKToKCSAgQ2xlYW4gdXAgY2FwcyBuZWdvdGlhdGlvbi4KCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0Y2Fwcy4KCSAgTm8gbmVlZCB0byB2YWxpZGF0ZSB0aGUgYnVmZmVyLCB0aGUgYmFzZSBjbGFzcyBkb2VzIHRoYXQgZm9yIHVzLgoJICBObyBuZWVkIHRvIHNldCBjYXBzIG9uIGJ1ZmZlcnMsIHN1YmNsYXNzIGRvZXMgdGhhdCBmb3IgdXMuCgkgICogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzogKGdzdF9ydHBfbXA0YV9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfbXA0YV9kZXBheV9wcm9jZXNzKToKCSAgQ2xlYW4gdXAgY2FwcyBuZWdvdGlhdGlvbi4KCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0Y2Fwcy4KCSAgTm8gbmVlZCB0byB2YWxpZGF0ZSB0aGUgYnVmZmVyLCB0aGUgYmFzZSBjbGFzcyBkb2VzIHRoYXQgZm9yIHVzLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOiAoZ3N0X3J0cF9tcDRhX3BheV9uZXdfY2FwcyksCgkgIChnc3RfcnRwX21wNGFfcGF5X3NldGNhcHMpOgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRfb3V0Y2Fwcy4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOiAoZ3N0X3J0cF9tcDRnX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9tcDRnX2RlcGF5X3Byb2Nlc3MpOgoJICBDbGVhbiB1cCBjYXBzIG5lZ290aWF0aW9uLgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRjYXBzLgoJICBObyBuZWVkIHRvIHZhbGlkYXRlIHRoZSBidWZmZXIsIHRoZSBiYXNlIGNsYXNzIGRvZXMgdGhhdCBmb3IgdXMuCgkgIE5vIG5lZWQgdG8gc2V0IGNhcHMgb24gYnVmZmVycywgc3ViY2xhc3MgZG9lcyB0aGF0IGZvciB1cy4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzogKGdzdF9ydHBfbXA0Z19wYXlfZmluYWxpemUpLAoJICAoZ3N0X3J0cF9tcDRnX3BheV9uZXdfY2FwcyksIChnc3RfcnRwX21wNGdfcGF5X3NldGNhcHMpOgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRfb3V0Y2Fwcy4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOiAoZ3N0X3J0cF9tcDR2X2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9tcDR2X2RlcGF5X3Byb2Nlc3MpOgoJICBDbGVhbiB1cCBjYXBzIG5lZ290aWF0aW9uLgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRjYXBzLgoJICBObyBuZWVkIHRvIHZhbGlkYXRlIHRoZSBidWZmZXIsIHRoZSBiYXNlIGNsYXNzIGRvZXMgdGhhdCBmb3IgdXMuCgkgIE5vIG5lZWQgdG8gc2V0IGNhcHMgb24gYnVmZmVycywgc3ViY2xhc3MgZG9lcyB0aGF0IGZvciB1cy4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzogKGdzdF9ydHBfbXA0dl9wYXlfbmV3X2NhcHMpLAoJICAoZ3N0X3J0cF9tcDR2X3BheV9zZXRjYXBzKToKCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0X291dGNhcHMuCgkgICogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOiAoZ3N0X3J0cF9tcGFfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX21wYV9kZXBheV9wcm9jZXNzKToKCSAgQ2xlYW4gdXAgY2FwcyBuZWdvdGlhdGlvbi4KCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0Y2Fwcy4KCSAgTm8gbmVlZCB0byB2YWxpZGF0ZSB0aGUgYnVmZmVyLCB0aGUgYmFzZSBjbGFzcyBkb2VzIHRoYXQgZm9yIHVzLgoJICBVc2UgdGhlIG1hcmtlciBiaXQgdG8gc2V0IHRoZSBESVNDT05UIGZsYWcgb24gb3V0Z29pbmcgYnVmZmVycy4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOiAoZ3N0X3J0cF9tcGFfcGF5X3NldGNhcHMpOgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRfb3V0Y2Fwcy4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6IChnc3RfcnRwX21wdl9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfbXB2X2RlcGF5X3Byb2Nlc3MpOgoJICBDbGVhbiB1cCBjYXBzIG5lZ290aWF0aW9uLgoJICBBY3R1YWxseSBzZXQgb3V0cHV0IGNhcHMuCgkgIE5vIG5lZWQgdG8gdmFsaWRhdGUgdGhlIGJ1ZmZlciwgdGhlIGJhc2UgY2xhc3MgZG9lcyB0aGF0IGZvciB1cy4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOiAoZ3N0X3J0cF9tcHZfcGF5X3NldGNhcHMpOgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRfb3V0Y2Fwcy4KCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOiAoZ3N0X3J0cF9wY21hX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9wY21hX2RlcGF5X3Byb2Nlc3MpOgoJICBDbGVhbiB1cCBjYXBzIG5lZ290aWF0aW9uLgoJICBTZXQgb3V0cHV0IGJ1ZmZlciBkdXJhdGlvbiBiZWNhdXNlIHdlIGNhbi4KCSAgVXNlIHRoZSBtYXJrZXIgYml0IHRvIHNldCB0aGUgRElTQ09OVCBmbGFnIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgICogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6IChnc3RfcnRwX3BjbWFfcGF5X3NldGNhcHMpOgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRfb3V0Y2Fwcy4KCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOiAoZ3N0X3J0cF9wY211X2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9wY211X2RlcGF5X3Byb2Nlc3MpOgoJICBDbGVhbiB1cCBjYXBzIG5lZ290aWF0aW9uLgoJICBVc2UgdGhlIG1hcmtlciBiaXQgdG8gc2V0IHRoZSBESVNDT05UIGZsYWcgb24gb3V0Z29pbmcgYnVmZmVycy4KCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzogKGdzdF9ydHBfcGNtdV9wYXlfc2V0Y2Fwcyk6CgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldF9vdXRjYXBzLgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOiAoZ3N0X3J0cF9zcGVleF9kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfc3BlZXhfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX3NwZWV4X2RlcGF5X3Byb2Nlc3MpOgoJICBDbGVhbiB1cCBjYXBzIG5lZ290aWF0aW9uLgoJICBTZXQgb3V0cHV0IGNhcHMgb24gdGhlIHBhZCBhbmQgaGVhZGVyIGJ1ZmZlcnMuCgkgIFNldCBkdXJhdGlvbiBvbiBvdXRwdXQgYnVmZmVycyBiZWNhdXNlIHdlIGNhbi4KCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6IChnc3RfcnRwX3NwZWV4X3BheV9wYXJzZV9pZGVudCk6CgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldF9vdXRjYXBzLgoJICAqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6IChnc3RfcnRwX3N2M3ZfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX3N2M3ZfZGVwYXlfcHJvY2Vzcyk6CgkgIENsZWFuIHVwIGNhcHMgbmVnb3RpYXRpb24uCgkgIE5vIG5lZWQgdG8gdmFsaWRhdGUgdGhlIGJ1ZmZlciwgdGhlIGJhc2UgY2xhc3MgZG9lcyB0aGF0IGZvciB1cy4KCSAgTm8gbmVlZCB0byBzZXQgY2FwcyBvdXQgb3V0cHV0IGJ1ZmZlcnMsIHN1YmNsYXNzIGRvZXMgdGhhdC4KCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6IChnc3RfcnRwX3RoZW9yYV9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfdGhlb3JhX2RlcGF5X3Byb2Nlc3MpOgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRjYXBzLgoJICBObyBuZWVkIHRvIHZhbGlkYXRlIHRoZSBidWZmZXIsIHRoZSBiYXNlIGNsYXNzIGRvZXMgdGhhdCBmb3IgdXMuCgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzogKGdzdF9ydHBfdGhlb3JhX3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfdGhlb3JhX3BheV9mbHVzaF9wYWNrZXQpLCAoZW5jb2RlX2Jhc2U2NCksCgkgIChnc3RfcnRwX3RoZW9yYV9wYXlfZmluaXNoX2hlYWRlcnMpLCAoZ3N0X3J0cF90aGVvcmFfcGF5X3BhcnNlX2lkKSwKCSAgKGdzdF9ydHBfdGhlb3JhX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0X291dGNhcHMuCgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOiAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX3ZvcmJpc19kZXBheV9wcm9jZXNzKToKCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0Y2Fwcy4KCSAgTm8gbmVlZCB0byB2YWxpZGF0ZSB0aGUgYnVmZmVyLCB0aGUgYmFzZSBjbGFzcyBkb2VzIHRoYXQgZm9yIHVzLgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6IChnc3RfcnRwX3ZvcmJpc19wYXlfZmluaXNoX2hlYWRlcnMpOgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRfb3V0Y2Fwcy4KCSAgKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOiAoZ3N0X3J0cF92cmF3X2RlcGF5X3NldGNhcHMpOgoJICBDbGVhbiB1cCBjYXBzIG5lZ290aWF0aW9uLCBkb24ndCBpZ25vcmUgc2V0Y2FwcyByZXR1cm4uCgkgICogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6IChnc3RfcnRwX3ZyYXdfcGF5X3NldGNhcHMpOgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRfb3V0Y2Fwcy4KCjIwMDgtMTAtMjcgMTA6MzU6MDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogRm9yd2FyZCB1bmtub3duIGV2ZW50cyB1cHN0cmVhbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NyY19ldmVudCk6CgkgIEZvcndhcmQgdW5rbm93biBldmVudHMgdXBzdHJlYW0uCgoyMDA4LTEwLTI3IDEwOjMzOjIwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvaWN5ZGVtdXguYzogQWRkIHNvbWUgcmVmY291bnQgY2hlY2sKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaWN5ZGVtdXguYzogKGljeWRlbXV4X2ZvdW5kX3BhZCk6CgkgIEFkZCBzb21lIHJlZmNvdW50IGNoZWNrCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzogKHJ0cF9waXBlbGluZV9ydW4pOgoJICBEb24ndCBpZ25vcmUgdGhlIHJlc3VsdCBvZiB3cml0ZSgpLCBmaXhlcyBhICBjb21waWxlciB3YXJuaW5nIGZvciBtZS4KCSAgKiB0ZXN0cy9pY2xlcy92aWRlb2JveC10ZXN0LmM6IChtYWluKToKCSAgTWFrZSB0aGUgb3V0cHV0IGEgbGl0dGxlIG1vcmUgcHJldHR5LgoKMjAwOC0xMC0yNyAwOToyNjoxOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2VzZC9lc2Rtb24uYzogQWRkIGRvYyBibG9iLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZXNkL2VzZG1vbi5jOgoJICBBZGQgZG9jIGJsb2IuCgoyMDA4LTEwLTI3IDA5OjIxOjQ0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgdGhlIGRvY3Mgb2YgdGhlIG5ldyBlbGVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJICBBZGQgdGhlIGRvY3Mgb2YgdGhlIG5ldyBlbGVtZW50cy4KCjIwMDgtMTAtMjcgMDk6MDQ6MzcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdXRvZGV0ZWN0LzogRml4ICJTaW5jZSIgdGFncyBpbiB0aGUgZG9jdW1lbnRhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkgIChnc3RfYXV0b19hdWRpb19zcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkgIChnc3RfYXV0b192aWRlb19zcmNfY2xhc3NfaW5pdCk6CgkgIEZpeCAiU2luY2UiIHRhZ3MgaW4gdGhlIGRvY3VtZW50YXRpb24uCgoyMDA4LTEwLTI3IDA5OjAwOjI5ICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBBZGQgc3VwcG9ydCBmb3Igc291cGh0dHBzcmMgdG8gYWN0IGFzIGEgbGl2ZSBzb3VyY2UuIFRoaXMgbWFrZXMgaXQgcG9zc2libGUgdG8gZ2V0IHRpbWVzdGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTam9lcmQgU2ltb25zIDxzam9lcmQgYXQgbHVvbiBkb3QgbmV0PgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cF9odHRwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3NldF9wcm9wZXJ0eSksIChnc3Rfc291cF9odHRwX3NyY19nZXRfcHJvcGVydHkpOgoJICBBZGQgc3VwcG9ydCBmb3Igc291cGh0dHBzcmMgdG8gYWN0IGFzIGEgbGl2ZSBzb3VyY2UuIFRoaXMgbWFrZXMgaXQKCSAgcG9zc2libGUgdG8gZ2V0IHRpbWVzdGFtcGVkIGJ1ZmZlcnMgaW4gY29tYmluYXRpb24gd2l0aCB0aGUKCSAgImRvLXRpbWVzdGFtcCIgcHJvcGVydHkuIEZpeGVzIGJ1ZyAjNTU2MDE5LgoKMjAwOC0xMC0yNyAwODo1NDozMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F1dG9kZXRlY3QvOiBJbXBsZW1lbnQgc3JjIHBsdWdpbnMuIExpdHRsZSBjb2RlL3N0cmluZyBjbGVhbnVwIGluIHRoZSBzaW5rcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1dG9kZXRlY3QvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5oOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9kZXRlY3QuYzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmg6CgkgIEltcGxlbWVudCBzcmMgcGx1Z2lucy4gTGl0dGxlIGNvZGUvc3RyaW5nIGNsZWFudXAgaW4gdGhlIHNpbmtzLgoJICBGaXhlcyAjNTIzODEzLgoKMjAwOC0xMC0yNyAwODo0NToxMSArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IEZpeCBhIG1lbW9yeSBsZWFrIHdoZW4gcGFkcyBhcmUgcmVxdWVzdGVkIGJ1dCB0aGUgcGlwZWxpbmUgbmV2ZXIgZ29lcyBpbnRvIFBMQVlJTkcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2ogYXQgYXhpcyBjb20+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9yZXNldCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3JlcXVlc3RfbmV3X3BhZCksIChnc3RfbWF0cm9za2FfbXV4X3JlbGVhc2VfcGFkKToKCSAgRml4IGEgbWVtb3J5IGxlYWsgd2hlbiBwYWRzIGFyZSByZXF1ZXN0ZWQgYnV0IHRoZSBwaXBlbGluZSBuZXZlcgoJICBnb2VzIGludG8gUExBWUlORy4KCSAgQ29ycmVjdGx5IHJlbW92ZSByZXF1ZXN0IHBhZHMsIG5vIG1hdHRlciBpZiB0aGV5IGhhdmUgY29sbGVjdGVkCgkgIGRhdGEgb3Igbm90LgoJICBGaXhlcyBidWcgIzU1NzcxMC4KCjIwMDgtMTAtMjcgMDg6NDA6MDIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuaDogRGVmaW5lIHRoZSBjb3JyZWN0IFdJTlZFUiBzbyBnZXRhZGRpbmZvKCkgY2FuIGJlIHVzZWQgd2hlbiB1c2luZyBtaW5ndzMyLiBGaXhlcyBidWcgIzU1NzI5NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiA8bHJuMTk4NiBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuaDoKCSAgRGVmaW5lIHRoZSBjb3JyZWN0IFdJTlZFUiBzbyBnZXRhZGRpbmZvKCkgY2FuIGJlIHVzZWQgd2hlbiB1c2luZwoJICBtaW5ndzMyLiBGaXhlcyBidWcgIzU1NzI5NC4KCjIwMDgtMTAtMjcgMDg6MzY6NDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC91ZHAvOiBGaXggImFyZ3VtZW50IHR5cGUgbWlzbWF0Y2giIGNvbXBpbGVyIHdhcm5pbmdzIG9uIFdpbmRvd3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogPGxybjE5ODYgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzogKGdzdF9keW51ZHBzaW5rX3JlbmRlcik6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfcmVuZGVyKToKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jcmVhdGUpOgoJICBGaXggImFyZ3VtZW50IHR5cGUgbWlzbWF0Y2giIGNvbXBpbGVyIHdhcm5pbmdzIG9uIFdpbmRvd3MuCgkgIEZpeGVzIGJ1ZyAjNTU3MjkzLgoKMjAwOC0xMC0yNyAwODozMDo1MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogRG9uJ3QgY2FsY3VsYXRlIHRoZSBmaWx0ZXIgY29lZmZpY2llbnRzIGZvciBldmVyeSBzaW5nbGUgYnVmZmVyIGJ1dCBvbmx5IHdoZW4gaXQncyBuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6ICh1cGRhdGVfY29lZmZpY2llbnRzKToKCSAgRG9uJ3QgY2FsY3VsYXRlIHRoZSBmaWx0ZXIgY29lZmZpY2llbnRzIGZvciBldmVyeSBzaW5nbGUgYnVmZmVyCgkgIGJ1dCBvbmx5IHdoZW4gaXQncyBuZWVkZWQuIEZpeGVzIGJ1ZyAjNTU3MjYwLgoKMjAwOC0xMC0yNiAyMDowNTo0MyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEJhY2sgdG8gZGV2ZWxvcG1lbnQgLT4gMC4xMC4xMS4xCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudCAtPiAwLjEwLjExLjEKCjIwMDgtMTAtMjYgMjA6MDQ6MjEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOiBGaXggdmVyc2lvbiBudW1iZXIgb2YgMC4xMC4xMSByZWxlYXNlIGluIGRvYXAgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkgIEZpeCB2ZXJzaW9uIG51bWJlciBvZiAwLjEwLjExIHJlbGVhc2UgaW4gZG9hcCBmaWxlCgo9PT0gcmVsZWFzZSAwLjEwLjExID09PQoKMjAwOC0xMC0yNCAyMjo0MToxOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjExCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZWxlYXNlIDAuMTAuMTEKCjIwMDgtMTAtMjQgMjI6MjA6NDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDgtMTAtMjQgMTY6MzA6NTMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBDb21taXQgMC4xMC4xMC40IHByZS1yZWxlYXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ29tbWl0IDAuMTAuMTAuNCBwcmUtcmVsZWFzZQoKMjAwOC0xMC0yMSAxMjo0Mjo0NSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvYXZpL2dzdGF2aW11eC5jOiBGaXggVlBSUCBjaHVuayBzZXR1cCBpbiBhdmltdXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIEZpeCBWUFJQIGNodW5rIHNldHVwIGluIGF2aW11eC4KCSAgRml4ZXM6ICM1NTYwMTAKCSAgUGF0Y2ggQnk6IE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKMjAwOC0xMC0yMSAxMjozODozNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiBzdXBwb3J0IGR5bmFtaWNhbGx5IGNoYW5naW5nIHByb3BlcnRpZXMgaW4gdmlkZW9ib3gKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHN1cHBvcnQgZHluYW1pY2FsbHkgY2hhbmdpbmcgcHJvcGVydGllcyBpbiB2aWRlb2JveAoJICBGaXhlZDogIzU1NzA4NQoJICBQYXRjaCBCeTogV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCjIwMDgtMTAtMTYgMTc6MTA6NDIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiAwLjEwLjEwLjMgcHJlLXJlbGVhc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAwLjEwLjEwLjMgcHJlLXJlbGVhc2UKCjIwMDgtMTAtMTYgMTU6MzA6MjIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IERvbid0IHJ1biB0aGUgc3RhdGVzIHRlc3Qgb24gcHVsc2VzcmMgYW5kIHB1bHNlc2luawoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgRG9uJ3QgcnVuIHRoZSBzdGF0ZXMgdGVzdCBvbiBwdWxzZXNyYyBhbmQgcHVsc2VzaW5rCgoyMDA4LTEwLTE2IDExOjUyOjQ0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQ29tbWl0IDAuMTAuMTAuMiBwcmUtcmVsZWFzZSBidW1wIHRoYXQgYWN0dWFsbHkgd2VudCBvdXQgb24gMjAwOC0xMC0xMQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIENvbW1pdCAwLjEwLjEwLjIgcHJlLXJlbGVhc2UgYnVtcCB0aGF0IGFjdHVhbGx5IHdlbnQKCSAgb3V0IG9uIDIwMDgtMTAtMTEKCjIwMDgtMTAtMTUgMTU6NDI6MjkgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IFNraXAgZW50cmllcyBmb3Igc3RyZWFtcyB0aGF0IGRvbid0IGhhdmUgYSBvdXRwdXQgcGFkIHlldCwgdGhlcmVieSBhdm9pZGluZyBjYWxsaW5nIHBhZCBmdW5jdGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fc2Nhbik6CgkgIFNraXAgZW50cmllcyBmb3Igc3RyZWFtcyB0aGF0IGRvbid0IGhhdmUgYSBvdXRwdXQgcGFkIHlldCwgdGhlcmVieQoJICBhdm9pZGluZyBjYWxsaW5nIHBhZCBmdW5jdGlvbnMgd2l0aCBhIE5VTEwgcGFkLgoJICBGaXhlcyAjNTU2NDI0CgoyMDA4LTEwLTE1IDA5OjM5OjI3ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBSZW1vdmUgcHJldmlvdXMgd3JvbmcgY29tbWl0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogUmVtb3ZlIHByZXZpb3VzIHdyb25nIGNvbW1pdAoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ljeWRlbXV4LmM6IChpY3lkZW11eF9mb3VuZF9wYWQpOgoJICBSZW1vdmUgcHJvYmxlbWF0aWMgYW5kIHVzZWxlc3MgcmVmY291bnQgY2hlY2suCgkgIEZpeGVzICM1NTYzODEKCjIwMDgtMTAtMTUgMDk6Mjc6MjcgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFJlbW92ZSBwcm9ibGVtYXRpYyBhbmQgdXNlbGVzcyByZWZjb3VudCBjaGVjay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV9ub2RlKToKCSAgUmVtb3ZlIHByb2JsZW1hdGljIGFuZCB1c2VsZXNzIHJlZmNvdW50IGNoZWNrLgoJICBGaXhlcyAjNTU2MzgxCgoyMDA4LTEwLTEwIDEyOjI4OjM0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9mbGFjLzogQ2FzdCBzb21lIHNpemVfdCBhcmd1bWVudHMgdG8gZ3VpbnQgdG8gYXZvaWQgY29tcGlsZXIgd2FybmluZ3Mgb24gNjQtYml0IHN5c3RlbXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYyAoZ3N0X2ZsYWNfZGVjX3JlYWRfc3RyZWFtKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmMgKGdzdF9mbGFjX2VuY193cml0ZV9jYWxsYmFjayk6CgkgIENhc3Qgc29tZSBzaXplX3QgYXJndW1lbnRzIHRvIGd1aW50IHRvIGF2b2lkIGNvbXBpbGVyCgkgIHdhcm5pbmdzIG9uIDY0LWJpdCBzeXN0ZW1zLgoKMjAwOC0xMC0wOSAxNDoyNzoxMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogUmV0dXJuIFRSVUUgaW5zdGVhZCBvZiBGQUxTRSBmcm9tIHRoZSBldmVudCBoYW5kbGVyIHdoZW4gd2Ugc3dhbGxvd2VkIHRoZSBldmVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfaGFuZGxlX3NyY19ldmVudCk6CgkgIFJldHVybiBUUlVFIGluc3RlYWQgb2YgRkFMU0UgZnJvbSB0aGUgZXZlbnQgaGFuZGxlciB3aGVuIHdlIHN3YWxsb3dlZCB0aGUKCSAgZXZlbnQuCgoyMDA4LTEwLTA4IDE1OjU5OjU2ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIHJlbW92ZSBvbGQgQ0RJTyBwbHVnaW4gbm93IGluIHVnbHkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZSBvbGQgQ0RJTyBwbHVnaW4gbm93IGluIHVnbHkKCjIwMDgtMTAtMDggMTQ6NDc6MTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IFJlc2V0IGhlYWRlciBzdGF0ZS4gRml4ZXMgIzU1NTMyMS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9yZXNldCksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N1YmluZGV4KSwgKGdzdF9hdmlfZGVtdXhfcGFyc2VfaW5kZXgpOgoJICBSZXNldCBoZWFkZXIgc3RhdGUuIEZpeGVzICM1NTUzMjEuCgoyMDA4LTEwLTA4IDEzOjMxOjQ0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC4qOiBGb3IgdGltZXN0YW1waW5nIGF1ZGlvIHBhY2tldHMgd2UgbmVlZCB0byB0YWtlIGludG8gYWNjb3VudCB0aGUgYW1vdW50IG9mIGJsb2NrcyBpbiBvbmUgZW50cnkgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3ViaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9pbmRleCk6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBGb3IgdGltZXN0YW1waW5nIGF1ZGlvIHBhY2tldHMgd2UgbmVlZCB0byB0YWtlIGludG8gYWNjb3VudCB0aGUKCSAgYW1vdW50IG9mIGJsb2NrcyBpbiBvbmUgZW50cnkgdXNpbmcgdGhlIGJsb2NrYWxpZ24uIEZpeGVzIHNvbWUgc3luYwoJICBpc3N1ZXMgd2l0aCB6ZXJvLXBhZGRlZCBhdWRpbyBibG9ja3MgaW4gdGhlIGJlZ2lubmluZyBvZiBhdmkgZmlsZXMuCgoyMDA4LTEwLTA4IDEwOjQyOjI2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzogSW1wbGVtZW50IERFRkFVTFQgYW5kIEJVRkZFUiBwb3NpdGlvbiBxdWVyaWVzLiBTZWUgIzU1NTI2MC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzogKGdzdF9tdWx0aV9maWxlX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9tdWx0aV9maWxlX3NyY19xdWVyeSk6CgkgIEltcGxlbWVudCBERUZBVUxUIGFuZCBCVUZGRVIgcG9zaXRpb24gcXVlcmllcy4gU2VlICM1NTUyNjAuCgoyMDA4LTEwLTA4IDA5OjI5OjAwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogRml4IGJ1aWxkIGZvciBzeXN0ZW1zIHRoYXQgZG9uJ3QgaGF2ZSBYRGFtYWdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZV9zcmNfc3RvcCk6CgkgIEZpeCBidWlsZCBmb3Igc3lzdGVtcyB0aGF0IGRvbid0IGhhdmUgWERhbWFnZS4KCjIwMDgtMTAtMDcgMDk6NTg6MTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICB0ZXN0cy9leGFtcGxlcy9ydHAvOiBBZGQgc29tZSBtb3JlIEgyNjNwIHNlcnZlciBhbmQgY2xpZW50IGV4YW1wbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjNwLnNkcDoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjNwLnNoOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItVlRTLUgyNjNwLnNoOgoJICBBZGQgc29tZSBtb3JlIEgyNjNwIHNlcnZlciBhbmQgY2xpZW50IGV4YW1wbGVzLgoKMjAwOC0xMC0wMyAxNzowMzowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRGVwZW5kIG9uIHJlbGVhc2VkIHZlcnNpb25zIG9mIGNvcmUgYW5kIGJhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzo6CgkgIERlcGVuZCBvbiByZWxlYXNlZCB2ZXJzaW9ucyBvZiBjb3JlIGFuZCBiYXNlLgoKMjAwOC0xMC0wMyAxNjoxMzozMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9wdWxzZS86IFJldHVybiAtMSBpbnN0ZWFkIG9mIDAgaW4gZXJyb3IgY2FzZXMuIEZpeGVzICM1NTQ3NzEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzogKGdzdF9wdWxzZXNpbmtfd3JpdGUpOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOiAoZ3N0X3B1bHNlc3JjX3JlYWQpOgoJICBSZXR1cm4gLTEgaW5zdGVhZCBvZiAwIGluIGVycm9yIGNhc2VzLiBGaXhlcyAjNTU0NzcxLgoKMjAwOC0xMC0wMyAxNTo1NDowNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IFN0b3AgbGVha2luZyB0aGUgY3Vyc29yIGltYWdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZV9zcmNfc3RhcnQpLAoJICAoZ3N0X3hpbWFnZV9zcmNfc3RvcCksIChnc3RfeGltYWdlX3NyY194aW1hZ2VfZ2V0KToKCSAgU3RvcCBsZWFraW5nIHRoZSBjdXJzb3IgaW1hZ2UuCgkgIFVucmVmIHRoZSBsYXN0X3hpbWFnZSBhbmQgdGhlIGNhY2hlZCBjdXJzb3IgaW1hZ2Ugb24gc2h1dGRvd24uCgkgIEZpeGVzICM1NTE1NzAuCgoyMDA4LTEwLTAzIDExOjMyOjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOiBHZXR0aW5nIHRoZSBDbGFzcyBmcm9tIGFuIGluc3RhbmNlIGlzIG5vdCBqdXN0IGEgbWF0dGVyIG9mIGNhc3RpbmcgaXQgdG8gdGhlIGNsYXNzIHN0cnVjdCBiLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgR2V0dGluZyB0aGUgQ2xhc3MgZnJvbSBhbiBpbnN0YW5jZSBpcyBub3QganVzdCBhIG1hdHRlciBvZiBjYXN0aW5nIGl0IHRvCgkgIHRoZSBjbGFzcyBzdHJ1Y3QgYnV0IGl0IGludm9sdmVzIGNhbGxpbmcgR19PQkpFQ1RfR0VUX0NMQVNTIG9uIHRoZQoJICBpbnN0YW5jZS4gRml4ZXMgIzU0OTc4NC4KCjIwMDgtMTAtMDEgMjE6MjI6MjYgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogRml4IGxpYnMgZm9yIGxpbmtpbmcgZGlyZWN0c291bmQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRml4IGxpYnMgZm9yIGxpbmtpbmcgZGlyZWN0c291bmQuCgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBGaXggYnVmZmVyIHNpemluZyB0byBwcmV2ZW50IHJhY2luZyB0aGUgcmluZ2J1ZmZlciBhdCBzdGFydHVwLgoJICBBZGQgdm9sdW1lIHByb3BlcnR5LgoKMjAwOC0wOS0yNyAwMDo0MzowNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvcHVsc2UvcHVsc2VzaW5rLmM6IEZpeCBwcm9ibGVtcyB3aXRoIHB1bHNlc2luayByYW5kb21seSBlcnJvcmluZyB3aXRoIGNvZGUgJ09LJyBhZnRlciBhIGZvcm1hdCBjaGFuZ2Ugb24gdGhlIHN0cmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBGaXggcHJvYmxlbXMgd2l0aCBwdWxzZXNpbmsgcmFuZG9tbHkgZXJyb3Jpbmcgd2l0aCBjb2RlICdPSycgYWZ0ZXIgYQoJICBmb3JtYXQgY2hhbmdlIG9uIHRoZSBzdHJlYW0gYnkgd2FpdGluZyB3aGVuIGRpc2Nvbm5lY3RpbmcgdGhlIHN0cmVhbS4KCjIwMDgtMDktMjYgMTQ6NDQ6NDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6IE1hcmsgRElTQ09OVCBvbiBvdXRwdXQgYnVmZmVycyB3aGVuIHRoZSBtYXJrZXIgYml0IHNpZ25hbHMgYSBuZXcgdGFsayBzcHVydC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOiAoZ3N0X3J0cF9hbXJfZGVwYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2Ftcl9kZXBheV9wcm9jZXNzKToKCSAgTWFyayBESVNDT05UIG9uIG91dHB1dCBidWZmZXJzIHdoZW4gdGhlIG1hcmtlciBiaXQgc2lnbmFscyBhIG5ldyB0YWxrCgkgIHNwdXJ0LgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6IChnc3RfcnRwX2Ftcl9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgIFNldCB0aGUgbWFya2VyIGJpdCBmb3IgYnVmZmVycyB3aXRoIGEgRElTQ09OVCBmbGFnIHRvIHNpZ25hbCBhIHRhbGsKCSAgc3B1cnQuCgoyMDA4LTA5LTI2IDEzOjU1OjQ4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEFkZGVkIE1QNEEtTEFUTSBwYXlsb2FkZXIgdG8gbWF0Y2ggdGhlIGRlcGF5bG9hZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6IChnc3RfcnRwX21wNGFfcGF5X2dldF90eXBlKSwKCSAgKGdzdF9ydHBfbXA0YV9wYXlfYmFzZV9pbml0KSwgKGdzdF9ydHBfbXA0YV9wYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX21wNGFfcGF5X2luaXQpLCAoZ3N0X3J0cF9tcDRhX3BheV9maW5hbGl6ZSksCgkgIChnc3RfcnRwX21wNGFfcGF5X3BhcnNlX2F1ZGlvX2NvbmZpZyksIChnc3RfcnRwX21wNGFfcGF5X25ld19jYXBzKSwKCSAgKGdzdF9ydHBfbXA0YV9wYXlfc2V0Y2FwcyksIChnc3RfcnRwX21wNGFfcGF5X2hhbmRsZV9idWZmZXIpLAoJICAoZ3N0X3J0cF9tcDRhX3BheV9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3J0cF9tcDRhX3BheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRhcGF5Lmg6CgkgIEFkZGVkIE1QNEEtTEFUTSBwYXlsb2FkZXIgdG8gbWF0Y2ggdGhlIGRlcGF5bG9hZGVyLgoKMjAwOC0wOS0yNSAxNToxMToxNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogSGFuZGxlIHNlZ21lbnRzIGEgbGl0dGxlIGJldHRlci4gRml4ZXMgIzUzNzM2MS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiAoZ3N0X3ZpZGVvbWl4ZXJfZmlsbF9xdWV1ZXMpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfc2lua19ldmVudCk6CgkgIEhhbmRsZSBzZWdtZW50cyBhIGxpdHRsZSBiZXR0ZXIuIEZpeGVzICM1MzczNjEuCgoyMDA4LTA5LTI1IDEyOjA3OjQ2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBEb24ndCBhc3N1bWUgdGhlIHNlcnZlciBzdXBwb3J0cyBQQVVTRSBieSBkZWZhdWx0LiBGaXhlcyAjNTUxMDQ4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19wYXJzZV9tZXRob2RzKToKCSAgRG9uJ3QgYXNzdW1lIHRoZSBzZXJ2ZXIgc3VwcG9ydHMgUEFVU0UgYnkgZGVmYXVsdC4gRml4ZXMgIzU1MTA0OC4KCjIwMDgtMDktMjUgMTE6MzA6MzUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy5jOiBTd2l0Y2ggb24gdGhlIHNvY2tldCBmYW1pbHkgdG8gZ2V0IHRoZSBhZGRybGVuIHNpemUgcmlnaHQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3VkcHNyY19zZXRfdXJpKSwgKGdzdF91ZHBzcmNfc3RhcnQpOgoJICBTd2l0Y2ggb24gdGhlIHNvY2tldCBmYW1pbHkgdG8gZ2V0IHRoZSBhZGRybGVuIHNpemUgcmlnaHQuCgoyMDA4LTA5LTI1IDEwOjM0OjM5ICswMDAwICBEYW5pZWwgRnJhbmtlIDxkZkBkZnJhbmtlLnVzPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuYzogT1MgWCdzIGJpbmQoKSBpbXBsZW1lbnRhdGlvbiBpcyBwaWNreSBhYm91dCBpdHMgYWRkcmxlbiBwYXJhbWV0ZXIgYW5kIGZhaWxzIHdpdGggRUlOVkFMIGlmIGl0IGlzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRGFuaWVsIEZyYW5rZSA8ZGYgYXQgZGZyYW5rZSBkb3QgdXM+CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY3JlYXRlKSwgKGdzdF91ZHBzcmNfc3RhcnQpOgoJICBPUyBYJ3MgYmluZCgpIGltcGxlbWVudGF0aW9uIGlzIHBpY2t5IGFib3V0IGl0cyBhZGRybGVuIHBhcmFtZXRlciBhbmQKCSAgZmFpbHMgd2l0aCBFSU5WQUwgaWYgaXQgaXMgbGFyZ2VyIHRoYW4gZXhwZWN0ZWQgZm9yIHRoZSBzb2NrZXQncyBhZGRyZXNzCgkgIGZhbWlseS4gU2V0IHRoZSBsZW5ndGggdG8gdGhlIGV4cGVjdGVkIGxlbmd0aCBpbnN0ZWFkLiBGaXhlcyAjNTUzMTkxLgoKMjAwOC0wOS0yMyAxODowODo1NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogSGFuZGxlIHRoZSBjYXNlIHdoZXJlIHdlIGNhbm5vdCBkbyBkZXNyaWJlIG9yIHdoZW4gdGhlIGRlc2NyaWJlIHJlc3VsdCBkb2VzIG5vdCBjb250YWluIGEgdmFsaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19vcGVuKToKCSAgSGFuZGxlIHRoZSBjYXNlIHdoZXJlIHdlIGNhbm5vdCBkbyBkZXNyaWJlIG9yIHdoZW4gdGhlIGRlc2NyaWJlIHJlc3VsdAoJICBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgU0RQIG1lc3NhZ2UuCgoyMDA4LTA5LTIzIDE3OjMxOjIyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogRml4IHNldHRpbmcgdGhlIHFvcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfc2V0X3Byb3BlcnR5KToKCSAgRml4IHNldHRpbmcgdGhlIHFvcy4KCjIwMDgtMDktMTcgMTQ6NTA6NDIgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFNvbWUgJ2Jyb2tlbicgZmlsZXMgb3V0IHRoZXJlIGhhdmUgYXRvbSBsZW5ndGhzIG9mIHplcm8uLi4gd2hpY2ggYmFzaWNhbGx5IHJlc3VsdHMgaW4gcXRkZW11eCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIpLAoJICAoZ3N0X3F0ZGVtdXhfY2hhaW4pOgoJICBTb21lICdicm9rZW4nIGZpbGVzIG91dCB0aGVyZSBoYXZlIGF0b20gbGVuZ3RocyBvZiB6ZXJvLi4uCgkgIHdoaWNoIGJhc2ljYWxseSByZXN1bHRzIGluIHF0ZGVtdXggY29uc3VtaW5nIHRoYXQgYXRvbSBhZ2FpbiBhbmQgYWdhaW4KCSAgdW50aWwgdGhlICplbmQgb2YgbmlnaHQqICEKCSAgRGV0ZWN0IHRoYXQgYW5kIGVtaXRzIGFuIGFkZXF1YXRlIGVsZW1lbnQgZXJyb3IgbWVzc2FnZS4KCjIwMDgtMDktMTcgMTM6NDk6MDQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0LzogRml4IGJ1aWxkIGZsYWdzIG9yZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkgIEZpeCBidWlsZCBmbGFncyBvcmRlci4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2FtcGxpZnkuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2R5bmFtaWMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2ludmVydC5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcGFub3JhbWEuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgRm9ybWF0IGZpeGVzLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJICBQdWxsIGluIHVuaXN0ZC5oCgoyMDA4LTA5LTE1IDIxOjEwOjIzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuKjogSGFuZGxlIGludGVybGVhdmVkIHN0cmVhbXMgYnkgcmVvcmRlcmluZyBBVSBpbiBhIHF1ZXVlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOiAoZ3N0X3J0cF9tcDRnX2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9tcDRnX2RlcGF5X2ZpbmFsaXplKSwgKGdzdF9ydHBfbXA0Z19kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfbXA0Z19kZXBheV9jbGVhcl9xdWV1ZSksIChnc3RfcnRwX21wNGdfZGVwYXlfZmx1c2hfcXVldWUpLAoJICAoZ3N0X3J0cF9tcDRnX2RlcGF5X3F1ZXVlKSwgKGdzdF9ydHBfbXA0Z19kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfbXA0Z19kZXBheV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5Lmg6CgkgIEhhbmRsZSBpbnRlcmxlYXZlZCBzdHJlYW1zIGJ5IHJlb3JkZXJpbmcgQVUgaW4gYSBxdWV1ZS4KCjIwMDgtMDktMTUgMTY6MDQ6MjYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOiBDaGFuZ2Ugc29tZSBvZiB0aGUgcmFuZ2VzIGluIHRoZSBjYXBzLCBtb3N0bHkgZm9yIHRoZSBhbW91bnQgb2YgYml0cyB3ZSBjYW4gdXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOiAoZ3N0X2JzX3BhcnNlX2luaXQpLAoJICAoZ3N0X2JzX3BhcnNlX3JlYWQpLCAoZ3N0X3J0cF9tcDRnX2RlcGF5X3Byb2Nlc3MpOgoJICBDaGFuZ2Ugc29tZSBvZiB0aGUgcmFuZ2VzIGluIHRoZSBjYXBzLCBtb3N0bHkgZm9yIHRoZSBhbW91bnQgb2YgYml0cyB3ZQoJICBjYW4gdXNlLgoJICBBZGRlZCBhIGxpdHRsZSBiaXRzdHJlYW0gcGFyc2UgYW5kIHVzZSBpdCB0byBwYXJzZSB0aGUgQVUgaGVhZGVyIGZpZWxkcy4KCSAgQ2hlY2sgZm9yIG1hbGZvcm1lZCBhbmQgd3JvbmdseSBzaXplZCBwYWNrZXRzIGJldHRlci4KCSAgSW1wbGVtZW50IG1vcmUgaGVhZGVyIGZpZWxkIHBhcnNpbmcuCgkgIEhhbmRsZSB0aGUgc2l6ZSBvZiBmcmFnbWVudGVkIHBhY2tldHMgY29ycmVjdGx5LgoKMjAwOC0wOS0xNCAxMTozMjoxNSArMDAwMCAgSm9uYXRoYW4gTWF0dGhldyA8bm90dmVyeXNtYXJ0QGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIG1hcHBpbmcgZm9yICd0aWZmJyA9PiBpbWFnZS90aWZmCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9uYXRoYW4gTWF0dGhldyA8bm90dmVyeXNtYXJ0QGdtYWlsLmNvbT4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBBZGQgbWFwcGluZyBmb3IgJ3RpZmYnID0+IGltYWdlL3RpZmYKCSAgRml4ZXMgIzU1MjIxMwoKMjAwOC0wOS0xMSAxMToyNjowNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9yYXcxMzk0LzogUHJldGVuZCB0byBjYXJlIGFib3V0IHRoZSByZXN1bHQgb2Ygd3JpdGUoKSB3aGljaCB3b3JrcyBhcm91bmQgY29tcGlsZXIgd2FybmluZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiAoU0VORF9DT01NQU5EKToKCSAgKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6IChTRU5EX0NPTU1BTkQpOgoJICBQcmV0ZW5kIHRvIGNhcmUgYWJvdXQgdGhlIHJlc3VsdCBvZiB3cml0ZSgpIHdoaWNoIHdvcmtzIGFyb3VuZAoJICBjb21waWxlciB3YXJuaW5ncy4KCjIwMDgtMDktMDQgMDk6MjU6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IE1ha2Ugc3VyZSB0aGUgZGVzaXJlZCBkZWZhdWx0IHZhbHVlcyBhcmUgYWN0dWFsbHkgc2V0LCBub3Qgb25seSByZWdpc3RlcmVkIGFzIGRlZmF1bHRzIChhY3R1YWwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiAoZ3N0X2ZsYWNfZW5jX2NsYXNzX2luaXQpOgoJICBNYWtlIHN1cmUgdGhlIGRlc2lyZWQgZGVmYXVsdCB2YWx1ZXMgYXJlIGFjdHVhbGx5IHNldCwgbm90IG9ubHkKCSAgcmVnaXN0ZXJlZCBhcyBkZWZhdWx0cyAoYWN0dWFsIHByb2JsZW0gaXMgdGhhdCB0aGUgc3RlcmVvLXNwZWNpZmljCgkgIHZhbHVlcyBhcmUgb25seSB1cGRhdGVkIGlmIGNoYW5uZWxzPT0yLCB3aGljaCBpcyBub3QgdGhlIGNhc2UgeWV0CgkgIHdoZW4gdGhlIG9iamVjdCBpcyBjcmVhdGVkLCBzbyB0aGUgZGVmYXVsdCB2YWx1ZXMgZm9yIHRoZQoJICBtaWQtc2lkZS1zdGVyZW8gYW5kIGxvb3NlLW1pZC1zaWRlLXN0ZXJlbyBzZXR0aW5ncyBhcmUgbmV2ZXIKCSAgc2V0IGluIF91cGRhdGVfcXVhbGl0eSgpKS4gTWFrZXMgZmxhY2VuYyBjcmVhdGUgc21hbGxlciBmaWxlcyBieQoJICBkZWZhdWx0IChmb3Igc3RlcmVvIGlucHV0KSwgYW5kIGZpeGVzICM1NTA3OTEuCgoyMDA4LTA5LTAzIDEyOjM5OjM1ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9xdGRlbXV4LzogQWRkIHN1cHBvcnQgZm9yIHZpZGVvL21qMiBtaW1lLXR5cGUgYW5kIGl0cyBhZGRpdGlvbmFsIGF0b21zL2JveGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIpLCAocXRkZW11eF9wYXJzZV9ub2RlKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayksIChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuYzoKCSAgQWRkIHN1cHBvcnQgZm9yIHZpZGVvL21qMiBtaW1lLXR5cGUgYW5kIGl0cyBhZGRpdGlvbmFsIGF0b21zL2JveGVzLgoJICBGaXhlcyAjNTUwNjQ2LgoKMjAwOC0wOS0wMyAxMToxMDoyNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2RlYnVnL2dzdHRhZ2luamVjdC5jOiBBZGQgd2FybmluZyB3aGVuIHRhZ3MgcGFyYW1ldGVyIGlzIHVucGFyc2FibGUgYW5kIGdpdmUgZXhhbXBsZSBmb3IgcXVvdGluZyBpbiB0aGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL2dzdHRhZ2luamVjdC5jOgoJICBBZGQgd2FybmluZyB3aGVuIHRhZ3MgcGFyYW1ldGVyIGlzIHVucGFyc2FibGUgYW5kIGdpdmUgZXhhbXBsZSBmb3IKCSAgcXVvdGluZyBpbiB0aGUgZG9jcy4KCjIwMDgtMDktMDIgMTU6Mjc6NDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBtYXBwaW5nIGZvciBJTUEgTG9raSBTREwgTUpQRUcgQURQQ00gY29kZWMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgIEFkZCBtYXBwaW5nIGZvciBJTUEgTG9raSBTREwgTUpQRUcgQURQQ00gY29kZWMuCgkgIEFkZCBzb21lIGFsdGVybmF0aXZlIGJ5dGVzd2FwcGVkIG1hcHBpbmdzIHRoYXQgc2VlbSB0byBwb3AgdXAgc29tZXRpbWVzLgoJICBGaXhlcyAjNTUwMjg4LgoKMjAwOC0wOS0wMiAwOTo0MDozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHBvLzogQWRkICdjYScgdG8gTElOR1VBUzsgYWRkIHNvbWUgbW9yZSBmaWxlcyB3aXRoIHRyYW5zbGF0aW9ucyBhbmQgc29tZSBmaWxlcyB3aGljaCBzaG91bGQgYmUgaWdub3JlZCBieSB0cmFuc2xhdGlvbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBwby9MSU5HVUFTOgoJICAqIHBvL1BPVEZJTEVTLmluOgoJICAqIHBvL1BPVEZJTEVTLnNraXA6CgkgIEFkZCAnY2EnIHRvIExJTkdVQVM7IGFkZCBzb21lIG1vcmUgZmlsZXMgd2l0aCB0cmFuc2xhdGlvbnMgYW5kIHNvbWUKCSAgZmlsZXMgd2hpY2ggc2hvdWxkIGJlIGlnbm9yZWQgYnkgdHJhbnNsYXRpb24gdG9vbHMuCgoyMDA4LTA5LTAyIDA4OjUxOjA0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc3BlZXgvOiBVc2UgaW50ZWdlciBlbmNvZGluZyBhbmQgZGVjb2RpbmcgZnVuY3Rpb25zIGluc3RlYWQgb2YgY29udmVydGluZyB0aGUgaW50ZWdlciBpbnB1dCB0byBmbG9hdCBpbiB0aGUgZWxlbWUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IChzcGVleF9kZWNfY2hhaW5fcGFyc2VfZGF0YSk6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmg6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IChnc3Rfc3BlZXhfZW5jX2VuY29kZSk6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmg6CgkgIFVzZSBpbnRlZ2VyIGVuY29kaW5nIGFuZCBkZWNvZGluZyBmdW5jdGlvbnMgaW5zdGVhZCBvZiBjb252ZXJ0aW5nCgkgIHRoZSBpbnRlZ2VyIGlucHV0IHRvIGZsb2F0IGluIHRoZSBlbGVtZW50LiBUaGUgbGlic3BlZXggaW50ZWdlcgoJICBmdW5jdGlvbnMgYXJlIGRvaW5nIHRoaXMgZm9yIHVzIGFscmVhZHkgb3IsIGlmIGxpYnNwZWV4IHdhcyBjb21waWxlZAoJICBpbiBpbnRlZ2VyIG1vZGUsIHRoZXkncmUgZG9pbmcgZXZlcnl0aGluZyB1c2luZyBpbnRlZ2VyIGFyaXRobWV0aWNzLgoJICBBbHNvIHNhdmVzIHNvbWUgY29weWluZyBhcm91bmQuCgoyMDA4LTA5LTAxIDEzOjI5OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBGaXggLS1kaXNhYmxlLWV4dGVybmFsCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRml4IC0tZGlzYWJsZS1leHRlcm5hbAoKMjAwOC0wOC0zMSAxNzowOToxOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy4qOiBIYW5kbGUgbm9uLXplcm8gc3RhcnQgdGltZXN0YW1wcyBhbmQgc3RyZWFtIGRpc2NvbnRpbnVpdGllcyBjb3JyZWN0bHkuIFRoaXMgb25seSBoYXMgYW4gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19yZXNldCksCgkgIChnc3Rfd2F2cGFja19lbmNfcHVzaF9ibG9jayksIChnc3Rfd2F2cGFja19lbmNfY2hhaW4pOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSAgSGFuZGxlIG5vbi16ZXJvIHN0YXJ0IHRpbWVzdGFtcHMgYW5kIHN0cmVhbSBkaXNjb250aW51aXRpZXMKCSAgY29ycmVjdGx5LiBUaGlzIG9ubHkgaGFzIGFuIGVmZmVjdCBpZiB3ZSdyZSBtdXhpbmcgaW50bwoJICBhIGNvbnRhaW5lciBmb3JtYXQgYXMgdGhlIHJhdyBXYXZQYWNrIHN0cmVhbSBtdXN0IGNvbnRhaW4KCSAgY29udGlub3VzIHNhbXBsZSBudW1iZXJzLgoKMjAwOC0wOC0zMSAxNTowMjowOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IENvcnJlY3QgdGhlIHRpbWVzdGFtcCBhbmQgZ3JhbnVsZXBvcyBjYWxjdWxhdGlvbiBieSBvbmUgU3BlZXggZnJhbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiAoZ3N0X3NwZWV4X2VuY19lbmNvZGUpOgoJICBDb3JyZWN0IHRoZSB0aW1lc3RhbXAgYW5kIGdyYW51bGVwb3MgY2FsY3VsYXRpb24gYnkgb25lIFNwZWV4CgkgIGZyYW1lLgoKMjAwOC0wOC0zMSAxNDozOTo1NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IENvcnJlY3RseSB0YWtlIHRoZSBncmFudWxlcG9zIGZyb20gdXBzdHJlYW0gaWYgcG9zc2libGUgYW5kIGNvcnJlY3RseSBoYW5kbGUgdGhlIGdyYW51bGVwb3MgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiAoc3BlZXhfZGVjX2NoYWluX3BhcnNlX2RhdGEpOgoJICBDb3JyZWN0bHkgdGFrZSB0aGUgZ3JhbnVsZXBvcyBmcm9tIHVwc3RyZWFtIGlmIHBvc3NpYmxlIGFuZAoJICBjb3JyZWN0bHkgaGFuZGxlIHRoZSBncmFudWxlcG9zIGluIHZhcmlvdXMgY2FsY3VsYXRpb25zOiB0aGUKCSAgZ3JhbnVsZXBvcyBpcyB0aGUgc2FtcGxlIG51bWJlciBvZiB0aGUgX2xhc3RfIHNhbXBsZSBpbiBhIGZyYW1lLCBub3QKCSAgdGhlIGZpcnN0LgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiAoZ3N0X3NwZWV4X2VuY19zaW5rZXZlbnQpLAoJICAoZ3N0X3NwZWV4X2VuY19lbmNvZGUpLCAoZ3N0X3NwZWV4X2VuY19jaGFpbiksCgkgIChnc3Rfc3BlZXhfZW5jX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmg6CgkgIEhhbmRsZSBub24temVybyBzdGFydCB0aW1lc3RhbXBzIGluIHRoZSBlbmNvZGVyIGFuZCBkZXRlY3QvaGFuZGxlCgkgIHN0cmVhbSBkaXNjb250aW51aXRpZXMuIEZpeGVzIGJ1ZyAjNTQ3MDc1LgoKMjAwOC0wOC0zMSAwODozMjo0NSArMDAwMCAgQ3JhaWcgS2VvZ2ggPGNza2VvZ2hAYWRhbS5jb20uYXU+CgoJICBleHQvYW5ub2RleC9nc3RjbW1scGFyc2VyLmM6IEZpeCBjb21waWxlciB3YXJuaW5ncyBjYXVzZWQgYnkgcGFzc2luZyBhIHN0cmluZyBhcyBmb3JtYXQgc3RyaW5nIGluc3RlYWQgb2YgIiVzIiBhbmQgdGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBDcmFpZyBLZW9naCA8Y3NrZW9naCBhdCBhZGFtIGRvdCBjb20gZG90IGF1PgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxwYXJzZXIuYzogKGdzdF9jbW1sX3BhcnNlcl9wYXJzZV9jaHVuayk6CgkgIEZpeCBjb21waWxlciB3YXJuaW5ncyBjYXVzZWQgYnkgcGFzc2luZyBhIHN0cmluZyBhcyBmb3JtYXQgc3RyaW5nCgkgIGluc3RlYWQgb2YgIiVzIiBhbmQgdGhlbiB0aGUgc3RyaW5nLiBUaGlzIGlzIG9ubHkgZXhwb3NlZCBieSAtV2Zvcm1hdD0yCgkgIGFzIHVzZWQgYnkgZGVmYXVsdCBvbiBVYnVudHUuIEZpeGVzIGJ1ZyAjNTUwMDE1LgoKMjAwOC0wOC0zMCAxNDoxNTowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIE1ha2Ugc3R1ZmYgY29tcGlsZSB3aXRoIEdTVF9ESVNBQkxFX0dTVF9ERUJVRy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3JhdzEzOTQvZ3N0aGR2MTM5NHNyYy5jOiAoZ3N0X2hkdjEzOTRzcmNfY3JlYXRlKToKCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzogKGdzdF9hbHBoYV9nZXRfdW5pdF9zaXplKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOiAoZ2VuZXJhdGVfY29lZmZpY2llbnRzKToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3NyY19jb252ZXJ0KToKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IChnc3RfZWJtbF9yZWFkX2VsZW1lbnRfaWQpLAoJICAoZ3N0X2VibWxfcmVhZF9lbGVtZW50X2xlbmd0aCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfY2hlY2tfc3VidGl0bGVfYnVmZmVyKToKCSAgTWFrZSBzdHVmZiBjb21waWxlIHdpdGggR1NUX0RJU0FCTEVfR1NUX0RFQlVHLgoKMjAwOC0wOC0yOSAwMDoyODo1NSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L2xhdy86IFJlZiBjYXBzIGJlZm9yZSBwYXNzaW5nIHRvIGdzdF9wYWRfdGVtcGxhdGVfbmV3KCksIHNpbmNlIHRoYXQgdGFrZXMgb3duZXJzaGlwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGF3L2FsYXcuYzoKCSAgKiBnc3QvbGF3L211bGF3LmM6CgkgIFJlZiBjYXBzIGJlZm9yZSBwYXNzaW5nIHRvIGdzdF9wYWRfdGVtcGxhdGVfbmV3KCksIHNpbmNlIHRoYXQgdGFrZXMKCSAgb3duZXJzaGlwLgoKMjAwOC0wOC0yOCAxMDowOToxNiArMDAwMCAgTWVyc2FkIEplbGFjaWMgPG1lcnNhZEBheGlzLmNvbT4KCgkgIGdzdC9tdWx0aXBhcnQvOiBDb252ZXJ0IGF1ZGlvL3gtYWRwY20gdG8gYW5kIGZyb20gdGhlIGF1ZGlvL0c3MjYtWCBpbiB0aGUgbXV4ZXIgYW5kIGRlbXV4ZXIuIEZpeGVzICM1NDk1NTEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWVyc2FkIEplbGFjaWMgPG1lcnNhZCBhdCBheGlzIGRvdCBjb20+CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IChnc3RfbXVsdGlwYXJ0X211eF9nZXRfbWltZSk6CgkgIENvbnZlcnQgYXVkaW8veC1hZHBjbSB0byBhbmQgZnJvbSB0aGUgYXVkaW8vRzcyNi1YIGluIHRoZSBtdXhlciBhbmQKCSAgZGVtdXhlci4gRml4ZXMgIzU0OTU1MS4KCjIwMDgtMDgtMjcgMTY6MTI6MzkgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvb3N4YXVkaW8vOiBGaXggdGhlIGJ1aWxkIG9uIG1hY29zeC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJICAoZ3N0X29zeF9hdWRpb19zaW5rX3NlbGVjdF9kZXZpY2UpOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJICAoZ3N0X29zeF9hdWRpb19zcmNfY3JlYXRlX3JpbmdidWZmZXIpLAoJICAoZ3N0X29zeF9hdWRpb19zcmNfc2VsZWN0X2RldmljZSk6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuYzogKGdzdF9vc3hfcmluZ19idWZmZXJfYWNxdWlyZSk6CgkgIEZpeCB0aGUgYnVpbGQgb24gbWFjb3N4LgoKMjAwOC0wOC0yNyAxNTo0MjoxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOiBTbWFsbCBkb2NzIGZpeDogaW4gdGhlIGV4YW1wbGUgcGlwZWxpbmUsIHdlIG5lZWQgdG8gcGFzcyBpcmFkaW8tbW9kZT10cnVlIHRvIHRoZSBzb3VyY2UsIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSAgU21hbGwgZG9jcyBmaXg6IGluIHRoZSBleGFtcGxlIHBpcGVsaW5lLCB3ZSBuZWVkIHRvIHBhc3MKCSAgaXJhZGlvLW1vZGU9dHJ1ZSB0byB0aGUgc291cmNlLCBzbyB0aGUgc2VydmVyIGFjdHVhbGx5IHNlbmRzCgkgIGFuIElDWSBzdHJlYW0uCgoyMDA4LTA4LTI3IDAwOjA4OjIwICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW8uYzogT29wcy4gUmV2ZXJ0IG1vcmUgY29tcGxldGVseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvLmM6CgkgIE9vcHMuIFJldmVydCBtb3JlIGNvbXBsZXRlbHkuCgoyMDA4LTA4LTI2IDIzOjU3OjA1ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW8uYzogUmV2ZXJ0IGFjY2lkZW50YWwgZWxlbWVudCByZW5hbWUgZnJvbSB0ZXN0aW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW8uYzoKCSAgUmV2ZXJ0IGFjY2lkZW50YWwgZWxlbWVudCByZW5hbWUgZnJvbSB0ZXN0aW5nLgoKMjAwOC0wOC0yNiAyMzo1Mzo0MCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QtcGx1Z2lucy1nb29kLmRvYXA6IFB1bGwgaW4gMC4xMC4xMCBkb2FwIGVudHJ5IGZyb20gcmVsZWFzZSBicmFuY2gKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJICBQdWxsIGluIDAuMTAuMTAgZG9hcCBlbnRyeSBmcm9tIHJlbGVhc2UgYnJhbmNoCgoyMDA4LTA4LTI2IDIzOjA1OjU3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogVXBkYXRlIHZlcnNpb24gbnVtYmVyIHRvIHJlZmxlY3QgMC4xMC4xMCByZWxlYXNlIGZyb20gYnJhbmNoLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFVwZGF0ZSB2ZXJzaW9uIG51bWJlciB0byByZWZsZWN0IDAuMTAuMTAgcmVsZWFzZSBmcm9tCgkgIGJyYW5jaC4KCjIwMDgtMDgtMjYgMjE6MTM6MDggKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIHN5cy9vc3hhdWRpby86IFJld3JpdGUgY2FwcyBzZXR0aW5nIGFuZCByaW5nIGJ1ZmZlciBpbml0aWFsaXNhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpby5jOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmg6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmg6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuYzoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5oOgoJICBSZXdyaXRlIGNhcHMgc2V0dGluZyBhbmQgcmluZyBidWZmZXIgaW5pdGlhbGlzYXRpb24uCgkgIFByZXZpb3VzbHkgd2UgbmV2ZXIgdG9sZCBDb3JlQXVkaW8gd2hhdCBmb3JtYXQgd2Ugd2VyZSBnb2luZyB0byBzZW5kIGl0LAoJICBzbyBpdCBvbmx5IHdvcmtlZCBkdWUgdG8gbHVjaywgYW5kIG5vdCBhdCBhbGwgb24gc29tZSBoYXJkd2FyZS4KCSAgTm93IHdlIGV4cGxpY2l0bHkgYWR2ZXJ0aXNlIHdoYXQgZm9ybWF0cyB0aGUgaGFyZHdhcmUgc3VwcG9ydHMsIGFuZCB0aGVuCgkgIGNvbmZpZ3VyZSB0aGUgc2VsZWN0ZWQgb25lIGNvcnJlY3RseS4KCjIwMDgtMDgtMjYgMTI6Mjc6MTEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHN5cy92NGwyLzogRml4IG1lbW9yeSBsZWFrcy4gU21hbGwgY29kZSBjbGVhbnVwcyA6IE5vIG5lZWQgZm9yIGVtcHR5IF9pbml0KCkuIE5vIG5lZWQgdG8gbWVtc2V0IGluc3RhbmNlIHN0cnVjdHVyZXMuIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBGaXggbWVtb3J5IGxlYWtzLiBTbWFsbCBjb2RlIGNsZWFudXBzIDogTm8gbmVlZCBmb3IgZW1wdHkgX2luaXQoKS4gTm8KCSAgbmVlZCB0byBtZW1zZXQgaW5zdGFuY2Ugc3RydWN0dXJlcy4gU29tZSBtb3JlIEZJWE1FJ3MuCgoyMDA4LTA4LTI2IDA4OjExOjI2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9pY2xlcy8uY3ZzaWdub3JlOiBJZ25vcmUgbW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvLmN2c2lnbm9yZToKCSAgSWdub3JlIG1vcmUuCgoyMDA4LTA4LTI2IDA4OjAwOjU3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvOiBJZ25vcmUgZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tLy5jdnNpZ25vcmU6CgkgICogZ3N0L2dvb20yazEvLmN2c2lnbm9yZToKCSAgSWdub3JlIGZpbGVzLgoKMjAwOC0wOC0yNiAwNzo1MTo0MiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6IEZpeCBjb21waWxlciB3YXJuaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmcuCgoyMDA4LTA4LTI2IDA1OjQyOjE1ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOiBGaXggb2J2aW91cyBtZW1sZWFrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzogRml4IG9idmlvdXMgbWVtbGVhay4KCjIwMDgtMDgtMjUgMTQ6MTU6NDMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvbWF0cm9za2EvOiBBZGQgUmVhbFtBdWRpb3xWaWRlb10gc3VwcG9ydCB0byBNYXRyb3NrYSBjb250YWluZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9zZW5kX2V2ZW50KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF92aWRlb19jYXBzKSwgKGdzdF9tYXRyb3NrYV9kZW11eF9hdWRpb19jYXBzKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfbXV4X3ZpZGVvX3BhZF9zZXRjYXBzKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfYXVkaW9fcGFkX3NldGNhcHMpLCAoZ3N0X21hdHJvc2thX211eF9maW5pc2gpOgoJICBBZGQgUmVhbFtBdWRpb3xWaWRlb10gc3VwcG9ydCB0byBNYXRyb3NrYSBjb250YWluZXJzLgoJICBJdCB3b3JrcyBmaW5lIGZvcjoKCSAgKiBkZWNvZGluZyByZWFsIGF1ZGlvL3ZpZGVvIHN0cmVhbXMgY29udGFpbmVkIGluIG1rdgoJICAqICd0cmFuc211eGluZycgcmVhbCAoLnJtKSBmaWxlcyBpbnRvIC5ta3YgZmlsZXMKCSAgSXQgd2lsbCBub3Qgd29yayB0aG91Z2ggZm9yIGVuY29kaW5nIHJlYWxbYXVkaW8vdmlkZW9dIHN0cmVhbXMgdGhhdAoJICBkb24ndCBjb250YWluIHRoZSAnbWRwcl9kYXRhJyBleHRyYSBkYXRhIG9uIHRoZSBjYXBzLgoJICBUaGUgcmVhc29uIHdoeSB0aGlzIHdpbGwgbm90IHdvcmsgaXMgYmVjYXVzZSBJIG5ldmVyIGludGVuZGVkIHRvCgkgIGR1cGxpY2F0ZSB2aXJ0dWFsbHkgYWxsIHRoZSAnbWRwcicgYmxvY2sgY3JlYXRpb24gaW50byBta3ZtdXguCgkgIEZpeGVzICM1MzYwNjcKCjIwMDgtMDgtMjUgMDk6NDg6MDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbGF3LzogVGhlIGVuY29kZXIgY2FuJ3QgcmVhbGx5IHJlbmVnb3RpYXRlIGF0IHRoZSB0aW1lIHRoZXkgcGVyZm9ybSBhIHBhZC1hbGxvYyBzbyBtYWtlIHRoZSBzcmNwYWRzIHVzZSBmaXhlZCBjYXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6IChnc3RfYWxhd19lbmNfaW5pdCksIChnc3RfYWxhd19lbmNfY2hhaW4pOgoJICAqIGdzdC9sYXcvbXVsYXctY29udmVyc2lvbi5jOgoJICAqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6IChnc3RfbXVsYXdlbmNfaW5pdCksCgkgIChnc3RfbXVsYXdlbmNfY2hhaW4pOgoJICBUaGUgZW5jb2RlciBjYW4ndCByZWFsbHkgcmVuZWdvdGlhdGUgYXQgdGhlIHRpbWUgdGhleSBwZXJmb3JtIGEKCSAgcGFkLWFsbG9jIHNvIG1ha2UgdGhlIHNyY3BhZHMgdXNlIGZpeGVkIGNhcHMuCgkgIENoZWNrIHRoZSBidWZmZXIgc2l6ZSBhZnRlciBhIHBhZC1hbGxvYyBiZWNhdXNlIHRoZSByZXR1cm5lZCBzaXplIG1pZ2h0CgkgIG5vdCBiZSByaWdodCB3aGVuIHRoZSBkb3duc3RyZWFtIGVsZW1lbnQgZG9lcyBub3Qga25vdyB0aGUgc2l6ZSBvZiB0aGUKCSAgbmV3IGJ1ZmZlciAoY2Fwc2ZpbHRlcikuIEZpeGVzICM1NDkwNzMuCgoyMDA4LTA4LTIzIDE1OjQzOjQ5ICswMDAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkgIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOiB2NGwyc3JjIGRvZXNuJ3QgaGF2ZSBhIHByb3BlcnR5IG5hbWVkICJub3JtIiBzbyBkb24ndCB0cnkgdG8gbm90aWZ5IGFib3V0IGNoYW5nZXMgdG8gdGhhdCBwci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8gZG90IGFyZ2lvbGFzIGF0IGdtYWlsIGRvdCBjb20+CgkgICogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6IChnc3RfdjRsMl90dW5lcl9zZXRfbm9ybV9hbmRfbm90aWZ5KToKCSAgdjRsMnNyYyBkb2Vzbid0IGhhdmUgYSBwcm9wZXJ0eSBuYW1lZCAibm9ybSIgc28gZG9uJ3QgdHJ5IHRvIG5vdGlmeQoJICBhYm91dCBjaGFuZ2VzIHRvIHRoYXQgcHJvcGVydHkuIFRoZSAibm9ybSIgcHJvcGVydHkgYW5kIHJlbGF0ZWQKCSAgY29kZSBhcmUgY29tbWVudGVkIG91dCBjdXJyZW50bHkuIEZpeGVzIGJ1ZyAjNTQ5MDkwLgoKMjAwOC0wOC0yMyAxNTozMzo0OSArMDAwMCAgTWlrZSBSdXByZWNodCA8Y21haWt1QGdtYWlsLmNvbT4KCgkgIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzogUmVwcm9iZSBkZXZpY2VzIGFnYWluIGluc3RlYWQgb2YgdGFraW5nIGEgY2FjaGVkIGxpc3QgYXMgbmV3IGRldmljZXMgY291bGQndmUgYmVlbiBwbHVnZ2VkIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1pa2UgUnVwcmVjaHQgPGNtYWlrdSBhdCBnbWFpbCBkb3QgY29tPgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzogKGdzdF92NGwyX2NsYXNzX3Byb2JlX2RldmljZXMpOgoJICBSZXByb2JlIGRldmljZXMgYWdhaW4gaW5zdGVhZCBvZiB0YWtpbmcgYSBjYWNoZWQgbGlzdCBhcyBuZXcKCSAgZGV2aWNlcyBjb3VsZCd2ZSBiZWVuIHBsdWdnZWQgaW4uIEZpeGVzIGJ1ZyAjNTQ5MDYyLgoKMjAwOC0wOC0yMiAxNjowNDowMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1dG9kZXRlY3QvTWFrZWZpbGUuYW06IERvbid0IGxpbmsgdGhlIGF1dG9kZXRlY3QgcGx1Z2luIHdpdGggR0NvbmYgYXMgaXQgZG9lc24ndCB1c2UgR0NvbmYuIEZpeGVzIGJ1ZyAjNTQ1NDYzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXV0b2RldGVjdC9NYWtlZmlsZS5hbToKCSAgRG9uJ3QgbGluayB0aGUgYXV0b2RldGVjdCBwbHVnaW4gd2l0aCBHQ29uZiBhcyBpdCBkb2Vzbid0CgkgIHVzZSBHQ29uZi4gRml4ZXMgYnVnICM1NDU0NjMuCgoyMDA4LTA4LTIyIDEyOjI0OjIzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IENoYW5nZSBzb21lIEdTVF9FTEVNRU5UX0VSUk9ScyB0byBHU1RfRVJST1JfT0JKRUNUIHRvIG1ha2UgaXQgcG9zc2libGUgdG8gaWdub3JlIGVycm9ycyBhbmQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiAoZ3N0X2VibWxfcmVhZF9lbGVtZW50X2lkKSwKCSAgKGdzdF9lYm1sX3JlYWRfZWxlbWVudF9sZW5ndGgpLCAoZ3N0X2VibWxfcmVhZF91aW50KSwKCSAgKGdzdF9lYm1sX3JlYWRfc2ludCksIChnc3RfZWJtbF9yZWFkX2Zsb2F0KSwKCSAgKGdzdF9lYm1sX3JlYWRfaGVhZGVyKToKCSAgQ2hhbmdlIHNvbWUgR1NUX0VMRU1FTlRfRVJST1JzIHRvIEdTVF9FUlJPUl9PQkpFQ1QgdG8gbWFrZSBpdAoJICBwb3NzaWJsZSB0byBpZ25vcmUgZXJyb3JzIGFuZCBub3QgcG9zdCBhbnkgRVJST1IgbWVzc2FnZXMgb24KCSAgdGhlIGJ1cy4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jb250ZW50cyk6CgkgIElnbm9yZSBhbnkgZXJyb3JzIGFuZCBub3QganVzdCBFT1Mgd2hlbiBwYXJzaW5nIHRoZSBjb250ZW50cyBvZgoJICBhIFNlZWtIZWFkLiBFcnJvcnMgaGVyZSBhcmUgdXN1YWxseSBjYXVzZWQgYnkgdHJ1bmNhdGVkIGZpbGVzCgkgIGFuZCBwbGF5YmFjayBvZiB0aGUgZmlsZSB3b3JrcyBmaW5lLiBGaXhlcyBwbGF5YmFjayBvZiB0aGUKCSAgYXVkaW9fb25seV9jaGFwdGVyX3NlZWticm9rZW4ubWthIGZpbGUgZnJvbSB0aGUgTVBsYXllciBzYW1wbGVzCgkgIGFyY2hpdmUuCgoyMDA4LTA4LTIyIDExOjI5OjI2ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L211bHRpcGFydC86IENvbmZvcm0gdG8gUkZDMjA0Ni4gYXVkaW8vYmFzaWMgaXMgbXVsYXcgODAwMEh6IG1vbm8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJICBDb25mb3JtIHRvIFJGQzIwNDYuIGF1ZGlvL2Jhc2ljIGlzIG11bGF3IDgwMDBIeiBtb25vLgoKMjAwOC0wOC0yMSAyMTo1NjoxOSArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYyAoZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJfYWxsb2MsIGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVycG9vbF9jbGVhcik6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMgKGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVyX2FsbG9jLAoJICBnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcnBvb2xfY2xlYXIpOgoJICBGaXggdHdvIG1vcmUgYnVmZmVyIHJlZiBsZWFrcy4KCjIwMDgtMDgtMjEgMTU6Mjg6MDkgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOiBGaXggYnVmZmVyIHJlZiBsZWFrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyAgPG9sZS5hbmRyZS5yYXZuYXMgYXQgdGFuZGJlcmcgY29tPgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3Nob3dfZnJhbWUpOgoJICBGaXggYnVmZmVyIHJlZiBsZWFrLgoKMjAwOC0wOC0yMSAxMzoyNzoxMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogUmV2ZXJ0IHRoZSBsYXN0IGNvbW1pdC4gd2F2ZW5jIHN0aWxsIHN1cHBvcnRzIHdpZHRoIT1kZXB0aCBmb3IgMzIgYml0IHdpZHRoLiBUaGFua3MgVGltLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiAoZ3N0X3dhdmVuY19jaGFpbik6CgkgIFJldmVydCB0aGUgbGFzdCBjb21taXQuIHdhdmVuYyBzdGlsbCBzdXBwb3J0cyB3aWR0aCE9ZGVwdGggZm9yIDMyIGJpdAoJICB3aWR0aC4gVGhhbmtzIFRpbS4KCjIwMDgtMDgtMjEgMTM6MjI6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBJZiB0aGUgZHVyYXRpb24gb2YgYSBibG9jayBpcyB1bmtub3duIG9ubHkgdXNlIHRoZSB0aW1lc3RhbXAgZm9yIHRoZSBmaXJzdCBsYWNlIGFuZCB1cy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrKToKCSAgSWYgdGhlIGR1cmF0aW9uIG9mIGEgYmxvY2sgaXMgdW5rbm93biBvbmx5IHVzZSB0aGUgdGltZXN0YW1wIGZvciB0aGUKCSAgZmlyc3QgbGFjZSBhbmQgdXNlIEdTVF9DTE9DS19USU1FX05PTkUgYXMgZHVyYXRpb24gZm9yIHRoZSBmb2xsb3dpbmcKCSAgbGFjZXMuIE90aGVyd2lzZSBldmVyeSBsYWNlIGhhcyB0aGUgc2FtZSB0aW1lc3RhbXAgd2hpY2ggbGVhZHMgdG8KCSAgdmFyaW91cyBwcm9ibGVtcy4gUmVhbGx5IGZpeGVzIGJ1ZyAjNTQ4ODMxLgoKMjAwOC0wOC0yMSAxMjo1NjowMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogSWYgd2UncmUgbm90IGFsbG93aW5nIHdpZHRoIT1kZXB0aCBpbiB3YXZlbmMgd2Ugc2hvdWxkIGFsc28gZGlzYWJsZSB0aGUgY29kZSB0aGF0IHdhcyBhZGRlZCB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IChnc3Rfd2F2ZW5jX2NoYWluKToKCSAgSWYgd2UncmUgbm90IGFsbG93aW5nIHdpZHRoIT1kZXB0aCBpbiB3YXZlbmMgd2Ugc2hvdWxkIGFsc28gZGlzYWJsZQoJICB0aGUgY29kZSB0aGF0IHdhcyBhZGRlZCB0byBzdXBwb3J0IHdpZHRoIT1kZXB0aC4KCjIwMDgtMDgtMjEgMTI6NTI6NDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBEb24ndCBjYWxjdWxhdGUgdGhlIGRlZmF1bHQgZHVyYXRpb24gb2YgYSBmcmFtZSBmcm9tIHRoZSBhdWRpbyBzYW1wbGluZyByYXRlLiBUaGlzIG9ubC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfc3RyZWFtKToKCSAgRG9uJ3QgY2FsY3VsYXRlIHRoZSBkZWZhdWx0IGR1cmF0aW9uIG9mIGEgZnJhbWUgZnJvbSB0aGUgYXVkaW8gc2FtcGxpbmcKCSAgcmF0ZS4gVGhpcyBvbmx5IHdvcmtzIGZvciByYXcgYXVkaW8gaWYgZXZlcnkgZnJhbWUgY29udGFpbnMgYSBzaW5nbGUKCSAgc2FtcGxlIGFuZCByZXN1bHRzIGluIGJyb2tlbiBidWZmZXIgZHVyYXRpb25zIGZvciBvdGhlciBmb3JtYXRzCgkgIGlmIG5vIHNwZWNpZmllZCBkZWZhdWx0IGR1cmF0aW9uIGlzIGdpdmVuIG9yIHRoZSBibG9ja3MgaGF2ZSBubwoJICBkdXJhdGlvbi4gRml4ZXMgYnVnICM1NDg4MzEuCgoyMDA4LTA4LTIxIDEyOjM0OjMzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogQWxsb3cgemVybyBzaXplZCBibG9ja3MgaW5zdGVhZCBvZiByZXR1cm5pbmcgR1NUX0ZMT1dfT0suIFN1Y2ggYmxvY2tzIGFyZSB1c2VkIGZvciB0ZXguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYmxvY2tncm91cF9vcl9zaW1wbGVibG9jayk6CgkgIEFsbG93IHplcm8gc2l6ZWQgYmxvY2tzIGluc3RlYWQgb2YgcmV0dXJuaW5nIEdTVF9GTE9XX09LLiBTdWNoIGJsb2NrcwoJICBhcmUgdXNlZCBmb3IgdGV4dC9wbGFpbiBzdWJ0aXRsZXMgYXMgYSBnYXAtZmlsbGVyIGluIHNvbWUgZmlsZXMuCgoyMDA4LTA4LTIxIDEyOjEyOjAwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiBBZGQgUzkxMCBhbmQgUFdDIGZvcm1hdHMgd2l0aCBhIGxvdyBwcmlvcml0eS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfdjRsMmZvdXJjY190b19zdHJ1Y3R1cmUpLAoJICAoZ3N0X3Y0bDJfZ2V0X2NhcHNfaW5mbyk6CgkgIEFkZCBTOTEwIGFuZCBQV0MgZm9ybWF0cyB3aXRoIGEgbG93IHByaW9yaXR5LgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2Zvcm1hdF9nZXRfcmFuayksCgkgIChnc3RfdjRsMnNyY19wcm9iZV9jYXBzX2Zvcl9mb3JtYXQpOgoJICBBZGQgbW9yZSBkZWJ1Z2dpbmcuCgoyMDA4LTA4LTIwIDIxOjU0OjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiBGaXggY29tcGlsYXRpb24gYWdhaW5zdCBvbGRlciBsaWJmbGFjIHZlcnNpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIEZpeCBjb21waWxhdGlvbiBhZ2FpbnN0IG9sZGVyIGxpYmZsYWMgdmVyc2lvbnMuCgoyMDA4LTA4LTIwIDE3OjQ2OjQ4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvcHVsc2UvOiBVc2UgR1NUX0JPSUxFUlBMQVRFIGV2ZXJ5d2hlcmUgYW5kIGZpeCBjb2Rpbmcgc3R5bGUgYXQgc29tZSBwbGFjZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9wdWxzZS9wdWxzZW1peGVyLmM6IChnc3RfcHVsc2VtaXhlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9wdWxzZW1peGVyX3NldF9wcm9wZXJ0eSksIChnc3RfcHVsc2VtaXhlcl9nZXRfcHJvcGVydHkpOgoJICAqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5jOiAoZ3N0X3B1bHNlbWl4ZXJfY3RybF9zdWJzY3JpYmVfY2IpLAoJICAoZ3N0X3B1bHNlbWl4ZXJfY3RybF9vcGVuKSwgKGdzdF9wdWxzZW1peGVyX2N0cmxfdGltZW91dF9ldmVudCksCgkgIChnc3RfcHVsc2VtaXhlcl9jdHJsX3NldF92b2x1bWUpOgoJICAqIGV4dC9wdWxzZS9wdWxzZW1peGVydHJhY2suYzogKGdzdF9wdWxzZW1peGVyX3RyYWNrX25ldyk6CgkgICogZXh0L3B1bHNlL3B1bHNlcHJvYmUuYzogKGdzdF9wdWxzZXByb2JlX29wZW4pOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzogKGdzdF9wdWxzZXNpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfcHVsc2VzaW5rX2luaXQpLCAoZ3N0X3B1bHNlc2lua19vcGVuKSwKCSAgKGdzdF9wdWxzZXNpbmtfcHJlcGFyZSksIChnc3RfcHVsc2VzaW5rX3dyaXRlKSwKCSAgKGdzdF9wdWxzZXNpbmtfZGVsYXkpLCAoZ3N0X3B1bHNlc2lua19yZXNldCk6CgkgICogZXh0L3B1bHNlL3B1bHNlc3JjLmM6IChnc3RfcHVsc2VzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfcHVsc2VzcmNfaW5pdCk6CgkgIFVzZSBHU1RfQk9JTEVSUExBVEUgZXZlcnl3aGVyZSBhbmQgZml4IGNvZGluZyBzdHlsZSBhdCBzb21lIHBsYWNlcy4KCSAgRml4IGEgbG9ja2luZyBpc3N1ZSBpbiBwdWxzZXNpbmsncyBwcmVwYXJlIGZ1bmN0aW9uLgoJICAqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzogKGdzdF9wdWxzZV9jaGFubmVsX21hcF90b19nc3QpOgoJICBDaGVjayBpZiB0aGUgY3JlYXRlZCBjaGFubmVsIGxheW91dCBpcyB2YWxpZCBmb3IgR1N0cmVhbWVyLgoKMjAwOC0wOC0yMCAxNzo0MjoyMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3Bnb29nbGUuYzogVGhpbmdzIHRoYXQgY2FuIGhhcHBlbiB3aGVuIHlvdXIgYnJhaW4gaXMgaW4gZ29vZ2xlIG1vZGUgdHJ5aW5nIHRvIGRlYWwgd2l0aCB0aGVpciBnb29nbGUgci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwZ29vZ2xlLmM6CgkgIFRoaW5ncyB0aGF0IGNhbiBoYXBwZW4gd2hlbiB5b3VyIGJyYWluIGlzIGluIGdvb2dsZSBtb2RlIHRyeWluZyB0bwoJICBkZWFsIHdpdGggdGhlaXIgZ29vZ2xlIHJ0c3Agc2VydmVyIGV4dGVuc2lvbnMgYW5kIHRyeWluZyB0byB0eXBlIHlvdXIKCSAgZ29vZ2xlIG1haWwgYWNjb3VudC4KCjIwMDgtMDgtMjAgMTc6MzA6MTkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC86IEFkZCBnb29nbGUgUlRTUCBleHRlbnNpb24sIGl0IGNhbiBvbmx5IGhhbmRsZSB1ZHAgYW5kIHJlc3BvbmRzIHdpdGggdW5zdXBwb3J0ZWQgaWYgd2UgZG8gYW55dGhpbmcgZWxzZS4gRmkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0c3AvZ3N0cnRzcC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3Bnb29nbGUuYzogKGdzdF9ydHNwX2dvb2dsZV9iZWZvcmVfc2VuZCksCgkgIChnc3RfcnRzcF9nb29nbGVfYWZ0ZXJfc2VuZCksIChnc3RfcnRzcF9nb29nbGVfZ2V0X3RyYW5zcG9ydHMpLAoJICAoX2RvX2luaXQpLCAoZ3N0X3J0c3BfZ29vZ2xlX2Jhc2VfaW5pdCksCgkgIChnc3RfcnRzcF9nb29nbGVfY2xhc3NfaW5pdCksIChnc3RfcnRzcF9nb29nbGVfaW5pdCksCgkgIChnc3RfcnRzcF9nb29nbGVfZmluYWxpemUpLCAoZ3N0X3J0c3BfZ29vZ2xlX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRzcF9nb29nbGVfZXh0ZW5zaW9uX2luaXQpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3Bnb29nbGUuaDoKCSAgQWRkIGdvb2dsZSBSVFNQIGV4dGVuc2lvbiwgaXQgY2FuIG9ubHkgaGFuZGxlIHVkcCBhbmQgcmVzcG9uZHMgd2l0aAoJICB1bnN1cHBvcnRlZCBpZiB3ZSBkbyBhbnl0aGluZyBlbHNlLiBGaXhlcyAjNTQ2NDY1LgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2Nvbm5lY3Rpb25fc2VuZCksCgkgIChnc3RfcnRzcHNyY19jb25uZWN0aW9uX3JlY2VpdmUpLCAoZ3N0X3J0c3BzcmNfbG9vcF9zZW5kX2NtZCksCgkgIChnc3RfcnRzcHNyY19jcmVhdGVfdHJhbnNwb3J0c19zdHJpbmcpLAoJICAoZ3N0X3J0c3BzcmNfc2V0dXBfc3RyZWFtcyksIChnc3RfcnRzcHNyY19vcGVuKSwKCSAgKGdzdF9ydHNwc3JjX2Nsb3NlKSwgKGdzdF9ydHNwc3JjX3BhdXNlKToKCSAgTWFrZSB0cmFuc3BvcnQgc2V0dXAgY29kZSBhIGJpdCBiZXR0ZXIgdXNpbmcgR1N0cmluZy4KCSAgQWRkIHNvbWUgbW9yZSBkZWJ1Zy4KCSAgQ2hlY2sgZm9yIGNsb3NlZCBjb25uZWN0aW9ucyBiZWZvcmUgZG9pbmcgYW55dGhpbmcgb24gdGhlbS4KCjIwMDgtMDgtMjAgMTc6MTc6NTUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9wdWxzZS86IElmIGRvd25zdHJlYW0gcHJvdmlkZXMgbm8gY2hhbm5lbCBsYXlvdXQgYW5kID4yIGNoYW5uZWxzIHNob3VsZCBiZSB1c2VkIHVzZSB0aGUgZGVmYXVsdCBsYXlvdXQgdGhhdCBwdWxzZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcHVsc2UvcHVsc2VzcmMuYzogKGdzdF9wdWxzZXNyY19jbGFzc19pbml0KSwKCSAgKGdzdF9wdWxzZXNyY19jcmVhdGVfc3RyZWFtKSwgKGdzdF9wdWxzZXNyY19uZWdvdGlhdGUpLAoJICAoZ3N0X3B1bHNlc3JjX3ByZXBhcmUpOgoJICAqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzogKGdzdF9wdWxzZV9nc3RfdG9fY2hhbm5lbF9tYXApLAoJICAoZ3N0X3B1bHNlX2NoYW5uZWxfbWFwX3RvX2dzdCk6CgkgICogZXh0L3B1bHNlL3B1bHNldXRpbC5oOgoJICBJZiBkb3duc3RyZWFtIHByb3ZpZGVzIG5vIGNoYW5uZWwgbGF5b3V0IGFuZCA+MiBjaGFubmVscyBzaG91bGQgYmUKCSAgdXNlZCB1c2UgdGhlIGRlZmF1bHQgbGF5b3V0IHRoYXQgcHVsc2VhdWRpbyBjaG9vc2VzIGFuZCBhbHNvCgkgIGFkZCB0aGlzIGxheW91dCB0byB0aGUgY2Fwcy4gRml4ZXMgYnVnICM1NDcyNTguCgoyMDA4LTA4LTIwIDExOjUxOjM4ICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC91ZHAvOiBBdm9pZCBsZWFraW5nIGludGVybmFsbHkgYWxsb2NhdGVkIGZpbGUgZGVzY3JpcHRvcnMgd2hlbiBzZXR0aW5nIGN1c3RvbSBmaWxlIGRlc2NyaXB0b3JzLiBGaXhlcyAjNTQzMTAxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqIGF0IGF4aXMgY29tPgoJICAqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOiAoZ3N0X2R5bnVkcHNpbmtfaW5pdCksCgkgIChnc3RfZHludWRwc2lua19maW5hbGl6ZSksIChnc3RfZHludWRwc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2R5bnVkcHNpbmtfaW5pdF9zZW5kKSwgKGdzdF9keW51ZHBzaW5rX2Nsb3NlKToKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19pbml0KSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfZmluYWxpemUpLCAoZ3N0X211bHRpdWRwc2lua19zZXRfcHJvcGVydHkpOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2ZpbmFsaXplKSwKCSAgKGdzdF91ZHBzcmNfc2V0X3Byb3BlcnR5KToKCSAgQXZvaWQgbGVha2luZyBpbnRlcm5hbGx5IGFsbG9jYXRlZCBmaWxlIGRlc2NyaXB0b3JzIHdoZW4gc2V0dGluZwoJICBjdXN0b20gZmlsZSBkZXNjcmlwdG9ycy4gRml4ZXMgIzU0MzEwMS4KCjIwMDgtMDgtMjAgMTE6NDg6NDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IERvbid0IHRyeSB0byBjb25maWd1cmUgUlRDUCBiYWNrIHRvIHRoZSBzZXJ2ZXIgd2hlbiB0aGUgc2VydmVyIGRpZCBub3QgZ2l2ZSB1cyBhIHZhbGlkIHBvcnQgbnUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV91ZHBfc2luayk6CgkgIERvbid0IHRyeSB0byBjb25maWd1cmUgUlRDUCBiYWNrIHRvIHRoZSBzZXJ2ZXIgd2hlbiB0aGUgc2VydmVyIGRpZCBub3QKCSAgZ2l2ZSB1cyBhIHZhbGlkIHBvcnQgbnVtYmVyLgoKMjAwOC0wOC0yMCAxMDo1OTo1MiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiBVc2UgbmV3IGJhc2V0cmFuc2Zvcm0gbWV0aG9kIHRvIHJlbmVnb3RpYXRlLiBGaXhlcyAjNTQ0OTU2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogKGdzdF92aWRlb19ib3hfc2V0X3Byb3BlcnR5KToKCSAgVXNlIG5ldyBiYXNldHJhbnNmb3JtIG1ldGhvZCB0byByZW5lZ290aWF0ZS4gRml4ZXMgIzU0NDk1Ni4KCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9pY2xlcy92aWRlb2JveC10ZXN0LmM6IChtYWtlX3BpcGVsaW5lKSwgKG1haW4pOgoJICBBZGQgdmlkZW9ib3ggcmVuZWdvdGlhdGlvbiBleGFtcGxlLgoKMjAwOC0wOC0xOSAyMTowMzoyMiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiBSZW1vdmUgZGVwdGggcmFuZ2VzIGFuZCByZXBsYWNlIHdpdGggc2FuZSB2YWx1ZXMuICBGaXhlcyAjNTQ4NTMwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiBSZW1vdmUgZGVwdGggcmFuZ2VzIGFuZCByZXBsYWNlCgkgIHdpdGggc2FuZSB2YWx1ZXMuICBGaXhlcyAjNTQ4NTMwLgoKMjAwOC0wOC0xOCAxNTowNTozMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3B1bHNlLzogVGhlIGJ5dGVzX3Blcl9zYW1wbGUgYW5kIHNpbGVuY2Vfc2FtcGxlIGZpZWxkcyBvZiB0aGUgR3N0UmluZ0J1ZmZlclNwZWMgYXJlIGFscmVhZHkgZmlsbGVkIHdpdGggdGhlIGNvcnJlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzogKGdzdF9wdWxzZXNpbmtfcHJlcGFyZSk6CgkgICogZXh0L3B1bHNlL3B1bHNlc3JjLmM6IChnc3RfcHVsc2VzcmNfcHJlcGFyZSk6CgkgIFRoZSBieXRlc19wZXJfc2FtcGxlIGFuZCBzaWxlbmNlX3NhbXBsZSBmaWVsZHMgb2YgdGhlIEdzdFJpbmdCdWZmZXJTcGVjCgkgIGFyZSBhbHJlYWR5IGZpbGxlZCB3aXRoIHRoZSBjb3JyZWN0IHZhbHVlcyBieQoJICBnc3RfcmluZ19idWZmZXJfcGFyc2VfY2FwcygpIHNvIHRoZXJlJ3Mgbm8gbmVlZCB0byBzZXQgdGhlbSBhZ2FpbgoJICB3aXRoIHdyb25nIHZhbHVlcy4KCjIwMDgtMDgtMTYgMTQ6NTQ6NTYgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IFNvbWUgQVZJIDIuMCAoT0RNTCkgZmlsZXMgZG9uJ3QgcmVzcGVjdCB0aGUgJ3NwZWNpZmljYXRpb25zJyBjb21wbGV0ZWx5IGFuZCBpbnN0ZWFkIG9mIHVzaW5nIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9yZWFkX3N1YmluZGV4ZXNfcHVsbCksCgkgIChnc3RfYXZpX2RlbXV4X3JlYWRfc3ViaW5kZXhlc19wdXNoKToKCSAgU29tZSBBVkkgMi4wIChPRE1MKSBmaWxlcyBkb24ndCByZXNwZWN0IHRoZSAnc3BlY2lmaWNhdGlvbnMnIGNvbXBsZXRlbHkKCSAgYW5kIGluc3RlYWQgb2YgdXNpbmcgdGhlICdpeCMjJyBub21lbmNsYXR1cmUsIHVzZSAnIyNpeCcuCgkgIFRoZXkncmUgc3RpbGwgdmFsaWQgdGhvdWdoLCB0aGlzIGZpeGVzIHRoZSBkdXJhdGlvbiBhbmQgaW5kZXhlcyBmb3IKCSAgdmlydHVhbGx5IGFsbCB0aGUgT0RNTCBmaWxlcyBJIGhhdmUuCgoyMDA4LTA4LTE1IDE3OjI2OjE4ICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cC86IFVwZGF0ZSB0aGUgdm9yYmlzIFJUUCBwYXkvZGVwYXkgdG8gUkZDIDUyMTUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOiAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX3ZvcmJpc19kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOiAoZ3N0X3J0cF92b3JiaXNfcGF5X2ZpbmlzaF9oZWFkZXJzKToKCSAgVXBkYXRlIHRoZSB2b3JiaXMgUlRQIHBheS9kZXBheSB0byBSRkMgNTIxNS4KCSAgRml4ZXMgIzU0Nzg0Mi4KCjIwMDgtMDgtMTQgMjI6MDc6MDIgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgJ2hkdjYnIGFzIGEgSERWIGZvcm1hdCBmb3IgMTA4MGkvNjAgd2l0aCAzOjIgcHVsbGRvd24sIGkuZS4sIDI0cC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgJ2hkdjYnIGFzIGEgSERWIGZvcm1hdCBmb3IgMTA4MGkvNjAKCSAgd2l0aCAzOjIgcHVsbGRvd24sIGkuZS4sIDI0cC4KCjIwMDgtMDgtMTQgMTI6NDc6MDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOiBGaXggY29tcGlsYXRpb24gc29tZSBtb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBGaXggY29tcGlsYXRpb24gc29tZSBtb3JlLgoKMjAwOC0wOC0xNCAxMTo0NDo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogUmVxdWlyZSAtYmFzZSBDVlMgZm9yIHdhdnBhcnNlIGFjaWQgY2h1bmsgcGFyc2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOjoKCSAgUmVxdWlyZSAtYmFzZSBDVlMgZm9yIHdhdnBhcnNlIGFjaWQgY2h1bmsgcGFyc2luZy4KCjIwMDgtMDgtMTMgMTM6NTc6MDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9wdWxzZS9wdWxzZXNpbmsuKjogQWRkICJkZXZpY2UtbmFtZSIgcHJvcGVydHkgdG8gcHVsc2VzaW5rIHRvbyBhbmQgY3VycmVudGx5IGNvbW1lbnRlZCBvdXQgYW5kIG5vdCB3b3JraW5nIHN1cHBvci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6IChnc3RfcHVsc2VzaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X3B1bHNlc2lua19pbml0KSwgKGdzdF9wdWxzZXNpbmtfZmluYWxpemUpLAoJICAoZ3N0X3B1bHNlc2lua19zZXRfdm9sdW1lKSwgKGdzdF9wdWxzZXNpbmtfZ2V0X3ZvbHVtZSksCgkgIChnc3RfcHVsc2VzaW5rX3NldF9wcm9wZXJ0eSksIChnc3RfcHVsc2VzaW5rX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcHVsc2VzaW5rX3ByZXBhcmUpLCAoZ3N0X3B1bHNlc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSAgQWRkICJkZXZpY2UtbmFtZSIgcHJvcGVydHkgdG8gcHVsc2VzaW5rIHRvbyBhbmQgY3VycmVudGx5IGNvbW1lbnRlZAoJICBvdXQgYW5kIG5vdCB3b3JraW5nIHN1cHBvcnQgZm9yIGEgInZvbHVtZSIgcHJvcGVydHkuCgoyMDA4LTA4LTEzIDEzOjE3OjE1ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgY29uZmlndXJlLmFjOiBSZW1vdmUgbW9yZSBjZGlvIHN0dWZmIChtb3ZlZCB0byB1Z2x5KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFJlbW92ZSBtb3JlIGNkaW8gc3R1ZmYgKG1vdmVkIHRvIHVnbHkpCgoyMDA4LTA4LTEzIDEyOjM3OjI2ICswMDAwICBMYXN6bG8gUGFuZHkgPGxhc3psb2syQGdtYWlsLmNvbT4KCgkgIGV4dC9wdWxzZS9wdWxzZXNyYy5jOiBBZGQgImRldmljZS1uYW1lIiBwcm9wZXJ0eSwgd2hpY2ggcHJvdmlkZXMgYSBodW1hbiByZWFkYWJsZSBzdHJpbmcgZm9yIHRoZSBhdWRpbyBkZXZpY2UsIHRvIG1hay4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IExhc3psbyBQYW5keSA8bGFzemxvazIgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBleHQvcHVsc2UvcHVsc2VzcmMuYzogKGdzdF9wdWxzZXNyY19jbGFzc19pbml0KSwKCSAgKGdzdF9wdWxzZXNyY19nZXRfcHJvcGVydHkpOgoJICBBZGQgImRldmljZS1uYW1lIiBwcm9wZXJ0eSwgd2hpY2ggcHJvdmlkZXMgYSBodW1hbiByZWFkYWJsZSBzdHJpbmcKCSAgZm9yIHRoZSBhdWRpbyBkZXZpY2UsIHRvIG1ha2UgaXQgbW9yZSBjb25zaXN0ZW4gd2l0aCBvdGhlciBhdWRpbwoJICBzb3VyY2VzLiBGaXhlcyBidWcgIzU0NzUxOS4KCjIwMDgtMDgtMTMgMTI6MzQ6MTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9wdWxzZS86IEltcHJvdmUgZGVidWdnaW5nIGEgYml0IGJ5IGluY2x1ZGluZyB0aGUgcGFyZW50IG9iamVjdCBpbiBwdWxzZW1peGVyY3RybCBhbmQgcHVsc2Vwcm9iZSBvYmplY3RzIGFuZCB1c2luZy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcHVsc2UvcHVsc2VtaXhlci5jOiAoZ3N0X3B1bHNlbWl4ZXJfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuYzogKGdzdF9wdWxzZW1peGVyX2N0cmxfc3Vic2NyaWJlX2NiKSwKCSAgKGdzdF9wdWxzZW1peGVyX2N0cmxfb3BlbiksIChnc3RfcHVsc2VtaXhlcl9jdHJsX25ldyksCgkgIChnc3RfcHVsc2VtaXhlcl9jdHJsX2ZyZWUpLCAoZ3N0X3B1bHNlbWl4ZXJfY3RybF90aW1lb3V0X2V2ZW50KToKCSAgKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuaDoKCSAgKiBleHQvcHVsc2UvcHVsc2Vwcm9iZS5jOiAoZ3N0X3B1bHNlcHJvYmVfb3BlbiksCgkgIChnc3RfcHVsc2Vwcm9iZV9lbnVtZXJhdGUpLCAoZ3N0X3B1bHNlcHJvYmVfbmV3KSwKCSAgKGdzdF9wdWxzZXByb2JlX2ZyZWUpLCAoZ3N0X3B1bHNlcHJvYmVfbmVlZHNfcHJvYmUpLAoJICAoZ3N0X3B1bHNlcHJvYmVfcHJvYmVfcHJvcGVydHkpLCAoZ3N0X3B1bHNlcHJvYmVfZ2V0X3ZhbHVlcyk6CgkgICogZXh0L3B1bHNlL3B1bHNlcHJvYmUuaDoKCSAgKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6IChnc3RfcHVsc2VzaW5rX2luaXQpOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOiAoZ3N0X3B1bHNlc3JjX2luaXQpLCAoZ3N0X3B1bHNlc3JjX2RlbGF5KSwKCSAgKGdzdF9wdWxzZXNyY19jaGFuZ2Vfc3RhdGUpOgoJICBJbXByb3ZlIGRlYnVnZ2luZyBhIGJpdCBieSBpbmNsdWRpbmcgdGhlIHBhcmVudCBvYmplY3QgaW4gcHVsc2VtaXhlcmN0cmwKCSAgYW5kIHB1bHNlcHJvYmUgb2JqZWN0cyBhbmQgdXNpbmcgR1NUX1dBUk5JTkdfT0JKRUNUIGluc3RlYWQgb2YKCSAgR1NUX1dBUk5JTkcuCgkgIFVzZSB0aGUgcGFyZW50IEdPYmplY3Qgc3ViY2xhc3MgaW5zdGVhZCBvZiBhIHJhbmRvbSBzdHJ1Y3QgYXMgR09iamVjdAoJICBwYXJhbWV0ZXIgZm9yIEdfT0JKRUNUX1dBUk5fSU5WQUxJRF9QUk9QRVJUWV9JRC4gVGhpcyBmaXhlcyBhIGNyYXNoCgkgIHdoZW4gcHJvYmluZyBmb3IgYW5vdGhlciBwcm9wZXJ0eSB0aGFuICJkZXZpY2UiLgoKMjAwOC0wOC0xMyAxMjoyMToyMiArMDAwMCAgTGFzemxvIFBhbmR5IDxsYXN6bG9rMkBnbWFpbC5jb20+CgoJICBleHQvcHVsc2UvcHVsc2VtaXhlci5jOiBGaXggcHJvcGVydHkgcHJvYmluZyBhZnRlciB0aGUgZGV2aWNlIHByb3BlcnR5IGlzIHNldCBieSBjYWxsaW5nIHNldF9zZXJ2ZXIgd2hlbiB0aGUgc2VydmVyIHAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBMYXN6bG8gUGFuZHkgPGxhc3psb2syIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZXh0L3B1bHNlL3B1bHNlbWl4ZXIuYzogKGdzdF9wdWxzZW1peGVyX3NldF9wcm9wZXJ0eSk6CgkgIEZpeCBwcm9wZXJ0eSBwcm9iaW5nIGFmdGVyIHRoZSBkZXZpY2UgcHJvcGVydHkgaXMgc2V0IGJ5IGNhbGxpbmcKCSAgc2V0X3NlcnZlciB3aGVuIHRoZSBzZXJ2ZXIgcHJvcGVydHkgY2hhbmdlcy4gRml4ZXMgYnVnICM1NDc1MTguCgoyMDA4LTA4LTEzIDEyOjExOjM0ICswMDAwICBMYXN6bG8gUGFuZHkgPGxhc3psb2syQGdtYWlsLmNvbT4KCgkgIGV4dC9wdWxzZS9wdWxzZW1peGVyLmM6IEZpeCBwcm9wZXJ0eSBwcm9iaW5nIGFmdGVyIHRoZSBkZXZpY2UgcHJvcGVydHkgaXMgc2V0IGJ5IGNhbGxpbmcgc2V0X3NlcnZlciB3aGVuIHRoZSBzZXJ2ZXIgcC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IExhc3psbyBQYW5keSA8bGFzemxvazIgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBleHQvcHVsc2UvcHVsc2VtaXhlci5jOiAoZ3N0X3B1bHNlbWl4ZXJfc2V0X3Byb3BlcnR5KToKCSAgRml4IHByb3BlcnR5IHByb2JpbmcgYWZ0ZXIgdGhlIGRldmljZSBwcm9wZXJ0eSBpcyBzZXQgYnkgY2FsbGluZwoJICBzZXRfc2VydmVyIHdoZW4gdGhlIHNlcnZlciBwcm9wZXJ0eSBjaGFuZ2VzLiBGaXhlcyBidWcgIzU0NzUxOC4KCjIwMDgtMDgtMTMgMTI6MDE6MDEgKzAwMDAgIExhc3psbyBQYW5keSA8bGFzemxvazJAZ21haWwuY29tPgoKCSAgZXh0L3B1bHNlLzogSW1wbGVtZW50IEdzdFByb3BlcnR5UHJvYmUgaW50ZXJmYWNlIG9uIHB1bHNlc2luayBmb3IgZGV0ZWN0aW5nIHNpbmsgZGV2aWNlcyBhbmQgb24gcHVsc2VzcmMgZm9yIGRldGVjdGluLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTGFzemxvIFBhbmR5IDxsYXN6bG9rMiBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzogKGdzdF9wdWxzZXNpbmtfaW50ZXJmYWNlX3N1cHBvcnRlZCksCgkgIChnc3RfcHVsc2VzaW5rX2ltcGxlbWVudHNfaW50ZXJmYWNlX2luaXQpLAoJICAoZ3N0X3B1bHNlc2lua19pbml0X2ludGVyZmFjZXMpLCAoZ3N0X3B1bHNlc2lua19pbml0KSwKCSAgKGdzdF9wdWxzZXNpbmtfZmluYWxpemUpLCAoZ3N0X3B1bHNlc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3B1bHNlc2lua19nZXRfdHlwZSk6CgkgICogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOiAoZ3N0X3B1bHNlc3JjX2ludGVyZmFjZV9zdXBwb3J0ZWQpLAoJICAoZ3N0X3B1bHNlc3JjX2luaXRfaW50ZXJmYWNlcyksIChnc3RfcHVsc2VzcmNfaW5pdCksCgkgIChnc3RfcHVsc2VzcmNfZmluYWxpemUpLCAoZ3N0X3B1bHNlc3JjX3NldF9wcm9wZXJ0eSk6CgkgICogZXh0L3B1bHNlL3B1bHNlc3JjLmg6CgkgIEltcGxlbWVudCBHc3RQcm9wZXJ0eVByb2JlIGludGVyZmFjZSBvbiBwdWxzZXNpbmsgZm9yIGRldGVjdGluZwoJICBzaW5rIGRldmljZXMgYW5kIG9uIHB1bHNlc3JjIGZvciBkZXRlY3Rpbmcgc291cmNlIGRldmljZXMuCgkgIEZpeGVzIGJ1Z3MgIzU0NzIyNyBhbmQgIzU0NzIxNy4KCjIwMDgtMDgtMTMgMDk6MTc6MjAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBEb24ndCB0ZXJtaW5hdGUgb24gZmFicyhpbik+MS4wLiBJbml0IGRvdWJsZXMgYXMgZG91Ymxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIERvbid0IHRlcm1pbmF0ZSBvbiBmYWJzKGluKT4xLjAuIEluaXQgZG91YmxlcyBhcyBkb3VibGVzLgoKMjAwOC0wOC0xMyAwODozMzo1NyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogUHJvcGVybHkgc2V0IHRoZSBtYXhpbXVtIGxhdGVuY3kgdmFsdWUsIGluIHRoZSBzYW1lIHdheSBpdCBpcyBkb25lIGluIHY0bHNyYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfcXVlcnkpOgoJICBQcm9wZXJseSBzZXQgdGhlIG1heGltdW0gbGF0ZW5jeSB2YWx1ZSwgaW4gdGhlIHNhbWUgd2F5IGl0IGlzIGRvbmUgaW4KCSAgdjRsc3JjLgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgU2ltcGxpZnkgZnJhY3Rpb24gZXF1YWxpdHkgY2hlY2ssIG5vIG5lZWQgdG8gdXNlIEdWYWx1ZXMgZm9yIHRoaXMuCgoyMDA4LTA4LTEyIDEyOjA0OjI0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiBBZGQgd2FybmluZyBtZXNzYWdlcyBzdGF0aW5nIGV4YWN0bHkgd2h5IHRoZSBsYXRlbmN5IHF1ZXJ5IGZhaWxlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfcXVlcnkpOgoJICBBZGQgd2FybmluZyBtZXNzYWdlcyBzdGF0aW5nIGV4YWN0bHkgd2h5IHRoZSBsYXRlbmN5IHF1ZXJ5IGZhaWxlZC4KCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19zZXRfY2FwdHVyZSk6CgkgIEluIHNvbWUgY2FzZXMsIHRoZSBuZWdvdGlhdGVkIGZyYW1lcmF0ZSBtaWdodCBiZSB0aGUgZGVmYXVsdCBvbmUgd2hpY2gKCSAgaXMgYWxyZWFkeSBzZXQgaW50ZXJuYWxseS4gQnV0IHdlIHN0aWxsIG5lZWQgdG8gbWFyayBpdCBkb3duIGluIGZwc19uCgkgIGFuZCBmcHNfZCBzbyB0aGF0IHRoZSBsYXRlbmN5IHF1ZXJ5IGNhbiBoYXBwZW4gcHJvcGVybHkuCgoyMDA4LTA4LTEyIDExOjI4OjQ3ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOiBXaG9vcHMsIGZvcmdvdCBvbmUgZG9jIGZpbGUgZm9yIHBlb3BsZSB3aG8gY2FuJ3QvZG9uJ3QgYnVpbGQgdGhlIHJhdzEzOTQgcGx1Z2luLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkgIFdob29wcywgZm9yZ290IG9uZSBkb2MgZmlsZSBmb3IgcGVvcGxlIHdobyBjYW4ndC9kb24ndCBidWlsZCB0aGUKCSAgcmF3MTM5NCBwbHVnaW4uCgoyMDA4LTA4LTEyIDA5OjIyOjI5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFB1bGwgY2hhbmdlcyBmcm9tIDAuMTAuOS4yIHByZS1yZWxlYXNlIGJyYW5jaCBtb3ZpbmcgdGhlIGxpYmNkaW8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGlvLnhtbDoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2NkaW8vTWFrZWZpbGUuYW06CgkgICogZXh0L2NkaW8vZ3N0Y2Rpby5jOgoJICAqIGV4dC9jZGlvL2dzdGNkaW8uaDoKCSAgKiBleHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5jOgoJICAqIGV4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmg6CgkgIFB1bGwgY2hhbmdlcyBmcm9tIDAuMTAuOS4yIHByZS1yZWxlYXNlIGJyYW5jaCBtb3ZpbmcgdGhlIGxpYmNkaW8KCSAgQ0REQSBzb3VyY2UgdG8gLXVnbHkuCgkgICogcG8vTElOR1VBUzoKCSAgKiBwby9QT1RGSUxFUy5pbjoKCSAgKiBwby9pZC5wbzoKCSAgUHVsbCBpbiBuZXcgdHJhbnNsYXRpb24gZnJvbSAwLjEwLjkuMiByZWxlYXNlIGJyYW5jaC4KCjIwMDgtMDgtMTEgMTU6MDU6MTMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBkb2NzL3BsdWdpbnMvOiBJbnRlZ3JhdGUgZG9jdW1lbnRhdGlvbiBmb3IgbmV3IGhkdjEzOTRzcmMgZWxlbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgIEludGVncmF0ZSBkb2N1bWVudGF0aW9uIGZvciBuZXcgaGR2MTM5NHNyYyBlbGVtZW50LgoKMjAwOC0wOC0xMSAxNDozNjoxMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9yYXcxMzk0LzogbXBlZzItdHMgKEhEVikgdmFyaWFudCBvZiBmaXJld2lyZSBjYXB0dXJlIGVsZW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yYXcxMzk0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9yYXcxMzk0L2dzdDEzOTQuYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6IChfZG9faW5pdCksCgkgIChnc3RfaGR2MTM5NHNyY19iYXNlX2luaXQpLCAoZ3N0X2hkdjEzOTRzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfaGR2MTM5NHNyY19pbml0KSwgKGdzdF9oZHYxMzk0c3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X2hkdjEzOTRzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9oZHYxMzk0c3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfaGR2MTM5NHNyY19mcm9tX3JhdzEzOTRoYW5kbGUpLAoJICAoZ3N0X2hkdjEzOTRzcmNfaWVjNjE4ODNfcmVjZWl2ZSksIChnc3RfaGR2MTM5NHNyY19idXNfcmVzZXQpLAoJICAoZ3N0X2hkdjEzOTRzcmNfY3JlYXRlKSwgKGdzdF9oZHYxMzk0c3JjX2Rpc2NvdmVyX2F2Y19ub2RlKSwKCSAgKGdzdF9oZHYxMzk0c3JjX3N0YXJ0KSwgKGdzdF9oZHYxMzk0c3JjX3N0b3ApLAoJICAoZ3N0X2hkdjEzOTRzcmNfdW5sb2NrKSwgKGdzdF9oZHYxMzk0c3JjX3VwZGF0ZV9kZXZpY2VfbmFtZSksCgkgIChnc3RfaGR2MTM5NHNyY191cmlfZ2V0X3R5cGUpLCAoZ3N0X2hkdjEzOTRzcmNfdXJpX2dldF9wcm90b2NvbHMpLAoJICAoZ3N0X2hkdjEzOTRzcmNfdXJpX2dldF91cmkpLCAoZ3N0X2hkdjEzOTRzcmNfdXJpX3NldF91cmkpLAoJICAoZ3N0X2hkdjEzOTRzcmNfdXJpX2hhbmRsZXJfaW5pdCk6CgkgICogZXh0L3JhdzEzOTQvZ3N0aGR2MTM5NHNyYy5oOgoJICBtcGVnMi10cyAoSERWKSB2YXJpYW50IG9mIGZpcmV3aXJlIGNhcHR1cmUgZWxlbWVudC4KCSAgRml4ZXMgIzM1MDgzMAoKMjAwOC0wOC0xMSAxMDo1MzowNiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiBGaXggY29tcGlsYXRpb24gKGFsc28ga25vd24gYXMgdGhlIGNsYXNzaWMgJ2ZpeCBjb2RlIHRoYXQgc29tZW9uZSBjb21taXR0ZWQgd2l0aG91dCBjb21waWxpbmcgaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogKGdzdF9sZXZlbF9tZXNzYWdlX25ldyk6CgkgIEZpeCBjb21waWxhdGlvbiAoYWxzbyBrbm93biBhcyB0aGUgY2xhc3NpYyAnZml4IGNvZGUgdGhhdCBzb21lb25lCgkgIGNvbW1pdHRlZCB3aXRob3V0IGNvbXBpbGluZyBpdCBmaXJzdCcpLgoKMjAwOC0wOC0xMCAxOTo0MDoyNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzogQWRkIGEgdGVzdCBmb3IgbGV2ZWwgaW4gc3RlcmVvIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkgIEFkZCBhIHRlc3QgZm9yIGxldmVsIGluIHN0ZXJlbyBtb2RlLgoKMjAwOC0wOC0xMCAxOTozNTowNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vOiBEZW1vIGhvdyB0byBkcmF3IGFuYWx5emVyIHJlc3VsdHMgc3luY2VkIHRvIHRoZSBjbG9jay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzoKCSAgKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOgoJICBEZW1vIGhvdyB0byBkcmF3IGFuYWx5emVyIHJlc3VsdHMgc3luY2VkIHRvIHRoZSBjbG9jay4KCjIwMDgtMDgtMTAgMTU6NTI6NDIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiBMaXR0bGUgcmVuYW1pbmcgKGwgLT4gbGV2ZWwpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgTGl0dGxlIHJlbmFtaW5nIChsIC0+IGxldmVsKS4KCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgQWxzbyBzZW5kIGZ1bGwgdGltZXN0YW1wL2R1cmF0aW9uIGRldGFpbHMgaGVyZS4KCjIwMDgtMDgtMTAgMTE6MzI6MDMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9sZXZlbC9nc3RsZXZlbC4qOiBTZW5kIHNhbWUgdGltZXN0YW1wL2R1cmF0aW9uIGRldGFpbHMgYXMgdmlkZW9hbmFseXNpcy4gVGhpcyBnaXZlcyBhcHBsaWNhdGlvbnMgYmV0dGVyIGNoYW5jZSB0by4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuaDoKCSAgU2VuZCBzYW1lIHRpbWVzdGFtcC9kdXJhdGlvbiBkZXRhaWxzIGFzIHZpZGVvYW5hbHlzaXMuIFRoaXMgZ2l2ZXMKCSAgYXBwbGljYXRpb25zIGJldHRlciBjaGFuY2UgdG8gc3luYyBhbmFseXNpcyByZXN1bHRzIHdpdGggcGxheWJhY2suCgoyMDA4LTA4LTA5IDE0OjAyOjI3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IFdlIG5lZWQgdG8gZHJvcCBvbmUgYWRkaXRpb25hbCBidWZmZXIgZm9yIEZMQUMgYXMgdGhlIGZMYUMgbWFya2VyIGFuZCBTVFJFQU1JTkZPIGJsb2NrIGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICAoZ3N0X21hdHJvc2thX211eF9oYW5kbGVfc2lua19ldmVudCksCgkgIChmbGFjX3N0cmVhbWhlYWRlcl90b19jb2RlY2RhdGEpOgoJICBXZSBuZWVkIHRvIGRyb3Agb25lIGFkZGl0aW9uYWwgYnVmZmVyIGZvciBGTEFDIGFzIHRoZSBmTGFDCgkgIG1hcmtlciBhbmQgU1RSRUFNSU5GTyBibG9jayBhcmUgbWVyZ2VkIGludG8gb25lIGJ1ZmZlciBpbiB0aGUgY2Fwcy4KCSAgQWxzbyBkb24ndCBwcmV0ZW5kIHRvIHN1cHBvcnQgTkVXU0VHTUVOVCBldmVudHMsIG90aGVyd2lzZSB3ZQoJICB3aWxsIG1vc3QgcHJvYmFibHkgd3JpdGUgc29tZSBpbnZhbGlkIGRhdGEuCgoyMDA4LTA4LTA5IDEzOjQ4OjIyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IEFkZCBzdXBwb3J0IGZvciBtdXhpbmcgRkxBQyBpbnRvIE1hdHJvc2thIGNvbnRhaW5lcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGZsYWNfc3RyZWFtaGVhZGVyX3RvX2NvZGVjZGF0YSksCgkgIChnc3RfbWF0cm9za2FfbXV4X2F1ZGlvX3BhZF9zZXRjYXBzKToKCSAgQWRkIHN1cHBvcnQgZm9yIG11eGluZyBGTEFDIGludG8gTWF0cm9za2EgY29udGFpbmVycy4KCSAgRml4ZXMgYnVnICMzMTE1ODYuCgoyMDA4LTA4LTA5IDA4OjU4OjI2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IEFjdHVhbGx5IHByb3ZpZGUgdGhlIHZhcmlhYmxlcyByZXF1aXJlZCBmb3IgdGhlIGZvcm1hdCBzdHJpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogKGdzdF9mbGFjX2VuY19jaGVja19kaXNjb250KToKCSAgQWN0dWFsbHkgcHJvdmlkZSB0aGUgdmFyaWFibGVzIHJlcXVpcmVkIGZvciB0aGUgZm9ybWF0IHN0cmluZy4KCjIwMDgtMDgtMDggMTY6MjA6MjYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC4qOiBDbG9zZSB0aGUgY3VycmVudCBzZWdtZW50IGlmIHdlJ3JlIGRvaW5nIGEgbm9uLWZsdXNoaW5nIHNlZWsgYW5kIHNlbmQgdGhlIGNsb3NlLXNlZ21lbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9yZXNldCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfZWxlbWVudF9zZW5kX2V2ZW50KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc2Vla19ldmVudCksIChnc3RfbWF0cm9za2FfZGVtdXhfbG9vcCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIENsb3NlIHRoZSBjdXJyZW50IHNlZ21lbnQgaWYgd2UncmUgZG9pbmcgYSBub24tZmx1c2hpbmcgc2VlayBhbmQgc2VuZAoJICB0aGUgY2xvc2Utc2VnbWVudCBhbmQgdGhlIG5ldyBzZWdtZW50IG9mIHRoZSBzZWVrIGZyb20gdGhlIHN0cmVhbWluZwoJICB0aHJlYWQuCgoyMDA4LTA4LTA4IDE1OjIwOjI0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZmxhYy9nc3RmbGFjZW5jLio6IEhhbmRsZSBub24temVybyBzdGFydCB0aW1lc3RhbXBzIGNvcnJlY3RseSwgbWFyayBoZWFkZXIgcGFja2V0cyBhcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IChnc3RfZmxhY19lbmNfd3JpdGVfY2FsbGJhY2spLAoJICAoZ3N0X2ZsYWNfZW5jX2NoZWNrX2Rpc2NvbnQpLCAoZ3N0X2ZsYWNfZW5jX2NoYWluKSwKCSAgKGdzdF9mbGFjX2VuY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuaDoKCSAgSGFuZGxlIG5vbi16ZXJvIHN0YXJ0IHRpbWVzdGFtcHMgY29ycmVjdGx5LCBtYXJrIGhlYWRlciBwYWNrZXRzIGFzCgkgIElOX0NBUFMgYW5kIHByaW50IGEgd2FybmluZyBhbmQgc3VnZ2VzdCB1c2luZyBhdWRpb3JhdGUgaWYgc3RyZWFtCgkgIGRpc2NvbnRpbnVpdGllcyBhcmUgZGV0ZWN0ZWQuIFdoZW4gRkxBQyBzdXBwb3J0cyBmbHVzaGluZyB0aGUgZW5jb2RlcgoJICBzb21laG93IHRoaXMgc2hvdWxkIGJlIGRvbmUgZm9yIGRpc2NvbnRpbnVpdGllcyBpbnN0ZWFkLgoJICBSZW1vdmUgc29tZSB1bnVzZWQgdmFyaWFibGVzIGZyb20gdGhlIGluc3RhbmNlIHN0cnVjdC4KCjIwMDgtMDgtMDcgMTc6MTQ6MzkgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgYWRkIHB1bHNlYXVkaW8gdG8gcGx1Z2lucyBsaXN0IGluIHNwZWMgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIHB1bHNlYXVkaW8gdG8gcGx1Z2lucyBsaXN0IGluIHNwZWMgZmlsZQoKMjAwOC0wOC0wNyAxNjoxMzo0MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiBJZiBzZWVraW5nIGZhaWxlZCByZXR1cm4gdGhlIGFwcHJvcGlhdGUgcmV0dXJuIHZhbHVlIHRvIEZMQUMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogKGdzdF9mbGFjX2VuY19zZWVrX2NhbGxiYWNrKToKCSAgSWYgc2Vla2luZyBmYWlsZWQgcmV0dXJuIHRoZSBhcHByb3BpYXRlIHJldHVybiB2YWx1ZSB0byBGTEFDLgoJICBPdGhlcndpc2UgaXQgdGhpbmtzIHNlZWtpbmcgd2FzIHN1Y2Nlc3NmdWxsIGFuZCB0cmllcyB0byByZXdyaXRlCgkgIHBhcnRzIG9mIHRoZSBoZWFkZXJzIHdoaWNoIHRoZW4gZ2V0IGFwcGVuZGVkIHRvIHRoZSBvdXRwdXQuCgoyMDA4LTA4LTA3IDE2OjExOjAwICswMDAwICBGcmVkZXJpYyBDcm96YXQgPGZjcm96YXRAbWFuZHJpdmEub3JnPgoKCSAgTWFrZSBzdXJlIGdldHRleHQgcmV0dXJucyB0cmFuc2xhdGlvbnMgaW4gVVRGLTggZW5jb2RpbmcgcmF0aGVyIHRoYW4gaW4gdGhlIGN1cnJlbnQgbG9jYWxlIGVuY29kaW5nICgjNTQ2ODIyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBGcmVkZXJpYyBDcm96YXQgPGZjcm96YXRAbWFuZHJpdmEub3JnPgoJICAqIGV4dC9lc2QvZ3N0ZXNkLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhYy5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFjay5jOiAocGx1Z2luX2luaXQpOgoJICAqIHN5cy9vc3MvZ3N0b3NzYXVkaW8uYzogKHBsdWdpbl9pbml0KToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyLmM6IChwbHVnaW5faW5pdCk6CgkgIE1ha2Ugc3VyZSBnZXR0ZXh0IHJldHVybnMgdHJhbnNsYXRpb25zIGluIFVURi04IGVuY29kaW5nIHJhdGhlcgoJICB0aGFuIGluIHRoZSBjdXJyZW50IGxvY2FsZSBlbmNvZGluZyAoIzU0NjgyMikuCgoyMDA4LTA4LTA3IDE0OjQwOjEzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IEFkZCBGSVhNRSBmb3IgMC4xMSB0byBzaW1wbHkgb3V0cHV0IGV2ZXJ5dGhpbmcgd2l0aCB3aWR0aD0zMiBhcyBnaXZlbiBieSBGTEFDIGFuZCBsZXQgYXVkaW9jb24uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBBZGQgRklYTUUgZm9yIDAuMTEgdG8gc2ltcGx5IG91dHB1dCBldmVyeXRoaW5nIHdpdGggd2lkdGg9MzIgYXMgZ2l2ZW4KCSAgYnkgRkxBQyBhbmQgbGV0IGF1ZGlvY29udmVydCBoYW5kbGUgdGhlIGNvbnZlcnNpb25zIGluc3RlYWQgb2YgZG9pbmcKCSAgdGhlbSBpbiBmbGFjZGVjLgoKMjAwOC0wOC0wNyAxMDoyMjozMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IFdoZW4gb3V0cHV0dGluZyBhIHBhZCB0ZW1wbGF0ZSByYW5nZSBmb3IgdGhlIHNpemUsIGluY2x1ZGUgYSBmcmFtZXJhdGUgcmFuZ2UgdG9vLCB0byBhdm9pZCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0KToKCSAgV2hlbiBvdXRwdXR0aW5nIGEgcGFkIHRlbXBsYXRlIHJhbmdlIGZvciB0aGUgc2l6ZSwgaW5jbHVkZSBhIGZyYW1lcmF0ZQoJICByYW5nZSB0b28sIHRvIGF2b2lkICdub3QgYSByZWFsIHN1YnNldCBvZiB0ZW1wbGF0ZSBjYXBzJyBlcnJvcnMuCgoyMDA4LTA4LTA2IDE1OjM0OjU1ICswMDAwICBKb25hdGhhbiBNYXR0aGV3IDxub3R2ZXJ5c21hcnRAZ21haWwuY29tPgoKCSAgZXh0L2ZsYWMvOiBQb3J0IGZsYWN0YWcgdG8gMC4xMCwgYWRkIGRvY3VtZW50YXRpb24gZm9yIGl0IGFuZCBjbGVhbiBpdCB1cCBhIGJpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnk6IEpvbmF0aGFuIE1hdHRoZXcgPG5vdHZlcnlzbWFydCBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGV4dC9mbGFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9mbGFjL2dzdGZsYWMuYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6IChnc3RfZmxhY190YWdfc2V0dXBfaW50ZXJmYWNlcyksCgkgIChnc3RfZmxhY190YWdfYmFzZV9pbml0KSwgKGdzdF9mbGFjX3RhZ19jbGFzc19pbml0KSwKCSAgKGdzdF9mbGFjX3RhZ19kaXNwb3NlKSwgKGdzdF9mbGFjX3RhZ19pbml0KSwKCSAgKGdzdF9mbGFjX3RhZ19zaW5rX3NldGNhcHMpLCAoZ3N0X2ZsYWNfdGFnX2NoYWluKSwKCSAgKGdzdF9mbGFjX3RhZ19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWN0YWcuaDoKCSAgUG9ydCBmbGFjdGFnIHRvIDAuMTAsIGFkZCBkb2N1bWVudGF0aW9uIGZvciBpdCBhbmQgY2xlYW4gaXQgdXAgYSBiaXQuCgkgIEZpeGVzIGJ1ZyAjNDEzODQxLgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfYmFzZV9pbml0KToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiAoZ3N0X2ZsYWNfZW5jX2Jhc2VfaW5pdCk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5oOgoJICBBZGQgZmxhY3RhZyBhbmQgZmxhY2VuYyB0byB0aGUgZG9jdW1lbnRhdGlvbiBhbmQgbWFyawoJICB0aGUgcHJpdmF0ZSBwYXJ0cyBvZiB0aGUgZmxhY2RlYyBpbnN0YW5jZSBzdHJ1Y3R1cmUgYXMgcHJpdmF0ZS4KCSAgQWxzbyB1c2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlKCkgaW4gZmxhY2RlYyBhbmQKCSAgZmxhY2VuYy4KCjIwMDgtMDgtMDYgMTM6MTI6MDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogVXNlIGF1ZGlvL3gtcWRtIGZvciBjYXBzLiBDb2xsZWN0IHNvbWUgaW5mbyAtIG1wbGF5ZXIgaGFzIGEgZGVjb2RlciBmb3IgaXQgYnV0IGZmbXBlZyBkb2VzIG5vdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBVc2UgYXVkaW8veC1xZG0gZm9yIGNhcHMuIENvbGxlY3Qgc29tZSBpbmZvIC0gbXBsYXllciBoYXMgYSBkZWNvZGVyCgkgIGZvciBpdCBidXQgZmZtcGVnIGRvZXMgbm90LgoKMjAwOC0wOC0wNSAxNTowNTo0NCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IEhhbmRsZSB0aGUgbGlzdCBjaHVuayBhbmQgdXNlIGdzdF9yaWZmX3BhcnNlX2luZm8oKSB0byBwYXJzZSB0aGUgaW5mbyBzdWItY2h1bmsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBIYW5kbGUgdGhlIGxpc3QgY2h1bmsgYW5kIHVzZSBnc3RfcmlmZl9wYXJzZV9pbmZvKCkgdG8gcGFyc2UgdGhlIGluZm8KCSAgc3ViLWNodW5rLgoKMjAwOC0wOC0wNSAxNDoyMjoxMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IEhhbmRsZSB0aGUgYWNpZCBjaHVuayBhbmQgc2VuZCB0ZW1wbyBhcyBwYXJ0IG9mIHRhZ3MuIE90aGVyIGZpZWxkcyBhcmUgaW50ZXJlc3RpbmcgdG9vLCBiLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBIYW5kbGUgdGhlIGFjaWQgY2h1bmsgYW5kIHNlbmQgdGVtcG8gYXMgcGFydCBvZiB0YWdzLiBPdGhlciBmaWVsZHMgYXJlCgkgIGludGVyZXN0aW5nIHRvbywgYnV0IG5lZWQgbW9yZSB0YWctZGVmaW5pdGlvbnMuIEZpeGVzICM1NDU0MzMuCgoyMDA4LTA4LTA1IDE0OjE2OjMyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogUmVmYWN0b3Igd2F2cGFyc2UuIENhbGwgX3Jlc2V0KCkgZnJvbSBkaXNwb3NlKCkgYW5kIG1vdmUgb2xkIGNvZGUgZnJvbSBkaXNwb3NlIGludG8gcmVzZXQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIFJlZmFjdG9yIHdhdnBhcnNlLiBDYWxsIF9yZXNldCgpIGZyb20gZGlzcG9zZSgpIGFuZCBtb3ZlIG9sZCBjb2RlIGZyb20KCSAgZGlzcG9zZSBpbnRvIHJlc2V0LiBUaGlzIHdheSB3ZSBkb24ndCBsZWFrIHRhZ2xpc3RzIHdoZW4gd2UgYWJvcnQKCSAgcGFyc2luZy4gRml4IHNvbWUgY29tbWVudHMuIE1vdmUgY29kZSBmb3Igc2tpcHBpbmcgYSBjaHVuayBpbnRvIGV4dHJhCgkgIGZ1bmN0aW9uLiBSZXBsYWNlIGNodW5rIHNpemVzIHdpdGggYSBjb25zdCB0byBlYXNlIHJlYWRhYmlsaXR5LgoKMjAwOC0wOC0wNSAxMzo1Nzo1NyArMDAwMCAgQXVyZWxpZW4gR3JpbWF1ZCA8Z3N0ZWx6ekB5YWhvby5mcj4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogSW1wcm92ZSB1ZHAgcG9ydCBzZXR1cC4gRml4ZXMgIzU0NTcxMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBdXJlbGllbiBHcmltYXVkIDxnc3RlbHp6IGF0IHlhaG9vIGRvdCBmcj4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19hbGxvY191ZHBfcG9ydHMpOgoJICBJbXByb3ZlIHVkcCBwb3J0IHNldHVwLiBGaXhlcyAjNTQ1NzEwLgoKMjAwOC0wOC0wNSAxMzo1NDoxOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBBZGQgTVAxUyBkZXBheWxvYWRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5LmM6IChnc3RfcnRwX21wMXNfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfbXAxc19kZXBheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfbXAxc19kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfbXAxc19kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfbXAxc19kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfbXAxc19kZXBheV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9tcDFzX2RlcGF5X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX21wMXNfZGVwYXlfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfbXAxc19kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuaDoKCSAgQWRkIE1QMVMgZGVwYXlsb2FkZXIuCgkgICogZ3N0L3J0c3AvVVJMUzoKCSAgU29tZSBtb3JlIHNhbXBsZSBydHNwIHN0cmVhbXMuCgoyMDA4LTA4LTA1IDA4OjQzOjQ1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvVVJMUzogQWRkIGFub3RoZXIgVVJMLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9VUkxTOgoJICBBZGQgYW5vdGhlciBVUkwuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzdjJtdXguYzogKHRlc3RfdGFnbGliX2lkM211eF93aXRoX3RhZ3MpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnbGltaXRlci5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBBZGQgc29tZSBtb3JlIGRlYnVnIGluZm8uCgoyMDA4LTA4LTA0IDA5OjE2OjQwICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IFByb3ZpZGUgY2JTaXplIGZpZWxkIGZvciBhdWRpbyBleHRyYV9kYXRhIHNpemUsIGFuZCB0YWtlIGNhcmUgdG8gcGFkIGV4dHJhX2RhdGEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IChnc3RfYXZpX211eF9yaWZmX2dldF9hdmlfaGVhZGVyKToKCSAgUHJvdmlkZSBjYlNpemUgZmllbGQgZm9yIGF1ZGlvIGV4dHJhX2RhdGEgc2l6ZSwgYW5kIHRha2UgY2FyZSB0bwoJICBwYWQgZXh0cmFfZGF0YS4KCjIwMDgtMDgtMDQgMDc6MjM6MDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogUmV0dXJuIHRoZSByZXN1bHQgb2YgZ3N0X3BhZF97c3RhcnQsc3RvcH1fdGFzayBpbnN0ZWFkIG9mIGhhcmQtY29kZWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBSZXR1cm4gdGhlIHJlc3VsdCBvZiBnc3RfcGFkX3tzdGFydCxzdG9wfV90YXNrIGluc3RlYWQgb2YgaGFyZC1jb2RlZAoJICBUUlVFLgoKMjAwOC0wOC0wNCAwNzoxNzozOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvOiBBZGQga2V5d29yZCB0YWcgc3VwcG9ydC4gRml4ZXMgIzUyMDY5NCBmb3IgcXRkZW11eC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgIEFkZCBrZXl3b3JkIHRhZyBzdXBwb3J0LiBGaXhlcyAjNTIwNjk0IGZvciBxdGRlbXV4LgoKMjAwOC0wOC0wNCAwNzowNTozMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgc3VwcG9ydCBmb3IgdG1wbyB0YWcgKEJQTSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgQWRkIHN1cHBvcnQgZm9yIHRtcG8gdGFnIChCUE0pLgoKMjAwOC0wOC0wMyAxMjoyMzo0OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiBTZXQgYW4gZXN0aW1hdGUgZm9yIHRoZSB0b3RhbCBudW1iZXIgb2Ygc2FtcGxlcyB0aGF0IHdpbGwgYmUgZW5jb2RlZCBpZiBwb3NzaWJsZSB0byBoZWxwIGRlY29kLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogKGdzdF9mbGFjX2VuY19xdWVyeV9wZWVyX3RvdGFsX3NhbXBsZXMpLAoJICAoZ3N0X2ZsYWNfZW5jX3Npbmtfc2V0Y2FwcyksIChnc3RfZmxhY19lbmNfd3JpdGVfY2FsbGJhY2spOgoJICBTZXQgYW4gZXN0aW1hdGUgZm9yIHRoZSB0b3RhbCBudW1iZXIgb2Ygc2FtcGxlcyB0aGF0IHdpbGwgYmUgZW5jb2RlZAoJICBpZiBwb3NzaWJsZSB0byBoZWxwIGRlY29kZXJzIGlmIHRoZSBzdHJlYW1pbmZvIGNhbid0IGJlIHJld3JpdHRlbgoJICBsYXRlciAobGlrZSB3aGVuIG11eGluZyBpbnRvIE9nZyBjb250YWluZXJzKS4KCSAgQWRkIGEgd2FybmluZyBpZiB3ZSBnZXQgaGVhZGVyIHBhY2tldHMgYWZ0ZXIgZGF0YSBwYWNrZXRzIGFzIHRob3NlCgkgIHdpbGwgZ2V0IGxvc3Qgd2hlbiBtdXhpbmcgaW50byBPZ2csIGkuZS4gcmV3cml0aW5nIHRoZSBoZWFkZXJzIGRvZXNuJ3QKCSAgd29yay4KCjIwMDgtMDgtMDMgMTE6Mzg6MjIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogU3VwcG9ydCBkZWNvZGluZyBvZiBhbGwgZGVwdGhzIGJldHdlZW4gNCBhbmQgMzIgYml0cyBhbmQgcmVhZCB0aGUgZGVwdGggZnJvbSB0aGUgc3RyZWFtaW5mbyBoZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfbWV0YWRhdGFfY2FsbGJhY2spLAoJICAoZ3N0X2ZsYWNfZGVjX3dyaXRlKToKCSAgU3VwcG9ydCBkZWNvZGluZyBvZiBhbGwgZGVwdGhzIGJldHdlZW4gNCBhbmQgMzIgYml0cyBhbmQgcmVhZCB0aGUKCSAgZGVwdGggZnJvbSB0aGUgc3RyZWFtaW5mbyBoZWFkZXIgaWYgbmVlZGVkLiBBbHNvIHN1cHBvcnQgYWxsIHNhbXBsaW5nCgkgIHJhdGVzIGJldHdlZW4gMSBhbmQgNjU1MzUwIEh6LgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgKGdzdF9mbGFjX2VuY19jYXBzX2FwcGVuZF9zdHJ1Y3R1cmVfd2l0aF93aWR0aHMpLAoJICAoZ3N0X2ZsYWNfZW5jX3NpbmtfZ2V0Y2FwcyksIChnc3RfZmxhY19lbmNfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9mbGFjX2VuY19jaGFpbik6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5oOgoJICBTdXBwb3J0IGVuY29kaW5nIGluIGFsbCBiaXQgZGVwdGhzIHN1cHBvcnRlZCBieSB0aGUgc3RyZWFtYWJsZQoJICBzdWJmb3JtYXQgKGkuZS4gOCwgMTIsIDE2LCAyMCBhbmQgMjQgYml0cykgYW5kIGFsbCBzYW1wbGluZyByYXRlcwoJICBiZXR3ZWVuIDEgSHogYW5kIDY1NTM1MCBIei4KCjIwMDgtMDgtMDMgMDk6MjM6MTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogU3VwcG9ydCBlbmNvZGluZyBvZiB1cCB0byA4IGNoYW5uZWxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IChnc3RfZmxhY19lbmNfaW5pdCksCgkgIChnc3RfZmxhY19lbmNfc2lua19nZXRjYXBzKToKCSAgU3VwcG9ydCBlbmNvZGluZyBvZiB1cCB0byA4IGNoYW5uZWxzLgoKMjAwOC0wOC0wMiAyMTozOTowMSArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLio6IEZpeCBzZWVraW5nIHJhY2UgY29uZGl0aW9uIGluICM1NDAzMDAKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBGaXggc2Vla2luZyByYWNlIGNvbmRpdGlvbiBpbiAjNTQwMzAwCgkgIFBhdGNoIEJ5OiBXb3V0ZXIgQ2xvZXRlbnMgIDx3b3V0ZXIgYXQgbWluZCBiZT4KCjIwMDgtMDgtMDIgMTg6MzU6MjEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBXaGVuIHJlY2VpdmluZyBhIFNFRUsgZXZlbnQgb24gYSBzcGVjaWZpYyBwYWQgZmlyc3Qgc2VhcmNoIGZvciBhIHNlZWsgdGFibGUgZW50cnkgZm9yIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYWRlbXV4X2RvX2luZGV4X3NlZWspLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2VsZW1lbnRfc2VuZF9ldmVudCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NlZWtfZXZlbnQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zcmNfZXZlbnQpOgoJICBXaGVuIHJlY2VpdmluZyBhIFNFRUsgZXZlbnQgb24gYSBzcGVjaWZpYyBwYWQgZmlyc3Qgc2VhcmNoIGZvciBhIHNlZWsKCSAgdGFibGUgZW50cnkgZm9yIHRoZSBzdHJlYW0gb2YgdGhlIHBhZCBhbmQgdGhlbiBmYWxsIGJhY2sgdG8gYW4gZW50cnkKCSAgZm9yIGEgZGlmZmVyZW50IHN0cmVhbS4KCjIwMDgtMDgtMDIgMTg6MjA6NDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEJ1aWxkIGRlcGVuZCBvbiBjb3JlIENWUyBmb3IgdGhlIGF0dGFjaG1lbnQgdGFnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5jOiAoZ3N0X21hdHJvc2thX3JlZ2lzdGVyX3RhZ3MpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgQnVpbGQgZGVwZW5kIG9uIGNvcmUgQ1ZTIGZvciB0aGUgYXR0YWNobWVudCB0YWcuCgoyMDA4LTA4LTAyIDE4OjE4OjA1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBEZWNvZGUgdGhlIGNvZGVjIHByaXZhdGUgZGF0YSBhbmQgZm9sbG93aW5nIENvbnRlbnRFbmNvZGluZyBpZiBuZWNlc3NhcnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkgICogZ3N0L21hdHJvc2thL2x6by5jOiAoZ2V0X2J5dGUpLCAoZ2V0X2xlbiksIChjb3B5KSwKCSAgKGNvcHlfYmFja3B0ciksIChsem8xeF9kZWNvZGUpLCAobWFpbik6CgkgICogZ3N0L21hdHJvc2thL2x6by5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3JlYWRfdHJhY2tfZW5jb2RpbmcpLAoJICAoZ3N0X21hdHJvc2thX2RlY29tcHJlc3NfZGF0YSksIChnc3RfbWF0cm9za2FfZGVjb2RlX2RhdGEpLAoJICAoZ3N0X21hdHJvc2thX2RlY29kZV9idWZmZXIpLAoJICAoZ3N0X21hdHJvc2thX2RlY29kZV9jb250ZW50X2VuY29kaW5ncyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcmVhZF90cmFja19lbmNvZGluZ3MpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF9zdHJlYW0pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2spOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgRGVjb2RlIHRoZSBjb2RlYyBwcml2YXRlIGRhdGEgYW5kIGZvbGxvd2luZyBDb250ZW50RW5jb2RpbmcgaWYKCSAgbmVjZXNzYXJ5LgoJICBTdXBwb3J0IGJ6aXAyLCBsem8gYW5kIGhlYWRlciBzdHJpcHBlZCBjb21wcmVzc2lvbi4gRm9yIGx6byB1c2UgdGhlCgkgIGZmbXBlZyBsem8gaW1wbGVtZW50YXRpb24gYXMgbGlibHpvIGlzIEdQTCBsaWNlbnNlZC4KCSAgRml4IHpsaWIgZGVjb21wcmVzc2lvbi4KCjIwMDgtMDgtMDIgMTg6MTE6MzIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogRml4IG11eGluZyBvZiBNUDMvTVAyIHdpdGggZGlmZmVyZW50IE1QRUcgdmVyc2lvbnMgYnkgY2FsY3VsYXRpbmcgdGhlIGR1cmF0aW9uIG9mIGEgZnJhbS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfbXV4X2F1ZGlvX3BhZF9zZXRjYXBzKToKCSAgRml4IG11eGluZyBvZiBNUDMvTVAyIHdpdGggZGlmZmVyZW50IE1QRUcgdmVyc2lvbnMgYnkgY2FsY3VsYXRpbmcgdGhlCgkgIGR1cmF0aW9uIG9mIGEgZnJhbWUgd2l0aCB0aGUgbmV3IG1wZWdhdWRpb3ZlcnNpb24gY2FwcyBmaWVsZC4KCjIwMDgtMDgtMDIgMTg6MDY6MjAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC4qOiBBbGxvdyBhbiBpbmZpbml0ZSBudW1iZXIgb2Ygc3RyZWFtIGluc2lkZSBNYXRyb3NrYSBjb250YWluZXJzIGFuZCB1c2UgYSBHUHRyQXJyYXkgZm9yIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9maW5hbGl6ZSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfY2xhc3NfaW5pdCksIChnc3RfbWF0cm9za2FfZGVtdXhfaW5pdCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfY29tYmluZV9mbG93cyksIChnc3RfbWF0cm9za2FfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3N0cmVhbV9mcm9tX251bSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfdHJhY2tudW1iZXJfdW5pcXVlKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfc3RyZWFtKSwgKGdzdF9tYXRyb3NrYV9kZW11eF9zZW5kX2V2ZW50KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc2Vla19ldmVudCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfc3luY19zdHJlYW1zKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgQWxsb3cgYW4gaW5maW5pdGUgbnVtYmVyIG9mIHN0cmVhbSBpbnNpZGUgTWF0cm9za2EgY29udGFpbmVycyBhbmQgdXNlCgkgIGEgR1B0ckFycmF5IGZvciBzdG9yaW5nIHRoZW0gaW5zdGVhZCBvZiBhbGxvd2luZyAib25seSIgMTI3IHN0cmVhbXMuCgoyMDA4LTA4LTAyIDE4OjAxOjM2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvOiBGaXggaW5kZW50aW9uIGV2ZXJ5d2hlcmUuIEEgYnJva2VuIGluZGVudCB2ZXJzaW9uIGhhcyBhZGRlZCBuZXdsaW5lcyBhZnRlciBldmVyeSBzaW5nbGUgZGVjbGFyYXRpb24gc28uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiAoZ3N0X2VibWxfcmVhZF9jbGFzc19pbml0KSwKCSAgKGdzdF9lYm1sX3JlYWRfY2hhbmdlX3N0YXRlKSwgKGdzdF9lYm1sX3JlYWRfZWxlbWVudF9sZXZlbF91cCksCgkgIChnc3RfZWJtbF9yZWFkX3BlZWtfYnl0ZXMpLCAoZ3N0X2VibWxfcmVhZF9lbGVtZW50X2lkKSwKCSAgKGdzdF9lYm1sX3JlYWRfZWxlbWVudF9sZW5ndGgpLCAoZ3N0X2VibWxfcGVla19pZCksCgkgIChnc3RfZWJtbF9yZWFkX2dldF9sZW5ndGgpLCAoZ3N0X2VibWxfcmVhZF9za2lwKSwKCSAgKGdzdF9lYm1sX3JlYWRfYnVmZmVyKSwgKGdzdF9lYm1sX3JlYWRfYnl0ZXMpLAoJICAoZ3N0X2VibWxfcmVhZF91aW50KSwgKGdzdF9lYm1sX3JlYWRfc2ludCksIChfZXh0MmRibCksCgkgIChnc3RfZWJtbF9yZWFkX2Zsb2F0KSwgKGdzdF9lYm1sX3JlYWRfYXNjaWkpLCAoZ3N0X2VibWxfcmVhZF9kYXRlKSwKCSAgKGdzdF9lYm1sX3JlYWRfbWFzdGVyKSwgKGdzdF9lYm1sX3JlYWRfYmluYXJ5KSwKCSAgKGdzdF9lYm1sX3JlYWRfaGVhZGVyKToKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOiAoZ3N0X2VibWxfd3JpdGVfZWxlbWVudF9pZCksCgkgIChnc3RfZWJtbF93cml0ZV9lbGVtZW50X3NpemUpLCAoZ3N0X2VibWxfd3JpdGVfdWludCksCgkgIChnc3RfZWJtbF93cml0ZV9zaW50KSwgKGdzdF9lYm1sX3dyaXRlX2FzY2lpKSwKCSAgKGdzdF9lYm1sX3dyaXRlX21hc3Rlcl9zdGFydCksIChnc3RfZWJtbF93cml0ZV9tYXN0ZXJfZmluaXNoKSwKCSAgKGdzdF9lYm1sX3JlcGxhY2VfdWludCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3JlYWRfdHJhY2tfZW5jb2RpbmcpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3JlYWRfdHJhY2tfZW5jb2RpbmdzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfc3RyZWFtKSwgKGdzdF9tYXRyb3NrYWRlbXV4X2RvX2luZGV4X3NlZWspLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3NlbmRfZXZlbnQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2VsZW1lbnRfc2VuZF9ldmVudCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NlZWtfZXZlbnQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zcmNfZXZlbnQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2luaXRfc3RyZWFtKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV90cmFja3MpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZGV4X2N1ZXRyYWNrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmRleF9wb2ludGVudHJ5KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmRleCksIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5mbyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfbWV0YWRhdGFfaWRfc2ltcGxlX3RhZyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfbWV0YWRhdGFfaWRfdGFnKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9tZXRhZGF0YSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYXR0YWNoZWRfZmlsZSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYXR0YWNobWVudHMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NoYXB0ZXJzKSwgKGdzdF9tYXRyb3NrYV9lYm1sbnVtX3VpbnQpLAoJICAoZ3N0X21hdHJvc2thX2VibWxudW1fc2ludCksIChnc3RfbWF0cm9za2FfZGVtdXhfcHVzaF9oZHJfYnVmKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wdXNoX2ZsYWNfY29kZWNfcHJpdl9kYXRhKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wdXNoX3hpcGhfY29kZWNfcHJpdl9kYXRhKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wdXNoX2R2ZF9jbHV0X2NoYW5nZV9ldmVudCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX21wZWdfc2VxX2hlYWRlciksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3d2cGtfaGVhZGVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9jaGVja19zdWJ0aXRsZV9idWZmZXIpLAoJICAoZ3N0X21hdHJvc2thX2RlY29kZV9idWZmZXIpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2spLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NsdXN0ZXIpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NvbnRlbnRzX3NlZWtlbnRyeSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY29udGVudHMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2xvb3Bfc3RyZWFtX3BhcnNlX2lkKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wX3N0cmVhbSksIChnc3RfbWF0cm9za2FfZGVtdXhfbG9vcCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfdmlkZW9fY2FwcyksIChnc3RfbWF0cm9za2FfZGVtdXhfYXVkaW9fY2FwcyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfc3VidGl0bGVfY2FwcyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9jbGFzc19pbml0KSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfcmVzZXQpLCAoZ3N0X21hdHJvc2thX211eF9oYW5kbGVfc2lua19ldmVudCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3ZpZGVvX3BhZF9zZXRjYXBzKSwKCSAgKHhpcGgzX3N0cmVhbWhlYWRlcl90b19jb2RlY2RhdGEpLAoJICAodm9yYmlzX3N0cmVhbWhlYWRlcl90b19jb2RlY2RhdGEpLAoJICAodGhlb3JhX3N0cmVhbWhlYWRlcl90b19jb2RlY2RhdGEpLAoJICAoZ3N0X21hdHJvc2thX211eF9hdWRpb19wYWRfc2V0Y2FwcyksCgkgIChnc3RfbWF0cm9za2FfbXV4X3JlcXVlc3RfbmV3X3BhZCksIChnc3RfbWF0cm9za2FfbXV4X3JlbGVhc2VfcGFkKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfdHJhY2tfaGVhZGVyKSwgKGdzdF9tYXRyb3NrYV9tdXhfc3RhcnQpLAoJICAoZ3N0X21hdHJvc2thX211eF93cml0ZV9zaW1wbGVfdGFnKSwgKGdzdF9tYXRyb3NrYV9tdXhfZmluaXNoKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfYmVzdF9wYWQpLCAoZ3N0X21hdHJvc2thX211eF93cml0ZV9kYXRhKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfY29sbGVjdGVkKSwgKGdzdF9tYXRyb3NrYV9tdXhfY2hhbmdlX3N0YXRlKToKCSAgRml4IGluZGVudGlvbiBldmVyeXdoZXJlLiBBIGJyb2tlbiBpbmRlbnQgdmVyc2lvbiBoYXMgYWRkZWQgbmV3bGluZXMKCSAgYWZ0ZXIgZXZlcnkgc2luZ2xlIGRlY2xhcmF0aW9uIHNvbWUgdGltZSBhZ28uCgoyMDA4LTA4LTAyIDE3OjU5OjA1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogSWYgbm8gVHJhY2tzIGFyZSBmb3VuZCBlcnJvciBvdXQgaW5zdGVhZCBvZiB0cnlpbmcgaXQgYWdhaW4gdW50aWwgdGhlIGVuZCBvZiB0aW1lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wX3N0cmVhbV9wYXJzZV9pZCk6CgkgIElmIG5vIFRyYWNrcyBhcmUgZm91bmQgZXJyb3Igb3V0IGluc3RlYWQgb2YgdHJ5aW5nIGl0IGFnYWluIHVudGlsIHRoZQoJICBlbmQgb2YgdGltZS4KCjIwMDgtMDgtMDIgMTc6NTc6MzEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBGaXggZGVtdXhpbmcgb2YgcmF3IGludGVnZXIgYXVkaW8uIFRoZSBzYW1wbGVzIGFyZSB1bnNpZ25lZCBvbmx5IGZvciA4IGJpdCBhbmQgc2lnbmVkIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9hdWRpb19jYXBzKToKCSAgRml4IGRlbXV4aW5nIG9mIHJhdyBpbnRlZ2VyIGF1ZGlvLiBUaGUgc2FtcGxlcyBhcmUgdW5zaWduZWQgb25seSBmb3IgOAoJICBiaXQgYW5kIHNpZ25lZCBvdGhlcndpc2UsIG5vdCB0aGUgb3RoZXIgd2F5IGFyb3VuZC4KCjIwMDgtMDgtMDIgMTc6NTQ6MDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogQWRkIG1vcmUgcmF3IFlVViBmb3JtYXRzIHRvIHRoZSBsaXN0IG9mIHN1cHBvcnRlZCBmb3JtYXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIEFkZCBtb3JlIHJhdyBZVVYgZm9ybWF0cyB0byB0aGUgbGlzdCBvZiBzdXBwb3J0ZWQgZm9ybWF0cy4KCjIwMDgtMDgtMDIgMTc6NTI6MTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogQWRkIHN1cHBvcnQgZm9yIG11eGluZyByYXcgZmxvYXQgYXVkaW8gbm93IHRoYXQgdGhlIHNwZWMgZGVmaW5lcyB0aGUgZW5kaWFubmVzcyBhbmQgYWRkIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfbXV4X2F1ZGlvX3BhZF9zZXRjYXBzKToKCSAgQWRkIHN1cHBvcnQgZm9yIG11eGluZyByYXcgZmxvYXQgYXVkaW8gbm93IHRoYXQgdGhlIHNwZWMgZGVmaW5lcyB0aGUKCSAgZW5kaWFubmVzcyBhbmQgYWRkIHN1cHBvcnQgZm9yIG11eGluZyByYXcgaW50ZWdlciBhdWRpbyB3aXRoIDI0IGFuZAoJICAzMiBiaXRzLgoJICBBbGxvdyBtdXhpbmcgb2YgbW9yZSB0aGFuIDggYXVkaW8gY2hhbm5lbHMuCgoyMDA4LTA4LTAyIDE3OjQ3OjMyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IEFkZCBsb2NraW5nIHRvIHRoZSBnbG9iYWwgYXJyYXkgb2YgdXNlZCB0cmFjayBVSURzIHRvIHByZXZlbnQgcmFuZG9tIGNyYXNoZXMgaWYgbW9yZSB0aGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9jcmVhdGVfdWlkKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfcmVzZXQpLCAoZ3N0X21hdHJvc2thX211eF9zdGFydCk6CgkgIEFkZCBsb2NraW5nIHRvIHRoZSBnbG9iYWwgYXJyYXkgb2YgdXNlZCB0cmFjayBVSURzIHRvIHByZXZlbnQgcmFuZG9tCgkgIGNyYXNoZXMgaWYgbW9yZSB0aGFuIGEgc2luZ2xlIG1hdHJvc211eCBpbnN0YW5jZSBpcyB1c2VkLgoJICBVc2UgNjQgYml0IHZhbHVlcyBmb3IgdGhlIHRyYWNrIFVJRHMuCgkgIFVzZSB0aGUgZ2xvYmFsIEdSYW5kb20gb2YgR0xpYiBpbnN0ZWFkIG9mIGNyZWF0aW5nIG91ciBvd24gb25lCgkgIGZvciB0aGUgZmV3IHJhbmRvbSBudW1iZXJzIHdlIG5lZWQgZXZlcnkgc2luZ2xlIHRpbWUuCgoyMDA4LTA4LTAyIDE3OjE4OjQ3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IEFsd2F5cyBwb3N0IHRoZSBhdWRpby1jb2RlYyB0YWcsIG5vdCBvbmx5IGlmIG90aGVyIHRhZ3MgYXJlIHByZXNlbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY19zZXR1cF9zZWVrYWJsZV9kZWNvZGVyKSwKCSAgKGdzdF9mbGFjX2RlY19zZXR1cF9zdHJlYW1fZGVjb2RlciksCgkgIChnc3RfZmxhY19kZWNfdXBkYXRlX21ldGFkYXRhKToKCSAgQWx3YXlzIHBvc3QgdGhlIGF1ZGlvLWNvZGVjIHRhZywgbm90IG9ubHkgaWYgb3RoZXIgdGFncyBhcmUgcHJlc2VudC4KCjIwMDgtMDgtMDEgMjM6MjY6NTAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBCYWNrIHRvIGRldmVsb3BtZW50IC0+IDAuMTAuOS4xCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudCAtPiAwLjEwLjkuMQoKMjAwOC0wOC0wMSAxNTo1ODo0NyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBhZGQgbWlzc2luZyBnc3RyZWFtZXIgcGx1Z2lucyB0byBzcGVjIGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBtaXNzaW5nIGdzdHJlYW1lciBwbHVnaW5zIHRvIHNwZWMgZmlsZQoKPT09IHJlbGVhc2UgMC4xMC45ID09PQoKMjAwOC0wNy0zMSAyMjoxMDoxNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC45CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZWxlYXNlIDAuMTAuOQoKMjAwOC0wNy0zMSAyMTo1MDo0NCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDgtMDctMzEgMjE6MjY6NDggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogRG9uJ3QgdGhyb3cgYW4gZXJyb3Igd2hlbiBzb3VwIGNvbXBsZXRlcyBhIG1zZyB3aXRoIHN0YXR1cyAnY2FuY2VsbGVkJywgYXMgdGhhdCBpbmRpY2F0ZXMgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIERvbid0IHRocm93IGFuIGVycm9yIHdoZW4gc291cCBjb21wbGV0ZXMgYSBtc2cgd2l0aCBzdGF0dXMKCSAgJ2NhbmNlbGxlZCcsIGFzIHRoYXQgaW5kaWNhdGVzIHdlIGNhbmNlbGxlZCBhIHJlcXVlc3Qgd2hpbGUKCSAgc2h1dHRpbmcgZG93biBvciBzZWVraW5nLCBhbmQgaXQncyBub3QgYW4gZXJyb3IuCgkgIEZpeGVzOiAjNTQwMzAwIGFnYWluLgoKMjAwOC0wNy0yOCAyMDoxNzo0NiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IDAuMTAuOC40IHByZS1yZWxlYXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgMC4xMC44LjQgcHJlLXJlbGVhc2UKCjIwMDgtMDctMjUgMTQ6NTA6MDMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCBzZWdtZW50LXN0b3AgcmVncmVzc2lvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCk6CgkgIEZpeCBzZWdtZW50LXN0b3AgcmVncmVzc2lvbi4KCSAgQWRkIGRvY3VtZW50YXRpb24gcmVnYXJkaW5nIHNlZ21lbnRzIGluIHF1aWNrdGltZSBmaWxlcyBieSBXaW0gVGF5bWFucy4KCSAgRml4ZXMgIzU0NDUwOQoKMjAwOC0wNy0yNCAyMzo1NTo1OCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IDAuMTAuOC4zIHByZS1yZWxlYXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgMC4xMC44LjMgcHJlLXJlbGVhc2UKCSAgKiBwby9MSU5HVUFTOgoJICAqIHBvL3B0X0JSLnBvOgoJICBBZGQgcHRfQlIgdHJhbnNsYXRpb24KCjIwMDgtMDctMjMgMjI6MDE6MjAgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9nb29tLzogRml4IGJ1aWxkIHdpdGggTVNWQzogaW5jbHVkZSBnbGliLmggdG8gZGVmaW5lIGlubGluZSBhcHByb3ByaWF0ZWx5LCB1c2UgaGVhZGVyIGd1YXJkcyB3aGVyZSBuZWVkZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL2NvbnZvbHZlX2Z4LmM6CgkgICogZ3N0L2dvb20vZmlsdGVycy5jOgoJICAqIGdzdC9nb29tL2dvb21fY29uZmlnLmg6CgkgICogZ3N0L2dvb20vZ29vbV9jb3JlLmM6CgkgICogZ3N0L2dvb20vZ29vbV90b29scy5oOgoJICBGaXggYnVpbGQgd2l0aCBNU1ZDOiBpbmNsdWRlIGdsaWIuaCB0byBkZWZpbmUgaW5saW5lIGFwcHJvcHJpYXRlbHksCgkgIHVzZSBoZWFkZXIgZ3VhcmRzIHdoZXJlIG5lZWRlZC4KCSAgKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgRml4IGJ1aWxkIHdpdGggTVNWQzogdXNlIFdTQSogY29uc3RhbnRzL2Z1bmN0aW9ucyB3aGVyZSBhcHByb3ByaWF0ZSwgdXNlCgkgIGdfc25wcmludGYgcmF0aGVyIHRoYW4gc25wcmludGYuCgkgIEZpeGVzICM1NDQ0MzMuCgoyMDA4LTA3LTIyIDA2OjMyOjAzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZGVidWcvZ3N0dGFnaW5qZWN0Lio6IFNlbnQgdGFncyBpbiBfdHJhbnNmb3JtX2lwKCkgaW5zdGVhZCBvZiBfc3RhcnQoKS4gRml4ZXMgIzU0MzQwNCBwYXJ0aWFsbHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9nc3R0YWdpbmplY3QuYzoKCSAgKiBnc3QvZGVidWcvZ3N0dGFnaW5qZWN0Lmg6CgkgIFNlbnQgdGFncyBpbiBfdHJhbnNmb3JtX2lwKCkgaW5zdGVhZCBvZiBfc3RhcnQoKS4gRml4ZXMgIzU0MzQwNAoJICBwYXJ0aWFsbHkuCgoyMDA4LTA3LTE5IDE0OjEyOjM5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogMC4xMC44LjIgcHJlLXJlbGVhc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAwLjEwLjguMiBwcmUtcmVsZWFzZQoKMjAwOC0wNy0xOSAxMzo1MDo1MyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvTWFrZWZpbGUuYW06IEZpbmlzaCBob29raW5nIHVwIHB1bHNlYXVkaW8gcGx1Z2luIHRvIHRoZSBidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICBGaW5pc2ggaG9va2luZyB1cCBwdWxzZWF1ZGlvIHBsdWdpbiB0byB0aGUgYnVpbGQuCgkgICogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmM6CgkgIEZpeCBjb21waWxhdGlvbiBlcnJvci4KCjIwMDgtMDctMTkgMTM6MjM6MjkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgcG8vOiBBZGQgbmV3IGxpdGh1bmlhbiB0cmFuc2xhdGlvbiwgYW5kIGFkZCBmcmVuY2ggdG8gdGhlIExJTkdVQVMgZmlsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcG8vTElOR1VBUzoKCSAgKiBwby9sdC5wbzoKCSAgQWRkIG5ldyBsaXRodW5pYW4gdHJhbnNsYXRpb24sIGFuZCBhZGQgZnJlbmNoIHRvIHRoZSBMSU5HVUFTCgkgIGZpbGUuCgoyMDA4LTA3LTE5IDEzOjA4OjQyICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogRml4IFNvdXAgSFRUUCBzb3VyY2Ugc2Vla2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgRml4IFNvdXAgSFRUUCBzb3VyY2Ugc2Vla2luZy4KCSAgUGF0Y2ggQnk6IFdvdXRlciBDbG9ldGVucyAgPHdvdXRlciBhdCBtaW5kIGJlPgoJICBGaXhlczogIzU0MDMwMAoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgIElnbm9yZSBuZXcgY2hlY2sgcHJvZ3JhbXMuCgoyMDA4LTA3LTE5IDAxOjAxOjEzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIE1vdmUgcmVwbGF5Z2FpbiBhbmQgaW50ZXJsZWF2ZSBwbHVnaW5zIGZyb20gLWJhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBNb3ZlIHJlcGxheWdhaW4gYW5kIGludGVybGVhdmUgcGx1Z2lucyBmcm9tIC1iYWQuCgkgIEZpeGVzOiAjNTQzNDA2CgkgIEZpeGVzOiAjNTM2MjI4CgoyMDA4LTA3LTE4IDIwOjAzOjA3ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogUmV2ZXJ0IElTTyBiYXNlIG1lZGlhIHNwZWMgYmFzZWQgcGl4ZWwtYXNwZWN0LXJhdGlvIGNhbGN1bGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIFJldmVydCBJU08gYmFzZSBtZWRpYSBzcGVjIGJhc2VkIHBpeGVsLWFzcGVjdC1yYXRpbyBjYWxjdWxhdGlvbi4KCSAgRml4ZXMgIzU0MzMwMC4KCjIwMDgtMDctMTcgMTY6NDI6NTMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06IEZpeCBtaW5vciBidWlsZCBpc3N1ZXMgb24gbWFjb3N4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIEZpeCBtaW5vciBidWlsZCBpc3N1ZXMgb24gbWFjb3N4LgoJICBGaXhlcyAjNTQzMDU0CgoyMDA4LTA3LTE3IDE0OjQwOjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgT25seSB1c2UgLVduby1hdHRyaWJ1dGVzICh3aGljaCBpcyB0aGVyZSB0byB3b3JrIGFyb3VuZCBhIGJ1ZyBpbiB0aGUgdGFnbGliIDEuNSBoZWFkZXJzKSBpZiB0aGUgYysrIGNvbXBpbGVyIGFjdHVhbGx5Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzo6CgkgICogZXh0L3RhZ2xpYi9NYWtlZmlsZS5hbTo6CgkgIE9ubHkgdXNlIC1Xbm8tYXR0cmlidXRlcyAod2hpY2ggaXMgdGhlcmUgdG8gd29yayBhcm91bmQgYQoJICBidWcgaW4gdGhlIHRhZ2xpYiAxLjUgaGVhZGVycykgaWYgdGhlIGMrKyBjb21waWxlciBhY3R1YWxseQoJICBzdXBwb3J0cyBpdCAoIzU0MzI1NSkuCgoyMDA4LTA3LTE3IDEzOjU0OjM4ICswMDAwICBCZW5vaXQgRm91ZXQgPGJlbm9pdC5mb3VldEBwdXJwbGVsYWJzLmNvbT4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogQXZvaWQgY29tcGlsZXIgd2FybmluZyBieSBpbml0aWFsaXNpbmcgdmFyaWFibGUgdG8gTlVMTCAoIzU0MzI1OSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQmVub2l0IEZvdWV0IDxiZW5vaXQuZm91ZXQgcHVycGxlbGFicyBjb20+CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfbmVnb3RpYXRlKToKCSAgQXZvaWQgY29tcGlsZXIgd2FybmluZyBieSBpbml0aWFsaXNpbmcgdmFyaWFibGUgdG8gTlVMTCAoIzU0MzI1OSkuCgoyMDA4LTA3LTE0IDE3OjE3OjQ3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVidWcvZ3N0dGFnaW5qZWN0LmM6IERvbid0IHBhc3MgTlVMTCB0YWdsaXN0cyB0byBnc3RfdGFnX2xpc3RfaXNfZW1wdHkoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL2dzdHRhZ2luamVjdC5jOiAoZ3N0X3RhZ19pbmplY3Rfc3RhcnQpOgoJICBEb24ndCBwYXNzIE5VTEwgdGFnbGlzdHMgdG8gZ3N0X3RhZ19saXN0X2lzX2VtcHR5KCkuCgoyMDA4LTA3LTE0IDE3OjE1OjQyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy86IERvbid0IHVzZSBkZWNsYXJhdGlvbnMgYWZ0ZXIgc3RhdGVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGRlYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6IChydHBfcGlwZWxpbmVfY3JlYXRlKSwKCSAgKHJ0cF9waXBlbGluZV9ydW4pOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6IChzb3VwaHR0cHNyY19zdWl0ZSk6CgkgIERvbid0IHVzZSBkZWNsYXJhdGlvbnMgYWZ0ZXIgc3RhdGVtZW50cy4KCjIwMDgtMDctMTQgMTY6Mjg6MjUgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiBBbGlnbiBkb2N1bWVudGF0aW9uIHdpdGggcmVhbGl0eS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBBbGlnbiBkb2N1bWVudGF0aW9uIHdpdGggcmVhbGl0eS4KCjIwMDgtMDctMTQgMTM6MTE6MTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzogRUFJX0FERFJGQU1JTFkgd2FzIG9ic29sZXRlZCBpbiBCU0QgYXQgc29tZSBwb2ludC4gRGVmaW5lIGl0IHRvIHRoZSBvbGQgdmFsdWUgKDEpIGlmIGl0J3Mgbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkgIEVBSV9BRERSRkFNSUxZIHdhcyBvYnNvbGV0ZWQgaW4gQlNEIGF0IHNvbWUgcG9pbnQuIERlZmluZSBpdCB0byB0aGUKCSAgb2xkIHZhbHVlICgxKSBpZiBpdCdzIG5vdCBkZWZpbmVkIHdoaWNoIHNob3VsZCBub3QgY2F1c2UgYW55IHByb2JsZW1zCgkgIGFzIHdlJ3JlIHVzaW5nIGl0IGludGVybmFsIG9ubHkgYW55d2F5LgoKMjAwOC0wNy0xNCAxMzowMjo0OCArMDAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm9Abm52YS5vcmc+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IEZpeCBidWlsZCBvZiBhdmlkZW11eCBvbiBiaWcgZW5kaWFuIGFyY2hpdGVjdHVyZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8gYXQgbm52YSBkb3Qgb3JnPgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcmlmZl9wYXJzZV92cHJwKToKCSAgRml4IGJ1aWxkIG9mIGF2aWRlbXV4IG9uIGJpZyBlbmRpYW4gYXJjaGl0ZWN0dXJlcy4KCjIwMDgtMDctMTAgMjA6NDc6NTYgKzAwMDAgIFRoaWFnbyBTb3VzYSBTYW50b3MgPHRoaWFnb3NzQGxjYy51ZmNnLmVkdS5icj4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQ29ycmVjdGx5IGRpc3Rpbmd1aXNoIDhiaXQgdnMgMTZiaXQgcmF3IGF1ZGlvLiAgRml4ZXMgIzU0MjQxMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUaGlhZ28gU291c2EgU2FudG9zIDx0aGlhZ29zcyBhdCBsY2MgZG90IHVmY2cgZG90IGVkdSBkb3QgYnI+CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgQ29ycmVjdGx5IGRpc3Rpbmd1aXNoIDhiaXQgdnMgMTZiaXQgcmF3IGF1ZGlvLiAgRml4ZXMgIzU0MjQxMC4KCjIwMDgtMDctMDggMjE6MDU6MTggKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBTZXQgcGl4ZWwtYXNwZWN0LXJhdGlvIGluIGNhcHMgdXNpbmcgZGlzcGxheSB3aWR0aCBhbmQgaGVpZ2h0IHByb3ZpZGVkIGluIHRyYWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIFNldCBwaXhlbC1hc3BlY3QtcmF0aW8gaW4gY2FwcyB1c2luZyBkaXNwbGF5IHdpZHRoIGFuZCBoZWlnaHQKCSAgcHJvdmlkZWQgaW4gdHJhY2suCgoyMDA4LTA3LTA4IDEzOjU5OjUxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IERvbid0IGluY2x1ZGUgRVJST1JfQ0ZMQUdTIGluIEdTVF9DWFhGTEFHUyBhcyBpdCBtaWdodCBpbmNsdWRlIGZsYWdzIHRoYXQgYXJlIGludmFsaWQgZm9yIEMrKy4gRml4ZXMgYnUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBEb24ndCBpbmNsdWRlIEVSUk9SX0NGTEFHUyBpbiBHU1RfQ1hYRkxBR1MgYXMgaXQgbWlnaHQgaW5jbHVkZQoJICBmbGFncyB0aGF0IGFyZSBpbnZhbGlkIGZvciBDKysuIEZpeGVzIGJ1ZyAjNTE2NTA5LgoKMjAwOC0wNy0wOCAxMjo1MTozNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgRG9uJ3QgdXNlIGRlY2xhcmF0aW9ucyBhZnRlciBzdGF0ZW1lbnRzIGFuZCB2YXJpYWJsZSBsZW5ndGggYXJyYXlzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogKGdzdF9kdjEzOTRzcmNfdXJpX3NldF91cmkpOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiAoZ3N0X3NwZWV4X2VuY19zaW5rX2dldGNhcHMpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19maXhhdGUpOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdCk6CgkgICogdGVzdHMvZXhhbXBsZXMvZXF1YWxpemVyL2RlbW8uYzogKG1lc3NhZ2VfaGFuZGxlcik6CgkgICogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzogKG1lc3NhZ2VfaGFuZGxlcik6CgkgICogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1vc3NzcmMuYzogKG1lc3NhZ2VfaGFuZGxlcik6CgkgIERvbid0IHVzZSBkZWNsYXJhdGlvbnMgYWZ0ZXIgc3RhdGVtZW50cyBhbmQgdmFyaWFibGUgbGVuZ3RoIGFycmF5cy4KCjIwMDgtMDctMDcgMjE6Mjg6NTggKzAwMDAgIERhbmllbCBEcmFrZSA8ZHNkQGdlbnRvby5vcmc+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IFRyeSBwcm9ncmVzc2l2ZSB2aWRlbyBpZiBpbnRlcmxhY2VkIGZhaWxzLiBGaXhlcyBidWcgIzU0MTk1NiBhbmQgdGhlIHVzYWdlIG9mIHY0bDJzcmMgb24gT0xQQy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBEYW5pZWwgRHJha2UgPGRzZCBhdCBnZW50b28gZG90IG9yZz4KCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19zZXRfY2FwdHVyZSksCgkgIChnc3RfdjRsMnNyY19nZXRfbmVhcmVzdF9zaXplKToKCSAgVHJ5IHByb2dyZXNzaXZlIHZpZGVvIGlmIGludGVybGFjZWQgZmFpbHMuIEZpeGVzIGJ1ZyAjNTQxOTU2CgkgIGFuZCB0aGUgdXNhZ2Ugb2YgdjRsMnNyYyBvbiBPTFBDLgoKMjAwOC0wNy0wNyAxNTozNDoxMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5Lio6IFJldmVydCBsYXN0IGNoYW5nZTogT25seSB0aGUgaml0dGVyYnVmZmVyIGlzIGFibGUgdG8gY29udmVydCBSVFAgdG8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6IChnc3RfcnRwX3NwZWV4X2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9zcGVleF9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuaDoKCSAgUmV2ZXJ0IGxhc3QgY2hhbmdlOiBPbmx5IHRoZSBqaXR0ZXJidWZmZXIgaXMgYWJsZSB0byBjb252ZXJ0IFJUUCB0bwoJICBHc3RyZWFtZXIgdGltZXN0YW1wcyBhbmQgbm9ybWFsIChkZSlwYXlsb2FkZXJzIHNob3VsZCBzaW1wbHkgY29weSBpdC4KCSAgUmVvcGVucyBidWcgIzU0MTc4Ny4KCjIwMDgtMDctMDcgMTA6MzA6NTEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6IEluY2x1ZGUgc3RkbGliLmggZm9yIGF0b2koKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSAgSW5jbHVkZSBzdGRsaWIuaCBmb3IgYXRvaSgpLgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgVXNlIGZsb2F0aW5nIHBvaW50IG1hdGggZm9yIGxhdGVuY2llcyA8IDAgc2VjIGluIGxvZyBvdXRwdXQuCgoyMDA4LTA3LTA3IDEwOjE2OjA3ICswMDAwICBUb21hc3ogR3JvYmVsbnkgPHRvbWFzekBncm9iZWxueS5vc3dpZWNlbmlhLm5ldD4KCgkgIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS4qOiBUYWtlIHRpbWVzdGFtcCBmcm9tIHRoZSBSVFAgcGFja2V0IGFzIGEgZmlyc3Qgc3RlcCB0byBmaXggcHJvYmxlbXMgd2l0aCB0cmFuc21pc3Npb24gb3Zlci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRvbWFzeiBHcm9iZWxueSA8dG9tYXN6IGF0IGdyb2JlbG55IGRvdCBvc3dpZWNlbmlhIGRvdCBuZXQ+CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6IChnc3RfcnRwX3NwZWV4X2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9zcGVleF9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuaDoKCSAgVGFrZSB0aW1lc3RhbXAgZnJvbSB0aGUgUlRQIHBhY2tldCBhcyBhIGZpcnN0IHN0ZXAgdG8gZml4IHByb2JsZW1zCgkgIHdpdGggdHJhbnNtaXNzaW9uIG92ZXIgUlRQIHdoZW4gdGhlIG5ldHdvcmsgaXMgbm90IHJlbGlhYmxlLgoJICBGaXhlcyBidWcgIzU0MTc4Ny4KCjIwMDgtMDctMDUgMTk6MDE6MjggKzAwMDAgIFRlcm8gU2Fhcm5pIDx0ZXJvLnNhYXJuaUBnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy5jOiBGaXggcGFyc2luZyBvZiB1ZHA6Ly8gVVJJcyBjb250YWluaW5nIElQdjYgYWRkcmVzc2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRlcm8gU2Fhcm5pIDx0ZXJvIGRvdCBzYWFybmkgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19zZXRfdXJpKToKCSAgRml4IHBhcnNpbmcgb2YgdWRwOi8vIFVSSXMgY29udGFpbmluZyBJUHY2IGFkZHJlc3Nlcy4KCSAgRml4ZXMgYnVnICM1NDE2NTAuCgoyMDA4LTA3LTA0IDIwOjQzOjA3ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOiBEbyBub3QgbGVhayBpbmNvbWluZyBidWZmZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzogKGdzdF9nZGtfcGl4YnVmX2NoYWluKToKCSAgRG8gbm90IGxlYWsgaW5jb21pbmcgYnVmZmVycy4KCjIwMDgtMDctMDMgMTk6Mjc6NTMgKzAwMDAgIERhbWllbiBMZXNwaWF1IDxkYW1pZW4ubGVzcGlhdUBnbWFpbC5jb20+CgoJICBjb25maWd1cmUuYWM6IEZpeCBidWlsZCBvZiB0aGUgUlRQIHBsdWdpbiB3aXRoIG1pbmd3MzIgYnkgbGlua2luZyB0byB3czJfMzIgZm9yIGh0b25zKCkgYW5kIGh0b25sKCkuIEZpeGVzIGJ1ZyAjNTQxNDEyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IERhbWllbiBMZXNwaWF1IDxkYW1pZW4gZG90IGxlc3BpYXUgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgIEZpeCBidWlsZCBvZiB0aGUgUlRQIHBsdWdpbiB3aXRoIG1pbmd3MzIgYnkgbGlua2luZyB0byB3czJfMzIKCSAgZm9yIGh0b25zKCkgYW5kIGh0b25sKCkuIEZpeGVzIGJ1ZyAjNTQxNDEyLgoKMjAwOC0wNy0wMiAwOTo1MToxNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IEhhbmRsZSBwb3NpdGlvbiBhbmQgZHVyYXRpb24gcXVlcnkgaW4gREVGQVVMVCBmb3JtYXQgaWYgdGhlIHBhZCdzIHRyYWNrIGhhcyBhIGRlZmF1bHQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF9zdHJlYW0pLCAoZ3N0X21hdHJvc2thX2RlbXV4X3F1ZXJ5KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9lbGVtZW50X3F1ZXJ5KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc2Vla19ldmVudCk6CgkgIEhhbmRsZSBwb3NpdGlvbiBhbmQgZHVyYXRpb24gcXVlcnkgaW4gREVGQVVMVCBmb3JtYXQgaWYgdGhlCgkgIHBhZCdzIHRyYWNrIGhhcyBhIGRlZmF1bHQgZnJhbWUgZHVyYXRpb24gc2V0LgoJICBGaXggc2Vla2luZyBub3cgdGhhdCB0aGUgc2VnbWVudCdzIGR1cmF0aW9uIGRvZXNuJ3QgY29udGFpbiB0aGUKCSAgKHBvc3NpYmx5IHdyb25nIG9yIGluYWNjdXJhdGUpIGR1cmF0aW9uIG9mIHRoZSBNYXRyb3NrYSBmaWxlLgoKMjAwOC0wNy0wMiAwOTowNDo1MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiBVc2UgTkFOIGNvbnN0YW50IGluc3RlYWQgb2YgMC4wLzAuMCBpZiBwb3NzaWJsZS4gTkFOIGlzIGRlZmluZWQgaW4gbWF0aC5oIGV4Y2VwdCBvbiBNU1ZDIHdoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogKF9leHQyZGJsKToKCSAgVXNlIE5BTiBjb25zdGFudCBpbnN0ZWFkIG9mIDAuMC8wLjAgaWYgcG9zc2libGUuIE5BTiBpcyBkZWZpbmVkCgkgIGluIG1hdGguaCBleGNlcHQgb24gTVNWQyB3aGVyZSBpdCBpcyBkZWZpbmVkIGluIHhtYXRoLmguCgkgIEZpeGVzIGNvbXBpbGF0aW9uIHdpdGggTVNWQy4KCjIwMDgtMDctMDIgMDg6NTc6MDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC4qOiBEb24ndCBzZXQgdGhlIHNlZ21lbnQgZHVyYXRpb24gdG8gdGhlIGR1cmF0aW9uIGZyb20gdGhlIE1hdHJvc2thIGhlYWRlciBhcyB0aGlzIHZhbHVlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9yZXNldCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5mbyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfbG9vcF9zdHJlYW1fcGFyc2VfaWQpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBEb24ndCBzZXQgdGhlIHNlZ21lbnQgZHVyYXRpb24gdG8gdGhlIGR1cmF0aW9uIGZyb20gdGhlIE1hdHJvc2thCgkgIGhlYWRlciBhcyB0aGlzIHZhbHVlIGNvdWxkIGJlIHdyb25nIGFuZCBpcyBqdXN0IGluZm9ybWF0aW9uYWwuCgoyMDA4LTA3LTAyIDA4OjQ3OjAwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogSWYgbm8gVHJhY2tzIGVsZW1lbnQgaXMgZm91bmQgdW50aWwgdGhlIGZpcnN0IENsdXN0ZXIgaXMgZm91bmQgc2VhcmNoIGl0IGFuZCBlcnJvciBvdXQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfbG9vcF9zdHJlYW1fcGFyc2VfaWQpOgoJICBJZiBubyBUcmFja3MgZWxlbWVudCBpcyBmb3VuZCB1bnRpbCB0aGUgZmlyc3QgQ2x1c3RlciBpcyBmb3VuZAoJICBzZWFyY2ggaXQgYW5kIGVycm9yIG91dCBpZiBub25lIGlzIGZvdW5kIGluIHRoZSBjb21wbGV0ZSBmaWxlLgoKMjAwOC0wNy0wMiAwODoxNDozNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IFJlc3luYyBub24tc3VidGl0bGUgdHJhY2tzIHRvbyBpZiBhIHRvbyBsYXJnZSBnYXAgY29tcGFyZWQgdG8gb3RoZXIgdHJhY2tzIGlzIGRldGVjdGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9zeW5jX3N0cmVhbXMpOgoJICBSZXN5bmMgbm9uLXN1YnRpdGxlIHRyYWNrcyB0b28gaWYgYSB0b28gbGFyZ2UgZ2FwIGNvbXBhcmVkIHRvIG90aGVyCgkgIHRyYWNrcyBpcyBkZXRlY3RlZC4KCjIwMDgtMDctMDEgMTM6Mjg6MDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogQWRkIHJhdyB2aWRlbyBwYXkgYW5kIGRlcGF5bG9hZGVycywgc2VlIFJGQzQxNzUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOiAoZ3N0X3J0cF92cmF3X2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX3ZyYXdfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX3ZyYXdfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX3ZyYXdfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX3ZyYXdfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX3ZyYXdfZGVwYXlfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfdnJhd19kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzogKGdzdF9ydHBfdnJhd19wYXlfZ2V0X3R5cGUpLAoJICAoZ3N0X3J0cF92cmF3X3BheV9iYXNlX2luaXQpLCAoZ3N0X3J0cF92cmF3X3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfdnJhd19wYXlfaW5pdCksIChnc3RfcnRwX3ZyYXdfcGF5X2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBfdnJhd19wYXlfc2V0Y2FwcyksIChnc3RfcnRwX3ZyYXdfcGF5X2hhbmRsZV9idWZmZXIpLAoJICAoZ3N0X3J0cF92cmF3X3BheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHB2cmF3cGF5Lmg6CgkgIEFkZCByYXcgdmlkZW8gcGF5IGFuZCBkZXBheWxvYWRlcnMsIHNlZSBSRkM0MTc1LgoKMjAwOC0wNi0zMCAyMjo1MzozOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiBEb24ndCByZXR1cm4gR1NUX0ZMT1dfRVJST1Igd2hlbiBidWZmZXJfYWxsb2MgZmFpbHMgLSByZXR1cm4gd2hhdGV2ZXIgaXQgcmV0dXJuZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgIERvbid0IHJldHVybiBHU1RfRkxPV19FUlJPUiB3aGVuIGJ1ZmZlcl9hbGxvYyBmYWlscyAtIHJldHVybgoJICB3aGF0ZXZlciBpdCByZXR1cm5lZC4KCjIwMDgtMDYtMjkgMTk6NTI6NTEgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L2F2aS9hdmktaWRzLmg6IEFkZCB2cHJwIGNodW5rIHJlbGF0ZWQgc3RydWN0dXJlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9hdmktaWRzLmg6CgkgIEFkZCB2cHJwIGNodW5rIHJlbGF0ZWQgc3RydWN0dXJlcy4KCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3JpZmZfcGFyc2VfdnBycCksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSk6CgkgIFBhcnNlIG9wdGlvbmFsIHZwcnAgY2h1bmsgYW5kIGFkZCBjYWxjdWxhdGVkIHBpeGVsLWFzcGVjdC1yYXRpbwoJICB0byBjYXBzLiAgRml4ZXMgIzUzOTQ4Mi4KCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5oOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IChnc3RfYXZpX211eF9wYWRfcmVzZXQpLAoJICAoZ3N0X2F2aV9tdXhfdmlkc2lua19zZXRfY2FwcyksIChnc3RfYXZpX211eF9yaWZmX2dldF9hdmlfaGVhZGVyKToKCSAgQWRkIGEgdnBycCBjaHVuayBpZiBub24tdHJpdmFsIHBpeGVsLWFzcGVjdC1yYXRpbyBwcm92aWRlZCBpbiBjYXBzLgoKMjAwOC0wNi0yOCAxOTozMTo0NiArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzogQWRqdXN0IGF2aW11eCB1bml0IHRlc3QgYWNjb3JkaW5nIHRvIGluY3JlYXNlZCBzdHJlYW1oZWFkZXIgc2l6ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpbXV4LmM6IChjaGVja19hdmltdXhfcGFkKToKCSAgQWRqdXN0IGF2aW11eCB1bml0IHRlc3QgYWNjb3JkaW5nIHRvIGluY3JlYXNlZCBzdHJlYW1oZWFkZXIgc2l6ZS4KCjIwMDgtMDYtMjcgMTg6MTE6MDEgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgRGlyYWMgc3RyZWFtIHR5cGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgRGlyYWMgc3RyZWFtIHR5cGUKCjIwMDgtMDYtMjcgMTU6MjU6MDAgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguKjogQWRkIDggYnl0ZXMgdG8gY3VycmVudCBzdHJlYW1oZWFkZXIgdG8gbWFrZSBmb3IgYSBjb21wbGV0ZSBvbmUgYW5kIHRvIG1ha2UgbW9yZSBwbGF5ZXJzIGhhcHB5LiAgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IChnc3RfYXZpX211eF9yaWZmX2dldF9hdmlfaGVhZGVyKToKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5oOgoJICBBZGQgOCBieXRlcyB0byBjdXJyZW50IHN0cmVhbWhlYWRlciB0byBtYWtlIGZvciBhIGNvbXBsZXRlIG9uZQoJICBhbmQgdG8gbWFrZSBtb3JlIHBsYXllcnMgaGFwcHkuICBGaXhlcyAjNTE5NDYwLgoKMjAwOC0wNi0yNiAxNjozNjo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogRG9uJ3QgaW5jbHVkZSB1bnVzZWQgZ3N0djRsMnhvdmVybGF5LmguIEZpeGVzIGJ1aWxkIGluIGNhc2Ugd2hlcmUgWDExIGhlYWRlcnMgYXJlIG5vdCBpbnN0YWxsZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzo6CgkgIERvbid0IGluY2x1ZGUgdW51c2VkIGdzdHY0bDJ4b3ZlcmxheS5oLiBGaXhlcyBidWlsZAoJICBpbiBjYXNlIHdoZXJlIFgxMSBoZWFkZXJzIGFyZSBub3QgaW5zdGFsbGVkLgoKMjAwOC0wNi0yNiAxMDowNzo0NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9kdi9nc3Rkdi5jOiBGaXggY29tcGlsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3Rkdi5jOiAocGx1Z2luX2luaXQpOgoJICBGaXggY29tcGlsYXRpb24uCgoyMDA4LTA2LTI2IDA5OjM3OjIzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2R2L2dzdGR2LmM6IE1hcmtpbmcgcmFuayBvZiBkdmRlYyBhcyBHU1RfUkFOS19NQVJHSU5BTCBzaW5jZSBpdCdzIHRoZSBzbG93ZXN0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3Rkdi5jOiAocGx1Z2luX2luaXQpOgoJICBNYXJraW5nIHJhbmsgb2YgZHZkZWMgYXMgR1NUX1JBTktfTUFSR0lOQUwgc2luY2UgaXQncyB0aGUgc2xvd2VzdAoJICBEViBkZWNvZGVyIGF2YWlsYWJsZS4KCSAgRml4ZXMgIzUzMjM5MwoKMjAwOC0wNi0yNSAwODoxMjoxOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuYzogQ2FsbCBnZXRzb2NrbmFtZSgpIGFmdGVyIHRoZSBjYWxsIHRvIGJpbmQoKSB0byBnZXQgdXBkYXRlZCB2YWx1ZXMgZm9yIHRoZSBwb3J0LCBldGMuIFRoaXMgZml4ZXMgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX3N0YXJ0KToKCSAgQ2FsbCBnZXRzb2NrbmFtZSgpIGFmdGVyIHRoZSBjYWxsIHRvIGJpbmQoKSB0byBnZXQgdXBkYXRlZCB2YWx1ZXMKCSAgZm9yIHRoZSBwb3J0LCBldGMuIFRoaXMgZml4ZXMgdGhlIHVzYWdlIG9mIHVkcHNyYyBvbiBhbm9ueW1vdXMKCSAgYmluZGluZyBhbmQgaXQncyB1c2FnZSBieSBydHNwc3JjLiBGaXhlcyBidWdzICM1MzkzNzIsICM1Mzk1NDguCgkgIFRoYW5rcyB0byBBdXJlbGllbiBHcmltYXVkIGZvciBwb2ludGluZyBvdXQgdGhlIG9idmlvdXMgZml4LgoKMjAwOC0wNi0yNSAwNzo1NzoyNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdnBhY2suYzogUmVtb3ZlIHdvcmthcm91bmQgZm9yIGEgYnVnIGluIGlkZW50aXR5IHRoYXQgaXMgZml4ZWQgaW4gMC4xMC4yMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdnBhY2suYzogKGJ1c19oYW5kbGVyKToKCSAgUmVtb3ZlIHdvcmthcm91bmQgZm9yIGEgYnVnIGluIGlkZW50aXR5IHRoYXQgaXMgZml4ZWQgaW4gMC4xMC4yMC4KCjIwMDgtMDYtMjUgMDY6MzY6NTggKzAwMDAgIEphc29uIERvbmVuZmVsZCA8QnVnWmlsbGFAengyYzQuY29tPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogRml4IEhUVFAgYXV0aCBzdXBwb3J0IHdpdGggdXNlci9wYXNzd29yZCBwYXNzZWQgdmlhIHRoZSBVUkkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSmFzb24gRG9uZW5mZWxkIDxCdWdaaWxsYSBhdCB6eDJjNCBkb3QgY29tPgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cF9odHRwX3NyY19nb3RfaGVhZGVyc19jYik6CgkgIEZpeCBIVFRQIGF1dGggc3VwcG9ydCB3aXRoIHVzZXIvcGFzc3dvcmQgcGFzc2VkIHZpYSB0aGUgVVJJLgoJICBGaXhlcyBidWcgIzU0MDA2Ny4KCjIwMDgtMDYtMjQgMTU6NDI6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IERlcGVuZCBvbiByZWxlYXNlZCB2ZXJzaW9ucyBvZiBjb3JlIGFuZCAtYmFzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBEZXBlbmQgb24gcmVsZWFzZWQgdmVyc2lvbnMgb2YgY29yZSBhbmQgLWJhc2UuCgoyMDA4LTA2LTIzIDE2OjEzOjQwICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBGaXggYnVnZ3kgZm9ybWF0IHN0cmluZ3MgaW4gbWFjcm9zLiAobWFrZXMgaXQgYnVpbGQgb24gT1MgWCBhZ2Fpbi4uLikKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMDYtMjMgIEp1bGllbiBNb3V0dGUgIDxqdWxpZW5AZmx1ZW5kby5jb20+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcmVhZF90cmFja19lbmNvZGluZyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYmxvY2tncm91cF9vcl9zaW1wbGVibG9jayk6IEZpeCBidWdneQoJICBmb3JtYXQgc3RyaW5ncyBpbiBtYWNyb3MuIChtYWtlcyBpdCBidWlsZCBvbiBPUyBYIGFnYWluLi4uKQoKMjAwOC0wNi0yMCAxNjoyNDoxMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvOiBBZGRlZCBkZWJ1Zy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBBZGRlZCBkZWJ1Zy4KCjIwMDgtMDYtMjAgMTU6MjE6NTkgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkgIHN3aXRjaCB2NGwyc3JjIGZyb20gZXhwZXJpbWVudGFsIHRvIG5vcm1hbCBidWlsZC4gRml4ZXMgIzUzNjgzMQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgc3dpdGNoIHY0bDJzcmMgZnJvbSBleHBlcmltZW50YWwgdG8gbm9ybWFsIGJ1aWxkLiBGaXhlcyAjNTM2ODMxCgoyMDA4LTA2LTE5IDExOjI0OjU0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUgc28gdGhhdCB3ZSBjYW4gY29tcGlsZSBhZ2Fpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6IChnc3RfcnRwX2c3MjZfcGF5X3NldGNhcHMpOgoJICBSZW1vdmUgdW51c2VkIHZhcmlhYmxlIHNvIHRoYXQgd2UgY2FuIGNvbXBpbGUgYWdhaW4uCgoyMDA4LTA2LTE5IDExOjA2OjI5ICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOiBObyBuZWVkIHRvIGNoZWNrIGZvciBhdWRpby9HNzIzIGFuZCBhdWRpby8zMktBRFBDTSBoZXJlIGFzIHRoZXkgYXJlIG5vIGxvbmdlciBzdXBwb3J0ZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOiAoZ3N0X3J0cF9nNzI2X3BheV9zZXRjYXBzKToKCSAgTm8gbmVlZCB0byBjaGVjayBmb3IgYXVkaW8vRzcyMyBhbmQgYXVkaW8vMzJLQURQQ00gaGVyZSBhcyB0aGV5IGFyZQoJICBubyBsb25nZXIgc3VwcG9ydGVkLgoKMjAwOC0wNi0xOSAxMDo1ODo1NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IFVzZSBHX0dJTlQ2NF9DT05TVEFOVCwgdGhpcyBmaXhlcyB0aGUgZHVyYXRpb24gcXVlcnkgb24gZmlsZXMgd2l0aG91dCBrbm93biBsZW5ndGguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX3F1ZXJ5KSwgKGdzdF93YXZwYWNrX3BhcnNlX2NyZWF0ZV9zcmNfcGFkKToKCSAgVXNlIEdfR0lOVDY0X0NPTlNUQU5ULCB0aGlzIGZpeGVzIHRoZSBkdXJhdGlvbiBxdWVyeSBvbiBmaWxlcyB3aXRob3V0CgkgIGtub3duIGxlbmd0aC4KCjIwMDgtMDYtMTkgMTA6NDg6NTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS86IEZpeCBkZW11eGluZyBvZiBXYXZQYWNrIGZpbGVzLiBNdXhpbmcgaXMgc3RpbGwgYnJva2VuLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfd3Zwa19oZWFkZXIpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2F1ZGlvX2NhcHMpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgRml4IGRlbXV4aW5nIG9mIFdhdlBhY2sgZmlsZXMuIE11eGluZyBpcyBzdGlsbCBicm9rZW4uCgoyMDA4LTA2LTE5IDA5OjEyOjU1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvOiBBZGQgYSAidmZ1bmMiIHRvIHRoZSB0cmFjayBjb250ZXh0IGZvciBwb3N0cHJvY2Vzc2luZyBmcmFtZXMgYW5kIGNvbnZlcnQgdGhlIHdhdnBhY2sgYW5kIHN1YnRpdGxlIHBvc3QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfdHJhY2tfZnJlZSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX21wZWdfc2VxX2hlYWRlciksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3d2cGtfaGVhZGVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9jaGVja19zdWJ0aXRsZV9idWZmZXIpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2spLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3ZpZGVvX2NhcHMpLCAoZ3N0X21hdHJvc2thX2RlbXV4X2F1ZGlvX2NhcHMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3N1YnRpdGxlX2NhcHMpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgQWRkIGEgInZmdW5jIiB0byB0aGUgdHJhY2sgY29udGV4dCBmb3IgcG9zdHByb2Nlc3NpbmcgZnJhbWVzIGFuZAoJICBjb252ZXJ0IHRoZSB3YXZwYWNrIGFuZCBzdWJ0aXRsZSBwb3N0cHJvY2Vzc2luZyB0byB0aGlzIHZmdW5jLgoJICBDb3B5IGJ1ZmZlciBmbGFncyBpbiB0aG9zZSBmdW5jdGlvbnMgdG8gdGhlIG5ldyBidWZmZXJzIHRvby4KCSAgUGFyc2UgQ29kZWNTdGF0ZSBlbGVtZW50cyBvZiBCbG9ja3MuCgkgIEFkZCBhIHBvc3Rwcm9jZXNzaW5nIGZ1bmN0aW9uIGZvciBNUEVHIHZpZGVvIHRoYXQgYWRkcyB0aGUgc2VxdWVuY2UKCSAgaGVhZGVyIGZyb20gdGhlIGNvZGVjIHByaXZhdGUgZGF0YSBvciBjb2RlYyBzdGF0ZSB0byB0aGUgZnJhbWVzIGlmCgkgIGl0J3Mgbm90IGFscmVhZHkgdGhlcmUuCgoyMDA4LTA2LTE5IDA4OjIyOjE2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogSWYgYSBnYXAgb2YgbW9yZSB0aGFuIDEvMiBzZWNvbmQgaXMgZm91bmQgaW4gb25lIHN0cmVhbSBzZW5kIGEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYmxvY2tncm91cF9vcl9zaW1wbGVibG9jayk6CgkgIElmIGEgZ2FwIG9mIG1vcmUgdGhhbiAxLzIgc2Vjb25kIGlzIGZvdW5kIGluIG9uZSBzdHJlYW0gc2VuZCBhCgkgIE5FV1NFR01FTlQgZXZlbnQgdG8gbm90IHN0YWxsIHRoZSBwaXBlbGluZSBpZiB0aGUgZ2FwIGlzIHRvbyBsYXJnZS4KCSAgVGhpcyBhbHNvIGZpeGVzIE1hdHJvc2thIGZpbGVzIHdoZXJlIHRoZSBmaXJzdCBidWZmZXIgZG9lc24ndCBzdGFydAoJICBhdCB0aW1lc3RhbXAgMC4gRml4ZXMgYnVnICM0MjkzMjIuCgkgIFRoZSBkdXJhdGlvbiBvZiBhIGJsb2NrIGlzIHRoZSBkZWZhdWx0IGR1cmF0aW9uIG11bHRpcGxpZWQgd2l0aCB0aGUKCSAgbnVtYmVyIG9mIGxhY2VzLiBFdmVyeSBsYWNlIGlzIG9uZSBmcmFtZSBhbmQgdGhlIGRlZmF1bHQgZHVyYXRpb24KCSAgaXMgdGhlIGR1cmF0aW9uIG9mIG9uZSBmcmFtZS4gVGhpcyBmaXhlcyBwbGF5YmFjayBvZiBmaWxlcyB0aGF0IHVzZQoJICBsYWNpbmcgZm9yIHNvbWUgdHJhY2tzLgoKMjAwOC0wNi0xOCAyMDowOToyOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IFVwZGF0ZSBGSVhNRS9UT0RPcyBhbmQgb25seSBpZ25vcmUgRU9TIGF0IHRoZSBjZW50cmFsLCBpbXBvcnRhbnQgcGxhY2UgaW5zdGVhZCBvZiBzZXZlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NvbnRlbnRzX3NlZWtlbnRyeSk6CgkgIFVwZGF0ZSBGSVhNRS9UT0RPcyBhbmQgb25seSBpZ25vcmUgRU9TIGF0IHRoZSBjZW50cmFsLCBpbXBvcnRhbnQgcGxhY2UKCSAgaW5zdGVhZCBvZiBzZXZlcmFsIHBsYWNlcy4KCjIwMDgtMDYtMTggMTY6NTU6MDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzogRml4IGNhcHMsIFNlZSAjNTM4ODkxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSAgRml4IGNhcHMsIFNlZSAjNTM4ODkxLgoKMjAwOC0wNi0xOCAxMDoyODoyMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IEltcHJvdmUgZGVidWcgb3V0cHV0IGV2ZXJ5d2hlcmUgYW5kIGZpeCB0aGUgRU9TIGxvZ2ljLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9yZXNldCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfc3RyZWFtX2Zyb21fbnVtKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9lbmNvZGluZ19jbXApLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2VuY29kaW5nX29yZGVyX3VuaXF1ZSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcmVhZF90cmFja19lbmNvZGluZyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcmVhZF90cmFja19lbmNvZGluZ3MpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3RyYWNrbnVtYmVyX3VuaXF1ZSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3N0cmVhbSksIChnc3RfbWF0cm9za2FfZGVtdXhfaW5pdF9zdHJlYW0pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX3RyYWNrcyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5kZXhfY3VldHJhY2spLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZGV4X3BvaW50ZW50cnkpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZGV4KSwgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmZvKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9tZXRhZGF0YV9pZF9zaW1wbGVfdGFnKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9tZXRhZGF0YV9pZF90YWcpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX21ldGFkYXRhKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9hdHRhY2hlZF9maWxlKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9hdHRhY2htZW50cyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY2hhcHRlcnMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3N5bmNfc3RyZWFtcyksIChnc3RfbWF0cm9za2FfZGVjb2RlX2J1ZmZlciksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYmxvY2tncm91cF9vcl9zaW1wbGVibG9jayksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY2x1c3RlciksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY29udGVudHNfc2Vla2VudHJ5KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jb250ZW50cyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfbG9vcF9zdHJlYW1fcGFyc2VfaWQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2xvb3ApOgoJICBJbXByb3ZlIGRlYnVnIG91dHB1dCBldmVyeXdoZXJlIGFuZCBmaXggdGhlIEVPUyBsb2dpYy4KCSAgQ2hlY2sgdGhlIHZhbHVlcyBvZiB0aGUgQ29udGVudEVuY29kaW5nIGVsZW1lbnRzIG1vcmUgc3RyaWN0bHkgYW5kCgkgIGRvbid0IHVzZSB0cmFja3MgZm9yIHdoaWNoIGl0J3MgaW52YWxpZC4KCSAgQ2hlY2sgdGhhdCB0aGUgdHJhY2sgbnVtYmVyIGlzIHVuaXF1ZSBmb3IgdGhpcyBzdHJlYW0uCgkgIENoZWNrIHRoYXQgc2VlayBwb3NpdGlvbnMgYXJlIGJlbG93IEdfTUFYSU5UNjQgYXMgb3VyIHNlZWtzIGFyZQoJICBpbnQ2NC1iYXNlZCBhbmQgb3ZlcmZsb3dzIHdpbGwgZmFpbCBiYWRseS4KCSAgQWZ0ZXIgc2Vla3MgYWxzbyBkb24ndCBwdXNoIFNpbXBsZUJsb2NrcyB1bnRpbCB0aGUgZmlyc3Qgb25lCgkgIGNvbnRhaW5pbmcgYSBrZXlmcmFtZSBpcyBmb3VuZC4gQmVmb3JlIHRoaXMgd2FzIGRvbmUgb25seSBmb3Igbm9ybWFsCgkgIEJsb2Nrcy4KCSAgVXBkYXRlIHNvbWUgRklYTUUvVE9ET3MuCgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiAoZ3N0X2VibWxfcmVhZF9wZWVrX2J5dGVzKSwKCSAgKGdzdF9lYm1sX3JlYWRfdXRmOCksIChnc3RfZWJtbF9yZWFkX2hlYWRlcik6CgkgIEltcHJvdmUgZGVidWcgb3V0cHV0LgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuYzoKCSAgKGdzdF9tYXRyb3NrYV90cmFja19pbml0X3ZpZGVvX2NvbnRleHQpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfbXV4X3ZpZGVvX3BhZF9zZXRjYXBzKToKCSAgUmVtb3ZlIGV5ZSBtb2RlIGFuZCBkb24ndCBwYXJzZSBpdCBhbnltb3JlLiBXZSBjYW4ndCB1c2UgdGhhdAoJICBpbmZvcm1hdGlvbiBpbiBHU3RyZWFtZXIgeWV0IHNvIGl0J3MgdXNlbGVzcy4KCjIwMDgtMDYtMTggMTA6MTI6NTcgKzAwMDAgIG1lcnNhZCA8bWVyc2FkQGF4aXMuY29tPgoKCSAgZ3N0L3J0cC86IEFkZGVkIEc3MjYgcGF5L2RlcGF5bG9hZGVycy4gRml4ZXMgIzUzODg5MS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBtZXJzYWQgPG1lcnNhZCBhdCBheGlzIGRvdCBjb20+CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6IChnc3RfcnRwX2c3MjZfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfZzcyNl9kZXBheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfZzcyNl9kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfZzcyNl9kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfZzcyNl9kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfZzcyNl9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzogKGdzdF9ydHBfZzcyNl9wYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfZzcyNl9wYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX2c3MjZfcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9nNzI2X3BheV9zZXRjYXBzKSwgKGdzdF9ydHBfZzcyNl9wYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5oOgoJICBBZGRlZCBHNzI2IHBheS9kZXBheWxvYWRlcnMuIEZpeGVzICM1Mzg4OTEuCgoyMDA4LTA2LTE3IDEwOjE0OjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvVVJMUzogU29tZSBtb3JlIHVybHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL1VSTFM6CgkgIFNvbWUgbW9yZSB1cmxzLgoJICAqIGdzdC9zbXB0ZS9iYXJib3h3aXBlcy5jOgoJICBBZGQgYSBjb21tZW50CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci12NGwyLUgyNjQtYWxzYXNyYy1QQ01BLnNoOgoJICBGaXggdHlwbywgYWRkIGF1ZGlvcmVzYW1wbGUgdG8gdGhlIHBpcGVsaW5lLgoKMjAwOC0wNi0xNyAxMDowNTo1NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9saWJtbmcvOiBTb21ld2hhdCBwb3J0IG1uZ2VuYyBhbmQgbW5nZGVjIHRvIDAuMTAuIERvZXMgbm90IHdvcmsgeWV0IGFuZCBoYXMgbWFueSBiaXRzIGlmZGVmZmVkIG91dCBzdGlsbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYm1uZy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGlibW5nL2dzdG1uZy5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9saWJtbmcvZ3N0bW5nZGVjLmM6IChnc3RfbW5nX2RlY19iYXNlX2luaXQpLAoJICAoZ3N0X21uZ19kZWNfY2xhc3NfaW5pdCksIChnc3RfbW5nX2RlY19zaW5rX3NldGNhcHMpLAoJICAoZ3N0X21uZ19kZWNfaW5pdCksIChnc3RfbW5nX2RlY19zcmNfZ2V0Y2FwcyksIChnc3RfbW5nX2RlY19sb29wKSwKCSAgKGdzdF9tbmdfZGVjX2dldF9wcm9wZXJ0eSksIChnc3RfbW5nX2RlY19zZXRfcHJvcGVydHkpLAoJICAobW5nZGVjX2Vycm9yKSwgKG1uZ2RlY19vcGVuc3RyZWFtKSwgKG1uZ2RlY19jbG9zZXN0cmVhbSksCgkgIChnc3RfbW5nX2RlY19zaW5rX2V2ZW50KSwgKG1uZ2RlY19yZWFkZGF0YSksIChtbmdkZWNfc2V0dGltZXIpLAoJICAobW5nZGVjX3Byb2Nlc3NoZWFkZXIpLCAobW5nZGVjX2dldGNhbnZhc2xpbmUpLCAobW5nZGVjX3JlZnJlc2gpLAoJICAoZ3N0X21uZ19kZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvbGlibW5nL2dzdG1uZ2RlYy5oOgoJICAqIGV4dC9saWJtbmcvZ3N0bW5nZW5jLmM6IChnc3RfbW5nX2VuY19iYXNlX2luaXQpLAoJICAoZ3N0X21uZ19lbmNfY2xhc3NfaW5pdCksIChnc3RfbW5nX2VuY19zaW5rX3NldGNhcHMpLAoJICAoZ3N0X21uZ19lbmNfaW5pdCksIChnc3RfbW5nX2VuY19jaGFpbiksCgkgIChnc3RfbW5nX2VuY19nZXRfcHJvcGVydHkpLCAoZ3N0X21uZ19lbmNfc2V0X3Byb3BlcnR5KToKCSAgKiBleHQvbGlibW5nL2dzdG1uZ2VuYy5oOgoJICBTb21ld2hhdCBwb3J0IG1uZ2VuYyBhbmQgbW5nZGVjIHRvIDAuMTAuIERvZXMgbm90IHdvcmsgeWV0IGFuZCBoYXMgbWFueQoJICBiaXRzIGlmZGVmZmVkIG91dCBzdGlsbC4KCjIwMDgtMDYtMTYgMTE6MzQ6NTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBXaGVuIGNvbXBhcmluZyBpbmRleCBlbGVtZW50cyB3aXRoIHRoZSBzYW1lIHRpbWUgY29tcGFyZSB0aGVpciBibG9jayBudW1iZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2luZGV4X2NvbXBhcmUpOgoJICBXaGVuIGNvbXBhcmluZyBpbmRleCBlbGVtZW50cyB3aXRoIHRoZSBzYW1lIHRpbWUgY29tcGFyZSB0aGVpcgoJICBibG9jayBudW1iZXIuCgoyMDA4LTA2LTE2IDExOjMxOjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYXR0YWNoZWRfZmlsZSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYXR0YWNoZWRfZmlsZSkKCSAgSW5pdCB2YXJpYWJsZSB0byBOVUxMIHRvIGF2b2lkIGNvbXBpbGVyIHdhcm5pbmcuCgoyMDA4LTA2LTE2IDEwOjU5OjM5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvOiBQYXJzZSBBdHRhY2htZW50cyBhbmQgcG9zdCB0aGVtIGFzIEdTVF9UQUdfSU1BR0UgaWYgd2UgZGV0ZWN0IGl0IGFzIGltYWdlIGFuZCBvdGhlcndpc2UgYXMgR1NUX1RBR19BVFQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9hdHRhY2hlZF9maWxlKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9hdHRhY2htZW50cyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY29udGVudHNfc2Vla2VudHJ5KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wX3N0cmVhbV9wYXJzZV9pZCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5jOiAoZ3N0X21hdHJvc2thX3JlZ2lzdGVyX3RhZ3MpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EuYzogKHBsdWdpbl9pbml0KToKCSAgUGFyc2UgQXR0YWNobWVudHMgYW5kIHBvc3QgdGhlbSBhcyBHU1RfVEFHX0lNQUdFIGlmIHdlIGRldGVjdAoJICBpdCBhcyBpbWFnZSBhbmQgb3RoZXJ3aXNlIGFzIEdTVF9UQUdfQVRUQUNITUVOVC4gSW5jbHVkZSBmaWxlbmFtZQoJICBhbmQgZGVzY3JpcHRpb24gb2YgdGhlIGF0dGFjaG1lbnRzIGluIHRoZSBjYXBzLiBGaXhlcyBidWcgIzUzNzYyMi4KCjIwMDgtMDYtMTYgMTA6MDk6MDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogQWRkIG1vZGUgcHJvcGVydHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiAoZ3N0X3NwZWV4X2VuY19tb2RlX2dldF90eXBlKSwKCSAgKGdzdF9zcGVleF9lbmNfY2xhc3NfaW5pdCksIChnc3Rfc3BlZXhfZW5jX3NpbmtfZ2V0Y2FwcyksCgkgIChnc3Rfc3BlZXhfZW5jX2dldF9sYXRlbmN5KSwgKGdzdF9zcGVleF9lbmNfZ2V0X3F1ZXJ5X3R5cGVzKSwKCSAgKGdzdF9zcGVleF9lbmNfc3JjX3F1ZXJ5KSwgKGdzdF9zcGVleF9lbmNfaW5pdCksCgkgIChnc3Rfc3BlZXhfZW5jX3NldHVwKSwgKGdzdF9zcGVleF9lbmNfcHVzaF9idWZmZXIpLAoJICAoZ3N0X3NwZWV4X2VuY19jaGFpbiksIChnc3Rfc3BlZXhfZW5jX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfc3BlZXhfZW5jX3NldF9wcm9wZXJ0eSk6CgkgIEFkZCBtb2RlIHByb3BlcnR5LgoJICBTb21lIGNsZWFudXBzLCBhZGQgbW9yZSBkZWJ1ZyBpbmZvLgoJICBBZGQgbGF0ZW5jeSBxdWVyeS4KCjIwMDgtMDYtMTYgMDk6NTQ6MjcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogUmV0dXJuIEdTVF9GTE9XX1VORVhQRUNURUQgaW5zdGVhZCBvZiBHU1RfRkxPV19FUlJPUiBvbiBzaG9ydCByZWFkcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiAoZ3N0X2VibWxfcmVhZF9wZWVrX2J5dGVzKToKCSAgUmV0dXJuIEdTVF9GTE9XX1VORVhQRUNURUQgaW5zdGVhZCBvZiBHU1RfRkxPV19FUlJPUiBvbiBzaG9ydCByZWFkcy4KCSAgSWYgd2UgZ2V0IGxlc3MgYnl0ZXMgdGhhbiByZXF1ZXN0ZWQgd2UgY2FuJ3QgZG8gYW55dGhpbmcgZXhjZXB0IGRvaW5nCgkgIG91ciBFT1MgbG9naWMuCgoyMDA4LTA2LTE1IDE5OjA5OjU0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvOiBVc2UgYSBHQXJyYXkgZm9yIHN0b3JpbmcgdGhlIEN1ZSAoaS5lLiBzZWVrKSBpbmZvcm1hdGlvbiwgc3RvcmUgdGhlIEN1ZVRyYWNrUG9zaXRpb25zIGZvciBldmVyeSB0cmFjaywuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X21hdHJvc2thZGVtdXhfZG9faW5kZXhfc2VlayksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5kZXhfY3VldHJhY2spLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZGV4X3BvaW50ZW50cnkpLAoJICAoZ3N0X21hdHJvc2thX2luZGV4X2NvbXBhcmUpLCAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZGV4KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9tZXRhZGF0YSk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBVc2UgYSBHQXJyYXkgZm9yIHN0b3JpbmcgdGhlIEN1ZSAoaS5lLiBzZWVrKSBpbmZvcm1hdGlvbiwgc3RvcmUKCSAgdGhlIEN1ZVRyYWNrUG9zaXRpb25zIGZvciBldmVyeSB0cmFjaywgc3RvcmUgdGhlIGJsb2NrIG51bWJlcgoJICBhbmQgb3B0aW1pemUgc2VhcmNoaW5nIGluIHRoZSBhcnJheSBieSBzb3J0aW5nIGl0IGFmdGVyIHRoZSBsYXN0CgkgIGVsZW1lbnQgd2FzIGFkZGVkLgoJICBGaXggYSBzbWFsbCBtZW1vcnkgbGVhayB3aGVuIHRyeWluZyB0byBwYXJzZSBhIHRhZ3MgZWxlbWVudCB0aGF0IHdhcwoJICBhbHJlYWR5IHBhcnNlZC4KCjIwMDgtMDYtMTUgMTU6Mjk6MjkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguKjogRG9uJ3Qgd3JpdGUgYW5vdGhlciBTZWVrSGVhZCB3aGljaCBpbmRleGVzIGFsbCBDbHVzdGVycyB0byB0aGUgZW5kIG9mIHRoZSBmaWxlLiBUaGlzIGlzbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X3Jlc2V0KSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfc3RhcnQpLCAoZ3N0X21hdHJvc2thX211eF9maW5pc2gpLAoJICAoZ3N0X21hdHJvc2thX211eF93cml0ZV9kYXRhKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIERvbid0IHdyaXRlIGFub3RoZXIgU2Vla0hlYWQgd2hpY2ggaW5kZXhlcyBhbGwgQ2x1c3RlcnMgdG8gdGhlIGVuZCBvZgoJICB0aGUgZmlsZS4gVGhpcyBpc24ndCB1c2VmdWwgZm9yIGFueXRoaW5nIGFuZCBqdXN0IGluY3JlYXNlcyBmaWxlc2l6ZS4KCjIwMDgtMDYtMTUgMTU6MDE6MzAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogUHJldmVudCB1bmFsaWduZWQgbWVtb3J5IGFjY2VzcyB3aGVuIHJlYWRpbmcgZmxvYXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IChfZXh0MmRibCksIChnc3RfZWJtbF9yZWFkX2Zsb2F0KToKCSAgUHJldmVudCB1bmFsaWduZWQgbWVtb3J5IGFjY2VzcyB3aGVuIHJlYWRpbmcgZmxvYXRzLgoKMjAwOC0wNi0xNSAxNDowODo0MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thLzogTWFrZSBzdXJlIHRoYXQgZXZlcnkgVGFncyBlbGVtZW50IGlzIG9ubHkgcGFyc2VkIG9uY2UgYW5kIGl0J3MgY29udGFpbmluZyB0YWdzIGFyZSBvbmx5IHBvc3RlZCBvbmNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9tZXRhZGF0YSk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIE1ha2Ugc3VyZSB0aGF0IGV2ZXJ5IFRhZ3MgZWxlbWVudCBpcyBvbmx5IHBhcnNlZCBvbmNlIGFuZCBpdCdzCgkgIGNvbnRhaW5pbmcgdGFncyBhcmUgb25seSBwb3N0ZWQgb25jZS4KCjIwMDgtMDYtMTUgMDk6NDM6MjUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS86IEhhbmRsZSBFQk1MIGVsZW1lbnRzIGxpa2UgVm9pZCBvciBDUkMzMiBpbiB0aGUgRWJtbFJlYWQgYmFzZSBjbGFzcyBhbHJlYWR5LiBUaGV5J3JlIG5vdCB1c2VmdWwgaW4gdGhlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IChnc3RfZWJtbF9wZWVrX2lkKSwKCSAgKGdzdF9lYm1sX3JlYWRfaGVhZGVyKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfc3RyZWFtKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV90cmFja3MpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZGV4X2N1ZXRyYWNrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmRleF9wb2ludGVudHJ5KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmRleCksIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5mbyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfbWV0YWRhdGFfaWRfc2ltcGxlX3RhZyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfbWV0YWRhdGFfaWRfdGFnKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9tZXRhZGF0YSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYXR0YWNobWVudHMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NoYXB0ZXJzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jbHVzdGVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jb250ZW50c19zZWVrZW50cnkpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NvbnRlbnRzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wX3N0cmVhbV9wYXJzZV9pZCk6CgkgIEhhbmRsZSBFQk1MIGVsZW1lbnRzIGxpa2UgVm9pZCBvciBDUkMzMiBpbiB0aGUgRWJtbFJlYWQgYmFzZSBjbGFzcwoJICBhbHJlYWR5LiBUaGV5J3JlIG5vdCB1c2VmdWwgaW4gdGhlIG1hdHJvc2thIHBhcnNlciBhbmQgb25seSBjYXVzZQoJICBhZGRpdGlvbmFsIGNvZGUuCgoyMDA4LTA2LTE0IDE1OjUxOjI1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvOiBSZXZlcnNlIHRoZSBsZXZlbCBsaXN0IGFzIHdlIHVzdWFsbHkgYXJlIG9ubHkgaW50ZXJlc3RlZCBpbiB0aGUgZmlyc3QgZWxlbWVudCBvciB3YW50IHRvIGFkZCBhIG5ldyBmaXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiAoZ3N0X2VibWxfbGV2ZWxfZnJlZSksCgkgIChnc3RfZWJtbF9maW5hbGl6ZSksIChnc3RfZWJtbF9yZWFkX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfZWJtbF9yZWFkX2VsZW1lbnRfbGV2ZWxfdXApLCAoZ3N0X2VibWxfcmVhZF9tYXN0ZXIpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NvbnRlbnRzX3NlZWtlbnRyeSk6CgkgIFJldmVyc2UgdGhlIGxldmVsIGxpc3QgYXMgd2UgdXN1YWxseSBhcmUgb25seSBpbnRlcmVzdGVkIGluIHRoZQoJICBmaXJzdCBlbGVtZW50IG9yIHdhbnQgdG8gYWRkIGEgbmV3IGZpcnN0IGVsZW1lbnQuIEhhdmluZyB0aGUKCSAgZmlyc3QgZWxlbWVudCBzdG9yZWQgYXQgdGhlIGVuZCBhbmQgY2FsbGluZyBnX2xpc3RfbGFzdCgpIGFuZAoJICBnX2xpc3RfYXBwZW5kKCkgaXMgbW9yZSBleHBlbnNpdmUuCgkgIEFsc28gdXNlIEdTbGljZSBmb3IgYWxsb2NhdGluZyB0aGUgR3N0RWJtbExldmVsIHN0cnVjdHMuCgoyMDA4LTA2LTEzIDIxOjEzOjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2RlYnVnL2dzdHRhZ2luamVjdC5jOiBEb24ndCB1bnJlZiBOVUxMIHRhZ2xpc3QgaW4gZmluYWxpemUuIERvbid0IHVzZSBjKysgc3R5bGUgY29tbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9nc3R0YWdpbmplY3QuYzogKGdzdF90YWdfaW5qZWN0X2ZpbmFsaXplKSwKCSAgKGdzdF90YWdfaW5qZWN0X2NsYXNzX2luaXQpLCAoZ3N0X3RhZ19pbmplY3RfaW5pdCk6CgkgIERvbid0IHVucmVmIE5VTEwgdGFnbGlzdCBpbiBmaW5hbGl6ZS4gRG9uJ3QgdXNlIGMrKyBzdHlsZQoJICBjb21tZW50cy4KCjIwMDgtMDYtMTMgMTk6MTQ6NDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS86IFVzZSBnc3RfdmFsdWVfc2VyaWFsaXplKCkgYW5kIGdzdF92YWx1ZV9kZXNlcmlhbGl6ZSgpIGZvciB0cmFuc2Zvcm1pbmcgdGFncyBmcm9tIHNvbWUgR1R5cGUgdG8gYSBzdHJpbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9tZXRhZGF0YV9pZF9zaW1wbGVfdGFnKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X3dyaXRlX3NpbXBsZV90YWcpLAoJICAoZ3N0X21hdHJvc2thX211eF93cml0ZV9kYXRhKToKCSAgVXNlIGdzdF92YWx1ZV9zZXJpYWxpemUoKSBhbmQgZ3N0X3ZhbHVlX2Rlc2VyaWFsaXplKCkgZm9yIHRyYW5zZm9ybWluZwoJICB0YWdzIGZyb20gc29tZSBHVHlwZSB0byBhIHN0cmluZyBhbmQgdGhlIG90aGVyIHdheSBhcm91bmQuIFRoZSBkZWZhdWx0CgkgIHRyYW5zZm9ybWF0aW9ucyBpbiBHTGliIGRvbid0IGluY2x1ZGUgdHJhbnNmb3JtYXRpb25zIGZyb20gc3RyaW5nIHRvCgkgIG51bWJlciB0eXBlcy4KCjIwMDgtMDYtMTMgMTk6MDc6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC4qOiBPbmx5IHBhcnNlIFRyYWNrcywgU2Vla0hlYWQgYW5kIFNlZ21lbnRJbmZvIGVsZW1lbnRzIG9uY2UgYnV0IGFsbG93CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV90cmFja3MpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZGV4KSwgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmZvKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9hdHRhY2htZW50cyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY2hhcHRlcnMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NvbnRlbnRzX3NlZWtlbnRyeSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfbG9vcF9zdHJlYW1fcGFyc2VfaWQpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBPbmx5IHBhcnNlIFRyYWNrcywgU2Vla0hlYWQgYW5kIFNlZ21lbnRJbmZvIGVsZW1lbnRzIG9uY2UgYnV0IGFsbG93CgkgIFRhZ3MgbXVsdGlwbGUgdGltZXMuIFRoZSBmaXJzdCBvbmVzIGNhbiBhcHBlYXIgbW9yZSB0aGFuIG9uY2UgYnV0IG11c3QKCSAgY29udGFpbiB0aGUgc2FtZSBjb250ZW50IGFzIHRoZSBmaXJzdCBmb3IgYmFja3VwIHB1cnBvc2VzIHNvIHdlIGlnbm9yZQoJICBhbGwgYnV0IHRoZSBmaXJzdCBvbmUuIFRhZ3MgY2FuIGFwcGVhciBtdWx0aXBsZSB0aW1lcyB3aXRoIGRpZmZlcmVudAoJICBjb250ZW50LgoJICBKdW1wIHRvIGFsbCBlbGVtZW50cyBleGNlcHQgQ2x1c3RlcnMgdGhhdCBhcmUgYXZhaWxhYmxlIGZyb20gYQoJICBTZWVrSGVhZCB0byBtYWtlIGl0IG1vcmUgbGlrZWx5IHRvIGhhdmUgYWxsIHJlcXVpcmVkIGluZm9ybWF0aW9ucwoJICBiZWZvcmUgZ2V0dGluZyB0byB0aGUgZmlyc3QgQ2x1c3RlcnMuCgkgIEFkZCBkdW1teSBmdW5jdGlvbnMgZm9yIHBhcnNpbmcgQXR0YWNobWVudHMgYW5kIENoYXB0ZXJzLgoKMjAwOC0wNi0xMyAxNDozMzo1MiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3JlcGxheWdhaW4vOiBNb3JlIGRvYyB1cGRhdGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdsaW1pdGVyLmM6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzoKCSAgTW9yZSBkb2MgdXBkYXRlcy4KCjIwMDgtMDYtMTMgMTE6NTk6MjMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RpbnRlcmxhY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbAoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbAoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXhyZXNhbXBsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWwKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGltaWRpdHkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOgoJICAqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2RlYy5jOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkgICogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzoKCSAgKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICAqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJICBBZGQgbWlzc2luZyBlbGVtZW50cyB0byBkb2NzLiBGaXggZG9jLW1hcmt1cDogdXNlIGNvbnZpbmllbmNlIHN5bnRheAoJICBmb3IgZXhhbXBsZXMgKHByb2R1Y2VzIHZhbGlkIGRvY2Jvb2spLCBhZGQgc2V2ZXJhbCByZWZzZWMyIHdoZW4gd2UKCSAgaGF2ZSBzZXZlcmFsIHRpdGxlcy4gRml4IHNvbWUgdHlwZXMuCgoyMDA4LTA2LTEzIDExOjU0OjA1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuKjogQWRkIHByb3BlcnR5IHRvIGNvbnRyb2wgYXV0b21hdGljIGpvaW4vbGVhdmUgb2YgbXVsdGljYXN0IGdyb3Vwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY2xhc3NfaW5pdCksIChnc3RfdWRwc3JjX2luaXQpLAoJICAoZ3N0X3VkcHNyY19jcmVhdGUpLCAoZ3N0X3VkcHNyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3VkcHNyY19nZXRfcHJvcGVydHkpLCAoZ3N0X3VkcHNyY19zdGFydCksIChnc3RfdWRwc3JjX3N0b3ApOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkgIEFkZCBwcm9wZXJ0eSB0byBjb250cm9sIGF1dG9tYXRpYyBqb2luL2xlYXZlIG9mIG11bHRpY2FzdCBncm91cHMuCgkgIEFkZCBHX0xJS0VMWS4KCSAgUmVtb3ZlIHNldHRpbmcgY2FwcyBvbiBidWZmZXJzIGV4cGxpY2l0bHksIGJhc2VzcmMgZG9lcyB0aGF0IGZvciB1cyBub3cuCgkgIEltcHJvdmUgZGVidWcgaW5mby4KCSAgQ29udmVydCBzb21lIG5vbi1mYXRhbCBlcnJvciBpbnRvIHdhcm5pbmdzLgoJICBVc2UgZ19udG9ocyBmb3IgYmV0dGVyIHBvcnRhYmlsaXR5LgoJICBMZWF2ZSBtdWx0aWNhc3QgZ3JvdXBzIHdoZW4gc3RvcHBpbmcuCgkgIFdoZW4gdXNpbmcgZXh0ZXJuYWwgc29ja2V0cywgdXNlIGdldHNvY2tuYW1lKCkgb24gdGhlbSB0byBmaWxsIHVwIHRoZQoJICBhZGRyIHN0cnVjdHVyZSBiZWZvcmUgY2FsbGluZyBtZXRob2RzIHRoYXQgdXNlIHRoZSBzdHJ1Y3R1cmUuCgkgIFNob3VsZCBhbGwgZml4ICM1MzY5MDMuCgkgIEFQSTogR3N0VURQU3JjOjphdXRvLW11bHRpY2FzdCBwcm9wZXJ0eQoKMjAwOC0wNi0xMyAxMTo0NzoyOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzogVXNlIGdfbnRvaGwgZm9yIGJldHRlciBwb3J0YWJpbGl0eS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOiAoZ3N0X3VkcF9pc19tdWx0aWNhc3QpOgoJICBVc2UgZ19udG9obCBmb3IgYmV0dGVyIHBvcnRhYmlsaXR5LgoKMjAwOC0wNi0xMyAxMTo0NTo1NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IEZpeCBhIHR5cG8gYW5kIGRvIHNvbWUgc21hbGwgY2xlYW51cHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX2luaXRfc2VuZCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX3JlbW92ZSk6CgkgIEZpeCBhIHR5cG8gYW5kIGRvIHNvbWUgc21hbGwgY2xlYW51cHMuCgoyMDA4LTA2LTEzIDA5OjM5OjQxICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOiBNYWtlIHRoZSBkZWxpdmVyeS1tZXRob2QgbWFuZGF0b3J5IG9uIHRoZSBjYXBzIGFuZCBvbmx5IGFjY2VwdCBpbmxpbmUgZm9yIG5vdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6IChnc3RfcnRwX3RoZW9yYV9kZXBheV9zZXRjYXBzKToKCSAgTWFrZSB0aGUgZGVsaXZlcnktbWV0aG9kIG1hbmRhdG9yeSBvbiB0aGUgY2FwcyBhbmQgb25seSBhY2NlcHQgaW5saW5lCgkgIGZvciBub3cuCgkgIFJldmVyc2Ugc3RyY21wIGNoZWNrcyBmb3IgZGVsaXZlcnktbWV0aG9kLgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzogKGdzdF9ydHBfdm9yYmlzX2RlcGF5X3NldGNhcHMpOgoJICBNYWtlIGRlbGl2ZXJ5IG1ldGhvZCBvcHRpb25hbCB3aGVuIHBhcnNpbmcgY2FwcyBhbmQgbm90ZSB0aGlzIGluIHRoZQoJICBjYXBzLgoJICBSZXZlcnNlIHN0cmNtcCBjaGVja3MgZm9yIGRlbGl2ZXJ5LW1ldGhvZC4KCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICBVcGRhdGUgYSBjb21tZW50IHRvIG5vdGUgdGhhdCB0aGUgZGVsaXZlcnktbWV0aG9kIGlzIG9wdGlvbmFsLAoJICBGaXhlcyAjNTM3Njc1LgoKMjAwOC0wNi0xMiAxNzozMDowNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogU2V0IHVkcHNyYyBmb3IgcmVjZWl2aW5nIGRhdGEgZnJvbSBtdWx0aWNhc3QgZ3JvdXBzIHRvIFBBVVNFRCBpbnN0ZWFkIG9mIGxlYXZpbmcgdGhlbSBpbiBSRUFEWS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX21jYXN0KToKCSAgU2V0IHVkcHNyYyBmb3IgcmVjZWl2aW5nIGRhdGEgZnJvbSBtdWx0aWNhc3QgZ3JvdXBzIHRvIFBBVVNFRCBpbnN0ZWFkIG9mCgkgIGxlYXZpbmcgdGhlbSBpbiBSRUFEWS4gRml4ZXMgIzUzNzgzMi4KCjIwMDgtMDYtMTIgMTI6MTQ6MzggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IFNpbXBsaWZ5IGNvZGUuIGdzdF90YWdfbGlzdF9tZXJnZSgpIGRvZXMgdGhlIE5VTEwgY2hlY2tzLiBBZGQgYSBGSVhNRSBmb3IgYSByYW5kb20gY29uc3RhbnQgaW4gdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBTaW1wbGlmeSBjb2RlLiBnc3RfdGFnX2xpc3RfbWVyZ2UoKSBkb2VzIHRoZSBOVUxMIGNoZWNrcy4gQWRkIGEgRklYTUUKCSAgZm9yIGEgcmFuZG9tIGNvbnN0YW50IGluIHRhZ211eGluZyBjb2RlLgoKMjAwOC0wNi0xMSAxNDoyODo0NCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2RlYnVnL2dzdHRhZ2luamVjdC4qOiBOb3cgYWN0dWFsbHkgYWRkaW5nIHRoZSBuZXcgZWxlbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL2dzdHRhZ2luamVjdC5jOgoJICAqIGdzdC9kZWJ1Zy9nc3R0YWdpbmplY3QuaDoKCSAgTm93IGFjdHVhbGx5IGFkZGluZyB0aGUgbmV3IGVsZW1lbnQuCgoyMDA4LTA2LTExIDE0OjExOjE2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBSZW1vdmUgZHVtbXkgcGx1Z2luX2luaXQuIFJlbW92ZSBzb21lIHVuZGVmaW5lZCBlbnRyaWVzIGZyb20gZG9jLSBzZWN0aW9uIGZpbGUuIEFkZCB0YWdpbmplY3QgZWxlbWVudCBhbmQgcmVidWlsZCBkb2MuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkgICogZ3N0L2RlYnVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWJ1Zy9icmVha215ZGF0YS5jOgoJICAqIGdzdC9kZWJ1Zy9lZmVuY2UuYzoKCSAgKiBnc3QvZGVidWcvZ3N0ZGVidWcuYzoKCSAgKiBnc3QvZGVidWcvZ3N0bmF2c2Vlay5jOgoJICAqIGdzdC9kZWJ1Zy9nc3RwdXNoZmlsZXNyYy5jOgoJICAqIGdzdC9kZWJ1Zy9nc3RwdXNoZmlsZXNyYy5oOgoJICAqIGdzdC9kZWJ1Zy9uZWdvdGlhdGlvbi5jOgoJICAqIGdzdC9kZWJ1Zy9wcm9ncmVzc3JlcG9ydC5jOgoJICAqIGdzdC9kZWJ1Zy9wcm9ncmVzc3JlcG9ydC5oOgoJICAqIGdzdC9kZWJ1Zy9ybmRidWZmZXJzaXplLmM6CgkgICogZ3N0L2RlYnVnL3Rlc3RwbHVnaW4uYzoKCSAgUmVtb3ZlIGR1bW15IHBsdWdpbl9pbml0LiBSZW1vdmUgc29tZSB1bmRlZmluZWQgZW50cmllcyBmcm9tIGRvYy0KCSAgc2VjdGlvbiBmaWxlLiBBZGQgdGFnaW5qZWN0IGVsZW1lbnQgYW5kIHJlYnVpbGQgZG9jcyBmb3IgaXQuCgoyMDA4LTA2LTExIDExOjI3OjQ2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IFVwZGF0ZSB0aGUgY291bnRlciBmb3IgdGhlIG51bWJlciBvZiBzdHJlYW1zIHdoZW4gcGFkcyBhcmUgYWRkZWQgb3IgcmVtb3ZlZC4gVGhpcyB3aWxsIG0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9yZXF1ZXN0X25ld19wYWQpLAoJICAoZ3N0X21hdHJvc2thX211eF9yZWxlYXNlX3BhZCksIChnc3RfbWF0cm9za2FfbXV4X3dyaXRlX2RhdGEpOgoJICBVcGRhdGUgdGhlIGNvdW50ZXIgZm9yIHRoZSBudW1iZXIgb2Ygc3RyZWFtcyB3aGVuIHBhZHMgYXJlIGFkZGVkIG9yCgkgIHJlbW92ZWQuIFRoaXMgd2lsbCBtYWtlIHN1cmUgdGhhdCBhIHNlZWsgdGFibGUgaXMgZ2VuZXJhdGVkIGZvcgoJICBmaWxlcyB3aXRoIGp1c3Qgb25lIGF1ZGlvIHN0cmVhbS4KCjIwMDgtMDYtMTEgMTE6MTg6MjMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS86IEFkZCBzb21lIG1vcmUgdGFncywgaW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQgYW5kIG1ha2Ugc3VyZSB0aGF0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX21ldGFkYXRhX2lkX3NpbXBsZV90YWcpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X3dyaXRlX3NpbXBsZV90YWcpOgoJICBBZGQgc29tZSBtb3JlIHRhZ3MsIGltcHJvdmUgZGVidWdnaW5nIGEgYml0IGFuZCBtYWtlIHN1cmUgdGhhdAoJICBHVmFsdWUgdHJhbnNmb3JtYXRpb24gaGFzIHN1Y2NlZWRlZCBiZWZvcmUgdXNpbmcgdGhlIHJlc3VsdAoJICBhcyBhIHRhZy4KCjIwMDgtMDYtMTEgMDg6NTY6MTYgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOiBUaGUgVGhlb3JhIFJUUCBwYXlsb2FkZXIgb25seSBzdXBwb3J0cyB0aGUgImlubGluZSIgZGVsaWV2ZXJ5IG1ldGhvZCBzbyBsZXQncyBkZWNsYXJlIHRoaXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICBUaGUgVGhlb3JhIFJUUCBwYXlsb2FkZXIgb25seSBzdXBwb3J0cyB0aGUgImlubGluZSIgZGVsaWV2ZXJ5IG1ldGhvZAoJICBzbyBsZXQncyBkZWNsYXJlIHRoaXMgb24gdGhlIGNhcHMgb2YgdGhlIHN0YXRpYyBwYWQgdGVtcGxhdGUuCgkgIEZpeGVzIGJ1ZyAjNTM3Njc1LgoKMjAwOC0wNi0xMCAxNzoyMDo0NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogUmVtb3ZlIGJvZ3VzIGNoZWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IChnc3RfdmlkZW9taXhlcl9maWxsX3F1ZXVlcyksCgkgIChnc3RfdmlkZW9taXhlcl9ibGVuZF9idWZmZXJzKSwgKGdzdF92aWRlb21peGVyX3VwZGF0ZV9xdWV1ZXMpOgoJICBSZW1vdmUgYm9ndXMgY2hlY2suCgoyMDA4LTA2LTEwIDE2OjI1OjI0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiBVc2Ugc3RyZWFtX3RpbWUgdG8gc3luY2hyb25pemUgdGhlIG9iamVjdCBwcm9wZXJ0aWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IChnc3RfdmlkZW9taXhlcl9maWxsX3F1ZXVlcyksCgkgIChnc3RfdmlkZW9taXhlcl9ibGVuZF9idWZmZXJzKToKCSAgVXNlIHN0cmVhbV90aW1lIHRvIHN5bmNocm9uaXplIHRoZSBvYmplY3QgcHJvcGVydGllcy4KCSAgVXNlIHJ1bm5pbmdfdGltZSBvZiB0aGUgbWFzdGVyIHBhZCB0byB0aW1lc3RhbXAgb3V0Z29pbmcgYnVmZmVycy4KCSAgRml4IHRoZSBpbml0aWFsIHNlZ21lbnQgZXZlbnQgdG8gZXh0ZW5kIGFuIHVua25vd24gYW1vdW50IG9mIHRpbWUuCgkgIEZpeGVzICM1MzczNjEuCgoyMDA4LTA2LTEwIDExOjA1OjMwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBUcnkgdG8gaWdub3JlIHVucGFyc2FibGUvdW5rbm93biBzdHJlYW1zIGFuZCBnaXZlIGEgd2FybmluZyBpbnN0ZWFkIG9mIGVycm9yaW5nIG91dC4gRml4ZXMgIzUzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2VfaW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9tYXNzYWdlX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfY2FsY3VsYXRlX2R1cmF0aW9uc19mcm9tX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlcl9wdXNoKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlcl9wdWxsKToKCSAgVHJ5IHRvIGlnbm9yZSB1bnBhcnNhYmxlL3Vua25vd24gc3RyZWFtcyBhbmQgZ2l2ZSBhIHdhcm5pbmcgaW5zdGVhZCBvZgoJICBlcnJvcmluZyBvdXQuIEZpeGVzICM1MzczNzcuCgoyMDA4LTA2LTEwIDEwOjQ0OjUzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOiBVc2UgR0RPVUJMRV9UT19CRSgpIGluc3RlYWQgb2YgKHByb2JhYmx5IHNsb3dlcikgY3VzdG9tIGNvZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6IChnc3RfZWJtbF93cml0ZV9mbG9hdCk6CgkgIFVzZSBHRE9VQkxFX1RPX0JFKCkgaW5zdGVhZCBvZiAocHJvYmFibHkgc2xvd2VyKSBjdXN0b20gY29kZS4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9iYXNlX2luaXQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2NsYXNzX2luaXQpLCAoZ3N0X21hdHJvc2thX2RlbXV4X2luaXQpLAoJICAoZ3N0X21hdHJvc2thX3RyYWNrX2ZyZWUpLCAoZ3N0X21hdHJvc2thX2RlbXV4X2VuY29kaW5nX2NtcCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcmVhZF90cmFja19lbmNvZGluZ3MpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF9zdHJlYW0pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2luaXRfc3RyZWFtKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmRleF9jdWV0cmFjayksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5kZXhfcG9pbnRlbnRyeSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5mbyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfbWV0YWRhdGFfaWRfc2ltcGxlX3RhZyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfbWV0YWRhdGEpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF93dnBrX2hlYWRlciksIChnc3RfbWF0cm9za2FfZGVjb2RlX2J1ZmZlciksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYmxvY2tncm91cF9vcl9zaW1wbGVibG9jayksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY2x1c3RlciksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY29udGVudHNfc2Vla2VudHJ5KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wX3N0cmVhbV9wYXJzZV9pZCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfbG9vcCksIChnc3RfbWF0cm9za2FfZGVtdXhfdmlkZW9fY2FwcyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYXVkaW9fY2FwcyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfc3VidGl0bGVfY2Fwcyk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5jOgoJICAoZ3N0X21hdHJvc2thX3RyYWNrX2luaXRfc3VidGl0bGVfY29udGV4dCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfYmFzZV9pbml0KSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfY2xhc3NfaW5pdCksIChnc3RfbWF0cm9za2FfbXV4X2luaXQpLAoJICAoZ3N0X21hdHJvc2thX211eF9jcmVhdGVfdWlkKSwgKGdzdF9tYXRyb3NrYV9tdXhfcmVzZXQpLAoJICAoZ3N0X21hdHJvc2thX211eF92aWRlb19wYWRfc2V0Y2FwcyksCgkgIChnc3RfbWF0cm9za2FfbXV4X2F1ZGlvX3BhZF9zZXRjYXBzKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfc3VidGl0bGVfcGFkX3NldGNhcHMpLAoJICAoZ3N0X21hdHJvc2thX211eF9yZXF1ZXN0X25ld19wYWQpLAoJICAoZ3N0X21hdHJvc2thX211eF90cmFja19oZWFkZXIpLCAoZ3N0X21hdHJvc2thX211eF9zdGFydCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3dyaXRlX3NpbXBsZV90YWcpLCAoZ3N0X21hdHJvc2thX211eF9maW5pc2gpLAoJICAoZ3N0X21hdHJvc2thX211eF93cml0ZV9kYXRhKSwgKGdzdF9tYXRyb3NrYV9tdXhfY29sbGVjdGVkKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfc2V0X3Byb3BlcnR5KToKCSAgQWRkIG1hbnkgRklYTUVzL1RPRE9zIGFsbCBvdmVyIHRoZSBtYXRyb3NrYSBtdXhlciBhbmQgZGVtdXhlcgoJICBlbGVtZW50cywgZG8gc29tZSBjaGVja3MgZm9yIHZhbGlkIHZhbHVlcyBpbiB0aGUgZGVtdXhlciwgaGFuZGxlCgkgIHRyYWNrdGltZWNvZGVzY2FsZSBpbiB0aGUgZGVtdXhlciwgc2V0IGNvcnJlY3QgZGVmYXVsdCB2YWx1ZXMgZm9yIGFsbAoJICBzZXR0aW5ncyBpbiB0aGUgZGVtdXhlciwgcmV2aWV3IGFuZCBhZGQgYWxsIG1pc3NpbmcgbWF0cm9za2EKCSAgSURzIGFuZCBzb21lIG1vcmUgcmF3IFlVViBmb3JtYXRzLCBhbmQgc29tZSB0cml2aWFsIGNsZWFudXAuCgoyMDA4LTA2LTEwIDA4OjU5OjE3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvcHVsc2UvOiBTb21lIHNtYWxsZXIgY2xlYW51cC4gVXNlIEdfUEFSQU1fU1RBVElDX1NUUklOR1MsIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSgpIGFuZCBmaXggY29kaW5nIHMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3B1bHNlL3B1bHNlbWl4ZXIuYzogKGdzdF9wdWxzZW1peGVyX2Jhc2VfaW5pdCksCgkgIChnc3RfcHVsc2VtaXhlcl9jbGFzc19pbml0KToKCSAgKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6IChnc3RfcHVsc2VzaW5rX2Jhc2VfaW5pdCksCgkgIChnc3RfcHVsc2VzaW5rX2NsYXNzX2luaXQpLCAoZ3N0X3B1bHNlc2lua19wcmVwYXJlKToKCSAgKiBleHQvcHVsc2UvcHVsc2VzcmMuYzogKGdzdF9wdWxzZXNyY19pbnRlcmZhY2Vfc3VwcG9ydGVkKSwKCSAgKGdzdF9wdWxzZXNyY19iYXNlX2luaXQpLCAoZ3N0X3B1bHNlc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3B1bHNlc3JjX3ByZXBhcmUpOgoJICBTb21lIHNtYWxsZXIgY2xlYW51cC4gVXNlIEdfUEFSQU1fU1RBVElDX1NUUklOR1MsCgkgIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSgpIGFuZCBmaXggY29kaW5nIHN0eWxlIGEgYml0CgkgIG1vcmUuCgoyMDA4LTA2LTEwIDA4OjIyOjE3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgZG9jdW1lbnRhdGlvbiB0byB0aGUgcHVsc2VhdWRpbyBwbHVnaW4gYW5kIHJ1biBtYWtlIHVwZGF0ZSBpbiBkb2NzL3BsdWdpbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Rpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSAgKiBleHQvcHVsc2UvcGx1Z2luLmM6CgkgICogZXh0L3B1bHNlL3B1bHNlbWl4ZXIuYzoKCSAgKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgICogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIEFkZCBkb2N1bWVudGF0aW9uIHRvIHRoZSBwdWxzZWF1ZGlvIHBsdWdpbiBhbmQgcnVuIG1ha2UgdXBkYXRlCgkgIGluIGRvY3MvcGx1Z2lucy4KCjIwMDgtMDYtMTAgMDY6NTI6NDQgKzAwMDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCgkgIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOiBJbXByb3ZlbWVudHMgZm9yIHRoZSBTdW5BdWRpbyBtaXhlciBieSBoYW5kbGluZyBtdXRlIGFzIG5vIGdhaW4gZm9yIHRyYWNrcyB0aGF0IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb24gYXQgc3VuIGRvdCBjb20+CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6CgkgIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX2dldF92b2x1bWUpLAoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9zZXRfdm9sdW1lKToKCSAgSW1wcm92ZW1lbnRzIGZvciB0aGUgU3VuQXVkaW8gbWl4ZXIgYnkgaGFuZGxpbmcgbXV0ZSBhcyBubyBnYWluCgkgIGZvciB0cmFja3MgdGhhdCBoYXZlIGEgZ2FpbiBwcm9wZXJ0eSBidXQgbm8gbXV0ZSBwcm9wZXJ0eS4KCSAgRml4ZXMgYnVnICM1MzYwNjcuCgoyMDA4LTA2LTEwIDA2OjQ1OjMzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgcHVsc2VhdWRpbyBHU3RyZWFtZXIgZWxlbWVudCBmcm9tIGdzdC1wdWxzZS4gRGV2ZWxvcG1lbnQgd2lsbCBjb250aW51ZSBoZXJlIGluc3RlYWQgb2YgcHVsc2VhdWRpbyBTVk4uIEZpeGVzIGJ1ZyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9wdWxzZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvcHVsc2UvcGx1Z2luLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L3B1bHNlL3B1bHNlbWl4ZXIuYzogKGdzdF9wdWxzZW1peGVyX2ludGVyZmFjZV9zdXBwb3J0ZWQpLAoJICAoZ3N0X3B1bHNlbWl4ZXJfaW1wbGVtZW50c19pbnRlcmZhY2VfaW5pdCksCgkgIChnc3RfcHVsc2VtaXhlcl9pbml0X2ludGVyZmFjZXMpLCAoZ3N0X3B1bHNlbWl4ZXJfYmFzZV9pbml0KSwKCSAgKGdzdF9wdWxzZW1peGVyX2NsYXNzX2luaXQpLCAoZ3N0X3B1bHNlbWl4ZXJfaW5pdCksCgkgIChnc3RfcHVsc2VtaXhlcl9maW5hbGl6ZSksIChnc3RfcHVsc2VtaXhlcl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3B1bHNlbWl4ZXJfZ2V0X3Byb3BlcnR5KSwgKGdzdF9wdWxzZW1peGVyX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3B1bHNlL3B1bHNlbWl4ZXIuaDoKCSAgKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuYzoKCSAgKGdzdF9wdWxzZW1peGVyX2N0cmxfY29udGV4dF9zdGF0ZV9jYiksCgkgIChnc3RfcHVsc2VtaXhlcl9jdHJsX3NpbmtfaW5mb19jYiksCgkgIChnc3RfcHVsc2VtaXhlcl9jdHJsX3NvdXJjZV9pbmZvX2NiKSwKCSAgKGdzdF9wdWxzZW1peGVyX2N0cmxfc3Vic2NyaWJlX2NiKSwKCSAgKGdzdF9wdWxzZW1peGVyX2N0cmxfc3VjY2Vzc19jYiksIChnc3RfcHVsc2VtaXhlcl9jdHJsX29wZW4pLAoJICAoZ3N0X3B1bHNlbWl4ZXJfY3RybF9jbG9zZSksIChnc3RfcHVsc2VtaXhlcl9jdHJsX25ldyksCgkgIChnc3RfcHVsc2VtaXhlcl9jdHJsX2ZyZWUpLCAoZ3N0X3B1bHNlbWl4ZXJfY3RybF9saXN0X3RyYWNrcyksCgkgIChnc3RfcHVsc2VtaXhlcl9jdHJsX3RpbWVvdXRfZXZlbnQpLCAocmVzdGFydF90aW1lX2V2ZW50KSwKCSAgKGdzdF9wdWxzZW1peGVyX2N0cmxfc2V0X3ZvbHVtZSksIChnc3RfcHVsc2VtaXhlcl9jdHJsX2dldF92b2x1bWUpLAoJICAoZ3N0X3B1bHNlbWl4ZXJfY3RybF9zZXRfcmVjb3JkKSwgKGdzdF9wdWxzZW1peGVyX2N0cmxfc2V0X211dGUpOgoJICAqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5oOgoJICAqIGV4dC9wdWxzZS9wdWxzZW1peGVydHJhY2suYzogKGdzdF9wdWxzZW1peGVyX3RyYWNrX2NsYXNzX2luaXQpLAoJICAoZ3N0X3B1bHNlbWl4ZXJfdHJhY2tfaW5pdCksIChnc3RfcHVsc2VtaXhlcl90cmFja19uZXcpOgoJICAqIGV4dC9wdWxzZS9wdWxzZW1peGVydHJhY2suaDoKCSAgKiBleHQvcHVsc2UvcHVsc2Vwcm9iZS5jOiAoZ3N0X3B1bHNlcHJvYmVfY29udGV4dF9zdGF0ZV9jYiksCgkgIChnc3RfcHVsc2Vwcm9iZV9zaW5rX2luZm9fY2IpLCAoZ3N0X3B1bHNlcHJvYmVfc291cmNlX2luZm9fY2IpLAoJICAoZ3N0X3B1bHNlcHJvYmVfaW52YWxpZGF0ZSksIChnc3RfcHVsc2Vwcm9iZV9vcGVuKSwKCSAgKGdzdF9wdWxzZXByb2JlX2VudW1lcmF0ZSksIChnc3RfcHVsc2Vwcm9iZV9jbG9zZSksCgkgIChnc3RfcHVsc2Vwcm9iZV9uZXcpLCAoZ3N0X3B1bHNlcHJvYmVfZnJlZSksCgkgIChnc3RfcHVsc2Vwcm9iZV9nZXRfcHJvcGVydGllcyksIChnc3RfcHVsc2Vwcm9iZV9uZWVkc19wcm9iZSksCgkgIChnc3RfcHVsc2Vwcm9iZV9wcm9iZV9wcm9wZXJ0eSksIChnc3RfcHVsc2Vwcm9iZV9nZXRfdmFsdWVzKSwKCSAgKGdzdF9wdWxzZXByb2JlX3NldF9zZXJ2ZXIpOgoJICAqIGV4dC9wdWxzZS9wdWxzZXByb2JlLmg6CgkgICogZXh0L3B1bHNlL3B1bHNlc2luay5jOiAoZ3N0X3B1bHNlc2lua19iYXNlX2luaXQpLAoJICAoZ3N0X3B1bHNlc2lua19jbGFzc19pbml0KSwgKGdzdF9wdWxzZXNpbmtfaW5pdCksCgkgIChnc3RfcHVsc2VzaW5rX2Rlc3Ryb3lfc3RyZWFtKSwgKGdzdF9wdWxzZXNpbmtfZGVzdHJveV9jb250ZXh0KSwKCSAgKGdzdF9wdWxzZXNpbmtfZmluYWxpemUpLCAoZ3N0X3B1bHNlc2lua19kaXNwb3NlKSwKCSAgKGdzdF9wdWxzZXNpbmtfc2V0X3Byb3BlcnR5KSwgKGdzdF9wdWxzZXNpbmtfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9wdWxzZXNpbmtfY29udGV4dF9zdGF0ZV9jYiksIChnc3RfcHVsc2VzaW5rX3N0cmVhbV9zdGF0ZV9jYiksCgkgIChnc3RfcHVsc2VzaW5rX3N0cmVhbV9yZXF1ZXN0X2NiKSwKCSAgKGdzdF9wdWxzZXNpbmtfc3RyZWFtX2xhdGVuY3lfdXBkYXRlX2NiKSwgKGdzdF9wdWxzZXNpbmtfb3BlbiksCgkgIChnc3RfcHVsc2VzaW5rX2Nsb3NlKSwgKGdzdF9wdWxzZXNpbmtfcHJlcGFyZSksCgkgIChnc3RfcHVsc2VzaW5rX3VucHJlcGFyZSksIChnc3RfcHVsc2VzaW5rX3dyaXRlKSwKCSAgKGdzdF9wdWxzZXNpbmtfZGVsYXkpLCAoZ3N0X3B1bHNlc2lua19zdWNjZXNzX2NiKSwKCSAgKGdzdF9wdWxzZXNpbmtfcmVzZXQpLCAoZ3N0X3B1bHNlc2lua19jaGFuZ2VfdGl0bGUpLAoJICAoZ3N0X3B1bHNlc2lua19ldmVudCksIChnc3RfcHVsc2VzaW5rX2dldF90eXBlKToKCSAgKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkgICogZXh0L3B1bHNlL3B1bHNlc3JjLmM6IChnc3RfcHVsc2VzcmNfaW50ZXJmYWNlX3N1cHBvcnRlZCksCgkgIChnc3RfcHVsc2VzcmNfaW1wbGVtZW50c19pbnRlcmZhY2VfaW5pdCksCgkgIChnc3RfcHVsc2VzcmNfaW5pdF9pbnRlcmZhY2VzKSwgKGdzdF9wdWxzZXNyY19iYXNlX2luaXQpLAoJICAoZ3N0X3B1bHNlc3JjX2NsYXNzX2luaXQpLCAoZ3N0X3B1bHNlc3JjX2luaXQpLAoJICAoZ3N0X3B1bHNlc3JjX2Rlc3Ryb3lfc3RyZWFtKSwgKGdzdF9wdWxzZXNyY19kZXN0cm95X2NvbnRleHQpLAoJICAoZ3N0X3B1bHNlc3JjX2ZpbmFsaXplKSwgKGdzdF9wdWxzZXNyY19kaXNwb3NlKSwKCSAgKGdzdF9wdWxzZXNyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3B1bHNlc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcHVsc2VzcmNfY29udGV4dF9zdGF0ZV9jYiksIChnc3RfcHVsc2VzcmNfc3RyZWFtX3N0YXRlX2NiKSwKCSAgKGdzdF9wdWxzZXNyY19zdHJlYW1fcmVxdWVzdF9jYiksIChnc3RfcHVsc2VzcmNfb3BlbiksCgkgIChnc3RfcHVsc2VzcmNfY2xvc2UpLCAoZ3N0X3B1bHNlc3JjX3ByZXBhcmUpLAoJICAoZ3N0X3B1bHNlc3JjX3VucHJlcGFyZSksIChnc3RfcHVsc2VzcmNfcmVhZCksCgkgIChnc3RfcHVsc2VzcmNfZGVsYXkpLCAoZ3N0X3B1bHNlc3JjX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcHVsc2VzcmNfZ2V0X3R5cGUpOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNyYy5oOgoJICAqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzogKGdzdF9wdWxzZV9maWxsX3NhbXBsZV9zcGVjKSwKCSAgKGdzdF9wdWxzZV9jbGllbnRfbmFtZSksIChnc3RfcHVsc2VfZ3N0X3RvX2NoYW5uZWxfbWFwKToKCSAgKiBleHQvcHVsc2UvcHVsc2V1dGlsLmg6CgkgIEFkZCBwdWxzZWF1ZGlvIEdTdHJlYW1lciBlbGVtZW50IGZyb20gZ3N0LXB1bHNlLiBEZXZlbG9wbWVudCB3aWxsCgkgIGNvbnRpbnVlIGhlcmUgaW5zdGVhZCBvZiBwdWxzZWF1ZGlvIFNWTi4gRml4ZXMgYnVnICM0MDA2NzkuCgkgIE9ubHkgY2hhbmdlcyBvdmVyIGdzdC1wdWxzZSBTVk4gYXJlIGFkZGVkIGNvcHlyaWdodCB0byB0aGUgdG9wIG9mCgkgIGZpbGVzIGFuZCBjb2Rpbmcgc3R5bGUgY2hhbmdlcy4KCjIwMDgtMDYtMDkgMjA6MDI6MDUgKzAwMDAgIEJlbmphbWluIEthbXBtYW5uIDxiZW5qYW1pbkBmbHVlbmRvLmNvbT4KCgkgIGV4dC9jZGlvLzogQWxzbyBleHRyYWN0IGFsYnVtIHRpdGxlIGFuZCBhbGJ1bSBnZW5yZSBmcm9tIENELVRFWFQgaWYgYXZhaWxhYmxlICgjNTM3MDIxKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBCZW5qYW1pbiBLYW1wbWFubiAgPGJlbmphbWluIGF0IGZsdWVuZG8gZG90IGNvbT4KCSAgKiBleHQvY2Rpby9nc3RjZGlvLmM6IChnc3RfY2Rpb19nZXRfY2R0ZXh0KSwKCSAgKGdzdF9jZGlvX2FkZF9jZHRleHRfYWxidW1fdGFncyk6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpby5oOgoJICAqIGV4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmM6IChnc3RfY2Rpb19jZGRhX3NyY19vcGVuKToKCSAgQWxzbyBleHRyYWN0IGFsYnVtIHRpdGxlIGFuZCBhbGJ1bSBnZW5yZSBmcm9tIENELVRFWFQgaWYKCSAgYXZhaWxhYmxlICgjNTM3MDIxKS4KCjIwMDgtMDYtMDkgMDg6NTI6MDQgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogSW1wcm92ZSBuZWdvdGlhdGlvbiBhIGJpdCBtb3JlIGJ5IHBpY2tpbmcgdGhlIHNtYWxsZXN0IHBvc3NpYmxlIHJlc29sdXRpb24gdGhhdCBpcyBsYXJnZXIgdGhhbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNqb2VyZCBTaW1vbnMgPHNqb2VyZCBhdCBsdW9uIGRvdCBuZXQ+CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfbmVnb3RpYXRlKToKCSAgSW1wcm92ZSBuZWdvdGlhdGlvbiBhIGJpdCBtb3JlIGJ5IHBpY2tpbmcgdGhlIHNtYWxsZXN0IHBvc3NpYmxlCgkgIHJlc29sdXRpb24gdGhhdCBpcyBsYXJnZXIgdGhhbiB0aGUgcmVzb2x1dGlvbiBzcGVjaWZpZWQgaW4gdGhlCgkgIGZpcnN0IGNhcHMgZW50cnkgb2YgdGhlIHBlZXIgY2Fwcy4gRml4ZXMgYnVnICM1MzY5OTQuCgoyMDA4LTA2LTA5IDA4OjQyOjQ5ICswMDAwICBCYXN0aWVuIE5vY2VyYSA8aGFkZXNzQGhhZGVzcy5uZXQ+CgoJICBzeXMvdjRsMi86IEZpeCBjb21waWxhdGlvbiB3aXRoIG5ld2VyIEdJVCBrZXJuZWxzIHRoYXQgZGVwcmVjYXRlZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEJhc3RpZW4gTm9jZXJhIDxoYWRlc3MgYXQgaGFkZXNzIGRvdCBuZXQ+CgkgICogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5jOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogKGdzdF92NGwyX2ZpbGxfbGlzdHMpOgoJICBGaXggY29tcGlsYXRpb24gd2l0aCBuZXdlciBHSVQga2VybmVscyB0aGF0IGRlcHJlY2F0ZWQKCSAgVjRMMl9DSURfSENFTlRFUiBhbmQgVjRMMl9DSURfVkNFTlRFUi4gRml4ZXMgYnVnICM1MzYzMTcuCgoyMDA4LTA2LTA3IDE4OjQ4OjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUmVxdWlyZSBsaWJjZGlvID49IDAuNzYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvY2Rpby9nc3RjZGlvLmM6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpby5oOgoJICAqIGV4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmM6IChnc3RfY2Rpb19jZGRhX3NyY19vcGVuKToKCSAgUmVxdWlyZSBsaWJjZGlvID49IDAuNzYuCgoyMDA4LTA2LTA1IDExOjA3OjE3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS86IFByb3Blcmx5IGltcGxlbWVudCBkdXJhdGlvbiBhbmQgcG9zaXRpb24gcXVlcmllcyBpbiBieXRlcyBmb3JtYXQuIFdlIGhhdmUgdG8gdGFrZSB0aGUgdXBzdHJlYW0gcmVwbHkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChnc3RfZGVpbnRlcmxlYXZlX2FkZF9uZXdfcGFkcyksCgkgIChnc3RfZGVpbnRlcmxlYXZlX3NyY19xdWVyeSk6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiAoZ3N0X2ludGVybGVhdmVfc3JjX3F1ZXJ5X2R1cmF0aW9uKSwKCSAgKGdzdF9pbnRlcmxlYXZlX3NyY19xdWVyeSk6CgkgIFByb3Blcmx5IGltcGxlbWVudCBkdXJhdGlvbiBhbmQgcG9zaXRpb24gcXVlcmllcyBpbiBieXRlcyBmb3JtYXQuIFdlCgkgIGhhdmUgdG8gdGFrZSB0aGUgdXBzdHJlYW0gcmVwbHkgYW5kIGRpdmlkZS9tdWx0aXBseSBpdCBieSB0aGUgbnVtYmVyCgkgIG9mIGNoYW5uZWxzIHRvIGdldCB0aGUgY29ycmVjdCByZXN1bHQuCgoyMDA4LTA2LTA1IDA5OjQ1OjAwICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBDYXRjaCBVTkVYUEVDVEVEIHdoZW4gZG93bnN0cmVhbSBoYXMgcmVhY2hlZCBlbmQgb2Ygc2VnbWVudCBpbiByZXZlcnNlIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgQ2F0Y2ggVU5FWFBFQ1RFRCB3aGVuIGRvd25zdHJlYW0gaGFzIHJlYWNoZWQgZW5kIG9mCgkgIHNlZ21lbnQgaW4gcmV2ZXJzZSBtb2RlLgoKMjAwOC0wNi0wNCAxODowODozNSArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogRml4IHR5cG8gaW4gY29tbWVudAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIEZpeCB0eXBvIGluIGNvbW1lbnQKCjIwMDgtMDYtMDQgMTg6MDM6MjQgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IEJlY2F1c2Ugd2UgZG9uJ3Qga25vdyB0aGUgZnJhbWUgb3JkZXIgd2UgbmVlZCB0byBwdXNoIHRpbGwgdGhlIG5leHQga2V5ZnJhbWUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBCZWNhdXNlIHdlIGRvbid0IGtub3cgdGhlIGZyYW1lIG9yZGVyIHdlIG5lZWQgdG8gcHVzaCB0aWxsCgkgIHRoZSBuZXh0IGtleWZyYW1lCgoyMDA4LTA2LTA0IDE3OjM5OjMxICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IFByb3ZpZGUgYSBjdXN0b20gbmVnb3RpYXRpb24gZnVuY3Rpb24gdG8gbWFrZSBzdXJlIHRvIHBpY2sgdGhlIGhpZ2hlc3QgcG9zc2libGUgZnJhbWVyYXRlIGFuZCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTam9lcmQgU2ltb25zIDxzam9lcmQgYXQgbHVvbiBkb3QgbmV0PgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3Y0bDJzcmNfZml4YXRlKSwgKGdzdF92NGwyc3JjX25lZ290aWF0ZSk6CgkgIFByb3ZpZGUgYSBjdXN0b20gbmVnb3RpYXRpb24gZnVuY3Rpb24gdG8gbWFrZSBzdXJlIHRvIHBpY2sgdGhlIGhpZ2hlc3QKCSAgcG9zc2libGUgZnJhbWVyYXRlIGFuZCByZXNvbHV0aW9uLiBGaXhlcyBidWcgIzUzNjY0Ni4KCjIwMDgtMDYtMDQgMTY6NDk6MjYgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IFNldCBFT1Mgd2hlbiBnb2luZyBvdXQgb2YgdGhlIHNlZ21lbnQgaW4gcmV2ZXJzZSBwbGF5YmFjawoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIFNldCBFT1Mgd2hlbiBnb2luZyBvdXQgb2YgdGhlIHNlZ21lbnQgaW4gcmV2ZXJzZSBwbGF5YmFjawoKMjAwOC0wNi0wNCAxNToxOTo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvTWFrZWZpbGUuYW06IEFkZCAtV25vLWF0dHJpYnV0ZXMgdG8gQ1hYRkxBR1MgdG8gc3VwcHJlc3Mgd2FybmluZyBjYXVzZWQgYnkgdGFnbGliIGhlYWRlcnMgKHdpdGggZ2NjIDQuMy4xKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9NYWtlZmlsZS5hbTo6CgkgIEFkZCAtV25vLWF0dHJpYnV0ZXMgdG8gQ1hYRkxBR1MgdG8gc3VwcHJlc3Mgd2FybmluZyBjYXVzZWQgYnkKCSAgdGFnbGliIGhlYWRlcnMgKHdpdGggZ2NjIDQuMy4xKS4KCjIwMDgtMDYtMDQgMTE6NTk6MTggKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBVc2UgdGhlIG5ldyBnc3RfcnRzcF9jb25uZWN0aW9uX2dldF9pcCgpIHRvIGFjY2VzcyB0aGUgSVAgYWRkcmVzcyBvZiBhIEdzdFJUU1BDb25uZWN0aW9uIHNpbmNlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdWRwX3NpbmspOgoJICBVc2UgdGhlIG5ldyBnc3RfcnRzcF9jb25uZWN0aW9uX2dldF9pcCgpIHRvIGFjY2VzcyB0aGUgSVAgYWRkcmVzcwoJICBvZiBhIEdzdFJUU1BDb25uZWN0aW9uIHNpbmNlIGl0IGlzIGEgcHJpdmF0ZSBtZW1iZXIuCgoyMDA4LTA2LTA0IDEwOjQyOjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgVXNlIG5ldyB1dGlsaXR5IGZ1bmN0aW9ucyBpbiBsaWJnc3R0YWcgdG8gcHJvY2VzcyBjb3ZlcmFydCAoIzUxMjMzMykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2V4dHJhY3RfcGljdHVyZV9idWZmZXIpOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAocGFyc2VfcGljdHVyZV9mcmFtZSk6CgkgIFVzZSBuZXcgdXRpbGl0eSBmdW5jdGlvbnMgaW4gbGliZ3N0dGFnIHRvIHByb2Nlc3MgY292ZXJhcnQgKCM1MTIzMzMpLgoKMjAwOC0wNi0wNCAwODo1NDowOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiBXZSBhY3R1YWxseSBzdXBwb3J0IGxlZnQvc2lkZSwgcmlnaHQvc2lkZSBhbmQgbWlkL3NpZGUgZmlsZXMuIFRoZSBjb252ZXJzaW9uIHRvIG5vcm1hbCwgaW50ZXJsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY193cml0ZSk6CgkgIFdlIGFjdHVhbGx5IHN1cHBvcnQgbGVmdC9zaWRlLCByaWdodC9zaWRlIGFuZCBtaWQvc2lkZSBmaWxlcy4gVGhlCgkgIGNvbnZlcnNpb24gdG8gbm9ybWFsLCBpbnRlcmxlYXZlZCBzdGVyZW8gaXMgZG9uZSBieSBsaWJmbGFjLgoKMjAwOC0wNi0wNCAwNzozNjowNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzogVW5yZWYgdGhlIHdyaXRlIGNhY2hlIGluIGZpbmFsaXplIGlmIGl0IHdhcyBzZXQgYW5kIGFkZCBhZGQgIkZJWE1FIiB0byBhIGNvbW1lbnQgdGhhdCBuZWVkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6IChnc3RfZWJtbF93cml0ZV9maW5hbGl6ZSksCgkgIChnc3RfZWJtbF93cml0ZV9zZXRfY2FjaGUpOgoJICBVbnJlZiB0aGUgd3JpdGUgY2FjaGUgaW4gZmluYWxpemUgaWYgaXQgd2FzIHNldCBhbmQgYWRkIGFkZCAiRklYTUUiCgkgIHRvIGEgY29tbWVudCB0aGF0IG5lZWRzIGl0LgoKMjAwOC0wNi0wNCAwNjo0ODo0NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS4qOiBVc2UgYW4gYWx3YXlzIGluY3JlYXNpbmcgaW50ZWdlciBmb3IgdGhlIG51bWJlciBpbiB0aGUgbmFtZSBvZiB0aGUgcmVxdWVzdGVkIHNpbmsgcGFkcyB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogKGdzdF9pbnRlcmxlYXZlX3BhZF9nZXRfdHlwZSksCgkgIChnc3RfaW50ZXJsZWF2ZV9wYWRfZ2V0X3Byb3BlcnR5KSwgKGdzdF9pbnRlcmxlYXZlX3BhZF9jbGFzc19pbml0KSwKCSAgKGdzdF9pbnRlcmxlYXZlX3JlcXVlc3RfbmV3X3BhZCksIChnc3RfaW50ZXJsZWF2ZV9yZWxlYXNlX3BhZCk6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5oOgoJICBVc2UgYW4gYWx3YXlzIGluY3JlYXNpbmcgaW50ZWdlciBmb3IgdGhlIG51bWJlciBpbiB0aGUgbmFtZSBvZiB0aGUKCSAgcmVxdWVzdGVkIHNpbmsgcGFkcyB0byBndWFyYW50dWVlIGEgdW5pcXVlIG5hbWUuIEFkZCBhICJjaGFubmVsIgoJICBwcm9wZXJ0eSB0byBHc3RJbnRlcmxlYXZlUGFkIHRvIG1ha2UgaXQgcG9zc2libGUgZm9yIGFwcGxpY2F0aW9ucwoJICB0byByZXRyaWV2ZSB0aGUgY2hhbm5lbCBudW1iZXIgaW4gdGhlIG91dHB1dCBmb3IgZXZlcnkgcGFkLgoJICBVc2UgZ190eXBlX3JlZ2lzdGVyX3N0YXRpY19zaW1wbGUoKSBpbnN0ZWFkIG9mCgkgIGdfdHlwZV9yZWdpc3Rlcl9zdGF0aWMoKSB0byBzYXZlIHNvbWUgcmVsb2NhdGlvbnMuCgoyMDA4LTA2LTAzIDE0OjM1OjU5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IFN0b3AgR3N0Q29sbGVjdFBhZHMgYmVmb3JlIGNhbGxpbmcgdGhlIHBhcmVudCdzIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiB3aGVuIGdvaW5nIGZyb20gUEEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiAoZ3N0X2ludGVybGVhdmVfcGFkX2dldF90eXBlKSwKCSAgKGdzdF9pbnRlcmxlYXZlX2NoYW5nZV9zdGF0ZSk6CgkgIFN0b3AgR3N0Q29sbGVjdFBhZHMgYmVmb3JlIGNhbGxpbmcgdGhlIHBhcmVudCdzIHN0YXRlIGNoYW5nZSBmdW5jdGlvbgoJICB3aGVuIGdvaW5nIGZyb20gUEFVU0VEIHRvIFJFQURZIGFzIHdlIG90aGVyd2lzZSBkZWFkbG9jay4KCSAgRml4ZXMgYnVnICM1MzYyNTguCgoyMDA4LTA2LTAzIDA5OjAzOjE5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IFVzZSBuZXcgZ3N0X2F1ZGlvX2NoZWNrX2NoYW5uZWxfcG9zaXRpb25zKCkgZnVuY3Rpb24gYW5kIHJlZ2lzdGVyIHRoZSBHc3RJbnRlcmxlYXZlUGFkIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICAoZ3N0X2ludGVybGVhdmVfY2hlY2tfY2hhbm5lbF9wb3NpdGlvbnMpLAoJICAoZ3N0X2ludGVybGVhdmVfc2V0X2NoYW5uZWxfcG9zaXRpb25zKSwKCSAgKGdzdF9pbnRlcmxlYXZlX2NsYXNzX2luaXQpOgoJICBVc2UgbmV3IGdzdF9hdWRpb19jaGVja19jaGFubmVsX3Bvc2l0aW9ucygpIGZ1bmN0aW9uIGFuZCByZWdpc3RlcgoJICB0aGUgR3N0SW50ZXJsZWF2ZVBhZCB0eXBlIGZyb20gYSB0aHJlYWRzYWZlIGNvbnRleHQuCgoyMDA4LTA2LTAyIDE2OjEwOjAwICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC4qOiBJbXBsZW1lbnQgcmV2ZXJzZSBwbGF5YmFjay4gRml4ZXMgIzUzNTMwMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXIgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2luZGV4X25leHQpLAoJICAoZ3N0X2F2aV9kZW11eF9pbmRleF9wcmV2KSwgKGdzdF9hdmlfZGVtdXhfaW5kZXhfZW50cnlfZm9yX3RpbWUpLAoJICAoZ3N0X2F2aV9kZW11eF9kb19zZWVrKSwgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NlZWspLAoJICAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgSW1wbGVtZW50IHJldmVyc2UgcGxheWJhY2suIEZpeGVzICM1MzUzMDAuCgkgIFNtYWxsIGNsZWFudXBzLgoKMjAwOC0wNi0wMiAxMjo0MjoxNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS4qOiBBbGxvdyBzZXR0aW5nIGNoYW5uZWwgcG9zaXRpb25zIHZpYSBhIHByb3BlcnR5IGFuZCBhbGxvdyB1c2luZyB0aGUgY2hhbm5lbCBwb3NpdGlvbnMgb24gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogKGdzdF9pbnRlcmxlYXZlX3BhZF9nZXRfdHlwZSksCgkgIChnc3RfaW50ZXJsZWF2ZV9maW5hbGl6ZSksIChnc3RfYXVkaW9fY2hlY2tfY2hhbm5lbF9wb3NpdGlvbnMpLAoJICAoZ3N0X2ludGVybGVhdmVfc2V0X2NoYW5uZWxfcG9zaXRpb25zKSwKCSAgKGdzdF9pbnRlcmxlYXZlX2NsYXNzX2luaXQpLCAoZ3N0X2ludGVybGVhdmVfaW5pdCksCgkgIChnc3RfaW50ZXJsZWF2ZV9zZXRfcHJvcGVydHkpLCAoZ3N0X2ludGVybGVhdmVfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9pbnRlcmxlYXZlX3JlcXVlc3RfbmV3X3BhZCksIChnc3RfaW50ZXJsZWF2ZV9yZWxlYXNlX3BhZCksCgkgIChnc3RfaW50ZXJsZWF2ZV9zaW5rX3NldGNhcHMpLCAoZ3N0X2ludGVybGVhdmVfc3JjX3F1ZXJ5X2R1cmF0aW9uKSwKCSAgKGdzdF9pbnRlcmxlYXZlX3NyY19xdWVyeV9sYXRlbmN5KSwgKGdzdF9pbnRlcmxlYXZlX2NvbGxlY3RlZCk6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5oOgoJICBBbGxvdyBzZXR0aW5nIGNoYW5uZWwgcG9zaXRpb25zIHZpYSBhIHByb3BlcnR5IGFuZCBhbGxvdyB1c2luZyB0aGUKCSAgY2hhbm5lbCBwb3NpdGlvbnMgb24gdGhlIGlucHV0IGFzIHRoZSBjaGFubmVsIHBvc2l0aW9ucyBvZiB0aGUgb3V0cHV0LgoJICBGaXggc29tZSBicm9rZW4gbG9naWMgYW5kIG1lbW9yeSBsZWFrcy4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6IChzcmNfaGFuZG9mZl9mbG9hdDMyKSwKCSAgKHNpbmtfaGFuZG9mZl9mbG9hdDMyKSwgKEdTVF9TVEFSVF9URVNUKSwgKGludGVybGVhdmVfc3VpdGUpOgoJICBBZGQgdW5pdCB0ZXN0cyBmb3IgY2hlY2tpbmcgY29ycmVjdCBoYW5kbGluZyBvZiBjaGFubmVsIHBvc2l0aW9ucy4KCjIwMDgtMDYtMDIgMTI6MjI6NTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogV2hlbiB1c2luZyBnc3RfZWxlbWVudF9pdGVyYXRlX3BhZHMoKSBvbmUgaGFzIHRvIHVucmVmIGV2ZXJ5IHBhZCBhZnRlciB1c2FnZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiAoZ3N0X3ZpZGVvbWl4ZXJfcXVlcnlfZHVyYXRpb24pLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfcXVlcnlfbGF0ZW5jeSk6CgkgIFdoZW4gdXNpbmcgZ3N0X2VsZW1lbnRfaXRlcmF0ZV9wYWRzKCkgb25lIGhhcyB0byB1bnJlZiBldmVyeSBwYWQKCSAgYWZ0ZXIgdXNhZ2UuCgoyMDA4LTA1LTMxIDE2OjUzOjIzICswMDAwICBCYXN0aWVuIE5vY2VyYSA8aGFkZXNzQGhhZGVzcy5uZXQ+CgoJICBnc3QvcXRkZW11eC86IEltcHJvdmUgbWV0YS1kYXRhIGhhbmRsaW5nLCBhZGQgJ2NvbW1lbnQnLCAnZGVzY3JpcHRpb24nIGFuZCAnY29weXJpZ2h0JyB0YWcgaGFuZGxpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQmFzdGllbiBOb2NlcmEgPGhhZGVzcyBhdCBoYWRlc3MgZG90IG5ldD4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3RhZ19hZGRfc3RyKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdWR0YSk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgSW1wcm92ZSBtZXRhLWRhdGEgaGFuZGxpbmcsIGFkZCAnY29tbWVudCcsICdkZXNjcmlwdGlvbicgYW5kCgkgICdjb3B5cmlnaHQnIHRhZyBoYW5kbGluZy4KCSAgRml4ZXMgIzUzNTkzNQoKMjAwOC0wNS0zMSAxNTozMDo0MSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IE1ha2Ugc3VyZSB3ZSB3ZSBkb24ndCBjbGlwIHRoZSBzZWdtZW50J3Mgc3RvcCB1c2luZyB0aGUgbWFpbiBzZWdtZW50IGR1cmF0aW9uIGFzIHRoYXQgY291bGQgY3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMDUtMzEgIEp1bGllbiBNb3V0dGUgIDxqdWxpZW5AZmx1ZW5kby5jb20+CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZmluZF9rZXlmcmFtZSksCgkgIChnc3RfcXRkZW11eF9maW5kX3NlZ21lbnQpLCAoZ3N0X3F0ZGVtdXhfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF9xdGRlbXV4X3NlZWtfdG9fcHJldmlvdXNfa2V5ZnJhbWUpLAoJICAoZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCksIChnc3RfcXRkZW11eF9sb29wKTogTWFrZSBzdXJlIHdlCgkgIHdlIGRvbid0IGNsaXAgdGhlIHNlZ21lbnQncyBzdG9wIHVzaW5nIHRoZSBtYWluIHNlZ21lbnQgZHVyYXRpb24KCSAgYXMKCSAgdGhhdCBjb3VsZCBjcm9wIHF1aXRlIHNvbWUgdmlkZW8gZnJhbWVzLiBNYWtlIHJldmVyc2UgcGxheWJhY2sKCSAgc3VwcG9ydAoJICBtb3JlIHJvYnVzdCBhbmQgc3VwcG9ydCBlZGl0IGxpc3RzLiBTdXBwb3J0IHNlZWtpbmcgdG8gdGhlIGxhc3QKCSAgZnJhbWUsCgkgIGFuZCBmaXggcmV2ZXJzZSBsb29waW5nIHBsYXliYWNrLiBBZGQgc29tZSBkZWJ1Z2dpbmcuCgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oOiBVcGRhdGVkLgoKMjAwOC0wNS0zMSAwODozNzowMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogRG9uJ3QgY2xpcCBmbG9hdC9kb3VibGUgc2FtcGxlcywgY29ycmVjdGx5IHVuc2V0IHBhc3N0aHJvdWdoIG1vZGUgYW5kIHVzZSBiZXR0ZXIgcm91Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl90cmFuc2Zvcm1faXApOgoJICBEb24ndCBjbGlwIGZsb2F0L2RvdWJsZSBzYW1wbGVzLCBjb3JyZWN0bHkgdW5zZXQgcGFzc3Rocm91Z2ggbW9kZQoJICBhbmQgdXNlIGJldHRlciByb3VuZGluZyBmb3IgaW50ZWdlciBzYW1wbGVzLgoKMjAwOC0wNS0zMCAxMTowMzo1NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuKjogVXBkYXRlIHRoZSBmaWx0ZXIgY29lZmZpY2llbnRzIG9ubHkgd2hlbiBuZWVkZWQgaW4gdGhlIHRyYW5zZm9ybV9pcCBmdW5jdGlvbiBhbmQgY29yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX3NldF9wcm9wZXJ0eSksIChnc3RfaWlyX2VxdWFsaXplcl9pbml0KSwKCSAgKHNldHVwX2ZpbHRlciksIChzZXRfcGFzc3Rocm91Z2gpLCAodXBkYXRlX2NvZWZmaWNpZW50cyksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jb21wdXRlX2ZyZXF1ZW5jaWVzKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuaDoKCSAgVXBkYXRlIHRoZSBmaWx0ZXIgY29lZmZpY2llbnRzIG9ubHkgd2hlbiBuZWVkZWQgaW4gdGhlIHRyYW5zZm9ybV9pcAoJICBmdW5jdGlvbiBhbmQgY29ycmVjdGx5IHNldCB0aGUgZWxlbWVudCBpbnRvIHBhc3N0aHJvdWdoIG1vZGUgaWYgdGhlCgkgIGdhaW4gb2YgYWxsIGJhbmRzIGlzIDAuCgoyMDA4LTA1LTI5IDExOjMwOjE2ICswMDAwICBTZWJhc3RpYW4gS2VsbGVyIDxzZWJhc3RpYW4ta2VsbGVyQGdteC5kZT4KCgkgIGdzdC9hbHBoYS9nc3RhbHBoYS5jOiBUcnkgdG8gc2tpcCBwaXhlbHMgb3IgYXJlYXMgdGhhdCBhcmUgdG9vIGRhcmsgb3IgdG9vIGJyaWdodCBmb3IgdXMgdG8gZG8gbWVhbmluZ2Z1bGwgY29sb3IgZGV0ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IFNlYmFzdGlhbiBLZWxsZXIgPHNlYmFzdGlhbi1rZWxsZXIgYXQgZ214IGRvdCBkZT4KCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzogKGdzdF9hbHBoYV9jbGFzc19pbml0KSwgKGdzdF9hbHBoYV9pbml0KSwKCSAgKGdzdF9hbHBoYV9zZXRfcHJvcGVydHkpLCAoZ3N0X2FscGhhX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfYWxwaGFfY2hyb21hX2tleV9heXV2KSwgKGdzdF9hbHBoYV9jaHJvbWFrZXlfcm93X2k0MjApOgoJICBUcnkgdG8gc2tpcCBwaXhlbHMgb3IgYXJlYXMgdGhhdCBhcmUgdG9vIGRhcmsgb3IgdG9vIGJyaWdodCBmb3IgdXMgdG8gZG8KCSAgbWVhbmluZ2Z1bGwgY29sb3IgZGV0ZWN0aW9uLgoJICBBZGRlZCBwcm9wZXJ0aWVzIHRvIGNvbnRyb2wgdGhlIHNlbnNpdGl2aXR5IHRvIGxpZ2h0IGFuZCBkYXJrbmVzcy4KCSAgQWRkZWQgc29tZSBzbWFsbCBjbGVhbnVwcy4gRml4ZXMgIzUxMjM0NS4KCjIwMDgtMDUtMjggMjA6MDE6MzIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgSWdub3JlIHNvbWUgbW9yZSBnZW5lcmF0ZWQgdGhpbmdzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgIElnbm9yZSBzb21lIG1vcmUgZ2VuZXJhdGVkIHRoaW5ncwoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBJZ25vcmUgT1NTIGVsZW1lbnRzIGluIHRoZSBzdGF0ZSBjaGFuZ2VzIHRlc3QgdG9vLgoKMjAwOC0wNS0yOCAxNjoyMjozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCBTTVBURSBlZmZlY3QgZWxlbWVudHMgdG8gZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBBZGQgU01QVEUgZWZmZWN0IGVsZW1lbnRzIHRvIGRvY3MuCgoyMDA4LTA1LTI4IDE0OjMxOjA1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBEb2N1bWVudCB3aGF0cyBmaXJzdCBzaG93biBvbiB0aGUgZmRvIHBsdWdpbiBkb2NzIHBhZ2UgOikKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJICBEb2N1bWVudCB3aGF0cyBmaXJzdCBzaG93biBvbiB0aGUgZmRvIHBsdWdpbiBkb2NzIHBhZ2UgOikKCjIwMDgtMDUtMjggMTQ6MDc6MjEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFJlbmFtZSBhdWRpb3ZvaWNlIHRvIGF1ZGlva2FyYW9rZSBhbmQgYWRkIGl0IHRvIHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSAgKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2Z4LmM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9rYXJhb2tlLmM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9rYXJhb2tlLmg6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW92b2ljZS5jOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvdm9pY2UuaDoKCSAgUmVuYW1lIGF1ZGlvdm9pY2UgdG8gYXVkaW9rYXJhb2tlIGFuZCBhZGQgaXQgdG8gdGhlIGRvY3MuCgoyMDA4LTA1LTI4IDEzOjI4OjIwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBEb2N1bWVudCBhYXNpbmsgYW5kIGNhY2FzaW5rLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBSRVFVSVJFTUVOVFM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkgICogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJICAqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6CgkgIERvY3VtZW50IGFhc2luayBhbmQgY2FjYXNpbmsuCgoyMDA4LTA1LTI4IDA4OjM2OjQ0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLio6IGR1cmF0aW9uIGFuZCBsYXRlbmN5IHF1ZXJpZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogKGdzdF92aWRlb21peGVyX3Jlc2V0KSwKCSAgKGdzdF92aWRlb21peGVyX2luaXQpLCAoZ3N0X3ZpZGVvbWl4ZXJfcXVlcnlfZHVyYXRpb24pLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfcXVlcnlfbGF0ZW5jeSksIChnc3RfdmlkZW9taXhlcl9xdWVyeSksCgkgIChnc3RfdmlkZW9taXhlcl9ibGVuZF9idWZmZXJzKToKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmg6CgkgIEltcGxlbWVudCBwb3NpdGlvbiAoaW4gdGltZSksIGR1cmF0aW9uIGFuZCBsYXRlbmN5IHF1ZXJpZXMuCgoyMDA4LTA1LTI4IDA4OjE0OjE2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IEltcGxlbWVudCBsYXRlbmN5IHF1ZXJ5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IChnc3RfaW50ZXJsZWF2ZV9zcmNfcXVlcnlfZHVyYXRpb24pLAoJICAoZ3N0X2ludGVybGVhdmVfc3JjX3F1ZXJ5X2xhdGVuY3kpLCAoZ3N0X2ludGVybGVhdmVfc3JjX3F1ZXJ5KToKCSAgSW1wbGVtZW50IGxhdGVuY3kgcXVlcnkuCgoyMDA4LTA1LTI3IDE3OjU1OjMwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci4qOiBJbXBsZW1lbnQgcHJvcGVyIHNlZWsvbmV3c2VnbWVudCBoYW5kbGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiAoZ3N0X3ZpZGVvbWl4ZXJfcmVzZXQpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfaW5pdCksIChnc3RfdmlkZW9taXhlcl9yZXF1ZXN0X25ld19wYWQpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfZmlsbF9xdWV1ZXMpLCAoZm9yd2FyZF9ldmVudF9mdW5jKSwKCSAgKGZvcndhcmRfZXZlbnQpLCAoZ3N0X3ZpZGVvbWl4ZXJfc3JjX2V2ZW50KSwKCSAgKGdzdF92aWRlb21peGVyX3NpbmtfZXZlbnQpOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuaDoKCSAgSW1wbGVtZW50IHByb3BlciBzZWVrL25ld3NlZ21lbnQgaGFuZGxpbmcuCgkgIEJhc2VkIG9uIGFkZGVyJ3MgaW1wbGVtZW50YXRpb24uCgkgIEZpeGVzICM1MzUxMjEKCjIwMDgtMDUtMjYgMTY6MjU6MTUgKzAwMDAgIGpeIDxqQG9pbDIxLm9yZz4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIGNhcHMgZm9yIERWQ1BSTzUwIGFuZCBEVkNQUk8gSEQgUEFML05UU0MuIFNlZSAjNTI2NDgxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IGpeIDxqIGF0IG9pbDIxIGRvdCBvcmc+CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF92aWRlb19jYXBzKToKCSAgQWRkIGNhcHMgZm9yIERWQ1BSTzUwIGFuZCBEVkNQUk8gSEQgUEFML05UU0MuIFNlZSAjNTI2NDgxLgoKMjAwOC0wNS0yNiAxNTo1MTo0MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdWRpb2Z4LzogQWRkIHNpbXBsZSB2b2ljZSByZW1vdmFsIGVsZW1lbnQuIFlheSBrYXJhb2tlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2Z4LmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW92b2ljZS5jOiAoZ3N0X2F1ZGlvX3ZvaWNlX2Jhc2VfaW5pdCksCgkgIChnc3RfYXVkaW9fdm9pY2VfY2xhc3NfaW5pdCksIChnc3RfYXVkaW9fdm9pY2VfaW5pdCksCgkgICh1cGRhdGVfZmlsdGVyKSwgKGdzdF9hdWRpb192b2ljZV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX3ZvaWNlX2dldF9wcm9wZXJ0eSksIChnc3RfYXVkaW9fdm9pY2Vfc2V0dXApLAoJICAoZ3N0X2F1ZGlvX3ZvaWNlX3RyYW5zZm9ybV9pbnQpLCAoZ3N0X2F1ZGlvX3ZvaWNlX3RyYW5zZm9ybV9mbG9hdCksCgkgIChnc3RfYXVkaW9fdm9pY2VfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3ZvaWNlLmg6CgkgIEFkZCBzaW1wbGUgdm9pY2UgcmVtb3ZhbCBlbGVtZW50LiBZYXkga2FyYW9rZS4KCjIwMDgtMDUtMjYgMTU6Mzk6MjYgKzAwMDAgIFdpbGxpYW0gTS4gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBGaXggcG90ZW50aWFsIGNhcHMgbGVhay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXaWxsaWFtIE0uIEJyYWNrIDx3YnJhY2sgYXQgbW1tIGRvdCBjb20gZG90IGhrPgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdCk6CgkgIEZpeCBwb3RlbnRpYWwgY2FwcyBsZWFrLgoJICBJZiB3ZSBjYW4ndCBnZXQgdGhlIGZyYW1lcmF0ZSB3aXRoIGFuIGlvY3RsLCB0cnkgdG8gZ2V0IGl0IHdpdGggdGhlCgkgIGN1cnJlbnQgbm9ybS4gRml4ZXMgIzUyMDA5Mi4KCjIwMDgtMDUtMjYgMTU6MTQ6NTUgKzAwMDAgIFdpbGxpYW0gTS4gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBJZiB3ZSBmYWlsIHRvIGdldCB0aGUgZnJhbWUgaW50ZXJ2YWxzLCBzaW1wbHkgZG9uJ3QgdG91Y2ggdGhlIGZyYW1lcmF0ZXMgb24gdGhlIHRlbXBsYXRlIGNhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV2lsbGlhbSBNLiBCcmFjayA8d2JyYWNrIGF0IG1tbSBkb3QgY29tIGRvdCBoaz4KCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIChnc3RfdjRsMnNyY19wcm9iZV9jYXBzX2Zvcl9mb3JtYXRfYW5kX3NpemUpOgoJICBJZiB3ZSBmYWlsIHRvIGdldCB0aGUgZnJhbWUgaW50ZXJ2YWxzLCBzaW1wbHkgZG9uJ3QgdG91Y2ggdGhlIGZyYW1lcmF0ZXMKCSAgb24gdGhlIHRlbXBsYXRlIGNhcHMgaW5zdGVhZCBvZiBkaXNjYXJkaW5nIHRoZSBmb3JtYXQuIFNlZSAjNTIwMDkyLgoKMjAwOC0wNS0yNiAxNDo1Mjo1MSArMDAwMCAgV2lsbGlhbSBNLiBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IEFkZCBOVjEyLCBOVjIxIGFuZCBiYXllciBzdXBwb3J0LiBTZWUgIzUyMDA5Mi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXaWxsaWFtIE0uIEJyYWNrIDx3YnJhY2sgYXQgbW1tIGRvdCBjb20gZG90IGhrPgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX3Y0bDJmb3VyY2NfdG9fc3RydWN0dXJlKSwKCSAgKGdzdF92NGwyX2dldF9jYXBzX2luZm8pOgoJICBBZGQgTlYxMiwgTlYyMSBhbmQgYmF5ZXIgc3VwcG9ydC4gU2VlICM1MjAwOTIuCgoyMDA4LTA1LTI2IDEzOjUxOjM4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBVbmJyZWFrIHNlZ21lbnQgYWN0aXZhdGlvbiBhZ2Fpbi4gRml4ZXMgIzUzMTY3Mi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZmluZF9zZWdtZW50KSwKCSAgKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpOgoJICBVbmJyZWFrIHNlZ21lbnQgYWN0aXZhdGlvbiBhZ2Fpbi4gRml4ZXMgIzUzMTY3Mi4KCjIwMDgtMDUtMjYgMTA6Mjg6NDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiBBZGQgYW5vdGhlciBleGFtcGxlIGxhdW5jaCBsaW5lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgQWRkIGFub3RoZXIgZXhhbXBsZSBsYXVuY2ggbGluZS4KCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IChpbnRlcmxlYXZlXzI0KSwKCSAgKGdzdF9pbnRlcmxlYXZlX2ZpbmFsaXplKSwgKGdzdF9pbnRlcmxlYXZlX2Jhc2VfaW5pdCksCgkgIChnc3RfaW50ZXJsZWF2ZV9jbGFzc19pbml0KSwgKGdzdF9pbnRlcmxlYXZlX2luaXQpLAoJICAoZ3N0X2ludGVybGVhdmVfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9pbnRlcmxlYXZlX3JlbGVhc2VfcGFkKSwKCSAgKGdzdF9pbnRlcmxlYXZlX2NoYW5nZV9zdGF0ZSksIChfX3JlbW92ZV9jaGFubmVscyksCgkgIChfX3NldF9jaGFubmVscyksIChnc3RfaW50ZXJsZWF2ZV9zaW5rX2dldGNhcHMpLAoJICAoZ3N0X2ludGVybGVhdmVfc2V0X3Byb2Nlc3NfZnVuY3Rpb24pLAoJICAoZ3N0X2ludGVybGVhdmVfc2lua19zZXRjYXBzKSwgKGdzdF9pbnRlcmxlYXZlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2ludGVybGVhdmVfc3JjX3F1ZXJ5X2R1cmF0aW9uKSwgKGdzdF9pbnRlcmxlYXZlX3NyY19xdWVyeSksCgkgIChmb3J3YXJkX2V2ZW50X2Z1bmMpLCAoZm9yd2FyZF9ldmVudCksIChnc3RfaW50ZXJsZWF2ZV9zcmNfZXZlbnQpLAoJICAoZ3N0X2ludGVybGVhdmVfY29sbGVjdGVkKToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmg6CgkgIE1ham9yIHJld3JpdGUgb2YgaW50ZXJsZWF2ZSB1c2luZyBHc3RDb2xsZWN0cGFkcy4gVGhpcyBuZXcgdmVyc2lvbgoJICBhbHNvIHN1cHBvcnRzIGFsbW9zdCBhbGwgcmF3IGF1ZGlvIGZvcm1hdHMgYW5kIGhhcyBiZXR0ZXIgY2FwcwoJICBuZWdvdGlhdGlvbi4gRml4ZXMgYnVnICM1MDY1OTQuCgkgIEFsc28gdXBkYXRlIGRvY3MgYW5kIGFkZCBzb21lIG1vcmUgZXhhbXBsZXMuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOiAoaW50ZXJsZWF2ZV9jaGFpbl9mdW5jKSwKCSAgKEdTVF9TVEFSVF9URVNUKSwgKHNyY19oYW5kb2ZmX2Zsb2F0MzIpLCAoc2lua19oYW5kb2ZmX2Zsb2F0MzIpLAoJICAoaW50ZXJsZWF2ZV9zdWl0ZSk6CgkgIEFkZCBzb21lIG1vcmUgZXh0ZW5zaXZlIHVuaXQgdGVzdHMgZm9yIGludGVybGVhdmUuCgoyMDA4LTA1LTI2IDA5OjU3OjQwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgRG9uJ3QgdXNlIF9nc3RfcGFkKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL3N3aXRjaC9zd2l0Y2hlci5jOiAoc3dpdGNoX3RpbWVyKToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOiAoZ3N0X3JnX3ZvbHVtZV9pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzogKGNyZWF0ZV9zdHJlYW0pOgoJICAqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzogKGdzdF9zZHBfZGVtdXhfc3RyZWFtX2NvbmZpZ3VyZV91ZHApLAoJICAoZ3N0X3NkcF9kZW11eF9zdHJlYW1fY29uZmlndXJlX3VkcF9zaW5rKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzogKEdTVF9TVEFSVF9URVNUKSwKCSAgKHBhZF9hZGRlZF9zZXR1cF9kYXRhX2NoZWNrX2Zsb2F0MzJfOGNoX2NiKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6IChzZW5kX2Vvc19ldmVudCksCgkgIChzZW5kX3RhZ19ldmVudCk6CgkgIERvbid0IHVzZSBfZ3N0X3BhZCgpLgoKMjAwOC0wNS0yNSAxNjowOTozOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2ZsYWMvOiBTZXQgdGhlIGNoYW5uZWwgbGF5b3V0IHdoZW4gZGVjb2RpbmcgRkxBQyBmaWxlcyB3aXRoIG1vcmUgdGhhbiAyIGNoYW5uZWxzIGFzIGRlZmluZWQgYnkgdGhlIEZMQUMgc3BlYy4gRml4Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY193cml0ZSk6CgkgIFNldCB0aGUgY2hhbm5lbCBsYXlvdXQgd2hlbiBkZWNvZGluZyBGTEFDIGZpbGVzIHdpdGggbW9yZSB0aGFuIDIKCSAgY2hhbm5lbHMgYXMgZGVmaW5lZCBieSB0aGUgRkxBQyBzcGVjLiBGaXhlcyBidWcgIzUzNDU3MC4KCSAgQWxzbyBkb24ndCB0cnkgdG8gZGVjb2RlIGxlZnQvc2lkZSwgcmlnaHQvc2lkZSBhbmQgbWlkL3NpZGUgZmlsZXMKCSAgYXMgd2UgZG9uJ3Qgc3VwcG9ydCB0aGlzIGF0IGFsbC4KCjIwMDgtMDUtMjQgMTI6NTU6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFdlIG5lZWQgLWJhc2UgQ1ZTIChydHNwKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBXZSBuZWVkIC1iYXNlIENWUyAocnRzcCkuCgoyMDA4LTA1LTIyIDE5OjQ3OjUzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgaW50ZXJsZWF2ZS9kZWludGVybGVhdmUgdG8gdGhlIGRvY3MgYW5kIHdoaWxlIGF0IHRoYXQgcnVuIG1ha2UgdXBkYXRlIGluIGRvY3MvcGx1Z2lucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3Yi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHZkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXhyZXNhbXBsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBBZGQgaW50ZXJsZWF2ZS9kZWludGVybGVhdmUgdG8gdGhlIGRvY3MgYW5kIHdoaWxlIGF0IHRoYXQKCSAgcnVuIG1ha2UgdXBkYXRlIGluIGRvY3MvcGx1Z2lucy4KCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgQWRkIGEgcGFyYXByYXBoIGFib3V0IHVzaW5nIGEgcXVldWUgYW5kIGF1ZGlvY29udmVydCBhZnRlciB0aGUgc291cmNlCgkgIHBhZHMgdG8gdGhlIGRvY3MuCgoyMDA4LTA1LTIyIDE4OjU1OjA5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuKjogRG9uJ3Qgc2V0IGEgZ2V0Y2FwcygpIGZ1bmN0aW9uIG9uIHRoZSBzcmMgcGFkcyBhcyBpdCdzIG5vdCByZXF1aXJlZCBhbmQgdGhlIGRlZmF1bHQgZ2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChnc3RfZGVpbnRlcmxlYXZlX2Jhc2VfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxlYXZlX2NsYXNzX2luaXQpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9pbml0KSwKCSAgKGdzdF9kZWludGVybGVhdmVfYWRkX25ld19wYWRzKSwgKGdzdF9kZWludGVybGVhdmVfc2lua19nZXRjYXBzKToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuaDoKCSAgRG9uJ3Qgc2V0IGEgZ2V0Y2FwcygpIGZ1bmN0aW9uIG9uIHRoZSBzcmMgcGFkcyBhcyBpdCdzIG5vdCByZXF1aXJlZAoJICBhbmQgdGhlIGRlZmF1bHQgZ2V0Y2FwcygpIGZ1bmN0aW9uIHJldHVybnMgdGhlIGNvcnJlY3QgcmVzdWx0cyBmb3IKCSAgb3VyIHNyYyBwYWRzLgoJICBDb21wbGV0ZSBkb2N1bWVudGF0aW9uIGFuZCBhZGQgbXlzZWxmIHRvIHRoZSBhdXRob3JzIG9mIHRoZSBlbGVtZW50LgoKMjAwOC0wNS0yMiAxNDo0OTowOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC91ZHAvTWFrZWZpbGUuYW06IEFkZCAtRF9HTlVfU09VUkNFIHRvIENGTEFHUyBzbyB3ZSBnZXQgdGhpbmdzIGxpa2UgRUFJX0FERFJGQU1JTFkgd2hlbiBpbmNsdWRpbmcgbmV0ZGIuaCB3aGVuIGJ1aS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL01ha2VmaWxlLmFtOgoJICBBZGQgLURfR05VX1NPVVJDRSB0byBDRkxBR1Mgc28gd2UgZ2V0IHRoaW5ncyBsaWtlIEVBSV9BRERSRkFNSUxZCgkgIHdoZW4gaW5jbHVkaW5nIG5ldGRiLmggd2hlbiBidWlsZGluZyBhZ2FpbnN0IGdsaWJjID49IDIuOC4KCjIwMDgtMDUtMjIgMTE6MTk6MDMgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzogRml4IGRlYnVnIHN0YXRlbWVudCBhcmd1bWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTA1LTIyICBKdWxpZW4gTW91dHRlICA8anVsaWVuQGZsdWVuZG8uY29tPgoJICAqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6IChnc3Rfc21wdGVfYWxwaGFfc2V0Y2Fwcyk6IEZpeAoJICBkZWJ1ZyBzdGF0ZW1lbnQgYXJndW1lbnRzLgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX3NldHVwX3Fvc19kc2NwKToKCSAgKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6IChnc3RfdWRwX2pvaW5fZ3JvdXApLAoJICAoZ3N0X3VkcF9sZWF2ZV9ncm91cCk6IEZpeCBJUCBhbmQgSVBWNiBvcHRpb25zIHRvIG1ha2UgaXQgd29yawoJICBvbiBtb3JlIHBsYXRmb3Jtcy4KCjIwMDgtMDUtMjEgMTc6NTE6MDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy86IERvbid0IHVzZSBnc3RfZWxlbWVudF9nZXRfcGFkKCksIGl0J3MgYSBiYWQsIGJhZCBtZXRob2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aW11eC5jOiAoc2V0dXBfc3JjX3BhZCksCgkgICh0ZWFyZG93bl9zcmNfcGFkKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pY3lkZW11eC5jOiAoaWN5ZGVtdXhfZm91bmRfcGFkKSwKCSAgKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOiAoc2V0dXBfc3JjX3BhZCksCgkgICh0ZWFyZG93bl9zcmNfcGFkKSwgKHNldHVwX3NpbmtfcGFkKSwgKHRlYXJkb3duX3NpbmtfcGFkKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzogKHZpZGVvX2Nyb3BfZ2V0X3Rlc3RfY2FwcyksCgkgIChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja3BhcnNlLmM6ICh3YXZwYWNrcGFyc2VfZm91bmRfcGFkKSwKCSAgKHNldHVwX3dhdnBhY2twYXJzZSksIChjbGVhbnVwX3dhdnBhY2twYXJzZSk6CgkgIERvbid0IHVzZSBnc3RfZWxlbWVudF9nZXRfcGFkKCksIGl0J3MgYSBiYWQsIGJhZCBtZXRob2QuCgoyMDA4LTA1LTIxIDE3OjM5OjM4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgRG9uJ3QgdXNlIGdzdF9lbGVtZW50X2dldF9wYWQoKSwgaXQncyBhIGJhZCBtZXRob2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc3JjLmM6IChnc3RfZ2NvbmZfYXVkaW9fc3JjX3Jlc2V0KSwKCSAgKGRvX3RvZ2dsZV9lbGVtZW50KToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuYzogKGdzdF9nY29uZl92aWRlb19zaW5rX3Jlc2V0KSwKCSAgKGRvX3RvZ2dsZV9lbGVtZW50KToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NyYy5jOiAoZ3N0X2djb25mX3ZpZGVvX3NyY19yZXNldCksCgkgIChkb190b2dnbGVfZWxlbWVudCk6CgkgICogZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuYzogKGdzdF9zd2l0Y2hfY29tbWl0X25ld19raWQpOgoJICAqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zaW5rLmM6IChnc3RfaGFsX2F1ZGlvX3NpbmtfcmVzZXQpLAoJICAoZG9fdG9nZ2xlX2VsZW1lbnQpOgoJICAqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zcmMuYzogKGdzdF9oYWxfYXVkaW9fc3JjX3Jlc2V0KSwKCSAgKGRvX3RvZ2dsZV9lbGVtZW50KToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6IChnc3RfYXV0b19hdWRpb19zaW5rX3Jlc2V0KSwKCSAgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfZGV0ZWN0KToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6IChnc3RfYXV0b192aWRlb19zaW5rX3Jlc2V0KSwKCSAgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfZGV0ZWN0KToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19pbml0KSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9mcmVlKSwgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdWRwKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdWRwX3NpbmspLCAoZ3N0X3J0c3BzcmNfc2tpcF9sd3MpLAoJICAoZ3N0X3J0c3BzcmNfdW5za2lwX2x3cyksIChnc3RfcnRzcHNyY19za2lwX2NvbW1hcyksCgkgIChnc3RfcnRzcHNyY19za2lwX2l0ZW0pLCAoZ3N0X3J0c3BfZGVjb2RlX3F1b3RlZF9zdHJpbmcpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfZGlnZXN0X2NoYWxsZW5nZSksIChnc3RfcnRzcHNyY19wYXJzZV9hdXRoX2hkcik6CgkgICogdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzogKHRlc3Rfd2l0aF9jYXBzKSwKCSAgKHZpZGVvX2Nyb3BfZ2V0X3Rlc3RfY2Fwcyk6CgkgIERvbid0IHVzZSBnc3RfZWxlbWVudF9nZXRfcGFkKCksIGl0J3MgYSBiYWQgbWV0aG9kLgoKMjAwOC0wNS0yMSAxNzozNTo1MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvOiBKb2luaW5nIGEgbXVsdGljYXN0IGdyb3VwIGFuZCBzZXR0aW5nIHRoZSBsb29wL3R0bCBwcm9wZXJ0aWVzIGFyZSB0b3RhbGx5IHVucmVsYXRlZCB0YXNrcyBhcmUgbXVzdCBiZSBzZXBhci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19pbml0X3NlbmQpLAoJICAoZ3N0X211bHRpdWRwc2lua19hZGRfaW50ZXJuYWwpOgoJICAqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzogKGdzdF91ZHBfc2V0X2xvb3BfdHRsKSwKCSAgKGdzdF91ZHBfam9pbl9ncm91cCk6CgkgICogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5oOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX3N0YXJ0KToKCSAgSm9pbmluZyBhIG11bHRpY2FzdCBncm91cCBhbmQgc2V0dGluZyB0aGUgbG9vcC90dGwgcHJvcGVydGllcyBhcmUKCSAgdG90YWxseSB1bnJlbGF0ZWQgdGFza3MgYXJlIG11c3QgYmUgc2VwYXJhdGVkLgoKMjAwOC0wNS0yMSAxNDowOTo0MSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogQWxzbyBzdXBwb3J0IGFsYXcvbXVsYXcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIEFsc28gc3VwcG9ydCBhbGF3L211bGF3LgoKMjAwOC0wNS0yMSAxMzo0Nzo0MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLio6IEFkZCBhIGZpeG1lIGZvciB0aGUgYXV0by1tdWx0aWNhc3QgcHJvcGVydHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X211bHRpdWRwc2lua19zZXR1cF9xb3NfZHNjcCksIChnc3RfbXVsdGl1ZHBzaW5rX2FkZF9pbnRlcm5hbCk6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgQWRkIGEgZml4bWUgZm9yIHRoZSBhdXRvLW11bHRpY2FzdCBwcm9wZXJ0eS4KCSAgRml4IHNvbWUgY29uZnVzaW5nIGRlYnVnIG1lc3NhZ2VzLgoJICBEaXNhYmxlIHNldHRpbmcgYSBxb3MgdmFsdWUgYnkgZGVmYXVsdC4KCjIwMDgtMDUtMjEgMTE6Mzg6MTcgKzAwMDAgIEd1c3RhZiBSw6RudGlsw6QgPGcucmFudGlsYUBnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiBJZ25vcmUgRVBFUk0gZXJyb3JzIGZyb20gc2VuZHRvLiBGaXhlcyAjNTMzNjE5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEd1c3RhZiBSw6RudGlsw6QgPGcgZG90IHJhbnRpbGEgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19yZW5kZXIpOgoJICBJZ25vcmUgRVBFUk0gZXJyb3JzIGZyb20gc2VuZHRvLiBGaXhlcyAjNTMzNjE5LgoKMjAwOC0wNS0yMSAxMDo1MTo1MiArMDAwMCAgSGVucmlrIEVyaWtzc29uIDxoZW5yaWtlbkBheGlzLmNvbT4KCgkgIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLio6IEFkZCBxb3MtZHNjcCBwcm9wZXJ0eSB0byBtYW5hZ2UgdGhlIFF1YWxpdHkgb2Ygc2VydmljZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBIZW5yaWsgRXJpa3Nzb24gPGhlbnJpa2VuIGF0IGF4aXMgZG90IGNvbT4KCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfaW5pdCksIChnc3RfbXVsdGl1ZHBzaW5rX3NldHVwX3Fvc19kc2NwKSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfc2V0X3Byb3BlcnR5KSwgKGdzdF9tdWx0aXVkcHNpbmtfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfaW5pdF9zZW5kKSwgKGdzdF9tdWx0aXVkcHNpbmtfYWRkX2ludGVybmFsKToKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICBBZGQgcW9zLWRzY3AgcHJvcGVydHkgdG8gbWFuYWdlIHRoZSBRdWFsaXR5IG9mIHNlcnZpY2UuCgoyMDA4LTA1LTIxIDEwOjA5OjIzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOiBJbXByb3ZlIGRlYnVnZ2luZyBvZiB0aGUgaWRlbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzogKGdzdF9ydHBfdGhlb3JhX2RlcGF5X3Byb2Nlc3MpOgoJICBJbXByb3ZlIGRlYnVnZ2luZyBvZiB0aGUgaWRlbnQuCgoyMDA4LTA1LTIxIDA5OjU2OjAyICswMDAwICBCcnVubyBTYW50b3MgPGJydW5vZkB1YS5wdD4KCgkgIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuKjogUHJvdmlkZSBhIGJ1bmNoIG9mIGhlbHBlciBtZXRob2RzIHRvIGRlYWwgd2l0aCBJUHY0IGFuZCBJUHY2IHRyYW5zcGFyZW50bHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQnJ1bm8gU2FudG9zIDxicnVub2YgYXQgdWEgZG90IHB0PgoJICAqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzogKGdzdF91ZHBfZ2V0X2FkZHIpLAoJICAoZ3N0X3VkcF9qb2luX2dyb3VwKSwgKGdzdF91ZHBfbGVhdmVfZ3JvdXApLAoJICAoZ3N0X3VkcF9pc19tdWx0aWNhc3QpOgoJICAqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuaDoKCSAgUHJvdmlkZSBhIGJ1bmNoIG9mIGhlbHBlciBtZXRob2RzIHRvIGRlYWwgd2l0aCBJUHY0IGFuZCBJUHY2CgkgIHRyYW5zcGFyZW50bHkuCgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2luaXQpLCAoZ3N0X211bHRpdWRwc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X211bHRpdWRwc2lua19nZXRfcHJvcGVydHkpLCAoam9pbl9tdWx0aWNhc3QpLAoJICAoZ3N0X211bHRpdWRwc2lua19pbml0X3NlbmQpLCAoZ3N0X211bHRpdWRwc2lua19hZGRfaW50ZXJuYWwpLAoJICAoZ3N0X211bHRpdWRwc2lua19yZW1vdmUpOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgIEFkZCBtdWx0aWNhc3QgVFRMIGFuZCBsb29wYmFjayBwcm9wZXJ0aWVzLgoJICBVc2UgdGhlIGhlbHBlciBtZXRob2RzIHRvIGltcGxlbWVudCBpcDQgYW5kIGlwNi4KCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jcmVhdGUpLCAoZ3N0X3VkcHNyY19zdGFydCk6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuaDoKCSAgVXNlIHRoZSBoZWxwZXIgbWV0aG9kcyB0byBpbXBsZW1lbnQgaXA0IGFuZCBpcDYuCgkgIEZpeGVzICM1MTU5NjIuCgoyMDA4LTA1LTIxIDA5OjM4OjQ4ICswMDAwICBQYXRyaWNrIFJhZGl6aSA8cGF0cmljay5yYWRpemlAYXhpcy5jb20+CgoJICBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4Lio6IERvbid0IGJsaW5kbHkgY29weSB0aGUgbWltZS10eXBlIGFzIHRoZSBjYXBzIG5hbWUgYmVjYXVzZSB0aGV5IG5vdCBhbHdheXMgbWFwIGRpcmVjdGwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBQYXRyaWNrIFJhZGl6aSA8cGF0cmljayBkb3QgcmFkaXppIGF0IGF4aXMgZG90IGNvbT4KCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6IChnc3RfbXVsdGlwYXJ0X2RlbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X211bHRpcGFydF9kZW11eF9nZXRfZ3N0bmFtZSksCgkgIChnc3RfbXVsdGlwYXJ0X2ZpbmRfcGFkX2J5X21pbWUpLCAoZ3N0X211bHRpcGFydF9kZW11eF9jaGFpbik6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5oOgoJICBEb24ndCBibGluZGx5IGNvcHkgdGhlIG1pbWUtdHlwZSBhcyB0aGUgY2FwcyBuYW1lIGJlY2F1c2UgdGhleSBub3QKCSAgYWx3YXlzIG1hcCBkaXJlY3RseS4gSW5zdGVhZCB1c2UgYSBoYXNodGFibGUgd2l0aCBjb21tb24gbWFwcGluZ3MuCgkgIEZpeGVzICM1MzMyODcuCgoyMDA4LTA1LTIwIDE3OjI3OjM1ICswMDAwICBNaWNoYWVsIE1lZWtzIDxtbWVla3NAeGltaWFuLm9yZz4KCgkgIGV4dC9lc2QvZXNkc2luay5jOiBXaGVuIHdlIHBvc3QgYW4gZXJyb3IsIHdlIG11c3QgcmV0dXJuIC0xIHRvIGxldCB0aGUgcGFyZW50IGtub3cgdGhhdCB3ZSBjYW5ub3Qgd3JpdGUgdGhlIHNlZ21lbnQgZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZXNkL2VzZHNpbmsuYzogKGdzdF9lc2RzaW5rX3dyaXRlKToKCSAgV2hlbiB3ZSBwb3N0IGFuIGVycm9yLCB3ZSBtdXN0IHJldHVybiAtMSB0byBsZXQgdGhlIHBhcmVudCBrbm93IHRoYXQgd2UKCSAgY2Fubm90IHdyaXRlIHRoZSBzZWdtZW50IGVsc2UgaXQgd2lsbCBsb29wIGFuZCBjb250aW51ZSB0byBjYWxsIHVzIGFnYWluCgkgIGZvcmV2ZXIuIFBhdGNoIGJ5IE1pY2hhZWwgTWVla3MuCgoyMDA4LTA1LTIwIDE0OjI0OjIxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IEFkZCBtaXNzaW5nIGluY3VkZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgQWRkIG1pc3NpbmcgaW5jdWRlcy4KCjIwMDgtMDUtMjAgMTM6NTc6NDQgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lio6IENvcnJlY3QgYSB0eXBvIChzaW5sZSAtPiBzaW5nbGUpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzogKGdzdF9oMjY0X3NjYW5fbW9kZV9nZXRfdHlwZSksCgkgIChnc3RfcnRwX2gyNjRfcGF5X2hhbmRsZV9idWZmZXIpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5oOgoJICBDb3JyZWN0IGEgdHlwbyAoc2lubGUgLT4gc2luZ2xlKS4KCjIwMDgtMDUtMjAgMTE6MzM6MDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS4qOiBBZGQgZXhwZXJpbWVudGFsIHN1cHBvcnQgZm9yIG91dHB1dHRpbmcgcXVpY2t0aW1lLWxpa2UgQVZDIG91dHB1dCBpbiBhZGRpdGlvbiB0byB0aGUgZXhpc3QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogKGdzdF9ydHBfaDI2NF9kZXBheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfaDI2NF9kZXBheV9pbml0KSwgKGdzdF9ydHBfaDI2NF9kZXBheV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9oMjY0X2RlcGF5X2dldF9wcm9wZXJ0eSksIChnc3RfcnRwX2gyNjRfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX2gyNjRfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuaDoKCSAgQWRkIGV4cGVyaW1lbnRhbCBzdXBwb3J0IGZvciBvdXRwdXR0aW5nIHF1aWNrdGltZS1saWtlIEFWQyBvdXRwdXQgaW4KCSAgYWRkaXRpb24gdG8gdGhlIGV4aXN0aW5nIGJ5dGVzdHJlYW0gb3V0cHV0LgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOiAoZ3N0X2gyNjRfc2Nhbl9tb2RlX2dldF90eXBlKSwKCSAgKGdzdF9ydHBfaDI2NF9wYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX2gyNjRfcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9oMjY0X3BheV9zZXRjYXBzKSwgKGdzdF9ydHBfaDI2NF9wYXlfcGF5bG9hZF9uYWwpLAoJICAoZ3N0X3J0cF9oMjY0X3BheV9oYW5kbGVfYnVmZmVyKSwgKGdzdF9ydHBfaDI2NF9wYXlfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfaDI2NF9wYXlfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuaDoKCSAgTWFrZSB0aGUgcGFyc2luZyBtb2RlIGNvbmZpZ3VyYWJsZSwgZm9yIHNvbWUgaW5wdXRzIHdlIGRvbid0IG5lZWQgdG8KCSAgc2NhbiBldmVyeSBieXRlIGZvciBzdGFydCBjb2Rlcy4KCSAgT25seSBzZXQgdGhlIG1hcmtlciBiaXQgb24gQUNDRVNTIHVuaXRzLgoKMjAwOC0wNS0yMCAxMDo0NzoxMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogVXNlIGEgYmlnZ2VyIHR5cGUgaW4gaW50ZWdlciBtb2RlIGZvciB0aGUgaW50ZXJtZWRpYXRlIHJlc3VsdHMgdG8gcHJldmVudCBvdmVyZmxvd3MuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIFVzZSBhIGJpZ2dlciB0eXBlIGluIGludGVnZXIgbW9kZSBmb3IgdGhlIGludGVybWVkaWF0ZSByZXN1bHRzIHRvCgkgIHByZXZlbnQgb3ZlcmZsb3dzLiBUaGlzIGZpeGVzIHRoZSBjcmlwcGxlZCBzb3VuZCB3aGVuIHVzaW5nIHRoZQoJICBlcXVhbGl6ZXIgaW4gaW50ZWdlciBtb2RlLiBGaXhlcyBidWcgIzUxMDg2NS4KCjIwMDgtMDUtMjAgMTA6NDI6MzMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci4qOiBJbnN0ZWFkIG9mIGEgcmFuZG9tIG51bWJlciBmb3IgdGhlIHJlcXVlc3QgcGFkIGlkJ3MsIHVzZSBhIGNvdW50ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmg6CgkgIEluc3RlYWQgb2YgYSByYW5kb20gbnVtYmVyIGZvciB0aGUgcmVxdWVzdCBwYWQgaWQncywKCSAgdXNlIGEgY291bnRlci4KCSAgUmVnaXN0ZXIgdGhlIHZpZGVvbWl4ZXJwYWQgY2xhc3MgZnJvbSB0aGUgZWxlbWVudCdzIGNsYXNzX2luaXQKCSAgd2hlcmUgaXQncyBzYWZlciwgYW5kIGFsbG93cyB0aGUgZG9jcyBnZW5lcmF0b3IgdG8gc2NhbiBpdC4KCjIwMDgtMDUtMjAgMDk6Mjk6MjggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc21wdGUvOiBBZGQgbmV3IHBsdWdpbiB0aGF0IGFkZHMgdGhlIFNNUFRFIHRyYW5zaXRpb24gaW4gdGhlIGFscGhhIGNoYW5uZWwgb2YKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NtcHRlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOiAoZ3N0X3NtcHRlX3BsdWdpbl9pbml0KToKCSAgKiBnc3Qvc21wdGUvZ3N0c21wdGUuaDoKCSAgKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJICAoZ3N0X3NtcHRlX2FscGhhX3RyYW5zaXRpb25fdHlwZV9nZXRfdHlwZSksCgkgIChnc3Rfc21wdGVfYWxwaGFfZ2V0X3R5cGUpLCAoZ3N0X3NtcHRlX2FscGhhX2Jhc2VfaW5pdCksCgkgIChnc3Rfc21wdGVfYWxwaGFfY2xhc3NfaW5pdCksIChnc3Rfc21wdGVfYWxwaGFfdXBkYXRlX21hc2spLAoJICAoZ3N0X3NtcHRlX2FscGhhX3NldGNhcHMpLCAoZ3N0X3NtcHRlX2FscGhhX2dldF91bml0X3NpemUpLAoJICAoZ3N0X3NtcHRlX2FscGhhX2luaXQpLCAoZ3N0X3NtcHRlX2FscGhhX2ZpbmFsaXplKSwKCSAgKGdzdF9zbXB0ZV9hbHBoYV9kb19heXV2KSwgKGdzdF9zbXB0ZV9hbHBoYV9kb19pNDIwKSwKCSAgKGdzdF9zbXB0ZV9hbHBoYV90cmFuc2Zvcm0pLCAoZ3N0X3NtcHRlX2FscGhhX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfc21wdGVfYWxwaGFfZ2V0X3Byb3BlcnR5KSwgKGdzdF9zbXB0ZV9hbHBoYV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuaDoKCSAgKiBnc3Qvc21wdGUvcGx1Z2luLmM6IChwbHVnaW5faW5pdCk6CgkgIEFkZCBuZXcgcGx1Z2luIHRoYXQgYWRkcyB0aGUgU01QVEUgdHJhbnNpdGlvbiBpbiB0aGUgYWxwaGEgY2hhbm5lbCBvZgoJICBJNDIwIGFuZCBBWVVWIGZyYW1lcyBzbyB0aGF0IHRoZXkgY2FuIGJlIGJsZW5kZWQgd2l0aCB2aWRlb21peGVyIGxhdGVyCgkgIG9uLiBVc2VzIGFsbCBuaWNldGllcyBzdWNoIGFzIHVzaW5nIGJhc2UgdHJhbnNmb3JtIGZvciBlZmZpY2llbnQgYWxsb2MKCSAgYW5kIG5lZ290aWF0aW9uLiBJdCBjdXJyZW50bHkgcmVxdWlyZXMgR3N0Q29udHJvbGxlciB0byBjb250cm9sIHRoZQoJICBwb3NpdGlvbiBpbiB0aGUgdHJhbnNpdGlvbiBlZmZlY3QuCgoyMDA4LTA1LTE5IDIxOjA1OjAzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBUcnkgdXNpbmcgdGhheXRhbnMgbmV3IG1lY2hhbmlzbSB0byBnZXQgZXh0cmEgY2xhc3NlcyBpbnRvIHBsdWdpbiBkb2NzLiBBcGFyZW50bHkgd29ya3MgZm9yIHRoZSBFcS4gRm9yIFZpZGVvTWl4ZXIgdGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnR5cGVzOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgVHJ5IHVzaW5nIHRoYXl0YW5zIG5ldyBtZWNoYW5pc20gdG8gZ2V0IGV4dHJhIGNsYXNzZXMgaW50byBwbHVnaW4KCSAgZG9jcy4gQXBhcmVudGx5IHdvcmtzIGZvciB0aGUgRXEuIEZvciBWaWRlb01peGVyIHRoZSBHT2JqZWN0IHN0dWZmIGlzCgkgIG1pc3Npbmcgc3RpbGwuCgoyMDA4LTA1LTE5IDEyOjMyOjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzogU2V0IGtlZXAtcG9zaXRpb25zIHByb3BlcnR5IHRvIFRSVUUgZm9yIHRoZSA4IGNoYW5uZWwgdGVzdCB0byBlbnN1cmUgdGhhdCB0aGUgb3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIFNldCBrZWVwLXBvc2l0aW9ucyBwcm9wZXJ0eSB0byBUUlVFIGZvciB0aGUgOCBjaGFubmVsIHRlc3QgdG8gZW5zdXJlCgkgIHRoYXQgdGhlIG9yaWdpbmFsIGNoYW5uZWwgcG9zaXRpb24gaXMgc2V0IG9uIHRoZSBvdXRwdXQuCgoyMDA4LTA1LTE5IDA3OjQ2OjA1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuKjogQWRkIGEgcHJvcGVydHkgdG8gc2VsZWN0IHdoZXRoZXIgY2hhbm5lbCBwb3NpdGlvbnMgc2hvdWxkIGJlIGtlcHQgb24gdGhlIG1vbm8gb3V0cHV0IGIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChnc3RfZGVpbnRlcmxlYXZlX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9pbml0KSwgKGdzdF9kZWludGVybGVhdmVfYWRkX25ld19wYWRzKSwKCSAgKGdzdF9kZWludGVybGVhdmVfc2V0X3BhZHNfY2FwcyksIChnc3RfZGVpbnRlcmxlYXZlX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxlYXZlX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmg6CgkgIEFkZCBhIHByb3BlcnR5IHRvIHNlbGVjdCB3aGV0aGVyIGNoYW5uZWwgcG9zaXRpb25zIHNob3VsZCBiZSBrZXB0IG9uCgkgIHRoZSBtb25vIG91dHB1dCBidWZmZXJzIG9yIHNob3VsZCBiZSBkcm9wcGVkLgoKMjAwOC0wNS0xOCAxOToyNzo1OSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvYXZpL2dzdGF2aW11eC5jOiBTZXQgcHJvcGVyIHJhdGUgaW4gYXZpIHN0cmVhbSBoZWFkZXIgZm9yIFBDTSBhdWRpbywgYW5kIGFsc28gZG8gc29tZSBtb3JlIHNhbml0eSBjaGVja3Mgb24gY2FwcyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmlfbXV4X2F1ZHNpbmtfc2V0X2NhcHMpOgoJICBTZXQgcHJvcGVyIHJhdGUgaW4gYXZpIHN0cmVhbSBoZWFkZXIgZm9yIFBDTSBhdWRpbywgYW5kIGFsc28gZG8gc29tZQoJICBtb3JlIHNhbml0eSBjaGVja3Mgb24gY2FwcyBpbiB0aGlzIGNhc2UuICBGaXhlcyAjNTExNDg5LgoKMjAwOC0wNS0xNyAxOTozOTo1MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLio6IFF1ZXVlIGV2ZW50cyB1bnRpbCBzcmMgcGFkcyB3ZXJlIGFkZGVkIGFuZCB0aGV5IGNhbiBiZSBzZW50LiBPdGhlcndpc2UgZG93bnN0cmVhbSB3aWxsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZ3N0X2RlaW50ZXJsZWF2ZV9maW5hbGl6ZSksCgkgIChnc3RfZGVpbnRlcmxlYXZlX2luaXQpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9kZWludGVybGVhdmVfcHJvY2VzcyksIChnc3RfZGVpbnRlcmxlYXZlX3NpbmtfYWN0aXZhdGVfcHVzaCk6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmg6CgkgIFF1ZXVlIGV2ZW50cyB1bnRpbCBzcmMgcGFkcyB3ZXJlIGFkZGVkIGFuZCB0aGV5IGNhbiBiZSBzZW50LiBPdGhlcndpc2UKCSAgZG93bnN0cmVhbSB3aWxsIG5ldmVyIGdldCB0aGUgZmlyc3QgbmV3c2VnbWVudCBldmVudC4KCjIwMDgtMDUtMTcgMTQ6MDU6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiBBbHdheXMgc2V0IHRoZSBjaGFubmVsIHBvc2l0aW9ucyB3aGVuIGdzdF9hdWRpb19nZXRfY2hhbm5lbF9wb3NpdGlvbnMoKSByZXR1cm5zIHNvbWV0aC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGdzdF9kZWludGVybGVhdmVfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9kZWludGVybGVhdmVfZ2V0Y2Fwcyk6CgkgIEFsd2F5cyBzZXQgdGhlIGNoYW5uZWwgcG9zaXRpb25zIHdoZW4gZ3N0X2F1ZGlvX2dldF9jaGFubmVsX3Bvc2l0aW9ucygpCgkgIHJldHVybnMgc29tZXRoaW5nLCBldmVuIGlmIHRoZXkncmUgbm90IHNldCBpbiB0aGUgY2Fwcy4gVGhpcyBtYWtlcwoJICBzdXJlIHRoYXQgdGhlIG91dHB1dCBjaGFubmVscyBjYW4gYmUgaW50ZXJsZWF2ZWQgYWdhaW4gY29ycmVjdGx5CgkgIGluIHRoZSBtb25vL3N0ZXJlbyBjYXNlcyB0b28uCgkgIERvbid0IGFzayBmb3IgdGhlIHBlZXJjYXBzIG9mIHRoZSBjdXJyZW50IHBhZCBpbiBnZXRjYXBzKCkgYXMgdGhpcwoJICBtaWdodCBjYWxsIGdldGNhcHMoKSBhZ2FpbiBhbmQgZGVhZGxvY2suCgoyMDA4LTA1LTE3IDEwOjM4OjE4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IERvbid0IGluY2x1ZGUgdGhlIGdzdHY0bDJ4b3ZlcmxheS5oIGhlYWRlciBhcyB0aGUgWE92ZXJsYXkgc3VwcG9ydCBpc24ndCBpbXBsZW1lbnRlZCBhdCBhbGwgeWUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBEb24ndCBpbmNsdWRlIHRoZSBnc3R2NGwyeG92ZXJsYXkuaCBoZWFkZXIgYXMgdGhlIFhPdmVybGF5IHN1cHBvcnQKCSAgaXNuJ3QgaW1wbGVtZW50ZWQgYXQgYWxsIHlldCBhbmQgdGhpcyByZXF1aXJlcyBYIGhlYWRlcnMgdG8gYmUKCSAgaW5zdGFsbGVkLiBGaXhlcyBidWcgIzUzMzI2NC4KCjIwMDgtMDUtMTYgMjE6NTY6MjQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlLzogQWRkIHN1cHBvcnQgZm9yIGFsbCByYXcgYXVkaW8gZm9ybWF0cyBhbmQgcHJvdmlkZSBiZXR0ZXIgbmVnb3RpYXRpb24gaWYgdGhlIGNhcHMgYXJlIGNoYW5naW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGRlaW50ZXJsZWF2ZV8yNCksCgkgIChnc3RfZGVpbnRlcmxlYXZlX2ZpbmFsaXplKSwgKGdzdF9kZWludGVybGVhdmVfYmFzZV9pbml0KSwKCSAgKGdzdF9kZWludGVybGVhdmVfY2xhc3NfaW5pdCksIChnc3RfZGVpbnRlcmxlYXZlX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9hZGRfbmV3X3BhZHMpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9zZXRfcGFkc19jYXBzKSwKCSAgKGdzdF9kZWludGVybGVhdmVfc2V0X3Byb2Nlc3NfZnVuY3Rpb24pLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9zaW5rX3NldGNhcHMpLCAoX19yZW1vdmVfY2hhbm5lbHMpLAoJICAoX19zZXRfY2hhbm5lbHMpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9nZXRjYXBzKSwKCSAgKGdzdF9kZWludGVybGVhdmVfcHJvY2VzcyksIChnc3RfZGVpbnRlcmxlYXZlX2NoYWluKSwKCSAgKGdzdF9kZWludGVybGVhdmVfc2lua19hY3RpdmF0ZV9wdXNoKToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIGFsbCByYXcgYXVkaW8gZm9ybWF0cyBhbmQgcHJvdmlkZSBiZXR0ZXIgbmVnb3RpYXRpb24KCSAgaWYgdGhlIGNhcHMgYXJlIGNoYW5naW5nLgoJICBEb24ndCBhbGxvdyBjaGFuZ2VzIG9mIHRoZSBjaGFubmVsIHBvc2l0aW9ucyBhbmQgc2V0IHRoZSBwb3NpdGlvbiBvZgoJICB0aGUgY29ycmVzcG9uZGluZyBjaGFubmVsIG9uIHRoZSBzcmMgcGFkIGNhcHMuCgkgIEdlbmVyYWwgY2xlYW51cCBhbmQgc21hbGxlciBidWdmaXhlcy4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzogKGZsb2F0X2J1ZmZlcl9jaGVja19wcm9iZSk6CgkgIENoZWNrIHRoZSBjaGFubmVsIHBvc2l0aW9ucyBvbiB0aGUgb3V0cHV0IGJ1ZmZlciBjYXBzLgoKMjAwOC0wNS0xNiAxNzo1MDoyMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBGaXggc29tZSBjb21waWxlciB3YXJuaW5ncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3N0cmVhbXJlYWRlci5jOgoJICAqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6CgkgICogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1vc3NzcmMuYzoKCSAgRml4IHNvbWUgY29tcGlsZXIgd2FybmluZ3MuCgoyMDA4LTA1LTE0IDE4OjI4OjQ2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogU21hbGwgY29tbWVudCBhZGRlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogKGdzdF9ydHBfaDI2NF9kZXBheV9wcm9jZXNzKToKCSAgU21hbGwgY29tbWVudCBhZGRlZC4KCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzogKGdzdF9ydHBfaDI2NF9wYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2gyNjRfcGF5X2RlY29kZV9uYWwpLCAoZ3N0X3J0cF9oMjY0X3BheV9wYXJzZV9zcHNfcHBzKSwKCSAgKGdzdF9ydHBfaDI2NF9wYXlfcGF5bG9hZF9uYWwpLCAoZ3N0X3J0cF9oMjY0X3BheV9oYW5kbGVfYnVmZmVyKToKCSAgRGVidWcgc3RyaW5nIGNsZWFudXBzIChyZW1vdmUgdHJhaWxpbmcgXG4pCgkgIFJlZmFjdG9yIGFuZCBjbGVhbiB1cCB0aGUgcGF5bG9hZGVyIGEgYml0IGFuZCBtYWtlIHN1cmUgdGhhdCB3ZSBvbmx5CgkgIHB1dCBvbmUgTkFMIHVuaXQgaW4gYW4gUlRQIHBhY2tldCBldmVuIGlmIHRoZSBpbnB1dCBidWZmZXIgY29udGFpbnMKCSAgbXVsdGlwbGUgTkFMIHVuaXRzLgoJICBBZGQgc3Vwb3J0IGZvciBBVkMgZm9ybWF0IGlucHV0LgoKMjAwOC0wNS0xNCAxNzo1ODo1MCArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuKjogTWFrZSBpdCBwb3NzaWJsZSB0byBzcGVjaWZ5IHByb2ZpbGUtbGV2ZWwtaWQgYW5kIHNwcm9wLXBhcmFtZXRlci1zZXRzIHVzaW5nIHByb3BlcnRpZXMgaW4gY2EuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6IChnc3RfcnRwX2gyNjRfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9oMjY0X3BheV9maW5hbGl6ZSksIChnc3RfcnRwX2gyNjRfcGF5X2hhbmRsZV9idWZmZXIpLAoJICAoZ3N0X3J0cF9oMjY0X3BheV9zZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9oMjY0X3BheV9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5oOgoJICBNYWtlIGl0IHBvc3NpYmxlIHRvIHNwZWNpZnkgcHJvZmlsZS1sZXZlbC1pZCBhbmQgc3Byb3AtcGFyYW1ldGVyLXNldHMKCSAgdXNpbmcgcHJvcGVydGllcyBpbiBjYXNlIHRoZXkgYXJlIG5vdCBhdmFpbGFibGUgaW4tc3RyZWFtLgoKMjAwOC0wNS0xNCAxNDoxOTo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBBZGQgZGVpbnRlcmxlYXZlIHVuaXQgdGVzdCB0byBWQUxHUklORF9UT19GSVgsIHNpbmNlIGl0IGNhdXNlcyB3ZWlyZCBpbnZhbGlkIGZyZWUgZXJyb3JzIGluIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgQWRkIGRlaW50ZXJsZWF2ZSB1bml0IHRlc3QgdG8gVkFMR1JJTkRfVE9fRklYLCBzaW5jZSBpdCBjYXVzZXMKCSAgd2VpcmQgaW52YWxpZCBmcmVlIGVycm9ycyBpbiB2YWxncmluZC9saWJjIGFmdGVyIF9leGl0IGZvciBzb21lCgkgIHJlYXNvbi4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzogKHBhZHNfY3JlYXRlZCksCgkgIChzZXRfY2hhbm5lbF9wb3NpdGlvbnMpLCAoc3JjX2hhbmRvZmZfZmxvYXQzMl84Y2gpLAoJICAoZmxvYXRfYnVmZmVyX2NoZWNrX3Byb2JlKSwKCSAgKHBhZF9hZGRlZF9zZXR1cF9kYXRhX2NoZWNrX2Zsb2F0MzJfOGNoX2NiKSwKCSAgKG1ha2VfZmFrZV9zcmNfOGNoYW5zX2Zsb2F0MzIpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAoZGVpbnRlcmxlYXZlX3N1aXRlKToKCSAgQWRkIHNvbWUgbW9yZSBkZWludGVybGVhdmUgdW5pdCB0ZXN0IGJpdHMgSSBoYWQgbG9jYWxseS4KCjIwMDgtMDUtMTQgMTI6NTI6MTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IFJlbW92ZSBsYWRzcGEgZnJvIHBsdWdpbi1kb2NzLCBpdHMgaW4gZ3N0LXBsdWdpbnMtYmFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkgIFJlbW92ZSBsYWRzcGEgZnJvIHBsdWdpbi1kb2NzLCBpdHMgaW4gZ3N0LXBsdWdpbnMtYmFkLgoKMjAwOC0wNS0xNCAwNzozMjo0NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvOiBTcGxpdCBkZWZpbml0aW9ucyBpbnRvIHNlcGFyYXRlIGhlYWRlciBmaWxlcyBmb3IgYmV0dGVyIGRvY3VtZW50YXRpb24gZ2VuZXJhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmg6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5oOgoJICAqIGdzdC9pbnRlcmxlYXZlL3BsdWdpbi5oOgoJICBTcGxpdCBkZWZpbml0aW9ucyBpbnRvIHNlcGFyYXRlIGhlYWRlciBmaWxlcyBmb3IgYmV0dGVyIGRvY3VtZW50YXRpb24KCSAgZ2VuZXJhdGlvbi4KCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGdzdF9kZWludGVybGVhdmVfYmFzZV9pbml0KSwKCSAgKGdzdF9kZWludGVybGVhdmVfY2xhc3NfaW5pdCksIChnc3RfZGVpbnRlcmxlYXZlX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfZGVpbnRlcmxlYXZlX3Byb2Nlc3MpOgoJICBEb24ndCB1c2UgYWxsb2NhLCBhbGxvdyBjYXBzIGNoYW5nZXMgYXMgbG9uZyBhcyB0aGUgbnVtYmVyIG9mIGNoYW5uZWxzCgkgIGRvZXMgbm90IGNoYW5nZSwgZG9uJ3QgdXNlIGdfd2FybmluZywgcmV0dXJuIE5PVF9ORUdPVElBVEVEIGFzIGVhcmx5CgkgIGFzIHBvc3NpYmxlIGFuZCBzb21lIG90aGVyIGNsZWFudXAuCgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiAoZ3N0X2ludGVybGVhdmVfYmFzZV9pbml0KSwKCSAgKGdzdF9pbnRlcmxlYXZlX2NsYXNzX2luaXQpOgoJICBEbyBzb21lIHJhbmRvbSBjbGVhbnVwLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOiAoR1NUX1NUQVJUX1RFU1QpLAoJICAoZGVpbnRlcmxlYXZlX2NoYWluX2Z1bmMpLCAoZGVpbnRlcmxlYXZlX3BhZF9hZGRlZCksCgkgIChkZWludGVybGVhdmVfc3VpdGUpOgoJICBBZGQgdW5pdCB0ZXN0cyBmb3IgdGhlIGRlaW50ZXJsZWF2ZSBlbGVtZW50LgoKMjAwOC0wNS0xMyAyMDoyNToyMCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvYXZpL2dzdGF2aW11eC5jOiBTZW5kIGFuIGluaXRpYWwgQllURSBzZWdtZW50IHRvIGluZm9ybSBkb3duc3RyZWFtIG9mIGxhdGVyIHNlZWtpbmcsIGFuZCB0byBmb3JlZ28gc3luYyBhdHRlbXB0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmlfbXV4X3N0YXJ0X2ZpbGUpOgoJICBTZW5kIGFuIGluaXRpYWwgQllURSBzZWdtZW50IHRvIGluZm9ybSBkb3duc3RyZWFtIG9mIGxhdGVyIHNlZWtpbmcsCgkgIGFuZCB0byBmb3JlZ28gc3luYyBhdHRlbXB0cy4KCjIwMDgtMDUtMTMgMDg6NTk6NDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOiBGaXggd3JvbmcgY2FwcyBzdHJpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6IChnc3RfcnRwX2c3MjlfZGVwYXlfc2V0Y2Fwcyk6CgkgIEZpeCB3cm9uZyBjYXBzIHN0cmluZy4KCjIwMDgtMDUtMTMgMDg6MzU6NTUgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwLzogQWRkZWQgRzcyOSBwYXkgYW5kIGRlcGF5bG9hZGVycy4gRml4ZXMgIzUzMjQwOS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzogKGdzdF9ydHBfZzcyOV9kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9nNzI5X2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9nNzI5X2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9nNzI5X2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9nNzI5X2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF9nNzI5X2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOiAoZ3N0X3J0cGc3MjlwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBnNzI5cGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cGc3MjlwYXlfaW5pdCksCgkgIChnc3RfcnRwZzcyOXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfZzcyOV9wYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5oOgoJICBBZGRlZCBHNzI5IHBheSBhbmQgZGVwYXlsb2FkZXJzLiBGaXhlcyAjNTMyNDA5LgoKMjAwOC0wNS0xMyAwODoyMToyNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiBGaXggdGhlIGNhbGN1bGF0aW9uIG9mIHRoZSBkdXJhdGlvbiBvZiB0aGUgY29uY2VhbG1lbnQgcGFja2V0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IChzcGVleF9kZWNfc2lua19ldmVudCk6CgkgIEZpeCB0aGUgY2FsY3VsYXRpb24gb2YgdGhlIGR1cmF0aW9uIG9mIHRoZSBjb25jZWFsbWVudCBwYWNrZXRzLgoKMjAwOC0wNS0xMiAxODoyNzoyNCArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHAvOiBBZGQgRFYgcGF5IGFuZCBkZXBheWxvYWRlcnMuIEZpeGVzICM1MzI0MjMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5jOiAoZ3N0X3J0cF9kdl9kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9kdl9kZXBheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfZHZfZGVwYXlfaW5pdCksCgkgIChwYXJzZV9lbmNvZGUpLCAoZ3N0X3J0cF9kdl9kZXBheV9zZXRjYXBzKSwKCSAgKGNhbGN1bGF0ZV9kaWZibG9ja19sb2NhdGlvbiksIChnc3RfcnRwX2R2X2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF9kdl9kZXBheV9yZXNldCksIChnc3RfcnRwX2R2X2RlcGF5X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX2R2X2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGR2cGF5LmM6IChnc3RfZHZfcGF5X21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3J0cF9kdl9wYXlfYmFzZV9pbml0KSwgKGdzdF9ydHBfZHZfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9kdl9wYXlfaW5pdCksIChnc3RfZHZfcGF5X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZHZfcGF5X2dldF9wcm9wZXJ0eSksIChnc3RfcnRwX2R2X3BheV9zZXRjYXBzKSwKCSAgKGdzdF9kdl9wYXlfbmVnb3RpYXRlKSwgKGluY2x1ZGVfZGlmKSwKCSAgKGdzdF9ydHBfZHZfcGF5X2hhbmRsZV9idWZmZXIpLCAoZ3N0X3J0cF9kdl9wYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuaDoKCSAgQWRkIERWIHBheSBhbmQgZGVwYXlsb2FkZXJzLiBGaXhlcyAjNTMyNDIzLgoKMjAwOC0wNS0xMiAxNjozNTozOSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogQ29udmVydCBzdWJ0aXRsZSBwYWxldHRlIGluZm8gaW4gVm9iU3ViIHByaXZhdGUgZGF0YSBmcm9tIFZvYlN1YidzIChidWdneSkgUkdCIHRvIFlVVi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcHVzaF9kdmRfY2x1dF9jaGFuZ2VfZXZlbnQpOgoJICBDb252ZXJ0IHN1YnRpdGxlIHBhbGV0dGUgaW5mbyBpbiBWb2JTdWIgcHJpdmF0ZSBkYXRhIGZyb20gVm9iU3ViJ3MKCSAgKGJ1Z2d5KSBSR0IgdG8gWVVWLgoKMjAwOC0wNS0xMiAxNToyNjowMSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvYXZpL2dzdGF2aW11eC5jOiBEbyBub3QgbGVhdmUgZm91cmNjIHN0cmVhbSBoZWFkZXIgZmllbGQgZW1wdHkgdXBvbiByZXNldC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmlfbXV4X3BhZF9yZXNldCk6CgkgIERvIG5vdCBsZWF2ZSBmb3VyY2Mgc3RyZWFtIGhlYWRlciBmaWVsZCBlbXB0eSB1cG9uIHJlc2V0LgoJICBGaXhlcyAjNTE5MzAxLgoKMjAwOC0wNS0xMSAxNDo0MzoyNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBBZGQgZ29vbTJrMSBpbnRvIHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkgIEFkZCBnb29tMmsxIGludG8gdGhlIGRvY3MuCgoyMDA4LTA1LTA4IDE2OjU4OjAyICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBTdXBwb3J0IERpZ2VzdCBhdXRoZW50aWNhdGlvbi4gRml4ZXMgIzUzMjA2NS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgIDx3b3V0ZXIgYXQgbWluZCBiZT4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19pbml0KSwKCSAgKGdzdF9ydHNwc3JjX3NraXBfbHdzKSwgKGdzdF9ydHNwc3JjX3Vuc2tpcF9sd3MpLAoJICAoZ3N0X3J0c3BzcmNfc2tpcF9jb21tYXMpLCAoZ3N0X3J0c3BzcmNfc2tpcF9pdGVtKSwKCSAgKGdzdF9ydHNwX2RlY29kZV9xdW90ZWRfc3RyaW5nKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX2RpZ2VzdF9jaGFsbGVuZ2UpLCAoZ3N0X3J0c3BzcmNfcGFyc2VfYXV0aF9oZHIpLAoJICAoZ3N0X3J0c3BzcmNfc2V0dXBfYXV0aCk6CgkgIFN1cHBvcnQgRGlnZXN0IGF1dGhlbnRpY2F0aW9uLiBGaXhlcyAjNTMyMDY1LgoKMjAwOC0wNS0wOCAxMDoyMDo1MiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2xldmVsL2dzdGxldmVsLmM6IEFsc28gc3VwcG9ydCAzMmJpdCAoZS5nLiB3aGUgaGF2aW5nIGl0IGFmdGVyICdtYWQnKS4gQWRkIG1vcmUgbm90ZXMgYWJvdXQgd2hhdHMgbmVlZGVkIGZvciBsaWJvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBBbHNvIHN1cHBvcnQgMzJiaXQgKGUuZy4gd2hlIGhhdmluZyBpdCBhZnRlciAnbWFkJykuIEFkZCBtb3JlIG5vdGVzCgkgIGFib3V0IHdoYXRzIG5lZWRlZCBmb3IgbGlib2lsIGFjY2VsZXJhdGlvbi4gU2ltcGxpZnkgZG9jcyBhIGJpdC4KCjIwMDgtMDUtMDggMDg6MTU6MzQgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogVXBkYXRlIHRoZSB0cmFjayBkdXJhdGlvbiBpZiB0aGUgb2xkIG9uZSB3YXMgaW52YWxpZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTam9lcmQgU2ltb25zIDxzam9lcmQgYXQgbHVvbiBkb3QgbmV0PgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfY29sbGVjdGVkKToKCSAgVXBkYXRlIHRoZSB0cmFjayBkdXJhdGlvbiBpZiB0aGUgb2xkIG9uZSB3YXMgaW52YWxpZC4KCSAgRml4ZXMgYnVnICM1MzIxMTcuCgoyMDA4LTA1LTA3IDE2OjM2OjA0ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmMgKGdzdF9ydHBfaDI2NF9wYXlfcGFyc2Vfc3BzX3Bwcyk6IFVzZSBHU1RfU1RSX05VTEwgd2hlbiB0cnlpbmcgdG8gcHJpbnQgc3BzIGFuZCBwcHMgc3RyaW5ncyB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jIChnc3RfcnRwX2gyNjRfcGF5X3BhcnNlX3Nwc19wcHMpOgoJICBVc2UgR1NUX1NUUl9OVUxMIHdoZW4gdHJ5aW5nIHRvIHByaW50IHNwcyBhbmQgcHBzIHN0cmluZ3MgdGhhdCBjb3VsZAoJICBiZSBOVUxMLCBhcyB0aGlzIG1pZ2h0IGNyYXNoIG9uIHNvbWUgcGxhdGZvcm1zLgoKMjAwOC0wNS0wNyAxNTozMzo1MiArMDAwMCAgSGFha29uIFNwb3JzaGVpbSA8aGFha29uLnNwb3JzaGVpbUB0YW5kYmVyZy5jb20+CgoJICBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jIChnc3RfZGlyZWN0ZHJhd19zaW5rX3NldHVwX2RkcmF3KTogRG8gSURpcmVjdERyYXdDbGlwcGVyX1NldEhXbmQoKSBpZiB0aGUgd2luZG93IEkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBIYWFrb24gU3BvcnNoZWltIDxoYWFrb24uc3BvcnNoZWltIGF0IHRhbmRiZXJnIGNvbT4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jIChnc3RfZGlyZWN0ZHJhd19zaW5rX3NldHVwX2RkcmF3KToKCSAgRG8gSURpcmVjdERyYXdDbGlwcGVyX1NldEhXbmQoKSBpZiB0aGUgd2luZG93IElEIGhhcyBhbHJlYWR5IGJlZW4KCSAgc2V0IGFmdGVyIGNyZWF0aW5nIHRoZSBjbGlwcGVyLgoKMjAwOC0wNS0wNyAxNToyODowNiArMDAwMCAgSGFha29uIFNwb3JzaGVpbSA8aGFha29uLnNwb3JzaGVpbUB0YW5kYmVyZy5jb20+CgoJICBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jIChnc3RfZGlyZWN0ZHJhd19zaW5rX3Nob3dfZnJhbWUpOiBBZGRlZCBjaGVja2luZyBvZiBzdXJmYWNlIGxvc3QgY2FzZSBhZnRlciBhbiB1bnMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBIYWFrb24gU3BvcnNoZWltIDxoYWFrb24uc3BvcnNoZWltIGF0IHRhbmRiZXJnIGNvbT4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jIChnc3RfZGlyZWN0ZHJhd19zaW5rX3Nob3dfZnJhbWUpOgoJICBBZGRlZCBjaGVja2luZyBvZiBzdXJmYWNlIGxvc3QgY2FzZSBhZnRlciBhbiB1bnN1Y2Nlc3NmdWwKCSAgSURpcmVjdERyYXdTdXJmYWNlN19Mb2NrKCkgY2FsbC4KCSAgSWYgc3VyZmFjZSBpcyBsb3N0LCByZXR1cm4gR1NUX0ZMT1dfT0suCgoyMDA4LTA1LTA3IDE1OjE5OjQ3ICswMDAwICBIYWFrb24gU3BvcnNoZWltIDxoYWFrb24uc3BvcnNoZWltQHRhbmRiZXJnLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYyAoZ3N0X2RpcmVjdGRyYXdfc2lua19zaG93X2ZyYW1lLAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IEhhYWtvbiBTcG9yc2hlaW0gPGhhYWtvbi5zcG9yc2hlaW0gYXQgdGFuZGJlcmcgY29tPgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2hvd19mcmFtZSwKCSAgV25kUHJvYywgZ3N0X2RpcmVjdGRyYXdfc2lua193aW5kb3dfdGhyZWFkKToKCSAgSW1wcm92ZWQgV2luZG93cyBtZXNzYWdlIGxvb3AgYW5kIGZpeGVkIHdpbmRvdyBkZXN0cnVjdGlvbiBpc3N1ZS4KCSAgV2hlbiB0aGUgd2luZG93IHdoaWNoIERpcmVjdERyYXcgaXMgcmVuZGVyaW5nIHRvIGlzIGRlc3Ryb3llZCwgdGhlCgkgIHJlbmRlci9zaG93X2ZyYW1lIGZ1bmN0aW9uIHdpbGwgcmV0dXJuIEdTVF9GTE9XX0VSUk9SLgoJICBQYXJ0aWFsbHkgZml4ZXMgIzUyMDg4NS4KCjIwMDgtMDUtMDcgMTU6MDk6MTAgKzAwMDAgIEhhYWtvbiBTcG9yc2hlaW0gPGhhYWtvbi5zcG9yc2hlaW1AdGFuZGJlcmcuY29tPgoKCSAgc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYyAoZ3N0X2RpcmVjdGRyYXdfc2lua19zZXRfY2Fwcyk6IEZpeGVkIG1pZCBzdHJlYW0gcmVzb2x1dGlvbiBjaGFuZ2UgYnVnLCB0aGUgb2Zmc2NyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogSGFha29uIFNwb3JzaGVpbSA8aGFha29uLnNwb3JzaGVpbSBhdCB0YW5kYmVyZyBjb20+CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYyAoZ3N0X2RpcmVjdGRyYXdfc2lua19zZXRfY2Fwcyk6CgkgIEZpeGVkIG1pZCBzdHJlYW0gcmVzb2x1dGlvbiBjaGFuZ2UgYnVnLCB0aGUgb2Zmc2NyZWVuIHN1cmZhY2UgaXMgbm93CgkgIHJlbGVhc2VkIHdoZW4gc2V0X2NhcHMgaXMgY2FsbGVkLgoJICBQYXJ0aWFsbHkgZml4ZXMgIzUyMDg4NS4KCjIwMDgtMDUtMDcgMTQ6NTY6MjIgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYwoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJfYWxsb2MpOgoJICBNYWtlIGl0IHNvIHRoYXQgZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJfYWxsb2MgdXNlcyB0aGUgcmlnaHQKCSAgd2lkdGgvaGVpZ2h0LgoJICBFc3BlY2lhbGx5IHdoZW4gbG9va2luZyB0aHJvdWdoIHRoZSBwb29sIG9mIGJ1ZmZlcnMsIG1ha2Ugc3VyZSB0aGF0CgkgIHRoZSB3aWR0aC9oZWlnaHQgb2YgY2FwcyBpcyB1c2VkIGluc3RlYWQgb2YgdGhlIGFscmVhZHkgbmVnb3RpYXRlZAoJICBkaW1lbnNpb25zLgoJICBGb3IgZXhhbXBsZSBpZiBhIGJ1ZmZlciB3aXRoIGRpZmZlcmVudCBjYXBzIGlzIHJlcXVlc3RlZCwgaS5lLgoJICBoaWdoZXIgcmVzb2x1dGlvbiwgdGhlIGNhbGxlciB3b3VsZCBnZXQgYSBidWZmZXIgd2l0aCB0aGUgb2xkCgkgIGRpbWVuc2lvbnMgYW5kIHRodXMgY29ycnVwdCB0aGUgaGVhcC4KCjIwMDgtMDUtMDcgMTQ6NDM6MzkgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVyX2FsbG9jKToKCSAgQ2xlYXIgdGhlIGZsYWdzIG9uIHJlY3ljbGVkIGJ1ZmZlcnMgZnJvbSBidWZmZXJfYWxsb2MuCgkgIFBhcnRpYWxseSBmaXhlcyAjNTIwODg1LgoJICBUaGUgcmlnaHQgZml4IHRoaXMgdGltZS4KCjIwMDgtMDUtMDcgMTQ6Mzk6NDUgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVyX2FsbG9jKToKCSAgUmV2ZXJ0aW5nIHByZXZpb3VzIGNvbW1pdCwgaXQgaGFkIGl0IGFsbCBtaXhlZCB1cCwgd2FzIGZvciBhIGRpZmZlcmVudAoJICBwYXRjaCAobWFqb3IgYXV0b21hdGlvbiBzY3Jldy11cCkuIFNvcnJ5IQoKMjAwOC0wNS0wNyAxMzo0ODoyOCArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYyk6CgkgIENsZWFyIHRoZSBmbGFncyBvbiByZWN5Y2xlZCBidWZmZXJzIGZyb20gYnVmZmVyX2FsbG9jLgoJICBQYXJ0aWFsbHkgZml4ZXMgIzUyMDg4NS4KCjIwMDgtMDUtMDcgMTE6MjI6NTEgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzogQWRkZWQgbWlzc2luZyBzdGRsaWIuaCBpbmNsdWRlIGZvciBzdHJ0b2woKSwgYW5kIG1hZGUgaW5jbHVkZSBvcmRlcmluZyBhbmQgc3R5bGUgY29uc2lzdGVudCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6CgkgIEFkZGVkIG1pc3Npbmcgc3RkbGliLmggaW5jbHVkZSBmb3Igc3RydG9sKCksIGFuZCBtYWRlIGluY2x1ZGUgb3JkZXJpbmcgYW5kCgkgIHN0eWxlIGNvbnNpc3RlbnQgd2l0aCB0aGUgY29ycmVzcG9uZGluZyBkZXBheWxvYWRlci4KCjIwMDgtMDUtMDcgMDk6NTI6MzQgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzogQWRkZWQgbWlzc2luZyBzdGRsaWIuaCBpbmNsdWRlIGZvciBzdHJ0b2woKSwgYW5kIG1hZGUgaW5jbHVkZSBvcmRlcmluZyBhbmQgc3R5bGUgY29uc2lzdGVudCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6CgkgIEFkZGVkIG1pc3Npbmcgc3RkbGliLmggaW5jbHVkZSBmb3Igc3RydG9sKCksIGFuZCBtYWRlIGluY2x1ZGUgb3JkZXJpbmcgYW5kCgkgIHN0eWxlIGNvbnNpc3RlbnQgd2l0aCB0aGUgY29ycmVzcG9uZGluZyBkZXBheWxvYWRlci4KCjIwMDgtMDUtMDcgMDg6MDM6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEVycm9yIG91dCBpZiB3ZSBkb24ndCBoYXZlIHRoZSByZXF1aXJlZCBjb3JlL2Jhc2UgdmVyc2lvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRXJyb3Igb3V0IGlmIHdlIGRvbid0IGhhdmUgdGhlIHJlcXVpcmVkIGNvcmUvYmFzZSB2ZXJzaW9ucy4KCjIwMDgtMDUtMDYgMDk6MzM6NDYgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubTogRml4IGNvbXBpbGVyIHdhcm5pbmdzIG9uIFBQQzY0LiBGaXhlcyBidWcgIzQ5OTMxOC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXIgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzIG9uIFBQQzY0LiBGaXhlcyBidWcgIzQ5OTMxOC4KCjIwMDgtMDUtMDUgMTE6MTk6MTMgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogRG9uJ3QgbGVhayBmaWxlIGRlc2NyaXB0b3JzIG9uIGVycm9yLiBGaXhlcyAjNTMxNTMyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNqb2VyZCBTaW1vbnMgPHNqb2VyZCBhdCBsdW9uIGRvdCBuZXQ+CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfaW5pdCksIChnc3RfcnRzcHNyY19vcGVuKToKCSAgRG9uJ3QgbGVhayBmaWxlIGRlc2NyaXB0b3JzIG9uIGVycm9yLiBGaXhlcyAjNTMxNTMyLgoKMjAwOC0wNS0wMyAwOToxODoyMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2djb25mLzogV2hlbiB3ZSBjYW4ndCBjcmVhdGUgYSBmYWtlc2luay9mYWtlc3JjIGNvbXBsYWluIGluc3RlYWQgb2YgdW5yZWZmaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc3JjLmM6IChnc3RfZ2NvbmZfYXVkaW9fc3JjX3Jlc2V0KSwKCSAgKGdzdF9nY29uZl9hdWRpb19zcmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuYzogKGdzdF9nY29uZl92aWRlb19zaW5rX3Jlc2V0KSwKCSAgKGdzdF9nY29uZl92aWRlb19zaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zcmMuYzogKGdzdF9nY29uZl92aWRlb19zcmNfcmVzZXQpLAoJICAoZ3N0X2djb25mX3ZpZGVvX3NyY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmM6IChnc3Rfc3dpdGNoX3NpbmtfcmVzZXQpLAoJICAoZ3N0X3N3aXRjaF9jb21taXRfbmV3X2tpZCksIChnc3Rfc3dpdGNoX3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgV2hlbiB3ZSBjYW4ndCBjcmVhdGUgYSBmYWtlc2luay9mYWtlc3JjIGNvbXBsYWluIGluc3RlYWQgb2YgdW5yZWZmaW5nCgkgIE5VTEwgcG9pbnRlcnMgYW5kIGNyYXNoaW5nIGxhdGVyLiBTZWUgYnVnICM1MzA1MzUuCgoyMDA4LTA1LTAyIDEyOjQ0OjE4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6IEFkZCBzb21lIG1vcmUgZGVidWcgaW5mbyBhbmQgZ3VhcmQgYWdhaW5zdCBzbWFsbCBwYXlsb2Fkcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6IChnc3RfcnRwX2gyNjNwX2RlcGF5X3Byb2Nlc3MpOgoJICBBZGQgc29tZSBtb3JlIGRlYnVnIGluZm8gYW5kIGd1YXJkIGFnYWluc3Qgc21hbGwgcGF5bG9hZHMuCgkgICogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzogKGdzdF9ydHBfcGNtdV9kZXBheV9wcm9jZXNzKToKCSAgU2V0IGR1cmF0aW9uIG9uIG91dGdvaW5nIGJ1ZmZlcnMgYmVjYXVzZSB3ZSBjYW4uCgoyMDA4LTA1LTAyIDEyOjM5OjAzICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IEFkZCBuZWdvdGlhdGlvbiBmb3IgdGhlIHNwZWV4IGNoYW5uZWxzIGFuZCByYXRlLiBGaXhlcyAjNDY1MTQ2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiAoZ3N0X3NwZWV4X2VuY19zaW5rX2dldGNhcHMpLAoJICAoZ3N0X3NwZWV4X2VuY19pbml0KSwgKGdzdF9zcGVleF9lbmNfY2hhaW4pOgoJICBBZGQgbmVnb3RpYXRpb24gZm9yIHRoZSBzcGVleCBjaGFubmVscyBhbmQgcmF0ZS4gRml4ZXMgIzQ2NTE0Ni4KCjIwMDgtMDUtMDIgMTI6MzQ6MjIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6IEFkZCBuZWdvdGlhdGlvbiBmb3IgdGhlIHNwZWVjIGNoYW5uZWxzIGFuZCByYXRlLiBTZWUgIzQ2NTE0Ni4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6IChnc3RfcnRwX3NwZWV4X3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfc3BlZXhfcGF5X2dldGNhcHMpOgoJICBBZGQgbmVnb3RpYXRpb24gZm9yIHRoZSBzcGVlYyBjaGFubmVscyBhbmQgcmF0ZS4gU2VlICM0NjUxNDYuCgoyMDA4LTA1LTAyIDEyOjI0OjU1ICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6IEFkZCBuZWdvdGlhdGlvbiBmb3IgdGhlIElMQkMgbW9kZS4gU2VlICM0NjUxNDYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6IChnc3RfcnRwaWxiY3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBpbGJjcGF5X3Npbmtfc2V0Y2FwcyksIChnc3RfcnRwaWxiY3BheV9zaW5rX2dldGNhcHMpOgoJICBBZGQgbmVnb3RpYXRpb24gZm9yIHRoZSBJTEJDIG1vZGUuIFNlZSAjNDY1MTQ2LgoKMjAwOC0wNS0wMiAxMTozMjozMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogSW5jbHVkZSBzdGRsaWIgdG8gZml4IHRoZSBidWlsZC4gVXNlIGdfZnJlZSBpbnN0ZWFkIG9mIGZyZWUsIGxpYnNvdXAgdXNlcyBnbGliLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBJbmNsdWRlIHN0ZGxpYiB0byBmaXggdGhlIGJ1aWxkLiBVc2UgZ19mcmVlIGluc3RlYWQgb2YgZnJlZSwgbGlic291cAoJICB1c2VzIGdsaWIuCgoyMDA4LTA1LTAyIDA5OjA5OjU4ICswMDAwICBqXiA8akBib290bGFiLm9yZz4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIG1vcmUgbXBlZzIgdmFyaWFudHMuIEZpeGVzICM1MzA4ODYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogal4gPGpAYm9vdGxhYi5vcmc+CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF92aWRlb19jYXBzKToKCSAgQWRkIG1vcmUgbXBlZzIgdmFyaWFudHMuIEZpeGVzICM1MzA4ODYuCgoyMDA4LTA1LTAxIDEwOjUyOjExICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuYzogRG9uJ3QgZXJyb3Igb3V0IGlmIHdlIGdldCBhbiBJQ01QIGRlc3RpbmF0aW9uLXVucmVhY2hhYmxlIG1lc3NhZ2Ugd2hlbiB0cnlpbmcgdG8gcmVhZCBwYWNrZXRzIG9uLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpIGF0IGNvbGxhYm9yYSBjbyB1az4KCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jcmVhdGUpOgoJICBEb24ndCBlcnJvciBvdXQgaWYgd2UgZ2V0IGFuIElDTVAgZGVzdGluYXRpb24tdW5yZWFjaGFibGUKCSAgbWVzc2FnZSB3aGVuIHRyeWluZyB0byByZWFkIHBhY2tldHMgb24gd2luMzIgKCM1Mjk0NTQpLgoKMjAwOC0wNC0zMCAxMjoxODo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFVzZSBuZXcgZXJyb3IgY29kZSBmb3IgZW5jcnlwdGVkIHN0cmVhbXMgKHdoaWNoIHJlcXVpcmVzIGNvcmUgQ1ZTKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIFVzZSBuZXcgZXJyb3IgY29kZSBmb3IgZW5jcnlwdGVkIHN0cmVhbXMgKHdoaWNoIHJlcXVpcmVzIGNvcmUgQ1ZTKS4KCjIwMDgtMDQtMzAgMTI6MTA6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCBzd2FwcGVkIHBhZCB0ZW1wbGF0ZSBuYW1lcywgc3BvdHRlZCBieSBUaGlhZ28gU291c2EgU2FudG9zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF92aWRlb3NyY190ZW1wbGF0ZSksCgkgIChnc3RfcXRkZW11eF9hdWRpb3NyY190ZW1wbGF0ZSk6CgkgIEZpeCBzd2FwcGVkIHBhZCB0ZW1wbGF0ZSBuYW1lcywgc3BvdHRlZCBieSBUaGlhZ28gU291c2EgU2FudG9zLgoKMjAwOC0wNC0zMCAwOTo0ODoxMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiBQcm9kdWNlIGNvbmNlYWxtZW50IGRhdGEgd2hlbiB0aW1lIHByb2dyZXNzZXMgaW4gYSBzZWdtZW50IHVwZGF0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IChzcGVleF9kZWNfc2lua19ldmVudCksCgkgIChzcGVleF9kZWNfY2hhaW5fcGFyc2VfZGF0YSk6CgkgIFByb2R1Y2UgY29uY2VhbG1lbnQgZGF0YSB3aGVuIHRpbWUgcHJvZ3Jlc3NlcyBpbiBhIHNlZ21lbnQgdXBkYXRlLgoKMjAwOC0wNC0yOSAxNDoxMTo0NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiBUcnkgdG8gcHJlc2VydmUgaW5wdXQgdGltZXN0YW1wcyB3aGVuIHdlIGNhbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IChzcGVleF9kZWNfY2hhaW5fcGFyc2VfZGF0YSksCgkgIChzcGVleF9kZWNfY2hhaW4pOgoJICBUcnkgdG8gcHJlc2VydmUgaW5wdXQgdGltZXN0YW1wcyB3aGVuIHdlIGNhbi4KCSAgRG8gYmVnaW5uaW5ncyBvZiBlcnJvciBjb25jZWFsbWVudC4KCjIwMDgtMDQtMjggMjI6Mzg6MTEgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9kZWJ1Zy9nc3RuYXZpZ2F0aW9udGVzdC5jOiBNU1ZDIGRvZXNuJ3QgcHJvdmlkZSByaW50KCksIGRlZmluZSBhbiBhZGVxdWF0ZSByZXBsYWNlbWVudCBsb2NhbGx5IGFzIGVsc2V3aGVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL2dzdG5hdmlnYXRpb250ZXN0LmM6CgkgIE1TVkMgZG9lc24ndCBwcm92aWRlIHJpbnQoKSwgZGVmaW5lIGFuIGFkZXF1YXRlIHJlcGxhY2VtZW50IGxvY2FsbHkgYXMKCSAgZWxzZXdoZXJlLgoKMjAwOC0wNC0yOCAxMToxNjozMiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvZGVidWcvcm5kYnVmZmVyc2l6ZS5jOiBGaXggcHJpbnRmIGZvcm1hdCB0byBwYWNpZnkgTWFjIE9TWCdzIGdjYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMDQtMjggIEp1bGllbiBNb3V0dGUgIDxqdWxpZW5AZmx1ZW5kby5jb20+CgkgICogZ3N0L2RlYnVnL3JuZGJ1ZmZlcnNpemUuYzogKGdzdF9ybmRfYnVmZmVyX3NpemVfbG9vcCk6IEZpeCBwcmludGYKCSAgZm9ybWF0IHRvIHBhY2lmeSBNYWMgT1NYJ3MgZ2NjLgoKMjAwOC0wNC0yNSAxOTozNDozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9kZWJ1Zy9ybmRidWZmZXJzaXplLmM6IEJyaW5nIHJuZGJ1ZmZlcnNpemUgZWxlbWVudCBpbnRvIGEgc3RhdGUgdGhhdCBkb2Vzbid0IHJlcXVpcmUgdXMgdG8gbW92ZSBpdCB0byAtYmFkIGltbWVkaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvcm5kYnVmZmVyc2l6ZS5jOiAoREVGQVVMVF9TRUVEKSwgKERFRkFVTFRfTUlOKSwKCSAgKERFRkFVTFRfTUFYKSwgKHNyY190ZW1wbGF0ZSksIChzaW5rX3RlbXBsYXRlKSwKCSAgKGdzdF9ybmRfYnVmZmVyX3NpemVfYmFzZV9pbml0KSwgKGdzdF9ybmRfYnVmZmVyX3NpemVfY2xhc3NfaW5pdCksCgkgIChnc3Rfcm5kX2J1ZmZlcl9zaXplX2luaXQpLCAoZ3N0X3JuZF9idWZmZXJfc2l6ZV9hY3RpdmF0ZSksCgkgIChnc3Rfcm5kX2J1ZmZlcl9zaXplX2xvb3ApLCAoZ3N0X3JuZF9idWZmZXJfc2l6ZV9wbHVnaW5faW5pdCk6CgkgIEJyaW5nIHJuZGJ1ZmZlcnNpemUgZWxlbWVudCBpbnRvIGEgc3RhdGUgdGhhdCBkb2Vzbid0IHJlcXVpcmUgdXMKCSAgdG8gbW92ZSBpdCB0byAtYmFkIGltbWVkaWF0ZWx5LiBGb3Igb25lLCBmaXggdXAgZGVmYXVsdCBtaW4vbWF4CgkgIHZhbHVlcyBzbyB0aGF0IHRoZSBlbGVtZW50IGFjdHVhbGwgd29ya3MgdXNpbmcgdGhlIGRlZmF1bHQgdmFsdWVzLgoJICBBbHNvLCBkb24ndCBpZ25vcmUgZmxvdyByZXR1cm4gdmFsdWVzIGFuZCBkbyBzb21lIGtpbmQgb2YgbWluaW1hbAoJICBlb3MgbG9naWMuIEFsbG93IG1pbj1tYXggdG8gcHVsbCBmaXhlZC1zaXplZCBidWZmZXJzLiBCdW5jaCBvZgoJICBvdGhlciBncmF0dWl0aW91cyBjbGVhbi11cHMuCgoyMDA4LTA0LTI1IDE5OjI0OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIGRvY3MgZm9yIGdka3BpeGJ1ZnNpbms7IHVwZGF0ZSBkb2NzIHRvIENWUyB2ZXJzaW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSAgQWRkIGRvY3MgZm9yIGdka3BpeGJ1ZnNpbms7IHVwZGF0ZSBkb2NzIHRvIENWUyB2ZXJzaW9uLgoKMjAwOC0wNC0yNSAxODo0NTozMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItdjRsMi1IMjY0LWFsc2FzcmMtUENNQS5zaDogUmVtb3ZlIHRlc3Qgc3luYy1vZmZzZXQgYnkgZGVmYXVsdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci12NGwyLUgyNjQtYWxzYXNyYy1QQ01BLnNoOgoJICBSZW1vdmUgdGVzdCBzeW5jLW9mZnNldCBieSBkZWZhdWx0LgoKMjAwOC0wNC0yNSAxMzozMTo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC86IFVzZSBHTGliIHZlcnNpb25zIG9mIGh0b25sLCBodG9ucywgbnRvaGwgYW5kIG50b2hzIGluIG9yZGVyIHRvIGF2b2lkIHByb2JsZW1zIG9uIHdpbjMyICgjNTI5NzA3KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzogKGdzdF9hc3Rlcmlza2gyNjNfY2hhaW4pOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX2FkZF9pbnRlcm5hbCk6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfc3RhcnQpOgoJICBVc2UgR0xpYiB2ZXJzaW9ucyBvZiBodG9ubCwgaHRvbnMsIG50b2hsIGFuZCBudG9ocyBpbiBvcmRlcgoJICB0byBhdm9pZCBwcm9ibGVtcyBvbiB3aW4zMiAoIzUyOTcwNykuCgoyMDA4LTA0LTI1IDEyOjUyOjQ0ICswMDAwICBKZXPDunMgQ29ycml1cyA8amVzdXNAc29mdGNhdGFsYS5vcmc+CgoJICBnc3QvZ29vbS86IEZpeCBidWlsZCB3aXRoIG1pbmd3MzI6IHVzZSByYW5kKCkgaW5zdGVhZCBvZiByYW5kb20oKSBhbmQgcmVwbGFjZSBiemVybygpIHdpdGggbWVtc2V0KCkuIEZpeGVzICM1Mjk2OTIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSmVzw7pzIENvcnJpdXMgPGplc3VzIGF0IHNvZnRjYXRhbGEgb3JnPgoJICAqIGdzdC9nb29tL2ZpbHRlcnMuYzogKHpvb21WZWN0b3IpOgoJICAqIGdzdC9nb29tL2dvb21fY29yZS5jOiAoaW5pdF9idWZmZXJzKToKCSAgRml4IGJ1aWxkIHdpdGggbWluZ3czMjogdXNlIHJhbmQoKSBpbnN0ZWFkIG9mIHJhbmRvbSgpIGFuZAoJICByZXBsYWNlIGJ6ZXJvKCkgd2l0aCBtZW1zZXQoKS4gRml4ZXMgIzUyOTY5Mi4KCjIwMDgtMDQtMjUgMDc6NTY6MTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IEZpeCB0eXBvIGluIGNvbW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2NvbWJpbmVfZmxvd3MpOgoJICBGaXggdHlwbyBpbiBjb21tZW50cy4KCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjNwLVBDTUEuc2RwOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2M3AtUENNQS5zaDoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjQtUENNQS5zZHA6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjY0LVBDTUEuc2g6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjY0LnNkcDoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjQuc2g6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1QQ01BLnNkcDoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LVBDTUEuc2g6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1hbHNhc3JjLVBDTUEuc2g6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci12NGwyLUgyNjNwLWFsc2FzcmMtQU1SLnNoOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItdjRsMi1IMjY0LWFsc2FzcmMtUENNQS5zaDoKCSAgQWRkIHNvbWUgbW9yZSBkb2NzIGFuZCBmaXggZXhhbXBsZXMuCgoyMDA4LTA0LTI0IDIyOjA0OjU3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzogSW5jbHVkZSBzdGRsaWIuaCBhbmQgdW5pc3RkLmggZm9yIG1rZHRlbXAuIFNvbWUgcGxhdGZvcm1zIGhhdmUgaXQgZGVjbGFyZWQgaW4gdGhlIGYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkgIEluY2x1ZGUgc3RkbGliLmggYW5kIHVuaXN0ZC5oIGZvciBta2R0ZW1wLiBTb21lIHBsYXRmb3JtcyBoYXZlIGl0CgkgIGRlY2xhcmVkIGluIHRoZSBmb3JtZXIsIHNvbWUgaGF2ZSBpdCBkZWNsYXJlZCBpbiB0aGUgbGF0dGVyLgoKMjAwOC0wNC0yNCAyMjowMTo1MiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgU3RvcCB1c2luZyBkZXByZWNhdGVkIEdMaWIgZnVuY3Rpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzogKGdzdF90ZXh0X292ZXJsYXlfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZGVidWcvdGVzdHMuYzogKG1kNV9nZXRfdmFsdWUpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOiAoZ3N0X3J0cF9oMjYzcF9kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzogKGdzdF9ydHBpbGJjcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzogKGdzdF9ydHBfdGhlb3JhX2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzogKGdzdF9ydHBfdm9yYmlzX2RlcGF5X3NldGNhcHMpOgoJICBTdG9wIHVzaW5nIGRlcHJlY2F0ZWQgR0xpYiBmdW5jdGlvbnMuCgoyMDA4LTA0LTI0IDIxOjE3OjQyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQmFjayB0byBkZXZlbG9wbWVudCAtPiAwLjEwLjguMQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQgLT4gMC4xMC44LjEKCSAgPT09IHJlbGVhc2UgMC4xMC44ID09PQoKPT09IHJlbGVhc2UgMC4xMC44ID09PQoKMjAwOC0wNC0yMyAyMzo0MDo0OCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJICBSZWxlYXNlIDAuMTAuOCBhIGxpdHRsZSBoYXJkZXIgKGVkaXRlZCB0aGUgcmVsZWFzZSBub3RlcykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbGVhc2UgMC4xMC44IGEgbGl0dGxlIGhhcmRlciAoZWRpdGVkIHRoZSByZWxlYXNlIG5vdGVzKQoKMjAwOC0wNC0yMyAyMzoyNjoyNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHBvL0xJTkdVQVM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbGVhc2UgMC4xMC44CgoyMDA4LTA0LTIzIDIzOjE4OjQ0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIGNvbW1vbjoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwOC0wNC0yMiAwMDoyOTowMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IDAuMTAuNy40IHByZS1yZWxlYXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgMC4xMC43LjQgcHJlLXJlbGVhc2UKCjIwMDgtMDQtMjIgMDA6MTg6NTIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2dvb20vOiBGcmVlIGEgYnVuY2ggb2Ygc3R1ZmYsIGFuZCBpbml0aWFsaXNlIHRoaW5ncyB0byBmaXggbGVha3MgYW5kIHZhbGdyaW5kIHdhcm5pbmdzIGluIHRoZSB0ZXN0c3VpdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL2NvbmZpZ19wYXJhbS5jOiAoZ29vbV9wbHVnaW5fcGFyYW1ldGVyc19mcmVlKToKCSAgKiBnc3QvZ29vbS9jb252b2x2ZV9meC5jOiAoY29udm9sdmVfaW5pdCksIChjb252b2x2ZV9mcmVlKToKCSAgKiBnc3QvZ29vbS9maWx0ZXJzLmM6ICh6b29tRmlsdGVyVmlzdWFsRlhXcmFwcGVyX2ZyZWUpOgoJICAqIGdzdC9nb29tL2ZseWluZ19zdGFyc19meC5jOiAoZnNfZnJlZSk6CgkgICogZ3N0L2dvb20vZ29vbV9jb25maWdfcGFyYW0uaDoKCSAgKiBnc3QvZ29vbS9nb29tX2NvcmUuYzogKGdvb21faW5pdCksIChnb29tX2Nsb3NlKToKCSAgKiBnc3QvZ29vbS9nb29tX3BsdWdpbl9pbmZvLmg6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOiAoZ3N0X2dvb21fZmluYWxpemUpOgoJICAqIGdzdC9nb29tL2xpbmVzLmM6IChnb29tX2xpbmVzX2ZyZWUpOgoJICAqIGdzdC9nb29tL3BsdWdpbl9pbmZvLmM6IChwbHVnaW5faW5mb19pbml0KSwgKHBsdWdpbl9pbmZvX2ZyZWUpOgoJICAqIGdzdC9nb29tL3N1cmYzZC5jOiAoZ3JpZDNkX2ZyZWUpOgoJICAqIGdzdC9nb29tL3N1cmYzZC5oOgoJICAqIGdzdC9nb29tL3RlbnRhY2xlM2QuYzogKHRlbnRhY2xlX2ZyZWUpOgoJICBGcmVlIGEgYnVuY2ggb2Ygc3R1ZmYsIGFuZCBpbml0aWFsaXNlIHRoaW5ncyB0byBmaXggbGVha3MKCSAgYW5kIHZhbGdyaW5kIHdhcm5pbmdzIGluIHRoZSB0ZXN0c3VpdGUuCgkgIEZpeGVzOiAjNTI5MjY4CgoyMDA4LTA0LTIxIDIxOjU0OjExICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6IERvbid0IGxlYWsgYSB0YWcgbGlzdC4gRml4ZXMgYnVnICM1MjkyODUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgRG9uJ3QgbGVhayBhIHRhZyBsaXN0LiBGaXhlcyBidWcgIzUyOTI4NS4KCjIwMDgtMDQtMjEgMDg6MjE6MTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFJlZiBjYXBzIGFzIHRoZSByZXR1cm4gdmFsdWUgZm9yIHRoZSByZXF1ZXN0X3B0X21hcCBzaWduYWwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2luaXQpLCAocmVxdWVzdF9wdF9tYXApLAoJICAoZ3N0X3J0c3BzcmNfY29uZmlndXJlX2NhcHMpOgoJICBSZWYgY2FwcyBhcyB0aGUgcmV0dXJuIHZhbHVlIGZvciB0aGUgcmVxdWVzdF9wdF9tYXAgc2lnbmFsLgoJICBSZW1vdmUgc29tZSBjYXBzIHdlaXJkbmVzcyB3aGVuIGNvbmZpZ3VyaW5nIGEgc3RyZWFtLiBTZWUgIzUyODI0NS4KCjIwMDgtMDQtMTggMTg6NDc6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9pY2xlcy9nZGtwaXhidWZzaW5rLXRlc3QuYzogQWRkIGNhc3QgdG8gcGxhY2F0ZSBnY2MgNC4xLjIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzL2dka3BpeGJ1ZnNpbmstdGVzdC5jOgoJICBBZGQgY2FzdCB0byBwbGFjYXRlIGdjYyA0LjEuMi4KCjIwMDgtMDQtMTcgMjM6MDA6MjkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiAwLjEwLjcuMyBwcmUtcmVsZWFzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIDAuMTAuNy4zIHByZS1yZWxlYXNlCgoyMDA4LTA0LTE3IDIyOjMyOjE2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBEaXNhYmxlIHNvbWUgbW9yZSBlbGVtZW50cyBpbiB0aGUgc3RhdGUgdGVzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIERpc2FibGUgc29tZSBtb3JlIGVsZW1lbnRzIGluIHRoZSBzdGF0ZSB0ZXN0LgoJICBBZGQgYSBkZWZpbmUgc28gdGhlIHNvdXAgdGVzdCBjYW4gZmluZCB0aGUgdGVzdCBmaWxlcwoJICBpdCBuZWVkcyBhdCBydW50aW1lLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6IChydW5fc2VydmVyKToKCSAgQWRkIGEgZGVmaW5lIHNvIHRoZSBzb3VwIHRlc3QgY2FuIGZpbmQgdGhlIHRlc3QgZmlsZXMKCSAgaXQgbmVlZHMgYXQgcnVudGltZS4KCjIwMDgtMDQtMTcgMTg6MDg6NTMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2dvb20vY29udm9sdmVfZnguYzogRG9uJ3QgZXZlciBkcmF3IHRoZSBHT09NIGxvZ28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL2NvbnZvbHZlX2Z4LmM6IChjb252b2x2ZV9hcHBseSk6CgkgIERvbid0IGV2ZXIgZHJhdyB0aGUgR09PTSBsb2dvLgoJICBGaXhlczogIzUyODYxNQoKMjAwOC0wNC0xNyAxMDoyNDozMiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC86IGdzdF9hdG9taWNfaW50X3NldCA9PT4gZ19hdG9taWNfaW50X3NldAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5jOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkgIGdzdF9hdG9taWNfaW50X3NldCA9PT4gZ19hdG9taWNfaW50X3NldAoKMjAwOC0wNC0xNiAxMDozMToxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFN0cmlwIG91dCB0aGUgY29uZmlnL3NjcmlwdCBwYXJzaW5nIHN0dWZmLCB3ZSBkb24ndCBuZWVkIGl0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2dvb20vTWFrZWZpbGUuYW06CgkgICogZ3N0L2dvb20vY29udm9sdmVfZnguYzoKCSAgKiBnc3QvZ29vbS9kZWZhdWx0X3NjcmlwdHMuaDoKCSAgKiBnc3QvZ29vbS9nb29tLmg6CgkgICogZ3N0L2dvb20vZ29vbV9jb3JlLmM6IChjaG9vc2VfYV9nb29tX2xpbmUpOgoJICAqIGdzdC9nb29tL2dvb21fcGx1Z2luX2luZm8uaDoKCSAgKiBnc3QvZ29vbS9nb29tc2wuYzoKCSAgKiBnc3QvZ29vbS9nb29tc2wuaDoKCSAgKiBnc3QvZ29vbS9nb29tc2xfaGFzaC5jOgoJICAqIGdzdC9nb29tL2dvb21zbF9oYXNoLmg6CgkgICogZ3N0L2dvb20vZ29vbXNsX2hlYXAuYzoKCSAgKiBnc3QvZ29vbS9nb29tc2xfaGVhcC5oOgoJICAqIGdzdC9nb29tL2dvb21zbF9wcml2YXRlLmg6CgkgICogZ3N0L2dvb20vcGx1Z2luX2luZm8uYzoKCSAgU3RyaXAgb3V0IHRoZSBjb25maWcvc2NyaXB0IHBhcnNpbmcgc3R1ZmYsIHdlIGRvbid0IG5lZWQgaXQuCgkgIEZpeGVzICM1Mjc5OTkuCgoyMDA4LTA0LTE1IDE2OjU4OjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2dvb20vcGx1Z2luX2luZm8uYzogRGlzYWJsZSBhbHRpdmVjIG9wdGltaXNhdGlvbnMgZm9yIDMyLWJpdCBQUEMgYXMgd2VsbCB0byBtYWtlIHRoaW5ncyBidWlsZCBwcm9wZXJseSBvbiBhbGwgUFBDLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL3BsdWdpbl9pbmZvLmM6IChzZXRPcHRpbWl6ZWRNZXRob2RzKToKCSAgRGlzYWJsZSBhbHRpdmVjIG9wdGltaXNhdGlvbnMgZm9yIDMyLWJpdCBQUEMgYXMgd2VsbCB0byBtYWtlCgkgIHRoaW5ncyBidWlsZCBwcm9wZXJseSBvbiBhbGwgUFBDIHN5c3RlbXMuIEZpeGVzICM1MjgxNDMKCjIwMDgtMDQtMTQgMjA6MDE6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46IFVwZGF0ZSBmb3Igc291cGh0dHBzcmMgcGx1Z2luIHdoaWNoIGhhcyBtb3ZlZCB0byAtZ29vZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBVcGRhdGUgZm9yIHNvdXBodHRwc3JjIHBsdWdpbiB3aGljaCBoYXMgbW92ZWQgdG8gLWdvb2QuCgoyMDA4LTA0LTE0IDEzOjM4OjMyICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IEZpeCBvcGVuLWVuZGVkIHNlZWtzIGluIG1hdHJvc2thZGVtdXgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NlZWtfZXZlbnQpOgoJICBGaXggb3Blbi1lbmRlZCBzZWVrcyBpbiBtYXRyb3NrYWRlbXV4CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXcgc2t5bmV0IGJlPgoJICBGaXhlczogIzUyNjU1NwoKMjAwOC0wNC0xMyAyMzoxMzozMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogQWRkIHNvdXAgdGVzdCBjZXJ0aWZpY2F0ZXMgdG8gdGhlIGRpc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBBZGQgc291cCB0ZXN0IGNlcnRpZmljYXRlcyB0byB0aGUgZGlzdC4KCjIwMDgtMDQtMTMgMTc6NDM6NTIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L01ha2VmaWxlLmFtOiBSZW1vdmUgTEFEU1BBIHJlZmVyZW5jZSBJIG1pc3NlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICBSZW1vdmUgTEFEU1BBIHJlZmVyZW5jZSBJIG1pc3NlZC4KCjIwMDgtMDQtMTMgMTM6MDY6MzkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IEdpdmUgc291cGh0dHBzcmMgR1NUX1JBTktfUFJJTUFSWSB0byBtYWtlIGl0IHRoZSBkZWZhdWx0IEhUVFAgc291cmNlIG92ZXIgZ25vbWUtdmZzIGFuZCBldi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAocGx1Z2luX2luaXQpOgoJICBHaXZlIHNvdXBodHRwc3JjIEdTVF9SQU5LX1BSSU1BUlkgdG8gbWFrZSBpdCB0aGUgZGVmYXVsdCBIVFRQIHNvdXJjZQoJICBvdmVyIGdub21lLXZmcyBhbmQgZXZlcnl0aGluZyBlbHNlLiBGaXhlcyBidWcgIzUyNzg0OC4KCjIwMDgtMDQtMTIgMjM6NDc6MjMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmVtb3ZlIExBRFNQQSBwbHVnaW4uIEZpeGVzOiAjNTE1OTc4CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgIFJlbW92ZSBMQURTUEEgcGx1Z2luLiBGaXhlczogIzUxNTk3OAoKMjAwOC0wNC0xMiAyMzozMDo1NCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBNb3ZlIHNvdXAgcGx1Z2luIGZyb20gLWJhZCAoRml4ZXM6ICM1MjMxMjQpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIE1vdmUgc291cCBwbHVnaW4gZnJvbSAtYmFkIChGaXhlczogIzUyMzEyNCkKCjIwMDgtMDQtMTEgMTE6MDg6MzUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJICBGaXggdGhlIENoYW5nZWxvZyAtIGFjdHVhbGx5IHNwZWV4IDw9IDEuMS4xMiBhcmUgdnVsbmVyYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCB0aGUgQ2hhbmdlbG9nIC0gYWN0dWFsbHkgc3BlZXggPD0gMS4xLjEyIGFyZSB2dWxuZXJhYmxlLgoKMjAwOC0wNC0xMSAxMDozMjoyMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogRml4IGJvdW5kcyBjaGVja2luZyBvZiBtb2RlIGluIFNwZWV4IGhlYWRlciwgd2hpY2ggbWF5IHByb2R1Y2UgbmVnYXRpdmUgbnVtYmVycyBpbiBzcGVleCA8IDEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IChzcGVleF9kZWNfY2hhaW5fcGFyc2VfaGVhZGVyKToKCSAgRml4IGJvdW5kcyBjaGVja2luZyBvZiBtb2RlIGluIFNwZWV4IGhlYWRlciwgd2hpY2ggbWF5CgkgIHByb2R1Y2UgbmVnYXRpdmUgbnVtYmVycyBpbiBzcGVleCA8IDEuMS4xMgoKMjAwOC0wNC0xMCAwNzoxMTo1MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzogSW5jcmVhc2UgdGhlIHRpbWVvdXQgZm9yIHRoZSBpbnRlcm5ldCB0ZXN0cyB0byAyNTAgc2Vjb25kcyBhbmQgY2hlY2sgZm9yIE5VTEwgY2FwLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6IChnb3RfYnVmZmVyKSwKCSAgKHNvdXBodHRwc3JjX3N1aXRlKToKCSAgSW5jcmVhc2UgdGhlIHRpbWVvdXQgZm9yIHRoZSBpbnRlcm5ldCB0ZXN0cyB0byAyNTAgc2Vjb25kcwoJICBhbmQgY2hlY2sgZm9yIE5VTEwgY2FwcyBpbnN0ZWFkIG9mIGp1c3QgY3Jhc2hpbmcuCgkgIFRoZSByZWFsIGZpeCB3b3VsZCBiZSB0byBpbXBsZW1lbnQgYW4gc2hvdXRjYXN0IHNlcnZlciBmb3IgdGhlIHVuaXQgdGVzdAoJICBpbnN0ZWFkIG9mIHJlbHlpbmcgb24gYSB3b3JraW5nIGludGVybmV0IGNvbm5lY3Rpb24uCgkgIEZpeGVzIGJ1ZyAjNTIxNzQ5LgoKMjAwOC0wNC0wOSAxNjoxMTo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9nb29tLzogUmVtb3ZlIGEgYnVuY2ggb2YgZm9udC90ZXh0IHJlbGF0ZWQgY29kZSB0aGF0IHdlIGRvbid0IG5lZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL01ha2VmaWxlLmFtOgoJICAqIGdzdC9nb29tL2dmb250bGliLmM6CgkgICogZ3N0L2dvb20vZ2ZvbnRsaWIuaDoKCSAgKiBnc3QvZ29vbS9nZm9udHJsZS5jOgoJICAqIGdzdC9nb29tL2dmb250cmxlLmg6CgkgICogZ3N0L2dvb20vZ29vbS5oOgoJICAqIGdzdC9nb29tL2dvb21fY29yZS5jOiAoZ29vbV91cGRhdGUpOgoJICAqIGdzdC9nb29tL2dvb21fcGx1Z2luX2luZm8uaDoKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6IChnc3RfZ29vbV9jaGFpbik6CgkgICogZ3N0L2dvb20vcGx1Z2luX2luZm8uYzoKCSAgUmVtb3ZlIGEgYnVuY2ggb2YgZm9udC90ZXh0IHJlbGF0ZWQgY29kZSB0aGF0IHdlIGRvbid0IG5lZWQuCgoyMDA4LTA0LTA5IDE0OjAyOjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2dvb20vOiBDaGFuZ2UgbGljZW5zZSBvZiB0aGVzZSBmaWxlcyB0byBMR1BMLCBhcyBwZXJtaXR0ZWQgYnkgdGhlIGF1dGhvciwgR3VpbGxhdW1lIEJvcmlvcy4gU2VlICM1MTUwNzMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL3BwY19kcmF3aW5ncy5zOgoJICAqIGdzdC9nb29tL3BwY196b29tX3VsdGltYXRlLnM6CgkgIENoYW5nZSBsaWNlbnNlIG9mIHRoZXNlIGZpbGVzIHRvIExHUEwsIGFzIHBlcm1pdHRlZCBieSB0aGUKCSAgYXV0aG9yLCBHdWlsbGF1bWUgQm9yaW9zLiBTZWUgIzUxNTA3My4KCjIwMDgtMDQtMDkgMTM6MzE6MjIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9nb29tLzogQXMgaGludGVkIGluIEJ1ZyAjNTE4MjEzLCByZXZlcnQgb25lIGNoYW5nZSBhbmQgZml4IHdhcm5pbmdzIHByb3Blcmx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS9jb252b2x2ZV9meC5jOgoJICAqIGdzdC9nb29tL21vdGlmX2dvb20xLmg6CgkgICogZ3N0L2dvb20vbW90aWZfZ29vbTIuaDoKCSAgQXMgaGludGVkIGluIEJ1ZyAjNTE4MjEzLCByZXZlcnQgb25lIGNoYW5nZSBhbmQgZml4IHdhcm5pbmdzIHByb3Blcmx5LgoJICBUaGlzIGZpeGVzIGJvdGggIzUxODIxMyBhbmQgIzUyMDA3MyBmb3IgbWUuCgoyMDA4LTA0LTA5IDEyOjAyOjU1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9tYXRyb3NrYS86IEZpeCB0aGUgRm9ydGUgYnVpbGQgYnkgbWFraW5nIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIHNpZ25hdHVyZXMgbWF0Y2ggdGhlIGltcGxlbWVudGF0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiAoZ3N0X2VibWxfcmVhZF9zZWVrKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc2Vla19ldmVudCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY29udGVudHNfc2Vla2VudHJ5KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wKToKCSAgRml4IHRoZSBGb3J0ZSBidWlsZCBieSBtYWtpbmcgZnVuY3Rpb24gZGVjbGFyYXRpb24gc2lnbmF0dXJlcwoJICBtYXRjaCB0aGUgaW1wbGVtZW50YXRpb25zLgoKMjAwOC0wNC0wOCAxOTo0OTozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy9vc3MvOiBNb3JlIGxvZ2dpbmcgd2hlbiBwcm9iaW5nIChzZWUgIzUxODQ3NCksIHNvbWUgY29tbWVudHMgaW4gX3Jlc2V0KCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3MvZ3N0b3NzaGVscGVyLmM6IChnc3Rfb3NzX2hlbHBlcl9yYXRlX2NoZWNrX3JhdGUpOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOiAoZ3N0X29zc19zaW5rX3Jlc2V0KToKCSAgKiBzeXMvb3NzL2dzdG9zc3NyYy5jOiAoZ3N0X29zc19zcmNfcmVzZXQpOgoJICBNb3JlIGxvZ2dpbmcgd2hlbiBwcm9iaW5nIChzZWUgIzUxODQ3NCksIHNvbWUgY29tbWVudHMgaW4gX3Jlc2V0KCkuCgoyMDA4LTA0LTA3IDE3OjE4OjQ4ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOiBGaXggYnVpbGQgYmVjYXVzZSBvZiBhIGJhZCBhcmd1bWVudCBudW1iZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTA0LTA3ICBKdWxpZW4gTW91dHRlICA8anVsaWVuQGZsdWVuZG8uY29tPgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOiAoZ3N0X3J0cF9oMjY0X3BheV9zZXRjYXBzKTogRml4IGJ1aWxkCgkgIGJlY2F1c2Ugb2YgYSBiYWQgYXJndW1lbnQgbnVtYmVyLgoKMjAwOC0wNC0wNiAxODoyODowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2ljbGVzLzogSW50ZXJhY3RpdmUgdGVzdCBhcHAgZm9yIGdka3BpeGJ1ZnNpbmsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvaWNsZXMvZ2RrcGl4YnVmc2luay10ZXN0LmM6CgkgIEludGVyYWN0aXZlIHRlc3QgYXBwIGZvciBnZGtwaXhidWZzaW5rLgoKMjAwOC0wNC0wNiAwOTowMTo0MiArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogT25seSBpZ25vcmUgYWN0dWFsIHJlZGlyZWN0cyBub3QgYWxsIHJlc3BvbnNlcyB3aGVuIGluIHN0YXRlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2pvZXJkIFNpbW9ucyA8c2pvZXJkIGF0IGx1b24gZG90IG5ldD4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBfaHR0cF9zcmNfcmVzcG9uc2VfY2IpOgoJICBPbmx5IGlnbm9yZSBhY3R1YWwgcmVkaXJlY3RzIG5vdCBhbGwgcmVzcG9uc2VzIHdoZW4gaW4gc3RhdGUKCSAgR1NUX1NPVVBfSFRUUF9TUkNfU0VTU0lPTl9JT19TVEFUVVNfUlVOTklORy4gRml4ZXMgYnVnICM1MjYzMzcuCgoyMDA4LTA0LTA2IDA4OjU3OjU5ICswMDAwICBEYW1pZW4gTGVzcGlhdSA8ZGFtaWVuLmxlc3BpYXVAZ21haWwuY29tPgoKCSAgY29uZmlndXJlLmFjOiBBY3R1YWxseSBidWlsZCBkbGxzIHdoZW4gY3Jvc3MtY29tcGlsaW5nIHdpdGggbWluZ3czMi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBEYW1pZW4gTGVzcGlhdSA8ZGFtaWVuIGRvdCBsZXNwaWF1IGF0IGdtYWlsIGRvdCBjb20+CgkgICogY29uZmlndXJlLmFjOgoJICBBY3R1YWxseSBidWlsZCBkbGxzIHdoZW4gY3Jvc3MtY29tcGlsaW5nIHdpdGggbWluZ3czMi4KCSAgRml4ZXMgYnVnICM1MjYyNDcuCgoyMDA4LTA0LTA1IDEyOjAwOjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2hhbC9oYWwuYzogRG9uJ3QgbXVuZ2UgZGV2aWNlIHN0cmluZyB0byAnZGVmYXVsdDp4JyBmb3IgY2FwdHVyZSBkZXZpY2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvaGFsL2hhbC5jOiAoZ3N0X2hhbF9nZXRfYWxzYV9lbGVtZW50KToKCSAgRG9uJ3QgbXVuZ2UgZGV2aWNlIHN0cmluZyB0byAnZGVmYXVsdDp4JyBmb3IgY2FwdHVyZSBkZXZpY2VzLgoJICBGaXhlcyAjNTI1ODMzLgoKMjAwOC0wNC0wNCAxOTowMDoxOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IEFsd2F5cyB1c2UgR1NsaWNlIGFzIHdlIGFjdHVhbGx5IGRlcGVuZCBvbiBHTGliIDIuMTIgYWxyZWFkeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIChnc3Rfd2F2cGFja19wYXJzZV9pbmRleF9lbnRyeV9mcmVlKToKCSAgQWx3YXlzIHVzZSBHU2xpY2UgYXMgd2UgYWN0dWFsbHkgZGVwZW5kIG9uIEdMaWIgMi4xMiBhbHJlYWR5LgoKMjAwOC0wNC0wNCAxMToyNjo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogUmVxdWlyZSBjb3JlL2Jhc2UgMC4xMC4xOCBmb3IgQVJHQiBjYXBzIHBhcnNpbmcgZml4ZXMgaW4gbGliZ3N0dmlkZW8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmVxdWlyZSBjb3JlL2Jhc2UgMC4xMC4xOCBmb3IgQVJHQiBjYXBzIHBhcnNpbmcgZml4ZXMgaW4gbGliZ3N0dmlkZW8uCgkgIEFsc28gYnVtcCB0aGUgR0xpYiByZXF1aXJlbWVudCB0byB0aGUgY3VycmVudCBkZS1mYWN0byByZXF1aXJlbWVudAoJICAoaWUuIDIuMTIpLgoKMjAwOC0wNC0wNCAxMDozMjoyMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS4qOiBQYXJzZSBjb2RlY19kYXRhIGZvciBmdXR1cmUgQVZDIGNvbXBhdGliaWxpdHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOiAoZW5jb2RlX2Jhc2U2NCksCgkgIChnc3RfcnRwX2gyNjRfcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9oMjY0X3BheV9oYW5kbGVfYnVmZmVyKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuaDoKCSAgUGFyc2UgY29kZWNfZGF0YSBmb3IgZnV0dXJlIEFWQyBjb21wYXRpYmlsaXR5LgoJICBGYWlsIHdoZW4gd2UgZW5jb3VudGVyIEFWQyBkYXRhIGZvciBub3cuCgoyMDA4LTA0LTA0IDA5OjUwOjEwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IFJlbmFtZSBwcm9wZXJ0eSBlbnVtcyBhbmQgZGVmYXVsdCBkZWZpbmVzIGZvciB0aGUgcHJvcGVydGllcyB0byBtYXRjaCB0aGUgcHJvcGVydHkgbmFtZXMgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX2luaXQpLCAoZ3N0X3NwZWN0cnVtX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfc3BlY3RydW1fZ2V0X3Byb3BlcnR5KSwgKGdzdF9zcGVjdHJ1bV9tZXNzYWdlX25ldyk6CgkgIFJlbmFtZSBwcm9wZXJ0eSBlbnVtcyBhbmQgZGVmYXVsdCBkZWZpbmVzIGZvciB0aGUgcHJvcGVydGllcyB0byBtYXRjaAoJICB0aGUgcHJvcGVydHkgbmFtZXMgYW5kIHJlcGhyYXNlIHByb3BlcnR5IGRlc2NyaXB0aW9ucyB0byBtYWtlIHRoZW0gYQoJICBiaXQgY2xlYXJlciAoaG9wZWZ1bGx5KS4gU2VlICM1MTgxODguCgoyMDA4LTA0LTAzIDIyOjU5OjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgdW5pdCB0ZXN0IGZvciBnZGtwaXhidWZzaW5rIGVsZW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RrcGl4YnVmc2luay5jOgoJICBBZGQgdW5pdCB0ZXN0IGZvciBnZGtwaXhidWZzaW5rIGVsZW1lbnQuCgoyMDA4LTA0LTAzIDIyOjUwOjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2dka19waXhidWYvOiBBZGQgZ2RrcGl4YnVmc2luayBlbGVtZW50IGZvciBlYXN5IHNuYXBzaG90dGluZyAoIzUyNTk0NikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nZGtfcGl4YnVmL01ha2VmaWxlLmFtOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnNpbmsuYzoKCSAgKGdzdF9nZGtfcGl4YnVmX3NpbmtfYmFzZV9pbml0KSwKCSAgKGdzdF9nZGtfcGl4YnVmX3NpbmtfY2xhc3NfaW5pdCksIChnc3RfZ2RrX3BpeGJ1Zl9zaW5rX2luaXQpLAoJICAoZ3N0X2dka19waXhidWZfc2lua19zdGFydCksIChnc3RfZ2RrX3BpeGJ1Zl9zaW5rX3N0b3ApLAoJICAoZ3N0X2dka19waXhidWZfc2lua19zZXRfY2FwcyksCgkgIChnc3RfZ2RrX3BpeGJ1Zl9zaW5rX3BpeGJ1Zl9kZXN0cm95X25vdGlmeSksCgkgIChnc3RfZ2RrX3BpeGJ1Zl9zaW5rX2dldF9waXhidWZfZnJvbV9idWZmZXIpLAoJICAoZ3N0X2dka19waXhidWZfc2lua19oYW5kbGVfYnVmZmVyKSwgKGdzdF9nZGtfcGl4YnVmX3NpbmtfcHJlcm9sbCksCgkgIChnc3RfZ2RrX3BpeGJ1Zl9zaW5rX3JlbmRlciksIChnc3RfZ2RrX3BpeGJ1Zl9zaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZ2RrX3BpeGJ1Zl9zaW5rX2dldF9wcm9wZXJ0eSk6CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5oOgoJICBBZGQgZ2RrcGl4YnVmc2luayBlbGVtZW50IGZvciBlYXN5IHNuYXBzaG90dGluZyAoIzUyNTk0NikuCgoyMDA4LTA0LTAzIDIwOjI1OjM0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2cGFjay5jOiBCdW1wIHRpbWVvdXQgZnJvbSAzIHRvIDYwIHNlY29uZHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy93YXZwYWNrLmM6ICh3YXZwYWNrX3N1aXRlKToKCSAgQnVtcCB0aW1lb3V0IGZyb20gMyB0byA2MCBzZWNvbmRzLgoKMjAwOC0wNC0wMyAyMDoyMToxNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svcGlwZWxpbmVzLy5jdmlnbm9yZTogUmVtb3ZlIHVzZWxlc3MgZmlsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzLy5jdmlnbm9yZToKCSAgUmVtb3ZlIHVzZWxlc3MgZmlsZS4KCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvLmN2c2lnbm9yZToKCSAgQWRkIG5ldyB0ZXN0IHRvIC5jdnNpZ25vcmUuCgoyMDA4LTA0LTAzIDIwOjA1OjMxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay86IEFkZCB1bml0IHRlc3QgdGhhdCBlbmNvZGVzIGFuZCBkZWNvZGVzIHNvbWUgZGF0YSwgY2hlY2tzIHRoYXQgaXQgaXMgc3RpbGwgdGhlIHNhbWUgYW5kIHRoYXQgYWxsIHRpbWVzdGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdnBhY2suYzogKGJ1c19oYW5kbGVyKSwKCSAgKGlkZW50aXR5X2hhbmRvZmYpLCAoZmFrZXNpbmtfaGFuZG9mZiksIChHU1RfU1RBUlRfVEVTVCksCgkgICh3YXZwYWNrX3N1aXRlKSwgKG1haW4pOgoJICBBZGQgdW5pdCB0ZXN0IHRoYXQgZW5jb2RlcyBhbmQgZGVjb2RlcyBzb21lIGRhdGEsIGNoZWNrcyB0aGF0IGl0CgkgIGlzIHN0aWxsIHRoZSBzYW1lIGFuZCB0aGF0IGFsbCB0aW1lc3RhbXBzL29mZnNldHMgYXJlIHBlcmZlY3QuCgoyMDA4LTA0LTAzIDE4OjI4OjI4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay86IFVzZSBHU2xpY2UgZm9yIGFsbG9jYXRpbmcgaW5kZXggZW50cmllcyBhbmQgdXNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfYmFzZV9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfYmFzZV9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2luZGV4X2VudHJ5X25ldyksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9pbmRleF9lbnRyeV9mcmVlKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9pbmRleF9hcHBlbmRfZW50cnkpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzZXQpOgoJICBVc2UgR1NsaWNlIGZvciBhbGxvY2F0aW5nIGluZGV4IGVudHJpZXMgYW5kIHVzZQoJICBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUoKS4KCjIwMDgtMDQtMDIgMjI6Mzc6MjkgKzAwMDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCgkgIHN5cy9zdW5hdWRpby86IEZpeCB1cCBjb3B5cmlnaHRzICgjNTI1ODYwKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uIGF0IHN1biBkb3QgY29tPgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpby5jOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyLmM6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXIuaDoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuaDoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcnRyYWNrLmM6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJ0cmFjay5oOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmg6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmg6CgkgIEZpeCB1cCBjb3B5cmlnaHRzICgjNTI1ODYwKS4KCjIwMDgtMDQtMDIgMTY6MTA6MzMgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgYWRkIG5ldyBnb29tIHBsdWdpbiB0byBzcGVjIGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBuZXcgZ29vbSBwbHVnaW4gdG8gc3BlYyBmaWxlCgoyMDA4LTA0LTAyIDE1OjQyOjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2dvb20vZ29vbXNsLmM6IENoZWNrIHJldHVybiB2YWx1ZSBvZiBmcmVhZCgpIHRvIGF2b2lkIGNvbXBpbGVyIHdhcm5pbmdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS9nb29tc2wuYzogKGdzbF9yZWFkX2ZpbGUpOgoJICBDaGVjayByZXR1cm4gdmFsdWUgb2YgZnJlYWQoKSB0byBhdm9pZCBjb21waWxlciB3YXJuaW5ncy4KCjIwMDgtMDQtMDEgMTE6MDA6NDMgKzAwMDAgIG1lcnNhZCA8bWVyc2FkQGF4aXMuY29tPgoKCSAgZ3N0L2xhdy86IE1ha2UgbmVnb3RpYXRpb24gYSBiaXQgbW9kZXJuLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IG1lcnNhZCA8bWVyc2FkIGF0IGF4aXMgZG90IGNvbT4KCSAgKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6IChnc3RfYWxhd19kZWNfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9hbGF3X2RlY19jaGFpbiksIChnc3RfYWxhd19kZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvbGF3L2FsYXctZGVjb2RlLmg6CgkgICogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOiAoZ3N0X2FsYXdfZW5jX2NoYWluKToKCSAgKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOiAobXVsYXdkZWNfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9tdWxhd2RlY19jaGFpbiksIChnc3RfbXVsYXdkZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvbGF3L211bGF3LWRlY29kZS5oOgoJICAqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6IChnc3RfbXVsYXdlbmNfY2hhaW4pOgoJICBNYWtlIG5lZ290aWF0aW9uIGEgYml0IG1vZGVybi4KCSAgVXNlIHBhZF9hbGxvYy4gRml4ZXMgIzUyNTM1OS4KCjIwMDgtMDMtMzEgMjI6MDY6MTQgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L2dvb20veG1teC5jOiBGaXggY29uc3RyYWludHMgb24gYXNtIGNvZGUgc28gdGhhdCBpdCBjb21waWxlcyBjb25zaXN0ZW50bHkuICBGaXhlcyAjNTIyMjc4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS94bW14LmM6IEZpeCBjb25zdHJhaW50cyBvbiBhc20gY29kZSBzbyB0aGF0IGl0CgkgIGNvbXBpbGVzIGNvbnNpc3RlbnRseS4gIEZpeGVzICM1MjIyNzguCgoyMDA4LTAzLTI3IDA5OjM2OjU4ICswMDAwICBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgoJICBzeXMvc3VuYXVkaW8vOiBGaXggdXAgdGhlIG1peGVyIHRyYWNrcyB0byB1c2UgYSB2b2x1bWUgcmFuZ2Ugb2YgMC0yNTUsIHdoaWNoIGlzIHdoYXQgdGhlIHN1biBhdWRpbyBBUEkgdXNlcy4gVGhpcyBzaW0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uIGF0IHN1biBkb3QgY29tPgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOgoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9nZXRfdm9sdW1lKSwKCSAgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfc2V0X3ZvbHVtZSk6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJ0cmFjay5jOiAoZ3N0X3N1bmF1ZGlvbWl4ZXJfdHJhY2tfbmV3KToKCSAgRml4IHVwIHRoZSBtaXhlciB0cmFja3MgdG8gdXNlIGEgdm9sdW1lIHJhbmdlIG9mIDAtMjU1LCB3aGljaCBpcyB3aGF0CgkgIHRoZSBzdW4gYXVkaW8gQVBJIHVzZXMuIFRoaXMgc2ltcGxpZmllcyB0aGUgY29kZSBhbmQgYXZvaWRzIHJvdW5kaW5nCgkgIGVycm9ycy4gRml4ZXMgIzUyNDU5My4KCjIwMDgtMDMtMjYgMTU6MTA6MDggKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIEFkZCBkZXZpY2UtZmQgcHJvcGVydHkgdG8gbWFrZSBpdCBwb3NzaWJsZSB0byBhcHBzIHRvIGNhbGwgaW9jdGwncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZCBkZXZpY2UtZmQgcHJvcGVydHkgdG8gbWFrZSBpdCBwb3NzaWJsZSB0byBhcHBzIHRvIGNhbGwgaW9jdGwncy4KCjIwMDgtMDMtMjUgMTY6NDQ6MjAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFVuYnJlYWsgc3RyZWFtaW5nIG1vZGUgYWdhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKG5leHRfZW50cnlfc2l6ZSk6CgkgIFVuYnJlYWsgc3RyZWFtaW5nIG1vZGUgYWdhaW4uCgoyMDA4LTAzLTI1IDEyOjM5OjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBSZW1vdmUgc3VwZXJmbHVvdXMgREVCVUcgbWFjcm8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX3NldF9jYXB0dXJlKToKCSAgUmVtb3ZlIHN1cGVyZmx1b3VzIERFQlVHIG1hY3JvLgoKMjAwOC0wMy0yNSAxMjozMzowOSArMDAwMCAgV2lsbGlhbSBNLiBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IENoZWNrIHdoZXRoZXIgdGhlIGRldmljZSBzdXBwb3J0cyBzZXR0aW5nIHRoZSBmcmFtZXJhdGUgYmVmb3JlIHRyeWluZyB0byBzZXQgaXQgYW5kIHRoZW4gcG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBXaWxsaWFtIE0uIEJyYWNrIDx3YnJhY2sgYXQgbW1tIGNvbSBoaz4KCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChmcmFjdGlvbnNfYXJlX2VxdWFsKSwKCSAgKGdzdF92NGwyc3JjX3NldF9jYXB0dXJlKToKCSAgQ2hlY2sgd2hldGhlciB0aGUgZGV2aWNlIHN1cHBvcnRzIHNldHRpbmcgdGhlIGZyYW1lcmF0ZSBiZWZvcmUKCSAgdHJ5aW5nIHRvIHNldCBpdCBhbmQgdGhlbiBwb3N0aW5nIGEgd2FybmluZyBvciBlcnJvciBpZiBpdCBkb2Vzbid0CgkgIHdvcmsgKCM1MTY2NDksICM1MjAwOTIpLiBBbHNvIGNvbXBhcmUgZnJhY3Rpb25zIG1vcmUgY29ycmVjdGx5LgoKMjAwOC0wMy0yNCAxMjozMjo1OSArMDAwMCAgUmVuZSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgTWFrZSByZ2FuYWx5c2lzIGFuZCByZ2xpbWl0ZXIgZWxlbWVudHMgR0FQLWZsYWcgYXdhcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYyAoZ3N0X3JnX2FuYWx5c2lzX2luaXQpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdsaW1pdGVyLmMgKGdzdF9yZ19saW1pdGVyX2luaXQpLAoJICAoZ3N0X3JnX2xpbWl0ZXJfdHJhbnNmb3JtX2lwKToKCSAgTWFrZSByZ2FuYWx5c2lzIGFuZCByZ2xpbWl0ZXIgZWxlbWVudHMgR0FQLWZsYWcgYXdhcmUuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOiAodGVzdF9nYXBfYnVmZmVycyksCgkgIChyZ2FuYWx5c2lzX3N1aXRlKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2xpbWl0ZXIuYyAodGVzdF9nYXApLCAocmdsaW1pdGVyX3N1aXRlKToKCSAgQWRkIHRlc3RzIHRvIHZlcmlmeSBnYXAtYXdhcmVuZXNzLgoKMjAwOC0wMy0yMyAxMzozMToxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9nb29tL01ha2VmaWxlLmFtOiBSZW1vdmUgcHBjIGFzc2VtYmxlciBvcHRpbWlzYXRpb25zIGZyb20gdGhlIGJ1aWxkIHVudGlsIHRoZXkgYWN0dWFsbHkgYnVpbGQgKHRoZXkgYWxzbyBzZWVtIHRvIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIHBwYyBhc3NlbWJsZXIgb3B0aW1pc2F0aW9ucyBmcm9tIHRoZSBidWlsZCB1bnRpbCB0aGV5CgkgIGFjdHVhbGx5IGJ1aWxkICh0aGV5IGFsc28gc2VlbSB0byBoYXZlIEdQTCBoZWFkZXJzKS4KCjIwMDgtMDMtMjMgMTI6NDg6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBtNC9NYWtlZmlsZS5hbTogQmV0dGVyIG5vdCBkaXN0IGZpbGVzIHRoYXQgZG9uJ3QgZXhpc3QgYW55IGxvbmdlciAobHJpbnQqbTQpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBtNC9NYWtlZmlsZS5hbToKCSAgQmV0dGVyIG5vdCBkaXN0IGZpbGVzIHRoYXQgZG9uJ3QgZXhpc3QgYW55IGxvbmdlciAobHJpbnQqbTQpLgoKMjAwOC0wMy0yMiAxOToyNjowNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogRG9uJ3QgYXV0b3BsdWcgc291cGh0dHBzcmMgZm9yIGRhdi9kYXZzLiBUaGlzIGlzIGJldHRlciBoYW5kbGVkIGJ5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cF9odHRwX3NyY19nb3RfaGVhZGVyc19jYiksCgkgIChnc3Rfc291cF9odHRwX3NyY19jaHVua19hbGxvY2F0b3IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZ290X2NodW5rX2NiKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9nZXRfcHJvdG9jb2xzKToKCSAgRG9uJ3QgYXV0b3BsdWcgc291cGh0dHBzcmMgZm9yIGRhdi9kYXZzLiBUaGlzIGlzIGJldHRlciBoYW5kbGVkIGJ5CgkgIEdJTyBhbmQgR25vbWVWRlMgYXMgdGhleSBwcm92aWRlIGF1dGhlbnRpY2F0aW9uLgoJICBEb24ndCBsZWFrIHRoZSBpY3kgY2FwcyBpZiB3ZSBhbHJlYWR5IHNldCB0aGVtIGFuZCBnZXQgYSBuZXcKCSAgaWN5LW1ldGFpbnQgaGVhZGVyLgoJICBUcnkgaGFyZGVyIHRvIHNldCB0aGUgaWN5IGNhcHMgb24gdGhlIG91dHB1dCBidWZmZXIgdG8gaGF2ZSBjb3JyZWN0CgkgIGNhcHMgZm9yIHRoZSBmaXJzdCBidWZmZXIgYWxyZWFkeS4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOiAoZ290X2J1ZmZlciksCgkgIChHU1RfU1RBUlRfVEVTVCk6CgkgIENoZWNrIHRoYXQgd2UgZ2V0IGEgYnVmZmVyIHdpdGggYXBwbGljYXRpb24veC1pY3kgY2FwcyBpZiBpcmFkaW8tbW9kZQoJICBpcyBlbmFibGVkIGFuZCB3ZSBoYXZlIGFuIGljZWNhc3QgVVJMLgoKMjAwOC0wMy0yMiAxODoxODo0NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogQWN0dWFsbHkgc2V0IHRoZSBpY3kgY2FwcyBvbiBvdXIgc3JjIHBhZCBpZiB3ZSBoYXZlIGljZWNhc3QgZGF0YS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwX2h0dHBfc3JjX2NodW5rX2FsbG9jYXRvcik6CgkgIEFjdHVhbGx5IHNldCB0aGUgaWN5IGNhcHMgb24gb3VyIHNyYyBwYWQgaWYgd2UgaGF2ZSBpY2VjYXN0IGRhdGEuCgkgIEZpeGVzIGJ1ZyAjNTIzODU0LgoKMjAwOC0wMy0yMSAxMzozNjoyNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgUmVtb3ZlIGxyaW50L2xyaW50ZiBjaGVja3MuIFdlIGRvbid0IHVzZSBpdCBhbnl3aGVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIG00L2xyaW50Lm00OgoJICAqIG00L2xyaW50Zi5tNDoKCSAgUmVtb3ZlIGxyaW50L2xyaW50ZiBjaGVja3MuIFdlIGRvbid0IHVzZSBpdCBhbnl3aGVyZS4KCjIwMDgtMDMtMTkgMTk6NTY6NTkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9mcmVlemUvOiBBZGQgZXhhbXBsZSB0byBzb3VyY2UgY29kZSBkb2N1bWVudGF0aW9uIGJsb2IgYW5kIHJlbW92ZSB0aGUgMyBsaW5lCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mcmVlemUvRkFROgoJICAqIGdzdC9mcmVlemUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSAgQWRkIGV4YW1wbGUgdG8gc291cmNlIGNvZGUgZG9jdW1lbnRhdGlvbiBibG9iIGFuZCByZW1vdmUgdGhlIDMgbGluZQoJICBGQVEuCgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICBBZGQgYSBzb3VyY2UgY29kZSBkb2N1bWVudGF0aW9uIGJsb2IuCgoyMDA4LTAzLTE4IDE1OjAzOjA2ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm0gKGdzdF9vc3hfdmlkZW9fc2lua19vc3h3aW5kb3dfZGVzdHJveSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMDMtMTggIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tCgkgIChnc3Rfb3N4X3ZpZGVvX3Npbmtfb3N4d2luZG93X2Rlc3Ryb3kpCgkgIChnc3Rfb3N4X3ZpZGVvX3Npbmtfb3N4d2luZG93X25ldyk6IEFjdHVhbGx5IHNldCBhIGxvY2sgb24gdGhlCgkgIHRhc2ssIHdob29wZGVlLgoJICAoY29jb2FfZXZlbnRfbG9vcCk6IFBhY2lmeSB0aGUgdGF5bWFucyBieSB1cHBpbmcgdGhlIHVzbGVlcGFnZSB0bwoJICAyIG1zLgoKMjAwOC0wMy0xOCAxMTo1MDowOCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tIChnc3Rfb3N4X3ZpZGVvX3Npbmtfb3N4d2luZG93X2Rlc3Ryb3kpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTAzLTE4ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubSAoZ3N0X29zeF92aWRlb19zaW5rX29zeHdpbmRvd19kZXN0cm95KQoJICAoZ3N0X29zeF92aWRlb19zaW5rX29zeHdpbmRvd19uZXcsIGNvY29hX2V2ZW50X2xvb3ApOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaCAoc3RydWN0IF9Hc3RPU1hWaWRlb1NpbmspOiBJZiB3ZQoJICBuZWVkIHRvIHJ1biBhbiBldmVudCBsb29wLCBkbyBzbyBpbiBhIHRhc2sgaW5zdGVhZCBvZiBhc3N1bWluZwoJICB0aGF0IHRoZXJlIHdpbGwgYmUgYSBHTWFpbkxvb3AuIEZpeGVzICM1MjMxMzQuCgoyMDA4LTAzLTE3IDE5OjUwOjU4ICswMDAwICBXaWxsaWFtIE0uIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogTWFrZSBzdXJlIHRoZSBwcm9iZWQgZnJhbWUgc2l6ZXMgYXJlIHJldmVyc2VkIGluIHRoZSByZXN1bHRpbmcgY2FwcyBhbHNvIHdoZW4gdXNpbmcgVjRMMl9GUi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdpbGxpYW0gTS4gQnJhY2sgPHdicmFjayBhdCBtbW0gY29tIGhrPgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdF9hbmRfc2l6ZSksCgkgIChnc3RfdjRsMnNyY19wcm9iZV9jYXBzX2Zvcl9mb3JtYXQpOgoJICBNYWtlIHN1cmUgdGhlIHByb2JlZCBmcmFtZSBzaXplcyBhcmUgcmV2ZXJzZWQgaW4gdGhlIHJlc3VsdGluZwoJICBjYXBzIGFsc28gd2hlbiB1c2luZyBWNEwyX0ZSTVNJWkVfU1RFUFdJU0UgKHNvIHRoZXkgZW5kIHVwCgkgIGhpZ2hlc3QgcmVzb2x1dGlvbiBmaXJzdCk7IGFsc28gcmVtb3ZlIHVudXNlZCB2YXJpYWJsZS4KCSAgKFBhcnRseSBmaXhlcyAjNTIwMDkyKQoKMjAwOC0wMy0xNyAxNTo1NjowMSArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogQ2FsbCBXU0FTdGFydHVwKCkgYW5kIFdTQUNsZWFudXAgYmVmb3JlIHVzaW5nIHRoZSBXaW5zb2NrIEFQSS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19pbml0KSwKCSAgKGdzdF9ydHNwc3JjX2ZpbmFsaXplKToKCSAgQ2FsbCBXU0FTdGFydHVwKCkgYW5kIFdTQUNsZWFudXAgYmVmb3JlIHVzaW5nIHRoZSBXaW5zb2NrIEFQSS4KCSAgU2VlICM1MjA4MDguCgoyMDA4LTAzLTE2IDE1OjAxOjA3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IEVybSwgdGhlIGJ1ZmZlci1zaXplIGlzIGp1c3QgZ3VpbnQsIG5vIG5lZWQgZm9yIHRoZSBzcGVjaWFsIGZvcm1hdCBzcGVjaWZpZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgRXJtLCB0aGUgYnVmZmVyLXNpemUgaXMganVzdCBndWludCwgbm8gbmVlZCBmb3IgdGhlIHNwZWNpYWwgZm9ybWF0CgkgIHNwZWNpZmllci4KCjIwMDgtMDMtMTYgMTQ6MzQ6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZ29vbS86IFNtYWxsIGZpeGVzIHRvIGJ1aWxkIG1vcmUgb24gUFBDOiBpZmRlZiBvdXQgY29kZSB0aGF0IHVzZXMgdW5rbm93biBkZWZpbmU7IGFkZCBuZXdsaW5lIGF0IGVuZCBvZiBoZWFkZXIgZmkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vcGx1Z2luX2luZm8uYzoKCSAgKiBnc3QvZ29vbS9wcGNfem9vbV91bHRpbWF0ZS5oOgoJICBTbWFsbCBmaXhlcyB0byBidWlsZCBtb3JlIG9uIFBQQzogaWZkZWYgb3V0IGNvZGUgdGhhdCB1c2VzIHVua25vd24KCSAgZGVmaW5lOyBhZGQgbmV3bGluZSBhdCBlbmQgb2YgaGVhZGVyIGZpbGUgdG8gYXZvaWQgY29tcGlsZXIgd2FybmluZy4KCSAgQXNzZW1ibGVyIGNvZGUgc3RpbGwgZG9lc24ndCBidWlsZCB0aG91Z2guCgoyMDA4LTAzLTE2IDE0OjA0OjE2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IEZpeCB1cCBteSBsYXN0IGNvbW1pdC4gVXNlIEdfR1VJTlQzMl9GT1JNQVQgZm9yIHRoZSBndWludDMyIGRlYnVnIGxvZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBGaXggdXAgbXkgbGFzdCBjb21taXQuIFVzZSBHX0dVSU5UMzJfRk9STUFUIGZvciB0aGUgZ3VpbnQzMiBkZWJ1ZyBsb2cuCgkgIEFsc28gZG93bmdyYWRlIGEgR1NUX1dBUk5JTkcgdG8gR1NUX0RFQlVHIGFuZCBhZGQgYSBjb21tZW50LgoKMjAwOC0wMy0xNSAyMjoxMDozOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBDaHVua3NpemUgaXMgdWludDMyLiBGaXggZm9ybWF0IHNwZWNpZmllci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBDaHVua3NpemUgaXMgdWludDMyLiBGaXggZm9ybWF0IHNwZWNpZmllci4KCjIwMDgtMDMtMTQgMTU6NTM6MDEgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3J0c3AvQ09QWUlORy5NSVQ6CgkgIGZpeCBsaWNlbnNlIGZpbGUsIHJlbW92ZSBleHRyYSBsaW5lIGNvcGllZCBvdmVyIGJ5IG1pc3Rha2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBsaWNlbnNlIGZpbGUsIHJlbW92ZSBleHRyYSBsaW5lIGNvcGllZCBvdmVyIGJ5IG1pc3Rha2UKCjIwMDgtMDMtMTMgMTQ6MzA6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdWRpb2Z4L2F1ZGlvZnguYzogVXNlIEdTVF9MSUNFTlNFLCBHU1RfUEFDS0FHRV9OQU1FIGFuZCBHU1RfUEFDS0FHRV9PUklHSU4gaW5zdGVhZCBvZiBoYXJkY29kaW5nIHZhbHVlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9meC5jOgoJICBVc2UgR1NUX0xJQ0VOU0UsIEdTVF9QQUNLQUdFX05BTUUgYW5kIEdTVF9QQUNLQUdFX09SSUdJTiBpbnN0ZWFkCgkgIG9mIGhhcmRjb2RpbmcgdmFsdWVzLgoKMjAwOC0wMy0xMyAwOTo0NTowOSArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLio6IFRyeSB0byByZXN1bWUgb24gc2VydmVyIGRpc2Nvbm5lY3QuIEZpeGVzIGJ1ZyAjNTIyMTM0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cF9odHRwX3NyY19pbml0KSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2ZpbmlzaGVkX2NiKSwgKGdzdF9zb3VwX2h0dHBfc3JjX3Jlc3BvbnNlX2NiKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2J1aWxkX21lc3NhZ2UpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfY3JlYXRlKToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBUcnkgdG8gcmVzdW1lIG9uIHNlcnZlciBkaXNjb25uZWN0LiBGaXhlcyBidWcgIzUyMjEzNC4KCjIwMDgtMDMtMTEgMjM6MTI6MDQgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBzeXMvb3NzL2dzdG9zc3NyYy4qOiBDYWNoZSBwcm9iZWQgY2Fwcywgc28gX2dldF9jYXBzKCkgZHVyaW5nIHJlY29yZGluZyBkb2Vzbid0IGNhdXNlIGlvY3RsIGNhbGxzIHdoaWNoIG1heSBkaXNydXB0IHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXcgc2t5bmV0IGJlPgoJICAqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6IChnc3Rfb3NzX3NyY19pbml0KSwgKGdzdF9vc3Nfc3JjX2dldGNhcHMpLAoJICAoZ3N0X29zc19zcmNfY2xvc2UpOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc3JjLmg6CgkgIENhY2hlIHByb2JlZCBjYXBzLCBzbyBfZ2V0X2NhcHMoKSBkdXJpbmcgcmVjb3JkaW5nIGRvZXNuJ3QgY2F1c2UKCSAgaW9jdGwgY2FsbHMgd2hpY2ggbWF5IGRpc3J1cHQgdGhlIHJlY29yZGluZyAoZml4ZXMgIzUyMTg3NSkuCgoyMDA4LTAzLTExIDE2OjIzOjA0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBNYWtlIHN1cmUgd2UgYWx3YXlzIHNlbmQgYSBESVNDT05UIGFmdGVyIGEgc2VlayBieSBzZXR0aW5nIHRoZSBzYW1wbGUgaW5kZXggdG8gYW4gdW5kZWZpbmVkIHZhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X3BlcmZvcm1fc2VlayksCgkgIChnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50KSwKCSAgKGdzdF9xdGRlbXV4X3ByZXBhcmVfY3VycmVudF9zYW1wbGUpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBNYWtlIHN1cmUgd2UgYWx3YXlzIHNlbmQgYSBESVNDT05UIGFmdGVyIGEgc2VlayBieSBzZXR0aW5nIHRoZSBzYW1wbGUKCSAgaW5kZXggdG8gYW4gdW5kZWZpbmVkIHZhbHVlIGFmdGVyIGEgc2Vlay4KCjIwMDgtMDMtMTEgMTU6MTg6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmg6IEZpeCB1cCBJU19GT08gbWFjcm9zLCB3aGljaCBtYWtlcyBndGstZG9jIG11Y2ggaGFwcGllci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5oOiAoR1NUX0lTX0FWSV9TVUJUSVRMRSksCgkgIChHU1RfSVNfQVZJX1NVQlRJVExFX0NMQVNTKToKCSAgRml4IHVwIElTX0ZPTyBtYWNyb3MsIHdoaWNoIG1ha2VzIGd0ay1kb2MgbXVjaCBoYXBwaWVyLgoKMjAwOC0wMy0wOCAxOToyOToyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOiBNb3ZlIHRoZSAtbGdzdGZvbyB3aGVyZSBpdCBiZWxvbmdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgTW92ZSB0aGUgLWxnc3Rmb28gd2hlcmUgaXQgYmVsb25ncy4KCjIwMDgtMDMtMDggMTk6MTQ6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkgIENoYW5nZUxvZyBzdXJnZXJ5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDaGFuZ2VMb2cgc3VyZ2VyeQoKMjAwOC0wMy0wOCAwNDo0MDozMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL2VibWwtaWRzLmg6IEFkZCBJRCBmb3IgRUJNTCBDUkMzMiBlbGVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL2VibWwtaWRzLmg6CgkgIEFkZCBJRCBmb3IgRUJNTCBDUkMzMiBlbGVtZW50cy4KCSAgKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiAoZ3N0X2VibWxfZmluYWxpemUpLAoJICAoZ3N0X2VibWxfcmVhZF9jbGFzc19pbml0KSwgKGdzdF9lYm1sX3JlYWRfcGVla19ieXRlcyksCgkgIChnc3RfZWJtbF9yZWFkX2dldF9sZW5ndGgpLCAoX2V4dDJkYmwpLCAoZ3N0X2VibWxfcmVhZF9mbG9hdCksCgkgIChnc3RfZWJtbF9yZWFkX2hlYWRlcik6CgkgIFN1cHBvcnQgcmVhZGluZyA4MGJpdCBmbG9hdHMsIGFkZCBmaW5hbGl6ZSBtZXRob2QgdG8gY2xlYW4gdXAKCSAgaW4gYW55IGNhc2UsIHN1cHBvcnQgcmVhZGluZyBsZW5ndGgvaWQgZWxlbWVudHMgd2l0aCBhbnkgbGVuZ3RoCgkgIGFzIGxvbmcgYXMgaXQncyBzbWFsbGVyIHRoYW4gb3VyIHN1cHBvcnRlZCBtYXhpbXVtLCBkb24ndCBsZWFrCgkgIGJ1ZmZlcnMgaWYgcmVhZGluZyBhcyBtdWNoIGRhdGEgYXMgd2Ugd2FudGVkIGZhaWxlZCBhbmQgc29tZQoJICBzbWFsbGVyIGNsZWFudXAuCgoyMDA4LTAzLTA4IDA0OjIxOjM0ICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6IENoZWNrIHRoYXQgYSBidWZmZXIgaXMgbGFyZ2UgZW5vdWdoIGJlZm9yZSByZWFkaW5nIGZyb20gaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6IChnc3RfcnRwX2gyNjNwX2RlcGF5X3Byb2Nlc3MpOgoJICBDaGVjayB0aGF0IGEgYnVmZmVyIGlzIGxhcmdlIGVub3VnaCBiZWZvcmUgcmVhZGluZyBmcm9tIGl0LgoJICBGaXhlcyBidWcgIzUyMTEwMi4KCjIwMDgtMDMtMDcgMTU6NTQ6MDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy5jOiBGaXggY29tcGlsYXRpb24gYWZ0ZXIgcmVtb3ZpbmcgdGhlIEdzdFBvbGxNb2RlIGZyb20gdGhlIGNvbnN0cnVjdG9yLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19zdGFydCk6CgkgIEZpeCBjb21waWxhdGlvbiBhZnRlciByZW1vdmluZyB0aGUgR3N0UG9sbE1vZGUgZnJvbSB0aGUKCSAgY29uc3RydWN0b3IuCgoyMDA4LTAzLTA3IDEzOjA4OjQyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBDaGVjayBmb3Igc2luaCgpLCBjb3NoKCkgYW5kIGFzaW5oKCkgYW5kIGRlZmluZSBvdXIgb3duIGltcGxlbWVudGF0aW9ucyBpZiB0aGV5J3JlIG5vdCBhdmFpbGFibGUuIEZpeGVzIGJ1ZyAjNTIwODgwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6CgkgICogZ3N0L2F1ZGlvZngvbWF0aF9jb21wYXQuaDoKCSAgQ2hlY2sgZm9yIHNpbmgoKSwgY29zaCgpIGFuZCBhc2luaCgpIGFuZCBkZWZpbmUgb3VyIG93bgoJICBpbXBsZW1lbnRhdGlvbnMgaWYgdGhleSdyZSBub3QgYXZhaWxhYmxlLiBGaXhlcyBidWcgIzUyMDg4MC4KCjIwMDgtMDMtMDcgMTI6NDA6MTggKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogVW5yZWYgdGhlIGJ1ZmZlcnMgb25seSBvbmNlIHdoZW4gaGFuZGxpbmcgbm90LW5lZ290aWF0ZWQgZXJyb3JzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiAoZ3N0X3NwZWV4X2VuY19jaGFpbik6CgkgIFVucmVmIHRoZSBidWZmZXJzIG9ubHkgb25jZSB3aGVuIGhhbmRsaW5nIG5vdC1uZWdvdGlhdGVkIGVycm9ycy4KCSAgRml4ZXMgYnVnICM1MjA3NjQuCgoyMDA4LTAzLTA3IDEwOjAxOjQwICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuYzogUHJvcGVybHkgYmFsYW5jZSBXU0FfQ2xlYW51cCB3aXRoIFdTQV9TdGFydHVwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyAgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2ZpbmFsaXplKSwgKGdzdF91ZHBzcmNfc3RhcnQpLAoJICAoZ3N0X3VkcHNyY19zdG9wKToKCSAgUHJvcGVybHkgYmFsYW5jZSBXU0FfQ2xlYW51cCB3aXRoIFdTQV9TdGFydHVwLgoJICBBbHNvIG1ha2UgdGhlIHBvbGwgY29udHJvbGxhYmxlIG9uIHdpbmRvd3MuIEZpeGVzICM1MjA4ODguCgoyMDA4LTAzLTA2IDE5OjQ3OjQ4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L21hdHJvc2thLzogSGFuZGxlIHJldHVybiB2YWx1ZXMgZnJvbSBwdWxsX3JhbmdlIGluIGEgbW9yZSBncmFudWxhciB3YXkgdG8gcHJvcGVybHkgc2h1dCBkb3duIG9uIHNlZWtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IChnc3RfZWJtbF9yZWFkX3BlZWtfYnl0ZXMpLAoJICAoZ3N0X2VibWxfcmVhZF9wdWxsX2J5dGVzKSwgKGdzdF9lYm1sX3JlYWRfZWxlbWVudF9pZCksCgkgIChnc3RfZWJtbF9yZWFkX2VsZW1lbnRfbGVuZ3RoKSwgKGdzdF9lYm1sX3BlZWtfaWQpLAoJICAoZ3N0X2VibWxfcmVhZF9za2lwKSwgKGdzdF9lYm1sX3JlYWRfYnVmZmVyKSwKCSAgKGdzdF9lYm1sX3JlYWRfYnl0ZXMpLCAoZ3N0X2VibWxfcmVhZF91aW50KSwgKGdzdF9lYm1sX3JlYWRfc2ludCksCgkgIChnc3RfZWJtbF9yZWFkX2Zsb2F0KSwgKGdzdF9lYm1sX3JlYWRfYXNjaWkpLCAoZ3N0X2VibWxfcmVhZF91dGY4KSwKCSAgKGdzdF9lYm1sX3JlYWRfZGF0ZSksIChnc3RfZWJtbF9yZWFkX21hc3RlciksCgkgIChnc3RfZWJtbF9yZWFkX2JpbmFyeSksIChnc3RfZWJtbF9yZWFkX2hlYWRlcik6CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2NvbWJpbmVfZmxvd3MpLCAoZ3N0X21hdHJvc2thX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9yZWFkX3RyYWNrX2VuY29kaW5ncyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3N0cmVhbSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NlZWtfZXZlbnQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2luaXRfc3RyZWFtKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV90cmFja3MpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZGV4X2N1ZXRyYWNrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmRleF9wb2ludGVudHJ5KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmRleCksIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5mbyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfbWV0YWRhdGFfaWRfc2ltcGxlX3RhZyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfbWV0YWRhdGFfaWRfdGFnKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9tZXRhZGF0YSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfc3luY19zdHJlYW1zKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wdXNoX2hkcl9idWYpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3B1c2hfZmxhY19jb2RlY19wcml2X2RhdGEpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3B1c2hfeGlwaF9jb2RlY19wcml2X2RhdGEpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF93dnBrX2hlYWRlciksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfY2hlY2tfc3VidGl0bGVfYnVmZmVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jbHVzdGVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jb250ZW50c19zZWVrZW50cnkpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NvbnRlbnRzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wX3N0cmVhbV9wYXJzZV9pZCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfbG9vcF9zdHJlYW0pLCAoZ3N0X21hdHJvc2thX2RlbXV4X2xvb3ApOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgSGFuZGxlIHJldHVybiB2YWx1ZXMgZnJvbSBwdWxsX3JhbmdlIGluIGEgbW9yZSBncmFudWxhciB3YXkgdG8gcHJvcGVybHkKCSAgc2h1dCBkb3duIG9uIHNlZWtzLgoJICBDb21iaW5lIHJldHVybiB2YWx1ZXMgZnJvbSBwdXNoLgoJICBJbXBsZW1lbnQgcHJvcGVyIGVycm9yIGhhbmRsaW5nLgoJICBQcmVwYXJlIGZvciBoYW5kbGluZyBzZWVraW5nIGNvcnJlY3RseS4KCjIwMDgtMDMtMDMgMjI6MDE6NTYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiBVc2UgR0lOVDY0IGZvcm1hdHRpbmcgY29uc3RhbnRzIGZyb20gR0xJQi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJICBVc2UgR0lOVDY0IGZvcm1hdHRpbmcgY29uc3RhbnRzIGZyb20gR0xJQi4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgQWRkIHNvbWUgZ3VhcmRzIHRvIGF2b2lkIGEgcG9zc2libGUgZGl2aXNpb24gYnkgMCBhbmQgY3Jhc2hpbmcKCSAgd2l0aCBOVUxMIGV2ZW50cyBvbiBzb21lIHN5c3RlbXMuCgkgIFVzZSBnc3RfZ2RvdWJsZV90b19ndWludDY0IHNvbWV3aGVyZSBpbnN0ZWFkIG9mIGFuIGltcGxpY2l0CgkgIGNvbnZlcnNpb24uCgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBDaGVjayBmb3IgaW52YWxpZCB0aW1lc3RhbXBzIGluIGEgYnVuY2ggb2YgcGxhY2VzIHRvIGF2b2lkCgkgIHdyaXRpbmcgYm9ndXMgZHVyYXRpb25zIGludG8gdGhlIG91dHB1dCBmaWxlLgoJICBGaXggc29tZSBkb3VibGU8LT5naW50NjQgY29udmVyc2lvbnMgdGhhdCB3ZXJlbid0IHVzaW5nCgkgIGdzdF9ndWludDY0X3RvX2dkb3VibGUKCjIwMDgtMDMtMDMgMTM6MDM6NDMgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgY29uZmlndXJlLmFjOiBNb3ZlIHRoZSBjaGVja3MgZm9yIGJpc29uLCBmbGV4IGFuZCBhcyB0byB0aGUgcHJvZ3JhbSBzZWN0aW9uIGFuZCB0aGUgY2hlY2sgZm9yIGdjYyBpbmxpbmUgYXNtIHRvIHRoZSBjLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgTW92ZSB0aGUgY2hlY2tzIGZvciBiaXNvbiwgZmxleCBhbmQgYXMgdG8gdGhlIHByb2dyYW0gc2VjdGlvbiBhbmQgdGhlCgkgIGNoZWNrIGZvciBnY2MgaW5saW5lIGFzbSB0byB0aGUgY29tcGlsZXIgY2hhcmFjdGVyaXN0aWNzIHNlY3Rpb24uCgoyMDA4LTAzLTAzIDEyOjEwOjU1ICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogVXNlIEFHX0dTVF9DSEVDS19QTFVHSU4gYW5kIEFHX0dTVF9ESVNBQkxFX1BMVUdJTiB0byBzaW1wbGlmeSB3aGljaCBwbHVnLWlucyBhcmUgaW5jbHVkZWQvZXhjbHVkZWQuICgjNC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFVzZSBBR19HU1RfQ0hFQ0tfUExVR0lOIGFuZCBBR19HU1RfRElTQUJMRV9QTFVHSU4gdG8gc2ltcGxpZnkgd2hpY2gKCSAgcGx1Zy1pbnMgYXJlIGluY2x1ZGVkL2V4Y2x1ZGVkLiAoIzQ5ODIyMikKCjIwMDgtMDItMjkgMTI6MzU6MjQgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogRG9uJ3QgY2FsbCBnc3Rfb2JqZWN0X3N5bmNfdmFsdWVzKCkgdW5sZXNzIHdlIGhhdmUgYSB2YWxpZCB0aW1lc3RhbXAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogKGdzdF92aWRlb21peGVyX2JsZW5kX2J1ZmZlcnMpOgoJICBEb24ndCBjYWxsIGdzdF9vYmplY3Rfc3luY192YWx1ZXMoKSB1bmxlc3Mgd2UgaGF2ZSBhIHZhbGlkIHRpbWVzdGFtcC4KCjIwMDgtMDItMjkgMDY6MTg6NTUgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L21hdHJvc2thLzogRml4IERpcmFjIG1hcHBpbmcuICBJIGhhZCBwcmV2aW91c2x5IGFkZGVkIGEgVmZXLXR5cGUgbWFwcGluZywgYnV0IGl0IGxvb2tzIGxpa2UgRGlyYWMgd2lsbCBnZXQgYSBuYXRpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIEZpeCBEaXJhYyBtYXBwaW5nLiAgSSBoYWQgcHJldmlvdXNseSBhZGRlZCBhIFZmVy10eXBlCgkgIG1hcHBpbmcsIGJ1dCBpdCBsb29rcyBsaWtlIERpcmFjIHdpbGwgZ2V0IGEgbmF0aXZlIE1hdHJvc2thCgkgIG1hcHBpbmcsIGFuZCB0aGlzIGlzIHRoZSBtb3N0IGxpa2VseSBtZXRob2QuCgoyMDA4LTAyLTI4IDIzOjU2OjMwICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IEFkZCBEaXJhYyBlbmNvZGluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiBBZGQgRGlyYWMgZW5jb2RpbmcKCjIwMDgtMDItMjggMTE6NTE6MjQgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuKjogUG9ydCB0byBHc3RQb2xsLiBTZWUgIzUwNTQxNy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBQZXRlciBLamVsbGVyc3RlZHQgPHBraiBhdCBheGlzIGNvbT4KCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19pbml0KSwgKGdzdF91ZHBzcmNfY3JlYXRlKSwKCSAgKGdzdF91ZHBzcmNfZ2V0X3Byb3BlcnR5KSwgKGdzdF91ZHBzcmNfc3RhcnQpLCAoZ3N0X3VkcHNyY191bmxvY2spLAoJICAoZ3N0X3VkcHNyY191bmxvY2tfc3RvcCksIChnc3RfdWRwc3JjX3N0b3ApOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkgIFBvcnQgdG8gR3N0UG9sbC4gU2VlICM1MDU0MTcuCgoyMDA4LTAyLTI4IDA4OjM3OjQ0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbGF3L211bGF3LWRlY29kZS5jOiBSZXR1cm4gR1NUX0ZMT1dfTk9UX05FR09USUFURUQgd2hlbiB0aGUgY2FwcyBhcmUgbm90IHNldCB5ZXQgb24gdGhlIHNyY3BhZC4gV2UgbmVlZCByYXRlIGFuZCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzogKGdzdF9tdWxhd2RlY19jaGFpbik6CgkgIFJldHVybiBHU1RfRkxPV19OT1RfTkVHT1RJQVRFRCB3aGVuIHRoZSBjYXBzIGFyZSBub3Qgc2V0CgkgIHlldCBvbiB0aGUgc3JjcGFkLiBXZSBuZWVkIHJhdGUgYW5kIGNoYW5uZWxzIGJlZm9yZSB3ZQoJICBjYW4gZG8gYW55IHByb2Nlc3NpbmcuIEZpeGVzIGJ1ZyAjNTE5MDg4LgoKMjAwOC0wMi0yNiAxMDowOTozOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IERldGVjdCBhbmQgaW5kaWNhdGUgaWYgR0NDIGlubGluZSBhc3NlbWJseSBzeW50YXggaXMgYXZhaWxhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIERldGVjdCBhbmQgaW5kaWNhdGUgaWYgR0NDIGlubGluZSBhc3NlbWJseSBzeW50YXggaXMKCSAgYXZhaWxhYmxlLgoJICAqIGdzdC9nb29tL01ha2VmaWxlLmFtOgoJICAqIGdzdC9nb29tL2NvbnZvbHZlX2Z4LmM6CgkgICogZ3N0L2dvb20vZmx5aW5nX3N0YXJzX2Z4LmM6CgkgICogZ3N0L2dvb20vZ29vbV9jb25maWcuaDoKCSAgKiBnc3QvZ29vbS9nb29tX2NvcmUuYzoKCSAgKiBnc3QvZ29vbS9nb29tc2wuYzoKCSAgKiBnc3QvZ29vbS9pZnMuYzoKCSAgKiBnc3QvZ29vbS9tbXguYzoKCSAgKiBnc3QvZ29vbS9wbHVnaW5faW5mby5jOgoJICAqIGdzdC9nb29tL3htbXguYzoKCSAgRml4IHZhcmlvdXMgR0NDLWlzbXMsIGFuZCBvbmx5IGJ1aWxkIHRoZSBpbmxpbmUgYXNzZW1ibHkKCSAgd2l0aCBjb21waWxlcnMgdGhhdCBzdXBwb3J0IEdDQyBpbmxpbmUgYXNzZW1ibHkuCgkgIEZpeCBhIGNvdXBsZSBvZiBvdGhlciB3YXJuaW5ncyBzaG93biB3aXRoIEZvcnRlLgoKMjAwOC0wMi0yNiAwNTozNjoxNyArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIEFkZCBzdXBwb3J0IGZvciBzcGVjaWZ5aW5nIGEgbGlzdCBvZiBjb29raWVzIHRvIGJlIHBhc3NlZCBpbiB0aGUgSFRUUCByZXF1ZXN0LiBGaXhlcyBidWcgIzUxODcyMi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBfaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc291cF9odHRwX3NyY19pbml0KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfc291cF9odHRwX3NyY19jcmVhdGUpOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzogKHJ1bl90ZXN0KSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKHNvdXBodHRwc3JjX3N1aXRlKToKCSAgQWRkIHN1cHBvcnQgZm9yIHNwZWNpZnlpbmcgYSBsaXN0IG9mIGNvb2tpZXMgdG8gYmUgcGFzc2VkIGluCgkgIHRoZSBIVFRQIHJlcXVlc3QuIEZpeGVzIGJ1ZyAjNTE4NzIyLgoKMjAwOC0wMi0yNSAxMjowMzo0NiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2dvb20veG1teC5jOiBVc2UgJ2VtbXMnIGluc3RlYWQgb2YgJ2ZlbW1zJyB0byBub3QgY3Jhc2ggb24gY3B1cyB0aGF0IGRvIG5vdCBpbXBsZW1lbnQgdGhpcyAzZG5vdyBzcGVjaWZpYyBpbnN0cnVjLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL3htbXguYzoKCSAgVXNlICdlbW1zJyBpbnN0ZWFkIG9mICdmZW1tcycgdG8gbm90IGNyYXNoIG9uIGNwdXMgdGhhdCBkbyBub3QKCSAgaW1wbGVtZW50IHRoaXMgM2Rub3cgc3BlY2lmaWMgaW5zdHJ1Y3Rpb24uCgoyMDA4LTAyLTI1IDEwOjMyOjM1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZ29vbS9wbHVnaW5faW5mby5jOiBVc2UgZXh0ZW5kZWQgTU1YIGZvciBkcmF3X2xpbmUoKSB0b28gaWYgYXZhaWxhYmxlLCBub3Qgb25seSBub3JtYWwgTU1YLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS9wbHVnaW5faW5mby5jOiAoc2V0T3B0aW1pemVkTWV0aG9kcyk6CgkgIFVzZSBleHRlbmRlZCBNTVggZm9yIGRyYXdfbGluZSgpIHRvbyBpZiBhdmFpbGFibGUsIG5vdCBvbmx5CgkgIG5vcm1hbCBNTVguCgoyMDA4LTAyLTI1IDA2OjUwOjMxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvanBlZy9nc3RqcGVnLmM6IFJlbW92ZSAoY29tbWVudGVkIG91dCkgc21va2UgdHlwZWZpbmRlci4gVGhpcyBpcyBpbiBiYXNlIG5vdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0anBlZy5jOiAocGx1Z2luX2luaXQpOgoJICBSZW1vdmUgKGNvbW1lbnRlZCBvdXQpIHNtb2tlIHR5cGVmaW5kZXIuIFRoaXMgaXMgaW4gYmFzZSBub3cuCgoyMDA4LTAyLTIzIDE1OjAyOjE1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9nb29tMmsxLzogUmVuYW1lIHRoZSBpbnN0YWxsZWQgbGlicmFyeSwgYW5kIGRvbid0IHJlZ2lzdGVyIHRoZSBzYW1lCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tMmsxL01ha2VmaWxlLmFtOgoJICAqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSAgUmVuYW1lIHRoZSBpbnN0YWxsZWQgbGlicmFyeSwgYW5kIGRvbid0IHJlZ2lzdGVyIHRoZSBzYW1lCgkgIEdUeXBlIG5hbWUgYXMgdGhlIG5ldyBnb29tLgoKMjAwOC0wMi0yMyAxMjoyMzozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIENoZWNrIGZvciBhbmQgZGVmaW5lIEVSUk9SX0NYWEZMQUdTIGFuZCB1c2UgdGhlbSB3aGVuIGJ1aWxkaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvdGFnbGliL01ha2VmaWxlLmFtOgoJICBDaGVjayBmb3IgYW5kIGRlZmluZSBFUlJPUl9DWFhGTEFHUyBhbmQgdXNlIHRoZW0gd2hlbiBidWlsZGluZwoJICBDKysgY29kZSAoIzUxNjUwOSkuCgoyMDA4LTAyLTIzIDEyOjEwOjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2dvb20vOiBDYWxsIG9pbF9pbml0KCksIG90aGVyd2lzZSBvaWxfZ2V0X2NwdV9mbGFncygpIHdvbid0IHJldHVybiBhbnl0aGluZyB1c2VmdWwuIEV4cG9ydCBnb29tIGRlYnVnIGNhdGVnb3J5IHNvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzogKGdvb21fZGVidWcpLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9nb29tL3BsdWdpbl9pbmZvLmM6IChnb29tX2RlYnVnKSwgKEdTVF9DQVRfREVGQVVMVCksCgkgIChzZXRPcHRpbWl6ZWRNZXRob2RzKToKCSAgQ2FsbCBvaWxfaW5pdCgpLCBvdGhlcndpc2Ugb2lsX2dldF9jcHVfZmxhZ3MoKSB3b24ndCByZXR1cm4KCSAgYW55dGhpbmcgdXNlZnVsLiBFeHBvcnQgZ29vbSBkZWJ1ZyBjYXRlZ29yeSBzbyB3ZSBjYW4gZ2V0CgkgIHJpZCBvZiB0aGUgVkVSQk9TRSBkZWZpbmUgYW5kIHRoZSBwcmludGZzLgoKMjAwOC0wMi0yMyAxMTo1MzoyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9nb29tLzogQ29tcGlsZSBmaXhlcyBmb3IgeDg2LTY0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS9nb29tc2xfaGVhcC5jOiAoYWxpZ25faXQpOgoJICAqIGdzdC9nb29tL3BsdWdpbl9pbmZvLmM6IChzZXRPcHRpbWl6ZWRNZXRob2RzKToKCSAgQ29tcGlsZSBmaXhlcyBmb3IgeDg2LTY0LgoKMjAwOC0wMi0yMyAwMzoxMDo1NSArMDAwMCAgQmFzdGllbiBOb2NlcmEgPGhhZGVzc0BoYWRlc3MubmV0PgoKCSAgZ3N0L2dvb20vTWFrZWZpbGUuYW06IERvbid0IGNvbXBpbGUgbGV4IG9yIHlhY2Mgb3V0cHV0cyB3aXRoIHdhcm5pbmdzLCBidXQgYWRkIG90aGVyIENGTEFHUwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS9NYWtlZmlsZS5hbTogRG9uJ3QgY29tcGlsZSBsZXggb3IgeWFjYyBvdXRwdXRzCgkgIHdpdGggd2FybmluZ3MsIGJ1dCBhZGQgb3RoZXIgQ0ZMQUdTCgkgICogZ3N0L2dvb20vZ29vbXNsLmMgKGdzbF9pbnN0cl9zZXRfbmFtZXNwYWNlKSwKCSAgKGdzbF9pbnN0cl9hZGRfcGFyYW0pLCAoaWZsb3dfZXhlY3V0ZSksIChnc2xfZW50ZXJuYW1lc3BhY2UpLAoJICAoY2FsY3VsYXRlX2xhYmVscyksIChnc2xfcmVhZF9maWxlKToKCSAgKiBnc3QvZ29vbS9nb29tc2xfbGV4Lmw6CgkgICogZ3N0L2dvb20vZ29vbXNsX3lhY2MueToKCSAgKiBnc3QvZ29vbS9wbHVnaW5faW5mby5jOiBSZW1vdmUgYSBmZXcgbGl2ZSBwcmludGYsIGFuZAoJICBmcHJpbnRmLCByZXBsYWNlIGV4aXQoKSBjYWxscyB3aXRoIGdfYXNzZXJ0X25vdF9yZWFjaGVkKCkKCSAgaWYgaXQgbm90IG9wdGltYWwgZm9yIGEgbGlicmFyeQoKMjAwOC0wMi0yMyAwMjozODowMyArMDAwMCAgQmFzdGllbiBOb2NlcmEgPGhhZGVzc0BoYWRlc3MubmV0PgoKCSAgZ3N0L2dvb20vTWFrZWZpbGUuYW06IFJlbW92ZSB0aGUgd2FybmluZ3MgYmVpbmcgZGlzYWJsZWQsIGZpeCBsaW5rYWdlIG9uIHg4Niwgc3BvdHRlZCBieSBTZWJhc3RpYW4gRHLDtmdlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL01ha2VmaWxlLmFtOiBSZW1vdmUgdGhlIHdhcm5pbmdzIGJlaW5nIGRpc2FibGVkLAoJICBmaXggbGlua2FnZSBvbiB4ODYsIHNwb3R0ZWQgYnkgU2ViYXN0aWFuIERyw7ZnZQoJICA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoJICAqIGdzdC9nb29tL2NvbnZvbHZlX2Z4LmMgKGNvbnZvbHZlX2luaXQpLAoJICAoY3JlYXRlX291dHB1dF93aXRoX2JyaWdodG5lc3MpLCAoY29udm9sdmVfYXBwbHkpOgoJICAqIGdzdC9nb29tL2ZpbHRlcnMuYyAoem9vbUZpbHRlclZpc3VhbEZYV3JhcHBlcl9jcmVhdGUpOgoJICAqIGdzdC9nb29tL2dvb21zbC5jOgoJICAqIGdzdC9nb29tL2lmcy5jIChpZnNfdXBkYXRlKSwgKGlmc192aXN1YWxmeF9jcmVhdGUpOgoJICAqIGdzdC9nb29tL3BsdWdpbl9pbmZvLmM6CgkgICogZ3N0L2dvb20vdGVudGFjbGUzZC5jICh0ZW50YWNsZV9meF9jcmVhdGUpOgoJICBGaXggd2FybmluZ3MsIGFuZCBkaXNhYmxlIHRoZSBtb3RpZnMgaW4gdGhlIGNvbnZvbHZlX2Z4CgkgIHBsdWdpbiAodGhleSB3ZXJlIGNhdXNpbmcgd2FybmluZ3MsIGFuZCB0aGV5IHdlcmUganVzdAoJICAiR29vbSIgaW4gZnVubnkgbGV0dGVycmluZykKCjIwMDgtMDItMjMgMDE6NTE6MzcgKzAwMDAgIEJhc3RpZW4gTm9jZXJhIDxoYWRlc3NAaGFkZXNzLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQWRkIGNoZWNrcyBmb3IgRmxleC9ZYWNjL0Jpc29uIGFuZCBvdGhlciBmdXJyeSBhbmltYWxzLCBmb3IgdGhlIG5ldyBnb29tIDJrNCBiYXNlZCBwbHVnaW4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMDItMjMgIEJhc3RpZW4gTm9jZXJhICA8aGFkZXNzQGhhZGVzcy5uZXQ+CgkgICogY29uZmlndXJlLmFjOiBBZGQgY2hlY2tzIGZvciBGbGV4L1lhY2MvQmlzb24gYW5kIG90aGVyCgkgIGZ1cnJ5IGFuaW1hbHMsIGZvciB0aGUgbmV3IGdvb20gMms0IGJhc2VkIHBsdWdpbgoJICAqIGdzdC9nb29tLyo6IFVwZGF0ZSB0byB1c2UgZ29vbSAyazQsIHVzZXMgbGlib2lsIHRvIGRldGVjdAoJICBDUFUgb3B0aW1pc2F0aW9ucyAobm90IHdvcmtpbmcgeWV0KSwgbW92ZSB0aGUgb2xkIHBsdWdpbiB0by4uLgoJICAqIGdzdC9nb29tMmsxLyo6IC4uLiBoZXJlLCBpbiBjYXNlIHNvbWVib2R5IGlzIHNpY2sgZW5vdWdoCgkgIEZpeGVzICM1MTUwNzMKCjIwMDgtMDItMjIgMDk6NTY6MDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFBvc3QgdGhlIHNlcnZlciByZXNwb25zZSBjb2RlIGluIGFuIGVycm9yIG1lc3NhZ2UgaW5zdGVhZCBvZiBhIGdlbmVyaWMgJ2Vycm9yJyBtZXNzYWdlLiBGaXhlcyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc2V0dXBfc3RyZWFtcyk6CgkgIFBvc3QgdGhlIHNlcnZlciByZXNwb25zZSBjb2RlIGluIGFuIGVycm9yIG1lc3NhZ2UgaW5zdGVhZCBvZiBhIGdlbmVyaWMKCSAgJ2Vycm9yJyBtZXNzYWdlLiBGaXhlcyAjNTE3MjM3LgoKMjAwOC0wMi0yMiAwNzoyMDowMyArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIEltcGxlbWVudCB6ZXJvLWNvcHkgYW5kIG1ha2UgdGhlIGJ1ZmZlciBzaXplIGNvbmZpZ3VyYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwX2h0dHBfc3JjX2NhbmNlbF9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2ZpbmlzaGVkX2NiKSwgKGdzdF9zb3VwX2h0dHBfc3JjX2NodW5rX2ZyZWUpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfY2h1bmtfYWxsb2NhdG9yKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9jaHVua19jYiksIChnc3Rfc291cF9odHRwX3NyY19jcmVhdGUpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc3RhcnQpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfc2V0X3Byb3h5KToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBJbXBsZW1lbnQgemVyby1jb3B5IGFuZCBtYWtlIHRoZSBidWZmZXIgc2l6ZSBjb25maWd1cmFibGUuCgkgIFByZWZpeCBwcm94eSBVUklzIHdpdGggImh0dHA6Ly8iIGlmIHRoZXkgZG9uJ3Qgc3RhcnQgd2l0aCBpdAoJICBhbHJlYWR5IGFuZCBjYXRjaCBlcnJvcnMgZWFybGllciwgZml4ZXMgaGFuZ2luZyBpbiBzb21lIHNpdHVhdGlvbnMuCgkgIEZpeGVzIGJ1ZyAjNTE0OTQ4LgoKMjAwOC0wMi0yMiAwNjoyMjozOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IElnbm9yZSBnY29uZmF1ZGlvc3JjIGZvciB0aGUgc3RhdGVzIHVuaXQgdGVzdCB0b28uIEl0IHdpbGwgZmFsbGJhY2sgdG8gYWxzYXNyYyBpZiB0aGUgZ2NvbmYgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBJZ25vcmUgZ2NvbmZhdWRpb3NyYyBmb3IgdGhlIHN0YXRlcyB1bml0IHRlc3QgdG9vLiBJdCB3aWxsIGZhbGxiYWNrCgkgIHRvIGFsc2FzcmMgaWYgdGhlIGdjb25mIHNldHRpbmdzIGNhbid0IGJlIHJlYWQgYW5kIG5vdCBldmVyeWJvZHkgaGFzCgkgIGFsc2EuCgoyMDA4LTAyLTIyIDA2OjA2OjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuKjogQWx3YXlzIHJlcG9ydCB0aGUgZHVyYXRpb24gaWYgd2Uga25vdyBpdCBpbiBwdXNoIG1vZGUgYW5kIGRvbid0IHJldHVybiAwIGp1c3QgdG8gbWFrZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9zcmNfcXVlcnkpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY3JlYXRlX3NyY19wYWQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICBBbHdheXMgcmVwb3J0IHRoZSBkdXJhdGlvbiBpZiB3ZSBrbm93IGl0IGluIHB1c2ggbW9kZSBhbmQgZG9uJ3QKCSAgcmV0dXJuIDAganVzdCB0byBtYWtlIHRvdGVtIGJlbGlldmUgd2UgY2FuJ3Qgc2VlayBpbiBwdXNoIG1vZGUuCgkgIE5ld2VyIHRvdGVtIHZlcnNpb24gdXNlIHRoZSBTRUVLSU5HIHF1ZXJ5IHdoaWNoIHByb3Blcmx5IHJlcG9ydHMKCSAgaWYgd2UgY2FuIHNlZWsgb3Igbm90LgoKMjAwOC0wMi0yMiAwNTozOTowMSArMDAwMCAgSmVucyBHcmFuc2V1ZXIgPGplbnNnckBnbXgubmV0PgoKCSAgdGVzdHMvZXhhbXBsZXMvZXF1YWxpemVyL2RlbW8uYzogQzg5IGZpeCwgbW92aW5nIHZhcmlhYmxlIGRlY2xhcmF0aW9ucyB0byB0aGUgYmVnaW5uaW5nIG9mIHRoZSBibG9jay4gRml4ZXMgYnVnICM1MTc5MzMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSmVucyBHcmFuc2V1ZXIgPGplbnNnciBhdCBnbXggZG90IG5ldD4KCSAgKiB0ZXN0cy9leGFtcGxlcy9lcXVhbGl6ZXIvZGVtby5jOiAobWFpbik6CgkgIEM4OSBmaXgsIG1vdmluZyB2YXJpYWJsZSBkZWNsYXJhdGlvbnMgdG8gdGhlIGJlZ2lubmluZyBvZgoJICB0aGUgYmxvY2suIEZpeGVzIGJ1ZyAjNTE3OTMzLgoKMjAwOC0wMi0yMSAyMzo0NzozNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEJhY2sgdG8gZGV2ZWxvcG1lbnQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Li4uCgo9PT0gcmVsZWFzZSAwLjEwLjcgPT09CgoyMDA4LTAyLTIxIDAwOjA5OjA3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Rpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogcG8vTElOR1VBUzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuNyAtIFJlZCBEb29yIEJsYWNrCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZWxlYXNlIDAuMTAuNyAtIFJlZCBEb29yIEJsYWNrCgoyMDA4LTAyLTIwIDIyOjUxOjA4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwOC0wMi0xOSAxMDo0NzoyMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2FscGhhL01ha2VmaWxlLmFtOiBMaW5rIGFscGhhIHBsdWdpbiB3aXRoIGxpYmdzdGJhc2UuIEZpeGVzIGJ1ZyAjNTE3Mzg2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYWxwaGEvTWFrZWZpbGUuYW06CgkgIExpbmsgYWxwaGEgcGx1Z2luIHdpdGggbGliZ3N0YmFzZS4gRml4ZXMgYnVnICM1MTczODYuCgoyMDA4LTAyLTE4IDExOjEzOjM1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBJbml0IHZhbHVlcyB0byAtMSBpbnN0ZWFkIG9mIHRoZSBkZWZhdWx0IDAgdmFsdWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2NyZWF0ZV9zdHJlYW0pOgoJICBJbml0IHZhbHVlcyB0byAtMSBpbnN0ZWFkIG9mIHRoZSBkZWZhdWx0IDAgdmFsdWUuCgkgIEZpeGVzICM1MTY1MjQuCgoyMDA4LTAyLTE0IDE0OjUwOjMwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9zcGVjdHJ1bS1leGFtcGxlLmM6IEFkZCBtaXNzaW5nIGluY2x1ZGUgdG8gZml4IGNvbXBpbGF0aW9uIHdoZW4gbGlieG1sIHVzYWdlIGlzIGRpc2FibGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9zcGVjdHJ1bS1leGFtcGxlLmM6CgkgIEFkZCBtaXNzaW5nIGluY2x1ZGUgdG8gZml4IGNvbXBpbGF0aW9uIHdoZW4gbGlieG1sIHVzYWdlIGlzIGRpc2FibGVkLgoJICBGaXhlczogIzUxNjM3MQoKMjAwOC0wMi0xMiAyMzozODoxOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIGZpeGVzOiAjNTE0ODg5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogIFdpbSBUYXltYW5zICA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoJICBmaXhlczogIzUxNDg4OQoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICBGaXggdmFyaW91cyBsZWFrcyBzaG93biB1cCBpbiB2YWxncmluZAoJICAtIGZyZWUgc3Byb3BzIGFuZCBidWZmZXIgaW4gZXJyb3IgY2FzZXMgaW4gSDI2NCBwYXlsb2FkZXIKCSAgLSBmaXggbGVhayBpbiBtcDRnIGRlcGF5bG9hZGVyIHdoZW4gY29uc3RydWN0aW9uIHRoZSBjYXBzCgkgIC0gZG9uJ3QgbGVhayBjb25maWcgc3RyaW5nIGluIHRoZSBtcDRnIHBheWxvYWRlcgoJICAtIGRvbid0IGxlYWsgYnVmZmVycyBhbmQgaGVhZGVycyBpbiB0aGVvcmEgYW5kIHZvcmJpcyBwYXlsb2FkZXJzCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgRml4IHRoZSBSVFAgZGF0YSB0ZXN0CgkgIC0gQWN0dWFsbHkgc2VuZCB2YWxpZCBhbXIgZGF0YSB0byB0aGUgcGF5bG9hZGVyIGluc3RlYWQgb2YgMjAKCSAgemVyby1ieXRlcwoJICAtIFRoZSBtcDRnIHBheWxvYWRlciBleHBlY3RzIGNvZGVjX2RhdGEgb24gdGhlIGNhcHMKCjIwMDgtMDItMTIgMjE6MzY6NDAgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIHdpbjMyL01BTklGRVNUOiBBZGQgbGliZ3N0cG5nLmRzcCB0byBNQU5JRkVTVC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogd2luMzIvTUFOSUZFU1Q6CgkgIEFkZCBsaWJnc3RwbmcuZHNwIHRvIE1BTklGRVNULgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhdWRpb2Z4LmRzcDoKCSAgQWRkIG5ldyBzb3VyY2UgZmlsZXMgdG8gVlMgcHJvamVjdCBmaWxlLgoKMjAwOC0wMi0xMiAxMzozNDo1MiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiBJbml0aWFsaXNlIHZhcmlhYmxlcyB3aGVuIG9wZW5pbmcgdGhlIFggZGlzcGxheSByYXRoZXIgdGhhbiBpbiBfc3RhcnQoKSwgYXMgdGhlIGRpc3BsYXkgY2EuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgSW5pdGlhbGlzZSB2YXJpYWJsZXMgd2hlbiBvcGVuaW5nIHRoZSBYIGRpc3BsYXkgcmF0aGVyCgkgIHRoYW4gaW4gX3N0YXJ0KCksIGFzIHRoZSBkaXNwbGF5IGNhbiBiZSBvcGVuZWQgYmVmb3JlIHRoYXQuCgkgIEZpeGVzOiAjNTE1OTg1CgoyMDA4LTAyLTEyIDEyOjIyOjQ4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOiBQcm9wZXJseSBjaGFpbiB1cCBmaW5hbGl6ZSBmdW5jdGlvbnMuIEZpeGVzIGJ1ZyAjNTE1OTgwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAoZ3N0X2RkcmF3c3VyZmFjZV9jbGFzc19pbml0KSwgKGdzdF9kZHJhd3N1cmZhY2VfZmluYWxpemUpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19maW5hbGl6ZSk6CgkgIFByb3Blcmx5IGNoYWluIHVwIGZpbmFsaXplIGZ1bmN0aW9ucy4gRml4ZXMgYnVnICM1MTU5ODAuCgoyMDA4LTAyLTEyIDExOjM4OjU0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IENoYWluIHVwIHRoZSBmaW5hbGl6ZSBmdW5jdGlvbnMuIEZpeGVzIGJ1ZyAjNTE1OTg0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMl9idWZmZXJfZmluYWxpemUpLAoJICAoZ3N0X3Y0bDJfYnVmZmVyX2NsYXNzX2luaXQpLCAoZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfZmluYWxpemUpLAoJICAoZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfY2xhc3NfaW5pdCk6CgkgIENoYWluIHVwIHRoZSBmaW5hbGl6ZSBmdW5jdGlvbnMuIEZpeGVzIGJ1ZyAjNTE1OTg0LgoKMjAwOC0wMi0xMiAxMToxNDozNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6IENoYWluIHVwIGluIHRoZSBmaW5hbGl6ZSBmdW5jdGlvbiBmb3Igb3VyIGN1c3RvbSBidWZmZXIgc3ViLWNsYXNzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSAgQ2hhaW4gdXAgaW4gdGhlIGZpbmFsaXplIGZ1bmN0aW9uIGZvciBvdXIgY3VzdG9tCgkgIGJ1ZmZlciBzdWItY2xhc3MuCgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlICA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoJICBGaXhlczogIzUxNTcwNgoKMjAwOC0wMi0xMiAxMToxMjo0MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlYnVnL2VmZW5jZS5jOiBQcm9wZXJseSBjaGFpbiB1cCBmaW5hbGl6ZSBtZXRob2QuIEZpeGVzIGJ1ZyAjNTE1OTc5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvZWZlbmNlLmM6IChnc3RfZmVuY2VkX2J1ZmZlcl9maW5hbGl6ZSksCgkgIChnc3RfZmVuY2VkX2J1ZmZlcl9jbGFzc19pbml0KToKCSAgUHJvcGVybHkgY2hhaW4gdXAgZmluYWxpemUgbWV0aG9kLiBGaXhlcyBidWcgIzUxNTk3OS4KCjIwMDgtMDItMTIgMTE6MDk6MDggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogRnJlZSBhbGxvY2F0ZWQgRGFtYWdlIG1lbW9yeSBiZWZvcmUgY2xvc2luZyBvdXIgY29ubmVjdGlvbiB0byB0aGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgRnJlZSBhbGxvY2F0ZWQgRGFtYWdlIG1lbW9yeSBiZWZvcmUgY2xvc2luZyBvdXIgY29ubmVjdGlvbiB0byB0aGUKCSAgWCBzZXJ2ZXIuIEZpeGVzOiAjNTE1NzA2CgoyMDA4LTAyLTEyIDA1OjIxOjQ2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOiBJbmNsdWRlIGdsaWIvZ3ByaW50Zi5oIGZvciBnX3Zhc3ByaW50ZigpLiBGaXhlcyBidWcgIzUxNTU2NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgSW5jbHVkZSBnbGliL2dwcmludGYuaCBmb3IgZ192YXNwcmludGYoKS4gRml4ZXMgYnVnICM1MTU1NjQuCgoyMDA4LTAyLTEyIDA1OjE0OjE2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgYSBmZXcgbGlianBlZyBzdXBwcmVzc2lvbnMgYW5kIGluaXRpYWxpemUgYSB2YXJpYWJsZSB0byBtYWtlIHNtb2tlZW5jIHZhbGdyaW5kIGNsZWFuLiBGaXhlcyBidWcgIzUxNTcwMS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzogKGdzdF9zbW9rZWVuY19jaGFpbik6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZ3N0LXBsdWdpbnMtZ29vZC5zdXBwOgoJICBBZGQgYSBmZXcgbGlianBlZyBzdXBwcmVzc2lvbnMgYW5kIGluaXRpYWxpemUgYSB2YXJpYWJsZSB0bwoJICBtYWtlIHNtb2tlZW5jIHZhbGdyaW5kIGNsZWFuLiBGaXhlcyBidWcgIzUxNTcwMS4KCjIwMDgtMDItMTEgMjE6MjQ6MzAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBSZXZlcnQgcGF0Y2ggd2hpY2ggc2VuZHMgdGltZXN0YW1wcyBvbmx5IG9uIGtleWZyYW1lcywgYXMgaXQgYnJlYWtzIHBsYXliYWNrIHdpdGggY3VycmVudCBnc3QtLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgUmV2ZXJ0IHBhdGNoIHdoaWNoIHNlbmRzIHRpbWVzdGFtcHMgb25seSBvbiBrZXlmcmFtZXMsIGFzIGl0CgkgIGJyZWFrcyBwbGF5YmFjayB3aXRoIGN1cnJlbnQgZ3N0LWZmbXBlZy4KCSAgRml4ZXM6ICM1MTU1NjIKCjIwMDgtMDItMTEgMTQ6MDE6NTIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIENsb3NlIHNvbWUgbWVtb3J5IGxlYWtzIHNwb3R0ZWQgYnkgdGhlIHVuaXQgdGVzdC4gRml4ZXMgYnVnICM1MTU2OTcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6IChnc3RfbXVsdGlfZmlsZV9zcmNfY3JlYXRlKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgQ2xvc2Ugc29tZSBtZW1vcnkgbGVha3Mgc3BvdHRlZCBieSB0aGUgdW5pdCB0ZXN0LiBGaXhlcyBidWcgIzUxNTY5Ny4KCjIwMDgtMDItMTEgMTM6NDg6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9nY29uZi9nY29uZi5jOiBVc2UgYW5kIHVuc2V0IHRoZSBHRXJyb3Igd2hlbiBwaXBlbGluZSBjcmVhdGlvbiBmYWlscyBpbnN0ZWFkIG9mIHNpbXBseSBsZWFraW5nIGl0LiBGaXhlcyBidWcgIzUxNS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2NvbmYvZ2NvbmYuYzogKGdzdF9nY29uZl9yZW5kZXJfYmluX3dpdGhfZGVmYXVsdCk6CgkgIFVzZSBhbmQgdW5zZXQgdGhlIEdFcnJvciB3aGVuIHBpcGVsaW5lIGNyZWF0aW9uIGZhaWxzIGluc3RlYWQgb2YKCSAgc2ltcGx5IGxlYWtpbmcgaXQuIEZpeGVzIGJ1ZyAjNTE1NzA0LgoKMjAwOC0wMi0xMCAxMDo0NjoxMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1ZGlvZngvOiBGaXggbG9uZyBkZXNjcmlwdGlvbiBvZiBhdWRpb2Z4IGVsZW1lbnRzLiBGaXhlcyBidWcgIzUxNTQ1Ny4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzoKCSAgRml4IGxvbmcgZGVzY3JpcHRpb24gb2YgYXVkaW9meCBlbGVtZW50cy4gRml4ZXMgYnVnICM1MTU0NTcuCgoyMDA4LTAyLTA5IDAxOjQ1OjMyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIEFkZCBhIHNpbXBsZSBleGFtcGxlIGFwcGxpY2F0aW9uIGZvciB0aGUgc3BlY3RydW0gZWxlbWVudCwgaW5jbHVkZSBpdCBpbiB0aGUgZG9jcywgYW5kIGZpeCBzb21lIGRvY3VtZW50YXRpb24gYW1iaWd1aS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgICogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9zcGVjdHJ1bS1leGFtcGxlLmM6CgkgIEFkZCBhIHNpbXBsZSBleGFtcGxlIGFwcGxpY2F0aW9uIGZvciB0aGUgc3BlY3RydW0gZWxlbWVudCwgaW5jbHVkZSBpdAoJICBpbiB0aGUgZG9jcywgYW5kIGZpeCBzb21lIGRvY3VtZW50YXRpb24gYW1iaWd1aXRpZXMuCgkgIEZpeGVzOiAjMzQ4MDg1CgoyMDA4LTAyLTA5IDAwOjE1OjI1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC86IEZpeCBpbmNsdWRlcyBvcmRlcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSAgRml4IGluY2x1ZGVzIG9yZGVyCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIEV4Y2x1ZGUgdjRsMnNyYyBmcm9tIHRoZSBzdGF0ZXMgdGVzdCAtIGl0IHRha2VzIHRvbyBsb25nIHRvIHN0YXJ0LgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWN0cnVtLmM6CgkgIE1ha2UgdGhlIHRlc3QgcnVuIHByb3Blcmx5IHdpdGggQ0tfRk9SSz1ubwoKMjAwOC0wMi0wOCAxNTozMjozNiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBhZGQgMyBuZXcgcGx1Z2lucyB0byBzcGVjIGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCAzIG5ldyBwbHVnaW5zIHRvIHNwZWMgZmlsZQoKMjAwOC0wMi0wOCAxNToyNzo1MSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSAgYWRkIG1pc3NpbmcgaGVhZGVyIGZpbGVzIGZvciBkaXN0aW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgbWlzc2luZyBoZWFkZXIgZmlsZXMgZm9yIGRpc3RpbmcKCjIwMDgtMDItMDggMTU6MjA6MzEgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IEZsYWcga2V5ZnJhbWUgYW5kIGRlbHRhIHVuaXRzIGNvcnJlY3RseSB3aGVuIGRlYWxpZ24gd2l0aCBhCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTAyLTA4ICBKdWxpZW4gTW91dHRlICA8anVsaWVuQGZsdWVuZG8uY29tPgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2spOiBGbGFnCgkgIGtleWZyYW1lIGFuZCBkZWx0YSB1bml0cyBjb3JyZWN0bHkgd2hlbiBkZWFsaWduIHdpdGggYQoJICBCbG9ja0dyb3VwLgoJICBGaXhlczogIzUxNDM5NwoKMjAwOC0wMi0wOCAxMDoxOTozMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOiBTcGVsbCB0aGUgbmV3IHRlc3RzIGNvcnJlY3RseSBpbiAuY3ZzaWdub3JlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgIFNwZWxsIHRoZSBuZXcgdGVzdHMgY29ycmVjdGx5IGluIC5jdnNpZ25vcmUKCjIwMDgtMDItMDggMTA6MDk6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOiBOZWVkIHRvIHVzZSBnc2l6ZSBoZXJlIGZvciB0aGUgc2l6ZSwgZml4ZXMgY29tcGlsZXIgd2FybmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzogKGdzdF9tdWx0aV9maWxlX3NyY19jcmVhdGUpOgoJICBOZWVkIHRvIHVzZSBnc2l6ZSBoZXJlIGZvciB0aGUgc2l6ZSwgZml4ZXMgY29tcGlsZXIgd2FybmluZy4KCSAgKiB0ZXN0cy9leGFtcGxlcy9lcXVhbGl6ZXIvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9leGFtcGxlcy9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSAgQWRkIG1pc3NpbmcgZmlsZXMgdG8gZml4IHRoZSBidWlsZC4KCjIwMDgtMDItMDggMDQ6MjU6MzIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgTW92ZSBtdWx0aWZpbGUgcGx1Z2luIGZyb20gLWJhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgTW92ZSBtdWx0aWZpbGUgcGx1Z2luIGZyb20gLWJhZC4KCSAgRml4ZXM6ICM0OTAyODMKCjIwMDgtMDItMDggMDM6NDQ6MTIgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L211bHRpZmlsZS86IFVzZSBnX2ZpbGVfW3NnXWV0X2NvbnRlbnRzKCkgaW5zdGVhZCBvZiB1c2luZyBzdGRpbyBmdW5jdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgIFVzZSBnX2ZpbGVfW3NnXWV0X2NvbnRlbnRzKCkgaW5zdGVhZCBvZiB1c2luZyBzdGRpbyBmdW5jdGlvbnMuCgkgIFNob3VsZCBiZSBsZXNzIGVycm9yIHByb25lLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJICBDcmVhdGUgYSB0ZW1wb3JhcnkgZGlyZWN0b3J5IHVzaW5nIHN0YW5kYXJkIGZ1bmN0aW9ucyBpbnN0ZWFkIG9mCgkgIGNyZWF0aW5nIGEgZGlyZWN0b3J5IGluIHRoZSBjdXJyZW50IGRpci4KCjIwMDgtMDItMDggMDM6Mjg6NTcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgTW92ZSBzcGVjdHJ1bSBwbHVnaW4gZnJvbSAtYmFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJICAqIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJICBNb3ZlIHNwZWN0cnVtIHBsdWdpbiBmcm9tIC1iYWQuCgkgIE1vdmUgZXhhbXBsZXMgaW50byB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS4KCjIwMDgtMDItMDggMDI6NTY6MTIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJICBNZW50aW9uIGJ1ZyA0MTU2MjcgZml4ZWQgd2l0aCBwcmV2aW91cyBjb21taXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE1lbnRpb24gYnVnIDQxNTYyNyBmaXhlZCB3aXRoIHByZXZpb3VzIGNvbW1pdAoKMjAwOC0wMi0wOCAwMjo0OToyMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBNb3ZlIHRoZSBlcXVhbGl6ZXIgcGx1Z2luIGFjcm9zcyBmcm9tIC1iYWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJICAqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkgIE1vdmUgdGhlIGVxdWFsaXplciBwbHVnaW4gYWNyb3NzIGZyb20gLWJhZAoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgIEFkZCBlcXVhbGl6ZXIsIGF1ZGlvc2luY3diYW5kIGFuZCBhdWRpb3NpbmN3bGltaXQKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9lcXVhbGl6ZXIuYzoKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDA4LTAyLTA4IDAyOjQ4OjU0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy4qOiBSZW1vdmUgZXF1YWxpemVyIHBsdWdpbiBkb2NzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgIFJlbW92ZSBlcXVhbGl6ZXIgcGx1Z2luIGRvY3MKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgQWRkIEdTVF9PUFRJT05fQ0ZMQUdTLCB0byBnZXQgLVdlcnJvciAtV2FsbCBpbnRvIHRoZSB0ZXN0cyBhcyBmb3IKCSAgb3RoZXIgbW9kdWxlcy4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdsaW1pdGVyLmM6CgkgIEZpeCBjb21waWxlciB3YXJuaW5ncyBmcm9tIC1XYWxsIC1XZXJyb3IKCjIwMDgtMDItMDggMDE6MDc6MDIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBPbmx5IGJ1aWxkIHdpdGggRElTQUJMRV9ERVBSRUNBVEVEIGR1cmluZyB0aGUgQ1ZTIGN5Y2xlLiBQcmUtcmVsZWFzZXMgYXJlIHRyZWF0ZWQgbGlrZSByZWxlYXNlcyBhbmQgYnVpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgT25seSBidWlsZCB3aXRoIERJU0FCTEVfREVQUkVDQVRFRCBkdXJpbmcgdGhlIENWUyBjeWNsZS4gUHJlLXJlbGVhc2VzCgkgIGFyZSB0cmVhdGVkIGxpa2UgcmVsZWFzZXMgYW5kIGJ1aWxkIHdpdGhvdXQgaXQuCgoyMDA4LTAyLTA3IDIxOjU3OjU0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIE1vdmUgdGhlIGxwd3NpbmMgYW5kIGJwd3NpbmMgZWxlbWVudHMgZnJvbSBnc3QtcGx1Z2lucy1iYWQgaW50byB0aGUgYXVkaW9meCBwbHVnaW4sIGFuZCByZW5hbWUgdG8gYXVkaW93c2luY2xpbWl0IGFuZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSAgKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2Z4LmM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5oOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5oOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNiYW5kLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2xpbWl0LmM6CgkgIE1vdmUgdGhlIGxwd3NpbmMgYW5kIGJwd3NpbmMgZWxlbWVudHMgZnJvbSBnc3QtcGx1Z2lucy1iYWQgaW50bwoJICB0aGUgYXVkaW9meCBwbHVnaW4sIGFuZCByZW5hbWUgdG8gYXVkaW93c2luY2xpbWl0IGFuZCBhdWRpb3dzaW5jYmFuZAoJICByZXNwZWN0aXZlbHkuCgkgIEZpeGVzOiAjNDY3NjY2CgoyMDA4LTAyLTA3IDIxOjE3OjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUmV0dXJuIEdTVF9GTE9XX05PVF9ORUdPVElBVEVEIGlmIHdlIGdldCBhIGJ1ZmZlciB3aXRob3V0IGNhcHMsIGFuZCBhZGQgYSBzb21ld2hhdCB1c2VmdWwgZGVidWcgbWVzc2FnZS4gUGx1cyB0ZXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzogKGdzdF9pY3lkZW11eF9jaGFpbik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaWN5ZGVtdXguYzoKCSAgUmV0dXJuIEdTVF9GTE9XX05PVF9ORUdPVElBVEVEIGlmIHdlIGdldCBhIGJ1ZmZlciB3aXRob3V0CgkgIGNhcHMsIGFuZCBhZGQgYSBzb21ld2hhdCB1c2VmdWwgZGVidWcgbWVzc2FnZS4gUGx1cyB0ZXN0LgoKMjAwOC0wMi0wNyAxOToxMzo1NiArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBJbmNsdWRlIHVuaXN0ZC5oIG9ubHkgaWYgSEFWRV9VTklTVERfSCBpcyBkZWZpbmVkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgSW5jbHVkZSB1bmlzdGQuaCBvbmx5IGlmIEhBVkVfVU5JU1REX0ggaXMgZGVmaW5lZAoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaC5pbjoKCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIERlZmluZSBzb2NrbGVuX3QgYXMgaXQgc2VlbXMgaXQncyBub3QgZGVmaW5lZCBpbiBkZWZhdWx0CgkgIFZpc3VhbCBTdHVkaW8gaGVhZGVycy4KCSAgKiB3aW4zMi92czYvbGliZ3N0YWxwaGEuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhcGV0YWcuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhdmkuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RydHAuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RydHNwLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0dmlkZW9taXhlci5kc3A6CgkgIFVwZGF0ZSBwcm9qZWN0IGZpbGUgZGVwZW5kZW5jaWVzIGFuZCBhZGQgbmV3IHNvdXJjZSBmaWxlcwoKMjAwOC0wMi0wNyAxNjozODo1NSArMDAwMCAgQmphcm5lIFJvc2VuZ3JlbiA8Ymphcm5lQGF4aXMuY29tPgoKCSAgZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzogRG9uJ3QgbGVhayBidWZmZXJzIHdoZW4gd2UgZG9uJ3QgcHVzaCB0aGVtIGRvd25zdHJlYW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQmphcm5lIFJvc2VuZ3JlbiA8Ymphcm5lIGF0IGF4aXMgZG90IGNvbT4KCSAgKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOiAoZ3N0X2VibWxfd3JpdGVfZWxlbWVudF9wdXNoKToKCSAgRG9uJ3QgbGVhayBidWZmZXJzIHdoZW4gd2UgZG9uJ3QgcHVzaCB0aGVtIGRvd25zdHJlYW0uCgkgIEZpeGVzIGJ1ZyAjNTE0OTY1LgoKMjAwOC0wMi0wNyAxMzo0ODoyMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6IEFkZCBhIGZpeG1lIGNvbW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBBZGQgYSBmaXhtZSBjb21tZW50LgoJICAqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJICBGaXggc2FtZSBsZWFrIGFzIGluIGlucHV0LXNlbGVjdG9yLgoJICAqIHRlc3RzL2ljbGVzL291dHB1dC1zZWxlY3Rvci10ZXN0LmM6CgkgIEltcHJvdmUgdGhlIHRlc3QuCgoyMDA4LTAyLTA3IDEzOjQxOjExICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogSW1wcm92ZSB0aGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIEltcHJvdmUgdGhlIGRvY3MuCgoyMDA4LTAyLTA3IDEwOjE3OjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBCdW1wIHJlcXVpcmVtZW50cyB0byAoZ29vZCkgcmVsZWFzZWQgdmVyc2lvbnMgdG8gYXZvaWQgY29uZnVzaW9uIGFuZCBtYWtlIGltcGxpY2l0IGNvcmUgcmVxdWlyZW1lbnQgZXhwLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCByZXF1aXJlbWVudHMgdG8gKGdvb2QpIHJlbGVhc2VkIHZlcnNpb25zIHRvIGF2b2lkCgkgIGNvbmZ1c2lvbiBhbmQgbWFrZSBpbXBsaWNpdCBjb3JlIHJlcXVpcmVtZW50IGV4cGxpY2l0LgoKMjAwOC0wMi0wNyAxMDowNDowMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IEZpeCB0eXBvIGluIHRoZSBsb25nIGRlc2NyaXB0aW9uIG9mIHRoZSBlbGVtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzoKCSAgRml4IHR5cG8gaW4gdGhlIGxvbmcgZGVzY3JpcHRpb24gb2YgdGhlIGVsZW1lbnQuCgoyMDA4LTAyLTA2IDIzOjQ0OjQzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJlbmFtZSBhdWRpb2NoZWJ5c2hldmZyZXFiYW5kIC0+IGF1ZGlvY2hlYmJhbmQgYW5kIGF1ZGlvY2hlYnlzaGV2ZnJlcWxpbWl0IC0+IGF1ZGlvY2hlYmxpbWl0IGFuZCBkbyB0aGUgcmVxdWlzaXRlIENWUy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSAgKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5oOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuaDoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJ5c2hldmZyZXFiYW5kLmM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVieXNoZXZmcmVxYmFuZC5oOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYnlzaGV2ZnJlcWxpbWl0LmM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVieXNoZXZmcmVxbGltaXQuaDoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2Z4LmM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJiYW5kLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jaGVibGltaXQuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJ5c2hldmZyZXFiYW5kLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jaGVieXNoZXZmcmVxbGltaXQuYzoKCSAgUmVuYW1lIGF1ZGlvY2hlYnlzaGV2ZnJlcWJhbmQgLT4gYXVkaW9jaGViYmFuZCBhbmQKCSAgYXVkaW9jaGVieXNoZXZmcmVxbGltaXQgLT4gYXVkaW9jaGVibGltaXQgYW5kIGRvIHRoZSByZXF1aXNpdGUgQ1ZTCgkgIHN1cmdlcnkuCgkgIENsb3NlczogIzQ5MTgxMQoKMjAwOC0wMi0wNiAxMTowNzo0NyArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IEZpeCBtZW1vcnkgbGVhayBhbmQgaW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9jaHVua19jYiksCgkgIChnc3Rfc291cF9odHRwX3NyY19jcmVhdGUpOgoJICBGaXggbWVtb3J5IGxlYWsgYW5kIGltcHJvdmUgZGVidWdnaW5nIGEgYml0LgoKMjAwOC0wMi0wNSAxNzo1OToyNCArMDAwMCAgb3JqYW4gPG9yamFuZkBheGlzLmNvbT4KCgkgIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IEZpeCBjYXBzIG1lbW9yeSBsZWFrLiBGaXhlcyAjNTE0NTczLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IG9yamFuIDxvcmphbmYgYXQgYXhpcyBkb3QgY29tPgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IChnc3RfbXVsdGlwYXJ0X211eF9jb2xsZWN0ZWQpOgoJICBGaXggY2FwcyBtZW1vcnkgbGVhay4gRml4ZXMgIzUxNDU3My4KCjIwMDgtMDItMDQgMTI6MDc6MTQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IElmIHRoZXJlJ3Mgbm8gZW50cmllcyBpbiB0aGUgc3ViaW5kZXgsIGRvbid0IHRyeSB0byBkbyBhbnl0aGluZyBzdHVwaWQsIGp1c3QgcmV0dXJuLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3BhcnNlX3N1YmluZGV4KToKCSAgSWYgdGhlcmUncyBubyBlbnRyaWVzIGluIHRoZSBzdWJpbmRleCwgZG9uJ3QgdHJ5IHRvIGRvIGFueXRoaW5nIHN0dXBpZCwKCSAganVzdCByZXR1cm4uCgoyMDA4LTAyLTAyIDE5OjQ3OjUwICswMDAwICBKb2huIE1pbGxpa2luIDxqbWlsbGlraW5AZ21haWwuY29tPgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiBGaXggZXh0cmFjdGlvbiBvZiBwaWN0dXJlIGJsb2NrcyB3aXRoIG5ld2VyIGxpYmZsYWMgdmVyc2lvbnMgYWdhaW46CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9obiBNaWxsaWtpbiA8am1pbGxpa2luIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX3NjYW5fZm9yX2xhc3RfYmxvY2spLAoJICAoZ3N0X2ZsYWNfZXh0cmFjdF9waWN0dXJlX2J1ZmZlciksIChnc3RfZmxhY19kZWNfbWV0YWRhdGFfY2FsbGJhY2spOgoJICBGaXggZXh0cmFjdGlvbiBvZiBwaWN0dXJlIGJsb2NrcyB3aXRoIG5ld2VyIGxpYmZsYWMgdmVyc2lvbnMgYWdhaW46CgkgIEZMQUNfX01FVEFEQVRBX1RZUEVfUElDVFVSRSBpcyBhbiBlbnVtLCBub3QgYSBkZWZpbmUgKCM1MTM2MjgpLgoKMjAwOC0wMi0wMiAxODowNjoxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBBZGQgcnRwLXBheWxvYWRpbmcgdGVzdCB0byBWQUxHUklORF9UT19GSVguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBBZGQgcnRwLXBheWxvYWRpbmcgdGVzdCB0byBWQUxHUklORF9UT19GSVguCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgQWRkIHNlbWljb2xvbnMgYWZ0ZXIgR1NUX1RFU1RfRU5EIHNvIGdzdC1pbmRlbnQgZ2V0cyB0aGUKCSAgZm9ybWF0dGluZyByaWdodDsgbWFrZSB0ZXN0IGxlc3MgdmVyYm9zZSBpbiBnZW5lcmFsLCBidXQKCSAgbW9yZSB2ZXJib3NlIGluIHRoZSBlcnJvciBjYXNlICh3aGljaCBzaG91bGQgcHJvYmFibHkKCSAgbWFrZSB0aGUgdGVzdCBmYWlsIGFueXdheSkuCgoyMDA4LTAyLTAxIDE4OjI5OjIxICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgQWRkIGRvY3VtZW50YXRpb24gZm9yIGF2aXN1YnRpdGxlIGFuZCBjaGFuZ2UgY2xhc3MgdG8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSAgQWRkIGRvY3VtZW50YXRpb24gZm9yIGF2aXN1YnRpdGxlIGFuZCBjaGFuZ2UgY2xhc3MgdG8KCSAgQ29kZWMvUGFyc2VyL1N1YnRpdGxlCgoyMDA4LTAxLTMxIDE2OjEyOjI4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogVHJlYXQgRU5PVFRZIChkcml2ZXIgZG9lcyBub3QgaW1wbGVtZW50IGlvY3RsKSB0aGUgc2FtZSBhcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IChnc3RfdjRsMl9maWxsX2xpc3RzKToKCSAgVHJlYXQgRU5PVFRZIChkcml2ZXIgZG9lcyBub3QgaW1wbGVtZW50IGlvY3RsKSB0aGUgc2FtZSBhcwoJICBFSU5WQUwgc2luY2UgaXQgaW1wbGllcyB0aGVyZSBhcmUgbm8gYXZhaWxhYmxlIHN0YW5kYXJkcy4KCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19wcm9iZV9jYXBzX2Zvcl9mb3JtYXQpLAoJICAoZ3N0X3Y0bDJzcmNfZ2V0X25lYXJlc3Rfc2l6ZSk6CgkgIFJlcGxhY2UgZ3N0X3Y0bDJzcmNfZ2V0X3NpemVfbGltaXRzIHdpdGggMiBjYWxscyB0byBuZXcgZnVuY3Rpb24KCSAgZ3N0X3Y0bDJzcmNfZ2V0X25lYXJlc3Rfc2l6ZSwgYW5kIGdldCBpdCB0byB1c2UgVklESU9DX1NfRk1UIHRvCgkgIHByb2JlIGlmIHRoZSBkcml2ZXIgZG9lcyBub3Qgc3VwcG9ydCBWSURJT0NfVFJZX0ZNVCBmb3Igd2hhdGV2ZXIKCSAgcmVhc29uLCBhbmQgaWYgd2UgYXJlbid0IHlldCBhY3RpdmVseSBjYXB0dXJpbmcuCgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICBSZW1vdmUgcmVwbGFjZWQgZnVuY3Rpb24gZGVjbGFyYXRpb24uCgoyMDA4LTAxLTMxIDE2OjAzOjQ4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQnVtcCBwbHVnaW5zLWJhc2UgcmVxdWlyZW1lbnQgdG8gMC4xMC4xNiBmb3IgdGhlIGdzdF92aWRlb19mb3JtYXRfKgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgcGx1Z2lucy1iYXNlIHJlcXVpcmVtZW50IHRvIDAuMTAuMTYgZm9yIHRoZSBnc3RfdmlkZW9fZm9ybWF0XyoKCSAgQVBJLgoKMjAwOC0wMS0zMSAwOTo1MDozMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogQWRkIGNoYW5nZXMgdG8gZ3N0c291cGh0dHBzcmMuYyB0aGF0IHdlcmUgbWlzc2luZyBmcm9tIGxhc3QgY29tbWl0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoX2RvX2luaXQpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfYmFzZV9pbml0KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfaW5pdCksIChnc3Rfc291cF9odHRwX3NyY19kaXNwb3NlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3NldF9wcm9wZXJ0eSksIChnc3Rfc291cF9odHRwX3NyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdW5pY29kaWZ5KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2NhbmNlbF9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3F1ZXVlX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfYWRkX3JhbmdlX2hlYWRlciksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXNzaW9uX3VucGF1c2VfbWVzc2FnZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXNzaW9uX3BhdXNlX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2Vzc2lvbl9jbG9zZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19nb3RfaGVhZGVyc19jYiksCgkgIChnc3Rfc291cF9odHRwX3NyY19nb3RfYm9keV9jYiksIChnc3Rfc291cF9odHRwX3NyY19maW5pc2hlZF9jYiksCgkgIChnc3Rfc291cF9odHRwX3NyY19nb3RfY2h1bmtfY2IpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfcmVzcG9uc2VfY2IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfcGFyc2Vfc3RhdHVzKSwgKGdzdF9zb3VwX2h0dHBfc3JjX2NyZWF0ZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19zdGFydCksIChnc3Rfc291cF9odHRwX3NyY19zdG9wKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VubG9jayksIChnc3Rfc291cF9odHRwX3NyY191bmxvY2tfc3RvcCksCgkgIChnc3Rfc291cF9odHRwX3NyY19nZXRfc2l6ZSksIChnc3Rfc291cF9odHRwX3NyY19pc19zZWVrYWJsZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19kb19zZWVrKSwgKGdzdF9zb3VwX2h0dHBfc3JjX3NldF9sb2NhdGlvbiksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXRfcHJveHkpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX2dldF90eXBlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9nZXRfcHJvdG9jb2xzKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9nZXRfdXJpKSwgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9zZXRfdXJpKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9oYW5kbGVyX2luaXQpLCAocGx1Z2luX2luaXQpOgoJICBBZGQgY2hhbmdlcyB0byBnc3Rzb3VwaHR0cHNyYy5jIHRoYXQgd2VyZSBtaXNzaW5nIGZyb20gbGFzdCBjb21taXQuCgoyMDA4LTAxLTMxIDA4OjU3OjE2ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgTWFrZSBjb2Rpbmcgc3R5bGUgbW9yZSBjb25zaXN0ZW50LCBpbmNsdWRpbmcgY2xhc3MgcmVuYW1pbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2Jhc2VfaW5pdCksIChnc3Rfc291cF9odHRwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2luaXQpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfZGlzcG9zZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VuaWNvZGlmeSksIChnc3Rfc291cF9odHRwX3NyY19jYW5jZWxfbWVzc2FnZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19xdWV1ZV9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2FkZF9yYW5nZV9oZWFkZXIpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2Vzc2lvbl91bnBhdXNlX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2Vzc2lvbl9wYXVzZV9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3Nlc3Npb25fY2xvc2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZ290X2hlYWRlcnNfY2IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZ290X2JvZHlfY2IpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfZmluaXNoZWRfY2IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZ290X2NodW5rX2NiKSwgKGdzdF9zb3VwX2h0dHBfc3JjX3Jlc3BvbnNlX2NiKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3BhcnNlX3N0YXR1cyksIChnc3Rfc291cF9odHRwX3NyY19jcmVhdGUpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc3RhcnQpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfc3RvcCksCgkgIChnc3Rfc291cF9odHRwX3NyY191bmxvY2spLCAoZ3N0X3NvdXBfaHR0cF9zcmNfdW5sb2NrX3N0b3ApLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZ2V0X3NpemUpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfaXNfc2Vla2FibGUpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZG9fc2VlayksIChnc3Rfc291cF9odHRwX3NyY19zZXRfbG9jYXRpb24pLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2V0X3Byb3h5KSwgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9nZXRfdHlwZSksCgkgIChnc3Rfc291cF9odHRwX3NyY191cmlfZ2V0X3Byb3RvY29scyksCgkgIChnc3Rfc291cF9odHRwX3NyY191cmlfZ2V0X3VyaSksIChnc3Rfc291cF9odHRwX3NyY191cmlfc2V0X3VyaSksCgkgIChnc3Rfc291cF9odHRwX3NyY191cmlfaGFuZGxlcl9pbml0KSwgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBNYWtlIGNvZGluZyBzdHlsZSBtb3JlIGNvbnNpc3RlbnQsIGluY2x1ZGluZyBjbGFzcyByZW5hbWluZy4KCjIwMDgtMDEtMzEgMDA6MDM6MjYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBGaXggdHlwby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBGaXggdHlwby4KCjIwMDgtMDEtMzEgMDA6MDA6MjMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2FscGhhLzogUmUtd3JpdGUgdGhlICdhbHBoYScgcGx1Z2luIHRvIGJlIEJhc2VUcmFuc2Zvcm0gYmFzZWQsIHNpbXBsaWZ5aW5nIHNvbWUgc3R1ZmYsIGFuZCBtYWtpbmcgYnVmZmVyLWFsbG9jIGFuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hbHBoYS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgUmUtd3JpdGUgdGhlICdhbHBoYScgcGx1Z2luIHRvIGJlIEJhc2VUcmFuc2Zvcm0gYmFzZWQsIHNpbXBsaWZ5aW5nCgkgIHNvbWUgc3R1ZmYsIGFuZCBtYWtpbmcgYnVmZmVyLWFsbG9jIGFuZCByZXNpemluZyB3b3JrIGF1dG9tYXRpY2FsbHkuCgkgIE5vIGxvbmdlciBjcmFzaGVzIG9uIG9kZCBmcmFtZSB3aWR0aHMgYW5kIGhlaWdodHMsIGFsdGhvdWdoIHRoZXJlCgkgIHNlZW1zIHRvIGJlIGEgZGlzYWdyZWVtZW50IHdpdGggZmZtcGVnY29sb3JzcGFjZSBhYm91dCB3aGF0IHNpemUKCSAgYW4gQVlVViBmcmFtZSB3aXRoIG9kZCBoZWlnaHQgc2hvdWxkIGJlLgoKMjAwOC0wMS0zMCAxNTo0MDozNiArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IFVwZGF0ZSBkb2N1bWVudGF0aW9uIGEgYml0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIFVwZGF0ZSBkb2N1bWVudGF0aW9uIGEgYml0LgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdsaW1hZ2VzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleHJlc2FtcGxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3dpdGNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSAgUmVnZW5lcmF0ZSBldmVyeXRoaW5nIGZvciB0aGUgZG9jdW1lbnRhdGlvbiBjaGFuZ2VzIHdlIGhhZC4KCjIwMDgtMDEtMzAgMTM6Mjk6MTUgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBMZXQgdGhlIHByb3h5IHByb3BlcnR5IGRlZmF1bHQgdG8gdGhlIGNvbnRlbnQgb2YgdGhlICRodHRwX3Byb3h5IGVudmlyb25tZW50IHZhcmlhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cGh0dHBfc3JjX2luaXQpOgoJICBMZXQgdGhlIHByb3h5IHByb3BlcnR5IGRlZmF1bHQgdG8gdGhlIGNvbnRlbnQgb2YgdGhlICRodHRwX3Byb3h5CgkgIGVudmlyb25tZW50IHZhcmlhYmxlLgoKMjAwOC0wMS0zMCAxMzowODo0NSArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIG1pc3NpbmcgZmlsZXMgZm9yIHRoZSB1bml0IHRlc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogdGVzdHMvY2hlY2svdGVzdC1jZXJ0LnBlbToKCSAgKiB0ZXN0cy9jaGVjay90ZXN0LWtleS5wZW06CgkgIEFkZCBtaXNzaW5nIGZpbGVzIGZvciB0aGUgdW5pdCB0ZXN0LgoKMjAwOC0wMS0zMCAxMzowNjowMSArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCBzb3VwaHR0cHNyYyB0byB0aGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBBZGQgc291cGh0dHBzcmMgdG8gdGhlIGRvY3MuCgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cGh0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19pbml0KSwgKGdzdF9zb3VwaHR0cF9zcmNfZGlzcG9zZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3NldF9wcm9wZXJ0eSksIChnc3Rfc291cGh0dHBfc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfc291cGh0dHBfc3JjX2NhbmNlbF9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfcXVldWVfbWVzc2FnZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX2FkZF9yYW5nZV9oZWFkZXIpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zZXNzaW9uX3VucGF1c2VfbWVzc2FnZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3Nlc3Npb25fcGF1c2VfbWVzc2FnZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3Nlc3Npb25fY2xvc2UpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19nb3RfaGVhZGVyc19jYiksIChnc3Rfc291cGh0dHBfc3JjX2dvdF9ib2R5X2NiKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfZmluaXNoZWRfY2IpLCAoZ3N0X3NvdXBodHRwX3NyY19nb3RfY2h1bmtfY2IpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19yZXNwb25zZV9jYiksIChnc3Rfc291cGh0dHBfc3JjX3BhcnNlX3N0YXR1cyksCgkgIChnc3Rfc291cGh0dHBfc3JjX2NyZWF0ZSksIChnc3Rfc291cGh0dHBfc3JjX3N0YXJ0KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc3RvcCksIChnc3Rfc291cGh0dHBfc3JjX3VubG9jayksCgkgIChnc3Rfc291cGh0dHBfc3JjX3VubG9ja19zdG9wKSwgKGdzdF9zb3VwaHR0cF9zcmNfZ2V0X3NpemUpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19pc19zZWVrYWJsZSksIChnc3Rfc291cGh0dHBfc3JjX2RvX3NlZWspLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zZXRfbG9jYXRpb24pLCAoZ3N0X3NvdXBodHRwX3NyY19zZXRfcHJveHkpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIEFkZCBzdXBwb3J0IGZvciBsaWJzb3VwMi40IGFuZCByZXF1aXJlIGl0LiBBbHNvIGltcGxlbWVudCByZWRpcmVjdGlvbgoJICBhbmQgbWFudWFsIHByb3h5IHNwZWNpZmljYXRpb24uIEZpeGVzIGJ1ZyAjNTEwNzA4LgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgQWRkIHVuaXQgdGVzdCBmb3Igc291cGh0dHBzcmMuCgoyMDA4LTAxLTI5IDE4OjQzOjMyICswMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyb0BubnZhLm9yZz4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZW5jLio6IFByZWFsbG9jYXRlIHRoZSBvdXRwdXQgYnVmZmVyIHNvIHRoYXQgZ19tZW1kdXAoKSBhbmQgZ3N0X2J1ZmZlcl9tZXJnZSgpIGFyZW4ndCBuZWVkZWQgYW55bW9yZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvIGF0IG5udmEgZG90IG9yZz4KCSAgKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOiAodXNlcl93cml0ZV9kYXRhKSwgKGdzdF9wbmdlbmNfY2hhaW4pOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmg6CgkgIFByZWFsbG9jYXRlIHRoZSBvdXRwdXQgYnVmZmVyIHNvIHRoYXQgZ19tZW1kdXAoKSBhbmQKCSAgZ3N0X2J1ZmZlcl9tZXJnZSgpIGFyZW4ndCBuZWVkZWQgYW55bW9yZS4gVGhpcyBncmVhdGx5IGltcHJvdmVzCgkgIHBlcmZvcm1hbmNlcyBhbmQgZml4ZXMgIzUxMjU0NC4KCjIwMDgtMDEtMjkgMTg6MjQ6MjggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IEdTdHJlYW1lciB0aW1lc3RhbXBzIGFyZSBQVFMgdmFsdWVzIHdoaWxlIEFWSSBvbmx5IGtub3dzIGFib3V0IERUUyB0aW1lc3RhbXBzLiBNYWtlIHN1cmUgd2Ugb24uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fZGF0YSk6CgkgIEdTdHJlYW1lciB0aW1lc3RhbXBzIGFyZSBQVFMgdmFsdWVzIHdoaWxlIEFWSSBvbmx5IGtub3dzIGFib3V0IERUUwoJICB0aW1lc3RhbXBzLiBNYWtlIHN1cmUgd2Ugb25seSBjb3B5IHRoZSBEVFMgYXMgdGhlIGJ1ZmZlciB0aW1lc3RhbXAgd2hlbgoJICB3ZSBhcmUgZGVhbGluZyB3aXRoIGEga2V5IGZyYW1lLgoKMjAwOC0wMS0yOSAxNTo0NTo0OCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgYWRkIHRlc3RzdWl0ZSBmb3IgdGhlIHJ0cC1wYXlsb2FkZXIgdGhhdCB0cmllcyBzaW11bGF0aW5nIGRhdGFmbG93LiBOZWVkcyBtb3JlIHRlc3QgZGF0YS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICBBZGQgYWRkIHRlc3RzdWl0ZSBmb3IgdGhlIHJ0cC1wYXlsb2FkZXIgdGhhdCB0cmllcyBzaW11bGF0aW5nCgkgIGRhdGFmbG93LiBOZWVkcyBtb3JlIHRlc3QgZGF0YS4KCjIwMDgtMDEtMjkgMTU6Mjc6MDIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FscGhhY29sb3IuYzogUmVtb3ZlIHR3byB1bnVzZWQgdmFyaWFibGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbHBoYWNvbG9yLmM6CgkgIFJlbW92ZSB0d28gdW51c2VkIHZhcmlhYmxlcy4KCjIwMDgtMDEtMjggMTI6MTc6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFVzZSBnX2FzY2lpX3N0cnRvbGwoKSBpbnN0ZWFkIG9mIGF0b2xsLCB3aGljaCBpcyBvbmx5IGF2YWlsYWJsZSBpbiBDOTkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3BhcnNlX3J0cGluZm8pOgoJICBVc2UgZ19hc2NpaV9zdHJ0b2xsKCkgaW5zdGVhZCBvZiBhdG9sbCwgd2hpY2ggaXMgb25seQoJICBhdmFpbGFibGUgaW4gQzk5LgoKMjAwOC0wMS0yNiAxNjoxOToyNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci86IERvbid0IGltcGxlbWVudCBnZXRfdW5pdF9zaXplKCkgb3Vyc2VsdmVzLCB0aGUgR3N0QXVkaW9GaWx0ZXIgYmFzZSBjbGFzcyBhbHJlYWR5IGRvZXMgdGhpcyBmb3IgdXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoZ3N0X2Jwd3NpbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19jbGFzc19pbml0KToKCSAgRG9uJ3QgaW1wbGVtZW50IGdldF91bml0X3NpemUoKSBvdXJzZWx2ZXMsIHRoZSBHc3RBdWRpb0ZpbHRlciBiYXNlCgkgIGNsYXNzIGFscmVhZHkgZG9lcyB0aGlzIGZvciB1cy4KCjIwMDgtMDEtMjUgMTA6NTM6MTcgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogQWRkIE1QRUcyIHZpZGVvIHBheWxvYWRlcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5oOgoJICBBZGQgTVBFRzIgdmlkZW8gcGF5bG9hZGVyCgoyMDA4LTAxLTIzIDE3OjA1OjMyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogVXNlICNpbmNsdWRlIDxtYXRoLmg+IGluc3RlYWQgb2YgI2luY2x1ZGUgIm1hdGguaCIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBVc2UgI2luY2x1ZGUgPG1hdGguaD4gaW5zdGVhZCBvZiAjaW5jbHVkZSAibWF0aC5oIi4KCjIwMDgtMDEtMjEgMTk6NDE6NDUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IEZpeCB1cCBzb21lIENGTEFHUyBzZXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgRml4IHVwIHNvbWUgQ0ZMQUdTIHNldHMuCgkgIERvbid0IGluY2x1ZGUgZ2NvbmZ2aWRlb3NyYyBpbiB0aGUgc3RhdGVzIHRlc3QuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2RldGVjdC5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBBZGQgc29tZSBlcnJvciBzdHJpbmdzIHRvIGZhaWxfdW5sZXNzIGFyZ3VtZW50cyB0byBmaXggc29tZSB3ZWlyZAoJICBjb21waWxlciBlcnJvcnMgb24gU29sYXJpcy4KCjIwMDgtMDEtMjEgMTk6MzU6NTggKzAwMDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogRGV0ZWN0IHZpZGVvNGxpbnV4IGhlYWRlcnMgb24gU29sYXJpcyB0b28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRGV0ZWN0IHZpZGVvNGxpbnV4IGhlYWRlcnMgb24gU29sYXJpcyB0b28uCgkgICogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJfYnVmZmVyX2ZpbmFsaXplKSwKCSAgKGdzdF92NGwyX2J1ZmZlcl9uZXcpOgoJICBNYWtlIHY0bDIgYnVpbGQgb24gU29sYXJpcy4KCSAgUGF0Y2ggYnk6IEJyaWFuIENhbWVyb24gIDxicmlhbi5jYW1lcm9uIGF0IHN1biBkb3QgY29tPgoJICBGaXhlczogIzUxMDUwNQoKMjAwOC0wMS0yMSAxMTo0NjoxOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6IFVwZGF0ZSBsaXN0IGZyb20gKHN0aWxsIGxvY2FsKSBzY2FubmluZyBzY3JpcHQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICBVcGRhdGUgbGlzdCBmcm9tIChzdGlsbCBsb2NhbCkgc2Nhbm5pbmcgc2NyaXB0LgoKMjAwOC0wMS0yMSAwOTo1NzowNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIHN5bWJvbHMgZnJvbSAtdW51c2VkLnR4dCB0byB0aGUgcmlnaHQgcGxhY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBBZGQgc3ltYm9scyBmcm9tIC11bnVzZWQudHh0IHRvIHRoZSByaWdodCBwbGFjZS4KCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1Lmg6CgkgIENvaGVyZW50IG5hbWVzcGFjZSB1c2FnZS4KCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgRml4IGJyb2tlbiBYTUwgZnJhZ21lbnQgaW4gZG9jIHNuaXBwZXQgZXZlbiBtb3JlLgoKMjAwOC0wMS0yMSAwNzo1NDowMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOiBVcGRhdGUgaW5jbHVkZSBsaXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIFVwZGF0ZSBpbmNsdWRlIGxpc3QuCgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgVXBkYXRlIHhtbCBpbmNsdWRlcy4KCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHZkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGludGVybGFjZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXhyZXNhbXBsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN3aXRjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRpbWlkaXR5LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbmdoZWFkZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgUmVnZW5lcmF0ZSBmaWxlcy4KCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgRml4IGJyb2tlbiBYTUwgZnJhZ21lbnQgaW4gZG9jIHNuaXBwZXQuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgQWRkIHRlc3QgYmluYXJ5IHRvIGlnbm9yZXMuCgoyMDA4LTAxLTIwIDA1OjA3OjUyICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogUmVwb3J0IHRoZSBzaXplIG9mIHRoZSBzdHJlYW0gYXMgdGhlIHRvdGFsIHNpemUgaW5zdGVhZCBvZiB0aGUgcmVtYWluaW5nIENvbnRlbnQtTGVuZ3RoLCB3Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKHNvdXBfZ290X2hlYWRlcnMpOgoJICBSZXBvcnQgdGhlIHNpemUgb2YgdGhlIHN0cmVhbSBhcyB0aGUgdG90YWwgc2l6ZSBpbnN0ZWFkIG9mCgkgIHRoZSByZW1haW5pbmcgQ29udGVudC1MZW5ndGgsIHdoaWNoIGlzIHdyb25nIGFmdGVyIGEgc2Vlay4KCjIwMDgtMDEtMTkgMTQ6NTk6MDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIENoYW5nZUxvZzoKCSAgQWRkIGJ1ZyBudW1iZXIgdG8gdGhlIGxhdGVzdCBlbnRyeQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkIGJ1ZyBudW1iZXIgdG8gdGhlIGxhdGVzdCBlbnRyeQoKMjAwOC0wMS0xOSAxNDo1Mzo1OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IFNldCB2YXJpYWJsZSB0byBOVUxMIGFmdGVyIGZyZWVpbmcgaXQgdG8gcHJldmVudCBkb3VibGUgZnJlZXMgb3IgbWFrZSBmYWlsdXJlcyBieSBhbm90aGVyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5OgoJICBWaWN0b3IgU1RJTk5FUiA8dmljdG9yIGRvdCBzdGlubmVyIGF0IGhheXBvY2FsYyBkb3QgY29tPgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKToKCSAgU2V0IHZhcmlhYmxlIHRvIE5VTEwgYWZ0ZXIgZnJlZWluZyBpdCB0byBwcmV2ZW50IGRvdWJsZSBmcmVlcwoJICBvciBtYWtlIGZhaWx1cmVzIGJ5IGFub3RoZXIgdXNlIG9mIGl0IGFmdGVyd2FyZHMgbW9yZSBvYnZpb3VzCgkgIGFuZCBmaXggdXNlIG9mIGl0IGFmdGVyIHRoZSBmcmVlaW5nLgoKMjAwOC0wMS0xOSAxNDozNDo1MCArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IENvcnJlY3RseSBzZXQgZHVyYXRpb24gb24gdGhlIEdzdEJhc2VTcmMgc2VnbWVudCB3aGVuIHdlIGtub3cgaXQgdG8gZml4IGZhaWxpbmcgdGhlIGR1cmF0aS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChzb3VwX2dvdF9oZWFkZXJzKToKCSAgQ29ycmVjdGx5IHNldCBkdXJhdGlvbiBvbiB0aGUgR3N0QmFzZVNyYyBzZWdtZW50IHdoZW4gd2Uga25vdyBpdAoJICB0byBmaXggZmFpbGluZyB0aGUgZHVyYXRpb24gcXVlcnkuCgoyMDA4LTAxLTE4IDEzOjQwOjM4ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogdXNlIEdTVF9XQVJOSU5HIGZvciBsb2dnaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIHVzZSBHU1RfV0FSTklORyBmb3IgbG9nZ2luZwoKMjAwOC0wMS0xOCAxMDowNTo1MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzogRml4IG1lbW9yeSBsZWFrIHNwb3R0ZWQgYnkgdGhlIHVuaXQgdGVzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzogKGdzdF9tdWx0aV9maWxlX3NyY19jcmVhdGUpOgoJICBGaXggbWVtb3J5IGxlYWsgc3BvdHRlZCBieSB0aGUgdW5pdCB0ZXN0LgoKMjAwOC0wMS0xOCAxMDowNDoyNSArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IERvbid0IHRyeSB0byBsZWF2ZSBhIG11bHRpY2FzdCBncm91cCB3aXRoIGFuIGludmFsaWQgc29ja2V0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIERvbid0IHRyeSB0byBsZWF2ZSBhIG11bHRpY2FzdCBncm91cCB3aXRoIGFuIGludmFsaWQgc29ja2V0CgoyMDA4LTAxLTE4IDA4OjQ5OjU5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay86IEFkZCBzb21lIG1pbmltYWwgdGVzdHMgZm9yIHRoZSBlcXVhbGl6ZXIgcGx1Z2luLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2VxdWFsaXplci5jOiAoc2V0dXBfZXF1YWxpemVyKSwKCSAgKGNsZWFudXBfZXF1YWxpemVyKSwgKEdTVF9TVEFSVF9URVNUKSwgKGVxdWFsaXplcl9zdWl0ZSksIChtYWluKToKCSAgQWRkIHNvbWUgbWluaW1hbCB0ZXN0cyBmb3IgdGhlIGVxdWFsaXplciBwbHVnaW4uCgoyMDA4LTAxLTE4IDA3OjAzOjIzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiBVbnBhcmVudCBhbGwgYmFuZHMgZnJvbSB0aGUgZXF1YWxpemVyIHdoZW4gZmluYWxpemluZyB0byBzdG9wIGxlYWtpbmcJdGhlbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKGdzdF9paXJfZXF1YWxpemVyX2ZpbmFsaXplKToKCSAgVW5wYXJlbnQgYWxsIGJhbmRzIGZyb20gdGhlIGVxdWFsaXplciB3aGVuIGZpbmFsaXppbmcgdG8gc3RvcAoJICBsZWFraW5nCXRoZW0uCgoyMDA4LTAxLTE4IDA1OjMyOjI2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBBZGQgc3VwcG9ydCBmb3IgV2ViREFWLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBodHRwX3NyY191cmlfZ2V0X3Byb3RvY29scyk6CgkgIEFkZCBzdXBwb3J0IGZvciBXZWJEQVYuCgoyMDA4LTAxLTE4IDA1OjI0OjM5ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuKjogQWRkIHN1cHBvcnQgZm9yIHNlZWtpbmcgdG8gc291cGh0dHBzcmMuIEZpeGVzIGJ1ZyAjNTAyMzM1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cGh0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19pbml0KSwgKGdzdF9zb3VwaHR0cF9zcmNfY3JlYXRlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfaXNfc2Vla2FibGUpLCAoZ3N0X3NvdXBodHRwX3NyY19kb19zZWVrKSwKCSAgKHNvdXBfYWRkX3JhbmdlX2hlYWRlciksIChzb3VwX2dvdF9oZWFkZXJzKSwgKHNvdXBfZ290X2NodW5rKToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBBZGQgc3VwcG9ydCBmb3Igc2Vla2luZyB0byBzb3VwaHR0cHNyYy4gRml4ZXMgYnVnICM1MDIzMzUuCgoyMDA4LTAxLTE3IDIxOjIzOjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiB3aGVyZSB0aGUgcGljdHVyZSBtZXRhZGF0YSBkZWZpbmVzIGFuZCBzdHJ1Y3RzIGRvbid0IGV4aXN0IHlldC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBGaXggY29tcGlsYXRpb24gYWdhaW5zdCBmbGFjIDEuMS4yIChhcyBvbiBkZWJpYW4gc3RhYmxlKSwgd2hlcmUKCSAgdGhlIHBpY3R1cmUgbWV0YWRhdGEgZGVmaW5lcyBhbmQgc3RydWN0cyBkb24ndCBleGlzdCB5ZXQuCgkgIEZpeGVzICM1MDkzMDEuCgoyMDA4LTAxLTE3IDExOjEzOjE2ICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuKjogQWRkIHByb3BlcnR5IHRvIGF1dG9tYXRpY2FsbHkgam9pbiBhIG11bHRpY2FzdCBncm91cCBvciBub3QuIFRoaXMgY2FuIGJlIHVzZWZ1bCB3aGVuIHNoYXJpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2luaXQpLCAoZ3N0X211bHRpdWRwc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X211bHRpdWRwc2lua19nZXRfcHJvcGVydHkpLCAoZ3N0X211bHRpdWRwc2lua19pbml0X3NlbmQpLAoJICAoZ3N0X211bHRpdWRwc2lua19hZGRfaW50ZXJuYWwpLCAoZ3N0X211bHRpdWRwc2lua19yZW1vdmUpOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgIEFkZCBwcm9wZXJ0eSB0byBhdXRvbWF0aWNhbGx5IGpvaW4gYSBtdWx0aWNhc3QgZ3JvdXAgb3Igbm90LiBUaGlzIGNhbiBiZQoJICB1c2VmdWwgd2hlbiBzaGFyaW5nIGEgc29ja2V0IGJldHdlZW4gbXVsdGlwbGUgZWxlbWVudHMuCgkgIEZpeGVzICM1MDk1MzEuCgoyMDA4LTAxLTE2IDIxOjUzOjQxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbTogQWRkIGNvbnRyb2xsZXIgZmxhZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJICBBZGQgY29udHJvbGxlciBmbGFncy4KCjIwMDgtMDEtMTYgMjA6MTc6MDggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogQWxzbyBjb21taXQgdGhlIG1pc3NpbmcgZ3N0X29iamVjdF9zeW5jX3ZhbHVlcygpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIEFsc28gY29tbWl0IHRoZSBtaXNzaW5nIGdzdF9vYmplY3Rfc3luY192YWx1ZXMoKS4KCjIwMDgtMDEtMTYgMDg6MTE6NDYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbTogUmVtb3ZlIGR1cGxpY2F0ZSBlbnRyeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBSZW1vdmUgZHVwbGljYXRlIGVudHJ5LgoKMjAwOC0wMS0xNSAxNjo1MjoxMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIDMgbW9yZSBwbHVnaW5zIHRvIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJICBBZGQgMyBtb3JlIHBsdWdpbnMgdG8gZG9jcy4KCjIwMDgtMDEtMTUgMTY6MDQ6NDQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFJldmVydCBwcmV2aW91cyBjaGFuZ2UgY2F1c2VkIGJ5IGEgZmlsZSB0aGF0IGdvdCBzdHVjayBvbiBhbiBvbGQgcmV2aXNpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgUmV2ZXJ0IHByZXZpb3VzIGNoYW5nZSBjYXVzZWQgYnkgYSBmaWxlIHRoYXQgZ290IHN0dWNrIG9uIGFuIG9sZAoJICByZXZpc2lvbi4KCjIwMDgtMDEtMTUgMTU6NDA6NTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFJlLWFkZCBtdWx0aXBhcnRkZW11eCB0byB0aGUgZG9jcy4gTGFzdCByb3VuZCBvZiBzZWN0aW9uIGNsZWFudXAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGdzdC9tdWx0aXBhcnQvTWFrZWZpbGUuYW06CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguaDoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4Lmg6CgkgIFJlLWFkZCBtdWx0aXBhcnRkZW11eCB0byB0aGUgZG9jcy4gTGFzdCByb3VuZCBvZiBzZWN0aW9uIGNsZWFudXAuCgoyMDA4LTAxLTE1IDE1OjIyOjQxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBNYW5hZ2VkIHRvIHJlc29sdmUgbW9zdCB1bnVzZWQgZGVjbGFyYXRpb25zLiBGaWxlZCBhIGJ1ZyBmb3Igb25lIGxlZnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmg6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICBNYW5hZ2VkIHRvIHJlc29sdmUgbW9zdCB1bnVzZWQgZGVjbGFyYXRpb25zLiBGaWxlZCBhIGJ1ZyBmb3Igb25lIGxlZnQuCgoyMDA4LTAxLTE1IDA4OjAzOjQ5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDogQ2xlYW51cCBzZWN0aW9uIGZpbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBDbGVhbnVwIHNlY3Rpb24gZmlsZS4KCjIwMDgtMDEtMTUgMDc6NDI6NTEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IFVwZGF0ZSBwbHVnaW4gZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICBVcGRhdGUgcGx1Z2luIGRvY3MuCgkgICogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuaDoKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVycGFkLmg6CgkgIFNwbGl0IG91dCBoZWFkZXIgdG8gZml4IHdhcm5pbmdzIGZyb20gdGhlIGRvYy1idWlsZC4KCjIwMDgtMDEtMTQgMTI6MzU6MjMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBBcyBmb3VuZCBieTogVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLm15b2hhbmVuIG5va2lhIGNvbT4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFzIGZvdW5kIGJ5OiBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkubXlvaGFuZW4gbm9raWEgY29tPgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3BhcnNlX3J0cGluZm8pOgoJICBVc2UgYXRvbGwgdG8gcGFyc2UgdGhlIHJ0cHRpbWUgd2l0aCBlbm91Z2ggcHJlY2lzaW9uLiBGaXhlcyAjNTA5MzI5LgoKMjAwOC0wMS0xNCAxMjoxMTo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC86IEluaXRpYWxpc2UgdmFyaWFibGVzIHRvIHdvcmsgYXJvdW5kIChmYWxzZSkgJ2ZvbyBtaWdodCBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbicgd2FybmluZ3MgYnkgZ2NjLS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6IChnc3RfYXZpX3N1YnRpdGxlX2V4dHJhY3RfZmlsZSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc2VuZCk6CgkgIEluaXRpYWxpc2UgdmFyaWFibGVzIHRvIHdvcmsgYXJvdW5kIChmYWxzZSkgJ2ZvbyBtaWdodCBiZSB1c2VkCgkgIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbicgd2FybmluZ3MgYnkgZ2NjLTMuMy4zICgjNTA5Mjk4KS4KCjIwMDgtMDEtMTIgMDI6MzI6MzUgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgSWdub3JlIG1vcmUgZmlsZXMgZm9yIHRoZSBidWlsZGJvdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzLy5jdnNpZ25vcmU6CgkgIElnbm9yZSBtb3JlIGZpbGVzIGZvciB0aGUgYnVpbGRib3QuCgoyMDA4LTAxLTExIDIxOjA4OjU5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIEdlbmVyYXRlIHRoZSBpbWFnZS10eXBlIHZhbHVlcyBjb3JyZWN0bHkuIExlYXZlIHRoZW0gb3V0IG9mIHRoZSBjYXBzIHdoZW4gb3V0cHV0dGluZyBhICJwcmV2aWV3IGltYWdlIiB0YWcsIHNpbmNlIGl0IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19leHRyYWN0X3BpY3R1cmVfYnVmZmVyKToKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKHBhcnNlX3BpY3R1cmVfZnJhbWUpOgoJICBHZW5lcmF0ZSB0aGUgaW1hZ2UtdHlwZSB2YWx1ZXMgY29ycmVjdGx5LiBMZWF2ZSB0aGVtIG91dCBvZiB0aGUgY2FwcwoJICB3aGVuIG91dHB1dHRpbmcgYSAicHJldmlldyBpbWFnZSIgdGFnLCBzaW5jZSBpdCBvbmx5IG1ha2VzIHNlbnNlCgkgIHRvIGhhdmUgb25lIG9mIHRob3NlIC0gdGhlIHR5cGUgaXMgaXJyZWxldmFudC4KCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzoKCSAgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfb3Blbik6CgkgIElmIHdlIGNhbiwgbWFyayB0aGUgbWl4ZXIgbXVsdGlwbGUgb3BlbiB3aGVuIHdlIHVzZSBpdCwgaW4gY2FzZQoJICAoZm9yIHNvbWUgcmVhc29uKSB0aGUgcHJvY2VzcyB3YW50cyB0byBvcGVuIGl0IGFnYWluIGVsc2V3aGVyZS4KCjIwMDgtMDEtMTEgMTk6MTY6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy86IEl0J3MgImVuZGlhbm5lc3MiLCBub3QgImVuZGlhbmVzcyIuIEZpeGVzIHVuaXQgdGVzdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogKHRlc3RfYnVmZmVyX2NvbnN0X2Zsb2F0X21vbm8pLAoJICAodGVzdF9idWZmZXJfY29uc3RfZmxvYXRfc3RlcmVvKSwgKHRlc3RfYnVmZmVyX2NvbnN0X2ludDE2X21vbm8pLAoJICAodGVzdF9idWZmZXJfY29uc3RfaW50MTZfc3RlcmVvKSwgKHRlc3RfYnVmZmVyX3NxdWFyZV9mbG9hdF9tb25vKSwKCSAgKHRlc3RfYnVmZmVyX3NxdWFyZV9mbG9hdF9zdGVyZW8pLCAodGVzdF9idWZmZXJfc3F1YXJlX2ludDE2X21vbm8pLAoJICAodGVzdF9idWZmZXJfc3F1YXJlX2ludDE2X3N0ZXJlbyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdsaW1pdGVyLmM6IChjcmVhdGVfdGVzdF9idWZmZXIpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jndm9sdW1lLmM6ICh0ZXN0X2J1ZmZlcl9uZXcpOgoJICBJdCdzICJlbmRpYW5uZXNzIiwgbm90ICJlbmRpYW5lc3MiLiBGaXhlcyB1bml0IHRlc3RzLgoKMjAwOC0wMS0xMSAxODo1NjowNiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy8uY3ZpZ25vcmU6CgkgIGlnbm9yZSBzb21lIG1vcmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGlnbm9yZSBzb21lIG1vcmUKCjIwMDgtMDEtMTEgMTg6NTQ6MzEgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICBpZ25vcmUgc29tZSBtb3JlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBpZ25vcmUgc29tZSBtb3JlCgoyMDA4LTAxLTExIDE3OjIxOjMwICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cC86IEZpeCB0aGUgY2xvY2sgcmF0ZSB0byA5MDAwMCBhcyByZXF1aXJlZCBieSB0aGUgUkZDLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzogKGdzdF9ydHBfdGhlb3JhX2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgIEZpeCB0aGUgY2xvY2sgcmF0ZSB0byA5MDAwMCBhcyByZXF1aXJlZCBieSB0aGUgUkZDLgoJICBGaXhlcyAjNTA4NjQ0LgoKMjAwOC0wMS0xMSAxNzoxMjozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ljeWRlbXV4LmM6IERvbid0IHVzZSBkZXByZWNhdGVkIEdTVF9QTFVHSU5fREVGSU5FX1NUQVRJQy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaWN5ZGVtdXguYzogKEdTVF9TVEFSVF9URVNUKSwgKGljeWRlbXV4X3N1aXRlKToKCSAgRG9uJ3QgdXNlIGRlcHJlY2F0ZWQgR1NUX1BMVUdJTl9ERUZJTkVfU1RBVElDLgoKMjAwOC0wMS0xMCAxMjoyNTo0NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgYXV0b2dlbi5zaDogQWRkIC1Xbm8tcG9ydGFiaWxpdHkgdG8gdGhlIGF1dG9tYWtlIHBhcmFtZXRlcnMgdG8gc3RvcCB3YXJuaW5ncyBhYm91dCBHTlUgbWFrZSBleHRlbnNpb25zIGJlaW5nIHVzZWQuIFdlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGF1dG9nZW4uc2g6CgkgIEFkZCAtV25vLXBvcnRhYmlsaXR5IHRvIHRoZSBhdXRvbWFrZSBwYXJhbWV0ZXJzIHRvIHN0b3Agd2FybmluZ3MKCSAgYWJvdXQgR05VIG1ha2UgZXh0ZW5zaW9ucyBiZWluZyB1c2VkLiBXZSByZXF1aXJlIEdOVSBtYWtlIGluIGFsbW9zdAoJICBldmVyeSBNYWtlZmlsZSBhbnl3YXkuCgkgICogY29uZmlndXJlLmFjOgoJICBVc2UgQU1fUFJPR19DQ19DX08gYXMgYSBjb21waWxlciB0aGF0IGFjY2VwdHMgYm90aCAtYyBhbmQgLW8KCSAgYXQgdGhlIHNhbWUgdGltZSBpcyByZXF1aXJlZCBmb3IgcGVyIHRhcmdldCBmbGFncy4KCjIwMDgtMDEtMDkgMTU6Mjg6MjkgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IEZpeCBlcnJvciBmcm9tIG15IGxhc3QgY29tbWl0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IChnc3RfdmlkZW9taXhlcl9pbml0KToKCSAgRml4IGVycm9yIGZyb20gbXkgbGFzdCBjb21taXQuCgoyMDA4LTAxLTA5IDE1OjIwOjE5ICswMDAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkubXlvaGFuZW5Abm9raWEuY29tPgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IE1ha2Ugc3VyZSB0aGUgSVNPIDYzOS1YIGxhbmd1YWdlIGNvZGUgaW4gSUQzdjIgQ09NTSBmcmFtZXMgc28gd2UgZG9uJ3QgZW5kIHVwIHdpdGggbm9uLVVULi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLm15b2hhbmVuIG5va2lhIGNvbT4KCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKHBhcnNlX2NvbW1lbnRfZnJhbWUpOgoJICBNYWtlIHN1cmUgdGhlIElTTyA2MzktWCBsYW5ndWFnZSBjb2RlIGluIElEM3YyIENPTU0gZnJhbWVzCgkgIGlzIGFjdHVhbGx5IHZhbGlkIFVURi04IChvciByYXRoZXI6IEFTQ0lJKSwgc28gd2UgZG9uJ3QgZW5kCgkgIHVwIHdpdGggbm9uLVVURjggc3RyaW5ncyBpbiB0YWdzIGlmIHRoZXJlJ3MgZ2FyYmFnZSBpbiB0aGUKCSAgbGFuZ3VhZ2UgZmllbGQuIEFsc28gbWFrZSBzdXJlIHRoZSBsYW5ndWFnZSBjb2RlIGlzIGFsd2F5cwoJICBsb3dlciBjYXNlLiBGaXhlczogIzUwODI5MS4KCjIwMDgtMDEtMDkgMTM6NTU6MjggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIENoYW5nZUxvZzogRml4IENoYW5nZUxvZyB0eXBvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBDaGFuZ2VMb2c6CgkgIEZpeCBDaGFuZ2VMb2cgdHlwby4KCjIwMDgtMDEtMDkgMTM6NTA6MDkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIE1ha2VmaWxlLmFtOiBJbmNsdWRlIGxjb3YubWFrIHRvIGFsbG93IGJ1aWxnaW5nIGNvdmVyYWdlIHJlcG9ydHMuIEd1YXJkIGNoZWNrLXRvcnR1cmUgdGFyZ2V0IGxpa2UgaW4gdGhlIG90aGVyIHBhY2thZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBNYWtlZmlsZS5hbToKCSAgSW5jbHVkZSBsY292Lm1hayB0byBhbGxvdyBidWlsZ2luZyBjb3ZlcmFnZSByZXBvcnRzLiBHdWFyZAoJICBjaGVjay10b3J0dXJlIHRhcmdldCBsaWtlIGluIHRoZSBvdGhlciBwYWNrYWdlcy4KCjIwMDgtMDEtMDkgMTI6MzM6NTggKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IEltcGxlbWVudCBHc3RDaGlsZFByb3h5IGludGVyZmFjZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJldmlld2VkIGJ5OiBFZHdhcmQgSGVydmV5ICA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICAoZ3N0X3ZpZGVvbWl4ZXJfc2V0X21hc3Rlcl9nZW9tZXRyeSksIChfZG9faW5pdCksCgkgIChnc3RfdmlkZW9taXhlcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRfYnlfaW5kZXgpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkcmVuX2NvdW50KSwKCSAgKGdzdF92aWRlb21peGVyX2NoaWxkX3Byb3h5X2luaXQpLCAoZ3N0X3ZpZGVvbWl4ZXJfcmVzZXQpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfaW5pdCksIChnc3RfdmlkZW9taXhlcl9yZXF1ZXN0X25ld19wYWQpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfcmVsZWFzZV9wYWQpLCAoZ3N0X3ZpZGVvbWl4ZXJfZmlsbF9xdWV1ZXMpOgoJICBJbXBsZW1lbnQgR3N0Q2hpbGRQcm94eSBpbnRlcmZhY2UuCgkgIFNlbmQgbmV3c2VnbWVudCBhdCB0aGUgcmlnaHQgbW9tZW50CgkgIEZpeGVzICM0ODg4NzkKCjIwMDgtMDEtMDkgMTI6MDE6MTQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvYWxwaGEvOiBNYWtlIHRoZSB2YXJpb3VzIHByb3BlcnRpZXMgb2YgJ2FscGhhJyBjb250cm9sbGFibGUuIFRoaXMgYWxsb3dzIGRvaW5nIG5pY2V0aWVzIGxpa2UgZmFkZS1pbi9mYWRlLW91dC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FscGhhL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOiAoZ3N0X2FscGhhX2NsYXNzX2luaXQpLCAoZ3N0X2FscGhhX2luaXQpLAoJICAoZ3N0X2FscGhhX3NpbmtfZXZlbnQpLCAoZ3N0X2FscGhhX2NoYWluKSwKCSAgKGdzdF9hbHBoYV9jaGFuZ2Vfc3RhdGUpLCAocGx1Z2luX2luaXQpOgoJICBNYWtlIHRoZSB2YXJpb3VzIHByb3BlcnRpZXMgb2YgJ2FscGhhJyBjb250cm9sbGFibGUuIFRoaXMgYWxsb3dzIGRvaW5nCgkgIG5pY2V0aWVzIGxpa2UgZmFkZS1pbi9mYWRlLW91dC4KCjIwMDgtMDEtMDkgMTE6MTE6MDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9ydHAvOiBSZW1vdmUgY29weS9wYXN0ZSB1bnVzZWQgY29kZSAocHJvcGVydHkgc2V0dGVycyBhbmQgZ2V0dGVyKSBmb3VuZCBieSB0aGUgY292ZXJhZ2Ugc3VpdGUgKHlheSwgc2F2ZXMgfjIwayBvbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkgIFJlbW92ZSBjb3B5L3Bhc3RlIHVudXNlZCBjb2RlIChwcm9wZXJ0eSBzZXR0ZXJzIGFuZCBnZXR0ZXIpIGZvdW5kIGJ5CgkgIHRoZSBjb3ZlcmFnZSBzdWl0ZSAoeWF5LCBzYXZlcyB+MjBrIG9uIGRpc2spLgoKMjAwOC0wMS0wOCAyMDowMzozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogQWxzbyBmaXggdXAgcGFkIHRlbXBsYXRlcyB0byBpbmRpY2F0ZSB0aGF0IGltYWdlL2pwZWcgZG9lc24ndCBhYnNvbHV0ZWx5IHJlcXVpcmUgdGhlIGZyYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChDT01NT05fVklERU9fQ0FQU19OT19GUkFNRVJBVEUpLAoJICAodmlkZW9zaW5rX3RlbXBsKToKCSAgQWxzbyBmaXggdXAgcGFkIHRlbXBsYXRlcyB0byBpbmRpY2F0ZSB0aGF0IGltYWdlL2pwZWcgZG9lc24ndAoJICBhYnNvbHV0ZWx5IHJlcXVpcmUgdGhlIGZyYW1lcmF0ZSBwcm9wZXJ0eSB0byBiZSBzZXQgKCM1MDQwODEpLgoKMjAwOC0wMS0wOCAxOTo1NzoyMyArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguKjogS2VlcCB0cmFjayBvZiBmaXJzdCBhbmQgbGFzdCB0aW1lc3RhbXBzIGZvciBlYWNoIGluY29taW5nIHN0cmVhbSwgc28gd2UgY2FuIGNhbGN1bGF0ZSB0aC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyAgPHdvdXRlciBhdCBtaW5kIGJlPgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfdmlkZW9fcGFkX3NldGNhcHMpLAoJICAoZ3N0X21hdHJvc2thX211eF9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X21hdHJvc2thX211eF9yZWxlYXNlX3BhZCksCgkgIChnc3RfbWF0cm9za2FfbXV4X2ZpbmlzaCksIChnc3RfbWF0cm9za2FfbXV4X2NvbGxlY3RlZCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBLZWVwIHRyYWNrIG9mIGZpcnN0IGFuZCBsYXN0IHRpbWVzdGFtcHMgZm9yIGVhY2ggaW5jb21pbmcgc3RyZWFtLAoJICBzbyB3ZSBjYW4gY2FsY3VsYXRlIHRoZSB0b3RhbCBkdXJhdGlvbiBmb3IgbGl2ZSBzb3VyY2VzIGFuZCBvdGhlcgoJICBpbnB1dCB3aGVyZSB3ZSBjYW4ndCBxdWVyeSB0aGUgZHVyYXRpb24gZnJvbSB0aGUgc3RhcnQgb3Igd2hlcmUKCSAgdGhlcmUncyBubyBjb25zdGFudCBmcmFtZXJhdGUgZnJvbSB3aGljaCB3ZSBjYW4gZGVkdWNlIHRoZQoJICBkdXJhdGlvbjsgYWxzbyB1c2UgY2FsY3VsYXRlZC9vYnNlcnZlZCBkdXJhdGlvbiBpZiBpdCBpcyBiaWdnZXIKCSAgdGhhbiB0aGUgcHJldmlvdXNseSBxdWVyaWVkIGR1cmF0aW9uLiBGdXJ0aGVybW9yZSwgdXNlCgkgIGdzdF9wYWRfcXVlcnlfcGVlcl9kdXJhdGlvbigpIGFuZCB0YWtlIGludG8gYWNjb3VudCB0aGF0IGl0IG1heQoJICByZXR1cm4gVFJVRSBidXQgc3RpbGwgYSBkdXJhdGlvbiBvZiBDTE9DS19USU1FX05PTkUsIHdoaWNoIGVhc2lseQoJICBzY3Jld3MgdXAgY29tcGFyaXNvbnMgd2hlbiB1c2luZyB1bnNpZ25lZCBpbnRlZ2Vycy4gRml4ZXMgIzUwNDA4MS4KCjIwMDgtMDEtMDggMTQ6NTg6MTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIE1ha2UgZWxlbWVudHMgR1NUX0JVRkZFUl9GTEFHX0dBUCBhd2FyZSBhbmQgY2FsbCBnc3RfYmFzZV90cmFuc2Zvcm1fc2V0X2dhcF9hd2FyZSBmb3IgdGhpcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJICAoZ3N0X2F1ZGlvX2FtcGxpZnlfY2xpcHBpbmdfbWV0aG9kX2dldF90eXBlKSwKCSAgKGdzdF9hdWRpb19hbXBsaWZ5X2luaXQpLCAoZ3N0X2F1ZGlvX2FtcGxpZnlfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzogKGdzdF9hdWRpb19keW5hbWljX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2R5bmFtaWNfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5jOiAoZ3N0X2F1ZGlvX2ludmVydF9pbml0KSwKCSAgKGdzdF9hdWRpb19pbnZlcnRfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6IChnc3RfYXVkaW9fcGFub3JhbWFfaW5pdCksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtKToKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogKGdzdF9sZXZlbF9pbml0KToKCSAgTWFrZSBlbGVtZW50cyBHU1RfQlVGRkVSX0ZMQUdfR0FQIGF3YXJlIGFuZCBjYWxsCgkgIGdzdF9iYXNlX3RyYW5zZm9ybV9zZXRfZ2FwX2F3YXJlIGZvciB0aGlzLgoJICBCdW1wIGNvcmUgcmVxdWlyZW1lbnQgdG8gQ1ZTLgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYnlzaGV2ZnJlcWJhbmQuYzoKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9iYW5kX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVieXNoZXZmcmVxbGltaXQuYzoKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9saW1pdF90cmFuc2Zvcm1faXApOgoJICBBbHNvIHN5bmMgR09iamVjdCBwcm9wZXJ0aWVzIHRvIHRoZSBjb250cm9sbGVyIGlmIG9wZXJhdGluZwoJICBpbiBwYXNzdGhyb3VnaCBtb2RlLgoKMjAwOC0wMS0wNyAxNjo0MTowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6IEZBTFNFIGlzIG5vdCBhIGdwb2ludGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua193aW5kb3dfdGhyZWFkKToKCSAgRkFMU0UgaXMgbm90IGEgZ3BvaW50ZXIuCgoyMDA4LTAxLTA1IDIxOjIwOjA4ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6IE1ha2Ugc3VyZSB3ZSBjcmVhdGUgb3VyIGludGVybmFsIHdpbmRvdyBvbmx5IHdoZW4gd2UgbmVlZCBpdC4gVGhhdCB3aWxsIGdpdmUgYSBjaC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0wMS0wNSAgSnVsaWVuIE1vdXR0ZSAgPGp1bGllbkBmbHVlbmRvLmNvbT4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19zZXRfd2luZG93X2lkKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2V0X2NhcHMpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJfYWxsb2MpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19kcmF3X2JvcmRlcnMpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19zaG93X2ZyYW1lKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2V0dXBfZGRyYXcpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua193aW5kb3dfdGhyZWFkKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfZ2V0X2RkcmF3Y2FwcyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3N1cmZhY2VfY3JlYXRlKTogTWFrZSBzdXJlIHdlIGNyZWF0ZSBvdXIKCSAgaW50ZXJuYWwgd2luZG93IG9ubHkgd2hlbiB3ZSBuZWVkIGl0LiBUaGF0IHdpbGwgZ2l2ZSBhIGNoYW5jZSB0bwoJICB0aGUgYXBwbGljYXRpb24gdG8gZ2V0IHRoZSBwcmVwYXJlLXh3aW5kb3ctaWQgYnVzIG1lc3NhZ2UuIERyYXcKCSAgYmxhY2sgYm9yZGVycyB3aGVuIGtlZXBpbmcgYXNwZWN0IHJhdGlvLiBIYW5kbGUgdGhlIGNhc2Ugd2hlcmUKCSAgb3VyCgkgIHJlbmRlcmluZyB3aW5kb3cgZGlzYXBwZWFycyAoY2xvc2VkIG9yIGVycm9ycykgbGlrZSBvdGhlciBzaW5rcwoJICBkby4gVmFyaW91cyA4MCBjb2x1bW5zIGZpeGVzLCBpbXByb3ZlIHN0YXRlIGNoYW5nZSBvcmRlci4gVGhhdAoJICBlbGVtZW50IGNvdWxkIG5lZWQgc29tZSBtb3JlIGxvdmUuCgoyMDA4LTAxLTA0IDE4OjMwOjIxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvdGFnbGliLzogUmVtb3ZlIHVzZWxlc3MgdHlwZWRlZnMgd2l0aG91dCBuZXcgdHlwZSBuYW1lLiBGaXhlcyBhIHdhcm5pbmcgd2l0aCBnY2MgNC4zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdGFwZXYybXV4Lmg6CgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5oOgoJICBSZW1vdmUgdXNlbGVzcyB0eXBlZGVmcyB3aXRob3V0IG5ldyB0eXBlIG5hbWUuIEZpeGVzIGEgd2FybmluZyB3aXRoCgkgIGdjYyA0LjMuCgoyMDA4LTAxLTAzIDEyOjI2OjAzICswMDAwICBKb2huIE1pbGxpa2luIDxqbWlsbGlraW5AZ21haWwuY29tPgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiBFbWl0IG1ldGFkYXRhIG1lc3NhZ2VzIHdoZW4gYSBQSUNUVVJFIGJsb2NrIGlzIGVuY291bnRlcmVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvaG4gTWlsbGlraW4gPGptaWxsaWtpbiBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY19zZXR1cF9zZWVrYWJsZV9kZWNvZGVyKSwKCSAgKGdzdF9mbGFjX2RlY19zZXR1cF9zdHJlYW1fZGVjb2RlciksCgkgIChnc3RfZmxhY19ub3JtYWxpemVfcGljdHVyZV9taW1lX3R5cGUpLAoJICAoZ3N0X2ZsYWNfZXh0cmFjdF9waWN0dXJlX2J1ZmZlciksCgkgIChnc3RfZmxhY19kZWNfbWV0YWRhdGFfY2FsbGJhY2spOgoJICBFbWl0IG1ldGFkYXRhIG1lc3NhZ2VzIHdoZW4gYSBQSUNUVVJFIGJsb2NrIGlzIGVuY291bnRlcmVkLgoJICBGaXhlcyAjNTA2NzE1LgoKMjAwOC0wMS0wMiAxMzo1NDoxMCArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpLmM6IGluY3JlYXNlIHJhbmsgYmVjYXVzZSBubyBrbm93biBpc3N1ZXMgYW55bW9yZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmkuYzoKCSAgaW5jcmVhc2UgcmFuayBiZWNhdXNlIG5vIGtub3duIGlzc3VlcyBhbnltb3JlIC4uLgoJICAqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSAgc2VuZCBzdWJ0aXRsZSBuYW1lIHRvIHRoZSBzcmNwYWQKCjIwMDctMTItMzEgMTM6Mjc6MzIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IEltcGxlbWVudCByZWRpcmVjdCBmb3IgdGhlIERFU0NSSUJFIHJlcGx5LiBGaXhlcyAjNTA2MDI1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zZW5kKSwgKGdzdF9ydHNwc3JjX29wZW4pOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgSW1wbGVtZW50IHJlZGlyZWN0IGZvciB0aGUgREVTQ1JJQkUgcmVwbHkuIEZpeGVzICM1MDYwMjUuCgoyMDA3LTEyLTI5IDE2OjQ4OjMzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IEZpeCAneHl6IG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQnIGNvbXBpbGVyIHdhcm5pbmdzIGNhdXNlZCBieSBicm9rZW4gZ19hc3NlcnRfbm90X3JlYWNoZWQoKSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX3dyaXRlKToKCSAgRml4ICd4eXogbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCcgY29tcGlsZXIgd2FybmluZ3MgY2F1c2VkCgkgIGJ5IGJyb2tlbiBnX2Fzc2VydF9ub3RfcmVhY2hlZCgpIG1hY3JvIGluIEdMaWItMi4xNS54IGFuZCBkb24ndAoJICBhYm9ydCgpIGluIGFueSBjYXNlIGJ1dCBwcm9wZXJseSByZXBvcnQgdGhlIGVycm9yLgoKMjAwNy0xMi0yOCAxMTo0NDoyOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9zb3VwLzogVXNlIGdzdF90YWdfZnJlZWZvcm1fc3RyaW5nX3RvX3V0ZjgoKSBhbmQgcG9zdCByYWRpbyBzdGF0aW9uIGluZm8gYXMgdGFncyBvbiB0aGUgYnVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291cC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBodHRwX3NyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NvdXBodHRwX3NyY191bmljb2RpZnkpLCAoc291cF9nb3RfaGVhZGVycyk6CgkgIFVzZSBnc3RfdGFnX2ZyZWVmb3JtX3N0cmluZ190b191dGY4KCkgYW5kIHBvc3QgcmFkaW8gc3RhdGlvbgoJICBpbmZvIGFzIHRhZ3Mgb24gdGhlIGJ1cy4KCjIwMDctMTItMjYgMTY6MDM6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBGaXggJ3h5eiBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkJyBjb21waWxlciB3YXJuaW5ncyBjYXVzZWQgYnkgYnJva2VuIGdfYXNzZXJ0X25vdF9yZWFjaGVkKCkgbWFjcm8gaW4gR0xpYi0yLjE1LnggKGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9sb29wKToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9jaGFpbik6CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogKGNvbXBvc2l0ZV9waXhlbCk6CgkgIEZpeCAneHl6IG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQnIGNvbXBpbGVyIHdhcm5pbmdzIGNhdXNlZAoJICBieSBicm9rZW4gZ19hc3NlcnRfbm90X3JlYWNoZWQoKSBtYWNybyBpbiBHTGliLTIuMTUueCAoaXQncwoJICBub3QgcmVhbGx5IG5pY2UgdG8gYWJvcnQgaW4gYW55IGNhc2UpLiBGaXhlcyAjNTA1NzQ1LgoKMjAwNy0xMi0yMCAxNzowNzoyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC86IElnbm9yZSBtb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyLy5jdnNpZ25vcmU6CgkgICogZ3N0L3N3aXRjaC8uY3ZzaWdub3JlOgoJICBJZ25vcmUgbW9yZS4KCjIwMDctMTItMTggMjM6MTc6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmlzdWJ0aXRsZS5jOiBTbWFsbCB1bml0IHRlc3QgZml4IChoYXMgbm8gcHJhY3RpY2FsIGltcGFjdCBhdCB0aGUgbW9tZW50LCBzaW5jZSB3ZSdyZSBvbmx5IGZlZWQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpc3VidGl0bGUuYzogKGNoZWNrX2NvcnJlY3RfYnVmZmVyKToKCSAgU21hbGwgdW5pdCB0ZXN0IGZpeCAoaGFzIG5vIHByYWN0aWNhbCBpbXBhY3QgYXQgdGhlIG1vbWVudCwKCSAgc2luY2Ugd2UncmUgb25seSBmZWVkaW5nIHV0ZjggYW5kIGhlbmNlIGp1c3QgY3JlYXRlIGEgc3ViLQoJICBidWZmZXIgZm9yIHRoZSBvdXRwdXQpLgoKMjAwNy0xMi0xOCAyMToxMzowNSArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIEFkZCBzZWVraW5nIHN1cHBvcnQgZm9yIGF2aSBzdWJ0aXRsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpc3VidGl0bGUuYzoKCSAgQWRkIHNlZWtpbmcgc3VwcG9ydCBmb3IgYXZpIHN1YnRpdGxlCgoyMDA3LTEyLTE4IDE3OjQwOjM0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy4qOiBSZW1vdmUgc29tZSB1bnVzZWQgdmFycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX3Jlc2V0X2RlY29kZXJzKSwKCSAgKGdzdF9mbGFjX2RlY191cGRhdGVfbWV0YWRhdGEpLCAoZ3N0X2ZsYWNfZGVjX21ldGFkYXRhX2NhbGxiYWNrKSwKCSAgKGdzdF9mbGFjX2RlY193cml0ZSk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICBSZW1vdmUgc29tZSB1bnVzZWQgdmFycy4KCSAgRG8gbW9yZSBjbGVhbnVwIG9mIGxlZnRvdmVyIGV2ZW50cyBhbmQgdGFncy4KCSAgT3V0cHV0IHRhZ3MgYWZ0ZXIgdGhlIHNlZ21lbnQgZXZlbnQuIEZpeGVzICM1MDQwMTguCgoyMDA3LTEyLTE4IDE0OjMxOjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOiBEZXRlY3Qgb3RoZXIgVVRGIGJ5dGUgb3JkZXIgbWFya2VycyBhbmQgY29udmVydCB0byBVVEYtOCBhcyBhcHByb3ByaWF0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOiAoSVNfQk9NX1VURjgpLCAoSVNfQk9NX1VURjE2X0JFKSwKCSAgKElTX0JPTV9VVEYxNl9MRSksIChJU19CT01fVVRGMzJfQkUpLCAoSVNfQk9NX1VURjMyX0xFKSwKCSAgKGdzdF9hdmlfc3VidGl0bGVfZXh0cmFjdF9maWxlKSwgKGdzdF9hdmlfc3VidGl0bGVfcGFyc2VfZ2FiMl9jaHVuayk6CgkgIERldGVjdCBvdGhlciBVVEYgYnl0ZSBvcmRlciBtYXJrZXJzIGFuZCBjb252ZXJ0IHRvIFVURi04IGFzCgkgIGFwcHJvcHJpYXRlLgoKMjAwNy0xMi0xOCAxMzozMDoxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuKjogUmVmYWN0b3IgYSBiaXQ7IGZpeCBuYW1lIGV4dHJhY3Rpb247IGRvbid0IGFzc3VtZSBhbGwgdGhlIGRhdGEgaW4gdGhlIGNodW5rIGlzIGFjdHVhbGx5IHN1Yi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6IChzcmNfdGVtcGxhdGUpLAoJICAoZ3N0X2F2aV9zdWJ0aXRsZV9leHRyYWN0X3V0ZjhfZmlsZSksCgkgIChnc3RfYXZpX3N1YnRpdGxlX3BhcnNlX2dhYjJfY2h1bmspLCAoZ3N0X2F2aV9zdWJ0aXRsZV9jaGFpbiksCgkgIChnc3RfYXZpX3N1YnRpdGxlX2Jhc2VfaW5pdCksIChnc3RfYXZpX3N1YnRpdGxlX2NsYXNzX2luaXQpLAoJICAoZ3N0X2F2aV9zdWJ0aXRsZV9pbml0KSwgKGdzdF9hdmlfc3VidGl0bGVfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmg6CgkgIFJlZmFjdG9yIGEgYml0OyBmaXggbmFtZSBleHRyYWN0aW9uOyBkb24ndCBhc3N1bWUgYWxsIHRoZSBkYXRhCgkgIGluIHRoZSBjaHVuayBpcyBhY3R1YWxseSBzdWJ0aXRsZSBkYXRhLCB0aGVyZSBtYXkgYmUgcGFkZGluZyBhdAoJICB0aGUgZW5kOyBmaXggR1NUX0VMRU1FTlRfRVJST1IgdXNhZ2U7IHN0b3JlIGV4dHJhY3RlZCBzdWJ0aXRsZQoJICBmaWxlIHNvIGl0J3MgdGhlcmUgdG8gc2VuZCBhZ2FpbiBhZnRlciBhIHNlZWsgKGZvciBmdXR1cmUgdXNlKS4KCjIwMDctMTItMTggMDk6MTM6MTIgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBBZGQgYXZpIHN1YnRpdGxlIGVsZW1lbnQgZm9yIGJ1ZyAjNDQyMDM0LiBOZWVkIHNlZWtpbmcgc3VwcG9ydCBhbmQgbW9yZSBzdXBwb3J0IGZvciBjaGFyYWN0ZXIgY29udmVyc2lvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXZpL2dzdGF2aS5jOgoJICAqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSAgKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmg6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpc3VidGl0bGUuYzoKCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEFkZCBhdmkgc3VidGl0bGUgZWxlbWVudCBmb3IgYnVnICM0NDIwMzQuIE5lZWQgc2Vla2luZyBzdXBwb3J0CgkgIGFuZCBtb3JlIHN1cHBvcnQgZm9yIGNoYXJhY3RlciBjb252ZXJzaW9uLgoKMjAwNy0xMi0xOCAwOTowNzoxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIE1ha2VmaWxlLmFtOiBJbmNsdWRlIGNvbW1vbi93aW4zMi5tYWsgZm9yIENSTEYgY2hlY2sgb2Ygd2luMzIgcHJvamVjdCBmaWxlcyAoc2VlICMzOTM2MjYpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBNYWtlZmlsZS5hbToKCSAgSW5jbHVkZSBjb21tb24vd2luMzIubWFrIGZvciBDUkxGIGNoZWNrIG9mIHdpbjMyIHByb2plY3QKCSAgZmlsZXMgKHNlZSAjMzkzNjI2KS4KCSAgKiB3aW4zMi92czYvbGliZ3N0cG5nLmRzcDoKCSAgRml4IGxpbmUgZW5kaW5ncyBhbmQgZG8gY3ZzIGFkbWluIC1rYi4KCjIwMDctMTItMTcgMjE6MTI6MjggKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuKjogV2hlbiBzdWJzZXF1ZW50IGZpbGVzIGFyZSByZWFkLCBpZiB0aGUgZmlsZSBkb2Vzbid0IGV4aXN0LCBzZW5kIGFuIEVPUyBpbnN0ZWFkIG9mIGNhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuaDoKCSAgV2hlbiBzdWJzZXF1ZW50IGZpbGVzIGFyZSByZWFkLCBpZiB0aGUgZmlsZSBkb2Vzbid0IGV4aXN0LCBzZW5kCgkgIGFuIEVPUyBpbnN0ZWFkIG9mIGNhdXNpbmcgYW4gZXJyb3IuCgoyMDA3LTEyLTE2IDIzOjQzOjQ2ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiBBY3R1YWxseSBkcm9wIHRoZSBidWZmZXJzIHdoaWNoIGFyZSBvdXRzaWRlIHRoZSBjdXJyZW50bHkgY29uZmlndXJlZCBzZWdtZW50IGluc3RlYWQgb2YganVzdCBlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogKGdzdF9qcGVnX2RlY19jaGFpbik6CgkgIEFjdHVhbGx5IGRyb3AgdGhlIGJ1ZmZlcnMgd2hpY2ggYXJlIG91dHNpZGUgdGhlIGN1cnJlbnRseSBjb25maWd1cmVkCgkgIHNlZ21lbnQgaW5zdGVhZCBvZiBqdXN0IGVtaXR0aW5nIGEgV0FSTklORy4KCjIwMDctMTItMTQgMTg6NDk6MzQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLio6IFNlbmQgc2VnbWVudHMgZnJvbSB0aGUgc3RyZWFtaW5nIHRocmVhZC4gRml4ZXMgIzUwMjE4Ny4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX21ldGFkYXRhX2NhbGxiYWNrKSwKCSAgKGdzdF9mbGFjX2RlY193cml0ZSk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICBTZW5kIHNlZ21lbnRzIGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQuIEZpeGVzICM1MDIxODcuCgkgIEZpeCBzZWdtZW50IHNlZWtpbmcgYW5kIGEgYnVuY2ggb2Ygb3RoZXIgc2Vla2luZyBjYXNlcy4KCjIwMDctMTItMTQgMTA6MTc6MTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogUGFyc2UgV09BRiBmcmFtZXMgYW5kIHB1dCB0aGUgcmVzdWx0IGludG8gR1NUX1RBR19DT05UQUNULCB3aGljaCBpcyB3aGVyZSBpdCB3b3VsZCBlbmQgdXAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChwYXJzZV91cmxfbGlua19mcmFtZSk6CgkgIFBhcnNlIFdPQUYgZnJhbWVzIGFuZCBwdXQgdGhlIHJlc3VsdCBpbnRvIEdTVF9UQUdfQ09OVEFDVCwKCSAgd2hpY2ggaXMgd2hlcmUgaXQgd291bGQgZW5kIHVwIGlmIHRoZSBzYW1lIGluZm9ybWF0aW9uIHdhcwoJICBwdXQgaW4gYSB2b3JiaXMgY29tbWVudCAoZG9uJ3QgdGhpbmsgaXQncyB3b3J0aCBhZGRpbmcgYQoJICBuZXcgVVJJIHRhZyBmb3IgdGhpcykuIEZpeGVzICM0ODgxMTIuCgoyMDA3LTEyLTExIDIyOjI5OjE4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBXZSBuZWVkIGNvcmUvYmFzZSAwLjEwLjE1IG9yIGxhdGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFdlIG5lZWQgY29yZS9iYXNlIDAuMTAuMTUgb3IgbGF0ZXIuCgoyMDA3LTEyLTExIDE2OjQ3OjEyICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogRml4IHJlZ3Jlc3Npb24gaW4gc3RyZWFtIG51bWJlcmluZy4gRml4ZXMgIzUwMjY1NS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXcgc2t5bmV0IGJlPgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IChnc3RfYXZpX211eF9zdGFydF9maWxlKToKCSAgRml4IHJlZ3Jlc3Npb24gaW4gc3RyZWFtIG51bWJlcmluZy4gRml4ZXMgIzUwMjY1NS4KCjIwMDctMTItMTEgMTY6Mzk6MzkgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy4qOiBEbyBub3QgdHJ5IHRvIHVucGF1c2UgSS9PIGluIHRoZSAicXVldWVkIiBzdGF0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoX2RvX2luaXQpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19jbGFzc19pbml0KSwgKGdzdF9zb3VwaHR0cF9zcmNfaW5pdCksCgkgIChnc3Rfc291cGh0dHBfc3JjX2Rpc3Bvc2UpLCAoZ3N0X3NvdXBodHRwX3NyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19nZXRfcHJvcGVydHkpLCAodW5pY29kaWZ5KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfdW5pY29kaWZ5KSwgKGdzdF9zb3VwaHR0cF9zcmNfY3JlYXRlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc3RhcnQpLCAoZ3N0X3NvdXBodHRwX3NyY19zdG9wKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfdW5sb2NrKSwgKGdzdF9zb3VwaHR0cF9zcmNfdW5sb2NrX3N0b3ApLAoJICAoZ3N0X3NvdXBodHRwX3NyY19nZXRfc2l6ZSksIChnc3Rfc291cGh0dHBfc3JjX2lzX3NlZWthYmxlKSwKCSAgKHNvdXBfZ290X2hlYWRlcnMpLCAoc291cF9nb3RfYm9keSksIChzb3VwX2ZpbmlzaGVkKSwKCSAgKHNvdXBfZ290X2NodW5rKSwgKHNvdXBfcmVzcG9uc2UpLCAoc291cF9wYXJzZV9zdGF0dXMpLAoJICAoZ3N0X3NvdXBodHRwX3NyY191cmlfZ2V0X3R5cGUpLAoJICAoZ3N0X3NvdXBodHRwX3NyY191cmlfZ2V0X3Byb3RvY29scyksCgkgIChnc3Rfc291cGh0dHBfc3JjX3VyaV9nZXRfdXJpKSwgKGdzdF9zb3VwaHR0cF9zcmNfdXJpX3NldF91cmkpLAoJICAoZ3N0X3NvdXBodHRwX3NyY191cmlfaGFuZGxlcl9pbml0KToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBEbyBub3QgdHJ5IHRvIHVucGF1c2UgSS9PIGluIHRoZSAicXVldWVkIiBzdGF0ZS4KCSAgUmVvcmdhbmlzZSBhIGJ1bmNoIG9mIHRoaW5ncyBhbmQgY2xlYW51cHMuCgkgIFVzZXMgR19HVUlOVDY0X0ZPUk1BVCBpbnN0ZWFkIG9mIGhhcmQtY29kaW5nICVsbHUuCgkgIFNlZSAjNTAyMzM1LgoKMjAwNy0xMi0xMSAxNjozMTo0OSArMDAwMCAgV2FpLU1pbmcgSG8gPHdlYnJlZ2JveEB5YWhvby5jby51az4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS4qOiBVc2UgaGlnaGVyIHBlcmZvcm1hbmNlIHN0YXJ0LWNvZGUgc2VhcmNoaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdhaS1NaW5nIEhvIDx3ZWJyZWdib3ggYXQgeWFob28gZG90IGNvIGRvdCB1az4KCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzogKGdzdF9ydHBfaDI2NF9wYXlfaW5pdCksCgkgIChnc3RfcnRwX2gyNjRfcGF5X2ZpbmFsaXplKSwgKGdzdF9ydHBfaDI2NF9wYXlfc2V0Y2FwcyksCgkgIChuZXh0X3N0YXJ0X2NvZGUpLCAoaXNfbmFsX2VxdWFsKSwgKGdzdF9ydHBfaDI2NF9wYXlfZGVjb2RlX25hbCksCgkgIChlbmNvZGVfYmFzZTY0KSwgKGdzdF9ydHBfaDI2NF9wYXlfcGFyc2Vfc3BzX3BwcyksCgkgIChnc3RfcnRwX2gyNjRfcGF5X2hhbmRsZV9idWZmZXIpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5oOgoJICBVc2UgaGlnaGVyIHBlcmZvcm1hbmNlIHN0YXJ0LWNvZGUgc2VhcmNoaW5nLgoJICBQYXJzZSBOQUxzIGFuZCBzdG9yZSBTUFMsIFBQUyBhbmQgcHJvZmlsZSBpbiB0aGUgY2FwcyBzbyB0aGF0IHRoZXkgY2FuCgkgIGJlIHVzZWQgaW4gdGhlIFNEUC4gRml4ZXMgIzUwMjgxNC4KCjIwMDctMTItMTEgMTE6NTA6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvdjRsMi86IEluaXQgc29tZSBzdHJ1Y3RzIHRvIHplcm8gYmVmb3JlIHdlIHBhc3MgdGhlbSB0byBpb2N0bCwgd2hpY2ggYXZvaWRzIHZhbGdyaW5kIHdhcm5pbmdzLiAgQWxzbyBmaXggYSBzbWFsbCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiAoZ3N0X3Y0bDJfZmlsbF9saXN0cyk6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfZmlsbF9mb3JtYXRfbGlzdCk6CgkgIEluaXQgc29tZSBzdHJ1Y3RzIHRvIHplcm8gYmVmb3JlIHdlIHBhc3MgdGhlbSB0byBpb2N0bCwgd2hpY2gKCSAgYXZvaWRzIHZhbGdyaW5kIHdhcm5pbmdzLiAgQWxzbyBmaXggYSBzbWFsbCBtZW1vcnkgbGVhay4KCjIwMDctMTItMTEgMTE6MDU6NTcgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6IENvcHkgdGltZXN0YW1wIGZyb20gaW5wdXQgdG8gb3V0cHV0LiBOb3QgdmVyeSBwZXJmZWN0IHlldCBidXQgYmV0dGVyIHRoYW4gbm90aGluZy4gRmkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6IChnc3RfbXVsdGlwYXJ0X2RlbXV4X2NoYWluKToKCSAgQ29weSB0aW1lc3RhbXAgZnJvbSBpbnB1dCB0byBvdXRwdXQuIE5vdCB2ZXJ5IHBlcmZlY3QgeWV0IGJ1dCBiZXR0ZXIKCSAgdGhhbiBub3RoaW5nLiBGaXhlcyAjNTAzMDIzLgoKMjAwNy0xMi0wOSAxNjo0OTowOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiBBbHNvIHByaW50IGEgdXNlZnVsIGVycm9yIG1lc3NhZ2Ugd2l0aCB0aGUgb2xkIFdhdnBhY2sgQVBJIGlmIHBvc3NpYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfY2hhaW4pOgoJICBBbHNvIHByaW50IGEgdXNlZnVsIGVycm9yIG1lc3NhZ2Ugd2l0aCB0aGUgb2xkIFdhdnBhY2sgQVBJCgkgIGlmIHBvc3NpYmxlLgoKMjAwNy0xMi0wOSAxNjozNDowOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogTW9yZSBidWlsZCBmaXhlcyBmb3Igb2xkIGxpYndhdnBhY2sgdmVyc2lvbnM6IGluY2x1ZGUgY29uZmlnLmggc28gdGhhdCBXQVZQQUNLX09MRF9BUEkgaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkgIE1vcmUgYnVpbGQgZml4ZXMgZm9yIG9sZCBsaWJ3YXZwYWNrIHZlcnNpb25zOiBpbmNsdWRlIGNvbmZpZy5oIHNvCgkgIHRoYXQgV0FWUEFDS19PTERfQVBJIGlzIGFjdHVhbGx5IGRlZmluZWQgYXMgZGV0ZWN0ZWQ7IG9ubHkgdXNlCgkgIFdhdnBhY2tHZXRFcnJvck1lc3NhZ2UgaWYgaXQgaXMgYXZhaWxhYmxlLiBUaGlzIGZpeGVzIHRoZSBidWlsZAoJICBvbiBkZWJpYW4gc3RhYmxlIGZvciBtZS4KCjIwMDctMTItMDkgMTY6MjE6MDIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrLzogV29ya2Fyb3VuZCB0aGUgbm9uLWV4aXN0YW5jZSBvZiBXYXZwYWNrR2V0Q2hhbm5lbE1hc2sgaW4gV2F2cGFjayB2ZXJzaW9ucyBiZWxvdyA0LjQwLjAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19jaGFpbik6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIChnc3Rfd2F2cGFja19wYXJzZV9jcmVhdGVfc3JjX3BhZCk6CgkgIFdvcmthcm91bmQgdGhlIG5vbi1leGlzdGFuY2Ugb2YgV2F2cGFja0dldENoYW5uZWxNYXNrIGluIFdhdnBhY2sKCSAgdmVyc2lvbnMgYmVsb3cgNC40MC4wLgoKMjAwNy0xMi0wOSAwNToxMzo1OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBBbmQgbm93IGRvIGl0IHJpZ2h0IGZvciByZWFsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQW5kIG5vdyBkbyBpdCByaWdodCBmb3IgcmVhbC4uLgoKMjAwNy0xMi0wOSAwNTowOTo1NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBDb3JyZWN0bHkgcmVzZXQgJExJQlMgdG8gbm90IGNvbnRhaW4gLWxtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIENvcnJlY3RseSByZXNldCAkTElCUyB0byBub3QgY29udGFpbiAtbG0uCgoyMDA3LTEyLTA5IDA1OjAyOjE3ICswMDAwICBLd2FuZyBZdWwgU2VvIDxrd2FuZ3l1bC5zZW9AZ21haWwuY29tPgoKCSAgRml4IGNvbXBpbGF0aW9uIHdpdGggTVNWQyBieSB1c2luZyBnc3RfdXRpbF9ndWludDY0X3RvX2dkb3VibGUoKSBhbmQgY2hlY2tpbmcgZm9yIHJpbnQoKSBhbmQgaW1wbGVtZW50aW5nIGl0IG91cnNlbGYgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5OiBLd2FuZyBZdWwgU2VvIDxrd2FuZ3l1bCBkb3Qgc2VvIGF0IGdtYWlsIGRvdCBjb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5jOgoJICAoZ3N0X2NhaXJvX3RpbWVfb3ZlcmxheV9wcmludF9zbXB0ZV90aW1lKToKCSAgRml4IGNvbXBpbGF0aW9uIHdpdGggTVNWQyBieSB1c2luZyBnc3RfdXRpbF9ndWludDY0X3RvX2dkb3VibGUoKQoJICBhbmQgY2hlY2tpbmcgZm9yIHJpbnQoKSBhbmQgaW1wbGVtZW50aW5nIGl0IG91cnNlbGYgaWYgaXQgZG9lc24ndAoJICBleGlzdC4KCjIwMDctMTItMDkgMDQ6Mjk6MDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogRG9uJ3QgZGVmaW5lIEdTVF9ESVNBQkxFX0RFUFJFQ0FURUQgZm9yIHJlbGVhc2VzLiBGaXhlcyAjNDk4MTgxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIERvbid0IGRlZmluZSBHU1RfRElTQUJMRV9ERVBSRUNBVEVEIGZvciByZWxlYXNlcy4gRml4ZXMgIzQ5ODE4MS4KCjIwMDctMTItMDggMTY6NDc6MzMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgc3lzL29zcy9nc3Rvc3NoZWxwZXIuYzogVmVyaWZ5IHRoYXQgdGhlIGZvcm1hdCByZXR1cm5lZCBhZnRlciB0aGUgaW9jdGwgaXMgdGhlIG9uZSB3ZSByZXF1ZXN0ZWQuIEl0IGlzIHZhbGlkIGZvciB0aGUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3MvZ3N0b3NzaGVscGVyLmM6CgkgIFZlcmlmeSB0aGF0IHRoZSBmb3JtYXQgcmV0dXJuZWQgYWZ0ZXIgdGhlIGlvY3RsIGlzIHRoZSBvbmUKCSAgd2UgcmVxdWVzdGVkLiBJdCBpcyB2YWxpZCBmb3IgdGhlIGlvY3RsIHRvIHN1Y2NlZWQgd2hpbGUKCSAgc3Vic3RpdHV0aW5nIGFuIGFsdGVybmF0ZSAnc3VwcG9ydGVkJyBzYW1wbGUgZm9ybWF0LgoKMjAwNy0xMi0wNyAyMDowNzo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy9vc3MvOiBQb3N0IGRlY2VudCAoYW5kIHRyYW5zbGF0ZWQpIGVycm9yIG1lc3NhZ2Ugd2hlbiB3ZSBjYW4ndCBvcGVuIHRoZSBhdWRpbyBkZXZpY2UgZm9yIHNvbWUgcmVhc29uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzL2dzdG9zc2F1ZGlvLmM6IChwbHVnaW5faW5pdCk6CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmM6IChnc3Rfb3NzX3Npbmtfb3Blbik6CgkgICogc3lzL29zcy9nc3Rvc3NzcmMuYzogKGdzdF9vc3Nfc3JjX29wZW4pOgoJICBQb3N0IGRlY2VudCAoYW5kIHRyYW5zbGF0ZWQpIGVycm9yIG1lc3NhZ2Ugd2hlbiB3ZSBjYW4ndAoJICBvcGVuIHRoZSBhdWRpbyBkZXZpY2UgZm9yIHNvbWUgcmVhc29uLgoKMjAwNy0xMi0wNyAxOToyOTozOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBzeXMvb3NzLzogQWxsb3cgdGhlIEFVRElPREVWIGVudmlyb25tZW50IHZhcmlhYmxlIHRvIHJlZGlyZWN0IHVzIHRvIGEgZGlmZmVyZW50IGRlZmF1bHQgT1NTIGRldmljZSwgbGlrZSBzdW5hdWRpb3NpbmsuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmM6CgkgICogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSAgQWxsb3cgdGhlIEFVRElPREVWIGVudmlyb25tZW50IHZhcmlhYmxlIHRvIHJlZGlyZWN0IHVzCgkgIHRvIGEgZGlmZmVyZW50IGRlZmF1bHQgT1NTIGRldmljZSwgbGlrZSBzdW5hdWRpb3NpbmsgZG9lcwoJICBvbiBTb2xhcmlzIChtYWtlcyBhdWRpbyBwbGF5IGF1dG9tYXRpY2FsbHkgb24gU3VuUmF5cykuCgoyMDA3LTEyLTA2IDEyOjQ1OjUwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiBGaXggY29tcGlsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl90cmFuc2Zvcm1faXApOgoJICBGaXggY29tcGlsYXRpb24uCgoyMDA3LTEyLTA2IDEyOjQyOjExICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiBEb24ndCBwcm9jZXNzIGJ1ZmZlcnMgaW4gcGFzc3Rocm91Z2ggbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX3RyYW5zZm9ybV9pcCk6CgkgIERvbid0IHByb2Nlc3MgYnVmZmVycyBpbiBwYXNzdGhyb3VnaCBtb2RlLgoKMjAwNy0xMi0wNiAxMjozNzo0MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci86IFRoZSB0cmFuc2Zvcm0oKSBtZXRob2RzIGFyZSBub3QgY2FsbGVkIGluIHBhc3N0aHJvdWdoIG1vZGUgc28gdGhlcmUncyBubyBuZWVkIGZvciBjaGVja2luZyBpZiB0aGUgZWxlbWVuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoYnB3c2luY190cmFuc2Zvcm0pOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAobHB3c2luY190cmFuc2Zvcm0pOgoJICBUaGUgdHJhbnNmb3JtKCkgbWV0aG9kcyBhcmUgbm90IGNhbGxlZCBpbiBwYXNzdGhyb3VnaCBtb2RlIHNvCgkgIHRoZXJlJ3Mgbm8gbmVlZCBmb3IgY2hlY2tpbmcgaWYgdGhlIGVsZW1lbnQgaXMgaW4gcGFzc3Rocm91Z2ggbW9kZS4KCjIwMDctMTItMDYgMTI6Mjk6MjYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvOiBTeW5jIHRoZSBHT2JqZWN0IHByb3BlcnRpZXMgd2l0aCB0aGUgY29udHJvbGxlciBldmVuIGluIHBhc3N0aHJvdWdoIG1vZGUgdG8gZ2V0IGNvbnNpc3RlbnQgcHJvcGVydHkgdmFsdWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGJwd3NpbmNfdHJhbnNmb3JtKToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGxwd3NpbmNfdHJhbnNmb3JtKToKCSAgU3luYyB0aGUgR09iamVjdCBwcm9wZXJ0aWVzIHdpdGggdGhlIGNvbnRyb2xsZXIgZXZlbiBpbiBwYXNzdGhyb3VnaAoJICBtb2RlIHRvIGdldCBjb25zaXN0ZW50IHByb3BlcnR5IHZhbHVlcy4KCjIwMDctMTItMDYgMTI6MTE6MjkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdWRpb2Z4LzogVGhlIHRyYW5zZm9ybV9pcCgpIG1ldGhvZHMgc2hvdWxkIGRvIG5vdGhpbmcgaWYgaW4gcGFzc3Rocm91Z2ggbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6IChnc3RfYXVkaW9fYW1wbGlmeV90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYnlzaGV2ZnJlcWJhbmQuYzoKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9iYW5kX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVieXNoZXZmcmVxbGltaXQuYzoKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9saW1pdF90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOiAoZ3N0X2F1ZGlvX2R5bmFtaWNfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5jOiAoZ3N0X2F1ZGlvX2ludmVydF90cmFuc2Zvcm1faXApOgoJICBUaGUgdHJhbnNmb3JtX2lwKCkgbWV0aG9kcyBzaG91bGQgZG8gbm90aGluZyBpZiBpbiBwYXNzdGhyb3VnaCBtb2RlLgoJICBJdCBtaWdodCBnZXQgbm9uLXdyaXRhYmxlIGJ1ZmZlcnMgaW4gdGhhdCBjYXNlIGJ1dCB0aGUgYnVmZmVyIG1pZ2h0CgkgIGFzIHdlbGwgYmUgd3JpdGFibGUuCgkgICogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOiAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybSk6CgkgIFRoZSB0cmFuc2Zvcm0oKSBtZXRob2RzIHdvbid0IGJlIGNhbGxlZCBpbiBwYXNzdGhyb3VnaCBtb2RlIGFuZAoJICBvdGhlcndpc2UgdGhlIGJ1ZmZlciBpcyBhbHdheXMgd3JpdGFibGUgc28gZG9uJ3QgY2hlY2sgaGVyZS4KCjIwMDctMTItMDYgMTE6NDY6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogRml4IHNlZWtpbmcgaW4gLndhdiBmaWxlcyBhZ2FpbiAoIzUwMTc3NSkuICBTb21lIHBlb3BsZSBzZWVtIHRvIHRoaW5rIHRoZXkgZG9uJ3QgbmVlZCB0byAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2Vfc3JjcGFkX2V2ZW50KToKCSAgRml4IHNlZWtpbmcgaW4gLndhdiBmaWxlcyBhZ2FpbiAoIzUwMTc3NSkuICBTb21lIHBlb3BsZSBzZWVtIHRvIHRoaW5rCgkgIHRoZXkgZG9uJ3QgbmVlZCB0byB0ZXN0IHRoZWlyIGNoYW5nZXMgd2hlbiB0aGV5J3JlIGp1c3QgJ3JlZmxvd2luZycKCSAgc29tZSBjb2RlLgoKMjAwNy0xMi0wNSAxNjowNDo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuKjogRml4IGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSAgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfY2xhc3NfaW5pdCksIChnc3RfYXV0b192aWRlb19zaW5rX2Rpc3Bvc2UpLAoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19pbml0KSwKCSAgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfY3JlYXRlX2VsZW1lbnRfd2l0aF9wcmV0dHlfbmFtZSksCgkgIChnc3RfYXV0b192aWRlb19zaW5rX2ZpbmRfYmVzdCksCgkgIChnc3RfYXV0b192aWRlb19zaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXV0b192aWRlb19zaW5rX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5oOgoJICBGaXggZG9jcy4KCSAgVXNlIHNhbWUgZXJyb3IgcmVwb3J0aW5nIGNvZGUgYXMgYXV0b2F1ZGlvc2luay4KCSAgQWRkIHByb3BlcnR5IHRvIGZpbHRlciBzaW5rcyBiYXNlZCBvbiBjYXBzLiBPbmx5IHNlbGVjdCByYXcgdmlkZW8gc2lua3MKCSAgYnkgZGVmYXVsdCBmb3IgYmFja3dhcmRzIGNvbXBhdC4KCSAgQVBJOiBHc3RBdXRvVmlkZW9TaW5rOjpmaWx0ZXItY2FwcwoKMjAwNy0xMi0wNSAxNjowMjoxNSArMDAwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLm15b2hhbmVuQG5va2lhLmNvbT4KCgkgIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuKjogQWRkIHByb3BlcnR5IHRvIGZpbHRlciBzaW5rcyBiYXNlZCBvbiBjYXBzLiBPbmx5IHNlbGVjdCByYXcgYXVkaW8gc2lua3MgYnkgZGVmYXVsdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRvbW1pIE15w7Zow6RuZW4gIDxleHQtdG9tbWkgZG90IG15b2hhbmVuIGF0IG5va2lhIGRvdCBjb20+CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19jbGFzc19pbml0KSwgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfZGlzcG9zZSksCgkgIChnc3RfYXV0b19hdWRpb19zaW5rX2luaXQpLCAoZ3N0X2F1dG9fYXVkaW9fc2lua19maW5kX2Jlc3QpLAoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuaDoKCSAgQWRkIHByb3BlcnR5IHRvIGZpbHRlciBzaW5rcyBiYXNlZCBvbiBjYXBzLiBPbmx5IHNlbGVjdCByYXcgYXVkaW8gc2lua3MKCSAgYnkgZGVmYXVsdCBmb3IgYmFja3dhcmRzIGNvbXBhdC4gIEZpeGVzICM0MTc0MjAuCgkgIEFQSTogR3N0QXV0b0F1ZGlvU2luazo6ZmlsdGVyLWNhcHMKCjIwMDctMTEtMjkgMTE6NDA6MTUgKzAwMDAgIEFyZWsgS29yYmlrIDxhcmthZGluaUBnbWFpbC5jb20+CgoJICBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogSW5pdGlhbGlzZSBsaWJvaWwgaW4gcGx1Z2luX2luaXQoKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFyZWsgS29yYmlrIDxhcmthZGluaUBnbWFpbC5jb20+CgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IChwbHVnaW5faW5pdCk6CgkgIEluaXRpYWxpc2UgbGlib2lsIGluIHBsdWdpbl9pbml0KCkKCjIwMDctMTEtMjkgMTA6NDk6MTggKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBjb25maWd1cmUuYWM6IEJ1bXAgbGlic291cCByZXF1aXJlbWVudCBhcyBsaWJzb3VwIGRvZXMgbm90IHN1cHBvcnQgYXN5bmMgY2xpZW50IG9wZXJhdGlvbiBwcmlvciB0byB2ZXJzaW9uIDIuMi4xMDQgYW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgbGlic291cCByZXF1aXJlbWVudCBhcyBsaWJzb3VwIGRvZXMgbm90IHN1cHBvcnQgYXN5bmMgY2xpZW50CgkgIG9wZXJhdGlvbiBwcmlvciB0byB2ZXJzaW9uIDIuMi4xMDQgYW5kIGl0IGhhcyBzb21lIGxlYWtzLgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cGh0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19pbml0KSwgKGdzdF9zb3VwaHR0cF9zcmNfZGlzcG9zZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3NldF9wcm9wZXJ0eSksIChnc3Rfc291cGh0dHBfc3JjX2NyZWF0ZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3N0YXJ0KSwgKGdzdF9zb3VwaHR0cF9zcmNfc3RvcCksCgkgIChnc3Rfc291cGh0dHBfc3JjX3VubG9jayksIChnc3Rfc291cGh0dHBfc3JjX3VubG9ja19zdG9wKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfZ2V0X3NpemUpLCAoc291cF9nb3RfaGVhZGVycyksIChzb3VwX2dvdF9ib2R5KSwKCSAgKHNvdXBfZmluaXNoZWQpLCAoc291cF9nb3RfY2h1bmspLCAoc291cF9yZXNwb25zZSksCgkgIChzb3VwX3Nlc3Npb25fY2xvc2UpOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIEltcGxlbWVudCB1bmxvY2soKS4KCSAgUGlja3MgdXAgdGhlIHNpemUgZnJvbSB0aGUgQ29udGVudC1MZW5ndGggaGVhZGVyIGFuZCBlbWl0IGEgZHVyYXRpb24KCSAgbWVzc2FnZS4KCSAgRG9uJ3QgbGVhayB0aGUgR01haW5Db250ZXh0IG9iamVjdC4KCSAgRml4ZXMgIzUwMDA5OS4KCjIwMDctMTEtMjkgMTA6MzQ6MTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiBQb3N0IGVycm9yIGJlZm9yZSBzZW5kaW5nIEVPUy4gRml4ZXMgIzQ5OTE3OC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKGdzdF9wbmdkZWNfdGFzayk6CgkgIFBvc3QgZXJyb3IgYmVmb3JlIHNlbmRpbmcgRU9TLiBGaXhlcyAjNDk5MTc4LgoKMjAwNy0xMS0yOCAyMTo1NDo1MCArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgd2luMzIvdnM2LzogQWRkIGEgcHJvamVjdCBmaWxlIGZvciBsaWJnc3RwbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2dvb2QuZHN3OgoJICAqIHdpbjMyL3ZzNi9saWJnc3RwbmcuZHNwOgoJICBBZGQgYSBwcm9qZWN0IGZpbGUgZm9yIGxpYmdzdHBuZwoKMjAwNy0xMS0yOCAxNzo0ODo0NSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6IENvZGUgYmVhdXRpZmljYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6IChnc3RfcnRwX2gyNjNfZGVwYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2gyNjNfZGVwYXlfcHJvY2Vzcyk6CgkgIENvZGUgYmVhdXRpZmljYXRpb24uCgkgIEFkZGVkIGRlYnVnIHN0YXRlbWVudHMuCgkgIERvbid0IGJpdC1zaGlmdCBldmVyeXRoaW5nLCBqdXN0IGRvIG9wZXJhdGlvbnMgb24gbGFzdC9maXJzdCBieXRlCgkgIGluc3RlYWQuCgoyMDA3LTExLTI3IDExOjExOjA4ICswMDAwICBKYXlhcmFtYSBTLiBTYW50YW5hIDxzdW5kYXJzYW50YW5hQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6IEZpeCB3cm9uZyBjb21wYXJpc29uIGluIG92ZXJydW4gY2hlY2suIEZpeGVzICM0OTkyMzkgc29tZSBtb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpheWFyYW1hIFMuIFNhbnRhbmEgPHN1bmRhcnNhbnRhbmEgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOiAoZ3N0X3J0cF9tcDRhX2RlcGF5X3Byb2Nlc3MpOgoJICBGaXggd3JvbmcgY29tcGFyaXNvbiBpbiBvdmVycnVuIGNoZWNrLiBGaXhlcyAjNDk5MjM5IHNvbWUgbW9yZS4KCjIwMDctMTEtMjcgMDA6MDE6NDEgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS4qOiBGaXggaDI2MyBkZXBheWxvYWRlciBzbyB0aGF0IEFOWSBoMjYzIGRlY29kZXIgY2FuIGhhbmRsZSB0aGUgb3V0Z29pbmcgc3RyZWFtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOiAoZ3N0X3J0cF9oMjYzX2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9oMjYzX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5Lmg6CgkgIEZpeCBoMjYzIGRlcGF5bG9hZGVyIHNvIHRoYXQgQU5ZIGgyNjMgZGVjb2RlciBjYW4gaGFuZGxlIHRoZSBvdXRnb2luZwoJICBzdHJlYW0uCgoyMDA3LTExLTI2IDE5OjE3OjEwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuKjogRml4IGRlcGF5bG9hZGluZyB3aGVuIG11bHRpcGxlIGZyYW1lcyBhcmUgaW5zaWRlIG9uZSBSVFAgcGFja2V0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gUGF0aCBieTogSmF5YXJhbWEgUy4gU2FudGFuYSA8c3VuZGFyc2FudGFuYSBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6IChnc3RfcnRwX21wNGFfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX21wNGFfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuaDoKCSAgRml4IGRlcGF5bG9hZGluZyB3aGVuIG11bHRpcGxlIGZyYW1lcyBhcmUgaW5zaWRlIG9uZSBSVFAgcGFja2V0LgoJICBGaXhlcyAjNDk5MjM5LgoKMjAwNy0xMS0yNiAxMjoyNjoyMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2xldmVsL2dzdGxldmVsLmM6IEFkZCBHQVAtZmxhZyBzdXBwb3J0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgQWRkIEdBUC1mbGFnIHN1cHBvcnQuCgoyMDA3LTExLTI2IDEyOjAxOjExICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzogUmVhZCB0aGUgSSBmbGFnIGZvciBNb2RlIEEgaDI2MyBydHAgc3RyZWFtIGFuZCBzZXQgdGhlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6IChnc3RfcnRwX2gyNjNfZGVwYXlfcHJvY2Vzcyk6CgkgIFJlYWQgdGhlIEkgZmxhZyBmb3IgTW9kZSBBIGgyNjMgcnRwIHN0cmVhbSBhbmQgc2V0IHRoZQoJICBHU1RfQlVGRkVSX0ZMQUdfREVMVEFfVU5JVCBhY2NvcmRpbmdseS4KCSAgRml4ZXMgIzQ5OTM4MwoKMjAwNy0xMS0yNiAxMDowODoyMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IFVzZSBkaXNwb3NlIGFuZCBmaW5hbGl6ZS4gRGlzcG9zZSBjYW4gYmUgY2FsbGVkIG11bHRpcGxlIHRpbWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgVXNlIGRpc3Bvc2UgYW5kIGZpbmFsaXplLiBEaXNwb3NlIGNhbiBiZSBjYWxsZWQgbXVsdGlwbGUgdGltZXMuCgoyMDA3LTExLTI2IDEwOjA0OjQ5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogUmVtb3ZlIHNvbWUgZGVhZCBjb2RlIGFuZCBkbyBjbGVhbnVwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIFJlbW92ZSBzb21lIGRlYWQgY29kZSBhbmQgZG8gY2xlYW51cHMuCgoyMDA3LTExLTI2IDA5OjEzOjQ4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOiBJbXByb3ZlIHRoZSB0ZXN0cyBieSBhbGxvd2luZyB0byBzZXQgYSB0YXJnZXQgc3RhdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkgIEltcHJvdmUgdGhlIHRlc3RzIGJ5IGFsbG93aW5nIHRvIHNldCBhIHRhcmdldCBzdGF0ZS4KCjIwMDctMTEtMjYgMDk6MDQ6MTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tlbmMuYzogRG9uJ3QgY2hlY2sgdGhlIGNhcHMgb2YgdGhlIG91dHB1dCBidWZmZXIgaWYgdGhleSdyZSBlcXVhbCBzb21lIG90aGVyIGNhcHMuIFRoZSBjYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZW5jLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIERvbid0IGNoZWNrIHRoZSBjYXBzIG9mIHRoZSBvdXRwdXQgYnVmZmVyIGlmIHRoZXkncmUgZXF1YWwgc29tZQoJICBvdGhlciBjYXBzLiBUaGUgY2FwcyBjYW4gY2hhbmdlIGluIGEgYmFja3dhcmQgY29tcGF0aWJsZSB3YXkKCSAgYW5kIGRpZCBhdCB0aGlzIHBvaW50LgoKMjAwNy0xMS0yNCAxNDo1NTowNCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEltcGxlbWVudCByZXZlcnNlIHBsYXliYWNrIHN1cHBvcnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTExLTI0ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZmluZF9zZWdtZW50KSwKCSAgKGdzdF9xdGRlbXV4X21vdmVfc3RyZWFtKSwgKGdzdF9xdGRlbXV4X2RvX3NlZWspLAoJICAoZ3N0X3F0ZGVtdXhfc2Vla190b19wcmV2aW91c19rZXlmcmFtZSksCgkgIChnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50KSwgKGdzdF9xdGRlbXV4X2FkdmFuY2Vfc2FtcGxlKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpLCAoZ3N0X3F0ZGVtdXhfbG9vcCk6IEltcGxlbWVudAoJICByZXZlcnNlIHBsYXliYWNrIHN1cHBvcnQuCgoyMDA3LTExLTIxIDA5OjU2OjU0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyLzogUG9zdCBhIEdTVF9NRVNTQUdFX0xBVEVOQ1kgaWYgdGhlIGxhdGVuY3kgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChicHdzaW5jX3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChscHdzaW5jX3NldF9wcm9wZXJ0eSk6CgkgIFBvc3QgYSBHU1RfTUVTU0FHRV9MQVRFTkNZIGlmIHRoZSBsYXRlbmN5IGNoYW5nZXMuCgoyMDA3LTExLTIxIDA4OjIxOjEwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZXF1YWxpemVyLzogUmVtb3ZlIHByZXNldCBpZmFjZSBhZ2Fpbi4gV2UnbGwgcmUtYWRkIHRoaXMgYWZ0ZXIgaXRzIGJlZW4gcmVsZWFzZWQgaW4gLWdvb2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkgIFJlbW92ZSBwcmVzZXQgaWZhY2UgYWdhaW4uIFdlJ2xsIHJlLWFkZCB0aGlzIGFmdGVyIGl0cyBiZWVuIHJlbGVhc2VkCgkgIGluIC1nb29kLgoKMjAwNy0xMS0yMCAxMzoxNDo0MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5jOiBBbHNvIHNldCB0aGUgY2hhbm5lbCBsYXlvdXQgb24gdGhlIFdhdnBhY2sgY2FwcyBpZiB3ZSdyZSBoYXZpbmcgYSBtb25vIGxheW91dC4gT2YgY291Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uYzogKGdzdF93YXZwYWNrX3NldF9jaGFubmVsX2xheW91dCk6CgkgIEFsc28gc2V0IHRoZSBjaGFubmVsIGxheW91dCBvbiB0aGUgV2F2cGFjayBjYXBzIGlmIHdlJ3JlIGhhdmluZwoJICBhIG1vbm8gbGF5b3V0LiBPZiBjb3Vyc2Ugb25seSBkbyBpdCBmb3IgImF1ZGlvL3gtd2F2cGFjayIuCgoyMDA3LTExLTIwIDEzOjA4OjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay86IEFkZCBzdXBwb3J0IGZvciBlbmNvZGluZywgcGFyc2luZyBhbmQgZGVjb2RpbmcgbXVsdGljaGFubmVsIGZpbGVzIHdpdGggdXAgdG8gOCBjaGFubmVscy4gVGhpcyBhbHNvIGltcHIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5jOgoJICAoZ3N0X3dhdnBhY2tfZ2V0X2RlZmF1bHRfY2hhbm5lbF9tYXNrKSwKCSAgKGdzdF93YXZwYWNrX3NldF9jaGFubmVsX2xheW91dCksCgkgIChnc3Rfd2F2cGFja19nZXRfZGVmYXVsdF9jaGFubmVsX3Bvc2l0aW9ucyksCgkgIChnc3Rfd2F2cGFja19nZXRfY2hhbm5lbF9tYXNrX2Zyb21fcG9zaXRpb25zKSwKCSAgKGdzdF93YXZwYWNrX3NldF9jaGFubmVsX21hcHBpbmcpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX3Npbmtfc2V0X2NhcHMpLCAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19pbml0KSwgKGdzdF93YXZwYWNrX2VuY19zaW5rX3NldF9jYXBzKSwKCSAgKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKSwgKGdzdF93YXZwYWNrX2VuY19wdXNoX2Jsb2NrKSwKCSAgKGdzdF93YXZwYWNrX2VuY19maXhfY2hhbm5lbF9vcmRlciksIChnc3Rfd2F2cGFja19lbmNfY2hhaW4pLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3Jld3JpdGVfZmlyc3RfYmxvY2spLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NpbmtfZXZlbnQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2luZGV4X2FwcGVuZF9lbnRyeSksIChnc3Rfd2F2cGFja19wYXJzZV9yZXNldCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zY2FuX3RvX2ZpbmRfc2FtcGxlKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NpbmtfZXZlbnQpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfY3JlYXRlX3NyY19wYWQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfcHVzaF9idWZmZXIpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfbG9vcCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgIEFkZCBzdXBwb3J0IGZvciBlbmNvZGluZywgcGFyc2luZyBhbmQgZGVjb2RpbmcgbXVsdGljaGFubmVsCgkgIGZpbGVzIHdpdGggdXAgdG8gOCBjaGFubmVscy4gVGhpcyBhbHNvIGltcHJvdmVzIHRoZSByb2J1c3RuZXNzCgkgIG9mIHBhcnNpbmcgcXVpdGUgYSBiaXQuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3N0cmVhbXJlYWRlci5jOgoJICAoZ3N0X3dhdnBhY2tfc3RyZWFtX3JlYWRlcl9yZWFkX2J5dGVzKSwKCSAgKGdzdF93YXZwYWNrX3N0cmVhbV9yZWFkZXJfZ2V0X3BvcyksCgkgIChnc3Rfd2F2cGFja19zdHJlYW1fcmVhZGVyX3NldF9wb3NfYWJzKSwKCSAgKGdzdF93YXZwYWNrX3N0cmVhbV9yZWFkZXJfc2V0X3Bvc19yZWwpLAoJICAoZ3N0X3dhdnBhY2tfc3RyZWFtX3JlYWRlcl9wdXNoX2JhY2tfYnl0ZSksCgkgIChnc3Rfd2F2cGFja19zdHJlYW1fcmVhZGVyX2dldF9sZW5ndGgpLAoJICAoZ3N0X3dhdnBhY2tfc3RyZWFtX3JlYWRlcl9jYW5fc2VlayksCgkgIChnc3Rfd2F2cGFja19zdHJlYW1fcmVhZGVyX3dyaXRlX2J5dGVzKToKCSAgSW1wcm92ZSBkZWJ1Z2dpbmcuCgoyMDA3LTExLTIwIDEyOjIwOjM4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvbGlicG5nL2dzdHBuZ2RlYy4qOiBEb24ndCByZWxlYXNlIHRoZSBwbmctbWVtb3J5IGZyb20gd2l0aGluIHRoZSBjYWxsYmFjay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5oOgoJICBEb24ndCByZWxlYXNlIHRoZSBwbmctbWVtb3J5IGZyb20gd2l0aGluIHRoZSBjYWxsYmFjay4KCjIwMDctMTEtMjAgMTI6MTE6MTMgKzAwMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOiBEb24ndCBsZWFrIGJ1ZmZlciBkYXRhIG1lbW9yeS4gRml4ZXMgIzQ5ODM5NS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSZW7DqSBTdGFkbGVyIDxtYWlsIGF0IHJlbmVzdGFkbGVyIGRvdCBkZT4KCSAgKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJICBEb24ndCBsZWFrIGJ1ZmZlciBkYXRhIG1lbW9yeS4gRml4ZXMgIzQ5ODM5NS4KCjIwMDctMTEtMjAgMTE6NDY6MjggKzAwMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOiBUZXN0cyBmb3IgIzQ5ODM5NS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSZW7DqSBTdGFkbGVyIDxtYWlsIGF0IHJlbmVzdGFkbGVyIGRvdCBkZT4KCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJICBUZXN0cyBmb3IgIzQ5ODM5NS4KCjIwMDctMTEtMjAgMTE6NDE6MTMgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgRml4IGJ1aWxkIG9uIE1hYyBPUyBYIDEwLjUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTEtMjAgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5jOiAoZ3N0X3RhZ19saWJfbXV4X3JlbmRlcl90YWcpLAoJICAoZ3N0X3RhZ19saWJfbXV4X2FkanVzdF9ldmVudF9vZmZzZXRzKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RoZW9yYV9leHRlbnNpb24pOgoJICAqIHN5cy9vc3hhdWRpby9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSAgKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubTogRml4IGJ1aWxkIG9uIE1hYyBPUyBYIDEwLjUKCjIwMDctMTEtMTkgMjA6MzA6MTkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9lcXVhbGl6ZXIvOiBBY3RpdmF0ZSBwcmVzZXQgaWZhY2UgYW5kIHVwbG9hZCB0d28gcHJlc2V0cyBoZXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJICBBY3RpdmF0ZSBwcmVzZXQgaWZhY2UgYW5kIHVwbG9hZCB0d28gcHJlc2V0cyBoZXJlLgoKMjAwNy0xMS0xNiAwNTo1Mjo1NSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzogQ2hhbmdlIHN0cmNhc2VjbXAoKSB0byBnX3N0cmNhc2VjbXAoKS4gIEZpeGVzICM0OTcyOTIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJICBDaGFuZ2Ugc3RyY2FzZWNtcCgpIHRvIGdfc3RyY2FzZWNtcCgpLiAgRml4ZXMgIzQ5NzI5Mi4KCjIwMDctMTEtMTUgMTg6MTk6MTkgKzAwMDAgIEpvcmRpIEphZW4gUGFsbGFyZXMgPGpvcmRpanBAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcDJ0cGF5Lio6IEZpbGwgdGhlIE1UVSB3aXRoIGFzIG1hbnkgcGFja2V0cyBhcyBwb3NzaWJsZS4gRml4ZXMgIzQ5MTMyMy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb3JkaSBKYWVuIFBhbGxhcmVzIDxqb3JkaWpwIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6IChnc3RfcnRwX21wMnRfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9tcDJ0X3BheV9pbml0KSwgKGdzdF9ydHBfbXAydF9wYXlfZmluYWxpemUpLAoJICAoZ3N0X3J0cF9tcDJ0X3BheV9mbHVzaCksIChnc3RfcnRwX21wMnRfcGF5X2hhbmRsZV9idWZmZXIpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5oOgoJICBGaWxsIHRoZSBNVFUgd2l0aCBhcyBtYW55IHBhY2tldHMgYXMgcG9zc2libGUuIEZpeGVzICM0OTEzMjMuCgoyMDA3LTExLTE1IDE3OjQ3OjQzICswMDAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkubXlvaGFuZW5Abm9raWEuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBGaXggc29tZSBtb3JlIGxlYWtzLiBGaXhlcyAjNDk3MDA3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRvbW1pIE15w7Zow6RuZW4gIDxleHQtdG9tbWkgZG90IG15b2hhbmVuIGF0IG5va2lhIGRvdCBjb20+CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc2V0dXBfc3RyZWFtcyk6CgkgIEZpeCBzb21lIG1vcmUgbGVha3MuIEZpeGVzICM0OTcwMDcuCgoyMDA3LTExLTE1IDE3OjM1OjE4ICswMDAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkubXlvaGFuZW5Abm9raWEuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBGaXggMyBwYWQgbGVha3MuIEZpeGVzICM0OTY5ODMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVG9tbWkgTXnDtmjDpG5lbiAgPGV4dC10b21taSBkb3QgbXlvaGFuZW4gYXQgbm9raWEgZG90IGNvbT4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zdHJlYW1fZnJlZSksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RjcCk6CgkgIEZpeCAzIHBhZCBsZWFrcy4gRml4ZXMgIzQ5Njk4My4KCjIwMDctMTEtMTUgMTc6MjY6MjUgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBBZGRlZCBIVFRQIHNvdXJjZSBiYXNlZCBvbiBsaWJzb3VwLiBGaXhlcyAjNDk3MDIwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdXAvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKF9kb19pbml0KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfYmFzZV9pbml0KSwgKGdzdF9zb3VwaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc291cGh0dHBfc3JjX2luaXQpLCAoZ3N0X3NvdXBodHRwX3NyY19kaXNwb3NlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9zb3VwaHR0cF9zcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfY3JlYXRlKSwgKGdzdF9zb3VwaHR0cF9zcmNfc3RhcnQpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zdG9wKSwgKGdzdF9zb3VwaHR0cF9zcmNfdW5sb2NrKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc2V0X2xvY2F0aW9uKSwgKHNvdXBfZ290X2NodW5rKSwgKHNvdXBfcmVzcG9uc2UpLAoJICAoc291cF9zZXNzaW9uX2Nsb3NlKSwgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBBZGRlZCBIVFRQIHNvdXJjZSBiYXNlZCBvbiBsaWJzb3VwLiBGaXhlcyAjNDk3MDIwLgoKMjAwNy0xMS0xNSAxNzowMTozMiArMDAwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLm15b2hhbmVuQG5va2lhLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6IEZpeCBzbWFsbCBsZWFrLiBGaXhlcyAjNDk3MDE3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRvbW1pIE15w7Zow6RuZW4gIDxleHQtdG9tbWkgZG90IG15b2hhbmVuIGF0IG5va2lhIGRvdCBjb20+CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogKGdzdF9ydHBfaDI2NF9kZXBheV9zZXRjYXBzKToKCSAgRml4IHNtYWxsIGxlYWsuIEZpeGVzICM0OTcwMTcuCgoyMDA3LTExLTE1IDE2OjMxOjMyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvOiBBZGQgc3VwcHBvcnQgZm9yIHRoZW9yYSBpbiBxdWlja3RpbWUgYWNjb3JkaW5nIHRvIFhpcGhRVC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9xdGRlbXV4X3ByZXBhcmVfY3VycmVudF9zYW1wbGUpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSksIChxdGRlbXV4X3BhcnNlX3RoZW9yYV9leHRlbnNpb24pLAoJICAocXRkZW11eF9wYXJzZV9ub2RlKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksIChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5jOgoJICBBZGQgc3VwcHBvcnQgZm9yIHRoZW9yYSBpbiBxdWlja3RpbWUgYWNjb3JkaW5nIHRvIFhpcGhRVC4KCjIwMDctMTEtMTUgMTI6MjI6MTAgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgQWx3YXlzIGNvcHkgYnVmZmVycyBieSBkZWZhdWx0IChoYW5kbGUgc2FmZXIgd2l0aCBidWdnZWQgZHJpdmVycykgYW5kIGFkZGVkIGEgcHJvcGVydHkgdG8gbWFrZSBpdCBwb3NzaWJsZSB0byB1c2UgbW1hLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBbHdheXMgY29weSBidWZmZXJzIGJ5IGRlZmF1bHQgKGhhbmRsZSBzYWZlciB3aXRoIGJ1Z2dlZCBkcml2ZXJzKSBhbmQgYWRkZWQgYSBwcm9wZXJ0eSB0byBtYWtlIGl0IHBvc3NpYmxlIHRvIHVzZSBtbWFwIGVmZmVjdGl2ZWx5IChubyBjb3B5IGlmIHBvc3NpYmxlKSB3aGVuIGFwcGxpY2F0aW9uIHdhbnRzIHRvLiBGaXhlczogIzQ4MDU1Ny4KCjIwMDctMTEtMTQgMjE6Mzk6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvOiBXZSBkb24ndCB3YW50IHRoZSBzYW1lIHN0cmluZyBtdWx0aXBsZSB0aW1lcyBpbiBhIHRhZyBsaXN0IGZvciB0aGUgc2FtZSB0YWcgZXZlciwgZm9yIGFueSB0YWcsIG5vdCBqdXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5oOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAoaWQzdjJfdGFnX3RvX3RhZ2xpc3QpOgoJICBXZSBkb24ndCB3YW50IHRoZSBzYW1lIHN0cmluZyBtdWx0aXBsZSB0aW1lcyBpbiBhIHRhZyBsaXN0IGZvciB0aGUKCSAgc2FtZSB0YWcgZXZlciwgZm9yIGFueSB0YWcsIG5vdCBqdXN0IGZvciBHU1RfVEFHX0dFTlJFLCBzbyBtYWtlIHN1cmUKCSAgdGhpcyBkb2Vzbid0IGhhcHBlbiBhbmQgcmVtb3ZlIHNwZWNpYWwtY2FzZSBjb2RlIGZvciBHU1RfVEFHX0dFTlJFLgoKMjAwNy0xMS0xNCAyMTowNDoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6IFdyaXRlIEdTVF9UQUdfTVVTSUNCUkFJTlpfRElTQ0lEIGFuZCBHU1RfVEFHX0NEREFfQ0REQl9ESVNDSUQgaW50byBJRDN2MiBUWFhYIGZyYW1lcyAoZml4ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOiAoYWRkX211c2ljYnJhaW56X3RhZyksIChhZGRfZnVuY3MpOgoJICBXcml0ZSBHU1RfVEFHX01VU0lDQlJBSU5aX0RJU0NJRCBhbmQgR1NUX1RBR19DRERBX0NEREJfRElTQ0lECgkgIGludG8gSUQzdjIgVFhYWCBmcmFtZXMgKGZpeGVzICMzNDc4NDgpLgoKMjAwNy0xMS0xNCAyMDozNDoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogRG9uJ3QgbGVhayBzZHAgbWVzc2FnZSBjb250ZW50cyAoZml4ZXMgIzQ5Njc3MykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX29wZW4pOgoJICBEb24ndCBsZWFrIHNkcCBtZXNzYWdlIGNvbnRlbnRzIChmaXhlcyAjNDk2NzczKS4KCSAgKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzogKGdzdF91ZHBzaW5rX2ZpbmFsaXplKToKCSAgRG9uJ3QgbGVhayBVUkkgc3RyaW5nLgoKMjAwNy0xMS0xNCAxOToxMDozNyArMDAwMCAgSnVsaWVuIFB1eWR0IDxqdWxpZW4ucHV5ZHRAbGFwb3N0ZS5uZXQ+CgoJICBleHQvcmF3MTM5NC86IEltcGxlbWVudCBHc3RQcm9wZXJ0eVByb2JlIGludGVyZmFjZSBhbmQgYWRkICJkZXZpY2UtbmFtZSIgcHJvcGVydHksIHNvIGFwcGxpY2F0aW9ucyBjYW4gdXNlIHRoaXMgdG8gcHIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKdWxpZW4gUHV5ZHQgPGp1bGllbiBkb3QgcHV5ZHQgYXQgbGFwb3N0ZSBuZXQ+CgkgICogZXh0L3JhdzEzOTQvTWFrZWZpbGUuYW06CgkgICogZXh0L3JhdzEzOTQvZ3N0MTM5NHByb2JlLmM6IChnc3RfMTM5NF9nZXRfZ3VpZF9hcnJheSksCgkgIChnc3RfMTM5NF9wcm9wZXJ0eV9wcm9iZV9nZXRfcHJvcGVydGllcyksCgkgIChnc3RfMTM5NF9wcm9wZXJ0eV9wcm9iZV9wcm9iZV9wcm9wZXJ0eSksCgkgIChnc3RfMTM5NF9wcm9wZXJ0eV9wcm9iZV9uZWVkc19wcm9iZSksCgkgIChnc3RfMTM5NF9wcm9wZXJ0eV9wcm9iZV9nZXRfdmFsdWVzKSwKCSAgKGdzdF8xMzk0X3Byb3BlcnR5X3Byb2JlX2ludGVyZmFjZV9pbml0KSwKCSAgKGdzdF8xMzk0X3R5cGVfYWRkX3Byb3BlcnR5X3Byb2JlX2ludGVyZmFjZSk6CgkgICogZXh0L3JhdzEzOTQvZ3N0MTM5NHByb2JlLmg6IChHU1RfMTM5NF9QUk9CRV9IKToKCSAgKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogKF9kb19pbml0KSwgKGdzdF9kdjEzOTRzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfZHYxMzk0c3JjX2luaXQpLCAoZ3N0X2R2MTM5NHNyY19kaXNwb3NlKSwKCSAgKGdzdF9kdjEzOTRzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9kdjEzOTRzcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kdjEzOTRzcmNfZGlzY292ZXJfYXZjX25vZGUpLCAoZ3N0X2R2MTM5NHNyY19xdWVyeSksCgkgIChnc3RfZHYxMzk0c3JjX3VwZGF0ZV9kZXZpY2VfbmFtZSk6CgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmg6CgkgIEltcGxlbWVudCBHc3RQcm9wZXJ0eVByb2JlIGludGVyZmFjZSBhbmQgYWRkICJkZXZpY2UtbmFtZSIgcHJvcGVydHksCgkgIHNvIGFwcGxpY2F0aW9ucyBjYW4gdXNlIHRoaXMgdG8gcHJvYmUgZm9yIGF2YWlsYWJsZSBkZXZpY2VzIGluIHRoZQoJICBzYW1lIHdheSB0aGV5IGNhbiBhbHJlYWR5IHdpdGggdjRsc3JjIGFuZCB2NGwyc3JjIChob3dldmVyIGhvcnJpYmxlCgkgIHRoaXMgcHJvcGVydHkgcHJvYmUgaW50ZXJmYWNlIG1heSBiZSkuIEZpeGVzICMzNTg4NDEuCgoyMDA3LTExLTE0IDE3OjAzOjE4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVjdHJ1bS5jOiBGaXggc3BlY3RydW0gdW5pdCB0ZXN0IGZvciB0aGUgbGF0ZXN0IHNwZWN0cnVtIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWN0cnVtLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIEZpeCBzcGVjdHJ1bSB1bml0IHRlc3QgZm9yIHRoZSBsYXRlc3Qgc3BlY3RydW0gY2hhbmdlcy4KCjIwMDctMTEtMTQgMTU6Mjk6MDUgKzAwMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS5teW9oYW5lbkBub2tpYS5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IERvbid0IGxlYWsgZXZlbnQsIGRvbid0IGxlYWsgcmFuZ2UgKGZpeGVzICM0OTY3NTIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRvbW1pIE15w7Zow6RuZW4gIDxleHQtdG9tbWkgZG90IG15b2hhbmVuIGF0IG5va2lhIGRvdCBjb20+CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfaGFuZGxlX3NyY19ldmVudCksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9yYW5nZSk6CgkgIERvbid0IGxlYWsgZXZlbnQsIGRvbid0IGxlYWsgcmFuZ2UgKGZpeGVzICM0OTY3NTIpLgoKMjAwNy0xMS0xNCAxMDoyMjo0MSArMDAwMCAgQXJlayBLb3JiaWsgPGFya2FkaW5pQGdtYWlsLmNvbT4KCgkgIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6IERldGVjdCBSR0JBL0JHUkEgY29ycmVjdGx5IG9uIGxpdHRsZSBlbmRpYW4gc3lzdGVtcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBcmVrIEtvcmJpayA8YXJrYWRpbmlAZ21haWwuY29tPgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6IChnc3RfYWxwaGFfY29sb3Jfc2V0X2NhcHMpOgoJICBEZXRlY3QgUkdCQS9CR1JBIGNvcnJlY3RseSBvbiBsaXR0bGUgZW5kaWFuIHN5c3RlbXMuCgoyMDA3LTExLTEzIDE3OjE5OjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBidXQgdGhlIGNvcnJlc3BvbmRpbmcgaW9jdGwoKSBjYWxsIGZhaWxzIGV2ZW4gdGhvdWdoIHRoZSBkcml2ZXIgY2xhaW1zIHRvIHN1cHBvcnQgdGhpcyBmb3JtLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdCk6CgkgIElmIFZJRElPQ19FTlVNX0ZSQU1FU0laRVMgaXMgZGVmaW5lZCAoPSByZWNlbnQga2VybmVsKSwgYnV0IHRoZQoJICBjb3JyZXNwb25kaW5nIGlvY3RsKCkgY2FsbCBmYWlscyBldmVuIHRob3VnaCB0aGUgZHJpdmVyIGNsYWltcyB0bwoJICBzdXBwb3J0IHRoaXMgZm9ybWF0LCBqdXN0IGZhbGwgYmFjayB0byB0aGUgcHJlLTIuNi4xOSBrZXJuZWwKCSAgcm91dGluZSB0aGF0IGNyZWF0ZXMgY2FwcyB3aXRoIHN1aXRhYmxlIGhlaWdodCBhbmQgd2lkdGggcmFuZ2VzCgkgIChzZWUgIzQ0ODI3OCkuCgoyMDA3LTExLTEzIDE3OjAxOjA3ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgZ3N0L21hdHJvc2thLzogRXh0cmFjdCBwYWxldHRlIGRhdGEgZm9yIGR2ZCBzdWJwaWN0dXJlIHN0cmVhbXMgYW5kIHNlbmQgaXQgZG93bnN0cmVhbSBhcyBjdXN0b20gZ3N0cmVhbWVyIGR2ZCBldmVudCAoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3IHNreW5ldCBiZT4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wdXNoX2R2ZF9jbHV0X2NoYW5nZV9ldmVudCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYmxvY2tncm91cF9vcl9zaW1wbGVibG9jayksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfc3VidGl0bGVfY2Fwcyk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBFeHRyYWN0IHBhbGV0dGUgZGF0YSBmb3IgZHZkIHN1YnBpY3R1cmUgc3RyZWFtcyBhbmQgc2VuZCBpdAoJICBkb3duc3RyZWFtIGFzIGN1c3RvbSBnc3RyZWFtZXIgZHZkIGV2ZW50IChmaXhlcyAjNDUzNDE3KS4KCjIwMDctMTEtMTMgMTQ6NTE6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzogSW1wbGVtZW50IG1pbmltYWwgcGFyc2luZyBvZiB0aGUgcGFzc2VkIHBhbmdvIGZvbnQgZGVzY3JpcHRpb24gc3RyaW5nLCBzbyBwYXNzaW5nIGEgZm9udCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6IChnc3RfdGV4dF9vdmVybGF5X2ZvbnRfaW5pdCk6CgkgIEltcGxlbWVudCBtaW5pbWFsIHBhcnNpbmcgb2YgdGhlIHBhc3NlZCBwYW5nbyBmb250IGRlc2NyaXB0aW9uCgkgIHN0cmluZywgc28gcGFzc2luZyBhIGZvbnQgc2l6ZSB3b3JrcyB0aGUgc2FtZSBhcyB3aXRoIHRoZQoJICBwYW5nbyB0ZXh0b3ZlcmxheSBwbHVnaW47IGZpeGVzICM0NTUwODYuCgkgIChNYXliZSB3ZSBjb3VsZCBqdXN0IHVzZSBwYW5nb2NhaXJvIGhlcmUgYXQgc29tZSBwb2ludCkuCgoyMDA3LTExLTEzIDA2OjU1OjI4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvOiBSZXR1cm4gdGhlIHJlc3VsdCBpbiBfYWN0aXZhdGVfcHVsbCgpLiBEb24ndCByZWYgZWxlbWVudCB0aGVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBSZXR1cm4gdGhlIHJlc3VsdCBpbiBfYWN0aXZhdGVfcHVsbCgpLiBEb24ndCByZWYgZWxlbWVudCB0aGVyZS4KCjIwMDctMTEtMTMgMDY6MjM6NTEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBSZWYgdGhlIGVsZW1lbnQgd2hlbiB3ZSBzaG91bGQsIGJ1dCBub3Qgd2hlbiB3ZSBpdHMgbm90IG5lZWRlZC4gUmVmbG93IHRoZSBldmVudF9oYW5kbGluZy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksCgkgIChnc3Rfd2F2cGFyc2VfcGFkX2NvbnZlcnQpLCAoZ3N0X3dhdnBhcnNlX3BhZF9xdWVyeSksCgkgIChnc3Rfd2F2cGFyc2Vfc3JjcGFkX2V2ZW50KToKCSAgUmVmIHRoZSBlbGVtZW50IHdoZW4gd2Ugc2hvdWxkLCBidXQgbm90IHdoZW4gd2UgaXRzIG5vdCBuZWVkZWQuIFJlZmxvdwoJICB0aGUgZXZlbnRfaGFuZGxpbmcgdG8gbm90IGxlYWsgdGhlIGV2ZW50LgoKMjAwNy0xMS0xMiAyMTowNzozMSArMDAwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkgIGdzdC9yZXBsYXlnYWluL3JnYW5hbHlzaXMuYzogQXZvaWQgc2xvd2Rvd24gZnJvbSBkZW5vcm1hbHMgd2hlbiBwcm9jZXNzaW5nIG5lYXItc2lsZW5jZSBpbnB1dCBkYXRhLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJlbsOpIFN0YWRsZXIgPG1haWwgYXQgcmVuZXN0YWRsZXIgZG90IGRlPgoJICAqIGdzdC9yZXBsYXlnYWluL3JnYW5hbHlzaXMuYzogKHl1bGVfZmlsdGVyKToKCSAgQXZvaWQgc2xvd2Rvd24gZnJvbSBkZW5vcm1hbHMgd2hlbiBwcm9jZXNzaW5nIG5lYXItc2lsZW5jZSBpbnB1dCBkYXRhLgoJICBTcG90dGVkIGJ5IEdhYnJpZWwgQm91dmlnbmUuIEZpeGVzICM0OTQ0OTkuCgoyMDA3LTExLTEyIDE3OjU5OjQwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBQcm9wZXJseSBmcmVlIFFURGVtdXhTYW1wbGVzIGFycmF5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpLAoJICAocXRkZW11eF9wYXJzZV9zYW1wbGVzKToKCSAgUHJvcGVybHkgZnJlZSBRVERlbXV4U2FtcGxlcyBhcnJheS4KCSAgUHJvdGVjdCB0YWJsZSB3cml0ZSB3aXRoIGEgc2Vuc2libGUgY2hlY2ssIHNvbWUgZmlsZXMgYXBwYXJlbnRseSBETyBjb250YWluCgkgIHN0dHMgdmFsdWVzIHN0YXJ0aW5nIHdpdGggMCA6KAoKMjAwNy0xMS0xMiAxNzoyMTo1OSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0LzogRHJvcCBFT1MgaW4gX2hhbmRsZV9zcmNfZXZlbnQoKS4gRml4IHRoZSByZWZjb3VudCBpbiBxdGRlbXV4IHRoYXQgcHJldmlvdXMgY29tbWl0IG1lc3NlZCB1cC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgRHJvcCBFT1MgaW4gX2hhbmRsZV9zcmNfZXZlbnQoKS4gRml4IHRoZSByZWZjb3VudCBpbiBxdGRlbXV4IHRoYXQKCSAgcHJldmlvdXMgY29tbWl0IG1lc3NlZCB1cC4KCjIwMDctMTEtMTIgMTc6MDY6MzIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC86IFN5bmMgX2hhbmRsZV9zcmNfZXZlbnQoKSB3aXRoIG9nZ2RlbXV4LiBJbiBhdmlkZW11eCBhbHNvIHJlZiB0aGUgZWxlbWVudCB3aGVuIHdlIHNob3VsZCwgYnV0IG5vdCB3aGVuIHdlIGl0cyBuby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBTeW5jIF9oYW5kbGVfc3JjX2V2ZW50KCkgd2l0aCBvZ2dkZW11eC4gSW4gYXZpZGVtdXggYWxzbyByZWYgdGhlCgkgIGVsZW1lbnQgd2hlbiB3ZSBzaG91bGQsIGJ1dCBub3Qgd2hlbiB3ZSBpdHMgbm90IG5lZWRlZC4KCjIwMDctMTEtMTEgMjE6MTI6MTAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC86IENoYW5nZSB0aGUgbWVhbmluZyBvZiB0aGUgbWFnbml0dWRlIHZhbHVlcyBnaXZlbiBpbiB0aGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9kZW1vLmM6IChkcmF3X3NwZWN0cnVtKToKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzogKGRyYXdfc3BlY3RydW0pOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOiAoZHJhd19zcGVjdHJ1bSk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCk6CgkgIENoYW5nZSB0aGUgbWVhbmluZyBvZiB0aGUgbWFnbml0dWRlIHZhbHVlcyBnaXZlbiBpbiB0aGUKCSAgR3N0TWVzc2FnZXMgYnkgc3BlY3RydW0gdG8gZGVjaWJlbCBpbnN0ZWFkIG9mCgkgIGRlY2liZWwrdGhyZXNob2xkLgoKMjAwNy0xMS0xMSAxMzo1NToyNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci86IEFuZCBjb250aW51ZSB0byB1cGRhdGUgZG9jcy4gQWxzbyBpbmNsdWRlIHNvbWUgc2FtcGxlIGNvZGUgZm9yIHRoZSBuLWJhbmQgZXF1YWxpemVyIGluIHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkgIEFuZCBjb250aW51ZSB0byB1cGRhdGUgZG9jcy4gQWxzbyBpbmNsdWRlIHNvbWUgc2FtcGxlIGNvZGUKCSAgZm9yIHRoZSBuLWJhbmQgZXF1YWxpemVyIGluIHRoZSBkb2NzLgoKMjAwNy0xMS0xMSAxMjo1NDozMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci86IFVwZGF0ZSBkb2NzIGFuZCBwcm9wZXJ0eSByYW5nZXMgdG8gdGhlIHJlYWwgdmFsdWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyXzEwYmFuZHNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyXzNiYW5kc19jbGFzc19pbml0KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJICBVcGRhdGUgZG9jcyBhbmQgcHJvcGVydHkgcmFuZ2VzIHRvIHRoZSByZWFsIHZhbHVlcy4KCjIwMDctMTEtMDkgMTc6Mjc6MDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBOb3cgZG8gdGhlIHNjYWxpbmcgcmlnaHQgZm9yIHJlYWwuIEFsc28gaW5pdGlhbGl6ZSBhIHByZXZpb3VzbHkgdW5pbml0aWFsaXplZCB2YXJpYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIE5vdyBkbyB0aGUgc2NhbGluZyByaWdodCBmb3IgcmVhbC4gQWxzbyBpbml0aWFsaXplIGEgcHJldmlvdXNseQoJICB1bmluaXRpYWxpemVkIHZhcmlhYmxlLgoKMjAwNy0xMS0wOCAxNTo1Njo0NiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2VxdWFsaXplci9kZW1vLmM6IE1ha2UgZGVmYXVsdCB2b2x1bWUgYSBiaXQgbGVzcy4gSW1wcm92ZSBsYXlvdXQgYnkgZ2l2aW5nIG1vcmUgc3BhY2UgdG8gdGhlIHNsaWRlciB3aXRoIGJpZy1udW1iLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZGVtby5jOgoJICBNYWtlIGRlZmF1bHQgdm9sdW1lIGEgYml0IGxlc3MuIEltcHJvdmUgbGF5b3V0IGJ5IGdpdmluZyBtb3JlIHNwYWNlIHRvCgkgIHRoZSBzbGlkZXIgd2l0aCBiaWctbnVtYmVycyBhbmQgZW5hYmxlIGZpbGwuCgoyMDA3LTExLTA4IDE1OjAwOjQwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogUmV0dXJuIEZBTFNFIGlmIHdlIGNhbid0IGhhbmRsZSBhIHF1ZXJ5IGluc3RlYWQgb2YgY2hhbmdpbmcgdGhlIGZvcm1hdC4gSWdub3JlIGZhY3Qgd2hlbiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIFJldHVybiBGQUxTRSBpZiB3ZSBjYW4ndCBoYW5kbGUgYSBxdWVyeSBpbnN0ZWFkIG9mIGNoYW5naW5nIHRoZQoJICBmb3JtYXQuIElnbm9yZSBmYWN0IHdoZW4gZGVhbGluZyB3aXRoIG1wZWcgYXVkaW8uCgoyMDA3LTExLTA2IDEyOjIzOjM1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzogVXNlIGF1dG9hdWRpb3NpbmsgaW5zdGVhZCBvZiBhbHNhc2luayBhbmQgdXNlIGEgc2luZSB3YXZlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzogKG1haW4pOgoJICBVc2UgYXV0b2F1ZGlvc2luayBpbnN0ZWFkIG9mIGFsc2FzaW5rIGFuZCB1c2UgYSBzaW5lIHdhdmUuCgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIEZpeCB0aGUgbWFnbml0dWRlIGNhbGN1bGF0aW9uLgoKMjAwNy0xMS0wMyAxOTo1MDoxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci86IEFsbG93IHNldHRpbmcgMCBhcyBiYW5kd2lkdGggYW5kIGhhbmRsZSB0aGlzIGNvcnJlY3RseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9kZW1vLmM6IChtYWluKToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9jbGFzc19pbml0KSwgKHNldHVwX2ZpbHRlcik6CgkgIEFsbG93IHNldHRpbmcgMCBhcyBiYW5kd2lkdGggYW5kIGhhbmRsZSB0aGlzIGNvcnJlY3RseS4KCSAgQWxzbyBoYW5kbGUgYSBiYW5kd2lkdGggb2YgcmF0ZS8yIHByb3Blcmx5LgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl9uYmFuZHNfY2xhc3NfaW5pdCk6CgkgIE1ha2UgaXQgcG9zc2libGUgdG8gZ2VuZXJhdGUgYSBOLWJhbmQgZXF1YWxpemVyIHdpdGggMSBiYW5kcy4gVGhlCgkgIHByZXZpb3VzIGxpbWl0IG9mIDIgd2FzIGNhdXNlZCBieSBhIG5vd2FkYXlzIHJlcGxhY2VkIGNhbGN1bGF0aW9uCgkgIGRvaW5nIGEgZGl2aXNpb24gYnkgemVybyBpZiBudW1iZXIgb2YgYmFuZHMgd2FzIDEuCgoyMDA3LTExLTAyIDIxOjE2OjA5ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgRml4IGluY2x1ZGVzIGZvciBNU1ZDIGFuZCBHTGliLTIuMTQuMCAoIzQ5MjM4OCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzICA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJICAqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5oOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNpbmsuaDoKCSAgRml4IGluY2x1ZGVzIGZvciBNU1ZDIGFuZCBHTGliLTIuMTQuMCAoIzQ5MjM4OCkuCgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfc3RhcnQpOgoJICBObyBtb3JlIHBpcGUgZGVmaW5lIHNpbmNlIEdMaWItMi4xNC4wLCBuZWVkIHRvIHVzZSBfcGlwZSgpIGRpcmVjdGx5LgoKMjAwNy0xMS0wMiAxNzoyMzo0MyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9sYXcvbXVsYXctZGVjb2RlLio6IENhbGN1bGF0ZSBvdXRnb2luZyBidWZmZXIgZHVyYXRpb24gaWYgaW5jb21pbmcgYnVmZmVyIGRpZG4ndCBoYXZlIGEgdmFsaWQgZHVyYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6IChtdWxhd2RlY19zaW5rX3NldGNhcHMpLAoJICAoZ3N0X211bGF3ZGVjX2NoYWluKToKCSAgKiBnc3QvbGF3L211bGF3LWRlY29kZS5oOgoJICBDYWxjdWxhdGUgb3V0Z29pbmcgYnVmZmVyIGR1cmF0aW9uIGlmIGluY29taW5nIGJ1ZmZlciBkaWRuJ3QgaGF2ZSBhCgkgIHZhbGlkIGR1cmF0aW9uLgoKMjAwNy0xMC0zMCAyMTozNzo0OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci86IEFkZCBzbWFsbCBkZW1vIGFwcGxpY2F0aW9uIGJhc2VkIG9uIHRoZSBzcGVjdHJ1bSBkZW1vIGFwcGxpY2F0aW9ucyB0aGF0IGdldHMgd2hpdGUgbm9pc2UgYXMgaW5wdXQsIHB1Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2VxdWFsaXplci9kZW1vLmM6IChvbl93aW5kb3dfZGVzdHJveSksIChvbl9jb25maWd1cmVfZXZlbnQpLAoJICAob25fZ2Fpbl9jaGFuZ2VkKSwgKG9uX2JhbmR3aWR0aF9jaGFuZ2VkKSwgKG9uX2ZyZXFfY2hhbmdlZCksCgkgIChkcmF3X3NwZWN0cnVtKSwgKG1lc3NhZ2VfaGFuZGxlciksIChtYWluKToKCSAgQWRkIHNtYWxsIGRlbW8gYXBwbGljYXRpb24gYmFzZWQgb24gdGhlIHNwZWN0cnVtIGRlbW8gYXBwbGljYXRpb25zCgkgIHRoYXQgZ2V0cyB3aGl0ZSBub2lzZSBhcyBpbnB1dCwgcHVzaGVzIGl0IHRocm91Z2ggYW4gZXF1YWxpemVyIGFuZAoJICBwYWludHMgdGhlIHNwZWN0cnVtLiBGb3IgZXZlcnkgZXF1YWxpemVyIGJhbmQgaXQncyBwb3NzaWJsZSB0byBzZXQKCSAgZ2FpbiwgYmFuZHdpZHRoIGFuZCBmcmVxdWVuY3kuCgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKHNldHVwX2ZpbHRlcik6CgkgIEFkZCBzb21lIGd1YXJkaW5nIGFnYWluc3QgdG9vIGxhcmdlIG9yIHRvbyBzbWFsbCBmcmVxdWVuY2llcyBhbmQKCSAgYmFuZHdpZHRocy4gQWxzbyBpbXByb3ZlIGRlYnVnZ2luZyBhIGJpdC4KCjIwMDctMTAtMzAgMjE6MTg6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IFJlcGxhY2UgZmlsdGVycyB3aXRoIGEgYml0IGJldHRlciBmaWx0ZXJzIGZvciB3aGljaCB3ZSBjYW4gYWN0dWFsbHkgZmluZCBkb2N1bWVudGF0aS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9jbGFzc19pbml0KSwgKGFyZ190b19zY2FsZSksCgkgIChzZXR1cF9maWx0ZXIpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfY29tcHV0ZV9mcmVxdWVuY2llcyk6CgkgIFJlcGxhY2UgZmlsdGVycyB3aXRoIGEgYml0IGJldHRlciBmaWx0ZXJzIGZvciB3aGljaCB3ZSBjYW4gYWN0dWFsbHkKCSAgZmluZCBkb2N1bWVudGF0aW9uLCB3aGljaCBkb24ndCBjaGFuZ2UgYW55dGhpbmcgb24gemVybyBnYWluLCBldGMuCgkgIE1ha2UgdGhlIGZyZXF1ZW5jeSBwcm9wZXJ0eSBvZiB0aGUgYmFuZHMgd3JpdGFibGUsIHJlbmFtZSB0aGUKCSAgYmFuZC13aWR0aCBwcm9wZXJ0eSB0byBiYW5kd2lkdGggYW5kIGNoYW5nZSB0aGUJbWVhbmluZyB0byB0aGUKCSAgZnJlcXVlbmN5IGRpZmZlcmVuY2UgYmV0d2VlbiBiYW5kZWRnZXMsIGNoYW5nZSB0aGUgbWVhbmluZyBvZiB0aGUKCSAgZ2FpbiBwcm9wZXJ0eSB0byBkQiBpbnN0ZWFkIG9mIGEgd2VpcmQgc2NhbGUgYmV0d2VlbiAtMQlhbmQgMSB0aGF0CgkgIGhhcyBubyByZWFsIG1lYW5pbmcuCgoyMDA3LTEwLTMwIDEyOjI5OjQ2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBTbWFydGVyIGNvbWJpbmVfZmxvdyBjb2RlIHRoYXQgYWxzbyBkZWFscyB3aXRoIGRvd25zdHJlYW0gZWxlbWVudHMgcmV0dXJuaW5nIFVORVhQRUNURUQgd2hlbiB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpLAoJICAoZ3N0X3F0ZGVtdXhfY29tYmluZV9mbG93cyksIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKToKCSAgU21hcnRlciBjb21iaW5lX2Zsb3cgY29kZSB0aGF0IGFsc28gZGVhbHMgd2l0aCBkb3duc3RyZWFtIGVsZW1lbnRzCgkgIHJldHVybmluZyBVTkVYUEVDVEVEIHdoZW4gdGhleSByZWNlaXZlIGRhdGEgb3V0IG9mIHRoZSBzZWdtZW50CgkgIGJvdW5kYXJpZXMuIEZpeGVzICM0OTEzMDUuCgoyMDA3LTEwLTI3IDE2OjA0OjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiBMZXQncyBub3QgY2FsbCBldmVyeSByZXF1ZXN0IHBhZCB3ZSBjcmVhdGUgInNpbmslZCIsIHRoYXQnbGwgY3JlYXRlIHByb2JsZW1zIGlmIHRoZXJlJ3MgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogKGdzdF9pbnRlcmxlYXZlX3JlcXVlc3RfbmV3X3BhZCk6CgkgIExldCdzIG5vdCBjYWxsIGV2ZXJ5IHJlcXVlc3QgcGFkIHdlIGNyZWF0ZSAic2luayVkIiwgdGhhdCdsbAoJICBjcmVhdGUgcHJvYmxlbXMgaWYgdGhlcmUncyB0byBiZSBtb3JlIHRoYW4gb25lIHBhZC4gRml4ZXMgIzQ5MDY4Mi4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSAgQWRkIHVuaXQgdGVzdCBmb3IgdGhlIGFib3ZlLgoKMjAwNy0xMC0yNiAxNTowMzowNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogRml4ICd1bnVzZWQgdmFyaWFibGUnIGNvbXBpbGVyIHdhcm5pbmcgd2hlbiBjb21waWxpbmcgYWdhaW5zdCBvbGRlciBrZXJuZWwgaGVhZGVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBGaXggJ3VudXNlZCB2YXJpYWJsZScgY29tcGlsZXIgd2FybmluZyB3aGVuIGNvbXBpbGluZyBhZ2FpbnN0CgkgIG9sZGVyIGtlcm5lbCBoZWFkZXJzLgoKMjAwNy0xMC0yNiAxMjoxMDo0MyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICB1cGRhdGUgc3BlYyBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgc3BlYyBmaWxlCgoyMDA3LTEwLTI1IDIzOjQyOjUyICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIEltcHJvdmUgZG9jdW1lbnRhdGlvbiwgd3JpdGUgc29tZSB0ZXN0cyBmb3IgbXVsdGlmaWxlc3JjL3NpbmsgZm9yIHVwY29taW5nIC0+Z29vZCByZXZpZXcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzoKCSAgSW1wcm92ZSBkb2N1bWVudGF0aW9uLCB3cml0ZSBzb21lIHRlc3RzIGZvciBtdWx0aWZpbGVzcmMvc2luawoJICBmb3IgdXBjb21pbmcgLT5nb29kIHJldmlldy4KCjIwMDctMTAtMjUgMTU6MDA6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjIChhZGRfZnVuY3MpOiBNYXAgbmV3IFNPUlROQU1FIHRhZ3MgdG8gSUQzdjIgVFNPUCwgVFNPQSBhbmQgVFNPVCBmcmFtZXMgKCM0MTQ1MzkpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjIChhZGRfZnVuY3MpOgoJICBNYXAgbmV3IFNPUlROQU1FIHRhZ3MgdG8gSUQzdjIgVFNPUCwgVFNPQSBhbmQgVFNPVCBmcmFtZXMgKCM0MTQ1MzkpLgoKMjAwNy0xMC0yNCAwNzowMTo0NyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzogSW1wcm92ZSB0aGUgdGVzdHMgYSBsaXR0bGUgbW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzoKCSAgSW1wcm92ZSB0aGUgdGVzdHMgYSBsaXR0bGUgbW9yZS4KCjIwMDctMTAtMjMgMDg6Mzg6NTAgKzAwMDAgIFl1biBaaGVuZyBIdSA8eXVuemhlbmcuaHVAZ21haWwuY29tPgoKCSAgc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6IFVzZSBkZWZhdWx0IGlucHV0IGRldmljZSBpbnN0ZWFkIG9mIGRlZmF1bHQgb3V0cHV0IGRldmljZSBhbmQgb25seSBtZW1jcHkgYWN0dWFsIGF2YWlsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogWXVuIFpoZW5nIEh1CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkgIFVzZSBkZWZhdWx0IGlucHV0IGRldmljZSBpbnN0ZWFkIG9mIGRlZmF1bHQgb3V0cHV0IGRldmljZSBhbmQKCSAgb25seSBtZW1jcHkgYWN0dWFsIGF2YWlsYWJsZSBieXRlcy4KCjIwMDctMTAtMjIgMTk6MTQ6MDggKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogRml4ZXMgInY0bDJzcmMgISBxdWV1ZSAhIHh2aW1hZ2VzaW5rIi4gVGhlIHF1ZXVlIGFzayBmb3IgYnVmZmVyIHRvbyBlYXJseS4gSXQgaXMgdGVtcG9yYXJ5IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19ncmFiX2ZyYW1lKToKCSAgRml4ZXMgInY0bDJzcmMgISBxdWV1ZSAhIHh2aW1hZ2VzaW5rIi4gVGhlIHF1ZXVlIGFzayBmb3IgYnVmZmVyIHRvbwoJICBlYXJseS4gSXQgaXMgdGVtcG9yYXJ5IHVudGlsIHdlIGZpbmQgc29tZXRoaW5nIGJldHRlci4KCjIwMDctMTAtMjIgMTY6NDQ6NDggKzAwMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS5teW9oYW5lbkBub2tpYS5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IEZpeCByYWNlIHdoZW4gcGF1c2luZyBhIFJUU1Agc3RyZWFtIGluIGludGVybGVhdmVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRvbW1pIE15w7Zow6RuZW4gIDxleHQtdG9tbWkgZG90IG15b2hhbmVuIGF0IG5va2lhIGRvdCBjb20+CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfbG9vcF9pbnRlcmxlYXZlZCk6CgkgIEZpeCByYWNlIHdoZW4gcGF1c2luZyBhIFJUU1Agc3RyZWFtIGluIGludGVybGVhdmVkLgoJICBGaXhlcyAjNDc1Nzg0LgoKMjAwNy0xMC0yMiAwOTo1MzoxNiArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzogVXNlIGNvcnJlY3QgdW5yZWYgZnVuY3Rpb24gZm9yIGJ1ZmZlcnMuICM0ODg4NDQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2ogYXQgYXhpcyBjb20+CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6IChnc3RfcnRwX21wNHZfcGF5X2ZpbmFsaXplKToKCSAgVXNlIGNvcnJlY3QgdW5yZWYgZnVuY3Rpb24gZm9yIGJ1ZmZlcnMuICM0ODg4NDQuCgoyMDA3LTEwLTE5IDE5OjMzOjE2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBBZGQgc29tZSBkZWJ1ZyBhbmQgc3luYyB0ZXN0cyB3aXRoIHRoZSBmaXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpbXV4LmM6CgkgIEFkZCBzb21lIGRlYnVnIGFuZCBzeW5jIHRlc3RzIHdpdGggdGhlIGZpeC4KCjIwMDctMTAtMTggMTc6MDQ6MTQgKzAwMDAgIExhdXJlbnQgR2xheWFsIDxzcGdsZWdsZUB5YWhvby5mcj4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IFdoZW4gdGhlIHNvY2tldCBpcyB1c2VkIGJ5IHRoZSBhcHAgZm9yIG90aGVyIHB1cnBvc2VzLCBkb24ndCBnZW5lcmF0ZSBhbiBlcnJvciBpZiB0aGVyZSBpcyBhY3Rpdi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IExhdXJlbnQgR2xheWFsICA8c3BnbGVnbGUgeWFob28gZnI+CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY3JlYXRlKToKCSAgV2hlbiB0aGUgc29ja2V0IGlzIHVzZWQgYnkgdGhlIGFwcCBmb3Igb3RoZXIgcHVycG9zZXMsIGRvbid0IGdlbmVyYXRlIGFuCgkgIGVycm9yIGlmIHRoZXJlIGlzIGFjdGl2YXR5IG9uIHRoZSBzb2NrZXQgdGhhdCBpcyBub3QgZGF0YSByZWxhdGVkLgoJICBGaXhlcyAjNDg3NDg4LgoKMjAwNy0xMC0xOCAxNDo1NTozOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogQWRkIHNvbWUgbW9yZSBkZWJ1ZyBpbmZvLiBHZW5lcmF0ZSBhbiBlcnJvciB3aGVuIHdlIHJ1biBvdXQgb2YgYnVmZmVycyBmb3Igc29tZSByZWFzb24uIFNlZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMl9idWZmZXJfZmluYWxpemUpLAoJICAoZ3N0X3Y0bDJzcmNfZ3JhYl9mcmFtZSk6CgkgIEFkZCBzb21lIG1vcmUgZGVidWcgaW5mby4gR2VuZXJhdGUgYW4gZXJyb3Igd2hlbiB3ZSBydW4gb3V0IG9mIGJ1ZmZlcnMKCSAgZm9yIHNvbWUgcmVhc29uLiBTZWUgIzQ4MDU1Ny4KCjIwMDctMTAtMTggMDg6Mjc6NTYgKzAwMDAgIEFuZGVycyBTa2FyZ3JlbiA8YW5kZXJzLnNrYXJncmVuQGF4aXMuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6IFNldCBtYXJrZXIgYml0IGNvcnJlY3RseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBbmRlcnMgU2thcmdyZW4gPGFuZGVycyBkb3Qgc2thcmdyZW4gYXQgYXhpcyBkb3QgY29tPgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOiAoZ3N0X3J0cF9oMjY0X3BheV9oYW5kbGVfYnVmZmVyKToKCSAgU2V0IG1hcmtlciBiaXQgY29ycmVjdGx5LgoKMjAwNy0xMC0xOCAwNjoyMDoyMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogQWRkIGEgbWlzc2luZyBicmVhay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfc2V0X3Byb3BlcnR5KToKCSAgQWRkIGEgbWlzc2luZyBicmVhay4KCjIwMDctMTAtMTggMDY6MTQ6NDIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLio6IE1vdmUgYmFuZHdpZHRoIHByb3BlcnR5IHRvIHRoZSBzZXBhcmF0ZSBiYW5kcyBhbmQgYWRkIGZsb2F0NjQgc3VwcG9ydC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfY2xhc3NfaW5pdCksIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9nZXRfdHlwZSksIChnc3RfaWlyX2VxdWFsaXplcl9jbGFzc19pbml0KSwKCSAgKHNldHVwX2ZpbHRlciksIChnc3RfaWlyX2VxdWFsaXplcl9zZXR1cCk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuaDoKCSAgTW92ZSBiYW5kd2lkdGggcHJvcGVydHkgdG8gdGhlIHNlcGFyYXRlIGJhbmRzIGFuZCBhZGQgZmxvYXQ2NCBzdXBwb3J0LgoKMjAwNy0xMC0xNyAxNTowODowMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogVXNlIGFsbG93ZWQgbmFtZSBmb3IgdGhlIEdzdFN0cnVjdHVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfb3Blbik6CgkgIFVzZSBhbGxvd2VkIG5hbWUgZm9yIHRoZSBHc3RTdHJ1Y3R1cmUuCgoyMDA3LTEwLTE3IDExOjQ3OjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgVXNlIG5ldyBnc3RfYnVzX3BvcF9maWx0ZXJlZCgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5jOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSAgVXNlIG5ldyBnc3RfYnVzX3BvcF9maWx0ZXJlZCgpLgoKMjAwNy0xMC0xMyAxMjowMzo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy92NGwyLzogV2hlbiBwcm9iaW5nIHRoZSBmb3JtYXRzIGFuZCBzaXplcyBhIGNhbWVyYSBzdXBwb3J0cywgbWFrZSBzdXJlIHRoZSBiZXN0IG9uZXMgKGhpZ2hlc3QgcmVzb2x1dGlvbiwgcHJlZmVyZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBXaGVuIHByb2JpbmcgdGhlIGZvcm1hdHMgYW5kIHNpemVzIGEgY2FtZXJhIHN1cHBvcnRzLCBtYWtlCgkgIHN1cmUgdGhlIGJlc3Qgb25lcyAoaGlnaGVzdCByZXNvbHV0aW9uLCBwcmVmZXJlZCBmb3JtYXQpCgkgIGVuZCB1cCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBwcm9iZWQgY2FwcyBhbmQgdGhlIGxlc3MKCSAgZGVzaXJhYmxlIG9uZXMgYXQgdGhlIGVuZC4gIFRoaXMgaXMgaW1wb3J0YW50IGJlY2F1c2UgdGhlCgkgIG9yZGVyIHdpdGhpbiB0aGUgY2FwcyBtYXR0ZXJzIGZvciB0aGluZ3MgbGlrZSBmaXhhdGlvbiBhbmQKCSAgbmVnb3RpYXRpb24sIGllLiB3aGF0IGZvcm1hdCBpcyBjaG9zZW4gaW4gdGhlIGVuZC4KCSAgV2l0aCByZWNlbnQga2VybmVscywgdGhlIGN1cnJlbnQgcHJvYmluZyBjb2RlIHdpbGwgZW5kIHVwCgkgIHF1ZXJ5aW5nIHRoZSBzdXBwb3J0ZWQgc2l6ZXMgZnJvbSBsb3dlc3QgcmVzb2x1dGlvbiB0bwoJICBoaWdoZXN0IHJlc29sdXRpb24sIGFkZGluZyB0aGVtIHRvIHRoZSBwcm9iZWQgY2FwcyBpbiB0aGF0CgkgIG9yZGVyLCByZXN1bHRpbmcgdG8gdjRsMnNyYyBmaXhhdGluZyB0byB0aGUgbG93ZXN0IHBvc3NpYmxlCgkgIHJlc29sdXRpb24gaWYgZG93bnN0cmVhbSBkb2VzIG5vdCBleHByZXNzIGEgc2l6ZSBwcmVmZXJlbmNlLgoJICBBbHNvIG1ha2UgdXAgYSBzb21ld2hhdCByYW5kb20gcmFua2luZyBvZiBwcmVmZXJlZCBvdXRwdXQKCSAgZm9ybWF0cyBmb3IgdGhlIHNhbWUgcmVhc29uLiBGaXhlcyAjNDg1ODI4LgoKMjAwNy0xMC0xMSAxNzo1NToyOSArMDAwMCAgSmFzb24gS2l2bGlnaG4gPGpraXZsaWdobkBnbWFpbC5jb20+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogRXh0cmFjdCBsaWNlbnNlL2NvcHlyaWdodCBVUklzIGZyb20gSUQzdjIgV0NPUCBmcmFtZXMgKEZpeGVzICM0NDcwMDApLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IEphc29uIEtpdmxpZ2huICA8amtpdmxpZ2huIGdtYWlsIGNvbT4KCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzoKCSAgRXh0cmFjdCBsaWNlbnNlL2NvcHlyaWdodCBVUklzIGZyb20gSUQzdjIgV0NPUCBmcmFtZXMKCSAgKEZpeGVzICM0NDcwMDApLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM2RlbXV4LmM6CgkgICogdGVzdHMvZmlsZXMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvZmlsZXMvaWQzLTQ0NzAwMC13Y29wLnRhZzoKCSAgQWRkIHNpbXBsZSB1bml0IHRlc3QuCgoyMDA3LTEwLTExIDE2OjQxOjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzogQWRkIHN1cHBvcnQgZm9yIGxpY2Vuc2UvY29weXJpZ2h0IFVSSSB0YWdzIChJRDN2MiBXQ09QIGZyYW1lKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgQWRkIHN1cHBvcnQgZm9yIGxpY2Vuc2UvY29weXJpZ2h0IFVSSSB0YWdzIChJRDN2MiBXQ09QIGZyYW1lKS4KCSAgUHJlcmVxdWlzaXRlIGZvciAjNDQ3MDAwLgoKMjAwNy0xMC0wOCAxNzo0NDo0MiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IEZpeCBjb21waWxlciB3YXJuaW5nIGJ5IHVzaW5nIEdTVF9DTE9DS19USU1FX05PTkUgdG8gaW5pdGlhbGlzZSBhIEdzdENsb2NrVGltZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfZmx1c2gpOgoJICBGaXggY29tcGlsZXIgd2FybmluZyBieSB1c2luZyBHU1RfQ0xPQ0tfVElNRV9OT05FIHRvIGluaXRpYWxpc2UKCSAgYSBHc3RDbG9ja1RpbWUuCgoyMDA3LTEwLTA4IDExOjU4OjUxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBNb3JlIHNlZWtpbmcgZml4ZXMsIG1vc3RseSBwYXNzaW5nIGFyb3VuZCB0aGUgbmV3IHBsYXliYWNrIHNlZ21lbnQgaW4gb3JkZXIgdG8gY29uZmlndXJlIGl0IHByLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2ZsdXNoKSwKCSAgKGdzdF9ydHNwc3JjX2RvX3NlZWspLCAoZ3N0X3J0c3BzcmNfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF9ydHNwc3JjX2NvbmZpZ3VyZV9jYXBzKSwgKGdzdF9ydHNwc3JjX2xvb3BfdWRwKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX3JhbmdlKSwgKGdzdF9ydHNwc3JjX29wZW4pLCAoZ3N0X3J0c3BzcmNfcGxheSksCgkgIChnc3RfcnRzcHNyY19jaGFuZ2Vfc3RhdGUpOgoJICBNb3JlIHNlZWtpbmcgZml4ZXMsIG1vc3RseSBwYXNzaW5nIGFyb3VuZCB0aGUgbmV3IHBsYXliYWNrIHNlZ21lbnQgaW4KCSAgb3JkZXIgdG8gY29uZmlndXJlIGl0IHByb3Blcmx5LgoJICBBbHNvIHJlc2V0IGJhc2VfdGltZSBvZiB1ZHAgc291cmNlcyB3aGVuIHNldHRpbmcgdGhlbSBiYWNrIHRvIFBMQVlJTkcgYXMKCSAgYSB0ZW1wb3JhcnkgaGFjayB1bnRpbCBjb3JlIHN1cHBvcnRzIHNlZWsgaW4gbGl2ZSBzb3VyY2VzIHByb3Blcmx5LgoKMjAwNy0xMC0wOCAxMDozNDowMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6IEZpeCBjYXBzIGFzIHRvIG5vdCBjb25mdXNlIGF1dG9wbHVnZ2Vycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSAgRml4IGNhcHMgYXMgdG8gbm90IGNvbmZ1c2UgYXV0b3BsdWdnZXJzLgoKMjAwNy0xMC0wNiAxNjoxMzoxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC86IFBvcnQgSUQzIHRhZyBkZW11eGVyIG92ZXIgdG8gdGhlIG5ldyBHc3RUYWdEZW11eCBpbiAtYmFzZSAobm93IHdvdWxkIGJlIGEgZ29vZCB0aW1lIHRvIHRlc3QgcmUtaW1wb3J0aS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzoKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguaDoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOgoJICAqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmg6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6CgkgIFBvcnQgSUQzIHRhZyBkZW11eGVyIG92ZXIgdG8gdGhlIG5ldyBHc3RUYWdEZW11eCBpbiAtYmFzZQoJICAobm93IHdvdWxkIGJlIGEgZ29vZCB0aW1lIHRvIHRlc3QgcmUtaW1wb3J0aW5nIHlvdXIgbXVzaWMKCSAgY29sbGVjdGlvbikuCgoyMDA3LTEwLTA2IDE1OjEzOjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2FwZXRhZy86IFBvcnQgQVBFIHRhZyBkZW11eGVyIG92ZXIgdG8gdGhlIG5ldyBHc3RUYWdEZW11eCBpbiAtYmFzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FwZXRhZy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkgICogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5oOgoJICAqIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzoKCSAgKiBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4Lmg6CgkgIFBvcnQgQVBFIHRhZyBkZW11eGVyIG92ZXIgdG8gdGhlIG5ldyBHc3RUYWdEZW11eCBpbiAtYmFzZS4KCjIwMDctMTAtMDUgMTM6MTg6MTkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IEltcHJvdmUgZmx1c2hpbmcgYmVoYXZpb3VyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19mbHVzaCksCgkgIChnc3RfcnRzcHNyY19wZXJmb3JtX3NlZWspLCAoZ3N0X3J0c3BzcmNfaGFuZGxlX3NyY19ldmVudCksCgkgIChnc3RfcnRzcHNyY19oYW5kbGVfaW50ZXJuYWxfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9ydHNwc3JjX2hhbmRsZV9zcmNfcXVlcnkpLCAobmV3X3Nlc3Npb25fcGFkKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdGNwKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwKCSAgKGdzdF9ydHNwc3JjX2xvb3Bfc2VuZF9jbWQpOgoJICBJbXByb3ZlIGZsdXNoaW5nIGJlaGF2aW91ci4KCSAgU2V0IHN0YXRlIG9mIHRoZSB1ZHAgc291cmNlcyB0byBQQVVTRS9QTEFZSU5HIGNvcnJlY3RseS4KCSAgSGFuZGxlIGV2ZW50cyBhbmQgcXVlcmllcyBmb3IgVURQIGFuZCBUQ1AgdHJhbnNwb3J0IG5vdy4KCjIwMDctMTAtMDQgMDc6Mjk6NDggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9ydHAvOiBBZGQgbG9nIGNhdGVnb3J5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSAgQWRkIGxvZyBjYXRlZ29yeS4KCjIwMDctMTAtMDQgMDc6MjQ6MDIgKzAwMDAgIFRpbW8gSG90dGkgPFRpbW8uSG90dGlAc3lzb3BlbmRpZ2lhLmNvbT4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIHVuaXQgdGVzdHMgZm9yIHBheWxvYWRlcnMvZGVwYXlsb2FkZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRpbW8gSG90dGkgPFRpbW8uSG90dGlAc3lzb3BlbmRpZ2lhLmNvbT4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJICBBZGQgdW5pdCB0ZXN0cyBmb3IgcGF5bG9hZGVycy9kZXBheWxvYWRlcnMuCgoyMDA3LTEwLTAyIDEwOjQ5OjAzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aW11eC4qOiBBbHNvIHNhdmUgY29kZWMgZGF0YSBmb3IgYXVkaW8gc3RyZWFtcy4gRml4ZXMgIzQ4MjQ5NS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5oOgoJICBBbHNvIHNhdmUgY29kZWMgZGF0YSBmb3IgYXVkaW8gc3RyZWFtcy4gRml4ZXMgIzQ4MjQ5NS4KCjIwMDctMTAtMDIgMTA6MjM6MDQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IEZpeCAiSW5kZXggZW50cnkgaGFzIGludmFsaWQgc3RyZWFtIG5yIDEiLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBGaXggIkluZGV4IGVudHJ5IGhhcyBpbnZhbGlkIHN0cmVhbSBuciAxIi4KCSAgQWRkIHN1cHBvcnQgZm9yIG11eGluZyBhYWMgLSB3b3JrIGluIHByb2dyZXNzIChzZWUgIzQ4MjQ5NSkuCgoyMDA3LTEwLTAxIDE2OjM0OjU2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy4qOiBQYXJzZSBiYW5kd2lkdGggbW9kaWZpZXJzLCB0aGV5IGFyZSBub3QgeWV0IGNvbmZpZ3VyZWQgaW4gdGhlIHNlc3Npb24gbWFuYWdlciBiZWNhdXNlIHdlIGRvbid0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2dldF9iYW5kd2lkdGgpLAoJICAoZ3N0X3J0c3BzcmNfY29sbGVjdF9iYW5kd2lkdGgpLCAoZ3N0X3J0c3BzcmNfY3JlYXRlX3N0cmVhbSksCgkgIChnc3RfcnRzcHNyY19tZWRpYV90b19jYXBzKSwgKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgUGFyc2UgYmFuZHdpZHRoIG1vZGlmaWVycywgdGhleSBhcmUgbm90IHlldCBjb25maWd1cmVkIGluIHRoZSBzZXNzaW9uCgkgIG1hbmFnZXIgYmVjYXVzZSB3ZSBkb24ndCBoYXZlIGFuIEFQSSBmb3IgdGhhdCB5ZXQuCgoyMDA3LTEwLTAxIDEzOjU3OjI4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBVc2Ugc2hpbnkgbmV3IGZ1bmN0aW9uIGluIC1iYXNlIHRvIGdldCB0aGUgZGVmYXVsdCBjbG9jay1yYXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19wYXJzZV9ydHBtYXApLAoJICAoZ3N0X3J0c3BzcmNfbWVkaWFfdG9fY2FwcyksIChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKToKCSAgVXNlIHNoaW55IG5ldyBmdW5jdGlvbiBpbiAtYmFzZSB0byBnZXQgdGhlIGRlZmF1bHQgY2xvY2stcmF0ZS4KCSAgVXBkYXRlIHNvbWUgZG9jcy4KCjIwMDctMDktMjkgMTI6NTA6MzYgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIHdpbjMyL01BTklGRVNUOiBBZGQgZmlsZXMgdG8gd2luMzIgbWFuaWZlc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHdpbjMyL01BTklGRVNUOgoJICBBZGQgZmlsZXMgdG8gd2luMzIgbWFuaWZlc3QuCgkgICogd2luMzIvdnM2L2xpYmdzdGF1ZGlvZnguZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RxdGRlbXV4LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cnRwLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cnRzcC5kc3A6CgkgIFVwZGF0ZSBwcm9qZWN0IGZpbGVzLgoKMjAwNy0wOS0yOCAxNDo1NjoxOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuKjogSW4gVENQIG1vZGUsIG9ubHkgdGltZXN0YW1wIHRoZSBmaXJzdCBidWZmZXIuIFRDUCBpcyBub3QgcmVhbCB0aW1lIGFuZCBpdCBkb2VzIG5vdCBtYWtlIHNlbnNlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKSwKCSAgKGdzdF9ydHNwc3JjX3BsYXkpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgSW4gVENQIG1vZGUsIG9ubHkgdGltZXN0YW1wIHRoZSBmaXJzdCBidWZmZXIuIFRDUCBpcyBub3QgcmVhbCB0aW1lIGFuZAoJICBpdCBkb2VzIG5vdCBtYWtlIHNlbnNlIHRvIHRyeSB0byBza2V3IGNvbXBlbnNhdGUsIGFsc28gc29tZSBzZXJ2ZXJzIHNlbmQKCSAgdGhlIGZpcnN0IGJhdGNoIG9mIGRhdGEgaW4gYSBidXJzdC4KCjIwMDctMDktMjcgMTU6MDA6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogRml4IHNldHRpbmcgdGhlIGRpc2NvbnQgZmxhZyBvbiB0aGUgZmlyc3QgYnVmZmVyIHB1c2hlZCBkb3duc3RyZWFtIGZvciBmb3JtYXRzIHdpdGggcHIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIEZpeCBzZXR0aW5nIHRoZSBkaXNjb250IGZsYWcgb24gdGhlIGZpcnN0IGJ1ZmZlcgoJICBwdXNoZWQgZG93bnN0cmVhbSBmb3IgZm9ybWF0cyB3aXRoIHByaXZhdGUgY29kZWMKCSAgZGF0YSB0aGF0IG5lZWRzIHRvIGJlIGRlc2VyaWFsaXNlZCBpbnRvIGJ1ZmZlcnMKCSAgKHN1Y2ggYXMgdm9yYmlzIGFuZCBGTEFDIHdoZW4gaW4gYSBtYXRyb3NrYSBjb250YWluZXIpLgoKMjAwNy0wOS0yNyAxMToxMDoxMiArMDAwMCAgQW50b2luZSBUcmVtYmxheSA8aGV4YTAwQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS4qOiBGcmVlIHRoZSBjb25maWcgc3RyaW5nLiBGaXhlcyAjNDgwNzA3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFudG9pbmUgVHJlbWJsYXkgPGhleGEwMCBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOiAoZ3N0X3J0cF9tcDR2X3BheV9pbml0KSwKCSAgKGdzdF9ydHBfbXA0dl9wYXlfZmluYWxpemUpLCAoZ3N0X3J0cF9tcDR2X3BheV9mbHVzaCksCgkgIChnc3RfcnRwX21wNHZfcGF5X2hhbmRsZV9idWZmZXIpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5oOgoJICBGcmVlIHRoZSBjb25maWcgc3RyaW5nLiBGaXhlcyAjNDgwNzA3LgoJICBDbGVhbiB1cCB0aGUgdGltZXN0YW1wIGNvZGUgYSBsaXR0bGUuCgoyMDA3LTA5LTI2IDIwOjEyOjUyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy4qOiBTZXQgdGltZXN0YW1wcyBvbiBSVFAgYnVmZmVycyBpbiBpbnRlcmxlYXZlZCBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19jcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9ydHNwc3JjX2hhbmRsZV9zcmNfcXVlcnkpLCAoZ3N0X3J0c3BzcmNfbG9vcF9pbnRlcmxlYXZlZCksCgkgIChnc3RfcnRzcHNyY19sb29wX3VkcCksIChnc3RfcnRzcHNyY19jbG9zZSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBTZXQgdGltZXN0YW1wcyBvbiBSVFAgYnVmZmVycyBpbiBpbnRlcmxlYXZlZCBtb2RlLgoJICBNYXJrIGZpcnN0IGJ1ZmZlcnMgd2l0aCBhIERJU0NPTlQuCgkgIFJlbW92ZSBmbHVzaCBoYWNrIG5vdyB0aGF0IHN5bmMgZm9yIGxpdmUgc291cmNlcyBoYXMgYmVlbiBmaWd1cmVkIG91dC4KCjIwMDctMDktMjYgMTQ6Mjg6MjAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy5jOiBVcGRhdGUgZG9jdW1lbnRhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY3JlYXRlKToKCSAgVXBkYXRlIGRvY3VtZW50YXRpb24uCgoyMDA3LTA5LTI2IDE0OjI2OjM5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuKjogRmFpbCBpZiB3ZSBkb24ndCBrbm93IHRoZSBxdWlja3RpbWUgZm9ybWF0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS5jOiAoZ3N0X3J0cF94cXRfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX3hxdF9kZXBheV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5Lmg6CgkgIEZhaWwgaWYgd2UgZG9uJ3Qga25vdyB0aGUgcXVpY2t0aW1lIGZvcm1hdC4KCjIwMDctMDktMjYgMTM6MTk6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy9nc3RmbGFjZW5jLio6IFNhdmUgdGhlIGZsb3cgcmV0dXJuIGZyb20gdGhlIGxhc3QgZ3N0X3BhZF9wdXNoKCkgYW5kIG1ha2Ugc3VyZSB3ZSBwYXNzIHRoZSByaWdodCBmbG93IHJldHVybiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuaDoKCSAgU2F2ZSB0aGUgZmxvdyByZXR1cm4gZnJvbSB0aGUgbGFzdCBnc3RfcGFkX3B1c2goKSBhbmQKCSAgbWFrZSBzdXJlIHdlIHBhc3MgdGhlIHJpZ2h0IGZsb3cgcmV0dXJuIHZhbHVlIHVwc3RyZWFtCgkgIGluIHRoZSBjYXNlIG9mIGZhaWx1cmU7IG1pbm9yIGNsZWFuLXVwcy4KCjIwMDctMDktMjUgMTk6MDk6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBBZGQgc3VwcG9ydCBmb3IgdGhlIG5ldyBHU1RfVEFHX0NPTVBPU0VSICgjNDU5ODA5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3RhcGV2Mm11eC5jYzoKCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICAqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSAgQWRkIHN1cHBvcnQgZm9yIHRoZSBuZXcgR1NUX1RBR19DT01QT1NFUiAoIzQ1OTgwOSkuCgoyMDA3LTA5LTI1IDE3OjE4OjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2xhdy86IENvbXB1bHNpdmUgY2xlYW4tdXBzOiB1c2UgYm9pbGVycGxhdGUgbWFjcm9zLCBhZGQgZGVidWcgY2F0ZWdvcmllcywgZml4IHVwIHRoaW5ncyB0byBjb25mb3JtIHRvIHN5bWJvbCBub21lLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSAgKiBnc3QvbGF3L2FsYXctZGVjb2RlLmg6CgkgICogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJICAqIGdzdC9sYXcvYWxhdy1lbmNvZGUuaDoKCSAgKiBnc3QvbGF3L2FsYXcuYzoKCSAgKiBnc3QvbGF3L211bGF3LWNvbnZlcnNpb24uaDoKCSAgQ29tcHVsc2l2ZSBjbGVhbi11cHM6IHVzZSBib2lsZXJwbGF0ZSBtYWNyb3MsIGFkZCBkZWJ1ZwoJICBjYXRlZ29yaWVzLCBmaXggdXAgdGhpbmdzIHRvIGNvbmZvcm0gdG8gc3ltYm9sIG5vbWVua2xhdHVyYSwKCSAgZXRjLgoKMjAwNy0wOS0yNSAxNjowNToyOSArMDAwMCAgTGF1cmVudCBHbGF5YWwgPHNwZ2xlZ2xlQHlhaG9vLmZyPgoKCSAgZ3N0L2xhdy86IFVzZSBzdGF0aWMgdGFibGVzIGZvciBBLUxhdyBkZWNvZGluZyBhbmQgZW5jb2Rpbmc7IHRoaXMgbWFrZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBMYXVyZW50IEdsYXlhbCAgPHNwZ2xlZ2xlIHlhaG9vIGZyPgoJICAqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSAgKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkgIFVzZSBzdGF0aWMgdGFibGVzIGZvciBBLUxhdyBkZWNvZGluZyBhbmQgZW5jb2Rpbmc7IHRoaXMgbWFrZXMKCSAgQS1MYXcgZGVjb2RpbmcgYW5kIGVuY29kaW5nIGxlc3MgQ1BVLWludGVuc2l2ZSwgYnV0IGluY3JlYXNlcwoJICB0aGUgYmluYXJ5IHNpemUgYSBiaXQuIExlYXZpbmcgb2xkIGNvZGUgYXJvdW5kIGZvciBub3csCgkgIHNlbGVjdGFibGUgYnkgYSBkZWZpbmUgaW4gdGhlIGNvZGUuIEZpeGVzICM0MzU0MzUuCgoyMDA3LTA5LTI1IDA4OjUxOjM2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IFVzZSBBR19HU1RfQVJHX1dJVEhfUExVR0lOUywgQUdfR1NUX0FSR19FTkFCTEVfRVhURVJOQUwgYW5kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgVXNlIEFHX0dTVF9BUkdfV0lUSF9QTFVHSU5TLCBBR19HU1RfQVJHX0VOQUJMRV9FWFRFUk5BTCBhbmQKCSAgQUdfR1NUX0FSR19FTkFCTEVfRVhQRVJJTUVOVEFMIGluc3RlYWQgb2YgZHVwbGljYXRpbmcgdGhvc2UgbWFjcm9zCgkgIGluIGNvbmZpZ3VyZS5hYy4KCjIwMDctMDktMjUgMDU6MDM6NTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIGZvdXJjY3MgZm9yIE1QRUcyIEhEViBzdHJlYW1zLiBGaXhlcyAjNDc5OTYwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IDxqIGF0IGJvb3RsYWIgZG90IG9yZz4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBBZGQgZm91cmNjcyBmb3IgTVBFRzIgSERWIHN0cmVhbXMuIEZpeGVzICM0Nzk5NjAuCgoyMDA3LTA5LTI0IDEwOjUzOjM2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBNYXNzaXZlIGxlYWsgZml4aW5nLCBwbHVzIGNvZGUgY2xlYW51cHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6CgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5oOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICAqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICAqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jOgoJICAqIHN5cy92Y2QvdmNkc3JjLmM6CgkgIE1hc3NpdmUgbGVhayBmaXhpbmcsIHBsdXMgY29kZSBjbGVhbnVwcy4KCjIwMDctMDktMjMgMTg6NTc6MTQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHN5cy9vc3MvZ3N0b3NzaGVscGVyLmM6IFVzZSBHU1RfV0FSTklORyBpbnN0ZWFkIG9mIGEgZ19jcml0aWNhbC4gVGhpcyBzaXR1YXRpb24gaXMgbm90IGNhdXNlZCBieSB0aGUgYXBwbGljYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3MvZ3N0b3NzaGVscGVyLmM6CgkgIFVzZSBHU1RfV0FSTklORyBpbnN0ZWFkIG9mIGEgZ19jcml0aWNhbC4gVGhpcyBzaXR1YXRpb24gaXMgbm90IGNhdXNlZAoJICBieSB0aGUgYXBwbGljYXRpb24uCgoyMDA3LTA5LTIyIDE4OjE1OjEyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvLzogVXBkYXRlZCB0cmFuc2xhdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHBvL0xJTkdVQVM6CgkgICogcG8vbmwucG86CgkgIFVwZGF0ZWQgdHJhbnNsYXRpb25zLgoKMjAwNy0wOS0yMiAxODoxMzo1OCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby9ldS5wbzogQWRkZWQgQmFzcXVlIHRyYW5zbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdHJhbnNsYXRlZCBieTogTWlrZWwgT2xhc2FnYXN0aSA8aGV5X25la2VuQG11bmR1cmF0Lm5ldD4KCSAgKiBwby9ldS5wbzoKCSAgQWRkZWQgQmFzcXVlIHRyYW5zbGF0aW9uLgoKMjAwNy0wOS0yMiAxODoxMzoxMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby86IEFkZGVkIENoaW5lc2UgKHRyYWRpdGlvbmFsIGFuZCBIb25nIEtvbmcpIHRyYW5zbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdHJhbnNsYXRlZCBieTogQWJlbCBDaGV1bmcgPGFiZWxjaGV1bmdAZ21haWwuY29tPgoJICAqIHBvL3poX0hLLnBvOgoJICAqIHBvL3poX1RXLnBvOgoJICBBZGRlZCBDaGluZXNlICh0cmFkaXRpb25hbCBhbmQgSG9uZyBLb25nKSB0cmFuc2xhdGlvbi4KCjIwMDctMDktMjIgMTg6MTA6NDIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vcGwucG86IEFkZGVkIFBvbGlzaCB0cmFuc2xhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHRyYW5zbGF0ZWQgYnk6IEpha3ViIEJvZ3VzeiA8cWJvb3NoQHBsZC1saW51eC5vcmc+CgkgICogcG8vcGwucG86CgkgIEFkZGVkIFBvbGlzaCB0cmFuc2xhdGlvbi4KCjIwMDctMDktMjIgMTg6MDk6NTkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vZmkucG86IEFkZGVkIEZpbm5pc2ggdHJhbnNsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB0cmFuc2xhdGVkIGJ5OiBJbGtrYSBUdW9oZWxhIDxoaWxlQGlraS5maT4KCSAgKiBwby9maS5wbzoKCSAgQWRkZWQgRmlubmlzaCB0cmFuc2xhdGlvbi4KCjIwMDctMDktMjIgMTg6MDk6MDkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vZXMucG86IEFkZGVkIFNwYW5pc2ggdHJhbnNsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB0cmFuc2xhdGVkIGJ5OiBKb3JnZSBHb256w6FsZXogR29uesOhbGV6IDxhbG9yaWVsQGdtYWlsLmNvbT4KCSAgKiBwby9lcy5wbzoKCSAgQWRkZWQgU3BhbmlzaCB0cmFuc2xhdGlvbi4KCjIwMDctMDktMjIgMTg6MDg6MTMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vZGEucG86IEFkZGVkIERhbmlzaCB0cmFuc2xhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHRyYW5zbGF0ZWQgYnk6IE1vZ2VucyBKYWVnZXIgPG1vZ2Vuc0BqYWVnZXIudGY+CgkgICogcG8vZGEucG86CgkgIEFkZGVkIERhbmlzaCB0cmFuc2xhdGlvbi4KCjIwMDctMDktMjIgMTg6MDY6NTUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vemhfQ04ucG86IEFkZGVkIENoaW5lc2UgKHNpbXBsaWZpZWQpIHRyYW5zbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdHJhbnNsYXRlZCBieTogRnVuZGEgV2FuZyA8ZnVuZGF3YW5nQGxpbnV4Lm5ldC5jbj4KCSAgKiBwby96aF9DTi5wbzoKCSAgQWRkZWQgQ2hpbmVzZSAoc2ltcGxpZmllZCkgdHJhbnNsYXRpb24uCgoyMDA3LTA5LTIyIDE4OjA1OjM3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvL2JnLnBvOiBBZGRlZCBCdWxnYXJpYW4gdHJhbnNsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB0cmFuc2xhdGVkIGJ5OiBBbGV4YW5kZXIgU2hvcG92IDxhc2hAY29udGFjdC5iZz4KCSAgKiBwby9iZy5wbzoKCSAgQWRkZWQgQnVsZ2FyaWFuIHRyYW5zbGF0aW9uLgoKMjAwNy0wOS0yMiAwODoxMjo1NyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb21tb246CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIGZpeCBoZWFkZXIgYW5kIGNvbW1lbnRzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggaGVhZGVyIGFuZCBjb21tZW50cwoKMjAwNy0wOS0yMSAxMTozNDozNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzogU2V0IG91dGdvaW5nIHBhY2tldCBkdXJhdGlvbiBiZWNhdXNlIHdlIGNhbi4gRml4ZXMgIzQ3ODI0NCBzb21lIG1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzogKGdzdF9ydHBfYW1yX2RlcGF5X3Byb2Nlc3MpOgoJICBTZXQgb3V0Z29pbmcgcGFja2V0IGR1cmF0aW9uIGJlY2F1c2Ugd2UgY2FuLiBGaXhlcyAjNDc4MjQ0IHNvbWUgbW9yZS4KCjIwMDctMDktMjAgMTM6MzU6MzQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOiBBZGQgaW5mbyBhYm91dCBzdGF0aWMgbGVhay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkgIEFkZCBpbmZvIGFib3V0IHN0YXRpYyBsZWFrLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2dlbmVyaWMvc3RhdGVzLmM6CgkgIEltcHJvdmVkIHN0YXRlIGNoYW5nZSB1bml0IHRlc3QuCgoyMDA3LTA5LTE5IDE4OjE5OjQ5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBJZ25vcmUgcmVnaXN0cmllcyBpbiBhbnkgZm9ybWF0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay8uY3ZzaWdub3JlOgoJICBJZ25vcmUgcmVnaXN0cmllcyBpbiBhbnkgZm9ybWF0LgoKMjAwNy0wOS0xOSAxNjoyNDowOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6IFJlbW92ZWQgc29tZSB1bnVzZWQgY29kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzogKGdzdF9ydHBfTDE2X3BheV9oYW5kbGVfYnVmZmVyKToKCSAgUmVtb3ZlZCBzb21lIHVudXNlZCBjb2RlLgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6IChnc3RfcnRwX2Ftcl9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgICogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzogKGdzdF9ydHBfZ3NtX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzogKGdzdF9ydHBfbXAydF9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOiAoZ3N0X3J0cF9zcGVleF9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzogKGdzdF9ydHBfdGhlb3JhX3BheV9pbml0X3BhY2tldCksCgkgIChnc3RfcnRwX3RoZW9yYV9wYXlfZmx1c2hfcGFja2V0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOiAoZ3N0X3J0cF92b3JiaXNfcGF5X2ZsdXNoX3BhY2tldCk6CgkgIFRyeSB0byBwcmVzZXJ2ZSB0aGUgaW5jb21taW5nIGJ1ZmZlciBkdXJhdGlvbiBvbiB0aGUgb3V0Z29pbmcKCSAgcGFja2V0cy4gRml4ZXMgIzQ3ODI0NC4KCjIwMDctMDktMTkgMTA6MjI6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliLzogV29yayBhcm91bmQgY29tcGlsZXIgd2FybmluZ3Mgd2l0aCBnKystNC4yIHdoZW4gYXNzaWduaW5nIGEgc3RyaW5nIGNvbnN0YW50IHRvIGEgZ2NoYXIgKiAocGFydGlhbGx5IGZpeGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3RhcGV2Mm11eC5jYzoKCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICBXb3JrIGFyb3VuZCBjb21waWxlciB3YXJuaW5ncyB3aXRoIGcrKy00LjIgd2hlbiBhc3NpZ25pbmcgYQoJICBzdHJpbmcgY29uc3RhbnQgdG8gYSBnY2hhciAqIChwYXJ0aWFsbHkgZml4ZXMgIzQ3ODA5MikuCgoyMDA3LTA5LTE4IDE2OjQ0OjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBXZSByZXF1aXJlIGNvcmUgQ1ZTIG5vdyBmb3IgZ3N0X2Jhc2Vfc3JjX3NldF9kb190aW1lc3RhbXAoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBXZSByZXF1aXJlIGNvcmUgQ1ZTIG5vdyBmb3IgZ3N0X2Jhc2Vfc3JjX3NldF9kb190aW1lc3RhbXAoKS4KCjIwMDctMDktMTggMTM6NTU6MDYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS86IEhhbmRsaW5nIHdpbmRvdyByZXNpemUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOgoJICBIYW5kbGluZyB3aW5kb3cgcmVzaXplLgoKMjAwNy0wOS0xOCAxMTo0NTowNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgQ2hhbmdlTG9nOiBBZGQgbWlzc2luZyBuZXdsaW5lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBDaGFuZ2VMb2c6CgkgIEFkZCBtaXNzaW5nIG5ld2xpbmUuCgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgIEZpeCB0aGUgYnVpbGQgKG1pc3Npbmcgc3RkbGliLmgpLgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBVc2UgYmFzZXRyYW5zZm9ybSBzZWdtZW50IHNvIHRoYXQgaXQgaXMgY29ycmVjdGx5IG1hbmFnZWQgb24gZmx1c2hlcwoJICBhbmQgc3RhcnQvc3RvcC4gUmVwb3J0IG1lc3NhZ2UgdGltZXN0YW1wIGFzIHN0cmVhbSB0aW1lLCB3aGljaCBpcyB3aGF0CgkgIGFuIGFwcGxpY2F0aW9uIGNhbiB1bmRlcnN0YW5kLiAoWWVzIHRoZXNlIGFyZSBhZGFwdGVkIGZyb20gd2ltIHJlY2VudAoJICBsZXZlbCBlbGVtZW50IGNoYW5nZXMpCgoyMDA3LTA5LTE3IDE3OjM1OjEzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC86IEZpeCBjb21waWxlciB3YXJuaW5ncyBzaG93biB3aXRoIEZvcnRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzogKGdzdF9hdWRpb19keW5hbWljX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2NyZWF0ZV9zdHJlYW0pLAoJICAobmV3X3Nlc3Npb25fcGFkKSwgKHJlcXVlc3RfcHRfbWFwKSwgKGdzdF9ydHNwc3JjX2RvX3N0cmVhbV9lb3MpLAoJICAoZ3N0X3J0c3BzcmNfbG9vcF9pbnRlcmxlYXZlZCksIChnc3RfcnRzcHNyY19wYXJzZV9ydHBpbmZvKSwKCSAgKGdzdF9ydHNwc3JjX2hhbmRsZV9tZXNzYWdlKToKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzIHNob3duIHdpdGggRm9ydGUuCgoyMDA3LTA5LTE3IDAyOjA1OjE0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBHaXZlIG1lYW5pbmdmdWxsIGVycm9yIHdoZW4gYWxsIHN0cmVhbXMgZmFpbGVkIHRvIGNvbmZpZ3VyZSBmb3Igc29tZSByZWFzb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3NldHVwX3N0cmVhbXMpLAoJICAoZ3N0X3J0c3BzcmNfZHVwX3ByaW50Zik6CgkgIEdpdmUgbWVhbmluZ2Z1bGwgZXJyb3Igd2hlbiBhbGwgc3RyZWFtcyBmYWlsZWQgdG8gY29uZmlndXJlIGZvciBzb21lCgkgIHJlYXNvbi4KCjIwMDctMDktMTYgMTk6MTM6NTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL1JFQURNRTogVXBkYXRlIFJFQURNRSB3aXRoIHRoZSBkZXNpZ24gZm9yIHN5bmNocm9uaXNhdGlvbiBydWxlcyBvZiBSVFAgb24gc2VuZGVyIGFuZCByZWNlaXZlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9SRUFETUU6CgkgIFVwZGF0ZSBSRUFETUUgd2l0aCB0aGUgZGVzaWduIGZvciBzeW5jaHJvbmlzYXRpb24gcnVsZXMgb2YgUlRQIG9uCgkgIHNlbmRlciBhbmQgcmVjZWl2ZXIuCgoyMDA3LTA5LTE0IDA5OjQwOjQ5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogRG9uJ3QgcHVzaCBFT1MgZnJvbSB0aGUgY2hhaW4gZnVuY3Rpb24sIHRoZSBlbGVtZW50IGRyaXZpbmcgdGhlIHBpcGVsaW5lIGlzIHJlc3BvbnNpYmxlIGYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfbG9vcCksCgkgIChnc3Rfd2F2cGFyc2VfY2hhaW4pOgoJICBEb24ndCBwdXNoIEVPUyBmcm9tIHRoZSBjaGFpbiBmdW5jdGlvbiwgdGhlIGVsZW1lbnQKCSAgZHJpdmluZyB0aGUgcGlwZWxpbmUgaXMgcmVzcG9uc2libGUgZm9yIHRoaXMuIFRoZSBidWcKCSAgdGhpcyB3YXMgbWVhbnQgdG8gZml4IHNlZW1zIHRvIGJlIHF1ZXVlIG5vdCBmb3J3YXJkaW5nCgkgIEVPUyBpbiBhbGwgY2FzZXMgKHNlZSAjNDc2NTE0KS4KCjIwMDctMDktMTMgMTc6MzE6MTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbGV2ZWwvZ3N0bGV2ZWwuKjogVXNlIGJhc2V0cmFuc2Zvcm0gc2VnbWVudCBzbyB0aGF0IGl0IGlzIGNvcnJlY3RseSBtYW5hZ2VkIG9uIGZsdXNoZXMgYW5kIHN0YXJ0L3N0b3AuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiAoZ3N0X2xldmVsX2NsYXNzX2luaXQpLCAoZ3N0X2xldmVsX3N0YXJ0KSwKCSAgKGdzdF9sZXZlbF90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5oOgoJICBVc2UgYmFzZXRyYW5zZm9ybSBzZWdtZW50IHNvIHRoYXQgaXQgaXMgY29ycmVjdGx5IG1hbmFnZWQgb24gZmx1c2hlcyBhbmQKCSAgc3RhcnQvc3RvcC4KCSAgUmVwb3J0IG1lc3NhZ2UgdGltZXN0YW1wIGFzIHN0cmVhbSB0aW1lLCB3aGljaCBpcyB3aGF0IGFuIGFwcGxpY2F0aW9uCgkgIGNhbiB1bmRlcnN0YW5kLgoKMjAwNy0wOS0xMyAxNTowNDoxNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgVXBkYXRlIG15IG1haWwgYWRkcmVzcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3RhcGV2Mm11eC5jYzoKCSAgKiBleHQvdGFnbGliL2dzdGFwZXYybXV4Lmg6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hcGV2Mm11eC5jOgoJICBVcGRhdGUgbXkgbWFpbCBhZGRyZXNzLgoKMjAwNy0wOS0xMyAxMjozNzo1NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IEFkZCBFT1MgbG9naWMgZm9yIHRoZSBwdXNoLWJhc2VkIG1vZGUgdG9vLiBGaXhlcyAjNDc2NTE0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9wZXJmb3JtX2VvcyksCgkgIChnc3Rfd2F2cGFyc2VfbG9vcCksIChnc3Rfd2F2cGFyc2VfY2hhaW4pOgoJICBBZGQgRU9TIGxvZ2ljIGZvciB0aGUgcHVzaC1iYXNlZCBtb2RlIHRvby4gRml4ZXMgIzQ3NjUxNC4KCjIwMDctMDktMTIgMjI6MDE6NTkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbGF3LzogRml4IGxhdyBlbmNvZGVyIHRpbWVzdGFtcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzogKGdzdF9hbGF3ZW5jX2luaXQpLCAoZ3N0X2FsYXdlbmNfY2hhaW4pOgoJICAqIGdzdC9sYXcvYWxhdy1lbmNvZGUuaDoKCSAgKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOiAoZ3N0X211bGF3ZW5jX2luaXQpLAoJICAoZ3N0X211bGF3ZW5jX2NoYWluKToKCSAgKiBnc3QvbGF3L211bGF3LWVuY29kZS5oOgoJICBGaXggbGF3IGVuY29kZXIgdGltZXN0YW1wcy4KCjIwMDctMDktMTIgMDk6MTM6MzkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOiBGaXggd2FybmluZyB3aGVuIGJ1aWxkaW5nIHdpdGhvdXQgZGVidWcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOgoJICBGaXggd2FybmluZyB3aGVuIGJ1aWxkaW5nIHdpdGhvdXQgZGVidWcuCgkgICogc3lzL29zcy9nc3Rvc3NtaXhlcnRyYWNrLmM6CgkgIFVzZSBjb25zdCBsaWtlIGluIGFsc2FtaXhlcnRyYWNrLmMgKGZpeGVzIHdhcm5pbmdzKS4KCjIwMDctMDktMTIgMDg6Mzg6MjEgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0LzogUHJpbnRmIGZvcm1hdCBmaXhlcyAoIzQ3NjEyOCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUGV0ZXIgS2plbGxlcnN0ZWR0ICA8cGtqIGF0IGF4aXMgY29tPgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzoKCSAgUHJpbnRmIGZvcm1hdCBmaXhlcyAoIzQ3NjEyOCkuCgoyMDA3LTA5LTExIDE1OjM3OjU1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBGaXggZnJhbWVyYXRlIGRldGVjdGlvbiBjb2RlIHNvbWUgbW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0X2FuZF9zaXplKToKCSAgRml4IGZyYW1lcmF0ZSBkZXRlY3Rpb24gY29kZSBzb21lIG1vcmUuCgkgIEhhbmRsZSB0aGUgY2FzZSB3aGVyZSB0aGVyZSBpcyBhIHdlaXJkIHN0ZXAgaW4gdGhlIHN0ZXB3aXNlIGZyYW1lcmF0ZXMuCgkgIERvbid0IG92ZXJ3cml0ZSB0aGUgbWluIGludGVydmFsIHdpdGggdGhlIGZyYW1lcmF0ZSwgdXNlIGEgdGVtcCB2YXJpYWJsZQoJICBpbnN0ZWFkLgoJICBVc2UgbWF4IGluIHRoZSBDb250aW51b3VzIGZyYW1lcmF0ZSBpbnRlcnZhbHMgaW5zdGVhZCBvZiBzdGVwLCB3aGljaCBpcwoJICAxIGFjY29yZGluZyB0byB0aGUgZG9jcy4gRml4ZXMgIzQ3NTQyNC4KCjIwMDctMDktMTAgMTk6NTM6MjggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy5jOiBNYWtlIHVkcHNyYyB0aW1lc3RhbXAgb3V0Z29pbmcgYnVmZmVycyBiYXNlZCBvbiB3aGVuIHRoZXkgd2VyZSByZWNlaXZlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfaW5pdCksIChnc3RfdWRwc3JjX2NyZWF0ZSk6CgkgIE1ha2UgdWRwc3JjIHRpbWVzdGFtcCBvdXRnb2luZyBidWZmZXJzIGJhc2VkIG9uIHdoZW4gdGhleSB3ZXJlIHJlY2VpdmVkLgoJICBBbHNvIG1ha2UgaXQgb3V0cHV0IGEgc2VnbWVudCBpbiB0aW1lLgoKMjAwNy0wOS0xMCAwNjo0OTozMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBQbHVnIGEgbGl0dGxlIGxlYWsuIExpdHRsZSBjb2RlIGNsZWFudXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIFBsdWcgYSBsaXR0bGUgbGVhay4gTGl0dGxlIGNvZGUgY2xlYW51cHMuCgoyMDA3LTA5LTA5IDE4OjA4OjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBVc2UgQUNfVFJZX0NPTVBJTEUgaW5zdGVhZCBvZiBBQ19UUllfUlVOIHRvIGNoZWNrIGZvciBvbGQgZmxhYyB2ZXJzaW9ucywgJ3MgZ29vZCBmb3IgY3Jvc3MtY29tcGlsYXRpb24gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgVXNlIEFDX1RSWV9DT01QSUxFIGluc3RlYWQgb2YgQUNfVFJZX1JVTiB0byBjaGVjayBmb3Igb2xkCgkgIGZsYWMgdmVyc2lvbnMsICdzIGdvb2QgZm9yIGNyb3NzLWNvbXBpbGF0aW9uIGthcm1hLgoKMjAwNy0wOS0wNyAxODowNDo0MSArMDAwMCAgSGFha29uIFNwb3JzaGVpbSA8aGFha29uLnNwb3JzaGVpbUB0YW5kYmVyZy5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzogRml4IHVwIGhlYWRlciBzdHJ1Y3R1cmUgc28gdGhhdCBjb21waWxlcnMgZG9uJ3QgYWRkIHBhZGRpbmcgYmV0d2VlbiB0aGUgc3RydWN0dXJlIGZpZWxkcywgc2kuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBIYWFrb24gU3BvcnNoZWltICA8aGFha29uLnNwb3JzaGVpbSBhdCB0YW5kYmVyZyBjb20+CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgIEZpeCB1cCBoZWFkZXIgc3RydWN0dXJlIHNvIHRoYXQgY29tcGlsZXJzIGRvbid0IGFkZCBwYWRkaW5nCgkgIGJldHdlZW4gdGhlIHN0cnVjdHVyZSBmaWVsZHMsIHNpbmNlIHRoYXQgd291bGQgbGVhZCB0byB1cwoJICBzZW5kaW5nIFJUUCBwYWNrZXRzIHdpdGggYnJva2VuIGhlYWRlcnMgKGFzIGlzIGN1cnJlbnRseSB0aGUKCSAgY2FzZSB3aGVuIGNvbXBpbGluZyB3aXRoIE1TVkMpLiBBbHNvIHNlZSBzaW1pbGFyIGZpeGVzIGluCgkgIGxpYmdzdHJ0cCBpbiBnc3QtcGx1Z2lucy1iYXNlLiAoIzQ3NDYxNjsgIzQ3MTE5NCkKCjIwMDctMDktMDcgMTY6MDQ6MTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IERvbid0IG92ZXJ3cml0ZSBvdXIgR1ZhbHVlIHdpdGggMCBidXQgaW5zdGVhZCB1c2UgdGhlIHByZXZpb3VzbHkgY29tcHV0ZWQgdmFsdWUuIEZpeGVzICM0NzEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0X2FuZF9zaXplKToKCSAgRG9uJ3Qgb3ZlcndyaXRlIG91ciBHVmFsdWUgd2l0aCAwIGJ1dCBpbnN0ZWFkIHVzZSB0aGUgcHJldmlvdXNseQoJICBjb21wdXRlZCB2YWx1ZS4gRml4ZXMgIzQ3MTgyMyBzb21lIG1vcmUuCgoyMDA3LTA5LTA3IDE1OjU0OjM4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogVXNlIHRoZSBjb3JyZWN0IHBhcmFtZXRlciBvcmRlciBmb3IgdGhlIG1lbXNldCBjYWxscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fc3RhcnQpLAoJICAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgIFVzZSB0aGUgY29ycmVjdCBwYXJhbWV0ZXIgb3JkZXIgZm9yIHRoZSBtZW1zZXQgY2FsbHMuCgkgIFRoYW5rcyB0byBDaHJpc3RpYW4gU2NoYWxsZXIgZm9yIG5vdGljaW5nLgoKMjAwNy0wOS0wNiAxMjowMDozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OiBObyB0YWJzIGluIHRoaXMgZmlsZSBwbGVhc2UsIG9yIGd0ay1kb2Mgd2lsbCBlbmQgdXAgZG9jdW1lbnRpbmcgcmF0aC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgTm8gdGFicyBpbiB0aGlzIGZpbGUgcGxlYXNlLCBvciBndGstZG9jIHdpbGwgZW5kIHVwIGRvY3VtZW50aW5nCgkgIHJhdGhlciBhYnN1cmQgY2xhc3MgaGllcmFyY2hpZXMuCgoyMDA3LTA5LTA2IDEwOjQ4OjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuYzogSWYgdGhlIG5ldyBraWQgZWxlbWVudCBmYWlscyB0byBjaGFuZ2Ugc3RhdGUgZm9yIHNvbWUgcmVhc29uIGZvcndhcmQgdGhlIGVycm9yIG1lc3NhZ2UgaXQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmM6CgkgIElmIHRoZSBuZXcga2lkIGVsZW1lbnQgZmFpbHMgdG8gY2hhbmdlIHN0YXRlIGZvciBzb21lIHJlYXNvbgoJICAoZS5nLiBlc2RzaW5rIG5vdCBiZWluZyBhYmxlIHRvIGNvbm5lY3QgdG8gdGhlIHNvdW5kIHNlcnZlciksCgkgIGZvcndhcmQgdGhlIGVycm9yIG1lc3NhZ2UgaXQgcG9zdGVkIG9uIHRoZSBidXMgaW5zdGVhZCBvZiBqdXN0CgkgIHBvc3RpbmcgYSBnZW5lcmljICdJbnRlcm5hbCBzdGF0ZSBjaGFuZ2UgZXJyb3I6IHBsZWFzZSBmaWxlIGEKCSAgYnVnJyBlcnJvciBtZXNzYWdlLiBGaXhlcyAjNDcxMzY0LgoKMjAwNy0wOS0wNiAwNzoyMToyMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgUG9ydCBHc3RTcGVjdHJ1bSB0byBHc3RBdWRpb0ZpbHRlciBhbmQgbGliZ3N0ZmZ0LCBhZGQgc3VwcG9ydCBmb3IgaW50MzIsIGZsb2F0IGFuZCBkb3VibGUsIHVzZSBmbG9hdHMgZm9yIHRoZSBtZXNzYWdlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3Qvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6IChkcmF3X3NwZWN0cnVtKSwKCSAgKG1lc3NhZ2VfaGFuZGxlciksIChtYWluKToKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzogKGRyYXdfc3BlY3RydW0pLCAobWVzc2FnZV9oYW5kbGVyKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9iYXNlX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpLCAoZ3N0X3NwZWN0cnVtX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX2Rpc3Bvc2UpLCAoZ3N0X3NwZWN0cnVtX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfc3BlY3RydW1fZ2V0X3Byb3BlcnR5KSwgKGdzdF9zcGVjdHJ1bV9zdGFydCksCgkgIChnc3Rfc3BlY3RydW1fc2V0dXApLCAoZ3N0X3NwZWN0cnVtX21lc3NhZ2VfbmV3KSwKCSAgKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBQb3J0IEdzdFNwZWN0cnVtIHRvIEdzdEF1ZGlvRmlsdGVyIGFuZCBsaWJnc3RmZnQsIGFkZCBzdXBwb3J0CgkgIGZvciBpbnQzMiwgZmxvYXQgYW5kIGRvdWJsZSwgdXNlIGZsb2F0cyBmb3IgdGhlIG1lc3NhZ2UgY29udGVudHMsCgkgIGF2ZXJhZ2UgYWxsIEZGVHMgZG9uZSBpbiBvbmUgaW50ZXJ2YWwgZm9yIGJldHRlciByZXN1bHRzLCB1c2UKCSAgYSBiZXR0ZXIgd2luZG93aW5nIGZ1bmN0aW9uLCBhbGxvdyBwb3N0aW5nIHRoZSBwaGFzZSBpbiB0aGUgbWVzc2FnZQoJICBhbmQgYWN0dWFsbHkgZG8gYW4gRkZUIHdpdGggdGhlIHJlcXVlc3RlZCBudW1iZXIgb2YgYmFuZHMgaW5zdGVhZAoJICBvZiBpbnRlcnBvbGF0aW5nLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWN0cnVtLmM6IChHU1RfU1RBUlRfVEVTVCksCgkgIChzcGVjdHJ1bV9zdWl0ZSk6CgkgIEltcHJvdmUgdGhlIHVuaXRzIHRlc3RzIGJ5IGNoZWNraW5nIGZvciBhIDExMDI1SHogc2luZSB3YXZlCgkgIGFuZCBhZGQgdW5pdCB0ZXN0cyBmb3IgYWxsIDQgc3VwcG9ydGVkIHNhbXBsZSB0eXBlcy4KCjIwMDctMDktMDUgMTY6MjM6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC86IERvbid0IGFzc3VtZSB0YWdzIGFyZSBlbmNvZGVkIGFzIFVURi04ICgjNDczNjcwKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBEb24ndCBhc3N1bWUgdGFncyBhcmUgZW5jb2RlZCBhcyBVVEYtOCAoIzQ3MzY3MCkuCgoyMDA3LTA5LTA1IDE0OjQzOjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL3Y0bDIvOiBJbXBsZW1lbnQgTEFURU5DWSBxdWVyaWVzIGluIHRoZSBjcnVkZXN0IHdheSBwb3NzaWJsZSBzbyBJIGRvbid0IGhhdmUgdG8gdXNlIHN5bmM9ZmFsc2UgYW55IGxvbmdlciB3aGVuIHRlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBJbXBsZW1lbnQgTEFURU5DWSBxdWVyaWVzIGluIHRoZSBjcnVkZXN0IHdheSBwb3NzaWJsZSBzbyBJIGRvbid0CgkgIGhhdmUgdG8gdXNlIHN5bmM9ZmFsc2UgYW55IGxvbmdlciB3aGVuIHRlc3Rpbmcgd2l0aCB2aWRlb3NpbmtzLgoKMjAwNy0wOS0wNSAwOToyNToyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRml4IGJ1aWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEZpeCBidWlsZC4KCjIwMDctMDktMDUgMDA6MTI6NDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IEFkZCBzb21lIG1vcmUgZGVidWdnaW5nIGluIHRoZSBmcmFtZXJhdGUgZnVuY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdF9hbmRfc2l6ZSk6CgkgIEFkZCBzb21lIG1vcmUgZGVidWdnaW5nIGluIHRoZSBmcmFtZXJhdGUgZnVuY3Rpb24uCgkgIEl0ZXJhdGUgc3RlcHdpc2UgZnJhbWVyYXRlIHVwIHRvIGFuZCBfaW5jbHVkaW5nXyB0aGUgbWF4IGFuZCBpZiBub3RoaW5nCgkgIHdhcyBhZGRlZCB0byB0aGUgbGlzdCwgYWRkIGEgZHVtbXkgMC8xIHRvIDEwMC8xIGZyYW1lcmF0ZSBzbyB0aGF0IHdlCgkgIGRvbid0IGVuZCB1cCB3aXRoIGFuIGVtcHR5IGxpc3QuCgoyMDA3LTA5LTA0IDIyOjQyOjIxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogQWRkIHByb3BlcnR5IGRvIGNvbmZpZ3VyZSBkZXN0aW5hdGlvbiBhZGRyZXNzL3BvcnQgcGFpcnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX3NldF9jbGllbnRzX3N0cmluZyksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2dldF9jbGllbnRzX3N0cmluZyksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX3NldF9wcm9wZXJ0eSksIChnc3RfbXVsdGl1ZHBzaW5rX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2luaXRfc2VuZCksIChnc3RfbXVsdGl1ZHBzaW5rX2FkZF9pbnRlcm5hbCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2FkZCksIChnc3RfbXVsdGl1ZHBzaW5rX2NsZWFyX2ludGVybmFsKSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfY2xlYXIpOgoJICBBZGQgcHJvcGVydHkgZG8gY29uZmlndXJlIGRlc3RpbmF0aW9uIGFkZHJlc3MvcG9ydCBwYWlycwoJICBBUEk6R3N0TXVsdGlVRFBTaW5rOjpjbGllbnRzCgoyMDA3LTA5LTA0IDE4OjMwOjIyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgdGVzdHMvZXhhbXBsZXMvOiBBZGRlZCBzb21lIFJUUCBleGFtcGxlIHNjcmlwdHMgZm9yIHNlbmRpbmcgYW5kIHJlY2VpdmluZyBSVFAgc3RyZWFtcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2M3AtQU1SLnNoOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2M3AtUENNQS5zZHA6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjYzcC1QQ01BLnNoOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2NC1QQ01BLnNkcDoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjQtUENNQS5zaDoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LVBDTUEuc2g6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1WVFMtSDI2M3AtQVRTLVBDTUEuc2g6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1hbHNhc3JjLVBDTUEuc2g6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci12NGwyLUgyNjNwLWFsc2FzcmMtQU1SLnNoOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItdjRsMi1IMjY0LWFsc2FzcmMtUENNQS5zaDoKCSAgQWRkZWQgc29tZSBSVFAgZXhhbXBsZSBzY3JpcHRzIGZvciBzZW5kaW5nIGFuZCByZWNlaXZpbmcgUlRQIHN0cmVhbXMuCgoyMDA3LTA5LTA0IDE2OjQwOjA1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiBSZXN0cnVjdHVyZSB0aGUgc2V0Y2FwcyBmdW5jdGlvbiBzbyB0aGF0IHdlIGNhbiBhbHNvIGNvbXB1dGUgdGhlIGV4cGVjdGVkIEdTdHJlYW1lciBvdXRwdXQgc2l6Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyX2dldF9jYXBzX2luZm8pLAoJICAoZ3N0X3Y0bDJzcmNfc2V0X2NhcHMpLCAoZ3N0X3Y0bDJzcmNfZ2V0X21tYXApOgoJICBSZXN0cnVjdHVyZSB0aGUgc2V0Y2FwcyBmdW5jdGlvbiBzbyB0aGF0IHdlIGNhbiBhbHNvIGNvbXB1dGUgdGhlCgkgIGV4cGVjdGVkIEdTdHJlYW1lciBvdXRwdXQgc2l6ZSBvZiB0aGUgdmlkZW8gZnJhbWVzLgoJICBTZXQgZnJhbWVfYnl0ZV9zaXplIGNvcnJlY3RseSBzbyB0aGF0IHJlYWQtYmFzZWQgZGV2aWNlcyBoYXZlIGEgY2hhbmNlCgkgIG9mIHdvcmtpbmcgY29ycmVjdGx5LgoJICBXaGVuIGdyYWJiaW5nIGEgZnJhbWUsIGRpc2NhcmQgZnJhbWVzIHRoYXQgYXJlIG5vdCBvZiB0aGUgZXhwZWN0ZWQgc2l6ZS4KCSAgU29tZSBjYW1lcmFzIGRvbid0IG91dHB1dCB0aGUgcmlnaHQgZnJhbWVzaXplIGZvciB0aGUgZmlyc3QgYnVmZmVyLgoJICBUcnkgb25seSBhIGNvdXBsZSBvZiB0aW1lcyB0byBnZXQgYSB2YWxpZCBmcmFtZSwgZWxzZSBlcnJvciBvdXQuCgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiAoZ3N0X3Y0bDJfZ2V0X2NhcGFiaWxpdGllcyksCgkgIChnc3RfdjRsMl9maWxsX2xpc3RzKSwgKGdzdF92NGwyX2dldF9pbnB1dCk6CgkgIEFkZCBzb21lIG1vcmUgZGVidWcgaW5mbyB3aGVuIHNjYW5uaW5nIHRoZSBkZXZpY2UuCgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJfYnVmZmVyX25ldyksCgkgIChnc3RfdjRsMl9idWZmZXJfcG9vbF9uZXcpLCAoZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfYWN0aXZhdGUpLAoJICAoZ3N0X3Y0bDJzcmNfZmlsbF9mb3JtYXRfbGlzdCksIChnc3RfdjRsMnNyY19ncmFiX2ZyYW1lKSwKCSAgKGdzdF92NGwyc3JjX3NldF9jYXB0dXJlKSwgKGdzdF92NGwyc3JjX2NhcHR1cmVfaW5pdCk6CgkgIEFkZCBzb21lIG1vcmUgZGVidWcgaW5mbyB3aGVuIGRlcXVlaW5nIGEgZnJhbWUuCgoyMDA3LTA5LTA0IDE0OjM3OjIyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogTW9yZSBjb2RlIGNsZWFudXBzLiBBZGQgc29tZSBtb3JlIGNvbW1lbnQgYW5kIGltcHJvdmUgZGVidWdzIGxvZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBNb3JlIGNvZGUgY2xlYW51cHMuIEFkZCBzb21lIG1vcmUgY29tbWVudCBhbmQgaW1wcm92ZSBkZWJ1Z3MgbG9ncy4KCjIwMDctMDktMDQgMDc6NTg6MzYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS4qOiBJbXBsZW1lbnQgc2Vlay1xdWVyeS4gUmVmYWN0b3IgZHVyYXRpb24gY2FsY3VsYXRpb25zLiBBcHByb3ByaWF0ZSB1c2Ugb2YgdWludDY0X3NjYWxlX2ludC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSAgSW1wbGVtZW50IHNlZWstcXVlcnkuIFJlZmFjdG9yIGR1cmF0aW9uIGNhbGN1bGF0aW9ucy4gQXBwcm9wcmlhdGUgdXNlCgkgIG9mIHVpbnQ2NF9zY2FsZV9pbnQgYW5kIHVpbnQ2NF9zY2FsZS4gTW92ZSByZXBlYWRlZGx5IGNhbGN1bGF0ZWQgc3R1ZmYKCSAgb3V0IG9mIGxvb3BzLgoKMjAwNy0wOS0wMyAwNzo0NDozNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBJbXBsZW1lbnQgc2Vlay1xdWVyeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBJbXBsZW1lbnQgc2Vlay1xdWVyeS4KCjIwMDctMDgtMjkgMjE6NDM6MDggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFVzZSBuZXcgYmFzZXNpbmsgYXN5bmMgcHJvcGVydHkgdG8gbWFrZSBzcGFyc2UgUlRDUCBwYWNrZXQgbm90IHdhaXQgZm9yIHByZXJvbGwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdWRwX3NpbmspLAoJICAoZ3N0X3J0c3BzcmNfZHVwX3ByaW50Zik6CgkgIFVzZSBuZXcgYmFzZXNpbmsgYXN5bmMgcHJvcGVydHkgdG8gbWFrZSBzcGFyc2UgUlRDUCBwYWNrZXQgbm90IHdhaXQgZm9yCgkgIHByZXJvbGwuCgoyMDA3LTA4LTI3IDE0OjQ0OjE5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOiBEaXN0IHRoZSByaWdodCBmaWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSAgRGlzdCB0aGUgcmlnaHQgZmlsZS4KCjIwMDctMDgtMjMgMTY6Mjc6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IE1ha2Ugc3VyZSB3ZSBnZW5lcmF0ZSBhbmQgcGFyc2UgZmxvYXRpbmcgcG9pbnQgdmFsdWVzIGluIHRoZSBQT1NJWCBsb2NhbGUgaW5zdGVhZCBvZiB0aGUgY3VycmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfZHVwX3ByaW50ZiksCgkgIChnc3RfcnRzcHNyY19nZXRfZmxvYXQpLCAoZ3N0X3J0c3BzcmNfcGxheSk6CgkgIE1ha2Ugc3VyZSB3ZSBnZW5lcmF0ZSBhbmQgcGFyc2UgZmxvYXRpbmcgcG9pbnQgdmFsdWVzIGluIHRoZSBQT1NJWAoJICBsb2NhbGUgaW5zdGVhZCBvZiB0aGUgY3VycmVudCBsb2NhbGUuCgoyMDA3LTA4LTIyIDE1OjAxOjI5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy4qOiBGaXggbWV0aG9kIGRldGVjdGlvbiBhZ2Fpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfZG9fc2VlayksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9tZXRob2RzKSwgKGdzdF9ydHNwc3JjX29wZW4pLAoJICAoZ3N0X3J0c3BzcmNfcGxheSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBGaXggbWV0aG9kIGRldGVjdGlvbiBhZ2Fpbi4KCSAgS2VlcCB0cmFjayBvZiB3aGVuIHdlIG11c3Qgc2VuZCBhIFJhbmdlIGhlYWRlci4KCSAgVXNlIHNlZ21lbnQgdmFsdWVzIGZvciBSYW5nZSwgU3BlZWQgYW5kIFNjYWxlIGhlYWRlcnMuCgkgIFBhcnNlIFNwZWVkIGFuZCBTY2FsZSBoZWFkZXJzIHRvIHVwZGF0ZSB0aGUgc2VnbWVudCB2YWx1ZXMuCgoyMDA3LTA4LTIyIDA4OjIyOjUwICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBIYW5kbGUgb3B0aW9uYWwgdjRsMiBpb2N0bHMgZ3JhY2VmdWxseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgSGFuZGxlIG9wdGlvbmFsIHY0bDIgaW9jdGxzIGdyYWNlZnVsbHkuCgoyMDA3LTA4LTIwIDE2OjUyOjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEFkZGVkIGFuIEgyNjMgZGVwYXlsb2FkZXIuIEZpeGVzICMzNjkzOTIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOiAoZ3N0X3J0cF9oMjYzX2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX2gyNjNfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX2gyNjNfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX2gyNjNfZGVwYXlfZmluYWxpemUpLCAoZ3N0X3J0cF9oMjYzX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9oMjYzX2RlcGF5X3Byb2Nlc3MpLCAoZ3N0X3J0cF9oMjYzX2RlcGF5X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2gyNjNfZGVwYXlfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfaDI2M19kZXBheV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9oMjYzX2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5oOgoJICBBZGRlZCBhbiBIMjYzIGRlcGF5bG9hZGVyLiBGaXhlcyAjMzY5MzkyLgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOiAoZ3N0X3J0cF9oMjYzcF9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfaDI2M3BfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOiAoZ3N0X2ZyYWdtZW50YXRpb25fbW9kZV9nZXRfdHlwZSksCgkgIChnc3RfcnRwX2gyNjNwX3BheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfaDI2M3BfcGF5X2ZsdXNoKToKCSAgTWFrZSB0aGUgSDI2MysgcGF5L2RlcGF5bG9hZGVyIHN1cHBvcnQgSDI2My0xOTk4IGFuZCBIMjYzLTIwMDAKCSAgcGF5bG9hZHMuCgkgIEFsc28gYWxvdyBwbGFpbiBIMjYzIG9uIHRoZSBoMjYzcCBwYXlsb2FkZXJzLiBGaXhlcyAjNDY1MDQwLgoKMjAwNy0wOC0xOSAxOToxNjozMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci86IEFkZCBzbWFsbCBjb21wYXJpc2lvbiB3aXRoIHRoZSBjaGVieXNoZXYgZmlsdGVycyBpbiB0aGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6CgkgIEFkZCBzbWFsbCBjb21wYXJpc2lvbiB3aXRoIHRoZSBjaGVieXNoZXYgZmlsdGVycyBpbiB0aGUgZG9jcy4KCjIwMDctMDgtMTkgMTk6MTE6MDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdWRpb2Z4LzogQWRkIHNtYWxsIGNvbXBhcmlzaW9uIHdpdGggdGhlIHdpbmRvd2VkIHNpbmMgZmlsdGVycyBpbiB0aGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVieXNoZXZmcmVxYmFuZC5jOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYnlzaGV2ZnJlcWxpbWl0LmM6CgkgIEFkZCBzbWFsbCBjb21wYXJpc2lvbiB3aXRoIHRoZSB3aW5kb3dlZCBzaW5jIGZpbHRlcnMgaW4gdGhlIGRvY3MuCgoyMDA3LTA4LTE5IDE5OjAxOjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy86IEFsc28gdGVzdCBldmVyeXRoaW5nIGluIDMyIGJpdCBmbG9hdCBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9icHdzaW5jLmM6IChHU1RfU1RBUlRfVEVTVCksCgkgIChicHdzaW5jX3N1aXRlKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9scHdzaW5jLmM6IChHU1RfU1RBUlRfVEVTVCksCgkgIChscHdzaW5jX3N1aXRlKToKCSAgQWxzbyB0ZXN0IGV2ZXJ5dGhpbmcgaW4gMzIgYml0IGZsb2F0IG1vZGUuCgoyMDA3LTA4LTE5IDE4OjQ3OjE5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy86IEFsc28gdGVzdCAzMiBiaXQgZmxvYXQgbW9kZSBhbmQgdGhlIHR5cGUgMiB2YXJpYW50cyBvZiB0aGUgZmlsdGVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jaGVieXNoZXZmcmVxYmFuZC5jOiAoR1NUX1NUQVJUX1RFU1QpLAoJICAoYXVkaW9jaGVieXNoZXZmcmVxYmFuZF9zdWl0ZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jaGVieXNoZXZmcmVxbGltaXQuYzogKEdTVF9TVEFSVF9URVNUKSwKCSAgKGF1ZGlvY2hlYnlzaGV2ZnJlcWxpbWl0X3N1aXRlKToKCSAgQWxzbyB0ZXN0IDMyIGJpdCBmbG9hdCBtb2RlIGFuZCB0aGUgdHlwZSAyIHZhcmlhbnRzIG9mIHRoZSBmaWx0ZXJzLgoKMjAwNy0wOC0xOCAxOTo0NDo1NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogUmVmYWN0b3IgdGhlIHVkcCBhbmQgaW50ZXJsZWF2ZWQgbG9vcCBmdW5jdGlvbiBhIGJpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfbG9vcF9pbnRlcmxlYXZlZCksCgkgIChnc3RfcnRzcHNyY19sb29wX3VkcCksIChnc3RfcnRzcHNyY19sb29wX3NlbmRfY21kKSwKCSAgKGdzdF9ydHNwc3JjX2xvb3ApOgoJICBSZWZhY3RvciB0aGUgdWRwIGFuZCBpbnRlcmxlYXZlZCBsb29wIGZ1bmN0aW9uIGEgYml0LgoKMjAwNy0wOC0xNyAxNzowODoxMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuKjogUHJvdGVjdCBjb25uZWN0aW9uIGFjdGl2aXR5IHdpdGggYSBuZXcgbG9jaywgYXZvaWRzIGRlYWRsb2NrcyB3aGVuIGdvaW5nIHRvIFBBVVNFRC4gRml4ZXMgIzQ1NS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19pbml0KSwKCSAgKGdzdF9ydHNwc3JjX2ZpbmFsaXplKSwgKGdzdF9ydHNwc3JjX2Nvbm5lY3Rpb25fc2VuZCksCgkgIChnc3RfcnRzcHNyY19jb25uZWN0aW9uX3JlY2VpdmUpLCAoZ3N0X3J0c3BzcmNfc2lua19jaGFpbiksCgkgIChnc3RfcnRzcHNyY19oYW5kbGVfcmVxdWVzdCksIChnc3RfcnRzcHNyY19zZW5kX2tlZXBfYWxpdmUpLAoJICAoZ3N0X3J0c3BzcmNfbG9vcF9pbnRlcmxlYXZlZCksIChnc3RfcnRzcHNyY19sb29wX3VkcCksCgkgIChnc3RfcnRzcHNyY190cnlfc2VuZCksIChnc3RfcnRzcHNyY19wYXVzZSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBQcm90ZWN0IGNvbm5lY3Rpb24gYWN0aXZpdHkgd2l0aCBhIG5ldyBsb2NrLCBhdm9pZHMgZGVhZGxvY2tzIHdoZW4gZ29pbmcKCSAgdG8gUEFVU0VELiBGaXhlcyAjNDU1ODA4LgoKMjAwNy0wOC0xNyAxNTozMDozOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9kZWJ1Zy9ybmRidWZmZXJzaXplLmM6IEZpeCBkZWJ1ZyBzdGF0ZW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9ybmRidWZmZXJzaXplLmM6IChnc3Rfcm5kX2J1ZmZlcl9zaXplX2xvb3ApOgoJICBGaXggZGVidWcgc3RhdGVtZW50LgoKMjAwNy0wOC0xNyAxNToyODo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogRml4IHN0cmF5ICV1IGluIGRlYnVnIGxpbmUgYXMgc3BvdHRlZCBieSBTYXVyIG9uIElSQy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfZG9fc3RyZWFtX2Vvcyk6CgkgIEZpeCBzdHJheSAldSBpbiBkZWJ1ZyBsaW5lIGFzIHNwb3R0ZWQgYnkgU2F1ciBvbiBJUkMuCgoyMDA3LTA4LTE3IDE1OjA1OjE3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBVc2UgZ2VuZXJhdG9yIG1hY3JvcyBmb3IgdGhlIHByb2Nlc3MgZnVuY3Rpb25zIGZvciB0aGUgZGlmZmVyZW50IHNhbXBsZSB0eXBlcywgYWRkIGxvd2VyIHVwcGVyIGJvdW5kYXJpZXMgZm9yIHRoZSBHT2IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19jbGFzc19pbml0KSwKCSAgKGJwd3NpbmNfc2V0X3Byb3BlcnR5KSwgKGJwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuaDoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2xwd3NpbmNfaW5pdCksIChscHdzaW5jX2J1aWxkX2tlcm5lbCksIChscHdzaW5jX3NldF9wcm9wZXJ0eSksCgkgIChscHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmg6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbHB3c2luYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBVc2UgZ2VuZXJhdG9yIG1hY3JvcyBmb3IgdGhlIHByb2Nlc3MgZnVuY3Rpb25zIGZvciB0aGUgZGlmZmVyZW50CgkgIHNhbXBsZSB0eXBlcywgYWRkIGxvd2VyIHVwcGVyIGJvdW5kYXJpZXMgZm9yIHRoZSBHT2JqZWN0IHByb3BlcnRpZXMKCSAgc28gYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgVUlzIGNhbiB1c2Ugc2xpZGVycyBhbmQgY2hhbmdlIGZyZXF1ZW5jeQoJICBwcm9wZXJ0aWVzIHRvIGZsb2F0cyB0byBzYXZlIGEgYml0IG9mIG1lbW9yeSwgZXZlbiBpbnRzIHdvdWxkIGluCgkgIHRoZW9yeSBiZSBlbm91Z2guIEFsc28gcmVuYW1lIGZyZXF1ZW5jeSB0byBjdXRvZmYgZm9yIGNvbnNpc3RlbmN5CgkgIHJlYXNvbnMuCgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJICBSZWdlbmVyYXRlZCBmb3IgdGhlIGFib3ZlIGNoYW5nZXMuCgoyMDA3LTA4LTE3IDE0OjQzOjMzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXVkaW9meC86IFVzZSBnZW5lcmF0b3IgbWFjcm9zIGZvciB0aGUgcHJvY2VzcyBmdW5jdGlvbnMgZm9yIHRoZSBkaWZmZXJlbnQgc2FtcGxlIHR5cGVzLCBhZGQgbG93ZXIgdXBwZXIgYm91bmRhcmkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVieXNoZXZmcmVxYmFuZC5jOgoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2JhbmRfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVieXNoZXZmcmVxbGltaXQuYzoKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9saW1pdF9jbGFzc19pbml0KToKCSAgVXNlIGdlbmVyYXRvciBtYWNyb3MgZm9yIHRoZSBwcm9jZXNzIGZ1bmN0aW9ucyBmb3IgdGhlIGRpZmZlcmVudAoJICBzYW1wbGUgdHlwZXMsIGFkZCBsb3dlciB1cHBlciBib3VuZGFyaWVzIGZvciB0aGUgR09iamVjdCBwcm9wZXJ0aWVzCgkgIHNvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIFVJcyBjYW4gdXNlIHNsaWRlcnMgYW5kIGFkZCBhIG5vdGUgYWJvdXQKCSAgdGhlIG51bWJlciBvZiBwb2xlcyBhcyBhIHRvbyBoaWdoIG51bWJlciBvZiBwb2xlcyBjb21iaW5lZCB3aXRoCgkgIHZlcnkgbG93IG9yIHZlcnkgaGlnaCBmcmVxdWVuY2llcyB3aWxsIHByb2R1Y2Ugb25seSBub2lzZS4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgIFJlZ2VuZXJhdGVkIGZvciB0aGUgcHJvcGVydHkgY2hhbmdlcy4KCjIwMDctMDgtMTcgMTQ6MTU6MTkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IEltcHJvdmUgdGltZW91dCBoYW5kbGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHNwc3JjX2ZsdXNoKSwgKGdzdF9ydHNwc3JjX3NpbmtfY2hhaW4pLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV91ZHBfc2luayksCgkgIChnc3RfcnRzcHNyY19zZW5kX2tlZXBfYWxpdmUpLCAoZ3N0X3J0c3BzcmNfbG9vcF9pbnRlcmxlYXZlZCksCgkgIChnc3RfcnRzcHNyY19sb29wX3VkcCksIChnc3RfcnRzcHNyY19sb29wX3NlbmRfY21kKSwKCSAgKGdzdF9ydHNwc3JjX3RyeV9zZW5kKSwgKGdzdF9ydHNwc3JjX3NlbmQpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfbWV0aG9kcyksIChnc3RfcnRzcHNyY19wYXJzZV9yYW5nZSksCgkgIChnc3RfcnRzcHNyY19vcGVuKSwgKGdzdF9ydHNwc3JjX2Nsb3NlKSwgKGdzdF9ydHNwc3JjX3BhdXNlKSwKCSAgKGdzdF9ydHNwc3JjX2hhbmRsZV9tZXNzYWdlKSwgKGdzdF9ydHNwc3JjX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBJbXByb3ZlIHRpbWVvdXQgaGFuZGxpbmcuCgkgIFVzZSB0aGUgc2FtZSBzb2NrZXQgZm9yIHNlbmRpbmcgYW5kIHJlY2VpdmluZyBSVENQIHBhY2tldHMgc28gdGhhdCBzb21lCgkgIHNlcnZlcnMgY2FuIHRyYWNrIGNsaWVudHMgYmV0dGVyLgoJICBJbXByb3ZlIGNvbm5lY3Rpb24gY2xvc2VkIGhhbmRsaW5nLiBUcnkgdG8gcmVjb25uZWN0LgoJICBEb24ndCBvdmVyd3JpdGUgb3VyIGNvbnRlbnQgYmFzZSB3aXRoIE5VTEwuCgkgIEltcHJvdmUgZGVidWdnaW5nLgoJICBJbXByb3ZlIHJhbmdlIHBhcnNpbmcgYW5kIGhhbmRsaW5nLgoJICBSZW1vdmUgZmx1c2hpbmcgaGFjayBub3cgdGhhdCBjb3JlIGRvZXMgdGhlIHJpZ2h0IHRoaW5nLgoKMjAwNy0wOC0xNyAxMzo1OToxNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLio6IEFkZCBzdXBwb3J0IGZvciBnZXR0aW5nIGFuZCBzZXR0aW5nIHRoZSBzb2NrZXQgdG8gdXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfaW5pdCksIChnc3RfbXVsdGl1ZHBzaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2dldF9wcm9wZXJ0eSksIChnc3RfbXVsdGl1ZHBzaW5rX2luaXRfc2VuZCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2Nsb3NlKSwgKGdzdF9tdWx0aXVkcHNpbmtfYWRkKToKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICBBZGQgc3VwcG9ydCBmb3IgZ2V0dGluZyBhbmQgc2V0dGluZyB0aGUgc29ja2V0IHRvIHVzZS4KCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jbGFzc19pbml0KSwgKGdzdF91ZHBzcmNfaW5pdCksCgkgIChnc3RfdWRwc3JjX2NyZWF0ZSksIChnc3RfdWRwc3JjX2dldF9wcm9wZXJ0eSk6CgkgIEFkZCBzdXBwb3J0IGZvciBnZXR0aW5nIHRoZSBjdXJyZW50bHkgdXNlZCBzb2NrZXQuCgoyMDA3LTA4LTE2IDE5OjIyOjQ4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuKjogSW1wbGVtZW50IGxhdGVuY3kgcXVlcnkgYW5kIG9ubHkgZm9yd2FyZCB0aG9zZSBzYW1wbGVzIGRvd25zdHJlYW0gdGhhdCBhY3R1YWxseSBjb250YWluIHRoZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19jbGFzc19pbml0KSwKCSAgKGdzdF9icHdzaW5jX2luaXQpLCAocHJvY2Vzc18zMiksIChwcm9jZXNzXzY0KSwKCSAgKGJwd3NpbmNfYnVpbGRfa2VybmVsKSwgKGJwd3NpbmNfcHVzaF9yZXNpZHVlKSwKCSAgKGJwd3NpbmNfdHJhbnNmb3JtKSwgKGJwd3NpbmNfc3RhcnQpLCAoYnB3c2luY19xdWVyeSksCgkgIChicHdzaW5jX3F1ZXJ5X3R5cGUpLCAoYnB3c2luY19ldmVudCksIChicHdzaW5jX3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmg6CgkgIEltcGxlbWVudCBsYXRlbmN5IHF1ZXJ5IGFuZCBvbmx5IGZvcndhcmQgdGhvc2Ugc2FtcGxlcyBkb3duc3RyZWFtCgkgIHRoYXQgYWN0dWFsbHkgY29udGFpbiB0aGUgZGF0YSB3ZSB3YW50LCBpLmUuIGRyb3Aga2VybmVsX2xlbmd0aC8yCgkgIGluIHRoZSBiZWdpbm5pbmcgYW5kIGFwcGVuZCBrZXJuZWxfbGVuZ3RoLzIgKGNyZWF0ZWQgYnkgY29udm9sdmluZwoJICB0aGUgZmlsdGVyIGtlcm5lbCB3aXRoIHplcm9lcykgdG8gdGhlIGVuZC4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9icHdzaW5jLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIEFkanVzdCB0aGUgdW5pdCB0ZXN0IGZvciB0aGlzIHNsaWdodGx5IGNoYW5nZWQgYmVoYXZpb3VyLgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAobHB3c2luY19idWlsZF9rZXJuZWwpOgoJICBSZXNldCByZXNpZHVlIGxlbmd0aCBvbmx5IHdoZW4gYWN0dWFsbHkgY3JlYXRpbmcgYSByZXNpZHVlLgoKMjAwNy0wOC0xNiAxNzowMjowNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1ZGlvZngvOiBBZGQgQ2hlYnlzaGV2IGxvd3Bhc3MvaGlnaHBhc3MgYW5kIGJhbmRwYXNzL2JhbmRyZWplY3QgZWxlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXZpZXdlZCBieTogU3RlZmFuIEtvc3QgIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCSAgKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJ5c2hldmZyZXFiYW5kLmM6CgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfYmFuZF9tb2RlX2dldF90eXBlKSwKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9iYW5kX2Jhc2VfaW5pdCksCgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfYmFuZF9kaXNwb3NlKSwKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9iYW5kX2NsYXNzX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2JhbmRfaW5pdCksCgkgIChnZW5lcmF0ZV9iaXF1YWRfY29lZmZpY2llbnRzKSwgKGNhbGN1bGF0ZV9nYWluKSwKCSAgKGdlbmVyYXRlX2NvZWZmaWNpZW50cyksCgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfYmFuZF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2JhbmRfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9iYW5kX3NldHVwKSwgKHByb2Nlc3MpLCAocHJvY2Vzc182NCksCgkgIChwcm9jZXNzXzMyKSwgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9iYW5kX3RyYW5zZm9ybV9pcCksCgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfYmFuZF9zdGFydCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVieXNoZXZmcmVxYmFuZC5oOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYnlzaGV2ZnJlcWxpbWl0LmM6CgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfbGltaXRfbW9kZV9nZXRfdHlwZSksCgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfbGltaXRfYmFzZV9pbml0KSwKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9saW1pdF9kaXNwb3NlKSwKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9saW1pdF9jbGFzc19pbml0KSwKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9saW1pdF9pbml0KSwKCSAgKGdlbmVyYXRlX2JpcXVhZF9jb2VmZmljaWVudHMpLCAoY2FsY3VsYXRlX2dhaW4pLAoJICAoZ2VuZXJhdGVfY29lZmZpY2llbnRzKSwKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9saW1pdF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2xpbWl0X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfbGltaXRfc2V0dXApLCAocHJvY2VzcyksIChwcm9jZXNzXzY0KSwKCSAgKHByb2Nlc3NfMzIpLCAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2xpbWl0X3RyYW5zZm9ybV9pcCksCgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfbGltaXRfc3RhcnQpOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYnlzaGV2ZnJlcWxpbWl0Lmg6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9meC5jOiAocGx1Z2luX2luaXQpOgoJICBBZGQgQ2hlYnlzaGV2IGxvd3Bhc3MvaGlnaHBhc3MgYW5kIGJhbmRwYXNzL2JhbmRyZWplY3QgZWxlbWVudHMuCgkgIEZpeGVzICM0NjQ4MDAuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJ5c2hldmZyZXFiYW5kLmM6CgkgIChzZXR1cF9hdWRpb2NoZWJ5c2hldmZyZXFiYW5kKSwgKGNsZWFudXBfYXVkaW9jaGVieXNoZXZmcmVxYmFuZCksCgkgIChHU1RfU1RBUlRfVEVTVCksIChhdWRpb2NoZWJ5c2hldmZyZXFiYW5kX3N1aXRlKSwgKG1haW4pOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYnlzaGV2ZnJlcWxpbWl0LmM6CgkgIChzZXR1cF9hdWRpb2NoZWJ5c2hldmZyZXFsaW1pdCksIChjbGVhbnVwX2F1ZGlvY2hlYnlzaGV2ZnJlcWxpbWl0KSwKCSAgKEdTVF9TVEFSVF9URVNUKSwgKGF1ZGlvY2hlYnlzaGV2ZnJlcWxpbWl0X3N1aXRlKSwgKG1haW4pOgoJICBBZGQgdW5pdCB0ZXN0cyBmb3IgdGhlIGNoZWJ5c2hldiBmaWx0ZXJzLgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSAgQW5kIGFkZCBkb2NzIGZvciB0aGUgY2hlYnlzaGV2IGZpbHRlcnMuIFdoaWxlIGRvaW5nCgkgIHRoYXQgYWxzbyBydW4gbWFrZSB1cGRhdGUgaW4gZG9jcy9wbHVnaW5zLgoKMjAwNy0wOC0xNiAxMjoxNTowNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgTWFrZSBybyBtZW1vcnkgdG8gc2hhcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWx0YWcuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICBNYWtlIHJvIG1lbW9yeSB0byBzaGFyZS4KCjIwMDctMDgtMTYgMTE6NDk6MDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy5jOiBJbXByb3ZlIFVEUCBwZXJmb3JtYW5jZSBieSBhdm9pZGluZyBhIHNlbGVjdCgpIHdoZW4gd2UgaGF2ZSBkYXRhIGF2YWlsYWJsZSBpbW1lZGlhdGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jcmVhdGUpOgoJICBJbXByb3ZlIFVEUCBwZXJmb3JtYW5jZSBieSBhdm9pZGluZyBhIHNlbGVjdCgpIHdoZW4gd2UgaGF2ZSBkYXRhCgkgIGF2YWlsYWJsZSBpbW1lZGlhdGx5LgoKMjAwNy0wOC0xNiAxMTo0NzoxOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0cGRlYy4qOiBBZGQgKGR1bW15KSBTU1JDIG1hbmFnZW1lbnQgc2lnbmFscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6IChnc3RfcnRwX2RlY19tYXJzaGFsX1ZPSURfX1VJTlRfVUlOVCksCgkgIChnc3RfcnRwX2RlY19jbGFzc19pbml0KToKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuaDoKCSAgQWRkIChkdW1teSkgU1NSQyBtYW5hZ2VtZW50IHNpZ25hbHMuCgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRzcHNyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3J0c3BzcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGZpbmRfc3RyZWFtKSwgKGdzdF9ydHNwc3JjX2NyZWF0ZV9zdHJlYW0pLCAobmV3X3Nlc3Npb25fcGFkKSwKCSAgKHJlcXVlc3RfcHRfbWFwKSwgKGdzdF9ydHNwc3JjX2RvX3N0cmVhbV9lb3MpLCAob25fYnllX3NzcmMpLAoJICAob25fdGltZW91dCksIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX21hbmFnZXIpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX3B1c2hfZXZlbnQpLCAoZ3N0X3J0c3BzcmNfcHVzaF9ldmVudCksCgkgIChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKSwgKGdzdF9ydHNwc3JjX3BhcnNlX3J0cGluZm8pLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX21lc3NhZ2UpLCAoZ3N0X3J0c3BzcmNfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIEFkZCBjb25uZWN0aW9uLXNwZWVkIHByb3BlcnR5LgoJICBBZGQgZmluZF9zdHJlYW0gaGVscGVyIGZ1bmN0aW9ucy4KCSAgSGFuZGxlIHN0cmVhbSBFT1MgYmFzZWQgb24gQllFIG1lc3NhZ2VzIG9yIFNTUkMgdGltZW91dC4KCSAgUmV0dXJucyBTVUNDRVNTIGZyb20gdGhlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiBhcyB3ZSBoaWRlIG91ciBhc3luYwoJICBlbGVtZW50cyBmcm9tIHRoZSBwYXJlbnQuCgoyMDA3LTA4LTE2IDA5OjQ4OjI3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuKjogSW1wbGVtZW50IGxhdGVuY3kgcXVlcnkgYW5kIG9ubHkgZm9yd2FyZCB0aG9zZSBzYW1wbGVzIGRvd25zdHJlYW0gdGhhdCBhY3R1YWxseSBjb250YWluIHRoZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19jbGFzc19pbml0KSwKCSAgKGdzdF9scHdzaW5jX2luaXQpLCAocHJvY2Vzc18zMiksIChwcm9jZXNzXzY0KSwKCSAgKGxwd3NpbmNfYnVpbGRfa2VybmVsKSwgKGxwd3NpbmNfcHVzaF9yZXNpZHVlKSwKCSAgKGxwd3NpbmNfdHJhbnNmb3JtKSwgKGxwd3NpbmNfc3RhcnQpLCAobHB3c2luY19xdWVyeSksCgkgIChscHdzaW5jX3F1ZXJ5X3R5cGUpLCAobHB3c2luY19ldmVudCksIChscHdzaW5jX3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmg6CgkgIEltcGxlbWVudCBsYXRlbmN5IHF1ZXJ5IGFuZCBvbmx5IGZvcndhcmQgdGhvc2Ugc2FtcGxlcyBkb3duc3RyZWFtCgkgIHRoYXQgYWN0dWFsbHkgY29udGFpbiB0aGUgZGF0YSB3ZSB3YW50LCBpLmUuIGRyb3Aga2VybmVsX2xlbmd0aC8yCgkgIGluIHRoZSBiZWdpbm5pbmcgYW5kIGFwcGVuZCBrZXJuZWxfbGVuZ3RoLzIgKGNyZWF0ZWQgYnkgY29udm9sdmluZwoJICB0aGUgZmlsdGVyIGtlcm5lbCB3aXRoIHplcm9lcykgdG8gdGhlIGVuZC4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9scHdzaW5jLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIEFkanVzdCB0aGUgdW5pdCB0ZXN0IGZvciB0aGlzIHNsaWdodGx5IGNoYW5nZWQgYmVoYXZpb3VyLgoKMjAwNy0wOC0xNiAwNzo0MDo0OCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2RlYnVnL3JuZGJ1ZmZlcnNpemUuYzogRml4IGRhIGxlYWsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9ybmRidWZmZXJzaXplLmM6CgkgIEZpeCBkYSBsZWFrLgoKMjAwNy0wOC0xNCAxMzo1MDo0MyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2RlYnVnLzogQWRkIG5ldyB0ZXN0IGVsZW1lbnQgYW5kIGNsZWFuLXVwIHRoZSBvdGhlcnMgYSBsaXR0bGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVidWcvYnJlYWtteWRhdGEuYzoKCSAgKiBnc3QvZGVidWcvZ3N0ZGVidWcuYzoKCSAgKiBnc3QvZGVidWcvbmVnb3RpYXRpb24uYzoKCSAgKiBnc3QvZGVidWcvcHJvZ3Jlc3NyZXBvcnQuYzoKCSAgKiBnc3QvZGVidWcvcm5kYnVmZmVyc2l6ZS5jOgoJICAqIGdzdC9kZWJ1Zy90ZXN0cGx1Z2luLmM6CgkgIEFkZCBuZXcgdGVzdCBlbGVtZW50IGFuZCBjbGVhbi11cCB0aGUgb3RoZXJzIGEgbGl0dGxlLgoKMjAwNy0wOC0xMyAxMzo1MDozOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIGRvY3MgZm9yIGxwd3NpbmMgYW5kIGJwd3NpbmMgYW5kIGludGVncmF0ZSB0aGVtIGludG8gdGhlIGJ1aWxkIHN5c3RlbS4gV2hpbGUgZG9pbmcgdGhhdCBhbHNvIHVwZGF0ZSBhbGwgb3RoZXIgZG9jLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbmdoZWFkZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuaDoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuaDoKCSAgQWRkIGRvY3MgZm9yIGxwd3NpbmMgYW5kIGJwd3NpbmMgYW5kIGludGVncmF0ZSB0aGVtCgkgIGludG8gdGhlIGJ1aWxkIHN5c3RlbS4gV2hpbGUgZG9pbmcgdGhhdCBhbHNvIHVwZGF0ZQoJICBhbGwgb3RoZXIgZG9jcyB2aWEgbWFrZSB1cGRhdGUgaW4gZG9jcy9wbHVnaW5zLgoKMjAwNy0wOC0xMiAyMDo1NTowMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvYnB3c2luYy5jOiBNYWtlIG9uZSB0ZXN0IGNvbnN0cmFpbnQgYSBiaXQgc3RyaWN0ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jwd3NpbmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgTWFrZSBvbmUgdGVzdCBjb25zdHJhaW50IGEgYml0IHN0cmljdGVyLgoKMjAwNy0wOC0xMiAyMDo1MzoxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgdW5pdCB0ZXN0cyBmb3IgYnB3c2luYywgdGVzdGluZyBmdW5kYW1lbnRhbCBmdW5jdGlvbmFsaXR5IGFnYWluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jwd3NpbmMuYzogKHNldHVwX2Jwd3NpbmMpLAoJICAoY2xlYW51cF9icHdzaW5jKSwgKEdTVF9TVEFSVF9URVNUKSwgKGJwd3NpbmNfc3VpdGUpLCAobWFpbik6CgkgIEFkZCB1bml0IHRlc3RzIGZvciBicHdzaW5jLCB0ZXN0aW5nIGZ1bmRhbWVudGFsIGZ1bmN0aW9uYWxpdHkgYWdhaW4uCgoyMDA3LTA4LTEyIDIwOjE5OjM3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay86IEFkZCB1bml0IHRlc3RzIGZvciBscHdzaW5jLCB0ZXN0aW5nIGZ1bmRhbWVudGFsIGZ1bmN0aW9uYWxpdHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbHB3c2luYy5jOiAoc2V0dXBfbHB3c2luYyksCgkgIChjbGVhbnVwX2xwd3NpbmMpLCAoR1NUX1NUQVJUX1RFU1QpLCAobHB3c2luY19zdWl0ZSksIChtYWluKToKCSAgQWRkIHVuaXQgdGVzdHMgZm9yIGxwd3NpbmMsIHRlc3RpbmcgZnVuZGFtZW50YWwgZnVuY3Rpb25hbGl0eS4KCjIwMDctMDgtMTIgMTU6NDE6NTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvOiBJbXByb3ZlIGRlYnVnZ2luZyBhIGJpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChicHdzaW5jX2J1aWxkX2tlcm5lbCk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChscHdzaW5jX2J1aWxkX2tlcm5lbCk6CgkgIEltcHJvdmUgZGVidWdnaW5nIGEgYml0LgoKMjAwNy0wOC0xMiAxNDozNTo0MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IHBhcnNpbmcgb2YgbXA0YSB2ZXJzaW9uIDAgYXRvbXMuIEZpeGVzICM0NjU3NzQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2Vfbm9kZSk6CgkgIEZpeCBwYXJzaW5nIG9mIG1wNGEgdmVyc2lvbiAwIGF0b21zLiBGaXhlcyAjNDY1Nzc0LgoKMjAwNy0wOC0xMiAxMjo0NjoyMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci86IFJlc2V0IHRoZSByZXNpZHVlIGluIEJhc2VUcmFuc2Zvcm06OnN0YXJ0IHRvIGdldCBhIGNsZWFuIHJlc2lkdWUgb24gc3RyZWFtIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoZ3N0X2Jwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChicHdzaW5jX3N0YXJ0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpLAoJICAobHB3c2luY19zdGFydCk6CgkgIFJlc2V0IHRoZSByZXNpZHVlIGluIEJhc2VUcmFuc2Zvcm06OnN0YXJ0IHRvIGdldCBhIGNsZWFuIHJlc2lkdWUKCSAgb24gc3RyZWFtIGNoYW5nZXMuCgoyMDA3LTA4LTExIDE1OjU4OjMwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyLzogRml4IHByb2Nlc3Npbmcgd2l0aCBidWZmZXIgc2l6ZXMgdGhhdCBhcmUgbGFyZ2VyIHRoYW4gdGhlIGZpbHRlciBrZXJuZWwgc2l6ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChwcm9jZXNzXzMyKSwgKHByb2Nlc3NfNjQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAocHJvY2Vzc18zMiksIChwcm9jZXNzXzY0KToKCSAgRml4IHByb2Nlc3Npbmcgd2l0aCBidWZmZXIgc2l6ZXMgdGhhdCBhcmUgbGFyZ2VyIHRoYW4gdGhlIGZpbHRlcgoJICBrZXJuZWwgc2l6ZS4KCjIwMDctMDgtMTAgMTc6MDg6MDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6IEluY2x1ZGUgc3RkbGliLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJICBJbmNsdWRlIHN0ZGxpYi4KCjIwMDctMDgtMTAgMTY6MTA6NDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6IFNldCB0aGUgbXBlZ3ZlcnNpb24gaW4gdGhlIGNhcHMgc28gdGhhdCBhdXRvcGx1Z2dpbmcgZG9lcyBub3QgZ2V0IGNvbmZ1c2VkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6CgkgIFNldCB0aGUgbXBlZ3ZlcnNpb24gaW4gdGhlIGNhcHMgc28gdGhhdCBhdXRvcGx1Z2dpbmcgZG9lcyBub3QgZ2V0CgkgIGNvbmZ1c2VkLgoKMjAwNy0wOC0xMCAwNTo1MTo0MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IEZpeCBhIHNlZ2ZhdWx0IHdpdGggbW9yZSB0aGFuIG9uZSBjaGFubmVsIGFuZCBkb24ndCByZWJ1aWxkIHRoZSBrZXJuZWwgJiByZXNpZHVlIHdpdGggZXZlcnkgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoYnB3c2luY19idWlsZF9rZXJuZWwpOgoJICBGaXggYSBzZWdmYXVsdCB3aXRoIG1vcmUgdGhhbiBvbmUgY2hhbm5lbCBhbmQgZG9uJ3QgcmVidWlsZAoJICB0aGUga2VybmVsICYgcmVzaWR1ZSB3aXRoIGV2ZXJ5IGJ1ZmZlci4KCjIwMDctMDgtMTAgMDU6MzU6MjUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy4qOiBBZGQgc3VwcG9ydCBmb3IgYSBiYW5kcmVqZWN0IG1vZGUgYW5kIGFsbG93IHNwZWNpZnlpbmcgdGhlIHdpbmRvdyBmdW5jdGlvbiB0aGF0IHNob3VsZCBiZSB1c2VkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X2Jwd3NpbmNfd2luZG93X2dldF90eXBlKSwgKGdzdF9icHdzaW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2Jwd3NpbmNfaW5pdCksIChicHdzaW5jX2J1aWxkX2tlcm5lbCksIChicHdzaW5jX3NldF9wcm9wZXJ0eSksCgkgIChicHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmg6CgkgIEFkZCBzdXBwb3J0IGZvciBhIGJhbmRyZWplY3QgbW9kZSBhbmQgYWxsb3cgc3BlY2lmeWluZyB0aGUgd2luZG93CgkgIGZ1bmN0aW9uIHRoYXQgc2hvdWxkIGJlIHVzZWQuCgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6CgkgIEFuZCBhbm90aGVyIHNtYWxsIGZvcm1hdHRpbmcgZml4LgoKMjAwNy0wOC0xMCAwNToyMDowNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RicHdzaW5jLio6IEFwcGx5IHRoZSBzYW1lIGNoYW5nZXMgdG8gdGhlIGJhbmRwYXNzIGZpbHRlcjoKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19jbGFzc19pbml0KSwKCSAgKGdzdF9icHdzaW5jX2luaXQpLCAocHJvY2Vzc18zMiksIChwcm9jZXNzXzY0KSwKCSAgKGJwd3NpbmNfYnVpbGRfa2VybmVsKSwgKGJwd3NpbmNfc2V0dXApLCAoYnB3c2luY19nZXRfdW5pdF9zaXplKSwKCSAgKGJwd3NpbmNfdHJhbnNmb3JtKSwgKGJwd3NpbmNfc2V0X3Byb3BlcnR5KSwKCSAgKGJwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuaDoKCSAgQXBwbHkgdGhlIHNhbWUgY2hhbmdlcyB0byB0aGUgYmFuZHBhc3MgZmlsdGVyOgoJICAtIFN1cHBvcnQgZG91YmxlIGlucHV0CgkgIC0gRml4IHByb2Nlc3NpbmcgZm9yIGlucHV0IHdpdGggPjEgY2hhbm5lbHMKCSAgLSBTcGVjaWZ5IGZyZXF1ZW5jeSBpbiBIegoJICAtIFNwZWNpZnkgYWN0dWFsIGZpbHRlciBrZXJuZWwgbGVuZ3RoCgkgIC0gVXNlIHRyYW5zZm9ybSBpbnN0ZWFkIG9mIHRyYW5zZm9ybV9pcCBhcyB3ZSdyZSB3b3JraW5nCgkgIG91dCBvZiBwbGFjZSBhbnl3YXkKCSAgLSBGYWN0b3Igb3V0IGZpbHRlciBrZXJuZWwgZ2VuZXJhdGlvbiBhbmQgdXBkYXRlIHRoZSBmaWx0ZXIKCSAga2VybmVsIHdoZW4gdGhlIHByb3BlcnRpZXMgYXJlIHNldAoJICBGaXggYmFuZHBhc3MgZmlsdGVyIGtlcm5lbCBnZW5lcmF0aW9uIHRvIGFjdHVhbGx5IGdlbmVyYXRlCgkgIGEgYmFuZHBhc3MgZmlsdGVyIGJ5IGNyZWF0aW5nIGEgaGlnaHBhc3MgaW5zdGVhZCBvZiBhIHNlY29uZAoJICBsb3dwYXNzLgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCk6CgkgIFNtYWxsIGZvcm1hdHRpbmcgZml4LgoKMjAwNy0wOC0xMCAwNDo0NDo0MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RscHdzaW5jLio6IFNwZWNpZnkgdGhlIGFjdHVhbCBmaWx0ZXIgbGVuZ3RoIGluc3RlYWQgb2YgYSB3ZWlyZCAyTisxLiBTZXR0aW5nIHRoZSBwcm9wZXJ0eSB3aWxsIHJvdW5kIHRvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfbHB3c2luY19pbml0KSwgKHByb2Nlc3NfMzIpLCAocHJvY2Vzc182NCksCgkgIChscHdzaW5jX2J1aWxkX2tlcm5lbCksIChscHdzaW5jX3NldF9wcm9wZXJ0eSksCgkgIChscHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmg6CgkgIFNwZWNpZnkgdGhlIGFjdHVhbCBmaWx0ZXIgbGVuZ3RoIGluc3RlYWQgb2YgYSB3ZWlyZAoJICAyTisxLiBTZXR0aW5nIHRoZSBwcm9wZXJ0eSB3aWxsIHJvdW5kIHRvIHRoZSBuZXh0IG9kZCBudW1iZXIuCgkgIEFsc28gcmVtb3ZlIG5vdyBvYnNvbGV0ZSBGSVhNRXMuCgoyMDA3LTA4LTEwIDA0OjMyOjQ3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuKjogQWxsb3cgY2hvb3NpbmcgYmV0d2VlbiBoYW1taW5nIGFuZCBibGFja21hbiB3aW5kb3cuIFRoZSBibGFja21hbiB3aW5kb3cgcHJvdmlkZXMgYSBiZXR0ZXIgc3QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY193aW5kb3dfZ2V0X3R5cGUpLAoJICAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCksIChnc3RfbHB3c2luY19pbml0KSwKCSAgKGxwd3NpbmNfYnVpbGRfa2VybmVsKSwgKGxwd3NpbmNfc2V0X3Byb3BlcnR5KSwKCSAgKGxwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuaDoKCSAgQWxsb3cgY2hvb3NpbmcgYmV0d2VlbiBoYW1taW5nIGFuZCBibGFja21hbiB3aW5kb3cuIFRoZSBibGFja21hbgoJICB3aW5kb3cgcHJvdmlkZXMgYSBiZXR0ZXIgc3RvcGJhbmQgYXR0ZW51YXRpb24gYnV0IGEgYml0IHNsb3dlcgoJICByb2xsb2ZmLgoKMjAwNy0wOC0xMCAwNDoyMTozOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RscHdzaW5jLio6IEFkZCBhIGhpZ2hwYXNzIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfbW9kZV9nZXRfdHlwZSksCgkgIChnc3RfbHB3c2luY19jbGFzc19pbml0KSwgKHByb2Nlc3NfMzIpLCAocHJvY2Vzc182NCksCgkgIChscHdzaW5jX2J1aWxkX2tlcm5lbCksIChscHdzaW5jX3NldF9wcm9wZXJ0eSksCgkgIChscHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmg6CgkgIEFkZCBhIGhpZ2hwYXNzIG1vZGUuCgoyMDA3LTA4LTEwIDA0OjA2OjUzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogRml4IHByb2Nlc3NpbmcgaWYgdGhlIGlucHV0IGhhcyBtb3JlIHRoYW4gb25lIGNoYW5uZWwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAocHJvY2Vzc18zMiksIChwcm9jZXNzXzY0KSwKCSAgKGxwd3NpbmNfYnVpbGRfa2VybmVsKToKCSAgRml4IHByb2Nlc3NpbmcgaWYgdGhlIGlucHV0IGhhcyBtb3JlIHRoYW4gb25lIGNoYW5uZWwuCgoyMDA3LTA4LTA5IDE5OjIzOjMzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogInRoaXMiIGlzIGEgQysrIGtleXdvcmQsIHVzZSAic2VsZiIgaW5zdGVhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19kaXNwb3NlKSwKCSAgKGdzdF9icHdzaW5jX2luaXQpLCAoYnB3c2luY19zZXR1cCksIChicHdzaW5jX3RyYW5zZm9ybV9pcCksCgkgIChicHdzaW5jX3NldF9wcm9wZXJ0eSksIChicHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgICJ0aGlzIiBpcyBhIEMrKyBrZXl3b3JkLCB1c2UgInNlbGYiIGluc3RlYWQuCgkgIEFkZCBUT0RPcyBhbmQgRklYTUVzIGFuZCByZW1vdmUgdHdvIHdyb25nIEZJWE1Fcy4KCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzoKCSAgQWRkIEZJWE1FcyBhbmQgYSBuZXcgVE9ETy4KCjIwMDctMDgtMDkgMTg6MDg6MDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy4qOiBBZGQgZG91YmxlIHN1cHBvcnQsIHJlcGxhY2UgInRoaXMiIHdpdGggInNlbGYiIGFzIHRoZSBmb3JtZXIgaXMgYSBDKysga2V5d29yZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19kaXNwb3NlKSwKCSAgKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpLCAoZ3N0X2xwd3NpbmNfaW5pdCksIChwcm9jZXNzXzMyKSwKCSAgKHByb2Nlc3NfNjQpLCAobHB3c2luY19idWlsZF9rZXJuZWwpLCAobHB3c2luY19zZXR1cCksCgkgIChscHdzaW5jX2dldF91bml0X3NpemUpLCAobHB3c2luY190cmFuc2Zvcm0pLAoJICAobHB3c2luY19zZXRfcHJvcGVydHkpLCAobHB3c2luY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5oOgoJICBBZGQgZG91YmxlIHN1cHBvcnQsIHJlcGxhY2UgInRoaXMiIHdpdGggInNlbGYiIGFzIHRoZSBmb3JtZXIKCSAgaXMgYSBDKysga2V5d29yZC4KCSAgSW1wbGVtZW50IHRoZSBmcmVxdWVuY3kgcHJvcGVydHkgaW4gSHogaW5zdGVhZCBvZiBmcmFjdGlvbgoJICBvZiBzYW1wbGluZyBmcmVxdWVuY3kuCgkgIFJlbW92ZSBzb21lIHVuZWNlc3NhcnkgRklYTUVzIGFuZCBhZGQgc29tZSBUT0RPcywgYWRkIHNvbWUKCSAgcmVxdWlyZWQgbG9ja2luZyBhbmQgcmVmYWN0b3IgdGhlIGtlcm5lbCBnZW5lcmF0aW9uIGludG8gYQoJICBzZXBhcmF0ZSBmdW5jdGlvbiB0aGF0IGlzIGFsc28gY2FsbGVkIHdoZW4gdGhlIHByb3BlcnRpZXMKCSAgY2hhbmdlIG5vdy4KCSAgQW5kIHVzZSBCYXNlVHJhbnNmb3JtOjp0cmFuc2Zvcm0gaW5zdGVhZCBvZiB0cmFuc2Zvcm1faXAKCSAgYXMgdGhlIGNvbnZvbHV0aW9uIGlzIGRvbmUgb3V0IG9mIHBsYWNlIGFueXdheS4gU2hvdWxkCgkgIGJlIGRvbmUgaW4gcGxhY2UgbGF0ZXIuCgoyMDA3LTA4LTA5IDEwOjU0OjA1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvLzogVXBkYXRlZCB0cmFuc2xhdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHBvL2h1LnBvOgoJICAqIHBvL3VrLnBvOgoJICAqIHBvL3ZpLnBvOgoJICBVcGRhdGVkIHRyYW5zbGF0aW9ucy4KCjIwMDctMDgtMDggMjA6NDc6MzMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvOiBVc2UgR3N0QXVkaW9GaWx0ZXIgYXMgYmFzZSBjbGFzcyBhbmQgZG9uJ3QgbGVhayB0aGUgbWVtb3J5IG9mIHRoZSBmaWx0ZXIga2VybmVsIGFuZCByZXNpZHVlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoZ3N0X2Jwd3NpbmNfZGlzcG9zZSksCgkgIChnc3RfYnB3c2luY19iYXNlX2luaXQpLCAoZ3N0X2Jwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfYnB3c2luY19pbml0KSwgKGJwd3NpbmNfc2V0dXApOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5oOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfZGlzcG9zZSksCgkgIChnc3RfbHB3c2luY19iYXNlX2luaXQpLCAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfbHB3c2luY19pbml0KSwgKGxwd3NpbmNfc2V0dXApOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5oOgoJICBVc2UgR3N0QXVkaW9GaWx0ZXIgYXMgYmFzZSBjbGFzcyBhbmQgZG9uJ3QgbGVhayB0aGUgbWVtb3J5CgkgIG9mIHRoZSBmaWx0ZXIga2VybmVsIGFuZCByZXNpZHVlLgoKMjAwNy0wOC0wOCAxNzo0NzowNSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IFJlbmRlciByaWdodCBib3JkZXIgaW4gdGhlIGNvcnJlY3QgbG9jYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiAoZ3N0X3ZpZGVvX2JveF9heXV2X2k0MjApOgoJICBSZW5kZXIgcmlnaHQgYm9yZGVyIGluIHRoZSBjb3JyZWN0IGxvY2F0aW9uLgoKMjAwNy0wOC0wOCAxMDo1NDo1MCArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHAvOiBNYWtlIG1vZGUgcHJvcGVydHkgYSBzdHJpbmcuIEZpeGVzICM0NjQ0NzUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzogKGdzdF9ydHBfaWxiY19kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzogKGdzdF9ydHBpbGJjcGF5X3NldGNhcHMpOgoJICBNYWtlIG1vZGUgcHJvcGVydHkgYSBzdHJpbmcuIEZpeGVzICM0NjQ0NzUuCgoyMDA3LTA4LTA1IDE0OjU4OjIwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IFdpZGVuIGNhcHMgdG8gbWF0Y2ggZGVjb2RlciBhIGJpdCBhbmQgYWRkIG1vcmUgRklYTUVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIFdpZGVuIGNhcHMgdG8gbWF0Y2ggZGVjb2RlciBhIGJpdCBhbmQgYWRkIG1vcmUgRklYTUVzLgoKMjAwNy0wOC0wNSAxNDo1MzozNiArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IEZpeCBPRE1MIGluZGV4IHRhZyBudW1iZXJpbmcuIEZpeGVzICM0NjM2MjQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBGaXggT0RNTCBpbmRleCB0YWcgbnVtYmVyaW5nLiBGaXhlcyAjNDYzNjI0LgoKMjAwNy0wOC0wMyAxNjowODo1NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogRml4IGRlZmF1bHQgY2xvY2stcmF0ZSBmb3IgcmVhbG1lZGlhLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnZXRfZGVmYXVsdF9yYXRlX2Zvcl9wdCksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9ydHBtYXApLCAoZ3N0X3J0c3BzcmNfbWVkaWFfdG9fY2FwcyksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RjcCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3VkcF9zaW5rKToKCSAgRml4IGRlZmF1bHQgY2xvY2stcmF0ZSBmb3IgcmVhbG1lZGlhLgoJICBGaXggcGFyc2luZyBvZiB0cmFuc3BvcnQuCgkgIERvbid0IHRyeSB0byBsaW5rIE5VTEwgcGFkcy4KCjIwMDctMDctMzAgMTc6MTc6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBwby9QT1RGSUxFUy5za2lwOiBBZGQgUE9URklMRVMuc2tpcCB3aXRoIGxpc3Qgb2Ygc291cmNlIGZpbGVzIHRoYXQgYXJlbid0IGRpc3RlZCBhdCB0aGUgbW9tZW50IGJ1dCBjb250YWluIHRyYW5zbGF0YWIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcG8vUE9URklMRVMuc2tpcDoKCSAgQWRkIFBPVEZJTEVTLnNraXAgd2l0aCBsaXN0IG9mIHNvdXJjZSBmaWxlcyB0aGF0IGFyZW4ndCBkaXN0ZWQgYXQgdGhlCgkgIG1vbWVudCBidXQgY29udGFpbiB0cmFuc2xhdGFibGUgc3RyaW5ncy4gU2hvdWxkIGhvcGVmdWxseSBwYWNpZnkKCSAgYnJva2VuIHRvb2xzIGFuZCBtYWtlIGl0IGNsZWFyZXIgdGhhdCB0aGVzZSBmaWxlcyBhcmUgbGVmdCBvdXQKCSAgaW50ZW50aW9uYWxseSAoIzQ2MTYwMCkuCgoyMDA3LTA3LTMwIDEyOjQxOjU4ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBJZiB0aGUgYnVmZmVyIHdhcyBlbnRpcmVseSBjbGlwcGVkIC4uLiBkb24ndCB0cnkgc2VuZGluZyBpdCA6KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKToKCSAgSWYgdGhlIGJ1ZmZlciB3YXMgZW50aXJlbHkgY2xpcHBlZCAuLi4gZG9uJ3QgdHJ5IHNlbmRpbmcgaXQgOikKCjIwMDctMDctMjcgMTY6NTY6NDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IElmIHdlIGRvbid0IGhhdiBhIHNlc3Npb24gbWFuYWdlciwgc2V0IHRoZSBjYXBzIG9uIG91dGdvaW5nIGJ1ZmZlcnMgb3Vyc2VsdmVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19hY3RpdmF0ZV9zdHJlYW1zKSwKCSAgKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpLCAoZ3N0X3J0c3BzcmNfcGFyc2VfbWV0aG9kcyksCgkgIChnc3RfcnRzcHNyY19jcmVhdGVfdHJhbnNwb3J0c19zdHJpbmcpLAoJICAoZ3N0X3J0c3BzcmNfcHJlcGFyZV90cmFuc3BvcnRzKToKCSAgSWYgd2UgZG9uJ3QgaGF2IGEgc2Vzc2lvbiBtYW5hZ2VyLCBzZXQgdGhlIGNhcHMgb24gb3V0Z29pbmcgYnVmZmVycwoJICBvdXJzZWx2ZXMuCgkgIEZvcmNlIFBBVVNFL1BMQVkgbWV0aG9kcyBmb3Igbm93IHVudGlsIHRoZSBleHRlbnNpb25zIGNhbiBvdmVyd3JpdGUuCgkgIEFwcGVuZCBmaW5hbCBiaXQgb2YgdGhlIHRyYW5zcG9ydCBzdHJpbmcgZXZlbiB3aGVuIGl0IGRvZXMgbm90IGNvbnRhaW4gYQoJICBwbGFjZWhvbGRlci4KCjIwMDctMDctMjcgMTE6MjE6MjAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC86IENsZWFuIHVwIHRoZSBpbnRlcmZhY2UgbGlzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcGV4dC5jOiAoZ3N0X3J0c3BfZXh0X2xpc3RfZnJlZSksCgkgIChnc3RfcnRzcF9leHRfbGlzdF9jb25uZWN0KToKCSAgKiBnc3QvcnRzcC9nc3RydHNwZXh0Lmg6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfaW5pdCksCgkgIChnc3RfcnRzcHNyY19maW5hbGl6ZSksIChnc3RfcnRzcHNyY19zZW5kX2NiKToKCSAgQ2xlYW4gdXAgdGhlIGludGVyZmFjZSBsaXN0LgoJICBBbGxvdyBjb25uZWN0aW5nIHRvIGludGVyZmFjZSBzaWduYWxzIGZvciB0aGUgZXh0ZW5zaW9ucy4KCSAgUmVtb3ZlIG9sZCBleHRlbnNpb24gY29kZS4KCSAgRnJlZSBsaXN0IG9uIGNsZWFudXAuCgkgIEFsbG93IGV4dGVuc2lvbnMgdG8gc2VuZCBhZGRpdGlvbmFsIFJUU1AgbWVzc2FnZXMuCgoyMDA3LTA3LTI3IDEwOjM4OjM0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9nY29uZi9nY29uZi5jOiBIYW5kbGUgYSBOVUxMIGdjb25mIGtleSBncmFjZWZ1bGx5IGJ5IHJlbmRlcmluZyB0aGUgZGVmYXVsdCBlbGVtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2NvbmYvZ2NvbmYuYzogKGdzdF9nY29uZl9yZW5kZXJfYmluX3dpdGhfZGVmYXVsdCk6CgkgIEhhbmRsZSBhIE5VTEwgZ2NvbmYga2V5IGdyYWNlZnVsbHkgYnkgcmVuZGVyaW5nIHRoZSBkZWZhdWx0IGVsZW1lbnQuCgoyMDA3LTA3LTI3IDEwOjExOjE4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcGV4dC5oOiBGaXggaW5jbHVkZSBwYXRoIGZvciBleHRlbnNpb24gaW50ZXJmYWNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwZXh0Lmg6CgkgIEZpeCBpbmNsdWRlIHBhdGggZm9yIGV4dGVuc2lvbiBpbnRlcmZhY2UuCgoyMDA3LTA3LTI2IDE5OjQ1OjMwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuaDogQWxzbyByZW1vdmUgYSBub3cgdW5lY2Vzc2FyeSB2YXJpYWJsZSBoZXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuaDoKCSAgQWxzbyByZW1vdmUgYSBub3cgdW5lY2Vzc2FyeSB2YXJpYWJsZSBoZXJlLgoKMjAwNy0wNy0yNiAxOTo0MTowNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1ZGlvZngvOiBEb24ndCBzYXZlIGZvcm1hdCBpbmZvcm1hdGlvbiBvdXJzZWx2ZXMsIHRoaXMgaXMgYWxyZWFkeSBzYXZlZCBpbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzogKGdzdF9hdWRpb19hbXBsaWZ5X2luaXQpLAoJICAoZ3N0X2F1ZGlvX2FtcGxpZnlfc2V0dXApLCAoZ3N0X2F1ZGlvX2FtcGxpZnlfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSAgKGdzdF9hdWRpb19keW5hbWljX3NldF9wcm9jZXNzX2Z1bmN0aW9uKSwgKGdzdF9hdWRpb19keW5hbWljX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2R5bmFtaWNfc2V0dXApLCAoZ3N0X2F1ZGlvX2R5bmFtaWNfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuaDoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5jOiAoZ3N0X2F1ZGlvX2ludmVydF9pbml0KSwKCSAgKGdzdF9hdWRpb19pbnZlcnRfc2V0dXApLCAoZ3N0X2F1ZGlvX2ludmVydF90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0Lmg6CgkgIERvbid0IHNhdmUgZm9ybWF0IGluZm9ybWF0aW9uIG91cnNlbHZlcywgdGhpcyBpcyBhbHJlYWR5IHNhdmVkIGluCgkgIEdzdEF1ZGlvRmlsdGVyLgoKMjAwNy0wNy0yNiAxNTo0ODo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwLzogVXNlIHJhbmsgdG8gZmlsdGVyIG91dCBleHRlbnNpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwZXh0LmM6IChnc3RfcnRzcF9leHRfbGlzdF9maWx0ZXIpLAoJICAoZ3N0X3J0c3BfZXh0X2xpc3Rfc3RyZWFtX3NlbGVjdCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcGV4dC5oOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3NldHVwX3N0cmVhbXMpOgoJICBVc2UgcmFuayB0byBmaWx0ZXIgb3V0IGV4dGVuc2lvbnMuCgkgIEFkZCB1cmwgdG8gc3RyZWFtX3NlbGVjdCBpbnRlcmZhY2UgY2FsbC4KCjIwMDctMDctMjUgMTg6NTA6MDggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC86IFVzZSBzaGlueSBuZXcgUlRTUCBhbmQgU0RQIGxpYnJhcnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHNwL2Jhc2U2NC5jOgoJICAqIGdzdC9ydHNwL2Jhc2U2NC5oOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BleHQuYzogKGdzdF9ydHNwX2V4dF9saXN0X2ZpbHRlciksCgkgIChnc3RfcnRzcF9leHRfbGlzdF9pbml0KSwgKGdzdF9ydHNwX2V4dF9saXN0X2dldCksCgkgIChnc3RfcnRzcF9leHRfbGlzdF9kZXRlY3Rfc2VydmVyKSwgKGdzdF9ydHNwX2V4dF9saXN0X2JlZm9yZV9zZW5kKSwKCSAgKGdzdF9ydHNwX2V4dF9saXN0X2FmdGVyX3NlbmQpLCAoZ3N0X3J0c3BfZXh0X2xpc3RfcGFyc2Vfc2RwKSwKCSAgKGdzdF9ydHNwX2V4dF9saXN0X3NldHVwX21lZGlhKSwKCSAgKGdzdF9ydHNwX2V4dF9saXN0X2NvbmZpZ3VyZV9zdHJlYW0pLAoJICAoZ3N0X3J0c3BfZXh0X2xpc3RfZ2V0X3RyYW5zcG9ydHMpLAoJICAoZ3N0X3J0c3BfZXh0X2xpc3Rfc3RyZWFtX3NlbGVjdCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcGV4dC5oOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwX2xvd2VyX3RyYW5zX2dldF90eXBlKSwKCSAgKGdzdF9ydHNwc3JjX2NsYXNzX2luaXQpLCAoZ3N0X3J0c3BzcmNfaW5pdCksCgkgIChnc3RfcnRzcHNyY19maW5hbGl6ZSksIChnc3RfcnRzcHNyY19jcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX3J0cG1hcCksIChnc3RfcnRzcHNyY19tZWRpYV90b19jYXBzKSwKCSAgKGdzdF9ydHNwc3JjX2ZsdXNoKSwgKGdzdF9ydHNwc3JjX2RvX3NlZWspLAoJICAoZ3N0X3J0c3BzcmNfc2lua19jaGFpbiksIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX21hbmFnZXIpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90Y3ApLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV9tY2FzdCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3VkcCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3VkcF9zaW5rKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwKCSAgKGdzdF9ydHNwc3JjX2hhbmRsZV9yZXF1ZXN0KSwgKGdzdF9ydHNwc3JjX3NlbmRfa2VlcF9hbGl2ZSksCgkgIChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKSwgKGdzdF9ydHNwc3JjX2xvb3BfdWRwKSwKCSAgKGdzdF9ydHNwc3JjX2xvb3Bfc2VuZF9jbWQpLCAoZ3N0X3J0c3BfYXV0aF9tZXRob2RfdG9fc3RyaW5nKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX2F1dGhfaGRyKSwgKGdzdF9ydHNwc3JjX3NldHVwX2F1dGgpLAoJICAoZ3N0X3J0c3BzcmNfdHJ5X3NlbmQpLCAoZ3N0X3J0c3BzcmNfc2VuZCksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9tZXRob2RzKSwKCSAgKGdzdF9ydHNwc3JjX2NyZWF0ZV90cmFuc3BvcnRzX3N0cmluZyksCgkgIChnc3RfcnRzcHNyY19wcmVwYXJlX3RyYW5zcG9ydHMpLCAoZ3N0X3J0c3BzcmNfc2V0dXBfc3RyZWFtcyksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9yYW5nZSksIChnc3RfcnRzcHNyY19vcGVuKSwgKGdzdF9ydHNwc3JjX2Nsb3NlKSwKCSAgKGdzdF9ydHNwc3JjX3BsYXkpLCAoZ3N0X3J0c3BzcmNfcGF1c2UpLAoJICAoZ3N0X3J0c3BzcmNfY2hhbmdlX3N0YXRlKSwgKGdzdF9ydHNwc3JjX3VyaV9zZXRfdXJpKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgICogZ3N0L3J0c3AvcnRzcC5oOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uaDoKCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5jOgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmg6CgkgICogZ3N0L3J0c3AvcnRzcGV4dC5oOgoJICAqIGdzdC9ydHNwL3J0c3BleHR3bXMuYzoKCSAgKiBnc3QvcnRzcC9ydHNwZXh0d21zLmg6CgkgICogZ3N0L3J0c3AvcnRzcG1lc3NhZ2UuYzoKCSAgKiBnc3QvcnRzcC9ydHNwbWVzc2FnZS5oOgoJICAqIGdzdC9ydHNwL3J0c3ByYW5nZS5jOgoJICAqIGdzdC9ydHNwL3J0c3ByYW5nZS5oOgoJICAqIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuYzoKCSAgKiBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0Lmg6CgkgICogZ3N0L3J0c3AvcnRzcHVybC5jOgoJICAqIGdzdC9ydHNwL3J0c3B1cmwuaDoKCSAgKiBnc3QvcnRzcC9zZHAuaDoKCSAgKiBnc3QvcnRzcC9zZHBtZXNzYWdlLmM6CgkgICogZ3N0L3J0c3Avc2RwbWVzc2FnZS5oOgoJICAqIGdzdC9ydHNwL3Rlc3QuYzoKCSAgVXNlIHNoaW55IG5ldyBSVFNQIGFuZCBTRFAgbGlicmFyeS4KCSAgSW1wbGVtZW50IFJUU1AgZXh0ZW5zaW9ucyB1c2luZyB0aGUgbmV3IGludGVyZmFjZS4KCSAgUmVtb3ZlIGEgbG90IG9mIG9sZCBjb2RlLgoKMjAwNy0wNy0yNCAxNDozMTo1NiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIGNvZGVjIG1hcHBpbmcgZm9yICcydnV5JyAoUmF3IFlVViBwcm9kdWNlZCBieSBGQ1ApIGFuZCAnZGl2eCcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEFkZCBjb2RlYyBtYXBwaW5nIGZvciAnMnZ1eScgKFJhdyBZVVYgcHJvZHVjZWQgYnkgRkNQKSBhbmQgJ2RpdngnLgoKMjAwNy0wNy0yNCAwNTowNzo1OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiBEb24ndCB1bnJlZiB0aGUgb3V0Z29pbmcgYnVmZmVyIHR3aWNlIHdoZW4gZHJvcHBpbmcgaXQgYmVjYXVzZSBpdCdzIG91dHNpZGUgb2YgdGhlIHNlZ21lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19jaGFpbik6CgkgIERvbid0IHVucmVmIHRoZSBvdXRnb2luZyBidWZmZXIgdHdpY2Ugd2hlbiBkcm9wcGluZyBpdCBiZWNhdXNlIGl0J3MKCSAgb3V0c2lkZSBvZiB0aGUgc2VnbWVudC4KCjIwMDctMDctMjQgMDQ6NTc6MjAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFVzZSB0aGUgbmV3IGJ1ZmZlciBjbGlwcGluZyBmdW5jdGlvbiBmcm9tIGdzdGF1ZGlvIGhlcmUgYW5kIHJlcXVpcmUgZ3N0LXBsdWdpbnMtYmFzZSBDVlMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKSwgKGdzdF93YXZwYWNrX2RlY19zaW5rX2V2ZW50KToKCSAgVXNlIHRoZSBuZXcgYnVmZmVyIGNsaXBwaW5nIGZ1bmN0aW9uIGZyb20gZ3N0YXVkaW8gaGVyZSBhbmQKCSAgcmVxdWlyZSBnc3QtcGx1Z2lucy1iYXNlIENWUy4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZGVjLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIEZvciBmcmFtZWQgV2F2cGFjayBidWZmZXJzIHdlIHJlcXVpcmUgYSB2YWxpZCB0aW1lc3RhbXAuCgoyMDA3LTA3LTIzIDE4OjAzOjU0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBDbGlwIHJhdyBhdWRpbyBhbmQgdmlkZW8gd2hlbiB3ZSBjYW4sIGtlZXAgdHJhY2sgb2YgY3VycmVudCBvdXRwdXQgc2VnbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCksCgkgIChnc3RfcXRkZW11eF9jbGlwX2J1ZmZlciksIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayksIChxdGRlbXV4X3ZpZGVvX2NhcHMpLCAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgQ2xpcCByYXcgYXVkaW8gYW5kIHZpZGVvIHdoZW4gd2UgY2FuLCBrZWVwIHRyYWNrIG9mIGN1cnJlbnQgb3V0cHV0CgkgIHNlZ21lbnQuCgkgIERvbid0IGxlYWsgYnVmZmVycyBhbmQgZXZlbnRzIHdoZW4gdGhlcmUgaXMgbm8gb3V0cHV0IHBhZC4KCSAgSW1wcm92ZSBkZWJ1Z2dpbmcgaGVyZSBhbmQgdGhlcmUuCgoyMDA3LTA3LTIzIDA5OjAyOjA3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFN5bmMgbGlib2lsIGNoZWNrIHdpdGggcGx1Z2lucy1iYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFN5bmMgbGlib2lsIGNoZWNrIHdpdGggcGx1Z2lucy1iYXNlLgoKMjAwNy0wNy0yMCAxMTozNzozNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2VxdWFsaXplci86IEJldHRlciBhbGdvcml0aCBmb3IgdGhlIGNlbnRlciBmcmVxdWVuY2llcy4gU3VidHJhY3QgYmFuZCBmaWx0ZXJzIGZyb20gaW5wdXQgZm9yIG5lZ2F0aXZlIGdhaW5zLiBSZXdvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRfYnlfaW5kZXgpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkcmVuX2NvdW50KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2ludGVyZmFjZV9pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NsYXNzX2luaXQpLCAoYXJnX3RvX3NjYWxlKSwgKHNldHVwX2ZpbHRlciksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jb21wdXRlX2ZyZXF1ZW5jaWVzKToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyXzEwYmFuZHNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyXzNiYW5kc19jbGFzc19pbml0KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJICBCZXR0ZXIgYWxnb3JpdGggZm9yIHRoZSBjZW50ZXIgZnJlcXVlbmNpZXMuIFN1YnRyYWN0IGJhbmQgZmlsdGVycyBmcm9tCgkgIGlucHV0IGZvciBuZWdhdGl2ZSBnYWlucy4gUmV3b3JrIHRoZSBnYWluIG1hcHBpbmcuCgoyMDA3LTA3LTIwIDA3OjQxOjU4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvYW5ub2RleC9NYWtlZmlsZS5hbTogRml4IENGTEFHUy9MSUJTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW5ub2RleC9NYWtlZmlsZS5hbToKCSAgRml4IENGTEFHUy9MSUJTLgoJICAqIGV4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKGdzdF9wbmdkZWNfdGFzayk6CgkgIEluY2x1ZGUgc3RkbGliCgkgICogZXh0L2NhaXJvL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9NYWtlZmlsZS5hbToKCSAgVXNlICQoTElCTSkgaW5zdGVhZCBvZiAtbG0KCjIwMDctMDctMTggMTE6NTU6MTMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogQWRkIGFub3RoZXIgZXhhbXBsZSBwaXBlbGluZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBBZGQgYW5vdGhlciBleGFtcGxlIHBpcGVsaW5lLgoKMjAwNy0wNy0xOCAxMTo0MjozMyArMDAwMCAgQWxleGFuZGVyIEVpY2huZXIgPGFsZXhlaWNoaUB5YWhvby5kZT4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogVXNlIGRlZmluZSBoZXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFsZXhhbmRlciBFaWNobmVyIDxhbGV4ZWljaGlAeWFob28uZGU+CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfaW5pdCk6CgkgIFVzZSBkZWZpbmUgaGVyZS4KCSAgKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzoKCSAgKGdzdF92NGwyX3R1bmVyX3NldF9mcmVxdWVuY3lfYW5kX25vdGlmeSk6CgkgIERvbid0IHRvdWNoIHRoZSBwcm9wZXJ0eSAtIGl0cyBzdGlsbCBkaXNhYmxlZC4KCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19wcm9iZV9jYXBzX2Zvcl9mb3JtYXQpLAoJICAoZ3N0X3Y0bDJzcmNfZ3JhYl9mcmFtZSksIChnc3RfdjRsMnNyY19nZXRfc2l6ZV9saW1pdHMpOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgSW1wcm92ZSBmYWxsYmFjayBmb3JtYXQgbmVnb3Rpb25hdGlvbi4gRml4ZXMgIzQ1MTM4OAoKMjAwNy0wNy0xOCAxMDozMzozOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6IEZpeCB0aGUgdGVzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIEZpeCB0aGUgdGVzdC4KCjIwMDctMDctMTggMDk6MjE6MjMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIE1vcmUgZG9jcy4gTW9yZSBsb2dzIGluIHBuZ2RlYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKGdzdF9wbmdkZWNfdGFzayksCgkgIChnc3RfcG5nZGVjX3Npbmtfc2V0Y2Fwcyk6CgkgIE1vcmUgZG9jcy4gTW9yZSBsb2dzIGluIHBuZ2RlYy4KCjIwMDctMDctMTggMDc6NTE6MTEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6IEFkZCBleGFtcGxlIHRvIHRoZSBkb2NzLiBGaXggYnVmZmVyLW9mZnNldC1lbmQgYW5kIGFkZCBzb21lIGRlYnVnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOiAoZ3N0X211bHRpX2ZpbGVfc3JjX2NyZWF0ZSk6CgkgIEFkZCBleGFtcGxlIHRvIHRoZSBkb2NzLiBGaXggYnVmZmVyLW9mZnNldC1lbmQgYW5kIGFkZCBzb21lIGRlYnVnLgoKMjAwNy0wNy0xOCAwNzozNTozMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgQWRkIHN0ZGxpYiBpbmNsdWRlIChmcmVlLCBhdG9pLCBleGl0KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyY19leC5jOgoJICAqIGV4YW1wbGVzL3N3aXRjaC9zd2l0Y2hlci5jOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOgoJICAqIGdzdC9tdmUvbXZlYXVkaW9lbmMuYzogKG12ZV9jb21wcmVzc19hdWRpbyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgQWRkIHN0ZGxpYiBpbmNsdWRlIChmcmVlLCBhdG9pLCBleGl0KS4KCjIwMDctMDctMTcgMTE6MzU6MjkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogSW5pdGlhbGl6ZSBudW1fYnVmZmVycyB3aXRoIG1pbmltdW0gdmFsdWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2luaXQpOgoJICBJbml0aWFsaXplIG51bV9idWZmZXJzIHdpdGggbWluaW11bSB2YWx1ZS4KCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19maWxsX2Zvcm1hdF9saXN0KSwKCSAgKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdCksIChnc3RfdjRsMnNyY19ncmFiX2ZyYW1lKToKCSAgSGFuZGxlIGZyYW1lLXNpemUgcXVlcnkgZmFpbHVyZSBncmFjZWZ1bGx5LgoKMjAwNy0wNy0xNiAxMjoxMTozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IHBhcnNpbmcgb2YgZXNkcyBhdG9tcyBpbnNpZGUgbXA0YSBhdG9tcyBzbyB0aGF0IHdlIGNhbiBzZXQgY29ycmVjdCBjb2RlY19pbmZvIGZvciBBQUMgYXVkaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX25vZGUpOgoJICBGaXggcGFyc2luZyBvZiBlc2RzIGF0b21zIGluc2lkZSBtcDRhIGF0b21zIHNvIHRoYXQgd2UgY2FuIHNldCBjb3JyZWN0CgkgIGNvZGVjX2luZm8gZm9yIEFBQyBhdWRpby4gRml4ZXMgIzQ1NzA5NyBhbG9uZyB3aXRoIGEgd2hvbGUgb3RoZXIgYnVuY2gKCSAgb2YgcXQvYWFjIGZpbGVzLgoKMjAwNy0wNy0xNiAwOToxNjowMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiBGaXggYnVmZmVyIGNsaXBwaW5nIHRvIGNvcnJlY3RseSBjbGlwIHRvIHRoZSBzZWdtZW50IHN0b3AuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSAgKGdzdF93YXZwYWNrX2RlY19jbGlwX291dGdvaW5nX2J1ZmZlcik6CgkgIEZpeCBidWZmZXIgY2xpcHBpbmcgdG8gY29ycmVjdGx5IGNsaXAgdG8gdGhlIHNlZ21lbnQgc3RvcC4KCjIwMDctMDctMTMgMTY6MzE6MjcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmVtb3ZlIGJvZ3VzIGNoZWNrIGZvciBsaWJjaGVjaywgc2luY2Ugd2UgY2hlY2sgZm9yIGdzdHJlYW1lci1jaGVjayBhbmQgaXQgcHVsbHMgaW4gdGhlIHJlcXVpcmVkIGluZm8gZnJvbSB0aGVyZSwgYW5kLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiB0ZXN0cy9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIGJvZ3VzIGNoZWNrIGZvciBsaWJjaGVjaywgc2luY2Ugd2UgY2hlY2sgZm9yCgkgIGdzdHJlYW1lci1jaGVjayBhbmQgaXQgcHVsbHMgaW4gdGhlIHJlcXVpcmVkIGluZm8gZnJvbSB0aGVyZSwKCSAgYW5kIHdlIHdlcmVuJ3QgYWN0dWFsbHkgX3VzaW5nXyB0aGUgaW5mb3JtYXRpb24gZm9yIGxpYmNoZWNrCgkgIG91cnNlbHZlcyBhbnl3YXkuCgoyMDA3LTA3LTEyIDExOjIxOjAxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFVzZSBwa2ctY29uZmlnIHRvIGxvY2F0ZSBjaGVjay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBVc2UgcGtnLWNvbmZpZyB0byBsb2NhdGUgY2hlY2suCgoyMDA3LTA3LTExIDIzOjQzOjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0LzogRml4IGJ1aWxkIGFnYWluc3QgY29yZSBDVlMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZ3N0X2RlaW50ZXJsZWF2ZV9wcm9jZXNzKToKCSAgKiBnc3Qvdm1uYy92bW5jZGVjLmM6ICh2bW5jX21ha2VfYnVmZmVyKToKCSAgRml4IGJ1aWxkIGFnYWluc3QgY29yZSBDVlMuCgoyMDA3LTA3LTExIDIyOjMxOjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgRml4IGJ1aWxkIGFnYWluc3QgY29yZSBDVlMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5jOiAoZ3N0X2NhaXJvX3RpbWVfb3ZlcmxheV90cmFuc2Zvcm0pOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzogKGdzdF9qcGVnZW5jX2NoYWluKToKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOiAoZ3N0X3BuZ2VuY19jaGFpbik6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKToKCSAgKiBnc3QvZGVidWcvZ3N0bmF2aWdhdGlvbnRlc3QuYzogKGdzdF9uYXZpZ2F0aW9udGVzdF90cmFuc2Zvcm0pOgoJICAqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6IChnc3RfYWdpbmd0dl90cmFuc2Zvcm0pOgoJICAqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzogKGdzdF9kaWNldHZfdHJhbnNmb3JtKToKCSAgKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6IChnc3RfZWRnZXR2X3RyYW5zZm9ybSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzogKGdzdF9xdWFya3R2X3RyYW5zZm9ybSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6IChnc3RfcmV2dHZfdHJhbnNmb3JtKToKCSAgKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6IChnc3Rfc2hhZ2FkZWxpY3R2X3RyYW5zZm9ybSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOiAoZ3N0X3ZlcnRpZ290dl90cmFuc2Zvcm0pOgoJICAqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzogKGdzdF93YXJwdHZfdHJhbnNmb3JtKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfd3Zwa19oZWFkZXIpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2NoZWNrX3N1YnRpdGxlX2J1ZmZlciksCgkgIChnc3RfbWF0cm9za2FfZGVjb2RlX2J1ZmZlcik6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOiAoZ3N0X3ZpZGVvX2ZsaXBfdHJhbnNmb3JtKToKCSAgRml4IGJ1aWxkIGFnYWluc3QgY29yZSBDVlMuCgoyMDA3LTA3LTEwIDEwOjE2OjM4ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IERvbid0IHJldHVybiBHU1RfRkxPV19FUlJPUiB3aGVuIHB1c2hpbmcgYW4gZXZlbnQgcmV0dXJucyBGQUxTRS4gV2UgZG9uJ3QgaGF2ZSBlbm91Z2ggZ3JhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X2NoYWluKToKCSAgRG9uJ3QgcmV0dXJuIEdTVF9GTE9XX0VSUk9SIHdoZW4gcHVzaGluZyBhbiBldmVudCByZXR1cm5zIEZBTFNFLiBXZQoJICBkb24ndCBoYXZlIGVub3VnaCBncmFudWxhcml0eSB0byBjb252ZXJ0IHRoYXQgYm9vbGVhbiBpbnRvIGEKCSAgR3N0Rmxvd1JldHVybi4KCjIwMDctMDctMDYgMTU6MDA6NDcgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9sYXcvOiBGaXggY2Fwc25lZ28gYm9nb3NpdHkgaW4gKmxhdyBkZWNvZGVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOiAoYWxhd2RlY19zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2FsYXdkZWNfY2xhc3NfaW5pdCksIChnc3RfYWxhd2RlY19pbml0KSwgKGdzdF9hbGF3ZGVjX2NoYWluKSwKCSAgKGdzdF9hbGF3ZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2xhdy9hbGF3LWRlY29kZS5oOgoJICAqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6IChtdWxhd2RlY19zaW5rX3NldGNhcHMpLAoJICAoZ3N0X211bGF3ZGVjX2NsYXNzX2luaXQpLCAoZ3N0X211bGF3ZGVjX2luaXQpLAoJICAoZ3N0X211bGF3ZGVjX2NoYWluKSwgKGdzdF9tdWxhd2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmg6CgkgIEZpeCBjYXBzbmVnbyBib2dvc2l0eSBpbiAqbGF3IGRlY29kZXJzLgoKMjAwNy0wNy0wNiAxNDozNTo1OSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZXh0L2pwZWcvZ3N0c21va2VlbmMuKjogUmVtb3ZlIHN0dXBpZGl0eSBpbiBnZXQvc2V0IGNhcHMgZnVuY3Rpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOiAoZ3N0X3Ntb2tlZW5jX2luaXQpLAoJICAoZ3N0X3Ntb2tlZW5jX3NldGNhcHMpLCAoZ3N0X3Ntb2tlZW5jX2NoYWluKSwKCSAgKGdzdF9zbW9rZWVuY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmg6CgkgIFJlbW92ZSBzdHVwaWRpdHkgaW4gZ2V0L3NldCBjYXBzIGZ1bmN0aW9ucy4KCSAgRml4IHNvbWUgcmVmY291bnRpbmcgcHJvYmxlbXMuCgoyMDA3LTA3LTA2IDExOjQyOjUzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IFJlbW92ZSBlbmRpYW5uZXNzLWZsaXBwaW5nIGhhY2sgdGhhdCBzZWVtcyB0byBoYXZlIGJlZW4gcmVxdWlyZWQgb25seSBiZWNhdXNlIG9mIGEgYnVnIGluIGZmbS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAoZ3N0X3BuZ2RlY19jYXBzX2NyZWF0ZV9hbmRfc2V0KToKCSAgUmVtb3ZlIGVuZGlhbm5lc3MtZmxpcHBpbmcgaGFjayB0aGF0IHNlZW1zIHRvIGhhdmUgYmVlbiByZXF1aXJlZAoJICBvbmx5IGJlY2F1c2Ugb2YgYSBidWcgaW4gZmZtcGVnY29sb3JzcGFjZS4KCSAgUGFydGlhbGx5IEZpeGVzOiAjNDUxOTA4CgoyMDA3LTA3LTA1IDA4OjQ0OjExICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06IFNpbXBsaWZ5IC0tZXh0cmEtZGlyIGFzIGd0a2RvYyBzY2FucyByZWN1cnNpdmVseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBTaW1wbGlmeSAtLWV4dHJhLWRpciBhcyBndGtkb2Mgc2NhbnMgcmVjdXJzaXZlbHkuCgoyMDA3LTA3LTAzIDA5OjU5OjQ2ICswMDAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkubXlvaGFuZW5Abm9raWEuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6IFNldCB0aGUgZW5jb2RpbmctbmFtZSBpbiB0aGUgcnRwIGNhcHMgdG8gYWxsIHVwcGVyY2FzZSwgYXMgcmVxdWlyZWQgYnkgdGhlIGNhcHMgc3BlYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUb21taSBNecO2aMOkbmVuICA8ZXh0LXRvbW1pIGRvdCBteW9oYW5lbiBhdCBub2tpYSBkb3QgY29tPgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOiAoZ3N0X3J0cGlsYmNwYXlfc2V0Y2Fwcyk6CgkgIFNldCB0aGUgZW5jb2RpbmctbmFtZSBpbiB0aGUgcnRwIGNhcHMgdG8gYWxsIHVwcGVyY2FzZSwgYXMgcmVxdWlyZWQgYnkKCSAgdGhlIGNhcHMgc3BlYy4KCSAgU29tZSBzbWFsbCBjbGVhbnVwcyBpbiB0aGUgZXJyb3IgcGF0aHMuIEZpeGVzICM0NTMwMzcuCgoyMDA3LTA3LTAzIDA4OjAxOjE4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvbXVsdGlmaWxlLzogQWRkIC5oIGZpbGVzIHRvIGJlIGFibGUgdG8gYWRkIGl0IHRvIHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5oOgoJICBBZGQgLmggZmlsZXMgdG8gYmUgYWJsZSB0byBhZGQgaXQgdG8gdGhlIGRvY3MuCgoyMDA3LTA3LTAzIDA3OjE2OjI2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5oOiBGaXggR09iamVjdCBtYWNyb3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmg6CgkgIEZpeCBHT2JqZWN0IG1hY3Jvcy4KCjIwMDctMDYtMjggMTk6MDA6NDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS4qOiBVc2UgYSBHU0xpc3QgZm9yIHRoZSBHQXJyYXkgdGhhdCBpcyB1c2VkIGxpa2UgYSBsaXN0IGFueXdheS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIChnc3Rfd2F2cGFja19wYXJzZV9pbmRleF9nZXRfbGFzdF9lbnRyeSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9pbmRleF9nZXRfZW50cnlfZnJvbV9zYW1wbGUpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5kZXhfYXBwZW5kX2VudHJ5KSwgKGdzdF93YXZwYWNrX3BhcnNlX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NjYW5fdG9fZmluZF9zYW1wbGUpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICBVc2UgYSBHU0xpc3QgZm9yIHRoZSBHQXJyYXkgdGhhdCBpcyB1c2VkIGxpa2UgYSBsaXN0IGFueXdheS4KCjIwMDctMDYtMjggMTM6MjU6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzogQWRkIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiB3aGVyZSB3ZSBzZXQgMC8xIGFzIGRlZmF1bHQgZnJhbWVyYXRlIGluIGNhc2Ugb3VyIHNldGNhcHMgZnUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6IChnc3RfZ2RrX3BpeGJ1Zl9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2dka19waXhidWZfY2xhc3NfaW5pdCksIChnc3RfZ2RrX3BpeGJ1Zl9mbHVzaCksCgkgIChnc3RfZ2RrX3BpeGJ1Zl9zaW5rX2V2ZW50KSwgKGdzdF9nZGtfcGl4YnVmX2NoYW5nZV9zdGF0ZSk6CgkgIEFkZCBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gd2hlcmUgd2Ugc2V0IDAvMSBhcyBkZWZhdWx0IGZyYW1lcmF0ZSBpbgoJICBjYXNlIG91ciBzZXRjYXBzIGZ1bmN0aW9uIGlzbid0IGNhbGxlZCwgbGlrZSBpdCBtaWdodCBub3QgaW4gYQoJICBmaWxlc3JjICEgZ2RrcGl4YnVmZGVjIHNjZW5hcmlvLiBGaXhlcyBhc3NlcnRpb24gdHJpZ2dlcmVkIGJ5CgkgIGdka3BpeGJ1ZmRlYyB0cnlpbmcgdG8gY3JlYXRlIGNhcHMgd2l0aCBhIDAvMCBmcmFtZXJhdGUuCgkgIEFsc28gcG9zdCBhbiBlcnJvciBtZXNzYWdlIG9uIHRoZSBidXMgaWYgZ3N0X3BhZF9wdXNoKCkgZmFpbHMgd2hlbgoJICBjYWxsZWQgZnJvbSBvdXIgc2luayBldmVudCBoYW5kbGVyICgrMSBmb3IgZmxvdyByZXR1cm5zIGZvciBldmVudAoJICBmdW5jdGlvbnMgaW4gMC4xMSkgaW5zdGVhZCBvZiBmYWlsaW5nIHNpbGVudGx5LgoKMjAwNy0wNi0yNyAxMTozNjoyNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogQ2FzdCBzdGFjayBhcmdzIHRvIHRoZSBwcm9wZXIgdHlwZXMuIEZpeGVzICM0NTEyNDkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2NvbmZpZ3VyZV9jYXBzKToKCSAgQ2FzdCBzdGFjayBhcmdzIHRvIHRoZSBwcm9wZXIgdHlwZXMuIEZpeGVzICM0NTEyNDkuCgoyMDA3LTA2LTI3IDExOjA0OjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy4qOiBGb3IgY29udGFpbmVyIGZvcm1hdHMgd2Ugb25seSBuZWVkIHRvIGFjdGl2YXRlIG9uZSBvZiB0aGUgc3RyZWFtcyBzbyB0aGF0IHdlIGNvcnJlY3RseSBzaWduYWwgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2NyZWF0ZV9zdHJlYW0pLAoJICAobmV3X3Nlc3Npb25fcGFkKSwgKGdzdF9ydHNwc3JjX3NldHVwX3N0cmVhbXMpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgRm9yIGNvbnRhaW5lciBmb3JtYXRzIHdlIG9ubHkgbmVlZCB0byBhY3RpdmF0ZSBvbmUgb2YgdGhlIHN0cmVhbXMgc28KCSAgdGhhdCB3ZSBjb3JyZWN0bHkgc2lnbmFsIG5vLW1vcmUtcGFkcy4gRml4ZXMgIzQ1MTAxNS4KCjIwMDctMDYtMjUgMTI6NDY6MDggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IFVwZGF0ZSBkb2NzIHdpdGggY2FwcyBpbmZvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSAgVXBkYXRlIGRvY3Mgd2l0aCBjYXBzIGluZm8uCgoyMDA3LTA2LTI1IDEyOjEzOjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgcG8vUE9URklMRVMuaW46IEFkZCBtb3JlIGZpbGVzIHdpdGggdHJhbnNsYXRhYmxlIHN0cmluZ3MgKCM0NTA4NzgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBwby9QT1RGSUxFUy5pbjoKCSAgQWRkIG1vcmUgZmlsZXMgd2l0aCB0cmFuc2xhdGFibGUgc3RyaW5ncyAoIzQ1MDg3OCkuCgoyMDA3LTA2LTIyIDIwOjIzOjE4ICswMDAwICBKZW5zIEdyYW5zZXVlciA8amVuc2dyQGdteC5uZXQ+CgoJICBnc3QvOiBCdWlsZCBmaXhlcyBmb3IgZ2NjLTIuOXggKG5vIG1pZC1ibG9jayB2YXJpYWJsZSBkZWNsYXJhdGlvbnMgZXRjLikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSmVucyBHcmFuc2V1ZXIgIDxqZW5zZ3IgYXQgZ214IG5ldD4KCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuYzoKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9wdXNoX3NvcnRlZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6IChnc3Rfc3dpdGNoX2NoYWluKToKCSAgQnVpbGQgZml4ZXMgZm9yIGdjYy0yLjl4IChubyBtaWQtYmxvY2sgdmFyaWFibGUgZGVjbGFyYXRpb25zIGV0Yy4pLgoJICBGaXhlcyAjNDUwMTg1LgoKMjAwNy0wNi0yMiAxNDoyNjozNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBNQUlOVEFJTkVSUzogVXBkYXRpbmcgYWxsIHRoZSBtYWludGFpbmVycyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBNQUlOVEFJTkVSUzoKCSAgVXBkYXRpbmcgYWxsIHRoZSBtYWludGFpbmVycyBmaWxlcwoKMjAwNy0wNi0yMiAxMDoxMjoxNSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIEZpeCBtZW1vcnkgbGVha3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzogKGdzdF9mbGFjX3RhZ19pbml0KToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGRlaW50ZXJsZWF2ZV9pbml0KSwKCSAgKGRlaW50ZXJsZWF2ZV9zaW5rX2xpbmspOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogKGludGVybGVhdmVfaW5pdCk6CgkgICogZ3N0L21lZGlhbi9nc3RtZWRpYW4uYzogKGdzdF9tZWRpYW5faW5pdCk6CgkgICogZ3N0L29sZGNvcmUvZ3N0bXVsdGlmaWxlc3JjLmM6IChnc3RfbXVsdGlmaWxlc3JjX2luaXQpOgoJICBGaXggbWVtb3J5IGxlYWtzLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM2RlbXV4LmM6IChwYWRfYWRkZWRfY2IpOgoJICBSZW1vdmUgdW51c2VkIHZhcmlhYmxlLgoKMjAwNy0wNi0yMSAxMDo0ODoxMCArMDAwMCAgRGFtaWVuIENhcmJlcnkgPGRhbWllbi5jYXJiZXJ5QHN1bi5jb20+CgoJICBleHQvZ2NvbmYvZ2NvbmYuaDogTWFrZSB0aGUgcHJvdG90eXBlIG9mIGdzdF9nY29uZl9nZXRfa2V5X2Zvcl9zaW5rX3Byb2ZpbGUgbWF0Y2ggdGhlIGltcGxlbWVudGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2NvbmYvZ2NvbmYuaDoKCSAgTWFrZSB0aGUgcHJvdG90eXBlIG9mIGdzdF9nY29uZl9nZXRfa2V5X2Zvcl9zaW5rX3Byb2ZpbGUKCSAgbWF0Y2ggdGhlIGltcGxlbWVudGF0aW9uLgoJICBQYXRjaCBieTogRGFtaWVuIENhcmJlcnkgPGRhbWllbiBkb3QgY2FyYmVyeSBhdCBzdW4gZG90IGNvbT4KCSAgRml4ZXM6ICM0NDk3NDcKCjIwMDctMDYtMjAgMTI6NTY6MTIgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9ydHAvZ3N0cnRwZGVwYXkuYzogRml4IGRlc2NyaXB0aW9uIC0gcnRwZGVwYXkgaXMgbm90IGEgcGF5bG9hZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGRlcGF5LmM6CgkgIEZpeCBkZXNjcmlwdGlvbiAtIHJ0cGRlcGF5IGlzIG5vdCBhIHBheWxvYWRlci4KCjIwMDctMDYtMjAgMTA6MTU6MDAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IERvY3VtZW50IHBhcmFtZXRlciBtYXBwaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICBEb2N1bWVudCBwYXJhbWV0ZXIgbWFwcGluZy4KCjIwMDctMDYtMjAgMDg6NTY6MTcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBGaXggbGVha2luZyBidWZmZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9ldmVudCksCgkgIChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgRml4IGxlYWtpbmcgYnVmZmVycy4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVjdHJ1bS5jOiAoc2V0dXBfc3BlY3RydW0pLAoJICAoY2xlYW51cF9zcGVjdHJ1bSksIChHU1RfU1RBUlRfVEVTVCksIChzcGVjdHJ1bV9zdWl0ZSksIChtYWluKToKCSAgQWRkIHNpbXBsZSB0ZXN0IGZvciBzcGVjdHJ1bSBlbGVtZW50LgoKMjAwNy0wNi0yMCAwODoyNjoyMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvOiBBZGQgTUpQRyB0byB0aGUgdmFyaWFudHMgb2YgbW90aW9uIGpwZWcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2Vfc2FtcGxlcyksCgkgIChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgIEFkZCBNSlBHIHRvIHRoZSB2YXJpYW50cyBvZiBtb3Rpb24ganBlZy4KCjIwMDctMDYtMTkgMTY6NDA6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay86IEFkZCBHU1RfT1BUSU9OX0NGTEFHUyB0byBDRkxBR1Mgd2hlbiBidWlsZGluZyB1bml0IHRlc3RzLCBzbyB0aGUgZXJyb3IgZmxhZ3MgYXJlIGluY2x1ZGVkIGFuZCBpdCBlcnJvcnMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9wYW5vcmFtYS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvZmlsdGVyLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2twYXJzZS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBBZGQgR1NUX09QVElPTl9DRkxBR1MgdG8gQ0ZMQUdTIHdoZW4gYnVpbGRpbmcgdW5pdCB0ZXN0cywgc28gdGhlCgkgIGVycm9yIGZsYWdzIGFyZSBpbmNsdWRlZCBhbmQgaXQgZXJyb3JzIG91dCBvbiBjb21waWxlciB3YXJuaW5ncwoJICBmb3IgQ1ZTIGJ1aWxkczsgcmVtb3ZlIHVudXNlZCB2YXJpYWJsZXMgaW4gdmFyaW91cyB1bml0IHRlc3RzLgoKMjAwNy0wNi0xOSAxNDo0ODowMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IFVzZSB0aHJlYWRzYWZlIGluZXRfbnRvcCB0byBjb252ZXJ0IGFuIGlwIG51bWJlciB0byBhIHN0cmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9jb25uZWN0KSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9jbG9zZSksIChydHNwX2Nvbm5lY3Rpb25fZnJlZSk6CgkgIFVzZSB0aHJlYWRzYWZlIGluZXRfbnRvcCB0byBjb252ZXJ0IGFuIGlwIG51bWJlciB0byBhIHN0cmluZy4KCSAgRml4ZXMgIzQ0Nzk2MS4KCSAgRG9uJ3QgbGVhayBmZCAoYW5kIGlwKSB3aGVuIGZyZWVpbmcgYSBjb25uZWN0aW9uIHdpdGhvdXQgZmlyc3QgY2xvc2luZwoJICBpdC4KCjIwMDctMDYtMTkgMTQ6MTE6NDkgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC9xdGRlbXV4L0xFR0FMOgoJICBhZGQgJ0xFR0FMJyBmaWxlIGRlc2NyaWJpbmcgd2h5IHRoaXMgaXMgaW4gLWdvb2QgYW5kIHVuZGVyIHdoYXQgY2lyY3Vtc3RhbmNlcyBpdCBtaWdodCBuZWVkIHRvIG1vdmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgJ0xFR0FMJyBmaWxlIGRlc2NyaWJpbmcgd2h5IHRoaXMgaXMgaW4gLWdvb2QgYW5kIHVuZGVyIHdoYXQKCSAgY2lyY3Vtc3RhbmNlcyBpdCBtaWdodCBuZWVkIHRvIG1vdmUuCgoyMDA3LTA2LTE5IDEwOjQxOjQ5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQmFjayB0byBDVlMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIENWUwoJICAqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSAgQWRkIDAuMTAuNiB0byB0aGUgZG9hcCBmaWxlLgoKPT09IHJlbGVhc2UgMC4xMC42ID09PQoKMjAwNy0wNi0xOSAxMDoyNDo1NSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC42CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZWxlYXNlIDAuMTAuNgoKMjAwNy0wNi0xOCAxNzo1MzoyMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA3LTA2LTE3IDEyOjM1OjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogUmV2ZXJ0IHByZXZpb3VzIGNvbW1pdCBhZ2Fpbiwgc2luY2Ugd2UgYXJlIGZyb3plbiAoc29ycnkpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX2Nvbm5lY3QpLAoJICAocnRzcF9jb25uZWN0aW9uX2ZyZWUpOgoJICBSZXZlcnQgcHJldmlvdXMgY29tbWl0IGFnYWluLCBzaW5jZSB3ZSBhcmUgZnJvemVuIChzb3JyeSkuCgoyMDA3LTA2LTE3IDEyOjI0OjU4ICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IGluZXRfbnRvYSgpIHVzZXMgYSBzdGF0aWMgYnVmZmVyIGludGVybmFsbHksIHNvIHdlIG5lZWQgdG8gY29weSB0aGUgcmV0dXJuZWQgc3RyaW5nIGlmIHdlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqIGF0IGF4aXMgY29tPgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fY29ubmVjdCksCgkgIChydHNwX2Nvbm5lY3Rpb25fZnJlZSk6CgkgIGluZXRfbnRvYSgpIHVzZXMgYSBzdGF0aWMgYnVmZmVyIGludGVybmFsbHksIHNvIHdlIG5lZWQgdG8gY29weSB0aGUKCSAgcmV0dXJuZWQgc3RyaW5nIGlmIHdlIHdhbnQgdG8gc3RvcmUgaXQgZm9yIGxhdGVyICgjNDQ3OTYxKS4KCjIwMDctMDYtMTUgMDk6MTM6NTUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgd2luMzIvdnM2LzogTWFyayAqLmRzcCAmICouZHN3IGFzIGJpbmFyeSBmaWxlcyBhbmQgY29udmVydCB0byBET1MgbGluZSBlbmRpbmdzLCBhcyB0aGV5IGRvbid0IGxvYWQgaW50byBWUzYgY29ycmVjdGx5Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHdpbjMyL3ZzNi9hdXRvZ2VuLmRzcDoKCSAgKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfZ29vZC5kc3c6CgkgICogd2luMzIvdnM2L2xpYmdzdGFsYXcuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhbHBoYS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGFscGhhY29sb3IuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhcGV0YWcuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhdWRpb2Z4LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0YXVwYXJzZS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGF1dG9kZXRlY3QuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhdmkuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RjdXR0ZXIuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3RkcmF3LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0c291bmQuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RlZmZlY3R2LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0Zmx4LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0Z29vbS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGljeWRlbXV4LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0aWQzZGVtdXguZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RpbnRlcmxlYXZlLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0anBlZy5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGxldmVsLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0bWF0cm9za2EuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RtZWRpYW4uZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3Rtb25vc2NvcGUuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RtdWxhdy5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdG11bHRpcGFydC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHF0ZGVtdXguZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RydHAuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RydHNwLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0c21wdGUuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RzcGVleC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHVkcC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHZpZGVvYmFsYW5jZS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHZpZGVvYm94LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0dmlkZW9jcm9wLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0dmlkZW9mbGlwLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0dmlkZW9taXhlci5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHdhdmVmb3JtLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0d2F2ZW5jLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0d2F2cGFyc2UuZHNwOgoJICBNYXJrICouZHNwICYgKi5kc3cgYXMgYmluYXJ5IGZpbGVzIGFuZCBjb252ZXJ0IHRvIERPUyBsaW5lCgkgIGVuZGluZ3MsIGFzIHRoZXkgZG9uJ3QgbG9hZCBpbnRvIFZTNiBjb3JyZWN0bHkgb3RoZXJ3aXNlLgoKMjAwNy0wNi0xNSAwODozMjo1MiArMDAwMCAgVmluY2VudCBUb3JyaSA8dnRvcnJpQHVuaXYtZXZyeS5mcj4KCgkgIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IEZpeCB0aGUgTWluZ1cgYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fY3JlYXRlKSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9jb25uZWN0KToKCSAgRml4IHRoZSBNaW5nVyBidWlsZC4KCSAgUGF0Y2ggQnk6IFZpbmNlbnQgVG9ycmkgPHZ0b3JyaSBhdCB1bml2LWV2cnkgZG90IGZyPgoJICBGaXhlczogIzQ0Njk4MQoKMjAwNy0wNi0xNCAxNDowMzo0MSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB0ZXN0cy86IEh1c2ggdGhlIGJ1aWxkYm90cyB1cAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2ljbGVzLy5jdnNpZ25vcmU6CgkgIEh1c2ggdGhlIGJ1aWxkYm90cyB1cAoKMjAwNy0wNi0xNCAxMjoxNDoyNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBNYWtlIHN1cmUgdG8gZGlzdCBldmVyeXRoaW5nIG5lZWRlZCBmb3Igd2luMzIgYnVpbGRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kaXJlY3RkcmF3L01ha2VmaWxlLmFtOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvd2F2ZWZvcm0vTWFrZWZpbGUuYW06CgkgIE1ha2Ugc3VyZSB0byBkaXN0IGV2ZXJ5dGhpbmcgbmVlZGVkIGZvciB3aW4zMiBidWlsZHMuCgoyMDA3LTA2LTE0IDEwOjIzOjIwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGb3IgQU1SLU5CIHN0cmVhbXMsIGV4cG9ydCB0aGUgQU1SU3BlY2lmaWNCb3ggYXMgY29kZWNfZGF0YSBvbiB0aGUgY2Fwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgRm9yIEFNUi1OQiBzdHJlYW1zLCBleHBvcnQgdGhlIEFNUlNwZWNpZmljQm94IGFzIGNvZGVjX2RhdGEgb24gdGhlCgkgIGNhcHMuCgkgIEZpeGVzICM0NDc0NTgKCjIwMDctMDYtMTMgMTc6MTE6MjQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOiBNYWtlIHN1cmUgd2UgYWxsb2NhdGUgZW5vdWdoIG1lbW9yeSBmb3IgdGhlIGNvZGVjX2RhdGEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6IChnc3RfcnRwX2gyNjRfZGVwYXlfc2V0Y2Fwcyk6CgkgIE1ha2Ugc3VyZSB3ZSBhbGxvY2F0ZSBlbm91Z2ggbWVtb3J5IGZvciB0aGUgY29kZWNfZGF0YS4KCSAgRml4ZXMgIzQ0NzIxMC4KCjIwMDctMDYtMTIgMjE6MDU6MjIgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIHdpbjMyL01BTklGRVNUOiBBZGQgdmlkZW9jcm9wIHByb2plY3QgZmlsZSB0byB0aGUgd2luMzIgbWFuaWZlc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHdpbjMyL01BTklGRVNUOgoJICBBZGQgdmlkZW9jcm9wIHByb2plY3QgZmlsZSB0byB0aGUgd2luMzIgbWFuaWZlc3QuCgkgICogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2dvb2QuZHN3OgoJICBBZGQgcXRkZW11eCx2aWRlb2Nyb3AgYW5kIHdhdmVmb3JtIHByb2plY3RzIHRvIHRoZSB3b3Jrc3BhY2UuCgkgICogd2luMzIvdnM2L2xpYmdzdHF0ZGVtdXguZHNwOgoJICBBZGQgemxpYiB0byB0aGUgbGluayBsaXN0IG9mIHF0ZGVtdXguCgkgICogd2luMzIvdnM2L2xpYmdzdHZpZGVvY3JvcC5kc3A6CgkgIEFkZCBhIHByb2plY3QgZmlsZSBmb3IgdmlkZW9jcm9wLgoKMjAwNy0wNi0xMiAyMDoyMjoyNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBwby9QT1RGSUxFUy5pbjogQWRkIHF0ZGVtdXggZm9yIHRyYW5zbGF0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHBvL1BPVEZJTEVTLmluOgoJICBBZGQgcXRkZW11eCBmb3IgdHJhbnNsYXRpb24KCjIwMDctMDYtMTIgMjA6MTU6MjkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgTW92ZSB2aWRlb2Nyb3AgYW5kIG9zeHZpZGVvIGZyb20gLWJhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSAgKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6CgkgIE1vdmUgdmlkZW9jcm9wIGFuZCBvc3h2aWRlbyBmcm9tIC1iYWQuCgoyMDA3LTA2LTEyIDE5OjM1OjA4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIE1vdmUgcXRkZW11eCBmcm9tIC1iYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgTW92ZSBxdGRlbXV4IGZyb20gLWJhZC4KCSAgKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUgdG8gcmVmbGVjdCBtb3Zpbmcgb2YgcXRkZW11eCBhbmQgd2F2cGFjawoKMjAwNy0wNi0xMiAxOTowMTo0MSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIHdpbjMyL01BTklGRVNUOgoJICBGaXggdHlwbyBpbiB0aGUgY2hhbmdlbG9nIGFuZCBjb21taXQgdGhlIG1hbmlmZXN0IHRvbwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IHR5cG8gaW4gdGhlIGNoYW5nZWxvZyBhbmQgY29tbWl0IHRoZSBtYW5pZmVzdCB0b28KCjIwMDctMDYtMTIgMTg6NTI6MzMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgd2luMzIvTUFOSUZFU1QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogd2luMzIvTUFOSUZFU1QKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmVjdGRyYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJlY3Rzb3VuZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVmb3JtLnhtbDoKCSAgTW92ZSB0aGUgd2F2ZWZvcm0gcGx1Z2luIGZyb20gLWJhZCB0b28uIFVwZGF0ZSB0aGUgaW5zcGVjdCB4bWwKCSAgZmlsZXMgdG8gbWVudGlvbiBQbHVnaW5zIEdvb2QgaW5zdGVhZCBvZiBQbHVnaW5zIEJhZC4KCjIwMDctMDYtMTIgMTM6MzM6NTYgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBSZXR1cm4gYSBjb3B5IG9mIHRoZSBwb29sIGJ1ZmZlciBpZiBhbGwgbW1hcCBidWZmZXJzIGhhdmUgYmVlbiBkZXF1ZXVlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIChnc3RfdjRsMnNyY19ncmFiX2ZyYW1lKTogUmV0dXJuIGEgY29weSBvZiB0aGUgcG9vbCBidWZmZXIgaWYgYWxsCgkgIG1tYXAgYnVmZmVycyBoYXZlIGJlZW4gZGVxdWV1ZWQuCgoyMDA3LTA2LTEyIDExOjIzOjAxICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmMgKGdzdF92NGwyX2J1ZmZlcl9maW5hbGl6ZSkgKGdzdF92NGwyX2J1ZmZlcl9jbGFzc19pbml0LCBnc3RfdjRsMl9idWZmZXJfZ2V0X3R5cGUpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA2LTEyICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYyAoZ3N0X3Y0bDJfYnVmZmVyX2ZpbmFsaXplKQoJICAoZ3N0X3Y0bDJfYnVmZmVyX2NsYXNzX2luaXQsIGdzdF92NGwyX2J1ZmZlcl9nZXRfdHlwZSkKCSAgKGdzdF92NGwyX2J1ZmZlcl9uZXcpOiBCZWhhdmUgbW9yZSBsaWtlIHhpbWFnZXNpbmsncyBidWZmZXJzLCB3aXRoCgkgIGZpbmFsaXphdGlvbiBhbmQgcmVzdXNjaXRhdGlvbi4gTm8gbG9uZ2VyIHB1YmxpYy4KCSAgKGdzdF92NGwyX2J1ZmZlcl9wb29sX2ZpbmFsaXplLCBnc3RfdjRsMl9idWZmZXJfcG9vbF9pbml0KQoJICAoZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfY2xhc3NfaW5pdCwgZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfZ2V0X3R5cGUpCgkgIChnc3RfdjRsMl9idWZmZXJfcG9vbF9uZXcsIGdzdF92NGwyX2J1ZmZlcl9wb29sX2FjdGl2YXRlKQoJICAoZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfZGVzdHJveSk6IE1ha2UgdGhlIHBvb2wgZm9sbG93IGNvbW1vbgoJICBtaW5pb2JqZWN0IHNlbWFudGljcywgYW5kIGJlIHRocmVhZHNhZmUuCgkgIChnc3RfdjRsMnNyY19xdWV1ZV9mcmFtZSk6IFJlbW92ZSB0aGlzIGZ1bmN0aW9uLCBhcyB3ZSBqdXN0IGNhbGwKCSAgdGhlIGlvY3RscyBkaXJlY3RseSBpbiB0aGUgdHdvIHBsYWNlcyB3aGVyZSB3ZSBxdWV1ZSBidWZmZXJzLgoJICAoZ3N0X3Y0bDJzcmNfZ3JhYl9mcmFtZSk6IFJldHVybiBhIGZsb3dyZXR1cm4gYW5kIGZpbGwgdGhlIGJ1ZmZlcgoJICBkaXJlY3RseS4KCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfaW5pdCk6IFVzZSB0aGUgbmV3IGJ1ZmZlcl9wb29sX25ldyBmdW5jdGlvbgoJICB0byBhbGxvY2F0ZSB0aGUgcG9vbCwgd2hpY2ggYWxzbyBwcmVhbGxvY2F0ZXMgdGhlIEdzdEJ1ZmZlcnMuCgkgIChnc3RfdjRsMnNyY19jYXB0dXJlX3N0YXJ0KTogQ2FsbCBidWZmZXJfcG9vbF9hY3RpdmF0ZSBpbnN0ZWFkIG9mCgkgIHF1ZXVlaW5nIHRoZSBmcmFtZXMgZGlyZWN0bHkuCgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oIChzdHJ1Y3QgX0dzdFY0bDJCdWZmZXJQb29sKTogTWFrZSB0aGlzIGEKCSAgcmVhbCBNaW5pT2JqZWN0IGluc3RlYWQgb2Ygcm9sbGluZyBvdXIgb3duIHJlZmNvdW50aW5nIGFuZAoJICBmaW5hbGl6aW5nLiBHaXZlIGl0IGEgbG9jay4KCSAgKHN0cnVjdCBfR3N0VjRsMkJ1ZmZlcik6IFJlbW92ZSBvbmUgaW50ZXJtZWRpYXJ5IG9iamVjdCwgaGF2aW5nCgkgIHRoZSBidWZmZXJzIGhvbGQgdGhlIHN0cnVjdCB2NGwyX2J1ZmZlciBkaXJlY3RseS4KCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmMgKGdzdF92NGwyc3JjX3NldF9jYXBzKTogUGFzcyB0aGUgY2FwcyB0bwoJICBjYXB0dXJlX2luaXQgc28gdGhhdCBpdCBjYW4gc2V0IHRoZW0gb24gdGhlIGJ1ZmZlcnMgdGhhdCBpdCB3aWxsCgkgIGNyZWF0ZS4KCSAgKGdzdF92NGwyc3JjX2dldF9yZWFkKTogRm9yIGJldHRlciBvciBmb3Igd29yc2UsIGluY2x1ZGUgdGhlCgkgIHRpbWVzdGFtcGluZyBhbmQgb2Zmc2V0dGluZyBjb2RlIGhlcmU7IHJlYWxseSB3ZSBzaG91bGQgYmUgdXNpbmcKCSAgYnVmZmVyYWxsb2MgdGhvdWdoLgoJICAoZ3N0X3Y0bDJzcmNfZ2V0X21tYXApOiBKdXN0IG1ha2UgZ3JhYl9mcmFtZSByZXR1cm4gb25lIG9mIG91cgoJICBwcmVhbGxvY2F0ZWQsIG1tYXAnZCBidWZmZXJzLgoKMjAwNy0wNi0xMSAxMTo0MTo1NiArMDAwMCAgZGFuaWVsIGZpc2NoZXIgPGRhbkBmM2MuY29tPgoKCSAgc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogQWN0dWFsbHkgdXNlIHRoZSBkaXNwbGF5X25hbWUgcHJvcGVydHkgc28gdGhhdCB3ZSBjYW4gZHVtcCBhbnkgYXZhaWxhYmxlIFggZGlzcGxheS4gRml4ZXMgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogZGFuaWVsIGZpc2NoZXIgPGRhbiBhdCBmM2MgZG90IGNvbT4KCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZV9zcmNfc3RhcnQpLAoJICAoZ3N0X3hpbWFnZV9zcmNfZ2V0X2NhcHMpOgoJICBBY3R1YWxseSB1c2UgdGhlIGRpc3BsYXlfbmFtZSBwcm9wZXJ0eSBzbyB0aGF0IHdlIGNhbiBkdW1wIGFueQoJICBhdmFpbGFibGUgWCBkaXNwbGF5LiBGaXhlcyAjNDQ1OTA1LgoKMjAwNy0wNi0xMSAxMDoyMToxMyArMDAwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLm15b2hhbmVuQG5va2lhLmNvbT4KCgkgIGdzdC9ydHAvOiBBZGQgbWlzc2luZyByYXRlIGZpZWxkcyB0byBjYXBzLiBGaXhlcyAjNDQxMTE4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRvbW1pIE15w7Zow6RuZW4gIDxleHQtdG9tbWkgZG90IG15b2hhbmVuIGF0IG5va2lhIGRvdCBjb20+CgkgICogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzogKGdzdF9ydHBfcGNtYV9kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOiAoZ3N0X3J0cF9wY211X2RlcGF5X3NldGNhcHMpOgoJICBBZGQgbWlzc2luZyByYXRlIGZpZWxkcyB0byBjYXBzLiBGaXhlcyAjNDQxMTE4LgoKMjAwNy0wNi0xMCAyMToxNDoxMSArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgd2luMzIvOiBBZGQgRGlyZWN0U291bmQgYW5kIERpcmVjdERyYXcgc2lua3MgcHJvamVjdCBmaWxlcyB0byB3b3Jrc3BhY2UgYW5kIHNvbHV0aW9uIGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfZ29vZC5kc3c6CgkgICogd2luMzIvdnM4L2dzdC1wbHVnaW5zLWdvb2Quc2xuOgoJICBBZGQgRGlyZWN0U291bmQgYW5kIERpcmVjdERyYXcgc2lua3MgcHJvamVjdCBmaWxlcyB0bwoJICB3b3Jrc3BhY2UgYW5kIHNvbHV0aW9uIGZpbGVzLgoKMjAwNy0wNi0xMCAxMDo1MzoyNiArMDAwMCAgSm9zaCBDb2Fsc29uIDx4ZmxhY0B5YWhvby5jb20+CgoJICBBZGQgc3VwcG9ydCBmb3IgZmxhYyA+PSAxLjEuMyB3aGljaCBjaGFuZ2VkIHRoZSBBUEkuIEZpeGVzIGJ1ZyAjMzg1ODg3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvc2ggQ29hbHNvbiA8eGZsYWMgYXQgeWFob28gZG90IGNvbT4sCgkgIHVwZGF0ZWQgYnkgQWxleGlzIEJhbGxpZXIgPGFiYWxsaWVyIGF0IGdlbnRvbyBkb3Qgb3JnPjoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX3Jlc2V0X2RlY29kZXJzKSwKCSAgKGdzdF9mbGFjX2RlY19zZXR1cF9zZWVrYWJsZV9kZWNvZGVyKSwKCSAgKGdzdF9mbGFjX2RlY19zZXR1cF9zdHJlYW1fZGVjb2RlciksIChnc3RfZmxhY19kZWNfc2VlayksCgkgIChnc3RfZmxhY19kZWNfdGVsbCksIChnc3RfZmxhY19kZWNfbGVuZ3RoKSwgKGdzdF9mbGFjX2RlY19lb2YpLAoJICAoZ3N0X2ZsYWNfZGVjX3JlYWRfc2Vla2FibGUpLCAoZ3N0X2ZsYWNfZGVjX3JlYWRfc3RyZWFtKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiAoZ3N0X2ZsYWNfZW5jX2luaXQpLAoJICAoZ3N0X2ZsYWNfZW5jX2ZpbmFsaXplKSwgKGdzdF9mbGFjX2VuY19zZXRfbWV0YWRhdGEpLAoJICAoZ3N0X2ZsYWNfZW5jX3Npbmtfc2V0Y2FwcyksIChnc3RfZmxhY19lbmNfdXBkYXRlX3F1YWxpdHkpLAoJICAoZ3N0X2ZsYWNfZW5jX3NlZWtfY2FsbGJhY2spLCAoZ3N0X2ZsYWNfZW5jX3dyaXRlX2NhbGxiYWNrKSwKCSAgKGdzdF9mbGFjX2VuY190ZWxsX2NhbGxiYWNrKSwgKGdzdF9mbGFjX2VuY19zaW5rX2V2ZW50KSwKCSAgKGdzdF9mbGFjX2VuY19jaGFpbiksIChnc3RfZmxhY19lbmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9mbGFjX2VuY19nZXRfcHJvcGVydHkpLCAoZ3N0X2ZsYWNfZW5jX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5oOgoJICBBZGQgc3VwcG9ydCBmb3IgZmxhYyA+PSAxLjEuMyB3aGljaCBjaGFuZ2VkIHRoZSBBUEkuIEZpeGVzIGJ1ZyAjMzg1ODg3LgoKMjAwNy0wNi0wOSAxNTo0MTo1MiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiBSZW1vdmUgd29ya2Fyb3VuZCBmb3IgYnVnICM0MjE1NDMuIFRoaXMgaXMgZml4ZWQgaW4gY29yZSAwLjEwLjEzIGFuZCBub3QgbmVjZXNzYXJ5IGFueW1vLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19zaW5rX3NldF9jYXBzKToKCSAgUmVtb3ZlIHdvcmthcm91bmQgZm9yIGJ1ZyAjNDIxNTQzLiBUaGlzIGlzIGZpeGVkIGluIGNvcmUgMC4xMC4xMyBhbmQKCSAgbm90IG5lY2Vzc2FyeSBhbnltb3JlIGFzIHdlIG5lZWQgYXQgbGVhc3QgdGhhdCBjb3JlIHZlcnNpb24uCgoyMDA3LTA2LTA5IDE1OjMzOjMyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay86IEltcHJvdmUgZGlzY29udCBoYW5kbGluZyBieSBjaGVja2luZyBpZiB0aGUgbmV4dCBXYXZwYWNrIGJsb2NrIGhhcyB0aGUgZXhwZWN0ZWQsIGZvbGxvd2luZyBibG9jayBpbmRleC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX2RlY19jaGFpbik6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfcHVzaF9idWZmZXIpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICBJbXByb3ZlIGRpc2NvbnQgaGFuZGxpbmcgYnkgY2hlY2tpbmcgaWYgdGhlIG5leHQgV2F2cGFjayBibG9jayBoYXMKCSAgdGhlIGV4cGVjdGVkLCBmb2xsb3dpbmcgYmxvY2sgaW5kZXguCgoyMDA3LTA2LTA4IDIwOjIzOjA3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIG1vYXAgaWdub3JlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtb2FwIGlnbm9yZQoKMjAwNy0wNi0wOCAyMDoyMDo1NiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYyAoZ3N0X3J0cF9tcDR2cGF5X2RldGFpbHMpOiBGaXggZWxlbWVudCBkZXNjcmlwdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmMgKGdzdF9ydHBfbXA0dnBheV9kZXRhaWxzKToKCSAgRml4IGVsZW1lbnQgZGVzY3JpcHRpb24uCgoyMDA3LTA2LTA4IDIwOjE5OjU1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIG1vdmUgd2F2cGFjayBwbHVnaW4uICBTZWUgIzM1MjYwNS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgbW92ZSB3YXZwYWNrIHBsdWdpbi4gIFNlZSAjMzUyNjA1LgoKMjAwNy0wNi0wOCAxOTo0NTo0MyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIHRoZSBhbHBoYWJldCB0cmlwcGluZyB1cCBwZW9wbGUgc2luY2UgMTA5MjlCQwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdGhlIGFscGhhYmV0CgkgIHRyaXBwaW5nIHVwIHBlb3BsZSBzaW5jZSAxMDkyOUJDCgoyMDA3LTA2LTA4IDE3OjM3OjAyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIEFkZCBEaXJlY3REcmF3ICYgRGlyZWN0U291bmQgcGx1Z2lucyB0byB0aGUgYnVpbGQgYW5kIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgQWRkIERpcmVjdERyYXcgJiBEaXJlY3RTb3VuZCBwbHVnaW5zIHRvIHRoZSBidWlsZCBhbmQgZG9jcy4KCjIwMDctMDYtMDggMTY6MzE6MTUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmVuYW1lIHRoZSBrZWVwLWFzcGVjdC1yYXRpbyBwcm9wZXJ0eSB0byBmb3JjZS1hc3BlY3QtcmF0aW8gdG8gbWFrZSBpdCBjb25zaXN0ZW50IHdpdGggeHZpbWFnZXNpbmsgYW5kIHhpbWFnZXNpbmsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2NsYXNzX2luaXQpOgoJICBSZW5hbWUgdGhlIGtlZXAtYXNwZWN0LXJhdGlvIHByb3BlcnR5IHRvIGZvcmNlLWFzcGVjdC1yYXRpbyB0byBtYWtlCgkgIGl0IGNvbnNpc3RlbnQgd2l0aCB4dmltYWdlc2luayBhbmQgeGltYWdlc2luay4KCjIwMDctMDYtMDggMTA6NDM6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvOiBXaGVuIG9wZXJhdGluZyBpbiBwdWxsIG1vZGUsIGVycm9yIG91dCBjb3JyZWN0IG9uIG5vdC1saW5rZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9sb29wKToKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAodXNlcl9yZWFkX2RhdGEpLCAoZ3N0X3BuZ2RlY190YXNrKToKCSAgV2hlbiBvcGVyYXRpbmcgaW4gcHVsbCBtb2RlLCBlcnJvciBvdXQgY29ycmVjdCBvbiBub3QtbGlua2VkLgoKMjAwNy0wNi0wOCAwODoxMjo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6IERlZmF1bHQgdG8geHZpbWFnZXNpbmsgaW5zdGVhZCBvZiBhdXRvdmlkZW9zaW5rIHdoaWxlIGF1dG92aWRlb3NpbmsvZ2hvc3RwYWRzL3doYXRldmVyIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOiAobWFpbik6CgkgIERlZmF1bHQgdG8geHZpbWFnZXNpbmsgaW5zdGVhZCBvZiBhdXRvdmlkZW9zaW5rIHdoaWxlCgkgIGF1dG92aWRlb3NpbmsvZ2hvc3RwYWRzL3doYXRldmVyIGRvbid0IGhhbmRsZSB0aGUgd2F5IHdlIHVzZSBpdCBpbgoJICB0aGUgd2F5IHdlIGV4cGVjdCBpdCB0by4KCjIwMDctMDYtMDYgMTA6MTk6MTcgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmMgKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDYtMDYgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jIChnc3RfdjRsMnNyY19wcm9iZV9jYXBzX2Zvcl9mb3JtYXQpCgkgIChnc3RfdjRsMnNyY19wcm9iZV9jYXBzX2Zvcl9mb3JtYXRfYW5kX3NpemUpOiBPbmx5IHByb2JlIGZvcgoJICBmb3JtYXQgYW5kIHNpemUgaWYgdGhlIGlvY3RscyBhcmUgZGVmaW5lZDsgc2hvdWxkIGZpeCBjb21waWxhdGlvbgoJICBvbiBMaW51eCA8IDIuMTYuMTkuCgoyMDA3LTA2LTA2IDA4OjUzOjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IFByaW50ZiBmaXhlcyBpbiBkZWJ1ZyBzdGF0ZW1lbnRzOyB1c2UgTE9HIGxldmVsIGZvciBkZWJ1ZyBzdGF0ZW1lbnRzIHRoYXQgYXJlIHByaW50ZWQgZm9yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiAoZ3N0X3ZpZGVvX2JveF9heXV2X2k0MjApOgoJICBQcmludGYgZml4ZXMgaW4gZGVidWcgc3RhdGVtZW50czsgdXNlIExPRyBsZXZlbCBmb3IgZGVidWcgc3RhdGVtZW50cwoJICB0aGF0IGFyZSBwcmludGVkIGZvciBlYWNoIGFuZCBldmVyeSBmcmFtZTsgY29udmVydCBjKysgY29tbWVudHMgdG8KCSAgQy1zdHlsZSBjb21tZW50czsgbm90IG11Y2ggcG9pbnQgdXNpbmcgZ190cnlfbWFsbG9jKCkgaWYgd2UgdGhlbiBub3QKCSAgZXZlbiBjaGVjayB0aGUgcmV0dXJuIHZhbHVlLgoKMjAwNy0wNi0wNSAxNjozMjoxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQnVtcCByZXF1aXJlbWVudHMgdG8gcmVsZWFzZWQgdmVyc2lvbnMgKGNvcmUgYW5kIGJhc2UgMC4xMC4xMykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCByZXF1aXJlbWVudHMgdG8gcmVsZWFzZWQgdmVyc2lvbnMgKGNvcmUgYW5kIGJhc2UgMC4xMC4xMykuCgkgICogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6IChnc3RfaWN5ZGVtdXhfdW5pY29kaWZ5KToKCSAgVXNlIGdzdF90YWdfdXRmOF9mcm9tX2ZyZWVmb3JtX3N0cmluZygpIGZyb20gbGliZ3N0dGFnIGluc3RlYWQgb2YKCSAgb3duIGltcGxlbWVudGF0aW9uLgoKMjAwNy0wNi0wNSAxNDoxNzoyNSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jIChnc3RfdjRsMnNyY19zdGFydCwgZ3N0X3Y0bDJzcmNfc3RvcCk6IEFkZCBzb21lIHVzZWxlc3MgY29tbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA2LTA1ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYyAoZ3N0X3Y0bDJzcmNfc3RhcnQsIGdzdF92NGwyc3JjX3N0b3ApOiBBZGQKCSAgc29tZSB1c2VsZXNzIGNvbW1lbnRzLgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYyAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9pbml0KTogRG9uJ3QgcXVldWUKCSAgZnJhbWVzIGJlZm9yZSBjYWxsaW5nIFNUUkVBTU9OLCB0aGF0IG1pZ2h0IGxlYXZlIHRoZW0gaW4gYSBzdGF0ZQoJICB3aGVyZSB0aGV5IGNhbid0IGJlIGRlcXVldWVkIGlmIHdlIGdvIGJhY2sgdG8gTlVMTCB3aXRob3V0IGNhbGxpbmcKCSAgU1RSRUFNT04sIGFjY29yZGluZyB0byB0aGUgZG9jcy4KCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfc3RhcnQpOiBFbnF1ZXVlIGJ1ZmZlcnMgaGVyZSBpbnN0ZWFkLCByaWdodAoJICBiZWZvcmUgd2UgY2FsbCBTVFJFQU1PTi4KCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfZGVpbml0KTogUmVtb3ZlIGNyYWNrIHRvIHdvcmsgYXJvdW5kIGRlcXVldWUKCSAgZmFpbHVyZXMuIChGb3IgbWUgdGhpcyBjb2RlIGh1bmcuKSBUaGUgcG9vbCByZWZjb3VudGluZyBpcyBzdGlsbAoJICBjcmFjazsgYWRkZWQgYSBub3RlIHRvIHRoYXQgZWZmZWN0LgoKMjAwNy0wNi0wNSAwOToxMTo0MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IEFkZCBzdXBwb3J0IGZvciBtYXBwaW5nIGdzdCBzdHJ1Y3R1cmUgbmFtZXMgdG8gdGhlIE1JTUUgdHlwZSBlcXVpdmFsZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiAoZ3N0X211bHRpcGFydF9tdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfbXVsdGlwYXJ0X211eF9nZXRfbWltZSksIChnc3RfbXVsdGlwYXJ0X211eF9jb2xsZWN0ZWQpOgoJICBBZGQgc3VwcG9ydCBmb3IgbWFwcGluZyBnc3Qgc3RydWN0dXJlIG5hbWVzIHRvIHRoZSBNSU1FIHR5cGUgZXF1aXZhbGVudC4KCSAgSW1wbGVtZW50ZWQgZm9yIGF1ZGlvL3gtbXVsYXctPmF1ZGlvL2Jhc2ljLiBGaXhlcyAjNDQyODc0LgoKMjAwNy0wNi0wMyAxMToyMTo0NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3dhdmVuYy9nc3R3YXZlbmMuKjogUHJvcGVybHkgd3JpdGUgd2F2IGZpbGVzIHdpdGggd2lkdGghPWRlcHRoIGJ5IGhhdmluZyB0aGUgZGVwdGggbW9zdCBzaWduaWZpY2FudCBieXRlcyBzZXQgYW5kLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IChnc3Rfd2F2ZW5jX2NyZWF0ZV9oZWFkZXJfYnVmKSwKCSAgKGdzdF93YXZlbmNfc2lua19zZXRjYXBzKSwgKGdzdF93YXZlbmNfZm9ybWF0X3NhbXBsZXMpLAoJICAoZ3N0X3dhdmVuY19jaGFpbiksIChnc3Rfd2F2ZW5jX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuaDoKCSAgUHJvcGVybHkgd3JpdGUgd2F2IGZpbGVzIHdpdGggd2lkdGghPWRlcHRoIGJ5IGhhdmluZyB0aGUgZGVwdGggbW9zdAoJICBzaWduaWZpY2FudCBieXRlcyBzZXQgYW5kIGFsbCBvdGhlcnMgemVyby4gRml4ZXMgIzQ0MjUzNS4KCjIwMDctMDYtMDEgMTM6NTI6MTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiBBZGQgaW5jbHVkZSB0byBtYWtlIGJ1aWxkYm90IGhhcHB5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOgoJICBBZGQgaW5jbHVkZSB0byBtYWtlIGJ1aWxkYm90IGhhcHB5LgoKMjAwNy0wNi0wMSAxMzowNzoxMSArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRzcC86IEltcHJvdmVzIHZlcnNpb24gY2hlY2tpbmcsIGFsbG93aW5nIGFuIFJUU1Agc2VydmVyIHRvIHJlcGx5IHdpdGggIjUwNQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFBldGVyIEtqZWxsZXJzdGVkdCAgPHBraiBhdCBheGlzIGNvbT4KCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX2NyZWF0ZSksCgkgIChydHNwX2Nvbm5lY3Rpb25fY29ubmVjdCksIChhZGRfZGF0ZV9oZWFkZXIpLAoJICAocnRzcF9jb25uZWN0aW9uX3NlbmQpLCAocGFyc2VfcmVzcG9uc2Vfc3RhdHVzKSwKCSAgKHBhcnNlX3JlcXVlc3RfbGluZSksIChwYXJzZV9saW5lKSwgKHJ0c3BfY29ubmVjdGlvbl9yZWNlaXZlKToKCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5jOiAocnRzcF92ZXJzaW9uX2FzX3RleHQpOgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmg6CgkgICogZ3N0L3J0c3AvcnRzcG1lc3NhZ2UuYzogKGtleV92YWx1ZV9mb3JlYWNoKSwKCSAgKHJ0c3BfbWVzc2FnZV9pbml0X3JlcXVlc3QpLCAocnRzcF9tZXNzYWdlX2luaXRfcmVzcG9uc2UpLAoJICAocnRzcF9tZXNzYWdlX3JlbW92ZV9oZWFkZXIpLCAocnRzcF9tZXNzYWdlX2FwcGVuZF9oZWFkZXJzKSwKCSAgKHJ0c3BfbWVzc2FnZV9kdW1wKToKCSAgKiBnc3QvcnRzcC9ydHNwbWVzc2FnZS5oOgoJICBJbXByb3ZlcyB2ZXJzaW9uIGNoZWNraW5nLCBhbGxvd2luZyBhbiBSVFNQIHNlcnZlciB0byByZXBseSB3aXRoICI1MDUKCSAgUlRTUCBWZXJzaW9uIG5vdCBzdXBwb3J0ZWQuCgkgIEFkZHMgYSBEYXRlIGhlYWRlciB0byBhbGwgbWVzc2FnZXMuCgkgIFJlcGxpZXMgd2l0aCBSVFNQX0VQQVJTRSByYXRoZXIgdGhhbiBSVFNQX0VJTlZBTElEIGluIGNhc2VzIHdoZXJlIHdlCgkgIHdhbnQgdG8gYmUgYWJsZSB0byBzZW5kIGEgcmVzcG9uc2UgZXZlbiBpZiBzb21ldGhpbmcgaW4gdGhlIHJlcXVlc3Qgd2FzCgkgIGludmFsaWQuIEVJTlZBTCBpcyBvbmx5IHVzZWQgd2hlbiBwYXNzaW5nIHdyb25nIGFyZ3VtZW50cyB0byBmdW5jdGlvbnMuCgkgIERvIG5vdCBoYW5kbGUgYW4gaW52YWxpZCBtZXRob2QgaW4gcGFyc2VfcmVxdWVzdF9saW5lKCkuIERlZmVyIHRoaXMgdG8KCSAgdGhlIGNhbGxlciBzbyBpdCBjYW4gcmVzcG9uZCB3aXRoICI0MDUgTWV0aG9kIE5vdCBBbGxvd2VkIi4KCSAgSW1wcm92ZXMgcGFyc2luZyBvZiB0aGUgdGltZW91dCBwYXJhbWV0ZXIgdG8gdGhlIFNlc3Npb24gaGVhZGVyLAoJICBhbGxvd2luZyB3aGl0ZXNwYWNlIGFmdGVyIHRoZSBzZW1pY29sb24uCgkgIEF2b2lkcyBhIGNvbXBpbGVyIHdhcm5pbmcgZHVlIHRvIHZhcmlhYmxlcyBzaGFkb3dpbmcgYSBmdW5jdGlvbiBhcmd1bWVudC4KCjIwMDctMDYtMDEgMTE6MTY6MTcgKzAwMDAgIERhbmllbCBDaGFybGVzIDxkY2hhcmxlc0B0aS5jb20+CgoJICBnc3QvcnRwLzogQWRkIHN1cHBvcnQgZm9yIEFNUi1XQi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIFBhdGNoIGJ5OiBEYW5pZWwgQ2hhcmxlcyA8ZGNoYXJsZXMgYXQgdGkgZG90IGNvbT4KCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6IChnc3RfcnRwX2Ftcl9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfYW1yX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOiAoZ3N0X3J0cF9hbXJfcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX2Ftcl9wYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX2Ftcl9wYXlfaW5pdCksCgkgIChnc3RfcnRwX2Ftcl9wYXlfc2V0Y2FwcyksIChnc3RfcnRwX2Ftcl9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJwYXkuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIEFNUi1XQi4KCSAgU21hbGwgY2xlYW51cHMgc3VjaCBhcyB1c2luZyBCT0lMRVJQTEFURS4KCjIwMDctMDUtMzEgMTU6NTc6MDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9ydHNwZXh0d21zLmM6IEZpeCBjb21waWxlIHdhcm5pbmcgd2hlbiBkZWJ1ZyBpcyBkaXNhYmxlZCBhcyBzcG90dGVkIGJ1IFNhdXIgb24gSVJDLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9ydHNwZXh0d21zLmM6IChydHNwX2V4dF93bXNfY29uZmlndXJlX3N0cmVhbSk6CgkgIEZpeCBjb21waWxlIHdhcm5pbmcgd2hlbiBkZWJ1ZyBpcyBkaXNhYmxlZCBhcyBzcG90dGVkIGJ1IFNhdXIgb24gSVJDLgoKMjAwNy0wNS0zMCAxNDo1Nzo0NCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC4qOiBSZXZlcnQgc29tZSB1bmludGVuZGVkIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA1LTMwICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmMgKGdzdF92NGwyX29iamVjdF9uZXcpOiBSZXZlcnQgc29tZQoJICB1bmludGVuZGVkIGNoYW5nZXMuCgoyMDA3LTA1LTMwIDE0OjQwOjUzICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLio6IFN0b3JlIHRoZSBmb3JtYXQgbGlzdCBpbiB0aGUgb3JkZXIgdGhhdCB0aGUgZHJpdmVyIGdpdmVzIGl0IHRvIHVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wNS0zMCAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jIChnc3RfdjRsMnNyY19maWxsX2Zvcm1hdF9saXN0KTogU3RvcmUKCSAgdGhlIGZvcm1hdCBsaXN0IGluIHRoZSBvcmRlciB0aGF0IHRoZSBkcml2ZXIgZ2l2ZXMgaXQgdG8gdXMuCgkgIChnc3RfdjRsMnNyY19wcm9iZV9jYXBzX2Zvcl9mb3JtYXRfYW5kX3NpemUpCgkgIChnc3RfdjRsMnNyY19wcm9iZV9jYXBzX2Zvcl9mb3JtYXQpOiBOZXcgZnVuY3Rpb25zLCBmaWxsIEdzdENhcHMKCSAgYmFzZWQgb24gdGhlIGNhcGFiaWxpdGllcyBvZiB0aGUgZGV2aWNlLgoJICAoZ3N0X3Y0bDJzcmNfZ3JhYl9mcmFtZSk6IFVwZGF0ZSBmb3Igb2JqZWN0IHZhcmlhYmxlIHJlbmFtaW5nLgoJICAoZ3N0X3Y0bDJzcmNfc2V0X2NhcHR1cmUpOiBVcGRhdGUgdG8gYmUgc3RyaWN0IGluIGl0cyBwYXJhbWV0ZXJzLAoJICBhcyBpbiB0aGUgc2V0X2NhcHMgYmVsb3cuCgkgIChnc3RfdjRsMnNyY19jYXB0dXJlX2luaXQpOiBVcGRhdGUgZm9yIG9iamVjdCB2YXJpYWJsZSByZW5hbWluZywKCSAgYW5kIHJlZmxvdy4KCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfc3RhcnQsIGdzdF92NGwyc3JjX2NhcHR1cmVfc3RvcCkKCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfZGVpbml0KTogVXBkYXRlIGZvciBvYmplY3QgdmFyaWFibGUgcmVuYW1pbmcuCgkgIChnc3RfdjRsMnNyY191cGRhdGVfZnBzLCBnc3RfdjRsMnNyY19zZXRfZnBzKQoJICAoZ3N0X3Y0bDJzcmNfZ2V0X2Zwcyk6IFJlbW92ZTsgdGhlc2UgZnVuY3Rpb25zIGRvbid0IGhhdmUgbXVjaAoJICBtZWFuaW5nIG91dHNpZGUgb2YgYW4gYXRvbWljIHNldF9jYXBzIG1ldGhvZC4KCSAgKGdzdF92NGwyc3JjX2J1ZmZlcl9uZXcpOiBEb24ndCBzZXQgYnVmZmVyIGR1cmF0aW9uLCBpdCBpcyBub3QKCSAga25vd24uCgkgICogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmMgKGdzdF92NGwyX3R1bmVyX3NldF9jaGFubmVsKTogUmVtb3ZlCgkgIGNhbGwgdG8gdXBkYXRlX2Zwczsgbm90IHN1cmUgYWJvdXQgdGhpcyBjaGFuZ2UuCgkgIChnc3RfdjRsMl90dW5lcl9zZXRfbm9ybSk6IFdvcmsgYXJvdW5kIHRoZSBmYWN0IHRoYXQgZm9yIHRoZQoJICBtb21lbnQgd2UgZG9uJ3QgaGF2ZSBhbiB1cGRhdGVfZnBzX2Z1bmMuCgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oIChzdHJ1Y3QgX0dzdFY0bDJTcmMpOiBEb24ndCBwdXQgdjRsMgoJICBzdHJ1Y3R1cmVzIGluIHRoZSBvYmplY3QsIGp1c3Qgc3RvcmUgd2hhdCB3ZSBuZWVkLiBEbyBzdG9yZSB0aGUKCSAgcHJvYmVkIGNhcHMgb2YgdGhlIGRldmljZS4gRG9uJ3Qgc3RvcmUgdGhlIGN1cnJlbnQgZnJhbWUgcmF0ZS4KCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmMgKGdzdF92NGwyc3JjX2luaXQpOiBSZW1vdmUgdGhlCgkgIHVwZGF0ZV9mcHNfZnVuY3Rpb24sIGZvciBub3cuIFVwZGF0ZSBmb3IgbmV3IG9iamVjdCB2YXJpYWJsZQoJICBuYW1pbmcuCgkgIChnc3RfdjRsMnNyY19zZXRfcHJvcGVydHksIGdzdF92NGwyc3JjX2dldF9wcm9wZXJ0eSk6IFVwZGF0ZSBmb3IKCSAgbmV3IG9iamVjdCB2YXJpYWJsZSBuYW1pbmcuCgkgIChnc3RfdjRsMnNyY192NGwyZm91cmNjX3RvX3N0cnVjdHVyZSk6IFJlbmFtZSBmcm9tIC4uLl90b19jYXBzLgoJICAoZ3N0X3Y0bDJfc3RydWN0dXJlX3RvX3Y0bDJmb3VyY2MpOiBSZW5hbWUgZnJvbSAuLi5jYXBzX3RvXy4uLi4KCSAgKGdzdF92NGwyc3JjX2dldF9jYXBzKTogUmV3b3JrIHRvIHByb2JlIHRoZSBkZXZpY2UgZm9yIHN1cHBvcnRlZAoJICBmcmFtZSBzaXplcyBhbmQgZnJhbWUgcmF0ZXMuCgkgIChnc3RfdjRsMnNyY19zZXRfY2Fwcyk6IFJld29yayB0byBiZSBzdHJpY3QgaW4gdGhlIGdpdmVuCgkgIHBhcmFtZXRlcnM6IGlmIHNvbWVvbmUgYXNrcyB1cyB0byBoYXZlIGEgY2VydGFpbiBzaXplIGFuZCByYXRlLAoJICB0aGF0IGlzIHdoYXQgd2UgY29uZmlndXJlLgoJICAoZ3N0X3Y0bDJzcmNfZ2V0X3JlYWQpOiBVcGRhdGUgZm9yIG9iamVjdCB2YXJpYWJsZSBuYW1pbmcuIERvbid0CgkgIGxlYWsgYnVmZmVycyBvbiBzaG9ydCByZWFkcy4KCSAgKGdzdF92NGwyc3JjX2dldF9tbWFwKTogVXBkYXRlIGZvciBvYmplY3QgdmFyaWFibGUgbmFtaW5nLCBhbmQgYWRkCgkgIGNvbW1lbnRzLgoJICAoZ3N0X3Y0bDJzcmNfY3JlYXRlKTogVXBkYXRlIGZvciBvYmplY3QgdmFyaWFibGUgbmFtaW5nLgoKMjAwNy0wNS0zMCAxNDozODo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguKjogUGFyc2Ugc3VidGl0bGUgdGV4dCBzdHJlYW1zIGluc3RlYWQgb2YgZXJyb3Jpbmcgb3V0ICgjNDQyMDM0KS4gU3RpbGwgbmVlZHMgYSBwYXJzZXIgZm9yIHRoZSBzdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2Jhc2VfaW5pdCksCgkgIChnc3RfYXZpX2RlbXV4X3Jlc2V0KSwgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIFBhcnNlIHN1YnRpdGxlIHRleHQgc3RyZWFtcyBpbnN0ZWFkIG9mIGVycm9yaW5nIG91dCAoIzQ0MjAzNCkuIFN0aWxsCgkgIG5lZWRzIGEgcGFyc2VyIGZvciB0aGUgc3VidGl0bGVzIHRvIGFjdHVhbGx5IHNob3cgdXAuCgoyMDA3LTA1LTMwIDEyOjQ2OjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBNYWtlIF9wdXNoX2V2ZW50KCkgcmV0dXJuIFRSVUUgaWYgdGhlIGV2ZW50IGNvdWxkIGJlIHB1c2hlZCBvbiBhdCBsZWFzdCBvbmUgcGFkIGFuZCBub3Qgb25seSBpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcHVzaF9ldmVudCksCgkgIChnc3RfYXZpX2RlbXV4X2xvb3ApOgoJICBNYWtlIF9wdXNoX2V2ZW50KCkgcmV0dXJuIFRSVUUgaWYgdGhlIGV2ZW50IGNvdWxkIGJlIHB1c2hlZCBvbiBhdAoJICBsZWFzdCBvbmUgcGFkIGFuZCBub3Qgb25seSBpZiBpdCBjb3VsZCBiZSBwdXNoZWQgb24gYWxsIHBhZHMsCgkgIG90aGVyd2lzZSB3ZSdsbCBlbmQgdXAgcG9zdGluZyBhbiBlcnJvciBtZXNzYWdlIG9uIEVPUyBpZiBvbmUgb3IKCSAgbW9yZSBzb3VyY2UgcGFkcyBhcmUgbm90IGNvbm5lY3RlZC4KCjIwMDctMDUtMjggMTY6Mzk6MDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0LmM6IFVzZSByZW5hbWVkIFJUUCBiaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuYzoKCSAgVXNlIHJlbmFtZWQgUlRQIGJpbi4KCjIwMDctMDUtMjggMTU6MDE6MzMgKzAwMDAgIERlamFuIFNha2VsxaFhayA8c2FrZGVhbkBnbWFpbC5jb20+CgoJICBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogQWRkIEFZVVYtPkFZVVYgYW5kIEFZVVYtPkk0MjAgZm9ybWF0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBEZWphbiBTYWtlbMWhYWsgPHNha2RlYW4gYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogKGdzdF92aWRlb19ib3hfY2xhc3NfaW5pdCksCgkgIChnc3RfdmlkZW9fYm94X3NldF9wcm9wZXJ0eSksIChnc3RfdmlkZW9fYm94X3RyYW5zZm9ybV9jYXBzKSwKCSAgKHZpZGVvX2JveF9yZWNhbGNfdHJhbnNmb3JtKSwgKGdzdF92aWRlb19ib3hfc2V0X2NhcHMpLAoJICAoZ3N0X3ZpZGVvX2JveF9nZXRfdW5pdF9zaXplKSwgKGdzdF92aWRlb19ib3hfYXBwbHlfYWxwaGEpLAoJICAoZ3N0X3ZpZGVvX2JveF9heXV2X2F5dXYpLCAoZ3N0X3ZpZGVvX2JveF9jbGVhciksIChVVmZsb29yKSwKCSAgKFVWY2VpbCksIChnc3RfdmlkZW9fYm94X2F5dXZfaTQyMCksIChnc3RfdmlkZW9fYm94X2k0MjBfYXl1diksCgkgIChnc3RfdmlkZW9fYm94X2k0MjBfaTQyMCksIChnc3RfdmlkZW9fYm94X3RyYW5zZm9ybSksCgkgIChwbHVnaW5faW5pdCk6CgkgIEFkZCBBWVVWLT5BWVVWIGFuZCBBWVVWLT5JNDIwIGZvcm1hdHMuCgkgIEZpeCBuZWdvdGlhdGlvbiBhbmQgSTQyMC0+QVlVViBjb252ZXJzaW9uLgoJICBGaXhlcyAjNDI5MzI5LgoKMjAwNy0wNS0yNiAxNToyNToxOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiBVc2UgZGlmZmVyZW50IHZhcmlhYmxlcyBmb3IgbmVzdGVkIGZvciBsb29wcyBzbyB0aGF0IHRoZSBvdXRlciBsb29wIGZ1bmN0aW9ucyBwcm9wZXJseSBhbmQgcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogKHNwZWV4X2RlY19jaGFpbl9wYXJzZV9kYXRhKToKCSAgVXNlIGRpZmZlcmVudCB2YXJpYWJsZXMgZm9yIG5lc3RlZCBmb3IgbG9vcHMgc28gdGhhdCB0aGUgb3V0ZXIgbG9vcAoJICBmdW5jdGlvbnMgcHJvcGVybHkgYW5kIHNwZWV4IGZpbGVzIHdpdGggbXVsdGlwbGUgZnJhbWVzIHBlciBidWZmZXIgd29yawoJICBwcm9wZXJseS4KCSAgRml4ZXMgIzQ0MTQwOC4KCjIwMDctMDUtMjUgMjA6NTE6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogRG9uJ3QgbGVhayBuZXdzZWdtZW50IGV2ZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfc2lua19ldmVudCk6CgkgIERvbid0IGxlYWsgbmV3c2VnbWVudCBldmVudHMuCgoyMDA3LTA1LTI1IDIwOjMzOjEwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL01ha2VmaWxlLmFtOiBBZGQgJy1sbScgdG8gTElCUyBmb3IgY2VpbCgpLCBkb24ndCBhc3N1bWUgb25lIG9mIG91ciBkZXBlbmRlbmNpZXMgZHJhZ3MgaXQgaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9NYWtlZmlsZS5hbToKCSAgQWRkICctbG0nIHRvIExJQlMgZm9yIGNlaWwoKSwgZG9uJ3QgYXNzdW1lIG9uZSBvZiBvdXIgZGVwZW5kZW5jaWVzCgkgIGRyYWdzIGl0IGluLgoKMjAwNy0wNS0yNSAxNjowMjo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mbGFjL2dzdGZsYWNlbmMuKjogQ29sbGVjdCBoZWFkZXJzLCBhZGQgInN0cmVhbWhlYWRlciIgZmllbGQgdG8gb3V0cHV0IGNhcHMgYW5kIHNldAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IChnc3RfZmxhY19lbmNfaW5pdCksCgkgIChub3Rnc3RfdmFsdWVfYXJyYXlfYXBwZW5kX2J1ZmZlciksCgkgIChnc3RfZmxhY19lbmNfcHJvY2Vzc19zdHJlYW1faGVhZGVycyksCgkgIChnc3RfZmxhY19lbmNfd3JpdGVfY2FsbGJhY2spLCAoZ3N0X2ZsYWNfZW5jX2NoYWluKSwKCSAgKGdzdF9mbGFjX2VuY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuaDoKCSAgQ29sbGVjdCBoZWFkZXJzLCBhZGQgInN0cmVhbWhlYWRlciIgZmllbGQgdG8gb3V0cHV0IGNhcHMgYW5kIHNldAoJICBCVUZGRVJfSU5fQ0FQUyBmbGFnIG9uIHB1c2hlZCBoZWFkZXIgYnVmZmVycy4gVGhhdCB3YXkgb2dnbXV4CgkgIHByb2R1Y2VzIG91dHB1dCBhY2NvcmRpbmcgdG8gdGhlIG9mZmljaWFsIEZMQUMtdG8tT2dnIG1hcHBpbmcKCSAgaW5zdGVhZCBvZiBjb21wbGV0ZWx5IGJyb2tlbiBmaWxlcy4gRml4ZXMgIzQyNjA0NC4KCjIwMDctMDUtMjUgMTA6NDQ6MTIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0LzogSGFuZGxlIGFuZCBhZGp1c3QgbmV3LXNlZ21lbnQgZXZlbnRzIHNvIHRoYXQgZG93bnN0cmVhbSByZWFsbHkgc2VlcyBhIHN0cmVhbSB3aXRoIHRoZSB0YWcgcGllY2VzIHN0cmlwcGVkIG9mZiB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9pZDNkZW11eF9zZW5kX25ld19zZWdtZW50KSwgKGdzdF9pZDNkZW11eF9jaGFpbiksCgkgIChnc3RfaWQzZGVtdXhfc2lua19ldmVudCk6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4Lmg6CgkgICogZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOiAoZ3N0X3RhZ19kZW11eF9yZXNldCksCgkgIChnc3RfdGFnX2RlbXV4X2NoYWluKSwgKGdzdF90YWdfZGVtdXhfc2lua19ldmVudCksCgkgIChnc3RfdGFnX2RlbXV4X3NlbmRfbmV3X3NlZ21lbnQpOgoJICBIYW5kbGUgYW5kIGFkanVzdCBuZXctc2VnbWVudCBldmVudHMgc28gdGhhdCBkb3duc3RyZWFtIHJlYWxseQoJICBzZWVzIGEgc3RyZWFtIHdpdGggdGhlIHRhZyBwaWVjZXMgc3RyaXBwZWQgb2ZmIHRoZSBmcm9udCBhbmQgYmFjay4KCSAgRml4ZXMgc3RyYW5nZW5lc3MgaW4gc2Vla2luZyB3aGVuIG1wMyBkZWNvZGVycyB1c2UgdGhlIG5ldy1zZWdtZW50CgkgIGJ5dGUgcG9zaXRpb24gdG8gZXN0aW1hdGUgdGhlaXIgY3VycmVudCBwbGF5YmFjayBwb3NpdGlvbiB0aW1lc3RhbXAKCSAgYW5kIHRoZW4gdGhlIGFycml2aW5nIGJ1ZmZlcnMgZG9uJ3QgbWF0Y2ggdXAuCgoyMDA3LTA1LTI1IDEwOjIzOjQ5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzogRG9uJ3QgdW5uZWNlc3NhcmlseSBwZXJmb3JtIGEgUkVBRFktPk5VTEwtPlJFQURZIHRyYW5zaXRpb24gb24gdGhlIGRldGVjdGVkIGF1ZGlvIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6IChnc3RfYXV0b19hdWRpb19zaW5rX2RldGVjdCk6CgkgIERvbid0IHVubmVjZXNzYXJpbHkgcGVyZm9ybSBhIFJFQURZLT5OVUxMLT5SRUFEWSB0cmFuc2l0aW9uIG9uIHRoZQoJICBkZXRlY3RlZCBhdWRpbyBzaW5rIHdoZW4gc3RhcnRpbmcgdXAuIEZpeGVzOiAjNDQwMTI3CgoyMDA3LTA1LTI0IDE3OjAwOjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiBEb24ndCBjcmFzaCBpbiBjaGFpbiBmdW5jdGlvbiBpZiBzZXRjYXBzIGhhc24ndCBiZWVuIGNhbGxlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiAoZ3N0X2ZsYWNfZW5jX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfZmxhY19lbmNfY2hhaW4pOgoJICBEb24ndCBjcmFzaCBpbiBjaGFpbiBmdW5jdGlvbiBpZiBzZXRjYXBzIGhhc24ndCBiZWVuIGNhbGxlZC4KCjIwMDctMDUtMjQgMDg6MzU6MjMgKzAwMDAgIFZpbmNlbnQgVG9ycmkgPHZ0b3JyaUB1bml2LWV2cnkuZnI+CgoJICBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay4qOiBGaXggbW9yZSB3YXJuaW5ncyB3aGVuIGNvbXBpbGluZyB3aXRoIE1pbmdXICgjNDM5OTE0KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBWaW5jZW50IFRvcnJpICA8dnRvcnJpIGF0IHVuaXYtZXZyeSBmcj4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJfYWxsb2MpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19zaG93X2ZyYW1lKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfY2hlY2tfcHJpbWFyeV9zdXJmYWNlKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfY2hlY2tfb2Zmc2NyZWVuX3N1cmZhY2UpLAoJICAoRW51bU1vZGVzQ2FsbGJhY2syKSwgKGdzdF9kaXJlY3RkcmF3X3NpbmtfZ2V0X2RkcmF3Y2FwcyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3N1cmZhY2VfY3JlYXRlKToKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBGaXggbW9yZSB3YXJuaW5ncyB3aGVuIGNvbXBpbGluZyB3aXRoIE1pbmdXICgjNDM5OTE0KS4KCjIwMDctMDUtMjQgMDg6MTQ6MDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IEluaXQgdmFsdWUgdG8gYXZvaWQgaW5maW50ZSBsb29wcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfcGFyc2VfbWV0aG9kcyk6CgkgIEluaXQgdmFsdWUgdG8gYXZvaWQgaW5maW50ZSBsb29wcy4KCjIwMDctMDUtMjQgMDg6MTA6NDIgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0c3AvOiBGaXggZm9yIG5ldyBBUEkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUGV0ZXIgS2plbGxlcnN0ZWR0ICA8cGtqIGF0IGF4aXMgY29tPgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3NldHVwX2F1dGgpLAoJICAoZ3N0X3J0c3BzcmNfdHJ5X3NlbmQpLCAoZ3N0X3J0c3BzcmNfcGFyc2VfbWV0aG9kcyksCgkgIChnc3RfcnRzcHNyY19zZXR1cF9zdHJlYW1zKSwgKGdzdF9ydHNwc3JjX29wZW4pLAoJICAoZ3N0X3J0c3BzcmNfcGxheSk6CgkgIChydHNwX2Nvbm5lY3Rpb25fc2VuZCksIChydHNwX2Nvbm5lY3Rpb25fcmVjZWl2ZSk6CgkgICogZ3N0L3J0c3AvcnRzcGV4dHdtcy5jOiAocnRzcF9leHRfd21zX2FmdGVyX3NlbmQpOgoJICBGaXggZm9yIG5ldyBBUEkuCgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKGFkZF9hdXRoX2hlYWRlciksCgkgIE9ubHkgYWRkIGF1dGhvcmlzYXRpb24gYW5kIHNlc3Npb24gaGVhZGVycyB3aGVuIHNlbmRpbmcgbWVzc2FnZXMuCgkgICogZ3N0L3J0c3AvcnRzcG1lc3NhZ2UuYzogKGtleV92YWx1ZV9mb3JlYWNoKSwgKHJ0c3BfbWVzc2FnZV9pbml0KSwKCSAgKHJ0c3BfbWVzc2FnZV9pbml0X3JlcXVlc3QpLCAocnRzcF9tZXNzYWdlX2luaXRfcmVzcG9uc2UpLAoJICAocnRzcF9tZXNzYWdlX3Vuc2V0KSwgKHJ0c3BfbWVzc2FnZV9hZGRfaGVhZGVyKSwKCSAgKHJ0c3BfbWVzc2FnZV9yZW1vdmVfaGVhZGVyKSwgKHJ0c3BfbWVzc2FnZV9nZXRfaGVhZGVyKSwKCSAgKHJ0c3BfbWVzc2FnZV9hcHBlbmRfaGVhZGVycyksIChkdW1wX2tleV92YWx1ZSksCgkgIChydHNwX21lc3NhZ2VfZHVtcCk6CgkgICogZ3N0L3J0c3AvcnRzcG1lc3NhZ2UuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIG11bHRpcGxlIGhlYWRlcnMgb2YgdGhlIHNhbWUgdHlwZSBieSBzdG9yaW5nIHRoZSBwYXJzZWQKCSAgaGVhZGVycyBpbiBhIEdBcnJheSBpbnN0YWVkIG9mIGEgaGFzaHRhYmxlLgoKMjAwNy0wNS0yMyAyMjo0NDoxMiArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6IFJlbW92ZSBkaXJlY3Rzb3VuZHNpbmsgcHJvcGVydHkgZG9jIGFzIHRoaXMgc2luayB1c2UgdGhlIG1peGVyIGludGVyZmFjZSBub3cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICBSZW1vdmUgZGlyZWN0c291bmRzaW5rIHByb3BlcnR5IGRvYyBhcyB0aGlzIHNpbmsgdXNlIHRoZSBtaXhlcgoJICBpbnRlcmZhY2Ugbm93LgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICBBZGQgaW50ZXJmYWNlcyBpbXBsZW1lbnRlZCBieSBXaW5kb3dzIHNpbmtzLgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgIFJlbW92ZSBkaXJlY3Rzb3VuZHNpbmsgcHJvcGVydHkgIGFuZCBpbXBsZW1lbnQgdGhlIG1peGVyIGludGVyZmFjZS4KCSAgKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdzoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0c291bmQuZHNwOgoJICBVcGRhdGUgcHJvamVjdCBmaWxlcy4KCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3cuY3BwOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvdy5oOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvd2Zha2VzaW5rLmNwcDoKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3dmYWtlc2luay5oOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvd2Zha2VzcmMuY3BwOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvd2Zha2VzcmMuaDoKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3dpbnRlcmZhY2UuY3BwOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvd2ludGVyZmFjZS5oOgoJICAqIHdpbjMyL2NvbW1vbi9saWJnc3Rkc2hvdy5kZWY6CgkgICogd2luMzIvdnM2L2xpYmdzdGRzaG93LmRzcDoKCSAgQWRkIGEgbmV3IGdzdCBsaWJyYXJ5IHdoaWNoIGFsbG93IHRvIGNyZWF0ZSBpbnRlcm5hbCBEaXJlY3QgU2hvdwoJICBncmFwaCAocGlwZWxpbmVzKSB0byB3cmFwIFdpbmRvd3Mgc291cmNlcywgZGVjb2RlcnMgb3IgZW5jb2RlcnMuCgkgIEl0IGluY2x1ZGVzIGEgRGlyZWN0U2hvdyBmYWtlIHNvdXJjZSBhbmQgc2luayBhbmQgdXRpbGl0eSBmdW5jdGlvbnMuCgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmM6CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmg6CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3NyY3dyYXBwZXIuYzoKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93c3Jjd3JhcHBlci5oOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5oOgoJICAqIHdpbjMyL3ZzNi9saWJkc2hvd3NyY3dyYXBwZXIuZHNwOgoJICBBZGQgYSBuZXcgcGx1Z2luIHRvIHdyYXAgRGlyZWN0U2hvdyBzb3VyY2VzIG9uIFdpbmRvd3MuCgkgIEl0IGdldHMgZGF0YSBmcm9tIGFueSB3ZWJjYW0sIGR2IGNhbSwgbWljcm8uIFdlIGNvdWxkIGFkZAoJICB0diB0dW5uZXIgY2FyZCBsYXRlci4KCjIwMDctMDUtMjIgMTE6MTQ6MTMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRGVwZW5kIG9uIGdzdHJlYW1lci0wLjEwLjEyLjEuIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmMgKEFSR19CQU5EX1dJRFRILCBfZG9faW5pdCwgQVJHX0dBSU4sIF9Hcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIERlcGVuZCBvbiBnc3RyZWFtZXItMC4xMC4xMi4xLgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmMgKEFSR19CQU5EX1dJRFRILCBfZG9faW5pdCwgQVJHX0dBSU4sCgkgIF9Hc3RJaXJFcXVhbGl6ZXJCYW5kLCBvYmplY3QsIF9Hc3RJaXJFcXVhbGl6ZXJCYW5kQ2xhc3MsCgkgIHBhcmVudF9jbGFzcywgZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9zZXRfcHJvcGVydHksCgkgIGdzdF9paXJfZXF1YWxpemVyX2JhbmRfY2xhc3NfaW5pdCwgZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9nZXRfdHlwZSwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkX2J5X2luZGV4LAoJICBnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRyZW5fY291bnQsCgkgIGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2ludGVyZmFjZV9pbml0LCBzZXR1cF9maWx0ZXIsCgkgIGdzdF9paXJfZXF1YWxpemVyX2NvbXB1dGVfZnJlcXVlbmNpZXMsCgkgIGdzdF9paXJfZXF1YWxpemVyX3NldF9wcm9wZXJ0eSwgZ3N0X2lpcl9lcXVhbGl6ZXJfZ2V0X3Byb3BlcnR5LAoJICBwbHVnaW5faW5pdCk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuaCAoYXVkaW9maWx0ZXIpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmMgKEFSR19OVU1fQkFORFMsCgkgIGdzdF9paXJfZXF1YWxpemVyX25iYW5kc19iYXNlX2luaXQsIGdzdF9paXJfZXF1YWxpemVyX25iYW5kc19pbml0LAoJICBnc3RfaWlyX2VxdWFsaXplcl9uYmFuZHNfc2V0X3Byb3BlcnR5KToKCSAgVXNlIG5ldyBsb2NraW5nIG1hY3Jvcy4KCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYyAoYnB3c2luY19zZXRfY2Fwcyk6CgkgIEFkZCBmaXhtZS4KCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYyAoU1BFQ1RSVU1fV0lORE9XX0JBU0UsCgkgIFNQRUNUUlVNX1dJTkRPV19MRU4sIGdzdF9zcGVjdHJ1bV9pbml0LCBnc3Rfc3BlY3RydW1fc2V0X3Byb3BlcnR5LAoJICBnc3Rfc3BlY3RydW1fZXZlbnQsIGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICBVc2UgbmV3IGxvY2tpbmcgbWFjcm9zLiBUdXJuIHR3byBmaXhlZCB2YWx1ZXMgaW50byAjZGVmaW5lcy4KCjIwMDctMDUtMjIgMTE6MDM6MzAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06IEFsc28gbG9vayBmb3IgLm0gKG9iamVjdGl2ZWMpIGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIEFsc28gbG9vayBmb3IgLm0gKG9iamVjdGl2ZWMpIGZpbGVzLgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBBZGQgZG9jdW1lbnRhdGlvbiBmb3IgZWxlbWVudCBhbmQgcHJvcGVydGllcy4KCjIwMDctMDUtMjEgMTQ6MDE6MTYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIENoYW5nZUxvZzogQ2hhbmdlTG9nIHN1cmdlcnkuIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmMgKEFSR19CQU5EX1dJRFRILCBfZG9faW5pdCwgQVJHX0dBSU4sIF9Hc3RJaXJFcXVhbGl6ZXJCYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBDaGFuZ2VMb2c6CgkgIENoYW5nZUxvZyBzdXJnZXJ5LgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmMgKEFSR19CQU5EX1dJRFRILCBfZG9faW5pdCwgQVJHX0dBSU4sCgkgIF9Hc3RJaXJFcXVhbGl6ZXJCYW5kLCBvYmplY3QsIF9Hc3RJaXJFcXVhbGl6ZXJCYW5kQ2xhc3MsCgkgIHBhcmVudF9jbGFzcywgZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9zZXRfcHJvcGVydHksCgkgIGdzdF9paXJfZXF1YWxpemVyX2JhbmRfY2xhc3NfaW5pdCwgZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9nZXRfdHlwZSwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkX2J5X2luZGV4LAoJICBnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRyZW5fY291bnQsCgkgIGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2ludGVyZmFjZV9pbml0LCBzZXR1cF9maWx0ZXIsCgkgIGdzdF9paXJfZXF1YWxpemVyX2NvbXB1dGVfZnJlcXVlbmNpZXMsIHBsdWdpbl9pbml0KToKCSAgKiB0ZXN0cy9pY2xlcy9lcXVhbGl6ZXItdGVzdC5jOgoJICBBZGQgZml4bWUgYW5kIGNvbW1lbnQgZm9yIGV4YW1wbGUuCgoyMDA3LTA1LTIxIDEyOjQzOjM3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmMgKGdzdF9zcGVjdHJ1bV9zZXRfcHJvcGVydHksIGdzdF9zcGVjdHJ1bV9ldmVudCwgZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jIChnc3Rfc3BlY3RydW1fc2V0X3Byb3BlcnR5LAoJICBnc3Rfc3BlY3RydW1fZXZlbnQsIGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICBVc2UgbG9jayB0byBwcm90ZWN0IGZyb20gY29uY3VycmVudCBhY2Nlc3MuCgoyMDA3LTA1LTIxIDExOjM3OjE2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IFNwZWNpZnkgYW5kIHVzZSBwcm9wZXJ0aWVzIGFzIHVuc2lnbmVkIGludCB0aGF0IGFyZSBhbiB1bnNpZ25lZCBpbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19jbGFzc19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19zZXRfcHJvcGVydHkpLCAoZ3N0X3dhdnBhY2tfZW5jX2dldF9wcm9wZXJ0eSk6CgkgIFNwZWNpZnkgYW5kIHVzZSBwcm9wZXJ0aWVzIGFzIHVuc2lnbmVkIGludCB0aGF0IGFyZSBhbiB1bnNpZ25lZCBpbnQuCgoyMDA3LTA1LTIxIDExOjE3OjIxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLio6IEZpeHVwIGRvY3MsIG1ha2UgdGhlIGJpdHJhdGUgcHJvcGVydHkgYW4gaW50IGFzIGl0IHNob3VsZCBiZSBhbmQgYWxsb3cgdG8gc2V0IHRoZSBkaWZmZXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2luaXQpLCAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NldF9wcm9wZXJ0eSksIChnc3Rfd2F2cGFja19lbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgIEZpeHVwIGRvY3MsIG1ha2UgdGhlIGJpdHJhdGUgcHJvcGVydHkgYW4gaW50IGFzIGl0IHNob3VsZCBiZSBhbmQKCSAgYWxsb3cgdG8gc2V0IHRoZSBkaWZmZXJlbnQgZXh0cmEgcHJvY2Vzc2luZyBtb2RlcyBpbnN0ZWFkIG9mIG9ubHkKCSAgYWxsb3dpbmcgbm9uZSBhbmQgdGhlIGRlZmF1bHQgb25lLgoKMjAwNy0wNS0yMSAxMDowNzowNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IFNpbmNlIHdlIGRlcGVuZCBvbiAwLjEwLjEzIC1jb3JlLCBvdmVycmlkZSB0aGUgdW5sb2NrX3N0b3Agdm1ldGhvZCBmb3Igc2FmZXIgc2h1dGRvd24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3VkcHNyY19jcmVhdGUpLCAoZ3N0X3VkcHNyY191bmxvY2spLCAoZ3N0X3VkcHNyY191bmxvY2tfc3RvcCk6CgkgIFNpbmNlIHdlIGRlcGVuZCBvbiAwLjEwLjEzIC1jb3JlLCBvdmVycmlkZSB0aGUgdW5sb2NrX3N0b3Agdm1ldGhvZCBmb3IKCSAgc2FmZXIgc2h1dGRvd24uCgoyMDA3LTA1LTIxIDEwOjAzOjQyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRwZGVjLio6IEFkZGVkIHNpZ25hbCBmb3IgYmFja3dhcmRzIGNvbXBhdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6IChnc3RfcnRwX2RlY19jbGFzc19pbml0KToKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuaDoKCSAgQWRkZWQgc2lnbmFsIGZvciBiYWNrd2FyZHMgY29tcGF0LgoKMjAwNy0wNS0yMSAwOTozMjoyNiArMDAwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkgIFVzZSBhdWRpb2NvbnZlcnQgZm9yIGNvbnZlcnRpbmcgZnJvbSBub24tbmF0aXZlIGVuZGlhbm5lc3MgZmxvYXRzIGluIGF1cGFyc2UgaW5zdGVhZCBvZiBkb2luZyBpdCBvdXJzZWxmLiBGaXhlcyAjNDI0NTI3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJlbsOpIFN0YWRsZXIgPG1haWwgYXQgcmVuZXN0YWRsZXIgZG90IGRlPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6IChnc3RfYXVfcGFyc2VfcmVzZXQpLAoJICAoZ3N0X2F1X3BhcnNlX3BhcnNlX2hlYWRlciksIChnc3RfYXVfcGFyc2VfY2hhaW4pOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuaDoKCSAgVXNlIGF1ZGlvY29udmVydCBmb3IgY29udmVydGluZyBmcm9tIG5vbi1uYXRpdmUgZW5kaWFubmVzcyBmbG9hdHMKCSAgaW4gYXVwYXJzZSBpbnN0ZWFkIG9mIGRvaW5nIGl0IG91cnNlbGYuIEZpeGVzICM0MjQ1MjcuCgkgIFRoaXMgbmVlZHMgdGhlIGF1ZGlvY29udmVydCBmcm9tIHBsdWdpbnMtYmFzZSBDVlMuCgoyMDA3LTA1LTIxIDA5OjI5OjMwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOiBGaXggZW51bSByZWdpc3RyYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzogKGdzdF9mcmFnbWVudGF0aW9uX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3J0cF9oMjYzcF9wYXlfZmx1c2gpOgoJICBGaXggZW51bSByZWdpc3RyYXRpb24uCgoyMDA3LTA1LTIxIDA4OjU3OjE4ICswMDAwICBBbnRvaW5lIFRyZW1ibGF5IDxoZXhhMDBAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBoMjYzcHBheS4qOiBBZGQgbmV3IGZyYWdtZW50YXRpb24gbW9kZSBiYXNlIG9uIEdPQiBoZWFkZXJzLiBGaXhlcyAjNDM4OTQwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFudG9pbmUgVHJlbWJsYXkgPGhleGEwMCBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzogKGdzdF9mcmFnbWVudGF0aW9uX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3J0cF9oMjYzcF9wYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX2gyNjNwX3BheV9pbml0KSwKCSAgKGdzdF9ydHBfaDI2M3BfcGF5X3NldF9wcm9wZXJ0eSksIChnc3RfcnRwX2gyNjNwX3BheV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9oMjYzcF9wYXlfZmx1c2gpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuaDoKCSAgQWRkIG5ldyBmcmFnbWVudGF0aW9uIG1vZGUgYmFzZSBvbiBHT0IgaGVhZGVycy4gRml4ZXMgIzQzODk0MC4KCjIwMDctMDUtMjAgMjE6MzE6NTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogQWRkIG1pc3NpbmcgYXVkaW9jb252ZXJ0cyBpbiB0aGUgZXhhbXBsZSBwaXBlbGluZXMgb2Ygd2F2cGFja2VuYy4gQXMgdGhlIHdhdnBhY2sgc3R1ZmYgbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkgIEFkZCBtaXNzaW5nIGF1ZGlvY29udmVydHMgaW4gdGhlIGV4YW1wbGUgcGlwZWxpbmVzIG9mIHdhdnBhY2tlbmMuIEFzCgkgIHRoZSB3YXZwYWNrIHN0dWZmIG5vdyBuZWVkcyBpbnB1dCB3aXRoIDMyIGJpdCB3aWR0aCAoYW5kIHJhbmRvbSBkZXB0aCkKCSAgdGhpcyBpcyBuZWVkZWQgbm93LiBUaGUgZXhhbXBsZSBwaXBlbGluZXMgZm9yIHRoZSBwYXJzZXIgYW5kIGRlY29kZXIKCSAgYXJlIHN0aWxsIGZpbmUuCgoyMDA3LTA1LTIwIDE0OjU5OjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzogQnVuY2ggb2Ygc21hbGwgZml4ZXM6IHJlbW92ZSBzdGF0aWMgZnVuY3Rpb24gdGhhdCBkb2Vzbid0IGV4aXN0OyBkZWNsYXJlIGFub3RoZXIgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6IChnc3RfZGRyYXdzdXJmYWNlX2ZpbmFsaXplKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVyX2FsbG9jKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfZ2V0X2RkcmF3Y2FwcyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3N1cmZhY2VfY3JlYXRlKToKCSAgQnVuY2ggb2Ygc21hbGwgZml4ZXM6IHJlbW92ZSBzdGF0aWMgZnVuY3Rpb24gdGhhdCBkb2Vzbid0IGV4aXN0OwoJICBkZWNsYXJlIGFub3RoZXIgb25lIHRoYXQgZG9lczsgcHJpbnRmIGZvcm1hdCBmaXg7IHVzZSByaWdodCBtYWNybwoJICB3aGVuIHNwZWNpZnlpbmcgZGVidWcgY2F0ZWdvcnk7IHJlbW92ZSBhIGJ1bmNoIG9mIHVudXNlZCB2YXJpYWJsZXM7CgkgICNpZiAwIG91dCBhbiB1bnVzZWQgY2h1bmsgb2YgY29kZSAocGFydGlhbGx5IGZpeGVzICM0Mzk5MTQpLgoKMjAwNy0wNS0yMCAxNDoxNDo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC86IFByaW50ZiBmb3JtYXQgZml4ZXMgKCM0Mzk5MTAsICM0Mzk5MTEpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9wcmVwYXJlX2N1cnJlbnRfc2FtcGxlKToKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOiAoZ3N0X3N3aXRjaF9jaGFpbik6CgkgIFByaW50ZiBmb3JtYXQgZml4ZXMgKCM0Mzk5MTAsICM0Mzk5MTEpLgoKMjAwNy0wNS0yMCAxNDowNTo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogUHJpbnRmIGZvcm1hdCBmaXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2xvb3BfdWRwKToKCSAgUHJpbnRmIGZvcm1hdCBmaXguCgoyMDA3LTA1LTE5IDEwOjAxOjQ1ICswMDAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgQWRkIHJlcGxheWdhaW4gcGxheWJhY2sgZWxlbWVudHMgKCM0MTI3MTApLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJlbsOpIFN0YWRsZXIgPG1haWwgYXQgcmVuZXN0YWRsZXIgZGU+CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZ3N0L3JlcGxheWdhaW4vTWFrZWZpbGUuYW06CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOiAoZ3N0X3JnX2FuYWx5c2lzX2NsYXNzX2luaXQpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX3N0YXJ0KSwgKGdzdF9yZ19hbmFseXNpc19zZXRfY2FwcyksCgkgIChnc3RfcmdfYW5hbHlzaXNfdHJhbnNmb3JtX2lwKSwgKGdzdF9yZ19hbmFseXNpc19ldmVudCksCgkgIChnc3RfcmdfYW5hbHlzaXNfc3RvcCksIChnc3RfcmdfYW5hbHlzaXNfaGFuZGxlX3RhZ3MpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX2hhbmRsZV9lb3MpLCAoZ3N0X3JnX2FuYWx5c2lzX3RyYWNrX3Jlc3VsdCksCgkgIChnc3RfcmdfYW5hbHlzaXNfYWxidW1fcmVzdWx0KToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmg6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdsaW1pdGVyLmM6IChnc3RfcmdfbGltaXRlcl9iYXNlX2luaXQpLAoJICAoZ3N0X3JnX2xpbWl0ZXJfY2xhc3NfaW5pdCksIChnc3RfcmdfbGltaXRlcl9pbml0KSwKCSAgKGdzdF9yZ19saW1pdGVyX3NldF9wcm9wZXJ0eSksIChnc3RfcmdfbGltaXRlcl9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3JnX2xpbWl0ZXJfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2xpbWl0ZXIuaDoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOiAoZ3N0X3JnX3ZvbHVtZV9iYXNlX2luaXQpLAoJICAoZ3N0X3JnX3ZvbHVtZV9jbGFzc19pbml0KSwgKGdzdF9yZ192b2x1bWVfaW5pdCksCgkgIChnc3Rfcmdfdm9sdW1lX3NldF9wcm9wZXJ0eSksIChnc3Rfcmdfdm9sdW1lX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfcmdfdm9sdW1lX2Rpc3Bvc2UpLCAoZ3N0X3JnX3ZvbHVtZV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3JnX3ZvbHVtZV9zaW5rX2V2ZW50KSwgKGdzdF9yZ192b2x1bWVfdGFnX2V2ZW50KSwKCSAgKGdzdF9yZ192b2x1bWVfcmVzZXQpLCAoZ3N0X3JnX3ZvbHVtZV91cGRhdGVfZ2FpbiksCgkgIChnc3Rfcmdfdm9sdW1lX2RldGVybWluZV9nYWluKToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5oOgoJICAqIGdzdC9yZXBsYXlnYWluL3JlcGxheWdhaW4uYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9yZXBsYXlnYWluLmg6CgkgICogZ3N0L3JlcGxheWdhaW4vcmdhbmFseXNpcy5oOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOiAoc2VuZF9lb3NfZXZlbnQpLAoJICAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnbGltaXRlci5jOiAoc2V0dXBfcmdsaW1pdGVyKSwKCSAgKGNsZWFudXBfcmdsaW1pdGVyKSwgKHNldF9wbGF5aW5nX3N0YXRlKSwgKGNyZWF0ZV90ZXN0X2J1ZmZlciksCgkgICh2ZXJpZnlfdGVzdF9idWZmZXIpLCAoR1NUX1NUQVJUX1RFU1QpLCAocmdsaW1pdGVyX3N1aXRlKSwgKG1haW4pOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jndm9sdW1lLmM6IChldmVudF9mdW5jKSwgKHNldHVwX3Jndm9sdW1lKSwKCSAgKGNsZWFudXBfcmd2b2x1bWUpLCAoc2V0X3BsYXlpbmdfc3RhdGUpLCAoc2V0X251bGxfc3RhdGUpLAoJICAoc2VuZF9lb3NfZXZlbnQpLCAoc2VuZF90YWdfZXZlbnQpLCAodGVzdF9idWZmZXJfbmV3KSwKCSAgKGZhaWxfdW5sZXNzX3RhcmdldF9nYWluKSwgKGZhaWxfdW5sZXNzX3Jlc3VsdF9nYWluKSwKCSAgKGZhaWxfdW5sZXNzX2dhaW4pLCAoR1NUX1NUQVJUX1RFU1QpLCAocmd2b2x1bWVfc3VpdGUpLCAobWFpbik6CgkgIEFkZCByZXBsYXlnYWluIHBsYXliYWNrIGVsZW1lbnRzICgjNDEyNzEwKS4KCjIwMDctMDUtMTggMTM6Mjc6MzkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IERvbid0IGNyYXNoIHdoZW4gYW4gdW5zdXBwb3J0ZWQgdHJhbnNwb3J0IGVycm9yIHdhcyByZXR1cm5lZCBieSB0aGUgc2VydmVyLCBqdXN0IHRyeSB0byBjb25maWcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc2V0dXBfc3RyZWFtcyk6CgkgIERvbid0IGNyYXNoIHdoZW4gYW4gdW5zdXBwb3J0ZWQgdHJhbnNwb3J0IGVycm9yIHdhcyByZXR1cm5lZCBieSB0aGUKCSAgc2VydmVyLCBqdXN0IHRyeSB0byBjb25maWd1cmUgdGhlIG5leHQgc3RyZWFtLiBGaXhlcyAjNDM5MjU1LgoKMjAwNy0wNS0xOCAxMTozOToxMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuKjogQWRkIFRDUCB0aW1lb3V0IHByb3BlcnR5IGFuZCB1c2UgaXQgZm9yIGFsbCBUQ1AgY29ubmVjdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRzcHNyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3J0c3BzcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdWRwKSwgKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpLAoJICAoZ3N0X3J0c3BzcmNfbG9vcF91ZHApLCAoZ3N0X3J0c3BzcmNfdHJ5X3NlbmQpLCAoZ3N0X3J0c3BzcmNfc2VuZCksCgkgIChnc3RfcnRzcHNyY19zZXR1cF9zdHJlYW1zKSwgKGdzdF9ydHNwc3JjX29wZW4pOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgQWRkIFRDUCB0aW1lb3V0IHByb3BlcnR5IGFuZCB1c2UgaXQgZm9yIGFsbCBUQ1AgY29ubmVjdGlvbi4KCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX2Nvbm5lY3QpLAoJICAocnRzcF9jb25uZWN0aW9uX3dyaXRlKSwgKHJ0c3BfY29ubmVjdGlvbl9uZXh0X3RpbWVvdXQpLAoJICAocnRzcF9jb25uZWN0aW9uX3Jlc2V0X3RpbWVvdXQpOgoJICBNYWtlIGNvbm5lY3QgYW5kIHdyaXRlcyBjYW5jZWxhYmxlIGFuZCBtYWtlIHRoZW0gdXNlIHRoZSB0aW1lb3V0LgoKMjAwNy0wNS0xOCAxMDozNjoxMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogUmVmYWN0b3IgdGltZW91dCBoYW5kbGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc2VuZF9rZWVwX2FsaXZlKSwKCSAgKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpLCAoZ3N0X3J0c3BzcmNfbG9vcF91ZHApLAoJICAoZ3N0X3J0c3BzcmNfdHJ5X3NlbmQpLCAoZ3N0X3J0c3BzcmNfc2VuZCksCgkgIChnc3RfcnRzcHNyY19zZXR1cF9zdHJlYW1zKToKCSAgUmVmYWN0b3IgdGltZW91dCBoYW5kbGluZy4KCSAgQWxzbyBzZW5kIGtlZXAtYWxpdmUgd2hlbiBkZWFsaW5nIHdpdGggVENQIHRyYW5zcG9ydC4KCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX2NyZWF0ZSksCgkgIChydHNwX2Nvbm5lY3Rpb25fZnJlZSksIChydHNwX2Nvbm5lY3Rpb25fbmV4dF90aW1lb3V0KSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9yZXNldF90aW1lb3V0KToKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5oOgoJICBVc2UgYSB0aW1lciB0byBoYW5kbGUgdGhlIHNlc3Npb24gdGltZW91dHMsIGFkZCBzb21lIG1ldGhvZHMgdG8gZGVhbAoJICB3aXRoIHRpbWVvdXRzLgoKMjAwNy0wNS0xNyAxNDo1NjozOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogSWdub3JlIHN0cmVhbXMgdGhhdCBmYWlsIHRoZSBzZXR1cCBjb21tYW5kLCB3ZSB3aWxsIHJldHJ5IHdpdGggYSBkaWZmZXJlbnQgdHJhbnNwb3J0IGxhdGVyIG9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zZW5kKSwKCSAgKGdzdF9ydHNwc3JjX3NldHVwX3N0cmVhbXMpOgoJICBJZ25vcmUgc3RyZWFtcyB0aGF0IGZhaWwgdGhlIHNldHVwIGNvbW1hbmQsIHdlIHdpbGwgcmV0cnkgd2l0aCBhCgkgIGRpZmZlcmVudCB0cmFuc3BvcnQgbGF0ZXIgb24uCgkgICogZ3N0L3J0c3AvcnRzcGV4dHdtcy5jOiAocnRzcF9leHRfd21zX3BhcnNlX3NkcCksCgkgIChydHNwX2V4dF93bXNfY29uZmlndXJlX3N0cmVhbSk6CgkgIEZpeCBlbmNvZGluZyBuYW1lIGNhc2UuCgoyMDA3LTA1LTE3IDEwOjU5OjAwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay4qOiBSZW1vdmUgdGhlIGV2ZW50LWxvb3AtaW4tc2VwYXJhdGUtdGhyZWFkIG1vZGlmaWNhdGlvbnMsIGJlY2F1c2UgTWFjT1NYIGlzICQjQCgqJSQjICEgRm9yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIFJlbW92ZSB0aGUgZXZlbnQtbG9vcC1pbi1zZXBhcmF0ZS10aHJlYWQgbW9kaWZpY2F0aW9ucywgYmVjYXVzZSBNYWNPU1gKCSAgaXMgJCNAKColJCMgISBGb3IgdGhvc2Ugd29uZGVyaW5nLCB0aGUgZXZlbnQgaGFuZGxpbmcgbmVlZHMgdG8gYmUgZG9uZQoJICBpbiB0aGUgbWFpbiB0aHJlYWQgYWZ0ZXIgYWxsLi4KCjIwMDctMDUtMTcgMDk6NDE6NDggKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLio6IEZpeCBhIHN0dXBpZCAjaWYgdnMgI2lmZGVmIGJ1Zy4gU2hvdWxkIHVzZSB0aGUgcHJvcGVyIGNvbG9yc3BhY2Ugbm93LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBGaXggYSBzdHVwaWQgI2lmIHZzICNpZmRlZiBidWcuIFNob3VsZCB1c2UgdGhlIHByb3BlciBjb2xvcnNwYWNlIG5vdy4KCSAgVXNlIGEgc2VwYXJhdGUgdGhyZWFkL3Rhc2sgZm9yIHRoZSBjb2NvYSBldmVudF9sb29wLCBlbHNlIGl0IHdvdWxkbid0CgkgIHN0b3AuCgoyMDA3LTA1LTE2IDE2OjUwOjIzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogRml4IGJ1aWxkIG9uIG1hY29zeC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKHVzZXJfZW5kcm93X2NhbGxiYWNrKSwgKHVzZXJfcmVhZF9kYXRhKToKCSAgRml4IGJ1aWxkIG9uIG1hY29zeC4KCjIwMDctMDUtMTYgMTY6MzA6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiBSZXBsYWNlIGRpcmVjdCBjb21wYXJpc29uIG9mIGEgc3RyaW5nIHdpdGggdGhlIHN0cmluZyBsaXRlcmFsICIiIHdpdGggYSBjb21wYXJpc29uIG9mIHRoZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogKGdzdF9kdjEzOTRzcmNfdXJpX3NldF91cmkpOgoJICBSZXBsYWNlIGRpcmVjdCBjb21wYXJpc29uIG9mIGEgc3RyaW5nIHdpdGggdGhlIHN0cmluZyBsaXRlcmFsICIiIHdpdGgKCSAgYSBjb21wYXJpc29uIG9mIHRoZSBmaXJzdCBjaGFyYWN0ZXIgd2l0aCAnXDAnLiBGaXhlcyAjNDM4OTI2LgoKMjAwNy0wNS0xNSAxNzoyMjo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEFkZCBESVJFQ1REUkFXX0NGTEFHUyBhbmQgRElSRUNUU09VTkRfQ0ZMQUdTIHRvIE1ha2VmaWxlLmFtOyBzYXZlIGFuZCByZXN0b3JlIHRoZSB2YXJpb3VzIGZsYWdzIGluIHRoZSBkaXJlY3RkcmF3L2Rpci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL2RpcmVjdGRyYXcvTWFrZWZpbGUuYW06CgkgICogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJICBBZGQgRElSRUNURFJBV19DRkxBR1MgYW5kIERJUkVDVFNPVU5EX0NGTEFHUyB0byBNYWtlZmlsZS5hbTsgc2F2ZQoJICBhbmQgcmVzdG9yZSB0aGUgdmFyaW91cyBmbGFncyBpbiB0aGUgZGlyZWN0ZHJhdy9kaXJlY3Rzb3VuZAoJICBkZXRlY3Rpb24gc2VjdGlvbi4gQXBwYXJlbnRseSBpbXByb3ZlcyBjcm9zcy1jb21waWxpbmcgZm9yIHdpbjMyCgkgIHdpdGggbWluZ3czMiB1bmRlciBzb21lIGNpcmN1bXN0YW5jZXMgKCM0Mzc1MzkpLgoKMjAwNy0wNS0xNSAxMToxODozMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2RlYnVnL2JyZWFrbXlkYXRhLmMgKGdzdF9icmVha19teV9kYXRhX2luaXQpOiBPbmUgbW9yZSB0cnkuIFRoaXMgc2hvdWxkIGJlIHRoZSBwcm9wZXIgZml4IG5vdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL2JyZWFrbXlkYXRhLmMgKGdzdF9icmVha19teV9kYXRhX2luaXQpOgoJICBPbmUgbW9yZSB0cnkuIFRoaXMgc2hvdWxkIGJlIHRoZSBwcm9wZXIgZml4IG5vdy4KCjIwMDctMDUtMTUgMDY6NDE6NTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9kZWJ1Zy9icmVha215ZGF0YS5jOiBPb29wcywgbm8gLy8gY29tbWVudHMgcGxlYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvYnJlYWtteWRhdGEuYzoKCSAgT29vcHMsIG5vIC8vIGNvbW1lbnRzIHBsZWFzZS4KCjIwMDctMDUtMTUgMDY6MzQ6NDggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9kZWJ1Zy9icmVha215ZGF0YS5jOiBGaXggZ3N0X2J1ZmZlcl9pc193cml0YWJsZSgpIGFzc2VydGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL2JyZWFrbXlkYXRhLmM6IChnc3RfYnJlYWtfbXlfZGF0YV9jbGFzc19pbml0KSwKCSAgKGdzdF9icmVha19teV9kYXRhX2luaXQpOgoJICBGaXggZ3N0X2J1ZmZlcl9pc193cml0YWJsZSgpIGFzc2VydGlvbi4KCjIwMDctMDUtMTUgMDI6NTY6MjMgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiBBZGQgc3VwcG9ydCBmb3IgQmF5ZXIgaW1hZ2VzIGFzIHZpZGVvL3gtcmF3LWJheWVyLiAgRml4ZXMgIzMxNDE2MC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiBBZGQgc3VwcG9ydCBmb3IgQmF5ZXIgaW1hZ2VzIGFzCgkgIHZpZGVvL3gtcmF3LWJheWVyLiAgRml4ZXMgIzMxNDE2MC4KCjIwMDctMDUtMTQgMTc6MTA6MTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogVXBkYXRlIHRoZW9yYSBwYXkvZGVwYXlsb2FkZXIgaW4gYSBzaW1pbGFyIHRvIHZvcmJpcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOiAoZGVjb2RlX2Jhc2U2NCksCgkgIChnc3RfcnRwX3RoZW9yYV9kZXBheV9wYXJzZV9jb25maWd1cmF0aW9uKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOiAoZW5jb2RlX2Jhc2U2NCksCgkgIChnc3RfcnRwX3RoZW9yYV9wYXlfZmluaXNoX2hlYWRlcnMpLAoJICAoZ3N0X3J0cF90aGVvcmFfcGF5X2hhbmRsZV9idWZmZXIpOgoJICBVcGRhdGUgdGhlb3JhIHBheS9kZXBheWxvYWRlciBpbiBhIHNpbWlsYXIgdG8gdm9yYmlzLgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSAgKGdzdF9ydHBfdm9yYmlzX2RlcGF5X3BhcnNlX2NvbmZpZ3VyYXRpb24pOgoJICBVcGRhdGUgZG9jcy4KCjIwMDctMDUtMTQgMTY6MTk6NTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFdoZW4gd2UgdHJ5IHRvIGV4ZWN1dGUgYSBtZXRob2QgdGhhdCBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoZSBzZXJ2ZXIsIGRvbid0IGVycm9yIG91dCBidXQgcmVtb3YuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc2VuZCk6CgkgIFdoZW4gd2UgdHJ5IHRvIGV4ZWN1dGUgYSBtZXRob2QgdGhhdCBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoZSBzZXJ2ZXIsCgkgIGRvbid0IGVycm9yIG91dCBidXQgcmVtb3ZlIHRoZSBtZXRob2QgZnJvbSB0aGUgYWNjZXB0ZWQgbWV0aG9kcyBzbyB0aGF0CgkgIHdlIG5ldmVyIHRyeSB0byBwZXJmb3JtIHRoaXMgbWV0aG9kIGFnYWluLgoKMjAwNy0wNS0xNCAxNDo0NzoyNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzogUmVtb3ZlIGFubm95aW5nIF9kdW1wX21lbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOiAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfcHJvY2Vzcyk6CgkgIFJlbW92ZSBhbm5veWluZyBfZHVtcF9tZW0uCgoyMDA3LTA1LTE0IDExOjExOjQyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBQYXJzZSByYW5nZSBjb3JyZWN0bHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3BhcnNlX3JhbmdlKToKCSAgUGFyc2UgcmFuZ2UgY29ycmVjdGx5LgoJICAqIGdzdC9ydHNwL3J0c3B1cmwuYzogKHJ0c3BfdXJsX2dldF9yZXF1ZXN0X3VyaSk6CgkgIFRoZSBiYXNldXJsIG5vdyBhbHdheXMgaGFzIGEgJy8nIGF0IHRoZSBzdGFydC4KCjIwMDctMDUtMTQgMDk6MDE6MDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IEZhY3RvciBvdXQgY2FwcyBjb25maWd1cmF0aW9uIGFuZCBjb25maWd1cmUgbW9yZSBzdHVmZiBzdWNoIGFzIHRoZSB0aW1lIHJhbmdlcyBhbmQgc3BlZWQvc2NhbGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfY29uZmlndXJlX2NhcHMpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfcmFuZ2UpLCAoZ3N0X3J0c3BzcmNfb3BlbiksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9ydHBpbmZvKSwgKGdzdF9ydHNwc3JjX3BsYXkpOgoJICBGYWN0b3Igb3V0IGNhcHMgY29uZmlndXJhdGlvbiBhbmQgY29uZmlndXJlIG1vcmUgc3R1ZmYgc3VjaCBhcyB0aGUgdGltZQoJICByYW5nZXMgYW5kIHNwZWVkL3NjYWxlIHZhbHVlcy4KCSAgKiBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0LmM6CgkgIEFkZCBDb3B5cmlnaHQgYWZ0ZXIgbm9uLXRyaXZhbCBmaXhlcy4KCjIwMDctMDUtMTMgMTk6NTc6NDUgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L3JlcGxheWdhaW4vcmdhbmFseXNpcy5jOiBGaXggd3JvbmcgaWZkZWYgZm9yIHZpc3VhbCBDKysuICBGaXhlczogIzQzNzQwMy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlcGxheWdhaW4vcmdhbmFseXNpcy5jOgoJICBGaXggd3JvbmcgaWZkZWYgZm9yIHZpc3VhbCBDKysuICBGaXhlczogIzQzNzQwMy4KCSAgQnkgQWxpIFNhYmlsIDxhbGkuc2FiaWxAZ21haWwuY29tPi4KCjIwMDctMDUtMTMgMTU6NDc6MTMgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiBVc2UgZ3VpbnQ4ICogaW5zdGVhZCBvZiBncG9pbnRlciB0aGVuIHZzNiBjYW4gYnVpbGQgaW5fZGF0YSArPSAoZmlsdGVyLT53aWR0aCAvIDgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogKGdzdF9sZXZlbF90cmFuc2Zvcm1faXApOgoJICBVc2UgZ3VpbnQ4ICogaW5zdGVhZCBvZiBncG9pbnRlciB0aGVuIHZzNiBjYW4gYnVpbGQKCSAgaW5fZGF0YSArPSAoZmlsdGVyLT53aWR0aCAvIDgpLgoKMjAwNy0wNS0xMiAxNjozNzo1MCArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRzcC86IE1ha2UgY2hhbm5lbCBndWludDggd2hlcmUgcG9zc2libGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUGV0ZXIgS2plbGxlcnN0ZWR0ICA8cGtqIGF0IGF4aXMgY29tPgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX3JlY2VpdmUpOgoJICAqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmM6IChydHNwX21lc3NhZ2VfaW5pdF9kYXRhKSwKCSAgKHJ0c3BfbWVzc2FnZV9nZXRfaGVhZGVyKToKCSAgKiBnc3QvcnRzcC9ydHNwbWVzc2FnZS5oOgoJICBNYWtlIGNoYW5uZWwgZ3VpbnQ4IHdoZXJlIHBvc3NpYmxlLgoJICBNYWtlIHJ0c3BfbWVzc2FnZV9pbml0X2RhdGEoKSB0YWtlIHRoZSBjaGFubmVsIGFzIGEgZ3VpbnQ4LgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmM6CgkgIEZpeGVkIGEgdHlwbzogVGltb3V0IC0+IFRpbWVvdXQKCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5oOgoJICBNYWtlIFJUU1BfQ0hFQ0soKSBiZWhhdmUgYXMgYSBzdGF0ZW1lbnQuCgkgICogZ3N0L3J0c3Avc2RwbWVzc2FnZS5jOgoJICBBdm9pZCBhIGNvbXBpbGVyIHdhcm5pbmcgaW4gSU5JVF9BUlJBWSgpLgoJICBGaXhlcyAjNDM3NjkyLgoKMjAwNy0wNS0xMiAxNjoyNzo1MSArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRzcC9ydHNwdXJsLio6IEFkZCBzdXBwb3J0IGZvciBxdWVyeSBwYXJhbWV0ZXJzIHRvIFJUU1AgVVJMcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBQZXRlciBLamVsbGVyc3RlZHQgIDxwa2ogYXQgYXhpcyBjb20+CgkgICogZ3N0L3J0c3AvcnRzcHVybC5jOiAocnRzcF91cmxfcGFyc2UpLCAocnRzcF91cmxfZnJlZSksCgkgIChydHNwX3VybF9nZXRfcmVxdWVzdF91cmkpOgoJICAqIGdzdC9ydHNwL3J0c3B1cmwuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIHF1ZXJ5IHBhcmFtZXRlcnMgdG8gUlRTUCBVUkxzLgoKMjAwNy0wNS0xMiAxNjoyNjowNiArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0Lio6IEFkZCB2YWxpZGF0aW9uIHRvIHJ0c3BfdHJhbnNwb3J0X3BhcnNlKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUGV0ZXIgS2plbGxlcnN0ZWR0ICA8cGtqIGF0IGF4aXMgY29tPgoJICAqIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuYzogKHJ0c3BfdHJhbnNwb3J0X2luaXQpLCAocGFyc2VfbW9kZSksCgkgIChwYXJzZV9yYW5nZSksIChyYW5nZV9hc190ZXh0KSwgKHJ0c3BfdHJhbnNwb3J0X21vZGVfYXNfdGV4dCksCgkgIChydHNwX3RyYW5zcG9ydF9wcm9maWxlX2FzX3RleHQpLCAocnRzcF90cmFuc3BvcnRfbHRyYW5zX2FzX3RleHQpLAoJICAocnRzcF90cmFuc3BvcnRfcGFyc2UpLCAocnRzcF90cmFuc3BvcnRfYXNfdGV4dCk6CgkgICogZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5oOgoJICBBZGQgdmFsaWRhdGlvbiB0byBydHNwX3RyYW5zcG9ydF9wYXJzZSgpLgoJICBBZGQgcnRzcF90cmFuc3BvcnRfYXNfdGV4dCgpIHRvIGdlbmVyYXRlIGFuIFJUU1AgaGVhZGVyIGZyb20gYW4KCSAgUlRTUFRyYW5zcG9ydC4KCSAgQ2hhbmdlIHNzcmMgdG8gZ3VpbnQgKHdhcyBhIHN0cmluZykgc2luY2UgdGhhdCBpcyB3aGF0IGl0IGlzLCBldmVuCgkgIHRob3VnaCBpdCBpcyBzZW50IGFzIGEgaGV4IHN0cmluZy4KCSAgQ29ycmVjdGx5IGlkZW50aWZ5IFBMQVl8UkVDT1JEIG1vZGUgcGFyYW1ldGVycyAodGhlIHN5bnRheCBpbiB0aGUgUkZDIGlzCgkgIGluY29ycmVjdCwgd2hpY2ggY2FuIGJlIHNlZW4gd2hlbiBsb29raW5nIGF0IHRoZSBleGFtcGxlcyBpbiB0aGUgUkZDKS4KCSAgRml4ZXMgIzQzNzY3MC4KCjIwMDctMDUtMTEgMTY6MTE6MDQgKzAwMDAgIEVyaWMgQW5ob2x0IDxhbmhvbHRAZnJlZWJzZC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmMgKGdzdF94aW1hZ2Vfc3JjX29wZW5fZGlzcGxheSwgZ3N0X3hpbWFnZV9zcmNfeGltYWdlX2dldCk6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRXJpYyBBbmhvbHQKCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jIChnc3RfeGltYWdlX3NyY19vcGVuX2Rpc3BsYXksCgkgIGdzdF94aW1hZ2Vfc3JjX3hpbWFnZV9nZXQpOgoJICBVc2UgdW5pb24gb2YgYWxsIGRhbWFnZSBiZXR3ZWVuIGZyYW1lcyB0byBtYWtlIGl0IGZhc3Rlci4KCSAgRml4ZXMgYnVnICMzNDI0NjMuCgkgIEFsc28gZml4IGNyYXNoZXIgd2hlbiBjdXJzb3IgaXMgYXQgYm90dG9tIHJpZ2h0IG9mIHdpbmRvdy4KCjIwMDctMDUtMTEgMTY6MDE6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogU2tpcCBMSVNUIGNodW5rcyBiZWZvcmUgdGhlIGZtdCBjaHVuayAoZml4ZXMgIzQzNzQ5OSkuIEFsc28gZml4IHN0cmVhbWluZyBtb2RlIHJlZ3Jlc3Npb24uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpOgoJICBTa2lwIExJU1QgY2h1bmtzIGJlZm9yZSB0aGUgZm10IGNodW5rIChmaXhlcyAjNDM3NDk5KS4gQWxzbyBmaXgKCSAgc3RyZWFtaW5nIG1vZGUgcmVncmVzc2lvbiBmb3IgZmlsZSBmcm9tICMzNDM4Mzcgd2l0aCAnYmV4dCcgY2h1bmsKCSAgYmVmb3JlIHRoZSAnZm10JyBjaHVuay4KCjIwMDctMDUtMTEgMTU6MDk6MzkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC86IFByZWxpbWluYXJ5IHNlZWsgc3VwcG9ydC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfZmx1c2gpLAoJICAoZ3N0X3J0c3BzcmNfZG9fc2VlayksIChnc3RfcnRzcHNyY19wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX3NyY19ldmVudCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX21hbmFnZXIpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90Y3ApLCAoZ3N0X3J0c3BzcmNfbG9vcF9pbnRlcmxlYXZlZCksCgkgIChnc3RfcnRzcHNyY19zZW5kX2tlZXBfYWxpdmUpLCAoZ3N0X3J0c3BzcmNfb3BlbiksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9ydHBpbmZvKSwgKGdzdF9ydHNwc3JjX3BsYXkpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5oOgoJICBQcmVsaW1pbmFyeSBzZWVrIHN1cHBvcnQuCgkgIEFjdGl2YXRlIGludGVybmFsIHBhZHMgc28gdGhhdCB3ZSBjYW4gcmVjZWl2ZSBldmVudHMgb24gdGhlbS4KCSAgRG9uJ3QgdHJ5IHRvIHBhcnNlIGEgcmFuZ2Ugc3RyaW5nIHdoZW4gaXQncyBOVUxMLgoKMjAwNy0wNS0xMSAxNTowNDozOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvUkVBRE1FOiBVcGRhdGUgUkVBRE1FIHdpdGggbmV3IFJUUCB2YXJpYWJsZXMgdGhhdCB3aWxsIGJlIHVzZWQgZm9yIHN5bmNocm9uaXNhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9SRUFETUU6CgkgIFVwZGF0ZSBSRUFETUUgd2l0aCBuZXcgUlRQIHZhcmlhYmxlcyB0aGF0IHdpbGwgYmUgdXNlZCBmb3IKCSAgc3luY2hyb25pc2F0aW9uLgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzogKGRlY29kZV9iYXNlNjQpLAoJICAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfcGFyc2VfY29uZmlndXJhdGlvbiksCgkgIChnc3RfcnRwX3ZvcmJpc19kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOiAoZW5jb2RlX2Jhc2U2NCksCgkgIChnc3RfcnRwX3ZvcmJpc19wYXlfZmluaXNoX2hlYWRlcnMpLAoJICAoZ3N0X3J0cF92b3JiaXNfcGF5X2hhbmRsZV9idWZmZXIpOgoJICBVcGRhdGUgdm9yYmlzIHBheSBhbmQgZGVwYXlsb2FkZXIgdG8gZHJhZnQtMDQuCgoyMDA3LTA1LTExIDExOjI0OjEzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5jOiBVRFAgTUNBU1QgaXMgYWN0dWFsbHkgdGhlIGRlZmF1bHQgZm9yIFJUUC9BVlAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuYzoKCSAgVURQIE1DQVNUIGlzIGFjdHVhbGx5IHRoZSBkZWZhdWx0IGZvciBSVFAvQVZQLgoKMjAwNy0wNS0xMSAxMDozMToyNyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmMgKGdzdF94aW1hZ2Vfc3JjX3N0YXJ0LCBnc3RfeGltYWdlX3NyY194aW1hZ2VfZ2V0KToKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYyAoZ3N0X3hpbWFnZV9zcmNfc3RhcnQsCgkgIGdzdF94aW1hZ2Vfc3JjX3hpbWFnZV9nZXQpOgoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmggKGxhc3RfeGltYWdlKToKCSAgV2hlbiB1c2luZyBEYW1hZ2UgYWN0dWFsbHkga2VlcCB0aGUgbGFzdCBmcmFtZSwgYW5kIG5vdCBhc3N1bWUKCSAgdGhhdCB0aGUgYnVmZmVyIHdlIGdldCBhbHJlYWR5IGhhcyB0aGUgbGFzdCBmcmFtZSBvbiBpdC4KCSAgQ29weSB0aGUgY3Vyc29yIG92ZXIgaWYgd2Ugc3BlY2lmeSBhIG5vbi16ZXJvIHN0YXJ0IHggYW5kCgkgIHN0YXJ0IHkuCgoyMDA3LTA1LTExIDA5OjEyOjU1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5jOiBNYWtlIFVEUCB0aGUgZGVmYXVsdCB0cmFuc3BvcnQgd2hlbiBub3Qgc3BlY2lmaWVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0LmM6CgkgIE1ha2UgVURQIHRoZSBkZWZhdWx0IHRyYW5zcG9ydCB3aGVuIG5vdCBzcGVjaWZpZWQuCgoyMDA3LTA1LTEwIDE0OjAyOjA3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmMgKGdzdF9xdGRlbXV4X21vdmVfc3RyZWFtLCBnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlciwgZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCwgZ3N0X3F0ZGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jIChnc3RfcXRkZW11eF9tb3ZlX3N0cmVhbSwKCSAgZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIsIGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQsCgkgIGdzdF9xdGRlbXV4X3ByZXBhcmVfY3VycmVudF9zYW1wbGUsIGdzdF9xdGRlbXV4X2NvbWJpbmVfZmxvd3MsCgkgIGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUsIGdzdF9xdGRlbXV4X2xvb3AsCgkgIHF0ZGVtdXhfcGFyc2Vfc2VnbWVudHMsIHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jIChydHBfc2Vzc2lvbl9nZXRfYmFuZHdpZHRoLAoJICBydHBfc2Vzc2lvbl9nZXRfcnRjcF9iYW5kd2lkdGgsIHJ0cF9zZXNzaW9uX2dldF9jbmFtZSwKCSAgcnRwX3Nlc3Npb25fZ2V0X25hbWUsIHJ0cF9zZXNzaW9uX2dldF9lbWFpbCwgcnRwX3Nlc3Npb25fZ2V0X3Bob25lLAoJICBydHBfc2Vzc2lvbl9nZXRfbG9jYXRpb24sIHJ0cF9zZXNzaW9uX2dldF90b29sLAoJICBydHBfc2Vzc2lvbl9wcm9jZXNzX2J5ZSwgc2Vzc2lvbl9yZXBvcnRfYmxvY2tzKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYyAocnRwX3NvdXJjZV9wcm9jZXNzX3J0cCwKCSAgcnRwX3NvdXJjZV9zZW5kX3J0cCwgcnRwX3NvdXJjZV9wcm9jZXNzX3NyLCBydHBfc291cmNlX3Byb2Nlc3NfcmIpOgoJICBNb3JlIGZvcm1hdCBhcmcgZml4aW5nIChzcG90dGVkIGJ5IEFsaSBTYWJpbCA8YWxpLnNhYmlsQGdtYWlsLmNvbT4pLgoJICAqIGdzdC9zd2l0Y2gvTWFrZWZpbGUuYW06CgkgIEFkZCByZXF1aXJlIGxpYnJhcmllcyhzcG90dGVkIGJ5IEFsaSBTYWJpbCA8YWxpLnNhYmlsQGdtYWlsLmNvbT4pLgoKMjAwNy0wNS0xMCAwMToyMToxOSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogUmV2ZXJ0IGxhc3QgY2hhbmdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgUmV2ZXJ0IGxhc3QgY2hhbmdlLgoKMjAwNy0wNS0wOSAyMTozMDo1MyArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2xldmVsL2dzdGxldmVsLmM6IFVzZSBndWludDggKiBpbnN0ZWFkIG9mIGdwb2ludGVyIHRoZW4gdnM2IGtub3cgdGhlIHNpemUgb2YgZGF0YSBwb2ludGVkIHdoZW4gbW92aW5nIHRoZSBwb2ludGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogKGdzdF9sZXZlbF9jYWxjdWxhdGVfIyNUWVBFKSwKCSAgKGdzdF9sZXZlbF90cmFuc2Zvcm1faXApOgoJICBVc2UgZ3VpbnQ4ICogaW5zdGVhZCBvZiBncG9pbnRlciB0aGVuIHZzNiBrbm93IHRoZSBzaXplIG9mIGRhdGEKCSAgcG9pbnRlZCB3aGVuIG1vdmluZyB0aGUgcG9pbnRlci4KCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzogKGdzdF9ydHBfaDI2NF9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgIE1vdmUgaW5zdHJ1Y3Rpb25zIGFmdGVyIHZhcmlhYmxlcyBkZWNsYXJhdGlvbi4KCSAgKiB3aW4zMi92czYvYXV0b2dlbi5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHJ0cC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHJ0c3AuZHNwOgoJICBVcGRhdGUgdnM2IHByb2plY3QgZmlsZXMuCgoyMDA3LTA1LTA5IDExOjIzOjM5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvOiBBZGQgY29kZSB0byBwYXJzZSB0aW1lIHJhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfaGFuZGxlX3NyY19xdWVyeSksCgkgIChnc3RfcnRzcHNyY19zZW5kX2tlZXBfYWxpdmUpLCAoZ3N0X3J0c3BzcmNfb3Blbik6CgkgICogZ3N0L3J0c3AvcnRzcHJhbmdlLmM6IChwYXJzZV9ucHRfdGltZSksIChwYXJzZV9ucHRfcmFuZ2UpLAoJICAocGFyc2VfY2xvY2tfcmFuZ2UpLCAocGFyc2Vfc21wdGVfcmFuZ2UpLCAocnRzcF9yYW5nZV9wYXJzZSksCgkgIChydHNwX3JhbmdlX2ZyZWUpOgoJICAqIGdzdC9ydHNwL3J0c3ByYW5nZS5oOgoJICBBZGQgY29kZSB0byBwYXJzZSB0aW1lIHJhbmdlcy4KCSAgUmVwb3J0IERVUkFUSU9OIG9uIHRoZSBzdHJlYW0gd2hlbiBwb3NzaWJsZS4KCjIwMDctMDUtMDggMTU6NDk6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IEZpeCBzdHJpZGVzIGNhbGN1bGF0aW9uIGZvciBBWVVWIChpdCdzIGp1c3Qgd2lkdGgqNCkgKCM0MzY5MTApLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IChnc3RfdmlkZW9taXhlcl9ibGVuZF9heXV2X2F5dXYpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfZmlsbF9jaGVja2VyKSwgKGdzdF92aWRlb21peGVyX2ZpbGxfY29sb3IpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfY29sbGVjdGVkKToKCSAgRml4IHN0cmlkZXMgY2FsY3VsYXRpb24gZm9yIEFZVVYgKGl0J3MganVzdCB3aWR0aCo0KSAoIzQzNjkxMCkuCgoyMDA3LTA1LTA2IDIxOjMyOjQwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXVkaW9meC86IFN5bmMgdGhlIEdPYmplY3QgcHJvcGVydGllcyBiZWZvcmUgZWFjaCBwcm9jZXNzaW5nIHN0ZXAgdG8gcHJvcGVybHkgd29yayB3aXRoIHRoZSBjb250cm9sbGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzogKGdzdF9hdWRpb19hbXBsaWZ5X3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6IChnc3RfYXVkaW9fZHluYW1pY190cmFuc2Zvcm1faXApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6IChnc3RfYXVkaW9faW52ZXJ0X3RyYW5zZm9ybV9pcCk6CgkgIFN5bmMgdGhlIEdPYmplY3QgcHJvcGVydGllcyBiZWZvcmUgZWFjaCBwcm9jZXNzaW5nIHN0ZXAgdG8gcHJvcGVybHkKCSAgd29yayB3aXRoIHRoZSBjb250cm9sbGVyLgoKMjAwNy0wNS0wNCAxNToxNzoxNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogTGV0IG1vcmUgZXJyb3Igc3RhdGUgdHJpY2tsZSBkb3duIHNvIHRoYXQgd2UgY2FuIGNhdGNoIG1vcmUgZXJyb3IgY2FzZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3NlbmRfa2VlcF9hbGl2ZSksCgkgIChnc3RfcnRzcHNyY19sb29wX3VkcCksIChnc3RfcnRzcHNyY190cnlfc2VuZCksIChnc3RfcnRzcHNyY19zZW5kKSwKCSAgKGdzdF9ydHNwc3JjX3NldHVwX3N0cmVhbXMpLCAoZ3N0X3J0c3BzcmNfb3BlbiksCgkgIChnc3RfcnRzcHNyY19jbG9zZSksIChnc3RfcnRzcHNyY19wbGF5KSwgKGdzdF9ydHNwc3JjX3BhdXNlKSwKCSAgKGdzdF9ydHNwc3JjX2NoYW5nZV9zdGF0ZSk6CgkgIExldCBtb3JlIGVycm9yIHN0YXRlIHRyaWNrbGUgZG93biBzbyB0aGF0IHdlIGNhbiBjYXRjaCBtb3JlIGVycm9yCgkgIGNhc2VzLgoJICBIYW5kbGUga2VlcC1hbGl2ZSBhIGxpdHRsZSBzbWFydGVyIGJ5IHNlbGVjdGluZyBhIG1ldGhvZCB0aGUgc2VydmVyCgkgIGFjdHVhbGx5IHN1cHBvcnRzLgoJICBGaXggYSByYWNlIGluIFVEUCBzdHJlYW1pbmcgc2h1dGRvd24uCgoyMDA3LTA1LTA0IDEzOjA0OjMxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBJZ25vcmUgZXJyb3JzIHdoZW4gdHJ5aW5nIHRvIHVzZSB0aGUga2VlcC1hbGl2ZSBtZXNzYWdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc2VuZF9rZWVwX2FsaXZlKToKCSAgSWdub3JlIGVycm9ycyB3aGVuIHRyeWluZyB0byB1c2UgdGhlIGtlZXAtYWxpdmUgbWVzc2FnZXMuCgoyMDA3LTA1LTA0IDEyOjMxOjMyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBTZW5kIFJUQ1AgbWVzc2FnZXMgYmFjayB0byB0aGUgc2VydmVyIG92ZXIgdGhlIFRDUCBjb25uZWN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9ydHNwc3JjX2hhbmRsZV9zcmNfcXVlcnkpLCAoZ3N0X3J0c3BzcmNfc2lua19jaGFpbiksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX21hbmFnZXIpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2ZyZWVfdWRwKSwgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdGNwKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfbWNhc3QpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV91ZHApLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV91ZHBfc2luayksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCk6CgkgIFNlbmQgUlRDUCBtZXNzYWdlcyBiYWNrIHRvIHRoZSBzZXJ2ZXIgb3ZlciB0aGUgVENQIGNvbm5lY3Rpb24uCgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl93cml0ZSksCgkgIChydHNwX2Nvbm5lY3Rpb25fc2VuZCksIChydHNwX2Nvbm5lY3Rpb25fcmVhZCksIChyZWFkX2JvZHkpLAoJICAocnRzcF9jb25uZWN0aW9uX3JlY2VpdmUpOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmg6CgkgIEZhY3RvciBvdXQgYW5kIGV4cG9zZSBsb3dsZXZlbCBfd3JpdGUgYW5kIF9yZWFkIG1ldGhvZHMuCgkgIEltcGxlbWVudCBzZW5kaW5nIGRhdGEgbWVzc2FnZXMgdG8gdGhlIHNlcnZlci4KCjIwMDctMDUtMDMgMTU6NTU6MDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiBGaXggdGltZXN0YW1wcyBvbiBvdXRnb2luZyBidWZmZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiAoZ3N0X211bHRpcGFydF9tdXhfcXVldWVfcGFkcyksCgkgIChnc3RfbXVsdGlwYXJ0X211eF9jb2xsZWN0ZWQpOgoJICBGaXggdGltZXN0YW1wcyBvbiBvdXRnb2luZyBidWZmZXJzLgoKMjAwNy0wNS0wMyAxNDozOTowOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IEVtaXQgTkVXU0VHTUVOVCBldmVudHMgYmVmb3JlIHB1c2hpbmcgdGhlIGZpcnN0IGJ1ZmZlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSAgKGdzdF9tdWx0aXBhcnRfbXV4X3JlcXVlc3RfbmV3X3BhZCksIChnc3RfbXVsdGlwYXJ0X211eF9jb2xsZWN0ZWQpLAoJICAoZ3N0X211bHRpcGFydF9tdXhfY2hhbmdlX3N0YXRlKToKCSAgRW1pdCBORVdTRUdNRU5UIGV2ZW50cyBiZWZvcmUgcHVzaGluZyB0aGUgZmlyc3QgYnVmZmVyLgoKMjAwNy0wNS0wMyAxMzo0ODo1NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogUmVmYWN0b3IgdHJhbnNwb3J0IGNvbmZpZ3VyYXRpb24gY29kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfZmluYWxpemUpLAoJICAoZ3N0X3J0c3BzcmNfYWxsb2NfdWRwX3BvcnRzKSwgKGdzdF9ydHNwc3JjX2hhbmRsZV9zcmNfZXZlbnQpLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX3NyY19xdWVyeSksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX21hbmFnZXIpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2ZyZWVfdWRwKSwgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdGNwKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfbWNhc3QpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV91ZHApLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV91ZHBfc2luayksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksIChnc3RfcnRzcHNyY19wdXNoX2V2ZW50KSwKCSAgKGdzdF9ydHNwc3JjX2xvb3BfdWRwKSwgKGdzdF9ydHNwc3JjX29wZW4pLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwaW5mbyksIChnc3RfcnRzcHNyY19wbGF5KSwKCSAgKGdzdF9ydHNwc3JjX3BhdXNlKToKCSAgUmVmYWN0b3IgdHJhbnNwb3J0IGNvbmZpZ3VyYXRpb24gY29kZS4KCSAgQ3JlYXRlIGludGVybmFsIHBhZHMgZm9yIFRDUCB0cmFuc3BvcnQgc28gdGhhdCB3ZSBjYW4gaW1wbGVtZW50IGV2ZW50cwoJICBhbmQgcXVlcmllcy4KCSAgSGFuZGxlIGV2ZW50cyBhbmQgcXVlcmllcy4KCSAgUGFyc2UgcmFuZ2UgZnJvbSB0aGUgU0RQLgoJICBGaXggcmFjZSBpbiBwYXVzZSBoYW5kbGVyIHdoZXJlIHRoZSBjb25uZWN0aW9uIGNvdWxkIHN0aWxsIGJlIGZsdXNoaW5nLgoKMjAwNy0wNS0wMiAxOTozMjo1OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuKjogRml4IHJhY2Ugd2hlbiBtdWx0aXBsZSB1ZHAgc291cmNlcyBwb3N0IHRpbWVvdXRzLCBqdXN0IGFjdCBvbiB0aGUgZmlyc3QgcmVjZWl2ZWQgdGltZW91dC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfaW5pdCksCgkgIChnc3RfcnRzcHNyY19maW5hbGl6ZSksIChuZXdfc2Vzc2lvbl9wYWQpLCAocmVxdWVzdF9wdF9tYXApLAoJICAoZ3N0X3J0c3BzcmNfbG9vcF9zZW5kX2NtZCksIChnc3RfcnRzcHNyY190cnlfc2VuZCksCgkgIChnc3RfcnRzcHNyY19zZW5kKSwgKGdzdF9ydHNwc3JjX2FzeW5jX29wZW4pLCAoZ3N0X3J0c3BzcmNfY2xvc2UpLAoJICAoZ3N0X3J0c3BzcmNfcGxheSksIChnc3RfcnRzcHNyY19oYW5kbGVfbWVzc2FnZSksCgkgIChnc3RfcnRzcHNyY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgRml4IHJhY2Ugd2hlbiBtdWx0aXBsZSB1ZHAgc291cmNlcyBwb3N0IHRpbWVvdXRzLCBqdXN0IGFjdCBvbiB0aGUgZmlyc3QKCSAgcmVjZWl2ZWQgdGltZW91dC4KCSAgUHJvdGVjdCBzdHJlYW0gbGlzdCB3aXRoIGEgcmVjdXJzaXZlIGxvY2sgdG8gZml4IHNvbWUgcmFjZXMuCgkgIEZsdXNoIGNvbm5lY3Rpb24gd2hlbiB3ZSBuZWVkIHRvIGRvIGEgcmVjb25uZWN0IG9yIHN0b3AuCgkgIE1ha2Ugc3RhdGUgbG9jayByZWN1cnNpdmUuCgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9jb25uZWN0KSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9jbG9zZSk6CgkgIFNvbWUgc21hbGwgY2xlYW51cHMuCgoyMDA3LTA1LTAyIDE4OjMxOjE2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrLmM6IENhbGwgYmluZHRleHRkb21haW4oKSB0byBnZXQgbG9jYWxpemVkIHN0cmluZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2suYzogKHBsdWdpbl9pbml0KToKCSAgQ2FsbCBiaW5kdGV4dGRvbWFpbigpIHRvIGdldCBsb2NhbGl6ZWQgc3RyaW5ncy4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfY2hhaW4pOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaGFuZGxlX3NlZWtfZXZlbnQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfcHVzaF9idWZmZXIpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfY2hhaW4pOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICBIYW5kbGUgRElTQ09OVCBidWZmZXJzIGJ5IGNvcnJlY3RseSBzZXR0aW5nIHRoZSBESVNDT05UIGZsYWcKCSAgb24gb3V0Z29pbmcgYnVmZmVycyB3aGVuIG5lY2Vzc2FyeS4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2hhbmRsZV9zZWVrX2V2ZW50KQoJICBTZW5kIG5ld3NlZ21lbnQgZnJvbSB0aGUgc3RyZWFtaW5nIHRocmVhZC4KCjIwMDctMDUtMDIgMTg6MjU6MDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogT25seSBzZXQgRElTQ09OVCB3aGVuIHRoZXJlIGFjdHVhbGx5IGlzIGEgZGlzY29udCBvciB3aGVuIHdlIGp1c3Qgc3RhcnRlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpOgoJICBPbmx5IHNldCBESVNDT05UIHdoZW4gdGhlcmUgYWN0dWFsbHkgaXMgYSBkaXNjb250IG9yIHdoZW4gd2UganVzdAoJICBzdGFydGVkLgoKMjAwNy0wNS0wMiAxODowMTo1MiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhYy5jOiBDYWxsIGJpbmR0ZXh0ZG9tYWluKCkgdG8gZ2V0IGxvY2FsaXplZCBzdHJpbmdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjLmM6IChwbHVnaW5faW5pdCk6CgkgIENhbGwgYmluZHRleHRkb21haW4oKSB0byBnZXQgbG9jYWxpemVkIHN0cmluZ3MuCgoyMDA3LTA1LTAyIDE3OjE5OjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLio6IEJlIGEgYml0IG1vcmUgY2xldmVyIHdoZW4gZGVhbGluZyB3aXRoIFZCUiBmaWxlcyB3aXRoIEZBQ1QgdGFncywgd2UgZG9uJ3Qgd2FudCB0byB0aW1lc3RhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLCAoZ3N0X3dhdnBhcnNlX2FkZF9zcmNfcGFkKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIEJlIGEgYml0IG1vcmUgY2xldmVyIHdoZW4gZGVhbGluZyB3aXRoIFZCUiBmaWxlcyB3aXRoIEZBQ1QgdGFncywgd2UKCSAgZG9uJ3Qgd2FudCB0byB0aW1lc3RhbXAgYnVmZmVycyBpbiB0aGF0IGNhc2UgYnV0IHRoZSBlc3RpbWF0ZWQgQlBTIGNhbgoJICBiZSB1c2VkIGZvciBzZWVraW5nLgoJICBPbmx5IHNlbmQgY2xvc2Ugc2VnbWVudCBpbiB0aGUgc3RyZWFtaW5nIHRocmVhZC4KCjIwMDctMDUtMDIgMTc6MDg6MDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogQ29ycmVjdGx5IHBvc3QgYW4gZXJyb3Igb24gdGhlIGJ1cyBpZiBzb21ldGhpbmcgd2VudCB3cm9uZyBpbiB0aGUgbG9vcCBmdW5jdGlvbi4gVGhpcyBmaXhlcyBhIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfbG9vcCk6CgkgIENvcnJlY3RseSBwb3N0IGFuIGVycm9yIG9uIHRoZSBidXMgaWYgc29tZXRoaW5nIHdlbnQgd3JvbmcgaW4gdGhlIGxvb3AKCSAgZnVuY3Rpb24uIFRoaXMgZml4ZXMgYSBmZXcgY2FzZXMgd2hlcmUgdGhlIHRhc2sgd2FzIHBhdXNlZCBhbmQgbm90aGluZwoJICBoYXBwZW5lZCBhbnltb3JlLgoKMjAwNy0wNS0wMiAxNjo1ODowNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IFJlbW92ZSBvbGQgd29ya2Fyb3VuZCB0aGF0IHdhcyBuZWVkZWQgd2hlbiBzZWVraW5nIGFmdGVyIHRoZSBsYXN0IHNhbXBsZS4gV2l0aCB0aGUgZml4Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaGFuZGxlX3NlZWtfZXZlbnQpOgoJICBSZW1vdmUgb2xkIHdvcmthcm91bmQgdGhhdCB3YXMgbmVlZGVkIHdoZW4gc2Vla2luZyBhZnRlciB0aGUgbGFzdAoJICBzYW1wbGUuIFdpdGggdGhlIGZpeGVkIGVycm9yIGhhbmRsaW5nIHRoaXMgd29ya3Mgbm93IGFzIGV4cGVjdGVkCgkgIHdpdGhvdXQgcHVzaGluZyB0aGUgbGFzdCBzYW1wbGUgYWx0aG91Z2ggaXQgd2Fzbid0IHJlcXVlc3RlZC4KCjIwMDctMDUtMDIgMTY6NDU6NDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiBIYW5kbGUgc2VnbWVudCBzZWVrcyBpbiB0aGUgc2VlayBldmVudCBoYW5kbGVyLCBjb3JyZWN0bHkgd29yayB3aXRoIHN0b3AgcG9zaXRpb24gPT0gLS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2hhbmRsZV9zZWVrX2V2ZW50KToKCSAgSGFuZGxlIHNlZ21lbnQgc2Vla3MgaW4gdGhlIHNlZWsgZXZlbnQgaGFuZGxlciwgY29ycmVjdGx5IHdvcmsgd2l0aAoJICBzdG9wIHBvc2l0aW9uID09IC0xIGFuZCBpbnN0ZWFkIG9mIHN0b3BwaW5nIHRoZSB0YXNrIG9uIHNlZWsganVzdAoJICBwYXVzZSBpdC4KCjIwMDctMDUtMDIgMTY6MTk6NTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiBBZGQgaGFuZGxpbmcgZm9yIHNlZ21lbnQgc2Vla3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfbG9vcCk6CgkgIEFkZCBoYW5kbGluZyBmb3Igc2VnbWVudCBzZWVrcy4KCjIwMDctMDUtMDIgMTU6MTM6MDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiBDb3JyZWN0bHkgaGFuZGxlIGVycm9ycywgZXNwZWNpYWxseSBpbiB0aGUgbG9vcCBmdW5jdGlvbi4gQmVmb3JlIGl0IHdhcyBlYXN5IHRvIGdldCB0aC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3B1bGxfYnVmZmVyKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NyZWF0ZV9zcmNfcGFkKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3Jlc3luY19sb29wKSwgKGdzdF93YXZwYWNrX3BhcnNlX2xvb3ApLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY2hhaW4pOgoJICBDb3JyZWN0bHkgaGFuZGxlIGVycm9ycywgZXNwZWNpYWxseSBpbiB0aGUgbG9vcCBmdW5jdGlvbi4gQmVmb3JlIGl0CgkgIHdhcyBlYXN5IHRvIGdldCB0aGUgdGFzayBwYXVzZWQgYnV0IG5vIGVycm9yIGJlaW5nIHBvc3RlZCBvbiB0aGUgYnVzLgoKMjAwNy0wNS0wMiAxNDoyNzoyOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL3Rlc3QuYzogRml4IGNvbXBpbGF0aW9uIG9mIGRlcHJlY2F0ZWQgdGVzdCBqdXN0IGJlY2F1c2UgSSdtIHRvbyBsYXp5IHRvIGRlbGV0ZSBpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvdGVzdC5jOiAobWFpbik6CgkgIEZpeCBjb21waWxhdGlvbiBvZiBkZXByZWNhdGVkIHRlc3QganVzdCBiZWNhdXNlIEknbSB0b28gbGF6eSB0byBkZWxldGUKCSAgaXQuCgoyMDA3LTA1LTAyIDEzOjMyOjU3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy4qOiBGaXggc2VuZGluZyBSVENQIHRvIHRoZSByaWdodCBwbGFjZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfaW5pdCksCgkgIChnc3RfcnRzcHNyY19maW5hbGl6ZSksIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksCgkgIChnc3RfcnRzcHNyY19oYW5kbGVfcmVxdWVzdCksIChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKSwKCSAgKGdzdF9ydHNwc3JjX3NlbmRfa2VlcF9hbGl2ZSksIChnc3RfcnRzcHNyY19sb29wX3VkcCksCgkgIChnc3RfcnRzcHNyY19sb29wX3NlbmRfY21kKSwgKGdzdF9ydHNwc3JjX3RyeV9zZW5kKSwKCSAgKGdzdF9ydHNwc3JjX29wZW4pLCAoZ3N0X3J0c3BzcmNfaGFuZGxlX21lc3NhZ2UpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgRml4IHNlbmRpbmcgUlRDUCB0byB0aGUgcmlnaHQgcGxhY2UuCgkgIEZpeCBidWcgaW4gcmVmZmluZyB0aGUgd3JvbmcgVURQIGVsZW1lbnQuCgkgIFVzZSBuZXcgcGFkIG5hbWVzIGZvciB0aGUgc2Vzc2lvbiBtYW5hZ2VyLgoJICBJbXBsZW1lbnQgaGFuZGxpbmcgc2VydmVyIHJlcXVlc3RzIGluIGludGVybGVhdmVkIGFuZCBVRFAgbW9kZXMuCgkgIEhhbmRsZSBzZXNzaW9uIGtlZXAtYWxpdmUgaW4gVURQIG1vZGVzLgoJICBSZW1vdmUgR0NvbmQgZm9yIGhhbmRsaW5nIFVEUCB0aW1lb3V0cy4KCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX2Nvbm5lY3QpLAoJICAocnRzcF9jb25uZWN0aW9uX3NlbmQpLCAocnRzcF9jb25uZWN0aW9uX3JlYWQpLCAocmVhZF9ib2R5KSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9yZWNlaXZlKSwgKHJ0c3BfY29ubmVjdGlvbl9jbG9zZSk6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uaDoKCSAgU3RvcmUgY29ubmVjdGlvbiBJUCBhZGRyZXNzIGZvciBsYXRlci4KCSAgQWRkIHRpbWVvdXQgYXJncyB0byBhbGwgb3BlcmF0aW9ucyB0aGF0IG1pZ2h0IGJsb2NrIGZvcmV2ZXIuCgkgIFBhcnNlIHNlc3Npb24gdGltZW91dC4KCSAgT25seSBjbG9zZSBzb2NrZXRzIHdoZW4gbm90IGFscmVhZHkgY2xvc2VkLgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmM6CgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuaDoKCSAgQWRkIHRpbWVvdXQgcmV0dXJuIHZhbHVlIGFuZCBlcnJvciBzdHJpbmcuCgkgICogZ3N0L3J0c3AvcnRzcG1lc3NhZ2UuYzogKHJ0c3BfbWVzc2FnZV9pbml0X3Jlc3BvbnNlKToKCSAgQWRkIHNtYWxsIGNvbW1lbnQuCgoyMDA3LTA1LTAxIDE2OjEzOjU4ICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJICBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuKjogSGFuZGxlIE5FV1NFR01FTlQgYW5kIEZMVVNIIGV2ZW50cy4gRml4ZXMgIzQzNDgyNC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTam9lcmQgU2ltb25zIDxzam9lcmQgYXQgbHVvbiBkb3QgbmV0PgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOiAoZ3N0X3J0cF9tcDR2X3BheV9pbml0KSwKCSAgKGdzdF9ydHBfbXA0dl9wYXlfZW1wdHkpLCAoZ3N0X3J0cF9tcDR2X3BheV9ldmVudCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5Lmg6CgkgIEhhbmRsZSBORVdTRUdNRU5UIGFuZCBGTFVTSCBldmVudHMuIEZpeGVzICM0MzQ4MjQuCgoyMDA3LTA0LTMwIDExOjE1OjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6IFJlbW92ZSB2NGwyc3JjIGZyb20gZG9jcywgc2luY2UgaXQgYnJlYWtzIHRoZSBkb2NzIGJ1aWxkLCBhbmQgdGhlIHBsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICBSZW1vdmUgdjRsMnNyYyBmcm9tIGRvY3MsIHNpbmNlIGl0IGJyZWFrcyB0aGUgZG9jcyBidWlsZCwgYW5kIHRoZQoJICBwbHVnaW4gaXMgb25seSBidWlsdCBpZiAtLWVuYWJsZS1leHBlcmltZW50YWwgaXMgdXNlZCBhbnl3YXkuCgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBTcGFjZXMgPT4gdGFiLgoKMjAwNy0wNC0yOSAxNDo0MzozNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IEFkZCBjb2RlIHRvIGRyb3AgbWVtYmVyc2hpcCBvZiBhIG11bHRpY2FzdCBncm91cC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGxlYXZlX211bHRpY2FzdCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2FkZCksIChnc3RfbXVsdGl1ZHBzaW5rX3JlbW92ZSk6CgkgIEFkZCBjb2RlIHRvIGRyb3AgbWVtYmVyc2hpcCBvZiBhIG11bHRpY2FzdCBncm91cC4KCSAgKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzogKGdzdF91ZHBzaW5rX3VwZGF0ZV91cmkpLAoJICAoZ3N0X3VkcHNpbmtfc2V0X3VyaSk6CgkgIEltcGxlbWVudCBVUkkgaGFuZGxlci4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9ydHBpbmZvKToKCSAgVXNlIFVSSSBoYW5kbGVyIHRvIG1ha2UgdWRwc2luayBpbnN0YWNlLgoJICBJbXByb3ZlIGNvZGUgdG8gY29uZmlndXJlIHBvcnQgYW5kIGRlc3RpbmF0aW9uLgoKMjAwNy0wNC0yOSAxMzo1NjoxOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIDgwIGNoYXIgcG9saWNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICA4MCBjaGFyIHBvbGljZQoKMjAwNy0wNC0yOSAxMzo1MzoxNiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBhdXRvZ2VuLnNoOiBSZXF1aXJlIGF1dG9tYWtlIDEuNwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBhdXRvZ2VuLnNoOgoJICBSZXF1aXJlIGF1dG9tYWtlIDEuNwoJICAqIGV4dC9hbHNhc3BkaWYvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpdngvTWFrZWZpbGUuYW06CgkgICogZXh0L2l2b3JiaXMvTWFrZWZpbGUuYW06CgkgICogZXh0L211c2ljYnJhaW56L01ha2VmaWxlLmFtOgoJICAqIGV4dC9uZW9uL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zZGwvTWFrZWZpbGUuYW06CgkgICogZXh0L3N3ZmRlYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGhlb3JhL01ha2VmaWxlLmFtOgoJICAqIGV4dC93YXZwYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC94dmlkL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tb2RwbHVnL01ha2VmaWxlLmFtOgoJICBGaXggdXAgTWFrZWZpbGUuYW0gYWNjb3JkaW5nbHkuCgoyMDA3LTA0LTI5IDEzOjQ5OjAyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0LzogQWRkIGphY2sgYW5kIHVwZGF0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2xpbWFnZXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbmdoZWFkZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgQWRkIGphY2sgYW5kIHVwZGF0ZS4KCjIwMDctMDQtMjkgMTI6MTk6MjEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiBGaXggbXVsdGljYXN0IGRldGVjdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfYWRkKToKCSAgRml4IG11bHRpY2FzdCBkZXRlY3Rpb24uCgkgIERvbid0IHRyeSB0byBqb2luIGEgbXVsdGljYXN0IGdyb3VwIGlmIHRoZSBhZGRyZXNzIGlzIG5vdCBtdWx0aWNhc3QuCgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfdXBkYXRlX3VyaSk6CgkgIFNtYWxsIGRlYnVnIGltcHJvdmVtZW50LgoKMjAwNy0wNC0yNyAxNjo0NDoxNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogSWdub3JlIEFTWU5DIHN0YXRlIG1lc3NhZ2VzIGZyb20gdGhlIHVkcHNpbmssIGl0J3MgaXJyZWxldmFudCBmb3IgdGhlIHBhcmVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwaW5mbyksIChnc3RfcnRzcHNyY19wbGF5KSwKCSAgKGdzdF9ydHNwc3JjX2hhbmRsZV9tZXNzYWdlKToKCSAgSWdub3JlIEFTWU5DIHN0YXRlIG1lc3NhZ2VzIGZyb20gdGhlIHVkcHNpbmssIGl0J3MgaXJyZWxldmFudCBmb3IgdGhlCgkgIHBhcmVudC4KCjIwMDctMDQtMjcgMTU6MzA6MzkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5oOiBGaXggbW9kZSBwcm9wZXJ0eSB3aGVuIHNwZWNpZmllZCBhcyBhbiBhcmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5Lmg6CgkgIEZpeCBtb2RlIHByb3BlcnR5IHdoZW4gc3BlY2lmaWVkIGFzIGFuIGFyZy4KCjIwMDctMDQtMjYgMTU6MDg6MjAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgZG9jdW1lbnRhdGlvbiBmb3Igb3N4YXVkaW8gcGx1Z2luLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3N4YXVkaW8ueG1sOgoJICBBZGQgZG9jdW1lbnRhdGlvbiBmb3Igb3N4YXVkaW8gcGx1Z2luLgoKMjAwNy0wNC0yNiAxNDozMTozMiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCBkb2N1bWVudGF0aW9uIGZvciBvc3h2aWRlbwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3N4dmlkZW8ueG1sOgoJICBBZGQgZG9jdW1lbnRhdGlvbiBmb3Igb3N4dmlkZW8KCjIwMDctMDQtMjYgMTA6MDg6MjcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IFByb3RlY3Qgc3RhdGUgY2hhbmdlcyB3aXRoIGEgbG9jay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfaW5pdCksCgkgIChnc3RfcnRzcHNyY19maW5hbGl6ZSksIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksCgkgIChnc3RfcnRzcHNyY19vcGVuKSwgKGdzdF9ydHNwc3JjX2Nsb3NlKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX3J0cGluZm8pLCAoZ3N0X3J0c3BzcmNfcGxheSksCgkgIChnc3RfcnRzcHNyY19wYXVzZSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBQcm90ZWN0IHN0YXRlIGNoYW5nZXMgd2l0aCBhIGxvY2suCgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9jcmVhdGUpLAoJICAocGFyc2VfbGluZSk6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uaDoKCSAgUmVtb3ZlIHNvbWUgdW51c2VkIHN0dWZmLgoKMjAwNy0wNC0yNiAwODo0ODozMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IEhhbmRsZSB0aGUgY2FzZSB3aGVyZSB0aGVyZSBhcmUgZXhhY3RseSAwIGJ5dGVzIHRvIHJlYWQgYW5kIHRoZSBpb2N0bCBkaWQgbm90IHJlcG9ydCBhbiBlcnJvci4gRi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jcmVhdGUpOgoJICBIYW5kbGUgdGhlIGNhc2Ugd2hlcmUgdGhlcmUgYXJlIGV4YWN0bHkgMCBieXRlcyB0byByZWFkIGFuZCB0aGUgaW9jdGwKCSAgZGlkIG5vdCByZXBvcnQgYW4gZXJyb3IuIEZpeGVzICM0MzM1MzAuCgoyMDA3LTA0LTI2IDA4OjM5OjQ5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLio6IEFwcGx5IERJU0NPTlQgdG8gYnVmZmVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJICBBcHBseSBESVNDT05UIHRvIGJ1ZmZlcnMuCgkgIE9ubHkgYXBwbHkgdGltZXN0YW1wIHRvIHRoZSBmaXJzdCBzYW1wbGUgYWZ0ZXIgYSBESVNDT05ULCB0b28gbWFueSBWQlIKCSAgZmlsZXMgY2F1c2UgcmFuZG9tIGppdHRlciBpbiB0aGUgdGltZXN0YW1wcy4gRml4ZXMgIzQzMzExOS4KCjIwMDctMDQtMjUgMTU6NTU6MzIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHBkZWMuKjogQWRkIGR1bW15IGxhdGVuY3kgcHJvcGVydHkgdG8gYmUgYmFja3dhcmRzIGNvbXBhdCB3aXRoIHJ0cGJpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6IChnc3RfcnRwX2RlY19jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfZGVjX2luaXQpLCAoZ3N0X3J0cF9kZWNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfZGVjX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmg6CgkgIEFkZCBkdW1teSBsYXRlbmN5IHByb3BlcnR5IHRvIGJlIGJhY2t3YXJkcyBjb21wYXQgd2l0aCBydHBiaW4uCgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRzcHNyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3J0c3BzcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX3J0cGluZm8pOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgQWRkIGxhdGVuY3kgcHJvcGVydHkgYW5kIGNvbmZpZ3VyZSBpbiB0aGUgc2Vzc2lvbiBtYW5hZ2VyLgoJICBEb24ndCBzZXQgaW52YWxpZCBjbG9jay1iYXNlIGFuZCBzZXFudW0tYmFzZSBvbiBjYXBzLCBzb21lIHNlcnZlcnMKCSAgc29tZXRpbWVzIGRvbid0IHNlbmQgdGhlbS4KCjIwMDctMDQtMjUgMTU6MzE6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOiBEb3VibGUtY2hlY2sgdGhhdCBSR0IgaW5wdXQgY2FwcyBhcmUgcmVhbGx5IFJHQkEgY2FwcyAoYXBwYXJlbnRseSB0aGUgY29yZSBkb2Vzbid0IGFsd2F5cyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzogKGdzdF9hbHBoYV9jb2xvcl9iYXNlX2luaXQpLAoJICAoZ3N0X2FscGhhX2NvbG9yX3RyYW5zZm9ybV9jYXBzKSwgKGdzdF9hbHBoYV9jb2xvcl9zZXRfY2Fwcyk6CgkgIERvdWJsZS1jaGVjayB0aGF0IFJHQiBpbnB1dCBjYXBzIGFyZSByZWFsbHkgUkdCQSBjYXBzIChhcHBhcmVudGx5CgkgIHRoZSBjb3JlIGRvZXNuJ3QgYWx3YXlzIGNhdGNoIGl0IGlmIHRob3NlIGNhcHMgYXJlbid0IGEgc3Vic2V0IG9mCgkgIG91ciB0ZW1wbGF0ZSBjYXBzLCBhbHNvIHNlZSAjNDIxNTQzKS4gRml4ZXMgIzQyOTMxOSBpbiBhIHdheS4KCSAgQWxzbywgZG9uJ3QgbGVhayB0aGUgcGFkIHRlbXBsYXRlIGluIHRoZSB0cmFuc2Zvcm1fY2FwcyBmdW5jdGlvbi4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FscGhhY29sb3IuYzogKHNldHVwX2FscGhhY29sb3IpLAoJICAoY2xlYW51cF9hbHBoYWNvbG9yKSwgKGNyZWF0ZV9jYXBzX3JnYjI0KSwgKGNyZWF0ZV9jYXBzX3JnYmEzMiksCgkgIChjcmVhdGVfYnVmZmVyX3JnYjI0XzN4NCksIChjcmVhdGVfYnVmZmVyX3JnYmEzMl8zeDQpLAoJICAoR1NUX1NUQVJUX1RFU1QpLCAoYWxwaGFjb2xvcl9zdWl0ZSk6CgkgIEFkZCBzb21lIGJhc2ljIHVuaXQgdGVzdHMgZm9yIGFscGhhY29sb3IuCgoyMDA3LTA0LTI1IDE1OjA4OjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogSWYgd2UgZ2V0IGEgZmF0YWwgZmxvdyByZXR1cm4gaW4gdGhlIGxvb3AgZnVuY3Rpb24sIGZpcnN0IHBvc3QgdGhlIGVycm9yIG1lc3NhZ2UgYW5kIG9ubHkgdGhlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IChnc3RfcG5nZGVjX3Rhc2spOgoJICBJZiB3ZSBnZXQgYSBmYXRhbCBmbG93IHJldHVybiBpbiB0aGUgbG9vcCBmdW5jdGlvbiwgZmlyc3QgcG9zdCB0aGUKCSAgZXJyb3IgbWVzc2FnZSBhbmQgb25seSB0aGVuIHNlbmQgdGhlIEVPUyBldmVudCBkb3duc3RyZWFtLCBvdGhlcndpc2UKCSAgYXBwbGljYXRpb25zIG1pZ2h0IGdldCBhbiBlb3MgbWVzc2FnZSBiZWZvcmUgdGhlIGVycm9yIG1lc3NhZ2UgYW5kCgkgIHRoaW5rIGV2ZXJ5dGhpbmcgd2FzIG9rIChyZWxhdGVkIHRvICM0MjkzMTkpLgoKMjAwNy0wNC0yNSAxMDowNzoxMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IFJlYWQgdGhlIGNoYW5uZWwgYnl0ZSBhcyBhbiB1bnNpZ25lZCBieXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX3JlY2VpdmUpOgoJICBSZWFkIHRoZSBjaGFubmVsIGJ5dGUgYXMgYW4gdW5zaWduZWQgYnl0ZS4KCjIwMDctMDQtMjUgMDk6NDc6NDggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogTWFrZSBzdXJlIHdlIGNvbmZpZ3VyZSB0aGUgY2xvY2tfcmF0ZSBpbiB0aGUgYmFzZWNsYXNzIGluIHRoZSBzZXRjYXBzIGZ1bmN0aW9uLiBGaXhlcyAjNDMxMjgyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6IChnc3RfcnRwX0wxNl9kZXBheV9zZXRfcHJvcGVydHkpOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzogKGdzdF9ydHBfYW1yX2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9hbXJfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX2Ftcl9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6IChnc3RfcnRwX2dzbV9kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfZ3NtX2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOiAoZ3N0X3J0cF9oMjYzcF9kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOiAoZ3N0X3J0cF9oMjY0X2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6IChnc3RfcnRwX2lsYmNfZGVwYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2lsYmNfZGVwYXlfaW5pdCksIChnc3RfcnRwX2lsYmNfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX2lsYmNfZGVwYXlfcHJvY2VzcyksIChnc3RfaWxiY19kZXBheV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lsYmNfZGVwYXlfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOiAoZ3N0X3J0cF9tcDJ0X2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzogKGdzdF9ydHBfcGNtYV9kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfcGNtYV9kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOiAoZ3N0X3J0cF9wY211X2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9wY211X2RlcGF5X3NldGNhcHMpOgoJICBNYWtlIHN1cmUgd2UgY29uZmlndXJlIHRoZSBjbG9ja19yYXRlIGluIHRoZSBiYXNlY2xhc3MgaW4gdGhlIHNldGNhcHMKCSAgZnVuY3Rpb24uIEZpeGVzICM0MzEyODIuCgoyMDA3LTA0LTI1IDA4OjM2OjQ2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy4qOiBQYXJzZSBzZXJ2ZXIgYWRkcmVzcyBmcm9tIFNEUC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfZmluYWxpemUpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2ZyZWUpLCAocmVxdWVzdF9wdF9tYXApLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLCAoZ3N0X3J0c3BzcmNfb3Blbik6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBQYXJzZSBzZXJ2ZXIgYWRkcmVzcyBmcm9tIFNEUC4KCSAgSG9vayB1cCBhIHVkcHNpbmsgdG8gc2VuZCBSVENQIGJhY2sgdG8gdGhlIHNlcnZlci4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0Lmg6CgkgIEFkZCBzb21lIGRvY3MuCgoyMDA3LTA0LTI1IDA2OjUyOjA5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogTWFrZSBoZWFkZXIgZmllbGQgY2hlY2sgY29uZGl0aW9uYWwuIEZpeGVzICM0MzMxMzUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpOgoJICBNYWtlIGhlYWRlciBmaWVsZCBjaGVjayBjb25kaXRpb25hbC4gRml4ZXMgIzQzMzEzNQoKMjAwNy0wNC0yNCAwOToxMjo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEFkZCBtaW5pbWFsIGRvY3MgYmx1cmIgdG8gYWxwaGFjb2xvcjsgc3BsaXQgb3V0IGhlYWRlcnMgaW50byBzZXBhcmF0ZSBoZWFkZXIgZmlsZSBmb3IgZ3RrLWRvYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSAgKiBnc3QvYWxwaGEvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5oOgoJICBBZGQgbWluaW1hbCBkb2NzIGJsdXJiIHRvIGFscGhhY29sb3I7IHNwbGl0IG91dCBoZWFkZXJzIGludG8KCSAgc2VwYXJhdGUgaGVhZGVyIGZpbGUgZm9yIGd0ay1kb2MuCgoyMDA3LTA0LTIwIDE3OjI1OjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2RlYnVnL3Byb2dyZXNzcmVwb3J0LmM6IERvbid0IHRyeSB0byBwb3N0IE5VTEwgbWVzc2FnZSAoaW4gY2FzZSB3ZSBjYW4ndCBxdWVyeSB1cHN0cmVhbSBwb3NpdGlvbiBvciBkdXJhdGlvbikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9wcm9ncmVzc3JlcG9ydC5jOiAoZ3N0X3Byb2dyZXNzX3JlcG9ydF9yZXBvcnQpOgoJICBEb24ndCB0cnkgdG8gcG9zdCBOVUxMIG1lc3NhZ2UgKGluIGNhc2Ugd2UgY2FuJ3QgcXVlcnkgdXBzdHJlYW0KCSAgcG9zaXRpb24gb3IgZHVyYXRpb24pLgoKMjAwNy0wNC0xOCAxMjozNjozNyArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L2N1dHRlci9nc3RjdXR0ZXIuKjogRml4IHNvbWUgb2YgdGhlIG1vc3Qgb2J2aW91cyBidWdzIGluIGN1dHRlci4gTm93IGRvZXNuJ3QgbGVhayBldmVyeXRoaW5nIGlmIGlucHV0IGlzIHNpbGVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzogKGdzdF9jdXR0ZXJfaW5pdCksIChnc3RfY3V0dGVyX2NoYWluKSwKCSAgKGdzdF9jdXR0ZXJfZ2V0X2NhcHMpOgoJICAqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmg6CgkgIEZpeCBzb21lIG9mIHRoZSBtb3N0IG9idmlvdXMgYnVncyBpbiBjdXR0ZXIuIE5vdyBkb2Vzbid0IGxlYWsKCSAgZXZlcnl0aGluZyBpZiBpbnB1dCBpcyBzaWxlbnQuCgoyMDA3LTA0LTE4IDA5OjQ4OjI1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy4qOiBldmVyeXRoaW5nIGVsc2UgcmVzdWx0cyBpbiBhIGludmFsaWQgYmxvY2sgYWxpZ24gYW5kIGludmFsaWQgZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IChnc3Rfd2F2ZW5jX2NyZWF0ZV9oZWFkZXJfYnVmKSwKCSAgKGdzdF93YXZlbmNfc2lua19zZXRjYXBzKSwgKGdzdF93YXZlbmNfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5oOgoJICBXYXYgYXBwYXJlbnRseSBvbmx5IHN1cHBvcnRzIHdpZHRoPT1HU1RfUk9VTkRfVVAoZGVwdGgpLCBldmVyeXRoaW5nCgkgIGVsc2UgcmVzdWx0cyBpbiBhIGludmFsaWQgYmxvY2sgYWxpZ24gYW5kIGludmFsaWQgZmlsZXMuCgoyMDA3LTA0LTE3IDE2OjM5OjAyICswMDAwICBTbmFpayA8c25haWszMkBnbWFpbC5jb20+CgoJICBnc3Qvc21wdGUvYmFyYm94d2lwZXMuYzogQWRkIG1pc3NpbmcgYnJlYWsgc3RhdGVtZW50IGZvciBCT1hfSE9SSVpPTlRBTCBjYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNuYWlrIDxzbmFpazMyIGdtYWlsIGNvbT4KCSAgKiBnc3Qvc21wdGUvYmFyYm94d2lwZXMuYzogKGdzdF93aXBlX2JveGVzX2RyYXcpOgoJICBBZGQgbWlzc2luZyBicmVhayBzdGF0ZW1lbnQgZm9yIEJPWF9IT1JJWk9OVEFMIGNhc2UuCgoyMDA3LTA0LTE3IDEwOjE0OjQzICswMDAwICBWaW5jZW50IFRvcnJpIDx2dG9ycmlAdW5pdi1ldnJ5LmZyPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IFVzZSBjb3JyZWN0IGZvcm1hdCBzdHJpbmdzIGZvciBpbnRlZ2VyIHR5cGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFZpbmNlbnQgVG9ycmkgPHZ0b3JyaSBhdCB1bml2LWV2cnkgZG90IGZyPgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKToKCSAgVXNlIGNvcnJlY3QgZm9ybWF0IHN0cmluZ3MgZm9yIGludGVnZXIgdHlwZXMuCgoyMDA3LTA0LTE3IDAyOjUxOjAyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogVXNlIGdzdF9yaWZmX2NyZWF0ZV9hdWRpb190ZW1wbGF0ZV9jYXBzICgpIGluc3RlYWQgb2YgdGhlIGxvY2FsIGNhcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFyc2VfY3JlYXRlX3NvdXJjZXBhZCk6CgkgIFVzZSBnc3RfcmlmZl9jcmVhdGVfYXVkaW9fdGVtcGxhdGVfY2FwcyAoKSBpbnN0ZWFkIG9mIHRoZSBsb2NhbCBjYXBzLgoJICBUaGlzIG1ha2VzIHVwZGF0ZXMgb2YgdGhlIGxvY2FsIGNhcHMgdW5lY2Vzc2FyeSB3aGVuZXZlciBsaWJnc3RyaWZmCgkgIGdldHMgc3VwcG9ydCBmb3IgbmV3IGZvcm1hdHMuCgoyMDA3LTA0LTE2IDIxOjI5OjQwICswMDAwICBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgoJICBzeXMvc3VuYXVkaW8vOiBGaXggYW5kL29yIHVwZGF0ZSBjb3B5cmlnaHQgYXR0cmlidXRpb25zICgjNDMwMjI4KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBCcmlhbiBDYW1lcm9uICA8YnJpYW4uY2FtZXJvbiBhdCBzdW4gZG90IGNvbT4KCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW8uYzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlci5jOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyLmg6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmg6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJ0cmFjay5oOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmg6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmg6CgkgIEZpeCBhbmQvb3IgdXBkYXRlIGNvcHlyaWdodCBhdHRyaWJ1dGlvbnMgKCM0MzAyMjgpLgoKMjAwNy0wNC0xNCAxNzoxODoxNCArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvOiBBZGQgeG1sIGRvYyBmaWxlcyBmb3IgV2luZG93cyBzaW5rcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyZWN0ZHJhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmVjdHNvdW5kLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZWZvcm0ueG1sOgoJICBBZGQgeG1sIGRvYyBmaWxlcyBmb3IgV2luZG93cyBzaW5rcwoJICAqIHdpbjMyL3ZzNi9saWJnc3RxdGRlbXV4LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0bXBlZ3ZpZGVvcGFyc2UuZHNwOgoJICAqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3OgoJICBVcGRhdGUgcHJvamVjdHMgZmlsZXMuCgoyMDA3LTA0LTEzIDA5OjMyOjIxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6IEZpeCBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgRml4IGRvY3MuCgkgICogZ3N0L3J0c3AvVVJMUzoKCSAgQWRkIHNvbWUgbW9yZSBleGFtcGxlIHVybHMuCgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6IChnc3RfcnRwX2RlY19tYXJzaGFsX0JPWEVEX19VSU5UX1VJTlQpLAoJICAoZ3N0X3J0cF9kZWNfY2hhaW5fcnRwKToKCSAgQmV0dGVyIGRlYnVnZ2luZy4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChyZXF1ZXN0X3B0X21hcCksCgkgIChnc3RfcnRzcHNyY19hY3RpdmF0ZV9zdHJlYW1zKSwgKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwaW5mbyk6CgkgIFJlbW92ZSB1bnVzZWQgY29kZS4KCjIwMDctMDQtMTMgMDg6MTk6MzUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBSZWxheCB0aGUgYXVkaW8vbXBlZyBjYXBzIGFnYWluIGFuZCBhZGQgRklYTUU6IGNvbW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAodWludDY0X2NlaWxpbmdfc2NhbGVfaW50KSwKCSAgKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSk6CgkgIFJlbGF4IHRoZSBhdWRpby9tcGVnIGNhcHMgYWdhaW4gYW5kIGFkZCBGSVhNRTogY29tbWVudC4KCjIwMDctMDQtMTMgMDY6MjA6MjggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS4qOiBNb3JlIHNhbml0eSBjaGVjayBmb3IgdGhlIGhlYWRlciBmaWVsZHMuIEZpeCB0eXBlIGZvciAncmF0ZScgaGVhZGVyIGZpZWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKHVpbnQ2NF9jZWlsaW5nX3NjYWxlX2ludCksCgkgIChnc3Rfd2F2cGFyc2VfcGVyZm9ybV9zZWVrKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJICBNb3JlIHNhbml0eSBjaGVjayBmb3IgdGhlIGhlYWRlciBmaWVsZHMuIEZpeCB0eXBlIGZvciAncmF0ZScgaGVhZGVyCgkgIGZpZWxkLgoKMjAwNy0wNC0xMiAxNjowNjozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOiBJZiB0aGUgbWV0YWRhdGEgc3RyaW5ncyB3ZSBnZXQgaW4gdGhlIHN0cmVhbSBhcmUgbm90IFVURi04LCB0cnkgdG8gaW50ZXJwcmV0IHRoZW0gYWNjb3JkaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzogKG5vdGdzdF90YWdfZnJlZWZvcm1fc3RyaW5nX3RvX3V0ZjgpLAoJICAoZ3N0X2ljeWRlbXV4X3VuaWNvZGlmeSk6CgkgIElmIHRoZSBtZXRhZGF0YSBzdHJpbmdzIHdlIGdldCBpbiB0aGUgc3RyZWFtIGFyZSBub3QgVVRGLTgsIHRyeSB0bwoJICBpbnRlcnByZXQgdGhlbSBhY2NvcmRpbmcgdG8gdGhlIGNoYXJhY3RlciBlbmNvZGluZ3Mgc3BlY2lmaWVkIGluIHRoZQoJICBHU1RfSUNZX1RBR19FTkNPRElORyBhbmQgR1NUX1RBR19FTkNPRElORyBlbnZpcm9ubWVudCB2YXJpYWJsZXMsIGFuZAoJICBvbmx5IGZhbGwgYmFjayB0byBsb2NhbGUvSVNPLTg4NTktMSBpZiB0aG9zZSBhcmVuJ3Qgc2V0IG9yIGRvbid0CgkgIHdvcmsuIFNob3VsZCBmaXggIzQyODkwMS4KCjIwMDctMDQtMTIgMTQ6MjA6NTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOiBVc2UgdGhlIHByb3BlciBzeW5jIHdvcmQgZm9yIFNQUyBhbmQgUFBTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBVc2UgdGhlIHByb3BlciBzeW5jIHdvcmQgZm9yIFNQUyBhbmQgUFBTLgoKMjAwNy0wNC0xMiAxMTo0MToxMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvcnRwL01ha2VmaWxlLmFtOiBnc3QvcnRwL2ZudjFoYXNoLmMgKE1BU0tfMjQsIEZOVjFfSEFTSF8zMl9JTklULCBGTlYxX0hBU0hfMzJfUFJJTUUsIGZudjFfaGFzaF8zMl9uZXcsIGZudjFfaGFzaF8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2ZudjFoYXNoLmMgKE1BU0tfMjQsIEZOVjFfSEFTSF8zMl9JTklULCBGTlYxX0hBU0hfMzJfUFJJTUUsCgkgIGZudjFfaGFzaF8zMl9uZXcsIGZudjFfaGFzaF8zMl91cGRhdGUsIGZudjFfaGFzaF8zMl90b18yNCk6CgkgICogZ3N0L3J0cC9mbnYxaGFzaC5oIChfX0dTVF9GTlYxX0hBU0hfSF9fKToKCSAgQWRkIGEgc2ltcGxlIGhhc2hpbmcgaW1wbGVtZW50YXRpb24gdGhhdCB3ZSBjYW4gdXNlIHRvIGdlbmVyYXRlCgkgIGEgMjQtYml0IGlkZW50IHZhbHVlIGJhc2VkIG9uIHRoZSBjb2RlYm9va3MgZm9yIHZvcmJpcyBhbmQgdGhlb3JhLgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmMgKGdzdF9ydHBfdGhlb3JhX3BheV9maW5pc2hfaGVhZGVycywKCSAgZ3N0X3J0cF90aGVvcmFfcGF5X2hhbmRsZV9idWZmZXIpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYwoJICAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfcGFyc2VfY29uZmlndXJhdGlvbiwKCSAgZ3N0X3J0cF92b3JiaXNfZGVwYXlfc3dpdGNoX2NvZGVib29rLCBnc3RfcnRwX3ZvcmJpc19kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jIChnc3RfcnRwX3ZvcmJpc19wYXlfcmVzZXRfcGFja2V0LAoJICBnc3RfcnRwX3ZvcmJpc19wYXlfaW5pdF9wYWNrZXQsIGdzdF9ydHBfdm9yYmlzX3BheV9mbHVzaF9wYWNrZXQsCgkgIGdzdF9ydHBfdm9yYmlzX3BheV9maW5pc2hfaGVhZGVycywgZ3N0X3J0cF92b3JiaXNfcGF5X2hhbmRsZV9idWZmZXIpOgoJICBVc2UgdGhlIGhhc2hpbmcgZnVuY3Rpb24sIGVuc3VyaW5nIHRoYXQgdGhlIHNhbWUgY29kZWJvb2tzIHJlc3VsdAoJICBpbiB0aGUgc2FtZSBpZGVudCBhbmQgdGh1cyB0aGUgc2FtZSBTRFAgZGVzY3JpcHRpb24uCgkgIFZhcmlvdXMgbG9nIGZpeGVzL2NoYW5nZXMuCgoyMDA3LTA0LTEyIDExOjM3OjUwICswMDAwICBqZXJyeSB0YW4gPGplcnJ5LnRhbkBzdW4uY29tPgoKCSAgc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6IGl0IGlzIHRoZSBhcHBsaWNhdGlvbidzIHJlc3BvbnNpYmlsaXR5IHRvIG1ha2Ugc3VyZSBpdCBvcGVuIHRoZSBkZXZpY2Ugb25jZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBqZXJyeSB0YW4gPGplcnJ5IGRvdCB0YW4gYXQgc3VuIGRvdCBjb20+CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6IChnc3Rfc3VuYXVkaW9zcmNfb3Blbik6CgkgIHJlbW92ZSB0aGUgY2FsbCBvZiAgaW9jdGwgKGZkLCBBVURJT19NSVhFUl9NVUxUSVBMRV9PUEVOKSwgaXQgaXMgdGhlCgkgIGFwcGxpY2F0aW9uJ3MgcmVzcG9uc2liaWxpdHkgdG8gbWFrZSBzdXJlIGl0IG9wZW4gdGhlIGRldmljZSBvbmNlLgoJICBSZW1vdmUgYSBjYXJlbGVzcyBlcnJvciBpZiBBVURJT0RFViBpcyBzZXQuIEZpeGVzICMzOTI2MjAuCgoyMDA3LTA0LTEyIDEwOjUyOjAyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBNYWtlIHRpbWVzY2FsZSAzMiBiaXRzIGFnYWluIHNvIHdlIGRvbid0IHNjcmV3IHVwIHRoZSBwdHNfb2Zmc2V0IGNhbGN1bGF0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBNYWtlIHRpbWVzY2FsZSAzMiBiaXRzIGFnYWluIHNvIHdlIGRvbid0IHNjcmV3IHVwIHRoZSBwdHNfb2Zmc2V0CgkgIGNhbGN1bGF0aW9ucy4KCjIwMDctMDQtMTIgMDg6MjE6MjggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHBkZWMuKjogTWFrZSBiYWNrd2FyZCBjb21wYXQgd2l0aCBydHBiaW4gYnkgYWRkaW5nIHRoZSByZXF1ZXN0LXB0LW1hcCBzaWduYWxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuYzogKGdzdF9ydHBfZGVjX21hcnNoYWxfQk9YRURfX1VJTlRfVUlOVCksCgkgIChnc3RfcnRwX2RlY19jbGFzc19pbml0KSwgKGdzdF9ydHBfZGVjX2NoYWluX3J0cCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmg6CgkgIE1ha2UgYmFja3dhcmQgY29tcGF0IHdpdGggcnRwYmluIGJ5IGFkZGluZyB0aGUgcmVxdWVzdC1wdC1tYXAgc2lnbmFscy4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19jcmVhdGVfc3RyZWFtKSwKCSAgKG5ld19zZXNzaW9uX3BhZCksIChyZXF1ZXN0X3B0X21hcCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX2NhcHMpLAoJICAoZ3N0X3J0c3BzcmNfYWN0aXZhdGVfc3RyZWFtcyk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBJbXBsZW1lbnQgcmVxdWVzdC1wdC1tYXAgc2lnbmFscyBpbnN0ZWFkIG9mIHNldHRpbmcgY2FwcyBvbiB0aGUgYnVmZmVycwoJICBmb3IgdGhlIHNlc3Npb24gbWFuYWdlci4KCjIwMDctMDQtMTEgMTA6MjU6MjUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdHVkcC5jOiBSZWdpc3RlciBHc3ROZXRCdWZmZXIgaW4gcGx1Z2luX2luaXQgc28gdGhhdCB0aGUgdHlwZSBjYW4gYmUgdXNlZCBmcm9tIG11bHRpcGxlIHRocmVhZHMgd2l0aG91dCByYWNlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3R1ZHAuYzogKHBsdWdpbl9pbml0KToKCSAgUmVnaXN0ZXIgR3N0TmV0QnVmZmVyIGluIHBsdWdpbl9pbml0IHNvIHRoYXQgdGhlIHR5cGUgY2FuIGJlIHVzZWQgZnJvbQoJICBtdWx0aXBsZSB0aHJlYWRzIHdpdGhvdXQgcmFjZXMuCgoyMDA3LTA0LTExIDEwOjE5OjA2ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIHVwZGF0ZSB0byBzcGVjIGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSB0byBzcGVjIGZpbGUKCjIwMDctMDQtMTEgMDk6NTM6MzggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC86IEhhbmRsZSB2ZXJzaW9uIDEgbWRoZCBhdG9tcyB0byBnZXQgZXh0ZW5kZWQgcHJlY2lzaW9uIGR1cmF0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZ2V0X2R1cmF0aW9uKSwKCSAgKHF0ZGVtdXhfcGFyc2Vfc2FtcGxlcyksIChxdGRlbXV4X3BhcnNlX3NlZ21lbnRzKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayksIChxdGRlbXV4X3BhcnNlX3RyZWUpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5jOiAocXRkZW11eF9kdW1wX21kaGQpOgoJICBIYW5kbGUgdmVyc2lvbiAxIG1kaGQgYXRvbXMgdG8gZ2V0IGV4dGVuZGVkIHByZWNpc2lvbiBkdXJhdGlvbnMuCgkgIEZpeGVzICM0MjY5NzIuCgoyMDA3LTA0LTEwIDE3OjA2OjA1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOiBGaXggZGVwYXlsb2FkZXIgY2xvY2tfcmF0ZSBhbmQgc29tZSBjbGVhbnVwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOiAoZ3N0X3J0cF9hbXJfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX2Ftcl9kZXBheV9wcm9jZXNzKToKCSAgRml4IGRlcGF5bG9hZGVyIGNsb2NrX3JhdGUgYW5kIHNvbWUgY2xlYW51cHMuCgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogKGdzdF9ydHBfaDI2NF9kZXBheV9maW5hbGl6ZSksCgkgIChnc3RfcnRwX2gyNjRfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX2gyNjRfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuaDoKCSAgRG9uJ3QgcHVzaCBjb2RlY19kYXRhIGluIHRoZSBhZGFwdGVyIGJlY2F1c2UgaXQgbWlnaHQgZ2V0IGZsdXNoZWQgd2hlbgoJICB3ZSBnZXQgYSBkaXNjb250LgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6IChnc3RfcnRwX21wNGdfZGVwYXlfcHJvY2Vzcyk6CgkgIEhhbmRsZSBtdWx0aXBsZSBBVSBwZXIgcGFja2V0LgoJICAqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6IChnc3RfcnRwX3N2M3ZfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX3N2M3ZfZGVwYXlfcGx1Z2luX2luaXQpOgoJICBEaXNhYmxlIHJhbmssIHRoaXMgb25lIGRvZXMgbm90IHdvcmsuCgkgIFJlbW92ZSB0aW1lc3RhbXBpbmcsIGJhc2UgY2xhc3MgZG9lcyB0aGF0LgoKMjAwNy0wNC0xMCAxMjowMTozMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOiBsaW1pdCBjYXBzIHRvIHRoZSBmb3JtYXRzIHdlIGFubm91bmNlIGluIHRoZSB0ZW1wbGF0ZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6IChnc3RfYXVfcGFyc2VfcGFyc2VfaGVhZGVyKToKCSAgbGltaXQgY2FwcyB0byB0aGUgZm9ybWF0cyB3ZSBhbm5vdW5jZSBpbiB0aGUgdGVtcGxhdGUKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKHVpbnQ2NF9jZWlsaW5nX3NjYWxlX2ludCksCgkgIChnc3Rfd2F2cGFyc2VfcGVyZm9ybV9zZWVrKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksCgkgIChnc3Rfd2F2cGFyc2VfYWRkX3NyY19wYWQpLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKToKCSAgZml4IHNvbWUgY3Jhc2hlcnMvYXNzZXJ0cyB3aGVuIGRlYWxpbmcgd2l0aCBicm9rZW4gZmlsZXMKCjIwMDctMDQtMTAgMTA6MDE6MTQgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0LzogRml4IHNvbWUgY29tcGlsZXIgd2FybmluZ3MuIEZpeGVzICM0MjgxODIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUGV0ZXIgS2plbGxlcnN0ZWR0ICA8cGtqIGF0IGF4aXMgY29tPgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfbWFzc2FnZV9pbmRleCk6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6IChnc3RfcnRwX21wNGdfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6IChnc3RfcnRwX3NwZWV4X2RlcGF5X2dldF9tb2RlKSwKCSAgKGdzdF9ydHBfc3BlZXhfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfbWVkaWFfdG9fY2FwcyksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksIChnc3RfcnRzcHNyY19sb29wX3VkcCk6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfaW5pdF9zZW5kKToKCSAgRml4IHNvbWUgY29tcGlsZXIgd2FybmluZ3MuIEZpeGVzICM0MjgxODIuCgoyMDA3LTA0LTA2IDEyOjU0OjE2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvOiBNb3JwaCBSVFBEZWMgaW50byBzb21ldGhpbmcgY29tcGF0aWJsZSB3aXRoIFJUUEJpbiBhcyBhIGZhbGxiYWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuYzogKGZpbmRfc2Vzc2lvbl9ieV9pZCksIChjcmVhdGVfc2Vzc2lvbiksCgkgIChmcmVlX3Nlc3Npb24pLCAoZ3N0X3J0cF9kZWNfYmFzZV9pbml0KSwgKGdzdF9ydHBfZGVjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9kZWNfaW5pdCksIChnc3RfcnRwX2RlY19maW5hbGl6ZSksCgkgIChnc3RfcnRwX2RlY19xdWVyeV9zcmMpLCAoZ3N0X3J0cF9kZWNfY2hhaW5fcnRwKSwKCSAgKGdzdF9ydHBfZGVjX2NoYWluX3J0Y3ApLCAoZ3N0X3J0cF9kZWNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfZGVjX2dldF9wcm9wZXJ0eSksIChnc3RfcnRwX2RlY19wcm92aWRlX2Nsb2NrKSwKCSAgKGdzdF9ydHBfZGVjX2NoYW5nZV9zdGF0ZSksIChjcmVhdGVfcmVjdl9ydHApLCAoY3JlYXRlX3JlY3ZfcnRjcCksCgkgIChjcmVhdGVfcnRjcCksIChnc3RfcnRwX2RlY19yZXF1ZXN0X25ld19wYWQpLAoJICAoZ3N0X3J0cF9kZWNfcmVsZWFzZV9wYWQpOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5oOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3AuYzogKHBsdWdpbl9pbml0KToKCSAgTW9ycGggUlRQRGVjIGludG8gc29tZXRoaW5nIGNvbXBhdGlibGUgd2l0aCBSVFBCaW4gYXMgYSBmYWxsYmFjay4KCSAgVmFyaW91cyBvdGhlciBzdHlsZSBmaXhlcy4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChmaW5kX3N0cmVhbV9ieV9pZCksCgkgIChmaW5kX3N0cmVhbV9ieV91ZHBzcmMpLCAoZ3N0X3J0c3BzcmNfc3RyZWFtX2ZyZWUpLAoJICAoZ3N0X3J0c3BzcmNfY2xlYW51cCksIChnc3RfcnRzcHNyY19tZWRpYV90b19jYXBzKSwKCSAgKG5ld19zZXNzaW9uX3BhZCksIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksCgkgIChnc3RfcnRzcHNyY19hY3RpdmF0ZV9zdHJlYW1zKSwgKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpLAoJICAoZ3N0X3J0c3BzcmNfbG9vcF91ZHApLCAoZ3N0X3J0c3BzcmNfc2V0dXBfYXV0aCksCgkgIChnc3RfcnRzcHNyY19oYW5kbGVfbWVzc2FnZSksIChnc3RfcnRzcHNyY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgSW1wbGVtZW50IFJUUEJpbiBzZXNzaW9uIG1hbmFnZXIgaGFuZGxpbmcuCgkgIERvbid0IHRyeSB0byBhZGQgZW1wdHkgcHJvcGVydGllcyB0byBjYXBzLgoJICBJbXBsZW1lbnQgZmFsbGJhY2sgc2Vzc2lvbiBtYW5hZ2VyLCBoYW5kbGluZy4KCSAgRG9uJ3QgY29tYmluZSBlcnJvcnMgZnJvbSBSVENQIHN0cmVhbXMsIGp1c3QgaWdub3JlIHRoZW0uCgkgICogZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5jOiAocnRzcF90cmFuc3BvcnRfZ2V0X21hbmFnZXIpOgoJICAqIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuaDoKCSAgSW1wbGVtZW50IGZhbGxiYWNrIHNlc3Npb24gbWFuYWdlci4KCSAgTWFrZSBSVFBCaW4gdGhlIGRlZmF1bHQgb25lIHdoZW4gYXZhaWxhYmxlLgoKMjAwNy0wNC0wNSAxNTowNToyNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5Lio6IFRyeSB0byByZWNvdmVyIGZyb20gcGFja2V0IGxvc3MgYSBsaXR0bGUgYmV0dGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS5jOiAoZ3N0X3J0cF94cXRfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX3hxdF9kZXBheV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5Lmg6CgkgIFRyeSB0byByZWNvdmVyIGZyb20gcGFja2V0IGxvc3MgYSBsaXR0bGUgYmV0dGVyLgoKMjAwNy0wNC0wNSAxMzo1Njo0NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6IFRoaXMgZWxlbWVudCBpcyByZWFkeSB0byBiZSBhdXRvcGx1Z2dlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzogKGdzdF9ydHBfbXA0YV9kZXBheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfbXA0YV9kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfbXA0YV9kZXBheV9wbHVnaW5faW5pdCk6CgkgIFRoaXMgZWxlbWVudCBpcyByZWFkeSB0byBiZSBhdXRvcGx1Z2dlZC4KCjIwMDctMDQtMDUgMTE6MjY6MjUgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBEb24ndCBsZWF2ZSB0aGUgb2Zmc2V0cyBkZWZpbmVkIGJ5IHVwc3RyZWFtIGVsZW1lbnQgb24gdGhlIGNvbXByZXNzZWQgZGF0YSBidWZmZXIgd2UgYXJlIHB1c2hpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA0LTA1ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpOgoJICBEb24ndCBsZWF2ZSB0aGUgb2Zmc2V0cyBkZWZpbmVkIGJ5IHVwc3RyZWFtIGVsZW1lbnQgb24gdGhlCgkgIGNvbXByZXNzZWQgZGF0YSBidWZmZXIgd2UgYXJlIHB1c2hpbmcgZG93bnN0cmVhbS4gTWFrZSB0aGVtCgkgIEdTVF9CVUZGRVJfT0ZGU0VUX05PTkUuCgoyMDA3LTA0LTA0IDEyOjM5OjQxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpLzogRG9uJ3QgYWJvcnQgb24gb3V0LW9mLW1lbW9yeS4gVXNlIHN0cmVhbS1uciBhcyB1bnNpZ25lZCBpbnRlZ2VyIG9ubHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvUkVBRE1FOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksIChnc3RfYXZpX2RlbXV4X3BhcnNlX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2luZGV4KSwgKGdzdF9hdmlfZGVtdXhfc3luYyksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9zY2FuKSwgKGdzdF9hdmlfZGVtdXhfbWFzc2FnZV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X2NhbGN1bGF0ZV9kdXJhdGlvbnNfZnJvbV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXJfcHVzaCksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXJfcHVsbCksIChnc3RfYXZpX2RlbXV4X2NvbWJpbmVfZmxvd3MpLAoJICAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fZGF0YSk6CgkgIERvbid0IGFib3J0IG9uIG91dC1vZi1tZW1vcnkuIFVzZSBzdHJlYW0tbnIgYXMgdW5zaWduZWQgaW50ZWdlciBvbmx5LgoKMjAwNy0wNC0wMyAwOTo1NTo0NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9zbXB0ZS9iYXJib3h3aXBlcy5jOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc21wdGUvYmFyYm94d2lwZXMuYzoKCSAgRml4IGVycm9yIGFzIHNwb3R0ZWQgYnkgU25haWsgPHNuYWlrMzIgYXQgZ21haWwgZG90IGNvbT4KCjIwMDctMDMtMzAgMTc6MTk6MzQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBTdXBwb3J0IGF1ZGlvL3gtcmF3LWZsb2F0IGluIHdhdiBmaWxlcy4gVGhpcyBvbmx5IHdvcmtzIHdpdGggcGx1Z2lucy1iYXNlIENWUywgdXNpbmcgYW4gby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgU3VwcG9ydCBhdWRpby94LXJhdy1mbG9hdCBpbiB3YXYgZmlsZXMuIFRoaXMgb25seSB3b3JrcyB3aXRoCgkgIHBsdWdpbnMtYmFzZSBDVlMsIHVzaW5nIGFuIG9sZGVyIHZlcnNpb24gZG9lc24ndCBoYXZlIGFueQoJICBkaXNhZHZhbnRhZ2VzIHRob3VnaC4KCjIwMDctMDMtMzAgMTU6NTk6MjcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFJldmVydCBsYXN0IGNoYW5nZSBhcyB3ZSBkb24ndCB3YW50IHBsdWdpbnMtZ29vZCB0byBkZXBlbmQgb24gcGx1Z2lucy1iYXNlIENWUyBub3cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6IChnc3RfYXVfcGFyc2VfcmVzZXQpLAoJICAoZ3N0X2F1X3BhcnNlX3BhcnNlX2hlYWRlciksIChnc3RfYXVfcGFyc2VfY2hhaW4pOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuaDoKCSAgUmV2ZXJ0IGxhc3QgY2hhbmdlIGFzIHdlIGRvbid0IHdhbnQgcGx1Z2lucy1nb29kIHRvIGRlcGVuZCBvbgoJICBwbHVnaW5zLWJhc2UgQ1ZTIG5vdy4KCjIwMDctMDMtMzAgMDQ6NTA6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrLzogRG9uJ3QgcGxheSBhdWRpb2NvbnZlcnQuIEFzIHdhdnBhY2sgd2FudHMvb3V0cHV0cyBhbGwgc2FtcGxlcyB3aXRoIHdpZHRoPT0zMiBhbmQgZGVwdGg9WzEsMzJdIGFjY2VwdCB0aC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2luaXQpLCAoZ3N0X3dhdnBhY2tfZGVjX3Npbmtfc2V0X2NhcHMpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NsaXBfb3V0Z29pbmdfYnVmZmVyKSwKCSAgKGdzdF93YXZwYWNrX2RlY19wb3N0X3RhZ3MpLCAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19zaW5rX3NldF9jYXBzKSwgKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKSwKCSAgKGdzdF93YXZwYWNrX2VuY19jaGFpbik6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICBEb24ndCBwbGF5IGF1ZGlvY29udmVydC4gQXMgd2F2cGFjayB3YW50cy9vdXRwdXRzIGFsbCBzYW1wbGVzIHdpdGgKCSAgd2lkdGg9PTMyIGFuZCBkZXB0aD1bMSwzMl0gYWNjZXB0IHRoaXMgYW5kIGxldCBhdWRpb2NvbnZlcnQgY29udmVydAoJICB0byBhY2NlcHRlZCBmb3JtYXRzIGluc3RlYWQgb2YgZG9pbmcgaXQgaW4gdGhlIGVsZW1lbnQgZm9yIG4qOCBkZXB0aHMuCgkgIFRoaXMgYWxzbyBhZGRzIHN1cHBvcnQgZm9yIG5vbi1uKjggZGVwdGhzIGFuZCBwcmV2ZW50cyBzb21lIHVzZWxlc3MKCSAgbWVtb3J5IGFsbG9jYXRpb25zLiBGaXhlcyAjNDIxNTk4CgkgIEFsc28gYWRkIGEgd29ya2Fyb3VuZCBmb3IgYnVnICM0MjE1NDIgaW4gd2F2cGFja2VuYyBmb3Igbm93Li4uCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tlbmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrcGFyc2UuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgQ29uc2lkZXIgdGhlIGNoYW5nZSBhYm92ZSBpbiB0aGUgdW5pdCB0ZXN0cyBhbmQgdGVzdCBpZiB0aGUgY29ycmVjdAoJICBjYXBzIGFyZSBhY2NlcHRlZCBhbmQgc2V0LiBBbHNvIGNoZWNrIGZvciBHU1RfQlVGRkVSX09GRlNFVF9FTkQgaW4KCSAgdGhlIHdhdnBhY2twYXJzZSB1bml0IHRlc3QuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX3Npbmtfc2V0X2NhcHMpOgoJICBTZXQgY2FwcyBvbiB0aGUgc3JjIHBhZCBhcyBzb29uIGFzIHBvc3NpYmxlLgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICBGaXggaW5kZW50aW9uLiBnc3QtaW5kZW50IGlzIG5vdyBjYWxsZWQgYnkgY2ljbC4KCjIwMDctMDMtMjkgMTg6NTE6MzMgKzAwMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBjb25maWd1cmUuYWM6IFJlcXVpcmUgZ3N0LXBsdWdpbnMtYmFzZSBDVlMgZm9yIGF1ZGlvY29udmVydCB3aXRoIG5vbi1uYXRpdmUgZmxvYXQgc3VwcG9ydCBhbmQgd2lkdGgvZGVwdGggZml4IGluIGxpYmcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBSZXF1aXJlIGdzdC1wbHVnaW5zLWJhc2UgQ1ZTIGZvciBhdWRpb2NvbnZlcnQgd2l0aCBub24tbmF0aXZlCgkgIGZsb2F0IHN1cHBvcnQgYW5kIHdpZHRoL2RlcHRoIGZpeCBpbiBsaWJnc3RyaWZmLgoJICBQYXRjaCBieTogUmVuw6kgU3RhZGxlciA8bWFpbCBhdCByZW5lc3RhZGxlciBkb3QgZGU+CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOiAoZ3N0X2F1X3BhcnNlX3Jlc2V0KSwKCSAgKGdzdF9hdV9wYXJzZV9wYXJzZV9oZWFkZXIpLCAoZ3N0X2F1X3BhcnNlX2NoYWluKToKCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmg6CgkgIERvbid0IHN3YXAgdGhlIGZsb2F0cyBvdXJzZWxmIGlmIHRoZXkncmUgbm90IGluIG5hdGl2ZSBlbmRpYW5uZXNzLgoJICBJbnN0ZWFkIGxldCBhdWRpb2NvbnZlcnQgaGFuZGxlIHRoaXMuIEZpeGVzICMzMzk4MzguCgoyMDA3LTAzLTI5IDE0OjQwOjM1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEZsdXNoIGFkYXB0ZXIgb24gZGlzY29udHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmg6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6IChnc3RfcnRwX2gyNjNwX2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF9oMjYzcF9kZXBheV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6IChnc3RfcnRwX2gyNjRfZGVwYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2gyNjRfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX2gyNjRfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX2gyNjRfZGVwYXlfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6IChnc3RfcnRwX21wNGFfZGVwYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX21wNGFfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX21wNGFfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzogKGdzdF9ydHBfbXA0Z19kZXBheV9wcm9jZXNzKToKCSAgRmx1c2ggYWRhcHRlciBvbiBkaXNjb250cy4KCjIwMDctMDMtMjkgMTQ6MDM6MjEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogVXNlIG1vcmUgZWZmaWNpZW50IGFkYXB0ZXIgYW5kIHJ0cGJ1ZmZlciBtZXRob2RzIHdoZW4gcG9zc2libGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzogKGdzdF9ydHBfTDE2X2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzogKGdzdF9ydHBfZ3NtX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6IChnc3RfcnRwX2lsYmNfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzogKGdzdF9ydHBfbXAydF9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOiAoZ3N0X3J0cF9tcDRnX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOiAoZ3N0X3J0cF9tcDRnX3BheV9mbHVzaCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzogKGdzdF9ydHBfbXA0dl9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfbXA0dl9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzogKGdzdF9ydHBfbXA0dl9wYXlfZmx1c2gpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzogKGdzdF9ydHBfbXBhX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6IChnc3RfcnRwX21wYV9wYXlfZmx1c2gpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzogKGdzdF9ydHBfbXB2X2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6IChnc3RfcnRwX3BjbWFfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzogKGdzdF9ydHBfcGNtdV9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOiAoZ3N0X3J0cF9zdjN2X2RlcGF5X3Byb2Nlc3MpOgoJICBVc2UgbW9yZSBlZmZpY2llbnQgYWRhcHRlciBhbmQgcnRwYnVmZmVyIG1ldGhvZHMgd2hlbiBwb3NzaWJsZS4KCjIwMDctMDMtMjkgMTI6MTQ6MjIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IENvcnJlY3RseSBoYW5kbGUgd2lkdGghPWRlcHRoIGlucHV0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiAoZ3N0X3dhdmVuY19jcmVhdGVfaGVhZGVyX2J1ZiksCgkgIChnc3Rfd2F2ZW5jX3Npbmtfc2V0Y2Fwcyk6CgkgIENvcnJlY3RseSBoYW5kbGUgd2lkdGghPWRlcHRoIGlucHV0LgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBBbHJlYWR5IGV4cG9ydCBpbiB0aGUgY2FwcyB0aGF0IHdpZHRoPT04IHVzZXMgdW5zaWduZWQgc2FtcGxlcyBhbmQKCSAgZXZlcnl0aGluZyBlbHNlIHVzZXMgc2lnbmVkIHNhbXBsZXMuCgoyMDA3LTAzLTI5IDA5OjU5OjIzICswMDAwICBMYXVyZW50IEdsYXlhbCA8c3BnbGVnbGVAeWFob28uZnI+CgoJICBnc3QvdWRwLzogUmV3b3JrIHRoZSBzb2NrZXQgYWxsb2NhdGlvbiBhIGJpdCBiYXNlZCBvbiB0aGUgc29ja2ZkIGFyZ3VtZW50IHNvIHRoYXQgaXQgYmVjb21lcyB1c2FibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTGF1cmVudCBHbGF5YWwgPHNwZ2xlZ2xlIGF0IHlhaG9vIGRvdCBmcj4KCSAgKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzogKGdzdF9keW51ZHBzaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X2R5bnVkcHNpbmtfaW5pdCksIChnc3RfZHludWRwc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2R5bnVkcHNpbmtfZ2V0X3Byb3BlcnR5KSwgKGdzdF9keW51ZHBzaW5rX2luaXRfc2VuZCksCgkgIChnc3RfZHludWRwc2lua19jbG9zZSk6CgkgICogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmg6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY2xhc3NfaW5pdCksIChnc3RfdWRwc3JjX2luaXQpLAoJICAoZ3N0X3VkcHNyY19jcmVhdGUpLCAoZ3N0X3VkcHNyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3VkcHNyY19nZXRfcHJvcGVydHkpLCAoZ3N0X3VkcHNyY19zdGFydCksIChnc3RfdWRwc3JjX3N0b3ApOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkgIFJld29yayB0aGUgc29ja2V0IGFsbG9jYXRpb24gYSBiaXQgYmFzZWQgb24gdGhlIHNvY2tmZCBhcmd1bWVudCBzbyB0aGF0CgkgIGl0IGJlY29tZXMgdXNhYmxlLgoJICBBZGQgYSBjbG9zZWZkIHByb3BlcnR5IHRvIGluc3RydWN0IHRoZSB1ZHAgZWxlbWVudHMgdG8gY2xvc2UgdGhlIGN1c3RvbQoJICBmaWxlIGRlc2NyaXB0b3JzIHdoZW4gZ29pbmcgdG8gUkVBRFkuIEZpeGVzICM0MjMzMDQuCgkgIEFQSTpHc3RVRFBTcmM6OmNsb3NlZmQgcHJvcGVydHkKCSAgQVBJOkdzdER5blVEUFNpbms6OmNsb3NlZmQgcHJvcGVydHkKCjIwMDctMDMtMjkgMDg6MDg6NDkgKzAwMDAgIExhdXJlbnQgR2xheWFsIDxzcGdsZWdsZUB5YWhvby5mcj4KCgkgIGdzdC9ydHAvOiBBZGRlZCBIMjY0IHBheWxvYWRlci4gRml4ZXMgIzQyMzc4Mi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBMYXVyZW50IEdsYXlhbCA8c3BnbGVnbGUgYXQgeWFob28gZG90IGZyPgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzogKGdzdF9ydHBfaDI2NF9wYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfaDI2NF9wYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX2gyNjRfcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9oMjY0X3BheV9maW5hbGl6ZSksIChnc3RfcnRwX2gyNjRfcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9oMjY0X3BheV9oYW5kbGVfYnVmZmVyKSwgKGdzdF9ydHBfaDI2NF9wYXlfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfaDI2NF9wYXlfZ2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfaDI2NF9wYXlfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfaDI2NF9wYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5oOgoJICBBZGRlZCBIMjY0IHBheWxvYWRlci4gRml4ZXMgIzQyMzc4Mi4KCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOiAoZ3N0X3J0cF9oMjY0X2RlcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9oMjY0X2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9oMjY0X2RlcGF5X3Byb2Nlc3MpOgoJICBTbWFsbCBmaXhlcy4KCjIwMDctMDMtMjggMjI6Mjc6MzYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBBY3R1YWxseSBzdXBwb3J0IGRlcHRocyBmcm9tIDEgdG8gMzIsIG5vdCBvbmx5IDggdG8gMzIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBBY3R1YWxseSBzdXBwb3J0IGRlcHRocyBmcm9tIDEgdG8gMzIsIG5vdCBvbmx5IDggdG8gMzIuCgoyMDA3LTAzLTI4IDIyOjIzOjQzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogQWRkIHN1cHBvcnQgZm9yIHdhdiBmaWxlcyBjb250YWluaW5nIGF1ZGlvL3gtcmF3LWludCB3aXRoIHJhbmRvbSBkZXB0aHMgYmV0d2VlbiAxIGFuZCAzMiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIEFkZCBzdXBwb3J0IGZvciB3YXYgZmlsZXMgY29udGFpbmluZyBhdWRpby94LXJhdy1pbnQgd2l0aCByYW5kb20KCSAgZGVwdGhzIGJldHdlZW4gMSBhbmQgMzIgYml0cy4KCjIwMDctMDMtMjggMTg6NDA6MTIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkgIGdzdC9ydHAvOiBBZGRlZCBNUDRBLUxBVE0gZGVwYXlsb2FkZXIuIEZpeGVzICM0MTc3OTIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogU3RlZmFuIEtvc3QgIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzogKGdzdF9ydHBfbXA0YV9kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9tcDRhX2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9tcDRhX2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9tcDRhX2RlcGF5X2ZpbmFsaXplKSwgKGdzdF9ydHBfbXA0YV9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfbXA0YV9kZXBheV9wcm9jZXNzKSwgKGdzdF9ydHBfbXA0YV9kZXBheV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9tcDRhX2RlcGF5X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX21wNGFfZGVwYXlfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfbXA0YV9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuaDoKCSAgQWRkZWQgTVA0QS1MQVRNIGRlcGF5bG9hZGVyLiBGaXhlcyAjNDE3NzkyLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6IChnc3RfcnRwX21wNHZfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX21wNHZfZGVwYXlfcHJvY2Vzcyk6CgkgIEZpeHVwIGRlcGF5bG9hZGVyLCBzZXR0aW5nIGNvZGVjX2RhdGEsIHVzaW5nIG1vcmUgZWZmaWNpZW50IGFkYXB0b3IgYW5kCgkgIHJ0cGJ1ZmZlciBoYW5kbGluZy4KCSAgKiBnc3QvcnRzcC9VUkxTOgoJICBBZGQgdXJsIHRvIHRlc3QgYWJvdmUuCgoyMDA3LTAzLTI4IDE1OjE3OjI3ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvOiBQcm9jZXNzICdjdHRzJyBhdG9tcywgd2hpY2ggYXJlIHByZXNlbnQgaW4gQVZDIElTTyBmaWxlcyAoLm1vdiBmaWxlcyB3aXRoIGgyNjQgdmlkZW8pLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9wcmVwYXJlX2N1cnJlbnRfc2FtcGxlKSwKCSAgKGdzdF9xdGRlbXV4X2NoYWluKSwgKHF0ZGVtdXhfcGFyc2Vfc2FtcGxlcyk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmM6IChxdGRlbXV4X2R1bXBfY3R0cyk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmM6CgkgIFByb2Nlc3MgJ2N0dHMnIGF0b21zLCB3aGljaCBhcmUgcHJlc2VudCBpbiBBVkMgSVNPIGZpbGVzICgubW92IGZpbGVzCgkgIHdpdGggaDI2NCB2aWRlbykuCgkgIFVzZSB0aGUgb2Zmc2V0IHByZXNlbnQgaW4gJ2N0dHMnIHRvIGNhbGN1bGF0ZSB0aGUgUFRTIGZvciBlYWNoIHBhY2tldAoJICBhbmQgc2V0IHRoZSBQVFMgb24gb3V0Z29pbmcgYnVmZmVycy4KCSAgRml4ZXMgIzQyMzI4MwoKMjAwNy0wMy0yNSAxNTozNDo0MiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuKjogSGFuZGxlIGRlZmF1bHQgY2xvY2stcmF0ZXMgZm9yIHN0YXRpYyBwYXlsb2FkIHR5cGVzLCByZWFycmFuZ2Ugc3R1ZmYgc28gdGhhdCB0aGUgcnRwbWFwIGZpZWxkIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChmaW5kX3N0cmVhbV9ieV9zZXR1cCksCgkgIChnc3RfcnRzcHNyY19jcmVhdGVfc3RyZWFtKSwgKGdzdF9ydHNwc3JjX3N0cmVhbV9mcmVlKSwKCSAgKGdldF9kZWZhdWx0X3JhdGVfZm9yX3B0KSwgKGdzdF9ydHNwc3JjX3BhcnNlX3J0cG1hcCksCgkgIChnc3RfcnRzcHNyY19tZWRpYV90b19jYXBzKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfY2FwcyksCgkgIChnc3RfcnRzcHNyY19hY3RpdmF0ZV9zdHJlYW1zKSwgKGdzdF9ydHNwc3JjX3BhcnNlX3J0cGluZm8pOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgSGFuZGxlIGRlZmF1bHQgY2xvY2stcmF0ZXMgZm9yIHN0YXRpYyBwYXlsb2FkIHR5cGVzLCByZWFycmFuZ2Ugc3R1ZmYgc28KCSAgdGhhdCB0aGUgcnRwbWFwIGZpZWxkIGluIHRoZSBzZHAgY2FuIG92ZXJyaWRlIHRoZSBkZWZhdWx0cy4KCSAgUGFyc2UgUlRQLUluZm8gZmllbGQgdG8gZ2V0IHRoZSBzZXFudW0gYW5kIHRpbWViYXNlIGZpZWxkcyB0aGF0IHNob3VsZAoJICBnbyBpbiB0aGUgY2Fwcy4KCSAgRGVsYXkgY29uZmlndXJpbmcgY2FwcyBhZnRlciB3ZSBnb3QgdGhlIFJUUC1JbmZvIGZyb20gdGhlIFBMQVkgcmVwbHkgZnJvbQoJICB0aGUgc2VydmVyLgoKMjAwNy0wMy0yNCAxOTo0Njo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiBSZW1vdmUgJ2NoYW5uZWwtcG9zaXRpb25zJyBmaWVsZCB3aGVuIG11bmdpbmcgaW5wdXQgY2FwcyBpbnRvIDEtY2hhbm5lbCBvdXRwdXQgY2FwcyAoSS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGdzdF9kZWludGVybGVhdmVfc2lua19zZXRjYXBzKToKCSAgUmVtb3ZlICdjaGFubmVsLXBvc2l0aW9ucycgZmllbGQgd2hlbiBtdW5naW5nIGlucHV0IGNhcHMgaW50bwoJICAxLWNoYW5uZWwgb3V0cHV0IGNhcHMgKEkgZ3Vlc3MgdGVjaG5pY2FsbHkgd2Ugc2hvdWxkIHNldCB0aGUKCSAgcG9zaXRpb24gZm9yIGVhY2ggY2hhbm5lbCBvbiB0aGUgb3V0cHV0IGNhcHMgaWYgaXQncyBub24tTk9ORSwKCSAgYnV0IEknbGwgc2F2ZSB0aGF0IGFzIGEgdGFzayBmb3IgYW5vdGhlciBkYXkpLgoKMjAwNy0wMy0yMiAyMjoxNDoyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiBEb24ndCBsZWFrIGlucHV0IGJ1ZmZlciBpbiBjaGFpbiBmdW5jdGlvbjsgbWFpbnRhaW4gb3VyIG93biBsaXN0IG9mIHNvdXJjZSBwYWRzIC0gdGhlci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGdzdF9kZWludGVybGVhdmVfYWRkX25ld19wYWRzKSwKCSAgKGdzdF9kZWludGVybGVhdmVfcmVtb3ZlX3BhZHMpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9wcm9jZXNzKSwKCSAgKGdzdF9kZWludGVybGVhdmVfY2hhaW4pOgoJICBEb24ndCBsZWFrIGlucHV0IGJ1ZmZlciBpbiBjaGFpbiBmdW5jdGlvbjsgbWFpbnRhaW4gb3VyIG93biBsaXN0IG9mCgkgIHNvdXJjZSBwYWRzIC0gdGhlcmUgYXJlIG5vIGd1YXJhbnRlZXMgYWJvdXQgdGhlIG9yZGVyIG9mIHRoZSBsaXN0CgkgIGluIHRoZSBHc3RFbGVtZW50IHN0cnVjdCwgYW5kIHdlIHdhbnQgYSB2ZXJ5IHNwZWNpZmljIG9yZGVyOyBsYXN0bHksCgkgIHNvbWUgbW9yZSBkZWJ1Z2dpbmcuCgoyMDA3LTAzLTIyIDE2OjI1OjU2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogUmV2ZXJ0IGxhc3QgY29tbWl0LCBwcmV2ZW50aW5nIGluZmluaXRlIHBsdWdnaW5nIGxvb3BzIHdpdGggcmFua3MgaXMgbm8gY2xlYW4gc29sdXRpb24uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9wbHVnaW5faW5pdCk6CgkgIFJldmVydCBsYXN0IGNvbW1pdCwgcHJldmVudGluZyBpbmZpbml0ZSBwbHVnZ2luZyBsb29wcyB3aXRoIHJhbmtzCgkgIGlzIG5vIGNsZWFuIHNvbHV0aW9uIGFuZCBpbiBnZW5lcmFsIHRoZXJlJ3Mgbm8gcmVhc29uIHdoeSBvbmUgd2FudHMKCSAgdG8gcGFyc2UgZnJhbWVkIHdhdnBhY2sgZGF0YSBhZ2Fpbi4KCjIwMDctMDMtMjIgMTU6NTI6NTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogU2VuZCB0aGUgbmV3IHNlZ21lbnQgZXZlbnQgaW4gdGltZSBmb3JtYXQgaW5zdGVhZCBvZiBieXRlcy4gVGhpcyBhbGxvd3MgIndhdnBhY2tlbmMgISB3YS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfcHVzaF9ibG9jayk6CgkgIFNlbmQgdGhlIG5ldyBzZWdtZW50IGV2ZW50IGluIHRpbWUgZm9ybWF0IGluc3RlYWQgb2YgYnl0ZXMuIFRoaXMKCSAgYWxsb3dzICJ3YXZwYWNrZW5jICEgd2F2cGFja2RlYyAhIHNvbWVhdWRpb3NpbmsiIHBpcGVsaW5lcy4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3BsdWdpbl9pbml0KToKCSAgQWNjZXB0IGZyYW1lZCBhbmQgbm9uLWZyYW1lZCBpbnB1dCwgd2F2cGFja3BhcnNlIGRvZXNuJ3QgY2FyZS4gVG8KCSAgcHJldmVudCAid2F2cGFja3BhcnNlICEgd2F2cGFja3BhcnNlICEgLi4uIiBwaXBlbGluZXMgbG93ZXIgdGhlCgkgIHJhbmsgb2Ygd2F2cGFja3BhcnNlIGJ5IG9uZS4gVGhpcyBhbGxvd3MgIndhdnBhY2tlbmMgISB3YXZwYWNrcGFyc2UgIQoJICAuLi4iIHBpcGVsaW5lcy4KCjIwMDctMDMtMjIgMTE6MDg6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogUmV2ZXJ0IHRvIHVzZSBnc3RfcGFkX2FsbG9jX2J1ZmZlcigpIGhlcmUuIFdlIGNhbiBhbmQgc2hvdWxkIHVzZSBpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKToKCSAgUmV2ZXJ0IHRvIHVzZSBnc3RfcGFkX2FsbG9jX2J1ZmZlcigpIGhlcmUuIFdlIGNhbiBhbmQgc2hvdWxkIHVzZSBpdC4KCSAgVGhhbmtzIHRvIEphbiBhbmQgTWlrZSBmb3Igbm90aWNpbmcgbXkgbWlzdGFrZS4KCjIwMDctMDMtMjIgMDk6NDQ6MTcgKzAwMDAgIENocmlzdG9waGUgRGVoYWlzIDxjaHJpc3RvcGhlLmRlaGFpc0BnbWFpbC5jb20+CgoJICBleHQvZ2NvbmYvZ2NvbmYuYzogQWNjZXB0IGNvbXBsZXggcGlwZWxpbmUgZGVzY3JpcHRpb25zIGFzIGFuIGF1ZGlvIHByb2ZpbGUgaW5zdGVhZCBvZiBqdXN0IGEgc2luZ2xlIGVsZW1lbnQuIEZpeGVzICMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBDaHJpc3RvcGhlIERlaGFpcyA8Y2hyaXN0b3BoZSBkb3QgZGVoYWlzIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZXh0L2djb25mL2djb25mLmM6IChnc3RfZ2NvbmZfcmVuZGVyX2Jpbl93aXRoX2RlZmF1bHQpOgoJICBBY2NlcHQgY29tcGxleCBwaXBlbGluZSBkZXNjcmlwdGlvbnMgYXMgYW4gYXVkaW8gcHJvZmlsZSBpbnN0ZWFkIG9mIGp1c3QKCSAgYSBzaW5nbGUgZWxlbWVudC4gRml4ZXMgIzQyMDY1OC4KCjIwMDctMDMtMjIgMDA6MTc6NDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuKjogUHV0IHRoZSB3cml0ZSBoZWxwZXJzIGludG8gdGhlIEdzdFdhdnBhY2tFbmMgc3RydWN0IGRpcmVjdGx5IGFuZCBub3QgYXMgYSBwb2ludGVyIHRvIHNhdi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfd2F2cGFja19lbmNfaW5pdCksIChnc3Rfd2F2cGFja19lbmNfY2hhaW4pLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3Jld3JpdGVfZmlyc3RfYmxvY2spOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSAgUHV0IHRoZSB3cml0ZSBoZWxwZXJzIGludG8gdGhlIEdzdFdhdnBhY2tFbmMgc3RydWN0IGRpcmVjdGx5IGFuZCBub3QKCSAgYXMgYSBwb2ludGVyIHRvIHNhdmUgdHdvIHNtYWxsLCBidXQgdXNlbGVzcyBtYWxsb2NzLiBUaGlzIGFsc28gbWFrZXMKCSAgaXQgcG9zc2libGUgdG8gZHJvcCB0aGUgZmluYWxpemUgbWV0aG9kLgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfcHVzaF9idWZmZXIpOgoJICBGb3IgY29uc2lzdGVuY3kgcmVhc29ucyBhbHNvIHNldCBHU1RfQlVGRkVSX09GRlNFVF9FTkQgb24gdGhlIG91dGdvaW5nCgkgIGJ1ZmZlcnMgdGhlIHNhbWUgd2F5IHdhdnBhY2tlbmMgZG9lcyBpdC4KCjIwMDctMDMtMjEgMjM6NTA6MDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogRG9uJ3QgdXNlIGdzdF9wYWRfYWxsb2NfYnVmZmVyKCkgYXMgd2UgbWlnaHQgY2xpcCB0aGUgYnVmZmVyIGxhdGVyIGFuZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfY2hhaW4pOgoJICBEb24ndCB1c2UgZ3N0X3BhZF9hbGxvY19idWZmZXIoKSBhcyB3ZSBtaWdodCBjbGlwIHRoZSBidWZmZXIgbGF0ZXIgYW5kCgkgIEJhc2VUcmFuc2Zvcm0tYmFzZWQgZWxlbWVudHMgd2lsbCBsaWtlbHkgYnJlYWsgYmVjYXVzZSBvZiB3cm9uZwoJICB1bml0LXNpemUuIEFsc28gcGx1ZyBhIHBvc3NpYmxlIG1lbWxlYWsgdGhhdCBoYXBwZW5zIHdoZW4gZGVjb2RpbmcKCSAgZmFpbHMgZm9yIHNvbWUgcmVhc29uLgoKMjAwNy0wMy0yMSAxMTo0OTozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzogUmVuYW1lIHJlZ2lzdGVyZWQgdHlwZSBpbiBwcmVwYXJhdGlvbiBvZiBHc3RUYWdEZW11eCBtb3ZpbmcgdG8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOiAoZ3N0X3RhZ19kZW11eF9nZXRfdHlwZSk6CgkgIFJlbmFtZSByZWdpc3RlcmVkIHR5cGUgaW4gcHJlcGFyYXRpb24gb2YgR3N0VGFnRGVtdXggbW92aW5nIHRvCgkgIC1iYXNlIGF0IHNvbWUgcG9pbnQgaW4gdGhlIGZ1dHVyZS4KCjIwMDctMDMtMTkgMTA6Mjk6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogU3RyZWFtaW5nIG1vZGUgZml4ZXM6IGRvbid0IHVucmVmIGJ1ZmZlciB3ZSBkb24ndCBvd24gYW55IGxvbmdlcjsgcmVtb3ZlIGJvZ3VzIGFkYXB0ZXIgZmwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpOgoJICBTdHJlYW1pbmcgbW9kZSBmaXhlczogZG9uJ3QgdW5yZWYgYnVmZmVyIHdlIGRvbid0IG93biBhbnkgbG9uZ2VyOwoJICByZW1vdmUgYm9ndXMgYWRhcHRlciBmbHVzaC4gRml4ZXMgIzQxOTMzOC4KCjIwMDctMDMtMTggMDQ6MjE6MjggKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgUkVRVUlSRU1FTlRTOiBDaGFuZ2UgdGhlIGZvcm1hdCB0byBrZXkvdmFsdWUsIGFkZCBhIGJ1bmNoIG9mIGluZm9ybWF0aW9uLCByZW1vdmUgYSBidW5jaCBvZiByZXF1aXJlbWVudHMgdGhhdCBhcmUgZm9yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIFJFUVVJUkVNRU5UUzogQ2hhbmdlIHRoZSBmb3JtYXQgdG8ga2V5L3ZhbHVlLCBhZGQgYSBidW5jaCBvZgoJICBpbmZvcm1hdGlvbiwgcmVtb3ZlIGEgYnVuY2ggb2YgcmVxdWlyZW1lbnRzIHRoYXQgYXJlIGZvcgoJICBvdGhlciBHU3RyZWFtZXIgcGFja2FnZXMuCgoyMDA3LTAzLTE4IDAyOjAwOjU0ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIFJFUVVJUkVNRU5UUzogRml4IGEgZmV3IHRoaW5ncy4gIFRoaXMgZmlsZSByZWFsbHkgbmVlZHMgYSBnb29kIG9uY2Utb3Zlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogUkVRVUlSRU1FTlRTOiBGaXggYSBmZXcgdGhpbmdzLiAgVGhpcyBmaWxlIHJlYWxseSBuZWVkcyBhCgkgIGdvb2Qgb25jZS1vdmVyLgoKMjAwNy0wMy0xNiAxODozODoxOCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubTogRml4IHByZXZpb3VzIGNvbW1pdCwgd2Ugd2FudCB0byBwYXNzIHRoZSBOU1ZpZXcgaW4gdGhlIG1lc3NhZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgRml4IHByZXZpb3VzIGNvbW1pdCwgd2Ugd2FudCB0byBwYXNzIHRoZSBOU1ZpZXcgaW4gdGhlIG1lc3NhZ2UuCgoyMDA3LTAzLTE2IDE2OjI3OjIwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOiBFbWl0ICdoYXZlLW5zLXZpZXcnIG1lc3NhZ2Ugd2hlbiB3b3JraW5nIGluIGVtYmVkZGVkIG1vZGUuIFRoZSBtZXNzYWdlIHdpbGwgY29udGFpbiBhIHBvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgRW1pdCAnaGF2ZS1ucy12aWV3JyBtZXNzYWdlIHdoZW4gd29ya2luZyBpbiBlbWJlZGRlZCBtb2RlLiBUaGUgbWVzc2FnZQoJICB3aWxsIGNvbnRhaW4gYSBwb2ludGVyIHRvIHRoZSBuZXdseSBjcmVhdGVkIE5TVmlldy4KCjIwMDctMDMtMTYgMDk6NTc6NDAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOiBBIDEwIGJhbmQgRVEgc2hvdWxkIGJlIGluaXRpYWxpemVkIHRvIDEgYmFuZHMgYW5kIG5vdCB0byAzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyXzEwYmFuZHNfaW5pdCk6CgkgIEEgMTAgYmFuZCBFUSBzaG91bGQgYmUgaW5pdGlhbGl6ZWQgdG8gMSBiYW5kcyBhbmQgbm90IHRvIDMuCgoyMDA3LTAzLTE1IDEyOjA1OjAxICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL01ha2VmaWxlLmFtOiBEb24ndCBmb3JnZXQgdG8gZGlzdHJpYnV0ZSB0aGUgc3lzL29zeGF1ZGlvLyBkaXJlY3RvcnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgRG9uJ3QgZm9yZ2V0IHRvIGRpc3RyaWJ1dGUgdGhlIHN5cy9vc3hhdWRpby8gZGlyZWN0b3J5LgoKMjAwNy0wMy0xNSAxMTozOTo1MyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIEFjdGl2YXRlIG9zeGF1ZGlvIGluIGdzdC1wbHVnaW5zLWdvb2Qgd2l0aCBwcm9wZXIgYnVpbGQgc2V0dXAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpby5jOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSAgKGdzdF9vc3hfYXVkaW9fc2lua19vc3hlbGVtZW50X2RvX2luaXQpLCAoZ3N0X29zeF9hdWRpb19zaW5rX2luaXQpLAoJICAoZ3N0X29zeF9hdWRpb19zaW5rX2dldGNhcHMpLAoJICAoZ3N0X29zeF9hdWRpb19zaW5rX2NyZWF0ZV9yaW5nYnVmZmVyKSwgKHBsdWdpbl9pbml0KToKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSAgKGdzdF9vc3hfYXVkaW9fc3JjX29zeGVsZW1lbnRfZG9faW5pdCksIChnc3Rfb3N4X2F1ZGlvX3NyY19pbml0KSwKCSAgKGdzdF9vc3hfYXVkaW9fc3JjX2NyZWF0ZV9yaW5nYnVmZmVyKToKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5jOiAoZ3N0X29zeF9yaW5nX2J1ZmZlcl9nZXRfdHlwZSksCgkgIChnc3Rfb3N4X3JpbmdfYnVmZmVyX2NsYXNzX2luaXQpLCAoZ3N0X29zeF9yaW5nX2J1ZmZlcl9pbml0KSwKCSAgKGdzdF9vc3hfcmluZ19idWZmZXJfYWNxdWlyZSksIChnc3Rfb3N4X3JpbmdfYnVmZmVyX3N0YXJ0KSwKCSAgKGdzdF9vc3hfcmluZ19idWZmZXJfcGF1c2UpLCAoZ3N0X29zeF9yaW5nX2J1ZmZlcl9zdG9wKToKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5oOgoJICBBY3RpdmF0ZSBvc3hhdWRpbyBpbiBnc3QtcGx1Z2lucy1nb29kIHdpdGggcHJvcGVyIGJ1aWxkIHNldHVwLgoJICBBZGQgaW5saW5lZCBkb2N1bWVudGF0aW9uLgoJICBGaXggZGVidWcgc3RhdGVtZW50cwoJICBGaXggcmluZ2J1ZmZlciB3aGVuIHBhdXNpbmcuCgkgIEZpeGVzICMzMjM0NzEKCjIwMDctMDMtMTQgMjI6MjE6MjYgKzAwMDAgIFBoaWxpcHBlIEthbGFmIDxwaGlsaXBwZS5rYWxhZkBjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcnRwLzogUG9ydGVkIG11bGF3IGFuZCBhbGF3IHBheWxvYWRlcnMgdG8gdXNlIG5ldyBiYXNlIGNsYXNzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5oOgoJICBQb3J0ZWQgbXVsYXcgYW5kIGFsYXcgcGF5bG9hZGVycyB0byB1c2UgbmV3IGJhc2UgY2xhc3MKCjIwMDctMDMtMTQgMTY6MzA6MTkgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvb3N4dmlkZW8vOiBGaXggbGVha3Mgd2hlbiBydW5uaW5nIGEgTlNBcHAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5oOgoJICAqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIEZpeCBsZWFrcyB3aGVuIHJ1bm5pbmcgYSBOU0FwcC4KCSAgQWNjZXB0IGFueSBraW5kIG9mIHJlc29sdXRpb25zLgoJICBXb3JrcyBpbiBmdWxsc2NyZWVuLiBDYW4gbWF4aW1pemUuCgkgIE9ubHkgdGhpbmcgbGVmdCBiZWZvcmUgYmVpbmcgYWJsZSB0byBtb3ZlIHRoaXMgdG8gLWdvb2QgaXMgZG9jdW1lbnRhdGlvbgoJICBhbmQgZW1iZWRkZWQgd2luZG93IHN1cHBvcnQuCgoyMDA3LTAzLTE0IDE1OjI1OjEwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvLzogVXBkYXRlIHRyYW5zbGF0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcG8vYWYucG86CgkgICogcG8vYXoucG86CgkgICogcG8vY3MucG86CgkgICogcG8vZW5fR0IucG86CgkgICogcG8vaXQucG86CgkgICogcG8vbmwucG86CgkgICogcG8vb3IucG86CgkgICogcG8vc3EucG86CgkgICogcG8vc3IucG86CgkgICogcG8vc3YucG86CgkgICogcG8vdWsucG86CgkgICogcG8vdmkucG86CgkgIFVwZGF0ZSB0cmFuc2xhdGlvbnMuCgoyMDA3LTAzLTE0IDE0OjQ5OjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBGaXggc3RyaW5nIHJlcGxhY2UgZXJyb3IgKEFHX0FHX0dTVF8qID0+IEFHX0dTVF8qKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBGaXggc3RyaW5nIHJlcGxhY2UgZXJyb3IgKEFHX0FHX0dTVF8qID0+IEFHX0dTVF8qKS4KCjIwMDctMDMtMTQgMTQ6NDg6MDggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9lcXVhbGl6ZXIvOiBBZGQgMyBhbmQgMTAgYmFuZCB2ZXJzaW9uIGFuZCBhZGQgbWlzc2luZyBnc3Rfb2JqZWN0X3N5bmNfdmFsdWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChfZG9faW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2NsYXNzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9nZXRfdHlwZSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRfYnlfaW5kZXgpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkcmVuX2NvdW50KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2ludGVyZmFjZV9pbml0KSwgKHNldHVwX2ZpbHRlciksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jb21wdXRlX2ZyZXF1ZW5jaWVzKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX3RyYW5zZm9ybV9pcCksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl8xMGJhbmRzX2Jhc2VfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl8xMGJhbmRzX2NsYXNzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfMTBiYW5kc19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyXzEwYmFuZHNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyXzEwYmFuZHNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuaDoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfM2JhbmRzX2Jhc2VfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl8zYmFuZHNfY2xhc3NfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl8zYmFuZHNfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl8zYmFuZHNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyXzNiYW5kc19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmg6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX25iYW5kc19iYXNlX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX2luaXQpOgoJICBBZGQgMyBhbmQgMTAgYmFuZCB2ZXJzaW9uIGFuZCBhZGQgbWlzc2luZyBnc3Rfb2JqZWN0X3N5bmNfdmFsdWVzLgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2V2ZW50KSwKCSAgKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICBBZGQgc29tZSBjb21tZW50cyBhYm91dCBmbG9hdCBzdXBwb3J0LgoKMjAwNy0wMy0xMiAxNzo1Njo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzogRml4IGhhbmRsaW5nIG9mIC0xIHZhbHVlcyBmb3Igc3RhcnQgYW5kIHN0b3AgdmFsdWVzIHdoZW4gc2Vla2luZywgYW5kIFNFRUtfQ1VSK1NFRUtfRU5EIGhlci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6IChnc3RfdGFnX2RlbXV4X3NyY3BhZF9ldmVudCk6CgkgIEZpeCBoYW5kbGluZyBvZiAtMSB2YWx1ZXMgZm9yIHN0YXJ0IGFuZCBzdG9wIHZhbHVlcyB3aGVuIHNlZWtpbmcsCgkgIGFuZCBTRUVLX0NVUitTRUVLX0VORCBoZXJlIGFzIHdlbGwuCgoyMDA3LTAzLTEyIDE3OjI0OjIzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiBGaXggaGFuZGxpbmcgb2YgLTEgdmFsdWVzIGZvciBzdGFydCBhbmQgc3RvcCB2YWx1ZXMgd2hlbiBzZWVraW5nLCBhbmQgU0VFS19DVVIrU0VFS19FTkQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X3NyY3BhZF9ldmVudCk6CgkgIEZpeCBoYW5kbGluZyBvZiAtMSB2YWx1ZXMgZm9yIHN0YXJ0IGFuZCBzdG9wIHZhbHVlcyB3aGVuIHNlZWtpbmcsCgkgIGFuZCBTRUVLX0NVUitTRUVLX0VORC4KCjIwMDctMDMtMTIgMTU6NDk6MDIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJICBJJ20gdG9vIGxhenkgdG8gY29tbWVudCB0aGlzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGQgUGF0Y2ggYnk6IGxpbmUgZm9yIHdpbSwgc2luY2UgaGUncyBhd2F5CgoyMDA3LTAzLTEyIDEzOjI4OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IEZpeCBwYXJzaW5nIG9mIElEMyB2Mi4yLjAgUElDIGZyYW1lcy4gT25seSBpbiB2ZXJzaW9uID49IDIuMy4wIGlzIHRoZSBpbWFnZSBmb3JtYXQgYSB2YXJpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAocGFyc2VfcGljdHVyZV9mcmFtZSk6CgkgIEZpeCBwYXJzaW5nIG9mIElEMyB2Mi4yLjAgUElDIGZyYW1lcy4gT25seSBpbiB2ZXJzaW9uID49IDIuMy4wIGlzCgkgIHRoZSBpbWFnZSBmb3JtYXQgYSB2YXJpYWJsZS1sZW5ndGggTlVMLXRlcm1pbmF0ZWQgc3RyaW5nOyBpbgoJICB2ZXJzaW9ucyBiZWZvcmUgdGhhdCB0aGUgaW1hZ2UgZm9ybWF0IGlzIGEgZml4ZWQtbGVuZ3RoIHN0cmluZyBvZgoJICAzIGNoYXJhY3RlcnMgKHNlZSAjMzQ4NjQ0IGZvciBhIHNhbXBsZSB0YWcpLgoJICBBbHNvIG1ha2Ugc3VwcGxpZWQgbWltZSB0eXBlIGxvd2VyLWNhc2UgYW5kIGZpeCB1cCAnanBnJyB0byAnanBlZycuCgoyMDA3LTAzLTExIDIyOjIzOjA0ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay4qOiBIYW5kbGUgZGlzcGxheSBtb2RlIGNoYW5nZXMgZHVyaW5nIHBsYXliYWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIEhhbmRsZSBkaXNwbGF5IG1vZGUgY2hhbmdlcyBkdXJpbmcgcGxheWJhY2suCgoyMDA3LTAzLTEwIDE2OjA3OjMxICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICB3aW4zMi9NQU5JRkVTVDogQWRkIG5ldyBwcm9qZWN0IGZpbGVzIHRvIE1BTklGRVNULgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgQWRkIG5ldyBwcm9qZWN0IGZpbGVzIHRvIE1BTklGRVNULgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhdWRpb2Z4LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cnRwLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cnRzcC5kc3A6CgkgIFVwZGF0ZSBwcm9qZWN0IGZpbGVzLgoKMjAwNy0wMy0xMCAxMjozMDo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFByaW50ZiBmb3JtYXQgZml4ZXM7IGFsc28gYWRkIHNvbWUgbWlzc2luZyBxdW90ZXMgaW4gdHJhbnNsYXRlZCBzdHJpbmdzLiBGaXhlcyAjNDE2NzI4IGFuZCAjNDE2NzI3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3BhcnNlX3N1YmluZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2VfaW5kZXgpOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogKGdzdF92NGwyX2ZpbGxfbGlzdHMpOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2dyYWJfZnJhbWUpOgoJICBQcmludGYgZm9ybWF0IGZpeGVzOyBhbHNvIGFkZCBzb21lIG1pc3NpbmcgcXVvdGVzIGluIHRyYW5zbGF0ZWQKCSAgc3RyaW5ncy4gRml4ZXMgIzQxNjcyOCBhbmQgIzQxNjcyNy4KCjIwMDctMDMtMDkgMjA6MTI6MDggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOiBUaW0gYW5kIEkgY2FuJ3QgdGhpbmsgb2YgYW55IHJlYXNvbiB0aGUgY2hpbGQgYXVkaW8gc2luayBuZWVkcyB0byBiZSBzZXQgYmFjayB0byBOLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzogKGdzdF9hdXRvX2F1ZGlvX3NpbmtfZmluZF9iZXN0KToKCSAgVGltIGFuZCBJIGNhbid0IHRoaW5rIG9mIGFueSByZWFzb24gdGhlIGNoaWxkIGF1ZGlvIHNpbmsgbmVlZHMgdG8KCSAgYmUgc2V0IGJhY2sgdG8gTlVMTCBhZnRlciBzdWNjZXNzZnVsbHkgZGV0ZXJtaW5pbmcgdGhhdCBpdCBjYW4KCSAgcmVhY2ggUkVBRFkgLSBpdCBnZXRzIGltbWVkaWF0ZWx5IHNldCBiYWNrIHRvIFJFQURZIGJ5IHRoZSBjYWxsZXIKCSAgYW55d2F5LCBjYXVzaW5nIGFuIHVubmVjZXNzYXJ5IGNsb3NlL29wZW4gb2YgYW55IGF1ZGlvIGRldmljZXMKCSAgaW52b2x2ZWQuCgoyMDA3LTAzLTA5IDE5OjUxOjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgcG8vOiBBZGQgamEucG8gZmlsZSBmcm9tICMzNzczMDYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHBvL0xJTkdVQVM6CgkgICogcG8vamEucG86CgkgIEFkZCBqYS5wbyBmaWxlIGZyb20gIzM3NzMwNi4KCjIwMDctMDMtMDkgMTk6NDQ6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvc3VuYXVkaW8vOiBBY3R1YWxseSB0cmFuc2xhdGUgc3VuYXVkaW8gbWl4ZXIgdHJhY2sgbGFiZWxzIGluc3RlYWQgb2YganVzdCBtYXJraW5nIHRoZSBzdHJpbmdzIGFzIHRyYW5zbGF0YWJsZSAoIzMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvLmM6IChwbHVnaW5faW5pdCk6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJ0cmFjay5jOgoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfdHJhY2tfbmV3KToKCSAgQWN0dWFsbHkgdHJhbnNsYXRlIHN1bmF1ZGlvIG1peGVyIHRyYWNrIGxhYmVscyBpbnN0ZWFkIG9mIGp1c3QKCSAgbWFya2luZyB0aGUgc3RyaW5ncyBhcyB0cmFuc2xhdGFibGUgKCMzNzczMDYpOyBjbGVhbiB1cCB3ZWlyZAoJICBsYWJlbCBzdHJpbmcgbWFwcGluZyBjb2RlIHRoYXQgc2VydmVzIG5vIGFwcGFyZW50IHB1cnBvc2UuIEFsc28KCSAgc2V0IHRoZSAndW50cmFuc2xhdGVkLWxhYmVsJyBwcm9wZXJ0eSB3aGVuIGNyZWF0aW5nIG1peGVyIHRyYWNrcwoJICBpZiB0aGUgR3N0TWl4ZXJUcmFjayBiYXNlIGNsYXNzIHN1cHBvcnRzIHRoaXMuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zdW5hdWRpby5jOiAoR1NUX1NUQVJUX1RFU1QpLAoJICAoc3VuYXVkaW9fc3VpdGUpOgoJICBWZXJ5IG1pbmltYWxpc3RpYyB1bml0IHRlc3QgZm9yIHN1bmF1ZGlvbWl4ZXIgZWxlbWVudCAoY29tcGlsZXMsIGJ1dCBub3QKCSAgYWN0dWFsbHkgdGVzdGVkIG9uIGEgc3lzdGVtIHdoZXJlIHN1bmF1ZGlvbWl4ZXIgaXMgYXZhaWxhYmxlKS4KCjIwMDctMDMtMDkgMTg6NDk6MzcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IFJlLWVuYWJsZSB0aGUgc3RhdGVzIHRlc3QgYW5kIHNlZSBpZiBpdCB3b3JrcyBvbiB0aGUgYnVpbGRib3RzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgUmUtZW5hYmxlIHRoZSBzdGF0ZXMgdGVzdCBhbmQgc2VlIGlmIGl0IHdvcmtzIG9uIHRoZSBidWlsZGJvdHMuCgoyMDA3LTAzLTA5IDE3OjMyOjMyICswMDAwICBXaW0gVGF5bWFucyA8d2ltQGZsdWVuZG8uY29tPgoKCSAgZXh0L2R2L2dzdGR2ZGVjLio6IEluZmVyIHBpeGVsLWFzcGVjdC1yYXRpbyBmcm9tIHRoZSB2aWRlbyBmcmFtZSBmb3JtYXQgaWYgaXQgaXNuJ3QgcHJvdmlkZWQgYnkgdGhlIGNvbnRhaW5lciwgYXMgaGFwLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlYy5jOiAoZ3N0X2R2ZGVjX2luaXQpLCAoZ3N0X2R2ZGVjX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfZHZkZWNfc3JjX25lZ290aWF0ZSksIChnc3RfZHZkZWNfY2hhaW4pLAoJICAoZ3N0X2R2ZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2R2L2dzdGR2ZGVjLmg6CgkgIEluZmVyIHBpeGVsLWFzcGVjdC1yYXRpbyBmcm9tIHRoZSB2aWRlbyBmcmFtZSBmb3JtYXQgaWYgaXQgaXNuJ3QKCSAgcHJvdmlkZWQgYnkgdGhlIGNvbnRhaW5lciwgYXMgaGFwcGVucyB3aGVuIHBsYXlpbmcgRFYgZnJvbSBBVkkKCSAgb3IgUXVpY2t0aW1lIGNvbnRhaW5lcnMuCgkgIFBhdGNoIGJ5OiBXaW0gVGF5bWFucyA8d2ltQGZsdWVuZG8uY29tPgoJICBGaXhlcyAjMzgwOTQ0CgoyMDA3LTAzLTA5IDE3OjA1OjE3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBXaGVuIGFjdGl2YXRlZCwgcmVtb3ZlIHRoZSB1ZHBzcmMgdGltZW91dCwgd2UgaGF2ZSBkYXRhZmxvdyBhbmQgdGltZW91dHMgd2lsbCBsYXRlciBiZSBoYW5kbGVkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2FjdGl2YXRlX3N0cmVhbXMpOgoJICBXaGVuIGFjdGl2YXRlZCwgcmVtb3ZlIHRoZSB1ZHBzcmMgdGltZW91dCwgd2UgaGF2ZSBkYXRhZmxvdyBhbmQgdGltZW91dHMKCSAgd2lsbCBsYXRlciBiZSBoYW5kbGVkIGJ5IHRoZSBqaXR0ZXJidWZmZXIuCgoyMDA3LTAzLTA5IDE2OjUzOjM5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzogQWRkIHdyaXRlIHN1cHBvcnQgZm9yIEdTVF9UQUdfTVVTSUNCUkFJTlpfU09SVE5BTUUgKFRTT1ApIHRhZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgQWRkIHdyaXRlIHN1cHBvcnQgZm9yIEdTVF9UQUdfTVVTSUNCUkFJTlpfU09SVE5BTUUgKFRTT1ApIHRhZy4KCSAgRml4ZXMgIzQxNDQ5Ni4KCjIwMDctMDMtMDkgMTU6MDQ6NDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IEZpeCBzdHJlYW0gcG9zaXRpb24gcmVwb3J0aW5nIGFmdGVyIGEgc2Vlay4gRml4ZXMgIzQxNjQ0NS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLAoJICAoZ3N0X2F2aV9kZW11eF9wdXNoX2V2ZW50KSwgKGdzdF9hdmlfZGVtdXhfZG9fc2VlayksCgkgIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9kYXRhKSwKCSAgKGdzdF9hdmlfZGVtdXhfY2hhaW4pOgoJICBGaXggc3RyZWFtIHBvc2l0aW9uIHJlcG9ydGluZyBhZnRlciBhIHNlZWsuIEZpeGVzICM0MTY0NDUuCgoyMDA3LTAzLTA5IDA4OjU4OjI2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZXF1YWxpemVyLzogUmVmYWN0b3IgcGx1Z2luIGludG8gYSBiYXNlIGNsYXNzIGFuZCBhIGZpcnN0IHN1YmNsYXNzIChuYmFuZCBlcSkuIFRoZSBuYmFuZCBlcSB1c2VzIEdzdENoaWxkUHJveHkgYW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoX2RvX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9jbGFzc19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfZ2V0X3R5cGUpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkX2J5X2luZGV4KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZHJlbl9jb3VudCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9pbnRlcmZhY2VfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYXNlX2luaXQpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2xhc3NfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9maW5hbGl6ZSksIChzZXR1cF9maWx0ZXIpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY29tcHV0ZV9mcmVxdWVuY2llcyksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9zZXRfcHJvcGVydHkpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX3NldHVwKSwgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5oOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl9uYmFuZHNfYmFzZV9pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX25iYW5kc19jbGFzc19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX25iYW5kc19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX25iYW5kc19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuaDoKCSAgUmVmYWN0b3IgcGx1Z2luIGludG8gYSBiYXNlIGNsYXNzIGFuZCBhIGZpcnN0IHN1YmNsYXNzIChuYmFuZCBlcSkuIFRoZQoJICBuYmFuZCBlcSB1c2VzIEdzdENoaWxkUHJveHkgYW5kIGlzIGNvbnRyb2xhYmxlLiBNb3JlIHN1YmNsYXNzZXMgd2lsbAoJICBmb2xsb3cuCgoyMDA3LTAzLTA4IDE2OjAxOjQyICswMDAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBNYWtlIGF2aWRlbXV4IGFjY2VwdCBvcHRpb25hbCBoZWFkZXIgY2h1bmtzIGluIGFueSBvcmRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSZW7DqSBTdGFkbGVyIDxtYWlsIGF0IHJlbmVzdGFkbGVyIGRvdCBkZT4KCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksCgkgIChnc3RfYXZpX2RlbXV4X3B1c2hfZXZlbnQpLCAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fZGF0YSksIChnc3RfYXZpX2RlbXV4X2NoYWluKToKCSAgTWFrZSBhdmlkZW11eCBhY2NlcHQgb3B0aW9uYWwgaGVhZGVyIGNodW5rcyBpbiBhbnkgb3JkZXIuCgkgIEZpeGVzICM0MTU0NDYuCgoyMDA3LTAzLTA4IDEyOjIzOjU3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBEaXNhYmxlIHRoZSBzdGF0ZXMgY2hlY2sgdW50aWwgdGhlIHJlbWFpbmluZyBWYWxncmluZCBlcnJvcnMgYXJlIGZpeGVkIG9yIHN1cHByZXNzZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBEaXNhYmxlIHRoZSBzdGF0ZXMgY2hlY2sgdW50aWwgdGhlIHJlbWFpbmluZyBWYWxncmluZCBlcnJvcnMKCSAgYXJlIGZpeGVkIG9yIHN1cHByZXNzZWQuCgoyMDA3LTAzLTA4IDEwOjI0OjQzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOiBBZGQgYXVkaW9keW5hbWljIGNoZWNrIHRvIC5jdnNpZ25vcmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgQWRkIGF1ZGlvZHluYW1pYyBjaGVjayB0byAuY3ZzaWdub3JlCgoyMDA3LTAzLTA4IDEwOjAyOjEyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXVkaW9meC86IEFkZCBuZXcgYXVkaW9keW5hbWljIGVsZW1lbnQgd2hpY2ggY2FuIGFjdCBhcyBhIGNvbXByZXNzb3Igb3IgZXhwYW5kZXIuIFN1cHBvcnRlZCBhcmUgaGFyZC1rbmVlIGFuZCBzb2YuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJldmlld2VkIGJ5OiBTdGVmYW4gS29zdCAgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoJICAqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOgoJICAoZ3N0X2F1ZGlvX2R5bmFtaWNfY2hhcmFjdGVyaXN0aWNzX2dldF90eXBlKSwKCSAgKGdzdF9hdWRpb19keW5hbWljX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X2F1ZGlvX2R5bmFtaWNfc2V0X3Byb2Nlc3NfZnVuY3Rpb24pLAoJICAoZ3N0X2F1ZGlvX2R5bmFtaWNfYmFzZV9pbml0KSwgKGdzdF9hdWRpb19keW5hbWljX2NsYXNzX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2R5bmFtaWNfaW5pdCksIChnc3RfYXVkaW9fZHluYW1pY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX2R5bmFtaWNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9hdWRpb19keW5hbWljX3NldHVwKSwKCSAgKGdzdF9hdWRpb19keW5hbWljX3RyYW5zZm9ybV9oYXJkX2tuZWVfY29tcHJlc3Nvcl9pbnQpLAoJICAoZ3N0X2F1ZGlvX2R5bmFtaWNfdHJhbnNmb3JtX2hhcmRfa25lZV9jb21wcmVzc29yX2Zsb2F0KSwKCSAgKGdzdF9hdWRpb19keW5hbWljX3RyYW5zZm9ybV9zb2Z0X2tuZWVfY29tcHJlc3Nvcl9pbnQpLAoJICAoZ3N0X2F1ZGlvX2R5bmFtaWNfdHJhbnNmb3JtX3NvZnRfa25lZV9jb21wcmVzc29yX2Zsb2F0KSwKCSAgKGdzdF9hdWRpb19keW5hbWljX3RyYW5zZm9ybV9oYXJkX2tuZWVfZXhwYW5kZXJfaW50KSwKCSAgKGdzdF9hdWRpb19keW5hbWljX3RyYW5zZm9ybV9oYXJkX2tuZWVfZXhwYW5kZXJfZmxvYXQpLAoJICAoZ3N0X2F1ZGlvX2R5bmFtaWNfdHJhbnNmb3JtX3NvZnRfa25lZV9leHBhbmRlcl9pbnQpLAoJICAoZ3N0X2F1ZGlvX2R5bmFtaWNfdHJhbnNmb3JtX3NvZnRfa25lZV9leHBhbmRlcl9mbG9hdCksCgkgIChnc3RfYXVkaW9fZHluYW1pY190cmFuc2Zvcm1faXApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5oOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZnguYzogKHBsdWdpbl9pbml0KToKCSAgQWRkIG5ldyBhdWRpb2R5bmFtaWMgZWxlbWVudCB3aGljaCBjYW4gYWN0IGFzIGEgY29tcHJlc3NvciBvcgoJICBleHBhbmRlci4gU3VwcG9ydGVkIGFyZSBoYXJkLWtuZWUgYW5kIHNvZnQta25lZSBvcGVyYXRpb24gbW9kZXMgd2l0aAoJICB1c2VyLXNwZWNpZmllZCByYXRpbyBhbmQgdGhyZXNob2xkLgoJICBBdHRhY2sgYW5kIHJlbGVhc2UgcGFyYW1ldGVycyBhcmUgbm90IHlldCBpbXBsZW1lbnRlZCBidXQgd2lsbCBmb2xsb3cuCgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkgIEludGVncmF0ZSBhdWRpb2R5bmFtaWMgaW50byB0aGUgZG9jcy4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2R5bmFtaWMuYzogKHNldHVwX2R5bmFtaWMpLAoJICAoY2xlYW51cF9keW5hbWljKSwgKEdTVF9TVEFSVF9URVNUKSwgKGR5bmFtaWNfc3VpdGUpLCAobWFpbik6CgkgIEFkZCB1bml0IHRlc3QgZm9yIGF1ZGlvZHluYW1pYy4KCjIwMDctMDMtMDcgMTk6NDg6MDMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IEZyZWUgaGFuZGxlcyB0aGF0IHdlIGFsbG9jYXRlZCB3aGVuIGV4aXRpbmcgdmlhIHRoZSBlcnJvciBwYXRocy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IChnc3RfZHYxMzk0c3JjX3N0YXJ0KToKCSAgRnJlZSBoYW5kbGVzIHRoYXQgd2UgYWxsb2NhdGVkIHdoZW4gZXhpdGluZyB2aWEgdGhlIGVycm9yIHBhdGhzLgoKMjAwNy0wMy0wNyAxMjowNzowNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svOiBVc2UgYSBnZW5lcmFsIHdhdnBhY2sgZGVidWcgY2F0ZWdvcnkgZm9yIGNvbW1vbiBjb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5jOgoJICBVc2UgYSBnZW5lcmFsIHdhdnBhY2sgZGVidWcgY2F0ZWdvcnkgZm9yIGNvbW1vbiBjb2RlLgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tzdHJlYW1yZWFkZXIuYzoKCSAgKGdzdF93YXZwYWNrX3N0cmVhbV9yZWFkZXJfc2V0X3Bvc19hYnMpLAoJICAoZ3N0X3dhdnBhY2tfc3RyZWFtX3JlYWRlcl9zZXRfcG9zX3JlbCksCgkgIChnc3Rfd2F2cGFja19zdHJlYW1fcmVhZGVyX3dyaXRlX2J5dGVzKToKCSAgVXNlIHRoZSBnZW5lcmFsIHdhdnBhY2sgZGVidWcgY2F0ZWdvcnkgaGVyZSB0b28gYW5kIGFkZCBkZWJ1ZwoJICBvdXRwdXQgdG8gdGhlIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBub3QgYmUgY2FsbGVkIGF0IGFsbCBieQoJICB0aGUgd2F2cGFjayBsaWJyYXJ5LgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19wbHVnaW5faW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX3BsdWdpbl9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3BsdWdpbl9pbml0KToKCSAgQ2hhbmdlIGRlYnVnZ2luZyBjYXRlZ29yeSBuYW1lcyB0byBjb25mb3JtIHRvIHRoZSBjb252ZW50aW9ucy4KCjIwMDctMDMtMDcgMTE6Mzc6MjMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4Lio6IFNoYXJlIHF0ZGVtdXggZGVidWcgY2F0ZWdvcnkgYWNyb3NzIGFsbCBmaWxlcywgb3RoZXJ3aXNlIGFsbCBkZWJ1Z2dpbmcgaW4gZmlsZXMgb3RoZXIgdGhhbiBxdGQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgU2hhcmUgcXRkZW11eCBkZWJ1ZyBjYXRlZ29yeSBhY3Jvc3MgYWxsIGZpbGVzLCBvdGhlcndpc2UgYWxsIGRlYnVnZ2luZwoJICBpbiBmaWxlcyBvdGhlciB0aGFuIHF0ZGVtdXguYyB3b3VsZCBlbmQgdXAgaW4gdGhlIGRlZmF1bHQgY2F0ZWdvcnkuCgoyMDA3LTAzLTA3IDExOjI0OjA1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvbGV2ZWwvZ3N0bGV2ZWwuKjogUmVzb2x2ZSBtZXNzYWdlIHRpbWVzdGFtcHMgYWdhaW5zdCB0aGUgcGxheWJhY2sgc2VnbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6IChnc3RfbGV2ZWxfY2xhc3NfaW5pdCksCgkgIChnc3RfbGV2ZWxfc2V0X2NhcHMpLCAoZ3N0X2xldmVsX3N0YXJ0KSwgKGdzdF9sZXZlbF9ldmVudCksCgkgIChnc3RfbGV2ZWxfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuaDoKCSAgUmVzb2x2ZSBtZXNzYWdlIHRpbWVzdGFtcHMgYWdhaW5zdCB0aGUgcGxheWJhY2sgc2VnbWVudC4KCjIwMDctMDMtMDcgMTE6MjM6MjAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS4qOiBPbmUgRklYTUUgbGVzcywgYnkgcmVzb2x2aW5nIG1lc3NhZ2UgdGltZXN0YW1wcyBhZ2FpbnN0IHRoZSBwbGF5YmFjayBzZWdtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9zdGFydCksCgkgIChnc3Rfc3BlY3RydW1fZXZlbnQpLCAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIE9uZSBGSVhNRSBsZXNzLCBieSByZXNvbHZpbmcgbWVzc2FnZSB0aW1lc3RhbXBzIGFnYWluc3QgdGhlIHBsYXliYWNrCgkgIHNlZ21lbnQuCgoyMDA3LTAzLTA2IDIzOjIxOjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQ2hhbmdlTG9nOgoJICBGaXggQ2hhbmdlTG9nIG1lc3NhZ2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCBDaGFuZ2VMb2cgbWVzc2FnZQoKMjAwNy0wMy0wNiAyMzoxOTozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiBEb24ndCBsZWFrIGNhcHM6IG1ha2UgZ3N0X2lkM2RlbXV4X2FkZF9zcmNwYWQoKSBub3QgdGFrZSBvd25lcnNoaXAgb2YgdGhlIGNhcHMgcGFzc2VkIHRvIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9hZGRfc3JjcGFkKSwKCSAgKGdzdF9pZDNkZW11eF9zaW5rX2FjdGl2YXRlKToKCSAgRG9uJ3QgbGVhayBjYXBzOiBtYWtlIGdzdF9pZDNkZW11eF9hZGRfc3JjcGFkKCkgbm90IHRha2Ugb3duZXJzaGlwIG9mIHRoZQoJICBjYXBzIHBhc3NlZCB0byBpdCAocHJldmlvdXNsbHkgb25lIGNvZGUgcGF0aCBhc3N1bWVzIGl0IHRha2VzIG93bmVyc2hpcAoJICB3aGlsZSBhbm90aGVyIG9uZSBhc3N1bWVzIGl0IGRvZXNuJ3QpLgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiB0ZXN0cy9maWxlcy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9maWxlcy9pZDMtNDA3MzQ5LTEudGFnOgoJICAqIHRlc3RzL2ZpbGVzL2lkMy00MDczNDktMi50YWc6CgkgIEFkZCBkaXJlY3Rvcnkgd2hlcmUgZGF0YSBmb3IgdW5pdCB0ZXN0cyBjYW4gYmUgc3RvcmVkLgoJICAqIHRlc3RzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzZGVtdXguYzogKHBhZF9hZGRlZF9jYiksIChlcnJvcl9jYiksCgkgIChyZWFkX3RhZ3NfZnJvbV9maWxlKSwgKHJ1bl9jaGVja19mb3JfZmlsZSksCgkgIChjaGVja19kYXRlXzE5NzdfMDZfMjMpLCAoR1NUX1NUQVJUX1RFU1QpLCAoaWQzZGVtdXhfc3VpdGUpOgoJICBBZGQgdW5pdCB0ZXN0IGZvciBpZDNkZW11eCwgYW5kIGluIHBhcnRpY3VsYXIgZm9yIGJ1ZyAjNDA3MzQ5LiBPbmx5CgkgIHRlc3RpbmcgcHVsbC1tb2RlIGZvciBub3c7IHB1c2ggbW9kZSBkb2Vzbid0IHdvcmsgeWV0IGJlY2F1c2UgdGhlIHRlc3QKCSAgZmlsZXMgYXJlIHNtYWxsZXIgdGhhbiBJRDNfVFlQRV9GSU5EX01JTl9TSVpFLgoKMjAwNy0wMy0wNiAyMjoxNDo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBBZGQgbWlzc2luZyBiYWNrc2xhc2ggYXQgZW5kIG9mIGxpbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBBZGQgbWlzc2luZyBiYWNrc2xhc2ggYXQgZW5kIG9mIGxpbmUuCgoyMDA3LTAzLTA2IDE4OjM2OjA5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJICBUcmlnZ2VyIHJlYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBUcmlnZ2VyIHJlYnVpbGQuCgoyMDA3LTAzLTA2IDE4OjE2OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4LzogRG8gbm90IGNvbnZlcnQgb2Jzb2xldGUgVERBL1REQVQgZnJhbWVzIHRvIFREUkMgZnJhbWVzLCBvdGhlcndpc2UgdGhlIGZvdXItZGlnaXQgbnVtYmVyIHdpbGwgYmUgaW50ZXJwLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6IChpZDNkZW11eF9pZDN2Ml9mcmFtZXNfdG9fdGFnX2xpc3QpOgoJICAqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmg6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChpZDNkZW11eF9pZDN2Ml9wYXJzZV9mcmFtZSksCgkgIChwYXJzZV9vYnNvbGV0ZV90ZGF0X2ZyYW1lKToKCSAgRG8gbm90IGNvbnZlcnQgb2Jzb2xldGUgVERBL1REQVQgZnJhbWVzIHRvIFREUkMgZnJhbWVzLCBvdGhlcndpc2UKCSAgdGhlIGZvdXItZGlnaXQgbnVtYmVyIHdpbGwgYmUgaW50ZXJwcmV0ZWQgYXMgYSB5ZWFyLCB3aGVyZWFzIGl0IGlzCgkgIG1vbnRoIGFuZCBkYXkgaW4gRERNTSBmb3JtYXQuIEluc3RlYWQsIHBhcnNlIFREQVQgZnJhbWVzIGFuZCBmaXggdXAKCSAgdGhlIGRhdGUgaW4gdGhlIEdTVF9UQUdfREFURSB0YWcgbGF0ZXIgaWYgd2UgYWxzbyBleHRyYWN0ZWQgYSB5ZWFyLgoJICBGaXhlcyAjNDA3MzQ5LgoKMjAwNy0wMy0wNiAxNDo1MzowNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5jOiBGaXggdXAgdGhlIGRpc3Bvc2UgbG9naWMgc28gaXQgZG9lc24ndCBsZWFrLCBhbmQgZml4IHNldHRpbmcgb2YgdGhlIGNoaWxkIHN0YXRlIHNvIHRoYXQgd2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuYzogKGdzdF9zd2l0Y2hfc2lua19kaXNwb3NlKSwKCSAgKGdzdF9zd2l0Y2hfY29tbWl0X25ld19raWQpOgoJICBGaXggdXAgdGhlIGRpc3Bvc2UgbG9naWMgc28gaXQgZG9lc24ndCBsZWFrLCBhbmQgZml4IHNldHRpbmcgb2YKCSAgdGhlIGNoaWxkIHN0YXRlIHNvIHRoYXQgd2UgZG9uJ3Qgc2V0IGEgY2hpbGQgdG8gb3VyIGN1cnJlbnQgc3RhdGUKCSAganVzdCBhcyB3ZSBhcmUgY2hhbmdpbmcgaXQgdG8gc29tZXRoaW5nIGVsc2UuCgoyMDA3LTAzLTA2IDEzOjU3OjU1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IEZpeCBhbmQgY2xlYW51cCBkZWZhdWx0IHByb3BlcnR5IHZhbHVlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCksCgkgIChnc3Rfc3BlY3RydW1faW5pdCksIChnc3Rfc3BlY3RydW1fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICBGaXggYW5kIGNsZWFudXAgZGVmYXVsdCBwcm9wZXJ0eSB2YWx1ZXMuCgkgIEFkZCBGSVhNRXMgZm9yIHN0dWZmIHRoYXQgbG9va3MgcmF0aGVyIHdyb25nLgoKMjAwNy0wMy0wNiAxMzoyMToyMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9nb29tL2dzdGdvb20uKjogRG9jdW1lbnQsIGZpeCBhbmQgaW1wcm92ZSBnb29tIGFkYXB0ZXIgYmVoYXZpb3VyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6IChnc3RfZ29vbV9zcmNfc2V0Y2FwcyksIChnZXRfYnVmZmVyKSwKCSAgKGdzdF9nb29tX2NoYWluKToKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmg6CgkgIERvY3VtZW50LCBmaXggYW5kIGltcHJvdmUgZ29vbSBhZGFwdGVyIGJlaGF2aW91ci4KCSAgRml4ZXMgIzQwNzAwNi4KCjIwMDctMDMtMDUgMTg6NDM6MjkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2VzZC9lc2RzaW5rLmM6IFVucmVmIHN0YXRpYyBwYWQgdGVtcGxhdGUgYWZ0ZXIgdXNpbmcgaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9lc2QvZXNkc2luay5jOiAoZ3N0X2VzZHNpbmtfb3Blbik6CgkgIFVucmVmIHN0YXRpYyBwYWQgdGVtcGxhdGUgYWZ0ZXIgdXNpbmcgaXQuCgoyMDA3LTAzLTA1IDE3OjE3OjA0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmM6IEZpeCB1cCB0aGUgcmVmZXJlbmNlIGNvdW50aW5nIG9mIHRoZSBjaGlsZCBlbGVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuYzogKGdzdF9zd2l0Y2hfc2lua19kaXNwb3NlKSwKCSAgKGdzdF9zd2l0Y2hfY29tbWl0X25ld19raWQpOgoJICBGaXggdXAgdGhlIHJlZmVyZW5jZSBjb3VudGluZyBvZiB0aGUgY2hpbGQgZWxlbWVudHMuCgoyMDA3LTAzLTA1IDE3OjA4OjMyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEZpeCBlbmNvZGluZy1uYW1lIGNhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOiAoZ3N0X3J0cF9tcDRnX3BheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOiAoZ3N0X3J0cF90aGVvcmFfcGF5X2ZpbmlzaF9oZWFkZXJzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOiAoZ3N0X3J0cF92b3JiaXNfcGF5X2ZpbmlzaF9oZWFkZXJzKToKCSAgRml4IGVuY29kaW5nLW5hbWUgY2FzZS4KCjIwMDctMDMtMDUgMTY6Mzk6MjkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogRml4IHNwZWV4IChkZSlwYXlsb2FkZXIuIEZpeGVzICMzNTgwNDAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOiAoZ3N0X3J0cF9zcGVleF9kZXBheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfc3BlZXhfZGVwYXlfZ2V0X21vZGUpLCAoZ3N0X3J0cF9zcGVleF9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfc3BlZXhfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOiAoZ3N0X3J0cF9zcGVleF9wYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfc3BlZXhfcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9zcGVleF9wYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX3NwZWV4X3BheV9wYXJzZV9pZGVudCksIChnc3RfcnRwX3NwZWV4X3BheV9oYW5kbGVfYnVmZmVyKSwKCSAgKGdzdF9ydHBfc3BlZXhfcGF5X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5oOgoJICBGaXggc3BlZXggKGRlKXBheWxvYWRlci4gRml4ZXMgIzM1ODA0MC4KCjIwMDctMDMtMDUgMTU6NDI6NTggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuYzogSW5zdGFsbCBmYWtlc2luayBpbiBOVUxMIGJ5IGZpeGluZyBzb21lIGJyb2tlbiBsb2dpYy4gVGhpcyBvYnZpYXRlcyB0aGUgbmVlZCB0byBtYW51YWxseSBzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmM6IChnc3Rfc3dpdGNoX3NpbmtfcmVzZXQpLAoJICAoZ3N0X3N3aXRjaF9jb21taXRfbmV3X2tpZCksIChnc3Rfc3dpdGNoX3Npbmtfc2V0X2NoaWxkKToKCSAgSW5zdGFsbCBmYWtlc2luayBpbiBOVUxMIGJ5IGZpeGluZyBzb21lIGJyb2tlbiBsb2dpYy4gVGhpcyBvYnZpYXRlcwoJICB0aGUgbmVlZCB0byBtYW51YWxseSBzZXQgX0lTX1NJTksuCgkgIEFkZCBzb21lIGNvbW1lbnRzIGFuZCByZW1vdmUgYSBsaXR0bGUgY3J1ZnQgd2hpbGUgSSdtIGF0IGl0LgoKMjAwNy0wMy0wNSAxNDo0Njo0MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmM6IE1hcmsgdXMgYXMgYSBzaW5rIHdoZW4gd2UgaGF2ZSBubyBmYWtlc2luayBpbiBOVUxMLiBGaXhlcyAjNDE0ODg3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5jOiAoZ3N0X3N3aXRjaF9zaW5rX3Jlc2V0KToKCSAgTWFyayB1cyBhcyBhIHNpbmsgd2hlbiB3ZSBoYXZlIG5vIGZha2VzaW5rIGluIE5VTEwuIEZpeGVzICM0MTQ4ODcuCgoyMDA3LTAzLTA1IDA4OjMwOjUyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vOiBSZW1vdmUgdHdvIG9ic29sZXRlIGFuZCBjb25mdXNpbmcgY29tbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOiAobWVzc2FnZV9oYW5kbGVyKToKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzogKG1lc3NhZ2VfaGFuZGxlcik6CgkgIFJlbW92ZSB0d28gb2Jzb2xldGUgYW5kIGNvbmZ1c2luZyBjb21tZW50cy4KCjIwMDctMDMtMDQgMTg6NTI6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBwby9QT1RGSUxFUy5pbjogVXBkYXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBwby9QT1RGSUxFUy5pbjoKCSAgVXBkYXRlLgoKMjAwNy0wMy0wNCAxNzozMzozNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogR2FoISBBbHNvIGRpc2FibGUgZ2NvbmZ2aWRlb3NpbmsgZnJvbSB0aGUgdGVzdHMsIG90aGVyd2lzZSBpdCB3aWxsIGluc3RhbnRpYXRlIGF1dG92aWRlb3NpbmsuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIEdhaCEgQWxzbyBkaXNhYmxlIGdjb25mdmlkZW9zaW5rIGZyb20gdGhlIHRlc3RzLCBvdGhlcndpc2UKCSAgaXQgd2lsbCBpbnN0YW50aWF0ZSBhdXRvdmlkZW9zaW5rLCBhbmQgZGZidmlkZW9zaW5rIGFuZAoJICBsZWFrIG9uIHRoZSBidWlsZGJvdHMuCgoyMDA3LTAzLTA0IDE3OjEzOjE5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmM6IE1ha2Ugc3VyZSB3ZSBhbHdheXMgZGVzdHJveSBvdXIgbGliY2RpbyBoYW5kbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmM6IChnc3RfY2Rpb19jZGRhX3NyY19vcGVuKSwKCSAgKGdzdF9jZGlvX2NkZGFfc3JjX2ZpbmFsaXplKToKCSAgTWFrZSBzdXJlIHdlIGFsd2F5cyBkZXN0cm95IG91ciBsaWJjZGlvIGhhbmRsZS4KCjIwMDctMDMtMDQgMTc6MDU6NTggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IERpc2FibGUgYXV0b3ZpZGVvc2luayBzbyB0aGUgYnVpbGRib3RzIGRvbid0IGJhcmYgb3ZlciBtZW1vcnkgbGVha2VkIGluIHRoZSBkaXJlY3RmYiBzaW5rLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgRGlzYWJsZSBhdXRvdmlkZW9zaW5rIHNvIHRoZSBidWlsZGJvdHMgZG9uJ3QgYmFyZiBvdmVyIG1lbW9yeQoJICBsZWFrZWQgaW4gdGhlIGRpcmVjdGZiIHNpbmsuCgoyMDA3LTAzLTA0IDE1OjI4OjMwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IENoYWluIHVwIGluIGRpc3Bvc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2Vfc3JjX2Rpc3Bvc2UpOgoJICBDaGFpbiB1cCBpbiBkaXNwb3NlCgoyMDA3LTAzLTA0IDE1OjA3OjE1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzogVXNlIGdzdF9wYWRfbmV3X2Zyb21fc3RhdGljX3RlbXBsYXRlIGluc3RlYWQgb2Ygc3RhdGljX3BhZF90ZW1wbGF0ZV9nZXQrcGFkX25ldy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOiAoZ3N0X211bHRpcGFydF9kZW11eF9pbml0KSwKCSAgKGdzdF9tdWx0aXBhcnRfZmluZF9wYWRfYnlfbWltZSk6CgkgIFVzZSBnc3RfcGFkX25ld19mcm9tX3N0YXRpY190ZW1wbGF0ZSBpbnN0ZWFkIG9mCgkgIHN0YXRpY19wYWRfdGVtcGxhdGVfZ2V0K3BhZF9uZXcuCgoyMDA3LTAzLTA0IDE0OjU2OjUzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IENhdGNoIHRoZSBjYXNlIHdoZXJlIG5vIGNsb2NrIGhhcyBiZWVuIHNldC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2Vfc3JjX2NyZWF0ZSk6CgkgIENhdGNoIHRoZSBjYXNlIHdoZXJlIG5vIGNsb2NrIGhhcyBiZWVuIHNldC4KCjIwMDctMDMtMDQgMTM6NTI6MDMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgRml4IGEgYnVuY2ggb2YgbGVha3Mgc2hvd24gYnkgdGhlIG5ld2x5LWFkZGVkIHN0YXRlcyB0ZXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IChnc3RfZmxhY19lbmNfZmluYWxpemUpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOiAoZ3N0X2djb25mX2F1ZGlvX3NpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfZ2NvbmZfYXVkaW9fc2lua19kaXNwb3NlKSwgKGdzdF9nY29uZl9hdWRpb19zaW5rX2ZpbmFsaXplKToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NyYy5jOiAoZ3N0X2djb25mX2F1ZGlvX3NyY19iYXNlX2luaXQpLAoJICAoZ3N0X2djb25mX2F1ZGlvX3NyY19jbGFzc19pbml0KSwgKGdzdF9nY29uZl9hdWRpb19zcmNfZGlzcG9zZSksCgkgIChnc3RfZ2NvbmZfYXVkaW9fc3JjX2ZpbmFsaXplKSwgKGRvX3RvZ2dsZV9lbGVtZW50KToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuYzogKGdzdF9nY29uZl92aWRlb19zaW5rX2Jhc2VfaW5pdCksCgkgIChnc3RfZ2NvbmZfdmlkZW9fc2lua19jbGFzc19pbml0KSwgKGdzdF9nY29uZl92aWRlb19zaW5rX2ZpbmFsaXplKSwKCSAgKGRvX3RvZ2dsZV9lbGVtZW50KToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NyYy5jOiAoZ3N0X2djb25mX3ZpZGVvX3NyY19iYXNlX2luaXQpLAoJICAoZ3N0X2djb25mX3ZpZGVvX3NyY19jbGFzc19pbml0KSwgKGdzdF9nY29uZl92aWRlb19zcmNfZGlzcG9zZSksCgkgIChnc3RfZ2NvbmZfdmlkZW9fc3JjX2ZpbmFsaXplKSwgKGRvX3RvZ2dsZV9lbGVtZW50KToKCSAgKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5jOiAoZ3N0X3N3aXRjaF9zaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X3N3aXRjaF9zaW5rX3Jlc2V0KSwgKGdzdF9zd2l0Y2hfc2lua19zZXRfY2hpbGQpOgoJICAqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zaW5rLmM6IChnc3RfaGFsX2F1ZGlvX3NpbmtfYmFzZV9pbml0KToKCSAgKiBleHQvaGFsL2dzdGhhbGF1ZGlvc3JjLmM6IChnc3RfaGFsX2F1ZGlvX3NyY19iYXNlX2luaXQpOgoJICAqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6IChnc3Rfc2hvdXQyc2VuZF9jbGFzc19pbml0KSwKCSAgKGdzdF9zaG91dDJzZW5kX2luaXQpLCAoZ3N0X3Nob3V0MnNlbmRfZmluYWxpemUpOgoJICAqIGdzdC9kZWJ1Zy90ZXN0cGx1Z2luLmM6IChnc3RfdGVzdF9jbGFzc19pbml0KSwKCSAgKGdzdF90ZXN0X2ZpbmFsaXplKToKCSAgKiBnc3QvZmx4L2dzdGZseGRlYy5jOiAoZ3N0X2ZseGRlY19jbGFzc19pbml0KSwKCSAgKGdzdF9mbHhkZWNfZGlzcG9zZSk6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogKGdzdF9tdWx0aXBhcnRfbXV4X2ZpbmFsaXplKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzogKGdzdF9ydHBfbXA0Z19wYXlfZmluYWxpemUpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2luaXQpLAoJICAoZ3N0X3J0c3BzcmNfZmluYWxpemUpOgoJICAqIGdzdC9ydHNwL3J0c3BleHR3bXMuYzogKHJ0c3BfZXh0X3dtc19mcmVlX2NvbnRleHQpOgoJICAqIGdzdC9ydHNwL3J0c3BleHR3bXMuaDoKCSAgKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzogKGdzdF9zbXB0ZV9jbGFzc19pbml0KSwKCSAgKGdzdF9zbXB0ZV9maW5hbGl6ZSk6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfZmluYWxpemUpOgoJICAqIGdzdC91ZHAvZ3N0dWRwc2luay5jOiAoZ3N0X3VkcHNpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfdWRwc2lua19maW5hbGl6ZSk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfZGlzcG9zZSksCgkgIChnc3Rfd2F2cGFyc2Vfc2lua19hY3RpdmF0ZSk6CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmM6IChnc3Rfb3NzX3NpbmtfZmluYWxpc2UpOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6IChnc3Rfb3NzX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9vc3Nfc3JjX2ZpbmFsaXplKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6IChnc3RfdjRsMl9vYmplY3RfZGVzdHJveSk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3Y0bDJzcmNfZmluYWxpemUpOgoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IChnc3RfeGltYWdlX3NyY194aW1hZ2VfZ2V0KToKCSAgRml4IGEgYnVuY2ggb2YgbGVha3Mgc2hvd24gYnkgdGhlIG5ld2x5LWFkZGVkIHN0YXRlcyB0ZXN0LgoKMjAwNy0wMy0wNCAxMzo0MTowMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvZHYvZ3N0ZHZkZWMuYzogVXNlIGdzdF9wYWRfbmV3X2Zyb21fc3RhdGljX3RlbXBsYXRlIGluc3RlYWQgb2Ygc3RhdGljX3BhZF90ZW1wbGF0ZV9nZXQrcGFkX25ldy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVjLmM6IChnc3RfZHZkZWNfaW5pdCk6CgkgIFVzZSBnc3RfcGFkX25ld19mcm9tX3N0YXRpY190ZW1wbGF0ZSBpbnN0ZWFkIG9mCgkgIHN0YXRpY19wYWRfdGVtcGxhdGVfZ2V0K3BhZF9uZXcuCgoyMDA3LTAzLTAzIDEzOjA2OjIxICswMDAwICBMb8OvYyBNaW5pZXIgPGxvb2wrZ25vbWVAdmlhLmVjcC5mcj4KCgkgIERvbid0IG1peCB0YWJzIGFuZCBzcGFjZXMgKCM0MTQxNjgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IExvw69jIE1pbmllciA8bG9vbCtnbm9tZSBhdCB2aWEgZWNwIGZyPgoJICAqIGV4dC9saWJjYWNhL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWJ1Zy9NYWtlZmlsZS5hbToKCSAgRG9uJ3QgbWl4IHRhYnMgYW5kIHNwYWNlcyAoIzQxNDE2OCkuCgoyMDA3LTAzLTAyIDIxOjM1OjExICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9nZW5lcmljLy5jdnNpZ25vcmU6IElnbm9yZSBmaWxlcyB0byBwbGVhc2UgYnVpbGRib3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2dlbmVyaWMvLmN2c2lnbm9yZToKCSAgSWdub3JlIGZpbGVzIHRvIHBsZWFzZSBidWlsZGJvdC4KCjIwMDctMDMtMDIgMjE6MDE6MTkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBVbmJyZWFrIG15IHByZXZpb3VzIGNvbW1pdCAoc3dhcHBlZCBub21pbmF0b3IgJiBkZW5vbWluYXRvcikuIFRpbSwgdGhhbmtzIGZvciBzcG90dGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKToKCSAgVW5icmVhayBteSBwcmV2aW91cyBjb21taXQgKHN3YXBwZWQgbm9taW5hdG9yICYgZGVub21pbmF0b3IpLiBUaW0sCgkgIHRoYW5rcyBmb3Igc3BvdHRpbmcuCgoyMDA3LTAzLTAyIDE2OjA4OjE3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuYzogU21hbGwgY29kZSBjbGVhbnVwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuYzogKGdzdF9jZGlvX2NkZGFfc3JjX3Byb2JlX2RldmljZXMpLAoJICAoZ3N0X2NkaW9fY2RkYV9zcmNfcmVhZF9zZWN0b3IpLCAoZ3N0X2NkaW9fY2RkYV9zcmNfb3BlbiksCgkgIChnc3RfY2Rpb19jZGRhX3NyY19maW5hbGl6ZSk6CgkgIFNtYWxsIGNvZGUgY2xlYW51cHMuCgkgIERvbid0IHVzZSBwYWRfYWxsb2MgYXMgdGhlIGJhc2UgY2xhc3MgY2Fubm90IGRlYWwgd2l0aCB0aGUgZXJyb3IgY29kZXMuCgoyMDA3LTAzLTAyIDEzOjQwOjA2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuYzogRml4IGRvYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfdWRwc3JjX2NyZWF0ZSk6CgkgIEZpeCBkb2MuCgoyMDA3LTAzLTAyIDEzOjI5OjI1ICswMDAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IEhhbmRsZSByb3VuZGluZyBiZXR0ZXIgdG8gbm90IGRyb3AgbGFzdCBzYW1wbGUgZnJhbWUuIEZpeGVzICMzNTY2OTIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAodWludDY0X2NlaWxpbmdfc2NhbGVfaW50KSwKCSAgKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSk6CgkgIEhhbmRsZSByb3VuZGluZyBiZXR0ZXIgdG8gbm90IGRyb3AgbGFzdCBzYW1wbGUgZnJhbWUuIEZpeGVzICMzNTY2OTIKCjIwMDctMDMtMDIgMTM6MTk6NTcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IERpc2FibGUgY2FjYXNpbmsgZnJvbSB0aGUgc3RhdGVzIGNoZWNrIHRvbyAtIGl0IGFsc28gY2FsbHMgZXhpdCgxKSBvbiB1cyB3aGVuIGl0IGNhbid0IGZpbmQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBEaXNhYmxlIGNhY2FzaW5rIGZyb20gdGhlIHN0YXRlcyBjaGVjayB0b28gLSBpdCBhbHNvIGNhbGxzIGV4aXQoMSkKCSAgb24gdXMgd2hlbiBpdCBjYW4ndCBmaW5kIGEgdGVybWluYWwgdG8gdGFsayB0by4KCjIwMDctMDMtMDIgMTI6NTY6MTMgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy4qOiBBZGQgc3VwcG9ydCB0byBzdHJpcCBwcm9wcmlldGFyeSBoZWFkZXJzLiBGaXhlcyAjMzUwMjk2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpciBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NsYXNzX2luaXQpLCAoZ3N0X3VkcHNyY19pbml0KSwKCSAgKGdzdF91ZHBzcmNfY3JlYXRlKSwgKGdzdF91ZHBzcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF91ZHBzcmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5oOgoJICBBZGQgc3VwcG9ydCB0byBzdHJpcCBwcm9wcmlldGFyeSBoZWFkZXJzLiBGaXhlcyAjMzUwMjk2LgoKMjAwNy0wMy0wMiAxMjo1Mjo1NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6IEZpeCBjb21waWxhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzogKGdzdF9ydHBfbXAydF9kZXBheV9wcm9jZXNzKToKCSAgRml4IGNvbXBpbGF0aW9uLgoKMjAwNy0wMy0wMiAxMjoxNjoxNiArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5Lio6IEFkZCBzdXBwb3J0IHRvIHN0cmlwIG9mZiBwcm9wcmlldGFyeSBoZWFkZXJzLiBGaXhlcyAjMzUwMjc4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpciBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6IChnc3RfcnRwX21wMnRfZGVwYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX21wMnRfZGVwYXlfaW5pdCksIChnc3RfcnRwX21wMnRfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX21wMnRfZGVwYXlfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfbXAydF9kZXBheV9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5Lmg6CgkgIEFkZCBzdXBwb3J0IHRvIHN0cmlwIG9mZiBwcm9wcmlldGFyeSBoZWFkZXJzLiBGaXhlcyAjMzUwMjc4LgoKMjAwNy0wMy0wMiAxMToyMjozNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9oYWwvaGFsLmM6IEZpeCBjb21waWxhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2hhbC9oYWwuYzoKCSAgRml4IGNvbXBpbGF0aW9uLgoKMjAwNy0wMy0wMiAxMDo1NDo0OSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy4qOiBSZW1vdmUgZGV2aWNlLW5hbWUgZnJvbSBHc3RTdW5BdWRpb1NyYy4gRml4ZXMgIzQxMjU5Ny4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6IChnc3Rfc3VuYXVkaW9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc3VuYXVkaW9zcmNfaW5pdCksIChnc3Rfc3VuYXVkaW9zcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zdW5hdWRpb3NyY19vcGVuKToKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuaDoKCSAgUmVtb3ZlIGRldmljZS1uYW1lIGZyb20gR3N0U3VuQXVkaW9TcmMuIEZpeGVzICM0MTI1OTcuCgoyMDA3LTAzLTAxIDIxOjUwOjM2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvaGFsLzogSGF2aW5nIE5VTEwgYXMgVURJIHByZXZpb3VzbHkgc2VsZWN0ZWQgdGhlIGRlZmF1bHQgc2luay9zcmMuIENoYW5nZSB0aGlzIGJhY2sgYnV0IG1lbnRpb24gaXQgaW4gdGhlIGRlYnVnIG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2hhbC9nc3RoYWxhdWRpb3NpbmsuYzogKGRvX3RvZ2dsZV9lbGVtZW50KToKCSAgKiBleHQvaGFsL2dzdGhhbGF1ZGlvc3JjLmM6IChkb190b2dnbGVfZWxlbWVudCk6CgkgIEhhdmluZyBOVUxMIGFzIFVESSBwcmV2aW91c2x5IHNlbGVjdGVkIHRoZSBkZWZhdWx0IHNpbmsvc3JjLiBDaGFuZ2UKCSAgdGhpcyBiYWNrIGJ1dCBtZW50aW9uIGl0IGluIHRoZSBkZWJ1ZyBvdXRwdXQuCgkgICogZXh0L2hhbC9oYWwuYzogKGdzdF9oYWxfZ2V0X2Fsc2FfZWxlbWVudCksCgkgIChnc3RfaGFsX2dldF9vc3NfZWxlbWVudCksIChnc3RfaGFsX2dldF9zdHJpbmcpLAoJICAoZ3N0X2hhbF9yZW5kZXJfYmluX2Zyb21fdWRpKSwgKGdzdF9oYWxfZ2V0X2F1ZGlvX3NpbmspLAoJICAoZ3N0X2hhbF9nZXRfYXVkaW9fc3JjKToKCSAgKiBleHQvaGFsL2hhbC5oOgoJICBSZWZhY3RvciBhIGJpdCwgY2hlY2sgYWxsIGVycm9yIGNvbmRpdGlvbnMsIGdyZWF0bHkgaW1wcm92ZSBkZWJ1Z2dpbmcKCSAgYW5kIGZpeCBzb21lIHBvc3NpYmxlIG1lbW9yeSBsZWFrcy4gQWxzbyBpbXBsZW1lbnQgT1NTIHN1cHBvcnQKCSAgYW5kIGFsbG93IHNwZWNpZnlpbmcgYW4gVURJIHRoYXQgcG9pbnRzIHRvIGEgcmVhbCBkZXZpY2UuIEZvciB0aGlzIHRoZQoJICBjaGlsZCBkZXZpY2Ugd2hpY2ggc3VwcG9ydHMgQUxTQSAocHJlZmVycmVkKSBvciBPU1MgaXMgdXNlZC4KCSAgQXMgYSBzaWRlIGVmZmVjdCB0aGlzIG1ha2VzIGl0IGltcG9zc2libGUgbm93IHRvIGdldCBhIGFsc2FzaW5rIGluCgkgIGhhbGF1ZGlvc3JjIGFuZCBhIGFsc2FzcmMgaW4gaGFsYXVkaW9zaW5rLgoKMjAwNy0wMy0wMSAxODo0NzoyOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogRXJyb3JzIGZyb20gdGhlIHVkcCBzb3VyY2VzIGFyZSBub3QgZmF0YWwgdW5sZXNzIGFsbCBvZiB0aGVtIGFyZSBpbiBlcnJvci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZmluZF9zdHJlYW1fYnlfY2hhbm5lbCksCgkgIChmaW5kX3N0cmVhbV9ieV91ZHBzcmMpLCAoZ3N0X3J0c3BzcmNfaGFuZGxlX21lc3NhZ2UpOgoJICBFcnJvcnMgZnJvbSB0aGUgdWRwIHNvdXJjZXMgYXJlIG5vdCBmYXRhbCB1bmxlc3MgYWxsIG9mIHRoZW0gYXJlIGluCgkgIGVycm9yLgoKMjAwNy0wMy0wMSAxODoxNDo0MiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogRGlzYWJsZSBhYXNpbmsgaW4gdGhlIHN0YXRlcyB0ZXN0LiBJIHN1c3BlY3QgdGhpcyBpcyB0aGUgZWxlbWVudCB0aGF0IGlzIGNhbGxpbmcgZXhpdCgxKSB3aGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIERpc2FibGUgYWFzaW5rIGluIHRoZSBzdGF0ZXMgdGVzdC4gSSBzdXNwZWN0IHRoaXMgaXMgdGhlIGVsZW1lbnQgdGhhdAoJICBpcyBjYWxsaW5nIGV4aXQoMSkgd2hlbiBpdCBjYW4ndCBwcm9jZWVkLgoKMjAwNy0wMy0wMSAxNzoyNjozMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogRHJhdyBwbHVnaW5zIGluIGZyb20gdGhlIGJ1aWxkIHRyZWUgc3lzLyBkaXIsIHJhdGhlciB0aGFuIHBpY2tpbmcgdXAgdGhlIGFscmVhZHkgaW5zdGFsbGVkIHYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIERyYXcgcGx1Z2lucyBpbiBmcm9tIHRoZSBidWlsZCB0cmVlIHN5cy8gZGlyLCByYXRoZXIgdGhhbiBwaWNraW5nCgkgIHVwIHRoZSBhbHJlYWR5IGluc3RhbGxlZCB2ZXJzaW9ucy4KCjIwMDctMDMtMDEgMTA6NDQ6MzYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiBFcnJvciBvdXQgY29ycmVjdGx5IHdoZW4gZ2V0dGluZyB4Y29udGV4dCBmYWlscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDMtMDEgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZV9zcmNfb3Blbl9kaXNwbGF5KToKCSAgRXJyb3Igb3V0IGNvcnJlY3RseSB3aGVuIGdldHRpbmcgeGNvbnRleHQgZmFpbHMuCgoyMDA3LTAzLTAxIDA5OjI5OjM0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6IE1ha2Ugc3RhdGUgY2hhbmdlIHRvIFBBVVNFRCBOT19QUkVST0xMIGJlY2F1c2UgdGhhdCdzIHdoYXQgaXQgd2lsbCBiZSBpbiB0aGUgZnV0dXJlIGFuZCBydHNwc3JjLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOiAoZ3N0X3J0cGRlY19jaGFuZ2Vfc3RhdGUpOgoJICBNYWtlIHN0YXRlIGNoYW5nZSB0byBQQVVTRUQgTk9fUFJFUk9MTCBiZWNhdXNlIHRoYXQncyB3aGF0IGl0IHdpbGwgYmUgaW4KCSAgdGhlIGZ1dHVyZSBhbmQgcnRzcHNyYyByZWxpZXMgb24gaXQuCgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLAoJICAoZ3N0X3J0c3BzcmNfY2hhbmdlX3N0YXRlKToKCSAgRG9uJ3QgZXJyb3Igb3V0IHdoZW4gd2UgZG9uJ3QgZ2V0IGFuIGVycm9yIGZyb20gdGhlIHN0YXRlIGNoYW5nZQoJICBmdW5jdGlvbi4KCjIwMDctMDMtMDEgMDE6NDg6NTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9oYWwvOiBDaGVjayBpZiB0aGUgZGV2aWNlIFVESSBpcyBzZXQgYmVmb3JlIHRyeWluZyB0byBxdWVyeSBIQUwgYWJvdXQgaXQgYW5kIGdpdmUgYSB1c2VmdWwgZXJyb3IgbWVzc2FnZSBpZiBpdCB3YS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvaGFsL2dzdGhhbGF1ZGlvc2luay5jOiAoZG9fdG9nZ2xlX2VsZW1lbnQpOgoJICAqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zcmMuYzogKGRvX3RvZ2dsZV9lbGVtZW50KToKCSAgQ2hlY2sgaWYgdGhlIGRldmljZSBVREkgaXMgc2V0IGJlZm9yZSB0cnlpbmcgdG8gcXVlcnkgSEFMCgkgIGFib3V0IGl0IGFuZCBnaXZlIGEgdXNlZnVsIGVycm9yIG1lc3NhZ2UgaWYgaXQgd2Fzbid0IHNldC4KCSAgKiBleHQvaGFsL2hhbC5jOiAoZ3N0X2hhbF9nZXRfc3RyaW5nKToKCSAgRG9uJ3QgcXVlcnkgSEFMIGZvciBOVUxMIFVESXMuIFBhc3NpbmcgTlVMTCBhcyBVREkgdG8gSEFMCgkgIGdpdmVzIGFuIGFzc2VydGlvbiBmYWlsdXJlIGluIEQtQnVzIHdoZW4gcnVubmluZyB3aXRoCgkgIERCVVNfRkFUQUxfV0FSTklOR1M9MS4KCjIwMDctMDItMjggMTk6Mjk6NDIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB1cGRhdGUgY29uZmlnIHRvIHRydW5rCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgY29uZmlnIHRvIHRydW5rCgoyMDA3LTAyLTI4IDE5OjI5OjI1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogQ29udmVydCB0byBuZXcgQUdfR1NUIHN0eWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIENvbnZlcnQgdG8gbmV3IEFHX0dTVCBzdHlsZS4KCjIwMDctMDItMjggMTI6NTk6NDMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgdGVzdHMvY2hlY2svOiBhZGQgdGVzdCBmb3Igc3RhdGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2dlbmVyaWMvc3RhdGVzLmM6IChHU1RfU1RBUlRfVEVTVCksIChzdGF0ZXNfc3VpdGUpOgoJICBhZGQgdGVzdCBmb3Igc3RhdGVzCgoyMDA3LTAyLTI4IDEwOjU4OjEwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZTogQWRkIG5ldyB2aWRlb2ZpbHRlciBjaGVjayB0byAuY3ZzaWdub3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICBBZGQgbmV3IHZpZGVvZmlsdGVyIGNoZWNrIHRvIC5jdnNpZ25vcmUuCgoyMDA3LTAyLTI4IDEwOjU0OjU1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBGaXggY29tYmluZWQgZmxvdyByZXR1cm4uIEZpeGVzICM0MTI2MDguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfY29tYmluZV9mbG93cyksCgkgIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9kYXRhKSwKCSAgKGdzdF9hdmlfZGVtdXhfbG9vcCksIChnc3RfYXZpX2RlbXV4X2NoYWluKToKCSAgRml4IGNvbWJpbmVkIGZsb3cgcmV0dXJuLiBGaXhlcyAjNDEyNjA4LgoKMjAwNy0wMi0yOCAxMDo0MToxNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbTogRGlzdCBoZWFkZXIuLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9maWx0ZXIvTWFrZWZpbGUuYW06CgkgIERpc3QgaGVhZGVyLi4KCjIwMDctMDItMjggMTA6Mjk6MDggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuaDogQWRkIGhlYWRlciB0b28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5oOgoJICBBZGQgaGVhZGVyIHRvby4KCjIwMDctMDItMjggMTA6MTc6MTUgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBnc3QvdmlkZW9maWx0ZXIvOiBQb3J0IGdhbW1hIGZpbHRlciB0byAwLjEwLiBGaXhlcyAjNDEyNzA0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1dyBhdCBza3luZXQgYmU+CgkgICogZ3N0L3ZpZGVvZmlsdGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOiAoZ3N0X2dhbW1hX2Jhc2VfaW5pdCksCgkgIChnc3RfZ2FtbWFfY2xhc3NfaW5pdCksIChnc3RfZ2FtbWFfaW5pdCksIChnc3RfZ2FtbWFfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9nYW1tYV9nZXRfcHJvcGVydHkpLCAoZ3N0X2dhbW1hX2NhbGN1bGF0ZV90YWJsZXMpLAoJICAob2lsX3RhYmxlbG9va3VwX3U4KSwgKGdzdF9nYW1tYV9zZXRfY2FwcyksCgkgIChnc3RfZ2FtbWFfcGxhbmFyNDExX2lwKSwgKGdzdF9nYW1tYV90cmFuc2Zvcm1faXApLCAocGx1Z2luX2luaXQpOgoJICBQb3J0IGdhbW1hIGZpbHRlciB0byAwLjEwLiBGaXhlcyAjNDEyNzA0LgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvZmlsdGVyLmM6IChzZXR1cF9maWx0ZXIpLAoJICAoY2xlYW51cF9maWx0ZXIpLCAoY2hlY2tfZmlsdGVyKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKHZpZGVvYmFsYW5jZV9zdWl0ZSksICh2aWRlb2ZsaXBfc3VpdGUpLCAoZ2FtbWFfc3VpdGUpLCAobWFpbik6CgkgIEFkZCB1bml0IHRlc3RzIGZvciB2aWRlb2ZpbHRlcnMuCgoyMDA3LTAyLTI4IDEwOjA2OjI3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvVVJMUzogQWRkIGFub3RoZXIgaW50ZXJlc3RpbmcgdGVzdCB1cmwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL1VSTFM6CgkgIEFkZCBhbm90aGVyIGludGVyZXN0aW5nIHRlc3QgdXJsLgoJICAqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmM6IChydHNwX21lc3NhZ2VfZ2V0X2hlYWRlcik6CgkgIERvbid0IGFsbG93IGdldHRpbmcgaGVhZGVyIGZpZWxkcyBmcm9tIGRhdGEgcGFja2V0cy4KCjIwMDctMDItMjcgMjM6NDM6MDggKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGV4dC9zaG91dDIvZ3N0c2hvdXQyLio6IEFkZCBhIHByb3BlcnR5IGZvciB1c2VybmFtZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzogKGdzdF9zaG91dDJzZW5kX2NsYXNzX2luaXQpLAoJICAoZ3N0X3Nob3V0MnNlbmRfaW5pdCksIChnc3Rfc2hvdXQyc2VuZF9zdGFydCksCgkgIChnc3Rfc2hvdXQyc2VuZF9zZXRfcHJvcGVydHkpLCAoZ3N0X3Nob3V0MnNlbmRfZ2V0X3Byb3BlcnR5KToKCSAgKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5oOgoJICBBZGQgYSBwcm9wZXJ0eSBmb3IgdXNlcm5hbWUuCgoyMDA3LTAyLTI3IDEyOjAyOjAzICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3cGx1Z2luLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHBsdWdpbi5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lmg6CgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgdXBkYXRlIGNvcHlyaWdodCBzdGF0ZW1lbnRzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgY29weXJpZ2h0IHN0YXRlbWVudHMKCjIwMDctMDItMjcgMTE6NTk6MjEgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb2VsZW1lbnQuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvZWxlbWVudC5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuaDoKCSAgdXBkYXRlIGNvcHlyaWdodCBzdGF0ZW1lbnQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBjb3B5cmlnaHQgc3RhdGVtZW50CgoyMDA3LTAyLTI3IDExOjMwOjE5ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL29zeHZpZGVvLzogRGlzYWJsZSB0aGUgY29jb2EgZXZlbnQgbG9vcCBzaW5jZSBpdCdzIGEgaHVnZSBtZW1vcnkgbGVhay4gU2hvdWxkIG9ubHkgbWF0dGVyIGlmIHRoZSBzaW5rIGlzbid0IHVzZWQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5oOgoJICAqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIERpc2FibGUgdGhlIGNvY29hIGV2ZW50IGxvb3Agc2luY2UgaXQncyBhIGh1Z2UgbWVtb3J5IGxlYWsuIFNob3VsZCBvbmx5CgkgIG1hdHRlciBpZiB0aGUgc2luayBpc24ndCB1c2VkIHdpdGhpbiBhbiBOU0FwcCAod2hpY2ggaGFzIGFscmVhZHkgZ290CgkgIGEgY29jYSBldmVudCBsb29wKS4KCSAgUmVtb3ZlIGFsbCB1bnVzZWQgY29kZS4KCjIwMDctMDItMjYgMTI6MDc6MTQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L3J0c3AvTWFrZWZpbGUuYW06IEZpeCBtYWtlIGNoZWNrIHRvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkgIEZpeCBtYWtlIGNoZWNrIHRvby4KCjIwMDctMDItMjYgMTA6MDA6MjggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L3J0c3AvYmFzZTY0Lio6IENvbW1pdCBtaXNzaW5nIGZpbGVzIGZvciBiYXNlNjQgZW5jb2RpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2Jhc2U2NC5jOiAodXRpbF9iYXNlNjRfZW5jb2RlKToKCSAgKiBnc3QvcnRzcC9iYXNlNjQuaDoKCSAgQ29tbWl0IG1pc3NpbmcgZmlsZXMgZm9yIGJhc2U2NCBlbmNvZGluZy4KCjIwMDctMDItMjQgMjI6NTc6NDkgKzAwMDAgIExvw69jIE1pbmllciA8bG9vbCtnbm9tZUB2aWEuZWNwLmZyPgoKCSAgRml4IGJ1aWxkIHdpdGggTERGTEFHUz0nLVdsLC16LGRlZnMnICgjNDEwOTk3KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IExvw69jIE1pbmllciA8bG9vbCtnbm9tZSBhdCB2aWEgZWNwIGZyPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvYW5ub2RleC9NYWtlZmlsZS5hbToKCSAgKiBleHQvanBlZy9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3BlZXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FscGhhL01ha2VmaWxlLmFtOgoJICAqIGdzdC9jdXR0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlYnVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9lZmZlY3R2L01ha2VmaWxlLmFtOgoJICAqIGdzdC9nb29tL01ha2VmaWxlLmFtOgoJICAqIGdzdC9sZXZlbC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc21wdGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvZmlsdGVyL01ha2VmaWxlLmFtOgoJICBGaXggYnVpbGQgd2l0aCBMREZMQUdTPSctV2wsLXosZGVmcycgKCM0MTA5OTcpCgoyMDA3LTAyLTI0IDIyOjUyOjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgRml4IGJ1aWxkIHdpdGggTERGTEFHUz0nLVdsLC16LGRlZnMnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L2dzbS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJICAqIGV4dC93YXZwYWNrL01ha2VmaWxlLmFtOgoJICAqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9uc2YvTWFrZWZpbGUuYW06CgkgICogZ3N0L3JlcGxheWdhaW4vTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWVkL01ha2VmaWxlLmFtOgoJICBGaXggYnVpbGQgd2l0aCBMREZMQUdTPSctV2wsLXosZGVmcycuCgoyMDA3LTAyLTIzIDE5OjEyOjUyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9ydHNwLzogZ19iYXNlNjRfZW5jb2RlIGlzIGEgR0xpYiAyLjEyIGZ1bmN0aW9uLiBVc2UgYW4gZXF1aXZhbGVudCB0YWtlbiBmcm9tIGljZWNhc3QgdG8gcmVwbGFjZSBpdC4gUmVsaWNlbnNlZCBmci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAoYXBwZW5kX2F1dGhfaGVhZGVyKSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9zZW5kKSwgKHJ0c3BfY29ubmVjdGlvbl9zZXRfYXV0aCk6CgkgIGdfYmFzZTY0X2VuY29kZSBpcyBhIEdMaWIgMi4xMiBmdW5jdGlvbi4gVXNlIGFuIGVxdWl2YWxlbnQgdGFrZW4KCSAgZnJvbSBpY2VjYXN0IHRvIHJlcGxhY2UgaXQuIFJlbGljZW5zZWQgZnJvbSBHUEwgY291cnRlc3kgb2YgTWlrZQoJICBTbWl0aC4KCjIwMDctMDItMjMgMTg6MTI6MjcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L3J0c3AvOiBJbXBsZW1lbnQgc2ltcGxlIEJhc2ljIEF1dGhlbnRpY2F0aW9uIHN1cHBvcnQgc28gdGhhdCB1cmxzIGxpa2UgcnRzcDovL3VzZXI6cGFzc0Bob3N0bmFtZS9ydHNwc3RyZWFtIHdvcmsgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2ZpbmFsaXplKSwKCSAgKGdzdF9ydHNwc3JjX2NyZWF0ZV9zdHJlYW0pLCAocnRzcF9hdXRoX21ldGhvZF90b19zdHJpbmcpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfYXV0aF9oZHIpLCAoZ3N0X3J0c3BzcmNfc2V0dXBfYXV0aCksCgkgIChnc3RfcnRzcHNyY19zZW5kKSwgKGdzdF9ydHNwc3JjX3RyeV9zZW5kKSwgKGdzdF9ydHNwc3JjX29wZW4pLAoJICAoZ3N0X3J0c3BzcmNfY2xvc2UpLCAoZ3N0X3J0c3BzcmNfcGxheSksIChnc3RfcnRzcHNyY19wYXVzZSksCgkgIChnc3RfcnRzcHNyY191cmlfc2V0X3VyaSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fY3JlYXRlKSwKCSAgKGFwcGVuZF9hdXRoX2hlYWRlciksIChydHNwX2Nvbm5lY3Rpb25fc2VuZCksCgkgIChydHNwX2Nvbm5lY3Rpb25fZnJlZSksIChydHNwX2Nvbm5lY3Rpb25fc2V0X2F1dGgpOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmg6CgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuaDoKCSAgKiBnc3QvcnRzcC9ydHNwdXJsLmM6IChydHNwX3VybF9nZXRfcmVxdWVzdF91cmkpOgoJICAqIGdzdC9ydHNwL3J0c3B1cmwuaDoKCSAgSW1wbGVtZW50IHNpbXBsZSBCYXNpYyBBdXRoZW50aWNhdGlvbiBzdXBwb3J0IHNvIHRoYXQgdXJscyBsaWtlCgkgIHJ0c3A6Ly91c2VyOnBhc3NAaG9zdG5hbWUvcnRzcHN0cmVhbSB3b3JrIG9uIGhvc3RzIHRoYXQgcmVxdWlyZQoJICBhdXRoZW50aWNhdGlvbi4KCjIwMDctMDItMjIgMTc6NTM6MjYgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICBGaXggc2VnZmF1bHQgd2hlbiBvcHBlbmluZyBhIHJhZGlvIGRldmljZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCBzZWdmYXVsdCB3aGVuIG9wcGVuaW5nIGEgcmFkaW8gZGV2aWNlLgoKMjAwNy0wMi0yMiAxNDozNToyOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRml4IGxldmVsIGZvciBtdWx0aS1jaGFubmVsIGNhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiAoZ3N0X2xldmVsX3NldF9jYXBzKSwKCSAgKGdzdF9sZXZlbF90cmFuc2Zvcm1faXApOgoJICAqIHN5cy92NGwyL1JFQURNRToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBGaXggbGV2ZWwgZm9yIG11bHRpLWNoYW5uZWwgY2FzZS4KCjIwMDctMDItMjEgMTA6MTg6MTIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9sZXZlbC9nc3RsZXZlbC4qOiBVc2UgZnVuY3Rpb24gcG9pbnRlciBmb3IgcHJvY2VzcyBmdW5jdGlvbiBhbmQgYWRkIHByb2Nlc3MgZnVuY3Rpb25zIGZvciBmbG9hdCBhdWRpby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6IChnc3RfbGV2ZWxfaW5pdCksIChnc3RfbGV2ZWxfc2V0X2NhcHMpLAoJICAoZ3N0X2xldmVsX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmg6CgkgIFVzZSBmdW5jdGlvbiBwb2ludGVyIGZvciBwcm9jZXNzIGZ1bmN0aW9uIGFuZCBhZGQgcHJvY2VzcyBmdW5jdGlvbnMKCSAgZm9yIGZsb2F0IGF1ZGlvLgoKMjAwNy0wMi0yMCAyMTozNDowMCArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay4qOiBSZW1vdmUgaW5jbHVkZSBvZiB1bnVzZWQgaGVhZGVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSAgUmVtb3ZlIGluY2x1ZGUgb2YgdW51c2VkIGhlYWRlcnMuCgkgICogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3JtcGx1Z2luLmM6CgkgICogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5jOgoJICAqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuaDoKCSAgKiB3aW4zMi92czYvbGliZ3N0d2F2ZWZvcm0uZHNwOgoJICBBZGQgYSBuZXcgd2F2ZWZvcm0gcGx1Z2luIHdoaWNoIGluY2x1ZGVzIGFuIGF1ZGlvIHNpbmsKCSAgZWxlbWVudCB1c2luZyB0aGUgV2F2ZUZvcm0gd2luMzIgQVBJLgoJICAqIHdpbjMyL01BTklGRVNUOgoJICBBZGQgdGhlIG5ldyBwcm9qZWN0IGZpbGUgZm9ybSB3YXZlZm9ybSBwbHVnaW4uCgoyMDA3LTAyLTE5IDEyOjIyOjQzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IFJlYWRkIEdTVF9FTEVNRU5UX0VSUk9SIGlmIHdlIGNhbid0IHJlZW5xdWUgYnVmZmVycyBhZnRlciBFSU8sIGZpeGVzICM0MDczNjkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfZmlsbF9mb3JtYXRfbGlzdCksCgkgIChnc3RfdjRsMnNyY19ncmFiX2ZyYW1lKSwgKGdzdF92NGwyc3JjX3NldF9jYXB0dXJlKSwKCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfaW5pdCk6CgkgIFJlYWRkIEdTVF9FTEVNRU5UX0VSUk9SIGlmIHdlIGNhbid0IHJlZW5xdWUgYnVmZmVycyBhZnRlciBFSU8sCgkgIGZpeGVzICM0MDczNjkKCjIwMDctMDItMTggMTg6MDA6NTEgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIHN5cy9kaXJlY3RkcmF3LzogUHJlcGFyZSB0aGUgcGx1Z2luIHRvIG1vdmUgdG8gZ29vZDoKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3BsdWdpbi5jOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgUHJlcGFyZSB0aGUgcGx1Z2luIHRvIG1vdmUgdG8gZ29vZDoKCSAgUmVtb3ZlIHVudXNlZC91bnRlc3RlZCBjb2RlIChyZW5kZXJpbmcgdG8gYW4gZXh0ZXJuIHN1cmZhY2UsCgkgIHl1diBmb3JtYXQgcmVuZGVyaW5nKS5Vc2UgR1NUXyhERUJVRy8qKV9PQkpFQ1QgbWFjcm9zCgkgIFJlbmFtZSBhbGwgZnVuY3Rpb25zIGZyb20gZ3N0X2RpcmVjdGRyYXdzaW5rIHRvIGdzdF9kaXJlY3RkcmF3X3NpbmsuCgkgIEFkZCBndGsgZG9jIHNlY3Rpb24KCSAgRml4IGEgYnVnIGluIGdzdF9kaXJlY3RkcmF3X3Npbmtfc2hvd19mcmFtZSwgbWVtY3B5IGxpbmUgYnkgbGluZQoJICByZXNwZWN0aW5nIGRlc3RpbmF0aW9uIHN1cmZhY2Ugc3RyaWRlLgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHBsdWdpbi5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgIFByZXBhcmUgdGhlIHBsdWdpbiB0byBtb3ZlIHRvIGdvb2Q6CgkgIFJlbmFtZSBhbGwgZnVuY3Rpb25zIGZyb20gZ3N0X2RpcmVjdHNvdW5kc2luayB0byBnc3RfZGlyZWN0c291bmRfc2luay4KCSAgQWRkIGd0ayBkb2Mgc2VjdGlvbgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaC5pbjoKCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgQWRkIGNvbmZpZy5oLmluCgoyMDA3LTAyLTE4IDEzOjI0OjI2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEFkZGVkIHNpbXBsZSBtcGVnIHRyYW5zcG9ydCBzdHJlYW0gcGF5bG9hZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6IChnc3RfcnRwX21wMnRfcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX21wMnRfcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9tcDJ0X3BheV9pbml0KSwKCSAgKGdzdF9ydHBfbXAydF9wYXlfc2V0Y2FwcyksIChnc3RfcnRwX21wMnRfcGF5X2hhbmRsZV9idWZmZXIpLAoJICAoZ3N0X3J0cF9tcDJ0X3BheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5Lmg6CgkgIEFkZGVkIHNpbXBsZSBtcGVnIHRyYW5zcG9ydCBzdHJlYW0gcGF5bG9hZGVyLgoKMjAwNy0wMi0xNiAxMjozMjowMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL1VSTFM6IEFkZCBleGFtcGxlIEgyNjQgcnRzcCB1cmwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL1VSTFM6CgkgIEFkZCBleGFtcGxlIEgyNjQgcnRzcCB1cmwuCgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfbWVkaWFfdG9fY2FwcyksCgkgIChnc3RfcnRzcHNyY19oYW5kbGVfbWVzc2FnZSksIChnc3RfcnRzcHNyY19jaGFuZ2Vfc3RhdGUpOgoJICBEb24ndCBjb252ZXJ0IHZhbHVlcyB0byBsb3dlcmNhc2Ugb3Igd2UgbWlnaHQgbWVzcyB1cCBiYXNlNjQgZW5jb2RlZAoJICBwcm9wZXJ0aWVzLgoKMjAwNy0wMi0xNiAxMjozMDoyMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvUkVBRE1FOiBGaXggY2FzZSBvZiBzdHJpbmcgcGFyYW1zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL1JFQURNRToKCSAgRml4IGNhc2Ugb2Ygc3RyaW5nIHBhcmFtcy4KCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOiAoZ3N0X3J0cF9oMjY0X2RlcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9oMjY0X2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9oMjY0X2RlcGF5X3Byb2Nlc3MpOgoJICBGaXggZGVwYXlsb2FkZXIsIHN1cHBvcnQgbW9yZSBwYWNrZXQgdHlwZXMuCgkgIEFkZCBzeW5jIGNvZGVzIHRvIG1ha2Ugc3VyZSB0aGUgcGFja2V0aXplciBjYW4gZG8gaXRzIGpvYi4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzogKGdzdF9ydHBfbXB2X2RlcGF5X3Byb2Nlc3MpOgoJICBGaXggY2FwcyBjYXNlIGFnYWluLgoKMjAwNy0wMi0xNSAxMjoyNjoyOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6IFNldCByaWdodCBjYXBzIG9uIG91dHB1dCBidWZmZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOiAoZ3N0X3J0cF9oMjY0X2RlcGF5X3Byb2Nlc3MpOgoJICBTZXQgcmlnaHQgY2FwcyBvbiBvdXRwdXQgYnVmZmVycy4KCjIwMDctMDItMTQgMTc6MDQ6NDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9zZHBtZXNzYWdlLmM6IENsZWFyIHN0YWNrIGFsbG9jYXRlZCBTRFBNZWRpYSBzdHJ1Y3QgYmVmb3JlIGNhbGxpbmcgX2luaXQoKSBvbiBpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3Avc2RwbWVzc2FnZS5jOiAoc2RwX3BhcnNlX2xpbmUpOgoJICBBcyBzcG90dGVkIGJ5OiBQZXRlciBLamVsbGVyc3RlZHQgIDxwa2ogYXQgYXhpcyBjb20+OgoJICBDbGVhciBzdGFjayBhbGxvY2F0ZWQgU0RQTWVkaWEgc3RydWN0IGJlZm9yZSBjYWxsaW5nIF9pbml0KCkgb24gaXQuCgkgIENsYXJpZnkgdGhpcyBpbiB0aGUgZG9jcyBhcyB3ZWxsLgoKMjAwNy0wMi0xNCAxNzowMToyNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYzogRG9uJ3QgcmVzZXQgdGhlIHByb2ZpbGUgd2hlbiBnb2luZyBzd2l0Y2hpbmcgc3RhdGVzLCBhcyBpdCBtYWtlcyB0aGUgZWxlbWVudCBub24tcmV1c2EuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmM6IChnc3RfZ2NvbmZfYXVkaW9fc2lua19yZXNldCksCgkgIChkb19jaGFuZ2VfY2hpbGQpOgoJICBEb24ndCByZXNldCB0aGUgcHJvZmlsZSB3aGVuIGdvaW5nIHN3aXRjaGluZyBzdGF0ZXMsIGFzIGl0IG1ha2VzCgkgIHRoZSBlbGVtZW50IG5vbi1yZXVzYWJsZS4KCjIwMDctMDItMTQgMTU6MjQ6NTAgKzAwMDAgIGpwLmxpdSA8anBfbGl1QGFzdHJvY29tLmNuPgoKCSAgZ3N0L3J0c3Avc2RwbWVzc2FnZS4qOiBGaXggbWVtb3J5IG1hbmFnZW1lbnQgb2YgU0RQIG1lc3NhZ2VzLiBGaXhlcyAjNDA3NzkzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9zZHBtZXNzYWdlLmM6IChzZHBfb3JpZ2luX2luaXQpLCAoc2RwX2Nvbm5lY3Rpb25faW5pdCksCgkgIChzZHBfYmFuZHdpZHRoX2luaXQpLCAoc2RwX3RpbWVfaW5pdCksIChzZHBfem9uZV9pbml0KSwKCSAgKHNkcF9rZXlfaW5pdCksIChzZHBfYXR0cmlidXRlX2luaXQpLCAoc2RwX21lc3NhZ2VfaW5pdCksCgkgIChzZHBfbWVzc2FnZV91bmluaXQpLCAoc2RwX21lc3NhZ2VfZnJlZSksIChzZHBfbWVkaWFfaW5pdCksCgkgIChzZHBfbWVkaWFfdW5pbml0KSwgKHNkcF9tZWRpYV9mcmVlKSwgKHNkcF9tZXNzYWdlX2FkZF9tZWRpYSksCgkgIChzZHBfcGFyc2VfbGluZSk6CgkgICogZ3N0L3J0c3Avc2RwbWVzc2FnZS5oOgoJICBCYXNlZCBvbiBwYXRjaCBieToganAubGl1IDxqcF9saXUgYXQgYXN0cm9jb20gZG90IGNuPgoJICBGaXggbWVtb3J5IG1hbmFnZW1lbnQgb2YgU0RQIG1lc3NhZ2VzLiBGaXhlcyAjNDA3NzkzLgoKMjAwNy0wMi0xNCAxMjowNzowMSArMDAwMCAgemhhbmdmZWkgZ2FvIDxnYW96aGFuZ2ZlaUB5YWhvby5jb20uY24+CgoJICBnc3QvYXZpL2dzdGF2aW11eC5jOiBBbGxvdyBtdXhpbmcgdmlkZW8veC1oMjY0ICh3YXMgYWxyZWFkeSBpbiB0aGUgY2FwcykuIEZpeGVzICM0MDc3ODAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogemhhbmdmZWkgZ2FvIDxnYW96aGFuZ2ZlaUB5YWhvby5jb20uY24+CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmlfbXV4X3ZpZHNpbmtfc2V0X2NhcHMpOgoJICBBbGxvdyBtdXhpbmcgdmlkZW8veC1oMjY0ICh3YXMgYWxyZWFkeSBpbiB0aGUgY2FwcykuIEZpeGVzICM0MDc3ODAuCgoyMDA3LTAyLTE0IDEwOjA5OjEyICswMDAwICBqcC5saXUgPGpwX2xpdUBhc3Ryb2NvbS5jbj4KCgkgIGdzdC9ydHNwL3J0c3B1cmwuYzogRml4IHBhcnNpbmcgb2YgcGFzc3dvcmQgZmllbGQgaW4gdXJsLiBGaXhlcyAjNDA3Nzk3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IGpwLmxpdSA8anBfbGl1IGF0IGFzdHJvY29tIGRvdCBjbj4KCSAgKiBnc3QvcnRzcC9ydHNwdXJsLmM6IChydHNwX3VybF9wYXJzZSk6CgkgIEZpeCBwYXJzaW5nIG9mIHBhc3N3b3JkIGZpZWxkIGluIHVybC4gRml4ZXMgIzQwNzc5Ny4KCjIwMDctMDItMTQgMDk6NTU6NDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuKjogVXBkYXRlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2NsYXNzX2luaXQpLAoJICAoZ3N0X3dhdnBhcnNlX3Jlc2V0KSwgKGdzdF93YXZwYXJzZV9pbml0KSwKCSAgKGdzdF93YXZwYXJzZV9kZXN0cm95X3NvdXJjZXBhZCksIChnc3Rfd2F2cGFyc2VfZm10KSwKCSAgKGdzdF93YXZwYXJzZV9wYXJzZV9maWxlX2hlYWRlciksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2luaXQpLAoJICAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksIChnc3Rfd2F2cGFyc2VfcGVla19jaHVua19pbmZvKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksIChnc3Rfd2F2cGFyc2VfcGFyc2Vfc3RyZWFtX2luaXQpLAoJICAoZ3N0X3dhdnBhcnNlX2FkZF9zcmNfcGFkKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSksCgkgIChnc3Rfd2F2cGFyc2VfbG9vcCksIChnc3Rfd2F2cGFyc2VfY2hhaW4pLAoJICAoZ3N0X3dhdnBhcnNlX3BhZF9jb252ZXJ0KSwgKGdzdF93YXZwYXJzZV9wYWRfcXVlcnkpLAoJICAoZ3N0X3dhdnBhcnNlX3NyY3BhZF9ldmVudCksIChnc3Rfd2F2cGFyc2VfY2hhbmdlX3N0YXRlKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSAgVXBkYXRlIGRvY3MuCgkgIFVzZSBib2lsZXJwbGF0ZS4KCSAgVmFyaW91cyBjb2RlIGNsZWFudXBzLgoJICBXaGVuIHRoZSBiaXRyYXRlIGlzIG5vdCBrbm93biAoYnBzID09IDAgb3IgY29tcHJlc3NlZCBmb3JtYXRzKSBsZXQKCSAgZG93bnN0cmVhbSBlbGVtZW50IGd1ZXN0aW1hdGUgdGhlIGR1cmF0aW9uIGFuZCBwb3NpdGlvbiBhbmQgZG9uJ3QKCSAgZ2VuZXJhdGUgdGltZXN0YW1wcyBvciBkdXJhdGlvbnMuIEZpeGVzICM0MDUyMTMuCgkgIEZpeCBFT1MgYW5kIEVSUk9SIGNvbmRpdGlvbnMgaW4gY2hhaW4gbW9kZSwgd2UganVzdCBuZWVkIHRvIGZvcndhcmQgdGhlCgkgIGVycm9yIGZsb3dyZXR1cm4gdXBzdHJlYW0uCgoyMDA3LTAyLTEzIDE2OjAxOjI5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJlLWZhY3RvciB0aGUgZ2NvbmZhdWRpb3NpbmsgaW50byBhICJHc3RTd2l0Y2hTaW5rIiBiYXNlIGNsYXNzIGFuZCBhIGNoaWxkIHRoYXQgaW1wbGVtZW50cyB0aGUgR0NvbmYga2V5IG1vbml0b3JpbmcuIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2NvbmYvTWFrZWZpbGUuYW06CgkgICogZXh0L2djb25mL2djb25mLmM6IChnc3RfZ2NvbmZfZ2V0X3N0cmluZyksCgkgIChnc3RfZ2NvbmZfZ2V0X2tleV9mb3Jfc2lua19wcm9maWxlKSwgKGdzdF9nY29uZl9zZXRfc3RyaW5nKSwKCSAgKGdzdF9nY29uZl9yZW5kZXJfYmluX3dpdGhfZGVmYXVsdCk6CgkgICogZXh0L2djb25mL2djb25mLmg6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmM6IChnc3RfZ2NvbmZfYXVkaW9fc2lua19iYXNlX2luaXQpLAoJICAoZ3N0X2djb25mX2F1ZGlvX3NpbmtfcmVzZXQpLCAoZ3N0X2djb25mX2F1ZGlvX3NpbmtfaW5pdCksCgkgIChnc3RfZ2NvbmZfYXVkaW9fc2lua19kaXNwb3NlKSwgKGRvX2NoYW5nZV9jaGlsZCksCgkgIChnc3RfZ2NvbmZfc3dpdGNoX3Byb2ZpbGUpLCAoZ3N0X2djb25mX2F1ZGlvX3Npbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGNiX2NoYW5nZV9jaGlsZCksIChnc3RfZ2NvbmZfYXVkaW9fc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5oOgoJICAqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmM6IChnc3Rfc3dpdGNoX3NpbmtfYmFzZV9pbml0KSwKCSAgKGdzdF9zd2l0Y2hfc2lua19jbGFzc19pbml0KSwgKGdzdF9zd2l0Y2hfc2lua19yZXNldCksCgkgIChnc3Rfc3dpdGNoX3NpbmtfaW5pdCksIChnc3Rfc3dpdGNoX3NpbmtfZGlzcG9zZSksCgkgIChnc3Rfc3dpdGNoX2NvbW1pdF9uZXdfa2lkKSwgKGdzdF9zd2l0Y2hfc2lua19zZXRfY2hpbGQpLAoJICAoZ3N0X3N3aXRjaF9zaW5rX3NldF9wcm9wZXJ0eSksIChnc3Rfc3dpdGNoX3NpbmtfaGFuZGxlX2V2ZW50KSwKCSAgKGdzdF9zd2l0Y2hfc2lua19nZXRfcHJvcGVydHkpLCAoZ3N0X3N3aXRjaF9zaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuaDoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkgIChnc3RfYXV0b19hdWRpb19zaW5rX2NsYXNzX2luaXQpLCAoZ3N0X2F1dG9fYXVkaW9fc2lua19kaXNwb3NlKSwKCSAgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfY2xlYXJfa2lkKSwgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfcmVzZXQpLAoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19kZXRlY3QpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSAgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfY2xhc3NfaW5pdCksIChnc3RfYXV0b192aWRlb19zaW5rX2Rpc3Bvc2UpLAoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19jbGVhcl9raWQpLCAoZ3N0X2F1dG9fdmlkZW9fc2lua19yZXNldCksCgkgIChnc3RfYXV0b192aWRlb19zaW5rX2RldGVjdCk6CgkgIFJlLWZhY3RvciB0aGUgZ2NvbmZhdWRpb3NpbmsgaW50byBhICJHc3RTd2l0Y2hTaW5rIiBiYXNlIGNsYXNzCgkgIGFuZCBhIGNoaWxkIHRoYXQgaW1wbGVtZW50cyB0aGUgR0NvbmYga2V5IG1vbml0b3JpbmcuIFRoZSBlbmQgZ29hbCBvZgoJICB0aGlzIGlzIGFuIGF1ZGlvIHNpbmsgdGhhdCBjYW4gYmUgY2hhbmdlZCBvbiB0aGUgZmx5LCBidXQgYXQgdGhlCgkgIG1vbWVudCBpdCBzdGlsbCBvbmx5IGNoYW5nZXMgb24gdGhlIG5leHQgUkVBRFkgdHJhbnNpdGlvbi4KCjIwMDctMDItMTMgMTE6NTc6MTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogUHV0IGRlYnVnIHN0dWZmIGludG8gI2lmbmRlZiBHU1RfRElTQUJMRV9ERUJVRyAjZW5kaWYKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2VfaW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9zeW5jKSwgKGdzdF9hdmlfZGVtdXhfbWFzc2FnZV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X2NhbGN1bGF0ZV9kdXJhdGlvbnNfZnJvbV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3B1c2hfZXZlbnQpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyX3B1bGwpLAoJICAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fZGF0YSksCgkgIChnc3RfYXZpX2RlbXV4X2xvb3ApOgoJICBQdXQgZGVidWcgc3R1ZmYgaW50byAjaWZuZGVmIEdTVF9ESVNBQkxFX0RFQlVHICNlbmRpZgoKMjAwNy0wMi0xMyAwOTo0NjoyNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgQWRkIGNyb3NzcmVmZXJlbmNlcyB0byBnbGliL2dvYmplY3QvZ3N0cmVhbSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBBZGQgY3Jvc3NyZWZlcmVuY2VzIHRvIGdsaWIvZ29iamVjdC9nc3RyZWFtIGRvY3MuCgoyMDA3LTAyLTEyIDIzOjM1OjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21vbm9zY29wZS86IEZpeCBjb3B5J24ncGFzdGUtbyBpbiBkb2NzIGNodW5rLiBBbHNvIGFkZCBzb21lIG1pc3NpbmcgQ0ZMQUdTIChidXQgbm8gTElCUywgc2luY2Ugd2Ugb25seSB1c2UgZGVmaW5lLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tb25vc2NvcGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSAgRml4IGNvcHknbidwYXN0ZS1vIGluIGRvY3MgY2h1bmsuIEFsc28gYWRkIHNvbWUgbWlzc2luZyBDRkxBR1MKCSAgKGJ1dCBubyBMSUJTLCBzaW5jZSB3ZSBvbmx5IHVzZSBkZWZpbmVzIGZyb20gdGhlIGhlYWRlcnMpLgoKMjAwNy0wMi0xMiAyMzoyNzozMSArMDAwMCAgSm9uYXRoYW4gTWF0dGhldyA8am9uYXRoYW5Aa2FvbGluLndoOS5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogRml4IG1hc3NpdmUgbWVtb3J5IGxlYWsgd2hlbiBvcGVyYXRpbmcgaW4gc3RyZWFtaW5nIG1vZGUgZHVlIHRvCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogSm9uYXRoYW4gTWF0dGhldyAgPGpvbmF0aGFuIGF0IGthb2xpbiB3aDkgbmV0PgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3BhcnNlX3N0cmVhbV9pbml0KSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSk6CgkgIEZpeCBtYXNzaXZlIG1lbW9yeSBsZWFrIHdoZW4gb3BlcmF0aW5nIGluIHN0cmVhbWluZyBtb2RlIGR1ZSB0bwoJICBHU1RfQlVGRkVSX01BTExPQ0RBVEEoKSBub3QgYmVpbmcgc2V0IG9uIG5ld2x5LWNyZWF0ZWQgYnVmZmVycy4KCSAgRml4ZXMgIzQwNzA1Ny4KCjIwMDctMDItMTIgMTU6Mjk6NDQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguKjogU2F2ZSBzb21lIG1lbW9yeSAoOCUpIGJ5IHJlcGFja2luZyB0aGUgaW5kZXggZW50cnkgc3RydWN0dXJlIChtb3JlIHRvIGNvbWUpLiBBZGQgbW9yZSBGSVhNRXMgdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X2F2aV9kZW11eF9yZXNldCksIChnc3RfYXZpX2RlbXV4X2luZGV4X2VudHJ5X2Zvcl90aW1lKSwKCSAgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N1cGVyaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdWJpbmRleCksIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX2luZGV4KSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3luYyksIChnc3RfYXZpX2RlbXV4X25leHRfZGF0YV9idWZmZXIpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fc2NhbiksIChnc3RfYXZpX2RlbXV4X21hc3NhZ2VfaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9jYWxjdWxhdGVfZHVyYXRpb25zX2Zyb21faW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9wdXNoX2V2ZW50KSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlcl9wdWxsKSwKCSAgKGdzdF9hdmlfZGVtdXhfZG9fc2VlayksIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9kYXRhKSwgKGdzdF9hdmlfZGVtdXhfbG9vcCk6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBTYXZlIHNvbWUgbWVtb3J5ICg4JSkgYnkgcmVwYWNraW5nIHRoZSBpbmRleCBlbnRyeSBzdHJ1Y3R1cmUgKG1vcmUgdG8KCSAgY29tZSkuIEFkZCBtb3JlIEZJWE1FcyB0byBxdWVzdGlvbmFibGUgcGFydHMuCgoyMDA3LTAyLTEyIDEyOjU3OjIyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzeXMvdjRsMi86IE1vcmUgRklYTUUgY29tbWVudHMgYW5kIG1lc3NhZ2luZyBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY192NGwyZm91cmNjX3RvX2NhcHMpLAoJICAoZ3N0X3Y0bDJzcmNfZ2V0X2NhcHMpOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2ZpbGxfZm9ybWF0X2xpc3QpLAoJICAoZ3N0X3Y0bDJzcmNfZ3JhYl9mcmFtZSksIChnc3RfdjRsMnNyY19zZXRfY2FwdHVyZSksCgkgIChnc3RfdjRsMnNyY19jYXB0dXJlX2luaXQpOgoJICBNb3JlIEZJWE1FIGNvbW1lbnRzIGFuZCBtZXNzYWdpbmcgY2hhbmdlcy4KCjIwMDctMDItMTIgMTI6NDM6MDAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9nb29tL2dzdGdvb20uKjogSW1wcm92ZWQgZG9jcyBhbmQgdXNlIEdTVF9ERUJVR19GVU5DUFRSLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6IChnc3RfZ29vbV9jbGFzc19pbml0KSwgKGdzdF9nb29tX2luaXQpLAoJICAoZ3N0X2dvb21fY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmg6CgkgIEltcHJvdmVkIGRvY3MgYW5kIHVzZSBHU1RfREVCVUdfRlVOQ1BUUi4KCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogKGdzdF9sZXZlbF9jbGFzc19pbml0KToKCSAgVXNlIEdTVF9ERUJVR19GVU5DUFRSLgoJICAqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6IChnc3RfbW9ub3Njb3BlX2luaXQpLAoJICAoZ3N0X21vbm9zY29wZV9jaGFpbiksIChnc3RfbW9ub3Njb3BlX2NoYW5nZV9zdGF0ZSk6CgkgIEltcHJvdmVkIGRvY3Mgc291cmNlIGNsZWFudXBzLgoKMjAwNy0wMi0xMiAxMDoyOTo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9kZWJ1Zy86IEFkZCBjb2RlIGZvciBhIHB1c2hmaWxlc3JjIGVsZW1lbnQgdGhhdCBpbXBsZW1lbnRzIGEgcHVzaGZpbGU6Ly8gVVJJIGhhbmRsZXIsIHRvIG1ha2UgZGVidWdnaW5nIHB1c2gtbW9kZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlYnVnL2dzdGRlYnVnLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2RlYnVnL2dzdHB1c2hmaWxlc3JjLmM6CgkgICogZ3N0L2RlYnVnL2dzdHB1c2hmaWxlc3JjLmg6CgkgIEFkZCBjb2RlIGZvciBhIHB1c2hmaWxlc3JjIGVsZW1lbnQgdGhhdCBpbXBsZW1lbnRzIGEgcHVzaGZpbGU6Ly8gVVJJCgkgIGhhbmRsZXIsIHRvIG1ha2UgZGVidWdnaW5nIHB1c2gtbW9kZSBvcGVyYXRpb24gb2YgZGVtdXhlci9kZWNvZGVycwoJICB0aGF0IHN1cHBvcnQgYm90aCBlYXNpZXIgaW4gY29ubmVjdGlvbiB3aXRoIHNlZWsvcGxheWJpbi9ldGMuCgkgIFRoZSBlbGVtZW50IGlzbid0IHJlZ2lzdGVyZWQgYXQgdGhlIG1vbWVudC4KCjIwMDctMDItMTEgMTU6MjY6NDkgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIE1ha2VmaWxlLmFtOiBBZGQgd2luMzIgTUFOSUZFU1QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogTWFrZWZpbGUuYW06CgkgIEFkZCB3aW4zMiBNQU5JRkVTVAoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgQ2xlYXIgdW51c2VkIGNvZGUgYW5kIGFkZCBjb21tZW50cy4KCSAgUmVtb3ZlIHl1diBmcm9tIHRlbXBsYXRlIGNhcHMsIGl0IG9ubHkgc3VwcG9ydHMgUkdCCgkgIGFjdHVhbGx5LgoJICBJbXBsZW1lbnQgWE92ZXJsYXkgaW50ZXJmYWNlIGFuZCByZW1vdmUgd2luZG93IGFuZCBmdWxsc2NyZWVuCgkgIHByb3BlcnRpZXMuCgkgIEFkZCBkZWJ1ZyBsb2dzLgoJICBUZXN0IGZvciBibGl0IGNhcGFiaWxpdGllcyB0byByZXR1cm4gb25seSB0aGUgY3VycmVudCBjb2xvcnNwYWNlIGlmCgkgIHRoZSBoYXJkd2FyZSBjYW4ndCBibGl0IGZvciBvbmUgY29sb3JzcGFjZSB0byBhbm90aGVyLgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgQWRkIHNvbWUgZGVidWdzLgoJICAqIHdpbjMyL01BTklGRVNUOgoJICBBZGQgVlM3IHByb2plY3QgZmlsZXMgYW5kIHNvbHV0aW9uLgoJICAqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3OgoJICAqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3RkcmF3LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0c291bmQuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RxdGRlbXV4LmRzcDoKCSAgVXBkYXRlIHByb2plY3QgZmlsZXMuCgoyMDA3LTAyLTExIDEyOjU3OjQ3ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aW11eC5jOiBDb21tZW50IGEgI2lmIDAgaW4gY2FwcyB0ZW1wbGF0ZSBkZWZpbml0aW9uIGFzIFZTNiBzZWVtcyB0byBkbyBub3Qgc3VwcG9ydCBpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgQ29tbWVudCBhICNpZiAwIGluIGNhcHMgdGVtcGxhdGUgZGVmaW5pdGlvbiBhcyBWUzYgc2VlbXMgdG8KCSAgZG8gbm90IHN1cHBvcnQgaXQuCgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOihnc3RfcnRzcHNyY19sb29wX3VkcCk6CgkgIFVzZSBnc3RfZ3VpbnQ2NF90b19nZG91YmxlIGZvciBjb252ZXJzaW9uLgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6KHJ0c3BfY29ubmVjdGlvbl9zZW5kKToKCSAgTW92ZSB2YXJpYWJsZXMgZGVjbGFyYXRpb24gYmVmb3JlIHRoZSBmaXJzdCBpbnN0cnVjdGlvbi4KCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5jOihydHNwX3N0cnJlc3VsdCk6CgkgIERvbid0IHVzZSBoc3RyZXJyb3IgZm9yIGVycm9yIGxvZyBvbiBHX09TX1dJTjMyIGJ1aWxkIGFzIGl0J3Mgbm90IHN1cHBvcnRlZC4KCSAgQW5kIGRvbid0IGluY2x1ZGUgbmV0ZGIuaCBmb3IgR19PU19XSU4zMgoJICAqIGdzdC9ydHNwL3NkcG1lc3NhZ2UuYzooc2RwX3BhcnNlX2xpbmUpOgoJICBUaGlzIGluaXRpYWxpemF0aW9uIFNEUE1lZGlhIG5tZWRpYSA9IHsubWVkaWEgPSBOVUxMIH07IGlzIG5vdCBzdXBwb3J0ZWQKCSAgYnkgVlM2IHRoZW4gdXNlIGFuIG90aGVyIHdheSB0byBpbml0aWFsaXplIFNEUE1lZGlhIHN0cnVjdHVyZS4KCSAgKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuaDoKCSAgKiBnc3QvdWRwL2dzdGR5bnVkcG5ldHV0aWxzLmg6CgkgIERvIG5vdCBpbmNsdWRlIDxzeXMvdGltZS5oPiBmb3IgR19PU19XSU4zMgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIERlZmluZSBzb2NrbGVuX3QgYXMgaW50IGZvciBHX09TX1dJTjMyCgkgICogd2luL2NvbW1vbi9jb25maWcuaC5pbjoKCSAgVW5kZWYgSEFWRV9ORVRJTkVUX0lOX0gKCSAgKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfZ29vZC5kc3c6CgkgICogd2luMzIvdnM2L2xpYmdzdHJ0cC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHJ0c3AuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhdXRvZ2VuLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0YXVkaW9meC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHVkcC5kc3A6CgkgIEFkZCBhbmQgdXBkYXRlIHByb2plY3QgZmlsZXMuCgkgICogd2luMzIvY29tbW9uL2dzdHVkcC1lbnVtdHlwZXMuYzoKCSAgKiB3aW4zMi9jb21tb24vZ3N0dWRwLWVudW10eXBlcy5oOgoJICBBZGQgYSBjb3B5IG9mIHVkcCBlbnVtdHlwZXMgdG8gd2luMzIvY29tbW9uIGFzIGluIGNvcmUKCSAgYW5kIGJhc2UuCgoyMDA3LTAyLTExIDEwOjUzOjIxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEFjdGl2YXRlIG1vbm9zY29wZSB3aGVuIGJ1aWxkaW5nIHdpdGggLS1lbmFibGUtZXhwZXJpbWVudGFsLiBGaXgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBBY3RpdmF0ZSBtb25vc2NvcGUgd2hlbiBidWlsZGluZyB3aXRoIC0tZW5hYmxlLWV4cGVyaW1lbnRhbC4gRml4CgkgIC0tZW5hYmxlLWV4dGVybmFsIGNvbmZpZ3VyZSBzd2l0Y2ggZGVzY3JpcHRpb24uCgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXIuYzogKGdzdF9zdW5hdWRpb21peGVyX2Jhc2VfaW5pdCk6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6IChnc3Rfc3VuYXVkaW9zcmNfZGlzcG9zZSk6CgkgIEhlbHAgZ3N0LWluZGVudC4KCjIwMDctMDItMDkgMDk6MjQ6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aW11eC5jOiBFeHBsaWNpdGx5IGNhc3QgcmVzdWx0IG9mIHBvaW50ZXIgYXJpdGhtZXRpYyB0byBpbnRlZ2VyIGluIG9yZGVyIHRvIGF2b2lkIGNvbXBpbGVyIHdhcm5pbmdzIG9uIHMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmlfbXV4X3JpZmZfZ2V0X2F2aV9oZWFkZXIpOgoJICBFeHBsaWNpdGx5IGNhc3QgcmVzdWx0IG9mIHBvaW50ZXIgYXJpdGhtZXRpYyB0byBpbnRlZ2VyIGluIG9yZGVyIHRvCgkgIGF2b2lkIGNvbXBpbGVyIHdhcm5pbmdzIG9uIHNvbWUgNjQtYml0IHN5c3RlbXMuIFNob3VsZCBmaXggIzQwNjAxOC4KCjIwMDctMDItMDggMTE6MDk6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZGVidWcvcHJvZ3Jlc3NyZXBvcnQuYzogU29tZSBtb3JlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9wcm9ncmVzc3JlcG9ydC5jOgoJICBTb21lIG1vcmUgZG9jcy4KCjIwMDctMDItMDcgMjE6MDk6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDogVXBkYXRlIGZvciBuZXcgZWxlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJICBVcGRhdGUgZm9yIG5ldyBlbGVtZW50cy4KCSAgKiBnc3QvZGVidWcvcHJvZ3Jlc3NyZXBvcnQuaDoKCSAgQ29tbWl0IG5ld2x5LWNyZWF0ZWQgaGVhZGVyIGZpbGUgYXMgd2VsbC4KCjIwMDctMDItMDcgMjA6Mzk6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBNYWtlIHByb2dyZXNzcmVwb3J0IGVsZW1lbnQgcG9zdCBtZXNzYWdlcyB3aXRoIHRoZSBjdXJyZW50IHByb2dyZXNzIG9uIHRoZSBidXMuIEFsc28gYWRkIHNvbWUgYmFzaWMgZG9jcyBmb3IgaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBnc3QvZGVidWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlYnVnL3Byb2dyZXNzcmVwb3J0LmM6IChnc3RfcHJvZ3Jlc3NfcmVwb3J0X3Bvc3RfcHJvZ3Jlc3MpLAoJICAoZ3N0X3Byb2dyZXNzX3JlcG9ydF9kb19xdWVyeSksIChnc3RfcHJvZ3Jlc3NfcmVwb3J0X3JlcG9ydCk6CgkgIE1ha2UgcHJvZ3Jlc3NyZXBvcnQgZWxlbWVudCBwb3N0IG1lc3NhZ2VzIHdpdGggdGhlIGN1cnJlbnQgcHJvZ3Jlc3MKCSAgb24gdGhlIGJ1cy4gQWxzbyBhZGQgc29tZSBiYXNpYyBkb2NzIGZvciBpdC4KCjIwMDctMDItMDcgMTM6MDg6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvaGFsL2hhbC4qOiBTb21lIHNtYWxsIGNsZWFudXBzOyBkZWFsIHdpdGggZXJyb3JzIHdoZW4gcGFyc2luZyB0aGUgSEFMIEFMU0EgY2FwYWJpbGl0aWVzIGEgYml0IGJldHRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2hhbC9oYWwuYzogKGdzdF9oYWxfZ2V0X3N0cmluZyk6CgkgICogZXh0L2hhbC9oYWwuaDoKCSAgU29tZSBzbWFsbCBjbGVhbnVwczsgZGVhbCB3aXRoIGVycm9ycyB3aGVuIHBhcnNpbmcgdGhlIEhBTCBBTFNBCgkgIGNhcGFiaWxpdGllcyBhIGJpdCBiZXR0ZXIuCgoyMDA3LTAyLTA2IDE2OjI5OjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3NtcHRlL2dzdHNtcHRlLmM6IExldCdzIHRyeSB0aGlzIGFnYWluIGFuZCB1c2UgdGhlIHJpZ2h0IGNhc3QgdGhpcyB0aW1lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzogKGdzdF9zbXB0ZV90cmFuc2l0aW9uX3R5cGVfZ2V0X3R5cGUpOgoJICBMZXQncyB0cnkgdGhpcyBhZ2FpbiBhbmQgdXNlIHRoZSByaWdodCBjYXN0IHRoaXMgdGltZS4KCjIwMDctMDItMDYgMTY6MjQ6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvc21wdGUvZ3N0c21wdGUuYzogQWRkIGNhc3QgdG8gYXZvaWQgY29tcGlsZXIgd2FybmluZ3Mgd2l0aCBvbGRlciBHTGliIHZlcnNpb25zIHdoZXJlIHRoZSBuaWNrL25hbWUgbWVtYmVycyBpbiBHRW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6IChnc3Rfc21wdGVfdHJhbnNpdGlvbl90eXBlX2dldF90eXBlKToKCSAgQWRkIGNhc3QgdG8gYXZvaWQgY29tcGlsZXIgd2FybmluZ3Mgd2l0aCBvbGRlciBHTGliIHZlcnNpb25zCgkgIHdoZXJlIHRoZSBuaWNrL25hbWUgbWVtYmVycyBpbiBHRW51bVZhbHVlIGFyZSBub3QgZGVjbGFyZWQgYXMKCSAgY29uc3RhbnQgc3RyaW5ncy4KCjIwMDctMDItMDYgMTU6NTY6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZ2NvbmYvOiBJbiBnY29uZmF1ZGlvc2luaywgZ2V0IHRoZSByaWdodCBrZXkgYXMgdGhlIG9sZCBrZXkgaW4gZG9fdG9nZ2xlIChpZS4gb25lIGRlcGVuZGVudCBvbiB0aGUgcHJvZmlsZSBzZWxlY3QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2djb25mL2djb25mLmM6IChnc3RfZ2NvbmZfZ2V0X2tleV9mb3Jfc2lua19wcm9maWxlKSwKCSAgKGdzdF9nY29uZl9yZW5kZXJfYmluX2Zyb21fa2V5KSwKCSAgKGdzdF9nY29uZl9nZXRfZGVmYXVsdF9hdWRpb19zaW5rKToKCSAgKiBleHQvZ2NvbmYvZ2NvbmYuaDoKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYzogKGdldF9nY29uZl9rZXlfZm9yX3Byb2ZpbGUpLAoJICAoZG9fdG9nZ2xlX2VsZW1lbnQpLCAoZ3N0X2djb25mX2F1ZGlvX3Npbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9nY29uZl9hdWRpb19zaW5rX2dldF9wcm9wZXJ0eSk6CgkgIEluIGdjb25mYXVkaW9zaW5rLCBnZXQgdGhlIHJpZ2h0IGtleSBhcyB0aGUgb2xkIGtleSBpbiBkb190b2dnbGUKCSAgKGllLiBvbmUgZGVwZW5kZW50IG9uIHRoZSBwcm9maWxlIHNlbGVjdGVkKS4gTG9nIHNvbWUgbW9yZSBzdHVmZiBzbwoJICB3ZSBjYW4gc2VlIHdoYXQncyBhY3R1YWxseSBnb2luZyBvbi4KCjIwMDctMDItMDYgMTE6MTY6NDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdWRpb2Z4LzogU29tZSBzbWFsbCBjbGVhbnVwcyBhbmQgcG9ydCBib3RoIGVsZW1lbnRzIHRvIHRoZSBuZXcgR3N0QXVkaW9GaWx0ZXIgYmFzZSBjbGFzcyB0byBzYXZlIGEgZmV3IGxpbmVzIG9mIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzogKGdzdF9hdWRpb19hbXBsaWZ5X2Jhc2VfaW5pdCksCgkgIChnc3RfYXVkaW9fYW1wbGlmeV9jbGFzc19pbml0KSwgKGdzdF9hdWRpb19hbXBsaWZ5X2luaXQpLAoJICAoZ3N0X2F1ZGlvX2FtcGxpZnlfc2V0X3Byb2Nlc3NfZnVuY3Rpb24pLAoJICAoZ3N0X2F1ZGlvX2FtcGxpZnlfc2V0dXApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5oOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6IChnc3RfYXVkaW9faW52ZXJ0X2Jhc2VfaW5pdCksCgkgIChnc3RfYXVkaW9faW52ZXJ0X2NsYXNzX2luaXQpLCAoZ3N0X2F1ZGlvX2ludmVydF9zZXR1cCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuaDoKCSAgU29tZSBzbWFsbCBjbGVhbnVwcyBhbmQgcG9ydCBib3RoIGVsZW1lbnRzIHRvIHRoZSBuZXcgR3N0QXVkaW9GaWx0ZXIKCSAgYmFzZSBjbGFzcyB0byBzYXZlIGEgZmV3IGxpbmVzIG9mIGNvbW1vbiBjb2RlLgoJICAqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJICBMaW5rIGFnYWluc3QgbGliZ3N0YXVkaW8gZm9yIHRoZSBhYm92ZSBjaGFuZ2VzCgoyMDA3LTAyLTAzIDIzOjM1OjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgRml4IHVwIHRvIHVzZSB0aGUgbmV3bHkgcG9ydGVkIChhY3R1YWxseSB3b3JraW5nKSBHc3RBdWRpb0ZpbHRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKGdzdF9paXJfZXF1YWxpemVyX2Jhc2VfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jbGFzc19pbml0KSwgKGdzdF9paXJfZXF1YWxpemVyX2luaXQpLAoJICAoc2V0dXBfZmlsdGVyKSwgKGdzdF9paXJfZXF1YWxpemVyX2NvbXB1dGVfZnJlcXVlbmNpZXMpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfc2V0X3Byb3BlcnR5KSwgKGdzdF9paXJfZXF1YWxpemVyX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl90cmFuc2Zvcm1faXApLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfc2V0dXApLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmg6CgkgIEZpeCB1cCB0byB1c2UgdGhlIG5ld2x5IHBvcnRlZCAoYWN0dWFsbHkgd29ya2luZykgR3N0QXVkaW9GaWx0ZXIuCgkgIEJ1bXAgY29yZS9iYXNlIHJlcXVpcmVtZW50cyB0byBDVlMgZm9yIHRoaXMuCgkgICogdGVzdHMvaWNsZXMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9pY2xlcy9lcXVhbGl6ZXItdGVzdC5jOiAoY2hlY2tfYnVzKSwKCSAgKGVxdWFsaXplcl9zZXRfYmFuZF92YWx1ZSksIChlcXVhbGl6ZXJfc2V0X2FsbF9iYW5kX3ZhbHVlcyksCgkgIChlcXVhbGl6ZXJfc2V0X2JhbmRfdmFsdWVfYW5kX3dhaXQpLAoJICAoZXF1YWxpemVyX3NldF9hbGxfYmFuZF92YWx1ZXNfYW5kX3dhaXQpLCAoZG9fc2xpZGVyX2ZpZGRsaW5nKSwKCSAgKG1haW4pOgoJICBBZGQgYnJhaW4tZGVhZCBpbnRlcmFjdGl2ZSB0ZXN0IGZvciBlcXVhbGl6ZXIuCgoyMDA3LTAyLTAyIDE4OjM2OjI4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogUmVuYW1lICJ2YWx1ZXMiIHByb3BlcnR5IHRvICJiYW5kLXZhbHVlcyIgYW5kIGNoYW5nZSB0eXBlIGludG8gYQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2xhc3NfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9zZXRfcHJvcGVydHkpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2ZpbHRlcl9pbnBsYWNlKToKCSAgUmVuYW1lICJ2YWx1ZXMiIHByb3BlcnR5IHRvICJiYW5kLXZhbHVlcyIgYW5kIGNoYW5nZSB0eXBlIGludG8gYQoJICBHVmFsdWVBcnJheSwgc28gaXQncyBtb3JlIGVhc2lseSBiaW5kYWJsZSBhbmQgdGhlIHJhbmdlIG9mIHRoZQoJICB2YWx1ZXMgcGFzc2VkIGluIGlzIGRlZmluZWQgYW5kIGNoZWNrZWQgZXRjLjsgYWxzbyBkbyBzb21lCgkgIGxvY2tpbmcuCgoyMDA3LTAyLTAyIDE3OjM5OjIxICswMDAwICBKYW1lcyBEb2MgTGl2aW5nc3RvbiA8ZG9jbGl2aW5nc3RvbkBnbWFpbC5jb20+CgoJICBQb3J0IGVxdWFsaXplciBwbHVnaW4gdG8gMC4xMCAoIzQwMzU3MikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSmFtZXMgIkRvYyIgTGl2aW5nc3RvbiAgPGRvY2xpdmluZ3N0b24gYXQgZ21haWwgY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChnc3RfaWlyX2VxdWFsaXplcl9nZXRfdHlwZSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYXNlX2luaXQpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2xhc3NfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jb21wdXRlX2ZyZXF1ZW5jaWVzKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9maWx0ZXJfaW5wbGFjZSksIChnc3RfaWlyX2VxdWFsaXplcl9zZXR1cCksCgkgIChwbHVnaW5faW5pdCk6CgkgIFBvcnQgZXF1YWxpemVyIHBsdWdpbiB0byAwLjEwICgjNDAzNTcyKS4KCjIwMDctMDEtMzEgMDg6MzI6NTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiBGaXggYSBvZmYgYnkgb25lIHRoYXQgbGVhZHMgdG8gdGhlIGR1cmF0aW9uIHJlcG9ydGVkIGFzIG9uZSBzYW1wbGUgbGVzcyB0aGFuIGl0IGlzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX3F1ZXJ5KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2hhbmRsZV9zZWVrX2V2ZW50KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NyZWF0ZV9zcmNfcGFkKToKCSAgRml4IGEgb2ZmIGJ5IG9uZSB0aGF0IGxlYWRzIHRvIHRoZSBkdXJhdGlvbiByZXBvcnRlZCBhcyBvbmUKCSAgc2FtcGxlIGxlc3MgdGhhbiBpdCBpcwoKMjAwNy0wMS0zMCAxNzoxOTozMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQ2hlY2sgZm9yIGFuIE9iamVjdGl2ZSBDIGNvbXBpbGVyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ2hlY2sgZm9yIGFuIE9iamVjdGl2ZSBDIGNvbXBpbGVyCgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3h2aWRlby9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSAgKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBQb3J0IG9mIG9zeHZpZGVvIHBsdWdpbiB0byAwLjEwLiBEbyBOT1QgY29uc2lkZXIgMTAwJSBzdGFibGUgIQoJICBGaXhlcyAjNDAyNDcwCgoyMDA3LTAxLTI5IDEwOjU5OjQ4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZTogU29tZSBtb3JlIGlnbm9yZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgIFNvbWUgbW9yZSBpZ25vcmVzLgoKMjAwNy0wMS0yOCAxODoyODozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6IEZpeCBjcm9wcGluZyBmb3IgcGFja2VkIDQ6MjoyIGZvcm1hdHMgWVVZVi9ZVVkyIGFuZCBVWVZZLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICAoZ3N0X3ZpZGVvX2Nyb3BfZ2V0X2ltYWdlX2RldGFpbHNfZnJvbV9jYXBzKSwKCSAgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9wYWNrZWRfY29tcGxleCk6CgkgIEZpeCBjcm9wcGluZyBmb3IgcGFja2VkIDQ6MjoyIGZvcm1hdHMgWVVZVi9ZVVkyIGFuZCBVWVZZLgoJICAqIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6IChjaGVja19idXNfZm9yX2Vycm9ycyksCgkgICh0ZXN0X3dpdGhfY2FwcyksIChtYWluKToKCSAgQmxvY2sgc3RyZWFtaW5nIHRocmVhZCBiZWZvcmUgY2hhbmdpbmcgZmlsdGVyIGNhcHMgd2hpbGUgdGhlCgkgIHBpcGVsaW5lIGlzIHJ1bm5pbmcgc28gdGhhdCB3ZSBkb24ndCBnZXQgcmFuZG9tIG5vdC1uZWdvdGlhdGVkCgkgIGVycm9ycyBqdXN0IGJlY2F1c2UgR1N0cmVhbWVyIGNhbid0IGhhbmRsZSB0aGF0IHlldC4KCjIwMDctMDEtMjcgMTY6MDg6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOiBDYXRjaCBlcnJvcnMgd2hpbGUgdGhlIHRlc3QgaXMgcnVubmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzogKHRlc3Rfd2l0aF9jYXBzKToKCSAgQ2F0Y2ggZXJyb3JzIHdoaWxlIHRoZSB0ZXN0IGlzIHJ1bm5pbmcuCgoyMDA3LTAxLTI2IDEyOjIxOjQxICswMDAwICBjaGFybGVzIDxjaGFybGVzZzNAZ21haWwuY29tPgoKCSAgZXh0L3Nob3V0Mi9nc3RzaG91dDIuKjogUHJvcGVybHkgaGFuZGxlIHRhZ3MgaW4gc2hvdXQyc2VuZC4gRml4ZXMgIzM5OTgyNS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBjaGFybGVzIDxjaGFybGVzZzMgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOiAoZ3N0X3Nob3V0MnNlbmRfaW5pdCksCgkgIChzZXRfc2hvdXRfbWV0YWRhdGEpLCAoZ3N0X3Nob3V0MnNlbmRfZXZlbnQpOgoJICAqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmg6CgkgIFByb3Blcmx5IGhhbmRsZSB0YWdzIGluIHNob3V0MnNlbmQuIEZpeGVzICMzOTk4MjUuCgoyMDA3LTAxLTI1IDIzOjI3OjU5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogRml4IHRoZSBTRUVLSU5HIHF1ZXJ5LiBXZSBjYW4gc2VlayBpZiB3ZSBhcmUgaW4gcHVsbCBtb2RlLCBub3QgdGhlIG90aGVyIHdheSBhcm91bmQuIEEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9zcmNfcXVlcnkpOgoJICBGaXggdGhlIFNFRUtJTkcgcXVlcnkuIFdlIGNhbiBzZWVrIGlmIHdlIGFyZSBpbiBwdWxsIG1vZGUsIG5vdCB0aGUKCSAgb3RoZXIgd2F5IGFyb3VuZC4gQWxzbyBzZXQgdGhlIGNvcnJlY3QgZm9ybWF0IGluIHRoZSBzZWVraW5nIHF1ZXJ5IGFuZAoJICBoYW5kbGUgdGhlIGNhc2Ugd2hlcmUgdGhlIGhlYWRlcnMgYXJlIG5vdCByZWFkIHlldCBhbmQgd2UgY2FuJ3Qgc2F5CgkgIGFueXRoaW5nIGFib3V0IG91ciBzZWVraW5nIGNhcGFiaWxpdGllcy4KCjIwMDctMDEtMjUgMjE6NTU6NDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrLzogRml4IHNwZWxsaW5nIGluIDIgcGxhY2VzOiBJdCdzIGNhbGxlZCBXYXZwYWNrLCBub3QgV2F2ZVBhY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfYmFzZV9pbml0KToKCSAgRml4IHNwZWxsaW5nIGluIDIgcGxhY2VzOiBJdCdzIGNhbGxlZCBXYXZwYWNrLCBub3QgV2F2ZVBhY2suCgoyMDA3LTAxLTI1IDE0OjQwOjE1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBDb252ZXJ0IFNEUCBmaWVsZHMgdG8gdXBwZXIvbG93ZXJjYXNlIGZvbGxvd2luZyB0aGUgcnVsZXMgaW4gdGhlIFNEUCB0byBjYXBzIGRvY3VtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19tZWRpYV90b19jYXBzKSwKCSAgKGdzdF9ydHNwc3JjX2FjdGl2YXRlX3N0cmVhbXMpOgoJICBDb252ZXJ0IFNEUCBmaWVsZHMgdG8gdXBwZXIvbG93ZXJjYXNlIGZvbGxvd2luZyB0aGUgcnVsZXMgaW4gdGhlIFNEUCB0bwoJICBjYXBzIGRvY3VtZW50LgoKMjAwNy0wMS0yNSAxNDoyMjo1MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBGaXggY2FzZSBvZiBlbmNvZGluZy1uYW1lIGFuZCBrZXkvdmFsdWUgcGFpcnMgdG8gbWF0Y2ggdGhlIGRvY3VtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL1JFQURNRToKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkgIEZpeCBjYXNlIG9mIGVuY29kaW5nLW5hbWUgYW5kIGtleS92YWx1ZSBwYWlycyB0byBtYXRjaCB0aGUgZG9jdW1lbnQuCgkgIFRoaXMgaXMgdG8gbWFrZSBpbnRlcm9wZXJhdGlvbiB3aXRoIFNEUCBjYXNlLWluc2Vuc2l0aXZlIGFzIHJlcXVpcmVkIGJ5CgkgIHRoZSByZWxldmFudCBSRkNzLgoKMjAwNy0wMS0yNSAxMjowNToxMSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC86IFVzZSBwcm9wZXIgcHJpbnQgc3RhdGVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIChnc3RfbXVsdGlfZmlsZV9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6IChnc3RfbXVsdGlfZmlsZV9zcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L212ZS9nc3RtdmVkZW11eC5jOiAoZ3N0X212ZV92aWRlb19jcmVhdGVfYnVmZmVyKSwKCSAgKGdzdF9tdmVfdmlkZW9fcGFsZXR0ZSksIChnc3RfbXZlX3ZpZGVvX2NvZGVfbWFwKSwKCSAgKGdzdF9tdmVfYXVkaW9faW5pdCksIChnc3RfbXZlX2F1ZGlvX2RhdGEpLCAoZ3N0X212ZV90aW1lcl9jcmVhdGUpLAoJICAoZ3N0X212ZV9kZW11eF9jaGFpbik6CgkgICogZ3N0L212ZS9nc3RtdmVtdXguYzogKGdzdF9tdmVfbXV4X3B1c2hfY2h1bmspOgoJICAqIGdzdC9tdmUvbXZlYXVkaW9lbmMuYzogKG12ZV9jb21wcmVzc19hdWRpbyk6CgkgICogZ3N0L212ZS9tdmV2aWRlb2RlYzE2LmM6IChpcHZpZGVvX2NvcHlfYmxvY2spOgoJICAqIGdzdC9tdmUvbXZldmlkZW9kZWM4LmM6IChpcHZpZGVvX2NvcHlfYmxvY2spOgoJICAqIGdzdC9tdmUvbXZldmlkZW9lbmMxNi5jOiAobXZlX2VuY29kZV9mcmFtZTE2KToKCSAgKiBnc3QvbXZlL212ZXZpZGVvZW5jOC5jOiAobXZlX2VuY29kZV9mcmFtZTgpOgoJICBVc2UgcHJvcGVyIHByaW50IHN0YXRlbWVudHMuCgkgIEZpeGVzIGJ1aWxkIG9uIG1hYyBvcyB4LgoJICA8d2luZ28+IG9vIGxvb2sgYXQgbWUgbXkgbmFtZSBpcyBlZHdhcmQgaSdtIGhhY2tpbmcgb24gbWFjb3Mgd29vbwoKMjAwNy0wMS0yNSAxMTowMjowMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQnVtcCByZXF1aXJlZCAtY29yZS8tYmFzZSB0byBDVlMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCdW1wIHJlcXVpcmVkIC1jb3JlLy1iYXNlIHRvIENWUwoKMjAwNy0wMS0yNSAxMDo1NDoxOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwTDE2cGF5Lio6IEZpbGwgdXAgdG8gTVRVIHVzaW5nIGFkYXB0ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6IChnc3RfcnRwX0wxNl9wYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX0wxNl9wYXlfZmx1c2gpLCAoZ3N0X3J0cF9MMTZfcGF5X2hhbmRsZV9idWZmZXIpOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5Lmg6CgkgIEZpbGwgdXAgdG8gTVRVIHVzaW5nIGFkYXB0ZXIuCgkgIFRpbWVzdGFtcCBydHAgcGFja2V0cy4KCjIwMDctMDEtMjUgMTA6MzY6MzUgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBVc2UgR19HU0laRV9GT1JNQVQgaW4gcHJpbnQgc3RhdGVtZW50cyBmb3IgcG9ydGFiaWxpdHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IChnc3RfbXVsdGlwYXJ0X211eF9jb2xsZWN0ZWQpOgoJICAqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOiAoeGltYWdldXRpbF9jaGVja194c2htX2NhbGxzKToKCSAgVXNlIEdfR1NJWkVfRk9STUFUIGluIHByaW50IHN0YXRlbWVudHMgZm9yIHBvcnRhYmlsaXR5LgoJICBGaXhlcyBidWlsZCBvbiBtYWNvc3guCgoyMDA3LTAxLTI0IDE4OjIwOjE0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IFBvcnQgYW5kIGVuYWJsZSByYXcgYXVkaW8gcGF5bG9hZGVyL2RlcGF5bG9hZGVyLiBOZWVkcyBhIGJpdCBtb3JlIHdvcmsgb24gdGhlIHBheWxvYWRlciBzaWRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOiAoZ3N0X3J0cF9MMTZfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfTDE2X2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9MMTZfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX0wxNl9kZXBheV9wYXJzZV9pbnQpLCAoZ3N0X3J0cF9MMTZfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX0wxNl9kZXBheV9wcm9jZXNzKSwgKGdzdF9ydHBfTDE2X2RlcGF5X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX0wxNl9kZXBheV9nZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9MMTZfZGVwYXlfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfTDE2X2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzogKGdzdF9ydHBfTDE2X3BheV9nZXRfdHlwZSksCgkgIChnc3RfcnRwX0wxNl9wYXlfYmFzZV9pbml0KSwgKGdzdF9ydHBfTDE2X3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfTDE2X3BheV9pbml0KSwgKGdzdF9ydHBfTDE2X3BheV9maW5hbGl6ZSksCgkgIChnc3RfcnRwX0wxNl9wYXlfc2V0Y2FwcyksIChnc3RfcnRwX0wxNl9wYXlfaGFuZGxlX2J1ZmZlciksCgkgIChnc3RfcnRwX0wxNl9wYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5Lmg6CgkgIFBvcnQgYW5kIGVuYWJsZSByYXcgYXVkaW8gcGF5bG9hZGVyL2RlcGF5bG9hZGVyLiBOZWVkcyBhIGJpdCBtb3JlIHdvcmsKCSAgb24gdGhlIHBheWxvYWRlciBzaWRlLgoKMjAwNy0wMS0yNCAxNjoyNTo1NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuKjogT25seSB1bmJsb2NrIHRoZSB1ZHAgcGFkcyB3aGVuIHdlIGxpbmtlZCBhbmQgYWN0aXZhdGVkIHRoZW0gYWxsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChwYWRfYmxvY2tlZCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksCgkgIChnc3RfcnRzcHNyY19hY3RpdmF0ZV9zdHJlYW1zKSwgKGdzdF9ydHNwc3JjX2xvb3BfdWRwKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIE9ubHkgdW5ibG9jayB0aGUgdWRwIHBhZHMgd2hlbiB3ZSBsaW5rZWQgYW5kIGFjdGl2YXRlZCB0aGVtIGFsbC4KCSAgRml4ZXMgIzM5NTY4OC4KCjIwMDctMDEtMjQgMTU6MTg6MzQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogQWRkZWQgc2ltcGxlIEFDMyBkZXBheWxvYWRlciAoUkZDIDQxODQpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOiAoZ3N0X3J0cF9hYzNfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfYWMzX2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9hYzNfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX2FjM19kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfYWMzX2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF9hYzNfZGVwYXlfc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfYWMzX2RlcGF5X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2FjM19kZXBheV9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3J0cF9hYzNfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuaDoKCSAgQWRkZWQgc2ltcGxlIEFDMyBkZXBheWxvYWRlciAoUkZDIDQxODQpLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6IChnc3RfcnRwX21wMnRfZGVwYXlfc2V0Y2Fwcyk6CgkgIEZpeCBhIGxlYWsuCgoyMDA3LTAxLTI0IDEyOjQxOjAzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXVkaW9meC86IEFkZCBuZXcgZWxlbWVudCAiYXVkaW9hbXBsaWZ5Ii4gVGhpcyBhbGxvd3Mgc2NhbGluZyBvZiByYXcgYXVkaW8gc2FtcGxlcywgc2ltaWxhciB0byB0aGUgInZvbHVtZSIgZWxlbWUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJldmlld2VkIGJ5OiBTdGVmYW4gS29zdCAgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoJICAqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJICAoZ3N0X2F1ZGlvX2FtcGxpZnlfY2xpcHBpbmdfbWV0aG9kX2dldF90eXBlKSwKCSAgKGdzdF9hdWRpb19hbXBsaWZ5X2Jhc2VfaW5pdCksIChnc3RfYXVkaW9fYW1wbGlmeV9jbGFzc19pbml0KSwKCSAgKGdzdF9hdWRpb19hbXBsaWZ5X2luaXQpLCAoZ3N0X2F1ZGlvX2FtcGxpZnlfc2V0X3Byb2Nlc3NfZnVuY3Rpb24pLAoJICAoZ3N0X2F1ZGlvX2FtcGxpZnlfc2V0X3Byb3BlcnR5KSwgKGdzdF9hdWRpb19hbXBsaWZ5X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9fYW1wbGlmeV9zZXRfY2FwcyksCgkgIChnc3RfYXVkaW9fYW1wbGlmeV90cmFuc2Zvcm1faW50X2NsaXApLAoJICAoZ3N0X2F1ZGlvX2FtcGxpZnlfdHJhbnNmb3JtX2ludF93cmFwX25lZ2F0aXZlKSwKCSAgKGdzdF9hdWRpb19hbXBsaWZ5X3RyYW5zZm9ybV9pbnRfd3JhcF9wb3NpdGl2ZSksCgkgIChnc3RfYXVkaW9fYW1wbGlmeV90cmFuc2Zvcm1fZmxvYXRfY2xpcCksCgkgIChnc3RfYXVkaW9fYW1wbGlmeV90cmFuc2Zvcm1fZmxvYXRfd3JhcF9uZWdhdGl2ZSksCgkgIChnc3RfYXVkaW9fYW1wbGlmeV90cmFuc2Zvcm1fZmxvYXRfd3JhcF9wb3NpdGl2ZSksCgkgIChnc3RfYXVkaW9fYW1wbGlmeV90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5oOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZnguYzogKHBsdWdpbl9pbml0KToKCSAgQWRkIG5ldyBlbGVtZW50ICJhdWRpb2FtcGxpZnkiLiBUaGlzIGFsbG93cyBzY2FsaW5nIG9mIHJhdyBhdWRpbwoJICBzYW1wbGVzLCBzaW1pbGFyIHRvIHRoZSAidm9sdW1lIiBlbGVtZW50LCBidXQgcHJvdmlkZXMgZGlmZmVyZW50IG1vZGVzCgkgIGZvciBjbGlwcGluZyBhbmQgYWxsb3dzIHVubGltaXRlZCBhbXBsaWZpY2F0aW9uLiBJdCdzIG1haW5seSB0YXJnZXRlZAoJICBmb3IgY3JlYXRpdmUgc291bmQgZGVzaWduIGFuZCBub3QgYXMgYSByZXBsYWNlbWVudCBvZiB0aGUgInZvbHVtZSIKCSAgZWxlbWVudC4gRml4ZXMgIzM5NzE2MgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJICBBZGQgZG9jcyBmb3IgYXVkaW9hbXBsaWZ5IGFuZCBpbnRlZ3JhdGUgdGhlbSBpbnRvIHRoZSBidWlsZCBzeXN0ZW0KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2FtcGxpZnkuYzogKHNldHVwX2FtcGxpZnkpLAoJICAoY2xlYW51cF9hbXBsaWZ5KSwgKEdTVF9TVEFSVF9URVNUKSwgKGFtcGxpZnlfc3VpdGUpLCAobWFpbik6CgkgIEFkZCBmYWlybHkgZXh0ZW5zaXZlIHVuaXQgdGVzdCBzdWl0ZSBmb3IgYXVkaW9hbXBsaWZ5CgoyMDA3LTAxLTI0IDEyOjI2OjQxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBVbmJsb2NrIHBhZHMgYWZ0ZXIgYWRkaW5nIHRoZSBwYWRzIHRvIHRoZSBlbGVtZW50IHNvIHRoYXQgYXV0b3BsdWdnZXJzIGdldCBhIGNoYW5nZSB0byBsaW5rIHNvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKHBhZF91bmJsb2NrZWQpLCAocGFkX2Jsb2NrZWQpOgoJICBVbmJsb2NrIHBhZHMgYWZ0ZXIgYWRkaW5nIHRoZSBwYWRzIHRvIHRoZSBlbGVtZW50IHNvIHRoYXQgYXV0b3BsdWdnZXJzCgkgIGdldCBhIGNoYW5nZSB0byBsaW5rIHNvbWV0aGluZy4gUG9zc2libHkgZml4ZXMgIzM5NTY4OC4KCjIwMDctMDEtMjQgMTI6MjI6NTEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogRml4IGNhcHMgd2l0aCBwYXlsb2FkIG51bWJlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzogKGdzdF9ydHBfbXA0dl9kZXBheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6IChnc3RfcnRwX21wYV9kZXBheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfbXBhX2RlcGF5X2luaXQpLCAoZ3N0X3J0cF9tcGFfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX21wYV9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6IChnc3RfcnRwX21wdl9kZXBheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfbXB2X2RlcGF5X2luaXQpLCAoZ3N0X3J0cF9tcHZfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICBGaXggY2FwcyB3aXRoIHBheWxvYWQgbnVtYmVycy4KCSAgQWRkIHNvbWUgZml4ZWQgcGF5bG9hZCBudW1iZXJzIHRvIGNhcHMgd2hlbiBwb3NzaWJsZS4KCjIwMDctMDEtMjQgMTE6Mjk6MDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS5jOiBGaXggY2FwcyBvbiB0aGUgZGVwYXlsb2FkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5LmM6CgkgIEZpeCBjYXBzIG9uIHRoZSBkZXBheWxvYWRlci4KCjIwMDctMDEtMjMgMTg6MTY6MDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdWRpb2Z4LzogQWRkIG5ldyBhdWRpb2Z4IGVsZW1lbnQgImF1ZGlvaW52ZXJ0Ii4gVGhpcyBlbGVtZW50IHN3YXBzIHRoZSB1cHBlciBhbmQgbG93ZXIgaGFsZiBvZiBzYW1wbGVzIGFuZCBjYW4gYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV2aWV3ZWQgYnk6IFN0ZWZhbiBLb3N0ICA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgkgICogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9meC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6IChnc3RfYXVkaW9faW52ZXJ0X2Jhc2VfaW5pdCksCgkgIChnc3RfYXVkaW9faW52ZXJ0X2NsYXNzX2luaXQpLCAoZ3N0X2F1ZGlvX2ludmVydF9pbml0KSwKCSAgKGdzdF9hdWRpb19pbnZlcnRfc2V0X3Byb3BlcnR5KSwgKGdzdF9hdWRpb19pbnZlcnRfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb19pbnZlcnRfc2V0X2NhcHMpLCAoZ3N0X2F1ZGlvX2ludmVydF90cmFuc2Zvcm1faW50KSwKCSAgKGdzdF9hdWRpb19pbnZlcnRfdHJhbnNmb3JtX2Zsb2F0KSwKCSAgKGdzdF9hdWRpb19pbnZlcnRfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5oOgoJICBBZGQgbmV3IGF1ZGlvZnggZWxlbWVudCAiYXVkaW9pbnZlcnQiLiBUaGlzIGVsZW1lbnQgc3dhcHMgdGhlIHVwcGVyCgkgIGFuZCBsb3dlciBoYWxmIG9mIHNhbXBsZXMgYW5kIGNhbiBiZSB1c2VkIGZvciBleGFtcGxlIGZvciBhCgkgIHdpZGUtc3RlcmVvIGVmZmVjdC4gRml4ZXMgIzM5NjA1NwoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJICBBZGQgZG9jcyBmb3IgdGhlIGF1ZGlvaW52ZXJ0IGVsZW1lbnQgYW5kIGFkZCB0aGVtIHRvIHRoZSBidWlsZCBzeXN0ZW0uCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9pbnZlcnQuYzogKHNldHVwX2ludmVydCksCgkgIChjbGVhbnVwX2ludmVydCksIChHU1RfU1RBUlRfVEVTVCksIChpbnZlcnRfc3VpdGUpLCAobWFpbik6CgkgIEFkZCB1bml0IHRlc3Qgc3VpdGUgZm9yIHRoZSBhdWRpb2ludmVydCBlbGVtZW50LgoKMjAwNy0wMS0yMyAxNzozNjozMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6IFBhcnNlIGNvbmZpZyBwYXJhbXMgYXMgc3RyaW5nIGFuZCBpbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6IChnc3RfcnRwX21wNGdfZGVwYXlfcGFyc2VfaW50KSwKCSAgKGdzdF9ydHBfbXA0Z19kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfbXA0Z19kZXBheV9wcm9jZXNzKToKCSAgUGFyc2UgY29uZmlnIHBhcmFtcyBhcyBzdHJpbmcgYW5kIGludC4KCSAgUGFyc2UgYW5kIHVzZSBBVSBoZWFkZXIgbGVuZ3RoCgoyMDA3LTAxLTIzIDE3OjI3OjM5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3NtcHRlLzogY29uc3RpZnkgc29tZSBzdGF0aWMgc3RydWN0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NtcHRlL2JhcmJveHdpcGVzLmM6IChnc3Rfd2lwZV9ib3hlc19kcmF3KSwKCSAgKGdzdF93aXBlX3RyaWFuZ2xlc19jbG9ja19kcmF3KSwgKGdzdF93aXBlX3RyaWFuZ2xlc19kcmF3KToKCSAgKiBnc3Qvc21wdGUvZ3N0bWFzay5jOiAoX2dzdF9tYXNrX3JlZ2lzdGVyKToKCSAgKiBnc3Qvc21wdGUvZ3N0bWFzay5oOgoJICAqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOiAoZ3N0X3NtcHRlX3VwZGF0ZV9tYXNrKToKCSAgKiBnc3Qvc21wdGUvcGFpbnQuYzogKGdzdF9zbXB0ZV9wYWludF9oYm94KSwgKGRyYXdfYnJlc2VuaGFtX2xpbmUpLAoJICAoZ3N0X3NtcHRlX3BhaW50X3RyaWFuZ2xlX2Nsb2NrKToKCSAgY29uc3RpZnkgc29tZSBzdGF0aWMgc3RydWN0cy4KCSAgRG9uJ3QgdXBkYXRlIHRoZSBtYXNrIGlmIG5vdGhpbmcgY2hhbmdlZCB0byB0aGUgcGFyYW1zLgoJICBNYWtlIHN1cmUgd2UgbmV2ZXIgZHJhdyBvdXRzaWRlIG9mIHRoZSBwaWN0dXJlLiBGaXhlcyAjMzk4MzI1LgoKMjAwNy0wMS0yMiAxMzowNjo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogRXJyb3Igb3V0IHByb3Blcmx5IHdoZW4gcHVsbF9yYW5nZSBmYWlscyB3aGlsZSB3ZSdyZSByZWFkaW5nIHRoZSBoZWFkZXJzLCBpbnN0ZWFkIG9mIGp1c3QgcGF1cy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXJfcHVsbCk6CgkgIEVycm9yIG91dCBwcm9wZXJseSB3aGVuIHB1bGxfcmFuZ2UgZmFpbHMgd2hpbGUgd2UncmUgcmVhZGluZyB0aGUKCSAgaGVhZGVycywgaW5zdGVhZCBvZiBqdXN0IHBhdXNpbmcgdGhlIHRhc2sgc2lsZW50bHkuIEZpeGVzICMzOTkzMzguCgoyMDA3LTAxLTE5IDEzOjA2OjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3NtcHRlL2dzdHNtcHRlLmM6IFNvbWUgbW9yZSBzYW5pdHkgY2hlY2tzIHRvIG1ha2Ugc3VyZSB0aGUgaW5wdXQgZm9ybWF0cyBtYXRjaCBhbmQgdGhlIGlucHV0IHBhZHMgYXJlIGFjdHVhbGx5IG5lLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOiAoZ3N0X3NtcHRlX2NvbGxlY3RlZCk6CgkgIFNvbWUgbW9yZSBzYW5pdHkgY2hlY2tzIHRvIG1ha2Ugc3VyZSB0aGUgaW5wdXQgZm9ybWF0cyBtYXRjaCBhbmQgdGhlCgkgIGlucHV0IHBhZHMgYXJlIGFjdHVhbGx5IG5lZ290aWF0ZWQsIGluIGNhc2Ugc29tZW9uZSB0cmllcyB0byBmZWVkCgkgIGJ1ZmZlcnMgZnJvbSBmYWtlc3JjIG9yIGZpbGVzcmMuIEZpeGVzICMzOTgyOTkuCgkgIEFsc28gY29uc3QtaWZ5IGFuIGFycmF5LCBqdXN0IGJlY2F1c2Ugd2UgY2FuLgoKMjAwNy0wMS0xOSAxMDozNToxMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOiBJZ25vcmUgcHJldmlvdXMgY29tbWl0LCB0aGF0IHdhcyBvbmx5IHZhbGlkIGZvciB3aWR0aHMgYW5kIGhlaWdodHMgdGhhdCBhcmUgbXVsdGlwbGVzIG9mIDQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOiAoZmlsbF9pNDIwKSwgKGdzdF9zbXB0ZV9jb2xsZWN0ZWQpOgoJICBJZ25vcmUgcHJldmlvdXMgY29tbWl0LCB0aGF0IHdhcyBvbmx5IHZhbGlkIGZvciB3aWR0aHMgYW5kIGhlaWdodHMKCSAgdGhhdCBhcmUgbXVsdGlwbGVzIG9mIDQuCgkgIENvcHkgb3ZlciBzaXplL3N0cmlkZSBtYWNyb3MgZnJvbSBqcGVnZGVjLiBUaGlzIGFsbG93cyB0aGUgZWxlbWVudAoJICB0byB3b3JrIHdpdGggYW55IHdpZHRoLGhlaWdodC4uLgoJICAuLi4gYnV0IHB1dHMgaW4gZXZpZGVuY2UgdGhhdCB0aGUgYWN0dWFsIHRyYW5zZm9ybWF0aW9ucyBvbmx5IHdvcmsKCSAgd2l0aCB3aWR0aC9oZWlnaHQgdGhhdCBhcmUgbXVsdGlwbGVzIG9mIDQuCgoyMDA3LTAxLTE5IDA5OjQ4OjQ3ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3NtcHRlL2dzdHNtcHRlLmM6IEFsbG9jYXRlIGJ1ZmZlcnMgb2YgdGhlIHJpZ2h0IHNpemUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOiAoZ3N0X3NtcHRlX2NvbGxlY3RlZCk6CgkgIEFsbG9jYXRlIGJ1ZmZlcnMgb2YgdGhlIHJpZ2h0IHNpemUuCgkgIFRoZSBwcm9wZXIgc2l6ZSBvZiBhIEk0MjAgYnVmZmVyIGluIGJ5dGVzIGlzOgoJICB3aWR0aCAqIGhlaWdodCAqIDMKCSAgLS0tLS0tLS0tLS0tLS0tLS0tCgkgIDIKCjIwMDctMDEtMTggMTg6Mzc6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvc21wdGUvZ3N0c21wdGUuYzogUHJveHkgZ2V0Y2FwcyBvbiBzaW5rIHBhZHMgdG9vLCBzbyB0aGF0IHdlIGVpdGhlciBlbmQgdXAgd2l0aCB0aGUgc2FtZSBkaW1lbnNpb25zIG9uIGFsbCBwYWRzIG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6IChnc3Rfc21wdGVfaW5pdCk6CgkgIFByb3h5IGdldGNhcHMgb24gc2luayBwYWRzIHRvbywgc28gdGhhdCB3ZSBlaXRoZXIgZW5kIHVwIHdpdGggdGhlCgkgIHNhbWUgZGltZW5zaW9ucyBvbiBhbGwgcGFkcyBvciBlcnJvciBvdXQgaWYgdGhhdCdzIG5vdCBwb3NzaWJsZQoJICAoc2VlbXMgdG8gd29yayBldmVuISkuIEZpeGVzICMzOTgwODYsIEkgdGhpbmsuCgoyMDA3LTAxLTE4IDExOjI5OjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogUmVtb3ZlIGxhZHNwYSBmcm9tIGRvY3M7IGFkZCBoaWVyYXJjaHkgaW5mbyBmb3IgR3N0QXVkaW9QYW5vcmFtYTsgZml4IGludGVnZXIgcHJvcGVydGllcyB3aXRoIC0xIGFzIG1pLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgUmVtb3ZlIGxhZHNwYSBmcm9tIGRvY3M7IGFkZCBoaWVyYXJjaHkgaW5mbyBmb3IgR3N0QXVkaW9QYW5vcmFtYTsKCSAgZml4IGludGVnZXIgcHJvcGVydGllcyB3aXRoIC0xIGFzIG1pbmltdW0gdmFsdWUuCgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkgIFVwZGF0ZSB0byBDVlMuCgoyMDA3LTAxLTE4IDExOjIzOjM2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6IEZpeCBkb2Mgc2VjdGlvbiBuYW1lIChGaXhlcyAjMzk3OTQ2KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkgIEZpeCBkb2Mgc2VjdGlvbiBuYW1lIChGaXhlcyAjMzk3OTQ2KQoKMjAwNy0wMS0xOCAxMDozMzo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIENoYW5nZUxvZzoKCSAgUmVtb3ZlIGJvZ3VzIENoYW5nZUxvZyBlbnRyeQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVtb3ZlIGJvZ3VzIENoYW5nZUxvZyBlbnRyeQoKMjAwNy0wMS0xNyAxNDozMDo1MCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL3Y0bDIvOiBGaXggRUlPIGhhbmRpbmcgd2hlbiBjYXB0dXJpbmcuIEFkZCBuZXcgcHJvcGVydHkgdG8gc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGJ1ZmZlcnMgdG8gZW5xdWUgKGFuZCByZW1vdmUgdGhlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgKGdzdF92NGwyX29iamVjdF9pbnN0YWxsX3Byb3BlcnRpZXNfaGVscGVyKSwKCSAgKGdzdF92NGwyX29iamVjdF9zZXRfcHJvcGVydHlfaGVscGVyKSwKCSAgKGdzdF92NGwyX29iamVjdF9nZXRfcHJvcGVydHlfaGVscGVyKSwgKGdzdF92NGwyX3NldF9kZWZhdWx0cyk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3Y0bDJzcmNfaW5pdCksIChnc3RfdjRsMnNyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3Y0bDJzcmNfZ2V0X3Byb3BlcnR5KSwgKGdzdF92NGwyc3JjX3NldF9jYXBzKToKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19maWxsX2Zvcm1hdF9saXN0KSwKCSAgKGdzdF92NGwyc3JjX2dyYWJfZnJhbWUpLCAoZ3N0X3Y0bDJzcmNfc2V0X2NhcHR1cmUpLAoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9pbml0KSwgKGdzdF92NGwyc3JjX2NhcHR1cmVfc3RhcnQpLAoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9kZWluaXQpOgoJICBGaXggRUlPIGhhbmRpbmcgd2hlbiBjYXB0dXJpbmcuIEFkZCBuZXcgcHJvcGVydHkgdG8gc3BlY2lmeSB0aGUgbnVtYmVyIG9mCgkgIGJ1ZmZlcnMgdG8gZW5xdWUgKGFuZCByZW1vdmUgdGhlIGJvcmtlZCBudW0tYnVmZmVycyB1c2FnZSkuCgoyMDA3LTAxLTE2IDA4OjI5OjExICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6IFVzZSBhIGZ1bmN0aW9uIGFycmF5IGZvciBwcm9jZXNzIG1ldGhvZHMsIGFkZCBtb3JlIGRvY3MgYW5kIGRlZmluZSB0aGUgc3RhcnRpbmRleCBvZiBlbnVtcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tbyBjaXJjdWxhci1jaGFvcyBvcmc+CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOiAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX2NsYXNzX2luaXQpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3NldF9wcm9jZXNzX2Z1bmN0aW9uKToKCSAgVXNlIGEgZnVuY3Rpb24gYXJyYXkgZm9yIHByb2Nlc3MgbWV0aG9kcywgYWRkIG1vcmUgZG9jcyBhbmQgZGVmaW5lIHRoZQoJICBzdGFydGluZGV4IG9mIGVudW1zLgoKMjAwNy0wMS0xNCAxNzo1NTozMyArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIEFkZCBzdXBwb3J0IGZvciBtb3JlIHRoYW4gb25lIGF1ZGlvIHN0cmVhbTsgd3JpdGUgYmV0dGVyIEFWSVggaGVhZGVyOyByZWZhY3RvciBjb2RlIGEgYml0OyBkb24ndCBhbm5vdW5jZSB2b3JiaXMgY2Fwcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1dyBhdCBza3luZXQgYmU+CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmlfbXV4X2ZpbmFsaXplKSwKCSAgKGdzdF9hdmlfbXV4X3BhZF9yZXNldCksIChnc3RfYXZpX211eF9yZXNldCksIChnc3RfYXZpX211eF9pbml0KSwKCSAgKGdzdF9hdmlfbXV4X3ZpZHNpbmtfc2V0X2NhcHMpLCAoZ3N0X2F2aV9tdXhfYXVkc2lua19zZXRfY2FwcyksCgkgIChnc3RfYXZpX211eF9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X2F2aV9tdXhfcmVsZWFzZV9wYWQpLAoJICAoZ3N0X2F2aV9tdXhfcmlmZl9nZXRfYXZpX2hlYWRlciksCgkgIChnc3RfYXZpX211eF9yaWZmX2dldF9hdml4X2hlYWRlciksIChnc3RfYXZpX211eF9yaWZmX2dldF9oZWFkZXIpLAoJICAoZ3N0X2F2aV9tdXhfd3JpdGVfYXZpeF9pbmRleCksIChnc3RfYXZpX211eF9hZGRfaW5kZXgpLAoJICAoZ3N0X2F2aV9tdXhfYmlnZmlsZSksIChnc3RfYXZpX211eF9zdGFydF9maWxlKSwKCSAgKGdzdF9hdmlfbXV4X3N0b3BfZmlsZSksIChnc3RfYXZpX211eF9oYW5kbGVfZXZlbnQpLAoJICAoZ3N0X2F2aV9tdXhfZG9fYnVmZmVyKSwgKGdzdF9hdmlfbXV4X2RvX29uZV9idWZmZXIpLAoJICAoZ3N0X2F2aV9tdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5oOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aW11eC5jOiAodGVhcmRvd25fc3JjX3BhZCk6CgkgIEFkZCBzdXBwb3J0IGZvciBtb3JlIHRoYW4gb25lIGF1ZGlvIHN0cmVhbTsgd3JpdGUgYmV0dGVyIEFWSVgKCSAgaGVhZGVyOyByZWZhY3RvciBjb2RlIGEgYml0OyBkb24ndCBhbm5vdW5jZSB2b3JiaXMgY2FwcyBvbiBvdXIgYXVkaW8KCSAgc2luayBwYWRzIHNpbmNlIHdlIGRvbid0IHN1cHBvcnQgaXQgYW55d2F5LiBDbG9zZXMgIzM3OTI5OC4KCjIwMDctMDEtMTMgMTk6MTI6MzIgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jIChnc3RfZGVpbnRlcmxlYXZlX2FkZF9uZXdfcGFkcyk6IFVzZSBmaXhlZCBjYXBzIG9uIHNyYyBwYWRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wMS0xMyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYyAoZ3N0X2RlaW50ZXJsZWF2ZV9hZGRfbmV3X3BhZHMpOgoJICBVc2UgZml4ZWQgY2FwcyBvbiBzcmMgcGFkcy4KCSAgKGdzdF9kZWludGVybGVhdmVfcmVtb3ZlX3BhZHMpOiBSZW1vdmUgc3JjIHBhZHMsIG5vdCBzaW5rIHBhZHMuIEkKCSAgc2VlbSB0byBoYXZlIHJldmVyc2UgbWlkYXMgZGlzZWFzZSEKCSAgKGdzdF9kZWludGVybGVhdmVfcHJvY2Vzcyk6IFByb3h5IHRpbWVzdGFtcHMsIG9mZnNldHMsIGR1cmF0aW9ucywKCSAgYW5kIHNldCBjYXBzIG9uIG91dGdvaW5nIGJ1ZmZlcnMuIEZpeGVzICMzOTU1OTcsIEkgdGhpbmsuCgoyMDA3LTAxLTEzIDE4OjAxOjQxICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmMgKGdzdF9pbnRlcmxlYXZlX2luaXQpOiBJbml0IHRoZSBhY3RpdmF0aW9uIG1vZGUgcHJvcGVybHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTAxLTEzICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYyAoZ3N0X2ludGVybGVhdmVfaW5pdCk6IEluaXQgdGhlCgkgIGFjdGl2YXRpb24gbW9kZSBwcm9wZXJseS4KCSAgKGdzdF9pbnRlcmxlYXZlX3NyY19zZXRjYXBzLCBnc3RfaW50ZXJsZWF2ZV9zcmNfZ2V0Y2FwcykKCSAgKGdzdF9pbnRlcmxlYXZlX2luaXQpOiBTZXQgYSBzZXRjYXBzIGFuZCBnZXRjYXBzIGZ1bmN0aW9uIG9uIHRoZQoJICBzcmMgcGFkLCBzbyB0aGF0IHdlIGNhbiBpbXBsZW1lbnQgcHVsbC1tb2RlIG5lZ290aWF0aW9uLgoJICAoZ3N0X2ludGVybGVhdmVfc2lua19zZXRjYXBzKTogUmVuYW1lZCBmcm9tCgkgIGdzdF9pbnRlcmxlYXZlX3NldGNhcHMsIGFzIGl0IG9ubHkgZG9lcyB0aGUgc2luayBsb2dpYyBub3cuCgkgIEltcGxlbWVudCBib3RoIGZvciBwdWxsLW1vZGUgYW5kIHB1c2gtbW9kZS4KCSAgKGdzdF9pbnRlcmxlYXZlX3Byb2Nlc3MpOiBTZXQgY2FwcyBvbiBvdXIgb3V0Z29pbmcgYnVmZmVyLgoJICAoZ3N0X2ludGVybGVhdmVfc3JjX2FjdGl2YXRlX3B1bGwpOiBGaXggc29tZSBtb3JlIGJvZ3VzIGNhc3RzLgoJICBXaGF0IGlzIHVwIHdpdGggdGhpcy4KCjIwMDctMDEtMTMgMTU6NTI6MTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuKjogQWRkICdtZXRob2QnIHByb3BlcnR5IGFuZCBwcm92aWRlIGEgc2ltcGxlIChub24tcHN5Y2hvYWN1c3RpYykgcHJvY2Vzc2luZyBtZXRob2QgKCMzOTQ4NTkpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vIGNpcmN1bGFyLWNoYW9zIG9yZz4KCSAgKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkgIChnc3RfYXVkaW9fcGFub3JhbWFfbWV0aG9kX2dldF90eXBlKSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV9jbGFzc19pbml0KSwgKGdzdF9hdWRpb19wYW5vcmFtYV9pbml0KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV9zZXRfcHJvY2Vzc19mdW5jdGlvbiksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV9nZXRfcHJvcGVydHkpLCAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3NldF9jYXBzKSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm1fbTJzX2ludF9zaW1wbGUpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybV9zMnNfaW50X3NpbXBsZSksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtX20yc19mbG9hdF9zaW1wbGUpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybV9zMnNfZmxvYXRfc2ltcGxlKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmg6CgkgIEFkZCAnbWV0aG9kJyBwcm9wZXJ0eSBhbmQgcHJvdmlkZSBhIHNpbXBsZSAobm9uLXBzeWNob2FjdXN0aWMpCgkgIHByb2Nlc3NpbmcgbWV0aG9kICgjMzk0ODU5KS4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Bhbm9yYW1hLmM6IChHU1RfU1RBUlRfVEVTVCksCgkgIChwYW5vcmFtYV9zdWl0ZSk6CgkgIFRlc3RzIGZvciBuZXcgbWV0aG9kLgoKMjAwNy0wMS0xMiAxODoyODoxMyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBjb21tZW50IG91dCBMQURTUEEgcGx1Z2luIGZvciBub3cKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNvbW1lbnQgb3V0IExBRFNQQSBwbHVnaW4gZm9yIG5vdwoKMjAwNy0wMS0xMiAxNzoxNjo1MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4LzogQWRkIFgtUVQgZGVwYXlsb2FkZXIgdGhhdCB3aWxsIGV2ZW50dWFsbHkgc2hhcmUgY29kZSB3aXRoIHRoZSBkZW11eGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS5jOiAoZ3N0X3J0cF94cXRfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfeHF0X2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF94cXRfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX3hxdF9kZXBheV9maW5hbGl6ZSksIChnc3RfcnRwX3F1aWNrdGltZV9wYXJzZV9zZCksCgkgIChnc3RfcnRwX3hxdF9kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfeHF0X2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF94cXRfZGVwYXlfc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfeHF0X2RlcGF5X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX3hxdF9kZXBheV9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3J0cF94cXRfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5Lmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYmFzZV9pbml0KSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyKSwgKGdzdF9xdGRlbXV4X2xvb3ApLAoJICAocXRkZW11eF9wYXJzZV9tb292KSwgKHF0ZGVtdXhfcGFyc2VfY29udGFpbmVyKSwKCSAgKHF0ZGVtdXhfcGFyc2Vfbm9kZSksIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayksIChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgKiBnc3QvcXRkZW11eC9xdWlja3RpbWUuYzogKHBsdWdpbl9pbml0KToKCSAgQWRkIFgtUVQgZGVwYXlsb2FkZXIgdGhhdCB3aWxsIGV2ZW50dWFsbHkgc2hhcmUgY29kZSB3aXRoIHRoZSBkZW11eGVyLgoJICBNYWtlIG5ldyBwbHVnaW4gZW50cnkgcG9pbnQgd2l0aCBxdWlja3RpbWUgcmVsZWF0ZWQgc3R1ZmYuCgoyMDA3LTAxLTEyIDEyOjEwOjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvTWFrZWZpbGUuYW06IERpc3QgYWxsIG5ldyBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvTWFrZWZpbGUuYW06CgkgIERpc3QgYWxsIG5ldyBmaWxlcy4KCjIwMDctMDEtMTIgMTA6Mjc6MjUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBkb2NzL3BsdWdpbnMvOiBBY3RpdmF0ZSBkb2NzIGZvciBqYWNrLCBzZGwgYW5kIHF0ZGVtdXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkgIEFjdGl2YXRlIGRvY3MgZm9yIGphY2ssIHNkbCBhbmQgcXRkZW11eC4KCjIwMDctMDEtMTIgMTA6MjI6MTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC86IENsZWFudXAgYW5kIHJlZmFjdG9yIHRvIG1ha2UgdGhlIGNvZGUgbW9yZSByZWFkYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZXh0cmFjdF9pbml0aWFsX2xlbmd0aF9hbmRfZm91cmNjKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyKSwgKGdzdF9xdGRlbXV4X2NvbWJpbmVfZmxvd3MpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSksIChnc3RfcXRkZW11eF9sb29wKSwKCSAgKGdzdF9xdGRlbXV4X2NoYWluKSwgKHF0ZGVtdXhfc2lua19hY3RpdmF0ZV9wdWxsKSwKCSAgKHF0ZGVtdXhfaW5mbGF0ZSksIChxdGRlbXV4X3BhcnNlX21vb3YpLCAocXRkZW11eF9wYXJzZV9jb250YWluZXIpLAoJICAocXRkZW11eF9wYXJzZV9ub2RlKSwgKHF0ZGVtdXhfdHJlZV9nZXRfY2hpbGRfYnlfdHlwZSksCgkgIChxdGRlbXV4X3RyZWVfZ2V0X3NpYmxpbmdfYnlfdHlwZSksIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwKCSAgKHF0ZGVtdXhfcGFyc2Vfc2FtcGxlcyksIChxdGRlbXV4X3BhcnNlX3NlZ21lbnRzKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayksIChxdGRlbXV4X3RhZ19hZGRfc3RyKSwgKHF0ZGVtdXhfdGFnX2FkZF9udW0pLAoJICAocXRkZW11eF90YWdfYWRkX2RhdGUpLCAocXRkZW11eF90YWdfYWRkX2ducmUpLAoJICAocXRkZW11eF9wYXJzZV91ZHRhKSwgKHF0ZGVtdXhfcmVkaXJlY3RzX3NvcnRfZnVuYyksCgkgIChxdGRlbXV4X3Byb2Nlc3NfcmVkaXJlY3RzKSwgKHF0ZGVtdXhfcGFyc2VfcmVkaXJlY3RzKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJlZSksIChnc3RfcXRkZW11eF9oYW5kbGVfZXNkcyksCgkgIChxdGRlbXV4X3ZpZGVvX2NhcHMpLCAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmM6IChxdGRlbXV4X2R1bXBfbXZoZCksCgkgIChxdGRlbXV4X2R1bXBfdGtoZCksIChxdGRlbXV4X2R1bXBfZWxzdCksIChxdGRlbXV4X2R1bXBfbWRoZCksCgkgIChxdGRlbXV4X2R1bXBfaGRsciksIChxdGRlbXV4X2R1bXBfdm1oZCksIChxdGRlbXV4X2R1bXBfZHJlZiksCgkgIChxdGRlbXV4X2R1bXBfc3RzZCksIChxdGRlbXV4X2R1bXBfc3R0cyksIChxdGRlbXV4X2R1bXBfc3RzcyksCgkgIChxdGRlbXV4X2R1bXBfc3RzYyksIChxdGRlbXV4X2R1bXBfc3RzeiksIChxdGRlbXV4X2R1bXBfc3RjbyksCgkgIChxdGRlbXV4X2R1bXBfY282NCksIChxdGRlbXV4X2R1bXBfZGNvbSksIChxdGRlbXV4X2R1bXBfY212ZCksCgkgIChxdGRlbXV4X2R1bXBfdW5rbm93biksIChxdGRlbXV4X25vZGVfZHVtcF9mb3JlYWNoKSwKCSAgKHF0ZGVtdXhfbm9kZV9kdW1wKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuYzogKHF0ZGVtdXhfdHlwZV9nZXQpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuaDoKCSAgKiBnc3QvcXRkZW11eC9xdHBhbGV0dGUuaDoKCSAgQ2xlYW51cCBhbmQgcmVmYWN0b3IgdG8gbWFrZSB0aGUgY29kZSBtb3JlIHJlYWRhYmxlLgoJICBNb3ZlIGRlYnVnZ2luZy90YWJsZXMgaW50byBzZXBhcmF0ZSBmaWxlcy4KCSAgQWRkIDIvNC8xNiBjb2xvciBwYWxsZXRlZSBzdXBwb3J0LgoJICBGaXggcmF3IDE1IGJpdCBSR0IgaGFuZGxpbmcuCgkgIFVzZSBtb3JlIEZPVVJDQyBjb25zdGFudHMuCgkgIEFkZCBzb21lIGRvY3MuCgoyMDA3LTAxLTExIDE5OjUxOjA0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IE1pbm9yIGNsZWFuLXVwOiB1c2UgZW51bSB2YWx1ZXMgaW5zdGVhZCBvZiBoYXJkY29kZWQgY29uc3RhbnRzICgjMzk1NTM2KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlICA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19tb2RlX2dldF90eXBlKSwKCSAgKGdzdF93YXZwYWNrX2VuY19jb3JyZWN0aW9uX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2pvaW50X3N0ZXJlb19tb2RlX2dldF90eXBlKToKCSAgTWlub3IgY2xlYW4tdXA6IHVzZSBlbnVtIHZhbHVlcyBpbnN0ZWFkIG9mIGhhcmRjb2RlZCBjb25zdGFudHMgKCMzOTU1MzYpLgoKMjAwNy0wMS0xMSAxNjo1OTo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC86IFNldCBjb3JyZWN0IGNhcHMgb24gb3V0Z29pbmcgcHVsbGVkIGJ1ZmZlcnMsIG9yIHRoaW5ncyBibG93IHVwIGFmdGVyIHJlY2VudCBjb3JlIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzogKGdzdF90YWdfZGVtdXhfcmVhZF9yYW5nZSk6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfcmVhZF9yYW5nZSk6CgkgIFNldCBjb3JyZWN0IGNhcHMgb24gb3V0Z29pbmcgcHVsbGVkIGJ1ZmZlcnMsIG9yIHRoaW5ncyBibG93IHVwCgkgIGFmdGVyIHJlY2VudCBjb3JlIGNoYW5nZXMuCgoyMDA3LTAxLTExIDExOjA1OjA0ICswMDAwICBKb25hcyBIb2xtYmVyZyA8am9uYXMuaG9sbWJlcmdAYXhpcy5jb20+CgoJICBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiBSZXR1cm4gRkxPVyBlcnJvcnMgQVNBUC4gRml4ZXMgIzM5NDk3Ny4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBKb25hcyBIb2xtYmVyZyA8am9uYXMgZG90IGhvbG1iZXJnIGF0IGF4aXMgZG90IGNvbT4KCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiAoZ3N0X211bHRpcGFydF9tdXhfaW5pdCksCgkgIChnc3RfbXVsdGlwYXJ0X211eF9yZXF1ZXN0X25ld19wYWQpLAoJICAoZ3N0X211bHRpcGFydF9tdXhfcXVldWVfcGFkcyksIChnc3RfbXVsdGlwYXJ0X211eF9jb2xsZWN0ZWQpLAoJICAoZ3N0X211bHRpcGFydF9tdXhfY2hhbmdlX3N0YXRlKToKCSAgUmV0dXJuIEZMT1cgZXJyb3JzIEFTQVAuIEZpeGVzICMzOTQ5NzcuCgkgIE1pc2MgY2xlYW51cHMuCgoyMDA3LTAxLTExIDA5OjMwOjU5ICswMDAwICBMdXR6IE11ZWxsZXIgPGx1dHpAdG9wZnJvc2UuZGU+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IENoZWNrIGZvciBzdHJlYW0gcGFkIGJlZm9yZSBhY3RpdmF0aW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEx1dHogTXVlbGxlciA8bHV0eiBhdCB0b3Bmcm9zZSBkb3QgZGU+CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfYWN0aXZhdGVfc3RyZWFtcyk6CgkgIENoZWNrIGZvciBzdHJlYW0gcGFkIGJlZm9yZSBhY3RpdmF0aW5nLgoKMjAwNy0wMS0xMCAxNToxOTo0OCArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRzcC86IEFsbG93IHVybCB0byBiZSBOVUxMIHRvIGJlIGFibGUgdG8gdXNlIGl0IGZvciBzZXJ2ZXIgY29ubmVjdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUGV0ZXIgS2plbGxlcnN0ZWR0ICA8cGtqIGF0IGF4aXMgY29tPgoJICAqIGdzdC9ydHNwL0NPUFlJTkcuTUlUOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2NyZWF0ZV9zdHJlYW0pLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2ZyZWUpLCAoZ3N0X3J0c3BzcmNfY2xlYW51cCksCgkgIChnc3RfcnRzcHNyY19hbGxvY191ZHBfcG9ydHMpLCAocGFkX3VuYmxvY2tlZCksIChwYWRfYmxvY2tlZCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksCgkgIChnc3RfcnRzcHNyY19hY3RpdmF0ZV9zdHJlYW1zKSwgKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpLAoJICAoZ3N0X3J0c3BzcmNfbG9vcF91ZHApLCAoZ3N0X3J0c3BzcmNfc2VuZCksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9tZXRob2RzKSwKCSAgKGdzdF9ydHNwc3JjX2NyZWF0ZV90cmFuc3BvcnRzX3N0cmluZyksCgkgIChnc3RfcnRzcHNyY19wcmVwYXJlX3RyYW5zcG9ydHMpLCAoZ3N0X3J0c3BzcmNfc2V0dXBfc3RyZWFtcyksCgkgIChnc3RfcnRzcHNyY19vcGVuKSwgKGdzdF9ydHNwc3JjX2Nsb3NlKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9jcmVhdGUpLAoJICAocnRzcF9jb25uZWN0aW9uX2Nvbm5lY3QpLCAocnRzcF9jb25uZWN0aW9uX3NlbmQpLCAocmVhZF9saW5lKSwKCSAgKHBhcnNlX3JlcXVlc3RfbGluZSksIChwYXJzZV9saW5lKSwgKHJ0c3BfY29ubmVjdGlvbl9yZWFkKSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9jbG9zZSk6CgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuYzogKHJ0c3BfaW5pdF9zdGF0dXMpLCAocnRzcF9zdHJyZXN1bHQpLAoJICAocnRzcF9tZXRob2RfYXNfdGV4dCksIChydHNwX2hlYWRlcl9hc190ZXh0KSwKCSAgKHJ0c3Bfc3RhdHVzX2FzX3RleHQpLCAocnRzcF9maW5kX2hlYWRlcl9maWVsZCksCgkgIChydHNwX2ZpbmRfbWV0aG9kKToKCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5oOgoJICAqIGdzdC9ydHNwL3J0c3BleHR3bXMuYzogKHJ0c3BfZXh0X3dtc19hZnRlcl9zZW5kKSwKCSAgKHJ0c3BfZXh0X3dtc19jb25maWd1cmVfc3RyZWFtKToKCSAgKiBnc3QvcnRzcC9ydHNwbWVzc2FnZS5jOiAocnRzcF9tZXNzYWdlX25ldyksIChydHNwX21lc3NhZ2VfaW5pdCksCgkgIChydHNwX21lc3NhZ2VfbmV3X3JlcXVlc3QpLCAocnRzcF9tZXNzYWdlX2luaXRfcmVxdWVzdCksCgkgIChydHNwX21lc3NhZ2VfbmV3X3Jlc3BvbnNlKSwgKHJ0c3BfbWVzc2FnZV9pbml0X3Jlc3BvbnNlKSwKCSAgKHJ0c3BfbWVzc2FnZV9pbml0X2RhdGEpLCAocnRzcF9tZXNzYWdlX3Vuc2V0KSwKCSAgKHJ0c3BfbWVzc2FnZV9mcmVlKSwgKHJ0c3BfbWVzc2FnZV9hZGRfaGVhZGVyKSwKCSAgKHJ0c3BfbWVzc2FnZV9nZXRfaGVhZGVyKSwgKHJ0c3BfbWVzc2FnZV9zZXRfYm9keSksCgkgIChydHNwX21lc3NhZ2VfZ2V0X2JvZHkpLCAoZHVtcF9tZW0pLCAocnRzcF9tZXNzYWdlX2R1bXApOgoJICAqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmg6CgkgICogZ3N0L3J0c3Avc2RwbWVzc2FnZS5jOiAoc2RwX21lc3NhZ2VfZ2V0X2F0dHJpYnV0ZV92YWxfbiksCgkgIChzZHBfbWVkaWFfZ2V0X2F0dHJpYnV0ZV92YWxfbiksIChyZWFkX3N0cmluZyksIChyZWFkX3N0cmluZ19kZWwpLAoJICAoc2RwX3BhcnNlX2xpbmUpLCAoc2RwX21lc3NhZ2VfcGFyc2VfYnVmZmVyKSwgKHByaW50X21lZGlhKSwKCSAgKHNkcF9tZXNzYWdlX2R1bXApOgoJICBBbGxvdyB1cmwgdG8gYmUgTlVMTCB0byBiZSBhYmxlIHRvIHVzZSBpdCBmb3Igc2VydmVyIGNvbm5lY3Rpb25zLgoJICBDYW4gbm93IHNlbmQgcmVzcG9uc2VzIGFzIHdlbGwgYXMgcmVxdWVzdHMuCgkgIE5vIGxvbmdlciBoYW5ncyBpbiBhbiBlbmRsZXNzIGxvb3AgaWYgRU9GIGlzIHJlY2VpdmVkLgoJICBDYW4gbm93IGNvbnZlcnQgYSBzdGF0dXMgY29kZSB0byBhIHRleHQgc3RyaW5nLgoJICBSZXR1cm4gUlRTUF9IRFJfSU5WQUxJRCBmb3IgdW5rbm93biBoZWFkZXJzLgoJICBSZXR1cm4gUlRTUF9JTlZBTElEIGZvciB1bmtub3duIG1ldGhvZHMuCgkgIENvcHkgQ1NlcSBhbmQgU2Vzc2lvbiBoZWFkZXJzIGZyb20gdGhlIHJlcXVlc3QuCgkgIE9ubHkgZnJlZSBtZW1vcnkgY29ycmVzcG9uZGluZyB0byB0aGUgY3VycmVudGx5IHNldCBtZXNzYWdlIHR5cGUuCgkgIEFkZGVkIGNvbnN0IHRvIGZ1bmN0aW9uIGFyZ3VtZW50cyBhcyBhcHByb3ByaWF0ZS4KCSAgQXZvaWQgYSBjb21waWxlciB3YXJuaW5nIHdoZW4gaW5pdGlhbGl6aW5nIG5tZWRpYS4KCSAgVXNlIGd1aW50IHJhdGhlciB0aGFuIGdpbnQgdG8gYXZvaWQgY29tcGlsZXIgd2FybmluZ3MuCgkgIEZpeCBjcmFzaGVyIGluIHdtcyBleHRlbnNpb24uCgkgIEZhY3RvciBvdXQgc3RyZWFtIHNldHVwIGZyb20gb3Blbl9jb25uZWN0aW9uLgoJICBEZWxheSBhY3RpdmF0aW9uIG9mIHN0cmVhbXMgd2hlbiBhY3R1YWwgZGF0YSBpcyByZWNlaXZlZCBmcm9tIHRoZQoJICBzZXJ2ZXIsIHRoaXMgcHJlcGFyZXMgdXMgdG8gZG8gcHJvcGVyIHByb3RvY29sIHN3aXRjaGluZy4KCSAgQWRkZWQgbmV3IGxpY2Vuc2UuCgkgIEZpeGVzICMzODA4OTUuCgoyMDA3LTAxLTEwIDA5OjQ3OjQzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBTb21lIHNtYWxsIGRvY3MgZml4ZXMgKCMzOTQ4NTEpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vIHVidW50dSBjb20+CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSAgU29tZSBzbWFsbCBkb2NzIGZpeGVzICgjMzk0ODUxKS4KCjIwMDctMDEtMDkgMTI6MjU6MjYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IEZpeCBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIEZpeCBkb2NzLgoKMjAwNy0wMS0wOSAxMjoyMzo0OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBBZGRlZCBSRkMgMjI1MCBNUEVHIFZpZGVvIERlcGF5bG9hZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOiAoZ3N0X3J0cF9tcHZfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfbXB2X2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9tcHZfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX21wdl9kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfbXB2X2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF9tcHZfZGVwYXlfc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfbXB2X2RlcGF5X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX21wdl9kZXBheV9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3J0cF9tcHZfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuaDoKCSAgQWRkZWQgUkZDIDIyNTAgTVBFRyBWaWRlbyBEZXBheWxvYWRlci4KCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6IChnc3RfcnRwX2gyNjNwX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9oMjYzcF9kZXBheV9wcm9jZXNzKToKCSAgRml4IEhlYWRlciBmaWxlLiBTbWFsbCBjbGVhbnVwcy4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOiAoZ3N0X3J0cF9tcDRnX2RlcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9tcDRnX2RlcGF5X2luaXQpLCAoZ3N0X3J0cF9tcDRnX2RlcGF5X2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBfbXA0Z19kZXBheV9wcm9jZXNzKSwgKGdzdF9ydHBfbXA0Z19kZXBheV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6IChnc3RfcnRwX21wNHZfZGVwYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX21wNHZfZGVwYXlfaW5pdCksIChnc3RfcnRwX21wNHZfZGVwYXlfZmluYWxpemUpLAoJICAoZ3N0X3J0cF9tcDR2X2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9tcDR2X2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF9tcDR2X2RlcGF5X2NoYW5nZV9zdGF0ZSk6CgkgIFJlbW92ZSB1c3VzZWQgY29kZS4gUmVtb3ZlIEFkYXB0ZXIgZnJvbSBzdGF0ZSBDaGFuZ2UuIEFkZGVkIGRlYnVnLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzogKGdzdF9ydHBfbXBhX2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX21wYV9kZXBheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfbXBhX2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9tcGFfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX21wYV9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5Lmg6CgkgIFN1YmNsYXNzIGJhc2UgZGVwYXlsb2FkZXIuCgkgIEFkZGVkIGRlYnVnLgoJICBTdXBwb3J0IHN0YXRpYyBwYXlsb2FkIHR5cGUgYXNzaWdubWVudCBhcyB3ZWxsLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkgIEZpeCBjYXBzLgoKMjAwNy0wMS0wOCAxMjo0NToxMCArMDAwMCAgVmluY2VudCBUb3JyaSA8dnRvcnJpQHVuaXYtZXZyeS5mcj4KCgkgIGV4dC9qcGVnLzogVGhlc2UgbGlianBlZyBjYWxsYmFja3Mgc2hvdWxkIHJldHVybiBhICdib29sZWFuJyAodW5zaWduZWQgY2hhciBhcHBhcmVudGx5KSBhbmQgbm90IGEgJ2dib29sZWFuJyAod2hpY2ggbS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFZpbmNlbnQgVG9ycmkgIDx2dG9ycmkgYXQgdW5pdi1ldnJ5IGZyPgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgICogZXh0L2pwZWcvc21va2Vjb2RlYy5jOgoJICBUaGVzZSBsaWJqcGVnIGNhbGxiYWNrcyBzaG91bGQgcmV0dXJuIGEgJ2Jvb2xlYW4nICh1bnNpZ25lZCBjaGFyCgkgIGFwcGFyZW50bHkpIGFuZCBub3QgYSAnZ2Jvb2xlYW4nICh3aGljaCBtYXBzIHRvIGdpbnQpLiBGaXhlcwoJICB3YXJuaW5ncyB3aGVuIGNvbXBpbGluZyB3aXRoIE1pbmdXICgjMzkzNDI3KS4KCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX3JlYWQpOgoJICBVc2UgaW9jdGxzb2NrZXQgb24gd2luMzIuCgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY3JlYXRlKToKCSAgU29tZSBwcmludGYgZm9ybWF0IGZpeGVzIGZvciB3aW4zMi4KCjIwMDctMDEtMDcgMjI6MDM6NTQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIE5ldyBlbGVtZW50cyBpbnRlcmxlYXZlIGFuZCBkZWludGVybGVhdmUsIGltcGxlbWVudCBjaGFubmVsIGludGVybGVhdmluZyBhbmQgZGVpbnRlcmxlYXZpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTAxLTA3ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9wbHVnaW4uaDoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9wbHVnaW4uYzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IE5ldyBlbGVtZW50cyBpbnRlcmxlYXZlIGFuZAoJICBkZWludGVybGVhdmUsIGltcGxlbWVudCBjaGFubmVsIGludGVybGVhdmluZyBhbmQgZGVpbnRlcmxlYXZpbmcuCgkgIFRoZSBpbnRlcmxlYXZlciBjYW4gb3BlcmF0ZSBpbiBwdWxsIG9yIHB1c2ggbW9kZSBidXQgdGhlCgkgIGRlaW50ZXJsZWF2ZXIgaXMgbW9yZSBsaWtlIGEgZGVtdXhlciBhbmQgY2FuIG9ubHkgb3BlcmF0ZSBpbiBwdXNoCgkgIG1vZGUuCgoyMDA3LTAxLTA3IDEwOjQ0OjEyICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOiBVc2UgZ3N0X2d1aW50NjRfdG9fZ2RvdWJsZSBmb3IgY29udmVyc2lvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzogKGdzdF9jdXR0ZXJfY2hhaW4pOgoJICBVc2UgZ3N0X2d1aW50NjRfdG9fZ2RvdWJsZSBmb3IgY29udmVyc2lvbi4KCSAgKiB3aW4zMi92czYvbGliZ3N0bWF0cm9za2EuZHNwOgoJICBBZGQgemxpYiB0byB0aGUgbGluay4KCSAgKiB3aW4zMi92czYvbGliZ3N0dmlkZW9ib3guZHNwOgoJICBVcGRhdGUgbGlib2lsIGxpYnJhcnkgbmFtZSAocHJvamVjdCBpcyBsaW5rZWQgdG8gbGlib2lsLTAuMy0wLmxpYiBub3cpLgoKMjAwNy0wMS0wNSAxODozMjowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIENoZWNrIGZvciB6bGliIGFuZCBpZiBhdmFpbGFibGUgcGFzcyBpdCBleHBsaWNpdGx5IHRvIHRoZSBsaW5rZXIgd2hlbiBsaW5raW5nIHF0ZGVtdXguIElmIG5vdCBhdmFpbGFibGUgKG9yIC0tZGlzYWJsZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3F0ZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV9tb292KToKCSAgQ2hlY2sgZm9yIHpsaWIgYW5kIGlmIGF2YWlsYWJsZSBwYXNzIGl0IGV4cGxpY2l0bHkgdG8gdGhlIGxpbmtlcgoJICB3aGVuIGxpbmtpbmcgcXRkZW11eC4gSWYgbm90IGF2YWlsYWJsZSAob3IgLS1kaXNhYmxlLWV4dGVybmFsIGhhcwoJICBiZWVuIHNwZWNpZmllZCEpLCBkaXNhYmxlIHRoZSBiaXRzIGluIHF0ZGVtdXggdGhhdCB1c2UgaXQuIEZpeGVzCgkgIGJ1aWxkIG9uIE1pbmdXICgjMzkyODU2KS4KCjIwMDctMDEtMDUgMTc6MjM6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06IElmIHpsaWIgaXMgYXZhaWxhYmxlIGFuZCB1c2VkLCB3ZSBtdXN0IGxpbmsgaXQgZXhwbGljaXRseSBmb3IgdGhpbmdzIHRvIHdvcmsgb24gTWluZ1cgKGZpeGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL01ha2VmaWxlLmFtOgoJICBJZiB6bGliIGlzIGF2YWlsYWJsZSBhbmQgdXNlZCwgd2UgbXVzdCBsaW5rIGl0IGV4cGxpY2l0bHkgZm9yCgkgIHRoaW5ncyB0byB3b3JrIG9uIE1pbmdXIChmaXhlcyAjMzkyODU1KS4KCjIwMDctMDEtMDUgMTY6MDc6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOiBDYWxsIGdfdGhyZWFkX2luaXQoKSByaWdodCBhdCB0aGUgYmVnaW5uaW5nLiBSZW1vdmUgc3VwZXJmbHVvdXMgZ3N0X2luaXQoKSAtIHdlJ3ZlIGFscmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzogKG1haW4pOgoJICBDYWxsIGdfdGhyZWFkX2luaXQoKSByaWdodCBhdCB0aGUgYmVnaW5uaW5nLiBSZW1vdmUgc3VwZXJmbHVvdXMKCSAgZ3N0X2luaXQoKSAtIHdlJ3ZlIGFscmVhZHkgYmVlbiBpbml0ZWQgdmlhIHRoZSBHT3B0aW9uIHN0dWZmLgoKMjAwNy0wMS0wNCAxMTowMjoyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9lc2QvZXNkc2luay5jOiBEb24ndCByZXR1cm4gYm9ndXMgdmFsdWVzIHdoZW4gZXNkX2dldF9kZWxheSgpIGZhaWxzIGZvciBzb21lIHJlYXNvbiAoIzM5MjE4OSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9lc2QvZXNkc2luay5jOiAoZ3N0X2VzZHNpbmtfZGVsYXkpOgoJICBEb24ndCByZXR1cm4gYm9ndXMgdmFsdWVzIHdoZW4gZXNkX2dldF9kZWxheSgpIGZhaWxzIGZvciBzb21lCgkgIHJlYXNvbiAoIzM5MjE4OSkuCgoyMDA3LTAxLTA0IDA5OjQ0OjU3ICswMDAwICBWaW5jZW50IFRvcnJpIDx2dG9ycmlAdW5pdi1ldnJ5LmZyPgoKCSAgQWRkIGRpcmVjdHNvdW5kc2luayB0byBidWlsZCBhbmQgZGlzdCBpdCwgc28gaXQgZ2V0cyBidWlsdCB3aGVuIGNvbXBpbGluZyB3aXRoIE1pbmdXIG9uIHdpbjMyIGFuZCB0aGUgcmVxdWlyZWQgaGVhZGVyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVmluY2VudCBUb3JyaSAgPHZ0b3JyaSBhdCB1bml2LWV2cnkgZnI+CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICAoZ3N0X2RpcmVjdHNvdW5kc2lua19yZXNldCk6CgkgIEFkZCBkaXJlY3Rzb3VuZHNpbmsgdG8gYnVpbGQgYW5kIGRpc3QgaXQsIHNvIGl0IGdldHMgYnVpbHQgd2hlbgoJICBjb21waWxpbmcgd2l0aCBNaW5nVyBvbiB3aW4zMiBhbmQgdGhlIHJlcXVpcmVkIGhlYWRlcnMgYW5kIGxpYnJhcmllcwoJICBhcmUgYXZhaWxhYmxlIChmaXhlczogIzM5MjYzOCkuIEFsc28gc2ltcGxpZnkgRGlyZWN0RHJhdyBjaGVjayBhIGJpdC4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICBGaXggQ1ZTIGlnbm9yZSBmb3IgbmVvbmh0dHBzcmMgdGVzdCBiaW5hcnkuCgoyMDA3LTAxLTAzIDE5OjU0OjMzICswMDAwICBWaW5jZW50IFRvcnJpIDx2dG9ycmlAdW5pdi1ldnJ5LmZyPgoKCSAgQWRkIGRpcmVjdGRyYXdzaW5rIHRvIGJ1aWxkIGFuZCBkaXN0IGl0LCBzbyBpdCBnZXRzIGJ1aWx0IHdoZW4gY29tcGlsaW5nIHdpdGggTWluZ1cgb24gd2luMzIgYW5kIHRoZSByZXF1aXJlZCBoZWFkZXJzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVmluY2VudCBUb3JyaSAgPHZ0b3JyaSBhdCB1bml2LWV2cnkgZnI+CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZGlyZWN0ZHJhdy9NYWtlZmlsZS5hbToKCSAgQWRkIGRpcmVjdGRyYXdzaW5rIHRvIGJ1aWxkIGFuZCBkaXN0IGl0LCBzbyBpdCBnZXRzIGJ1aWx0IHdoZW4KCSAgY29tcGlsaW5nIHdpdGggTWluZ1cgb24gd2luMzIgYW5kIHRoZSByZXF1aXJlZCBoZWFkZXJzIGFuZCBsaWJyYXJpZXMKCSAgYXJlIGF2YWlsYWJsZSAoZml4ZXM6ICMzOTIzMTMpLgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIChnc3RfZGlyZWN0ZHJhd3NpbmtfY2VudGVyX3JlY3QpLCAoZ3N0X2RpcmVjdGRyYXdzaW5rX3Nob3dfZnJhbWUpLAoJICAoZ3N0X2RpcmVjdGRyYXdzaW5rX3NldHVwX2RkcmF3KSwKCSAgKGdzdF9kaXJlY3RkcmF3c2lua19zdXJmYWNlX2NyZWF0ZSk6CgkgIENvbW1lbnQgb3V0IHNvbWUgdW51c2VkIHRoaW5ncyBhbmQgZml4IHNvbWUgcHJpbnRmIGZvcm1hdCBpc3N1ZXMgaW4KCSAgb3JkZXIgdG8gYXZvaWQgd2FybmluZ3Mgd2hlbiBidWlsZGxpbmcgd2l0aCBNaW5nVyAoIzM5MjMxMykuCgoyMDA3LTAxLTAzIDE2OjQxOjEwICswMDAwICBKZW5zIEdyYW5zZXVlciA8amVuc2dyQGdteC5uZXQ+CgoJICBGaXggYnVpbGQgd2l0aCBnY2MtMi54IChkZWNsYXJlIHZhcmlhYmxlcyBhdCB0aGUgYmVnaW5uaW5nIG9mIGEgYmxvY2sgZXRjLikuIEZpeGVzICMzOTE5NzEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSmVucyBHcmFuc2V1ZXIgIDxqZW5zZ3IgYXQgZ214IG5ldD4KCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6IChnc3RfeHZpZGVuY19lbmNvZGUpLAoJICAoZ3N0X3h2aWRlbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGJwd3NpbmNfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvZmlsdGVyL2dzdGZpbHRlci5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0aWlyLmM6IChpaXJfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGxwd3NpbmNfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICAqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOiAoZ3N0X251dl9kZW11eF9oZWFkZXJfbG9hZCksCgkgIChnc3RfbnV2X2RlbXV4X3N0cmVhbV9leHRlbmRfaGVhZGVyKToKCSAgRml4IGJ1aWxkIHdpdGggZ2NjLTIueCAoZGVjbGFyZSB2YXJpYWJsZXMgYXQgdGhlIGJlZ2lubmluZyBvZiBhCgkgIGJsb2NrIGV0Yy4pLiBGaXhlcyAjMzkxOTcxLgoKMjAwNi0xMi0zMCAxMjo0NDowMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOiBXaGVuIHdlIGNhbid0IGNyZWF0ZSBhbiBlbGVtZW50IG5lZWRlZCBmb3IgdGhlIHRlc3QsIHByaW50IGEgbWVzc2FnZSBkZXRhaWxpbmcgd2hpYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzogKEdTVF9TVEFSVF9URVNUKSwKCSAgKHZpZGVvY3JvcF90ZXN0X2Nyb3BwaW5nX2luaXRfY29udGV4dCk6CgkgIFdoZW4gd2UgY2FuJ3QgY3JlYXRlIGFuIGVsZW1lbnQgbmVlZGVkIGZvciB0aGUgdGVzdCwgcHJpbnQgYSBtZXNzYWdlCgkgIGRldGFpbGluZyB3aGljaCBlbGVtZW50IGl0IGFjdHVhbGx5IGlzIHRoYXQncyBtaXNzaW5nICgjMzkwNjczKS4KCjIwMDYtMTItMjQgMTE6MzY6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiBGaXggcHJlc3VtYWJseSBjb3B5J24ncGFzdG8gZm9yIDE2YnBwIGRlcHRoLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiAoY29tcG9zaXRlX3BpeGVsKToKCSAgRml4IHByZXN1bWFibHkgY29weSduJ3Bhc3RvIGZvciAxNmJwcCBkZXB0aC4KCjIwMDYtMTItMjQgMTE6MjQ6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IFRoZSAic2lnbmVkIiBmaWVsZCBpbiBhdWRpbyBjYXBzIGlzIG9mIGJvb2xlYW4gdHlwZSwgdHJ5aW5nIHRvIHVzZSBnc3Rfc3RydWN0dXJlX2dldF9pbnQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICAoZ3N0X21hdHJvc2thX211eF9hdWRpb19wYWRfc2V0Y2Fwcyk6CgkgIFRoZSAic2lnbmVkIiBmaWVsZCBpbiBhdWRpbyBjYXBzIGlzIG9mIGJvb2xlYW4gdHlwZSwgdHJ5aW5nIHRvIHVzZQoJICBnc3Rfc3RydWN0dXJlX2dldF9pbnQoKSB0byBleHRyYWN0IGl0IHdpbGwgZmFpbC4gRml4aW5nIHRoaXMgbWFrZXMKCSAgbWF0cm9za2FtdXggYWNjZXB0IHJhdyBhdWRpbyBpbnB1dCAoIzM4NzEyMSkgKHVzZSBhdCB5b3VyIG93biByaXNrCgkgIHRob3VnaCwgZHVlIHRvIHRoZSBtYXRyb3NrYSBzcGVjIGJlaW5nIG5vdCBlbnRpcmVseSB1c2VmdWwgaW4gdGhpcwoJICByZXNwZWN0KS4KCSAgQWxzbyBmaXggdXAgcmF3IGF1ZGlvIHN0cnVjdHVyZXMgaW4gdGVtcGxhdGUgY2FwcyBzbyB0aGF0IHRoZXkKCSAgcmVwcmVzZW50IHdoYXQgb3VyIHNldGNhcHMgZnVuY3Rpb24gd2lsbCBhY3R1YWxseSBhY2NlcHQsIHNvIHRoYXQKCSAgY29udmVydGVycyBrbm93IHdoYXQgdG8gY29udmVydCB0by4KCSAgRmluYWxseSwgZG9uJ3QgZmFpbCBpZiB0aGVyZSBpc24ndCBhbiAiZW5kaWFubmVzcyIgZmllbGQgaW4gOC1iaXQKCSAgUENNIGNhcHMuCgoyMDA2LTEyLTIyIDEwOjE1OjI0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy86IHJlYXBwbHkgY29uc2lzdGVudCBwYWQgKGRlKWFjdGl2YXRpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZzJlbmMuYzogKHNldHVwX21wZWcyZW5jKSwKCSAgKGNsZWFudXBfbXBlZzJlbmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogKGNsZWFudXBfcmdhbmFseXNpcyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOiAoc2V0dXBfd2F2cGFja2RlYyksCgkgIChjbGVhbnVwX3dhdnBhY2tkZWMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tlbmMuYzogKHNldHVwX3dhdnBhY2tlbmMpLAoJICAoY2xlYW51cF93YXZwYWNrZW5jKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzogKHNldHVwX3k0bWVuYyksIChjbGVhbnVwX3k0bWVuYyk6CgkgIHJlYXBwbHkgY29uc2lzdGVudCBwYWQgKGRlKWFjdGl2YXRpb24KCjIwMDYtMTItMjIgMTA6MTU6MjMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLzogcmVhcHBseSBjb25zaXN0ZW50IHBhZCAoZGUpYWN0aXZhdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Bhbm9yYW1hLmM6IChjbGVhbnVwX3Bhbm9yYW1hKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzogKHNldHVwX2F2aW11eCksIChjbGVhbnVwX2F2aW11eCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGRlYy5jOiAoc2V0dXBfY21tbGRlYyksCgkgICh0ZWFyZG93bl9jbW1sZGVjKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZW5jLmM6IChzZXR1cF9jbW1sZW5jKSwKCSAgKHRlYXJkb3duX2NtbWxlbmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6IChzZXR1cF9sZXZlbCksIChjbGVhbnVwX2xldmVsKToKCSAgcmVhcHBseSBjb25zaXN0ZW50IHBhZCAoZGUpYWN0aXZhdGlvbgoKMjAwNi0xMi0yMSAxNzowMzozOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEJhY2sgdG8gQ1ZTCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBDVlMKCSAgKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkgIEFkZCAwLjEwLjUgZG9hcCBlbnRyeQoKPT09IHJlbGVhc2UgMC4xMC40ID09PQoKMjAwNi0xMi0yMSAxNTo0NTowMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IHJlbGVhc2luZyAwLjEwLjQsICJCbGFjayBCdWdzIgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgPT09IHJlbGVhc2UgMC4xMC40ID09PQoJICAyMDA2LTEyLTIxICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgIHJlbGVhc2luZyAwLjEwLjQsICJCbGFjayBCdWdzIgoKPT09IHJlbGVhc2UgMC4xMC41ID09PQoKMjAwNi0xMi0yMSAxNTo0MDo1NSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IHJlbGVhc2luZyAwLjEwLjUsICJUaGUgUGF0aCBvZiBUaG9ybnMiCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICA9PT0gcmVsZWFzZSAwLjEwLjUgPT09CgkgIDIwMDYtMTItMjEgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgcmVsZWFzaW5nIDAuMTAuNSwgIlRoZSBQYXRoIG9mIFRob3JucyIKCjIwMDYtMTItMjEgMTQ6MDM6NDIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWcyZW5jLmM6IChzZXR1cF9tcGVnMmVuYykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZzJlbmMuYzogKHNldHVwX21wZWcyZW5jKQoJICAoY2xlYW51cF9tcGVnMmVuYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOiAoY2xlYW51cF9yZ2FuYWx5c2lzKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZGVjLmM6IChzZXR1cF93YXZwYWNrZGVjKSwKCSAgKGNsZWFudXBfd2F2cGFja2RlYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2VuYy5jOiAoc2V0dXBfd2F2cGFja2VuYyksCgkgIChjbGVhbnVwX3dhdnBhY2tlbmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3k0bWVuYy5jOiAoc2V0dXBfeTRtZW5jKSwgKGNsZWFudXBfeTRtZW5jKToKCSAgcmV2ZXJ0IG15IGZyZWV6ZSBicmVha2FnZQoKMjAwNi0xMi0yMSAxMjo0ODozMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvOiByZXZlcnQgbXkgZnJlZXplIGJyZWFrYWdlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcGFub3JhbWEuYzogKGNsZWFudXBfcGFub3JhbWEpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aW11eC5jOiAoc2V0dXBfYXZpbXV4KSwgKGNsZWFudXBfYXZpbXV4KToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6IChzZXR1cF9jbW1sZGVjKSwKCSAgKHRlYXJkb3duX2NtbWxkZWMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxlbmMuYzogKHNldHVwX2NtbWxlbmMpLAoJICAodGVhcmRvd25fY21tbGVuYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzogKHNldHVwX2xldmVsKSwgKGNsZWFudXBfbGV2ZWwpOgoJICByZXZlcnQgbXkgZnJlZXplIGJyZWFrYWdlCgoyMDA2LTEyLTIxIDA4OjIwOjEwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy86IGNvbnNpc3RlbnQgcGFkIChkZSlhY3RpdmF0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWcyZW5jLmM6IChzZXR1cF9tcGVnMmVuYyksCgkgIChjbGVhbnVwX21wZWcyZW5jKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6IChjbGVhbnVwX3JnYW5hbHlzaXMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzogKHNldHVwX3dhdnBhY2tkZWMpLAoJICAoY2xlYW51cF93YXZwYWNrZGVjKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZW5jLmM6IChzZXR1cF93YXZwYWNrZW5jKSwKCSAgKGNsZWFudXBfd2F2cGFja2VuYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMveTRtZW5jLmM6IChzZXR1cF95NG1lbmMpLCAoY2xlYW51cF95NG1lbmMpOgoJICBjb25zaXN0ZW50IHBhZCAoZGUpYWN0aXZhdGlvbgoKMjAwNi0xMi0yMSAwODoxNToyMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvOiBjb25zaXN0ZW50IHBhZCAoZGUpYWN0aXZhdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Bhbm9yYW1hLmM6IChjbGVhbnVwX3Bhbm9yYW1hKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzogKHNldHVwX2F2aW11eCksIChjbGVhbnVwX2F2aW11eCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGRlYy5jOiAoc2V0dXBfY21tbGRlYyksCgkgICh0ZWFyZG93bl9jbW1sZGVjKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZW5jLmM6IChzZXR1cF9jbW1sZW5jKSwKCSAgKHRlYXJkb3duX2NtbWxlbmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6IChzZXR1cF9sZXZlbCksIChjbGVhbnVwX2xldmVsKToKCSAgY29uc2lzdGVudCBwYWQgKGRlKWFjdGl2YXRpb24KCjIwMDYtMTItMTggMTc6MTE6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERvbid0IHBvc3QgQlVGRkVSSU5HIG1lc3NhZ2VzIGluIHN0cmVhbWluZyBtb2RlIGlmIHRoZSBzdHJlYW0gaGVhZGVycyBhcmUgYmVoaW5kIHRoZSBtb3ZpZSBkYXQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfcG9zdF9wcm9ncmVzcyksCgkgIChnc3RfcXRkZW11eF9jaGFpbik6CgkgIERvbid0IHBvc3QgQlVGRkVSSU5HIG1lc3NhZ2VzIGluIHN0cmVhbWluZyBtb2RlIGlmIHRoZSBzdHJlYW0KCSAgaGVhZGVycyBhcmUgYmVoaW5kIHRoZSBtb3ZpZSBkYXRhOyBpbnN0ZWFkLCBwb3N0ICJwcm9ncmVzcyIgZWxlbWVudAoJICBtZXNzYWdlcyBhcyBhIHRlbXBvcmFyeSBzb2x1dGlvbi4gQXBwcyBtaWdodCBnZXQgY29uZnVzZWQgYW5kIGRvCgkgIHNpbGx5IHRoaW5ncyB0byB0aGUgcGlwZWxpbmUgc3RhdGUgaWYgdGhleSBzZWUgYnVmZmVyaW5nIG1lc3NhZ2VzCgkgIGZyb20gZGlmZmVyZW50IHNvdXJjZXMgYW5kIGRvbid0IHJlYWxpemUgdGhleSBjb21lIGZyb20gZGlmZmVyZW50CgkgIHNvdXJjZXMgKCMzODcxNjApLgoKMjAwNi0xMi0xOCAxNjo0NjoxNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBEaXNhYmxlIExBRFBTQSwgYXMgaXQgaGFzIG1vdmVkIHRvIHRoZSAtYmFkIG1vZHVsZSBmb3IgdGhlIGR1cmF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICBEaXNhYmxlIExBRFBTQSwgYXMgaXQgaGFzIG1vdmVkIHRvIHRoZSAtYmFkIG1vZHVsZSBmb3IgdGhlIGR1cmF0aW9uLgoKMjAwNi0xMi0xOCAxNTo1MTo1NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IFJlc2V0IGZsb3dfc3RhdGUgYmFjayB0byBfT0sgYWZ0ZXIgYSBmbHVzaCBzdG9wIHNvIHRoYXQgd2UgZXhpdCBvdXIgZXJyb3Igc3RhdGUgYWZ0ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2V0Y2FwcyksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9ldmVudCk6CgkgIFJlc2V0IGZsb3dfc3RhdGUgYmFjayB0byBfT0sgYWZ0ZXIgYSBmbHVzaCBzdG9wIHNvIHRoYXQgd2UgZXhpdCBvdXIKCSAgZXJyb3Igc3RhdGUgYWZ0ZXIgdGhlIGZsdXNoLiBGaXhlcyAjMzc0MjEzCgoyMDA2LTEyLTE4IDE1OjQ5OjA4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIENoYW5nZUxvZyBzdXJnZXJ5IG9uIG9uZSBvZiBTdGVmYW4ncyBjb21taXRzIGZyb20gQXVndXN0OgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ2hhbmdlTG9nIHN1cmdlcnkgb24gb25lIG9mIFN0ZWZhbidzIGNvbW1pdHMgZnJvbSBBdWd1c3Q6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICBRdWlldGx5IChhY2NpZGVudGFsbHkpIGVuYWJsZSBMQURTUEEgZm9yIGJ1aWxkaW5nIGJ5IGRlZmF1bHQsCgkgIGRlc3BpdGUgdGhlIGZhY3QgdGhhdCBpdCBkb2Vzbid0IG1lZXQgdGhlIHBsdWdpbiBjaGVja2xpc3QuCgkgIC0tIEFkZGVkIGJ5IEphbiBTY2htaWR0IDE4IERlYyAyMDA2CgoyMDA2LTEyLTE4IDEzOjQwOjM0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRG9uJ3Qgb3V0cHV0IGdfd2FybmluZyBmb3IgYW4gdW5zdXBwb3J0ZWQgZm9ybWF0LCBqdXN0IHNlbmQgYQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9jaGFpbiksCgkgIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKToKCSAgRG9uJ3Qgb3V0cHV0IGdfd2FybmluZyBmb3IgYW4gdW5zdXBwb3J0ZWQgZm9ybWF0LCBqdXN0IHNlbmQgYQoJICBHU1RfRUxFTUVOVF9XQVJOSU5HIGFuZCBkb24ndCBhZGQgdGhlIHBhZC4KCSAgRml4IHRoZSBjYXNlIHdoZXJlIGl0IGRvZXNuJ3QgY2hlY2sgZm9yIGEgTlVMTCBwYWQgaW4gc3RyZWFtaW5nIG1vZGUuCgkgIEZpeGVzICMzODcxMzcKCjIwMDYtMTItMTggMTI6Mjc6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCBjcmFzaCBkZXJlZmVyZW5jaW5nIE5VTEwgcG9pbnRlciBpZiB0aGVyZSdzIG5vIHN0Y28gYXRvbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgRml4IGNyYXNoIGRlcmVmZXJlbmNpbmcgTlVMTCBwb2ludGVyIGlmIHRoZXJlJ3Mgbm8gc3RjbyBhdG9tLgoJICBGaXhlcyAjMzg3MTIyLgoKMjAwNi0xMi0xOCAxMDowMjo1NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AdWJ1bnR1LmNvbT4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDogVXNlIGxvY2FsIGNvcHkgb2YgbWQ1LmgsIGFzIGl0IGRpc2FwcGVhcmVkIGluIHJlY2VudCB3YXZwYWNrIGluc3RhbGxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgIFVzZSBsb2NhbCBjb3B5IG9mIG1kNS5oLCBhcyBpdCBkaXNhcHBlYXJlZCBpbiByZWNlbnQgd2F2cGFjawoJICBpbnN0YWxscy4KCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vIGF0IHVidW50dSBkb3QgY29tPgoJICBGaXhlczogIzM4NzA3NgoKMjAwNi0xMi0xNyAxOTo0MjowNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDYtMTItMTcgMDY6MTE6MzkgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay4qOiBEZWNlbnQgZWZmb3J0IGF0IHBvcnRpbmcgdG8gMC4xMC4gIE5lZWRzIGNsZWFudXAgb24gT1MvWC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgRGVjZW50IGVmZm9ydCBhdCBwb3J0aW5nIHRvIDAuMTAuICBOZWVkcyBjbGVhbnVwIG9uIE9TL1guCgoyMDA2LTEyLTE3IDA1OjA3OjA3ICswMDAwICBWaWpheSBTYW50aGFuYW0gPHZpamF5QHNhbnRoYW5hbS5nbWFpbC5jb20+CgoJICBzeXMvb3N4dmlkZW8vOiBQcmVsaW1pbmFyeSBwYXRjaCBmb3IgcG9ydGluZyBvc3h2aWRlb3NpbmsKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBWaWpheSBTYW50aGFuYW0gPHZpamF5IHNhbnRoYW5hbSBnbWFpbCBjb20+CgkgICogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIFByZWxpbWluYXJ5IHBhdGNoIGZvciBwb3J0aW5nIG9zeHZpZGVvc2luawoKMjAwNi0xMi0xNiAxNjoyMToyNiArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiBJbnRyb2R1Y2Ugc29tZSBsb2NraW5nIGFyb3VuZCB0aGUgdmlkZW9taXhlciBzdGF0ZSBzbyB0aGF0IGl0IGRvZXMgbm90IGNyYXNoIHdoZW4gYWRkaW5nLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2pvZXJkIFNpbW9ucyA8c2pvZXJkIGF0IGx1b24gZG90IG5ldD4KCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IChnc3RfdmlkZW9taXhlcl9wYWRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF92aWRlb21peGVyX3NldF9tYXN0ZXJfZ2VvbWV0cnkpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfcGFkX3Npbmtfc2V0Y2FwcyksIChnc3RfdmlkZW9taXhlcl9jb2xsZWN0X2ZyZWUpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfcmVzZXQpLCAoZ3N0X3ZpZGVvbWl4ZXJfaW5pdCksCgkgIChnc3RfdmlkZW9taXhlcl9maW5hbGl6ZSksIChnc3RfdmlkZW9taXhlcl9yZXF1ZXN0X25ld19wYWQpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfcmVsZWFzZV9wYWQpLCAoZ3N0X3ZpZGVvbWl4ZXJfY29sbGVjdGVkKSwKCSAgKGdzdF92aWRlb21peGVyX2NoYW5nZV9zdGF0ZSk6CgkgIEludHJvZHVjZSBzb21lIGxvY2tpbmcgYXJvdW5kIHRoZSB2aWRlb21peGVyIHN0YXRlIHNvIHRoYXQgaXQgZG9lcyBub3QKCSAgY3Jhc2ggd2hlbiBhZGRpbmcvcmVtb3ZpbmcgcGFkcy4gRml4ZXMgIzM4MzA0My4KCjIwMDYtMTItMTYgMTU6MjU6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFdlIGRvbid0IHN1cHBvcnQgc2Vla2luZyBpbiBzdHJlYW1pbmcgbW9kZSwgc28gZG9uJ3QgZXZlbiB0cnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2dldF9zcmNfcXVlcnlfdHlwZXMpLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX2V2ZW50KToKCSAgV2UgZG9uJ3Qgc3VwcG9ydCBzZWVraW5nIGluIHN0cmVhbWluZyBtb2RlLCBzbyBkb24ndCBldmVuIHRyeS4KCSAgSW1wbGVtZW50IHNlZWtpbmcgcXVlcnkgc28gYXBwcyBjYW4gcXVlcnkgc2Vla2FiaWxpdHkgcHJvcGVybHkKCSAgKHNlZSAjMzY1NDE0KS4gRml4IGR1cmF0aW9uIHF1ZXJ5LgoKMjAwNi0xMi0xNiAxMTo0Mjo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogTWFrZSBzdXJlIGxpYmNhY2EgY2FuIGFjdHVhbGx5IGJlIHVzZWQgaW5zdGVhZCBvZiBqdXN0IGNoZWNraW5nIGZvciAvdXNyL2Jpbi9jYWNhLWNvbmZpZywgc28gd2UgZG9uJ3Qgdy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIE1ha2Ugc3VyZSBsaWJjYWNhIGNhbiBhY3R1YWxseSBiZSB1c2VkIGluc3RlYWQgb2YganVzdCBjaGVja2luZyBmb3IKCSAgL3Vzci9iaW4vY2FjYS1jb25maWcsIHNvIHdlIGRvbid0IHdyb25nbHkgdHJ5IHRvIGJ1aWxkIGNhY2FzaW5rIHdoZW4KCSAgY3Jvc3MtY29tcGlsaW5nIChmaXhlcyAjMzg0NTg3KS4KCjIwMDYtMTItMTUgMTA6NTQ6MjggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgYWRkaW5nIGRvYXAgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBNYWtlZmlsZS5hbToKCSAgKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBhZGRpbmcgZG9hcCBmaWxlCgoyMDA2LTEyLTE0IDE2OjIwOjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBsaWJmbGFjLTEuMS4zIGNoYW5nZWQgQVBJIGFnYWluLCBidXQgd2UgY2FuJ3QgYnVpbGQgYWdhaW5zdCBpdCB5ZXQsIHNvIG1ha2Ugc3VyZSBvdXIgY2hlY2sgZG9lc24ndCB1c2UgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgbGliZmxhYy0xLjEuMyBjaGFuZ2VkIEFQSSBhZ2FpbiwgYnV0IHdlIGNhbid0IGJ1aWxkIGFnYWluc3QgaXQgeWV0LAoJICBzbyBtYWtlIHN1cmUgb3VyIGNoZWNrIGRvZXNuJ3QgdXNlIGxpYmZsYWMtMS4xLjMgYW5kIGFkZCBhIGNvbW1lbnQKCSAgdG8gdGhpcyBlZmZlY3QuCgoyMDA2LTEyLTE0IDE0OjI1OjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzogQWRkIHNvbWUgTlVMTCBwb2ludGVyIGNoZWNrcyAocG9zc2libHkgcmVsYXRlZCB0byAjMzg1NjIzKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzogKGdzdF9xdWFya3R2X3RyYW5zZm9ybSksCgkgIChnc3RfcXVhcmt0dl9wbGFuZXRhYmxlX2NsZWFyKToKCSAgQWRkIHNvbWUgTlVMTCBwb2ludGVyIGNoZWNrcyAocG9zc2libHkgcmVsYXRlZCB0byAjMzg1NjIzKS4KCjIwMDYtMTItMTMgMTc6MTI6MjIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBBTVItV0IgdG8gdGhlIGxpc3Qgb2Ygc3VwcG9ydGVkIGZvcm1hdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2dldF9kdXJhdGlvbiksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICBBZGQgQU1SLVdCIHRvIHRoZSBsaXN0IG9mIHN1cHBvcnRlZCBmb3JtYXRzLgoKMjAwNi0xMi0xMiAxODo0NTo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC86IEluIHN0cmVhbWluZyBtb2RlLCBpZiB0aGUgZmlyc3QgYnVmZmVyIHdlIGdldCBkb2Vzbid0IGhhdmUgYW4gb2Zmc2V0LCBmaXggaXQgdXAgdG8gYmUgMCwgb3RoZXJ3aXNlIHRyaW1taW5nIHdvbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6IChnc3RfdGFnX2RlbXV4X2NoYWluX3BhcnNlX3RhZyksCgkgIChnc3RfdGFnX2RlbXV4X2NoYWluKToKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9jaGFpbik6CgkgIEluIHN0cmVhbWluZyBtb2RlLCBpZiB0aGUgZmlyc3QgYnVmZmVyIHdlIGdldCBkb2Vzbid0IGhhdmUgYW4KCSAgb2Zmc2V0LCBmaXggaXQgdXAgdG8gYmUgMCwgb3RoZXJ3aXNlIHRyaW1taW5nIHdvbid0IHdvcmsgbGF0ZXIgb24KCSAgYW5kIHdlJ2xsIGJlIHR5cGVmaW5kaW5nIGFwcGxpY2F0aW9uL3gtaWQzLCB3aGljaCBtYXkgcmVzdWx0IGluCgkgIGRlY29kZWJpbiBwbHVnZ2luZyBhbiBlbmRsZXNzIG51bWJlciBvZiBpZDNkZW11eCBlbGVtZW50cyBhcyBhCgkgIGNvbnNlcXVlbmNlLiBGaXhlcyAjMzg1MDMxLgoKMjAwNi0xMi0xMSAyMToyMToxNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6IElnbm9yZSB0aGUgYnVmZmVyX3RpbWUgdGhlIHNvdW5kIGRldmljZSByZXBvcnRzLiBUdXJucyBvdXQgaXQgaXMgc29tZXRpbWVzIGNvbXBsZXRlbHkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOiAoZ3N0X3N1bmF1ZGlvc2lua19wcmVwYXJlKToKCSAgSWdub3JlIHRoZSBidWZmZXJfdGltZSB0aGUgc291bmQgZGV2aWNlIHJlcG9ydHMuIFR1cm5zIG91dCBpdCBpcwoJICBzb21ldGltZXMgY29tcGxldGVseSBib2d1cyBhbmQgd2UncmUgYmV0dGVyIG9mZiB3aXRob3V0IGl0LgoKMjAwNi0xMi0xMSAxNzozMzoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IG5vbi13b3JraW5nIHJlZGlyZWN0cyBmcm9tIGluZXRmaWxtLmNvbSAoaGFuZGxlICdhbGlzJyByZWZlcmVuY2UgZGF0YSB0eXBlIGFzIHdlbGwpLiBGaXhlcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyZWUpOgoJICBGaXggbm9uLXdvcmtpbmcgcmVkaXJlY3RzIGZyb20gaW5ldGZpbG0uY29tIChoYW5kbGUgJ2FsaXMnIHJlZmVyZW5jZQoJICBkYXRhIHR5cGUgYXMgd2VsbCkuIEZpeGVzICMzNzg2MTMuCgoyMDA2LTEyLTExIDEzOjU5OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thLzogVHJ5IGhhcmRlciB0byBleHRyYWN0IHRoZSBmcmFtZXJhdGUgZm9yIHZpZGVvIHRyYWNrcyBjb3JyZWN0bHkgYW5kIHNhdmUgaXQgZGlyZWN0bHkgaW5zdGVhZCBvZiBjb252ZXJ0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF9zdHJlYW0pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3ZpZGVvX2NhcHMpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuYzoKCSAgKGdzdF9tYXRyb3NrYV90cmFja19pbml0X3ZpZGVvX2NvbnRleHQpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgVHJ5IGhhcmRlciB0byBleHRyYWN0IHRoZSBmcmFtZXJhdGUgZm9yIHZpZGVvIHRyYWNrcyBjb3JyZWN0bHkgYW5kCgkgIHNhdmUgaXQgZGlyZWN0bHkgaW5zdGVhZCBvZiBjb252ZXJ0aW5nIGl0IGJhY2sgYW5kIGZvcnRoIGEgZmV3CgkgIHRpbWVzLiBNb3N0bHkgbWFrZXMgYSBkaWZmZXJlbmNlIGZvciB2ZXJ5IHNtYWxsIGZyYW1lcmF0ZXMgKDwxKS4KCSAgRml4ZXMgIzM4MDE5OS4KCjIwMDYtMTItMTEgMTE6NDE6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NyYy4qOiBSZW1vdmUgZ2NvbmYgbm90aWZ5IGhvb2sgd2hlbiB0aGUgZ2NvbmZhdWRpb3NyYyBlbGVtZW50IGlzIGRlc3Ryb3llZCwgb3RoZXJ3aXNlIHRoZSBjYWwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zcmMuYzogKGdzdF9nY29uZl9hdWRpb19zcmNfaW5pdCksCgkgIChnc3RfZ2NvbmZfYXVkaW9fc3JjX2Rpc3Bvc2UpLCAoZG9fdG9nZ2xlX2VsZW1lbnQpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc3JjLmg6CgkgIFJlbW92ZSBnY29uZiBub3RpZnkgaG9vayB3aGVuIHRoZSBnY29uZmF1ZGlvc3JjIGVsZW1lbnQgaXMKCSAgZGVzdHJveWVkLCBvdGhlcndpc2UgdGhlIGNhbGxiYWNrIG1heSBiZSBjYWxsZWQgb24gYW4KCSAgYWxyZWFkeS1kZXN0cm95ZWQgaW5zdGFuY2UgYW5kIGJhZCB0aGluZ3MgaGFwcGVuLiBTaG91bGQgZml4CgkgICMzNzgxODQuCgkgIEFsc28gaWdub3JlIGdjb25mIGtleSBjaGFuZ2VzIHdoZW4gdGhlIHNvdXJjZSBpcyBhbHJlYWR5IHJ1bm5pbmcuCgoyMDA2LTEyLTA5IDE5OjI3OjI4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxtYWlsQHNsb21vc25haWwuZGU+CgoJICBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6IFdlIG5lZWQgdG8gYmUgYWJsZSB0byByZWFkIGFuZCBwYXJzZSBhbnkgcG9zc2libGUgZmxvYXRpbmcgcG9pbnQgc3RyaW5nIGZvcm1hdCAoIjEsMjM0IiBvciAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlICA8bWFpbCBhdCBzbG9tb3NuYWlsIGRlPgoJICAqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzogKGFwZV9kZW11eF9wYXJzZV90YWdzKToKCSAgV2UgbmVlZCB0byBiZSBhYmxlIHRvIHJlYWQgYW5kIHBhcnNlIGFueSBwb3NzaWJsZSBmbG9hdGluZyBwb2ludCBzdHJpbmcKCSAgZm9ybWF0ICgiMSwyMzQiIG9yICIxLjIzNCIpIGlycmVzcGVjdGl2ZSBvZiB0aGUgY3VycmVudCBsb2NhbGUuIGdfc3Ryb2QoKQoJICB3aWxsIHBhcnNlIHRoZSBmb3JtZXIgb25seSBpbiBjZXJ0YWluIGxvY2FsZXMgdGhvdWdoLCBzbyB3ZSByZWFsbHkgbmVlZAoJICB0byBjYW5vbmljYWxpc2UgdGhlIHNlcGFyYXRvciB0byAnLicgYW5kIHRoZW4gdXNlIGdfYXNjaWlfc3RydG9kKCkgdG8KCSAgbWFrZSBzdXJlIHdlIGNhbiBwYXJzZSBlaXRoZXIgdmVyc2lvbiBhdCBhbGwgdGltZXMuCgkgIEZpeGVzICMzODI5ODIgZm9yIHJlYWwuCgoyMDA2LTEyLTA5IDE2OjE3OjMzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHN5cy9zdW5hdWRpby86IFVzZSB0aGUgc3VuYXVkaW8gZGVidWcgY2F0ZWdvcnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOgoJICBVc2UgdGhlIHN1bmF1ZGlvIGRlYnVnIGNhdGVnb3J5LgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzogKGdzdF9zdW5hdWRpb3NpbmtfZmluYWxpemUpLAoJICAoZ3N0X3N1bmF1ZGlvc2lua19jbGFzc19pbml0KSwgKGdzdF9zdW5hdWRpb3NpbmtfaW5pdCksCgkgIChnc3Rfc3VuYXVkaW9zaW5rX3NldF9wcm9wZXJ0eSksIChnc3Rfc3VuYXVkaW9zaW5rX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfc3VuYXVkaW9zaW5rX29wZW4pLCAoZ3N0X3N1bmF1ZGlvc2lua19jbG9zZSksCgkgIChnc3Rfc3VuYXVkaW9zaW5rX3ByZXBhcmUpLCAoZ3N0X3N1bmF1ZGlvX3NpbmtfZG9fZGVsYXkpLAoJICAoZ3N0X3N1bmF1ZGlvc2lua193cml0ZSksIChnc3Rfc3VuYXVkaW9zaW5rX2RlbGF5KSwKCSAgKGdzdF9zdW5hdWRpb3NpbmtfcmVzZXQpOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuaDoKCSAgVXNlcyB0aGUgc3VuYXVkaW8gZGVidWcgY2F0ZWdvcnkgZm9yIGFsbCBkZWJ1ZyBvdXRwdXQKCSAgSW1wbGVtZW50cyB0aGUgX2RlbGF5KCkgY2FsbGJhY2sgdG8gc3luY2hyb25pc2UgdmlkZW8gcGxheWJhY2sgYmV0dGVyCgkgIENoYW5nZSB0aGUgc2VndG90YWwgYW5kIHNlZ3NpemUgdmFsdWVzIGJhY2sgdG8gdGhlIHBhcmVudCBjbGFzcwoJICBkZWZhdWx0cyAodGFrZW4gZnJvbSBidWZmZXJfdGltZSBhbmQgbGF0ZW5jeV90aW1lcyBvZiAyMDBtcyBhbmQgMTBtcwoJICByZXNwZWN0aXZlbHkpCgkgIE1lYXN1cmUgdGhlIHNhbXBsZXMgd3JpdHRlbiB0byB0aGUgZGV2aWNlIHZzLiBwbGF5ZWQuCgkgIEtlZXAgdHJhY2sgb2Ygc2VnbWVudHMgaW4gdGhlIGRldmljZSBieSB3cml0aW5nIGVtcHR5IGVvZiBmcmFtZXMsIGFuZAoJICBzbGVlcCB1c2luZyBhIEdDb25kIHdoZW4gd2UgZ2V0IHRvbyBmYXIgYWhlYWQgYW5kIHJpc2sgb3ZlcnJ1bm5pbmcgdGhlCgkgIHNpbmsncyByaW5nYnVmZmVyLgoJICBGaXhlczogIzM2MDY3MwoKMjAwNi0xMi0wOCAyMToxMjo0NyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIENvcnJlY3QgdGhlIGF0dHJpYnV0aW9uIG9mIHRoZSBwcmV2aW91cyBjb21taXQuIFRoZSBwYXRjaCBpbiBxdWVzdGlvbiB3YXMgd3JpdHRlbiBieSBCcmlhbiBDYW1lcm9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ29ycmVjdCB0aGUgYXR0cmlidXRpb24gb2YgdGhlIHByZXZpb3VzIGNvbW1pdC4gVGhlIHBhdGNoIGluCgkgIHF1ZXN0aW9uIHdhcyB3cml0dGVuIGJ5IEJyaWFuIENhbWVyb24uCgoyMDA2LTEyLTA4IDE3OjA2OjQzICswMDAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggY2FwcyBmb3IgMjQgYml0IHJhdyBQQ00gYXVkaW8gKDIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJlbsOpIFN0YWRsZXIgIDxtYWlsIGF0IHJlbmVzdGFkbGVyIGRlPgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2dldF9kdXJhdGlvbiksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICBGaXggY2FwcyBmb3IgMjQgYml0IHJhdyBQQ00gYXVkaW8gKDIpLgoJICBGaXhlcyAjMzgzNDcxLgoKMjAwNi0xMi0wOCAxNjozODoxOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8bWFpbEBzbG9tb3NuYWlsLmRlPgoKCSAgZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS4qOiBGaXggYXVkaW9wYW5vcmFtZSB3aXRoIGZsb2F0IHNhbXBsZXMuIEZpeGVzICMzODM3MjYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSAgPG1haWwgYXQgc2xvbW9zbmFpbCBkZSA+CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOiAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX2luaXQpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3NldF9jYXBzKSwgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm0pOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuaDoKCSAgRml4IGF1ZGlvcGFub3JhbWUgd2l0aCBmbG9hdCBzYW1wbGVzLiBGaXhlcyAjMzgzNzI2LgoKMjAwNi0xMi0wOCAxNToxMjowMSArMDAwMCAgUGFkcmFpZyBPJ0JyaWFpbiA8cGFkcmFpZy5vYnJpYWluQHN1bi5jb20+CgoJICBzeXMvc3VuYXVkaW8vOiBJbXBsZW1lbnQgcmVzZXQgZnVuY3Rpb25zIHRvIHVuYmxvY2sgdGhlIHNyYy9zaW5rIG1vcmUgcXVpY2tseSBvbiBzdGF0ZSBjaGFuZ2UgcmVxdWVzdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzogKGdzdF9zdW5hdWRpb3NpbmtfcmVzZXQpOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOiAoZ3N0X3N1bmF1ZGlvc3JjX29wZW4pLAoJICAoZ3N0X3N1bmF1ZGlvc3JjX3Jlc2V0KToKCSAgSW1wbGVtZW50IHJlc2V0IGZ1bmN0aW9ucyB0byB1bmJsb2NrIHRoZSBzcmMvc2luayBtb3JlIHF1aWNrbHkgb24KCSAgc3RhdGUgY2hhbmdlIHJlcXVlc3RzLgoJICBQYXRjaCBieTogUGFkcmFpZyBPJ0JyaWFpbiA8cGFkcmFpZyBkb3Qgb2JyaWFpbiBhdCBzdW4gZG90IGNvbT4KCjIwMDYtMTItMDggMTQ6NDI6NDIgKzAwMDAgIEplcnJ5IFRhbiA8amVycnkudGFuQHN1bi5jb20+CgoJICBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlci5jOiBDb25zdHJ1Y3QgdGhlIGNvcnJlY3QgbWl4ZXIgZGV2aWNlIG5hbWUgd2hlbiB0aGUgQVVESU9ERVYgZW52IHZhciBpcyBzZXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyLmM6CgkgIChnc3Rfc3VuYXVkaW9taXhlcl9jaGFuZ2Vfc3RhdGUpOgoJICBDb25zdHJ1Y3QgdGhlIGNvcnJlY3QgbWl4ZXIgZGV2aWNlIG5hbWUgd2hlbiB0aGUgQVVESU9ERVYgZW52IHZhcgoJICBpcyBzZXQuCgkgIFBhdGNoIGJ5OiBKZXJyeSBUYW4gPGplcnJ5LnRhbiBhdCBzdW4gZG90IGNvbT4KCSAgRml4ZXM6ICMzODM1OTYKCjIwMDYtMTItMDggMTQ6MzI6NTEgKzAwMDAgIEplcnJ5IFRhbiA8amVycnkudGFuQHN1bi5jb20+CgoJICBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzogQXBwbHkgcGF0Y2ggdG8gb3BlbiB0aGUgbWl4ZXIgY29udHJvbCBhbmQgc2V0IHRoZSBNVUxUSVBMRV9PUEVOIGlvY3RsLiBPbiBzb2xhcmlzLCB0aGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6IChnc3Rfc3VuYXVkaW9zcmNfb3Blbik6CgkgIEFwcGx5IHBhdGNoIHRvIG9wZW4gdGhlIG1peGVyIGNvbnRyb2wgYW5kIHNldCB0aGUgTVVMVElQTEVfT1BFTgoJICBpb2N0bC4gT24gc29sYXJpcywgdGhlIG1peGVyIGRldmljZSBkb2Vzbid0IG5lZWQgb3BlbmluZyBub24tYmxvY2tpbmcKCSAgLSBpdCBjYW4gYmUgb3BlbmVkIGJ5IG11bHRpcGxlIHByb2Nlc3NlcyBieSBkZWZhdWx0LCBidXQgbmVlZHMgdGhlIGlvY3RsIAlmb3IgbXVsdGlwbGUgb3BlbnMgd2l0aGluIDEgcHJvY2Vzcy4KCSAgUGF0Y2ggYnk6IEplcnJ5IFRhbiA8amVycnkudGFuIGF0IHN1biBkb3QgY29tPgoJICBGaXhlczogIzM0OTAxNQoKMjAwNi0xMi0wNyAxNzozMDowMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9zbXB0ZS86IFBvcnQgdG8gMC4xMCBzb21lIG1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zbXB0ZS9nc3RtYXNrLmg6CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6IChnc3Rfc21wdGVfY2xhc3NfaW5pdCksCgkgIChnc3Rfc21wdGVfc2V0Y2FwcyksIChnc3Rfc21wdGVfaW5pdCksIChnc3Rfc21wdGVfcmVzZXQpLAoJICAoZ3N0X3NtcHRlX2NvbGxlY3RlZCksIChnc3Rfc21wdGVfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zbXB0ZV9nZXRfcHJvcGVydHkpLCAoZ3N0X3NtcHRlX2NoYW5nZV9zdGF0ZSksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlLmg6CgkgIFBvcnQgdG8gMC4xMCBzb21lIG1vcmUuCgkgIEFkZGVkIGR1cmF0aW9uIHByb3BlcnR5IHRvIHNwZWNpZnkgdGhlIGR1cmF0aW9uIG9mIHRoZSB0cmFuc2l0aW9uLgoJICBNYWtlIGZyYW1lcmF0ZSBhIGZyYWN0aW9uLgoJICBEZXByZWNhdGUgZnBzIHByb3BlcnR5LCB3ZSBvbmx5IHVzZSBuZWdvdGlhdGVkIGZwcy4KCSAgQWRkZWQgZG9jcy4KCSAgRml4IGNvbGxlY3RwYWQgdXNhZ2UuCgkgIFJlc2V0IHN0YXRlIGluIFJFQURZLgoJICBTZW5kIE5FV1NFR01FTlQgZXZlbnQuCgkgIEZpeCByYWN5IHVwZGF0ZXMgb2Ygb2JqZWN0IHByb3BlcnRpZXMuCgkgIEFkZGVkIGRlYnVnIGNhdGVnb3J5LgoJICBGaXhlcyAjMzgzMzIzLgoKMjAwNi0xMi0wNyAxMTozNTo0MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogSGFuZGxlIG1vcmUgSDI2MyB2YXJpYW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZ2V0X2R1cmF0aW9uKSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEhhbmRsZSBtb3JlIEgyNjMgdmFyaWFudHMuCgoyMDA2LTEyLTA2IDE1OjA2OjA0ICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IERvbid0IHJlc2V0IHhwb3MgYW5kIHlwb3MgaW4gdGhlIHNldGNhcHMgZnVuY3Rpb24gYmVjYXVzZSBjYXVzZXMgdW5leHBlY3RlZCBiZWhhdmlvdXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2pvZXJkIFNpbW9ucyA8c2pvZXJkIGF0IGx1b24gZG90IG5ldD4KCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIChnc3RfdmlkZW9taXhlcl9zZXRfbWFzdGVyX2dlb21ldHJ5KSwKCSAgKGdzdF92aWRlb21peGVyX3BhZF9zaW5rX3NldGNhcHMpLCAoZ3N0X3ZpZGVvbWl4ZXJfY29sbGVjdF9mcmVlKToKCSAgRG9uJ3QgcmVzZXQgeHBvcyBhbmQgeXBvcyBpbiB0aGUgc2V0Y2FwcyBmdW5jdGlvbiBiZWNhdXNlIGNhdXNlcwoJICB1bmV4cGVjdGVkIGJlaGF2aW91ci4KCSAgRml4ZXMgIzM4MjE3OS4KCjIwMDYtMTItMDYgMTQ6NDU6MzAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiBLZWVwIHRyYWNrIG9mIHRoZSBidWZmZXIgdGltZXN0YW1wIGluIHRoZSBjb2xsZWN0ZGF0YSBtZW1iZXIgaW5zdGVhZCBvZiBtb2RpZnlpbmcgdGhlIGIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogKGdzdF9tdWx0aXBhcnRfbXV4X2NvbXBhcmVfcGFkcyksCgkgIChnc3RfbXVsdGlwYXJ0X211eF9xdWV1ZV9wYWRzKSwgKGdzdF9tdWx0aXBhcnRfbXV4X2NvbGxlY3RlZCk6CgkgIEtlZXAgdHJhY2sgb2YgdGhlIGJ1ZmZlciB0aW1lc3RhbXAgaW4gdGhlIGNvbGxlY3RkYXRhIG1lbWJlciBpbnN0ZWFkCgkgIG9mIG1vZGlmeWluZyB0aGUgYnVmZmVyIHdpdGhvdXQgbWFraW5nIHRoZSBtZXRhZGF0YSB3cml0YWJsZSBmaXJzdC4KCSAgRml4ZXMgIzM4MjI3Ny4KCjIwMDYtMTItMDYgMTQ6MzM6NTQgKzAwMDAgIFJvYiBUYXlsb3IgPHJvYnRheWxvckBmbG9vcGlseS5vcmc+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy5jOiBJZiB1c2luZyBtdWx0aWNhc3QgaW4gdWRwc3JjLCBiaW5kIHRvIHRoZSBtdWx0aWNhc3QgYWRkcmVzcyByYXRoZXIgdGhhbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJvYiBUYXlsb3IgPHJvYnRheWxvciBhdCBmbG9vcGlseSBkb3Qgb3JnPgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX3N0YXJ0KToKCSAgSWYgdXNpbmcgbXVsdGljYXN0IGluIHVkcHNyYywgYmluZCB0byB0aGUgbXVsdGljYXN0IGFkZHJlc3MgcmF0aGVyIHRoYW4KCSAgSU5fQUREUl9BTlkuCgkgIFRoaXMgYWxsb3dzIHRoZSBzaW11bHRhbm91cyB1c2Ugb2YgbXVsdGlwbGUgdWRwc3JjcyBsaXN0ZW5pbmcgb24KCSAgZGlmZmVyZW50IG11bHRpY2F0IGFkZHJlc3Nlcy4gV2l0aG91dCB0aGlzIGFsbCB1ZHBzcmNzIHdpbGwgcmVjZWl2ZSBhbGwKCSAgcGFja2V0cyBmcm9tIGFsbCBzdWJzY3JpYmVkIG11bHRpY2FzdCBhZGRyZXNzZXMuCgkgIEZpeGVzICMzODMwMDEuCgoyMDA2LTEyLTA2IDEzOjM1OjUyICswMDAwICBKb25hdGhhbiBNYXR0aGV3IDxqb25hdGhhbkAwa2FvbGluLndoOS5uZXQ+CgoJICBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOiBEb24ndCBhdHRlbXB0IHRvIHdyaXRlIGEgTlVMTCBmcmFtZSBpbnRvIHRoZSBJRDMgdGFnIHNldCB3aGVuIHRoZSBjcmVhdGVGcmFtZSBtZXRob2QgcmV0dXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgRG9uJ3QgYXR0ZW1wdCB0byB3cml0ZSBhIE5VTEwgZnJhbWUgaW50byB0aGUgSUQzIHRhZyBzZXQgd2hlbiB0aGUKCSAgY3JlYXRlRnJhbWUgbWV0aG9kIHJldHVybmVkIE5VTEwuCgkgIEZpeGVzOiAjMzgxODU3CgkgIFBhdGNoIGJ5OiBKb25hdGhhbiBNYXR0aGV3IDxqb25hdGhhbiBhdCAwa2FvbGluIHdoOSBuZXQgPgoKMjAwNi0xMi0wNiAxMzoxNjo1OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8bWFpbEBzbG9tb3NuYWlsLmRlPgoKCSAgZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOiBVc2UgZ19zdHJ0b2QoKSBpbnN0ZWFkIG9mIHNzY2FuZiB0byBwYXJzZSBkb3VibGVzLCBzbyB0aGF0IGl0IHdpbGwgdHJ5IHBhcnNpbmcgaW4gdGhlIEMgbG9jLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzogKGFwZV9kZW11eF9wYXJzZV90YWdzKToKCSAgVXNlIGdfc3RydG9kKCkgaW5zdGVhZCBvZiBzc2NhbmYgdG8gcGFyc2UgZG91Ymxlcywgc28gdGhhdCBpdCB3aWxsCgkgIHRyeSBwYXJzaW5nIGluIHRoZSBDIGxvY2FsZSBpZiB0aGUgY3VycmVudCBsb2NhbGUgZmFpbHMuCgkgIEZpeGVzOiAjMzgyOTgyCgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlICA8bWFpbCBhdCBzbG9tb3NuYWlsIGRlID4KCjIwMDYtMTItMDEgMTA6MzE6NDYgKzAwMDAgIFNlcmdleSBTY29iaWNoIDxzZXJnZXkuc2NvYmljaEBnbWFpbC5jb20+CgoJICB3aW4zMi9NQU5JRkVTVDogRml4IGNvbXBpbGF0aW9uIG9uIHdpbjMyIHVuZGVyIFZTOAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgRml4IGNvbXBpbGF0aW9uIG9uIHdpbjMyIHVuZGVyIFZTOAoJICBQYXRjaCBieTogU2VyZ2V5IFNjb2JpY2ggPHNlcmdleSBkb3Qgc2NvYmljaCBhdCBnbWFpbCBkb3QgY29tPgoJICBQYXJ0aWFsbHkgZml4ZXMgIzM4MTE3NQoKMjAwNi0xMS0zMCAxNjo0ODo1MSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogYWNjZXB0IGFsbCBtcGVndmVyc2lvbnMsZml4ZXMgIzM4MDgyNSBzcG90dGVkIGJ5OiBKZXJvbWUgQWxldAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhY2NlcHQgYWxsIG1wZWd2ZXJzaW9ucyxmaXhlcyAjMzgwODI1CgkgIHNwb3R0ZWQgYnk6IEplcm9tZSBBbGV0CgoyMDA2LTExLTMwIDE2OjQ2OjEzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IGNsZWFudXAgdGhlIGVycm9yIG1lc3NhZ2UgYSBiaXQgbW9yZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19maWxsX2Zvcm1hdF9saXN0KSwKCSAgKGdzdF92NGwyc3JjX3F1ZXVlX2ZyYW1lKSwgKGdzdF92NGwyc3JjX2dyYWJfZnJhbWUpLAoJICAoZ3N0X3Y0bDJzcmNfZ2V0X2NhcHR1cmUpLCAoZ3N0X3Y0bDJzcmNfc2V0X2NhcHR1cmUpLAoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9pbml0KSwgKGdzdF92NGwyc3JjX2J1ZmZlcl9maW5hbGl6ZSk6CgkgIGNsZWFudXAgdGhlIGVycm9yIG1lc3NhZ2UgYSBiaXQgbW9yZQoKMjAwNi0xMS0zMCAxNTowODowOCArMDAwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkgIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzogQ2FsbCB0aGUgYmFzZSBjbGFzcyBoYW5kbGVyLiAgRml4ZXMgIzM4MDYxMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSZW7DqSBTdGFkbGVyICA8bWFpbCBhdCByZW5lc3RhZGxlciBkZT4KCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6IChnc3RfcmdfYW5hbHlzaXNfZXZlbnQpOgoJICBDYWxsIHRoZSBiYXNlIGNsYXNzIGhhbmRsZXIuICBGaXhlcyAjMzgwNjEwLgoKMjAwNi0xMS0yOCAxMjozMDoxMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6IEZpeCB3aWR0aCBhbmQgaGVpZ2h0IHByb3BlcnRpZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6IChnc3RfY2FjYXNpbmtfY2xhc3NfaW5pdCk6CgkgIEZpeCB3aWR0aCBhbmQgaGVpZ2h0IHByb3BlcnRpZXMuCgkgICogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuaDoKCSAgRml4IGNvbXBpbGF0aW9uIG9uIG5ld2VyIGxpYmNhY2EgdGhhdCByZXF1aXJlIHVzIHRvIGluY2x1ZGUgYSBuZXcKCSAgaGVhZGVyLiBGaXhlcyAjMzc5OTE4LgoKMjAwNi0xMS0yOCAxMTo1MjoyNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwLzogQWRkIG1ldGhvZCBzbyB0aGF0IGV4dGVuc2lvbnMgY2FuIGNob29zZSB0byBkaXNhYmxlIHRoZSBzZXR1cCBvZiBhIHN0cmVhbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfb3Blbik6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICAqIGdzdC9ydHNwL3J0c3BleHQuaDoKCSAgKiBnc3QvcnRzcC9ydHNwZXh0d21zLmM6IChydHNwX2V4dF93bXNfY29uZmlndXJlX3N0cmVhbSksCgkgIChydHNwX2V4dF93bXNfZ2V0X2NvbnRleHQpOgoJICBBZGQgbWV0aG9kIHNvIHRoYXQgZXh0ZW5zaW9ucyBjYW4gY2hvb3NlIHRvIGRpc2FibGUgdGhlIHNldHVwIG9mCgkgIGEgc3RyZWFtLgoJICBNYWtlIHRoZSBXTVMgZXh0ZW5zaW9uIHNraXAgc2V0dXAgb2YgeC13bXMtcnR4IHN0cmVhbXMuIEZpeGVzICMzNzc3OTIuCgoyMDA2LTExLTI3IDE3OjE2OjI2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBSZW1vdmUgc29tZSBhc3NlcnRzIGFuZCByZXBsYWNlIHRoZW0gd2l0aCBhIHByb3BlciBlcnJvciBtZXNzYWdlLiBGaXhlcyAjMzc5MjYxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9nZXRfZHVyYXRpb24pLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBSZW1vdmUgc29tZSBhc3NlcnRzIGFuZCByZXBsYWNlIHRoZW0gd2l0aCBhIHByb3BlciBlcnJvcgoJICBtZXNzYWdlLiBGaXhlcyAjMzc5MjYxLgoKMjAwNi0xMS0yNyAxNjozMDo0OSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkqIENoYW5nZUxvZzoKCSAgbWVudGlvbiBidWcgZml4CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtZW50aW9uIGJ1ZyBmaXgKCjIwMDYtMTEtMjcgMTY6Mjk6MDcgKzAwMDAgIEpvbmFzIEhvbG1iZXJnIDxqb25hcy5ob2xtYmVyZ0BheGlzLmNvbT4KCgkgIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IFB1c2ggaGVhZGVyIGluIGEgc2VwYXJhdGUgYnVmZmVyIGluc3RlYWQgb2YgbWVtY3B5OmluZyBhbGwgZGF0YQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvbmFzIEhvbG1iZXJnIDxqb25hcyBkb3QgaG9sbWJlcmcgYXQgYXhpcyBkb3QgY29tPgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IChnc3RfbXVsdGlwYXJ0X211eF9jb2xsZWN0ZWQpOgoJICBQdXNoIGhlYWRlciBpbiBhIHNlcGFyYXRlIGJ1ZmZlciBpbnN0ZWFkIG9mIG1lbWNweTppbmcgYWxsIGRhdGEKCSAgQ2hhbmdlIExGID0+IENSTEYgaW4gaGVhZGVycwoJICBNb3ZlIHRyYWlsaW5nIExGIHRvIGhlYWRlcgoKMjAwNi0xMS0yNyAxNjoyNjo1MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzogU21hbGwgYnVmZmVyIG92ZXJmbG93IGZpeCBhbmQgaW1wcm92ZSBkZWJ1Z2dpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzogKGdzdF9ydHBfbXBhX2RlcGF5X2NoYWluKToKCSAgU21hbGwgYnVmZmVyIG92ZXJmbG93IGZpeCBhbmQgaW1wcm92ZSBkZWJ1Z2dpbmcuCgoyMDA2LTExLTI0IDA4OjU4OjUzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvZXNkLzogcmVtb3ZlIG9ic29sZXRlIF9mYWN0b3J5X2luaXQgcHJvdG9zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9lc2QvZXNkbW9uLmg6CgkgICogZXh0L2VzZC9lc2RzaW5rLmg6CgkgIHJlbW92ZSBvYnNvbGV0ZSBfZmFjdG9yeV9pbml0IHByb3RvcwoKMjAwNi0xMS0yNCAwNzo0Njo1NCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiByZW1vdmUgZGVhZCBjb2RlLCB0d2VhayBkZWJ1Z3Mgc3RhdGVtZW50cywgYWRkIGNvbW1lbnRzLCB1c2UgX3VpbnQ2NF9zY2FsZSBpbnN0ZWFkIF91aW50NjRfc2NhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaW5kZXhfZW50cnlfZm9yX3RpbWUpLAoJICAoZ3N0X2F2aV9kZW11eF9zcmNfY29udmVydCksIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLAoJICAoZ3N0X2F2aV9kZW11eF9wZWVrX2NodW5rKSwgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3ViaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9yZWFkX3N1YmluZGV4ZXNfcHVzaCksCgkgIChnc3RfYXZpX2RlbXV4X3JlYWRfc3ViaW5kZXhlc19wdWxsKSwgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2VfaW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9zeW5jKSwgKGdzdF9hdmlfZGVtdXhfbmV4dF9kYXRhX2J1ZmZlciksCgkgIChnc3RfYXZpX2RlbXV4X21hc3NhZ2VfaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9jYWxjdWxhdGVfZHVyYXRpb25zX2Zyb21faW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyX3B1bGwpLCAoZ3N0X2F2aV9kZW11eF9kb19zZWVrKSwKCSAgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NlZWspLCAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fZGF0YSksIChnc3RfYXZpX2RlbXV4X2xvb3ApOgoJICByZW1vdmUgZGVhZCBjb2RlLCB0d2VhayBkZWJ1Z3Mgc3RhdGVtZW50cywgYWRkIGNvbW1lbnRzLCB1c2UKCSAgX3VpbnQ2NF9zY2FsZSBpbnN0ZWFkIF91aW50NjRfc2NhbGVfaW50IHdoZW4gdXNpbmcgZ3VpbnQ2NCB2YWx1ZXMsCgkgIHNtYWxsIG9wdGltaXphdGlvbnMsIHJlZmxvdyBzb21lIGVycm9yIGhhbmRsaW5nCgoyMDA2LTExLTIyIDE3OjM5OjEzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgcG8vLmN2c2lnbm9yZTogV2UgbmV2ZXIgcHV0IC5wb3QgZmlsZXMgaW4gY3ZzLiBMZXQncyBpZ25vcmUgdGhlbSBhbGwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHBvLy5jdnNpZ25vcmU6CgkgIFdlIG5ldmVyIHB1dCAucG90IGZpbGVzIGluIGN2cy4gTGV0J3MgaWdub3JlIHRoZW0gYWxsLgoKMjAwNi0xMS0yMSAxMjo1Nzo1MCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBlbmFsYmUgTEFEU1BBIHBsdWdpbiBpbiBzcGVjIGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGVuYWxiZSBMQURTUEEgcGx1Z2luIGluIHNwZWMgZmlsZQoKMjAwNi0xMS0xOSAxODo0NjowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHBvL1BPVEZJTEVTLmluOiAuLi4gYnV0IGJldHRlciBleGNsdWRlIGZpbGVzIHRoYXQgYXJlbid0IGRpc3RlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcG8vUE9URklMRVMuaW46CgkgIC4uLiBidXQgYmV0dGVyIGV4Y2x1ZGUgZmlsZXMgdGhhdCBhcmVuJ3QgZGlzdGVkLgoKMjAwNi0xMS0xOSAxNjozMjo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHBvL1BPVEZJTEVTLmluOiBBZGQgdjRsMiBzb3VyY2UgZmlsZXMgdG8gbGlzdCBvZiBmaWxlcyB3aXRoIHRyYW5zbGF0aW9ucywgc28gdGhlIHN0cmluZ3MgYXJlIGFjdHVhbGx5IGV4dHJhY3RlZCAoaG93ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBwby9QT1RGSUxFUy5pbjoKCSAgQWRkIHY0bDIgc291cmNlIGZpbGVzIHRvIGxpc3Qgb2YgZmlsZXMgd2l0aCB0cmFuc2xhdGlvbnMsIHNvIHRoZQoJICBzdHJpbmdzIGFyZSBhY3R1YWxseSBleHRyYWN0ZWQgKGhvd2V2ZXIgYmFkIHRoZXkgc3RpbGwgbWF5IGJlKS4KCjIwMDYtMTEtMTkgMTY6MzA6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogTWlub3IgY2xlYW4tdXBzOiBjb25zdC1pZnkgc3RhdGljIGFycmF5LCByZW1vdmUgdHJhaWxpbmcgY29tbWEgZnJvbSB1c2UgR1NUX0RFQlVHX0ZVTkNQVFIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiAoZ3N0X3ZpZGVvX2JveF9jbGFzc19pbml0KToKCSAgTWlub3IgY2xlYW4tdXBzOiBjb25zdC1pZnkgc3RhdGljIGFycmF5LCByZW1vdmUgdHJhaWxpbmcgY29tbWEgZnJvbQoJICBsYXN0IGVudW0gKGdjYy0yLjl4IHRyaXBzIG92ZXIgdGhhdCksIHVzZSBHU1RfREVCVUdfRlVOQ1BUUi4KCjIwMDYtMTEtMTkgMTM6NDE6NTMgKzAwMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogTWFrZSBzdXJlIHRoYXQgZ19mcmVlIGFsd2F5cyBnZXRzIGNhbGxlZCBvbiB0aGUgc2FtZSBwb2ludGVyIHRoYXQgd2FzIHJldHVybmVkIGJ5IGdfbWFsbG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChpZDNkZW11eF9pZDN2Ml9wYXJzZV9mcmFtZSk6CgkgIE1ha2Ugc3VyZSB0aGF0IGdfZnJlZSBhbHdheXMgZ2V0cyBjYWxsZWQgb24gdGhlIHNhbWUgcG9pbnRlciB0aGF0IHdhcwoJICByZXR1cm5lZCBieSBnX21hbGxvYy4gIEZpeGVzICMzNzY1OTQuCgkgIERvIG5vdCBsZWFrIG1lbW9yeSBpZiBkZWNvbXByZXNzZWQgc2l6ZSBpcyB3cm9uZy4KCSAgUmVtb3ZlIHVubmVlZGVkIGNoZWNrIG9mIHJldHVybiB2YWx1ZSBvZiBnX21hbGxvYy4KCSAgUGF0Y2ggYnk6IFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoyMDA2LTExLTE4IDE4OjE0OjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBBZGQgbWlzc2luZyBjdXJseSBicmFja2V0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9kZWluaXQpOgoJICBBZGQgbWlzc2luZyBjdXJseSBicmFja2V0cy4KCjIwMDYtMTEtMTcgMTQ6NTQ6MDEgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBGaXggY2FwdHVyZV9kZWluaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggY2FwdHVyZV9kZWluaXQuCgoyMDA2LTExLTE2IDE1OjM2OjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBVc2UgR1NUX0RFQlVHX0ZVTkNQVFI7IGFjdGl2YXRlIHJlcXVlc3QgcGFkIGJlZm9yZSByZXR1cm5pbmcgaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3JlcXVlc3RfbmV3X3BhZCk6CgkgIFVzZSBHU1RfREVCVUdfRlVOQ1BUUjsgYWN0aXZhdGUgcmVxdWVzdCBwYWQgYmVmb3JlIHJldHVybmluZyBpdC4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOiAoc2V0dXBfc3JjX3BhZCksCgkgIChzZXR1cF9zaW5rX3BhZCksIChHU1RfU1RBUlRfVEVTVCk6CgkgIEFjdGl2YXRlIHBhZHMgYmVmb3JlIHVzaW5nIHRoZW0uCgoyMDA2LTExLTE2IDE1OjA0OjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBJbml0aWFsaXNlIHZhcmlhYmxlIHRvIGdldCByaWQgb2YgYm9ndXMgY29tcGlsZXIgd2FybmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fc2Nhbik6CgkgIEluaXRpYWxpc2UgdmFyaWFibGUgdG8gZ2V0IHJpZCBvZiBib2d1cyBjb21waWxlciB3YXJuaW5nLgoKMjAwNi0xMS0xNiAwNzoyNjoxNyArMDAwMCAgVmlsbGUgU3lyamFsYSA8dmlsbGUuc3lyamFsYUBtb3ZpYWwuZmk+CgoJICBnc3QvcnRwLzogU3BlY2lmeSBILjI2MyB2YXJpYW50IGFuZCB2ZXJzaW9uIGluIHRoZSBjYXBzIChmaXhlcyAjMzYxNjM3KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFZpbGxlIFN5cmphbGEgPHZpbGxlLnN5cmphbGFAbW92aWFsLmZpPgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSAgU3BlY2lmeSBILjI2MyB2YXJpYW50IGFuZCB2ZXJzaW9uIGluIHRoZSBjYXBzIChmaXhlcyAjMzYxNjM3KQoKMjAwNi0xMS0xNSAxNzo0NDowMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IERvbid0IHNldCBhIGRhdGEgcG9pbnRlciB0byBOVUxMIGFuZCBhIHNpemUgPiAwIHdoZW4gd2UgZGVhbCB3aXRoIGVtcHR5IHBhY2tldHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChyZWFkX2JvZHkpOgoJICBEb24ndCBzZXQgYSBkYXRhIHBvaW50ZXIgdG8gTlVMTCBhbmQgYSBzaXplID4gMCB3aGVuIHdlIGRlYWwKCSAgd2l0aCBlbXB0eSBwYWNrZXRzLgoJICAqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmM6IChydHNwX21lc3NhZ2VfbmV3X3Jlc3BvbnNlKSwKCSAgKHJ0c3BfbWVzc2FnZV9pbml0X3Jlc3BvbnNlKSwgKHJ0c3BfbWVzc2FnZV9pbml0X2RhdGEpLAoJICAocnRzcF9tZXNzYWdlX3Vuc2V0KSwgKHJ0c3BfbWVzc2FnZV9mcmVlKSwKCSAgKHJ0c3BfbWVzc2FnZV90YWtlX2JvZHkpOgoJICBDaGVjayB0aGF0IHdlIGNhbid0IGNyZWF0ZSBpbnZhbGlkIGVtcHR5IHBhY2tldHMuCgoyMDA2LTExLTE1IDEyOjM1OjQ2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay86IFNvbWUgc21hbGwgY2xlYW4tdXBzOiB1c2UgZW51bXMgaW5zdGVhZCBvZiBoYXJkLWNvZGVkIG51bWJlcnMsIGNvbnN0LWlmeSBlbGVtZW50IGRldGFpbHMsIHJlLWZhY3RvciBzb20uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlICA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19yZXNldCksCgkgIChnc3Rfd2F2cGFja19kZWNfaW5pdCksIChnc3Rfd2F2cGFja19kZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19jbGFzc19pbml0KSwgKGdzdF93YXZwYWNrX2VuY19yZXNldCksCgkgIChnc3Rfd2F2cGFja19lbmNfaW5pdCksIChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyksCgkgIChnc3Rfd2F2cGFja19lbmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgU29tZSBzbWFsbCBjbGVhbi11cHM6IHVzZSBlbnVtcyBpbnN0ZWFkIG9mIGhhcmQtY29kZWQgbnVtYmVycywKCSAgY29uc3QtaWZ5IGVsZW1lbnQgZGV0YWlscywgcmUtZmFjdG9yIHNvbWUgY29kZSBpbnRvIF9yZXNldCgpCgkgIGZ1bmN0aW9ucyAoIzM1MjYwNSkuCgoyMDA2LTExLTE1IDEyOjA4OjIwICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC4qOiBBZGQgYmFzaWMgdGFnIHdyaXRpbmcgc3VwcG9ydDsgaW1wbGVtZW50IHJlbGVhc2luZyBwYWRzICgjMzc0NjU4KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzICA8bWFuYXV3IGF0IHNreW5ldCBiZT4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X2FkZF9pbnRlcmZhY2VzKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfY2xhc3NfaW5pdCksIChnc3RfbWF0cm9za2FfcGFkX2ZyZWUpLAoJICAoZ3N0X21hdHJvc2thX211eF9yZXNldCksIChnc3RfbWF0cm9za2FfbXV4X2hhbmRsZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9tYXRyb3NrYV9tdXhfcmVsZWFzZV9wYWQpLAoJICAoZ3N0X21hdHJvc2thX211eF90cmFja19oZWFkZXIpLCAoZ3N0X21hdHJvc2thX211eF9zdGFydCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3dyaXRlX3NpbXBsZV90YWcpLCAoZ3N0X21hdHJvc2thX211eF9maW5pc2gpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgQWRkIGJhc2ljIHRhZyB3cml0aW5nIHN1cHBvcnQ7IGltcGxlbWVudCByZWxlYXNpbmcgcGFkcyAoIzM3NDY1OCkuCgoyMDA2LTExLTE1IDExOjE5OjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IEhhbmRsZSBvcGFxdWUvdW5zcGVjaWZpZWQgQV9BQUMgYXVkaW8gY29kZWMgSUQgKGZpeGVzICMzNzQ3MzcpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfc3RyZWFtKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hdWRpb19jYXBzKToKCSAgSGFuZGxlIG9wYXF1ZS91bnNwZWNpZmllZCBBX0FBQyBhdWRpbyBjb2RlYyBJRCAoZml4ZXMgIzM3NDczNykuCgoyMDA2LTExLTE1IDAwOjEyOjE5ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogQWRkIERpcmFjIGZvdXJjYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBBZGQgRGlyYWMgZm91cmNjLgoKMjAwNi0xMS0xNCAyMDowNzoyMiArMDAwMCAgU2VyZ2V5IFNjb2JpY2ggPHNlcmdleS5zY29iaWNoQGdtYWlsLmNvbT4KCgkgIHdpbjMyL3ZzOC86IE1ha2UgZW5kLW9mLWxpbmUgcmV0dXJucyB1bml4eSwgc28gdGhhdCB3aGVuIHRoZSBmaWxlcyBhcmUgY2hlY2tlZCBvdXQgb24gd2luMzIgdGhlIGxpbmUgcmV0dXJucyB3aWxsIGJlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlcmdleSBTY29iaWNoICA8c2VyZ2V5LnNjb2JpY2ggYXQgZ21haWwgY29tPgoJICAqIHdpbjMyL3ZzOC9nc3QtcGx1Z2lucy1nb29kLnNsbjoKCSAgKiB3aW4zMi92czgvbGliZ3N0MTM5NC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGFhc2luay52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGFsYXcudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RhbHBoYS52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGFscGhhY29sb3IudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3Rhbm5vZGV4LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0YXBldGFnLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0YXVkaW9meC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGF1cGFyc2UudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RhdXRvZGV0ZWN0LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0YXZpLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0Y2FjYXNpbmsudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RjZGlvLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0Y3V0dGVyLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0ZHYudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RlZmZlY3R2LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0ZmxhYy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGZseGRlYy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGdvb20udmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RpY3lkZW11eC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGlkM2RlbXV4LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0anBlZy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGxhZHNwYS52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGxldmVsLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0bWF0cm9za2EudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RtaWttb2QudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RtbmcudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3Rtb25vc2NvcGUudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RtdWxhdy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdG11bHRpcGFydC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHBuZy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHJ0cC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHJ0c3AudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RzaG91dDIudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RzbXB0ZS52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHNwZWV4LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0dGFnbGliLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0dWRwLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0dmlkZW9iYWxhbmNlLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0dmlkZW9ib3gudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3R2aWRlb2ZsaXAudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3R2aWRlb21peGVyLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0d2F2ZW5jLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0d2F2cGFyc2UudmNwcm9qOgoJICBNYWtlIGVuZC1vZi1saW5lIHJldHVybnMgdW5peHksIHNvIHRoYXQgd2hlbiB0aGUgZmlsZXMgYXJlIGNoZWNrZWQKCSAgb3V0IG9uIHdpbjMyIHRoZSBsaW5lIHJldHVybnMgd2lsbCBiZSAwZCAwYSBhbmQgbm90IDBkIDBkIDBhLgoJICBIb3BlZnVsbHkgZml4ZXMgIzM2NjQ5Mi4KCjIwMDYtMTEtMTQgMTU6NTU6MzIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IERpc2FibGUgaW5pdF9mcmFtZXMgZGVsYXkgdGltZXN0YW1wIGFkanVzdG1lbnQsIGl0IGRvZXMgbm90IHNlZW0gdG8gYmUgbmVlZGVkIGF0IGFsbC4gRml4ZXMgIzMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9tYXNzYWdlX2luZGV4KToKCSAgRGlzYWJsZSBpbml0X2ZyYW1lcyBkZWxheSB0aW1lc3RhbXAgYWRqdXN0bWVudCwgaXQgZG9lcyBub3QKCSAgc2VlbSB0byBiZSBuZWVkZWQgYXQgYWxsLiBGaXhlcyAjMzY5NjIxLgoKMjAwNi0xMS0xNCAxMTo0Mzo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRG9uJ3QgcGFyc2UgZXh0cmEgc2FtcGxlIHBhcmFtcyBmb3IgcmF3IHBjbS4gRml4ZXMgIzM3NDkxNC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZ2V0X2R1cmF0aW9uKSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgRG9uJ3QgcGFyc2UgZXh0cmEgc2FtcGxlIHBhcmFtcyBmb3IgcmF3IHBjbS4gRml4ZXMgIzM3NDkxNC4KCjIwMDYtMTEtMTMgMTg6MzE6MTggKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IEZpeCBtZW1sZWFrIGJ5IHVucmVmJ2luZyBjb2xsZWN0cGFkcyBpbnN0YW5jZSAod2hlbiBmaW5hbGl6aW5nKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgIDxtYW5hdXcgYXQgc2t5bmV0IGJlPgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgKGdzdF92aWRlb21peGVyX3NldF9tYXN0ZXJfZ2VvbWV0cnkpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfcGFkX3Npbmtfc2V0Y2FwcyksIChnc3RfdmlkZW9taXhlcl9jbGFzc19pbml0KSwKCSAgKGdzdF92aWRlb21peGVyX2NvbGxlY3RfZnJlZSksIChnc3RfdmlkZW9taXhlcl9yZXNldCksCgkgIChnc3RfdmlkZW9taXhlcl9pbml0KSwgKGdzdF92aWRlb21peGVyX2ZpbmFsaXplKSwKCSAgKGdzdF92aWRlb21peGVyX3JlcXVlc3RfbmV3X3BhZCksIChnc3RfdmlkZW9taXhlcl9yZWxlYXNlX3BhZCksCgkgIChnc3RfdmlkZW9taXhlcl9jb2xsZWN0ZWQpLCAoZ3N0X3ZpZGVvbWl4ZXJfY2hhbmdlX3N0YXRlKToKCSAgRml4IG1lbWxlYWsgYnkgdW5yZWYnaW5nIGNvbGxlY3RwYWRzIGluc3RhbmNlICh3aGVuIGZpbmFsaXppbmcpCgkgIEltcGxlbWVudCByZWxlYXNpbmcgYSByZXF1ZXN0IHBhZC4gRml4ZXMgIzM3NDQ3OS4KCjIwMDYtMTEtMTAgMjA6MDg6NDIgKzAwMDAgIFNlcmdleSBTY29iaWNoIDxzZXJnZXkuc2NvYmljaEBnbWFpbC5jb20+CgoJICB3aW4zMi92czgvOiBBZGQgVlM4IHByb2plY3QgZmlsZXMgKG5vdGUgdGhhdCBtYW55IG9mIHRoZSBwbHVnaW5zIGluIGV4dCBhcmUgZGlzYWJsZWQgYnkgZGVmYXVsdCkuIEZpeGVzICMzNjY0OTIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2VyZ2V5IFNjb2JpY2ggIDxzZXJnZXkuc2NvYmljaCBhdCBnbWFpbCBjb20+CgkgICogd2luMzIvdnM4L2dzdC1wbHVnaW5zLWdvb2Quc2xuOgoJICAqIHdpbjMyL3ZzOC9saWJnc3QxMzk0LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0YWFzaW5rLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0YWxhdy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGFscGhhLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0YWxwaGFjb2xvci52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGFubm9kZXgudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RhcGV0YWcudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RhdWRpb2Z4LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0YXVwYXJzZS52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGF1dG9kZXRlY3QudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RhdmkudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RjYWNhc2luay52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGNkaW8udmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RjdXR0ZXIudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3Rkdi52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGVmZmVjdHYudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RmbGFjLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0Zmx4ZGVjLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0Z29vbS52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGljeWRlbXV4LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0aWQzZGVtdXgudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RqcGVnLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0bGFkc3BhLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0bGV2ZWwudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RtYXRyb3NrYS52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdG1pa21vZC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdG1uZy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdG1vbm9zY29wZS52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdG11bGF3LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0bXVsdGlwYXJ0LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0cG5nLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0cnRwLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0cnRzcC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHNob3V0Mi52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHNtcHRlLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0c3BlZXgudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3R0YWdsaWIudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3R1ZHAudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3R2aWRlb2JhbGFuY2UudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3R2aWRlb2JveC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHZpZGVvZmxpcC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHZpZGVvbWl4ZXIudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3R3YXZlbmMudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3R3YXZwYXJzZS52Y3Byb2o6CgkgIEFkZCBWUzggcHJvamVjdCBmaWxlcyAobm90ZSB0aGF0IG1hbnkgb2YgdGhlIHBsdWdpbnMgaW4gZXh0IGFyZQoJICBkaXNhYmxlZCBieSBkZWZhdWx0KS4gRml4ZXMgIzM2NjQ5Mi4KCjIwMDYtMTEtMTAgMTk6MTg6MzMgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbTogTGV0J3Mgbm90IGRlcGVuZCBvbiBhIGZpbGUgdGhhdCBkb2Vzbid0IGV4aXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlL01ha2VmaWxlLmFtOgoJICBMZXQncyBub3QgZGVwZW5kIG9uIGEgZmlsZSB0aGF0IGRvZXNuJ3QgZXhpc3QuCgoyMDA2LTExLTEwIDE4OjUxOjEwICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIFJldml2ZSBtdWx0aWZpbGVbc3JjfHNpbmtdLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZS5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgICogZ3N0L211bHRpZmlsZS9tdWx0aWZpbGUudnByb2o6CgkgIFJldml2ZSBtdWx0aWZpbGVbc3JjfHNpbmtdLgoKMjAwNi0xMS0xMCAwODowOTowNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiB3ZSBkbyBub3QgdHJhbnNsYXRlIGRlYnVnIG1lc3NhZ2VzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2dyYWJfZnJhbWUpOgoJICB3ZSBkbyBub3QgdHJhbnNsYXRlIGRlYnVnIG1lc3NhZ2VzCgoyMDA2LTExLTA4IDEyOjA0OjAzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZmx4L2dzdGZseGRlYy5jOiBmaXggY2F0ZWdvcmlzYXRpb24sIG1ha2Ugc2hvcnQgZGVzYyBtb3JlIGV4cGxpY2l0LCByZW1vdmUgdW51c2VkIGNvZGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZseC9nc3RmbHhkZWMuYzogKGdzdF9mbHhkZWNfY2xhc3NfaW5pdCk6CgkgIGZpeCBjYXRlZ29yaXNhdGlvbiwgbWFrZSBzaG9ydCBkZXNjIG1vcmUgZXhwbGljaXQsIHJlbW92ZSB1bnVzZWQgY29kZQoJICBGaXhlcyAjMzcyMDIxCgoyMDA2LTExLTA4IDAxOjMwOjM5ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJICBnc3QvcnRwLzogRml4IGVsZW1lbnQgZGVzY3JpcHRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSAgRml4IGVsZW1lbnQgZGVzY3JpcHRpb25zLgoKMjAwNi0xMS0wOCAwMToyOTo1MSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSAgZ3N0L3J0cC86IEZpeCBkZXNjcmlwdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6IChnc3RfcnRwX3ZvcmJpc19wYXlfaGFuZGxlX2J1ZmZlcik6CgkgIEZpeCBkZXNjcmlwdGlvbi4KCSAgU21hbGwgY2xlYW51cCBpbiB0aGUgcGF5bG9hZGVyLgoKMjAwNi0xMS0wOCAwMToyODowMCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSAgZ3N0L3J0cC86IEFkZCB0aGVvcmEgcGF5L2RlcGF5bG9hZGVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzogKGdzdF9ydHBfdGhlb3JhX2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX3RoZW9yYV9kZXBheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfdGhlb3JhX2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF90aGVvcmFfZGVwYXlfZmluYWxpemUpLAoJICAoZ3N0X3J0cF90aGVvcmFfZGVwYXlfcGFyc2VfY29uZmlndXJhdGlvbiksCgkgIChnc3RfcnRwX3RoZW9yYV9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfdGhlb3JhX2RlcGF5X3N3aXRjaF9jb2RlYm9vayksCgkgIChnc3RfcnRwX3RoZW9yYV9kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfdGhlb3JhX2RlcGF5X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX3RoZW9yYV9kZXBheV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF90aGVvcmFfZGVwYXlfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfdGhlb3JhX2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzogKGdzdF9ydHBfdGhlb3JhX3BheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF90aGVvcmFfcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF90aGVvcmFfcGF5X2luaXQpLAoJICAoZ3N0X3J0cF90aGVvcmFfcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF90aGVvcmFfcGF5X3Jlc2V0X3BhY2tldCksCgkgIChnc3RfcnRwX3RoZW9yYV9wYXlfaW5pdF9wYWNrZXQpLAoJICAoZ3N0X3J0cF90aGVvcmFfcGF5X2ZsdXNoX3BhY2tldCksCgkgIChnc3RfcnRwX3RoZW9yYV9wYXlfZmluaXNoX2hlYWRlcnMpLCAoZ3N0X3J0cF90aGVvcmFfcGF5X3BhcnNlX2lkKSwKCSAgKGdzdF9ydHBfdGhlb3JhX3BheV9oYW5kbGVfYnVmZmVyKSwKCSAgKGdzdF9ydHBfdGhlb3JhX3BheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuaDoKCSAgQWRkIHRoZW9yYSBwYXkvZGVwYXlsb2FkZXJzLgoKMjAwNi0xMS0wNyAwMTo0MzowNiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSAgZ3N0L3J0cC9NYWtlZmlsZS5hbTogV2UgZGVwZW5kIG9uIGdzdHRhZyB0byBnZW5lcmF0ZSB0aGUgdm9yYmlzIGNvbW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICBXZSBkZXBlbmQgb24gZ3N0dGFnIHRvIGdlbmVyYXRlIHRoZSB2b3JiaXMgY29tbWVudHMuCgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJICAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfcGFyc2VfY29uZmlndXJhdGlvbiksCgkgIChnc3RfcnRwX3ZvcmJpc19kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfdm9yYmlzX2RlcGF5X3N3aXRjaF9jb2RlYm9vayksCgkgIChnc3RfcnRwX3ZvcmJpc19kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5Lmg6CgkgIFBhcnNlIGNvbmZpZ3VyYXRpb24gc3RyaW5nIGluIHRoZSBkZXBheWxvYWRlci4KCSAgSW1wbGVtZW50IHNlbGVjdGluZyBhbmQgc3dpdGNoaW5nIHRvIGEgbmV3IGNvZGVib29rLgoJICBSZWNlaXZpbmcgdm9yYmlzIG92ZXIgUlRQIG5vdyB3b3Jrcy4KCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOiAoZ3N0X3J0cF92b3JiaXNfcGF5X3Jlc2V0X3BhY2tldCksCgkgIChnc3RfcnRwX3ZvcmJpc19wYXlfaW5pdF9wYWNrZXQpLAoJICAoZ3N0X3J0cF92b3JiaXNfcGF5X2ZpbmlzaF9oZWFkZXJzKSwKCSAgKGdzdF9ydHBfdm9yYmlzX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5oOgoJICBTZXQgdGltZXN0YW1wcyBvbiBvdXRnb2luZyBidWZmZXJzIGFuZCBSVFAgcGFja2V0cy4KCSAgRml4IGNvbmZpZ3VyYXRpb24gc3RyaW5nLCBwcmVwZW5kIG51bWJlciBvZiBQYWNrZXQgaGVhZGVycy4KCSAgRml4IGVuY29kaW5nIG9mIGlkZW50IHN0cmluZy4KCSAgQWRkIGRlbGl2ZXJ5LW1ldGhvZCB0byBjYXBzLgoJICBTdHJlYW1pbmcgdm9yYmlzIG92ZXIgUlRQIG5vdyB3b3Jrcy4KCjIwMDYtMTEtMDYgMjA6NTI6MTAgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkgIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5Lio6IEdlbmVyYXRlIGEgdmFsaWQgY29uZmlndXJhdGlvbiBzdHJpbmcgaW4gdGhlIGNhcHMgYmFzZWQgb24gdGhlIHZvcmJpcyBoZWFkZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOiAoZ3N0X3J0cF92b3JiaXNfcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF92b3JiaXNfcGF5X2ZpbmlzaF9oZWFkZXJzKSwgKGdzdF9ydHBfdm9yYmlzX3BheV9wYXJzZV9pZCksCgkgIChnc3RfcnRwX3ZvcmJpc19wYXlfaGFuZGxlX2J1ZmZlcik6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuaDoKCSAgR2VuZXJhdGUgYSB2YWxpZCBjb25maWd1cmF0aW9uIHN0cmluZyBpbiB0aGUgY2FwcyBiYXNlZCBvbiB0aGUKCSAgdm9yYmlzIGhlYWRlcnMuCgoyMDA2LTExLTAyIDIwOjEzOjI2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBGaXggZW51bSBuaWNrczsgb25seSBlbWl0IG5vLW1vcmUtcGFkcyBvbmNlOyBhZGQgc3VwcG9ydCBmb3IgdmVyeSBmYXN0IGVuY29kaW5nIG1vZGUgaW4gdXBjb21pbmcgNC40MC4wIHJlbGVhc2UgKCMzNjkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tbyBhdCBjaXJjdWxhci1jaGFvcy5vcmc+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19tb2RlX2dldF90eXBlKSwKCSAgKGdzdF93YXZwYWNrX2VuY19jb3JyZWN0aW9uX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2pvaW50X3N0ZXJlb19tb2RlX2dldF90eXBlKSwKCSAgKGdzdF93YXZwYWNrX2VuY19pbml0KSwgKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKToKCSAgRml4IGVudW0gbmlja3M7IG9ubHkgZW1pdCBuby1tb3JlLXBhZHMgb25jZTsgYWRkIHN1cHBvcnQgZm9yIHZlcnkKCSAgZmFzdCBlbmNvZGluZyBtb2RlIGluIHVwY29taW5nIDQuNDAuMCByZWxlYXNlICgjMzY5NTM5KS4KCjIwMDYtMTEtMDIgMTQ6NDM6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvY2Rpby86IE1vdmUgQ0QtVEVYVCB1dGlsaXR5IGZ1bmN0aW9uIGludG8gY29tbW9uIGZpbGUgc28gaXQgY2FuIGFsc28gYmUgdXNlZCBieSBhIGZ1dHVyZSBjZGlvcGFyYW5vaWFzcmMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jZGlvL2dzdGNkaW8uYzogKGdzdF9jZGlvX2dldF9jZHRleHQpOgoJICAqIGV4dC9jZGlvL2dzdGNkaW8uaDoKCSAgKiBleHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5jOiAoZ3N0X2NkaW9fY2RkYV9zcmNfb3Blbik6CgkgIE1vdmUgQ0QtVEVYVCB1dGlsaXR5IGZ1bmN0aW9uIGludG8gY29tbW9uIGZpbGUgc28gaXQgY2FuIGFsc28gYmUKCSAgdXNlZCBieSBhIGZ1dHVyZSBjZGlvcGFyYW5vaWFzcmMuCgoyMDA2LTExLTAxIDE5OjQ4OjI2ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIEltcHJvdmVkIGNvbW1lbnRzIGluIEVMRU1FTlRfRVJST1IvV0FSTklORyBhbmQgYWRkZWQgIiNpZiAwIiB0byB4b3ZlcmxheSBjb2RlIHRoYXQgaXMgc3RpbGwgbm90IGltcGxlbWVudGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSW1wcm92ZWQgY29tbWVudHMgaW4gRUxFTUVOVF9FUlJPUi9XQVJOSU5HIGFuZCBhZGRlZCAiI2lmIDAiIHRvIHhvdmVybGF5IGNvZGUgdGhhdCBpcyBzdGlsbCBub3QgaW1wbGVtZW50ZWQuCgoyMDA2LTExLTAxIDEzOjU5OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IFdlIHJlcXVpcmUgYSAtYmFzZSBtb3JlIHJlY2VudCB0aGFuIDAuMTAuOSwgc28gaXQncyBzYWZlIHRvIHVzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKHBhcnNlX3BpY3R1cmVfZnJhbWUpOgoJICBXZSByZXF1aXJlIGEgLWJhc2UgbW9yZSByZWNlbnQgdGhhbiAwLjEwLjksIHNvIGl0J3Mgc2FmZSB0byB1c2UKCSAgR1NUX1RZUEVfVEFHX0lNQUdFX1RZUEUgdW5jb25kaXRpb25hbGx5IG5vdy4KCSAgKiBleHQvZHYvZ3N0ZHZkZWMuYzogKGdzdF9kdmRlY19zaW5rX2V2ZW50KToKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6IChnc3RfanBlZ19kZWNfc2lua19ldmVudCk6CgkgIFVzZSBfbmV3c2VnbWVudF9mdWxsKCkgbm93IHRoYXQgd2UgZGVwZW5kIG9uIGEgcmVjZW50IGVub3VnaCBjb3JlLgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBSZW1vdmUgY3J1ZnQgdGhhdCB3ZSBkb24ndCBuZWVkIGFueSBsb25nZXIgbm93IHRoYXQgd2UgZGVwZW5kIG9uCgkgIGEgcmVjZW50IGVub3VnaCAtYmFzZS4KCjIwMDYtMTEtMDEgMTA6MTk6MTggKzAwMDAgIFNlcmdleSBTY29iaWNoIDxzZXJnZXkuc2NvYmljaEBnbWFpbC5jb20+CgoJICBzeXMvOiBXYWl0IHVudGlsIHRoZSB3aW5kb3cgaXMgY3JlYXRlZCBiZWZvcmUgdXNpbmcgaXQ7IGd1YXJkIHVuaXN0ZC5oIGluY2x1ZGVzIHdpdGggSEFWRV9VTklTVERfSC4gKCMzNjY1MjMpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2VyZ2V5IFNjb2JpY2ggIDxzZXJnZXkgZG90IHNjb2JpY2ggYXQgZ21haWwgY29tPgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIChnc3RfZGlyZWN0ZHJhd3Npbmtfd2luZG93X3RocmVhZCksCgkgIChnc3RfZGlyZWN0ZHJhd3NpbmtfY3JlYXRlX2RlZmF1bHRfd2luZG93KToKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgV2FpdCB1bnRpbCB0aGUgd2luZG93IGlzIGNyZWF0ZWQgYmVmb3JlIHVzaW5nIGl0OyBndWFyZCB1bmlzdGQuaAoJICBpbmNsdWRlcyB3aXRoIEhBVkVfVU5JU1REX0guICgjMzY2NTIzKQoJICAqIHdpbjMyL3ZzOC9saWJnc3RkaXJlY3RkcmF3LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0ZGlyZWN0c291bmQudmNwcm9qOgoJICBVcGRhdGUgcHJvamVjdCBmaWxlcy4KCjIwMDYtMTAtMzEgMTA6NTI6MzEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogRml4IGFuZCBhY3RpdmF0ZSBJTEJDIHBheSBhbmQgZGVwYXlsb2FkZXJzLiBGaXhlcyAjMzY4MTYyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6IChnc3RfcnRwaWxiY3BheV9pbml0KSwKCSAgKGdzdF9ydHBpbGJjcGF5X3NldGNhcHMpOgoJICBGaXggYW5kIGFjdGl2YXRlIElMQkMgcGF5IGFuZCBkZXBheWxvYWRlcnMuIEZpeGVzICMzNjgxNjIuCgoyMDA2LTEwLTMxIDEwOjMxOjE4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBIYW5kbGUgdW5ib3VuZGVkIGxlbmd0aCBzdHJlYW1zIGEgYml0IGJldHRlci4gRml4ZXMgIzM2NzY5Ni4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZ2V0X2R1cmF0aW9uKSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAocXRkZW11eF9wYXJzZV90cmVlKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIEhhbmRsZSB1bmJvdW5kZWQgbGVuZ3RoIHN0cmVhbXMgYSBiaXQgYmV0dGVyLiBGaXhlcyAjMzY3Njk2LgoKMjAwNi0xMC0zMSAwOTo0NDozOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiBTb21lIHNtYWxsIGNsZWFudXBzLCB1c2UgX3NjYWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogKHNwZWV4X2RlY19jb252ZXJ0KSwKCSAgKHNwZWV4X2RlY19zaW5rX2V2ZW50KSwgKHNwZWV4X2RlY19jaGFpbl9wYXJzZV9oZWFkZXIpOgoJICBTb21lIHNtYWxsIGNsZWFudXBzLCB1c2UgX3NjYWxlLgoKMjAwNi0xMC0zMSAwOToyOTozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogVXNlIGhpZ2hlciBwcmVjaXNpb24gc2NhbGUgZnVuY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSk6CgkgIFVzZSBoaWdoZXIgcHJlY2lzaW9uIHNjYWxlIGZ1bmN0aW9uLgoKMjAwNi0xMC0zMCAxNjoxODoxOCArMDAwMCAgTWljaGFsIEJlbmVzIDxtaWNoYWwuYmVuZXNAaXRvbmlzLnR2PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IEZpeCBzZXZlcmFsIGlzc3VlcyB3aXRoIGVuY29kZWQvY29tcHJlc3NlZC9lbmNyeXB0ZWQvc2lnbmVkIHRyYWNrczsgYWxzbywgcmVtb3ZlIHN1cGVyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWljaGFsIEJlbmVzICA8bWljaGFsIGRvdCBiZW5lcyBhdCBpdG9uaXMgdHY+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfZW5jb2RpbmdfY21wKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9yZWFkX3RyYWNrX2VuY29kaW5ncyksCgkgIChnc3RfbWF0cm9za2FfZGVjb2RlX2J1ZmZlcik6CgkgIEZpeCBzZXZlcmFsIGlzc3VlcyB3aXRoIGVuY29kZWQvY29tcHJlc3NlZC9lbmNyeXB0ZWQvc2lnbmVkIHRyYWNrczsKCSAgYWxzbywgcmVtb3ZlIHN1cGVyZmx1b3VzIG5ld2xpbmUgY2hhcmFjdGVycyBmcm9tIHNvbWUgZGVidWcKCSAgc3RhdGVtZW50cy4gKCMzNjYxNTUpCgoyMDA2LTEwLTMwIDA5OjI0OjUzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2pwZWcvOiBWYXJpb3VzIGNsZWFudXBzLCBjYXBzbmVnbyBhbmQgbGVhayBmaXhlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOiAoZ3N0X2pwZWdlbmNfZ2V0Y2Fwcyk6CgkgICogZXh0L2pwZWcvZ3N0c21va2VkZWMuYzogKGdzdF9zbW9rZWRlY19jbGFzc19pbml0KSwKCSAgKGdzdF9zbW9rZWRlY19pbml0KSwgKGdzdF9zbW9rZWRlY19maW5hbGl6ZSksIChnc3Rfc21va2VkZWNfY2hhaW4pLAoJICAoZ3N0X3Ntb2tlZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzogKGdzdF9zbW9rZWVuY19jbGFzc19pbml0KSwKCSAgKGdzdF9zbW9rZWVuY19pbml0KSwgKGdzdF9zbW9rZWVuY19maW5hbGl6ZSksCgkgIChnc3Rfc21va2VlbmNfZ2V0Y2FwcyksIChnc3Rfc21va2VlbmNfc2V0Y2FwcyksCgkgIChnc3Rfc21va2VlbmNfcmVzeW5jKSwgKGdzdF9zbW9rZWVuY19jaGFpbiksCgkgIChnc3Rfc21va2VlbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9zbW9rZWVuY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3Ntb2tlZW5jX2NoYW5nZV9zdGF0ZSk6CgkgIFZhcmlvdXMgY2xlYW51cHMsIGNhcHNuZWdvIGFuZCBsZWFrIGZpeGVzLgoKMjAwNi0xMC0zMCAwODoxNzowOCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogRml4IHZpZGVvbWl4ZXIgc28gdGhhdCBpdCBjYW4gaGFuZGxlIGFueSBjb21iaW5hdGlvbiBvZiBmcmFtZXJhdGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgIDxtYW5hdXcgYXQgc2t5bmV0IGJlPgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogKGdzdF92aWRlb21peGVyX3VwZGF0ZV9xdWV1ZXMpOgoJICBGaXggdmlkZW9taXhlciBzbyB0aGF0IGl0IGNhbiBoYW5kbGUgYW55IGNvbWJpbmF0aW9uIG9mIGZyYW1lcmF0ZXMuCgkgIEZpeGVzICMzNjcyMjEuCgoyMDA2LTEwLTI4IDE2OjM3OjIwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBGaXggcG9zaXRpb24gcXVlcnkgZm9yIGF1ZGlvLiBhbHNvIGZpeGVzIHRpbWVzdGFtcHMgaW4gc3RyZWFtaW5nIG1vZGUgYW5kIGJ1ZyAjMzY0OTU4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9maWxlX2hlYWRlciksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9pbml0X3B1c2gpLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyX3B1c2gpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fZGF0YSksCgkgIChnc3RfYXZpX2RlbXV4X2NoYWluKToKCSAgRml4IHBvc2l0aW9uIHF1ZXJ5IGZvciBhdWRpby4gYWxzbyBmaXhlcyB0aW1lc3RhbXBzIGluIHN0cmVhbWluZwoJICBtb2RlIGFuZCBidWcgIzM2NDk1OC4KCSAgU21hbGwgY2xlYW51cHMuCgoyMDA2LTEwLTI3IDE3OjEwOjQyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdlbmMuKjogRml4IHN0cmlkZXMuIEZpeGVzICMzNjQ4NTYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6IChnc3RfcG5nZW5jX3NldGNhcHMpLCAoZ3N0X3BuZ2VuY19jaGFpbik6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdlbmMuaDoKCSAgRml4IHN0cmlkZXMuIEZpeGVzICMzNjQ4NTYuCgkgIENsZWFudXAgY2Fwc25lZ28uCgkgIFNldCBjYXBzIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgoyMDA2LTEwLTE4IDE3OjA2OjIxICswMDAwICBWaWxsZSBTeXJqYWxhIDx2aWxsZS5zeXJqYWxhQG1vdmlhbC5maT4KCgkgIGdzdC9ydHAvOiBBZGQgc3RhdGljIHBheWxvYWQgbnVtYmVycyBpbiBhZGRpdGlvbiB0byB0aGUgZHluYW1pYyBvbmVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFZpbGxlIFN5cmphbGEgPHZpbGxlIGRvdCBzeXJqYWxhIGF0IG1vdmlhbCBkb3QgZmk+CgkgICogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOiAoZ3N0X3J0cF9wY21hX3BheV9mbHVzaCksCgkgIChnc3RfcnRwX3BjbWFfcGF5X2hhbmRsZV9idWZmZXIpOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOiAoZ3N0X3J0cF9wY211X3BheV9mbHVzaCk6CgkgIEFkZCBzdGF0aWMgcGF5bG9hZCBudW1iZXJzIGluIGFkZGl0aW9uIHRvIHRoZSBkeW5hbWljIG9uZXMuCgkgIEZpeGVzICMzNjE2MzkuCgoyMDA2LTEwLTE4IDE2OjE4OjU1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvOiBSZXVzZSBhbHJlYWR5IGV4aXN0aW5nIGVudW0gZm9yIGxvd2VyIHRyYW5zcG9ydC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BfbG93ZXJfdHJhbnNfZ2V0X3R5cGUpLAoJICAoZ3N0X3J0c3BzcmNfY2xhc3NfaW5pdCksIChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKSwKCSAgKGdzdF9ydHNwc3JjX2xvb3BfdWRwKSwgKGdzdF9ydHNwc3JjX29wZW4pLAoJICAoZ3N0X3J0c3BzcmNfdXJpX2dldF9wcm90b2NvbHMpLCAoZ3N0X3J0c3BzcmNfdXJpX3NldF91cmkpOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fY3JlYXRlKToKCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5oOgoJICAqIGdzdC9ydHNwL3J0c3B1cmwuYzogKHJ0c3BfdXJsX3BhcnNlKToKCSAgKiBnc3QvcnRzcC9ydHNwdXJsLmg6CgkgIFJldXNlIGFscmVhZHkgZXhpc3RpbmcgZW51bSBmb3IgbG93ZXIgdHJhbnNwb3J0LgoJICBBZGQgcnRzcHQgYW5kIHJ0c3B1IHByb3RvY29scy4KCSAgU2VuZCByZWRpcmVjdCB0byBydHNwdCB3aGVuIHVkcCB0aW1lcyBvdXQuCgoyMDA2LTEwLTE4IDE0OjAwOjQ0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IEZpeCBzZWVraW5nIHNvbWUgbW9yZSwgbW9zdGx5IGZvciBzcGVlZCBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKToKCSAgRml4IHNlZWtpbmcgc29tZSBtb3JlLCBtb3N0bHkgZm9yIHNwZWVkIGNoYW5nZXMuCgoyMDA2LTEwLTE4IDExOjI4OjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQ2hhbmdlTG9nOgoJICBDaGFuZ2VMb2cgc3VyZ2VyeTogZml4IEZyZWRyaWsncyBlLW1haWwgYWRkcmVzcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ2hhbmdlTG9nIHN1cmdlcnk6IGZpeCBGcmVkcmlrJ3MgZS1tYWlsIGFkZHJlc3MKCjIwMDYtMTAtMTggMTE6MDQ6MDkgKzAwMDAgIEZyZWRyaWsgUGVyc3NvbiA8ZnJlcGVAYnJvYWRiYW5kLm5ldD4KCgkgIHN5cy92NGwyL2dzdHY0bDJ0dW5lci4qOiBGaXggX3NldF9jaGFubmVsKCk6IHJlbW92ZSB1c2VsZXNzIGdfb2JqZWN0X25vdGlmeSgpIGZvciAiY2hhbm5lbCIgcHJvcGVydHkgdGhhdCBkb2Vzbid0IGV4aS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEZyZWRyaWsgUGVyc3NvbiAgPGZyZXBlIGF0IGJyb2FkYmFuZCBuZXQ+CgkgICogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmg6CgkgIEZpeCBfc2V0X2NoYW5uZWwoKTogcmVtb3ZlIHVzZWxlc3MgZ19vYmplY3Rfbm90aWZ5KCkgZm9yICJjaGFubmVsIgoJICBwcm9wZXJ0eSB0aGF0IGRvZXNuJ3QgZXhpc3QgYW55IGxvbmdlciBhbmQgdGhlcmVmb3JlIG5vdyBhbHNvCgkgIHVzZWxlc3MgcmVkaXJlY3QgKCMzMzg4MTgpLgoKMjAwNi0xMC0xNyAxNToxNjo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEFjdGl2YXRlIHBhZHMgYmVmb3JlIGFkZGluZyB0aGVtIHRvIHJ1bm5pbmcgZWxlbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY3JlYXRlX3NyY19wYWQpOgoJICAqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOiAoZ3N0X251dl9kZW11eF9jcmVhdGVfcGFkcyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja3BhcnNlLmM6ICh3YXZwYWNrcGFyc2VfZm91bmRfcGFkKToKCSAgQWN0aXZhdGUgcGFkcyBiZWZvcmUgYWRkaW5nIHRoZW0gdG8gcnVubmluZyBlbGVtZW50LgoKMjAwNi0xMC0xNyAxNDo1NzoxNyArMDAwMCAgSm9zZXAgVG9ycmEgVmFsbGVzIDxqb3NlcEBmbHVlbmRvLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogTWFrZSBjb21waWxlIHdpdGggRm9ydGUgY29tcGlsZXIsIG1vc3RseSBkb24ndCBkbyBwb2ludGVyIGFyaXRobWV0aWMgd2l0aCB2b2lkIHBvaW50ZXJzICgjMzYyNi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvc2VwIFRvcnJhIFZhbGxlcyAgPGpvc2VwIGF0IGZsdWVuZG8gY29tPgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2hhbmRsZV9zaW5rX2V2ZW50KSwKCSAgKG5leHRfZW50cnlfc2l6ZSksIChxdGRlbXV4X2luZmxhdGUpLCAocXRkZW11eF9wYXJzZV9tb292KSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJlZSksIChxdGRlbXV4X3BhcnNlX3RyYWspLCAocXRkZW11eF90YWdfYWRkX3N0ciksCgkgIChxdGRlbXV4X3RhZ19hZGRfbnVtKSwgKHF0ZGVtdXhfdGFnX2FkZF9kYXRlKSwKCSAgKHF0ZGVtdXhfdGFnX2FkZF9nbnJlKToKCSAgTWFrZSBjb21waWxlIHdpdGggRm9ydGUgY29tcGlsZXIsIG1vc3RseSBkb24ndCBkbyBwb2ludGVyIGFyaXRobWV0aWMKCSAgd2l0aCB2b2lkIHBvaW50ZXJzICgjMzYyNjI2KS4KCjIwMDYtMTAtMTcgMTQ6Mzc6NDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBzeXMvb3NzL2dzdG9zc3NpbmsuYzogU29tZSBkcml2ZXJzIGRvIG5vdCBzdXBwb3J0IHVuc2V0dGluZyB0aGUgbm9uLWJsb2NraW5nIGZsYWcgb25jZSB0aGUgZGV2aWNlIGlzIG9wZW5lZC4gSW4gdGhvc2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmM6IChnc3Rfb3NzX3NpbmtfcHJlcGFyZSk6CgkgIFNvbWUgZHJpdmVycyBkbyBub3Qgc3VwcG9ydCB1bnNldHRpbmcgdGhlIG5vbi1ibG9ja2luZyBmbGFnIG9uY2UgdGhlCgkgIGRldmljZSBpcyBvcGVuZWQuIEluIHRob3NlIGNhc2VzLCBjbG9zZS9vcGVuIHRoZSBkZXZpY2UgaW4KCSAgbm9uLWJsb2NraW5nIG1vZGUuIEZpeGVzICMzNjI2NzMuCgoyMDA2LTEwLTE3IDEzOjQ0OjE0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzeXMvdjRsMi86IGRlYXIgc3RlZmFuLCBmcmFtZXNwZXJzZWNvbmQgaXMgbm90IGZyYW1lcGVyaW9kLCByZXZlcnRpbmcgYnV0IGFkZGluZyBjb21tZW50CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogKGdzdF92NGwyX2ZpbGxfbGlzdHMpOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX3NldF9mcHMpLAoJICAoZ3N0X3Y0bDJzcmNfZ2V0X2Zwcyk6CgkgIGRlYXIgc3RlZmFuLCBmcmFtZXNwZXJzZWNvbmQgaXMgbm90IGZyYW1lcGVyaW9kLCByZXZlcnRpbmcgYnV0IGFkZGluZwoJICBjb21tZW50CgoyMDA2LTEwLTE3IDExOjI4OjUwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzeXMvdjRsMi86IE51bWVyYXRvciBpcyBudW1lcmF0b3IgYW5kIGRlbm9taW5hdG9yIGlzIGRlbm9taW5hdG9yLiBTYXkgdGhhdCBhbG91ZCA1IHRpbWVzIGFuZCByZXRyeSBhZnRlciBuZXh0IGJlZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogKGdzdF92NGwyX2ZpbGxfbGlzdHMpOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX3NldF9mcHMpLAoJICAoZ3N0X3Y0bDJzcmNfZ2V0X2Zwcyk6CgkgIE51bWVyYXRvciBpcyBudW1lcmF0b3IgYW5kIGRlbm9taW5hdG9yIGlzIGRlbm9taW5hdG9yLiBTYXkgdGhhdCBhbG91ZAoJICA1IHRpbWVzIGFuZCByZXRyeSBhZnRlciBuZXh0IGJlZXIuCgoyMDA2LTEwLTE3IDEwOjU5OjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC4qOiBBdm9pZCB2b2lkIHBvaW50ZXIgdXNhZ2UsIGJldHRlciB1c2UgZ3VpbnQ4ICogaW5zdGVhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV9tb292KSwgKHF0ZGVtdXhfcGFyc2UpLAoJICAocXRkZW11eF9ub2RlX2R1bXBfZm9yZWFjaCksIChxdGRlbXV4X2R1bXBfbXZoZCksCgkgIChxdGRlbXV4X2R1bXBfdGtoZCksIChxdGRlbXV4X2R1bXBfZWxzdCksIChxdGRlbXV4X2R1bXBfbWRoZCksCgkgIChxdGRlbXV4X2R1bXBfaGRsciksIChxdGRlbXV4X2R1bXBfdm1oZCksIChxdGRlbXV4X2R1bXBfZHJlZiksCgkgIChxdGRlbXV4X2R1bXBfc3RzZCksIChxdGRlbXV4X2R1bXBfc3R0cyksIChxdGRlbXV4X2R1bXBfc3RzcyksCgkgIChxdGRlbXV4X2R1bXBfc3RzYyksIChxdGRlbXV4X2R1bXBfc3RzeiksIChxdGRlbXV4X2R1bXBfc3RjbyksCgkgIChxdGRlbXV4X2R1bXBfY282NCksIChxdGRlbXV4X2R1bXBfZGNvbSksIChxdGRlbXV4X2R1bXBfY212ZCksCgkgIChxdGRlbXV4X2R1bXBfdW5rbm93biksIChxdGRlbXV4X3RyZWVfZ2V0X2NoaWxkX2J5X3R5cGUpLAoJICAocXRkZW11eF90cmVlX2dldF9zaWJsaW5nX2J5X3R5cGUpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgQXZvaWQgdm9pZCBwb2ludGVyIHVzYWdlLCBiZXR0ZXIgdXNlIGd1aW50OCAqIGluc3RlYWQuCgoyMDA2LTEwLTE2IDE4OjIyOjQ3ICswMDAwICBKb3NlcCBUb3JyYSBWYWxsZXMgPGpvc2VwQGZsdWVuZG8uY29tPgoKCSAgRml4IGEgYnVuY2ggb2YgcHJvYmxlbXMgZGlzY292ZXJlZCBieSB0aGUgRm9ydGUgY29tcGlsZXIsIG1vc3RseSB0eXBlIG1peHVwcyBhbmQgcG9pbnRlciBhcml0aG1ldGljcyB3aXRoIHZvaWQgcG9pbnRlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9zZXAgVG9ycmEgVmFsbGVzICA8am9zZXAgYXQgZmx1ZW5kbyBjb20+CgkgICogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5LmM6IChnc3RfY2Fpcm9fdGltZV9vdmVybGF5X3RyYW5zZm9ybSk6CgkgICogZXh0L2VzZC9lc2RzaW5rLmM6IChnc3RfZXNkc2lua193cml0ZSk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX2xlbmd0aCksCgkgIChnc3RfZmxhY19kZWNfcmVhZF9zZWVrYWJsZSksIChnc3RfZmxhY19kZWNfY2hhaW4pLAoJICAoZ3N0X2ZsYWNfZGVjX3NlbmRfbmV3c2VnbWVudCk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiAoZ3N0X2ZsYWNfZW5jX3NlZWtfY2FsbGJhY2spLAoJICAoZ3N0X2ZsYWNfZW5jX3RlbGxfY2FsbGJhY2spOgoJICAqIGV4dC9qcGVnL3Ntb2tlY29kZWMuYzogKGZpbmRfYmVzdF9zaXplKSwgKHNtb2tlY29kZWNfZW5jb2RlKSwKCSAgKHNtb2tlY29kZWNfcGFyc2VfaGVhZGVyKSwgKHNtb2tlY29kZWNfZGVjb2RlKToKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aV9tdXhfd3JpdGVfYXZpeF9pbmRleCk6CgkgICogZ3N0L2RlYnVnL2VmZW5jZS5jOiAoZ3N0X2ZlbmNlZF9idWZmZXJfYWxsb2MpOgoJICAqIGdzdC9nb29tL01ha2VmaWxlLmFtOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzogKGdzdF9pY3lkZW11eF90eXBlZmluZF9vcl9mb3J3YXJkKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9yZWFkKToKCSAgKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2NoYW5nZV9zdGF0ZSk6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJ0cmFjay5oOgoJICBGaXggYSBidW5jaCBvZiBwcm9ibGVtcyBkaXNjb3ZlcmVkIGJ5IHRoZSBGb3J0ZSBjb21waWxlciwgbW9zdGx5IHR5cGUKCSAgbWl4dXBzIGFuZCBwb2ludGVyIGFyaXRobWV0aWNzIHdpdGggdm9pZCBwb2ludGVycy4gRml4ZXMgIzM2MjYwMy4KCjIwMDYtMTAtMTIgMTk6MDI6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvc3BlZXgvOiBNaXNjZWxsYW5lb3VzIGNsZWFuLXVwcywgYW1vbmcgb3RoZXIgdGhpbmdzOiBzcGVleGVuYyA9PiBlbmMgdG8gZW5oYW5jZSBjb2RlIHJlYWRhYmlsaXR5OyBjaGFuZ2Ugc3BlZXhlbmMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4LmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IChnc3Rfc3BlZXhfZW5jX2dldF9mb3JtYXRzKSwKCSAgKGdzdF9zcGVleF9lbmNfc2V0dXBfaW50ZXJmYWNlcyksIChnc3Rfc3BlZXhfZW5jX2Jhc2VfaW5pdCksCgkgIChnc3Rfc3BlZXhfZW5jX2NsYXNzX2luaXQpLCAoZ3N0X3NwZWV4X2VuY19maW5hbGl6ZSksCgkgIChnc3Rfc3BlZXhfZW5jX3Npbmtfc2V0Y2FwcyksIChnc3Rfc3BlZXhfZW5jX2NvbnZlcnRfc3JjKSwKCSAgKGdzdF9zcGVleF9lbmNfY29udmVydF9zaW5rKSwgKGdzdF9zcGVleF9lbmNfZ2V0X3F1ZXJ5X3R5cGVzKSwKCSAgKGdzdF9zcGVleF9lbmNfc3JjX3F1ZXJ5KSwgKGdzdF9zcGVleF9lbmNfc2lua19xdWVyeSksCgkgIChnc3Rfc3BlZXhfZW5jX2luaXQpLCAoZ3N0X3NwZWV4X2VuY19jcmVhdGVfbWV0YWRhdGFfYnVmZmVyKSwKCSAgKGdzdF9zcGVleF9lbmNfc2V0X2xhc3RfbXNnKSwgKGdzdF9zcGVleF9lbmNfc2V0dXApLAoJICAoZ3N0X3NwZWV4X2VuY19idWZmZXJfZnJvbV9kYXRhKSwgKGdzdF9zcGVleF9lbmNfcHVzaF9idWZmZXIpLAoJICAoZ3N0X3NwZWV4X2VuY19zZXRfaGVhZGVyX29uX2NhcHMpLCAoZ3N0X3NwZWV4X2VuY19zaW5rZXZlbnQpLAoJICAoZ3N0X3NwZWV4X2VuY19jaGFpbiksIChnc3Rfc3BlZXhfZW5jX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfc3BlZXhfZW5jX3NldF9wcm9wZXJ0eSksIChnc3Rfc3BlZXhfZW5jX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmg6CgkgIE1pc2NlbGxhbmVvdXMgY2xlYW4tdXBzLCBhbW9uZyBvdGhlciB0aGluZ3M6IHNwZWV4ZW5jID0+IGVuYyB0bwoJICBlbmhhbmNlIGNvZGUgcmVhZGFiaWxpdHk7IGNoYW5nZSBzcGVleGVuYyA9PiBzcGVleF9lbmM7IGluIGNoYWluCgkgIGZ1bmN0aW9uIHVucmVmIGlucHV0IGJ1ZmZlciBpbiBjYXNlIG9mIGVycm9yOyB0YWtlIHJlZmVyZW5jZSBpbgoJICBldmVudCBmdW5jdGlvbjsgdXNlIGJvaWxlcnBsYXRlIG1hY3JvOyB1c2UgZ3N0X3BhZF9xdWVyeV9wZWVyXyoKCSAgY29udmVuaWVuY2UgZnVuY3Rpb25zLgoKMjAwNi0xMC0xMiAxODozNToxMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiBGaXggc29tZSBtZW0gbGVha3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiAoZ3N0X3NwZWV4ZW5jX2ZpbmFsaXplKSwKCSAgKGdzdF9zcGVleGVuY19zZXRfbGFzdF9tc2cpLCAoZ3N0X3NwZWV4ZW5jX3NldHVwKSwKCSAgKGdzdF9zcGVleGVuY19zZXRfaGVhZGVyX29uX2NhcHMpOgoJICBGaXggc29tZSBtZW0gbGVha3MuCgoyMDA2LTEwLTExIDE2OjIxOjUzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvVVJMUzogQWRkZWQgc29tZSBvdGhlciBVUkwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL1VSTFM6CgkgIEFkZGVkIHNvbWUgb3RoZXIgVVJMLgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2xvb3BfdWRwKSwKCSAgKGdzdF9ydHNwc3JjX2hhbmRsZV9yZXF1ZXN0KSwgKGdzdF9ydHNwc3JjX3NlbmQpLAoJICAoZ3N0X3J0c3BzcmNfb3BlbiksIChnc3RfcnRzcHNyY19wbGF5KSwKCSAgKGdzdF9ydHNwc3JjX2hhbmRsZV9tZXNzYWdlKSwgKGdzdF9ydHNwc3JjX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBXb3JrIG9uIGZhbGxiYWNrIHRvIFRDUCBjb25uZWN0aW9uIHdoZW4gdGhlIFVEUCBzb2NrZXQgdGltZXMgb3V0LgoJICBIYW5kbGVyIHNlcnZlciByZXF1ZXN0cywganVzdCByZXBseSB3aXRoIE9LIGZvciBub3cuCgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuYzogKHJ0c3Bfc3RycmVzdWx0KToKCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5oOgoJICBBZGRlZCBzb21lIG1vcmUgUmVhbCBleHRlbnNpb24gaGVhZGVycy4KCSAgKiBnc3QvcnRzcC9ydHNwdXJsLmM6IChydHNwX3VybF9wYXJzZSk6CgkgIEZpeCBwYXJzaW5nIG9mIHVybHMgd2l0aCBhICc6JyB0aGF0IGlzIG5vdCBwYXJ0IG9mIHRoZSBob3N0bmFtZTpwb3J0CgkgIHBhcnQgb2YgdGhlIHVybC4KCjIwMDYtMTAtMTEgMTM6NDk6MjYgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBzb21lIGZvdXJjYyBmb3IgRFYgZm9ybWF0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBBZGQgc29tZSBmb3VyY2MgZm9yIERWIGZvcm1hdC4KCjIwMDYtMTAtMTEgMTM6MjQ6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvOiBBY3RpdmF0ZSBwYWQgYmVmb3JlIGFkZGluZyBpdCB0byB0aGUgYWxyZWFkeS1ydW5uaW5nIGVsZW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzogKGdzdF90YWdfZGVtdXhfYWRkX3NyY3BhZCk6CgkgICogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6IChnc3RfaWN5ZGVtdXhfYWRkX3NyY3BhZCk6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfYWRkX3NyY3BhZCk6CgkgIEFjdGl2YXRlIHBhZCBiZWZvcmUgYWRkaW5nIGl0IHRvIHRoZSBhbHJlYWR5LXJ1bm5pbmcgZWxlbWVudC4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pY3lkZW11eC5jOiAoaWN5ZGVtdXhfZm91bmRfcGFkKToKCSAgQWN0aXZhdGUgbmV3bHktY3JlYXRlZCBwYWQgdG9vLgoKMjAwNi0xMC0xMSAwODozNDoxNCArMDAwMCAgU2ViYXN0aWVuIENvdGUgPHNlYmFzNjQyQHlhaG9vLmNhPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuYzogRml4IHNvbWUgbGVha3MgaW4gY2FwcyBhbmQgdXJpcy4gRml4ZXMgIzM2MTI1Mi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpZW4gQ290ZSA8c2ViYXM2NDIgYXQgeWFob28gZG90IGNhPgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3VkcHNyY19maW5hbGl6ZSksIChnc3RfdWRwc3JjX2NyZWF0ZSksIChnc3RfdWRwc3JjX3NldF91cmkpLAoJICAoZ3N0X3VkcHNyY19zdGFydCk6CgkgIEZpeCBzb21lIGxlYWtzIGluIGNhcHMgYW5kIHVyaXMuIEZpeGVzICMzNjEyNTIuCgoyMDA2LTEwLTEwIDE4OjU0OjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBQcmludGYgZm9ybWF0IGZpeGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChleHRyYWN0X2luaXRpYWxfbGVuZ3RoX2FuZF9mb3VyY2MpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIpOgoJICBQcmludGYgZm9ybWF0IGZpeGVzLgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIFVzZSAiX3N0ZGludC5oIi4KCjIwMDYtMTAtMTAgMDk6NTc6MTkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFJlb3JnYW5pc2Ugc29tZSBzdHVmZi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaW5pdCksCgkgIChnc3RfcXRkZW11eF9wdXNoX2V2ZW50KSwgKGdzdF9xdGRlbXV4X2RvX3NlZWspLAoJICAoZ3N0X3F0ZGVtdXhfY2hhbmdlX3N0YXRlKSwgKGV4dHJhY3RfaW5pdGlhbF9sZW5ndGhfYW5kX2ZvdXJjYyksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlciksIChnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50KSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpLCAoZ3N0X3F0ZGVtdXhfbG9vcCksCgkgIChnc3RfcXRkZW11eF9wb3N0X2J1ZmZlcmluZyksIChnc3RfcXRkZW11eF9jaGFpbiksCgkgIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwgKHF0ZGVtdXhfcHJvY2Vzc19yZWRpcmVjdHMpLAoJICAocXRkZW11eF9wYXJzZV90cmVlKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIFJlb3JnYW5pc2Ugc29tZSBzdHVmZi4KCSAgUGFyc2UgUlRTUCByZWRpcmVjdGlvbiBVUkxTLgoKMjAwNi0xMC0xMCAwODoyOTowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9NYWtlZmlsZS5hbTogRml4IGNvcHknbidwYXN0ZS1vIChzcG90dGVkIGJ5IE1hcmsgTmF1d2VsYWVydHMsICMzNDE0ODkpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvTWFrZWZpbGUuYW06CgkgIEZpeCBjb3B5J24ncGFzdGUtbyAoc3BvdHRlZCBieSBNYXJrIE5hdXdlbGFlcnRzLCAjMzQxNDg5KS4KCjIwMDYtMTAtMDkgMDc6MDE6MTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5Lio6IEZpeCBidWlsZCBhcyBwZXIgdGhlIHBhdGNoIGluICMzMzg4MTggY29tbWVudCAzNi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5Lmg6CgkgIEZpeCBidWlsZCBhcyBwZXIgdGhlIHBhdGNoIGluICMzMzg4MTggY29tbWVudCAzNi4KCjIwMDYtMTAtMDggMjA6MDU6MTMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJICBpbnNwZWN0IHVwZGF0ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGluc3BlY3QgdXBkYXRlcwoKMjAwNi0xMC0wNyAyMToxNTo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogQWN0aXZhdGUgcGFkcyBiZWZvcmUgYWRkaW5nIHRoZW0gdG8gdGhlIHNvdXJjZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpOgoJICBBY3RpdmF0ZSBwYWRzIGJlZm9yZSBhZGRpbmcgdGhlbSB0byB0aGUgc291cmNlLgoKMjAwNi0xMC0wNyAxMTozNzo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZC91cGRhdGUgZG9jcyBzdHVmZi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zd2ZkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSAgQWRkL3VwZGF0ZSBkb2NzIHN0dWZmLgoKMjAwNi0xMC0wNiAxNzowMDoxNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIEFjdGl2YXRlIHBhZHMgYmVmb3JlIGFkZGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2FkZF9wYWRzKSwgKGdzdF9kdmRlbXV4X2NoYWluKToKCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6IChnc3RfYXVfcGFyc2VfYWRkX3NyY3BhZCk6CgkgIEFjdGl2YXRlIHBhZHMgYmVmb3JlIGFkZGluZy4KCjIwMDYtMTAtMDYgMTY6MDM6MjMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6IEFjdGl2YXRlIHBhZHMgYmVmb3JlIGFkZGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOiAoZ3N0X211bHRpcGFydF9kZW11eF9pbml0KSwKCSAgKGdzdF9tdWx0aXBhcnRfZmluZF9wYWRfYnlfbWltZSk6CgkgIEFjdGl2YXRlIHBhZHMgYmVmb3JlIGFkZGluZy4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOiAoZ3N0X3J0cF9tcDR2X2RlcGF5X2NsYXNzX2luaXQpOgoJICBCT0lMRVJQTEFURSBzZXRzIHBhcmVudF9jbGFzcyBmb3IgdXMuCgoyMDA2LTEwLTA2IDE1OjU2OjAxICswMDAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgQWRkIFJlcGxheUdhaW4gYW5hbHlzaXMgZWxlbWVudCAoIzM1NzA2OSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUmVuw6kgU3RhZGxlciAgPG1haWwgYXQgcmVuZXN0YWRsZXIgZGU+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZ3N0L3JlcGxheWdhaW4vTWFrZWZpbGUuYW06CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOiAoZ3N0X3JnX2FuYWx5c2lzX2Jhc2VfaW5pdCksCgkgIChnc3RfcmdfYW5hbHlzaXNfY2xhc3NfaW5pdCksIChnc3RfcmdfYW5hbHlzaXNfaW5pdCksCgkgIChnc3RfcmdfYW5hbHlzaXNfc2V0X3Byb3BlcnR5KSwgKGdzdF9yZ19hbmFseXNpc19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX3N0YXJ0KSwgKGdzdF9yZ19hbmFseXNpc19zZXRfY2FwcyksCgkgIChnc3RfcmdfYW5hbHlzaXNfdHJhbnNmb3JtX2lwKSwgKGdzdF9yZ19hbmFseXNpc19ldmVudCksCgkgIChnc3RfcmdfYW5hbHlzaXNfc3RvcCksIChnc3RfcmdfYW5hbHlzaXNfaGFuZGxlX3RhZ3MpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX2hhbmRsZV9lb3MpLCAoZ3N0X3JnX2FuYWx5c2lzX3RyYWNrX3Jlc3VsdCksCgkgIChnc3RfcmdfYW5hbHlzaXNfYWxidW1fcmVzdWx0KSwgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmg6CgkgICogZ3N0L3JlcGxheWdhaW4vcmdhbmFseXNpcy5jOiAoeXVsZV9maWx0ZXIpLCAoYnV0dGVyX2ZpbHRlciksCgkgIChhcHBseV9maWx0ZXJzKSwgKHJlc2V0X2ZpbHRlcnMpLCAoYWNjdW11bGF0b3JfYWRkKSwKCSAgKGFjY3VtdWxhdG9yX2NsZWFyKSwgKGFjY3VtdWxhdG9yX3Jlc3VsdCksIChyZ19hbmFseXNpc19uZXcpLAoJICAocmdfYW5hbHlzaXNfc2V0X3NhbXBsZV9yYXRlKSwgKHJnX2FuYWx5c2lzX2Rlc3Ryb3kpLAoJICAocmdfYW5hbHlzaXNfYW5hbHl6ZV9tb25vX2Zsb2F0KSwKCSAgKHJnX2FuYWx5c2lzX2FuYWx5emVfc3RlcmVvX2Zsb2F0KSwKCSAgKHJnX2FuYWx5c2lzX2FuYWx5emVfbW9ub19pbnQxNiksCgkgIChyZ19hbmFseXNpc19hbmFseXplX3N0ZXJlb19pbnQxNiksIChyZ19hbmFseXNpc19hbmFseXplKSwKCSAgKHJnX2FuYWx5c2lzX3RyYWNrX3Jlc3VsdCksIChyZ19hbmFseXNpc19hbGJ1bV9yZXN1bHQpLAoJICAocmdfYW5hbHlzaXNfcmVzZXRfYWxidW0pLCAocmdfYW5hbHlzaXNfcmVzZXQpOgoJICAqIGdzdC9yZXBsYXlnYWluL3JnYW5hbHlzaXMuaDoKCSAgQWRkIFJlcGxheUdhaW4gYW5hbHlzaXMgZWxlbWVudCAoIzM1NzA2OSkuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6IChnZXRfZXhwZWN0ZWRfZ2FpbiksCgkgIChzZXR1cF9yZ2FuYWx5c2lzKSwgKGNsZWFudXBfcmdhbmFseXNpcyksIChzZXRfcGxheWluZ19zdGF0ZSksCgkgIChzZW5kX2Vvc19ldmVudCksIChzZW5kX3RhZ19ldmVudCksIChwb2xsX2VvcyksIChwb2xsX3RhZ3MpLAoJICAoZmFpbF91bmxlc3NfdHJhY2tfZ2FpbiksIChmYWlsX3VubGVzc190cmFja19wZWFrKSwKCSAgKGZhaWxfdW5sZXNzX2FsYnVtX2dhaW4pLCAoZmFpbF91bmxlc3NfYWxidW1fcGVhayksCgkgIChmYWlsX2lmX3RyYWNrX3RhZ3MpLCAoZmFpbF9pZl9hbGJ1bV90YWdzKSwKCSAgKGZhaWxfdW5sZXNzX251bV90cmFja3MpLCAodGVzdF9idWZmZXJfY29uc3RfZmxvYXRfbW9ubyksCgkgICh0ZXN0X2J1ZmZlcl9jb25zdF9mbG9hdF9zdGVyZW8pLCAodGVzdF9idWZmZXJfY29uc3RfaW50MTZfbW9ubyksCgkgICh0ZXN0X2J1ZmZlcl9jb25zdF9pbnQxNl9zdGVyZW8pLCAodGVzdF9idWZmZXJfc3F1YXJlX2Zsb2F0X21vbm8pLAoJICAodGVzdF9idWZmZXJfc3F1YXJlX2Zsb2F0X3N0ZXJlbyksICh0ZXN0X2J1ZmZlcl9zcXVhcmVfaW50MTZfbW9ubyksCgkgICh0ZXN0X2J1ZmZlcl9zcXVhcmVfaW50MTZfc3RlcmVvKSwgKHB1c2hfYnVmZmVyKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKHJnYW5hbHlzaXNfc3VpdGUpLCAobWFpbik6CgkgIFVuaXQgdGVzdHMgZm9yIHRoZSBuZXcgcmVwbGF5Z2FpbiBlbGVtZW50LgoKMjAwNi0xMC0wNiAxNTo0OTozOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogU29tZSBjbGVhbnVwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfc2V0Y2FwcyksIChnc3RfZmFhZF9jaGFpbiksCgkgIChnc3RfZmFhZF9jbG9zZV9kZWNvZGVyKToKCSAgU29tZSBjbGVhbnVwcy4KCSAgQWRkZWQgc29tZSBtb3JlIGRlYnVnZ2luZy4KCSAgRG9uJ3QgZXZlciBpZ25vcmUgdW5saW5rZWQsIHdlJ3JlIG5vdCBhIGRlbXV4ZXIuCgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSk6CgkgIEFjdGl2YXRlIHBhZCBiZWZvcmUgYWRkaW5nIGl0IHRvIHRoZSBlbGVtZW50LgoKMjAwNi0xMC0wNiAxMjo1NTo1MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuKjogUmV3b3JrIGhvdyB0aGUgdHJhbnNwb3J0IHN0cmluZyBpcyBjb25zdHJ1Y3RlZCwgdHJ5IHRvIHNoYXJlIGNoYW5uZWxzIGFuZCB1ZHAgcG9ydHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwX3Byb3RvX2dldF90eXBlKSwKCSAgKGdzdF9ydHNwc3JjX2NsYXNzX2luaXQpLCAoZ3N0X3J0c3BzcmNfaW5pdCksCgkgIChnc3RfcnRzcHNyY19jcmVhdGVfc3RyZWFtKSwgKGdzdF9ydHNwc3JjX21lZGlhX3RvX2NhcHMpLAoJICAoZ3N0X3J0c3BzcmNfYWxsb2NfdWRwX3BvcnRzKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwgKGZpbmRfc3RyZWFtX2J5X2NoYW5uZWwpLAoJICAoZ3N0X3J0c3BzcmNfcHVzaF9ldmVudCksIChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKSwKCSAgKGdzdF9ydHNwc3JjX2NyZWF0ZV90cmFuc3BvcnRzX3N0cmluZyksCgkgIChnc3RfcnRzcHNyY19jb25maWd1cmVfdHJhbnNwb3J0cyksIChnc3RfcnRzcHNyY19vcGVuKSwKCSAgKGdzdF9ydHNwc3JjX2hhbmRsZV9tZXNzYWdlKSwgKGdzdF9ydHNwc3JjX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBSZXdvcmsgaG93IHRoZSB0cmFuc3BvcnQgc3RyaW5nIGlzIGNvbnN0cnVjdGVkLCB0cnkgdG8gc2hhcmUgY2hhbm5lbHMKCSAgYW5kIHVkcCBwb3J0cy4KCSAgTWFrZSBtb3N0IG9mIHRoZSBzdHVmZiBsZXNzIGRlcGVuZGFudCBvbiBSVFAgYXMgd2UgYXJlIGFsc28gZ29pbmcgdG8gdXNlCgkgIGl0IGZvciBSRFQuCgkgIEFkZCBzdXBwb3J0IGZvciB0cmFuc3BvcnQgc3BlY2lmaWMgc2Vzc2lvbiBtYW5hZ2Vycy4KCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX2ZsdXNoKToKCSAgSW1wbGVtZW50IF9mbHVzaCgpLgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmM6IChydHNwX3N0cnJlc3VsdCk6CgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuaDoKCSAgQWRkIGdlbmVyaWMgZXJyb3IgcmV0dXJuIGNvZGUuCgkgICogZ3N0L3J0c3AvcnRzcGV4dC5oOgoJICBBZGQgc3VwcG9ydCBmb3IgcGx1Z2dhYmxlIHRyYW5wb3J0IHN0cmluZ3MuCgkgICogZ3N0L3J0c3AvcnRzcGV4dHdtcy5jOiAocnRzcF9leHRfd21zX2JlZm9yZV9zZW5kKSwKCSAgKHJ0c3BfZXh0X3dtc19hZnRlcl9zZW5kKSwgKHJ0c3BfZXh0X3dtc19wYXJzZV9zZHApLAoJICAocnRzcF9leHRfd21zX2dldF9jb250ZXh0KToKCSAgRGV0ZWN0IFdNU2VydmVyIGFuZCBhY3RpdmF0ZSB0aGUgZXh0ZW5zaW9uLgoJICAqIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuYzogKHJ0c3BfdHJhbnNwb3J0X2dldF9taW1lKSwKCSAgKHJ0c3BfdHJhbnNwb3J0X2dldF9tYW5hZ2VyKSwgKHJ0c3BfdHJhbnNwb3J0X3BhcnNlKToKCSAgKiBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0Lmg6CgkgIEFkZGVkIG1ldGhvZHMgdG8gZ2V0IG1pbWUvbWFuYWdlciBmb3IgY2VydGFpbiB0cmFuc3BvcnRzLgoKMjAwNi0xMC0wNiAxMTozMToxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBGaXggbWVtIGxlYWssIGF2b2lkIHVubmVjZXNzYXJ5IG1lbWNweS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgRml4IG1lbSBsZWFrLCBhdm9pZCB1bm5lY2Vzc2FyeSBtZW1jcHkuCgoyMDA2LTEwLTA2IDAyOjI5OjM1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogUmVtb3ZlZCBjcnVmdCBjb2RlIHRoYXQgd2FzIGp1c3QgY29tbWVudGVkIG91dC4gUmVtb3ZlZCBzb21lIG9ic29sZXRlIGRlYnVnIGxvZ3Mgc3RhdGVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1faW5pdCksCgkgIChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgUmVtb3ZlZCBjcnVmdCBjb2RlIHRoYXQgd2FzIGp1c3QgY29tbWVudGVkIG91dC4gUmVtb3ZlZCBzb21lIG9ic29sZXRlCgkgIGRlYnVnIGxvZ3Mgc3RhdGVtZW50cy4KCjIwMDYtMTAtMDUgMTg6MTQ6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBBbm90aGVyIGJhdGNoIG9mIHByaW50ZiBmb3JtYXQgZml4ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6IChnc3RfZHRzZGVjX2NoYWluKToKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6IChnc3RfdHJtX3NldGNhcHMpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19zaW5rX3NldF9jYXBzKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9jaGFpbiksIChxdGRlbXV4X3BhcnNlKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgQW5vdGhlciBiYXRjaCBvZiBwcmludGYgZm9ybWF0IGZpeGVzLgoKMjAwNi0xMC0wNSAxNjozNzozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFByaW50ZiBmb3JtYXQgZml4ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5jOgoJICAoZ3N0X2NhaXJvX3RpbWVfb3ZlcmxheV91cGRhdGVfZm9udF9oZWlnaHQpOgoJICAqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6IChnc3RfcGl4YnVmc2NhbGVfdHJhbnNmb3JtX2NhcHMpOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogKGdzdF9qcGVnX2RlY19wYXJzZV9pbWFnZV9kYXRhKToKCSAgKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6IChnc3RfanBlZ2VuY19jaGFpbik6CgkgICogZXh0L2pwZWcvZ3N0c21va2VkZWMuYzogKGdzdF9zbW9rZWRlY19jaGFpbik6CgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzogKGdzdF9zbW9rZWVuY19jaGFpbik6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKHVzZXJfZW5kcm93X2NhbGxiYWNrKToKCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6IChnc3RfYXVfcGFyc2VfcGFyc2VfaGVhZGVyKToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3BhcnNlX3N1cGVyaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdWJpbmRleCksIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9kYXRhKToKCSAgKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOiAoZ3N0X2N1dHRlcl9jaGFpbik6CgkgICogZ3N0L2RlYnVnL2VmZW5jZS5jOiAoZ3N0X2VmZW5jZV9idWZmZXJfYWxsb2MpLAoJICAoZ3N0X2ZlbmNlZF9idWZmZXJfY29weSk6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChpZDNkZW11eF9pZDN2Ml9wYXJzZV9mcmFtZSk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3N0cmVhbSk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9zdGFydCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc2VuZCksCgkgIChnc3RfcnRzcHNyY19oYW5kbGVfbWVzc2FnZSk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpOgoJICAqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOiAoeGltYWdldXRpbF94Y29udGV4dF9nZXQpOgoJICBQcmludGYgZm9ybWF0IGZpeGVzLgoKMjAwNi0xMC0wNCAyMjozNzowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLio6IEhhbmRsZSBwYWNrZWQgWVVWIGZvcm1hdHMgKFVZVlksIFlVWTIsIFlVWVYpIHNlcGFyYXRlbHk7IGFsc28sIGZpeCBwYXNzdGhyb3VnaCBtb2RlOyBsYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOiAoZ3N0X3ZpZGVvX2Nyb3BfY2xhc3NfaW5pdCksCgkgIChnc3RfdmlkZW9fY3JvcF9pbml0KSwKCSAgKGdzdF92aWRlb19jcm9wX2dldF9pbWFnZV9kZXRhaWxzX2Zyb21fY2FwcyksCgkgIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fcGFja2VkX2NvbXBsZXgpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX3BhY2tlZF9zaW1wbGUpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtKSwgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9jYXBzKSwKCSAgKGdzdF92aWRlb19jcm9wX3NldF9jYXBzKSwKCSAgKGdzdF92aWRlb2Nyb3BfY2xlYXJfbmVnb3RpYXRlZF9jYXBzX2xvY2tlZCksCgkgIChnc3RfdmlkZW9fY3JvcF9zZXRfcHJvcGVydHkpOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmg6CgkgIEhhbmRsZSBwYWNrZWQgWVVWIGZvcm1hdHMgKFVZVlksIFlVWTIsIFlVWVYpIHNlcGFyYXRlbHk7IGFsc28sIGZpeAoJICBwYXNzdGhyb3VnaCBtb2RlOyBsYXN0bHksIGNsZWFyIG5lZ290aWF0ZWQgYmFzZXRyYW5zZm9ybSBjYXBzIHdoZW4KCSAgdGhlIGNyb3BwaW5nIGNoYW5nZXMgaW4gb3JkZXIgdG8gZm9yY2UgcmVuZWdvdGlhdGlvbi4KCjIwMDYtMTAtMDQgMjA6MDU6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9pY2xlcy86IFZpc3VhbCB0ZXN0IGZvciB2aWRlb2Nyb3AsIHNob3dzIHRoYXQgcGFja2VkIHl1diBkb2Vzbid0IHdvcmsgcmlnaHQgeWV0LiAtLXdpdGgtZmZtcGVnY29sb3JzcGFjZSBvcHRpb24uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOiAocXVpdF9tYWlubG9vcCksICh0aWNrX2NiKSwKCSAgKHRlc3Rfd2l0aF9jYXBzKSwgKHZpZGVvX2Nyb3BfZ2V0X3Rlc3RfY2FwcyksIChtYWluKToKCSAgVmlzdWFsIHRlc3QgZm9yIHZpZGVvY3JvcCwgc2hvd3MgdGhhdCBwYWNrZWQgeXV2IGRvZXNuJ3Qgd29yayByaWdodAoJICB5ZXQuIC0td2l0aC1mZm1wZWdjb2xvcnNwYWNlIG9wdGlvbiBkb2Vzbid0IHdvcmsgeWV0IGZvciB1bmtub3duCgkgIHJlYXNvbnMgKGFub3RoZXIgYmFzZXRyYW5zZm9ybSBpc3N1ZT8pCgoyMDA2LTEwLTA0IDE3OjUzOjEyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvTWFrZWZpbGUuYW06IERpc3QgbmV3IC5oIGZpbGUgdG9vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9NYWtlZmlsZS5hbToKCSAgRGlzdCBuZXcgLmggZmlsZSB0b28uCgoyMDA2LTEwLTA0IDE3OjI0OjQwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvOiBGYWN0b3Igb3V0IGV4dGVuc2lvbiBpbiBzZXBhcmF0ZSBtb2R1bGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOiAoZ3N0X3J0cGRlY19nZXRjYXBzKSwKCSAgKGdzdF9ydHBkZWNfY2hhaW5fcnRwKSwgKGdzdF9ydHBkZWNfY2hhaW5fcnRjcCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfaW5pdCksCgkgIChnc3RfcnRzcHNyY19maW5hbGl6ZSksIChnc3RfcnRzcHNyY19jcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX3J0cG1hcCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksIChnc3RfcnRzcHNyY19zZW5kKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX21ldGhvZHMpLCAoZ3N0X3J0c3BzcmNfb3BlbiksCgkgIChnc3RfcnRzcHNyY19wbGF5KSwgKGdzdF9ydHNwc3JjX2hhbmRsZV9tZXNzYWdlKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuYzogKHJ0c3Bfc3RycmVzdWx0KToKCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5oOgoJICAqIGdzdC9ydHNwL3J0c3BleHQuaDoKCSAgKiBnc3QvcnRzcC9ydHNwZXh0d21zLmM6IChydHNwX2V4dF93bXNfcGFyc2Vfc2RwKSwKCSAgKHJ0c3BfZXh0X3dtc19nZXRfY29udGV4dCk6CgkgICogZ3N0L3J0c3AvcnRzcGV4dHdtcy5oOgoJICAqIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuYzogKHJ0c3BfdHJhbnNwb3J0X2luaXQpLCAocGFyc2VfbW9kZSksCgkgIChydHNwX3RyYW5zcG9ydF9wYXJzZSk6CgkgICogZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5oOgoJICBGYWN0b3Igb3V0IGV4dGVuc2lvbiBpbiBzZXBhcmF0ZSBtb2R1bGUuCgkgIEZpeCBnZXRjYXBzIHRvIGZpbHRlciBhZ2FpbnN0IHRoZSBwYWR0ZW1wbGF0ZS4KCSAgVXNlIENvbnRlbnQtQmFzZSBpZiB0aGUgc2VydmVyIGdpdmVzIG9uZS4KCSAgUmV3b3JrIHRoZSB0cmFuc3BvcnQgcGFyc2luZyBhIGJpdCBmb3IgZnV0dXJlIGV4dGVuc2lvbnMuCgkgIEFkZGVkIHNvbWUgUmVhbCBIZWFkZXIgZmllbGQgZGVmaW5pdGlvbnMuCgoyMDA2LTEwLTA0IDEwOjI5OjExICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGRvY3MvcGx1Z2lucy86IGFkZGVkIHY0bDIgc3R1YnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBhZGRlZCB2NGwyIHN0dWJzCgkgICogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBhZGQgdjRsMgoKMjAwNi0xMC0wNCAxMDoyNDo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzogRXh0cmFjdCBkaXNjL2FsYnVtL21lZGl1bSBudW1iZXIgYW5kIGNvdW50IGFuZCB0cnkgaGFyZGVyIHRvIGV4dHJhY3QgdHJhY2sgbnVtYmVyL2NvdW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6IChhcGVfZGVtdXhfcGFyc2VfdGFncyk6CgkgIEV4dHJhY3QgZGlzYy9hbGJ1bS9tZWRpdW0gbnVtYmVyIGFuZCBjb3VudCBhbmQgdHJ5IGhhcmRlcgoJICB0byBleHRyYWN0IHRyYWNrIG51bWJlci9jb3VudC4KCjIwMDYtMTAtMDMgMTg6MzY6MjkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogdGVzdHMvaWNsZXMvLmdpdGlnbm9yZToKCSAgbW9hcCBpZ25vcmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG1vYXAgaWdub3JlCgoyMDA2LTEwLTAzIDE4OjM1OjM0ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICBhZGQgaWNsZSBmb3IgdjRsMgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGljbGUgZm9yIHY0bDIKCjIwMDYtMTAtMDMgMTg6MTU6NTggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgYWRkIGJ1aWxkIHN0dWZmIGZvciB2NGwyLCBuZWVkcyAtLWVuYWJsZS1leHBlcmltZW50YWwgdW50aWwgdGhlIGxhc3QgYml0cyBhcmUgcmVzb2x2ZWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgYWRkIGJ1aWxkIHN0dWZmIGZvciB2NGwyLCBuZWVkcyAtLWVuYWJsZS1leHBlcmltZW50YWwgdW50aWwKCSAgdGhlIGxhc3QgYml0cyBhcmUgcmVzb2x2ZWQKCjIwMDYtMTAtMDMgMTM6NDc6MTAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICBjb21tZW50IG91dCB0aGUgbm90aWZpZXMgZm9yIHJlbW92ZWQgcHJvcGVydGllcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY29tbWVudCBvdXQgdGhlIG5vdGlmaWVzIGZvciByZW1vdmVkIHByb3BlcnRpZXMKCjIwMDYtMTAtMDMgMTM6MzA6NDggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOiBjb21tZW50IG91dCB0aGUgcHJvcGVydGllcyB0aGF0IGFyZSBhbHJlYWR5IHBhcnQgb2YgdGhlIHR1bmVyIGludGVyZmFjZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICAoZ3N0X3Y0bDJfb2JqZWN0X2luc3RhbGxfcHJvcGVydGllc19oZWxwZXIpOgoJICBjb21tZW50IG91dCB0aGUgcHJvcGVydGllcyB0aGF0IGFyZSBhbHJlYWR5IHBhcnQgb2YgdGhlIHR1bmVyCgkgIGludGVyZmFjZS4KCjIwMDYtMTAtMDMgMTM6MTg6NTkgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IEltcHJvdmUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMTAtMDMgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIEltcHJvdmUgZG9jcy4KCjIwMDYtMTAtMDIgMTY6MTQ6MDYgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgc3RvcCByZW1vdmluZyBnZGtwaXhidWYgcGx1Z2luIGZyb20gcGFja2FnZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgc3RvcCByZW1vdmluZyBnZGtwaXhidWYgcGx1Z2luIGZyb20gcGFja2FnZQoKMjAwNi0wOS0yOSAxNTozOTo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBEaXNhYmxlIGF1dG9kZXRlY3QgdGVzdCB0ZW1wb3JhcmlseSwgc28gdGhhdCB0aGUgYnVpbGQgYm90cyB1cGRhdGUgLWJhZCBhbmQgdGhlIHJhbmtzIG9mIHVuci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgRGlzYWJsZSBhdXRvZGV0ZWN0IHRlc3QgdGVtcG9yYXJpbHksIHNvIHRoYXQgdGhlIGJ1aWxkIGJvdHMKCSAgdXBkYXRlIC1iYWQgYW5kIHRoZSByYW5rcyBvZiB1bnJlbGlhYmxlIHZpZGVvIHNpbmtzIGluIHRoZXJlLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9kZXRlY3QuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgU2tpcCB0ZXN0IGlmIG5vIHVzYWJsZSB2aWRlb3NpbmsgaXMgZm91bmQuCgoyMDA2LTA5LTI5IDE1OjM3OjI5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvVVJMUzogQWRkIHNvbWUgbW9yZSBVUkxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9VUkxTOgoJICBBZGQgc29tZSBtb3JlIFVSTHMuCgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRzcHNyY19pbml0KSwgKGdzdF9ydHNwc3JjX2ZpbmFsaXplKSwKCSAgKGdzdF9ydHNwc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfcnRzcHNyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX3NldHVwX3J0cCksIChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKSwKCSAgKGdzdF9ydHNwc3JjX2xvb3BfdWRwKSwgKGdzdF9ydHNwc3JjX2xvb3Bfc2VuZF9jbWQpLAoJICAoZ3N0X3J0c3BzcmNfbG9vcCksIChnc3RfcnRzcHNyY19zZW5kKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX21ldGhvZHMpLCAoZ3N0X3J0c3BzcmNfb3BlbiksCgkgIChnc3RfcnRzcHNyY19jbG9zZSksIChnc3RfcnRzcHNyY19wbGF5KSwgKGdzdF9ydHNwc3JjX3BhdXNlKSwKCSAgKGdzdF9ydHNwc3JjX2hhbmRsZV9tZXNzYWdlKSwgKGdzdF9ydHNwc3JjX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBBZGQgdGltZW91dCBwcm9wZXJ0eSB0byBjb250cm9sIFVEUCB0aW1lb3V0cy4KCSAgRml4IGVycm9yIG1lc3NhZ2VzLgoJICBBbHNvIHN0YXJ0IGEgbG9vcCBmdW5jdGlvbiB3aGVuIG9wZXJhdGluZyBpbiBVRFAgbW9kZSBzbyB0aGF0IHdlIGNhbgoJICBkbyBzb21lIG1vcmUgc3R1ZmYgYXN5bmMuCgkgIEhhbmRsZSBlbGVtZW50IG1lc3NhZ2VzIGZyb20gdWRwc3JjIHRvIGRldGVjdCB0aW1lb3V0cy4gSWYgYSB0aW1lb3V0CgkgIGhhcHBlbnMgd2UgY3VycmVudGx5IGdlbmVyYXRlIGFuIGVycm9yLgoJICBBUEk6IHJ0c3BzcmM6OnRpbWVvdXQgcHJvcGVydHkuCgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfdWRwc3JjX2NyZWF0ZSk6CgkgIFJlYWxseSBpbXBsZW1lbnQgdGhlIHRpbWVvdXQgaW4gbWljcm9zZWNvbmRzIGFuZCBub3QgbWlsbGlzZWNvbmRzLgoKMjAwNi0wOS0yOSAxMTowOTo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLio6IEFkZGVkIHByb3BlcnR5IHRvIHBvc3QgYSBtZXNzYWdlIG9uIHRpbWVvdXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NsYXNzX2luaXQpLCAoZ3N0X3VkcHNyY19pbml0KSwKCSAgKGdzdF91ZHBzcmNfY3JlYXRlKSwgKGdzdF91ZHBzcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF91ZHBzcmNfZ2V0X3Byb3BlcnR5KSwgKGdzdF91ZHBzcmNfdW5sb2NrKSwgKGdzdF91ZHBzcmNfc3RvcCk6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuaDoKCSAgQWRkZWQgcHJvcGVydHkgdG8gcG9zdCBhIG1lc3NhZ2Ugb24gdGltZW91dC4KCSAgVXBkYXRlZCBkb2NzLgoJICBXaGVuIHJlc3RhcnRpbmcgdGhlIHNlbGVjdCwgaW5pdGlhbGl6ZSB0aGUgZmRzZXRzIGFnYWluLgoJICBJbml0IGNvbnRyb2wgc29ja2V0cyBzbyB3ZSBkb24ndCBhY2NpZGVudGFsbHkgY2xvc2UgYSByYW5kb20gc29ja2V0LgoJICBBUEk6IEdzdFVEUFNyYzo6dGltZW91dCBwcm9wZXJ0eQoKMjAwNi0wOS0yOSAwODoxNTowNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogRml4IGZsYWcgcmVnaXN0cmF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcF9wcm90b19nZXRfdHlwZSk6CgkgIEZpeCBmbGFnIHJlZ2lzdHJhdGlvbi4KCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX3JlYWQpOgoJICBSZWFkaW5nIDAgYWxzbyBtZWFucyAnbm8gbW9yZSBjb21tYW5kcycKCjIwMDYtMDktMjkgMDg6MDk6MjQgKzAwMDAgIEFudG9pbmUgVHJlbWJsYXkgPGhleGEwMEBnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy5jOiBGaXggcG9zc2libGUgaW5maW5pdGUgbG9vcCB3aGVuIHNodXR0aW5nIGRvd24sIGEgcmVhZCBjYW4gYWxzbyByZXR1cm4gMCB0byBpbmRpY2F0ZSBubyBtb3JlIG1lc3MuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBbnRvaW5lIFRyZW1ibGF5IDxoZXhhMDAgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jcmVhdGUpOgoJICBGaXggcG9zc2libGUgaW5maW5pdGUgbG9vcCB3aGVuIHNodXR0aW5nIGRvd24sIGEgcmVhZCBjYW4gYWxzbyByZXR1cm4KCSAgMCB0byBpbmRpY2F0ZSBubyBtb3JlIG1lc3NhZ2VzIGFyZSBhdmFpbGFibGUuIEZpeGVzICMzNTgxNTYuCgoyMDA2LTA5LTI4IDE3OjA4OjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL3Y0bDIvOiBGcmFtZXJhdGUgY2FuIGJlIDAvMSB0b28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2dldF9hbGxfY2FwcyksCgkgIChnc3RfdjRsMnNyY19nZXRfY2Fwcyk6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiAoZ3N0X3Y0bDJfZmlsbF9saXN0cyk6CgkgIEZyYW1lcmF0ZSBjYW4gYmUgMC8xIHRvby4KCSAgSW5pdCBmcmFtZXJhdGUgdG8gMC8xIGJlZm9yZSBxdWVyeWluZyBpdCBzbyB0aGF0IHdlIGNhbiBkZXRlY3QKCSAgZGV2aWNlcyB0aGF0IGRvbid0IGtub3cgYWJvdXQgYSBmcmFtZXJhdGUuCgkgIEFkZCBzb21lIG1vcmUgZGVidWdnaW5nIGluZm8uCgoyMDA2LTA5LTI4IDE0OjMxOjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgc3VwcG9ydCBmb3IgJ3l2MTInIGZvdXJjYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF92aWRlb19jYXBzKToKCSAgQWRkIHN1cHBvcnQgZm9yICd5djEyJyBmb3VyY2MuCgoyMDA2LTA5LTI3IDE3OjQ3OjU3ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIFJlbW92ZWQgc2V0LXVuZGVmLWZwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbW92ZWQgc2V0LXVuZGVmLWZwcy4KCjIwMDYtMDktMjcgMTc6MDQ6MjIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBzeXMvdjRsMi86IFJlbmFtZWQgc29tZSBwcm9wZXJ0aWVzIHRvIG1hdGNoIHRoZSB0dW5lciBpbnRlcmZhY2UgbmFtaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIChnc3RfdjRsMl9vYmplY3RfaW5zdGFsbF9wcm9wZXJ0aWVzX2hlbHBlciksIChnc3RfdjRsMl9vYmplY3RfbmV3KSwKCSAgKGdzdF92NGwyX29iamVjdF9zZXRfcHJvcGVydHlfaGVscGVyKSwKCSAgKGdzdF92NGwyX29iamVjdF9nZXRfcHJvcGVydHlfaGVscGVyKSwgKGdzdF92NGwyX3NldF9kZWZhdWx0cyk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3Y0bDJzcmNfY3JlYXRlKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzogKGdzdF92NGwyX3R1bmVyX2NvbnRhaW5zX2NoYW5uZWwpLAoJICAoZ3N0X3Y0bDJfdHVuZXJfbGlzdF9jaGFubmVscyksCgkgIChnc3RfdjRsMl90dW5lcl9zZXRfY2hhbm5lbF9hbmRfbm90aWZ5KSwKCSAgKGdzdF92NGwyX3R1bmVyX2dldF9jaGFubmVsKSwgKGdzdF92NGwyX3R1bmVyX2NvbnRhaW5zX25vcm0pLAoJICAoZ3N0X3Y0bDJfdHVuZXJfbGlzdF9ub3JtcyksIChnc3RfdjRsMl90dW5lcl9zZXRfbm9ybV9hbmRfbm90aWZ5KSwKCSAgKGdzdF92NGwyX3R1bmVyX2dldF9ub3JtKToKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IChnc3RfdjRsMl9nZXRfY2FwYWJpbGl0aWVzKSwKCSAgKGdzdF92NGwyX2ZpbGxfbGlzdHMpLCAoZ3N0X3Y0bDJfZW1wdHlfbGlzdHMpOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2dldF9mcHMpOgoJICBSZW5hbWVkIHNvbWUgcHJvcGVydGllcyB0byBtYXRjaCB0aGUgdHVuZXIgaW50ZXJmYWNlIG5hbWluZy4KCjIwMDYtMDktMjcgMTY6MTQ6MTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBTbWFsbCBjbGVhbnVwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOiAoZ3N0X3Y0bDJfb2JqZWN0X3NldF9wcm9wZXJ0eV9oZWxwZXIpLAoJICAoZ3N0X3Y0bDJfc2V0X2RlZmF1bHRzKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19nZXRfcmVhZCksCgkgIChnc3RfdjRsMnNyY19jcmVhdGUpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOiAoZ3N0X3Y0bDJfeG92ZXJsYXlfb3Blbik6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiAoZ3N0X3Y0bDJfZ2V0X2NhcGFiaWxpdGllcyksCgkgIChnc3RfdjRsMl9maWxsX2xpc3RzKSwgKGdzdF92NGwyX29wZW4pLCAoZ3N0X3Y0bDJfc2V0X25vcm0pLAoJICAoZ3N0X3Y0bDJfZ2V0X2ZyZXF1ZW5jeSksIChnc3RfdjRsMl9zZXRfZnJlcXVlbmN5KSwKCSAgKGdzdF92NGwyX3NpZ25hbF9zdHJlbmd0aCksIChnc3RfdjRsMl9nZXRfYXR0cmlidXRlKSwKCSAgKGdzdF92NGwyX3NldF9hdHRyaWJ1dGUpLCAoZ3N0X3Y0bDJfZ2V0X2lucHV0KSwKCSAgKGdzdF92NGwyX3NldF9pbnB1dCk6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfZmlsbF9mb3JtYXRfbGlzdCksCgkgIChnc3RfdjRsMnNyY19ncmFiX2ZyYW1lKSwgKGdzdF92NGwyc3JjX2dldF9jYXB0dXJlKSwKCSAgKGdzdF92NGwyc3JjX3NldF9jYXB0dXJlKSwgKGdzdF92NGwyc3JjX2NhcHR1cmVfaW5pdCksCgkgIChnc3RfdjRsMnNyY19jYXB0dXJlX3N0YXJ0KSwgKGdzdF92NGwyc3JjX2NhcHR1cmVfc3RvcCksCgkgIChnc3RfdjRsMnNyY19idWZmZXJfbmV3KToKCSAgKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzogKG15X2J1c19jYWxsYmFjayksIChtYWluKToKCSAgU21hbGwgY2xlYW51cHMuCgkgIEZpeCBlcnJvciBtZXNzYWdlcy4KCSAgVXNlIGxvY2tzIHdoZW4gZ2V0dGluZyB0aW1lc3RhbXBzLgoJICBGaXggbGVha3MgaW4gdGVzdC4KCSAgQWRkIGxpY2Vuc2luZyBoZWFkZXIgdG8gdGVzdHMuCgoyMDA2LTA5LTI3IDE1OjE0OjA3ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJICBTb21lIGNsZWFudXBzIGFuZCBjb21tZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNvbWUgY2xlYW51cHMgYW5kIGNvbW1lbnRzLgoKMjAwNi0wOS0yNyAxMzo0MTozNSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBhZGQgYXVkaW9meCBwbHVnaW4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBhdWRpb2Z4IHBsdWdpbgoKMjAwNi0wOS0yNiAxNDoxNzo1NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCB2NGwyIHBsdWdpbiB0byB0aGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgQWRkIHY0bDIgcGx1Z2luIHRvIHRoZSBkb2NzLgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2dldF9yZWFkKSwKCSAgKGdzdF92NGwyc3JjX2dldF9tbWFwKSwgKGdzdF92NGwyc3JjX2NyZWF0ZSk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ2aWRvcmllbnQuYzoKCSAgRml4IGRvY3MuCgkgIFJlbW92ZSBzb21lIG1vcmUgZXh0ZXJucy4KCjIwMDYtMDktMjYgMTM6MTg6MDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBzeXMvdjRsMi9NYWtlZmlsZS5hbTogRml4IG1ha2VmaWxlLCBsaXN0IGxpYnMgaW4gc3RhY2sgb3JkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJICBGaXggbWFrZWZpbGUsIGxpc3QgbGlicyBpbiBzdGFjayBvcmRlci4KCSAgKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzogKGdzdF92NGwyX2RldmljZV9nZXRfdHlwZSksCgkgIChnc3RfdjRsMl9vYmplY3RfaW5zdGFsbF9wcm9wZXJ0aWVzX2hlbHBlcik6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2dldF9yZWFkKSwKCSAgKGdzdF92NGwyc3JjX2dldF9tbWFwKSwgKGdzdF92NGwyc3JjX2NyZWF0ZSk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ2aWRvcmllbnQuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuaDoKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICBGaXggY29kaW5nIHN0eWxlOgoJICAtIFJlbW92ZSBleHRlcm4gZnJvbSBmdW5jdGlvbnMuCgkgIC0gRml4IGhlYWRlciBpbmRlbnRhdGlvbi4KCSAgRml4IEZsYWdzLCBhZGQgZGVmYXVsdHMgZm9yIHByb3BlcnRpZXMuCgkgIFJlbW92ZSB1bnVzZWQgZW51bXMuCgkgIEZpeCBUT09fTEFaWSBpbiBlcnJvciBtZXNzYWdlcy4KCjIwMDYtMDktMjYgMTE6MDY6MTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBzeXMvdjRsMi86IEZpeCBwYXNzIGF0IGNvZGUgY2xlYW51cHMsIG1vdmUgZXJyb3JzIGNhc2VzIG91dCBvZiB0aGUgbm9ybWFsIGZsb3cgZm9yIGFkZGl0aW9uYWwgY29kZSBjbGFyaXR5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6IChnc3RfdjRsMl9jbGFzc19wcm9iZV9kZXZpY2VzKSwKCSAgKGdzdF92NGwyX3Byb2JlX25lZWRzX3Byb2JlKSwKCSAgKGdzdF92NGwyX29iamVjdF9pbnN0YWxsX3Byb3BlcnRpZXNfaGVscGVyKSwgKGdzdF92NGwyX29iamVjdF9uZXcpLAoJICAoZ3N0X3Y0bDJfb2JqZWN0X2Rlc3Ryb3kpLCAoZ3N0X3Y0bDJfb2JqZWN0X3NldF9wcm9wZXJ0eV9oZWxwZXIpLAoJICAoZ3N0X3Y0bDJfb2JqZWN0X2dldF9wcm9wZXJ0eV9oZWxwZXIpLCAoZ3N0X3Y0bDJfc2V0X2RlZmF1bHRzKSwKCSAgKGdzdF92NGwyX29iamVjdF9zdGFydCksIChnc3RfdjRsMl9vYmplY3Rfc3RvcCk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3Y0bDJzcmNfaW5pdCksIChnc3RfdjRsMnNyY19kaXNwb3NlKSwKCSAgKGdzdF92NGwyc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfdjRsMnNyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3Y0bDJzcmNfZml4YXRlKSwgKGdzdF92NGwyc3JjX2dldF9jYXBzKSwKCSAgKGdzdF92NGwyc3JjX3NldF9jYXBzKSwgKGdzdF92NGwyc3JjX2dldF9yZWFkKSwKCSAgKGdzdF92NGwyc3JjX2dldF9tbWFwKSwgKGdzdF92NGwyc3JjX2NyZWF0ZSk6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiAoZ3N0X3Y0bDJfZ2V0X2NhcGFiaWxpdGllcyksCgkgIChnc3RfdjRsMl9vcGVuKSwgKGdzdF92NGwyX2Nsb3NlKSwgKGdzdF92NGwyX2dldF9ub3JtKSwKCSAgKGdzdF92NGwyX3NldF9ub3JtKSwgKGdzdF92NGwyX2dldF9mcmVxdWVuY3kpLAoJICAoZ3N0X3Y0bDJfc2V0X2ZyZXF1ZW5jeSksIChnc3RfdjRsMl9zaWduYWxfc3RyZW5ndGgpLAoJICAoZ3N0X3Y0bDJfZ2V0X2F0dHJpYnV0ZSksIChnc3RfdjRsMl9zZXRfYXR0cmlidXRlKSwKCSAgKGdzdF92NGwyX2dldF9pbnB1dCksIChnc3RfdjRsMl9zZXRfaW5wdXQpOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2ZpbGxfZm9ybWF0X2xpc3QpLAoJICAoZ3N0X3Y0bDJzcmNfcXVldWVfZnJhbWUpLCAoZ3N0X3Y0bDJzcmNfZ3JhYl9mcmFtZSksCgkgIChnc3RfdjRsMnNyY19nZXRfY2FwdHVyZSksIChnc3RfdjRsMnNyY19zZXRfY2FwdHVyZSksCgkgIChnc3RfdjRsMnNyY19jYXB0dXJlX2luaXQpLCAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9zdGFydCksCgkgIChnc3RfdjRsMnNyY19jYXB0dXJlX3N0b3ApLCAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9kZWluaXQpLAoJICAoZ3N0X3Y0bDJzcmNfZ2V0X3NpemVfbGltaXRzKSwgKGdzdF92NGwyc3JjX3NldF9mcHMpLAoJICAoZ3N0X3Y0bDJzcmNfZ2V0X2ZwcyksIChnc3RfdjRsMnNyY19idWZmZXJfZmluYWxpemUpLAoJICAoZ3N0X3Y0bDJzcmNfYnVmZmVyX25ldyk6CgkgIEZpeCBwYXNzIGF0IGNvZGUgY2xlYW51cHMsIG1vdmUgZXJyb3JzIGNhc2VzIG91dCBvZiB0aGUgbm9ybWFsCgkgIGZsb3cgZm9yIGFkZGl0aW9uYWwgY29kZSBjbGFyaXR5LgoKMjAwNi0wOS0yNSAxMzo1NTo0NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdXRvZGV0ZWN0LzogU21hbGwgY2xlYW51cHMuIGRvbid0IHRyeSB0byBzZXQgInN5bmMiIHByb3BlcnR5IHdoZW4gaXQgaXMgbm90IGF2YWlsYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19iYXNlX2luaXQpLCAoZ3N0X2F1dG9fYXVkaW9fc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfZmluZF9iZXN0KToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6IChnc3RfYXV0b192aWRlb19zaW5rX2RldGVjdCk6CgkgIFNtYWxsIGNsZWFudXBzLgoJICBkb24ndCB0cnkgdG8gc2V0ICJzeW5jIiBwcm9wZXJ0eSB3aGVuIGl0IGlzIG5vdCBhdmFpbGFibGUuCgoyMDA2LTA5LTI1IDExOjQ3OjQyICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC86IEluY2x1ZGUgc3RkbGliLmggaW4gc29tZSBtb3JlIHBsYWNlcywgbWFrZXMgdGhpbmdzIGNvbXBpbGUgd2l0aCB1Q2xpYmMgYW5kIC1XZXJyb3IgKCMzNTc1OTIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFBldGVyIEtqZWxsZXJzdGVkdCAgPHBraiBhdCBheGlzIGNvbT4KCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICBJbmNsdWRlIHN0ZGxpYi5oIGluIHNvbWUgbW9yZSBwbGFjZXMsIG1ha2VzIHRoaW5ncyBjb21waWxlCgkgIHdpdGggdUNsaWJjIGFuZCAtV2Vycm9yICgjMzU3NTkyKS4KCjIwMDYtMDktMjUgMDk6MTU6MTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvanBlZy9nc3RqcGVnZGVjLmM6IG91ciBjb2RlIHNob3VsZCBoYW5kbGUgdGhhdCBmaW5lLiBTb21lIG9mIHRoZSBidXR0b25zIG9uIHRoZSBhcHBsZSB0cmFpbGVyIHNpdGUgYXJlIGFwcGFyZW50bHkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBTZXQgbWluaW11bSBoZWlnaHQgdG8gOCAoZnJvbSAxNiksIG91ciBjb2RlIHNob3VsZCBoYW5kbGUKCSAgdGhhdCBmaW5lLiBTb21lIG9mIHRoZSBidXR0b25zIG9uIHRoZSBhcHBsZSB0cmFpbGVyIHNpdGUKCSAgYXJlIGFwcGFyZW50bHkgb25seSAxNSBwaXhlbHMgaGlnaCAoc2VlICMzNTc0NzApLgoKMjAwNi0wOS0yMyAxNTozMTo1NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwLzogSW1wcm92ZSBlcnJvciByZXBvcnRpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2xvb3ApLCAoZ3N0X3J0c3BzcmNfc2VuZCksCgkgIChnc3RfcnRzcHNyY19vcGVuKToKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX2NyZWF0ZSksCgkgIChydHNwX2Nvbm5lY3Rpb25fY29ubmVjdCksIChydHNwX2Nvbm5lY3Rpb25fcmVhZCksIChyZWFkX2JvZHkpLAoJICAocnRzcF9jb25uZWN0aW9uX3JlY2VpdmUpOgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmM6IChydHNwX3N0cnJlc3VsdCk6CgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuaDoKCSAgSW1wcm92ZSBlcnJvciByZXBvcnRpbmcuCgoyMDA2LTA5LTIzIDE1OjMwOjQwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEZpeCBrbGFzcyB0eXBvcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzogKGdzdF9hc3Rlcmlza2gyNjNfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzogKGdzdF9ydHBfTDE2ZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzogKGdzdF9ydHBfYW1yX2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOiAoZ3N0X3J0cF9nc21fZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOiAoZ3N0X3J0cF9oMjYzcF9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogKGdzdF9ydHBfaDI2NF9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzogKGdzdF9ydHBfaWxiY19kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzogKGdzdF9ydHBfbXAydF9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfbXAydF9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzogKGdzdF9ydHBfbXA0Z19kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzogKGdzdF9ydHBfbXA0dl9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOiAoZ3N0X3J0cF9tcGFfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6IChnc3RfcnRwX3BjbWFfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6IChnc3RfcnRwX3BjbXVfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOiAoZ3N0X3J0cF9zcGVleF9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzogKGdzdF9ydHBfc3Yzdl9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOiAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfcGx1Z2luX2luaXQpOgoJICBGaXgga2xhc3MgdHlwb3MuCgkgIE1hcmsgUkFOS19NQVJHSU5BTCwgZGVjb2RlYmluIGNhbiBoYW5kbGUgdGhlIGRlcGF5bG9hZGVycyBmaW5lLgoKMjAwNi0wOS0yMiAxNzo1Mzo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogTmVlZCAgLWJhc2UgQ1ZTIGZvciBnc3RfYmFzZV9ydHBfZGVwYXlsb2FkX3B1c2hfdHMoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBOZWVkICAtYmFzZSBDVlMgZm9yIGdzdF9iYXNlX3J0cF9kZXBheWxvYWRfcHVzaF90cygpLgoKMjAwNi0wOS0yMiAxNzoyMjozNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogRG9uJ3QgY2hlY2sgZm9yIGEgdGFnIHRoYXQgaXMgbmV2ZXIgdGhlcmUgYW5kIGNoZWNrIGlmIHdlIHJlYWQgdGhlIGNvcnJlY3QgdGFnLiBGaXhlcyBzZWVraW5nIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3N0cmVhbV9pbmRleCk6CgkgIERvbid0IGNoZWNrIGZvciBhIHRhZyB0aGF0IGlzIG5ldmVyIHRoZXJlIGFuZCBjaGVjayBpZiB3ZSByZWFkIHRoZQoJICBjb3JyZWN0IHRhZy4gRml4ZXMgc2Vla2luZyBhZ2Fpbi4KCSAgV2UgbXVzdCBwb3N0IGFuIGVycm9yIHdoZW4gYWxsIHBhZHMgYXJlIHVubGlua2VkLgoKMjAwNi0wOS0yMiAxNToxNToxMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBNb3JlIGZpeGFnZSwgc2V0IGVuZG9kZXItcGFyYW1zIGNvcnJlY3RseSBpbiB0aGUgcGF5bG9hZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOiAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzogKGdzdF9ydHBfdm9yYmlzX3BheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfdm9yYmlzX3BheV9yZXNldF9wYWNrZXQpLAoJICAoZ3N0X3J0cF92b3JiaXNfcGF5X2luaXRfcGFja2V0KSwKCSAgKGdzdF9ydHBfdm9yYmlzX3BheV9mbHVzaF9wYWNrZXQpLCAoZ3N0X3J0cF92b3JiaXNfcGF5X3BhcnNlX2lkKSwKCSAgKGdzdF9ydHBfdm9yYmlzX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgTW9yZSBmaXhhZ2UsIHNldCBlbmRvZGVyLXBhcmFtcyBjb3JyZWN0bHkgaW4gdGhlIHBheWxvYWRlci4KCjIwMDYtMDktMjIgMTI6MTI6MTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXV0b2RldGVjdC86IE1ha2Ugc3RhdGljIHBhZCB0ZW1wbGF0ZXMgc3RhdGljIHRvIGFwcGVhc2UgdmFsZ3JpbmQncyBsZWFrIGRldGVjdG9yLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkgIChnc3RfYXV0b19hdWRpb19zaW5rX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19iYXNlX2luaXQpOgoJICBNYWtlIHN0YXRpYyBwYWQgdGVtcGxhdGVzIHN0YXRpYyB0byBhcHBlYXNlIHZhbGdyaW5kJ3MgbGVhawoJICBkZXRlY3Rvci4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9kZXRlY3QuYzogKEdTVF9TVEFSVF9URVNUKSwKCSAgKGF1dG9kZXRlY3Rfc3VpdGUpOgoJICBBZGQgc2ltcGxlIHRlc3QgZm9yIHRoZSBnaG9zdHBhZCBsb2NrdXAgb24gc2h1dGRvd24gZml4ZWQgaW4gY29yZQoJICBDVlMgKGF1ZGlvIGJpdCBkaXNhYmxlZCBiZWNhdXNlIGl0IHdvdWxkIG5lZWQgZG96ZW5zIG9mIGFsc2EKCSAgc3VwcHJlc3Npb25zIGFuZCBJJ20gdG9vIGxhenkgdG8gYWRkIHRob3NlIG5vdykuCgoyMDA2LTA5LTIyIDEyOjA4OjE0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IFNtYWxsIGNsZWFudXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6IChnc3RfcnRwX0wxNmRlcGF5X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzogKGdzdF9ydHBfbXA0Z19kZXBheV9jbGFzc19pbml0KToKCSAgU21hbGwgY2xlYW51cHMuCgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzogKGdzdF9ydHBfdm9yYmlzX2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX3ZvcmJpc19kZXBheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfdm9yYmlzX2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfZmluYWxpemUpLCAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX3ZvcmJpc19kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfdm9yYmlzX2RlcGF5X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX3ZvcmJpc19kZXBheV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfdm9yYmlzX2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzogKGdzdF9ydHBfdm9yYmlzX3BheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF92b3JiaXNfcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF92b3JiaXNfcGF5X2luaXQpLAoJICAoZ3N0X3J0cF92b3JiaXNfcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF92b3JiaXNfcGF5X2luaXRfcGFja2V0KSwKCSAgKGdzdF9ydHBfdm9yYmlzX3BheV9mbHVzaF9wYWNrZXQpLAoJICAoZ3N0X3J0cF92b3JiaXNfcGF5X2FwcGVuZF9idWZmZXIpLAoJICAoZ3N0X3J0cF92b3JiaXNfcGF5X2hhbmRsZV9idWZmZXIpLAoJICAoZ3N0X3J0cF92b3JiaXNfcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5oOgoJICBBZGQgZXhwZXJpbWVudGFsIHZvcmJpcyBwYXkgYW5kIGRlcGF5bG9hZGVycy4KCjIwMDYtMDktMjEgMTM6MzM6MTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzogRml4IHByb2ZpbGUtbGV2ZWwtaWQgcGFyc2luZyBhbmQgc2V0dXAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOiAoZ3N0X3J0cF9tcDRnX3BheV9wYXJzZV9hdWRpb19jb25maWcpOgoJICBGaXggcHJvZmlsZS1sZXZlbC1pZCBwYXJzaW5nIGFuZCBzZXR1cC4KCjIwMDYtMDktMjEgMDk6NTA6NDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwLzogVXBkYXRlIFJFQURNRSwgc2ltcGxlIGNsZWFudXAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvUkVBRE1FOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX3NldF9wcm9wZXJ0eSk6CgkgIFVwZGF0ZSBSRUFETUUsIHNpbXBsZSBjbGVhbnVwLgoKMjAwNi0wOS0yMSAwOTozNToxMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvUkVBRE1FOiBVcGRhdGUgUkVBRE1FIHdpdGggc29tZSBleGFtcGxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9SRUFETUU6CgkgIFVwZGF0ZSBSRUFETUUgd2l0aCBzb21lIGV4YW1wbGVzLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOiAoZ3N0X3J0cF9tcDRnX3BheV9pbml0KSwKCSAgKGdzdF9ydHBfbXA0Z19wYXlfZmluYWxpemUpLCAoZ3N0X3J0cF9tcDRnX3BheV9wYXJzZV9hdWRpb19jb25maWcpLAoJICAoZ3N0X3J0cF9tcDRnX3BheV9wYXJzZV92aWRlb19jb25maWcpLCAoZ3N0X3J0cF9tcDRnX3BheV9uZXdfY2FwcyksCgkgIChnc3RfcnRwX21wNGdfcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5oOgoJICBNYWtlIG9wdGlvbmFsIFJUUCBwYXJhbWV0ZXJzIG9mIHR5cGUgU1RSSU5HLCBhcyByZXF1aXJlZCBieSB0aGUKCSAgYXBwbGljYXRpb24veC1ydHAgY2FwcyBzcGVjaWZpY2F0aW9uLgoKMjAwNi0wOS0yMCAxOTozNzo0NSArMDAwMCAgUGhpbGlwcGUgS2FsYWYgPHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9ydHAvOiBDb3JyZWN0bHkgY2FsY3VsYXRlIHNpemUgb2YgZWFjaCBIMjYzKyBSVFAgYnVmZmVyIHRha2luZyBpbnRvIGFjY291bnQgTVRVIGFuZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkgIENvcnJlY3RseSBjYWxjdWxhdGUgc2l6ZSBvZiBlYWNoIEgyNjMrIFJUUCBidWZmZXIgdGFraW5nIGludG8gYWNjb3VudCBNVFUgYW5kCgkgIFJUUCBoZWFkZXIuCgoyMDA2LTA5LTIwIDE2OjQxOjQ4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9NYWtlZmlsZS5hbTogQW5kIG1ha2VmaWxlIHRvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgQW5kIG1ha2VmaWxlIHRvby4KCjIwMDYtMDktMjAgMTY6MDk6MDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogQWRkZWQgcHJlbGltaW5hcnkgQVNGIGRlcGF5bG9hZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwYXNmZGVwYXkuYzogKGdzdF9ydHBfYXNmX2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX2FzZl9kZXBheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfYXNmX2RlcGF5X2luaXQpLAoJICAoZGVjb2RlX2Jhc2U2NCksIChnc3RfcnRwX2FzZl9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfYXNmX2RlcGF5X3Byb2Nlc3MpLCAoZ3N0X3J0cF9hc2ZfZGVwYXlfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfYXNmX2RlcGF5X2dldF9wcm9wZXJ0eSksIChnc3RfcnRwX2FzZl9kZXBheV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9hc2ZfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwYXNmZGVwYXkuaDoKCSAgQWRkZWQgcHJlbGltaW5hcnkgQVNGIGRlcGF5bG9hZGVyLgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6IChkZWNvZGVfYmFzZTY0KToKCSAgRml4IGJhc2U2NCBkZWNvZGluZy4KCjIwMDYtMDktMjAgMTY6MDY6MjcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9VUkxTOiBBZGRlZCBzb21lIHRlc3QgVVJMUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvVVJMUzoKCSAgQWRkZWQgc29tZSB0ZXN0IFVSTFMuCgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfY3JlYXRlX3N0cmVhbSksCgkgIChnc3RfcnRzcHNyY19sb29wKSwgKGdzdF9ydHNwc3JjX29wZW4pOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgV2hlbiBjcmVhdGluZyBzdHJlYW1zLCBnaXZlIGFjY2VzcyB0byB0aGUgY29tcGxldGUgU0RQLgoJICBGaXggc29tZSBsZWFrcy4KCSAgQ29sbGVjdCBhbmQgbWVyZ2UgZ2xvYmFsIHN0cmVhbSBwcm9wZXJ0aWVzIGluIHN0cmVhbSBjYXBzLgoJICBQcmVsaW1pbmFyeSBzdXBwb3J0IGZvciBXTVNlcnZlci4KCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX2NyZWF0ZSksCgkgIChydHNwX2Nvbm5lY3Rpb25fY29ubmVjdCksIChydHNwX2Nvbm5lY3Rpb25fcmVhZCksIChyZWFkX2JvZHkpLAoJICAocnRzcF9jb25uZWN0aW9uX3JlY2VpdmUpOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmg6CgkgIE1ha2UgY29ubmVjdGlvbiBpbnRlcnJ1cHRhYmxlLgoJICBSZWZhY3RvciB0byBtYWtlIGl0IHJlY29ubmVjdGFibGUuCgkgIERvbid0IGZhaWwgb24gc2hvcnQgcmVhZHMgd2hlbiByZWFkaW5nIGRhdGEgcGFja2V0cy4KCSAgKiBnc3QvcnRzcC9ydHNwdXJsLmM6IChydHNwX3VybF9wYXJzZSksIChydHNwX3VybF9zZXRfcG9ydCksCgkgIChydHNwX3VybF9nZXRfcG9ydCk6CgkgICogZ3N0L3J0c3AvcnRzcHVybC5oOgoJICBBZGQgbWV0aG9kcyBmb3IgZ2V0dGluZy9zZXR0aW5nIHRoZSBwb3J0LgoJICAqIGdzdC9ydHNwL3NkcG1lc3NhZ2UuYzogKHNkcF9tZXNzYWdlX2dldF9hdHRyaWJ1dGVfdmFsX24pLAoJICAoc2RwX21lc3NhZ2VfZ2V0X2F0dHJpYnV0ZV92YWwpLCAoc2RwX21lZGlhX2dldF9hdHRyaWJ1dGUpLAoJICAoc2RwX21lZGlhX2dldF9hdHRyaWJ1dGVfdmFsX24pLCAoc2RwX21lZGlhX2dldF9hdHRyaWJ1dGVfdmFsKSwKCSAgKHNkcF9tZWRpYV9nZXRfZm9ybWF0KSwgKHNkcF9wYXJzZV9saW5lKSwKCSAgKHNkcF9tZXNzYWdlX3BhcnNlX2J1ZmZlcik6CgkgIEZpeCBoZWFkZXJzLgoJICBBZGQgbWV0aG9kcyBmb3IgZ2V0dGluZyBtdWx0aXBsZSBhdHRyaWJ1dGVzIHdpdGggdGhlIHNhbWUgbmFtZS4KCSAgSW5jcmVhc2UgYnVmZmVyIHNpemUgd2hlbiBwYXJzaW5nLgoJICBGaXggcGFyc2luZyBvZiBhPWZvbyBmaWVsZHMuCgkgICogZ3N0L3J0c3AvdGVzdC5jOiAobWFpbik6CgkgIFVwZGF0ZSB0byBuZXcgY29ubmVjdGlvbiBBUEkuCgkgICogZ3N0L3J0c3AvcnRzcG1lc3NhZ2UuYzogKHJ0c3BfbWVzc2FnZV9uZXdfcmVzcG9uc2UpLAoJICAocnRzcF9tZXNzYWdlX2luaXRfcmVzcG9uc2UpLCAocnRzcF9tZXNzYWdlX2luaXRfZGF0YSksCgkgIChydHNwX21lc3NhZ2VfdW5zZXQpLCAocnRzcF9tZXNzYWdlX2ZyZWUpLCAocnRzcF9tZXNzYWdlX2R1bXApOgoJICAqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmg6CgkgICogZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5jOiAocnRzcF90cmFuc3BvcnRfZnJlZSk6CgkgICogZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5oOgoJICAqIGdzdC9ydHNwL3NkcC5oOgoJICAqIGdzdC9ydHNwL3NkcG1lc3NhZ2UuaDoKCSAgKiBnc3QvcnRzcC9nc3RydHNwLmM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcC5oOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5oOgoJICAqIGdzdC9ydHNwL3J0c3AuaDoKCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5jOgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmg6CgkgIER1YWwgbGljZW5zZWQgdW5kZXIgTUlUIGFuZCBMR1BMIG5vdy4KCjIwMDYtMDktMTkgMTc6MjU6MTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IFJlb3JnYW5pemUgc3RyZWFtIHBhcnNpbmcgYW5kIGNyZWF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChmaW5kX3N0cmVhbV9ieV9wdCksCgkgIChnc3RfcnRzcHNyY19jcmVhdGVfc3RyZWFtKSwgKGdzdF9ydHNwc3JjX2ZyZWVfc3RyZWFtKSwKCSAgKGdzdF9ydHNwc3JjX21lZGlhX3RvX2NhcHMpLCAoZ3N0X3J0c3BzcmNfc3RyZWFtX3NldHVwX3J0cCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksIChmaW5kX3N0cmVhbV9ieV9jaGFubmVsKSwKCSAgKGdzdF9ydHNwc3JjX3B1c2hfZXZlbnQpLCAoZ3N0X3J0c3BzcmNfbG9vcCksIChnc3RfcnRzcHNyY19zZW5kKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX21ldGhvZHMpLCAoZ3N0X3J0c3BzcmNfb3BlbiksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9ydHBpbmZvKSwgKGdzdF9ydHNwc3JjX3BsYXkpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgUmVvcmdhbml6ZSBzdHJlYW0gcGFyc2luZyBhbmQgY3JlYXRpb24uCgkgIERldGVjdCBjb250YWluZXIgZm9ybWF0cyBpbiBpbnRlcmxlYXZlZCBtb2RlLgoJICBLZWVwIG1vcmUgc3RhdGUgYWJvdXQgdGhlIHN0cmVhbXMuCgkgIEFzc3VtZSBhIHNlcnZlciBhbHNvIHN1cHBvcnRzIFBMQVkgaWYgaXQgZG9lcyBub3Qgc2F5LgoJICBBZGQgdW5pY2FzdCBhbmQgaW50ZXJsZWF2ZWQgcHJvcGVydGllcyB0byBUQ1AgdHJhbnNwb3J0IHJlcXVlc3RzIHRvIG1ha2UKCSAgc29tZSBzZXJ2ZXJzIGhhcHB5IChXTVNlcnZlcikuCgkgICogZ3N0L3J0c3Avc2RwbWVzc2FnZS5oOgoJICBBZGQgc29tZSBkZWZpbmVzIGZvciB0aGUgc3RhbmRhcmQgQmFuZHdpZHRoIHR5cGVzLgoKMjAwNi0wOS0xOSAxNjoyNDoxMCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIEp1c3QgYSBzbWFsbCBmaXggdG8gdGhlIGFwcCBvcHRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSnVzdCBhIHNtYWxsIGZpeCB0byB0aGUgYXBwIG9wdGlvbnMuCgoyMDA2LTA5LTE5IDEzOjA4OjM1ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkb3JpZW50LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRvcmllbnQuaDoKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIEFkZCBWaWRlbyBPcmllbnRhdGlvbiBpbnRlcmZhY2Ugc3VwcG9ydCB0byB2NGwyc3JjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkIFZpZGVvIE9yaWVudGF0aW9uIGludGVyZmFjZSBzdXBwb3J0IHRvIHY0bDJzcmMuCgoyMDA2LTA5LTE5IDEwOjUzOjU2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvdGVzdC5jOiBGaXggYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL3Rlc3QuYzogKG1haW4pOgoJICBGaXggYnVpbGQuCgoyMDA2LTA5LTE5IDEwOjE0OjUyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IEFkZCBtcy1nc20gdG8gdGhlIHNyYyB0ZW1wbGF0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIEFkZCBtcy1nc20gdG8gdGhlIHNyYyB0ZW1wbGF0ZS4KCjIwMDYtMDktMTggMTc6Mzc6NDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IFNtYWxsIGNsZWFudXBzLCBhZGRlZCBkb2N1bWVudGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19tZWRpYV90b19jYXBzKSwKCSAgKGdzdF9ydHNwc3JjX3NlbmQpLCAoZ3N0X3J0c3BzcmNfcGFyc2VfbWV0aG9kcyksCgkgIChnc3RfcnRzcHNyY19vcGVuKSwgKGdzdF9ydHNwc3JjX2Nsb3NlKSwgKGdzdF9ydHNwc3JjX3BsYXkpLAoJICAoZ3N0X3J0c3BzcmNfcGF1c2UpLCAoZ3N0X3J0c3BzcmNfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHNwc3JjX3VyaV9nZXRfdXJpKSwgKGdzdF9ydHNwc3JjX3VyaV9zZXRfdXJpKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIFNtYWxsIGNsZWFudXBzLCBhZGRlZCBkb2N1bWVudGF0aW9uLgoJICBUcnkgdG8gY2xlYW4gdXAgdGhlIHJlcXVlc3RzIGFuZCByZXNwb25zZXMuCgkgIFJlZmFjdG9yIHBhcnNpbmcgdGhlIHN1cHBvcnRlZCBtZXRob2RzLgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fb3BlbiksCgkgIChydHNwX2Nvbm5lY3Rpb25fY3JlYXRlKSwgKHJ0c3BfY29ubmVjdGlvbl9zZW5kKSwKCSAgKHBhcnNlX3Jlc3BvbnNlX3N0YXR1cyksIChwYXJzZV9yZXF1ZXN0X2xpbmUpLAoJICAocnRzcF9jb25uZWN0aW9uX3JlY2VpdmUpLCAocnRzcF9jb25uZWN0aW9uX2Nsb3NlKSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9mcmVlKToKCSAgKiBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0LmM6IChydHNwX3RyYW5zcG9ydF9uZXcpLAoJICAocnRzcF90cmFuc3BvcnRfaW5pdCksIChydHNwX3RyYW5zcG9ydF9wYXJzZSksCgkgIChydHNwX3RyYW5zcG9ydF9mcmVlKToKCSAgKiBnc3QvcnRzcC9ydHNwdXJsLmM6IChydHNwX3VybF9wYXJzZSk6CgkgICogZ3N0L3J0c3Avc2RwbWVzc2FnZS5jOiAoc2RwX21lc3NhZ2VfbmV3KSwgKHNkcF9tZXNzYWdlX2luaXQpLAoJICAoc2RwX21lc3NhZ2VfY2xlYW4pLCAoc2RwX21lc3NhZ2VfZnJlZSksIChzZHBfbWVkaWFfbmV3KSwKCSAgKHNkcF9tZWRpYV9pbml0KSwgKHNkcF9tZXNzYWdlX3BhcnNlX2J1ZmZlciksIChzZHBfbWVzc2FnZV9kdW1wKToKCSAgVXNlIGdfcmV0dXJuX3ZhbCBzb21lIG1vcmUuCgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuaDoKCSAgQWRkIG1vcmUgZW51bSB2YWx1ZXMgdG8gdHJhY2sgaW5pdGlhbCBzdGF0ZXMuCgkgICogZ3N0L3J0c3AvcnRzcG1lc3NhZ2UuYzogKHJ0c3BfbWVzc2FnZV9uZXdfcmVxdWVzdCksCgkgIChydHNwX21lc3NhZ2VfaW5pdF9yZXF1ZXN0KSwgKHJ0c3BfbWVzc2FnZV9uZXdfcmVzcG9uc2UpLAoJICAocnRzcF9tZXNzYWdlX2luaXRfcmVzcG9uc2UpLCAocnRzcF9tZXNzYWdlX2luaXRfZGF0YSksCgkgIChydHNwX21lc3NhZ2VfdW5zZXQpLCAocnRzcF9tZXNzYWdlX2ZyZWUpLAoJICAocnRzcF9tZXNzYWdlX2FkZF9oZWFkZXIpLCAocnRzcF9tZXNzYWdlX3JlbW92ZV9oZWFkZXIpLAoJICAocnRzcF9tZXNzYWdlX2dldF9oZWFkZXIpLCAocnRzcF9tZXNzYWdlX3NldF9ib2R5KSwKCSAgKHJ0c3BfbWVzc2FnZV90YWtlX2JvZHkpLCAocnRzcF9tZXNzYWdlX2dldF9ib2R5KSwKCSAgKHJ0c3BfbWVzc2FnZV9zdGVhbF9ib2R5KSwgKHJ0c3BfbWVzc2FnZV9kdW1wKToKCSAgKiBnc3QvcnRzcC9ydHNwbWVzc2FnZS5oOgoJICBSZW9yZGVyIGFyZ3VtZW50cywgb2JqZWN0IGdvZXMgYXMgdGhlIGZpcnN0IG9uZS4KCSAgVXNlIGdfcmV0dXJuX3ZhbCBzb21lIG1vcmUuCgoyMDA2LTA5LTE4IDE1OjM2OjE0ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIEZpeCBHU1RfQlVGRkVSX0RVUkFUSU9OLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IEdTVF9CVUZGRVJfRFVSQVRJT04uCgoyMDA2LTA5LTE4IDE0OjAwOjQxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy4qOiBFeHBvcnQgc29tZXRpbWVzIHNvdXJjZSBwYWQgd2l0aCBjb3JyZWN0IGNhcHMgb24gdGhlIHRlbXBsYXRlLCBjcmVhdGUgdGhlIGdob3N0cGFkIGZyb20gdGhlIHRlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2Jhc2VfaW5pdCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksIChnc3RfcnRzcHNyY19wdXNoX2V2ZW50KSwKCSAgKGdzdF9ydHNwc3JjX2xvb3ApLCAoZ3N0X3J0c3BzcmNfdXJpX3NldF91cmkpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgRXhwb3J0IHNvbWV0aW1lcyBzb3VyY2UgcGFkIHdpdGggY29ycmVjdCBjYXBzIG9uIHRoZSB0ZW1wbGF0ZSwgY3JlYXRlCgkgIHRoZSBnaG9zdHBhZCBmcm9tIHRoZSB0ZW1wbGF0ZS4KCSAgUmVtb3ZlIFJUQ1AgdGVtcGxhdGUgYXMgd2UgbmV2ZXIgZXhwb3NlIFJUQ1AuCgkgIFByb3RlY3QgYWdhaW5zdCBpbnZhbGlkIGJvZHkgc2l6ZS4KCSAgQXZvaWQgbWVtY3B5IHdoZW4gY3JlYXRpbmcgdGhlIG91dHB1dCBidWZmZXIuCgkgIFByb3Blcmx5IHBvc3QgYW4gZXJyb3IgYW5kIHNlbmQgRU9TIHdoZW4gdGhlIGxvb3AgZnVuY3Rpb24gaXMgc2h1dCBkb3duLgoKMjAwNi0wOS0xOCAxMToyOToxMiArMDAwMCAgTHV0eiBNdWVsbGVyIDxsdXR6QHRvcGZyb3NlLmRlPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy4qOiBNYWtlIHN1cmUgd2UgY2FuIG5ldmVyIHNldCBhbiBpbnZhbGlkIGxvY2F0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IEx1dHogTXVlbGxlciA8bHV0eiBhdCB0b3Bmcm9zZSBkb3QgZGU+CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRzcHNyY19pbml0KSwgKGdzdF9ydHNwc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfcnRzcHNyY19vcGVuKSwKCSAgKGdzdF9ydHNwc3JjX3VyaV9nZXRfdXJpKSwgKGdzdF9ydHNwc3JjX3VyaV9zZXRfdXJpKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIE1ha2Ugc3VyZSB3ZSBjYW4gbmV2ZXIgc2V0IGFuIGludmFsaWQgbG9jYXRpb24uCgkgICogZ3N0L3J0c3AvcnRzcG1lc3NhZ2UuYzogKHJ0c3BfbWVzc2FnZV9zdGVhbF9ib2R5KToKCSAgKiBnc3QvcnRzcC9ydHNwbWVzc2FnZS5oOgoJICBBZGRlZCBfc3RlYWxfYm9keSBtZXRob2QgZm9yIGZ1dHVyZSB1c2UuCgkgICogZ3N0L3J0c3AvcnRzcHVybC5jOiAocnRzcF91cmxfcGFyc2UpLCAocnRzcF91cmxfZnJlZSk6CgkgIE1ha2UgZnJlZWluZyBvZiBOVUxMIHVybCByZXR1cm4gaW1tZWRpYXRseS4KCjIwMDYtMDktMTggMTA6NDI6NTIgKzAwMDAgIEx1dHogTXVlbGxlciA8bHV0ekB0b3Bmcm9zZS5kZT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuKjogVXNlIGJvaWxlcnBsYXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IEx1dHogTXVlbGxlciA8bHV0eiBhdCB0b3Bmcm9zZSBkb3QgZGU+CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoX2RvX2luaXQpLCAoZ3N0X3J0c3BzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRzcHNyY19pbml0KSwgKGdzdF9ydHNwc3JjX3N0cmVhbV9zZXR1cF9ydHApLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLCAoZ3N0X3J0c3BzcmNfcGxheSksCgkgIChnc3RfcnRzcHNyY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgVXNlIGJvaWxlcnBsYXRlLgoJICBNYWtlIHJ0c3BzcmMgc3ViY2xhc3MgR3N0QmluIHRvIG1ha2Ugc3RhdGUgY2hhbmdlcyBlYXNpZXIuCgkgIEFkZCBSYW5nZSBoZWFkZXIgZmllbGQgb24gdGhlIFBMQVkgcmVxdWVzdC4KCjIwMDYtMDktMTggMDg6NTk6MTcgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzLnZlcm1laXJAYmFyY28uY29tPgoKCSAgZ3N0L3J0c3AvOiBTbWFsbCBjbGVhbnVwcy4gd2hlbiBtdWx0aWNhc3QgaXMgc2VsZWN0ZWQgYXMgdGhlIHRyYW5zcG9ydCwgY3JlYXRlIFVEUCBzb3VyY2VzIGFuZCBjb25uZWN0IHRvIHRoZSBtdWx0aWNhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogVGhpanMgVmVybWVpciA8dGhpanMgZG90IHZlcm1laXIgYXQgYmFyY28gZG90IGNvbT4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zZXRfc3RhdGUpLAoJICAoZ3N0X3J0c3BzcmNfbWVkaWFfdG9fY2FwcyksIChnc3RfcnRzcHNyY19zdHJlYW1fc2V0dXBfcnRwKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwgKGdzdF9ydHNwc3JjX29wZW4pLAoJICAoZ3N0X3J0c3BzcmNfY2xvc2UpLCAoZ3N0X3J0c3BzcmNfcGxheSksIChnc3RfcnRzcHNyY19wYXVzZSk6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKGluZXRfYXRvbik6CgkgIFNtYWxsIGNsZWFudXBzLgoJICB3aGVuIG11bHRpY2FzdCBpcyBzZWxlY3RlZCBhcyB0aGUgdHJhbnNwb3J0LCBjcmVhdGUgVURQIHNvdXJjZXMgYW5kCgkgIGNvbm5lY3QgdG8gdGhlIG11bHRpY2FzdCBncm91cC4KCSAgTW92ZSBwYXJzaW5nIGFuZCBzZXR0aW5nIG9mIGNhcHMgdG8gYSBjb21tb24gcGxhY2UuCgkgIEZpeGVzICMzNDk4OTQuCgoyMDA2LTA5LTE2IDIyOjE0OjM1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBNb3JlIEdfT0JKRUNUIG1hY3JvIGZpeGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2hlcm1lcy9nc3RoZXJtZXNjb2xvcnNwYWNlLmM6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOgoJICAqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSAgKiBleHQveGluZS94aW5lYXVkaW9kZWMuYzoKCSAgKiBleHQveGluZS94aW5lYXVkaW9zaW5rLmM6CgkgICogZXh0L3hpbmUveGluZWlucHV0LmM6CgkgICogZ3N0L2NoYXJ0L2dzdGNoYXJ0LmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKiBnc3QvZ2FtZXMvZ3N0cHV6emxlLmM6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOgoJICAqIGdzdC9uc2YvZ3N0bnNmLmg6CgkgICogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuYzoKCSAgKiBnc3QvdmlydHVhbGR1Yi9nc3R4c2hhcnBlbi5jOgoJICBNb3JlIEdfT0JKRUNUIG1hY3JvIGZpeGluZy4KCjIwMDYtMDktMTYgMjE6NTc6MjkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIE1vcmUgR19PQkpFQ1QgbWFjcm8gZml4aW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkgICogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgICogZ3N0L2RlYnVnL2JyZWFrbXlkYXRhLmM6CgkgICogZ3N0L2RlYnVnL25lZ290aWF0aW9uLmM6CgkgICogZ3N0L2RlYnVnL3Rlc3RwbHVnaW4uYzoKCSAgKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSAgKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSAgKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSAgKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW90ZW1wbGF0ZS5jOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuaDoKCSAgTW9yZSBHX09CSkVDVCBtYWNybyBmaXhpbmcuCgoyMDA2LTA5LTE2IDE0OjMwOjU5ICswMDAwICBZdmVzIExlZmVidnJlIDxpdmFub2hlQGFiYWNvbS5jb20+CgoJICBnc3QvYXZpL2dzdGF2aW11eC5jOiBDb3JyZWN0bHkgc2V0IHRoZSBkd0xlbmd0aCBpbiBzdHJoLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFl2ZXMgTGVmZWJ2cmUgPGl2YW5vaGUgYXQgYWJhY29tIGRvdCBjb20+CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmlfbXV4X3N0b3BfZmlsZSk6CgkgIENvcnJlY3RseSBzZXQgdGhlIGR3TGVuZ3RoIGluIHN0cmguCgkgIFdpdGggdGhpcyBwYXRjaCwgdGhlIGZpbGUgZHVyYXRpb24gaXMgbm93IGRpc3BsYXllZCBjb3JyZWN0bHkgaW4gd2luZG93CgkgIG1lZGlhIHBsYXllciBhbmQgdGhlIEFWSSBwbGF5cyBjb21wbGV0ZWx5LiBGaXhlcyAjMzU2MTQ3CgoyMDA2LTA5LTE1IDE5OjExOjAwICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSAgVGhlIHRlc3QgYXBwbGljYXRpb24gYW5kIHRoZSBwbGdpbmQgZXJyb3IgbWVzc2FnZXMgaGFzIGJlZW4gaW1wcm92ZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBUaGUgdGVzdCBhcHBsaWNhdGlvbiBhbmQgdGhlIHBsZ2luZCBlcnJvciBtZXNzYWdlcyBoYXMgYmVlbiBpbXByb3ZlZC4KCjIwMDYtMDktMTUgMTc6MTA6MjIgKzAwMDAgIERhcnJlbiBLZW5ueSA8ZGFycmVuLmtlbm55QHN1bi5jb20+CgoJICBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzogU2V0IHRoZSBvdXRwdXQgdHJhY2sgYXMgdGhlIE1BU1RFUiBzbyB0aGF0IHRoZSBnbm9tZS1zZXR0aW5ncy1kYWVtb24ga2V5YmluZGluZ3MuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBEYXJyZW4gS2VubnkgPGRhcnJlbiBkb3Qga2VubnkgYXQgc3VuIGRvdCBjb20+CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6CgkgIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX2J1aWxkX2xpc3QpOgoJICBTZXQgdGhlIG91dHB1dCB0cmFjayBhcyB0aGUgTUFTVEVSIHNvIHRoYXQgdGhlIGdub21lLXNldHRpbmdzLWRhZW1vbgoJICBrZXliaW5kaW5ncyBmb3IgY2hhbmdpbmcgdGhlIHZvbHVtZSB1c2luZyB0aGUga2V5Ym9hcmQgd29ya3MuCgkgIEZpeGVzICMzNTYxNDIuCgoyMDA2LTA5LTE1IDE2OjAxOjQ4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOiBGaXggZG9jdW1lbnRhdGlvbiwgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGNvbnRyb2wgdGhlIGZyYW1lcmF0ZSBvZiBqcGVnZGVjIHVzaW5nIGZpbHRlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzogKGdzdF9tdWx0aXBhcnRfZGVtdXhfY2hhaW4pOgoJICBGaXggZG9jdW1lbnRhdGlvbiwgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGNvbnRyb2wgdGhlIGZyYW1lcmF0ZSBvZiBqcGVnZGVjCgkgIHVzaW5nIGZpbHRlcmVkIGNhcHMgeWV0LiBGaXhlcyAjMzU1MjEwLgoJICBSZXR1cm4gdGhlIGRvd25zdHJlYW0gR3N0Rmxvd1JldHVybiBpbnN0ZWFkIG9mIEdTVF9GTE9XX09LIHNvIHRoYXQgd2UKCSAgc3RvcCB3aGVuIHRoZXJlIGlzIGFuIGVycm9yLgoKMjAwNi0wOS0xNCAxMTowNTozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC86IERvbid0IGludGVycHJldCBhIGZpcnN0IGJ1ZmZlciB3aXRoIGFuIG9mZnNldCBvZiBOT05FIGFzICdmcm9tIHRoZSBtaWRkbGUgb2YgdGhlIHN0cmVhbScsIGJ1dCBvbmx5IGEgZmlyc3QgYnVmZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6IChnc3RfdGFnX2RlbXV4X2NoYWluX3BhcnNlX3RhZyk6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfY2hhaW4pOgoJICBEb24ndCBpbnRlcnByZXQgYSBmaXJzdCBidWZmZXIgd2l0aCBhbiBvZmZzZXQgb2YgTk9ORSBhcwoJICAnZnJvbSB0aGUgbWlkZGxlIG9mIHRoZSBzdHJlYW0nLCBidXQgb25seSBhIGZpcnN0IGJ1ZmZlcgoJICB0aGF0IGhhcyBhIHZhbGlkIGJ1ZmZlciBvZmZzZXQgdGhhdCdzIG5vbi16ZXJvIChzZWUgIzM0NTQ0OSkuCgoyMDA2LTA5LTE0IDEwOjM4OjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4Lio6IFdoZW4gd2UgbWVyZ2UvY29sbGVjdCBtdWx0aXBsZSBpbmNvbWluZyBidWZmZXJzIGZvciB0eXBlZmluZGluZyBwdXJwb3Nlcywga2VlcCBhbiBpbml0aWFsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOiAoZ3N0X2ljeWRlbXV4X3Jlc2V0KSwKCSAgKGdzdF9pY3lkZW11eF90eXBlZmluZF9vcl9mb3J3YXJkKToKCSAgKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguaDoKCSAgV2hlbiB3ZSBtZXJnZS9jb2xsZWN0IG11bHRpcGxlIGluY29taW5nIGJ1ZmZlcnMgZm9yIHR5cGVmaW5kaW5nCgkgIHB1cnBvc2VzLCBrZWVwIGFuIGluaXRpYWwgMCBvZmZzZXQgb24gdGhlIGZpcnN0IG91dGdvaW5nIGJ1ZmZlcgoJICBhcyB3ZWxsIChvdGhlcndpc2UgaWQzZGVtdXggd29uJ3Qgd29yayByaWdodCkuIEZpeGVzICMzNDU0NDkuCgkgIEFsc28gTWFrZSBidWZmZXIgbWV0YWRhdGEgd3JpdGFibGUgYmVmb3JlIHNldHRpbmcgYnVmZmVyIGNhcHMuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaWN5ZGVtdXguYzogKHR5cGVmaW5kX3N1Y2NlZWQpLAoJICAoY2xlYW51cF9pY3lkZW11eCksIChwdXNoX2RhdGEpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAoaWN5ZGVtdXhfc3VpdGUpOgoJICBTbWFsbCB0ZXN0IGNhc2UgZm9yIHRoZSBhYm92ZS4KCjIwMDYtMDktMTMgMTM6MjY6MTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogTW9yZSBjb2RlIHJldXNlIGFuZCBiZXR0ZXIgbG9nZ2luZyBpbiBfcGVla19jaHVuaygpLiBSZWludHJvZHVjZSBjaGVjayBmb3IgY2h1bmsgc2l6ZXMgYmVmb3JlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3BlZWtfY2h1bmspLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9zeW5jKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlcl9wdXNoKSwKCSAgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2RhdGEpLAoJICAoZ3N0X2F2aV9kZW11eF9sb29wKToKCSAgTW9yZSBjb2RlIHJldXNlIGFuZCBiZXR0ZXIgbG9nZ2luZyBpbiBfcGVla19jaHVuaygpLiBSZWludHJvZHVjZSBjaGVjawoJICBmb3IgY2h1bmsgc2l6ZXMgYmVmb3JlIHJlYWRpbmcgdGhlbSAoYXZvaWQgb29tKS4gQmV0dGVyIGhhbmRsaW5nIGZvcgoJICBpbnZhbGlkIGNodW5rc2l6ZXMgd2hlbiBzdHJlYW1pbmcuCgoyMDA2LTA5LTEyIDIwOjE4OjU1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogSW1wbGVtZW50cyBzdG9wKCkgdG8gY2xlYXIgdGhlIGFkYXB0ZXIgYW5kIGV2ZW50KCkgdG8gY2xlYXIgdGhlIGFkYXB0ZXIgb24gRkxVU0hfU1RPUCBhbmQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCksCgkgIChnc3Rfc3BlY3RydW1fc3RhcnQpLCAoZ3N0X3NwZWN0cnVtX3N0b3ApLCAoZ3N0X3NwZWN0cnVtX2V2ZW50KToKCSAgSW1wbGVtZW50cyBzdG9wKCkgdG8gY2xlYXIgdGhlIGFkYXB0ZXIgYW5kIGV2ZW50KCkgdG8gY2xlYXIgdGhlCgkgIGFkYXB0ZXIgb24gRkxVU0hfU1RPUCBhbmQgRU9TLgoKMjAwNi0wOS0xMSAyMDozODo0MSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2xldmVsL2dzdGxldmVsLio6IEZpeCB0eXBlIG1peHVwIGluIGxldmVsLT5pbnRlcnZhbCAoZ2RvdWJsZTwtPmd1aW50NjQpLiBTcG90dGVkIGJ5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiAoZ3N0X2xldmVsX3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmg6CgkgIEZpeCB0eXBlIG1peHVwIGluIGxldmVsLT5pbnRlcnZhbCAoZ2RvdWJsZTwtPmd1aW50NjQpLiBTcG90dGVkIGJ5CgkgIFJlbsOpIFN0YWRsZXIKCjIwMDYtMDktMTEgMTg6MjM6NTkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS4qOiBGaXggdHlwZSBtaXh1cCBpbiBzcGVjdHJ1bS0+aW50ZXJ2YWwgKGdkb3VibGU8LT5ndWludDY0KS4gU3BvdHRlZCBieQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9zZXRfcHJvcGVydHkpOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBGaXggdHlwZSBtaXh1cCBpbiBzcGVjdHJ1bS0+aW50ZXJ2YWwgKGdkb3VibGU8LT5ndWludDY0KS4gU3BvdHRlZCBieQoJICBSZW7DqSBTdGFkbGVyCgoyMDA2LTA5LTExIDE4OjAyOjM5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzogVXNlIG1vcmUgZGVmaW5lcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzogKGRyYXdfc3BlY3RydW0pLCAobWFpbik6CgkgIFVzZSBtb3JlIGRlZmluZXMKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9kaXNwb3NlKSwgKGdzdF9zcGVjdHJ1bV9zZXRfY2FwcyksCgkgIChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgQXBwbHkgc29tZSBvZiB0aGUgc3BlY3RydW0gY2xlYW51cCBjaGFuZ2VzIHN1Z2dlc3RlZCBpbiAjMzQ4MDg1LgoKMjAwNi0wOS0wOCAxNjo0Nzo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQnVtcCByZXF1aXJlbWVudHMgb2YgLWJhc2UgKHZpZGVvY3JvcCB0ZXN0IGNhc2UgbmVlZHMgdGhpcykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCByZXF1aXJlbWVudHMgb2YgLWJhc2UgKHZpZGVvY3JvcCB0ZXN0IGNhc2UgbmVlZHMgdGhpcykuCgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgRG9jdW1lbnQgc2xvcHB5IGhhbmRsaW5nIG9mIHN1YnNhbXBsZWQgY2hyb21hIHBsYW5lcyBpZgoJICBsZWZ0L3RvcCBjcm9wcGluZyBpcyBhbiBvZGQgbnVtYmVyLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOiAoaGFuZG9mZl9jYiksCgkgICh2aWRlb2Nyb3BfdGVzdF9jcm9wcGluZ19pbml0X2NvbnRleHQpLAoJICAodmlkZW9jcm9wX3Rlc3RfY3JvcHBpbmdfZGVpbml0X2NvbnRleHQpLAoJICAodmlkZW9jcm9wX3Rlc3RfY3JvcHBpbmcpLCAoY2hlY2tfMXgxX2J1ZmZlciksIChHU1RfU1RBUlRfVEVTVCksCgkgICh2aWRlb2Nyb3Bfc3VpdGUpLCAobWFpbik6CgkgIEFkZCBhbm90aGVyIHVuaXQgdGVzdCB0aGF0IGNyb3BzIHRoZSBpbnB1dCB0byAxeDEgKGFuZCBjaGVja3MKCSAgdGhhdCB0aGF0IHBpeGVsIGhhcyB0aGUgZXhwZWN0ZWQgdmFsdWVzIGluIGEgbnVtYmVyIG9mIGZvcm1hdHMpLgoKMjAwNi0wOS0wOCAxMTowNDoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC92aWRlb2Nyb3AvOiBTb21lIHF1aWNrIHRlc3RzIGluZGljYXRlIHRoYXQgaXQgZG9lc24ndCBtYWtlIGEgZ3JlYXQgZGVhbCBvZiBzZW5zZSB0byB1c2UgbGlib2lsIGhlcmUsIGF0IGxlYXN0IG5vdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9jcm9wL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6IChnc3RfdmlkZW9fY3JvcF9jbGFzc19pbml0KSwKCSAgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9wYWNrZWQpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX3BsYW5hcik6CgkgIFNvbWUgcXVpY2sgdGVzdHMgaW5kaWNhdGUgdGhhdCBpdCBkb2Vzbid0IG1ha2UgYSBncmVhdCBkZWFsCgkgIG9mIHNlbnNlIHRvIHVzZSBsaWJvaWwgaGVyZSwgYXQgbGVhc3Qgbm90IGZvciB0aGUgbWVtY3B5KClzCgkgIHdlIGRvLCBzbyByZW1vdmUgbGlib2lsIHVzYWdlIHVudGlsIHRoZXJlIGlzIGNsZWFyIGV2aWRlbmNlCgkgIGl0IGFjdHVhbGx5IG1ha2VzIGEgcG9zaXRpdmUgZGlmZmVyZW5jZSBzb21ld2hlcmUuCgoyMDA2LTA5LTA2IDA5OjA1OjMzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IFJldmVydCBvbmUgY2hhbmdlIHRvIGZpeCBzdHJlYW1pbmcgYXZpIChhZGFwdGVyIHNpemUgIT0gZGF0YSBzaXplKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9yZWFkX3N1YmluZGV4ZXNfcHVsbCksCgkgIChnc3RfYXZpX2RlbXV4X3N5bmMpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyX3B1c2gpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fZGF0YSk6CgkgIFJldmVydCBvbmUgY2hhbmdlIHRvIGZpeCBzdHJlYW1pbmcgYXZpIChhZGFwdGVyIHNpemUgIT0gZGF0YSBzaXplKS4KCjIwMDYtMDktMDQgMTY6MjE6MTcgKzAwMDAgIEZyw6lkw6lyaWMgUmlzcyA8ZnJlZGVyaWMucmlzc0BnbWFpbC5jb20+CgoJICBnc3QvbWF0cm9za2EvOiBBZGQgc3VwcG9ydCBmb3IgVk9CU1VCIHN1YnRpdGxlIHRyYWNrcyBhbmQgemxpYi1jb21wcmVzc2VkIHRyYWNrcy4gTWFrZSBzdXJlIHdlIHN0YXJ0IG9uIGEga2V5ZnJhbWUgYWYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBGcsOpZMOpcmljIFJpc3MgIDxmcmVkZXJpYy5yaXNzIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfdHJhY2tfZnJlZSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3JlYWRfdHJhY2tfZW5jb2RpbmdzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfc3RyZWFtKSwgKGdzdF9tYXRyb3NrYV9kZWNvZGVfYnVmZmVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9zdWJ0aXRsZV9jYXBzKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIEFkZCBzdXBwb3J0IGZvciBWT0JTVUIgc3VidGl0bGUgdHJhY2tzIGFuZCB6bGliLWNvbXByZXNzZWQKCSAgdHJhY2tzLiBNYWtlIHN1cmUgd2Ugc3RhcnQgb24gYSBrZXlmcmFtZSBhZnRlciBhIHNlZWsuICgjMzQzMzQ4KQoKMjAwNi0wOS0wNCAxNTowNjoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS86IG5vdCBwZXJmZWN0IHlldCB0aG91Z2gsIG5lZWRzIHNvbWUgdHdlYWtpbmcgaW4gZmxhY2RlYzsgYWxzbywgc2Vla2luZyBjb3VsZCBiZSBiZXR0ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X3B1c2hfaGRyX2J1ZiksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcHVzaF9mbGFjX2NvZGVjX3ByaXZfZGF0YSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcHVzaF94aXBoX2NvZGVjX3ByaXZfZGF0YSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYmxvY2tncm91cF9vcl9zaW1wbGVibG9jayksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfdmlkZW9fY2FwcyksIChnc3RfbWF0cm9za2FfZGVtdXhfYXVkaW9fY2Fwcyk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBBZGQgYmFzaWMgRkxBQyBzdXBwb3J0ICgjMzExNTg2KSwgbm90IHBlcmZlY3QgeWV0IHRob3VnaCwgbmVlZHMgc29tZQoJICB0d2Vha2luZyBpbiBmbGFjZGVjOyBhbHNvLCBzZWVraW5nIGNvdWxkIGJlIGJldHRlci4KCSAgRG8gYmV0dGVyIGJvdW5kcyBjaGVja2luZyB3aGVuIGRlc2VyaWFsaXNpbmcgdm9yYmlzIHN0cmVhbSBoZWFkZXJzCgkgIHRvIG1ha2Ugc3VyZSB3ZSBkb24ndCByZWFkIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBidWZmZXIgb24gYmFkIGlucHV0LgoKMjAwNi0wOS0wNCAwOTozNDoyNSArMDAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm9Abm52YS5vcmc+CgoJICBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6IFNlZWtpbmcgYmFjayBpbiBhIGZpbGUgY29udGFpbmluZyBhIENNTUwgc3RyZWFtIGVycm9ycyBvdXQgaWYgdGhlIHNlZWsgZ29lcyBiYWNrIHVwIHRvIHRoZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRybyBhdCBubnZhIGRvdCBvcmc+CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOiAoZ3N0X2NtbWxfZGVjX2NoYWluKToKCSAgU2Vla2luZyBiYWNrIGluIGEgZmlsZSBjb250YWluaW5nIGEgQ01NTCBzdHJlYW0gZXJyb3JzIG91dCBpZiB0aGUgc2VlawoJICBnb2VzIGJhY2sgdXAgdG8gdGhlIENNTUwgaGVhZGVycy4gVGhpcyBpcyBiZWNhdXNlIGFmdGVyIHRoZSBzZWVrIHRoZSB4bWwKCSAgcHJvY2Vzc2luZyBpbnN0cnVjdGlvbiA8P3htbCAuLi4/PiBpcyBzdWJtaXR0ZWQgdG8gdGhlIHhtbCBwYXJzZXIgYWdhaW4sCgkgIHdoaWNoIHJlc3VsdHMgaW4gYW4gZXJyb3IuIFRoZSBhdHRhY2hlZCBwYXRjaCBmaXhlcyB0aGUgcHJvYmxlbS4KCSAgRml4ZXMgIzM1MzkwOC4KCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmg6CgkgIEZpeCBhdXRob3JzIG5hbWUuCgoyMDA2LTA5LTAzIDEwOjQ2OjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6IE1vcmUgdGVzdHM6IGNoZWNrIHBhc3N0aHJvdWdoIG1vZGUgYW5kIGNhcHMgdHJhbnNmb3JtIGluIGJvdGggZGlyZWN0aW9ucyB3aXRoIGZpeGVkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOiAoaGFuZG9mZl9jYiksCgkgIChidWZmZXJfcHJvYmVfY2IpLCAodGVzdF9jYXBzX3RyYW5zZm9ybSksICh0ZXN0X3Bhc3N0aHJvdWdoKSwKCSAgKG5vdGdzdF92YWx1ZV9saXN0X2dldF9udGhfaW50KSwgKHZpZGVvY3JvcF9zdWl0ZSk6CgkgIE1vcmUgdGVzdHM6IGNoZWNrIHBhc3N0aHJvdWdoIG1vZGUgYW5kIGNhcHMgdHJhbnNmb3JtIGluCgkgIGJvdGggZGlyZWN0aW9ucyB3aXRoIGZpeGVkIHZhbHVlcywgcmFuZ2VzIGFuZCBsaXN0cy4KCjIwMDYtMDktMDIgMTg6NDk6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgdmlkZW9jcm9wIHRvIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgQWRkIHZpZGVvY3JvcCB0byBkb2NzLgoJICAqIGdzdC92aWRlb2Nyb3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5oOgoJICBNb3ZlIGJvaWxlcnBsYXRlIHN0dWZmIGFuZCBzdHJ1Y3R1cmVzIGludG8gYSBoZWFkZXIgZmlsZS4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOiAodmlkZW9fY3JvcF9nZXRfdGVzdF9jYXBzKSwKCSAgKHRlc3RfdW5pdF9zaXplcyksICh2aWRlb2Nyb3BfdGVzdF9jcm9wcGluZ19pbml0X2NvbnRleHQpLAoJICAodmlkZW9jcm9wX3Rlc3RfY3JvcHBpbmdfZGVpbml0X2NvbnRleHQpLAoJICAodmlkZW9jcm9wX3Rlc3RfY3JvcHBpbmcpLCAodGVzdF9jcm9wcGluZyksICh2aWRlb2Nyb3Bfc3VpdGUpOgoJICBBZGQgdW5pdCB0ZXN0cyBmb3IgdmlkZW9jcm9wLgoKMjAwNi0wOS0wMiAxNTozMDo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFBvcnQvcmV3cml0ZSB2aWRlb2Nyb3AgZnJvbSBzY3JhdGNoIGZvciBHU3RyZWFtZXItMC4xMCwgYW5kIG1ha2UgaXQgc3VwcG9ydCBhbGwgZm9ybWF0cyB2aWRlb3NjYWxlIHN1cHBvcnRzICgjMzQ1NjUzKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC92aWRlb2Nyb3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzogKGdzdF92aWRlb19jcm9wX2Jhc2VfaW5pdCksCgkgIChnc3RfdmlkZW9fY3JvcF9jbGFzc19pbml0KSwgKGdzdF92aWRlb19jcm9wX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfZ2V0X2ltYWdlX2RldGFpbHNfZnJvbV9jYXBzKSwKCSAgKGdzdF92aWRlb19jcm9wX2dldF91bml0X3NpemUpLCAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX3BhY2tlZCksCgkgIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fcGxhbmFyKSwgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybSksCgkgIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fZGltZW5zaW9uKSwKCSAgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9kaW1lbnNpb25fdmFsdWUpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX2NhcHMpLCAoZ3N0X3ZpZGVvX2Nyb3Bfc2V0X2NhcHMpLAoJICAoZ3N0X3ZpZGVvX2Nyb3Bfc2V0X3Byb3BlcnR5KSwgKGdzdF92aWRlb19jcm9wX2dldF9wcm9wZXJ0eSksCgkgIChwbHVnaW5faW5pdCk6CgkgIFBvcnQvcmV3cml0ZSB2aWRlb2Nyb3AgZnJvbSBzY3JhdGNoIGZvciBHU3RyZWFtZXItMC4xMCwgYW5kIG1ha2UKCSAgaXQgc3VwcG9ydCBhbGwgZm9ybWF0cyB2aWRlb3NjYWxlIHN1cHBvcnRzICgjMzQ1NjUzKS4KCjIwMDYtMDktMDIgMTQ6NDU6MDQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHN5cy92NGwyLzogV2hpdGVzcGFjZSBjbGVhbnVwcywgZGFzaGlmeSBwcm9wZXJ0eS1uYW1lcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIChnc3RfdjRsMl9vYmplY3RfaW5zdGFsbF9wcm9wZXJ0aWVzX2hlbHBlcik6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfY2xhc3NfaW5pdCk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICBXaGl0ZXNwYWNlIGNsZWFudXBzLCBkYXNoaWZ5IHByb3BlcnR5LW5hbWVzLgoKMjAwNi0wOS0wMiAxNDoyODo1NSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL3Y0bDIvOiBDbGVhbnVwIGVycm9yIG1lc3NhZ2VzIGFuZCB1bmlmeSBoZWFkZXIgY29tbWVudHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOiAoZ3N0X3Y0bDJfeG92ZXJsYXlfb3Blbik6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5Lmg6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiAoZ3N0X3Y0bDJfZ2V0X2NhcGFiaWxpdGllcyksCgkgIChnc3RfdjRsMl9vcGVuKToKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfcXVldWVfZnJhbWUpLAoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9pbml0KToKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIENsZWFudXAgZXJyb3IgbWVzc2FnZXMgYW5kIHVuaWZ5IGhlYWRlciBjb21tZW50cwoKMjAwNi0wOC0zMCAxODowMTo1MiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBBbm90aGVyIHNtYWxsIGZpeCB0byBzZXRfY2FwcyBmdW5jdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFub3RoZXIgc21hbGwgZml4IHRvIHNldF9jYXBzIGZ1bmN0aW9uLgoKMjAwNi0wOC0zMCAxMzozMDoxMyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBTZW5kIG5ld19zZWdtZW50IGluIEdTVF9GT1JNQVRfVElNRSBpbnN0ZWFkIG9mIGluIEdTVF9GT1JNQVRfQllURVMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTZW5kIG5ld19zZWdtZW50IGluIEdTVF9GT1JNQVRfVElNRSBpbnN0ZWFkIG9mIGluIEdTVF9GT1JNQVRfQllURVMuCgoyMDA2LTA4LTMwIDExOjM2OjA2ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIEEgc21hbGwgZml4IHRvIHNldF9jYXBzIGZ1bmN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQSBzbWFsbCBmaXggdG8gc2V0X2NhcHMgZnVuY3Rpb24uCgoyMDA2LTA4LTMwIDExOjI3OjQwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBSZXNldCBlYWNoIHN0cmVhbXMgbGFzdF9mbG93IHRvIEdTVF9GTE9XX09LLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIChnc3RfcXRkZW11eF9kb19zZWVrKToKCSAgUmVzZXQgZWFjaCBzdHJlYW1zIGxhc3RfZmxvdyB0byBHU1RfRkxPV19PSy4KCSAgKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpOgoJICBSZW1vdmluZyBteXN0aWMgbW9kaWZpY2F0aW9ucyBmb3IgZ29vZC4KCjIwMDYtMDgtMzAgMTE6MDc6MzcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogcHV0IGJhY2sgJ3NlZ21lbnQgc3RhcnQ8PXN0b3AnIGNoYW5nZSB0aGF0IHdhcyBteXN0aWNhbGx5IHJldmVydGVkIGJ5IHRoZSBsYXN0IGNvbW1pdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50KSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJlZSk6CgkgIHB1dCBiYWNrICdzZWdtZW50IHN0YXJ0PD1zdG9wJyBjaGFuZ2UgdGhhdCB3YXMgbXlzdGljYWxseSByZXZlcnRlZCBieQoJICB0aGUgbGFzdCBjb21taXQKCjIwMDYtMDgtMzAgMTA6NDM6NTMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IHRoZSBidWlsZCBmb3IgZGlzYWJsZWQgZGVidWcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCksCgkgIChxdGRlbXV4X3BhcnNlX3RyZWUpOgoJICBGaXggdGhlIGJ1aWxkIGZvciBkaXNhYmxlZCBkZWJ1ZwoKMjAwNi0wOC0yOSAyMDo1OTo0NyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgRml4ZWQgZnJhbWVyYXRlIG5lZ290aWF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4ZWQgZnJhbWVyYXRlIG5lZ290aWF0aW9uLgoKMjAwNi0wOC0yOCAxNzo0NzoyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogTWFrZSBzdXJlIHNlZ21lbnQgc3RhcnQ8PXN0b3AgaW4gd2VpcmQgcXVpY2t0aW1lIGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50KSwKCSAgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLCAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIE1ha2Ugc3VyZSBzZWdtZW50IHN0YXJ0PD1zdG9wIGluIHdlaXJkIHF1aWNrdGltZSBmaWxlcy4KCjIwMDYtMDgtMjggMTY6NTk6MTMgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jIChnc3RfZHYxMzk0c3JjX2Zyb21fcmF3MTM5NGhhbmRsZSk6IE5ldyBoZWxwZXIgZnVuY3Rpb24gdG8gbGVzc2VuIHRoZSBpZmRlZnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA4LTI4ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jIChnc3RfZHYxMzk0c3JjX2Zyb21fcmF3MTM5NGhhbmRsZSk6CgkgIE5ldyBoZWxwZXIgZnVuY3Rpb24gdG8gbGVzc2VuIHRoZSBpZmRlZnMuCgkgIChHU1RfSU5GT19PQkpFQ1QpOgoJICAoZ3N0X2R2MTM5NHNyY19pc29fcmVjZWl2ZSk6IFVzZSBpdC4KCSAgKGdzdF9kdjEzOTRzcmNfY3JlYXRlKTogQWxzbyB1c2UgdGhlIGNvbnRyb2wgc29ja2V0cyBpbiBpZWM2MTg4MwoJICBtb2RlLgoJICAoZ3N0X2R2MTM5NHNyY19zdGFydCwgZ3N0X2R2MTM5NHNyY19zdG9wKTogQWx3YXlzIHVzZSBhIHNlcGFyYXRlCgkgIGhhbmRsZSBmb3IgQVZDIG9wZXJhdGlvbnM7IGZpeGVzICMzNDgyMzMuCgoyMDA2LTA4LTI4IDE0OjU5OjA1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IGFkZCBjb21tZW50cyBhbmQgbW9yZSBkZWJ1ZyBsb2dnaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogKGdzdF92NGwyX2ZpbGxfbGlzdHMpOgoJICBhZGQgY29tbWVudHMgYW5kIG1vcmUgZGVidWcgbG9nZ2luZwoKMjAwNi0wOC0yNyAxNzoxNDowNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgUmVuYW1lIGFnYWluIChhdWRpb2Z4Z29vZCAtPiBhdWRpb2Z4KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meGdvb2QueG1sOgoJICAqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZnguYzoKCSAgKiBnc3QvYXVkaW9meGdvb2QvLmN2c2lnbm9yZToKCSAgKiBnc3QvYXVkaW9meGdvb2QvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvZnhnb29kL2F1ZGlvZnguYzoKCSAgKiBnc3QvYXVkaW9meGdvb2QvYXVkaW9wYW5vcmFtYS5jOgoJICAqIGdzdC9hdWRpb2Z4Z29vZC9hdWRpb3Bhbm9yYW1hLmg6CgkgIFJlbmFtZSBhZ2FpbiAoYXVkaW9meGdvb2QgLT4gYXVkaW9meCkuCgoyMDA2LTA4LTI3IDEzOjEyOjUyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IEluaXRpYWx6ZSB2YXJpYWJsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfbmV4dF9kYXRhX2J1ZmZlciksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9zY2FuKToKCSAgSW5pdGlhbHplIHZhcmlhYmxlcy4KCjIwMDYtMDgtMjUgMTY6MjE6MzcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4Lio6IE1vcmUgYXR0ZW1wdHMgdG8gdHVybiB0aGlzIGludG8gcmVhZGFibGUgY29kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9jbGFzc19pbml0KSwKCSAgKGdzdF9hdmlfZGVtdXhfaW5pdCksIChnc3RfYXZpX2RlbXV4X2ZpbmFsaXplKSwKCSAgKGdzdF9hdmlfZGVtdXhfcmVzZXQpLCAoZ3N0X2F2aV9kZW11eF9pbmRleF9sYXN0KSwKCSAgKGdzdF9hdmlfZGVtdXhfaW5kZXhfbmV4dCksIChnc3RfYXZpX2RlbXV4X2luZGV4X2VudHJ5X2Zvcl90aW1lKSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3ViaW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9pbmRleCksIChnc3RfYXZpX2RlbXV4X3BlZWtfdGFnKSwKCSAgKGdzdF9hdmlfZGVtdXhfbmV4dF9kYXRhX2J1ZmZlciksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9zY2FuKSwKCSAgKGdzdF9hdmlfZGVtdXhfbWFzc2FnZV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X2NhbGN1bGF0ZV9kdXJhdGlvbnNfZnJvbV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXJfcHVsbCksIChnc3RfYXZpX2RlbXV4X2RvX3NlZWspLAoJICAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpLCAoZ3N0X2F2aV9kZW11eF9sb29wKSwKCSAgKGdzdF9hdmlfZGVtdXhfY2hhaW4pLCAoZ3N0X2F2aV9kZW11eF9zaW5rX2FjdGl2YXRlKSwKCSAgKGdzdF9hdmlfZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIE1vcmUgYXR0ZW1wdHMgdG8gdHVybiB0aGlzIGludG8gcmVhZGFibGUgY29kZS4KCSAgRG9uJ3QgbGVhayBhZGFwdGVycy4KCSAgQ2FsY3VsYXRlIGR1cmF0aW9uIGFjY29yZGluZyB0byBpbmRleCBtb3JlIGVmZmljaWVudGx5LgoJICBEb24ndCB0cnkgdG8gYWN0IGxpa2Ugd2UgZHJpdmUgdGhlIHBpcGVsaW5lIGluIGNoYWluIG1vZGUuCgoyMDA2LTA4LTI1IDA5OjUzOjE4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2Fubm9kZXgvZ3N0Y21tbHV0aWxzLmM6IEZpeCBidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbHV0aWxzLmM6IChnc3RfY21tbF9jbG9ja190aW1lX2Zyb21fbnB0KToKCSAgRml4IGJ1aWxkLgoKMjAwNi0wOC0yNSAwOTo0Mjo0MyArMDAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm9Abm52YS5vcmc+CgoJICBleHQvYW5ub2RleC9nc3Rhbm5vZGV4LmM6IERvIHNvbWUgZXh0cmEgc2FuaXR5IGNoZWNrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRybyBhdCBubnZhIGRvdCBvcmc+CgkgICogZXh0L2Fubm9kZXgvZ3N0YW5ub2RleC5jOiAoZ3N0X2Fubm9kZXhfZ3JhbnVsZV90b190aW1lKToKCSAgRG8gc29tZSBleHRyYSBzYW5pdHkgY2hlY2tzLgoJICBGaXhlcyAjMzUwMzQwLgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzogKGdzdF9jbW1sX2VuY19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X2NtbWxfZW5jX3BhcnNlX3RhZ19oZWFkKSwgKGdzdF9jbW1sX2VuY19wYXJzZV90YWdfY2xpcCksCgkgIChnc3RfY21tbF9lbmNfcHVzaF9jbGlwKSwgKGdzdF9jbW1sX2VuY19wdXNoKToKCSAgQ2hlY2sgaWYgY2xpcC0+c3RhcnRfdGltZSBpcyB2YWxpZCBiZWZvcmUgYWRkaW5nIHRoZSBjbGlwIHRvIHRoZQoJICB0cmFjayBsaXN0LgoJICBSZXNldCBlbmMtPnByZWFtYmxlIGdvaW5nIGZyb20gUEFVU0VEIHRvIFJFQURZLgoJICBEb24ndCB1c2UgR1NUX0ZMT1dfVU5FWFBFQ1RFRCBmb3Igd3JvbmcgdXNhZ2Ugb2YgdGhlIGVsZW1lbnQsIGl0IGlzCgkgIG9ubHkgdXNlZCBmb3IgRU9TLgoJICBPbmx5IHBvc3QgYW4gZXJyb3IgbWVzc2FnZSBpZiB3ZSB3ZXJlIHRoZSBvbmUgdGhhdCBjcmVhdGVkIHRoZSBmYXRhbAoJICBHc3RGbG93UmV0dXJuIHZhbHVlLgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWx1dGlscy5jOiAoZ3N0X2NtbWxfY2xvY2tfdGltZV9mcm9tX25wdCksCgkgIChnc3RfY21tbF9jbG9ja190aW1lX3RvX2dyYW51bGUpLCAoZ3N0X2NtbWxfdHJhY2tfbGlzdF9oYXNfY2xpcCk6CgkgIFBhcnNlIHRoZSBzZWNvbmRzIGZpZWxkIG9mIHRoZSBucHQtc2VjIHRpbWUgZm9ybWF0IHVzaW5nICVsbHUgcmF0aGVyIHRoYW4KCSAgJWQgYW5kIGNoZWNrIHRoYXQgdGhlIHZhbHVlIHNjYWxlZCBieSBHU1RfU0VDT05EIGRvZXNuJ3Qgb3ZlcmZsb3cuCgkgIFVzZSBndWludDY0KHMpIHRvIHJlcHJlc2VudCB0aGUga2V5aW5kZXggYW5kIGtleW9mZnNldCBmaWVsZHMgb2YgYSBncmFudWxlcG9zLgoJICBMb29rdXAgYSBjbGlwJ3MgdHJhY2sgd2l0aCBjbGlwLT50cmFjayByYXRoZXIgdGhhbiBjbGlwLT5pZCB3aGljaAoJICBtYWtlcyBubyBzZW5zZS4KCSAgSWRlbnRpZnkgYSBjbGlwIGJ5IGl0cyB0cmFjayBhbmQgc3RhcnQgdGltZSBhbmQgbm90IGl0cyB4bWwgaWQuCgkgIGRvIHNvbWUgbW9yZSBpbnB1dCBjaGVja2luZyBhbmQgbWFrZSBzdXJlIHdlIGRvbid0IGRvIHVuZGVmaW5lZCBzaGlmdHMuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGRlYy5jOiAoc2V0dXBfY21tbGRlYyksCgkgICh0ZWFyZG93bl9jbW1sZGVjKSwgKGNoZWNrX291dHB1dF9idWZmZXJfaXNfZXF1YWwpLCAocHVzaF9kYXRhKSwKCSAgKGNtbWxfdGFnX21lc3NhZ2VfcG9wKSwgKGNoZWNrX2hlYWRlcnMpLCAocHVzaF9jbGlwX2Z1bGwpLAoJICAocHVzaF9jbGlwKSwgKHB1c2hfZW1wdHlfY2xpcCksIChjaGVja19vdXRwdXRfY2xpcCksCgkgIChHU1RfU1RBUlRfVEVTVCksIChjbW1sZGVjX3N1aXRlKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZW5jLmM6IChzZXR1cF9jbW1sZW5jKSwKCSAgKHRlYXJkb3duX2NtbWxlbmMpLCAoY2hlY2tfb3V0cHV0X2J1ZmZlcl9pc19lcXVhbCksIChwdXNoX2RhdGEpLAoJICAoY2hlY2tfaGVhZGVycyksIChwdXNoX2NsaXApLCAoY2hlY2tfY2xpcF90aW1lcyksIChjaGVja19jbGlwKSwKCSAgKGNoZWNrX2VtcHR5X2NsaXApLCAoR1NUX1NUQVJUX1RFU1QpLCAoY21tbGVuY19zdWl0ZSk6CgkgIEFkZGVkIHNvbWUgbW9yZSBjaGVja3MuCgoyMDA2LTA4LTI0IDE5OjAwOjIyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBNYWtlIGFsc28gdGhlIHBhbi1wcm9wZXJ0eSBmbG9hdCAoc2F2ZXMgc2NhbGluZyBhbmQgeWllbGRzIGJldHRlciByZXNvbHV0aW9uKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meGdvb2QvYXVkaW9wYW5vcmFtYS5jOiAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX2NsYXNzX2luaXQpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm1fbTJzX2ludCksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtX3Myc19pbnQpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybV9tMnNfZmxvYXQpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybV9zMnNfZmxvYXQpOgoJICAqIGdzdC9hdWRpb2Z4Z29vZC9hdWRpb3Bhbm9yYW1hLmg6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9wYW5vcmFtYS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBNYWtlIGFsc28gdGhlIHBhbi1wcm9wZXJ0eSBmbG9hdCAoc2F2ZXMgc2NhbGluZyBhbmQgeWllbGRzIGJldHRlcgoJICByZXNvbHV0aW9uKQoKMjAwNi0wOC0yNCAxODoyMzoxNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F1ZGlvZnhnb29kL2F1ZGlvcGFub3JhbWEuYzogQ2hhbmdlTG9nIHN1cmdlcnkgdG8gYWRkIGN5bWF4J3MgcmVhbCBuYW1lCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4Z29vZC9hdWRpb3Bhbm9yYW1hLmM6IChnc3RfYXVkaW9fcGFub3JhbWFfc2V0X2NhcHMpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybV9tMnNfZmxvYXQpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybV9zMnNfZmxvYXQpOgoJICBDaGFuZ2VMb2cgc3VyZ2VyeSB0byBhZGQgY3ltYXgncyByZWFsIG5hbWUKCjIwMDYtMDgtMjQgMTg6MTc6MjAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdWRpb2Z4Z29vZC9hdWRpb3Bhbm9yYW1hLio6IEFkZGVkIGZsb2F0IHN1cHBvcnQgKHRoYW5rcyBjeW1heCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZnhnb29kL2F1ZGlvcGFub3JhbWEuYzogKGdzdF9hdWRpb19wYW5vcmFtYV9zZXRfY2FwcyksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtX20yc19pbnQpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybV9zMnNfaW50KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm1fbTJzX2Zsb2F0KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm1fczJzX2Zsb2F0KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm0pOgoJICAqIGdzdC9hdWRpb2Z4Z29vZC9hdWRpb3Bhbm9yYW1hLmg6CgkgIEFkZGVkIGZsb2F0IHN1cHBvcnQgKHRoYW5rcyBjeW1heCkKCjIwMDYtMDgtMjQgMTQ6MTY6NTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdWRpb2Z4Z29vZC9hdWRpb3Bhbm9yYW1hLmM6IEZpeCBkb2NzICYgZGVidWcgY2F0ZWdvcnkuIEFkZCBGaXhtZSBmb3Igdm9sdW1lIHBhbiBsZXZlbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4Z29vZC9hdWRpb3Bhbm9yYW1hLmM6CgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtX20ycyk6CgkgIEZpeCBkb2NzICYgZGVidWcgY2F0ZWdvcnkuIEFkZCBGaXhtZSBmb3Igdm9sdW1lIHBhbiBsZXZlbHMuCgoyMDA2LTA4LTI0IDEzOjUxOjE1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IHVuYnJlYWsgQVZJIGluZGV4IGhhbmRsaW5nLCBzb21lIG1vcmUgZGVidWcsIHJlbW92ZSBhbiBvYnNvbGV0ZSBhZGFwdGVyX2ZsdXNoIHRoYXQgY2F1c2VkIHN0cmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9yZWFkX3N1YmluZGV4ZXNfcHVsbCksCgkgIChnc3RfYXZpX2RlbXV4X3N5bmMpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyX3B1c2gpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyX3B1bGwpLAoJICAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fZGF0YSksCgkgIChnc3RfYXZpX2RlbXV4X2NoYWluKToKCSAgdW5icmVhayBBVkkgaW5kZXggaGFuZGxpbmcsIHNvbWUgbW9yZSBkZWJ1ZywgcmVtb3ZlIGFuIG9ic29sZXRlCgkgIGFkYXB0ZXJfZmx1c2ggdGhhdCBjYXVzZWQgc3RyZWFtaW5nIHRvIHdhbmRlciBvZmYgaW4gdGhlIHdpbGQKCjIwMDYtMDgtMjQgMTE6MjE6MDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4Lio6IFNvbWUgbW9yZSBjbGVhbnVwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3VwZXJpbmRleCksIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N1YmluZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfb2RtbCksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX2luZGV4KSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfY2FsY3VsYXRlX2R1cmF0aW9uc19mcm9tX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlcl9wdXNoKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlcl9wdWxsKToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIFNvbWUgbW9yZSBjbGVhbnVwcy4KCSAgRml4IHRvdGFsRnJhbWVzIHBhcnNpbmcgaW4gT0RNTC4KCSAgRGlzYWJsZSB1c2Ugb2YgaW5kZXggZm9yIGxlbmd0aCBjYWxjdWxhdGlvbiBpbiBjYXNlIG9mIE9ETUwgYXMgdGhpcyBpcwoJICBicm9rZW4gbm93LgoKMjAwNi0wOC0yNCAxMDowMzowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogVXNlIGxpYmdzdHRhZyBoZWxwZXIgZnVuY3Rpb24gaGVyZSB0b28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY191cGRhdGVfbWV0YWRhdGEpOgoJICBVc2UgbGliZ3N0dGFnIGhlbHBlciBmdW5jdGlvbiBoZXJlIHRvby4KCjIwMDYtMDgtMjQgMDk6MjQ6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogUG9zdCBhdWRpbyBjb2RlYyBhbmQgYXZlcmFnZSBiaXRyYXRlIHRhZ3Mgb24gYnVzICgjMzQ0NDcyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tbyBhdCBjaXJjdWxhci1jaGFvcy5vcmc+CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX3Bvc3RfdGFncyksCgkgIChnc3Rfd2F2cGFja19kZWNfY2hhaW4pOgoJICBQb3N0IGF1ZGlvIGNvZGVjIGFuZCBhdmVyYWdlIGJpdHJhdGUgdGFncyBvbiBidXMgKCMzNDQ0NzIpLgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NyY19xdWVyeSk6CgkgIEZvcndhcmQgcXVlcmllcyBpbiBvdGhlciBmb3JtYXRzIChCWVRFIGZvcm1hdCBpbiBwYXJ0aWN1bGFyKQoJICB1cHN0cmVhbTsgYWRkIFNlYmFzdGlhbiB0byBhdXRob3JzLgoKMjAwNi0wOC0yNCAwMDo0MDowNyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgRml4IHNldF9jYXBzIHRvIHNldCB3aWR0aCBhbmQgaGVpZ2h0IHRvIHRoZSB2YWx1ZXMgdGhlIGRyaXZlciBpcyByZWFsbHkgd29ya2luZyB3aXRoLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IHNldF9jYXBzIHRvIHNldCB3aWR0aCBhbmQgaGVpZ2h0IHRvIHRoZSB2YWx1ZXMgdGhlIGRyaXZlciBpcyByZWFsbHkgd29ya2luZyB3aXRoLgoKMjAwNi0wOC0yMyAxNTozMzo0NyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC4qOiBJbml0aWFsIHN0cmVhbWluZyBzdXBwb3J0IGZvciBhdmlkZW11eCAoZml4ZXMgIzMzNjQ2NSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9jbGFzc19pbml0KSwKCSAgKGdzdF9hdmlfZGVtdXhfaW5pdCksIChnc3RfYXZpX2RlbXV4X2Rpc3Bvc2UpLAoJICAoZ3N0X2F2aV9kZW11eF9yZXNldCksIChnc3RfYXZpX2RlbXV4X2luZGV4X25leHQpLAoJICAoZ3N0X2F2aV9kZW11eF9pbmRleF9lbnRyeV9mb3JfdGltZSksIChnc3RfYXZpX2RlbXV4X3NyY19jb252ZXJ0KSwKCSAgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfZXZlbnQpLAoJICAoZ3N0X2F2aV9kZW11eF9wZWVrX2NodW5rX2luZm8pLCAoZ3N0X2F2aV9kZW11eF9wZWVrX2NodW5rKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2luaXRfcHVzaCksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9pbml0X3B1bGwpLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdWJpbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3JlYWRfc3ViaW5kZXhlc19wdXNoKSwKCSAgKGdzdF9hdmlfZGVtdXhfcmVhZF9zdWJpbmRleGVzX3B1bGwpLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLAoJICAoc29ydCksIChnc3RfYXZpX2RlbXV4X3BhcnNlX2luZGV4KSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3luYyksIChnc3RfYXZpX2RlbXV4X3BlZWtfdGFnKSwKCSAgKGdzdF9hdmlfZGVtdXhfbWFzc2FnZV9pbmRleCksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXJfcHVzaCksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXJfcHVsbCksCgkgIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9kYXRhKSwKCSAgKHB1c2hfdGFnX2xpc3RzKSwgKGdzdF9hdmlfZGVtdXhfbG9vcCksIChnc3RfYXZpX2RlbXV4X2NoYWluKSwKCSAgKGdzdF9hdmlfZGVtdXhfc2lua19hY3RpdmF0ZSksIChnc3RfYXZpX2RlbXV4X2FjdGl2YXRlX3B1c2gpLAoJICAoZ3N0X2F2aV9kZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgSW5pdGlhbCBzdHJlYW1pbmcgc3VwcG9ydCBmb3IgYXZpZGVtdXggKGZpeGVzICMzMzY0NjUpCgoyMDA2LTA4LTIzIDEwOjMwOjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiBGaXggbWVtIGxlYWssIHNlbmQgbmV3c2VnbWVudCBldmVudCBvbiBjb3JyZWN0aW9uIHBhZCBhcyB3ZWxsICgjMzUyNDc2KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX3B1c2hfYmxvY2spOgoJICBGaXggbWVtIGxlYWssIHNlbmQgbmV3c2VnbWVudCBldmVudCBvbiBjb3JyZWN0aW9uIHBhZAoJICBhcyB3ZWxsICgjMzUyNDc2KS4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2Jhc2VfaW5pdCk6CgkgIFJlc3RvcmUgb3JpZ2luYWwgYXV0aG9yIChvbiBTZWJhc3RpYW4ncyByZXF1ZXN0KS4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9nc3QtcGx1Z2lucy1iYWQuc3VwcDoKCSAgQWRkIChzbyBmYXIgZW1wdHkpIHN1cHByZXNzaW9uIGZpbGUgZm9yIC1iYWQuIFJlbW92ZQoJICB3YXZwYWNrZW5jIHRlc3QgZnJvbSBWQUxHUklORF9UT19GSVggbm93IHRoYXQgdGhlIGxlYWsKCSAgaXMgZml4ZWQuCgoyMDA2LTA4LTIzIDA5OjIyOjA3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay86IEFkZCB1bml0IHRlc3RzIGZvciB3YXZwYWNrIGVsZW1lbnRzICgjMzUyNDc2KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tbyBhdCBjaXJjdWxhci1jaGFvcy5vcmc+CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZGVjLmM6IChzZXR1cF93YXZwYWNrZGVjKSwKCSAgKGNsZWFudXBfd2F2cGFja2RlYyksIChHU1RfU1RBUlRfVEVTVCksICh3YXZwYWNrZGVjX3N1aXRlKSwgKG1haW4pOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tlbmMuYzogKHNldHVwX3dhdnBhY2tlbmMpLAoJICAoY2xlYW51cF93YXZwYWNrZW5jKSwgKEdTVF9TVEFSVF9URVNUKSwgKHdhdnBhY2tlbmNfc3VpdGUpLCAobWFpbik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja3BhcnNlLmM6ICh3YXZwYWNrcGFyc2VfZm91bmRfcGFkKSwKCSAgKHNldHVwX3dhdnBhY2twYXJzZSksIChjbGVhbnVwX3dhdnBhY2twYXJzZSksIChHU1RfU1RBUlRfVEVTVCksCgkgICh3YXZwYWNrcGFyc2Vfc3VpdGUpLCAobWFpbik6CgkgIEFkZCB1bml0IHRlc3RzIGZvciB3YXZwYWNrIGVsZW1lbnRzICgjMzUyNDc2KS4KCjIwMDYtMDgtMjMgMDg6NTI6NTAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBkb2NzIGZvciB3YXZwYWNrIGVsZW1lbnRzICgjMzUyNDc2KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tbyBhdCBjaXJjdWxhci1jaGFvcy5vcmc+CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgIEFkZCBkb2NzIGZvciB3YXZwYWNrIGVsZW1lbnRzICgjMzUyNDc2KS4KCjIwMDYtMDgtMjIgMjA6Mzk6MjYgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBGaXhlZCBxdWVyeSBzaXplIHRvIHdvcmsgd2l0aCBkcml2ZXJzIHRoYXQgdXNlcyBpbnRlcm1lZGlhdGUgc3RlcCBsaWtlICJ3aWR0aCAqIGhlaWdodCIgdG8gZmluZCBjbG9zZXN0IHNpemUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXhlZCBxdWVyeSBzaXplIHRvIHdvcmsgd2l0aCBkcml2ZXJzIHRoYXQgdXNlcyBpbnRlcm1lZGlhdGUgc3RlcCBsaWtlICJ3aWR0aCAqIGhlaWdodCIgdG8gZmluZCBjbG9zZXN0IHNpemUuCgoyMDA2LTA4LTIyIDE3OjIwOjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6IFRoZXJlIGlzIG5vIHRhZ2xpYm11eCBlbGVtZW50IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgVGhlcmUgaXMgbm8gdGFnbGlibXV4IGVsZW1lbnQgLi4uCgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBVc2UgJyUnIHJhdGhlciB0aGFuICcmcGVyYzsnIGluIGd0ay1kb2MgYmx1cmIsIGRvY3MgYnVpbGQKCSAgd2FzIGNvbXBsYWluaW5nIGFib3V0IHVua25vd24gZW50aXR5IGhlcmUuCgoyMDA2LTA4LTIyIDE3OjAyOjM5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC4qOiBNYXJrIERJU0NPTlQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwKCSAgKGdzdF9hdmlfZGVtdXhfZG9fc2VlayksIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zZWVrKSwKCSAgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIE1hcmsgRElTQ09OVC4KCSAgUmVtb3ZlIG9sZCB1bnVzZWQgZmllbGRzIGFuZCByZW9yZGVyIHRoZSBzdHJ1Y3QgYSBiaXQuCgoyMDA2LTA4LTIyIDE2OjQ1OjM3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgU21hbGwgZG9jdW1lbnRhdGlvbiB1cGRhdGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19tZWRpYV90b19jYXBzKSwKCSAgKGdzdF9ydHNwc3JjX3NlbmQpLCAoZ3N0X3J0c3BzcmNfY2xvc2UpLCAoZ3N0X3J0c3BzcmNfcGxheSksCgkgIChnc3RfcnRzcHNyY19wYXVzZSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOiAoZ3N0X29zc19zaW5rX29wZW4pLAoJICAoZ3N0X29zc19zaW5rX3ByZXBhcmUpLCAoZ3N0X29zc19zaW5rX3VucHJlcGFyZSk6CgkgIFNtYWxsIGRvY3VtZW50YXRpb24gdXBkYXRlcy4KCjIwMDYtMDgtMjIgMTY6NDI6MjIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4Lio6IFByZWNhbGMgbW9zdCBvZiB0aGUgZHVyYXRpb24gcXVlcnkgZm9yIGVhY2ggc3RyZWFtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9hdmlfZGVtdXhfaW5kZXhfZW50cnlfZm9yX3RpbWUpLAoJICAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19ldmVudCksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9pbml0KSwgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2luZGV4KSwgKGdzdF9hdmlfZGVtdXhfcGVla190YWcpLAoJICAoZ3N0X2F2aV9kZW11eF9uZXh0X2RhdGFfYnVmZmVyKSwKCSAgKGdzdF9hdmlfZGVtdXhfY2FsY3VsYXRlX2R1cmF0aW9uc19mcm9tX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlciksIChnc3RfYXZpX2RlbXV4X2RvX3NlZWspLAoJICAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc2VlayksIChnc3RfYXZpX2RlbXV4X2FnZ3JlZ2F0ZWRfZmxvdyksCgkgIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSksIChnc3RfYXZpX2RlbXV4X2xvb3ApLAoJICAoZ3N0X2F2aV9kZW11eF9zaW5rX2FjdGl2YXRlX3B1bGwpLCAoZ3N0X2F2aV9kZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgUHJlY2FsYyBtb3N0IG9mIHRoZSBkdXJhdGlvbiBxdWVyeSBmb3IgZWFjaCBzdHJlYW0uCgkgIE1ha2Ugc2Vla2luZyBtb3JlIGNvcnJlY3QuCgkgIFVzZSBHc3RTZWdtZW50IHRvIHRyYWNrIHBvc2l0aW9uIGFuZCBkdXJhdGlvbi4KCSAgQ29kZSBjbGVhbnVwcyBhbmQgbGVhayBmaXhlcy4KCSAgQ2FsY3VsYXRlIGNvcnJlY3QgdG90YWwgZHVyYXRpb24gYmFzZWQgb24gaW5kZXggbGVuZ3RoLgoKMjAwNi0wOC0yMiAxMzo1MzozNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogSWYgc3RyaW5ncyBpbiB0ZXh0IGZpZWxkcyBhcmUgbWFya2VkIElTTzg4NTktMSwgYnV0IGNvbnRhaW4gdmFsaWQgVVRGLTggYWxyZWFkeSwgdGhlbiBoYW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChwYXJzZV90ZXh0X2lkZW50aWZpY2F0aW9uX2ZyYW1lKSwKCSAgKHBhcnNlX2luc2VydF9zdHJpbmdfZmllbGQpOgoJICBJZiBzdHJpbmdzIGluIHRleHQgZmllbGRzIGFyZSBtYXJrZWQgSVNPODg1OS0xLCBidXQgY29udGFpbgoJICB2YWxpZCBVVEYtOCBhbHJlYWR5LCB0aGVuIGhhbmRsZSB0aGVtIGFzIFVURi04IGFuZCBpZ25vcmUKCSAgdGhlIGVuY29kaW5nLiAoIzM1MTc5NCkKCjIwMDYtMDgtMjIgMTI6Mjg6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLio6IE1ha2UgZmxhYy1pbi1vZ2cgd29yayAoIzM1MjEwMCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY19zY2FuX2dvdF9mcmFtZSksCgkgIChnc3RfZmxhY19kZWNfd3JpdGUpLCAoZ3N0X2ZsYWNfZGVjX2xvb3ApLAoJICAoZ3N0X2ZsYWNfZGVjX3NpbmtfZXZlbnQpLCAoZ3N0X2ZsYWNfZGVjX2NoYWluKSwKCSAgKGdzdF9mbGFjX2RlY19zcmNfcXVlcnkpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSAgTWFrZSBmbGFjLWluLW9nZyB3b3JrICgjMzUyMTAwKS4KCjIwMDYtMDgtMjIgMTI6MTA6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOiBEb24ndCB1bnJlZiBidWZmZXJzIG9mIHdoaWNoIHdlJ3ZlIGFscmVhZHkgZ2l2ZW4gYXdheSBvd25lcnNoaXAgdG8gdGhlIGFkYXB0ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6IChnc3RfbW9ub3Njb3BlX2NoYWluKToKCSAgRG9uJ3QgdW5yZWYgYnVmZmVycyBvZiB3aGljaCB3ZSd2ZSBhbHJlYWR5IGdpdmVuIGF3YXkKCSAgb3duZXJzaGlwIHRvIHRoZSBhZGFwdGVyLgoKMjAwNi0wOC0yMiAxMDozMjozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiBNYWtlIG1ldGFkYXRhIGV4dHJhY3Rpb24gYWN0dWFsbHkgd29yay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IChzcGVleF9kZWNfY2hhaW5fcGFyc2VfY29tbWVudHMpOgoJICBNYWtlIG1ldGFkYXRhIGV4dHJhY3Rpb24gYWN0dWFsbHkgd29yay4KCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogKGdzdF9zcGVleGVuY19iYXNlX2luaXQpLAoJICAoZ3N0X3NwZWV4ZW5jX2luaXQpLCAoZ3N0X3NwZWV4ZW5jX2NyZWF0ZV9tZXRhZGF0YV9idWZmZXIpLAoJICAoZ3N0X3NwZWV4ZW5jX2NoYWluKToKCSAgRml4IG1ldGFkYXRhIHdyaXRpbmc6IHJlcGxhY2Ugb2xkIGNvZGUgd2hpY2ggd3JvdGUgY29tcGxldGVseQoJICBicm9rZW4gdGFncyB3aXRoIGxpYmdzdHRhZy1iYXNlZCBjb2RlLiBQbHVzIG1pc2NlbGxhbmVvdXMKCSAgY29kZSBjbGVhbnVwcyAodXNlIHN0YXRpYyBwYWQgdGVtcGxhdGVzIGV0Yy4pIGFuZCBhIGJ1bmNoCgkgIG9mIGxlYWsgZml4ZXMuCgoyMDA2LTA4LTIxIDE5OjM0OjAzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXVkaW9wYW5vcmFtYS86IGRpZSEgZGllISBkaWUhIHlvdSBzaG91bGQgbmV2ZXIgaGF2ZSBiZWVuIHRoZXJlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb3Bhbm9yYW1hLy5jdnNpZ25vcmU6CgkgICogZ3N0L2F1ZGlvcGFub3JhbWEvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvcGFub3JhbWEvYXVkaW9meC5jOgoJICAqIGdzdC9hdWRpb3Bhbm9yYW1hL2F1ZGlvcGFub3JhbWEuYzoKCSAgKiBnc3QvYXVkaW9wYW5vcmFtYS9hdWRpb3Bhbm9yYW1hLmg6CgkgIGRpZSEgZGllISBkaWUhIHlvdSBzaG91bGQgbmV2ZXIgaGF2ZSBiZWVuIHRoZXJlCgoyMDA2LTA4LTIxIDE2OjI0OjI4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBTb21lIG1vcmUgY29uc3RpZmljYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLCAocXRkZW11eF9wYXJzZSksCgkgIChxdGRlbXV4X25vZGVfZHVtcF9mb3JlYWNoKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X3ZpZGVvX2NhcHMpLCAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgU29tZSBtb3JlIGNvbnN0aWZpY2F0aW9uLgoJICBGaXggc29tZSBwYWxldHRlZCBkYXRhIGZvcm1hdHMgYWdhaW4uCgkgIEZpeCB1bGF3L2FsYXcgaW4gcXQuCgkgIFNldCBjb3JyZWN0IGNhcHMgZm9yIHJhdyBSR0IuCgkgIEFkZCBzdXBwb3J0IGZvciB5dXYyLCB3aGljaCBpcyBsaWtlIFl1djIuCgkgIEFkZCBzdXBwb3J0IGZvciByYXcgYXVkaW8gd2l0aCB0aGUgTk9ORSBmb3VyY2MsIHdoaWNoIGlzIGxpa2UgcmF3LgoKMjAwNi0wOC0yMSAxMzo1OTo1MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC93YXZwYWNrLzogTW9yZSBjbGVhbi11cHM6IHVzZSBzaG9ydGVyIHZhcmlhYmxlIG5hbWVzIHRvIG1ha2UgY29kZSBlYXNpZXIgdG8gcmVhZDsgcHJlZml4IHN0cnVjdHVyZXMgd2UgZGVmaW5lIHdpdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfaW5pdCksCgkgIChnc3Rfd2F2cGFja19lbmNfZmluYWxpemUpLCAoZ3N0X3dhdnBhY2tfZW5jX3Npbmtfc2V0X2NhcHMpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpLCAoZ3N0X3dhdnBhY2tfZW5jX2Zvcm1hdF9zYW1wbGVzKSwKCSAgKGdzdF93YXZwYWNrX2VuY19wdXNoX2Jsb2NrKSwgKGdzdF93YXZwYWNrX2VuY19jaGFpbiksCgkgIChnc3Rfd2F2cGFja19lbmNfcmV3cml0ZV9maXJzdF9ibG9jayksCgkgIChnc3Rfd2F2cGFja19lbmNfc2lua19ldmVudCksIChnc3Rfd2F2cGFja19lbmNfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF93YXZwYWNrX2VuY19zZXRfcHJvcGVydHkpLCAoZ3N0X3dhdnBhY2tfZW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX3F1ZXJ5KSwgKGdzdF93YXZwYWNrX3BhcnNlX3NyY19ldmVudCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9pbml0KSwgKGdzdF93YXZwYWNrX3BhcnNlX2dldF91cHN0cmVhbV9sZW5ndGgpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfbG9vcCk6CgkgIE1vcmUgY2xlYW4tdXBzOiB1c2Ugc2hvcnRlciB2YXJpYWJsZSBuYW1lcyB0byBtYWtlIGNvZGUgZWFzaWVyIHRvCgkgIHJlYWQ7IHByZWZpeCBzdHJ1Y3R1cmVzIHdlIGRlZmluZSB3aXRoICdHc3QnIHRvIG1ha2UgaXQgY2xlYXJlcgoJICB3aGVyZSB0aGV5IGNvbWUgZnJvbS4KCjIwMDYtMDgtMjEgMTM6MjY6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IEZpeCBjYXBzIHNldCBvbiBidWZmZXJzIGFuZCB0ZW1wbGF0ZSBjYXBzIChvdXRwdXQgaXMgZnJhbWVkKSBhbmQgbWFrZSB0aGVtIG1hdGNoICgjMzUxNjYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpLCAoZ3N0X3dhdnBhY2tfZW5jX3B1c2hfYmxvY2spLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2NoYWluKSwgKGdzdF93YXZwYWNrX2VuY19yZXdyaXRlX2ZpcnN0X2Jsb2NrKSwKCSAgKGdzdF93YXZwYWNrX2VuY19zaW5rX2V2ZW50KToKCSAgRml4IGNhcHMgc2V0IG9uIGJ1ZmZlcnMgYW5kIHRlbXBsYXRlIGNhcHMgKG91dHB1dCBpcyBmcmFtZWQpCgkgIGFuZCBtYWtlIHRoZW0gbWF0Y2ggKCMzNTE2NjMpOyB1c2UgR1NUX1dBUk5JTkdfT0JKRUNUIGluc3RlYWQgb2YKCSAgR1NUX0VMRU1FTlRfV0FSTklORzsgc2ltcGxpZnkgcHVzaF9ibG9jaygpOyBkbyBzb21lIHNtYWxsCgkgIGNsZWFuLXVwcyBoZXJlIGFuZCB0aGVyZTsgZml4IG1lbWxlYWsgKCMzNTE2NjMpLgoKMjAwNi0wOC0yMSAxMzoxMjo0NyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Bhbm9yYW1hLmM6IEZpeCBpbnZhbGlkIG1lbW9yeSBhY2Nlc3MgaW4gYXVkaW9wYW5vcmFtYSB0ZXN0IHN1aXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Bhbm9yYW1hLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIEZpeCBpbnZhbGlkIG1lbW9yeSBhY2Nlc3MgaW4gYXVkaW9wYW5vcmFtYSB0ZXN0IHN1aXRlLgoKMjAwNi0wOC0yMSAxMTozNDo0MSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6IGlnbm9yZSBidWlsdCBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgIGlnbm9yZSBidWlsdCBmaWxlCgoyMDA2LTA4LTIxIDEwOjQ2OjIxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9NYWtlZmlsZS5hbTogRml4IHRoZSBidWlsZCBhZ2Fpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgRml4IHRoZSBidWlsZCBhZ2Fpbi4KCjIwMDYtMDgtMjEgMDk6MjE6MjcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdWRpb2Z4Z29vZC86IHJlc3VibWl0IHdpdGggdGhlIGRlc2lyZWQgbmFtZSAqYWdhaW4qCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4Z29vZC8uY3ZzaWdub3JlOgoJICAqIGdzdC9hdWRpb2Z4Z29vZC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9meGdvb2QvYXVkaW9meC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9hdWRpb2Z4Z29vZC9hdWRpb3Bhbm9yYW1hLmM6IChnc3RfYXVkaW9fcGFub3JhbWFfYmFzZV9pbml0KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV9jbGFzc19pbml0KSwgKGdzdF9hdWRpb19wYW5vcmFtYV9pbml0KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfZ2V0X3VuaXRfc2l6ZSksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtX2NhcHMpLCAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3NldF9jYXBzKSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm1fbTJzKSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm1fczJzKSwgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm0pOgoJICAqIGdzdC9hdWRpb2Z4Z29vZC9hdWRpb3Bhbm9yYW1hLmg6CgkgIHJlc3VibWl0IHdpdGggdGhlIGRlc2lyZWQgbmFtZSAqYWdhaW4qCgoyMDA2LTA4LTIwIDEzOjA5OjUxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB1c2UgZ19hc3NlcnQgaW4gX2dldF91bml0X3NpemUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzogKGdzdF9waXhidWZzY2FsZV9nZXRfdW5pdF9zaXplKToKCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogKGdzdF92aWRlb19ib3hfZ2V0X3VuaXRfc2l6ZSk6CgkgIHVzZSBnX2Fzc2VydCBpbiBfZ2V0X3VuaXRfc2l6ZQoKMjAwNi0wOC0yMCAxMzowNjo0NCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogY2xlYW51cCAtdW51c2VkLnR4dCB0byBtYWtlIGl0IHVzZWZ1bCwgYWRkIHByZXZpb3VzbHkgbWlzc2luZyBkb2NzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4Z29vZC54bWw6CgkgIGNsZWFudXAgLXVudXNlZC50eHQgdG8gbWFrZSBpdCB1c2VmdWwsIGFkZCBwcmV2aW91c2x5IG1pc3NpbmcgZG9jcwoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZXNkL2VzZG1vbi5jOgoJICAqIGV4dC9lc2QvZXNkc2luay5jOgoJICAqIGV4dC9lc2QvZ3N0ZXNkLmM6IChwbHVnaW5faW5pdCk6CgkgIHJlZmxvdyB0byBnZXQgcmlkIG9mIHR3byBleHRlcm5hbCBzeW1ib2xzCgkgICogZ3N0L2F1ZGlvZnhnb29kL2F1ZGlvZnguYzogKHBsdWdpbl9pbml0KToKCSAgcmUtYWRkCgoyMDA2LTA4LTIwIDEyOjA5OjE2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXVkaW9meGdvb2QvYXVkaW9meC5jCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvYXVkaW9meGdvb2QvLmN2c2lnbm9yZToKCSAgKiBnc3QvYXVkaW9meGdvb2QvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvZnhnb29kL2F1ZGlvZnguYwoJICAqIGdzdC9hdWRpb2Z4Z29vZC9hdWRpb3Bhbm9yYW1hLmM6IChnc3RfYXVkaW9fcGFub3JhbWFfYmFzZV9pbml0KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV9jbGFzc19pbml0KSwgKGdzdF9hdWRpb19wYW5vcmFtYV9pbml0KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfZ2V0X3VuaXRfc2l6ZSksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtX2NhcHMpLCAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3NldF9jYXBzKSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm1fbTJzKSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm1fczJzKSwgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm0pOgoJICAqIGdzdC9hdWRpb2Z4Z29vZC9hdWRpb3Bhbm9yYW1hLmg6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9wYW5vcmFtYS5jOiAoc2V0dXBfcGFub3JhbWFfbSksCgkgIChzZXR1cF9wYW5vcmFtYV9zKSwgKGNsZWFudXBfcGFub3JhbWEpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAocGFub3JhbWFfc3VpdGUpLCAobWFpbik6CgkgIEFkZCBhdWRpb2Z4Z29vZCBwbHVnaW4gd2l0aCBhdWRpb3Bhbm9yYW1hIGVsZW1lbnQKCjIwMDYtMDgtMTggMjE6Mzk6MDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiBGaXggcmVzeW5jaW5nIGluIHB1c2ggbW9kZSBub3Qgc3RvcHBpbmcgcmUtc3luY2luZyBhdCBlbWJlZGRlZCB6ZXJvZXM7IHNraXAgZ2FyYmFnZSBiZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vIGF0IGNpcmN1bGFyLWNoYW9zLm9yZz4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfZ2V0X3Vwc3RyZWFtX2xlbmd0aCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9maW5kX21hcmtlciksIChnc3Rfd2F2cGFja19wYXJzZV9yZXN5bmNfbG9vcCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9sb29wKSwgKGdzdF93YXZwYWNrX3BhcnNlX3Jlc3luY19hZGFwdGVyKToKCSAgRml4IHJlc3luY2luZyBpbiBwdXNoIG1vZGUgbm90IHN0b3BwaW5nIHJlLXN5bmNpbmcgYXQgZW1iZWRkZWQKCSAgemVyb2VzOyBza2lwIGdhcmJhZ2UgYmV0d2VlbiBmcmFtZXMgaW4gcHVsbCBtb2RlIGFzIHdlbGwgaWYKCSAgbmVjZXNzYXJ5OyB1c2UgZ3N0X3BhZF9xdWVyeV9wZWVyX2R1cmF0aW9uKCk7IHB1c2ggRU9TIGFuZAoJICBORVdTRUdNRU5UIGV2ZW50IGluIHJpZ2h0IGRpcmVjdGlvbiAoIzM1MTY1OSkuCgoyMDA2LTA4LTE4IDE3OjAwOjUzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOiBNb3JlIE9zcyBkb2NzIGZpeGFnZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBNb3JlIE9zcyBkb2NzIGZpeGFnZS4KCjIwMDYtMDgtMTggMTY6NTI6MjEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogQWRkZWQgZXhwZXJpbWVudGFsIFNWUTMgZGVwYXlsb2FkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOiAoZ3N0X3J0cF9zdjN2X2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX3N2M3ZfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX3N2M3ZfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX3N2M3ZfZGVwYXlfZmluYWxpemUpLCAoZ3N0X3J0cF9zdjN2X2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9zdjN2X2RlcGF5X3Byb2Nlc3MpLCAoZ3N0X3J0cF9zdjN2X2RlcGF5X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX3N2M3ZfZGVwYXlfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfc3Yzdl9kZXBheV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9zdjN2X2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5oOgoJICBBZGRlZCBleHBlcmltZW50YWwgU1ZRMyBkZXBheWxvYWRlci4KCjIwMDYtMDgtMTggMTM6MjU6MDYgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvZHYvZ3N0ZHZkZW11eC4qOiBXaGVuIGhhbmRsaW5nIHNlZWsgcmVxdWVzdHMsIGRvbid0IHNlbmQgdGhlIG5ld3NlZ21lbnQgZXZlbnQgZnJvbSB0aGUgY2FsbGluZyB0aHJlYWQuIEluc3RlYWQgc2EuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2hhbmRsZV9wdWxsX3NlZWspLAoJICAoZ3N0X2R2ZGVtdXhfbG9vcCksIChnc3RfZHZkZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4Lmg6CgkgIFdoZW4gaGFuZGxpbmcgc2VlayByZXF1ZXN0cywgZG9uJ3Qgc2VuZCB0aGUgbmV3c2VnbWVudCBldmVudCBmcm9tIHRoZQoJICBjYWxsaW5nIHRocmVhZC4gSW5zdGVhZCBzYXZlIGl0IHNvIGl0IGNhbiBiZSBzZW50IGZyb20gdGhlIHN0cmVhbWluZwoJICB0aHJlYWQuCgoyMDA2LTA4LTE3IDE1OjUxOjUwICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJICBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6IEFjY2VwdCBsZWFkaW5nIHdoaXRlc3BhY2UgYmVmb3JlIHRoZSBib3VuZGFyeQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNqb2VyZCBTaW1vbnMgPHNqb2VyZCBhdCBsdW9uIGRvdCBuZXQ+CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOiAobXVsdGlwYXJ0X3BhcnNlX2hlYWRlcik6CgkgIEFjY2VwdCBsZWFkaW5nIHdoaXRlc3BhY2UgYmVmb3JlIHRoZSBib3VuZGFyeQoJICBUaGlzIHBhdGNoIG1ha2VzIHRoZSBkZW11eGVyIGFsbG93IHNvbWUgd2hpdGVzcGFjZSBiZWZvcmUgdGhlIGFjdHVhbAoJICBib3VuZGFyeS4gVGhpcyBtYWtlcyB0aGUgZGVtdXhlciB3b3JrIHdpdGggdGhlIGBgb2xkJycgZ3N0cmVhbWVyCgkgIG11bHRpcGFydG11eGVyIGFnYWluICh3aGljaCBwbGFjZWQgYW4gZXh0cmEgXG4gYmVmb3JlIHRoZSBzdGFydAoJICBvZiB0aGUgc3RyZWFtKSBGaXhlcyAjMzQ5MDY4LgoKMjAwNi0wOC0xNyAxNTo0NzoyOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6IEVycm9yIG91dCBvbiBub24taW1wbGVtZW50ZWQgc3R1ZmYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6IChnc3RfcnRwX2gyNjRfZGVwYXlfcHJvY2Vzcyk6CgkgIEVycm9yIG91dCBvbiBub24taW1wbGVtZW50ZWQgc3R1ZmYuCgoyMDA2LTA4LTE2IDE2OjUwOjAwICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiBNYWtlIGxhZHNwYSBlbGVtZW50cyByZXVzYWJsZS4gRml4ZXMgIzM1MDAwNi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBbmR5IFdpbmdvIDx3aW5nbyBhdCBwb2JveCBkb3QgY29tPgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXR1cCksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zdGFydCksIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zdG9wKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2NsZWFudXApLCAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2V0Y2FwcyksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wZW5fYnVmZmVyKSwgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2ZsdXNoKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2RvX3B1bGxzKSwgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2RvX3B1c2hlcyksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9jaGFuZ2Vfc3RhdGUpOgoJICBNYWtlIGxhZHNwYSBlbGVtZW50cyByZXVzYWJsZS4gRml4ZXMgIzM1MDAwNi4KCjIwMDYtMDgtMTYgMTU6MzM6MTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOiBDb252ZXJ0ICcgJyBpbnRvICdfJy4gVHJ5IHRvIGtlZXAgYXMgbWFueSBjaGFyYWN0ZXJzIGluIHRoZSBwYWR0ZW1wbGF0ZSBuYW1lcyBhcyBwb3NzaWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzogKGdzdF9sYWRzcGFfYmFzZV9pbml0KToKCSAgQ29udmVydCAnICcgaW50byAnXycuIFRyeSB0byBrZWVwIGFzIG1hbnkgY2hhcmFjdGVycyBpbiB0aGUgcGFkdGVtcGxhdGUKCSAgbmFtZXMgYXMgcG9zc2libGUuCgoyMDA2LTA4LTE2IDE0OjQ3OjUwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogQSBwdXNoKCkgZ2l2ZXMgYXdheSBvdXIgcmVmY291bnQgc28gd2Ugc2hvdWxkIG5vdCB1c2UgdGhlIGJ1ZmZlciBvbiB0aGUgcGVuIGFueW1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9mbHVzaCksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9kb19wdXNoZXMpOgoJICBBIHB1c2goKSBnaXZlcyBhd2F5IG91ciByZWZjb3VudCBzbyB3ZSBzaG91bGQgbm90IHVzZSB0aGUgYnVmZmVyIG9uIHRoZQoJICBwZW4gYW55bW9yZS4KCjIwMDYtMDgtMTYgMTM6NDg6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvb3NzL2dzdG9zc21peGVyZWxlbWVudC5jOiBEb24ndCBsZWFrIGRldmljZSBzdHJpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJlbGVtZW50LmM6IChnc3Rfb3NzX21peGVyX2VsZW1lbnRfY2xhc3NfaW5pdCksCgkgIChnc3Rfb3NzX21peGVyX2VsZW1lbnRfZmluYWxpemUpOgoJICBEb24ndCBsZWFrIGRldmljZSBzdHJpbmcuCgoyMDA2LTA4LTE2IDEzOjAxOjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBSZXF1aXJlIENWUyBvZiBHU3RyZWFtZXIgY29yZSBhbmQgLWJhc2UgKGZvcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFJlcXVpcmUgQ1ZTIG9mIEdTdHJlYW1lciBjb3JlIGFuZCAtYmFzZSAoZm9yCgkgIEdTVF9UQUdfRVhURU5ERURfQ09NTUVOVCBhbmQgZ3N0X3RhZ19wYXJzZV9leHRlbmRlZF9jb21tZW50KCkpLgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIFdyaXRlIGV4dGVuZGVkIGNvbW1lbnQgdGFncyBwcm9wZXJseSAoIzM0ODc2MikuCgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChpZDNkZW11eF9pZDN2Ml9wYXJzZV9mcmFtZSksCgkgIChwYXJzZV9jb21tZW50X2ZyYW1lKToKCSAgRXh0cmFjdCBDT01NIGZyYW1lcyBpbnRvIGV4dGVuZGVkIGNvbW1lbnRzLCB3aGljaCBtYWtlcyBpdAoJICBlYXNpZXIgdG8gcHJvcGVybHkgcmV0YWluIHRoZSBkZXNjcmlwdGlvbiBiaXQgb2YgdGhlIHRhZwoJICBhbmQgbWFpbnRhaW4gdGhpcyBpbmZvcm1hdGlvbiB3aGVuIHJlLXRhZ2dpbmcgKCMzNDg3NjIpLgoKMjAwNi0wOC0xNiAxMjowMjo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBEb24ndCB0cnkgdG8gcnVuIGFubm9kZXggdW5pdCB0ZXN0cyBpZiB0aGUgYW5ub2RleCBwbHVnaW4gaGFzIG5vdCBiZWVuIGJ1aWx0IChGaXhlcyAjMzUxMTE2KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIERvbid0IHRyeSB0byBydW4gYW5ub2RleCB1bml0IHRlc3RzIGlmIHRoZSBhbm5vZGV4CgkgIHBsdWdpbiBoYXMgbm90IGJlZW4gYnVpbHQgKEZpeGVzICMzNTExMTYpLgoKMjAwNi0wOC0xNiAxMDo1MzozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzogV2hlbiB3ZSBjYW4ndCBmaW5kIGEgdXNhYmxlIGF1ZGlvc2luaywgZG9uJ3QgZXJyb3Igb3V0LCBidXQgdXNlIGEgZmFrZSBzaW5rIGluc3RlYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkgIChnc3RfYXV0b19hdWRpb19zaW5rX2ZpbmRfYmVzdCk6CgkgIFdoZW4gd2UgY2FuJ3QgZmluZCBhIHVzYWJsZSBhdWRpb3NpbmssIGRvbid0IGVycm9yIG91dCwKCSAgYnV0IHVzZSBhIGZha2Ugc2luayBpbnN0ZWFkIGFuZCBwb3N0IGEgd2FybmluZyBtZXNzYWdlCgkgIG9uIHRoZSBidXMgKCMzNDEyNzgpLgoKMjAwNi0wOC0xNiAxMDo0MDowNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svOiBJbiBwdXNoIG1vZGUsIHJlLXN5bmMgdG8gbmV4dCB3YXZwYWNrIGhlYWRlciBpZiBzeW5jIGlzIGxvc3QgKCMzNTE1NTcpLiBBbHNvIHVzZSBoeXBoZW5zIGluc3RlYWQgb2YgdW5kLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gYXQgY2lyY3VsYXItY2hhb3Mub3JnPgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19jbGFzc19pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3Jlc3luY19hZGFwdGVyKSwgKGdzdF93YXZwYWNrX3BhcnNlX2NoYWluKToKCSAgSW4gcHVzaCBtb2RlLCByZS1zeW5jIHRvIG5leHQgd2F2cGFjayBoZWFkZXIgaWYgc3luYyBpcyBsb3N0CgkgICgjMzUxNTU3KS4gQWxzbyB1c2UgaHlwaGVucyBpbnN0ZWFkIG9mIHVuZGVyc2NvcmVzIGluCgkgIEdPYmplY3QgcHJvcGVydHkgbmFtZXMuCgoyMDA2LTA4LTE2IDEwOjIyOjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL29zcy86IERvY3VtZW50IE9TUyBlbGVtZW50czsgYWRkIGd0ay1kb2MgYmx1cmIgd2l0aCAnU2luY2UgMC4xMC41JyBmb3Igb3NzbWl4ZXIncyBuZXcgZGV2aWNlIHByb3BlcnR5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzL2dzdG9zc21peGVyZWxlbWVudC5jOiAoZ3N0X29zc19taXhlcl9lbGVtZW50X2NsYXNzX2luaXQpOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6CgkgIERvY3VtZW50IE9TUyBlbGVtZW50czsgYWRkIGd0ay1kb2MgYmx1cmIgd2l0aCAnU2luY2UgMC4xMC41JyBmb3IKCSAgb3NzbWl4ZXIncyBuZXcgZGV2aWNlIHByb3BlcnR5LgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBBZGQgZG9jcyBmb3IgT1NTIGVsZW1lbnRzLgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSAgVXBkYXRlIHRvIENWUyB2ZXJzaW9uLgoKMjAwNi0wOC0xNiAxMDowNTowMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBDYXBzIGV4dHJhIHByb3BlcnRpZXMgbXVzdCBiZSBkZWZpbmVkIGFzIHN0cmluZ3MgZm9yIGRlcGF5bG9hZGVycyBiZWNhdXNlIHRoZXkgYXJlIGdlbmVyYXRlZCBmcm9tIGFuIFNEUC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkgIENhcHMgZXh0cmEgcHJvcGVydGllcyBtdXN0IGJlIGRlZmluZWQgYXMgc3RyaW5ncyBmb3IKCSAgZGVwYXlsb2FkZXJzIGJlY2F1c2UgdGhleSBhcmUgZ2VuZXJhdGVkIGZyb20gYW4gU0RQLgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOiAoZ3N0X3J0cF9oMjY0X2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX2gyNjRfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX2gyNjRfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX2gyNjRfZGVwYXlfZmluYWxpemUpLCAoZGVjb2RlX2Jhc2U2NCksCgkgIChnc3RfcnRwX2gyNjRfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX2gyNjRfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX2gyNjRfZGVwYXlfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfaDI2NF9kZXBheV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9oMjY0X2RlcGF5X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX2gyNjRfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5Lmg6CgkgIEFkZGVkIGJhc2ljLCBub3QgY29tcGxldGVseSBmdW5jdGlvbmFsIFJGQyAzOTg0IEgyNjQgZGVwYXlsb2FkZXIuCgoyMDA2LTA4LTE2IDA5OjQ4OjI2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6IEFkZCBwYWRzIGFmdGVyIHNldHRpbmcgdGhlbSB1cC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6IChnc3RfcnRwZGVjX2luaXQpLCAoZ3N0X3J0cGRlY19nZXRjYXBzKToKCSAgQWRkIHBhZHMgYWZ0ZXIgc2V0dGluZyB0aGVtIHVwLgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0c3BzcmNfaW5pdCksIChnc3RfcnRzcHNyY19maW5hbGl6ZSksCgkgIChnc3RfcnRzcHNyY19mcmVlX3N0cmVhbSksIChnc3RfcnRzcHNyY19tZWRpYV90b19jYXBzKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9zZXR1cF9ydHApLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLAoJICAoZ3N0X3J0c3BzcmNfY29tYmluZV9mbG93cyksIChnc3RfcnRzcHNyY19sb29wKSwKCSAgKGdzdF9ydHNwc3JjX29wZW4pLCAoZ3N0X3J0c3BzcmNfY2xvc2UpLCAoZ3N0X3J0c3BzcmNfcGxheSksCgkgIChnc3RfcnRzcHNyY19wYXVzZSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBGaXggaW50ZXJsZWF2ZWQgbW9kZS4KCSAgLSBQcm90ZWN0IHN0cmVhbWluZyB3aXRoIGxvY2suCgkgIC0gQ29tYmluZSBmbG93cwoJICAtIHNldCBjYXBzIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgIC0gc3RyaXAgdHJhaWxpbmcgXDAgZnJvbSBkYXRhIHBhY2tldHMuCgkgIC0gQ29uZmlndXJlIFJUUC9SVENQIGluIHN0cmVhbS4KCSAgVXNlIERFQlVHX09CSkVDVCBtb3JlLgoKMjAwNi0wOC0xNiAwOToyOToyMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IFR1cm4gYSBnX3ByaW50IGludG8gYSBERUJVRyBsaW5lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19hZGQpOgoJICBUdXJuIGEgZ19wcmludCBpbnRvIGEgREVCVUcgbGluZS4KCjIwMDYtMDgtMTYgMDk6MjU6MTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBzeXMvb3NzLzogU21hbGwgY2xlYW51cHMuIEJldHRlciBlcnJvciByZXBvcnRpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3MvZ3N0b3NzbWl4ZXIuYzogKGdzdF9vc3NtaXhlcl9vcGVuKSwgKGdzdF9vc3NtaXhlcl9uZXcpOgoJICAqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJlbGVtZW50LmM6IChnc3Rfb3NzX21peGVyX2VsZW1lbnRfY2xhc3NfaW5pdCksCgkgIChnc3Rfb3NzX21peGVyX2VsZW1lbnRfaW5pdCksIChnc3Rfb3NzX21peGVyX2VsZW1lbnRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9vc3NfbWl4ZXJfZWxlbWVudF9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X29zc19taXhlcl9lbGVtZW50X2NoYW5nZV9zdGF0ZSk6CgkgICogc3lzL29zcy9nc3Rvc3NtaXhlcmVsZW1lbnQuaDoKCSAgU21hbGwgY2xlYW51cHMuIEJldHRlciBlcnJvciByZXBvcnRpbmcuCgkgIEFkZCBkZXZpY2UgcHJvcGVydHkgZm9yIHRoZSBtaXhlciBpbnN0ZWFkIG9mIHRoZSBoYXJkY29kZWQKCSAgL2Rldi9taXhlci4gRml4ZXMgIzM1MDc4NS4KCSAgQVBJOiBHc3RPc3NNaXhlckVsZW1lbnQ6OmRldmljZSBwcm9wZXJ0eQoKMjAwNi0wOC0xNSAyMjo0NDoyNyArMDAwMCAgSmVucyBHcmFuc2V1ZXIgPGplbnNnckBnbXgubmV0PgoKCSAgZ2NvbmYvTWFrZWZpbGUuYW06IE1ha2UgLS1kaXNhYmxlLXNjaGVtYXMgd29yayByaWdodCAodGhleSBzdGlsbCBuZWVkIHRvIGJlIGNvcGllZCB0byB0aGUgaW5zdGFsbGF0aW9uIGRpcmVjdG9yeSwganVzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSmVucyBHcmFuc2V1ZXIgPGplbnNnciBhdCBnbXggbmV0PgoJICAqIGdjb25mL01ha2VmaWxlLmFtOgoJICBNYWtlIC0tZGlzYWJsZS1zY2hlbWFzIHdvcmsgcmlnaHQgKHRoZXkgc3RpbGwgbmVlZAoJICB0byBiZSBjb3BpZWQgdG8gdGhlIGluc3RhbGxhdGlvbiBkaXJlY3RvcnksIGp1c3Qgbm90CgkgIGFwcGxpZWQpLiBGaXhlcyAjMzUxMzQ3IChhbHNvICMzNDQxMDApLgoKMjAwNi0wOC0xNSAyMDoyOTo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLio6IE1ha2Ugd2F2cGFja3BhcnNlIGFsc28gd29yayBpbiBwdXNoLW1vZGUgKG5vdCBzZWVrYWJsZSB5ZXQgdGhvdWdoKTsgc29tZSBzbWFsbCBjbGVhbi11Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfY2xhc3NfaW5pdCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9yZXNldCksIChnc3Rfd2F2cGFja19wYXJzZV9nZXRfc3JjX3F1ZXJ5X3R5cGVzKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NyY19xdWVyeSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9oYW5kbGVfc2Vla19ldmVudCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zaW5rX2V2ZW50KSwgKGdzdF93YXZwYWNrX3BhcnNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY3JlYXRlX3NyY19wYWQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfcHVzaF9idWZmZXIpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfbG9vcCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jaGFpbiksIChnc3Rfd2F2cGFja19wYXJzZV9zaW5rX2FjdGl2YXRlKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NpbmtfYWN0aXZhdGVfcHVsbCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tbyBhdCBjaXJjdWxhci1jaGFvcy5vcmc+CgkgIE1ha2Ugd2F2cGFja3BhcnNlIGFsc28gd29yayBpbiBwdXNoLW1vZGUgKG5vdCBzZWVrYWJsZSB5ZXQgdGhvdWdoKTsKCSAgc29tZSBzbWFsbCBjbGVhbi11cHMgYWxvbmcgdGhlIHdheTsgYWRkIHN1cHBvcnQgZm9yIFNFRUtJTkcgcXVlcnkKCSAgYW5kIHF1ZXJ5IHR5cGVzIGZ1bmN0aW9uLiAoIzM1MTQ5NSkuCgoyMDA2LTA4LTE0IDExOjM3OjEwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIGJhY2sgdG8gSEVBRAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYmFjayB0byBIRUFECgoyMDA2LTA4LTE0IDExOjE0OjQzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgcmVsZWFzaW5nIDAuMTAuNAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVsZWFzaW5nIDAuMTAuNAoKMjAwNi0wOC0xNCAxMDowNjo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRXh0cmFjdCBhbGwgcmVmZXJlbmNlcy9yZWRpcmVjdGlvbnMgaWYgdGhlcmUgaXMgbW9yZSB0aGFuIG9uZSBhbmQgc29ydCB0aGVtOyBhbHNvIGV4dHJhY3QgbWluaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3JlZGlyZWN0c19zb3J0X2Z1bmMpLAoJICAocXRkZW11eF9wcm9jZXNzX3JlZGlyZWN0cyksIChxdGRlbXV4X3BhcnNlX3RyZWUpOgoJICBFeHRyYWN0IGFsbCByZWZlcmVuY2VzL3JlZGlyZWN0aW9ucyBpZiB0aGVyZSBpcyBtb3JlCgkgIHRoYW4gb25lIGFuZCBzb3J0IHRoZW07IGFsc28gZXh0cmFjdCBtaW5pbXVtIHJlcXVpcmVkCgkgIGJpdHJhdGUgaW5mb3JtYXRpb24gaWYgYXZhaWxhYmxlLiAoIzM1MDM5OSkKCjIwMDYtMDgtMTAgMTQ6MTA6MjggKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBmbHVlbmRvLmNvbT4KCgkgIFNlbmQgdGhlIG5ld3NlZ21lbnQgZXZlbnQgaW4gdGhlIHN0cmVhbWluZyB0aHJlYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGZsdWVuZG8uY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKToKCSAgU2VuZCB0aGUgbmV3c2VnbWVudCBldmVudCBpbiB0aGUgc3RyZWFtaW5nIHRocmVhZC4KCSAgRml4ZXMgIzM0NzUyOQoKMjAwNi0wOC0xMCAxNDowMjo0NSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIGJ1bXBlZCBmb3IgcHJlcmVsCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBidW1wZWQgZm9yIHByZXJlbAoKMjAwNi0wOC0xMCAxMzoxMDozOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIHVwZGF0ZSB0cmFuc2xhdGlvbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMDYtMDgtMDggMTQ6NTU6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCBzaWxseSB0eXBvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyZWUpOgoJICBGaXggc2lsbHkgdHlwby4KCjIwMDYtMDgtMDggMTQ6NDY6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkgIENoYW5nZUxvZyBzdXJnZXJ5OiBtZW50aW9uIGJ1ZyBudW1iZXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENoYW5nZUxvZyBzdXJnZXJ5OiBtZW50aW9uIGJ1ZyBudW1iZXIKCjIwMDYtMDgtMDggMTQ6NDA6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvanBlZy86IFJlZnVzZSBzaW5rIGNhcHMgaW4gdGhlIGVuY29kZXIgaWYgd2lkdGggb3IgaGVpZ2h0IGlzIG5vdCBhIG11bHRpcGxlIG9mIDE2LCB0aGUgZW5jb2RlciBkb2VzIG5vdCBzdXBwb3J0IHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0c21va2VkZWMuYzogKGdzdF9zbW9rZWRlY19jaGFpbik6CgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzogKGdzdF9zbW9rZWVuY19zZXRjYXBzKSwKCSAgKGdzdF9zbW9rZWVuY19yZXN5bmMpLCAoZ3N0X3Ntb2tlZW5jX2NoYWluKToKCSAgUmVmdXNlIHNpbmsgY2FwcyBpbiB0aGUgZW5jb2RlciBpZiB3aWR0aCBvciBoZWlnaHQgaXMgbm90IGEKCSAgbXVsdGlwbGUgb2YgMTYsIHRoZSBlbmNvZGVyIGRvZXMgbm90IHN1cHBvcnQgdGhhdCB5ZXQ7IGFsb25nIHRoZQoJICBzYW1lIGxpbmVzLCBjaGVjayB0aGUgcmV0dXJuIHZhbHVlIG9mIHRoZSBlbmNvZGVyIHNldHVwIGZ1bmN0aW9uOwoJICBhbHNvIHJlbW92ZSBzb21lIGRlYnVnIGxvZyBjbHV0dGVyLgoKMjAwNi0wOC0wNCAxMTozODo1NCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuaDogQWRkIGluZnJhc3RydWN0dXJlIGZvciBzdG9yaW5nIHdoZXRoZXIgYSBwcm9jZXNzb3IgY2FuIHdvcmsgaW4gcGxhY2Ugb3Igbm90LCBhbmQgZm9yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA4LTA0ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmg6IEFkZCBpbmZyYXN0cnVjdHVyZSBmb3Igc3RvcmluZwoJICB3aGV0aGVyIGEgcHJvY2Vzc29yIGNhbiB3b3JrIGluIHBsYWNlIG9yIG5vdCwgYW5kIGZvciBrZWVwaW5nCgkgIHRyYWNrIG9mIGl0cyBzdGF0ZS4gQ2hhbmdlIHRoZSBGbG93UmV0dXJuIGluc3RhbmNlIHZhcmlhYmxlIGZyb20KCSAgInN0YXRlIiB0byAiZmxvd19zdGF0ZSIsIGFsbCBjYWxsZXJzIGNoYW5nZWQuCgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYyAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2V0dXApCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zdGFydCwgZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc3RvcCkKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2NsZWFudXApOiBOZXcgZnVuY3Rpb25zIHRvIG1hbmFnZSB0aGUKCSAgcHJvY2Vzc29yJ3Mgc3RhdGUuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXRjYXBzKTogc3RhcnQoKSBhcyB3ZWxsIGFzIHNldHVwKCkgaGVyZS4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3ByZXBhcmUpOiBSZXNwZWN0IENBTl9QUk9DRVNTX0lOX1BMQUNFLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfY2hhbmdlX3N0YXRlKTogU3RvcCBhbmQgY2xlYW51cCB0aGUKCSAgcHJvY2Vzc29yIGFzIHdlIGdvIHRvIE5VTEwuCgkgICogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYyAoZ3N0X2xhZHNwYV9iYXNlX2luaXQpOiBSZXVzZSBidWZmZXJzIGlmCgkgIElOUExBQ0VfQlJPS0VOIGlzIG5vdCBzZXQuCgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYyAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJlcGFyZSk6CgkgIERvIHRoZSBhbGxvY19idWZmZXIgaW4gYnl0ZXMsIG5vdCBmcmFtZXMuCgoyMDA2LTA4LTA0IDEwOjIxOjI2ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6IEZpeCByZ2IgbWFza3Mgd2hlbiByZWNvcmRpbmcgaW4gPCAyNGJwcC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDgtMDQgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzogKHhpbWFnZXV0aWxfeGNvbnRleHRfZ2V0KToKCSAgRml4IHJnYiBtYXNrcyB3aGVuIHJlY29yZGluZyBpbiA8IDI0YnBwLgoKMjAwNi0wOC0wNCAwOToyMDoyNiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBCUEIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zcmNfYWN0aXZhdGVfcHVsbCk6IEJQQgoKMjAwNi0wOC0wNCAwOTowNTo1MyArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXRjYXBzKSAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJlcGFyZSkgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDgtMDQgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYyAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2V0Y2FwcykKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3ByZXBhcmUpCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl91cGRhdGVfaW5wdXRzKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJvY2VzcywgZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcGVuX2J1ZmZlcikKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2ZsdXNoKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2lua19hY3RpdmF0ZV9wdXNoKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc3JjX2FjdGl2YXRlX3B1bGwpCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9jaGFuZ2Vfc3RhdGUpOiBSZW1vdmUgdGhlIGxhc3Qgb2YgdGhlIGNvZGUKCSAgdGhhdCBhc3N1bWVzIHRoYXQgd2UgcHJvY2VzcyB3aG9sZSBidWZmZXJzIGF0IGEgdGltZS4gRml4IHNvbWUKCSAgZGVidWdnaW5nLiBTZWVtcyB0byB3b3JrIG5vdyBpbiBzb21lIGNhc2VzLgoKMjAwNi0wNy0zMSAyMjoyNzoyMiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYyAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJvY2Vzcyk6IEZpeCBuZnJhbWVzLWNob29zaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wOC0wMSAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcm9jZXNzKToKCSAgRml4IG5mcmFtZXMtY2hvb3NpbmcuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9pbml0KTogSW5pdCBwZW5kaW5nX2luIGFuZCBwZW5kaW5nX291dC4KCjIwMDYtMDctMzEgMjI6MDM6MDkgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2luaXQpOiBObyBtb3JlIGRlZmF1bHQgc2FtcGxlIHJhdGUsIGFsdGhvdWdoIHdlIG5ldmVyIGNoZWNrIHRoYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wOC0wMSAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9pbml0KTogTm8KCSAgbW9yZSBkZWZhdWx0IHNhbXBsZSByYXRlLCBhbHRob3VnaCB3ZSBuZXZlciBjaGVjayB0aGF0IHRoZSBzYW1wbGUKCSAgcmF0ZSBhY3R1YWxseSBnZXRzIHNldC4gU29tZXRoaW5nIGZvciB0aGUgZnV0dXJlLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2V0Y2Fwcyk6IFNvbWUgcmVmY291bnQgZml4ZXMsIGZsb3cgZml4ZXMuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9ldmVudCk6IFJlZmNvdW50IGZpeGVuLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJvY2Vzcyk6IFB1bGwgdGhlIG51bWJlciBvZiBmcmFtZXMgdG8KCSAgcHJvY2VzcyBmcm9tIHRoZSBzaXplcyBvZiB0aGUgYnVmZmVycyBpbiB0aGUgaW5wdXQgcGVucy4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Blbl9idWZmZXIpOiBSZW1vdmUgYW4gaW5jb3JyZWN0IEZJWE1FIDopCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9kb19wdWxscyk6IEFkZCBhbiBuZnJhbWVzIGFyZ3VtZW50LCBhbmQgdXNlCgkgIGl0IGluc3RlYWQgb2YgYnVmZmVyX2ZyYW1lcy4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2dldHJhbmdlKTogUmVmY291bnQgZml4ZW4sIHBhc3MgbmZyYW1lcyBvbgoJICB0byBkb19wdWxscy4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2NoYWluKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2lua19hY3RpdmF0ZV9wdXNoKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc3JjX2FjdGl2YXRlX3B1bGwpOiAgUmVmY291bnQgZml4ZW4uCgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuaDogTm8gbW9yZSBidWZmZXJfZnJhbWVzLCB5YXkuCgoyMDA2LTA3LTMxIDE5OjQ0OjE4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiBkb24ndCBxdWVyeSBidWZmZXItZnJhbWVzIGZyb20gY2FwcywgYWRkIGxvdHMgb2YgZGVidWctbG9nLCB0cnkgZml4IGZvciBhc3NlcnQgKCMzNDkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldGNhcHMpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJvY2Vzcyk6CgkgIGRvbid0IHF1ZXJ5IGJ1ZmZlci1mcmFtZXMgZnJvbSBjYXBzLCBhZGQgbG90cyBvZiBkZWJ1Zy1sb2csCgkgIHRyeSBmaXggZm9yIGFzc2VydCAoIzM0OTE4OSkKCjIwMDYtMDctMzEgMTU6NTg6NDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy5jOiBGaXggZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgRml4IGRvY3MuCgoyMDA2LTA3LTI5IDE2OjMyOjI2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiBBZGQgZGVidWdzIGxvZ3MgaGVyZSBhbmQgdGhlcmUsIGFkZCBtb3JlIGVycm9yIGhhbmRsaW5nLCBhZGQgc29tZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfYWRkX3BhZF9mcm9tX3RlbXBsYXRlKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2luaXQpLCAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2V0Y2FwcyksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcm9jZXNzKSwgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Blbl9idWZmZXIpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZG9fcHVsbHMpLCAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZ2V0cmFuZ2UpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2lua19hY3RpdmF0ZV9wdXNoKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NyY19hY3RpdmF0ZV9wdWxsKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2NoYW5nZV9zdGF0ZSk6CgkgIEFkZCBkZWJ1Z3MgbG9ncyBoZXJlIGFuZCB0aGVyZSwgYWRkIG1vcmUgZXJyb3IgaGFuZGxpbmcsIGFkZCBzb21lCgkgIEZJWE1FIGNvbW1lbnRzLCBmaWxlZCAjMzQ5MTg5CgoyMDA2LTA3LTI5IDExOjIyOjQ3ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZXh0L2pwZWcvZ3N0c21va2VlbmMuYzogU2V0IGNhcHMgb24gYnVmZmVyIGNvcnJlY3RseS4gIEZpeGVzIGJ1ZyAjMzQ5MTU1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNy0yOSAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6IChnc3Rfc21va2VlbmNfZ2V0Y2FwcyksCgkgIChnc3Rfc21va2VlbmNfc2V0Y2FwcyksIChnc3Rfc21va2VlbmNfY2hhaW4pOgoJICBTZXQgY2FwcyBvbiBidWZmZXIgY29ycmVjdGx5LiAgRml4ZXMgYnVnICMzNDkxNTUuCgoyMDA2LTA3LTI4IDE2OjE3OjE3ICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJICBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6IFVzZXMgR3N0QWRhcHRlciBpbnN0ZWFkIG9mIG93biBidWZmZXJpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2pvZXJkIFNpbW9ucyA8c2pvZXJkIGF0IGx1b24gZG90IG5ldD4KCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6IChnc3RfbXVsdGlwYXJ0X2RlbXV4X2Jhc2VfaW5pdCksCgkgIChnc3RfbXVsdGlwYXJ0X2RlbXV4X2NsYXNzX2luaXQpLCAoZ3N0X211bHRpcGFydF9kZW11eF9pbml0KSwKCSAgKGdzdF9tdWx0aXBhcnRfZGVtdXhfZmluYWxpemUpLCAoZ2V0X2xpbmVfZW5kKSwKCSAgKG11bHRpcGFydF9wYXJzZV9oZWFkZXIpLCAobXVsdGlwYXJ0X2ZpbmRfYm91bmRhcnkpLAoJICAoZ3N0X211bHRpcGFydF9kZW11eF9jaGFpbiksIChnc3RfbXVsdGlwYXJ0X2RlbXV4X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfbXVsdGlwYXJ0X3NldF9wcm9wZXJ0eSksIChnc3RfbXVsdGlwYXJ0X2dldF9wcm9wZXJ0eSk6CgkgIFVzZXMgR3N0QWRhcHRlciBpbnN0ZWFkIG9mIG93biBidWZmZXJpbmcuCgkgIEFjdHVhbGx5IHBhcnNlcyB0aGUgbWltZS10eXBlIGNvcnJlY3RseSAoSW4gdGVzdHMgdGhlIG1pbWUtdHlwZSB3YXMKCSAgYWx3YXlzICIiIHdpdGggdGhlIG9sZCB2ZXJzaW9uKS4KCSAgVXNlcyB0aGUgQ29udGVudC1sZW5ndGggaGVhZGVyIGlmIGF2YWlsYWJsZSB0byBzcGVlZCB1cCB0aGluZ3MuCgkgIFJlbGlhYmx5IGF1dG9zY2FucyB0aGUgYm91bmRhcnkgbmFtZSBieSBkZWZhdWx0LgoJICBGaXhlcyAjMzQ5MDY4LgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IChnc3RfbXVsdGlwYXJ0X211eF9jb2xsZWN0ZWQpOgoJICBEb24ndCBzdGFydCB0aGUgc3RyZWFtIHdpdGggYSBcbi4KCjIwMDYtMDctMjggMDg6MzI6NDcgKzAwMDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCgkgIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOiBPcGVuIHNvdXJjZSB3aXRoIE9fTk9OQkxPQ0sgKCMzNDkwMTUpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEJyaWFuIENhbWVyb24gPGJyaWFuIGRvdCBjYW1lcm9uIGF0IHN1biBjb20+CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6IChnc3Rfc3VuYXVkaW9zcmNfb3Blbik6CgkgIE9wZW4gc291cmNlIHdpdGggT19OT05CTE9DSyAoIzM0OTAxNSkuCgoyMDA2LTA3LTI4IDA4OjIxOjI3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4Lio6IFdoaXRlc3BhY2UgZml4ZXMgYW5kIG1vcmUgZGVidWcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9tYXNzYWdlX2luZGV4KToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIFdoaXRlc3BhY2UgZml4ZXMgYW5kIG1vcmUgZGVidWcKCjIwMDYtMDctMjcgMTE6MjE6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6IEdldCByaWQgb2Ygb2xkIGFuZCB1bnVzZWQgbWFnaWMgc291bmQtc2VydmVyIHByb3BlcnRpZXMgc3R1ZmYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSAgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfY3JlYXRlX2VsZW1lbnRfd2l0aF9wcmV0dHlfbmFtZSksCgkgIChnc3RfYXV0b19hdWRpb19zaW5rX2ZpbmRfYmVzdCksCgkgIChnc3RfYXV0b19hdWRpb19zaW5rX2NoYW5nZV9zdGF0ZSk6CgkgIEdldCByaWQgb2Ygb2xkIGFuZCB1bnVzZWQgbWFnaWMgc291bmQtc2VydmVyIHByb3BlcnRpZXMgc3R1ZmYuCgkgIEFkZCBzdWZmaXggdG8gY2hpbGQgc2luaydzIG5hbWUgdGhhdCBtYWtlcyBpdCBlYXN5IHRvIHNlZSBmcm9tCgkgIHRoZSBuYW1lIGFsb25lIHdoaWNoIHR5cGUgaXQgYWN0dWFsbHkgaXMgKGFsc2EsIG9zcywgZXNkLCBldGMuKS4KCjIwMDYtMDctMjcgMTA6MDU6MjcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy4qOiBSZW5hbWUgImJ1ZmZlciIgdG8gImJ1ZmZlci1zaXplIiB0byBtYWtlIGNsZWFyIGl0IGlzIGEgc2l6ZSB3ZSBzZXQgYW5kIG5vdCBzb21lIHNvcnQgb2YgZmVhdHVyZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY2xhc3NfaW5pdCksIChnc3RfdWRwc3JjX2luaXQpLAoJICAoZ3N0X3VkcHNyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3VkcHNyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3VkcHNyY19zdGFydCk6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuaDoKCSAgUmVuYW1lICJidWZmZXIiIHRvICJidWZmZXItc2l6ZSIgdG8gbWFrZSBjbGVhciBpdCBpcyBhIHNpemUgd2Ugc2V0IGFuZAoJICBub3Qgc29tZSBzb3J0IG9mIGZlYXR1cmUgd2UgZW5hYmxlLgoKMjAwNi0wNy0yNyAxMDowMTo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IFVzZSBDTE9TRV9TT0NLRVQoKSBoZXJlIGluc3RlYWQgb2YgY2xvc2UoKSB0byBtYWludGFpbiB3aW4zMiB3b3JraW5lc3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX3N0YXJ0KToKCSAgVXNlIENMT1NFX1NPQ0tFVCgpIGhlcmUgaW5zdGVhZCBvZiBjbG9zZSgpIHRvIG1haW50YWluCgkgIHdpbjMyIHdvcmtpbmVzcy4KCjIwMDYtMDctMjcgMDk6MDQ6NTEgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzLnZlcm1laXJAYmFyY28uY29tPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuKjogQWRkZWQgImJ1ZmZlciIgcHJvcGVydHkgdG8gY29udHJvbCB0aGUga2VybmVsIHJlY2VpdmUgYnVmZmVyIHNpemUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVGhpanMgVmVybWVpciA8dGhpanMgZG90IHZlcm1laXIgYXQgYmFyY28gZG90IGNvbT4KCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jbGFzc19pbml0KSwgKGdzdF91ZHBzcmNfaW5pdCksCgkgIChnc3RfdWRwc3JjX2NyZWF0ZSksIChnc3RfdWRwc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfdWRwc3JjX2dldF9wcm9wZXJ0eSksIChnc3RfdWRwc3JjX3N0YXJ0KToKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5oOgoJICBBZGRlZCAiYnVmZmVyIiBwcm9wZXJ0eSB0byBjb250cm9sIHRoZSBrZXJuZWwgcmVjZWl2ZSBidWZmZXIgc2l6ZS4KCSAgVXBkYXRlIGRvY3VtZW50YXRpb24uCgkgIFNtYWxsIGNsZWFudXBzLiBGaXhlcyAjMzQ4NzUyLgoJICBBUEk6IGJ1ZmZlciBwcm9wZXJ0eQoKMjAwNi0wNy0yNiAxNjozNjo1OSArMDAwMCAgS2FpIFZlaG1hbmVuIDxrdjIwMDRAZWNhLmN4PgoKCSAgZ3N0L3J0cC86IEZpeCB0aW1lc3RhbXAgY2FsY3VsYXRpb24gb24gb3V0Z29pbmcgUlRQIHBhY2tldHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogS2FpIFZlaG1hbmVuIDxrdjIwMDQgYXQgZWNhIGRvdCBjeD4KCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzogKGdzdF9ydHBfcGNtYV9wYXlfZmx1c2gpLAoJICAoZ3N0X3J0cF9wY21hX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzogKGdzdF9ydHBfcGNtdV9wYXlfZmx1c2gpLAoJICAoZ3N0X3J0cF9wY211X3BheV9oYW5kbGVfYnVmZmVyKToKCSAgRml4IHRpbWVzdGFtcCBjYWxjdWxhdGlvbiBvbiBvdXRnb2luZyBSVFAgcGFja2V0cy4KCSAgRml4ZXMgIzM0ODY3NS4KCjIwMDYtMDctMjYgMTA6MDc6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOiBpcyBzdGlsbCBzdWItb3B0aW1hbCB0aG91Z2gsIHNpbmNlIHdlIGRvbid0IHJldGFpbiBvciBleHRyYWN0IHRoZSBjb21tZW50IGRlc2NyaXB0aW9ucyBwcm8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgRml4IHdyaXRpbmcgb2YgY29tbWVudCBmcmFtZXMgKHNob3VsZCBiZSBDT01NIG5vdCBUQ09NKSwKCSAgaXMgc3RpbGwgc3ViLW9wdGltYWwgdGhvdWdoLCBzaW5jZSB3ZSBkb24ndCByZXRhaW4gb3IKCSAgZXh0cmFjdCB0aGUgY29tbWVudCBkZXNjcmlwdGlvbnMgcHJvcGVybHkgKCMzMzQzNzUsCgkgIGFsc28gc2VlICMzMzQzNzUpLgoKMjAwNi0wNy0yNiAwOTowMjo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAjZGVmaW5lICdmYWN0JyBSSUZGIGNodW5rIGlmIHdlIGFyZSBub3QgY29tcGlsaW5nIGFnYWluc3QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgICNkZWZpbmUgJ2ZhY3QnIFJJRkYgY2h1bmsgaWYgd2UgYXJlIG5vdCBjb21waWxpbmcgYWdhaW5zdAoJICAtYmFzZSBDVlMgKHdlIGRvbid0IHdhbnQgdG8gZGVwZW5kIG9uIC1iYXNlIENWUyBmb3IgdGhpcwoJICBvbmUgZGVmaW5lIG9ubHksIGFuZCBhbHNvIG5vdCBmb3IgcmVsZWFzZSBvcmRlciByZWFzb25zKS4KCjIwMDYtMDctMjYgMDg6MTc6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOiBIYW5kbGUgbXVsdGlwbGUgdGFncyBvZiB0aGUgc2FtZSB0eXBlIHByb3Blcmx5LiBSZS1pbmplY3QgdW5wYXJzZWQgSUQzdjIgZnJhbWVzIHRoYXQgd2UgZ2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgSGFuZGxlIG11bHRpcGxlIHRhZ3Mgb2YgdGhlIHNhbWUgdHlwZSBwcm9wZXJseS4gUmUtaW5qZWN0CgkgIHVucGFyc2VkIElEM3YyIGZyYW1lcyB0aGF0IHdlIGdldCBhcyBiaW5hcnkgYmxvYnMgZnJvbQoJICBpZDNkZW11eCBpbnRvIHRoZSB0YWcgYWdhaW4gc28gd2UgZG9uJ3QgbG9zZSBpbmZvcm1hdGlvbgoJICB3aGVuIHJldGFnZ2luZyAoIzMzNDM3NSkuCgoyMDA2LTA3LTI1IDE3OjU0OjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogRG9jdW1lbnQgbmV3bHktYWRkZWQgcHJvcGVydGllcyBwcm9wZXJseSwgc28gdGhhdCB0aGVyZSBpcyBhICdTaW5jZTogMC4xMC40JyBpbiB0aGUgcGx1Z2luLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IChnc3RfeGltYWdlX3NyY19jbGFzc19pbml0KToKCSAgRG9jdW1lbnQgbmV3bHktYWRkZWQgcHJvcGVydGllcyBwcm9wZXJseSwgc28gdGhhdCB0aGVyZSBpcyBhCgkgICdTaW5jZTogMC4xMC40JyBpbiB0aGUgcGx1Z2luIGRvY3MuIENvbnZlcnQgc29tZSBwcm9wZXJ0eQoJICBuYW1lcyBpbnRvIGNhbm9uaWNhbCBHT2JqZWN0IHN0eWxlIChHT2JqZWN0IHdpbGwgZG8gdGhhdAoJICBpbnRlcm5hbGx5IGFueXdheSkuCgoyMDA2LTA3LTI1IDE2OjQ3OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzogRXh0cmFjdCBmcmFtZXMgZm9yIElEM3YyIHZlcnNpb25zIHByaW9yIHRvIElEM3YyLjMuMCBwcm9wZXJseSBhcyB3ZWxsLCBhbmQgYWRkIHRoZSB2ZXJzaW9uIHRvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6CgkgIChpZDNkZW11eF9hZGRfaWQzdjJfZnJhbWVfYmxvYl90b190YWdsaXN0KToKCSAgRXh0cmFjdCBmcmFtZXMgZm9yIElEM3YyIHZlcnNpb25zIHByaW9yIHRvIElEM3YyLjMuMCBwcm9wZXJseSBhcwoJICB3ZWxsLCBhbmQgYWRkIHRoZSB2ZXJzaW9uIHRvIHRoZSBibG9iJ3MgYnVmZmVyIGNhcHMsIHNpbmNlIHRoYXQKCSAgaW5mb3JtYXRpb24gd2lsbCBiZSBuZWVkZWQgZm9yIGRlc2VyaWFsaXNhdGlvbiBsYXRlciBvbiAoIzM0ODY0NCkuCgoyMDA2LTA3LTI1IDEzOjE0OjA1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IE1vdmVkIHdpbjMyIHZhcmlhbnQgb2YgR1NUX0RFQlVHX0NBVEVHT1JZX0VYVEVSTiB0byBnc3RpbmZvLmguIEZpeGVkIGluZGVudGF0aW9uIGFuZCBzcGFjaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3JlYWRfc3ViaW5kZXhlcyksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSk6CgkgIE1vdmVkIHdpbjMyIHZhcmlhbnQgb2YgR1NUX0RFQlVHX0NBVEVHT1JZX0VYVEVSTiB0byBnc3RpbmZvLmguIEZpeGVkCgkgIGluZGVudGF0aW9uIGFuZCBzcGFjaW5nLgoKMjAwNi0wNy0yNCAyMTo0MzowNiArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay4qOiBBZGQgYW4gYXR0ZW51YXRpb24gcHJvcGVydHkgdGhhdCB3aWxsIGRpcmVjdGx5IGF0dGVudWF0ZSB0aGUgZGlyZWN0c291bmQgYnVmZmVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBBZGQgYW4gYXR0ZW51YXRpb24gcHJvcGVydHkgdGhhdCB3aWxsIGRpcmVjdGx5IGF0dGVudWF0ZSB0aGUKCSAgZGlyZWN0c291bmQgYnVmZmVyLgoJICBDaGFuZ2UgdGhlIHNpemUgb2YgdGhlIGRpcmVjdHNvdW5kIHNlY29uZGFyeSBidWZmZXIgdG8gYSBoYWxmIHNlY29uZC4KCSAgQWRkIG1vcmUgZGVidWcgbG9ncy4KCSAgQWRkIGEgbG9jayB0byBwcm90ZWN0IGRzb3VuZCBidWZmZXIgd3JpdGUgYWNjZXNzLgoJICBGaXggYSBiYWQgaW1wbGVtZW50YXRpb24gb2YgcmVzZXQuCgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIEFkZCBhIGtlZXBfYXNwZWN0X3JhdGlvIHByb3BlcnR5LgoJICBEbyBub3QgdXNlIG92ZXJsYXkgaWYgbm90IHN1cHBvcnRlZC4KCSAgQWRkIG1vcmUgZGVidWcgbG9ncy4KCSAgUmVtb3ZlIG92ZXJ3cml0ZSBvZiBXTV9FUkFTRUJLR05EIG1lc3NhZ2UgaGFuZGxpbmcuIEl0IHdhcyBub3QKCSAgcmVkcmF3aW5nIGJvcmRlciB3aGVuIGtlZXBfYXNwZWN0X3JhdGlvIHdhcyBlbmFibGVkLgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgdXBkYXRlIHZlcnNpb24gd2FpdGluZyBhbiBhdXRvLWdlbmVyYXRlZCBjb25maWcuaAoKMjAwNi0wNy0yNCAxNToyNTo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IFVwZGF0ZSBmaWxlcyB0byBDVlMvUHJlcmVsZWFzZSB2ZXJzaW9uLCBhZGQgZXNkc2luayBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkgIFVwZGF0ZSBmaWxlcyB0byBDVlMvUHJlcmVsZWFzZSB2ZXJzaW9uLCBhZGQgZXNkc2luayBkb2NzLgoJICAqIGV4dC9lc2QvZXNkc2luay5jOgoJICBBZGQgZ3RrLWRvYyBibHVyYi4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSAgRml4IHR5cG8gaW4gZWxlbWVudCBkZXNjcmlwdGlvbi4KCjIwMDYtMDctMjQgMTQ6NTQ6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkgIENoYW5nZUxvZyBzdXJnZXJ5OiBmaXggU3RlZmFuJ3MgZS1tYWlsIGFkZHJlc3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENoYW5nZUxvZyBzdXJnZXJ5OiBmaXggU3RlZmFuJ3MgZS1tYWlsIGFkZHJlc3MKCjIwMDYtMDctMjQgMTQ6NDk6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZXNkL2VzZHNpbmsuYzogUHJldmVudCBsaWJlc2QgZnJvbSBhdXRvLXNwYXduaW5nIGEgc291bmQgZGFlbW9uIGlmIGl0IGlzIG5vdCBhbHJlYWR5IHJ1bm5pbmcuIE5vdyB0aGF0IHdlIGRvbid0IGQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2VzZC9lc2RzaW5rLmM6IChnc3RfZXNkc2lua19vcGVuKSwKCSAgKGdzdF9lc2RzaW5rX2ZhY3RvcnlfaW5pdCk6CgkgIFByZXZlbnQgbGliZXNkIGZyb20gYXV0by1zcGF3bmluZyBhIHNvdW5kIGRhZW1vbiBpZiBpdAoJICBpcyBub3QgYWxyZWFkeSBydW5uaW5nLiBOb3cgdGhhdCB3ZSBkb24ndCBkbyBldmlsIHN0dWZmCgkgIGxpa2UgdGhhdCBhbnkgbG9uZ2VyIHdlIGNhbiBnaXZlIGVzZHNpbmsgYSByYW5rIHNvIHRoYXQKCSAgYXV0b2F1ZGlvc2luayB3aWxsIHRyeSBpdCBhcyB3ZWxsIGlmIGFsbCBvdGhlciBhdWRpbwoJICBzaW5rcyBmYWlsICgjMzQzMDUxKS4KCjIwMDYtMDctMjQgMTQ6NDI6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZXNkL01ha2VmaWxlLmFtOiBPb3BzLCBuZWVkIHRvIHJlbW92ZSBSRUFETUUgZnJvbSBFWFRSQV9ESVNUIGFzIHdlbGwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9lc2QvTWFrZWZpbGUuYW06CgkgIE9vcHMsIG5lZWQgdG8gcmVtb3ZlIFJFQURNRSBmcm9tIEVYVFJBX0RJU1QgYXMgd2VsbC4KCjIwMDYtMDctMjQgMTQ6Mzc6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZXNkL1JFQURNRTogUmVtb3ZlLCBpdCBjb250YWlucyBub3RoaW5nIHVzZWZ1bCBhbnl3YXkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9lc2QvUkVBRE1FOgoJICBSZW1vdmUsIGl0IGNvbnRhaW5zIG5vdGhpbmcgdXNlZnVsIGFueXdheS4KCSAgKiBleHQvZXNkL2VzZHNpbmsuYzogKGdzdF9lc2RzaW5rX2luaXQpLCAoZ3N0X2VzZHNpbmtfcHJlcGFyZSksCgkgIChnc3RfZXNkc2lua19kZWxheSk6CgkgIFNvbWUgc21hbGwgY2xlYW4tdXBzOyB1c2UgR1NUX0JPSUxFUlBMQVRFIGV0Yy4KCjIwMDYtMDctMjQgMTQ6MTY6MDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbGF3LzogRml4IG5lZ290aWF0aW9uIHRvIGRlYWwgd2l0aCBBTlkvRU1QVFkgY2FwcyBpbnN0ZWFkIG9mIGxlYWtpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzogKGFsYXdkZWNfZ2V0Y2Fwcyk6CgkgICogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOiAoYWxhd2VuY19nZXRjYXBzKSwgKGdzdF9hbGF3ZW5jX2NoYWluKToKCSAgKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOiAobXVsYXdkZWNfZ2V0Y2Fwcyk6CgkgICogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzogKG11bGF3ZW5jX2dldGNhcHMpOgoJICBGaXggbmVnb3RpYXRpb24gdG8gZGVhbCB3aXRoIEFOWS9FTVBUWSBjYXBzIGluc3RlYWQgb2YgbGVha2luZy4KCjIwMDYtMDctMjQgMTM6NDA6NTYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS4qOiBVc2UgaW5mb3JtYXRpb24gZnJvbSAnZmFjdCcgY2h1bmsgZm9yIGxlbmd0aCBjYWxjdWxhdGlvbiBvZiBjb21wcmVzc2VkIHNhbXBsZXMuIENhbGN1bGF0ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9yZXNldCksCgkgIChnc3Rfd2F2cGFyc2Vfb3RoZXIpLCAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksCgkgIChnc3Rfd2F2cGFyc2VfZ2V0X3Vwc3RyZWFtX3NpemUpLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwKCSAgKGdzdF93YXZwYXJzZV9hZGRfc3JjX3BhZCksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpLAoJICAoZ3N0X3dhdnBhcnNlX3BhZF9xdWVyeSk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIFVzZSBpbmZvcm1hdGlvbiBmcm9tICdmYWN0JyBjaHVuayBmb3IgbGVuZ3RoIGNhbGN1bGF0aW9uIG9mIGNvbXByZXNzZWQKCSAgc2FtcGxlcy4gQ2FsY3VsYXRlIGJwcyBpZiBib2d1cyB2YWx1ZSBpcyBmb3VuZCBpbiB3YXYgaGVhZGVyIChlbWJlZGVkCgkgIG1wMi9tcDMpLgoKMjAwNi0wNy0yNCAxMTo0ODowMyArMDAwMCAgSm9uaSBWYWx0YW5lbiA8am9uaS52YWx0YW5lbkBtb3ZpYWwuZmk+CgoJICBQb3J0IHVkcCBwbHVnaW4gdG8gd2luMzIgKCMzNDUyODgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IEpvbmkgVmFsdGFuZW4gIDxqb25pIGRvdCB2YWx0YW5lbiBhdCBtb3ZpYWwgZmk+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC91ZHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6IChnc3RfZHludWRwc2lua19pbml0KSwKCSAgKGdzdF9keW51ZHBzaW5rX2ZpbmFsaXplKSwgKGdzdF9keW51ZHBzaW5rX2Nsb3NlKToKCSAgKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuaDoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19pbml0KSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfZmluYWxpemUpLCAoZ3N0X211bHRpdWRwc2lua19jbG9zZSk6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgKiBnc3QvdWRwL2dzdHVkcC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC91ZHAvZ3N0dWRwc2luay5oOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2luaXQpLCAoZ3N0X3VkcHNyY19jcmVhdGUpLAoJICAoZ3N0X3VkcHNyY19zdGFydCksIChnc3RfdWRwc3JjX3N0b3ApOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkgICogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOiAoZ3N0X3VkcF9uZXRfdXRpbHNfd2luMzJfaW5ldF9hdG9uKSwKCSAgKGdzdF91ZHBfbmV0X3V0aWxzX3dpbjMyX3dzYV9zdGFydHVwKToKCSAgKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmg6CgkgIFBvcnQgdWRwIHBsdWdpbiB0byB3aW4zMiAoIzM0NTI4OCkuCgoyMDA2LTA3LTI0IDExOjAwOjM0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogUmVtb3ZlIHVud2FudGVkIERFQlVHIGxpbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fc2VuZCk6CgkgIFJlbW92ZSB1bndhbnRlZCBERUJVRyBsaW5lLgoKMjAwNi0wNy0yMyAxMTozMzo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC86IE9uIHNlY29uZCB0aG91Z2h0LCBpdCBtaWdodCBiZSB3aXNlciBhbmQgbW9yZSBlZmZpY2llbnQgbm90IHRvIGRvIHRhZyByZWdpc3RyYXRpb24gZnJvbSBhIHN0cmVhbWluZyB0aC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOgoJICAoaWQzZGVtdXhfYWRkX2lkM3YyX2ZyYW1lX2Jsb2JfdG9fdGFnbGlzdCk6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuaDoKCSAgT24gc2Vjb25kIHRob3VnaHQsIGl0IG1pZ2h0IGJlIHdpc2VyIGFuZCBtb3JlIGVmZmljaWVudAoJICBub3QgdG8gZG8gdGFnIHJlZ2lzdHJhdGlvbiBmcm9tIGEgc3RyZWFtaW5nIHRocmVhZC4KCjIwMDYtMDctMjMgMTA6NTY6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOiBQdXQgSUQzdjIgZnJhbWVzIHdlIGNhbid0IHBhcnNlIGFzIGJpbmFyeSBibG9icyBpbnRvIHByaXZhdGUgdGFncywgc28gdGhhdCB0aGV5IGFyZSBub3QgbG9zdCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzoKCSAgKGlkM2RlbXV4X2FkZF9pZDN2Ml9mcmFtZV9ibG9iX3RvX3RhZ2xpc3QpLAoJICAoaWQzZGVtdXhfaWQzdjJfZnJhbWVzX3RvX3RhZ19saXN0KToKCSAgUHV0IElEM3YyIGZyYW1lcyB3ZSBjYW4ndCBwYXJzZSBhcyBiaW5hcnkgYmxvYnMgaW50byBwcml2YXRlCgkgIHRhZ3MsIHNvIHRoYXQgdGhleSBhcmUgbm90IGxvc3Qgd2hlbiByZXRhZ2dpbmcsIGF0IGxlYXN0IG9uY2UKCSAgaWQzdjJtdXggaGFzIGJlZW4gdGF1Z2h0IHRvIHJlLWluamVjdCB0aG9zZSBmcmFtZXMgYWdhaW4uCgkgIFNlZSBidWcgIzMzNDM3NS4KCjIwMDYtMDctMjEgMTA6NTc6MDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IEZpeCBzb21lIGxlYWtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksCgkgIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSk6CgkgIEZpeCBzb21lIGxlYWtzLgoJICAqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6IChpZDNkZW11eF9pZDN2Ml9mcmFtZXNfdG9fdGFnX2xpc3QpOgoJICBEb24ndCB1c2UgXG4gaW4gZGVidWcgbGluZXMuCgoyMDA2LTA3LTIwIDE4OjQ4OjMyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgYW5ub2RleCBhbmQgaWN5ZGVtdXgsIGNsZWFudXAgdGhlIHNlY3Rpb25zIGEgYml0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBBZGQgYW5ub2RleCBhbmQgaWN5ZGVtdXgsIGNsZWFudXAgdGhlIHNlY3Rpb25zIGEgYml0CgoyMDA2LTA3LTE5IDE0OjM2OjAwICswMDAwICBNYXJ0aW4gU3p1bGVja2kgPGNvbXBpekBzdWtpbWFzaGl0YS5jb20+CgoJICBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6IElmICJkZXZpY2UtbmFtZSIgaXMgcmVxdWVzdGVkIGFuZCB0aGUgZGV2aWNlIGlzIG5vdCBvcGVuLCB0cnkgdG8gdGVtcG9yYXJpbHkgb3BlbiBpdCB0byBvYnQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJ0aW4gU3p1bGVja2kKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6IChnc3RfdjRsMl9vYmplY3RfZ2V0X3Byb3BlcnR5X2hlbHBlcik6CgkgIElmICJkZXZpY2UtbmFtZSIgaXMgcmVxdWVzdGVkIGFuZCB0aGUgZGV2aWNlIGlzIG5vdAoJICBvcGVuLCB0cnkgdG8gdGVtcG9yYXJpbHkgb3BlbiBpdCB0byBvYnRhaW4gdGhpcwoJICBpbmZvcm1hdGlvbiAoIzM0MjQ5NCkuCgoyMDA2LTA3LTE5IDExOjUyOjUzICswMDAwICBBbGV4IExhbmNhc3RlciA8YWxleGxAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzogV3JpdGUgR1NUX1RBR19FTkNPREVSIGFuZCBHU1RfVEFHX0VOQ09ERVJfVkVSU0lPTiBhcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFsZXggTGFuY2FzdGVyIDxhbGV4bCBhdCB1c2VycyBzb3VyY2Vmb3JnZSBuZXQ+CgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgV3JpdGUgR1NUX1RBR19FTkNPREVSIGFuZCBHU1RfVEFHX0VOQ09ERVJfVkVSU0lPTiBhcwoJICBJRDN2MiBUU1NFIGZyYW1lcyAoIzM0Nzg5OCkuCgoyMDA2LTA3LTE5IDA3OjQwOjUyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQ2hhbmdlTG9nOgoJICBDaGFuZ2VMb2cgc3VyZ2VyeTogbWVudGlvbiBmaXhlZCBidWcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENoYW5nZUxvZyBzdXJnZXJ5OiBtZW50aW9uIGZpeGVkIGJ1ZwoKMjAwNi0wNy0xOCAxOTo1OTowMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogUmVzcGVjdCBtcGVndmVyc2lvbiBmb3IgInZpZGVvL21wZWciIGFuZCBnaXZlIG1lc3NhZ2UgaW4gY2FzZSBvZiB1bmhhbmRsZWQgdmVyc2lvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IChnc3RfYXZpX211eF92aWRzaW5rX3NldF9jYXBzKToKCSAgUmVzcGVjdCBtcGVndmVyc2lvbiBmb3IgInZpZGVvL21wZWciIGFuZCBnaXZlIG1lc3NhZ2UgaW4gY2FzZSBvZgoJICB1bmhhbmRsZWQgdmVyc2lvbnMuCgoyMDA2LTA3LTE4IDE4OjA1OjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiBGaXggY2FwcyBhZnRlciBwcmV2aW91cyBjaGFuZ2UgdG8gYnl0ZSBvcmRlciBlbmRpYW5uZXNzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfY2hhaW4pOgoJICBGaXggY2FwcyBhZnRlciBwcmV2aW91cyBjaGFuZ2UgdG8gYnl0ZSBvcmRlciBlbmRpYW5uZXNzLgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2lua19ldmVudCksIChnc3Rfd2F2cGFja19wYXJzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2xvb3ApOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICBRdWV1ZSBpbmNvbWluZyBldmVudHMgaWYgdGhlcmUncyBubyBzb3VyY2UgcGFkIHlldCBhbmQKCSAgc2VuZCB0aGVtIGRvd25zdHJlYW0gbGF0ZXIgd2hlbiB0aGUgcGFkIGlzIHRoZXJlLgoKMjAwNi0wNy0xOCAxNjo0NzoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuKjogT3V0cHV0IGF1ZGlvIGluIG5hdGl2ZSBieXRlIG9yZGVyICh3aGljaCBpcyBhbHNvIGhvdyB3ZSBnZXQgc2FtcGxlcyBmcm9tIHdhdnBhY2spOyBvdXRwdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfaW5pdCksCgkgIChnc3Rfd2F2cGFja19kZWNfZm9ybWF0X3NhbXBsZXMpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NsaXBfb3V0Z29pbmdfYnVmZmVyKSwgKGdzdF93YXZwYWNrX2RlY19jaGFpbiksCgkgIChnc3Rfd2F2cGFja19kZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgIE91dHB1dCBhdWRpbyBpbiBuYXRpdmUgYnl0ZSBvcmRlciAod2hpY2ggaXMgYWxzbyBob3cgd2UgZ2V0CgkgIHNhbXBsZXMgZnJvbSB3YXZwYWNrKTsgb3V0cHV0IHNhbXBsZXMgd2l0aCAyMS0yNCBiaXQgZGVwdGgKCSAgd2l0aCAzMiBiaXQgd2lkdGggKG1ha2VzIHRoaW5ncyBlYXNpZXIgZm9yIHVzKS4KCjIwMDYtMDctMTggMTU6NTM6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLio6IE1vcmUgY2xlYW4tdXBzOiByZW1vdmUgbW9zdCBvZiB0aGUgZGlzZnVuY3Rpb25hbCBjb3JyZWN0aW9uIHBhZCBzdHVmZiBmb3Igbm93LCBpZiBpdCBldmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19kZWNfY2xhc3NfaW5pdCksIChnc3Rfd2F2cGFja19kZWNfaW5pdCksCgkgIChnc3Rfd2F2cGFja19kZWNfZmluYWxpemUpLCAoZ3N0X3dhdnBhY2tfZGVjX2Zvcm1hdF9zYW1wbGVzKSwKCSAgKGdzdF93YXZwYWNrX2RlY19jbGlwX291dGdvaW5nX2J1ZmZlciksIChnc3Rfd2F2cGFja19kZWNfY2hhaW4pLAoJICAoZ3N0X3dhdnBhY2tfZGVjX3NpbmtfZXZlbnQpLCAoZ3N0X3dhdnBhY2tfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICBNb3JlIGNsZWFuLXVwczogcmVtb3ZlIG1vc3Qgb2YgdGhlIGRpc2Z1bmN0aW9uYWwgY29ycmVjdGlvbgoJICBwYWQgc3R1ZmYgZm9yIG5vdywgaWYgaXQgZXZlciBnZXRzIGltcGxlbWVudGVkIGEgbG90IG9mIHN0dWZmCgkgIHdpbGwgaGF2ZSB0byBiZSByZXdyaXR0ZW4gYW55d2F5OyByZWRvIGNoYWluIGZ1bmN0aW9uLCBtb3ZlCgkgIGVycm9ycyB0byBlbmQsIGVycm9yIG91dCBpbnN0ZWFkIG9mIGdfYXNzZXJ0KClpbmcuIEFsc28gcmVuYW1lCgkgIG92ZXJseSBsb25nIHZhcmlhYmxlICd3YXZwYWNrZGVjJyB0byBqdXN0ICdkZWMnOyBtaXNjZWxsYW5lb3VzCgkgIG90aGVyIHNtYWxsIHN0dWZmLgoKMjAwNi0wNy0xOCAxNDowODowNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBDaGVjayBmb3Igd2F2cGFjayB2ZXJzaW9uIGFuZCBkZWZpbmUgV0FWUEFDS19PTERfQVBJIGlmIG5lY2Vzc2FyeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tbyBhdCBjaXJjdWxhci1jaGFvcy5vcmc+CgkgICogY29uZmlndXJlLmFjOgoJICBDaGVjayBmb3Igd2F2cGFjayB2ZXJzaW9uIGFuZCBkZWZpbmUgV0FWUEFDS19PTERfQVBJIGlmCgkgIG5lY2Vzc2FyeS4KCSAgKiBleHQvd2F2cGFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmM6IChnc3Rfd2F2cGFja19yZWFkX2hlYWRlciksCgkgIChnc3Rfd2F2cGFja19yZWFkX21ldGFkYXRhKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19kZWNfY2xhc3NfaW5pdCksIChnc3Rfd2F2cGFja19kZWNfaW5pdCksCgkgIChnc3Rfd2F2cGFja19kZWNfZmluYWxpemUpLCAoZ3N0X3dhdnBhY2tfZGVjX2Zvcm1hdF9zYW1wbGVzKSwKCSAgKGdzdF93YXZwYWNrX2RlY19jbGlwX291dGdvaW5nX2J1ZmZlciksIChnc3Rfd2F2cGFja19kZWNfY2hhaW4pLAoJICAoZ3N0X3dhdnBhY2tfZGVjX3NpbmtfZXZlbnQpLCAoZ3N0X3dhdnBhY2tfZGVjX2NoYW5nZV9zdGF0ZSksCgkgIChnc3Rfd2F2cGFja19kZWNfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF93YXZwYWNrX2RlY19wbHVnaW5faW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19jbGFzc19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19pbml0KSwgKGdzdF93YXZwYWNrX2VuY19maW5hbGl6ZSksCgkgIChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfZmluYWxpemUpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfY2xhc3NfaW5pdCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9pbmRleF9nZXRfZW50cnlfZnJvbV9zYW1wbGUpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2Nhbl90b19maW5kX3NhbXBsZSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9oYW5kbGVfc2Vla19ldmVudCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jcmVhdGVfc3JjX3BhZCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3N0cmVhbXJlYWRlci5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tzdHJlYW1yZWFkZXIuaDoKCSAgUG9ydCB0byBuZXcvb2ZmaWNpYWwgd2F2cGFjayBBUEksIGRvbid0IHVzZSBBUEkgdGhhdCB3YXMgZXhwb3J0ZWQKCSAgaW4gd2F2cGFjayBoZWFkZXIgZmlsZXMgYW5kIGluIHRoZSBsaWIgYnV0IG1lYW50IHRvIGJlIHByaXZhdGUsIGF0CgkgIGxlYXN0IG5vdCBmb3IgcmVjZW50IHdhdnBhY2sgdmVyc2lvbnM7IG1pc2MuICdjbGVhbnVwcycgKCMzNDc0NDMpLgoKMjAwNi0wNy0xNyAxMDoyNTo1NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogU3RvcmUgZHVyYXRpb24gaW4gdWludDY0IHRvbyBpbnN0ZWFkIG9mIGNsaXBwaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3F0ZGVtdXhfcHJlcGFyZV9jdXJyZW50X3NhbXBsZSksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKToKCSAgU3RvcmUgZHVyYXRpb24gaW4gdWludDY0IHRvbyBpbnN0ZWFkIG9mIGNsaXBwaW5nLgoJICBXaGVuIHdlIGRvIGEga2V5ZnJhbWUgc2VlayBhbmQgdGhlIHJlcXVlc3RlZCB0aW1lIGlzIGF0IHRoZQoJICBrZXlmcmFtZSwgZG9uJ3Qgc2VlayBiYWNrIHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGtleWZyYW1lLgoJICBGaXhlcyAjMzQ3NDM5LgoKMjAwNi0wNy0xNyAxMDoyMjo1NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZGVjLio6IFVzZSBzdGF0aWNhbGx5IGFsbG9jYXRlZCBzZWdtZW50IGluc3RlYWQgb2YgbGVha2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKGdzdF9wbmdkZWNfaW5pdCksIChidWZmZXJfY2xpcCksCgkgIChnc3RfcG5nZGVjX2NhcHNfY3JlYXRlX2FuZF9zZXQpLCAoZ3N0X3BuZ2RlY190YXNrKSwKCSAgKGdzdF9wbmdkZWNfY2hhaW4pLCAoZ3N0X3BuZ2RlY19zaW5rX2V2ZW50KSwKCSAgKGdzdF9wbmdkZWNfbGlicG5nX2luaXQpLCAoZ3N0X3BuZ2RlY19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3BuZ2RlY19zaW5rX2FjdGl2YXRlX3B1c2gpOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmg6CgkgIFVzZSBzdGF0aWNhbGx5IGFsbG9jYXRlZCBzZWdtZW50IGluc3RlYWQgb2YgbGVha2luZy4KCSAgVmFyaW91cyBjbGVhbnVwcy4KCSAgRml4IGZsdXNoIGFuZCBzZWVrIGhhbmRsaW5nLgoKMjAwNi0wNy0xNiAxNDozMTo0OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBBZGRlZCBzaW1wbGUgZ2VuZXJpYyBtcGVnNCBkZXBheWxvYWRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6IChnc3RfcnRwX21wNGdfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfbXA0Z19kZXBheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfbXA0Z19kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfbXA0Z19kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfbXA0Z19kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfbXA0Z19kZXBheV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9tcDRnX2RlcGF5X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX21wNGdfZGVwYXlfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfbXA0Z19kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzogKGdzdF9ydHBfbXA0Z19wYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX21wNGdfcGF5X3BhcnNlX2F1ZGlvX2NvbmZpZyksIChnc3RfcnRwX21wNGdfcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9tcDRnX3BheV9mbHVzaCk6CgkgIEFkZGVkIHNpbXBsZSBnZW5lcmljIG1wZWc0IGRlcGF5bG9hZGVyLgoJICBGaXggZ2VuZXJpYyBtcGVnNCBwYXlsb2FkZXIuCgoyMDA2LTA3LTE1IDE1OjI1OjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBEb24ndCB0cnkgZG9pbmcgc3RhdGUgY2hhbmdlcyBvbiBhIE5VTEwgcG9pbnRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc2V0X3N0YXRlKToKCSAgRG9uJ3QgdHJ5IGRvaW5nIHN0YXRlIGNoYW5nZXMgb24gYSBOVUxMIHBvaW50ZXIuCgoyMDA2LTA3LTE1IDExOjUwOjI1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vOiBEbyBub3QgdXNlIGRlcHJlY2F0ZWQgZ3RrIGZ1bmN0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6IChtYWluKToKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzogKG1haW4pOgoJICBEbyBub3QgdXNlIGRlcHJlY2F0ZWQgZ3RrIGZ1bmN0aW9ucy4KCjIwMDYtMDctMTQgMTM6MzM6NTQgKzAwMDAgIFNlYmFzdGllbiBDb3RlIDxzZWJhczY0MkB5YWhvby5jYT4KCgkgIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuKjogcnRwYW1yZGVjIGlzbid0IGEgc3ViY2xhc3Mgb2YgR3N0QmFzZVJ0cERlcGF5bG9hZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpZW4gQ290ZSA8c2ViYXM2NDIgYXQgeWFob28gZG90IGNhPgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzogKGdzdF9ydHBfYW1yX2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX2Ftcl9kZXBheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfYW1yX2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9hbXJfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX2Ftcl9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5Lmg6CgkgIHJ0cGFtcmRlYyBpc24ndCBhIHN1YmNsYXNzIG9mIEdzdEJhc2VSdHBEZXBheWxvYWQuCgkgIEZpeGVzICMzMjExOTEKCjIwMDYtMDctMTQgMTI6MDE6MDUgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiBGaXggc2VnZmF1bHQgd2hlbiBtb3ZpbmcgbW91c2UgcG9pbnRlciB0byB0aGUgYm90dG9tIHJpZ2h0IGNvcm5lci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDctMTQgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZV9zcmNfeGltYWdlX2dldCksCgkgIChnc3RfeGltYWdlX3NyY19nZXRfY2FwcyksIChnc3RfeGltYWdlX3NyY19jbGFzc19pbml0KToKCSAgRml4IHNlZ2ZhdWx0IHdoZW4gbW92aW5nIG1vdXNlIHBvaW50ZXIgdG8gdGhlIGJvdHRvbSByaWdodCBjb3JuZXIuCgoyMDA2LTA3LTEzIDE1OjIyOjIwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbW1vbjoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJICByZW1vdmUgc2RsdmlkZW9zaW5rIHBsdWdpbiBhbmQgdXBkYXRlIHRoZSByZXN0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmUgc2RsdmlkZW9zaW5rIHBsdWdpbiBhbmQgdXBkYXRlIHRoZSByZXN0CgoyMDA2LTA3LTEyIDA5OjM0OjE1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEFkZGVkIG1wZWcyIFRTIGRlcGF5bG9hZGVyLiBDbG9zaW5nICMzNDcyMzQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOiAoZ3N0X3J0cF9tcDJ0X2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX21wMnRfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX21wMnRfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX21wMnRfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX21wMnRfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX21wMnRfZGVwYXlfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfbXAydF9kZXBheV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9tcDJ0X2RlcGF5X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX21wMnRfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5Lmg6CgkgIEFkZGVkIG1wZWcyIFRTIGRlcGF5bG9hZGVyLiBDbG9zaW5nICMzNDcyMzQuCgoyMDA2LTA3LTEyIDA5OjI4OjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IEZpeCB0eXBvIGluIHByb3BlcnR5IG5pY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpOgoJICBGaXggdHlwbyBpbiBwcm9wZXJ0eSBuaWNrLgoKMjAwNi0wNy0xMSAyMjo0Njo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmM6IFJlbW92ZSBnX2Fzc2VydCB0aGF0IHNob3VsZG4ndCBiZSB0aGVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuYzogKGdzdF9jZGlvX2NkZGFfc3JjX2Nsb3NlKToKCSAgUmVtb3ZlIGdfYXNzZXJ0IHRoYXQgc2hvdWxkbid0IGJlIHRoZXJlLgoKMjAwNi0wNy0xMCAyMDoxMTozNCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguKjogRG9uJ3QgcHVzaCB0YWcgZXZlbnRzIGZvdW5kIGJ5IGdzdF9yaWZmX3BhcnNlX2luZm8oKSBiZWZvcmUgb3V0cHV0dGluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlciksIChwdXNoX3RhZ19saXN0cyk6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBEb24ndCBwdXNoIHRhZyBldmVudHMgZm91bmQgYnkgZ3N0X3JpZmZfcGFyc2VfaW5mbygpIGJlZm9yZSBvdXRwdXR0aW5nCgkgIEdTVF9FVkVOVF9ORVdTRUdNRU5ULgoKMjAwNi0wNy0xMCAxNjo0MTo1NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwLzogcmVwbGFjZWQgY2xvc2Vzb2NrZXQgYW5kIGNsb3NlIGluIGNvZGUgd2l0aCBvbmUgQ0xPU0VfU09DS0VULgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX3NlbmQpLAoJICAocnRzcF9jb25uZWN0aW9uX2Nsb3NlKToKCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5oOgoJICByZXBsYWNlZCBjbG9zZXNvY2tldCBhbmQgY2xvc2UgaW4gY29kZSB3aXRoIG9uZSBDTE9TRV9TT0NLRVQuCgkgIFNvbWUgbW9yZSBjbGVhbnVwcy4gRml4ZXMgIzM0NTMwMS4KCjIwMDYtMDctMTAgMTU6MjY6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6IEZpeCBleGFtcGxlIHBpcGVsaW5lIGluIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSAgRml4IGV4YW1wbGUgcGlwZWxpbmUgaW4gZG9jcy4KCjIwMDYtMDctMTAgMTQ6NDk6NDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvZmlsdGVyLzogRG9uJ3QgZm9yZ2V0IG5ldyBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmg6CgkgICogZ3N0L2ZpbHRlci9nc3RpaXIuaDoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuaDoKCSAgRG9uJ3QgZm9yZ2V0IG5ldyBmaWxlcy4KCjIwMDYtMDctMTAgMTQ6NDI6MTUgKzAwMDAgIE1hdGhpcyBIb2ZlciA8bWF0aGlzLmhvZmVyQGRyZWFtbGFiLm5ldD4KCgkgIFBvcnRlZCB0aGUgZ3N0ZmlsdGVyIHBsdWdpbiB0byBHU3RyZWFtZXIgMC4xMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXRoaXMgSG9mZXIgPG1hdGhpcyBkb3QgaG9mZXIgYXQgZHJlYW1sYWIgZG90IG5ldD4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX2Rpc3Bvc2UpLAoJICAoZ3N0X2Jwd3NpbmNfYmFzZV9pbml0KSwgKGdzdF9icHdzaW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2Jwd3NpbmNfaW5pdCksIChicHdzaW5jX3NldF9jYXBzKSwgKGJwd3NpbmNfdHJhbnNmb3JtX2lwKSwKCSAgKGJwd3NpbmNfc2V0X3Byb3BlcnR5KSwgKGJwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGZpbHRlci5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0ZmlsdGVyLmg6CgkgICogZ3N0L2ZpbHRlci9nc3RpaXIuYzogKGdzdF9paXJfZGlzcG9zZSksIChnc3RfaWlyX2Jhc2VfaW5pdCksCgkgIChnc3RfaWlyX2NsYXNzX2luaXQpLCAoZ3N0X2lpcl9pbml0KSwgKGlpcl9zZXRfY2FwcyksCgkgIChpaXJfdHJhbnNmb3JtX2lwKSwgKGlpcl9zZXRfcHJvcGVydHkpLCAoaWlyX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19kaXNwb3NlKSwKCSAgKGdzdF9scHdzaW5jX2Jhc2VfaW5pdCksIChnc3RfbHB3c2luY19jbGFzc19pbml0KSwKCSAgKGdzdF9scHdzaW5jX2luaXQpLCAobHB3c2luY19zZXRfY2FwcyksIChscHdzaW5jX3RyYW5zZm9ybV9pcCksCgkgIChscHdzaW5jX3NldF9wcm9wZXJ0eSksIChscHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgIFBvcnRlZCB0aGUgZ3N0ZmlsdGVyIHBsdWdpbiB0byBHU3RyZWFtZXIgMC4xMC4KCjIwMDYtMDctMTAgMTA6MjE6NTcgKzAwMDAgIFJvYiBUYXlsb3IgPHJvYnRheWxvckBmbG9vcGlseS5vcmc+CgoJICBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiBJZiBhIGRlc3RpbmF0aW9uIGlzIGFkZGVkIGJlZm9yZSB0aGUgc3RyZWFtIGlzIHNldCB0byBQQVVTRUQsIHRoZSBtdWx0aWNhc3QgZ3JvdXAgaXMgbm90IGouLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSb2IgVGF5bG9yIDxyb2J0YXlsb3IgYXQgZmxvb3BpbHkgZG90IG9yZz4KCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoam9pbl9tdWx0aWNhc3QpLAoJICAoZ3N0X211bHRpdWRwc2lua19pbml0X3NlbmQpLCAoZ3N0X211bHRpdWRwc2lua19hZGQpOgoJICBJZiBhIGRlc3RpbmF0aW9uIGlzIGFkZGVkIGJlZm9yZSB0aGUgc3RyZWFtIGlzIHNldCB0byBQQVVTRUQsIHRoZQoJICBtdWx0aWNhc3QgZ3JvdXAgaXMgbm90IGpvaW5lZCBhcyB0aGUgc29ja2V0IGlzIG5vdCBjcmVhdGVkIHlldC4KCSAgQWxzbyBUVEwgYW5kIExPT1Agc2hvdWxkIGFsc28gYmUgc2V0LiBGaXhlcyAjMzQ2OTIxLgoKMjAwNi0wNy0xMCAwOTo1NzoyNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRXh0cmFjdCBjb21tZW50IGluZm9ybWF0aW9uISEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV91ZHRhKToKCSAgRXh0cmFjdCBjb21tZW50IGluZm9ybWF0aW9uISEKCjIwMDYtMDctMTAgMDk6NDY6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEV4dHJhY3QgeWVhci9kYXRlIGluZm9ybWF0aW9uIChmaXhlcyAjMzQ3MDc5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV91ZHRhKSwKCSAgKHF0ZGVtdXhfdGFnX2FkZF9kYXRlKToKCSAgRXh0cmFjdCB5ZWFyL2RhdGUgaW5mb3JtYXRpb24gKGZpeGVzICMzNDcwNzkpLgoKMjAwNi0wNy0wOCAyMjo0MToyNSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLio6IEZpeCB1c2UtZGFtYWdlIHByb3BlcnR5IHRvIGFjdHVhbGx5IHdvcmsgOikKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDctMDkgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZV9zcmNfeGltYWdlX2dldCksCgkgIChnc3RfeGltYWdlX3NyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3hpbWFnZV9zcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF94aW1hZ2Vfc3JjX2dldF9jYXBzKSwgKGdzdF94aW1hZ2Vfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3hpbWFnZV9zcmNfaW5pdCk6CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuaDoKCSAgRml4IHVzZS1kYW1hZ2UgcHJvcGVydHkgdG8gYWN0dWFsbHkgd29yayA6KQoJICBBZGQgc3RhcnR4LCBzdGFydHksIGVuZHgsIGVuZHkgcHJvcGVydGllcyBzbyBzY3JlZW5jYXN0cyBvdGhlciB0aGFuIGZ1bGwKCSAgc2NyZWVuIG9uZXMgY2FuIHdvcmsuCgoyMDA2LTA3LTA4IDE5OjAzOjU0ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuKjogQWRkIHVzZV9kYW1hZ2UgcHJvcGVydHkgdG8gb2ZmZXIgYWJpbGl0eSB0byBjaG9vc2Ugd2hldGhlciB0byB1c2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDctMDggIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZV9zcmNfeGltYWdlX2dldCksCgkgIChnc3RfeGltYWdlX3NyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3hpbWFnZV9zcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF94aW1hZ2Vfc3JjX2NsYXNzX2luaXQpLCAoZ3N0X3hpbWFnZV9zcmNfaW5pdCk6CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuaDoKCSAgQWRkIHVzZV9kYW1hZ2UgcHJvcGVydHkgdG8gb2ZmZXIgYWJpbGl0eSB0byBjaG9vc2Ugd2hldGhlciB0byB1c2UKCSAgWERhbWFnZSBvciBub3QuCgoyMDA2LTA3LTA3IDE1OjA0OjI5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2dvb20vZmlsdGVycy5jOiBBdm9pZCBnb29tIGNvcmVkdW1waW5nIGJ5IGNsZWFyaW5nIG1lbW9yeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vZmlsdGVycy5jOiAoem9vbUZpbHRlclNldFJlc29sdXRpb24pOgoJICBBdm9pZCBnb29tIGNvcmVkdW1waW5nIGJ5IGNsZWFyaW5nIG1lbW9yeS4KCSAgRml4ZXMgMzQ1Njc5LgoKMjAwNi0wNy0wNyAxNDozMDoyNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRG9uJ3QgY3Jhc2ggb24gdHdvcy9zb3d0L3JhdyBhdWRpby4gIzM0NTgzMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgRG9uJ3QgY3Jhc2ggb24gdHdvcy9zb3d0L3JhdyBhdWRpby4gIzM0NTgzMC4KCjIwMDYtMDctMDUgMjA6MjE6MDIgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIHdpbjMyL3ZzNi9saWJnc3RpZDNkZW11eC5kc3A6IEFkZCBhIGxpbmsgdG8gbGliZ3N0dGFnLTAuMTAubGliLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB3aW4zMi92czYvbGliZ3N0aWQzZGVtdXguZHNwOgoJICBBZGQgYSBsaW5rIHRvIGxpYmdzdHRhZy0wLjEwLmxpYi4KCjIwMDYtMDctMDUgMTQ6NTI6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvOiBEb24ndCByZXR1cm4gRkxPV19VTkVYUEVDVEVEIHdoZW4gYSBidWZmZXIgaXMgYmVmb3JlIHRoZSBzdGFydCBvZiB0aGUgc3RyZWFtICh3aGljaCBtaWdodCBoYXBwZW4gd2l0aCBsYXJnZSBJRDMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOiAoZ3N0X3RhZ19kZW11eF90cmltX2J1ZmZlciksCgkgIChnc3RfdGFnX2RlbXV4X3JlYWRfcmFuZ2UpOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X3RyaW1fYnVmZmVyKSwKCSAgKGdzdF9pZDNkZW11eF9yZWFkX3JhbmdlKToKCSAgRG9uJ3QgcmV0dXJuIEZMT1dfVU5FWFBFQ1RFRCB3aGVuIGEgYnVmZmVyIGlzIGJlZm9yZQoJICB0aGUgc3RhcnQgb2YgdGhlIHN0cmVhbSAod2hpY2ggbWlnaHQgaGFwcGVuIHdpdGgKCSAgbGFyZ2UgSUQzdjIgdGFncyBpZiB0aGUgdGFnIHJlYWRpbmcgd2FzIGRvbmUgcHVsbHJhbmdlCgkgIGJhc2VkIGFuZCB3ZSB0aGVuIHN3aXRjaGVkIHRvIHB1c2ggbW9kZSBsYXRlciBvbikuCgkgIEZpeGVzIHJlZ3Jlc3Npb24gaW50cm9kdWNlZCBieSBjb21taXQgZnJvbSBKdW5lIDI5dGguCgoyMDA2LTA3LTA1IDEwOjE0OjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzogTWFrZSBVVEYtOCB0aGUgZGVmYXVsdCBlbmNvZGluZyB3aGVuIHdyaXRpbmcgc3RyaW5nIHRhZ3MgKGJlZm9yZSwgb3VyIFVURi04IHN0cmluZ3Mgd291bGQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIE1ha2UgVVRGLTggdGhlIGRlZmF1bHQgZW5jb2Rpbmcgd2hlbiB3cml0aW5nIHN0cmluZwoJICB0YWdzIChiZWZvcmUsIG91ciBVVEYtOCBzdHJpbmdzIHdvdWxkIGF1dG9tYXRpY2FsbHkKCSAgYmUgY29udmVydGVkIHRvIElTTy04ODU5LTEgYnkgdGFnbGliIGFuZCB3cml0dGVuIGFzCgkgIElTTy04ODU5LTEgZmllbGRzIGlmIHRoYXQgd2FzIHBvc3NpYmxlKS4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDN2Mm11eC5jOiAodXRmOF9zdHJpbmdfaW5fYnVmKSwKCSAgKHRlc3RfdGFnbGliX2lkM211eF9jaGVja190YWdfYnVmZmVyKSwgKGlkZW50aXR5X2NiKSwKCSAgKHRlc3RfdGFnbGliX2lkM211eF93aXRoX3RhZ3MpOgoJICBBZGQgdGVzdCBjYXNlIHRoYXQgbWFrZXMgc3VyZSBvdXIgVVRGLTggc3RyaW5ncyBoYXZlCgkgIGFjdHVhbGx5IGJlZW4gd3JpdHRlbiBpbnRvIHRoZSB0YWcgYXMgVVRGLTguCgoyMDA2LTA3LTA0IDE2OjAwOjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBMZXQncyB0cnkgdGhhdCBhZ2Fpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBMZXQncyB0cnkgdGhhdCBhZ2Fpbi4KCjIwMDYtMDctMDQgMTU6NDA6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IERpc2FibGUgbW9ub3Njb3BlIHBsdWdpbiBmb3Igbm93IHVudGlsIGl0IGZ1bGZpbGxzIGFsbCB0aGUgcmVxdWlyZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIERpc2FibGUgbW9ub3Njb3BlIHBsdWdpbiBmb3Igbm93IHVudGlsIGl0IGZ1bGZpbGxzCgkgIGFsbCB0aGUgcmVxdWlyZW1lbnRzLgoKMjAwNi0wNy0wMyAyMDozNTo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFBvcnQgbW9ub3Njb3BlIHZpc3VhbGlzYXRpb24gdG8gMC4xMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9tb25vc2NvcGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzogKGdzdF9tb25vc2NvcGVfYmFzZV9pbml0KSwKCSAgKGdzdF9tb25vc2NvcGVfY2xhc3NfaW5pdCksIChnc3RfbW9ub3Njb3BlX2luaXQpLAoJICAoZ3N0X21vbm9zY29wZV9maW5hbGl6ZSksIChnc3RfbW9ub3Njb3BlX3Jlc2V0KSwKCSAgKGdzdF9tb25vc2NvcGVfc2lua19zZXRjYXBzKSwgKGdzdF9tb25vc2NvcGVfc3JjX3NldGNhcHMpLAoJICAoZ3N0X21vbm9zY29wZV9zcmNfbmVnb3RpYXRlKSwgKGdldF9idWZmZXIpLCAoZ3N0X21vbm9zY29wZV9jaGFpbiksCgkgIChnc3RfbW9ub3Njb3BlX3NpbmtfZXZlbnQpLCAoZ3N0X21vbm9zY29wZV9zcmNfZXZlbnQpLAoJICAoZ3N0X21vbm9zY29wZV9jaGFuZ2Vfc3RhdGUpLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmg6CgkgIFBvcnQgbW9ub3Njb3BlIHZpc3VhbGlzYXRpb24gdG8gMC4xMC4KCjIwMDYtMDctMDMgMjA6MDI6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCBzaWxseSBjcmFzaGVyIGluIHN0YXRlIGNoYW5nZSBmdW5jdGlvbjsgYWRkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlciksIChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBGaXggc2lsbHkgY3Jhc2hlciBpbiBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb247IGFkZAoJICBJVjQxIGZvdXJjYyAoc2VlIGJ1ZyAjMTcxMTExKTsgZG9uJ3Qgb3V0cHV0IGNvbmZ1c2luZwoJICBkZWJ1ZyBtZXNzYWdlIHdoZW4gc2tpcHBpbmcgYXRvbXMuCgoyMDA2LTA3LTAzIDE2OjQzOjEwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0LzogUmV0dXJuIEZMT1dfVU5FWFBFQ1RFRCB3aGVuIGF0IHRoZSBlbmQgb2YgdGhlIGZpbGUsIG5vdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6IChnc3RfdGFnX2RlbXV4X2NoYWluKToKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9jaGFpbik6CgkgIFJldHVybiBGTE9XX1VORVhQRUNURUQgd2hlbiBhdCB0aGUgZW5kIG9mIHRoZSBmaWxlLCBub3QKCSAgRkxPV19FUlJPUi4gRml4ZXMgJ2ludGVybmFsIHN0cmVhbSBlcnJvcicgZXJyb3JzIHRoYXQKCSAgd291bGQgc29tZXRpbWVzIG9jY3VyIGluIHRvdGVtIHdoZW4gc2NydWJiaW5nIHRvIHRoZQoJICBlbmQgb2YgYW4gSUQzdjEgdGFnZ2VkIG1wMyBmaWxlLgoKMjAwNi0wNy0wMyAxNTozMToyMiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZGVjLio6IEltcGxlbWVudCBidWZmZXIgY2xpcHBpbmcvZHJvcHBpbmcgdXNpbmcgR3N0U2VnbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKGdzdF9wbmdkZWNfaW5pdCksICh1c2VyX2luZm9fY2FsbGJhY2spLAoJICAoYnVmZmVyX2NsaXApLCAodXNlcl9lbmRfY2FsbGJhY2spLCAoZ3N0X3BuZ2RlY19jaGFpbiksCgkgIChnc3RfcG5nZGVjX3NpbmtfZXZlbnQpLCAoZ3N0X3BuZ2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmg6CgkgIEltcGxlbWVudCBidWZmZXIgY2xpcHBpbmcvZHJvcHBpbmcgdXNpbmcgR3N0U2VnbWVudC4KCSAgVGhpcyBwcm92aWRlcyBhY2N1cmF0ZSBzZWVraW5nLgoKMjAwNi0wNy0wMyAxNToyODo0OCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguKjogUHJvcGVyIGFnZ3JlZ2F0aW9uIG9mIGVhY2ggc3RyZWFtJ3MgR3N0Rmxvd1JldHVybiBpbiBvcmRlciB0byBmaWd1cmUgb3V0IHdoZXRoZXIgdGhlIHRhc2sgc2hvdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9hdmlfZGVtdXhfcmVhZF9zdWJpbmRleGVzKSwgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwKCSAgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NlZWspLCAoZ3N0X2F2aV9kZW11eF9hZ2dyZWdhdGVkX2Zsb3cpLAoJICAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpLCAocHVzaF90YWdfbGlzdHMpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fZGF0YSksIChnc3RfYXZpX2RlbXV4X2xvb3ApOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgUHJvcGVyIGFnZ3JlZ2F0aW9uIG9mIGVhY2ggc3RyZWFtJ3MgR3N0Rmxvd1JldHVybiBpbiBvcmRlciB0byBmaWd1cmUgb3V0CgkgIHdoZXRoZXIgdGhlIHRhc2sgc2hvdWxkIHN0b3Agb3Igbm90LgoJICBEb24ndCBzZW5kIGlubGluZSBldmVudHMgYmVmb3JlIHB1c2hpbmcgb3V0IGEgTkVXX1NFR01FTlQsIG1vcmUKCSAgc3BlY2lmaWNhbGx5IGZvciBHU1RfVEFHX0VWRU5ULgoJICBDaGFuZ2UgYSBHU1RfRVJST1IgdG8gYSBHU1RfV0FSTklORyBmb3IgYSBub24tZmF0YWwgc2l0dWF0aW9uIGluIHJlYWRpbmcKCSAgc3ViLWluZGV4ZXMuCgoyMDA2LTA2LTMwIDA3OjExOjI0ICswMDAwICBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgoJICBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzogTW92ZSAiTW9uaXRvciIgc2xpZGVyIHRvIGlucHV0IHRhYiBzbyBpdCB3b3JrcyBtb3JlIGxpa2Ugc2R0YXVkaW9jb250cm9sLCB3aGljaCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBCcmlhbiBDYW1lcm9uICA8YnJpYW4gZG90IGNhbWVyb24gYXQgc3VuIGRvdCBjb20+CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6CgkgIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX2J1aWxkX2xpc3QpOgoJICBNb3ZlICJNb25pdG9yIiBzbGlkZXIgdG8gaW5wdXQgdGFiIHNvIGl0IHdvcmtzIG1vcmUgbGlrZQoJICBzZHRhdWRpb2NvbnRyb2wsIHdoaWNoIGlzIHdoYXQgcGVvcGxlIG9uIFNvbGFyaXMgYXJlIHVzZWQKCSAgdG8gdXNpbmcgZm9yIHRoZWlyIG1peGVyIHByb2dyYW0gKCMzNDYyNTkpLgoKMjAwNi0wNi0yOSAxNDo1MDoxOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOiBmaXggYSBsZWFrLCBjbGVhbiB1cCBhdCB0aGUgZW5kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIGZpeCBhIGxlYWssIGNsZWFuIHVwIGF0IHRoZSBlbmQKCjIwMDYtMDYtMjkgMTE6NDE6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvOiBTZW5kIHRhZyBldmVudCBhZnRlciBuZXdzZWdtZW50IGV2ZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfc3RyZWFtKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9zZW5kX2V2ZW50KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wX3N0cmVhbV9wYXJzZV9pZCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBTZW5kIHRhZyBldmVudCBhZnRlciBuZXdzZWdtZW50IGV2ZW50LgoKMjAwNi0wNi0yOSAxMToxMTo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiBNYWtlIHN1cmUgd2UgZG9uJ3QgcmV0dXJuIEdTVF9GTE9XX09LIHdpdGggYSBOVUxMIGJ1ZmZlciBpbiBjZXJ0YWluIGNhc2VzIHdoZXJlIGEgcmVhZCBiZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF90cmltX2J1ZmZlciksCgkgIChnc3RfaWQzZGVtdXhfcmVhZF9yYW5nZSk6CgkgIE1ha2Ugc3VyZSB3ZSBkb24ndCByZXR1cm4gR1NUX0ZMT1dfT0sgd2l0aCBhIE5VTEwgYnVmZmVyIGluCgkgIGNlcnRhaW4gY2FzZXMgd2hlcmUgYSByZWFkIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBmaWxlIGlzCgkgIHJlcXVlc3RlZC4gRml4ZXMgIzM0NTkzMC4KCSAgKiBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6IChnc3RfdGFnX2RlbXV4X3RyaW1fYnVmZmVyKSwKCSAgKGdzdF90YWdfZGVtdXhfcmVhZF9yYW5nZSk6CgkgIEZpeCBzYW1lIGlzc3VlIGhlcmUgYXMgd2VsbC4KCjIwMDYtMDYtMjkgMTE6MDU6MTQgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiBGaXggaHlwb3RoZXRpY2FsIGNyYXNoLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNi0yOSAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IChnc3RfeGltYWdlX3NyY194aW1hZ2VfZ2V0KToKCSAgRml4IGh5cG90aGV0aWNhbCBjcmFzaC4KCjIwMDYtMDYtMjggMDg6MzY6MzAgKzAwMDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCgkgIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzogRG8gbm90IG1vZGlmeSB0aGUgcG9ydHMgdmFsdWUuIElmIHRoZSB1c2VyIGhhcyB0dXJuZWQgb2ZmIHRoZSBidWlsdC1pbiBzcGVha2VycywgdGhlbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEJyaWFuIENhbWVyb24gIDxicmlhbiBkb3QgY2FtZXJvbiBhdCBzdW4gZG90IGNvbT4KCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6IChnc3Rfc3VuYXVkaW9zaW5rX3ByZXBhcmUpOgoJICBEbyBub3QgbW9kaWZ5IHRoZSBwb3J0cyB2YWx1ZS4gSWYgdGhlIHVzZXIgaGFzIHR1cm5lZCBvZmYgdGhlCgkgIGJ1aWx0LWluIHNwZWFrZXJzLCB0aGVuIHdlIHNob3VsZCBub3QgcmVzZXQgaXQgaW4gdGhlIHByZXBhcmUKCSAgZnVuY3Rpb24sIHNpbmNlIHRoaXMgY2F1c2VzIHRoZSBidWlsdC1pbiBzcGVha2VycyB0byB0dXJuCgkgIGJhY2sgb24gYW55dGltZSB0aGUgdXNlciBjaGFuZ2VzIGEgdHJhY2sgaW4gdG90ZW0sIHJoeXRobWJveCwKCSAgZXRjLiAoIzM0NjA2NikuCgoyMDA2LTA2LTIzIDA5OjM1OjQ1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2dvb20vZ3N0Z29vbS5jOiBGaXggZG91YmxlIGNhcHMgdW5yZWYgd2hlbiBuZWdvdGlhdGlvbiBmYWlscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOiAoZ3N0X2dvb21fc3JjX25lZ290aWF0ZSk6CgkgIEZpeCBkb3VibGUgY2FwcyB1bnJlZiB3aGVuIG5lZ290aWF0aW9uIGZhaWxzLgoKMjAwNi0wNi0yMiAxOTozMTowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFVzZSBHU1RfREVCVUdfQ0FURUdPUllfU1RBVElDIHdoZXJlIHBvc3NpYmxlICgjMzQyNTAzKSBwbHVzIHR3byBtaW5vciBtYWNybyBmaXhlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1scGFyc2VyLmM6CgkgICogZXh0L2R2L2dzdGR2ZGVjLmM6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAgKiBleHQvanBlZy9nc3RzbW9rZWRlYy5jOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkgICogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSAgKiBnc3QvZGVidWcvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSAgKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydC5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICBVc2UgR1NUX0RFQlVHX0NBVEVHT1JZX1NUQVRJQyB3aGVyZSBwb3NzaWJsZSAoIzM0MjUwMykKCSAgcGx1cyB0d28gbWlub3IgbWFjcm8gZml4ZXMuCgoyMDA2LTA2LTIyIDE2OjI3OjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thLzogVHJ5IHRvIGZpeCB1cCBicm9rZW4gbWF0cm9za2EgZmlsZXMgY29udGFpbmluZyBzdWJ0aXRsZSBzdHJlYW1zIHdpdGggbm9uLVVURjggY2hhcmFjdGVyIGVuY29kaW5ncyAoY291Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2NoZWNrX3N1YnRpdGxlX2J1ZmZlciksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYmxvY2tncm91cF9vcl9zaW1wbGVibG9jayksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfc3VidGl0bGVfY2Fwcyk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5jOgoJICAoZ3N0X21hdHJvc2thX3RyYWNrX2luaXRfc3VidGl0bGVfY29udGV4dCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBUcnkgdG8gZml4IHVwIGJyb2tlbiBtYXRyb3NrYSBmaWxlcyBjb250YWluaW5nIHN1YnRpdGxlCgkgIHN0cmVhbXMgd2l0aCBub24tVVRGOCBjaGFyYWN0ZXIgZW5jb2RpbmdzIChjb3VydGVzeSBvZgoJICBta3ZtZXJnZSkgdXNpbmcgZWl0aGVyIHRoZSBlbmNvZGluZyBzcGVjaWZpZWQgaW4gdGhlCgkgIEdTVF9TVUJUSVRMRV9FTkNPRElORyBlbnZpcm9ubWVudCB2YXJpYWJsZSBvciB0aGUKCSAgY3VycmVudCBsb2NhbGUncyBjaGFyYWN0ZXIgc2V0IGlmIGl0IGlzIG5vbi1VVEY4LgoJICBGaXhlcyAjMzM3MDc2LgoKMjAwNi0wNi0yMiAxMjoxNzoxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBTZXQgaW1hZ2UgdHlwZSBmcm9tIEFQSUMgZnJhbWUgYXMgImltYWdlLXR5cGUiIGZpZWxkIG9mIEdTVF9UQUdfSU1BR0UgYnVmZmVyIGNhcHMgKCMzNDQ2MDUpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKHBhcnNlX3BpY3R1cmVfZnJhbWUpOgoJICBTZXQgaW1hZ2UgdHlwZSBmcm9tIEFQSUMgZnJhbWUgYXMgImltYWdlLXR5cGUiIGZpZWxkCgkgIG9mIEdTVF9UQUdfSU1BR0UgYnVmZmVyIGNhcHMgKCMzNDQ2MDUpLgoKMjAwNi0wNi0yMCAxOTo0MDoyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mbGFjLzogU3VwcG9ydCBjaGFpbi1iYXNlZCBvcGVyYXRpb24sIHNob3VsZCBtYWtlIGZsYWMtb3Zlci1EQUFQIHdvcmsgKCMzNDA0OTIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfaW5pdCksCgkgIChnc3RfZmxhY19kZWNfcmVzZXRfZGVjb2RlcnMpLAoJICAoZ3N0X2ZsYWNfZGVjX3NldHVwX3NlZWthYmxlX2RlY29kZXIpLAoJICAoZ3N0X2ZsYWNfZGVjX3NldHVwX3N0cmVhbV9kZWNvZGVyKSwgKGdzdF9mbGFjX2RlY19maW5hbGl6ZSksCgkgIChnc3RfZmxhY19kZWNfbWV0YWRhdGFfY2FsbGJhY2spLAoJICAoZ3N0X2ZsYWNfZGVjX21ldGFkYXRhX2NhbGxiYWNrX3NlZWthYmxlKSwKCSAgKGdzdF9mbGFjX2RlY19tZXRhZGF0YV9jYWxsYmFja19zdHJlYW0pLAoJICAoZ3N0X2ZsYWNfZGVjX2Vycm9yX2NhbGxiYWNrKSwKCSAgKGdzdF9mbGFjX2RlY19lcnJvcl9jYWxsYmFja19zZWVrYWJsZSksCgkgIChnc3RfZmxhY19kZWNfZXJyb3JfY2FsbGJhY2tfc3RyZWFtKSwgKGdzdF9mbGFjX2RlY19yZWFkX3NlZWthYmxlKSwKCSAgKGdzdF9mbGFjX2RlY19yZWFkX3N0cmVhbSksIChnc3RfZmxhY19kZWNfd3JpdGUpLAoJICAoZ3N0X2ZsYWNfZGVjX3dyaXRlX3NlZWthYmxlKSwgKGdzdF9mbGFjX2RlY193cml0ZV9zdHJlYW0pLAoJICAoZ3N0X2ZsYWNfZGVjX2xvb3ApLCAoZ3N0X2ZsYWNfZGVjX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2ZsYWNfZGVjX2NoYWluKSwgKGdzdF9mbGFjX2RlY19jb252ZXJ0X3NpbmspLAoJICAoZ3N0X2ZsYWNfZGVjX2dldF9zaW5rX3F1ZXJ5X3R5cGVzKSwgKGdzdF9mbGFjX2RlY19zaW5rX3F1ZXJ5KSwKCSAgKGdzdF9mbGFjX2RlY19nZXRfc3JjX3F1ZXJ5X3R5cGVzKSwgKGdzdF9mbGFjX2RlY19zcmNfcXVlcnkpLAoJICAoZ3N0X2ZsYWNfZGVjX2hhbmRsZV9zZWVrX2V2ZW50KSwgKGdzdF9mbGFjX2RlY19zaW5rX2FjdGl2YXRlKSwKCSAgKGdzdF9mbGFjX2RlY19zaW5rX2FjdGl2YXRlX3B1c2gpLAoJICAoZ3N0X2ZsYWNfZGVjX3NpbmtfYWN0aXZhdGVfcHVsbCksIChnc3RfZmxhY19kZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgIFN1cHBvcnQgY2hhaW4tYmFzZWQgb3BlcmF0aW9uLCBzaG91bGQgbWFrZSBmbGFjLW92ZXItREFBUAoJICB3b3JrICgjMzQwNDkyKS4KCjIwMDYtMDYtMjAgMTU6MzU6MDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDogRG9jIHVwZGF0ZXMsIG1lcmdlIHNvbWUgdW51c2VkIHN5bWJvbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBEb2MgdXBkYXRlcywgbWVyZ2Ugc29tZSB1bnVzZWQgc3ltYm9scy4KCjIwMDYtMDYtMjAgMTQ6NTc6MDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBBZGRlZCBkb2N1bWVudGF0aW9uIGZvciB0aGUgcnRzcCBwbHVnaW4uIEZpeGVzICMzNDUzOTMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuYzogKGdzdF9ydHBkZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgQWRkZWQgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIHJ0c3AgcGx1Z2luLiBGaXhlcyAjMzQ1MzkzLgoKMjAwNi0wNi0yMCAxMjoxMDoyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IFVzZSBiZXR0ZXIgR19PU18qIG1hY3Jvcy4gRml4ZXMgIzM0NTMwMSBzb21lIG1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChpbmV0X2F0b24pLCAocnRzcF9jb25uZWN0aW9uX3NlbmQpLAoJICAocnRzcF9jb25uZWN0aW9uX2Nsb3NlKSwgKHJ0c3BfY29ubmVjdGlvbl9mcmVlKToKCSAgVXNlIGJldHRlciBHX09TXyogbWFjcm9zLiBGaXhlcyAjMzQ1MzAxIHNvbWUgbW9yZS4KCjIwMDYtMDYtMjAgMTA6MzU6NDggKzAwMDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCgkgIHN5cy9zdW5hdWRpby86IEFkZCBhIFN1bkF1ZGlvIHNvdXJjZSBwbHVnaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQnJpYW4gQ2FtZXJvbiA8YnJpYW4gZG90IGNhbWVyb24gYXQgc3VuIGRvdCBjb20+CgkgICogc3lzL3N1bmF1ZGlvL01ha2VmaWxlLmFtOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpby5jOiAocGx1Z2luX2luaXQpOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOgoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9idWlsZF9saXN0KSwgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfbmV3KSwKCSAgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfbGlzdF90cmFja3MpLAoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9nZXRfdm9sdW1lKSwKCSAgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfc2V0X3ZvbHVtZSksCgkgIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX3NldF9tdXRlKSwKCSAgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfc2V0X3JlY29yZCk6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmg6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJ0cmFjay5jOgoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfdHJhY2tfaW5pdCksIChnc3Rfc3VuYXVkaW9taXhlcl90cmFja19uZXcpOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVydHJhY2suaDoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzogKGdzdF9zdW5hdWRpb3NyY19kaXNwb3NlKSwKCSAgKGdzdF9zdW5hdWRpb3NyY19iYXNlX2luaXQpLCAoZ3N0X3N1bmF1ZGlvc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3N1bmF1ZGlvc3JjX2luaXQpLCAoZ3N0X3N1bmF1ZGlvc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfc3VuYXVkaW9zcmNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9zdW5hdWRpb3NyY19nZXRjYXBzKSwKCSAgKGdzdF9zdW5hdWRpb3NyY19vcGVuKSwgKGdzdF9zdW5hdWRpb3NyY19jbG9zZSksCgkgIChnc3Rfc3VuYXVkaW9zcmNfcHJlcGFyZSksIChnc3Rfc3VuYXVkaW9zcmNfdW5wcmVwYXJlKSwKCSAgKGdzdF9zdW5hdWRpb3NyY19yZWFkKSwgKGdzdF9zdW5hdWRpb3NyY19kZWxheSksCgkgIChnc3Rfc3VuYXVkaW9zcmNfcmVzZXQpOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5oOgoJICBBZGQgYSBTdW5BdWRpbyBzb3VyY2UgcGx1Z2luLgoJICBTdXBwb3J0IHN0ZXJlbyBhbmQgcmlnaHQvbGVmdCBjaGFubmVsIGdhaW4gaW4gdGhlIG1peGVyIHBsdWdpbi4KCSAgU3VwcG9ydCB0aGUgUkVDT1JEIGZsYWcgc28gdGhhdCB5b3UgY2FuIHN3aXRjaCBiZXR3ZWVuIGxpbmUtaW5wdXQgYW5kCgkgIG1pY3JvcGhvbmUgaW4gZ25vbWUtdm9sdW1lLWNvbnRyb2wuCgkgIENvZGUgY2xlYW51cHMgbGlrZSB1c2luZyBhbiBlbnVtZXJhdG9yIGZvciB0cmFjayBudW1iZXIgaW5zdGVhZCBvZiBhbgoJICBpbnRlZ2VyLiBGaXhlcyAjMzQ0OTIzLgoKMjAwNi0wNi0yMCAxMDozMTo0MSArMDAwMCAgSm9uaSBWYWx0YW5lbiA8am9uaS52YWx0YW5lbkBtb3ZpYWwuZmk+CgoJICBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiBNYWtlIFJUU1AgcGx1Z2luIGNvbXBpbGUgb24gd2luZG93cy4gRml4ZXMgIzM0NTMwMS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb25pIFZhbHRhbmVuIDxqb25pIGRvdCB2YWx0YW5lbiBhdCBtb3ZpYWwgZG90IGZpPgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChpbmV0X2F0b24pLCAocnRzcF9jb25uZWN0aW9uX3NlbmQpLAoJICAocnRzcF9jb25uZWN0aW9uX2Nsb3NlKToKCSAgTWFrZSBSVFNQIHBsdWdpbiBjb21waWxlIG9uIHdpbmRvd3MuIEZpeGVzICMzNDUzMDEuCgkgIFNvbWUgY2hhbmdlcyB0byBvcmlnaW5hbCBwYXRjaCB0byBjYXRjaCBlcnJvcnMgYmV0dGVyLgoJICB1c2UgaWZkZWYgV0lOMzIgaW5zdGVhZCBvZiBpZm5kZWYuCgoyMDA2LTA2LTE5IDEwOjAwOjE4ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgY29uZmlndXJlLmFjOiBJZiB3ZSBoYXZlIGxpYnJhdzEzOTQgPj0gMS4yLjEsIHRoZW4gd2UgbmVlZCBsaWJpZWM2MTg4My4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDYtMTkgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBjb25maWd1cmUuYWM6CgkgIElmIHdlIGhhdmUgbGlicmF3MTM5NCA+PSAxLjIuMSwgdGhlbiB3ZSBuZWVkIGxpYmllYzYxODgzLgoKMjAwNi0wNi0xOCAxNDowMDoxOSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogQWZ0ZXIgYSBmYWlsZWQgYnVmZmVyIGFsbG9jLCB3ZSBuZWVkIHRvIGFib3J0IHRoZSBqcGVnIGRlY29kaW5nIChpdCBzdGFydGVkIHdoZW4gcGFyc2luZyBoZWFkZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6IChnc3RfanBlZ19kZWNfY2hhaW4pOgoJICBBZnRlciBhIGZhaWxlZCBidWZmZXIgYWxsb2MsIHdlIG5lZWQgdG8gYWJvcnQgdGhlIGpwZWcgZGVjb2RpbmcgKGl0CgkgIHN0YXJ0ZWQgd2hlbiBwYXJzaW5nIGhlYWRlcnMgdG8gZmlndXJlIG91dCBob3cgbWFueSBieXRlcyB3ZSBuZWVkCgkgIHRvIHJlcXVlc3QgZG93bnN0cmVhbSkuCgoyMDA2LTA2LTE4IDEyOjM3OjEyICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IE1ha2Ugc3VyZSB3ZSBkb24ndCByZWFkIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBmaWxlICgjMzQ1MjMyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzICA8bWFuYXV3IGF0IHNreW5ldCBiZT4KCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspOgoJICBNYWtlIHN1cmUgd2UgZG9uJ3QgcmVhZCBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgZmlsZSAoIzM0NTIzMikuCgoyMDA2LTA2LTE3IDE0OjM1OjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBGaXggLS1kaXNhYmxlLWV4dGVybmFsIChjYW4ndCBzZXQgY29uZGl0aW9uYWxzIGNvbmRpdGlvbmFsbHksICMzNDM2MDIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEZpeCAtLWRpc2FibGUtZXh0ZXJuYWwgKGNhbid0IHNldCBjb25kaXRpb25hbHMgY29uZGl0aW9uYWxseSwKCSAgIzM0MzYwMikuCgoyMDA2LTA2LTE2IDEyOjM1OjA4ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOiBGaXggYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA2LTE2ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJICBGaXggYnVpbGQuCgoyMDA2LTA2LTE2IDEwOjU2OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgVXNlIEdTVF9QTFVHSU5fRE9DUywgLS1lbmFibGUtcGx1Z2luLWRvY3MgZXRjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBhdXRvZ2VuLnNoOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL01ha2VmaWxlLmFtOgoJICBVc2UgR1NUX1BMVUdJTl9ET0NTLCAtLWVuYWJsZS1wbHVnaW4tZG9jcyBldGMuCgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJICBBZGQvZml4IGFwZXYybXV4IGRvY3MuCgoyMDA2LTA2LTE2IDA5OjQ5OjA3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vOiBwb3J0IHRvIHVzZSBtZXNzYWdlIHRvIGdldCByZXN1bHRzLCBjbGVhbmx5IGV4aXQgd2hlbiBjbG9zaW5nIHRoZSB3aW5kb3cKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6IChvbl93aW5kb3dfZGVzdHJveSksCgkgIChkcmF3X3NwZWN0cnVtKSwgKG1lc3NhZ2VfaGFuZGxlciksIChtYWluKToKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzogKG9uX3dpbmRvd19kZXN0cm95KSwgKGRyYXdfc3BlY3RydW0pLAoJICAobWVzc2FnZV9oYW5kbGVyKSwgKG1haW4pOgoJICBwb3J0IHRvIHVzZSBtZXNzYWdlIHRvIGdldCByZXN1bHRzLCBjbGVhbmx5IGV4aXQgd2hlbiBjbG9zaW5nIHRoZSB3aW5kb3cKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9pbml0KSwgKGdzdF9zcGVjdHJ1bV9kaXNwb3NlKSwKCSAgKGdzdF9zcGVjdHJ1bV9zZXRfcHJvcGVydHkpLCAoZ3N0X3NwZWN0cnVtX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfc3BlY3RydW1fc2V0X2NhcHMpLCAoZ3N0X3NwZWN0cnVtX3N0YXJ0KSwKCSAgKGdzdF9zcGVjdHJ1bV9tZXNzYWdlX25ldyksIChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgcG9ydCB0byBkZXJpdmUgZnJvbSBiYXNldHJhbnNmb3JtIGFuZCBzZW5kIHJlc3VsdHMgdmlhIG1lc3NhZ2VzCgkgIChsaWtlIGxldmVsIGVsZW1lbnQpCgoyMDA2LTA2LTE1IDE1OjU4OjA5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBDb21iaW5lIHJldHVybiB2YWx1ZXMgZnJvbSBzcmMgcGFkIHB1c2hlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF9xdGRlbXV4X2NvbWJpbmVfZmxvd3MpLCAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSksCgkgIChnc3RfcXRkZW11eF9sb29wKSwgKGdzdF9xdGRlbXV4X2NoYWluKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIENvbWJpbmUgcmV0dXJuIHZhbHVlcyBmcm9tIHNyYyBwYWQgcHVzaGVzLgoKMjAwNi0wNi0xNSAwODo1MDowOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRG9uJ3QgY3Jhc2ggb24gZmlsZXMgd2l0aCAwIHNhbXBsZXMsIEVPUyBpbW1lZGlhdGx5IGluc3RlYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyKSwKCSAgKGdzdF9xdGRlbXV4X3ByZXBhcmVfY3VycmVudF9zYW1wbGUpLCAoZ3N0X3F0ZGVtdXhfYWR2YW5jZV9zYW1wbGUpLAoJICAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSk6CgkgIERvbid0IGNyYXNoIG9uIGZpbGVzIHdpdGggMCBzYW1wbGVzLCBFT1MgaW1tZWRpYXRseSBpbnN0ZWFkLgoJICBGaXhlcyAjMzQ0OTQ0LgoKMjAwNi0wNi0xNCAxNTo1OTo1NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9kdi9nc3RkdmRlYy5jOiBSZXNldCBzZWdtZW50IGluZm8gb24gZmx1c2guCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlYy5jOiAoZ3N0X2R2ZGVjX2NsYXNzX2luaXQpLCAoZ3N0X2R2ZGVjX2luaXQpLAoJICAoZ3N0X2R2ZGVjX2ZpbmFsaXplKSwgKGdzdF9kdmRlY19zaW5rX2V2ZW50KSwKCSAgKGdzdF9kdmRlY19jaGFuZ2Vfc3RhdGUpOgoJICBSZXNldCBzZWdtZW50IGluZm8gb24gZmx1c2guCgkgIEFsbG9jIHNlZ21lbnQgaW4gX2luaXQsIGZyZWUgaW4gX2ZpbmFsaXplLgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9oYW5kbGVfcHVsbF9zZWVrKToKCSAgRG9uJ3Qgc2VuZCBzZWdtZW50cyB0d2ljZS4KCjIwMDYtMDYtMTQgMTU6MDc6MjIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZHYvZ3N0ZHZkZW11eC5jOiBSZXNwZWN0IHNlZ21lbnQuc3RvcC4gRml4ZXMgIzM0MjU5Mi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2RlbXV4X2ZyYW1lKToKCSAgUmVzcGVjdCBzZWdtZW50LnN0b3AuIEZpeGVzICMzNDI1OTIuCgoyMDA2LTA2LTE0IDExOjI4OjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IE5vIGxhbmd1YWdlIHNwZWNpZmllZCBtZWFucyB0aGUgaW1wbGllZCBsYW5ndWFnZSBpcyBFbmdsaXNoIGFjY29yZGluZyB0byB0aGUgbWF0cm9za2EgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF9zdHJlYW0pOgoJICBObyBsYW5ndWFnZSBzcGVjaWZpZWQgbWVhbnMgdGhlIGltcGxpZWQgbGFuZ3VhZ2UgaXMgRW5nbGlzaAoJICBhY2NvcmRpbmcgdG8gdGhlIG1hdHJvc2thIHNwZWMgKHBhcnRpYWxseSBmaXhlcyAjMzQ0NzA4KTsKCSAgYWRkIHNvbWUgbW9yZSBkZWJ1ZyBvdXRwdXQuCgoyMDA2LTA2LTE0IDA5OjMyOjI3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLio6IFVzZSBiaXRyYXRlIHByb3BlcnR5IHNvbGVseSBmb3IgYml0cmF0ZXMgYW5kIGFkZCBuZXcgYml0cy1wZXItc2FtcGxlIHByb3BlcnR5IGZvciB0aGUgb3QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlICA8c2xvbW8gYXQgY2lyY3VsYXItY2hhb3Mgb3JnPgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2NsYXNzX2luaXQpLCAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2NoYWluKSwgKGdzdF93YXZwYWNrX2VuY19zaW5rX2V2ZW50KSwKCSAgKGdzdF93YXZwYWNrX2VuY19zZXRfcHJvcGVydHkpLCAoZ3N0X3dhdnBhY2tfZW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICBVc2UgYml0cmF0ZSBwcm9wZXJ0eSBzb2xlbHkgZm9yIGJpdHJhdGVzIGFuZCBhZGQgbmV3CgkgIGJpdHMtcGVyLXNhbXBsZSBwcm9wZXJ0eSBmb3IgdGhlIG90aGVyIHN0dWZmLiBTZXQgZHVyYXRpb24KCSAgdG8gJ3Vua25vd24nIGluIGluaXRpYWwgaGVhZGVyIGFuZCByZXNlbmQgaGVhZGVyIHdpdGggcHJvcGVyCgkgIGR1cmF0aW9uIG9uIEVPUzsgdXBkYXRlIFNlYmFzdGlhbidzIGUtbWFpbCBhZGRyZXNzLgoKMjAwNi0wNi0xNCAwODowNjo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBXaGVuIG9wZXJhdGluZyBjaGFpbi1iYXNlZCwgZG9uJ3QgbWFrZSBhbnkgYXNzdW1wdGlvbnMgYWJvdXQgdGhlIGNodW5raW5nIG9mIHRoZSBpbmNvbWluZy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9wZWVrX2NodW5rX2luZm8pLAoJICAoZ3N0X3dhdnBhcnNlX3BlZWtfY2h1bmspLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwKCSAgKGdzdF93YXZwYXJzZV9jaGFpbik6CgkgIFdoZW4gb3BlcmF0aW5nIGNoYWluLWJhc2VkLCBkb24ndCBtYWtlIGFueSBhc3N1bXB0aW9ucyBhYm91dCB0aGUKCSAgY2h1bmtpbmcgb2YgdGhlIGluY29taW5nIGRhdGEgYW5kIG1ha2Ugc3RyZWFtaW5nIHdvcmsgb24gZGF5cyBvdGhlcgoJICB0aGFuIHRoZSBzZWNvbmQgVGh1cnNkYXkgYWZ0ZXIgYSBmdWxsIG1vb24uIEFsc28gZml4IHVwIGRlYnVnCgkgIG1lc3NhZ2VzIGhlcmUgYW5kIHRoZXJlIGFuZCBtYWtlIHVzZSBvZiB0aGUgbW9zdCBleGNlbGxlbnQgbmV3CgkgIGdzdF9wYWRfcXVlcnlfcGVlcl9kdXJhdGlvbigpIHV0aWxpdHkgZnVuY3Rpb24uCgkgIFNraXAgYW55ICdiZXh0JyBjaHVua3MgaW4gZnJvbnQgb2YgdGhlICdmbXQgJyBjaHVuay4gRml4ZXMgIzM0MzgzNy4KCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSAgUmVtb3ZlIHRyYWlsaW5nIGNvbW1hIGFmdGVyIGxhc3QgZW51bSB2YWx1ZSwgc29tZSBjb21waWxlcnMgZG9uJ3QKCSAgbGlrZSB0aGF0LgoKMjAwNi0wNi0xMyAxNzowNToyNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBIYW5kbGUgcHJlbWF0dXJlIEVPUyBncmFjZWZ1bGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSk6CgkgIEhhbmRsZSBwcmVtYXR1cmUgRU9TIGdyYWNlZnVsbHkuCgoyMDA2LTA2LTEzIDA5OjU0OjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBQcmV2ZW50IG91dCBvZiBib3VuZHMgYXJyYXkgYWNjZXNzIHdoZW4gc2NydWJiaW5nIHRvd2FyZHMgdGhlIGVuZCBvZiB0aGUgZmlsZSBiZXR3ZWVuIHRoZSBsYXN0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NlZWspOgoJICBQcmV2ZW50IG91dCBvZiBib3VuZHMgYXJyYXkgYWNjZXNzIHdoZW4gc2NydWJiaW5nIHRvd2FyZHMKCSAgdGhlIGVuZCBvZiB0aGUgZmlsZSBiZXR3ZWVuIHRoZSBsYXN0IGluZGV4IGVudHJ5IGFuZCB0aGUKCSAgZW5kLiBGaXhlcyBvY2Nhc2lvbmFsICdzdGFydCA8PSBzdG9wJyBuZXdzZWdtZW50IGV2ZW50CgkgIGFzc2VydGlvbnMgd2hlbiBzY3J1YmJpbmcgaW4gTUpQRUcgZmlsZXMuCgoyMDA2LTA2LTEyIDExOjEzOjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZTogQW5kIGFub3RoZXIgb25lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICBBbmQgYW5vdGhlciBvbmUuCgoyMDA2LTA2LTEyIDExOjA0OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3NwZWN0cnVtLy5jdnNpZ25vcmU6IElnbm9yZSBtb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vLmN2c2lnbm9yZToKCSAgSWdub3JlIG1vcmUuCgoyMDA2LTA2LTEyIDEwOjUzOjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2xpYm1tcy9nc3RtbXMuYzogU2V0IGNhcHMgb24gb3V0Z29pbmcgYnVmZmVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuYzogKGdzdF9tbXNfY3JlYXRlKToKCSAgU2V0IGNhcHMgb24gb3V0Z29pbmcgYnVmZmVycy4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOiAoZ3N0X2RpcmVjdGRyYXdzaW5rX2luaXQpOgoJICBDb21tZW50IG91dCB1bnVzZWQgZ2xvYmFsIGluc3RhbmNlIHZhcmlhYmxlLgoKMjAwNi0wNi0xMSAxOTozMToxMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBFeHRyYWN0IGltYWdlcyBmcm9tIElEM3YyIHRhZ3MgKEFQSUMgZnJhbWVzKS4gRml4ZXMgIzMzOTcwNC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChpZDNkZW11eF9pZDN2Ml9wYXJzZV9mcmFtZSksCgkgIChzY2FuX2VuY29kZWRfc3RyaW5nKSwgKHBhcnNlX3BpY3R1cmVfZnJhbWUpOgoJICBFeHRyYWN0IGltYWdlcyBmcm9tIElEM3YyIHRhZ3MgKEFQSUMgZnJhbWVzKS4gRml4ZXMgIzMzOTcwNC4KCSAgKiBjb25maWd1cmUuYWM6CgkgIFJlcXVpcmUgY29yZSA+PSAwLjEwLjggKGZvciBHU1RfVEFHX0lNQUdFIGFuZAoJICBHU1RfVEFHX1BQRVZJRVdfSU1BR0UgdXNlZCBpbiB0aGUgcGF0Y2ggYWJvdmUpLgoKMjAwNi0wNi0xMSAxODo1NjoyNCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvcmF3MTM5NC8uZ2l0aWdub3JlOgoJKiBleHQvdGFnbGliLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2xldmVsLy5naXRpZ25vcmU6CgkgIG1vYXAgaWdub3JlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtb2FwIGlnbm9yZQoKMjAwNi0wNi0xMSAxODo1MjoxOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogZ3JhdHVpdG91cyBjb21tZW50IGNoYW5nZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IChnc3RfZHYxMzk0c3JjX2Rpc2NvdmVyX2F2Y19ub2RlKToKCSAgZ3JhdHVpdG91cyBjb21tZW50IGNoYW5nZXMKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBmaXggbGV2ZWwgdGVzdCBsZWFrcwoKMjAwNi0wNi0xMSAxODo0NDo1NCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiAuZ2l0aWdub3JlOgoJICBpZ25vcmUgbW9yZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgaWdub3JlIG1vcmUKCjIwMDYtMDYtMTEgMTg6MjA6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvOiBVc2UgZ3N0X3BhZF9xdWVyeV9wZWVyX2R1cmF0aW9uKCkgdXRpbGl0eSBmdW5jdGlvbiBoZXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6IChnc3RfdGFnX2RlbXV4X2dldF91cHN0cmVhbV9zaXplKToKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGlkM2RlbXV4X2dldF91cHN0cmVhbV9zaXplKToKCSAgVXNlIGdzdF9wYWRfcXVlcnlfcGVlcl9kdXJhdGlvbigpIHV0aWxpdHkgZnVuY3Rpb24gaGVyZS4KCjIwMDYtMDYtMTEgMTM6NTc6MTkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgYXV0b2dlbi5zaDogcmVxdWlyZSBhbTE3CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGF1dG9nZW4uc2g6CgkgIHJlcXVpcmUgYW0xNwoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvYW5ub2RleC9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2Rpby9NYWtlZmlsZS5hbToKCSAgKiBleHQvZHYvTWFrZWZpbGUuYW06CgkgICogZXh0L2VzZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmxhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJjYWNhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zcGVleC9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFnbGliL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3MvTWFrZWZpbGUuYW06CgkgICogc3lzL3N1bmF1ZGlvL01ha2VmaWxlLmFtOgoJICAqIHN5cy94aW1hZ2UvTWFrZWZpbGUuYW06CgkgIGNsZWFuIHVwIGJ1aWxkIGZ1cnRoZXIKCjIwMDYtMDYtMTEgMTM6NTU6MzQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29tbW9uOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHVwZGF0ZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlCgoyMDA2LTA2LTEwIDE1OjMzOjE4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxtYWlsQHNsb21vc25haWwuZGU+CgoJICBleHQvd2F2cGFjay86IEFkZCB3YXZwYWNrIGVuY29kZXIgZWxlbWVudCAoIzM0MzEzMSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSAgPG1haWwgYXQgc2xvbW9zbmFpbCBkZT4KCSAgKiBleHQvd2F2cGFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19tb2RlX2dldF90eXBlKSwKCSAgKGdzdF93YXZwYWNrX2VuY19jb3JyZWN0aW9uX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2pvaW50X3N0ZXJlb19tb2RlX2dldF90eXBlKSwKCSAgKGdzdF93YXZwYWNrX2VuY19iYXNlX2luaXQpLCAoZ3N0X3dhdnBhY2tfZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2luaXQpLCAoZ3N0X3dhdnBhY2tfZW5jX2Rpc3Bvc2UpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3Npbmtfc2V0X2NhcHMpLCAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2Zvcm1hdF9zYW1wbGVzKSwgKGdzdF93YXZwYWNrX2VuY19wdXNoX2Jsb2NrKSwKCSAgKGdzdF93YXZwYWNrX2VuY19jaGFpbiksIChnc3Rfd2F2cGFja19lbmNfcmV3cml0ZV9maXJzdF9ibG9jayksCgkgIChnc3Rfd2F2cGFja19lbmNfc2lua19ldmVudCksIChnc3Rfd2F2cGFja19lbmNfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF93YXZwYWNrX2VuY19zZXRfcHJvcGVydHkpLCAoZ3N0X3dhdnBhY2tfZW5jX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfd2F2cGFja19lbmNfcGx1Z2luX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSAgKiBleHQvd2F2cGFjay9tZDUuYzoKCSAgKiBleHQvd2F2cGFjay9tZDUuaDoKCSAgQWRkIHdhdnBhY2sgZW5jb2RlciBlbGVtZW50ICgjMzQzMTMxKS4KCjIwMDYtMDYtMDkgMjA6MzY6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnY29uZi9NYWtlZmlsZS5hbTogSG9ub3VyIC0tZGlzYWJsZS1zY2hlbWFzLWluc3RhbGwgY29uZmlndXJlIG9wdGlvbi4gRml4ZXMgIzM0NDEwMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ2NvbmYvTWFrZWZpbGUuYW06CgkgIEhvbm91ciAtLWRpc2FibGUtc2NoZW1hcy1pbnN0YWxsIGNvbmZpZ3VyZSBvcHRpb24uIEZpeGVzICMzNDQxMDAuCgoyMDA2LTA2LTA5IDE4OjMzOjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvZXhhbXBsZXMvbGV2ZWwvTWFrZWZpbGUuYW06IEFkZCAtbG0gdG8gTElCUyBmb3IgcG93KCkgZnVuY3Rpb24sIGRvbid0IGFzc3VtZSBvbmUgb2Ygb3VyIGRlcGVuZGVuY2llcyAoc3VjaCBhcyBsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2V4YW1wbGVzL2xldmVsL01ha2VmaWxlLmFtOgoJICBBZGQgLWxtIHRvIExJQlMgZm9yIHBvdygpIGZ1bmN0aW9uLCBkb24ndCBhc3N1bWUgb25lIG9mIG91cgoJICBkZXBlbmRlbmNpZXMgKHN1Y2ggYXMgbGlieG1sLTIuMCkgZHJhZ3MgaXQgaW4gYXV0b21hdGljYWxseQoJICAoIzM0MzYwMykuCgoyMDA2LTA2LTA5IDE4OjE3OjIzICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogV2Ugc2hvdWxkIHVzZSAkU0VEIGFuZCBub3QgJChTRUQpIGluIGNvbmZpZ3VyZS5hYyAoIzM0MzY3OCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUGV0ZXIgS2plbGxlcnN0ZWR0ICA8cGtqIGF0IGF4aXMgZG90IGNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgIFdlIHNob3VsZCB1c2UgJFNFRCBhbmQgbm90ICQoU0VEKSBpbiBjb25maWd1cmUuYWMgKCMzNDM2NzgpLgoKMjAwNi0wNi0wOSAxNzozODoxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQ2hlY2sgZm9yIFggYmVmb3JlIHVzaW5nIFhfQ0ZMQUdTIGluIHRoZSBjaGVjayBmb3Igb3BlbmdsICgjMzQzODY2KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBDaGVjayBmb3IgWCBiZWZvcmUgdXNpbmcgWF9DRkxBR1MgaW4gdGhlIGNoZWNrIGZvciBvcGVuZ2wgKCMzNDM4NjYpLgoJICAqIGV4dC9tdXNlcGFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvd2F2cGFjay9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlZWQvTWFrZWZpbGUuYW06CgkgIEFkZCBtaXNzaW5nIEdTVF9MSUJTLCBmaXhlcyBidWlsZCBvbiBjeWd3aW4gKCMzNDM4NjYpLgoKMjAwNi0wNi0wOSAxNzoyOTowOCArMDAwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoKCSAgc3lzL3N1bmF1ZGlvLzogQXR0YWNoZWQgZmluZCBhIHBhdGNoIHRoYXQgZml4ZXMgYSBudW1iZXIgb2YgYnVncyB3aXRoIHRoZSBTdW5BdWRpbyBtaXhlciBwbHVnaW4gYW5kIGZpeGVzICMzNDQxMDE6IDEuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQnJpYW4gQ2FtZXJvbiA8YnJpYW4gZG90IGNhbWVyb24gYXQgc3VuIGRvdCBjb20+CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6CgkgIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX29wZW4pLCAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9idWlsZF9saXN0KSwKCSAgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfbmV3KSwgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfc2V0X3ZvbHVtZSksCgkgIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX3NldF9tdXRlKToKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6IChnc3Rfc3VuYXVkaW9zaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X3N1bmF1ZGlvc2lua19pbml0KSwgKGdzdF9zdW5hdWRpb3NpbmtfcHJlcGFyZSksCgkgIChnc3Rfc3VuYXVkaW9zaW5rX3dyaXRlKToKCSAgQXR0YWNoZWQgZmluZCBhIHBhdGNoIHRoYXQgZml4ZXMgYSBudW1iZXIgb2YgYnVncyB3aXRoIHRoZSBTdW5BdWRpbyBtaXhlcgoJICBwbHVnaW4gYW5kIGZpeGVzICMzNDQxMDE6CgkgIDEuIFRoZSBnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX2J1aWxkX2xpc3Qga2VwdCBhcHBlbmRpbmcgdGhlIHNhbWUgMyB0cmFja3Mgb250bwoJICB0aGUgdHJhY2tsaXN0IGNhdXNpbmcgZ25vbWUtdm9sdW1lLWNvbnRyb2wncyBwcmVmZXJlbmNlcyBkaWFsb2cgdG8gYmUgbWVzc2VkCgkgIHVwIGFuZCB3b3VsZCBjb3JlIGR1bXAgaWYgeW91IGNoZWNrZWQvdW5jaGVja2VkIGFueSBpdGVtLgoJICAyLiBXZSB3ZXJlbid0IHByZXZpb3VzbHkgc2V0dGluZyB0aGUgTVVURSBmbGFnIHByb3Blcmx5LiAgRml4aW5nIHRoaXMgbWFrZXMKCSAgZ25vbWUtdm9sdW1lLWNvbnRyb2wgd29yayBiZXR0ZXIuCgkgIDMuIE5vdyB3ZSBwcm9wZXJseSBkZWZpbmUgdGhlIGlucHV0IHRyYWNrIHRvIGJlIEdTVF9NSVhFUl9UUkFDS19JTlBVVCBhbmQKCSAgdGhlIG1vbml0b3IgdG8gYmUgR1NUX01JWEVSX1RSQUNLX09VVFBVVCwgc28gdGhhdCBtYWtlcyBnbm9tZS12b2x1bWUtY29udHJvbAoJICBsb29rIGJldHRlci4KCSAgQWxzbyBzb21lIG1pbm9yIGNsZWFudXAgaW4gZ3N0c3VuYXVkaW9zaW5rLmMuCgoyMDA2LTA2LTA5IDE3OjEyOjUyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2pwZWcvZ3N0anBlZ2RlYy4qOiBBUEk6IEFkZGVkIElEQ1QgbWV0aG9kIHByb3BlcnR5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogKGdzdF9pZGN0X21ldGhvZF9nZXRfdHlwZSksCgkgIChnc3RfanBlZ19kZWNfY2xhc3NfaW5pdCksIChnc3RfanBlZ19kZWNfaW5pdCksCgkgIChnc3RfanBlZ19kZWNfZGVjb2RlX2luZGlyZWN0KSwgKGdzdF9qcGVnX2RlY19kZWNvZGVfZGlyZWN0KSwKCSAgKGdzdF9qcGVnX2RlY19jaGFpbiksIChnc3RfanBlZ19kZWNfc2lua19ldmVudCksCgkgIChnc3RfanBlZ19kZWNfc2V0X3Byb3BlcnR5KSwgKGdzdF9qcGVnX2RlY19nZXRfcHJvcGVydHkpOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSAgQVBJOiBBZGRlZCBJRENUIG1ldGhvZCBwcm9wZXJ0eQoJICBTbWFsbCBjbGVhbnVwcy4KCSAgQXZvaWQgZHluYW1pYyBhbGxvY2F0aW9uIG9mIHRyaXZpYWwgZml4ZWQgc3RydWN0dXJlLgoJICBBbGxvY2F0ZSBlbm91Z2ggc3BhY2UgZm9yIHRlbXAgNDo0OjQgWVVWIGJ1ZmZlcnMuIEZpeGVzICMzNDM2NjEuCgoyMDA2LTA2LTA3IDA5OjI1OjE2ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgY29uZmlndXJlLmFjOiBXZSBub3cgcmVxdWlyZSBsaWJyYXcxMzk0ID49IDEuMS4wIGFuZCB0aGF0IHZlcnNpb24gb253YXJkcyBhbGwgaGF2ZSAucGMgZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA2LTA3ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogY29uZmlndXJlLmFjOgoJICBXZSBub3cgcmVxdWlyZSBsaWJyYXcxMzk0ID49IDEuMS4wIGFuZCB0aGF0IHZlcnNpb24gb253YXJkcyBhbGwKCSAgaGF2ZSAucGMgZmlsZXMuCgoyMDA2LTA2LTAyIDE1OjAyOjU0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2xhdy9hbGF3LWRlY29kZS5jOiBUcnlpbmcgdG8gZ2V0IGl0ZW1zIGZyb20gYW4gQU5ZIG9yIEVNUFRZIGNhcHMgaXMgLi4uIHN0dXBpZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOiAoYWxhd2RlY19nZXRjYXBzKToKCSAgVHJ5aW5nIHRvIGdldCBpdGVtcyBmcm9tIGFuIEFOWSBvciBFTVBUWSBjYXBzIGlzIC4uLiBzdHVwaWQuCgoyMDA2LTA2LTAyIDExOjMzOjE4ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2R2L2dzdGR2ZGVjLio6IEFkZGVkIEdzdFNlZ21lbnQgaGFuZGxpbmcsIG5vdyBpbXBsZW1lbnRzIGRyb3BwaW5nL2NsaXBwaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZWMuYzogKGdzdF9kdmRlY19pbml0KSwgKGdzdF9kdmRlY19zaW5rX2V2ZW50KSwKCSAgKGdzdF9kdmRlY19jaGFpbiksIChnc3RfZHZkZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZHYvZ3N0ZHZkZWMuaDoKCSAgQWRkZWQgR3N0U2VnbWVudCBoYW5kbGluZywgbm93IGltcGxlbWVudHMgZHJvcHBpbmcvY2xpcHBpbmcuCgoyMDA2LTA2LTAxIDIyOjAwOjI2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBGaXggbW9yZSBnb2JqZWN0IG1hY3Jvczogb2JqPC0+a2xhc3MsIEdzdFhYWDwtPkdzdFhYWENsYXNzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5oOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5oOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5oOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmg6CgkgICogZXh0L2FydHMvZ3N0X2FydHMuaDoKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmg6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmg6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuaDoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmg6CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5oOgoJICAqIGV4dC9iejIvZ3N0YnoyZGVjLmg6CgkgICogZXh0L2J6Mi9nc3RiejJlbmMuaDoKCSAgKiBleHQvZGlyYWMvZ3N0ZGlyYWNkZWMuaDoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmg6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGRlYy5oOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuaDoKCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5oOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuaDoKCSAgKiBleHQvZ3NtL2dzdGdzbWRlYy5oOgoJICAqIGV4dC9nc20vZ3N0Z3NtZW5jLmg6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZW5jLmg6CgkgICogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5oOgoJICAqIGV4dC9uYXMvbmFzc2luay5oOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmg6CgkgICogZXh0L3BvbHlwL3BvbHlwc2luay5oOgoJICAqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmg6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuaDoKCSAgKiBleHQvc2hvdXQvZ3N0c2hvdXQuaDoKCSAgKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuaDoKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5oOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmg6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuaDoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmVuYy5oOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICAqIGV4dC94aW5lL2dzdHhpbmUuaDoKCSAgKiBleHQveHZpZC9nc3R4dmlkZGVjLmg6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5oOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmg6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuaDoKCSAgKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmg6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmg6CgkgICogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuaDoKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5Lmg6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuaDoKCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmg6CgkgICogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmg6CgkgICogZ3N0L21wZWcxdmlkZW9wYXJzZS9nc3RtcDF2aWRlb3BhcnNlLmg6CgkgICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5oOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5oOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5Lmg6CgkgICogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuaDoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2VuYy5oOgoJICAqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmg6CgkgICogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5oOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICAqIGdzdC9zcGVlZC9nc3RzcGVlZC5oOgoJICAqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmg6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaDoKCSAgKiBnc3QvdHRhL2dzdHR0YWRlYy5oOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuaDoKCSAgKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5oOgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguaDoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSAgKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmg6CgkgICogc3lzL2R4cjMvZHhyM3NwdXNpbmsuaDoKCSAgKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmg6CgkgICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5oOgoJICAqIHN5cy92Y2QvdmNkc3JjLmg6CgkgIEZpeCBtb3JlIGdvYmplY3QgbWFjcm9zOiBvYmo8LT5rbGFzcywgR3N0WFhYPC0+R3N0WFhYQ2xhc3MKCjIwMDYtMDYtMDEgMjE6MDc6MjYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEZpeCBtb3JlIGdvYmplY3QgbWFjcm9zOiBvYmo8LT5rbGFzcywgR3N0WFhYPC0+R3N0WFhYQ2xhc3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FhbGliL2dzdGFhc2luay5oOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuaDoKCSAgKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuaDoKCSAgKiBleHQvZHYvZ3N0ZHZkZWMuaDoKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5oOgoJICAqIGV4dC9lc2QvZXNkbW9uLmg6CgkgICogZXh0L2VzZC9lc2RzaW5rLmg6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5oOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5oOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc3JjLmg6CgkgICogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmg6CgkgICogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zcmMuaDoKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGthbmltYXRpb24uaDoKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5oOgoJICAqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zaW5rLmg6CgkgICogZXh0L2hhbC9nc3RoYWxhdWRpb3NyYy5oOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdlbmMuaDoKCSAgKiBleHQvanBlZy9nc3RzbW9rZWRlYy5oOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmg6CgkgICogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuaDoKCSAgKiBleHQvbGlibW5nL2dzdG1uZ2RlYy5oOgoJICAqIGV4dC9saWJtbmcvZ3N0bW5nZW5jLmg6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuaDoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5oOgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5oOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5oOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuaDoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmg6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICAqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmg6CgkgICogZ3N0L2RlYnVnL2VmZW5jZS5oOgoJICAqIGdzdC9kZWJ1Zy9nc3RuYXZpZ2F0aW9udGVzdC5oOgoJICAqIGdzdC9kZWJ1Zy9nc3RuYXZzZWVrLmg6CgkgICogZ3N0L2ZseC9nc3RmbHhkZWMuaDoKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmg6CgkgICogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4Lmg6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4Lmg6CgkgICogZ3N0L2xhdy9hbGF3LWRlY29kZS5oOgoJICAqIGdzdC9sYXcvYWxhdy1lbmNvZGUuaDoKCSAgKiBnc3QvbGF3L211bGF3LWRlY29kZS5oOgoJICAqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICAqIGdzdC9tZWRpYW4vZ3N0bWVkaWFuLmg6CgkgICogZ3N0L29sZGNvcmUvZ3N0YWdncmVnYXRvci5oOgoJICAqIGdzdC9vbGRjb3JlL2dzdGZkc2luay5oOgoJICAqIGdzdC9vbGRjb3JlL2dzdG1kNXNpbmsuaDoKCSAgKiBnc3Qvb2xkY29yZS9nc3RtdWx0aWZpbGVzcmMuaDoKCSAgKiBnc3Qvb2xkY29yZS9nc3RwaXBlZmlsdGVyLmg6CgkgICogZ3N0L29sZGNvcmUvZ3N0c2hhcGVyLmg6CgkgICogZ3N0L29sZGNvcmUvZ3N0c3RhdGlzdGljcy5oOgoJICAqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmg6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5Lmg6CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmg6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICAqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5oOgoJICAqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5oOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgICogZ3N0L3VkcC9nc3R1ZHBzaW5rLmg6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuaDoKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmg6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5oOgoJICAqIHN5cy9vc3MvZ3N0b3NzZG1hYnVmZmVyLmg6CgkgICogc3lzL29zcy9nc3Rvc3NtaXhlcmVsZW1lbnQuaDoKCSAgKiBzeXMvb3NzL2dzdG9zc3NpbmsuaDoKCSAgKiBzeXMvb3NzL2dzdG9zc3NyYy5oOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlci5oOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuaDoKCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5oOgoJICBGaXggbW9yZSBnb2JqZWN0IG1hY3Jvczogb2JqPC0+a2xhc3MsIEdzdFhYWDwtPkdzdFhYWENsYXNzCgoyMDA2LTA1LTMxIDE2OjIzOjU0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2dvb20vZ3N0Z29vbS4qOiBIYW5kbGUgUW9TLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6IChnc3RfZ29vbV9jbGFzc19pbml0KSwgKGdzdF9nb29tX2luaXQpLAoJICAoZ3N0X2dvb21fZmluYWxpemUpLCAoZ3N0X2dvb21fcmVzZXQpLCAoZ3N0X2dvb21fc2lua19zZXRjYXBzKSwKCSAgKGdzdF9nb29tX3NyY19zZXRjYXBzKSwgKGdzdF9nb29tX3NyY19ldmVudCksCgkgIChnc3RfZ29vbV9zaW5rX2V2ZW50KSwgKGdldF9idWZmZXIpLCAoZ3N0X2dvb21fY2hhaW4pLAoJICAoZ3N0X2dvb21fY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmg6CgkgIEhhbmRsZSBRb1MuCgkgIEhhbmRsZSBmbHVzaGluZywgZGlzY29udCBhbmQgZXZlbnRzLgoJICBGaXggdGltZXN0YW1wcyBhbmQgdmFyaW91cyBvdGhlciBjbGVhbnVwcy4KCjIwMDYtMDUtMzEgMTU6Mzc6MTYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogRml4IGJ1cyByZXNldCB3aGVuIHVzaW5nIGxpYmllYzYxODgzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA1LTMxICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IChnc3RfZHYxMzk0c3JjX2J1c19yZXNldCk6CgkgIEZpeCBidXMgcmVzZXQgd2hlbiB1c2luZyBsaWJpZWM2MTg4MwoKMjAwNi0wNS0zMSAxMDozMToyMyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogRGV0ZWN0IGxpYmllYzYxODgzIGFuZCBzZXQgbmVjZXNzYXJ5IENGTEFHUyBhbmQgTElCUyBmb3IgZHYxMzk0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNS0zMSAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRGV0ZWN0IGxpYmllYzYxODgzIGFuZCBzZXQgbmVjZXNzYXJ5IENGTEFHUyBhbmQgTElCUyBmb3IgZHYxMzk0LgoJICAqIGV4dC9yYXcxMzk0L01ha2VmaWxlLmFtOgoJICBBZGQgQ0ZMQUdTLgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiAoZ3N0X2R2MTM5NHNyY19pZWM2MTg4M19yZWNlaXZlKSwKCSAgTmV3IG1ldGhvZCwgdG8gcmVjZWl2ZSB1c2luZyBsaWJpZWM2MTg4My4KCSAgKGdzdF9kdjEzOTRzcmNfaXNvX3JlY2VpdmUpLAoJICAjaWZkZWYnZCBvdXQgaWYgbGliaWVjNjE4ODMgaXMgcHJlc2VudC4KCSAgKGdzdF9kdjEzOTRzcmNfYnVzX3Jlc2V0KSwKCSAgR2V0IHVzZXJkYXRhIGNvcnJlY3RseSBpZiB1c2luZyBsaWJpZWM2MTg4My4KCSAgKGdzdF9kdjEzOTRzcmNfY3JlYXRlKSwKCSAgV2hlbiB1c2luZyBsaWJpZWM2MTg4Mywgb25seSBwb2xsIG9uZSBmZCBhbmQgbm8gbmVlZCB0byByZWFkLgoJICAoZ3N0X2R2MTM5NHNyY19kaXNjb3Zlcl9hdmNfbm9kZSksCgkgIFJlcGxhY2UgZ193YXJuaW5ncy4KCSAgKGdzdF9kdjEzOTRzcmNfc3RhcnQpLAoJICBDcmVhdGUgbmV3IGhhbmRsZSB3aGVuIHdlIGtub3cgd2hpY2ggZHYgcG9ydC4gIE1vcmUgcmVsaWFibGUKCSAgdGhhbiBzZXR0aW5nIHBvcnQgb24gYW4gZXhpc3RpbmcgaGFuZGxlLiAgSW5pdGlhbGlzZSBsaWJpZWM2MTg4My4KCSAgKGdzdF9kdjEzOTRzcmNfc3RvcCk6CgkgIElmIHVzaW5nIGxpYmllYzYxODgzLCB0aGVuIGNsZWFudXAgaXRzIGhhbmRsZSBwcm9wZXJseS4KCSAgKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuaDoKCSAgQWRkIGxpYmllYzYxODgzIGhhbmRsZS4KCjIwMDYtMDUtMzAgMjE6MDc6MzggKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogYWRkIGFuIGV4cGxpY2l0IGRsbCBpbXBvcnRlZCBkZWNsYXJhdGlvbiBmb3IgR1NUX0NBVF9FVkVOVCtXSU4zMgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGFkZCBhbiBleHBsaWNpdCBkbGwgaW1wb3J0ZWQgZGVjbGFyYXRpb24gZm9yIEdTVF9DQVRfRVZFTlQrV0lOMzIKCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgc29ydCBmaWxlIGxpc3RpbmcKCSAgKiB3aW4zMi92czYvbGliZ3N0YXZpLmRzcDoKCSAgYWRkIGdzdGF2aW11eC5jIHRvIHRoZSBwcm9qZWN0CgkgICogd2luMzIvdnM2L2xpYmdzdGlkM2RlbXV4LmRzcDoKCSAgYWRkIGxpbmsgdG8gemxpYiBsaWJyYXJ5CgkgICogd2luMzIvdnM2L2xpYmdzdG1hdHJvc2thLmRzcDoKCSAgYWRkIG1hdHJvc2thLWlkcy5jIHRvIHRoZSBwcm9qZWN0CgoyMDA2LTA1LTMwIDE0OjM1OjE4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxtYWlsQHNsb21vc25haWwuZGU+CgoJICBBZGQgYXBldjJtdXggZWxlbWVudCAoIzM0MzEyMikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSAgPG1haWwgYXQgc2xvbW9zbmFpbCBkZSA+CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZXh0L3RhZ2xpYi9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFnbGliL2dzdGFwZXYybXV4LmNjOgoJICAqIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguaDoKCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGlibXV4LmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguaDoKCSAgQWRkIGFwZXYybXV4IGVsZW1lbnQgKCMzNDMxMjIpLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FwZXYybXV4LmM6CgkgICh0ZXN0X3RhZ2xpYl9hcGV2Mm11eF9jcmVhdGVfdGFncyksCgkgICh0ZXN0X3RhZ2xpYl9hcGV2Mm11eF9jaGVja190YWdzKSwgKGZpbGxfbXAzX2J1ZmZlciksIChnb3RfYnVmZmVyKSwKCSAgKGRlbXV4X3BhZF9hZGRlZCksICh0ZXN0X3RhZ2xpYl9hcGV2Mm11eF9jaGVja19vdXRwdXRfYnVmZmVyKSwKCSAgKHRlc3RfdGFnbGliX2FwZXYybXV4X3dpdGhfdGFncyksIChHU1RfU1RBUlRfVEVTVCksCgkgIChhcGV2Mm11eF9zdWl0ZSksIChtYWluKToKCSAgQWRkIHVuaXQgdGVzdCBmb3IgYXBldjJtdXggZWxlbWVudC4KCjIwMDYtMDUtMjggMTc6MzM6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvOiBHU1RfUFRSX0ZPUk1BVCBzaG91bGQgYmUgdXNlZCB0byBwcmludCBjYXBzIGluIGRlYnVnIHN0YXRlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6IChnc3RfYWxwaGFfY29sb3JfdHJhbnNmb3JtX2NhcHMpOgoJICAqIGdzdC9kZWJ1Zy9uZWdvdGlhdGlvbi5jOiAoZ3N0X25lZ290aWF0aW9uX3VwZGF0ZV9jYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOiAoZ3N0X3J0cF9pbGJjX2RlcGF5X3NldGNhcHMpOgoJICBHU1RfUFRSX0ZPUk1BVCBzaG91bGQgYmUgdXNlZCB0byBwcmludCBjYXBzIGluIGRlYnVnIHN0YXRlbWVudHMuCgoyMDA2LTA1LTI4IDE0OjM4OjExICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0B1YnVudHUuY29tPgoKCSAgZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOiBTb21lIGNsZWFuLXVwcyBhbmQgYWRkaXRpb25zOiBtYXAgQVBFICdmaWxlJyB0YWcgdG8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlICA8c2xvbW8gYXQgdWJ1bnR1IGRvdCBjb20+CgkgICogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOiAoYXBlX2RlbXV4X2dldF9nc3RfdGFnX2Zyb21fdGFnKSwKCSAgKGFwZV9kZW11eF9wYXJzZV90YWdzKToKCSAgU29tZSBjbGVhbi11cHMgYW5kIGFkZGl0aW9uczogbWFwIEFQRSAnZmlsZScgdGFnIHRvCgkgIEdTVF9UQUdfTE9DQVRJT04gKCMzNDMxMjMpOyBhZGQgc3VwcG9ydCBmb3IgZXh0cmFjdGluZwoJICB0aGUgdHJhY2sgY291bnQgYW5kIGNsZWFuIHVwIHBhcnNpbmcgYSBiaXQgKCMzNDMxMjcpLgoKMjAwNi0wNS0yOCAxMzo0OToxMiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogSW5pdGlhbGl6ZSBzZWdtZW50IHRvIEdTVF9GT1JNQVRfVU5ERUZJTkVEIGluIFJFQURZLT5QQVVTRUQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogKGdzdF9qcGVnX2RlY19jaGFuZ2Vfc3RhdGUpOgoJICBJbml0aWFsaXplIHNlZ21lbnQgdG8gR1NUX0ZPUk1BVF9VTkRFRklORUQgaW4gUkVBRFktPlBBVVNFRC4KCjIwMDYtMDUtMjggMTM6MzA6MTMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvanBlZy9nc3RqcGVnZGVjLio6IENsaXAgb3V0Z29pbmcgYnVmZmVycyBhY2NvcmRpbmcgdG8gY3VycmVudGx5IGNvbmZpZ3VyZWQgc2VnbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiAoZ3N0X2pwZWdfZGVjX2ZpbmFsaXplKSwKCSAgKGdzdF9qcGVnX2RlY19pbml0KSwgKGdzdF9qcGVnX2RlY19jaGFpbiksCgkgIChnc3RfanBlZ19kZWNfc2lua19ldmVudCksIChnc3RfanBlZ19kZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkgIENsaXAgb3V0Z29pbmcgYnVmZmVycyBhY2NvcmRpbmcgdG8gY3VycmVudGx5IGNvbmZpZ3VyZWQgc2VnbWVudC4KCjIwMDYtMDUtMjggMTA6Mzk6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOiBIYW5kbGUgIHdyaXRpbmcgb2YgdHJhY2stY291bnQgb3IgYWxidW0tdm9sdW1lLWNvdW50IHdpdGhvdXQgdHJhY2stbnVtYmVyIG9yIGFsYnVtZS12b2x1bWUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgSGFuZGxlICB3cml0aW5nIG9mIHRyYWNrLWNvdW50IG9yIGFsYnVtLXZvbHVtZS1jb3VudCB3aXRob3V0CgkgIHRyYWNrLW51bWJlciBvciBhbGJ1bWUtdm9sdW1lLW51bWJlciAoaW4gdGhpcyBjYXNlIHRoZSBudW1iZXIKCSAgd2lsbCBqdXN0IGJlIHNldCB0byAwKS4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDN2Mm11eC5jOiAodGVzdF90YWdsaWJfaWQzbXV4X2NoZWNrX3RhZ3MpOgoJICBJdCB3b3VsZCBiZSBuaWNlIGlmIHdlIGFjdHVhbGx5IGNoZWNrZWQgdGhlIHZhbHVlcyByZWNlaXZlZCBmb3IKCSAgdHJhY2svYWxidW0tdm9sdW1lIG51bWJlci9jb3VudCBpbiAgX2NoZWNrX3RhZ3MoKSwgcmF0aGVyIHRoYW4KCSAgc2V0dGluZyB0aGVtIGFnYWluIC4uLgoKMjAwNi0wNS0yOCAxMDowNTo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBBIHRyYWNrL3ZvbHVtZSBudW1iZXIgb3IgY291bnQgb2YgMCBkb2VzIG5vdCBtYWtlIHNlbnNlLCBqdXN0IGlnbm9yZSBpdCBhbG9uZyB3aXRoIG5lZ2F0aS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKGlkM3YyX3RhZ190b190YWdsaXN0KToKCSAgQSB0cmFjay92b2x1bWUgbnVtYmVyIG9yIGNvdW50IG9mIDAgZG9lcyBub3QgbWFrZSBzZW5zZSwKCSAganVzdCBpZ25vcmUgaXQgYWxvbmcgd2l0aCBuZWdhdGl2ZSBudW1iZXJzIChhIHRhZyBtaWdodAoJICBvbmx5IGNvbnRhaW4gYSB0cmFjayBjb3VudCB3aXRob3V0IGEgdHJhY2sgbnVtYmVyKS4KCjIwMDYtMDUtMjcgMTM6MTE6MzcgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvanBlZy9nc3RqcGVnZGVjLmM6IEFib3J0IGRlY29tcHJlc3Npb24gd2hlbiByZWNlaXZpbmcgRkxVU0hfU1RPUC4gVGhpcyBzaG91bGQgYXZvaWQgaXNzdWVzIHdoZW4gaW50ZXJydXB0aW5nIGRlY28uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiAoZ3N0X2pwZWdfZGVjX2luaXQpLAoJICAoZ3N0X2pwZWdfZGVjX3NpbmtfZXZlbnQpOgoJICBBYm9ydCBkZWNvbXByZXNzaW9uIHdoZW4gcmVjZWl2aW5nIEZMVVNIX1NUT1AuIFRoaXMgc2hvdWxkIGF2b2lkCgkgIGlzc3VlcyB3aGVuIGludGVycnVwdGluZyBkZWNvZGluZyB3aXRoIGZsdXNoZXMuCgoyMDA2LTA1LTI3IDEyOjEwOjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhYy5jOiBEb24ndCAjaW5jbHVkZSBmaWxlIHdlIGRvbid0IGRpc3QgYW55IGxvbmdlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhYy5jOgoJICBEb24ndCAjaW5jbHVkZSBmaWxlIHdlIGRvbid0IGRpc3QgYW55IGxvbmdlci4KCjIwMDYtMDUtMjcgMTE6Mjc6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBSRUFETUU6IFJlcGxhY2UgY3VycmVudCBSRUFETUUgKGNvbnRhaW5pbmcgdGhlIHJlbGVhc2Ugbm90ZXMgZnJvbSBzb21lIDAuOS54IHZlcnNpb24pIHdpdGggYSBwcm9wZXIgUkVBRE1FIHRha2VuIGZyb20uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogUkVBRE1FOgoJICBSZXBsYWNlIGN1cnJlbnQgUkVBRE1FIChjb250YWluaW5nIHRoZSByZWxlYXNlIG5vdGVzIGZyb20KCSAgc29tZSAwLjkueCB2ZXJzaW9uKSB3aXRoIGEgcHJvcGVyIFJFQURNRSB0YWtlbiBmcm9tIHRoZSBjb3JlLgoKMjAwNi0wNS0yNiAyMjozNTowMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtLzogYWRkZWQgYW5vdGhlciBleGFtcGxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzogKG9uX2ZyZXF1ZW5jeV9jaGFuZ2VkKSwKCSAgKHNwZWN0cnVtX2NoYWluKSwgKG1haW4pOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOgoJICBhZGRlZCBhbm90aGVyIGV4YW1wbGUKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIGZpeCB0eXBvCgoyMDA2LTA1LTI2IDEzOjE2OjU0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBDbGlwIHRoZSBvdXRwdXRlZCBORVdTRUdNRU5UIHN0b3AgdGltZSB0byB0aGUgY29uZmlndXJlZCBzZWdtZW50IHN0b3AgdGltZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCk6CgkgIENsaXAgdGhlIG91dHB1dGVkIE5FV1NFR01FTlQgc3RvcCB0aW1lIHRvIHRoZSBjb25maWd1cmVkIHNlZ21lbnQgc3RvcAoJICB0aW1lLgoKMjAwNi0wNS0yNiAxMTo0ODo0NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRG9uJ3QgY2xlYXIgdGhlIHJ1bm5pbmcgdmFyaWFibGUgaW4gdGhlIHNlZWsgY29kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZG9fc2Vlayk6CgkgIERvbid0IGNsZWFyIHRoZSBydW5uaW5nIHZhcmlhYmxlIGluIHRoZSBzZWVrIGNvZGUuCgoyMDA2LTA1LTI0IDE2OjAzOjQwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2R2L2dzdGR2ZGVtdXguYzogSW1wbGVtZW50IEVPUyBjb3JyZWN0bHkgYnkgZWl0aGVyIHBvc3RpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2xvb3ApOgoJICBJbXBsZW1lbnQgRU9TIGNvcnJlY3RseSBieSBlaXRoZXIgcG9zdGluZwoJICBTRUdNRU5UX0RPTkUgb3IgcHVzaGluZyBhbiBFT1MgbWVzc2FnZSBkZXBlbmRpbmcKCSAgb24gdGhlIHNlZWsgdHlwZS4gRml4ZXMgIzM0MjU5MgoKMjAwNi0wNS0yNCAxMTo1Njo0MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRGV0ZWN0IFFDRUxQIGluIG1wNGEgZGVzY3JpcHRvcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2hhbmRsZV9lc2RzKToKCSAgRGV0ZWN0IFFDRUxQIGluIG1wNGEgZGVzY3JpcHRvcnMuCgoyMDA2LTA1LTI0IDEwOjAwOjUwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2xhdy86IFNvbWUgY2xlYW51cHMgaW4gdGhlIGNoYWluIGZ1bmN0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOiAoZ3N0X2FsYXdkZWNfY2hhaW4pOgoJICAqIGdzdC9sYXcvYWxhdy1kZWNvZGUuaDoKCSAgKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6IChnc3RfYWxhd2VuY19jaGFpbik6CgkgICogZ3N0L2xhdy9hbGF3LWVuY29kZS5oOgoJICAqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6IChnc3RfbXVsYXdkZWNfY2hhaW4pOgoJICAqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmg6CgkgICogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzogKGdzdF9tdWxhd2VuY19jaGFpbik6CgkgICogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuaDoKCSAgU29tZSBjbGVhbnVwcyBpbiB0aGUgY2hhaW4gZnVuY3Rpb25zLgoJICBSZW1vdmUgc29tZSBHU3RyZWFtZXIgMC4wLjIgYml0cy4KCjIwMDYtMDUtMjMgMjA6MTU6MDQgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IGdzdF9jb2xsZWN0X3BhZHNfc3RvcCgpIG5lZWRzIHRvIGJlIGNhbGxlZCBiZWZvcmUgY2hhaW5pbmcgdXAgdG8gdGhlIHBhcmVudCBjbGFzcyAoIzM0MjcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzICA8bWFuYXV3IGF0IHNreW5ldCBiZT4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X2NoYW5nZV9zdGF0ZSk6CgkgIGdzdF9jb2xsZWN0X3BhZHNfc3RvcCgpIG5lZWRzIHRvIGJlIGNhbGxlZCBiZWZvcmUgY2hhaW5pbmcgdXAKCSAgdG8gdGhlIHBhcmVudCBjbGFzcyAoIzM0MjczNCkuCgoyMDA2LTA1LTIzIDE2OjQ1OjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZsYWMvOiBSZW1vdmUgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgY3J1ZnQgZm9yIGRlYWxpbmcgd2l0aCBGTEFDIEFQSSBjaGFuZ2VzIGluIHRoZSAxLjAueCBzZXJpZXMgLSB3ZSByZXF1aXJlIDEuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9mbGFjL2ZsYWNfY29tcGF0Lmg6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhYy5jOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY19pbml0KToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIFJlbW92ZSBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBjcnVmdCBmb3IgZGVhbGluZyB3aXRoIEZMQUMgQVBJCgkgIGNoYW5nZXMgaW4gdGhlIDEuMC54IHNlcmllcyAtIHdlIHJlcXVpcmUgMS4xLjEgb3IgbmV3ZXIgdGhlc2UgZGF5cy4KCjIwMDYtMDUtMjMgMTM6NDQ6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvOiBBZGQgc3VwcG9ydCBmb3IgbXV4aW5nL2RlbXV4aW5nIHRoZW9yYSB2aWRlbyAoIzM0MjQ0ODsgdG9vIGJhZCBub25lIG9mIHRoZSB1c3VhbCBsaW51eCBwbGF5ZXJzIGNhbiBhY3QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3N0cmVhbSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcHVzaF94aXBoX2NvZGVjX3ByaXZfZGF0YSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYmxvY2tncm91cF9vcl9zaW1wbGVibG9jayksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfdmlkZW9fY2FwcyksIChnc3RfbWF0cm9za2FfZGVtdXhfYXVkaW9fY2Fwcyk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfYmFzZV9pbml0KSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfdmlkZW9fcGFkX3NldGNhcHMpLAoJICAoeGlwaDNfc3RyZWFtaGVhZGVyX3RvX2NvZGVjZGF0YSksCgkgICh2b3JiaXNfc3RyZWFtaGVhZGVyX3RvX2NvZGVjZGF0YSksCgkgICh0aGVvcmFfc3RyZWFtaGVhZGVyX3RvX2NvZGVjZGF0YSksCgkgIChnc3RfbWF0cm9za2FfbXV4X2F1ZGlvX3BhZF9zZXRjYXBzKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfd3JpdGVfZGF0YSk6CgkgIEFkZCBzdXBwb3J0IGZvciBtdXhpbmcvZGVtdXhpbmcgdGhlb3JhIHZpZGVvICgjMzQyNDQ4OyB0b28gYmFkCgkgIG5vbmUgb2YgdGhlIHVzdWFsIGxpbnV4IHBsYXllcnMgY2FuIGFjdHVhbGx5IHBsYXkgdGhpcykuIFBsYXliYWNrCgkgIGluIEdTdHJlYW1lciB3aWxsIHJlcXVpcmUgYWRkaXRpb25hbCBjaGFuZ2VzIHRvIHRoZW9yYWRlYyBpbiAtYmFzZS4KCSAgUmVmYWN0b3Igc3RyZWFtaGVhZGVycyA8PT4gQ29kZWNQcml2YXRlRGF0YSBjb2RlIGEgYml0OyBzb21lIHNtYWxsCgkgIGNsZWFudXBzLgoKMjAwNi0wNS0yMiAxODowMDo1MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogcG8vUE9URklMRVMuaW46CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayksIChwbHVnaW5faW5pdCk6CgkgIHBvL1BPVEZJTEVTLmluOgoJICBUaHJvdyBhbiBlcnJvciB3aGVuIHRoZSBmaWxlIGlzIGVuY3J5cHRlZC4gTW92ZSBwbHVnaW5faW5pdCBzdHVmZgoJICB0byB0aGUgZW5kIG9mIHRoZSBmaWxlLCBhZGQgc3R1ZmYgZm9yIGkxOG4sIG1ha2UgZGVidWcgY2F0ZWdvcnkKCSAgc3RhdGljLgoKMjAwNi0wNS0yMiAxNToyMzowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogRml4IGNyYXNoZXMgd2hlbiB0aGUgaG9yaXpvbnRhbCBzdWJzYW1wbGluZyBpcyAxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6IChocmVzYW1wbGVjcHkxKSwKCSAgKGdzdF9qcGVnX2RlY19kZWNvZGVfaW5kaXJlY3QpLCAoZ3N0X2pwZWdfZGVjX2NoYWluKToKCSAgRml4IGNyYXNoZXMgd2hlbiB0aGUgaG9yaXpvbnRhbCBzdWJzYW1wbGluZyBpcyAxLgoJICBGaXhlcyAjMzQyMDk3LgoKMjAwNi0wNS0yMiAxNDo1NjoyOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5oOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5Lmg6CgkgIGNvdmVyIHVwIHRoZSBkaXJ0eSB0cnV0aAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY292ZXIgdXAgdGhlIGRpcnR5IHRydXRoCgoyMDA2LTA1LTIyIDEzOjUzOjE4ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguKjogLSBhZGQgb2RtbCAobGFyZ2UgZmlsZSkgaW5kZXggc3VwcG9ydAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgIDxtYW5hdXcgYXQgc2t5bmV0IGJlPgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IChnc3RfYXZpX211eF9maW5hbGl6ZSksIChnc3RfYXZpX211eF9pbml0KSwKCSAgKGdzdF9hdmlfbXV4X3ZpZHNpbmtfc2V0X2NhcHMpLCAoZ3N0X2F2aV9tdXhfYXVkc2lua19zZXRfY2FwcyksCgkgIChnc3RfYXZpX211eF93cml0ZV90YWcpLCAoZ3N0X2F2aV9tdXhfcmlmZl9nZXRfYXZpX2hlYWRlciksCgkgIChnc3RfYXZpX211eF9yaWZmX2dldF9hdml4X2hlYWRlciksIChnc3RfYXZpX211eF93cml0ZV9hdml4X2luZGV4KSwKCSAgKGdzdF9hdmlfbXV4X2FkZF9pbmRleCksIChnc3RfYXZpX211eF9iaWdmaWxlKSwKCSAgKGdzdF9hdmlfbXV4X3N0YXJ0X2ZpbGUpLCAoZ3N0X2F2aV9tdXhfc3RvcF9maWxlKSwKCSAgKGdzdF9hdmlfbXV4X2hhbmRsZV9ldmVudCksIChnc3RfYXZpX211eF9kb19hdWRpb19idWZmZXIpLAoJICAoZ3N0X2F2aV9tdXhfZG9fdmlkZW9fYnVmZmVyKSwgKGdzdF9hdmlfbXV4X2RvX29uZV9idWZmZXIpLAoJICAoZ3N0X2F2aV9tdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5oOgoJICBTb21lIGVuaGFuY2VtZW50cyBmb3IgYXZpbXV4ICgjMzQyNTI2KToKCSAgLSBhZGQgb2RtbCAobGFyZ2UgZmlsZSkgaW5kZXggc3VwcG9ydAoJICAtIHN0b3JlIGNvZGVjIGluaXQgZGF0YSAoZS5nLiBodWZmeXV2KQoJICAtIG1pc2NlbGxhbmVvdXMgb3RoZXIgZml4ZXMvY2xlYW51cHMKCjIwMDYtMDUtMjIgMTM6NTE6MzAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJICBmaXggZGVzY3JpcHRpb25zIGFuZCBsaWNlbnNlIGJsb2NrcyBjdXQgYW5kIHBhc3RlIGFueW9uZSA/CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggZGVzY3JpcHRpb25zIGFuZCBsaWNlbnNlIGJsb2NrcwoJICBjdXQgYW5kIHBhc3RlIGFueW9uZSA/CgoyMDA2LTA1LTIxIDE2OjQxOjQ0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogVXNlIGJvaWxlcnBsYXRlIG1hY3JvLCBmaXggc3RyaW5ncyB0byBtYXRjaCBwbHVnaW4tbW92YWwtcmVxdWlyZW1lbnRzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX2luaXQpLCAoZ3N0X3NwZWN0cnVtX3NldF9zaW5rX2NhcHMpLAoJICAoZ3N0X3NwZWN0cnVtX2dldF9zaW5rX2NhcHMpLCAoZ3N0X3NwZWN0cnVtX2NoYWluKToKCSAgVXNlIGJvaWxlcnBsYXRlIG1hY3JvLCBmaXggc3RyaW5ncyB0byBtYXRjaCBwbHVnaW4tbW92YWwtcmVxdWlyZW1lbnRzCgoyMDA2LTA1LTIxIDE2OjIzOjIzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vTWFrZWZpbGUuYW06IExpbmsgdG8gYmFzZSBsaWJyYXJpZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJICBMaW5rIHRvIGJhc2UgbGlicmFyaWVzCgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6IChtYWluKToKCSAgdXNlIG5ldyB0aHJlc2hob2xkIHByb3BlcnR5CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCksCgkgIChnc3Rfc3BlY3RydW1faW5pdCksIChnc3Rfc3BlY3RydW1fZGlzcG9zZSksCgkgIChnc3Rfc3BlY3RydW1fc2V0X3Byb3BlcnR5KSwgKGdzdF9zcGVjdHJ1bV9zZXRfc2lua19jYXBzKSwKCSAgKGdzdF9zcGVjdHJ1bV9nZXRfc2lua19jYXBzKSwgKGdzdF9zcGVjdHJ1bV9jaGFpbiksCgkgIChnc3Rfc3BlY3RydW1fY2hhbmdlX3N0YXRlKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgVXNlIGdzdF9hZGFwdGVyLCBzdXBwb3J0IG11bHRpcGxlLWNoYW5uZWxzLCBhZGQgdGhyZXNob2xkIHByb3BlcnR5IGZvcgoJICByZXN1bHQsIGFkZCBkb2NzLCBmaXggcmVzdWx0aW5nIHNwZWN0cnVtIHJhbmdlICh3YXMgaW5jbHVkaW5nIG1pcnJvcmVkCgkgIHJlc3VsdHMpCgoyMDA2LTA1LTIwIDIyOjQyOjE1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBJbml0aWFsIHBvcnQgb2YgdGhlIHNwZWN0cnVtIGVsZW1lbnQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOiAoc3BlY3RydW1fY2hhaW4pLCAobWFpbik6CgkgICogZ3N0L3NwZWN0cnVtL2ZpeF9mZnQuYzogKGdzdF9zcGVjdHJ1bV9maXhfZG90KToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9nZXRfdHlwZSksCgkgIChnc3Rfc3BlY3RydW1fYmFzZV9pbml0KSwgKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9pbml0KSwgKGdzdF9zcGVjdHJ1bV9kaXNwb3NlKSwKCSAgKGdzdF9zcGVjdHJ1bV9zZXRfcHJvcGVydHkpLCAoZ3N0X3NwZWN0cnVtX2NoYWluKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgSW5pdGlhbCBwb3J0IG9mIHRoZSBzcGVjdHJ1bSBlbGVtZW50CgoyMDA2LTA1LTE5IDE4OjU4OjA1ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzoKCSAgSSBmb3JnZXQgdG8gYWRkIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jIGluIGxhcyBjb21taXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEkgZm9yZ2V0IHRvIGFkZCBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYyBpbiBsYXMgY29tbWl0CgoyMDA2LTA1LTE5IDE4OjMxOjI1ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIFNvbWUgY2xlYW4tdXBzIHJlcXVlc3RlZCBieSB3aW5nbyBpbiBidWcgIzMzODgxOC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNvbWUgY2xlYW4tdXBzIHJlcXVlc3RlZCBieSB3aW5nbyBpbiBidWcgIzMzODgxOC4KCjIwMDYtMDUtMTkgMTQ6MDU6NTMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IERvbid0IG91dHB1dCBhbnkgdGFnIHdoZW4gd2UgZW5jb3VudGVyIGEgbmVnYXRpdmUgdHJhY2sgbnVtYmVyIC0gdGhlIHRhZyB0eXBlIGlzIHVpbnQsIHNvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAoaWQzdjJfdGFnX3RvX3RhZ2xpc3QpOgoJICBEb24ndCBvdXRwdXQgYW55IHRhZyB3aGVuIHdlIGVuY291bnRlciBhIG5lZ2F0aXZlIHRyYWNrIG51bWJlciAtIHRoZQoJICB0YWcgdHlwZSBpcyB1aW50LCBzbyB3ZSBlbmQgdXAgb3V0cHV0dGluZyBodWdlIHBvc2l0aXZlIG51bWJlcnMKCSAgaW5zdGVhZC4gKEZpeGVzOiAjMzQyMDI5KQoKMjAwNi0wNS0xOCAyMzowNDo1OSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBjb25maWd1cmUuYWM6IHVwZGF0ZSBmb3IgbmV3IEdTVFBCX1BMVUdJTlNfRElSCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgdXBkYXRlIGZvciBuZXcgR1NUUEJfUExVR0lOU19ESVIKCjIwMDYtMDUtMTggMTk6MzQ6NDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQ2hlY2sgZm9yIFgxMQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIENoZWNrIGZvciBYMTEKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6IChnc3RfdjRsMl9jbGFzc19wcm9iZV9kZXZpY2VzKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfaWZhY2Vfc3VwcG9ydGVkKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6IChnc3RfdjRsMl94b3ZlcmxheV9vcGVuKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuaDoKCSAgQ29kZSBjbGVhbnVwcywgZml4IGRlYnVnIG1hY3JvcwoKMjAwNi0wNS0xOCAxNDo0NTozMyArMDAwMCAgUGhpbGlwcGUgS2FsYWYgPHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51az4KCgkgIHJ0cC9nc3QvZ3N0cnRwaDI2M3BheS5jOiBQcm9wZXJseSBzZXQgc3RhdGljIGNhcHMgZm9yIEgyNjMgYXQgMzQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA1LTE4ICBQaGlsaXBwZSBLYWxhZiAgPHBoaWxpcHBlLmthbGFmIGF0IGNvbGxhYm9yYS5jby51az4KCSAgKiBydHAvZ3N0L2dzdHJ0cGgyNjNwYXkuYzoKCSAgUHJvcGVybHkgc2V0IHN0YXRpYyBjYXBzIGZvciBIMjYzIGF0IDM0LgoKMjAwNi0wNS0xOCAxMjo0NjowOCArMDAwMCAgSmFtZXMgRG9jIExpdmluZ3N0b24gPGRvY2xpdmluZ3N0b25AZ21haWwuY29tPgoKCSAgZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguYzogTWVyZ2UgZXZlbnQgdGFncyBhbmQgdGFnIHNldHRlciB0YWdzIGNvcnJlY3RseSAoIzMzOTkxOCkuIEFsc28sIGRvbid0IGxlYWsgdGFnbGlzdCBpbiBjYXNlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSmFtZXMgIkRvYyIgTGl2aW5nc3RvbiAgPGRvY2xpdmluZ3N0b24gZ21haWwgY29tPgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGlibXV4LmM6IChnc3RfdGFnX2xpYl9tdXhfcmVuZGVyX3RhZyk6CgkgIE1lcmdlIGV2ZW50IHRhZ3MgYW5kIHRhZyBzZXR0ZXIgdGFncyBjb3JyZWN0bHkgKCMzMzk5MTgpLiBBbHNvLAoJICBkb24ndCBsZWFrIHRhZ2xpc3QgaW4gY2FzZSBvZiBhbiBlcnJvci4KCjIwMDYtMDUtMTcgMTg6MDk6MDYgKzAwMDAgIFBoaWxpcHBlIEthbGFmIDxwaGlsaXBwZS5rYWxhZkBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICBGaXhlZCBjYXBzIGZvciBIMjYzIChub3QgdGhlIHNhbWUgYXMgSDI2MyspCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXhlZCBjYXBzIGZvciBIMjYzIChub3QgdGhlIHNhbWUgYXMgSDI2MyspCgoyMDA2LTA1LTE3IDEyOjM2OjI2ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzogV2UgY2FuIG9ubHkgZG8gY2FwcyBpbnRlcnNlY3Rpb24gaWYgdGhlIG90aGVyY2FwcyBhcmUgbm9uLWVtcHR5IGFuZCBub3QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzogKG11bGF3ZGVjX2dldGNhcHMpOgoJICBXZSBjYW4gb25seSBkbyBjYXBzIGludGVyc2VjdGlvbiBpZiB0aGUgb3RoZXJjYXBzIGFyZSBub24tZW1wdHkgYW5kIG5vdAoJICBBTlkuIEVsc2Ugd2UgcmV0dXJuIHRoZSBwYWQgdGVtcGxhdGUgKGJhc2VfY2FwcykuCgoyMDA2LTA1LTE3IDExOjIwOjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiBGaXggY3Jhc2ggd2hlbiBvdXRwdXR0aW5nIGRlYnVnZ2luZyBpbmZvcm1hdGlvbiBmb3IgY2VydGFpbiBwaWN0dXJlcyAoYWx3YXlzIGdvb2QgdG8gdXNlIHRoZSByLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogKGdzdF9qcGVnX2RlY19jaGFpbik6CgkgIEZpeCBjcmFzaCB3aGVuIG91dHB1dHRpbmcgZGVidWdnaW5nIGluZm9ybWF0aW9uIGZvciBjZXJ0YWluCgkgIHBpY3R1cmVzIChhbHdheXMgZ29vZCB0byB1c2UgdGhlIHJpZ2h0IHN0cnVjdCBtZW1iZXIgZm9yCgkgIHRoZSBudW1iZXIgb2YgcmVjb3JkcyBpbiBhbiBhcnJheSkuCgoyMDA2LTA1LTE3IDA4OjEwOjMxICswMDAwICBKaW5kcmljaCBNYWtvdmlja2EgPGppbmRyaWNoLm1ha2l2aWNrYUBpdG9uaXMudHY+CgoJICBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IERvbid0IGNyZWF0ZSB1bm5lY2Vzc2FyeSBzdWItYnVmZmVycyBhbGwgdGhlIHRpbWUuIERyYW1hdGljYWxseSBpbXByb3ZlcyBwZXJmb3JtYW5jZSB3aXRoIG0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKaW5kcmljaCBNYWtvdmlja2EgIDxqaW5kcmljaC5tYWtpdmlja2EgYXQgaXRvbmlzIHR2PgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogKGdzdF9lYm1sX3JlYWRfcGVla19ieXRlcyksCgkgIChnc3RfZWJtbF9yZWFkX3B1bGxfYnl0ZXMpLCAoZ3N0X2VibWxfcmVhZF9lbGVtZW50X2lkKSwKCSAgKGdzdF9lYm1sX3JlYWRfZWxlbWVudF9sZW5ndGgpLCAoZ3N0X2VibWxfcmVhZF9idWZmZXIpLAoJICAoZ3N0X2VibWxfcmVhZF9ieXRlcyksIChnc3RfZWJtbF9yZWFkX3VpbnQpLCAoZ3N0X2VibWxfcmVhZF9zaW50KSwKCSAgKGdzdF9lYm1sX3JlYWRfZmxvYXQpLCAoZ3N0X2VibWxfcmVhZF9hc2NpaSksCgkgIChnc3RfZWJtbF9yZWFkX2JpbmFyeSk6CgkgIERvbid0IGNyZWF0ZSB1bm5lY2Vzc2FyeSBzdWItYnVmZmVycyBhbGwgdGhlIHRpbWUuIERyYW1hdGljYWxseQoJICBpbXByb3ZlcyBwZXJmb3JtYW5jZSB3aXRoIG11bHRpcGxlIGNvbmN1cnJlbnRseSBydW5uaW5nCgkgIG1hdHJvc2thZGVtdXggaW5zdGFuY2VzICgjMzQxODE4KSAoYW5kIGF2b2lkcyBkb2luZwoJICB1bm5lY2Vzc2FyaWx5IGluZWZmaWNpZW50IHRoaW5ncyBpbiB0aGUgZ2VuZXJhbCBjYXNlKS4KCjIwMDYtMDUtMTYgMTc6MjA6MDQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOiBJbiBzbmFwc2hvdCBtb2RlLCB3ZSBhbHdheXMgcmV0dXJuIEdTVF9GTE9XX1VORVhQRUNURUQgd2hhdGV2ZXIgdGhlIHJldHVybiB2YWx1ZSBvZiBnc3RfcGFkX3AuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzogKGdzdF9wbmdlbmNfY2hhaW4pOgoJICBJbiBzbmFwc2hvdCBtb2RlLCB3ZSBhbHdheXMgcmV0dXJuIEdTVF9GTE9XX1VORVhQRUNURUQgd2hhdGV2ZXIgdGhlCgkgIHJldHVybiB2YWx1ZSBvZiBnc3RfcGFkX3B1c2hfZXZlbnQoKS4KCjIwMDYtMDUtMTYgMTQ6MDc6MjkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2F1dG9kZXRlY3QvOiBNYWtlIHRoZSBuYW1lIG9mIHRoZSBjaGlsZCBlbGVtZW50IGJlIGJhc2VkIG9uIHRoZSBuYW1lIG9mIHRoZSBwYXJlbnQsIHNvIHRoYXQgZGVidWcgb3V0cHV0IGlzIG1vcmUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSAgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfZmluZF9iZXN0KToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkgIChnc3RfYXV0b192aWRlb19zaW5rX2ZpbmRfYmVzdCk6CgkgIE1ha2UgdGhlIG5hbWUgb2YgdGhlIGNoaWxkIGVsZW1lbnQgYmUgYmFzZWQgb24gdGhlIG5hbWUgb2YgdGhlCgkgIHBhcmVudCwgc28gdGhhdCBkZWJ1ZyBvdXRwdXQgaXMgbW9yZSB1c2VmdWwuCgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChmaW5kX3V0ZjE2X2JvbSksCgkgIChwYXJzZV9pbnNlcnRfc3RyaW5nX2ZpZWxkKSwgKHBhcnNlX3NwbGl0X3N0cmluZ3MpOgoJICBSZXdvcmsgc3RyaW5nIHBhcnNpbmcgdG8gYWx3YXlzIHdhbGsgb3ZlciBCT00gbWFya2VycyBpbiBVVEYxNgoJICBzdHJpbmdzLCB1c2luZyB0aGUgZW5kaWFubmVzcyBpbmRpY2F0ZWQgYnkgdGhlIGlubmVybW9zdCBvbmUsCgkgIHRoZW4gdHJ5aW5nIHRoZSBvcHBvc2l0ZSBlbmRpYW5uZXNzIGlmIHRoYXQgZmFpbHMgdG8gY29udmVydAoJICB0byB2YWxpZCBVVEYtOC4gRml4ZXMgIzM0MTc3NAoKMjAwNi0wNS0xNiAxMzozMTowMiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGV4dC9saWJwbmcvTWFrZWZpbGUuYW06IEFkZCBMSUJQTkdfQ0ZMQUdTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNS0xNiAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICBQYXRjaCBmcm9tOiBNYXR0aGlldSA8bWF0dGhpZXUgYXQgZmx1ZW5kbyBkb3QgY29tPgoJICAqIGV4dC9saWJwbmcvTWFrZWZpbGUuYW06CgkgIEFkZCBMSUJQTkdfQ0ZMQUdTLgoKMjAwNi0wNS0xNSAxMToyMDoyMSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICB1cGRhdGUgd2l0aCBsYXRlc3QgY2hhbmdlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHdpdGggbGF0ZXN0IGNoYW5nZXMKCjIwMDYtMDUtMTUgMDk6MDA6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOiBBZGQgc3VwcG9ydCBmb3Igd3JpdGluZyBpbWFnZXMgKEFQSUMgZnJhbWVzKSBpbnRvIElEM3YyIHRhZ3MgKHBpY3R1cmUgdHlwZSBhbHdheXMgc2V0IHRvICcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgQWRkIHN1cHBvcnQgZm9yIHdyaXRpbmcgaW1hZ2VzIChBUElDIGZyYW1lcykgaW50byBJRDN2MgoJICB0YWdzIChwaWN0dXJlIHR5cGUgYWx3YXlzIHNldCB0byAnb3RoZXInIGZvciBub3cgdGhvdWdoKS4KCjIwMDYtMDUtMTQgMTI6NTA6MDcgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBVcGRhdGUgZG9jczsgd2F2cGFyc2UgaW1wbGVtZW50cyBwdXNoIGFuZCBwdWxsIG1vZGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgVXBkYXRlIGRvY3M7IHdhdnBhcnNlIGltcGxlbWVudHMgcHVzaCBhbmQgcHVsbCBtb2Rlcy4KCjIwMDYtMDUtMTIgMTg6MTA6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IE9vb3BzLCBiaXR0ZW4gYnkgdGhlIGNvcHktYW5kLXBhc3RlIGRlc2lnbiBwYXJhZGlnbSwgZml4ZXMgc2VlayBhZ2Fpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9pbmRleF9uZXh0KSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2VfaW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9tYXNzYWdlX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NlZWspLCAoZ3N0X2F2aV9kZW11eF9sb29wKToKCSAgT29vcHMsIGJpdHRlbiBieSB0aGUgY29weS1hbmQtcGFzdGUgZGVzaWduIHBhcmFkaWdtLCBmaXhlcwoJICBzZWVrIGFnYWluLgoKMjAwNi0wNS0xMiAxODowNDoyMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguKjogU29tZSBjbGVhbnVwcywgcHJlcGFyZSB0byB1c2UgR3N0U2VnbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9yZXNldCksCgkgIChnc3RfYXZpX2RlbXV4X2luZGV4X25leHQpLCAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19ldmVudCksIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N1YmluZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwgKGdzdF9hdmlfZGVtdXhfcGFyc2VfaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fc2NhbiksCgkgIChnc3RfYXZpX2RlbXV4X21hc3NhZ2VfaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9jYWxjdWxhdGVfZHVyYXRpb25zX2Zyb21faW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9wdXNoX2V2ZW50KSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlciksCgkgIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zZWVrKSwgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KSwKCSAgKGdzdF9hdmlfZGVtdXhfbG9vcCk6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBTb21lIGNsZWFudXBzLCBwcmVwYXJlIHRvIHVzZSBHc3RTZWdtZW50LgoJICBGaXggZXJyb3IgaW4gZW50cnkgd2Fsa2luZyBjb2RlLgoJICBGaXggVkJSIGRldGVjdGlvbi4KCSAgU21hcnRlciB0aW1lc3RhbXAgY2FsY3VsYXRpb24gY29kZS4KCSAgVW5pZm9ybSBlcnJvci9lb3MgaGFuZGxpbmcuCgoyMDA2LTA1LTEyIDE3OjQ0OjE1ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogRml4IHVzZSBvZiB1bmluaXRpYWxpc2VkIHZhbHVlcyBpZiB3ZSdyZSBOT1Qgc2Vla2luZyBpbiByZWFkeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfZm10KSwKCSAgKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKToKCSAgRml4IHVzZSBvZiB1bmluaXRpYWxpc2VkIHZhbHVlcyBpZiB3ZSdyZSBOT1Qgc2Vla2luZyBpbiByZWFkeS4KCSAgRml4IHR5cG9zLgoKMjAwNi0wNS0xMiAwODoyMzoxOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9NYWtlZmlsZS5hbTogQWRkIENGTEFHUyBhbmQgTElCUyBmb3IgbGliZ3N0YmFzZSwgZml4ZXMgYnVpbGQgb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL01ha2VmaWxlLmFtOgoJICBBZGQgQ0ZMQUdTIGFuZCBMSUJTIGZvciBsaWJnc3RiYXNlLCBmaXhlcyBidWlsZCBvbgoJICBDeWd3aW4gKCMzNDE0ODkpLgoKMjAwNi0wNS0xMiAwODoyMTozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBTb21lIG1vcmUgZGVidWcgaW5mby4gTm8gbmVlZCB0byBjaGVjayB3aGV0aGVyIHRoZSBzdHJpbmcgcmV0dXJuZWQgYnkgZ19jb252ZXJ0KCkgaXMgcmVhbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKHBhcnNlX2luc2VydF9zdHJpbmdfZmllbGQpOgoJICBTb21lIG1vcmUgZGVidWcgaW5mby4gTm8gbmVlZCB0byBjaGVjayB3aGV0aGVyIHRoZSBzdHJpbmcKCSAgcmV0dXJuZWQgYnkgZ19jb252ZXJ0KCkgaXMgcmVhbGx5IFVURi04IC0gZWl0aGVyIGl0IGlzIG9yCgkgIHdlIGdldCBOVUxMIHJldHVybmVkLgoKMjAwNi0wNS0xMSAxNzo1OTo1OSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5Lmg6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgQ2hhbmdlcyBwcm9wb3NlZCBieSBXaW5nbyBpbiBidWcgIzMzODgxOC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENoYW5nZXMgcHJvcG9zZWQgYnkgV2luZ28gaW4gYnVnICMzMzg4MTguCgoyMDA2LTA1LTExIDA5OjA5OjQ5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaWd1cmUgb3V0IHRoZSByZWFsIGF1ZGlvIHR5cGUgaW4gbXA0YSBib3hlcyBieSBwYXJzaW5nIHRoZSBvcHRpb25hbCBkZXNjcmlwdG9ycyBpbiB0aGUgb3B0aW9uLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2UpLCAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9lc2RzKToKCSAgRmlndXJlIG91dCB0aGUgcmVhbCBhdWRpbyB0eXBlIGluIG1wNGEgYm94ZXMgYnkgcGFyc2luZyB0aGUKCSAgb3B0aW9uYWwgZGVzY3JpcHRvcnMgaW4gdGhlIG9wdGlvbmFsIGVzZHMgYm94LiBQcm9tb3RlIHRoZQoJICBkZWZhdWx0IEFBQyB0byBtcDMgd2hlbiBpbmRpY2F0ZWQuIEZpeGVzICMzMzA2MzIuCgoyMDA2LTA1LTEwIDE3OjQ0OjUwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBQYXJzZSB2ZXJzaW9uIDIgc2FtcGxlIGRlc2NyaXB0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZSksIChxdGRlbXV4X2R1bXBfdW5rbm93biksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspLCAoZ3N0X3F0ZGVtdXhfaGFuZGxlX2VzZHMpOgoJICBQYXJzZSB2ZXJzaW9uIDIgc2FtcGxlIGRlc2NyaXB0aW9ucy4KCSAgRG9uJ3QgI2RlZmluZSBnc3RfdXRpbF9kdW1wX21lbSgpLCB1c2Ugc29tZXRoaW5nIG1vcmUKCSAgc3BlY2lmaWMgaW5zdGVhZCB0byBhdm9pZCBjb25mdXNpb24uCgoyMDA2LTA1LTEwIDEzOjUxOjAxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBGaXggcGFyc2luZyBvZiBudW1lcmljIGdlbnJlIHN0cmluZ3Mgc29tZSBtb3JlLCBieSBlbnN1cmluZyB0aGF0IHdlIG9ubHkgdHJ5IGFuZCBwYXJzZSBzdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKGlkM3YyX2dlbnJlX2ZpZWxkc190b190YWdsaXN0KToKCSAgRml4IHBhcnNpbmcgb2YgbnVtZXJpYyBnZW5yZSBzdHJpbmdzIHNvbWUgbW9yZSwgYnkgZW5zdXJpbmcgdGhhdAoJICB3ZSBvbmx5IHRyeSBhbmQgcGFyc2Ugc3RyaW5ncyB0aGF0IGEpIFN0YXJ0IHdpdGggJygnIGFuZCBiKSBDb25zaXN0CgkgIG9ubHkgb2YgZGlnaXRzLgoJICBBbHNvLCB3aGVuIGZpbmRpbmcgYW4gZXNjYXBpbmcgJygoJyBzZXF1ZW5jZSwgYnVzdCBpdCBiYWNrIHRvICcoJyBieQoJICBzd2FsbG93aW5nIHRoZSBmaXJzdCBwYXJlbnRoZXNpcwoKMjAwNi0wNS0xMCAxMToxNzozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9lc2QvZXNkc2luay4qOiBNb3ZlIHRoZSBlc2RfZ2V0X3NlcnZlcl9pbmZvKCkgaW50byBnc3RfZXNkc2lua19vcGVuKCkgYW5kIGZhaWwgd2l0aCBhIGRlY2VudCBlcnJvciBtZXNzYWdlIG9uIGVyci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZXNkL2VzZHNpbmsuYzogKGdzdF9lc2RzaW5rX2ZpbmFsaXplKSwgKGdzdF9lc2RzaW5rX2dldGNhcHMpLAoJICAoZ3N0X2VzZHNpbmtfb3BlbiksIChnc3RfZXNkc2lua19jbG9zZSk6CgkgICogZXh0L2VzZC9lc2RzaW5rLmg6CgkgIE1vdmUgdGhlIGVzZF9nZXRfc2VydmVyX2luZm8oKSBpbnRvIGdzdF9lc2RzaW5rX29wZW4oKSBhbmQgZmFpbAoJICB3aXRoIGEgZGVjZW50IGVycm9yIG1lc3NhZ2Ugb24gZXJyb3JzLgoKMjAwNi0wNS0xMCAxMDoyOTo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIENvbnN0LWlmeSBHRW51bVZhbHVlIGFycmF5cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2VzZC9lc2Rtb24uYzogKGdzdF9lc2Rtb25fZGVwdGhzX2dldF90eXBlKSwKCSAgKGdzdF9lc2Rtb25fY2hhbm5lbHNfZ2V0X3R5cGUpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOiAoZ3N0X2djb25mX3Byb2ZpbGVfZ2V0X3R5cGUpOgoJICAqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6IChnc3RfcGl4YnVmc2NhbGVfbWV0aG9kX2dldF90eXBlKToKCSAgKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOiAoZ3N0X2NhY2FzaW5rX2RpdGhlcl9nZXRfdHlwZSk6CgkgICogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzogKGdzdF9zaG91dDJzZW5kX3Byb3RvY29sX2dldF90eXBlKToKCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzogKGdzdF9hbHBoYV9tZXRob2RfZ2V0X3R5cGUpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6IChnc3RfaWxiY19tb2RlX2dldF90eXBlKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcF9wcm90b19nZXRfdHlwZSk6CgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IChnc3RfdmlkZW9fYm94X2ZpbGxfZ2V0X3R5cGUpOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzogKGdzdF92aWRlb19mbGlwX21ldGhvZF9nZXRfdHlwZSk6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICAoZ3N0X3ZpZGVvX21peGVyX2JhY2tncm91bmRfZ2V0X3R5cGUpOgoJICBDb25zdC1pZnkgR0VudW1WYWx1ZSBhcnJheXMuCgoyMDA2LTA1LTA5IDE0OjA4OjE1ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJldD4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IFdvcmsgYXJvdW5kIGdzdF9idWZmZXJfbWFrZV9tZXRhZGF0YV93cml0YWJsZSgpIGJ1ZyB0aGF0IHJlc3VsdHMgaW4gYXZpbXV4IG1hcmtpbmcgYWxsIGZyYW1lcyBpbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgIDxtYW5hdXcgYXQgc2t5bmV0IGJldD4KCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aV9tdXhfZG9fYXVkaW9fYnVmZmVyKSwKCSAgKGdzdF9hdmlfbXV4X2RvX3ZpZGVvX2J1ZmZlcik6CgkgIFdvcmsgYXJvdW5kIGdzdF9idWZmZXJfbWFrZV9tZXRhZGF0YV93cml0YWJsZSgpIGJ1ZyB0aGF0CgkgIHJlc3VsdHMgaW4gYXZpbXV4IG1hcmtpbmcgYWxsIGZyYW1lcyBpbiB0aGUgaW5kZXggYXMKCSAga2V5ZnJhbWVzICgjMzQwODU5KS4KCjIwMDYtMDUtMDggMTk6MjE6MTggKzAwMDAgIE1hcnRpbiBSdWJsaSA8bWFydGluX3J1YmxpQGxvZ2l0ZWNoLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBGaXggZm91cmNjIG5hbWUgcHJpbnRlZCBvdXQuIFBhdGNoIGZyb20gTWFydGluIFJ1YmxpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IGZvdXJjYyBuYW1lIHByaW50ZWQgb3V0LiBQYXRjaCBmcm9tIE1hcnRpbiBSdWJsaS4KCjIwMDYtMDUtMDggMTU6MjA6MTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERvbid0IGNhdXNlIHNpZGUgZWZmZWN0cyBpbiBhIGRlYnVnZ2luZyBmdW5jdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksCgkgIChxdGRlbXV4X2R1bXBfbXZoZCk6CgkgIERvbid0IGNhdXNlIHNpZGUgZWZmZWN0cyBpbiBhIGRlYnVnZ2luZyBmdW5jdGlvbi4KCSAgQWxzbyByZXBvcnQgZHVyYXRpb24gaW4gcHVzaCBtb2RlIHNpbmNlIHdlIGNhbi4KCjIwMDYtMDUtMDggMTQ6MzU6MjAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9ydHNwdXJsLmM6IE1ha2UgcGFyc2luZyBvZiB1cmxzIHN1Y2sgc2xpZ2h0bHkgbGVzcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvcnRzcHVybC5jOiAocnRzcF91cmxfcGFyc2UpOgoJICBNYWtlIHBhcnNpbmcgb2YgdXJscyBzdWNrIHNsaWdodGx5IGxlc3MuCgoyMDA2LTA1LTA4IDExOjUzOjAzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgYXV0b2dlbi5zaDogbGlidG9vbGl6ZSBvbiBEYXJ3aW4vTWFjT1NYIGlzIGNhbGxlZCBnbGlidG9vbGl6ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogYXV0b2dlbi5zaDogKENPTkZJR1VSRV9ERUZfT1BUKToKCSAgbGlidG9vbGl6ZSBvbiBEYXJ3aW4vTWFjT1NYIGlzIGNhbGxlZCBnbGlidG9vbGl6ZS4KCjIwMDYtMDUtMDggMTA6NTk6MDUgKzAwMDAgIEplbnMgR3JhbnNldWVyIDxqZW5zZ3JAZ214Lm5ldD4KCgkgIEM4OSBjb21wbGlhbmNlIGZpeGVzLiBGaXhlcyAjMzQwOTgwCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSmVucyBHcmFuc2V1ZXIgPGplbnNnciBhdCBnbXggZG90IG5ldD4KCSAgKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOiAoZ3N0X3BpeGJ1ZnNjYWxlX2luaXQpOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2Rpc3Bvc2UpOgoJICBDODkgY29tcGxpYW5jZSBmaXhlcy4gRml4ZXMgIzM0MDk4MAoKMjAwNi0wNS0wNiAwOTowMTozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuKjogSGFuZGxlIHNlZ21lbnQgc2Vla3MgdGhhdCBpbmNsdWRlIHRoZSBlbmQgb2YgdGhlIGZpbGUgYXMgc3RvcCBwb2ludCBwcm9wZXJseTogd2hlbiB0aGUgZGVjb2Rlci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfbG9vcCk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICBIYW5kbGUgc2VnbWVudCBzZWVrcyB0aGF0IGluY2x1ZGUgdGhlIGVuZCBvZiB0aGUgZmlsZSBhcyBzdG9wIHBvaW50CgkgIHByb3Blcmx5OiB3aGVuIHRoZSBkZWNvZGVyIGhpdHMgRU9TIHdlIHdhbnQgdG8gc2VuZCBhIFNFR01FTlRfRE9ORQoJICBtZXNzYWdlIGluc3RlYWQgb2YgYW4gRU9TIGV2ZW50IGluIGNhc2Ugd2UncmUgaW4gc2VnbWVudCBzZWVrCgkgIG1vZGUgKGZpeGVzICMzNDA2OTkpLgoKMjAwNi0wNS0wNiAwMDoxNDowOSArMDAwMCAgTWFjaWVqIEthdGFmaWFzeiA8bWF0aHJpY2tAbWF0aHJpY2sub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSogZ3N0L2RlYnVnL2JyZWFrbXlkYXRhLmM6CgkqIGdzdC9kZWJ1Zy90ZXN0cGx1Z2luLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSAgQWRkIHNlbWljb2xvbnMgYWZ0ZXIgR1NUX0JPSUxFUlBMQVRFW19GVUxMXSBzbyB0aGF0IGluZGVudCBkb2Vzbid0IG1lc3MgdXAgZm9sbG93aW5nIGxpbmVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkIHNlbWljb2xvbnMgYWZ0ZXIgR1NUX0JPSUxFUlBMQVRFW19GVUxMXSBzbyB0aGF0IGluZGVudCBkb2Vzbid0IG1lc3MgdXAgZm9sbG93aW5nIGxpbmVzLgoKMjAwNi0wNS0wNSAyMDoxMjo1OSArMDAwMCAgTWFydGluIFJ1YmxpIDxtYXJ0aW5fcnVibGlAbG9naXRlY2guY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSAgU29tZSBjaGFuZ2VzIHByb3Bvc2VkIGJ5IHdpbmdvIGluIGJ1ZyAjMzM4ODE4IChidXQgbm90IGV2ZXJ5dGhpbmcgeWV0KS4gUGF0Y2ggZnJvbSBNYXJ0aW4gUnVibGkgdG8gZml4IGZyYW1lcmF0ZSBkZXRlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTb21lIGNoYW5nZXMgcHJvcG9zZWQgYnkgd2luZ28gaW4gYnVnICMzMzg4MTggKGJ1dCBub3QgZXZlcnl0aGluZyB5ZXQpLiBQYXRjaCBmcm9tIE1hcnRpbiBSdWJsaSB0byBmaXggZnJhbWVyYXRlIGRldGVjdGlvbi4KCjIwMDYtMDUtMDQgMTc6Mjc6MjcgKzAwMDAgIE1pY2hhbCBCZW5lcyA8bWljaGFsLmJlbmVzQHhlcmlzLmN6PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IERvbid0IGxlYWsgY2FwcyB3aGVuIGZyZWVpbmcgdGhlIHN0cmVhbSBjb250ZXh0ICgjMzQwNjIzKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNaWNoYWwgQmVuZXMgIDxtaWNoYWwgZG90IGJlbmVzIGF0IHhlcmlzIGRvdCBjej4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9yZXNldCk6CgkgIERvbid0IGxlYWsgY2FwcyB3aGVuIGZyZWVpbmcgdGhlIHN0cmVhbSBjb250ZXh0ICgjMzQwNjIzKS4KCjIwMDYtMDUtMDQgMTU6NDA6MTggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBCYWNrIHRvIENWUwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gQ1ZTCgo9PT0gcmVsZWFzZSAwLjEwLjMgPT09CgoyMDA2LTA1LTA0IDE1OjM2OjAyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWFsbHkgcmVsZWFzZSAwLjEwLjMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlYWxseSByZWxlYXNlIDAuMTAuMwoKMjAwNi0wNS0wNCAxNToyODo1MyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkgIFJlYWxseSByZWxlYXNlIDAuMTAuMyB0aGlzIHRpbWUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlYWxseSByZWxlYXNlIDAuMTAuMyB0aGlzIHRpbWUKCjIwMDYtMDUtMDQgMTU6MDU6MDAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Rpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZWxlYXNlIDAuMTAuMwoKMjAwNi0wNS0wMyAxODo0NDozOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDYtMDUtMDMgMTg6NDE6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IERvbid0IHN0cmNtcCgpIE5VTEwgc3RyaW5ncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICAoZ3N0X21hdHJvc2thX211eF9zdHJlYW1faXNfdm9yYmlzX2hlYWRlciksCgkgIChnc3RfbWF0cm9za2FfbXV4X3dyaXRlX2RhdGEpOgoJICBEb24ndCBzdHJjbXAoKSBOVUxMIHN0cmluZ3MuCgkgIE9ubHkgc3RhcnQgbmV3IGNsdXN0ZXJzIG9uIHZpZGVvIGtleWZyYW1lcywgbm90IG9uIGFueQoJICByYW5kb20gYXVkaW8gYnVmZmVyIHRoYXQgZG9lc24ndCBoYXZlIHRoZSBERUxUQV9VTklUCgkgIGZsYWcgc2V0IChmaXhlcyAnbWFrZSBjaGVjaycgYWdhaW4pLgoKMjAwNi0wNS0wMyAxNDo1MTo1MCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogRG9uJ3QgbWlzaW50ZXJwcmV0IEdTVF9DTE9DS19USU1FX05PTkUgYXMgdmVyeSBoaWdoIHRpbWVzdGFtcCB2YWx1ZSBhbmQgdGhlbiBkZWFkLWxvY2sgdy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgIDxtYW5hdXcgYXQgc2t5bmV0IGJlPgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfYmVzdF9wYWQpLAoJICAoZ3N0X21hdHJvc2thX211eF9zdHJlYW1faXNfdm9yYmlzX2hlYWRlciksCgkgIChnc3RfbWF0cm9za2FfbXV4X3dyaXRlX2RhdGEpOgoJICBEb24ndCBtaXNpbnRlcnByZXQgR1NUX0NMT0NLX1RJTUVfTk9ORSBhcyB2ZXJ5IGhpZ2ggdGltZXN0YW1wCgkgIHZhbHVlIGFuZCB0aGVuIGRlYWQtbG9jayB3aGVuIG11eGluZyB2b3JiaXMgYXVkaW8gc3RyZWFtcwoJICAodGhlIHRocmVlIHZvcmJpcyBoZWFkZXIgYnVmZmVycyBjYXJyeSBubyB0aW1lc3RhbXAsIGFuZCBpdAoJICB3b3VsZCB0cnkgdG8gbXV4IHRoZXNlIGFmdGVyIGFsbCB2aWRlbyBidWZmZXJzKS4gRml4ZXMgIzM0MDM0Ni4KCSAgSW1wcm92ZSBjbHVzdGVyaW5nOiBzdGFydCBhIG5ldyBjbHVzdGVyIGFsc28gd2hlbmV2ZXIgd2UgZ2V0CgkgIGEga2V5ZnJhbWUuCgoyMDA2LTA1LTAzIDE0OjMwOjIxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQ2xlYW4gdXAgb25lIHBpZWNlIG9mIGxvZ2ljIHNsaWdodGx5IGFuZCByZW1vdmUgYSBkZWFkIGNvZGUgYmxvY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIENsZWFuIHVwIG9uZSBwaWVjZSBvZiBsb2dpYyBzbGlnaHRseSBhbmQgcmVtb3ZlIGEKCSAgZGVhZCBjb2RlIGJsb2NrLgoKMjAwNi0wNS0wMyAxNDoyODo1NyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBhZGQgd2luMzIgc3R1ZmYKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogTWFrZWZpbGUuYW06CgkgICogY29uZmlndXJlLmFjOgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaC5pbjoKCSAgYWRkIHdpbjMyIHN0dWZmCgoyMDA2LTA1LTAzIDE0OjI2OjUxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGFkZCB3aW4zMiBzdHVmZgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBNYWtlZmlsZS5hbToKCSAgKiBjb25maWd1cmUuYWM6CgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oLmluOgoJICBhZGQgd2luMzIgc3R1ZmYKCjIwMDYtMDUtMDIgMjI6MzQ6NTIgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5jOiBGaXggdGltZW92ZXJsYXkgZm9yIG5vbi1tdWx0aXBsZS1vZi00IHdpZHRocy4gVGhpcyBmb3VyY2MgY3JhcAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuYzogKGdzdF9jYWlyb190aW1lX292ZXJsYXlfdHJhbnNmb3JtKToKCSAgRml4IHRpbWVvdmVybGF5IGZvciBub24tbXVsdGlwbGUtb2YtNCB3aWR0aHMuIFRoaXMgZm91cmNjIGNyYXAKCSAgU1VDS1MuCgoyMDA2LTA1LTAyIDIxOjUyOjQ4ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIEZpeCBnZXRfY2FwcyBmdW5jIHRvIHdvcmsgd2hlbiBubyBmcmFtZXJhdGUgaXMgYXZhaWxhYmxlIGFuZCB0aGUgY2FwcyBpc24ndCBzaW1wbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggZ2V0X2NhcHMgZnVuYyB0byB3b3JrIHdoZW4gbm8gZnJhbWVyYXRlIGlzIGF2YWlsYWJsZSBhbmQgdGhlIGNhcHMgaXNuJ3Qgc2ltcGxlLgoKMjAwNi0wNS0wMiAxODo1MDoyMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0LzogZG9uJ3QgbGVhayBjYXBzLXN0cmluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOiAoZ3N0X2FscGhhX2NvbG9yX3RyYW5zZm9ybV9jYXBzKToKCSAgKiBnc3QvZGVidWcvbmVnb3RpYXRpb24uYzogKGdzdF9uZWdvdGlhdGlvbl91cGRhdGVfY2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzogKGdzdF9ydHBfaWxiY19kZXBheV9zZXRjYXBzKToKCSAgZG9uJ3QgbGVhayBjYXBzLXN0cmluZwoKMjAwNi0wNS0wMiAxNTo0NjowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiBMZXQgY29yZSBpbnNlcnQgZGVmYXVsdCBlcnJvciBtZXNzYWdlIGZvciBUWVBFX05PVF9GT1VORCBlcnJvcnMsIGl0J3MganVzdCBhcyBnb29kIGFzIG91ci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9jaGFpbiksCgkgIChnc3RfaWQzZGVtdXhfc2lua19hY3RpdmF0ZSk6CgkgIExldCBjb3JlIGluc2VydCBkZWZhdWx0IGVycm9yIG1lc3NhZ2UgZm9yIFRZUEVfTk9UX0ZPVU5ECgkgIGVycm9ycywgaXQncyBqdXN0IGFzIGdvb2QgYXMgb3VyIG93biBhbmQgaGFzIHRoZSBhZGRlZAoJICBib251cyBvZiBiZWluZyB0cmFuc2xhdGVkLgoKMjAwNi0wNS0wMiAxNTo0MDoxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC86IFBvc3QgYW4gZXJyb3IgbWVzc2FnZSB3aGVuIHdlIGdldCBhbiBFT1MgZXZlbnQgYW5kIHdlcmUgbm90IGFibGUgdG8gZmluZCBvdXQgdGhlIHR5cGUgb2Ygc3RyZWFtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6IChnc3RfdGFnX2RlbXV4X2luaXQpLAoJICAoZ3N0X3RhZ19kZW11eF9zaW5rX2V2ZW50KToKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9pbml0KSwKCSAgKGdzdF9pZDNkZW11eF9zaW5rX2V2ZW50KToKCSAgUG9zdCBhbiBlcnJvciBtZXNzYWdlIHdoZW4gd2UgZ2V0IGFuIEVPUyBldmVudCBhbmQgd2VyZSBub3QKCSAgYWJsZSB0byBmaW5kIG91dCB0aGUgdHlwZSBvZiBzdHJlYW0uCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzdjJtdXguYzogKGZpbGxfbXAzX2J1ZmZlciksIChnb3RfYnVmZmVyKSwKCSAgKHRlc3RfdGFnbGliX2lkM211eF93aXRoX3RhZ3MpOgoJICBEZWNyZWFzZSBudW0tYnVmZmVycyB0byAxNiBwZXIgaXRlcmF0aW9uIGFnYWluLCBvdGhlcndpc2UgdGhlCgkgIG1hbnkgbWVtY3B5KClzIGFuZCByZWFsbG9jYXRpb25zIGluIHRoZSB0ZXN0IHdpbGwgaGFtbWVyIHNsb3cKCSAgQ1BVcyBjb21wbGV0ZWx5IGFuZCBtYWtlIHRoZSB0ZXN0IHRpbWVvdXQuCgoyMDA2LTA1LTAyIDEzOjI0OjM4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogZmlndXJlIG91dCB3aGVyZSBwbHVnaW5zLWJhc2UgcGx1Z2lucyBhcmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBmaWd1cmUgb3V0IHdoZXJlIHBsdWdpbnMtYmFzZSBwbHVnaW5zIGFyZQoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB1c2UgcGx1Z2lucy1iYXNlIHBsdWdpbnMsIHNvIHdlIGhhdmUgdHlwZWZpbmQgZnVuY3Rpb25zCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzdjJtdXguYzogKHRlc3RfdGFnbGliX2lkM211eF93aXRoX3RhZ3MpOgoJICBpbmNyZWFzZSBudW0tYnVmZmVycywgdGhpcyBtYWtlcyBzdXJlIHRoZSB0ZXN0IGVycm9ycyBvdXQgaW5zdGVhZAoJICBvZiB0aW1pbmcgb3V0IHdoZW4gbm8gdHlwZWZpbmQgZnVuY3Rpb25zIGFyZSBwcmVzZW50CgoyMDA2LTA1LTAyIDEzOjAxOjUwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBmaXggZG9jcyBmb3Igd2F2cGFyc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBkb2NzIGZvciB3YXZwYXJzZQoKMjAwNi0wNS0wMSAyMTozNzo1MSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIEZldyBpbXByb3ZlbWVudHMgdG8gbW92ZSB0byBnb29kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRmV3IGltcHJvdmVtZW50cyB0byBtb3ZlIHRvIGdvb2QuCgoyMDA2LTA1LTAxIDExOjQ2OjMzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbTogYWxzbyBjaGVjayAuY2MgZmlsZXMgZm9yIGd0ay1kb2MgbWFya3VwCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgYWxzbyBjaGVjayAuY2MgZmlsZXMgZm9yIGd0ay1kb2MgbWFya3VwCgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM3YybXV4LmM6IChpZDN2Mm11eF9zdWl0ZSksIChtYWluKToKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L3RhZ2xpYi9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4Lmg6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguYzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5oOgoJICBtb3ZlIHRhZ2xpYi1iYXNlZCBpZDN2Mm11eGVyIHRvIC1nb29kLiAgRml4ZXMgIzMzNjExMC4KCjIwMDYtMDUtMDEgMTE6NDU6MTUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSAgYWRkIGljeWRlbXV4IGluc3BlY3Rpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBpY3lkZW11eCBpbnNwZWN0aW9uCgoyMDA2LTA1LTAxIDExOjQzOjMxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHBvL1BPVEZJTEVTLmluOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIGFkZCB4aW1hZ2VzcmMgZm9yIHRyYW5zbGF0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgeGltYWdlc3JjIGZvciB0cmFuc2xhdGlvbgoKMjAwNi0wNC0zMCAxNjoxNjo1OSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJKiBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5jOgoJICBzbWFsbCBjbGVhbnVwcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgc21hbGwgY2xlYW51cHMKCjIwMDYtMDQtMzAgMTU6MzI6MTMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgZml4IGRvY3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBkb2NzCgoyMDA2LTA0LTMwIDE0OjU1OjE1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkgIHVwZGF0ZSB0byBsYXRlc3QgdmVyc2lvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHRvIGxhdGVzdCB2ZXJzaW9uCgoyMDA2LTA0LTI5IDE4OjQ2OjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6IFBvc3QgYW4gZXJyb3IgbWVzc2FnZSBvbiB0aGUgYnVzIGluIHRoZSAoZXh0cmVtZWx5IHVubGlrZWx5KSBjYXNlIG9mIGFuIGVycm9yLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzoKCSAgUG9zdCBhbiBlcnJvciBtZXNzYWdlIG9uIHRoZSBidXMgaW4gdGhlIChleHRyZW1lbHkgdW5saWtlbHkpCgkgIGNhc2Ugb2YgYW4gZXJyb3IuCgoyMDA2LTA0LTI5IDE4OjE4OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi86IFNwbGl0IHRoZSBhY3R1YWwgSUQzdjIgdGFnIHJlbmRlcmluZyBjb2RlIGludG8gaXRzIG93biBzdWJjbGFzcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguaDoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5oOgoJICBTcGxpdCB0aGUgYWN0dWFsIElEM3YyIHRhZyByZW5kZXJpbmcgY29kZSBpbnRvCgkgIGl0cyBvd24gc3ViY2xhc3MuCgoyMDA2LTA0LTI5IDE2OjE0OjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IC4uLiBhbmQgZml4IG11bHRpY2hhbm5lbC9XQVZGT1JNQVRFWCBzdXBwb3J0IGFnYWluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyk6CgkgIC4uLiBhbmQgZml4IG11bHRpY2hhbm5lbC9XQVZGT1JNQVRFWCBzdXBwb3J0IGFnYWluLgoKMjAwNi0wNC0yOCAyMzowOToxNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLio6IEFkZCBwdXNoIChzdHJlYW1pbmcpIG1vZGUgdG8gd2F2cGFyc2UgKGZpeGVzICMzMzc2MjUpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFyc2VfY2xhc3NfaW5pdCksIChnc3Rfd2F2cGFyc2VfZGlzcG9zZSksCgkgIChnc3Rfd2F2cGFyc2VfcmVzZXQpLCAoZ3N0X3dhdnBhcnNlX2luaXQpLAoJICAoZ3N0X3dhdnBhcnNlX2NyZWF0ZV9zb3VyY2VwYWQpLCAoZ3N0X3dhdnBhcnNlX3BhcnNlX2FkdGwpLAoJICAoZ3N0X3dhdnBhcnNlX3BhcnNlX2N1ZXMpLCAoZ3N0X3dhdnBhcnNlX3BhcnNlX2ZpbGVfaGVhZGVyKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1faW5pdCksIChnc3Rfd2F2cGFyc2VfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF93YXZwYXJzZV9wZWVrX2NodW5rX2luZm8pLCAoZ3N0X3dhdnBhcnNlX3BlZWtfY2h1bmspLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwgKGdzdF93YXZwYXJzZV9wYXJzZV9zdHJlYW1faW5pdCksCgkgIChnc3Rfd2F2cGFyc2Vfc2VuZF9ldmVudCksIChnc3Rfd2F2cGFyc2VfYWRkX3NyY19wYWQpLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKSwgKGdzdF93YXZwYXJzZV9sb29wKSwKCSAgKGdzdF93YXZwYXJzZV9jaGFpbiksIChnc3Rfd2F2cGFyc2Vfc3JjcGFkX2V2ZW50KSwKCSAgKGdzdF93YXZwYXJzZV9zaW5rX2FjdGl2YXRlKSwgKGdzdF93YXZwYXJzZV9zaW5rX2FjdGl2YXRlX3B1bGwpLAoJICAoZ3N0X3dhdnBhcnNlX2NoYW5nZV9zdGF0ZSksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIEFkZCBwdXNoIChzdHJlYW1pbmcpIG1vZGUgdG8gd2F2cGFyc2UgKGZpeGVzICMzMzc2MjUpCgoyMDA2LTA0LTI4IDIxOjQzOjA3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM3YybXV4LmM6CgkgIGVsZW1lbnQgcmVuYW1lZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZWxlbWVudCByZW5hbWVkCgoyMDA2LTA0LTI4IDE5OjIyOjQ2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJICBhZGQgcGx1Z2luIGRvY3MgZm9yIHhpbWFnZXNyYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIHBsdWdpbiBkb2NzIGZvciB4aW1hZ2VzcmMKCjIwMDYtMDQtMjggMTk6MTU6MDggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgYWRkIHhpbWFnZXNyYyBpY2xlcyB0ZXN0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiB0ZXN0cy9NYWtlZmlsZS5hbToKCSAgYWRkIHhpbWFnZXNyYyBpY2xlcyB0ZXN0CgoyMDA2LTA0LTI4IDE4OjU3OjA5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIE1vdmUgeGltYWdlc3JjIHBsdWctaW4gdG8gZ29vZCBhZnRlciByZXZpZXcuICBGaXhlcyAjMzM2NzU2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzogKGdzdF9jbW1sX2VuY19jbGFzc19pbml0KSwKCSAgKGdzdF9jbW1sX2VuY19wdXNoX2NsaXApOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMveGltYWdlL01ha2VmaWxlLmFtOgoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIE1vdmUgeGltYWdlc3JjIHBsdWctaW4gdG8gZ29vZCBhZnRlciByZXZpZXcuICBGaXhlcyAjMzM2NzU2LgoKMjAwNi0wNC0yOCAxNjo1MTozMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5oOgoJICBib3JnaWZ5IG5hbWluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYm9yZ2lmeSBuYW1pbmcKCjIwMDYtMDQtMjggMTY6NDY6NTIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgZG9jIHR3ZWFrcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZG9jIHR3ZWFrcwoKMjAwNi0wNC0yOCAxNjoxNToyMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBzeXMveGltYWdlL01ha2VmaWxlLmFtOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICBjbGVhbiB1cCBNYWtlZmlsZS5hbQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY2xlYW4gdXAgTWFrZWZpbGUuYW0KCjIwMDYtMDQtMjggMTU6MzM6MDkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguYzoKCSogZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguaDoKCSAgcGVkYW50aWMgY2xlYW51cHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBlZGFudGljIGNsZWFudXBzCgoyMDA2LTA0LTI4IDE0OjU3OjU3ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguKjogRml4IGV2ZW50IGhhbmRsaW5nOiBjYWNoZSBldmVudHMgd2hlbiB0eXBlZmluZGluZyBhbmQgZm9yd2FyZCBsYXRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6IChnc3RfaWN5ZGVtdXhfcmVzZXQpLCAgICAgICAgIChnc3RfaWN5ZGVtdXhfaW5pdCksIChnc3RfaWN5ZGVtdXhfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9pY3lkZW11eF9hZGRfc3JjcGFkKSwgKGdzdF9pY3lkZW11eF9wYXJzZV9hbmRfc2VuZF90YWdzKSwKCSAgKGdzdF9pY3lkZW11eF9oYW5kbGVfZXZlbnQpLCAoZ3N0X2ljeWRlbXV4X3NlbmRfY2FjaGVkX2V2ZW50cyksCgkgIChnc3RfaWN5ZGVtdXhfdHlwZWZpbmRfb3JfZm9yd2FyZCksIChnc3RfaWN5ZGVtdXhfYWRkX21ldGEpLAoJICAoZ3N0X2ljeWRlbXV4X2NoYWluKSwgKGdzdF9pY3lkZW11eF9zZW5kX3RhZ19ldmVudCk6CgkgICogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4Lmg6CgkgIEZpeCBldmVudCBoYW5kbGluZzogY2FjaGUgZXZlbnRzIHdoZW4gdHlwZWZpbmRpbmcgYW5kIGZvcndhcmQgbGF0ZXIuCgoyMDA2LTA0LTI4IDE0OjU1OjIwICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOiBSZWdpc3RlciBvc3hhdWRpb3NyYyB0byB0aGUgcGx1Z2luLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNC0yOCAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSAgKHBsdWdpbl9pbml0KToKCSAgUmVnaXN0ZXIgb3N4YXVkaW9zcmMgdG8gdGhlIHBsdWdpbi4KCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSAgKGdzdF9vc3hfYXVkaW9fc3JjX29zeGVsZW1lbnRfZG9faW5pdCksCgkgIChnc3Rfb3N4X2F1ZGlvX3NyY19iYXNlX2luaXQpLCAoZ3N0X29zeF9hdWRpb19zcmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfb3N4X2F1ZGlvX3NyY19pbml0KSwgKGdzdF9vc3hfYXVkaW9fc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfb3N4X2F1ZGlvX3NyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X29zeF9hdWRpb19zcmNfY3JlYXRlX3JpbmdidWZmZXIpLCAoZ3N0X29zeF9hdWRpb19zcmNfaW9fcHJvYyksCgkgIChnc3Rfb3N4X2F1ZGlvX3NyY19vc3hlbGVtZW50X2luaXQpOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5oOgoJICBQb3J0IG9mIG9zeGF1ZGlvc3JjIHRvIDAuMTAuCgkgICogc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOgoJICBBZGQgb3N4YXVkaW9zcmMKCjIwMDYtMDQtMjggMTI6MDA6MzkgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkgIGNvbW1pdCBDaGFuZ2Vsb2cgZm9yIHByZXZpb3VzIGNvbW1pdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY29tbWl0IENoYW5nZWxvZyBmb3IgcHJldmlvdXMgY29tbWl0CgoyMDA2LTA0LTI4IDExOjU3OjM5ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuaDoKCSAgRm9yZ290IHRvIGNvbW1pdCwgcXVpY2sgY29tbWl0IGJlNCBhcHBsZSBkaWVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGb3Jnb3QgdG8gY29tbWl0LCBxdWljayBjb21taXQgYmU0IGFwcGxlIGRpZXMKCjIwMDYtMDQtMjggMTE6Mzc6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogUmVjb2duaXNlIGFuZCBza2lwIGFueSBieXRlIG9yZGVyIG1hcmtlciAoQk9NKSBpbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKGhhc191dGYxNl9ib20pLAoJICAocGFyc2Vfc3BsaXRfc3RyaW5ncyk6CgkgIFJlY29nbmlzZSBhbmQgc2tpcCBhbnkgYnl0ZSBvcmRlciBtYXJrZXIgKEJPTSkgaW4KCSAgVVRGLTE2IHN0cmluZ3MuCgoyMDA2LTA0LTI3IDE2OjA1OjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgQWRkIGRvY3MgZm9yIGJvdGggYXZpZGVtdXggYW5kIGF2aW11eC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBBZGQgZG9jcyBmb3IgYm90aCBhdmlkZW11eCBhbmQgYXZpbXV4LgoKMjAwNi0wNC0yNyAxNDo1MTowNiArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIGdzdC9hdmkvOiBQb3J0IEFWSSBtdXhlciB0byBHU3RyZWFtZXItMC4xMCAoIzMzMjAzMSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyAgPG1hbmF1dyBhdCBza3luZXQgZG90IGJlPgoJICAqIGdzdC9hdmkvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F2aS9nc3RhdmkuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aV9tdXhfZ2V0X3R5cGUpLAoJICAoZ3N0X2F2aV9tdXhfYmFzZV9pbml0KSwgKGdzdF9hdmlfbXV4X2ZpbmFsaXplKSwKCSAgKGdzdF9hdmlfbXV4X2NsYXNzX2luaXQpLCAoZ3N0X2F2aV9tdXhfaW5pdCksCgkgIChnc3RfYXZpX211eF92aWRzaW5rX3NldF9jYXBzKSwgKGdzdF9hdmlfbXV4X2F1ZHNpbmtfc2V0X2NhcHMpLAoJICAoZ3N0X2F2aV9tdXhfcGFkX2xpbmspLCAoZ3N0X2F2aV9tdXhfcGFkX3VubGluayksCgkgIChnc3RfYXZpX211eF9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X2F2aV9tdXhfcmVsZWFzZV9wYWQpLAoJICAoZ3N0X2F2aV9tdXhfd3JpdGVfdGFnKSwgKGdzdF9hdmlfbXV4X3JpZmZfZ2V0X2F2aV9oZWFkZXIpLAoJICAoZ3N0X2F2aV9tdXhfcmlmZl9nZXRfYXZpeF9oZWFkZXIpLAoJICAoZ3N0X2F2aV9tdXhfcmlmZl9nZXRfdmlkZW9faGVhZGVyKSwKCSAgKGdzdF9hdmlfbXV4X3JpZmZfZ2V0X2F1ZGlvX2hlYWRlciksIChnc3RfYXZpX211eF9hZGRfaW5kZXgpLAoJICAoZ3N0X2F2aV9tdXhfd3JpdGVfaW5kZXgpLCAoZ3N0X2F2aV9tdXhfYmlnZmlsZSksCgkgIChnc3RfYXZpX211eF9zdGFydF9maWxlKSwgKGdzdF9hdmlfbXV4X3N0b3BfZmlsZSksCgkgIChnc3RfYXZpX211eF9yZXN0YXJ0X2ZpbGUpLCAoZ3N0X2F2aV9tdXhfaGFuZGxlX2V2ZW50KSwKCSAgKGdzdF9hdmlfbXV4X2ZpbGxfcXVldWUpLCAoZ3N0X2F2aV9tdXhfc2VuZF9wYWRfZGF0YSksCgkgIChnc3RfYXZpX211eF9zdHJpcF9idWZmZXIpLCAoZ3N0X2F2aV9tdXhfZG9fYXVkaW9fYnVmZmVyKSwKCSAgKGdzdF9hdmlfbXV4X2RvX3ZpZGVvX2J1ZmZlciksIChnc3RfYXZpX211eF9kb19vbmVfYnVmZmVyKSwKCSAgKGdzdF9hdmlfbXV4X2xvb3ApLCAoZ3N0X2F2aV9tdXhfY29sbGVjdF9wYWRzKSwKCSAgKGdzdF9hdmlfbXV4X2dldF9wcm9wZXJ0eSksIChnc3RfYXZpX211eF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F2aV9tdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5oOgoJICBQb3J0IEFWSSBtdXhlciB0byBHU3RyZWFtZXItMC4xMCAoIzMzMjAzMSkuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpbXV4LmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgQWRkIHVuaXQgdGVzdCBmb3IgQVZJIG11eGVyLgoKMjAwNi0wNC0yNiAyMToyOTo0NSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLio6IHJldmVydGVkIHBhdGNoICMzMzc2MjUgZm9yIHRoZSBwcmljZSBvZiAxIGhvdXIgc2xlZXAKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZwYXJzZV9jbGFzc19pbml0KSwgKGdzdF93YXZwYXJzZV9yZXNldCksCgkgIChnc3Rfd2F2cGFyc2VfaW5pdCksIChnc3Rfd2F2cGFyc2VfY3JlYXRlX3NvdXJjZXBhZCksCgkgIChnc3Rfd2F2cGFyc2VfcGFyc2VfZmlsZV9oZWFkZXIpLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9pbml0KSwKCSAgKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwKCSAgKGdzdF93YXZwYXJzZV9zZW5kX2V2ZW50KSwgKGdzdF93YXZwYXJzZV9hZGRfc3JjX3BhZCksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpLCAoZ3N0X3dhdnBhcnNlX2xvb3ApLAoJICAoZ3N0X3dhdnBhcnNlX3NyY3BhZF9ldmVudCksIChnc3Rfd2F2cGFyc2Vfc2lua19hY3RpdmF0ZSksCgkgIChnc3Rfd2F2cGFyc2Vfc2lua19hY3RpdmF0ZV9wdWxsKSwgKGdzdF93YXZwYXJzZV9jaGFuZ2Vfc3RhdGUpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJICByZXZlcnRlZCBwYXRjaCAjMzM3NjI1IGZvciB0aGUgcHJpY2Ugb2YgMSBob3VyIHNsZWVwCgoyMDA2LTA0LTI2IDIwOjExOjE4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuKjogY29ycmVjdCBwYXJ0aWFsIGltcGxlbWVudGF0aW9uIG9mIHB1c2ggbW9kZSAoZnJvbSBteSBsYXN0IGNvbW1pdCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZwYXJzZV9jbGFzc19pbml0KSwgKGdzdF93YXZwYXJzZV9yZXNldCksCgkgIChnc3Rfd2F2cGFyc2VfaW5pdCksIChnc3Rfd2F2cGFyc2VfY3JlYXRlX3NvdXJjZXBhZCksCgkgIChnc3Rfd2F2cGFyc2VfcGFyc2VfYWR0bCksIChnc3Rfd2F2cGFyc2VfcGFyc2VfY3VlcyksCgkgIChnc3Rfd2F2cGFyc2VfcGFyc2VfZmlsZV9oZWFkZXIpLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9pbml0KSwKCSAgKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSksIChnc3Rfd2F2cGFyc2VfbG9vcCksCgkgIChnc3Rfd2F2cGFyc2VfY2hhaW4pLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJICBjb3JyZWN0IHBhcnRpYWwgaW1wbGVtZW50YXRpb24gb2YgcHVzaCBtb2RlCgkgIChmcm9tIG15IGxhc3QgY29tbWl0KQoKMjAwNi0wNC0yNiAxNzozNzoxMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9lc2QvZXNkc2luay5jOiBGaXggY29tcGlsZSBwcm9ibGVtIGJ5IGRlZmluaW5nIEVTRF9NQVhfV1JJVEVfU0laRSBpZiBpdCBpcyBub3QgaW4gZXNkLmgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2VzZC9lc2RzaW5rLmM6CgkgIEZpeCBjb21waWxlIHByb2JsZW0gYnkgZGVmaW5pbmcgRVNEX01BWF9XUklURV9TSVpFIGlmCgkgIGl0IGlzIG5vdCBpbiBlc2QuaAoKMjAwNi0wNC0yNiAxNzowODoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuKjogUmV3cml0ZSBhdXBhcnNlIHRvIHN1Y2sgYSBsaXR0bGUgYml0IGxlc3M6IG1ha2Ugc291cmNlIHBhZCBkeW5hbWljLCBzbyBkZWNvZGViaW4vcGxheWJpbiB3by4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6IChnc3RfYXVfcGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF9hdV9wYXJzZV9jbGFzc19pbml0KSwgKGdzdF9hdV9wYXJzZV9pbml0KSwKCSAgKGdzdF9hdV9wYXJzZV9yZXNldCksIChnc3RfYXVfcGFyc2VfYWRkX3NyY3BhZCksCgkgIChnc3RfYXVfcGFyc2VfcmVtb3ZlX3NyY3BhZCksIChnc3RfYXVfcGFyc2VfcGFyc2VfaGVhZGVyKSwKCSAgKGdzdF9hdV9wYXJzZV9jaGFpbiksIChnc3RfYXVfcGFyc2Vfc3JjX2NvbnZlcnQpLAoJICAoZ3N0X2F1X3BhcnNlX3NyY19xdWVyeSksIChnc3RfYXVfcGFyc2VfaGFuZGxlX3NlZWspLAoJICAoZ3N0X2F1X3BhcnNlX3NpbmtfZXZlbnQpLCAoZ3N0X2F1X3BhcnNlX3NyY19ldmVudCksCgkgIChnc3RfYXVfcGFyc2VfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmg6CgkgIFJld3JpdGUgYXVwYXJzZSB0byBzdWNrIGEgbGl0dGxlIGJpdCBsZXNzOiBtYWtlIHNvdXJjZSBwYWQKCSAgZHluYW1pYywgc28gZGVjb2RlYmluL3BsYXliaW4gd29yayB3aXRoIG5vbi1yYXcgZm9ybWF0cwoJICBsaWtlIGFsYXcvbXVsYXc7IGFkZCBxdWVyeSBmdW5jdGlvbiBmb3IgZHVyYXRpb24vcG9zaXRpb24KCSAgcXVlcmllczsgY2hlY2sgd2hldGhlciB3ZSBoYXZlIGVub3VnaCBkYXRhIGJlZm9yZSBhdHRlbXB0aW5nCgkgIHRvIHBhcnNlIHRoZSBoZWFkZXIgKGluc3RlYWQgb2YgY3Jhc2hpbmcgd2hlbiB0aGF0IGlzIG5vdCB0aGUKCSAgY2FzZSk7IHdvcmsgYXJvdW5kIGF1ZGlvY29udmVydCBzdWNraW5nIGJ5IHN3YXBwaW5nIGVuZGlhbm5lc3MKCSAgdG8gdGhlIG5hdGl2ZSBlbmRpYW5uZXNzIG91cnNlbHZlcyBmb3IgZmxvYXQgZm9ybWF0czsgc2VuZAoJICBpbml0aWFsIG5ld3NlZ21lbnQgZXZlbnQuIEZpeGVzICMxNjE3MTIuCgoyMDA2LTA0LTI2IDE2OjI5OjM4ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL29zeGF1ZGlvLzogUG9ydCBvZiBvc3hhdWRpb3NpbmsgdG8gMC4xMAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNC0yNiAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHN5cy9vc3hhdWRpby9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9lbGVtZW50LmM6CgkgIChnc3Rfb3N4X2F1ZGlvX2VsZW1lbnRfZ2V0X3R5cGUpLAoJICAoZ3N0X29zeF9hdWRpb19lbGVtZW50X2NsYXNzX2luaXQpOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb2VsZW1lbnQuaDoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkgIChnc3Rfb3N4X2F1ZGlvX3Npbmtfb3N4ZWxlbWVudF9kb19pbml0KSwKCSAgKGdzdF9vc3hfYXVkaW9fc2lua19iYXNlX2luaXQpLCAoZ3N0X29zeF9hdWRpb19zaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X29zeF9hdWRpb19zaW5rX2luaXQpLCAoZ3N0X29zeF9hdWRpb19zaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfb3N4X2F1ZGlvX3NpbmtfZ2V0X3Byb3BlcnR5KSwgKGdzdF9vc3hfYXVkaW9fc2lua19nZXRjYXBzKSwKCSAgKGdzdF9vc3hfYXVkaW9fc2lua19jcmVhdGVfcmluZ2J1ZmZlciksCgkgIChnc3Rfb3N4X2F1ZGlvX3NpbmtfaW9fcHJvYyksIChnc3Rfb3N4X2F1ZGlvX3Npbmtfb3N4ZWxlbWVudF9pbml0KSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmg6CgkgIFBvcnQgb2Ygb3N4YXVkaW9zaW5rIHRvIDAuMTAKCjIwMDYtMDQtMjYgMDg6NTU6MjcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZXNkL2VzZHNpbmsuYzogQWx3YXlzIHdyaXRlIEVTRF9CVUZfU0laRSBieXRlcyBhbmQgdXNlIEVTRF9NQVhfV1JJVEVfU0laRSBhcyB0aGUgc2l6ZSBvZiB0aGUgcmluZ2J1ZmZlci4gVGhpcyBzaG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2VzZC9lc2RzaW5rLmM6IChnc3RfZXNkc2lua19wcmVwYXJlKSwgKGdzdF9lc2RzaW5rX2RlbGF5KToKCSAgQWx3YXlzIHdyaXRlIEVTRF9CVUZfU0laRSBieXRlcyBhbmQgdXNlIEVTRF9NQVhfV1JJVEVfU0laRSBhcwoJICB0aGUgc2l6ZSBvZiB0aGUgcmluZ2J1ZmZlci4gVGhpcyBzaG91bGQgZml4IGhhbmdzIHdpdGggb2xkZXIKCSAgZXNkIHNvdW5kIHNlcnZlcnMuCgoyMDA2LTA0LTI1IDIxOjU2OjM4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBEZWZpbmUgR3N0RWxlbWVudERldGFpbHMgYXMgY29uc3QgYW5kIGFsc28gc3RhdGljICh3aGVuIGRlZmluZWQgYXMgZ2xvYmFsKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOgoJICAqIGV4dC9hcnRzL2dzdF9hcnRzLmM6CgkgICogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5jOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKiBleHQvYnoyL2dzdGJ6MmRlYy5jOgoJICAqIGV4dC9iejIvZ3N0YnoyZW5jLmM6CgkgICogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmM6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGVuYy5jOgoJICAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6IChnc3RfZHRzZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfYmFzZV9pbml0KToKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSAgKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJICAqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzoKCSAgKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzoKCSAgKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuYzogKGdzdF9tbXNfYmFzZV9pbml0KToKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzogKGdzdF9tdXNlcGFja2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzogKGdzdF9tdXNpY2JyYWluel9iYXNlX2luaXQpOgoJICAqIGV4dC9uYXMvbmFzc2luay5jOiAoZ3N0X25hc3NpbmtfYmFzZV9pbml0KToKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICAqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSAgKiBleHQvc2hvdXQvZ3N0c2hvdXQuYzoKCSAgKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzoKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5jOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuYzoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmVuYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9iYXNlX2luaXQpOgoJICAqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzoKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzogKGdzdF9jZHhhX3BhcnNlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuYzogKGdzdF9jZHhhc3RyaXBfYmFzZV9pbml0KToKCSAgKiBnc3QvY2hhcnQvZ3N0Y2hhcnQuYzoKCSAgKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKGdzdF9paXJfZXF1YWxpemVyX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RpaXIuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzoKCSAgKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJICAqIGdzdC9nYW1lcy9nc3RwdXp6bGUuYzogKGdzdF9wdXp6bGVfYmFzZV9pbml0KToKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICAqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6CgkgICogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmM6CgkgICogZ3N0L21wZWcxdmlkZW9wYXJzZS9nc3RtcDF2aWRlb3BhcnNlLmM6CgkgICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5jOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6CgkgICogZ3N0L3Bhc3N0aHJvdWdoL2dzdHBhc3N0aHJvdWdoLmM6CgkgICogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuYzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuYzoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2VuYy5jOgoJICAqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6CgkgICogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICAqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJICAqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzoKCSAgKiBnc3QvdHRhL2dzdHR0YWRlYy5jOiAoZ3N0X3R0YV9kZWNfYmFzZV9pbml0KToKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6IChnc3RfdHRhX3BhcnNlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuYzoKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICAqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmM6CgkgICogZ3N0L3ZpcnR1YWxkdWIvZ3N0eHNoYXJwZW4uYzoKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6IChnc3RfeGluZ19tdXhfYmFzZV9pbml0KToKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICAqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5jOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSAgKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICAqIHN5cy92Y2QvdmNkc3JjLmM6IChnc3RfdmNkc3JjX2Jhc2VfaW5pdCk6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzoKCSAgRGVmaW5lIEdzdEVsZW1lbnREZXRhaWxzIGFzIGNvbnN0IGFuZCBhbHNvIHN0YXRpYyAod2hlbiBkZWZpbmVkIGFzCgkgIGdsb2JhbCkKCjIwMDYtMDQtMjUgMjE6Mzk6NDYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIERlZmluZSBHc3RFbGVtZW50RGV0YWlscyBhcyBjb25zdCBhbmQgYWxzbyBzdGF0aWMgKHdoZW4gZGVmaW5lZCBhcyBnbG9iYWwpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOgoJICAqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJICAqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5jOgoJICAqIGV4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmM6CgkgICogZXh0L2R2L2dzdGR2ZGVjLmM6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSAgKiBleHQvZXNkL2VzZG1vbi5jOgoJICAqIGV4dC9lc2QvZXNkc2luay5jOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmM6IChnc3RfZ2NvbmZfYXVkaW9fc2lua19iYXNlX2luaXQpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc3JjLmM6IChnc3RfZ2NvbmZfYXVkaW9fc3JjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmM6IChnc3RfZ2NvbmZfdmlkZW9fc2lua19iYXNlX2luaXQpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc3JjLmM6IChnc3RfZ2NvbmZfdmlkZW9fc3JjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzoKCSAgKiBleHQvaGFsL2dzdGhhbGF1ZGlvc2luay5jOiAoZ3N0X2hhbF9hdWRpb19zaW5rX2Jhc2VfaW5pdCk6CgkgICogZXh0L2hhbC9nc3RoYWxhdWRpb3NyYy5jOiAoZ3N0X2hhbF9hdWRpb19zcmNfYmFzZV9pbml0KToKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZGVjLmM6CgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzoKCSAgKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOgoJICAqIGV4dC9saWJtbmcvZ3N0bW5nZGVjLmM6CgkgICogZXh0L2xpYm1uZy9nc3RtbmdlbmMuYzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkgICogZXh0L21pa21vZC9nc3RtaWttb2QuYzoKCSAgKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSAgKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOiAoZ3N0X3Nob3V0MnNlbmRfaW5pdCk6CgkgICogZXh0L3Nob3V0Mi9nc3RzaG91dDIuaDoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJICAqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19iYXNlX2luaXQpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSAgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfYmFzZV9pbml0KToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2Jhc2VfaW5pdCk6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmltdXhfYmFzZV9pbml0KToKCSAgKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJICAqIGdzdC9kZWJ1Zy9icmVha215ZGF0YS5jOgoJICAqIGdzdC9kZWJ1Zy9lZmVuY2UuYzoKCSAgKiBnc3QvZGVidWcvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSAgKiBnc3QvZGVidWcvZ3N0bmF2c2Vlay5jOgoJICAqIGdzdC9kZWJ1Zy9uZWdvdGlhdGlvbi5jOgoJICAqIGdzdC9kZWJ1Zy9wcm9ncmVzc3JlcG9ydC5jOgoJICAqIGdzdC9kZWJ1Zy90ZXN0cGx1Z2luLmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSAgKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSAgKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkgICogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgICogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICAqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzogKGdzdF9hbGF3ZGVjX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOiAoZ3N0X2FsYXdlbmNfYmFzZV9pbml0KToKCSAgKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOiAoZ3N0X211bGF3ZGVjX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzogKGdzdF9tdWxhd2VuY19iYXNlX2luaXQpOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X2Jhc2VfaW5pdCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9iYXNlX2luaXQpOgoJICAqIGdzdC9tZWRpYW4vZ3N0bWVkaWFuLmM6CgkgICogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSAgKiBnc3Qvb2xkY29yZS9nc3RhZ2dyZWdhdG9yLmM6CgkgICogZ3N0L29sZGNvcmUvZ3N0ZmRzaW5rLmM6CgkgICogZ3N0L29sZGNvcmUvZ3N0bWQ1c2luay5jOgoJICAqIGdzdC9vbGRjb3JlL2dzdG11bHRpZmlsZXNyYy5jOgoJICAqIGdzdC9vbGRjb3JlL2dzdHBpcGVmaWx0ZXIuYzoKCSAgKiBnc3Qvb2xkY29yZS9nc3RzaGFwZXIuYzoKCSAgKiBnc3Qvb2xkY29yZS9nc3RzdGF0aXN0aWNzLmM6CgkgICogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICAqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJICAqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzogKGdzdF9nYW1tYV9iYXNlX2luaXQpOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvdGVtcGxhdGUuYzoKCSAgKGdzdF92aWRlb3RlbXBsYXRlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFyc2VfY2xhc3NfaW5pdCksIChnc3Rfd2F2cGFyc2VfZGlzcG9zZSksCgkgIChnc3Rfd2F2cGFyc2VfcmVzZXQpLCAoZ3N0X3dhdnBhcnNlX2luaXQpLAoJICAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksIChnc3Rfd2F2cGFyc2VfcGVla19jaHVua19pbmZvKSwKCSAgKGdzdF93YXZwYXJzZV9wZWVrX2NodW5rKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksCgkgIChnc3Rfd2F2cGFyc2VfcGFyc2Vfc3RyZWFtX2luaXQpLCAoZ3N0X3dhdnBhcnNlX3NlbmRfZXZlbnQpLAoJICAoZ3N0X3dhdnBhcnNlX2FkZF9zcmNfcGFkKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSksCgkgIChnc3Rfd2F2cGFyc2VfY2hhaW4pLCAoZ3N0X3dhdnBhcnNlX3NyY3BhZF9ldmVudCksCgkgIChnc3Rfd2F2cGFyc2Vfc2lua19hY3RpdmF0ZSksIChnc3Rfd2F2cGFyc2Vfc2lua19hY3RpdmF0ZV9wdWxsKSwKCSAgKGdzdF93YXZwYXJzZV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJICAqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJlbGVtZW50LmM6CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmM6CgkgICogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9lbGVtZW50LmM6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyLmM6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOgoJICBEZWZpbmUgR3N0RWxlbWVudERldGFpbHMgYXMgY29uc3QgYW5kIGFsc28gc3RhdGljICh3aGVuIGRlZmluZWQgYXMKCSAgZ2xvYmFsKQoKMjAwNi0wNC0yNSAxNzo1NzoyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogU291cmNlIHBhZCBoYXMgZml4ZWQgY2Fwcy4gSWYgd2UgZG9uJ3Qgc2V0IHRoaXMsIGJhZCB0aGluZ3MgaGFwcGVuIHdoZW4gdGhlIHdpbmRvdyBpcyByZXNpemVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6IChnc3RfanBlZ19kZWNfY2hhaW4pOgoJICBTb3VyY2UgcGFkIGhhcyBmaXhlZCBjYXBzLiBJZiB3ZSBkb24ndCBzZXQgdGhpcywgYmFkCgkgIHRoaW5ncyBoYXBwZW4gd2hlbiB0aGUgd2luZG93IGlzIHJlc2l6ZWQuCgoyMDA2LTA0LTI1IDE2OjM4OjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thLzogSGFuZGxlIGNhc2Ugd2hlcmUgdGhlIFRyYWNrVHlwZSBlYm1sIGNodW5rIGRvZXMgbm90IGNvbWUgYmVmb3JlIHRoZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3N0cmVhbSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NyY19ldmVudCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5jOgoJICAoZ3N0X21hdHJvc2thX3RyYWNrX2luaXRfdmlkZW9fY29udGV4dCksCgkgIChnc3RfbWF0cm9za2FfdHJhY2tfaW5pdF9hdWRpb19jb250ZXh0KSwKCSAgKGdzdF9tYXRyb3NrYV90cmFja19pbml0X3N1YnRpdGxlX2NvbnRleHQpLAoJICAoZ3N0X21hdHJvc2thX3RyYWNrX2luaXRfY29tcGxleF9jb250ZXh0KToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIEhhbmRsZSBjYXNlIHdoZXJlIHRoZSBUcmFja1R5cGUgZWJtbCBjaHVuayBkb2VzIG5vdCBjb21lIGJlZm9yZSB0aGUKCSAgVHJhY2tJbmZvQXVkaW8gb3IgVHJhY2tJbmZvVmlkZW8gZWJtbCBjaHVuayAoIzMzOTQ0NikuIElnbm9yZSBRb1MKCSAgZXZlbnRzLgoKMjAwNi0wNC0yNSAxNjowOTo1NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBJdCdzIGNvZGVjX2RhdGEsIG5vdCBjb2RlY19pbmZvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzogKGdzdF9ydHBfbXA0Z19wYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6IChnc3RfcnRwX21wNHZfcGF5X3NldGNhcHMpOgoJICBJdCdzIGNvZGVjX2RhdGEsIG5vdCBjb2RlY19pbmZvLgoKMjAwNi0wNC0yNSAxMTo0NTowMCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBIYW5kbGUgY29kZWNfZGF0YSBmb3IgVmZXIGNvbXBhdGliaWxpdHkgY29kZWMgSURzICgjMzM5NDUxKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgIDxtYW5hdXcgYXQgc2t5bmV0IGRvdCBiZT4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF92aWRlb19jYXBzKToKCSAgSGFuZGxlIGNvZGVjX2RhdGEgZm9yIFZmVyBjb21wYXRpYmlsaXR5IGNvZGVjIElEcyAoIzMzOTQ1MSkKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfbXV4X3ZpZGVvX3BhZF9zZXRjYXBzKToKCSAgU2FtZSBoZXJlLCBoYW5kbGUgY29kZWNfZGF0YSBhbmQgYWRkIGFkZGl0aW9uYWwgY2FwcyB3ZSBjYW4gaGFuZGxlCgkgIG5vdyB0byB0aGUgcGFkIHRlbXBsYXRlIChodWZmeXV2LCBkdiBhbmQgaDI2MyB2aWRlbykgKCMzMzk0NTEpCgoyMDA2LTA0LTI1IDExOjA5OjI0ICswMDAwICBKb3NlZiBabG9tZWsgPGpvc2VmLnpsb21la0BpdG9uaXMudHY+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IEZpeCB0aW1lc3RhbXBpbmcgb2YgQi1mcmFtZXMsIHVzZSBzaWduZWQgaW50ZWdlcnMsIGRvIHNvbWUgcm91bmRpbmcgKCMzMzk2NzgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvc2VmIFpsb21layAgPGpvc2VmIGRvdCB6bG9tZWsgYXQgaXRvbmlzIGRvdCB0dj4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfbXV4X2NyZWF0ZV9idWZmZXJfaGVhZGVyKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfd3JpdGVfZGF0YSk6CgkgIEZpeCB0aW1lc3RhbXBpbmcgb2YgQi1mcmFtZXMsIHVzZSBzaWduZWQgaW50ZWdlcnMsIGRvCgkgIHNvbWUgcm91bmRpbmcgKCMzMzk2NzgpLgoKMjAwNi0wNC0yNCAxODozMDo1NSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvYW5ub2RleC9nc3RjbW1scGFyc2VyLmM6CgkgIGp1c3QgbWFrZSBpdCBjb21waWxlIHdpdGggLS1kaXNhYmxlLWdzdC1kZWJ1Zy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGp1c3QgbWFrZSBpdCBjb21waWxlIHdpdGggLS1kaXNhYmxlLWdzdC1kZWJ1Zy4KCjIwMDYtMDQtMjMgMTU6NTU6MzAgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBGaXggYSBiYWQgY29udmVyc2lvbiB1c2luZyBnc3RfZ3VpbnQ2NF90b19nZG91YmxlLiBmYWJzICgoZ2RvdWJsZSkgZGVtdXgtPmluZGV4W2VudHJ5XS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYWRlbXV4X2RvX2luZGV4X3NlZWspOgoJICBGaXggYSBiYWQgY29udmVyc2lvbiB1c2luZyBnc3RfZ3VpbnQ2NF90b19nZG91YmxlLgoJICBmYWJzICgoZ2RvdWJsZSkgZGVtdXgtPmluZGV4W2VudHJ5XS50aW1lIC0gKGdkb3VibGUpIHNlZWtfcG9zKSBjYW4gbm90IGJlCgkgIHJlcGxhY2VkIGJ5IGZhYnMgKGdzdF9ndWludDY0X3RvX2dkb3VibGUgKGRlbXV4LT5pbmRleFtlbnRyeV0udGltZSAtIHNlZWtfcG9zKSkgYXMgdGhlCgkgIGRpZmZlcmVuY2UgY291bGQgYmUgbmVnYXRpdmUuIGZhYnMgKGdzdF9ndWludDY0X3RvX2dkb3VibGUgKGRlbXV4LT5pbmRleFtlbnRyeV0udGltZSkgLQoJICBnc3RfZ3VpbnQ2NF90b19nZG91YmxlIChzZWVrX3BvcykpIGlzIHRoZSBnb29kIHNvbHV0aW9uLiBUaGFua3MgdG8gVGltIHdobyBoYXMgc2VlbiBteQoJICBtaXN0YWtlLgoKMjAwNi0wNC0yMiAxNTozMjo0OCArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IFVzZSBnc3RfZ3VpbnQ2NF90b19nZG91YmxlIGZvciBjb252ZXJzaW9ucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYWRlbXV4X2RvX2luZGV4X3NlZWspOgoJICBVc2UgZ3N0X2d1aW50NjRfdG9fZ2RvdWJsZSBmb3IgY29udmVyc2lvbnMKCSAgKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfZ29vZC5kc3c6CgkgICogd2luMzIvdnM2L2xpYmdzdGljeWRlbXV4LmRzcDoKCSAgQWRkIGEgcHJvamVjdCBmaWxlIGZvciBpY3lkZW11eAoKMjAwNi0wNC0yMSAxODowNzoxMCArMDAwMCAgRmFicml6aW8gR2VubmFyaSA8ZmFicml6aW8uZ2VAdGlzY2FsaS5pdD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogV2hlbiBzcGxpdHRpbmcgYXVkaW8gY2h1bmtzLCB0aGUgYmxvY2sgYWxpZ25tZW50IGlzIG5vdCB0YWtlbiBpbiBjb25zaWRlcmF0aW9uLCBzbyB0aGUgc21hbGxlci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEZhYnJpemlvIEdlbm5hcmkgPGZhYnJpemlvIGRvdCBnZSBhdCB0aXNjYWxpIGRvdCBpdD4KCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX2luZGV4KSwgKGdzdF9hdmlfZGVtdXhfbWFzc2FnZV9pbmRleCk6CgkgIFdoZW4gc3BsaXR0aW5nIGF1ZGlvIGNodW5rcywgdGhlIGJsb2NrIGFsaWdubWVudCBpcyBub3QgdGFrZW4gaW4KCSAgY29uc2lkZXJhdGlvbiwgc28gdGhlIHNtYWxsZXIgY2h1bmtzIGNvdWxkIGJlIG9mIHNpemUgd2hpY2ggaXMKCSAgbm90IGEgbXVsdGlwbGUgb2YgdGhlIGJsb2NrIGFsaWdubWVudC4gRml4ZXMgIzMzNjkwNAoKMjAwNi0wNC0yMSAxNzo1OTowMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiBVc2Ugc2NhbGUgZnVuY3Rpb25zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiAoZ3N0X2R2MTM5NHNyY19jb252ZXJ0KToKCSAgVXNlIHNjYWxlIGZ1bmN0aW9ucwoKMjAwNi0wNC0yMSAxNzoyNzo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9kdi9nc3Rkdi5jOiBGaXggYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3Rkdi5jOiAocGx1Z2luX2luaXQpOgoJICBGaXggYnVpbGQuCgoyMDA2LTA0LTIxIDE3OjE1OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2RlYnVnL3Byb2dyZXNzcmVwb3J0LmM6IEFkZCAnZm9ybWF0JyBwcm9wZXJ0eSB0byBmb3JjZSBxdWVyeWluZyB0byBhIHBhcnRpY3VsYXIgZm9ybWF0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvcHJvZ3Jlc3NyZXBvcnQuYzogKGdzdF9wcm9ncmVzc19yZXBvcnRfZmluYWxpemUpLAoJICAoZ3N0X3Byb2dyZXNzX3JlcG9ydF9jbGFzc19pbml0KSwgKGdzdF9wcm9ncmVzc19yZXBvcnRfaW5pdCksCgkgIChnc3RfcHJvZ3Jlc3NfcmVwb3J0X2RvX3F1ZXJ5KSwgKGdzdF9wcm9ncmVzc19yZXBvcnRfcmVwb3J0KSwKCSAgKGdzdF9wcm9ncmVzc19yZXBvcnRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9wcm9ncmVzc19yZXBvcnRfZ2V0X3Byb3BlcnR5KToKCSAgQWRkICdmb3JtYXQnIHByb3BlcnR5IHRvIGZvcmNlIHF1ZXJ5aW5nIHRvIGEgcGFydGljdWxhciBmb3JtYXQuCgoyMDA2LTA0LTIxIDE1OjUwOjI4ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvZHYvZ3N0ZHYuYyAocGx1Z2luX2luaXQpOiBsaWJkdiBpcyBhIG1hcmdpbmFsIGRlY29kZXIsIGF0IGJlc3QsIG9uIGJpZyBlbmRpYW4gc3lzdGVtcy4gRHJvcCBpdHMgcmFuayBpbiB0aGF0IGNhc2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDQtMjEgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2R2L2dzdGR2LmMgKHBsdWdpbl9pbml0KTogbGliZHYgaXMgYSBtYXJnaW5hbCBkZWNvZGVyLCBhdAoJICBiZXN0LCBvbiBiaWcgZW5kaWFuIHN5c3RlbXMuIERyb3AgaXRzIHJhbmsgaW4gdGhhdCBjYXNlLiBPVE9IIG9uCgkgIHg4NiBpdCdzIHF1aXRlIGZpbmUuIFNlZSBjaGFuZ2VzIGZyb20gdG9kYXkgaW4gZ3N0LWZmbXBlZyBhcyB3ZWxsLgoKMjAwNi0wNC0yMSAwOToyNzoxMSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgQWRkIGljeWRlbXV4LCBhbmQgdGVzdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvaWN5ZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6IChnc3RfaWN5ZGVtdXhfZ2V0X3R5cGUpLAoJICAoZ3N0X2ljeWRlbXV4X2Jhc2VfaW5pdCksIChnc3RfaWN5ZGVtdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfaWN5ZGVtdXhfcmVzZXQpLCAoZ3N0X2ljeWRlbXV4X2luaXQpLAoJICAoZ3N0X2ljeWRlbXV4X3Npbmtfc2V0Y2FwcyksIChnc3RfaWN5ZGVtdXhfZGlzcG9zZSksCgkgIChnc3RfaWN5ZGVtdXhfYWRkX3NyY3BhZCksIChnc3RfaWN5ZGVtdXhfcmVtb3ZlX3NyY3BhZCksCgkgICh1bmljb2RpZnkpLCAoZ3N0X2ljeWRlbXV4X3VuaWNvZGlmeSksCgkgIChnc3RfaWN5ZGVtdXhfcGFyc2VfYW5kX3NlbmRfdGFncyksCgkgIChnc3RfaWN5ZGVtdXhfdHlwZWZpbmRfb3JfZm9yd2FyZCksIChnc3RfaWN5ZGVtdXhfYWRkX21ldGEpLAoJICAoZ3N0X2ljeWRlbXV4X2NoYWluKSwgKGdzdF9pY3lkZW11eF9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X2ljeWRlbXV4X3NlbmRfdGFnX2V2ZW50KSwgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguaDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pY3lkZW11eC5jOiAodHlwZWZpbmRfc3VjY2VlZCksCgkgIChwbHVnaW5faW5pdCksIChpY3lkZW11eF9mb3VuZF9wYWQpLCAoY3JlYXRlX2ljeWRlbXV4KSwKCSAgKGNsZWFudXBfaWN5ZGVtdXgpLCAocHVzaF9kYXRhKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKGljeWRlbXV4X3N1aXRlKSwgKG1haW4pOgoJICBBZGQgaWN5ZGVtdXgsIGFuZCB0ZXN0cy4KCjIwMDYtMDQtMjAgMTc6NDg6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IFBvc3QgU0VHTUVOVF9ET05FIG1lc3NhZ2UgaW4gVElNRSBmb3JtYXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY19sb29wKToKCSAgUG9zdCBTRUdNRU5UX0RPTkUgbWVzc2FnZSBpbiBUSU1FIGZvcm1hdC4KCjIwMDYtMDQtMjAgMTc6Mjk6NTYgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgQWRkZWQgYSBjb3VwbGUgb2YgaWZkZWZzIHRvIG1ha2UgaXQgY29tcGlsZSB3aXRoIG90aGVyIGtlcm5lbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGRlZCBhIGNvdXBsZSBvZiBpZmRlZnMgdG8gbWFrZSBpdCBjb21waWxlIHdpdGggb3RoZXIga2VybmVscy4KCjIwMDYtMDQtMjAgMTY6MzM6NTUgKzAwMDAgIEZhYnJpemlvIEdlbm5hcmkgPGZhYnJpemlvLmdlQHRpc2NhbGkuaXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IEZpeCBpbmRleCBjcmVhdGlvbiB3aGVuIHdlIGhhdmUgdG8gc2NhbiB0aGUgZmlsZSB0byBjcmVhdGUgYW4gaW5kZXguIFRoZXJlIG1heSBiZSBvdGhlciB0eXBlcyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBGYWJyaXppbyBHZW5uYXJpICA8ZmFicml6aW8gZG90IGdlIGF0IHRpc2NhbGkgZG90IGl0PgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcGVla190YWcpLAoJICAoZ3N0X2F2aV9kZW11eF9uZXh0X2RhdGFfYnVmZmVyKSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX3NjYW4pOgoJICBGaXggaW5kZXggY3JlYXRpb24gd2hlbiB3ZSBoYXZlIHRvIHNjYW4gdGhlIGZpbGUgdG8gY3JlYXRlCgkgIGFuIGluZGV4LiBUaGVyZSBtYXkgYmUgb3RoZXIgdHlwZXMgb2YgUklGRiAnTElTVCcgY2h1bmtzIHRoYW4KCSAgJ21vdmknIGFuZCB3ZSBuZWVkIHRvIHNraXAgdGhlbSBwcm9wZXJseSBhcyB3ZWxsIG9yIHdlJ2xsIGVuZCB1cAoJICByZWFkaW5nIGdhcmJhZ2UgKCMzMzY4ODkpLiBTb21lIG90aGVyIGNvc21ldGljIGNoYW5nZXMuCgoyMDA2LTA0LTIwIDE0OjIxOjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiBBZGQgc3VwcG9ydCBmb3Igc2VnbWVudCBzZWVrcyAoZml4ZXMgIzMzODI5MCkuIEFsc28gZGVtb3RlIHNvbWUgcmVjdXJyaW5nIGRlYnVnIG1lc3NhZ2UgZnJvbSBELi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY19sb29wKSwKCSAgKGdzdF9mbGFjX2RlY19oYW5kbGVfc2Vla19ldmVudCk6CgkgIEFkZCBzdXBwb3J0IGZvciBzZWdtZW50IHNlZWtzIChmaXhlcyAjMzM4MjkwKS4gQWxzbyBkZW1vdGUKCSAgc29tZSByZWN1cnJpbmcgZGVidWcgbWVzc2FnZSBmcm9tIERFQlVHIHRvIExPRyBsZXZlbC4KCjIwMDYtMDQtMjAgMTM6MjM6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvOiBTZXQgRElTQ09OVCBmbGFnIG9uIGZpcnN0IGJ1ZmZlciBhZnRlciBhIGRpc2NvbnRpbnVpdHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF9zdHJlYW0pLAoJICAoZ3N0X21hdHJvc2thZGVtdXhfZG9faW5kZXhfc2VlayksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NlZWtfZXZlbnQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2spOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgU2V0IERJU0NPTlQgZmxhZyBvbiBmaXJzdCBidWZmZXIgYWZ0ZXIgYSBkaXNjb250aW51aXR5LgoJICBGaXggbmV3c2VnbWVudCBldmVudHMgc2VudCB3aGVuIHNlZWtpbmcgYW5kIGhvbm91ciBLRVlfVU5JVAoJICBzZWVrIGZsYWcuIENyZWF0ZSBwYWQgd2l0aCBib2d1cyBjYXBzIGlmIHdlIGRvbid0IHJlY29nbmlzZQoJICB0aGUgc3RyZWFtIGNvZGVjIGlkLgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBGaXggR09iamVjdCBtYWNyb3MuCgoyMDA2LTA0LTIwIDExOjAwOjE2ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IEhhbmRsZSBlbmQgb2Ygc2VnbWVudCBwcm9wZXJseSB3aGVuIHNldDsgZG9uJ3QgZGVhZC1sb2NrIHdoZW4gcG9zdGluZyBzdGFydCBvZiBzZWdtZW50Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyAgPG1hbmF1dyBhdCBza3luZXQgZG90IGJlPgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zZWVrX2V2ZW50KSwgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wKToKCSAgSGFuZGxlIGVuZCBvZiBzZWdtZW50IHByb3Blcmx5IHdoZW4gc2V0OyBkb24ndCBkZWFkLWxvY2sgd2hlbgoJICBwb3N0aW5nIHN0YXJ0IG9mIHNlZ21lbnQgbWVzc2FnZSB3aGVuIGRvaW5nIGEgc2VnbWVudCBzZWVrLgoJICBGaXhlcyAjMzM4ODEwLgoKMjAwNi0wNC0yMCAwOTo0ODowNSArMDAwMCAgal4gPGpAYm9vdGxhYi5vcmc+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IE5ldmVyIHRyZWF0IHZpZGVvIHN0cmVhbXMgYXMgYW4gYXVkaW8gc3RyZWFtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IGpeIDxqIGF0IGJvb3RsYWIgZG90IG9yZz4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF92aWRlb19jYXBzKToKCSAgTmV2ZXIgdHJlYXQgdmlkZW8gc3RyZWFtcyBhcyBhbiBhdWRpbyBzdHJlYW0uCgkgIEFkZCBxdGRydyBtaW1lIHR5cGUuCgkgIEZpeGVzICMzMzkwNDEKCjIwMDYtMDQtMjAgMDk6MTE6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogTWFrZSBtcGVnMiBhYWMgYXVkaW8gd29yazogY3JlYXRlIGFydGlmaWNpYWwgcHJpdmF0ZSBjb2RlYyBkYXRhIGNodW5rIHdoaWNoIGZhYWQyIHNlZW0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfYXVkaW9fY2FwcyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGx1Z2luX2luaXQpOgoJICBNYWtlIG1wZWcyIGFhYyBhdWRpbyB3b3JrOiBjcmVhdGUgYXJ0aWZpY2lhbCBwcml2YXRlIGNvZGVjIGRhdGEKCSAgY2h1bmsgd2hpY2ggZmFhZDIgc2VlbXMgdG8gcmVxdWlyZSwganVzdCBhcyB3ZSBkbyBmb3IgbXBlZzQgYWFjLgoJICBBbHNvIGNhbGwgZ3N0X3JpZmZfaW5pdCgpLiBQYXJ0aWFsbHkgZml4ZXMgIzMzODc2Ny4KCjIwMDYtMDQtMTkgMTU6MTY6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy4qOiBTZXQgY2FwcyBvbiBmaXJzdCBvdXRnb2luZyBidWZmZXIsIHNvIHRoYXQgaXQgZG9lc24ndCBlcnJvciBvdXQgaW1tZWRpYXRlbHkgd2l0aCBhIG5vbi1uZWdvdGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogKGdzdF93YXZlbmNfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZlbmNfY2xhc3NfaW5pdCksIChnc3Rfd2F2ZW5jX2luaXQpLAoJICAoZ3N0X3dhdmVuY19jcmVhdGVfaGVhZGVyX2J1ZiksIChnc3Rfd2F2ZW5jX3B1c2hfaGVhZGVyKSwKCSAgKGdzdF93YXZlbmNfc2lua19zZXRjYXBzKSwgKGdldF9pZF9mcm9tX25hbWUpLCAoZ3N0X3dhdmVuY19ldmVudCksCgkgIChnc3Rfd2F2ZW5jX2NoYWluKSwgKGdzdF93YXZlbmNfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5oOgoJICBTZXQgY2FwcyBvbiBmaXJzdCBvdXRnb2luZyBidWZmZXIsIHNvIHRoYXQgaXQgZG9lc24ndCBlcnJvciBvdXQKCSAgaW1tZWRpYXRlbHkgd2l0aCBhIG5vbi1uZWdvdGlhdGVkIGVycm9yICgjMzM4NzE2KS4gUmV3cml0ZSBhbmQKCSAgY2xlYW4gdXAgYSBiaXQ7IGZpeCBzZXRjYXBzIGZ1bmN0aW9uIHRvIHBhcnNlIHRoaW5ncyBwcm9wZXJseTsKCSAgZml4IHNpbmsgY2FwcyAoOGJpdCBhdWRpbyBpcyB1bnNpZ25lZCBhbmQgZG9lc24ndCBoYXZlIGRlcHRoKTsKCSAgdXNlIGJvaWxlcnBsYXRlIG1hY3JvczsgcmVtb3ZlIHVudXNlZCBwcm9wZXJ0aWVzIHN0dWZmLgoKMjAwNi0wNC0xOSAwOToyNzowMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRm9yIFZCUiBhdWRpbywgZG9uJ3QgdHJ5IHRvIGNhbGN1bGF0ZSB0aGUgc2FtcGxlc19wZXJfZnJhbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIEZvciBWQlIgYXVkaW8sIGRvbid0IHRyeSB0byBjYWxjdWxhdGUgdGhlIHNhbXBsZXNfcGVyX2ZyYW1lLgoJICBGaXhlcyAjMzM4OTM1LgoKMjAwNi0wNC0xOCAxODoxNDozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOiBMZWF2ZSBKUEVHIGRlY29kaW5nIHRvIG91ciBqcGVnZGVjIHBsdWdpbi4gZ2RrcGl4YnVmZGVjIGNhbm5vdCBoYW5kbGUgTUpQRUcgc3RyZWFtcyBhbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSAgTGVhdmUgSlBFRyBkZWNvZGluZyB0byBvdXIganBlZ2RlYyBwbHVnaW4uIGdka3BpeGJ1ZmRlYyBjYW5ub3QKCSAgaGFuZGxlIE1KUEVHIHN0cmVhbXMgYW5kIG1pZ2h0IGJlIGF1dG9wbHVnZ2VkIGZvciB0aG9zZSBpZiB0aGUKCSAgdXNlciBkb2Vzbid0IGhhdmUganBlZ2RlYyBpbnN0YWxsZWQgKHJlc3VsdGluZyBpbiBhIGNyeXB0aWMgZXJyb3IKCSAgbWVzc2FnZSBhYm91dCBodWZmbWFuIHRhYmxlcykuIEJldHRlciB0byBkaXNhYmxlIEpQRUcgZGVjb2RpbmcgaGVyZQoJICBhbmQgbGV0IHRoZSB1c2VyIGZpZ3VyZSBvdXQgdGhhdCBzaGUgbmVlZHMgdG8gaW5zdGFsbCBqcGVnZGVjLgoKMjAwNi0wNC0xOCAxODowNDo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi4qOiBNYWtlIHdvcmsgd2l0aCBwYWNrZXRpc2VkL2ZyYW1lZCBpbnB1dCAoZS5nLiBwbmctaW4tcXVpY2t0aW1lKS4gVXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOiAoZ3N0X2dka19waXhidWZfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9nZGtfcGl4YnVmX2NsYXNzX2luaXQpLCAoZ3N0X2dka19waXhidWZfaW5pdCksCgkgIChnc3RfZ2RrX3BpeGJ1Zl9mbHVzaCksIChnc3RfZ2RrX3BpeGJ1Zl9jaGFpbik6CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmg6CgkgIE1ha2Ugd29yayB3aXRoIHBhY2tldGlzZWQvZnJhbWVkIGlucHV0IChlLmcuIHBuZy1pbi1xdWlja3RpbWUpLiBVc2UKCSAgR1NUX0VMRU1FTlRfRVJST1Igd2hlbiB3ZSByZXR1cm4gR1NUX0ZMT1dfRVJST1IuIEFkZCBzb21lCgkgIEdTVF9ERUJVR19GVU5DUFRSIGhlcmUgYW5kIHRoZXJlLiBVc2UgR1NUX0xPRyBmb3IgcmVjdXJyaW5nCgkgIGRlYnVnIG1lc3NhZ2VzLiBGaXggYm9pbGVycGxhdGUgbWFjcm9zLgoKMjAwNi0wNC0xOCAxNzoyOTo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOiBObyBuZWVkIHRvIHNwZWNpYWwtY2FzZSBmb3IgR2RrLTIuMCBhbnkgbG9uZ2VyLCB3ZSByZXF1aXJlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOiAoZ3N0X2dka19waXhidWZfZ2V0X2NhcHNsaXN0KSwKCSAgKGdzdF9nZGtfcGl4YnVmX3NldF9wcm9wZXJ0eSksIChnc3RfZ2RrX3BpeGJ1Zl9nZXRfcHJvcGVydHkpOgoJICBObyBuZWVkIHRvIHNwZWNpYWwtY2FzZSBmb3IgR2RrLTIuMCBhbnkgbG9uZ2VyLCB3ZSByZXF1aXJlCgkgIEdkayAyLjIgb3IgbmV3ZXI7IG1pbm9yIGNsZWFuLXVwcy4KCjIwMDYtMDQtMTggMTc6MTc6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBSZXdyaXRlIGEgYml0OiB1c2UgR3N0QmFzZVNpbms6OnN0YXJ0IGFuZCBzdG9wIGluc3RlYWQgb2YgYSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb247IHVzZSBHU1RfRUxFTUVOVF9FUlJPUiBmb3IgZXJyb3IgcmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzogKGdzdF9zaG91dDJzZW5kX2Jhc2VfaW5pdCksCgkgIChnc3Rfc2hvdXQyc2VuZF9jbGFzc19pbml0KSwgKGdzdF9zaG91dDJzZW5kX2luaXQpLAoJICAoc2V0X3Nob3V0X21ldGFkYXRhKSwgKGdzdF9zaG91dDJzZW5kX3NldF9tZXRhZGF0YSksCgkgIChnc3Rfc2hvdXQyc2VuZF9ldmVudCksIChnc3Rfc2hvdXQyc2VuZF9zdGFydCksCgkgIChnc3Rfc2hvdXQyc2VuZF9jb25uZWN0KSwgKGdzdF9zaG91dDJzZW5kX3N0b3ApLAoJICAoZ3N0X3Nob3V0MnNlbmRfcmVuZGVyKSwgKGdzdF9zaG91dDJzZW5kX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfc2hvdXQyc2VuZF9nZXRfcHJvcGVydHkpLCAoZ3N0X3Nob3V0MnNlbmRfc2V0Y2FwcyksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZXh0L3Nob3V0Mi9nc3RzaG91dDIuaDoKCSAgKiBwby9QT1RGSUxFUy5pbjoKCSAgUmV3cml0ZSBhIGJpdDogdXNlIEdzdEJhc2VTaW5rOjpzdGFydCBhbmQgc3RvcCBpbnN0ZWFkIG9mIGEgc3RhdGUKCSAgY2hhbmdlIGZ1bmN0aW9uOyB1c2UgR1NUX0VMRU1FTlRfRVJST1IgZm9yIGVycm9yIHJlcG9ydGluZywgbm90CgkgIGdfZXJyb3IoKSBvciBHU1RfRVJST1IoKTsgZG9uJ3QgdW5yZWYgY2FwcyBpbiBzZXRjYXBzIGZ1bmN0aW9uLAoJICB3aWxsIGNhdXNlIGNyYXNoZXMgb3IgYXNzZXJ0aW9uIGZhaWx1cmVzOyByZW1vdmUgKHVudXNlZCkgInN5bmMiCgkgIHByb3BlcnR5LCBiYXNlc2luayBhbHJlYWR5IGhhcyBzdWNoIGEgcHJvcGVydHk7IG1pc2MuIG90aGVyCgkgIG1pbm9yIGZpeGVzIGFuZCBjbGVhbnVwcy4KCjIwMDYtMDQtMTggMTQ6MTU6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBBZGQgdHJhbnNsYXRhYmxlIGVycm9yIG1lc3NhZ2UgZm9yIHdoZW4gd2UgY2Fubm90IGNvbm5lY3QgdG8gdGhlIHNvdW5kIHNlcnZlciwgYXMgIkNhbm5vdCBvcGVuIHJlc291cmNlIGZvciB3cml0aW5nIiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2VzZC9lc2RzaW5rLmM6IChnc3RfZXNkc2lua19vcGVuKSwgKGdzdF9lc2RzaW5rX3ByZXBhcmUpOgoJICAqIGV4dC9lc2QvZ3N0ZXNkLmM6IChwbHVnaW5faW5pdCk6CgkgICogcG8vUE9URklMRVMuaW46CgkgIEFkZCB0cmFuc2xhdGFibGUgZXJyb3IgbWVzc2FnZSBmb3Igd2hlbiB3ZSBjYW5ub3QKCSAgY29ubmVjdCB0byB0aGUgc291bmQgc2VydmVyLCBhcyAiQ2Fubm90IG9wZW4gcmVzb3VyY2UKCSAgZm9yIHdyaXRpbmciIGlzbid0IHJlYWxseSBhbiBhY2NlcHRhYmxlIG1lc3NhZ2UgdG8gc2hvdwoJICB0byB0aGUgdXNlciBpbiB0aGlzIGNhc2UuCgoyMDA2LTA0LTE4IDEzOjMyOjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL29zcy9nc3QtaTE4bi1wbHVnaW4uaDogUmVtb3ZlIGJvZ3VzIGZpbGUgdGhhdCBkb2Vzbid0IGJlbG9uZyBoZXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzL2dzdC1pMThuLXBsdWdpbi5oOgoJICBSZW1vdmUgYm9ndXMgZmlsZSB0aGF0IGRvZXNuJ3QgYmVsb25nIGhlcmUuCgoyMDA2LTA0LTE3IDE5OjU3OjEwICswMDAwICBQaGlsaXBwZSBWYWxlbWJvaXMgPGxlcGhpbG91c29waGVAdXNlcnMuc2YubmV0PgoKCSAgZXh0L3Nob3V0Mi9nc3RzaG91dDIuKjogSGFuZGxlIHRhZ3MgYmVpbmcgcmVjZWl2ZWQgYmVmb3JlIHRoZSBjb25uZWN0aW9uIHRvIHRoZSBzZXJ2ZXIgaXMgZXN0YWJsaXNoZWQgcHJvcGVybHkgKHNlZSAjLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUGhpbGlwcGUgVmFsZW1ib2lzCgkgICogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzogKGdzdF9zaG91dDJzZW5kX2luaXQpLAoJICAoZ3N0X3Nob3V0MnNlbmRfc2V0X21ldGFkYXRhKSwgKGdzdF9zaG91dDJzZW5kX2V2ZW50KSwKCSAgKGdzdF9zaG91dDJzZW5kX3JlbmRlciksIChnc3Rfc2hvdXQyc2VuZF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmg6CgkgIEhhbmRsZSB0YWdzIGJlaW5nIHJlY2VpdmVkIGJlZm9yZSB0aGUgY29ubmVjdGlvbiB0bwoJICB0aGUgc2VydmVyIGlzIGVzdGFibGlzaGVkIHByb3Blcmx5IChzZWUgIzMzODYzNikuCgoyMDA2LTA0LTE3IDE5OjQzOjMyICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIEp1c3QgYWRkZWQgYSBndGstZG9jIGNvbW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBKdXN0IGFkZGVkIGEgZ3RrLWRvYyBjb21tZW50LgoKMjAwNi0wNC0xNyAxOToxMjozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6IERvbid0IGNyYXNoIGluIGNhc2UgdGhlIGNvbm5lY3Rpb24gdG8gdGhlIHNlcnZlciBmYWlsczogZG9uJ3Qgc2V0IHBvaW50ZXIgdG8gTlVMTCBieSBhc3NpZ25pbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOiAoZ3N0X3Nob3V0MnNlbmRfcmVuZGVyKToKCSAgRG9uJ3QgY3Jhc2ggaW4gY2FzZSB0aGUgY29ubmVjdGlvbiB0byB0aGUgc2VydmVyIGZhaWxzOgoJICBkb24ndCBzZXQgcG9pbnRlciB0byBOVUxMIGJ5IGFzc2lnbmluZyBGQUxTRTsgZXJyb3Igb3V0CgkgIHByb3Blcmx5IGJ5IHVzaW5nIEdTVF9FTEVNRU5UX0VSUk9SIGFuZCByZXR1cm5pbmcKCSAgR1NUX0ZMT1dfRVJST1IgKGZpeGVzICMzMzg2MzYpLiBMYXN0bHksIGZyZWUgY29ubmVjdGlvbgoJICBiZWZvcmUgcmVzZXR0aW5nIHRoZSBwb2ludGVyLgoKMjAwNi0wNC0xNyAxMDowMTo1MSArMDAwMCAgQWxleCBMYW5jYXN0ZXIgPGFsZXhsYW5AZmVkb3JhcHJvamVjdC5vcmc+CgoJICBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOiAoRml4ZXMgIzMzODcxMykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzoKCSAgUmVjb2duaXNlIFRDTyAoR2VucmUpIHRhZ3MgaW4gSUQzdjIuMi4gUGF0Y2ggYnkgQWxleCBMYW5jYXN0ZXIKCSAgKEZpeGVzICMzMzg3MTMpCgoyMDA2LTA0LTEzIDIxOjQ1OjU3ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgRml4ZWQgc29tZSBtZW1vcnkgbGVha3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXhlZCBzb21lIG1lbW9yeSBsZWFrcy4KCjIwMDYtMDQtMTMgMDk6MTU6MzEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5oOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5Lmg6CgkgIHJldmVydGluZyBydHAgcGF0Y2hlcyB0byBmaXggZnJlZXplIGJyZWFrIG9uIC1iYXNlIGFzIGV4cGxhaW5lZCBvbiB0aGUgbGlzdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV2ZXJ0aW5nIHJ0cCBwYXRjaGVzIHRvIGZpeCBmcmVlemUgYnJlYWsgb24gLWJhc2UgYXMgZXhwbGFpbmVkIG9uIHRoZSBsaXN0CgoyMDA2LTA0LTEzIDA5OjAxOjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3J0cC86IEZpeCBHT2JqZWN0IG1hY3Jvcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBwY211cGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5oOgoJICBGaXggR09iamVjdCBtYWNyb3MuCgoyMDA2LTA0LTEzIDAzOjQyOjUxICswMDAwICBQaGlsaXBwZSBLYWxhZiA8cGhpbGlwcGUua2FsYWZAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3J0cC86IFBvcnRlZCBtdWxhdyBhbmQgYWxhdyBwYXlsb2FkZXJzIHRvIHVzZSBuZXcgYmFzZSBjbGFzcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNC0xMiBQaGlsaXBwZSBLYWxhZiA8cGhpbGlwcGUua2FsYWZAY29sbGFib3JhLmNvLnVrPgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5oOgoJICBQb3J0ZWQgbXVsYXcgYW5kIGFsYXcgcGF5bG9hZGVycyB0byB1c2UgbmV3IGJhc2UgY2xhc3MKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5oOgoJICBBZGRlZCBuZXcgaUxCQyBwYXlsb2FkZXIvZGVwYXlsb2FkZXIuIFBheWxvYWRlciB1c2VzIG5ldyBhdWRpbyBwYXlsb2FkIGJhc2UKCSAgY2xhc3MuCgoyMDA2LTA0LTEyIDIxOjU3OjAyICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIEZpeCB0byB3b3JrIGluIHJlYWQgbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCB0byB3b3JrIGluIHJlYWQgbW9kZS4KCjIwMDYtMDQtMTIgMDk6NDI6MTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzogU29tZSBjbGVhbnVwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6IChnc3RfZ2RrX3BpeGJ1Zl9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2dka19waXhidWZfZ2V0X2NhcHNsaXN0KSwgKGdzdF9nZGtfcGl4YnVmX3NpbmtfZ2V0Y2FwcyksCgkgIChnc3RfZ2RrX3BpeGJ1Zl9jbGFzc19pbml0KSwgKGdzdF9nZGtfcGl4YnVmX2luaXQpLAoJICAoZ3N0X2dka19waXhidWZfZmx1c2gpLCAoZ3N0X2dka19waXhidWZfc2lua19ldmVudCksCgkgIChnc3RfZ2RrX3BpeGJ1Zl9jaGFpbik6CgkgIFNvbWUgY2xlYW51cHMuCgkgIEFkZGVkIFJHQkEgYXMgYSBwb3NzaWJsZSBvdXRwdXQgZm9ybWF0LgoJICBDb3JyZWN0bHkgZnJlZSB0aGUgc3VwcG9ydGVkIG1pbWV0eXBlcy4KCSAgZGVwcmVjYXRlIHNpbGVudCBhcmcsIGl0J3Mgbm90IHVzZWQuCgkgIFJldHVybiByZXN1bHQgZnJvbSBfYWxsb2NfYnVmZmVyIHRvIHBlZXIuCgoyMDA2LTA0LTExIDE4OjAzOjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzogRG9uJ3QgbGVhayBtZW1vcnkgYWxsb2NhdGVkIGJ5IGdzdF9idWZmZXJfbmV3X2FuZF9hbGxvYygpIGJ5IG92ZXJ3cml0aW5nIEdTVF9CVUZGRVJfTUFMTE9DLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6IChnc3RfcnRwX21wNHZfZGVwYXlfcHJvY2Vzcyk6CgkgIERvbid0IGxlYWsgbWVtb3J5IGFsbG9jYXRlZCBieSBnc3RfYnVmZmVyX25ld19hbmRfYWxsb2MoKSBieQoJICBvdmVyd3JpdGluZyBHU1RfQlVGRkVSX01BTExPQ0RBVEEuCgoyMDA2LTA0LTExIDE1OjI3OjMxICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIGZpeCB2ZXJzaW9uIG51bWJlciBtYWNybwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IHZlcnNpb24gbnVtYmVyIG1hY3JvCgoyMDA2LTA0LTExIDA5OjM1OjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdkZWMuKjogSGFuZGxlIG1vcmUgdGhhbiBvbmUgZnJhbWUgaWYgdGhlIGNvbnRlbnQgaXMgZnJhbWVkLCBsaWtlIHdpdGggcG5nLWluLXF1aWNrdGltZSAoIzMzMTkxNykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IChnc3RfcG5nZGVjX2luaXQpLAoJICAodXNlcl9lbmRyb3dfY2FsbGJhY2spLCAodXNlcl9lbmRfY2FsbGJhY2spLAoJICAoZ3N0X3BuZ2RlY19jYXBzX2NyZWF0ZV9hbmRfc2V0KSwgKGdzdF9wbmdkZWNfY2hhaW4pLAoJICAoZ3N0X3BuZ2RlY19zaW5rX3NldGNhcHMpLCAoZ3N0X3BuZ2RlY19zaW5rX2V2ZW50KSwKCSAgKGdzdF9wbmdkZWNfbGlicG5nX2NsZWFyKSwgKGdzdF9wbmdkZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5oOgoJICBIYW5kbGUgbW9yZSB0aGFuIG9uZSBmcmFtZSBpZiB0aGUgY29udGVudCBpcyBmcmFtZWQsCgkgIGxpa2Ugd2l0aCBwbmctaW4tcXVpY2t0aW1lICgjMzMxOTE3KS4KCjIwMDYtMDQtMTAgMTk6NTU6MzEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgc3lzL29zcy86IC0gdGhlIHVzZXItdmlzaWJsZSBlcnJvciBzdHJpbmdzIHdlcmUgaW4gdGhlIHdyb25nIGNhdGVnb3J5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3MvTWFrZWZpbGUuYW06CgkgICogc3lzL29zcy9jb21tb24uaDoKCSAgKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzogKGdzdF9vc3Nfc2lua19pbml0KSwgKGdzdF9vc3Nfc2lua19vcGVuKSwKCSAgKGdzdF9vc3Nfc2lua19wcmVwYXJlKSwgKGdzdF9vc3Nfc2lua191bnByZXBhcmUpOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6IChnc3Rfb3NzX3NyY19wcmVwYXJlKSwKCSAgKGdzdF9vc3Nfc3JjX3VucHJlcGFyZSk6CgkgIC0gdGhlIHVzZXItdmlzaWJsZSBlcnJvciBzdHJpbmdzIHdlcmUgaW4gdGhlIHdyb25nIGNhdGVnb3J5CgkgIC0gYW5kIHRoZSBtZXNzYWdlcyB3ZXJlIG5vdCBtYXJrZWQgZm9yIHRyYW5zbGF0aW9uCgkgIC0gd2hpY2ggaXMgYWN0dWFsbHkgYSBnb29kIHRoaW5nLCBiZWNhdXNlIHRoZXkgd2VyZSBleGFjdGx5CgkgIHRoZSBraW5kIG9mIG1lc3NhZ2UgeW91IHdvdWxkIG5ldmVyIHdhbnQgYW55b25lIHRvIHNlZQoJICAtIHRoZSBtYWNyb3Mgd2VyZSB1c2luZyB2YXJpYWJsZXMgdGhhdCBkaWRuJ3QgZXhpc3QgaW4gdGhlIG1hY3JvCgkgIGFyZ3VtZW50cwoJICAtIGFuZCB0aGV5IHdlcmUgb2J2aW91c2x5IGNvcGllZCBmcm9tIGVhY2ggb3RoZXIgYW5kIHRoZW4gbW9kaWZpZWQKCSAgLSBzbyBhIGNvbW1vbiBoZWFkZXIgbWFrZXMgc2Vuc2UKCjIwMDYtMDQtMTAgMTc6MTY6MDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCBwYXJzaW5nIG9mIG5ld2VyIHN0c2QgY2h1bmtzIGFnYWluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBGaXggcGFyc2luZyBvZiBuZXdlciBzdHNkIGNodW5rcyBhZ2Fpbi4KCjIwMDYtMDQtMTAgMTY6MDk6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IERvbid0IHRyeSB0byBtb2RpZnkgcmVhZC1vbmx5IGRhdGEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogKGdzdF9lYm1sX3JlYWRfc2ludCk6CgkgIERvbid0IHRyeSB0byBtb2RpZnkgcmVhZC1vbmx5IGRhdGEuCgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYmxvY2tncm91cF9vcl9zaW1wbGVibG9jayk6CgkgIEZpeCBjb21tZW50ICh3b24ndCBjcmFzaCBhbnkgbG9uZ2VyIG5vdykuCgoyMDA2LTA0LTEwIDE1OjQ4OjU1ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6IFVzZSBjb3BpZXMgb2YgaGVhZGVyIGJ1ZmZlcnMgZm9yIGNhcHMgdG8gYXZvaWQgY2lyY3VsYXIgcmVmY291bnRpbmcgcHJvYmxlbXMgKGFzIGluIHRoZW9yYWQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOiAoZ3N0X2NtbWxfZW5jX3NldF9oZWFkZXJfb25fY2Fwcyk6CgkgIFVzZSBjb3BpZXMgb2YgaGVhZGVyIGJ1ZmZlcnMgZm9yIGNhcHMgdG8gYXZvaWQgY2lyY3VsYXIgcmVmY291bnRpbmcKCSAgcHJvYmxlbXMgKGFzIGluIHRoZW9yYWRlYywgdm9yYmlzZGVjKS4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIEZpeCBhIHR5cG8gaW4gdGVzdCB0aGF0IG1lYW50IGl0IHdhcyB0ZXN0aW5nIHRoZSB3cm9uZyB0aGluZy4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZW5jLmM6IChjaGVja19oZWFkZXJzKToKCSAgRml4IHJlZmNvdW50IGNoZWNrcyBub3cgdGhhdCB3ZSB1c2UgYnVmZmVyLWNvcGllcyBmb3IgY2Fwcy4KCjIwMDYtMDQtMTAgMTU6NDM6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogVXNlIHN0YXRpYyBwYWQgdGVtcGxhdGVzIHdpdGggQU5ZIGNhcHMgZm9yIGF1ZGlvIGFuZCB2aWRlbyBzb3VyY2UgcGFkcyBhbmQgZ2V0IHJpZCBvZiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfYmFzZV9pbml0KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc2Vla19ldmVudCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfdmlkZW9fY2FwcyksIChnc3RfbWF0cm9za2FfZGVtdXhfYXVkaW9fY2FwcyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfc3VidGl0bGVfY2FwcyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGx1Z2luX2luaXQpOgoJICBVc2Ugc3RhdGljIHBhZCB0ZW1wbGF0ZXMgd2l0aCBBTlkgY2FwcyBmb3IgYXVkaW8gYW5kIHZpZGVvCgkgIHNvdXJjZSBwYWRzIGFuZCBnZXQgcmlkIG9mIGEgbG90IG9mIHVubmVjZXNzYXJ5IChhbmQgcGFydGlhbGx5CgkgIGJyb2tlbikgY29kZSBmb3IgdGhlIHRlbXBsYXRlIGNhcHMuIENsZWFuIHVwIGNhcHMgZmluZGluZwoJICBmdW5jdGlvbnMuIEZpeGVzIHBsYXliYWNrIG9mIGF1ZGlvIGZpbGVzL3N0cmVhbXMgdGhhdCBkbyBub3QKCSAgY29udGFpbiB0aGUgc2FtcGxlIHJhdGUgYW5kL29yIG51bWJlciBvZiBjaGFubmVscyBpbiB0aGUgYXVkaW8KCSAgY29udGV4dCAoaGFwcGVucyBhIGxvdCB3aXRoIHZvcmJpcy9tcDMgLm1rYSBmaWxlcyBpdCBzZWVtcykuCgkgIEZpeGVzICMzMzcxODMuCgkgIEFsc28gYWRkIG15c2VsZiB0byBjb3B5cmlnaHQgaG9sZGVycy4KCjIwMDYtMDQtMTAgMTU6Mjk6MjEgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGV4dC9hbm5vZGV4L2dzdGNtbWx1dGlscy5jOiBVc2UgZ19saXN0X2RlbGV0ZV9saW5rICgpIGluc3RlYWQgb2YgZ19saXN0X3JlbW92ZV9saW5rICgpIHNvIHRoYXQgd2UgZnJlZSB0aGUgbGluayBhcyB3ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sdXRpbHMuYzogKGdzdF9jbW1sX3RyYWNrX2xpc3RfZGVsX2NsaXApOgoJICBVc2UgZ19saXN0X2RlbGV0ZV9saW5rICgpIGluc3RlYWQgb2YgZ19saXN0X3JlbW92ZV9saW5rICgpIHNvIHRoYXQKCSAgd2UgZnJlZSB0aGUgbGluayBhcyB3ZWxsIGFzIHRoZSBjb250YWluZWQgZGF0YS4KCjIwMDYtMDQtMTAgMTQ6MjA6NDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCBmcmFtZXJhdGUgY2FsY3VsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLAoJICAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgRml4IGZyYW1lcmF0ZSBjYWxjdWxhdGlvbi4KCjIwMDYtMDQtMTAgMTA6MTA6NTUgKzAwMDAgIFJ5YW4gTG9ydGllIChkZXNydCkgPGRlc3J0QGRlc3RyLmNhPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBGaXggc29tZSBjcmFzaGVycyB3aXRoIGVtcHR5IGNodW5rcy4gKEZpeGVzICMzMzc3NDkpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUnlhbiBMb3J0aWUgKGRlc3J0KSA8ZGVzcnQgYXQgZGVzdHIgZG90IGNhPgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3VwZXJpbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksIChnc3RfYXZpX2RlbXV4X3BhcnNlX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlcik6CgkgIEZpeCBzb21lIGNyYXNoZXJzIHdpdGggZW1wdHkgY2h1bmtzLiAoRml4ZXMgIzMzNzc0OSkKCjIwMDYtMDQtMTAgMDg6MzE6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IGZvcmNlIG1vbm8gODAwMCBIeiBvbiBBTVIgc2FtcGxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgZm9yY2UgbW9ubyA4MDAwIEh6IG9uIEFNUiBzYW1wbGVzLgoKMjAwNi0wNC0wOSAxODozMDo1MSArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogcmVtb3ZlIGF0b2xsIGJ5IHVzaW5nIGdfYXNjaWlfc3RydG91bGwgKGF0b2xsIGlzIG5vdCBzdXBwb3J0ZWQgb24gV0lOMzIpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IChnc3RfbmVvbmh0dHBfc3JjX3N0YXJ0KToKCSAgcmVtb3ZlIGF0b2xsIGJ5IHVzaW5nIGdfYXNjaWlfc3RydG91bGwgKGF0b2xsIGlzIG5vdCBzdXBwb3J0ZWQgb24gV0lOMzIpCgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRvbmUgc29tZSBjbGVhbnMgaW4gc291cmNlcwoJICAqIHdpbjMyL3ZzNjoKCSAgYWRkIHByb2plY3QgZmlsZXMgZm9yIG5lb24sIHF0ZGVtdXgKCjIwMDYtMDQtMDkgMTc6MzE6MzcgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiB1c2UgR19HSU5UNjRfQ09OU1RBTlQgZm9yIElOVDY0IGNvbnN0YW50cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogKGdzdF9sZXZlbF9zZXRfY2FwcyksKGdzdF9sZXZlbF90cmFuc2Zvcm1faXApOgoJICB1c2UgR19HSU5UNjRfQ09OU1RBTlQgZm9yIElOVDY0IGNvbnN0YW50cwoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgZGVmaW5lIHJpbnQgZm9yIFdJTjMyICNkZWZpbmUgcmludCh4KSAoZmxvb3IoKHgpKzAuNSkpCgkgICogd2luMzIvdnM2L2xpYmdzdGF2aS5kc3A6CgkgIGFkZCBtaXNzaW5nIGxpYnJhcmllcyBmb3IgdGhlIGxpbmsgYW5kIHJlbW92ZSBhdmltdXguYyBmcm9tCgkgIHRoZSBwcm9qZWN0IGFzIGl0IGlzbid0IHBvcnRlZCB0byAwLjEwIHlldAoKMjAwNi0wNC0wOSAxNDowMDozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogRXZlbiBiZXR0ZXIgd291bGQgYmUgaWYgd2UgYWN0dWFsbHkgZGlkIHRoZSByaWdodCB0aGluZyBoZXJlIChhbHNvLCBHX0dVSU5UNjRfQ09OU1RBTlQgb25seS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IChnc3RfZWJtbF9yZWFkX3NpbnQpOgoJICBFdmVuIGJldHRlciB3b3VsZCBiZSBpZiB3ZSBhY3R1YWxseSBkaWQgdGhlIHJpZ2h0IHRoaW5nCgkgIGhlcmUgKGFsc28sIEdfR1VJTlQ2NF9DT05TVEFOVCBvbmx5IGV4aXN0cyBzaW5jZSBHTGliLTIuMTApLgoKMjAwNi0wNC0wOSAxMzo1MjowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogQ2FuJ3QganVzdCByZXBsYWNlIDFMTCB3aXRoIDFMIGhlcmUganVzdCBiZWNhdXNlIE1TVkMgZG9lc24ndCBzdXBwb3J0IGl0LCBhcyBpdCBtaWdodCBsZWFkIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IChnc3RfZWJtbF9yZWFkX3NpbnQpOgoJICBDYW4ndCBqdXN0IHJlcGxhY2UgMUxMIHdpdGggMUwgaGVyZSBqdXN0IGJlY2F1c2UgTVNWQyBkb2Vzbid0CgkgIHN1cHBvcnQgaXQsIGFzIGl0IG1pZ2h0IGxlYWQgdG8gaW5jb3JyZWN0IHJlc3VsdHMgd2hlbiBkb2luZyB0aGUKCSAgYml0c2hpZnRpbmcgaGVyZS4gVXNpbmcgR0xpYidzIEdfR1VJTlQ2NF9DT05TVEFOVCgpIG1hY3JvIHRvCgkgIGZvcmNlIGEgNjQtYml0IGNvbnN0YW50IGluIGEgd2F5IHRoYXQgYWxsIGNvbXBpbGVycyBhcmUgaGFwcHkgd2l0aC4KCjIwMDYtMDQtMDggMjE6NDg6MDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEZpeCAjMzM3MzY1IChnX3R5cGVfY2xhc3NfcmVmIDwtPiBnX3R5cGVfY2xhc3NfcGVla19wYXJlbnQpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOiAoZ3N0X2FtcndiZGVjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOiAoZ3N0X2FtcndiZW5jX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6IChnc3RfYW1yd2JwYXJzZV9jbGFzc19pbml0KToKCSAgKiBleHQvYXJ0cy9nc3RfYXJ0cy5jOiAoZ3N0X2FydHNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOiAoZ3N0X2FydHNkc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOiAoZ3N0X2Fmc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6IChnc3RfYWZzcmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzogKGdzdF9jZGF1ZGlvX2NsYXNzX2luaXQpOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogKGdzdF9kZmJ2aWRlb3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGRlYy5jOiAoZ3N0X2RpdnhkZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2hlcm1lcy9nc3RoZXJtZXNjb2xvcnNwYWNlLmM6CgkgIChnc3RfaGVybWVzX2NvbG9yc3BhY2VfY2xhc3NfaW5pdCk6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOiAoZ3N0X2l2b3JiaXNmaWxlX2NsYXNzX2luaXQpOgoJICAqIGV4dC9qYWNrL2dzdGphY2suYzogKGdzdF9qYWNrX2NsYXNzX2luaXQpOgoJICAqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzogKGdzdF9qYWNrX2Jpbl9jbGFzc19pbml0KToKCSAgKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzogKGdzdF9jb2xvcnNwYWNlX2NsYXNzX2luaXQpOgoJICAqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzogKGdzdF9mYW1lZW5jX2NsYXNzX2luaXQpOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzogKGdzdF9tdXNpY2JyYWluel9jbGFzc19pbml0KToKCSAgKiBleHQvbmFzL25hc3NpbmsuYzogKGdzdF9uYXNzaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9zaG91dC9nc3RzaG91dC5jOiAoZ3N0X2ljZWNhc3RzZW5kX2NsYXNzX2luaXQpOgoJICAqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOiAoZ3N0X3NuYXBzaG90X2NsYXNzX2luaXQpOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmM6IChnc3Rfc2ZfY2xhc3NfaW5pdCk6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzogKGdzdF9zd2ZkZWNidWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3Rfc3dmZGVjX2NsYXNzX2luaXQpOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmM6IChnc3RfdGFya2luZGVjX2NsYXNzX2luaXQpOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZW5jLmM6IChnc3RfdGFya2luZW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmM6IChnc3RfY2R4YXN0cmlwX2NsYXNzX2luaXQpOgoJICAqIGdzdC9jaGFydC9nc3RjaGFydC5jOiAoZ3N0X2NoYXJ0X2NsYXNzX2luaXQpOgoJICAqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzogKGdzdF9jb2xvcnNwYWNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOiAoZ3N0X2RlaW50ZXJsYWNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOiAoZ3N0X2Zlc3RpdmFsX2NsYXNzX2luaXQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoZ3N0X2Jwd3NpbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2ZpbHRlci9nc3RpaXIuYzogKGdzdF9paXJfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19jbGFzc19pbml0KToKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOiAoZ3N0X3JmYnNyY19jbGFzc19pbml0KToKCSAgKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOiAoZ3N0X21peG1hdHJpeF9jbGFzc19pbml0KToKCSAgKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzoKCSAgKGdzdF9zeXN0ZW1fZW5jb2RlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9tcGVnMXZpZGVvcGFyc2UvZ3N0bXAxdmlkZW9wYXJzZS5jOgoJICAoZ3N0X21wMXZpZGVvcGFyc2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5jOiAoZ3N0X21wZWcyc3VidF9jbGFzc19pbml0KToKCSAgKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgKGdzdF9tcDNwYXJzZV9jbGFzc19pbml0KToKCSAgKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6IChnc3Rfb3ZlcmxheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcGFzc3Rocm91Z2gvZ3N0cGFzc3Rocm91Z2guYzogKHBhc3N0aHJvdWdoX2NsYXNzX2luaXQpOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmM6IChwbGF5X29uX2RlbWFuZF9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5jOiAoZ3N0X3J0anBlZ2RlY19jbGFzc19pbml0KToKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2VuYy5jOiAoZ3N0X3J0anBlZ2VuY19jbGFzc19pbml0KToKCSAgKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOiAoZ3N0X3Ntb290aF9jbGFzc19pbml0KToKCSAgKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6IChnc3Rfc21vb3Rod2F2ZV9jbGFzc19pbml0KToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KToKCSAgKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5jOiAoZ3N0X3N0ZXJlb19jbGFzc19pbml0KToKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOiAoZ3N0X3N3aXRjaF9jbGFzc19pbml0KToKCSAgKiBnc3QvdHRhL2dzdHR0YWRlYy5jOiAoZ3N0X3R0YV9kZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOiAoZ3N0X3R0YV9wYXJzZV9jbGFzc19pbml0KToKCSAgKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOiAoZ3N0X3ZiaWRlY19jbGFzc19pbml0KToKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOiAoZ3N0X3ZpZGVvX2Nyb3BfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZpcnR1YWxkdWIvZ3N0eHNoYXJwZW4uYzogKGdzdF94c2hhcnBlbl9jbGFzc19pbml0KToKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOiAoZ3N0X3k0bWVuY29kZV9jbGFzc19pbml0KToKCSAgKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuYzogKGNkcGxheWVyX2NsYXNzX2luaXQpOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgKGdzdF9kaXJlY3Rzb3VuZHNpbmtfY2xhc3NfaW5pdCk6CgkgICogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5jOiAoZHhyM2F1ZGlvc2lua19jbGFzc19pbml0KToKCSAgKiBzeXMvZHhyMy9keHIzc3B1c2luay5jOiAoZHhyM3NwdXNpbmtfY2xhc3NfaW5pdCk6CgkgICogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5jOiAoZHhyM3ZpZGVvc2lua19jbGFzc19pbml0KToKCSAgKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6IChnc3RfcWNhbXNyY19jbGFzc19pbml0KToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmM6CgkgIChnc3RfdjRsMl9jb2xvcl9iYWxhbmNlX2NoYW5uZWxfY2xhc3NfaW5pdCk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6IChnc3RfdjRsMl90dW5lcl9jaGFubmVsX2NsYXNzX2luaXQpLAoJICAoZ3N0X3Y0bDJfdHVuZXJfbm9ybV9jbGFzc19pbml0KToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZXNyY19jbGFzc19pbml0KToKCSAgRml4ICMzMzczNjUgKGdfdHlwZV9jbGFzc19yZWYgPC0+IGdfdHlwZV9jbGFzc19wZWVrX3BhcmVudCkKCjIwMDYtMDQtMDggMjE6MjE6NDUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEZpeCAjMzM3MzY1IChnX3R5cGVfY2xhc3NfcmVmIDwtPiBnX3R5cGVfY2xhc3NfcGVla19wYXJlbnQpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzogKGdzdF9hYXNpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2VzZC9lc2RzaW5rLmM6IChnc3RfZXNkc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6IChnc3RfZmxhY190YWdfY2xhc3NfaW5pdCk6CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6IChnc3RfZ2RrX3BpeGJ1Zl9jbGFzc19pbml0KToKCSAgKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6IChnc3RfanBlZ2VuY19jbGFzc19pbml0KToKCSAgKiBleHQvanBlZy9nc3RzbW9rZWRlYy5jOiAoZ3N0X3Ntb2tlZGVjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6IChnc3Rfc21va2VlbmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzogKGdzdF9jYWNhc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvbGlibW5nL2dzdG1uZ2RlYy5jOiAoZ3N0X21uZ2RlY19jbGFzc19pbml0KToKCSAgKiBleHQvbGlibW5nL2dzdG1uZ2VuYy5jOiAoZ3N0X21uZ2VuY19jbGFzc19pbml0KToKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAoZ3N0X3BuZ2RlY19jbGFzc19pbml0KToKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOiAoZ3N0X3BuZ2VuY19jbGFzc19pbml0KToKCSAgKiBleHQvbWlrbW9kL2dzdG1pa21vZC5jOiAoZ3N0X21pa21vZF9jbGFzc19pbml0KToKCSAgKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOiAoZ3N0X3Nob3V0MnNlbmRfY2xhc3NfaW5pdCk6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IChnc3Rfc3BlZXhlbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2FscGhhL2dzdGFscGhhLmM6IChnc3RfYWxwaGFfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmltdXhfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2RlYnVnL2VmZW5jZS5jOiAoZ3N0X2VmZW5jZV9jbGFzc19pbml0KToKCSAgKiBnc3QvZGVidWcvbmVnb3RpYXRpb24uYzogKGdzdF9uZWdvdGlhdGlvbl9jbGFzc19pbml0KToKCSAgKiBnc3QvZmx4L2dzdGZseGRlYy5jOiAoZ3N0X2ZseGRlY19jbGFzc19pbml0KToKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6IChnc3RfZ29vbV9jbGFzc19pbml0KToKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9jbGFzc19pbml0KToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGRlaW50ZXJsZWF2ZV9jbGFzc19pbml0KToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IChpbnRlcmxlYXZlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzogKGdzdF9hbGF3ZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzogKGdzdF9hbGF3ZW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6IChnc3RfbXVsYXdlbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L21lZGlhbi9nc3RtZWRpYW4uYzogKGdzdF9tZWRpYW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzogKGdzdF9tb25vc2NvcGVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogKGdzdF9tdWx0aXBhcnRfbXV4X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6IChnc3RfYXN0ZXJpc2toMjYzX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzogKGdzdF9ydHBfTDE2ZGVwYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzogKGdzdF9ydHBMMTZwYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOiAoZ3N0X3J0cF9hbXJfZGVwYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzogKGdzdF9ydHBfYW1yX3BheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGRlcGF5LmM6IChnc3RfcnRwX2RlcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzogKGdzdF9ydHBfZ3NtX2RlcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6IChnc3RfcnRwX2dzbV9wYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6IChnc3RfcnRwX2gyNjNfcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOiAoZ3N0X3J0cF9oMjYzcF9kZXBheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6IChnc3RfcnRwX2gyNjNwX3BheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzogKGdzdF9ydHBfbXA0Z19wYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzogKGdzdF9ydHBfbXA0dl9kZXBheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzogKGdzdF9ydHBfbXA0dl9wYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOiAoZ3N0X3J0cF9tcGFfZGVwYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzogKGdzdF9ydHBfbXBhX3BheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOiAoZ3N0X3J0cF9wY21hX2RlcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOiAoZ3N0X3J0cF9wY21hX3BheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOiAoZ3N0X3J0cF9wY211X2RlcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOiAoZ3N0X3J0cF9wY211X3BheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzogKGdzdF9ydHBfc3BlZXhfZGVwYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOiAoZ3N0X3J0cF9zcGVleF9wYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6IChnc3RfcnRwZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOiAoZ3N0X3NtcHRlX2NsYXNzX2luaXQpOgoJICAqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOiAoZ3N0X2R5bnVkcHNpbmtfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6IChnc3RfdWRwc2lua19jbGFzc19pbml0KToKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IChnc3RfdmlkZW9taXhlcl9jbGFzc19pbml0KToKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiAoZ3N0X3dhdmVuY19jbGFzc19pbml0KToKCSAgKiBzeXMvb3NzL2dzdG9zc2RtYWJ1ZmZlci5jOiAoZ3N0X29zc2RtYWJ1ZmZlcl9jbGFzc19pbml0KToKCSAgKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzogKGdzdF9vc3Nfc2lua19jbGFzc19pbml0KToKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9lbGVtZW50LmM6CgkgIChnc3Rfb3N4YXVkaW9lbGVtZW50X2NsYXNzX2luaXQpOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzogKGdzdF9vc3hhdWRpb3NpbmtfY2xhc3NfaW5pdCk6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6IChnc3Rfb3N4YXVkaW9zcmNfY2xhc3NfaW5pdCk6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOiAoZ3N0X3N1bmF1ZGlvc2lua19jbGFzc19pbml0KToKCSAgRml4ICMzMzczNjUgKGdfdHlwZV9jbGFzc19yZWYgPC0+IGdfdHlwZV9jbGFzc19wZWVrX3BhcmVudCkKCjIwMDYtMDQtMDggMTk6MDY6MjUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEZpeCBtb3JlIGJyb2tlbiBHT2JqZWN0IG1hY3JvcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbWlrbW9kL2dzdG1pa21vZC5oOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5oOgoJICBGaXggbW9yZSBicm9rZW4gR09iamVjdCBtYWNyb3MKCjIwMDYtMDQtMDggMTg6NDE6MDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEZpeCBicm9rZW4gR09iamVjdCBtYWNyb3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3hpbmUvZ3N0eGluZS5oOgoJICAqIGdzdC1saWJzL2dzdC9wbGF5L3BsYXkuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5oOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdldXRpbC5oOgoJICBGaXggYnJva2VuIEdPYmplY3QgbWFjcm9zCgoyMDA2LTA0LTA4IDE4OjI1OjU1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBGaXggYnJva2VuIEdPYmplY3QgbWFjcm9zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuaDoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmg6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbHRhZy5oOgoJICAqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5oOgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmg6CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5oOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmg6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvZWxlbWVudC5oOgoJICBGaXggYnJva2VuIEdPYmplY3QgbWFjcm9zCgoyMDA2LTA0LTA4IDE4OjIzOjA0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBEb24ndCBtYWtlIHJvdW5kaW5nIGVycm9ycyBpbiB0aW1lc3RhbXAvZHVyYXRpb24gY2FsY3VsYXRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9wcmVwYXJlX2N1cnJlbnRfc2FtcGxlKSwKCSAgKGdzdF9xdGRlbXV4X2NoYWluKSwgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLCAocXRkZW11eF9kdW1wX3N0c3opLAoJICAocXRkZW11eF9kdW1wX3N0Y28pLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgRG9uJ3QgbWFrZSByb3VuZGluZyBlcnJvcnMgaW4gdGltZXN0YW1wL2R1cmF0aW9uIGNhbGN1bGF0aW9ucy4KCSAgRml4IHRpbWVzdGFtcHMgZm9yIEFNUiBhbmQgSU1BNC4gIEZpeGVzICgjMzM3NDM2KS4KCSAgQ3JlYXRlIGEgZHVtbXkgc2VnbWVudCBldmVuIHdoZW4gdGhlcmUgaXMgbm8gZWRpdCBsaXN0LgoKMjAwNi0wNC0wOCAxMzowOTo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogRG9uJ3QgdHJ5IHRvIHNlZWsgYmV5b25kIHRoZSBlbmQgb2YgdGhlIGZpbGUgKHdvdWxkIG9jY2FzaW9uYWxseSBkaXNwbGF5IGVycm9yIGRpYWxvZ3MgaW4gdG90ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfaGFuZGxlX3NlZWtfZXZlbnQpOgoJICBEb24ndCB0cnkgdG8gc2VlayBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgZmlsZSAod291bGQKCSAgb2NjYXNpb25hbGx5IGRpc3BsYXkgZXJyb3IgZGlhbG9ncyBpbiB0b3RlbSB3aGVuIHNlZWtpbmcKCSAgdG8gdGhlIGVuZCkgKCMzMzU4NjkpLiBXaWxsIHN0aWxsIHRocm93IGFuIGVycm9yIHRob3VnaAoJICBpZiB0aGUgZmlsZSBpcyB0cnVuY2F0ZWQgYW5kIHRoZSB0b3RhbF9zYW1wbGVzIHZhbHVlIGluCgkgIHRoZSBzdHJlYW0gaGVhZGVyIGlzIHdyb25nLgoKMjAwNi0wNC0wNyAxODoxNTowOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuKjogSWYgdGhlIHN0cmVhbSBoZWFkZXIgZG9lc24ndCBjb250YWluIHRoZSB0b3RhbCBudW1iZXIgb2Ygc2FtcGxlcywgc2VhcmNoIGZvciB0aGUgbGFzdCBmbGFjIGZyYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19jYWxjdWxhdGVfY3JjOCksCgkgIChnc3RfZmxhY19kZWNfc2Nhbl9nb3RfZnJhbWUpLCAoZ3N0X2ZsYWNfZGVjX3NjYW5fZm9yX2xhc3RfYmxvY2spLAoJICAoZ3N0X2ZsYWNfZGVjX21ldGFkYXRhX2NhbGxiYWNrKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgIElmIHRoZSBzdHJlYW0gaGVhZGVyIGRvZXNuJ3QgY29udGFpbiB0aGUgdG90YWwgbnVtYmVyIG9mIHNhbXBsZXMsCgkgIHNlYXJjaCBmb3IgdGhlIGxhc3QgZmxhYyBmcmFtZSBhdCB0aGUgZW5kIG9mIHRoZSBmaWxlIGFuZCBjYWxjdWxhdGUKCSAgdGhlIHRvdGFsIGR1cmF0aW9uIGZyb20gdGhhdCBmcmFtZSdzIG9mZnNldCAoZml4ZXMgIzMzNzYwOSkuCgoyMDA2LTA0LTA3IDE1OjUzOjQzICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgVHlwbyBmaXgsIHMvWEZyZWU4Ni9YMTEgYW5kIGFkZGVkIGRvYyBibHVyYiBzYXlpbmcgdGhhdCBpdCBmaXhhdGVzIHRvIDI1ZnBzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA0LTA3ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogZXh0L2FtcndiL2FtcndiLWNvZGUvTWFrZWZpbGUuYW06CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2VzcmNfcmVjYWxjKSwKCSAgKGdzdF94aW1hZ2VzcmNfY3JlYXRlKSwgKGdzdF94aW1hZ2VzcmNfc2V0X3Byb3BlcnR5KToKCSAgVHlwbyBmaXgsIHMvWEZyZWU4Ni9YMTEgYW5kIGFkZGVkIGRvYyBibHVyYiBzYXlpbmcgdGhhdCBpdCBmaXhhdGVzIHRvCgkgIDI1ZnBzCgoyMDA2LTA0LTA3IDE1OjQ3OjI3ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgdGVzdHMvaWNsZXMveGltYWdlc3JjLXRlc3QuYzogQWN0dWFsbHkgYXNzZXJ0IHRoYXQgcGlwZWxpbmUgZ29lcyB0byBwbGF5aW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA0LTA3ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogdGVzdHMvaWNsZXMveGltYWdlc3JjLXRlc3QuYzogKG1haW4pOgoJICBBY3R1YWxseSBhc3NlcnQgdGhhdCBwaXBlbGluZSBnb2VzIHRvIHBsYXlpbmcKCjIwMDYtMDQtMDcgMTU6Mjc6NDAgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOiBGaXggdHlwbywgQysrIHN0eWxlIGNvbW1lbnRzIGFuZCBvdGhlciBzbWFsbCBjbGVhbnVwcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNC0wNyAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6IChnc3RfeGltYWdlc3JjX3JlY2FsYyksCgkgIChjb21wb3NpdGVfcGl4ZWwpLCAoZ3N0X3hpbWFnZXNyY194aW1hZ2VfZ2V0KSwKCSAgKGdzdF94aW1hZ2VzcmNfY3JlYXRlKSwgKGdzdF94aW1hZ2VzcmNfc2V0X3Byb3BlcnR5KToKCSAgRml4IHR5cG8sIEMrKyBzdHlsZSBjb21tZW50cyBhbmQgb3RoZXIgc21hbGwgY2xlYW51cHMKCjIwMDYtMDQtMDcgMTA6NDg6MTkgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IERvbid0IHVucmVmIHRoZSBHc3RQYWRUZW1wbGF0ZSByZXR1cm5lZCBieSBnc3RfZWxlbWVudF9jbGFzc19nZXRfcGFkX3RlbXBsYXRlKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKToKCSAgRG9uJ3QgdW5yZWYgdGhlIEdzdFBhZFRlbXBsYXRlIHJldHVybmVkIGJ5CgkgIGdzdF9lbGVtZW50X2NsYXNzX2dldF9wYWRfdGVtcGxhdGUoKS4KCjIwMDYtMDQtMDYgMTk6MTY6MDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZGVkIGZ1bGwgZWRpdCBsaXN0IHN1cHBvcnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2luaXQpLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChnc3RfcXRkZW11eF9maW5kX2luZGV4KSwKCSAgKGdzdF9xdGRlbXV4X2ZpbmRfa2V5ZnJhbWUpLCAoZ3N0X3F0ZGVtdXhfZmluZF9zZWdtZW50KSwKCSAgKGdzdF9xdGRlbXV4X21vdmVfc3RyZWFtKSwgKGdzdF9xdGRlbXV4X3BlcmZvcm1fc2VlayksCgkgIChnc3RfcXRkZW11eF9kb19zZWVrKSwgKGdzdF9xdGRlbXV4X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50KSwKCSAgKGdzdF9xdGRlbXV4X3ByZXBhcmVfY3VycmVudF9zYW1wbGUpLCAoZ3N0X3F0ZGVtdXhfYWR2YW5jZV9zYW1wbGUpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSksIChnc3RfcXRkZW11eF9sb29wKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIEFkZGVkIGZ1bGwgZWRpdCBsaXN0IHN1cHBvcnQuCgkgIEF2b2lkIG92ZXJmbG93cyBpbiBwcm9sb2d1ZSBpbWFnZSBkZXRlY3Rpb24gY29kZS4KCSAgQXZvaWQgcm91bmRvZmYgZXJyb3JzIGluIHRpbWVzdGFtcCBjYWxjdWxhdGlvbnMuCgoyMDA2LTA0LTA2IDExOjM1OjI2ICswMDAwICBqXiA8akBib290bGFiLm9yZz4KCgkgIFVuaWZ5IHRoZSBsb25nIGRlc2NyaXB0aW9ucyBpbiB0aGUgcGx1Z2luIGRldGFpbHMgKCMzMzcyNjMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IGpeICA8aiBhdCBib290bGFiIGRvdCBvcmc+CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzoKCSAgKiBleHQvYXJ0cy9nc3RfYXJ0cy5jOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuYzoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzoKCSAgKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuYzoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmM6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuYzogKGdzdF9kdHNkZWNfYmFzZV9pbml0KToKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19iYXNlX2luaXQpOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJICAqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkgICogZXh0L2hlcm1lcy9nc3RoZXJtZXNjb2xvcnNwYWNlLmM6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOgoJICAqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOgoJICAqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzoKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5jOiAoZ3N0X21tc19iYXNlX2luaXQpOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzogKGdzdF9tdXNpY2JyYWluel9iYXNlX2luaXQpOgoJICAqIGV4dC9uYXMvbmFzc2luay5jOiAoZ3N0X25hc3NpbmtfYmFzZV9pbml0KToKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICAqIGV4dC9wb2x5cC9wb2x5cHNpbmsuYzogKGdzdF9wb2x5cHNpbmtfYmFzZV9pbml0KToKCSAgKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkgICogZXh0L3Nob3V0L2dzdHNob3V0LmM6CgkgICogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuYzoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5jOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZW5jLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfYmFzZV9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2Jhc2VfaW5pdCk6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOiAoZ3N0X2NkeGFfcGFyc2VfYmFzZV9pbml0KToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5jOiAoZ3N0X2NkeGFzdHJpcF9iYXNlX2luaXQpOgoJICAqIGdzdC9jaGFydC9nc3RjaGFydC5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChnc3RfaWlyX2VxdWFsaXplcl9iYXNlX2luaXQpOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0aWlyLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6CgkgICogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSAgKiBnc3QvZ2FtZXMvZ3N0cHV6emxlLmM6IChnc3RfcHV6emxlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzoKCSAgKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzoKCSAgKiBnc3QvbXBlZzF2aWRlb3BhcnNlL2dzdG1wMXZpZGVvcGFyc2UuYzoKCSAgKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0LmM6CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuYzoKCSAgKiBnc3QvcGFzc3Rocm91Z2gvZ3N0cGFzc3Rocm91Z2guYzoKCSAgKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5jOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5jOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmM6CgkgICogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzoKCSAgKiBnc3QvdHRhL2dzdHR0YWRlYy5jOiAoZ3N0X3R0YV9kZWNfYmFzZV9pbml0KToKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6IChnc3RfdHRhX3BhcnNlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5jOgoJICAqIGdzdC92aXJ0dWFsZHViL2dzdHhzaGFycGVuLmM6CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOiAoZ3N0X3hpbmdfbXV4X2Jhc2VfaW5pdCk6CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgVW5pZnkgdGhlIGxvbmcgZGVzY3JpcHRpb25zIGluIHRoZSBwbHVnaW4gZGV0YWlscyAoIzMzNzI2MykuCgoyMDA2LTA0LTA2IDA5OjE0OjMwICswMDAwICBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgoJICBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLio6IFVzZSBzcGVjLT5zZWdzaXplIGFuZCBzcGVjLT5zZWd0b3RhbCBpbiB0aGUgcHJlcGFyZSBmdW5jdGlvbiB0byBpbml0aWFsaXNlIHRoZSByaW5nIGIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBCcmlhbiBDYW1lcm9uICA8YnJpYW4gZG90IGNhbWVyb24gYXQgc3VuIGRvdCBjb20+CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOiAoZ3N0X3N1bmF1ZGlvc2lua19pbml0KSwKCSAgKGdzdF9zdW5hdWRpb3NpbmtfcHJlcGFyZSksIChnc3Rfc3VuYXVkaW9zaW5rX3dyaXRlKToKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmg6CgkgIFVzZSBzcGVjLT5zZWdzaXplIGFuZCBzcGVjLT5zZWd0b3RhbCBpbiB0aGUgcHJlcGFyZSBmdW5jdGlvbgoJICB0byBpbml0aWFsaXNlIHRoZSByaW5nIGJ1ZmZlciBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBidWZmZXItdGltZQoJICBwcm9wZXJ0eSAoIzMzNzQyMSkuCgoyMDA2LTA0LTA2IDA4OjUyOjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBCdW1wIGNvcmUgcmVxdWlyZW1lbnRzIHRvIENWUyBmb3IgZ3N0X3BhZF9xdWVyeV9wZWVyX2R1cmF0aW9uKCkgd2hpY2ggaXMgdXNlZCBieSBzcGVleGRlYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCdW1wIGNvcmUgcmVxdWlyZW1lbnRzIHRvIENWUyBmb3IgZ3N0X3BhZF9xdWVyeV9wZWVyX2R1cmF0aW9uKCkKCSAgd2hpY2ggaXMgdXNlZCBieSBzcGVleGRlYy4KCjIwMDYtMDQtMDUgMTg6Mjc6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvc3BlZXgvOiBGaXggc2Vla2luZyBhbmQgZHVyYXRpb24gcXVlcmllcyAoIzMzNzAzMyk7IGNsZWFuIHVwIGFuZCByZWZhY3RvciBhIGJpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4LmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IChnc3Rfc3BlZXhfZGVjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NwZWV4X2RlY19yZXNldCksIChnc3Rfc3BlZXhfZGVjX2luaXQpLCAoc3BlZXhfZGVjX2NvbnZlcnQpLAoJICAoc3BlZXhfZ2V0X3NpbmtfcXVlcnlfdHlwZXMpLCAoc3BlZXhfZGVjX3NpbmtfcXVlcnkpLAoJICAoc3BlZXhfZ2V0X3NyY19xdWVyeV90eXBlcyksIChzcGVleF9kZWNfc3JjX3F1ZXJ5KSwKCSAgKHNwZWV4X2RlY19zcmNfZXZlbnQpLCAoc3BlZXhfZGVjX3NpbmtfZXZlbnQpLAoJICAoc3BlZXhfZGVjX2NoYWluX3BhcnNlX2hlYWRlciksIChzcGVleF9kZWNfY2hhaW5fcGFyc2VfY29tbWVudHMpLAoJICAoc3BlZXhfZGVjX2NoYWluX3BhcnNlX2RhdGEpLCAoc3BlZXhfZGVjX2NoYWluKSwKCSAgKGdzdF9zcGVleF9kZWNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9zcGVleF9kZWNfc2V0X3Byb3BlcnR5KSwKCSAgKHNwZWV4X2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5oOgoJICBGaXggc2Vla2luZyBhbmQgZHVyYXRpb24gcXVlcmllcyAoIzMzNzAzMyk7IGNsZWFuIHVwIGFuZAoJICByZWZhY3RvciBhIGJpdC4KCjIwMDYtMDQtMDUgMTI6NDE6MTQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IGRpc3Rpbmd1aXNoIGJldHdlZW4gZGV2aWNlIG5vdCBmb3VuZCBhbmQgY291bGQgbm90IG9wZW4gZm9yIHJlYWRpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkgIGRpc3Rpbmd1aXNoIGJldHdlZW4gZGV2aWNlIG5vdCBmb3VuZCBhbmQgY291bGQgbm90IG9wZW4gZm9yCgkgIHJlYWRpbmcKCjIwMDYtMDQtMDUgMDg6MzY6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFVzZSBkdXJhdGlvbiBhcyBzZWdtZW50IHN0b3AgcG9zaXRpb24gaWYgbm9uZSBpcyBleHBsaWNpdGx5IGNvbmZpZ3VyZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X3BlcmZvcm1fc2VlayksCgkgIChnc3RfcXRkZW11eF9kb19zZWVrKSwgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcCk6CgkgIFVzZSBkdXJhdGlvbiBhcyBzZWdtZW50IHN0b3AgcG9zaXRpb24gaWYgbm9uZSBpcwoJICBleHBsaWNpdGx5IGNvbmZpZ3VyZWQuCgkgIEFsc28gcGVyZm9ybSBFT1Mgd2hlbiB3ZSBydW4gcGFzdCB0aGUgc2VnbWVudCBzdG9wLgoKMjAwNi0wNC0wNCAxMToyMDo1OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogTW9yZSBjbGVhbnVwcywgYWRkZWQgY29tbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2dvX2JhY2spLAoJICAoZ3N0X3F0ZGVtdXhfcGVyZm9ybV9zZWVrKSwgKGdzdF9xdGRlbXV4X2RvX3NlZWspLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSksIChnc3RfcXRkZW11eF9sb29wKSwKCSAgKGdzdF9xdGRlbXV4X2NoYWluKSwgKHF0ZGVtdXhfcGFyc2VfdHJlZSksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBNb3JlIGNsZWFudXBzLCBhZGRlZCBjb21tZW50cy4KCSAgTWFyayBkaXNjb250aW51aXRpZXMgb24gb3V0Z29pbmcgYnVmZmVycy4KCSAgUG9zdCBiZXR0ZXIgZXJyb3JzIHdoZW4gc29tZXRoaW5nIGdvZXMgd3JvbmcuCgkgIEhhbmRsZSBFT1MgYW5kIHNlZ21lbnQgZW5kIHByb3Blcmx5LgoKMjAwNi0wNC0wNCAwODozMToxMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguKjogSGFuZGxlIHN0c3MgYm94ZXMgc28gd2UgY2FuIG1hcmsgYW5kIGZpbmQga2V5ZnJhbWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9pbml0KSwKCSAgKGdzdF9xdGRlbXV4X3B1c2hfZXZlbnQpLCAoZ3N0X3F0ZGVtdXhfZ29fYmFjayksCgkgIChnc3RfcXRkZW11eF9wZXJmb3JtX3NlZWspLCAoZ3N0X3F0ZGVtdXhfZG9fc2VlayksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX2V2ZW50KSwgKHBsdWdpbl9pbml0KSwKCSAgKGdzdF9xdGRlbXV4X2NoYW5nZV9zdGF0ZSksIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3ApLCAoZ3N0X3F0ZGVtdXhfY2hhaW4pLAoJICAocXRkZW11eF9zaW5rX2FjdGl2YXRlX3B1bGwpLCAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksCgkgIChxdGRlbXV4X3BhcnNlKSwgKHF0ZGVtdXhfcGFyc2VfdHJlZSksIChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF9wYXJzZV91ZHRhKSwgKHF0ZGVtdXhfdGFnX2FkZF9zdHIpLCAocXRkZW11eF90YWdfYWRkX251bSksCgkgIChxdGRlbXV4X3RhZ19hZGRfZ25yZSksIChnc3RfcXRkZW11eF9oYW5kbGVfZXNkcyk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBIYW5kbGUgc3RzcyBib3hlcyBzbyB3ZSBjYW4gbWFyayBhbmQgZmluZCBrZXlmcmFtZXMuCgkgIEltcGxlbWVudCBjb3JyZWN0IGFjY3VyYXRlIGFuZCBrZXlmcmFtZSBzZWVraW5nLgoJICBVc2UgX0RFQlVHX09CSkVDVCB3aGVuIHBvc3NpYmxlLgoKMjAwNi0wNC0wMyAxMzoyOToyMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICBpZ25vcmUgbW9yZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgaWdub3JlIG1vcmUKCjIwMDYtMDQtMDMgMTM6Mjg6NTUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogcGtnY29uZmlnL01ha2VmaWxlLmFtOgoJICBmaXggZGlzdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGRpc3QKCjIwMDYtMDQtMDMgMDk6MDI6MjkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgYWRkIGEgLnBjIGZpbGUgc28gb3RoZXIgbW9kdWxlcyBjYW4gdXNlIGdvb2QgcGx1Z2lucyBpbiB0ZXN0cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBNYWtlZmlsZS5hbToKCSAgKiBjb25maWd1cmUuYWM6CgkgICogcGtnY29uZmlnLy5jdnNpZ25vcmU6CgkgICogcGtnY29uZmlnL01ha2VmaWxlLmFtOgoJICAqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGx1Z2lucy1nb29kLXVuaW5zdGFsbGVkLnBjLmluOgoJICBhZGQgYSAucGMgZmlsZSBzbyBvdGhlciBtb2R1bGVzIGNhbiB1c2UgZ29vZCBwbHVnaW5zIGluIHRlc3RzCgoyMDA2LTA0LTAxIDE2OjUwOjQ5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbW1vbjoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzdjJtdXguYzoKCSAgYWRkIHRhZ2xpYiBjaGVja3MgYW5kIGRvY3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCB0YWdsaWIgY2hlY2tzIGFuZCBkb2NzCgoyMDA2LTA0LTAxIDE1OjMwOjUxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvdXBsb2FkLm1hazoKCSAgZGlzYWJsZSB1c2Ugb2YgQVNfTElCVE9PTF9UQUdTLCBpdCBkb2Vzbid0IHdvcmsgY29ycmVjdGx5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkaXNhYmxlIHVzZSBvZiBBU19MSUJUT09MX1RBR1MsIGl0IGRvZXNuJ3Qgd29yayBjb3JyZWN0bHkKCjIwMDYtMDQtMDEgMTQ6MDM6MDMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29tbW9uOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Rpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgYWRkaW5nIGluc3BlY3QgZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZGluZyBpbnNwZWN0IGZpbGVzCgoyMDA2LTA0LTAxIDEwOjE1OjMzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHRlc3RzL2ljbGVzL3hpbWFnZXNyYy10ZXN0LmM6CgkgIDUgc2Vjb25kIHRpbWVvdXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDUgc2Vjb25kIHRpbWVvdXQKCjIwMDYtMDQtMDEgMTA6MTQ6MjYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogdGVzdHMvaWNsZXMvLmdpdGlnbm9yZToKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL3hpbWFnZXNyYy10ZXN0LmM6CgkgIHJlbmFtZSB0ZXN0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW5hbWUgdGVzdAoKMjAwNi0wNC0wMSAxMDowOToxMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3cGx1Z2luLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHBsdWdpbi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIHJld29yayBidWlsZDsgYWRkIHRyYW5zbGF0aW9ucyBmb3IgdjRsMgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV3b3JrIGJ1aWxkOyBhZGQgdHJhbnNsYXRpb25zIGZvciB2NGwyCgoyMDA2LTA0LTAxIDA5OjU2OjQ1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogY2xlYW4gdXAsIHVzZSBBU19WRVJTSU9OIGFuZCBBU19OQU5PCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgY2xlYW4gdXAsIHVzZSBBU19WRVJTSU9OIGFuZCBBU19OQU5PCgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9zdGFydCk6CgkgIHVzZSBQQUNLQUdFX1ZFUlNJT04gZGVmaW5lCgkgICogcG8vYWYucG86CgkgICogcG8vYXoucG86CgkgICogcG8vY3MucG86CgkgICogcG8vZW5fR0IucG86CgkgICogcG8vaHUucG86CgkgICogcG8vaXQucG86CgkgICogcG8vbmIucG86CgkgICogcG8vbmwucG86CgkgICogcG8vb3IucG86CgkgICogcG8vc3EucG86CgkgICogcG8vc3IucG86CgkgICogcG8vc3YucG86CgkgICogcG8vdWsucG86CgkgICogcG8vdmkucG86CgkgIHVwZGF0ZWQKCjIwMDYtMDMtMzEgMTc6NTI6MzYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBBZGQgdGVzdHMgYW5kIGZpeCBQQVIgY2FwcyBpc3N1ZSB0byB4aW1hZ2VzcmMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDMtMzEgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBNYWtlZmlsZS5hbToKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzoKCSAgKGdzdF94aW1hZ2VzcmNfeGltYWdlX2dldCksCgkgIChnc3RfeGltYWdlc3JjX2dldF9jYXBzKSwgKGdzdF94aW1hZ2VzcmNfY2xhc3NfaW5pdCk6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2V1dGlsLmM6CgkgICogdGVzdHMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvaWNsZXMveGltYWdlc3JjLXRlc3QuYzogKHRlcm1pbmF0ZV9wbGF5YmFjayksIChtYWluKToKCSAgQWRkIHRlc3RzIGFuZCBmaXggUEFSIGNhcHMgaXNzdWUgdG8geGltYWdlc3JjCgoyMDA2LTAzLTMxIDE2OjMyOjQ3ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzogQWRkIGRvY3MgdG8geGltYWdlc3JjCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAzLTMxICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzoKCSAgQWRkIGRvY3MgdG8geGltYWdlc3JjCgoyMDA2LTAzLTMxIDE1OjIxOjM1ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL3hpbWFnZXNyYy86IEZpeCB4aW1hZ2VzcmMgc28gYSkgdGhlIGN1cnNvciBkb2VzbnQgdHJhaWwgYW5kIGIpIHRoZXJlIGFyZSBubyB5ZWxsb3cgcmVjdGFuZ2xlcyB3aXRoIHRoZSBjdXJzb3IKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDMtMzEgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOiAoY29tcG9zaXRlX3BpeGVsKSwKCSAgKGdzdF94aW1hZ2VzcmNfeGltYWdlX2dldCksIChnc3RfeGltYWdlc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfeGltYWdlc3JjX2dldF9jYXBzKSwgKGdzdF94aW1hZ2VzcmNfY2xhc3NfaW5pdCk6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuaDoKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXV0aWwuYzogKHhpbWFnZXV0aWxfeGNvbnRleHRfZ2V0KToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXV0aWwuaDoKCSAgRml4IHhpbWFnZXNyYyBzbyBhKSB0aGUgY3Vyc29yIGRvZXNudCB0cmFpbCBhbmQgYikgdGhlcmUgYXJlIG5vCgkgIHllbGxvdyByZWN0YW5nbGVzIHdpdGggdGhlIGN1cnNvcgoKMjAwNi0wMy0zMCAyMzo0Njo0MiArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2dvb2QuZHN3OgoJKiB3aW4zMi92czYvbGliZ3N0YWxhdy5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RhbHBoYS5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RhbHBoYWNvbG9yLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGFwZXRhZy5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RhdXBhcnNlLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGF1dG9kZXRlY3QuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0YXZpLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGN1dHRlci5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RlZmZlY3R2LmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGZseC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3Rnb29tLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGlkM2RlbXV4LmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGludGVybGVhdmUuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0anBlZy5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RsZXZlbC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RtYXRyb3NrYS5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RtZWRpYW4uZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0bW9ub3Njb3BlLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdG11bGF3LmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdG11bHRpcGFydC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RydHAuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0cnRzcC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RzbXB0ZS5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RzcGVleC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb2JhbGFuY2UuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0dmlkZW9ib3guZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0dmlkZW9mbGlwLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdHZpZGVvbWl4ZXIuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0d2F2ZW5jLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdHdhdnBhcnNlLmRzcDoKCSAgSSdtIHRvbyBsYXp5IHRvIGNvbW1lbnQgdGhpcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKioqIGVtcHR5IGxvZyBtZXNzYWdlICoqKgoKMjAwNi0wMy0zMCAyMzozNzoxNiArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgZXh0XGpwZWdcc21va2Vjb2RlYy5jOiB1c2Ugb2YgR1NUX0RFQlVHIGluc3RlYWQgb2YgREVCVUcoYS4uLikgZm9yIFdJTjMyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dFxqcGVnXHNtb2tlY29kZWMuYzoKCSAgdXNlIG9mIEdTVF9ERUJVRyBpbnN0ZWFkIG9mIERFQlVHKGEuLi4pIGZvciBXSU4zMgoJICAqIGV4dFxzcGVleFxnc3RzcGVleGVuYy5jOiAoZ3N0X3NwZWV4ZW5jX3NldF9oZWFkZXJfb25fY2Fwcyk6CgkgIG1vdmUgZmlyc3QgaW5zdHJ1Y3Rpb24gYWZ0ZXIgYWxsIHZhcmlhYmxlcyBkZWNsYXJhdGlvbnMKCSAgKiBnc3RcYWxwaGFcZ3N0YWxwaGEuYzoKCSAgKiBnc3RcZWZmZWN0dlxnc3RzaGFnYWRlbGljLmM6CgkgICogZ3N0XHNtcHRlXHBhaW50LmM6CgkgICogZ3N0XHZpZGVvZmlsdGVyXGdzdHZpZGVvYmFsYW5jZS5jOgoJICBkZWZpbmUgTV9QSSBpZiBpdCdzIG5vdCBkZWZpbmVkIChpdCdzIG5vdCBkZWZpbmVkIG9uIFdJTjMyKQoJICAqIGdzdFxjdXR0ZXJcZ3N0Y3V0dGVyLmM6IChnc3RfY3V0dGVyX2NoYWluKToKCSAgKiBnc3RcaWQzZGVtdXhcaWQzdjJmcmFtZXMuYzogKHBhcnNlX3JlbGF0aXZlX3ZvbHVtZV9hZGp1c3RtZW50X3R3byk6CgkgICogZ3N0XGxldmVsXGdzdGxldmVsLmM6IChnc3RfbGV2ZWxfc2V0X3Byb3BlcnR5KSwgKGdzdF9sZXZlbF90cmFuc2Zvcm1faXApOgoJICAqIGdzdFxtYXRyb3NrYVxtYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZm8pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3ZpZGVvX2NhcHMpOgoJICAqIGdzdFxtYXRyb3NrYVxtYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfc3RhcnQpLCAoZ3N0X21hdHJvc2thX211eF9maW5pc2gpOgoJICAqIGdzdFx3YXZwYXJzZVxnc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKToKCSAgdXNlIGdzdF9ndWludDY0X3RvX2dkb3VibGUgZm9yIGNvbnZlcnNpb25zCgkgICogZ3N0XGdvb21cZmlsdGVycy5jOiAoc2V0UGl4ZWxSR0JfKToKCSAgZml4IGEgZGVidWcgd2hpY2ggd2FzIHVzaW5nIHVuZGVmaW5lZCB2YXJpYWJsZQoJICAqIGdzdFxsZXZlbFxnc3RsZXZlbC5jOiAoZ3N0X2xldmVsX3NldF9jYXBzKSwgKGdzdF9sZXZlbF90cmFuc2Zvcm1faXApOgoJICAqIGdzdFxtYXRyb3NrYVxlYm1sLXJlYWQuYzogKGdzdF9lYm1sX3JlYWRfc2ludCk6CgkgIHJlcGxhY2UgTEwgc3VmZml4IHdpdGggTCBzdWZmaXggKExMIGlzbid0IHN1cHBvcnRlZCBieSBNU1ZDNi4wKQoJICAqIHdpbjMyL3ZzNjoKCSAgYWRkIHZzNiBwcm9qZWN0cyBmaWxlcyBmb3IgbW9zdCBvZiBwbHVnaW5zLWdvb2QKCjIwMDYtMDMtMzAgMTU6Mzc6MDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBiZXR0ZXIvdW5pZmllZCBsb25nIGRlc2NyaXB0aW9ucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzoKCSAgKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSAgKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuYzoKCSAgKiBleHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5jOgoJICAqIGV4dC9kdi9nc3RkdmRlYy5jOgoJICAqIGV4dC9lc2QvZXNkbW9uLmM6CgkgICogZXh0L2VzZC9lc2RzaW5rLmM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmM6IChnc3RfZ2NvbmZfYXVkaW9fc2lua19iYXNlX2luaXQpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc3JjLmM6IChnc3RfZ2NvbmZfYXVkaW9fc3JjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmM6IChnc3RfZ2NvbmZfdmlkZW9fc2lua19iYXNlX2luaXQpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc3JjLmM6IChnc3RfZ2NvbmZfdmlkZW9fc3JjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkgICogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzoKCSAgKiBleHQvaGFsL2dzdGhhbGF1ZGlvc2luay5jOiAoZ3N0X2hhbF9hdWRpb19zaW5rX2Jhc2VfaW5pdCk6CgkgICogZXh0L2hhbC9nc3RoYWxhdWRpb3NyYy5jOiAoZ3N0X2hhbF9hdWRpb19zcmNfYmFzZV9pbml0KToKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZGVjLmM6CgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzoKCSAgKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOgoJICAqIGV4dC9saWJtbmcvZ3N0bW5nZGVjLmM6CgkgICogZXh0L2xpYm1uZy9nc3RtbmdlbmMuYzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkgICogZXh0L21pa21vZC9nc3RtaWttb2QuYzoKCSAgKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSAgKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSAgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfYmFzZV9pbml0KToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkgIChnc3RfYXV0b192aWRlb19zaW5rX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmltdXhfYmFzZV9pbml0KToKCSAgKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJICAqIGdzdC9kZWJ1Zy9icmVha215ZGF0YS5jOgoJICAqIGdzdC9kZWJ1Zy9lZmVuY2UuYzoKCSAgKiBnc3QvZGVidWcvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSAgKiBnc3QvZGVidWcvbmVnb3RpYXRpb24uYzoKCSAgKiBnc3QvZGVidWcvcHJvZ3Jlc3NyZXBvcnQuYzoKCSAgKiBnc3QvZGVidWcvdGVzdHBsdWdpbi5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSAgKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdHJldi5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSAgKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkgICogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICAqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzogKGdzdF9hbGF3ZGVjX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOiAoZ3N0X2FsYXdlbmNfYmFzZV9pbml0KToKCSAgKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOiAoZ3N0X211bGF3ZGVjX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzogKGdzdF9tdWxhd2VuY19iYXNlX2luaXQpOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X2Jhc2VfaW5pdCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9iYXNlX2luaXQpOgoJICAqIGdzdC9tZWRpYW4vZ3N0bWVkaWFuLmM6CgkgICogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSAgKiBnc3Qvb2xkY29yZS9nc3RtZDVzaW5rLmM6CgkgICogZ3N0L29sZGNvcmUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgICogZ3N0L29sZGNvcmUvZ3N0cGlwZWZpbHRlci5jOgoJICAqIGdzdC9vbGRjb3JlL2dzdHNoYXBlci5jOgoJICAqIGdzdC9vbGRjb3JlL2dzdHN0YXRpc3RpY3MuYzoKCSAgKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6IChnc3RfZ2FtbWFfYmFzZV9pbml0KToKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb3RlbXBsYXRlLmM6CgkgIChnc3RfdmlkZW90ZW1wbGF0ZV9iYXNlX2luaXQpOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2Jhc2VfaW5pdCk6CgkgIGJldHRlci91bmlmaWVkIGxvbmcgZGVzY3JpcHRpb25zCgkgIEZpeGVkICMzMzY2MDIKCSAgU29tZSBjbGVhbnVwcyB0byBhdXBhcnNlLCBkb24ndCBzZW5kIG11bHRpcGxlIG5ld3NlZ21lbnRzLgoKMjAwNi0wMy0yOSAxNjowNjo1MCArMDAwMCAgTWljaGFlbCBEb21pbmljIEsgPG1ka0BtZGsub3JnLnBsPgoKCSAgZXh0L2R2L2dzdGR2ZGVtdXguKjogU2VlayBpbiBSRUFEWSBwYXRjaC4gT25seSB3b3JrcyBmb3IgcHVsbCBiYXNlZCBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRnJvbSBhIHBhdGNoIGJ5OiBNaWNoYWVsIERvbWluaWMgSy4gPG1kayBhdCBtZGsgZG90IG9yZyBkb3QgcGw+CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X2R2ZGVtdXhfcmVzZXQpLCAoZ3N0X2R2ZGVtdXhfc3JjX2NvbnZlcnQpLAoJICAoZ3N0X2R2ZGVtdXhfc2VuZF9ldmVudCksIChnc3RfZHZkZW11eF9mbHVzaCksIChnc3RfZHZkZW11eF9sb29wKSwKCSAgKGdzdF9kdmRlbXV4X3NpbmtfYWN0aXZhdGVfcHVsbCksIChnc3RfZHZkZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4Lmg6CgkgIFNlZWsgaW4gUkVBRFkgcGF0Y2guIE9ubHkgd29ya3MgZm9yIHB1bGwgYmFzZWQgbW9kZS4KCSAgRml4ZXMgIzMyMzg4MAoKMjAwNi0wMy0yNyAxNzowNjo0NSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBTbWFsbCBmaXgsIG5vdyBwd2MgZHJpdmVyIGNhbiB0ZWxsIGFib3V0IGl0cyBidWZmZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU21hbGwgZml4LCBub3cgcHdjIGRyaXZlciBjYW4gdGVsbCBhYm91dCBpdHMgYnVmZmVycy4KCjIwMDYtMDMtMjcgMTQ6MDk6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzogRml4IHR3byBjcmFzaGVyczogZG9uJ3QgdW5yZWYgdGhlIHNhbWUgY2FwcyB0d2ljZSwgYW5kIHNldCBwaXhidWYgbG9hZGVyIHRvIE5VTEwgYWZ0ZXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6IChnc3RfZ2RrX3BpeGJ1Zl9mbHVzaCksCgkgIChnc3RfZ2RrX3BpeGJ1Zl9ldmVudCk6CgkgIEZpeCB0d28gY3Jhc2hlcnM6IGRvbid0IHVucmVmIHRoZSBzYW1lIGNhcHMgdHdpY2UsIGFuZAoJICBzZXQgcGl4YnVmIGxvYWRlciB0byBOVUxMIGFmdGVyIGZyZWVpbmcgaXQuCgoyMDA2LTAzLTI3IDE0OjAwOjAyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLio6IERvbid0IGxlYWsgYWRhcHRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IChnc3Rfc3BlZXhlbmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc3BlZXhlbmNfZmluYWxpemUpLCAoZ3N0X3NwZWV4ZW5jX3Npbmtfc2V0Y2FwcyksCgkgIChnc3Rfc3BlZXhlbmNfY2hhaW4pOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5oOgoJICBEb24ndCBsZWFrIGFkYXB0ZXIuCgkgIEEgcHVzaCAqYWx3YXlzKiB0YWtlcyBvd25lcnNoaXAgb2YgdGhlIGJ1ZmZlciwgZXZlbiBvbgoJICBlcnJvcnMuCgkgIFNtYWxsIGNsZWFudXBzLgoKMjAwNi0wMy0yNiAxOTo1NjozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvZ3N0dGFnbGliLio6IEZpeCBuZXdzZWdtZW50IGV2ZW50IGhhbmRsaW5nIGEgYml0LiBXZSBuZWVkIHRvIGNhY2hlIHRoZSBmaXJzdCBuZXdzZWdtZW50IGV2ZW50LCBiZWNhdXNlIHdlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5oOgoJICBGaXggbmV3c2VnbWVudCBldmVudCBoYW5kbGluZyBhIGJpdC4gV2UgbmVlZCB0bwoJICBjYWNoZSB0aGUgZmlyc3QgbmV3c2VnbWVudCBldmVudCwgYmVjYXVzZSB3ZSBjYW4ndAoJICBhZGp1c3Qgb2Zmc2V0cyB5ZXQgd2hlbiB3ZSBnZXQgaXQsIGFzIHdlIGRvbid0CgkgIGtub3cgdGhlIHNpemUgb2YgdGhlIHRhZyB5ZXQgZm9yIHN1cmUgYXQgdGhhdCBwb2ludC4KCSAgQWxzbyBkbyBzb21lIG1pbm9yIGNsZWFuaW5nIHVwIGhlcmUgYW5kIHRoZXJlIGFuZCBhZGQKCSAgc29tZSBkZWJ1ZyBzdGF0ZW1lbnRzLgoKMjAwNi0wMy0yNiAxMjoyNDo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiBDcmVhdGUgc291cmNlIHBhZCB3aXRob3V0IGxlYWtpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X2FkZF9zcmNwYWQpOgoJICBDcmVhdGUgc291cmNlIHBhZCB3aXRob3V0IGxlYWtpbmcuCgoyMDA2LTAzLTI1IDIxOjU3OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6IFdlIGRvIG5vdCB3YW50IHRvIHByb3h5IHRoZSBjYXBzIG9uIHRoZSBzaW5rIHBhZDsgb3VyIHNvdXJjZSBwYWQgc2hvdWxkIGhhdmUgYXBwbGljYXRpb24veC1pLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOgoJICBXZSBkbyBub3Qgd2FudCB0byBwcm94eSB0aGUgY2FwcyBvbiB0aGUgc2luayBwYWQ7IG91cgoJICBzb3VyY2UgcGFkIHNob3VsZCBoYXZlIGFwcGxpY2F0aW9uL3gtaWQzIGNhcHM7IGFsc28sCgkgIGRvbid0IHVzZSBhbHJlYWR5LWZyZWVkIHN0cmluZ3MgaW4gZGVidWcgbWVzc2FnZXM7CgkgIGZpbmFsbHksIGFkanVzdCBidWZmZXIgb2Zmc2V0cyBvbiBidWZmZXJzIHNlbnQgb3V0LgoKMjAwNi0wMy0yNSAxMzowMjo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogT2xkZXIga2VybmVscyBkb24ndCBzZWVtIHRvIGhhdmUgdGhpcyBwYXJ0aWN1bGFyIHY0bDIgZm9ybWF0LCBzbyBjb21tZW50IG91dCB1bnRpbCB0aGlzIGdldHMgZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIE9sZGVyIGtlcm5lbHMgZG9uJ3Qgc2VlbSB0byBoYXZlIHRoaXMgcGFydGljdWxhciB2NGwyIGZvcm1hdCwKCSAgc28gY29tbWVudCBvdXQgdW50aWwgdGhpcyBnZXRzIGZpeGVkIHByb3Blcmx5IChhbmQgbWFrZQoJICBidWlsZGJvdHMgaGFwcHkpLgoKMjAwNi0wMy0yNSAwNTozMToyOCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogY29tbW9uOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICBKdXN0IG1ha2UgZmV3IHRoaW5ncyBtb3JlIHJvYnVzdCBhbmQgYWxzbyBzb21lIGlkZW50YXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBKdXN0IG1ha2UgZmV3IHRoaW5ncyBtb3JlIHJvYnVzdCBhbmQgYWxzbyBzb21lIGlkZW50YXRpb24uCgoyMDA2LTAzLTI0IDE5OjQxOjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2ZsYWMvOiBTcGlmaWZ5IGEgYml0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfaGFuZGxlX3NlZWtfZXZlbnQpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmg6CgkgIFNwaWZpZnkgYSBiaXQuCgkgIEZpeCBkZWFkbHkgbG9jayBvcmRlciBlcnJvciBpbiBzZWVraW5nIGNvZGUsIFNUUkVBTV9MT0NLCgkgIGNhbm5vdCBiZSB0YWtlbiB3aXRoaW4gTE9DSyBhbmQgdGhlIHN0cmVhbWluZyB2YXJpYWJsZXMgYXJlCgkgIHByb3RlY3RlZCB3aXRoIHRoZSBTVFJFQU1fTE9DSyBhbnl3YXkuCgoyMDA2LTAzLTI0IDE4OjU2OjE2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiB0aGlzIHBhdGNoIGNvbWJpbmVzIHRoZSBnbG9iYWwgaW5pdF9mcmFtZXMgd2l0aCB0aGUgc3RyZWFtIGluaXRfZnJhbWVzLiBSYXRpb25hbGUgYmVpbmcgdGhhdCB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcGFyc2VfaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fc2NhbiksCgkgIChnc3RfYXZpX2RlbXV4X21hc3NhZ2VfaW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc2Vlayk6CgkgIHRoaXMgcGF0Y2ggY29tYmluZXMgdGhlIGdsb2JhbCBpbml0X2ZyYW1lcyB3aXRoIHRoZSBzdHJlYW0KCSAgaW5pdF9mcmFtZXMuIFJhdGlvbmFsZSBiZWluZyB0aGF0IHRoZSBnbG9iYWwgZGVsYXkgc2hvdWxkCgkgIGJlIHN1YnRyYWN0ZWQgZnJvbSBhbnkgc3RyZWFtIGRlbGF5LgoJICBGaXhlcyAjMzM1ODU4LgoKMjAwNi0wMy0yNCAxNzoxMTo1NiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0LzogdXNlIERFQlVHX0ZVTkNQVFIgZm9yIGNvbGxlY3RwYWRzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfaW5pdCk6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogKGdzdF9tdWx0aXBhcnRfbXV4X2luaXQpOgoJICAqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOiAoZ3N0X3NtcHRlX2luaXQpOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogKGdzdF92aWRlb21peGVyX2luaXQpOgoJICB1c2UgREVCVUdfRlVOQ1BUUiBmb3IgY29sbGVjdHBhZHMKCjIwMDYtMDMtMjQgMDk6NTQ6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvanBlZy9nc3RqcGVnZW5jLmM6IERvbid0IGNyYXNoIHdoZW4gZW5jb2RpbmcgaW1hZ2VzIHdoZXJlIHRoZSBudW1iZXIgb2Ygcm93cyBpc24ndCBhIG11bHRpcGxlIG9mIDIqRENUU0laRS4gQWRkIHMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOiAoZ3N0X2pwZWdlbmNfaW5pdCksIChnc3RfanBlZ2VuY19jaGFpbik6CgkgIERvbid0IGNyYXNoIHdoZW4gZW5jb2RpbmcgaW1hZ2VzIHdoZXJlIHRoZSBudW1iZXIgb2Ygcm93cyBpc24ndAoJICBhIG11bHRpcGxlIG9mIDIqRENUU0laRS4gQWRkIHNvbWUgR1NUX0RFQlVHX0ZVTkNQVFIuCgoyMDA2LTAzLTIzIDIxOjI4OjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgTW9yZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gZml4ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiAoc3BlZXhfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChkZWludGVybGVhdmVfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IChpbnRlcmxlYXZlX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogKGdzdF93YXZlbmNfY2hhbmdlX3N0YXRlKToKCSAgTW9yZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gZml4ZXMuCgoyMDA2LTAzLTIzIDIwOjEyOjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2VzZC9lc2RzaW5rLio6IEZpeCBlc2QgY2hvcHB5IHBsYXliYWNrIGJ5IGNvbmZpZ3VyaW5nIGF1ZGlvc2luayBjb3JyZWN0bHkuIEZpeGVzICMzMjUxOTEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2VzZC9lc2RzaW5rLmM6IChnc3RfZXNkc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9lc2RzaW5rX2dldGNhcHMpLCAoZ3N0X2VzZHNpbmtfb3BlbiksIChnc3RfZXNkc2lua19jbG9zZSksCgkgIChnc3RfZXNkc2lua19wcmVwYXJlKSwgKGdzdF9lc2RzaW5rX3VucHJlcGFyZSksCgkgIChnc3RfZXNkc2lua19kZWxheSksIChnc3RfZXNkc2lua19yZXNldCk6CgkgICogZXh0L2VzZC9lc2RzaW5rLmg6CgkgIEZpeCBlc2QgY2hvcHB5IHBsYXliYWNrIGJ5IGNvbmZpZ3VyaW5nIGF1ZGlvc2luawoJICBjb3JyZWN0bHkuIEZpeGVzICMzMjUxOTEKCjIwMDYtMDMtMjMgMTk6NTc6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiBNYWtlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiB0aHJlYWQtc2FmZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKGdzdF9wbmdkZWNfY2hhbmdlX3N0YXRlKToKCSAgTWFrZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gdGhyZWFkLXNhZmUuCgoyMDA2LTAzLTIzIDE2OjUwOjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IERvbid0IHRyeSB0byByZWFkIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBmaWxlIGp1c3QgYmVjYXVzZSB0aGUgaGVhZGVyIGNsYWltcyBhIGJpZ2dlciBzaXplLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2dldF91cHN0cmVhbV9zaXplKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpOgoJICBEb24ndCB0cnkgdG8gcmVhZCBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgZmlsZSBqdXN0IGJlY2F1c2UKCSAgdGhlIGhlYWRlciBjbGFpbXMgYSBiaWdnZXIgc2l6ZSAobGlrZSB3aXRoIHRydW5jYXRlZCBmaWxlcykuCgoyMDA2LTAzLTIzIDE1OjM2OjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLio6IERlbGF5IHNvdXJjZSBwYWQgY3JlYXRpb24gdW50aWwgd2UgaGF2ZSB0aGUgZmlyc3QgY2h1bmsgb2YgbWVkaWEgZGF0YSwgc28gdGhlIHdlIGNhbiBleGFtLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLCAoZ3N0X3dhdnBhcnNlX2FkZF9zcmNfcGFkKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSksIChnc3Rfd2F2cGFyc2VfbG9vcCk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIERlbGF5IHNvdXJjZSBwYWQgY3JlYXRpb24gdW50aWwgd2UgaGF2ZSB0aGUgZmlyc3QgY2h1bmsgb2YKCSAgbWVkaWEgZGF0YSwgc28gdGhlIHdlIGNhbiBleGFtaW5lIHRoZSBkYXRhIGFuZCBhZGp1c3QgdGhlCgkgIGNhcHMgYWNjb3JkaW5nbHkgaWYgcmVxdWlyZWQuIFRoaXMgbWFrZXMgcGxheWJhY2sgb2YgLndhdgoJICBmaWxlcyB3aXRoIERUUy1kZWNsYXJlZC1hcy1QQ00gY29udGVudCB3b3JrICgjMzEzMjY2KS4KCjIwMDYtMDMtMjIgMTk6NTA6NTYgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgYWRkIHZpZGVvYmFsYW5jZSBwbHVnbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIHZpZGVvYmFsYW5jZSBwbHVnbgoKMjAwNi0wMy0yMiAxMzowMjoxMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIG1lbnRpb24gZml4ZWQgYnVnIG51bWJlciBpbiB0aGUgY2hhbmdlbG9nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtZW50aW9uIGZpeGVkIGJ1ZyBudW1iZXIgaW4gdGhlIGNoYW5nZWxvZwoKMjAwNi0wMy0yMiAxMzowMDozNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvOiBEb24ndCBhdHRlbXB0IHR5cGVmaW5kaW5nIG9uIHRvby1zaG9ydCBidWZmZXJzIHRoYXQgaGF2ZSBiZWVuIGNvbXBsZXRlbHkgdHJpbW1lZCBhd2F5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6IChnc3RfdGFnX2RlbXV4X2NoYWluKToKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9jaGFpbik6CgkgIERvbid0IGF0dGVtcHQgdHlwZWZpbmRpbmcgb24gdG9vLXNob3J0IGJ1ZmZlcnMgdGhhdCBoYXZlIGJlZW4KCSAgY29tcGxldGVseSB0cmltbWVkIGF3YXkuCgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzogKGlkM2RlbXV4X3JlYWRfaWQzdjJfdGFnKToKCSAgSW1wcm92ZSB0aGUgZGVidWcgb3V0cHV0CgoyMDA2LTAzLTIxIDE4OjEyOjU5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2VzZC9lc2RzaW5rLmM6IFNvbWUgY2xlYW51cHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9lc2QvZXNkc2luay5jOiAoZ3N0X2VzZHNpbmtfY2xhc3NfaW5pdCksIChnc3RfZXNkc2lua19pbml0KSwKCSAgKGdzdF9lc2RzaW5rX2ZpbmFsaXplKSwgKGdzdF9lc2RzaW5rX2dldGNhcHMpLCAoZ3N0X2VzZHNpbmtfb3BlbiksCgkgIChnc3RfZXNkc2lua19jbG9zZSksIChnc3RfZXNkc2lua19wcmVwYXJlKSwgKGdzdF9lc2RzaW5rX3dyaXRlKSwKCSAgKGdzdF9lc2RzaW5rX3NldF9wcm9wZXJ0eSksIChnc3RfZXNkc2lua19nZXRfcHJvcGVydHkpOgoJICBTb21lIGNsZWFudXBzLgoJICBSZXNldCBmZCB0byAtMSB3aGVuIHdlIGNsb3NlIHRoZW0uCgoyMDA2LTAzLTIxIDE2OjE5OjM3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiB0aGUgT1BUSU9OUyByZXF1ZXN0IHJlc3VsdCBpcyBvcHRpb25hbCBzbyBkb24ndCBmYWlsIG9uIGl0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19vcGVuKToKCSAgdGhlIE9QVElPTlMgcmVxdWVzdCByZXN1bHQgaXMgb3B0aW9uYWwgc28gZG9uJ3QKCSAgZmFpbCBvbiBpdC4KCjIwMDYtMDMtMjEgMTQ6NTM6MzYgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvOiBnY2MgNC4xIHVucmVmZXJlbmNlZCBwb2ludGVyIGZpeGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6IChnc3RfdGFnX2RlbXV4X3Jlc2V0KToKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9yZXNldCk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfY3JlYXRlX3NvdXJjZXBhZCksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLCAoZ3N0X3dhdnBhcnNlX3NlbmRfZXZlbnQpLAoJICAoZ3N0X3dhdnBhcnNlX2NoYW5nZV9zdGF0ZSk6CgkgIGdjYyA0LjEgdW5yZWZlcmVuY2VkIHBvaW50ZXIgZml4ZXMuCgoyMDA2LTAzLTIxIDEzOjA3OjMxICswMDAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkubXlvaGFuZW5Abm9raWEuY29tPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IEZpeCBibG9jayBhbGlnbm1lbnQgY2FsY3VsYXRpb24uIEFsaWdubWVudCBzaG91bGQgYmUgZG9uZSBiZWZvcmUgYWRkaW5nIHRoZSBieXRlIG9mZnNldCB3Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVG9tbWkgTXnDtmjDpG5lbiAgPGV4dC10b21taSBkb3QgbXlvaGFuZW4gYXQgbm9raWEgZG90IGNvbT4KCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspOgoJICBGaXggYmxvY2sgYWxpZ25tZW50IGNhbGN1bGF0aW9uLiBBbGlnbm1lbnQgc2hvdWxkIGJlIGRvbmUgYmVmb3JlCgkgIGFkZGluZyB0aGUgYnl0ZSBvZmZzZXQgd2hlcmUgdGhlIGRhdGEgc3RhcnRzICgjMzM1MjMxKS4KCjIwMDYtMDMtMjAgMTg6MzQ6MjEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzogRW5zdXJlIHRoYXQgd2Ugc2V0IGNvcnJlY3QgY2FwcyBvbiBidWZmZXJzIHRoYXQgYXJlIHRyYW5zZmVycmVkIGRpcmVjdCBmcm9tIHRoZSBpbnB1dC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzogKGdzdF9lYm1sX3dyaXRlX2VsZW1lbnRfcHVzaCk6CgkgIEVuc3VyZSB0aGF0IHdlIHNldCBjb3JyZWN0IGNhcHMgb24gYnVmZmVycyB0aGF0IGFyZSB0cmFuc2ZlcnJlZAoJICBkaXJlY3QgZnJvbSB0aGUgaW5wdXQuCgoyMDA2LTAzLTIwIDE3OjM4OjQ4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9nb29tLzogRnJlZSBmaWx0ZXIgZGF0YSB3aGVuIGNsZWFuaW5nIHVwLiAoRml4ZXM6ICMzMzQ5OTUpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL2ZpbHRlcnMuYzogKHpvb21GaWx0ZXJEZXN0cm95KToKCSAgKiBnc3QvZ29vbS9nb29tX2NvcmUuYzogKGdvb21fY2xvc2UpOgoJICBGcmVlIGZpbHRlciBkYXRhIHdoZW4gY2xlYW5pbmcgdXAuIChGaXhlczogIzMzNDk5NSkKCjIwMDYtMDMtMjAgMDg6NTk6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliL2dzdHRhZ2xpYi5oOiBGaXggbGVmdC1vdmVyIGdzdF9teV9maWx0ZXJfZ2V0X3R5cGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmg6CgkgIEZpeCBsZWZ0LW92ZXIgZ3N0X215X2ZpbHRlcl9nZXRfdHlwZS4KCjIwMDYtMDMtMTcgMTY6MzQ6MzYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICBIYXZlIGEgc2hvdyBtb3VzZSBwb2ludGVyIHByb3BlcnR5IGFuZCB1c2UgaXQgaWYgd2UgY2FuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBIYXZlIGEgc2hvdyBtb3VzZSBwb2ludGVyIHByb3BlcnR5IGFuZCB1c2UgaXQgaWYgd2UgY2FuCgoyMDA2LTAzLTE3IDE1OjMzOjA4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBEb24ndCBjb21waWxlIHVkcCBhbmQgcnRzcCBwbHVnaW5zIG9uIHdpbjMyIChtaW5ndykgb3Igb3RoZXIgc3lzdGVtcyB0aGF0IGRvbid0IGhhdmUgPHN5cy9zb2NrZXQuaD4gZm9yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRG9uJ3QgY29tcGlsZSB1ZHAgYW5kIHJ0c3AgcGx1Z2lucyBvbiB3aW4zMiAobWluZ3cpIG9yIG90aGVyCgkgIHN5c3RlbXMgdGhhdCBkb24ndCBoYXZlIDxzeXMvc29ja2V0Lmg+IGZvciBzb21lIHJlYXNvbiAoIzMxNjIwMykuCgoyMDA2LTAzLTE2IDE3OjI4OjA3ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmg6CgkgIENoYW5nZSBidXMgcmVzZXQgaGFuZGxlciBzbyBpdCByZXBvcnRzIHVzZWZ1bCBpbmZvcm1hdGlvbiBzdWNoIGFzIHdoZXRoZXIgdGhlIGRldmljZSBiZWluZyB1c2VkIGNvbm5lY3RlZCBvciBkaXNjb25uZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ2hhbmdlIGJ1cyByZXNldCBoYW5kbGVyIHNvIGl0IHJlcG9ydHMgdXNlZnVsIGluZm9ybWF0aW9uIHN1Y2ggYXMKCSAgd2hldGhlciB0aGUgZGV2aWNlIGJlaW5nIHVzZWQgY29ubmVjdGVkIG9yIGRpc2Nvbm5lY3RlZAoKMjAwNi0wMy0xNiAxNjowNjoyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBXZSBvbmx5IGNhcmUgYWJvdXQgZ2FpbiBhbmQgcGVhayBkYXRhIGZvciB0aGUgbWFzdGVyIHZvbHVtZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6CgkgIChwYXJzZV9yZWxhdGl2ZV92b2x1bWVfYWRqdXN0bWVudF90d28pOgoJICBXZSBvbmx5IGNhcmUgYWJvdXQgZ2FpbiBhbmQgcGVhayBkYXRhIGZvciB0aGUgbWFzdGVyIHZvbHVtZS4KCjIwMDYtMDMtMTYgMTM6MjI6MjggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogUmVhZCByZXBsYXkgZ2FpbiB0YWdzICgjMzIzNzIxKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChpZDNkZW11eF9pZDN2Ml9wYXJzZV9mcmFtZSksCgkgIChwYXJzZV9pZF9zdHJpbmcpLCAocGFyc2VfdW5pcXVlX2ZpbGVfaWRlbnRpZmllciksCgkgIChwYXJzZV9yZWxhdGl2ZV92b2x1bWVfYWRqdXN0bWVudF90d28pLCAoaWQzdjJfdGFnX3RvX3RhZ2xpc3QpOgoJICBSZWFkIHJlcGxheSBnYWluIHRhZ3MgKCMzMjM3MjEpLgoKMjAwNi0wMy0xNSAyMzoxOTozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQnVtcCByZXF1aXJlbWVudHMgdG8gZ3N0LXBsdWdpbnMtYmFzZSBDVlMgYmVjYXVzZSBvZiBidWdneSBnc3RfdGFnX2Zyb21faWQzX3VzZXJfdGFnKCkgaW4gMC4xMC41LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgcmVxdWlyZW1lbnRzIHRvIGdzdC1wbHVnaW5zLWJhc2UgQ1ZTIGJlY2F1c2UKCSAgb2YgYnVnZ3kgZ3N0X3RhZ19mcm9tX2lkM191c2VyX3RhZygpIGluIDAuMTAuNS4KCjIwMDYtMDMtMTUgMjI6MzA6MjQgKzAwMDAgIFBoaWxpcHBlIEthbGFmIDxwaGlsaXBwZS5rYWxhZkBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkgIEZpeGVkIG9uZSBvZiB0aGUgY2FwcyBpbiB0aGUgY29kZSBmcm9tIG11bGF3IHRvIGFsYXcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXhlZCBvbmUgb2YgdGhlIGNhcHMgaW4gdGhlIGNvZGUgZnJvbSBtdWxhdyB0byBhbGF3LgoKMjAwNi0wMy0xNSAxNjoyMTozOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6IEVuc3VyZSB0aGF0IHdlIHNldCBjYXBzIG9uIHRoZSBidWZmZXJzIHdlIHBhc3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzogKGdzdF90YWdfZGVtdXhfY2hhaW4pOgoJICBFbnN1cmUgdGhhdCB3ZSBzZXQgY2FwcyBvbiB0aGUgYnVmZmVycyB3ZSBwYXNzLgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X2NoYWluKSwKCSAgKGdzdF9pZDNkZW11eF9zaW5rX2FjdGl2YXRlKToKCSAgRW5zdXJlIHRoYXQgd2Ugc2V0IGNhcHMgb24gdGhlIGJ1ZmZlcnMgd2UgcGFzcy4KCSAgVXNlIFNUUkVBTSwgVFlQRV9OT1RfRk9VTkQgYXMgdGhlIGVycm9yIGNsYXNzIHdoZW4KCSAgdHlwZWZpbmRpbmcgZmFpbHMuCgoyMDA2LTAzLTE1IDE2OjE3OjEyICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgRml4IG1lbWxlYWsgd2l0aCBnc3Rfc3RhdGljX3BhZF90ZW1wbGF0ZV9nZXQoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6IChnc3RfdGV4dF9vdmVybGF5X2luaXQpOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9pbml0KSwgKGdzdF9kdmRlbXV4X2FkZF9wYWRzKToKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzogKGdzdF9nZGtfcGl4YnVmX2luaXQpOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogKGdzdF9qcGVnX2RlY19pbml0KSwKCSAgKGdzdF9qcGVnX2RlY19zZXRjYXBzKToKCSAgKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6IChnc3RfanBlZ2VuY19pbml0KToKCSAgKiBleHQvanBlZy9nc3RzbW9rZWRlYy5jOiAoZ3N0X3Ntb2tlZGVjX2luaXQpOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6IChnc3Rfc21va2VlbmNfaW5pdCk6CgkgICogZXh0L2xpYm1uZy9nc3RtbmdkZWMuYzogKGdzdF9tbmdkZWNfaW5pdCksCgkgIChnc3RfbW5nZGVjX3NyY19nZXRjYXBzKToKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAoZ3N0X3BuZ2RlY19pbml0KSwKCSAgKGdzdF9wbmdkZWNfY2Fwc19jcmVhdGVfYW5kX3NldCk6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzogKGdzdF9wbmdlbmNfaW5pdCk6CgkgICogZXh0L21pa21vZC9nc3RtaWttb2QuYzogKGdzdF9taWttb2RfaW5pdCk6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IChnc3Rfc3BlZXhfZGVjX2luaXQpOgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOiAoZ3N0X2FscGhhX2luaXQpOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzogKGdzdF9hdV9wYXJzZV9pbml0KToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2luaXQpLAoJICAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX2V2ZW50KSwgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKToKCSAgKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOiAoZ3N0X2N1dHRlcl9pbml0KToKCSAgKiBnc3QvZGVidWcvZWZlbmNlLmM6IChnc3RfZWZlbmNlX2luaXQpLCAoZ3N0X2VmZW5jZV9nZXRyYW5nZSksCgkgIChnc3RfZWZlbmNlX2NoZWNrZ2V0cmFuZ2UpOgoJICAqIGdzdC9kZWJ1Zy9uZWdvdGlhdGlvbi5jOiAoZ3N0X25lZ290aWF0aW9uX2luaXQpOgoJICAqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6IChnc3RfZmx4ZGVjX2luaXQpOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzogKGdzdF9nb29tX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6IChnc3RfYXN0ZXJpc2toMjYzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzogKGdzdF9ydHBfTDE2ZGVwYXlfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzogKGdzdF9ydHBMMTZwYXlfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOiAoZ3N0X3J0cF9hbXJfZGVwYXlfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBkZXBheS5jOiAoZ3N0X3J0cF9kZXBheV9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6IChnc3RfcnRwX21wYV9kZXBheV9pbml0KToKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuYzogKGdzdF9ydHBkZWNfaW5pdCk6CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6IChnc3Rfc21wdGVfaW5pdCk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFyc2VfY3JlYXRlX3NvdXJjZXBhZCk6CgkgIEZpeCBtZW1sZWFrIHdpdGggZ3N0X3N0YXRpY19wYWRfdGVtcGxhdGVfZ2V0KCkuCgkgIFRoaXMgdXNlcyBnc3RfcGFkX25ld19mcm9tX3N0YXRpY190ZW1wbGF0ZSgpIGluc3RlYWQuCgkgIEZpeGVzICMzMzM1MTIKCjIwMDYtMDMtMTUgMTU6MDg6MjAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IExldCdzIG5vdCBmb3JnZXQgdG8gY2hhaW4gdXAgdG8gdGhlIHBhcmVudCBkaXNwb3NlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9kaXNwb3NlKToKCSAgTGV0J3Mgbm90IGZvcmdldCB0byBjaGFpbiB1cCB0byB0aGUgcGFyZW50IGRpc3Bvc2UuCgoyMDA2LTAzLTE1IDE0OjM5OjI1ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBTZXJpZXMgb2YgbWVtbGVhayBmaXhlczoKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfcXRkZW11eF9pbml0KSwgKGdzdF9xdGRlbXV4X2Rpc3Bvc2UpLAoJICAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBTZXJpZXMgb2YgbWVtbGVhayBmaXhlczoKCSAgLSBVbnJlZiB0aGUgR3N0QWRhcHRlciBpbiBmaW5hbGl6ZS4KCSAgLSBVc2UgZ3N0X3BhZF9uZXdfZnJvbV9zdGF0aWNfdGVtcGxhdGUoKSwgc2hvcnRlciBhbmQgc2FmZXIuCgkgIC0gRnJlZSB1bnVzZWQgUXREZW11eFN0cmVhbSB3aGVuIG5vdCB1c2VkLgoKMjAwNi0wMy0xNCAxNzo1NjowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQnVtcCAtYmFzZSByZXF1aXJlbWVudCB0byAwLjEwLjUgZm9yIGdzdF90YWdfZnJvbV9pZDNfdXNlcl90YWcoKSwgdXNlZCBieSBpZDNkZW11eC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCdW1wIC1iYXNlIHJlcXVpcmVtZW50IHRvIDAuMTAuNSBmb3IgZ3N0X3RhZ19mcm9tX2lkM191c2VyX3RhZygpLAoJICB1c2VkIGJ5IGlkM2RlbXV4LgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAoaWQzZGVtdXhfaWQzdjJfcGFyc2VfZnJhbWUpLAoJICAocGFyc2VfdXNlcl90ZXh0X2lkZW50aWZpY2F0aW9uX2ZyYW1lKSwKCSAgKHBhcnNlX3VuaXF1ZV9maWxlX2lkZW50aWZpZXIpOgoJICBBZGQgc3VwcG9ydCBmb3IgVUZJRCBhbmQgVFhYWCBmcmFtZXMgYW5kIGV4dHJhY3QgbXVzaWNicmFpbnogdGFncy4KCjIwMDYtMDMtMTQgMTc6MjQ6MDMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IEluaXRpYWxpemF0aW9uIG9mIHRoZSBkZWJ1Z2dpbmcgY2F0ZWdvcnkgc2hvdWxkIGJlIGFzIGVhcmx5IGFzIHBvc3NpYmxlLCBtb3ZpbmcgaXQgZnJvbSBfY2xhc3MuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfYmFzZV9pbml0KSwKCSAgKGdzdF92NGwyc3JjX2NsYXNzX2luaXQpOgoJICBJbml0aWFsaXphdGlvbiBvZiB0aGUgZGVidWdnaW5nIGNhdGVnb3J5IHNob3VsZCBiZSBhcyBlYXJseSBhcyBwb3NzaWJsZSwKCSAgbW92aW5nIGl0IGZyb20gX2NsYXNzX2luaXQoKSB0byBiZWdpbm5pbmcgb2YgX2Jhc2VfaW5pdCgpLgoKMjAwNi0wMy0xNCAxNToyODowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogQ2F0Y2ggc2hvcnQgcmVhZHMsIGxpa2UgdGhleSBtaWdodCBoYXBwZW4gd2l0aCB0cnVuY2F0ZWQgZmlsZXMgKHNlZSAjMzA1Mjc5KTsgcmVtb3ZlIHVubmVjZXNzYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSk6CgkgIENhdGNoIHNob3J0IHJlYWRzLCBsaWtlIHRoZXkgbWlnaHQgaGFwcGVuIHdpdGggdHJ1bmNhdGVkCgkgIGZpbGVzIChzZWUgIzMwNTI3OSk7IHJlbW92ZSB1bm5lY2Vzc2FyeSBpbmRlbnRhdGlvbi4KCjIwMDYtMDMtMTQgMTQ6MTg6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IEZpeCBESUIgaW1hZ2UgaW52ZXJzaW9uIGZvciBwaWN0dXJlcyB3aXRoIGEgZGVwdGggIT0gOCAoIzMwNTI3OSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaW52ZXJ0KToKCSAgRml4IERJQiBpbWFnZSBpbnZlcnNpb24gZm9yIHBpY3R1cmVzIHdpdGggYQoJICBkZXB0aCAhPSA4ICgjMzA1Mjc5KS4KCjIwMDYtMDMtMTQgMDk6MjM6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvanBlZy9nc3RqcGVnZGVjLio6IEZpeCBkdXJhdGlvbnMgb24gb3V0Z29pbmcgYnVmZmVycyBhZnRlciBzZWVraW5nIGluIE1KUEVHIGZpbGVzICgjMzM0MDgzKTsgc29tZSBtaW5vciBjbGVhbi11cHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogKGdzdF9qcGVnX2RlY19jbGFzc19pbml0KSwKCSAgKGdzdF9qcGVnX2RlY19jaGFpbiksIChnc3RfanBlZ19kZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkgIEZpeCBkdXJhdGlvbnMgb24gb3V0Z29pbmcgYnVmZmVycyBhZnRlciBzZWVraW5nCgkgIGluIE1KUEVHIGZpbGVzICgjMzM0MDgzKTsgc29tZSBtaW5vciBjbGVhbi11cHMuCgoyMDA2LTAzLTEzIDE4OjI4OjE4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IEltcGxlbWVudCBzZWVrIGluIFJFQURZIChyZS1maXhlcyAjMzI3NjU4KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9yZXNldCksCgkgIChnc3Rfd2F2cGFyc2VfY2hhbmdlX3N0YXRlKToKCSAgSW1wbGVtZW50IHNlZWsgaW4gUkVBRFkgKHJlLWZpeGVzICMzMjc2NTgpCgoyMDA2LTAzLTEzIDE3OjIyOjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6IEFkZCBndGstZG9jIGJsdXJiICh1bnVzZWQgZm9yIHRoZSB0aW1lIGJlaW5nKTsgbWF0Y2ggcmVnaXN0ZXJlZCBwbHVnaW4gbmFtZSB0byB0aGUgZmlsZW5hbWUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOgoJICBBZGQgZ3RrLWRvYyBibHVyYiAodW51c2VkIGZvciB0aGUgdGltZSBiZWluZyk7IG1hdGNoIHJlZ2lzdGVyZWQKCSAgcGx1Z2luIG5hbWUgdG8gdGhlIGZpbGVuYW1lIG9mIHRoZSBwbHVnaW4gKHRhZ2xpYm11eCA9PiB0YWdsaWIpCgoyMDA2LTAzLTEzIDE1OjQ5OjA4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgY2xvc2UgIzMzMzc4NCB1bnJlZiB0aGUgcmVzdWx0IG9mIGdzdF9wYWRfZ2V0X3BhcmVudCgpIGJ5OiBDaHJpc3RvcGhlIEZlcmdlYXUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOiAoZ3N0X3RleHRfb3ZlcmxheV9zZXRjYXBzKToKCSAgKiBleHQvZXNkL2VzZG1vbi5jOiAoZ3N0X2VzZG1vbl9nZXQpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzogKGdzdF9mbGFjX3RhZ19jaGFpbik6CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6IChnc3RfZ2RrX3BpeGJ1Zl9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2dka19waXhidWZfc2lua19nZXRjYXBzKToKCSAgKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6IChnc3RfanBlZ2VuY19nZXRjYXBzKSwKCSAgKGdzdF9qcGVnZW5jX3NldGNhcHMpOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZGVjLmM6IChnc3Rfc21va2VkZWNfY2hhaW4pOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6IChnc3Rfc21va2VlbmNfZ2V0Y2FwcyksCgkgIChnc3Rfc21va2VlbmNfc2V0Y2Fwcyk6CgkgICogZXh0L2xpYm1uZy9nc3RtbmdkZWMuYzogKGdzdF9tbmdkZWNfc2lua2xpbmspLAoJICAoZ3N0X21uZ2RlY19zcmNfZ2V0Y2Fwcyk6CgkgICogZXh0L2xpYm1uZy9nc3RtbmdlbmMuYzogKGdzdF9tbmdlbmNfc2lua2xpbmspLAoJICAoZ3N0X21uZ2VuY19jaGFpbik6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzogKGdzdF9wbmdlbmNfc2V0Y2Fwcyk6CgkgICogZXh0L21pa21vZC9nc3RtaWttb2QuYzogKGdzdF9taWttb2Rfc3JjbGluayk6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IChzcGVleF9kZWNfY29udmVydCksCgkgIChzcGVleF9kZWNfc3JjX2V2ZW50KSwgKHNwZWV4X2RlY19jaGFpbik6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmltdXhfdmlkc2lua2Nvbm5lY3QpLAoJICAoZ3N0X2F2aW11eF9hdWRzaW5rY29ubmVjdCksIChnc3RfYXZpbXV4X2hhbmRsZV9ldmVudCk6CgkgICogZ3N0L2RlYnVnL25lZ290aWF0aW9uLmM6IChnc3RfbmVnb3RpYXRpb25fZ2V0Y2FwcyksCgkgIChnc3RfbmVnb3RpYXRpb25fcGFkX2xpbmspLCAoZ3N0X25lZ290aWF0aW9uX2NoYWluKToKCSAgKiBnc3QvZmx4L2dzdGZseGRlYy5jOiAoZ3N0X2ZseGRlY19zcmNfcXVlcnlfaGFuZGxlciksCgkgIChnc3RfZmx4ZGVjX2NoYWluKToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGRlaW50ZXJsZWF2ZV9zaW5rX2xpbmspLAoJICAoZGVpbnRlcmxlYXZlX2NoYWluKToKCSAgKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOiAobXVsYXdlbmNfc2V0Y2Fwcyk6CgkgICogZ3N0L21lZGlhbi9nc3RtZWRpYW4uYzogKGdzdF9tZWRpYW5fbGluayk6CgkgICogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzogKGdzdF9tb25vc2NvcGVfc3JjY29ubmVjdCksCgkgIChnc3RfbW9ub3Njb3BlX2NoYWluKToKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOiAoZ3N0X3J0cEwxNnBheV9zaW5rY29ubmVjdCk6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogKGdzdF93YXZlbmNfc2lua19zZXRjYXBzKToKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6IChnc3Rfb3N4YXVkaW9zaW5rX2NoYWluKToKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzogKGdzdF9vc3hhdWRpb3NyY19nZXQpOgoJICBjbG9zZSAjMzMzNzg0IHVucmVmIHRoZSByZXN1bHQgb2YgZ3N0X3BhZF9nZXRfcGFyZW50KCkKCSAgYnk6IENocmlzdG9waGUgRmVyZ2VhdS4KCjIwMDYtMDMtMTMgMTA6MDU6MDkgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgRml4IGJ1aWxkIG9mIHY0bDIgKHNpZ2gpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAzLTEzICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRlY2wtbGlzdC50eHQ6CgkgICogc3lzL3Y0bDIvTWFrZWZpbGUuYW06IEZpeCBidWlsZCBvZiB2NGwyIChzaWdoKQoKMjAwNi0wMy0xMiAxNTozMzowMCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogZ19hdG9taWNfaW50X3NldCBpcyBvbmx5IGF2YWlsYWJsZSBpbiBnbGliLTAuMTAsIHVzZSBnc3RfYXRvbWljX2ludF9ldCBpbnN0ZWFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19jYXB0dXJlX2luaXQpLAoJICAoZ3N0X3Y0bDJzcmNfYnVmZmVyX3Bvb2xfZnJlZSk6CgkgIGdfYXRvbWljX2ludF9zZXQgaXMgb25seSBhdmFpbGFibGUgaW4gZ2xpYi0wLjEwLCB1c2UgZ3N0X2F0b21pY19pbnRfZXQKCSAgaW5zdGVhZC4KCjIwMDYtMDMtMTIgMTU6MjU6NTEgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5oOiBSZW1vdmUgdGltJ3MgYWRkaXRpb24gb2YgIl9zdGRpbnQuaCIgc2luY2UgaXQgZG9lc24ndCBtYWtlIHRoZSBQUEMgYnVpbGRib3QgaGFwcHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50Lmg6CgkgIFJlbW92ZSB0aW0ncyBhZGRpdGlvbiBvZiAiX3N0ZGludC5oIiBzaW5jZSBpdCBkb2Vzbid0IG1ha2UgdGhlIFBQQwoJICBidWlsZGJvdCBoYXBweS4KCSAgSSB3aWxsIGp1c3QgdXNlIHRoZSBzYW1lIGNvbW1lbnQgUm9uYWxkIHVzZWQgd2hlbiBoZSBhZGRlZCB0aGVzZSBsaW5lczoKCSAgWWV0IEFub3RoZXIgSGFjayAodG0pIGZvciBrZXJuZWwgaGVhZGVyIGJvcmtlZG5lc3MuCgoyMDA2LTAzLTEyIDE1OjAyOjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi86IEFkZCBzdXBwb3J0IGZvciB3cml0aW5nIE11c2ljQnJhaW56IElEcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5oOgoJICBBZGQgc3VwcG9ydCBmb3Igd3JpdGluZyBNdXNpY0JyYWlueiBJRHMuCgoyMDA2LTAzLTEyIDE0OjQzOjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuaDogSW5jbHVkZSAiX3N0ZGludC5oIiBpbiBhbiBhdHRlbXB0IHRvIG1ha2UgdGhlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50Lmg6CgkgIEluY2x1ZGUgIl9zdGRpbnQuaCIgaW4gYW4gYXR0ZW1wdCB0byBtYWtlIHRoZQoJICBQUEMtYnVpbGRib3QgaGFwcHkuCgoyMDA2LTAzLTExIDIyOjUwOjAzICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuaDoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICBWNEwyIHBvcnRlZCB0byAwLjEwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVjRMMiBwb3J0ZWQgdG8gMC4xMC4KCjIwMDYtMDMtMTEgMTA6NTg6MDggKzAwMDAgIEFsZXggTGFuY2FzdGVyIDxhbGV4bGFuQGZlZG9yYXByb2plY3Qub3JnPgoKCSAgZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6IGFuZCBhZGQgc3VwcG9ydCBmb3IgVENPUCAoY29weXJpZ2h0KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMy0xMSAgQ2hyaXN0b3BoZSBGZXJnZWF1ICA8dGV1ZkBnbm9tZS5vcmc+CgkgIFBhdGNoIGJ5OiBBbGV4IExhbmNhc3RlcgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOiBmaXggd3JpdGluZyBvZiBUUE9TIHRhZ3MgKGFsYnVtIG51bWJlciksCgkgIGFuZCBhZGQgc3VwcG9ydCBmb3IgVENPUCAoY29weXJpZ2h0KQoKMjAwNi0wMy0wOSAyMDowMjo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IGJ1aWxkIHdpdGggZ2NjLTQuMSAoIzMyNzM1NSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X3NlbmRfZXZlbnQpOgoJICBGaXggYnVpbGQgd2l0aCBnY2MtNC4xICgjMzI3MzU1KS4KCjIwMDYtMDMtMDkgMTc6NDQ6MTcgKzAwMDAgIENocmlzdG9waGUgRmVyZ2VhdSA8dGV1ZkBnbm9tZS5vcmc+CgoJICBuZXcgaWQzdjIgbXV4ZXIgYmFzZWQgb24gVGFnTGliCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAzLTA5ICBDaHJpc3RvcGhlIEZlcmdlYXUgIDx0ZXVmQGdub21lLm9yZz4KCSAgcmV2aWV3ZWQgYnk6IFRpbS1QaGlsaXBwIE3DvGxsZXIgIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC90YWdsaWIvTWFrZWZpbGUuYW06CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuaDogbmV3IGlkM3YyIG11eGVyIGJhc2VkIG9uIFRhZ0xpYgoKMjAwNi0wMy0wOSAxMTo0NzozMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9kdi9nc3RkdmRlbXV4LmM6IEhhbmRsZSBldmVudHMgaW4gcHVzaCBtb2RlIGJldHRlciwgY2FuIG5vdyBkbyBub24tZmx1c2hpbmcgc2Vla3MgaW4gcHVzaCBtb2RlIGFzIHdlbGwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9oYW5kbGVfc2lua19ldmVudCksCgkgIChnc3RfZHZkZW11eF9jb252ZXJ0X3NlZ21lbnQpLCAoZ3N0X2R2ZGVtdXhfZGVtdXhfZnJhbWUpOgoJICBIYW5kbGUgZXZlbnRzIGluIHB1c2ggbW9kZSBiZXR0ZXIsIGNhbiBub3cgZG8gbm9uLWZsdXNoaW5nCgkgIHNlZWtzIGluIHB1c2ggbW9kZSBhcyB3ZWxsLgoKMjAwNi0wMy0wOCAxMjoxNjoxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRXh0cmFjdCBkaXNjIG51bWJlciBhbmQgY291bnQgZnJvbSBmaWxlcyB0aGF0IHVzZSAnZGlzaycgaW5zdGVhZCBvZiAnZGlzYycgYXMgbm9kZSBpZGVudGlmaWVyIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3VkdGEpOgoJICBFeHRyYWN0IGRpc2MgbnVtYmVyIGFuZCBjb3VudCBmcm9tIGZpbGVzIHRoYXQgdXNlCgkgICdkaXNrJyBpbnN0ZWFkIG9mICdkaXNjJyBhcyBub2RlIGlkZW50aWZpZXIgZm9yIHRoYXQKCSAgKGZpeGVzICMzMzIwNjYpLgoKMjAwNi0wMy0wNyAxNzozMTowMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOiBBcHBsaWVkIHBhdGNoIGZyb20gS2FpIFZlaG1hbmVuLCBmaXhlcyAjMzMzNjI0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzogKGdzdF9keW51ZHBzaW5rX2NsYXNzX2luaXQpOgoJICBBcHBsaWVkIHBhdGNoIGZyb20gS2FpIFZlaG1hbmVuLCBmaXhlcyAjMzMzNjI0LgoKMjAwNi0wMy0wNiAyMjoyMjo0NSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiBJbXBsZW1lbnQgcGFsZXR0ZWQgYW5kIGdyYXlzY2FsZSBwbmcgZmlsZXMgaGFuZGxpbmcuICgjMTUwMzYzKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDMtMDYgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAoZ3N0X3BuZ2RlY19jYXBzX2NyZWF0ZV9hbmRfc2V0KToKCSAgSW1wbGVtZW50IHBhbGV0dGVkIGFuZCBncmF5c2NhbGUgcG5nIGZpbGVzIGhhbmRsaW5nLgoJICAoIzE1MDM2MykuCgoyMDA2LTAzLTA2IDAwOjEwOjI5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiBmaXggYSB0YWcgbGlzdCBhc3NlcnQgZm9sbG93IGdzdC1wbHVnaW5zLWJhc2UvZXh0L29nZy9SRUFETUU7IHNldCBPRkZTRVQgYW5kIE9GRlNFVF9FTkQuICBNdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogKGdzdF9zcGVleGVuY19zZXRfaGVhZGVyX29uX2NhcHMpLAoJICAoZ3N0X3NwZWV4ZW5jX2NoYWluKToKCSAgZml4IGEgdGFnIGxpc3QgYXNzZXJ0CgkgIGZvbGxvdyBnc3QtcGx1Z2lucy1iYXNlL2V4dC9vZ2cvUkVBRE1FOyBzZXQgT0ZGU0VUCgkgIGFuZCBPRkZTRVRfRU5ELiAgTXV4ZXMgY29ycmVjdGx5IHdpdGggZ3N0LXBsdWdpbnMtYmFzZQoJICA+IDAuOS4zCgoyMDA2LTAzLTA1IDEzOjAzOjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgc3VwcG9ydCBmb3IgJzNJVkQnIGZvdXJjYyAoIzMzMzQwMykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEFkZCBzdXBwb3J0IGZvciAnM0lWRCcgZm91cmNjICgjMzMzNDAzKS4KCjIwMDYtMDMtMDQgMjA6MTE6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvOiBVc2UgbmV3IHR5cGVmaW5kIGhlbHBlciBmdW5jdGlvbnMgaGVyZSBhcyB3ZWxsLCBhbmQgZG8gdHlwZWZpbmRpbmcgaW4gcHVsbC1tb2RlIGlmIHVwc3RyZWFtIHN1cHBvcnRzIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X2FkZF9zcmNwYWQpLAoJICAoZ3N0X2lkM2RlbXV4X2NoYWluKSwgKGdzdF9pZDNkZW11eF9zaW5rX2FjdGl2YXRlKToKCSAgVXNlIG5ldyB0eXBlZmluZCBoZWxwZXIgZnVuY3Rpb25zIGhlcmUgYXMgd2VsbCwgYW5kCgkgIGRvIHR5cGVmaW5kaW5nIGluIHB1bGwtbW9kZSBpZiB1cHN0cmVhbSBzdXBwb3J0cyB0aGF0LgoKMjAwNi0wMy0wNCAxODo1NzozNyArMDAwMCAgQmVuamFtaW4gUGluZWF1IDxiZW4ucGluZWF1QGdtYWlsLmNvbT4KCgkgIHN5cy9zdW5hdWRpby86IFJlbW92ZSB1bnVzZWQgdmFyaWFibGVzLCBicmVha3MgYnVpbGQgZnJvbSBDVlMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6CgkgIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX2dldF92b2x1bWUpLAoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9zZXRfdm9sdW1lKToKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcnRyYWNrLmM6CgkgIChnc3Rfc3VuYXVkaW9taXhlcl90cmFja19uZXcpOgoJICBSZW1vdmUgdW51c2VkIHZhcmlhYmxlcywgYnJlYWtzIGJ1aWxkIGZyb20gQ1ZTCgkgIHdpdGggLVdlcnJvciAoIzMzMzM5MiwgcGF0Y2ggYnk6IEJlbmphbWluIFBpbmVhdSkKCjIwMDYtMDMtMDMgMjM6NDU6MjMgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIHN5cy86IHNpbmtzIGFyZSBub3cgdXNpbmcgR1NUX1JBTktfUFJJTUFSWSB0byBiZSB1c2VkIHdpdGggYXV0b2RlY3RlY3Rpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXc6CgkgICogc3lzL2RpcmVjdHNvdW5kOgoJICBzaW5rcyBhcmUgbm93IHVzaW5nIEdTVF9SQU5LX1BSSU1BUlkgdG8gYmUgdXNlZCB3aXRoIGF1dG9kZWN0ZWN0aW9uCgkgICogd2luMzIvdnM2OgoJICBwcm9qZWN0IGZpbGVzIHVwZGF0ZWQgdG8gZml4IHNvbWUgYnVncwoJICAqIHdpbjMyL3ZzNzoKCSAgKiB3aW4zMi92czg6CgkgIHZzNyBhbmQgdnM4IHByb2plY3QgZmlsZXMgYWRkZWQKCjIwMDYtMDMtMDMgMTg6MzY6NTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGRlZCB3YXZwYXJzZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIEFkZGVkIHdhdnBhcnNlIGRvY3MuCgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfY2xhc3NfaW5pdCksCgkgIChnc3Rfd2F2cGFyc2VfcmVzZXQpLCAoZ3N0X3dhdnBhcnNlX2luaXQpLAoJICAoZ3N0X3dhdnBhcnNlX2NyZWF0ZV9zb3VyY2VwYWQpLCAoZ3N0X3dhdnBhcnNlX3BhcnNlX2ZpbGVfaGVhZGVyKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1faW5pdCksIChnc3Rfd2F2cGFyc2VfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksIChnc3Rfd2F2cGFyc2Vfc2VuZF9ldmVudCksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpLCAoZ3N0X3dhdnBhcnNlX2xvb3ApLAoJICAoZ3N0X3dhdnBhcnNlX3NyY3BhZF9ldmVudCksIChnc3Rfd2F2cGFyc2Vfc2lua19hY3RpdmF0ZV9wdWxsKSwKCSAgKGdzdF93YXZwYXJzZV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJICBJbXBsZW1lbnQgc2VlayBpbiBSRUFEWSAoZml4ZXMgIzMyNzY1OCkKCSAgQWRkZWQgZG9jcyBhbmQgZGlkIHNvbWUgY2xlYW51cHMuCgoyMDA2LTAzLTAzIDE3OjUxOjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC4qOiBJZiB3ZSBoYXZlIGFuIGluZGV4LCB1c2UgYSBkdXJhdGlvbiBiYXNlZCBvbiB0aGUgaW5kZXggaW5zdGVhZCBvZiBibGluZGx5IHRydXN0aW5nIHRoZSBpbmZvcm1hLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksCgkgIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfZXZlbnQpLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLAoJICAoZ3N0X2F2aV9kZW11eF9jYWxjdWxhdGVfZHVyYXRpb25zX2Zyb21faW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyKToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIElmIHdlIGhhdmUgYW4gaW5kZXgsIHVzZSBhIGR1cmF0aW9uIGJhc2VkIG9uIHRoZSBpbmRleCBpbnN0ZWFkCgkgIG9mIGJsaW5kbHkgdHJ1c3RpbmcgdGhlIGluZm9ybWF0aW9uIGluIHRoZSBzdHJlYW0gaGVhZGVycwoJICAoZml4ZXMgIzMzMTgxNykuCgoyMDA2LTAzLTAzIDE1OjUwOjQwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkZWQgc21va2UgYW5kIGpwZWcgdG8gdGhlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgQWRkZWQgc21va2UgYW5kIGpwZWcgdG8gdGhlIGRvY3MuCgkgICogZXh0L2pwZWcvTWFrZWZpbGUuYW06CgkgICogZXh0L2pwZWcvZ3N0anBlZy5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogKGdzdF9qcGVnX2RlY19jaGFpbik6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2VuYy5oOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZGVjLmM6IChnc3Rfc21va2VkZWNfaW5pdCksCgkgIChnc3Rfc21va2VkZWNfY2hhaW4pOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZGVjLmg6CgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzogKGdzdF9zbW9rZWVuY19jaGFpbik6CgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuaDoKCSAgKiBleHQvanBlZy9zbW9rZWNvZGVjLmg6CgkgIFBvcnQgc21va2VkZWMgKGZpeGVzICMzMzE5MDUpLgoJICBBZGRlZCBzb21lIGRvY3MuCgkgIFNvbWUgY2xlYW51cHMuCgoyMDA2LTAzLTAzIDE0OjM5OjU1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkZWQgdmlkZW9iYWxhbmNlIGFuZCB2aWRlb2ZsaXAgdG8gdGhlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgQWRkZWQgdmlkZW9iYWxhbmNlIGFuZCB2aWRlb2ZsaXAgdG8gdGhlIGRvY3MuCgkgICogZ3N0L3ZpZGVvZmlsdGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgKGdzdF92aWRlb19iYWxhbmNlX3VwZGF0ZV90YWJsZXNfcGxhbmFyNDExKSwKCSAgKGdzdF92aWRlb19iYWxhbmNlX2lzX3Bhc3N0aHJvdWdoKSwKCSAgKGdzdF92aWRlb19iYWxhbmNlX3VwZGF0ZV9wcm9wZXJ0aWVzKSwgKG9pbF90YWJsZWxvb2t1cF91OCksCgkgIChnc3RfdmlkZW9fYmFsYW5jZV9wbGFuYXI0MTFfaXApLCAoZ3N0X3ZpZGVvX2JhbGFuY2Vfc2V0X2NhcHMpLAoJICAoZ3N0X3ZpZGVvX2JhbGFuY2VfdHJhbnNmb3JtX2lwKSwgKGdzdF92aWRlb19iYWxhbmNlX2Jhc2VfaW5pdCksCgkgIChnc3RfdmlkZW9fYmFsYW5jZV9maW5hbGl6ZSksIChnc3RfdmlkZW9fYmFsYW5jZV9jbGFzc19pbml0KSwKCSAgKGdzdF92aWRlb19iYWxhbmNlX2luaXQpLCAoZ3N0X3ZpZGVvX2JhbGFuY2VfaW50ZXJmYWNlX3N1cHBvcnRlZCksCgkgIChnc3RfdmlkZW9fYmFsYW5jZV9pbnRlcmZhY2VfaW5pdCksCgkgIChnc3RfdmlkZW9fYmFsYW5jZV9jb2xvcmJhbGFuY2VfbGlzdF9jaGFubmVscyksCgkgIChnc3RfdmlkZW9fYmFsYW5jZV9jb2xvcmJhbGFuY2Vfc2V0X3ZhbHVlKSwKCSAgKGdzdF92aWRlb19iYWxhbmNlX2NvbG9yYmFsYW5jZV9nZXRfdmFsdWUpLAoJICAoZ3N0X3ZpZGVvX2JhbGFuY2VfY29sb3JiYWxhbmNlX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2JhbGFuY2Vfc2V0X3Byb3BlcnR5KSwgKGdzdF92aWRlb19iYWxhbmNlX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfdmlkZW9fYmFsYW5jZV9nZXRfdHlwZSksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5oOgoJICBQb3J0ZWQgdG8gMC4xMC4gKEZpeGVzICMzMjYxNjApCgkgIEFkZGVkIGRvY3MuCgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuaDoKCSAgQWRkZWQgZG9jcy4KCjIwMDYtMDMtMDMgMTE6MDc6NDEgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFVzZSBHU1RfV0FSTklORyBpbnN0ZWFkIG9mIEdTVF9FUlJPUiBmb3IgYWxsIHRoZSB0b28gc2hvcnQvbG9uZyBhdG9tcyB3aGVuIHBhcnNpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2UpLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgVXNlIEdTVF9XQVJOSU5HIGluc3RlYWQgb2YgR1NUX0VSUk9SIGZvciBhbGwgdGhlIHRvbyBzaG9ydC9sb25nIGF0b21zCgkgIHdoZW4gcGFyc2luZy4KCSAgQWxzbyBsZXQncyBiZSBhIGJpdCBsZXNzIHZ1bGdhciBpbiBvdXIgd2FybmluZyBtZXNzYWdlcyA6KQoKMjAwNi0wMy0wMiAxNToxNDoyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQnVtcCByZXF1aXJlbWVudHMgdG8gY3VycmVudCBjb3JlIGFuZCAtYmFzZSBDVlMgKGNvcmUgZm9yIG5ldyB0eXBlZmluZCBoZWxwZXIgQVBJLCBhbmQgLWJhc2UgZm9yIHRoZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgcmVxdWlyZW1lbnRzIHRvIGN1cnJlbnQgY29yZSBhbmQgLWJhc2UgQ1ZTCgkgIChjb3JlIGZvciBuZXcgdHlwZWZpbmQgaGVscGVyIEFQSSwgYW5kIC1iYXNlIGZvciB0aGUKCSAgV0FWRk9STUFURVggc3VwcG9ydCB0aGF0IHdhcyBhZGRlZCB0byBsaWJnc3RyaWZmIGFuZAoJICBpcyBuZWVkZWQgYnkgd2F2cGFyc2UpLgoJICAqIGdzdC9hcGV0YWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOiAoZ3N0X3RhZ19kZW11eF9jaGFpbiksCgkgIChnc3RfdGFnX2RlbXV4X3NpbmtfYWN0aXZhdGUpOgoJICBVc2UgbmV3IHR5cGVmaW5kIGhlbHBlcnMgZm9yIHR5cGVmaW5kaW5nIGluc3RlYWQgb2Ygb3VyCgkgIGhvbWUtZ3Jvd24gc3R1ZmY7IGFsc28sIGRvIHR5cGVmaW5kaW5nIGluIHB1bGwtbW9kZSBpZgoJICB1cHN0cmVhbSBzdXBwb3J0cyB0aGF0LgoKMjAwNi0wMi0yOCAxMTo1OTo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQ2FuJ3QgZGl2aWRlIHRocm91Z2ggemVybyAoc3VwcHJlc3Mgd2FybmluZyBpbiBjYXNlIG9mIHN0cmVhbSB3aXRoIG9uZSBzaW5nbGUgc3RpbGwgcGljdHVyZSkgKC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBDYW4ndCBkaXZpZGUgdGhyb3VnaCB6ZXJvIChzdXBwcmVzcyB3YXJuaW5nIGluIGNhc2Ugb2YKCSAgc3RyZWFtIHdpdGggb25lIHNpbmdsZSBzdGlsbCBwaWN0dXJlKSAoc2VlICMzMjcwODMpCgoyMDA2LTAyLTI4IDEwOjQwOjAxICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkgIHJlbW92ZSBjb25mbGljdCBpbmRpY2F0b3IKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZSBjb25mbGljdCBpbmRpY2F0b3IKCjIwMDYtMDItMjggMTA6Mzk6MDggKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIENoYW5nZUxvZzoKCSAgYWRkIG1pc3NpbmcgZW50cnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBtaXNzaW5nIGVudHJ5CgoyMDA2LTAyLTI4IDEwOjI5OjE2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IFVzZSBERUJVR19PQkpFQ1QgbW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpLAoJICAoZ3N0X3dhdnBhcnNlX3BhZF9jb252ZXJ0KSwgKGdzdF93YXZwYXJzZV9zcmNwYWRfZXZlbnQpLAoJICAoZ3N0X3dhdnBhcnNlX3NpbmtfYWN0aXZhdGUpLCAoZ3N0X3dhdnBhcnNlX3NpbmtfYWN0aXZhdGVfcHVsbCk6CgkgIFVzZSBERUJVR19PQkpFQ1QgbW9yZS4KCjIwMDYtMDItMjggMTA6MjI6MTEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGRlZCBkdmRlYyBhbmQgZHZkZW11eCB0byBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIEFkZGVkIGR2ZGVjIGFuZCBkdmRlbXV4IHRvIGRvY3MuCgkgICogZXh0L2R2L2dzdGR2ZGVjLmM6IChnc3RfZHZkZWNfYmFzZV9pbml0KSwgKGdzdF9kdmRlY19jaGFpbik6CgkgIEFkZGVkIGRvY3MuCgkgIENoZWNrIGZyYW1lIHNpemVzIHNvIHdlIGRvbid0IGNyYXNoIHdoZW4gZG9uJ3QgaGF2ZSBlbm91Z2gKCSAgZGF0YS4KCSAgU2VuZCBuaWNlIGVycm9yIG1lc3NhZ2VzIG9uIGVycm9yLgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9iYXNlX2luaXQpLAoJICAoZ3N0X2R2ZGVtdXhfY2xhc3NfaW5pdCksIChnc3RfZHZkZW11eF9pbml0KSwKCSAgKGdzdF9kdmRlbXV4X2ZpbmFsaXplKSwgKGdzdF9kdmRlbXV4X3Jlc2V0KSwKCSAgKGdzdF9kdmRlbXV4X3NyY19jb252ZXJ0KSwgKGdzdF9kdmRlbXV4X3NpbmtfY29udmVydCksCgkgIChnc3RfZHZkZW11eF9zcmNfcXVlcnkpLCAoZ3N0X2R2ZGVtdXhfc2lua19xdWVyeSksCgkgIChnc3RfZHZkZW11eF9wdXNoX2V2ZW50KSwgKGdzdF9kdmRlbXV4X2hhbmRsZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9kdmRlbXV4X2NvbnZlcnRfc3JjX3BhaXIpLCAoZ3N0X2R2ZGVtdXhfY29udmVydF9zaW5rX3BhaXIpLAoJICAoZ3N0X2R2ZGVtdXhfY29udmVydF9zcmNfdG9fc2luayksIChnc3RfZHZkZW11eF9oYW5kbGVfcHVzaF9zZWVrKSwKCSAgKGdzdF9kdmRlbXV4X2RvX3NlZWspLCAoZ3N0X2R2ZGVtdXhfaGFuZGxlX3B1bGxfc2VlayksCgkgIChnc3RfZHZkZW11eF9oYW5kbGVfc3JjX2V2ZW50KSwgKGdzdF9kdmRlbXV4X2RlbXV4X2F1ZGlvKSwKCSAgKGdzdF9kdmRlbXV4X2RlbXV4X3ZpZGVvKSwgKGdzdF9kdmRlbXV4X2RlbXV4X2ZyYW1lKSwKCSAgKGdzdF9kdmRlbXV4X2ZsdXNoKSwgKGdzdF9kdmRlbXV4X2NoYWluKSwgKGdzdF9kdmRlbXV4X2xvb3ApLAoJICAoZ3N0X2R2ZGVtdXhfc2lua19hY3RpdmF0ZV9wdXNoKSwgKGdzdF9kdmRlbXV4X3NpbmtfYWN0aXZhdGVfcHVsbCksCgkgIChnc3RfZHZkZW11eF9zaW5rX2FjdGl2YXRlKSwgKGdzdF9kdmRlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguaDoKCSAgQWRkZWQgZG9jcy4KCSAgSW1wbGVtZW50IHB1bGwgbW9kZS4KCSAgRml4IG1lbWxlYWtzLgoJICBSZWR1Y2UgbWVtY3B5IGZvciB0aGUgdmlkZW8gZGVtdXhpbmcuCgoyMDA2LTAyLTI4IDA5OjIxOjI3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9hbm5vZGV4LzogQWRkIGEgbGl0dGxlIGV4dHJhIGRlYnVnLiBNYWtlIHRoZSBkZWNvZGVyIG5vdCByZXR1cm4gTk9UX0xJTktFRCwgYXMgd2Ugd2FudCB0byBjb250aW51ZSBkZWNvZGluZyBhbGwgQy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6IChnc3RfY21tbF9kZWNfc2lua19ldmVudCksCgkgIChnc3RfY21tbF9kZWNfbmV3X2J1ZmZlciksIChnc3RfY21tbF9kZWNfcGFyc2VfcHJlYW1ibGUpLAoJICAoZ3N0X2NtbWxfZGVjX3BhcnNlX2hlYWQpLCAoZ3N0X2NtbWxfZGVjX3B1c2hfY2xpcCk6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbHBhcnNlci5jOiAoZ3N0X2NtbWxfcGFyc2VyX3BhcnNlX2NodW5rKToKCSAgQWRkIGEgbGl0dGxlIGV4dHJhIGRlYnVnLiBNYWtlIHRoZSBkZWNvZGVyIG5vdCByZXR1cm4gTk9UX0xJTktFRCwKCSAgYXMgd2Ugd2FudCB0byBjb250aW51ZSBkZWNvZGluZyBhbGwgQ01NTCBhbmQgZW1pdHRpbmcgdGFncy4KCjIwMDYtMDItMjcgMTQ6Mzc6MjkgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgYWRkIGFubm9kZXggcGx1Z2luCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgYW5ub2RleCBwbHVnaW4KCjIwMDYtMDItMjcgMTQ6MDA6MTggKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGV4dC9hbm5vZGV4L2dzdHNrZWx0YWcuKjogRGVsZXRlZDsgdGhlc2UgZmlsZXMgYXJlbid0IHVzZWQgYW55IG1vcmUgZWl0aGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW5ub2RleC9nc3Rza2VsdGFnLmM6CgkgICogZXh0L2Fubm9kZXgvZ3N0c2tlbHRhZy5oOgoJICBEZWxldGVkOyB0aGVzZSBmaWxlcyBhcmVuJ3QgdXNlZCBhbnkgbW9yZSBlaXRoZXIuCgoyMDA2LTAyLTI1IDIwOjM3OjI5ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9NYWtlZmlsZS5hbTogRml4IGRpc3QtY2hlY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAyLTI1ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L01ha2VmaWxlLmFtOiBGaXggZGlzdC1jaGVjay4KCjIwMDYtMDItMjUgMTk6MzY6MjQgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOiBGaXggYW5vdGhlciBtZW1sZWFrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMi0yNSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzogKGdzdF9jbW1sX2VuY19wdXNoX2NsaXApOiBGaXggYW5vdGhlcgoJICBtZW1sZWFrLgoKMjAwNi0wMi0yNSAxOTowNzo0MSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBGaXggYSBtZW1sZWFrIGluIGdzdF9jbW1sX3RyYWNrX2xpc3RfYWRkX2NsaXAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAyLTI1ICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyb0BubnZhLm9yZz4KCSAgKiBleHQvYW5ub2RleC9NYWtlZmlsZS5hbToKCSAgKiBleHQvYW5ub2RleC9nc3Rhbm5vZGV4LmM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1scGFyc2VyLmM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbHBhcnNlci5oOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWx1dGlscy5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxkZWMuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZW5jLmM6CgkgIEZpeCBhIG1lbWxlYWsgaW4gZ3N0X2NtbWxfdHJhY2tfbGlzdF9hZGRfY2xpcC4KCSAgSGFuZGxlIG92ZXJmbG93cyBpbiBjbGlwJ3Mgc3RhcnQgYW5kIGVuZCB0aW1lcy4KCSAgQWRkIHRoZSAiZW5jb2RlZCIgcGFyYW1ldGVyIHRvIGNtbWxkZWMgYW5kIGNtbWxlbmMgY2Fwcy4KCSAgRG8gbm90IHBhcnNlIGp1bmsgYXQgdGhlIGVuZCBvZiBhIENNTUwgcHJlYW1ibGUgYnVmZmVyLgoJICBSZWdpc3RlciBhIGxpYnhtbCBlcnJvciBoYW5kbGVyIHRvIG5vdCBwcmludCBzdHVmZiBvbiBzdGRlcnIuCgkgIENoZWNrIGZvciBiYWQgY2xpcCBzdGFydCBhbmQgZW5kIHRpbWVzIGluIHRoZSB0ZXN0c3VpdGVzLgoKMjAwNi0wMi0yNSAxMTozNzoxMCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvYW5ub2RleC86IEZpeCBwb3NzaWJsZSBtZW1sZWFrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDItMjUgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6IChnc3RfY21tbF9kZWNfY2xhc3NfaW5pdCksCgkgIChnc3RfY21tbF9kZWNfZmluYWxpemUpLCAoZ3N0X2NtbWxfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOiAoZ3N0X2NtbWxfZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2NtbWxfZW5jX2ZpbmFsaXplKSwgKGdzdF9jbW1sX2VuY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWx1dGlscy5jOiAoZ3N0X2NtbWxfdHJhY2tfbGlzdF9kZXN0cm95KTogRml4CgkgIHBvc3NpYmxlIG1lbWxlYWtzLgoKMjAwNi0wMi0yNCAyMzo1MjoyOCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay86IEZpeCB0ZXN0cyBzbyB0aGF0IHRoZXkgdXNlIHRoZSBwbHVnaW5zLWJhc2UgdGFncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDItMjUgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGVuYy5jOiBGaXggdGVzdHMgc28gdGhhdCB0aGV5IHVzZQoJICB0aGUgcGx1Z2lucy1iYXNlIHRhZ3MuCgoyMDA2LTAyLTI0IDIzOjM2OjU4ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9NYWtlZmlsZS5hbTogUmUtZW5hYmxlIG1vZHVsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDItMjUgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvTWFrZWZpbGUuYW06IFJlLWVuYWJsZSBtb2R1bGUuCgoyMDA2LTAyLTI0IDIzOjMyOjE0ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBGb3Jnb3QgdG8gcmVtb3ZlIHRoYXQgdGVzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDItMjUgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogRm9yZ290IHRvIHJlbW92ZSB0aGF0IHRlc3QuCgoyMDA2LTAyLTI0IDIzOjMxOjA4ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIFRyeSB0byBmaXggQW5ub2RleCBwbHVnaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAyLTI1ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L2Fubm9kZXgvTWFrZWZpbGUuYW06CgkgICogZXh0L2Fubm9kZXgvZ3N0YW5ub2RleC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSAgKiBleHQvYW5ub2RleC9nc3Rza2VsZGVjLmM6CgkgICogZXh0L2Fubm9kZXgvZ3N0c2tlbGRlYy5oOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NrZWxkZWMuYzogVHJ5IHRvIGZpeCBBbm5vZGV4IHBsdWdpbi4KCjIwMDYtMDItMjQgMjM6MDY6MjcgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IERpc2FibGUgdGhvc2UgY2hlY2tzIGFzIHdlbGwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAyLTI1ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IERpc2FibGUgdGhvc2UgY2hlY2tzIGFzIHdlbGwuCgoyMDA2LTAyLTI0IDIyOjQ5OjI5ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9NYWtlZmlsZS5hbTogRGlzYWJsZSBhbm5vZGV4IGZvciBub3cgdW50aWwgd2UgZmlndXJlIG91dCBob3cgdG8gbWFrZSBpdCBidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDItMjQgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvTWFrZWZpbGUuYW06IERpc2FibGUgYW5ub2RleCBmb3Igbm93IHVudGlsIHdlIGZpZ3VyZSBvdXQKCSAgaG93IHRvIG1ha2UgaXQgYnVpbGQuCgkgICogZXh0L2dka19waXhidWYvTWFrZWZpbGUuYW06IE5vdGUgZm9yIFRob21hcyA6CgkgIEFkZCBhIHJ1bGUgdG8geW91ciBjaGVja2xpc3QgOiAicGxlYXNlIHRyeSB0byBhdCBsZWFzdCBidWlsZAoJICB3aGF0IHlvdSBhcmUgZ29pbmcgdG8gY29tbWl0IGludG8gLWdvb2QsIG9yIGlmIHlvdSBhcmUgdG9vIGxhenkKCSAgdG8gZG8gdGhhdCwgcGxlYXNlIGNoZWNrIHRoYXQgdGhlIGJ1aWxkYm90cyBhcmUgbm90IGNyeWluZyBiZWNhdXNlCgkgIG9mIHlvdXIgY29tbWl0LiIKCjIwMDYtMDItMjQgMTk6NTE6MjkgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9nZGtfcGl4YnVmL01ha2VmaWxlLmFtOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmg6CgkqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6CgkqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmg6CgkgIEknbSB0b28gbGF6eSB0byBjb21tZW50IHRoaXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEdka3BpeGJ1ZiBwb3J0ZWQgZnJvbSAwLjggdG8gMC4xMCBieSBSZW5hdG8gRmlsaG8gPHJlbmF0by5maWxob0BpbmR0Lm9yZy5icj4uIGdzdF9sb2FkZXIgYW5kIGdka3BpeGJ1ZmFuaW1hdGlvbiBzdGlsbCBuZWVkIHBvcnQuCgoyMDA2LTAyLTI0IDE5OjQ5OjMyICswMDAwICBGYWJyaXppbyBHZW5uYXJpIDxmYWJyaXppby5nZUB0aXNjYWxpLml0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgc3VwcG9ydCBmb3IgcGFsZXR0aXNlZCBBcHBsZSBTTUMgdmlkZW9zICgjMzI3MDc1LCBiYXNlZCBvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayksIChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBBZGQgc3VwcG9ydCBmb3IgcGFsZXR0aXNlZCBBcHBsZSBTTUMgdmlkZW9zICgjMzI3MDc1LCBiYXNlZCBvbgoJICBwYXRjaCBieTogRmFicml6aW8gR2VubmFyaSA8ZmFicml6aW8gZG90IGdlIGF0IHRpc2NhbGkgZG90IGl0PikuCgoyMDA2LTAyLTI0IDE5OjA3OjEwICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBBZGQgQW5ub2RleCBlbGVtZW50cyBmcm9tIEFsZXNzZW5kcm8gRGVjaW5hOiBza2VsZXRvbiBhbmQgQ01NTC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvYW5ub2RleC9NYWtlZmlsZS5hbToKCSAgKiBleHQvYW5ub2RleC9nc3Rhbm5vZGV4LmM6CgkgICogZXh0L2Fubm9kZXgvZ3N0YW5ub2RleC5oOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmg6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuaDoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1scGFyc2VyLmM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbHBhcnNlci5oOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWx0YWcuYzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sdGFnLmg6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbHV0aWxzLmM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbHV0aWxzLmg6CgkgICogZXh0L2Fubm9kZXgvZ3N0c2tlbGRlYy5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdHNrZWxkZWMuaDoKCSAgKiBleHQvYW5ub2RleC9nc3Rza2VsdGFnLmM6CgkgICogZXh0L2Fubm9kZXgvZ3N0c2tlbHRhZy5oOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxkZWMuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZW5jLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc2tlbGRlYy5jOgoJICBBZGQgQW5ub2RleCBlbGVtZW50cyBmcm9tIEFsZXNzZW5kcm8gRGVjaW5hOiBza2VsZXRvbiBhbmQgQ01NTC4KCSAgSW5jbHVkZXMgdGVzdHMgJiBkb2NzLCBvaCBteSEgUGFzc2VzIFRob21hcydzIC1nb29kIGNoZWNrbGlzdAoJICBlbnRpcmVseS4gV293LgoKMjAwNi0wMi0yNCAxNzowOTo1NiArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgYXV0b2dlbi5zaDogQ2hlY2sgZm9yIGF1dG9tYWtlIDEuOSBhcyB3ZWxsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBhdXRvZ2VuLnNoOgoJICBDaGVjayBmb3IgYXV0b21ha2UgMS45IGFzIHdlbGwuCgoyMDA2LTAyLTI0IDE0OjQ5OjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiBDaGFuZ2UgbWluLiBzYW1wbGUgcmF0ZSB0byA4a0h6IHRvIG1hdGNoIGZsYWNkZWMncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBDaGFuZ2UgbWluLiBzYW1wbGUgcmF0ZSB0byA4a0h6IHRvIG1hdGNoIGZsYWNkZWMncy4KCjIwMDYtMDItMjMgMjA6MDg6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvY2Rpby9NYWtlZmlsZS5hbTogQWRkIEdTVF9CQVNFX0NGTEFHUyBhbmQgR1NUX0JBU0VfTElCUyAoc2VlbXMgdG8gYmUgcmVxdWlyZWQgZm9yIEN5Z3dpbiwgc2VlICMzMTcwNDgpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jZGlvL01ha2VmaWxlLmFtOgoJICBBZGQgR1NUX0JBU0VfQ0ZMQUdTIGFuZCBHU1RfQkFTRV9MSUJTIChzZWVtcyB0byBiZQoJICByZXF1aXJlZCBmb3IgQ3lnd2luLCBzZWUgIzMxNzA0OCkKCSAgKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJICBDeWd3aW4gaGFzIGluY2x1ZGVzIGZvciBib3RoIHRoZSB1bml4IG5ldHdvcmsgc29ja2V0IEFQSQoJICBhbmQgdGhlIHdpbmRvd3MgQVBJLCBidXQgb25seSBvbmUgY2FuIGJlIGluY2x1ZGVkLCBzbyBmaXgKCSAgaW5jbHVkZXMgdG8gb25seSB1c2Ugb25lIG9yIHRoZSBvdGhlciwgcHJlZmVyaW5nIHRoZSB1bnhpCgkgIG9uZSAoIzMxNzA0OCkuCgoyMDA2LTAyLTIzIDEyOjIxOjI1ICswMDAwICBQaGlsaXBwZSBLYWxhZiA8cGhpbGlwcGUua2FsYWZAY29sbGFib3JhLmNvLnVrPgoKCSAgcnRwL2dzdC86IFNlcGFyYXRlZCB0aGUgRzcxMSBwYXlsb2FkZXJzL2RlcGF5bG9hZGVycyBpbnRvIHNlcGFyYXRlIGVsZW1lbnRzIGZvciBtdWxhdy9hbGF3LiBBbHNvIHJlbW92ZWQgdGhlIG9sZCBnNzExLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAyLTIzICBQaGlsaXBwZSBLYWxhZiAgPHBoaWxpcHBlLmthbGFmIGF0IGNvbGxhYm9yYS5jby51az4KCSAgKiBydHAvZ3N0L2dzdHJ0cHBjbWFkZXBheS5jOgoJICAqIHJ0cC9nc3QvZ3N0cnRwcGNtYWRlcGF5Lmg6CgkgICogcnRwL2dzdC9nc3Rnc3RydHBwY21hcGF5LmM6CgkgICogcnRwL2dzdC9nc3Rnc3RydHBwY21hcGF5Lmg6CgkgICogcnRwL2dzdC9nc3RydHBwY211ZGVwYXkuYzoKCSAgKiBydHAvZ3N0L2dzdHJ0cHBjbXVkZXBheS5oOgoJICAqIHJ0cC9nc3QvZ3N0cnRwcGNtdXBheS5jOgoJICAqIHJ0cC9nc3QvZ3N0cnRwcGNtdXBheS5oOgoJICAqIHJ0cC9nc3QvTWFrZWZpbGUuYW06CgkgICogcnRwL2dzdC9nc3RydHAuYzoKCSAgKiBydHAvZ3N0L1JFQURNRToKCSAgU2VwYXJhdGVkIHRoZSBHNzExIHBheWxvYWRlcnMvZGVwYXlsb2FkZXJzIGludG8gc2VwYXJhdGUgZWxlbWVudHMgZm9yCgkgIG11bGF3L2FsYXcuIEFsc28gcmVtb3ZlZCB0aGUgb2xkIGc3MTEgcGF5bG9hZGVycy9kZXBheWxvYWRlcnMuCgoyMDA2LTAyLTIyIDIwOjIyOjI1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2R2LzogVWViZXIgc3BpZmZpZnkgc29tZSBtb3JlLCBhZGRlZCBkZWJ1ZyBjYXRlZ29yeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVjLmM6IChnc3RfZHZkZWNfYmFzZV9pbml0KSwgKGdzdF9kdmRlY19pbml0KSwKCSAgKGdzdF9kdmRlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9kdi9nc3RkdmRlYy5oOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9iYXNlX2luaXQpLCAoZ3N0X2R2ZGVtdXhfaW5pdCksCgkgIChnc3RfZHZkZW11eF9zcmNfY29udmVydCksIChnc3RfZHZkZW11eF9zaW5rX2NvbnZlcnQpLAoJICAoZ3N0X2R2ZGVtdXhfc3JjX3F1ZXJ5KSwgKGdzdF9kdmRlbXV4X3NpbmtfcXVlcnkpLAoJICAoZ3N0X2R2ZGVtdXhfaGFuZGxlX3NpbmtfZXZlbnQpLCAoZ3N0X2R2ZGVtdXhfZGVtdXhfZnJhbWUpLAoJICAoZ3N0X2R2ZGVtdXhfZmx1c2gpLCAoZ3N0X2R2ZGVtdXhfY2hhaW4pLAoJICAoZ3N0X2R2ZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5oOgoJICBVZWJlciBzcGlmZmlmeSBzb21lIG1vcmUsIGFkZGVkIGRlYnVnIGNhdGVnb3J5LgoJICBVc2UgX3NjYWxlLgoJICBVc2Ugc2VnbWVudHMsIHJlc3BlY3QgcGxheWJhY2sgcmF0ZSBmcm9tIG5ld3NlZ21lbnQuCgkgIEZpeCByZWZjb3VudCBpc3N1ZS4KCjIwMDYtMDItMjIgMDk6MzM6MjUgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCAnZHZzZCcgYW5kICdkdjI1JyB0byBsaXN0IG9mIHBvc3NpYmxlIGZvdXJjYyB2YWx1ZXMgZm9yIERWIFZpZGVvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmV2aWV3ZWQgYnkgOiBFZHdhcmQgSGVydmV5IDxlZHdhcmRAZmx1ZW5kby5jb20+CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF92aWRlb19jYXBzKToKCSAgQWRkICdkdnNkJyBhbmQgJ2R2MjUnIHRvIGxpc3Qgb2YgcG9zc2libGUgZm91cmNjIHZhbHVlcyBmb3IgRFYgVmlkZW8uCgkgIEFkZCBpbWFnZS9wbmcgZm9yIGZvdXJjYyAncG5nICcKCjIwMDYtMDItMjAgMjE6MTk6NTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUG9ydCB4aW1hZ2VzcmMgdG8gMC4xMCAoQ2xvc2VzICMzMDQ3OTUpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL3hpbWFnZXNyYy9NYWtlZmlsZS5hbToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZXNyY19yZXR1cm5fYnVmKSwKCSAgKGdzdF94aW1hZ2VzcmNfb3Blbl9kaXNwbGF5KSwgKGdzdF94aW1hZ2VzcmNfc3RhcnQpLAoJICAoZ3N0X3hpbWFnZXNyY19zdG9wKSwgKGdzdF94aW1hZ2VzcmNfdW5sb2NrKSwKCSAgKGdzdF94aW1hZ2VzcmNfcmVjYWxjKSwgKGNvbXBvc2l0ZV9waXhlbCksCgkgIChnc3RfeGltYWdlc3JjX3hpbWFnZV9nZXQpLCAoZ3N0X3hpbWFnZXNyY19jcmVhdGUpLAoJICAoZ3N0X3hpbWFnZXNyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3hpbWFnZXNyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3hpbWFnZXNyY19jbGVhcl9idWZwb29sKSwgKGdzdF94aW1hZ2VzcmNfYmFzZV9pbml0KSwKCSAgKGdzdF94aW1hZ2VzcmNfZGlzcG9zZSksIChnc3RfeGltYWdlc3JjX2ZpbmFsaXplKSwKCSAgKGdzdF94aW1hZ2VzcmNfZ2V0X2NhcHMpLCAoZ3N0X3hpbWFnZXNyY19zZXRfY2FwcyksCgkgIChnc3RfeGltYWdlc3JjX2ZpeGF0ZSksIChnc3RfeGltYWdlc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3hpbWFnZXNyY19pbml0KSwgKHBsdWdpbl9pbml0KToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5oOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdldXRpbC5jOiAoeGltYWdldXRpbF9oYW5kbGVfeGVycm9yKSwKCSAgKHhpbWFnZXV0aWxfY2hlY2tfeHNobV9jYWxscyksICh4aW1hZ2V1dGlsX3hjb250ZXh0X2dldCksCgkgICh4aW1hZ2V1dGlsX3hjb250ZXh0X2NsZWFyKSwKCSAgKHhpbWFnZXV0aWxfY2FsY3VsYXRlX3BpeGVsX2FzcGVjdF9yYXRpbyksCgkgIChnc3RfeGltYWdlc3JjX2J1ZmZlcl9maW5hbGl6ZSksIChnc3RfeGltYWdlX2J1ZmZlcl9mcmVlKSwKCSAgKGdzdF94aW1hZ2VzcmNfYnVmZmVyX2luaXQpLCAoZ3N0X3hpbWFnZXNyY19idWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3RfeGltYWdlc3JjX2J1ZmZlcl9nZXRfdHlwZSksIChnc3RfeGltYWdldXRpbF94aW1hZ2VfbmV3KSwKCSAgKGdzdF94aW1hZ2V1dGlsX3hpbWFnZV9kZXN0cm95KToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXV0aWwuaDoKCSAgUG9ydCB4aW1hZ2VzcmMgdG8gMC4xMCAoQ2xvc2VzICMzMDQ3OTUpCgo9PT0gcmVsZWFzZSAwLjEwLjEgPT09CgoyMDA2LTAyLTIwIDE5OjEyOjEwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogcmVsZWFzaW5nIDAuMTAuMSwgIlNsaW15IC0geWV0IHNhdGlzZnlpbmciCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAyLTIwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgIHJlbGVhc2luZyAwLjEwLjEsICJTbGlteSAtIHlldCBzYXRpc2Z5aW5nIgoKMjAwNi0wMi0yMCAxMzowODo1MCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiBGaXggY29tcGlsYXRpb24gb2YgTEFEUFNBLiBJdCBkb2Vzbid0IHNlZW0gdG8gd29yaywgYW5kIGlzbid0IGVuYWJsZWQgZm9yIHRoZSBidWlsZCwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogKGdzdF9zaWduYWxfcHJvY2Vzc29yX2V2ZW50KSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Byb2Nlc3MpOgoJICBGaXggY29tcGlsYXRpb24gb2YgTEFEUFNBLiBJdCBkb2Vzbid0IHNlZW0gdG8gd29yaywgYW5kIGlzbid0CgkgIGVuYWJsZWQgZm9yIHRoZSBidWlsZCwgYnV0IGl0IGhlbHBzIG1lIHdpbiB0aGUgZmVhdHVyZS1jb3VudAoJICBjb21wZXRpdGlvbnMgb29oIHllYWguCgoyMDA2LTAyLTE5IDE2OjAyOjI1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBVc2Ugc2NhbGluZyBjb2RlIGZvciBhZGRlZCBwcmVjaXNzaW9uIGFuZCBtb3JlIGNvcnJlY3Qgc3RvcCBwb3NpdGlvbiBpbiBjYXNlIHNjYWxlPT0wLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3NyY19jb252ZXJ0KSwKCSAgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfZXZlbnQpLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9maWxlX2hlYWRlciksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9pbml0KSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2VfYXZpaCksIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N1cGVyaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdWJpbmRleCksIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXIpLCAoZ3N0X2F2aV9kZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICBVc2Ugc2NhbGluZyBjb2RlIGZvciBhZGRlZCBwcmVjaXNzaW9uIGFuZCBtb3JlIGNvcnJlY3Qgc3RvcAoJICBwb3NpdGlvbiBpbiBjYXNlIHNjYWxlPT0wLgoKMjAwNi0wMi0xOSAxMjowOToxOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9mbHgvZ3N0Zmx4ZGVjLio6IEltcGxlbWVudCBEVVJBVElPTiBxdWVyeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZseC9nc3RmbHhkZWMuYzogKGdzdF9mbHhkZWNfc3JjX3F1ZXJ5X2hhbmRsZXIpLAoJICAoZ3N0X2ZseGRlY19jaGFpbik6CgkgICogZ3N0L2ZseC9nc3RmbHhkZWMuaDoKCSAgSW1wbGVtZW50IERVUkFUSU9OIHF1ZXJ5LgoKMjAwNi0wMi0xOSAxMTo1Nzo1OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9mbHgvOiBTZXQgTUFMTE9DREFUQSBmb3IgdGhlIHRlbXAgYnVmZmVycyBzbyB3ZSBkb24ndCBsZWFrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx4L2ZseF9jb2xvci5oOgoJICAqIGdzdC9mbHgvZmx4X2ZtdC5oOgoJICAqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6IChnc3RfZmx4ZGVjX2luaXQpLAoJICAoZ3N0X2ZseGRlY19zcmNfcXVlcnlfaGFuZGxlciksIChmbHhfZGVjb2RlX2NvbG9yKSwKCSAgKGdzdF9mbHhkZWNfY2hhaW4pOgoJICAqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmg6CgkgIFNldCBNQUxMT0NEQVRBIGZvciB0aGUgdGVtcCBidWZmZXJzIHNvIHdlIGRvbid0IGxlYWsuCgkgIFNvbWUgZGVidWcgY2xlYW51cHMuCgkgIENvbnN1bWUgYWxsIGRhdGEgaW4gdGhlIGFkYXB0ZXIgYmVmb3JlIGxlYXZpbmcgdGhlIGNoYWluCgkgIGZ1bmN0aW9uLiBGaXhlcyAjMzMwNjc4LgoKMjAwNi0wMi0xOCAyMDo0ODowOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvaWQzZGVtdXgvOiBIYW5kbGUgMCBkYXRhIHNpemUgaW4gb3RoZXJ3aXNlIHZhbGlkIGZyYW1lcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzogKGlkM2RlbXV4X2lkM3YyX2ZyYW1lc190b190YWdfbGlzdCk6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChpZDN2Ml9nZW5yZV9maWVsZHNfdG9fdGFnbGlzdCk6CgkgIEhhbmRsZSAwIGRhdGEgc2l6ZSBpbiBvdGhlcndpc2UgdmFsaWQgZnJhbWVzLgoJICBIYW5kbGUgbnVtZXJpYyBzdHJpbmdzIGluIDIuNC4wIGV2ZW4gd2hlbiBub3QgaW4gcGFyZW50aGVzZXMKCjIwMDYtMDItMTggMTc6MjA6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvOiBSZWNvZ25pc2UgU1NBL0FTUyBhbmQgVVNGIHN1YnRpdGxlIGZvcm1hdHMgYW5kIHNldCBwcm9wZXIgY2FwcyB3aGVuIHRoZXkgYXJlIGZvdW5kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9zdWJ0aXRsZV9jYXBzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wbHVnaW5faW5pdCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBSZWNvZ25pc2UgU1NBL0FTUyBhbmQgVVNGIHN1YnRpdGxlIGZvcm1hdHMgYW5kCgkgIHNldCBwcm9wZXIgY2FwcyB3aGVuIHRoZXkgYXJlIGZvdW5kLgoKMjAwNi0wMi0xNyAxODoyNTo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRG9uJ3QgR1NUX0xPRyB0aW1lc3RhbXBzIGZyb20gbm9uZXhpc3RlbnQgaW5kZXggZW50cmllcyAoIzMzMTU4MikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpOgoJICBEb24ndCBHU1RfTE9HIHRpbWVzdGFtcHMgZnJvbSBub25leGlzdGVudCBpbmRleAoJICBlbnRyaWVzICgjMzMxNTgyKS4KCjIwMDYtMDItMTcgMTc6NTQ6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvanBlZy9nc3RqcGVnZGVjLmM6IEZpeCBpbnZhbGlkIG1lbW9yeSBhY2Nlc3MgZm9yIHNvbWUgb2RkLXNpemVkIGltYWdlcyAoc2VlIGltYWdlIGNvbnRhaW5lZCBpbiBxdWlja3RpbWUgc3RyZWFtIGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiAoZ3N0X2pwZWdfZGVjX2RlY29kZV9kaXJlY3QpLAoJICAoZ3N0X2pwZWdfZGVjX2NoYWluKToKCSAgRml4IGludmFsaWQgbWVtb3J5IGFjY2VzcyBmb3Igc29tZSBvZGQtc2l6ZWQgaW1hZ2VzCgkgIChzZWUgaW1hZ2UgY29udGFpbmVkIGluIHF1aWNrdGltZSBzdHJlYW0gaW4gIzMyNzA4Myk7CgkgIHVzZSBnX21hbGxvYygpIGluc3RlYWQgb2YgZ19hbGxvY2EoKS4KCjIwMDYtMDItMTcgMTY6Mjg6MjkgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IENoZWNrIHRoYXQgdGhlIHNpemUgb2YgdGhlIHJldHVybmVkIGJ1ZmZlciBpcyBvZiB0aGUgY29ycmVjdCBzaXplIGJlY2F1c2UgdGhlIHBhcnNlciBhc3N1bWVzIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIpOgoJICBDaGVjayB0aGF0IHRoZSBzaXplIG9mIHRoZSByZXR1cm5lZCBidWZmZXIgaXMgb2YgdGhlIGNvcnJlY3Qgc2l6ZQoJICBiZWNhdXNlIHRoZSBwYXJzZXIgYXNzdW1lcyB0aGF0LgoJICBGaXhlcyAjMzMxNTQzLgoKMjAwNi0wMi0xNyAxNTozNzozOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzogUGF0Y2ggZnJvbSBTZWJhc3RpZW4gQ290ZSwgZml4ZXMgIzMxOTg4NAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6IChnc3RfcnRwX2Ftcl9kZXBheV9jaGFpbik6CgkgIFBhdGNoIGZyb20gU2ViYXN0aWVuIENvdGUsIGZpeGVzICMzMTk4ODQKCjIwMDYtMDItMTcgMTE6MTk6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvY2Rpby9nc3RjZGlvLmM6IEluaXQgZGVidWcgY2F0ZWdvcnkgKCMzMzEyNTMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Rpby9nc3RjZGlvLmM6IChwbHVnaW5faW5pdCk6CgkgIEluaXQgZGVidWcgY2F0ZWdvcnkgKCMzMzEyNTMpLgoKMjAwNi0wMi0xNyAxMDo1MzozOCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZXh0L2djb25mL2djb25mLmM6CgkqIGV4dC9nY29uZi9nY29uZi5oOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYzoKCSogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmg6CgkqIGdjb25mL2dzdHJlYW1lci5zY2hlbWFzLmluOgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIGFkZCBKdXJnJ3MgcGF0Y2ggZm9yIG11bHRpZGV2aWNlIHN1cHBvcnQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBKdXJnJ3MgcGF0Y2ggZm9yIG11bHRpZGV2aWNlIHN1cHBvcnQKCjIwMDYtMDItMTYgMjA6MzA6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogUGFzcyBleHRyYV9kYXRhIHRvIGdzdF9yaWZmX2NyZWF0ZV9hdWRpb19jYXBzKCksIHNvIHRoYXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpOgoJICBQYXNzIGV4dHJhX2RhdGEgdG8gZ3N0X3JpZmZfY3JlYXRlX2F1ZGlvX2NhcHMoKSwgc28gdGhhdAoJICBXQVZFRk9STUFURVggc3R1ZmYgd29ya3MuIFBvc3QgYXVkaW8gY29kZWMgbmFtZSBhbmQgcG9zdAoJICBpdCBhcyB0YWdsaXN0IG9uIHRoZSBidXMuIEFsbG93IHVwIHRvIDggY2hhbm5lc2wgZm9yIHJhdwoJICBQQ00gaW4gdGhlIHNvdXJjZSBwYWQgdGVtcGxhdGUgY2Fwcy4KCjIwMDYtMDItMTYgMTY6NTM6NTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6IEFwcGxpZWQgIzMxODY2My4gR2l2ZXMgcXVpdGUgYSBmZXcgZmFsc2UgcG9zaXRpdmVzIGluIGF1dG9zY2FuIG1vZGUsIGJ1dCBpdCdzIGJldHRlciAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOiAoZ3N0X211bHRpcGFydF9kZW11eF9iYXNlX2luaXQpLAoJICAoZ3N0X211bHRpcGFydF9kZW11eF9jbGFzc19pbml0KSwgKGdzdF9tdWx0aXBhcnRfZGVtdXhfaW5pdCksCgkgIChnc3RfbXVsdGlwYXJ0X2RlbXV4X2ZpbmFsaXplKSwgKGdzdF9tdWx0aXBhcnRfZmluZF9wYWRfYnlfbWltZSksCgkgIChnc3RfbXVsdGlwYXJ0X2RlbXV4X2NoYWluKSwgKGdzdF9tdWx0aXBhcnRfZGVtdXhfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9tdWx0aXBhcnRfc2V0X3Byb3BlcnR5KSwgKGdzdF9tdWx0aXBhcnRfZ2V0X3Byb3BlcnR5KToKCSAgQXBwbGllZCAjMzE4NjYzLiBHaXZlcyBxdWl0ZSBhIGZldyBmYWxzZSBwb3NpdGl2ZXMgaW4KCSAgYXV0b3NjYW4gbW9kZSwgYnV0IGl0J3MgYmV0dGVyIHRoYW4gbm90aGluZy4gTm90IGNsb3NpbmcgeWV0LgoKMjAwNi0wMi0xNiAxNDoxMzo0OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIFVwZGF0ZSBkb2N1bWVudGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NsYXNzX2luaXQpLCAoZ3N0X3VkcHNyY19pbml0KSwKCSAgKGdzdF91ZHBzcmNfc3RhcnQpOgoJICBVcGRhdGUgZG9jdW1lbnRhdGlvbi4KCSAgRml4IGFyZ3MuCgoyMDA2LTAyLTE2IDE0OjAyOjU3ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBEb24ndCBzdG9wIHRoZSB0YXNrIGlmIHRoZSBwYWQgaXNuJ3QgbGlua2VkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9xdGRlbXV4X2xvb3ApLCAocXRkZW11eF9zaW5rX2FjdGl2YXRlX3B1bGwpOgoJICBEb24ndCBzdG9wIHRoZSB0YXNrIGlmIHRoZSBwYWQgaXNuJ3QgbGlua2VkLgoKMjAwNi0wMi0xNiAxMDo1ODoxOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOiBJRDMgMi4zLjAgdXNlZCBzeW5jaC1zYWZlIGludGVnZXJzIGZvciB0aGUgdGFnIHNpemUsIGJ1dCBub3QgZm9yIHRoZSBmcmFtZSBzaXplLiAoRml4ZXMgIzMzMTM2OCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzogKGlkM2RlbXV4X2lkM3YyX2ZyYW1lc190b190YWdfbGlzdCk6CgkgIElEMyAyLjMuMCB1c2VkIHN5bmNoLXNhZmUgaW50ZWdlcnMgZm9yIHRoZSB0YWcgc2l6ZSwgYnV0IG5vdCBmb3IgdGhlCgkgIGZyYW1lIHNpemUuIChGaXhlcyAjMzMxMzY4KQoKMjAwNi0wMi0xNiAxMDo0MjoyNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL1JFQURNRTogVXBkYXRlZCBSRUFETUUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL1JFQURNRToKCSAgVXBkYXRlZCBSRUFETUUuCgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfZ2V0X3R5cGUpLAoJICAoZ3N0X3J0c3BzcmNfY2xhc3NfaW5pdCksIChnc3RfcnRzcHNyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0c3BzcmNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9ydHNwc3JjX3N0cmVhbV9zZXR1cF9ydHApOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgTWFrZSBzdXJlIHRoZSBSVFAgcG9ydCBpcyBhbiBldmVuIHBvcnQgYW4gdHJ5IHRvIGFsbG9jYXRlCgkgIGFub3RoZXIgaWYgbm90LgoJICBBZGRlZCByZXRyeSBwcm9wZXJ0eSB0byBjb250cm9sIG1heCByZXRyaWVzIGZvciBwb3J0IGFsbG9jYXRpb24uCgkgIE1ha2Ugc3VyZSBSVENQIHBvcnQgaXMgUlRQIHBvcnQrMS4KCSAgQ2xlYW51cCB3aGVuIHBvcnQgYWxsb2NhdGlvbiBmYWlscy4KCSAgRml4ZXMgIzMxOTE4My4KCjIwMDYtMDItMTYgMDk6MTc6NTggKzAwMDAgIFdvdXRlciBQYWVzZW4gPHdvdXRlckBrYW5nYXJvb3QubmV0PgoKCSAgZ3N0L2FscGhhL2dzdGFscGhhLmM6IERvbid0IGlnbm9yZSByZXR1cm4gdmFsdWUgb2YgdGhlIHBhcmVudCBjbGFzcydzIHN0YXRlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOiAoZ3N0X2FscGhhX2NoYW5nZV9zdGF0ZSk6CgkgIERvbid0IGlnbm9yZSByZXR1cm4gdmFsdWUgb2YgdGhlIHBhcmVudCBjbGFzcydzIHN0YXRlCgkgIGNoYW5nZSBmdW5jdGlvbiAoIzMzMTM4NSwgcGF0Y2ggYnk6IFdvdXRlciBQYWVzZW4pLgoKMjAwNi0wMi0xNSAxMjoxNzoyOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIEFkZCBIQUwgc291bmQgZGV2aWNlIHdyYXBwZXIgcGx1Z2lucy4gQ2xvc2VzICMzMjkxMDYKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2hhbC9NYWtlZmlsZS5hbToKCSAgKiBleHQvaGFsL2dzdGhhbGF1ZGlvc2luay5jOiAoZ3N0X2hhbF9hdWRpb19zaW5rX2Jhc2VfaW5pdCksCgkgIChnc3RfaGFsX2F1ZGlvX3NpbmtfY2xhc3NfaW5pdCksIChnc3RfaGFsX2F1ZGlvX3NpbmtfcmVzZXQpLAoJICAoZ3N0X2hhbF9hdWRpb19zaW5rX2luaXQpLCAoZ3N0X2hhbF9hdWRpb19zaW5rX2Rpc3Bvc2UpLAoJICAoZG9fdG9nZ2xlX2VsZW1lbnQpLCAoZ3N0X2hhbF9hdWRpb19zaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaGFsX2F1ZGlvX3NpbmtfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9oYWxfYXVkaW9fc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zaW5rLmg6CgkgICogZXh0L2hhbC9nc3RoYWxhdWRpb3NyYy5jOiAoZ3N0X2hhbF9hdWRpb19zcmNfYmFzZV9pbml0KSwKCSAgKGdzdF9oYWxfYXVkaW9fc3JjX2NsYXNzX2luaXQpLCAoZ3N0X2hhbF9hdWRpb19zcmNfcmVzZXQpLAoJICAoZ3N0X2hhbF9hdWRpb19zcmNfaW5pdCksIChnc3RfaGFsX2F1ZGlvX3NyY19kaXNwb3NlKSwKCSAgKGRvX3RvZ2dsZV9lbGVtZW50KSwgKGdzdF9oYWxfYXVkaW9fc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaGFsX2F1ZGlvX3NyY19nZXRfcHJvcGVydHkpLCAoZ3N0X2hhbF9hdWRpb19zcmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvaGFsL2dzdGhhbGF1ZGlvc3JjLmg6CgkgICogZXh0L2hhbC9nc3RoYWxlbGVtZW50cy5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9oYWwvZ3N0aGFsZWxlbWVudHMuaDoKCSAgKiBleHQvaGFsL2hhbC5jOiAoZ3N0X2hhbF9nZXRfc3RyaW5nKSwKCSAgKGdzdF9oYWxfcmVuZGVyX2Jpbl9mcm9tX3VkaSksIChnc3RfaGFsX2dldF9hdWRpb19zaW5rKSwKCSAgKGdzdF9oYWxfZ2V0X2F1ZGlvX3NyYyk6CgkgICogZXh0L2hhbC9oYWwuaDoKCSAgQWRkIEhBTCBzb3VuZCBkZXZpY2Ugd3JhcHBlciBwbHVnaW5zLiBDbG9zZXMgIzMyOTEwNgoKMjAwNi0wMi0xNSAxMjoxMzo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogSXQgYXBwZWFycyAxMDAlIGVxdWFscyAxLzEgYW5kIG5vdCAxMDAvMSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfY2hhaW4pOgoJICBJdCBhcHBlYXJzIDEwMCUgZXF1YWxzIDEvMSBhbmQgbm90IDEwMC8xIC4uLgoKMjAwNi0wMi0xNSAxMDoxNTo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogQWRkIGNvbW1lbnQgaW4gYSBmdWx0aWxlIGF0dGVtcHQgdG8gc3RvcCB0aGUgY29weS1hbmQtcGFzdGUgcGFyYWRpZ20gbGVhZGluZyB0byBkdXBsaWNhdGlvbiBvZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfZXZlbnQpOgoJICBBZGQgY29tbWVudCBpbiBhIGZ1bHRpbGUgYXR0ZW1wdCB0byBzdG9wIHRoZSBjb3B5LWFuZC1wYXN0ZQoJICBwYXJhZGlnbSBsZWFkaW5nIHRvIGR1cGxpY2F0aW9uIG9mIGJhZCBjb2RlLgoJICAqIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuYzogKHJ0c3BfdHJhbnNwb3J0X3BhcnNlKToKCSAgTWltZSBwYXJhbWV0ZXJzIGhhdmUgdG8gYmUgY2hlY2tlZCBjYXNlIGluc2Vuc2l0aXZlCgoyMDA2LTAyLTE1IDA5OjQ1OjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBXaGVuIGJ1ZmZlcmluZyBNREFUIGRhdGEsIHNob3cgdGhlIHVzZXIgc29tZXRoaW5nIGlzIGhhcHBlbmluZyBieSBwb3N0aW5nICdidWZmZXJpbmcnIG1lc3NhZ2VzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X3Bvc3RfYnVmZmVyaW5nKSwKCSAgKGdzdF9xdGRlbXV4X2NoYWluKToKCSAgV2hlbiBidWZmZXJpbmcgTURBVCBkYXRhLCBzaG93IHRoZSB1c2VyIHNvbWV0aGluZyBpcwoJICBoYXBwZW5pbmcgYnkgcG9zdGluZyAnYnVmZmVyaW5nJyBtZXNzYWdlcyBvbiB0aGUgYnVzLgoKMjAwNi0wMi0xNCAyMzoyMzowOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBBZHZhbmNlIHN0cmVhbSB0aW1lIGZvciBsYWdnaW5nIHN1YnRpdGxlIHN0cmVhbXMgYnkgc2VuZGluZyBuZXdzZWdtZW50IGV2ZW50cyB3aXRoIHRoZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9zeW5jX3N0cmVhbXMpOgoJICBBZHZhbmNlIHN0cmVhbSB0aW1lIGZvciBsYWdnaW5nIHN1YnRpdGxlIHN0cmVhbXMgYnkgc2VuZGluZwoJICBuZXdzZWdtZW50IGV2ZW50cyB3aXRoIHRoZSB1cGRhdGUgZmxhZyBzZXQuCgoyMDA2LTAyLTE0IDE4OjUwOjEzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC4qOiBNYWtlIHB1c2gtYmFzZWQgd29yayBpZiBtZGF0IGF0b20gaXMgYmVmb3JlIG1vb3YgYXRvbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaW5pdCksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKGdzdF9xdGRlbXV4X2NoYW5nZV9zdGF0ZSksCgkgIChuZXh0X2VudHJ5X3NpemUpLCAoZ3N0X3F0ZGVtdXhfY2hhaW4pOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgTWFrZSBwdXNoLWJhc2VkIHdvcmsgaWYgbWRhdCBhdG9tIGlzIGJlZm9yZSBtb292IGF0b20uCgkgIERvbid0IGFuc3dlciBkdXJhdGlvbiBxdWVyeS4gVGhpcyBzaG91bGQgYmUgdHJhbnNmb3JtZWQgaW50byByZXBseWluZwoJICBGQUxTRSB0byBzZWVrIGV2ZW50cy4KCjIwMDYtMDItMTQgMTY6NTg6MzAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IFRoZXJlIGNhbiBiZSBib2d1cyBkYXRhIGJlZm9yZSB0aGUgaGRybCBMSVNUIHRhZyBpbiB0aGUgUklGRiBoZWFkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlcik6CgkgIFRoZXJlIGNhbiBiZSBib2d1cyBkYXRhIGJlZm9yZSB0aGUgaGRybCBMSVNUIHRhZyBpbiB0aGUgUklGRiBoZWFkZXIuCgkgIEl0J3MgaGFyZCB0byBzYXkgaWYgaXQncyBub3QgcmVzcGVjdGluZyB0aGUgQVZJIHNwZWNpZmljYXRpb25zIG9yIG5vdCwKCSAgYnV0IHNpbmNlIEdvb2dsZSBWaWRlbyBpcyBwcm9kdWNpbmcgQVZJcyBsaWtlIHRoYXQgYW5kIHRoZSBvdGhlciBwbGF5ZXIKCSAgZG9uJ3Qgc2VlbSB0byBjb21wbGFpbiwgSSBndWVzcyB3ZSBzaG91bGQgZG8gdGhlIHNhbWUuCgoyMDA2LTAyLTE0IDExOjI0OjUzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBIYW5kbGUgdGhlIGNhc2Ugd2hlcmUgZGF0YSBhdG9tcyBhcmUgYmVmb3JlIG1vb3YgYXRvbXMgaW4gcHVzaC1iYXNlZCBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChuZXh0X2VudHJ5X3NpemUpLCAoZ3N0X3F0ZGVtdXhfY2hhaW4pOgoJICBIYW5kbGUgdGhlIGNhc2Ugd2hlcmUgZGF0YSBhdG9tcyBhcmUgYmVmb3JlIG1vb3YgYXRvbXMgaW4gcHVzaC1iYXNlZCBtb2RlLgoJICBFcnJvcnMgb3V0IGdyYWNlZnVsbHkuCgoyMDA2LTAyLTEzIDIyOjA0OjQyICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvOiBRdERlbXV4IGNhbiBub3cgd29yayBwdXNoLWJhc2VkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9pbml0KSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zaW5rX2V2ZW50KSwgKGdzdF9xdGRlbXV4X2NoYW5nZV9zdGF0ZSksCgkgIChleHRyYWN0X2luaXRpYWxfbGVuZ3RoX2FuZF9mb3VyY2MpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIpLCAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSksCgkgIChnc3RfcXRkZW11eF9sb29wX2hlYWRlciksIChuZXh0X2VudHJ5X3NpemUpLCAoZ3N0X3F0ZGVtdXhfY2hhaW4pLAoJICAocXRkZW11eF9zaW5rX2FjdGl2YXRlKSwgKHF0ZGVtdXhfc2lua19hY3RpdmF0ZV9wdWxsKSwKCSAgKHF0ZGVtdXhfc2lua19hY3RpdmF0ZV9wdXNoKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBRdERlbXV4IGNhbiBub3cgd29yayBwdXNoLWJhc2VkLgoJICBJdCBzdGlsbCBuZWVkcyBzb21lIGxvdmUgZm9yIHNlZWtpbmcuCgoyMDA2LTAyLTEzIDEyOjAwOjUxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBBZGQgbW9yZSB2YWxpZGF0aW9uIHRvIGVuc3VyZSB0aGF0IGEgY2hhciBlbmNvZGluZyBjb252ZXJzaW9uIHByb2R1Y2VkIGEgdmFsaWQgVVRGLTggc3RyaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKHBhcnNlX2luc2VydF9zdHJpbmdfZmllbGQpLAoJICAocGFyc2Vfc3BsaXRfc3RyaW5ncyk6CgkgIEFkZCBtb3JlIHZhbGlkYXRpb24gdG8gZW5zdXJlIHRoYXQgYSBjaGFyIGVuY29kaW5nIGNvbnZlcnNpb24KCSAgcHJvZHVjZWQgYSB2YWxpZCBVVEYtOCBzdHJpbmcuCgoyMDA2LTAyLTEzIDEwOjQzOjE1ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBQcm9wZXJseSBoYW5kbGUgZW5kIG9mIHNlZ21lbnQuIENsb3NlcyAjMzMwODg1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmV2aWV3ZWQgYnk6IEVkd2FyZCBIZXJ2ZXkgIDxlZHdhcmRAZmx1ZW5kby5jb20+CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpOgoJICBQcm9wZXJseSBoYW5kbGUgZW5kIG9mIHNlZ21lbnQuIENsb3NlcyAjMzMwODg1LgoKMjAwNi0wMi0xMyAxMDozNjoyMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5oOiBGb3IgZ290IHRvIGNvbW1pdCB0aGlzIG9uZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5Lmg6CgkgIEZvciBnb3QgdG8gY29tbWl0IHRoaXMgb25lLgoKMjAwNi0wMi0xMiAxODo1OTozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS4qOiBNYWtlIG1vcmUgdGhpbmdzIHdvcmsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOiAoZ3N0X3J0cF9tcDRnX3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfbXA0Z19wYXlfaW5pdCksIChnc3RfcnRwX21wNGdfcGF5X3BhcnNlX2F1ZGlvX2NvbmZpZyksCgkgIChnc3RfcnRwX21wNGdfcGF5X3BhcnNlX3ZpZGVvX2NvbmZpZyksIChnc3RfcnRwX21wNGdfcGF5X25ld19jYXBzKSwKCSAgKGdzdF9ydHBfbXA0Z19wYXlfc2V0Y2FwcyksIChnc3RfcnRwX21wNGdfcGF5X2ZsdXNoKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuaDoKCSAgTWFrZSBtb3JlIHRoaW5ncyB3b3JrLgoJICBIYW5kbGUgQUNDIGNvbmZpZyBzdHJpbmdzLgoKMjAwNi0wMi0xMiAxMzoxMDoyMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOiBzZXQgdGltZXN0YW1wcyBpZiBubyBpbmNvbWluZyB0aW1lc3RhbXBzIHNldAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOiAoZ3N0X3J0cF9hbXJfcGF5X2hhbmRsZV9idWZmZXIpOgoJICBzZXQgdGltZXN0YW1wcyBpZiBubyBpbmNvbWluZyB0aW1lc3RhbXBzIHNldAoKMjAwNi0wMi0xMSAxMzo1NDoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzogLi4uIGFuZCBmaXggdGhlIHZlcnkgc2FtZSBsZWFrcyBpbiBHc3RUYWdEZW11eC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOiAoZ3N0X3RhZ19kZW11eF9nZXRfdXBzdHJlYW1fc2l6ZSksCgkgIChnc3RfdGFnX2RlbXV4X2RvX3R5cGVmaW5kKToKCSAgLi4uIGFuZCBmaXggdGhlIHZlcnkgc2FtZSBsZWFrcyBpbiBHc3RUYWdEZW11eC4KCjIwMDYtMDItMTEgMTM6MzU6MTMgKzAwMDAgIEpvbiBUcm93YnJpZGdlIDx0cm93QHhpbWlhbi5jb20+CgoJICBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzoKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChpZDNkZW11eF9nZXRfdXBzdHJlYW1fc2l6ZSksCgkgIChnc3RfaWQzZGVtdXhfZG9fdHlwZWZpbmQpOgoJICBGaXggYSBjb3VwbGUgb2YgbWVtIGxlYWtzLiAoUGF0Y2ggYnkgSm9uYXRoYW4gTWF0dGhldwoJICA8am9uYXRoYW4gYXQga2FvbGluIGRvdCB3aDkgZG90IG5ldD4pCgoyMDA2LTAyLTEwIDE3OjM3OjM5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6IEZpcnN0IHNldCBvcHRpb25zLCB0aGVuIHNldCBjYXBzIG9yIGVsc2UgdGhlIGJhc2VjbGFzcyB3aWxsIG5vdCBrbm93IGFib3V0IHRoZSBvcHRpb25zLCBkdWguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOiAoZ3N0X3J0cF9tcDR2X3BheV9zZXRjYXBzKToKCSAgRmlyc3Qgc2V0IG9wdGlvbnMsIHRoZW4gc2V0IGNhcHMgb3IgZWxzZSB0aGUgYmFzZWNsYXNzCgkgIHdpbGwgbm90IGtub3cgYWJvdXQgdGhlIG9wdGlvbnMsIGR1aC4KCjIwMDYtMDItMTAgMTc6MTY6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzogRG9uJ3Qgd2FzdGUgdGltZSBsb29raW5nIGZvciBhIGNvbmZpZyBzdHJpbmcgaWYgd2UgaGF2ZSBjb2RlY19pbmZvIG9uIHRoZSBpbmNvbW1pbmcgY2Fwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6IChnc3RfcnRwX21wNHZfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9tcDR2X3BheV9zZXRjYXBzKToKCSAgRG9uJ3Qgd2FzdGUgdGltZSBsb29raW5nIGZvciBhIGNvbmZpZyBzdHJpbmcgaWYgd2UgaGF2ZSBjb2RlY19pbmZvCgkgIG9uIHRoZSBpbmNvbW1pbmcgY2Fwcy4KCjIwMDYtMDItMTAgMTY6NDA6NTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL1JFQURNRTogU2F5IHNvbWV0aGluZyBhYm91dCBjYXNlLXNlbnNpdGl2aXR5IG9mIGNhcHMgdnMgbWltZS1hdHRyaWJ1dGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL1JFQURNRToKCSAgU2F5IHNvbWV0aGluZyBhYm91dCBjYXNlLXNlbnNpdGl2aXR5IG9mIGNhcHMgdnMgbWltZS1hdHRyaWJ1dGVzLgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOiAoZ3N0X3J0cF9hbXJfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9hbXJfcGF5X2hhbmRsZV9idWZmZXIpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOiAoZ3N0X3J0cF9tcDRnX3BheV9nZXRfdHlwZSksCgkgIChnc3RfcnRwX21wNGdfcGF5X2Jhc2VfaW5pdCksIChnc3RfcnRwX21wNGdfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9tcDRnX3BheV9pbml0KSwgKGdzdF9ydHBfbXA0Z19wYXlfZmluYWxpemUpLAoJICAoZ3N0X3J0cF9tcDRnX3BheV9uZXdfY2FwcyksIChnc3RfcnRwX21wNGdfcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9tcDRnX3BheV9mbHVzaCksIChnc3RfcnRwX21wNGdfcGF5X2hhbmRsZV9idWZmZXIpLAoJICAoZ3N0X3J0cF9tcDRnX3BheV9zZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9tcDRnX3BheV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9tcDRnX3BheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5Lmg6CgkgIEFkZGVkIGJlZ2lubmluZ3Mgb2YgbXBlZzQtZ2VuZXJpYyBwYXlsb2FkZXIgKFJGQyAzNjQwKQoKMjAwNi0wMi0wOSAxNDoyMDoxNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwLzogUmVzdXJlY3RlZCBydHBkZWMgdG8gbWFrZSBydHNwc3JjIGhhcHB5IGFnYWluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuYzogKGdzdF9ydHBkZWNfZ2V0X3R5cGUpLAoJICAoZ3N0X3J0cGRlY19jbGFzc19pbml0KSwgKGdzdF9ydHBkZWNfaW5pdCksIChnc3RfcnRwZGVjX2dldGNhcHMpLAoJICAoZ3N0X3J0cGRlY19jaGFpbl9ydHApLCAoZ3N0X3J0cGRlY19jaGFpbl9ydGNwKSwKCSAgKGdzdF9ydHBkZWNfc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBkZWNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBkZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuaDoKCSAgKiBnc3QvcnRzcC9nc3RydHNwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChyZWFkX2JvZHkpLAoJICAocnRzcF9jb25uZWN0aW9uX3JlY2VpdmUpOgoJICAqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmM6IChydHNwX21lc3NhZ2VfZHVtcCk6CgkgIFJlc3VyZWN0ZWQgcnRwZGVjIHRvIG1ha2UgcnRzcHNyYyBoYXBweSBhZ2Fpbi4KCSAgU2tpcCBhdHRyaWJ1dGVzIGZyb20gdGhlIHNlc3Npb24gaWQuCgkgIERvbid0IGNyYXNoIHdoZW4gZHVtcGluZyBhIG1lc3NhZ2Ugd2l0aCBhbiBlbXB0eSBib2R5LgoKMjAwNi0wMi0wOSAxNDoxNDowNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzogQWRkZWQgbW9yZSBtZWFuaW5nZnVsbCB3YXJuaW5ncyB3aGVuIHNvbWV0aGluZyBnb2VzIHdyb25nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6IChnc3RfcnRwX2Ftcl9kZXBheV9jaGFpbik6CgkgIEFkZGVkIG1vcmUgbWVhbmluZ2Z1bGwgd2FybmluZ3Mgd2hlbiBzb21ldGhpbmcgZ29lcyB3cm9uZy4KCSAgQ2xlYXIgRiBiaXQgb24gb3V0Z29pbmcgQU1SIHBhY2tldHMuCgkgICogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzogKGdzdF9ydHBfYW1yX3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfYW1yX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgQWRkZWQgZGVidWdnaW5nIGNhdGVnb3J5CgkgIFN1cHBvcnQgcGF5bG9hZGluZyBvZiBtdWx0aXBsZSBBTVIgZnJhbWVzLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOiAoZ3N0X3J0cF9tcDR2X3BheV9kZXBheV9kYXRhKToKCSAgQWRkZWQgc29tZSBkZWJ1Z2dpbmcuCgoyMDA2LTAyLTA5IDExOjI1OjQyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQmFjayB0byBDVlMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIENWUwoKPT09IHJlbGVhc2UgMC4xMC4yID09PQoKMjAwNi0wMi0wOSAxMToyMjozOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICBSZWxlYXNpbmcgMC4xMC4yCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZWxlYXNpbmcgMC4xMC4yCgoyMDA2LTAyLTA4IDE3OjM1OjA1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwNi0wMi0wOCAxNzoxODoyMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIE9vcHMsIGp1bXBpbmcgdGhlIGd1biB3aXRoIHRoZSBDaGFuZ2VMb2cgZW50cnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE9vcHMsIGp1bXBpbmcgdGhlIGd1biB3aXRoIHRoZSBDaGFuZ2VMb2cgZW50cnkKCjIwMDYtMDItMDggMTc6MTY6NDYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBCdW1wIGNvcmUgYW5kIHBsdWdpbnMtYmFzZSByZXF1aXJlbWVudCB0byAwLjEwLjIuMiBmb3IgQVBJIGFkZGl0aW9ucyAoYW5kIDEgbWlncmF0aW9uIG9mIGdzdF9iaW5fZmluZF91Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCBjb3JlIGFuZCBwbHVnaW5zLWJhc2UgcmVxdWlyZW1lbnQgdG8gMC4xMC4yLjIKCSAgZm9yIEFQSSBhZGRpdGlvbnMgKGFuZCAxIG1pZ3JhdGlvbiBvZiBnc3RfYmluX2ZpbmRfdW5jb25uZWN0ZWRfcGFkKQoKMjAwNi0wMi0wOCAxNzoxMjo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC86IFJlZ2lzdGVyIG11c2ljYnJhaW56IHRhZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWMuYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXguYzogKHBsdWdpbl9pbml0KToKCSAgUmVnaXN0ZXIgbXVzaWNicmFpbnogdGFncy4KCjIwMDYtMDItMDcgMTg6MzE6MzEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICByZW1vdmUgdW51c2VkIHZhcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlIHVudXNlZCB2YXIKCjIwMDYtMDItMDcgMTg6MDE6MTcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiB1c2UgdGhlIGNvcnJlY3QgdmFyaWFibGUgdG8gY2hlY2sgaWYgd2UgY2FuIGNhbGN1bGF0ZSB0aGUgbGFzdCBjaHVuay4gIExvb2tzIGxpa2UgYW4gb2J2aW91cyBiLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIHVzZSB0aGUgY29ycmVjdCB2YXJpYWJsZSB0byBjaGVjayBpZiB3ZSBjYW4gY2FsY3VsYXRlCgkgIHRoZSBsYXN0IGNodW5rLiAgTG9va3MgbGlrZSBhbiBvYnZpb3VzIGJ1ZywgYW5kIG1ha2VzCgkgIHRoZSBkdW1wIG9mIG9mZnNldHMgY29tcGFyYWJsZSB0byBvdGhlciB0b29scwoKMjAwNi0wMi0wNyAxNzo1NDo0MiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IGNsZWFuIHVwIHNvbWUgZGVidWdnaW5nLCB1c2luZyBfT0JKRUNULCBtb3ZpbmcgcmVjdXJyaW5nIG1lc3NhZ2VzIHRvIExPRyBsZXZlbAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX2hlYWRlciksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBjbGVhbiB1cCBzb21lIGRlYnVnZ2luZywgdXNpbmcgX09CSkVDVCwgbW92aW5nIHJlY3VycmluZwoJICBtZXNzYWdlcyB0byBMT0cgbGV2ZWwKCjIwMDYtMDItMDcgMTY6MjM6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZ2NvbmYvZ2NvbmYuaDogUmVtb3ZlIGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIHRoYXQgbm8gbG9uZ2VyIGV4aXN0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2djb25mL2djb25mLmg6CgkgIFJlbW92ZSBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiB0aGF0IG5vIGxvbmdlciBleGlzdHMuCgoyMDA2LTAyLTA3IDEzOjM5OjA4ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzogTWFrZSBzaG91dDIgd29yayBmb3Igbm9uIG9nZyBzdHJlYW1zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAyLTA3ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzogKGdzdF9zaG91dDJzZW5kX3JlbmRlciksCgkgIChnc3Rfc2hvdXQyc2VuZF9zZXRjYXBzKSwgKGdzdF9zaG91dDJzZW5kX2NoYW5nZV9zdGF0ZSk6CgkgIE1ha2Ugc2hvdXQyIHdvcmsgZm9yIG5vbiBvZ2cgc3RyZWFtcwoKMjAwNi0wMi0wNiAxNzoyNjo0MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLio6IFVwZGF0ZWQgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX3JlbmRlciksIChnc3RfbXVsdGl1ZHBzaW5rX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2luaXRfc2VuZCksIChnc3RfbXVsdGl1ZHBzaW5rX2FkZCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX3JlbW92ZSksIChnc3RfbXVsdGl1ZHBzaW5rX2NsZWFyKSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfZ2V0X3N0YXRzKSwgKGdzdF9tdWx0aXVkcHNpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICBVcGRhdGVkIGRvY3MuCgkgIEFkZGVkIHByb3BlcnRpZXMgYnl0ZXMtc2VydmVkLCBieXRlc190b19zZXJ2ZS4KCSAgUG9zdCBwcm9wZXIgZXJyb3IgbWVzc2FnZXMsCgkgIEVtaXQgY2xpZW50IGFkZGVkIHNpZ25hbCB0b28uCgoyMDA2LTAyLTA2IDE1OjQxOjI1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC4qOiBTb21lIFFUIGRlbXV4IGxvdmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX2V2ZW50KSwgKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKSwKCSAgKHF0ZGVtdXhfaW5mbGF0ZSksIChxdGRlbXV4X3BhcnNlKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X3BhcnNlX3VkdGEpLCAocXRkZW11eF90YWdfYWRkX3N0ciksIChxdGRlbXV4X3RhZ19hZGRfbnVtKSwKCSAgKHF0ZGVtdXhfdGFnX2FkZF9nbnJlKSwgKGdzdF9xdGRlbXV4X2hhbmRsZV9lc2RzKSwKCSAgKHF0ZGVtdXhfdmlkZW9fY2FwcyksIChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgU29tZSBRVCBkZW11eCBsb3ZpbmcuCgkgIEhhbmRsZSBzZWVraW5nIGluIGEgbGVzcyBicm9rZW4gd2F5LgoJICBGaXggQU1SIGNhcHMgdG8gbWF0Y2ggdGhlIEFNUiBkZWNvZGVyLgoJICBTZXQgZmlyc3QgdGltZXN0YW1wIG9uIEFNUiBzYW1wbGVzIHRvIDAgZm9yIG5vdy4KCSAgUmVtb3ZlIHNvbWUgXG4gaW4gREVCVUcgc3RyaW5ncy4KCSAgVXNlIF9zY2FsZV9pbnQgZm9yIG1heGltdW0gcHJlY2lzaW9uLgoKMjAwNi0wMi0wNiAxNTozMToxNiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIGFkZGluZyBkb2NzIGZvciBtdWx0aXVkcHNpbmsKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZGluZyBkb2NzIGZvciBtdWx0aXVkcHNpbmsKCjIwMDYtMDItMDYgMTU6Mjg6NTYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L2xldmVsL2dzdGxldmVsLmM6IHBlYWsgYmVsb3cgZGVjYXkgaXMgbm90IG5lY2Vzc2FyaWx5IGFuIGVycm9yLCBzbyBkb24ndCBFUlJPUiBsb2cKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6IChnc3RfbGV2ZWxfdHJhbnNmb3JtX2lwKToKCSAgcGVhayBiZWxvdyBkZWNheSBpcyBub3QgbmVjZXNzYXJpbHkgYW4gZXJyb3IsIHNvIGRvbid0IEVSUk9SIGxvZwoKMjAwNi0wMi0wNiAxNToyNzowNiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgY3ZzIHZlcnNpb25zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjdnMgdmVyc2lvbnMKCjIwMDYtMDItMDYgMTQ6MjU6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS4qOiBNYWtlIHN1cmUgd2Ugc2VuZCBhIG5ld3NlZ21lbnQgZXZlbnQgaW4gQllURVMgZm9ybWF0IGJlZm9yZSBzZW5kaW5nIGJ1ZmZlcnMgKCMzMjg1MzEpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOiAoZ3N0X2VibWxfd3JpdGVfcmVzZXQpLAoJICAoZ3N0X2VibWxfd3JpdGVfZmx1c2hfY2FjaGUpLCAoZ3N0X2VibWxfd3JpdGVfZWxlbWVudF9wdXNoKSwKCSAgKGdzdF9lYm1sX3dyaXRlX3NlZWspOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmg6CgkgIE1ha2Ugc3VyZSB3ZSBzZW5kIGEgbmV3c2VnbWVudCBldmVudCBpbiBCWVRFUyBmb3JtYXQKCSAgYmVmb3JlIHNlbmRpbmcgYnVmZmVycyAoIzMyODUzMSkuCgoyMDA2LTAyLTA2IDEyOjE4OjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUGFzcyB1bmhhbmRsZWQgcXVlcmllcyB1cHN0cmVhbSBpbnN0ZWFkIG9mIGp1c3QgZHJvcHBpbmcgdGhlbSAoIzMyNjQ0NikuIFVwZGF0ZSBxdWVyeSB0eXBlIGFycmF5cyBoZXJlIGFuZCB0aGVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X3NyY19xdWVyeSksCgkgIChnc3RfZHZkZW11eF9zaW5rX3F1ZXJ5KToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfc3JjX3F1ZXJ5KToKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogKHNwZWV4X2dldF9xdWVyeV90eXBlcyksCgkgIChzcGVleF9kZWNfc3JjX3F1ZXJ5KToKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogKGdzdF9zcGVleGVuY19zcmNfcXVlcnkpLAoJICAoZ3N0X3NwZWV4ZW5jX3NpbmtfcXVlcnkpOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfZ2V0X3NyY19xdWVyeV90eXBlcyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfZ2V0X3F1ZXJ5X3R5cGVzKSwKCSAgKGdzdF93YXZwYXJzZV9wYWRfcXVlcnkpOgoJICBQYXNzIHVuaGFuZGxlZCBxdWVyaWVzIHVwc3RyZWFtIGluc3RlYWQgb2YganVzdCBkcm9wcGluZwoJICB0aGVtICgjMzI2NDQ2KS4gVXBkYXRlIHF1ZXJ5IHR5cGUgYXJyYXlzIGhlcmUgYW5kIHRoZXJlLgoKMjAwNi0wMi0wNiAxMTo1Nzo1MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6IENvbGxlY3RwYWRzIGluIGNvcmUgZ290IGNoYW5nZWQgYW5kIG5vdyBhbHNvIGhvbGRzIGEgcmVmZXJlbmNlIHRvIGFueSBwYWQgdGhhdCBpcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOiAoc2V0dXBfc3JjX3BhZCk6CgkgIENvbGxlY3RwYWRzIGluIGNvcmUgZ290IGNoYW5nZWQgYW5kIG5vdyBhbHNvIGhvbGRzIGEKCSAgcmVmZXJlbmNlIHRvIGFueSBwYWQgdGhhdCBpcyBwYXJ0IG9mIGl0LiBGaXggcmVmY291bnQKCSAgY2hlY2tzIGluIHRlc3QgY2FzZSBhY2NvcmRpbmdseS4KCjIwMDYtMDItMDYgMTE6NDE6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXBldGFnL2dzdGFwZWRlbXV4Lmg6IEZpeCBpbmNsdWRlLCBmb3Igbm93IEdzdFRhZ0RlbXV4IGlzIGluIHRoZSBhcGV0YWcgZGlyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4Lmg6CgkgIEZpeCBpbmNsdWRlLCBmb3Igbm93IEdzdFRhZ0RlbXV4IGlzIGluIHRoZSBhcGV0YWcgZGlyLgoKMjAwNi0wMi0wNiAxMTozNDoyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCBjZGlvIHBsdWdpbiB0byBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkaW8ueG1sOgoJICBBZGQgY2RpbyBwbHVnaW4gdG8gZG9jcy4KCSAgKiBleHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5jOgoJICBBZGQgZ3RrLWRvYyBibHVyYi4KCSAgKiBleHQvY2Rpby9nc3RjZGlvLmM6CgkgIFRoZSBwbHVnaW4gaXMgY2FsbGVkICdjZGlvJyBub3QgJ2NkZGlvJy4KCjIwMDYtMDItMDYgMTA6NTY6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBBZGQgQVBFIHRhZyBkZW11eGVyICgjMzI1NjQ5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSAgKiBnc3QvYXBldGFnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSAgKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4Lmg6CgkgICogZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOgoJICAqIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguaDoKCSAgQWRkIEFQRSB0YWcgZGVtdXhlciAoIzMyNTY0OSkuCgoyMDA2LTAyLTA1IDIyOjIyOjU2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9nY29uZi86IElnbm9yZSBjaGFuZ2luZyB0aGUgR0NvbmYga2V5IHRvICIiLiBJZ25vcmUgR0NvbmYga2V5IHVwZGF0ZXMgdGhhdCBkb24ndCBhY3R1YWxseSBjaGFuZ2UgdGhlIHN0cmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2djb25mL2djb25mLmM6IChnc3RfZ2NvbmZfZ2V0X2RlZmF1bHRfYXVkaW9fc2luayksCgkgIChnc3RfZ2NvbmZfZ2V0X2RlZmF1bHRfdmlkZW9fc2luayksCgkgIChnc3RfZ2NvbmZfZ2V0X2RlZmF1bHRfYXVkaW9fc3JjKSwKCSAgKGdzdF9nY29uZl9nZXRfZGVmYXVsdF92aWRlb19zcmMpOgoJICAqIGV4dC9nY29uZi9nY29uZi5oOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOiAoZ3N0X2djb25mX2F1ZGlvX3NpbmtfcmVzZXQpLAoJICAoZ3N0X2djb25mX2F1ZGlvX3NpbmtfaW5pdCksIChnc3RfZ2NvbmZfYXVkaW9fc2lua19kaXNwb3NlKSwKCSAgKGRvX3RvZ2dsZV9lbGVtZW50KToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuaDoKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NyYy5jOiAoZ3N0X2djb25mX2F1ZGlvX3NyY19yZXNldCksCgkgIChnc3RfZ2NvbmZfYXVkaW9fc3JjX2luaXQpLCAoZ3N0X2djb25mX2F1ZGlvX3NyY19kaXNwb3NlKSwKCSAgKGRvX3RvZ2dsZV9lbGVtZW50KToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NyYy5oOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc2luay5jOiAoZ3N0X2djb25mX3ZpZGVvX3NpbmtfcmVzZXQpLAoJICAoZ3N0X2djb25mX3ZpZGVvX3NpbmtfaW5pdCksIChnc3RfZ2NvbmZfdmlkZW9fc2lua19kaXNwb3NlKSwKCSAgKGRvX3RvZ2dsZV9lbGVtZW50KToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuaDoKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NyYy5jOiAoZ3N0X2djb25mX3ZpZGVvX3NyY19yZXNldCksCgkgIChnc3RfZ2NvbmZfdmlkZW9fc3JjX2luaXQpLCAoZ3N0X2djb25mX3ZpZGVvX3NyY19kaXNwb3NlKSwKCSAgKGRvX3RvZ2dsZV9lbGVtZW50KToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NyYy5oOgoJICBJZ25vcmUgY2hhbmdpbmcgdGhlIEdDb25mIGtleSB0byAiIi4gSWdub3JlIEdDb25mIGtleSB1cGRhdGVzCgkgIHRoYXQgZG9uJ3QgYWN0dWFsbHkgY2hhbmdlIHRoZSBzdHJpbmcuCgkgIEZvciBub3csIGlnbm9yZSB0aGUgR0NvbmYga2V5IHdoZW4gdGhlIHN0YXRlIGlzID4gUkVBRFksIGFzCgkgIGl0IGJyZWFrcyBzdHJlYW1pbmcuIFNvbWV0aW1lIGl0IHdpbGwgYmUgbmljZSB0byBicmluZyB0aGUKCSAgbmV3IHNpbmsgb25saW5lIGV2ZW4gbWlkLXN0cmVhbSwgYnkgc2VuZGluZyBORVdTRUdNRU5UIGluZm8KCSAgYW5kIHBvc3NpYmx5IHByZXJvbGxpbmcuCgkgIChGaXhlcyAjMzI2NzM2KQoKMjAwNi0wMi0wNSAyMDo0Mzo0OSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvZ29vbS86IE1ha2UgZ29vbSByZWVudHJhbnQgYnkgbW92aW5nIGFsbCBpbXBvcnRhbnQgc3RhdGljIHZhcmlhYmxlcyBpbnRvIGluc3RhbmNlIHN0cnVjdHVyZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL2ZpbHRlcnMuYzogKHpvb21GaWx0ZXJOZXcpLCAoY2FsY3VsYXRlUFhhbmRQWSksCgkgIChzZXRQaXhlbFJHQiksIChzZXRQaXhlbFJHQl8pLCAoZ2V0UGl4ZWxSR0IpLCAoZ2V0UGl4ZWxSR0JfKSwKCSAgKHpvb21GaWx0ZXJTZXRSZXNvbHV0aW9uKSwgKHpvb21GaWx0ZXJEZXN0cm95KSwKCSAgKHpvb21GaWx0ZXJGYXN0UkdCKSwgKHBvaW50RmlsdGVyKToKCSAgKiBnc3QvZ29vbS9maWx0ZXJzLmg6CgkgICogZ3N0L2dvb20vZ29vbV9jb3JlLmM6IChnb29tX2luaXQpLCAoZ29vbV9zZXRfcmVzb2x1dGlvbiksCgkgIChnb29tX3VwZGF0ZSksIChnb29tX2Nsb3NlKToKCSAgKiBnc3QvZ29vbS9nb29tX2NvcmUuaDoKCSAgKiBnc3QvZ29vbS9nb29tX3Rvb2xzLmg6CgkgICogZ3N0L2dvb20vZ3JhcGhpYy5jOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzogKGdzdF9nb29tX2NsYXNzX2luaXQpLCAoZ3N0X2dvb21faW5pdCksCgkgIChnc3RfZ29vbV9kaXNwb3NlKSwgKGdzdF9nb29tX3NyY19zZXRjYXBzKSwgKGdzdF9nb29tX2NoYWluKToKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmg6CgkgICogZ3N0L2dvb20vbGluZXMuYzogKGdvb21fbGluZXMpOgoJICAqIGdzdC9nb29tL2xpbmVzLmg6CgkgIE1ha2UgZ29vbSByZWVudHJhbnQgYnkgbW92aW5nIGFsbCBpbXBvcnRhbnQgc3RhdGljIHZhcmlhYmxlcwoJICBpbnRvIGluc3RhbmNlIHN0cnVjdHVyZXMuCgkgIChGaXhlcyAjMzI5MTgxKQoKMjAwNi0wMi0wNCAxNTo0MTo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguKjogVGhpcmQgYXR0ZW1wdCwgdXNlIGdzdF9wYWRfaXNfbGlua2VkKCkgdGhpcyB0aW1lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksCgkgIChnc3RfYXZpX2RlbXV4X2FsbF9zb3VyY2VfcGFkc191bmxpbmtlZCksCgkgIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSk6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBUaGlyZCBhdHRlbXB0LCB1c2UgZ3N0X3BhZF9pc19saW5rZWQoKSB0aGlzIHRpbWUuCgoyMDA2LTAyLTA0IDEzOjMwOjEyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBBZGp1c3QgZm9yIGRhdGEgbGVuZ3RoIGluZGljYXRvcnMgd2hlbiBwYXJzaW5nIChGaXhlcyAjMzI5ODEwKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKGlkM2RlbXV4X2lkM3YyX3BhcnNlX2ZyYW1lKSwKCSAgKHBhcnNlX3NwbGl0X3N0cmluZ3MpOgoJICBBZGp1c3QgZm9yIGRhdGEgbGVuZ3RoIGluZGljYXRvcnMgd2hlbiBwYXJzaW5nIChGaXhlcyAjMzI5ODEwKQoJICBGaXggc3R1cGlkIGJ1ZyBwYXJzaW5nIFVURi04IHRhZyB0ZXh0LgoJICBPdXRwdXQgdGFnIHN0cmluZ3Mgd2l0aCBtdWx0aXBsZSBmaWVsZHMgYXMgbXVsdGlwbGUgdGFncywgc28gdGhlCgkgIGFwcCBnZXRzIGFsbCB0aGUgZGF0YS4KCjIwMDYtMDItMDMgMjA6MDU6MjAgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBGaXhlZCBhIGJ1ZyBhZGQgaW4gbGFzdCBjb21taXQsIHdoZXJlIG5vIGV2ZW50IGlzIHNlbmQuIFRoYW5rcyBUaW0gdG8gc2hvdyBtZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGVkIGEgYnVnIGFkZCBpbiBsYXN0IGNvbW1pdCwgd2hlcmUgbm8gZXZlbnQgaXMgc2VuZC4gVGhhbmtzIFRpbSB0byBzaG93IG1lLgoKMjAwNi0wMi0wMyAxODowNzozNSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSAgSnVzdCBtYWtlIGl0IGNvbXBpbGUgd2l0aCAtLWRpc2FibGUtZ3N0LWRlYnVnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSnVzdCBtYWtlIGl0IGNvbXBpbGUgd2l0aCAtLWRpc2FibGUtZ3N0LWRlYnVnLgoKMjAwNi0wMi0wMyAxNjo1NTo0MiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICB1cGRhdGUgc3BlYyBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgc3BlYyBmaWxlCgoyMDA2LTAyLTAzIDEzOjA2OjI0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBOZXZlciBvdXRwdXQgYSB0YWcgd2l0aCBhIG51bGwgY29udGVudHMgc3RyaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKHBhcnNlX3RleHRfaWRlbnRpZmljYXRpb25fZnJhbWUpLAoJICAoaWQzdjJfdGFnX3RvX3RhZ2xpc3QpLCAoaWQzdjJfZ2VucmVfc3RyaW5nX3RvX3RhZ2xpc3QpLAoJICAoaWQzdjJfZ2VucmVfZmllbGRzX3RvX3RhZ2xpc3QpOgoJICBOZXZlciBvdXRwdXQgYSB0YWcgd2l0aCBhIG51bGwgY29udGVudHMgc3RyaW5nLgoKMjAwNi0wMi0wMiAyMTowMDoxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogT25seSBwYXVzZSBpZiBhbGwgcGFkcyBhcmUgdW5saW5rZWQgQU5EIHdlJ3ZlIHRyaWVkIHRvIHNlbmQgZGF0YSBvbiBhbGwgb2YgdGhlbSBhdCBsZWFzdCBvbmNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2FsbF9zb3VyY2VfcGFkc191bmxpbmtlZCk6CgkgIE9ubHkgcGF1c2UgaWYgYWxsIHBhZHMgYXJlIHVubGlua2VkIEFORCB3ZSd2ZSB0cmllZCB0byBzZW5kIGRhdGEKCSAgb24gYWxsIG9mIHRoZW0gYXQgbGVhc3Qgb25jZS4KCjIwMDYtMDItMDIgMTI6Mjk6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IE1ha2UgbG9vcCBmdW5jdGlvbi90YXNrIHBhdXNlIGl0c2VsZiB3aGVuIGFsbCBzb3VyY2UgcGFkcyBhcmUgdW5saW5rZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfYWxsX3NvdXJjZV9wYWRzX3VubGlua2VkKSwKCSAgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KSwgKGdzdF9hdmlfZGVtdXhfbG9vcCk6CgkgIE1ha2UgbG9vcCBmdW5jdGlvbi90YXNrIHBhdXNlIGl0c2VsZiB3aGVuIGFsbCBzb3VyY2UgcGFkcyBhcmUKCSAgdW5saW5rZWQuCgoyMDA2LTAyLTAyIDEwOjQ3OjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgVXNlIG5ldyBmdW5jdGlvbnMgZnJvbSBjb3JlIHRvIHJlbmRlciBhIGJpbiBmcm9tIGEgc3RyaW5nLiBGaXhlcyBidWlsZC4gVXAgcmVxdWlyZW1lbnRzIHRvIGNvcmUgQ1ZTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L2djb25mL2djb25mLmM6IChnc3RfZ2NvbmZfcmVuZGVyX2Jpbl9mcm9tX2tleSk6CgkgIFVzZSBuZXcgZnVuY3Rpb25zIGZyb20gY29yZSB0byByZW5kZXIgYSBiaW4gZnJvbSBhCgkgIHN0cmluZy4gRml4ZXMgYnVpbGQuIFVwIHJlcXVpcmVtZW50cyB0byBjb3JlIENWUy4KCjIwMDYtMDItMDEgMTE6MDE6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6IERvbid0IHB1c2ggYnVmZmVycyBpbnRvIHRoZSBhZGFwdGVyIHRoYXQgd2UgYXJlIGdvaW5nIHRvIHB1c2ggZG93bnN0cmVhbSBhZ2FpbiB3aXRob3V0IGZyYW0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOiAoZ3N0X2F1X3BhcnNlX2NoYWluKToKCSAgRG9uJ3QgcHVzaCBidWZmZXJzIGludG8gdGhlIGFkYXB0ZXIgdGhhdCB3ZSBhcmUgZ29pbmcgdG8KCSAgcHVzaCBkb3duc3RyZWFtIGFnYWluIHdpdGhvdXQgZnJhbWluZyBhbnl3YXkuIEFsc28sIHRoZQoJICBhZGFwdG9yIHRha2VzIG93bmVyc2hpcCBvZiBidWZmZXJzIHB1dCBpbnRvIGl0IChmaXhlcwoJICBhdXBhcnNlIHB1c2hpbmcgaW52YWxpZCBidWZmZXJzIGZvciAuYXUgZmlsZXMgd2l0aAoJICBBRFBDTSBjb250ZW50cykuIEZpbmFsbHksIHNldCBjYXBzIG9uIGFsbCBvdXRnb2luZyBidWZmZXJzLgoKMjAwNi0wMS0zMCAyMzoxMzowNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvaWQzZGVtdXgvOiBTb21lb25lIHNob3VsZCBraWNrIG15IGJ1dHQuIFJlbW92ZSBJRDN2MSB0YWdzIGZyb20gdGhlIGVuZCBvZiB0aGUgZmlsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfY2hhaW4pLAoJICAoZ3N0X2lkM2RlbXV4X3JlYWRfaWQzdjEpLCAoZ3N0X2lkM2RlbXV4X3NpbmtfYWN0aXZhdGUpLAoJICAoZ3N0X2lkM2RlbXV4X3NlbmRfdGFnX2V2ZW50KToKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOiAoaWQzZGVtdXhfcmVhZF9pZDN2MV90YWcpOgoJICBTb21lb25lIHNob3VsZCBraWNrIG15IGJ1dHQuIFJlbW92ZSBJRDN2MSB0YWdzIGZyb20gdGhlIGVuZCBvZiB0aGUKCSAgZmlsZS4KCSAgSW1wcm92ZSBlcnJvciBtZXNzYWdlcy4gU2VuZCB0aGUgVEFHIG1lc3NhZ2UgYXMgc29vbiBhcyB3ZSBjb21wbGV0ZQoJICB0eXBlZmluZGluZywgaW5zdGVhZCBvZiB3YWl0aW5nIHVudGlsIHdlIHNlbmQgdGhlIGZpcnN0IGJ1ZmZlci4KCSAgRG93bnN0cmVhbSB0YWcgZXZlbnQgaXMgc3RpbGwgc2VudCBiZWZvcmUgdGhlIGZpcnN0IGJ1ZmZlci4KCjIwMDYtMDEtMjkgMjA6MDc6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IEFkZCBkZWJ1ZyBjYXRlZ29yeSwgdXNlIGJvaWxlcnBsYXRlIG1hY3JvcywgZml4IGhhbmRsaW5nIG9mIHdpZHRocyBvZiAzMiBiaXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfc2V0Y2FwcyksCgkgIChnc3Rfd2F2cGFja19kZWNfYmFzZV9pbml0KSwgKGdzdF93YXZwYWNrX2RlY19kaXNwb3NlKSwKCSAgKGdzdF93YXZwYWNrX2RlY19jbGFzc19pbml0KSwgKGdzdF93YXZwYWNrX2RlY19zaW5rX2V2ZW50KSwKCSAgKGdzdF93YXZwYWNrX2RlY19pbml0KSwgKGdzdF93YXZwYWNrX2RlY19mb3JtYXRfc2FtcGxlcyksCgkgIChnc3Rfd2F2cGFja19kZWNfY2hhaW4pLCAoZ3N0X3dhdnBhY2tfZGVjX3BsdWdpbl9pbml0KToKCSAgQWRkIGRlYnVnIGNhdGVnb3J5LCB1c2UgYm9pbGVycGxhdGUgbWFjcm9zLCBmaXggaGFuZGxpbmcKCSAgb2Ygd2lkdGhzIG9mIDMyIGJpdHMuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfZGlzcG9zZSksIChnc3Rfd2F2cGFja19wYXJzZV9jbGFzc19pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2luZGV4X2dldF9sYXN0X2VudHJ5KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2luZGV4X2dldF9lbnRyeV9mcm9tX3NhbXBsZSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9pbmRleF9hcHBlbmRfZW50cnkpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX3F1ZXJ5KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NjYW5fdG9fZmluZF9zYW1wbGUpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2VuZF9uZXdzZWdtZW50KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2hhbmRsZV9zZWVrX2V2ZW50KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NyY19ldmVudCksIChnc3Rfd2F2cGFja19wYXJzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2dldF91cHN0cmVhbV9sZW5ndGgpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfcHVsbF9idWZmZXIpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY3JlYXRlX3NyY19wYWQpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfbG9vcCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3dhdmVwYWNrX3BhcnNlX3NpbmtfYWN0aXZhdGUpLAoJICAoZ3N0X3dhdmVwYWNrX3BhcnNlX3NpbmtfYWN0aXZhdGVfcHVsbCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9wbHVnaW5faW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgIFJld3JpdGUgYSBiaXQsIG1vc3RseSB0byBmaXggZmxvdyBsb2dpYyBhbmQgdG8gbWFrZSBzZWVraW5nIHdvcmsuCgkgIEZpeCBidWZmZXIvZXZlbnQgcmVmY291bnRpbmcuIEFkZCBzb21lIGRlYnVnIHN0YXRlbWVudHMuIEFkZAoJICB3aWR0aCBvZiAzMiB0byBzb3VyY2UgcGFkIHRlbXBsYXRlIGNhcHMuIFVzZSBib2lsZXJwbGF0ZSBtYWNyb3MuCgoyMDA2LTAxLTI3IDEyOjE3OjU2ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvZHYvOiBDYWxsIGR2X3NldF9lcnJvcl9sb2cgKGR2X2RlY29kZXJfdCAqLCBOVUxMKTsgYWZ0ZXIgZHZfZGVjb2Rlcl9uZXcgdG8gbm90IGhhdmUgd2FyaW5ncyBmbG9vZGluZyBzdGRlcnIuIHRoaXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDEtMjcgIEphbiBHZXJiZXIgIDxqQGJvb3RsYWIub3JnPgoJICBSZXZpZXdlZCBieTogQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9kdi9nc3RkdmRlYy5jIChnc3RfZHZkZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jIChnc3RfZHZkZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICBDYWxsIGR2X3NldF9lcnJvcl9sb2cgKGR2X2RlY29kZXJfdCAqLCBOVUxMKTsgYWZ0ZXIgZHZfZGVjb2Rlcl9uZXcKCSAgdG8gbm90IGhhdmUgd2FyaW5ncyBmbG9vZGluZyBzdGRlcnIuIHRoaXMgaXMgdGhlIHN1Z2dlc3RlZCB3YXkKCSAgYWxzbyB1c2VkIGluIGR2Z3JhYiBhbmQga2luby4gKCMzMjgzMzYpCgoyMDA2LTAxLTI3IDAxOjQzOjA3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHN5cy9vc3MvZ3N0b3Nzc2luay5jOiBGcmVlIHRoZSBkZXZpY2UgbmFtZSBzdHJpbmcgd2hlbiBmaW5hbGlzZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOiAoZ3N0X29zc19zaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X29zc19zaW5rX2luaXQpLCAoZ3N0X29zc19zaW5rX2ZpbmFsaXNlKToKCSAgRnJlZSB0aGUgZGV2aWNlIG5hbWUgc3RyaW5nIHdoZW4gZmluYWxpc2VkLgoKMjAwNi0wMS0yNiAxNjoyMzo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IHdyb25nIG1lbWNweSBzb3VyY2UgcG9pbnRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgRml4IHdyb25nIG1lbWNweSBzb3VyY2UgcG9pbnRlci4KCjIwMDYtMDEtMjUgMjI6MDU6MjggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogRG9uJ3QgcHV0IGZ1bmN0aW9uIGNhbGxzIGluIGdfcmV0dXJuX2lmX2ZhaWwoKSBzdGF0ZW1lbnRzLCBvciB0aGV5J2xsIGJlIHJlcGxhY2VkIHdpdGggTk8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfcmVtb3ZlX3NyY3BhZCk6CgkgIERvbid0IHB1dCBmdW5jdGlvbiBjYWxscyBpbiBnX3JldHVybl9pZl9mYWlsKCkgc3RhdGVtZW50cywKCSAgb3IgdGhleSdsbCBiZSByZXBsYWNlZCB3aXRoIE5PT1BzIGlmIHNvbWVvbmUgY29tcGlsZXMgd2l0aAoJICBHX0RJU0FCTEVfQ0hFQ0tTIGRlZmluZWQuCgoyMDA2LTAxLTI1IDIwOjMzOjA1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSAgY2hhbmdlbG9nIHN1cmdlcnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNoYW5nZWxvZyBzdXJnZXJ5CgoyMDA2LTAxLTI1IDE4OjIzOjA1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBOZXZlciB0cnVzdCBBTlkgaW5mb3JtYXRpb24gZW5jb2RlZCBpbiBhIG1lZGlhIGZpbGUsIGVzcGVjaWFsbHkgd2hlbiBpdCdzIGdpdmluZyB5b3Ugc2l6ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKGlkM2RlbXV4X2lkM3YyX3BhcnNlX2ZyYW1lKToKCSAgTmV2ZXIgdHJ1c3QgQU5ZIGluZm9ybWF0aW9uIGVuY29kZWQgaW4gYSBtZWRpYSBmaWxlLCBlc3BlY2lhbGx5CgkgIHdoZW4gaXQncyBnaXZpbmcgeW91IHNpemVzLiAoRml4ZXMgIzMyODQ1MikKCjIwMDYtMDEtMjQgMTg6MDM6NDYgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3J0cC9nc3RydHBnNzExcGF5LmM6CgkgIEknbSB0b28gbGF6eSB0byBjb21tZW50IHRoaXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIHdyaXR0ZW4gYnkgS2FpIFZlaG1hbmVuIDxrYWkudmVobWFuZW5Abm9raWEuY29tPiBhcHBsaWVkLiBTZWUgYnVnICMzMjUxNDguCgoyMDA2LTAxLTI0IDExOjU4OjUzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBNb3JlIGNvaGVyZW50IGZyYW1lcmF0ZSBzZXR0aW5nIG9uIGNhcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKSwKCSAgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgTW9yZSBjb2hlcmVudCBmcmFtZXJhdGUgc2V0dGluZyBvbiBjYXBzLgoJICBJZiBzYW1wbGVfc2l6ZSBpcyBhdmFpbGFibGUsIHVzZSB0aGF0IGZvciB0aGUgc2FtcGxlcycgZHVyYXRpb24gaW4KCSAgdGhlIGluZGV4LiBUaGlzIGVuYWJsZXMgc2luZ2xlIGZyYW1lIHN0cmVhbXMgdG8gd29yayAoYW5kIEkgaW1hZ2luZQoJICBmaXhlcyBzb21lIG90aGVyIGNhc2VzKS4KCSAgVGVzdGVkIG9uIHRlc3RzdWl0ZSwgbm8gcmVncmVzc2lvbi4KCjIwMDYtMDEtMjMgMTg6Mzk6MzEgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvbWF0cm9za2EvOiBBZGRlZCByZWNvZ25pdGlvbiBvZiBSZWFsIEF1ZGlvIGFuZCBWaWRlbyBzdHJlYW1zIGluIG1hdHJvc2thIGRlbXV4ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X3ZpZGVvX2NhcHMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2F1ZGlvX2NhcHMpLCAoZ3N0X21hdHJvc2thX2RlbXV4X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIEFkZGVkIHJlY29nbml0aW9uIG9mIFJlYWwgQXVkaW8gYW5kIFZpZGVvIHN0cmVhbXMgaW4gbWF0cm9za2EgZGVtdXhlci4KCjIwMDYtMDEtMjMgMTU6MTA6NTUgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZGVkIGNvZGVjIHJlY29nbml0aW9uIGZvcjogXyBWUDMxIDogdmlkZW8veC12cDMgXyBBVkRKIDogaW1hZ2UvanBlZyBfIGR2Y3AsIGR2YyAgOiB2aWRlby94LWQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfdmlkZW9fY2FwcyksIChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICBBZGRlZCBjb2RlYyByZWNvZ25pdGlvbiBmb3I6CgkgIF8gVlAzMSA6IHZpZGVvL3gtdnAzCgkgIF8gQVZESiA6IGltYWdlL2pwZWcKCSAgXyBkdmNwLCBkdmMgIDogdmlkZW8veC1kdiwgc3lzdGVtc3RyZWFtPShib29sZWFuKWZhbHNlCgkgIF8gMHg2ZDczMDAxNyA6IGF1ZGlvL3gtYWRwY20sIGxheW91dD0oc3RyaW5nKXF1aWNrdGltZQoKMjAwNi0wMS0yMyAxNDozMjo0NyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogUmVtb3ZlIGVycmFudCBicmVhayBzdGF0ZW1lbnQsIGFuZCBmaXggY29tcGlsYXRpb24gd2l0aCBvbGRlciBHQ0MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAoaWQzdjJfdGFnX3RvX3RhZ2xpc3QpOgoJICBSZW1vdmUgZXJyYW50IGJyZWFrIHN0YXRlbWVudCwgYW5kIGZpeCBjb21waWxhdGlvbiB3aXRoCgkgIG9sZGVyIEdDQy4KCjIwMDYtMDEtMjMgMTI6MDQ6MTIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJICBNZW50aW9uIHRoYXQgbXkgbGFzdCBjb21taXQgZml4ZXMgIzMyODI0MQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTWVudGlvbiB0aGF0IG15IGxhc3QgY29tbWl0IGZpeGVzICMzMjgyNDEKCjIwMDYtMDEtMjMgMTE6MDY6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvc3VuYXVkaW8vOiBFeHBvcnQgZnVuY3Rpb25zIHRoYXQgYXJlIG5lZWRlZCBpbiBvdGhlciBwYXJ0cyBvZiB0aGUgY29kZSwgbWFrZXMgdGhlIG1peGVyIGFjdHVhbGx5IHdvcms7IGFkanVzdCBtYWcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJldmlld2VkIGJ5OiBUaW0tUGhpbGlwcCBNw7xsbGVyICA8dGltIGF0IGNlbnRyaWN1bGFyIGRvdCBuZXQ+CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOiAoZ3N0X3N1bmF1ZGlvc2lua19pbml0KToKCSAgRXhwb3J0IGZ1bmN0aW9ucyB0aGF0IGFyZSBuZWVkZWQgaW4gb3RoZXIgcGFydHMgb2YgdGhlIGNvZGUsCgkgIG1ha2VzIHRoZSBtaXhlciBhY3R1YWxseSB3b3JrOyBhZGp1c3QgbWFnaWMgbWluaW11bSBidWZmZXItdGltZQoJICB2YWx1ZSBmcm9tIDNtcyB0byA1bXMgdG8gd29yayBhcm91bmQgc3R1dHRlcmluZyBkdXJpbmcgbXAzCgkgIHBsYXliYWNrICgjMzI3NzY1KS4KCjIwMDYtMDEtMjMgMTA6NDQ6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IEZpeCBwb3NzaWJsZSBkZWFkbG9jayBpbiBtYXRyb3NrYSBtdXhlciAoIzMyNzgyNSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZXZpZXdlZCBieTogVGltLVBoaWxpcHAgTcO8bGxlciAgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfYmVzdF9wYWQpLAoJICAoZ3N0X21hdHJvc2thX211eF93cml0ZV9kYXRhKSwgKGdzdF9tYXRyb3NrYV9tdXhfY29sbGVjdGVkKToKCSAgRml4IHBvc3NpYmxlIGRlYWRsb2NrIGluIG1hdHJvc2thIG11eGVyICgjMzI3ODI1KS4KCjIwMDYtMDEtMjMgMDk6NTk6MDMgKzAwMDAgIEplbnMgR3JhbnNldWVyIDxqZW5zZ3JAZ214Lm5ldD4KCgkgIEM4OSBmaXhlczogZGVjbGFyZSB2YXJpYWJsZXMgYXQgdGhlIGJlZ2lubmluZyBvZiBhIGJsb2NrIGFuZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOiAoZ3N0X3BuZ2VuY19jaGFpbik6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9pbnZlcnQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6IChnc3RfcnRwX21wNHZfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0c3Avc2RwbWVzc2FnZS5oOgoJICAqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOiAoZ3N0X2R5bnVkcHNpbmtfcmVuZGVyKToKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19nZXRfc3RhdHMpOgoJICBDODkgZml4ZXM6IGRlY2xhcmUgdmFyaWFibGVzIGF0IHRoZSBiZWdpbm5pbmcgb2YgYSBibG9jayBhbmQKCSAgbWFrZSBnY2MtMi45eCBoYXBweSAoIzMyODI2NDsgcGF0Y2ggYnk6IEplbnMgR3JhbnNldWVyCgkgIDxqZW5zZ3IgYXQgZ214IGRvdCBuZXQ+KS4KCjIwMDYtMDEtMjMgMDk6MjI6MTcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2lkM2RlbXV4LzogUmV3cml0ZSBwYXJzaW5nIG9mIHRleHQgdGFncyB0byBoYW5kbGUgbXVsdGlwbGUgTlVMTCB0ZXJtaW5hdGVkIHN0cmluZ3MuIFBhcnNlIG51bWVyaWMgZ2VucmUgc3RyaW5ncyBhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6IChpZDNkZW11eF9yZWFkX2lkM3YyX3RhZyk6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuaDoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKGlkM2RlbXV4X2lkM3YyX3BhcnNlX2ZyYW1lKSwKCSAgKHBhcnNlX2NvbW1lbnRfZnJhbWUpLCAocGFyc2VfdGV4dF9pZGVudGlmaWNhdGlvbl9mcmFtZSksCgkgIChpZDN2Ml90YWdfdG9fdGFnbGlzdCksIChpZDN2Ml9hcmVfZGlnaXRzKSwKCSAgKGlkM3YyX2dlbnJlX3N0cmluZ190b190YWdsaXN0KSwgKGlkM3YyX2dlbnJlX2ZpZWxkc190b190YWdsaXN0KSwKCSAgKHBhcnNlX3NwbGl0X3N0cmluZ3MpLCAoZnJlZV90YWdfc3RyaW5ncyk6CgkgIFJld3JpdGUgcGFyc2luZyBvZiB0ZXh0IHRhZ3MgdG8gaGFuZGxlIG11bHRpcGxlIE5VTEwgdGVybWluYXRlZAoJICBzdHJpbmdzLiBQYXJzZSBudW1lcmljIGdlbnJlIHN0cmluZ3MgYW5kIElEM3YyIHR5cGUKCSAgIigzKSg2KUFsdGVybmF0aXZlIiBzdHlsZSBnZW5yZSBzdHJpbmdzLgoJICBQYXJzZSBkYXRlcyB0aGF0IGFyZSBvbmx5IFlZWVkgb3IgWVlZWS1tbSBmb3JtYXQuCgoyMDA2LTAxLTIxIDExOjQzOjUzICswMDAwICBGYWJyaXppbyA8ZmFicml6aW8uZ2VAdGlzY2FsaS5pdD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogJ3R3b3MnIGFuZCAnc293dCcgZm91cmNjIGNhbiBiZSAxNmJpdCBvciA4Yml0IGF1ZGlvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgJ3R3b3MnIGFuZCAnc293dCcgZm91cmNjIGNhbiBiZSAxNmJpdCBvciA4Yml0IGF1ZGlvLgoJICBGaXggOGJpdCBjYXNlICgjMzI3MTMzLCBiYXNlZCBvbiBwYXRjaCBieTogRmFicml6aW8KCSAgR2VubmFyaSA8ZmFicml6aW8gZG90IGdlIGF0IHRpc2NhbGkgZG90IGl0PikuCgkgIEFsc28sICJHX0xJVFRMRV9FTkRJQU4iIGFuZCAiR19CSUdfRU5ESUFOIiBhcmUgbm90CgkgIHZhbGlkIGxpdGVyYWxzIGZvciBlbmRpYW5uZXNzIGluIGNhcHMgc3RyaW5ncywKCSAgb25seSAiTElUVExFX0VORElBTiIgYW5kICJCSUdfRU5ESUFOIiBhcmUgdmFsaWQuCgoyMDA2LTAxLTIwIDE1OjA2OjI4ICswMDAwICBDaHJpc3RvcGggQnVyZ2hhcmR0IDxoYXdrZXNAd2ViLmRlPgoKCSAgZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IERvbid0IGZvcmdldCB0byBpbml0aWFsaXplIGxpYm9pbCwgb3RoZXJ3aXNlIG91ciBvaWwgZnVuY3Rpb25zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiAoZ3N0X3ZpZGVvX2JveF9jbGFzc19pbml0KToKCSAgRG9uJ3QgZm9yZ2V0IHRvIGluaXRpYWxpemUgbGlib2lsLCBvdGhlcndpc2Ugb3VyIG9pbCBmdW5jdGlvbnMKCSAgd2lsbCBjcmFzaCAoZml4ZXMgIzMyNzg3MTsgcGF0Y2ggYnk6IENocmlzdG9waCBCdXJnaGFyZHQKCSAgPGhhd2tlcyBhdCB3ZWIgZG90IGRlPikuCgoyMDA2LTAxLTE5IDIxOjQ2OjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQ2hhbmdlTG9nOgoJICBDaGFuZ2VMb2cgc3VyZ2VyeSAobGFzdCBlbnRyeSBtYXkgaGF2ZSBiZWVuIHNsaWdodGx5IG1pc2xlYWRpbmcpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDaGFuZ2VMb2cgc3VyZ2VyeSAobGFzdCBlbnRyeSBtYXkgaGF2ZSBiZWVuIHNsaWdodGx5IG1pc2xlYWRpbmcpCgoyMDA2LTAxLTE5IDIxOjAwOjUwICswMDAwICBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgoJICBjb25maWd1cmUuYWM6IGp1c3QgbGlrZSBpbiB0aGUgY29yZSBhbmQgZ3N0LXBsdWdpbnMtYmFzZS4gRml4ZXMgYnVpbGQgb24gU29sYXJpcyAoZml4ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBVc2UgcGxhaW4gQVNfTElCVE9PTF9UQUdTIGluc3RlYWQgb2YgQVNfTElCVE9PTF9UQUdTKFtDWFhdKSwganVzdAoJICBsaWtlIGluIHRoZSBjb3JlIGFuZCBnc3QtcGx1Z2lucy1iYXNlLiBGaXhlcyBidWlsZCBvbiBTb2xhcmlzIChmaXhlcwoJICAjMzI2NjgzOyBwYXRjaCBieTogQnJpYW4gQ2FtZXJvbiA8YnJpYW4gZG90IGNhbWVyb24gYXQgc3VuIGRvdCBjb20+KQoKMjAwNi0wMS0xOSAwMDoxMDo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9jZGlvLzogRml4IGJ1aWxkIGZvciBsaWJjZGlvIHZlcnNpb25zID49IDc2OyBnaXZlIHNsaWdodGx5IGxvd2VyIHJhbmsgdGhhbiBjZHBhcmFub2lhLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Rpby9nc3RjZGlvLmM6IChnc3RfY2Rpb19hZGRfY2R0ZXh0X2ZpZWxkKSwgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvY2Rpby9nc3RjZGlvLmg6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuYzogKGdzdF9jZGlvX2NkZGFfc3JjX2dldF9jZHRleHQpOgoJICBGaXggYnVpbGQgZm9yIGxpYmNkaW8gdmVyc2lvbnMgPj0gNzY7IGdpdmUgc2xpZ2h0bHkgbG93ZXIgcmFuawoJICB0aGFuIGNkcGFyYW5vaWEuCgoyMDA2LTAxLTE4IDE5OjMwOjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUG9ydCBsaWJjZGlvIGNkZGEgc291cmNlLCBmb3JtZXJseSBrbm93biBhcyBjZGRhc3JjLCBub3cga25vd24gYXMgY2Rpb2NkZGFzcmMgKGZpeGVzICMzMjMzMjcpLiBTaG91bGQgYWxzbyByZWFkIENELVRFLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2NkaW8vTWFrZWZpbGUuYW06CgkgICogZXh0L2NkaW8vZ3N0Y2Rpby5jOgoJICAqIGV4dC9jZGlvL2dzdGNkaW8uaDoKCSAgKiBleHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5jOgoJICAqIGV4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmg6CgkgIFBvcnQgbGliY2RpbyBjZGRhIHNvdXJjZSwgZm9ybWVybHkga25vd24gYXMgY2RkYXNyYywgbm93IGtub3duIGFzCgkgIGNkaW9jZGRhc3JjIChmaXhlcyAjMzIzMzI3KS4gU2hvdWxkIGFsc28gcmVhZCBDRC1URVhUIGlmIGF2YWlsYWJsZSwKCSAgYnV0IHRoYXQncyBub3QgdGVzdGVkIChmaXhlcyAjMzE3NjU4KS4KCjIwMDYtMDEtMTggMTk6MDg6MDggKzAwMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS5teW9oYW5lbkBub2tpYS5jb20+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogRml4IGNvbnZlcnNpb24gZnJvbSBUSU1FIHRvIEJZVEVTIGZvcm1hdCAoZml4ZXMgIzMyNjg2NDsKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfcGFkX2NvbnZlcnQpOgoJICBGaXggY29udmVyc2lvbiBmcm9tIFRJTUUgdG8gQllURVMgZm9ybWF0IChmaXhlcyAjMzI2ODY0OwoJICBwYXRjaCBieTogVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pIGRvdCBteW9oYW5lbiBhdCBub2tpYSBkb3QgY29tPikKCjIwMDYtMDEtMTggMTg6NTQ6MDIgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgUm9uYWxkJ3MgcGF0Y2ggYXBwbGllZC4gc2VlIGJ1ZyAjMzI2MzE4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUm9uYWxkJ3MgcGF0Y2ggYXBwbGllZC4gc2VlIGJ1ZyAjMzI2MzE4LgoKMjAwNi0wMS0xNyAxNjo0NTo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguKjogRml4IHNlZWtpbmcgZm9yIHF1aWNrdGltZSBmaWxlcy4gQ291bGQgc3RpbGwgdXNlIHNvbWUgbW9yZSBsb3ZlIGFuZCBzb3BoaXN0aWNhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaW5pdCksCgkgIChnc3RfcXRkZW11eF9zZW5kX2V2ZW50KSwgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfZXZlbnQpLAoJICAoZ3N0X3F0ZGVtdXhfY2hhbmdlX3N0YXRlKSwgKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIEZpeCBzZWVraW5nIGZvciBxdWlja3RpbWUgZmlsZXMuIENvdWxkIHN0aWxsIHVzZSBzb21lIG1vcmUKCSAgbG92ZSBhbmQgc29waGlzdGljYXRpb24uCgoyMDA2LTAxLTE2IDEwOjIzOjQ3ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIHVwZGF0ZSB3aXRoIGxvdmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSB3aXRoIGxvdmUKCjIwMDYtMDEtMTUgMjA6MjE6NDggKzAwMDAgIFNlcmdleSBTY29iaWNoIDxzZXJnZXkuc2NvYmljaEBnbWFpbC5jb20+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogRml4IGNvbXBpbGF0aW9uIG9mIGlkM2RlbXV4IHdoZW4gemxpYiBpcyBub3QgcHJlc2VudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChpZDNkZW11eF9pZDN2Ml9wYXJzZV9mcmFtZSk6CgkgIEZpeCBjb21waWxhdGlvbiBvZiBpZDNkZW11eCB3aGVuIHpsaWIgaXMgbm90IHByZXNlbnQuCgkgIChGaXhlcyAjMzI2NjAyOyBwYXRjaCBieTogU2VyZ2V5IFNjb2JpY2gpCgoyMDA2LTAxLTE1IDE0OjEyOjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2VzZC9NYWtlZmlsZS5hbTogb3RoZXJ3aXNlIGJ1aWxkIHdpbGwgZmFpbCBmb3IgZm9sa3Mgd2l0aCBsaWJlc2QgaW4gYSBub24tc3RhbmRhcmQgcHJlZml4ICgjMzI3MDA5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2VzZC9NYWtlZmlsZS5hbToKCSAgQWRkICQoRVNEX0NGTEFHUyksIG90aGVyd2lzZSBidWlsZCB3aWxsIGZhaWwgZm9yIGZvbGtzCgkgIHdpdGggbGliZXNkIGluIGEgbm9uLXN0YW5kYXJkIHByZWZpeCAoIzMyNzAwOSkuCgoyMDA2LTAxLTEzIDE5OjI5OjI3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJICBiYWNrIHRvIGhlYWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJhY2sgdG8gaGVhZAoKMjAwNi0wMS0xMyAxOToyNTo0MCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3VwbG9hZC5tYWs6CgkgIHJlbGVhc2luZyAwLjEwLjEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbGVhc2luZyAwLjEwLjEKCjIwMDYtMDEtMTMgMTg6Mzc6MTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvanBlZy9nc3RzbW9rZWVuYy5jOiBmaXggbWVtbGVhay4gIEZpeGVzICMzMjY2MTgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBXaW0gVGF5bWFucwoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6IChnc3Rfc21va2VlbmNfY2hhaW4pOgoJICBmaXggbWVtbGVhay4gIEZpeGVzICMzMjY2MTgKCjIwMDYtMDEtMTMgMTg6MzU6MDAgKzAwMDAgIE1pa2UgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiBGaXggbWVtbGVhay4gIEZpeGVzICMzMjY2MTIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDEtMTMgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgIDx0aG9tYXMgYXQgYXBlc3RhYXJ0IGRvdCBvcmc+CgkgIHBhdGNoIGJ5OiBNaWtlIFNtaXRoCgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6IChnc3RfbGV2ZWxfbWVzc2FnZV9uZXcpLAoJICAoZ3N0X2xldmVsX21lc3NhZ2VfYXBwZW5kX2NoYW5uZWwpOgoJICBGaXggbWVtbGVhay4gIEZpeGVzICMzMjY2MTIKCjIwMDYtMDEtMTEgMTE6Mzk6MTAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgY29uZmlndXJlLmFjOiBwcmVyZWxlYXNpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBwcmVyZWxlYXNpbmcKCSAgKiBwby9hZi5wbzoKCSAgKiBwby9hei5wbzoKCSAgKiBwby9jcy5wbzoKCSAgKiBwby9lbl9HQi5wbzoKCSAgKiBwby9odS5wbzoKCSAgKiBwby9pdC5wbzoKCSAgKiBwby9uYi5wbzoKCSAgKiBwby9ubC5wbzoKCSAgKiBwby9vci5wbzoKCSAgKiBwby9zcS5wbzoKCSAgKiBwby9zci5wbzoKCSAgKiBwby9zdi5wbzoKCSAgKiBwby91ay5wbzoKCSAgKiBwby92aS5wbzoKCSAgdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAwNi0wMS0xMSAxMTowNDowMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIHN1cHBvcnQgZm9yIEluZGVvMyB2aWRlbyBpbiBRdWlja3RpbWUgZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXZpZXdlZCBieTogRWR3YXJkIEhlcnZleSAgPGVkd2FyZEBmbHVlbmRvLmNvbT4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBBZGQgc3VwcG9ydCBmb3IgSW5kZW8zIHZpZGVvIGluIFF1aWNrdGltZSBmaWxlcy4KCSAgQ2xvc2VzICMzMjY1MjQKCjIwMDYtMDEtMTAgMTI6Mzg6NTkgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiBEb24ndCBsZWFrIGZpbHRlciBhcnJheXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiAoZ3N0X2xldmVsX2NsYXNzX2luaXQpLAoJICAoZ3N0X2xldmVsX2Rpc3Bvc2UpOgoJICBEb24ndCBsZWFrIGZpbHRlciBhcnJheXMuCgoyMDA2LTAxLTA5IDE3OjA0OjUyICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvdXBsb2FkLm1hazoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9zdW5hdWRpby9NYWtlZmlsZS5hbToKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyLmg6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuaDoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJ0cmFjay5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcnRyYWNrLmg6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5oOgoJICBhZGQgU3VuIEF1ZGlvIHBsdWdpbi4gVmVyaWZpZWQgdGhhdCBub3RoaW5nIGJyZWFrcyBhbmQgdGhhdCBtYWtlIGNoZWNrIHdvcmtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIFN1biBBdWRpbyBwbHVnaW4uIFZlcmlmaWVkIHRoYXQgbm90aGluZyBicmVha3MgYW5kIHRoYXQgbWFrZSBjaGVjayB3b3Jrcy4KCSAgRG9uJ3QgdGhpbmsgdGhlIGRvY3MgZ2V0cyBwcm9wZXJseSBidWlsdCB5ZXQsIGJ1dCBJIGRvbid0IHVuZGVyc3RhbmQgZXhhY3RseSBob3cgdG8gZW5hYmxlIHRoYXQuCgoyMDA2LTAxLTA3IDIwOjAxOjA5ICswMDAwICBQaGlsaXBwZSBLYWxhZiA8cGhpbGlwcGUua2FsYWZAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0LXBsdWdpbnMtZ29vZC9nc3QvdWRwLzogQWxsb3cgdWRwc3JjIGFuZCBkeW51ZHBzaW5rIHRvIHRha2UgYSBzb2NrZmQgYXMgYSBwYXJhbWV0ZXIuIEZvciB1ZHBzcmMsIG92ZXJyaWRlcyB0aGUgcG9yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTAxLTA3ICBQaGlsaXBwZSBLaGFsYWYgIDxwaGlsaXBwZS5rYWxhZkBjb2xsYWJvcmEuY28udWs+CgkgICogZ3N0LXBsdWdpbnMtZ29vZC9nc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSAgKiBnc3QtcGx1Z2lucy1nb29kL2dzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIEFsbG93IHVkcHNyYyBhbmQgZHludWRwc2luayB0byB0YWtlIGEgc29ja2ZkIGFzIGEgcGFyYW1ldGVyLiBGb3IgdWRwc3JjLAoJICBvdmVycmlkZXMgdGhlIHBvcnQgb3IgbXVsdGljYXN0IHBhcmFtZXRlcnMuIEZpeGVzIGJ1Z3MgIzMyMzAyMS4KCjIwMDYtMDEtMDYgMTY6Mjg6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZ2NvbmYvOiBBZGQgbmV3IGdjb25mYXVkaW9zcmMgYW5kIGdjb25mdmlkZW9zcmMgZWxlbWVudHMgKG5lZWRlZCBmb3IgZ25vbWUtc291bmQtcmVjb3JkZXIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2NvbmYvTWFrZWZpbGUuYW06CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zcmMuYzogKGdzdF9nY29uZl9hdWRpb19zcmNfYmFzZV9pbml0KSwKCSAgKGdzdF9nY29uZl9hdWRpb19zcmNfY2xhc3NfaW5pdCksIChnc3RfZ2NvbmZfYXVkaW9fc3JjX3Jlc2V0KSwKCSAgKGdzdF9nY29uZl9hdWRpb19zcmNfaW5pdCksIChnc3RfZ2NvbmZfYXVkaW9fc3JjX2Rpc3Bvc2UpLAoJICAoZG9fdG9nZ2xlX2VsZW1lbnQpLCAoY2JfdG9nZ2xlX2VsZW1lbnQpLAoJICAoZ3N0X2djb25mX2F1ZGlvX3NyY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc3JjLmg6CgkgICogZXh0L2djb25mL2dzdGdjb25mZWxlbWVudHMuYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NyYy5jOiAoZ3N0X2djb25mX3ZpZGVvX3NyY19iYXNlX2luaXQpLAoJICAoZ3N0X2djb25mX3ZpZGVvX3NyY19jbGFzc19pbml0KSwgKGdzdF9nY29uZl92aWRlb19zcmNfcmVzZXQpLAoJICAoZ3N0X2djb25mX3ZpZGVvX3NyY19pbml0KSwgKGdzdF9nY29uZl92aWRlb19zcmNfZGlzcG9zZSksCgkgIChkb190b2dnbGVfZWxlbWVudCksIChjYl90b2dnbGVfZWxlbWVudCksCgkgIChnc3RfZ2NvbmZfdmlkZW9fc3JjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zcmMuaDoKCSAgQWRkIG5ldyBnY29uZmF1ZGlvc3JjIGFuZCBnY29uZnZpZGVvc3JjIGVsZW1lbnRzCgkgIChuZWVkZWQgZm9yIGdub21lLXNvdW5kLXJlY29yZGVyKS4KCjIwMDYtMDEtMDYgMTE6NDY6NTMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogQWRkIGdzdF9lbGVtZW50X25vX21vcmVfcGFkcygpIGZvciBwcm9wZXIgZGVjb2RlYmluIGJlaGF2aW91ci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfYWRkX3NyY3BhZCk6CgkgIEFkZCBnc3RfZWxlbWVudF9ub19tb3JlX3BhZHMoKSBmb3IgcHJvcGVyIGRlY29kZWJpbiBiZWhhdmlvdXIuCgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChwYXJzZV9jb21tZW50X2ZyYW1lKSwKCSAgKHBhcnNlX3RleHRfaWRlbnRpZmljYXRpb25fZnJhbWUpLCAocGFyc2Vfc3BsaXRfc3RyaW5ncyk6CgkgIEZhaWx1cmUgdG8gZGVjb2RlIHNvbWUgdGFncyBpcyBub3QgYSBHU1RfRVJST1IoKSBidXQgYQoJICBHU1RfV0FSTklORygpCgkgIFdoZW4gaXRlcmF0aW5nIG92ZXIgYSBjaHVuayBvZiB0ZXh0LCBjaGVjayB0aGF0IHdlIGhhdmVuJ3QgZ29uZSB0b28KCSAgZmFyLgoKMjAwNi0wMS0wNSAyMzoxNzo0NCArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3BsdWdpbi5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRwbHVnaW4uYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3RkcmF3LmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGRpcmVjdHNvdW5kLmRzcDoKCSAgYWRkZWQgc3lzL2RpcmVjdGRyYXcgYWRkZWQgc3lzL2RpcmVjdHNvdW5kIGFkZGVkIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3IGFkZGVkIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3Rzb3VuZC5kc3AgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAxLTA1ICBTZWJhc3RpZW4gTW91dHRlICA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgkgICogYWRkZWQgc3lzL2RpcmVjdGRyYXcKCSAgKiBhZGRlZCBzeXMvZGlyZWN0c291bmQKCSAgKiBhZGRlZCB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdwoJICAqIGFkZGVkIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3Rzb3VuZC5kc3AKCSAgKiBhZGRlZCB3aW4zMi92czYvbGliZ3N0ZGlyZWN0ZHJhdy5kc3AKCSAgKiBhZGRlZCB3aW4zMi9jb21tb24vY29uZmlnLmgKCjIwMDYtMDEtMDUgMTc6MDM6NDUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiBjYWxsIG9pbF9pbml0KCkgd2hlbiB1c2luZyBsaWJvaWwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IChnc3RfdmlkZW9fYm94X2NsYXNzX2luaXQpLAoJICAocGx1Z2luX2luaXQpOgoJICBjYWxsIG9pbF9pbml0KCkgd2hlbiB1c2luZyBsaWJvaWwKCjIwMDYtMDEtMDQgMTc6Mjg6NDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvanBlZy86IEZpeCBsZWFrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0c21va2VkZWMuYzogKGdzdF9zbW9rZWRlY19jaGFpbik6CgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzogKGdzdF9zbW9rZWVuY19jaGFpbik6CgkgIEZpeCBsZWFrcy4KCjIwMDYtMDEtMDIgMTk6Mzg6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IERvbid0IGdfYXNzZXJ0KCkgd2hlcmUgd2Ugc2hvdWxkIGp1c3QgcmV0dXJuIEZBTFNFOyByZW1vdmUgdW5uZWNlc3NhcnkgZ19hc3NlcnQoKTsgaW5pdGlhbGl6ZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJldmlld2VkIGJ5OiBUaW0tUGhpbGlwcCBNw7xsbGVyICA8dGltIGF0IGNlbnRyaWN1bGFyIGRvdCBuZXQ+CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX3dyaXRlKSwKCSAgKGdzdF9mbGFjX2RlY19jb252ZXJ0X3NyYyksIChnc3RfZmxhY19kZWNfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9mbGFjX2RlY19jaGFuZ2Vfc3RhdGUpOgoJICBEb24ndCBnX2Fzc2VydCgpIHdoZXJlIHdlIHNob3VsZCBqdXN0IHJldHVybiBGQUxTRTsgcmVtb3ZlCgkgIHVubmVjZXNzYXJ5IGdfYXNzZXJ0KCk7IGluaXRpYWxpemUgc29tZSBmaWVsZHMgcHJvcGVybHkgaW4KCSAgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIChmaXhlcyAjMzI1NTA0KS4gQWxzbywgdXNlCgkgIEdTVF9ERUJVR19PQkpFQ1QgaW4gdHdvIG1vcmUgcGxhY2VzLgoKMjAwNS0xMi0zMCAxNTo1MTowNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgY29uZmlndXJlLmFjOiBhbHNvIHJlbW92ZSBzbW9vdGh3YXZlJ3MgTWFrZWZpbGUuYW0KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBhbHNvIHJlbW92ZSBzbW9vdGh3YXZlJ3MgTWFrZWZpbGUuYW0KCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIGZpeCBwbHVnaW4gZG9jcwoKMjAwNS0xMi0zMCAxNTozOToxNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3Qvc21vb3Rod2F2ZS8uZ2l0aWdub3JlOgoJKiBnc3Qvc21vb3Rod2F2ZS9NYWtlZmlsZS5hbToKCSogZ3N0L3Ntb290aHdhdmUvUkVBRE1FOgoJKiBnc3Qvc21vb3Rod2F2ZS9kZW1vLW9zc3NyYy5jOgoJKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6CgkqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuaDoKCSAgcmVtb3ZlIG9sZCBwbHVnaW4gdGhhdCB3ZW50IGJhZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlIG9sZCBwbHVnaW4gdGhhdCB3ZW50IGJhZAoKMjAwNS0xMi0zMCAxNTozNDoxOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06IGFkZGVkIG1pc3NpbmcgTWFrZWZpbGUuYW0KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkgIGFkZGVkIG1pc3NpbmcgTWFrZWZpbGUuYW0KCjIwMDUtMTItMzAgMTU6Mjg6NDQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIG1vdmVkIGxldmVsLWV4YW1wbGUgdG8gdGVzdHMvZXhhbXBsZXMvbGV2ZWwtZXhhbXBsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2xldmVsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9sZXZlbC9sZXZlbC1leGFtcGxlLmM6CgkgICogdGVzdHMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvbGV2ZWwtZXhhbXBsZS5jOiAobWVzc2FnZV9oYW5kbGVyKSwgKG1haW4pOgoJICBtb3ZlZCBsZXZlbC1leGFtcGxlIHRvIHRlc3RzL2V4YW1wbGVzL2xldmVsLWV4YW1wbGUKCSAgKiB0ZXN0cy9vbGQvZXhhbXBsZXMvbGV2ZWwvZGVtby5jOiAobWFpbik6CgkgICogdGVzdHMvb2xkL2V4YW1wbGVzL2xldmVsL3Bsb3QuYzogKG1haW4pOgoJICBzb21lIGluaXRpYWwgZml4ZXMKCjIwMDUtMTItMjkgMTY6MzY6MTkgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLio6IFRyYWNrIHBhY2tldHMgc2VudCBwZXIgY2xpZW50IGluIGFkZGl0aW9uIHRvIGJ5dGVzIHNlbnQ7IHByb3ZpZGUgdGhpcyBpbmZvIHRocm91Z2ggZ2V0LXN0YS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19yZW5kZXIpLAoJICAoZ3N0X211bHRpdWRwc2lua19yZW1vdmUpLCAoZ3N0X211bHRpdWRwc2lua19nZXRfc3RhdHMpOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgIFRyYWNrIHBhY2tldHMgc2VudCBwZXIgY2xpZW50IGluIGFkZGl0aW9uIHRvIGJ5dGVzIHNlbnQ7IHByb3ZpZGUKCSAgdGhpcyBpbmZvIHRocm91Z2ggZ2V0LXN0YXRzIHNpZ25hbAoKMjAwNS0xMi0yOSAxMToyNjoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzogQ2FuJ3QgdXNlIGdzdF9vYmplY3RfdW5yZWYoKSBvbiBhIEdzdEFkYXB0ZXIgKCMzMjUxOTEpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6IChnc3RfYXVfcGFyc2VfZGlzcG9zZSk6CgkgIENhbid0IHVzZSBnc3Rfb2JqZWN0X3VucmVmKCkgb24gYSBHc3RBZGFwdGVyICgjMzI1MTkxKS4KCjIwMDUtMTItMjggMTg6NTU6MzIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzogSWYgYSBicm9rZW4gdGFnIGhhcyAwIGJ5dGVzIHBheWxvYWQsIGF0IGxlYXN0IHN0aWxsIHNraXAgdGhlIDEwIGJ5dGUgaGVhZGVyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6IChpZDNkZW11eF9yZWFkX2lkM3YyX3RhZyk6CgkgIElmIGEgYnJva2VuIHRhZyBoYXMgMCBieXRlcyBwYXlsb2FkLCBhdCBsZWFzdCBzdGlsbCBza2lwCgkgIHRoZSAxMCBieXRlIGhlYWRlcgoKMjAwNS0xMi0yMiAxNTowMDo0MSArMDAwMCAgUGhpbGlwcGUgS2FsYWYgPHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3J0cC86IE1ha2luZyB0aGVzZSBkZXBheWxvYWRlcnMgKEgyNjMrIGFuZCBtcGVnNCB2aWRlbykgaW5oZXJpdCBmcm9tCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEyLTIyICBQaGlsaXBwZSBLaGFsYWYgIDxidXJnZXJAc3BlZWR5Lm9yZz4KCSAgKiBnc3QtcGx1Z2lucy1nb29kL2dzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5oOgoJICAqIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC9nc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5oOgoJICAqIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSAgTWFraW5nIHRoZXNlIGRlcGF5bG9hZGVycyAoSDI2MysgYW5kIG1wZWc0IHZpZGVvKSBpbmhlcml0IGZyb20KCSAgUnRwQmFzZURlcGF5bG9hZGVyQ2xhc3MuIEZpeGVzIGJ1Z3MgIzMyMzkyMiBhbmQgIzMyMzkwOC4KCjIwMDUtMTItMjEgMTc6MTU6MDkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy4qOiBSZWdlbmVyYXRlIHRoZSBwbHVnaW4gaGllYXJjaHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgUmVnZW5lcmF0ZSB0aGUgcGx1Z2luIGhpZWFyY2h5LgoKMjAwNS0xMi0yMSAxNToyNDo1OSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBBZGQgZG9jdW1lbnRhdGlvbiBmb3IgaWQzZGVtdXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEyLTIxICBKYW4gU2NobWlkdCAgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9nZXRfdHlwZSksCgkgIChnc3RfaWQzZGVtdXhfYmFzZV9pbml0KSwgKGdzdF9pZDNkZW11eF9jbGFzc19pbml0KSwKCSAgKGdzdF9pZDNkZW11eF9jaGFpbik6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4Lmg6CgkgIEFkZCBkb2N1bWVudGF0aW9uIGZvciBpZDNkZW11eC4KCSAgRG9uJ3QgZmFpbCBpZiB0aGUgZmlyc3QgYnVmZmVyIGlzIG5vdCBhdCBvZmZzZXQgMCwganVzdAoJICBhdHRlbXB0IHRvIHR5cGVmaW5kIGFuZCBkbyBwYXNzIHRocm91Z2gKCSAgUmVuYW1lIHRoZSBnc3RfdHlwZSBmdW5jdGlvbiBmcm9tIGdzdF9nc3RfaWQzZGVtdXguLgoKMjAwNS0xMi0yMCAxMjo0NDoyNSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuKjogQ29sbGVjdCBzdGF0aXN0aWNzOyByZXR1cm4gdGhlbSBmcm9tIGdldF9zdGF0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfcmVuZGVyKSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfYWRkKSwgKGdzdF9tdWx0aXVkcHNpbmtfcmVtb3ZlKSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfZ2V0X3N0YXRzKToKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICBDb2xsZWN0IHN0YXRpc3RpY3M7IHJldHVybiB0aGVtIGZyb20gZ2V0X3N0YXRzLgoKMjAwNS0xMi0xOSAxNTo0MzozMCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogU3R1cGlkIHNpZ25lZG5lc3MgaXNzdWUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fc2Nhbik6CgkgIFN0dXBpZCBzaWduZWRuZXNzIGlzc3VlLi4uCgoyMDA1LTEyLTE5IDE1OjE5OjQ0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzogQWRkIGRlYnVnZ2luZyBjYXRlZ29yeSBhbmQgcmV0dXJuIEdzdEZsb3dSZXR1cm4gaW4gdGhlIHJpZ2h0IHBsYWNlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiAoZ3N0X3N3ZmRlY19jbGFzc19pbml0KSwKCSAgKGdzdF9zd2ZkZWNfY2hhaW4pLCAoZ3N0X3N3ZmRlY19yZW5kZXIpOgoJICBBZGQgZGVidWdnaW5nIGNhdGVnb3J5IGFuZCByZXR1cm4gR3N0Rmxvd1JldHVybiBpbiB0aGUgcmlnaHQgcGxhY2VzCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2xpbmspOgoJICBHZXQgc29tZXRoaW5nIGZyb20gdGhlIHBlZXIgcGFkIG9uY2Ugd2UndmUgY2hlY2tlZCBpZiB0aGVyZSBpcyBhIHBlZXIgcGFkLgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2NoYW5nZV9zdGF0ZSksCgkgIChxdGRlbXV4X3RyZWVfZ2V0X2NoaWxkX2J5X3R5cGUpLCAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIENvdXBsZSBvZiBmaXhlcwoKMjAwNS0xMi0xOSAxNTowNjoyNyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogQ29uc3RydWN0IGluZGV4IGZvciBpbmRleGxlc3MgZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX2V2ZW50KSwgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfb2RtbCksIChnc3RfYXZpX2RlbXV4X3BlZWtfdGFnKSwKCSAgKGdzdF9hdmlfZGVtdXhfbmV4dF9kYXRhX2J1ZmZlciksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9zY2FuKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlciksIChnc3RfYXZpX2RlbXV4X2xvb3ApOgoJICBDb25zdHJ1Y3QgaW5kZXggZm9yIGluZGV4bGVzcyBmaWxlcy4KCSAgTWFrZSBzdXJlIHBhZC9idWZmZXJzIGFyZSBjb3JyZWN0bHkgcmVzZXQgdG8gTlVMTCBvbmNlIHdlIGRvbid0IG5lZWQKCSAgdGhlbSBhbnltb3JlLCBlbHNlIHdlIGdldCBsb3ZlbHkgc2VnZmF1bHRzL2Fzc2VydGlvbnMuCgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIFllcywgeW91IGNhbiBoYXZlIDk2S0h6IGF1ZGlvIGFuZCB3bWEgaW4gd2F2IDooCgoyMDA1LTEyLTE4IDE1OjE0OjQ0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQ2hlY2sgZm9yIG9wdGlvbmFsIGRlcGVuZGVuY3kgb24gemxpYiBmb3IgaWQzZGVtdXgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBDaGVjayBmb3Igb3B0aW9uYWwgZGVwZW5kZW5jeSBvbiB6bGliIGZvciBpZDNkZW11eAoJICAqIGdzdC9pZDNkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9nc3RfaWQzZGVtdXhfZ2V0X3R5cGUpLAoJICAoZ3N0X2lkM2RlbXV4X2Jhc2VfaW5pdCksIChnc3RfaWQzZGVtdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfaWQzZGVtdXhfcmVzZXQpLCAoZ3N0X2lkM2RlbXV4X2luaXQpLCAoZ3N0X2lkM2RlbXV4X2Rpc3Bvc2UpLAoJICAoZ3N0X2lkM2RlbXV4X2FkZF9zcmNwYWQpLCAoZ3N0X2lkM2RlbXV4X3JlbW92ZV9zcmNwYWQpLAoJICAoZ3N0X2lkM2RlbXV4X3RyaW1fYnVmZmVyKSwgKGdzdF9pZDNkZW11eF9jaGFpbiksCgkgIChnc3RfaWQzZGVtdXhfc2V0X3Byb3BlcnR5KSwgKGdzdF9pZDNkZW11eF9nZXRfcHJvcGVydHkpLAoJICAoaWQzZGVtdXhfZ2V0X3Vwc3RyZWFtX3NpemUpLCAoZ3N0X2lkM2RlbXV4X3NyY3BhZF9ldmVudCksCgkgIChnc3RfaWQzZGVtdXhfcmVhZF9pZDN2MSksIChnc3RfaWQzZGVtdXhfcmVhZF9pZDN2MiksCgkgIChnc3RfaWQzZGVtdXhfc2lua19hY3RpdmF0ZSksIChnc3RfaWQzZGVtdXhfc3JjX2FjdGl2YXRlX3B1bGwpLAoJICAoZ3N0X2lkM2RlbXV4X3NyY19jaGVja2dldHJhbmdlKSwgKGdzdF9pZDNkZW11eF9yZWFkX3JhbmdlKSwKCSAgKGdzdF9pZDNkZW11eF9zcmNfZ2V0cmFuZ2UpLCAoZ3N0X2lkM2RlbXV4X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfaWQzZGVtdXhfcGFkX3F1ZXJ5KSwgKGdzdF9pZDNkZW11eF9nZXRfcXVlcnlfdHlwZXMpLAoJICAoc2ltcGxlX2ZpbmRfcGVlayksIChzaW1wbGVfZmluZF9zdWdnZXN0KSwKCSAgKGdzdF9pZDNkZW11eF9kb190eXBlZmluZCksIChnc3RfaWQzZGVtdXhfc2VuZF90YWdfZXZlbnQpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5oOgoJICAqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6IChyZWFkX3N5bmNoX3VpbnQpLAoJICAoaWQzZGVtdXhfcmVhZF9pZDN2MV90YWcpLCAoaWQzZGVtdXhfcmVhZF9pZDN2Ml90YWcpLAoJICAoaWQzZGVtdXhfaWQzdjJfZnJhbWVfaGRyX3NpemUpLCAoY29udmVydF9maWRfdG9fdjI0MCksCgkgIChpZDNkZW11eF9pZDN2Ml9mcmFtZXNfdG9fdGFnX2xpc3QpOgoJICAqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmg6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyLjQuMC1mcmFtZXMudHh0OgoJICAqIGdzdC9pZDNkZW11eC9pZDN2Mi40LjAtc3RydWN0dXJlLnR4dDoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKGlkM2RlbXV4X2lkM3YyX3BhcnNlX2ZyYW1lKSwKCSAgKHBhcnNlX2NvbW1lbnRfZnJhbWUpLCAocGFyc2VfdGV4dF9pZGVudGlmaWNhdGlvbl9mcmFtZSksCgkgIChpZDN2Ml90YWdfdG9fdGFnbGlzdCksIChwYXJzZV9zcGxpdF9zdHJpbmdzKToKCSAgQWxsIG5ldyBMR1BMIGlkMyBkZW11eGVyLiBDYW4gdXNlIHpsaWIgZm9yIGNvbXByZXNzZWQgZnJhbWVzLAoJICBvdGhlcndpc2UgaXQgZGlzY2FyZHMgdGhlbS4gV29ya3Mgb24gbXkgdGVzdCBmaWxlcy4KCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9sb29wKToKCSAgRG9uJ3Qgc2VuZCBFT1MgdG8gYSBub24tZXhpc3Rpbmcgc3JjcGFkCgkgIFRoZSBkZWJ1ZyBjYXRlZ29yeSBjYW4gYmUgc3RhdGljCgoyMDA1LTEyLTE3IDE3OjQ4OjM4ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IFVwZGF0ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEyLTE3ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRlY2wudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXVuZG9jdW1lbnRlZC50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGx2aWRlb3NpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6IFVwZGF0ZXMuCgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICAoZ3N0X2RmYnZpZGVvc2lua19zdXJmYWNlX2NyZWF0ZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2V2ZW50X3RocmVhZCksIChnc3RfZGZidmlkZW9zaW5rX2VudW1fdm1vZGVzKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZW51bV9kZXZpY2VzKSwgKGdzdF9kZmJ2aWRlb3Npbmtfc2V0dXApLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jbGVhbnVwKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY2FuX2JsaXRfZnJvbV9mb3JtYXQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19nZXRfYmVzdF92bW9kZSksIChnc3RfZGZidmlkZW9zaW5rX2dldGNhcHMpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19zZXRjYXBzKSwgKGdzdF9kZmJ2aWRlb3Npbmtfc2hvd19mcmFtZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2J1ZmZlcl9hbGxvYyksIChnc3RfZGZic3VyZmFjZV9maW5hbGl6ZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2ludGVyZmFjZV9zdXBwb3J0ZWQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19uYXZpZ2F0aW9uX3NlbmRfZXZlbnQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua191cGRhdGVfY29sb3JiYWxhbmNlKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY29sb3JiYWxhbmNlX2xpc3RfY2hhbm5lbHMpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jb2xvcmJhbGFuY2Vfc2V0X3ZhbHVlKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY29sb3JiYWxhbmNlX2dldF92YWx1ZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2NvbG9yYmFsYW5jZV9pbml0KSwKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfaW5pdCksIChnc3RfZGZidmlkZW9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuaDogSW1wbGVtZW50IHZlcnRpY2FsIHN5bmMgYW5kCgkgIGNvbG9yIGJhbGFuY2UgaW50ZXJmYWNlLgoKMjAwNS0xMi0xNiAyMTo1Nzo1MSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgY2hhbmdlIHNvbWUgY2hhciogaW50byBjaGFyW10KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2VzZC9lc2Rtb24uYzogKGdzdF9lc2Rtb25fb3Blbl9hdWRpbyk6CgkgICogZXh0L2VzZC9lc2RzaW5rLmM6IChnc3RfZXNkc2lua19wcmVwYXJlKToKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkgIGNoYW5nZSBzb21lIGNoYXIqIGludG8gY2hhcltdCgoyMDA1LTEyLTE2IDE5OjMyOjUzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLio6IFVzZSBHc3RTZWdtZW50IHRvIGltcGxlbWVudCBtb3JlIHNlZWtpbmcgZmVhdHVyZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3Jlc2V0KSwKCSAgKGdzdF93YXZwYXJzZV9vdGhlciksIChnc3Rfd2F2cGFyc2VfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpLAoJICAoZ3N0X3dhdnBhcnNlX2xvb3ApLCAoZ3N0X3dhdnBhcnNlX3BhZF9jb252ZXJ0KSwKCSAgKGdzdF93YXZwYXJzZV9zcmNwYWRfZXZlbnQpLCAoZ3N0X3dhdnBhcnNlX3NpbmtfYWN0aXZhdGVfcHVsbCk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIFVzZSBHc3RTZWdtZW50IHRvIGltcGxlbWVudCBtb3JlIHNlZWtpbmcgZmVhdHVyZXMuCgoyMDA1LTEyLTE2IDEyOjI1OjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiBPb3BzLCByZW1vdmUgdHJhaWxpbmcgY29tbWEgZnJvbSBjYXBzIHN0cmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJICBPb3BzLCByZW1vdmUgdHJhaWxpbmcgY29tbWEgZnJvbSBjYXBzIHN0cmluZy4KCjIwMDUtMTItMTYgMTA6MTI6NDkgKzAwMDAgIEJlbmphbWluIFBpbmVhdSA8YmVuLnBpbmVhdUBnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiBBZGQgPG5ldGluZXQvaW4uaD4gaW5jbHVkZSBhbmQgbW92ZSA8YXJwYS9pbmV0Lmg+IGluY2x1ZGUgdG8gbWFrZSB0aGluZ3Mgd29yayBvbiBPcGVuQlNEIGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzoKCSAgQWRkIDxuZXRpbmV0L2luLmg+IGluY2x1ZGUgYW5kIG1vdmUgPGFycGEvaW5ldC5oPiBpbmNsdWRlCgkgIHRvIG1ha2UgdGhpbmdzIHdvcmsgb24gT3BlbkJTRCBhcyB3ZWxsIChmaXhlcyAjMzIzNzE3OwoJICBwYXRjaCBieTogQmVuamFtaW4gUGluZWF1KQoKMjAwNS0xMi0xNiAwOTo1OToyMSArMDAwMCAgZ2NvY2F0cmVAZ21haWwuY29tIDxnY29jYXRyZUBnbWFpbC5jb20+CgoJICBleHQvd2F2cGFjay86IFdhdnBhY2sgc3VwcG9ydHMgc2FtcGxlcmF0ZXMgZnJvbSA2LTE5MmtIeiwgZml4IHBhZCB0ZW1wbGF0ZSByZW1vdmUgYnVmZmVyLWZyYW1lcyBmcm9tIGNhcHMsIHRoZXkgYXJlIGcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2xpbmspOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICBXYXZwYWNrIHN1cHBvcnRzIHNhbXBsZXJhdGVzIGZyb20gNi0xOTJrSHosIGZpeCBwYWQgdGVtcGxhdGUKCSAgY2FwcyAoZml4ZXMgIzMyMjk3MzsgcGF0Y2ggYnk6IGdjb2NhdHJlQGdtYWlsLmNvbSkuIEFsc28KCSAgcmVtb3ZlIGJ1ZmZlci1mcmFtZXMgZnJvbSBjYXBzLCB0aGV5IGFyZSBnb25lIGluIDAuMTAuCgoyMDA1LTEyLTE0IDIwOjA1OjQ1ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkgIFNldCBjbG9jayByYXRlIHRvIGJlIGZpeGVkIGluIDgwMDAuIEl0IGZpeGVzIGJ1ZyAjMzI0MDEyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU2V0IGNsb2NrIHJhdGUgdG8gYmUgZml4ZWQgaW4gODAwMC4gSXQgZml4ZXMgYnVnICMzMjQwMTIuCgoyMDA1LTEyLTE0IDE4OjA3OjE2ICswMDAwICBQaGlsaXBwZSBLYWxhZiA8cGhpbGlwcGUua2FsYWZAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0LXBsdWdpbnMtZ29vZC9nc3QvcnRwLzogRml4ZWQgcGF5bG9hZCByYW5nZSBpbiBwYXlsb2RlciBjYXBzLiBSZW1vdmVkIHBheWxvYWQgcmFuZ2UgY29tcGxldGx5IGZyb20gZGVwYXlsb2FkZXJzIGFzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEyLTE0ICBQaGlsaXBwZSBLaGFsYWYgIDxidXJnZXJAc3BlZWR5Lm9yZz4KCSAgKiBnc3QtcGx1Z2lucy1nb29kL2dzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC9nc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC9nc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJICAqIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3J0cC9nc3RydHBnNzExZGVwYXkuYzoKCSAgKiBnc3QtcGx1Z2lucy1nb29kL2dzdC9ydHAvZ3N0cnRwZzcxMWRlcGF5LmM6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC9nc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC9nc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgKiBnc3QtcGx1Z2lucy1nb29kL2dzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJICAqIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJICAqIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSAgKiBnc3QtcGx1Z2lucy1nb29kL2dzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJICAqIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJICAqIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSAgKiBnc3QtcGx1Z2lucy1nb29kL2dzdC9ydHAvUkVBRE1FOgoJICBGaXhlZCBwYXlsb2FkIHJhbmdlIGluIHBheWxvZGVyIGNhcHMuIFJlbW92ZWQgcGF5bG9hZCByYW5nZSBjb21wbGV0bHkgZnJvbQoJICBkZXBheWxvYWRlcnMgYXMgdGhleSBkb24ndCByZXF1aXJlIHBheWxvYWQgdHlwZSBpbiB0aGVpciBjYXBzLiBJbiBlZmZlY3QsCgkgIHRoZXJlIGlzbid0IGFueSBzcGVjaWZpYyBwYXlsb2FkIHR5cGUgZm9yIGFueSBnaXZlbiBjb2RlYywgb25seSBzdWdnZXN0aW9ucy4KCSAgRml4ZXMgYnVnICMzMjQwMTEuCgoyMDA1LTEyLTEzIDIxOjU4OjQyICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogQ29kZSBjbGVhbnVwIGFuZCByZS1lbmFibGluZyBxdWV1ZWQgdGltZSB2YWxpZGl0eSBjaGVjayBmb3IgY29ycmVjdCBFT1MgaGFuZGxpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEyLTEzICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiAoZ3N0X3ZpZGVvbWl4ZXJfaW5pdCksCgkgIChnc3RfdmlkZW9taXhlcl9maWxsX3F1ZXVlcyksIChnc3RfdmlkZW9taXhlcl9ibGVuZF9idWZmZXJzKSwKCSAgKGdzdF92aWRlb21peGVyX2NvbGxlY3RlZCk6IENvZGUgY2xlYW51cCBhbmQgcmUtZW5hYmxpbmcKCSAgcXVldWVkIHRpbWUgdmFsaWRpdHkgY2hlY2sgZm9yIGNvcnJlY3QgRU9TIGhhbmRsaW5nLgoKMjAwNS0xMi0xMyAxNzoxODozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy9vc3MvZ3N0b3NzbWl4ZXJlbGVtZW50LmM6IEFkZCAnZGV2aWNlLW5hbWUnIHByb3BlcnR5IGFuZCBmaXggc3RhdGUgY2hhbmdlIGZ1bmN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzL2dzdG9zc21peGVyZWxlbWVudC5jOiAoZ3N0X29zc19taXhlcl9lbGVtZW50X2NsYXNzX2luaXQpLAoJICAoZ3N0X29zc19taXhlcl9lbGVtZW50X2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfb3NzX21peGVyX2VsZW1lbnRfY2hhbmdlX3N0YXRlKToKCSAgQWRkICdkZXZpY2UtbmFtZScgcHJvcGVydHkgYW5kIGZpeCBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24uCgoyMDA1LTEyLTEzIDEwOjQ1OjA0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2ZseC9nc3RmbHhkZWMuYzogSWYgdGhlIHNwZWVkIG9mIHRoZSBmaWxlIGlzIG51bGwgaW4gdGhlIGhlYWRlciwgc2V0IHRoZSBmcmFtZV90aW1lIHRvIHRoZSBkZWZhdWx0IHNldHRpbmcgb2YgR1NULi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6IChnc3RfZmx4ZGVjX2NoYWluKToKCSAgSWYgdGhlIHNwZWVkIG9mIHRoZSBmaWxlIGlzIG51bGwgaW4gdGhlIGhlYWRlciwgc2V0IHRoZSBmcmFtZV90aW1lIHRvIHRoZSBkZWZhdWx0CgkgIHNldHRpbmcgb2YgR1NUX1NFQ09ORCAvIDcwLiBXaGljaCBpcyB0aGUgZGVmYXVsdCBmcmFtZV9kZWxheSBmb3IgLmZsaSBmaWxlcyBhcwoJICBzdGF0ZWQgaW4gdGhpcyBkb2N1bWVudCA6IGh0dHA6Ly93d3cuY29tcHVwaGFzZS5jb20vZmxpYy5odG0KCSAgV291bGQgYmUgbmljZSB0byBoYXZlIHRoZSB0aW1lIGNvbnZlcnNpb24gZG9uZSBwcm9wZXJseSB0b28KCSAgKGR1cmF0aW9uID0gZmx4aC0+ZnJhbWVzICogZmx4ZGVjLT5mcmFtZV90aW1lKQoKMjAwNS0xMi0xMiAyMjoyOTozNCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBBZGRpbmcgZG9jdW1lbnRhdGlvbiBmb3IgdmlkZW9taXhlciBvbiBteSB3YXkgd2l0aCBhIGZ1bm55IHNhbXBsZSBwaXBlbGluZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTItMTIgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICAoZ3N0X3ZpZGVvbWl4ZXJfcGFkX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfdmlkZW9taXhlcl9nZXRjYXBzKSwgKGdzdF92aWRlb21peGVyX2ZpbGxfcXVldWVzKSwKCSAgKGdzdF92aWRlb21peGVyX3VwZGF0ZV9xdWV1ZXMpLCAoZ3N0X3ZpZGVvbWl4ZXJfY29sbGVjdGVkKToKCSAgQWRkaW5nCgkgIGRvY3VtZW50YXRpb24gZm9yIHZpZGVvbWl4ZXIgb24gbXkgd2F5IHdpdGggYSBmdW5ueSBzYW1wbGUKCSAgcGlwZWxpbmUuCgoyMDA1LTEyLTEyIDIxOjQzOjAwICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogRml4IGNhcHMgbmVnb3RpYXRpb24uICgjMzIzODk2KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMi0xMiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgKGdzdF92aWRlb21peGVyX3BhZF9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfZ2V0Y2FwcyksIChnc3RfdmlkZW9taXhlcl9maWxsX3F1ZXVlcyksCgkgIChnc3RfdmlkZW9taXhlcl91cGRhdGVfcXVldWVzKSwgKGdzdF92aWRlb21peGVyX2NvbGxlY3RlZCk6CgkgIEZpeCBjYXBzIG5lZ290aWF0aW9uLiAoIzMyMzg5NikKCjIwMDUtMTItMTIgMTg6MTQ6NTggKzAwMDAgIEFyd2VkIHYuIE1lcmthdHogPHYubWVya2F0ekBnbXgubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgU2V0IGNvcnJlY3QgdGltZXN0YW1wcyBvbiBhdWRpbyBsYWNlcywgZml4ZXMgcGxheWJhY2sgb2YgbXAzIGZyb20gbWF0cm9za2EuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTZXQgY29ycmVjdCB0aW1lc3RhbXBzIG9uIGF1ZGlvIGxhY2VzLCBmaXhlcyBwbGF5YmFjayBvZiBtcDMgZnJvbSBtYXRyb3NrYS4KCjIwMDUtMTItMTIgMTA6NDA6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvOiBHc3RPYmplY3RzIG11c3QgYmUgdW5yZWYnZWQgd2l0aCBnc3Rfb2JqZWN0X3VucmVmKCkgaW5zdGVhZCBvZiBnX29iamVjdF91bnJlZigpLCBvdGhlcndpc2UgdGhpbmdzIGJyZWFrIGZvciBHTGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOiAoZ3N0X2l2b3JiaXNmaWxlX2xvb3ApOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6IChnc3RfbW1zX3NyY19xdWVyeSksIChnc3RfbW1zX2NyZWF0ZSk6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6IChnc3RfbXVzZXBhY2tkZWNfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9tdXNlcGFja2RlY19sb29wKToKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiAoZ3N0X3N3ZmRlY192aWRlb19saW5rKSwKCSAgKGdzdF9zd2ZkZWNfc3JjX3F1ZXJ5KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3NyY19xdWVyeSk6CgkgIEdzdE9iamVjdHMgbXVzdCBiZSB1bnJlZidlZCB3aXRoIGdzdF9vYmplY3RfdW5yZWYoKSBpbnN0ZWFkIG9mCgkgIGdfb2JqZWN0X3VucmVmKCksIG90aGVyd2lzZSB0aGluZ3MgYnJlYWsgZm9yIEdMaWItMi42IHVzZXJzLgoKMjAwNS0xMi0xMiAxMDozMDoyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuKjogVXNlIGdzdF9vYmplY3RfdW5yZWYoKSBmb3IgR3N0T2JqZWN0cyBpbnN0ZWFkIG9mIGdfb2JqZWN0X3VucmVmKCkgYW5kIGZpeCBhIG1lbSBsZWFrIGluIGEgZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6IChnc3RfYXVfcGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF9hdV9wYXJzZV9jbGFzc19pbml0KSwgKGdzdF9hdV9wYXJzZV9pbml0KSwKCSAgKGdzdF9hdV9wYXJzZV9kaXNwb3NlKSwgKGdzdF9hdV9wYXJzZV9jaGFpbiksCgkgIChnc3RfYXVfcGFyc2VfY2hhbmdlX3N0YXRlKSwgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmg6CgkgIFVzZSBnc3Rfb2JqZWN0X3VucmVmKCkgZm9yIEdzdE9iamVjdHMgaW5zdGVhZCBvZgoJICBnX29iamVjdF91bnJlZigpIGFuZCBmaXggYSBtZW0gbGVhayBpbiBhIGRlYnVnCgkgIHN0YXRlbWVudDsgd2hpbGUgd2UncmUgYXQgaXQsIGFsc28gYm9yZ2lmeSwgdXNlCgkgIGJvaWxlcnBsYXRlIG1hY3JvcyBhbmQgY2xlYW4gdXAgYSBsaXR0bGUgYml0LgoKMjAwNS0xMi0xMSAyMDoyNzowNiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9kZWJ1Zy9lZmVuY2UuYzogQWRkZWQgcHVsbCBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvZWZlbmNlLmM6IChnc3RfZWZlbmNlX2luaXQpLCAoZ3N0X2VmZW5jZV9nZXRyYW5nZSksCgkgIChnc3RfZWZlbmNlX2NoZWNrZ2V0cmFuZ2UpLCAoZ3N0X2VmZW5jZV9hY3RpdmF0ZV9zcmNfcHVsbCk6CgkgIEFkZGVkIHB1bGwgbW9kZS4KCjIwMDUtMTItMTEgMTk6MjU6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvOiBVc2UgYXVkaW90ZXN0c3JjIGluc3RlYWQgb2Ygc2luZXNyYyAoIzMyMzc5OCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgKiBnc3QvbGV2ZWwvbGV2ZWwtZXhhbXBsZS5jOiAobWFpbik6CgkgICogZ3N0L3Ntb290aHdhdmUvZGVtby1vc3NzcmMuYzogKG1haW4pOgoJICBVc2UgYXVkaW90ZXN0c3JjIGluc3RlYWQgb2Ygc2luZXNyYyAoIzMyMzc5OCkuCgoyMDA1LTEyLTExIDE3OjUwOjUwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzeXMvb3NzL2dzdG9zc3NpbmsuYzogbW9yZSBkZWJ1Zy1mdW5jLXB0ciB1c2FnZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzogKGdzdF9vc3Nfc2lua19jbGFzc19pbml0KToKCSAgbW9yZSBkZWJ1Zy1mdW5jLXB0ciB1c2FnZQoKMjAwNS0xMi0xMSAxNjo0Mzo0MiArMDAwMCAgWmVlc2hhbiBBbGkgPHplZW5peEBnbWFpbC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9mbHgvZmx4X2NvbG9yLmM6CgkqIGdzdC9mbHgvZmx4X2NvbG9yLmg6CgkqIGdzdC9mbHgvZmx4X2ZtdC5oOgoJKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJKiBnc3QvZmx4L2dzdGZseGRlYy5oOgoJICBOb3cgZmx4ZGVjIHdvcmtzIG9uIGJpZy1lbmRpYW4gbWFjaGluZXMgYXMgd2VsbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE5vdyBmbHhkZWMgd29ya3Mgb24gYmlnLWVuZGlhbiBtYWNoaW5lcyBhcyB3ZWxsLgoKMjAwNS0xMi0xMSAxNjoxNDoyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9kZWJ1Zy9lZmVuY2UuYzogTWFrZSBzdXJlIEdTVF9CVUZGRVJfREFUQSBpcyBzZXQgb24gZmVuY2VkIGNvcGllZCBidWZmZXJzOyBmaXgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL2VmZW5jZS5jOiAoZ3N0X2VmZW5jZV9pbml0KSwgKGdzdF9lZmVuY2VfY2hhaW4pLAoJICAoZ3N0X2ZlbmNlZF9idWZmZXJfY29weSk6CgkgIE1ha2Ugc3VyZSBHU1RfQlVGRkVSX0RBVEEgaXMgc2V0IG9uIGZlbmNlZCBjb3BpZWQgYnVmZmVyczsgZml4CgkgIEdTVF9ERUJVRyBjcmFzaGVyIHdoZXJlIEdTVF9USU1FX0ZPUk1BVCB3YXMgbm90IHVzZWQgaW4KCSAgY29uanVuY3Rpb24gd2l0aCBHU1RfVElNRV9BUkdTLiBBbHNvLCBkb24ndCBsZWFrIHBhZCB0ZW1wbGF0ZXMKCSAgYW5kIHVzZSBHU1RfREVCVUdfRlVOQ1BUUiBmb3IgcGFkIGZ1bmN0aW9ucy4KCjIwMDUtMTItMTAgMjA6MjY6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLio6IFJld3JpdGUgZmxhY2RlYyBhIGJpdCwgc28gdGhhdCBldmVuIHNlZWtpbmcgbWlnaHQgd29yayBub3cuIE1vc3QgaW1wb3J0YW50bHksIGRvbid0IGFjdCB1cG9uIGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX2Jhc2VfaW5pdCksCgkgIChnc3RfZmxhY19kZWNfY2xhc3NfaW5pdCksIChnc3RfZmxhY19kZWNfaW5pdCksCgkgIChnc3RfZmxhY19kZWNfbWV0YWRhdGFfY2FsbGJhY2spLCAoZ3N0X2ZsYWNfZGVjX2Vycm9yX2NhbGxiYWNrKSwKCSAgKGdzdF9mbGFjX2RlY19lb2YpLCAoZ3N0X2ZsYWNfZGVjX3dyaXRlKSwgKGdzdF9mbGFjX2RlY19sb29wKSwKCSAgKGdzdF9mbGFjX2RlY19jb252ZXJ0X3NyYyksIChnc3RfZmxhY19kZWNfZ2V0X3NyY19xdWVyeV90eXBlcyksCgkgIChnc3RfZmxhY19kZWNfc3JjX3F1ZXJ5KSwgKGdzdF9mbGFjX2RlY19zZW5kX25ld3NlZ21lbnQpLAoJICAoZ3N0X2ZsYWNfZGVjX2hhbmRsZV9zZWVrX2V2ZW50KSwgKGdzdF9mbGFjX2RlY19zcmNfZXZlbnQpLAoJICAoZ3N0X2ZsYWNfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICBSZXdyaXRlIGZsYWNkZWMgYSBiaXQsIHNvIHRoYXQgZXZlbiBzZWVraW5nIG1pZ2h0IHdvcmsgbm93LiBNb3N0CgkgIGltcG9ydGFudGx5LCBkb24ndCBhY3QgdXBvbiBhbnkgZmxvdyByZXR1cm4gdmFsdWVzIHdlIGdldCwganVzdCB0ZWxsCgkgIHRoZSBkZWNvZGVyIGV2ZXJ5dGhpbmcncyBkYW5keSBhbmQgYWN0IG9uIHRoZSBmbG93IHJldHVybiB2YWx1ZXMKCSAgbGF0ZXIgb24gaW4gdGhlIGxvb3AgZnVuY3Rpb24uIFdlIGRvbid0IHdhbnQgdG8gbWVzcyB1cCB0aGUgaW50ZXJuYWwKCSAgZGVjb2RlciBzdGF0ZSBmb3Igbm9uLWZhdGFsIHRoaW5ncyBsaWtlIGZsdXNoaW5nIHBhZHMgZXRjLiBPdGhlcgoJICB0aGFuIHRoYXQsIHVzZSBHc3RTZWdtZW50IChzZWdtZW50IHNlZWtzIGRvbid0IHdvcmsgeWV0IHRob3VnaCwgYnV0CgkgIHNob3VsZCBiZSBlYXN5IHRvIGFkZCksIHVzZSBib2lsZXJwbGF0ZSBtYWNyb3MsIGRyb3AgdGhlIHN1cGVyZmx1b3VzCgkgICdmbGFjZGVjOicgZnJvbSBkZWJ1ZyBtZXNzYWdlcywgdXNlIGdzdF91dGlsX3VpbnQ2NF9zY2FsZV9pbnQsIGFuZAoJICBsb3RzIG9mIG90aGVyIHRoaW5ncy4KCjIwMDUtMTItMTAgMTQ6NTc6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFVwZGF0ZSBjb21tZW50IGluIE9TUyBpbmNsdWRlcyBjaGVjay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBVcGRhdGUgY29tbWVudCBpbiBPU1MgaW5jbHVkZXMgY2hlY2suCgkgICogc3lzL29zcy9nc3Rvc3NkbWFidWZmZXIuYzoKCSAgKiBzeXMvb3NzL2dzdG9zc2hlbHBlci5jOgoJICAqIHN5cy9vc3MvZ3N0b3NzbWl4ZXIuYzoKCSAgKiBzeXMvb3NzL2dzdG9zc21peGVydHJhY2suYzoKCSAgKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzoKCSAgKiBzeXMvb3NzL2dzdG9zc3NyYy5jOgoJICAqIHN5cy9vc3Mvb3NzX3Byb2JlLmM6CgkgIERvbid0IGFzc3VtZSB0aGUgT1NTIHNvdW5kY2FyZC5oIGluY2x1ZGUgaXMgYWx3YXlzIGluCgkgIHRoZSBzeXMvIGRpcmVjdG9yeS4gSW5zdGVhZCwgdXNlIHRoZSBleGlzdGluZyBkZWZpbmVzCgkgIGZyb20gY29uZmlnLmggdG8gaW5jbHVkZSB0aGUgcmlnaHQgZmlsZS4gRml4ZXMKCSAgY29tcGlsYXRpb24gb24gT3BlbkJTRCAzLjggKCMzMjM3MTgpLgoKMjAwNS0xMi0wOSAxOTo1MTowMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZXh0L2ZsYWMvZ3N0ZmxhYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmg6CgkgIGJvcmdpZnkgYW5kIGZpeCB1cCBkb2N1bWVudGF0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBib3JnaWZ5IGFuZCBmaXggdXAgZG9jdW1lbnRhdGlvbgoKMjAwNS0xMi0wOSAxNTozMDoyMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IEFzc3VtZSB0aGF0IGFuIHVua25vd24gY2hhbm5lbCBtYXBwaW5nIHdpdGggMiBjaGFubmVscyBpcyBzdGVyZW8gYW5kIHBsYXkgaXQgdGhhdCB3YXkgaW5zdGVhZCBvZiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfY2hhbnBvc190b19nc3QpLAoJICAoZ3N0X2ZhYWRfdXBkYXRlX2NhcHMpOgoJICBBc3N1bWUgdGhhdCBhbiB1bmtub3duIGNoYW5uZWwgbWFwcGluZyB3aXRoIDIgY2hhbm5lbHMKCSAgaXMgc3RlcmVvIGFuZCBwbGF5IGl0IHRoYXQgd2F5IGluc3RlYWQgb2YgZXJyb3JpbmcuCgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpLAoJICAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBIYW5kbGUgZS5nLiBqcGVnIHN0cmVhbXMgd2l0aCAwIGR1cmF0aW9uIGZyYW1lcyBhcyBoYXZpbmcgMCBmcmFtZXJhdGUuCgkgIERlYnVnIGZpeGVzLiBTb21lIDY0IGJpdCB2YXJpYWJsZSBmaXhlcwoKMjAwNS0xMi0wOSAxMToxMjo0OCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiBBY2NlcHQgYSB3aWRlciByYW5nZSBvZiBmbGFjIGZpbGVzLCBtb3JlIGNsb3NlbHkgbWF0Y2hpbmcgZmxhYyBzcAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChyYXdfY2Fwc19mYWN0b3J5KSwgKGdzdF9mbGFjZGVjX3dyaXRlKToKCSAgQWNjZXB0IGEgd2lkZXIgcmFuZ2Ugb2YgZmxhYyBmaWxlcywgbW9yZSBjbG9zZWx5IG1hdGNoaW5nIGZsYWMgc3AKCjIwMDUtMTItMDggMTY6Mjc6MTIgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOiBBZGQgbXVsdGlwYXJ0IGVsZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMi0wOCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbTogQWRkIG11bHRpcGFydCBlbGVtZW50cy4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDogRml4IGZsYWMuCgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IEFkZCBkb2NzLgoKMjAwNS0xMi0wNyAxMTo0NjoxNSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogTWVtbGVhayBmaXhlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpLAoJICAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSk6CgkgIE1lbWxlYWsgZml4ZXMuCgkgIFNlbmQgb3V0IEVPUyBmb3IgdmFsaWQgcmVhc29ucyAoY291bGRuJ3QgcHVsbF9yYW5nZSgpIGZyb20gdXBzdHJlYW0KCSAgZm9yIGV4YW1wbGUpLgoKMjAwNS0xMi0wNyAxMTo0MDo0NiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogTWVtbGVhayBhbmQgY3Jhc2hlciBmaXhlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlciksCgkgIChnc3RfYXZpX2RlbXV4X2ludmVydCk6CgkgIE1lbWxlYWsgYW5kIGNyYXNoZXIgZml4ZXMuCgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZwYXJzZV9jcmVhdGVfc291cmNlcGFkKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyk6CgkgIE1lbWxlYWsgZml4ZXMKCjIwMDUtMTItMDYgMTk6NTU6NTggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5Lmg6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgZXhwYW5kIHRhYnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGV4cGFuZCB0YWJzCgoyMDA1LTEyLTA2IDE5OjQ0OjU4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2FhbGliL2dzdGFhc2luay5oOgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuaDoKCSogZXh0L2R2L2dzdGR2ZGVjLmg6CgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9kdi9nc3RkdmRlbXV4Lmg6CgkqIGV4dC9lc2QvZXNkc2luay5oOgoJKiBleHQvZmxhYy9mbGFjX2NvbXBhdC5oOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuaDoKCSogZXh0L2djb25mL2djb25mLmg6CgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5oOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuaDoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrYW5pbWF0aW9uLmg6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSogZXh0L2pwZWcvc21va2Vjb2RlYy5oOgoJKiBleHQvanBlZy9zbW9rZWZvcm1hdC5oOgoJKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5oOgoJKiBleHQvbGFkc3BhL3NlYXJjaC5jOgoJKiBleHQvbGFkc3BhL3V0aWxzLmg6CgkqIGV4dC9saWJtbmcvZ3N0bW5nZGVjLmg6CgkqIGV4dC9saWJtbmcvZ3N0bW5nZW5jLmM6CgkqIGV4dC9saWJtbmcvZ3N0bW5nZW5jLmg6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmg6CgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmg6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5oOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmg6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5oOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmg6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuaDoKCSogZ3N0L2RlYnVnL3Rlc3RzLmM6CgkqIGdzdC9kZWJ1Zy90ZXN0cy5oOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkqIGdzdC9mbHgvZmx4X2ZtdC5oOgoJKiBnc3QvZmx4L2dzdGZseGRlYy5oOgoJKiBnc3QvZ29vbS9maWx0ZXJzLmM6CgkqIGdzdC9nb29tL2ZpbHRlcnMuaDoKCSogZ3N0L2dvb20vZ29vbV90b29scy5oOgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuaDoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJKiBnc3QvbW9ub3Njb3BlL2NvbnZvbHZlLmM6CgkqIGdzdC9tb25vc2NvcGUvY29udm9sdmUuaDoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L29sZGNvcmUvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3Qvb2xkY29yZS9nc3RhZ2dyZWdhdG9yLmg6CgkqIGdzdC9vbGRjb3JlL2dzdG1kNXNpbmsuYzoKCSogZ3N0L29sZGNvcmUvZ3N0bWQ1c2luay5oOgoJKiBnc3Qvb2xkY29yZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSogZ3N0L29sZGNvcmUvZ3N0bXVsdGlmaWxlc3JjLmg6CgkqIGdzdC9vbGRjb3JlL2dzdHBpcGVmaWx0ZXIuaDoKCSogZ3N0L29sZGNvcmUvZ3N0c2hhcGVyLmg6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5Lmg6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5oOgoJKiBnc3QvcnRzcC9ydHNwZGVmcy5oOgoJKiBnc3QvcnRzcC9ydHNwbWVzc2FnZS5oOgoJKiBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0Lmg6CgkqIGdzdC9ydHNwL3J0c3B1cmwuYzoKCSogZ3N0L3J0c3AvcnRzcHVybC5oOgoJKiBnc3QvcnRzcC9zZHBtZXNzYWdlLmM6CgkqIGdzdC9ydHNwL3NkcG1lc3NhZ2UuaDoKCSogZ3N0L3NtcHRlL2JhcmJveHdpcGVzLmM6CgkqIGdzdC9zbXB0ZS9nc3RtYXNrLmg6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5oOgoJKiBnc3Qvc21wdGUvcGFpbnQuYzoKCSogZ3N0L3NtcHRlL3BhaW50Lmg6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5oOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzaW5rLmg6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogZ3N0L3dhdmVuYy9yaWZmLmg6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJKiBzeXMvb3NzL2dzdG9zc2RtYWJ1ZmZlci5oOgoJKiBzeXMvb3NzL2dzdG9zc21peGVyLmg6CgkqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJlbGVtZW50Lmg6CgkqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJ0cmFjay5oOgoJKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NzaW5rLmg6CgkqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc3JjLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb2VsZW1lbnQuaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuaDoKCSAgZXhwYW5kIHRhYnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGV4cGFuZCB0YWJzCgoyMDA1LTEyLTA1IDE4OjEyOjA3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmFjayB0byBIRUFECgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBiYWNrIHRvIEhFQUQKCj09PSByZWxlYXNlIDAuMTAuMCA9PT0KCjIwMDUtMTItMDUgMTg6MDM6MjMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkgIHJlbGVhc2luZyAwLjEwLjAKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbGVhc2luZyAwLjEwLjAKCjIwMDUtMTItMDUgMTg6MDE6NDggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJICByZWxlYXNpbmcgMC4xMC4wCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZWxlYXNpbmcgMC4xMC4wCgoyMDA1LTEyLTA1IDE2OjIxOjA4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwNS0xMi0wNSAxNTowODo0NiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBNYWtlZmlsZS5hbToKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2l0LnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgdXBkYXRlIHRyYW5zbGF0aW9ucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAwNS0xMi0wNSAxMzowNDoyMiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgVXBkYXRlIGZvciBhbGxvY19idWZmZXIgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTItMDUgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfc2lua19ldmVudCksIChnc3RfZmFhY19jaGFpbik6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfY2hhaW4pOgoJICAqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOiAoZ3N0X2hlcm1lc19jb2xvcnNwYWNlX2NoYWluKToKCSAgKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzogKGdzdF9jb2xvcnNwYWNlX2NoYWluKToKCSAgKiBleHQveGluZS94aW5laW5wdXQuYzogKGdzdF94aW5lX2lucHV0X2dldCk6CgkgICogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOiAoZ3N0X2NvbG9yc3BhY2VfY2hhaW4pOgoJICAqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOiAoc3BlZWRfY2hhaW4pOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6IChnc3RfdmlkZW9fY3JvcF9jaGFpbik6IFVwZGF0ZSBmb3IKCSAgYWxsb2NfYnVmZmVyIGNoYW5nZXMuCgoyMDA1LTEyLTA1IDEzOjAzOjAwICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBVcGRhdGUgZm9yIGFsbG9jX2J1ZmZlciBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMi0wNSAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvZHYvZ3N0ZHZkZWMuYzogKGdzdF9kdmRlY19jaGFpbik6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNkZWNfd3JpdGUpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogKGdzdF9mbGFjZW5jX3dyaXRlX2NhbGxiYWNrKToKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzogKGdzdF9nZGtfcGl4YnVmX2NoYWluKToKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOiAoZ3N0X3BpeGJ1ZnNjYWxlX2NoYWluKToKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6IChnc3RfanBlZ19kZWNfY2hhaW4pOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzogKGdzdF9qcGVnZW5jX2NoYWluKToKCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJvY2Vzcyk6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKHVzZXJfaW5mb19jYWxsYmFjayksIChnc3RfcG5nZGVjX3Rhc2spOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiAoc3BlZXhfZGVjX2NoYWluKToKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogKGdzdF9zcGVleGVuY19jaGFpbik6CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOiAoZ3N0X2F1cGFyc2VfY2hhaW4pOgoJICAqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6IChnc3RfZmx4ZGVjX2NoYWluKToKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6IChnc3RfZ29vbV9jaGFpbik6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcHVzaF92b3JiaXNfY29kZWNfcHJpdl9kYXRhKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfd3Zwa19oZWFkZXIpOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzogKGdzdF9tdWx0aXBhcnRfZGVtdXhfY2hhaW4pOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IChnc3RfbXVsdGlwYXJ0X211eF9jb2xsZWN0ZWQpOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogKGdzdF92aWRlb21peGVyX2NvbGxlY3RlZCk6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogKGdzdF93YXZlbmNfY2hhaW4pOiBVcGRhdGUgZm9yCgkgIGFsbG9jX2J1ZmZlciBjaGFuZ2VzLgoKMjAwNS0xMi0wNSAxMjoyMzoyMiArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOiBSZW1vdmUgYXJncyBmb3IgcGx1Z2lucyB0aGF0IGFyZW4ndCBpbiAtZ29vZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICBSZW1vdmUgYXJncyBmb3IgcGx1Z2lucyB0aGF0IGFyZW4ndCBpbiAtZ29vZC4KCjIwMDUtMTItMDQgMjI6MjY6MDcgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgcmVtb3ZlIHBhbmdvIHBsdWdpbiBhcyBpdHMgZ29uZSBpbnRvIGJhc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZSBwYW5nbyBwbHVnaW4gYXMgaXRzIGdvbmUgaW50byBiYXNlCgoyMDA1LTEyLTAzIDE4OjUxOjQ4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkgIGZpeCBlbGVtZW50IGRlc2NyaXB0aW9ucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGVsZW1lbnQgZGVzY3JpcHRpb25zCgoyMDA1LTEyLTAzIDE4OjUwOjEyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZHNyYy54bWw6CgkgIHJlbW92ZSBmZHNyYyBkb2NzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmUgZmRzcmMgZG9jcwoKMjAwNS0xMi0wMSAxOToxODowOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJhY2sgdG8gSEVBRAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYmFjayB0byBIRUFECgo9PT0gcmVsZWFzZSAwLjkuNyA9PT0KCjIwMDUtMTItMDEgMTk6MTQ6MjYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgcmVsZWFzaW5nIDAuOS43CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZWxlYXNpbmcgMC45LjcKCjIwMDUtMTItMDEgMTk6MTM6MjAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJICByZWxlYXNpbmcgMC45LjcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbGVhc2luZyAwLjkuNwoKMjAwNS0xMi0wMSAxNzo1MzoyOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb21tb246CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwNS0xMi0wMSAxNTozNDoxMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGRvY3MvcGx1Z2lucy8uZ2l0aWdub3JlOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJICBhZGQgbXVsdGlwYXJ0IHBsdWdpbiB0byBkb2NzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgbXVsdGlwYXJ0IHBsdWdpbiB0byBkb2NzCgoyMDA1LTEyLTAxIDE1OjIyOjI1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9wYW5nby9NYWtlZmlsZS5hbToKCSogZXh0L3BhbmdvL2dzdGNsb2Nrb3ZlcmxheS5jOgoJKiBleHQvcGFuZ28vZ3N0Y2xvY2tvdmVybGF5Lmg6CgkqIGV4dC9wYW5nby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvcGFuZ28vZ3N0dGV4dG92ZXJsYXkuaDoKCSogZXh0L3BhbmdvL2dzdHRleHRyZW5kZXIuYzoKCSogZXh0L3BhbmdvL2dzdHRleHRyZW5kZXIuaDoKCSogZXh0L3BhbmdvL2dzdHRpbWVvdmVybGF5LmM6CgkqIGV4dC9wYW5nby9nc3R0aW1lb3ZlcmxheS5oOgoJICBtb3ZlIHBhbmdvIHRvIGJhc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG1vdmUgcGFuZ28gdG8gYmFzZQoKMjAwNS0xMi0wMSAxNDozOTozMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvcnRwLzogcGFyc2VycyBhcmUgZGVwYXllcnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2cGFyc2UuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNnBhcnNlLmg6CgkgICogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbXBhcnNlLmM6CgkgICogZ3N0L3J0cC9nc3RydHBnc21wYXJzZS5oOgoJICBwYXJzZXJzIGFyZSBkZXBheWVycwoKMjAwNS0xMi0wMSAxNDozMDowMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZW5jLmg6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGFyc2UuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXJzZS5oOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBhbXJlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJlbmMuaDoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBkZWMuaDoKCSogZ3N0L3J0cC9nc3RydHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFkZWMuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzExZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzExZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWVuYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWVuYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBhcnNlLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGFyc2UuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2VuYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGVuYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZW5jLmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZWMuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZW5jLmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGVuYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuaDoKCSAgRG8gYnVyZ2VyJ3MgcmVuYW1lIGZvciBydHAgcGF5bG9hZGVycyBhbmQgZGVwYXlsb2FkZXJzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBEbyBidXJnZXIncyByZW5hbWUgZm9yIHJ0cCBwYXlsb2FkZXJzIGFuZCBkZXBheWxvYWRlcnMKCjIwMDUtMTEtMzAgMTk6MDI6MzUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZHYvOiBGaXggc2Vla2luZyBpbiBkdmRlbXV4IGFnYWluLCBhZGQgc29tZSBtb3JlIGRlYnVnIGluZm8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlYy5jOiAoZ3N0X2R2ZGVjX2NoYWluKToKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfZGVtdXhfZnJhbWUpOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4Lmg6CgkgIEZpeCBzZWVraW5nIGluIGR2ZGVtdXggYWdhaW4sIGFkZCBzb21lIG1vcmUgZGVidWcgaW5mby4KCjIwMDUtMTEtMzAgMTg6NDg6NTYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkgIGZpeCB0ZXN0cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IHRlc3RzCgoyMDA1LTExLTMwIDE4OjQwOjE5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIE1ha2VmaWxlLmFtOgoJICBhZGQgdGVzdHMgc3ViZGlyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgdGVzdHMgc3ViZGlyCgoyMDA1LTExLTMwIDE4OjM2OjAyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBhZGQgTWFrZWZpbGUuYW0KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBNYWtlZmlsZS5hbQoKMjAwNS0xMS0zMCAxODoyODo1MyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBtb3ZlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIFBPUlRFRF8wOToKCSAgKiBkb2NzL3JhbmRvbS9QT1JURURfMDk6CgkgIG1vdmUKCSAgKiB0ZXN0cy9NYWtlZmlsZS5hbToKCSAgYWRkCgkgICogd2luMzIvZ3N0LnNsbjoKCSAgcmVtb3ZlCgoyMDA1LTExLTMwIDE4OjI0OjA4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTWFrZWZpbGUuYW06CgkqIGNoZWNrLy5naXRpZ25vcmU6CgkqIGNoZWNrL01ha2VmaWxlLmFtOgoJKiBjaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiBjaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJKiBjaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiBleGFtcGxlcy9jYXBzZmlsdGVyL01ha2VmaWxlLmFtOgoJKiBleGFtcGxlcy9jYXBzZmlsdGVyL2NhcHNmaWx0ZXIxLmM6CgkqIGV4YW1wbGVzL2dvYi9NYWtlZmlsZS5hbToKCSogZXhhbXBsZXMvZ29iL2dzdC1pZGVudGl0eTIuZ29iOgoJKiBleGFtcGxlcy9nc3RwbGF5Ly5naXRpZ25vcmU6CgkqIGV4YW1wbGVzL2dzdHBsYXkvTWFrZWZpbGUuYW06CgkqIGV4YW1wbGVzL2dzdHBsYXkvcGxheWVyLmM6CgkqIGV4YW1wbGVzL2luZGV4aW5nLy5naXRpZ25vcmU6CgkqIGV4YW1wbGVzL2luZGV4aW5nL01ha2VmaWxlLmFtOgoJKiBleGFtcGxlcy9pbmRleGluZy9pbmRleG1wZWcuYzoKCSogZXhhbXBsZXMvbGV2ZWwvTWFrZWZpbGUuYW06CgkqIGV4YW1wbGVzL2xldmVsL1JFQURNRToKCSogZXhhbXBsZXMvbGV2ZWwvZGVtby5jOgoJKiBleGFtcGxlcy9sZXZlbC9wbG90LmM6CgkqIGV4YW1wbGVzL3N0YXRzL01ha2VmaWxlLmFtOgoJKiBleGFtcGxlcy9zdGF0cy9tcDJvZ2cuYzoKCSogZXhhbXBsZXMvc3dpdGNoLy5naXRpZ25vcmU6CgkqIGV4YW1wbGVzL3N3aXRjaC9NYWtlZmlsZS5hbToKCSogZXhhbXBsZXMvc3dpdGNoL3N3aXRjaGVyLmM6CgkgIG1vdmUgdW5kZXIgdGVzdHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG1vdmUgdW5kZXIgdGVzdHMKCjIwMDUtMTEtMzAgMTY6NTc6NTcgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGNvbW1vbjoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICB1cGRhdGUgZm9yIGxhdGVzdCBjaGFuZ2VzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgZm9yIGxhdGVzdCBjaGFuZ2VzCgoyMDA1LTExLTMwIDE0OjUzOjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3BhbmdvL2dzdHRleHRyZW5kZXIuKjogQWRkIG1pc3NpbmcgZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9wYW5nby9nc3R0ZXh0cmVuZGVyLmM6IChnc3RfdGV4dF9yZW5kZXJfYmFzZV9pbml0KSwKCSAgKGdzdF90ZXh0X3JlbmRlcl9jbGFzc19pbml0KSwgKHJlc2l6ZV9iaXRtYXApLAoJICAoZ3N0X3RleHRfcmVuZGVyX3JlbmRlcl90ZXh0KSwgKGdzdF90ZXh0X3JlbmRlcl9zZXRjYXBzKSwKCSAgKGdzdF90ZXh0X3JlbmRlcl9maXhhdGVfY2FwcyksIChnc3RfdGV4dF9yZW5kZXJlcl9iaXRtYXBfdG9fYXl1diksCgkgIChnc3RfdGV4dF9yZW5kZXJfY2hhaW4pLCAoZ3N0X3RleHRfcmVuZGVyX2ZpbmFsaXplKSwKCSAgKGdzdF90ZXh0X3JlbmRlcl9pbml0KSwgKGdzdF90ZXh0X3JlbmRlcl9zZXRfcHJvcGVydHkpOgoJICAqIGV4dC9wYW5nby9nc3R0ZXh0cmVuZGVyLmg6CgkgIEFkZCBtaXNzaW5nIGZpbGVzLgoKMjAwNS0xMS0zMCAxMzoyMDo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFBvcnQgcGFuZ28tYmFzZWQgdGV4dG92ZXJsYXksIHRpbWVvdmVybGF5IGFuZCB0ZXh0cmVuZGVyIHRvIDAuOSBhbmQgYWRkIGJhY2tncm91bmQgc2hhZGluZyBhbmQgdGV4dCB3cmFwcGluZyBtb2Rlcy4gTS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9wYW5nby9NYWtlZmlsZS5hbToKCSAgKiBleHQvcGFuZ28vZ3N0Y2xvY2tvdmVybGF5LmM6IChnc3RfY2xvY2tfb3ZlcmxheV9iYXNlX2luaXQpLAoJICAoZ3N0X2Nsb2NrX292ZXJsYXlfcmVuZGVyX3RpbWUpLCAoZ3N0X2Nsb2NrX292ZXJsYXlfZ2V0X3RleHQpLAoJICAoZ3N0X2Nsb2NrX292ZXJsYXlfY2xhc3NfaW5pdCksIChnc3RfY2xvY2tfb3ZlcmxheV9pbml0KToKCSAgKiBleHQvcGFuZ28vZ3N0Y2xvY2tvdmVybGF5Lmg6CgkgICogZXh0L3BhbmdvL2dzdHRleHRvdmVybGF5LmM6IChnc3RfdGV4dF9vdmVybGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfdGV4dF9vdmVybGF5X2dldF90ZXh0KSwgKGdzdF90ZXh0X292ZXJsYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfdGV4dF9vdmVybGF5X2ZpbmFsaXplKSwgKGdzdF90ZXh0X292ZXJsYXlfaW5pdCksCgkgIChnc3RfdGV4dF9vdmVybGF5X3VwZGF0ZV93cmFwX21vZGUpLCAoZ3N0X3RleHRfb3ZlcmxheV9zZXRjYXBzKSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfdGV4dF9wYWRfbGlua2VkKSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfdGV4dF9wYWRfdW5saW5rZWQpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV9zZXRfcHJvcGVydHkpLCAoZ3N0X3RleHRfb3ZlcmxheV9nZXRjYXBzKSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfc2hhZGVfeSksIChnc3RfdGV4dF9vdmVybGF5X2JsaXRfeXV2NDIwKSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfcmVzaXplX2JpdG1hcCksIChnc3RfdGV4dF9vdmVybGF5X3JlbmRlcl90ZXh0KSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfcHVzaF9mcmFtZSksIChnc3RfdGV4dF9vdmVybGF5X3BvcF92aWRlbyksCgkgIChnc3RfdGV4dF9vdmVybGF5X3BvcF90ZXh0KSwgKGdzdF90ZXh0X292ZXJsYXlfY29sbGVjdGVkKSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfY2hhbmdlX3N0YXRlKSwgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvcGFuZ28vZ3N0dGV4dG92ZXJsYXkuaDoKCSAgKiBleHQvcGFuZ28vZ3N0dGltZW92ZXJsYXkuYzogKGdzdF90aW1lX292ZXJsYXlfYmFzZV9pbml0KSwKCSAgKGdzdF90aW1lX292ZXJsYXlfcmVuZGVyX3RpbWUpLCAoZ3N0X3RpbWVfb3ZlcmxheV9nZXRfdGV4dCksCgkgIChnc3RfdGltZV9vdmVybGF5X2NsYXNzX2luaXQpLCAoZ3N0X3RpbWVfb3ZlcmxheV9pbml0KToKCSAgKiBleHQvcGFuZ28vZ3N0dGltZW92ZXJsYXkuaDoKCSAgUG9ydCBwYW5nby1iYXNlZCB0ZXh0b3ZlcmxheSwgdGltZW92ZXJsYXkgYW5kIHRleHRyZW5kZXIgdG8gMC45CgkgIGFuZCBhZGQgYmFja2dyb3VuZCBzaGFkaW5nIGFuZCB0ZXh0IHdyYXBwaW5nIG1vZGVzLiBNYWtlCgkgIHRpbW92ZXJsYXkgZGVyaXZlIGZyb20gdGV4dG92ZXJsYXkuIEFsc28gYWRkIG5ldyBjbG9ja292ZXJsYXkKCSAgZWxlbWVudC4KCjIwMDUtMTEtMzAgMTE6MTA6MDEgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L3VkcC9NYWtlZmlsZS5hbTogTW92ZWQgdG8gbmV0YnVmZmVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0zMCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC91ZHAvTWFrZWZpbGUuYW06IE1vdmVkIHRvIG5ldGJ1ZmZlci4KCjIwMDUtMTEtMzAgMTA6MTg6NDIgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgUG9ydGVkIG11bHRpcGFydCBtdXgvZGVtdXggdG8gMC45LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0zMCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBQT1JURURfTzk6CgkgICogZ3N0L211bHRpcGFydC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkgIChnc3RfbXVsdGlwYXJ0X2RlbXV4X2Jhc2VfaW5pdCksCgkgIChnc3RfbXVsdGlwYXJ0X2RlbXV4X2NsYXNzX2luaXQpLCAoZ3N0X211bHRpcGFydF9kZW11eF9pbml0KSwKCSAgKGdzdF9tdWx0aXBhcnRfZmluZF9wYWRfYnlfbWltZSksIChnc3RfbXVsdGlwYXJ0X2RlbXV4X2NoYWluKSwKCSAgKGdzdF9tdWx0aXBhcnRfZGVtdXhfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9tdWx0aXBhcnRfZGVtdXhfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IChnc3RfbXVsdGlwYXJ0X211eF9jbGFzc19pbml0KSwKCSAgKGdzdF9tdWx0aXBhcnRfbXV4X2luaXQpLCAoZ3N0X211bHRpcGFydF9tdXhfZmluYWxpemUpLAoJICAoZ3N0X211bHRpcGFydF9tdXhfc2lua2Nvbm5lY3QpLAoJICAoZ3N0X211bHRpcGFydF9tdXhfcmVxdWVzdF9uZXdfcGFkKSwKCSAgKGdzdF9tdWx0aXBhcnRfbXV4X2hhbmRsZV9zcmNfZXZlbnQpLAoJICAoZ3N0X211bHRpcGFydF9tdXhfcXVldWVfcGFkcyksIChnc3RfbXVsdGlwYXJ0X211eF9jb2xsZWN0ZWQpLAoJICAoZ3N0X211bHRpcGFydF9tdXhfY2hhbmdlX3N0YXRlKTogUG9ydGVkIG11bHRpcGFydCBtdXgvZGVtdXggdG8KCSAgMC45LgoKMjAwNS0xMS0zMCAwODoyNjo0NyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvOiB1cGRhdGUgZm9yIHN5bWJvbHMgY2hhbmdlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9nc3RuYXZpZ2F0aW9udGVzdC5jOiAoZ3N0X25hdmlnYXRpb250ZXN0X2dldF90eXBlKToKCSAgKiBnc3QvZGVidWcvZ3N0bmF2aWdhdGlvbnRlc3QuaDoKCSAgKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOiAoZ3N0X2FnaW5ndHZfZ2V0X3R5cGUpOgoJICAqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzogKGdzdF9kaWNldHZfZ2V0X3R5cGUpOgoJICAqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzogKGdzdF9lZGdldHZfZ2V0X3R5cGUpOgoJICAqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6IChnc3RfcXVhcmt0dl9nZXRfdHlwZSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6IChnc3RfcmV2dHZfZ2V0X3R5cGUpOgoJICAqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzogKGdzdF9zaGFnYWRlbGljdHZfZ2V0X3R5cGUpOgoJICAqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzogKGdzdF92ZXJ0aWdvdHZfZ2V0X3R5cGUpOgoJICAqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzogKGdzdF93YXJwdHZfZ2V0X3R5cGUpOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzogKGdzdF92aWRlb19mbGlwX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfdmlkZW9fZmxpcF9nZXRfdHlwZSk6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5oOgoJICB1cGRhdGUgZm9yIHN5bWJvbHMgY2hhbmdlCgoyMDA1LTExLTI5IDE3OjQ2OjA0ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC91ZHAvOiB0aGUgb2xkIGdzdG5ldCBsaWIgd2FzIHJlbmFtZWQgZ3N0bmV0YnVmZmVyICgjMzIyMjU3KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB0aGUgb2xkIGdzdG5ldCBsaWIgd2FzIHJlbmFtZWQgZ3N0bmV0YnVmZmVyICgjMzIyMjU3KQoKMjAwNS0xMS0yOSAxNTo0MjowMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOiBBY3R1YWxseSByZW5kZXIgdGhlIHRleHQgZnJvbSB0aGUgdGV4dCBwYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOiAoZ3N0X3RleHRfb3ZlcmxheV9yZW5kZXJfdGV4dCksCgkgIChnc3RfdGV4dF9vdmVybGF5X2NvbGxlY3RlZCk6CgkgIEFjdHVhbGx5IHJlbmRlciB0aGUgdGV4dCBmcm9tIHRoZSB0ZXh0IHBhZC4KCjIwMDUtMTEtMjkgMTQ6NDk6MDAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvZGVidWcvOiBVcGRhdGUgZm9yIEdzdEJhc2VUcmFuc2Zvcm0gZXZlbnQgdmlydHVhbCBtZXRob2QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL2dzdG5hdnNlZWsuYzogKGdzdF9uYXZzZWVrX2V2ZW50KToKCSAgKiBnc3QvZGVidWcvcHJvZ3Jlc3NyZXBvcnQuYzogKGdzdF9wcm9ncmVzc19yZXBvcnRfZXZlbnQpOgoJICBVcGRhdGUgZm9yIEdzdEJhc2VUcmFuc2Zvcm0gZXZlbnQgdmlydHVhbCBtZXRob2QKCjIwMDUtMTEtMjkgMTA6NTU6MDkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZXh0L2NhaXJvL01ha2VmaWxlLmFtOiBubyBuZWVkIHRvIGxpbmsgdG8gdmlkZW9maWx0ZXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMjkgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgIDx0aG9tYXMgYXQgYXBlc3RhYXJ0IGRvdCBvcmc+CgkgICogZXh0L2NhaXJvL01ha2VmaWxlLmFtOgoJICBubyBuZWVkIHRvIGxpbmsgdG8gdmlkZW9maWx0ZXIKCjIwMDUtMTEtMjkgMTA6NDY6MDAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvZGVidWcvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Zy9nc3RuYXZpZ2F0aW9udGVzdC5oOgoJKiBnc3QvZWZmZWN0di9NYWtlZmlsZS5hbToKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJldi5jOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZpbHRlci5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9maWx0ZXIuaDoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5oOgoJICByZW1vdmUgdGhlIHZpZGVvZmlsdGVyIGxpYnJhcnkgYW5kIGxpbmsgdG8gdGhlIG9uZSBpbiBiYXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmUgdGhlIHZpZGVvZmlsdGVyIGxpYnJhcnkgYW5kIGxpbmsgdG8gdGhlIG9uZSBpbiBiYXNlCgoyMDA1LTExLTI5IDAxOjMwOjQwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbW1vbjoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmg6CgkgIGJvcmdpZnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJvcmdpZnkKCjIwMDUtMTEtMjggMTc6MzE6NDQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IFVzZWxlc3MgY2hlY2sgbm93IHdlJ3JlIHNldHRpbmcgdGhlIGN1cnJlbnQgZW50cnkgY29ycmVjdGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSk6CgkgIFVzZWxlc3MgY2hlY2sgbm93IHdlJ3JlIHNldHRpbmcgdGhlIGN1cnJlbnQgZW50cnkgY29ycmVjdGx5LgoKMjAwNS0xMS0yOCAxNjo1NDowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzogRG9uJ3QgbGVhayBpbnB1dCBidWZmZXIgaW4gY2hhaW4gZnVuY3Rpb24gKGZpeGVzICMzMjI2NjcpOyBtYWtlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiB0aHJlYWQtcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6IChnc3RfanBlZ2VuY19yZXN5bmMpLCAoZ3N0X2pwZWdlbmNfY2hhaW4pLAoJICAoZ3N0X2pwZWdlbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9qcGVnZW5jX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfanBlZ2VuY19jaGFuZ2Vfc3RhdGUpOgoJICBEb24ndCBsZWFrIGlucHV0IGJ1ZmZlciBpbiBjaGFpbiBmdW5jdGlvbiAoZml4ZXMgIzMyMjY2Nyk7IG1ha2UKCSAgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIHRocmVhZC1zYWZlOyBkb24ndCByZXBlYXQgdGhlIGN1cnJlbnQgZnVuY3Rpb24KCSAgbmFtZSBpbiBHU1RfREVCVUcgc3RhdGVtZW50czsgdXNlIEdTVF9ST1VORF9VUF8qIG1hY3JvczsgdXNlCgkgIGdzdF9wYWRfYWxsb2NfYnVmZmVyKCk7IG1pc2MuIG1pbm9yIGNsZWFudXBzLgoKMjAwNS0xMS0yOCAxNTo0MzoyOSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogSGFuZGxlIGdyYWNlZnVsbHkgdGhlIGNvbnNlcXVlbmNlIG9mICJNYXhpbXVtIG51bWJlciBvZiBzY2FsZWZhY3RvciBiYW5kcyBleGNlZWRlZCIsIHdoaWNoIHJlc3VsdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9zcmNnZXRjYXBzKToKCSAgSGFuZGxlIGdyYWNlZnVsbHkgdGhlIGNvbnNlcXVlbmNlIG9mICJNYXhpbXVtIG51bWJlciBvZiBzY2FsZWZhY3RvcgoJICBiYW5kcyBleGNlZWRlZCIsIHdoaWNoIHJlc3VsdHMgaW4gMCBjaGFubmVscyB3aXRoIHNhbXBsZXJhdGVzIG9mIDAuCgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgRG8gdXB3YXJkIHRyYW5zaXRpb25zLCB0aGVuIGNhbGwgcGFyZW50IHN0YXRlX2NoYW5nZSwgdGhlbiBkbwoJICBkb3dud2FyZCB0cmFuc2l0aW9ucy4KCjIwMDUtMTEtMjggMTU6MTM6MjIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBMb29rIGZvciBwaXhlbC1hc3BlY3QtcmF0aW8gaW4gY2Fwcywgbm90IHBpeGVsX3dpZHRoIGFuZCBwaXhlbF9oZWlnaHQgKEZpeGVzOiAjMzIyNjQ1KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfbXV4X3ZpZGVvX3BhZF9zZXRjYXBzKToKCSAgTG9vayBmb3IgcGl4ZWwtYXNwZWN0LXJhdGlvIGluIGNhcHMsIG5vdCBwaXhlbF93aWR0aCBhbmQKCSAgcGl4ZWxfaGVpZ2h0IChGaXhlczogIzMyMjY0NSkKCjIwMDUtMTEtMjggMTI6NTk6MDUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBGcm9tIE1pY2hhbCBCZW5lczogZnJhbWUgZHVyYXRpb24gc2hvdWxkIGJlIEdTVF9TRUNPTkQgLyBmcmFtZXJhdGUsIG5vdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfbXV4X3ZpZGVvX3BhZF9zZXRjYXBzKToKCSAgRnJvbSBNaWNoYWwgQmVuZXM6CgkgIGZyYW1lIGR1cmF0aW9uIHNob3VsZCBiZSBHU1RfU0VDT05EIC8gZnJhbWVyYXRlLCBub3QKCSAgR1NUX1NFQ09ORCAqIGZyYW1lcmF0ZS4gKEZpeGVzOiAjMzIyNjQzKQoKMjAwNS0xMS0yNyAxNzowMjo1MyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBjb25maWd1cmUuYWM6IGZpeCB1cCBHU1RfUExVR0lOX0xERkxBR1MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBmaXggdXAgR1NUX1BMVUdJTl9MREZMQUdTCgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzoKCSAgZml4IGluY2x1ZGVzIChzZWUgIzMxNzA0MykKCSAgKiBnc3QvdmlkZW9maWx0ZXIvTWFrZWZpbGUuYW06CgkgIHN0b3AgaW5zdGFsbGluZyB0aGlzIGxpYnJhcnkKCjIwMDUtMTEtMjcgMTU6MzA6MjUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBubyBuZWVkIGZvciBhbiBBU19MSUJUT09MIGNhbGwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG5vIG5lZWQgZm9yIGFuIEFTX0xJQlRPT0wgY2FsbAoKMjAwNS0xMS0yNyAxNDozMzozMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBNYWtlZmlsZS5hbToKCSogY29tbW9uOgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIGFkZCBBQ0xPQ0FMX0FNRkxBR1M7IHJlbW92ZSBvbGQgc3R1ZmYgZnJvbSBzcGVjIGNoYW5nZWxvZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIEFDTE9DQUxfQU1GTEFHUzsgcmVtb3ZlIG9sZCBzdHVmZiBmcm9tIHNwZWMgY2hhbmdlbG9nCgoyMDA1LTExLTI2IDEyOjU0OjQ3ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2R2L2dzdGR2ZGVjLmM6IEhhbmRsZSB0aGUgY2FzZSB3aGVyZSB0aGUgaW5jb21pbmcgVmlkZW8gZHYgc3RyZWFtIGRvZXNuJ3QgaGF2ZSBhIHBpeGVsIGFzcGVjdCByYXRpbyBzZXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlYy5jOiAoZ3N0X2R2ZGVjX3Npbmtfc2V0Y2Fwcyk6CgkgIEhhbmRsZSB0aGUgY2FzZSB3aGVyZSB0aGUgaW5jb21pbmcgVmlkZW8gZHYgc3RyZWFtIGRvZXNuJ3QgaGF2ZQoJICBhIHBpeGVsIGFzcGVjdCByYXRpbyBzZXQuCgoyMDA1LTExLTI1IDIyOjE0OjQ3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZG9jdW1lbnQgZmxhY2RlYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZG9jdW1lbnQgZmxhY2RlYwoKMjAwNS0xMS0yNSAyMTozNjoxOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGV4dC9jYWlyby9nc3RjYWlyby5jOgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5Lmg6CgkqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5jOgoJKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuaDoKCSAgZG8gc29tZSBuYW1lIGJvcmdpZnlpbmcgZG9jdW1lbnQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRvIHNvbWUgbmFtZSBib3JnaWZ5aW5nCgkgIGRvY3VtZW50CgoyMDA1LTExLTI1IDIxOjAyOjE2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGRvY3VtZW50aW5nIGF1dG8qc2luayB1c2luZyBzdHJzdHIgZm9yIHRoZSB2aWRlbyBzaW5rIGxvb2t1cCwgY2xhc3MgZmllbGQgaXMgbm90IG9yZGVyZWQgdXBkYXRlIG90aGVyIHBsdWdpbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSAgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfYmFzZV9pbml0KToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkgIChnc3RfYXV0b192aWRlb19zaW5rX2Jhc2VfaW5pdCksCgkgIChnc3RfYXV0b192aWRlb19zaW5rX2ZhY3RvcnlfZmlsdGVyKToKCSAgZG9jdW1lbnRpbmcgYXV0bypzaW5rCgkgIHVzaW5nIHN0cnN0ciBmb3IgdGhlIHZpZGVvIHNpbmsgbG9va3VwLCBjbGFzcyBmaWVsZCBpcyBub3Qgb3JkZXJlZAoJICB1cGRhdGUgb3RoZXIgcGx1Z2lucwoKMjAwNS0xMS0yNSAxOTo1ODoxOSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogZXh0L3dhdnBhY2svTWFrZWZpbGUuYW06CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgIFdhdnBhY2sgcG9ydGVkIHRvIDAuOS4gTm8gc3VwcG9ydCBmb3IgY29ycmVjdGlvbiBmaWxlIHlldC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFdhdnBhY2sgcG9ydGVkIHRvIDAuOS4gTm8gc3VwcG9ydCBmb3IgY29ycmVjdGlvbiBmaWxlIHlldC4KCjIwMDUtMTEtMjUgMTg6MTU6NTEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZXh0L3dhdnBhY2svOiBwdXQgYmFjayB3YXZwYWNrIC0gc3RpbGwgbmVlZHMgcG9ydGluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2xpbmspLAoJICAoZ3N0X3dhdnBhY2tfZGVjX3d2Y2xpbmspLCAoZ3N0X3dhdnBhY2tfZGVjX2dldF90eXBlKSwKCSAgKGdzdF93YXZwYWNrX2RlY19iYXNlX2luaXQpLCAoZ3N0X3dhdnBhY2tfZGVjX2Rpc3Bvc2UpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NsYXNzX2luaXQpLCAoZ3N0X3dhdnBhY2tfZGVjX3NyY19xdWVyeSksCgkgIChnc3Rfd2F2cGFja19kZWNfaW5pdCksIChnc3Rfd2F2cGFja19kZWNfc2V0dXBfY29udGV4dCksCgkgIChnc3Rfd2F2cGFja19kZWNfZm9ybWF0X3NhbXBsZXMpLCAoZ3N0X3dhdnBhY2tfZGVjX2xvb3ApLAoJICAoZ3N0X3dhdnBhY2tfZGVjX3BsdWdpbl9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9nZXRfdHlwZSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9iYXNlX2luaXQpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfZGlzcG9zZSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jbGFzc19pbml0KSwgKGdzdF93YXZwYWNrX3BhcnNlX3NyY19xdWVyeSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zcmNfZXZlbnQpLCAoZmluZF9oZWFkZXIpLCAoZmluZF9zYW1wbGUpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2VlayksIChnc3Rfd2F2cGFja19wYXJzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2hhbmRsZV9ldmVudCksIChnc3Rfd2F2cGFja19wYXJzZV9sb29wKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NoYW5nZV9zdGF0ZSksIChnc3Rfd2F2cGFja19wYXJzZV9wbHVnaW5faW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgIHB1dCBiYWNrIHdhdnBhY2sgLSBzdGlsbCBuZWVkcyBwb3J0aW5nCgoyMDA1LTExLTI1IDE4OjAzOjI0ICswMDAwICBTZWJhc3RpZW4gQ290ZSA8c2ViYXM2NDJAeWFob28uY2E+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy5jOiBQYXRjaCBmcm9tIFNlYmFzdGllbiBDb3RlIHRvIGNsb3NlIGNvbnRyb2wgc29ja2V0cyBpbiB1ZHBzcmMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX3N0b3ApOgoJICBQYXRjaCBmcm9tIFNlYmFzdGllbiBDb3RlIHRvIGNsb3NlIGNvbnRyb2wgc29ja2V0cyBpbiB1ZHBzcmMuCgoyMDA1LTExLTI0IDE1OjA3OjA2ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6IEZsdXNoIHRoZSBwbGFuZXMgbGlzdCBvbiByZXZlcnNlIGNhcHMgbmVnb3RpYXRpb24uIFRoaXMgd2FzIGNyYXNoaW5nIGJlY2F1c2Ugb2YgZGlmZmVyZW50bHkgcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0yNCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6IChnc3RfcXVhcmt0dl9zZXRfY2FwcyksCgkgIChnc3RfcXVhcmt0dl9nZXRfdW5pdF9zaXplKSwgKGdzdF9xdWFya3R2X3RyYW5zZm9ybSksCgkgIChnc3RfcXVhcmt0dl9wbGFuZXRhYmxlX2NsZWFyKSwgKGdzdF9xdWFya3R2X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcXVhcmt0dl9iYXNlX2luaXQpLCAoZ3N0X3F1YXJrdHZfY2xhc3NfaW5pdCksCgkgIChnc3RfcXVhcmt0dl9pbml0KTogRmx1c2ggdGhlIHBsYW5lcyBsaXN0IG9uIHJldmVyc2UgY2FwcwoJICBuZWdvdGlhdGlvbi4gVGhpcyB3YXMgY3Jhc2hpbmcgYmVjYXVzZSBvZiBkaWZmZXJlbnRseSBzaXplZAoJICBidWZmZXJzLgoKMjAwNS0xMS0yNCAxMjo1MDoyOCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvOiBIYW5kbGUgc3RyaWRlcyBjb3JyZWN0bHksIGZpeCBpZGVudGl0eSBmbGlwcGluZywgY29udmVydCBuYXZpZ2F0aW9uIGV2ZW50IGNvcnJlY3RseSBhZ2Fpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMjQgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvZGVidWcvZ3N0bmF2aWdhdGlvbnRlc3QuYzogKGRyYXdfYm94X3BsYW5hcjQxMSk6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICAoZ3N0X3ZpZGVvZmxpcF9tZXRob2RfZ2V0X3R5cGUpLAoJICAoZ3N0X3ZpZGVvZmxpcF9zZXRfY2FwcyksIChnc3RfdmlkZW9mbGlwX3RyYW5zZm9ybV9jYXBzKSwKCSAgKGdzdF92aWRlb2ZsaXBfZ2V0X3VuaXRfc2l6ZSksIChnc3RfdmlkZW9mbGlwX2ZsaXApLAoJICAoZ3N0X3ZpZGVvZmxpcF90cmFuc2Zvcm0pLCAoZ3N0X3ZpZGVvZmxpcF9oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF92aWRlb2ZsaXBfc2V0X3Byb3BlcnR5KSwgKGdzdF92aWRlb2ZsaXBfYmFzZV9pbml0KSwKCSAgKGdzdF92aWRlb2ZsaXBfY2xhc3NfaW5pdCksIChnc3RfdmlkZW9mbGlwX2luaXQpOiBIYW5kbGUgc3RyaWRlcwoJICBjb3JyZWN0bHksIGZpeCBpZGVudGl0eSBmbGlwcGluZywgY29udmVydCBuYXZpZ2F0aW9uIGV2ZW50CgkgIGNvcnJlY3RseSBhZ2Fpbi4KCjIwMDUtMTEtMjQgMTE6MTY6NTMgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkqIFJFQURNRToKCSAgRml4ICMzMjAyODg6IHdyb25nIHJlYWRtZSBpbiBwbHVnaW5zLWdvb2QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCAjMzIwMjg4OiB3cm9uZyByZWFkbWUgaW4gcGx1Z2lucy1nb29kCgoyMDA1LTExLTI0IDExOjA2OjI5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIE1ha2VmaWxlLmFtOgoJICBmaXggdG9ydHVyZSB0YXJnZXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCB0b3J0dXJlIHRhcmdldAoKMjAwNS0xMS0yMyAyMToyNTo1NiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBNYWtlZmlsZS5hbToKCSAgYWRkIGEgdG9ydHVyZSB0YXJnZXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBhIHRvcnR1cmUgdGFyZ2V0CgoyMDA1LTExLTIzIDIwOjA1OjI2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJICBiYWNrIHRvIEhFQUQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJhY2sgdG8gSEVBRAoKPT09IHJlbGVhc2UgMC45LjYgPT09CgoyMDA1LTExLTIzIDE5OjU3OjQ5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSAgcmVsZWFzaW5nIDAuOS42CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZWxlYXNpbmcgMC45LjYKCjIwMDUtMTEtMjMgMTk6NTY6MzEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkgIHJlbGVhc2luZyAwLjkuNgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVsZWFzaW5nIDAuOS42CgoyMDA1LTExLTIzIDE5OjE0OjA3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJICBhZGRpbmcgY3V0dGVyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGRpbmcgY3V0dGVyCgoyMDA1LTExLTIzIDE5OjA1OjI5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwNS0xMS0yMyAxNjo0OToxNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvZGVidWcvZ3N0bmF2aWdhdGlvbnRlc3QuYzogT29wcywgaW5pdGlhbGlzZSB0aGUgZnJhbWVyYXRlIEdWYWx1ZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvZ3N0bmF2aWdhdGlvbnRlc3QuYzogKGdzdF9uYXZpZ2F0aW9udGVzdF9pbml0KToKCSAgT29wcywgaW5pdGlhbGlzZSB0aGUgZnJhbWVyYXRlIEdWYWx1ZQoKMjAwNS0xMS0yMyAxNTo1MDo1MSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBWaWRlb0ZpbHRlciBpbmhlcml0cyBmcm9tCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTIzICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5LmM6CgkgIChnc3RfdGltZW92ZXJsYXlfdXBkYXRlX2ZvbnRfaGVpZ2h0KSwKCSAgKGdzdF90aW1lb3ZlcmxheV9zZXRfY2FwcyksIChnc3RfdGltZW92ZXJsYXlfZ2V0X3VuaXRfc2l6ZSksCgkgIChnc3RfdGltZW92ZXJsYXlfdHJhbnNmb3JtKSwgKGdzdF90aW1lb3ZlcmxheV9iYXNlX2luaXQpLAoJICAoZ3N0X3RpbWVvdmVybGF5X2NsYXNzX2luaXQpLCAoZ3N0X3RpbWVvdmVybGF5X2luaXQpLAoJICAoZ3N0X3RpbWVvdmVybGF5X2dldF90eXBlKToKCSAgKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuaDoKCSAgKiBnc3QvZGVidWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlYnVnL2dzdG5hdmlnYXRpb250ZXN0LmM6CgkgIChnc3RfbmF2aWdhdGlvbnRlc3RfaGFuZGxlX3NyY19ldmVudCksCgkgIChnc3RfbmF2aWdhdGlvbnRlc3RfZ2V0X3VuaXRfc2l6ZSksCgkgIChnc3RfbmF2aWdhdGlvbnRlc3Rfc2V0X2NhcHMpLAoJICAoZ3N0X25hdmlnYXRpb250ZXN0X3RyYW5zZm9ybSksCgkgIChnc3RfbmF2aWdhdGlvbnRlc3RfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9uYXZpZ2F0aW9udGVzdF9iYXNlX2luaXQpLCAoZ3N0X25hdmlnYXRpb250ZXN0X2NsYXNzX2luaXQpLAoJICAoZ3N0X25hdmlnYXRpb250ZXN0X2luaXQpLCAoZ3N0X25hdmlnYXRpb250ZXN0X2dldF90eXBlKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZGVidWcvZ3N0bmF2aWdhdGlvbnRlc3QuaDoKCSAgKiBnc3QvZWZmZWN0di9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOiAoZ3N0X2FnaW5ndHZfc2V0X2NhcHMpLAoJICAoZ3N0X2FnaW5ndHZfZ2V0X3VuaXRfc2l6ZSksIChnc3RfYWdpbmd0dl90cmFuc2Zvcm0pLAoJICAoZ3N0X2FnaW5ndHZfYmFzZV9pbml0KSwgKGdzdF9hZ2luZ3R2X2NsYXNzX2luaXQpLAoJICAoZ3N0X2FnaW5ndHZfaW5pdCksIChnc3RfYWdpbmd0dl9nZXRfdHlwZSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOiAoZ3N0X2RpY2V0dl9zZXRfY2FwcyksCgkgIChnc3RfZGljZXR2X2dldF91bml0X3NpemUpLCAoZ3N0X2RpY2V0dl90cmFuc2Zvcm0pLAoJICAoZ3N0X2RpY2V0dl9iYXNlX2luaXQpLCAoZ3N0X2RpY2V0dl9jbGFzc19pbml0KSwKCSAgKGdzdF9kaWNldHZfaW5pdCksCgkgIChnc3RfZGljZXR2X2dldF90eXBlKToKCSAgKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6IChnc3RfZWRnZXR2X3NldF9jYXBzKSwKCSAgKGdzdF9lZGdldHZfZ2V0X3VuaXRfc2l6ZSksIChnc3RfZWRnZXR2X3RyYW5zZm9ybSksCgkgIChnc3RfZWRnZXR2X2Jhc2VfaW5pdCksIChnc3RfZWRnZXR2X2NsYXNzX2luaXQpLAoJICAoZ3N0X2VkZ2V0dl9pbml0KSwKCSAgKGdzdF9lZGdldHZfZ2V0X3R5cGUpOgoJICAqIGdzdC9lZmZlY3R2L2dzdGVmZmVjdHYuYzoKCSAgKiBnc3QvZWZmZWN0di9nc3RlZmZlY3R2Lmg6CgkgICogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzogKGdzdF9xdWFya3R2X3NldF9jYXBzKSwKCSAgKGdzdF9xdWFya3R2X2dldF91bml0X3NpemUpLCAoZmFzdHJhbmQpLAoJICAoZ3N0X3F1YXJrdHZfdHJhbnNmb3JtKSwKCSAgKGdzdF9xdWFya3R2X2NoYW5nZV9zdGF0ZSksIChnc3RfcXVhcmt0dl9iYXNlX2luaXQpLAoJICAoZ3N0X3F1YXJrdHZfY2xhc3NfaW5pdCksIChnc3RfcXVhcmt0dl9pbml0KSwKCSAgKGdzdF9xdWFya3R2X2dldF90eXBlKToKCSAgKiBnc3QvZWZmZWN0di9nc3RyZXYuYzogKGdzdF9yZXZ0dl9zZXRfY2FwcyksCgkgIChnc3RfcmV2dHZfZ2V0X3VuaXRfc2l6ZSksIChnc3RfcmV2dHZfdHJhbnNmb3JtKSwKCSAgKGdzdF9yZXZ0dl9iYXNlX2luaXQpLCAoZ3N0X3JldnR2X2NsYXNzX2luaXQpLCAoZ3N0X3JldnR2X2luaXQpLAoJICAoZ3N0X3JldnR2X2dldF90eXBlKToKCSAgKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6IChnc3Rfc2hhZ2FkZWxpY3R2X3NldF9jYXBzKSwKCSAgKGdzdF9zaGFnYWRlbGljdHZfZ2V0X3VuaXRfc2l6ZSksIChnc3Rfc2hhZ2FkZWxpY3R2X3RyYW5zZm9ybSksCgkgIChnc3Rfc2hhZ2FkZWxpY3R2X2Jhc2VfaW5pdCksIChnc3Rfc2hhZ2FkZWxpY3R2X2NsYXNzX2luaXQpLAoJICAoZ3N0X3NoYWdhZGVsaWN0dl9pbml0KSwgKGdzdF9zaGFnYWRlbGljdHZfZ2V0X3R5cGUpOgoJICAqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzogKGdzdF92ZXJ0aWdvdHZfc2V0X2NhcHMpLAoJICAoZ3N0X3ZlcnRpZ290dl9nZXRfdW5pdF9zaXplKSwgKGdzdF92ZXJ0aWdvdHZfdHJhbnNmb3JtKSwKCSAgKGdzdF92ZXJ0aWdvdHZfYmFzZV9pbml0KSwgKGdzdF92ZXJ0aWdvdHZfY2xhc3NfaW5pdCksCgkgIChnc3RfdmVydGlnb3R2X2luaXQpLCAoZ3N0X3ZlcnRpZ290dl9nZXRfdHlwZSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOiAoZ3N0X3dhcnB0dl9zZXRfY2FwcyksCgkgIChnc3Rfd2FycHR2X2dldF91bml0X3NpemUpLCAoZ3N0X3dhcnB0dl90cmFuc2Zvcm0pLAoJICAoZ3N0X3dhcnB0dl9iYXNlX2luaXQpLCAoZ3N0X3dhcnB0dl9jbGFzc19pbml0KSwKCSAgKGdzdF93YXJwdHZfaW5pdCksCgkgIChnc3Rfd2FycHR2X2dldF90eXBlKToKCSAgKiBnc3QvdmlkZW9maWx0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuaDoKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9maWx0ZXIuYzogKGdzdF92aWRlb2ZpbHRlcl9nZXRfdHlwZSksCgkgIChnc3RfdmlkZW9maWx0ZXJfY2xhc3NfaW5pdCksIChnc3RfdmlkZW9maWx0ZXJfaW5pdCk6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmlsdGVyLmg6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOiAoZ3N0X3ZpZGVvZmxpcF9zZXRfY2FwcyksCgkgIChnc3RfdmlkZW9mbGlwX3RyYW5zZm9ybV9jYXBzKSwgKGdzdF92aWRlb2ZsaXBfZ2V0X3VuaXRfc2l6ZSksCgkgIChnc3RfdmlkZW9mbGlwX2ZsaXApLCAoZ3N0X3ZpZGVvZmxpcF90cmFuc2Zvcm0pLAoJICAoZ3N0X3ZpZGVvZmxpcF9oYW5kbGVfc3JjX2V2ZW50KSwgKGdzdF92aWRlb2ZsaXBfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF92aWRlb2ZsaXBfYmFzZV9pbml0KSwgKGdzdF92aWRlb2ZsaXBfY2xhc3NfaW5pdCksCgkgIChnc3RfdmlkZW9mbGlwX2luaXQpLCAocGx1Z2luX2luaXQpLCAoZ3N0X3ZpZGVvZmxpcF9nZXRfdHlwZSk6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5oOiBWaWRlb0ZpbHRlciBpbmhlcml0cyBmcm9tCgkgIEJhc2VUcmFuc2Zvcm0sIGl0J3MganVzdCBhIHBsYWNlIGhvbGRlciBmb3Igbm93IGFuZCBldmVyeSB2aWRlbwoJICBlZmZlY3QgcGx1Z2luIGhhcyBiZWVuIHBvcnRlZCB0byB1c2UgQmFzZVRyYW5zZm9ybSBmZWF0dXJlcwoJICBkaXJlY3RseS4gUXVhcmtUViB3YXMgZml4ZWQgdG9vICh3YXMgYnJva2VuKSwgbmF2aWdhdGlvbnRlc3QKCSAgd29ya3MKCSAgYW5kIGJlc3QgZm9yIHRoZSBlbmQsIHZpZGVvZmxpcCBjb252ZXJ0cyBuYXZpZ2F0aW9uIGV2ZW50cwoJICBkZXBlbmRpbmcKCSAgb24gZmxpcCBtZXRob2QgISBGaXhlcyAjMzIwOTUzCgoyMDA1LTExLTIzIDE0OjIyOjE4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIEZpeGVzIGZvciBBUEkgY2hhbmdlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6IChnc3RfYWFzaW5rX2ZpeGF0ZSk6CgkgICogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6IChnc3RfdGV4dF9vdmVybGF5X2NvbGxlY3RlZCk6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOiAoZ3N0X2dvb21faW5pdCksIChnc3RfZ29vbV9zcmNfc2V0Y2FwcyksCgkgIChnc3RfZ29vbV9zcmNfbmVnb3RpYXRlKSwgKGdzdF9nb29tX2NoYWluKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfbXV4X3ZpZGVvX3BhZF9zZXRjYXBzKToKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIEZpeGVzIGZvciBBUEkgY2hhbmdlcwoKMjAwNS0xMS0yMyAxMjoxOTowNiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBhZGQgY3V0dGVyIHRvIHNwZWMgaW4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBjdXR0ZXIgdG8gc3BlYyBpbgoKMjAwNS0xMS0yMyAxMTo1Nzo1MSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IENvbnZlcnQgdG8gZnJhY3Rpb25hbCBmcmFtZXJhdGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKSwKCSAgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLCAocXRkZW11eF9kdW1wX212aGQpLAoJICAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgQ29udmVydCB0byBmcmFjdGlvbmFsIGZyYW1lcmF0ZXMKCjIwMDUtMTEtMjIgMjM6NTg6MTQgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGV4dC9qcGVnLzogSlBFRyBmcmFjdGlvbnkgZ29vZG5lc3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogKGdzdF9qcGVnX2RlY19zZXRjYXBzKSwKCSAgKGdzdF9qcGVnX2RlY19jaGFpbiksIChnc3RfanBlZ19kZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOiAoZ3N0X2pwZWdlbmNfc2V0Y2Fwcyk6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2VuYy5oOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6IChnc3Rfc21va2VlbmNfc2V0Y2FwcyksCgkgIChnc3Rfc21va2VlbmNfcmVzeW5jKToKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5oOgoJICBKUEVHIGZyYWN0aW9ueSBnb29kbmVzcy4KCjIwMDUtMTEtMjIgMjI6MzU6NTcgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L2dvb20vZmlsdGVycy5jOgoJKiBnc3QvZ29vbS9ncmFwaGljLmg6CgkgIEZpeCBmb3IgIzMyMTQzMDogdW5yZXNvbHZlZCBzeW1ib2xzIGR1ZSB0byBpbmNvcnJlY3QgbGlua2FnZSBvbiBpbmxpbmUgZnVuY3Rpb25zIGluIGdvb20uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggZm9yICMzMjE0MzA6IHVucmVzb2x2ZWQgc3ltYm9scyBkdWUgdG8gaW5jb3JyZWN0IGxpbmthZ2Ugb24gaW5saW5lIGZ1bmN0aW9ucwoJICBpbiBnb29tLgoJICBEb2VzIG5vdCwgaG93ZXZlciwgZml4IHRoZSBnZW5lcmFsIGNyYWNraGVhZGVkbmVzcyBvZiBnb29tIChnbG9iYWwgdmFyaWFibGVzLAoJICBvaCBteSEpOyB0aGlzIHNob3VsZCBiZSBtb3ZlZCB0byAtYmFkLgoKMjAwNS0xMS0yMiAyMjoyMTozNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBNb3JlIGZyYWN0aW9uYWwgZnJhbWVyYXRlIGNvbnZlcnNpb25zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOiAoZ3N0X3RleHRfb3ZlcmxheV9pbml0KSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfc2V0Y2FwcyksIChnc3RfdGV4dF9vdmVybGF5X2NvbGxlY3RlZCk6CgkgICogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5Lmg6CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6IChnc3RfZ2RrX3BpeGJ1Zl9zaW5rX2xpbmspOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5oOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IChnc3RfcG5nZGVjX2luaXQpLAoJICAoZ3N0X3BuZ2RlY19jYXBzX2NyZWF0ZV9hbmRfc2V0KToKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5oOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6IChnc3RfcG5nZW5jX3NldGNhcHMpOgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6IChnc3RfYWxwaGFfY29sb3Jfc2V0X2NhcHMpOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IChnc3RfYXZpbXV4X2luaXQpLAoJICAoZ3N0X2F2aW11eF92aWRzaW5rY29ubmVjdCk6CgkgICogZ3N0L2ZseC9nc3RmbHhkZWMuYzogKGdzdF9mbHhkZWNfY2hhaW4pOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzogKGdzdF9nb29tX2luaXQpLCAoZ3N0X2dvb21fc3JjX3NldGNhcHMpLAoJICAoZ3N0X2dvb21fc3JjX25lZ290aWF0ZSksIChnc3RfZ29vbV9jaGFpbik6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X3ZpZGVvX2NhcHMpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9tdXhfdmlkZW9fcGFkX3NldGNhcHMpOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIE1vcmUgZnJhY3Rpb25hbCBmcmFtZXJhdGUgY29udmVyc2lvbnMKCjIwMDUtMTEtMjIgMjA6MDc6NDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgQ29udmVydCB0byBmcmFjdGlvbmFsIGZyYW1lcmF0ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzogKGdzdF9hYXNpbmtfZml4YXRlKToKCSAgKiBnc3QvZGVidWcvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSAgKGdzdF9uYXZpZ2F0aW9udGVzdF9oYW5kbGVfc3JjX2V2ZW50KToKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9maWx0ZXIuYzoKCSAgKGdzdF92aWRlb2ZpbHRlcl9mb3JtYXRfZ2V0X3N0cnVjdHVyZSksIChnc3RfdmlkZW9maWx0ZXJfc2V0Y2FwcyksCgkgIChnc3RfdmlkZW9maWx0ZXJfaW5pdCk6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmlsdGVyLmg6CgkgIENvbnZlcnQgdG8gZnJhY3Rpb25hbCBmcmFtZXJhdGVzLgoKMjAwNS0xMS0yMiAxODoxMTo1OCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkqIGV4dC9lc2QvZXNkbW9uLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzoKCSogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9vbGRjb3JlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0L29sZGNvcmUvZ3N0c2hhcGVyLmM6CgkqIGdzdC9zbXB0ZS9iYXJib3h3aXBlcy5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICBmaXggdXAgbW9yZSBlbnVtcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IHVwIG1vcmUgZW51bXMKCjIwMDUtMTEtMjIgMTc6Mzk6MTEgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogRnJhY3Rpb25hbCBmcmFtZXJhdGVzLCB2aWRlb21peGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IChnc3RfdmlkZW9taXhlcl9wYWRfc2lua19zZXRjYXBzKSwKCSAgKGdzdF92aWRlb21peGVyX2dldGNhcHMpLCAoZ3N0X3ZpZGVvbWl4ZXJfZmlsbF9xdWV1ZXMpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfdXBkYXRlX3F1ZXVlcyk6CgkgIEZyYWN0aW9uYWwgZnJhbWVyYXRlcywgdmlkZW9taXhlci4KCjIwMDUtMTEtMjIgMTc6MDk6MzYgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGV4dC9kdi86IEZyYWN0aW9uYWwgZnJhbWVyYXRlcyBmb3IgRFYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlYy5jOiAoZ3N0X2R2ZGVjX2luaXQpLCAoZ3N0X2R2ZGVjX3Npbmtfc2V0Y2Fwcyk6CgkgICogZXh0L2R2L2dzdGR2ZGVjLmg6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2luaXQpLAoJICAoZ3N0X2R2ZGVtdXhfc3JjX2NvbnZlcnQpLCAoZ3N0X2R2ZGVtdXhfc2lua19jb252ZXJ0KSwKCSAgKGdzdF9kdmRlbXV4X2RlbXV4X3ZpZGVvKSwgKGdzdF9kdmRlbXV4X2RlbXV4X2ZyYW1lKSwKCSAgKGdzdF9kdmRlbXV4X2ZsdXNoKToKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5oOgoJICBGcmFjdGlvbmFsIGZyYW1lcmF0ZXMgZm9yIERWLgoKMjAwNS0xMS0yMiAxNDo0NDoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdXRvZGV0ZWN0LzogVXNlIGdzdF9wbHVnaW5fZmVhdHVyZV9saXN0X2ZyZWUoKSB0byBmcmVlIGZlYXR1cmUgbGlzdCBhbmQgaW4gdGhlIGNhc2Ugb2YgYXV0b3ZpZGVvc2luayBmcmVlIHRoZSBsaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkgIChnc3RfYXV0b19hdWRpb19zaW5rX2ZpbmRfYmVzdCksIChnc3RfYXV0b19hdWRpb19zaW5rX2RldGVjdCk6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19maW5kX2Jlc3QpLCAoZ3N0X2F1dG9fdmlkZW9fc2lua19kZXRlY3QpOgoJICBVc2UgZ3N0X3BsdWdpbl9mZWF0dXJlX2xpc3RfZnJlZSgpIHRvIGZyZWUgZmVhdHVyZSBsaXN0IGFuZAoJICBpbiB0aGUgY2FzZSBvZiBhdXRvdmlkZW9zaW5rIGZyZWUgdGhlIGxpc3QgYXQgYWxsLiBBbHNvCgkgIG1pc2NlbGxhbmVvdXMgY29zbWV0aWMgZml4ZXMuCgoyMDA1LTExLTIyIDEzOjEzOjIxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6IGNvcHkgY2FsY3VsYXRpb24gY29kZSBmcm9tIGxldmVsOyByZW1vdmUgdXNlIG9mIHNvbWUgYXVkaW8gZnVuY3Rpb25zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6IChnc3RfY3V0dGVyX2NoYWluKSwKCSAgKGdzdF9jdXR0ZXJfc2V0X3Byb3BlcnR5KSwgKGdzdF9jdXR0ZXJfZ2V0X2NhcHMpOgoJICBjb3B5IGNhbGN1bGF0aW9uIGNvZGUgZnJvbSBsZXZlbDsgcmVtb3ZlIHVzZSBvZiBzb21lIGF1ZGlvCgkgIGZ1bmN0aW9ucwoKMjAwNS0xMS0yMiAxMzoxMToyNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgdmFyaW91cyBjb3NtZXRpYyBmaXhlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdmFyaW91cyBjb3NtZXRpYyBmaXhlcwoKMjAwNS0xMS0yMiAxMjo0ODoxMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgdmFyaW91cyBjb3NtZXRpYyBmaXhlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdmFyaW91cyBjb3NtZXRpYyBmaXhlcwoKMjAwNS0xMS0yMiAxMjo0MTozNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgdmFyaW91cyBjb3NtZXRpYyBmaXhlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdmFyaW91cyBjb3NtZXRpYyBmaXhlcwoKMjAwNS0xMS0yMiAxMjozODozMyArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIFVwZGF0ZSBmb3IgZ3N0X3RhZ19zZXR0ZXIgQVBJIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTIyICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIFVwZGF0ZSBmb3IgZ3N0X3RhZ19zZXR0ZXIgQVBJIGNoYW5nZXMuCgoyMDA1LTExLTIyIDExOjU3OjUxICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIGV4dC9mYWFkL2dzdGZhYWQuYyAoZ3N0X2ZhYWRfZXZlbnQpIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYyAoZ3N0X2l2b3JiaXNmaWxlX2xvb3ApIGdzdC9xdGRlbXV4L3F0ZGVtdXguYyAoZ3N0X3F0ZGVtdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0yMiAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvZmFhZC9nc3RmYWFkLmMgKGdzdF9mYWFkX2V2ZW50KQoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYyAoZ3N0X2l2b3JiaXNmaWxlX2xvb3ApCgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jIChnc3RfcXRkZW11eF9sb29wX2hlYWRlcikKCSAgKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYyAoc3BlZWRfc2lua19ldmVudCkKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmMgKGdzdF90dGFfcGFyc2Vfc3JjX2V2ZW50KQoJICAoZ3N0X3R0YV9wYXJzZV9wYXJzZV9oZWFkZXIpOiBSdW4gdXBkYXRlLWZ1bmNuYW1lcy4KCjIwMDUtMTEtMjIgMTE6NTM6MzQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIGV4dC9kdi9nc3RkdmRlbXV4LmMgKGdzdF9kdmRlbXV4X2hhbmRsZV9zaW5rX2V2ZW50KSAoZ3N0X2R2ZGVtdXhfZGVtdXhfZnJhbWUpIGV4dC9mbGFjL2dzdGZsYWNkZWMuYyAoZ3N0X2ZsYWNkZWNfd3JpdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0yMiAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jIChnc3RfZHZkZW11eF9oYW5kbGVfc2lua19ldmVudCkKCSAgKGdzdF9kdmRlbXV4X2RlbXV4X2ZyYW1lKQoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYyAoZ3N0X2ZsYWNkZWNfd3JpdGUpCgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jIChnc3RfZmxhY2VuY19zZWVrX2NhbGxiYWNrKQoJICAoZ3N0X2ZsYWNlbmNfc2lua19ldmVudCkKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYyAoZ3N0X2djb25mX2F1ZGlvX3NpbmtfaW5pdCkKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuYyAoZ3N0X2djb25mX3ZpZGVvX3NpbmtfaW5pdCkKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jIChnc3RfcG5nZGVjX2NhcHNfY3JlYXRlX2FuZF9zZXQpCgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmMgKHNwZWV4X2RlY19ldmVudCwgc3BlZXhfZGVjX2NoYWluKQoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYyAoZ3N0X2F1cGFyc2VfY2hhaW4pCgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jIChnc3RfYXV0b19hdWRpb19zaW5rX2luaXQpCgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jIChnc3RfYXV0b192aWRlb19zaW5rX2luaXQpCgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXIpCgkgIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zZWVrKQoJICAqIGdzdC9nb29tL2dzdGdvb20uYyAoZ3N0X2dvb21fZXZlbnQpCgkgICogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYyAoZ3N0X2VibWxfd3JpdGVfc2VlaykKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYwoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zZWVrX2V2ZW50KQoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2xvb3Bfc3RyZWFtX3BhcnNlX2lkKQoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmMgKGdzdF93YXZlbmNfc3RvcF9maWxlKQoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jIChnc3Rfd2F2cGFyc2VfaGFuZGxlX3NlZWspCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpOiBSdW4gdXBkYXRlLWZ1bmNuYW1lcy4KCjIwMDUtMTEtMjIgMTE6NDk6MzAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBVUklIYW5kbGVyIGludGVyZmFjZSBhbmQgZWxlbWVudCBwcm9wZXJ0aWVzIGFyZSBub3cgcHJvcGVybHkgc3luY2hyb25pemVkIGZvciBEVjEzOTRzcmMgYW5kIFVEUFNyYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogKGdzdF9kdjEzOTRzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfZHYxMzk0c3JjX2luaXQpLCAoZ3N0X2R2MTM5NHNyY19kaXNwb3NlKSwKCSAgKGdzdF9kdjEzOTRzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9kdjEzOTRzcmNfZGlzY292ZXJfYXZjX25vZGUpLAoJICAoZ3N0X2R2MTM5NHNyY191cmlfc2V0X3VyaSk6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfdWRwc3JjX3VwZGF0ZV91cmkpLCAoZ3N0X3VkcHNyY19zZXRfdXJpKSwKCSAgKGdzdF91ZHBzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF91ZHBzcmNfdXJpX2dldF91cmkpOgoJICBVUklIYW5kbGVyIGludGVyZmFjZSBhbmQgZWxlbWVudCBwcm9wZXJ0aWVzIGFyZSBub3cgcHJvcGVybHkKCSAgc3luY2hyb25pemVkIGZvciBEVjEzOTRzcmMgYW5kIFVEUFNyYwoKMjAwNS0xMS0yMiAxMTozNjowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC86IGxpYmdzdHRhZ2VkaXQgaGFzIGJlZW4gcmVuYW1lZCB0byBsaWJnc3R0YWcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zcGVleC9NYWtlZmlsZS5hbToKCSAgbGliZ3N0dGFnZWRpdCBoYXMgYmVlbiByZW5hbWVkIHRvIGxpYmdzdHRhZy4KCjIwMDUtMTEtMjEgMjA6MTE6NTkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiBBcHBseSBwYXRjaCBmcm9tIFNlYmFzdGllbiBDb3RlIHRvIGZpeCAjMzE5MTg0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocmVhZF9ib2R5KToKCSAgQXBwbHkgcGF0Y2ggZnJvbSBTZWJhc3RpZW4gQ290ZSB0byBmaXggIzMxOTE4NC4KCjIwMDUtMTEtMjEgMTk6NTA6MjUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG9ydCBjdXR0ZXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9jdXR0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzogKGdzdF9jdXR0ZXJfY2xhc3NfaW5pdCksCgkgIChnc3RfY3V0dGVyX2luaXQpLCAoZ3N0X2N1dHRlcl9tZXNzYWdlX25ldyksIChnc3RfY3V0dGVyX2NoYWluKSwKCSAgKGdzdF9jdXR0ZXJfc2V0X3Byb3BlcnR5KSwgKGdzdF9jdXR0ZXJfZ2V0X3Byb3BlcnR5KSwKCSAgKHBsdWdpbl9pbml0KSwgKGdzdF9jdXR0ZXJfZ2V0X2NhcHMpOgoJICBwb3J0IGN1dHRlcgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBmaXggdXAgcGx1Z2luIGRldGFpbHMKCjIwMDUtMTEtMjEgMTg6MDk6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBVcGRhdGUgZm9yIHN0cmVhbSBsb2NrIEFQSSBjaGFuZ2VzOiBkb24ndCB0YWtlIHN0cmVhbSBsb2cgaW4gc2luayBldmVudCBoYW5kbGVycyBhbnkgbG9uZ2VyIGFuZCBjaGFuZ2UgR1NUX1NUUkVBTV9MT0MuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2hhbmRsZV9zaW5rX2V2ZW50KToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY2RlY19sb29wKSwKCSAgKGdzdF9mbGFjZGVjX3NyY19ldmVudCk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiAoZ3N0X2ZsYWNlbmNfc2lua19ldmVudCk6CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogKGdzdF9zaWduYWxfcHJvY2Vzc29yX2V2ZW50KSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2dldHJhbmdlKSwgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2NoYWluKToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zZWVrKToKCSAgKiBnc3QvZmx4L2dzdGZseGRlYy5jOiAoZ3N0X2ZseGRlY19zcmNfZXZlbnRfaGFuZGxlciksCgkgIChnc3RfZmx4ZGVjX3NpbmtfZXZlbnRfaGFuZGxlcik6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NlZWtfZXZlbnQpOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2hhbmRsZV9zZWVrKToKCSAgVXBkYXRlIGZvciBzdHJlYW0gbG9jayBBUEkgY2hhbmdlczogZG9uJ3QgdGFrZSBzdHJlYW0gbG9nCgkgIGluIHNpbmsgZXZlbnQgaGFuZGxlcnMgYW55IGxvbmdlciBhbmQgY2hhbmdlIEdTVF9TVFJFQU1fTE9DSwoJICB0byBHU1RfUEFEX1NUUkVBTV9MT0NLLiBEb24ndCBsZWFrIHJlZmVyZW5jZXMgaW4gZmx4ZGVjIGV2ZW50CgkgIGZ1bmN0aW9ucy4KCjIwMDUtMTEtMjEgMTc6NTI6MTUgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkqIGdzdC9hdXBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmg6CgkgIEZvcmdvdCB0byBjb21taXQgaGVhZGVyIGZpbGUgY2hhbmdlcywgTWFrZWZpbGUuYW0gY2hhbmdlcy4gT29wcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZvcmdvdCB0byBjb21taXQgaGVhZGVyIGZpbGUgY2hhbmdlcywgTWFrZWZpbGUuYW0gY2hhbmdlcy4gT29wcy4KCjIwMDUtMTEtMjEgMTc6NDk6MjEgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJICBnc3Rfb2JqZWN0X3VucmVmLCBub3QgZ19vYmplY3RfdW5yZWYKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGdzdF9vYmplY3RfdW5yZWYsIG5vdCBnX29iamVjdF91bnJlZgoKMjAwNS0xMS0yMSAxNzozNzo0MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIEZpeCBmb3Igc3RyZWFtIGxvY2sgdXBkYXRlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfc2lua19ldmVudCk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19ldmVudCk6CgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOiAoZ3N0X3R0YV9wYXJzZV9zcmNfZXZlbnQpOgoJICBGaXggZm9yIHN0cmVhbSBsb2NrIHVwZGF0ZXMuCgoyMDA1LTExLTIxIDE3OjIzOjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IFVzZSBHU1RfREVCVUdfRlVOQ1BUUjsgYWRkIGRlYnVnIG1lc3NhZ2UgaW4gcGFkIGFjdGl2YXRlIGZ1bmN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9pbml0KSwKCSAgKGdzdF93YXZwYXJzZV9jcmVhdGVfc291cmNlcGFkKSwgKGdzdF93YXZwYXJzZV9zaW5rX2FjdGl2YXRlKToKCSAgVXNlIEdTVF9ERUJVR19GVU5DUFRSOyBhZGQgZGVidWcgbWVzc2FnZSBpbiBwYWQgYWN0aXZhdGUgZnVuY3Rpb24uCgoyMDA1LTExLTIxIDE3OjE4OjAxICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvYXVwYXJzZS86IFBhcnRpYWxseSBmaXggIzE2MTcxMi4gcGxheWJpbiBzdGlsbCBkb2Vzbid0IHdvcmsgb24gdGhlc2UgZmlsZXMsIChvbiB0aGUgYnVnIHJlcG9ydCwgQW5keSBzYXlzIHdlIGFyZW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1cGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOiAoZ3N0X2F1cGFyc2VfY2xhc3NfaW5pdCksCgkgIChnc3RfYXVwYXJzZV9pbml0KSwgKGdzdF9hdXBhcnNlX2Rpc3Bvc2UpLCAoZ3N0X2F1cGFyc2VfY2hhaW4pLAoJICAoZ3N0X2F1cGFyc2VfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmg6CgkgIFBhcnRpYWxseSBmaXggIzE2MTcxMi4gcGxheWJpbiBzdGlsbCBkb2Vzbid0IHdvcmsgb24gdGhlc2UgZmlsZXMsCgkgIChvbiB0aGUgYnVnIHJlcG9ydCwgQW5keSBzYXlzIHdlIGFyZW4ndCB0eXBlZmluZGluZyBpdCBmb3Igc29tZQoJICByZWFzb24/KSBidXQgYXQgbGVhc3QgYXVwYXJzZSBpc24ndCB0b3RhbGx5IGJ1c3RlZCBsaWtlIGl0IHdhcyBiZWZvcmUuCgoyMDA1LTExLTIxIDE2OjQ1OjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBqQGJvb3RsYWIub3JnLCAjMzIxOTAzKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF92aWRlb19jYXBzKToKCSAgQWRkIERYNTAsIERJVlggYW5kIERJVjMgZm91cmNjcyAocGF0Y2ggYnkKCSAgakBib290bGFiLm9yZywgIzMyMTkwMykuCgoyMDA1LTExLTIxIDE2OjM2OjA1ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICAqLio6IFJhbiBzY3JpcHRzL3VwZGF0ZS1tYWNyb3MuIE9oIHllcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMjEgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogKi5oOgoJICAqICouYzogUmFuIHNjcmlwdHMvdXBkYXRlLW1hY3Jvcy4gT2ggeWVzLgoKMjAwNS0xMS0yMSAxNTowNjozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBGaWxsZXIgZXZlbnRzIGFyZSBnb25lIGZvciBub3csIGNvbW1lbnQgb3V0IHNlY3Rpb24gZ2VuZXJhdGluZyB0aGVtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9zeW5jX3N0cmVhbXMpOgoJICBGaWxsZXIgZXZlbnRzIGFyZSBnb25lIGZvciBub3csIGNvbW1lbnQgb3V0IHNlY3Rpb24gZ2VuZXJhdGluZwoJICB0aGVtLgoKMjAwNS0xMS0yMSAxNDozOTowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFVwZGF0ZSBmb3IgR1NUX0ZPVVJDQ19GT1JNQVQgQVBJIGNoYW5nZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICAoZ3N0X2RmYnZpZGVvc2lua19nZXRfZm9ybWF0X2Zyb21fY2Fwcyk6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzogKGdzdF9zZGx2aWRlb3NpbmtfY3JlYXRlKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX2hlYWRlciksCgkgIChxdGRlbXV4X3BhcnNlKSwgKHF0ZGVtdXhfdHlwZV9nZXQpLCAocXRkZW11eF9ub2RlX2R1bXBfZm9yZWFjaCksCgkgIChxdGRlbXV4X2R1bXBfaGRsciksIChxdGRlbXV4X2R1bXBfZHJlZiksIChxdGRlbXV4X2R1bXBfc3RzZCksCgkgIChxdGRlbXV4X2R1bXBfZGNvbSksIChxdGRlbXV4X3BhcnNlX3RyYWspLCAocXRkZW11eF92aWRlb19jYXBzKSwKCSAgKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfdjRsMmZvdXJjY190b19jYXBzKToKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19maWxsX2Zvcm1hdF9saXN0KSwKCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfaW5pdCksIChnc3RfdjRsMnNyY19nZXRfc2l6ZV9saW1pdHMpOgoJICBVcGRhdGUgZm9yIEdTVF9GT1VSQ0NfRk9STUFUIEFQSSBjaGFuZ2UuCgoyMDA1LTExLTIxIDE0OjMzOjExICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJlbmFtZSBnc3RfY2Fwc19zdHJ1Y3R1cmVfZml4YXRlXyogdG8gZ3N0X3N0cnVjdHVyZV9maXhhdGVfKiAoIzMyMjAyNykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAqIGV4dC9wb2x5cC9wb2x5cHNpbmsuYzogKGdzdF9wb2x5cHNpbmtfc2lua19maXhhdGUpOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6IChnc3RfcmZic3JjX2ZpeGF0ZSk6CgkgICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IChnc3RfZ2xpbWFnZXNpbmtfZml4YXRlKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19maXhhdGUpOgoJICBSZW5hbWUgZ3N0X2NhcHNfc3RydWN0dXJlX2ZpeGF0ZV8qIHRvIGdzdF9zdHJ1Y3R1cmVfZml4YXRlXyoKCSAgKCMzMjIwMjcpCgoyMDA1LTExLTIxIDE0OjMxOjA1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJlbmFtZSBnc3RfY2Fwc19zdHJ1Y3R1cmVfZml4YXRlXyogdG8gZ3N0X3N0cnVjdHVyZV9maXhhdGVfKiAoIzMyMjAyNykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FhbGliL2dzdGFhc2luay5jOiAoZ3N0X2Fhc2lua19maXhhdGUpOgoJICAqIGV4dC9taWttb2QvZ3N0bWlrbW9kLmM6IChnc3RfbWlrbW9kX3NyY2ZpeGF0ZSk6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOiAoZ3N0X2dvb21fc3JjX25lZ290aWF0ZSk6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBSZW5hbWUgZ3N0X2NhcHNfc3RydWN0dXJlX2ZpeGF0ZV8qIHRvIGdzdF9zdHJ1Y3R1cmVfZml4YXRlXyoKCSAgKCMzMjIwMjcpCgoyMDA1LTExLTIxIDEzOjM4OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgRml4ZXMgZm9yIEdTVF9GT1VSQ0NfRk9STUFUIEFQSSBjaGFuZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzogKGdzdF9hYXNpbmtfc2V0Y2Fwcyk6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wYXJzZV9maWxlX2hlYWRlciksCgkgIChnc3RfYXZpX2RlbXV4X3JlYWRfc3ViaW5kZXhlcyksIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX29kbWwpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9zeW5jKSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlciksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9kYXRhKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF92aWRlb19jYXBzKToKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiAod3JpdGVfbWV0YWRhdGEpOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3BhcnNlX2FkdGwpLAoJICAoZ3N0X3dhdnBhcnNlX3BhcnNlX2ZpbGVfaGVhZGVyKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyk6CgkgIEZpeGVzIGZvciBHU1RfRk9VUkNDX0ZPUk1BVCBBUEkgY2hhbmdlLgoKMjAwNS0xMS0yMSAxMjoxMzo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEZpeCBmb3IgY29sbGVjdCBwYWRzIEFQSSBjaGFuZ2UuIEFsc28gZml4IHRleHRvdmVybGF5IHN0YXRlIGNoYW5nZSBmdW5jdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6IChnc3RfdGV4dF9vdmVybGF5X2ZpbmFsaXplKSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfaW5pdCksIChnc3RfdGV4dF9vdmVybGF5X3RleHRfcGFkX2xpbmtlZCksCgkgIChnc3RfdGV4dF9vdmVybGF5X3RleHRfcGFkX3VubGlua2VkKSwgKGdzdF90ZXh0X292ZXJsYXlfcG9wX3ZpZGVvKSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfcG9wX3RleHQpLCAoZ3N0X3RleHRfb3ZlcmxheV9jb2xsZWN0ZWQpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfaW5pdCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3Jlc2V0KSwgKGdzdF9tYXRyb3NrYV9tdXhfcmVxdWVzdF9uZXdfcGFkKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfYmVzdF9wYWQpLCAoZ3N0X21hdHJvc2thX211eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOiAoZ3N0X3NtcHRlX2luaXQpLCAoZ3N0X3NtcHRlX2NvbGxlY3RlZCk6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiAoZ3N0X3ZpZGVvbWl4ZXJfaW5pdCksCgkgIChnc3RfdmlkZW9taXhlcl9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X3ZpZGVvbWl4ZXJfZmlsbF9xdWV1ZXMpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfY2hhbmdlX3N0YXRlKToKCSAgRml4IGZvciBjb2xsZWN0IHBhZHMgQVBJIGNoYW5nZS4gQWxzbyBmaXggdGV4dG92ZXJsYXkgc3RhdGUKCSAgY2hhbmdlIGZ1bmN0aW9uLgoKMjAwNS0xMS0yMCAxNzowNDo1NSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IFJlcGxhY2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMjAgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X3N0YXJ0KTogUmVwbGFjZQoJICBHU1RfUEFEX0lTX1VTQUJMRSBieSBzb21ldGhpbmcgYXBwcm9hY2hpbmcgaXQuCgoyMDA1LTExLTIwIDE2OjQzOjMyICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogRml4IGZvcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0yMCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfc3RhcnQpOiBGaXggZm9yCgkgIEFQSSBjaGFuZ2VzLgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IChnc3Rfd2F2ZW5jX2NoYWluKTogRml4IGZvciBBUEkKCSAgY2hhbmdlcywKCSAgYnV0IGFsc28gZml4IHRoZSBjb2RlIHRoYXQgd2FzIG5vdCBjaGVja2luZyByZXR1cm4gdmFsdWVzIGZyb20KCSAgcGFkX3B1c2ggbmVpdGhlciB1c2luZyBwYWRfYWxsb2NfYnVmZmVyLgoKMjAwNS0xMS0xOCAxODoxOToyMSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6IEFkZGVkIGRlYnVnIGNhdGVnb3J5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6IChnc3RfcG5nZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3BuZ2VuY19jaGFpbik6CgkgIEFkZGVkIGRlYnVnIGNhdGVnb3J5CgkgIFJldHVybiBHU1RfRkxPV19VTkVYUEVDVEVEIHdoZW4gc2VuZGluZyBhbiBFT1MsIHNvIHRoZSB3aG9sZSBwaXBlbGluZQoJICBnb2VzIHRvIEVPUy4KCjIwMDUtMTEtMTcgMTg6MjM6MjMgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFlbmMuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzExcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZWMuaDoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhlbmMuaDoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5Lmg6CgkgIENyZWF0ZWQgU3BlZXggcGF5bG9hZGVyIGFuZCBkZXBheWxvYWRlcjsgT3B0aW1pemUgRzcxMSBwYXlsb2FkZXIgdG8gdXNlIGFkYXB0ZXIgYW5kIHNlbmQgcGFja2V0cyB1bnRpbCBNVFUgc2l6ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENyZWF0ZWQgU3BlZXggcGF5bG9hZGVyIGFuZCBkZXBheWxvYWRlcjsgT3B0aW1pemUgRzcxMSBwYXlsb2FkZXIgdG8gdXNlIGFkYXB0ZXIgYW5kIHNlbmQgcGFja2V0cyB1bnRpbCBNVFUgc2l6ZS4KCjIwMDUtMTEtMTYgMTk6MDg6NTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBjaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOiBGaXggbGVhayBpbiBjaGVjay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzogKHNldHVwX3NyY19wYWQpLCAoc2V0dXBfc2lua19wYWQpOgoJICBGaXggbGVhayBpbiBjaGVjay4KCjIwMDUtMTEtMTYgMTc6MDA6MzIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvZmx4L2dzdGZseGRlYy5jOiBGaXggc3RhdGUgY2hhbmdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx4L2dzdGZseGRlYy5jOiAoZ3N0X2ZseGRlY19jaGFuZ2Vfc3RhdGUpOgoJICBGaXggc3RhdGUgY2hhbmdlLgoKMjAwNS0xMS0xNiAxMTowMjoyNCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICBNb3ZlIGNvbW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAoZ3N0X3VkcHNyY19jcmVhdGUpOiBNb3ZlIGNvbW1lbnQuCgoyMDA1LTExLTE2IDEwOjQzOjQ0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy5jOiBDbGVhbiB1cCB3aXRoIHRoZSBib2lsZXJwbGF0ZSBtYWNyby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMTYgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogQ2xlYW4gdXAgd2l0aCB0aGUgYm9pbGVycGxhdGUgbWFjcm8uCgoyMDA1LTExLTE1IDE5OjQxOjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IFdoZW4gc2Vla2luZywgc2VlayB0byBjbG9zZXN0IGluZGV4IGVudHJ5IGF0IG9yIGJlZm9yZSB0aGUgcmVxdWVzdGVkIHNlZWsgcG9zaXRpb24sIG5vLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZXZpZXdlZCBieTogVGltLVBoaWxpcHAgTcO8bGxlciAgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thZGVtdXhfZG9faW5kZXhfc2Vlayk6CgkgIFdoZW4gc2Vla2luZywgc2VlayB0byBjbG9zZXN0IGluZGV4IGVudHJ5IGF0IG9yIGJlZm9yZSB0aGUgcmVxdWVzdGVkCgkgIHNlZWsgcG9zaXRpb24sIG5vdCBqdXN0IHRoZSBjbG9zZXN0IG9uZSAoIzMyMTAwMSkuCgoyMDA1LTExLTE1IDEyOjE2OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBJbnZlcnQgRElCIGltYWdlcyBhZ2FpbiAoc2VlICMxMzIzNDEpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChzd2FwX2xpbmUpLCAoZ3N0X2F2aV9kZW11eF9pbnZlcnQpLAoJICAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fZGF0YSk6CgkgIEludmVydCBESUIgaW1hZ2VzIGFnYWluIChzZWUgIzEzMjM0MSkuCgoyMDA1LTExLTE0IDAyOjEzOjM1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvLmM6CgkqIGV4dC9kdi9nc3Rkdi5jOgoJKiBleHQvZXNkL2dzdGVzZC5jOgoJKiBleHQvZmxhYy9nc3RmbGFjLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZmVsZW1lbnRzLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJKiBleHQvanBlZy9nc3RqcGVnLmM6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6CgkqIGV4dC9saWJtbmcvZ3N0bW5nLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nLmM6CgkqIGV4dC9taWttb2QvZ3N0bWlrbW9kLmM6CgkqIGV4dC9wYW5nby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvcGFuZ28vZ3N0dGltZW92ZXJsYXkuYzoKCSogZXh0L3JhdzEzOTQvZ3N0MTM5NC5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXguYzoKCSogZ3N0L2FscGhhL01ha2VmaWxlLmFtOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9kZXRlY3QuYzoKCSogZ3N0L2F2aS9nc3RhdmkuYzoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSogZ3N0L2RlYnVnL2VmZW5jZS5jOgoJKiBnc3QvZGVidWcvZ3N0ZGVidWcuYzoKCSogZ3N0L2RlYnVnL2dzdG5hdmlnYXRpb250ZXN0LmM6CgkqIGdzdC9lZmZlY3R2L2dzdGVmZmVjdHYuYzoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvbGF3L2FsYXcuYzoKCSogZ3N0L2xhdy9tdWxhdy5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLmM6CgkqIGdzdC9tZWRpYW4vZ3N0bWVkaWFuLmM6CgkqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0LmM6CgkqIGdzdC9vbGRjb3JlL2dzdGVsZW1lbnRzLmM6CgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3AuYzoKCSogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogZ3N0L3VkcC9nc3R1ZHAuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvdGVtcGxhdGUuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogc3lzL29zcy9nc3Rvc3NhdWRpby5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW8uYzoKCSAgcmV3b3JrIGNvbmZpZ3VyZS5hYzsgbWFrZSBhc3RlcmlzayBydHAgc3R1ZmYgY29tcGlsZSBvbiBtaW5ndwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV3b3JrIGNvbmZpZ3VyZS5hYzsgbWFrZSBhc3RlcmlzayBydHAgc3R1ZmYgY29tcGlsZSBvbiBtaW5ndwoKMjAwNS0xMS0xMiAxMzozMTo1NiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogT25seSBHU1RfREVCVUcoKSBpbmZvcm1hdGlvbiBvbiB0aGUgdmFsaWQgY29tcG9uZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiAoZ3N0X2pwZWdfZGVjX2NoYWluKToKCSAgT25seSBHU1RfREVCVUcoKSBpbmZvcm1hdGlvbiBvbiB0aGUgdmFsaWQgY29tcG9uZW50cy4KCjIwMDUtMTEtMTEgMTk6MzQ6NTAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkgIGJhY2sgdG8gaGVhZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYmFjayB0byBoZWFkCgo9PT0gcmVsZWFzZSAwLjkuNSA9PT0KCjIwMDUtMTEtMTEgMTk6MzM6MjMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkgIHJlbGVhc2luZyAwLjkuNQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVsZWFzaW5nIDAuOS41CgoyMDA1LTExLTExIDE4OjMzOjIxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwNS0xMS0xMSAxNjo0ODo1OCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguKjogWWVhaCwgaW1wbGVtZW50IHByb3BlciBzZWVraW5nLiBFeGFjdCBzZWVraW5nIGFuZCBzZWdtZW50IHNlZWtpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X2F2aV9kZW11eF9zcmNfY29udmVydCksIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfZXZlbnQpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyKSwgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NlZWspLAoJICAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fZGF0YSksCgkgIChnc3RfYXZpX2RlbXV4X2xvb3ApOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgWWVhaCwgaW1wbGVtZW50IHByb3BlciBzZWVraW5nLiBFeGFjdCBzZWVraW5nIGFuZCBzZWdtZW50IHNlZWtpbmcuCgkgIFN0aWxsIG5lZWQgdG8gZG8gc29tZSBjaGVja3MgZm9yIHNlZ21lbnRfc3RvcC4KCjIwMDUtMTEtMTEgMTU6MTc6NDQgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgZml4IENhaXJvIGVudHJ5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggQ2Fpcm8gZW50cnkKCjIwMDUtMTEtMTAgMTI6MzQ6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBzdXBwb3J0IGZvciBjdXN0b20gZ2VucmUgdGFncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJldmlld2VkIGJ5OiBUaW0tUGhpbGlwcCBNw7xsbGVyICA8dGltIGF0IGNlbnRyaWN1bGFyIGRvdCBuZXQ+CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV91ZHRhKToKCSAgQWRkIHN1cHBvcnQgZm9yIGN1c3RvbSBnZW5yZSB0YWdzLgoKMjAwNS0xMS0xMCAxMjoyMjozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogRG9uJ3QgdHJ5IHRvIHJlYWR5IGJ1ZmZlciBkdXJhdGlvbiBmcm9tIGJ1ZmZlciB0aGF0IHdlIGRvbid0IG93biBhbnkgIGxvbmdlciBhbmQgdGhhdCBtaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmV2aWV3ZWQgYnk6IFRpbS1QaGlsaXBwIE3DvGxsZXIgIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X3dyaXRlX2RhdGEpOgoJICBEb24ndCB0cnkgdG8gcmVhZHkgYnVmZmVyIGR1cmF0aW9uIGZyb20gYnVmZmVyIHRoYXQgd2UgZG9uJ3QKCSAgb3duIGFueSAgbG9uZ2VyIGFuZCB0aGF0IG1pZ2h0IGFscmVhZHkgaGF2ZSBiZWVuIHVucmVmZmVkLgoJICAoIzMyMTEzNikKCjIwMDUtMTEtMDkgMjE6MzU6MjkgKzAwMDAgIFplZXNoYW4gQWxpIDx6ZWVuaXhAZ21haWwuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJICBBdHRlbXB0aW5nIHRvIG9wdGltaXplIHRoZSBjb2RlIGZvciBlbWJlZGRlZCBzeXN0ZW1zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQXR0ZW1wdGluZyB0byBvcHRpbWl6ZSB0aGUgY29kZSBmb3IgZW1iZWRkZWQgc3lzdGVtcy4KCjIwMDUtMTEtMDggMDg6NTQ6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvb3NzL2dzdG9zc3NpbmsuYzogRG9uJ3QgcmUtdXNlIGFscmVhZHkgY2xvc2VkIGZpbGUgZGVzY3JpcHRvci4gKCMzMjA5MjApCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZXZpZXdlZCBieTogVGltLVBoaWxpcHAgTcO8bGxlciAgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoJICAqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOiAoZ3N0X29zc19zaW5rX2Nsb3NlKToKCSAgRG9uJ3QgcmUtdXNlIGFscmVhZHkgY2xvc2VkIGZpbGUgZGVzY3JpcHRvci4gKCMzMjA5MjApCgoyMDA1LTExLTA3IDE3OjM1OjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL29zcy9nc3Rvc3NzaW5rLio6IENhY2hlIHByb2JlZCBjYXBzOyBmaXggZGVidWcgb3V0cHV0IGZvciBTRVRfUEFSQU0gbWFjcm9zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzogKGdzdF9vc3Nfc2lua19kaXNwb3NlKSwKCSAgKGdzdF9vc3Nfc2lua19zZXRfcHJvcGVydHkpLCAoZ3N0X29zc19zaW5rX2dldGNhcHMpLAoJICAoZ3N0X29zc19zaW5rX3ByZXBhcmUpOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc2luay5oOgoJICBDYWNoZSBwcm9iZWQgY2FwczsgZml4IGRlYnVnIG91dHB1dCBmb3IgU0VUX1BBUkFNIG1hY3Jvcy4KCjIwMDUtMTEtMDcgMTU6MDk6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvY2Fpcm8vOiBQb3J0IGNhaXJvIHRleHRvdmVybGF5IHBsdWdpbiB0byAwLjkuIEFkZCAnc2hhZGVkLWJhY2tncm91bmQnIHByb3BlcnR5IGFuZCByZWRvIHBvc2l0aW9uLiBEb2Vzbid0IGhhbmRsZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NhaXJvL01ha2VmaWxlLmFtOgoJICAqIGV4dC9jYWlyby9nc3RjYWlyby5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOiAoZ3N0X3RleHRfb3ZlcmxheV9iYXNlX2luaXQpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV9jbGFzc19pbml0KSwgKGdzdF90ZXh0X292ZXJsYXlfZmluYWxpemUpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV9pbml0KSwgKGdzdF90ZXh0X292ZXJsYXlfZm9udF9pbml0KSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfc2V0X3Byb3BlcnR5KSwgKGdzdF90ZXh0X292ZXJsYXlfcmVuZGVyX3RleHQpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV9nZXRjYXBzKSwgKGdzdF90ZXh0X292ZXJsYXlfc2V0Y2FwcyksCgkgIChnc3RfdGV4dF9vdmVybGF5X3RleHRfcGFkX2xpbmtlZCksCgkgIChnc3RfdGV4dF9vdmVybGF5X3RleHRfcGFkX3VubGlua2VkKSwgKGdzdF90ZXh0X292ZXJsYXlfc2hhZGVfeSksCgkgIChnc3RfdGV4dF9vdmVybGF5X2JsaXRfMSksIChnc3RfdGV4dF9vdmVybGF5X2JsaXRfc3ViMngyKSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfcHVzaF9mcmFtZSksIChnc3RfdGV4dF9vdmVybGF5X3BvcF92aWRlbyksCgkgIChnc3RfdGV4dF9vdmVybGF5X3BvcF90ZXh0KSwgKGdzdF90ZXh0X292ZXJsYXlfY29sbGVjdGVkKSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuaDoKCSAgUG9ydCBjYWlybyB0ZXh0b3ZlcmxheSBwbHVnaW4gdG8gMC45LiBBZGQgJ3NoYWRlZC1iYWNrZ3JvdW5kJwoJICBwcm9wZXJ0eSBhbmQgcmVkbyBwb3NpdGlvbi4gRG9lc24ndCBoYW5kbGUgdXBzdHJlYW0gcmVuZWdvdGlhdGlvbgoJICB5ZXQgdGhvdWdoLgoKMjAwNS0xMS0wNyAxMDozMTozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogTm8gbmVlZCB0byB0YWtlIHRoZSBTVFJFQU1fTE9DSyBpbiB0aGUgbG9vcCBmdW5jdGlvbi4gSW1wcm92ZSBzb21lIGRlYnVnIG1lc3NhZ2VzLiBEb24ndCBsZWFrIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksCgkgIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9kYXRhKSwKCSAgKGdzdF9hdmlfZGVtdXhfbG9vcCk6CgkgIE5vIG5lZWQgdG8gdGFrZSB0aGUgU1RSRUFNX0xPQ0sgaW4gdGhlIGxvb3AgZnVuY3Rpb24uIEltcHJvdmUKCSAgc29tZSBkZWJ1ZyBtZXNzYWdlcy4gRG9uJ3QgbGVhayBwYWQgbmFtZXMgaW4gZGVidWcgbWVzc2FnZXMuCgoyMDA1LTExLTA3IDEwOjI3OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IERvbid0IGVycm9yIG91dCB3aGVuIHRoZSBzb3VyY2UgcGFkIGlzbid0IGxpbmtlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcHVzaF92b3JiaXNfY29kZWNfcHJpdl9kYXRhKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfd3Zwa19oZWFkZXIpOgoJICBEb24ndCBlcnJvciBvdXQgd2hlbiB0aGUgc291cmNlIHBhZCBpc24ndCBsaW5rZWQuCgoyMDA1LTExLTAyIDE5OjQyOjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2djb25mLzogRml4IHN0YXRlIGNoYW5nZSBmdW5jdGlvbnMgaGVyZSBhcyB3ZWxsIGFuZCBzZXQga2lkIHRvIE5VTEwgc3RhdGUgYmVmb3JlIHJlbW92aW5nIGl0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYzogKGRvX3RvZ2dsZV9lbGVtZW50KSwKCSAgKGdzdF9nY29uZl9hdWRpb19zaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmM6IChkb190b2dnbGVfZWxlbWVudCksCgkgIChnc3RfZ2NvbmZfdmlkZW9fc2lua19jaGFuZ2Vfc3RhdGUpOgoJICBGaXggc3RhdGUgY2hhbmdlIGZ1bmN0aW9ucyBoZXJlIGFzIHdlbGwgYW5kIHNldCBraWQKCSAgdG8gTlVMTCBzdGF0ZSBiZWZvcmUgcmVtb3ZpbmcgaXQuCgoyMDA1LTExLTAyIDE2OjQ4OjU1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6CgkqIGNvbW1vbjoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzoKCSAgc2lnaCwgc3RhdGljIHBhZCB0ZW1wbGF0ZXMgYXJlbid0IHJlZmNvdW50ZWQgcHJvcGVybHkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHNpZ2gsIHN0YXRpYyBwYWQgdGVtcGxhdGVzIGFyZW4ndCByZWZjb3VudGVkIHByb3Blcmx5CgoyMDA1LTExLTAxIDE2OjE0OjI1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIGdzdC9sZXZlbC8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICBpZ25vcmUgbW9yZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgaWdub3JlIG1vcmUKCjIwMDUtMTEtMDEgMTU6MTU6NDQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiBBZGRlZCBwcm9wZXIgZXZlbnQgaGFuZGxpbmQsIG1hZGUgZG93bnN0cmVhbSBuZXdzZWdtZW50IGV2ZW50IHVzZSBHU1RfRk9STUFUX0JZVEVTIChvdGhlcndpc2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogKGdzdF93YXZlbmNfc3RvcF9maWxlKSwKCSAgKGdzdF93YXZlbmNfaW5pdCksIChnc3Rfd2F2ZW5jX2V2ZW50KSwgKGdzdF93YXZlbmNfY2hhaW4pOgoJICBBZGRlZCBwcm9wZXIgZXZlbnQgaGFuZGxpbmQsCgkgIG1hZGUgZG93bnN0cmVhbSBuZXdzZWdtZW50IGV2ZW50IHVzZSBHU1RfRk9STUFUX0JZVEVTIChvdGhlcndpc2UgaXQncwoJICBpZ25vcmVkKSwKCSAgYW5kIGRvbid0IHNldCBhIGR1cmF0aW9uIG9mIDAgZm9yIGJ1ZmZlcnMgb3RoZXJ3aXNlIHRoZXkgYXJlIGRpc2NhcmRlZAoJICBieSBHc3RCYXNlU2luay4KCSAgR3N0V2F2RW5jIG5lZWRzIHNvbWUgc2VyaW91cyBsb3ZpbmcsIGFmdGVyIGdvaW5nIHRocm91Z2ggdGhlIGNvZGUgSSdtCgkgIHJlYWxseSB3b25kZXJpbmcgaG93IHRoaXMgY2FuIHN0YXkgaW4gLWdvb2QgLi4uCgoyMDA1LTExLTAxIDE1OjExOjE2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIEZpeCBsZWFrcyBhbmQgaW52YWxpZCBtZW1vcnkgYWNjZXNzIGFzIHJlcG9ydGVkIGJ5IHZhbGdyaW5kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6IChzZXR1cF9zcmNfcGFkKSwgKHNldHVwX3NpbmtfcGFkKSwKCSAgKHNldHVwX21hdHJvc2thbXV4KSwgKGNoZWNrX2J1ZmZlcl9kYXRhKSwgKEdTVF9TVEFSVF9URVNUKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X2ZpbmFsaXplKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfcmVzZXQpLCAoZ3N0X21hdHJvc2thX211eF9hdWRpb19wYWRfc2V0Y2FwcyksCgkgIChnc3RfbWF0cm9za2FfbXV4X3N0YXJ0KSwgKGdzdF9tYXRyb3NrYV9tdXhfd3JpdGVfZGF0YSksCgkgIChnc3RfbWF0cm9za2FfbXV4X2NvbGxlY3RlZCk6CgkgIEZpeCBsZWFrcyBhbmQgaW52YWxpZCBtZW1vcnkgYWNjZXNzIGFzIHJlcG9ydGVkIGJ5IHZhbGdyaW5kCgoyMDA1LTExLTAxIDE0OjQxOjAxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6CgkgIC4uLiBhbmQgYWRkIHRoZSBtaXNzaW5nIGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIC4uLiBhbmQgYWRkIHRoZSBtaXNzaW5nIGZpbGUKCjIwMDUtMTEtMDEgMTQ6MzY6MDIgKzAwMDAgIE1pY2hhbCBCZW5lcyA8bWljaGFsLmJlbmVzQHhlcmlzLmN6PgoKCSAgYWRkIGEgdW5pdCB0ZXN0IGZvciBtYXRyb3NrYW11eCBmaXggdGhlIGJ1Z3MgdGhhdCB0aGUgdW5pdCB0ZXN0IGV4cG9zZWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNaWNoYWwgQmVuZXMgPG1pY2hhbC5iZW5lc0B4ZXJpcy5jej4KCSAgKiBjaGVjay9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOiAoZ3N0X2VibWxfd3JpdGVfc2Vlayk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfYXVkaW9fcGFkX3NldGNhcHMpLCAoZ3N0X21hdHJvc2thX211eF9zdGFydCk6CgkgIGFkZCBhIHVuaXQgdGVzdCBmb3IgbWF0cm9za2FtdXgKCSAgZml4IHRoZSBidWdzIHRoYXQgdGhlIHVuaXQgdGVzdCBleHBvc2VkCgoyMDA1LTExLTAxIDE0OjM0OjIyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgIGZpeCBNYWtlZmlsZS5hbQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IE1ha2VmaWxlLmFtCgoyMDA1LTExLTAxIDEyOjM5OjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F1dG9kZXRlY3QvOiBGaXggc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIGFuZCB1c2UgR1NUX0RFQlVHX0ZVTkNQVFIgaW4gY2xhc3NfaW5pdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkgIChnc3RfYXV0b192aWRlb19zaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19jaGFuZ2Vfc3RhdGUpOgoJICBGaXggc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIGFuZCB1c2UgR1NUX0RFQlVHX0ZVTkNQVFIgaW4KCSAgY2xhc3NfaW5pdC4KCjIwMDUtMTEtMDEgMTI6MzU6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvOiBTZXQgdGltZXN0YW1wcyBvbiBvdXRnb2luZyBlYm1sIGhlYWRlcnMgYXMgd2VsbCwgc28gdGhhdCB0aGUgZWxlbWVudCBhZnRlciBtYXRyb3NrYW11eCBjYW4gZ2V0IHRoZSB0aW0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJldmlld2VkIGJ5OiBUaW0tUGhpbGlwcCBNw7xsbGVyICA8dGltIGF0IGNlbnRyaWN1bGFyIGRvdCBuZXQ+CgkgICogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzogKGdzdF9lYm1sX3dyaXRlX25ldyksCgkgIChnc3RfZWJtbF93cml0ZV9yZXNldCksIChnc3RfZWJtbF93cml0ZV9lbGVtZW50X25ldyk6CgkgICogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X3dyaXRlX2RhdGEpOgoJICBTZXQgdGltZXN0YW1wcyBvbiBvdXRnb2luZyBlYm1sIGhlYWRlcnMgYXMgd2VsbCwgc28gdGhhdCB0aGUKCSAgZWxlbWVudCBhZnRlciBtYXRyb3NrYW11eCBjYW4gZ2V0IHRoZSB0aW1lc3RhbXAgYWxyZWFkeSB3aGVuCgkgIHJlYWRpbmcgdGhlIGZpcnN0IGVibWwgZWxlbWVudCBhbmQgZG9lc24ndCBoYXZlIHRvIHdhaXQgZm9yCgkgIHRoZSBhY3R1YWwgZGF0YSBidWZmZXIgZm9yIHRoYXQgKCMzMjAzMDgpLgoKMjAwNS0xMC0zMSAyMjowODo1MiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYyAoZ3N0X3ZpZGVvbWl4ZXJfcGFkX3VubGluaykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMzEgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jIChnc3RfdmlkZW9taXhlcl9wYWRfdW5saW5rKQoJICAoZ3N0X3ZpZGVvbWl4ZXJfcGFkX2xpbmspOiBLaWxsIHNvbWUgbWVtbGVha3MuCgkgIChnc3RfdmlkZW9taXhlcl9wYWRfZ2V0X3Byb3BlcnR5KTogU3R5bGUgZml4LgoJICAoZ3N0X3ZpZGVvbWl4ZXJfcGFkX3NldF9wcm9wZXJ0eSk6IFN0eWxlIGZpeC4KCSAgKGdzdF92aWRlb21peGVyX3BhZF9pbml0KTogU3R5bGUgZml4LgoJICAoZ3N0X3ZpZGVvbWl4ZXJfdXBkYXRlX3F1ZXVlcyk6IEtpbGwgbWVtbGVhay4KCSAgKGdzdF92aWRlb21peGVyX2xvb3ApOiBLaWxsIG1lbWxlYWsuCgkgIChnc3RfdmlkZW9taXhlcl9jb2xsZWN0ZWQpOiBLaWxsIG1lbWxlYWsuCgoyMDA1LTEwLTMxIDE5OjA4OjI3ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSAgSnVzdCBzb21lIGNsZWFudXAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBKdXN0IHNvbWUgY2xlYW51cC4KCjIwMDUtMTAtMzEgMTQ6NDE6MzEgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIEFkZCBjaGVja3MgdG8gR1NUX0ZMT1dfTk9UX0xJTktFRCBmb3IgdmFsdWVzIHJldHVybmVkIGZyb20gZ3N0X3BhZF9wdXNoLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkIGNoZWNrcyB0byBHU1RfRkxPV19OT1RfTElOS0VEIGZvciB2YWx1ZXMgcmV0dXJuZWQgZnJvbSBnc3RfcGFkX3B1c2guCgoyMDA1LTEwLTMxIDEyOjAwOjEwICswMDAwICBaZWVzaGFuIEFsaSA8emVlbml4QGdtYWlsLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3J0cC9nc3RydHBnNzExZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWRlcGF5LmM6CgkgIFBheWxvYWRlciBub3cgc2V0cyBzb21lIGRlZmF1bHQgY2FwcyBvbiB0aGUgc3JjcGFkIGlmIGNhcHMgb24gdGhlIHNpbmtwYWQgYXJlIG5ldmVyIHNldC4gVGhpcyBpcyBpbXBvcnRhbnQgZm9yIHRoZSBnNy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF5bG9hZGVyIG5vdyBzZXRzIHNvbWUgZGVmYXVsdCBjYXBzIG9uIHRoZSBzcmNwYWQgaWYgY2FwcyBvbiB0aGUgc2lua3BhZCBhcmUgbmV2ZXIgc2V0LiBUaGlzIGlzIGltcG9ydGFudCBmb3IgdGhlIGc3MTEgdG8gd29yayB3aXRoIGJ1cmdlcidzIHJ0cGJpbiBlbGVtZW50LgoKMjAwNS0xMC0yOCAxOToxOTo0MCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBBZGQgY2hlY2tzIGZvciByZXR1cm4gdmFsdWVzIGZyb20gZ3N0X3BhZF9wdXNoIGFuZCBnc3RfcGFkX2FsbG9jX2J1ZmZlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZCBjaGVja3MgZm9yIHJldHVybiB2YWx1ZXMgZnJvbSBnc3RfcGFkX3B1c2ggYW5kIGdzdF9wYWRfYWxsb2NfYnVmZmVyLgoKMjAwNS0xMC0yOCAxNTozMjo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS86IEFkZCBTaW1wbGVCbG9jayBzdXBwb3J0IHRvIG1hdHJvc2thIGRlbXV4ZXIgYW5kIG11eGVyIChwYXJ0IG9mCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZXZpZXdlZCBieTogVGltLVBoaWxpcHAgTcO8bGxlciAgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X2luaXRfc3RyZWFtKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmZvKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jbHVzdGVyKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9jbGFzc19pbml0KSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfaW5pdCksIChnc3RfbWF0cm9za2FfbXV4X3N0YXJ0KSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfY3JlYXRlX2J1ZmZlcl9oZWFkZXIpLAoJICAoZ3N0X21hdHJvc2thX211eF93cml0ZV9kYXRhKSwgKGdzdF9tYXRyb3NrYV9tdXhfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIEFkZCBTaW1wbGVCbG9jayBzdXBwb3J0IHRvIG1hdHJvc2thIGRlbXV4ZXIgYW5kIG11eGVyIChwYXJ0IG9mCgkgIE1hdHJvc2thIHYyKS4gKCMzMTk3MzEpCgoyMDA1LTEwLTI4IDEzOjI0OjQwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2pwZWcvZ3N0anBlZ2RlYy4qOiBDbGVhbnVwcy4gRG9uJ3QgY3JlYXRlIGNhcHMgZm9yIGV2ZXJ5IGNoYWluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6IChnc3RfanBlZ19kZWNfaW5pdCksIChnc3RfanBlZ19kZWNfY2hhaW4pLAoJICAoZ3N0X2pwZWdfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJICBDbGVhbnVwcy4gRG9uJ3QgY3JlYXRlIGNhcHMgZm9yIGV2ZXJ5IGNoYWluLgoKMjAwNS0xMC0yNyAxODo0NjozMiArMDAwMCAgRmxhdmlvIE9saXZlaXJhIDxmbGF2aW8ub2xpdmVpcmFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5oOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5oOgoJICBGaXggdG8gc2V0IHRpbWVzdGFtcCBvbiBidWZmZXIsIGl0IHdhcyB0ZXN0ZWQgd2l0aCBSVFAgRzcxMSBlbGVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCB0byBzZXQgdGltZXN0YW1wIG9uIGJ1ZmZlciwgaXQgd2FzIHRlc3RlZCB3aXRoIFJUUCBHNzExIGVsZW1lbnRzLgoKMjAwNS0xMC0yNyAxMToyNzo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDogUmVtb3ZlIGdvdF9yZWRpcmVjdCBmcm9tIGNsYXNzIHN0cnVjdHVyZSBhcyB3ZWxsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIFJlbW92ZSBnb3RfcmVkaXJlY3QgZnJvbSBjbGFzcyBzdHJ1Y3R1cmUgYXMgd2VsbC4KCjIwMDUtMTAtMjcgMTE6MjU6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFJlbW92ZSAnZ290LXJlZGlyZWN0JyBzaWduYWwgYW5kIHBvc3QgZWxlbWVudCBtZXNzYWdlIG9uIHRoZSBidXMgaW5zdGVhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfY2xhc3NfaW5pdCksCgkgIChxdGRlbXV4X3BhcnNlX3RyZWUpOgoJICBSZW1vdmUgJ2dvdC1yZWRpcmVjdCcgc2lnbmFsIGFuZCBwb3N0IGVsZW1lbnQgbWVzc2FnZQoJICBvbiB0aGUgYnVzIGluc3RlYWQuCgoyMDA1LTEwLTI3IDExOjAwOjQwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL29zcy9nc3Rvc3NzcmMuYzogU2V0IGNvcnJlY3QgZm9ybWF0IG9uIG9zcyBpbnN0ZWFkIG9mIGEgc2lsbHkgdmFsdWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6IChnc3Rfb3NzX3NyY19wcmVwYXJlKToKCSAgU2V0IGNvcnJlY3QgZm9ybWF0IG9uIG9zcyBpbnN0ZWFkIG9mIGEgc2lsbHkgdmFsdWUuCgoyMDA1LTEwLTI3IDA5OjUyOjA4ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiBVc2UgbGlib2lsIGZvcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0yNyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiAoZ3N0X3ZpZGVvX2JveF9jbGFzc19pbml0KSwKCSAgKGdzdF92aWRlb19ib3hfdHJhbnNmb3JtX2NhcHMpLCAoZ3N0X3ZpZGVvX2JveF9zZXRfY2FwcyksCgkgIChnc3RfdmlkZW9fYm94X2dldF91bml0X3NpemUpLCAoZ3N0X3ZpZGVvX2JveF9jb3B5X3BsYW5lX2k0MjApLAoJICAoZ3N0X3ZpZGVvX2JveF9pNDIwKSwgKGdzdF92aWRlb19ib3hfYXl1dik6IFVzZSBsaWJvaWwgZm9yCgkgIEk0MjAgcmVuZGVyaW5nIGFzIHdlbGwsIGRvZXNuJ3QgYnJpbmcgbXVjaCBmb3IgbXkgcGxhdGZvcm0uCgkgIE1pZ2h0IGhlbHAgb24gc29tZSBvdGhlciBwbGF0Zm9ybXMuCgoyMDA1LTEwLTI2IDIxOjQ3OjM2ICswMDAwICBaZWVzaGFuIEFsaSA8emVlbml4QGdtYWlsLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBhcnNlLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkgIERlY2xhcmluZyB0aGUgcGFkdGVtcGxhdGUgY29ycmVjdGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRGVjbGFyaW5nIHRoZSBwYWR0ZW1wbGF0ZSBjb3JyZWN0bHkuCgoyMDA1LTEwLTI2IDIwOjI4OjMyICswMDAwICBaZWVzaGFuIEFsaSA8emVlbml4QGdtYWlsLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3J0cC9nc3RydHBnNzExZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBhcnNlLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkgIFNldHRpbmcgdGhlIHByb3BlciBjb3B5cmlnaHQgbm90aWNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU2V0dGluZyB0aGUgcHJvcGVyIGNvcHlyaWdodCBub3RpY2UuCgoyMDA1LTEwLTI2IDE3OjIzOjA2ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC92aWRlb2JveC9NYWtlZmlsZS5hbTogVXNlIGxpYm9pbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMjYgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvdmlkZW9ib3gvTWFrZWZpbGUuYW06IFVzZSBsaWJvaWwuCgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IChnc3RfdmlkZW9fYm94X2NsYXNzX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2JveF9zZXRfcHJvcGVydHkpLCAoZ3N0X3ZpZGVvX2JveF90cmFuc2Zvcm1fY2FwcyksCgkgIChnc3RfdmlkZW9fYm94X3NldF9jYXBzKSwgKGdzdF92aWRlb19ib3hfZ2V0X3VuaXRfc2l6ZSksCgkgIChnc3RfdmlkZW9fYm94X2F5dXYpOiBMb3Qgb2Ygb3B0aW1pemF0aW9uIGluIEFZVVYgcmVuZGVyaW5nCgkgIHVzaW5nIGxpYm9pbC4gV2lsbCBkb3QgdGhlIHNhbWUgdG8gSTQyMCBib3JkZXIgZ2VuZXJhdGlvbgoJICB0b21vcnJvdy4KCjIwMDUtMTAtMjYgMTY6MzY6MDEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgZml4IGF1dG9tYWtlIHdhcm5pbmdzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggYXV0b21ha2Ugd2FybmluZ3MKCjIwMDUtMTAtMjYgMTQ6NTA6NTkgKzAwMDAgIFplZXNoYW4gQWxpIDx6ZWVuaXhAZ21haWwuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExZGVjLmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGFyc2UuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXJzZS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJICBIYWNrZWQgdGhlIEc3MTEgKGRlKXBheWxvYWRlciB0byB0cnkgdG8gbWFrZSB0aGluZ3MgcmlnaHQuIHJ0cGc3MTFkZWMgbm93IGluaGVyaXRzIGZyb20gdGhlIGJhc2VydHBkZXBheWxvYWRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEhhY2tlZCB0aGUgRzcxMSAoZGUpcGF5bG9hZGVyIHRvIHRyeSB0byBtYWtlIHRoaW5ncyByaWdodC4gcnRwZzcxMWRlYyBub3cgaW5oZXJpdHMgZnJvbSB0aGUgYmFzZXJ0cGRlcGF5bG9hZGVyLgoKMjAwNS0xMC0yNiAxNDoyMzo0NSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogUmVtb3ZpbmcgdGhpcyBmb3Jnb3R0ZW4gZGVidWcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTI2ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IChnc3RfdmlkZW9fYm94X2NsYXNzX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2JveF90cmFuc2Zvcm1fY2FwcyksIChnc3RfdmlkZW9fYm94X2dldF91bml0X3NpemUpLAoJICAoZ3N0X3ZpZGVvX2JveF9heXV2KTogUmVtb3ZpbmcgdGhpcyBmb3Jnb3R0ZW4gZGVidWcuCgoyMDA1LTEwLTI2IDE0OjA4OjQ5ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiBGaXggdGhlIHN0cmlkZSBpc3N1ZSB3aGVuIGJveGluZyB0byBBWVVWLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0yNiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiAoZ3N0X3ZpZGVvX2JveF9jbGFzc19pbml0KSwKCSAgKGdzdF92aWRlb19ib3hfdHJhbnNmb3JtX2NhcHMpLCAoZ3N0X3ZpZGVvX2JveF9nZXRfdW5pdF9zaXplKSwKCSAgKGdzdF92aWRlb19ib3hfYXl1dik6IEZpeCB0aGUgc3RyaWRlIGlzc3VlIHdoZW4gYm94aW5nIHRvIEFZVVYuCgoyMDA1LTEwLTI2IDExOjEyOjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL29zcy86IEFjdHVhbGx5IHVzZSB0aGUgJ29zcycgZGVidWcgY2F0ZWdvcnkgd2UgcmVnaXN0ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3MvZ3N0b3NzYXVkaW8uYzoKCSAgKiBzeXMvb3NzL2dzdG9zc2RtYWJ1ZmZlci5jOgoJICAqIHN5cy9vc3MvZ3N0b3NzaGVscGVyLmM6CgkgICogc3lzL29zcy9nc3Rvc3NtaXhlci5jOgoJICAqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJlbGVtZW50LmM6CgkgICogc3lzL29zcy9nc3Rvc3NtaXhlcnRyYWNrLmM6CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmM6CgkgICogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSAgQWN0dWFsbHkgdXNlIHRoZSAnb3NzJyBkZWJ1ZyBjYXRlZ29yeSB3ZSByZWdpc3Rlci4KCjIwMDUtMTAtMjYgMTA6Mzg6MTggKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiBVc2UgZ3N0X3BhZF9nZXRfcGFyZW50IGFuZCBkcm9wIHRoZSByZWYgdGhhdCB3YXMgYWRkZWQgdGhyb3VnaCB0aGF0IGNhbGwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTI2ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICAoZ3N0X3ZpZGVvbWl4ZXJfcGFkX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfdmlkZW9taXhlcl9wYWRfc2lua19zZXRjYXBzKSwgKGdzdF92aWRlb21peGVyX2dldGNhcHMpOgoJICBVc2UgZ3N0X3BhZF9nZXRfcGFyZW50IGFuZCBkcm9wIHRoZSByZWYgdGhhdCB3YXMgYWRkZWQgdGhyb3VnaAoJICB0aGF0IGNhbGwuCgoyMDA1LTEwLTI2IDEwOjAzOjAyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3J0cC9nc3RydHBnc21lbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSAgZml4IGNvbXBpbGF0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggY29tcGlsYXRpb24KCjIwMDUtMTAtMjUgMjE6MDk6MzYgKzAwMDAgIEZsYXZpbyBPbGl2ZWlyYSA8ZmxhdmlvLm9saXZlaXJhQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExZGVwYXkuYzoKCSAgSnVzdCByZW1vdmVkIGEgY291cGxlIG9mIGxpbmVzIG9mIHdlaXJkIGNvZGUgdXNlZCBkdXJpbmcgZGV2ZWxvcG1lbnQvdGVzdCB0aW1lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSnVzdCByZW1vdmVkIGEgY291cGxlIG9mIGxpbmVzIG9mIHdlaXJkIGNvZGUgdXNlZCBkdXJpbmcgZGV2ZWxvcG1lbnQvdGVzdCB0aW1lLgoKMjAwNS0xMC0yNSAxOToxOTozOCArMDAwMCAgRmxhdmlvIE9saXZlaXJhIDxmbGF2aW8ub2xpdmVpcmFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFkZWMuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzExZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzExZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWVuYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExcGF5Lmg6CgkgIEc3MTEgcGF5bG9hZGVyIGFuZCBkZXBheWxvYWRlciBjcmVhdGVkIGJ5IEVkZ2FyZCBMaW1hIChpdCBzdXBwb3J0cyBtdWxhdyBhbmQgYWxhdyAoZGVjKWVuY29kZXJzKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRzcxMSBwYXlsb2FkZXIgYW5kIGRlcGF5bG9hZGVyIGNyZWF0ZWQgYnkgRWRnYXJkIExpbWEgKGl0IHN1cHBvcnRzCgkgIG11bGF3IGFuZCBhbGF3IChkZWMpZW5jb2RlcnMpCgoyMDA1LTEwLTI1IDE3OjU1OjE5ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiBEb2ggISBJIGludHJvZHVjZWQgd2luZ28ncyBidWcgYWdhaW4gISBTb3JyeS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0yNSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiAoZ3N0X3ZpZGVvX2JveF9jbGFzc19pbml0KSwKCSAgKGdzdF92aWRlb19ib3hfdHJhbnNmb3JtX2NhcHMpLCAoZ3N0X3ZpZGVvX2JveF9nZXRfdW5pdF9zaXplKToKCSAgRG9oICEgSSBpbnRyb2R1Y2VkIHdpbmdvJ3MgYnVnIGFnYWluICEgU29ycnkuLi4KCjIwMDUtMTAtMjUgMTY6MDI6MzggKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgYWRkIG1pc3NpbmcgaGVhZGVyIGZpbGVzIGZvciBkaXN0aW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgbWlzc2luZyBoZWFkZXIgZmlsZXMgZm9yIGRpc3RpbmcKCjIwMDUtMTAtMjUgMTU6MDc6MDIgKzAwMDAgIFplZXNoYW4gQWxpIDx6ZWVuaXhAZ21haWwuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21lbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21lbmMuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXJzZS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBhcnNlLmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5Lmg6CgkgIEdldHRpbmcgdGhlIEdTTSAoZGUpcGF5bG9hZGVyIHdvcmtpbmcgYW5kIGNvbXBhdGlibGUgd2l0aCBvdXIgcGxhbnMgZm9yIFJUUC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEdldHRpbmcgdGhlIEdTTSAoZGUpcGF5bG9hZGVyIHdvcmtpbmcgYW5kIGNvbXBhdGlibGUgd2l0aCBvdXIgcGxhbnMgZm9yIFJUUC4KCjIwMDUtMTAtMjUgMTM6MDM6MDQgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkgIGZpeCBtaXN0YWtlbiBjbGFpbSBvbiBHUEwsIGl0cyBMR1BMCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggbWlzdGFrZW4gY2xhaW0gb24gR1BMLCBpdHMgTEdQTAoKMjAwNS0xMC0yNSAxMDo0NzowOSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiBQdXNoIGEgbmV3c2VnbWVudCBldmVudCwgbW92ZSBzb21lIHJlZHVuZGFudCBjb2RlIGluIGEgc2luZ2xlIHBsYWNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0yNSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6ICh1c2VyX2luZm9fY2FsbGJhY2spLAoJICAoZ3N0X3BuZ2RlY19jYXBzX2NyZWF0ZV9hbmRfc2V0KSwgKGdzdF9wbmdkZWNfdGFzayk6IFB1c2gKCSAgYSBuZXdzZWdtZW50IGV2ZW50LCBtb3ZlIHNvbWUgcmVkdW5kYW50IGNvZGUgaW4gYSBzaW5nbGUgcGxhY2UuCgoyMDA1LTEwLTI1IDEwOjIzOjI2ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IFRlbXBvcmFyeSBoYWNrIHRvIGdldCBjb3JyZWN0IGNvbG9ycyBvcmRlciB3aGVuIHdlIGhhdmUgYSBwbmcgaW1hZ2Ugd2l0aCBhbHBoYSBjaGFubmVsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0yNSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6ICh1c2VyX2luZm9fY2FsbGJhY2spLAoJICAoZ3N0X3BuZ2RlY19jYXBzX2NyZWF0ZV9hbmRfc2V0KSwgKGdzdF9wbmdkZWNfdGFzayk6IFRlbXBvcmFyeQoJICBoYWNrIHRvIGdldCBjb3JyZWN0IGNvbG9ycyBvcmRlciB3aGVuIHdlIGhhdmUgYSBwbmcgaW1hZ2Ugd2l0aAoJICBhbHBoYSBjaGFubmVsLgoKMjAwNS0xMC0yNCAxNzoyOTowMiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9kdi9nc3RkdmRlbXV4LmM6IENhbGwgZ3N0X2VsZW1lbnRfbm9fbW9yZV9wYWRzIHdoZW4gdGhlcmUgd2lsbCBiZSBubyBtb3JlIHBhZHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9hZGRfcGFkcyk6CgkgIENhbGwgZ3N0X2VsZW1lbnRfbm9fbW9yZV9wYWRzIHdoZW4gdGhlcmUgd2lsbCBiZSBubyBtb3JlIHBhZHMuCgoyMDA1LTEwLTI0IDE2OjM5OjM4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEFkZGVkIHR3byBuZXcgcGF5bG9hZGVycywgYW4gUkZDIDIxOTAgcGF5bG9hZGVyIGZvciBoMjYzIGFuZCBhIHBheWxvYWQgY29udmVydG9yIGZvciBhbiBhc3RlcmlzayBzZXJ2ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzogKGdzdF9hc3Rlcmlza2gyNjNfZ2V0X3R5cGUpLAoJICAoZ3N0X2FzdGVyaXNraDI2M19iYXNlX2luaXQpLCAoZ3N0X2FzdGVyaXNraDI2M19jbGFzc19pbml0KSwKCSAgKGdzdF9hc3Rlcmlza2gyNjNfaW5pdCksIChnc3RfYXN0ZXJpc2toMjYzX2ZpbmFsaXplKSwKCSAgKGdzdF9hc3Rlcmlza2gyNjNfY2hhaW4pLCAoZ3N0X2FzdGVyaXNraDI2M19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2FzdGVyaXNraDI2M19nZXRfcHJvcGVydHkpLCAoZ3N0X2FzdGVyaXNraDI2M19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X2FzdGVyaXNraDI2M19wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M2VuYy5jOiAoZ3N0X3J0cGgyNjNlbmNfZ2V0X3R5cGUpLAoJICAoZ3N0X3J0cGgyNjNlbmNfYmFzZV9pbml0KSwgKGdzdF9ydHBoMjYzZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cGgyNjNlbmNfaW5pdCksIChnc3RfcnRwaDI2M2VuY19maW5hbGl6ZSksCgkgIChnc3RfcnRwaDI2M2VuY19zZXRjYXBzKSwgKGdzdF9ydHBoMjYzZW5jX2dvYmZpbmVyKSwKCSAgKGdzdF9ydHBoMjYzZW5jX2ZsdXNoKSwgKGdzdF9ydHBoMjYzZW5jX2hhbmRsZV9idWZmZXIpLAoJICAoZ3N0X3J0cGgyNjNlbmNfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M2VuYy5oOgoJICBBZGRlZCB0d28gbmV3IHBheWxvYWRlcnMsIGFuIFJGQyAyMTkwIHBheWxvYWRlciBmb3IgaDI2MyBhbmQKCSAgYSBwYXlsb2FkIGNvbnZlcnRvciBmb3IgYW4gYXN0ZXJpc2sgc2VydmVyLgoKMjAwNS0xMC0yNCAxNTo1NzoxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6IFNldCBieXRlc19wZXJfc2FtcGxlIGNvcnJlY3RseSAoaXMgbm90IGFsd2F5cyA0LCBidXQgZGVwZW5kcyBvbiB3aWR0aCBhbmQgbnVtYmVyIG9mIGNoYW5uZWxzKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zcy9nc3Rvc3NzcmMuYzogKGdzdF9vc3Nfc3JjX3ByZXBhcmUpOgoJICBTZXQgYnl0ZXNfcGVyX3NhbXBsZSBjb3JyZWN0bHkgKGlzIG5vdCBhbHdheXMgNCwgYnV0CgkgIGRlcGVuZHMgb24gd2lkdGggYW5kIG51bWJlciBvZiBjaGFubmVscykuCgoyMDA1LTEwLTI0IDE1OjUwOjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2VuYy4qOiBGaXggc2Vla2luZywgc28gdGhhdCBmbGFjZW5jIGNhbiByZXdyaXRlIHRoZSBoZWFkZXIgd2l0aCB0aGUgY29ycmVjdCBkdXJhdGlvbiBhbmQgYW1vdW50IG9mIHNhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogKGdzdF9mbGFjZW5jX2Jhc2VfaW5pdCksCgkgIChnc3RfZmxhY2VuY19pbml0KSwgKGdzdF9mbGFjZW5jX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfZmxhY2VuY19zZWVrX2NhbGxiYWNrKSwgKGdzdF9mbGFjZW5jX3dyaXRlX2NhbGxiYWNrKSwKCSAgKGdzdF9mbGFjZW5jX3NpbmtfZXZlbnQpLCAoZ3N0X2ZsYWNlbmNfY2hhaW4pLAoJICAoZ3N0X2ZsYWNlbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9mbGFjZW5jX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZmxhY2VuY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuaDoKCSAgRml4IHNlZWtpbmcsIHNvIHRoYXQgZmxhY2VuYyBjYW4gcmV3cml0ZSB0aGUgaGVhZGVyIHdpdGggdGhlCgkgIGNvcnJlY3QgZHVyYXRpb24gYW5kIGFtb3VudCBvZiBzYW1wbGVzIGFuZCBhbGwgdGhhdCBhdCBFT1M7CgkgIGFsc28gc2V0IHRpbWVzdGFtcHMgYW5kIGdyYW51bGVwb3Mgb24gb3V0Z29pbmcgYnVmZmVyczsgYWRkCgkgIGRlYnVnIGNhdGVnb3J5OyBmaXggc3RhdGUgY2hhbmdlIGZ1bmN0aW9uLgoKMjAwNS0xMC0yNCAxMzo0NjowOSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IERvbid0IHJlc3RyaWN0IHZpZGVvIGdlb21ldHJ5IGZyb20gMTYgdG8gNDA5Ni4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMjQgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IERvbid0IHJlc3RyaWN0IHZpZGVvIGdlb21ldHJ5CgkgIGZyb20gMTYgdG8gNDA5Ni4KCjIwMDUtMTAtMjQgMTM6MjI6MTQgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IEZpeCBjYXBzIG5lZ290aWF0aW9uIGNvcnJlY3RseSwgYWRkIGRlYnVnZ2luZyBjYXRlZ29yeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMjQgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogKGdzdF92aWRlb19ib3hfY2xhc3NfaW5pdCksCgkgIChnc3RfdmlkZW9fYm94X3RyYW5zZm9ybV9jYXBzKSwgKGdzdF92aWRlb19ib3hfZ2V0X3VuaXRfc2l6ZSk6CgkgIEZpeCBjYXBzIG5lZ290aWF0aW9uIGNvcnJlY3RseSwgYWRkIGRlYnVnZ2luZyBjYXRlZ29yeS4KCjIwMDUtMTAtMjQgMTM6MDI6NDcgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJICBwb3J0IG92ZXIgcGx1Z2luIGxpc3RpbmcgZnJvbSBiYXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwb3J0IG92ZXIgcGx1Z2luIGxpc3RpbmcgZnJvbSBiYXNlCgoyMDA1LTEwLTI0IDA4OjU5OjI0ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IERvbid0IHVzZSBmaXhlZCBjYXBzIG9uIGEgc2luayBwYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTI0ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKGdzdF9wbmdkZWNfaW5pdCk6IERvbid0IHVzZSBmaXhlZAoJICBjYXBzIG9uCgkgIGEgc2luayBwYWQuCgoyMDA1LTEwLTIzIDIzOjA1OjU5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3VwbG9hZC5tYWs6CgkgIGJhY2sgdG8gSEVBRAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYmFjayB0byBIRUFECgo9PT0gcmVsZWFzZSAwLjkuNCA9PT0KCjIwMDUtMTAtMjMgMjI6NDM6MDggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICByZWxlYXNpbmcgMC45LjQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbGVhc2luZyAwLjkuNAoKMjAwNS0xMC0yMyAxMTowNzoxMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogcG8vUE9URklMRVMuaW46CgkgIFNUT1BQRUQtPkZBSUxFRAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU1RPUFBFRC0+RkFJTEVECgoyMDA1LTEwLTIxIDE3OjAwOjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IEFkZCBwb3NpdGlvbiBhbmQgZHVyYXRpb24gcXVlcnksIGZpeCBxdWVyeSB0eXBlIGZ1bmN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogKGdzdF9zcGVleGVuY19nZXRfcXVlcnlfdHlwZXMpLAoJICAoZ3N0X3NwZWV4ZW5jX3NyY19xdWVyeSk6CgkgIEFkZCBwb3NpdGlvbiBhbmQgZHVyYXRpb24gcXVlcnksIGZpeCBxdWVyeSB0eXBlIGZ1bmN0aW9uLgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF9zdHJlYW0pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3ZpZGVvX2NhcHMpLCAoZ3N0X21hdHJvc2thX2RlbXV4X2F1ZGlvX2NhcHMpOgoJICBMZXQncyBub3Qgc2V0IG5vbi1maXhlZCBjYXBzIG9uIHNvdXJjZSBwYWRzLgoKMjAwNS0xMC0yMSAxNjoxNTo1NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIFNldCBjb3JyZWN0IHN0cmVhbV90aW1lIGluIG5ld3NlZ21lbnQgZXZlbnQuIGF2aSBjYW4gYWxzbyBoYW5kbGUgYSBkdXJhdGlvbiBxdWVyeSBub3cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9kZW11eF9mcmFtZSk6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9nZXRfc3JjX3F1ZXJ5X3R5cGVzKSwKCSAgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NlZWspOgoJICBTZXQgY29ycmVjdCBzdHJlYW1fdGltZSBpbiBuZXdzZWdtZW50IGV2ZW50LgoJICBhdmkgY2FuIGFsc28gaGFuZGxlIGEgZHVyYXRpb24gcXVlcnkgbm93LgoKMjAwNS0xMC0yMSAxMDowNjo0MCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICB1cGRhdGUgZm9yIGxhdGVzdCBhZGRpdGlvbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBmb3IgbGF0ZXN0IGFkZGl0aW9ucwoKMjAwNS0xMC0yMCAxOToxNDoyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBGaXggZHVyYXRpb24gcXVlcnk7IGZpeCBiYXNldGltZSBpbiBuZXdzZWdtZW50IGV2ZW50IGFmdGVyIHNlZWs7IGZpeCBkdXJhdGlvbiBpbiBpbml0aS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc2Vla19ldmVudCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfbG9vcF9zdHJlYW1fcGFyc2VfaWQpOgoJICBGaXggZHVyYXRpb24gcXVlcnk7IGZpeCBiYXNldGltZSBpbiBuZXdzZWdtZW50IGV2ZW50IGFmdGVyCgkgIHNlZWs7IGZpeCBkdXJhdGlvbiBpbiBpbml0aWFsIG5ld3NlZ21lbnQgZXZlbnQuCgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICAoZ3N0X21hdHJvc2thX211eF9hdWRpb19wYWRfc2V0Y2FwcyksIChnc3RfbWF0cm9za2FfbXV4X3N0YXJ0KToKCSAgRXh0cmFjdCBudW1iZXIgb2YgY2hhbm5lbHMgYW5kIHNhbXBsZXJhdGUgZnJvbSB2b3JiaXMgaGVhZGVyczsKCSAgYWRkIHNvbWUgZGVidWcgbWVzc2FnZXMgd2hlbiBxdWVyeWluZyB0aGUgZHVyYXRpb25zIG9mIHRoZQoJICBpbnB1dCBzdHJlYW1zLgoKMjAwNS0xMC0yMCAxMTo1MDo1MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBTZXQgc3RyZWFtIHRpbWUgY29ycmVjdGx5IGluIG5ld3NlZ21lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2hhbmRsZV9zZWVrKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpLAoJICAoZ3N0X3dhdnBhcnNlX3BhZF9jb252ZXJ0KSwgKGdzdF93YXZwYXJzZV9zcmNwYWRfZXZlbnQpOgoJICBTZXQgc3RyZWFtIHRpbWUgY29ycmVjdGx5IGluIG5ld3NlZ21lbnQuCgoyMDA1LTEwLTIwIDExOjM5OjQwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBDb3JyZWN0bHkgZmlsbCBpbiB0aGUgc3RyZWFtIHRpbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NlZWspOgoJICBDb3JyZWN0bHkgZmlsbCBpbiB0aGUgc3RyZWFtIHRpbWUuCgoyMDA1LTEwLTE5IDIwOjQ4OjI0ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkqIGdzdC9sZXZlbC9sZXZlbC1leGFtcGxlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkgIHVzZSBFTEVNRU5UIG1lc3NhZ2VzIGluc3RlYWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVzZSBFTEVNRU5UIG1lc3NhZ2VzIGluc3RlYWQKCjIwMDUtMTAtMTkgMTU6NTg6MDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvOiBBUEkgY2hhbmdlIGZpeC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZ2V0X3NyY19xdWVyeV90eXBlcyksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KToKCSAgKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzogKHNwZWVkX2dldF9xdWVyeV90eXBlcyksIChzcGVlZF9zcmNfcXVlcnkpOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogKGdzdF90dGFfcGFyc2Vfc3JjX2V2ZW50KSwKCSAgKGdzdF90dGFfcGFyc2VfZ2V0X3F1ZXJ5X3R5cGVzKSwgKGdzdF90dGFfcGFyc2VfcXVlcnkpOgoJICBBUEkgY2hhbmdlIGZpeC4KCjIwMDUtMTAtMTkgMTU6NTc6MDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBBUEkgY2hhbmdlIGZpeC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2dldF9zcmNfcXVlcnlfdHlwZXMpLAoJICAoZ3N0X2R2ZGVtdXhfc3JjX3F1ZXJ5KToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY2RlY19sZW5ndGgpLAoJICAoZ3N0X2ZsYWNkZWNfc3JjX3F1ZXJ5KToKCSAgKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogKGdzdF9kdjEzOTRzcmNfcXVlcnkpOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiAoc3BlZXhfZGVjX3NyY19xdWVyeSk6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KToKCSAgKiBnc3QvZGVidWcvZ3N0bmF2c2Vlay5jOiAoZ3N0X25hdnNlZWtfc2Vlayk6CgkgICogZ3N0L2RlYnVnL3Byb2dyZXNzcmVwb3J0LmM6IChnc3RfcHJvZ3Jlc3NfcmVwb3J0X3JlcG9ydCk6CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiAoZ3N0X2VibWxfcmVhZF9nZXRfbGVuZ3RoKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X3N0YXJ0KToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9oYW5kbGVfc2VlayksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKSwKCSAgKGdzdF93YXZwYXJzZV9wYWRfY29udmVydCksIChnc3Rfd2F2cGFyc2VfcGFkX3F1ZXJ5KSwKCSAgKGdzdF93YXZwYXJzZV9zcmNwYWRfZXZlbnQpOgoJICBBUEkgY2hhbmdlIGZpeC4KCjIwMDUtMTAtMTkgMTA6NTc6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZ29vbS86IE1ha2UgaW5saW5lIGZ1bmN0aW9ucyBlaXRoZXIgJ3N0YXRpYyBpbmxpbmUnIG9yICdleHRlcm4gaW5saW5lJywgb3RoZXJ3aXNlIHRoZSBGb3J0ZSBjb21waWxlciBhcHBhcmVudGx5IHcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vZmlsdGVycy5jOgoJICAqIGdzdC9nb29tL2dyYXBoaWMuaDoKCSAgKiBnc3QvZ29vbS9saW5lcy5jOgoJICBNYWtlIGlubGluZSBmdW5jdGlvbnMgZWl0aGVyICdzdGF0aWMgaW5saW5lJyBvciAnZXh0ZXJuIGlubGluZScsCgkgIG90aGVyd2lzZSB0aGUgRm9ydGUgY29tcGlsZXIgYXBwYXJlbnRseSB3b24ndCBpbmxpbmUgdGhlbSAoIzMxNzMwMCkuCgoyMDA1LTEwLTE4IDIyOjUwOjExICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IGZvcmdvdCB0aGUgYnVmZmVyIHVucmVmIGluIHB1bGwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTE5ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogZm9yZ290IHRoZSBidWZmZXIgdW5yZWYgaW4gcHVsbC4KCjIwMDUtMTAtMTggMjI6NDQ6MTEgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdkZWMuKjogQ29tcGxldGUgcmV3cml0ZSBvZiBwbmdkZWMuIEl0J3Mgbm93IHZlcnkgbmljZSBhbmQgaGFuZGxlIHB1c2gvcHVsbCBiYXNlZCBtb2RlbC4gaWYgeW91IGhhdmUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTE5ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKGdzdF9wbmdkZWNfY2xhc3NfaW5pdCksCgkgIChnc3RfcG5nZGVjX2luaXQpLCAodXNlcl9lcnJvcl9mbiksICh1c2VyX3dhcm5pbmdfZm4pLAoJICAodXNlcl9pbmZvX2NhbGxiYWNrKSwgKHVzZXJfZW5kcm93X2NhbGxiYWNrKSwKCSAgKHVzZXJfZW5kX2NhbGxiYWNrKSwKCSAgKHVzZXJfcmVhZF9kYXRhKSwgKGdzdF9wbmdkZWNfY2Fwc19jcmVhdGVfYW5kX3NldCksCgkgIChnc3RfcG5nZGVjX3Rhc2spLCAoZ3N0X3BuZ2RlY19jaGFpbiksIChnc3RfcG5nZGVjX3NpbmtfZXZlbnQpLAoJICAoZ3N0X3BuZ2RlY19saWJwbmdfY2xlYXIpLCAoZ3N0X3BuZ2RlY19saWJwbmdfaW5pdCksCgkgIChnc3RfcG5nZGVjX2NoYW5nZV9zdGF0ZSksIChnc3RfcG5nZGVjX3NpbmtfYWN0aXZhdGVfcHVzaCksCgkgIChnc3RfcG5nZGVjX3NpbmtfYWN0aXZhdGVfcHVsbCksIChnc3RfcG5nZGVjX3NpbmtfYWN0aXZhdGUpOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmg6IENvbXBsZXRlIHJld3JpdGUgb2YgcG5nZGVjLiBJdCdzIG5vdwoJICB2ZXJ5IG5pY2UgYW5kIGhhbmRsZSBwdXNoL3B1bGwgYmFzZWQgbW9kZWwuIGlmIHlvdSBoYXZlIGZpbGVzcmMKCSAgY29ubmVjdGVkIHRvIGl0LCBpdCB3aWxsIGRvIHJhbmRvbSBhY2Nlc3MgdG8gbG9hZCB0aGUgcG5nIGZpbGUuCgkgIElmIHlvdSBoYXZlIGEgbmV0d29yayBzb3VyY2UgdGhhdCBjYW4ndCBkbyBfZ2V0cmFuZ2UsIGl0IGRvZXMKCSAgcHJvZ3Jlc3NpdmUgbG9hZGluZyB0aHJvdWdoIHRoZSBjaGFpbiBmdW5jdGlvbi4KCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOiAoZ3N0X2FscGhhX2NvbG9yX3RyYW5zZm9ybV9jYXBzKSwKCSAgKHRyYW5zZm9ybV9yZ2IpLCAodHJhbnNmb3JtX2Jncik6IEZpeCBjYXBzIG5lZ290aWF0aW9uIGNvcnJlY3RseQoJICB0aGFua3MgdG8gTWFzdGVyIFdpbSBUYXltYW5zIDstKQoKMjAwNS0xMC0xOCAxODoxMjozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS86IFBvcnRlZCBtYXRyb3NrYSBkZW11eGVyIHRvIDAuOS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLmM6IChwbHVnaW5faW5pdCk6CgkgIFBvcnRlZCBtYXRyb3NrYSBkZW11eGVyIHRvIDAuOS4KCjIwMDUtMTAtMTggMTg6MDY6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IEZpeCBtcGVnNCBpbnB1dCBoYW5kbGluZyAoIzMxODg0Nyk7IGFsc28sIHdoaWxlIHdlJ3JlIGF0IGl0LCBmaXggbWVkaWEgdHlwZSBmb3IgTW90aW9uLUouLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJldmlld2VkIGJ5OiBUaW0tUGhpbGlwcCBNw7xsbGVyICA8dGltIGF0IGNlbnRyaWN1bGFyIGRvdCBuZXQ+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICAoZ3N0X21hdHJvc2thX211eF92aWRlb19wYWRfc2V0Y2FwcyksCgkgIChnc3RfbWF0cm9za2FfbXV4X2F1ZGlvX3BhZF9zZXRjYXBzKToKCSAgRml4IG1wZWc0IGlucHV0IGhhbmRsaW5nICgjMzE4ODQ3KTsgYWxzbywgd2hpbGUgd2UncmUgYXQgaXQsCgkgIGZpeCBtZWRpYSB0eXBlIGZvciBNb3Rpb24tSlBFRzogc2hvdWxkIGJlIGltYWdlL2pwZWcuCgoyMDA1LTEwLTE4IDEzOjIxOjE4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IEZpeCBmb3Igc2VnbWVudC1zdGFydC9zdG9wIEFQSSBjaGFuZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2hhbmRsZV9zZWVrKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpLAoJICAoZ3N0X3dhdnBhcnNlX3BhZF9jb252ZXJ0KSwgKGdzdF93YXZwYXJzZV9zcmNwYWRfZXZlbnQpOgoJICBGaXggZm9yIHNlZ21lbnQtc3RhcnQvc3RvcCBBUEkgY2hhbmdlLgoKMjAwNS0xMC0xNyAxNzoxODo1NiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOiBIYW5kbGUgY2FwcyBuZWdvdGlhdGlvbiBpbiBhIGJldHRlciB3YXkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTE3ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzogKGdzdF9hbHBoYV9jb2xvcl90cmFuc2Zvcm1fY2FwcyksCgkgICh0cmFuc2Zvcm1fcmdiKSwgKHRyYW5zZm9ybV9iZ3IpOiBIYW5kbGUgY2FwcyBuZWdvdGlhdGlvbiBpbiBhCgkgIGJldHRlcgoJICB3YXkuCgoyMDA1LTEwLTE3IDE2OjU5OjIwICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiBGaXggY2FwcyBuZWdvIHNvbWUgbW9yZSB0byBnZXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMTcgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogKGdzdF92aWRlb19ib3hfdHJhbnNmb3JtX2NhcHMpLAoJICAoZ3N0X3ZpZGVvX2JveF9nZXRfdW5pdF9zaXplKTogRml4IGNhcHMgbmVnbyBzb21lIG1vcmUgdG8gZ2V0CgkgIEFZVVYKCSAgb3V0cHV0IGRlY2xhcmVkIGluIHRyYW5zZm9ybV9jYXBzLgoKMjAwNS0xMC0xNyAxNToyMzoyNCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiBXZSB1c2UgZml4ZWQgY2Fwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMTcgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAoZ3N0X3BuZ2RlY19pbml0KTogV2UgdXNlIGZpeGVkIGNhcHMuCgoyMDA1LTEwLTE3IDE1OjE0OjI5ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiBGaXggd3Jvbmcgc2l6ZSBjYWxjdWxhdGlvbnMgYW5kIGltcGxlbWVudCBnZXRfdW5pdF9zaXplIGNvcnJlY3RseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMTcgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogKGdzdF92aWRlb19ib3hfdHJhbnNmb3JtX2NhcHMpLAoJICAoZ3N0X3ZpZGVvX2JveF9nZXRfdW5pdF9zaXplKTogRml4IHdyb25nIHNpemUgY2FsY3VsYXRpb25zIGFuZAoJICBpbXBsZW1lbnQgZ2V0X3VuaXRfc2l6ZSBjb3JyZWN0bHkuCgoyMDA1LTEwLTE3IDE0OjU2OjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBFbmFibGUgZmx4IHBsdWdpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBFbmFibGUgZmx4IHBsdWdpbi4KCSAgKiBnc3QvZmx4L2dzdGZseGRlYy5jOiAoZmx4X2RlY29kZV9jaHVua3MpOgoJICBGaXggZ2NjNCBzaWduZWRuZXNzIGlzc3VlLgoKMjAwNS0xMC0xNyAwODo0NjozMCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEFkZGluZyB2aWRlb21peGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0xNyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGNvbmZpZ3VyZS5hYzogQWRkaW5nIHZpZGVvbWl4ZXIuCgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKGdzdF9wbmdkZWNfY2xhc3NfaW5pdCksCgkgICh1c2VyX3JlYWRfZGF0YSksIChnc3RfcG5nZGVjX2NoYWluKTogTW9yZSBkZWJ1Z2dpbmcuCgkgICogZ3N0L2FscGhhL01ha2VmaWxlLmFtOiBBZGRpbmcgYWxwaGFjb2xvcgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6IChnc3RfYWxwaGFfY29sb3JfYmFzZV9pbml0KSwKCSAgKGdzdF9hbHBoYV9jb2xvcl9jbGFzc19pbml0KSwgKGdzdF9hbHBoYV9jb2xvcl9pbml0KSwKCSAgKGdzdF9hbHBoYV9jb2xvcl90cmFuc2Zvcm1fY2FwcyksIChnc3RfYWxwaGFfY29sb3Jfc2V0X2NhcHMpLAoJICAodHJhbnNmb3JtX3JnYiksICh0cmFuc2Zvcm1fYmdyKSwKCSAgKGdzdF9hbHBoYV9jb2xvcl90cmFuc2Zvcm1faXApLAoJICAocGx1Z2luX2luaXQpOiBQb3J0ZWQgdG8gMC45IHVzaW5nIGluIHBsYWNlIGJhc2UgdHJhbmZvcm0uCgkgICogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiAoZ3N0X3ZpZGVvbWl4ZXJfcGFkX2dldF90eXBlKSwKCSAgKGdzdF92aWRlb21peGVyX3BhZF9jbGFzc19pbml0KSwKCSAgKGdzdF92aWRlb21peGVyX3BhZF9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfcGFkX2xpbmspLCAoZ3N0X3ZpZGVvbWl4ZXJfcGFkX3VubGluayksCgkgIChnc3RfdmlkZW9taXhlcl9wYWRfaW5pdCksIChnc3RfdmlkZW9taXhlcl9jbGFzc19pbml0KSwKCSAgKGdzdF92aWRlb21peGVyX2luaXQpLCAoZ3N0X3ZpZGVvbWl4ZXJfZ2V0Y2FwcyksCgkgIChnc3RfdmlkZW9taXhlcl9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X3ZpZGVvbWl4ZXJfZmlsbF9xdWV1ZXMpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfYmxlbmRfYnVmZmVycyksIChnc3RfdmlkZW9taXhlcl91cGRhdGVfcXVldWVzKSwKCSAgKGdzdF92aWRlb21peGVyX2NvbGxlY3RlZCksIChnc3RfdmlkZW9taXhlcl9jaGFuZ2Vfc3RhdGUpOgoJICBQb3J0ZWQKCSAgdG8gMC45IHVzaW5nIGNvbGxlY3RwYWRzLgoKMjAwNS0xMC0xNiAyMToxOTo0NCArMDAwMCAgWmVlc2hhbiBBbGkgPHplZW5peEBnbWFpbC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZmx4L01ha2VmaWxlLmFtOgoJKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJKiBnc3QvZmx4L2dzdGZseGRlYy5oOgoJICBmbHggcGx1Z2luIHBvcnRlZCB0byAwLjkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZseCBwbHVnaW4gcG9ydGVkIHRvIDAuOQoKMjAwNS0xMC0xNiAxNDozMzowNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkgIHVzZSBnc3RfdmVyc2lvbl9zdHJpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVzZSBnc3RfdmVyc2lvbl9zdHJpbmcKCjIwMDUtMTAtMTYgMTM6MTc6MTEgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogR0xJQl9DSEVDSy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMTYgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogY29uZmlndXJlLmFjOiBHTElCX0NIRUNLLgoKMjAwNS0xMC0xNSAxNjo0ODo1NSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvbGlicG5nLzogUG9ydGVkIHBuZ2RlYyB0byAwLjkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMTUgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvbGlicG5nL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKGdzdF9wbmdkZWNfY2xhc3NfaW5pdCksCgkgIChnc3RfcG5nZGVjX2luaXQpLCAodXNlcl9yZWFkX2RhdGEpLCAoZ3N0X3BuZ2RlY19jaGFpbik6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuaDogUG9ydGVkIHBuZ2RlYyB0byAwLjkKCjIwMDUtMTAtMTQgMTI6NDM6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBQb3J0IG1hdHJvc2thIG11eGVyIHRvIDAuOSAoIzMxODg0NykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZXZpZXdlZCBieTogVGltLVBoaWxpcHAgTcO8bGxlciAgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkgICogZ3N0L21hdHJvc2thL2VibWwtaWRzLmg6CgkgICogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS5jOiAocGx1Z2luX2luaXQpOgoJICBQb3J0IG1hdHJvc2thIG11eGVyIHRvIDAuOSAoIzMxODg0NykuCgoyMDA1LTEwLTEzIDE4OjU5OjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IEZpeCBoYW5kbGluZyBvZiBHU1RfVEFHX0RBVEUsIHdoaWNoIGlzIG5vdyBvZiBHU1RfVFlQRV9EQVRFOyB1c2UgR1NUX1JFQURfVUlOVDMyX0xFKCkgYW5kIGZyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiAoZ3N0X3NwZWV4ZW5jX2dldF90YWdfdmFsdWUpLAoJICAoY29tbWVudF9pbml0KSwgKGNvbW1lbnRfYWRkKToKCSAgRml4IGhhbmRsaW5nIG9mIEdTVF9UQUdfREFURSwgd2hpY2ggaXMgbm93IG9mIEdTVF9UWVBFX0RBVEU7CgkgIHVzZSBHU1RfUkVBRF9VSU5UMzJfTEUoKSBhbmQgZnJpZW5kcyByYXRoZXIgdGhhbiB0aGUgcHJpdmF0ZQoJICBpbXBsZW1lbnRhdGlvbiBvZiB0aG9zZSBzYW1lIG1hY3Jvcy4KCjIwMDUtMTAtMTMgMTY6MDE6MzUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2NhaXJvL01ha2VmaWxlLmFtOgoJICBmaXggZGlzdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGRpc3QKCjIwMDUtMTAtMTMgMTU6Mjg6MDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4YW1wbGVzL3N0YXRzL21wMm9nZy5jOiBtb3JlIHR5cG8gZml4ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvc3RhdHMvbXAyb2dnLmM6CgkgIG1vcmUgdHlwbyBmaXhlcwoKMjAwNS0xMC0xMiAxNDoyOTo1NSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgcmVuYW1lZCBHU1RfRkxBR1MgbWFjcm9zIHRvIEdTVF9PQkpFQ1RfRkxBR1MgbW92ZWQgYml0c2hpZnQgZnJvbSBtYWNybyB0byBlbnVtIGRlZmluaXRpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvaW5kZXhpbmcvaW5kZXhtcGVnLmM6IChtYWluKToKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6IChnc3RfYXJ0c2RzaW5rX29wZW5fYXVkaW8pLAoJICAoZ3N0X2FydHNkc2lua19jbG9zZV9hdWRpbyksIChnc3RfYXJ0c2RzaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2FydHNkL2dzdGFydHNkc2luay5oOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5jOiAoZ3N0X2FmcGFyc2Vfb3Blbl9maWxlKSwKCSAgKGdzdF9hZnBhcnNlX2Nsb3NlX2ZpbGUpOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5oOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6IChnc3RfYWZzaW5rX29wZW5fZmlsZSksCgkgIChnc3RfYWZzaW5rX2Nsb3NlX2ZpbGUpLCAoZ3N0X2Fmc2lua19jaGFpbiksCgkgIChnc3RfYWZzaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuaDoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6IChnc3RfYWZzcmNfb3Blbl9maWxlKSwKCSAgKGdzdF9hZnNyY19jbG9zZV9maWxlKSwgKGdzdF9hZnNyY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuaDoKCSAgKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6IChnc3RfY2RhdWRpb19pbml0KToKCSAgKiBleHQvZGlyZWN0ZmIvZGlyZWN0ZmJ2aWRlb3NpbmsuYzogKGdzdF9kaXJlY3RmYnZpZGVvc2lua19pbml0KToKCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5jOiAoZ3N0X2R0c2RlY19pbml0KToKCSAgKiBleHQvamFjay9nc3RqYWNrLmg6CgkgICogZXh0L2phY2svZ3N0amFja2Jpbi5jOiAoZ3N0X2phY2tfYmluX2luaXQpLAoJICAoZ3N0X2phY2tfYmluX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6IChnc3RfbXVzZXBhY2tkZWNfaW5pdCk6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOiAoZ3N0X211c2ljYnJhaW56X2luaXQpOgoJICAqIGV4dC9uYXMvbmFzc2luay5jOiAoZ3N0X25hc3Npbmtfb3Blbl9hdWRpbyksCgkgIChnc3RfbmFzc2lua19jbG9zZV9hdWRpbyksIChnc3RfbmFzc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9uYXMvbmFzc2luay5oOgoJICAqIGV4dC9wb2x5cC9wb2x5cHNpbmsuYzogKGdzdF9wb2x5cHNpbmtfaW5pdCk6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzogKGdzdF9zZGx2aWRlb3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5oOgoJICAqIGV4dC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzogKGdzdF9zbW9vdGh3YXZlX2luaXQpOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmM6IChnc3Rfc2Zfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zZl9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3NmX3JlbGVhc2VfcmVxdWVzdF9wYWQpLAoJICAoZ3N0X3NmX29wZW5fZmlsZSksIChnc3Rfc2ZfY2xvc2VfZmlsZSksIChnc3Rfc2ZfbG9vcCk6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuaDoKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiAoZ3N0X3N3ZmRlY19pbml0KToKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5jOiAoZ3N0X3RhcmtpbmRlY19pbml0KToKCSAgKiBnc3QvYXBldGFnL2FwZWRlbXV4LmM6IChnc3RfYXBlX2RlbXV4X2luaXQpOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6IChnc3RfY2R4YXBhcnNlX2luaXQpOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmM6IChnc3RfY2R4YXN0cmlwX2luaXQpOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOiAoZ3N0X2Zlc3RpdmFsX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmg6CgkgICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5jOiAoZ3N0X21wZWcyc3VidF9pbml0KToKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmM6IChnc3RfbXVsdGlmaWxlc2lua19pbml0KSwKCSAgKGdzdF9tdWx0aWZpbGVzaW5rX3NldF9sb2NhdGlvbiksIChnc3RfbXVsdGlmaWxlc2lua19vcGVuX2ZpbGUpLAoJICAoZ3N0X211bHRpZmlsZXNpbmtfY2xvc2VfZmlsZSksIChnc3RfbXVsdGlmaWxlc2lua19uZXh0X2ZpbGUpLAoJICAoZ3N0X211bHRpZmlsZXNpbmtfcGFkX3F1ZXJ5KSwgKGdzdF9tdWx0aWZpbGVzaW5rX2hhbmRsZV9ldmVudCksCgkgIChnc3RfbXVsdGlmaWxlc2lua19jaGFpbiksIChnc3RfbXVsdGlmaWxlc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5jOiAoZ3N0X3ZpZGVvZHJvcF9pbml0KToKCSAgKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuYzogKGNkcGxheWVyX2luaXQpOgoJICAqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuYzogKGR4cjNhdWRpb3NpbmtfaW5pdCksCgkgIChkeHIzYXVkaW9zaW5rX29wZW4pLCAoZHhyM2F1ZGlvc2lua19jbG9zZSksCgkgIChkeHIzYXVkaW9zaW5rX2NoYWluX3BjbSksIChkeHIzYXVkaW9zaW5rX2NoYWluX2FjMyksCgkgIChkeHIzYXVkaW9zaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5oOgoJICAqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmM6IChkeHIzc3B1c2lua19pbml0KSwgKGR4cjNzcHVzaW5rX29wZW4pLAoJICAoZHhyM3NwdXNpbmtfY2xvc2UpLCAoZHhyM3NwdXNpbmtfY2hhaW4pLAoJICAoZHhyM3NwdXNpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBzeXMvZHhyMy9keHIzc3B1c2luay5oOgoJICAqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuYzogKGR4cjN2aWRlb3NpbmtfaW5pdCksCgkgIChkeHIzdmlkZW9zaW5rX29wZW4pLCAoZHhyM3ZpZGVvc2lua19jbG9zZSksCgkgIChkeHIzdmlkZW9zaW5rX3dyaXRlX2RhdGEpLCAoZHhyM3ZpZGVvc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuaDoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IChnc3RfZ2xpbWFnZXNpbmtfaW5pdCk6CgkgICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOiAoZ3N0X3FjYW1zcmNfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9xY2Ftc3JjX29wZW4pLCAoZ3N0X3FjYW1zcmNfY2xvc2UpOgoJICAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19pbml0KToKCSAgKiBzeXMvdmNkL3ZjZHNyYy5jOiAoZ3N0X3ZjZHNyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3ZjZHNyY19nZXQpLAoJICAoZ3N0X3ZjZHNyY19vcGVuX2ZpbGUpLCAoZ3N0X3ZjZHNyY19jbG9zZV9maWxlKSwKCSAgKGdzdF92Y2RzcmNfY2hhbmdlX3N0YXRlKSwgKGdzdF92Y2RzcmNfcmVjYWxjdWxhdGUpOgoJICAqIHN5cy92Y2QvdmNkc3JjLmg6CgkgIHJlbmFtZWQgR1NUX0ZMQUdTIG1hY3JvcyB0byBHU1RfT0JKRUNUX0ZMQUdTCgkgIG1vdmVkIGJpdHNoaWZ0IGZyb20gbWFjcm8gdG8gZW51bSBkZWZpbml0aW9uCgoyMDA1LTEwLTEyIDE0OjI5OjQzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICByZW5hbWVkIEdTVF9GTEFHUyBtYWNyb3MgdG8gR1NUX09CSkVDVF9GTEFHUyBtb3ZlZCBiaXRzaGlmdCBmcm9tIG1hY3JvIHRvIGVudW0gZGVmaW5pdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9pbmRleGluZy9pbmRleG1wZWcuYzogKG1haW4pOgoJICAqIGV4dC9lc2QvZXNkbW9uLmM6IChnc3RfZXNkbW9uX29wZW5fYXVkaW8pLAoJICAoZ3N0X2VzZG1vbl9jbG9zZV9hdWRpbyksIChnc3RfZXNkbW9uX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2VzZC9lc2Rtb24uaDoKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzogKGdzdF9nZGtfcGl4YnVmX2luaXQpOgoJICAqIGV4dC9wYW5nby9nc3R0ZXh0b3ZlcmxheS5jOiAoZ3N0X3RleHRvdmVybGF5X2luaXQpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzogKGdzdF9hdXRvX2F1ZGlvX3NpbmtfaW5pdCk6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOiAoZ3N0X2F1dG9fdmlkZW9fc2lua19pbml0KToKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aW11eF9pbml0KToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9pbml0KToKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6IChnc3RfbXVsdGlwYXJ0X2RlbXV4X2luaXQpOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IChnc3RfbXVsdGlwYXJ0X211eF9pbml0KToKCSAgKiBnc3Qvb2xkY29yZS9nc3RtdWx0aWZpbGVzcmMuYzogKGdzdF9tdWx0aWZpbGVzcmNfaW5pdCksCgkgIChnc3RfbXVsdGlmaWxlc3JjX2dldCksIChnc3RfbXVsdGlmaWxlc3JjX29wZW5fZmlsZSksCgkgIChnc3RfbXVsdGlmaWxlc3JjX2Nsb3NlX2ZpbGUpLCAoZ3N0X211bHRpZmlsZXNyY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9vbGRjb3JlL2dzdG11bHRpZmlsZXNyYy5oOgoJICAqIGdzdC9vbGRjb3JlL2dzdHBpcGVmaWx0ZXIuYzogKGdzdF9waXBlZmlsdGVyX2luaXQpLAoJICAoZ3N0X3BpcGVmaWx0ZXJfb3Blbl9maWxlKSwgKGdzdF9waXBlZmlsdGVyX2Nsb3NlX2ZpbGUpLAoJICAoZ3N0X3BpcGVmaWx0ZXJfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3Qvb2xkY29yZS9nc3RwaXBlZmlsdGVyLmg6CgkgICogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOiAoZ3N0X3Ntb290aHdhdmVfaW5pdCk6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiAoZ3N0X3ZpZGVvbWl4ZXJfaW5pdCk6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOiAoZ3N0X29zeGF1ZGlvc2lua19pbml0KToKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmg6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmg6CgkgIHJlbmFtZWQgR1NUX0ZMQUdTIG1hY3JvcyB0byBHU1RfT0JKRUNUX0ZMQUdTCgkgIG1vdmVkIGJpdHNoaWZ0IGZyb20gbWFjcm8gdG8gZW51bSBkZWZpbml0aW9uCgoyMDA1LTEwLTEyIDAzOjE0OjU3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSAgZGlzdCBjYWlybwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZGlzdCBjYWlybwoKMjAwNS0xMC0xMiAwMzoxMjo1NyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBleHQvOiB1cGRhdGUgb2YgY2Fpcm8tYmFzZWQgdGltZW92ZXJsYXkgdG8gMS4wIENhaXJvIEFQSSBkb2Vzbid0IHdvcmsgeWV0IGZvciByZXNpemluZyBvZiBvdXRwdXQgc2luawoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2NhaXJvL01ha2VmaWxlLmFtOgoJICAqIGV4dC9jYWlyby9nc3RjYWlyby5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOiAoZ3N0X3RleHRvdmVybGF5X2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5LmM6IChnc3RfdGltZW92ZXJsYXlfdXBkYXRlX2ZvbnRfaGVpZ2h0KSwKCSAgKGdzdF90aW1lb3ZlcmxheV9zZXR1cCksIChnc3RfdGltZW92ZXJsYXlfcGxhbmFyNDExKToKCSAgKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuaDoKCSAgdXBkYXRlIG9mIGNhaXJvLWJhc2VkIHRpbWVvdmVybGF5IHRvIDEuMCBDYWlybyBBUEkKCSAgZG9lc24ndCB3b3JrIHlldCBmb3IgcmVzaXppbmcgb2Ygb3V0cHV0IHNpbmsKCjIwMDUtMTAtMTIgMDM6MDc6MjYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBkb24ndCBidWlsZCBjaGVja3MgaWYgd2UgZG9uJ3QgaGF2ZSBjaGVjawoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZG9uJ3QgYnVpbGQgY2hlY2tzIGlmIHdlIGRvbid0IGhhdmUgY2hlY2sKCjIwMDUtMTAtMTIgMDM6MDM6MjcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbW1vbjoKCSAgZG9uJ3QgYnVpbGQgY2hlY2tzIGlmIHdlIGRvbid0IGhhdmUgZ3N0Y2hlY2sKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRvbid0IGJ1aWxkIGNoZWNrcyBpZiB3ZSBkb24ndCBoYXZlIGdzdGNoZWNrCgoyMDA1LTEwLTExIDE3OjM4OjI5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IG5ld3NlZ21lbnQgQVBJIGZpeC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IChzcGVleF9kZWNfZXZlbnQpLCAoc3BlZXhfZGVjX2NoYWluKToKCSAgbmV3c2VnbWVudCBBUEkgZml4LgoKMjAwNS0xMC0xMSAxNjozNDozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC86IG5ld3NlZ21lbnQgQVBJIHVwZGF0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogKGdzdF90dGFfcGFyc2Vfc3JjX2V2ZW50KSwKCSAgKGdzdF90dGFfcGFyc2VfcGFyc2VfaGVhZGVyKToKCSAgbmV3c2VnbWVudCBBUEkgdXBkYXRlLgoKMjAwNS0xMC0xMSAxNjozMzowOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIG5ld3NlZ21lbnQgQVBJIHVwZGF0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2hhbmRsZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9kdmRlbXV4X2RlbXV4X2ZyYW1lKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY2RlY193cml0ZSk6CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOiAoZ3N0X2F1cGFyc2VfY2hhaW4pOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlciksCgkgIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zZWVrKToKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6IChnc3RfZ29vbV9ldmVudCk6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogKGdzdF93YXZlbmNfc3RvcF9maWxlKToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9oYW5kbGVfc2VlayksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKSwKCSAgKGdzdF93YXZwYXJzZV9sb29wKSwgKGdzdF93YXZwYXJzZV9wYWRfY29udmVydCksCgkgIChnc3Rfd2F2cGFyc2Vfc3JjcGFkX2V2ZW50KToKCSAgbmV3c2VnbWVudCBBUEkgdXBkYXRlLgoKMjAwNS0xMC0xMSAxMDowNzozNSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IFNpZ25lZG5lc3MgY2xlYW51cHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTExICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiBTaWduZWRuZXNzIGNsZWFudXBzLgoKMjAwNS0xMC0xMCAxOTo1Nzo0MCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBQT1JURURfMDk6CgkqIGV4dC9zcGVleC9NYWtlZmlsZS5hbToKCSogZXh0L3NwZWV4L2dzdHNwZWV4LmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBTcGVleGVuYyBwb3J0ZWQgdG8gMC45LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU3BlZXhlbmMgcG9ydGVkIHRvIDAuOS4KCjIwMDUtMTAtMTAgMTQ6MTY6MjEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBzeXMvb3NzLzogQ2xlYW51cHMsIG1ha2UgZGV2aWNlIGNvbmZpZ3VyYWJsZSBpbiB0aGUgc2luaywgaGFuZGxlIGFuZCByZXBvcnQgZXJyb3JzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzogKGdzdF9vc3Nfc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9vc3Nfc2lua19pbml0KSwgKGdzdF9vc3Nfc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X29zc19zaW5rX2dldF9wcm9wZXJ0eSksIChnc3Rfb3NzX3Npbmtfb3BlbiksCgkgIChnc3Rfb3NzX3NpbmtfcHJlcGFyZSksIChnc3Rfb3NzX3NpbmtfcmVzZXQpOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc2luay5oOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6IChnc3Rfb3NzX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9vc3Nfc3JjX3NldF9wcm9wZXJ0eSksIChnc3Rfb3NzX3NyY19pbml0KSwgKGdzdF9vc3Nfc3JjX29wZW4pLAoJICAoZ3N0X29zc19zcmNfcHJlcGFyZSk6CgkgIENsZWFudXBzLCBtYWtlIGRldmljZSBjb25maWd1cmFibGUgaW4gdGhlIHNpbmssIGhhbmRsZSBhbmQgcmVwb3J0CgkgIGVycm9ycy4KCjIwMDUtMTAtMTAgMTI6MzE6MDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZ2NvbmYvOiBNYWtlIHN1cmUgZWxlbWVudCBpcyBOVUxMIGJlZm9yZSByZW1vdmluZyBmcm9tIHRoZSBiaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOiAoZ3N0X2djb25mX2F1ZGlvX3NpbmtfcmVzZXQpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc2luay5jOiAoZ3N0X2djb25mX3ZpZGVvX3NpbmtfcmVzZXQpOgoJICBNYWtlIHN1cmUgZWxlbWVudCBpcyBOVUxMIGJlZm9yZSByZW1vdmluZyBmcm9tIHRoZSBiaW4uCgoyMDA1LTEwLTA3IDE2OjI4OjI0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJICBEb24ndCB1bnJlZiB0aGUgbWVzc2FnZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIChnc3RfZHYxMzk0c3JjX2J1c19yZXNldCk6IERvbid0IHVucmVmIHRoZSBtZXNzYWdlLgoKMjAwNS0xMC0wNyAxNjoyMjo1OSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSAgUG9zdCBhIG1lc3NhZ2Ugd2hlbiB0aGUgY2FibGUgaXMgdW5wbHVnZ2VkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKGdzdF9kdjEzOTRzcmNfYnVzX3Jlc2V0KTogUG9zdCBhIG1lc3NhZ2Ugd2hlbiB0aGUgY2FibGUgaXMKCSAgdW5wbHVnZ2VkLgoJICAoZ3N0X2R2MTM5NHNyY19jcmVhdGUsIGdzdF9kdjEzOTRzcmNfdW5sb2NrKTogUmVtb3ZlIHNvbWUgcHJpbnRzLgoKMjAwNS0xMC0wNyAxNToyNDoyNCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IE1ha2UgaW50ZXJydXB0aWJsZSwgc28gaXQgd29uJ3QgYmxvY2sgZm9yZXZlciBpbiBhIHJlYWQoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMDcgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IE1ha2UgaW50ZXJydXB0aWJsZSwgc28gaXQgd29uJ3QKCSAgYmxvY2sgZm9yZXZlciBpbiBhIHJlYWQoKS4KCjIwMDUtMTAtMDcgMTM6MTc6NTMgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiBDbGVhbiB1cCBmb3Igc3R5bGUgYmVmb3JlIGRvaW5nIHNvbWUgaGFja2luZy4gVGhlIG9ubHkgY2hhbmdlIHNob3VsZCBiZSB0aGF0IHRoZSBzdGF0ZSBjaC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0wNyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogQ2xlYW4gdXAgZm9yIHN0eWxlIGJlZm9yZSBkb2luZyBzb21lCgkgIGhhY2tpbmcuIFRoZSBvbmx5IGNoYW5nZSBzaG91bGQgYmUgdGhhdCB0aGUgc3RhdGUgY2hhbmdlIHN0dWZmIHdhcwoJICBwdXQgaW50byBiYXNlc3JjJ3Mgc3RhcnQoKSBhbmQgc3RvcCgpIHJvdXRpbmVzLCB3aGljaCBjb2FsZXNjZXMKCSAgc29tZSBzdGVwcy4KCjIwMDUtMTAtMDcgMTE6MzA6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEFkZCBjaGVjayBmb3IgbW1hcAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEFkZCBjaGVjayBmb3IgbW1hcAoJICAqIGdzdC9kZWJ1Zy9NYWtlZmlsZS5hbToKCSAgT25seSBjb21waWxlIGVmZW5jZSBwbHVnaW4gb24gc3lzdGVtcyB0aGF0IGhhdmUgbW1hcC4KCjIwMDUtMTAtMDUgMTY6MzY6NTcgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgYWRkIGxhdGVzdCBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGxhdGVzdCBmaWxlcwoKMjAwNS0xMC0wNSAxMTozODoyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9kZWJ1Zy86IFBvcnQgcHJvZ3Jlc3NyZXBvcnQsIG5hdnNlZWssIG5hdmlnYXRpb250ZXN0LCB0ZXN0c2luayBhbmQgYnJlYWtteWRhdGEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVidWcvYnJlYWtteWRhdGEuYzoKCSAgKiBnc3QvZGVidWcvZ3N0ZGVidWcuYzoKCSAgKiBnc3QvZGVidWcvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSAgKiBnc3QvZGVidWcvZ3N0bmF2c2Vlay5jOgoJICAqIGdzdC9kZWJ1Zy9nc3RuYXZzZWVrLmg6CgkgICogZ3N0L2RlYnVnL3Byb2dyZXNzcmVwb3J0LmM6CgkgICogZ3N0L2RlYnVnL3Rlc3RwbHVnaW4uYzoKCSAgUG9ydCBwcm9ncmVzc3JlcG9ydCwgbmF2c2VlaywgbmF2aWdhdGlvbnRlc3QsIHRlc3RzaW5rIGFuZAoJICBicmVha215ZGF0YS4KCjIwMDUtMTAtMDUgMTE6MTU6MjMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvZHYvZ3N0ZHZkZW11eC5jOiBGaXhlcyBmb3IgYmV0dGVyIGNvbnZlcnNpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X3NyY19jb252ZXJ0KSwKCSAgKGdzdF9kdmRlbXV4X3NyY19xdWVyeSk6CgkgIEZpeGVzIGZvciBiZXR0ZXIgY29udmVyc2lvbgoKMjAwNS0xMC0wNCAxNzo1ODo0MCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L2F1dG9kZXRlY3QvOiBTZXQgc3RhdGUgb2YgZWxlbWVudHMgdG8gTlVMTCBiZWZvcmUgcmVtb3ZpbmcgZnJvbSBiaW5zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6IChnc3RfYXV0b19hdWRpb19zaW5rX3Jlc2V0KSwKCSAgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfZmluZF9iZXN0KSwgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfZGV0ZWN0KToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6IChnc3RfYXV0b192aWRlb19zaW5rX3Jlc2V0KSwKCSAgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfZmluZF9iZXN0KSwgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfZGV0ZWN0KToKCSAgU2V0IHN0YXRlIG9mIGVsZW1lbnRzIHRvIE5VTEwgYmVmb3JlIHJlbW92aW5nIGZyb20gYmlucy4KCSAgU2V0IHN0YXRlIG9mIHRlc3QgZWxlbWVudCB0byBOVUxMIGlmIHdlIGZhaWxlZCB0byBtb3ZlIGl0IHRvIFJFQURZCgoyMDA1LTEwLTA0IDE3OjQ0OjQzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2R2LzogQWRkZWQgREVGQVVMVCA8PT0+IEJZVEVTLCBUSU1FIGNvbnZlcnNpb25zIG9uIHNyY3BhZCwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9zcmNfcXVlcnkpLCAoZ3N0X2R2ZGVtdXhfc3JjX2NvbnZlcik6CgkgIEFkZGVkIERFRkFVTFQgPD09PiBCWVRFUywgVElNRSBjb252ZXJzaW9ucyBvbiBzcmNwYWQsCgkgIENvcnJlY3RlZCB0aGUgcXVlcnkgZnVuY3Rpb24gZm9yIHBvc2l0aW9uIHNvIGl0IGRvZXNuJ3QgZm9yZ2V0IHdoYXQKCSAgZm9ybWF0IHdhcyBhc2tlZCwgYW5kIGNhbGxzIHRoZSBjb252ZXJzaW9uIGZ1bmN0aW9ucyBvbiB0aGUgY29ycmVjdCBwYWQuCgoyMDA1LTEwLTAzIDE3OjU5OjE4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJICBiYWNrIHRvIGhlYWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJhY2sgdG8gaGVhZAoKPT09IHJlbGVhc2UgMC45LjMgPT09CgoyMDA1LTEwLTAzIDE3OjQ4OjU3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVBRE1FOgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgcmVsZWFzZSB0aW1lCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZWxlYXNlIHRpbWUKCjIwMDUtMTAtMDIgMjM6MDg6MzUgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuYyAoZ3N0X2ZsYWNkZWNfd3JpdGUpOiBEZWFsIHdpdGggcGFkX2FsbG9jIGVycm9yIHJldHVybnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTAzICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYyAoZ3N0X2ZsYWNkZWNfd3JpdGUpOiBEZWFsIHdpdGggcGFkX2FsbG9jCgkgIGVycm9yIHJldHVybnMuCgoyMDA1LTEwLTAyIDE1OjMzOjE0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBjb25maWd1cmUuYWMgKEdTVF9QTFVHSU5fTERGTEFHUyk6IENoYW5nZSB0byBiZSBsaWtlIC1iYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0wMiAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBjb25maWd1cmUuYWMgKEdTVF9QTFVHSU5fTERGTEFHUyk6IENoYW5nZSB0byBiZSBsaWtlIC1iYXNlLgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogUG9ydGVkIHRvIDAuOS4KCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmMgKGdzdF9mbGFjZGVjX2xvb3ApOiBIYW5kbGUgZXJyb3JzIGJldHRlci4KCSAgKiBleHQvZmxhYy9NYWtlZmlsZS5hbTogQWRkIHRoZSBHU1RfUExVR0lOU19CQVNFIGNmbGFncyBhbmQgbGlicywKCSAgYW5kIGxpbmsgdG8gZ3N0dGFnZWRpdC4gRW5hYmxlIGZsYWNlbmMuCgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiBSZS1lbmFibGUgdGFnIHJlYWRpbmcuCgoyMDA1LTA5LTMwIDE2OjM2OjQ5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IFZhcmlvdXMgY2xhc3MgYW5kIGNhcHMgZml4ZXMgZnJvbSBBbmRyZSBNYWdhbGhhZXMgKGFuZHJ1bmtvKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmVuYy5jOiAoZ3N0X3J0cGFtcmVuY19zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbXBhcnNlLmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGVuYy5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmVuYy5jOiAoZ3N0X3J0cG1wNHZlbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwbXA0dmVuY19wYXJzZV9kYXRhKSwgKGdzdF9ydHBtcDR2ZW5jX2hhbmRsZV9idWZmZXIpLAoJICAoZ3N0X3J0cG1wNHZlbmNfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWVuYy5jOiAoZ3N0X3J0cG1wYWVuY19oYW5kbGVfYnVmZmVyKToKCSAgVmFyaW91cyBjbGFzcyBhbmQgY2FwcyBmaXhlcyBmcm9tIEFuZHJlIE1hZ2FsaGFlcyAoYW5kcnVua28pCgoyMDA1LTA5LTI5IDEzOjA4OjQxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2xldmVsL2xldmVsLWV4YW1wbGUuYzogVXBkYXRlIGZvciBuZXcgYnVzIEFQSS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xldmVsL2xldmVsLWV4YW1wbGUuYzogKG1haW4pOgoJICBVcGRhdGUgZm9yIG5ldyBidXMgQVBJLgoKMjAwNS0wOS0yOCAxMzozODowMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogTm8gbmVlZCB0byB0YWtlIHN0cmVhbSBsb2NrIGhlcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKToKCSAgTm8gbmVlZCB0byB0YWtlIHN0cmVhbSBsb2NrIGhlcmUuCgoyMDA1LTA5LTI4IDA5OjQ1OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBGaXggdW5leHBhbmRlZCBhdXRvY29uZiBtYWNybyBHU1RfRE9DLCB3aGljaCBoYXMgYmVlbiByZW5hbWVkIHRvIEdTVF9ET0NCT09LX0NIRUNLIChzZWUgY29tbW9uL200L2dzdC1kLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRml4IHVuZXhwYW5kZWQgYXV0b2NvbmYgbWFjcm8gR1NUX0RPQywgd2hpY2ggaGFzIGJlZW4gcmVuYW1lZAoJICB0byBHU1RfRE9DQk9PS19DSEVDSyAoc2VlIGNvbW1vbi9tNC9nc3QtZG9jLm00KSAoIzMxNjIwMikuCgoyMDA1LTA5LTI3IDE1OjEyOjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL29zcy9nc3Rvc3NzaW5rLmM6IEZpeCBwbGF5YmFjayBvZiBtb25vIHN0cmVhbXMgKGJ5dGVzX3Blcl9zYW1wbGUgc2hvdWxkIGJlIHNldCBmcm9tIHRoZSBzYW1wbGUgd2lkdGggYW5kIHRoZSBudW1iLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOiAoZ3N0X29zc19zaW5rX3ByZXBhcmUpOgoJICBGaXggcGxheWJhY2sgb2YgbW9ubyBzdHJlYW1zIChieXRlc19wZXJfc2FtcGxlIHNob3VsZCBiZSBzZXQKCSAgZnJvbSB0aGUgc2FtcGxlIHdpZHRoIGFuZCB0aGUgbnVtYmVyIG9mIGNoYW5uZWxzIG5lZ290aWF0ZWQsCgkgIGFuZCBub3QganVzdCBiZSBzZXQgdG8gNCkgKCMzMTczMzgpCgoyMDA1LTA5LTI2IDE0OjU5OjEwICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIGFkZCBhdXBhcnNlIHRvIHBsdWdpbnMgbGlzdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGF1cGFyc2UgdG8gcGx1Z2lucyBsaXN0CgoyMDA1LTA5LTI2IDE0OjQyOjA5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcGFlbmMuYzogU2V0IGJ1ZmZlciBkdXJhdGlvbiBjb3JyZWN0bHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZW5jLmM6IChnc3RfcnRwbXBhZW5jX2ZsdXNoKSwKCSAgKGdzdF9ydHBtcGFlbmNfaGFuZGxlX2J1ZmZlcik6CgkgIFNldCBidWZmZXIgZHVyYXRpb24gY29ycmVjdGx5LgoKMjAwNS0wOS0yNiAxMzowNjoyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogRG9uJ3QgY3Jhc2ggd2hlbiBlbmNvdW50ZXJpbmcgYSBzdHJlYW0gd2l0aCBhbiB1bmtub3duIGZvdXJjYyBvciBjb2RlYyBpZC4gSW5zdGVhZCwgY3JlYXRlIGEgcC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2Jhc2VfaW5pdCksCgkgIChnc3RfYXZpX2RlbXV4X2NsYXNzX2luaXQpLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLAoJICAoZ3N0X2F2aV9kZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICBEb24ndCBjcmFzaCB3aGVuIGVuY291bnRlcmluZyBhIHN0cmVhbSB3aXRoIGFuIHVua25vd24gZm91cmNjIG9yCgkgIGNvZGVjIGlkLiBJbnN0ZWFkLCBjcmVhdGUgYSBwYWQgb2YgdHlwZSB2aWRlby94LWF2aS11bmtub3duIG9yCgkgIGF1ZGlvL3gtYXZpLXVua25vd24sIHdoaWNoIGFzIGEgc2lkZS1lZmZlY3QgYWxzbyByZXN1bHRzIGluIGxlc3MKCSAgY29uZnVzaW5nIGVycm9yIG1lc3NhZ2VzIGluIHBsYXllcnMgKCdubyBkZWNvZGVyJyB2cy4gJ25vIHN0cmVhbXMnKTsKCSAgbWlub3IgZml4ZXMgdG8gc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIGFuZCBjbGFzc19pbml0IGZ1bmN0aW9uLgoKMjAwNS0wOS0yNCAxMzozNDo0NiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHNldCB1cCBwbHVnaW4gcGF0aHMgcHJvcGVybHkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHNldCB1cCBwbHVnaW4gcGF0aHMgcHJvcGVybHkKCjIwMDUtMDktMjQgMTM6MTA6NTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXV0b2RldGVjdC86IFRoZXNlIGFyZSBzaW5rcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOiAoZ3N0X2F1dG9fYXVkaW9fc2lua19pbml0KToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6IChnc3RfYXV0b192aWRlb19zaW5rX2luaXQpOgoJICBUaGVzZSBhcmUgc2lua3MuCgoyMDA1LTA5LTI0IDEyOjEwOjAyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGNoZWNrL2VsZW1lbnRzL2xldmVsLmM6IGZpeCB0ZXN0IGZvciBuZXcgR3N0Q2xvY2tUaW1lIHVzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjaGVjay9lbGVtZW50cy9sZXZlbC5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBmaXggdGVzdCBmb3IgbmV3IEdzdENsb2NrVGltZSB1c2UKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogKGdzdF9sZXZlbF9pbml0KSwgKGdzdF9sZXZlbF9zZXRfY2FwcyksCgkgIChnc3RfbGV2ZWxfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuaDoKCSAgZml4IHVwIHRoZSBkZWNheSBwZWFrLCBlbnN1cmluZyB0aGUgZGVjYXkgcGVhayBpcyBuZXZlciBsb3dlcgoJICB0aGFuIHRoZSBwZWFrIGZvciB0aGF0IGludGVydmFsCgoyMDA1LTA5LTIzIDE4OjIzOjA0ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIHVwZGF0aW5nIGRvY3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0aW5nIGRvY3MKCjIwMDUtMDktMjMgMTg6MTU6NTEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBNYWtlZmlsZS5hbToKCSogY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSogY29tbW9uOgoJKiBnc3QvbGV2ZWwvTWFrZWZpbGUuYW06CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuaDoKCSogZ3N0L2xldmVsL2xldmVsLWV4YW1wbGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSAgY29udmVydCB0byB1c2luZyBHc3RDbG9ja1RpbWUgZm9yIGFsbCB0aW1lIHZhbHVlcywgZmluYWxseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNvbnZlcnQgdG8gdXNpbmcgR3N0Q2xvY2tUaW1lIGZvciBhbGwgdGltZSB2YWx1ZXMsIGZpbmFsbHkuCgoyMDA1LTA5LTIzIDE1OjAxOjAwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9nb29tL01ha2VmaWxlLmFtOgoJICBmaXggYnVpbGQgb2YgZ29vbQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGJ1aWxkIG9mIGdvb20KCjIwMDUtMDktMjMgMTQ6MjA6MDEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29tbW9uOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgd2UgaGFuZGxlIG1vcmUgdGhhbiB0d28gY2hhbm5lbHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHdlIGhhbmRsZSBtb3JlIHRoYW4gdHdvIGNoYW5uZWxzCgoyMDA1LTA5LTIzIDA0OjIzOjAwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY2Fpcm8vTWFrZWZpbGUuYW06CgkqIGV4dC9kdi9NYWtlZmlsZS5hbToKCSogZXh0L2VzZC9NYWtlZmlsZS5hbToKCSogZXh0L2ZsYWMvTWFrZWZpbGUuYW06CgkqIGV4dC9nY29uZi9NYWtlZmlsZS5hbToKCSogZXh0L2dka19waXhidWYvTWFrZWZpbGUuYW06CgkqIGV4dC9qcGVnL01ha2VmaWxlLmFtOgoJKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJKiBleHQvbGliY2FjYS9NYWtlZmlsZS5hbToKCSogZXh0L2xpYm1uZy9NYWtlZmlsZS5hbToKCSogZXh0L2xpYnBuZy9NYWtlZmlsZS5hbToKCSogZXh0L21pa21vZC9NYWtlZmlsZS5hbToKCSogZXh0L3BhbmdvL01ha2VmaWxlLmFtOgoJKiBleHQvcmF3MTM5NC9NYWtlZmlsZS5hbToKCSogZXh0L3Nob3V0Mi9NYWtlZmlsZS5hbToKCSogZXh0L3NwZWV4L01ha2VmaWxlLmFtOgoJKiBnc3QvYWxwaGEvTWFrZWZpbGUuYW06CgkqIGdzdC9hdXBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L01ha2VmaWxlLmFtOgoJKiBnc3QvYXZpL01ha2VmaWxlLmFtOgoJKiBnc3QvY3V0dGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWcvTWFrZWZpbGUuYW06CgkqIGdzdC9lZmZlY3R2L01ha2VmaWxlLmFtOgoJKiBnc3QvZmx4L01ha2VmaWxlLmFtOgoJKiBnc3QvZ29vbS9NYWtlZmlsZS5hbToKCSogZ3N0L2xhdy9NYWtlZmlsZS5hbToKCSogZ3N0L21hdHJvc2thL01ha2VmaWxlLmFtOgoJKiBnc3QvbWVkaWFuL01ha2VmaWxlLmFtOgoJKiBnc3QvbW9ub3Njb3BlL01ha2VmaWxlLmFtOgoJKiBnc3QvbXVsdGlwYXJ0L01ha2VmaWxlLmFtOgoJKiBnc3Qvb2xkY29yZS9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkqIGdzdC9zbW9vdGh3YXZlL01ha2VmaWxlLmFtOgoJKiBnc3Qvc21wdGUvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2JveC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZmlsdGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L3dhdmVuYy9NYWtlZmlsZS5hbToKCSogZ3N0L3dhdnBhcnNlL01ha2VmaWxlLmFtOgoJKiBzeXMvb3NzL01ha2VmaWxlLmFtOgoJKiBzeXMvb3N4YXVkaW8vTWFrZWZpbGUuYW06CgkgIGZpeCBidWlsZCBhbmQgdXNlIG9mIEdTVF9MSUJTCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggYnVpbGQgYW5kIHVzZSBvZiBHU1RfTElCUwoKMjAwNS0wOS0yMiAyMjozODo0OCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBQT1JURURfMDk6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmg6CgkgIEF1cGFyc2UgcG9ydGVkIHRvIDAuOS4gVGVzdGVkIHdpdGggZmlsZXNyYyAhIGF1cGFyc2UgISBvc3NzaW5rIGFuZCBhbHNhc2luawoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQXVwYXJzZSBwb3J0ZWQgdG8gMC45LiBUZXN0ZWQgd2l0aCBmaWxlc3JjICEgYXVwYXJzZSAhIG9zc3NpbmsgYW5kIGFsc2FzaW5rCgoyMDA1LTA5LTIyIDE0OjEzOjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IFVzZSBpc19maWxsZWQgdG8gYm90aCBjaGVjayBNVFUgYW5kIG1heC1wdGltZSBvZiBiYXNlIGNsYXNzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL1RPRE86CgkgICogZ3N0L3J0cC9nc3RydHBkZWMuYzogKGdzdF9ydHBkZWNfZ2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZW5jLmM6IChnc3RfcnRwbXA0dmVuY19jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBtcDR2ZW5jX3BhcnNlX2RhdGEpLCAoZ3N0X3J0cG1wNHZlbmNfaGFuZGxlX2J1ZmZlciksCgkgIChnc3RfcnRwbXA0dmVuY19zZXRfcHJvcGVydHkpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmVuYy5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZW5jLmM6IChnc3RfcnRwbXBhZW5jX2hhbmRsZV9idWZmZXIpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZW5jLmg6CgkgIFVzZSBpc19maWxsZWQgdG8gYm90aCBjaGVjayBNVFUgYW5kIG1heC1wdGltZSBvZiBiYXNlIGNsYXNzLgoKMjAwNS0wOS0yMiAxMToyODoyMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXA0dmVuYy5jOiBEb24ndCBmcmFnbWVudCBwYWNrZXRzIHdpdGggbXVsdGlwbGUgZnJhbWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZlbmMuYzogKGdzdF9ydHBtcDR2ZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cG1wNHZlbmNfcGFyc2VfZGF0YSksIChnc3RfcnRwbXA0dmVuY19oYW5kbGVfYnVmZmVyKSwKCSAgKGdzdF9ydHBtcDR2ZW5jX3NldF9wcm9wZXJ0eSk6CgkgIERvbid0IGZyYWdtZW50IHBhY2tldHMgd2l0aCBtdWx0aXBsZSBmcmFtZXMuCgoyMDA1LTA5LTIyIDEwOjM5OjExICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IFJlbW92ZSBnX3ByaW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL1RPRE86CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZGVjLmM6IChnc3RfcnRwbXA0dmRlY19zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZlbmMuYzogKGdzdF9ydHBtcDR2ZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cG1wNHZlbmNfaW5pdCksIChnc3RfcnRwbXA0dmVuY19wYXJzZV9kYXRhKSwKCSAgKGdzdF9ydHBtcDR2ZW5jX2hhbmRsZV9idWZmZXIpLCAoZ3N0X3J0cG1wNHZlbmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBtcDR2ZW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZW5jLmg6CgkgIFJlbW92ZSBnX3ByaW50LgoJICBVcGRhdGUgVE9ETwoJICBNYWtlIHBheWxvYWQgZW5jb2RlciBhIGJpdCBzbWFydGVyIGFuZCBtb3JlIGNvcnJlY3Qgd2l0aAoJICB0aW1lc3RhbXBzLgoJICBBZGRlZCBvcHRpb24gaW4gcGF5bG9hZGVyIHRvIGluY2x1ZGUgY29uZmlnIHN0cmluZyBpbi1iYW5kLgoKMjAwNS0wOS0yMSAxOTo0MTo0NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogU3RyaXAgc3BhY2VzIGZvciBrZXkvdmFsdWUgcGFpcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3BhcnNlX3J0cG1hcCksCgkgIChnc3RfcnRzcHNyY19tZWRpYV90b19jYXBzKSwgKGdzdF9ydHNwc3JjX3N0cmVhbV9zZXR1cF9ydHApLAoJICAoZ3N0X3J0c3BzcmNfc2VuZCk6CgkgIFN0cmlwIHNwYWNlcyBmb3Iga2V5L3ZhbHVlIHBhaXJzLgoKMjAwNS0wOS0yMSAxNzo1MzoyNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogTW9yZSBTRFAgcGFyc2luZyBhbmQgY2FwcyBzZXR0aW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19wYXJzZV9ydHBtYXApLAoJICAoZ3N0X3J0c3BzcmNfbWVkaWFfdG9fY2FwcyksIChnc3RfcnRzcHNyY19zdHJlYW1fc2V0dXBfcnRwKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwgKGdzdF9ydHNwc3JjX3NlbmQpLAoJICAoZ3N0X3J0c3BzcmNfY2hhbmdlX3N0YXRlKToKCSAgTW9yZSBTRFAgcGFyc2luZyBhbmQgY2FwcyBzZXR0aW5nLgoJICBEbyBOT19QUkVST0xMIGRpZmZlcmVudGx5LgoJICBhZGQgcGFkcyBvbmx5IGFmdGVyIG5lZ290aWF0ZWQuCgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfdWRwc3JjX2dldGNhcHMpOgoJICBJbXBsZW1lbnQgdGhlIGdldGNhcHMgZnVuY3Rpb24uCgoyMDA1LTA5LTIxIDE3OjUwOjI5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBhbXJkZWMuYzogSGFuZGxlIG11bHRpcGxlIEFNciBwYWNrZXRzIHBlciBwYXlsb2FkLiBIYW5kbGUgQ1JDIGFuZCBwYXJzZSBJTEwvSUxQLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlYy5jOiAoZ3N0X3J0cGFtcmRlY19zaW5rX3NldGNhcHMpLAoJICAoZ3N0X3J0cGFtcmRlY19jaGFpbik6CgkgIEhhbmRsZSBtdWx0aXBsZSBBTXIgcGFja2V0cyBwZXIgcGF5bG9hZC4gSGFuZGxlIENSQyBhbmQKCSAgcGFyc2UgSUxML0lMUC4KCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmVuYy5jOiAoZ3N0X3J0cGFtcmVuY19zZXRjYXBzKToKCSAgTWFrZSBjYXBzIHBhcmFtcyBzdHJpbmdzIGZvciBlYXN5IFNEUCBtYXBwaW5nLgoJICAqIGdzdC9ydHAvZ3N0cnRwZGVjLmM6IChnc3RfcnRwZGVjX2luaXQpLCAoZ3N0X3J0cGRlY19nZXRjYXBzKToKCSAgSGFuZGxlIGNhcHNuZWdvIGJldHRlci4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZWMuYzogKGdzdF9ydHBtcDR2ZGVjX3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmVuYy5jOiAoZ3N0X3J0cG1wNHZlbmNfbmV3X2NhcHMpOgoJICBHZW5lcmF0ZSBhbmQgcGFyc2UgY29uZmlnIHN0cmluZyBpbiB0aGUgY2Fwcy4KCjIwMDUtMDktMjEgMTI6MTk6MjQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL1JFQURNRTogVXBkYXRlIFJFQURNRQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL1JFQURNRToKCSAgVXBkYXRlIFJFQURNRQoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVjLmM6IChnc3RfcnRwYW1yZGVjX3Npbmtfc2V0Y2Fwcyk6CgkgIE1ha2UgZXh0cmEgcGFyYW1zIGFzIHN0cmluZ3MuCgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc2V0X3N0YXRlKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX3J0cG1hcCksIChnc3RfcnRzcHNyY19tZWRpYV90b19jYXBzKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9zZXR1cF9ydHApLCAoZ3N0X3J0c3BzcmNfc2VuZCk6CgkgIE1ha2Ugc3RhdGUgY2hhbmdlIHJldHVybiBOT19QUkVST0xMIGFzIHRoaXMgaXMgYSBsaXZlCgkgIHNvdXJjZS4KCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19zZXRfcHJvcGVydHkpOgoJICBEb24ndCB1bnJlZiBvbGQgY2FwcyB3aGVuIE5VTEwuCgoyMDA1LTA5LTIwIDE3OjM1OjExICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvOiBBZGQgVVJJIGhhbmRsZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2dldF90eXBlKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX3J0cG1hcCksIChnc3RfcnRzcHNyY19tZWRpYV90b19jYXBzKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9zZXR1cF9ydHApLCAoZ3N0X3J0c3BzcmNfc2VuZCksCgkgIChnc3RfcnRzcHNyY19vcGVuKSwgKGdzdF9ydHNwc3JjX3VyaV9nZXRfdHlwZSksCgkgIChnc3RfcnRzcHNyY191cmlfZ2V0X3Byb3RvY29scyksIChnc3RfcnRzcHNyY191cmlfZ2V0X3VyaSksCgkgIChnc3RfcnRzcHNyY191cmlfc2V0X3VyaSksIChnc3RfcnRzcHNyY191cmlfaGFuZGxlcl9pbml0KToKCSAgKiBnc3QvcnRzcC9zZHBtZXNzYWdlLmM6IChzZHBfbWVkaWFfZ2V0X2Zvcm1hdCk6CgkgICogZ3N0L3J0c3Avc2RwbWVzc2FnZS5oOgoJICBBZGQgVVJJIGhhbmRsZXIuCgkgIFBhcnNlIFNEUCBhbmQgY3JlYXRlIGNhcHMuCgoyMDA1LTA5LTIwIDE3OjE5OjQzICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIG1vcmUgc3BlYyBmaWxlIGZpeG9yaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtb3JlIHNwZWMgZmlsZSBmaXhvcmluZwoKMjAwNS0wOS0yMCAxNzowNDozMyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJKiBnc3QtcGx1Z2lucy5zcGVjLmluOgoJICBmaXggc3BlYyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IHNwZWMgZmlsZXMKCjIwMDUtMDktMjAgMTA6NTE6NTEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3J0cC9SRUFETUU6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21lbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSAgZG9uJ3QgdXNlIHVuZGVyc2NvcmVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkb24ndCB1c2UgdW5kZXJzY29yZXMKCjIwMDUtMDktMjAgMDc6MzA6MzEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hbHBoYS9nc3RhbHBoYS5jOiBmaXggZWxlbWVudCBkZXNjcmlwdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgZml4IGVsZW1lbnQgZGVzY3JpcHRpb24KCjIwMDUtMDktMTkgMTc6NTc6MDYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICBwcmVyZXFzIGFzIHdlbGwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHByZXJlcXMgYXMgd2VsbAoKMjAwNS0wOS0xOSAxNzo1Mzo0MiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvLmdpdGlnbm9yZToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkgIGNvbW1pdCByZXN1bHQgb2Ygc2Nhbm9iaiBzdGVwCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjb21taXQgcmVzdWx0IG9mIHNjYW5vYmogc3RlcAoKMjAwNS0wOS0xOSAxNzowMzo1NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZWMuYzogRG9uJ3QgY2hlY2sgcGF5bG9hZCBmb3Igbm93LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVjLmM6IChnc3RfcnRwaDI2M3BkZWNfY2hhaW4pOgoJICBEb24ndCBjaGVjayBwYXlsb2FkIGZvciBub3cuCgoyMDA1LTA5LTE5IDE2OjQzOjU2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIE1ha2VmaWxlLmFtOgoJICBhZGQgY2hlY2stdmFsZ3JpbmQgdGFyZ2V0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgY2hlY2stdmFsZ3JpbmQgdGFyZ2V0CgoyMDA1LTA5LTE5IDE2OjI2OjMwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLio6IEZpeCB3YXZwYXJzZSBzb21lIG1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3Jlc2V0KSwKCSAgKGdzdF93YXZwYXJzZV9pbml0KSwgKGdzdF93YXZwYXJzZV9wYXJzZV9maWxlX2hlYWRlciksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2luaXQpLCAoZ3N0X3dhdnBhcnNlX2hhbmRsZV9zZWVrKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpLAoJICAoZ3N0X3dhdnBhcnNlX2xvb3ApLCAoZ3N0X3dhdnBhcnNlX3BhZF9jb252ZXJ0KSwKCSAgKGdzdF93YXZwYXJzZV9wYWRfcXVlcnkpLCAoZ3N0X3dhdnBhcnNlX3NyY3BhZF9ldmVudCksCgkgIChnc3Rfd2F2cGFyc2VfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSAgRml4IHdhdnBhcnNlIHNvbWUgbW9yZS4KCjIwMDUtMDktMTkgMTE6NDg6MTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBjaGVjay9lbGVtZW50cy9sZXZlbC5jOiBGaXggZm9yIGJ1cyBBUEkgY2hhbmdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjaGVjay9lbGVtZW50cy9sZXZlbC5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBGaXggZm9yIGJ1cyBBUEkgY2hhbmdlLgoKMjAwNS0wOS0xOSAxMTozODoxMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9sZXZlbC9sZXZlbC1leGFtcGxlLmM6IEZpeCBmb3IgbmV3IGJ1cyBBUEkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sZXZlbC9sZXZlbC1leGFtcGxlLmM6IChtYWluKToKCSAgRml4IGZvciBuZXcgYnVzIEFQSS4KCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19zZXRfcHJvcGVydHkpOgoJICBTZXQgY2FwcyBvbiBwYWRzLgoKMjAwNS0wOS0xOSAxMTowNjowNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZGVidWcvTWFrZWZpbGUuYW06CgkgIGRpc2FibGUgZmxhZ3MgZm9yIHVuYnVpbHQgcGx1Z2lucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZGlzYWJsZSBmbGFncyBmb3IgdW5idWlsdCBwbHVnaW5zCgoyMDA1LTA5LTE5IDA4OjIxOjI5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbW1vbjoKCSogZG9jcy9wbHVnaW5zL3NjYW5vYmotYnVpbGQuc3RhbXA6CgkgIG5vcm1hbCBidWlsZHMgc2hvdWxkbid0IHNjYW4gZ29iamVjdHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG5vcm1hbCBidWlsZHMgc2hvdWxkbid0IHNjYW4gZ29iamVjdHMKCjIwMDUtMDktMTYgMDA6Mzg6NTAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY2hlY2svTWFrZWZpbGUuYW06CgkqIGNvbW1vbjoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHJlbW92ZSBnc3QtcmVnaXN0ZXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZSBnc3QtcmVnaXN0ZXIKCjIwMDUtMDktMTUgMTM6NTc6NTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9SRUFETUU6CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJlbmMuaDoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZW5jLmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGFyc2UuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXJzZS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BlbmMuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZW5jLmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWVuYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5oOgoJICBVcGRhdGVzIHRvIHBheWxvYWRlci9kZXBheWxvYWRlcnMsIG1ha2UgcGF5bG9hZGVycyB1c2UgdGhlIGJhc2UgY2xhc3Nlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZXMgdG8gcGF5bG9hZGVyL2RlcGF5bG9hZGVycywgbWFrZSBwYXlsb2FkZXJzIHVzZQoJICB0aGUgYmFzZSBjbGFzc2VzLgoJICBVcGRhdGVkIFJFQURNRSB3aXRoIHN1Z2dlc3RlZCBSVFAgY2FwcyBhbmQgaG93IHRvIGNvbnZlcnQKCSAgdG8vZnJvbSBTRFAuCgkgIEFkZGVkIGNvbmZpZyBkZXNjcmlwdG9yIGluIG1wNHYgcGF5bG9hZGVyLgoKMjAwNS0wOS0xNSAxMDo0Nzo1OCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jIChnc3RfYXV0b19hdWRpb19zaW5rX2ZpbmRfYmVzdCk6IGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0wOS0xNSAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmMgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfZmluZF9iZXN0KToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmMKCSAgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfZmluZF9iZXN0KTogVXBkYXRlIGZvciBuZXcgcmVnaXN0cnkgQVBJLgoKMjAwNS0wOS0xNCAyMDo1MTo0NyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBjb21tb24vOiBhIHNpbXBsZSBweSBzY3JpcHQgdG8gZ2VuZXJhdGUgdmFsaWQgeG1sIGZyb20gYSBDIGV4YW1wbGUgcHJvYmFibHkgYWxzbyBuZWVkIHRvIHN0cmlwIGFuIE1JVCBsaWNlbnNlIHdoZW4gd2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29tbW9uL2MtdG8teG1sLnB5OgoJICAqIGNvbW1vbi9ndGstZG9jLXBsdWdpbnMubWFrOgoJICBhIHNpbXBsZSBweSBzY3JpcHQgdG8gZ2VuZXJhdGUgdmFsaWQgeG1sIGZyb20gYSBDIGV4YW1wbGUKCSAgcHJvYmFibHkgYWxzbyBuZWVkIHRvIHN0cmlwIGFuIE1JVCBsaWNlbnNlIHdoZW4gd2UgZGVjaWRlCgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGdzdC9sZXZlbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogKGdzdF9sZXZlbF9pbml0KToKCSAgKiBnc3QvbGV2ZWwvbGV2ZWwtZXhhbXBsZS5jOiAobWVzc2FnZV9oYW5kbGVyKSwgKG1haW4pOgoJICBhZGQgYW4gZXhhbXBsZSB0byBsZXZlbCB0aGF0IHdpbGwgc2hvdyB1cCBpbiB0aGUgZG9jcwoJICAqIGdzdC9ydHAvVE9ETzoKCSAgYWRkIGEgbm90ZSBmb3IgdGhlIGZ1dHVyZQoKMjAwNS0wOS0xNCAxMTo0NDoxMSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogQWN0dWFsbHkgZGVmaW5lIHRoZSBkZWJ1ZyBvYmplY3QgYmVpbmcgdXNlZCBpbiB3YXZlbmMuIEZpeGVzICMzMTYyMDUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogKGdzdF93YXZlbmNfY2xhc3NfaW5pdCk6CgkgIEFjdHVhbGx5IGRlZmluZSB0aGUgZGVidWcgb2JqZWN0IGJlaW5nIHVzZWQgaW4gd2F2ZW5jLiBGaXhlcyAjMzE2MjA1CgoyMDA1LTA5LTE0IDExOjIzOjQ0ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9zbXB0ZS9NYWtlZmlsZS5hbToKCSAgTGluayBzbXB0ZSBwbHVnaW4gYWdhaW5zdCBHU1RfQkFTRV9MSUJTLCB0byBnZXQgbGliZ3N0YmFzZTsgbmVlZGVkIHRvIGJ1aWxkIG9uIHdpbjMyIGFzIHRoaXMgcGx1Z2luIHVzZXMgY29sbGVjdHBhZHMgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBMaW5rIHNtcHRlIHBsdWdpbiBhZ2FpbnN0IEdTVF9CQVNFX0xJQlMsIHRvIGdldCBsaWJnc3RiYXNlOyBuZWVkZWQgdG8KCSAgYnVpbGQgb24gd2luMzIgYXMgdGhpcyBwbHVnaW4gdXNlcyBjb2xsZWN0cGFkcyAoYnVnIDMxNjIwNCkKCjIwMDUtMDktMTIgMTY6Mzc6MDUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJICBGaXggdXAgYm9ndXMgQ2hhbmdlTG9nIGVudHJ5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggdXAgYm9ndXMgQ2hhbmdlTG9nIGVudHJ5CgoyMDA1LTA5LTEyIDE2OjE0OjQ4ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBhdXRvZ2VuLnNoIChwYWNrYWdlKTogTm93IHR5cGUgJ21ha2UnIHRvIGJ1aWxkIGdzdC1wbHVnaW5zLWdvb2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTA5LTEyICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGF1dG9nZW4uc2ggKHBhY2thZ2UpOiBOb3cgdHlwZSAnbWFrZScgdG8gYnVpbGQgZ3N0LXBsdWdpbnMtZ29vZC4KCjIwMDUtMDktMTEgMTc6NTI6MDkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29tbW9uOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmRzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgYWRkIHNvdXJjZSBtb2R1bGUgdG8gZG9jczsgcmVpbnNwZWN0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgc291cmNlIG1vZHVsZSB0byBkb2NzOyByZWluc3BlY3QKCjIwMDUtMDktMDkgMTc6NTY6NDMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgTW92ZSBmZHNyYyBiYWNrIGludG8gZ3N0cmVhbWVyIGNvcmUgZWxlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvZmRzcmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L2Zkc3JjL2dzdGZkc3JjLmM6CgkgICogZ3N0L2Zkc3JjL2dzdGZkc3JjLmg6CgkgIE1vdmUgZmRzcmMgYmFjayBpbnRvIGdzdHJlYW1lciBjb3JlIGVsZW1lbnRzLgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiAoZ3N0X2xldmVsX2NsYXNzX2luaXQpLAoJICAoZ3N0X2xldmVsX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IChnc3RfdmlkZW9fYm94X3NldF9wcm9wZXJ0eSk6CgkgIEJhc2V0cmFuc2Zvcm0gY2hhbmdlcy4KCjIwMDUtMDktMDkgMTY6MTE6NDggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOgoJKiBleHQvanBlZy9zbW9rZWNvZGVjLmM6CgkgIGZpeCBjb21waWxlciB3YXJuaW5ncwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDA1LTA5LTA5IDExOjA5OjQ5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjogc3BlYyBmaWxlIGZpeGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgc3BlYyBmaWxlIGZpeGVzCgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX3JlbmRlciksIChnc3RfbXVsdGl1ZHBzaW5rX2FkZCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2NsZWFyKToKCSAgaXQgYWN0dWFsbHkgaGVscHMgdG8gYWN0dWFsbHkgc3RyZWFtIGlmIHdlIGhvb2sgdXAgdGhlCgkgIGFkZCBzaWduYWwgdG8gYW4gYWN0dWFsIGltcGxlbWVudGF0aW9uCgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfc3RhcnQpOgoJICBzb21lIGRlYnVnZ2luZwoKMjAwNS0wOS0wOCAxNjo1ODo0MCArMDAwMCAgRmxhdmlvIE9saXZlaXJhIDxmbGF2aW8ub2xpdmVpcmFAaW5kdC5vcmcuYnI+CgoJKiBleHQvanBlZy9NYWtlZmlsZS5hbToKCSogZXh0L2pwZWcvZ3N0anBlZy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6CgkgIGpwZ2VuYyBwb3J0ZWQgdG8gR1NUcmVhbWVyIDAuOQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAganBnZW5jIHBvcnRlZCB0byBHU1RyZWFtZXIgMC45CgoyMDA1LTA5LTA4IDE2OjI2OjE3ICswMDAwICBGbGF2aW8gT2xpdmVpcmEgPGZsYXZpby5vbGl2ZWlyYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSAganBlZ2VuYyBwb3J0ZWQgdG8gR1N0cmVhbWVyIDAuOQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAganBlZ2VuYyBwb3J0ZWQgdG8gR1N0cmVhbWVyIDAuOQoKMjAwNS0wOS0wNyAxMzo0OTozNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0LzogZ3N0dGFnaW50ZXJmYWNlLmggLT4gZ3N0dGFnc2V0dGVyLmgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIGdzdHRhZ2ludGVyZmFjZS5oIC0+IGdzdHRhZ3NldHRlci5oCgoyMDA1LTA5LTA2IDIzOjMwOjAzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFBvcnQgdG8gMC45IGFuZCByZS1lbmFibGUgZWZlbmNlIHBsdWdpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9kZWJ1Zy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVidWcvZWZlbmNlLmM6IChnc3RfZWZlbmNlX2NsYXNzX2luaXQpLCAoZ3N0X2VmZW5jZV9pbml0KSwKCSAgKGdzdF9lZmVuY2VfY2hhaW4pLCAoZ3N0X2VmZW5jZV9idWZmZXJfYWxsb2MpLCAocGx1Z2luX2luaXQpLAoJICAoZ3N0X2ZlbmNlZF9idWZmZXJfZmluYWxpemUpLCAoZ3N0X2ZlbmNlZF9idWZmZXJfY29weSksCgkgIChnc3RfZmVuY2VkX2J1ZmZlcl9hbGxvYyksIChnc3RfZmVuY2VkX2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9mZW5jZWRfYnVmZmVyX2luaXQpLCAoZ3N0X2ZlbmNlZF9idWZmZXJfZ2V0X3R5cGUpOgoJICBQb3J0IHRvIDAuOSBhbmQgcmUtZW5hYmxlIGVmZW5jZSBwbHVnaW4uCgoyMDA1LTA5LTA2IDIxOjMxOjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy4qOiBBZGQgc3VwcG9ydCBmb3IgZmxhYyBmaWxlcyB3aXRoIDI0LzMyIGJpdHMgcGVyIHNhbXBsZTsgYW5kIG1pc2MuIG1pbm9yIGNsZWFuLXVwcy4gU2Vla2luZyBpcyBzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGZsYWNfY2Fwc19mYWN0b3J5KSwgKHJhd19jYXBzX2ZhY3RvcnkpLAoJICAoZ3N0X2ZsYWNkZWNfd3JpdGUpLCAoZ3N0X2ZsYWNkZWNfY29udmVydF9zcmMpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIGZsYWMgZmlsZXMgd2l0aCAyNC8zMiBiaXRzIHBlciBzYW1wbGU7IGFuZCBtaXNjLgoJICBtaW5vciBjbGVhbi11cHMuIFNlZWtpbmcgaXMgc3RpbGwgcGFydGx5IGJyb2tlbiAoZm9yIG1lIGF0IGxlYXN0KS4KCjIwMDUtMDktMDYgMTU6NTA6NTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogQWRkZWQgbXBlZzQgdmlkZW8gcGF5bG9hZCBlbmNvZGVyL2RlY29kZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZWMuYzogKGdzdF9ydHBtcDR2ZGVjX2dldF90eXBlKSwKCSAgKGdzdF9ydHBtcDR2ZGVjX2Jhc2VfaW5pdCksIChnc3RfcnRwbXA0dmRlY19jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBtcDR2ZGVjX2luaXQpLCAoZ3N0X3J0cG1wNHZkZWNfc2V0Y2FwcyksCgkgIChnc3RfcnRwbXA0dmRlY19jaGFpbiksIChnc3RfcnRwbXA0dmRlY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cG1wNHZkZWNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBtcDR2ZGVjX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwbXA0dmRlY19wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZGVjLmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZW5jLmM6IChnc3RfcnRwbXA0dmVuY19nZXRfdHlwZSksCgkgIChnc3RfcnRwbXA0dmVuY19iYXNlX2luaXQpLCAoZ3N0X3J0cG1wNHZlbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwbXA0dmVuY19pbml0KSwgKGdzdF9ydHBtcDR2ZW5jX3NldGNhcHMpLAoJICAoZ3N0X3J0cG1wNHZlbmNfZmx1c2gpLCAoZ3N0X3J0cG1wNHZlbmNfY2hhaW4pLAoJICAoZ3N0X3J0cG1wNHZlbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBtcDR2ZW5jX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwbXA0dmVuY19jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3J0cG1wNHZlbmNfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmVuYy5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZGVjLmM6IChnc3RfcnRwbXBhZGVjX2NoYWluKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWVuYy5jOiAoZ3N0X3J0cG1wYWVuY19mbHVzaCk6CgkgIEFkZGVkIG1wZWc0IHZpZGVvIHBheWxvYWQgZW5jb2Rlci9kZWNvZGVyLgoJICBBZGRlZCBzb21lIGRvY3MgaW4gbXBhIHBheWxvYWRlci4KCjIwMDUtMDktMDYgMTQ6MDY6NDcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBiYWNrIHRvIEhFQUQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJhY2sgdG8gSEVBRAoKPT09IHJlbGVhc2UgMC45LjEgPT09CgoyMDA1LTA5LTA2IDE0OjA1OjMzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVBRE1FOgoJKiBSRUxFQVNFOgoJKiBhdXRvZ2VuLnNoOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSAgcmVsZWFzaW5nIDAuOS4yCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZWxlYXNpbmcgMC45LjIKCjIwMDUtMDktMDUgMTc6MjA6MjggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBGaXggdXAgYWxsIHRoZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IHVwIGFsbCB0aGUgc3RhdGUgY2hhbmdlIGZ1bmN0aW9ucy4KCjIwMDUtMDktMDUgMTY6Mjg6MTYgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGV4dC9kdi9nc3RkdmRlbXV4LmMgKGdzdF9kdmRlbXV4X2NoYWluKTogTW92ZSB0aGUgcGFkIGFkZGluZyBoZXJlIGZyb20gdGhlIHN0YXRlIGNoYW5nZSBoYW5kbGVyLCBzbyB3ZSBmaXJlIHNpZ25hbHMgdy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0wOS0wNSAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jIChnc3RfZHZkZW11eF9jaGFpbik6IE1vdmUgdGhlIHBhZCBhZGRpbmcKCSAgaGVyZSBmcm9tIHRoZSBzdGF0ZSBjaGFuZ2UgaGFuZGxlciwgc28gd2UgZmlyZSBzaWduYWxzIHdpdGhvdXQKCSAgaG9sZGluZyB0aGUgc3RhdGUgbG9jay4KCjIwMDUtMDktMDUgMTU6MTA6MTggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBjbGVhbmluZyB1cCBiYWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNsZWFuaW5nIHVwIGJhZAoKMjAwNS0wOS0wNSAxMzoxODo0MiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzLy5naXRpZ25vcmU6CgkqIGRvY3MvcGx1Z2lucy8uZ2l0aWdub3JlOgoJICBtYWludGVuYW5jZSBjb21taXRzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtYWludGVuYW5jZSBjb21taXRzCgoyMDA1LTA5LTA0IDE1OjA5OjMzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0LWJ1aWxkLnN0YW1wOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC5zdGFtcDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkgIGRpc3RjaGVjayBmaXhlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZGlzdGNoZWNrIGZpeGVzCgoyMDA1LTA5LTA0IDExOjUwOjQ3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIE1ha2VmaWxlLmFtOgoJKiBhdXRvZ2VuLnNoOgoJKiBjb21tb246CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICBmaXggZGlzdGNoZWNrCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggZGlzdGNoZWNrCgoyMDA1LTA5LTAyIDE1OjU2OjUyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgdmFyaW91cyBzcGVjIGZpeGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB2YXJpb3VzIHNwZWMgZml4ZXMKCjIwMDUtMDktMDIgMTU6NDQ6NTAgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGNoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkqIGV4YW1wbGVzL2dzdHBsYXkvcGxheWVyLmM6CgkqIGV4YW1wbGVzL3N0YXRzL21wMm9nZy5jOgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2VzZC9lc2Rtb24uYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc2luay5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGthbmltYXRpb24uYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6CgkqIGV4dC9saWJtbmcvZ3N0bW5nZGVjLmM6CgkqIGV4dC9taWttb2QvZ3N0bWlrbW9kLmM6CgkqIGV4dC9wYW5nby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvZGVidWcvYnJlYWtteWRhdGEuYzoKCSogZ3N0L2RlYnVnL2dzdG5hdmlnYXRpb250ZXN0LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkqIGdzdC9mZHNyYy9nc3RmZHNyYy5jOgoJKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3Qvb2xkY29yZS9nc3RtZDVzaW5rLmM6CgkqIGdzdC9vbGRjb3JlL2dzdG11bHRpZmlsZXNyYy5jOgoJKiBnc3Qvb2xkY29yZS9nc3RwaXBlZmlsdGVyLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXJzZS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBhcnNlLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBzeXMvb3NzL2dzdG9zc21peGVyZWxlbWVudC5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9lbGVtZW50LmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkgIEFsbCBwbHVnaW5zIHVwZGF0ZWQgZm9yIGVsZW1lbnQgc3RhdGUgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMDktMDIgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogQWxsIHBsdWdpbnMgdXBkYXRlZCBmb3IgZWxlbWVudCBzdGF0ZSBjaGFuZ2VzLgoKMjAwNS0wOS0wMSAyMToyNDo1NyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvYWFsaWIvTWFrZWZpbGUuYW06CgkgIGZpeCBidWlsZCBhZnRlciBjbGVhbmluZyB1cCBteSB2b21pdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGJ1aWxkIGFmdGVyIGNsZWFuaW5nIHVwIG15IHZvbWl0CgoyMDA1LTA5LTAxIDIxOjIzOjA5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9hYWxpYi9NYWtlZmlsZS5hbToKCSAgZml4IGJ1aWxkIGFmdGVyIGNsZWFuaW5nIHVwIG15IHZvbWl0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggYnVpbGQgYWZ0ZXIgY2xlYW5pbmcgdXAgbXkgdm9taXQKCjIwMDUtMDktMDEgMjE6MjA6NDUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3NtcHRlL01ha2VmaWxlLmFtOgoJICBmaXggYnVpbGQgYWZ0ZXIgY2xlYW5pbmcgdXAgbXkgdm9taXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBidWlsZCBhZnRlciBjbGVhbmluZyB1cCBteSB2b21pdAoKMjAwNS0wOS0wMSAyMToxNTozMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3Qvc21wdGUvTWFrZWZpbGUuYW06CgkgIGZpeCBidWlsZCBhZnRlciBjbGVhbmluZyB1cCBteSB2b21pdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGJ1aWxkIGFmdGVyIGNsZWFuaW5nIHVwIG15IHZvbWl0CgoyMDA1LTA5LTAxIDIwOjIzOjIyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTWFrZWZpbGUuYW06CgkqIGNoZWNrLy5naXRpZ25vcmU6CgkqIGNoZWNrL01ha2VmaWxlLmFtOgoJKiBjaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiBjaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5oOgoJKiB0ZXN0cy9jaGVjay8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSAgQW5kcmV3aW8gUGF0cmlja29mb3J1cyBXaW5nb255bXVzIC0gNSBhZGRpdGlvbmFsIHRlc3RzIGZvciB5b3VyIHNpbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFuZHJld2lvIFBhdHJpY2tvZm9ydXMgV2luZ29ueW11cyAtIDUgYWRkaXRpb25hbCB0ZXN0cyBmb3IgeW91ciBzaW5zCgkgIEFkZCBhIHJlZ3Jlc3Npb24gdGVzdCBmb3IgbGV2ZWwgYW5kIGZpeCBhIGNhc3RpbmcgYnVnIHRoYXQgbWFkZSB0aGUgYWRkaXRpb25hbAoJICBjaGFubmVscyB0dXJuIG91dCB3cm9uZwoKMjAwNS0wOS0wMSAxNzo1NToxNCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBhZGQgZG9jcyB0byBidWlsZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBNYWtlZmlsZS5hbToKCSAgKiBjb25maWd1cmUuYWM6CgkgIGFkZCBkb2NzIHRvIGJ1aWxkCgkgICogY29tbW9uL3BsdWdpbnMueHNsOgoJICB3cmFwIERlc2NyaXB0aW9uIGludG8gYSByZWZzZWN0MgoJICAqIGRvY3MvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGdzdC9nb29tL01ha2VmaWxlLmFtOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzogKGdzdF9nb29tX2dldF90eXBlKSwgKGdzdF9nb29tX2Jhc2VfaW5pdCksCgkgIChnc3RfZ29vbV9jbGFzc19pbml0KSwgKGdzdF9nb29tX2luaXQpLCAoZ3N0X2dvb21fZGlzcG9zZSksCgkgIChnc3RfZ29vbV9zaW5rX3NldGNhcHMpLCAoZ3N0X2dvb21fc3JjX3NldGNhcHMpLAoJICAoZ3N0X2dvb21fc3JjX25lZ290aWF0ZSksIChnc3RfZ29vbV9ldmVudCksIChnc3RfZ29vbV9jaGFpbiksCgkgIChnc3RfZ29vbV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9nb29tL2dzdGdvb20uaDoKCSAgR3N0R09PTSAtPiBHc3RHb29tCgkgIGFkZCBhbiBleGFtcGxlIGxhdW5jaCBsaW5lCgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmg6CgkgICogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSAgY2xlYW51cHMKCjIwMDUtMDgtMzEgMTY6Mjg6MDUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2R2ZGxwY21kZWMvLmdpdGlnbm9yZToKCSogZ3N0L2R2ZGxwY21kZWMvTWFrZWZpbGUuYW06CgkqIGdzdC9kdmRscGNtZGVjL2dzdGR2ZGxwY21kZWMuYzoKCSogZ3N0L2R2ZGxwY21kZWMvZ3N0ZHZkbHBjbWRlYy5oOgoJICByZW1vdmUgZHZkbHBjbWRlYywgaXQncyBkdmQgc3R1ZmYKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZSBkdmRscGNtZGVjLCBpdCdzIGR2ZCBzdHVmZgoKMjAwNS0wOC0zMCAxOTo0MToxMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBNYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dldHRleHQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dzdC1pMThuLXBsdWdpbi5oOgoJICBhZGQgc29tZSBpMThuIGhlYWRlcnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBzb21lIGkxOG4gaGVhZGVycwoKMjAwNS0wOC0zMCAxOToyNDozNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvLmdpdGlnbm9yZToKCSAgaWdub3JlIG1vcmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGlnbm9yZSBtb3JlCgoyMDA1LTA4LTMwIDE5OjI0OjAzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvTWFrZWZpbGUuYW06CgkgIE1ha2VmaWxlLmFtCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBNYWtlZmlsZS5hbQoKMjAwNS0wOC0zMCAxOToyMDowMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3VwbG9hZC5tYWs6CgkqIGRvY3MvdmVyc2lvbi5lbnRpdGllcy5pbjoKCSAgY29tbWl0IG5ldyBzdHVmZgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY29tbWl0IG5ldyBzdHVmZgoKMjAwNS0wOC0zMCAxOTowMToxOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy50eXBlczoKCSAgZG9jdW1lbnQgZWxlbWVudHMgYW5kIHBsdWdpbnMuICBTaGF6YW0gIQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZG9jdW1lbnQgZWxlbWVudHMgYW5kIHBsdWdpbnMuICBTaGF6YW0gIQoKMjAwNS0wOC0zMCAxNzozNzowMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiAuZ2l0aWdub3JlOgoJKiBDT1BZSU5HOgoJKiBSRUxFQVNFOgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIGFkZCBzb21lIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgc29tZSBmaWxlcwoKMjAwMS0xMi0xNyAxODozNzowMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBidWlsZGluZyB1cCBzcGVlZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYnVpbGRpbmcgdXAgc3BlZWQKCg==