PGh0bWw+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktMSI+PHRpdGxlPjUuNS6gQWN0ZWwgRmxhc2hQcm8gRGV2aWNlczwvdGl0bGU+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJjcy5jc3MiIHR5cGU9InRleHQvY3NzIj48bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkRvY0Jvb2sgWFNMIFN0eWxlc2hlZXRzIFYxLjc0LjAiPjxsaW5rIHJlbD0iaG9tZSIgaHJlZj0iaW5kZXguaHRtbCIgdGl0bGU9IlNvdXJjZXJ5IEcrKyBMaXRlIj48bGluayByZWw9InVwIiBocmVmPSJzcHJpdGUuaHRtbCIgdGl0bGU9IkNoYXB0ZXKgNS6gU291cmNlcnkgRysrIERlYnVnIFNwcml0ZSI+PGxpbmsgcmVsPSJwcmV2IiBocmVmPSJkZWJ1Zy1zcHJpdGUtcmRpLXVybC5odG1sIiB0aXRsZT0iNS40LqBSZW1vdGUgRGVidWcgSW50ZXJmYWNlIERldmljZXMiPjxsaW5rIHJlbD0ibmV4dCIgaHJlZj0iY2gwNXMwNi5odG1sIiB0aXRsZT0iNS42LqBEZWJ1Z2dpbmcgYSBSZW1vdGUgQm9hcmQiPjwvaGVhZD48Ym9keSBiZ2NvbG9yPSJ3aGl0ZSIgdGV4dD0iYmxhY2siIGxpbms9IiMwMDAwRkYiIHZsaW5rPSIjODQwMDg0IiBhbGluaz0iIzAwMDBGRiI+PGRpdiBjbGFzcz0ibmF2aGVhZGVyIj48dGFibGUgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gaGVhZGVyIj48dHI+PHRoIGNvbHNwYW49IjMiIGFsaWduPSJjZW50ZXIiPjUuNS6gQWN0ZWwgRmxhc2hQcm8gRGV2aWNlczwvdGg+PC90cj48dHI+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJsZWZ0Ij48YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImRlYnVnLXNwcml0ZS1yZGktdXJsLmh0bWwiPlByZXY8L2E+oDwvdGQ+PHRoIHdpZHRoPSI2MCUiIGFsaWduPSJjZW50ZXIiPkNoYXB0ZXKgNS6gU291cmNlcnkgRysrIERlYnVnIFNwcml0ZTwvdGg+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJyaWdodCI+oDxhIGFjY2Vzc2tleT0ibiIgaHJlZj0iY2gwNXMwNi5odG1sIj5OZXh0PC9hPjwvdGQ+PC90cj48L3RhYmxlPjxocj48L2Rpdj48ZGl2IGNsYXNzPSJzZWN0aW9uIiBsYW5nPSJlbiI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgyIGNsYXNzPSJ0aXRsZSIgc3R5bGU9ImNsZWFyOiBib3RoIj48YSBuYW1lPSJkZWJ1Zy1zcHJpdGUtZmxhc2hwcm8tdXJsIj48L2E+NS41LqBBY3RlbCBGbGFzaFBybyBEZXZpY2VzPC9oMj48L2Rpdj48L2Rpdj48L2Rpdj48cD4gCiAgICBPbiBXaW5kb3dzIGhvc3RzLCBTb3VyY2VyeSBHKysgTGl0ZSBzdXBwb3J0cyBGbGFzaFBybyBkZXZpY2VzIHVzZWQgd2l0aCAKICAgIEFjdGVsIENvcnRleC1NMSBkZXZlbG9wbWVudCBraXRzLgogIDwvcD48cD4KICAgIEZvciBGbGFzaFBybyBkZXZpY2VzLCB0aGUgPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+ZGV2aWNlLXVybDwvY29kZT48L2VtPiAKICAgIGhhcyB0aGUgZm9sbG93aW5nIGZvcm06CgogICAgPC9wPjxwcmUgY2xhc3M9InNjcmVlbiI+Zmxhc2hwcm86Wy8vPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+dXNiMTIzNDU8L2NvZGU+PC9lbT4vXVs/anRhZ2Nsb2NrPTxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnJhdGU8L2NvZGU+PC9lbT5dPC9wcmU+PHA+CiAgPC9wPjxwPgogICAgVGhlIG9wdGlvbmFsIDxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnVzYjEyMzQ1PC9jb2RlPjwvZW0+IHBhcnQgaW5kaWNhdGVzCiAgICB0aGUgSUQgb2YgdGhlIEZsYXNoUHJvIGRldmljZSB0byBjb25uZWN0IHRvLCB3aGljaCBpcyB1c2VmdWwgaWYKICAgIHlvdSBoYXZlIG1vcmUgdGhhbiBvbmUgc3VjaCBkZXZpY2UgYXR0YWNoZWQgdG8geW91ciBjb21wdXRlci4gIAogICAgSWYgdGhlIElEIGlzIG9taXR0ZWQsIHRoZSBEZWJ1ZyBTcHJpdGUgY29ubmVjdHMgYXV0b21hdGljYWxseSB0byAKICAgIHRoZSBmaXJzdCBkZXRlY3RlZCBGbGFzaFBybyBkZXZpY2UuICAKICAgIFlvdSBjYW4gZW51bWVyYXRlIHRoZSBjb25uZWN0ZWQgRmxhc2hQcm8gZGV2aWNlcyBieSBpbnZva2luZyB0aGUKICAgIFNwcml0ZSB3aXRoIHRoZSA8Y29kZSBjbGFzcz0ib3B0aW9uIj4taTwvY29kZT4gc3dpdGNoLCBhcyBmb2xsb3dzOgoKICAgIDwvcD48cHJlIGNsYXNzPSJzY3JlZW4iPiZndDsgYXJtLW5vbmUtbGludXgtZ251ZWFiaS1zcHJpdGUgLWkgZmxhc2hwcm86PC9wcmU+PHA+CiAgPC9wPjxwPiAKICAgIFRoZSA8Y29kZSBjbGFzcz0ibGl0ZXJhbCI+anRhZ2Nsb2NrPC9jb2RlPiBvcHRpb24gYWxsb3dzIHRoZSBjb21tdW5pY2F0aW9uCiAgICBzcGVlZCB3aXRoIHRoZSB0YXJnZXQgYm9hcmQgdG8gYmUgYWx0ZXJlZC4gIFRoZSAKICAgIDxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnJhdGU8L2NvZGU+PC9lbT4gaXMgc3BlY2lmaWVkIGluIEh6IGFuZCBtYXkgcmFuZ2UgYmV0d2VlbgogICAgOTM3NTAgYW5kIDQwMDAwMDAuICAKICAgIFRoZSBkZWZhdWx0IGlzIDkzNzUwLCB0aGUgc2xvd2VzdCBzcGVlZCBzdXBwb3J0ZWQgIGJ5IHRoZSBGbGFzaFBybyBkZXZpY2UuCiAgICBEZXBlbmRpbmcgb24geW91ciB0YXJnZXQgYm9hcmQsIHlvdSBtYXkgYmUgYWJsZSB0byBpbmNyZWFzZSB0aGlzIHJhdGUsIAogICAgYnV0IGJld2FyZSB0aGF0IGNvbW11bmljYXRpb24gZXJyb3JzIG1heSBvY2N1ciBhYm92ZSBhIGNlcnRhaW4gdGhyZXNob2xkLgogICAgSWYgeW91IGVuY291bnRlciBjb21tdW5pY2F0aW9uIGVycm9ycyB3aXRoIGEgaGlnaGVyLXRoYW4tZGVmYXVsdCBzcGVlZCAKICAgIHNlbGVjdGVkLCB0cnkgcmVkdWNpbmcgdGhlIHNwZWVkLgogIDwvcD48ZGl2IGNsYXNzPSJzZWN0aW9uIiBsYW5nPSJlbiI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgzIGNsYXNzPSJ0aXRsZSI+PGEgbmFtZT0iaWQyODAwNzYiPjwvYT41LjUuMS6gSW5zdGFsbGluZyBGbGFzaFBybyBXaW5kb3dzIGRyaXZlcnM8L2gzPjwvZGl2PjwvZGl2PjwvZGl2PjxwPgogICAgICBXaW5kb3dzIGRyaXZlcnMgZm9yIHRoZSBGbGFzaFBybyBkZXZpY2UgYXJlIGluY2x1ZGVkIHdpdGggdGhlCiAgICAgIEZsYXNoUHJvIHNvZnR3YXJlIHByb3ZpZGVkIGJ5IEFjdGVsLiAgUmVmZXIgdG8KICAgICAgQWN0ZWwncyBkb2N1bWVudGF0aW9uIGZvciBkZXRhaWxzIG9uIGluc3RhbGxpbmcgdGhpcwogICAgICBzb2Z0d2FyZS4gIFlvdSBtdXN0IHVzZSB0aGUgQWN0ZWwgRmxhc2hQcm8gc29mdHdhcmUgdG8gY29uZmlndXJlIAogICAgICB0aGUgRlBHQSBvbiB5b3VyIENvcnRleC1NMSBib2FyZCwgYnV0IGl0IGRvZXMgbm90IG5lZWQgdG8gYmUgCiAgICAgIHJ1bm5pbmcgd2hlbiB1c2luZyB0aGUgRGVidWcgU3ByaXRlLgogICAgPC9wPjxwPgogICAgICBPbmNlIHlvdSBoYXZlIHNldCB1cCB5b3VyIGJvYXJkIHVzaW5nIHRoZSBGbGFzaFBybyBzb2Z0d2FyZSwgCiAgICAgIHlvdSBjYW4gY2hlY2sgdGhhdCBpdCBpcyByZWNvZ25pemVkIGJ5IHRoZSBTb3VyY2VyeSBHKysgRGVidWcgU3ByaXRlCiAgICAgIGJ5IHJ1bm5pbmcgdGhlIGZvbGxvd2luZyBjb21tYW5kOgoKICAgICAgPC9wPjxwcmUgY2xhc3M9InNjcmVlbiI+Jmd0OyBhcm0tbm9uZS1saW51eC1nbnVlYWJpLXNwcml0ZSAtaQpmbGFzaHBybzogW2p0YWdjbG9jaz0mbHQ7bjo5Mzc1MC00MDAwMDAwJmd0O10gRmxhc2hQcm8gZGV2aWNlCiAgZmxhc2hwcm86Ly91c2IxMjM0NS8gLSBGbGFzaFBybyBEZXZpY2UKICAuLi48L3ByZT48cD4KCiAgICAgIElmIG91dHB1dCBzaW1pbGFyIHRvIHRoZSBhYm92ZSBkb2VzIG5vdCBhcHBlYXIsIHlvdXIgRmxhc2hQcm8gCiAgICAgIGRldmljZSBpcyBub3Qgd29ya2luZyBjb3JyZWN0bHkuICBDb250YWN0IENvZGVTb3VyY2VyeSBmb3IgCiAgICAgIGZ1cnRoZXIgZ3VpZGFuY2UgaW4gdGhhdCBjYXNlLgogICAgPC9wPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Im5hdmZvb3RlciI+PGhyPjx0YWJsZSB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBmb290ZXIiPjx0cj48dGQgd2lkdGg9IjQwJSIgYWxpZ249ImxlZnQiPjxhIGFjY2Vzc2tleT0icCIgaHJlZj0iZGVidWctc3ByaXRlLXJkaS11cmwuaHRtbCI+UHJldjwvYT6gPC90ZD48dGQgd2lkdGg9IjIwJSIgYWxpZ249ImNlbnRlciI+PGEgYWNjZXNza2V5PSJ1IiBocmVmPSJzcHJpdGUuaHRtbCI+VXA8L2E+PC90ZD48dGQgd2lkdGg9IjQwJSIgYWxpZ249InJpZ2h0Ij6gPGEgYWNjZXNza2V5PSJuIiBocmVmPSJjaDA1czA2Lmh0bWwiPk5leHQ8L2E+PC90ZD48L3RyPjx0cj48dGQgd2lkdGg9IjQwJSIgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj41LjQuoFJlbW90ZSBEZWJ1ZyBJbnRlcmZhY2UgRGV2aWNlc6A8L3RkPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0iY2VudGVyIj48YSBhY2Nlc3NrZXk9ImgiIGhyZWY9ImluZGV4Lmh0bWwiPkhvbWU8L2E+PC90ZD48dGQgd2lkdGg9IjQwJSIgYWxpZ249InJpZ2h0IiB2YWxpZ249InRvcCI+oDUuNi6gRGVidWdnaW5nIGEgUmVtb3RlIEJvYXJkPC90ZD48L3RyPjwvdGFibGU+PC9kaXY+PC9ib2R5PjwvaHRtbD4K