ZGlmZiAtLWdpdCBhL0NIQU5HRUxPRyBiL0NIQU5HRUxPRwppbmRleCBjY2ViZDRlLi40ZTE2YjgyIDEwMDY0NAotLS0gYS9DSEFOR0VMT0cKKysrIGIvQ0hBTkdFTE9HCkBAIC0xLDMgKzEsMzAxOSBAQAorY29tbWl0IDVlNmUzNTBmYzQ4OWFhMTk0MDJmMWU3OTAzN2RkOGMwYTRiYmQ3M2QKK0F1dGhvcjogV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KK0RhdGU6CUZyaSBKdWwgNCAyMDowNzozNSAyMDA4ICswMjAwCisKKyAgICBDQ00vU0NNIGJvYXJkczogZml4IG91dCBvZiB0cmVlIGJ1aWxkaW5nCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorCitjb21taXQgYWI0YzNhNDkwZGY5YTk2NDcxMTU1NmQyYTA1YjBjNzg3ZGI0NWZkZQorQXV0aG9yOiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorRGF0ZToJVGh1IEp1bCAzIDIzOjIyOjI3IDIwMDggKzAyMDAKKworICAgIFNDTSBib2FyZDogZml4IGJ1aWxkIGVycm9ycy4KKworICAgIFNpZ25lZC1vZmYtYnk6IFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CisKK2NvbW1pdCBhNTY2NDY2ZjE3YmEwZTJkMmI2YzI1MGU3N2RhNjc4ZmI5MzI0NzBkCitBdXRob3I6IFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CitEYXRlOglUaHUgSnVsIDMgMjM6MDY6MzYgMjAwOCArMDIwMAorCisgICAgSUFEMjEwIGJvYXJkOiBmaXggYGAiQUxJR04iIHJlZGVmaW5lZCcnIHdhcm5pbmcuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorCitjb21taXQgYWQ3NTYzMTQ3OTdjMTZmYTVkY2EyM2UxMTVhYWI4ODEwMTFmMTY0ZgorQXV0aG9yOiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorRGF0ZToJVGh1IEp1bCAzIDIzOjAwOjI0IDIwMDggKzAyMDAKKworICAgIENDTSBib2FyZDogZml4IGJ1aWxkIGVycm9ycy4KKworICAgIFNpZ25lZC1vZmYtYnk6IFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CisKK2NvbW1pdCBjZWQyMDljNTBlODBjMjVmMTNjMDgzMDk5YjA1MDQ0MDQ4ZDIxZjRmCitBdXRob3I6IFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CitEYXRlOglUaHUgSnVsIDMgMjI6Mzk6MjEgMjAwOCArMDIwMAorCisgICAgc2Fjc25nIGJvYXJkOiBmaXggd2FybmluZ3MgInN1Z2dlc3QgZXhwbGljaXQgYnJhY2VzIHRvIGF2b2lkIGFtYmlndW91cyAnZWxzZSciCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorCitjb21taXQgNGZmMTcwYTgxODBhNzlkYTRjZGFhYjFiMzBkNThjZDdiNmJlNTY1ZQorQXV0aG9yOiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorRGF0ZToJVGh1IEp1bCAzIDIyOjM0OjA4IDIwMDggKzAyMDAKKworICAgIENsZWFudXA6IGZpeCAiZXhwZWN0ZWQgc3BlY2lmaWVyLXF1YWxpZmllci1saXN0IGJlZm9yZSAncGh5c19zaXplX3QnIiBlcnJvcnMKKworICAgIFNpZ25lZC1vZmYtYnk6IFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CisKK2NvbW1pdCA3MzBmMjk4NDg1OTg0YjAxMWI2ZWU4ZjRhY2I1MTFjYjQ1YTg0M2RkCitBdXRob3I6IFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CitEYXRlOglUaHUgSnVsIDMgMjI6MDQ6MTcgMjAwOCArMDIwMAorCisgICAgbG1iOiBmaXggImltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdsbWJfZnJlZSciIHdhcm5pbmcKKworICAgIFNpZ25lZC1vZmYtYnk6IFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CisKK2NvbW1pdCAzMjJlZjVlMjhkMmRjNjI1NzFhZmM2OTliMDBhZGQyMmE4ZTAwNmU0CitBdXRob3I6IFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CitEYXRlOglXZWQgSnVsIDIgMjM6NTM6MjMgMjAwOCArMDIwMAorCisgICAgQ2xlYW51cDogcmVtb3ZlIHJlZHVuZGFudCBkZWxldGluZyBvbiAqfiBmaWxlcworCisgICAgU2lnbmVkLW9mZi1ieTogV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KKworY29tbWl0IGM4YTNiMTA5ZjA3ZjAyMzQyZDA5N2IzMDkwODk2NWY3MjYxZDlmMTUKK0F1dGhvcjogV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KK0RhdGU6CVdlZCBKdWwgMiAyMzo0OToxOCAyMDA4ICswMjAwCisKKyAgICBDbGVhbnVwIG91dC1vci10cmVlIGJ1aWxkaW5nIGZvciBzb21lIGJvYXJkcyAoLmRlcGVuZCkKKworICAgIFNpZ25lZC1vZmYtYnk6IFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CisKK2NvbW1pdCBhMzBjYzVhMzQwZTdmOGY1Zjg1YTBlMDhlN2Y2YzQxMDZjZTExN2M0CitBdXRob3I6IFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CitEYXRlOglXZWQgSnVsIDIgMjM6Mzg6NTAgMjAwOCArMDIwMAorCisgICAgQ2xlYW51cDogZml4IG91dC1vZi10cmVlIGJ1aWxkaW5nIGZvciBzb21lIGJvYXJkcworCisgICAgU2lnbmVkLW9mZi1ieTogV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KKworY29tbWl0IDQ2MWZhNjhkMjA4NjE4MTE0ODc5NDRkMjIyOTFkYjVhMTM0MTBlMjAKK0F1dGhvcjogV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KK0RhdGU6CVdlZCBKdWwgMiAyMzowMDoxNCAyMDA4ICswMjAwCisKKyAgICBDbGVhbnVwOiByZXBsYWNlIGhhcmQtd2lyZWQgJChBUikgJ2Nydicgc2V0dGluZ3MgYnkgJChBUkZMQUdTKQorCisgICAgU2lnbmVkLW9mZi1ieTogV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KKworY29tbWl0IDU5ODFlYmQzMjAxN2UwNjJiMDhhYTY3NDdjZjU5MTI3NmYyZGI3NzkKK0F1dGhvcjogRGV0bGV2IFp1bmRlbCA8ZHp1QGRlbnguZGU+CitEYXRlOglGcmkgSnVuIDIwIDIyOjI2OjI0IDIwMDggKzAyMDAKKworICAgIGZkdDogRml4IHR5cG8gaW4gdmFyaWFibGUgbmFtZS4KKworICAgIFNpZ25lZC1vZmYtYnk6IERldGxldiBadW5kZWwgPGR6dUBkZW54LmRlPgorCitjb21taXQgYTdhNTk4MmNkMGYzNDgyZjg4MjI1YWY0ZGE3Nzk1YmM0ZjZjYjliYworQXV0aG9yOiBHYXJ5IEplbm5lam9obiA8Z2FyeWpAZGVueC5kZT4KK0RhdGU6CVRodSBKdW4gMTkgMTE6MTE6MTkgMjAwOCArMDIwMAorCisgICAgQWRkIGxvZ29zIGZvciBSUnZpc2lvbiBib2FyZAorCisgICAgU2lnbmVkLW9mZi1ieTogR2FyeSBKZW5uZWpvaG4gPGdhcnlqQGRlbnguZGU+CisKK2NvbW1pdCBlZTRhZTM4MzQyMTQyMjM3Y2E4NTkxM2Y4OGVlNTcwYzFlYjVjYTdjCitBdXRob3I6IEVzYmVuIEhhYWJlbmRhbCA8RXNiZW5IYWFiZW5kYWxAZ21haWwuY29tPgorRGF0ZToJV2VkIEp1biAxOCAxMTowMzo1NyAyMDA4ICswMjAwCisKKyAgICBtcGM4MjYwOiBhZGQgZmR0X2ZpeHVwX2V0aGVybmV0IHN1cHBvcnQKKworICAgIEFkZCBzdXBwb3J0IGZvciB1cGRhdGluZyBtYWMtYWRkcmVzcyBhbmQgbG9jYWwtbWFjLWFkZHJlc3MgaW4gZmR0IGZvcgorICAgIGFsbCBNUEM4MjYwIHRhcmdldHMuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBFc2JlbiBIYWFiZW5kYWwgPGVoYUBkb3JlZGV2ZWxvcG1lbnQuZGs+CisKK2NvbW1pdCBmNmE2OTU1OWQ2NDQ5OGEwNGUxZTBiMDg3YTliOTIwZTU3NzVmODY2CitBdXRob3I6IFN0ZXZlbiBBLiBGYWxjbyA8c2ZhbGNvQGhhcnJpcy5jb20+CitEYXRlOglUaHUgSnVuIDEyIDEzOjI0OjQyIDIwMDggLTA0MDAKKworICAgIGNtZF9udmVkaXQuYzogY2xlYW4gdXAgc3ludGF4IGhpZ2hsaWdodGluZworCisgICAgTXkgdGV4dC1lZGl0b3IgKHZpbSkgaGFzIGEgYml0IG9mIHRyb3VibGUgc3ludGF4LWhpZ2hsaWdodGluZyB0aGUKKyAgICBjbWRfbnZlZGl0LmMgZmlsZSwgYmVjYXVzZSBpdCBhcHBhcmVudGx5IGRvZXMgbm90IHBhcnNlIEMKKyAgICBpZmRlZi9lbHNlL2VuZGlmLiBUaGUgZm9sbG93aW5nIHBhdGNoIGRvZXMgbm90IGNoYW5nZSB0aGUgYmVoYXZpb3Igb2YKKyAgICB0aGUgY29kZSBhdCBhbGwsIGJ1dCBkb2VzIGFsbG93IHRoZSBlZGl0b3IgdG8gcHJvcGVybHkKKyAgICBzeW50YXgtaGlnaGxpZ2h0IHRoZSBmaWxlLgorCisgICAgU2lnbmVkLW9mZi1ieTogU3RldmUgRmFsY28gPHNmYWxjb0BoYXJyaXMuY29tPgorCitjb21taXQgNzU2NzhjODA3YTYyNzJlY2M1NTQxZWIzMjg5OGM5Mzg4N2YwODQwMAorQXV0aG9yOiBTdGV2ZW4gQS4gRmFsY28gPHNmYWxjb0BoYXJyaXMuY29tPgorRGF0ZToJVGh1IEp1biAxMiAxMzoyMjoxMiAyMDA4IC0wNDAwCisKKyAgICBNYWtlIHNldGVudigpIHJldHVybiBzdGF0dXMKKworICAgIEN1cnJlbnRseSwgdGhlIHNldGVudiBmdW5jdGlvbiBkb2VzIG5vdCByZXR1cm4gYW4gZXJyb3IgY29kZS4KKyAgICBUaGlzIHBhdGNoIGFsbG93cyB0byB0ZXN0IGZvciBlcnJvcnMuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTdGV2ZSBGYWxjbyA8c2ZhbGNvQGhhcnJpcy5jb20+CisKK2NvbW1pdCA0OTI4ZTk3Yzg1MzEyODNjYTliMzY4YjdjMjlhOGExMmU3MjY1NjJhCitBdXRob3I6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CitEYXRlOglXZWQgSnVuIDExIDEwOjE0OjA2IDIwMDggLTA1MDAKKworICAgIFBQQzogQWRkZWQgZmxzLCBmbHM2NCwgX19pbG9nMl91NjQsIGFuZCBmZnM2NCB0byBiaXRvcHMKKworICAgIGZsczY0LCBfX2lsb2cyX3U2NCwgZmZzNjQgYXJlIHZhcmlhbnRzIHRoYXQgd29yayBvbiBhbiB1NjQsCisgICAgYW5kIGZscyBpcyB1c2VkIHRvIGltcGxlbWVudCB0aGVtLgorCisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IDgzMDAyYTc3Y2JkZjM4MzAxNWNhMzg0ZWZmNWZhMzE3MjJkOGU1NzEKK0F1dGhvcjogTWFnbnVzIExpbGphIDxsaWxqYS5tYWdudXNAZ21haWwuY29tPgorRGF0ZToJTW9uIEp1biA5IDIyOjU4OjQ4IDIwMDggKzAyMDAKKworICAgIGkuTVgzMTogQ2xlYW51cCBjb21tZW50cyBpbiBsb3dsZXZlbF9pbml0LlMuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBNYWdudXMgTGlsamEgPGxpbGphLm1hZ251c0BnbWFpbC5jb20+CisKK2NvbW1pdCBmOGNjMzEyYmJlZTY5MjU3ZDc0MWRjOWY0MDYyZjRhMGY1YWRmNjA5CitBdXRob3I6IEJlbiBXYXJyZW4gPGJpZ2dlcmJhZGRlcmJlbkBnbWFpbC5jb20+CitEYXRlOglTdW4gSnVuIDggMjM6Mjg6MzMgMjAwOCAtMDcwMAorCisgICAgTW92ZSBjb25kaXRpb25hbCBjb21waWxhdGlvbiBvZiBNUEM4WFhYIFNQSSBkcml2ZXIgdG8gTWFrZWZpbGUKKworICAgIFNpZ25lZC1vZmYtYnk6IEJlbiBXYXJyZW4gPGJpZ2dlcmJhZGRlcmJlbkBnbWFpbC5jb20+CisKK2NvbW1pdCBkOTJlYTIxYmFmYjY3NGVlMmJmMjc0NDc5NzBiMDQ3ODQ1ZTdiMGEyCitBdXRob3I6IEp1ZXJnZW4gS2lsYiA8Si5LaWxiQGdteC5kZT4KK0RhdGU6CVN1biBKdW4gOCAxNzo1OTo1MyAyMDA4ICswMjAwCisKKyAgICBpLk1YMzE6IGZpeGVkIENUUkwtQyBkZXRlY3Rpb24KKworICAgIFRoZSBSZWdpc3RlciBVUlhEIGNvbnRhaW5zIHN0YXR1cyBpbmZvcm1hdGlvbiBpbiBiaXRzIFsxNS4uOF0uCisgICAgV2l0aCBzdGF0dXMgYml0IDE1IHNldCwgQ1RSTC1DIHdhcyByZXBvcnRlZCBhcyAweDgwMDMgaW5zdGVhZAorICAgIG9mIDB4MDMuIFRoZXJlZm9yZSBDVFJMLUMgd2FzIG5vdCBkZXRlY3RlZC4KKyAgICBUbyBzb2x2ZSB0aGlzLCBiaXRzIFsxNS4uOF0gd2VyZSBtYXNrZWQgb3V0IG5vdy4KKworICAgIFNpZ25lZC1vZmYtYnk6IEp1ZXJnZW4gS2lsYiA8Si5LaWxiQGdteC5kZT4KKyAgICBBY2tlZC1ieTogRmVsaXggUmFkZW5za3kgPGZlbGl4QGVtYmVkZGVkLXNvbC5jb20+CisKK2NvbW1pdCBiNTcxYWZkZTAyOTViMDA3YTQ1MDU1ZWU0OWY4ODIyYzc1M2E1NjUxCitBdXRob3I6IEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+CitEYXRlOglTYXQgSnVuIDcgMTI6Mjk6NTIgMjAwOCArMDIwMAorCisgICAgYWRkIFNIQTI1NiBzdXBwb3J0CisKKyAgICBTaWduZWQtb2ZmLWJ5OiBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxhZ25pb2pAamNyb3NvZnQuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IEZyYW5jZXNjbyBBbGJhbmVzZSA8RnJhbmNlc2NvLkFsYmFuZXNlQHN3aXNzY29tLmNvbT4KKworY29tbWl0IDNiYWI3NmEyNmUwM2RmNGZmODEzNDJmY2MxNjM5M2NlMzdkOTc2NmIKK0F1dGhvcjogTWFyaWFuIEJhbGFrb3dpY3ogPG04QHNlbWloYWxmLmNvbT4KK0RhdGU6CUZyaSBKdW4gNiAyMzowNzo0MCAyMDA4ICswMjAwCisKKyAgICBEZWxheSBGSVQgZm9ybWF0IGNoZWNrIG9uIHNlY3RvciBiYXNlZCBkZXZpY2VzCisKKyAgICBHbG9iYWwgRklUIGltYWdlIG9wZXJhdGlvbnMgbGlrZSBmb3JtYXQgY2hlY2sgY2Fubm90IGJlIHBlcmZvcm1lZCBvbgorICAgIGEgZmlyc3Qgc2VjdG9yIGRhdGEsIGRlZmVyIHRoZW0gdG8gdGhlIHBvaW50IHdoZW4gd2hvbGUgRklUIGltYWdlIHdhcworICAgIHVwbG9hZGVkIHRvIGEgc3lzdGVtIFJBTS4KKworICAgIFNpZ25lZC1vZmYtYnk6IE1hcmlhbiBCYWxha293aWN6IDxtOEBzZW1paGFsZi5jb20+CisgICAgUGFydGlhbCAoJ2NtZF9uYW5kJyBjYXNlKSBBY2tlZC1ieTogR3JhbnQgRXJpY2tzb24gPGdlcmlja3NvbkBudW92YXRpb25zLmNvbT4KKyAgICBOQU5EIGFuZCBET0MgYml0cyBBY2tlZC1ieTogU2NvdHQgV29vZCA8c2NvdHR3b29kQGZyZWVzY2FsZS5jb20+CisKK2NvbW1pdCA5ODEwMjYzYWZlYzVhYzVmMzhmOTI5NjNiYjNiNmQ3OTllNDMzMWQwCitBdXRob3I6IERhdmUgTGl1IDxyNjMyMzhAZnJlZXNjYWxlLmNvbT4KK0RhdGU6CVR1ZSBKdW4gMyAxNzozODoxOSAyMDA4ICswODAwCisKKyAgICBzYXRhOiB3YWl0IGZvciBkZXZpY2UgdXBkYXRpbmcgc2lnbmF0dXJlIHRvIGhvc3QKKworICAgIFRoZSBkcml2ZXIgbmVlZCB3YWl0IGZvciB0aGUgZGV2aWNlIHVwZGF0aW5nIHNpZ25hdHVyZSB0byBob3N0LgorICAgIElmIHdlIGRvbid0IHdhaXQgZm9yIGl0LCB0aGUgZHJpdmVyIGNhbiBub3QgZGV0ZWN0IHRoZSBkZXZpY2UoZGlzaykKKyAgICB3aGVuIHRoZSBzeXN0ZW0gcG93ZXJzIHVwLgorCisgICAgU2lnbmVkLW9mZi1ieTogRGF2ZSBMaXUgPGRhdmVsaXVAZnJlZXNjYWxlLmNvbT4KKworY29tbWl0IDhiNjE2ZWRiMTE4ZTM3ZDA1ZjY0MDEzODllYWVlMWM2MzZiMjI4MjgKK0F1dGhvcjogU3R1YXJ0IFdvb2QgPHN0dWFydC53b29kQGxhYnh0ZWNobm9sb2dpZXMuY29tPgorRGF0ZToJTW9uIEp1biAyIDE2OjQyOjE5IDIwMDggLTA0MDAKKworICAgIHNlcmlhbF9wbDAxMC5jOiBhZGQgd2F0Y2hkb2cgc3VwcG9ydAorCisgICAgU2lnbmVkLW9mZi1ieTogU3R1YXJ0IFdvb2QgPHN0dWFydC53b29kQGxhYnh0ZWNobm9sb2dpZXMuY29tPgorCitjb21taXQgODZkMzI3M2UyYjdiZTNmZmZiNDVlMjBjMDg1MzVkNmFkM2FkZWQ2YgorQXV0aG9yOiBTdHVhcnQgV29vZCA8c3R1YXJ0Lndvb2RAbGFieHRlY2hub2xvZ2llcy5jb20+CitEYXRlOglNb24gSnVuIDIgMTY6NDA6MDggMjAwOCAtMDQwMAorCisgICAgamZmczJfMXBhc3MuYzogYWRkIHdhdGNoZG9nIHN1cHBvcnQKKworICAgIFNpZ25lZC1vZmYtYnk6IFN0dWFydCBXb29kIDxzdHVhcnQud29vZEBsYWJ4dGVjaG5vbG9naWVzLmNvbT4KKworY29tbWl0IDU3NDRkZGM2NjM3ZmVhNGY3YjkxMWE1NGE1ZmE4NjBjYjgxYTVkODkKK0F1dGhvcjogU2FzY2hhIExhdWUgPHNhc2NoYS5sYXVlQGxpZWJoZXJyLmNvbT4KK0RhdGU6CUZyaSBNYXkgMzAgMDk6NDg6MTQgMjAwOCArMDIwMAorCisgICAgQ29uZmlndXJlIERTUCBQT1NUOyBhZGQgd2F0Y2hkb2cgcmVzZXQgdG8gZGlhZyBjb21tYW5kCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTYXNjaGEgTGF1ZSA8c2FzY2hhLmxhdWVAbGllYmhlcnIuY29tPgorCitjb21taXQgZjEzNTI2NTE3ODU5YmY2YjU3M2UyM2ZmNDcxOTllMTA3ZDEwMDliNQorQXV0aG9yOiBUb3IgS3JpbGwgPHRvckBleGNpdG8uY29tPgorRGF0ZToJVGh1IE1heSAyOSAxMDo0MDoxNyAyMDA4ICswMjAwCisKKyAgICBBZGQgc2F0YSBzaWwzMTE0IHN1cHBvcnQKKworICAgIFNpZ25lZC1vZmYtYnk6IFRvciBLcmlsbCA8dG9yQGV4Y2l0by5jb20+CisKK2NvbW1pdCBlMDkzYTI0NzYyODIyODEwMGY0MDViNmQ3ZjZiMWJmYzE2MTQxOTM4CitBdXRob3I6IFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CitEYXRlOglTYXQgSnVuIDI4IDIzOjM0OjM3IDIwMDggKzAyMDAKKworICAgIENvZGluZyBTdHlsZSBDbGVhbnVwCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorCitjb21taXQgMDFkYjIzMmRkN2EwY2ViODEyMDhhOWYyNTQ1NzIwYzgwZTViZmQ4MworQXV0aG9yOiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorRGF0ZToJU2F0IEp1biAyOCAyMzoxNjowMSAyMDA4ICswMjAwCisKKyAgICBVcGRhdGUgQ0hBTkdFTE9HCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorCitjb21taXQgYzdmODc5ZWMyYjM4OWM0ZjJiZjcyNmIyOTNiZDUxNmY0YzY5MmUwMworQXV0aG9yOiBIdWdvIFZpbGxlbmV1dmUgPGh1Z28udmlsbGVuZXV2ZUBseXJ0ZWNoLmNvbT4KK0RhdGU6CVdlZCBNYXkgMjEgMTM6NTg6NDEgMjAwOCAtMDQwMAorCisgICAgQVJNOiBBZGQgc3VwcG9ydCBmb3IgTHlydGVjaCBTRkYtU0RSIGJvYXJkIChBUk05MjZFSlMpCisKKyAgICBUaGlzIHBhdGNoIGFkZHMgc3VwcG9ydCBmb3IgdGhlIEx5cnRlY2ggU0ZGLVNEUiBib2FyZCwKKyAgICBiYXNlZCBvbiB0aGUgVEkgRGFWaW5jaSBhcmNoaXRlY3R1cmUgKEFSTTkyNkVKUykuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBIdWdvIFZpbGxlbmV1dmUgPGh1Z28udmlsbGVuZXV2ZUBseXJ0ZWNoLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBQaGlsaXAgQmFsaXN0ZXIgPHBoaWxpcEBiYWxpc3Rlci5vcmc+CisgICAgU2lnbmVkLW9mZi1ieTogV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KKworY29tbWl0IDM0MTE4OGI5Y2NhYThkNDQ2MmQ3NzJjYzA2N2FjYThkNzYxODYzM2EKK0F1dGhvcjogSGFhdmFyZCBTa2lubmVtb2VuIDxoYWF2YXJkLnNraW5uZW1vZW5AYXRtZWwuY29tPgorRGF0ZToJVGh1IE1heSAyMiAxMTowOTo1OSAyMDA4ICswMjAwCisKKyAgICBNTUM6IENvbnNvbGlkYXRlIE1NQy9TRCBjb21tYW5kIGRlZmluaXRpb25zCisKKyAgICBUaGlzIG1vdmVzIHRoZSBNTUMgYW5kIFNEIENhcmQgY29tbWFuZCBkZWZpbml0aW9ucyBmcm9tCisgICAgaW5jbHVkZS9hc20vYXJjaC9tbWMuaCBpbnRvIGluY2x1ZGUvbW1jLmguIFRoZXNlIGRlZmluaXRpb25zIGFyZQorICAgIGdpdmVuIGJ5IHRoZSBNTUMgYW5kIFNEIENhcmQgc3RhbmRhcmRzLCBub3QgYnkgYW55IHBhcnRpY3VsYXIKKyAgICBhcmNoaXRlY3R1cmUuCisKKyAgICBUaGVyZSdzIGEgbG90IG1vcmUgcm9vbSBmb3IgY29uc29saWRhdGlvbiBpbiB0aGUgTU1DIGRyaXZlcnMgd2hpY2gKKyAgICBJJ20gaG9waW5nIHRvIGdldCBkb25lIGV2ZW50dWFsbHksIGJ1dCB0aGlzIHBhdGNoIGlzIGEgc3RhcnQuCisKKyAgICBDb21waWxlLXRlc3RlZCBmb3IgYWxsIGF2cjMyIGJvYXJkcyBhcyB3ZWxsIGFzIGxwYzIyOTJzb2RpbW0gYW5kCisgICAgbHViYm9jay4gVGhpcyBzaG91bGQgY292ZXIgYWxsIHRocmVlIG1tYyBkcml2ZXJzIGluIHRoZSB0cmVlLgorCisgICAgU2lnbmVkLW9mZi1ieTogSGFhdmFyZCBTa2lubmVtb2VuIDxoYWF2YXJkLnNraW5uZW1vZW5AYXRtZWwuY29tPgorCitjb21taXQgZmE2MGVkZmM0Yzk1MjYyNmUwNDhjMGUwNjVmNjU0YjNjMTgyMmZhNQorQXV0aG9yOiBLeXVuZ21pbiBQYXJrIDxrbXBhcmtAaW5mcmFkZWFkLm9yZz4KK0RhdGU6CVdlZCBNYXkgMjEgMTQ6Mzg6MDggMjAwOCArMDkwMAorCisgICAgVXNlIGJldHRlciBFdGhlcm5ldCB0aW1pbmdzIGZvciBhcG9sbG9uIGJvYXJkCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBLeXVuZ21pbiBQYXJrIDxreXVuZ21pbi5wYXJrQHNhbXN1bmcuY29tPgorCitjb21taXQgNDFjNWVhYTcyNTNlZDgyYmJhZTFlZGE1NjY3NzU1ODcyYzYxNTE2NAorQXV0aG9yOiBBbmR5IEZsZW1pbmcgPGFmbGVtaW5nQGZyZWVzY2FsZS5jb20+CitEYXRlOglNb24gSnVuIDE2IDEzOjU4OjU2IDIwMDggLTA1MDAKKworICAgIFJlc2l6ZSBkZXZpY2UgdHJlZSB0byBhbGxvdyBzcGFjZSBmb3IgYm9hcmQgY2hhbmdlcyBhbmQgdGhlIGNob3NlbiBub2RlCisKKyAgICBDdXJyZW50IGNvZGUgcmVxdWlyZXMgdGhhdCBhIGNvbXBpbGVkIGRldmljZSB0cmVlIGhhdmUgc3BhY2UgYWRkZWQgdG8gdGhlIGVuZCB0bworICAgIGxlYXZlIHJvb20gZm9yIGV4dHJhIG5vZGVzIGFkZGVkIGJ5IGJvYXJkIGNvZGUgKGFuZCB0aGUgY2hvc2VuIG5vZGUpLiAgVGhpcworICAgIHJlcXVpcmVzIHRoYXQgZGV2aWNlIHRyZWUgY3JlYXRvcnMgYW50aWNpcGF0ZSBob3cgbXVjaCBzcGFjZSBVLUJvb3Qgd2lsbCBhZGQgdG8KKyAgICB0aGUgdHJlZSwgd2hpY2ggaXMgYWJzdXJkLglJZGVhbGx5LCB0aGUgY29kZSB3b3VsZCByZXNpemUgYW5kL29yIHJlbG9jYXRlIHRoZQorICAgIHRyZWUgd2hlbiBpdCBuZWVkZWQgbW9yZSBzcGFjZSwgYnV0IHRoaXMgd291bGQgcmVxdWlyZSBhIHN5c3RlbWljIGNoYW5nZSB0byB0aGUKKyAgICBmZHQgY29kZSwgd2hpY2ggaXMgbm9uLXRyaXZpYWwuICBJbnN0ZWFkLCB3ZSByZXNpemUgdGhlIHRyZWUgaW5zaWRlCisgICAgYm9vdF9yZWxvY2F0ZV9mZHQsIHJlc2VydmluZyBlaXRoZXIgdGhlIHJlbWFpbmRlciBvZiB0aGUgYm9vdG1hcCAoaW4gdGhlIGNhc2UKKyAgICB3aGVyZSB0aGUgZmR0IGlzIGluc2lkZSB0aGUgYm9vdG1hcCksIG9yIGFkZGluZyBDRkdfRkRUX1BBRCBieXRlcyB0byB0aGUgc2l6ZS4KKworICAgIFNpZ25lZC1vZmYtYnk6IEFuZHkgRmxlbWluZyA8YWZsZW1pbmdAZnJlZXNjYWxlLmNvbT4KKworY29tbWl0IDc1NzBhOTk0MWZjNTY1OTIyMDc4Njc5YTcyZDI0NmZlMjA4ZDY5NmQKK0F1dGhvcjogQW5keSBGbGVtaW5nIDxhZmxlbWluZ0BmcmVlc2NhbGUuY29tPgorRGF0ZToJTW9uIEp1biAxNiAxMzo1ODo1NSAyMDA4IC0wNTAwCisKKyAgICBGaXggYW4gdW5kZXJmbG93IGJ1ZyBpbiBfX2xtYl9hbGxvY19iYXNlCisKKyAgICBfX2xtYl9hbGxvY19iYXNlIGNhbiB1bmRlcmZsb3cgaWYgaXQgZmFpbHMgdG8gZmluZCBmcmVlIHNwYWNlLiAgVGhpcyB3YXMgZml4ZWQKKyAgICBpbiBsaW51eCB3aXRoIGNvbW1pdCBkOTAyNGRmMDJmZmU3NGQ3MjNkOTdkNTUyZjg2ZGUzYjM0YmViOGNjLiAgVGhpcyBwYXRjaAorICAgIG1lcmVseSB1cGRhdGVzIF9fbG1iX2FsbG9jX2Jhc2UgdG8gcmVzZW1ibGUgdGhlIGN1cnJlbnQgdmVyc2lvbiBpbiBMaW51eC4KKworICAgIFNpZ25lZC1vZmYtYnk6IEFuZHkgRmxlbWluZyA8YWZsZW1pbmdAZnJlZXNjYWxlLmNvbT4KKworY29tbWl0IDYzNzk2YzRlNjFiMjA3ZDJlNjM1NzI5ZDQxYjdhN2Y3ZDE4OGIwM2MKK0F1dGhvcjogQW5keSBGbGVtaW5nIDxhZmxlbWluZ0BmcmVlc2NhbGUuY29tPgorRGF0ZToJTW9uIEp1biAxNiAxMzo1ODo1NCAyMDA4IC0wNTAwCisKKyAgICBBZGQgbG1iX2ZyZWUKKworICAgIGxtYl9mcmVlIGFsbG93cyB1cyB0byB1bnJlc2VydmUgc29tZSBtZW1vcnkgc28gd2UgY2FuIHVzZSBsbWJfYWxsb2NfYmFzZSBvcgorICAgIGxtYl9yZXNlcnZlIHRvIHRlbXBvcmFyaWx5IHJlc2VydmUgc29tZSBtZW1vcnkuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBBbmR5IEZsZW1pbmcgPGFmbGVtaW5nQGZyZWVzY2FsZS5jb20+CisKK2NvbW1pdCA0YjAzYWM4YjUxMDJhZDk1ZjlmZWRlN2QxM2ZhMjM2OTc3NTkzZTdkCitBdXRob3I6IEFuZHkgRmxlbWluZyA8YWZsZW1pbmdAZnJlZXNjYWxlLmNvbT4KK0RhdGU6CU1vbiBKdW4gMTYgMTM6NTg6NTMgMjAwOCAtMDUwMAorCisgICAgQWRkIEFMSUdOKCkgbWFjcm8KKworICAgIEFMSUdOKCkgcmV0dXJucyB0aGUgc21hbGxlc3QgYWxpZ25lZCB2YWx1ZSBncmVhdGVyIHRoYW4gdGhlIHBhc3NlZAorICAgIGluIGFkZHJlc3Mgb3Igc2l6ZS4gIFRha2VuIGZyb20gTGludXguCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBBbmR5IEZsZW1pbmcgPGFmbGVtaW5nQGZyZWVzY2FsZS5jb20+CisKK2NvbW1pdCAyOGVhYjBkNzczNTJiODQ4ODVmOTM4NzU5YmYyNjEyYjdiZjBiYzQ0CitBdXRob3I6IEhhYXZhcmQgU2tpbm5lbW9lbiA8aHNraW5uZW1vZW5AYXRtZWwuY29tPgorRGF0ZToJTW9uIE1heSAxOSAxMjoyNjozOCAyMDA4ICswMjAwCisKKyAgICBDb25kaXRpb25hbGx5IGFkZCAtZm5vLXN0YWNrLXByb3RlY3RvciB0byBDRkxBR1MKKworICAgIFdoZW4gY29tcGlsZS10ZXN0aW5nIG9uIHBvd2VycGMsIEkgZ2V0IGVycm9ycyBsaWtlIHRoaXM6CisKKyAgICBuZXQvbmZzLmM6NDIyOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfX3N0YWNrX2Noa19mYWlsX2xvY2FsJworCisgICAgVGhpcyBzZWVtcyB0byBiZSBiZWNhdXNlIC1mc3RhY2stcHJvdGVjdG9yIGlzIG9uIGJ5IGRlZmF1bHQsIHNvCisgICAgbGV0J3MgZXhwbGljaXRseSBkaXNhYmxlIGl0IG9uIGFsbCBhcmNoaXRlY3R1cmVzIHRoYXQgc3VwcG9ydCB0aGUKKyAgICBvcHRpb24uCisKKyAgICBUaGUgVWJ1bnR1IHRvb2xjaGFpbiBpcyBhZmZlY3RlZCBieSB0aGlzIHByb2JsZW0sIGFuZCBhY2NvcmRpbmcgdG8KKyAgICBNaWtlIEZyeXNpbmdlciwgR2VudG9vIGhhcyBiZWVuIHJ1bm5pbmcgd2l0aCBTU1AgZW5hYmxlZCBmb3IgeWVhcnMuCisgICAgTW9yZSBhbmQgbW9yZSBkaXN0cm9zIGFyZSB0dXJuaW5nIFNTUCBvbiBieSBkZWZhdWx0LCBzbyB0aGlzIHByb2JsZW0KKyAgICBpcyBsaWtlbHkgdG8gZ2V0IHdvcnNlIGluIHRoZSBmdXR1cmUuCisKKyAgICBBbHNvLCBwb3dlcnBjIGp1c3QgaGFwcGVucyB0byBiZSBvbmUgb2YgdGhlIGFyY2hlcyBJIGRvCisgICAgY29tcGlsZS10ZXN0aW5nIG9uLiBUaGVyZSBtYXkgYmUgb3RoZXIgYXJjaGVzIGFmZmVjdGVkIGJ5IHRoaXMgdG9vLgorCisgICAgU2lnbmVkLW9mZi1ieTogSGFhdmFyZCBTa2lubmVtb2VuIDxoc2tpbm5lbW9lbkBhdG1lbC5jb20+CisKK2NvbW1pdCBkZmQzYmU4ODFjMDNhMjZlMzFmMGRlYTRhNDJlNzYwNjFmYTYxMGFjCitBdXRob3I6IEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+CitEYXRlOglTdW4gTWF5IDE4IDE5OjA5OjUyIDIwMDggKzAyMDAKKworICAgIHBjbWNpYS90aV9wY2kxNDEwYTogTW92ZSBjb21waWxlIGNvbmRpdGlvbiB0byB0aGUgTWFrZWZpbGUKKworICAgIFNpZ25lZC1vZmYtYnk6IEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+CisKK2NvbW1pdCA3MmQ1ZDVmN2I1Yzc0YTE4OGRmMjM4ZWM2ZGQ4MjRkODBjNzQ4NTdhCitBdXRob3I6IEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+CitEYXRlOglTdW4gTWF5IDE4IDE5OjA5OjUxIDIwMDggKzAyMDAKKworICAgIHB4YV9wY21jaWE6IE1vdmUgY29tcGlsZSBjb25kaXRpb24gdG8gdGhlIE1ha2VmaWxlCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxhZ25pb2pAamNyb3NvZnQuY29tPgorCitjb21taXQgYzllZmYzMjg4MWZiNDI5MTAxYzkzN2NmOGMyNjhmMWQ0MmU1YzJhOQorQXV0aG9yOiBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxhZ25pb2pAamNyb3NvZnQuY29tPgorRGF0ZToJU3VuIE1heSAxOCAxOTowOTo1MCAyMDA4ICswMjAwCisKKyAgICBtYXJhYnVuX3BjbWNpYTogTW92ZSBjb21waWxlIGNvbmRpdGlvbiB0byB0aGUgTWFrZWZpbGUKKworICAgIFNpZ25lZC1vZmYtYnk6IEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+CisKK2NvbW1pdCBiNGZlMWE3MTA5MGM3M2VmYzZlNDE4OGVlZDE4OGIyZmY2N2ZjMDJhCitBdXRob3I6IFdvbGZnYW5nIEdyYW5kZWdnZXIgPHdnQGdyYW5kZWdnZXIuY29tPgorRGF0ZToJVGh1IEp1biA1IDEzOjAyOjMwIDIwMDggKzAyMDAKKworICAgIE1QQzgzNjBFUkRLOiBhZGFwdCBOQU5EIGludGVyZmFjZSBmb3IgdGhlIHJlLXdyaXR0ZW4gRlNMIE5BTkQgVVBNIGRyaXZlcgorCisgICAgVGhpcyBwYXRjaCBpcyBiYXNlZCBvbiB0aGUgZm9sbG93aW5nIHBhdGNoIHNlbnQgYSBmZXcgbWludXRlcyBhZ286CisgICAgIk5BTkQgRlNMIFVQTTogZHJpdmVyIHJlLXdyaXRlIHVzaW5nIHRoZSBod2NvbnRyb2wgY2FsbGJhY2siCisgICAgSXQgaXMgdW50ZXN0ZWQsIG9mIGNvdXJzZS4gQW50b24sIGNvdWxkIHlvdSBwbGVhc2UgZ2l2ZSBpdCBhIHRyeS4KKworICAgIFNpZ25lZC1vZmYtYnk6IFdvbGZnYW5nIEdyYW5kZWdnZXIgPHdnQGdyYW5kZWdnZXIuY29tPgorICAgIEFja2VkLWJ5OiBBbnRvbiBWb3JvbnRzb3YgPGF2b3JvbnRzb3ZAcnUubXZpc3RhLmNvbT4KKworY29tbWl0IDk2MDI2ZDQyZmE0ZTY0NmQyODMxOGMwYTE0MzhhYWM0YjIwMTc5MDkKK0F1dGhvcjogQW5hdG9saWogR3VzdHNjaGluIDxhZ3VzdEBkZW54LmRlPgorRGF0ZToJVGh1IEp1biAxMiAxMjo0MDoxMSAyMDA4ICswMjAwCisKKyAgICBGaXggNHh4IGJ1aWxkIGlzc3VlCisKKyAgICBCdWlsZGluZyBmb3IgNHh4IGRvZXNuJ3Qgd29yayBzaW5jZSBjb21taXQgNGRiZGI3Njg6CisKKyAgICBJbiBmaWxlIGluY2x1ZGVkIGZyb20gNHh4X3BjaWUuYzoyODoKKyAgICBpbmNsdWRlL2FzbS9wcm9jZXNzb3IuaDo5NzE6IGVycm9yOiBleHBlY3RlZCAnKScgYmVmb3JlICd2ZXInCisgICAgbWFrZVsxXTogKioqIFs0eHhfcGNpZS5vXSBFcnJvciAxCisKKyAgICBUaGlzIHBhdGNoIGZpeGVzIHRoZSBwcm9ibGVtLgorCisgICAgU2lnbmVkLW9mZi1ieTogQW5hdG9saWogR3VzdHNjaGluIDxhZ3VzdEBkZW54LmRlPgorICAgIEFja2VkLWJ5OiBTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CisgICAgQWNrZWQtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCBmYjhjMDYxZWEwNWZjNjhkMzdlMmE4YjlmOGM5NDlkNzZjOGQ3MWE4CitBdXRob3I6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KK0RhdGU6CU1vbiBKdW4gMTYgMTA6NDA6MDIgMjAwOCArMDIwMAorCisgICAgY2ZpLWZsYXNoOiBGaXggcHJvYmxlbSBpbiBmbGFzaF90b2dnbGUoKSwgYnVzeSB3YXMgbm90IGRldGVjdGVkIHJlbGlhYmx5CisKKyAgICBUaGlzIHBhdGNoIHNpbXBsaWZpZXMgZmxhc2hfdG9nZ2xlKCkgKEFNRCBjb21tYW5kc2V0KSwgd2hpY2ggaXMgdXNlZCB0bworICAgIGRldGVjdCBpZiBhIEZMQVNIIGRldmljZSBpcyBzdGlsbCBidXN5IHdpdGggZXJhc2UvcHJvZ3JhbSBvcGVyYXRpb25zLiBPbgorICAgIDgwME1IeiBDYW55b25sYW5kcy9HbGFjaWVyIGJvYXJkcyAoNDYwRVgvR1QpIHRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uCisgICAgZGlkIG5vdCBkZXRlY3QgdGhlIGJ1c3kgc3RhdGUgcmVsaWFibHksIHJlc3VsdGluZyBpbiBub24gZXJhc2VkIHNlY3RvcnMKKyAgICBldGMuIFRoaXMgcGF0Y2ggbm93IHNpbXBsaWZpZXMgdGhpcyBmdW5jdGlvbiBieSAianVzdCIgY29tcGFyaW5nIHRoZQorICAgIGNvbXBsZXRlIGRhdGEtd29yZCBpbnN0ZWFkIG9mIEFORGluZyBpdCB3aXRoIHRoZSBjb21tYW5kLXdvcmQgKDB4NDApCisgICAgYmVmb3JlIHRoZSBjb21wYXRpc29uLiBJdCBpcyBkb25lIHRoZSBzYW1lIHdheSBpbiB0aGUgTGludXggaW1wbGVtZW50YXRpb24KKyAgICBjaGlwX3JlYWR5KCkgaW4gY2ZpX2NtZHNldF8wMDAyLmMuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CisKK2NvbW1pdCA5ZTQwMDZiY2EzZDlmYjRhMmQwNjE5OTY3NzEwMzZjYjAxZTUzOWQzCitBdXRob3I6IFBoaWxpcCBCYWxpc3RlciA8cGhpbGlwQGJhbGlzdGVyLm9yZz4KK0RhdGU6CU1vbiBKdW4gMTYgMDg6NTg6MDcgMjAwOCAtMDQwMAorCisgICAgTkFORDogQWRkIG1pc3NpbmcgZGVjbGFyYXRpb24gdG8gbm9uLXJlZHVuZGFudCBzYXZlZW52KCkuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTY290dCBXb29kIDxzY290dHdvb2RAZnJlZXNjYWxlLmNvbT4KKworY29tbWl0IDJjZGI3ZjUwYWM1OTU5NDU0MGZmZmRmOGRiZDdiMTJiZWFjNzljNTIKK0F1dGhvcjogV29sZmdhbmcgR3JhbmRlZ2dlciA8d2dAZ3JhbmRlZ2dlci5jb20+CitEYXRlOglNb24gSnVuIDIgMTU6MDk6NTUgMjAwOCArMDIwMAorCisgICAgTVBDODM2MEVSREs6IGFkYXB0IE5BTkQgaW50ZXJmYWNlIGZvciB0aGUgcmUtd3JpdHRlbiBGU0wgTkFORCBVUE0gZHJpdmVyCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBXb2xmZ2FuZyBHcmFuZGVnZ2VyIDx3Z0BncmFuZGVnZ2VyLmNvbT4KKyAgICBBY2tlZC1ieTogQW50b24gVm9yb250c292IDxhdm9yb250c292QHJ1Lm12aXN0YS5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogU2NvdHQgV29vZCA8c2NvdHR3b29kQGZyZWVzY2FsZS5jb20+CisKK2NvbW1pdCAyMTJlZDkwNjE1YzNkMjBmYTZiZDczZDcwZDUxNTNiZDBkMTI0ZTVmCitBdXRob3I6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KK0RhdGU6CVR1ZSBKdW4gMTAgMTU6MzQ6MTEgMjAwOCArMDIwMAorCisgICAgcHBjNHh4OiBDYW55b25sYW5kczogRGlzYWJsZSB0aGUgUlRDIE00MVQ2MiBzcXVhcmUgd2F2ZSBvdXRwdXQKKworICAgIFRoaXMgcGF0Y2ggZGlzYWJsZXMgdGhlIHNxdWFyZSB3YXZlIG91dHB1dCBvZiB0aGUgTTQxVDYyIFJUQyB1c2VkIG9uCisgICAgQ2FueW9ubGFuZHMgJiBHbGFjaWVyLiBIZXJlIHRoZSBleHBsYW5hdGlvbjoKKworICAgIFRoZSBzZXJpYWwgcmVhbC10aW1lIGNsb2NrIHBhcnQgdXNlZCBpbiB0aGUgZGVzaWduIGlzIGFuCisgICAgU1RNaWNybyBNNDFUNjIuIFRoaXMgcGFydCBoYXMgYSBmdWxsLXRpbWUgMzJLSHogc3F1YXJlIHdhdmUKKyAgICBvdXRwdXQgdGhhdCBpcyBjb25uZWN0ZWQgdG8gdGhlIFRtckNsayBpbnB1dCB0byB0aGUKKyAgICBwcm9jZXNzb3IuIFRoZSBkZWZhdWx0IHN0YXRlIGZvciB0aGlzIHNxdWFyZSB3YXZlIG91dHB1dCBpcworICAgIGVuYWJsZWQgc28gdGhlIG91dHB1dCBydW5zIGNvbnRpbnVvdXNseSB3aGVuIHRoZSBib2FyZCBpcworICAgIHBvd2VyZWQgbm9ybWFsbHkgYW5kIGFsc28gZnJvbSB0aGUgYmF0dGVyeS4gVGhlIFRtckNsayBpbnB1dAorICAgIHRvIHRoZSBwcm9jZXNzb3IgZ29lcyB0byBncm91bmQgd2hlbiB0aGUgcG93ZXIgaXMgcmVtb3ZlZAorICAgIGZyb20gdGhlIGJvYXJkL3Byb2Nlc3NvciwgYW5kIHRoZXJlZm9yZSB0aGUgcnVubmluZyBzcXVhcmUKKyAgICB3YXZlIG91dHB1dCBpcyBkcml2aW5nIGdyb3VuZCB3aGljaCBkcmFpbnMgdGhlIGJhdHRlcnkgcXVpY2tseS4KKworICAgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KKworY29tbWl0IGE5NGYyMmYwOGYyODA5MDU5MjYyMTllNTY4NTY4OTY0Y2I5ZWViOWQKK0F1dGhvcjogQW5keSBGbGVtaW5nIDxhZmxlbWluZ0BmcmVlc2NhbGUuY29tPgorRGF0ZToJV2VkIEp1biAxMSAxODoxMDoyMCAyMDA4IC0wNTAwCisKKyAgICBGaXggYnVpbGQgaXNzdWUgd2l0aCBzdHJpbmcuaCBhbmQgbGludXgvc3RyaW5nLmgKKworICAgIFRoaXMgY29tbWl0OgorICAgIGNvbW1pdCAzMzhjYzAzODQ2MWE2Yzc3MDljNWI4NmZkOWEyNDAyMDkzMzhhMWFlCisgICAgQXV0aG9yOiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorICAgIERhdGU6ICAgRnJpIEp1biA2IDE0OjI4OjE0IDIwMDggKzAyMDAKKworCXRvb2xzL21raW1hZ2U6IGZpeCBjb21waWxlciB3YXJuaW5ncyBvbiBzb21lIHN5c3RlbXMuCisKKyAgICBCcm9rZSBidWlsZGluZyBvbiBzb21lIHN5c3RlbXMsIGJlY2F1c2UgdGhlIGhvc3QncyBzdHJpbmcuaCB3YXMgaW50ZXJmZXJpbmcKKyAgICB3aXRoIHUtYm9vdCdzIGxpbnV4L3N0cmluZy5oLiAgSXQgZG9lc24ndCBsb29rIGxpa2Ugd2UgbmVlZCB0aGUgdS1ib290IG9uZSBpZgorICAgIHdlJ3JlIGJ1aWxkaW5nIGZvciB0aGUgaG9zdCwgc28gbm93IHdlIG9ubHkgaW5jbHVkZSB3aGVuIGJ1aWxkaW5nIGluc2lkZQorICAgIHUtYm9vdC4KKworICAgIFNpZ25lZC1vZmYtYnk6IEFuZHkgRmxlbWluZyA8YWZsZW1pbmdAZnJlZXNjYWxlLmNvbT4KKworY29tbWl0IDk5NzNlM2M2MTQ3MjFiYmYxNjk4ODJmZmMzYmUyNjZhNjYxMWNkNjAKK0F1dGhvcjogQmVja3kgQnJ1Y2UgPGJlY2t5LmJydWNlQGZyZWVzY2FsZS5jb20+CitEYXRlOglNb24gSnVuIDkgMTY6MDM6NDAgMjAwOCAtMDUwMAorCisgICAgQ2hhbmdlIGluaXRkcmFtKCkgcmV0dXJuIHR5cGUgdG8gcGh5c19zaXplX3QKKworICAgIFRoaXMgcGF0Y2ggY2hhbmdlcyB0aGUgcmV0dXJuIHR5cGUgb2YgaW5pdGRyYW0oKSBmcm9tIGxvbmcgaW50IHRvIHBoeXNfc2l6ZV90LgorICAgIFRoaXMgaXMgcmVxdWlyZWQgZm9yIGEgY291cGxlIG9mIHJlYXNvbnM6IGxvbmcgaW50IGxpbWl0cyB0aGUgYW1vdW50IG9mIGRyYW0KKyAgICB0byAyR0IsIGFuZCB1LWJvb3QgaW4gZ2VuZXJhbCBpcyBtb3Zpbmcgb3ZlciB0byBwaHlzX3NpemVfdCB0byByZXByZXNlbnQgdGhlCisgICAgc2l6ZSBvZiBwaHlzaWNhbCBtZW1vcnkuICBwaHlzX3NpemVfdCBpcyBkZWZpbmVkIGFzIGFuIHVuc2lnbmVkIGxvbmcgb24gYWxtb3N0CisgICAgYWxsIGN1cnJlbnQgcGxhdGZvcm1zLgorCisgICAgVGhpcyBwYXRjaCAqb25seSogY2hhbmdlcyB0aGUgcmV0dXJuIHR5cGUgb2YgdGhlIGluaXRkcmFtIGZ1bmN0aW9uIChpbgorICAgIGluY2x1ZGUvY29tbW9uLmgsIGFzIHdlbGwgYXMgaW4gZWFjaCBib2FyZCdzIGltcGxlbWVudGF0aW9uIG9mIGluaXRkcmFtKS4gIEl0CisgICAgZG9lcyBub3QgYWN0dWFsbHkgbW9kaWZ5IHRoZSBjb2RlIGluc2lkZSB0aGUgZnVuY3Rpb24gb24gYW55IG9mIHRoZSBwbGF0Zm9ybXM7CisgICAgcGxhdGZvcm1zIHdoaWNoIHdpc2ggdG8gc3VwcG9ydCBtb3JlIHRoYW4gMkdCIG9mIERSQU0gd2lsbCBuZWVkIHRvIG1vZGlmeQorICAgIHRoZWlyIGluaXRkcmFtKCkgZnVuY3Rpb24gY29kZS4KKworICAgIEJ1aWxkIHRlc3RlZCB3aXRoIE1BS0VBTEwgZm9yIHBwYywgYXJtLCBtaXBzLCBtaXBzLWVsLiBCb290ZWQgb24gcG93ZXJwYworICAgIE1QQzg2NDFIUENOLgorCisgICAgU2lnbmVkLW9mZi1ieTogQmVja3kgQnJ1Y2UgPGJlY2t5LmJydWNlQGZyZWVzY2FsZS5jb20+CisKK2NvbW1pdCAzOTFmZDkzYWIyM2UxNWFiM2RkNThhNTRmNWI2MDkwMjQwMDljMzc4CitBdXRob3I6IEJlY2t5IEJydWNlIDxiZWNreS5icnVjZUBmcmVlc2NhbGUuY29tPgorRGF0ZToJTW9uIEp1biA5IDIwOjM3OjE4IDIwMDggLTA1MDAKKworICAgIENoYW5nZSBsbWIgdG8gdXNlIHBoeXNfc2l6ZV90L3BoeXNfYWRkcl90CisKKyAgICBUaGlzIHVwZGF0ZXMgdGhlIGxtYiBjb2RlIHRvIHVzZSBwaHlzX3NpemVfdAorICAgIGFuZCBwaHlzX2FkZHJfdCBpbnN0ZWFkIG9mIHVuc2lnbmVkIGxvbmcuICBPdGhlciBjb2RlCisgICAgd2hpY2ggaW50ZXJhY3RzIHdpdGggdGhpcyBjb2RlLCBsaWtlIGdldGVudl9ib290bV9zaXplKCkKKyAgICBpcyBhbHNvIHVwZGF0ZWQuCisKKyAgICBCb290ZWQgb24gTVBDODY0MUhQQ04sIGJ1aWxkLXRlc3RlZCBwcGMsIGFybSwgbWlwcy4KKworICAgIFNpZ25lZC1vZmYtYnk6IEJlY2t5IEJydWNlIDxiZWNreS5icnVjZUBmcmVlc2NhbGUuY29tPgorCitjb21taXQgNjFiMDlmYzI5NTJkYzYzNjAxN2RmNGU3OTcwZTNkZTEzMjI3NmJhMQorQXV0aG9yOiBCZWNreSBCcnVjZSA8YmVja3kuYnJ1Y2VAZnJlZXNjYWxlLmNvbT4KK0RhdGU6CU1vbiBKdW4gOSAyMDozNzoxNyAyMDA4IC0wNTAwCisKKyAgICBDaGFuZ2UgcHJpbnRfc2l6ZSB0byB0YWtlIHBoeXNfc2l6ZV90CisKKyAgICBTaWduZWQtb2ZmLWJ5OiBCZWNreSBCcnVjZSA8YmVja3kuYnJ1Y2VAZnJlZXNjYWxlLmNvbT4KKworY29tbWl0IGI1N2NhM2UxMjhjYzEwYTEzM2JhNzliYzdlYzNlN2I1MGU3YzhmYmUKK0F1dGhvcjogQmVja3kgQnJ1Y2UgPGJlY2t5LmJydWNlQGZyZWVzY2FsZS5jb20+CitEYXRlOglNb24gSnVuIDkgMjA6Mzc6MTYgMjAwOCAtMDUwMAorCisgICAgQ2hhbmdlIGJkL2dkIG1lbXNpemUvcmFtX3NpemUgdG8gYmUgcGh5c19zaXplX3QuCisKKyAgICBDdXJyZW50bHksIGJvdGggYXJlIGRlZmluZWQgYXMgYW4gdW5zaWduZWQgbG9uZywgYnV0CisgICAgc2hvdWxkIGJlIHBoeXNfc2l6ZV90LiBUaGlzIHNob3VsZCByZXN1bHQgaW4gbm8gcmVhbCBjaGFuZ2UsCisgICAgc2luY2UgcGh5c19zaXplX3QgaXMgY3VycmVudGx5IGFuIHVuc2lnbmVkIGxvbmcgZm9yIGFsbCB0aGUKKyAgICBkZWZhdWx0IGNvbmZpZ3MuICBBbHNvIGFkZCBwcmludF9sbnVtIHRvIGNtZF9iZGluZm8gdG8gZGVhbAorICAgIHdpdGggdGhlIHBvdGVudGlhbGx5IHdpZGVyIG1lbXNpemUuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBCZWNreSBCcnVjZSA8YmVja3kuYnJ1Y2VAZnJlZXNjYWxlLmNvbT4KKworY29tbWl0IGJhMDRmNzAxMDk1OGU4OGE4OTEwZjJhMTIzZmVlNTNmZGM3MmUwMTMKK0F1dGhvcjogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KK0RhdGU6CVR1ZSBKdW4gMTAgMTY6MTY6MDIgMjAwOCAtMDUwMAorCisgICAgRlNMIExBVzogQWRkIG5ldyBpbnRlcmZhY2UgdG8gdXNlIHRoZSBsYXN0IGZyZWUgTEFXCisKKyAgICBMQVdzIGhhdmUgdGhlIGNvbmNlcHQgb2YgcHJpb3JpdHkgc28gaXRzIHVzZWZ1bCB0byBiZSBhYmxlIHRvIGFsbG9jYXRlCisgICAgdGhlIGxvd2VzdCAoaGlnaGVzdCBudW1iZXIpIHByaW9yaXR5LiAgV2Ugd2lsbCBlbmQgdXAgdXNpbmcgdGhpcyB3aXRoIHRoZQorICAgIG5ldyBERFIgY29kZS4KKworICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCA4NTlhODZhMjVjNTY5ZDM2NjVmZjQxM2QxZDkyMzM5NGI4YTk2MWYzCitBdXRob3I6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CitEYXRlOglXZWQgSnVuIDExIDAwOjUxOjQ1IDIwMDggLTA1MDAKKworICAgIDg1eHgvODZ4eDogTW92ZSB0byBkeW5hbWljIG1nbXQgb2YgTEFXcworCisgICAgV2l0aCB0aGUgbmV3IExBVyBpbnRlcmZhY2UgKHNldF9uZXh0X2xhdykgd2UgY2FuIG1vdmUgdG8gbGV0dGluZyB0aGUKKyAgICBzeXN0ZW0gYWxsb2NhdGUgd2hpY2ggTEFXcyBhcmUgdXNlZCBmb3Igd2hhdCBwdXJwb3NlLiAgVGhpcyBtYWtlcyBsaWZlCisgICAgYSBiaXQgZWFzaWVyIGdvaW5nIGZvcndhcmQgd2l0aCB0aGUgbmV3IEREUiBjb2RlLgorCisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKyAgICBTaWduZWQtb2ZmLWJ5OiBBbmR5IEZsZW1pbmcgPGFmbGVtaW5nQGZyZWVzY2FsZS5jb20+CisgICAgQWNrZWQtYnk6IEpvbiBMb2VsaWdlciA8amRsQGZyZWVzY2FsZS5jb20+CisgICAgQWNrZWQtYnk6IEJlY2t5IEJydWNlIDxiZWNreS5icnVjZUBmcmVlc2NhbGUuY29tPgorCitjb21taXQgZjA2MDA1NGRhZGJiZTcwMjdjYTA4OGVlZDgwNmEzZWYxZjgyZmRiNworQXV0aG9yOiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorRGF0ZToJV2VkIEp1biAxMSAwMDo0NDoxMCAyMDA4IC0wNTAwCisKKyAgICBGU0wgTEFXOiBLZWVwIHRyYWNrIG9mIExBVyBhbGxvY2F0aW9ucworCisgICAgTWFrZSBpdCBzbyB3ZSBrZWVwIHRyYWNrIG9mIHdoaWNoIExBV3MgaGF2ZSBhbGxvY2F0ZWQgYW5kIHByb3ZpZGUKKyAgICBhIGZ1bmN0aW9uIChzZXRfbmV4dF9sYXcpIHdoaWNoIGNhbiBhbGxvY2F0ZSBhIExBVyBmb3IgdXMgaWYgb25lIGlzCisgICAgZnJlZS4KKworICAgIEluIHRoZSBmdXR1cmUgd2Ugd2lsbCBtb3ZlIHRvIGRvaW5nIG1vcmUgImR5bmFtaWMiIExBVyBhbGxvY2F0aW9uCisgICAgc2luY2UgdGhlIG1ham9yaXR5IG9mIHVzZXJzIGRvbnQgcmVhbGx5IGNhcmUgYWJvdXQgd2hhdCBMQVcgbnVtYmVyCisgICAgdGhleSBhcmUgYXQuCisKKyAgICBBbHNvLCBhZGQgQ09ORklHX01QQzg1NDAgb3IgQ09ORklHX01QQzg1NjAgdG8gdGhvc2UgYm9hcmRzIHdoaWNoIG5lZWRlZCB0aGVtCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorICAgIFNpZ25lZC1vZmYtYnk6IEFuZHkgRmxlbWluZyA8YWZsZW1pbmdAZnJlZXNjYWxlLmNvbT4KKworY29tbWl0IGRkZGU3NGExNTljYWE2ZTE4YjQ4MWZlYzAxZDQwYjg4NWFlYmI1NjYKK0F1dGhvcjogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KK0RhdGU6CU1vbiBKdW4gOSAyMjozMTo1NyAyMDA4IC0wNTAwCisKKyAgICA4NXh4OiByZW1vdmUgZHVtbXkgYm9hcmRfZWFybHlfaW5pdF9mCisKKyAgICBBIG51bWJlciBvZiBib2FyZCBwb3J0cyBoYXZlIGVtcHR5IHZlcnNpb24gb2YgYm9hcmRfZWFybHlfaW5pdF9mCisgICAgZm9yIG5vIHJlYXNvbiBzaW5jZSB3ZSBjb250cm9sIGl0cyB2aWEgQ09ORklHX0JPQVJEX0VBUkxZX0lOSVRfRi4KKworICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCA4MWU1NmU5YWYwZDQzNzEyZGI4ZWZiODQzNjA2YThkNjJlYWI0NTRmCitBdXRob3I6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CitEYXRlOglNb24gSnVuIDkgMTg6NTU6MzggMjAwOCAtMDUwMAorCisgICAgTVBDODU0NERTOiBVcGRhdGUgY29uZmlnLmgKKworICAgICogRW5hYmxlIGZsYXNoIHByb2dyZXNzCisgICAgKiByZW1vdmUgQ0xFQVJfTEFXMCBzaW5jZSB3ZSBkb250IHJlYWxseSB1c2UgaXQKKworICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCA5NzhlODE2MDRjMWIyODUyNmVkNTgwZGYwZmJlNjRlYjgzODRlOTRmCitBdXRob3I6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CitEYXRlOglNb24gSnVuIDkgMTM6Mzc6MjQgMjAwOCAtMDUwMAorCisgICAgODV4eDogUmVtb3ZlIHVudXNlZCBhbmQgdW5jb25maWd1cmVkIG1lbW9yeSB0ZXN0IGNvZGUuCisKKyAgICBSZW1vdmUgdW51c2VkIGFuZCB1bmNvbmZpZ3VyZWQgRERSIHRlc3QgY29kZSBmcm9tIEZTTCA4NXh4IGJvYXJkcy4KKyAgICBCZXNpZGVzLCBvdGhlciBjb21tb24gY29kZSBleGlzdHMuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorCitjb21taXQgYTIzY2RkZGUxYTk1Zjk4N2UzZmUyYTcyMGE3ZWM5Mzc1YjcyNjRkNworQXV0aG9yOiBTZXJnZWkgUG9zZWxlbm92IDxzcG9zZWxlbm92QGVtY3JhZnQuY29tPgorRGF0ZToJRnJpIEp1biA2IDE1OjQyOjQ1IDIwMDggKzAyMDAKKworICAgIFNvY3JhdGVzOiBBZGRlZCBGUEdBIGJhc2UgYWRkcmVzcyB1cGRhdGUgaW4gRkRULgorCisgICAgU2lnbmVkLW9mZi1ieTogU2VyZ2VpIFBvc2VsZW5vdiA8c3Bvc2VsZW5vdkBlbWNyYWZ0LmNvbT4KKworY29tbWl0IGZkNTFiMGUwZTYyMGI4YmM5ZmQ0ZjZkYWEzYTRmYTZmNWUxMzE2ZjQKK0F1dGhvcjogU2VyZ2VpIFBvc2VsZW5vdiA8c3Bvc2VsZW5vdkBlbWNyYWZ0LmNvbT4KK0RhdGU6CUZyaSBKdW4gNiAxNTo0Mjo0NCAyMDA4ICswMjAwCisKKyAgICBTb2NyYXRlczogTkFORCBzdXBwb3J0IGFkZGVkLiBDaGFuZ2VkIHRoZSBVLUJvb3QgYmFzZSBhZGRyZXNzIGFuZAorCisgICAgU2lnbmVkLW9mZi1ieTogU2VyZ2VpIFBvc2VsZW5vdiA8c3Bvc2VsZW5vdkBlbWNyYWZ0LmNvbT4KKworY29tbWl0IDI0OGFlNWNmYzhiZjY5MDc0ZDFkYTA5OWRjNDk1ZDhlMDYwNzA1NDcKK0F1dGhvcjogU2VyZ2VpIFBvc2VsZW5vdiA8c3Bvc2VsZW5vdkBlbWNyYWZ0LmNvbT4KK0RhdGU6CUZyaSBKdW4gNiAxNTo0Mjo0MyAyMDA4ICswMjAwCisKKyAgICBOQU5EOiBBZGRlZCBzdXBwb3J0IGZvciAxMjgtYml0IE9PQiwgYWRhcHRlZAorCisgICAgU2lnbmVkLW9mZi1ieTogU2VyZ2VpIFBvc2VsZW5vdiA8c3Bvc2VsZW5vdkBlbWNyYWZ0LmNvbT4KKworY29tbWl0IDMxY2EwMjA4NjEyZjJlYjU3NjkwMTEwZDdjMjgxNTk1MzY1MGU0N2IKK0F1dGhvcjogU2VyZ2VpIFBvc2VsZW5vdiA8c3Bvc2VsZW5vdkBlbWNyYWZ0LmNvbT4KK0RhdGU6CUZyaSBKdW4gNiAxNTo0Mjo0MiAyMDA4ICswMjAwCisKKyAgICBTb2NyYXRlczogYWRkZWQgbWlzc2VkIGZpbGUgd2l0aCBVUE1BIGNvbmZpZ3VyYXRpb24gZGF0YS4KKworICAgIFNpZ25lZC1vZi1ieTogU2VyZ2VpIFBvc2VsZW5vdiA8c3Bvc2VsZW5vdkBlbWNyYWZ0LmNvbT4KKworY29tbWl0IDU5YWJkMTViNDNjYWI3YTRkMTlkZTRiYTA5NDM4MzdkOTU1NWY3YmEKK0F1dGhvcjogU2VyZ2VpIFBvc2VsZW5vdiA8c3Bvc2VsZW5vdkBlbWNyYWZ0LmNvbT4KK0RhdGU6CUZyaSBKdW4gNiAxNTo0Mjo0MSAyMDA4ICswMjAwCisKKyAgICBTb2NyYXRlczogQWRkZWQgRlBHQSBtYXBwaW5nLiBMQVdzIGFuZCBUTEJzIGNsZWFudXAuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTZXJnZWkgUG9zZWxlbm92IDxzcG9zZWxlbm92QGVtY3JhZnQuY29tPgorCitjb21taXQgNzQwMjgwZTY4Y2NjMGI5NzFlNjEzZmFjZTdlYWFhOGJkMTM4MmI4YworQXV0aG9yOiBTZXJnZWkgUG9zZWxlbm92IDxzcG9zZWxlbm92QGVtY3JhZnQuY29tPgorRGF0ZToJRnJpIEp1biA2IDE1OjQyOjQwIDIwMDggKzAyMDAKKworICAgIEFkZGVkIHRoZSB1cG1jb25maWcoKSBmdW5jdGlvbiBmb3IgODV4eC4KKworICAgIFNpZ25lZC1vZmYtYnk6IFNlcmdlaSBQb3NlbGVub3YgPHNwb3NlbGVub3ZAZW1jcmFmdC5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogQW5keSBGbGVtaW5nIDxhZmxlbWluZ0BmcmVlc2NhbGUuY29tPgorCitjb21taXQgZDM5ZTY4NTE0ZmY5NDM5MzBlZTY5MmNmZjNmZGUwMzUzMmViN2ZlYworQXV0aG9yOiBTZXJnZWkgUG9zZWxlbm92IDxzcG9zZWxlbm92QGVtY3JhZnQuY29tPgorRGF0ZToJRnJpIEp1biA2IDE1OjQyOjM5IDIwMDggKzAyMDAKKworICAgIFNvY3JhdGVzOiBjb25maWcgZmlsZSBjbGVhbnVwLgorCisgICAgU2lnbmVkLW9mZi1ieTogU2VyZ2VpIFBvc2VsZW5vdiA8c3Bvc2VsZW5vdkBlbWNyYWZ0LmNvbT4KKworY29tbWl0IGU4Y2MzZjA0YjEyNGY3NTdhZjQ1MjgyMDZlNjBkOGViNzE1YWUwODMKK0F1dGhvcjogV29sZmdhbmcgR3JhbmRlZ2dlciA8d2dAZ3JhbmRlZ2dlci5jb20+CitEYXRlOglUaHUgSnVuIDUgMTM6MTI6MTAgMjAwOCArMDIwMAorCisgICAgVFFNODV4eDogQ2hhbmdlIG1lbW9yeSBtYXAgdG8gc3VwcG9ydCBGbGFzaCBtZW1vcnkgPiAxMjggTWlCCisKKyAgICBTb21lIFRRTTg1eHggYm9hcmRzIGNvdWxkIGJlIGVxdWlwcGVkIHdpdGggdXAgdG8gMSBHaUIgKE5PUikgRmxhc2gKKyAgICBtZW1vcnkuIFRoZSBjdXJyZW50IG1lbW9yeSBtYXAgb25seSBzdXBwb3J0cyB1cCB0byAxMjggTWlCIEZsYXNoLgorICAgIFRoaXMgcGF0Y2ggYWRkcyB0aGUgY29uZmlndXJhdGlvbiBvcHRpb24gQ09ORklHX1RRTV9CSUdGTEFTSC4gSWYKKyAgICBzZXQsIHVwIHRvIDEgR2lCIGZsYXNoIGlzIHN1cHBvcnRlZC4gVG8gYWNoaWV2ZSB0aGlzLCB0aGUgbWVtb3J5CisgICAgbWFwIGhhcyB0byBiZSBhZGp1c3RlZCBpbiBncmVhdCBwYXJ0cyAoZm9yIGV4YW1wbGUgdGhlIENDU1JCQVIgaXMKKyAgICBtb3ZlZCBmcm9tIDB4RTAwMDAwMDAgdG8gMHhBMDAwMDAwMCkuCisKKyAgICBJZiB5b3Ugd2FudCB0byBib290IExpbnV4IHdpdGggQ09ORklHX1RRTV9CSUdGTEFTSCBzZXQsIHRoZSBuZXcKKyAgICBtZW1vcnkgbWFwIGFsc28gaGFzIHRvIGJlIGNvbnNpZGVyZWQgaW4gdGhlIGtlcm5lbCAoY2hhbmdlZAorICAgIENDU1JCQVIgYWRkcmVzcywgY2hhbmdlZCBQQ0kgSU8gYmFzZSBhZGRyZXNzLCAuLi4pLiBQbGVhc2UgdXNlCisgICAgYW4gYXBwcm9wcmlhdGUgRmxhdCBEZXZpY2UgVHJlZSBibG9iICh0cW04NTQ4LmR0YikuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBNYXJ0aW4gS3JhdXNlIDxtYXJ0aW4ua3JhdXNlQHRxcy5kZT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBXb2xmZ2FuZyBHcmFuZGVnZ2VyIDx3Z0BncmFuZGVnZ2VyLmNvbT4KKworY29tbWl0IDFjMmRlZmYyMmNkNmUyYmYwZTYxOGZkNmUwOWNhM2VlYzVhOGQwNTEKK0F1dGhvcjogV29sZmdhbmcgR3JhbmRlZ2dlciA8d2dAZ3JhbmRlZ2dlci5jb20+CitEYXRlOglUaHUgSnVuIDUgMTM6MTI6MDkgMjAwOCArMDIwMAorCisgICAgVFFNODV4eDogTkFORCBzdXBwb3J0IHZpYSBsb2NhbCBidXMgVVBNQgorCisgICAgVGhpcyBwYXRjaCBhZGRzIHN1cHBvcnQgZm9yIE5BTkQgRkxBU0ggb24gdGhlIFRRTTg1NDguIEl0IGlzIGRpc2FibGVkIGJ5CisgICAgZGVmYXVsdCBhbmQgY2FuIGJlIGVuYWJsZWQgZm9yIHRoZSBUUU04NTQ4IG1vZHVsZXMuIEl0IGlzIG5vdyBiYXNlZCBvbgorICAgIHRoZSByZS13cml0dGVuIEZTTCBOQU5EIFVQTSBkcml2ZXIuIEEgcGF0Y2ggaGFzIGJlZW4gcG9zdGVkIGVhcmxpZXIgdG9kYXkKKyAgICB3aXRoIHRoZSBzdWJqZWN0OgorCisgICAgIk5BTkQgRlNMIFVQTTogZHJpdmVyIHJlLXdyaXRlIHVzaW5nIHRoZSBod2NvbnRyb2wgY2FsbGJhY2siCisKKyAgICBOb3RlIHRoYXQgdGhlIFIvQiBwaW4gaXMgbm90IHN1cHBvcnRlZCBieSB0aGF0IG1vZHVsZSByZXF1aXJpbmcgdG8gdXNlCisgICAgdGhlIHNwZWNpZmllZCBtYXhpbXVtIGRlbGF5IHRpbWUuCisKKyAgICBOb3RlOiBXaXRoIE5BTkQgc3VwcG9ydCBlbmFibGVkIHRoZSBzaXplIG9mIHRoZSBVLUJvb3QgaW1hZ2UgZXhjZWVkcworICAgIDI1NiBLQiBhbmQgVEVYVF9CQVNFIG11c3QgdGhlcmVmb3JlIGJlIHNldCB0byAweGZmZjgwMDAwIGluIGNvbmZpZy5taywKKyAgICBkb3VibGluZyB0aGUgaW1hZ2Ugc2l6ZSA6LSguCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBUaG9tYXMgV2FlaG5lciA8dGhvbWFzLndhZWhuZXJAdHFzLmRlPgorICAgIFNpZ25lZC1vZmYtYnk6IFdvbGZnYW5nIEdyYW5kZWdnZXIgPHdnQGdyYW5kZWdnZXIuY29tPgorCitjb21taXQgYjllODA3OGJiM2YzYzQ4MTExYTcwODFlMjcyNzk5MzhjM2E0NDVlMQorQXV0aG9yOiBXb2xmZ2FuZyBHcmFuZGVnZ2VyIDx3Z0BncmFuZGVnZ2VyLmNvbT4KK0RhdGU6CVRodSBKdW4gNSAxMzoxMjowOCAyMDA4ICswMjAwCisKKyAgICBUUU04NTQ4OiBQQ0kgZXhwcmVzcyBzdXBwb3J0CisKKyAgICBUaGlzIHBhdGNoIGFkZHMgc3VwcG9ydCBmb3IgUENJIGV4cHJlc3MgY2FyZHMuIFRoZSBib2FyZCBzdXBwb3J0CisgICAgbm93IHVzZXMgY29tbW9uIEZTTCBQQ0kgaW5pdCBjb2RlLCBmb3IgYm90aCwgUENJIGFuZCBQQ0llIG9uIGFsbAorICAgIFRRTTg1eHggbW9kdWxlcy4KKworICAgIFNpZ25lZC1vZmYtYnk6IFRob21hcyBXYWVobmVyIDx0aG9tYXMud2FlaG5lckB0cXMuZGU+CisgICAgU2lnbmVkLW9mZi1ieTogV29sZmdhbmcgR3JhbmRlZ2dlciA8d2dAZ3JhbmRlZ2dlci5jb20+CisKK2NvbW1pdCAxMjg3ZTBjNTVhMmVlMmM1NzVhYzljZThlNDMwMmNkNDA4NWJlODc2CitBdXRob3I6IFdvbGZnYW5nIEdyYW5kZWdnZXIgPHdnQGdyYW5kZWdnZXIuY29tPgorRGF0ZToJVGh1IEp1biA1IDEzOjEyOjA3IDIwMDggKzAyMDAKKworICAgIFRRTTg1NDg6IEJhc2ljIHN1cHBvcnQgZm9yIHRoZSBUUU04NTQ4IG1vZHVsZXMKKworICAgIFRoaXMgcGF0Y2ggYWRkcyBiYXNpYyBzdXBwb3J0IGZvciB0aGUgVFFNODU0OCBtb2R1bGUgZnJvbSBUUS1Db21wb25lbnRzCisgICAgKGh0dHA6Ly93d3cudHFjLmRlLykgaW5jbHVkaW5nIEREUjIgU0RSQU0gaW5pdGlhbGlzYXRpb24gYW5kIHN1cHBvcnQgZm9yCisgICAgZVRTRUMgMyBhbmQgNAorCisgICAgRnVydGhlcm1vcmUgRmxhc2ggYnVmZmVyIHdyaXRlIGhhcyBiZWVuIGVuYWJsZWQgdG8gc3BlZWQgdXAgb3V0cHV0IHRvCisgICAgdGhlIEZsYXNoIGJ5IGFwcHJveC4gYSBmYWN0b3Igb2YgMTAuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBUaG9tYXMgV2FlaG5lciA8dGhvbWFzLndhZWhuZXJAdHFzLmRlPgorICAgIFNpZ25lZC1vZmYtYnk6IFdvbGZnYW5nIEdyYW5kZWdnZXIgPHdnQGdyYW5kZWdnZXIuY29tPgorCitjb21taXQgMjU5OTEzNTMyMDRjNzhiMDk0YzNjMWZlYzkwMTgyZGNkNjA3YWI4ZgorQXV0aG9yOiBXb2xmZ2FuZyBHcmFuZGVnZ2VyIDx3Z0BncmFuZGVnZ2VyLmNvbT4KK0RhdGU6CVRodSBKdW4gNSAxMzoxMjowNiAyMDA4ICswMjAwCisKKyAgICBUUU04NXh4OiBTdXBwb3J0IGZvciBGbGF0IERldmljZSBUcmVlCisKKyAgICBUaGlzIHBhdGNoIGFkZHMgc3VwcG9ydCBmb3IgTGludXgga2VybmVscyB1c2luZyB0aGUgRmxhdCBEZXZpY2UgVHJlZS4KKyAgICBJdCBhbHNvIHJlLWRlZmluZXMgdGhlIGRlZmF1bHQgZW52aXJvbm1lbnQgc2V0dGluZ3MgZm9yIGJvb3RpbmcgTGludXgKKyAgICB3aXRoIHRoZSBGRFQgYmxvYi4KKworICAgIFNpZ25lZC1vZmYtYnk6IFdvbGZnYW5nIEdyYW5kZWdnZXIgPHdnQGdyYW5kZWdnZXIuY29tPgorCitjb21taXQgZDllZTg0M2Q1NGM1NDc3NmUxZmRiODYzMzZjZTU1NDkwNmE4NzMzMQorQXV0aG9yOiBXb2xmZ2FuZyBHcmFuZGVnZ2VyIDx3Z0BncmFuZGVnZ2VyLmNvbT4KK0RhdGU6CVRodSBKdW4gNSAxMzoxMjowNSAyMDA4ICswMjAwCisKKyAgICBUUU04NXh4OiBTdXBwb3J0IGZvciBJbnRlbCA4MjUyNyBjb21wYXRpYmxlIENBTiBjb250cm9sbGVyCisKKyAgICBUaGlzIHBhdGNoIGFkZHMgaW5pdGlhbGl6YXRpb24gb2YgdGhlIFVQTUMgUkFNIHRvIHN1cHBvcnQgdXAgdG8gdHdvCisgICAgSW50ZWwgODI1MjcgY29tcGF0aWJsZSBDQU4gY29udHJvbGxlciBvbiB0aGUgVFFNODV4eCBtb2R1bGVzLgorCisgICAgU2lnbmVkLW9mZi1ieTogVGhvbWFzIFdhZWhuZXIgPHRob21hcy53YWVobmVyQHRxcy5kZT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBXb2xmZ2FuZyBHcmFuZGVnZ2VyIDx3Z0BncmFuZGVnZ2VyLmNvbT4KKworY29tbWl0IDUxOGQ1Y2ZlNzI5MTYzMjNjNzQ2YWYxNjQ3NzY0NDU5OTE0ZjU1NWYKK0F1dGhvcjogV29sZmdhbmcgR3JhbmRlZ2dlciA8d2dAZ3JhbmRlZ2dlci5jb20+CitEYXRlOglUaHUgSnVuIDUgMTM6MTI6MDQgMjAwOCArMDIwMAorCisgICAgVFFNODV4eDogQnVnZml4IGluIHRoZSBTRFJBTSBpbml0aWFsaXNhdGlvbgorCisgICAgVGhlIENTMF9CTkRTIHJlZ2lzdGVyIGlzIG5vdyBzZXQgYWNjb3JkaW5nIHRvIHRoZSBkZXRlY3RlZAorICAgIG1lbW9yeSBzaXplLgorCisgICAgU2lnbmVkLW9mZi1ieSBNYXJ0aW4gS3JhdXNlIDxtYXJ0aW4ua3JhdXNlQHRxcy5kZT4KKworY29tbWl0IDQ1ZGVlMmU2MjBjY2VjNmFjN2IzNTQ4ZmU4OTc5YTM0ZmQwMzBlNWQKK0F1dGhvcjogV29sZmdhbmcgR3JhbmRlZ2dlciA8d2dAZ3JhbmRlZ2dlci5jb20+CitEYXRlOglUaHUgSnVuIDUgMTM6MTI6MDMgMjAwOCArMDIwMAorCisgICAgVFFNODV4eDogRml4IGNoaXAgc2VsZWN0IGNvbmZpZ3VyYXRpb24gZm9yIHNlY29uZCBGTEFTSCBiYW5rCisKKyAgICBUaGlzIHBhdGNoIGZpeGVzIHRoZSByZS1jYWxjdWxhdGlvbiBvZiB0aGUgYXV0b21hdGljIGNoaXAgc2VsZWN0CisgICAgY29uZmlndXJhdGlvbiBmb3IgYm9hcmRzIHdpdGggdHdvIHBvcHVsYXRlZCBGTEFTSCBiYW5rcy4KKworICAgIFNpZ25lZC1vZmYtYnk6IE1hcnRpbiBLcmF1c2UgPG1hcnRpbi5rcmF1c2VAdHFzLmRlPgorCitjb21taXQgNDYzNDZmMjdjZGE2ZmQwMjVhNDk2YmRlOGYyZDRhZWVlMDRhY2E1ZgorQXV0aG9yOiBXb2xmZ2FuZyBHcmFuZGVnZ2VyIDx3Z0BncmFuZGVnZ2VyLmNvbT4KK0RhdGU6CVRodSBKdW4gNSAxMzoxMjowMiAyMDA4ICswMjAwCisKKyAgICBUUU04NXh4OiBTdXBwb3J0IGZvciBTcGFuc2lvbiAnTicgdHlwZSBmbGFzaGVzIGFkZGVkCisKKyAgICBUaGUgJ04nIHR5cGUgU3BhbnNpb24gZmxhc2hlcyAoUzI5R0x4eHhOIHNlcmllcykgaGF2ZSBiaWdnZXIgc2VjdG9ycywKKyAgICB0aGFuIHRoZSBmb3JtZXJseSB1c2VkICdNJyB0eXBlcyAoUzI5R0x4eHhNIHNlcmllcyksIHNvIHRoZSBmbGFzaCBsYXlvdXQKKyAgICBuZWVkcyB0byBiZSBjaGFuZ2VkIC0+IG5ldyBzdGFydCBhZGRyZXNzIG9mIHRoZSBlbnZpcm9ubWVudC4gVGhlIG1hY3JvCisgICAgZGVmaW5pdGlvbiBDT05GSUdfVFFNX0ZMQVNIX05fVFlQRSBpcyB1bmRlZmluZWQgYnkgZGVmYXVsdCBhbmQgbXVzdCBiZQorICAgIGRlZmluZWQgZm9yIGJvYXJkcyB3aXRoICdOJyB0eXBlIGZsYXNoZXMuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBNYXJ0aW4gS3JhdXNlIDxtYXJ0aW4ua3JhdXNlQHRxcy5kZT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBXb2xmZ2FuZyBHcmFuZGVnZ2VyIDx3Z0BncmFuZGVnZ2VyLmNvbT4KKworY29tbWl0IDVkNWJkODM4Zjc2ZWFkZTIyYzBlYTQwYTUwMDM4OWY5MjRkMGRhMzYKK0F1dGhvcjogV29sZmdhbmcgR3JhbmRlZ2dlciA8d2dAZ3JhbmRlZ2dlci5jb20+CitEYXRlOglUaHUgSnVuIDUgMTM6MTI6MDEgMjAwOCArMDIwMAorCisgICAgVFFNODV4eDogRml4IENQTSBwb3J0IHBpbiBjb25maWd1cmF0aW9uCisKKyAgICBEbyBub3QgY29uZmlndXJlIHBvcnQgcGlucyBQRDMwL1BEMzEgYXMgU0NDMSBUeEQvUnhEIGV4Y2VwdCBmb3IgdGhlIFRRTTg1NjAKKyAgICBib2FyZC4gT24gdGhlIG90aGVyIFRRTTg1eHggYm9hcmRzIChUUU04NTQxIGFuZCBUUU04NTU1KSBTQ0MxIGlzIG5vdCB1c2VkCisgICAgYXMgc2VyaWFsIGludGVyZmFjZSBhbnl3YXkuIFdvcnNlLCBvbiBzb21lIGJvYXJkIHZhcmlhbnRzIGNvbmZpZ3VyaW5nIHRoZQorICAgIHBpbnMgZm9yIFNDQzEgbGVhZHMgdG8gc2hvcnQgY2lyY3VpdHMgKGZvciBleGFtcGxlIG9uIHRoZSBUUU04NTQxLUJHKS4KKworICAgIFNpZ25lZC1vZmYtYnk6IE1hcnRpbiBLcmF1c2UgPG1hcnRpbi5rcmF1c2VAdHFzLmRlPgorCitjb21taXQgYjk5YmExNjc5ZThjZDUxYjAyM2U2NzA5OGM4OWU2MDZlNDcxMzdkMgorQXV0aG9yOiBXb2xmZ2FuZyBHcmFuZGVnZ2VyIDx3Z0BncmFuZGVnZ2VyLmNvbT4KK0RhdGU6CVRodSBKdW4gNSAxMzoxMjowMCAyMDA4ICswMjAwCisKKyAgICBUUU04NXh4OiBWYXJpb3VzIGNvZGluZyBzdHlsZSBmaXhlcworCisgICAgU2lnbmVkLW9mZi1ieTogV29sZmdhbmcgR3JhbmRlZ2dlciA8d2dAZ3JhbmRlZ2dlci5jb20+CisKK2NvbW1pdCBhZTllOTdmYTk2ZjY0M2M4YmEyYjY2NmIwNmEwMjZjYzg3MTdlYjAwCitBdXRob3I6IEdlcmFsZCBWYW4gQmFyZW4gPHZhbmJhcmVuQGNpZGVhcy5jb20+CitEYXRlOglUdWUgSnVuIDEwIDIyOjE1OjU4IDIwMDggLTA0MDAKKworICAgIGxpYmZkdDogTW92ZSB0aGUgd29ya2luZ19mZHQgcG9pbnRlciB0byBjbWRfZmR0LmMKKworICAgIFRoZSB3b3JraW5nX2ZkdCBwb2ludGVyIHdhcyBkZWNsYXJlZCBpbiBjb21tb24vZmR0X3N1cHBvcnQuYyBidXQgd2FzCisgICAgbm90IHVzZWQgdGhlcmUuICBNb3ZlIGl0IHRvIGNvbW1vbi9jbWRfZmR0LmMgd2hlcmUgaXQgaXMgdXNlZCAoaXQgaXMKKyAgICBhbHNvIHVzZWQgaW4gbGliX3BwYy9ib290bS5jKS4KKworICAgIFNpZ25lZC1vZmYtYnk6IEdlcmFsZCBWYW4gQmFyZW4gPHZhbmJhcmVuQGNpZGVhcy5jb20+CisKK2NvbW1pdCBlNDg5YjljMDc4ZTIyYjBkOWU3NWYwMDJjZDJhMWJkOTY3ZTg4ZjVlCitBdXRob3I6IEtpbSBQaGlsbGlwcyA8a2ltLnBoaWxsaXBzQGZyZWVzY2FsZS5jb20+CitEYXRlOglUdWUgSnVuIDEwIDExOjA2OjE3IDIwMDggLTA1MDAKKworICAgIGZkdDogdW5zaGFkb3cgZ2xvYmFsIHdvcmtpbmcgZmR0IHZhcmlhYmxlCisKKyAgICBkaWZmZXJlbnRpYXRlIHdpdGggbG9jYWwgdmFyaWFibGVzIG9mIHRoZSBzYW1lIG5hbWUgYnkgcmVuYW1pbmcgdGhlCisgICAgZ2xvYmFsICdmZHQnIHZhcmlhYmxlICd3b3JraW5nX2ZkdCcuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBLaW0gUGhpbGxpcHMgPGtpbS5waGlsbGlwc0BmcmVlc2NhbGUuY29tPgorCitjb21taXQgZTFlYjBlMjVkOWQ4ZmQ4ZWZkZmI5M2Y2NzBhNDE3NjYzZjM4NjAyMgorQXV0aG9yOiBBbmR5IEZsZW1pbmcgPGFmbGVtaW5nQGZyZWVzY2FsZS5jb20+CitEYXRlOglUdWUgSnVuIDEwIDE4OjQ5OjM0IDIwMDggLTA1MDAKKworICAgIHNvY3JhdGVzOiBGaXggUENJIGNsayBmaXggcGF0Y2gKKworICAgIFRoZSBzdWJtaXR0ZWQgcGF0Y2ggc2VlbXMgdG8gaGF2ZSBiZWVuIG1vcmUgdXAtdG8tZGF0ZSwgYnV0IGFuIG9sZGVyIHBhdGNoIHdhcworICAgIGFscmVhZHkgaW4gdGhlIHJlcG9zaXRvcnkuCVRoaXMgcGF0Y2ggZW5jb21wYXNzZXMgdGhlIGRpZmZlcmVuY2VzCisKKyAgICBUYWtlbiBlbnRpcmVseSBmcm9tIFNlcmdlaSBQb3NlbGVub3YgPHNwb3NlbGVub3ZAZW1jcmFmdC5jb20+CisKKyAgICBTaWduZWQtb2ZmLWJ5OiBBbmR5IEZsZW1pbmcgPGFmbGVtaW5nQGZyZWVzY2FsZS5jb20+CisKK2NvbW1pdCBhNzVhNTdlZjZlNGI2MTNjODE0MzQ5NzFlOTZlZDcwY2Y5ZWM5YmEwCitBdXRob3I6IFdvbGZnYW5nIEdyYW5kZWdnZXIgPHdnQGdyYW5kZWdnZXIuY29tPgorRGF0ZToJVGh1IEp1biA1IDEzOjAyOjI5IDIwMDggKzAyMDAKKworICAgIE5BTkQgRlNMIFVQTTogZHJpdmVyIHJlLXdyaXRlIHVzaW5nIHRoZSBod2NvbnRyb2wgY2FsbGJhY2sKKworICAgIFRoaXMgaXMgYSByZS13cml0ZSBvZiB0aGUgTkFORCBGU0wgVVBNIGRyaXZlciB1c2luZyB0aGUgbW9yZSB1bml2ZXJzYWwKKyAgICBod2NvbnRyb2wgY2FsbGJhY2sgKGluc3RlYWQgb2YgdGhlIGNtZGZ1bmMgY2FsbGJhY2spLiBIZXJlIGlzIGEgYnJpZWYKKyAgICBsaXN0IG9mIGZ1cmhlciBtb2RpZmljYXRpb25zOgorCisgICAgLSBGb3IgdGhlIHRpbWUgYmVpbmcsIHRoZSBVUE0gc2V0dXAgd3JpdGluZyB0aGUgVVBNIGFycmF5IGhhcyBiZWVuCisgICAgICByZW1vdmVkIGZyb20gdGhlIGRyaXZlciBhbmQgbXVzdCBub3cgYmUgZG9uZSBieSB0aGUgYm9hcmQgc3BlY2lmaWMKKyAgICAgIGNvZGUuCisKKyAgICAtIFRoZSBidXMgd2lkdGggZGVmaW5pdGlvbiBpbiAic3RydWN0IGZzbF91cG1fbmFuZCIgaXMgbm93IGluIGJpdHMgdG8KKyAgICAgIGNvbXBseSB3aXRoIHRoZSBjb3JyZXNwb25kaW5nIExpbnV4IGRyaXZlciBhbmQgOCwgMTYgYW5kIDMyIGJpdAorICAgICAgYWNjZXNzZXMgYXJlIHN1cHBvcnRlZC4KKworICAgIC0gY2hpcC0+ZGV2X3JlYWQgaXMgb25seSBzZXQgaWYgZnVuLT5kZXZfcmVhZHkgIT0gTlVMTCwgd2hpY2ggaXMKKyAgICAgIHJlcXVpcmVkIGZvciBib2FyZHMgbm90IGNvbm5lY3RpbmcgdGhlIFIvQiBwaW4uCisKKyAgICAtIEEgZmV3IGlzc3VlIGhhdmUgYmVlbiBmaXhlZCB3aXRoIE14TVIgYml0IG1hbmlwdWxhdGlvbiBsaWtlIGluIHRoZQorICAgICAgY29ycmVzcG9uZGluZyBMaW51eCBkcml2ZXIuCisKKyAgICBOb3RlOiBJIHRoaW5rIHRoZSAiaW9fYWRkciIgZmllbGQgb2YgInN0cnVjdCBmc2xfdXBtIiBjb3VsZCBiZSByZW1vdmVkCisJICBhcyB3ZWxsLCBiZWNhdXNlIHRoZSBhZGRyZXNzIGlzIGFscmVhZHkgZGV0ZXJtaW5lZCBieQorCSAgIm5hbmQtPklPX0FERFJfW1JXXSIsIGJ1dCBJJ20gbm90IDEwMCUgc3VyZS4KKworICAgIFRoaXMgcGF0Y2ggaGFzIGJlZW4gdGVzdGVkIG9uIGEgVFFNODU0OCBtb2R1bGVzIHdpdGggdGhlIE5BTkQgY2hpcAorICAgIE1pY3JvbiBNVDI5RjhHMDhGQUJXUC4KKworICAgIFRoaXMgcGF0Y2ggaXMgYmFzZWQgb24gdGhlIGZvbGxvd2luZyBwYXRjaGVzIHBvc3RlZCB0byB0aGlzIGxpc3QgYSBmZXcKKyAgICBtaW51dGVzIGFnbzoKKworICAgICAgUFBDOiBhZGQgYWNjZXNzb3IgbWFjcm9zIHRvIGNsZWFyIGFuZCBzZXQgYml0cyBpbiBvbmUgc2hvdAorICAgICAgODN4eC84NXh4Lzg2eHg6IGFkZCBtb3JlIE14TVIgbG9jYWwgYnVzIGRlZmluaXRpb25zCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBXb2xmZ2FuZyBHcmFuZGVnZ2VyIDx3Z0BncmFuZGVnZ2VyLmNvbT4KKyAgICBBY2tlZC1ieTogQW50b24gVm9yb250c292IDxhdm9yb250c292QHJ1Lm12aXN0YS5jb20+CisKK2NvbW1pdCA2YmVlY2ZiYjU0Mjk5MmVlZGU1ODMxMjQwY2Q1ODY3ODI3NDY4M2E5CitBdXRob3I6IFdvbGZnYW5nIEdyYW5kZWdnZXIgPHdnQGdyYW5kZWdnZXIuY29tPgorRGF0ZToJVGh1IEp1biA1IDEzOjExOjU5IDIwMDggKzAyMDAKKworICAgIE1QQzg1eHg6IEJlYXV0aWZ5IGJvb3Qgb3V0cHV0IG9mIEwyIGNhY2hlIGNvbmZpZ3VyYXRpb24KKworICAgIFRoZSBib290IG91dHB1dCBpcyBub3cgYWxpZ25lZCBwb3Blcmx5IHdpdGggb3RoZXIgYm9vdCBvdXRwdXQKKyAgICBsaW5lcywgZS5nLjoKKworICAgICAgRkxBU0g6IDEyOCBNQgorICAgICAgTDI6ICAgIDUxMiBLQiBlbmFibGVkCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBXb2xmZ2FuZyBHcmFuZGVnZ2VyIDx3Z0BncmFuZGVnZ2VyLmNvbT4KKworY29tbWl0IDM5ODQxNTExNGYwYTcwNTE2M2ExNDU0M2U5ZmVmMDNmNzM0YjFmZmEKK0F1dGhvcjogV29sZmdhbmcgR3JhbmRlZ2dlciA8d2dAZ3JhbmRlZ2dlci5jb20+CitEYXRlOglXZWQgSnVuIDQgMTI6NDU6MjIgMjAwOCArMDIwMAorCisgICAgUFBDOiBhZGQgYWNjZXNzb3IgbWFjcm9zIHRvIGNsZWFyIGFuZCBzZXQgYml0cyBpbiBvbmUgc2hvdAorCisgICAgUFBDOiBhZGQgYWNjZXNzb3IgbWFjcm9zIHRvIGNsZWFyIGFuZCBzZXQgYml0cyBpbiBvbmUgc2hvdAorCisgICAgVGhpcyBwYXRjaCBhZGRzIG1hY3JvcyBmcm9tIGxpbnV4L2luY2x1ZGUvYXNtLXBvd2VycGMvaW8uaCB0byBjbGVhciBhbmQKKyAgICBzZXQgYml0cyBpbiBvbmUgc2hvdCB1c2luZyB0aGUgaW5fYmUzMiwgb3V0X2JlMzIsIGV0Yy4gYWNjZXNzb3IgZnVuY3Rpb25zLgorICAgIFRoZXkgYXJlIHZlcnkgaGFuZHkgdG8gbWFuaXB1bGF0ZSBiaXRzIGl0IEkvTyByZWdpc3RlcnMuCisKKyAgICBUaGlzIHBhdGNoIGlzIHJlcXVpcmVkIGZvciBteSBmb3J0aGNvbWluZyBGU0wgTkFORCBVUE0gZHJpdmVyIHJlLXdyaXRlIGFuZAorICAgIHRoZSBzdXBwb3J0IGZvciB0aGUgVFFNODU0OCBtb2R1bGUuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBXb2xmZ2FuZyBHcmFuZGVnZ2VyIDx3Z0BncmFuZGVnZ2VyLmNvbT4KKworY29tbWl0IDQ2Nzc5ODhjN2VkYzA3MGMzNzg2ZDNkYjc5OTRhYmVjYTNhYjgyYTAKK0F1dGhvcjogV29sZmdhbmcgR3JhbmRlZ2dlciA8d2dAZ3JhbmRlZ2dlci5jb20+CitEYXRlOglXZWQgSnVuIDQgMTM6NTI6MTcgMjAwOCArMDIwMAorCisgICAgVFFNOiBtb3ZlIFRRTSBib2FyZHMgdG8gYm9hcmQvdHFjCisKKyAgICBNb3ZlIGFsbCBUUU0gYm9hcmQgZGlyZWN0b3JpZXMgdG8gdGhlIHZlbmRvciBzcGVjaWZpYyBkaXJlY3RvcnkgInRxYyIKKyAgICBmb3IgbW9kdWxlcyBmcm9tIFRRLUNvbXBvbmVudHMgR21iSCAoaHR0cDovL3d3dy50cWMuZGUpLgorCisgICAgU2lnbmVkLW9mZi1ieTogV29sZmdhbmcgR3JhbmRlZ2dlciA8d2dAZ3JhbmRlZ2dlci5jb20+CisKK2NvbW1pdCA2ZmFiMmZlNzJjYTViZjk1MjgwY2Q1MmNkZjM3OGFmM2U1MDZlYjUwCitBdXRob3I6IFdvbGZnYW5nIEdyYW5kZWdnZXIgPHdnQGdyYW5kZWdnZXIuY29tPgorRGF0ZToJTW9uIEp1biAyIDEyOjA5OjMwIDIwMDggKzAyMDAKKworICAgIDgzeHgvODV4eC84Nnh4OiBhZGQgbW9yZSBNeE1SIGxvY2FsIGJ1cyBkZWZpbml0aW9ucworCisgICAgODN4eC84NXh4Lzg2eHg6IGFkZCBtb3JlIE14TVIgbG9jYWwgYnVzIGRlZmluaXRpb25zCisKKyAgICBUaGlzIHBhdGNoIGFkZHMgbW9yZSBtYWNybyBkZWZpbml0aW9ucyBmb3IgdGhlIFVQTSBNYWNoaW5lIE1vZGUgUmVnaXN0ZXJzCisgICAgVGhleSBhcmUgY29waWVkIGZyb20gImluY2x1ZGUvbXBjODJ4eC5oIiB0byBzaW1wbGlmeSB0aGUgbWVyZ2Ugb2YgYWxsIDh4eHgKKyAgICBjb21tb24gbG9jYWwgYnVzIGRlZmluaXRpb25zIGludG8gaW5jbHVkZS9hc20tcHBjL2ZzbF9sYmMuaC4gVGhleSBhcmUKKyAgICByZXF1aXJlZCBmb3IgbXkgZm9ydGhjb21pbmcgRlNMIE5BTkQgVVBNIGRyaXZlciByZS13cml0ZSBhbmQgdGhlIHN1cHBvcnQKKyAgICBmb3IgdGhlIFRRTTg1NDggbW9kdWxlLgorCisgICAgVGhpcyBwYXRjaCBpcyBiYXNlZCBvbiB0aGUgZm9sbG93aW5nIHR3byBwYXRjaGVzIGZyb20gQW50b24gVm9yb250c292OgorCisgICAgaHR0cDovL3d3dy5tYWlsLWFyY2hpdmUuY29tL3UtYm9vdC11c2Vyc0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQvbXNnMDY1MTEuaHRtbAorICAgIGh0dHA6Ly93d3cubWFpbC1hcmNoaXZlLmNvbS91LWJvb3QtdXNlcnNAbGlzdHMuc291cmNlZm9yZ2UubmV0L21zZzA2NTg3Lmh0bWwKKworICAgIEkgbGVhdmUgY29kaW5nIHN0eWxlIHZpb2xhdGlvbiBmaXhlcywgY29kZSBiZWF1dGlmaWNhdGlvbiBhbmQgbmFtZQorICAgIGNvcnJlY3Rpb25zIHRvIHNvbWVib2R5IGVsc2UgOy0oLgorCisgICAgU2lnbmVkLW9mZi1ieTogV29sZmdhbmcgR3JhbmRlZ2dlciA8d2dAZ3JhbmRlZ2dlci5jb20+CisKK2NvbW1pdCBjOGM1ZmMyNjZlNDQ5OWUyODNjMjkzY2NiOTcyODYzMTU2YWE0MTM0CitBdXRob3I6IEFudG9uIFZvcm9udHNvdiA8YXZvcm9udHNvdkBydS5tdmlzdGEuY29tPgorRGF0ZToJVGh1IE1heSAyOSAxODoxNDo1NiAyMDA4ICswNDAwCisKKyAgICA4M3h4Lzg1eHg6IGZ1cnRoZXIgbG9jYWxidXMgY2xlYW51cHMKKworICAgIE1lcmdlIG1wYzg1eHguaCdzIExCQyBkZWZpbmVzIHRvIGZzbF9sYmMuaC4gQWxzbywgYWRvcHQgQUNTIG5hbWVzCisgICAgZnJvbSBtcGM4NXh4LmgsIHNvIEFDU18wYjEwIHJlbmFtZWQgdG8gQUNTX0RJVjQsIEFDU18wYjExIHRvIEFDU19ESVYyLgorCisgICAgU2lnbmVkLW9mZi1ieTogQW50b24gVm9yb250c292IDxhdm9yb250c292QHJ1Lm12aXN0YS5jb20+CisKK2NvbW1pdCA0MmRiZDY2N2M4OGQ0OTY4ODJkNTNlMjI2NTZlODliNjU0MjA1NDkyCitBdXRob3I6IEFudG9uIFZvcm9udHNvdiA8YXZvcm9udHNvdkBydS5tdmlzdGEuY29tPgorRGF0ZToJV2VkIE1heSAyOCAxODoyMDoxNSAyMDA4ICswNDAwCisKKyAgICA4M3h4Lzg1eHgvODZ4eDogZmFjdG9yIG91dCBGcmVlc2NhbGUgTG9jYWxidXMgZGVmaW5lcyBvdXQgb2YgbXBjODN4eC5oCisKKyAgICBUaGlzIHBhdGNoIG1vdmVzIEZyZWVzY2FsZSBMb2NhbGJ1cyBkZWZpbmVzIG91dCBvZiBtcGM4M3h4LmgsIHNvIHdlIGNvdWxkCisgICAgdXNlIGl0IG9uIE1QQzg1eHggYW5kIE1QQzg2eHggcHJvY2Vzc29ycy4KKworICAgIFNpZ25lZC1vZmYtYnk6IEFudG9uIFZvcm9udHNvdiA8YXZvcm9udHNvdkBydS5tdmlzdGEuY29tPgorCitjb21taXQgNzMwYjJmY2Y2ZmNkOWVlYzNlYTg2ZmJiMDg3YzNmOThhYTIzYTc2OQorQXV0aG9yOiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorRGF0ZToJVGh1IE1heSAyOSAxMToyMjowNiAyMDA4IC0wNTAwCisKKyAgICA4NXh4OiBBZGQgc2V0dGluZyBvZiBjYWNoZSBwcm9wcyBpbiB0aGUgZGV2aWNlIHRyZWUuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorCitjb21taXQgNGRiZGI3NjgxZTI0MzQzMTUzMGRmMDcyNTYyNzE5MmEwYzRhZWZkYQorQXV0aG9yOiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorRGF0ZToJVHVlIEp1biAxMCAxNjo1Mzo0NiAyMDA4IC0wNTAwCisKKyAgICA4NXh4OiBleHBvc2UgY3B1IGlkZW50aWZpY2F0aW9uCisKKyAgICBUaGUgY3VycmVudCBjcHUgaWRlbnRpZmljYXRpb24gY29kZSBpcyB1c2VkIGp1c3QgdG8gcmV0dXJuIHRoZSBuYW1lCisgICAgb2YgdGhlIHByb2Nlc3NvciBhdCBib290LiAgVGhlcmUgYXJlIHNvbWUgb3RoZXIgbG9jYXRpb25zIHRoYXQgdGhlIG5hbWUKKyAgICBpcyB1c2VmdWwgKGRldmljZSB0cmVlIHNldHVwKS4gIEV4cG9zZSB0aGUgZnVuY3Rpb25hbGl0eSB0byBvdGhlciBiaXRzCisgICAgb2YgY29kZS4KKworICAgIEFsc28sIGRyb3AgdGhlICdFJyBzdWZmaXggYW5kIGFkZCBpdCBvbiBieSBsb29raW5nIGF0IHRoZSBTVlIgdmVyc2lvbgorICAgIHdoZW4gd2UgcHJpbnQgdGhpcyBvdXQuICBUaGlzIGlzIG1haW5seSB0byBhbGxvdyB0aGUgbW9zdCBmbGV4aWJsZSB1c2UKKyAgICBvZiB0aGUgbmFtZS4gIFRoZSBkZXZpY2UgdHJlZSBjb2RlIHRlbmRzIHRvIG5vdCBjYXJlIGFib3V0IHRoZSAnRScgc3VmZml4LgorCisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IDIzMjlmZTExM2Q4NDdlNDNjY2E4ZTRhMGU0ZWRkNjEzYjUwYjg0OTIKK0F1dGhvcjogS2ltIFBoaWxsaXBzIDxraW0ucGhpbGxpcHNAZnJlZXNjYWxlLmNvbT4KK0RhdGU6CVR1ZSBKdW4gMTAgMTM6MjU6MjQgMjAwOCAtMDUwMAorCisgICAgbXBjODN4eDogTVZCTE03OiBtaW5vciBidWlsZCBmaXh1cHMKKworICAgIFNpZ25lZC1vZmYtYnk6IEtpbSBQaGlsbGlwcyA8a2ltLnBoaWxsaXBzQGZyZWVzY2FsZS5jb20+CisKK2NvbW1pdCBhMTI5M2U1NDliNTZkYTEzNWVmMzJmZmNhNWI5ZDM1YTE2YWE2ODAyCitBdXRob3I6IEFuZHJlIFNjaHdhcnogPGFuZHJlLnNjaHdhcnpAbWF0cml4LXZpc2lvbi5kZT4KK0RhdGU6CVR1ZSBKdW4gMTAgMDk6MTQ6MDUgMjAwOCArMDIwMAorCisgICAgYWRkIE1QQzgzNDMgYmFzZWQgYm9hcmQgbXZCbHVlTFlOWC1NNyAoYm9hcmQrbWFrZSBmaWxlcykKKworICAgIEFkZCBNUEM4MzQzIGJhc2VkIGJvYXJkIG12Qmx1ZUxZTlgtTTcuCisgICAgSXQncyBhIHNpbmdsZSBib2FyZCBzdGVyZW8gY2FtZXJhIHN5c3RlbS4KKyAgICBQbGVhc2UgcmVhZCBkb2MvUkVBRE1FLm12YmxtNyBmb3IgZGV0YWlscy4KKworICAgIFNpZ25lZC1vZmYtYnk6IEFuZHJlIFNjaHdhcnogPGFuZHJlLnNjaHdhcnpAbWF0cml4LXZpc2lvbi5kZT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBLaW0gUGhpbGxpcHMgPGtpbS5waGlsbGlwc0BmcmVlc2NhbGUuY29tPgorCitjb21taXQgYzAwNWI5MzkyNWJhNDlmMDdkYTJhYTc0ODUyNzk5NmQ5MjdlMTcyZgorQXV0aG9yOiBBbmRyZSBTY2h3YXJ6IDxhbmRyZS5zY2h3YXJ6QG1hdHJpeC12aXNpb24uZGU+CitEYXRlOglUdWUgSnVuIDEwIDA5OjEzOjE2IDIwMDggKzAyMDAKKworICAgIGFkZCBNUEM4MzQzIGJhc2VkIGJvYXJkIG12Qmx1ZUxZTlgtTTcgKGRvYytjb25maWcpCisKKyAgICBBZGQgTVBDODM0MyBiYXNlZCBib2FyZCBtdkJsdWVMWU5YLU03LgorICAgIEl0J3MgYSBzaW5nbGUgYm9hcmQgc3RlcmVvIGNhbWVyYSBzeXN0ZW0uCisgICAgUGxlYXNlIHJlYWQgZG9jL1JFQURNRS5tdmJsbTcgZm9yIGRldGFpbHMuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBBbmRyZSBTY2h3YXJ6IDxhbmRyZS5zY2h3YXJ6QG1hdHJpeC12aXNpb24uZGU+CisgICAgU2lnbmVkLW9mZi1ieTogS2ltIFBoaWxsaXBzIDxraW0ucGhpbGxpcHNAZnJlZXNjYWxlLmNvbT4KKworY29tbWl0IGY5MDIzYWZiZGZkOWYyN2U3YzM4ZjNjY2U5NjU3NDZlNTZkNjJkZDMKK0F1dGhvcjogQW50b24gVm9yb250c292IDxhdm9yb250c292QHJ1Lm12aXN0YS5jb20+CitEYXRlOglUaHUgTWF5IDI5IDE4OjE0OjU2IDIwMDggKzA0MDAKKworICAgIDgzeHgvODV4eDogZnVydGhlciBsb2NhbGJ1cyBjbGVhbnVwcworCisgICAgbW92ZSB0aGUgQlJ4XyogYW5kIE9SeF8qIGxlZnQgYmVoaW5kIGluIG1wYzg1eHguaAorCisgICAgVGhlIHNhbWUgaXMgbmVlZGVkIGZvciBtcGM4eHguaCBhbmQgbXBjODI2MC5oIChkZWZpbmVzIGFyZSBhbG1vc3QKKyAgICB0aGUgc2FtZSwganVzdCBmZXcgZGlmZmVyZW5jZXMgd2hpY2ggbmVlZHMgc29tZSBhdHRlbnRpb24gdGhvdWdoKS4KKworICAgIEJ1dCB0aGUgYmFkIG5ld3MgZm9yIG1wYzh4eCBhbmQgbXBjODI2MCBpcyB0aGF0IHRoZXJlIGFyZSBhIGxvdCBvZiB1c2VycworICAgIG9mIHRoZXNlIGRlZmluZXMuIFNvIHRoaXMgY2xlYW51cCBJJ2xsIGxlYXZlIGZvciB0aGUgImJldHRlciB0aW1lcyIuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBBbnRvbiBWb3JvbnRzb3YgPGF2b3JvbnRzb3ZAcnUubXZpc3RhLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBLaW0gUGhpbGxpcHMgPGtpbS5waGlsbGlwc0BmcmVlc2NhbGUuY29tPgorCitjb21taXQgYmYzMGJiMWY3Yzk1NGQ3ODU1ZDliMjM2MjRiMzNiMDBjNTBiNDY5NworQXV0aG9yOiBBbnRvbiBWb3JvbnRzb3YgPGF2b3JvbnRzb3ZAcnUubXZpc3RhLmNvbT4KK0RhdGU6CVdlZCBNYXkgMjggMTg6MjA6MTUgMjAwOCArMDQwMAorCisgICAgODN4eC84NXh4Lzg2eHg6IGZhY3RvciBvdXQgRnJlZXNjYWxlIExvY2FsYnVzIGRlZmluZXMgb3V0IG9mIG1wYzgzeHguaAorCisgICAgVGhpcyBwYXRjaCBtb3ZlcyBGcmVlc2NhbGUgTG9jYWxidXMgZGVmaW5lcyBvdXQgb2YgbXBjODN4eC5oLCBzbyB3ZSBjb3VsZAorICAgIHVzZSBpdCBvbiBNUEM4NXh4IGFuZCBNUEM4Nnh4IHByb2Nlc3NvcnMuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBBbnRvbiBWb3JvbnRzb3YgPGF2b3JvbnRzb3ZAcnUubXZpc3RhLmNvbT4KKyAgICBBY2tlZC1ieTogQW5keSBGbGVtaW5nIDxhZmxlbWluZ0BmcmVlc2NhbGUuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IEtpbSBQaGlsbGlwcyA8a2ltLnBoaWxsaXBzQGZyZWVzY2FsZS5jb20+CisKK2NvbW1pdCBkODJiNGZjMGNlOGNjYTk1ZTg1N2ZjNTEwMjJlODQxY2IyZGJlZTZhCitBdXRob3I6IFRvciBLcmlsbCA8dG9yQGV4Y2l0by5jb20+CitEYXRlOglNb24gSnVuIDIgMTU6MDk6MzAgMjAwOCArMDIwMAorCisgICAgQWRkIG1pc3NpbmcgQ1NDT05GSUdfQkFOS19CSVRfMyBkZWZpbmUgdG8gbXBjODN4eC5oCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBUb3IgS3JpbGwgPHRvckBleGNpdG8uY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IEtpbSBQaGlsbGlwcyA8a2ltLnBoaWxsaXBzQGZyZWVzY2FsZS5jb20+CisKK2NvbW1pdCAzYjkwNGNjYjkzYzMxOTY3MjdlMmU5ODcwY2IxZGY5MDNjYWIxOWFkCitBdXRob3I6IFNoaW55YSBLdXJpYmF5YXNoaSA8c2t1cmliYXlAcnVieS5kdGkubmUuanA+CitEYXRlOglNb24gSnVuIDkgMjM6Mzc6NDQgMjAwOCArMDkwMAorCisgICAgbmV0OiBDb25kaXRpb25hbCBDT0JKUyBpbmNsdXNpb24gb2YgbmV0d29yayBkcml2ZXJzCisKKyAgICBSZXBsYWNlIENPQkpTLXkgd2l0aCBhcHByb3ByaWF0ZSBkcml2ZXIgY29uZmlnIG5hbWVzLgorCisgICAgU2lnbmVkLW9mZi1ieTogU2hpbnlhIEt1cmliYXlhc2hpIDxza3VyaWJheUBydWJ5LmR0aS5uZS5qcD4KKyAgICBTaWduZWQtb2ZmLWJ5OiBCZW4gV2FycmVuIDxiaWdnZXJiYWRkZXJiZW5AZ21haWwuY29tPgorCitjb21taXQgMmZiNjk4YmY1MGY0YWZmMjQ4NTU4MWExMmZhNjM0YTA3YzA0MGU0YQorQXV0aG9yOiBHZXJhbGQgVmFuIEJhcmVuIDx2YW5iYXJlbkBjaWRlYXMuY29tPgorRGF0ZToJTW9uIEp1biA5IDIxOjAyOjE3IDIwMDggLTA0MDAKKworICAgIFVzZSBzdHJuY21wKCkgZm9yIHRoZSBmZHQgY29tbWFuZAorCisgICAgQ2xlYW5lciB0aGFuIGRvaW5nIG11bHRpcGxlIGNvbmRpdGlvbmFscyBvbiBjaGFyYWN0ZXJzLgorCisgICAgU2lnbmVkLW9mZi1ieTogR2VyYWxkIFZhbiBCYXJlbiA8dmFuYmFyZW5AY2lkZWFzLmNvbT4KKworY29tbWl0IDQ3YWJlOGFiMjkwZDI3MjFhOGVlYWRmZjY1YjkzOWU2YWY4YzAxYjAKK0F1dGhvcjogR2VyYWxkIFZhbiBCYXJlbiA8dmFuYmFyZW5AY2lkZWFzLmNvbT4KK0RhdGU6CVNhdCBKdW4gNyAxMjoyNTowNSAyMDA4IC0wNDAwCisKKyAgICBUaGUgZmR0IGJvYXJkc2V0dXAgY29tbWFuZCBjcml0ZXJpYSB3YXMgbm90IHVuaXF1ZQorCisgICAgSXQgd2FzIGNoZWNraW5nIGp1c3QgZm9yICJiIiwgd2hpY2ggaXMgbm90IHVuaXF1ZSB3aXRoIHJlc3BlY3QgdG8gdGhlCisgICAgImJvb3QiIGNvbW1hbmQuICBDaGFuZ2UgdG8gY2hlY2sgZm9yICJib2EiW3Jkc2V0dXBdLgorCisgICAgU2lnbmVkLW9mZi1ieTogR2VyYWxkIFZhbiBCYXJlbiA8dmFuYmFyZW5AY2lkZWFzLmNvbT4KKworY29tbWl0IDJmMDhiZmE5NTI2YmFlNGY0NjFlMDQzNTMwY2ZiOTAzZmVjMGQyNzMKK0F1dGhvcjogRGF2aWQgR2lic29uIDxkYXZpZEBnaWJzb24uZHJvcGJlYXIuaWQuYXU+CitEYXRlOglUdWUgTWF5IDIwIDE3OjE5OjExIDIwMDggKzEwMDAKKworICAgIGxpYmZkdDogU2V2ZXJhbCBjbGVhbnVwcyB0byBwYXJhbWV0ZXIgY2hlY2tpbmcKKworICAgIFRoaXMgcGF0Y2ggbWFrZXMgYSBjb3VwbGUgb2Ygc21hbGwgY2xlYW51cHMgdG8gcGFyYW1ldGVyIGNoZWNraW5nIG9mCisgICAgbGliZmR0IGZ1bmN0aW9ucy4KKworCS0gSW4gc2V2ZXJhbCBmdW5jdGlvbnMgd2hpY2ggdGFrZSBhIG5vZGUgb2Zmc2V0LCB3ZSB1c2UgYW4KKyAgICBpZGlvbSBpbnZvbHZpbmcgZmR0X25leHRfdGFnKCkgZmlyc3QgdG8gY2hlY2sgdGhhdCB3ZSBoYXZlIGluZGVlZCBiZWVuCisgICAgZ2l2ZW4gYSBub2RlIG9mZnNldC4gIFRoaXMgcGF0Y2ggYWRkcyBhIGhlbHBlciBmdW5jdGlvbgorICAgIF9mZHRfY2hlY2tfbm9kZV9vZmZzZXQoKSB0byBlbmNhcHN1bGF0ZSB0aGlzIHVzYWdlIG9mIGZkdF9uZXh0X3RhZygpLgorCisJLSBJbiBmZHRfcncuYyBpbiBzZXZlcmFsIHBsYWNlcyB3ZSBoYXZlIHRoZSBleHBhbmRlZCB2ZXJzaW9uCisgICAgb2YgdGhlIFJXX0NIRUNLX0hFQURFUigpIG1hY3JvIGZvciBubyBwYXJ0aWN1bGFyIHJlYXNvbi4gIFRoaXMgcGF0Y2gKKyAgICByZXBsYWNlcyB0aG9zZSBpbnN0YW5jZXMgd2l0aCBhbiBpbnZvY2F0aW9uIG9mIHRoZSBtYWNybzsgdGhhdCdzIHdoYXQKKyAgICBpdCdzIGZvci4KKworCS0gSW4gZmR0X3N3LmMgd2UgcmVuYW1lIHRoZSBjaGVja19oZWFkZXJfc3coKSBmdW5jdGlvbiB0bworICAgIHN3X2NoZWNrX2hlYWRlcigpIHRvIG1hdGNoIHRoZSBhbmFsZ291cyBmdW5jdGlvbiBpbiBmZHRfcncuYywgYW5kIHdlCisgICAgcHJvdmlkZSBhbiBTV19DSEVDS19IRUFERVIoKSB3cmFwcGVyIG1hY3JvIGFzIFJXX0NIRUNLX0hFQURFUigpCisgICAgZnVuY3Rpb25zIGluIGZkdF9ydy5jCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBHaWJzb24gPGRhdmlkQGdpYnNvbi5kcm9wYmVhci5pZC5hdT4KKworY29tbWl0IGZlYzZkOWVlN2MxMDQ0M2Y2NWNlMTc4OGVmODE4OTE5MTY3YmJmMmUKK0F1dGhvcjogR2VyYWxkIFZhbiBCYXJlbiA8dmFuYmFyZW5AY2lkZWFzLmNvbT4KK0RhdGU6CVR1ZSBKdW4gMyAyMDozNDo0NSAyMDA4IC0wNDAwCisKKyAgICBSZW1vdmUgdGhlIGRlcHJlY2F0ZWQgQ09ORklHX09GX0ZMQVRfVFJFRQorCisgICAgVXNlIENPTkZJR19PRl9MSUJGRFQgaW5zdGVhZCB0byBzdXBwb3J0IGZsYXR0ZW5lZCBkZXZpY2UgdHJlZXMuICBJdCBpcworICAgIGNsZWFuZXIsIGhhcyBiZXR0ZXIgZnVuY3Rpb25hbGl0eSwgYW5kIGlzIGJldHRlciBzdXBwb3J0ZWQuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBHZXJhbGQgVmFuIEJhcmVuIDx2YW5iYXJlbkBjaWRlYXMuY29tPgorCitjb21taXQgNjJiY2RkYTI5M2VmYTc1MmY4MjgxZmJkOWRhMDM4MjJiMjdjZTgyZgorQXV0aG9yOiBHZXJhbGQgVmFuIEJhcmVuIDx2YW5iYXJlbkBjaWRlYXMuY29tPgorRGF0ZToJVHVlIEp1biAzIDIwOjI2OjI5IDIwMDggLTA0MDAKKworICAgIENoYW5nZSB0aGUgc3R4eHN0IHRvIENPTkZJR19PRl9MSUJGRFQKKworICAgIFRoaXMgd2FzIGNvbmZpZ3VyZWQgdG8gdXNlIHRoZSBkZXByZWNhdGVkIENPTkZJR19PRl9GTEFUX1RSRUUsIGNoYW5nZQorICAgIHRvIENPTkZJR19PRl9MSUJGRFQuCisKKyAgICBXQVJOSU5HOiBJdCBhcHBlYXJzIHRoYXQgdGhpcyBib2FyZCBsb3N0IGl0cyBhYmlsaXR5IHRvIGJvb3QgdmlhIGEKKyAgICBmbGF0dGVuZWQgZGV2aWNlIHRyZWUgcHJpb3IgdG8gdGhpcyBjaGFuZ2VzZXQuCisKKyAgICBXQVJOSU5HOiBUaGlzIGNvbnZlcnNpb24gd2FzIHVudGVzdGVkIGJlY2F1c2UgSSBkbyBub3QgaGF2ZSBhIGJvYXJkIHRvCisgICAgdGVzdCBpdCBvbi4KKworICAgIFNpZ25lZC1vZmYtYnk6IEdlcmFsZCBWYW4gQmFyZW4gPHZhbmJhcmVuQGNpZGVhcy5jb20+CisKK2NvbW1pdCA1ODljMDQyNzFkMTI5NzI5YThiMDEzOTE0NTM4NTFhYjljYzQwNjljCitBdXRob3I6IEdlcmFsZCBWYW4gQmFyZW4gPHZhbmJhcmVuQGNpZGVhcy5jb20+CitEYXRlOglUdWUgSnVuIDMgMjA6MjQ6NTggMjAwOCAtMDQwMAorCisgICAgQ29udmVydCBtcGM3NDQ4aHBjMiB0byBDT05GSUdfT0ZfTElCRkRUCisKKyAgICBUaGlzIHdhcyBjb25maWd1cmVkIHRvIHVzZSB0aGUgZGVwcmVjYXRlZCBDT05GSUdfT0ZfRkxBVF9UUkVFLCBjaGFuZ2UKKyAgICB0byBDT05GSUdfT0ZfTElCRkRULgorCisgICAgV0FSTklORzogVGhpcyBjb252ZXJzaW9uIGlzIHVudGVzdGVkIGJlY2F1c2UgSSBkbyBub3QgaGF2ZSBhIGJvYXJkIHRvCisgICAgdGVzdCBpdCBvbi4KKworICAgIE5PVEU6IFRoZSBGRFQgYmxvYiAoRFRTKSBtdXN0IGhhdmUgYW4gL2FsaWFzZXMvZXRoZXJuZXQwIGFuZCAob3B0aW9uYWxseSkKKyAgICAvYWxpYXNlcy9ldGhlcm5ldDEgcHJvcGVydHkgZm9yIHRoZSBldGhlcm5ldCB0byB3b3JrLgorCisgICAgU2lnbmVkLW9mZi1ieTogR2VyYWxkIFZhbiBCYXJlbiA8dmFuYmFyZW5AY2lkZWFzLmNvbT4KKworY29tbWl0IGVlMWUzNWJlZGU5MWRlYmM4YmZmOWIwMmY3NTU3NDQ4NjAzM2I2NTIKK0F1dGhvcjogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KK0RhdGU6CVRodSBNYXkgMjkgMDE6MjE6MjQgMjAwOCAtMDUwMAorCisgICAgODV4eDogT25seSB1c2UgUE9SUExMU1JbRERSX1JhdGlvXSBvbiBwbGF0Zm9ybXMgdGhhdCBkZWZpbmUgaXQKKworICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCAzYjk1MTlmYzUwODAyNDM2ZTQxN2M4MzllNjlkZjdiMjAxNmNhZGU1CitBdXRob3I6IEJlY2t5IEJydWNlIDxiZWNreS5icnVjZUBmcmVlc2NhbGUuY29tPgorRGF0ZToJV2VkIE1heSAxNCAxMzoxMDowNCAyMDA4IC0wNTAwCisKKyAgICBNUEM4NXh4OiBDaGFuZ2UgdHJhcHMuYyB0byBub3QgcmVmZXJlbmNlIG5vbi1hZGRyZXNzYWJsZSBtZW1vcnkKKworICAgIEN1cnJlbnRseSwgRU5EX09GX1JBTSBpcyB1c2VkIGJ5IHRoZSB0cmFwIGNvZGUgdG8gZGV0ZXJtaW5lIGlmCisgICAgd2Ugc2hvdWxkIGF0dGVtcHQgdG8gYWNjZXNzIHRoZSBzdGFjayBwb2ludGVyIG9yIG5vdC4gSG93ZXZlciwKKyAgICBvbiBzeXN0ZW1zIHdpdGggYSBsb3Qgb2YgUkFNLCBvbmx5IGEgc3Vic2V0IG9mIHRoZSBSQU0gaXMKKyAgICBndWFyYW50ZWVkIHRvIGJlIG1hcHBlZCBpbiBhbmQgYWNjZXNzaWJsZS4JQ2hhbmdlIEVORF9PRl9SQU0KKyAgICB0byB1c2UgZ2V0X2VmZmVjdGl2ZV9tZW1zaXplKCkgaW5zdGVhZCBvZiB1c2luZyB0aGUgcmF3IHJhbQorICAgIHNpemUgb3V0IG9mIHRoZSBiZC4KKworICAgIFNpZ25lZC1vZmYtYnk6IEJlY2t5IEJydWNlIDxiZWNreS5icnVjZUBmcmVlc2NhbGUuY29tPgorCitjb21taXQgN2ZhZGRhZWNlYTUyZjU4NWY1MzhmZGY5YzJlNjFmODVhNzg5YjE5YworQXV0aG9yOiBOb2J1aGlybyBJd2FtYXRzdSA8aXdhbWF0c3Uubm9idWhpcm9AcmVuZXNhcy5jb20+CitEYXRlOglNb24gSnVuIDkgMTM6Mzk6NTcgMjAwOCArMDkwMAorCisgICAgc2g6IFJlbmVzYXMgU29sdXRpb25zIFNINzc2M1JEUCBib2FyZCBzdXBwb3J0CisKKyAgICBTSDc3NjNSRFAgaGFzIFNDSUYsIE5PUiBGbGFzaCwgRXRoZXJuZXQsIFVTQiBob3N0LCBMQ0RDIGFuZCBNTUMuCisgICAgSW4gdGhpcyBwYXRjaCwgc3VwcG9ydCBTQ0lGLCBOT1IgRmxhc2gsIGFuZCBFdGhlcm5ldC4KKworICAgIFNpZ25lZC1vZmYtYnk6IE5vYnVoaXJvIEl3YW1hdHN1IDxpd2FtYXRzdS5ub2J1aGlyb0ByZW5lc2FzLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBOb2J1aGlybyBJd2FtYXRzdSA8aXdhbWF0c3VAbmlnYXVyaS5vcmc+CisKK2NvbW1pdCA2MDE3OTA5OGE5NWVhYTk3MjAwN2Q3ZWM1OGU0YzE1ODgwMjk3MjBmCitBdXRob3I6IE5vYnVoaXJvIEl3YW1hdHN1IDxpd2FtYXRzdS5ub2J1aGlyb0ByZW5lc2FzLmNvbT4KK0RhdGU6CUZyaSBKdW4gNiAxNjoyNDoxMyAyMDA4ICswOTAwCisKKyAgICBzaDogQWRkIHN1cHBvcnQgUmVuZXNhcyBTSDc3NjMKKworICAgIFJlbmVzYXMgU0g3NzYzIGhhcyAzIFNDSUYsIE1NQywgTENEQywgRXRoZXJuZXQgYW5kIG90aGVyLgorICAgIFRoaXMgcGF0Y2ggc3VwcHJ0cyBDUFUgcmVnaXN0ZXIncyBoZWFkZXIgZmlsZS4KKworICAgIFNpZ25lZC1vZmYtYnk6IE5vYnVoaXJvIEl3YW1hdHN1IDxpd2FtYXRzdS5ub2J1aGlyb0ByZW5lc2FzLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBOb2J1aGlybyBJd2FtYXRzdSA8aXdhbWF0c3VAbmlnYXVyaS5vcmc+CisKK2NvbW1pdCAwOGM1ZmFiZTE4MWQ2NjNlZWMwZmViYTVlY2QwMmMwYjc4OTM0YTUyCitBdXRob3I6IE5vYnVoaXJvIEl3YW1hdHN1IDxpd2FtYXRzdS5ub2J1aGlyb0ByZW5lc2FzLmNvbT4KK0RhdGU6CUZyaSBKdW4gNiAxNjoxNjowOCAyMDA4ICswOTAwCisKKyAgICBzaDogU0g3NzYzIFNDSUYgc3VwcG9ydAorCisgICAgU0g3NzYzIGhhcyAzIFNDSUYgY2hhbm5lbHMuIFNDSUYwIGFuZCAxIGFyZSBzYW1lIHJlZ2lzdGVyIGNvbnN0aXR1dGlvbiwKKyAgICBidXQgb25seSBTQ0lGMiBpcyBkaWZmZXJlbnQuIFRoaXMgcGF0Y2ggd29yayBhbGwgU0NJRiBjaGFubmVsLgorCisgICAgU2lnbmVkLW9mZi1ieTogTm9idWhpcm8gSXdhbWF0c3UgPGl3YW1hdHN1Lm5vYnVoaXJvQHJlbmVzYXMuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IE5vYnVoaXJvIEl3YW1hdHN1IDxpd2FtYXRzdUBuaWdhdXJpLm9yZz4KKworY29tbWl0IDc5YjUxZmY4MjA1ZjAzNTRkNTMwMDU3MDYxNGMxZDJkYjQ5OTY3OWMKK0F1dGhvcjogU2hpbnlhIEt1cmliYXlhc2hpIDxza3VyaWJheUBydWJ5LmR0aS5uZS5qcD4KK0RhdGU6CVNhdCBKdW4gNyAyMDo1MTo1OSAyMDA4ICswOTAwCisKKyAgICBbTUlQU10gY3B1L21pcHMvTWFrZWZpbGU6IFNwbGl0IFtDU11PQkpTIG9udG8gc2VwYXJhdGUgbGluZXMKKworICAgIEFsc28gZ2V0IHJpZCBvZiBzb21lICNpZmRlZnMgaW4gKi5jIGZpbGVzLgorCisgICAgU2lnbmVkLW9mZi1ieTogU2hpbnlhIEt1cmliYXlhc2hpIDxza3VyaWJheUBydWJ5LmR0aS5uZS5qcD4KKworY29tbWl0IDhiZGU2M2ViM2Y3OWQ2OGY2OTMyMDE1MjhkYWZjOGFlN2FhMDg3ZGUKK0F1dGhvcjogU2hpbnlhIEt1cmliYXlhc2hpIDxza3VyaWJheUBydWJ5LmR0aS5uZS5qcD4KK0RhdGU6CVNhdCBKdW4gNyAyMDo1MTo1NiAyMDA4ICswOTAwCisKKyAgICBbTUlQU10gUmVuYW1lIEFsY2hlbXkgcHJvY2Vzc29yIGNvbmZpZ3MgaW50byBDT05GSUdfU09DXyoKKworICAgIENPTkZJR19TT0NfQVUxWDAwCisKKyAgICAgIENvbW1vbiBBbGNoZW15IEF1MXgwMCBzdHVmZi4gQWxsIEFsY2hlbXkgcHJvY2Vzc29yIGJhc2VkIG1hY2hpbmVzCisgICAgICBuZWVkIHRvIGhhdmUgdGhpcyBjb25maWcgYXMgYSBzeXN0ZW0gdHlwZSBzcGVjaWZpZXIuCisKKyAgICBDT05GSUdfU09DX0FVMTAwMCwgQ09ORklHX1NPQ19BVTExMDAsIENPTkZJR19TT0NfQVUxMjAwLAorICAgIENPTkZJR19TT0NfQVUxNTAwLCBDT05GSUdfU09DX0FVMTU1MAorCisgICAgICBNYWNoaW5lIHR5cGUgc3BlY2lmaWVycy4gRWFjaCBwb3J0IHNob3VsZCBoYXZlIG9uZSBvZiBhYm92ZXMuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTaGlueWEgS3VyaWJheWFzaGkgPHNrdXJpYmF5QHJ1YnkuZHRpLm5lLmpwPgorCitjb21taXQgY2M0OWNhZGVlYjhiYjJmMGFlM2ZkYzEzYWY3MDUxYWU1OWYwODNiYworQXV0aG9yOiBTdHVhcnQgV29vZCA8c3R1YXJ0Lndvb2RAbGFieHRlY2hub2xvZ2llcy5jb20+CitEYXRlOglGcmkgTWF5IDMwIDE2OjA1OjI4IDIwMDggLTA0MDAKKworICAgIGVudl9uYW5kLmM6IEFkZGVkIGJhZCBibG9jayBtYW5hZ2VtZW50IGZvciBlbnZpcm9ubWVudCB2YXJpYWJsZXMKKworICAgIE1vZGlmaWVkIHRvIGNoZWNrIGZvciBiYWQgYmxvY2tzIGFuZCB0byBza2lwcGluZyBvdmVyIHRoZW0gd2hlbgorICAgIENGR19FTlZfUkFOR0UgaGFzIGJlZW4gZGVmaW5lZC4KKyAgICBDRkdfRU5WX1JBTkdFIG11c3QgYmUgbGFyZ2VyIHRoYW4gQ0ZHX0VOVl9TSVpFIGFuZCBhbGlnbmVkIHRvIHRoZSBOQU5ECisgICAgZmxhc2ggYmxvY2sgc2l6ZS4KKworICAgIFNpZ25lZC1vZmYtYnk6IFN0dWFydCBXb29kIDxzdHVhcnQud29vZEBsYWJ4dGVjaG5vbG9naWVzLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBTY290dCBXb29kIDxzY290dHdvb2RAZnJlZXNjYWxlLmNvbT4KKworY29tbWl0IDI3OTcyNmJkMDA1NThlODAyNjNkNDQ1ODFjNDQxNjc2MjViN2ZiOWEKK0F1dGhvcjogQmVja3kgQnJ1Y2UgPGJlY2t5LmJydWNlQGZyZWVzY2FsZS5jb20+CitEYXRlOglXZWQgTWF5IDE0IDEzOjA5OjU4IDIwMDggLTA1MDAKKworICAgIE1QQzg2eHg6IENoYW5nZSB0cmFwcy5jIHRvIG5vdCByZWZlcmVuY2Ugbm9uLWFkZHJlc3NhYmxlIG1lbW9yeQorCisgICAgQ3VycmVudGx5LCBFTkRfT0ZfUkFNIGlzIHVzZWQgYnkgdGhlIHRyYXAgY29kZSB0byBkZXRlcm1pbmUgaWYKKyAgICB3ZSBzaG91bGQgYXR0ZW1wdCB0byBhY2Nlc3MgdGhlIHN0YWNrIHBvaW50ZXIgb3Igbm90LiBIb3dldmVyLAorICAgIG9uIHN5c3RlbXMgd2l0aCBhIGxvdCBvZiBSQU0sIG9ubHkgYSBzdWJzZXQgb2YgdGhlIFJBTSBpcworICAgIGd1YXJhbnRlZWQgdG8gYmUgbWFwcGVkIGluIGFuZCBhY2Nlc3NpYmxlLglDaGFuZ2UgRU5EX09GX1JBTQorICAgIHRvIHVzZSBnZXRfZWZmZWN0aXZlX21lbXNpemUoKSBpbnN0ZWFkIG9mIHVzaW5nIHRoZSByYXcgcmFtCisgICAgc2l6ZSBvdXQgb2YgdGhlIGJkIHRvIHByZXZlbnQgdXMgZnJvbSB0cnlpbmcgdG8gYWNjZXNzCisgICAgbm9uLW1hcHBlZCBtZW1vcnkuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBCZWNreSBCcnVjZSA8YmVja3kuYnJ1Y2VAZnJlZXNjYWxlLmNvbT4KKworY29tbWl0IDMzOGNjMDM4NDYxYTZjNzcwOWM1Yjg2ZmQ5YTI0MDIwOTMzOGExYWUKK0F1dGhvcjogV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KK0RhdGU6CUZyaSBKdW4gNiAxNDoyODoxNCAyMDA4ICswMjAwCisKKyAgICB0b29scy9ta2ltYWdlOiBmaXggY29tcGlsZXIgd2FybmluZ3Mgb24gc29tZSBzeXN0ZW1zLgorCisgICAgU2lnbmVkLW9mZi1ieTogV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KKworY29tbWl0IGIyODE1Zjc5Mjg4ZDRkYTdhM2JhMThiZGJkMDUxMjBjZTA5ZDU2MjIKK0F1dGhvcjogU3RlZmFuIFJvZXNlIDxzckBkZW54LmRlPgorRGF0ZToJRnJpIEp1biA2IDE2OjEwOjQxIDIwMDggKzAyMDAKKworICAgIHBwYzR4eDogRml4IG1pc3NwZWxsZWQgQ09ORklHXzQ0MFNQRS80NDBFUFgvR1JYIGNvbmZpZyBvcHRpb25zCisKKyAgICBXZSB1c2UgdXBwZXIgY2FzZSBsZXR0ZXJzIGZvciB0aGUgQU1DQyBwcm9jZXNzb3IgZGVmaW5lcyAobGlrZQorICAgIENPTkZJR180NDBTUEUpIGluIFUtQm9vdC4gU28gdGhlIDQ0MFNQZSBpcyBsYWJlbGVkIENPTkZJR180NDBTUEUgYW5kCisgICAgbm90IENPTkZJR180NDBTUGUuIFRoaXMgcGF0Y2ggZml4ZXMgdGhlIGxhc3QgbWlzc3BlbGxlZCBjb25maWcgb3B0aW9ucy4KKworICAgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KKworY29tbWl0IDcyNjc1ZGM2YzA2YTQ4ODQ2ZDE4MDEwNjE2MWQ0OWRkNzE0MzgzY2MKK0F1dGhvcjogU3RlZmFuIFJvZXNlIDxzckBkZW54LmRlPgorRGF0ZToJRnJpIEp1biA2IDE1OjU1OjIxIDIwMDggKzAyMDAKKworICAgIHBwYzR4eDogVW5pZnkgQU1DQydzIGJvYXJkIGNvbmZpZyBmaWxlcyAocGFydCAzLzMpCisKKyAgICBUaGlzIHBhdGNoIHNlcmllcyB1bmlmaWVzIHRoZSBBTUNDIGV2YWwgYm9hcmQgcG9ydHMgYnkgaW50cm9kdWNpbmcKKyAgICBhIGNvbW1vbiBpbmNsdWRlIGhlYWRlciBmb3IgYWxsIEFNQ0MgZXZhbCBib2FyZHM6CisKKyAgICBpbmNsdWRlL2NvbmZpZ3MvYW1jYy1jb21tb24uaAorCisgICAgVGhpcyBoZWFkZXIgbm93IGluY2x1ZGVzIGFsbCBjb21tb24gY29uZmlndXJhdGlvbiBvcHRpb25zL2RlZmluZXMgd2hpY2gKKyAgICBhcmUgcmVtb3ZlZCBmcm9tIHRoZSBib2FyZCBzcGVjaWZpYyBoZWFkZXJzLgorCisgICAgVGhlIHJlYXNvbiBmb3IgdGhpcyBpcyBlYXNlIG9mIG1haW50ZW5hbmNlIGFuZCB1bmlmaWVkIGxvb2sgYW5kIGZlZWwKKyAgICBvZiBhbGwgQU1DQyBib2FyZHMuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CisKK2NvbW1pdCA0OTBmMjA0MDk2ZDZlMmM5OTQwZjY3ODE2ZjE1NGE4MTI1YmFiMTE2CitBdXRob3I6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KK0RhdGU6CUZyaSBKdW4gNiAxNTo1NTowMyAyMDA4ICswMjAwCisKKyAgICBwcGM0eHg6IFVuaWZ5IEFNQ0MncyBib2FyZCBjb25maWcgZmlsZXMgKHBhcnQgMi8zKQorCisgICAgVGhpcyBwYXRjaCBzZXJpZXMgdW5pZmllcyB0aGUgQU1DQyBldmFsIGJvYXJkIHBvcnRzIGJ5IGludHJvZHVjaW5nCisgICAgYSBjb21tb24gaW5jbHVkZSBoZWFkZXIgZm9yIGFsbCBBTUNDIGV2YWwgYm9hcmRzOgorCisgICAgaW5jbHVkZS9jb25maWdzL2FtY2MtY29tbW9uLmgKKworICAgIFRoaXMgaGVhZGVyIG5vdyBpbmNsdWRlcyBhbGwgY29tbW9uIGNvbmZpZ3VyYXRpb24gb3B0aW9ucy9kZWZpbmVzIHdoaWNoCisgICAgYXJlIHJlbW92ZWQgZnJvbSB0aGUgYm9hcmQgc3BlY2lmaWMgaGVhZGVycy4KKworICAgIFRoZSByZWFzb24gZm9yIHRoaXMgaXMgZWFzZSBvZiBtYWludGVuYW5jZSBhbmQgdW5pZmllZCBsb29rIGFuZCBmZWVsCisgICAgb2YgYWxsIEFNQ0MgYm9hcmRzLgorCisgICAgU2lnbmVkLW9mZi1ieTogU3RlZmFuIFJvZXNlIDxzckBkZW54LmRlPgorCitjb21taXQgYThhMTFhOWVkMDQ2YjQ4MGExNmU0N2ExNThmOGY1MzAwMDI4ZGZhNgorQXV0aG9yOiBTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CitEYXRlOglGcmkgSnVuIDYgMTU6NTQ6MzEgMjAwOCArMDIwMAorCisgICAgcHBjNHh4OiBVbmlmeSBBTUNDJ3MgYm9hcmQgY29uZmlnIGZpbGVzIChwYXJ0IDEvMykKKworICAgIFRoaXMgcGF0Y2ggc2VyaWVzIHVuaWZpZXMgdGhlIEFNQ0MgZXZhbCBib2FyZCBwb3J0cyBieSBpbnRyb2R1Y2luZworICAgIGEgY29tbW9uIGluY2x1ZGUgaGVhZGVyIGZvciBhbGwgQU1DQyBldmFsIGJvYXJkczoKKworICAgIGluY2x1ZGUvY29uZmlncy9hbWNjLWNvbW1vbi5oCisKKyAgICBUaGlzIGhlYWRlciBub3cgaW5jbHVkZXMgYWxsIGNvbW1vbiBjb25maWd1cmF0aW9uIG9wdGlvbnMvZGVmaW5lcyB3aGljaAorICAgIGFyZSByZW1vdmVkIGZyb20gdGhlIGJvYXJkIHNwZWNpZmljIGhlYWRlcnMuCisKKyAgICBUaGUgcmVhc29uIGZvciB0aGlzIGlzIGVhc2Ugb2YgbWFpbnRlbmFuY2UgYW5kIHVuaWZpZWQgbG9vayBhbmQgZmVlbAorICAgIG9mIGFsbCBBTUNDIGJvYXJkcy4KKworICAgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KKworY29tbWl0IDBlMzhjOTM4ZWQ0YmNhZGI0ZjRmYzE0MTlhNTQxNDMxZTk0ZmMyMDIKK0F1dGhvcjogUmVteSBCb2htZXIgPGxpbnV4QGJvaG1lci5uZXQ+CitEYXRlOglUaHUgSnVuIDUgMTM6MDM6MzYgMjAwOCArMDIwMAorCisgICAgRE05MDAwIGZpeCBzdGF0dXMgY2hlY2sgZmFpbCAweDZkIGVycm9yIGZvciB0cml6ZXBzIGJvYXJkCisKKyAgICBBY2NvcmRpbmcgdG8gdGhlIEFwcGxpY2F0aW9uIE5vdGVzIG9mIHRoZSBETTkwMDAsIG9ubHkgdGhlIDIgYml0cyAwOjEgb2YKKyAgICB0aGUgc3RhdHVzIGJ5dGUgbmVlZCB0byBiZSBjaGVja2VkIHRvIGlkZW50aWZ5IGEgdmFsaWQgcGFja2V0IGluIHRoZSBmaWZvCisKKyAgICBCdXQsIFRoZSBzZXZlcmFsIGRpZmZlcmVudCBBcHBsaWNhdGlvbiBOb3RlcyBkbyBub3QgYWxsIHNwZWFrIHRoZSBzYW1lCisgICAgbGFuZ3VhZ2Ugb24gdGhlc2UgYml0cy4gVGhleSBkbyBub3QgZGlzYWdyZWUsIGJ1dCBvbmx5IDEgQXBwbGljYXRpb24gTm90ZQorICAgIG5vdGVkIGV4cGxpY2l0bHkgdGhhdCBvbmx5IHRoZXNlIDIgYml0cyBuZWVkIHRvIGJlIGNoZWNrZWQuCisgICAgRXZlbiB0aGUgZGF0YXNoZWV0cyBkbyBub3QgbWVudGlvbiBhbnl0aGluZyBhYm91dCB0aGVzZSAyIGJpdHMuCisKKyAgICBCZWNhdXNlIHRoZSBvbGQgY29kZSwgYW5kIHRoZSBrZXJuZWwgY2hlY2sgdGhlIHdob2xlIGJ5dGUsIEkgbGVmdCB0aGlzIHBpZWNlCisgICAgdW50b3VjaGVkLgorCisgICAgSG93ZXZlciwgSSB0ZXN0ZWQgYWxsIGJvYXJkL0RNOTAwMFtBfEV8RVBdIGRldmljZXMgd2l0aCB0aGlzIDIgYml0IGNoZWNrLCBzbworICAgIGl0IHNob3VsZCB3b3JrLgorCisgICAgTm90aWNlLCB0aGF0IHRoZSAybmQgaXRlcmF0aW9uIHRocm91Z2ggdGhpcyByZWNlaXZlIGxvb3AgKHdoZW4gYSAybmQgcGFja2V0IGlzCisgICAgaW4gdGhlIGZpZm8pIGlzIG11Y2ggc2hvcnRlciBub3csIGNvbXBhcmVkIHRvIHRoZSBvbGRlciBVLWJvb3QgZHJpdmVyIGNvZGUsCisgICAgc28gdGhhdCB3ZSBjYW4gbWF5YmUgcnVuIGludG8gYSBoYXJkd2FyZSBjb25kaXRpb24gbm93IHRoYXQgd2FzIG5ldmVyIHNlZW4KKyAgICBiZWZvcmUsIG9yIG1heWJlIHdhcyBzZWVuIHZlcnkgdW5mcmVxdWVudGx5LgorCisgICAgQWRkaXRpb25hbHkgYWRkZWQgYSBjbGVhbnVwIG9mIGEgc3RhY2sgdmFyaWFibGUuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBSZW15IEJvaG1lciA8bGludXhAYm9obWVyLm5ldD4KKyAgICBTaWduZWQtb2ZmLWJ5OiBCZW4gV2FycmVuIDxiaWdnZXJiYWRkZXJiZW5AZ21haWwuY29tPgorCitjb21taXQgN2RhZjJlYmU5MTk2ZGQ2NzEzMWEwNmQ4NTA0OWMzYThhMDhjYTQxMworQXV0aG9yOiBTaGlueWEgS3VyaWJheWFzaGkgPHNrdXJpYmF5QHJ1YnkuZHRpLm5lLmpwPgorRGF0ZToJVGh1IEp1biA1IDIyOjI5OjAwIDIwMDggKzA5MDAKKworICAgIFtNSVBTXSBVcGRhdGUgPGFzbS9hZGRyc3BhY2UuaD4gaGVhZGVyCisKKyAgICAtIEZpeCB0cmFkaXRpb25hbCBLU0VHIG5hbWVzCisgICAgLSBSZXBsYWNlIFBIWVNBRERSIHdpdGggQ1BIWVNBRERSCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTaGlueWEgS3VyaWJheWFzaGkgPHNrdXJpYmF5QHJ1YnkuZHRpLm5lLmpwPgorCitjb21taXQgZjBkNWE2ZjA2MGQwMDM1OGI4NWM2MmE5MjFhNDIzZWE4ZGY3MTE4NAorQXV0aG9yOiBTaGlueWEgS3VyaWJheWFzaGkgPHNrdXJpYmF5QHJ1YnkuZHRpLm5lLmpwPgorRGF0ZToJVGh1IEp1biA1IDIyOjI5OjAwIDIwMDggKzA5MDAKKworICAgIFtNSVBTXSBtaXBzX2NvbmZpZy5tazogTWlzYyBmaXhlcworCisgICAgLSBLaWxsIHJlZHVuZGFudCBgLXBpcGUnICh0aGlzIHdpbGwgYmUgYWRkZWQgYnkgJChUT1BESVIpL2NvbmZpZy5taykKKyAgICAtIE1vZGlmeSBjb21tZW50cworCisgICAgU2lnbmVkLW9mZi1ieTogU2hpbnlhIEt1cmliYXlhc2hpIDxza3VyaWJheUBydWJ5LmR0aS5uZS5qcD4KKworY29tbWl0IDVmNjRkMjFjOWEyOTk4Nzk0ZjI1NWI0NjkxNjViOTFmMDkyZGZjMmQKK0F1dGhvcjogU2hpbnlhIEt1cmliYXlhc2hpIDxza3VyaWJheUBydWJ5LmR0aS5uZS5qcD4KK0RhdGU6CVRodSBKdW4gNSAyMjoyOTowMCAyMDA4ICswOTAwCisKKyAgICBbTUlQU10gS2lsbCB1bnVzZWQgPHZlcnNpb24uaD4gaW5jbHVzaW9ucworCisgICAgU2lnbmVkLW9mZi1ieTogU2hpbnlhIEt1cmliYXlhc2hpIDxza3VyaWJheUBydWJ5LmR0aS5uZS5qcD4KKworY29tbWl0IGE1NWQ0ODE3NGNmZDFhNWJjMTg0MTU5NTEzZjQ4ZGNiYmU0MDljODMKK0F1dGhvcjogU2hpbnlhIEt1cmliYXlhc2hpIDxza3VyaWJheUBydWJ5LmR0aS5uZS5qcD4KK0RhdGU6CVRodSBKdW4gNSAyMjoyOTowMCAyMDA4ICswOTAwCisKKyAgICBbTUlQU10gbGliX21pcHMvdGltZS5jOiBGaXggQ1AwIGNvdW50IHJlZ2lzdGVyIHVzYWdlIGFuZCB0aW1lciByb3V0aW5lcworCisgICAgTUlQUyBwb3J0IGhhcyB0d28gcHJvYmxlbXMgaW4gdGltZXIgcm91dGluZXMuIE9uZSBpcyBub3cgd2UgYXNzdW1lIENGR19IWgorICAgIGVxdWFscyB0byBDUDAgY291bnRlciBmcmVxdWVuY3ksIGJ1dCB0aGlzIGlzIHdyb25nLiBDRkdfSFogaGFzIHRvIGJlIDEwMDAKKyAgICBpbiB0aGUgVS1Cb290IHN5c3RlbS4KKworICAgIFRoZSBvdGhlciBpcyB3ZSBkb24ndCBoYXZlIGEgcHJvcGVyIHRpbWUgbWFuYWdlbWVudCBjb3VudGVyIGxpa2UgdGltZXN0YW1wCisgICAgb3RoZXIgQVJDSHMgaGF2ZS4gV2UgbmVlZCB0aGUgMzItYml0IG1pbGxpc2Vjb25kIGNsb2NrIGNvdW50ZXIuCisKKyAgICBUaGlzIHBhdGNoIGludHJvZHVjZXMgdGltZXN0YW1wIGFuZCBDWUNMRVNfUEVSX0pJRkZZLiB0aW1lc3RhbXAgaXMgYQorICAgIDMyLWJpdCBub24tb3ZlcmZsb3dpbmcgQ0ZHX0haIGNvdW50ZXIsIGFuZCBDWUNMRVNfUEVSX0pJRkZZIGlzIHRoZSBudW1iZXIKKyAgICBvZiBjYWxjdWxhdGVkIENQMCBjb3VudGVyIGN5Y2xlcyBpbiBhIENGR19IWi4KKworICAgIFNUUkFURUdZOgorCisgICAgKiBGaXggaW1wcm9wZXIgQ0ZHX0haIHZhbHVlIHRvIGhhdmUgMTAwMAorCisgICAgKiBVc2UgQ0ZHX01JUFNfVElNRVJfRlJFUSBmb3IgdGltZXIgY291bnRlciBmcmVxdWVuY3ksIGluc3RlYWQuCisKKyAgICAqIHRpbWVyX2luaXQ6IGluaXRpYWxpemUgdGltZXN0YW1wIGFuZCBzZXQgdXAgdGhlIGZpcnN0IHRpbWVyIGV4cGlyYXRpb24uCisgICAgICBOb3RlIHRoYXQgd2UgZG9uJ3QgbmVlZCB0byBpbml0aWFsaXplIENQMCBjb3VudC9jb21wYXJlIHJlZ2lzdGVycyBoZXJlCisgICAgICBhcyB0aGV5IGhhdmUgYmVlbiBhbHJlYWR5IHplcm9lZCBvdXQgb24gdGhlIHN5c3RlbSByZXNldC4gTGVhdmUgdGhlbSBhcworICAgICAgdGhleSBhcmUuCisKKyAgICAqIGdldF90aW1lcjogY2FsY3VsYXRlIGhvdyBtYW55IHRpbWVzdGFtcHMgaGF2ZSBiZWVuIHBhc3NlZCwgdGhlbiByZXR1cm4KKyAgICAgIGJhc2UtcmVsYXRpdmUgdGltZXN0YW1wLiBNYWtlIHN1cmUgd2UgY2FuIGVhc2lseSBjb3VudCBtaXNzZWQgdGltZXN0YW1wcworICAgICAgcmVnYXJkbGVzcyBvZiBDUDAgY291bnQvY29tcGFyZSB2YWx1ZS4KKworICAgICogZ2V0X3RpY2tzOiByZXR1cm4gdGhlIGN1cnJlbnQgdGltZXN0YW1wLCB0aGF0IGlzIGdldF90aW1lcigwKS4KKworICAgIE1vc3QgcGFydHMgYXJlIGZyb20gZ29vZCBvbGQgTGludXggdjIuNi4xNiBrZXJuZWwuCisKKyAgICB2MjoKKyAgICAtIFJlbW92ZSBGSVhNRSBjb21tZW50cyBhcyB0aGV5IHR1cm5lZCBvdXQgdG8gYmUgdHJpdmlhbC4KKyAgICAtIFVzZSBDUDAgY29tcGFyZSByZWdpc3RlciBhcyBhIGdsb2JhbCB2YXJpYWJsZSBmb3IgZXhwaXJlbG8uCisgICAgLSBLaWxsIGEgZ2xvYmFsIHZhcmlhYmxlICdjeWNsZXNfcGVyX2ppZmZ5Jy4gVXNlICNkZWZpbmUgQ1lDTEVTX1BFUl9KSUZGWQorICAgICAgaW5zdGVhZC4KKworICAgIFNpZ25lZC1vZmYtYnk6IFNoaW55YSBLdXJpYmF5YXNoaSA8c2t1cmliYXlAcnVieS5kdGkubmUuanA+CisKK2NvbW1pdCAxOTllNGY2NTdjOGFmNDJlZmUzZmIzYmExZDExMDRlYjZiYjI4YzI1CitBdXRob3I6IFNoaW55YSBLdXJpYmF5YXNoaSA8c2t1cmliYXlAcnVieS5kdGkubmUuanA+CitEYXRlOglUaHUgSnVuIDUgMjI6Mjk6MDAgMjAwOCArMDkwMAorCisgICAgW01JUFNdIGxpYl9taXBzL3RpbWUuYzogRml4IHVkZWxheQorCisgICAgV2hhdCB3ZSBoYXZlIHRvIGRvIGlzIGp1c3QgdG8gd2FpdCBmb3IgZ2l2ZW4gbWljcm8tc2Vjb25kcy4gTm8gbmVlZCB0bworICAgIHRha2UgaW50byBhY2NvdW50IGN1cnJlbnQgdGltZSwgZ2V0X3RpbWVyIGFuZCBDRkdfSFouCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTaGlueWEgS3VyaWJheWFzaGkgPHNrdXJpYmF5QHJ1YnkuZHRpLm5lLmpwPgorCitjb21taXQgYzdlMzhlNDEzYWU2OTEyMGQzZTUxZjEzMmM3Y2IxZDZiMzUxNGQwMworQXV0aG9yOiBTaGlueWEgS3VyaWJheWFzaGkgPHNrdXJpYmF5QHJ1YnkuZHRpLm5lLmpwPgorRGF0ZToJVGh1IEp1biA1IDIyOjI4OjU5IDIwMDggKzA5MDAKKworICAgIFtNSVBTXSBsaWJfbWlwcy90aW1lLmM6IFJlcGxhY2UgQ1AwIGFjY2VzcyBmdW5jdGlvbnMgd2l0aCBleGlzdGluZyBtYWNyb3MKKworICAgIFdlIGFscmVhZHkgaGF2ZSBtYW55IHByZS1kZWZpbmVkIENQMCBhY2Nlc3MgbWFjcm9zIGluIDxhc20vbWlwc3JlZ3MuaD4uCisgICAgVGhpcyBwYXRjaCByZXBsYWNlcyBtaXBzX3tjb21wYXJlLGNvdW50fV9zZXQgYW5kIG1pcHNfY291bnRfZ2V0IHdpdGgKKyAgICBleGlzdGluZyBtYWNyb3MuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTaGlueWEgS3VyaWJheWFzaGkgPHNrdXJpYmF5QHJ1YnkuZHRpLm5lLmpwPgorCitjb21taXQgNmI1MmNmZTE2Y2Q1Mzk5MzVlMzJiZDhjZjE5MTQ2NTIyZTQ2MmE0ZAorQXV0aG9yOiBSZW15IEJvaG1lciA8bGludXhAYm9obWVyLm5ldD4KK0RhdGU6CVR1ZSBKdW4gMyAxNTo0ODoxNyAyMDA4ICswMjAwCisKKyAgICBHZXQgcmlkIG9mIGFubm95aW5nL3N1cGVyZmx1b3VzIGJhZC1jaGVja3N1bSB3YXJuaW5nIG1lc3NhZ2UKKworICAgIFUtYm9vdCBjYW4gY29tcGxhaW4gYSBsb3QgYWJvdXQgJ2NoZWNrc3VtIGJhZCcgd2hlbiBpdCBpcyBhdHRhY2hlZCB0byB0aGUgbmV0d29yay4KKyAgICBJdCBpcyBhbm5veWluZyBmb3Igb3JkaW5hcnkgdXNlcnMgd2hvIHN0YXJ0IHRvIGRvdWJ0IHRoZSBuZXR3b3JrIGNvbm5lY3Rpb24KKyAgICBpbiBnZW5lcmFsIHdoZW4gdGhleSBzZWUgbWVzc2FnZXMgbGlrZSB0aGlzLgorCisgICAgVGhpcyBpcyBjYXVzZWQgYnkgdGhlIHJvdXRpbmUgTmV0Q2tzdW1PaygpIHdoaWNoIGNhbm5vdCBoYW5kbGUgSVAtaGVhZGVycyBsb25nZXIKKyAgICB0aGFuIDIwIGJ5dGVzLiBUaG9zZSBwYWNrYWdlcyBjYW4gYmUgaWdub3JlZCBhbnl3YXkgYnkgVS1ib290LCBzbyB3ZSB0cmFzaCB0aGVtCisgICAgbm93IGJlZm9yZSBjaGVja2luZyB0aGUgY2hlY2tzdW0uCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBSZW15IEJvaG1lciA8bGludXhAYm9obWVyLm5ldD4KKyAgICBTaWduZWQtb2ZmLWJ5OiBCZW4gV2FycmVuIDxiaWdnZXJiYWRkZXJiZW5AZ21haWwuY29tPgorCitjb21taXQgZDZlZTVmYTQwYzI2OTcwZDM5OTkwYzZmYzRhMmYyMGE5NzgyMjY1MAorQXV0aG9yOiBSZW15IEJvaG1lciA8bGludXhAYm9obWVyLm5ldD4KK0RhdGU6CVdlZCBKdW4gNCAxMDo0NzoyNSAyMDA4ICswMjAwCisKKyAgICBGaXggb3JkZXIgZm9yIHJlYWRpbmcgcngtc3RhdHVzIHJlZ2lzdGVycyBpbiAzMmJpdCBtb2RlIG9mIERNOTAwMAorCisgICAgQSBsYXN0IG1pbnV0ZSBjbGVhbnVwIGJlZm9yZSBzdWJtaXR0aW5nIHRoZSBETTkwMDBBIHBhdGNoIHNlcmllcyB5ZXN0ZXJkYXkgaW50cm9kdWNlZAorICAgIGEgYnVnIGluIHJlYWRpbmcgdGhlIHJ4LXN0YXR1cyByZWdpc3RlcnMgaW4gMzJiaXQgbW9kZSBvbmx5LgorICAgIFRoaXMgcGF0Y2ggcmVwYWlycyB0aGlzLgorCisgICAgU2lnbmVkLW9mZi1ieTogUmVteSBCb2htZXIgPGxpbnV4QGJvaG1lci5uZXQ+CisgICAgU2lnbmVkLW9mZi1ieTogQmVuIFdhcnJlbiA8YmlnZ2VyYmFkZGVyYmVuQGdtYWlsLmNvbT4KKworY29tbWl0IDk4MjkxZTJlNjg5MDk2NDIwNDY1MDc0Y2NlOTI2YjIyNmQyZTcxYjQKK0F1dGhvcjogUmVteSBCb2htZXIgPGxpbnV4QGJvaG1lci5uZXQ+CitEYXRlOglUdWUgSnVuIDMgMTU6MjY6MjYgMjAwOCArMDIwMAorCisgICAgRE05MDAwOiBTb21lIG1pbm9yIGNvZGUgY2xlYW51cHMKKworICAgIFNvbWUgbGluZXMgb2YgdGhlIFUtYm9vdCBETTkwMDB4IGRyaXZlciBhcmUgbG9uZ2VyIHRoYW4gODAgY2hhcmFjdGVycywgb3IKKyAgICBuZWVkIHNvbWUgb3RoZXIgbWlub3IgY2xlYW51cC4KKworICAgIFNpZ25lZC1vZmYtYnk6IFJlbXkgQm9obWVyIDxsaW51eEBib2htZXIubmV0PgorICAgIFNpZ25lZC1vZmYtYnk6IEJlbiBXYXJyZW4gPGJpZ2dlcmJhZGRlcmJlbkBnbWFpbC5jb20+CisKK2NvbW1pdCA4NTBiYTc1NTVkYmQ0Y2E4ZDE0ZmM0NzViODY0ZDUzNDc5N2FkYWIzCitBdXRob3I6IFJlbXkgQm9obWVyIDxsaW51eEBib2htZXIubmV0PgorRGF0ZToJVHVlIEp1biAzIDE1OjI2OjI1IDIwMDggKzAyMDAKKworICAgIERNOTAwMDogTWFrZSBkcml2ZXIgd29yayBwcm9wZXJseSBmb3IgRE05MDAwQQorCisgICAgVGhlIERNOTAwMEEgbmV0d29yayBjb250cm9sbGVyIGRvZXMgbm90IHdvcmsgd2l0aCB0aGUgVS1ib290IERNOTAwMHggZHJpdmVyLgorICAgIEFuYWx5c2lzIHNob3dlZCB0aGF0IG1hbnkgaW5jb21pbmcgcGFja2V0cyBhcmUgbG9zdC4KKworICAgIFRoZSBETTkwMDBBIEFwcGxpY2F0aW9uIE5vdGVzIFYxLjIwIChzZWN0aW9uIDUuNi4xKSByZWNvbW1lbmQgdGhhdCB0aGUgcG9sbCB0bworICAgIGNoZWNrIGZvciBhIHZhbGlkIHJ4IHBhY2tldCBiZSBkb25lIG9uIHRoZSBpbnRlcnJ1cHQgc3RhdHVzIHJlZ2lzdGVyLCBub3QKKyAgICBkaXJlY3RseSBieSBwZXJmb3JtaW5nIHRoZSBkdW1teSByZWFkIGFuZCB0aGUgcnggc3RhdHVzIGNoZWNrIGFzIGlzIGN1cnJlbnRseQorICAgIHRoZSBjYXNlIGluIHRoZSB1LWJvb3QgZHJpdmVyLgorCisgICAgV2hlbiB0aGUgcmVjb21tZW5kZWQgcG9sbCBpcyBkb25lIGFzIHN1Z2dlc3RlZCB0aGUgZHJpdmVyIHN0YXJ0cyB3b3JraW5nCisgICAgY29ycmVjdGx5IG9uIDEwTWJpdC9IRCwgYnV0IG9uIDEwME1CaXQvRkQgcGFja2V0cyBjb21lIGluIGZhc3RlciBzbyB0aGF0IHRoZXJlCisgICAgY2FuIGJlIG1vcmUgdGhhbiAxIHBhY2thZ2UgaW4gdGhlIGZpZm8gYXQgdGhlIHNhbWUgdGltZS4KKworICAgIFRoZSBkcml2ZXIgbXVzdCBwZXJmb3JtIHRoZSByeC1zdGF0dXMgY2hlY2sgaW4gYSBsb29wIGFuZCByZWFkIGFuZCBoYW5kbGUgYWxsCisgICAgcGFja2FnZXMgdW50aWwgdGhlcmUgaXMgbm8gbW9yZSBsZWZ0IF9hZnRlcl8gdGhlIGludGVycnVwdCBSWCBmbGFnIGlzIHNldC4KKworICAgIFRoaXMgY2hhbmdlIGhhcyBiZWVuIHRlc3RlZCB3aXRoIERNOTAwMEEsIERNOTAwMEUsIERNOTAwMEVQLgorCisgICAgU2lnbmVkLW9mZi1ieTogUmVteSBCb2htZXIgPGxpbnV4QGJvaG1lci5uZXQ+CisgICAgU2lnbmVkLW9mZi1ieTogQmVuIFdhcnJlbiA8YmlnZ2VyYmFkZGVyYmVuQGdtYWlsLmNvbT4KKworY29tbWl0IGZiY2I3ZWNlMGVhMWUzNjQxODBmMWNmOTYzZTBmYTBjZTdmNjU2MGQKK0F1dGhvcjogUmVteSBCb2htZXIgPGxpbnV4QGJvaG1lci5uZXQ+CitEYXRlOglUdWUgSnVuIDMgMTU6MjY6MjQgMjAwOCArMDIwMAorCisgICAgRE05MDAwOiBJbXByb3ZlIGV0aF9yZXNldCgpIHJvdXRpbmUKKworICAgIEFjY29yZGluZyB0byB0aGUgYXBwbGljYXRpb24gbm90ZXMgb2YgdGhlIERNOTAwMCB2MS4yMiBjaGFwdGVyIDUuMiBidWxsZXQgMiwgdGhlCisgICAgcmVzZXQgcHJvY2VkdXJlIG11c3QgYmUgZG9uZSB0d2ljZSB0byBwcm9wZXJseSByZXNldCB0aGUgRE05MDAwIGJ5IG1lYW5zIG9mIHNvZnR3YXJlLgorICAgIFRoaXMgZXJyYXRhIGlzIG5vdCBuZWVkZWQgYW55bW9yZSBmb3IgdGhlIERNOTAwMEEsIGJ1dCBpdCBkb2VzIG5vdCBib3RoZXIgaXQuCisKKyAgICBUaGlzIGNoYW5nZSBoYXMgYmVlbiB0ZXN0ZWQgd2l0aCBETTkwMDBBLCBETTkwMDBFLCBETTkwMDBFUC4KKworICAgIFNpZ25lZC1vZmYtYnk6IFJlbXkgQm9obWVyIDxsaW51eEBib2htZXIubmV0PgorICAgIFNpZ25lZC1vZmYtYnk6IEJlbiBXYXJyZW4gPGJpZ2dlcmJhZGRlcmJlbkBnbWFpbC5jb20+CisKK2NvbW1pdCBhY2JhMzE4NDdmYWQ5YWU0MDcwOGNjMmM5ZjNhNjM0ZWMzNWYzNDE2CitBdXRob3I6IFJlbXkgQm9obWVyIDxsaW51eEBib2htZXIubmV0PgorRGF0ZToJVHVlIEp1biAzIDE1OjI2OjIzIDIwMDggKzAyMDAKKworICAgIERNOTAwMDogaW1wcm92ZSBldGhfc2VuZCgpIHJvdXRpbmUKKworICAgIFRoZSBldGhfc2VuZCByb3V0aW5lIG9mIHRoZSBVLWJvb3QgRE05MDAweCBkcml2ZXIgZG9lcyBub3QgbWF0Y2ggdGhlCisgICAgRE05MDAwIG9yIERNOTAwMEEgYXBwbGljYXRpb24gbm90ZXMvcHJvZ3JhbW1pbmcgZ3VpZGVzLgorCisgICAgVGhpcyBjaGFuZ2UgaW1wcm92ZXMgdGhlIHN0YWJpbGl0eSBvZiB0aGUgRE05MDAwQSBuZXR3b3JrIGNvbnRyb2xsZXIuCisKKyAgICBUaGlzIGNoYW5nZSBoYXMgYmVlbiB0ZXN0ZWQgd2l0aCBETTkwMDBBLCBETTkwMDBFLCBETTkwMDBFUC4KKworICAgIFNpZ25lZC1vZmYtYnk6IFJlbXkgQm9obWVyIDxsaW51eEBib2htZXIubmV0PgorICAgIFNpZ25lZC1vZmYtYnk6IEJlbiBXYXJyZW4gPGJpZ2dlcmJhZGRlcmJlbkBnbWFpbC5jb20+CisKK2NvbW1pdCAxMzRlMjY2MjUzYzAyYTc4MzI1NjBkYTU5ZDM5NDk4OWM0ZjY0NDUzCitBdXRob3I6IFJlbXkgQm9obWVyIDxsaW51eEBib2htZXIubmV0PgorRGF0ZToJVHVlIEp1biAzIDE1OjI2OjIyIDIwMDggKzAyMDAKKworICAgIERNOTAwMDogcmVwYWlyIGRlYnVnIGxvZ2dpbmcKKworICAgIEl0IHNlZW1zIHRoYXQgdGhlIGRlYnVnZ2luZyBjb2RlIG9mIHRoZSBETTkwMDB4IGRyaXZlciBpbiBVLWJvb3QgaGFzIG5vdCBiZWVuCisgICAgY29tcGlsZWQgZm9yIGEgbG9uZyB0aW1lLCBiZWNhdXNlIGl0IGNhbm5vdCBjb21waWxlLi4uCisKKyAgICBBbHNvIHJlYXJyYW5nZWQgc29tZSBsb2dsaW5lcyB0byBnZXQgbW9yZSB1c2VmdWwgaW5mbyB3aGlsZSBkZWJ1Z2dpbmcuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBSZW15IEJvaG1lciA8bGludXhAYm9obWVyLm5ldD4KKyAgICBTaWduZWQtb2ZmLWJ5OiBCZW4gV2FycmVuIDxiaWdnZXJiYWRkZXJiZW5AZ21haWwuY29tPgorCitjb21taXQgYTEwMTM2MWJmZTIzYzEyMDMyMWU0NWQxMTRjMDYwM2I4ZTA3NjNlOQorQXV0aG9yOiBSZW15IEJvaG1lciA8bGludXhAYm9obWVyLm5ldD4KK0RhdGU6CVR1ZSBKdW4gMyAxNToyNjoyMSAyMDA4ICswMjAwCisKKyAgICBETTkwMDA6IEFkZCBkYXRhIGJ1cy13aWR0aCBhdXRvIGRldGVjdGlvbi4KKworICAgIFRoZSBVLWJvb3QgRE05MDAweCBkcml2ZXIgY29udGFpbnMgYSBjb21waWxlIHRpbWUgYnVzLXdpZHRoIGRlZmluaXRpb24gZm9yCisgICAgdGhlIGRhdGFidXMgY29ubmVjdGVkIHRvIHRoZSBuZXR3b3JrIGNvbnRyb2xsZXIuCisKKyAgICBUaGlzIGNvbXBpbGUgY2hlY2sgbWFrZXMgdGhlIGNvZGUgdW5jbGVhciwgaW5mbGV4aWJsZSBhbmQgaXMgdW5uZWNjZXNzYXJ5LgorICAgIEl0IGNhbiBiZSBhc2tlZCB0byB0aGUgbmV0d29yayBjb250cm9sbGVyIHdoYXQgaXRzIGJ1cy13aWR0aCBpcyBieSByZWFkaW5nIGJpdHMKKyAgICA2IGFuZCA3IG9mIHRoZSBpbnRlcnJ1cHQgc3RhdHVzIHJlZ2lzdGVyLgorCisgICAgVGhlIGxpbnV4IGtlcm5lbCBhbHJlYWR5IHVzZXMgYSBydW50aW1lIG1lY2hhbmlzbSB0byBkZXRlcm1pbmUgdGhpcyBidXMtd2lkdGgsCisgICAgc28gdGhlIGltcGxlbWVudGF0aW9uIGJlbG93IGxvb2tzIHNvbWV3aGF0IGxpa2UgdGhhdCBpbXBsZW1lbnRhdGlvbi4KKworICAgIFRoaXMgY2hhbmdlIGhhcyBiZWVuIHRlc3RlZCB3aXRoIERNOTAwMEEsIERNOTAwMEUsIERNOTAwMEVQLgorCisgICAgU2lnbmVkLW9mZi1ieTogUmVteSBCb2htZXIgPGxpbnV4QGJvaG1lci5uZXQ+CisgICAgU2lnbmVkLW9mZi1ieTogQmVuIFdhcnJlbiA8YmlnZ2VyYmFkZGVyYmVuQGdtYWlsLmNvbT4KKworY29tbWl0IDYzYTBhZmEwYzMyZTVmNGVhOThhOTQzOTU0Mjg3MDA3MjQzNzQwNGQKK0F1dGhvcjogU3RlZmFuIFJvZXNlIDxzckBkZW54LmRlPgorRGF0ZToJV2VkIEp1biA0IDE5OjE5OjIwIDIwMDggKzAyMDAKKworICAgIHBwYzR4eDogRml4IHByb2JsZW0gd2l0aCBTRFJBTSBpbml0IGluIGJhbWJvbyBOQU5EIGJvb3RpbmcgcG9ydAorCisgICAgVGhpcyBwYXRjaCBmaXhlcyBhIHByb2JsZW0gc3BvdHRlZCBieSBFdWdlbmUgTydCcmlhbiAodGhhbmtzIEV1Z2VuZSkKKyAgICBpbnRyb2R1Y2VkIGJ5IHRoZSBjb21taXQ6CisKKyAgICBwcGM0eHgvTkFORF9TUEw6IENvbnNvbGlkYXRlIDQwNSBhbmQgNDQwIE5BTkQgYm9vdGluZyBjb2RlIGluIHN0YXJ0LlMKKworICAgIFdpdGggdGhpcyBwYXRjaCBTRFJBTSB3aWxsIGdldCBpbml0aWFsaXplZCBhZ2FpbiBhbmQgYm9vdGluZyBmcm9tIE5BTkQKKyAgICBpcyB3b3JraW5nIGFnYWluLgorCisgICAgU2lnbmVkLW9mZi1ieTogU3RlZmFuIFJvZXNlIDxzckBkZW54LmRlPgorICAgIEFja2VkLWJ5OiBFdWdlbmUgTydCcmllbiA8ZXVnZW5lLm9icmllbkBhZHZhbnRlY2hhbXQuY29tPgorCitjb21taXQgOWVmMWNiZWYxYTY0OWUzNzc5Mjk4YjBlNjYzYmU0ODY1Y2JiYmZiYworQXV0aG9yOiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorRGF0ZToJVHVlIE1heSAyNyAxNDoxOTozMCAyMDA4ICswMjAwCisKKyAgICBTb2NyYXRlczogRml4IFBDSSBidXMgZnJlcXVlbmN5IHJlcG9ydAorCisgICAgU2lnbmVkLW9mZi1ieTogU2VyZ2VpIFBvc2VsZW5vdiA8c3Bvc2VsZW5vdkBlbWNyYWZ0LmNvbT4KKworY29tbWl0IDhlYzZlMzMyZWFjZTBlZTc4YzcxZWU1ZjY0NWQxMmIwNjgxM2I4NmYKK0F1dGhvcjogVG9yIEtyaWxsIDx0b3JAZXhjaXRvLmNvbT4KK0RhdGU6CVRodSBNYXkgMjkgMTE6MTA6MzAgMjAwOCArMDIwMAorCisgICAgRml4IGluY29ycmVjdCBzd2l0Y2ggZm9yIElGX1RZUEUgaW4gcGFydC5jCisKKyAgICBVc2UgY29ycmVjdCBmaWVsZCBpbiBibG9ja19kZXZfZGVzY190IHdoZW4gd3JpdGluZyBpbnRlcmZhY2UgdHlwZSBpbgorICAgIGRldl9wcmludC4gRXJyb3IgaW50cm9kdWNlZCBpbiA1NzRiMzE5NS4KKworICAgIEFsc28gYWRkZWQgZml4IGZyb20gTWFydGluIEtyYXVzZQorCisgICAgU2lnbmVkLW9mZi1ieTogVG9yIEtyaWxsIDx0b3JAZXhjaXRvLmNvbT4KKworY29tbWl0IGI2NGI4YTBiZDMxMDkzNWI3MGFmNjlhYzk3MDk1MmYyYjM2NGFlNTYKK0F1dGhvcjogQW5kcmUgU2Nod2FyeiA8YW5kcmUuc2Nod2FyekBtYXRyaXgtdmlzaW9uLmRlPgorRGF0ZToJVHVlIE1heSAyNyAxMDoyNTozOSAyMDA4ICswMjAwCisKKyAgICBBZGQgc2l6ZSAjZGVmaW5lcyBmb3IgQWx0ZXJhIEN5Y2xvbmUtSUkgRVAyQzggYW5kIEVQMkMyMC4KKworICAgIFNpZ25lZC1vZmYtYnk6IEFuZHJlIFNjaHdhcnogPGFuZHJlLnNjaHdhcnpAbWF0cml4LXZpc2lvbi5kZT4KKworY29tbWl0IDM1ZWY4NzdmMGE4ZjYyMzJjZGVmNzQ4ZjQ0MmZlZDVhY2NiMmI2NDEKK0F1dGhvcjogUGV0ZXIgVHlzZXIgPHB0eXNlckB4ZXMtaW5jLmNvbT4KK0RhdGU6CVRodSBNYXkgMjIgMTg6NTY6NTIgMjAwOCAtMDUwMAorCisgICAgQWRkaXRpb25hbCBmaXggdG8gcmVhZGxpbmVfaW50b19idWZmZXIoKSB3aXRoIENPTkZJR19DTURMSU5FX0VESVRJTkcgYmVmb3JlIHJlbG9jYXRpbmcKKworICAgIFJlbW92ZWQgdW5uZWVkZWQgY29tbWFuZCBsaW5lIGhpc3RvcnkgaW5pdGlhbGl6YXRpb24uICBBbHNvLCB0aGUgb3JpZ2luYWwKKyAgICBjb2RlIHdvdWxkIGFjY2VzcyB0aGUgJ2luaXR0ZWQnIHZhcmlhYmxlIGJlZm9yZSByZWxvY2F0aW9uIHRvIFNEUkFNCisgICAgd2hpY2ggcmVzdWx0ZWQgaW4gZXJyYXRpYyBiZWhhdmlvciBzaW5jZSB0aGUgYnNzIGlzIG5vdCBpbml0aWFsaXplZCB3aGVuCisgICAgZXhlY3V0aW5nIGZyb20gZmxhc2guCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBQZXRlciBUeXNlciA8cHR5c2VyQHhlcy1pbmMuY29tPgorCitjb21taXQgMjJmMzcxYjYzMDM4YTRlY2FiMDQwNjg4NzdjMTA4OWU1MWEwMWJhMQorQXV0aG9yOiBHcmFudCBFcmlja3NvbiA8Z2VyaWNrc29uQG51b3ZhdGlvbnMuY29tPgorRGF0ZToJV2VkIE1heSAyMSAxMzoyODozMCAyMDA4IC0wNzAwCisKKyAgICBQUEM0eHg6IFNpbXBsaWZpZWQgcG9zdF93b3JkX3tsb2FkLCBzdG9yZX0KKworICAgIFRoaXMgcGF0Y2ggc2ltcGxpZmllcyBwb3N0X3dvcmRfe2xvYWQsc3RvcmV9IGJ5IHVzaW5nIHRoZSBwcmVwcm9jZXNzb3IKKyAgICB0byBlbGltaW5hdGUgcmVkdW5kYW50LCBjb3B5LWFuZC1wYXN0ZWQgY29kZS4KKworICAgIFNpZ25lZC1vZmYtYnk6IEdyYW50IEVyaWNrc29uIDxnZXJpY2tzb25AbnVvdmF0aW9ucy5jb20+CisKK2NvbW1pdCA5YzA0OGI1MjM0MTNhZTVmM2ZmMzRlMDBjZjU3NTY5YzMzNjhhYjUxCitBdXRob3I6IFZhc2lsaXkgTGVvZW5lbmtvIDx2YXNpbGl5Lmxlb25lbmtvQG1haWwucnU+CitEYXRlOglXZWQgTWF5IDcgMjE6MjU6MzMgMjAwOCArMDQwMAorCisgICAgY2ZpX2ZsYXNoOiBlbmFibGUgTTE4IGZsYXNoIGNoaXBzIGZhbWlseSBzdXBwb3J0LgorCisgICAgQWRkZWQgbmV3IGNvbW1hbmQgc2V0IElELiBCdWZmZXJlZCB3cml0ZSBjb21tYW5kIHByb2Nlc3NpbmcgaXMgY2hhbmdlZAorICAgIGluIG9yZGVyIHRvIHN1cHBvcnQgTTE4IGZsYXNoIGNoaXBzIGZhbWlseS4KKworICAgIFNpZ25lZC1vZmYtYnk6IEFsZXhleSBLb3JvbGV2IDxha29yb2xldkBpbmZyYWRlYWQub3JnPgorICAgIFNpZ25lZC1vZmYtYnk6IFZhc2lsaXkgTGVvbmVua28gPHZhc2lsaXkubGVvbmVua29AbWFpbC5ydT4KKworY29tbWl0IDkzYzU2ZjIxMmNjZGFkYzE4MjAxOGYwNzY5Y2IyODQ0MjZiODhmMWQKK0F1dGhvcjogVmFzaWxpeSBMZW9lbmVua28gPHZhc2lsaXkubGVvbmVua29AbWFpbC5ydT4KK0RhdGU6CVdlZCBNYXkgNyAyMToyNDo0NCAyMDA4ICswNDAwCisKKyAgICBjZmlfZmxhc2g6IHN1cHBvcnQgb2YgbG9uZyBjbWQgaW4gVS1ib290LgorCisgICAgU29tZSBOT1IgZmxhc2ggY2hpcHMgbmVlZHMgc3VwcG9ydCBvZiBjb21tYW5kcyB3aXRoIGxlbmd0aCBncmV0aGVyIHRoYW4gbWF4CisgICAgdmFsdWUgc2l6ZSBvZiB1Y2hhci4gRm9yIGV4YW1wbGUgYWxsIE0xOCBmYW1pbHkgY2hpcHMgdXNlIDB4MWZmIGNvbW1hbmQgaW4KKyAgICBidWZmZXJlZCB3cml0ZSBtb2RlIGFzIHZhbHVlIG9mIHByb2dyYW0gbG9vcHMgY291bnQuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBBbGV4ZXkgS29yb2xldiA8YWtvcm9sZXZAaW5mcmFkZWFkLm9yZz4KKyAgICBTaWduZWQtb2ZmLWJ5OiBWYXNpbGl5IExlb25lbmtvIDx2YXNpbGl5Lmxlb25lbmtvQG1haWwucnU+CisKK2NvbW1pdCA0ZDkxZDFkZjJmMTZiNTExYWI4MGRlYzUwYzgwZTA1MGJhMGQ4NDFlCitBdXRob3I6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KK0RhdGU6CUZyaSBNYXkgMTYgMTE6MDY6MDYgMjAwOCArMDIwMAorCisgICAgRFRUOiBJc3N1ZSBvbmUtc2hvdCBjb21tYW5kIG9uIEFENzQxNCAoTE03NSBjb2RlKSB0byByZWFkIHRlbXAKKworICAgIE9uIEFENzQxNCB0aGUgZmlyc3QgdmFsdWUgdXBvbiBib290dXAgaXMgbm90IHJlYWQgY29ycmVjdGx5LgorICAgIFRoaXMgaXMgbW9zdCBsaWtlbHkgYmVjYXVzZSBvZiB0aGUgODAwbXMgdXBkYXRlIHRpbWUgb2YgdGhlCisgICAgdGVtcCByZWdpc3RlciBpbiBub3JtYWwgdXBkYXRlIG1vZGUuIFRvIGdldCBjdXJyZW50IHZhbHVlcworICAgIGVhY2ggdGltZSB3ZSBpc3N1ZSB0aGUgImR0dCIgY29tbWFuZCBpbmNsdWRpbmcgdXBvbiBwb3dlcnVwCisgICAgd2Ugc3dpdGNoIGludG8gb25lLXNob3J0IG1vZGUuCisKKyAgICBUaGlzIHBhdGNoIGZpeGVzIHRoZSBwcm9ibGVtIG9uIEFENzQxNCBlcXVpcHBlZCBib2FyZHMgKFNlcXVvaWEsCisgICAgQ2FueW9ubGFuZHMgZXRjKSwgdGhhdCB0ZW1wIHZhbHVlIHByaW50ZWQgaW4gdGhlIGJvb3R1cCBsb2cgd2FzCisgICAgaW5jb3JyZWN0LgorCisgICAgU2lnbmVkLW9mZi1ieTogU3RlZmFuIFJvZXNlIDxzckBkZW54LmRlPgorCitjb21taXQgZGU1YmZjZjdiMDQyNWUwMzJiZTEyNjk4MjUyZGJhYTZiNjVhMjhjMAorQXV0aG9yOiBNYXR0aGlhcyBGdWNocyA8bWF0dGhpYXMuZnVjaHNAZXNkLWVsZWN0cm9uaWNzLmNvbT4KK0RhdGU6CUZyaSBNYXkgMzAgMTY6NTU6MDYgMjAwOCArMDIwMAorCisgICAgcHBjNHh4OiBDbGVhbnVwIENQQ0k0MDUgdmFyaWFudCdzIGNvbmZpZyBmaWxlCisKKyAgICBUaGlzIHBhdGNoIHJlbW92ZXMgc29tZSBkZWFkIGNvZGUgZnJvbSBDUENJNDA1IGJvYXJkJ3MKKyAgICBjb25maWcgZmlsZXMuIEpGRlMyIHN1cHBvcnQgaXMgYWxzbyByZW1vdmVkLiBJdCdzIG5vdCB1c2VkIGFuZAorICAgIENQQ0k0MDUyIGRvZXMgbm90IGJ1aWxkIGFueW1vcmUgd2l0aG91dCBzb21lIHNpemUgcmVkdWN0aW9uLgorCisgICAgU2lnbmVkLW9mZi1ieTogTWF0dGhpYXMgRnVjaHMgPG1hdHRoaWFzLmZ1Y2hzQGVzZC1lbGVjdHJvbmljcy5jb20+CisKK2NvbW1pdCAyOTE4ZWI5ZDQyYmM3MDVmY2JkMThjOWZjYzM5ZDE1ZmYyODQzYzY1CitBdXRob3I6IEtlbm5ldGggSm9oYW5zc29uIDxrZW5uZXRoQHNvdXRocG9sZS5zZT4KK0RhdGU6CVRodSBNYXkgMjkgMTY6MzI6MzMgMjAwOCArMDIwMAorCisgICAgUmVtb3ZlIHNoZWxsIHZhcmlhYmxlIFVOREVGX1NZTS4KKworICAgIFVOREVGX1NZTSBpcyBhIHNoZWxsIHZhcmlhYmxlIGluIHRoZSBtYWluIE1ha2VmaWxlIHVzZWQgdG8gZm9yY2UgdGhlCisgICAgbGlua2VyIHRvIGFkZCBhbGwgdS1ib290IGNvbW1hbmRzIHRvIHRoZSBmaW5hbCBpbWFnZS4gSXQgaGFzIG5vIHVzZSBoZXJlLgorCisgICAgU2lnbmVkLW9mZi1ieTogS2VubmV0aCBKb2hhbnNzb24gPGtlbm5ldGhAc291dGhwb2xlLnNlPgorCitjb21taXQgOGM2NjQ5N2UwNmJmODAzNDg5YzU4OWRmNThlZTU5MWQ3MTAzMzI3NAorQXV0aG9yOiBIYWF2YXJkIFNraW5uZW1vZW4gPGhhYXZhcmQuc2tpbm5lbW9lbkBhdG1lbC5jb20+CitEYXRlOglGcmkgTWF5IDE2IDExOjEwOjM1IDIwMDggKzAyMDAKKworICAgIEFkZCBzdXBwb3J0IGZvciBlbnZpcm9ubWVudCBpbiBTUEkgZmxhc2gKKworICAgIFRoaXMgaXMgcHJldHR5IGluY29tcGxldGUuLi5pdCBkb2Vzbid0IGhhbmRsZSByZWFkaW5nIHRoZSBlbnZpcm9ubWVudAorICAgIGJlZm9yZSByZWxvY2F0aW9uLCBpdCBkb2Vzbid0IHN1cHBvcnQgcmVkdW5kYW50IGVudmlyb25tZW50LCBhbmQgaXQKKyAgICBkb2Vzbid0IHN1cHBvcnQgZW1iZWRkZWQgZW52aXJvbm1lbnQuIEJ1dCBhcGFydCBmcm9tIHRoYXQsIGl0IGRvZXMKKyAgICBzZWVtIHRvIHdvcmsuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBIYWF2YXJkIFNraW5uZW1vZW4gPGhhYXZhcmQuc2tpbm5lbW9lbkBhdG1lbC5jb20+CisKK2NvbW1pdCBiNjM2ODQ2N2U2YTk3ZjIyNWUwYTVmZDdiZmM1Yzc1OThlZjVkZGM0CitBdXRob3I6IEhhYXZhcmQgU2tpbm5lbW9lbiA8aGFhdmFyZC5za2lubmVtb2VuQGF0bWVsLmNvbT4KK0RhdGU6CUZyaSBNYXkgMTYgMTE6MTA6MzQgMjAwOCArMDIwMAorCisgICAgU1BJIEZsYXNoOiBBZGQgInNmIiBjb21tYW5kCisKKyAgICBUaGlzIGFkZHMgYSBuZXcgY29tbWFuZCwgInNmIiB3aGljaCBjYW4gYmUgdXNlZCB0byBtYW5pcHVsYXRlIFNQSQorICAgIGZsYXNoLiBDdXJyZW50bHksIGluaXRpYWxpemF0aW9uLCByZWFkaW5nLCB3cml0aW5nIGFuZCBlcmFzaW5nIGlzCisgICAgc3VwcG9ydGVkLgorCisgICAgU2lnbmVkLW9mZi1ieTogSGFhdmFyZCBTa2lubmVtb2VuIDxoYWF2YXJkLnNraW5uZW1vZW5AYXRtZWwuY29tPgorCitjb21taXQgZDI1Y2U3ZDI0Y2MwZjkzODgxNTU5ZjQwMDkxNzVlYTMwNWFmNjVlOAorQXV0aG9yOiBIYWF2YXJkIFNraW5uZW1vZW4gPGhhYXZhcmQuc2tpbm5lbW9lbkBhdG1lbC5jb20+CitEYXRlOglGcmkgTWF5IDE2IDExOjEwOjMzIDIwMDggKzAyMDAKKworICAgIFNQSSBGbGFzaCBzdWJzeXN0ZW0KKworICAgIFRoaXMgYWRkcyBhIG5ldyBTUEkgZmxhc2ggc3Vic3lzdGVtLgorCisgICAgQ3VycmVudGx5LCBvbmx5IEFUNDUgRGF0YUZsYXNoIGluIG5vbi1wb3dlci1vZi10d28gbW9kZSBpcyBzdXBwb3J0ZWQsCisgICAgYnV0IHNvbWUgcHJlbGltaW5hcnkgc3VwcG9ydCBmb3Igb3RoZXIgZmxhc2ggdHlwZXMgaXMgaW4gcGxhY2UgYXMKKyAgICB3ZWxsLgorCisgICAgU2lnbmVkLW9mZi1ieTogSGFhdmFyZCBTa2lubmVtb2VuIDxoYWF2YXJkLnNraW5uZW1vZW5AYXRtZWwuY29tPgorCitjb21taXQgNjA0NDVjYjVjM2ViNzdlZDFhMDdmMmQ5MDhlZWYwOTE3NDQ4MzY5OAorQXV0aG9yOiBIYW5zLUNocmlzdGlhbiBFZ3R2ZWR0IDxoY2VndHZlZHRAYXRtZWwuY29tPgorRGF0ZToJRnJpIE1heSAxNiAxMToxMDozMiAyMDA4ICswMjAwCisKKyAgICBhdG1lbF9zcGk6IERyaXZlciBmb3IgdGhlIEF0bWVsIFNQSSBjb250cm9sbGVyCisKKyAgICBUaGlzIGFkZHMgYSBkcml2ZXIgZm9yIHRoZSBTUEkgY29udHJvbGxlciBmb3VuZCBvbiBtb3N0IEFUOTEgYW5kIEFWUjMyCisgICAgY2hpcHMsIGltcGxlbWVudGluZyB0aGUgbmV3IFNQSSBBUEkuCisKKyAgICBDaGFuZ2VkIGluIHY0OgorICAgICAgLSBVcGRhdGUgdG8gbmV3IEFQSQorICAgICAgLSBIYW5kbGUgemVyby1sZW5ndGggdHJhbnNmZXJzIGFwcHJvcHJpYXRlbHkuIFRoZSB1c2VyIG1heSBzZW5kIGEKKwl6ZXJvLWxlbmd0aCBTUEkgdHJhbnNmZXIgd2l0aCBTUElfWEZFUl9FTkQgc2V0IGluIG9yZGVyIHRvCisJZGVhY3RpdmF0ZSB0aGUgY2hpcCBzZWxlY3QgYWZ0ZXIgYSBzZXJpZXMgb2YgdHJhbnNmZXJzIHdpdGggY2hpcAorCXNlbGVjdCBhY3RpdmUuIFRoaXMgaXMgdXNlZnVsIGUuZy4gd2hlbiBwb2xsaW5nIHRoZSBzdGF0dXMKKwlyZWdpc3RlciBvZiBEYXRhRmxhc2guCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBIYWF2YXJkIFNraW5uZW1vZW4gPGhza2lubmVtb2VuQGF0bWVsLmNvbT4KKworY29tbWl0IGQyNTViYjBlNzhkMWNhYzViN2M4Yzk4Y2I3N2EwOTVmNWYxNmRlMGQKK0F1dGhvcjogSGFhdmFyZCBTa2lubmVtb2VuIDxoc2tpbm5lbW9lbkBhdG1lbC5jb20+CitEYXRlOglGcmkgTWF5IDE2IDExOjEwOjMxIDIwMDggKzAyMDAKKworICAgIFNQSSBBUEkgaW1wcm92ZW1lbnRzCisKKyAgICBUaGlzIHBhdGNoIGdldHMgcmlkIG9mIHRoZSBzcGlfY2hpcHNlbCB0YWJsZSBhbmQgYWRkcyBhIGhhbmRmdWwgb2YgbmV3CisgICAgZnVuY3Rpb25zIHRoYXQgbWFrZXMgdGhlIFNQSSBsYXllciBjbGVhbmVyIGFuZCBtb3JlIGZsZXhpYmxlLgorCisgICAgSW5zdGVhZCBvZiB0aGUgc3BpX2NoaXBzZWwgdGFibGUsIGVhY2ggYm9hcmQgdGhhdCB3YW50cyB0byB1c2UgU1BJCisgICAgZ2V0cyB0byBpbXBsZW1lbnQgdGhyZWUgaG9va3M6CisgICAgICAqIHNwaV9jc19hY3RpdmF0ZSgpOiBBY3RpdmF0ZXMgdGhlIGNoaXBzZWxlY3QgZm9yIGEgZ2l2ZW4gc2xhdmUKKyAgICAgICogc3BpX2NzX2RlYWN0aXZhdGUoKTogRGVhY3RpdmF0ZXMgdGhlIGNoaXBzZWxlY3QgZm9yIGEgZ2l2ZW4gc2xhdmUKKyAgICAgICogc3BpX2NzX2lzX3ZhbGlkKCk6IERldGVybWluZXMgaWYgdGhlIGdpdmVuIGJ1cy9jaGlwc2VsZWN0CisJY29tYmluYXRpb24gY2FuIGJlIGFjdGl2YXRlZC4KKworICAgIE5vdCBhbGwgZHJpdmVycyBtYXkgbmVlZCB0aG9zZSBleHRyYSBmdW5jdGlvbnMgaG93ZXZlci4gSWYgdGhhdCdzIHRoZQorICAgIGNhc2UsIHRoZSBib2FyZCBjb2RlIG1heSBqdXN0IGxlYXZlIHRoZW0gb3V0IChhc3N1bWluZyB0aGV5IGtub3cgd2hhdAorICAgIHRoZSBkcml2ZXIgbmVlZHMpIG9yIHJlbHkgb24gdGhlIGxpbmtlciB0byBzdHJpcCB0aGVtIG91dCAoYXNzdW1pbmcKKyAgICAtLWdjLXNlY3Rpb25zIGlzIGJlaW5nIHVzZWQuKQorCisgICAgVG8gc2V0IHVwIGNvbW11bmljYXRpb24gcGFyYW1ldGVycyBmb3IgYSBnaXZlbiBzbGF2ZSwgdGhlIGRyaXZlciBuZWVkcworICAgIHRvIGNhbGwgc3BpX3NldHVwX3NsYXZlKCkuIFRoaXMgcmV0dXJucyBhIHBvaW50ZXIgdG8gYW4gb3BhcXVlCisgICAgc3BpX3NsYXZlIHN0cnVjdCB3aGljaCBtdXN0IGJlIHBhc3NlZCBhcyBhIHBhcmFtZXRlciB0byBzdWJzZXF1ZW50IFNQSQorICAgIGNhbGxzLiBUaGlzIHN0cnVjdCBjYW4gYmUgZnJlZWQgYnkgY2FsbGluZyBzcGlfZnJlZV9zbGF2ZSgpLCBidXQgbW9zdAorICAgIGRyaXZlciBwcm9iYWJseSBkb24ndCB3YW50IHRvIGRvIHRoaXMuCisKKyAgICBCZWZvcmUgc3RhcnRpbmcgb25lIG9yIG1vcmUgU1BJIHRyYW5zZmVycywgdGhlIGRyaXZlciBtdXN0IGNhbGwKKyAgICBzcGlfY2xhaW1fYnVzKCkgdG8gZ2FpbiBleGNsdXNpdmUgYWNjZXNzIHRvIHRoZSBTUEkgYnVzIGFuZCBpbml0aWFsaXplCisgICAgdGhlIGhhcmR3YXJlLiBXaGVuIGFsbCB0cmFuc2ZlcnMgYXJlIGRvbmUsIHRoZSBkcml2ZXIgbXVzdCBjYWxsCisgICAgc3BpX3JlbGVhc2VfYnVzKCkgdG8gbWFrZSB0aGUgYnVzIGF2YWlsYWJsZSB0byBvdGhlcnMsIGFuZCBwb3NzaWJseQorICAgIHNodXQgZG93biB0aGUgU1BJIGNvbnRyb2xsZXIgaGFyZHdhcmUuCisKKyAgICBzcGlfeGZlcigpIGJlaGF2ZXMgbW9zdGx5IHRoZSBzYW1lIGFzIGJlZm9yZSwgYnV0IGl0IG5vdyB0YWtlcyBhCisgICAgc3BpX3NsYXZlIHBhcmFtZXRlciBpbnN0ZWFkIG9mIGEgc3BpX2NoaXBzZWwgZnVuY3Rpb24gcG9pbnRlci4gSXQgYWxzbworICAgIGdvdCBhIG5ldyBwYXJhbWV0ZXIsIGZsYWdzLCB3aGljaCBpcyB1c2VkIHRvIHNwZWNpZnkgY2hpcCBzZWxlY3QKKyAgICBiZWhhdmlvdXIuIFRoaXMgbWF5IGJlIGV4dGVuZGVkIHdpdGggb3RoZXIgZmxhZ3MgaW4gdGhlIGZ1dHVyZS4KKworICAgIFRoaXMgcGF0Y2ggaGFzIGJlZW4gYnVpbGQtdGVzdGVkIG9uIGFsbCBwb3dlcnBjIGFuZCBhcm0gYm9hcmRzCisgICAgaW52b2x2ZWQuIEkgaGF2ZSBub3QgdGVzdGVkIE5JT1Mgc2luY2UgSSBkb24ndCBoYXZlIGEgdG9vbGNoYWluIGZvciBpdAorICAgIGluc3RhbGxlZCwgc28gSSBleHBlY3Qgc29tZSBicmVha2FnZSB0aGVyZSBldmVuIHRob3VnaCBJJ3ZlIHRyaWVkCisgICAgZml4aW5nIHVwIGV2ZXJ5dGhpbmcgSSBjb3VsZCBmaW5kIGJ5IHZpc3VhbCBpbnNwZWN0aW9uLgorCisgICAgSSBoYXZlIHJ1bi10aW1lIHRlc3RlZCB0aGlzIG9uIEFWUjMyIEFUTkdXMTAwIHVzaW5nIHRoZSBhdG1lbF9zcGkgYW5kCisgICAgRGF0YUZsYXNoIGRyaXZlcnMgcG9zdGVkIGFzIGEgZm9sbG93LXVwLiBJJ2QgbGlrZSBzb21lIGhlbHAgdGVzdGluZworICAgIG90aGVyIGJvYXJkcyB0aGF0IHVzZSB0aGUgZXhpc3RpbmcgU1BJIEFQSS4KKworICAgIEJ1dCBtb3N0IG9mIGFsbCwgSSdkIGxpa2Ugc29tZSBjb21tZW50cyBvbiB0aGUgbmV3IEFQSS4gSXMgdGhpcyBzdHVmZgorICAgIHVzYWJsZSBmb3IgZXZlcnlvbmU/IElmIG5vdCwgd2h5PworCisgICAgQ2hhbmdlZCBpbiB2NDoKKyAgICAgIC0gQnVpbGQgZml4ZXMgZm9yIHZhcmlvdXMgYm9hcmRzLCBkcml2ZXJzIGFuZCBjb21tYW5kcworICAgICAgLSBQcm92aWRlIGNvbW1vbiBzdHJ1Y3Qgc3BpX3NsYXZlIGRlZmluaXRpb24gdGhhdCBjYW4gYmUgZXh0ZW5kZWQgYnkKKwlkcml2ZXJzCisgICAgICAtIFBhc3MgYSBzdHJ1Y3Qgc3BpX3NsYXZlICogdG8gc3BpX2NzX2FjdGl2YXRlIGFuZCBzcGlfY3NfZGVhY3RpdmF0ZQorICAgICAgLSBNYWtlIGRlZmF1bHQgYnVzIGFuZCBtb2RlIGJ1aWxkLXRpbWUgY29uZmlndXJhYmxlCisgICAgICAtIE92ZXJyaWRlIGRlZmF1bHQgU1BJIGJ1cyBJRCBhbmQgbW9kZSBvbiBteDMyYWRzIGFuZCBpbXgzMV9saXRla2l0LgorCisgICAgQ2hhbmdlZCBpbiB2MzoKKyAgICAgIC0gQWRkIG9wYXF1ZSBzdHJ1Y3Qgc3BpX3NsYXZlIGZvciBjb250cm9sbGVyLXNwZWNpZmljIGRhdGEgYXNzb2NpYXRlZAorCXdpdGggYSBzbGF2ZS4KKyAgICAgIC0gQWRkIHNwaV9jbGFpbV9idXMoKSBhbmQgc3BpX3JlbGVhc2VfYnVzKCkKKyAgICAgIC0gQWRkIHNwaV9mcmVlX3NsYXZlKCkKKyAgICAgIC0gc3BpX3NldHVwKCkgaXMgbm93IGNhbGxlZCBzcGlfc2V0dXBfc2xhdmUoKSBhbmQgcmV0dXJucyBhCisJc3RydWN0IHNwaV9zbGF2ZQorICAgICAgLSBzb2Z0X3NwaSBub3cgc3VwcG9ydHMgZm91ciBTUEkgbW9kZXMgKENQT0x8Q1BIQSkKKyAgICAgIC0gQWRkIGJ1cyBwYXJhbWV0ZXIgdG8gc3BpX3NldHVwX3NsYXZlKCkKKyAgICAgIC0gQ29udmVydCB0aGUgbmV3IGkuTVgzMiBTUEkgZHJpdmVyCisgICAgICAtIENvbnZlcnQgdGhlIG5ldyBNQzEzNzgzIFJUQyBkcml2ZXIKKworICAgIENoYW5nZWQgaW4gdjI6CisgICAgICAtIENvbnZlcnQgdGhlIG1wYzh4eHhfc3BpIGRyaXZlciBhbmQgdGhlIG1wYzgzNDllbWRzIGJvYXJkIHRvIHRoZQorCW5ldyBBUEkuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBIYWF2YXJkIFNraW5uZW1vZW4gPGhza2lubmVtb2VuQGF0bWVsLmNvbT4KKyAgICBUZXN0ZWQtYnk6IEd1ZW5uYWRpIExpYWtob3ZldHNraSA8bGdAZGVueC5kZT4KKworY29tbWl0IDI4OTAxMTIwN2Q5OTliMmU0MDg1MTUwZDJhYTMwZDU0N2FkOWI4MDAKK0F1dGhvcjogSGFhdmFyZCBTa2lubmVtb2VuIDxoYWF2YXJkLnNraW5uZW1vZW5AYXRtZWwuY29tPgorRGF0ZToJRnJpIE1heSAxNiAxMToxMDozMCAyMDA4ICswMjAwCisKKyAgICBNb3ZlIGRlZmluaXRpb24gb2YgY29udGFpbmVyX29mKCkgdG8gY29tbW9uLmgKKworICAgIEFWUjMyIGFuZCBBVDkxU0FNOSBib3RoIGhhdmUgdGhlaXIgb3duIGlkZW50aWNhbCBkZWZpbml0aW9ucyBvZgorICAgIGNvbnRhaW5lcl9vZigpIHRha2VuIGZyb20gdGhlIExpbnV4IGtlcm5lbC4gTW92ZSBpdCB0byBjb21tb24uaCBzbworICAgIHRoYXQgYWxsIGFyY2hpdGVjdHVyZXMgY2FuIHVzZSBpdC4KKworICAgIGNvbnRhaW5lcl9vZigpIGlzIGFscmVhZHkgdXNlZCBieSBzb21lIGRyaXZlcnMsIGFuZCB3aWxsIGJlIHVzZWQKKyAgICBleHRlbnNpdmVseSBieSB0aGUgbmV3IGFuZCBpbXByb3ZlZCBTUEkgQVBJLgorCisgICAgU2lnbmVkLW9mZi1ieTogSGFhdmFyZCBTa2lubmVtb2VuIDxoYWF2YXJkLnNraW5uZW1vZW5AYXRtZWwuY29tPgorCitjb21taXQgMTEwZTAwNmZlNjdmYjRhNmUxNzE5YWU2OTU2Yzc5YjdmZmMwMTQ4YgorQXV0aG9yOiBIYWF2YXJkIFNraW5uZW1vZW4gPGhhYXZhcmQuc2tpbm5lbW9lbkBhdG1lbC5jb20+CitEYXRlOglGcmkgTWF5IDE2IDExOjA4OjExIDIwMDggKzAyMDAKKworICAgIHNvZnRfaTJjOiBQdWxsIFNEQSBoaWdoIGJlZm9yZSByZWFkaW5nCisKKyAgICBTcG90dGVkIGJ5IERlYW4gQ2FwaW5kYWxlLgorCisgICAgU3lzdGVtcyB0aGF0IHN1cHBvcnQgb3Blbi1kcmFpbiBHUElPIHByb3Blcmx5IGFyZSBhbGxvd2VkIHByb3ZpZGUgYW4KKyAgICBlbXB0eSBJMkNfVFJJU1RBVEUgZGVmaW5lLiBIb3dldmVyLCB0aGlzIG1lYW5zIHRoYXQgd2UgbmVlZCB0byBiZQorICAgIGNhcmVmdWwgbm90IHRvIGRyaXZlIFNEQSBsb3cgd2hlbiB0aGUgc2xhdmUgaXMgZXhwZWN0ZWQgdG8gcmVzcG9uZC4KKworICAgIFRoaXMgcGF0Y2ggYWRkcyBhIG1pc3NpbmcgSTJDX1NEQSgxKSB0byByZWFkX2J5dGUoKSByZXF1aXJlZCB0bworICAgIHRyaXN0YXRlIHRoZSBTREEgbGluZSBvbiBzeXN0ZW1zIHRoYXQgc3VwcG9ydCBvcGVuLWRyYWluIEdQSU8uCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBIYWF2YXJkIFNraW5uZW1vZW4gPGhhYXZhcmQuc2tpbm5lbW9lbkBhdG1lbC5jb20+CisKK2NvbW1pdCAzYzFkZTFhNmQzNmJlOWVlZTI4NGE2YzU5NmE4NmU5NGYxOWNjNWIyCitBdXRob3I6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KK0RhdGU6CU1vbiBNYXkgMTkgMTE6MzQ6NTMgMjAwOCArMDIwMAorCisgICAgcHBjNHh4OiBSZW1vdmUgaW1wbGVtZW50YXRpb25zIG9mIHRlc3RkcmFtKCkKKworICAgIFRoaXMgcGF0Y2ggcmVtb3ZlcyB0aGUgdXNlZCB0ZXN0ZHJhbSgpIGltcGxlbWVudGF0aW9ucyBvZiB0aGUgYm9hcmQKKyAgICB0aGF0IGFyZSBtYWludGFpbmVkIGJ5IG15c2VsZi4KKworICAgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KKworY29tbWl0IGJiZWZmMzBjYmQxYzVkNTUxZWIwYWQxYzIyMzllYzAxODQ0YzBiMGEKK0F1dGhvcjogU3RlZmFuIFJvZXNlIDxzckBkZW54LmRlPgorRGF0ZToJTW9uIEp1biAyIDE3OjM3OjI4IDIwMDggKzAyMDAKKworICAgIHBwYzR4eDogUmVtb3ZlIHN1cGVyZmx1b3VzIGRyYW1faW5pdCgpIGNhbGwgb3IgcmVwbGFjZSBpdCBieSBpbml0ZHJhbSgpCisKKyAgICBIaXN0b3JpY2FsbHkgdGhlIDQwNSBVLUJvb3QgcG9ydCBoYWQgYSBkcmFtX2luaXQoKSBjYWxsIGluIGVhcmx5IGluaXQKKyAgICBzdGFnZS4gVGhpcyBmdW5jdGlvbiB3YXMgc3RpbGwgY2FsbGVkIGZyb20gc3RhcnQuUyBhbmQgbW9zdCBvZiB0aGUgdGltZQorICAgIGNvZGVkIGluIGFzc2VtYmxlci4gVGhpcyBpcyBub3QgbmVlZGVkIGFueW1vcmUgKHNpbmNlIGEgbG9uZyB0aW1lKSBhbmQKKyAgICBib2FyZHMgc2hvdWxkIGltcGxlbWVudCB0aGUgY29tbW9uIGluaXRkcmFtKCkgZnVuY3Rpb24gaW4gQyBpbnN0ZWFkLgorCisgICAgVGhpcyBwYXRjaCBub3cgcmVtb3ZlZCB0aGUgZHJhbV9pbml0KCkgY2FsbCBmcm9tIHN0YXJ0LlMgYW5kIHJlbW92ZXMgdGhlCisgICAgZW1wdHkgaW1wbGVtZW50YXRpb25zIHRoYXQgYXJlIHNjYXR0ZXJlZCB0aHJvdWdoIG1vc3Qgb2YgdGhlIDQwNSBib2FyZAorICAgIHBvcnRzLiBTb21lIG9sZGVyIGJvYXJkIHBvcnRzIHJlYWxseSBpbXBsZW1lbnQgdGhpcyBkcmFtX2luaXQoKSB0aG91Z2guCisgICAgVGhlc2UgYXJlOgorCisgICAgY3NiMjcyCisgICAgY3NiNDcyCisgICAgRVJJQworICAgIEVYQklUR0VOCisgICAgVzdPTE1DCisgICAgVzdPTE1HCisKKyAgICBJIGNoYW5nZWQgdGhvc2UgYm9hcmRzIHRvIGNhbGwgdGhpcyBhc3NlbWJsZXIgZHJhbV9pbml0KCkgZnVuY3Rpb24gbm93CisgICAgZnJvbSB0aGVpciBib2FyZCBzcGVjaWZpYyBpbml0ZHJhbSgpIGluc3RlYWQuIFRoaXMgKnNob3VsZCogd29yaywgYnV0IHBsZWFzZQorICAgIHRlc3QgYWdhaW4gb24gdGhvc2UgcGxhdGZvcm1zLiBBbmQgaXQgaXMgcGVyaGFwcyBhIGdvb2QgaWRlYSB0aGF0IHRob3NlCisgICAgYm9hcmRzIHVzZSBzb21lIGNvbW1vbiA0MDUgU0RSQU0gaW5pdGlhbGl6YXRpb24gY29kZSBmcm9tIGNwdS9wcGM0eHggYXQKKyAgICBzb21lIHRpbWUuIFNvIGZ1cnRoZXIgcGF0Y2hlcyB3ZWxjb21lIGhlcmUuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CisKK2NvbW1pdCAxOTJmOTBlMjcyYjM5ODllZTdiNGE2NjZkMWZkYWI4MzFmMjBmOGQyCitBdXRob3I6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KK0RhdGU6CU1vbiBKdW4gMiAxNzoyMjoxMSAyMDA4ICswMjAwCisKKyAgICBwcGM0eHg6IFVzZSBuZXcgNHh4IFNEUkFNIGNvbnRyb2xsZXIgZW5hYmxlIGRlZmluZXMgaW4gY29tbW9uIEVDQyBjb2RlCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CisKK2NvbW1pdCAzOWIzMmJlMThjZDMzYjUzYTg0MDY1ZWRjZDRlNDY1MTY1Y2M1NTY0CitBdXRob3I6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KK0RhdGU6CU1vbiBKdW4gMiAxNzoyMDowMyAyMDA4ICswMjAwCisKKyAgICBwcGM0eHg6IEZpeCBjb21tb24gRUNDIGdlbmVyYXRpb24gY29kZSBmb3IgNDQwR1Agc3R5bGUgcGxhdGZvcm1zCisKKyAgICBUaGlzIHBhdGNoIG1ha2VzIHRoZSBjb21tb24gNHh4IEVDQyBjb2RlIHJlYWxseSB1c2FibGUgb24gNDQwR1Agc3R5bGUKKyAgICBwbGF0Zm9ybXMuCisKKyAgICBTaW5jZSB0aGUgSUJNIEREUiBjb250cm9sbGVyIHVzZWQgb24gNDQwR1AvR1gvRVAvR1IgaXMgbm90IHJlZ2lzdGVyCisgICAgY29tcGF0aWJsZSB0byB0aGUgSUJNIEREUi8yIGNvbnRyb2xsZXIgdXNlZCBvbiA0MDVFWC80NDBTUC9TUGUvNDYwRVgvR1QKKyAgICB3ZSBuZWVkIHRvIG1ha2Ugc29tZSBwcm9jZXNzb3IgZGVwZW5kYW50IGRlZmluZXMgdXNlZCBsYXRlciBvbiBieSB0aGUKKyAgICBkcml2ZXIuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CisKK2NvbW1pdCBlYzcyNGY4ODNlZTNmMzkyNWU2YzU1MDI3ZThmZmE3MGFkYTgzMzAzCitBdXRob3I6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KK0RhdGU6CU1vbiBKdW4gMiAxNzoxMzo1NSAyMDA4ICswMjAwCisKKyAgICBwcGM0eHg6IENoYW5nZSBLaWxhdWVhIHRvIHVzZSB0aGUgY29tbW9uIEREUjIgaW5pdCBmdW5jdGlvbgorCisgICAgVGhpcyBwYXRjaCBjaGFuZ2VzIHRoZSBraWxhdWVhIGFuZCBraWxhdWVhX25hbmQgKGZvciBOQU5EIGJvb3RpbmcpCisgICAgYm9hcmQgcG9ydCB0byBub3QgdXNlIGEgYm9hcmQgc3BlY2lmaWMgRERSMiBpbml0IHJvdXRpbmUgYW55bW9yZS4gTm93CisgICAgdGhlIGNvbW1vbiBjb2RlIGZyb20gY3B1L3BwYzR4eCBpcyB1c2VkLgorCisgICAgVGhhbmtzIHRvIEdyYW50IEVyaWNrc29uIGZvciBhbGwgaGlzIGJhc2ljIHdvcmsgb24gdGhpcyA0MDVFWCBlYXJseQorICAgIGJvb3R1cC4KKworICAgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KKworY29tbWl0IDE3Y2ViMDY5Yjg1ZmJiOTI2OWM0ZGMwOWIyYzIzN2Y4ODMzNGM1YmEKK0F1dGhvcjogU3RlZmFuIFJvZXNlIDxzckBkZW54LmRlPgorRGF0ZToJTW9uIEp1biAyIDE0OjU5OjIxIDIwMDggKzAyMDAKKworICAgIHBwYzR4eDogQ29uc29saWRhdGUgUFBDNHh4IFNEUkFNL0REUi9ERFIyIGRlZmluZXMsIHBhcnQyCisKKyAgICBUaGlzIHBhdGNoIG5vdyBhZGRzIGEgbmV3IGhlYWRlciBmaWxlIChhc20tcHBjL3BwYzR4eC1zZHJhbS5oKSBmb3IgYWxsCisgICAgcHBjNHh4IHJlbGF0ZWQgU0RSQU0vRERSL0REUjIgY29udHJvbGxlciBkZWZpbmVzLgorCisgICAgU2lnbmVkLW9mZi1ieTogU3RlZmFuIFJvZXNlIDxzckBkZW54LmRlPgorCitjb21taXQgMzZlYTE2ZjZhMDY2Y2NiMDQ2ZTkxZWJjZTRmMzI2YjY5ZjRjMDU2OQorQXV0aG9yOiBTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CitEYXRlOglNb24gSnVuIDIgMTQ6NTc6NDEgMjAwOCArMDIwMAorCisgICAgcHBjNHh4OiBDb25zb2xpZGF0ZSBQUEM0eHggU0RSQU0vRERSL0REUjIgZGVmaW5lcywgcGFydDEKKworICAgIFRoaXMgcGF0Y2ggcmVtb3ZlcyBhbGwgU0RSQU0gcmVsYXRlZCBkZWZpbmVzIGZyb20gdGhlIFBQQzR4eCBoZWFkZXJzCisgICAgcHBjNDA1LmggYW5kIHBwYzQ0MC5oLiBUaGlzIGlzIG5lZWRlZCBzaW5jZSBub3cgc29tZSA0MDUgUFBDJ3MgdXNlCisgICAgdGhlIHNhbWUgU0RSQU0gY29udHJvbGxlciBhcyA0NDAgc3lzdGVtcyBkbyAobGlrZSA0MDVFWCBhbmQgNDQwU1ApLgorCisgICAgSXQgYWxzbyBpbnRyb2R1Y2VzIG5ldyBkZWZpbmVzIGZvciB0aGUgZXF1aXBwZWQgU0RSQU0gY29udHJvbGxlciBiYXNlZCBvbgorICAgIHdoaWNoIFBQQyB2YXJpYW50IGlzIHVzZWQuIFRoZXJlIG5ldyBkZWZpbmVzIGFyZToKKworICAgIHVzZWQgb24gNDA1R1IvQ1IvRVAgYW5kIHNvbWUgWGlsaW54IFZpcnRleCBib2FyZHMuCisKKyAgICB1c2VkIG9uIDQ0MEdQL0dYL0VQL0dSLgorCisgICAgdXNlZCBvbiA0NDBFUHgvR1J4LgorCisgICAgdXNlZCBvbiA0MDVFWC9yLzQ0MFNQL1NQZS80NjBFWC9HVC4KKworICAgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KKworY29tbWl0IDY0ODUyZDA5ZTA2ZGQ2ZGIyYjJkYjJhM2M1OWJjMmRiMTc2YTU0ZDYKK0F1dGhvcjogU3RlZmFuIFJvZXNlIDxzckBkZW54LmRlPgorRGF0ZToJTW9uIEp1biAyIDE0OjM1OjQ0IDIwMDggKzAyMDAKKworICAgIHBwYzR4eC9OQU5EX1NQTDogQ29uc29saWRhdGUgNDA1IGFuZCA0NDAgTkFORCBib290aW5nIGNvZGUgaW4gc3RhcnQuUworCisgICAgVGhpcyBwYXRjaCBjb25zb2xpZGF0ZXMgdGhlIDQwNSBhbmQgNDQwIHBhcnRzIG9mIHRoZSBOQU5EIGJvb3RpbmcgY29kZQorICAgIHNlbGVjdGVkIHZpYSBDT05GSUdfTkFORF9TUEwuIE5vdyBjb21tb24gY29kZSBpcyB1c2VkIHRvIGluaXRpYWxpemUgdGhlCisgICAgU0RSQU0gYnkgY2FsbGluZyBpbml0ZHJhbSgpIGFuZCB0byAiY29weS9yZWxvY2F0ZSIgdG8gU0RSQU0vT0NNL2V0Yy4KKyAgICBPbmx5ICphZnRlciogcnVubmluZyBmcm9tIHRoaXMgbG9jYXRpb24sIG5hbmRfYm9vdCgpIGlzIGNhbGxlZC4KKworICAgIFBsZWFzZSBub3RlIHRoYXQgdGhlIGluaXRzZHJhbSgpIGNhbGwgaXMgbm93IG1vdmVkIGZyb20gbmFuZF9ib290LmMKKyAgICB0byBzdGFydC5TLiBJIGV4cGVyaWVuY2VkIHByb2JsZW1zIHdpdGggc29tZSBib2FyZHMgbGlrZSBLaWxhdWVhCisgICAgKDQwNUVYKSwgd2hpY2ggZG9uJ3QgaGF2ZSBpbnRlcm5hbCBTUkFNIChPQ00pIGFuZCByZWxvY2F0aW9uIG5lZWRzIHRvCisgICAgYmUgZG9uZSB0byBTRFJBTSBiZWZvcmUgdGhlIE5BTkQgY29udHJvbGxlciBjYW4gZ2V0IGFjY2Vzc2VkLiBXaGVuCisgICAgaW5pdGRyYW0oKSBpcyBjYWxsZWQgbGF0ZXIgb24gaW4gbmFuZF9ib290KCksIHRoaXMgY2FuIGxlYWQgdG8gcHJvYmxlbXMKKyAgICB3aXRoIHZhcmlhYmxlcyBpbiB0aGUgYnNzIHNlY3Rpb25zIGxpa2UgbmFuZF9lY2NfcG9zW10uCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CisgICAgQWNrZWQtYnk6IFNjb3R0IFdvb2QgPHNjb3R0d29vZEBmcmVlc2NhbGUuY29tPgorCitjb21taXQgOGEyNGMwN2JhNWRhMmM3MmFkMWYwNWUzZWI4YTQ2Mzc1MDIwMGM5OAorQXV0aG9yOiBHcmFudCBFcmlja3NvbiA8Z2VyaWNrc29uQG51b3ZhdGlvbnMuY29tPgorRGF0ZToJVGh1IE1heSAyMiAxNDo0NDoyNCAyMDA4IC0wNzAwCisKKyAgICBwcGM0eHg6IEVuYWJsZSBQcmltb3JkaWFsIFN0YWNrIGZvciA0MHggYW5kIFVuaWZ5IEVDQyBIYW5kbGluZworCisgICAgVGhpcyBwYXRjaCAoUGFydCAyIG9mIDIpOgorCisgICAgKiBSb2xscyB1cCBhIHN1aXRlIG9mIGNoYW5nZXMgdG8gZW5hYmxlIGNvcnJlY3QgcHJpbW9yZGlhbCBzdGFjayBhbmQKKyAgICAgIGdsb2JhbCBkYXRhIGhhbmRsaW5nIHdoZW4gdGhlIGRhdGEgY2FjaGUgaXMgdXNlZCBmb3Igc3VjaCBhIHB1cnBvc2UKKyAgICAgIGZvciBQUEM0MHgtdmFyaWFudHMgKGkuZS4gQ0ZHX0lOSVRfRENBQ0hFX0NTKS4KKworICAgICogUmVsYXRlZCB0byB0aGUgZmlyc3QsIHVuaWZpZXMgRERSMiBTRFJBTSBhbmQgRUNDIGluaXRpYWxpemF0aW9uIGJ5CisgICAgICBlbGltaW5hdGluZyByZWR1bmRhbnQgRUNDIGluaXRpYWxpemF0aW9uIGltcGxlbWVudGF0aW9ucyBhbmQgbW92aW5nCisgICAgICByZWR1bmRhbnQgU0RSQU0gaW5pdGlhbGl6YXRpb24gb3V0IG9mIGJvYXJkIGNvZGUgaW50byBzaGFyZWQgNHh4CisgICAgICBjb2RlLgorCisgICAgKiBFbmFibGVzIE1DU1IgdmlzaWJpbGl0eSBvbiB0aGUgNDA1RVgocikuCisKKyAgICAqIEVuYWJsZXMgdGhlIHVzZSBvZiB0aGUgZGF0YSBjYWNoZSBmb3IgaW5pdGlhbCBSQU0gb24KKyAgICAgIGJvdGggQU1DQydzIEtpbGF1ZWEgYW5kIE1ha2FsdSBhbmQgcmVtb3ZlcyBhIHJlZHVuZGFudAorICAgICAgQ0ZHX1BPU1RfTUVNT1JZIGZsYWcgZnJvbSBlYWNoIGJvYXJkJ3MgQ09ORklHX1BPU1QgdmFsdWUuCisKKyAgICAgIC0gUmVtb3ZlZCwgcGVyIFN0ZWZhbiBSb2VzZSdzIHJlcXVlc3QsIGRlZnVuY3QgbWVtb3J5LmMgZmlsZSBmb3IKKwlNYWthbHUgYW5kIHJvbGxlZCBzZHJhbV9pbml0IGZyb20gaXQgaW50byBtYWthbHUuYy4KKworICAgIFdpdGggcmVzcGVjdCB0byB0aGUgNHh4IEREUiBpbml0aWFsaXphdGlvbiBhbmQgRUNDIHVuaWZpY2F0aW9uLCB0aGVyZQorICAgIGlzIGNlcnRhaW5seSBtb3JlIHdvcmsgdGhhdCBjYW4gYW5kIHNob3VsZCBiZSBkb25lIChmaWxlIHJlbmFtaW5nLAorICAgIGV0Yy4pLiBIb3dldmVyLCB0aGF0IGNhbiBiZSBoYW5kbGVkIGF0IGEgbGF0ZXIgZGF0ZSBvbiBhIHNlY29uZCBvcgorICAgIHRoaXJkIHBhc3MuIEFzIGl0IHN0YW5kcywgdGhpcyBwYXRjaCBtb3ZlcyB0aGluZ3MgZm9yd2FyZCBpbiBhbgorICAgIGluY3JlbWVudGFsIHlldCBwb3NpdGl2ZSB3YXkgZm9yIHRob3NlIHBsYXRmb3JtcyB0aGF0IHV0aWxpemUgdGhpcworICAgIGNvZGUgYW5kIHRoZSBmZWF0dXJlcyBhc3NvY2lhdGVkIHdpdGggaXQuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBHcmFudCBFcmlja3NvbiA8Z2VyaWNrc29uQG51b3ZhdGlvbnMuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KKworY29tbWl0IGM4MjFiNWYxMjBiZWRmNzM4Njc1MTM0NjY0MTI1ODdjNjkxMmE4ZjgKK0F1dGhvcjogR3JhbnQgRXJpY2tzb24gPGdlcmlja3NvbkBudW92YXRpb25zLmNvbT4KK0RhdGU6CVRodSBNYXkgMjIgMTQ6NDQ6MTQgMjAwOCAtMDcwMAorCisgICAgcHBjNHh4OiBFbmFibGUgUHJpbW9yZGlhbCBTdGFjayBmb3IgNDB4IGFuZCBVbmlmeSBFQ0MgSGFuZGxpbmcKKworICAgIFRoaXMgcGF0Y2ggKFBhcnQgMSBvZiAyKToKKworICAgICogUm9sbHMgdXAgYSBzdWl0ZSBvZiBjaGFuZ2VzIHRvIGVuYWJsZSBjb3JyZWN0IHByaW1vcmRpYWwgc3RhY2sgYW5kCisgICAgICBnbG9iYWwgZGF0YSBoYW5kbGluZyB3aGVuIHRoZSBkYXRhIGNhY2hlIGlzIHVzZWQgZm9yIHN1Y2ggYSBwdXJwb3NlCisgICAgICBmb3IgUFBDNDB4LXZhcmlhbnRzIChpLmUuIENGR19JTklUX0RDQUNIRV9DUykuCisKKyAgICAqIFJlbGF0ZWQgdG8gdGhlIGZpcnN0LCB1bmlmaWVzIEREUjIgU0RSQU0gYW5kIEVDQyBpbml0aWFsaXphdGlvbiBieQorICAgICAgZWxpbWluYXRpbmcgcmVkdW5kYW50IEVDQyBpbml0aWFsaXphdGlvbiBpbXBsZW1lbnRhdGlvbnMgYW5kIG1vdmluZworICAgICAgcmVkdW5kYW50IFNEUkFNIGluaXRpYWxpemF0aW9uIG91dCBvZiBib2FyZCBjb2RlIGludG8gc2hhcmVkIDR4eAorICAgICAgY29kZS4KKworICAgICogRW5hYmxlcyBNQ1NSIHZpc2liaWxpdHkgb24gdGhlIDQwNUVYKHIpLgorCisgICAgKiBFbmFibGVzIHRoZSB1c2Ugb2YgdGhlIGRhdGEgY2FjaGUgZm9yIGluaXRpYWwgUkFNIG9uCisgICAgICBib3RoIEFNQ0MncyBLaWxhdWVhIGFuZCBNYWthbHUgYW5kIHJlbW92ZXMgYSByZWR1bmRhbnQKKyAgICAgIENGR19QT1NUX01FTU9SWSBmbGFnIGZyb20gZWFjaCBib2FyZCdzIENPTkZJR19QT1NUIHZhbHVlLgorCisgICAgICAtIFJlbW92ZWQsIHBlciBTdGVmYW4gUm9lc2UncyByZXF1ZXN0LCBkZWZ1bmN0IG1lbW9yeS5jIGZpbGUgZm9yCisJTWFrYWx1IGFuZCByb2xsZWQgc2RyYW1faW5pdCBmcm9tIGl0IGludG8gbWFrYWx1LmMuCisKKyAgICBXaXRoIHJlc3BlY3QgdG8gdGhlIDR4eCBERFIgaW5pdGlhbGl6YXRpb24gYW5kIEVDQyB1bmlmaWNhdGlvbiwgdGhlcmUKKyAgICBpcyBjZXJ0YWlubHkgbW9yZSB3b3JrIHRoYXQgY2FuIGFuZCBzaG91bGQgYmUgZG9uZSAoZmlsZSByZW5hbWluZywKKyAgICBldGMuKS4gSG93ZXZlciwgdGhhdCBjYW4gYmUgaGFuZGxlZCBhdCBhIGxhdGVyIGRhdGUgb24gYSBzZWNvbmQgb3IKKyAgICB0aGlyZCBwYXNzLiBBcyBpdCBzdGFuZHMsIHRoaXMgcGF0Y2ggbW92ZXMgdGhpbmdzIGZvcndhcmQgaW4gYW4KKyAgICBpbmNyZW1lbnRhbCB5ZXQgcG9zaXRpdmUgd2F5IGZvciB0aG9zZSBwbGF0Zm9ybXMgdGhhdCB1dGlsaXplIHRoaXMKKyAgICBjb2RlIGFuZCB0aGUgZmVhdHVyZXMgYXNzb2NpYXRlZCB3aXRoIGl0LgorCisgICAgU2lnbmVkLW9mZi1ieTogR3JhbnQgRXJpY2tzb24gPGdlcmlja3NvbkBudW92YXRpb25zLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CisKK2NvbW1pdCBhNDM5NjgwMDE5ZTA2MTcxZDRhNTY5NGI3OTkyYWNjY2U4N2Y1OTBlCitBdXRob3I6IEdyYW50IEVyaWNrc29uIDxnZXJpY2tzb25AbnVvdmF0aW9ucy5jb20+CitEYXRlOglXZWQgTWF5IDIxIDEzOjI4OjMwIDIwMDggLTA3MDAKKworICAgIFBQQzR4eDogU2ltcGxpZmllZCBwb3N0X3dvcmRfe2xvYWQsIHN0b3JlfQorCisgICAgVGhpcyBwYXRjaCBzaW1wbGlmaWVzIHBvc3Rfd29yZF97bG9hZCxzdG9yZX0gYnkgdXNpbmcgdGhlIHByZXByb2Nlc3NvcgorICAgIHRvIGVsaW1pbmF0ZSByZWR1bmRhbnQsIGNvcHktYW5kLXBhc3RlZCBjb2RlLgorCisgICAgU2lnbmVkLW9mZi1ieTogR3JhbnQgRXJpY2tzb24gPGdlcmlja3NvbkBudW92YXRpb25zLmNvbT4KKworY29tbWl0IGY5Nzk2OTBlZTMzNzQ1MGIyMDMwYWJhMTI4Zjk1YjdhOGQ5ODgxYzAKK0F1dGhvcjogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KK0RhdGU6CVRodSBNYXkgMTUgMTU6MTM6MDggMjAwOCAtMDUwMAorCisgICAgRml4IHdhcm5pbmdzIGZyb20gZ2NjLTQuMy4wIGJ1aWxkIG9uIGEgcHBjIGhvc3QKKworICAgICogVGhlIGNmaV9mbGFzaC5jIG1lbXNldCBmaXggYWN0dWFsIGFsbG93cyB0aGUgYm9hcmQgdG8gYm9vdCBzbyB0aGVyZSBpcworICAgICAgYSBiaXQgbW9yZSBnb2luZyBvbiBoZXJlIHRoYW4ganVzdCByZXNvbHZpbmcgd2FybmluZ3MgYXNzb2NpYXRlZCB3aXRoCisgICAgICB1bmluaXRpYWxpemVkIHZhcmlhYmxlcy4KKworICAgICogaW5jbHVkZS9hc20vYml0b3BzLmg6MzAyOiB3YXJuaW5nOiAnX19zd2FiMzJwJyBpcyBzdGF0aWMgYnV0IHVzZWQgaW4KKyAgICAgIGlubGluZSBmdW5jdGlvbiAnZXh0Ml9maW5kX25leHRfemVyb19iaXQnIHdoaWNoIGlzIG5vdCBzdGF0aWMKKworICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCA5YjEyNGE2ODM0NmNlOTYwNWI2ZTFmY2Y3OWUxMDIxNTQxY2RiYTllCitBdXRob3I6IEJlY2t5IEJydWNlIDxiZWNreS5icnVjZUBmcmVlc2NhbGUuY29tPgorRGF0ZToJV2VkIE1heSAxNCAxMzowOTo1MSAyMDA4IC0wNTAwCisKKyAgICBNUEM1MTJ4OiBDaGFuZ2UgdHJhcHMuYyB0byBub3QgcmVmZXJlbmNlIG5vbi1hZGRyZXNzYWJsZSBtZW1vcnkKKworICAgIEN1cnJlbnRseSwgRU5EX09GX1JBTSBpcyB1c2VkIGJ5IHRoZSB0cmFwIGNvZGUgdG8gZGV0ZXJtaW5lIGlmCisgICAgd2Ugc2hvdWxkIGF0dGVtcHQgdG8gYWNjZXNzIHRoZSBzdGFjayBwb2ludGVyIG9yIG5vdC4gSG93ZXZlciwKKyAgICBvbiBzeXN0ZW1zIHdpdGggYSBsb3Qgb2YgUkFNLCBvbmx5IGEgc3Vic2V0IG9mIHRoZSBSQU0gaXMKKyAgICBndWFyYW50ZWVkIHRvIGJlIG1hcHBlZCBpbiBhbmQgYWNjZXNzaWJsZS4JQ2hhbmdlIEVORF9PRl9SQU0KKyAgICB0byB1c2UgZ2V0X2VmZmVjdGl2ZV9tZW1zaXplKCkgaW5zdGVhZCBvZiB1c2luZyB0aGUgcmF3IHJhbQorICAgIHNpemUgb3V0IG9mIHRoZSBiZC4KKworICAgIFNpZ25lZC1vZmYtYnk6IEJlY2t5IEJydWNlIDxiZWNreS5icnVjZUBmcmVlc2NhbGUuY29tPgorCitjb21taXQgODE2NzNlOWFlMTRiNzcxY2QxM2ZhZjE5OTQ3MTkyNTk5Y2FlMzk1OQorQXV0aG9yOiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorRGF0ZToJVHVlIE1heSAxMyAxOTowMTo1NCAyMDA4IC0wNTAwCisKKyAgICBNYWtlIHN1cmUgY29tbW9uLmggaXMgdGhlIGZpcnN0IGluY2x1ZGUuCisKKyAgICBJZiBjb21tb24uaCBpc24ndCBmaXJzdCB3ZSBjYW4gZ2V0IENPTkZJR18gb3B0aW9ucyBkZWZpbmVkIGluIHRoZQorICAgIGJvYXJkIGNvbmZpZyBmaWxlIGlnbm9yZWQuCVRoaXMgY2FuIGNhdXNlIGFuIGlzc3VlIGlmIGFueSBvZiB0aG9zZQorICAgIGNvbmZpZyBvcHRpb25zIGltcGFjdCB0aGUgc2l6ZSBvZiB0eXBlcyBvZiBkYXRhIHN0cnVjdHVyZXMKKyAgICAoZWcgQ09ORklHX1BIWVNfNjRCSVQpLgorCisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IDk1ZDQ0OWFkNGRlNzlkZDMyYjE3MDViOGE0ZDM1NTBmMWU5MDgxZTMKK0F1dGhvcjogTWFyaWFuIEJhbGFrb3dpY3ogPG04QHNlbWloYWxmLmNvbT4KK0RhdGU6CVR1ZSBNYXkgMTMgMTU6NTM6MjkgMjAwOCArMDIwMAorCisgICAgQXZvaWQgaW5pdHJkIGFuZCBsb2didWZmZXIgYXJlYSBvdmVybGFwcworCisgICAgQWRkIGxvZ2J1ZmZlciB0byByZXNlcnZlZCBMTUIgYXJlYXMgdG8gcHJldmVudCBpbml0cmQgYWxsb2NhdGlvbgorICAgIGZyb20gb3ZlcmxhcGluZyB3aXRoIGl0LgorCisgICAgTWFrZSBzdXJlIHRvIHVzZSBjb3JyZWN0IGxvZ2J1ZmZlciBiYXNlIGFkZHJlc3MuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBNYXJpYW4gQmFsYWtvd2ljeiA8bThAc2VtaWhhbGYuY29tPgorCitjb21taXQgNjk1NmQ1M2Q5OTM0ODYyNTA3ZjgzZjBlMzI1NWRmZDQ2NjJlNzQ4MgorQXV0aG9yOiBTYXNjaGEgTGF1ZSA8c2FzY2hhLmxhdWVAbGllYmhlcnIuY29tPgorRGF0ZToJVHVlIE1heSAxMyAxMzoyOTo1NCAyMDA4ICswMjAwCisKKyAgICBsd21vbjU6IGFkZCBtZW1vcnktcGF0dGVybi10ZXN0IHRvIEZQR0EgUE9TVC4KKworY29tbWl0IGUzNGEwZTkxMWI2YTE1NjhkMGNhODY0MjM0ZmJkMGVlMDYwZDliMzUKK0F1dGhvcjogQmVja3kgQnJ1Y2UgPGJlY2t5LmJydWNlQGZyZWVzY2FsZS5jb20+CitEYXRlOglUaHUgTWF5IDggMTk6MDI6NTEgMjAwOCAtMDUwMAorCisgICAgUFBDOiA4Nnh4IEFkZCBiYXQgcmVnaXN0ZXJzIHRvIHJlZ2luZm8gY29tbWFuZAorCisgICAgU2lnbmVkLW9mZi1ieTogQmVja3kgQnJ1Y2UgPGJlY2t5LmJydWNlQGZyZWVzY2FsZS5jb20+CisKK2NvbW1pdCBkNWI5YjhjZGI4YjZlYjNhOGIwZjVkOTkwOWQ2OWNjYzljNzAzZWQ5CitBdXRob3I6IEJlY2t5IEJydWNlIDxiZWNreS5icnVjZUBmcmVlc2NhbGUuY29tPgorRGF0ZToJRnJpIE1heSA5IDE1OjQxOjM1IDIwMDggLTA1MDAKKworICAgIFBQQzogQWRkIHByaW50X2JhdHMoKSB0byBsaWJfcHBjL2JhdF9ydy5jCisKKyAgICBUaGlzIGZ1bmN0aW9uIHByaW50cyB0aGUgdmFsdWVzIG9mIGFsbCB0aGUgQkFUIHJlZ2lzdGVyCisgICAgcGFpcnMgLSBJIG5lZWRlZCB0aGlzIGZvciBkZWJ1ZyBlYXJsaWVyIHRoaXMgd2VlazsgYWRkaW5nIGl0IHRvCisgICAgbGliX3BwYyBzbyBvdGhlcnMgY2FuIHVzZSBpdCAoYW5kIGFkZCBpdCB0byByZWdpbmZvIGNvbW1hbmRzCisgICAgaWYgc28gZGVzaXJlZCkuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBCZWNreSBCcnVjZSA8YmVja3kuYnJ1Y2VAZnJlZXNjYWxlLmNvbT4KKworY29tbWl0IGMxNDhmMjRjMTU3NDNhMDJlODU1NjM2ZTZiZWQwMTNiZDEyMWY3ZjIKK0F1dGhvcjogQmVja3kgQnJ1Y2UgPGJlY2t5LmJydWNlQGZyZWVzY2FsZS5jb20+CitEYXRlOglUaHUgTWF5IDE1IDIxOjI5OjA0IDIwMDggLTA1MDAKKworICAgIFBQQzogQ2hhbmdlIGxpYl9wcGMvYmF0X3J3LmMgdG8gdXNlIGhpZ2ggYmF0cworCisgICAgQ3VycmVudGx5LCB0aGlzIGNvZGUgb25seSBkZWFscyB3aXRoIEJBVHMgMC0zLCB3aGljaCBtYWtlcworICAgIGl0IHVzZWxlc3Mgb24gc3lzdGVtcyB0aGF0IHN1cHBvcnQgQkFUcyA0LTcuICBBZGQgdGhlCisgICAgc3VwcG9ydCBmb3IgdGhlc2UgcmVnaXN0ZXJzLgorCisgICAgU2lnbmVkLW9mZi1ieTogQmVja3kgQnJ1Y2UgPEJlY2t5LmJydWNlQGZyZWVzY2FsZS5jb20+CisKK2NvbW1pdCAzMWQ4MjY3MjI0MzQ5MzFlMTE1MmEwOWQxNDAxODdkY2Y3MmY4YWFjCitBdXRob3I6IEJlY2t5IEJydWNlIDxiZWNreS5icnVjZUBmcmVlc2NhbGUuY29tPgorRGF0ZToJVGh1IE1heSA4IDE5OjAyOjEyIDIwMDggLTA1MDAKKworICAgIFBQQzogQ3JlYXRlIGFuZCB1c2UgQ09ORklHX0hJR0hfQkFUUworCisgICAgQ2hhbmdlIGFsbCBjb2RlIHRoYXQgY29uZGl0aW9uYWxseSBvcGVyYXRlcyBvbiBoaWdoIGJhdAorICAgIHJlZ2lzdGVycyAodGhhdCBpcywgQkFUcyA0LTcpIHRvIGxvb2sgYXQgQ09ORklHX0hJR0hfQkFUUworICAgIGluc3RlYWQgb2YgdGhlIG15cmlhZCB3YXlzIHRoaXMgaXMgZG9uZSBub3cuICBEZWZpbmUgdGhlIG9wdGlvbgorICAgIGZvciBldmVyeSBjb25maWcgZm9yIHdoaWNoIGhpZ2ggYmF0cyBhcmUgc3VwcG9ydGVkIChhbmQKKyAgICBlbmFibGVkIGJ5IGVhcmx5IGJvb3QsIG9uIHBhcnRzIHdoZXJlIHRoZXkncmUgbm90IGFsd2F5cworICAgIGVuYWJsZWQpCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBCZWNreSBCcnVjZSA8YmVja3kuYnJ1Y2VAZnJlZXNjYWxlLmNvbT4KKworY29tbWl0IGFhM2I4YmY5YzMwMDY1YmIyZWE4NTI3OTlkMzJkYjUwMjA1OTg0OTUKK0F1dGhvcjogV29sZmdhbmcgR3JhbmRlZ2dlciA8d2dAZ3JhbmRlZ2dlci5jb20+CitEYXRlOglXZWQgTWF5IDI4IDE5OjU1OjE5IDIwMDggKzAyMDAKKworICAgIEUxMDAwOiBBZGQgc3VwcG9ydCBmb3IgdGhlIDgyNTQxR0kgTEYgSW50ZWwgUHJvIDEwMDAgR1QgRGVza3RvcCBBZGFwdGVyCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBXb2xmZ2FuZyBHcmFuZGVnZ2VyIDx3Z0BncmFuZGVnZ2VyLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBCZW4gV2FycmVuIDxiaWdnZXJiYWRkZXJiZW5AZ21haWwuY29tPgorCitjb21taXQgZmYzNmZiYjJlNzU4M2ZiODA4ZWVmNzczZjUxMTQ4OWM3YTljMmRmMworQXV0aG9yOiBUc2lDaHVuZyBMaWV3IDxUc2ktQ2h1bmcuTGlld0BmcmVlc2NhbGUuY29tPgorRGF0ZToJV2VkIE1heSAyOCAxMzowNjoyNSAyMDA4IC0wNTAwCisKKyAgICBDb2xkRmlyZTogQWRkIDEwIGJhc2UgZXRoZXJuZXQgc3VwcG9ydCBmb3IgbWNmNTQ0NXgKKworICAgIFNpZ25lZC1vZmYtYnk6IFRzaUNodW5nIExpZXcgPFRzaS1DaHVuZy5MaWV3QGZyZWVzY2FsZS5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogQmVuIFdhcnJlbiA8YmlnZ2VyYmFkZGVyYmVuQGdtYWlsLmNvbT4KKworY29tbWl0IDFhOWZjYzRiNzY1NTk5ZGIyNGZhOWMzMjI5MzU5OWYyNGM3YTE5YmEKK0F1dGhvcjogSmFzb24gTWNNdWxsYW4gPG1jbXVsbGFuQG5ldGFwcC5jb20+CitEYXRlOglGcmkgTWF5IDMwIDAwOjUzOjM4IDIwMDggKzA5MDAKKworICAgIG1pcHM6IEFkZCBhbiAnaW5jbHVkZS9hc20vZXJybm8uaCcsIGxpa2UgYWxsIG90aGVyIGFyY2hpdGVjdHVyZXMKKworICAgIEFsbCBvdGhlciB1LWJvb3QgYXJjaGl0ZWN0dXJlcyBoYXZlIGFuIGluY2x1ZGUvYXNtL2Vycm5vLmgsIHNvCisgICAgdGhpcyBjaGFuZ2UgYWRkcyBpdCB0byB0aGUgbWlwcyBpbmNsdWRlL2FzbS1taXBzIGhlYWRlcnMgYWxzby4KKworICAgIFN0b2xlbiBmcm9tIExpbnV4IDIuNi4yNS4KKworICAgIFNpZ25lZC1vZmYtYnk6IEphc29uIE1jTXVsbGFuIDxtY211bGxhbkBuZXRhcHAuY29tPgorCitjb21taXQgZTJhZDg0MjY2MjRiYWM0NTdhY2M2OTI1YjZmZjQwOGU5YmYyMDQ2NgorQXV0aG9yOiBTaGlueWEgS3VyaWJheWFzaGkgPHNrdXJpYmF5QHJ1YnkuZHRpLm5lLmpwPgorRGF0ZToJRnJpIE1heSAzMCAwMDo1MzozOCAyMDA4ICswOTAwCisKKyAgICBbTUlQU10gPGFzbS9taXBzcmVncy5oPjogVXBkYXRlIGNvcHJvY2Vzc29yIHJlZ2lzdGVyIGFjY2VzcyBtYWNyb3MKKworICAgIFNpZ25lZC1vZmYtYnk6IFNoaW55YSBLdXJpYmF5YXNoaSA8c2t1cmliYXlAcnVieS5kdGkubmUuanA+CisKK2NvbW1pdCAxYTNhZGFjODFjMjkyZjJlZTc2ZTQzY2RlYjJmYmU4ZjkxNWZlMTk0CitBdXRob3I6IFNoaW55YSBLdXJpYmF5YXNoaSA8c2t1cmliYXlAcnVieS5kdGkubmUuanA+CitEYXRlOglGcmkgTWF5IDMwIDAwOjUzOjM4IDIwMDggKzA5MDAKKworICAgIFtNSVBTXSA8YXNtL21pcHNyZWdzLmg+OiBVcGRhdGUgcmVnaXN0ZXIgLyBiaXQgZmllbGQgZGVmaW5pdGlvbnMKKworICAgIFNpZ25lZC1vZmYtYnk6IFNoaW55YSBLdXJpYmF5YXNoaSA8c2t1cmliYXlAcnVieS5kdGkubmUuanA+CisKK2NvbW1pdCBiZjQ2MmFlNDUwYTdmMmVlZWRkYzY5OWVkMzQ1YjM5MWUzMjYzNTQwCitBdXRob3I6IFNoaW55YSBLdXJpYmF5YXNoaSA8c2t1cmliYXlAcnVieS5kdGkubmUuanA+CitEYXRlOglGcmkgTWF5IDMwIDAwOjUzOjM3IDIwMDggKzA5MDAKKworICAgIFtNSVBTXSA8YXNtL21pcHNyZWdzLmg+OiBDb2RpbnlnU3R5bGUgY2xlYW51cHMKKworICAgIE5vIGZ1bmN0aW9uYWwgY2hhbmdlcy4KKworICAgIFNpZ25lZC1vZmYtYnk6IFNoaW55YSBLdXJpYmF5YXNoaSA8c2t1cmliYXlAcnVieS5kdGkubmUuanA+CisKK2NvbW1pdCA4OWExNTUwZWM2Yjc0NDUyMjc0YTdhMjMxMjc5MzZlMmM3ZWVjNzExCitBdXRob3I6IEphc29uIE1jTXVsbGFuIDxtY211bGxhbkBuZXRhcHAuY29tPgorRGF0ZToJRnJpIE1heSAzMCAwMDo1MzozNyAyMDA4ICswOTAwCisKKyAgICBtaXBzOiBJZiBDT05GSUdfQ01EX1NQSSBpcyBkZWZpbmVkLCBjYWxsIHNwaV9pbml0KCkKKworICAgIFRoZSBtaXBzIGFyY2hpdGVjdHVyZSBjdXJyZW50bHkgZG9lcyBub3QgY2FsbCAnc3BpX2luaXQoKScgaW4gdGhlIGdlbmVyaWMKKyAgICBib2FyZCBpbml0aWFsaXphdGlvbiByb3V0aW5lIGlzIENPTkZJR19DTURfU1BJIGlzIGRlZmluZWQuCisKKyAgICBUaGlzIHBhdGNoIHJlY3RpZmllcyB0aGF0IHByb2JsZW0uCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBKYXNvbiBNY011bGxhbiA8bWNtdWxsYW5AbmV0YXBwLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBTaGlueWEgS3VyaWJheWFzaGkgPHNrdXJpYmF5QHJ1YnkuZHRpLm5lLmpwPgorCitjb21taXQgZTk5NmJjMzM5YjBmMzlmNmMwYjI5YjE0NTViYTdlYjMxOGIwMjNkMworQXV0aG9yOiBKYXNvbiBNY011bGxhbiA8bWNtdWxsYW5AbmV0YXBwLmNvbT4KK0RhdGU6CUZyaSBNYXkgMzAgMDA6NTM6MzcgMjAwOCArMDkwMAorCisgICAgW01JUFNdIGxpYl9taXBzL2JvYXJkLmM6IEFkZCBuYW5kX2luaXQKKworICAgIFRoaXMgcGF0Y2ggYWRkcyB0aGUgc3RhbmRhcmQgJ25hbmRfaW5pdCgpJyBjYWxsIHRvIHRoZSBtaXBzIGdlbmVyaWMKKyAgICAnYm9hcmRfaW5pdF9yKCknIGNhbGwsIGJyaW5naW5nIE1JUFMgaW4gbGluZSB3aXRoIHRoZSBvdGhlciBhcmNoaXRlY3R1cmVzLgorCisgICAgU2lnbmVkLW9mZi1ieTogSmFzb24gTWNNdWxsYW4gPG1jbXVsbGFuQG5ldGFwcC5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogU2hpbnlhIEt1cmliYXlhc2hpIDxza3VyaWJheUBydWJ5LmR0aS5uZS5qcD4KKworY29tbWl0IGQ2YWMyZWQ4OTNjMjE2ODczOGFlZTAxNTc5ZDYyODNhZjhkMzcwNDUKK0F1dGhvcjogU2NvdHQgV29vZCA8c2NvdHR3b29kQGZyZWVzY2FsZS5jb20+CitEYXRlOglUaHUgTWF5IDIyIDEwOjQ5OjQ2IDIwMDggLTA1MDAKKworICAgIFJlbW92ZSBwcm90b3R5cGVzIG9mIG5hbmRfaW5pdCgpIGluIGZhdm9yIG9mIGluY2x1ZGluZyBuYW5kLmguCisKKyAgICBMaWtld2lzZSB3aXRoIG9uZW5hbmRfaW5pdCgpLgorCisgICAgU2lnbmVkLW9mZi1ieTogU2NvdHQgV29vZCA8c2NvdHR3b29kQGZyZWVzY2FsZS5jb20+CisKK2NvbW1pdCAyMjljNTZmMDdhODJlYWNkYThjODcyMGNiMTQ2ZmM5YmUwZjZkYjU0CitBdXRob3I6IFNjb3R0IFdvb2QgPHNjb3R0d29vZEBmcmVlc2NhbGUuY29tPgorRGF0ZToJVGh1IE1heSAyMiAxMDo0OTowMCAyMDA4IC0wNTAwCisKKyAgICBNYWtlIG9uZW5hbmRfdWJvb3QuaCBzZWxmLXN1ZmZpY2llbnQuCisKKyAgICBEb24ndCBhc3N1bWUgdHlwZXMgYXJlIHByb3ZpZGVkIGJ5IHByZXZpb3VzbHkgaW5jbHVkZWQgaGVhZGVycy4KKworICAgIFNpZ25lZC1vZmYtYnk6IFNjb3R0IFdvb2QgPHNjb3R0d29vZEBmcmVlc2NhbGUuY29tPgorCitjb21taXQgOTcyM2JiYjQ2YWJiN2IyY2EyNGVlYWQ1MTE0YTNmYWE1ODA2MGMyMAorQXV0aG9yOiBEaXJrIEJlaG1lIDxkaXJrLmJlaG1lQGdtYWlsLmNvbT4KK0RhdGU6CVdlZCBKYW4gMTYgMTQ6MjY6NTkgMjAwOCArMDEwMAorCisgICAgbmFuZDogQ29ycmVjdCBOQU5EIGVyYXNlIHBlcmNlbnRhZ2Ugb3V0cHV0CisKKyAgICBGb3IgTkFORCBlcmFzZSBzaXplcyBzbWFsbGVyIHRoYW4gb25lIE5BTkQgZXJhc2UgYmxvY2ssIGVyYXNlCisgICAgcGVyY2VudGFnZSBvdXRwdXQgYmVjb21lcyBncmF0ZXIgdGhhbiAxMDAlIGUuZy4KKworICAgIC0tIGN1dCAtLQorICAgICAgPiBuYW5kIGluZm8KKyAgICBEZXZpY2UgMDogTkFORCA2NE1pQiAxLDhWIDgtYml0LCBzZWN0b3Igc2l6ZSAxNiBLaUIKKyAgICAgID4gbmFuZCBlcmFzZSAweDEwMDAwMCAweDIwMDAKKyAgICBOQU5EIGVyYXNlOiBkZXZpY2UgMCBvZmZzZXQgMHgxMDAwMDAsIHNpemUgMHgyMDAwCisgICAgRXJhc2luZyBhdCAweDEwMDAwMCAtLSAyMDAlIGNvbXBsZXRlLgorICAgIE9LCisgICAgICA+CisgICAgLS0gY3V0IC0tCisKKyAgICBDb3JyZWN0IHRoaXMgYW5kIGdpdmUgdXNlciBhIHdhcm5pbmcgdGhhdCBtb3JlIGlzIGVyYXNlZCB0aGFuIHNwZWNpZmllZDoKKworICAgIC0tIGN1dCAtLQorICAgICAgPiBuYW5kIGVyYXNlIDB4MTAwMDAwIDB4MjAwMAorICAgIE5BTkQgZXJhc2U6IGRldmljZSAwIG9mZnNldCAweDEwMDAwMCwgc2l6ZSAweDIwMDAKKyAgICBXYXJuaW5nOiBFcmFzZSBzaXplIDB4MDAwMDIwMDAgc21hbGxlciB0aGFuIG9uZSBlcmFzZSBibG9jayAweDAwMDA0MDAwCisJICAgICAgIEVyYXNpbmcgMHgwMDAwNDAwMCBpbnN0ZWFkCisgICAgRXJhc2luZyBhdCAweDEwMDAwMCAtLSAxMDAlIGNvbXBsZXRlLgorICAgIE9LCisgICAgICA+CisgICAgLS0gY3V0IC0tCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBEaXJrIEJlaG1lIDxkaXJrLmJlaG1lQGdtYWlsLmNvbT4KKworY29tbWl0IDU5MjJkYjZjMDk0ODUwNmJlOTFlMGRlNDRlN2E2ODYzYTE4YTQxN2YKK0F1dGhvcjogU3RlbGlhbiBQb3AgPHN0ZWxpYW5AcG9waWVzLm5ldD4KK0RhdGU6CVR1ZSBNYXkgMTMgMTc6MzE6MjQgMjAwOCArMDIwMAorCisgICAgQ2xlYW51cCBuYW5kX2luZm9bXSBkZWNsYXJhdGlvbi4KKworICAgIFRoZSBuYW5kX2luZm8gYXJyYXkgaXMgZGVjbGFyZWQgYXMgZXh0ZXJuIGluIHNldmVyYWwgLmMgZmlsZXMuCisgICAgVGhvc2UgZGF5cywgbmFuZC5oIGNvbnRhaW5zIGEgcmVmZXJlbmNlIHRvIHRoZSBhcnJheSwgc28gdGhlcmUgaXMKKyAgICBubyBuZWVkIHRvIGRlY2xhcmUgaXQgZWxzZXdoZXJlLgorCisgICAgU2lnbmVkLW9mZi1ieTogU3RlbGlhbiBQb3AgPHN0ZWxpYW5AcG9waWVzLm5ldD4KKyAgICBTaWduZWQtb2ZmLWJ5OiBTY290dCBXb29kIDxzY290dHdvb2RAZnJlZXNjYWxlLmNvbT4KKworY29tbWl0IDEzNWYwYTc0ODhhZjI5NDdhZGJlNGI0MGI3OTI4MGJkZmU1ZTk4ODYKK0F1dGhvcjogU2NvdHQgV29vZCA8c2NvdHR3b29kQGZyZWVzY2FsZS5jb20+CitEYXRlOglNb24gTWF5IDE5IDA5OjMwOjQzIDIwMDggLTA1MDAKKworICAgIE5BTkQ6IFByb3ZpZGUgYSBzYW5lIGRlZmF1bHQgZm9yIE5BTkRfTUFYX0NISVBTLgorCisgICAgVGhpcyBhbGxvd3MgdGhlIGhlYWRlciB0byBiZSBpbmNsdWRlZCByZWdhcmRsZXNzIG9mIHdoZXRoZXIgYSBib2FyZCdzCisgICAgY29uZmlnIGZpbGUgcHJvdmlkZXMgTkFORC1yZWxhdGVkIGRlZmluaW5pdGlvbnMuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTY290dCBXb29kIDxzY290dHdvb2RAZnJlZXNjYWxlLmNvbT4KKworY29tbWl0IGE4MDkyYzAyMWQyN2YyN2Y0YjMyM2I3ZDQ5OTc5Y2EwMWIzZmMxOWQKK0F1dGhvcjogSGFhdmFyZCBTa2lubmVtb2VuIDxoYWF2YXJkLnNraW5uZW1vZW5AYXRtZWwuY29tPgorRGF0ZToJTW9uIE1heSAyNiAxMjoxOToxMCAyMDA4ICswMjAwCisKKyAgICBhdnIzMjogRml4IHRoZW9yZXRpY2FsIHJhY2UgaW4gdWRlbGF5KCkKKworICAgIElmIHRoZSBzcGVjaWZpZWQgZGVsYXkgaXMgdmVyeSBzaG9ydCwgdGhlIGN5Y2xlIGNvdW50ZXIgbWF5IGdvIHBhc3QgdGhlCisgICAgImVuZCIgdGltZSB3ZSBhcmUgd2FpdGluZyBmb3IgYmVmb3JlIHdlIGdldCBhcm91bmQgdG8gcmVhZGluZyBpdC4KKworICAgIEZpeCBpdCBieSBjaGVja2luZyB0aGUgZGlmZmVyZW50IGJldHdlZW4gdGhlIGN5Y2xlIGNvdW50ICJub3ciIGFuZCB0aGUKKyAgICBjeWNsZSBjb3VudCBhdCB0aGUgYmVnaW5uaW5nLiBUaGlzIHdpbGwgd29yayBhcyBsb25nIGFzIHRoZSBkZWxheQorICAgIG1lYXN1cmVkIGluIG51bWJlciBvZiBjeWNsZXMgaXMgYmVsb3cgMl4zMS4KKworICAgIFNpZ25lZC1vZmYtYnk6IEhhYXZhcmQgU2tpbm5lbW9lbiA8aGFhdmFyZC5za2lubmVtb2VuQGF0bWVsLmNvbT4KKworY29tbWl0IDQ4ZWE2MjNlYWU4Njc0NzkzMzcyZTNlN2M5NWU3MmU1YTQ0ZDdhOTUKK0F1dGhvcjogSGFhdmFyZCBTa2lubmVtb2VuIDxoYWF2YXJkLnNraW5uZW1vZW5AYXRtZWwuY29tPgorRGF0ZToJV2VkIE1heSAyMSAxMzowMTowOSAyMDA4ICswMjAwCisKKyAgICBhdnIzMjogQ29tcGlsZSBhdG1lbF9tY2kubyBjb25kaXRpb25hbGx5CisKKyAgICBSZW1vdmUgI2lmZGVmIENPTkZJR19NTUMgZnJvbSB0aGUgc291cmNlIGZpbGUgYW5kIHVzZSBjb25kaXRpb25hbAorICAgIGNvbXBpbGF0aW9uIGluIHRoZSBNYWtlZmlsZSBpbnN0ZWFkLgorCisgICAgU2lnbmVkLW9mZi1ieTogSGFhdmFyZCBTa2lubmVtb2VuIDxoYWF2YXJkLnNraW5uZW1vZW5AYXRtZWwuY29tPgorCitjb21taXQgZTkyYTViZjgzMzA2NTRlMzNhYzEzZjZiMzA1ODYzNGU1OGY1ZDFjMAorQXV0aG9yOiBIYWF2YXJkIFNraW5uZW1vZW4gPGhhYXZhcmQuc2tpbm5lbW9lbkBhdG1lbC5jb20+CitEYXRlOglUaHUgTWF5IDIyIDEyOjI4OjI1IDIwMDggKzAyMDAKKworICAgIGF2cjMyOiBGaXggd3JvbmcgZXJyb3IgZmxhZ3MgaW4gYXRtZWxfbWNpIGRyaXZlcgorCisgICAgTWFrZSBzdXJlIHdlIGNoZWNrIGZvciBDUkMgZXJyb3JzIHdoZW4gc2VuZGluZyBjb21tYW5kcyB0aGF0IHVzZSBDUkMKKyAgICBjaGVja2luZy4KKworICAgIFJlcG9ydGVkLWJ5OiBHdXJ1cmFqYSBIZWJiYXIgSyBSIDxndXJ1cmFqYWtyQHNhbnlvLmNvLmluPgorICAgIFNpZ25lZC1vZmYtYnk6IEhhYXZhcmQgU2tpbm5lbW9lbiA8aGFhdmFyZC5za2lubmVtb2VuQGF0bWVsLmNvbT4KKworY29tbWl0IDdhOTZkZGFkZDEzZTZhYzlhODI5YWZmY2U5YjZmODgyM2Y1ODBlNDkKK0F1dGhvcjogSGFhdmFyZCBTa2lubmVtb2VuIDxoYWF2YXJkLnNraW5uZW1vZW5AYXRtZWwuY29tPgorRGF0ZToJV2VkIE1heSAyMSAxMToxMDo1OSAyMDA4ICswMjAwCisKKyAgICBhdnIzMjogRml4IHR3byB3YXJuaW5ncyBpbiBhdG1lbF9tY2kuYworCisgICAgVGhlIHdhcm5pbmdzIGFyZSBoYXJtbGVzcyBidXQgYW5ub3lpbmcuIExldCdzIGZpeCB0aGVtLgorCisgICAgU2lnbmVkLW9mZi1ieTogSGFhdmFyZCBTa2lubmVtb2VuIDxoYWF2YXJkLnNraW5uZW1vZW5AYXRtZWwuY29tPgorCitjb21taXQgYTIzZTI3N2M0YTNhMmJiYzQyZDIzN2FhZTI5ZGEzYTg5NzFlNzU3ZgorQXV0aG9yOiBIYWF2YXJkIFNraW5uZW1vZW4gPGhhYXZhcmQuc2tpbm5lbW9lbkBhdG1lbC5jb20+CitEYXRlOglNb24gTWF5IDE5IDExOjM2OjI4IDIwMDggKzAyMDAKKworICAgIGF2cjMyOiBSZXdvcmsgU0RSQU0gaW5pdGlhbGl6YXRpb24gY29kZQorCisgICAgVGhpcyBjbGVhbnMgdXAgdGhlIFNEUkFNIGluaXRpYWxpemF0aW9uIGFuZCByZWxhdGVkIGNvZGUgYSBiaXQsIGFuZAorICAgIGFsbG93cyBmYXN0ZXIgYm9vdGluZy4KKworICAgICAgKiBBZGQgZGVmaW5pdGlvbnMgZm9yIEVCSSBhbmQgaW50ZXJuYWwgU1JBTSB0byBhc20vYXJjaC9tZW1vcnktbWFwLmgKKyAgICAgICogUmVtb3ZlIG1lbW9yeSB0ZXN0IGZyb20gc2RyYW1faW5pdCgpIGFuZCBtYWtlIGNhbGxlciByZXNwb25zaWJsZQorCWZvciB2ZXJpZnlpbmcgdGhlIFNEUkFNIGFuZCBkZXRlcm1pbmluZyBpdHMgc2l6ZS4KKyAgICAgICogUmVtb3ZlIGJhc2VfYWRkcmVzcyBtZW1iZXIgZnJvbSBzdHJ1Y3Qgc2RyYW1fY29uZmlnICh3YXMgc2RyYW1faW5mbykKKyAgICAgICogQWRkIGRhdGFfYml0cyBtZW1iZXIgdG8gc3RydWN0IHNkcmFtX2NvbmZpZyBhbmQga2lsbCBDRkdfU0RSQU1fMTZCSVQKKyAgICAgICogQWRkIHN1cHBvcnQgZm9yIGEgY29tbW9uIFNUSzEwMDAgaGFjazogMTZNQiBTRFJBTSBpbnN0ZWFkIG9mIDguCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBIYWF2YXJkIFNraW5uZW1vZW4gPGhhYXZhcmQuc2tpbm5lbW9lbkBhdG1lbC5jb20+CisKK2NvbW1pdCA5NTEwN2I3YzAyODgwNjkxOTYzMGJmMDJjNjUzYWE4ZjRmODY3Yzk0CitBdXRob3I6IEhhYXZhcmQgU2tpbm5lbW9lbiA8aGFhdmFyZC5za2lubmVtb2VuQGF0bWVsLmNvbT4KK0RhdGU6CU1vbiBNYXkgMTkgMTE6Mjc6MzcgMjAwOCArMDIwMAorCisgICAgYXZyMzI6IERvIHN0cmljdGVyIHN0YWNrIGNoZWNraW5nIGluIHRoZSBleGNlcHRpb24gaGFuZGxlcgorCisgICAgRG9uJ3QgZG8gYSBzdGFjayBkdW1wIGlmIHRoZSBzdGFjayBwb2ludGVyIGlzIG91dHNpZGUgdGhlIG1lbW9yeSBhcmVhCisgICAgcmVzZXJ2ZWQgZm9yIHN0YWNrLgorCisgICAgU2lnbmVkLW9mZi1ieTogSGFhdmFyZCBTa2lubmVtb2VuIDxoYWF2YXJkLnNraW5uZW1vZW5AYXRtZWwuY29tPgorCitjb21taXQgY2FmODNlYTg4OGEwMjIwZjQxNzQ3ZDBiNzc0OGZhNDNiNGE0YmQ0OQorQXV0aG9yOiBIYWF2YXJkIFNraW5uZW1vZW4gPGhhYXZhcmQuc2tpbm5lbW9lbkBhdG1lbC5jb20+CitEYXRlOglGcmkgTWF5IDIgMTU6MzI6NTcgMjAwOCArMDIwMAorCisgICAgYXZyMzI6IFVzZSB0aGUgc2FtZSBlbnRyeSBwb2ludCBmb3IgcmVzZXQgYW5kIGV4Y2VwdGlvbiBoYW5kbGluZworCisgICAgU2luY2UgdGhlIHJlc2V0IHZlY3RvciBpcyBhbHdheXMgYWxpZ25lZCB0byBhIHZlcnkgbGFyZ2UgYm91bmRhcnksIHdlCisgICAgY2FuIHNhdmUgYSBjb3VwbGUgb2YgS0Igd29ydGggb2YgYWxpZ25tZW50IHBhZGRpbmcgYnkgcGxhY2luZyB0aGUKKyAgICBleGNlcHRpb24gdmVjdG9ycyBhdCB0aGUgc2FtZSBhZGRyZXNzLgorCisgICAgRGVjaWRpbmcgd2hpY2ggb25lIGl0IGlzIGlzIGVhc3k6IElmIHdlJ3JlIGhhbmRsaW5nIGFuIGV4Y2VwdGlvbiwgdGhlCisgICAgQ1BVIGlzIGluIEV4Y2VwdGlvbiBtb2RlLiBJZiB3ZSdyZSBzdGFydGluZyB1cCBhZnRlciByZXNldCwgdGhlIENQVSBpcworICAgIGluIFN1cGVydmlzb3IgbW9kZS4gU28gdGhpcyBhZGRzIGEgdmVyeSBtaW5pbWFsIG92ZXJoZWFkIHRvIHRoZSByZXNldAorICAgIHBhdGggKG9ubHkgZXhlY3V0ZWQgb25jZSkgYW5kIHRoZSBleGNlcHRpb24gaGFuZGxpbmcgcGF0aCAobm9ybWFsbHkKKyAgICBuZXZlciBleGVjdXRlZCBhdCBhbGwuKQorCisgICAgU2lnbmVkLW9mZi1ieTogSGFhdmFyZCBTa2lubmVtb2VuIDxoYWF2YXJkLnNraW5uZW1vZW5AYXRtZWwuY29tPgorCitjb21taXQgMGMxNmVlZDIxODlhMTkwYmQ1NjU1YjMzYzAyOWY4MDlhOWIzMTEyOAorQXV0aG9yOiBIYWF2YXJkIFNraW5uZW1vZW4gPGhhYXZhcmQuc2tpbm5lbW9lbkBhdG1lbC5jb20+CitEYXRlOglGcmkgTWF5IDIgMTU6MjQ6MjIgMjAwOCArMDIwMAorCisgICAgYXZyMzI6IFB1dCBtZW1zZXQgaW4gaXRzIG93biBzZWN0aW9uCisKKyAgICBBbGwgQyBjb2RlIGlzIGNvbXBpbGVkIHdpdGggLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMuCisgICAgQXNzZW1ibHkgZnVuY3Rpb25zIHNob3VsZCBnZXQgdGhlaXIgb3duIHNlY3Rpb25zIGFzIHdlbGwgc28gdGhhdAorICAgIGV2ZXJ5dGhpbmcgbG9va3MgY29uc2lzdGVudC4KKworICAgIFNpZ25lZC1vZmYtYnk6IEhhYXZhcmQgU2tpbm5lbW9lbiA8aGFhdmFyZC5za2lubmVtb2VuQGF0bWVsLmNvbT4KKworY29tbWl0IDNhY2UyNTI3YmE4MGJkMmZlMWJjZWFhYjUwZDBiM2M0ZmI1ZGQwMjAKK0F1dGhvcjogSGFhdmFyZCBTa2lubmVtb2VuIDxoYWF2YXJkLnNraW5uZW1vZW5AYXRtZWwuY29tPgorRGF0ZToJRnJpIE1heSAyIDE1OjIxOjQwIDIwMDggKzAyMDAKKworICAgIGF2cjMyOiBSZW5hbWUgcG1faW5pdCgpIGFzIGNsa19pbml0KCkgYW5kIG1ha2UgU29DLXNwZWNpZmljCisKKyAgICBwbV9pbml0KCkgd2FzIGFsd2F5cyBtb3JlIGFib3V0IGNsb2NrIGluaXRpYWxpemF0aW9uIHRoYW4gYW55dGhpbmcKKyAgICBlbHNlLiBEZWFsaW5nIHdpdGggUExMcywgY2xvY2sgZ2F0aW5nIGFuZCBzdWNoIGlzIGFsc28gaW5oZXJlbnRseQorICAgIFNvQy1zcGVjaWZpYywgc28gbW92ZSBpdCBpbnRvIGEgU29DLXNwZWNpZmljIGRpcmVjdG9yeS4KKworICAgIFNpZ25lZC1vZmYtYnk6IEhhYXZhcmQgU2tpbm5lbW9lbiA8aGFhdmFyZC5za2lubmVtb2VuQGF0bWVsLmNvbT4KKworY29tbWl0IDRmNTk3MmMzYjI0NTRjMjI5NTdmMjg0MmNmZTY0ZWM4MTE4ZTAxNWIKK0F1dGhvcjogSGFhdmFyZCBTa2lubmVtb2VuIDxoYWF2YXJkLnNraW5uZW1vZW5AYXRtZWwuY29tPgorRGF0ZToJV2VkIEFwciAzMCAxNjoxNTo1NyAyMDA4ICswMjAwCisKKyAgICBhdnIzMjogVXNlIG5ldy1zdHlsZSBNYWtlZmlsZSBmb3IgdGhlIGF0MzJhcCBwbGF0Zm9ybQorCisgICAgVGhpcyBtYWtlcyBpdCBlYXNpZXIgdG8gYXZvaWQgY29tcGlsaW5nIGNlcnRhaW4gZmlsZXMgbGF0ZXIuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBIYWF2YXJkIFNraW5uZW1vZW4gPGhhYXZhcmQuc2tpbm5lbW9lbkBhdG1lbC5jb20+CisKK2NvbW1pdCBhOWIyYmI3OGExYmQ4ZWJkYjYzMzUwOWJkZDFjODEzNGQ1MjdiMjEzCitBdXRob3I6IEhhYXZhcmQgU2tpbm5lbW9lbiA8aGFhdmFyZC5za2lubmVtb2VuQGF0bWVsLmNvbT4KK0RhdGU6CVdlZCBBcHIgMzAgMTQ6MzY6NDcgMjAwOCArMDIwMAorCisgICAgYXZyMzI6IFJlbW92ZSB1bnVzZWQgZmlsZSBjcHUvYXQzMmFwL3BtLmMKKworICAgIFNpZ25lZC1vZmYtYnk6IEhhYXZhcmQgU2tpbm5lbW9lbiA8aGFhdmFyZC5za2lubmVtb2VuQGF0bWVsLmNvbT4KKworY29tbWl0IDQ0NDUzYjI1YjA2NDI2ZWVmMGI3YjJmYTdjMDI2ZmRmMTljZTM0ZjIKK0F1dGhvcjogSGFhdmFyZCBTa2lubmVtb2VuIDxoYWF2YXJkLnNraW5uZW1vZW5AYXRtZWwuY29tPgorRGF0ZToJV2VkIEFwciAzMCAxNDoxOToyOCAyMDA4ICswMjAwCisKKyAgICBhdnIzMjogQ2xlYW4gdXAgdGhlIEhNQVRSSVggY29kZQorCisgICAgUmV3b3JrIHRoZSBITUFUUklYIGNvbmZpZ3VyYXRpb24gaW50ZXJmYWNlIHNvIHRoYXQgaXQgYmVjb21lcyBlYXNpZXIKKyAgICB0byBjb25maWd1cmUgdGhlIEhNQVRSSVggZm9yIGJvYXJkcyB3aXRoIHNwZWNpYWwgbmVlZHMsIGFuZCBhZGQgbmV3CisgICAgcGFydHMuCisKKyAgICBUaGUgSE1BVFJJWCBoZWFkZXIgZmlsZSBoYXMgYmVlbiBzcGxpdCBpbnRvIGEgZ2VuZXJhbCwKKyAgICBjaGlwLWluZGVwZW5kZW50IHBhcnQgd2l0aCByZWdpc3RlciBkZWZpbml0aW9ucywgZXRjLiBhbmQgYQorICAgIGNoaXAtc3BlY2lmaWMgcGFydCB3aXRoIFNGUiBiaXRmaWVsZCBkZWZpbml0aW9ucyBhbmQgbWFzdGVyL3NsYXZlCisgICAgaWRlbnRpZmllcnMuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBIYWF2YXJkIFNraW5uZW1vZW4gPGhhYXZhcmQuc2tpbm5lbW9lbkBhdG1lbC5jb20+CisKK2NvbW1pdCAwYTJlNDg3OTJkZDM3MmM5MGI4MDA1OWYzMjM1ZTY3YTU2N2UxNmZjCitBdXRob3I6IEhhYXZhcmQgU2tpbm5lbW9lbiA8aGFhdmFyZC5za2lubmVtb2VuQGF0bWVsLmNvbT4KK0RhdGU6CVRodSBOb3YgMjIgMTI6MTQ6MTEgMjAwNyArMDEwMAorCisgICAgYXZyMzI6IEFkZCBzdXBwb3J0IGZvciB0aGUgQVRTVEsxMDA2IGJvYXJkCisKKyAgICBUaGlzIGlzIGEgcmVwbGFjZW1lbnQgZm9yIEFUU1RLMTAwMiB3aXRoIDY0TUIgU0RSQU0gYW5kIE5BTkQgZmxhc2ggb24KKyAgICBib2FyZC4gSXQncyBjdXJyZW50bHkgaW4gcHJvZHVjdGlvbiBhbmQgd2lsbCBiZSBhdmFpbGFibGUgc29vbi4KKworICAgIFNpZ25lZC1vZmYtYnk6IEhhYXZhcmQgU2tpbm5lbW9lbiA8aGFhdmFyZC5za2lubmVtb2VuQGF0bWVsLmNvbT4KKworY29tbWl0IDc4MWViOWExZTRhZjRiZDM0YzEzOGU2MTI2ZWM1Y2M2ZGQ0YjU0NDAKK0F1dGhvcjogSGFhdmFyZCBTa2lubmVtb2VuIDxoYWF2YXJkLnNraW5uZW1vZW5AYXRtZWwuY29tPgorRGF0ZToJVHVlIEFwciAyOSAxMjo1MzowNSAyMDA4ICswMjAwCisKKyAgICBhdnIzMjogR2V0IHJpZCBvZiB0aGUgLmZsYXNocHJvZyBzZWN0aW9uCisKKyAgICBUaGUgLmZsYXNocHJvZyBzZWN0aW9uIHdhcyBvbmx5IG5lZWRlZCBiYWNrIHdoZW4gd2Ugd2VyZSBydW5uaW5nCisgICAgZGlyZWN0bHkgZnJvbSBmbGFzaCwgYW5kIGl0J3MgZXZlbiBtb3JlIHVzZWxlc3Mgb24gTkdXMTAwIHNpbmNlIGl0CisgICAgdXNlcyB0aGUgQ0ZJIGZsYXNoIGRyaXZlciB3aGljaCBuZXZlciB1c2VkIHRoaXMgd29ya2Fyb3VuZCBpbiB0aGUKKyAgICBmaXJzdCBwbGFjZS4KKworICAgIFJlbW92ZSBpdCBvbiBTVEsxMDAwIGFzIHdlbGwsIGFuZCBnZXQgcmlkIG9mIGFsbCB0aGUgYXNzb2NpYXRlZCBjb2RlIGFuZAorICAgIGFubm90YXRpb25zLgorCisgICAgU2lnbmVkLW9mZi1ieTogSGFhdmFyZCBTa2lubmVtb2VuIDxoYWF2YXJkLnNraW5uZW1vZW5AYXRtZWwuY29tPgorCitjb21taXQgY2RkNDJjMGM3YTUyMDVmYzM4MDkxMmQ4MzIyOTA2OWE3MWVhM2FiZgorQXV0aG9yOiBIYWF2YXJkIFNraW5uZW1vZW4gPGhhYXZhcmQuc2tpbm5lbW9lbkBhdG1lbC5jb20+CitEYXRlOglXZWQgQXByIDMwIDEzOjA5OjU2IDIwMDggKzAyMDAKKworICAgIGF2cjMyOiBVc2UgY29ycmVjdCBjb25kaXRpb24gYXJvdW5kIG1hY2IgY2xvY2sgYWNjZXNzb3JzCisKKyAgICBnZXRfbWFjYl9wY2xrX3JhdGUoKSBhbmQgZ2V0X21hY2JfaGNsa19yYXRlKCkgc2hvdWxkIGJlIGF2YWlsYWJsZSB3aGVuCisgICAgdGhlIGNoaXAgaGFzIGEgTUFDQiBjb250cm9sbGVyLCBub3Qgd2hlbiBpdCBoYXMgYSBVU0FSVC4KKworICAgIFNpZ25lZC1vZmYtYnk6IEhhYXZhcmQgU2tpbm5lbW9lbiA8aGFhdmFyZC5za2lubmVtb2VuQGF0bWVsLmNvbT4KKworY29tbWl0IGY3OTNhMzU4MTkwMWZmMzljMmFiYjk0MDEyZDliYmM4NTczY2NmMDIKK0F1dGhvcjogRGF2aWQgQnJvd25lbGwgPGRhdmlkLWJAcGFjYmVsbC5uZXQ+CitEYXRlOglXZWQgQXByIDE2IDIyOjU3OjU4IDIwMDggLTA3MDAKKworICAgIGF2cjMyOiBEaXNhYmxlIHRoZSBBUDcwMDAgaW50ZXJuYWwgd2F0Y2hkb2cgb24gc3RhcnR1cAorCisgICAgVGhpcyBwYXRjaCBmb3JjZXMgdGhlIHdhdGNoZG9nIG9mZiBpbiBhbGwgY2FzZXMuICBUaGF0IHdpbGwgYXQgbGVhc3QKKyAgICBnZXQgcmlkIG9mIHRoZSBjb25zdGFudCByZWJvb3QgY3ljbGUsIHRob3VnaCBpdCB3b24ndCBsZXQgdGhlIHdhdGNoZG9nCisgICAgYWN0dWFsbHkgcnVuIGluIHRoZSBuZXcga2VybmVsczogIGl0cyBwcm9iZSgpIGNvbWVzIHVwIHdpdGggYSBwb2xpdGUKKyAgICB3YXJuaW5nLgorCisgICAgU2lnbmVkLW9mZi1ieTogSGFhdmFyZCBTa2lubmVtb2VuIDxoYWF2YXJkLnNraW5uZW1vZW5AYXRtZWwuY29tPgorCitjb21taXQgNTVhYzdhNzQ5MGI1NWRhNTY2NTlmOTVkODJhMGM4M2I5NzU2ZGYyNworQXV0aG9yOiBEYXZpZCBCcm93bmVsbCA8ZGF2aWQtYkBwYWNiZWxsLm5ldD4KK0RhdGU6CUZyaSBGZWIgMjIgMTI6NTQ6MzkgMjAwOCAtMDgwMAorCisgICAgYXZyMzI6IHN0azEwMDIgYW5kIG5ndzEwMCBjb252ZXJnZW5jZQorCisgICAgTWFrZSBTVEsxMDAyIGFuZCBOR1cxMDAgYm9hcmRzIGFjdCBtb3JlIGFsaWtlOgorICAgICAgLSBTVEsgYm9hcmRzIGNhbiB1c2UgYXMgbWFueSBhcmd1bWVudHMgYXMgTkdXCisgICAgICAtIFNUSyBib2FyZHMgZG9uJ3QgbmVlZCB0byBtYW5hZ2UgRlBHQXMgZWl0aGVyCisgICAgICAtIE5HVyBjb21tYW5kcyBzaG91bGQgbWF0Y2ggU1RLIG9uZXMKKworICAgIEFsc28gc3BlbGwgVS1Cb290IHJpZ2h0IGluIHByb21wdHMgZm9yIFNUSzEwMDIgYW5kIE5HVzEwMC4KKworICAgIFNpZ25lZC1vZmYtYnk6IERhdmlkIEJyb3duZWxsIDxkYnJvd25lbGxAdXNlcnMuc291cmNlZm9yZ2UubmV0PgorICAgIFtoYWF2YXJkLnNraW5uZW1vZW5AYXRtZWwuY29tOiB1cGRhdGUgU1RLMTAwWzM0XSBhcyB3ZWxsXQorICAgIFNpZ25lZC1vZmYtYnk6IEhhYXZhcmQgU2tpbm5lbW9lbiA8aGFhdmFyZC5za2lubmVtb2VuQGF0bWVsLmNvbT4KKworY29tbWl0IDVlMTg4MmRmNmEzZWZjN2RlNTUyNGQyOGNlYTRlY2RlN2QxNjNkNTQKK0F1dGhvcjogU2VyZ2VpIFBvc2VsZW5vdiA8c3Bvc2VsZW5vdkBlbWNyYWZ0LmNvbT4KK0RhdGU6CVR1ZSBNYXkgMjcgMTM6NDc6MDAgMjAwOCArMDIwMAorCisgICAgU29jcmF0ZXM6IEZpeCBQQ0kgYnVzIGZyZXF1ZW5jeSByZXBvcnQKKworICAgIFNpZ25lZC1vZmYtYnk6IFNlcmdlaSBQb3NlbGVub3YgPHNwb3NlbGVub3ZAZW1jcmFmdC5jb20+CisKK2NvbW1pdCA3OTFlMWRiYThkZTc2YWQ4ZTc2MmE3YmFkYjg2OWYyMjRhMWY4YjgyCitBdXRob3I6IFNlcmdlaSBQb3NlbGVub3YgPHNwb3NlbGVub3ZAZW1jcmFmdC5jb20+CitEYXRlOglUdWUgTWF5IDI3IDExOjQ5OjEzIDIwMDggKzAyMDAKKworICAgIFNvY3JhdGVzOiBBZGRlZCBVU0Igc3VwcG9ydC4KKworICAgIFNpZ25lZC1vZmYtYnk6IFNlcmdlaSBQb3NlbGVub3YgPHNwb3NlbGVub3ZAZW1jcmFmdC5jb20+CisKK2NvbW1pdCA1YTkwNGU1NjM3Y2ZmMWQ3MDhkYzY3MDk4MDA0ZjgzYmE5ZTg0YzU0CitBdXRob3I6IFNlcmdlaSBQb3NlbGVub3YgPHNwb3NlbGVub3ZAZW1jcmFmdC5jb20+CitEYXRlOglUdWUgTWF5IDI3IDExOjM1OjAyIDIwMDggKzAyMDAKKworICAgIFVTQjogYWRkIG5ldyBjb25maWd1cmF0aW9uIHZhcmlhYmxlIENPTkZJR19QQ0lfT0hDSV9ERVZOTworCisgICAgSW4gY2FzZSBvZiBzZXZlcmFsIFBDSSBVU0IgY29udHJvbGxlcnMgb24gYSBib2FyZCB0aGlzIHZhcmlhYmxlCisgICAgc3BlY2lmeXMgd2hpY2ggY29udHJvbGxlciB0byB1c2UuCisgICAgU2VlIGRvYy9SRUFETUUuZ2VuZXJpY191c2Jfb2hjaSBmb3IgZGV0YWlscy4KKworICAgIFNpZ25lZC1vZmYtYnk6IFNlcmdlaSBQb3NlbGVub3YgPHNwb3NlbGVub3ZAZW1jcmFmdC5jb20+CisKK2NvbW1pdCAyZjc0NjhhZWJhNjBlMTI4ODAzMGE4ZDAwN2M0ZTYzYmQzZjEzMjIxCitBdXRob3I6IFNlcmdlaSBQb3NlbGVub3YgPHNwb3NlbGVub3ZAZW1jcmFmdC5jb20+CitEYXRlOglUdWUgTWF5IDI3IDEwOjM2OjA3IDIwMDggKzAyMDAKKworICAgIFNvY3JhdGVzOiBhZGQgc3VwcG9ydCBmb3IgRFM3NSBEaWdpdGFsIFRoZXJtbyBTZW5zb3Igb24gSTJDIGJ1cy4KKworICAgIFNpZ25lZC1vZmYtYnk6IFNlcmdlaSBQb3NlbGVub3YgPHNwb3NlbGVub3ZAZW1jcmFmdC5jb20+CisKK2NvbW1pdCA4M2U5ZDdhMjYxNGQ0MDA2YjkyNjkwYWZhMzM5MGMyOTE3MzQyNjdlCitBdXRob3I6IFNlcmdlaSBQb3NlbGVub3YgPHNwb3NlbGVub3ZAZW1jcmFmdC5jb20+CitEYXRlOglNb24gTWF5IDI2IDE4OjE2OjA0IDIwMDggKzAyMDAKKworICAgIFNvY3JhdGVzOiBDb25maWcgZmlsZSBjbGVhbnVwLgorCisgICAgU2lnbmVkLW9mZi1ieTogU2VyZ2VpIFBvc2VsZW5vdiA8c3Bvc2VsZW5vdkBlbWNyYWZ0LmNvbT4KKworY29tbWl0IDYwMmNhYzEzODliNzU1YjIyMzI3MmYyMzI4YTQ3ZTZmOGMyNDA4NDgKK0F1dGhvcjogSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KK0RhdGU6CVNhdCBNYXkgMjQgMTI6NDc6NDYgMjAwOCArMDIwMAorCisgICAgTUFLRUFMTDogYWRkIGF0OTEgbGlzdAorCisgICAgU2lnbmVkLW9mZi1ieTogSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KKworY29tbWl0IDI5MGVmNjQzNjgzOGIxY2MwMTNiZDY3ZTBlMDQ5NWM5ZWIzZTIzYzAKK0F1dGhvcjogUm9uIE1hZHJpZCA8cm9uX21hZHJpZEBzYmNnbG9iYWwubmV0PgorRGF0ZToJRnJpIE1heSAyMyAxNTozNzowNSAyMDA4IC0wNzAwCisKKyAgICBBZGQgTWFydmVsbCA4OEUxMTE4IHN1cHBvcnQgZm9yIFRTRUMKKworICAgIFNpZ25lZC1vZmYtYnk6IFJvbiBNYWRyaWQgPHJvbl9tYWRyaWRAc2JjZ2xvYmFsLm5ldD4KKyAgICBTaWduZWQtb2ZmLWJ5OiBCZW4gV2FycmVuIDxiaWdnZXJiYWRkZXJiZW5AZ21haWwuY29tPgorCitjb21taXQgNTU3YjM3N2Q4YmZjOGI4MzNiNmU3NDk0NTdiY2RmYTI5ODMzMWEyNAorQXV0aG9yOiBKZW5zIEdlaHJsZWluIDxzZXdfc0B0cXMuZGU+CitEYXRlOglNb24gTWF5IDUgMTQ6MDY6MTEgMjAwOCArMDIwMAorCisgICAgc21jOTExeDogYWRkIDE2IGJpdCBzdXBwb3J0CisKKyAgICBTaWduZWQtb2ZmLWJ5OiBKZW5zIEdlaHJsZWluIDxzZXdfc0B0cXMuZGU+CisgICAgU2lnbmVkLW9mZi1ieTogQmVuIFdhcnJlbiA8YmlnZ2VyYmFkZGVyYmVuQGdtYWlsLmNvbT4KKworY29tbWl0IGM5MTgyNjFjNmQ5ZjI2NWY4OGJhZjcwZjhhNzNkZmU2ZjBjYjk1OTYKK0F1dGhvcjogQ2hyaXN0aWFuIEVnZ2VycyA8Y2VnZ2Vyc0BnbXguZGU+CitEYXRlOglXZWQgTWF5IDIxIDIyOjEyOjAwIDIwMDggKzAyMDAKKworICAgIFVTQjogcmVwbGFjZSBvbGQgc3dhcF8gd2l0aCBwcm9wZXIgZW5kaWFuZXNzIGNvbnZlcnNpb24gbWFjcm9zCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBDaHJpc3RpYW4gRWdnZXJzIDxjZWdnZXJzQGdteC5kZT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBNYXJrdXMgS2xvdHpidWVjaGVyIDxta0BkZW54LmRlPgorCitjb21taXQgZmI2MzkzOWI0ZmUxNDA4NDljZGJhNjlmOWU2NGEzZTBlMmYzY2UxYworQXV0aG9yOiBDaHJpc3RpYW4gRWdnZXJzIDxjZWdnZXJzQGdteC5kZT4KK0RhdGU6CVdlZCBNYXkgMjEgMjE6Mjk6MTAgMjAwOCArMDIwMAorCisgICAgRml4IGVuZGlhbmVzcyBjb252ZXJzaW9uIGluIHVzYl9vaGNpLmMKKworICAgIFNpZ25lZC1vZmYtYnk6IENocmlzdGlhbiBFZ2dlcnMgPGNlZ2dlcnNAZ214LmRlPgorICAgIFNpZ25lZC1vZmYtYnk6IE1hcmt1cyBLbG90emJ1ZWNoZXIgPG1rQGRlbnguZGU+CisKK2NvbW1pdCA0Nzc0MzRjNjNjMmVhNWJhYTVjNmM0ZTQzNTAwNzg2ZjQzNjUxMWZmCitBdXRob3I6IFNlcmdlaSBQb3NlbGVub3YgPHNwb3NlbGVub3ZAZW1jcmFmdC5jb20+CitEYXRlOglUaHUgTWF5IDIyIDAxOjE1OjUzIDIwMDggKzAyMDAKKworICAgIFVTQjogYWRkIHN1cHBvcnQgZm9yIG11bHRpcGxlIFBDSSBPSENJIGNvbnRyb2xsZXJzCisKKyAgICBBZGQgbmV3IGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgQ09ORklHX1BDSV9PSENJX0RFVk5PLgorICAgIEluIGNhc2Ugb2Ygc2V2ZXJhbCBQQ0kgVVNCIGNvbnRyb2xsZXJzIG9uIGEgYm9hcmQgdGhpcyB2YXJpYWJsZQorICAgIHNwZWNpZnlzIHdoaWNoIGNvbnRyb2xsZXIgdG8gdXNlLgorCisgICAgQWxzbyBhZGQgVVNCIHN1cHBvcnQgZm9yIHNva3JhdGVzIGJvYXJkLgorCisgICAgU2VlIGRvYy9SRUFETUUuZ2VuZXJpY191c2Jfb2hjaSBmb3IgZGV0YWlscy4KKworICAgIFNpZ25lZC1vZmYtYnk6IFNlcmdlaSBQb3NlbGVub3YgPHNwb3NlbGVub3ZAZW1jcmFmdC5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogTWFya3VzIEtsb3R6YnVlY2hlciA8bWtAZGVueC5kZT4KKworY29tbWl0IGNlNjc1NGRmNjFjYmUyM2I1YjczZDA5NWEwMGFjOWE4NTA0YjNkNzcKK0F1dGhvcjogV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KK0RhdGU6CVdlZCBNYXkgMjEgMTY6NTY6MDggMjAwOCArMDIwMAorCisgICAgRml4IHNvbWUgd2hpdGVzcGFjZSBpc3N1ZXMKKworICAgIGludHJvZHVjZWQgYnkgNTM2NzdlZjE4ICJCaWcgd2hpdGUtc3BhY2UgY2xlYW51cC4iCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorCitjb21taXQgNDQxNjYwM2FlYjA2ODYxYjQ2OGIwNmE5ODFlNTJjM2ZmODA1ZGI3YgorQXV0aG9yOiBZb3JrIFN1biA8eW9ya3N1bkBmcmVlc2NhbGUuY29tPgorRGF0ZToJTW9uIE1heSAxMiAxNDozNjozOSAyMDA4IC0wNTAwCisKKyAgICBNYWtlIGFkczUxMjEgb3V0LW9mLXRyZWUgY29tcGlsaW5nIHNhZmUKKworICAgIFJldXNlIHRoZSBleGlzdGluZyBESVUgZHJpdmVyIGluIGJvYXJkL2ZyZWVzY2FsZS9jb21tb24uCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBZb3JrIFN1biA8eW9ya3N1bkBmcmVlc2NhbGUuY29tPgorCitjb21taXQgMGUxYmFkNDdjZDM0NWM3NmM5MWE2NGNhZjQxMDExZTQzMWI2MjU5OQorQXV0aG9yOiBZb3JrIFN1biA8eW9ya3N1bkBmcmVlc2NhbGUuY29tPgorRGF0ZToJTW9uIE1heSA1IDEwOjIwOjAxIDIwMDggLTA1MDAKKworICAgIEFkZGluZyBESVUgc3VwcG9ydCBmb3IgRnJlZXNjYWxlIDUxMjFBRFMKKworICAgIEFkZCBESVUgYW5kIGNmYiBjb25zb2xlIHN1cHBvcnQgdG8gRlNMIDUxMjFBRFMgYm9hcmQuCisKKyAgICBVc2UgI2RlZmluZSBDT05GSUdfVklERU8gaW4gY29uZmlnIGZpbGUgdG8gZW5hYmxlIGZiIGNvbnNvbGUuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBZb3JrIFN1biA8eW9ya3N1bkBmcmVlc2NhbGUuY29tPgorCitjb21taXQgYTQ4ZmY2OGQyMzVlNjcxMTc2ZjZiNDk2YzQ0MjQ2ZGJlNWUwYTkzZgorQXV0aG9yOiBZb3JrIFN1biA8eW9ya3N1bkBmcmVlc2NhbGUuY29tPgorRGF0ZToJTW9uIE1heSA1IDEwOjIwOjAwIDIwMDggLTA1MDAKKworICAgIFJlcGxhY2UgRFBSSU5URiB3aXRoIGRlYnVnCisKKyAgICBSZW1vdmUgRFBSSU5URiBtYWNybyBhbmQgcmVwbGFjZSBpdCB3aXRoIGdlbmVyaWMgZGVidWcgbWFjcm8uCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBZb3JrIFN1biA8eW9ya3N1bkBmcmVlc2NhbGUuY29tPgorCitjb21taXQgM2I4MGM1ZjU3NGFkN2Y2ZTFjNTVhNjhmNDI3NTJiNDI3ZmRmNzc4ZAorQXV0aG9yOiBZb3JrIFN1biA8eW9ya3N1bkBmcmVlc2NhbGUuY29tPgorRGF0ZToJTW9uIE1heSA1IDEwOjE5OjU5IDIwMDggLTA1MDAKKworICAgIE1vdmUgcGl4ZWwgY2xvY2sgc2V0dGluZyB0byBib2FyZCBmaWxlCisKKyAgICBUaGUgY2xvY2sgZGl2aWRlciBoYXMgZGlmZmVyZW50IGZvcm1hdCBpbiA1MTIxIGFuZCA4NjEwLiBUaGlzIHBhdGNoIG1vdmVzIGl0IHRvCisgICAgYm9hcmQgc3BlY2lmaWMgY29kZS4KKworICAgIFNpZ25lZC1vZmYtYnk6IFlvcmsgU3VuIDx5b3Jrc3VuQGZyZWVzY2FsZS5jb20+CisKK2NvbW1pdCA1MzY3N2VmMThlMjVjOTdhYzYxMzM0OTA4N2M1Y2IzM2FlNWEyNzQxCitBdXRob3I6IFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CitEYXRlOglUdWUgTWF5IDIwIDE2OjAwOjI5IDIwMDggKzAyMDAKKworICAgIEJpZyB3aGl0ZS1zcGFjZSBjbGVhbnVwLgorCisgICAgVGhpcyBjb21taXQgZ2V0cyByaWQgb2YgYSBodWdlIGFtb3VudCBvZiBzaWxseSB3aGl0ZS1zcGFjZSBpc3N1ZXMuCisgICAgRXNwZWNpYWxseSwgYWxsIHNlcXVlbmNlcyBvZiBTUEFDRXMgZm9sbG93ZWQgYnkgVEFCIGNoYXJhY3RlcnMgZ2V0CisgICAgcmVtb3ZlZCAodW5sZXNzIHRoZXkgYXBwZWFyIGluIHByaW50IHN0YXRlbWVudHMpLgorCisgICAgQWxzbyByZW1vdmUgYWxsIGVtYmVkZGVkICJ2aW06IiBhbmQgInZpOiIgc3RhdGVtZW50cyB3aGljaCBoaWRlCisgICAgaW5kZW50YXRpb24gcHJvYmxlbXMuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorCitjb21taXQgMmY4NDVkYzJiZGY0NjFiZmVlOWZhMjU4MjNmNzY5ZjVkYjllYmEwYgorQXV0aG9yOiBTZXJnZWkgUG9zZWxlbm92IDxzcG9zZWxlbm92QGVtY3JhZnQuY29tPgorRGF0ZToJVGh1IE1heSA4IDE3OjQ2OjIzIDIwMDggKzAyMDAKKworICAgIHNvY3JhdGVzOiBmaXggc2Vjb25kIFRTRUMgY29uZmlndXJhdGlvbiAoaXQgaXMgYWN0dWFsbHkgVFNFQzMpCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTZXJnZWkgUG9zZWxlbm92IDxzcG9zZWxlbm92QGVtY3JhZnQuY29tPgorCitjb21taXQgNzkzNjcwYzNjMGYwZjcyY2FlYWQ2MmYwYmU5ZmMzZDlmYmM2MDYwZgorQXV0aG9yOiBTZXJnZWkgUG9zZWxlbm92IDxzcG9zZWxlbm92QGVtY3JhZnQuY29tPgorRGF0ZToJVGh1IE1heSA4IDE0OjE3OjA4IDIwMDggKzAyMDAKKworICAgIEZpeGVkIHJlc2V0IGZvciBzb2NyYXRlcworCisgICAgU2lnbmVkLW9mZi1ieTogU2VyZ2VpIFBvc2VsZW5vdiA8c3Bvc2VsZW5vdkBlbWNyYWZ0LmNvbT4KKworY29tbWl0IGUxODU3NWQ1ZjU4OWE2MmUxOWM3MGQ0NzFkNGI0ZTI3Y2FkM2FmNTYKK0F1dGhvcjogU2VyZ2VpIFBvc2VsZW5vdiA8c3Bvc2VsZW5vdkBlbWNyYWZ0LmNvbT4KK0RhdGU6CVdlZCBNYXkgNyAxNToxMDo0OSAyMDA4ICswMjAwCisKKyAgICBzb2NyYXRlczogY2hhbmdlcyB0byBzdXBwb3J0IEZEVAorCisgICAgU2lnbmVkLW9mZi1ieTogU2VyZ2VpIFBvc2VsZW5vdiA8c3Bvc2VsZW5vdkBlbWNyYWZ0LmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorCitjb21taXQgNWQxMDhhYzhmNDM1OTI0YzYyNGNkNmFhYWNkNDRmMzVmNWNmOTRjMAorQXV0aG9yOiBTZXJnZWkgUG9zZWxlbm92IDxzcG9zZWxlbm92QGVtY3JhZnQuY29tPgorRGF0ZToJV2VkIEFwciAzMCAxMTo0Mjo1MCAyMDA4ICswMjAwCisKKyAgICBJbml0aWFsIHN1cHBvcnQgZm9yICJTb2NyYXRlcyIgYm9hcmQKKworICAgIFNpZ25lZC1vZmYtYnk6IFNlcmdlaSBQb3NlbGVub3YgPHNwb3NlbGVub3ZAZW1jcmFmdC5jb20+CisKK2NvbW1pdCAwZTE1ZGRkMTFmMWE4NGM0NjVlNDM0ZWIwNTFkMmVmMDhlZjAyYjliCitBdXRob3I6IFl1cmkgVGlraG9ub3YgPHl1ckBlbWNyYWZ0LmNvbT4KK0RhdGU6CVRodSBNYXkgOCAxNTo0Njo0MiAyMDA4ICswMjAwCisKKyAgICBQT1NUOiByZXBsYWNlIHRoZSBMT0dCVUZGX0lOSVRJQUxJWkVEIGZsYWcgaW4gZ2QtPnBvc3RfbG9nX3dvcmQgKDEgPDwgMzEpIHdpdGggdGhlIEdEX0ZMR19MT0dJTklUIGZsYWcgaW4gZ2QtPmZsYWdzLgorCisgICAgVGhpcyB3YXkgd2UgYmVjb21lIGFibGUgdG8gdXRpbGl6ZSB0aGUgZnVsbCBwb3N0X2xvZ193b3JkIGZvciBQT1NUCisgICAgYWN0aXZpdGllcyAob3Zlcndpc2UsIFBPU1QgRUNDLCB3aGljaCBoYXMgMHg4MDAwIElELCBjb3VsZCBiZQorICAgIGVycm9uZW91c2x5IHRyZWF0ZWQgYXMgc3RhcnRlZCBpbiBwb3N0X291dHB1dF9iYWNrbG9nKCkgZXZlbiBpZiB0aGVyZQorICAgIHdhcyBhY3R1YWxseSBubyBQT1NUIEVDQyBydW4gKGJlY2F1c2Ugb2YgT0NNIFBPU1QgZmFpbHVyZSwgZm9yCisgICAgZXhhbXBsZSkuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBZdXJpIFRpa2hvbm92IDx5dXJAZW1jcmFmdC5jb20+CisKK2NvbW1pdCA3ODQ1ZDQ5MDk0YzgxMzIxMDIxYjUwYTRkYmI4ODY0ZDJmMzc3N2U0CitBdXRob3I6IFl1cmkgVGlraG9ub3YgPHl1ckBlbWNyYWZ0LmNvbT4KK0RhdGU6CVRodSBNYXkgOCAxNTo0NjowMiAyMDA4ICswMjAwCisKKyAgICBQT1NUOiBtYXJrIE9DTSB0ZXN0IGFzIFBPU1RfU1RPUAorCisgICAgU2lnbmVkLW9mZi1ieTogSWx5YSBZYW5vayA8eWFub2tAZW1jcmFmdC5jb20+CisKK2NvbW1pdCAyOGEzODUwNjU4ODJkNmNiNmFjNWY0NDMzMTFmZjg3ODg3ZWQ3YzEzCitBdXRob3I6IFl1cmkgVGlraG9ub3YgPHl1ckBlbWNyYWZ0LmNvbT4KK0RhdGU6CVRodSBNYXkgOCAxNTo0NToyNiAyMDA4ICswMjAwCisKKyAgICBQT1NUOiBhZGQgUE9TVF9TVE9QIGZsYWcKKworICAgIERvbid0IHJ1biBmdXRoZXIgdGVzdHMgaW4gY2FzZSBvZiBhIHRlc3QgZmFpbHMgdGhhdCBpcyBtYXJrZWQgYXMKKyAgICBQT1NUX1NUT1AuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBJbHlhIFlhbm9rIDx5YW5va0BlbWNyYWZ0LmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBZdXJpIFRpa2hvbm92IDx5dXJAZW1jcmFmdC5jb20+CisKK2NvbW1pdCBhNTI1MTQ1ZDgxMTBkMTViNDM4OWQyM2MzZWE4YTc4ZjIyNTA5ZDNmCitBdXRob3I6IFl1cmkgVGlraG9ub3YgPHl1ckBlbWNyYWZ0LmNvbT4KK0RhdGU6CVRodSBNYXkgOCAxNTo0NDoxNiAyMDA4ICswMjAwCisKKyAgICBQT1NUOiBzd2l0Y2ggQ0ZHX1BPU1RfT0NNIHdpdGggQ0ZHX1BPU1RfQ09ERUMgKHdvcmthcm91bmQpCisKKyAgICBTd2l0Y2ggdGhlIE9DTSB0ZXN0aWQgd2l0aCB0aGUgY29kZWMgb25lLiBUaGUgcmVhc29uIGlzIHRoYXQgY3VycmVudAorICAgIGltcGxlbWVudGF0aW9uIHJlcXVpcmVzIHRoZSBQT1NUX1JPTSB0ZXN0aWQgdG8gZml0IGludG8gbG93ZXIgMTYKKyAgICBiaXRzLCBhbmQgdGhlIGNvZGVjIHRlc3Qgd2lsbCBuZXZlciBydW4gd2l0aCBQT1NUX1JPTSBob3BlZnVsbHkuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBJbHlhIFlhbm9rIDx5YW5va0BlbWNyYWZ0LmNvbT4KKworY29tbWl0IDhiOTZjNzg4ZDU4ZjdjYjg1YTg5ZWUzZjE5YzliMzM1ZDIyNDQzY2QKK0F1dGhvcjogWXVyaSBUaWtob25vdiA8eXVyQGVtY3JhZnQuY29tPgorRGF0ZToJVGh1IE1heSA4IDE1OjQzOjI4IDIwMDggKzAyMDAKKworICAgIGx3bW9uNTogZW5hYmxlIE9DTSBwb3N0IHRlc3Qgb24gbHdtb241IGJvYXJkCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBJbHlhIFlhbm9rIDx5YW5va0BlbWNyYWZ0LmNvbT4KKworY29tbWl0IDZlOGVjNjgyMjY4NDkzYjhkMDk4Zjk5ZTE3YjFjZTcxYjQ0NDg5NzcKK0F1dGhvcjogWXVyaSBUaWtob25vdiA8eXVyQGVtY3JhZnQuY29tPgorRGF0ZToJVGh1IE1heSA4IDE1OjQyOjQ3IDIwMDggKzAyMDAKKworICAgIFBPU1Q6IE9DTSB0ZXN0IGFkZGVkLgorCisgICAgQWRkZWQgT0NNIHRlc3QgdG8gUE9TVCBsYXllci4gVGhpcyB2ZXJzaW9uIHJ1bnMgYmVmb3JlIGFsbCBvdGhlciB0ZXN0cworICAgIGJ1dCBkb2Vzbid0IHlldCBpbnRlcnJ1cHQgcG9zdCBzZXF1ZW5jZSBvbiBmYWlsdXJlLgorCisgICAgU2lnbmVkLW9mZi1ieTogSWx5YSBZYW5vayA8eWFub2tAZW1jcmFmdC5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogWXVyaSBUaWtob25vdiA8eXVyQGVtY3JhZnQuY29tPgorCitjb21taXQgNjg5MTI2MGJkZDkzNWEzODJjOTVkOWZhMzMzOTIyYjBkZmRlZDY4YQorQXV0aG9yOiBZdXJpIFRpa2hvbm92IDx5dXJAZW1jcmFmdC5jb20+CitEYXRlOglUaHUgTWF5IDggMTU6NDA6MzkgMjAwOCArMDIwMAorCisgICAgUE9TVDogdHlwbyBmaXgKKworICAgIFNpZ25lZC1vZmYtYnk6IElseWEgWWFub2sgPHlhbm9rQGVtY3JhZnQuY29tPgorCitjb21taXQgNzI3ZjYzMzM0Njc2ZTc2MDg3N2Q0M2JmYjhmMGU5MzMxYWM4YjEwMQorQXV0aG9yOiBIZWJiYXIgPGd1cnVyYWpha3JAc2FueW8uY28uaW4+CitEYXRlOglUdWUgTWF5IDIwIDAyOjE2OjM2IDIwMDggLTA3MDAKKworICAgIGNvbW1vbi91c2IuYzogZml4IGluY29ycmVjdCBlc2NhcGUgc2VxdWVuY2UKKworICAgIFNpZ25lZCBvZmYgYnk6IEd1cnVyYWphIEhlYmJhciA8Z3VydXJhamFrckBzYW55by5jby5pbj4KKworY29tbWl0IDRjZTFlMjNiNWUxMjI4MzU3OTgyOGIzZDIzZThmZDZlMTMyOGE3YWEKK0F1dGhvcjogWW9yayBTdW4gPHlvcmtzdW5AZnJlZXNjYWxlLmNvbT4KK0RhdGU6CVRodSBNYXkgMTUgMTU6MjY6MjcgMjAwOCAtMDUwMAorCisgICAgRml4IDgzMTNFUkRCIGJvYXJkIGNvbmZpZ3VyYXRpb24KKworICAgIENoYW5nZSBMQ1JSIGNsb2NrIHJhdGlvIGZyb20gMiB0byA0IHRvIGNvbW1vZGF0ZSBWU0M3Mzg1LgorICAgIENvcnJlY3QgVFNFQzEgdnMgVFNFQzIgYXNzaWdubWVudC4KKyAgICBEZWZpbmUgRVRIQUREUiBhbmQgRVRIMUFERFIgYWx3YXlzLgorCisgICAgU2lnbmVkLW9mZi1ieTogWW9yayBTdW4gPHlvcmtzdW5AZnJlZXNjYWxlLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBUaW11ciBUYWJpIDx0aW11ckBmcmVlc2NhbGUuY29tPgorCitjb21taXQgMmMyODllMzIwZGNmYjM3NjBlOTljZjFkNzY1Y2IwNjcxOTRhMTIwMgorQXV0aG9yOiBKb24gTG9lbGlnZXIgPGpkbEBmcmVlc2NhbGUuY29tPgorRGF0ZToJTW9uIE1heSAxOSAwOTo0NzoyNSAyMDA4IC0wNTAwCisKKyAgICBtcGM4Nnh4OiBSZW1vdmVkIHVudXNlZCBhbmQgdW5jb25maWd1cmVkIG1lbW9yeSB0ZXN0IGNvZGUuCisKKyAgICBCZXNpZGVzLCBvdGhlciBjb21tb24gY29kZSBleGlzdHMuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBKb24gTG9lbGlnZXIgPGpkbEBmcmVlc2NhbGUuY29tPgorCitjb21taXQgMTgwYTkwYWJkYWU3MjU4N2MwZjY3OWVkZjg5OTE0NTVlNTU5NDQwZAorQXV0aG9yOiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorRGF0ZToJTW9uIE1heSAxOSAxMjo0NzoxMSAyMDA4ICswMjAwCisKKyAgICBSZWxlYXNlIHYxLjMuMworCisgICAgVXBkYXRlIENIQU5HRUxPRyBmb3IgcmVsZWFzZS4KKworICAgIFNpZ25lZC1vZmYtYnk6IFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CisKIGNvbW1pdCAxNmJlZGM2NjFkZTBkYWU3NjdiMTM3N2Q4NDEzMzczYTNmYmNmYTc5CiBBdXRob3I6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KIERhdGU6CU1vbiBNYXkgMTkgMDc6MTQ6MzggMjAwOCArMDIwMApAQCAtODgsNiArMzEwNCwxNyBAQAogCiAgICAgU2lnbmVkLW9mZi1ieTogV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KIAorY29tbWl0IDBjMTE5MzVjZDYyY2ExZjY1ZWViMjI4ZmY0Yzg0ODQ0MGQ0NTUzYmYKK0F1dGhvcjogR2FyeSBKZW5uZWpvaG4gPGdhcnlqQGRlbnguZGU+CitEYXRlOglXZWQgTWF5IDE0IDEzOjM5OjIyIDIwMDggKzAyMDAKKworICAgIHBwYzR4eDogUVVBRDEwMEhEOiBBbGxvdyB0aGUgZW52aXJvbm1lbnQgdG8gYmUgcHV0IGludG8gZmxhc2guCisKKyAgICBBZnRlciBtb3ZpbmcgVEVYVF9CQVNFIHRoZSB2YWx1ZSBmb3IgQ0ZHX0VOVl9BRERSIHdhcyBpbmNvcnJlY3QuICBBbHNvCisgICAgdXNlIGEgcmVkdW5kYW50IGVudmlyb25tZW50LgorCisgICAgU2lnbmVkLW9mZi1ieTogR2FyeSBKZW5uZWpvaG4gPGdhcnlqQGRlbnguZGU+CisKIGNvbW1pdCBjZGEyYTRhOTk2MWZkNDM0MWI3ZGIzMDVjYjIyZmMwNTk1N2U4Yjc3CiBBdXRob3I6IFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CiBEYXRlOglXZWQgTWF5IDE0IDEzOjU1OjMwIDIwMDggKzAyMDAKQEAgLTE2Niw2ICszMTkzLDE5IEBACiAKICAgICBTaWduZWQtb2ZmLWJ5OiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgogCitjb21taXQgNTQ2OTRhOTE0MjhmNmMzMjgwZmUxZWUwOTIzNDg4YTFlN2U4ZGJjNAorQXV0aG9yOiBTdGVsaWFuIFBvcCA8c3RlbGlhbkBwb3BpZXMubmV0PgorRGF0ZToJVHVlIE1heSAxMyAxNzozMToyNCAyMDA4ICswMjAwCisKKyAgICBDbGVhbnVwIG5hbmRfaW5mb1tdIGRlY2xhcmF0aW9uLgorCisgICAgVGhlIG5hbmRfaW5mbyBhcnJheSBpcyBkZWNsYXJlZCBhcyBleHRlcm4gaW4gc2V2ZXJhbCAuYyBmaWxlcy4KKyAgICBUaG9zZSBkYXlzLCBuYW5kLmggY29udGFpbnMgYSByZWZlcmVuY2UgdG8gdGhlIGFycmF5LCBzbyB0aGVyZSBpcworICAgIG5vIG5lZWQgdG8gZGVjbGFyZSBpdCBlbHNld2hlcmUuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTdGVsaWFuIFBvcCA8c3RlbGlhbkBwb3BpZXMubmV0PgorICAgIFNpZ25lZC1vZmYtYnk6IEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+CisKIGNvbW1pdCA3MGZhYjE5MDhmYzE3MzRhNDAzNzExZWFhYmJlZjU0NmJjNGI3N2RjCiBBdXRob3I6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KIERhdGU6CVR1ZSBNYXkgMTMgMjA6MjI6MDEgMjAwOCArMDIwMApAQCAtMjIxLDYgKzMyNjEsMzA4IEBACiAKICAgICBTaWduZWQtb2ZmLWJ5OiBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxhZ25pb2pAamNyb3NvZnQuY29tPgogCitjb21taXQgNjdlM2JlYjUyYzMyMGIwYTMxY2YwMzA3MTZjOTkzOTJjZGUyZDUzMgorQXV0aG9yOiBTdGVsaWFuIFBvcCA8c3RlbGlhbkBwb3BpZXMubmV0PgorRGF0ZToJRnJpIE1heSA5IDIxOjQ2OjUxIDIwMDggKzAyMDAKKworICAgIEFUOTE6IENsZWFudXAgdW51c2VkIGNvbmZpZyBoZWFkZXIgZmlsZSBkZWZpbml0aW9ucy4KKworICAgIENPTkZJR19FTlZfT1ZFUldSSVRFIGlzIGNvbW1lbnRlZCBvdXQgaW4gdGhlIGNvbmZpZyBoZWFkZXIgZmlsZXMsCisgICAgc28gbGV0J3MgY2xlYW51cCB0aGUgZmlsZXMgYnkgcmVtb3ZpbmcgdGhlIHdob2xlIGRlZmluaXRpb24uCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTdGVsaWFuIFBvcCA8c3RlbGlhbkBwb3BpZXMubmV0PgorICAgIFNpZ25lZC1vZmYtYnk6IEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+CisKK2NvbW1pdCAxOTg4M2FlZGUyYWMwYTUyMjQ5M2JmYjJiMzVhN2RiYjIwMDA3MWIxCitBdXRob3I6IFN0ZWxpYW4gUG9wIDxzdGVsaWFuQHBvcGllcy5uZXQ+CitEYXRlOglUaHUgTWF5IDggMTQ6NTI6MzQgMjAwOCArMDIwMAorCisgICAgU3VwcG9ydCBBVDkxQ0FQOSByZXZDIENQVXMKKworICAgIFRoZSBBVDkxQ0FQOSByZXZDIENQVSBoYXMgYSBmZXcgZGlmZmVyZW5jZXMgb3ZlciB0aGUgcHJldmlvdXMsCisgICAgcmV2QiBDUFUgd2hpY2ggd2FzIGRpc3RyaWJ1dGVkIGluIHNtYWxsIHF1YW50aXRpZXMgb25seSAocmV2QSB3YXMKKyAgICBhbiBpbnRlcm5hbCBBdG1lbCBwcm9kdWN0IG9ubHkpLgorCisgICAgVGhlIHJldkMgc2lsaWNvbiBuZWVkcyBhIHNwZWNpYWwgaW5pdGlhbGlzYXRpb24gc2VxdWVuY2UgdG8KKyAgICBzd2l0Y2ggZnJvbSB0aGUgaW50ZXJuYWwgKGltcHJlY2lzZSkgUkMgb3NjaWxsYXRvciB0byB0aGUKKyAgICBleHRlcm5hbCAzMmsgY2xvY2suCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTdGVsaWFuIFBvcCA8c3RlbGlhbkBwb3BpZXMubmV0PgorICAgIFNpZ25lZC1vZmYtYnk6IEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+CisKK2NvbW1pdCAwOThiN2I0YjQ0MWIxMmMyYTY0ZGQ1MTc5MzBmNDNjNzkzNTQyNzU5CitBdXRob3I6IFN0ZWxpYW4gUG9wIDxzdGVsaWFuQHBvcGllcy5uZXQ+CitEYXRlOglUaHUgTWF5IDggMTQ6NTI6MzMgMjAwOCArMDIwMAorCisgICAgVXNlIGN1c3RvbSBsb2dvIGZvciBBdG1lbCBib2FyZHMKKworICAgIFRoaXMgcGF0Y2ggYWRkcyBhIGN1c3RvbSB2ZW5kb3IgbG9nbyBmb3IgdGhlIEF0bWVsIEFUOTEgYm9hcmRzLgorCisgICAgU2lnbmVkLW9mZi1ieTogU3RlbGlhbiBQb3AgPHN0ZWxpYW5AcG9waWVzLm5ldD4KKyAgICBTaWduZWQtb2ZmLWJ5OiBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxhZ25pb2pAamNyb3NvZnQuY29tPgorCitjb21taXQgNzYxYzcwYjgwY2RkM2JlYWQ0MDE0NmI5NmE4ZTcxM2Q2YWUwMTYzMgorQXV0aG9yOiBTdGVsaWFuIFBvcCA8c3RlbGlhbkBwb3BpZXMubmV0PgorRGF0ZToJVGh1IE1heSA4IDE0OjUyOjMyIDIwMDggKzAyMDAKKworICAgIEFUOTFTQU05UkxFSzogaG9vayB1cCB0aGUgQVRNRUwgTENEIGRyaXZlcgorCisgICAgVGhpcyBwYXRjaCBtYWtlcyB0aGUgbmVjZXNzYXJ5IGFkYXB0YXRpb25zIChQSU8gY29uZmlndXJhdGlvbnMgYW5kCisgICAgZGVmaW5lcyBpbiBjb25maWcgaGVhZGVyIGZpbGUpIHRvIGhvb2sgdXAgdGhlIEF0bWVsIExDRCBkcml2ZXIgdG8gdGhlCisgICAgQVQ5MVNBTTlSTEVLIGJvYXJkLgorCisgICAgU2lnbmVkLW9mZi1ieTogU3RlbGlhbiBQb3AgPHN0ZWxpYW5AcG9waWVzLm5ldD4KKyAgICBTaWduZWQtb2ZmLWJ5OiBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxhZ25pb2pAamNyb3NvZnQuY29tPgorCitjb21taXQgNTZhMjQ3OWNkN2ZlY2FiZGQ5MTM0OGE3NzViMjgwMWRkMmU2NWM3ZgorQXV0aG9yOiBTdGVsaWFuIFBvcCA8c3RlbGlhbkBwb3BpZXMubmV0PgorRGF0ZToJVGh1IE1heSA4IDE0OjUyOjMxIDIwMDggKzAyMDAKKworICAgIEFUOTFTQU05MjYzRUs6IGhvb2sgdXAgdGhlIEFUTUVMIExDRCBkcml2ZXIKKworICAgIFRoaXMgcGF0Y2ggbWFrZXMgdGhlIG5lY2Vzc2FyeSBhZGFwdGF0aW9ucyAoUElPIGNvbmZpZ3VyYXRpb25zIGFuZAorICAgIGRlZmluZXMgaW4gY29uZmlnIGhlYWRlciBmaWxlKSB0byBob29rIHVwIHRoZSBBdG1lbCBMQ0QgZHJpdmVyIHRvIHRoZQorICAgIEFUOTFTQU05MjYzRUsgYm9hcmQuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTdGVsaWFuIFBvcCA8c3RlbGlhbkBwb3BpZXMubmV0PgorICAgIFNpZ25lZC1vZmYtYnk6IEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+CisKK2NvbW1pdCA4MjBmMmE5NTgzMjUwNjFhNDQ2MTE1ZjMwMzVlNDhlNDcyNmIzMzkwCitBdXRob3I6IFN0ZWxpYW4gUG9wIDxzdGVsaWFuQHBvcGllcy5uZXQ+CitEYXRlOglUaHUgTWF5IDggMTQ6NTI6MzAgMjAwOCArMDIwMAorCisgICAgQVQ5MVNBTTkyNjFFSzogaG9vayB1cCB0aGUgQVRNRUwgTENEIGRyaXZlcgorCisgICAgVGhpcyBwYXRjaCBtYWtlcyB0aGUgbmVjZXNzYXJ5IGFkYXB0YXRpb25zIChQSU8gY29uZmlndXJhdGlvbnMgYW5kCisgICAgZGVmaW5lcyBpbiBjb25maWcgaGVhZGVyIGZpbGUpIHRvIGhvb2sgdXAgdGhlIEF0bWVsIExDRCBkcml2ZXIgdG8gdGhlCisgICAgQVQ5MVNBTTkyNjFFSyBib2FyZC4KKworICAgIFNpZ25lZC1vZmYtYnk6IFN0ZWxpYW4gUG9wIDxzdGVsaWFuQHBvcGllcy5uZXQ+CisgICAgU2lnbmVkLW9mZi1ieTogSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KKworY29tbWl0IGMxMzliMTdkMjBjODM3MWMxZTBhOGQ3ZmIyN2MxMTA1MGNmODYzMDQKK0F1dGhvcjogU3RlbGlhbiBQb3AgPHN0ZWxpYW5AcG9waWVzLm5ldD4KK0RhdGU6CVRodSBNYXkgOCAxNDo1MjoyOSAyMDA4ICswMjAwCisKKyAgICBBVDkxQ0FQOUFESzogaG9vayB1cCB0aGUgQVRNRUwgTENEIGRyaXZlcgorCisgICAgVGhpcyBwYXRjaCBtYWtlcyB0aGUgbmVjZXNzYXJ5IGFkYXB0YXRpb25zIChQSU8gY29uZmlndXJhdGlvbnMgYW5kCisgICAgZGVmaW5lcyBpbiBjb25maWcgaGVhZGVyIGZpbGUpIHRvIGhvb2sgdXAgdGhlIEF0bWVsIExDRCBkcml2ZXIgdG8gdGhlCisgICAgQVQ5MUNBUDlBREsgYm9hcmQuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTdGVsaWFuIFBvcCA8c3RlbGlhbkBwb3BpZXMubmV0PgorICAgIFNpZ25lZC1vZmYtYnk6IEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+CisKK2NvbW1pdCAzOWNmNDgwNDg0ZmNjZTVjMDRhNTkwZWUxYzMwYmUwYzE3YjAyYzM0CitBdXRob3I6IFN0ZWxpYW4gUG9wIDxzdGVsaWFuQHBvcGllcy5uZXQ+CitEYXRlOglGcmkgTWF5IDkgMjE6NTc6MTggMjAwOCArMDIwMAorCisgICAgQWRkIEFUTUVMIExDRCBkcml2ZXIKKworICAgIFRoaXMgcGF0Y2ggYWRkcyBzdXBwb3J0IGZvciB0aGUgQVRNRUwgTENEQyBkcml2ZXIgd2hpY2ggaXMgdXNlZCBvbiBzb21lCisgICAgQVQ5MSBhbmQgQVZSIHBsYXRmb3Jtcy4KKworICAgIElzIGhhcyBiZWVuIHRlc3RlZCB3aXRoIHRoZSBBVDkxQ0FQOUFESywgQVQ5MVNBTTkyNjFFSywgQVQ5MVNBTTkyNjNFSyBhbmQKKyAgICBBVDkxU0FNOVJMRUsgYm9hcmRzLiBBZGFwdGF0aW9uIGZvciBBVlIzMiBzaG91bGQgcHJvYmFibHkgYmUgZWFzeS4KKworICAgIFNpZ25lZC1vZmYtYnk6IFN0ZWxpYW4gUG9wIDxzdGVsaWFuQHBvcGllcy5uZXQ+CisgICAgU2lnbmVkLW9mZi1ieTogSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KKworY29tbWl0IDIxMThlYmI0NGRjNDBmODExN2M5NDk1MGZkOTU3OTlhOWVmODIxYjIKK0F1dGhvcjogU3RlbGlhbiBQb3AgPHN0ZWxpYW5AcG9waWVzLm5ldD4KK0RhdGU6CVRodSBNYXkgOCAxODo1MjoyNSAyMDA4ICswMjAwCisKKyAgICBBVDkxU0FNOVJMRUsgc3VwcG9ydAorCisgICAgVGhpcyBwYXRjaCBhZGRzIHN1cHBvcnQgZm9yIHRoZSBBVDkxU0FNOVJMIGNoaXAgYW5kIHRoZSBBVDkxU0FNOVJMRUsKKyAgICBib2FyZC4KKworICAgIFNpZ25lZC1vZmYtYnk6IFN0ZWxpYW4gUG9wIDxzdGVsaWFuQHBvcGllcy5uZXQ+CisgICAgU2lnbmVkLW9mZi1ieTogSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KKworY29tbWl0IDhlNDI5YjNlZWUyMzkyN2MxMjIyNjc5ZjZiNmY1MzY2N2IyMTU5NWMKK0F1dGhvcjogU3RlbGlhbiBQb3AgPHN0ZWxpYW5AcG9waWVzLm5ldD4KK0RhdGU6CVRodSBNYXkgOCAxODo1MjoyMyAyMDA4ICswMjAwCisKKyAgICBBVDkxU0FNOTI2M0VLIHN1cHBvcnQKKworICAgIFRoaXMgcGF0Y2ggYWRkcyBzdXBwb3J0IGZvciB0aGUgQVQ5MVNBTTkyNjMgY2hpcCBhbmQgdGhlIEFUOTFTQU05MjYzRUsKKyAgICBib2FyZC4KKworICAgIFNpZ25lZC1vZmYtYnk6IFN0ZWxpYW4gUG9wIDxzdGVsaWFuQHBvcGllcy5uZXQ+CisgICAgU2lnbmVkLW9mZi1ieTogSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KKworY29tbWl0IGQ5OWE4ZmY2NmQ4YWU4N2U1Yzg3NTkwZWQyZTRlYWQ2Mjk1NDA2MDcKK0F1dGhvcjogU3RlbGlhbiBQb3AgPHN0ZWxpYW5AcG9waWVzLm5ldD4KK0RhdGU6CVRodSBNYXkgOCAyMDo1MjoyMiAyMDA4ICswMjAwCisKKyAgICBBVDkxU0FNOTI2MUVLIHN1cHBvcnQKKworICAgIFRoaXMgcGF0Y2ggYWRkcyBzdXBwb3J0IGZvciB0aGUgQVQ5MVNBTTkyNjEgY2hpcCBhbmQgdGhlIEFUOTFTQU05MjYxRUsKKyAgICBib2FyZC4KKworICAgIFNpZ25lZC1vZmYtYnk6IFN0ZWxpYW4gUG9wIDxzdGVsaWFuQHBvcGllcy5uZXQ+CisgICAgU2lnbmVkLW9mZi1ieTogSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KKworY29tbWl0IDg2YzhjOGE0MTQ5ODhjNTAxMDRhM2IwMmMyOWY1MGFmMmJlNzM4YzAKK0F1dGhvcjogU3RlbGlhbiBQb3AgPHN0ZWxpYW5AcG9waWVzLm5ldD4KK0RhdGU6CVRodSBNYXkgOCAyMDo1MjoyMSAyMDA4ICswMjAwCisKKyAgICBBVDkxU0FNOTI2MEVLOiBGaXggZGF0YWZsYXNoIG9mZnNldHMgaW4gQ09ORklHX0JPT1RDT01NQU5ECisKKyAgICBUaGlzIHBhdGNoIGZpeGVzIHRoZSBkYXRhZmxhc2ggb2Zmc2V0cyB1c2VkIGluIENPTkZJR19CT09UQ09NTUFORAorICAgIGluIG9yZGVyIHRvIGNvcGUgd2l0aCB0aGUgY2hhbmdlcyBpbiBEYXRhRmxhc2ggcGFydGl0aW9ubmluZyBzY2hlbWUKKyAgICAoY3NldCBjM2E2MGNiMykuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTdGVsaWFuIFBvcCA8c3RlbGlhbkBwb3BpZXMubmV0PgorICAgIFNpZ25lZC1vZmYtYnk6IEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+CisKK2NvbW1pdCA5Njk5NmFjMjVkNTIyMjYxMWE4ODg4OTY4ZGI2ZTUzYTZkMzcyNmRhCitBdXRob3I6IFN0ZWxpYW4gUG9wIDxzdGVsaWFuQHBvcGllcy5uZXQ+CitEYXRlOglUaHUgTWF5IDggMjA6NTI6MjAgMjAwOCArMDIwMAorCisgICAgQVQ5MVNBTTkyNjBFSzogTm9ybWFsaXplIEJPT1RBUkdTCisKKyAgICBUaGlzIHBhdGNoIGFkYXB0cyBDT05GSUdfQk9PVEFSR1MgdG8gdGhlIGNob3NlbiBib290IG1ldGhvZCAoYm9vdCBmcm9tCisgICAgRGF0YUZsYXNoIG9yIGZyb20gTkFORCksIGFuZCBnaXZlcyB0byBMaW51eCBhIGZ1bGx5IHNwZWNpZmllZCBtdGRwYXJ0cworICAgIHZhcmlhYmxlLgorCisgICAgU2lnbmVkLW9mZi1ieTogU3RlbGlhbiBQb3AgPHN0ZWxpYW5AcG9waWVzLm5ldD4KKyAgICBTaWduZWQtb2ZmLWJ5OiBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxhZ25pb2pAamNyb3NvZnQuY29tPgorCitjb21taXQgNzlmMGNiNmU5YzU0ZDMxYTFkOWUzZjVlMjI2YTliZWJjM2MzYTQ3YQorQXV0aG9yOiBTdGVsaWFuIFBvcCA8c3RlbGlhbkBwb3BpZXMubmV0PgorRGF0ZToJVGh1IE1heSA4IDIwOjUyOjE5IDIwMDggKzAyMDAKKworICAgIEFUOTFTQU05MjYwRUs6IE5vcm1hbGl6ZSBTUEkgdGltaW5ncworCisgICAgVGhpcyBwYXRjaCBjaGFuZ2VzIHRoZSBTUEkgdGltaW5ncyB0byBjbG9zZWx5IG1hdGNoIHRoZSBvbmVzCisgICAgdXNlZCBieSB0aGUgTGludXgga2VybmVsIGFuZCB0aGUgQXRtZWwncyBvd24gYm9vdHN0cmFwIHByb2plY3QuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTdGVsaWFuIFBvcCA8c3RlbGlhbkBwb3BpZXMubmV0PgorICAgIFNpZ25lZC1vZmYtYnk6IEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+CisKK2NvbW1pdCBjMTIxMmIyZjVjNWVkNDQwYmY4ZTllYmM4ZTRmZDc0ODg4NThiOTM1CitBdXRob3I6IFN0ZWxpYW4gUG9wIDxzdGVsaWFuQHBvcGllcy5uZXQ+CitEYXRlOglUaHUgTWF5IDggMjA6NTI6MTggMjAwOCArMDIwMAorCisgICAgQVQ5MVNBTTkyNjBFSzogSGFuZGxlIDggb3IgMTYgYml0IE5BTkQKKworICAgIFRoZSBBdG1lbCBib2FyZHMgY2FuIGhhbmRsZSA4IG9yIDE2IGJpdCBOQU5EIG1lbW9yaWVzLiBUaGlzIHBhdGNoCisgICAgbWFrZXMgdGhlIHN1cHBvcnQgY29uZmlndXJhYmxlIGluIHRoZSBib2FyZCBjb25maWcgaGVhZGVyIGZpbGUKKyAgICAoQ0ZHX05BTkRfREJXXzggb3IgQ0ZHX05BTkRfREJXXzE2KS4KKworICAgIFNpZ25lZC1vZmYtYnk6IFN0ZWxpYW4gUG9wIDxzdGVsaWFuQHBvcGllcy5uZXQ+CisgICAgU2lnbmVkLW9mZi1ieTogSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KKworY29tbWl0IGFiNTI2NDBmYzAxNjI0ZTIwODQyNGU1MjdhZjBiN2IzYTVhNjVhMTIKK0F1dGhvcjogU3RlbGlhbiBQb3AgPHN0ZWxpYW5AcG9waWVzLm5ldD4KK0RhdGU6CVRodSBNYXkgOCAyMDo1MjoxNyAyMDA4ICswMjAwCisKKyAgICBBVDkxQ0FQOUFESzogRml4IGRhdGFmbGFzaCBvZmZzZXRzIGluIENPTkZJR19CT09UQ09NTUFORAorCisgICAgVGhpcyBwYXRjaCBmaXhlcyB0aGUgZGF0YWZsYXNoIG9mZnNldHMgdXNlZCBpbiBDT05GSUdfQk9PVENPTU1BTkQKKyAgICBpbiBvcmRlciB0byBjb3BlIHdpdGggdGhlIGNoYW5nZXMgaW4gRGF0YUZsYXNoIHBhcnRpdGlvbm5pbmcgc2NoZW1lCisgICAgKGNzZXQgYzNhNjBjYjMpLgorCisgICAgU2lnbmVkLW9mZi1ieTogU3RlbGlhbiBQb3AgPHN0ZWxpYW5AcG9waWVzLm5ldD4KKyAgICBTaWduZWQtb2ZmLWJ5OiBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxhZ25pb2pAamNyb3NvZnQuY29tPgorCitjb21taXQgMzI2NzUwOGVjNGM5ZTc0YzM5ZWU0MWM5YWU2OTUxYWQxODVmZTI3MAorQXV0aG9yOiBTdGVsaWFuIFBvcCA8c3RlbGlhbkBwb3BpZXMubmV0PgorRGF0ZToJVGh1IE1heSA4IDIwOjUyOjE2IDIwMDggKzAyMDAKKworICAgIEFUOTFDQVA5QURLOiBOb3JtYWxpemUgQk9PVEFSR1MKKworICAgIFRoaXMgcGF0Y2ggYWRhcHRzIENPTkZJR19CT09UQVJHUyB0byB0aGUgY2hvc2VuIGJvb3QgbWV0aG9kIChib290IGZyb20KKyAgICBEYXRhRmxhc2ggb3IgZnJvbSBOQU5EKSwgYW5kIGdpdmVzIHRvIExpbnV4IGEgZnVsbHkgc3BlY2lmaWVkIG10ZHBhcnRzCisgICAgdmFyaWFibGUuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTdGVsaWFuIFBvcCA8c3RlbGlhbkBwb3BpZXMubmV0PgorICAgIFNpZ25lZC1vZmYtYnk6IEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+CisKK2NvbW1pdCA5M2RhNDhiOTEwNTExOTExY2UxMTA2NTZlMTdlZDczM2M4YWM0YzQ1CitBdXRob3I6IFN0ZWxpYW4gUG9wIDxzdGVsaWFuQHBvcGllcy5uZXQ+CitEYXRlOglUaHUgTWF5IDggMjA6NTI6MTUgMjAwOCArMDIwMAorCisgICAgQVQ5MUNBUDlBREs6IE5vcm1hbGl6ZSBTUEkgdGltaW5ncworCisgICAgVGhpcyBwYXRjaCBjaGFuZ2VzIHRoZSBTUEkgdGltaW5ncyB0byBjbG9zZWx5IG1hdGNoIHRoZSBvbmVzCisgICAgdXNlZCBieSB0aGUgTGludXgga2VybmVsIGFuZCB0aGUgQXRtZWwncyBvd24gYm9vdHN0cmFwIHByb2plY3QuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTdGVsaWFuIFBvcCA8c3RlbGlhbkBwb3BpZXMubmV0PgorICAgIFNpZ25lZC1vZmYtYnk6IEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+CisKK2NvbW1pdCAxYzkwZGYzZTE0OGNlMGEzZTJjODZjNjNiMzhiMTlkNDc3NzJmMmEwCitBdXRob3I6IFN0ZWxpYW4gUG9wIDxzdGVsaWFuQHBvcGllcy5uZXQ+CitEYXRlOglUaHUgTWF5IDggMjA6NTI6MTQgMjAwOCArMDIwMAorCisgICAgQVQ5MUNBUDlBREs6IEhhbmRsZSA4IG9yIDE2IGJpdCBOQU5ECisKKyAgICBUaGUgQXRtZWwgYm9hcmRzIGNhbiBoYW5kbGUgOCBvciAxNiBiaXQgTkFORCBtZW1vcmllcy4gVGhpcyBwYXRjaAorICAgIG1ha2VzIHRoZSBzdXBwb3J0IGNvbmZpZ3VyYWJsZSBpbiB0aGUgYm9hcmQgY29uZmlnIGhlYWRlciBmaWxlCisgICAgKENGR19OQU5EX0RCV184IG9yIENGR19OQU5EX0RCV18xNikuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTdGVsaWFuIFBvcCA8c3RlbGlhbkBwb3BpZXMubmV0PgorICAgIFNpZ25lZC1vZmYtYnk6IEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+CisKK2NvbW1pdCAxMWIxNjJiYWUwNThlOTZjNzkyOWUzNThkNGFkZmYyYmVlNmMyY2M0CitBdXRob3I6IFN0ZWxpYW4gUG9wIDxzdGVsaWFuQHBvcGllcy5uZXQ+CitEYXRlOglUaHUgTWF5IDggMjA6NTI6MTMgMjAwOCArMDIwMAorCisgICAgVXNlIGEgY29tbW9uIHUtYm9vdC5sZHMgZmlsZSBhY3Jvc3MgYWxsIEFUOTFDQVA5L0FUOTFTQU05IHBsYXRmb3JtcworCisgICAgQWxsIHRoZSBBVDkxQ0FQOS9BVDkxU0FNOSBib2FyZHMgaGF2ZSB0aGUgc2FtZSBsaW5rZXIgc2NyaXB0LiBUaGUgcGF0Y2gKKyAgICBiZWxvdyBhdm9pZHMgdGhlIGR1cGxpY2F0aW9uIG9mIHUtYm9vdC5sZHMgYnkgcHV0dGluZyB0aGUgZmlsZSBpbiB0aGUKKyAgICBjcHUgZGlyZWN0b3J5IGluc3RlYWQgb2YgdGhlIGJvYXJkIG9uZS4KKworICAgIFNpZ25lZC1vZmYtYnk6IFN0ZWxpYW4gUG9wIDxzdGVsaWFuQHBvcGllcy5uZXQ+CisgICAgU2lnbmVkLW9mZi1ieTogSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KKworY29tbWl0IGQ0OGFiZWE0Yjg5YWRhZjVlNDVlYTc1YjVlMzhjMGQ4ZGUxNzllY2UKK0F1dGhvcjogU3RlbGlhbiBQb3AgPHN0ZWxpYW5AcG9waWVzLm5ldD4KK0RhdGU6CVRodSBNYXkgOCAyMDo1MjoxMiAyMDA4ICswMjAwCisKKyAgICBBZGQgcHJvcGVyIGNvcHlyaWdodCBub3RpY2VzIGluIEF0bWVsIGJvYXJkcyBNYWtlZmlsZXMKKworICAgIFRoZSBNYWtlZmlsZXMgZm9yIHRoZSBBVDkxQ0FQOS9BVDkxU0FNOSBib2FyZHMgaGF2ZSBhbiBpbmNvbXBsZXRlCisgICAgY29weXJpZ2h0IG5vdGljZS4gVGhpcyBwYXRjaCBhZGRzIHRoZSBtaXNzaW5nIHBpZWNlcy4KKworICAgIFNpZ25lZC1vZmYtYnk6IFN0ZWxpYW4gUG9wIDxzdGVsaWFuQHBvcGllcy5uZXQ+CisgICAgU2lnbmVkLW9mZi1ieTogSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KKworY29tbWl0IGU4MTdhMDQyY2VmNjE2NGJmMjZmZWU4NmY5MDMyNmYyZWM5ZTY3NDUKK0F1dGhvcjogU3RlbGlhbiBQb3AgPHN0ZWxpYW5AcG9waWVzLm5ldD4KK0RhdGU6CVRodSBNYXkgOCAyMDo1MjoxMSAyMDA4ICswMjAwCisKKyAgICBBZGQgY29weXJpZ2h0IGluZm9ybWF0aW9uIGluIEF0bWVsIGJvYXJkcyBwYXJ0aXRpb24uYworCisgICAgV2hlbiBVbGYgZGlkIHRoZSBkYXRhZmxhc2guYyBjbGVhbnVwLCBoZSBkaWRuJ3QgYWRkIGhpcyBjb3B5cmlnaHQgb24KKyAgICB0aGUgbmV3IGNyZWF0ZWQgZmlsZXMuIFRoaXMgcGF0Y2ggZml4ZXMgdGhlIHByb2JsZW0uCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTdGVsaWFuIFBvcCA8c3RlbGlhbkBwb3BpZXMubmV0PgorICAgIFNpZ25lZC1vZmYtYnk6IEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+CisKK2NvbW1pdCA0ZjZjODEwMTA2ZjRmNzZkODNjZmM1N2Q5OGY0NTQwY2Q0NWY5YTE5CitBdXRob3I6IFN0ZWxpYW4gUG9wIDxzdGVsaWFuQHBvcGllcy5uZXQ+CitEYXRlOglUaHUgTWF5IDggMjA6NTI6MTAgMjAwOCArMDIwMAorCisgICAgVXBkYXRlIG9yaWdpbiBhbmQgY29weXJpZ2h0IGluZm9ybWF0aW9uIGluIGFyY2gtYXQ5MXNhbTkgaGVhZGVyIGZpbGVzCisKKyAgICBXaGVuIGRvaW5nIHRoZSBBVDkxQ0FQOS9BVDkxU0FNOSBwb3J0LCBhIG51bWJlciBvZiBoZWFkZXIgZmlsZXMgd2VyZQorICAgIGNvcGllZCBmcm9tIHRoZSBMaW51eCBrZXJuZWwgc291cmNlcy4gVGhpcyBwYXRjaCBleHBsaWNpdGx5IHNwZWNpZmllcworICAgIHRoaXMgb3JpZ2luIGZvciBhbGwgdGhlIGNvcGllZCBoZWFkZXJzLCBhbmQgZm9yIHRob3NlIG1pc3NpbmcgY29weXJpZ2h0CisgICAgaW5mb3JtYXRpb24sIGFkZHMgaXQuCisKKyAgICBBZGRpdGlvbmFseSwgdGhlIGhlYWRlciBmaWxlICdhdDkxc2FtOTI2eF9tYy5oJyBoYXMgYmVlbiBzdXBlcmNlZWRlZAorICAgIGluIHRoZSBsYXRlc3Qga2VybmVsIHNvdXJjZXMgYnkgJ2F0OTFzYW05X3NtYy5oJy4KKworICAgIFRoZSBjb3B5cmlnaHQgaW5mb3JtYXRpb24gaGFzIGJlZW4gY29uZmlybWVkIGJ5IHRoZSBBVDkxIExpbnV4IGtlcm5lbAorICAgIG1haW50YWluZXIsIEFuZHJldyBWaWN0b3IgPGF2aWN0b3IuemFAZ21haWwuY29tPi4KKworICAgIFNpZ25lZC1vZmYtYnk6IFN0ZWxpYW4gUG9wIDxzdGVsaWFuQHBvcGllcy5uZXQ+CisgICAgU2lnbmVkLW9mZi1ieTogSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KKwogY29tbWl0IDc5ZGQxNzEyNjg5ZDZhNTAzMWQ3Y2JmZjU0OTU3MDQ5NjgwNzUxYzcKIEF1dGhvcjogTWFya3VzIEtsb3R6YsO8Y2hlciA8bWtAZGVueC5kZT4KIERhdGU6CVRodSBNYXkgOCAxNjowMDo1NSAyMDA4ICswMjAwCkBAIC01NTYsNiArMzg5OCwzMiBAQAogCiAgICAgU2lnbmVkLW9mZi1ieTogV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KIAorY29tbWl0IDU2N2ZiODUyMTc4ZGJmNTk1MjlkNzMwMTYyMGEzZjM3MzJhNGIwMmQKK0F1dGhvcjogU3RlbGlhbiBQb3AgPHN0ZWxpYW5AcG9waWVzLm5ldD4KK0RhdGU6CVRodSBNYXkgOCAyMjo1MjowOSAyMDA4ICswMjAwCisKKyAgICBGaXggQCAtPiA8YXQ+IHN1YnN0aXR1dGlvbgorCisgICAgV2hlbiBhcHBseWluZyB0aGUgQVQ5MUNBUDkgcGF0Y2hlcyB1cHN0cmVhbSwgc29tZXRoaW5nIHRyYW5zZm9ybWVkCisgICAgdGhlICdAJyBjaGFyYWN0ZXIgaW50byB0aGUgJyA8YXQ+ICcgc2VxdWVuY2UuCisKKyAgICBUaGUgcGF0Y2ggYmVsb3cgcmVzdG9yZXMgdGhlIG9yaWdpbmFsIGZvcm0gaW4gYWxsIHRoZSBwbGFjZXMgd2hlcmUKKyAgICBpdCBoYXMgYmVlbiBtb2RpZmllZCAodGhlIEFUOTFDQVA5IGZpbGVzLCB0aGUgQVQ5MVNBTTkyNjAgZmlsZXMgd2hpY2gKKyAgICB3ZXJlIGNvcGllZCBmcm9tIEFUOTFDQVA5LCBhbmQgYSBjb3VwbGUgb2Ygb3RoZXIgZmlsZXMgd2hlcmUgdGhlCisgICAgJyA8YXQ+ICcgc2VxdWVuY2Ugd2FzIHByZXNlbnQpLgorCisgICAgU2lnbmVkLW9mZi1ieTogU3RlbGlhbiBQb3AgPHN0ZWxpYW5AcG9waWVzLm5ldD4KKyAgICBTaWduZWQtb2ZmLWJ5OiBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxhZ25pb2pAamNyb3NvZnQuY29tPgorCitjb21taXQgNzNjY2IzNDEwYTA3ODU1OTNjZGE3YWVlNDU1ZGZjNTFmNzkwZTI4MQorQXV0aG9yOiBHYXJ5IEplbm5lam9obiA8Z2FyeS5qZW5uZWpvaG5AZnJlZW5ldC5kZT4KK0RhdGU6CU1vbiBBcHIgMjggMTQ6MDQ6MzIgMjAwOCArMDIwMAorCisgICAgcHBjNHh4OiBBZGQgdGhlIEhhcnJpcyBRVUFEMTAwSEQgQU1DQyA0MDVFUC1iYXNlZCBib2FyZAorCisgICAgU2lnbmVkLW9mZi1ieTogR2FyeSBKZW5uZWpvaG4gPGdhcnlqQGRlbnguZGU+CisgICAgU2lnbmVkLW9mZi1ieTogU3RlZmFuIFJvZXNlIDxzckBkZW54LmRlPgorCiBjb21taXQgZWYyNjQyNjI1Y2JmYjFjMzY5NWUzNDc4ZDA4YWU1MTUwNTJhNDk1MAogQXV0aG9yOiBTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CiBEYXRlOglUaHUgTWF5IDggMTE6MTA6NDYgMjAwOCArMDIwMApAQCAtNzIyMSw3ICsxMDU4OSw3IEBACiAgICAgT3JpZ2luYWxseSBwb2ludGVkIG91dCBieSBMYXVyZW50IFBpbmNoYXJ0IDxsYXVyZW50LnBpbmNoYXJ0QHRib3guYml6PiwKICAgICBzZWUgaHR0cDovL3RocmVhZC5nbWFuZS5vcmcvZ21hbmUuY29tcC5ib290LWxvYWRlcnMudS1ib290LzIyODQ2CiAKLSAgICBTaWduZWQtb2ZmLWJ5OiBCZXJuaGFyZCBOZW1lYyA8Ym5lbWVjQGdhbnNzbG9zZXIuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IEJlcm5oYXJkIE5lbWVjIDxibmVtZWMgPGF0PiBnYW5zc2xvc2VyLmNvbT4KIAogY29tbWl0IDg0ZDBjMmYxZTM5Y2FmZjU4YmY3NjVhN2FiN2M3MmRhMjNjMjVlYzgKIEF1dGhvcjogS2ltIEIuIEhlaW5vIDxLaW0uSGVpbm9AYmx1ZWdpZ2EuY29tPgpAQCAtODQ1MSw3ICsxMTgxOSw3IEBACiAgICAgODZ4eDogQ29udmVydCBzYmM4NjQxZCB0byB1c2UgbGliZmR0LgogCiAgICAgVGhpcyBpcyB0aGUgcHJvcGVyIGZpeCBmb3IgYSBtaXNzaW5nIGNsb3NpbmcgYnJhY2UgaW4gdGhlIGZ1bmN0aW9uCi0gICAgZnRfY3B1X3NldHVwKCkgbm90aWNlZCBieSBqb2UuaGFtbWFuQGVtYmVkZGVkc3BlY2lhbHRpZXMuY29tLgorICAgIGZ0X2NwdV9zZXR1cCgpIG5vdGljZWQgYnkgam9lLmhhbW1hbiA8YXQ+IGVtYmVkZGVkc3BlY2lhbHRpZXMuY29tLgogICAgIFRoZSBmdF9jcHVfc2V0dXAoKSBmdW5jdGlvbiBpbiBtcGM4NjQxaHBjbi5jIHNob3VsZCBoYXZlIGJlZW4KICAgICByZW1vdmVkIGVhcmxpZXIgYXMgaXQgd2FzIHVuZGVyIHRoZSBvYnNvbGV0ZSBDT05GSUdfT0ZfRkxBVF9UUkVFLAogICAgIGJ1dCB3YXMgbWlzc2VkLiAgT25seSwgdGhlIHNiYzg2NDFkIHdhcyBub21pbmFsbHkgc3RpbGwgdXNpbmcgaXQuCkBAIC04ODQ2LDcgKzEyMjE0LDcgQEAKIAogICAgIFdlIGFscmVhZHkgaGF2ZSBhIHZlbmRvciBzdWJkaXIgZm9yIEF0bWVsLCBzbyB3ZSBzaG91bGQgdXNlIGl0LgogCi0gICAgU2lnbmVkLW9mZi1ieTogSGFhdmFyZCBTa2lubmVtb2VuIDxoc2tpbm5lbW9lbkBhdG1lbC5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogSGFhdmFyZCBTa2lubmVtb2VuIDxoc2tpbm5lbW9lbiA8YXQ+IGF0bWVsLmNvbT4KIAogY29tbWl0IDZkMDk0M2E2YmU5OTk3N2Q2ZDg1M2Q1MTc0OWU5OTYzZDY4ZWIxOTIKIEF1dGhvcjogQW5kcmVhcyBFbmdlbCA8YW5kcmVhcy5lbmdlbEBlcmljc3Nvbi5jb20+CkBAIC04ODk2LDggKzEyMjY0LDggQEAKIAogICAgIEFUOTFDQVA5IHN1cHBvcnQgOiBNQUNCIGNoYW5nZXMKIAotICAgIFNpZ25lZC1vZmYtYnk6IFN0ZWxpYW4gUG9wIDxzdGVsaWFuQHBvcGllcy5uZXQ+Ci0gICAgQWNrZWQtYnk6IEhhYXZhcmQgU2tpbm5lbW9lbiA8aHNraW5uZW1vZW5AYXRtZWwuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IFN0ZWxpYW4gUG9wIDxzdGVsaWFuIDxhdD4gcG9waWVzLm5ldD4KKyAgICBBY2tlZC1ieTogSGFhdmFyZCBTa2lubmVtb2VuIDxoc2tpbm5lbW9lbiA8YXQ+IGF0bWVsLmNvbT4KIAogY29tbWl0IDZhZmNhYmYxMWQ3MzIxODUwZjRmZWFhZGZlZTg0MTQ4OGFjZTU0YzUKIEF1dGhvcjogU3RlbGlhbiBQb3AgPHN0ZWxpYW5AcG9waWVzLm5ldD4KQEAgLTg5MTMsNyArMTIyODEsNyBAQAogCiAgICAgQVQ5MUNBUDkgc3VwcG9ydCA6IGNwdS8gZmlsZXMKIAotICAgIFNpZ25lZC1vZmYtYnk6IFN0ZWxpYW4gUG9wIDxzdGVsaWFuQHBvcGllcy5uZXQ+CisgICAgU2lnbmVkLW9mZi1ieTogU3RlbGlhbiBQb3AgPHN0ZWxpYW4gPGF0PiBwb3BpZXMubmV0PgogCiBjb21taXQgZmE1MDZhOTI2Y2VjMzQ4ODA1MTQzNTc2Yzk0MWY4ZTYxYjMzM2NjMAogQXV0aG9yOiBTdGVsaWFuIFBvcCA8c3RlbGlhbkBwb3BpZXMubmV0PgpkaWZmIC0tZ2l0IGEvTUFLRUFMTCBiL01BS0VBTEwKaW5kZXggMzJjYWFiNy4uOWY4MGIzZCAxMDA3NTUKLS0tIGEvTUFLRUFMTAorKysgYi9NQUtFQUxMCkBAIC01MDMsNiArNTAzLDcgQEAKIAl2b2ljZWJsdWUJCVwKIAlkYXZpbmNpX2R2ZXZtCQlcCiAJZGF2aW5jaV9zY2htb29naWUJXAorCWRhdmluY2lfc2Zmc2RyCQlcCiAJZGF2aW5jaV9zb25hdGEJCVwKICIKIApkaWZmIC0tZ2l0IGEvTWFrZWZpbGUgYi9NYWtlZmlsZQppbmRleCA4YmZjODkxLi44NDViNTY0IDEwMDY0NAotLS0gYS9NYWtlZmlsZQorKysgYi9NYWtlZmlsZQpAQCAtMjQyOCw2ICsyNDI4LDkgQEAKIGRhdmluY2lfc2NobW9vZ2llX2NvbmZpZyA6CXVuY29uZmlnCiAJQCQoTUtDT05GSUcpICQoQDpfY29uZmlnPSkgYXJtIGFybTkyNmVqcyBzY2htb29naWUgZGF2aW5jaSBkYXZpbmNpCiAKK2RhdmluY2lfc2Zmc2RyX2NvbmZpZyA6CXVuY29uZmlnCisJQCQoTUtDT05GSUcpICQoQDpfY29uZmlnPSkgYXJtIGFybTkyNmVqcyBzZmZzZHIgZGF2aW5jaSBkYXZpbmNpCisKIGRhdmluY2lfc29uYXRhX2NvbmZpZyA6CXVuY29uZmlnCiAJQCQoTUtDT05GSUcpICQoQDpfY29uZmlnPSkgYXJtIGFybTkyNmVqcyBzb25hdGEgZGF2aW5jaSBkYXZpbmNpCiAKZGlmZiAtLWdpdCBhL2JvYXJkL01pZ29SL01ha2VmaWxlIGIvYm9hcmQvTWlnb1IvTWFrZWZpbGUKaW5kZXggNWE5ZDY1MS4uYmNlZDUxMSAxMDA2NDQKLS0tIGEvYm9hcmQvTWlnb1IvTWFrZWZpbGUKKysrIGIvYm9hcmQvTWlnb1IvTWFrZWZpbGUKQEAgLTI0LDI1ICsyNCwyOSBAQAogCiBpbmNsdWRlICQoVE9QRElSKS9jb25maWcubWsKIAotTElCCT0gbGliJChCT0FSRCkuYQorTElCCT0gJChvYmopbGliJChCT0FSRCkuYQogCiBPQkpTCTo9IG1pZ29fci5vCiBTT0JKUwk6PSBsb3dsZXZlbF9pbml0Lm8KIAorU1JDUwk6PSAkKFNPQkpTOi5vPS5TKSAkKENPQkpTOi5vPS5jKQorT0JKUwk6PSAkKGFkZHByZWZpeCAkKG9iaiksJChDT0JKUykpCitTT0JKUwk6PSAkKGFkZHByZWZpeCAkKG9iaiksJChTT0JKUykpCisKICQoTElCKToJJChPQkpTKSAkKFNPQkpTKQotCSQoQVIpIGNydiAkQCAkKE9CSlMpICQoU09CSlMpCisJJChBUikgJChBUkZMQUdTKSAkQCAkKE9CSlMpICQoU09CSlMpCiAKIGNsZWFuOgogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIAotLmRlcGVuZDoJTWFrZWZpbGUgJChTT0JKUzoubz0uUykgJChPQkpTOi5vPS5jKQotCQkkKENDKSAtTSAkKENQUEZMQUdTKSAkKFNPQkpTOi5vPS5TKSAkKE9CSlM6Lm89LmMpID4gJEAKKyMgZGVmaW5lcyAkKG9iaikuZGVwZW5kIHRhcmdldAoraW5jbHVkZSAkKFNSQ1RSRUUpL3J1bGVzLm1rCiAKLS1pbmNsdWRlIC5kZXBlbmQKK3NpbmNsdWRlICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpkaWZmIC0tZ2l0IGEvYm9hcmQvYWN0dXgxL01ha2VmaWxlIGIvYm9hcmQvYWN0dXgxL01ha2VmaWxlCmluZGV4IDgzNjExZTcuLmI3Y2M2ZTEgMTAwNjQ0Ci0tLSBhL2JvYXJkL2FjdHV4MS9NYWtlZmlsZQorKysgYi9ib2FyZC9hY3R1eDEvTWFrZWZpbGUKQEAgLTM4LDcgKzM4LDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL2FjdHV4Mi9NYWtlZmlsZSBiL2JvYXJkL2FjdHV4Mi9NYWtlZmlsZQppbmRleCAzN2ZkMjYyLi41ZWYzYmRhIDEwMDY0NAotLS0gYS9ib2FyZC9hY3R1eDIvTWFrZWZpbGUKKysrIGIvYm9hcmQvYWN0dXgyL01ha2VmaWxlCkBAIC0zOCw3ICszOCw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9hY3R1eDMvTWFrZWZpbGUgYi9ib2FyZC9hY3R1eDMvTWFrZWZpbGUKaW5kZXggZjYxNjhjMy4uMmNkNmQ4NCAxMDA2NDQKLS0tIGEvYm9hcmQvYWN0dXgzL01ha2VmaWxlCisrKyBiL2JvYXJkL2FjdHV4My9NYWtlZmlsZQpAQCAtMzgsNyArMzgsNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvYWN0dXg0L01ha2VmaWxlIGIvYm9hcmQvYWN0dXg0L01ha2VmaWxlCmluZGV4IDg0NWFmOTMuLmI4MmZjNjIgMTAwNjQ0Ci0tLSBhL2JvYXJkL2FjdHV4NC9NYWtlZmlsZQorKysgYi9ib2FyZC9hY3R1eDQvTWFrZWZpbGUKQEAgLTM4LDcgKzM4LDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL2FkZGVyL01ha2VmaWxlIGIvYm9hcmQvYWRkZXIvTWFrZWZpbGUKaW5kZXggYjJmZmQyOC4uNmIzNzA2ZCAxMDA2NDQKLS0tIGEvYm9hcmQvYWRkZXIvTWFrZWZpbGUKKysrIGIvYm9hcmQvYWRkZXIvTWFrZWZpbGUKQEAgLTQxLDcgKzQxLDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL2FkczUxMjEvTWFrZWZpbGUgYi9ib2FyZC9hZHM1MTIxL01ha2VmaWxlCmluZGV4IGY0ZGFjY2UuLjUyZDBkM2MgMTAwNjQ0Ci0tLSBhL2JvYXJkL2FkczUxMjEvTWFrZWZpbGUKKysrIGIvYm9hcmQvYWRzNTEyMS9NYWtlZmlsZQpAQCAtNDUsNyArNDUsNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvYWRzdml4L01ha2VmaWxlIGIvYm9hcmQvYWRzdml4L01ha2VmaWxlCmluZGV4IDIxNGM3ZGIuLjA1NjAxYjQgMTAwNjQ0Ci0tLSBhL2JvYXJkL2Fkc3ZpeC9NYWtlZmlsZQorKysgYi9ib2FyZC9hZHN2aXgvTWFrZWZpbGUKQEAgLTM5LDcgKzM5LDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL2FsYXNrYS9NYWtlZmlsZSBiL2JvYXJkL2FsYXNrYS9NYWtlZmlsZQppbmRleCAyNzQ3NWVhLi41Mjk3ZTgxIDEwMDY0NAotLS0gYS9ib2FyZC9hbGFza2EvTWFrZWZpbGUKKysrIGIvYm9hcmQvYWxhc2thL01ha2VmaWxlCkBAIC0zOCw3ICszOCw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9hbHRlcmEvZGsxYzIwL01ha2VmaWxlIGIvYm9hcmQvYWx0ZXJhL2RrMWMyMC9NYWtlZmlsZQppbmRleCA2YWY4Mzg5Li42MGFjNmU2IDEwMDY0NAotLS0gYS9ib2FyZC9hbHRlcmEvZGsxYzIwL01ha2VmaWxlCisrKyBiL2JvYXJkL2FsdGVyYS9kazFjMjAvTWFrZWZpbGUKQEAgLTM5LDcgKzM5LDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL2FsdGVyYS9kazFzMTAvTWFrZWZpbGUgYi9ib2FyZC9hbHRlcmEvZGsxczEwL01ha2VmaWxlCmluZGV4IDZhZjgzODkuLjYwYWM2ZTYgMTAwNjQ0Ci0tLSBhL2JvYXJkL2FsdGVyYS9kazFzMTAvTWFrZWZpbGUKKysrIGIvYm9hcmQvYWx0ZXJhL2RrMXMxMC9NYWtlZmlsZQpAQCAtMzksNyArMzksNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvYWx0ZXJhL2VwMWMyMC9NYWtlZmlsZSBiL2JvYXJkL2FsdGVyYS9lcDFjMjAvTWFrZWZpbGUKaW5kZXggN2E4Y2FmNy4uYWNhZDJhYSAxMDA2NDQKLS0tIGEvYm9hcmQvYWx0ZXJhL2VwMWMyMC9NYWtlZmlsZQorKysgYi9ib2FyZC9hbHRlcmEvZXAxYzIwL01ha2VmaWxlCkBAIC00Myw3ICs0Myw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9hbHRlcmEvZXAxczEwL01ha2VmaWxlIGIvYm9hcmQvYWx0ZXJhL2VwMXMxMC9NYWtlZmlsZQppbmRleCA3YThjYWY3Li5hY2FkMmFhIDEwMDY0NAotLS0gYS9ib2FyZC9hbHRlcmEvZXAxczEwL01ha2VmaWxlCisrKyBiL2JvYXJkL2FsdGVyYS9lcDFzMTAvTWFrZWZpbGUKQEAgLTQzLDcgKzQzLDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL2FsdGVyYS9lcDFzNDAvTWFrZWZpbGUgYi9ib2FyZC9hbHRlcmEvZXAxczQwL01ha2VmaWxlCmluZGV4IDdhOGNhZjcuLmFjYWQyYWEgMTAwNjQ0Ci0tLSBhL2JvYXJkL2FsdGVyYS9lcDFzNDAvTWFrZWZpbGUKKysrIGIvYm9hcmQvYWx0ZXJhL2VwMXM0MC9NYWtlZmlsZQpAQCAtNDMsNyArNDMsNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvYW1jYy9hY2FkaWEvTWFrZWZpbGUgYi9ib2FyZC9hbWNjL2FjYWRpYS9NYWtlZmlsZQppbmRleCBjNTZiMjczLi45YWJiMjlkIDEwMDY0NAotLS0gYS9ib2FyZC9hbWNjL2FjYWRpYS9NYWtlZmlsZQorKysgYi9ib2FyZC9hbWNjL2FjYWRpYS9NYWtlZmlsZQpAQCAtMzksNyArMzksNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQgKn4KKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvYW1jYy9iYW1ib28vTWFrZWZpbGUgYi9ib2FyZC9hbWNjL2JhbWJvby9NYWtlZmlsZQppbmRleCBkMDFjYzQ5Li4wNjQ5Nzk5IDEwMDY0NAotLS0gYS9ib2FyZC9hbWNjL2JhbWJvby9NYWtlZmlsZQorKysgYi9ib2FyZC9hbWNjL2JhbWJvby9NYWtlZmlsZQpAQCAtMzksNyArMzksNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvYW1jYy9idWJpbmdhL01ha2VmaWxlIGIvYm9hcmQvYW1jYy9idWJpbmdhL01ha2VmaWxlCmluZGV4IDUwZmVjYzYuLjE5MzlkNTEgMTAwNjQ0Ci0tLSBhL2JvYXJkL2FtY2MvYnViaW5nYS9NYWtlZmlsZQorKysgYi9ib2FyZC9hbWNjL2J1YmluZ2EvTWFrZWZpbGUKQEAgLTM4LDcgKzM4LDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL2FtY2MvY2FueW9ubGFuZHMvTWFrZWZpbGUgYi9ib2FyZC9hbWNjL2NhbnlvbmxhbmRzL01ha2VmaWxlCmluZGV4IDdhMmVhYTUuLjJhZWVhZDYgMTAwNjQ0Ci0tLSBhL2JvYXJkL2FtY2MvY2FueW9ubGFuZHMvTWFrZWZpbGUKKysrIGIvYm9hcmQvYW1jYy9jYW55b25sYW5kcy9NYWtlZmlsZQpAQCAtNDAsNyArNDAsNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvYW1jYy9lYm9ueS9NYWtlZmlsZSBiL2JvYXJkL2FtY2MvZWJvbnkvTWFrZWZpbGUKaW5kZXggNWRhOTZlOS4uNmFiMWEyNiAxMDA2NDQKLS0tIGEvYm9hcmQvYW1jYy9lYm9ueS9NYWtlZmlsZQorKysgYi9ib2FyZC9hbWNjL2Vib255L01ha2VmaWxlCkBAIC0zOSw3ICszOSw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9hbWNjL2thdG1haS9NYWtlZmlsZSBiL2JvYXJkL2FtY2Mva2F0bWFpL01ha2VmaWxlCmluZGV4IGQwNmE0MDIuLjMxODAxNmQgMTAwNjQ0Ci0tLSBhL2JvYXJkL2FtY2Mva2F0bWFpL01ha2VmaWxlCisrKyBiL2JvYXJkL2FtY2Mva2F0bWFpL01ha2VmaWxlCkBAIC0zOSw3ICszOSw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZCAqfgorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9hbWNjL2tpbGF1ZWEvTWFrZWZpbGUgYi9ib2FyZC9hbWNjL2tpbGF1ZWEvTWFrZWZpbGUKaW5kZXggOTgxZWYzYS4uZGYwYTY4ZiAxMDA2NDQKLS0tIGEvYm9hcmQvYW1jYy9raWxhdWVhL01ha2VmaWxlCisrKyBiL2JvYXJkL2FtY2Mva2lsYXVlYS9NYWtlZmlsZQpAQCAtMzcsNyArMzcsNyBAQAogCXJtIC1mICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQgKn4KKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvYW1jYy9sdWFuL01ha2VmaWxlIGIvYm9hcmQvYW1jYy9sdWFuL01ha2VmaWxlCmluZGV4IDVkYTk2ZTkuLjZhYjFhMjYgMTAwNjQ0Ci0tLSBhL2JvYXJkL2FtY2MvbHVhbi9NYWtlZmlsZQorKysgYi9ib2FyZC9hbWNjL2x1YW4vTWFrZWZpbGUKQEAgLTM5LDcgKzM5LDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL2FtY2MvbWFrYWx1L01ha2VmaWxlIGIvYm9hcmQvYW1jYy9tYWthbHUvTWFrZWZpbGUKaW5kZXggNGRlZjBkNC4uZGMzZWRjMSAxMDA2NDQKLS0tIGEvYm9hcmQvYW1jYy9tYWthbHUvTWFrZWZpbGUKKysrIGIvYm9hcmQvYW1jYy9tYWthbHUvTWFrZWZpbGUKQEAgLTM4LDcgKzM4LDcgQEAKIAlybSAtZiAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kICp+CisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL2FtY2Mvb2NvdGVhL01ha2VmaWxlIGIvYm9hcmQvYW1jYy9vY290ZWEvTWFrZWZpbGUKaW5kZXggYTc1ODY1MC4uNmFiMWEyNiAxMDA2NDQKLS0tIGEvYm9hcmQvYW1jYy9vY290ZWEvTWFrZWZpbGUKKysrIGIvYm9hcmQvYW1jYy9vY290ZWEvTWFrZWZpbGUKQEAgLTM5LDcgKzM5LDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kICp+CisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL2FtY2Mvc2VxdW9pYS9NYWtlZmlsZSBiL2JvYXJkL2FtY2Mvc2VxdW9pYS9NYWtlZmlsZQppbmRleCBlMWM5YWQ0Li5hNWQ1MDEwIDEwMDY0NAotLS0gYS9ib2FyZC9hbWNjL3NlcXVvaWEvTWFrZWZpbGUKKysrIGIvYm9hcmQvYW1jYy9zZXF1b2lhL01ha2VmaWxlCkBAIC0zOSw3ICszOSw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9hbWNjL3RhaWh1L01ha2VmaWxlIGIvYm9hcmQvYW1jYy90YWlodS9NYWtlZmlsZQppbmRleCA5NzMxYzZlLi4wYjlmOTcwIDEwMDY0NAotLS0gYS9ib2FyZC9hbWNjL3RhaWh1L01ha2VmaWxlCisrKyBiL2JvYXJkL2FtY2MvdGFpaHUvTWFrZWZpbGUKQEAgLTM3LDcgKzM3LDcgQEAKIAlybSAtZiAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL2FtY2MvdGFpc2hhbi9NYWtlZmlsZSBiL2JvYXJkL2FtY2MvdGFpc2hhbi9NYWtlZmlsZQppbmRleCA0NjJhZjAwLi45ZDIwZTBmIDEwMDY0NAotLS0gYS9ib2FyZC9hbWNjL3RhaXNoYW4vTWFrZWZpbGUKKysrIGIvYm9hcmQvYW1jYy90YWlzaGFuL01ha2VmaWxlCkBAIC0zOSw3ICszOSw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9hbWNjL3dhbG51dC9NYWtlZmlsZSBiL2JvYXJkL2FtY2Mvd2FsbnV0L01ha2VmaWxlCmluZGV4IDUwZmVjYzYuLjE5MzlkNTEgMTAwNjQ0Ci0tLSBhL2JvYXJkL2FtY2Mvd2FsbnV0L01ha2VmaWxlCisrKyBiL2JvYXJkL2FtY2Mvd2FsbnV0L01ha2VmaWxlCkBAIC0zOCw3ICszOCw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9hbWNjL3lvc2VtaXRlL01ha2VmaWxlIGIvYm9hcmQvYW1jYy95b3NlbWl0ZS9NYWtlZmlsZQppbmRleCAyNjFlNWQ0Li5iOTNmMmMzIDEwMDY0NAotLS0gYS9ib2FyZC9hbWNjL3lvc2VtaXRlL01ha2VmaWxlCisrKyBiL2JvYXJkL2FtY2MveW9zZW1pdGUvTWFrZWZpbGUKQEAgLTM5LDcgKzM5LDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL2FtY2MveXVjY2EvTWFrZWZpbGUgYi9ib2FyZC9hbWNjL3l1Y2NhL01ha2VmaWxlCmluZGV4IDlmNDIyNzkuLjBmZjUyMmMgMTAwNjQ0Ci0tLSBhL2JvYXJkL2FtY2MveXVjY2EvTWFrZWZpbGUKKysrIGIvYm9hcmQvYW1jYy95dWNjYS9NYWtlZmlsZQpAQCAtMzksNyArMzksNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQgKn4KKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvYW1pcml4L2FwMTAwMC9NYWtlZmlsZSBiL2JvYXJkL2FtaXJpeC9hcDEwMDAvTWFrZWZpbGUKaW5kZXggN2I5OWQzMS4uZDA3MjkzNCAxMDA2NDQKLS0tIGEvYm9hcmQvYW1pcml4L2FwMTAwMC9NYWtlZmlsZQorKysgYi9ib2FyZC9hbWlyaXgvYXAxMDAwL01ha2VmaWxlCkBAIC0zOSw3ICszOSw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9hbWlyaXgvYXAxMDAwL3NlcmlhbC5jIGIvYm9hcmQvYW1pcml4L2FwMTAwMC9zZXJpYWwuYwppbmRleCA4MTFmMWFhLi41MDhlODgwIDEwMDY0NAotLS0gYS9ib2FyZC9hbWlyaXgvYXAxMDAwL3NlcmlhbC5jCisrKyBiL2JvYXJkL2FtaXJpeC9hcDEwMDAvc2VyaWFsLmMKQEAgLTE5LDEwICsxOSw5IEBACiAgKgogICovCiAKLSNpbmNsdWRlIDxhc20vdHlwZXMuaD4KKyNpbmNsdWRlIDxjb21tb24uaD4KICNpbmNsdWRlIDxhc20vdS1ib290Lmg+CiAjaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci5oPgotI2luY2x1ZGUgPGNvbW1vbi5oPgogI2luY2x1ZGUgPGNvbW1hbmQuaD4KICNpbmNsdWRlIDxjb25maWcuaD4KIApkaWZmIC0tZ2l0IGEvYm9hcmQvYXBvbGxvbi9NYWtlZmlsZSBiL2JvYXJkL2Fwb2xsb24vTWFrZWZpbGUKaW5kZXggNTM0OGYyZC4uOWJhYzlhNiAxMDA2NDQKLS0tIGEvYm9hcmQvYXBvbGxvbi9NYWtlZmlsZQorKysgYi9ib2FyZC9hcG9sbG9uL01ha2VmaWxlCkBAIC0zOSw3ICszOSw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9hcG9sbG9uL21lbS5oIGIvYm9hcmQvYXBvbGxvbi9tZW0uaAppbmRleCA1YmM5NmZhLi5kNDYzNmY0IDEwMDY0NAotLS0gYS9ib2FyZC9hcG9sbG9uL21lbS5oCisrKyBiL2JvYXJkL2Fwb2xsb24vbWVtLmgKQEAgLTY3LDcgKzY3LDcgQEAKICMgZGVmaW5lIEFQT0xMT05fMjRYWF9HUE1DX0NPTkZJRzdfMAkoMHgwMDAwMGU0MHwoQVBPTExPTl9DUzBfQkFTRSA+PiAyNCkpCiAKIC8qIENTMTogRXRoZXJuZXQgKi8KLSMgZGVmaW5lIEFQT0xMT05fMjRYWF9HUE1DX0NPTkZJRzFfMQkweDAwMDExMjAwCisjIGRlZmluZSBBUE9MTE9OXzI0WFhfR1BNQ19DT05GSUcxXzEJMHgwMDAxMTIwMwogIyBkZWZpbmUgQVBPTExPTl8yNFhYX0dQTUNfQ09ORklHMl8xCTB4MDAxRjFGMDEKICMgZGVmaW5lIEFQT0xMT05fMjRYWF9HUE1DX0NPTkZJRzNfMQkweDAwMDgwODAzCiAjIGRlZmluZSBBUE9MTE9OXzI0WFhfR1BNQ19DT05GSUc0XzEJMHgxQzBiMUMwYQpkaWZmIC0tZ2l0IGEvYm9hcmQvYXJtYWRpbGxvL01ha2VmaWxlIGIvYm9hcmQvYXJtYWRpbGxvL01ha2VmaWxlCmluZGV4IDEzODBlOTIuLmIxOGU0MmIgMTAwNjQ0Ci0tLSBhL2JvYXJkL2FybWFkaWxsby9NYWtlZmlsZQorKysgYi9ib2FyZC9hcm1hZGlsbG8vTWFrZWZpbGUKQEAgLTQzLDcgKzQzLDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL2Fzc2FiZXQvTWFrZWZpbGUgYi9ib2FyZC9hc3NhYmV0L01ha2VmaWxlCmluZGV4IDg3MmM3ZmIuLjAzZjA3NjIgMTAwNjQ0Ci0tLSBhL2JvYXJkL2Fzc2FiZXQvTWFrZWZpbGUKKysrIGIvYm9hcmQvYXNzYWJldC9NYWtlZmlsZQpAQCAtNDEsNyArNDEsNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvYXRtZWwvYXQ5MWNhcDlhZGsvTWFrZWZpbGUgYi9ib2FyZC9hdG1lbC9hdDkxY2FwOWFkay9NYWtlZmlsZQppbmRleCBmMmI5YzEyLi4yZDJmZjJjIDEwMDY0NAotLS0gYS9ib2FyZC9hdG1lbC9hdDkxY2FwOWFkay9NYWtlZmlsZQorKysgYi9ib2FyZC9hdG1lbC9hdDkxY2FwOWFkay9NYWtlZmlsZQpAQCAtNDUsNyArNDUsNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvYXRtZWwvYXQ5MXJtOTIwMGRrL01ha2VmaWxlIGIvYm9hcmQvYXRtZWwvYXQ5MXJtOTIwMGRrL01ha2VmaWxlCm9sZCBtb2RlIDEwMDc1NQpuZXcgbW9kZSAxMDA2NDQKaW5kZXggNWI0Y2RjZi4uMmQ4MDZkMAotLS0gYS9ib2FyZC9hdG1lbC9hdDkxcm05MjAwZGsvTWFrZWZpbGUKKysrIGIvYm9hcmQvYXRtZWwvYXQ5MXJtOTIwMGRrL01ha2VmaWxlCkBAIC0zOCw3ICszOCw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9hdG1lbC9hdDkxc2FtOTI2MGVrL01ha2VmaWxlIGIvYm9hcmQvYXRtZWwvYXQ5MXNhbTkyNjBlay9NYWtlZmlsZQppbmRleCBmOTM1NDBhLi43YzhhNjEyIDEwMDY0NAotLS0gYS9ib2FyZC9hdG1lbC9hdDkxc2FtOTI2MGVrL01ha2VmaWxlCisrKyBiL2JvYXJkL2F0bWVsL2F0OTFzYW05MjYwZWsvTWFrZWZpbGUKQEAgLTQ1LDcgKzQ1LDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL2F0bWVsL2F0OTFzYW05MjYxZWsvTWFrZWZpbGUgYi9ib2FyZC9hdG1lbC9hdDkxc2FtOTI2MWVrL01ha2VmaWxlCmluZGV4IDc3MDJhOWMuLmQ3YjA2M2QgMTAwNjQ0Ci0tLSBhL2JvYXJkL2F0bWVsL2F0OTFzYW05MjYxZWsvTWFrZWZpbGUKKysrIGIvYm9hcmQvYXRtZWwvYXQ5MXNhbTkyNjFlay9NYWtlZmlsZQpAQCAtNDUsNyArNDUsNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvYXRtZWwvYXQ5MXNhbTkyNjNlay9NYWtlZmlsZSBiL2JvYXJkL2F0bWVsL2F0OTFzYW05MjYzZWsvTWFrZWZpbGUKaW5kZXggNWFkYjBiYy4uMDBhNmIwMCAxMDA2NDQKLS0tIGEvYm9hcmQvYXRtZWwvYXQ5MXNhbTkyNjNlay9NYWtlZmlsZQorKysgYi9ib2FyZC9hdG1lbC9hdDkxc2FtOTI2M2VrL01ha2VmaWxlCkBAIC00NSw3ICs0NSw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9hdG1lbC9hdDkxc2FtOXJsZWsvTWFrZWZpbGUgYi9ib2FyZC9hdG1lbC9hdDkxc2FtOXJsZWsvTWFrZWZpbGUKaW5kZXggYTg2YTkyNi4uOTAwMjljYiAxMDA2NDQKLS0tIGEvYm9hcmQvYXRtZWwvYXQ5MXNhbTlybGVrL01ha2VmaWxlCisrKyBiL2JvYXJkL2F0bWVsL2F0OTFzYW05cmxlay9NYWtlZmlsZQpAQCAtNDUsNyArNDUsNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvYXRtZWwvYXRuZ3cxMDAvYXRuZ3cxMDAuYyBiL2JvYXJkL2F0bWVsL2F0bmd3MTAwL2F0bmd3MTAwLmMKaW5kZXggMzc1ZjBlNy4uZjJjM2U3OSAxMDA2NDQKLS0tIGEvYm9hcmQvYXRtZWwvYXRuZ3cxMDAvYXRuZ3cxMDAuYworKysgYi9ib2FyZC9hdG1lbC9hdG5ndzEwMC9hdG5ndzEwMC5jCkBAIC02MCw2ICs2MCw5IEBACiAjaWYgZGVmaW5lZChDT05GSUdfTU1DKQogCWdwaW9fZW5hYmxlX21tY2koKTsKICNlbmRpZgorI2lmIGRlZmluZWQoQ09ORklHX0FUTUVMX1NQSSkKKwlncGlvX2VuYWJsZV9zcGkwKDEgPDwgMCk7CisjZW5kaWYKIAogCXJldHVybiAwOwogfQpAQCAtODksMyArOTIsMjUgQEAKIAlnZC0+YmQtPmJpX3BoeV9pZFswXSA9IDB4MDE7CiAJZ2QtPmJkLT5iaV9waHlfaWRbMV0gPSAweDAzOwogfQorCisvKiBTUEkgY2hpcCBzZWxlY3QgY29udHJvbCAqLworI2lmZGVmIENPTkZJR19BVE1FTF9TUEkKKyNpbmNsdWRlIDxzcGkuaD4KKworI2RlZmluZSBBVE5HVzEwMF9EQVRBRkxBU0hfQ1NfUElOCUdQSU9fUElOX1BBMworCitpbnQgc3BpX2NzX2lzX3ZhbGlkKHVuc2lnbmVkIGludCBidXMsIHVuc2lnbmVkIGludCBjcykKK3sKKwlyZXR1cm4gYnVzID09IDAgJiYgY3MgPT0gMDsKK30KKwordm9pZCBzcGlfY3NfYWN0aXZhdGUoc3RydWN0IHNwaV9zbGF2ZSAqc2xhdmUpCit7CisJZ3Bpb19zZXRfdmFsdWUoQVROR1cxMDBfREFUQUZMQVNIX0NTX1BJTiwgMCk7Cit9CisKK3ZvaWQgc3BpX2NzX2RlYWN0aXZhdGUoc3RydWN0IHNwaV9zbGF2ZSAqc2xhdmUpCit7CisJZ3Bpb19zZXRfdmFsdWUoQVROR1cxMDBfREFUQUZMQVNIX0NTX1BJTiwgMSk7Cit9CisjZW5kaWYgLyogQ09ORklHX0FUTUVMX1NQSSAqLwpkaWZmIC0tZ2l0IGEvYm9hcmQvYXR1bTg1NDgvTWFrZWZpbGUgYi9ib2FyZC9hdHVtODU0OC9NYWtlZmlsZQppbmRleCBhYzRlNTgzOC4uZDJlNjg5ZiAxMDA2NDQKLS0tIGEvYm9hcmQvYXR1bTg1NDgvTWFrZWZpbGUKKysrIGIvYm9hcmQvYXR1bTg1NDgvTWFrZWZpbGUKQEAgLTQyLDcgKzQyLDcgQEAKIAlybSAtZiAkKE9CSlMpICQoU09CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL2JjMzQ1MC9NYWtlZmlsZSBiL2JvYXJkL2JjMzQ1MC9NYWtlZmlsZQppbmRleCBkMGUxNDdlLi45YzFkMGNjIDEwMDY0NAotLS0gYS9ib2FyZC9iYzM0NTAvTWFrZWZpbGUKKysrIGIvYm9hcmQvYmMzNDUwL01ha2VmaWxlCkBAIC0zOCw3ICszOCw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9iZjUzMy1lemtpdC9NYWtlZmlsZSBiL2JvYXJkL2JmNTMzLWV6a2l0L01ha2VmaWxlCmluZGV4IDY2ODgwOTUuLmIyZDdhY2YgMTAwNjQ0Ci0tLSBhL2JvYXJkL2JmNTMzLWV6a2l0L01ha2VmaWxlCisrKyBiL2JvYXJkL2JmNTMzLWV6a2l0L01ha2VmaWxlCkBAIC00Niw3ICs0Niw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9iZjUzMy1zdGFtcC9NYWtlZmlsZSBiL2JvYXJkL2JmNTMzLXN0YW1wL01ha2VmaWxlCmluZGV4IDExMTVkZjguLjIxZjZhZDEgMTAwNjQ0Ci0tLSBhL2JvYXJkL2JmNTMzLXN0YW1wL01ha2VmaWxlCisrKyBiL2JvYXJkL2JmNTMzLXN0YW1wL01ha2VmaWxlCkBAIC00Niw3ICs0Niw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9iZjUzNy1zdGFtcC9NYWtlZmlsZSBiL2JvYXJkL2JmNTM3LXN0YW1wL01ha2VmaWxlCmluZGV4IGVhOGM0MzYuLmU1NDgxYmYgMTAwNjQ0Ci0tLSBhL2JvYXJkL2JmNTM3LXN0YW1wL01ha2VmaWxlCisrKyBiL2JvYXJkL2JmNTM3LXN0YW1wL01ha2VmaWxlCkBAIC00Niw3ICs0Niw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9iZjU2MS1lemtpdC9NYWtlZmlsZSBiL2JvYXJkL2JmNTYxLWV6a2l0L01ha2VmaWxlCmluZGV4IDczYmVmMjQuLmExYTQ0MzMgMTAwNjQ0Ci0tLSBhL2JvYXJkL2JmNTYxLWV6a2l0L01ha2VmaWxlCisrKyBiL2JvYXJkL2JmNTYxLWV6a2l0L01ha2VmaWxlCkBAIC00Niw3ICs0Niw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9jYW5tYi9NYWtlZmlsZSBiL2JvYXJkL2Nhbm1iL01ha2VmaWxlCmluZGV4IDIzZDQxMGQuLmI2YjY3ZDggMTAwNjQ0Ci0tLSBhL2JvYXJkL2Nhbm1iL01ha2VmaWxlCisrKyBiL2JvYXJkL2Nhbm1iL01ha2VmaWxlCkBAIC00Miw3ICs0Miw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9jZXJmMjUwL01ha2VmaWxlIGIvYm9hcmQvY2VyZjI1MC9NYWtlZmlsZQppbmRleCA1MGQwN2I4Li5hODA2YjE4IDEwMDY0NAotLS0gYS9ib2FyZC9jZXJmMjUwL01ha2VmaWxlCisrKyBiL2JvYXJkL2NlcmYyNTAvTWFrZWZpbGUKQEAgLTM5LDcgKzM5LDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL2NtNDAwOC9NYWtlZmlsZSBiL2JvYXJkL2NtNDAwOC9NYWtlZmlsZQppbmRleCBmNTM0MDQxLi5jZDNmOTYyIDEwMDY0NAotLS0gYS9ib2FyZC9jbTQwMDgvTWFrZWZpbGUKKysrIGIvYm9hcmQvY200MDA4L01ha2VmaWxlCkBAIC0zOCw3ICszOCw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9jbTQxeHgvTWFrZWZpbGUgYi9ib2FyZC9jbTQxeHgvTWFrZWZpbGUKaW5kZXggNWMyMDQ3Ny4uOTUyYThhZSAxMDA2NDQKLS0tIGEvYm9hcmQvY200MXh4L01ha2VmaWxlCisrKyBiL2JvYXJkL2NtNDF4eC9NYWtlZmlsZQpAQCAtMzgsNyArMzgsNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvY201MjAwL01ha2VmaWxlIGIvYm9hcmQvY201MjAwL01ha2VmaWxlCmluZGV4IDhlYmRiMWEuLmQ3NmUxM2EgMTAwNjQ0Ci0tLSBhL2JvYXJkL2NtNTIwMC9NYWtlZmlsZQorKysgYi9ib2FyZC9jbTUyMDAvTWFrZWZpbGUKQEAgLTM4LDcgKzM4LDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL2NtY19wdTIvTWFrZWZpbGUgYi9ib2FyZC9jbWNfcHUyL01ha2VmaWxlCm9sZCBtb2RlIDEwMDc1NQpuZXcgbW9kZSAxMDA2NDQKaW5kZXggZjdhMTM2MC4uOTc0NWViZAotLS0gYS9ib2FyZC9jbWNfcHUyL01ha2VmaWxlCisrKyBiL2JvYXJkL2NtY19wdTIvTWFrZWZpbGUKQEAgLTM4LDcgKzM4LDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL2NtaS9NYWtlZmlsZSBiL2JvYXJkL2NtaS9NYWtlZmlsZQppbmRleCA2YTQyMzA0Li5hZWViYjllIDEwMDY0NAotLS0gYS9ib2FyZC9jbWkvTWFrZWZpbGUKKysrIGIvYm9hcmQvY21pL01ha2VmaWxlCkBAIC0zOCw3ICszOCw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9jb2dlbnQvTWFrZWZpbGUgYi9ib2FyZC9jb2dlbnQvTWFrZWZpbGUKaW5kZXggY2VkMDRkZC4uYWZhMTM0NSAxMDA2NDQKLS0tIGEvYm9hcmQvY29nZW50L01ha2VmaWxlCisrKyBiL2JvYXJkL2NvZ2VudC9NYWtlZmlsZQpAQCAtMzgsNyArMzgsNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvY3JhZGxlL01ha2VmaWxlIGIvYm9hcmQvY3JhZGxlL01ha2VmaWxlCmluZGV4IDkwYTc5MDcuLjFhZTc4NWQgMTAwNjQ0Ci0tLSBhL2JvYXJkL2NyYWRsZS9NYWtlZmlsZQorKysgYi9ib2FyZC9jcmFkbGUvTWFrZWZpbGUKQEAgLTM5LDcgKzM5LDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL2NyYXkvTDEvTWFrZWZpbGUgYi9ib2FyZC9jcmF5L0wxL01ha2VmaWxlCmluZGV4IGNmZGQ2MGUuLjIxYjUxM2MgMTAwNjQ0Ci0tLSBhL2JvYXJkL2NyYXkvTDEvTWFrZWZpbGUKKysrIGIvYm9hcmQvY3JheS9MMS9NYWtlZmlsZQpAQCAtNDMsNyArNDMsNyBAQAogCQkkKG9iailib290c2NyaXB0LmltYWdlICQob2JqKWJvb3RzY3JpcHQubwogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogJChvYmopJChCT0FSRCkubyA6ICQoc3JjKSQoQk9BUkQpLmMgJChvYmopYm9vdHNjcmlwdC5vCiAKZGlmZiAtLWdpdCBhL2JvYXJkL2NzYjIyNi9NYWtlZmlsZSBiL2JvYXJkL2NzYjIyNi9NYWtlZmlsZQppbmRleCBlZWU4ZjEzLi5jMTJkYmVhIDEwMDY0NAotLS0gYS9ib2FyZC9jc2IyMjYvTWFrZWZpbGUKKysrIGIvYm9hcmQvY3NiMjI2L01ha2VmaWxlCkBAIC0zOSw3ICszOSw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9jc2IyNzIvTWFrZWZpbGUgYi9ib2FyZC9jc2IyNzIvTWFrZWZpbGUKaW5kZXggNzAzYTI1Yy4uNmQ0MmJmZiAxMDA2NDQKLS0tIGEvYm9hcmQvY3NiMjcyL01ha2VmaWxlCisrKyBiL2JvYXJkL2NzYjI3Mi9NYWtlZmlsZQpAQCAtNDIsNyArNDIsNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvY3NiNDcyL01ha2VmaWxlIGIvYm9hcmQvY3NiNDcyL01ha2VmaWxlCmluZGV4IDcwM2EyNWMuLjZkNDJiZmYgMTAwNjQ0Ci0tLSBhL2JvYXJkL2NzYjQ3Mi9NYWtlZmlsZQorKysgYi9ib2FyZC9jc2I0NzIvTWFrZWZpbGUKQEAgLTQyLDcgKzQyLDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL2NzYjYzNy9NYWtlZmlsZSBiL2JvYXJkL2NzYjYzNy9NYWtlZmlsZQppbmRleCBjZTI2M2FhLi5hYjI4NDM0IDEwMDY0NAotLS0gYS9ib2FyZC9jc2I2MzcvTWFrZWZpbGUKKysrIGIvYm9hcmQvY3NiNjM3L01ha2VmaWxlCkBAIC0zOCw3ICszOCw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9kYXZlL0IyL01ha2VmaWxlIGIvYm9hcmQvZGF2ZS9CMi9NYWtlZmlsZQppbmRleCA1NmIyODZmLi5lNzBkMmM4IDEwMDY0NAotLS0gYS9ib2FyZC9kYXZlL0IyL01ha2VmaWxlCisrKyBiL2JvYXJkL2RhdmUvQjIvTWFrZWZpbGUKQEAgLTQzLDcgKzQzLDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL2RhdmUvUFBDaGFtZWxlb25FVkIvTWFrZWZpbGUgYi9ib2FyZC9kYXZlL1BQQ2hhbWVsZW9uRVZCL01ha2VmaWxlCmluZGV4IGNiN2JlY2IuLjE4NjlmOGMgMTAwNjQ0Ci0tLSBhL2JvYXJkL2RhdmUvUFBDaGFtZWxlb25FVkIvTWFrZWZpbGUKKysrIGIvYm9hcmQvZGF2ZS9QUENoYW1lbGVvbkVWQi9NYWtlZmlsZQpAQCAtMzgsNyArMzgsNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvZGF2aW5jaS9kdi1ldm0vTWFrZWZpbGUgYi9ib2FyZC9kYXZpbmNpL2R2LWV2bS9NYWtlZmlsZQppbmRleCBmYTAwMTM4Li41NzllZmUyIDEwMDY0NAotLS0gYS9ib2FyZC9kYXZpbmNpL2R2LWV2bS9NYWtlZmlsZQorKysgYi9ib2FyZC9kYXZpbmNpL2R2LWV2bS9NYWtlZmlsZQpAQCAtNDEsNyArNDEsNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrICp+IC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICMgVGhpcyBpcyBmb3IgJChvYmopLmRlcGVuZCB0YXJnZXQKZGlmZiAtLWdpdCBhL2JvYXJkL2RhdmluY2kvc2NobW9vZ2llL01ha2VmaWxlIGIvYm9hcmQvZGF2aW5jaS9zY2htb29naWUvTWFrZWZpbGUKaW5kZXggZmEwMDEzOC4uNTc5ZWZlMiAxMDA2NDQKLS0tIGEvYm9hcmQvZGF2aW5jaS9zY2htb29naWUvTWFrZWZpbGUKKysrIGIvYm9hcmQvZGF2aW5jaS9zY2htb29naWUvTWFrZWZpbGUKQEAgLTQxLDcgKzQxLDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAqfiAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAjIFRoaXMgaXMgZm9yICQob2JqKS5kZXBlbmQgdGFyZ2V0CmRpZmYgLS1naXQgYS9ib2FyZC9kYXZpbmNpL3NmZnNkci9NYWtlZmlsZSBiL2JvYXJkL2RhdmluY2kvc2Zmc2RyL01ha2VmaWxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU3OWVmZTIKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZC9kYXZpbmNpL3NmZnNkci9NYWtlZmlsZQpAQCAtMCwwICsxLDUyIEBACisjCisjIChDKSBDb3B5cmlnaHQgMjAwMCwgMjAwMSwgMjAwMgorIyBXb2xmZ2FuZyBEZW5rLCBERU5YIFNvZnR3YXJlIEVuZ2luZWVyaW5nLCB3ZEBkZW54LmRlLgorIworIyBDb3B5cmlnaHQgKEMpIDIwMDcgU2VyZ2V5IEt1YnVzaHluIDxrc2lAa29pOC5uZXQ+CisjCisjIFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCisjIHByb2plY3QuCisjCisjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKKyMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKKyMgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisjIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sCisjIE1BIDAyMTExLTEzMDcgVVNBCisjCisKK2luY2x1ZGUgJChUT1BESVIpL2NvbmZpZy5taworCitMSUIJPSAkKG9iailsaWIkKEJPQVJEKS5hCisKK0NPQkpTCTo9IGR2X2JvYXJkLm8KK1NPQkpTCTo9IGJvYXJkX2luaXQubworCitTUkNTCTo9ICQoU09CSlM6Lm89LlMpICQoQ09CSlM6Lm89LmMpCitPQkpTCTo9ICQoYWRkcHJlZml4ICQob2JqKSwkKENPQkpTKSkKK1NPQkpTCTo9ICQoYWRkcHJlZml4ICQob2JqKSwkKFNPQkpTKSkKKworJChMSUIpOgkkKG9iaikuZGVwZW5kICQoT0JKUykgJChTT0JKUykKKwkkKEFSKSAkKEFSRkxBR1MpICRAICQoT0JKUykgJChTT0JKUykKKworY2xlYW46CisJcm0gLWYgJChTT0JKUykgJChPQkpTKQorCitkaXN0Y2xlYW46CWNsZWFuCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAorCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIFRoaXMgaXMgZm9yICQob2JqKS5kZXBlbmQgdGFyZ2V0CitpbmNsdWRlICQoU1JDVFJFRSkvcnVsZXMubWsKKworc2luY2x1ZGUgJChvYmopLmRlcGVuZAorCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCmRpZmYgLS1naXQgYS9ib2FyZC9kYXZpbmNpL3NmZnNkci9ib2FyZF9pbml0LlMgYi9ib2FyZC9kYXZpbmNpL3NmZnNkci9ib2FyZF9pbml0LlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjJkOGFkYwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkL2RhdmluY2kvc2Zmc2RyL2JvYXJkX2luaXQuUwpAQCAtMCwwICsxLDI5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA3IFNlcmdleSBLdWJ1c2h5biA8a3NpQGtvaTgubmV0PgorICoKKyAqIEJvYXJkLXNwZWNpZmljIGxvdyBsZXZlbCBpbml0aWFsaXphdGlvbiBjb2RlLiBDYWxsZWQgYXQgdGhlIHZlcnkgZW5kCisgKiBvZiBjcHUvYXJtOTI2ZWpzL2RhdmluY2kvbG93bGV2ZWxfaW5pdC5TLiBKdXN0IHJldHVybnMgaWYgdGhlcmUgaXMgbm8KKyAqIGluaXRpYWxpemF0aW9uIHJlcXVpcmVkLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgorICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sCisgKiBNQSAwMjExMS0xMzA3IFVTQQorICovCisKKyNpbmNsdWRlIDxjb25maWcuaD4KKworLmdsb2JsCWR2X2JvYXJkX2luaXQKK2R2X2JvYXJkX2luaXQ6CisKKwltb3YJcGMsIGxyCmRpZmYgLS1naXQgYS9ib2FyZC9kYXZpbmNpL3NmZnNkci9jb25maWcubWsgYi9ib2FyZC9kYXZpbmNpL3NmZnNkci9jb25maWcubWsKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZThhMzI5YwotLS0gL2Rldi9udWxsCisrKyBiL2JvYXJkL2RhdmluY2kvc2Zmc2RyL2NvbmZpZy5tawpAQCAtMCwwICsxLDI0IEBACisjCisjIChDKSBDb3B5cmlnaHQgMjAwMgorIyBHYXJ5IEplbm5lam9obiwgREVOWCBTb2Z0d2FyZSBFbmdpbmVlcmluZywgPGdqQGRlbnguZGU+CisjIERhdmlkIE11ZWxsZXIsIEVMU09GVCBBRywgPGQubXVlbGxlckBlbHNvZnQuY2g+CisjCisjIEx5cnRlY2ggU0ZGIFNEUiBib2FyZCAoQVJNOTI2RUpTKSBjcHUKKyMgc2VlIGh0dHA6Ly93d3cubHlydGVjaC5jb20vIGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIEx5cnRlY2gKKyMKKyMgU0ZGIFNEUiBib2FyZCBoYXMgMSBiYW5rIG9mIDEyOCBNQiBERFIgUkFNCisjIFBoeXNpY2FsIEFkZHJlc3M6CisjIDgwMDAnMDAwMCB0byA4N0ZGJ0ZGRkYKKyMKKyMgTGludXgtS2VybmVsIGlzIGV4cGVjdGVkIHRvIGJlIGF0IDgwMDAnODAwMCwgZW50cnkgODAwMCc4MDAwCisjIChtZW0gYmFzZSArIHJlc2VydmVkKQorIworIyBJbnRlZ3JpdHkga2VybmVsIGlzIGV4cGVjdGVkIHRvIGJlIGF0IDgwMDAnMDAwMCwgZW50cnkgODAwMCcwMEQwLAorIyB1cCB0byA4MUZGJ0ZGRkYgKHVzZXMgdXAgdG8gMzIgTUIgb2YgbWVtb3J5IGZvciB0ZXh0LCBoZWFwLCBldGMpLgorIworIyB3ZSBsb2FkIG91cnNlbGYgdG8gODQwMCcwMDAwCisjCisjCisKKyMgUHJvdmlkZSBhdCBsZWFzdCAzMk1CIHNwYWNpbmcgYmV0d2VlbiB1cyBhbmQgdGhlIEludGVncml0eSBrZXJuZWwgaW1hZ2UKK1RFWFRfQkFTRSA9IDB4ODQwMDAwMDAKZGlmZiAtLWdpdCBhL2JvYXJkL2RhdmluY2kvc2Zmc2RyL2R2X2JvYXJkLmMgYi9ib2FyZC9kYXZpbmNpL3NmZnNkci9kdl9ib2FyZC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA3NzFiNWIKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZC9kYXZpbmNpL3NmZnNkci9kdl9ib2FyZC5jCkBAIC0wLDAgKzEsMjEyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA3IFNlcmdleSBLdWJ1c2h5biA8a3NpQGtvaTgubmV0PgorICoKKyAqIFBhcnRzIGFyZSBzaGFtZWxlc3NseSBzdG9sZW4gZnJvbSB2YXJpb3VzIFRJIHNvdXJjZXMsIG9yaWdpbmFsIGNvcHlyaWdodAorICogZm9sbG93czoKKyAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA0IFRleGFzIEluc3RydW1lbnRzLgorICoKKyAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogIEZvdW5kYXRpb24sIEluYy4sIDY3NSBNYXNzIEF2ZSwgQ2FtYnJpZGdlLCBNQSAwMjEzOSwgVVNBLgorICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICovCisKKyNpbmNsdWRlIDxjb21tb24uaD4KKyNpbmNsdWRlIDxpMmMuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9oYXJkd2FyZS5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2VtYWNfZGVmcy5oPgorCitERUNMQVJFX0dMT0JBTF9EQVRBX1BUUjsKKworZXh0ZXJuIHZvaWQJdGltZXJfaW5pdCh2b2lkKTsKK2V4dGVybiBpbnQJZXRoX2h3X2luaXQodm9pZCk7CitleHRlcm4gcGh5X3QJcGh5OworCisKKy8qIFdvcmtzIG9uIEFsd2F5cyBPbiBwb3dlciBkb21haW4gb25seSAobm8gUEQgYXJndW1lbnQpICovCit2b2lkIGxwc2Nfb24odW5zaWduZWQgaW50IGlkKQoreworCWR2X3JlZ19wCW1kc3RhdCwgbWRjdGw7CisKKwlpZiAoaWQgPj0gREFWSU5DSV9MUFNDX0dFTSkKKwkJcmV0dXJuOwkJCS8qIERvbid0IHdvcmsgb24gRFNQIFBvd2VyIERvbWFpbiAqLworCisJbWRzdGF0ID0gUkVHX1AoUFNDX01EU1RBVF9CQVNFICsgKGlkICogNCkpOworCW1kY3RsID0gUkVHX1AoUFNDX01EQ1RMX0JBU0UgKyAoaWQgKiA0KSk7CisKKwl3aGlsZSAoUkVHKFBTQ19QVFNUQVQpICYgMHgwMSk7CisKKwlpZiAoKCptZHN0YXQgJiAweDFmKSA9PSAweDAzKQorCQlyZXR1cm47CQkJLyogQWxyZWFkeSBvbiBhbmQgZW5hYmxlZCAqLworCisJKm1kY3RsIHw9IDB4MDM7CisKKwkvKiBTcGVjaWFsIHRyZWF0bWVudCBmb3Igc29tZSBtb2R1bGVzIGFzIGZvciBzcHJ1ZTE0IHAuNy40LjIgKi8KKwlpZiAoKGlkID09IERBVklOQ0lfTFBTQ19WUFNTU0xWKSB8fAorCSAgICAoaWQgPT0gREFWSU5DSV9MUFNDX0VNQUMpIHx8CisJICAgIChpZCA9PSBEQVZJTkNJX0xQU0NfRU1BQ19XUkFQUEVSKSB8fAorCSAgICAoaWQgPT0gREFWSU5DSV9MUFNDX01ESU8pIHx8CisJICAgIChpZCA9PSBEQVZJTkNJX0xQU0NfVVNCKSB8fAorCSAgICAoaWQgPT0gREFWSU5DSV9MUFNDX0FUQSkgfHwKKwkgICAgKGlkID09IERBVklOQ0lfTFBTQ19WTFlOUSkgfHwKKwkgICAgKGlkID09IERBVklOQ0lfTFBTQ19VSFBJKSB8fAorCSAgICAoaWQgPT0gREFWSU5DSV9MUFNDX0REUl9FTUlGKSB8fAorCSAgICAoaWQgPT0gREFWSU5DSV9MUFNDX0FFTUlGKSB8fAorCSAgICAoaWQgPT0gREFWSU5DSV9MUFNDX01NQ19TRCkgfHwKKwkgICAgKGlkID09IERBVklOQ0lfTFBTQ19NRU1TVElDSykgfHwKKwkgICAgKGlkID09IERBVklOQ0lfTFBTQ19NY0JTUCkgfHwKKwkgICAgKGlkID09IERBVklOQ0lfTFBTQ19HUElPKSkKKwkJKiBtZGN0bCB8PSAweDIwMDsKKworCVJFRyhQU0NfUFRDTUQpID0gMHgwMTsKKworCXdoaWxlIChSRUcoUFNDX1BUU1RBVCkgJiAweDAzKTsKKwl3aGlsZSAoKCptZHN0YXQgJiAweDFmKSAhPSAweDAzKTsJLyogUHJvYmFibHkgYW4gb3ZlcmtpbGwuLi4gKi8KK30KKwordm9pZCBkc3Bfb24odm9pZCkKK3sKKwlpbnQJaTsKKworCWlmIChSRUcoUFNDX1BEU1RBVDEpICYgMHgxZikKKwkJcmV0dXJuOwkJCS8qIEFscmVhZHkgb24gKi8KKworCVJFRyhQU0NfR0JMQ1RMKSB8PSAweDAxOworCVJFRyhQU0NfUERDVEwxKSB8PSAweDAxOworCVJFRyhQU0NfUERDVEwxKSAmPSB+MHgxMDA7CisJUkVHKFBTQ19NRENUTF9CQVNFICsgKERBVklOQ0lfTFBTQ19HRU0gKiA0KSkgfD0gMHgwMzsKKwlSRUcoUFNDX01EQ1RMX0JBU0UgKyAoREFWSU5DSV9MUFNDX0dFTSAqIDQpKSAmPSAweGZmZmZmZWZmOworCVJFRyhQU0NfTURDVExfQkFTRSArIChEQVZJTkNJX0xQU0NfSU1DT1AgKiA0KSkgfD0gMHgwMzsKKwlSRUcoUFNDX01EQ1RMX0JBU0UgKyAoREFWSU5DSV9MUFNDX0lNQ09QICogNCkpICY9IDB4ZmZmZmZlZmY7CisJUkVHKFBTQ19QVENNRCkgPSAweDAyOworCisJZm9yIChpID0gMDsgaSA8IDEwMDsgaSsrKSB7CisJCWlmIChSRUcoUFNDX0VQQ1BSKSAmIDB4MDIpCisJCQlicmVhazsKKwl9CisKKwlSRUcoUFNDX0NIUF9TSFJUU1cpID0gMHgwMTsKKwlSRUcoUFNDX1BEQ1RMMSkgfD0gMHgxMDA7CisJUkVHKFBTQ19FUENDUikgPSAweDAyOworCisJZm9yIChpID0gMDsgaSA8IDEwMDsgaSsrKSB7CisJCWlmICghKFJFRyhQU0NfUFRTVEFUKSAmIDB4MDIpKQorCQkJYnJlYWs7CisJfQorCisJUkVHKFBTQ19HQkxDVEwpICY9IH4weDFmOworfQorCisKK2ludCBib2FyZF9pbml0KHZvaWQpCit7CisJLyogYXJjaCBudW1iZXIgb2YgdGhlIGJvYXJkICovCisJZ2QtPmJkLT5iaV9hcmNoX251bWJlciA9IE1BQ0hfVFlQRV9TRkZTRFI7CisKKwkvKiBhZGRyZXNzIG9mIGJvb3QgcGFyYW1ldGVycyAqLworCWdkLT5iZC0+YmlfYm9vdF9wYXJhbXMgPSBMSU5VWF9CT09UX1BBUkFNX0FERFI7CisKKwkvKiBXb3JrYXJvdW5kIGZvciBUTVMzMjBETTY0NDYgZXJyYXRhIDEuMy4yMiAqLworCVJFRyhQU0NfU0lMVkVSX0JVTExFVCkgPSAwOworCisJLyogUG93ZXIgb24gcmVxdWlyZWQgcGVyaXBoZXJhbHMgKi8KKwlscHNjX29uKERBVklOQ0lfTFBTQ19FTUFDKTsKKwlscHNjX29uKERBVklOQ0lfTFBTQ19FTUFDX1dSQVBQRVIpOworCWxwc2Nfb24oREFWSU5DSV9MUFNDX01ESU8pOworCWxwc2Nfb24oREFWSU5DSV9MUFNDX0kyQyk7CisJbHBzY19vbihEQVZJTkNJX0xQU0NfVUFSVDApOworCWxwc2Nfb24oREFWSU5DSV9MUFNDX1RJTUVSMSk7CisJbHBzY19vbihEQVZJTkNJX0xQU0NfR1BJTyk7CisKKwkvKiBQb3dlcnVwIHRoZSBEU1AgKi8KKwlkc3Bfb24oKTsKKworCS8qIEJyaW5ndXAgVUFSVDAgb3V0IG9mIHJlc2V0ICovCisJUkVHKFVBUlQwX1BXUkVNVV9NR01UKSA9IDB4MDAwMGUwMDM7CisKKwkvKiBFbmFibGUgR0lPMy4zViBjZWxscyB1c2VkIGZvciBFTUFDICovCisJUkVHKFZERDNQM1ZfUFdETikgPSAwOworCisJLyogRW5hYmxlIFVBUlQwIE1VWCBsaW5lcyAqLworCVJFRyhQSU5NVVgxKSB8PSAxOworCisJLyogRW5hYmxlIEVNQUMgYW5kIEFFTUlGIHBpbnMgKi8KKwlSRUcoUElOTVVYMCkgPSAweDgwMDAwYzFmOworCisJLyogRW5hYmxlIEkyQyBwaW4gTXV4ICovCisJUkVHKFBJTk1VWDEpIHw9ICgxIDw8IDcpOworCisJLyogU2V0IHRoZSBCdXMgUHJpb3JpdHkgUmVnaXN0ZXIgdG8gYXBwcm9wcmlhdGUgdmFsdWUgKi8KKwlSRUcoVkJQUikgPSAweDIwOworCisJdGltZXJfaW5pdCgpOworCisJcmV0dXJuKDApOworfQorCitpbnQgbWlzY19pbml0X3Iodm9pZCkKK3sKKwl1X2ludDhfdAl0bXBbMjBdLCBidWZbMTBdOworCWludAkJaSA9IDA7CisJaW50CQljbGsgPSAwOworCisJY2xrID0gKChSRUcoUExMMl9QTExNKSArIDEpICogMjcpIC8gKChSRUcoUExMMl9ESVYyKSAmIDB4MWYpICsgMSk7CisKKwlwcmludGYoIkFSTSBDbG9jazogJWRNSHpcbiIsICgoUkVHKFBMTDFfUExMTSkgKyAxKSAqIDI3KSAvIDIpOworCXByaW50ZigiRERSIENsb2NrOiAlZE1IelxuIiwgKGNsayAvIDIpKTsKKworCS8qIENvbmZpZ3VyZSBJMkMgc3dpdGNoIChQQ0E5NTQzKSB0byBlbmFibGUgY2hhbm5lbCAwLiAqLworCXRtcFswXSA9IENGR19JMkNfUENBOTU0M19FTkFCTEVfQ0gwOworCWlmIChpMmNfd3JpdGUoQ0ZHX0kyQ19QQ0E5NTQzX0FERFIsIDAsCisJCSAgICAgQ0ZHX0kyQ19QQ0E5NTQzX0FERFJfTEVOLCB0bXAsIDEpKQorCQlwcmludGYoIldyaXRlIHRvIE1VWCBAIDB4JTAyeCBmYWlsZWRcbiIsIENGR19JMkNfUENBOTU0M19BRERSKTsKKworCS8qIFNldCBFdGhlcm5ldCBNQUMgYWRkcmVzcyBmcm9tIEVFUFJPTS4KKwkgKiBXZSBtdXN0IHJlYWQgOCBieXRlcyBiZWNhdXNlIGRhdGEgaXMgc3RvcmVkIGluIGxpdHRsZS1lbmRpYW4uICovCisJaWYgKGkyY19yZWFkKENGR19JMkNfRUVQUk9NX0FERFIsIDB4MDVBOCwKKwkJICAgICBDRkdfSTJDX0VFUFJPTV9BRERSX0xFTiwgYnVmLCA4KSkgeworCQlwcmludGYoIlJlYWQgZnJvbSBFRVBST00gQCAweCUwMnggZmFpbGVkXG4iLAorCQkgICAgICAgQ0ZHX0kyQ19FRVBST01fQUREUik7CisJfSBlbHNlIHsKKwkJdG1wWzBdID0gMHhmZjsKKwkJZm9yIChpID0gMDsgaSA8IDY7IGkrKykKKwkJCXRtcFswXSAmPSBidWZbaV07CisKKwkJaWYgKCh0bXBbMF0gIT0gMHhmZikgJiYgKGdldGVudigiZXRoYWRkciIpID09IE5VTEwpKSB7CisJCQlzcHJpbnRmKChjaGFyICopJnRtcFswXSwKKwkJCQkiJTAyeDolMDJ4OiUwMng6JTAyeDolMDJ4OiUwMngiLAorCQkJCWJ1ZlszXSwgYnVmWzJdLCBidWZbMV0sIGJ1ZlswXSwKKwkJCQlidWZbN10sIGJ1Zls2XSk7CisJCQlzZXRlbnYoImV0aGFkZHIiLCAoY2hhciAqKSZ0bXBbMF0pOworCQl9CisJfQorCisJaWYgKCFldGhfaHdfaW5pdCgpKSB7CisJCXByaW50ZigiRXRoZXJuZXQgaW5pdCBmYWlsZWRcbiIpOworCX0gZWxzZSB7CisJCXByaW50ZigiRVRIIFBIWTogJXNcbiIsIHBoeS5uYW1lKTsKKwl9CisKKwlyZXR1cm4oMCk7Cit9CisKK2ludCBkcmFtX2luaXQodm9pZCkKK3sKKwlnZC0+YmQtPmJpX2RyYW1bMF0uc3RhcnQgPSBQSFlTX1NEUkFNXzE7CisJZ2QtPmJkLT5iaV9kcmFtWzBdLnNpemUgPSBQSFlTX1NEUkFNXzFfU0laRTsKKworCXJldHVybigwKTsKK30KZGlmZiAtLWdpdCBhL2JvYXJkL2RhdmluY2kvc2Zmc2RyL3UtYm9vdC5sZHMgYi9ib2FyZC9kYXZpbmNpL3NmZnNkci91LWJvb3QubGRzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE0ZmNkMWEKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZC9kYXZpbmNpL3NmZnNkci91LWJvb3QubGRzCkBAIC0wLDAgKzEsNTIgQEAKKy8qCisgKiAoQykgQ29weXJpZ2h0IDIwMDIKKyAqIEdhcnkgSmVubmVqb2huLCBERU5YIFNvZnR3YXJlIEVuZ2luZWVyaW5nLCA8Z2pAZGVueC5kZT4KKyAqCisgKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcworICogcHJvamVjdC4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKKyAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLAorICogTUEgMDIxMTEtMTMwNyBVU0EKKyAqLworCitPVVRQVVRfRk9STUFUKCJlbGYzMi1saXR0bGVhcm0iLCAiZWxmMzItbGl0dGxlYXJtIiwgImVsZjMyLWxpdHRsZWFybSIpCitPVVRQVVRfQVJDSChhcm0pCitFTlRSWShfc3RhcnQpCitTRUNUSU9OUworeworCS4gPSAweDAwMDAwMDAwOworCS4gPSBBTElHTig0KTsKKwkudGV4dAk6CisJeworCSAgY3B1L2FybTkyNmVqcy9zdGFydC5vCSgudGV4dCkKKwkgICooLnRleHQpCisJfQorCS4gPSBBTElHTig0KTsKKwkucm9kYXRhIDogeyAqKC5yb2RhdGEpIH0KKwkuID0gQUxJR04oNCk7CisJLmRhdGEgOiB7ICooLmRhdGEpIH0KKwkuID0gQUxJR04oNCk7CisJLmdvdCA6IHsgKiguZ290KSB9CisKKwkuID0gLjsKKwlfX3VfYm9vdF9jbWRfc3RhcnQgPSAuOworCS51X2Jvb3RfY21kIDogeyAqKC51X2Jvb3RfY21kKSB9CisJX191X2Jvb3RfY21kX2VuZCA9IC47CisKKwkuID0gQUxJR04oNCk7CisJX19ic3Nfc3RhcnQgPSAuOworCS5ic3MgKE5PTE9BRCkgOiB7ICooLmJzcykgfQorCV9lbmQgPSAuOworfQpkaWZmIC0tZ2l0IGEvYm9hcmQvZGF2aW5jaS9zb25hdGEvTWFrZWZpbGUgYi9ib2FyZC9kYXZpbmNpL3NvbmF0YS9NYWtlZmlsZQppbmRleCBmYTAwMTM4Li41NzllZmUyIDEwMDY0NAotLS0gYS9ib2FyZC9kYXZpbmNpL3NvbmF0YS9NYWtlZmlsZQorKysgYi9ib2FyZC9kYXZpbmNpL3NvbmF0YS9NYWtlZmlsZQpAQCAtNDEsNyArNDEsNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrICp+IC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICMgVGhpcyBpcyBmb3IgJChvYmopLmRlcGVuZCB0YXJnZXQKZGlmZiAtLWdpdCBhL2JvYXJkL2RlbHRhL01ha2VmaWxlIGIvYm9hcmQvZGVsdGEvTWFrZWZpbGUKaW5kZXggNzIxMzMyOC4uNjQ4ZTAwYyAxMDA2NDQKLS0tIGEvYm9hcmQvZGVsdGEvTWFrZWZpbGUKKysrIGIvYm9hcmQvZGVsdGEvTWFrZWZpbGUKQEAgLTQwLDcgKzQwLDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL2RucDExMTAvTWFrZWZpbGUgYi9ib2FyZC9kbnAxMTEwL01ha2VmaWxlCmluZGV4IGEwMjRlNTUuLmM1NmU5ZDEgMTAwNjQ0Ci0tLSBhL2JvYXJkL2RucDExMTAvTWFrZWZpbGUKKysrIGIvYm9hcmQvZG5wMTExMC9NYWtlZmlsZQpAQCAtMzksNyArMzksNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvZWx0ZWMvYmFiN3h4L01ha2VmaWxlIGIvYm9hcmQvZWx0ZWMvYmFiN3h4L01ha2VmaWxlCmluZGV4IGY0YjBiMDcuLjFlNzZkMjUgMTAwNjQ0Ci0tLSBhL2JvYXJkL2VsdGVjL2JhYjd4eC9NYWtlZmlsZQorKysgYi9ib2FyZC9lbHRlYy9iYWI3eHgvTWFrZWZpbGUKQEAgLTQwLDcgKzQwLDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL2VsdGVjL2VscHBjL01ha2VmaWxlIGIvYm9hcmQvZWx0ZWMvZWxwcGMvTWFrZWZpbGUKaW5kZXggNWFiOTYyMy4uMjRjYmZlZSAxMDA2NDQKLS0tIGEvYm9hcmQvZWx0ZWMvZWxwcGMvTWFrZWZpbGUKKysrIGIvYm9hcmQvZWx0ZWMvZWxwcGMvTWFrZWZpbGUKQEAgLTQwLDcgKzQwLDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL2Vtay90b3A1MjAwL01ha2VmaWxlIGIvYm9hcmQvZW1rL3RvcDUyMDAvTWFrZWZpbGUKaW5kZXggYjI1NzczOS4uODZiODg3MCAxMDA2NDQKLS0tIGEvYm9hcmQvZW1rL3RvcDUyMDAvTWFrZWZpbGUKKysrIGIvYm9hcmQvZW1rL3RvcDUyMDAvTWFrZWZpbGUKQEAgLTQyLDcgKzQyLDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL2VwNzMxMi9NYWtlZmlsZSBiL2JvYXJkL2VwNzMxMi9NYWtlZmlsZQppbmRleCA0NWVlNmNkLi43NzZhNDQ0IDEwMDY0NAotLS0gYS9ib2FyZC9lcDczMTIvTWFrZWZpbGUKKysrIGIvYm9hcmQvZXA3MzEyL01ha2VmaWxlCkBAIC00Myw3ICs0Myw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9lcDgyNDgvTWFrZWZpbGUgYi9ib2FyZC9lcDgyNDgvTWFrZWZpbGUKaW5kZXggYmU3ZTIxMy4uZGM0MGQ5YiAxMDA2NDQKLS0tIGEvYm9hcmQvZXA4MjQ4L01ha2VmaWxlCisrKyBiL2JvYXJkL2VwODI0OC9NYWtlZmlsZQpAQCAtMzgsNyArMzgsNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvZXA4MjYwL01ha2VmaWxlIGIvYm9hcmQvZXA4MjYwL01ha2VmaWxlCmluZGV4IGY3NTI0OWYuLmI4YmYzMjAgMTAwNjQ0Ci0tLSBhL2JvYXJkL2VwODI2MC9NYWtlZmlsZQorKysgYi9ib2FyZC9lcDgyNjAvTWFrZWZpbGUKQEAgLTM4LDcgKzM4LDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL2VwODJ4eG0vTWFrZWZpbGUgYi9ib2FyZC9lcDgyeHhtL01ha2VmaWxlCmluZGV4IDM0OWJlMWYuLmM2OWM0NzUgMTAwNjQ0Ci0tLSBhL2JvYXJkL2VwODJ4eG0vTWFrZWZpbGUKKysrIGIvYm9hcmQvZXA4Mnh4bS9NYWtlZmlsZQpAQCAtMzcsNyArMzcsNyBAQAogCXJtIC1mICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQgKn4KKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvZXA4OHgvTWFrZWZpbGUgYi9ib2FyZC9lcDg4eC9NYWtlZmlsZQppbmRleCBiMmZmZDI4Li42YjM3MDZkIDEwMDY0NAotLS0gYS9ib2FyZC9lcDg4eC9NYWtlZmlsZQorKysgYi9ib2FyZC9lcDg4eC9NYWtlZmlsZQpAQCAtNDEsNyArNDEsNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvZXJpYy9NYWtlZmlsZSBiL2JvYXJkL2VyaWMvTWFrZWZpbGUKaW5kZXggZjI3ZmNhNi4uODFhNDU1MiAxMDA2NDQKLS0tIGEvYm9hcmQvZXJpYy9NYWtlZmlsZQorKysgYi9ib2FyZC9lcmljL01ha2VmaWxlCkBAIC0zOSw3ICszOSw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9lc2QvYWRjaW9wL01ha2VmaWxlIGIvYm9hcmQvZXNkL2FkY2lvcC9NYWtlZmlsZQppbmRleCA0MjgzMzAwLi4wZmFkZjgxIDEwMDY0NAotLS0gYS9ib2FyZC9lc2QvYWRjaW9wL01ha2VmaWxlCisrKyBiL2JvYXJkL2VzZC9hZGNpb3AvTWFrZWZpbGUKQEAgLTQyLDcgKzQyLDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL2VzZC9hcGM0MDUvTWFrZWZpbGUgYi9ib2FyZC9lc2QvYXBjNDA1L01ha2VmaWxlCmluZGV4IGM1N2NkNmIuLjkxMTQ2MDYgMTAwNjQ0Ci0tLSBhL2JvYXJkL2VzZC9hcGM0MDUvTWFrZWZpbGUKKysrIGIvYm9hcmQvZXNkL2FwYzQwNS9NYWtlZmlsZQpAQCAtNDMsNyArNDMsNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvZXNkL2FyNDA1L01ha2VmaWxlIGIvYm9hcmQvZXNkL2FyNDA1L01ha2VmaWxlCmluZGV4IDRkNzU4NjguLmJhOTJiMjQgMTAwNjQ0Ci0tLSBhL2JvYXJkL2VzZC9hcjQwNS9NYWtlZmlsZQorKysgYi9ib2FyZC9lc2QvYXI0MDUvTWFrZWZpbGUKQEAgLTQxLDcgKzQxLDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL2VzZC9hc2g0MDUvTWFrZWZpbGUgYi9ib2FyZC9lc2QvYXNoNDA1L01ha2VmaWxlCmluZGV4IDMwOGY3NTIuLjk4YWNiNGIgMTAwNjQ0Ci0tLSBhL2JvYXJkL2VzZC9hc2g0MDUvTWFrZWZpbGUKKysrIGIvYm9hcmQvZXNkL2FzaDQwNS9NYWtlZmlsZQpAQCAtNDMsNyArNDMsNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvZXNkL2NhbmJ0L01ha2VmaWxlIGIvYm9hcmQvZXNkL2NhbmJ0L01ha2VmaWxlCmluZGV4IDRkNzU4NjguLmJhOTJiMjQgMTAwNjQ0Ci0tLSBhL2JvYXJkL2VzZC9jYW5idC9NYWtlZmlsZQorKysgYi9ib2FyZC9lc2QvY2FuYnQvTWFrZWZpbGUKQEAgLTQxLDcgKzQxLDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL2VzZC9jbXM3MDAvTWFrZWZpbGUgYi9ib2FyZC9lc2QvY21zNzAwL01ha2VmaWxlCmluZGV4IDBkNGFiMmQuLjEwOTNjNTIgMTAwNjQ0Ci0tLSBhL2JvYXJkL2VzZC9jbXM3MDAvTWFrZWZpbGUKKysrIGIvYm9hcmQvZXNkL2NtczcwMC9NYWtlZmlsZQpAQCAtNDksNyArNDksNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvZXNkL2NwY2kyZHAvTWFrZWZpbGUgYi9ib2FyZC9lc2QvY3BjaTJkcC9NYWtlZmlsZQppbmRleCAyZDRlMTg5Li45YTU2MDdmIDEwMDY0NAotLS0gYS9ib2FyZC9lc2QvY3BjaTJkcC9NYWtlZmlsZQorKysgYi9ib2FyZC9lc2QvY3BjaTJkcC9NYWtlZmlsZQpAQCAtNDEsNyArNDEsNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvZXNkL2NwY2k0MDUvTWFrZWZpbGUgYi9ib2FyZC9lc2QvY3BjaTQwNS9NYWtlZmlsZQppbmRleCBjZTc4NzZjLi4zODY3YmQ4IDEwMDY0NAotLS0gYS9ib2FyZC9lc2QvY3BjaTQwNS9NYWtlZmlsZQorKysgYi9ib2FyZC9lc2QvY3BjaTQwNS9NYWtlZmlsZQpAQCAtNDEsNyArNDEsNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvZXNkL2NwY2k1MjAwL01ha2VmaWxlIGIvYm9hcmQvZXNkL2NwY2k1MjAwL01ha2VmaWxlCmluZGV4IDY3M2E1YjkuLjRhNjQwZjYgMTAwNjQ0Ci0tLSBhL2JvYXJkL2VzZC9jcGNpNTIwMC9NYWtlZmlsZQorKysgYi9ib2FyZC9lc2QvY3BjaTUyMDAvTWFrZWZpbGUKQEAgLTQ3LDcgKzQ3LDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL2VzZC9jcGNpaXNlcjQvTWFrZWZpbGUgYi9ib2FyZC9lc2QvY3BjaWlzZXI0L01ha2VmaWxlCmluZGV4IDRkNzU4NjguLmJhOTJiMjQgMTAwNjQ0Ci0tLSBhL2JvYXJkL2VzZC9jcGNpaXNlcjQvTWFrZWZpbGUKKysrIGIvYm9hcmQvZXNkL2NwY2lpc2VyNC9NYWtlZmlsZQpAQCAtNDEsNyArNDEsNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvZXNkL2Rhc2Ffc2ltL01ha2VmaWxlIGIvYm9hcmQvZXNkL2Rhc2Ffc2ltL01ha2VmaWxlCmluZGV4IDA4MjIzNjUuLmQ3MzZhZjggMTAwNjQ0Ci0tLSBhL2JvYXJkL2VzZC9kYXNhX3NpbS9NYWtlZmlsZQorKysgYi9ib2FyZC9lc2QvZGFzYV9zaW0vTWFrZWZpbGUKQEAgLTQyLDcgKzQyLDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL2VzZC9kcDQwNS9NYWtlZmlsZSBiL2JvYXJkL2VzZC9kcDQwNS9NYWtlZmlsZQppbmRleCBkZjQ4NzY2Li44NmJkNDQ2IDEwMDY0NAotLS0gYS9ib2FyZC9lc2QvZHA0MDUvTWFrZWZpbGUKKysrIGIvYm9hcmQvZXNkL2RwNDA1L01ha2VmaWxlCkBAIC00Niw3ICs0Niw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9lc2QvZHU0MDUvTWFrZWZpbGUgYi9ib2FyZC9lc2QvZHU0MDUvTWFrZWZpbGUKaW5kZXggNGQ3NTg2OC4uYmE5MmIyNCAxMDA2NDQKLS0tIGEvYm9hcmQvZXNkL2R1NDA1L01ha2VmaWxlCisrKyBiL2JvYXJkL2VzZC9kdTQwNS9NYWtlZmlsZQpAQCAtNDEsNyArNDEsNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvZXNkL2R1NDQwL01ha2VmaWxlIGIvYm9hcmQvZXNkL2R1NDQwL01ha2VmaWxlCmluZGV4IGU5OTZhMGEuLjkwOWQwMDcgMTAwNjQ0Ci0tLSBhL2JvYXJkL2VzZC9kdTQ0MC9NYWtlZmlsZQorKysgYi9ib2FyZC9lc2QvZHU0NDAvTWFrZWZpbGUKQEAgLTM5LDcgKzM5LDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL2VzZC9oaDQwNS9NYWtlZmlsZSBiL2JvYXJkL2VzZC9oaDQwNS9NYWtlZmlsZQppbmRleCAwZTVlNTdhLi5jNTdkOTBjIDEwMDY0NAotLS0gYS9ib2FyZC9lc2QvaGg0MDUvTWFrZWZpbGUKKysrIGIvYm9hcmQvZXNkL2hoNDA1L01ha2VmaWxlCkBAIC00NCw3ICs0NCw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9lc2QvaHViNDA1L01ha2VmaWxlIGIvYm9hcmQvZXNkL2h1YjQwNS9NYWtlZmlsZQppbmRleCAzMDhmNzUyLi45OGFjYjRiIDEwMDY0NAotLS0gYS9ib2FyZC9lc2QvaHViNDA1L01ha2VmaWxlCisrKyBiL2JvYXJkL2VzZC9odWI0MDUvTWFrZWZpbGUKQEAgLTQzLDcgKzQzLDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL2VzZC9tZWNwNTIwMC9NYWtlZmlsZSBiL2JvYXJkL2VzZC9tZWNwNTIwMC9NYWtlZmlsZQppbmRleCA0NWVmZGIwLi4zZmJiOTA5IDEwMDY0NAotLS0gYS9ib2FyZC9lc2QvbWVjcDUyMDAvTWFrZWZpbGUKKysrIGIvYm9hcmQvZXNkL21lY3A1MjAwL01ha2VmaWxlCkBAIC0zOSw3ICszOSw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9lc2Qvb2NydGMvTWFrZWZpbGUgYi9ib2FyZC9lc2Qvb2NydGMvTWFrZWZpbGUKaW5kZXggOTlkODdjNC4uZWRmM2M1NiAxMDA2NDQKLS0tIGEvYm9hcmQvZXNkL29jcnRjL01ha2VmaWxlCisrKyBiL2JvYXJkL2VzZC9vY3J0Yy9NYWtlZmlsZQpAQCAtNDEsNyArNDEsNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvZXNkL3BjaTQwNS9NYWtlZmlsZSBiL2JvYXJkL2VzZC9wY2k0MDUvTWFrZWZpbGUKaW5kZXggNTNmMjE3Zi4uODYyZTg4ZCAxMDA2NDQKLS0tIGEvYm9hcmQvZXNkL3BjaTQwNS9NYWtlZmlsZQorKysgYi9ib2FyZC9lc2QvcGNpNDA1L01ha2VmaWxlCkBAIC00Myw3ICs0Myw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9lc2QvcGY1MjAwL01ha2VmaWxlIGIvYm9hcmQvZXNkL3BmNTIwMC9NYWtlZmlsZQppbmRleCAyZTU0MzE1Li5lZmQyNGZlIDEwMDY0NAotLS0gYS9ib2FyZC9lc2QvcGY1MjAwL01ha2VmaWxlCisrKyBiL2JvYXJkL2VzZC9wZjUyMDAvTWFrZWZpbGUKQEAgLTQ4LDcgKzQ4LDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL2VzZC9wbHU0MDUvTWFrZWZpbGUgYi9ib2FyZC9lc2QvcGx1NDA1L01ha2VmaWxlCmluZGV4IDBlNWU1N2EuLmM1N2Q5MGMgMTAwNjQ0Ci0tLSBhL2JvYXJkL2VzZC9wbHU0MDUvTWFrZWZpbGUKKysrIGIvYm9hcmQvZXNkL3BsdTQwNS9NYWtlZmlsZQpAQCAtNDQsNyArNDQsNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvZXNkL3BtYzQwNS9NYWtlZmlsZSBiL2JvYXJkL2VzZC9wbWM0MDUvTWFrZWZpbGUKaW5kZXggNTBkMDk2My4uMTJjMWJhNyAxMDA2NDQKLS0tIGEvYm9hcmQvZXNkL3BtYzQwNS9NYWtlZmlsZQorKysgYi9ib2FyZC9lc2QvcG1jNDA1L01ha2VmaWxlCkBAIC00Niw3ICs0Niw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9lc2QvcG1jNDQwL01ha2VmaWxlIGIvYm9hcmQvZXNkL3BtYzQ0MC9NYWtlZmlsZQppbmRleCA2OGI1NjZjLi44YzA5ZWZhIDEwMDY0NAotLS0gYS9ib2FyZC9lc2QvcG1jNDQwL01ha2VmaWxlCisrKyBiL2JvYXJkL2VzZC9wbWM0NDAvTWFrZWZpbGUKQEAgLTQ0LDcgKzQ0LDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL2VzZC92b2g0MDUvTWFrZWZpbGUgYi9ib2FyZC9lc2Qvdm9oNDA1L01ha2VmaWxlCmluZGV4IDMwOGY3NTIuLjk4YWNiNGIgMTAwNjQ0Ci0tLSBhL2JvYXJkL2VzZC92b2g0MDUvTWFrZWZpbGUKKysrIGIvYm9hcmQvZXNkL3ZvaDQwNS9NYWtlZmlsZQpAQCAtNDMsNyArNDMsNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvZXNkL3ZvbTQwNS9NYWtlZmlsZSBiL2JvYXJkL2VzZC92b200MDUvTWFrZWZpbGUKaW5kZXggZGY0ODc2Ni4uODZiZDQ0NiAxMDA2NDQKLS0tIGEvYm9hcmQvZXNkL3ZvbTQwNS9NYWtlZmlsZQorKysgYi9ib2FyZC9lc2Qvdm9tNDA1L01ha2VmaWxlCkBAIC00Niw3ICs0Niw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9lc2Qvd3VoNDA1L01ha2VmaWxlIGIvYm9hcmQvZXNkL3d1aDQwNS9NYWtlZmlsZQppbmRleCAzMDhmNzUyLi45OGFjYjRiIDEwMDY0NAotLS0gYS9ib2FyZC9lc2Qvd3VoNDA1L01ha2VmaWxlCisrKyBiL2JvYXJkL2VzZC93dWg0MDUvTWFrZWZpbGUKQEAgLTQzLDcgKzQzLDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL2V2YjQ1MTAvTWFrZWZpbGUgYi9ib2FyZC9ldmI0NTEwL01ha2VmaWxlCmluZGV4IDRmOThkNzAuLjNhYjFhYTAgMTAwNjQ0Ci0tLSBhL2JvYXJkL2V2YjQ1MTAvTWFrZWZpbGUKKysrIGIvYm9hcmQvZXZiNDUxMC9NYWtlZmlsZQpAQCAtMzksNyArMzksNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvZXhiaXRnZW4vTWFrZWZpbGUgYi9ib2FyZC9leGJpdGdlbi9NYWtlZmlsZQppbmRleCA1ZTI5N2FmLi40Zjc1MmE4IDEwMDY0NAotLS0gYS9ib2FyZC9leGJpdGdlbi9NYWtlZmlsZQorKysgYi9ib2FyZC9leGJpdGdlbi9NYWtlZmlsZQpAQCAtNDAsNyArNDAsNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvZXhiaXRnZW4vZXhiaXRnZW4uYyBiL2JvYXJkL2V4Yml0Z2VuL2V4Yml0Z2VuLmMKaW5kZXggODQ2MDg5My4uZGMwN2QzZCAxMDA2NDQKLS0tIGEvYm9hcmQvZXhiaXRnZW4vZXhiaXRnZW4uYworKysgYi9ib2FyZC9leGJpdGdlbi9leGJpdGdlbi5jCkBAIC0xLDcgKzEsNiBAQAotI2luY2x1ZGUgPGFzbS90eXBlcy5oPgorI2luY2x1ZGUgPGNvbW1vbi5oPgogI2luY2x1ZGUgPGFzbS91LWJvb3QuaD4KICNpbmNsdWRlIDxhc20vcHJvY2Vzc29yLmg+Ci0jaW5jbHVkZSA8Y29tbW9uLmg+CiAjaW5jbHVkZSAiZXhiaXRnZW4uaCIKIAogdm9pZCBzZHJhbV9pbml0KHZvaWQpOwpkaWZmIC0tZ2l0IGEvYm9hcmQvZXhiaXRnZW4vZmxhc2guYyBiL2JvYXJkL2V4Yml0Z2VuL2ZsYXNoLmMKaW5kZXggZGRkZDA2ZS4uNGRkNTM4MiAxMDA2NDQKLS0tIGEvYm9hcmQvZXhiaXRnZW4vZmxhc2guYworKysgYi9ib2FyZC9leGJpdGdlbi9mbGFzaC5jCkBAIC0yOCwxMSArMjgsMTAgQEAKICAqIENocmlzIEhhbGxpbmFuIC0gRFM0LkNPTSwgSW5jLiAtIGNsaEBuZXQxcGx1cy5jb20KICAqLwogCi0jaW5jbHVkZSA8YXNtL3R5cGVzLmg+CisjaW5jbHVkZSA8Y29tbW9uLmg+CiAjaW5jbHVkZSA8YXNtL3UtYm9vdC5oPgogI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4KICNpbmNsdWRlIDxwcGM0eHguaD4KLSNpbmNsdWRlIDxjb21tb24uaD4KIAogZmxhc2hfaW5mb190CWZsYXNoX2luZm9bQ0ZHX01BWF9GTEFTSF9CQU5LU107IC8qIGluZm8gZm9yIEZMQVNIIGNoaXBzCSovCiAKZGlmZiAtLWdpdCBhL2JvYXJkL2ZyZWVzY2FsZS9jb21tb24vTWFrZWZpbGUgYi9ib2FyZC9mcmVlc2NhbGUvY29tbW9uL01ha2VmaWxlCmluZGV4IDYzNDBiNDEuLjUwOGUzYjUgMTAwNjQ0Ci0tLSBhL2JvYXJkL2ZyZWVzY2FsZS9jb21tb24vTWFrZWZpbGUKKysrIGIvYm9hcmQvZnJlZXNjYWxlL2NvbW1vbi9NYWtlZmlsZQpAQCAtNTMsNyArNTMsNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvZnJlZXNjYWxlL201Mjc1ZXZiL01ha2VmaWxlIGIvYm9hcmQvZnJlZXNjYWxlL201Mjc1ZXZiL01ha2VmaWxlCmluZGV4IDlhMGZhODAuLmVmMGIxOWUgMTAwNjQ0Ci0tLSBhL2JvYXJkL2ZyZWVzY2FsZS9tNTI3NWV2Yi9NYWtlZmlsZQorKysgYi9ib2FyZC9mcmVlc2NhbGUvbTUyNzVldmIvTWFrZWZpbGUKQEAgLTIzLDE4ICsyMywyMiBAQAogCiBpbmNsdWRlICQoVE9QRElSKS9jb25maWcubWsKIAotTElCCT0gbGliJChCT0FSRCkuYQorTElCCT0gJChvYmopbGliJChCT0FSRCkuYQogCiBPQkpTCT0gJChCT0FSRCkubyBtaWkubwogCitTUkNTCTo9ICQoU09CSlM6Lm89LlMpICQoQ09CSlM6Lm89LmMpCitPQkpTCTo9ICQoYWRkcHJlZml4ICQob2JqKSwkKENPQkpTKSkKK1NPQkpTCTo9ICQoYWRkcHJlZml4ICQob2JqKSwkKFNPQkpTKSkKKwogJChMSUIpOgkuZGVwZW5kICQoT0JKUykKLQkkKEFSKSBjcnYgJEAgJChPQkpTKQorCSQoQVIpICQoQVJGTEFHUykgJEAgJChPQkpTKQogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKLS5kZXBlbmQ6CU1ha2VmaWxlICQoU09CSlM6Lm89LlMpICQoT0JKUzoubz0uYykKLQkJJChDQykgLU0gJChDRkxBR1MpICQoU09CSlM6Lm89LlMpICQoT0JKUzoubz0uYykgPiAkQAorIyBkZWZpbmVzICQob2JqKS5kZXBlbmQgdGFyZ2V0CitpbmNsdWRlICQoU1JDVFJFRSkvcnVsZXMubWsKIAotc2luY2x1ZGUgLmRlcGVuZAorc2luY2x1ZGUgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCmRpZmYgLS1naXQgYS9ib2FyZC9mcmVlc2NhbGUvbXBjNzQ0OGhwYzIvTWFrZWZpbGUgYi9ib2FyZC9mcmVlc2NhbGUvbXBjNzQ0OGhwYzIvTWFrZWZpbGUKaW5kZXggZTNkNzU3ZC4uOTk1YWZiYyAxMDA2NDQKLS0tIGEvYm9hcmQvZnJlZXNjYWxlL21wYzc0NDhocGMyL01ha2VmaWxlCisrKyBiL2JvYXJkL2ZyZWVzY2FsZS9tcGM3NDQ4aHBjMi9NYWtlZmlsZQpAQCAtNDAsNyArNDAsNyBAQAogCiAuUEhPTlk6IGRpc3RjbGVhbgogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvZnJlZXNjYWxlL21wYzgyNjBhZHMvTWFrZWZpbGUgYi9ib2FyZC9mcmVlc2NhbGUvbXBjODI2MGFkcy9NYWtlZmlsZQppbmRleCBkZTdkODQ3Li5lMWQ0YWYwIDEwMDY0NAotLS0gYS9ib2FyZC9mcmVlc2NhbGUvbXBjODI2MGFkcy9NYWtlZmlsZQorKysgYi9ib2FyZC9mcmVlc2NhbGUvbXBjODI2MGFkcy9NYWtlZmlsZQpAQCAtMzksNyArMzksNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvZnJlZXNjYWxlL21wYzgyNjZhZHMvTWFrZWZpbGUgYi9ib2FyZC9mcmVlc2NhbGUvbXBjODI2NmFkcy9NYWtlZmlsZQppbmRleCAyOTFhMWM5Li40ZmZiODNmIDEwMDY0NAotLS0gYS9ib2FyZC9mcmVlc2NhbGUvbXBjODI2NmFkcy9NYWtlZmlsZQorKysgYi9ib2FyZC9mcmVlc2NhbGUvbXBjODI2NmFkcy9NYWtlZmlsZQpAQCAtMzgsNyArMzgsNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvZnJlZXNjYWxlL21wYzgzMTNlcmRiL01ha2VmaWxlIGIvYm9hcmQvZnJlZXNjYWxlL21wYzgzMTNlcmRiL01ha2VmaWxlCmluZGV4IGU5N2JhODEuLjdjMzRjNWUgMTAwNjQ0Ci0tLSBhL2JvYXJkL2ZyZWVzY2FsZS9tcGM4MzEzZXJkYi9NYWtlZmlsZQorKysgYi9ib2FyZC9mcmVlc2NhbGUvbXBjODMxM2VyZGIvTWFrZWZpbGUKQEAgLTM4LDcgKzM4LDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL2ZyZWVzY2FsZS9tcGM4MzE1ZXJkYi9NYWtlZmlsZSBiL2JvYXJkL2ZyZWVzY2FsZS9tcGM4MzE1ZXJkYi9NYWtlZmlsZQppbmRleCBlOTdiYTgxLi43YzM0YzVlIDEwMDY0NAotLS0gYS9ib2FyZC9mcmVlc2NhbGUvbXBjODMxNWVyZGIvTWFrZWZpbGUKKysrIGIvYm9hcmQvZnJlZXNjYWxlL21wYzgzMTVlcmRiL01ha2VmaWxlCkBAIC0zOCw3ICszOCw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9mcmVlc2NhbGUvbXBjODMyM2VyZGIvTWFrZWZpbGUgYi9ib2FyZC9mcmVlc2NhbGUvbXBjODMyM2VyZGIvTWFrZWZpbGUKaW5kZXggYWNjOTU0NC4uYzk1ZjkwZSAxMDA2NDQKLS0tIGEvYm9hcmQvZnJlZXNjYWxlL21wYzgzMjNlcmRiL01ha2VmaWxlCisrKyBiL2JvYXJkL2ZyZWVzY2FsZS9tcGM4MzIzZXJkYi9NYWtlZmlsZQpAQCAtMzgsNyArMzgsNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvZnJlZXNjYWxlL21wYzgzMnhlbWRzL01ha2VmaWxlIGIvYm9hcmQvZnJlZXNjYWxlL21wYzgzMnhlbWRzL01ha2VmaWxlCmluZGV4IDVlYzdhODcuLmE5NzExNmMgMTAwNjQ0Ci0tLSBhL2JvYXJkL2ZyZWVzY2FsZS9tcGM4MzJ4ZW1kcy9NYWtlZmlsZQorKysgYi9ib2FyZC9mcmVlc2NhbGUvbXBjODMyeGVtZHMvTWFrZWZpbGUKQEAgLTM4LDcgKzM4LDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL2ZyZWVzY2FsZS9tcGM4MzQ5ZW1kcy9NYWtlZmlsZSBiL2JvYXJkL2ZyZWVzY2FsZS9tcGM4MzQ5ZW1kcy9NYWtlZmlsZQppbmRleCA1ZWM3YTg3Li5hOTcxMTZjIDEwMDY0NAotLS0gYS9ib2FyZC9mcmVlc2NhbGUvbXBjODM0OWVtZHMvTWFrZWZpbGUKKysrIGIvYm9hcmQvZnJlZXNjYWxlL21wYzgzNDllbWRzL01ha2VmaWxlCkBAIC0zOCw3ICszOCw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9mcmVlc2NhbGUvbXBjODM0OWVtZHMvbXBjODM0OWVtZHMuYyBiL2JvYXJkL2ZyZWVzY2FsZS9tcGM4MzQ5ZW1kcy9tcGM4MzQ5ZW1kcy5jCmluZGV4IDRkNTdmYWYuLjlhMzEyYzMgMTAwNjQ0Ci0tLSBhL2JvYXJkL2ZyZWVzY2FsZS9tcGM4MzQ5ZW1kcy9tcGM4MzQ5ZW1kcy5jCisrKyBiL2JvYXJkL2ZyZWVzY2FsZS9tcGM4MzQ5ZW1kcy9tcGM4MzQ5ZW1kcy5jCkBAIC0yNTMsNyArMjUzLDcgQEAKIC8qCiAgKiBUaGUgZm9sbG93aW5nIGFyZSB1c2VkIHRvIGNvbnRyb2wgdGhlIFNQSSBjaGlwIHNlbGVjdHMgZm9yIHRoZSBTUEkgY29tbWFuZC4KICAqLwotI2lmZGVmIENPTkZJR19IQVJEX1NQSQorI2lmZGVmIENPTkZJR19NUEM4WFhYX1NQSQogCiAjZGVmaW5lIFNQSV9DU19NQVNLCTB4ODAwMDAwMDAKIApkaWZmIC0tZ2l0IGEvYm9hcmQvZnJlZXNjYWxlL21wYzgzNDlpdHgvTWFrZWZpbGUgYi9ib2FyZC9mcmVlc2NhbGUvbXBjODM0OWl0eC9NYWtlZmlsZQppbmRleCAyNjVlMzQxLi5jODFiYTY2IDEwMDY0NAotLS0gYS9ib2FyZC9mcmVlc2NhbGUvbXBjODM0OWl0eC9NYWtlZmlsZQorKysgYi9ib2FyZC9mcmVlc2NhbGUvbXBjODM0OWl0eC9NYWtlZmlsZQpAQCAtMzcsNyArMzcsNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvZnJlZXNjYWxlL21wYzgzNjBlbWRzL01ha2VmaWxlIGIvYm9hcmQvZnJlZXNjYWxlL21wYzgzNjBlbWRzL01ha2VmaWxlCmluZGV4IDVlYzdhODcuLmE5NzExNmMgMTAwNjQ0Ci0tLSBhL2JvYXJkL2ZyZWVzY2FsZS9tcGM4MzYwZW1kcy9NYWtlZmlsZQorKysgYi9ib2FyZC9mcmVlc2NhbGUvbXBjODM2MGVtZHMvTWFrZWZpbGUKQEAgLTM4LDcgKzM4LDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL2ZyZWVzY2FsZS9tcGM4MzYwZXJkay9NYWtlZmlsZSBiL2JvYXJkL2ZyZWVzY2FsZS9tcGM4MzYwZXJkay9NYWtlZmlsZQppbmRleCA1M2UwYzQ4Li5kMTczNTA0IDEwMDY0NAotLS0gYS9ib2FyZC9mcmVlc2NhbGUvbXBjODM2MGVyZGsvTWFrZWZpbGUKKysrIGIvYm9hcmQvZnJlZXNjYWxlL21wYzgzNjBlcmRrL01ha2VmaWxlCkBAIC00MCw3ICs0MCw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9mcmVlc2NhbGUvbXBjODM3eGVtZHMvTWFrZWZpbGUgYi9ib2FyZC9mcmVlc2NhbGUvbXBjODM3eGVtZHMvTWFrZWZpbGUKaW5kZXggNWVjN2E4Ny4uYTk3MTE2YyAxMDA2NDQKLS0tIGEvYm9hcmQvZnJlZXNjYWxlL21wYzgzN3hlbWRzL01ha2VmaWxlCisrKyBiL2JvYXJkL2ZyZWVzY2FsZS9tcGM4Mzd4ZW1kcy9NYWtlZmlsZQpAQCAtMzgsNyArMzgsNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvZnJlZXNjYWxlL21wYzgzN3hlcmRiL01ha2VmaWxlIGIvYm9hcmQvZnJlZXNjYWxlL21wYzgzN3hlcmRiL01ha2VmaWxlCmluZGV4IDVlYzdhODcuLmE5NzExNmMgMTAwNjQ0Ci0tLSBhL2JvYXJkL2ZyZWVzY2FsZS9tcGM4Mzd4ZXJkYi9NYWtlZmlsZQorKysgYi9ib2FyZC9mcmVlc2NhbGUvbXBjODM3eGVyZGIvTWFrZWZpbGUKQEAgLTM4LDcgKzM4LDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL2ZyZWVzY2FsZS9tcGM4NTQwYWRzL01ha2VmaWxlIGIvYm9hcmQvZnJlZXNjYWxlL21wYzg1NDBhZHMvTWFrZWZpbGUKaW5kZXggYmUyNDM4OC4uMmQ3MWNiYyAxMDA2NDQKLS0tIGEvYm9hcmQvZnJlZXNjYWxlL21wYzg1NDBhZHMvTWFrZWZpbGUKKysrIGIvYm9hcmQvZnJlZXNjYWxlL21wYzg1NDBhZHMvTWFrZWZpbGUKQEAgLTM4LDcgKzM4LDcgQEAKIAlybSAtZiAkKE9CSlMpICQoU09CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL2ZyZWVzY2FsZS9tcGM4NTQxY2RzL01ha2VmaWxlIGIvYm9hcmQvZnJlZXNjYWxlL21wYzg1NDFjZHMvTWFrZWZpbGUKaW5kZXggM2FlMmU5Ny4uOThmMTUzMCAxMDA2NDQKLS0tIGEvYm9hcmQvZnJlZXNjYWxlL21wYzg1NDFjZHMvTWFrZWZpbGUKKysrIGIvYm9hcmQvZnJlZXNjYWxlL21wYzg1NDFjZHMvTWFrZWZpbGUKQEAgLTQxLDcgKzQxLDcgQEAKIAlybSAtZiAkKE9CSlMpICQoU09CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL2ZyZWVzY2FsZS9tcGM4NTQ0ZHMvTWFrZWZpbGUgYi9ib2FyZC9mcmVlc2NhbGUvbXBjODU0NGRzL01ha2VmaWxlCmluZGV4IDUzMzY4YjIuLjNhNWVhMDAgMTAwNjQ0Ci0tLSBhL2JvYXJkL2ZyZWVzY2FsZS9tcGM4NTQ0ZHMvTWFrZWZpbGUKKysrIGIvYm9hcmQvZnJlZXNjYWxlL21wYzg1NDRkcy9NYWtlZmlsZQpAQCAtMzksNyArMzksNyBAQAogCXJtIC1mICQoT0JKUykgJChTT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvZnJlZXNjYWxlL21wYzg1NDhjZHMvTWFrZWZpbGUgYi9ib2FyZC9mcmVlc2NhbGUvbXBjODU0OGNkcy9NYWtlZmlsZQppbmRleCAzYWUyZTk3Li45OGYxNTMwIDEwMDY0NAotLS0gYS9ib2FyZC9mcmVlc2NhbGUvbXBjODU0OGNkcy9NYWtlZmlsZQorKysgYi9ib2FyZC9mcmVlc2NhbGUvbXBjODU0OGNkcy9NYWtlZmlsZQpAQCAtNDEsNyArNDEsNyBAQAogCXJtIC1mICQoT0JKUykgJChTT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvZnJlZXNjYWxlL21wYzg1NTVjZHMvTWFrZWZpbGUgYi9ib2FyZC9mcmVlc2NhbGUvbXBjODU1NWNkcy9NYWtlZmlsZQppbmRleCAzYWUyZTk3Li45OGYxNTMwIDEwMDY0NAotLS0gYS9ib2FyZC9mcmVlc2NhbGUvbXBjODU1NWNkcy9NYWtlZmlsZQorKysgYi9ib2FyZC9mcmVlc2NhbGUvbXBjODU1NWNkcy9NYWtlZmlsZQpAQCAtNDEsNyArNDEsNyBAQAogCXJtIC1mICQoT0JKUykgJChTT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvZnJlZXNjYWxlL21wYzg1NjBhZHMvTWFrZWZpbGUgYi9ib2FyZC9mcmVlc2NhbGUvbXBjODU2MGFkcy9NYWtlZmlsZQppbmRleCBiZTI0Mzg4Li4yZDcxY2JjIDEwMDY0NAotLS0gYS9ib2FyZC9mcmVlc2NhbGUvbXBjODU2MGFkcy9NYWtlZmlsZQorKysgYi9ib2FyZC9mcmVlc2NhbGUvbXBjODU2MGFkcy9NYWtlZmlsZQpAQCAtMzgsNyArMzgsNyBAQAogCXJtIC1mICQoT0JKUykgJChTT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvZnJlZXNjYWxlL21wYzg1NjhtZHMvTWFrZWZpbGUgYi9ib2FyZC9mcmVlc2NhbGUvbXBjODU2OG1kcy9NYWtlZmlsZQppbmRleCA4Mjk0ZDNiLi5lY2RjNGQzIDEwMDY0NAotLS0gYS9ib2FyZC9mcmVlc2NhbGUvbXBjODU2OG1kcy9NYWtlZmlsZQorKysgYi9ib2FyZC9mcmVlc2NhbGUvbXBjODU2OG1kcy9NYWtlZmlsZQpAQCAtMzksNyArMzksNyBAQAogCXJtIC1mICQoT0JKUykgJChTT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvZnJlZXNjYWxlL21wYzg2MTBocGNkL01ha2VmaWxlIGIvYm9hcmQvZnJlZXNjYWxlL21wYzg2MTBocGNkL01ha2VmaWxlCmluZGV4IGUxN2E5Y2IuLmE0NTdjMzIgMTAwNjQ0Ci0tLSBhL2JvYXJkL2ZyZWVzY2FsZS9tcGM4NjEwaHBjZC9NYWtlZmlsZQorKysgYi9ib2FyZC9mcmVlc2NhbGUvbXBjODYxMGhwY2QvTWFrZWZpbGUKQEAgLTQxLDcgKzQxLDcgQEAKIAogLlBIT05ZOiBkaXN0Y2xlYW4KIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL2ZyZWVzY2FsZS9tcGM4NjQxaHBjbi9NYWtlZmlsZSBiL2JvYXJkL2ZyZWVzY2FsZS9tcGM4NjQxaHBjbi9NYWtlZmlsZQppbmRleCAxMTVkZjA1Li5jMDk2ZTE1IDEwMDY0NAotLS0gYS9ib2FyZC9mcmVlc2NhbGUvbXBjODY0MWhwY24vTWFrZWZpbGUKKysrIGIvYm9hcmQvZnJlZXNjYWxlL21wYzg2NDFocGNuL01ha2VmaWxlCkBAIC0zOSw3ICszOSw3IEBACiAKIC5QSE9OWTogZGlzdGNsZWFuCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9mdW5rd2Vyay92b3Zwbi1ndy9NYWtlZmlsZSBiL2JvYXJkL2Z1bmt3ZXJrL3ZvdnBuLWd3L01ha2VmaWxlCmluZGV4IGE5YTkyOTkuLjQ5MzQyMmQgMTAwNjQ0Ci0tLSBhL2JvYXJkL2Z1bmt3ZXJrL3ZvdnBuLWd3L01ha2VmaWxlCisrKyBiL2JvYXJkL2Z1bmt3ZXJrL3ZvdnBuLWd3L01ha2VmaWxlCkBAIC0zOCw3ICszOCw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9nMjAwMC9NYWtlZmlsZSBiL2JvYXJkL2cyMDAwL01ha2VmaWxlCmluZGV4IDNjNWFhODYuLjFjNjA0NDcgMTAwNjQ0Ci0tLSBhL2JvYXJkL2cyMDAwL01ha2VmaWxlCisrKyBiL2JvYXJkL2cyMDAwL01ha2VmaWxlCkBAIC0zOCw3ICszOCw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9nYWlzbGVyL2dyX2NwY2lfYXgyMDAwL01ha2VmaWxlIGIvYm9hcmQvZ2Fpc2xlci9ncl9jcGNpX2F4MjAwMC9NYWtlZmlsZQppbmRleCBkNThmNTBkLi40YTVkNzNiIDEwMDY0NAotLS0gYS9ib2FyZC9nYWlzbGVyL2dyX2NwY2lfYXgyMDAwL01ha2VmaWxlCisrKyBiL2JvYXJkL2dhaXNsZXIvZ3JfY3BjaV9heDIwMDAvTWFrZWZpbGUKQEAgLTQwLDcgKzQwLDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL2dhaXNsZXIvZ3JfZXAyczYwL01ha2VmaWxlIGIvYm9hcmQvZ2Fpc2xlci9ncl9lcDJzNjAvTWFrZWZpbGUKaW5kZXggZDU4ZjUwZC4uNGE1ZDczYiAxMDA2NDQKLS0tIGEvYm9hcmQvZ2Fpc2xlci9ncl9lcDJzNjAvTWFrZWZpbGUKKysrIGIvYm9hcmQvZ2Fpc2xlci9ncl9lcDJzNjAvTWFrZWZpbGUKQEAgLTQwLDcgKzQwLDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL2dhaXNsZXIvZ3JfeGMzc18xNTAwL01ha2VmaWxlIGIvYm9hcmQvZ2Fpc2xlci9ncl94YzNzXzE1MDAvTWFrZWZpbGUKaW5kZXggZDU4ZjUwZC4uNGE1ZDczYiAxMDA2NDQKLS0tIGEvYm9hcmQvZ2Fpc2xlci9ncl94YzNzXzE1MDAvTWFrZWZpbGUKKysrIGIvYm9hcmQvZ2Fpc2xlci9ncl94YzNzXzE1MDAvTWFrZWZpbGUKQEAgLTQwLDcgKzQwLDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL2dhaXNsZXIvZ3JzaW0vTWFrZWZpbGUgYi9ib2FyZC9nYWlzbGVyL2dyc2ltL01ha2VmaWxlCmluZGV4IDYyOTUxMDkuLjU2MTIzZGMgMTAwNjQ0Ci0tLSBhL2JvYXJkL2dhaXNsZXIvZ3JzaW0vTWFrZWZpbGUKKysrIGIvYm9hcmQvZ2Fpc2xlci9ncnNpbS9NYWtlZmlsZQpAQCAtMzgsNyArMzgsNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvZ2Fpc2xlci9ncnNpbV9sZW9uMi9NYWtlZmlsZSBiL2JvYXJkL2dhaXNsZXIvZ3JzaW1fbGVvbjIvTWFrZWZpbGUKaW5kZXggNjI5NTEwOS4uNTYxMjNkYyAxMDA2NDQKLS0tIGEvYm9hcmQvZ2Fpc2xlci9ncnNpbV9sZW9uMi9NYWtlZmlsZQorKysgYi9ib2FyZC9nYWlzbGVyL2dyc2ltX2xlb24yL01ha2VmaWxlCkBAIC0zOCw3ICszOCw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9nY3BsdXMvTWFrZWZpbGUgYi9ib2FyZC9nY3BsdXMvTWFrZWZpbGUKaW5kZXggOGE5NWQ4My4uN2JjNjM2YiAxMDA2NDQKLS0tIGEvYm9hcmQvZ2NwbHVzL01ha2VmaWxlCisrKyBiL2JvYXJkL2djcGx1cy9NYWtlZmlsZQpAQCAtNDEsNyArNDEsNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvZ3c4MjYwL01ha2VmaWxlIGIvYm9hcmQvZ3c4MjYwL01ha2VmaWxlCmluZGV4IDE3MDEyZGQuLmNiM2M1NjYgMTAwNjQ0Ci0tLSBhL2JvYXJkL2d3ODI2MC9NYWtlZmlsZQorKysgYi9ib2FyZC9ndzgyNjAvTWFrZWZpbGUKQEAgLTM5LDcgKzM5LDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL2htaTEwMDEvTWFrZWZpbGUgYi9ib2FyZC9obWkxMDAxL01ha2VmaWxlCmluZGV4IGRkZmQyZWYuLjQ0MmUyZDAgMTAwNjQ0Ci0tLSBhL2JvYXJkL2htaTEwMDEvTWFrZWZpbGUKKysrIGIvYm9hcmQvaG1pMTAwMS9NYWtlZmlsZQpAQCAtMzgsNyArMzgsNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvaWNlY3ViZS9NYWtlZmlsZSBiL2JvYXJkL2ljZWN1YmUvTWFrZWZpbGUKaW5kZXggNzc2MmVkMy4uYzk0ZTI0ZiAxMDA2NDQKLS0tIGEvYm9hcmQvaWNlY3ViZS9NYWtlZmlsZQorKysgYi9ib2FyZC9pY2VjdWJlL01ha2VmaWxlCkBAIC0zOSw3ICszOSw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9pbXBhNy9NYWtlZmlsZSBiL2JvYXJkL2ltcGE3L01ha2VmaWxlCmluZGV4IGI2NGQ4NWYuLjRjYjEzYjcgMTAwNjQ0Ci0tLSBhL2JvYXJkL2ltcGE3L01ha2VmaWxlCisrKyBiL2JvYXJkL2ltcGE3L01ha2VmaWxlCkBAIC0zOSw3ICszOSw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9pbXgzMV9saXRla2l0L01ha2VmaWxlIGIvYm9hcmQvaW14MzFfbGl0ZWtpdC9NYWtlZmlsZQppbmRleCBlYThjODg5Li4yMThkOTY4IDEwMDY0NAotLS0gYS9ib2FyZC9pbXgzMV9saXRla2l0L01ha2VmaWxlCisrKyBiL2JvYXJkL2lteDMxX2xpdGVraXQvTWFrZWZpbGUKQEAgLTM5LDcgKzM5LDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL2lteDMxX2xpdGVraXQvbG93bGV2ZWxfaW5pdC5TIGIvYm9hcmQvaW14MzFfbGl0ZWtpdC9sb3dsZXZlbF9pbml0LlMKaW5kZXggOWQ5NmRiOC4uMDAwM2E0MiAxMDA2NDQKLS0tIGEvYm9hcmQvaW14MzFfbGl0ZWtpdC9sb3dsZXZlbF9pbml0LlMKKysrIGIvYm9hcmQvaW14MzFfbGl0ZWtpdC9sb3dsZXZlbF9pbml0LlMKQEAgLTYyLDkgKzYyLDkgQEAKIAlSRUcJMHg0M0ZBQzI2QywgMCAvKiBTRENMSyAqLwogCVJFRwkweDQzRkFDMjcwLCAwIC8qIENBUyAqLwogCVJFRwkweDQzRkFDMjc0LCAwIC8qIFJBUyAqLwotCVJFRwkweDQzRkFDMjdDLCAweDEwMDAgLyogQ1MyCUNTRDApICovCisJUkVHCTB4NDNGQUMyN0MsIDB4MTAwMCAvKiBDUzIgKENTRDApICovCiAJUkVHCTB4NDNGQUMyODQsIDAgLyogRFFNMyAqLwotCVJFRwkweDQzRkFDMjg4LCAwIC8qIERRTTIsIERRTTEsIERRTTAsIFNEMzEtU0QwLCBBMjUtQTAsIE1BMTAJMHgyODguLjB4MkRDKSAqLworCVJFRwkweDQzRkFDMjg4LCAwIC8qIERRTTIsIERRTTEsIERRTTAsIFNEMzEtU0QwLCBBMjUtQTAsIE1BMTAgKDB4Mjg4Li4weDJEQykgKi8KIAlSRUcJMHg0M0ZBQzI4QywgMAogCVJFRwkweDQzRkFDMjkwLCAwCiAJUkVHCTB4NDNGQUMyOTQsIDAKZGlmZiAtLWdpdCBhL2JvYXJkL2lteDMxX3BoeWNvcmUvTWFrZWZpbGUgYi9ib2FyZC9pbXgzMV9waHljb3JlL01ha2VmaWxlCmluZGV4IGNiMGU4ZTguLjVlZDJiNGIgMTAwNjQ0Ci0tLSBhL2JvYXJkL2lteDMxX3BoeWNvcmUvTWFrZWZpbGUKKysrIGIvYm9hcmQvaW14MzFfcGh5Y29yZS9NYWtlZmlsZQpAQCAtMzksNyArMzksNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvaW14MzFfcGh5Y29yZS9sb3dsZXZlbF9pbml0LlMgYi9ib2FyZC9pbXgzMV9waHljb3JlL2xvd2xldmVsX2luaXQuUwppbmRleCA3MGYzMGMwLi5jNWQ2ZWIwIDEwMDY0NAotLS0gYS9ib2FyZC9pbXgzMV9waHljb3JlL2xvd2xldmVsX2luaXQuUworKysgYi9ib2FyZC9pbXgzMV9waHljb3JlL2xvd2xldmVsX2luaXQuUwpAQCAtNjMsOSArNjMsOSBAQAogCVJFRwkweDQzRkFDMjZDLCAwIC8qIFNEQ0xLICovCiAJUkVHCTB4NDNGQUMyNzAsIDAgLyogQ0FTICovCiAJUkVHCTB4NDNGQUMyNzQsIDAgLyogUkFTICovCi0JUkVHCTB4NDNGQUMyN0MsIDB4MTAwMCAvKiBDUzIJQ1NEMCkgKi8KKwlSRUcJMHg0M0ZBQzI3QywgMHgxMDAwIC8qIENTMiAoQ1NEMCkgKi8KIAlSRUcJMHg0M0ZBQzI4NCwgMCAvKiBEUU0zICovCi0JUkVHCTB4NDNGQUMyODgsIDAgLyogRFFNMiwgRFFNMSwgRFFNMCwgU0QzMS1TRDAsIEEyNS1BMCwgTUExMAkweDI4OC4uMHgyREMpICovCisJUkVHCTB4NDNGQUMyODgsIDAgLyogRFFNMiwgRFFNMSwgRFFNMCwgU0QzMS1TRDAsIEEyNS1BMCwgTUExMCAoMHgyODguLjB4MkRDKSAqLwogCVJFRwkweDQzRkFDMjhDLCAwCiAJUkVHCTB4NDNGQUMyOTAsIDAKIAlSRUcJMHg0M0ZBQzI5NCwgMApkaWZmIC0tZ2l0IGEvYm9hcmQvaW5rYTR4MC9NYWtlZmlsZSBiL2JvYXJkL2lua2E0eDAvTWFrZWZpbGUKaW5kZXggZGRmZDJlZi4uNDQyZTJkMCAxMDA2NDQKLS0tIGEvYm9hcmQvaW5rYTR4MC9NYWtlZmlsZQorKysgYi9ib2FyZC9pbmthNHgwL01ha2VmaWxlCkBAIC0zOCw3ICszOCw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9pbm5va29tL01ha2VmaWxlIGIvYm9hcmQvaW5ub2tvbS9NYWtlZmlsZQppbmRleCA3MWM2YmJhLi5hZmFlMjE3IDEwMDY0NAotLS0gYS9ib2FyZC9pbm5va29tL01ha2VmaWxlCisrKyBiL2JvYXJkL2lubm9rb20vTWFrZWZpbGUKQEAgLTM5LDcgKzM5LDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL2ludGVncmF0b3JhcC9NYWtlZmlsZSBiL2JvYXJkL2ludGVncmF0b3JhcC9NYWtlZmlsZQppbmRleCA1MDUxMjFlLi5mNzhkZTNhIDEwMDY0NAotLS0gYS9ib2FyZC9pbnRlZ3JhdG9yYXAvTWFrZWZpbGUKKysrIGIvYm9hcmQvaW50ZWdyYXRvcmFwL01ha2VmaWxlCkBAIC00Myw3ICs0Myw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9pbnRlZ3JhdG9yY3AvTWFrZWZpbGUgYi9ib2FyZC9pbnRlZ3JhdG9yY3AvTWFrZWZpbGUKaW5kZXggZTE1ZWY3My4uOTIwMWFjYyAxMDA2NDQKLS0tIGEvYm9hcmQvaW50ZWdyYXRvcmNwL01ha2VmaWxlCisrKyBiL2JvYXJkL2ludGVncmF0b3JjcC9NYWtlZmlsZQpAQCAtMzksNyArMzksNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvaXBoYXNlNDUzOS9NYWtlZmlsZSBiL2JvYXJkL2lwaGFzZTQ1MzkvTWFrZWZpbGUKaW5kZXggM2EyOGY1Yy4uODc3YWZkZSAxMDA2NDQKLS0tIGEvYm9hcmQvaXBoYXNlNDUzOS9NYWtlZmlsZQorKysgYi9ib2FyZC9pcGhhc2U0NTM5L01ha2VmaWxlCkBAIC00MCw3ICs0MCw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9pc3Bhbi9NYWtlZmlsZSBiL2JvYXJkL2lzcGFuL01ha2VmaWxlCmluZGV4IGIyZmZkMjguLjZiMzcwNmQgMTAwNjQ0Ci0tLSBhL2JvYXJkL2lzcGFuL01ha2VmaWxlCisrKyBiL2JvYXJkL2lzcGFuL01ha2VmaWxlCkBAIC00MSw3ICs0MSw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9peGRwNDI1L01ha2VmaWxlIGIvYm9hcmQvaXhkcDQyNS9NYWtlZmlsZQppbmRleCA1ZDRmZWIwLi5lZmViMzFkIDEwMDY0NAotLS0gYS9ib2FyZC9peGRwNDI1L01ha2VmaWxlCisrKyBiL2JvYXJkL2l4ZHA0MjUvTWFrZWZpbGUKQEAgLTM4LDcgKzM4LDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL2pzZS9NYWtlZmlsZSBiL2JvYXJkL2pzZS9NYWtlZmlsZQppbmRleCBlODU4YzgzLi42YmUwM2FjIDEwMDY0NAotLS0gYS9ib2FyZC9qc2UvTWFrZWZpbGUKKysrIGIvYm9hcmQvanNlL01ha2VmaWxlCkBAIC0zOSw3ICszOSw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9qdXBpdGVyL01ha2VmaWxlIGIvYm9hcmQvanVwaXRlci9NYWtlZmlsZQppbmRleCBhZWQzYWYwLi5hYTgwYTcxIDEwMDY0NAotLS0gYS9ib2FyZC9qdXBpdGVyL01ha2VmaWxlCisrKyBiL2JvYXJkL2p1cGl0ZXIvTWFrZWZpbGUKQEAgLTM5LDcgKzM5LDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL2tiOTIwMi9NYWtlZmlsZSBiL2JvYXJkL2tiOTIwMi9NYWtlZmlsZQppbmRleCAwMjA3ZDEyLi4zNjNmNjY1IDEwMDY0NAotLS0gYS9ib2FyZC9rYjkyMDIvTWFrZWZpbGUKKysrIGIvYm9hcmQva2I5MjAyL01ha2VmaWxlCkBAIC00MSw3ICs0MSw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9rb3JhdC9NYWtlZmlsZSBiL2JvYXJkL2tvcmF0L01ha2VmaWxlCmluZGV4IGZhMTllNmYuLmRmNzQ3NzQgMTAwNjQ0Ci0tLSBhL2JvYXJkL2tvcmF0L01ha2VmaWxlCisrKyBiL2JvYXJkL2tvcmF0L01ha2VmaWxlCkBAIC0zOSw3ICszOSw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9sYXJ0L01ha2VmaWxlIGIvYm9hcmQvbGFydC9NYWtlZmlsZQppbmRleCBjYmMwN2JkLi45ZWVhYTk5IDEwMDY0NAotLS0gYS9ib2FyZC9sYXJ0L01ha2VmaWxlCisrKyBiL2JvYXJkL2xhcnQvTWFrZWZpbGUKQEAgLTM5LDcgKzM5LDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL2xpbmtzdGF0aW9uL01ha2VmaWxlIGIvYm9hcmQvbGlua3N0YXRpb24vTWFrZWZpbGUKaW5kZXggOGQ5MmQ4YS4uOGY0ZGEwYyAxMDA2NDQKLS0tIGEvYm9hcmQvbGlua3N0YXRpb24vTWFrZWZpbGUKKysrIGIvYm9hcmQvbGlua3N0YXRpb24vTWFrZWZpbGUKQEAgLTMxLDcgKzMxLDcgQEAKIE9CSlMJOj0gJChhZGRwcmVmaXggJChvYmopLCQoT0JKUykpCiAKICQoTElCKToJJChvYmopLmRlcGVuZCAkKE9CSlMpCi0JJChBUikgY3J2ICRAICQoT0JKUykKKwkkKEFSKSAkKEFSRkxBR1MpICRAICQoT0JKUykKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9sb2dvZGwvTWFrZWZpbGUgYi9ib2FyZC9sb2dvZGwvTWFrZWZpbGUKaW5kZXggMGM4OGE2ZS4uMDc5NWI2YiAxMDA2NDQKLS0tIGEvYm9hcmQvbG9nb2RsL01ha2VmaWxlCisrKyBiL2JvYXJkL2xvZ29kbC9NYWtlZmlsZQpAQCAtMzksNyArMzksNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvbHBjMjI5MnNvZGltbS9NYWtlZmlsZSBiL2JvYXJkL2xwYzIyOTJzb2RpbW0vTWFrZWZpbGUKaW5kZXggMThhOTVkNy4uNGVlYjAzMiAxMDA2NDQKLS0tIGEvYm9hcmQvbHBjMjI5MnNvZGltbS9NYWtlZmlsZQorKysgYi9ib2FyZC9scGMyMjkyc29kaW1tL01ha2VmaWxlCkBAIC0zMyw3ICszMyw3IEBACiBTT0JKUwk6PSAkKGFkZHByZWZpeCAkKG9iaiksJChTT0JKVFMpKQogCiAkKExJQik6CSQob2JqKS5kZXBlbmQgJChPQkpTKSAkKFNPQkpTKQotCSQoQVIpIGNydiAkQCAkKE9CSlMpICQoU09CSlMpCisJJChBUikgJChBUkZMQUdTKSAkQCAkKE9CSlMpICQoU09CSlMpCiAKIGNsZWFuOgogCXJtIC1mICQoU09CSlMpICQoT0JKUykKZGlmZiAtLWdpdCBhL2JvYXJkL2xwZDdhNDB4L01ha2VmaWxlIGIvYm9hcmQvbHBkN2E0MHgvTWFrZWZpbGUKaW5kZXggMGUzMDJkOS4uNDQ2ZmQ1YiAxMDA2NDQKLS0tIGEvYm9hcmQvbHBkN2E0MHgvTWFrZWZpbGUKKysrIGIvYm9hcmQvbHBkN2E0MHgvTWFrZWZpbGUKQEAgLTM5LDcgKzM5LDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL2x1YmJvY2svTWFrZWZpbGUgYi9ib2FyZC9sdWJib2NrL01ha2VmaWxlCmluZGV4IDhlMzk3YjQuLjY1OTIzMDcgMTAwNjQ0Ci0tLSBhL2JvYXJkL2x1YmJvY2svTWFrZWZpbGUKKysrIGIvYm9hcmQvbHViYm9jay9NYWtlZmlsZQpAQCAtNDAsNyArNDAsNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvbHdtb241L01ha2VmaWxlIGIvYm9hcmQvbHdtb241L01ha2VmaWxlCmluZGV4IDJhOTM1NzEuLjViYjI2NmYgMTAwNjQ0Ci0tLSBhL2JvYXJkL2x3bW9uNS9NYWtlZmlsZQorKysgYi9ib2FyZC9sd21vbjUvTWFrZWZpbGUKQEAgLTM5LDcgKzM5LDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL201MDFzay9NYWtlZmlsZSBiL2JvYXJkL201MDFzay9NYWtlZmlsZQppbmRleCBiNDAzMDk1Li5jNTYyYzYwIDEwMDY0NAotLS0gYS9ib2FyZC9tNTAxc2svTWFrZWZpbGUKKysrIGIvYm9hcmQvbTUwMXNrL01ha2VmaWxlCkBAIC0zNCwxMyArMzQsMTMgQEAKIFNPQkpTCTo9ICQoYWRkcHJlZml4ICQob2JqKSwkKFNPQkpTKSkKIAogJChMSUIpOgkkKE9CSlMpICQoU09CSlMpCi0JJChBUikgY3J2ICRAICQoT0JKUykgJChTT0JKUykKKwkkKEFSKSAkKEFSRkxBR1MpICRAICQoT0JKUykgJChTT0JKUykKIAogY2xlYW46CiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46ICAgICBjbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvbWNjMjAwL01ha2VmaWxlIGIvYm9hcmQvbWNjMjAwL01ha2VmaWxlCmluZGV4IDU4NjkxMTkuLmU2ZTgxY2UgMTAwNjQ0Ci0tLSBhL2JvYXJkL21jYzIwMC9NYWtlZmlsZQorKysgYi9ib2FyZC9tY2MyMDAvTWFrZWZpbGUKQEAgLTM4LDcgKzM4LDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL21nY29nZS9NYWtlZmlsZSBiL2JvYXJkL21nY29nZS9NYWtlZmlsZQppbmRleCAxYTE0MjQ0Li5kNDA4N2NjIDEwMDY0NAotLS0gYS9ib2FyZC9tZ2NvZ2UvTWFrZWZpbGUKKysrIGIvYm9hcmQvbWdjb2dlL01ha2VmaWxlCkBAIC0zOCw3ICszOCw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9tbDIvTWFrZWZpbGUgYi9ib2FyZC9tbDIvTWFrZWZpbGUKaW5kZXggNzMxZThmZS4uMmE5MzY2NiAxMDA2NDQKLS0tIGEvYm9hcmQvbWwyL01ha2VmaWxlCisrKyBiL2JvYXJkL21sMi9NYWtlZmlsZQpAQCAtMzksNyArMzksNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvbWwyL3NlcmlhbC5jIGIvYm9hcmQvbWwyL3NlcmlhbC5jCmluZGV4IDJlOWZmYTIuLmMxODgxNWIgMTAwNjQ0Ci0tLSBhL2JvYXJkL21sMi9zZXJpYWwuYworKysgYi9ib2FyZC9tbDIvc2VyaWFsLmMKQEAgLTE5LDEwICsxOSw5IEBACiAgKgogICovCiAKLSNpbmNsdWRlIDxhc20vdHlwZXMuaD4KKyNpbmNsdWRlIDxjb21tb24uaD4KICNpbmNsdWRlIDxhc20vdS1ib290Lmg+CiAjaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci5oPgotI2luY2x1ZGUgPGNvbW1vbi5oPgogI2luY2x1ZGUgPGNvbW1hbmQuaD4KICNpbmNsdWRlIDxjb25maWdzL01MMi5oPgogCmRpZmYgLS1naXQgYS9ib2FyZC9tb2RuZXQ1MC9NYWtlZmlsZSBiL2JvYXJkL21vZG5ldDUwL01ha2VmaWxlCmluZGV4IDQ1MTQxZmQuLmJlZTVhODYgMTAwNjQ0Ci0tLSBhL2JvYXJkL21vZG5ldDUwL01ha2VmaWxlCisrKyBiL2JvYXJkL21vZG5ldDUwL01ha2VmaWxlCkBAIC0zOSw3ICszOSw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9tb3Rpb25wcm8vTWFrZWZpbGUgYi9ib2FyZC9tb3Rpb25wcm8vTWFrZWZpbGUKaW5kZXggNjk4ZWFkMS4uMjJjZThlNiAxMDA2NDQKLS0tIGEvYm9hcmQvbW90aW9ucHJvL01ha2VmaWxlCisrKyBiL2JvYXJkL21vdGlvbnByby9NYWtlZmlsZQpAQCAtMzgsNyArMzgsNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvbXAydXNiL01ha2VmaWxlIGIvYm9hcmQvbXAydXNiL01ha2VmaWxlCmluZGV4IDQyM2Q3N2QuLjY3ZWZkNzIgMTAwNjQ0Ci0tLSBhL2JvYXJkL21wMnVzYi9NYWtlZmlsZQorKysgYi9ib2FyZC9tcDJ1c2IvTWFrZWZpbGUKQEAgLTM4LDcgKzM4LDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL21wYzg1NDBldmFsL01ha2VmaWxlIGIvYm9hcmQvbXBjODU0MGV2YWwvTWFrZWZpbGUKaW5kZXggMjhkNmNiOS4uMzI1ZDZkNSAxMDA2NDQKLS0tIGEvYm9hcmQvbXBjODU0MGV2YWwvTWFrZWZpbGUKKysrIGIvYm9hcmQvbXBjODU0MGV2YWwvTWFrZWZpbGUKQEAgLTM4LDcgKzM4LDcgQEAKIAlybSAtZiAkKE9CSlMpICQoU09CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL21wbC9taXA0MDUvTWFrZWZpbGUgYi9ib2FyZC9tcGwvbWlwNDA1L01ha2VmaWxlCmluZGV4IGY4ZjQzMjkuLjUzYmY4NDYgMTAwNjQ0Ci0tLSBhL2JvYXJkL21wbC9taXA0MDUvTWFrZWZpbGUKKysrIGIvYm9hcmQvbXBsL21pcDQwNS9NYWtlZmlsZQpAQCAtNDQsNyArNDQsNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvbXBsL3BhdGkvTWFrZWZpbGUgYi9ib2FyZC9tcGwvcGF0aS9NYWtlZmlsZQppbmRleCA4MmM5N2Q2Li5hZGViYTY5IDEwMDY0NAotLS0gYS9ib2FyZC9tcGwvcGF0aS9NYWtlZmlsZQorKysgYi9ib2FyZC9tcGwvcGF0aS9NYWtlZmlsZQpAQCAtNDIsNyArNDIsNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvbXBsL3BpcDQwNS9NYWtlZmlsZSBiL2JvYXJkL21wbC9waXA0MDUvTWFrZWZpbGUKaW5kZXggNzIxNDNmMC4uNTkwYzdkYSAxMDA2NDQKLS0tIGEvYm9hcmQvbXBsL3BpcDQwNS9NYWtlZmlsZQorKysgYi9ib2FyZC9tcGwvcGlwNDA1L01ha2VmaWxlCkBAIC00Nyw3ICs0Nyw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9tcGwvdmNtYTkvTWFrZWZpbGUgYi9ib2FyZC9tcGwvdmNtYTkvTWFrZWZpbGUKaW5kZXggMjA5MzIyZS4uMTBiY2IzYiAxMDA2NDQKLS0tIGEvYm9hcmQvbXBsL3ZjbWE5L01ha2VmaWxlCisrKyBiL2JvYXJkL21wbC92Y21hOS9NYWtlZmlsZQpAQCAtNDQsNyArNDQsNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvbXByMi9NYWtlZmlsZSBiL2JvYXJkL21wcjIvTWFrZWZpbGUKaW5kZXggMTdjYTE3ZS4uMDgwNDc2YiAxMDA2NDQKLS0tIGEvYm9hcmQvbXByMi9NYWtlZmlsZQorKysgYi9ib2FyZC9tcHIyL01ha2VmaWxlCkBAIC0zMCwyNSArMzAsMjkgQEAKIAogaW5jbHVkZSAkKFRPUERJUikvY29uZmlnLm1rCiAKLUxJQgk9IGxpYiQoQk9BUkQpLmEKK0xJQgk9ICQob2JqKWxpYiQoQk9BUkQpLmEKIAogT0JKUwk6PSBtcHIyLm8KIFNPQkpTCTo9IGxvd2xldmVsX2luaXQubwogCitTUkNTCTo9ICQoU09CSlM6Lm89LlMpICQoQ09CSlM6Lm89LmMpCitPQkpTCTo9ICQoYWRkcHJlZml4ICQob2JqKSwkKENPQkpTKSkKK1NPQkpTCTo9ICQoYWRkcHJlZml4ICQob2JqKSwkKFNPQkpTKSkKKwogJChMSUIpOgkkKE9CSlMpICQoU09CSlMpCi0JJChBUikgY3J2ICRAICQoT0JKUykgJChTT0JKUykKKwkkKEFSKSAkKEFSRkxBR1MpICRAICQoT0JKUykgJChTT0JKUykKIAogY2xlYW46CiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCi0uZGVwZW5kOglNYWtlZmlsZSAkKFNPQkpTOi5vPS5TKSAkKE9CSlM6Lm89LmMpCi0JCSQoQ0MpIC1NICQoQ1BQRkxBR1MpICQoU09CSlM6Lm89LlMpICQoT0JKUzoubz0uYykgPiAkQAorIyBkZWZpbmVzICQob2JqKS5kZXBlbmQgdGFyZ2V0CitpbmNsdWRlICQoU1JDVFJFRSkvcnVsZXMubWsKIAotLWluY2x1ZGUgLmRlcGVuZAorc2luY2x1ZGUgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCmRpZmYgLS1naXQgYS9ib2FyZC9tczc3MjBzZS9NYWtlZmlsZSBiL2JvYXJkL21zNzcyMHNlL01ha2VmaWxlCmluZGV4IGQxYWY5MzcuLjU0NTg4OWYgMTAwNjQ0Ci0tLSBhL2JvYXJkL21zNzcyMHNlL01ha2VmaWxlCisrKyBiL2JvYXJkL21zNzcyMHNlL01ha2VmaWxlCkBAIC0yNywyNSArMjcsMjkgQEAKIAogaW5jbHVkZSAkKFRPUERJUikvY29uZmlnLm1rCiAKLUxJQgk9IGxpYiQoQk9BUkQpLmEKK0xJQgk9ICQob2JqKWxpYiQoQk9BUkQpLmEKIAogT0JKUwk6PSBtczc3MjBzZS5vCiBTT0JKUwk6PSBsb3dsZXZlbF9pbml0Lm8KIAorU1JDUwk6PSAkKFNPQkpTOi5vPS5TKSAkKENPQkpTOi5vPS5jKQorT0JKUwk6PSAkKGFkZHByZWZpeCAkKG9iaiksJChDT0JKUykpCitTT0JKUwk6PSAkKGFkZHByZWZpeCAkKG9iaiksJChTT0JKUykpCisKICQoTElCKToJJChPQkpTKSAkKFNPQkpTKQotCSQoQVIpIGNydiAkQCAkKE9CSlMpICQoU09CSlMpCisJJChBUikgJChBUkZMQUdTKSAkQCAkKE9CSlMpICQoU09CSlMpCiAKIGNsZWFuOgogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIAotLmRlcGVuZDoJTWFrZWZpbGUgJChTT0JKUzoubz0uUykgJChPQkpTOi5vPS5jKQotCQkkKENDKSAtTSAkKENQUEZMQUdTKSAkKFNPQkpTOi5vPS5TKSAkKE9CSlM6Lm89LmMpID4gJEAKKyMgZGVmaW5lcyAkKG9iaikuZGVwZW5kIHRhcmdldAoraW5jbHVkZSAkKFNSQ1RSRUUpL3J1bGVzLm1rCiAKLS1pbmNsdWRlIC5kZXBlbmQKK3NpbmNsdWRlICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpkaWZmIC0tZ2l0IGEvYm9hcmQvbXM3NzIyc2UvTWFrZWZpbGUgYi9ib2FyZC9tczc3MjJzZS9NYWtlZmlsZQppbmRleCA2ZGVjMDEzLi43NDQ3NDRlIDEwMDY0NAotLS0gYS9ib2FyZC9tczc3MjJzZS9NYWtlZmlsZQorKysgYi9ib2FyZC9tczc3MjJzZS9NYWtlZmlsZQpAQCAtMjQsMjUgKzI0LDI5IEBACiAKIGluY2x1ZGUgJChUT1BESVIpL2NvbmZpZy5tawogCi1MSUIJPSBsaWIkKEJPQVJEKS5hCitMSUIJPSAkKG9iailsaWIkKEJPQVJEKS5hCiAKIE9CSlMJOj0gbXM3NzIyc2UubwogU09CSlMJOj0gbG93bGV2ZWxfaW5pdC5vCiAKK1NSQ1MJOj0gJChTT0JKUzoubz0uUykgJChDT0JKUzoubz0uYykKK09CSlMJOj0gJChhZGRwcmVmaXggJChvYmopLCQoQ09CSlMpKQorU09CSlMJOj0gJChhZGRwcmVmaXggJChvYmopLCQoU09CSlMpKQorCiAkKExJQik6CSQoT0JKUykgJChTT0JKUykKLQkkKEFSKSBjcnYgJEAgJChPQkpTKSAkKFNPQkpTKQorCSQoQVIpICQoQVJGTEFHUykgJEAgJChPQkpTKSAkKFNPQkpTKQogCiBjbGVhbjoKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKLS5kZXBlbmQ6CU1ha2VmaWxlICQoU09CSlM6Lm89LlMpICQoT0JKUzoubz0uYykKLQkJJChDQykgLU0gJChDUFBGTEFHUykgJChTT0JKUzoubz0uUykgJChPQkpTOi5vPS5jKSA+ICRACisjIGRlZmluZXMgJChvYmopLmRlcGVuZCB0YXJnZXQKK2luY2x1ZGUgJChTUkNUUkVFKS9ydWxlcy5tawogCi0taW5jbHVkZSAuZGVwZW5kCitzaW5jbHVkZSAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKZGlmZiAtLWdpdCBhL2JvYXJkL21zNzc1MHNlL01ha2VmaWxlIGIvYm9hcmQvbXM3NzUwc2UvTWFrZWZpbGUKaW5kZXggZjgxZDU2Yy4uZDgwNjEwMSAxMDA2NDQKLS0tIGEvYm9hcmQvbXM3NzUwc2UvTWFrZWZpbGUKKysrIGIvYm9hcmQvbXM3NzUwc2UvTWFrZWZpbGUKQEAgLTE5LDI1ICsxOSwyOSBAQAogIwogaW5jbHVkZSAkKFRPUERJUikvY29uZmlnLm1rCiAKLUxJQgk9IGxpYiQoQk9BUkQpLmEKK0xJQgk9ICQob2JqKWxpYiQoQk9BUkQpLmEKIAogT0JKUwk6PSBtczc3NTBzZS5vCiBTT0JKUwk6PSBsb3dsZXZlbF9pbml0Lm8KIAorU1JDUwk6PSAkKFNPQkpTOi5vPS5TKSAkKENPQkpTOi5vPS5jKQorT0JKUwk6PSAkKGFkZHByZWZpeCAkKG9iaiksJChDT0JKUykpCitTT0JKUwk6PSAkKGFkZHByZWZpeCAkKG9iaiksJChTT0JKUykpCisKICQoTElCKToJJChPQkpTKSAkKFNPQkpTKQotCSQoQVIpIGNydiAkQCAkKE9CSlMpICQoU09CSlMpCisJJChBUikgJChBUkZMQUdTKSAkQCAkKE9CSlMpICQoU09CSlMpCiAKIGNsZWFuOgogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKLS5kZXBlbmQ6CU1ha2VmaWxlICQoU09CSlM6Lm89LlMpICQoT0JKUzoubz0uYykKLQkkKENDKSAtTSAkKENQUEZMQUdTKSAkKFNPQkpTOi5vPS5TKSAkKE9CSlM6Lm89LmMpID4gJEAKKyMgZGVmaW5lcyAkKG9iaikuZGVwZW5kIHRhcmdldAoraW5jbHVkZSAkKFNSQ1RSRUUpL3J1bGVzLm1rCiAKLS1pbmNsdWRlIC5kZXBlbmQKK3NpbmNsdWRlICQob2JqKS5kZXBlbmQKIAotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKZGlmZiAtLWdpdCBhL2JvYXJkL211bmljZXMvTWFrZWZpbGUgYi9ib2FyZC9tdW5pY2VzL01ha2VmaWxlCmluZGV4IDA5YzYzYzMuLjU4NjJiZWQgMTAwNjQ0Ci0tLSBhL2JvYXJkL211bmljZXMvTWFrZWZpbGUKKysrIGIvYm9hcmQvbXVuaWNlcy9NYWtlZmlsZQpAQCAtMzgsNyArMzgsNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvbXZibG03L01ha2VmaWxlIGIvYm9hcmQvbXZibG03L01ha2VmaWxlCmluZGV4IDg0Y2QxNGEuLmNmYmVjZmIgMTAwNjQ0Ci0tLSBhL2JvYXJkL212YmxtNy9NYWtlZmlsZQorKysgYi9ib2FyZC9tdmJsbTcvTWFrZWZpbGUKQEAgLTM3LDcgKzM3LDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL212YmxtNy9tdmJsbTcuYyBiL2JvYXJkL212YmxtNy9tdmJsbTcuYwppbmRleCA0MWNiMzlkLi5iMDdmOTEzIDEwMDY0NAotLS0gYS9ib2FyZC9tdmJsbTcvbXZibG03LmMKKysrIGIvYm9hcmQvbXZibG03L212YmxtNy5jCkBAIC00NSw4ICs0NSw4IEBACiAKIAltc2l6ZSA9IENGR19ERFJfU0laRTsKIAlmb3IgKGRkcl9zaXplID0gbXNpemUgPDwgMjAsIGRkcl9zaXplX2xvZzIgPSAwOwotCQkoZGRyX3NpemUgPiAxKTsKLQkJZGRyX3NpemUgPSBkZHJfc2l6ZSA+PiAxLCBkZHJfc2l6ZV9sb2cyKyspIHsKKwkgICAgIChkZHJfc2l6ZSA+IDEpOworCSAgICAgZGRyX3NpemUgPSBkZHJfc2l6ZSA+PiAxLCBkZHJfc2l6ZV9sb2cyKyspIHsKIAkJaWYgKGRkcl9zaXplICYgMSkKIAkJCXJldHVybiAtMTsKIAl9CkBAIC05MCw3ICs5MCw3IEBACiAKIGludCBjaGVja2JvYXJkKHZvaWQpCiB7Ci0JcHV0cygiQm9hcmQ6IE1hdHJpeCBWaXNpb24gbXZCbHVlTFlOWC1NNyAiIE1WX1ZFUlNJT04gIlxuIik7CisJcHV0cygiQm9hcmQ6IE1hdHJpeCBWaXNpb24gbXZCbHVlTFlOWC1NN1xuIik7CiAKIAlyZXR1cm4gMDsKIH0KQEAgLTEyNywyMSArMTI3LDIxIEBACiAjaWZkZWYgQ09ORklHX0hBUkRfU1BJCiBpbnQgc3BpX2NzX2lzX3ZhbGlkKHVuc2lnbmVkIGludCBidXMsIHVuc2lnbmVkIGludCBjcykKIHsKLSAgICAgICAgcmV0dXJuIGJ1cyA9PSAwICYmIGNzID09IDA7CisJcmV0dXJuIGJ1cyA9PSAwICYmIGNzID09IDA7CiB9CiAKIHZvaWQgc3BpX2NzX2FjdGl2YXRlKHN0cnVjdCBzcGlfc2xhdmUgKnNsYXZlKQogewotICAgICAgICB2b2xhdGlsZSBncGlvODN4eF90ICppb3BkID0gJigoaW1tYXBfdCAqKUNGR19JTU1SKS0+Z3Bpb1swXTsKKwl2b2xhdGlsZSBncGlvODN4eF90ICppb3BkID0gJigoaW1tYXBfdCAqKUNGR19JTU1SKS0+Z3Bpb1swXTsKIAotICAgICAgICBpb3BkLT5kYXQgJj0gfk1WQkxNN19NTUNfQ1M7CisJaW9wZC0+ZGF0ICY9IH5NVkJMTTdfTU1DX0NTOwogfQogCiB2b2lkIHNwaV9jc19kZWFjdGl2YXRlKHN0cnVjdCBzcGlfc2xhdmUgKnNsYXZlKQogewotICAgICAgICB2b2xhdGlsZSBncGlvODN4eF90ICppb3BkID0gJigoaW1tYXBfdCAqKUNGR19JTU1SKS0+Z3Bpb1swXTsKKwl2b2xhdGlsZSBncGlvODN4eF90ICppb3BkID0gJigoaW1tYXBfdCAqKUNGR19JTU1SKS0+Z3Bpb1swXTsKIAotICAgICAgICBpb3BkLT5kYXQgfD0gfk1WQkxNN19NTUNfQ1M7CisJaW9wZC0+ZGF0IHw9IH5NVkJMTTdfTU1DX0NTOwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL2JvYXJkL214MWFkcy9NYWtlZmlsZSBiL2JvYXJkL214MWFkcy9NYWtlZmlsZQppbmRleCAxNGE4YjgxLi5iNjhiMWJkIDEwMDY0NAotLS0gYS9ib2FyZC9teDFhZHMvTWFrZWZpbGUKKysrIGIvYm9hcmQvbXgxYWRzL01ha2VmaWxlCkBAIC00Myw3ICs0Myw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9teDFmczIvTWFrZWZpbGUgYi9ib2FyZC9teDFmczIvTWFrZWZpbGUKaW5kZXggNTE2YThiOS4uZjgxZjdhYyAxMDA2NDQKLS0tIGEvYm9hcmQvbXgxZnMyL01ha2VmaWxlCisrKyBiL2JvYXJkL214MWZzMi9NYWtlZmlsZQpAQCAtMzksNyArMzksNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvbXgzMWFkcy9NYWtlZmlsZSBiL2JvYXJkL214MzFhZHMvTWFrZWZpbGUKaW5kZXggZGZhZGQ5Ni4uYTEyZjM5MSAxMDA2NDQKLS0tIGEvYm9hcmQvbXgzMWFkcy9NYWtlZmlsZQorKysgYi9ib2FyZC9teDMxYWRzL01ha2VmaWxlCkBAIC0zNSw3ICszNSw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9uZXRzdGFsL2hjdTQvTWFrZWZpbGUgYi9ib2FyZC9uZXRzdGFsL2hjdTQvTWFrZWZpbGUKaW5kZXggNTNkZjYxZS4uNjcyMmQ1MyAxMDA2NDQKLS0tIGEvYm9hcmQvbmV0c3RhbC9oY3U0L01ha2VmaWxlCisrKyBiL2JvYXJkL25ldHN0YWwvaGN1NC9NYWtlZmlsZQpAQCAtMzksNyArMzksNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvbmV0c3RhbC9oY3U1L01ha2VmaWxlIGIvYm9hcmQvbmV0c3RhbC9oY3U1L01ha2VmaWxlCmluZGV4IDVmZmFlNjUuLjQ0NTY3NzEgMTAwNjQ0Ci0tLSBhL2JvYXJkL25ldHN0YWwvaGN1NS9NYWtlZmlsZQorKysgYi9ib2FyZC9uZXRzdGFsL2hjdTUvTWFrZWZpbGUKQEAgLTQwLDcgKzQwLDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL25ldHN0YWwvbWN1MjUvTWFrZWZpbGUgYi9ib2FyZC9uZXRzdGFsL21jdTI1L01ha2VmaWxlCmluZGV4IDUzZGY2MWUuLjY3MjJkNTMgMTAwNjQ0Ci0tLSBhL2JvYXJkL25ldHN0YWwvbWN1MjUvTWFrZWZpbGUKKysrIGIvYm9hcmQvbmV0c3RhbC9tY3UyNS9NYWtlZmlsZQpAQCAtMzksNyArMzksNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvbmV0c3Rhci9NYWtlZmlsZSBiL2JvYXJkL25ldHN0YXIvTWFrZWZpbGUKaW5kZXggODhkYTJiOS4uOGQ5MTFiOCAxMDA2NDQKLS0tIGEvYm9hcmQvbmV0c3Rhci9NYWtlZmlsZQorKysgYi9ib2FyZC9uZXRzdGFyL01ha2VmaWxlCkBAIC04NCw3ICs4NCw3IEBACiAJCSQob2JqKWNyY2VrLmJpbgogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9uczk3NTBkZXYvTWFrZWZpbGUgYi9ib2FyZC9uczk3NTBkZXYvTWFrZWZpbGUKaW5kZXggYjUyMDM3Ny4uMmZmZWQ5OSAxMDA2NDQKLS0tIGEvYm9hcmQvbnM5NzUwZGV2L01ha2VmaWxlCisrKyBiL2JvYXJkL25zOTc1MGRldi9NYWtlZmlsZQpAQCAtMzksNyArMzksNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvbzJkbnQvTWFrZWZpbGUgYi9ib2FyZC9vMmRudC9NYWtlZmlsZQppbmRleCBmMzU2YmQzLi41OGFmZDdiIDEwMDY0NAotLS0gYS9ib2FyZC9vMmRudC9NYWtlZmlsZQorKysgYi9ib2FyZC9vMmRudC9NYWtlZmlsZQpAQCAtMzksNyArMzksNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvb21hcDE1MTBpbm4vTWFrZWZpbGUgYi9ib2FyZC9vbWFwMTUxMGlubi9NYWtlZmlsZQppbmRleCBmZTRiOGQ2Li5jZDIyMmRiIDEwMDY0NAotLS0gYS9ib2FyZC9vbWFwMTUxMGlubi9NYWtlZmlsZQorKysgYi9ib2FyZC9vbWFwMTUxMGlubi9NYWtlZmlsZQpAQCAtMzksNyArMzksNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvb21hcDE2MTBpbm4vTWFrZWZpbGUgYi9ib2FyZC9vbWFwMTYxMGlubi9NYWtlZmlsZQppbmRleCBjMzc1YmMxLi4xYWRjYWQ2IDEwMDY0NAotLS0gYS9ib2FyZC9vbWFwMTYxMGlubi9NYWtlZmlsZQorKysgYi9ib2FyZC9vbWFwMTYxMGlubi9NYWtlZmlsZQpAQCAtMzksNyArMzksNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvb21hcDI0MjBoNC9NYWtlZmlsZSBiL2JvYXJkL29tYXAyNDIwaDQvTWFrZWZpbGUKaW5kZXggMmYyNjQ1YS4uZjM5ZWVmMCAxMDA2NDQKLS0tIGEvYm9hcmQvb21hcDI0MjBoNC9NYWtlZmlsZQorKysgYi9ib2FyZC9vbWFwMjQyMGg0L01ha2VmaWxlCkBAIC0zOSw3ICszOSw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9vbWFwNTkxMm9zay9NYWtlZmlsZSBiL2JvYXJkL29tYXA1OTEyb3NrL01ha2VmaWxlCmluZGV4IDhlMTRjNjkuLmU5YmIwZWMgMTAwNjQ0Ci0tLSBhL2JvYXJkL29tYXA1OTEyb3NrL01ha2VmaWxlCisrKyBiL2JvYXJkL29tYXA1OTEyb3NrL01ha2VmaWxlCkBAIC0zOSw3ICszOSw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9vbWFwNzMwcDIvTWFrZWZpbGUgYi9ib2FyZC9vbWFwNzMwcDIvTWFrZWZpbGUKaW5kZXggMTA0ZmY0ZS4uMGQ3YWU2MSAxMDA2NDQKLS0tIGEvYm9hcmQvb21hcDczMHAyL01ha2VmaWxlCisrKyBiL2JvYXJkL29tYXA3MzBwMi9NYWtlZmlsZQpAQCAtMzksNyArMzksNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvcGNzNDQwZXAvTWFrZWZpbGUgYi9ib2FyZC9wY3M0NDBlcC9NYWtlZmlsZQppbmRleCAyYTNjZmJlLi40MDQ0Njg4IDEwMDY0NAotLS0gYS9ib2FyZC9wY3M0NDBlcC9NYWtlZmlsZQorKysgYi9ib2FyZC9wY3M0NDBlcC9NYWtlZmlsZQpAQCAtMzksNyArMzksNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvcGxlYjIvTWFrZWZpbGUgYi9ib2FyZC9wbGViMi9NYWtlZmlsZQppbmRleCBmZWYwZWIzLi5mYWEyNjkxIDEwMDY0NAotLS0gYS9ib2FyZC9wbGViMi9NYWtlZmlsZQorKysgYi9ib2FyZC9wbGViMi9NYWtlZmlsZQpAQCAtNDAsNyArNDAsNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvcG01MjAvTWFrZWZpbGUgYi9ib2FyZC9wbTUyMC9NYWtlZmlsZQppbmRleCA3NzYyZWQzLi5jOTRlMjRmIDEwMDY0NAotLS0gYS9ib2FyZC9wbTUyMC9NYWtlZmlsZQorKysgYi9ib2FyZC9wbTUyMC9NYWtlZmlsZQpAQCAtMzksNyArMzksNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvcG04NTQvTWFrZWZpbGUgYi9ib2FyZC9wbTg1NC9NYWtlZmlsZQppbmRleCBiZTI0Mzg4Li4yZDcxY2JjIDEwMDY0NAotLS0gYS9ib2FyZC9wbTg1NC9NYWtlZmlsZQorKysgYi9ib2FyZC9wbTg1NC9NYWtlZmlsZQpAQCAtMzgsNyArMzgsNyBAQAogCXJtIC1mICQoT0JKUykgJChTT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvcG04NTYvTWFrZWZpbGUgYi9ib2FyZC9wbTg1Ni9NYWtlZmlsZQppbmRleCBiZTI0Mzg4Li4yZDcxY2JjIDEwMDY0NAotLS0gYS9ib2FyZC9wbTg1Ni9NYWtlZmlsZQorKysgYi9ib2FyZC9wbTg1Ni9NYWtlZmlsZQpAQCAtMzgsNyArMzgsNyBAQAogCXJtIC1mICQoT0JKUykgJChTT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvcHBtYzd4eC9NYWtlZmlsZSBiL2JvYXJkL3BwbWM3eHgvTWFrZWZpbGUKaW5kZXggNWZiZWZlYi4uMjIzMzJmYiAxMDA2NDQKLS0tIGEvYm9hcmQvcHBtYzd4eC9NYWtlZmlsZQorKysgYi9ib2FyZC9wcG1jN3h4L01ha2VmaWxlCkBAIC00MCw3ICs0MCw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9wcG1jODI2MC9NYWtlZmlsZSBiL2JvYXJkL3BwbWM4MjYwL01ha2VmaWxlCmluZGV4IDdmZDU0NWIuLjFkNTZkMTYgMTAwNjQ0Ci0tLSBhL2JvYXJkL3BwbWM4MjYwL01ha2VmaWxlCisrKyBiL2JvYXJkL3BwbWM4MjYwL01ha2VmaWxlCkBAIC0zOCw3ICszOCw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9wcm9kcml2ZS9hbHByL01ha2VmaWxlIGIvYm9hcmQvcHJvZHJpdmUvYWxwci9NYWtlZmlsZQppbmRleCAwMGRjMTgwLi5lZjNhY2NiIDEwMDY0NAotLS0gYS9ib2FyZC9wcm9kcml2ZS9hbHByL01ha2VmaWxlCisrKyBiL2JvYXJkL3Byb2RyaXZlL2FscHIvTWFrZWZpbGUKQEAgLTM5LDcgKzM5LDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kICp+CisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL3Byb2RyaXZlL3AzbXgvTWFrZWZpbGUgYi9ib2FyZC9wcm9kcml2ZS9wM214L01ha2VmaWxlCmluZGV4IGJmNzRhNWEuLjg0NTZkZjMgMTAwNjQ0Ci0tLSBhL2JvYXJkL3Byb2RyaXZlL3AzbXgvTWFrZWZpbGUKKysrIGIvYm9hcmQvcHJvZHJpdmUvcDNteC9NYWtlZmlsZQpAQCAtNDMsNyArNDMsNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQgKn4KKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvcHJvZHJpdmUvcDNwNDQwL01ha2VmaWxlIGIvYm9hcmQvcHJvZHJpdmUvcDNwNDQwL01ha2VmaWxlCmluZGV4IDI2MWU1ZDQuLmI5M2YyYzMgMTAwNjQ0Ci0tLSBhL2JvYXJkL3Byb2RyaXZlL3AzcDQ0MC9NYWtlZmlsZQorKysgYi9ib2FyZC9wcm9kcml2ZS9wM3A0NDAvTWFrZWZpbGUKQEAgLTM5LDcgKzM5LDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL3Byb2RyaXZlL3BkbmIzL01ha2VmaWxlIGIvYm9hcmQvcHJvZHJpdmUvcGRuYjMvTWFrZWZpbGUKaW5kZXggMDk2ZGI2Zi4uZDA3ZjI1ZiAxMDA2NDQKLS0tIGEvYm9hcmQvcHJvZHJpdmUvcGRuYjMvTWFrZWZpbGUKKysrIGIvYm9hcmQvcHJvZHJpdmUvcGRuYjMvTWFrZWZpbGUKQEAgLTM4LDcgKzM4LDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL3BzeWVudC9wY2k1NDQxL01ha2VmaWxlIGIvYm9hcmQvcHN5ZW50L3BjaTU0NDEvTWFrZWZpbGUKaW5kZXggMzYzOWNiYS4uMzAxYjRhMCAxMDA2NDQKLS0tIGEvYm9hcmQvcHN5ZW50L3BjaTU0NDEvTWFrZWZpbGUKKysrIGIvYm9hcmQvcHN5ZW50L3BjaTU0NDEvTWFrZWZpbGUKQEAgLTQzLDcgKzQzLDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL3BzeWVudC9wazFjMjAvTWFrZWZpbGUgYi9ib2FyZC9wc3llbnQvcGsxYzIwL01ha2VmaWxlCmluZGV4IDI1NjhhNjguLmUyM2ExN2IgMTAwNjQ0Ci0tLSBhL2JvYXJkL3BzeWVudC9wazFjMjAvTWFrZWZpbGUKKysrIGIvYm9hcmQvcHN5ZW50L3BrMWMyMC9NYWtlZmlsZQpAQCAtNDMsNyArNDMsNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvcHhhMjU1X2lkcC9NYWtlZmlsZSBiL2JvYXJkL3B4YTI1NV9pZHAvTWFrZWZpbGUKaW5kZXggMzIzOTlmMC4uNDg5MmI0MiAxMDA2NDQKLS0tIGEvYm9hcmQvcHhhMjU1X2lkcC9NYWtlZmlsZQorKysgYi9ib2FyZC9weGEyNTVfaWRwL01ha2VmaWxlCkBAIC00MCw3ICs0MCw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9xdWFkMTAwaGQvTWFrZWZpbGUgYi9ib2FyZC9xdWFkMTAwaGQvTWFrZWZpbGUKaW5kZXggMjUyYWQ1YS4uZjlkYjExMiAxMDA2NDQKLS0tIGEvYm9hcmQvcXVhZDEwMGhkL01ha2VmaWxlCisrKyBiL2JvYXJkL3F1YWQxMDBoZC9NYWtlZmlsZQpAQCAtMzksNyArMzksNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvcjJkcGx1cy9NYWtlZmlsZSBiL2JvYXJkL3IyZHBsdXMvTWFrZWZpbGUKaW5kZXggZWQ2MDllYS4uODUyOTg1NyAxMDA2NDQKLS0tIGEvYm9hcmQvcjJkcGx1cy9NYWtlZmlsZQorKysgYi9ib2FyZC9yMmRwbHVzL01ha2VmaWxlCkBAIC0xOSwyNSArMTksMjkgQEAKICMKIGluY2x1ZGUgJChUT1BESVIpL2NvbmZpZy5tawogCi1MSUIJPSBsaWIkKEJPQVJEKS5hCitMSUIJPSAkKG9iailsaWIkKEJPQVJEKS5hCiAKIE9CSlMJOj0gcjJkcGx1cy5vCiBTT0JKUwk6PSBsb3dsZXZlbF9pbml0Lm8KIAorU1JDUwk6PSAkKFNPQkpTOi5vPS5TKSAkKENPQkpTOi5vPS5jKQorT0JKUwk6PSAkKGFkZHByZWZpeCAkKG9iaiksJChDT0JKUykpCitTT0JKUwk6PSAkKGFkZHByZWZpeCAkKG9iaiksJChTT0JKUykpCisKICQoTElCKToJJChPQkpTKSAkKFNPQkpTKQotCSQoQVIpIGNydiAkQCAkKE9CSlMpICQoU09CSlMpCisJJChBUikgJChBUkZMQUdTKSAkQCAkKE9CSlMpICQoU09CSlMpCiAKIGNsZWFuOgogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKLS5kZXBlbmQ6CU1ha2VmaWxlICQoU09CSlM6Lm89LlMpICQoT0JKUzoubz0uYykKLQkkKENDKSAtTSAkKENQUEZMQUdTKSAkKFNPQkpTOi5vPS5TKSAkKE9CSlM6Lm89LmMpID4gJEAKKyMgZGVmaW5lcyAkKG9iaikuZGVwZW5kIHRhcmdldAoraW5jbHVkZSAkKFNSQ1RSRUUpL3J1bGVzLm1rCiAKLS1pbmNsdWRlIC5kZXBlbmQKK3NpbmNsdWRlICQob2JqKS5kZXBlbmQKIAotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKZGlmZiAtLWdpdCBhL2JvYXJkL3I3NzgwbXAvTWFrZWZpbGUgYi9ib2FyZC9yNzc4MG1wL01ha2VmaWxlCmluZGV4IDU1NGRjYTEuLjBhYjZkMWQgMTAwNjQ0Ci0tLSBhL2JvYXJkL3I3NzgwbXAvTWFrZWZpbGUKKysrIGIvYm9hcmQvcjc3ODBtcC9NYWtlZmlsZQpAQCAtMjAsMjUgKzIwLDI5IEBACiAKIGluY2x1ZGUgJChUT1BESVIpL2NvbmZpZy5tawogCi1MSUIJPSBsaWIkKEJPQVJEKS5hCitMSUIJPSAkKG9iailsaWIkKEJPQVJEKS5hCiAKIE9CSlMJOj0gcjc3ODBtcC5vCiBTT0JKUwk6PSBsb3dsZXZlbF9pbml0Lm8KIAorU1JDUwk6PSAkKFNPQkpTOi5vPS5TKSAkKENPQkpTOi5vPS5jKQorT0JKUwk6PSAkKGFkZHByZWZpeCAkKG9iaiksJChDT0JKUykpCitTT0JKUwk6PSAkKGFkZHByZWZpeCAkKG9iaiksJChTT0JKUykpCisKICQoTElCKToJJChPQkpTKSAkKFNPQkpTKQotCSQoQVIpIGNydiAkQCAkKE9CSlMpICQoU09CSlMpCisJJChBUikgJChBUkZMQUdTKSAkQCAkKE9CSlMpICQoU09CSlMpCiAKIGNsZWFuOgogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIAotLmRlcGVuZDoJTWFrZWZpbGUgJChTT0JKUzoubz0uUykgJChPQkpTOi5vPS5jKQotCQkkKENDKSAtTSAkKENQUEZMQUdTKSAkKFNPQkpTOi5vPS5TKSAkKE9CSlM6Lm89LmMpID4gJEAKKyMgZGVmaW5lcyAkKG9iaikuZGVwZW5kIHRhcmdldAoraW5jbHVkZSAkKFNSQ1RSRUUpL3J1bGVzLm1rCiAKLS1pbmNsdWRlIC5kZXBlbmQKK3NpbmNsdWRlICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpkaWZmIC0tZ2l0IGEvYm9hcmQvcmF0dGxlci9NYWtlZmlsZSBiL2JvYXJkL3JhdHRsZXIvTWFrZWZpbGUKaW5kZXggYmU3ZTIxMy4uZGM0MGQ5YiAxMDA2NDQKLS0tIGEvYm9hcmQvcmF0dGxlci9NYWtlZmlsZQorKysgYi9ib2FyZC9yYXR0bGVyL01ha2VmaWxlCkBAIC0zOCw3ICszOCw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9ycHhzdXBlci9NYWtlZmlsZSBiL2JvYXJkL3JweHN1cGVyL01ha2VmaWxlCmluZGV4IDRiMGRjMjUuLmE3NDllMjYgMTAwNjQ0Ci0tLSBhL2JvYXJkL3JweHN1cGVyL01ha2VmaWxlCisrKyBiL2JvYXJkL3JweHN1cGVyL01ha2VmaWxlCkBAIC0zOCw3ICszOCw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9zYWNzbmcvTWFrZWZpbGUgYi9ib2FyZC9zYWNzbmcvTWFrZWZpbGUKaW5kZXggOWJiOWMxNS4uZGU4YTViMiAxMDA2NDQKLS0tIGEvYm9hcmQvc2Fjc25nL01ha2VmaWxlCisrKyBiL2JvYXJkL3NhY3NuZy9NYWtlZmlsZQpAQCAtMzgsNyArMzgsNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvc2Fjc25nL3NhY3NuZy5jIGIvYm9hcmQvc2Fjc25nL3NhY3NuZy5jCmluZGV4IGVjYmUwMjEuLmMwMGYxNGUgMTAwNjQ0Ci0tLSBhL2JvYXJkL3NhY3NuZy9zYWNzbmcuYworKysgYi9ib2FyZC9zYWNzbmcvc2Fjc25nLmMKQEAgLTIyLDggKzIyLDggQEAKICAqIE1BIDAyMTExLTEzMDcgVVNBCiAgKi8KIAotI2luY2x1ZGUgPGFzbS91LWJvb3QuaD4KICNpbmNsdWRlIDxjb21tb24uaD4KKyNpbmNsdWRlIDxhc20vdS1ib290Lmg+CiAjaW5jbHVkZSA8aW9wb3J0cy5oPgogI2luY2x1ZGUgPG1wYzgyNjAuaD4KICNpbmNsdWRlIDxpMmMuaD4KZGlmZiAtLWdpdCBhL2JvYXJkL3NhbmRidXJzdC9rYXJlZi9NYWtlZmlsZSBiL2JvYXJkL3NhbmRidXJzdC9rYXJlZi9NYWtlZmlsZQppbmRleCAzYjA5NGNlLi40OWQyNDBjIDEwMDY0NAotLS0gYS9ib2FyZC9zYW5kYnVyc3Qva2FyZWYvTWFrZWZpbGUKKysrIGIvYm9hcmQvc2FuZGJ1cnN0L2thcmVmL01ha2VmaWxlCkBAIC01Niw3ICs1Niw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZCAqfgorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9zYW5kYnVyc3QvbWV0cm9ib3gvTWFrZWZpbGUgYi9ib2FyZC9zYW5kYnVyc3QvbWV0cm9ib3gvTWFrZWZpbGUKaW5kZXggYzE0M2U1ZS4uZWIxNDkxMCAxMDA2NDQKLS0tIGEvYm9hcmQvc2FuZGJ1cnN0L21ldHJvYm94L01ha2VmaWxlCisrKyBiL2JvYXJkL3NhbmRidXJzdC9tZXRyb2JveC9NYWtlZmlsZQpAQCAtNTQsNyArNTQsNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQgKn4KKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvc2JjMjQxMHgvTWFrZWZpbGUgYi9ib2FyZC9zYmMyNDEweC9NYWtlZmlsZQppbmRleCBhNjhjMzgzLi45NWYyYWQxIDEwMDY0NAotLS0gYS9ib2FyZC9zYmMyNDEweC9NYWtlZmlsZQorKysgYi9ib2FyZC9zYmMyNDEweC9NYWtlZmlsZQpAQCAtMzksNyArMzksNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvc2JjNDA1L01ha2VmaWxlIGIvYm9hcmQvc2JjNDA1L01ha2VmaWxlCmluZGV4IDNjNWFhODYuLjFjNjA0NDcgMTAwNjQ0Ci0tLSBhL2JvYXJkL3NiYzQwNS9NYWtlZmlsZQorKysgYi9ib2FyZC9zYmM0MDUvTWFrZWZpbGUKQEAgLTM4LDcgKzM4LDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL3NiYzgyNjAvTWFrZWZpbGUgYi9ib2FyZC9zYmM4MjYwL01ha2VmaWxlCmluZGV4IDQyMmRiYzcuLjAzNGE1NTEgMTAwNjQ0Ci0tLSBhL2JvYXJkL3NiYzgyNjAvTWFrZWZpbGUKKysrIGIvYm9hcmQvc2JjODI2MC9NYWtlZmlsZQpAQCAtMzgsNyArMzgsNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvc2JjODM0OS9NYWtlZmlsZSBiL2JvYXJkL3NiYzgzNDkvTWFrZWZpbGUKaW5kZXggMDJjZjU2OS4uZmQ2YmIyZCAxMDA2NDQKLS0tIGEvYm9hcmQvc2JjODM0OS9NYWtlZmlsZQorKysgYi9ib2FyZC9zYmM4MzQ5L01ha2VmaWxlCkBAIC0zNyw3ICszNyw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9zYmM4NTQ4L01ha2VmaWxlIGIvYm9hcmQvc2JjODU0OC9NYWtlZmlsZQppbmRleCA0YjJhOWY2Li5iYjk2ZDk1IDEwMDY0NAotLS0gYS9ib2FyZC9zYmM4NTQ4L01ha2VmaWxlCisrKyBiL2JvYXJkL3NiYzg1NDgvTWFrZWZpbGUKQEAgLTQxLDcgKzQxLDcgQEAKIAlybSAtZiAkKE9CSlMpICQoU09CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL3NiYzg1NjAvTWFrZWZpbGUgYi9ib2FyZC9zYmM4NTYwL01ha2VmaWxlCmluZGV4IDRiMmE5ZjYuLmJiOTZkOTUgMTAwNjQ0Ci0tLSBhL2JvYXJkL3NiYzg1NjAvTWFrZWZpbGUKKysrIGIvYm9hcmQvc2JjODU2MC9NYWtlZmlsZQpAQCAtNDEsNyArNDEsNyBAQAogCXJtIC1mICQoT0JKUykgJChTT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvc2JjODY0MWQvTWFrZWZpbGUgYi9ib2FyZC9zYmM4NjQxZC9NYWtlZmlsZQppbmRleCAxMTVkZjA1Li5jMDk2ZTE1IDEwMDY0NAotLS0gYS9ib2FyZC9zYmM4NjQxZC9NYWtlZmlsZQorKysgYi9ib2FyZC9zYmM4NjQxZC9NYWtlZmlsZQpAQCAtMzksNyArMzksNyBAQAogCiAuUEhPTlk6IGRpc3RjbGVhbgogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvc2MzL01ha2VmaWxlIGIvYm9hcmQvc2MzL01ha2VmaWxlCmluZGV4IDRjYzJiNDEuLjg4OTg5YmQgMTAwNjQ0Ci0tLSBhL2JvYXJkL3NjMy9NYWtlZmlsZQorKysgYi9ib2FyZC9zYzMvTWFrZWZpbGUKQEAgLTM5LDcgKzM5LDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL3NjNTIwX2NkcC9NYWtlZmlsZSBiL2JvYXJkL3NjNTIwX2NkcC9NYWtlZmlsZQppbmRleCBlMTliZTUxLi4wZDI4MDBkIDEwMDY0NAotLS0gYS9ib2FyZC9zYzUyMF9jZHAvTWFrZWZpbGUKKysrIGIvYm9hcmQvc2M1MjBfY2RwL01ha2VmaWxlCkBAIC00Miw3ICs0Miw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9zYzUyMF9zcHVuay9NYWtlZmlsZSBiL2JvYXJkL3NjNTIwX3NwdW5rL01ha2VmaWxlCmluZGV4IDIyNmM3NTYuLmUwNDE3MmUgMTAwNjQ0Ci0tLSBhL2JvYXJkL3NjNTIwX3NwdW5rL01ha2VmaWxlCisrKyBiL2JvYXJkL3NjNTIwX3NwdW5rL01ha2VmaWxlCkBAIC00Miw3ICs0Miw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9zY2I5MzI4L01ha2VmaWxlIGIvYm9hcmQvc2NiOTMyOC9NYWtlZmlsZQppbmRleCA4NWI2YjA0Li4zYmFjNDc3IDEwMDY0NAotLS0gYS9ib2FyZC9zY2I5MzI4L01ha2VmaWxlCisrKyBiL2JvYXJkL3NjYjkzMjgvTWFrZWZpbGUKQEAgLTM5LDcgKzM5LDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL3NoNzc2M3JkcC9NYWtlZmlsZSBiL2JvYXJkL3NoNzc2M3JkcC9NYWtlZmlsZQppbmRleCA5ZTYzZWE3Li44YTA0NDc3IDEwMDY0NAotLS0gYS9ib2FyZC9zaDc3NjNyZHAvTWFrZWZpbGUKKysrIGIvYm9hcmQvc2g3NzYzcmRwL01ha2VmaWxlCkBAIC0yMywyNSArMjMsMjkgQEAKIAogaW5jbHVkZSAkKFRPUERJUikvY29uZmlnLm1rCiAKLUxJQgk9IGxpYiQoQk9BUkQpLmEKK0xJQgk9ICQob2JqKWxpYiQoQk9BUkQpLmEKIAogT0JKUwk6PSBzaDc3NjNyZHAubwogU09CSlMJOj0gbG93bGV2ZWxfaW5pdC5vCiAKK1NSQ1MJOj0gJChTT0JKUzoubz0uUykgJChDT0JKUzoubz0uYykKK09CSlMJOj0gJChhZGRwcmVmaXggJChvYmopLCQoQ09CSlMpKQorU09CSlMJOj0gJChhZGRwcmVmaXggJChvYmopLCQoU09CSlMpKQorCiAkKExJQik6CSQoT0JKUykgJChTT0JKUykKLQkkKEFSKSBjcnYgJEAgJChPQkpTKSAkKFNPQkpTKQorCSQoQVIpICQoQVJGTEFHUykgJEAgJChPQkpTKSAkKFNPQkpTKQogCiBjbGVhbjoKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKLS5kZXBlbmQ6CU1ha2VmaWxlICQoU09CSlM6Lm89LlMpICQoT0JKUzoubz0uYykKLQkJJChDQykgLU0gJChDUFBGTEFHUykgJChTT0JKUzoubz0uUykgJChPQkpTOi5vPS5jKSA+ICRACisjIGRlZmluZXMgJChvYmopLmRlcGVuZCB0YXJnZXQKK2luY2x1ZGUgJChTUkNUUkVFKS9ydWxlcy5tawogCi0taW5jbHVkZSAuZGVwZW5kCitzaW5jbHVkZSAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKZGlmZiAtLWdpdCBhL2JvYXJkL3NoNzc2M3JkcC9sb3dsZXZlbF9pbml0LlMgYi9ib2FyZC9zaDc3NjNyZHAvbG93bGV2ZWxfaW5pdC5TCmluZGV4IDE5NDI4OTIuLjJhNDRlZWUgMTAwNjQ0Ci0tLSBhL2JvYXJkL3NoNzc2M3JkcC9sb3dsZXZlbF9pbml0LlMKKysrIGIvYm9hcmQvc2g3NzYzcmRwL2xvd2xldmVsX2luaXQuUwpAQCAtMzQ4LDQgKzM0OCwzIEBACiBXRFRTVF9EOgkubG9uZwkweDVBMDAwRkZGCiBXRFRDU1JfRDoJLmxvbmcJMHhBNTAwMDAwMAogV0RUQlNUX0Q6CS5sb25nCTB4NTUwMDAwMDAKLQpkaWZmIC0tZ2l0IGEvYm9hcmQvc2g3NzYzcmRwL3UtYm9vdC5sZHMgYi9ib2FyZC9zaDc3NjNyZHAvdS1ib290LmxkcwppbmRleCA4ZjgyMjliLi5jMDdmMGQ4IDEwMDY0NAotLS0gYS9ib2FyZC9zaDc3NjNyZHAvdS1ib290LmxkcworKysgYi9ib2FyZC9zaDc3NjNyZHAvdS1ib290LmxkcwpAQCAtMTAzLDQgKzEwMywzIEBACiAKIAlQUk9WSURFIChfZW5kID0gLik7CiB9Ci0KZGlmZiAtLWdpdCBhL2JvYXJkL3NoYW5ub24vTWFrZWZpbGUgYi9ib2FyZC9zaGFubm9uL01ha2VmaWxlCmluZGV4IDM3Nzc0YTkuLjE2ZWQ0Y2YgMTAwNjQ0Ci0tLSBhL2JvYXJkL3NoYW5ub24vTWFrZWZpbGUKKysrIGIvYm9hcmQvc2hhbm5vbi9NYWtlZmlsZQpAQCAtMzksNyArMzksNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvc2llbWVucy9DQ00vTWFrZWZpbGUgYi9ib2FyZC9zaWVtZW5zL0NDTS9NYWtlZmlsZQppbmRleCBlMDUzYzdkLi5jNTY5NWY5IDEwMDY0NAotLS0gYS9ib2FyZC9zaWVtZW5zL0NDTS9NYWtlZmlsZQorKysgYi9ib2FyZC9zaWVtZW5zL0NDTS9NYWtlZmlsZQpAQCAtMjIsMjMgKzIyLDMwIEBACiAjCiAKIGluY2x1ZGUgJChUT1BESVIpL2NvbmZpZy5taworCiBpZm5lcSAoJChPQkpUUkVFKSwkKFNSQ1RSRUUpKQogJChzaGVsbCBta2RpciAtcCAkKG9iaikuLi9jb21tb24pCi0kKHNoZWxsIG1rZGlyIC1wICQob2JqKS4uLy4uL3RxbTh4eCkKKyQoc2hlbGwgbWtkaXIgLXAgJChvYmopLi4vLi4vdHFjL3RxbTh4eCkKIGVuZGlmCiAKIExJQgk9ICQob2JqKWxpYiQoQk9BUkQpLmEKIAogQ09CSlMJPSBjY20ubyBmbGFzaC5vIGZwZ2FfY2NtLm8gLi4vY29tbW9uL2ZwZ2EubyBcCi0JICAuLi8uLi90cW04eHgvbG9hZF9zZXJudW1fZXRoYWRkci5vCisJICAuLi8uLi90cWMvdHFtOHh4L2xvYWRfc2VybnVtX2V0aGFkZHIubwogCiBTUkNTCTo9ICQoU09CSlM6Lm89LlMpICQoQ09CSlM6Lm89LmMpCiBPQkpTCTo9ICQoYWRkcHJlZml4ICQob2JqKSwkKENPQkpTKSkKIFNPQkpTCTo9ICQoYWRkcHJlZml4ICQob2JqKSwkKFNPQkpTKSkKIAotJChMSUIpOgkkKG9iaikuZGVwZW5kICQoT0JKUykKKyQoTElCKToJJChPQkpTKQogCSQoQVIpICQoQVJGTEFHUykgJEAgJChPQkpTKQogCitjbGVhbjoKKwlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCisKK2Rpc3RjbGVhbjoJY2xlYW4KKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCisKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIAogIyBkZWZpbmVzICQob2JqKS5kZXBlbmQgdGFyZ2V0CmRpZmYgLS1naXQgYS9ib2FyZC9zaWVtZW5zL0lBRDIxMC9hdG0uYyBiL2JvYXJkL3NpZW1lbnMvSUFEMjEwL2F0bS5jCmluZGV4IGM3N2UzNTkuLjFiMjdmMzMgMTAwNjQ0Ci0tLSBhL2JvYXJkL3NpZW1lbnMvSUFEMjEwL2F0bS5jCisrKyBiL2JvYXJkL3NpZW1lbnMvSUFEMjEwL2F0bS5jCkBAIC0xLDQgKzEsMyBAQAotCiAjaW5jbHVkZSA8Y29tbW9uLmg+CiAjaW5jbHVkZSA8bXBjOHh4Lmg+CiAjaW5jbHVkZSA8Y29tbXByb2MuaD4KQEAgLTcsNyArNiw3IEBACiAjaW5jbHVkZSA8bGludXgvc3RkZGVmLmg+CiAKICNkZWZpbmUgU1lOQyBfX2FzbV9fKCJzeW5jIikKLSNkZWZpbmUgQUxJR04ocCwgYSkgKChjaGFyICopKCgodWludDMyKShwKSsoYSktMSkgJiB+KCh1aW50MzIpKGEpLTEpKSkKKyNkZWZpbmUgTVlfQUxJR04ocCwgYSkgKChjaGFyICopKCgodWludDMyKShwKSsoYSktMSkgJiB+KCh1aW50MzIpKGEpLTEpKSkKIAogI2RlZmluZSBGQUxTRSAgMQogI2RlZmluZSBUUlVFICAgMApAQCAtMTYwLDcgKzE1OSw3IEBACiAgIGdfYXRtLmNzcmFtID0gJmNzcmFtWzBdOwogICBtZW1zZXQoJihnX2F0bS5jc3JhbSksIDB4MDAsIGdfYXRtLmNzcmFtX3NpemUpOwogCi0gIGdfYXRtLmludF9yZWxvYWRfcHRyID0gKHVpbnQzMiAqKUFMSUdOKGdfYXRtLmNzcmFtLCA0KTsKKyAgZ19hdG0uaW50X3JlbG9hZF9wdHIgPSAodWludDMyICopTVlfQUxJR04oZ19hdG0uY3NyYW0sIDQpOwogICBnX2F0bS5yYmRfYmFzZV9wdHIgPSAoc3RydWN0IGF0bV9iZF90ICopKGdfYXRtLmludF9yZWxvYWRfcHRyICsgTlVNX0lOVF9FTlRSSUVTKTsKICAgZ19hdG0udGJkX2Jhc2VfcHRyID0gKHN0cnVjdCBhdG1fYmRfdCAqKShnX2F0bS5yYmRfYmFzZV9wdHIgKyB0b3RhbF9udW1fcmJkKTsKIApkaWZmIC0tZ2l0IGEvYm9hcmQvc2llbWVucy9TQ00vTWFrZWZpbGUgYi9ib2FyZC9zaWVtZW5zL1NDTS9NYWtlZmlsZQppbmRleCBlZGMxODIwLi42ZWY0OWMyIDEwMDY0NAotLS0gYS9ib2FyZC9zaWVtZW5zL1NDTS9NYWtlZmlsZQorKysgYi9ib2FyZC9zaWVtZW5zL1NDTS9NYWtlZmlsZQpAQCAtMjIsMjMgKzIyLDMwIEBACiAjCiAKIGluY2x1ZGUgJChUT1BESVIpL2NvbmZpZy5taworCiBpZm5lcSAoJChPQkpUUkVFKSwkKFNSQ1RSRUUpKQogJChzaGVsbCBta2RpciAtcCAkKG9iaikuLi9jb21tb24pCi0kKHNoZWxsIG1rZGlyIC1wICQob2JqKS4uLy4uL3RxbTh4eC8pCiskKHNoZWxsIG1rZGlyIC1wICQob2JqKS4uLy4uL3RxYy90cW04eHgpCiBlbmRpZgogCiBMSUIJPSAkKG9iailsaWIkKEJPQVJEKS5hCiAKIENPQkpTCT0gc2NtLm8gZmxhc2gubyBmcGdhX3NjbS5vIC4uL2NvbW1vbi9mcGdhLm8gXAotCSAgLi4vLi4vdHFtOHh4L2xvYWRfc2VybnVtX2V0aGFkZHIubworCSAgLi4vLi4vdHFjL3RxbTh4eC9sb2FkX3Nlcm51bV9ldGhhZGRyLm8KIAogU1JDUwk6PSAkKFNPQkpTOi5vPS5TKSAkKENPQkpTOi5vPS5jKQogT0JKUwk6PSAkKGFkZHByZWZpeCAkKG9iaiksJChDT0JKUykpCiBTT0JKUwk6PSAkKGFkZHByZWZpeCAkKG9iaiksJChTT0JKUykpCiAKLSQoTElCKToJJChvYmopLmRlcGVuZCAkKE9CSlMpCiskKExJQik6CSQoT0JKUykKIAkkKEFSKSAkKEFSRkxBR1MpICRAICQoT0JKUykKIAorY2xlYW46CisJcm0gLWYgJChTT0JKUykgJChPQkpTKQorCitkaXN0Y2xlYW46CWNsZWFuCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAorCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKICMgZGVmaW5lcyAkKG9iaikuZGVwZW5kIHRhcmdldApkaWZmIC0tZ2l0IGEvYm9hcmQvc2llbWVucy9TTU40Mi9NYWtlZmlsZSBiL2JvYXJkL3NpZW1lbnMvU01ONDIvTWFrZWZpbGUKaW5kZXggMmM3YjU0Yi4uNGU3NWI2ZiAxMDA2NDQKLS0tIGEvYm9hcmQvc2llbWVucy9TTU40Mi9NYWtlZmlsZQorKysgYi9ib2FyZC9zaWVtZW5zL1NNTjQyL01ha2VmaWxlCkBAIC0zMyw3ICszMyw3IEBACiBTT0JKUwk6PSAkKGFkZHByZWZpeCAkKG9iaiksJChTT0JKVFMpKQogCiAkKExJQik6CSQob2JqKS5kZXBlbmQgJChPQkpTKSAkKFNPQkpTKQotCSQoQVIpIGNydiAkQCAkKE9CSlMpICQoU09CSlMpCisJJChBUikgJChBUkZMQUdTKSAkQCAkKE9CSlMpICQoU09CSlMpCiAKIGNsZWFuOgogCXJtIC1mICQoU09CSlMpICQoT0JKUykKZGlmZiAtLWdpdCBhL2JvYXJkL3NtZGsyNDAwL01ha2VmaWxlIGIvYm9hcmQvc21kazI0MDAvTWFrZWZpbGUKaW5kZXggNTdjNzZlNS4uOTBjYjJiOCAxMDA2NDQKLS0tIGEvYm9hcmQvc21kazI0MDAvTWFrZWZpbGUKKysrIGIvYm9hcmQvc21kazI0MDAvTWFrZWZpbGUKQEAgLTM5LDcgKzM5LDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL3NtZGsyNDEwL01ha2VmaWxlIGIvYm9hcmQvc21kazI0MTAvTWFrZWZpbGUKaW5kZXggODYxN2IyNy4uNWQwY2Q3MiAxMDA2NDQKLS0tIGEvYm9hcmQvc21kazI0MTAvTWFrZWZpbGUKKysrIGIvYm9hcmQvc21kazI0MTAvTWFrZWZpbGUKQEAgLTM5LDcgKzM5LDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL3NvY3JhdGVzL01ha2VmaWxlIGIvYm9hcmQvc29jcmF0ZXMvTWFrZWZpbGUKaW5kZXggMTE1MDNlYi4uYTQxZmVhZCAxMDA2NDQKLS0tIGEvYm9hcmQvc29jcmF0ZXMvTWFrZWZpbGUKKysrIGIvYm9hcmQvc29jcmF0ZXMvTWFrZWZpbGUKQEAgLTQxLDcgKzQxLDcgQEAKIAlybSAtZiAkKE9CSlMpICQoU09CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL3NvY3JhdGVzL3VwbV90YWJsZS5oIGIvYm9hcmQvc29jcmF0ZXMvdXBtX3RhYmxlLmgKaW5kZXggZjI2ZDhhNy4uZWE2NGE1OSAxMDA2NDQKLS0tIGEvYm9hcmQvc29jcmF0ZXMvdXBtX3RhYmxlLmgKKysrIGIvYm9hcmQvc29jcmF0ZXMvdXBtX3RhYmxlLmgKQEAgLTM0LDIyICszNCwyMiBAQAogLyogVVBNIFRhYmxlIENvbmZpZ3VyYXRpb24gQ29kZSBmb3IgRlBHQSBhY2Nlc3MgKi8KIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBpbnQgVVBNVGFibGVBW10gPQogewotCTB4MDBmY2ZjMDAsICAweDAwZmNmYzAwLCAgMHgwMGZjZmMwMCwgIDB4MDBmY2ZjMDAsIC8vV29yZHMgMCB0byAzCi0JMHgwMGZjZmMwMCwgIDB4MDBmY2ZjMDAsICAweDAwZmNmYzAwLCAgMHgwMGZjZmMwNSwgLy9Xb3JkcyA0IHRvIDcKLQkweDAwZmNmYzAwLCAgMHgwMGZjZmMwMCwgIDB4MDBmY2ZjMDQsICAweDAwZmNmYzA0LCAvL1dvcmRzIDggdG8gMTEKLQkweDAwZmNmYzA0LCAgMHgwMGZjZmMwNCwgIDB4MDBmY2ZjMDQsICAweDAwZmNmYzA0LCAvL1dvcmRzIDEyIHRvIDE1Ci0JMHgwMGZjZmMwNCwgIDB4MDBmY2ZjMDQsICAweDAwZmNmYzAwLCAgMHhmZmZmZmMwMCwgLy9Xb3JkcyAxNiB0byAxOQotCTB4ZmZmZmZjMDAsICAweGZmZmZmYzAwLCAgMHhmZmZmZmMwMCwgIDB4ZmZmZmZjMDEsIC8vV29yZHMgMjAgdG8gMjMKLQkweDBmZmZmYzAwLCAgMHgwZmZmZmMwMCwgIDB4MGZmZmZjMDAsICAweDAwZjNmYzA0LCAvL1dvcmRzIDI0IHRvIDI3Ci0JMHgwZmZmZmMwMCwgIDB4ZmZmZmZjMDEsICAweGZmZmZmYzAwLCAgMHhmZmZmZmMwMSwgLy9Xb3JkcyAyOCB0byAzMQotCTB4MGZmZmZjMDAsICAweDAwZjNmYzA0LCAgMHgwMGYzZmMwNCwgIDB4MDBmM2ZjMDQsIC8vV29yZHMgMzIgdG8gMzUKLQkweDAwZjNmYzA0LCAgMHgwMGYzZmMwNCwgIDB4MDBmM2ZjMDQsICAweDAwZjNmYzA0LCAvL1dvcmRzIDM2IHRvIDM5Ci0JMHgwMGYzZmMwNCwgIDB4MGZmZmZjMDAsICAweGZmZmZmYzAwLCAgMHhmZmZmZmMwMCwgLy9Xb3JkcyA0MCB0byA0MwotCTB4ZmZmZmZjMDEsICAweGZmZmZmYzAwLCAgMHhmZmZmZmMwMCwgIDB4ZmZmZmZjMDEsIC8vV29yZHMgNDQgdG8gNDcKLQkweGZmZmZmYzAwLCAgMHhmZmZmZmMwMCwgIDB4ZmZmZmZjMDAsICAweGZmZmZmYzAwLCAvL1dvcmRzIDQ4IHRvIDUxCi0JMHhmZmZmZmMwMCwgIDB4ZmZmZmZjMDAsICAweGZmZmZmYzAwLCAgMHhmZmZmZmMwMCwgLy9Xb3JkcyA1MiB0byA1NQotCTB4ZmZmZmZjMDAsICAweGZmZmZmYzAwLCAgMHhmZmZmZmMwMCwgIDB4ZmZmZmZjMDEsIC8vV29yZHMgNTYgdG8gNTkKLQkweGZmZmZmYzAwLCAgMHhmZmZmZmMwMCwgIDB4ZmZmZmZjMDAsICAweGZmZmZmYzAxICAvL1dvcmRzIDYwIHRvIDYzCisJMHgwMGZjZmMwMCwgIDB4MDBmY2ZjMDAsICAweDAwZmNmYzAwLCAgMHgwMGZjZmMwMCwgLyogV29yZHMgIDAgdG8gIDMgKi8KKwkweDAwZmNmYzAwLCAgMHgwMGZjZmMwMCwgIDB4MDBmY2ZjMDAsICAweDAwZmNmYzA1LCAvKiBXb3JkcyAgNCB0byAgNyAqLworCTB4MDBmY2ZjMDAsICAweDAwZmNmYzAwLCAgMHgwMGZjZmMwNCwgIDB4MDBmY2ZjMDQsIC8qIFdvcmRzICA4IHRvIDExICovCisJMHgwMGZjZmMwNCwgIDB4MDBmY2ZjMDQsICAweDAwZmNmYzA0LCAgMHgwMGZjZmMwNCwgLyogV29yZHMgMTIgdG8gMTUgKi8KKwkweDAwZmNmYzA0LCAgMHgwMGZjZmMwNCwgIDB4MDBmY2ZjMDAsICAweGZmZmZmYzAwLCAvKiBXb3JkcyAxNiB0byAxOSAqLworCTB4ZmZmZmZjMDAsICAweGZmZmZmYzAwLCAgMHhmZmZmZmMwMCwgIDB4ZmZmZmZjMDEsIC8qIFdvcmRzIDIwIHRvIDIzICovCisJMHgwZmZmZmMwMCwgIDB4MGZmZmZjMDAsICAweDBmZmZmYzAwLCAgMHgwMGYzZmMwNCwgLyogV29yZHMgMjQgdG8gMjcgKi8KKwkweDBmZmZmYzAwLCAgMHhmZmZmZmMwMSwgIDB4ZmZmZmZjMDAsICAweGZmZmZmYzAxLCAvKiBXb3JkcyAyOCB0byAzMSAqLworCTB4MGZmZmZjMDAsICAweDAwZjNmYzA0LCAgMHgwMGYzZmMwNCwgIDB4MDBmM2ZjMDQsIC8qIFdvcmRzIDMyIHRvIDM1ICovCisJMHgwMGYzZmMwNCwgIDB4MDBmM2ZjMDQsICAweDAwZjNmYzA0LCAgMHgwMGYzZmMwNCwgLyogV29yZHMgMzYgdG8gMzkgKi8KKwkweDAwZjNmYzA0LCAgMHgwZmZmZmMwMCwgIDB4ZmZmZmZjMDAsICAweGZmZmZmYzAwLCAvKiBXb3JkcyA0MCB0byA0MyAqLworCTB4ZmZmZmZjMDEsICAweGZmZmZmYzAwLCAgMHhmZmZmZmMwMCwgIDB4ZmZmZmZjMDEsIC8qIFdvcmRzIDQ0IHRvIDQ3ICovCisJMHhmZmZmZmMwMCwgIDB4ZmZmZmZjMDAsICAweGZmZmZmYzAwLCAgMHhmZmZmZmMwMCwgLyogV29yZHMgNDggdG8gNTEgKi8KKwkweGZmZmZmYzAwLCAgMHhmZmZmZmMwMCwgIDB4ZmZmZmZjMDAsICAweGZmZmZmYzAwLCAvKiBXb3JkcyA1MiB0byA1NSAqLworCTB4ZmZmZmZjMDAsICAweGZmZmZmYzAwLCAgMHhmZmZmZmMwMCwgIDB4ZmZmZmZjMDEsIC8qIFdvcmRzIDU2IHRvIDU5ICovCisJMHhmZmZmZmMwMCwgIDB4ZmZmZmZjMDAsICAweGZmZmZmYzAwLCAgMHhmZmZmZmMwMSAgLyogV29yZHMgNjAgdG8gNjMgKi8KIH07CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvYm9hcmQvc29yY2VyeS9NYWtlZmlsZSBiL2JvYXJkL3NvcmNlcnkvTWFrZWZpbGUKaW5kZXggZTAyOTE2Zi4uNDM0ZDM0OCAxMDA2NDQKLS0tIGEvYm9hcmQvc29yY2VyeS9NYWtlZmlsZQorKysgYi9ib2FyZC9zb3JjZXJ5L01ha2VmaWxlCkBAIC0zOCw3ICszOCw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9zc3YvYWRucGVzYzEvTWFrZWZpbGUgYi9ib2FyZC9zc3YvYWRucGVzYzEvTWFrZWZpbGUKaW5kZXggNWI4N2I3NS4uNDBmMDRiOCAxMDA2NDQKLS0tIGEvYm9hcmQvc3N2L2FkbnBlc2MxL01ha2VmaWxlCisrKyBiL2JvYXJkL3Nzdi9hZG5wZXNjMS9NYWtlZmlsZQpAQCAtMzksNyArMzksNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvc3R4Z3AzL01ha2VmaWxlIGIvYm9hcmQvc3R4Z3AzL01ha2VmaWxlCmluZGV4IDI4ZDZjYjkuLjMyNWQ2ZDUgMTAwNjQ0Ci0tLSBhL2JvYXJkL3N0eGdwMy9NYWtlZmlsZQorKysgYi9ib2FyZC9zdHhncDMvTWFrZWZpbGUKQEAgLTM4LDcgKzM4LDcgQEAKIAlybSAtZiAkKE9CSlMpICQoU09CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL3N0eHNzYS9NYWtlZmlsZSBiL2JvYXJkL3N0eHNzYS9NYWtlZmlsZQppbmRleCBmMWY1ZDBiLi5lMjljZjk1IDEwMDY0NAotLS0gYS9ib2FyZC9zdHhzc2EvTWFrZWZpbGUKKysrIGIvYm9hcmQvc3R4c3NhL01ha2VmaWxlCkBAIC0zOCw3ICszOCw3IEBACiAJcm0gLWYgJChPQkpTKSAkKFNPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC9zeDEvTWFrZWZpbGUgYi9ib2FyZC9zeDEvTWFrZWZpbGUKaW5kZXggNjA5Y2E3NS4uNGMxMTAzMCAxMDA2NDQKLS0tIGEvYm9hcmQvc3gxL01ha2VmaWxlCisrKyBiL2JvYXJkL3N4MS9NYWtlZmlsZQpAQCAtMzksNyArMzksNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvdG90YWw1MjAwL01ha2VmaWxlIGIvYm9hcmQvdG90YWw1MjAwL01ha2VmaWxlCmluZGV4IDEwZTVmYzMuLmE4YWJkN2QgMTAwNjQ0Ci0tLSBhL2JvYXJkL3RvdGFsNTIwMC9NYWtlZmlsZQorKysgYi9ib2FyZC90b3RhbDUyMDAvTWFrZWZpbGUKQEAgLTM4LDcgKzM4LDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL3RxYy90cW01MjAwL01ha2VmaWxlIGIvYm9hcmQvdHFjL3RxbTUyMDAvTWFrZWZpbGUKaW5kZXggYTVjZTdiZC4uY2UxMjVlMiAxMDA2NDQKLS0tIGEvYm9hcmQvdHFjL3RxbTUyMDAvTWFrZWZpbGUKKysrIGIvYm9hcmQvdHFjL3RxbTUyMDAvTWFrZWZpbGUKQEAgLTM4LDcgKzM4LDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiBjYW01MjAwX2ZsYXNoLm86CWNhbTUyMDBfZmxhc2guYwogCSQoQ0MpICQoQ0ZMQUdTKSAtZm5vLXN0cmljdC1hbGlhc2luZyAtYyAtbyAkQCAkPApkaWZmIC0tZ2l0IGEvYm9hcmQvdHFjL3RxbTgzNHgvTWFrZWZpbGUgYi9ib2FyZC90cWMvdHFtODM0eC9NYWtlZmlsZQppbmRleCA0YzBkMjA0Li44ODg5NzI2IDEwMDY0NAotLS0gYS9ib2FyZC90cWMvdHFtODM0eC9NYWtlZmlsZQorKysgYi9ib2FyZC90cWMvdHFtODM0eC9NYWtlZmlsZQpAQCAtNDAsNyArNDAsNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvdHFjL3RxbTg1eHgvTWFrZWZpbGUgYi9ib2FyZC90cWMvdHFtODV4eC9NYWtlZmlsZQppbmRleCA4ZWEwN2YyLi5hZGRhOWQ0IDEwMDY0NAotLS0gYS9ib2FyZC90cWMvdHFtODV4eC9NYWtlZmlsZQorKysgYi9ib2FyZC90cWMvdHFtODV4eC9NYWtlZmlsZQpAQCAtNDQsNyArNDQsNyBAQAogCXJtIC1mICQoT0JKUykgJChTT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvdHFjL3RxbTg1eHgvbmFuZC5jIGIvYm9hcmQvdHFjL3RxbTg1eHgvbmFuZC5jCmluZGV4IGZlM2IzMWYuLjljNWMxMmMgMTAwNjQ0Ci0tLSBhL2JvYXJkL3RxYy90cW04NXh4L25hbmQuYworKysgYi9ib2FyZC90cWMvdHFtODV4eC9uYW5kLmMKQEAgLTU5LDcgKzU5LDcgQEAKIAogLyogVVBNIHBhdHRlcm4gZm9yIGJ1cyBjbG9jayA9IDI1IE1IeiAqLwogc3RhdGljIGNvbnN0IHUzMiB1cG1fcGF0dF8yNVtdID0gewotCS8qIE9mZnNldCAqLy8qIFVQTSBSZWFkIFNpbmdsZSBSQU0gYXJyYXkgZW50cnkgLT4gTkFORCBSZWFkIERhdGEgKi8KKwkvKiBPZmZzZXQgKi8gLyogVVBNIFJlYWQgU2luZ2xlIFJBTSBhcnJheSBlbnRyeSAtPiBOQU5EIFJlYWQgRGF0YSAqLwogCS8qIDB4MDAgKi8gMHgwZmYzMjAwMCwgMHgwZmEzMjAwMCwgMHgzZmIzMjAwNSwgMHhmZmZmZmMwMCwKIAkvKiAweDA0ICovIDB4ZmZmZmZjMDAsIDB4ZmZmZmZjMDAsIDB4ZmZmZmZjMDAsIDB4ZmZmZmZjMDAsCiAKQEAgLTkyLDcgKzkyLDcgQEAKIAogLyogVVBNIHBhdHRlcm4gZm9yIGJ1cyBjbG9jayA9IDMzLjMgTUh6ICovCiBzdGF0aWMgY29uc3QgdTMyIHVwbV9wYXR0XzMzW10gPSB7Ci0JLyogT2Zmc2V0ICovLyogVVBNIFJlYWQgU2luZ2xlIFJBTSBhcnJheSBlbnRyeSAtPiBOQU5EIFJlYWQgRGF0YSAqLworCS8qIE9mZnNldCAqLyAvKiBVUE0gUmVhZCBTaW5nbGUgUkFNIGFycmF5IGVudHJ5IC0+IE5BTkQgUmVhZCBEYXRhICovCiAJLyogMHgwMCAqLyAweDBmZjMyMDAwLCAweDBmYTMyMTAwLCAweDNmYjMyMDA1LCAweGZmZmZmYzAwLAogCS8qIDB4MDQgKi8gMHhmZmZmZmMwMCwgMHhmZmZmZmMwMCwgMHhmZmZmZmMwMCwgMHhmZmZmZmMwMCwKIApAQCAtMTI1LDcgKzEyNSw3IEBACiAKIC8qIFVQTSBwYXR0ZXJuIGZvciBidXMgY2xvY2sgPSA0MS43IE1IeiAqLwogc3RhdGljIGNvbnN0IHUzMiB1cG1fcGF0dF80MltdID0gewotCS8qIE9mZnNldCAqLy8qIFVQTSBSZWFkIFNpbmdsZSBSQU0gYXJyYXkgZW50cnkgLT4gTkFORCBSZWFkIERhdGEgKi8KKwkvKiBPZmZzZXQgKi8gLyogVVBNIFJlYWQgU2luZ2xlIFJBTSBhcnJheSBlbnRyeSAtPiBOQU5EIFJlYWQgRGF0YSAqLwogCS8qIDB4MDAgKi8gMHgwZmYzMjAwMCwgMHgwZmEzMjEwMCwgMHgzZmIzMjAwNSwgMHhmZmZmZmMwMCwKIAkvKiAweDA0ICovIDB4ZmZmZmZjMDAsIDB4ZmZmZmZjMDAsIDB4ZmZmZmZjMDAsIDB4ZmZmZmZjMDAsCiAKQEAgLTE1OCw3ICsxNTgsNyBAQAogCiAvKiBVUE0gcGF0dGVybiBmb3IgYnVzIGNsb2NrID0gNTAgTUh6ICovCiBzdGF0aWMgY29uc3QgdTMyIHVwbV9wYXR0XzUwW10gPSB7Ci0JLyogT2Zmc2V0ICovLyogVVBNIFJlYWQgU2luZ2xlIFJBTSBhcnJheSBlbnRyeSAtPiBOQU5EIFJlYWQgRGF0YSAqLworCS8qIE9mZnNldCAqLyAvKiBVUE0gUmVhZCBTaW5nbGUgUkFNIGFycmF5IGVudHJ5IC0+IE5BTkQgUmVhZCBEYXRhICovCiAJLyogMHgwMCAqLyAweDBmZjMzMDAwLCAweDBmYTMzMTAwLCAweDBmYTMzMDA1LCAweGZmZmZmYzAwLAogCS8qIDB4MDQgKi8gMHhmZmZmZmMwMCwgMHhmZmZmZmMwMCwgMHhmZmZmZmMwMCwgMHhmZmZmZmMwMCwKIApAQCAtMTkxLDcgKzE5MSw3IEBACiAKIC8qIFVQTSBwYXR0ZXJuIGZvciBidXMgY2xvY2sgPSA2Ni43IE1IeiAqLwogc3RhdGljIGNvbnN0IHUzMiB1cG1fcGF0dF82N1tdID0gewotCS8qIE9mZnNldCAqLy8qIFVQTSBSZWFkIFNpbmdsZSBSQU0gYXJyYXkgZW50cnkgLT4gTkFORCBSZWFkIERhdGEgKi8KKwkvKiBPZmZzZXQgKi8gLyogVVBNIFJlYWQgU2luZ2xlIFJBTSBhcnJheSBlbnRyeSAtPiBOQU5EIFJlYWQgRGF0YSAqLwogCS8qIDB4MDAgKi8gMHgwZmYzMzAwMCwgMHgwZmUzMzAwMCwgMHgwZmEzMzEwMCwgMHgwZmEzMzAwMCwKIAkvKiAweDA0ICovIDB4MGZhMzMwMDUsIDB4ZmZmZmZjMDAsIDB4ZmZmZmZjMDAsIDB4ZmZmZmZjMDAsCiAKQEAgLTIyNCw3ICsyMjQsNyBAQAogCiAvKiBVUE0gcGF0dGVybiBmb3IgYnVzIGNsb2NrID0gODMuMyBNSHogKi8KIHN0YXRpYyBjb25zdCB1MzIgdXBtX3BhdHRfODNbXSA9IHsKLQkvKiBPZmZzZXQgKi8vKiBVUE0gUmVhZCBTaW5nbGUgUkFNIGFycmF5IGVudHJ5IC0+IE5BTkQgUmVhZCBEYXRhICovCisJLyogT2Zmc2V0ICovIC8qIFVQTSBSZWFkIFNpbmdsZSBSQU0gYXJyYXkgZW50cnkgLT4gTkFORCBSZWFkIERhdGEgKi8KIAkvKiAweDAwICovIDB4MGZmMzMwMDAsIDB4MGZlMzMwMDAsIDB4MGZhMzMxMDAsIDB4MGZhMzMwMDAsCiAJLyogMHgwNCAqLyAweDBmYTMzMDA1LCAweGZmZmZmYzAwLCAweGZmZmZmYzAwLCAweGZmZmZmYzAwLAogCkBAIC0yNTcsNyArMjU3LDcgQEAKIAogLyogVVBNIHBhdHRlcm4gZm9yIGJ1cyBjbG9jayA9IDEwMCBNSHogKi8KIHN0YXRpYyBjb25zdCB1MzIgdXBtX3BhdHRfMTAwW10gPSB7Ci0JLyogT2Zmc2V0ICovLyogVVBNIFJlYWQgU2luZ2xlIFJBTSBhcnJheSBlbnRyeSAtPiBOQU5EIFJlYWQgRGF0YSAqLworCS8qIE9mZnNldCAqLyAvKiBVUE0gUmVhZCBTaW5nbGUgUkFNIGFycmF5IGVudHJ5IC0+IE5BTkQgUmVhZCBEYXRhICovCiAJLyogMHgwMCAqLyAweDBmZjMzMTAwLCAweDBmZTMzMDAwLCAweDBmYTMzMjAwLCAweDBmYTMzMDAwLAogCS8qIDB4MDQgKi8gMHgwZmEzMzAwNSwgMHhmZmZmZmMwMCwgMHhmZmZmZmMwMCwgMHhmZmZmZmMwMCwKIApAQCAtMjkwLDcgKzI5MCw3IEBACiAKIC8qIFVQTSBwYXR0ZXJuIGZvciBidXMgY2xvY2sgPSAxMzMuMyBNSHogKi8KIHN0YXRpYyBjb25zdCB1MzIgdXBtX3BhdHRfMTMzW10gPSB7Ci0JLyogT2Zmc2V0ICovLyogVVBNIFJlYWQgU2luZ2xlIFJBTSBhcnJheSBlbnRyeSAtPiBOQU5EIFJlYWQgRGF0YSAqLworCS8qIE9mZnNldCAqLyAvKiBVUE0gUmVhZCBTaW5nbGUgUkFNIGFycmF5IGVudHJ5IC0+IE5BTkQgUmVhZCBEYXRhICovCiAJLyogMHgwMCAqLyAweDBmZjMzMTAwLCAweDBmZTMzMDAwLCAweDBmYTMzMzAwLCAweDBmYTMzMDAwLAogCS8qIDB4MDQgKi8gMHgwZmEzMzAwMCwgMHgwZmEzMzAwNSwgMHhmZmZmZmMwMCwgMHhmZmZmZmMwMCwKIApAQCAtMzIzLDcgKzMyMyw3IEBACiAKIC8qIFVQTSBwYXR0ZXJuIGZvciBidXMgY2xvY2sgPSAxNjYuNyBNSHogKi8KIHN0YXRpYyBjb25zdCB1MzIgdXBtX3BhdHRfMTY3W10gPSB7Ci0JLyogT2Zmc2V0ICovLyogVVBNIFJlYWQgU2luZ2xlIFJBTSBhcnJheSBlbnRyeSAtPiBOQU5EIFJlYWQgRGF0YSAqLworCS8qIE9mZnNldCAqLyAvKiBVUE0gUmVhZCBTaW5nbGUgUkFNIGFycmF5IGVudHJ5IC0+IE5BTkQgUmVhZCBEYXRhICovCiAJLyogMHgwMCAqLyAweDBmZjMzMjAwLCAweDBmZTMzMDAwLCAweDBmYTMzMzAwLCAweDBmYTMzMzAwLAogCS8qIDB4MDQgKi8gMHgwZmEzMzAwNSwgMHhmZmZmZmMwMCwgMHhmZmZmZmMwMCwgMHhmZmZmZmMwMCwKIApkaWZmIC0tZ2l0IGEvYm9hcmQvdHJhYi9NYWtlZmlsZSBiL2JvYXJkL3RyYWIvTWFrZWZpbGUKaW5kZXggZmJlMWMzNi4uMjQwMjU3NyAxMDA2NDQKLS0tIGEvYm9hcmQvdHJhYi9NYWtlZmlsZQorKysgYi9ib2FyZC90cmFiL01ha2VmaWxlCkBAIC02MCw3ICs2MCw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKSAkKE9CSlNfRktUKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC90cml6ZXBzaXYvTWFrZWZpbGUgYi9ib2FyZC90cml6ZXBzaXYvTWFrZWZpbGUKaW5kZXggMTE1ZTE3ZC4uNDRjMGQ0OSAxMDA2NDQKLS0tIGEvYm9hcmQvdHJpemVwc2l2L01ha2VmaWxlCisrKyBiL2JvYXJkL3RyaXplcHNpdi9NYWtlZmlsZQpAQCAtMzksNyArMzksNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvdWMxMDEvTWFrZWZpbGUgYi9ib2FyZC91YzEwMS9NYWtlZmlsZQppbmRleCBkZGZkMmVmLi40NDJlMmQwIDEwMDY0NAotLS0gYS9ib2FyZC91YzEwMS9NYWtlZmlsZQorKysgYi9ib2FyZC91YzEwMS9NYWtlZmlsZQpAQCAtMzgsNyArMzgsNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvdjM4Yi9NYWtlZmlsZSBiL2JvYXJkL3YzOGIvTWFrZWZpbGUKaW5kZXggYjIxYmQ2Zi4uMGIyMjdkYSAxMDA2NDQKLS0tIGEvYm9hcmQvdjM4Yi9NYWtlZmlsZQorKysgYi9ib2FyZC92MzhiL01ha2VmaWxlCkBAIC0zOCw3ICszOCw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC92ZXJzYXRpbGUvTWFrZWZpbGUgYi9ib2FyZC92ZXJzYXRpbGUvTWFrZWZpbGUKaW5kZXggMWZhZDBhNy4uMDQ0YTQyOSAxMDA2NDQKLS0tIGEvYm9hcmQvdmVyc2F0aWxlL01ha2VmaWxlCisrKyBiL2JvYXJkL3ZlcnNhdGlsZS9NYWtlZmlsZQpAQCAtMzksNyArMzksNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvdm9pY2VibHVlL01ha2VmaWxlIGIvYm9hcmQvdm9pY2VibHVlL01ha2VmaWxlCmluZGV4IDkzODZiYjAuLmU3YzFjYmIgMTAwNjQ0Ci0tLSBhL2JvYXJkL3ZvaWNlYmx1ZS9NYWtlZmlsZQorKysgYi9ib2FyZC92b2ljZWJsdWUvTWFrZWZpbGUKQEAgLTYyLDcgKzYyLDcgQEAKIAogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC93N28vTWFrZWZpbGUgYi9ib2FyZC93N28vTWFrZWZpbGUKaW5kZXggNDZiOGM4OS4uZTQ4MWJiMiAxMDA2NDQKLS0tIGEvYm9hcmQvdzdvL01ha2VmaWxlCisrKyBiL2JvYXJkL3c3by9NYWtlZmlsZQpAQCAtNDMsNyArNDMsNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvd2VwZXAyNTAvTWFrZWZpbGUgYi9ib2FyZC93ZXBlcDI1MC9NYWtlZmlsZQppbmRleCA1OGE3MGNjLi4wNjY5YjBlIDEwMDY0NAotLS0gYS9ib2FyZC93ZXBlcDI1MC9NYWtlZmlsZQorKysgYi9ib2FyZC93ZXBlcDI1MC9NYWtlZmlsZQpAQCAtMzksNyArMzksNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQveGFlbmlheC9NYWtlZmlsZSBiL2JvYXJkL3hhZW5pYXgvTWFrZWZpbGUKaW5kZXggOWE3OWY3ZC4uN2RkMmVhMCAxMDA2NDQKLS0tIGEvYm9hcmQveGFlbmlheC9NYWtlZmlsZQorKysgYi9ib2FyZC94YWVuaWF4L01ha2VmaWxlCkBAIC0zOSw3ICszOSw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC94aWxpbngvbWwzMDAvTWFrZWZpbGUgYi9ib2FyZC94aWxpbngvbWwzMDAvTWFrZWZpbGUKaW5kZXggMDVhZDIzNS4uOTIxNWQ3NyAxMDA2NDQKLS0tIGEvYm9hcmQveGlsaW54L21sMzAwL01ha2VmaWxlCisrKyBiL2JvYXJkL3hpbGlueC9tbDMwMC9NYWtlZmlsZQpAQCAtNTgsNyArNTgsNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQveGlsaW54L21sMzAwL3NlcmlhbC5jIGIvYm9hcmQveGlsaW54L21sMzAwL3NlcmlhbC5jCmluZGV4IGZmNWNhZGIuLjk5M2RmYTMgMTAwNjQ0Ci0tLSBhL2JvYXJkL3hpbGlueC9tbDMwMC9zZXJpYWwuYworKysgYi9ib2FyZC94aWxpbngvbWwzMDAvc2VyaWFsLmMKQEAgLTM2LDEwICszNiw5IEBACiAgKgogICovCiAKLSNpbmNsdWRlIDxhc20vdHlwZXMuaD4KKyNpbmNsdWRlIDxjb21tb24uaD4KICNpbmNsdWRlIDxhc20vdS1ib290Lmg+CiAjaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci5oPgotI2luY2x1ZGUgPGNvbW1vbi5oPgogI2luY2x1ZGUgPGNvbW1hbmQuaD4KICNpbmNsdWRlIDxjb25maWcuaD4KIApkaWZmIC0tZ2l0IGEvYm9hcmQveGlsaW54L21sNDAxL01ha2VmaWxlIGIvYm9hcmQveGlsaW54L21sNDAxL01ha2VmaWxlCmluZGV4IGVlOWI2ZDUuLjEwYjQ3YjIgMTAwNjQ0Ci0tLSBhL2JvYXJkL3hpbGlueC9tbDQwMS9NYWtlZmlsZQorKysgYi9ib2FyZC94aWxpbngvbWw0MDEvTWFrZWZpbGUKQEAgLTM4LDcgKzM4LDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL3hpbGlueC94dXB2MnAvTWFrZWZpbGUgYi9ib2FyZC94aWxpbngveHVwdjJwL01ha2VmaWxlCmluZGV4IGVlOWI2ZDUuLjEwYjQ3YjIgMTAwNjQ0Ci0tLSBhL2JvYXJkL3hpbGlueC94dXB2MnAvTWFrZWZpbGUKKysrIGIvYm9hcmQveGlsaW54L3h1cHYycC9NYWtlZmlsZQpAQCAtMzgsNyArMzgsNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQveG0yNTAvTWFrZWZpbGUgYi9ib2FyZC94bTI1MC9NYWtlZmlsZQppbmRleCAwYTZlYjMyLi5hMTc0ZjY2IDEwMDY0NAotLS0gYS9ib2FyZC94bTI1MC9NYWtlZmlsZQorKysgYi9ib2FyZC94bTI1MC9NYWtlZmlsZQpAQCAtMzksNyArMzksNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQveHBlZGl0ZTFrL01ha2VmaWxlIGIvYm9hcmQveHBlZGl0ZTFrL01ha2VmaWxlCmluZGV4IDVkYTk2ZTkuLjZhYjFhMjYgMTAwNjQ0Ci0tLSBhL2JvYXJkL3hwZWRpdGUxay9NYWtlZmlsZQorKysgYi9ib2FyZC94cGVkaXRlMWsvTWFrZWZpbGUKQEAgLTM5LDcgKzM5LDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL3hzZW5naW5lL01ha2VmaWxlIGIvYm9hcmQveHNlbmdpbmUvTWFrZWZpbGUKaW5kZXggM2Y4MGExZC4uZmMyMzkzNSAxMDA2NDQKLS0tIGEvYm9hcmQveHNlbmdpbmUvTWFrZWZpbGUKKysrIGIvYm9hcmQveHNlbmdpbmUvTWFrZWZpbGUKQEAgLTM5LDcgKzM5LDcgQEAKIAlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCiAKIGRpc3RjbGVhbjoJY2xlYW4KLQlybSAtZiAkKExJQikgY29yZSAqLmJhayAuZGVwZW5kCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL2JvYXJkL3pldXMvTWFrZWZpbGUgYi9ib2FyZC96ZXVzL01ha2VmaWxlCmluZGV4IGYwZDRlOWYuLjU1ZmI0YzQgMTAwNjQ0Ci0tLSBhL2JvYXJkL3pldXMvTWFrZWZpbGUKKysrIGIvYm9hcmQvemV1cy9NYWtlZmlsZQpAQCAtMzksNyArMzksNyBAQAogCXJtIC1mICQoU09CSlMpICQoT0JKUykKIAogZGlzdGNsZWFuOgljbGVhbgotCXJtIC1mICQoTElCKSBjb3JlICouYmFrIC5kZXBlbmQKKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIApkaWZmIC0tZ2l0IGEvYm9hcmQvenBjMTkwMC9NYWtlZmlsZSBiL2JvYXJkL3pwYzE5MDAvTWFrZWZpbGUKaW5kZXggYmU3ZTIxMy4uZGM0MGQ5YiAxMDA2NDQKLS0tIGEvYm9hcmQvenBjMTkwMC9NYWtlZmlsZQorKysgYi9ib2FyZC96cGMxOTAwL01ha2VmaWxlCkBAIC0zOCw3ICszOCw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9ib2FyZC96eWxvbml0ZS9NYWtlZmlsZSBiL2JvYXJkL3p5bG9uaXRlL01ha2VmaWxlCmluZGV4IGQ3MmRjOTguLjg5NTQyMzUgMTAwNjQ0Ci0tLSBhL2JvYXJkL3p5bG9uaXRlL01ha2VmaWxlCisrKyBiL2JvYXJkL3p5bG9uaXRlL01ha2VmaWxlCkBAIC0zOSw3ICszOSw3IEBACiAJcm0gLWYgJChTT0JKUykgJChPQkpTKQogCiBkaXN0Y2xlYW46CWNsZWFuCi0Jcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgLmRlcGVuZAorCXJtIC1mICQoTElCKSBjb3JlICouYmFrICQob2JqKS5kZXBlbmQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9jb21tb24vY21kX2JkaW5mby5jIGIvY29tbW9uL2NtZF9iZGluZm8uYwppbmRleCA1YmIzOWQ4Li5jYWE0NjdkIDEwMDY0NAotLS0gYS9jb21tb24vY21kX2JkaW5mby5jCisrKyBiL2NvbW1vbi9jbWRfYmRpbmZvLmMKQEAgLTYwLDE4ICs2MCwxOCBAQAogI2VuZGlmCiAJcHJpbnRfbnVtICgiYm9vdGZsYWdzIiwJICAgIGJkLT5iaV9ib290ZmxhZ3MJKTsKICNpZiBkZWZpbmVkKENPTkZJR180MDVHUCkgfHwgZGVmaW5lZChDT05GSUdfNDA1Q1IpIHx8IFwKLSAgICBkZWZpbmVkKENPTkZJR180MDVFUCkgfHwgZGVmaW5lZChDT05GSUdfWElMSU5YX01MMzAwKSB8fCBcCisgICAgZGVmaW5lZChDT05GSUdfNDA1RVApIHx8IGRlZmluZWQoQ09ORklHX1hJTElOWF80MDUpIHx8IFwKICAgICBkZWZpbmVkKENPTkZJR180NDBFUCkgfHwgZGVmaW5lZChDT05GSUdfNDQwR1IpIHx8IFwKICAgICBkZWZpbmVkKENPTkZJR180NDBFUFgpIHx8IGRlZmluZWQoQ09ORklHXzQ0MEdSWCkgfHwJXAogICAgIGRlZmluZWQoQ09ORklHXzQ0MFNQKSB8fCBkZWZpbmVkKENPTkZJR180NDBTUEUpCiAJcHJpbnRfc3RyICgicHJvY2ZyZXEiLAkgICAgc3RybWh6KGJ1ZiwgYmQtPmJpX3Byb2NmcmVxKSk7CiAJcHJpbnRfc3RyICgicGxiX2J1c2ZyZXEiLCAgIHN0cm1oeihidWYsIGJkLT5iaV9wbGJfYnVzZnJlcSkpOwotI2lmIGRlZmluZWQoQ09ORklHXzQwNUdQKSB8fCBkZWZpbmVkKENPTkZJR180MDVFUCkgfHwgZGVmaW5lZChDT05GSUdfWElMSU5YX01MMzAwKSB8fCBcCisjaWYgZGVmaW5lZChDT05GSUdfNDA1R1ApIHx8IGRlZmluZWQoQ09ORklHXzQwNUVQKSB8fCBkZWZpbmVkKENPTkZJR19YSUxJTlhfNDA1KSB8fCBcCiAgICAgZGVmaW5lZChDT05GSUdfNDQwRVApIHx8IGRlZmluZWQoQ09ORklHXzQ0MEdSKSB8fCBkZWZpbmVkKENPTkZJR180NDBTUEUpIHx8IFwKICAgICBkZWZpbmVkKENPTkZJR180NDBFUFgpIHx8IGRlZmluZWQoQ09ORklHXzQ0MEdSWCkKIAlwcmludF9zdHIgKCJwY2lfYnVzZnJlcSIsICAgc3RybWh6KGJ1ZiwgYmQtPmJpX3BjaV9idXNmcmVxKSk7CiAjZW5kaWYKLSNlbHNlCS8qICEgQ09ORklHXzQwNUdQLCBDT05GSUdfNDA1Q1IsIENPTkZJR180MDVFUCwgQ09ORklHX1hJTElOWF9NTDMwMCwgQ09ORklHXzQ0MEVQIENPTkZJR180NDBHUiAqLworI2Vsc2UJLyogISBDT05GSUdfNDA1R1AsIENPTkZJR180MDVDUiwgQ09ORklHXzQwNUVQLCBDT05GSUdfWElMSU5YXzQwNSwgQ09ORklHXzQ0MEVQIENPTkZJR180NDBHUiAqLwogI2lmIGRlZmluZWQoQ09ORklHX0NQTTIpCiAJcHJpbnRfc3RyICgidmNvIiwJICAgIHN0cm1oeihidWYsIGJkLT5iaV92Y28pKTsKIAlwcmludF9zdHIgKCJzY2NmcmVxIiwJICAgIHN0cm1oeihidWYsIGJkLT5iaV9zY2NmcmVxKSk7CkBAIC04Miw3ICs4Miw3IEBACiAJcHJpbnRfc3RyICgiY3BtZnJlcSIsCSAgICBzdHJtaHooYnVmLCBiZC0+YmlfY3BtZnJlcSkpOwogI2VuZGlmCiAJcHJpbnRfc3RyICgiYnVzZnJlcSIsCSAgICBzdHJtaHooYnVmLCBiZC0+YmlfYnVzZnJlcSkpOwotI2VuZGlmIC8qIENPTkZJR180MDVHUCwgQ09ORklHXzQwNUNSLCBDT05GSUdfNDA1RVAsIENPTkZJR19YSUxJTlhfTUwzMDAsIENPTkZJR180NDBFUCBDT05GSUdfNDQwR1IgKi8KKyNlbmRpZiAvKiBDT05GSUdfNDA1R1AsIENPTkZJR180MDVDUiwgQ09ORklHXzQwNUVQLCBDT05GSUdfWElMSU5YXzQwNSwgQ09ORklHXzQ0MEVQIENPTkZJR180NDBHUiAqLwogI2lmIGRlZmluZWQoQ09ORklHX01QQzgyMjApCiAJcHJpbnRfc3RyICgiaW5wZnJlcSIsCSAgICBzdHJtaHooYnVmLCBiZC0+YmlfaW5wZnJlcSkpOwogCXByaW50X3N0ciAoImZsYmZyZXEiLAkgICAgc3RybWh6KGJ1ZiwgYmQtPmJpX2ZsYmZyZXEpKTsKZGlmZiAtLWdpdCBhL2NvbW1vbi9jbWRfZG9jLmMgYi9jb21tb24vY21kX2RvYy5jCmluZGV4IDgzYWJhMzcuLmQ3YjJmNTMgMTAwNjQ0Ci0tLSBhL2NvbW1vbi9jbWRfZG9jLmMKKysrIGIvY29tbW9uL2NtZF9kb2MuYwpAQCAtMjA2LDcgKzIwNiw3IEBACiAJaW1hZ2VfaGVhZGVyX3QgKmhkcjsKIAlpbnQgcmNvZGUgPSAwOwogI2lmIGRlZmluZWQoQ09ORklHX0ZJVCkKLQljb25zdCB2b2lkICpmaXRfaGRyOworCWNvbnN0IHZvaWQgKmZpdF9oZHIgPSBOVUxMOwogI2VuZGlmCiAKIAlzaG93X2Jvb3RfcHJvZ3Jlc3MgKDM0KTsKQEAgLTI3NSwxMiArMjc1LDYgQEAKICNpZiBkZWZpbmVkKENPTkZJR19GSVQpCiAJY2FzZSBJTUFHRV9GT1JNQVRfRklUOgogCQlmaXRfaGRyID0gKGNvbnN0IHZvaWQgKilhZGRyOwotCQlpZiAoIWZpdF9jaGVja19mb3JtYXQgKGZpdF9oZHIpKSB7Ci0JCQlzaG93X2Jvb3RfcHJvZ3Jlc3MgKC0xMzApOwotCQkJcHV0cyAoIioqIEJhZCBGSVQgaW1hZ2UgZm9ybWF0XG4iKTsKLQkJCXJldHVybiAxOwotCQl9Ci0JCXNob3dfYm9vdF9wcm9ncmVzcyAoMTMxKTsKIAkJcHV0cyAoIkZpdCBpbWFnZSBkZXRlY3RlZC4uLlxuIik7CiAKIAkJY250ID0gZml0X2dldF9zaXplIChmaXRfaGRyKTsKQEAgLTMwNCw4ICsyOTgsMTUgQEAKIAogI2lmIGRlZmluZWQoQ09ORklHX0ZJVCkKIAkvKiBUaGlzIGNhbm5vdCBiZSBkb25lIGVhcmxpZXIsIHdlIG5lZWQgY29tcGxldGUgRklUIGltYWdlIGluIFJBTSBmaXJzdCAqLwotCWlmIChnZW5pbWdfZ2V0X2Zvcm1hdCAoKHZvaWQgKilhZGRyKSA9PSBJTUFHRV9GT1JNQVRfRklUKQotCQlmaXRfcHJpbnRfY29udGVudHMgKChjb25zdCB2b2lkICopYWRkcik7CisJaWYgKGdlbmltZ19nZXRfZm9ybWF0ICgodm9pZCAqKWFkZHIpID09IElNQUdFX0ZPUk1BVF9GSVQpIHsKKwkJaWYgKCFmaXRfY2hlY2tfZm9ybWF0IChmaXRfaGRyKSkgeworCQkJc2hvd19ib290X3Byb2dyZXNzICgtMTMwKTsKKwkJCXB1dHMgKCIqKiBCYWQgRklUIGltYWdlIGZvcm1hdFxuIik7CisJCQlyZXR1cm4gMTsKKwkJfQorCQlzaG93X2Jvb3RfcHJvZ3Jlc3MgKDEzMSk7CisJCWZpdF9wcmludF9jb250ZW50cyAoZml0X2hkcik7CisJfQogI2VuZGlmCiAKIAkvKiBMb2FkaW5nIG9rLCB1cGRhdGUgZGVmYXVsdCBsb2FkIGFkZHJlc3MgKi8KZGlmZiAtLWdpdCBhL2NvbW1vbi9jbWRfZmRjLmMgYi9jb21tb24vY21kX2ZkYy5jCmluZGV4IDAyOTNkMTguLmU0ZmJmMjkgMTAwNjQ0Ci0tLSBhL2NvbW1vbi9jbWRfZmRjLmMKKysrIGIvY29tbW9uL2NtZF9mZGMuYwpAQCAtNzg3LDcgKzc4Nyw3IEBACiAJY2hhciAqZXA7CiAJaW50IHJjb2RlID0gMDsKICNpZiBkZWZpbmVkKENPTkZJR19GSVQpCi0JY29uc3Qgdm9pZCAqZml0X2hkcjsKKwljb25zdCB2b2lkICpmaXRfaGRyID0gTlVMTDsKICNlbmRpZgogCiAJc3dpdGNoIChhcmdjKSB7CkBAIC04NDcsMTAgKzg0Nyw2IEBACiAjaWYgZGVmaW5lZChDT05GSUdfRklUKQogCWNhc2UgSU1BR0VfRk9STUFUX0ZJVDoKIAkJZml0X2hkciA9IChjb25zdCB2b2lkICopYWRkcjsKLQkJaWYgKCFmaXRfY2hlY2tfZm9ybWF0IChmaXRfaGRyKSkgewotCQkJcHV0cyAoIioqIEJhZCBGSVQgaW1hZ2UgZm9ybWF0XG4iKTsKLQkJCXJldHVybiAxOwotCQl9CiAJCXB1dHMgKCJGaXQgaW1hZ2UgZGV0ZWN0ZWQuLi5cbiIpOwogCiAJCWltc2l6ZSA9IGZpdF9nZXRfc2l6ZSAoZml0X2hkcik7CkBAIC04NzksOCArODc1LDEzIEBACiAKICNpZiBkZWZpbmVkKENPTkZJR19GSVQpCiAJLyogVGhpcyBjYW5ub3QgYmUgZG9uZSBlYXJsaWVyLCB3ZSBuZWVkIGNvbXBsZXRlIEZJVCBpbWFnZSBpbiBSQU0gZmlyc3QgKi8KLQlpZiAoZ2VuaW1nX2dldF9mb3JtYXQgKCh2b2lkICopYWRkcikgPT0gSU1BR0VfRk9STUFUX0ZJVCkKLQkJZml0X3ByaW50X2NvbnRlbnRzICgoY29uc3Qgdm9pZCAqKWFkZHIpOworCWlmIChnZW5pbWdfZ2V0X2Zvcm1hdCAoKHZvaWQgKilhZGRyKSA9PSBJTUFHRV9GT1JNQVRfRklUKSB7CisJCWlmICghZml0X2NoZWNrX2Zvcm1hdCAoZml0X2hkcikpIHsKKwkJCXB1dHMgKCIqKiBCYWQgRklUIGltYWdlIGZvcm1hdFxuIik7CisJCQlyZXR1cm4gMTsKKwkJfQorCQlmaXRfcHJpbnRfY29udGVudHMgKGZpdF9oZHIpOworCX0KICNlbmRpZgogCiAJLyogTG9hZGluZyBvaywgdXBkYXRlIGRlZmF1bHQgbG9hZCBhZGRyZXNzICovCmRpZmYgLS1naXQgYS9jb21tb24vY21kX2lkZS5jIGIvY29tbW9uL2NtZF9pZGUuYwppbmRleCA2NTYwNzAyLi45N2E4NzNkIDEwMDY0NAotLS0gYS9jb21tb24vY21kX2lkZS5jCisrKyBiL2NvbW1vbi9jbWRfaWRlLmMKQEAgLTM2Nyw3ICszNjcsNyBAQAogCWltYWdlX2hlYWRlcl90ICpoZHI7CiAJaW50IHJjb2RlID0gMDsKICNpZiBkZWZpbmVkKENPTkZJR19GSVQpCi0JY29uc3Qgdm9pZCAqZml0X2hkcjsKKwljb25zdCB2b2lkICpmaXRfaGRyID0gTlVMTDsKICNlbmRpZgogCiAJc2hvd19ib290X3Byb2dyZXNzICg0MSk7CkBAIC00NjUsMTIgKzQ2NSw2IEBACiAjaWYgZGVmaW5lZChDT05GSUdfRklUKQogCWNhc2UgSU1BR0VfRk9STUFUX0ZJVDoKIAkJZml0X2hkciA9IChjb25zdCB2b2lkICopYWRkcjsKLQkJaWYgKCFmaXRfY2hlY2tfZm9ybWF0IChmaXRfaGRyKSkgewotCQkJc2hvd19ib290X3Byb2dyZXNzICgtMTQwKTsKLQkJCXB1dHMgKCIqKiBCYWQgRklUIGltYWdlIGZvcm1hdFxuIik7Ci0JCQlyZXR1cm4gMTsKLQkJfQotCQlzaG93X2Jvb3RfcHJvZ3Jlc3MgKDE0MSk7CiAJCXB1dHMgKCJGaXQgaW1hZ2UgZGV0ZWN0ZWQuLi5cbiIpOwogCiAJCWNudCA9IGZpdF9nZXRfc2l6ZSAoZml0X2hkcik7CkBAIC00OTYsOCArNDkwLDE1IEBACiAKICNpZiBkZWZpbmVkKENPTkZJR19GSVQpCiAJLyogVGhpcyBjYW5ub3QgYmUgZG9uZSBlYXJsaWVyLCB3ZSBuZWVkIGNvbXBsZXRlIEZJVCBpbWFnZSBpbiBSQU0gZmlyc3QgKi8KLQlpZiAoZ2VuaW1nX2dldF9mb3JtYXQgKCh2b2lkICopYWRkcikgPT0gSU1BR0VfRk9STUFUX0ZJVCkKLQkJZml0X3ByaW50X2NvbnRlbnRzICgoY29uc3Qgdm9pZCAqKWFkZHIpOworCWlmIChnZW5pbWdfZ2V0X2Zvcm1hdCAoKHZvaWQgKilhZGRyKSA9PSBJTUFHRV9GT1JNQVRfRklUKSB7CisJCWlmICghZml0X2NoZWNrX2Zvcm1hdCAoZml0X2hkcikpIHsKKwkJCXNob3dfYm9vdF9wcm9ncmVzcyAoLTE0MCk7CisJCQlwdXRzICgiKiogQmFkIEZJVCBpbWFnZSBmb3JtYXRcbiIpOworCQkJcmV0dXJuIDE7CisJCX0KKwkJc2hvd19ib290X3Byb2dyZXNzICgxNDEpOworCQlmaXRfcHJpbnRfY29udGVudHMgKGZpdF9oZHIpOworCX0KICNlbmRpZgogCiAJLyogTG9hZGluZyBvaywgdXBkYXRlIGRlZmF1bHQgbG9hZCBhZGRyZXNzICovCmRpZmYgLS1naXQgYS9jb21tb24vY21kX25hbmQuYyBiL2NvbW1vbi9jbWRfbmFuZC5jCmluZGV4IDM3MTk4ZDIuLmUyMGMxYWYgMTAwNjQ0Ci0tLSBhL2NvbW1vbi9jbWRfbmFuZC5jCisrKyBiL2NvbW1vbi9jbWRfbmFuZC5jCkBAIC00ODQsNyArNDg0LDcgQEAKIAlpbWFnZV9oZWFkZXJfdCAqaGRyOwogCWludCBqZmZzMiA9IDA7CiAjaWYgZGVmaW5lZChDT05GSUdfRklUKQotCWNvbnN0IHZvaWQgKmZpdF9oZHI7CisJY29uc3Qgdm9pZCAqZml0X2hkciA9IE5VTEw7CiAjZW5kaWYKIAogCXMgPSBzdHJjaHIoY21kLCAnLicpOwpAQCAtNTI2LDEyICs1MjYsNiBAQAogI2lmIGRlZmluZWQoQ09ORklHX0ZJVCkKIAljYXNlIElNQUdFX0ZPUk1BVF9GSVQ6CiAJCWZpdF9oZHIgPSAoY29uc3Qgdm9pZCAqKWFkZHI7Ci0JCWlmICghZml0X2NoZWNrX2Zvcm1hdCAoZml0X2hkcikpIHsKLQkJCXNob3dfYm9vdF9wcm9ncmVzcyAoLTE1MCk7Ci0JCQlwdXRzICgiKiogQmFkIEZJVCBpbWFnZSBmb3JtYXRcbiIpOwotCQkJcmV0dXJuIDE7Ci0JCX0KLQkJc2hvd19ib290X3Byb2dyZXNzICgxNTEpOwogCQlwdXRzICgiRml0IGltYWdlIGRldGVjdGVkLi4uXG4iKTsKIAogCQljbnQgPSBmaXRfZ2V0X3NpemUgKGZpdF9oZHIpOwpAQCAtNTY0LDggKzU1OCwxNSBAQAogCiAjaWYgZGVmaW5lZChDT05GSUdfRklUKQogCS8qIFRoaXMgY2Fubm90IGJlIGRvbmUgZWFybGllciwgd2UgbmVlZCBjb21wbGV0ZSBGSVQgaW1hZ2UgaW4gUkFNIGZpcnN0ICovCi0JaWYgKGdlbmltZ19nZXRfZm9ybWF0ICgodm9pZCAqKWFkZHIpID09IElNQUdFX0ZPUk1BVF9GSVQpCi0JCWZpdF9wcmludF9jb250ZW50cyAoKGNvbnN0IHZvaWQgKilhZGRyKTsKKwlpZiAoZ2VuaW1nX2dldF9mb3JtYXQgKCh2b2lkICopYWRkcikgPT0gSU1BR0VfRk9STUFUX0ZJVCkgeworCQlpZiAoIWZpdF9jaGVja19mb3JtYXQgKGZpdF9oZHIpKSB7CisJCQlzaG93X2Jvb3RfcHJvZ3Jlc3MgKC0xNTApOworCQkJcHV0cyAoIioqIEJhZCBGSVQgaW1hZ2UgZm9ybWF0XG4iKTsKKwkJCXJldHVybiAxOworCQl9CisJCXNob3dfYm9vdF9wcm9ncmVzcyAoMTUxKTsKKwkJZml0X3ByaW50X2NvbnRlbnRzIChmaXRfaGRyKTsKKwl9CiAjZW5kaWYKIAogCS8qIExvYWRpbmcgb2ssIHVwZGF0ZSBkZWZhdWx0IGxvYWQgYWRkcmVzcyAqLwpAQCAtOTUyLDcgKzk1Myw3IEBACiAJaW1hZ2VfaGVhZGVyX3QgKmhkcjsKIAlpbnQgcmNvZGUgPSAwOwogI2lmIGRlZmluZWQoQ09ORklHX0ZJVCkKLQljb25zdCB2b2lkICpmaXRfaGRyOworCWNvbnN0IHZvaWQgKmZpdF9oZHIgPSBOVUxMOwogI2VuZGlmCiAKIAlzaG93X2Jvb3RfcHJvZ3Jlc3MgKDUyKTsKQEAgLTEwMjEsMTIgKzEwMjIsNiBAQAogI2lmIGRlZmluZWQoQ09ORklHX0ZJVCkKIAljYXNlIElNQUdFX0ZPUk1BVF9GSVQ6CiAJCWZpdF9oZHIgPSAoY29uc3Qgdm9pZCAqKWFkZHI7Ci0JCWlmICghZml0X2NoZWNrX2Zvcm1hdCAoZml0X2hkcikpIHsKLQkJCXNob3dfYm9vdF9wcm9ncmVzcyAoLTE1MCk7Ci0JCQlwdXRzICgiKiogQmFkIEZJVCBpbWFnZSBmb3JtYXRcbiIpOwotCQkJcmV0dXJuIDE7Ci0JCX0KLQkJc2hvd19ib290X3Byb2dyZXNzICgxNTEpOwogCQlwdXRzICgiRml0IGltYWdlIGRldGVjdGVkLi4uXG4iKTsKIAogCQljbnQgPSBmaXRfZ2V0X3NpemUgKGZpdF9oZHIpOwpAQCAtMTA1MCw4ICsxMDQ1LDE1IEBACiAKICNpZiBkZWZpbmVkKENPTkZJR19GSVQpCiAJLyogVGhpcyBjYW5ub3QgYmUgZG9uZSBlYXJsaWVyLCB3ZSBuZWVkIGNvbXBsZXRlIEZJVCBpbWFnZSBpbiBSQU0gZmlyc3QgKi8KLQlpZiAoZ2VuaW1nX2dldF9mb3JtYXQgKCh2b2lkICopYWRkcikgPT0gSU1BR0VfRk9STUFUX0ZJVCkKLQkJZml0X3ByaW50X2NvbnRlbnRzICgoY29uc3Qgdm9pZCAqKWFkZHIpOworCWlmIChnZW5pbWdfZ2V0X2Zvcm1hdCAoKHZvaWQgKilhZGRyKSA9PSBJTUFHRV9GT1JNQVRfRklUKSB7CisJCWlmICghZml0X2NoZWNrX2Zvcm1hdCAoZml0X2hkcikpIHsKKwkJCXNob3dfYm9vdF9wcm9ncmVzcyAoLTE1MCk7CisJCQlwdXRzICgiKiogQmFkIEZJVCBpbWFnZSBmb3JtYXRcbiIpOworCQkJcmV0dXJuIDE7CisJCX0KKwkJc2hvd19ib290X3Byb2dyZXNzICgxNTEpOworCQlmaXRfcHJpbnRfY29udGVudHMgKGZpdF9oZHIpOworCX0KICNlbmRpZgogCiAJLyogTG9hZGluZyBvaywgdXBkYXRlIGRlZmF1bHQgbG9hZCBhZGRyZXNzICovCmRpZmYgLS1naXQgYS9jb21tb24vY21kX252ZWRpdC5jIGIvY29tbW9uL2NtZF9udmVkaXQuYwppbmRleCA0OWYxMzRhLi44NWEwZjk0IDEwMDY0NAotLS0gYS9jb21tb24vY21kX252ZWRpdC5jCisrKyBiL2NvbW1vbi9jbWRfbnZlZGl0LmMKQEAgLTE4MCwxMSArMTgwLDEyIEBACiAJCSAqIEV0aGVybmV0IEFkZHJlc3MgYW5kIHNlcmlhbCMgY2FuIGJlIHNldCBvbmx5IG9uY2UsCiAJCSAqIHZlciBpcyByZWFkb25seS4KIAkJICovCisJCWlmICgKICNpZmRlZiBDT05GSUdfSEFTX1VJRAogCQkvKiBBbGxvdyBzZXJpYWwjIGZvcmNlZCBvdmVyd3JpdGUgd2l0aCAweGRlYWY0YWRkIGZsYWcgKi8KLQkJaWYgKCAoKHN0cmNtcCAobmFtZSwgInNlcmlhbCMiKSA9PSAwKSAmJiAoZmxhZyAhPSAweGRlYWY0YWRkKSkgfHwKKwkJICAgICgoc3RyY21wIChuYW1lLCAic2VyaWFsIyIpID09IDApICYmIChmbGFnICE9IDB4ZGVhZjRhZGQpKSB8fAogI2Vsc2UKLQkJaWYgKCAoc3RyY21wIChuYW1lLCAic2VyaWFsIyIpID09IDApIHx8CisJCSAgICAoc3RyY21wIChuYW1lLCAic2VyaWFsIyIpID09IDApIHx8CiAjZW5kaWYKIAkJICAgICgoc3RyY21wIChuYW1lLCAiZXRoYWRkciIpID09IDApCiAjaWYgZGVmaW5lZChDT05GSUdfT1ZFUldSSVRFX0VUSEFERFJfT05DRSkgJiYgZGVmaW5lZChDT05GSUdfRVRIQUREUikKQEAgLTM4MCwxMyArMzgxLDEzIEBACiAJcmV0dXJuIDA7CiB9CiAKLXZvaWQgc2V0ZW52IChjaGFyICp2YXJuYW1lLCBjaGFyICp2YXJ2YWx1ZSkKK2ludCBzZXRlbnYgKGNoYXIgKnZhcm5hbWUsIGNoYXIgKnZhcnZhbHVlKQogewogCWNoYXIgKmFyZ3ZbNF0gPSB7ICJzZXRlbnYiLCB2YXJuYW1lLCB2YXJ2YWx1ZSwgTlVMTCB9OwogCWlmICh2YXJ2YWx1ZSA9PSBOVUxMKQotCQlfZG9fc2V0ZW52ICgwLCAyLCBhcmd2KTsKKwkJcmV0dXJuIF9kb19zZXRlbnYgKDAsIDIsIGFyZ3YpOwogCWVsc2UKLQkJX2RvX3NldGVudiAoMCwgMywgYXJndik7CisJCXJldHVybiBfZG9fc2V0ZW52ICgwLCAzLCBhcmd2KTsKIH0KIAogI2lmZGVmIENPTkZJR19IQVNfVUlECmRpZmYgLS1naXQgYS9jb21tb24vY21kX3Njc2kuYyBiL2NvbW1vbi9jbWRfc2NzaS5jCmluZGV4IDY5MDI4ZjMuLmU2NDhmN2QgMTAwNjQ0Ci0tLSBhL2NvbW1vbi9jbWRfc2NzaS5jCisrKyBiL2NvbW1vbi9jbWRfc2NzaS5jCkBAIC0yMTIsNyArMjEyLDcgQEAKIAlpbWFnZV9oZWFkZXJfdCAqaGRyOwogCWludCByY29kZSA9IDA7CiAjaWYgZGVmaW5lZChDT05GSUdfRklUKQotCWNvbnN0IHZvaWQgKmZpdF9oZHI7CisJY29uc3Qgdm9pZCAqZml0X2hkciA9IE5VTEw7CiAjZW5kaWYKIAogCXN3aXRjaCAoYXJnYykgewpAQCAtMjkxLDEwICsyOTEsNiBAQAogI2lmIGRlZmluZWQoQ09ORklHX0ZJVCkKIAljYXNlIElNQUdFX0ZPUk1BVF9GSVQ6CiAJCWZpdF9oZHIgPSAoY29uc3Qgdm9pZCAqKWFkZHI7Ci0JCWlmICghZml0X2NoZWNrX2Zvcm1hdCAoZml0X2hkcikpIHsKLQkJCXB1dHMgKCIqKiBCYWQgRklUIGltYWdlIGZvcm1hdFxuIik7Ci0JCQlyZXR1cm4gMTsKLQkJfQogCQlwdXRzICgiRml0IGltYWdlIGRldGVjdGVkLi4uXG4iKTsKIAogCQljbnQgPSBmaXRfZ2V0X3NpemUgKGZpdF9oZHIpOwpAQCAtMzE3LDggKzMxMywxMyBAQAogCiAjaWYgZGVmaW5lZChDT05GSUdfRklUKQogCS8qIFRoaXMgY2Fubm90IGJlIGRvbmUgZWFybGllciwgd2UgbmVlZCBjb21wbGV0ZSBGSVQgaW1hZ2UgaW4gUkFNIGZpcnN0ICovCi0JaWYgKGdlbmltZ19nZXRfZm9ybWF0ICgodm9pZCAqKWFkZHIpID09IElNQUdFX0ZPUk1BVF9GSVQpCi0JCWZpdF9wcmludF9jb250ZW50cyAoKGNvbnN0IHZvaWQgKilhZGRyKTsKKwlpZiAoZ2VuaW1nX2dldF9mb3JtYXQgKCh2b2lkICopYWRkcikgPT0gSU1BR0VfRk9STUFUX0ZJVCkgeworCQlpZiAoIWZpdF9jaGVja19mb3JtYXQgKGZpdF9oZHIpKSB7CisJCQlwdXRzICgiKiogQmFkIEZJVCBpbWFnZSBmb3JtYXRcbiIpOworCQkJcmV0dXJuIDE7CisJCX0KKwkJZml0X3ByaW50X2NvbnRlbnRzIChmaXRfaGRyKTsKKwl9CiAjZW5kaWYKIAogCS8qIExvYWRpbmcgb2ssIHVwZGF0ZSBkZWZhdWx0IGxvYWQgYWRkcmVzcyAqLwpkaWZmIC0tZ2l0IGEvY29tbW9uL2NtZF91c2IuYyBiL2NvbW1vbi9jbWRfdXNiLmMKaW5kZXggOWJlODZiOC4uZjI3OTVkMyAxMDA2NDQKLS0tIGEvY29tbW9uL2NtZF91c2IuYworKysgYi9jb21tb24vY21kX3VzYi5jCkBAIC0zMTYsNyArMzE2LDcgQEAKIAlpbWFnZV9oZWFkZXJfdCAqaGRyOwogCWJsb2NrX2Rldl9kZXNjX3QgKnN0b3JfZGV2OwogI2lmIGRlZmluZWQoQ09ORklHX0ZJVCkKLQljb25zdCB2b2lkICpmaXRfaGRyOworCWNvbnN0IHZvaWQgKmZpdF9oZHIgPSBOVUxMOwogI2VuZGlmCiAKIAlzd2l0Y2ggKGFyZ2MpIHsKQEAgLTQwNCwxMCArNDA0LDYgQEAKICNpZiBkZWZpbmVkKENPTkZJR19GSVQpCiAJY2FzZSBJTUFHRV9GT1JNQVRfRklUOgogCQlmaXRfaGRyID0gKGNvbnN0IHZvaWQgKilhZGRyOwotCQlpZiAoIWZpdF9jaGVja19mb3JtYXQgKGZpdF9oZHIpKSB7Ci0JCQlwdXRzICgiKiogQmFkIEZJVCBpbWFnZSBmb3JtYXRcbiIpOwotCQkJcmV0dXJuIDE7Ci0JCX0KIAkJcHV0cyAoIkZpdCBpbWFnZSBkZXRlY3RlZC4uLlxuIik7CiAKIAkJY250ID0gZml0X2dldF9zaXplIChmaXRfaGRyKTsKQEAgLTQzMCw4ICs0MjYsMTMgQEAKIAogI2lmIGRlZmluZWQoQ09ORklHX0ZJVCkKIAkvKiBUaGlzIGNhbm5vdCBiZSBkb25lIGVhcmxpZXIsIHdlIG5lZWQgY29tcGxldGUgRklUIGltYWdlIGluIFJBTSBmaXJzdCAqLwotCWlmIChnZW5pbWdfZ2V0X2Zvcm1hdCAoKHZvaWQgKilhZGRyKSA9PSBJTUFHRV9GT1JNQVRfRklUKQotCQlmaXRfcHJpbnRfY29udGVudHMgKChjb25zdCB2b2lkICopYWRkcik7CisJaWYgKGdlbmltZ19nZXRfZm9ybWF0ICgodm9pZCAqKWFkZHIpID09IElNQUdFX0ZPUk1BVF9GSVQpIHsKKwkJaWYgKCFmaXRfY2hlY2tfZm9ybWF0IChmaXRfaGRyKSkgeworCQkJcHV0cyAoIioqIEJhZCBGSVQgaW1hZ2UgZm9ybWF0XG4iKTsKKwkJCXJldHVybiAxOworCQl9CisJCWZpdF9wcmludF9jb250ZW50cyAoZml0X2hkcik7CisJfQogI2VuZGlmCiAKIAkvKiBMb2FkaW5nIG9rLCB1cGRhdGUgZGVmYXVsdCBsb2FkIGFkZHJlc3MgKi8KZGlmZiAtLWdpdCBhL2NvbW1vbi9lbnZfbmFuZC5jIGIvY29tbW9uL2Vudl9uYW5kLmMKaW5kZXggZTIxZDJhMy4uODk1NDAxNyAxMDA2NDQKLS0tIGEvY29tbW9uL2Vudl9uYW5kLmMKKysrIGIvY29tbW9uL2Vudl9uYW5kLmMKQEAgLTIzMSw3ICsyMzEsNyBAQAogCXNpemVfdCB0b3RhbDsKIAlpbnQgcmV0ID0gMDsKIAluYW5kX2VyYXNlX29wdGlvbnNfdCBuYW5kX2VyYXNlX29wdGlvbnM7Ci0JCisKIAluYW5kX2VyYXNlX29wdGlvbnMubGVuZ3RoID0gQ0ZHX0VOVl9SQU5HRTsKIAluYW5kX2VyYXNlX29wdGlvbnMucXVpZXQgPSAwOwogCW5hbmRfZXJhc2Vfb3B0aW9ucy5qZmZzMiA9IDA7CmRpZmYgLS1naXQgYS9jb25maWcubWsgYi9jb25maWcubWsKaW5kZXggYjA4YjdhNy4uMWRhYzI5YiAxMDA2NDQKLS0tIGEvY29uZmlnLm1rCisrKyBiL2NvbmZpZy5tawpAQCAtMTcyLDYgKzE3Miw4IEBACiBDRkxBR1MgOj0gJChDUFBGTEFHUykgLVdhbGwgLVdzdHJpY3QtcHJvdG90eXBlcwogZW5kaWYKIAorQ0ZMQUdTICs9ICQoY2FsbCBjYy1vcHRpb24sLWZuby1zdGFjay1wcm90ZWN0b3IpCisKICMgYXZvaWQgdHJpZ3JhcGggd2FybmluZ3Mgd2hpbGUgcGFyc2luZyBwY2kuaCAocHJvZHVjZWQgYnkgTklPUyBnY2MtMi45KQogIyB0aGlzIG9wdGlvbiBoYXZlIHRvIGJlIHBsYWNlZCBiZWhpbmQgLVdhbGwgLS0gdGhhdCdzIHdoeSBpdCBpcyBoZXJlCiBpZmVxICgkKEFSQ0gpLG5pb3MpCmRpZmYgLS1naXQgYS9jcHUvYXJtMTEzNi9teDMxL3NlcmlhbC5jIGIvY3B1L2FybTExMzYvbXgzMS9zZXJpYWwuYwppbmRleCAxY2FkOGY5Li5mNDk4NTk5IDEwMDY0NAotLS0gYS9jcHUvYXJtMTEzNi9teDMxL3NlcmlhbC5jCisrKyBiL2NwdS9hcm0xMTM2L214MzEvc2VyaWFsLmMKQEAgLTYzLDYgKzYzLDcgQEAKICNkZWZpbmUgIFVSWERfRlJNRVJSICAgICAoMTw8MTIpCiAjZGVmaW5lICBVUlhEX0JSSyAgICAgICAgKDE8PDExKQogI2RlZmluZSAgVVJYRF9QUkVSUiAgICAgICgxPDwxMCkKKyNkZWZpbmUgIFVSWERfUlhfREFUQSAgICAoMHhGRikKICNkZWZpbmUgIFVDUjFfQURFTiAgICAgICAoMTw8MTUpIC8qIEF1dG8gZGVjdGVjdCBpbnRlcnJ1cHQgKi8KICNkZWZpbmUgIFVDUjFfQURCUiAgICAgICAoMTw8MTQpIC8qIEF1dG8gZGV0ZWN0IGJhdWQgcmF0ZSAqLwogI2RlZmluZSAgVUNSMV9UUkRZRU4gICAgICgxPDwxMykgLyogVHJhbnNtaXR0ZXIgcmVhZHkgaW50ZXJydXB0IGVuYWJsZSAqLwpAQCAtMTY1LDcgKzE2Niw3IEBACiBpbnQgc2VyaWFsX2dldGMgKHZvaWQpCiB7CiAJd2hpbGUgKF9fUkVHKFVBUlRfUEhZUyArIFVUUykgJiBVVFNfUlhFTVBUWSk7Ci0JcmV0dXJuIF9fUkVHKFVBUlRfUEhZUyArIFVSWEQpOworCXJldHVybiAoX19SRUcoVUFSVF9QSFlTICsgVVJYRCkgJiBVUlhEX1JYX0RBVEEpOyAvKiBtYXNrIG91dCBzdGF0dXMgZnJvbSB1cHBlciB3b3JkICovCiB9CiAKIHZvaWQgc2VyaWFsX3B1dGMgKGNvbnN0IGNoYXIgYykKZGlmZiAtLWdpdCBhL2NwdS9hdDMyYXAvYXQzMmFwNzAweC9ncGlvLmMgYi9jcHUvYXQzMmFwL2F0MzJhcDcwMHgvZ3Bpby5jCmluZGV4IDNkYTM1ZDQuLjU2YmEyZjkgMTAwNjQ0Ci0tLSBhL2NwdS9hdDMyYXAvYXQzMmFwNzAweC9ncGlvLmMKKysrIGIvY3B1L2F0MzJhcC9hdDMyYXA3MDB4L2dwaW8uYwpAQCAtMTQ5LDI0ICsxNDksMjcgQEAKICNpZmRlZiBBVDMyQVA3MDB4X0NISVBfSEFTX1NQSQogdm9pZCBncGlvX2VuYWJsZV9zcGkwKHVuc2lnbmVkIGxvbmcgY3NfbWFzaykKIHsKLQl1MzIgcGFfbWFzayA9IDA7Ci0KIAlncGlvX3NlbGVjdF9wZXJpcGhfQShHUElPX1BJTl9QQTAsICAwKTsJLyogTUlTTwkqLwogCWdwaW9fc2VsZWN0X3BlcmlwaF9BKEdQSU9fUElOX1BBMSwgIDApOwkvKiBNT1NJCSovCiAJZ3Bpb19zZWxlY3RfcGVyaXBoX0EoR1BJT19QSU5fUEEyLCAgMCk7CS8qIFNDSwkqLwogCi0JaWYgKGNzX21hc2sgJiAoMSA8PCAwKSkKLQkJcGFfbWFzayB8PSAxIDw8IDM7CS8qIE5QQ1MwICovCi0JaWYgKGNzX21hc2sgJiAoMSA8PCAxKSkKLQkJcGFfbWFzayB8PSAxIDw8IDQ7CS8qIE5QQ1MxICovCi0JaWYgKGNzX21hc2sgJiAoMSA8PCAyKSkKLQkJcGFfbWFzayB8PSAxIDw8IDU7CS8qIE5QQ1MyICovCi0JaWYgKGNzX21hc2sgJiAoMSA8PCAzKSkKLQkJcGFfbWFzayB8PSAxIDw8IDIwOwkvKiBOUENTMyAqLwotCi0JX19yYXdfd3JpdGVsKHBhX21hc2ssIFBJT0FfQkFTRSArIDB4MDApOwotCV9fcmF3X3dyaXRlbChwYV9tYXNrLCBQSU9BX0JBU0UgKyAweDMwKTsKLQlfX3Jhd193cml0ZWwocGFfbWFzaywgUElPQV9CQVNFICsgMHgxMCk7CisJLyogU2V0IHVwIE5QQ1N4IGFzIEdQSU8gb3V0cHV0cywgaW5pdGlhbGx5IGhpZ2ggKi8KKwlpZiAoY3NfbWFzayAmICgxIDw8IDApKSB7CisJCWdwaW9fc2V0X3ZhbHVlKEdQSU9fUElOX1BBMywgMSk7CisJCWdwaW9fc2VsZWN0X3BpbyhHUElPX1BJTl9QQTMsIEdQSU9GX09VVFBVVCk7CisJfQorCWlmIChjc19tYXNrICYgKDEgPDwgMSkpIHsKKwkJZ3Bpb19zZXRfdmFsdWUoR1BJT19QSU5fUEE0LCAxKTsKKwkJZ3Bpb19zZWxlY3RfcGlvKEdQSU9fUElOX1BBNCwgR1BJT0ZfT1VUUFVUKTsKKwl9CisJaWYgKGNzX21hc2sgJiAoMSA8PCAyKSkgeworCQlncGlvX3NldF92YWx1ZShHUElPX1BJTl9QQTUsIDEpOworCQlncGlvX3NlbGVjdF9waW8oR1BJT19QSU5fUEE1LCBHUElPRl9PVVRQVVQpOworCX0KKwlpZiAoY3NfbWFzayAmICgxIDw8IDMpKSB7CisJCWdwaW9fc2V0X3ZhbHVlKEdQSU9fUElOX1BBMjAsIDEpOworCQlncGlvX3NlbGVjdF9waW8oR1BJT19QSU5fUEEyMCwgR1BJT0ZfT1VUUFVUKTsKKwl9CiB9CiAKIHZvaWQgZ3Bpb19lbmFibGVfc3BpMSh1bnNpZ25lZCBsb25nIGNzX21hc2spCkBAIC0xNzUsMTMgKzE3OCwyMiBAQAogCWdwaW9fc2VsZWN0X3BlcmlwaF9CKEdQSU9fUElOX1BCMSwgIDApOwkvKiBNT1NJCSovCiAJZ3Bpb19zZWxlY3RfcGVyaXBoX0IoR1BJT19QSU5fUEI1LCAgMCk7CS8qIFNDSwkqLwogCi0JaWYgKGNzX21hc2sgJiAoMSA8PCAwKSkKLQkJZ3Bpb19zZWxlY3RfcGVyaXBoX0IoR1BJT19QSU5fUEIyLCAgMCk7CS8qIE5QQ1MwICovCi0JaWYgKGNzX21hc2sgJiAoMSA8PCAxKSkKLQkJZ3Bpb19zZWxlY3RfcGVyaXBoX0IoR1BJT19QSU5fUEIzLCAgMCk7CS8qIE5QQ1MxICovCi0JaWYgKGNzX21hc2sgJiAoMSA8PCAyKSkKLQkJZ3Bpb19zZWxlY3RfcGVyaXBoX0IoR1BJT19QSU5fUEI0LCAgMCk7CS8qIE5QQ1MyICovCi0JaWYgKGNzX21hc2sgJiAoMSA8PCAzKSkKLQkJZ3Bpb19zZWxlY3RfcGVyaXBoX0EoR1BJT19QSU5fUEEyNywgMCk7CS8qIE5QQ1MzICovCisJLyogU2V0IHVwIE5QQ1N4IGFzIEdQSU8gb3V0cHV0cywgaW5pdGlhbGx5IGhpZ2ggKi8KKwlpZiAoY3NfbWFzayAmICgxIDw8IDApKSB7CisJCWdwaW9fc2V0X3ZhbHVlKEdQSU9fUElOX1BCMiwgMSk7CisJCWdwaW9fc2VsZWN0X3BpbyhHUElPX1BJTl9QQjIsIEdQSU9GX09VVFBVVCk7CisJfQorCWlmIChjc19tYXNrICYgKDEgPDwgMSkpIHsKKwkJZ3Bpb19zZXRfdmFsdWUoR1BJT19QSU5fUEIzLCAxKTsKKwkJZ3Bpb19zZWxlY3RfcGlvKEdQSU9fUElOX1BCMywgR1BJT0ZfT1VUUFVUKTsKKwl9CisJaWYgKGNzX21hc2sgJiAoMSA8PCAyKSkgeworCQlncGlvX3NldF92YWx1ZShHUElPX1BJTl9QQjQsIDEpOworCQlncGlvX3NlbGVjdF9waW8oR1BJT19QSU5fUEI0LCBHUElPRl9PVVRQVVQpOworCX0KKwlpZiAoY3NfbWFzayAmICgxIDw8IDMpKSB7CisJCWdwaW9fc2V0X3ZhbHVlKEdQSU9fUElOX1BBMjcsIDEpOworCQlncGlvX3NlbGVjdF9waW8oR1BJT19QSU5fUEEyNywgR1BJT0ZfT1VUUFVUKTsKKwl9CiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2NwdS9hdDMyYXAvYXRtZWxfbWNpLmMgYi9jcHUvYXQzMmFwL2F0bWVsX21jaS5jCmluZGV4IDM3OTVhZGQuLjYxYWExODQgMTAwNjQ0Ci0tLSBhL2NwdS9hdDMyYXAvYXRtZWxfbWNpLmMKKysrIGIvY3B1L2F0MzJhcC9hdG1lbF9tY2kuYwpAQCAtMzQ5LDcgKzM0OSw3IEBACiAKIAltbWNfaWRsZV9jYXJkcygpOwogCWZvciAoaSA9IDA7IGkgPCAxMDAwOyBpKyspIHsKLQkJcmV0ID0gbW1jX2FjbWQoTU1DX0FDTURfU0RfU0VORF9PUF9DT05ELCBDRkdfTU1DX09QX0NPTkQsCisJCXJldCA9IG1tY19hY21kKFNEX0NNRF9BUFBfU0VORF9PUF9DT05ELCBDRkdfTU1DX09QX0NPTkQsCiAJCQkgICAgICAgcmVzcCwgUjMgfCBOSUQpOwogCQlpZiAocmV0IHx8IChyZXNwWzBdICYgMHg4MDAwMDAwMCkpCiAJCQlicmVhazsKQEAgLTM2Nyw3ICszNjcsNyBAQAogCQltbWNfZHVtcF9jaWQoY2lkKTsKIAogCS8qIEdldCBSQ0Egb2YgdGhlIGNhcmQgdGhhdCByZXNwb25kZWQgKi8KLQlyZXQgPSBtbWNfY21kKE1NQ19DTURfU0RfU0VORF9SRUxBVElWRV9BRERSLCAwLCByZXNwLCBSNiB8IE5DUik7CisJcmV0ID0gbW1jX2NtZChTRF9DTURfU0VORF9SRUxBVElWRV9BRERSLCAwLCByZXNwLCBSNiB8IE5DUik7CiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIApkaWZmIC0tZ2l0IGEvY3B1L2F0MzJhcC9waW8uYyBiL2NwdS9hdDMyYXAvcGlvLmMKaW5kZXggOWJhMGI4ZS4uZjY0MDA0YiAxMDA2NDQKLS0tIGEvY3B1L2F0MzJhcC9waW8uYworKysgYi9jcHUvYXQzMmFwL3Bpby5jCkBAIC01OCwzICs1OCw1OSBAQAogCWVsc2UKIAkJcGlvMl93cml0ZWwoYmFzZSwgUFVEUiwgbWFzayk7CiB9CisKK3ZvaWQgZ3Bpb19zZWxlY3RfcGlvKHVuc2lnbmVkIGludCBwaW4sIHVuc2lnbmVkIGxvbmcgZ3Bpb2ZfZmxhZ3MpCit7CisJdm9pZCAqYmFzZSA9IGdwaW9fcGluX3RvX2FkZHIocGluKTsKKwl1aW50MzJfdCBtYXNrID0gMSA8PCAocGluICYgMHgxZik7CisKKwlpZiAoIWJhc2UpCisJCXBhbmljKCJJbnZhbGlkIEdQSU8gcGluICV1XG4iLCBwaW4pOworCisJaWYgKGdwaW9mX2ZsYWdzICYgR1BJT0ZfT1VUUFVUKSB7CisJCWlmIChncGlvZl9mbGFncyAmIEdQSU9GX01VTFRJRFJWKQorCQkJcGlvMl93cml0ZWwoYmFzZSwgTURFUiwgbWFzayk7CisJCWVsc2UKKwkJCXBpbzJfd3JpdGVsKGJhc2UsIE1ERFIsIG1hc2spOworCQlwaW8yX3dyaXRlbChiYXNlLCBQVURSLCBtYXNrKTsKKwkJcGlvMl93cml0ZWwoYmFzZSwgT0VSLCBtYXNrKTsKKwl9IGVsc2UgeworCQlpZiAoZ3Bpb2ZfZmxhZ3MgJiBHUElPRl9QVUxMVVApCisJCQlwaW8yX3dyaXRlbChiYXNlLCBQVUVSLCBtYXNrKTsKKwkJZWxzZQorCQkJcGlvMl93cml0ZWwoYmFzZSwgUFVEUiwgbWFzayk7CisJCWlmIChncGlvZl9mbGFncyAmIEdQSU9GX0RFR0xJVENIKQorCQkJcGlvMl93cml0ZWwoYmFzZSwgSUZFUiwgbWFzayk7CisJCWVsc2UKKwkJCXBpbzJfd3JpdGVsKGJhc2UsIElGRFIsIG1hc2spOworCQlwaW8yX3dyaXRlbChiYXNlLCBPRFIsIG1hc2spOworCX0KKworCXBpbzJfd3JpdGVsKGJhc2UsIFBFUiwgbWFzayk7Cit9CisKK3ZvaWQgZ3Bpb19zZXRfdmFsdWUodW5zaWduZWQgaW50IHBpbiwgaW50IHZhbHVlKQoreworCXZvaWQgKmJhc2UgPSBncGlvX3Bpbl90b19hZGRyKHBpbik7CisJdWludDMyX3QgbWFzayA9IDEgPDwgKHBpbiAmIDB4MWYpOworCisJaWYgKCFiYXNlKQorCQlwYW5pYygiSW52YWxpZCBHUElPIHBpbiAldVxuIiwgcGluKTsKKworCWlmICh2YWx1ZSkKKwkJcGlvMl93cml0ZWwoYmFzZSwgU09EUiwgbWFzayk7CisJZWxzZQorCQlwaW8yX3dyaXRlbChiYXNlLCBDT0RSLCBtYXNrKTsKK30KKworaW50IGdwaW9fZ2V0X3ZhbHVlKHVuc2lnbmVkIGludCBwaW4pCit7CisJdm9pZCAqYmFzZSA9IGdwaW9fcGluX3RvX2FkZHIocGluKTsKKwlpbnQgdmFsdWU7CisKKwlpZiAoIWJhc2UpCisJCXBhbmljKCJJbnZhbGlkIEdQSU8gcGluICV1XG4iLCBwaW4pOworCisJdmFsdWUgPSBwaW8yX3JlYWRsKGJhc2UsIFBEU1IpOworCXJldHVybiAodmFsdWUgPj4gKHBpbiAmIDB4MWYpKSAmIDE7Cit9CmRpZmYgLS1naXQgYS9jcHUvbXBjODI2MC9jcHUuYyBiL2NwdS9tcGM4MjYwL2NwdS5jCmluZGV4IDQxNDc1OWUuLjRkNWQxNDEgMTAwNjQ0Ci0tLSBhL2NwdS9tcGM4MjYwL2NwdS5jCisrKyBiL2NwdS9tcGM4MjYwL2NwdS5jCkBAIC0zMDUsNiArMzA1LDExIEBACiB7CiAJY2hhciAqIGNwdV9wYXRoID0gIi9jcHVzLyIgT0ZfQ1BVOwogCisjaWYgZGVmaW5lZChDT05GSUdfSEFTX0VUSDApIHx8IGRlZmluZWQoQ09ORklHX0hBU19FVEgxKSB8fFwKKyAgICBkZWZpbmVkKENPTkZJR19IQVNfRVRIMikgfHwgZGVmaW5lZChDT05GSUdfSEFTX0VUSDMpCisJZmR0X2ZpeHVwX2V0aGVybmV0KGJsb2IsIGJkKTsKKyNlbmRpZgorCiAJZG9fZml4dXBfYnlfcGF0aF91MzIoYmxvYiwgY3B1X3BhdGgsICJidXMtZnJlcXVlbmN5IiwgYmQtPmJpX2J1c2ZyZXEsIDEpOwogCWRvX2ZpeHVwX2J5X3BhdGhfdTMyKGJsb2IsIGNwdV9wYXRoLCAidGltZWJhc2UtZnJlcXVlbmN5IiwgT0ZfVEJDTEssIDEpOwogCWRvX2ZpeHVwX2J5X3BhdGhfdTMyKGJsb2IsIGNwdV9wYXRoLCAiY2xvY2stZnJlcXVlbmN5IiwgYmQtPmJpX2ludGZyZXEsIDEpOwpkaWZmIC0tZ2l0IGEvY3B1L21wYzgzeHgvY3B1LmMgYi9jcHUvbXBjODN4eC9jcHUuYwppbmRleCAzNmRlNzhkLi5jYzAzZjhhIDEwMDY0NAotLS0gYS9jcHUvbXBjODN4eC9jcHUuYworKysgYi9jcHUvbXBjODN4eC9jcHUuYwpAQCAtNDQsNyArNDQsNiBAQAogCWNoYXIgYnVmWzMyXTsKIAlpbnQgaTsKIAotI2RlZmluZSBDUFVfVFlQRV9FTlRSWSh4KSB7I3gsIFNQUl8jI3h9CiAJY29uc3Qgc3RydWN0IGNwdV90eXBlIHsKIAkJY2hhciBuYW1lWzE1XTsKIAkJdTMyIHBhcnRpZDsKZGlmZiAtLWdpdCBhL2NwdS9tcGM4M3h4L2NwdV9pbml0LmMgYi9jcHUvbXBjODN4eC9jcHVfaW5pdC5jCmluZGV4IGZiMTg0ZDguLjY3YzllNTcgMTAwNjQ0Ci0tLSBhL2NwdS9tcGM4M3h4L2NwdV9pbml0LmMKKysrIGIvY3B1L21wYzgzeHgvY3B1X2luaXQuYwpAQCAtMTgxLDggKzE4MSwxMyBAQAogCiAJLyogU3lzdGVtIEdlbmVyYWwgUHVycG9zZSBSZWdpc3RlciAqLwogI2lmZGVmIENGR19TSUNSSAorI2lmIGRlZmluZWQoQ09ORklHX01QQzgzNFgpIHx8IGRlZmluZWQoQ09ORklHX01QQzgzMTMpCisJLyogcmVnYXJkaW5nIHRvIE1QQzM0eCBtYW51YWwgcmV2LjEgYml0cyAyOC4uMjkgbXVzdCBiZSBwcmVzZXJ2ZWQgKi8KKwlpbS0+c3lzY29uZi5zaWNyaCA9IChpbS0+c3lzY29uZi5zaWNyaCAmIDB4MDAwMDAwMEMpIHwgQ0ZHX1NJQ1JIOworI2Vsc2UKIAlpbS0+c3lzY29uZi5zaWNyaCA9IENGR19TSUNSSDsKICNlbmRpZgorI2VuZGlmCiAjaWZkZWYgQ0ZHX1NJQ1JMCiAJaW0tPnN5c2NvbmYuc2ljcmwgPSBDRkdfU0lDUkw7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2NwdS9tcGM4NXh4L2NwdS5jIGIvY3B1L21wYzg1eHgvY3B1LmMKaW5kZXggYmFmOGI4MS4uMGY3MjA1MSAxMDA2NDQKLS0tIGEvY3B1L21wYzg1eHgvY3B1LmMKKysrIGIvY3B1L21wYzg1eHgvY3B1LmMKQEAgLTMyMyw3ICszMjMsNyBAQAogCS8qIEZpbmQgdGhlIGFkZHJlc3MgZm9yIHRoZSBkdW1teSB3cml0ZSB0cmFuc2FjdGlvbiAqLwogCWZvciAoYnJwID0gJmxiYy0+YnIwLCBvcnAgPSAmbGJjLT5vcjAsIGkgPSAwOyBpIDwgODsKIAkJIGkrKywgYnJwICs9IDIsIG9ycCArPSAyKSB7Ci0JCQorCiAJCS8qIExvb2sgZm9yIGEgdmFsaWQgQlIgd2l0aCBzZWxlY3RlZCBVUE0gKi8KIAkJaWYgKChpbl9iZTMyKGJycCkgJiAoQlJfViB8IHVwbW1hc2spKSA9PSAoQlJfViB8IHVwbW1hc2spKSB7CiAJCQlkdW1teSA9ICh2b2xhdGlsZSB1OCopKGluX2JlMzIoYnJwKSA+PiBCUl9CQV9TSElGVCk7CmRpZmYgLS1naXQgYS9jcHUvcHBjNHh4L3NwZWVkLmMgYi9jcHUvcHBjNHh4L3NwZWVkLmMKaW5kZXggZWY0N2ZmYy4uMzRiZDcyMSAxMDA2NDQKLS0tIGEvY3B1L3BwYzR4eC9zcGVlZC5jCisrKyBiL2NwdS9wcGM0eHgvc3BlZWQuYwpAQCAtNzU0LDcgKzc1NCw3IEBACiAJcmV0dXJuIHN5c19pbmZvLmZyZXFPUEI7CiB9CiAKLSNlbGlmIGRlZmluZWQoQ09ORklHX1hJTElOWF9NTDMwMCkKKyNlbGlmIGRlZmluZWQoQ09ORklHX1hJTElOWF80MDUpCiBleHRlcm4gdm9pZCBnZXRfc3lzX2luZm8gKHN5c19pbmZvX3QgKiBzeXNJbmZvKTsKIGV4dGVybiB1bG9uZyBnZXRfUENJX2ZyZXEgKHZvaWQpOwogCmRpZmYgLS1naXQgYS9jcHUvcHhhL21tYy5jIGIvY3B1L3B4YS9tbWMuYwppbmRleCAwMzljZTBmLi40NDk1YTgwIDEwMDY0NAotLS0gYS9jcHUvcHhhL21tYy5jCisrKyBiL2NwdS9weGEvbW1jLmMKQEAgLTExOSw3ICsxMTksNyBAQAogCU1NQ19SRFRPID0gMHhmZmZmOwogCU1NQ19OT0IgPSAxOwogCU1NQ19CTEtMRU4gPSBsZW47Ci0JbW1jX2NtZChNTUNfQ01EX1JFQURfQkxPQ0ssIGFyZ2gsIGFyZ2wsCisJbW1jX2NtZChNTUNfQ01EX1JFQURfU0lOR0xFX0JMT0NLLCBhcmdoLCBhcmdsLAogCQlNTUNfQ01EQVRfUjEgfCBNTUNfQ01EQVRfUkVBRCB8IE1NQ19DTURBVF9CTE9DSyB8CiAJCU1NQ19DTURBVF9EQVRBX0VOKTsKIApAQCAtNTY4LDcgKzU2OCw3IEBACiAJTU1DX1NQSSA9IE1NQ19TUElfRElTQUJMRTsKIAogCS8qIHJlc2V0ICovCi0JbW1jX2NtZChNTUNfQ01EX1JFU0VULCAwLCAwLCBNTUNfQ01EQVRfSU5JVCB8IE1NQ19DTURBVF9SMCk7CisJbW1jX2NtZChNTUNfQ01EX0dPX0lETEVfU1RBVEUsIDAsIDAsIE1NQ19DTURBVF9JTklUIHwgTU1DX0NNREFUX1IwKTsKIAl1ZGVsYXkoMjAwMDAwKTsKIAlyZXRyaWVzID0gMzsKIAl3aGlsZSAocmV0cmllcy0tKSB7CkBAIC01NzgsNyArNTc4LDEwIEBACiAJCQlicmVhazsKIAkJfQogCi0JCXJlc3AgPSBtbWNfY21kKFNEX0NNRF9BUFBfT1BfQ09ORCwgMHgwMDIwLCAwLCBNTUNfQ01EQVRfUjMgfCAocmV0cmllcyA8IDIgPyAwIDogTU1DX0NNREFUX0lOSVQpKTsJLyogU2VsZWN0IDMuMi0zLjMgYW5kIDMuMy0zLjRWICovCisJCS8qIFNlbGVjdCAzLjItMy4zIGFuZCAzLjMtMy40ViAqLworCQlyZXNwID0gbW1jX2NtZChTRF9DTURfQVBQX1NFTkRfT1BfQ09ORCwgMHgwMDIwLCAwLAorCQkJCU1NQ19DTURBVF9SMyB8IChyZXRyaWVzIDwgMiA/IDAKKwkJCQkJOiBNTUNfQ01EQVRfSU5JVCkpOwogCQlpZiAocmVzcFswXSAmIDB4ODAwMDAwMDApIHsKIAkJCW1tY19kZXYuaWZfdHlwZSA9IElGX1RZUEVfU0Q7CiAJCQlkZWJ1ZygiRGV0ZWN0ZWQgU0QgY2FyZFxuIik7CkBAIC02MTYsNyArNjE5LDcgQEAKIAkJbWVtY3B5KGNpZF9yZXNwLCByZXNwLCBzaXplb2YoY2lkX3Jlc3ApKTsKIAogCQkvKiBNTUMgZXhpc3RzLCBnZXQgQ1NEIHRvbyAqLwotCQlyZXNwID0gbW1jX2NtZChNTUNfQ01EX1NFVF9SQ0EsIDAsIDAsIE1NQ19DTURBVF9SMSk7CisJCXJlc3AgPSBtbWNfY21kKE1NQ19DTURfU0VUX1JFTEFUSVZFX0FERFIsIDAsIDAsIE1NQ19DTURBVF9SMSk7CiAJCWlmIChJRl9UWVBFX1NEID09IG1tY19kZXYuaWZfdHlwZSkKIAkJCXJjYSA9ICgocmVzcFswXSAmIDB4ZmZmZjAwMDApID4+IDE2KTsKIAkJcmVzcCA9IG1tY19jbWQoTU1DX0NNRF9TRU5EX0NTRCwgcmNhLCAwLCBNTUNfQ01EQVRfUjIpOwpkaWZmIC0tZ2l0IGEvY3B1L3NoMy9NYWtlZmlsZSBiL2NwdS9zaDMvTWFrZWZpbGUKaW5kZXggNzY3OTI0OC4uYTdlYjFlMiAxMDA2NDQKLS0tIGEvY3B1L3NoMy9NYWtlZmlsZQorKysgYi9jcHUvc2gzL01ha2VmaWxlCkBAIC0zMSwxOSArMzEsMjcgQEAKIAogTElCCT0gJChvYmopbGliJChDUFUpLmEKIAotU1RBUlQJPSBzdGFydC5vCitTT0JKUwk9IHN0YXJ0Lm8KIE9CSlMJPSBjcHUubyBpbnRlcnJ1cHRzLm8gd2F0Y2hkb2cubyB0aW1lLm8gY2FjaGUubwogCi1hbGw6CS5kZXBlbmQgJChTVEFSVCkgJChMSUIpCitTUkNTCTo9ICQoU09CSlM6Lm89LlMpICQoQ09CSlM6Lm89LmMpCitPQkpTCTo9ICQoYWRkcHJlZml4ICQob2JqKSwkKENPQkpTKSkKK1NPQkpTCTo9ICQoYWRkcHJlZml4ICQob2JqKSwkKFNPQkpTKSkKIAotJChMSUIpOgkkKE9CSlMpCi0JJChBUikgY3J2ICRAICQoT0JKUykKKyQoTElCKToJJChPQkpTKSAkKFNPQkpTKQorCSQoQVIpICQoQVJGTEFHUykgJEAgJChPQkpTKSAkKFNPQkpTKQorCitjbGVhbjoKKwlybSAtZiAkKFNPQkpTKSAkKE9CSlMpCisKK2Rpc3RjbGVhbjoJY2xlYW4KKwlybSAtZiAkKExJQikgY29yZSAqLmJhayAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIAotLmRlcGVuZDoJTWFrZWZpbGUgJChTVEFSVDoubz0uUykgJChPQkpTOi5vPS5jKQotCQkkKENDKSAtTSAkKENGTEFHUykgJChTVEFSVDoubz0uUykgJChPQkpTOi5vPS5jKSA+ICRACisjIGRlZmluZXMgJChvYmopLmRlcGVuZCB0YXJnZXQKK2luY2x1ZGUgJChTUkNUUkVFKS9ydWxlcy5tawogCi1zaW5jbHVkZSAuZGVwZW5kCitzaW5jbHVkZSAkKG9iaikuZGVwZW5kCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKZGlmZiAtLWdpdCBhL2NwdS9zaDQvTWFrZWZpbGUgYi9jcHUvc2g0L01ha2VmaWxlCmluZGV4IDFiYjhiZDcuLmUzOGUwNGYgMTAwNjQ0Ci0tLSBhL2NwdS9zaDQvTWFrZWZpbGUKKysrIGIvY3B1L3NoNC9NYWtlZmlsZQpAQCAtMjgsMTkgKzI4LDI3IEBACiAKIExJQgk9ICQob2JqKWxpYiQoQ1BVKS5hCiAKLVNUQVJUCT0gc3RhcnQubworU09CSlMJPSBzdGFydC5vCiBPQkpTCT0gY3B1Lm8gaW50ZXJydXB0cy5vIHdhdGNoZG9nLm8gdGltZS5vIGNhY2hlLm8KIAotYWxsOgkuZGVwZW5kICQoU1RBUlQpICQoTElCKQorU1JDUwk6PSAkKFNPQkpTOi5vPS5TKSAkKENPQkpTOi5vPS5jKQorT0JKUwk6PSAkKGFkZHByZWZpeCAkKG9iaiksJChDT0JKUykpCitTT0JKUwk6PSAkKGFkZHByZWZpeCAkKG9iaiksJChTT0JKUykpCiAKLSQoTElCKToJJChPQkpTKQotCSQoQVIpIGNydiAkQCAkKE9CSlMpCiskKExJQik6CSQoT0JKUykgJChTT0JKUykKKwkkKEFSKSAkKEFSRkxBR1MpICRAICQoT0JKUykgJChTT0JKUykKKworY2xlYW46CisJcm0gLWYgJChTT0JKUykgJChPQkpTKQorCitkaXN0Y2xlYW46CWNsZWFuCisJcm0gLWYgJChMSUIpIGNvcmUgKi5iYWsgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKLS5kZXBlbmQ6CU1ha2VmaWxlICQoU1RBUlQ6Lm89LlMpICQoT0JKUzoubz0uYykKLQkJJChDQykgLU0gJChDRkxBR1MpICQoU1RBUlQ6Lm89LlMpICQoT0JKUzoubz0uYykgPiAkQAorIyBkZWZpbmVzICQob2JqKS5kZXBlbmQgdGFyZ2V0CitpbmNsdWRlICQoU1JDVFJFRSkvcnVsZXMubWsKIAotc2luY2x1ZGUgLmRlcGVuZAorc2luY2x1ZGUgJChvYmopLmRlcGVuZAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCmRpZmYgLS1naXQgYS9kb2MvUkVBRE1FLm12YmxtNyBiL2RvYy9SRUFETUUubXZibG03CmluZGV4IDZhNDA4ODguLjNlZTkzOTYgMTAwNjQ0Ci0tLSBhL2RvYy9SRUFETUUubXZibG03CisrKyBiL2RvYy9SRUFETUUubXZibG03CkBAIC0xMSw3ICsxMSw3IEBACiAKIDIJU3lzdGVtIENvbXBvbmVudHMKIAotMi4xCUNQVQkKKzIuMQlDUFUKIAlGcmVlc2NhbGUgTVBDODM0M1ZSQUdEQiBDUFUgcnVubmluZyBhdCA0MDBNSHogY29yZSBhbmQgMjY2TUh6IGNzYi4KIAk1MTJNQnl0ZSBERFItSUkgbWVtb3J5IEAgMTMzTUh6LgogCTggTUJ5dGUgTm9yIEZsYXNoIG9uIGxvY2FsIGJ1cy4KQEAgLTIzLDcgKzIzLDcgQEAKIAogMi4yCVBDSQogCUEgbWluaVBDSSBUeXBlLUlJSSBzb2NrZXQgaXMgcHJlc2VudC4gUENJIGNsb2NrIGZpeGVkIGF0IDY2TUh6LgotCQorCiAyLjMJRlBHQQogCUFsdGVyYSBDeWNsb25lLUlJIEVQMkMyMC8zNSB3aXRoIFBDSSBETUEgZW5naW5lcy4KIAlDb25uZWN0cyB0byBkdWFsIE1hdHJpeCBWaXNpb24gc3BlY2lmaWMgQ0NEL0NNT1Mgc2Vuc29yIGludGVyZmFjZXMuCkBAIC04Miw0ICs4MiwzIEBACiAJMi4gSW5pdHJkIC0gbmFtZSBpcyBzdG9yZWQgaW4gImluaXRyZF9uYW1lIgogCTMuIGRldmljZSB0cmVlIGJsb2IgLSBuYW1lIGlzIHN0b3JlZCBpbiAiZHRiX25hbWUiCiAJRmFsbGJhY2sgZmlsZXMgYXJlIHRoZSBmbGFzaCB2ZXJzaW9ucy4KLQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ibG9jay9NYWtlZmlsZSBiL2RyaXZlcnMvYmxvY2svTWFrZWZpbGUKaW5kZXggNWYxMjk4ZC4uYTA5Y2QyYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ibG9jay9NYWtlZmlsZQorKysgYi9kcml2ZXJzL2Jsb2NrL01ha2VmaWxlCkBAIC0yOSw2ICsyOSw3IEBACiBDT0JKUy15ICs9IGF0YV9waWl4Lm8KIENPQkpTLSQoQ09ORklHX0ZTTF9TQVRBKSArPSBmc2xfc2F0YS5vCiBDT0JKUy0kKENPTkZJR19MSUJBVEEpICs9IGxpYmF0YS5vCitDT0JKUy0kKENPTkZJR19TQVRBX1NJTDMxMTQpICs9IHNhdGFfc2lsMzExNC5vCiBDT0JKUy15ICs9IHNpbDY4MC5vCiBDT0JKUy15ICs9IHN5bTUzYzh4eC5vCiBDT0JKUy15ICs9IHN5c3RlbWFjZS5vCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Jsb2NrL2ZzbF9zYXRhLmMgYi9kcml2ZXJzL2Jsb2NrL2ZzbF9zYXRhLmMKaW5kZXggZDE0ZjViYy4uZDQ0MWEzMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ibG9jay9mc2xfc2F0YS5jCisrKyBiL2RyaXZlcnMvYmxvY2svZnNsX3NhdGEuYwpAQCAtMjQ4LDYgKzI0OCwxMCBAQAogCWVsc2UKIAkJcHJpbnRmKCIgICAgICAgJXMgIiwgc2F0YS0+bmFtZSk7CiAKKwkvKiBXYWl0IFBIWSBSRFkgc2lnbmFsIGNoYW5nZWQgZm9yIDUwMG1zICovCisJYXRhX3dhaXRfcmVnaXN0ZXIoJnJlZy0+aHN0YXR1cywgSFNUQVRVU19QSFlfUkRZLAorCQkJICBIU1RBVFVTX1BIWV9SRFksIDUwMCk7CisKIAkvKiBDaGVjayBQSFlSRFkgKi8KIAl2YWwzMiA9IGluX2xlMzIoJnJlZy0+aHN0YXR1cyk7CiAJaWYgKHZhbDMyICYgSFNUQVRVU19QSFlfUkRZKSB7CkBAIC0yNTgsNiArMjYyLDEwIEBACiAJCXJldHVybiAtMTsKIAl9CiAKKwkvKiBXYWl0IGZvciBzaWduYXR1cmUgdXBkYXRlZCwgd2hpY2ggaXMgMXN0IEQySCAqLworCWF0YV93YWl0X3JlZ2lzdGVyKCZyZWctPmhzdGF0dXMsIEhTVEFUVVNfU0lHTkFUVVJFLAorCQkJICBIU1RBVFVTX1NJR05BVFVSRSwgMTAwMDApOworCiAJaWYgKHZhbDMyICYgSFNUQVRVU19TSUdOQVRVUkUpIHsKIAkJc2lnID0gaW5fbGUzMigmcmVnLT5zaWcpOwogCQlkZWJ1ZygiU2lnbmF0dXJlIHVwZGF0ZWQsIHRoZSBzaWcgPSUwOHhcblxyIiwgc2lnKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmxvY2svc2F0YV9zaWwzMTE0LmMgYi9kcml2ZXJzL2Jsb2NrL3NhdGFfc2lsMzExNC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgzOTk3MzcKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2Jsb2NrL3NhdGFfc2lsMzExNC5jCkBAIC0wLDAgKzEsODM5IEBACisvKgorICogQ29weXJpZ2h0IChDKSBFeGNpdG8gRWxla3Ryb25payBpIFNr5W5lIEFCLCBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQXV0aG9yOiBUb3IgS3JpbGwgPHRvckBleGNpdG8uY29tPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgorICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sCisgKiBNQSAwMjExMS0xMzA3IFVTQQorICoKKyAqIFRoaXMgaXMgYSBkcml2ZXIgZm9yIFNpbGljb24gSW1hZ2Ugc2lsMzExNCBzYXRhIGNoaXAgbW9kZWxsZWQgb24KKyAqIHRoZSBhdGFfcGlpeCBkcml2ZXIKKyAqLworCisjaW5jbHVkZSA8Y29tbW9uLmg+CisjaW5jbHVkZSA8cGNpLmg+CisjaW5jbHVkZSA8Y29tbWFuZC5oPgorI2luY2x1ZGUgPGNvbmZpZy5oPgorI2luY2x1ZGUgPGFzbS9ieXRlb3JkZXIuaD4KKyNpbmNsdWRlIDxhc20vaW8uaD4KKyNpbmNsdWRlIDxpZGUuaD4KKyNpbmNsdWRlIDxsaWJhdGEuaD4KKyNpbmNsdWRlICJzYXRhX3NpbDMxMTQuaCIKKworLyogQ29udmVydCBzZWN0b3JzaXplIHRvIHdvcmRzaXplICovCisjZGVmaW5lIEFUQV9TRUNUT1JfV09SRFMgKEFUQV9TRUNUX1NJWkUvMikKKworLyogRm9yd2FyZHMgKi8KK3U4IHNpbDMxMTRfc3Bpbl91cCAoaW50IG51bSk7Cit1OCBzaWwzMTE0X3NwaW5fZG93biAoaW50IG51bSk7CitzdGF0aWMgaW50IHNhdGFfYnVzX3NvZnRyZXNldCAoaW50IG51bSk7CitzdGF0aWMgdm9pZCBzYXRhX2lkZW50aWZ5IChpbnQgbnVtLCBpbnQgZGV2KTsKK3N0YXRpYyB1OCBjaGVja19wb3dlcl9tb2RlIChpbnQgbnVtKTsKK3N0YXRpYyB2b2lkIHNhdGFfcG9ydCAoc3RydWN0IHNhdGFfaW9wb3J0cyAqaW9wb3J0KTsKK3N0YXRpYyB2b2lkIHNldF9GZWF0dXJlX2NtZCAoaW50IG51bSwgaW50IGRldik7CitzdGF0aWMgdTggc2F0YV9idXN5X3dhaXQgKHN0cnVjdCBzYXRhX2lvcG9ydHMgKmlvYWRkciwgaW50IGJpdHMsCisJCQkgIHVuc2lnbmVkIGludCBtYXgsIHU4IHVzZWFsdHN0YXR1cyk7CitzdGF0aWMgdTggc2F0YV9jaGtfc3RhdHVzIChzdHJ1Y3Qgc2F0YV9pb3BvcnRzICppb2FkZHIsIHU4IHVzZWFsdHN0YXR1cyk7CitzdGF0aWMgdm9pZCBtc2xlZXAgKGludCBjb3VudCk7CisKK3N0YXRpYyB1MzIgaW9iYXNlWzZdID0geyAwLCAwLCAwLCAwLCAwLCAwfTsJLyogUENJIEJBUiByZWdpc3RlcnMgZm9yIGRldmljZSAqLworZXh0ZXJuIGJsb2NrX2Rldl9kZXNjX3Qgc2F0YV9kZXZfZGVzY1tDRkdfU0FUQV9NQVhfREVWSUNFXTsKKworc3RhdGljIHN0cnVjdCBzYXRhX3BvcnQgcG9ydFtDRkdfU0FUQV9NQVhfREVWSUNFXTsKKworc3RhdGljIHZvaWQgb3V0cHV0X2RhdGEgKHN0cnVjdCBzYXRhX2lvcG9ydHMgKmlvYWRkciwgdTE2ICogc2VjdF9idWYsIGludCB3b3JkcykKK3sKKwl3aGlsZSAod29yZHMtLSkgeworCQlfX3Jhd193cml0ZXcgKCpzZWN0X2J1ZisrLCAodm9pZCAqKWlvYWRkci0+ZGF0YV9hZGRyKTsKKwl9Cit9CisKK3N0YXRpYyBpbnQgaW5wdXRfZGF0YSAoc3RydWN0IHNhdGFfaW9wb3J0cyAqaW9hZGRyLCB1MTYgKiBzZWN0X2J1ZiwgaW50IHdvcmRzKQoreworCXdoaWxlICh3b3Jkcy0tKSB7CisJCSpzZWN0X2J1ZisrID0gX19yYXdfcmVhZHcgKCh2b2lkICopaW9hZGRyLT5kYXRhX2FkZHIpOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBzYXRhX2J1c19zb2Z0cmVzZXQgKGludCBudW0pCit7CisJdTggc3RhdHVzID0gMDsKKworCXBvcnRbbnVtXS5kZXZfbWFzayA9IDE7CisKKwlwb3J0W251bV0uY3RsX3JlZyA9IDB4MDg7CS8qRGVmYXVsdCB2YWx1ZSBvZiBjb250cm9sIHJlZyAqLworCXdyaXRlYiAocG9ydFtudW1dLmN0bF9yZWcsIHBvcnRbbnVtXS5pb2FkZHIuY3RsX2FkZHIpOworCXVkZWxheSAoMTApOworCXdyaXRlYiAocG9ydFtudW1dLmN0bF9yZWcgfCBBVEFfU1JTVCwgcG9ydFtudW1dLmlvYWRkci5jdGxfYWRkcik7CisJdWRlbGF5ICgxMCk7CisJd3JpdGViIChwb3J0W251bV0uY3RsX3JlZywgcG9ydFtudW1dLmlvYWRkci5jdGxfYWRkcik7CisKKwkvKiBzcGVjIG1hbmRhdGVzICI+PSAybXMiIGJlZm9yZSBjaGVja2luZyBzdGF0dXMuCisJICogV2Ugd2FpdCAxNTBtcywgYmVjYXVzZSB0aGF0IHdhcyB0aGUgbWFnaWMgZGVsYXkgdXNlZCBmb3IKKwkgKiBBVEFQSSBkZXZpY2VzIGluIEhhbGUgTGFuZGlzJ3MgQVRBRFJWUiwgZm9yIHRoZSBwZXJpb2Qgb2YgdGltZQorCSAqIGJldHdlZW4gd2hlbiB0aGUgQVRBIGNvbW1hbmQgcmVnaXN0ZXIgaXMgd3JpdHRlbiwgYW5kIHRoZW4KKwkgKiBzdGF0dXMgaXMgY2hlY2tlZC4gIEJlY2F1c2Ugd2FpdGluZyBmb3IgImEgd2hpbGUiIGJlZm9yZQorCSAqIGNoZWNraW5nIHN0YXR1cyBpcyBmaW5lLCBwb3N0IFNSU1QsIHdlIHBlcmZvcm0gdGhpcyBtYWdpYworCSAqIGRlbGF5IGhlcmUgYXMgd2VsbC4KKwkgKi8KKwltc2xlZXAgKDE1MCk7CisJc3RhdHVzID0gc2F0YV9idXN5X3dhaXQgKCZwb3J0W251bV0uaW9hZGRyLCBBVEFfQlVTWSwgMzAwLCAwKTsKKwl3aGlsZSAoKHN0YXR1cyAmIEFUQV9CVVNZKSkgeworCQltc2xlZXAgKDEwMCk7CisJCXN0YXR1cyA9IHNhdGFfYnVzeV93YWl0ICgmcG9ydFtudW1dLmlvYWRkciwgQVRBX0JVU1ksIDMsIDApOworCX0KKworCWlmIChzdGF0dXMgJiBBVEFfQlVTWSkgeworCQlwcmludGYgKCJhdGEldSBpcyBzbG93IHRvIHJlc3BvbmQscGx6IGJlIHBhdGllbnRcbiIsIHBvcnQpOworCX0KKworCXdoaWxlICgoc3RhdHVzICYgQVRBX0JVU1kpKSB7CisJCW1zbGVlcCAoMTAwKTsKKwkJc3RhdHVzID0gc2F0YV9jaGtfc3RhdHVzICgmcG9ydFtudW1dLmlvYWRkciwgMCk7CisJfQorCisJaWYgKHN0YXR1cyAmIEFUQV9CVVNZKSB7CisJCXByaW50ZiAoImF0YSV1IGZhaWxlZCB0byByZXNwb25kIDogIiwgcG9ydCk7CisJCXByaW50ZiAoImJ1cyByZXNldCBmYWlsZWRcbiIpOworCQlwb3J0W251bV0uZGV2X21hc2sgPSAwOworCQlyZXR1cm4gMTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIHNhdGFfaWRlbnRpZnkgKGludCBudW0sIGludCBkZXYpCit7CisJdTggY21kID0gMCwgc3RhdHVzID0gMCwgZGV2bm8gPSBudW07CisJdTE2IGlvYnVmW0FUQV9TRUNUT1JfV09SRFNdOworCXU2NCBuX3NlY3RvcnMgPSAwOworCisJbWVtc2V0IChpb2J1ZiwgMCwgc2l6ZW9mIChpb2J1ZikpOworCisJaWYgKCEocG9ydFtudW1dLmRldl9tYXNrICYgMHgwMSkpIHsKKwkJcHJpbnRmICgiZGV2JWQgaXMgbm90IHByZXNlbnQgb24gcG9ydCMlZFxuIiwgZGV2LCBudW0pOworCQlyZXR1cm47CisJfQorCisJZGVidWcgKCJwb3J0PSVkIGRldj0lZFxuIiwgbnVtLCBkZXYpOworCisJc3RhdHVzID0gMDsKKwljbWQgPSBBVEFfQ01EX0lEX0FUQTsJLypEZXZpY2UgSWRlbnRpZnkgQ29tbWFuZCAqLworCXdyaXRlYiAoY21kLCBwb3J0W251bV0uaW9hZGRyLmNvbW1hbmRfYWRkcik7CisJcmVhZGIgKHBvcnRbbnVtXS5pb2FkZHIuYWx0c3RhdHVzX2FkZHIpOworCXVkZWxheSAoMTApOworCisJc3RhdHVzID0gc2F0YV9idXN5X3dhaXQgKCZwb3J0W251bV0uaW9hZGRyLCBBVEFfQlVTWSwgMTAwMCwgMCk7CisJaWYgKHN0YXR1cyAmIEFUQV9FUlIpIHsKKwkJcHJpbnRmICgiXG5kZXZpY2Ugbm90IHJlc3BvbmRpbmdcbiIpOworCQlwb3J0W251bV0uZGV2X21hc2sgJj0gfjB4MDE7CisJCXJldHVybjsKKwl9CisKKwlpbnB1dF9kYXRhICgmcG9ydFtudW1dLmlvYWRkciwgaW9idWYsIEFUQV9TRUNUT1JfV09SRFMpOworCisJYXRhX3N3YXBfYnVmX2xlMTYgKGlvYnVmLCBBVEFfU0VDVE9SX1dPUkRTKTsKKworCWRlYnVnICgiU3BlY2lmaWMgY29uZmlnOiAleFxuIiwgaW9idWZbMl0pOworCisJLyogd2UgcmVxdWlyZSBMQkEgYW5kIERNQSBzdXBwb3J0IChiaXRzIDggJiA5IG9mIHdvcmQgNDkpICovCisJaWYgKCFhdGFfaWRfaGFzX2RtYSAoaW9idWYpIHx8ICFhdGFfaWRfaGFzX2xiYSAoaW9idWYpKSB7CisJCWRlYnVnICgiYXRhJXU6IG5vIGRtYS9sYmFcbiIsIG51bSk7CisJfQorI2lmZGVmIERFQlVHCisJYXRhX2R1bXBfaWQgKGlvYnVmKTsKKyNlbmRpZgorCW5fc2VjdG9ycyA9IGF0YV9pZF9uX3NlY3RvcnMgKGlvYnVmKTsKKworCWlmIChuX3NlY3RvcnMgPT0gMCkgeworCQlwb3J0W251bV0uZGV2X21hc2sgJj0gfjB4MDE7CisJCXJldHVybjsKKwl9CisJYXRhX2lkX2Nfc3RyaW5nIChpb2J1ZiwgKHVuc2lnbmVkIGNoYXIgKilzYXRhX2Rldl9kZXNjW2Rldm5vXS5yZXZpc2lvbiwKKwkJCSBBVEFfSURfRldfUkVWLCBzaXplb2YgKHNhdGFfZGV2X2Rlc2NbZGV2bm9dLnJldmlzaW9uKSk7CisJYXRhX2lkX2Nfc3RyaW5nIChpb2J1ZiwgKHVuc2lnbmVkIGNoYXIgKilzYXRhX2Rldl9kZXNjW2Rldm5vXS52ZW5kb3IsCisJCQkgQVRBX0lEX1BST0QsIHNpemVvZiAoc2F0YV9kZXZfZGVzY1tkZXZub10udmVuZG9yKSk7CisJYXRhX2lkX2Nfc3RyaW5nIChpb2J1ZiwgKHVuc2lnbmVkIGNoYXIgKilzYXRhX2Rldl9kZXNjW2Rldm5vXS5wcm9kdWN0LAorCQkJIEFUQV9JRF9TRVJOTywgc2l6ZW9mIChzYXRhX2Rldl9kZXNjW2Rldm5vXS5wcm9kdWN0KSk7CisKKwkvKiBUT0RPIC0gYXRtIHdlIGFzdW1lIGhhcmRkaXNrIGllIG5vdCByZW1vdmFibGUgKi8KKwlzYXRhX2Rldl9kZXNjW2Rldm5vXS5yZW1vdmFibGUgPSAwOworCisJc2F0YV9kZXZfZGVzY1tkZXZub10ubGJhID0gKHUzMikgbl9zZWN0b3JzOworCWRlYnVnICgibGJhPTB4JXhcbiIsIHNhdGFfZGV2X2Rlc2NbZGV2bm9dLmxiYSk7CisKKyNpZmRlZiBDT05GSUdfTEJBNDgKKwlpZiAoaW9idWZbODNdICYgKDEgPDwgMTApKSB7CisJCXNhdGFfZGV2X2Rlc2NbZGV2bm9dLmxiYTQ4ID0gMTsKKwl9IGVsc2UgeworCQlzYXRhX2Rldl9kZXNjW2Rldm5vXS5sYmE0OCA9IDA7CisJfQorI2VuZGlmCisKKwkvKiBhc3N1bWluZyBIRCAqLworCXNhdGFfZGV2X2Rlc2NbZGV2bm9dLnR5cGUgPSBERVZfVFlQRV9IQVJERElTSzsKKwlzYXRhX2Rldl9kZXNjW2Rldm5vXS5ibGtzeiA9IEFUQV9TRUNUX1NJWkU7CisJc2F0YV9kZXZfZGVzY1tkZXZub10ubHVuID0gMDsJLyoganVzdCB0byBmaWxsIHNvbWV0aGluZyBpbi4uLiAqLworfQorCitzdGF0aWMgdm9pZCBzZXRfRmVhdHVyZV9jbWQgKGludCBudW0sIGludCBkZXYpCit7CisJdTggc3RhdHVzID0gMDsKKworCWlmICghKHBvcnRbbnVtXS5kZXZfbWFzayAmIDB4MDEpKSB7CisJCWRlYnVnICgiZGV2JWQgaXMgbm90IHByZXNlbnQgb24gcG9ydCMlZFxuIiwgZGV2LCBudW0pOworCQlyZXR1cm47CisJfQorCisJd3JpdGViIChTRVRGRUFUVVJFU19YRkVSLCBwb3J0W251bV0uaW9hZGRyLmZlYXR1cmVfYWRkcik7CisJd3JpdGViIChYRkVSX1BJT180LCBwb3J0W251bV0uaW9hZGRyLm5zZWN0X2FkZHIpOworCXdyaXRlYiAoMCwgcG9ydFtudW1dLmlvYWRkci5sYmFsX2FkZHIpOworCXdyaXRlYiAoMCwgcG9ydFtudW1dLmlvYWRkci5sYmFtX2FkZHIpOworCXdyaXRlYiAoMCwgcG9ydFtudW1dLmlvYWRkci5sYmFoX2FkZHIpOworCisJd3JpdGViIChBVEFfREVWSUNFX09CUywgcG9ydFtudW1dLmlvYWRkci5kZXZpY2VfYWRkcik7CisJd3JpdGViIChBVEFfQ01EX1NFVF9GRUFUVVJFUywgcG9ydFtudW1dLmlvYWRkci5jb21tYW5kX2FkZHIpOworCisJdWRlbGF5ICg1MCk7CisJbXNsZWVwICgxNTApOworCisJc3RhdHVzID0gc2F0YV9idXN5X3dhaXQgKCZwb3J0W251bV0uaW9hZGRyLCBBVEFfQlVTWSwgNTAwMCwgMCk7CisJaWYgKChzdGF0dXMgJiAoQVRBX0JVU1kgfCBBVEFfRVJSKSkpIHsKKwkJcHJpbnRmICgiRXJyb3IgIDogc3RhdHVzIDB4JTAyeFxuIiwgc3RhdHVzKTsKKwkJcG9ydFtudW1dLmRldl9tYXNrICY9IH4weDAxOworCX0KK30KKwordTggc2lsMzExNF9zcGluX2Rvd24gKGludCBudW0pCit7CisJdTggc3RhdHVzID0gMDsKKworCWRlYnVnICgiU3BpbiBkb3duIGRpc2tcbiIpOworCisJaWYgKCEocG9ydFtudW1dLmRldl9tYXNrICYgMHgwMSkpIHsKKwkJZGVidWcgKCJEZXZpY2UgYXRhJWQgaXMgbm90IHByZXNlbnRcbiIsIG51bSk7CisJCXJldHVybiAxOworCX0KKworCWlmICgoc3RhdHVzID0gY2hlY2tfcG93ZXJfbW9kZSAobnVtKSkgPT0gMHgwMCkgeworCQlkZWJ1ZyAoIkFscmVhZHkgaW4gc3RhbmRieVxuIik7CisJCXJldHVybiAwOworCX0KKworCWlmIChzdGF0dXMgPT0gMHgwMSkgeworCQlwcmludGYgKCJGYWlsZWQgdG8gY2hlY2sgcG93ZXIgbW9kZSBvbiBhdGElZFxuIiwgbnVtKTsKKwkJcmV0dXJuIDE7CisJfQorCisJaWYgKCEoKHN0YXR1cyA9IHNhdGFfY2hrX3N0YXR1cyAoJnBvcnRbbnVtXS5pb2FkZHIsIDApKSAmIEFUQV9EUkRZKSkgeworCQlwcmludGYgKCJEZXZpY2UgYXRhJWQgbm90IHJlYWR5XG4iLCBudW0pOworCQlyZXR1cm4gMTsKKwl9CisKKwl3cml0ZWIgKDB4MDAsIHBvcnRbbnVtXS5pb2FkZHIuZmVhdHVyZV9hZGRyKTsKKworCXdyaXRlYiAoMHgwMCwgcG9ydFtudW1dLmlvYWRkci5uc2VjdF9hZGRyKTsKKwl3cml0ZWIgKDB4MDAsIHBvcnRbbnVtXS5pb2FkZHIubGJhbF9hZGRyKTsKKwl3cml0ZWIgKDB4MDAsIHBvcnRbbnVtXS5pb2FkZHIubGJhbV9hZGRyKTsKKwl3cml0ZWIgKDB4MDAsIHBvcnRbbnVtXS5pb2FkZHIubGJhaF9hZGRyKTsKKworCXdyaXRlYiAoQVRBX0RFVklDRV9PQlMsIHBvcnRbbnVtXS5pb2FkZHIuZGV2aWNlX2FkZHIpOworCXdyaXRlYiAoQVRBX0NNRF9TVEFOREJZLCBwb3J0W251bV0uaW9hZGRyLmNvbW1hbmRfYWRkcik7CisKKwlzdGF0dXMgPSBzYXRhX2J1c3lfd2FpdCAoJnBvcnRbbnVtXS5pb2FkZHIsIEFUQV9CVVNZLCAzMDAwMCwgMCk7CisJaWYgKChzdGF0dXMgJiAoQVRBX0JVU1kgfCBBVEFfRVJSKSkpIHsKKwkJcHJpbnRmICgiRXJyb3Igd2FpdGluZyBmb3IgZGlzayBzcGluIGRvd246IHN0YXR1cyAweCUwMnhcbiIsCisJCQlzdGF0dXMpOworCQlwb3J0W251bV0uZGV2X21hc2sgJj0gfjB4MDE7CisJCXJldHVybiAxOworCX0KKwlyZXR1cm4gMDsKK30KKwordTggc2lsMzExNF9zcGluX3VwIChpbnQgbnVtKQoreworCXU4IHN0YXR1cyA9IDA7CisKKwlkZWJ1ZyAoIlNwaW4gdXAgZGlza1xuIik7CisKKwlpZiAoIShwb3J0W251bV0uZGV2X21hc2sgJiAweDAxKSkgeworCQlkZWJ1ZyAoIkRldmljZSBhdGElZCBpcyBub3QgcHJlc2VudFxuIiwgbnVtKTsKKwkJcmV0dXJuIDE7CisJfQorCisJaWYgKChzdGF0dXMgPSBjaGVja19wb3dlcl9tb2RlIChudW0pKSAhPSAweDAwKSB7CisJCWlmIChzdGF0dXMgPT0gMHgwMSkgeworCQkJcHJpbnRmICgiRmFpbGVkIHRvIGNoZWNrIHBvd2VyIG1vZGUgb24gYXRhJWRcbiIsIG51bSk7CisJCQlyZXR1cm4gMTsKKwkJfSBlbHNlIHsKKwkJCS8qIHNob3VsZCBiZSB1cCBhbmQgcnVubmluZyBhbHJlYWR5ICovCisJCQlyZXR1cm4gMDsKKwkJfQorCX0KKworCWlmICghKChzdGF0dXMgPSBzYXRhX2Noa19zdGF0dXMgKCZwb3J0W251bV0uaW9hZGRyLCAwKSkgJiBBVEFfRFJEWSkpIHsKKwkJcHJpbnRmICgiRGV2aWNlIGF0YSVkIG5vdCByZWFkeVxuIiwgbnVtKTsKKwkJcmV0dXJuIDE7CisJfQorCisJZGVidWcgKCJTdGF1dHVzIG9mIGRldmljZSBjaGVjazogJWRcbiIsIHN0YXR1cyk7CisKKwl3cml0ZWIgKDB4MDAsIHBvcnRbbnVtXS5pb2FkZHIuZmVhdHVyZV9hZGRyKTsKKworCXdyaXRlYiAoMHgwMCwgcG9ydFtudW1dLmlvYWRkci5uc2VjdF9hZGRyKTsKKwl3cml0ZWIgKDB4MDAsIHBvcnRbbnVtXS5pb2FkZHIubGJhbF9hZGRyKTsKKwl3cml0ZWIgKDB4MDAsIHBvcnRbbnVtXS5pb2FkZHIubGJhbV9hZGRyKTsKKwl3cml0ZWIgKDB4MDAsIHBvcnRbbnVtXS5pb2FkZHIubGJhaF9hZGRyKTsKKworCXdyaXRlYiAoQVRBX0RFVklDRV9PQlMsIHBvcnRbbnVtXS5pb2FkZHIuZGV2aWNlX2FkZHIpOworCXdyaXRlYiAoQVRBX0NNRF9JRExFLCBwb3J0W251bV0uaW9hZGRyLmNvbW1hbmRfYWRkcik7CisKKwlzdGF0dXMgPSBzYXRhX2J1c3lfd2FpdCAoJnBvcnRbbnVtXS5pb2FkZHIsIEFUQV9CVVNZLCAzMDAwMCwgMCk7CisJaWYgKChzdGF0dXMgJiAoQVRBX0JVU1kgfCBBVEFfRVJSKSkpIHsKKwkJcHJpbnRmICgiRXJyb3Igd2FpdGluZyBmb3IgZGlzayBzcGluIHVwOiBzdGF0dXMgMHglMDJ4XG4iLAorCQkJc3RhdHVzKTsKKwkJcG9ydFtudW1dLmRldl9tYXNrICY9IH4weDAxOworCQlyZXR1cm4gMTsKKwl9CisKKwkvKiBXYWl0IGZvciBkaXNrIHRvIGVudGVyIEFjdGl2ZSBzdGF0ZSAqLworCWRvIHsKKwkJbXNsZWVwICgxMCk7CisJCXN0YXR1cyA9IGNoZWNrX3Bvd2VyX21vZGUgKG51bSk7CisJfSB3aGlsZSAoKHN0YXR1cyA9PSAweDAwKSB8fCAoc3RhdHVzID09IDB4ODApKTsKKworCWlmIChzdGF0dXMgPT0gMHgwMSkgeworCQlwcmludGYgKCJGYWxpZWQgd2FpdGluZyBmb3IgZGlzayB0byBzcGluIHVwXG4iKTsKKwkJcmV0dXJuIDE7CisJfQorCisJcmV0dXJuIDA7Cit9CisKKy8qIFJldHVybiB2YWx1ZSBpcyBub3QgdGhlIHVzdWFsIGhlcmUKKyAqIDB4MDAgLSBEZXZpY2Ugc3RhbmQgYnkKKyAqIDB4MDEgLSBPcGVyYXRpb24gZmFpbGVkCisgKiAweDgwIC0gRGV2aWNlIGlkbGUKKyAqIDB4ZmYgLSBEZXZpY2UgYWN0aXZlCisqLworc3RhdGljIHU4IGNoZWNrX3Bvd2VyX21vZGUgKGludCBudW0pCit7CisJdTggc3RhdHVzID0gMDsKKwl1OCByZXMgPSAwOworCWlmICghKHBvcnRbbnVtXS5kZXZfbWFzayAmIDB4MDEpKSB7CisJCWRlYnVnICgiRGV2aWNlIGF0YSVkIGlzIG5vdCBwcmVzZW50XG4iLCBudW0pOworCQlyZXR1cm4gMTsKKwl9CisKKwlpZiAoIShzYXRhX2Noa19zdGF0dXMgKCZwb3J0W251bV0uaW9hZGRyLCAwKSAmIEFUQV9EUkRZKSkgeworCQlwcmludGYgKCJEZXZpY2UgYXRhJWQgbm90IHJlYWR5XG4iLCBudW0pOworCQlyZXR1cm4gMTsKKwl9CisKKwl3cml0ZWIgKDAsIHBvcnRbbnVtXS5pb2FkZHIuZmVhdHVyZV9hZGRyKTsKKwl3cml0ZWIgKDAsIHBvcnRbbnVtXS5pb2FkZHIubnNlY3RfYWRkcik7CisJd3JpdGViICgwLCBwb3J0W251bV0uaW9hZGRyLmxiYWxfYWRkcik7CisJd3JpdGViICgwLCBwb3J0W251bV0uaW9hZGRyLmxiYW1fYWRkcik7CisJd3JpdGViICgwLCBwb3J0W251bV0uaW9hZGRyLmxiYWhfYWRkcik7CisKKwl3cml0ZWIgKEFUQV9ERVZJQ0VfT0JTLCBwb3J0W251bV0uaW9hZGRyLmRldmljZV9hZGRyKTsKKwl3cml0ZWIgKEFUQV9DTURfQ0hLX1BPV0VSLCBwb3J0W251bV0uaW9hZGRyLmNvbW1hbmRfYWRkcik7CisKKwlzdGF0dXMgPSBzYXRhX2J1c3lfd2FpdCAoJnBvcnRbbnVtXS5pb2FkZHIsIEFUQV9CVVNZLCA1MDAwLCAwKTsKKwlpZiAoKHN0YXR1cyAmIChBVEFfQlVTWSB8IEFUQV9FUlIpKSkgeworCQlwcmludGYKKwkJICAgICgiRXJyb3Igd2FpdGluZyBmb3IgY2hlY2sgcG93ZXIgbW9kZSBjb21wbGV0ZSAgOiBzdGF0dXMgMHglMDJ4XG4iLAorCQkgICAgIHN0YXR1cyk7CisJCXBvcnRbbnVtXS5kZXZfbWFzayAmPSB+MHgwMTsKKwkJcmV0dXJuIDE7CisJfQorCXJlcyA9IHJlYWRiIChwb3J0W251bV0uaW9hZGRyLm5zZWN0X2FkZHIpOworCWRlYnVnICgiQ2hlY2sgcG93ZXJtb2RlOiAlZFxuIiwgcmVzKTsKKwlyZXR1cm4gcmVzOworCit9CisKK3N0YXRpYyB2b2lkIHNhdGFfcG9ydCAoc3RydWN0IHNhdGFfaW9wb3J0cyAqaW9wb3J0KQoreworCWlvcG9ydC0+ZGF0YV9hZGRyID0gaW9wb3J0LT5jbWRfYWRkciArIEFUQV9SRUdfREFUQTsKKwlpb3BvcnQtPmVycm9yX2FkZHIgPSBpb3BvcnQtPmNtZF9hZGRyICsgQVRBX1JFR19FUlI7CisJaW9wb3J0LT5mZWF0dXJlX2FkZHIgPSBpb3BvcnQtPmNtZF9hZGRyICsgQVRBX1JFR19GRUFUVVJFOworCWlvcG9ydC0+bnNlY3RfYWRkciA9IGlvcG9ydC0+Y21kX2FkZHIgKyBBVEFfUkVHX05TRUNUOworCWlvcG9ydC0+bGJhbF9hZGRyID0gaW9wb3J0LT5jbWRfYWRkciArIEFUQV9SRUdfTEJBTDsKKwlpb3BvcnQtPmxiYW1fYWRkciA9IGlvcG9ydC0+Y21kX2FkZHIgKyBBVEFfUkVHX0xCQU07CisJaW9wb3J0LT5sYmFoX2FkZHIgPSBpb3BvcnQtPmNtZF9hZGRyICsgQVRBX1JFR19MQkFIOworCWlvcG9ydC0+ZGV2aWNlX2FkZHIgPSBpb3BvcnQtPmNtZF9hZGRyICsgQVRBX1JFR19ERVZJQ0U7CisJaW9wb3J0LT5zdGF0dXNfYWRkciA9IGlvcG9ydC0+Y21kX2FkZHIgKyBBVEFfUkVHX1NUQVRVUzsKKwlpb3BvcnQtPmNvbW1hbmRfYWRkciA9IGlvcG9ydC0+Y21kX2FkZHIgKyBBVEFfUkVHX0NNRDsKK30KKworc3RhdGljIHU4IHdhaXRfZm9yX2lycSAoaW50IG51bSwgdW5zaWduZWQgaW50IG1heCkKK3sKKworCXUzMiBwb3J0ID0gaW9iYXNlWzVdOworCXN3aXRjaCAobnVtKSB7CisJY2FzZSAwOgorCQlwb3J0ICs9IFZORF9URl9DTlNUX0NIMDsKKwkJYnJlYWs7CisJY2FzZSAxOgorCQlwb3J0ICs9IFZORF9URl9DTlNUX0NIMTsKKwkJYnJlYWs7CisJY2FzZSAyOgorCQlwb3J0ICs9IFZORF9URl9DTlNUX0NIMjsKKwkJYnJlYWs7CisJY2FzZSAzOgorCQlwb3J0ICs9IFZORF9URl9DTlNUX0NIMzsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmV0dXJuIDE7CisJfQorCisJZG8geworCQlpZiAocmVhZGwgKHBvcnQpICYgVk5EX1RGX0NOU1RfSU5UU1QpIHsKKwkJCWJyZWFrOworCQl9CisJCXVkZWxheSAoMTAwMCk7CisJCW1heC0tOworCX0gd2hpbGUgKChtYXggPiAwKSk7CisKKwlyZXR1cm4gKG1heCA9PSAwKTsKK30KKworc3RhdGljIHU4IHNhdGFfYnVzeV93YWl0IChzdHJ1Y3Qgc2F0YV9pb3BvcnRzICppb2FkZHIsIGludCBiaXRzLAorCQkJICB1bnNpZ25lZCBpbnQgbWF4LCB1OCB1c2VhbHRzdGF0dXMpCit7CisJdTggc3RhdHVzOworCisJZG8geworCQlpZiAoISgoc3RhdHVzID0gc2F0YV9jaGtfc3RhdHVzIChpb2FkZHIsIHVzZWFsdHN0YXR1cykpICYgYml0cykpIHsKKwkJCWJyZWFrOworCQl9CisJCXVkZWxheSAoMTAwMCk7CisJCW1heC0tOworCX0gd2hpbGUgKChzdGF0dXMgJiBiaXRzKSAmJiAobWF4ID4gMCkpOworCisJcmV0dXJuIHN0YXR1czsKK30KKworc3RhdGljIHU4IHNhdGFfY2hrX3N0YXR1cyAoc3RydWN0IHNhdGFfaW9wb3J0cyAqaW9hZGRyLCB1OCB1c2VhbHRzdGF0dXMpCit7CisJaWYgKCF1c2VhbHRzdGF0dXMpIHsKKwkJcmV0dXJuIHJlYWRiIChpb2FkZHItPnN0YXR1c19hZGRyKTsKKwl9IGVsc2UgeworCQlyZXR1cm4gcmVhZGIgKGlvYWRkci0+YWx0c3RhdHVzX2FkZHIpOworCX0KK30KKworc3RhdGljIHZvaWQgbXNsZWVwIChpbnQgY291bnQpCit7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgY291bnQ7IGkrKykKKwkJdWRlbGF5ICgxMDAwKTsKK30KKworLyogUmVhZCB1cCB0byAyNTUgc2VjdG9ycworICoKKyAqIFJldHVybnMgc2VjdG9ycyByZWFkCisqLworc3RhdGljIHU4IGRvX29uZV9yZWFkIChpbnQgZGV2aWNlLCB1bG9uZyBibG9jaywgdTggYmxrY250LCB1MTYgKiBidWZmLAorCQkgICAgICAgdWNoYXIgbGJhNDgpCit7CisKKwl1OCBzciA9IDA7CisJdTggc3RhdHVzOworCXU2NCBibGtuciA9ICh1NjQpIGJsb2NrOworCisJaWYgKCEoc2F0YV9jaGtfc3RhdHVzICgmcG9ydFtkZXZpY2VdLmlvYWRkciwgMCkgJiBBVEFfRFJEWSkpIHsKKwkJcHJpbnRmICgiRGV2aWNlIGF0YSVkIG5vdCByZWFkeVxuIiwgZGV2aWNlKTsKKwkJcmV0dXJuIDA7CisJfQorCisJLyogU2V0IHVwIHRyYW5zZmVyICovCisjaWZkZWYgQ09ORklHX0xCQTQ4CisJaWYgKGxiYTQ4KSB7CisJCS8qIHdyaXRlIGhpZ2ggYml0cyAqLworCQl3cml0ZWIgKDAsIHBvcnRbZGV2aWNlXS5pb2FkZHIubnNlY3RfYWRkcik7CisJCXdyaXRlYiAoKGJsa25yID4+IDI0KSAmIDB4RkYsIHBvcnRbZGV2aWNlXS5pb2FkZHIubGJhbF9hZGRyKTsKKwkJd3JpdGViICgoYmxrbnIgPj4gMzIpICYgMHhGRiwgcG9ydFtkZXZpY2VdLmlvYWRkci5sYmFtX2FkZHIpOworCQl3cml0ZWIgKChibGtuciA+PiA0MCkgJiAweEZGLCBwb3J0W2RldmljZV0uaW9hZGRyLmxiYWhfYWRkcik7CisJfQorI2VuZGlmCisJd3JpdGViIChibGtjbnQsIHBvcnRbZGV2aWNlXS5pb2FkZHIubnNlY3RfYWRkcik7CisJd3JpdGViICgoKGJsa25yKSA+PiAwKSAmIDB4RkYsIHBvcnRbZGV2aWNlXS5pb2FkZHIubGJhbF9hZGRyKTsKKwl3cml0ZWIgKChibGtuciA+PiA4KSAmIDB4RkYsIHBvcnRbZGV2aWNlXS5pb2FkZHIubGJhbV9hZGRyKTsKKwl3cml0ZWIgKChibGtuciA+PiAxNikgJiAweEZGLCBwb3J0W2RldmljZV0uaW9hZGRyLmxiYWhfYWRkcik7CisKKyNpZmRlZiBDT05GSUdfTEJBNDgKKwlpZiAobGJhNDgpIHsKKwkJd3JpdGViIChBVEFfTEJBLCBwb3J0W2RldmljZV0uaW9hZGRyLmRldmljZV9hZGRyKTsKKwkJd3JpdGViIChBVEFfQ01EX1BJT19SRUFEX0VYVCwgcG9ydFtkZXZpY2VdLmlvYWRkci5jb21tYW5kX2FkZHIpOworCX0gZWxzZQorI2VuZGlmCisJeworCQl3cml0ZWIgKEFUQV9MQkEgfCAoKGJsa25yID4+IDI0KSAmIDB4RiksCisJCQlwb3J0W2RldmljZV0uaW9hZGRyLmRldmljZV9hZGRyKTsKKwkJd3JpdGViIChBVEFfQ01EX1BJT19SRUFELCBwb3J0W2RldmljZV0uaW9hZGRyLmNvbW1hbmRfYWRkcik7CisJfQorCisJc3RhdHVzID0gc2F0YV9idXN5X3dhaXQgKCZwb3J0W2RldmljZV0uaW9hZGRyLCBBVEFfQlVTWSwgMTAwMDAsIDEpOworCisJaWYgKHN0YXR1cyAmIEFUQV9CVVNZKSB7CisJCXU4IGVyciA9IDA7CisKKwkJcHJpbnRmICgiRGV2aWNlICVkIG5vdCByZXNwb25kaW5nIHN0YXR1cyAlZFxuIiwgZGV2aWNlLCBzdGF0dXMpOworCQllcnIgPSByZWFkYiAocG9ydFtkZXZpY2VdLmlvYWRkci5lcnJvcl9hZGRyKTsKKwkJcHJpbnRmICgiRXJyb3IgcmVnID0gMHgleFxuIiwgZXJyKTsKKworCQlyZXR1cm4gKHNyKTsKKwl9CisJd2hpbGUgKGJsa2NudC0tKSB7CisKKwkJaWYgKHdhaXRfZm9yX2lycSAoZGV2aWNlLCA1MDApKSB7CisJCQlwcmludGYgKCJhdGEldSBpcnEgZmFpbGVkXG4iLCBkZXZpY2UpOworCQkJcmV0dXJuIHNyOworCQl9CisKKwkJc3RhdHVzID0gc2F0YV9jaGtfc3RhdHVzICgmcG9ydFtkZXZpY2VdLmlvYWRkciwgMCk7CisJCWlmIChzdGF0dXMgJiBBVEFfRVJSKSB7CisJCQlwcmludGYgKCJhdGEldSBlcnJvciAlZFxuIiwgZGV2aWNlLAorCQkJCXJlYWRiIChwb3J0W2RldmljZV0uaW9hZGRyLmVycm9yX2FkZHIpKTsKKwkJCXJldHVybiBzcjsKKwkJfQorCQkvKiBSZWFkIG9uZSBzZWN0b3IgKi8KKwkJaW5wdXRfZGF0YSAoJnBvcnRbZGV2aWNlXS5pb2FkZHIsIGJ1ZmYsIEFUQV9TRUNUT1JfV09SRFMpOworCQlidWZmICs9IEFUQV9TRUNUT1JfV09SRFM7CisJCXNyKys7CisKKwl9CisJcmV0dXJuIHNyOworfQorCit1bG9uZyBzYXRhX3JlYWQgKGludCBkZXZpY2UsIHVsb25nIGJsb2NrLCBsYmFpbnRfdCBibGtjbnQsIHZvaWQgKmJ1ZmYpCit7CisJdWxvbmcgbiA9IDAsIHNyZWFkOworCXUxNiAqYnVmZmVyID0gKHUxNiAqKSBidWZmOworCXU4IHN0YXR1cyA9IDA7CisJdTY0IGJsa25yID0gKHU2NCkgYmxvY2s7CisJdW5zaWduZWQgY2hhciBsYmE0OCA9IDA7CisKKyNpZmRlZiBDT05GSUdfTEJBNDgKKwlpZiAoYmxrbnIgPiAweGZmZmZmZmYpIHsKKwkJaWYgKCFzYXRhX2Rldl9kZXNjW2RldmljZV0ubGJhNDgpIHsKKwkJCXByaW50ZiAoIkRyaXZlIGRvZXNuJ3Qgc3VwcG9ydCA0OC1iaXQgYWRkcmVzc2luZ1xuIik7CisJCQlyZXR1cm4gMDsKKwkJfQorCQkvKiBtb3JlIHRoYW4gMjggYml0cyB1c2VkLCB1c2UgNDhiaXQgbW9kZSAqLworCQlsYmE0OCA9IDE7CisJfQorI2VuZGlmCisKKwl3aGlsZSAoYmxrY250ID4gMCkgeworCisJCWlmIChibGtjbnQgPiAyNTUpIHsKKwkJCXNyZWFkID0gMjU1OworCQl9IGVsc2UgeworCQkJc3JlYWQgPSBibGtjbnQ7CisJCX0KKworCQlzdGF0dXMgPSBkb19vbmVfcmVhZCAoZGV2aWNlLCBibGtuciwgc3JlYWQsIGJ1ZmZlciwgbGJhNDgpOworCQlpZiAoc3RhdHVzICE9IHNyZWFkKSB7CisJCQlwcmludGYgKCJSZWFkIGZhaWxlZFxuIik7CisJCQlyZXR1cm4gbjsKKwkJfQorCisJCWJsa2NudCAtPSBzcmVhZDsKKwkJYmxrbnIgKz0gc3JlYWQ7CisJCW4gKz0gc3JlYWQ7CisJCWJ1ZmZlciArPSBzcmVhZCAqIEFUQV9TRUNUT1JfV09SRFM7CisJfQorCXJldHVybiBuOworfQorCit1bG9uZyBzYXRhX3dyaXRlIChpbnQgZGV2aWNlLCB1bG9uZyBibG9jaywgbGJhaW50X3QgYmxrY250LCBjb25zdCB2b2lkICpidWZmKQoreworCXVsb25nIG4gPSAwOworCXUxNiAqYnVmZmVyID0gKHUxNiAqKSBidWZmOworCXVuc2lnbmVkIGNoYXIgc3RhdHVzID0gMCwgbnVtID0gMDsKKwl1NjQgYmxrbnIgPSAodTY0KSBibG9jazsKKyNpZmRlZiBDT05GSUdfTEJBNDgKKwl1bnNpZ25lZCBjaGFyIGxiYTQ4ID0gMDsKKworCWlmIChibGtuciA+IDB4ZmZmZmZmZikgeworCQlpZiAoIXNhdGFfZGV2X2Rlc2NbZGV2aWNlXS5sYmE0OCkgeworCQkJcHJpbnRmICgiRHJpdmUgZG9lc24ndCBzdXBwb3J0IDQ4LWJpdCBhZGRyZXNzaW5nXG4iKTsKKwkJCXJldHVybiAwOworCQl9CisJCS8qIG1vcmUgdGhhbiAyOCBiaXRzIHVzZWQsIHVzZSA0OGJpdCBtb2RlICovCisJCWxiYTQ4ID0gMTsKKwl9CisjZW5kaWYKKwkvKlBvcnQgTnVtYmVyICovCisJbnVtID0gZGV2aWNlOworCisJd2hpbGUgKGJsa2NudC0tID4gMCkgeworCQlzdGF0dXMgPSBzYXRhX2J1c3lfd2FpdCAoJnBvcnRbbnVtXS5pb2FkZHIsIEFUQV9CVVNZLCA1MDAsIDApOworCQlpZiAoc3RhdHVzICYgQVRBX0JVU1kpIHsKKwkJCXByaW50ZiAoImF0YSV1IGZhaWxlZCB0byByZXNwb25kXG4iLCBwb3J0W251bV0ucG9ydF9ubyk7CisJCQlyZXR1cm4gbjsKKwkJfQorI2lmZGVmIENPTkZJR19MQkE0OAorCQlpZiAobGJhNDgpIHsKKwkJCS8qIHdyaXRlIGhpZ2ggYml0cyAqLworCQkJd3JpdGViICgwLCBwb3J0W251bV0uaW9hZGRyLm5zZWN0X2FkZHIpOworCQkJd3JpdGViICgoYmxrbnIgPj4gMjQpICYgMHhGRiwKKwkJCQlwb3J0W251bV0uaW9hZGRyLmxiYWxfYWRkcik7CisJCQl3cml0ZWIgKChibGtuciA+PiAzMikgJiAweEZGLAorCQkJCXBvcnRbbnVtXS5pb2FkZHIubGJhbV9hZGRyKTsKKwkJCXdyaXRlYiAoKGJsa25yID4+IDQwKSAmIDB4RkYsCisJCQkJcG9ydFtudW1dLmlvYWRkci5sYmFoX2FkZHIpOworCQl9CisjZW5kaWYKKwkJd3JpdGViICgxLCBwb3J0W251bV0uaW9hZGRyLm5zZWN0X2FkZHIpOworCQl3cml0ZWIgKChibGtuciA+PiAwKSAmIDB4RkYsIHBvcnRbbnVtXS5pb2FkZHIubGJhbF9hZGRyKTsKKwkJd3JpdGViICgoYmxrbnIgPj4gOCkgJiAweEZGLCBwb3J0W251bV0uaW9hZGRyLmxiYW1fYWRkcik7CisJCXdyaXRlYiAoKGJsa25yID4+IDE2KSAmIDB4RkYsIHBvcnRbbnVtXS5pb2FkZHIubGJhaF9hZGRyKTsKKyNpZmRlZiBDT05GSUdfTEJBNDgKKwkJaWYgKGxiYTQ4KSB7CisJCQl3cml0ZWIgKEFUQV9MQkEsIHBvcnRbbnVtXS5pb2FkZHIuZGV2aWNlX2FkZHIpOworCQkJd3JpdGViIChBVEFfQ01EX1BJT19XUklURV9FWFQsIHBvcnRbbnVtXS5pb2FkZHIuY29tbWFuZF9hZGRyKTsKKwkJfSBlbHNlCisjZW5kaWYKKwkJeworCQkJd3JpdGViIChBVEFfTEJBIHwgKChibGtuciA+PiAyNCkgJiAweEYpLAorCQkJCXBvcnRbbnVtXS5pb2FkZHIuZGV2aWNlX2FkZHIpOworCQkJd3JpdGViIChBVEFfQ01EX1BJT19XUklURSwgcG9ydFtudW1dLmlvYWRkci5jb21tYW5kX2FkZHIpOworCQl9CisKKwkJbXNsZWVwICg1MCk7CisJCS8qbWF5IHRha2UgdXAgdG8gNCBzZWMgKi8KKwkJc3RhdHVzID0gc2F0YV9idXN5X3dhaXQgKCZwb3J0W251bV0uaW9hZGRyLCBBVEFfQlVTWSwgNDAwMCwgMCk7CisJCWlmICgoc3RhdHVzICYgKEFUQV9EUlEgfCBBVEFfQlVTWSB8IEFUQV9FUlIpKSAhPSBBVEFfRFJRKSB7CisJCQlwcmludGYgKCJFcnJvciBubyBEUlEgZGV2ICVkIGJsayAlbGQ6IHN0cyAweCUwMnhcbiIsCisJCQkJZGV2aWNlLCAodWxvbmcpIGJsa25yLCBzdGF0dXMpOworCQkJcmV0dXJuIChuKTsKKwkJfQorCisJCW91dHB1dF9kYXRhICgmcG9ydFtudW1dLmlvYWRkciwgYnVmZmVyLCBBVEFfU0VDVE9SX1dPUkRTKTsKKwkJcmVhZGIgKHBvcnRbbnVtXS5pb2FkZHIuYWx0c3RhdHVzX2FkZHIpOworCQl1ZGVsYXkgKDUwKTsKKworCQkrK247CisJCSsrYmxrbnI7CisJCWJ1ZmZlciArPSBBVEFfU0VDVE9SX1dPUkRTOworCX0KKwlyZXR1cm4gbjsKK30KKworLyogRHJpdmVyIGltcGxlbWVudGF0aW9uICovCitzdGF0aWMgdTggc2lsX2dldF9kZXZpY2VfY2FjaGVfbGluZSAocGNpX2Rldl90IHBkZXYpCit7CisJdTggY2FjaGVfbGluZSA9IDA7CisJcGNpX3JlYWRfY29uZmlnX2J5dGUgKHBkZXYsIFBDSV9DQUNIRV9MSU5FX1NJWkUsICZjYWNoZV9saW5lKTsKKwlyZXR1cm4gY2FjaGVfbGluZTsKK30KKworaW50IGluaXRfc2F0YSAoaW50IGRldikKK3sKKwlzdGF0aWMgdTggaW5pdF9kb25lID0gMDsKKwlzdGF0aWMgaW50IHJlcyA9IDE7CisJcGNpX2Rldl90IGRldm5vOworCXU4IGNscyA9IDA7CisJdTE2IGNtZCA9IDA7CisJdTMyIHNjb25mID0gMDsKKworCWlmIChpbml0X2RvbmUpIHsKKwkJcmV0dXJuIHJlczsKKwl9CisKKwlpbml0X2RvbmUgPSAxOworCisJaWYgKChkZXZubyA9IHBjaV9maW5kX2RldmljZSAoU0lMX1ZFTkRfSUQsIFNJTDMxMTRfREVWSUNFX0lELCAwKSkgPT0gLTEpIHsKKwkJcmVzID0gMTsKKwkJcmV0dXJuIHJlczsKKwl9CisKKwkvKiBSZWFkIG91dCBhbGwgQkFScywgZXZlbiB0aG91Z2ggd2Ugb25seSB1c2UgTU1JTyBmcm9tIEJBUjUgKi8KKwlwY2lfcmVhZF9jb25maWdfZHdvcmQgKGRldm5vLCBQQ0lfQkFTRV9BRERSRVNTXzAsICZpb2Jhc2VbMF0pOworCXBjaV9yZWFkX2NvbmZpZ19kd29yZCAoZGV2bm8sIFBDSV9CQVNFX0FERFJFU1NfMSwgJmlvYmFzZVsxXSk7CisJcGNpX3JlYWRfY29uZmlnX2R3b3JkIChkZXZubywgUENJX0JBU0VfQUREUkVTU18yLCAmaW9iYXNlWzJdKTsKKwlwY2lfcmVhZF9jb25maWdfZHdvcmQgKGRldm5vLCBQQ0lfQkFTRV9BRERSRVNTXzMsICZpb2Jhc2VbM10pOworCXBjaV9yZWFkX2NvbmZpZ19kd29yZCAoZGV2bm8sIFBDSV9CQVNFX0FERFJFU1NfNCwgJmlvYmFzZVs0XSk7CisJcGNpX3JlYWRfY29uZmlnX2R3b3JkIChkZXZubywgUENJX0JBU0VfQUREUkVTU181LCAmaW9iYXNlWzVdKTsKKworCWlmICgoaW9iYXNlWzBdID09IDB4RkZGRkZGRkYpIHx8IChpb2Jhc2VbMV0gPT0gMHhGRkZGRkZGRikgfHwKKwkgICAgKGlvYmFzZVsyXSA9PSAweEZGRkZGRkZGKSB8fCAoaW9iYXNlWzNdID09IDB4RkZGRkZGRkYpIHx8CisJICAgIChpb2Jhc2VbNF0gPT0gMHhGRkZGRkZGRikgfHwgKGlvYmFzZVs1XSA9PSAweEZGRkZGRkZGKSkgeworCQlwcmludGYgKCJFcnJvciBubyBiYXNlIGFkZHIgZm9yIFNBVEEgY29udHJvbGxlclxuIik7CisJCXJlcyA9IDE7CisJCXJldHVybiByZXM7CisJfQorCisJLyogbWFzayBvZmYgdW51c2VkIGJpdHMgKi8KKwlpb2Jhc2VbMF0gJj0gMHhmZmZmZmZmYzsKKwlpb2Jhc2VbMV0gJj0gMHhmZmZmZmZmODsKKwlpb2Jhc2VbMl0gJj0gMHhmZmZmZmZmYzsKKwlpb2Jhc2VbM10gJj0gMHhmZmZmZmZmODsKKwlpb2Jhc2VbNF0gJj0gMHhmZmZmZmZmMDsKKwlpb2Jhc2VbNV0gJj0gMHhmZmZmZmMwMDsKKworCS8qIGZyb20gc2F0YV9zaWwgaW4gTGludXgga2VybmVsICovCisJY2xzID0gc2lsX2dldF9kZXZpY2VfY2FjaGVfbGluZSAoZGV2bm8pOworCWlmIChjbHMpIHsKKwkJY2xzID4+PSAzOworCQljbHMrKzsJCS8qIGNscyA9IChsaW5lX3NpemUvOCkrMSAqLworCQl3cml0ZWwgKGNscyA8PCA4IHwgY2xzLCBpb2Jhc2VbNV0gKyBWTkRfRklGT0NGR19DSDApOworCQl3cml0ZWwgKGNscyA8PCA4IHwgY2xzLCBpb2Jhc2VbNV0gKyBWTkRfRklGT0NGR19DSDEpOworCQl3cml0ZWwgKGNscyA8PCA4IHwgY2xzLCBpb2Jhc2VbNV0gKyBWTkRfRklGT0NGR19DSDIpOworCQl3cml0ZWwgKGNscyA8PCA4IHwgY2xzLCBpb2Jhc2VbNV0gKyBWTkRfRklGT0NGR19DSDMpOworCX0gZWxzZSB7CisJCXByaW50ZiAoIkNhY2hlIGxpbmUgbm90IHNldC4gRHJpdmVyIG1heSBub3QgZnVuY3Rpb25cbiIpOworCX0KKworCS8qIEVuYWJsZSBvcGVyYXRpb24gKi8KKwlwY2lfcmVhZF9jb25maWdfd29yZCAoZGV2bm8sIFBDSV9DT01NQU5ELCAmY21kKTsKKwljbWQgfD0gUENJX0NPTU1BTkRfTUFTVEVSIHwgUENJX0NPTU1BTkRfSU8gfCBQQ0lfQ09NTUFORF9NRU1PUlk7CisJcGNpX3dyaXRlX2NvbmZpZ193b3JkIChkZXZubywgUENJX0NPTU1BTkQsIGNtZCk7CisKKwkvKiBEaXNhYmxlIGludGVycnVwdCB1c2FnZSAqLworCXBjaV9yZWFkX2NvbmZpZ19kd29yZCAoZGV2bm8sIFZORF9TWVNDT05GU1RBVCwgJnNjb25mKTsKKwlzY29uZiB8PSAoVk5EX1NZU0NPTkZTVEFUX0NITl8wX0lOVEJMT0NLIHwgVk5EX1NZU0NPTkZTVEFUX0NITl8xX0lOVEJMT0NLKTsKKwlwY2lfd3JpdGVfY29uZmlnX2R3b3JkIChkZXZubywgVk5EX1NZU0NPTkZTVEFULCBzY29uZik7CisKKwlyZXMgPSAwOworCXJldHVybiByZXM7Cit9CisKKy8qIENoZWNrIGlmIGRldmljZSBpcyBjb25uZWN0ZWQgdG8gcG9ydCAqLworaW50IHNhdGFfYnVzX3Byb2JlIChpbnQgcG9ydG5vKQoreworCXUzMiBwb3J0ID0gaW9iYXNlWzVdOworCXUzMiB2YWw7CisJc3dpdGNoIChwb3J0bm8pIHsKKwljYXNlIDA6CisJCXBvcnQgKz0gVk5EX1NTVEFUVVNfQ0gwOworCQlicmVhazsKKwljYXNlIDE6CisJCXBvcnQgKz0gVk5EX1NTVEFUVVNfQ0gxOworCQlicmVhazsKKwljYXNlIDI6CisJCXBvcnQgKz0gVk5EX1NTVEFUVVNfQ0gyOworCQlicmVhazsKKwljYXNlIDM6CisJCXBvcnQgKz0gVk5EX1NTVEFUVVNfQ0gzOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlyZXR1cm4gMDsKKwl9CisJdmFsID0gcmVhZGwgKHBvcnQpOworCWlmICgodmFsICYgU0FUQV9ERVRfUFJFUykgPT0gU0FUQV9ERVRfUFJFUykgeworCQlyZXR1cm4gMTsKKwl9IGVsc2UgeworCQlyZXR1cm4gMDsKKwl9Cit9CisKK2ludCBzYXRhX3BoeV9yZXNldCAoaW50IHBvcnRubykKK3sKKwl1MzIgcG9ydCA9IGlvYmFzZVs1XTsKKwl1MzIgdmFsOworCXN3aXRjaCAocG9ydG5vKSB7CisJY2FzZSAwOgorCQlwb3J0ICs9IFZORF9TQ09OVFJPTF9DSDA7CisJCWJyZWFrOworCWNhc2UgMToKKwkJcG9ydCArPSBWTkRfU0NPTlRST0xfQ0gxOworCQlicmVhazsKKwljYXNlIDI6CisJCXBvcnQgKz0gVk5EX1NDT05UUk9MX0NIMjsKKwkJYnJlYWs7CisJY2FzZSAzOgorCQlwb3J0ICs9IFZORF9TQ09OVFJPTF9DSDM7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXJldHVybiAwOworCX0KKwl2YWwgPSByZWFkbCAocG9ydCk7CisJd3JpdGVsICh2YWwgfCBTQVRBX1NDX0RFVF9SU1QsIHBvcnQpOworCW1zbGVlcCAoMTUwKTsKKwl3cml0ZWwgKHZhbCAmIH5TQVRBX1NDX0RFVF9SU1QsIHBvcnQpOworCXJldHVybiAwOworfQorCitpbnQgc2Nhbl9zYXRhIChpbnQgZGV2KQoreworCS8qIEEgYml0IGJyYWluIGRlYWQsIGJ1dCB0aGUgY29kZSBoYXMgYSBsZWdhY3kgKi8KKwlzd2l0Y2ggKGRldikgeworCWNhc2UgMDoKKwkJcG9ydFswXS5wb3J0X25vID0gMDsKKwkJcG9ydFswXS5pb2FkZHIuY21kX2FkZHIgPSBpb2Jhc2VbNV0gKyBWTkRfVEYwX0NIMDsKKwkJcG9ydFswXS5pb2FkZHIuYWx0c3RhdHVzX2FkZHIgPSBwb3J0WzBdLmlvYWRkci5jdGxfYWRkciA9CisJCSAgICAoaW9iYXNlWzVdICsgVk5EX1RGMl9DSDApIHwgQVRBX1BDSV9DVExfT0ZTOworCQlwb3J0WzBdLmlvYWRkci5ibWRtYV9hZGRyID0gaW9iYXNlWzVdICsgVk5EX0JNRE1BX0NIMDsKKwkJYnJlYWs7CisJY2FzZSAxOgorCQlwb3J0WzFdLnBvcnRfbm8gPSAwOworCQlwb3J0WzFdLmlvYWRkci5jbWRfYWRkciA9IGlvYmFzZVs1XSArIFZORF9URjBfQ0gxOworCQlwb3J0WzFdLmlvYWRkci5hbHRzdGF0dXNfYWRkciA9IHBvcnRbMV0uaW9hZGRyLmN0bF9hZGRyID0KKwkJICAgIChpb2Jhc2VbNV0gKyBWTkRfVEYyX0NIMSkgfCBBVEFfUENJX0NUTF9PRlM7CisJCXBvcnRbMV0uaW9hZGRyLmJtZG1hX2FkZHIgPSBpb2Jhc2VbNV0gKyBWTkRfQk1ETUFfQ0gxOworCQlicmVhazsKKwljYXNlIDI6CisJCXBvcnRbMl0ucG9ydF9ubyA9IDA7CisJCXBvcnRbMl0uaW9hZGRyLmNtZF9hZGRyID0gaW9iYXNlWzVdICsgVk5EX1RGMF9DSDI7CisJCXBvcnRbMl0uaW9hZGRyLmFsdHN0YXR1c19hZGRyID0gcG9ydFsyXS5pb2FkZHIuY3RsX2FkZHIgPQorCQkgICAgKGlvYmFzZVs1XSArIFZORF9URjJfQ0gyKSB8IEFUQV9QQ0lfQ1RMX09GUzsKKwkJcG9ydFsyXS5pb2FkZHIuYm1kbWFfYWRkciA9IGlvYmFzZVs1XSArIFZORF9CTURNQV9DSDI7CisJCWJyZWFrOworCWNhc2UgMzoKKwkJcG9ydFszXS5wb3J0X25vID0gMDsKKwkJcG9ydFszXS5pb2FkZHIuY21kX2FkZHIgPSBpb2Jhc2VbNV0gKyBWTkRfVEYwX0NIMzsKKwkJcG9ydFszXS5pb2FkZHIuYWx0c3RhdHVzX2FkZHIgPSBwb3J0WzNdLmlvYWRkci5jdGxfYWRkciA9CisJCSAgICAoaW9iYXNlWzVdICsgVk5EX1RGMl9DSDMpIHwgQVRBX1BDSV9DVExfT0ZTOworCQlwb3J0WzNdLmlvYWRkci5ibWRtYV9hZGRyID0gaW9iYXNlWzVdICsgVk5EX0JNRE1BX0NIMzsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcHJpbnRmICgiVHJpZWQgdG8gc2NhbiB1bmtub3duIHBvcnQ6IGF0YSVkXG4iLCBkZXYpOworCQlyZXR1cm4gMTsKKwl9CisKKwkvKiBJbml0aWFsaXplIG90aGVyIHJlZ2lzdGVycyAqLworCXNhdGFfcG9ydCAoJnBvcnRbZGV2XS5pb2FkZHIpOworCisJLyogQ2hlY2sgZm9yIGF0dGFjaGVkIGRldmljZSAqLworCWlmICghc2F0YV9idXNfcHJvYmUgKGRldikpIHsKKwkJcG9ydFtkZXZdLnBvcnRfc3RhdGUgPSAwOworCQlkZWJ1ZyAoIlNBVEEjJWQgcG9ydCBpcyBub3QgcHJlc2VudFxuIiwgZGV2KTsKKwl9IGVsc2UgeworCQlkZWJ1ZyAoIlNBVEEjJWQgcG9ydCBpcyBwcmVzZW50XG4iLCBkZXYpOworCQlpZiAoc2F0YV9idXNfc29mdHJlc2V0IChkZXYpKSB7CisJCQkvKiBzb2Z0IHJlc2V0IGZhaWxlZCwgdHJ5IGEgaGFyZCBvbmUgKi8KKwkJCXNhdGFfcGh5X3Jlc2V0IChkZXYpOworCQkJaWYgKHNhdGFfYnVzX3NvZnRyZXNldCAoZGV2KSkgeworCQkJCXBvcnRbZGV2XS5wb3J0X3N0YXRlID0gMDsKKwkJCX0gZWxzZSB7CisJCQkJcG9ydFtkZXZdLnBvcnRfc3RhdGUgPSAxOworCQkJfQorCQl9IGVsc2UgeworCQkJcG9ydFtkZXZdLnBvcnRfc3RhdGUgPSAxOworCQl9CisJfQorCWlmIChwb3J0W2Rldl0ucG9ydF9zdGF0ZSA9PSAxKSB7CisJCS8qIFByb2JlIGRldmljZSBhbmQgc2V0IHhmZXIgbW9kZSAqLworCQlzYXRhX2lkZW50aWZ5IChkZXYsIDApOworCQlzZXRfRmVhdHVyZV9jbWQgKGRldiwgMCk7CisJfQorCisJcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2Jsb2NrL3NhdGFfc2lsMzExNC5oIGIvZHJpdmVycy9ibG9jay9zYXRhX3NpbDMxMTQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZjIzMDFhCi0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9ibG9jay9zYXRhX3NpbDMxMTQuaApAQCAtMCwwICsxLDE0NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgRXhjaXRvIEVsZWt0cm9uaWsgaSBTa+VuZSBBQiwgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIEF1dGhvcjogVG9yIEtyaWxsIDx0b3JAZXhjaXRvLmNvbT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKKyAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLAorICogTUEgMDIxMTEtMTMwNyBVU0EKKyAqLworCisjaWZuZGVmIFNBVEFfU0lMMzExNF9ICisjZGVmaW5lIFNBVEFfU0lMMzExNF9ICisKK3N0cnVjdCBzYXRhX2lvcG9ydHMgeworCXVuc2lnbmVkIGxvbmcgY21kX2FkZHI7CisJdW5zaWduZWQgbG9uZyBkYXRhX2FkZHI7CisJdW5zaWduZWQgbG9uZyBlcnJvcl9hZGRyOworCXVuc2lnbmVkIGxvbmcgZmVhdHVyZV9hZGRyOworCXVuc2lnbmVkIGxvbmcgbnNlY3RfYWRkcjsKKwl1bnNpZ25lZCBsb25nIGxiYWxfYWRkcjsKKwl1bnNpZ25lZCBsb25nIGxiYW1fYWRkcjsKKwl1bnNpZ25lZCBsb25nIGxiYWhfYWRkcjsKKwl1bnNpZ25lZCBsb25nIGRldmljZV9hZGRyOworCXVuc2lnbmVkIGxvbmcgc3RhdHVzX2FkZHI7CisJdW5zaWduZWQgbG9uZyBjb21tYW5kX2FkZHI7CisJdW5zaWduZWQgbG9uZyBhbHRzdGF0dXNfYWRkcjsKKwl1bnNpZ25lZCBsb25nIGN0bF9hZGRyOworCXVuc2lnbmVkIGxvbmcgYm1kbWFfYWRkcjsKKwl1bnNpZ25lZCBsb25nIHNjcl9hZGRyOworfTsKKworc3RydWN0IHNhdGFfcG9ydCB7CisJdW5zaWduZWQgY2hhciBwb3J0X25vOwkvKiBwcmltYXJ5PTAsIHNlY29uZGFyeT0xICAgICAgICovCisJc3RydWN0IHNhdGFfaW9wb3J0cyBpb2FkZHI7CS8qIEFUQSBjbWQvY3RsL2RtYSByZWcgYmxrcyAgICAgKi8KKwl1bnNpZ25lZCBjaGFyIGN0bF9yZWc7CisJdW5zaWduZWQgY2hhciBsYXN0X2N0bDsKKwl1bnNpZ25lZCBjaGFyIHBvcnRfc3RhdGU7CS8qIDEtcG9ydCBpcyBhdmFpbGFibGUgYW5kICAgICAgKi8KKwkvKiAwLXBvcnQgaXMgbm90IGF2YWlsYWJsZSAgICAgICovCisJdW5zaWduZWQgY2hhciBkZXZfbWFzazsKK307CisKKy8qIE1pc3NpbmcgYXRhIGRlZmluZXMgKi8KKyNkZWZpbmUgQVRBX0NNRF9TVEFOREJZCQkJMHhFMgorI2RlZmluZSBBVEFfQ01EX1NUQU5EQllOT1cxCQkweEUwCisjZGVmaW5lIEFUQV9DTURfSURMRQkJCTB4RTMKKyNkZWZpbmUgQVRBX0NNRF9JRExFSU1NRURJQVRFCTB4RTEKKworLyogRGVmaW5lcyBmb3IgU0lMMzExNCBjaGlwICovCisKKy8qIFBDSSBkZWZpbmVzICovCisjZGVmaW5lIFNJTF9WRU5EX0lECQkweDEwOTUKKyNkZWZpbmUgU0lMMzExNF9ERVZJQ0VfSUQJMHgzMTE0CisKKy8qIHNvbWUgdmVuZG9yIHNwZWNpZmljIHJlZ2lzdGVycyAqLworI2RlZmluZQlWTkRfU1lTQ09ORlNUQVQJMHg4OAkvKiBTeXN0ZW0gQ29uZmlndXJhdGlvbiBTdGF0dXMgYW5kIENvbW1hbmQgKi8KKyNkZWZpbmUgVk5EX1NZU0NPTkZTVEFUX0NITl8wX0lOVEJMT0NLICgxPDwyMikKKyNkZWZpbmUgVk5EX1NZU0NPTkZTVEFUX0NITl8xX0lOVEJMT0NLICgxPDwyMykKKyNkZWZpbmUgVk5EX1NZU0NPTkZTVEFUX0NITl8yX0lOVEJMT0NLICgxPDwyNCkKKyNkZWZpbmUgVk5EX1NZU0NPTkZTVEFUX0NITl8zX0lOVEJMT0NLICgxPDwyNSkKKworLyogaW50ZXJuYWwgcmVnaXN0ZXJzIG1hcHBlZCBieSBCQVI1ICovCisvKiBTQVRBIENvbnRyb2wqLworI2RlZmluZSBWTkRfU0NPTlRST0xfQ0gwCTB4MTAwCisjZGVmaW5lIFZORF9TQ09OVFJPTF9DSDEJMHgxODAKKyNkZWZpbmUgVk5EX1NDT05UUk9MX0NIMgkweDMwMAorI2RlZmluZSBWTkRfU0NPTlRST0xfQ0gzCTB4MzgwCisKKyNkZWZpbmUgU0FUQV9TQ19JUE1fVDJQCQkoMTw8MTYpCisjZGVmaW5lIFNBVEFfU0NfSVBNX1QyUwkJKDI8PDE2KQorI2RlZmluZSBTQVRBX1NDX1NQRF8xXzUJCSgxPDw0KQorI2RlZmluZSBTQVRBX1NDX1NQRF8zXzAJCSgyPDw0KQorI2RlZmluZSBTQVRBX1NDX0RFVF9SU1QJCSgxKQkvKiBBVEEgUmVzZXQgc2VxdWVuY2UgKi8KKyNkZWZpbmUgU0FUQV9TQ19ERVRfUERJUwkoNCkJLyogUEhZIERpc2FibGUgKi8KKworLyogU0FUQSBTdGF0dXMgKi8KKyNkZWZpbmUgVk5EX1NTVEFUVVNfQ0gwCQkweDEwNAorI2RlZmluZSBWTkRfU1NUQVRVU19DSDEJCTB4MTg0CisjZGVmaW5lIFZORF9TU1RBVFVTX0NIMgkJMHgzMDQKKyNkZWZpbmUgVk5EX1NTVEFUVVNfQ0gzCQkweDM4NAorCisjZGVmaW5lIFNBVEFfU1NfSVBNX0FDVElWRQkoMTw8OCkKKyNkZWZpbmUgU0FUQV9TU19JUE1fUEFSVElBTAkoMjw8OCkKKyNkZWZpbmUgU0FUQV9TU19JUE1fU0xVTUJFUgkoNjw8OCkKKyNkZWZpbmUgU0FUQV9TU19TUERfMV81CQkoMTw8NCkKKyNkZWZpbmUgU0FUQV9TU19TUERfM18wCQkoMjw8NCkKKyNkZWZpbmUgU0FUQV9ERVRfUF9OT1BIWQkoMSkJLyogRGV2aWNlIHByZXNlbmNlIGJ1dCBubyBQSFkgY29ubmVjdGlvbiBlc3RhYmxpc2hlZCAqLworI2RlZmluZSBTQVRBX0RFVF9QUkVTCQkoMykJLyogRGV2aWNlIHByZXNlbmNlIGFuZCBhY3RpdmUgUEhZICovCisjZGVmaW5lIFNBVEFfREVUX09GRkxJTkUJKDQpCS8qIERldmljZSBvZmZsaW5lIG9yIGluIGxvb3BiYWNrIG1vZGUgKi8KKworLyogVGFzayBmaWxlIHJlZ2lzdGVycyBpbiBCQVI1IG1hcHBpbmcgKi8KKyNkZWZpbmUgVk5EX1RGMF9DSDAJCQkweDgwCisjZGVmaW5lIFZORF9URjBfQ0gxCQkJMHhjMAorI2RlZmluZSBWTkRfVEYwX0NIMgkJCTB4MjgwCisjZGVmaW5lIFZORF9URjBfQ0gzCQkJMHgyYzAKKyNkZWZpbmUgVk5EX1RGMV9DSDAJCQkweDg4CisjZGVmaW5lIFZORF9URjFfQ0gxCQkJMHhjOAorI2RlZmluZSBWTkRfVEYxX0NIMgkJCTB4Mjg4CisjZGVmaW5lIFZORF9URjFfQ0gzCQkJMHgyYzgKKyNkZWZpbmUgVk5EX1RGMl9DSDAJCQkweDg4CisjZGVmaW5lIFZORF9URjJfQ0gxCQkJMHhjOAorI2RlZmluZSBWTkRfVEYyX0NIMgkJCTB4Mjg4CisjZGVmaW5lIFZORF9URjJfQ0gzCQkJMHgyYzgKKworI2RlZmluZSBWTkRfQk1ETUFfQ0gwCQkweDAwCisjZGVmaW5lIFZORF9CTURNQV9DSDEJCTB4MDgKKyNkZWZpbmUgVk5EX0JNRE1BX0NIMgkJMHgyMDAKKyNkZWZpbmUgVk5EX0JNRE1BX0NIMwkJMHgyMDgKKyNkZWZpbmUgVk5EX0JNRE1BMl9DSDAJCTB4MTAKKyNkZWZpbmUgVk5EX0JNRE1BMl9DSDEJCTB4MTgKKyNkZWZpbmUgVk5EX0JNRE1BMl9DSDIJCTB4MjEwCisjZGVmaW5lIFZORF9CTURNQTJfQ0gzCQkweDIxOAorCisvKiBGSUZPIGNvbnRyb2wgKi8KKyNkZWZpbmUJVk5EX0ZJRk9DRkdfQ0gwCQkweDQwCisjZGVmaW5lCVZORF9GSUZPQ0ZHX0NIMQkJMHg0NAorI2RlZmluZQlWTkRfRklGT0NGR19DSDIJCTB4MjQwCisjZGVmaW5lCVZORF9GSUZPQ0ZHX0NIMwkJMHgyNDQKKworLyogVGFzayBGaWxlIGNvbmZpZ3VyYXRpb24gYW5kIHN0YXR1cyAqLworI2RlZmluZSBWTkRfVEZfQ05TVF9DSDAJCTB4YTAKKyNkZWZpbmUgVk5EX1RGX0NOU1RfQ0gxCQkweGUwCisjZGVmaW5lIFZORF9URl9DTlNUX0NIMgkJMHgyYTAKKyNkZWZpbmUgVk5EX1RGX0NOU1RfQ0gzCQkweDJlMAorCisjZGVmaW5lIFZORF9URl9DTlNUX0JGQ01ECSgxPDwxKQorI2RlZmluZSBWTkRfVEZfQ05TVF9DSE5SU1QJKDE8PDIpCisjZGVmaW5lIFZORF9URl9DTlNUX1ZETUEJKDE8PDEwKQorI2RlZmluZSBWTkRfVEZfQ05TVF9JTlRTVAkoMTw8MTEpCisjZGVmaW5lIFZORF9URl9DTlNUX1dEVE8JKDE8PDEyKQorI2RlZmluZSBWTkRfVEZfQ05TVF9XREVOCSgxPDwxMykKKyNkZWZpbmUgVk5EX1RGX0NOU1RfV0RJRU4JKDE8PDE0KQorCisvKiBmb3IgdGVzdGluZyAqLworI2RlZmluZSBWTkRfU1NEUgkJCTB4MDRjCS8qIFN5c3RlbSBTb2Z0d2FyZSBEYXRhIFJlZ2lzdGVyICovCisjZGVmaW5lIFZORF9GTUFDUwkJCTB4MDUwCS8qIEZsYXNoIE1lbW9yeSBBZGRyZXNzIGNvbnRyb2wgYW5kIHN0YXR1cyAqLworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGNtY2lhL01ha2VmaWxlIGIvZHJpdmVycy9wY21jaWEvTWFrZWZpbGUKaW5kZXggYWM0Mzc4YS4uYmEyNTFkMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9wY21jaWEvTWFrZWZpbGUKKysrIGIvZHJpdmVycy9wY21jaWEvTWFrZWZpbGUKQEAgLTI3LDExICsyNywxMSBAQAogCiBDT0JKUy0kKENPTkZJR19JODIzNjUpICs9IGk4MjM2NS5vCiBDT0JKUy15ICs9IG1wYzh4eF9wY21jaWEubwotQ09CSlMteSArPSBweGFfcGNtY2lhLm8KK0NPQkpTLSQoQ09ORklHX1BYQV9QQ01DSUEpICs9IHB4YV9wY21jaWEubwogQ09CSlMteSArPSBycHhfcGNtY2lhLm8KLUNPQkpTLXkgKz0gdGlfcGNpMTQxMGEubworQ09CSlMtJChDT05GSUdfSURFX1RJX0NBUkRCVVMpICs9IHRpX3BjaTE0MTBhLm8KIENPQkpTLXkgKz0gdHFtOHh4X3BjbWNpYS5vCi1DT0JKUy15ICs9IG1hcnVidW5fcGNtY2lhLm8KK0NPQkpTLSQoQ09ORklHX01BUlVCVU5fUENDQVJEKSArPSBtYXJ1YnVuX3BjbWNpYS5vCiAKIENPQkpTCTo9ICQoQ09CSlMteSkKIFNSQ1MJOj0gJChDT0JKUzoubz0uYykKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGNtY2lhL21hcnVidW5fcGNtY2lhLmMgYi9kcml2ZXJzL3BjbWNpYS9tYXJ1YnVuX3BjbWNpYS5jCmluZGV4IGEyMTMwOTIuLmQwNzViYTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGNtY2lhL21hcnVidW5fcGNtY2lhLmMKKysrIGIvZHJpdmVycy9wY21jaWEvbWFydWJ1bl9wY21jaWEuYwpAQCAtMzEsMTIgKzMxLDExIEBACiAjZGVmaW5lCUNPTkZJR19QQ01DSUEKICNlbmRpZgogCi0jaWYJZGVmaW5lZChDT05GSUdfQ01EX0lERSkKKyNpZiBkZWZpbmVkKENPTkZJR19DTURfSURFKQogI2RlZmluZQlDT05GSUdfUENNQ0lBCiAjZW5kaWYKIAotI2lmCWRlZmluZWQoQ09ORklHX1BDTUNJQSkgIFwKLQkgICAgICAgICYmIChkZWZpbmVkKENPTkZJR19NQVJVQlVOX1BDQ0FSRCkpCisjaWYgZGVmaW5lZChDT05GSUdfUENNQ0lBKQogCiAvKiBNUi1TSFBDLTAxIHJlZ2lzdGVyICovCiAjZGVmaW5lIE1SU0hQQ19NT0RFCShDRkdfTUFSVUJVTl9NUlNIUEMgKyA0KQpAQCAtMTEyLDQgKzExMSw0IEBACiAJcmV0dXJuIDA7CiB9CiAKLSNlbmRpZiAvKiBDT05GSUdfTUFSVUJVTl9QQ0NBUkQgKi8KKyNlbmRpZiAvKiBDT05GSUdfUENNQ0lBICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL3BjbWNpYS9weGFfcGNtY2lhLmMgYi9kcml2ZXJzL3BjbWNpYS9weGFfcGNtY2lhLmMKaW5kZXggNjU0MjdlZi4uMTFkODU5MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9wY21jaWEvcHhhX3BjbWNpYS5jCisrKyBiL2RyaXZlcnMvcGNtY2lhL3B4YV9wY21jaWEuYwpAQCAtMSw4ICsxLDYgQEAKICNpbmNsdWRlIDxjb21tb24uaD4KICNpbmNsdWRlIDxjb25maWcuaD4KIAotI2lmZGVmIENPTkZJR19QWEFfUENNQ0lBCi0KICNpbmNsdWRlIDxwY21jaWEuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9weGEtcmVncy5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgpAQCAtOTMsNSArOTEsMyBAQAogCXJldHVybiAwOwogfQogI2VuZGlmCi0KLSNlbmRpZiAvKiBDT05GSUdfUFhBX1BDTUNJQSAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9wY21jaWEvdGlfcGNpMTQxMGEuYyBiL2RyaXZlcnMvcGNtY2lhL3RpX3BjaTE0MTBhLmMKaW5kZXggMjA4Y2E1MC4uYzg3NmQwYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9wY21jaWEvdGlfcGNpMTQxMGEuYworKysgYi9kcml2ZXJzL3BjbWNpYS90aV9wY2kxNDEwYS5jCkBAIC02NCw3ICs2NCw3IEBACiAKICNpbmNsdWRlIDxwY21jaWEuaD4KIAotI2lmIGRlZmluZWQoQ09ORklHX0NNRF9QQ01DSUEpICYmIGRlZmluZWQoQ09ORklHX0lERV9USV9DQVJEQlVTKQorI2lmIGRlZmluZWQoQ09ORklHX0NNRF9QQ01DSUEpCiAKIGludCBwY21jaWFfb24oaW50IGlkZV9iYXNlX2J1cyk7CiAKQEAgLTY2Miw0ICs2NjIsNCBAQAogCXJldHVybiAwOwkvKiBkb24ndCBrbm93ICovCiB9CiAKLSNlbmRpZiAvKiBDT05GSUdfSURFX1RJX0NBUkRCVVMgKi8KKyNlbmRpZiAvKiBDT05GSUdfQ01EX1BDTUNJQSAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zZXJpYWwvc2VyaWFsX3BsMDEwLmMgYi9kcml2ZXJzL3NlcmlhbC9zZXJpYWxfcGwwMTAuYwppbmRleCA0MTdiNmFlLi4xMzRlZDA5IDEwMDY0NAotLS0gYS9kcml2ZXJzL3NlcmlhbC9zZXJpYWxfcGwwMTAuYworKysgYi9kcml2ZXJzL3NlcmlhbC9zZXJpYWxfcGwwMTAuYwpAQCAtMjksNiArMjksNyBAQAogLyogU2hvdWxkIGJlIGZhaXJseSBzaW1wbGUgdG8gbWFrZSBpdCB3b3JrIHdpdGggdGhlIFBMMDEwIGFzIHdlbGwgKi8KIAogI2luY2x1ZGUgPGNvbW1vbi5oPgorI2luY2x1ZGUgPHdhdGNoZG9nLmg+CiAKICNpZmRlZiBDRkdfUEwwMTBfU0VSSUFMCiAKQEAgLTEzNyw3ICsxMzgsOCBAQAogc3RhdGljIHZvaWQgcGwwMTBfcHV0YyAoaW50IHBvcnRudW0sIGNoYXIgYykKIHsKIAkvKiBXYWl0IHVudGlsIHRoZXJlIGlzIHNwYWNlIGluIHRoZSBGSUZPICovCi0Jd2hpbGUgKElPX1JFQUQgKHBvcnRbcG9ydG51bV0gKyBVQVJUX1BMMDF4X0ZSKSAmIFVBUlRfUEwwMXhfRlJfVFhGRik7CisJd2hpbGUgKElPX1JFQUQgKHBvcnRbcG9ydG51bV0gKyBVQVJUX1BMMDF4X0ZSKSAmIFVBUlRfUEwwMXhfRlJfVFhGRikKKwkJV0FUQ0hET0dfUkVTRVQoKTsKIAogCS8qIFNlbmQgdGhlIGNoYXJhY3RlciAqLwogCUlPX1dSSVRFIChwb3J0W3BvcnRudW1dICsgVUFSVF9QTDAxeF9EUiwgYyk7CkBAIC0xNDgsNyArMTUwLDggQEAKIAl1bnNpZ25lZCBpbnQgZGF0YTsKIAogCS8qIFdhaXQgdW50aWwgdGhlcmUgaXMgZGF0YSBpbiB0aGUgRklGTyAqLwotCXdoaWxlIChJT19SRUFEIChwb3J0W3BvcnRudW1dICsgVUFSVF9QTDAxeF9GUikgJiBVQVJUX1BMMDF4X0ZSX1JYRkUpOworCXdoaWxlIChJT19SRUFEIChwb3J0W3BvcnRudW1dICsgVUFSVF9QTDAxeF9GUikgJiBVQVJUX1BMMDF4X0ZSX1JYRkUpCisJCVdBVENIRE9HX1JFU0VUKCk7CiAKIAlkYXRhID0gSU9fUkVBRCAocG9ydFtwb3J0bnVtXSArIFVBUlRfUEwwMXhfRFIpOwogCkBAIC0xNjQsNiArMTY3LDcgQEAKIAogc3RhdGljIGludCBwbDAxMF90c3RjIChpbnQgcG9ydG51bSkKIHsKKwlXQVRDSERPR19SRVNFVCgpOwogCXJldHVybiAhKElPX1JFQUQgKHBvcnRbcG9ydG51bV0gKyBVQVJUX1BMMDF4X0ZSKSAmCiAJCSBVQVJUX1BMMDF4X0ZSX1JYRkUpOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zcGkvTWFrZWZpbGUgYi9kcml2ZXJzL3NwaS9NYWtlZmlsZQppbmRleCBlNjZlMGVlLi40ZjdiNjc5IDEwMDY0NAotLS0gYS9kcml2ZXJzL3NwaS9NYWtlZmlsZQorKysgYi9kcml2ZXJzL3NwaS9NYWtlZmlsZQpAQCAtMjUsNyArMjUsNyBAQAogCiBMSUIJOj0gJChvYmopbGlic3BpLmEKIAotQ09CSlMteSArPSBtcGM4eHh4X3NwaS5vCitDT0JKUy0kKENPTkZJR19NUEM4WFhYX1NQSSkgKz0gbXBjOHh4eF9zcGkubwogQ09CSlMtJChDT05GSUdfQVRNRUxfU1BJKSArPSBhdG1lbF9zcGkubwogQ09CSlMtJChDT05GSUdfTVhDX1NQSSkgKz0gbXhjX3NwaS5vCiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3BpL21wYzh4eHhfc3BpLmMgYi9kcml2ZXJzL3NwaS9tcGM4eHh4X3NwaS5jCmluZGV4IDEzNmZiNTAuLjllYWY5ODYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc3BpL21wYzh4eHhfc3BpLmMKKysrIGIvZHJpdmVycy9zcGkvbXBjOHh4eF9zcGkuYwpAQCAtMjIsNyArMjIsNiBAQAogICovCiAKICNpbmNsdWRlIDxjb21tb24uaD4KLSNpZiBkZWZpbmVkKENPTkZJR19NUEM4WFhYX1NQSSkgJiYgZGVmaW5lZChDT05GSUdfSEFSRF9TUEkpCiAKICNpbmNsdWRlIDxtYWxsb2MuaD4KICNpbmNsdWRlIDxzcGkuaD4KQEAgLTE4MCw0ICsxNzksMyBAQAogCiAJcmV0dXJuIDA7CiB9Ci0jZW5kaWYJCQkJLyogQ09ORklHX0hBUkRfU1BJICovCmRpZmYgLS1naXQgYS9mcy9qZmZzMi9qZmZzMl8xcGFzcy5jIGIvZnMvamZmczIvamZmczJfMXBhc3MuYwppbmRleCA3ZTI3ZWUxLi5kMTQyM2MxIDEwMDY0NAotLS0gYS9mcy9qZmZzMi9qZmZzMl8xcGFzcy5jCisrKyBiL2ZzL2pmZnMyL2pmZnMyXzFwYXNzLmMKQEAgLTExNiw2ICsxMTYsNyBAQAogI2luY2x1ZGUgPG1hbGxvYy5oPgogI2luY2x1ZGUgPGxpbnV4L3N0YXQuaD4KICNpbmNsdWRlIDxsaW51eC90aW1lLmg+CisjaW5jbHVkZSA8d2F0Y2hkb2cuaD4KIAogI2lmIGRlZmluZWQoQ09ORklHX0NNRF9KRkZTMikKIApAQCAtMTE4NSw2ICsxMTg2LDggQEAKIAkJCW9sZG9mZnNldCA9IG9mZnNldDsKIAkJfQogCisJCVdBVENIRE9HX1JFU0VUKCk7CisKIAkJbm9kZSA9IChzdHJ1Y3QgamZmczJfdW5rbm93bl9ub2RlICopIGdldF9ub2RlX21lbSgodTMyKXBhcnQtPm9mZnNldCArIG9mZnNldCk7CiAJCWlmIChub2RlLT5tYWdpYyA9PSBKRkZTMl9NQUdJQ19CSVRNQVNLICYmIGhkcl9jcmMobm9kZSkpIHsKIAkJCS8qIGlmIGl0cyBhIGZyYWdtZW50IGFkZCBpdCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL21tYy5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL21tYy5oCmluZGV4IDk0NDBkODAuLjg1ZTE0NGIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9tbWMuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvbW1jLmgKQEAgLTExMCwyMyArMTEwLDYgQEAKICNkZWZpbmUgTU1DX0RFRkFVTFRfUkNBCQkJMQogCiAjZGVmaW5lIE1NQ19CTE9DS19TSVpFCQkJNTEyCi0jZGVmaW5lIE1NQ19DTURfUkVTRVQJCQkwCi0jZGVmaW5lIE1NQ19DTURfU0VORF9PUF9DT05ECQkxCi0jZGVmaW5lIE1NQ19DTURfQUxMX1NFTkRfQ0lECQkyCi0jZGVmaW5lIE1NQ19DTURfU0VUX1JDQQkJCTMKLSNkZWZpbmUgTU1DX0NNRF9TRUxFQ1RfQ0FSRAkJNwotI2RlZmluZSBNTUNfQ01EX1NFTkRfQ1NECQk5Ci0jZGVmaW5lIE1NQ19DTURfU0VORF9DSUQJCTEwCi0jZGVmaW5lIE1NQ19DTURfU0VORF9TVEFUVVMJCTEzCi0jZGVmaW5lIE1NQ19DTURfU0VUX0JMT0NLTEVOCQkxNgotI2RlZmluZSBNTUNfQ01EX1JFQURfQkxPQ0sJCTE3Ci0jZGVmaW5lIE1NQ19DTURfUkRfQkxLX01VTFRJCQkxOAotI2RlZmluZSBNTUNfQ01EX1dSSVRFX0JMT0NLCQkyNAotI2RlZmluZSBNTUNfQ01EX0FQUF9DTUQJCQk1NQotCi0jZGVmaW5lIFNEX0NNRF9BUFBfU0VUX0JVU19XSURUSAk2Ci0jZGVmaW5lIFNEX0NNRF9BUFBfT1BfQ09ORAkJNDEKLQogI2RlZmluZSBNTUNfTUFYX0JMT0NLX1NJWkUJCTUxMgogCiAjZGVmaW5lIE1NQ19SMV9JRExFX1NUQVRFCQkweDAxCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vbWFjaC10eXBlcy5oIGIvaW5jbHVkZS9hc20tYXJtL21hY2gtdHlwZXMuaAppbmRleCBhYWYyZWEyLi5iMzQ3ODU3IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vbWFjaC10eXBlcy5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9tYWNoLXR5cGVzLmgKQEAgLTE1OTUsNiArMTU5NSw3IEBACiAjZGVmaW5lIE1BQ0hfVFlQRV9QMzAwICAgICAgICAgICAgICAgICAxNjAyCiAjZGVmaW5lIE1BQ0hfVFlQRV9YREFDT01FVCAgICAgICAgICAgICAxNjAzCiAjZGVmaW5lIE1BQ0hfVFlQRV9ERVhGTEVYMiAgICAgICAgICAgICAxNjA0CisjZGVmaW5lIE1BQ0hfVFlQRV9TRkZTRFIgICAgICAgICAgICAgICAxNjU3CiAKICNpZmRlZiBDT05GSUdfQVJDSF9FQlNBMTEwCiAjIGlmZGVmIG1hY2hpbmVfYXJjaF90eXBlCkBAIC0xNjUwMCw2ICsxNjUwMSwxOCBAQAogIyBkZWZpbmUgbWFjaGluZV9pc19zY2htb29naWUoKQkoMCkKICNlbmRpZgogCisjaWZkZWYgQ09ORklHX01BQ0hfU0ZGU0RSCisjIGlmZGVmIG1hY2hpbmVfYXJjaF90eXBlCisjICB1bmRlZiBtYWNoaW5lX2FyY2hfdHlwZQorIyAgZGVmaW5lIG1hY2hpbmVfYXJjaF90eXBlCV9fbWFjaGluZV9hcmNoX3R5cGUKKyMgZWxzZQorIyAgZGVmaW5lIG1hY2hpbmVfYXJjaF90eXBlCU1BQ0hfVFlQRV9TRkZTRFIKKyMgZW5kaWYKKyMgZGVmaW5lIG1hY2hpbmVfaXNfc2Zmc2RyKCkJKG1hY2hpbmVfYXJjaF90eXBlID09IE1BQ0hfVFlQRV9TRkZTRFIpCisjZWxzZQorIyBkZWZpbmUgbWFjaGluZV9pc19zZmZzZHIoKQkoMCkKKyNlbmRpZgorCiAjaWZkZWYgQ09ORklHX01BQ0hfQVpUT09MCiAjIGlmZGVmIG1hY2hpbmVfYXJjaF90eXBlCiAjICB1bmRlZiBtYWNoaW5lX2FyY2hfdHlwZQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL3UtYm9vdC1hcm0uaCBiL2luY2x1ZGUvYXNtLWFybS91LWJvb3QtYXJtLmgKaW5kZXggNDFlN2E4Zi4uNGVlNWEzMiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL3UtYm9vdC1hcm0uaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vdS1ib290LWFybS5oCkBAIC01Miw3ICs1Miw3IEBACiAvKiBUbyBiZSBmaXhlZCEJCQkJCQkJKi8KIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwogLyogY29tbW9uL2NtZF9udmVkaXQuYyAqLwotdm9pZAlzZXRlbnYJCShjaGFyICosIGNoYXIgKik7CitpbnQJc2V0ZW52CQkoY2hhciAqLCBjaGFyICopOwogCiAvKiBjcHUvLi4uL2ludGVycnVwdC5jICovCiB2b2lkCXJlc2V0X3RpbWVyX21hc2tlZAkodm9pZCk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hdnIzMi9hcmNoLWF0MzJhcDcwMHgvZ3Bpby5oIGIvaW5jbHVkZS9hc20tYXZyMzIvYXJjaC1hdDMyYXA3MDB4L2dwaW8uaAppbmRleCBlZjIwY2VhLi44YzkyMmM3IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hdnIzMi9hcmNoLWF0MzJhcDcwMHgvZ3Bpby5oCisrKyBiL2luY2x1ZGUvYXNtLWF2cjMyL2FyY2gtYXQzMmFwNzAweC9ncGlvLmgKQEAgLTE4MCw2ICsxODAsMTEgQEAKICNkZWZpbmUgR1BJT19QSU5fUEUyNQkoR1BJT19QSU9FX0JBU0UgKyAyNSkKICNkZWZpbmUgR1BJT19QSU5fUEUyNgkoR1BJT19QSU9FX0JBU0UgKyAyNikKIAorI2RlZmluZSBHUElPRl9QVUxMVVAJMHgwMDAwMDAwMQkvKiAobm90LU9VVCkgRW5hYmxlIHB1bGwtdXAgKi8KKyNkZWZpbmUgR1BJT0ZfT1VUUFVUCTB4MDAwMDAwMDIJLyogKE9VVCkgRW5hYmxlIG91dHB1dCBkcml2ZXIgKi8KKyNkZWZpbmUgR1BJT0ZfREVHTElUQ0gJMHgwMDAwMDAwNAkvKiAoSU4pIEZpbHRlciBnbGl0Y2hlcyAqLworI2RlZmluZSBHUElPRl9NVUxUSURSVgkweDAwMDAwMDA4CS8qIEVuYWJsZSBtdWx0aWRyaXZlciBvcHRpb24gKi8KKwogc3RhdGljIGlubGluZSB2b2lkICpncGlvX3Bpbl90b19hZGRyKHVuc2lnbmVkIGludCBwaW4pCiB7CiAJc3dpdGNoIChwaW4gPj4gNSkgewpAQCAtMjAwLDYgKzIwNSw5IEBACiAKIHZvaWQgZ3Bpb19zZWxlY3RfcGVyaXBoX0EodW5zaWduZWQgaW50IHBpbiwgaW50IHVzZV9wdWxsdXApOwogdm9pZCBncGlvX3NlbGVjdF9wZXJpcGhfQih1bnNpZ25lZCBpbnQgcGluLCBpbnQgdXNlX3B1bGx1cCk7Cit2b2lkIGdwaW9fc2VsZWN0X3Bpbyh1bnNpZ25lZCBpbnQgcGluLCB1bnNpZ25lZCBsb25nIGdwaW9mX2ZsYWdzKTsKK3ZvaWQgZ3Bpb19zZXRfdmFsdWUodW5zaWduZWQgaW50IHBpbiwgaW50IHZhbHVlKTsKK2ludCBncGlvX2dldF92YWx1ZSh1bnNpZ25lZCBpbnQgcGluKTsKIAogdm9pZCBncGlvX2VuYWJsZV9lYmkodm9pZCk7CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWF2cjMyL2FyY2gtYXQzMmFwNzAweC9tbWMuaCBiL2luY2x1ZGUvYXNtLWF2cjMyL2FyY2gtYXQzMmFwNzAweC9tbWMuaAppbmRleCA2YTMzZmVmLi45Y2FiYTkxIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hdnIzMi9hcmNoLWF0MzJhcDcwMHgvbW1jLmgKKysrIGIvaW5jbHVkZS9hc20tYXZyMzIvYXJjaC1hdDMyYXA3MDB4L21tYy5oCkBAIC03MSwyNSArNzEsNiBAQAogCXU4CW9uZToxOwogfTsKIAotLyogTU1DIENvbW1hbmQgbnVtYmVycyAqLwotI2RlZmluZSBNTUNfQ01EX0dPX0lETEVfU1RBVEUJCTAKLSNkZWZpbmUgTU1DX0NNRF9TRU5EX09QX0NPTkQJCTEKLSNkZWZpbmUgTU1DX0NNRF9BTExfU0VORF9DSUQJCTIKLSNkZWZpbmUgTU1DX0NNRF9TRVRfUkVMQVRJVkVfQUREUgkzCi0jZGVmaW5lIE1NQ19DTURfU0RfU0VORF9SRUxBVElWRV9BRERSCTMKLSNkZWZpbmUgTU1DX0NNRF9TRVRfRFNSCQkJNAotI2RlZmluZSBNTUNfQ01EX1NFTEVDVF9DQVJECQk3Ci0jZGVmaW5lIE1NQ19DTURfU0VORF9DU0QJCTkKLSNkZWZpbmUgTU1DX0NNRF9TRU5EX0NJRAkJMTAKLSNkZWZpbmUgTU1DX0NNRF9TRU5EX1NUQVRVUwkJMTMKLSNkZWZpbmUgTU1DX0NNRF9TRVRfQkxPQ0tMRU4JCTE2Ci0jZGVmaW5lIE1NQ19DTURfUkVBRF9TSU5HTEVfQkxPQ0sJMTcKLSNkZWZpbmUgTU1DX0NNRF9SRUFEX01VTFRJUExFX0JMT0NLCTE4Ci0jZGVmaW5lIE1NQ19DTURfV1JJVEVfQkxPQ0sJCTI0Ci0jZGVmaW5lIE1NQ19DTURfQVBQX0NNRAkJCTU1Ci0KLSNkZWZpbmUgTU1DX0FDTURfU0RfU0VORF9PUF9DT05ECTQxCi0KICNkZWZpbmUgUjFfSUxMRUdBTF9DT01NQU5ECQkoMSA8PCAyMikKICNkZWZpbmUgUjFfQVBQX0NNRAkJCSgxIDw8IDUpCiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXBwYy9iaXRvcHMuaCBiL2luY2x1ZGUvYXNtLXBwYy9iaXRvcHMuaAppbmRleCA0ZTljNjA4Li5kYWE2NmNmIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1wcGMvYml0b3BzLmgKKysrIGIvaW5jbHVkZS9hc20tcHBjL2JpdG9wcy5oCkBAIC0xNTIsNiArMTUyLDcgQEAKIH0KIAogLyogUmV0dXJuIHRoZSBiaXQgcG9zaXRpb24gb2YgdGhlIG1vc3Qgc2lnbmlmaWNhbnQgMSBiaXQgaW4gYSB3b3JkICovCisvKiAtIHRoZSByZXN1bHQgaXMgdW5kZWZpbmVkIHdoZW4geCA9PSAwICovCiBleHRlcm4gX19pbmxpbmVfXyBpbnQgX19pbG9nMih1bnNpZ25lZCBpbnQgeCkKIHsKIAlpbnQgbHo7CkBAIC0xNjcsNiArMTY4LDU3IEBACiAJcmV0dXJuIF9faWxvZzIoeCAmIC14KTsKIH0KIAorLyoKKyAqIGZsczogZmluZCBsYXN0IChtb3N0LXNpZ25pZmljYW50KSBiaXQgc2V0LgorICogTm90ZSBmbHMoMCkgPSAwLCBmbHMoMSkgPSAxLCBmbHMoMHg4MDAwMDAwMCkgPSAzMi4KKyAqCisgKiBPbiBwb3dlcnBjLCBfX2lsb2cyKDApIHJldHVybnMgLTEsIGJ1dCB0aGlzIGlzIG5vdCBzYWZlIGluIGdlbmVyYWwKKyAqLworc3RhdGljIF9faW5saW5lX18gaW50IGZscyh1bnNpZ25lZCBpbnQgeCkKK3sKKwlyZXR1cm4gX19pbG9nMih4KSArIDE7Cit9CisKKy8qKgorICogZmxzNjQgLSBmaW5kIGxhc3Qgc2V0IGJpdCBpbiBhIDY0LWJpdCB3b3JkCisgKiBAeDogdGhlIHdvcmQgdG8gc2VhcmNoCisgKgorICogVGhpcyBpcyBkZWZpbmVkIGluIGEgc2ltaWxhciB3YXkgYXMgdGhlIGxpYmMgYW5kIGNvbXBpbGVyIGJ1aWx0aW4KKyAqIGZmc2xsLCBidXQgcmV0dXJucyB0aGUgcG9zaXRpb24gb2YgdGhlIG1vc3Qgc2lnbmlmaWNhbnQgc2V0IGJpdC4KKyAqCisgKiBmbHM2NCh2YWx1ZSkgcmV0dXJucyAwIGlmIHZhbHVlIGlzIDAgb3IgdGhlIHBvc2l0aW9uIG9mIHRoZSBsYXN0CisgKiBzZXQgYml0IGlmIHZhbHVlIGlzIG5vbnplcm8uIFRoZSBsYXN0IChtb3N0IHNpZ25pZmljYW50KSBiaXQgaXMKKyAqIGF0IHBvc2l0aW9uIDY0LgorICovCisjaWYgQklUU19QRVJfTE9ORyA9PSAzMgorc3RhdGljIGlubGluZSBpbnQgZmxzNjQoX191NjQgeCkKK3sKKwlfX3UzMiBoID0geCA+PiAzMjsKKwlpZiAoaCkKKwkJcmV0dXJuIGZscyhoKSArIDMyOworCXJldHVybiBmbHMoeCk7Cit9CisjZWxpZiBCSVRTX1BFUl9MT05HID09IDY0CitzdGF0aWMgaW5saW5lIGludCBmbHM2NChfX3U2NCB4KQoreworCWlmICh4ID09IDApCisJCXJldHVybiAwOworCXJldHVybiBfX2lsb2cyKHgpICsgMTsKK30KKyNlbHNlCisjZXJyb3IgQklUU19QRVJfTE9ORyBub3QgMzIgb3IgNjQKKyNlbmRpZgorCitzdGF0aWMgaW5saW5lIGludCBfX2lsb2cyX3U2NCh1NjQgbikKK3sKKwlyZXR1cm4gZmxzNjQobikgLSAxOworfQorCitzdGF0aWMgaW5saW5lIGludCBmZnM2NCh1NjQgeCkKK3sKKwlyZXR1cm4gX19pbG9nMl91NjQoeCAmIC14KSArIDF1bGw7Cit9CisKICNpZmRlZiBfX0tFUk5FTF9fCiAKIC8qCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1wcGMvcHJvY2Vzc29yLmggYi9pbmNsdWRlL2FzbS1wcGMvcHJvY2Vzc29yLmgKaW5kZXggNWI1MDY3OS4uMTBmZDQ3OCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tcHBjL3Byb2Nlc3Nvci5oCisrKyBiL2luY2x1ZGUvYXNtLXBwYy9wcm9jZXNzb3IuaApAQCAtOTcwLDggKzk3MCwxNSBAQAogCiBzdHJ1Y3QgY3B1X3R5cGUgKmlkZW50aWZ5X2NwdSh1MzIgdmVyKTsKIAorI2lmIGRlZmluZWQoQ09ORklHX01QQzg1eHgpCiAjZGVmaW5lIENQVV9UWVBFX0VOVFJZKG4sIHYpIFwKIAl7IC5uYW1lID0gI24sIC5zb2NfdmVyID0gU1ZSXyMjdiwgfQorI2Vsc2UKKyNpZiBkZWZpbmVkKENPTkZJR19NUEM4M1hYKQorI2RlZmluZSBDUFVfVFlQRV9FTlRSWSh4KSB7I3gsIFNQUl8jI3h9CisjZW5kaWYKKyNlbmRpZgorCiAKICNpZm5kZWYgQ09ORklHX01BQ0hfU1BFQ0lGSUMKIGV4dGVybiBpbnQgX21hY2hpbmU7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2NvbW1vbi5oIGIvaW5jbHVkZS9jb21tb24uaAppbmRleCBmZDVhZGIzLi4xMGI5OTdlIDEwMDY0NAotLS0gYS9pbmNsdWRlL2NvbW1vbi5oCisrKyBiL2luY2x1ZGUvY29tbW9uLmgKQEAgLTI0Myw5ICsyNDMsOSBAQAogaW50CWdldGVudl9yICAgICAoY2hhciAqbmFtZSwgY2hhciAqYnVmLCB1bnNpZ25lZCBsZW4pOwogaW50CXNhdmVlbnYJICAgICAodm9pZCk7CiAjaWZkZWYgQ09ORklHX1BQQwkJLyogQVJNIHZlcnNpb24gdG8gYmUgZml4ZWQhICovCi12b2lkIGlubGluZSBzZXRlbnYgICAoY2hhciAqLCBjaGFyICopOworaW50IGlubGluZSBzZXRlbnYgICAoY2hhciAqLCBjaGFyICopOwogI2Vsc2UKLXZvaWQJc2V0ZW52CSAgICAgKGNoYXIgKiwgY2hhciAqKTsKK2ludAlzZXRlbnYJICAgICAoY2hhciAqLCBjaGFyICopOwogI2lmZGVmIENPTkZJR19IQVNfVUlECiB2b2lkCWZvcmNlZW52ICAgICAoY2hhciAqLCBjaGFyICopOwogI2VuZGlmCkBAIC02ODIsNiArNjgyLDkgQEAKICNkZWZpbmUgRElWX1JPVU5EX1VQKG4sZCkgKCgobikgKyAoZCkgLSAxKSAvIChkKSkKICNkZWZpbmUgcm91bmR1cCh4LCB5KSAoKCgoeCkgKyAoKHkpIC0gMSkpIC8gKHkpKSAqICh5KSkKIAorI2RlZmluZSBBTElHTih4LGEpCQlfX0FMSUdOX01BU0soKHgpLCh0eXBlb2YoeCkpKGEpLTEpCisjZGVmaW5lIF9fQUxJR05fTUFTSyh4LG1hc2spCSgoKHgpKyhtYXNrKSkmfihtYXNrKSkKKwogLyogTXVsdGljb3JlIGFyY2ggZnVuY3Rpb25zICovCiAjaWZkZWYgQ09ORklHX01QCiBpbnQgY3B1X3N0YXR1cyhpbnQgbnIpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9jb25maWdzL01QQzgzNDlFTURTLmggYi9pbmNsdWRlL2NvbmZpZ3MvTVBDODM0OUVNRFMuaAppbmRleCAzN2UzY2E0Li44NzA1ODM4IDEwMDY0NAotLS0gYS9pbmNsdWRlL2NvbmZpZ3MvTVBDODM0OUVNRFMuaAorKysgYi9pbmNsdWRlL2NvbmZpZ3MvTVBDODM0OUVNRFMuaApAQCAtMzU1LDcgKzM1NSw2IEBACiAKIC8qIFNQSSAqLwogI2RlZmluZSBDT05GSUdfTVBDOFhYWF9TUEkKLSNkZWZpbmUgQ09ORklHX0hBUkRfU1BJCQkJLyogU1BJIHdpdGggaGFyZHdhcmUgc3VwcG9ydCAqLwogI3VuZGVmIENPTkZJR19TT0ZUX1NQSQkJCS8qIFNQSSBiaXQtYmFuZ2VkICovCiAKIC8qIEdQSU9zLiAgVXNlZCBhcyBTUEkgY2hpcCBzZWxlY3RzICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2NvbmZpZ3MvTVZCTE03LmggYi9pbmNsdWRlL2NvbmZpZ3MvTVZCTE03LmgKaW5kZXggMzQ5Y2ExNC4uYjQxMjY1NSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9jb25maWdzL01WQkxNNy5oCisrKyBiL2luY2x1ZGUvY29uZmlncy9NVkJMTTcuaApAQCAtMjcsNyArMjcsNyBAQAogI2lmbmRlZiBfX0NPTkZJR19ICiAjZGVmaW5lIF9fQ09ORklHX0gKIAotI2RlZmluZSBNVl9WRVJTSU9OICAidjEuMC4xIgorI2luY2x1ZGUgPHZlcnNpb24uaD4KIAogLyoKICAqIEhpZ2ggTGV2ZWwgQ29uZmlndXJhdGlvbiBPcHRpb25zCkBAIC0yNjIsNyArMjYyLDcgQEAKICNkZWZpbmUgQ0ZHX0VOVl9BRERSX1JFRFVORAkoQ0ZHX0VOVl9BRERSK0NGR19FTlZfU0laRSkKICNkZWZpbmUgQ0ZHX0VOVl9TSVpFX1JFRFVORCAJQ0ZHX0VOVl9TSVpFCiAKLSNkZWZpbmUgQ09ORklHX0xPQURTX0VDSE8gCisjZGVmaW5lIENPTkZJR19MT0FEU19FQ0hPCiAjZGVmaW5lIENGR19MT0FEU19CQVVEX0NIQU5HRQogCiAvKgpAQCAtMzM2LDYgKzMzNiw3IEBACiAjZGVmaW5lIENGR19ISUQwX0ZJTkFMCUNGR19ISUQwX0lOSVQKIAogI2RlZmluZSBDRkdfSElEMglISUQyX0hCRQorI2RlZmluZSBDT05GSUdfSElHSF9CQVRTCTEKIAogLyogRERSICAqLwogI2RlZmluZSBDRkdfSUJBVDBMCShDRkdfU0RSQU1fQkFTRSB8IEJBVExfUFBfMTAgfCBCQVRMX01FTUNPSEVSRU5DRSkKQEAgLTQ0Niw3ICs0NDcsNyBAQAogCSJtdl9kdGJfYWRkcj0iIE1WX0RUQl9BRERSICJcMCIJCQkJXAogCSJtdl9kdGJfYWRkcl9yYW09IiBNVl9EVEJfQUREUl9SQU0gIlwwIgkJCVwKIAkiZHRiX25hbWU9IiBNVl9EVEJfTkFNRSAiXDAiCQkJCVwKLQkibXZfdmVyc2lvbj0iIE1WX1ZFUlNJT04gIlwwIgkJCQlcCisJIm12X3ZlcnNpb249IiBVX0JPT1RfVkVSU0lPTiAiXDAiCQkJXAogCSJkaGNwX2NsaWVudF9pZD0iIE1WX0NJICJcMCIJCQkJXAogCSJkaGNwX3ZlbmRvci1jbGFzcy1pZGVudGlmaWVyPSIgTVZfVkNJICJcMCIJCVwKIAkibmV0cmV0cnk9bm9cMCIJCQkJCQlcCmRpZmYgLS1naXQgYS9pbmNsdWRlL2NvbmZpZ3MvYXRuZ3cxMDAuaCBiL2luY2x1ZGUvY29uZmlncy9hdG5ndzEwMC5oCmluZGV4IDNmYzk5NzUuLjdhYzUxYjUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvY29uZmlncy9hdG5ndzEwMC5oCisrKyBiL2luY2x1ZGUvY29uZmlncy9hdG5ndzEwMC5oCkBAIC0xMTQsNiArMTE0LDggQEAKICNkZWZpbmUgQ09ORklHX0NNRF9GQVQKICNkZWZpbmUgQ09ORklHX0NNRF9KRkZTMgogI2RlZmluZSBDT05GSUdfQ01EX01NQworI2RlZmluZSBDT05GSUdfQ01EX1NGCisjZGVmaW5lIENPTkZJR19DTURfU1BJCiAKICN1bmRlZiBDT05GSUdfQ01EX0FVVE9TQ1JJUFQKICN1bmRlZiBDT05GSUdfQ01EX0ZQR0EKQEAgLTEyNiw2ICsxMjgsMTAgQEAKICNkZWZpbmUgQ0ZHX05SX1BJT1MJCQk1CiAjZGVmaW5lIENGR19IU0RSQU1DCQkJMQogI2RlZmluZSBDT05GSUdfTU1DCQkJMQorI2RlZmluZSBDT05GSUdfQVRNRUxfU1BJCQkxCisKKyNkZWZpbmUgQ09ORklHX1NQSV9GTEFTSAkJMQorI2RlZmluZSBDT05GSUdfU1BJX0ZMQVNIX0FUTUVMCQkxCiAKICNkZWZpbmUgQ0ZHX0RDQUNIRV9MSU5FU1oJCTMyCiAjZGVmaW5lIENGR19JQ0FDSEVfTElORVNaCQkzMgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9jb25maWdzL2RhdmluY2lfc2Zmc2RyLmggYi9pbmNsdWRlL2NvbmZpZ3MvZGF2aW5jaV9zZmZzZHIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MWE2NzYzCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9jb25maWdzL2RhdmluY2lfc2Zmc2RyLmgKQEAgLTAsMCArMSwxNzcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDcgU2VyZ2V5IEt1YnVzaHluIDxrc2lAa29pOC5uZXQ+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCisgKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLAorICogTUEgMDIxMTEtMTMwNyBVU0EKKyAqLworCisjaWZuZGVmIF9fQ09ORklHX0gKKyNkZWZpbmUgX19DT05GSUdfSAorI2luY2x1ZGUgPGFzbS9zaXplcy5oPgorCisvKj09PT09PT0qLworLyogQm9hcmQgKi8KKy8qPT09PT09PSovCisjZGVmaW5lIFNGRlNEUgorI2RlZmluZSBDRkdfTkFORF9MQVJHRVBBR0UKKyNkZWZpbmUgQ0ZHX1VTRV9OQU5ECisvKj09PT09PT09PT09PT09PT09PT0qLworLyogU29DIENvbmZpZ3VyYXRpb24gKi8KKy8qPT09PT09PT09PT09PT09PT09PSovCisjZGVmaW5lIENPTkZJR19BUk05MjZFSlMJCQkvKiBhcm05MjZlanMgQ1BVIGNvcmUgKi8KKyNkZWZpbmUgQ09ORklHX1NZU19DTEtfRlJFUQkyOTcwMDAwMDAJLyogQXJtIENsb2NrIGZyZXF1ZW5jeSAqLworI2RlZmluZSBDRkdfVElNRVJCQVNFCQkweDAxYzIxNDAwCS8qIHVzZSB0aW1lciAwICovCisjZGVmaW5lIENGR19IWl9DTE9DSwkJMjcwMDAwMDAJLyogVGltZXIgSW5wdXQgY2xvY2sgZnJlcSAqLworI2RlZmluZSBDRkdfSFoJCQkxMDAwCisvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KKy8qIEVFUFJPTSBkZWZpbml0aW9ucyBmb3IgQXRtZWwgMjRMQzY0IEVFUFJPTSBjaGlwICAqLworLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCisjZGVmaW5lIENGR19JMkNfRUVQUk9NX0FERFJfTEVOCQkyCisjZGVmaW5lIENGR19JMkNfRUVQUk9NX0FERFIJCTB4NTAKKyNkZWZpbmUgQ0ZHX0VFUFJPTV9QQUdFX1dSSVRFX0JJVFMJNQorI2RlZmluZSBDRkdfRUVQUk9NX1BBR0VfV1JJVEVfREVMQVlfTVMJMjAKKy8qPT09PT09PT09PT09PSovCisvKiBNZW1vcnkgSW5mbyAqLworLyo9PT09PT09PT09PT09Ki8KKyNkZWZpbmUgQ0ZHX01BTExPQ19MRU4JCSgweDEwMDAwICsgMjU2KjEwMjQpCS8qIG1hbGxvYygpIGxlbiAqLworI2RlZmluZSBDRkdfR0JMX0RBVEFfU0laRQkxMjgJCS8qIHJlc2VydmVkIGZvciBpbml0aWFsIGRhdGEgKi8KKyNkZWZpbmUgQ0ZHX01FTVRFU1RfU1RBUlQJMHg4MDAwMDAwMAkvKiBtZW10ZXN0IHN0YXJ0IGFkZHJlc3MgKi8KKyNkZWZpbmUgQ0ZHX01FTVRFU1RfRU5ECQkweDgxMDAwMDAwCS8qIDE2TUIgUkFNIHRlc3QgKi8KKyNkZWZpbmUgQ09ORklHX05SX0RSQU1fQkFOS1MJMQkJLyogd2UgaGF2ZSAxIGJhbmsgb2YgRFJBTSAqLworI2RlZmluZSBDT05GSUdfU1RBQ0tTSVpFCSgyNTYqMTAyNCkJLyogcmVndWxhciBzdGFjayAqLworI2RlZmluZSBQSFlTX1NEUkFNXzEJCTB4ODAwMDAwMDAJLyogRERSIFN0YXJ0ICovCisjZGVmaW5lIFBIWVNfU0RSQU1fMV9TSVpFCTB4MDgwMDAwMDAJLyogRERSIHNpemUgMTI4TUIgKi8KKyNkZWZpbmUgRERSXzRCQU5LUwkJCQkvKiA0LWJhbmsgRERSMiAoMTI4TUIpICovCisvKj09PT09PT09PT09PT09PT09PT09Ki8KKy8qIFNlcmlhbCBEcml2ZXIgaW5mbyAqLworLyo9PT09PT09PT09PT09PT09PT09PSovCisjZGVmaW5lIENGR19OUzE2NTUwCisjZGVmaW5lIENGR19OUzE2NTUwX1NFUklBTAorI2RlZmluZSBDRkdfTlMxNjU1MF9SRUdfU0laRQk0CQkvKiBOUzE2NTUwIHJlZ2lzdGVyIHNpemUgKi8KKyNkZWZpbmUgQ0ZHX05TMTY1NTBfQ09NMQkweDAxYzIwMDAwCS8qIEJhc2UgYWRkcmVzcyBvZiBVQVJUMCAqLworI2RlZmluZSBDRkdfTlMxNjU1MF9DTEsJCTI3MDAwMDAwCS8qIElucHV0IGNsb2NrIHRvIE5TMTY1NTAgKi8KKyNkZWZpbmUgQ09ORklHX0NPTlNfSU5ERVgJMQkJLyogdXNlIFVBUlQwIGZvciBjb25zb2xlICovCisjZGVmaW5lIENPTkZJR19CQVVEUkFURQkJMTE1MjAwCQkvKiBEZWZhdWx0IGJhdWQgcmF0ZSAqLworI2RlZmluZSBDRkdfQkFVRFJBVEVfVEFCTEUJeyA5NjAwLCAxOTIwMCwgMzg0MDAsIDU3NjAwLCAxMTUyMDAgfQorLyo9PT09PT09PT09PT09PT09PT09Ki8KKy8qIEkyQyBDb25maWd1cmF0aW9uICovCisvKj09PT09PT09PT09PT09PT09PT0qLworI2RlZmluZSBDT05GSUdfSEFSRF9JMkMKKyNkZWZpbmUgQ09ORklHX0RSSVZFUl9EQVZJTkNJX0kyQworI2RlZmluZSBDRkdfSTJDX1NQRUVECQk4MDAwMAkvKiAxMDBLYnBzIHdvbid0IHdvcmssIHNpbGljb24gYnVnICovCisjZGVmaW5lIENGR19JMkNfU0xBVkUJCTEwCS8qIEJvZ3VzLCBtYXN0ZXItb25seSBpbiBVLUJvb3QgKi8KKy8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCisvKiBOZXR3b3JrICYgRXRoZXJuZXQgQ29uZmlndXJhdGlvbiAqLworLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KKyNkZWZpbmUgQ09ORklHX0RSSVZFUl9USV9FTUFDCisjZGVmaW5lIENPTkZJR19NSUkKKyNkZWZpbmUgQ09ORklHX0JPT1RQX0RFRkFVTFQKKyNkZWZpbmUgQ09ORklHX0JPT1RQX0ROUworI2RlZmluZSBDT05GSUdfQk9PVFBfRE5TMgorI2RlZmluZSBDT05GSUdfQk9PVFBfU0VORF9IT1NUTkFNRQorI2RlZmluZSBDT05GSUdfTkVUX1JFVFJZX0NPVU5UCTEwCisjZGVmaW5lIENPTkZJR19PVkVSV1JJVEVfRVRIQUREUl9PTkNFCisvKj09PT09PT09PT09PT09PT09PT09PSovCisvKiBGbGFzaCAmIEVudmlyb25tZW50ICovCisvKj09PT09PT09PT09PT09PT09PT09PSovCisjdW5kZWYgQ0ZHX0VOVl9JU19JTl9GTEFTSAorI2RlZmluZSBDRkdfTk9fRkxBU0gKKyNkZWZpbmUgQ0ZHX0VOVl9JU19JTl9OQU5ECQkvKiBVLUJvb3QgZW52IGluIE5BTkQgRmxhc2ggICovCisjZGVmaW5lIENGR19FTlZfU0VDVF9TSVpFCTIwNDgJLyogRW52IHNlY3RvciBTaXplICovCisjZGVmaW5lIENGR19FTlZfU0laRQkJU1pfMTI4SworI2RlZmluZSBDT05GSUdfU0tJUF9MT1dMRVZFTF9JTklUCS8qIFUtQm9vdCBpcyBsb2FkZWQgYnkgYSBib290bG9hZGVyICovCisjZGVmaW5lIENPTkZJR19TS0lQX1JFTE9DQVRFX1VCT09UCS8qIHRvIGEgcHJvcGVyIGFkZHJlc3MsIGluaXQgZG9uZSAqLworI2RlZmluZSBDRkdfTkFORF9CQVNFCQkweDAyMDAwMDAwCisjZGVmaW5lIENGR19OQU5EX0hXX0VDQworI2RlZmluZSBDRkdfTUFYX05BTkRfREVWSUNFCTEJLyogTWF4IG51bWJlciBvZiBOQU5EIGRldmljZXMgKi8KKyNkZWZpbmUgTkFORF9NQVhfQ0hJUFMJCTEKKyNkZWZpbmUgQ0ZHX0VOVl9PRkZTRVQJCTB4MAkvKiBCbG9jayAwLS1ub3QgdXNlZCBieSBib290Y29kZSAqLworLyo9PT09PT09PT09PT09PT09PT09PT0qLworLyogQm9hcmQgcmVsYXRlZCBzdHVmZiAqLworLyo9PT09PT09PT09PT09PT09PT09PT0qLworLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLworLyogSTJDIHN3aXRjaCBkZWZpbml0aW9ucyBmb3IgUENBOTU0MyBjaGlwICAqLworLyogb24gTHlydGVjaCBTRkYgU0RSIGJvYXJkLiAgICAgICAgICAgICAgICAqLworLyogVGhpcyBjaGlwIGhhcyBhIHNpbmdsZSByZWdpc3Rlci4gICAgICAgICAqLworLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLworI2RlZmluZSBDRkdfSTJDX1BDQTk1NDNfQUREUgkJMHg3MAorI2RlZmluZSBDRkdfSTJDX1BDQTk1NDNfQUREUl9MRU4JMAorI2RlZmluZSBDRkdfSTJDX1BDQTk1NDNfRU5BQkxFX0NIMAkweDAxCS8qIEVuYWJsZSBjaGFubmVsIDAuICovCisvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCisvKiBVLUJvb3QgZ2VuZXJhbCBjb25maWd1cmF0aW9uICovCisvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCisjdW5kZWYgQ09ORklHX1VTRV9JUlEgICAgICAgICAgICAgICAgICAvKiBObyBJUlEvRklRIGluIFUtQm9vdCAqLworI2RlZmluZSBDT05GSUdfTUlTQ19JTklUX1IKKyN1bmRlZiBDT05GSUdfQk9PVERFTEFZCisjZGVmaW5lIENPTkZJR19CT09URklMRQkJInVJbWFnZSIJLyogQm9vdCBmaWxlIG5hbWUgKi8KKyNkZWZpbmUgQ0ZHX1BST01QVAkJIlUtQm9vdCA+ICIJLyogTW9uaXRvciBDb21tYW5kIFByb21wdCAqLworI2RlZmluZSBDRkdfQ0JTSVpFCQkxMDI0CQkvKiBDb25zb2xlIEkvTyBCdWZmZXIgU2l6ZSAgKi8KKy8qIFByaW50IGJ1ZmZlciBzaXplICovCisjZGVmaW5lIENGR19QQlNJWkUJCShDRkdfQ0JTSVpFICsgc2l6ZW9mKENGR19QUk9NUFQpICsgMTYpCisjZGVmaW5lIENGR19NQVhBUkdTCQkxNgkJLyogbWF4IG51bWJlciBvZiBjb21tYW5kIGFyZ3MgKi8KKyNkZWZpbmUgQ0ZHX0JBUkdTSVpFCQlDRkdfQ0JTSVpFCS8qIEJvb3QgQXJndW1lbnQgQnVmZmVyIFNpemUgKi8KKyNkZWZpbmUgQ0ZHX0xPQURfQUREUgkJMHg4MDcwMDAwMAkvKiBEZWZhdWx0IExpbnV4IGtlcm5lbAorCQkJCQkJICogbG9hZCBhZGRyZXNzLiAqLworI2RlZmluZSBDT05GSUdfVkVSU0lPTl9WQVJJQUJMRQorI2RlZmluZSBDT05GSUdfQVVUT19DT01QTEVURQkJLyogV29uJ3Qgd29yayB3aXRoIGh1c2ggc28gZmFyLAorCQkJCQkgKiBtYXkgYmUgbGF0ZXIgKi8KKyNkZWZpbmUgQ0ZHX0hVU0hfUEFSU0VSCisjZGVmaW5lIENGR19QUk9NUFRfSFVTSF9QUzIJIj4gIgorI2RlZmluZSBDT05GSUdfQ01ETElORV9FRElUSU5HCisjZGVmaW5lIENGR19MT05HSEVMUAorI2RlZmluZSBDT05GSUdfQ1JDMzJfVkVSSUZZCisjZGVmaW5lIENPTkZJR19NWF9DWUNMSUMKKy8qCisgKiBEZWZpbmUgdGhpcyB0byBsb2FkIGFuIEludGVncml0eSBrZXJuZWwuCisgKgorI2RlZmluZSBDT05GSUdfQ01EX0VMRgorICovCisKKy8qPT09PT09PT09PT09PT09PT09PSovCisvKiBMaW51eCBJbmZvcm1hdGlvbiAqLworLyo9PT09PT09PT09PT09PT09PT09Ki8KKyNkZWZpbmUgTElOVVhfQk9PVF9QQVJBTV9BRERSCTB4ODAwMDAxMDAKKyNkZWZpbmUgQ09ORklHX0NNRExJTkVfVEFHCisjZGVmaW5lIENPTkZJR19TRVRVUF9NRU1PUllfVEFHUworI2RlZmluZSBDT05GSUdfQk9PVEFSR1MJCQkJCQkJXAorCSJtZW09NTZNIGNvbnNvbGU9dHR5UzAsMTE1MjAwbjggcm9vdD0vZGV2L2hkYTEgcncgbm9pbml0cmQgaXA9ZGhjcCIKKyNkZWZpbmUgQ09ORklHX0JPT1RDT01NQU5ECSJzZXRlbnYgc2V0Ym9vdCBzZXRlbnYgYm9vdGFyZ3MgXFwkKGJvb3RhcmdzKSB2aWRlbz1kbTY0eHhmYjpvdXRwdXQ9XFwkKHZpZGVvc3RkKTtydW4gc2V0Ym9vdCIKKworLyo9PT09PT09PT09PT09PT09PSovCisvKiBVLUJvb3QgY29tbWFuZHMgKi8KKy8qPT09PT09PT09PT09PT09PT0qLworI2luY2x1ZGUgPGNvbmZpZ19jbWRfZGVmYXVsdC5oPgorI2RlZmluZSBDT05GSUdfQ01EX0FTS0VOVgorI2RlZmluZSBDT05GSUdfQ01EX0RIQ1AKKyNkZWZpbmUgQ09ORklHX0NNRF9ESUFHCisjZGVmaW5lIENPTkZJR19DTURfSTJDCisjZGVmaW5lIENPTkZJR19DTURfTUlJCisjZGVmaW5lIENPTkZJR19DTURfUElORworI2RlZmluZSBDT05GSUdfQ01EX1NBVkVTCisjZGVmaW5lIENPTkZJR19DTURfTkFORAorI2RlZmluZSBDT05GSUdfQ01EX0VFUFJPTQorI3VuZGVmIENPTkZJR19DTURfQkRJCisjdW5kZWYgQ09ORklHX0NNRF9GUEdBCisjdW5kZWYgQ09ORklHX0NNRF9TRVRHRVREQ1IKKyN1bmRlZiBDT05GSUdfQ01EX0ZMQVNICisjdW5kZWYgQ09ORklHX0NNRF9JTUxTCisvKj09PT09PT09PT09PT09PT09PT09PT09Ki8KKy8qIEtHREIgc3VwcG9ydCAoaWYgYW55KSAqLworLyo9PT09PT09PT09PT09PT09PT09PT09PSovCisjaWZkZWYgQ09ORklHX0NNRF9LR0RCCisjZGVmaW5lIENPTkZJR19LR0RCX0JBVURSQVRFCTExNTIwMAkvKiBzcGVlZCB0byBydW4ga2dkYiBzZXJpYWwgcG9ydCAqLworI2RlZmluZSBDT05GSUdfS0dEQl9TRVJfSU5ERVgJMQkvKiB3aGljaCBzZXJpYWwgcG9ydCB0byB1c2UgKi8KKyNlbmRpZgorI2VuZGlmIC8qIF9fQ09ORklHX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvY29uZmlncy9tbDMwMC5oIGIvaW5jbHVkZS9jb25maWdzL21sMzAwLmgKaW5kZXggMTk0NTkxOC4uMzE5OTIzYSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9jb25maWdzL21sMzAwLmgKKysrIGIvaW5jbHVkZS9jb25maWdzL21sMzAwLmgKQEAgLTU0LDYgKzU0LDcgQEAKIAogI2RlZmluZSBDT05GSUdfNDA1CQkxCS8qIFRoaXMgaXMgYSBQUEM0MDUgQ1BVCQkqLwogI2RlZmluZSBDT05GSUdfNHh4CQkxCS8qIC4uLm1lbWJlciBvZiBQUEM0eHggZmFtaWx5CSovCisjZGVmaW5lIENPTkZJR19YSUxJTlhfNDA1CTEKICNkZWZpbmUgQ09ORklHX1hJTElOWF9NTDMwMAkxCS8qIC4uLm9uIGEgWGlsaW54IE1MMzAwIGJvYXJkCSovCiAKICNkZWZpbmUgQ09ORklHX1NZU1RFTUFDRQkxCmRpZmYgLS1naXQgYS9pbmNsdWRlL2NvbmZpZ3Mvc2Fjc25nLmggYi9pbmNsdWRlL2NvbmZpZ3Mvc2Fjc25nLmgKaW5kZXggNDk3NGZiNC4uMmEzOThlOCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9jb25maWdzL3NhY3NuZy5oCisrKyBiL2luY2x1ZGUvY29uZmlncy9zYWNzbmcuaApAQCAtMjcyLDEwICsyNzIsMTQgQEAKIAogI3VuZGVmICBTUElfSU5JVAkJCS8qIG5vIHBvcnQgaW5pdGlhbGl6YXRpb24gbmVlZGVkICovCiAjZGVmaW5lIFNQSV9SRUFEICAgICAgICAoKGltbXItPmltX2lvcG9ydC5pb3BfcGRhdGQgJiBJMkNfTUlTTykgIT0gMCkKLSNkZWZpbmUgU1BJX1NEQShiaXQpICAgIGlmKGJpdCkgaW1tci0+aW1faW9wb3J0LmlvcF9wZGF0ZCB8PSAgSTJDX01PU0k7IFwKLQkJCWVsc2UgICAgaW1tci0+aW1faW9wb3J0LmlvcF9wZGF0ZCAmPSB+STJDX01PU0kKLSNkZWZpbmUgU1BJX1NDTChiaXQpICAgIGlmKGJpdCkgaW1tci0+aW1faW9wb3J0LmlvcF9wZGF0ZCB8PSAgSTJDX1NDTEs7IFwKLQkJCWVsc2UgICAgaW1tci0+aW1faW9wb3J0LmlvcF9wZGF0ZCAmPSB+STJDX1NDTEsKKyNkZWZpbmUgU1BJX1NEQShiaXQpICAgIGRvIHsJCQkJCQlcCisJCQlpZihiaXQpIGltbXItPmltX2lvcG9ydC5pb3BfcGRhdGQgfD0gIEkyQ19NT1NJOyBcCisJCQllbHNlICAgIGltbXItPmltX2lvcG9ydC5pb3BfcGRhdGQgJj0gfkkyQ19NT1NJOwlcCisJCQl9IHdoaWxlICgwKQorI2RlZmluZSBTUElfU0NMKGJpdCkgICAgZG8gewkJCQkJCVwKKwkJCWlmKGJpdCkgaW1tci0+aW1faW9wb3J0LmlvcF9wZGF0ZCB8PSAgSTJDX1NDTEs7IFwKKwkJCWVsc2UgICAgaW1tci0+aW1faW9wb3J0LmlvcF9wZGF0ZCAmPSB+STJDX1NDTEs7CVwKKwkJCX0gd2hpbGUgKDApCiAjZGVmaW5lIFNQSV9ERUxBWSAgICAgICAgICAgICAgICAgICAgICAgLyogTm8gZGVsYXkgaXMgbmVlZGVkICovCiAjZW5kaWYgLyogQ09ORklHX1NPRlRfU1BJICovCiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZXhwb3J0cy5oIGIvaW5jbHVkZS9leHBvcnRzLmgKaW5kZXggZDY1MTJjYi4uNjM3Nzg3NSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9leHBvcnRzLmgKKysrIGIvaW5jbHVkZS9leHBvcnRzLmgKQEAgLTIyLDcgKzIyLDcgQEAKIHZvaWQgZG9fcmVzZXQgKHZvaWQpOwogdW5zaWduZWQgbG9uZyBzaW1wbGVfc3RydG91bChjb25zdCBjaGFyICpjcCxjaGFyICoqZW5kcCx1bnNpZ25lZCBpbnQgYmFzZSk7CiBjaGFyICpnZXRlbnYgKGNoYXIgKm5hbWUpOwotdm9pZCBzZXRlbnYgKGNoYXIgKnZhcm5hbWUsIGNoYXIgKnZhcnZhbHVlKTsKK2ludCBzZXRlbnYgKGNoYXIgKnZhcm5hbWUsIGNoYXIgKnZhcnZhbHVlKTsKIGxvbmcgc2ltcGxlX3N0cnRvbChjb25zdCBjaGFyICpjcCxjaGFyICoqZW5kcCx1bnNpZ25lZCBpbnQgYmFzZSk7CiBpbnQgc3RyY21wKGNvbnN0IGNoYXIgKiBjcyxjb25zdCBjaGFyICogY3QpOwogI2lmZGVmIENPTkZJR19IQVNfVUlECmRpZmYgLS1naXQgYS9pbmNsdWRlL2xtYi5oIGIvaW5jbHVkZS9sbWIuaAppbmRleCAwM2Q3NjY3Li4wMjgzMDc1IDEwMDY0NAotLS0gYS9pbmNsdWRlL2xtYi5oCisrKyBiL2luY2x1ZGUvbG1iLmgKQEAgLTQzLDYgKzQzLDcgQEAKIGV4dGVybiBwaHlzX2FkZHJfdCBfX2xtYl9hbGxvY19iYXNlKHN0cnVjdCBsbWIgKmxtYiwgcGh5c19zaXplX3Qgc2l6ZSwgdWxvbmcgYWxpZ24sCiAJCQkgICAgICBwaHlzX2FkZHJfdCBtYXhfYWRkcik7CiBleHRlcm4gaW50IGxtYl9pc19yZXNlcnZlZChzdHJ1Y3QgbG1iICpsbWIsIHBoeXNfYWRkcl90IGFkZHIpOworZXh0ZXJuIGxvbmcgbG1iX2ZyZWUoc3RydWN0IGxtYiAqbG1iLCB1NjQgYmFzZSwgdTY0IHNpemUpOwogCiBleHRlcm4gdm9pZCBsbWJfZHVtcF9hbGwoc3RydWN0IGxtYiAqbG1iKTsKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9tbWMuaCBiL2luY2x1ZGUvbW1jLmgKaW5kZXggYTI3MTY5NS4uMTljNzZmZSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9tbWMuaAorKysgYi9pbmNsdWRlL21tYy5oCkBAIC0yNSw2ICsyNSwzMCBAQAogI2RlZmluZSBfTU1DX0hfCiAjaW5jbHVkZSA8YXNtL2FyY2gvbW1jLmg+CiAKKy8qIE1NQyBjb21tYW5kIG51bWJlcnMgKi8KKyNkZWZpbmUgTU1DX0NNRF9HT19JRExFX1NUQVRFCQkwCisjZGVmaW5lIE1NQ19DTURfU0VORF9PUF9DT05ECQkxCisjZGVmaW5lIE1NQ19DTURfQUxMX1NFTkRfQ0lECQkyCisjZGVmaW5lIE1NQ19DTURfU0VUX1JFTEFUSVZFX0FERFIJMworI2RlZmluZSBNTUNfQ01EX1NFVF9EU1IJCQk0CisjZGVmaW5lIE1NQ19DTURfU0VMRUNUX0NBUkQJCTcKKyNkZWZpbmUgTU1DX0NNRF9TRU5EX0NTRAkJOQorI2RlZmluZSBNTUNfQ01EX1NFTkRfQ0lECQkxMAorI2RlZmluZSBNTUNfQ01EX1NFTkRfU1RBVFVTCQkxMworI2RlZmluZSBNTUNfQ01EX1NFVF9CTE9DS0xFTgkJMTYKKyNkZWZpbmUgTU1DX0NNRF9SRUFEX1NJTkdMRV9CTE9DSwkxNworI2RlZmluZSBNTUNfQ01EX1JFQURfTVVMVElQTEVfQkxPQ0sJMTgKKyNkZWZpbmUgTU1DX0NNRF9XUklURV9CTE9DSwkJMjQKKyNkZWZpbmUgTU1DX0NNRF9BUFBfQ01ECQkJNTUKKworLyogU0QgQ2FyZCBjb21tYW5kIG51bWJlcnMgKi8KKyNkZWZpbmUgU0RfQ01EX1NFTkRfUkVMQVRJVkVfQUREUgkzCisjZGVmaW5lIFNEX0NNRF9TV0lUQ0gJCQk2CisjZGVmaW5lIFNEX0NNRF9TRU5EX0lGX0NPTkQJCTgKKworI2RlZmluZSBTRF9DTURfQVBQX1NFVF9CVVNfV0lEVEgJNgorI2RlZmluZSBTRF9DTURfQVBQX1NFTkRfT1BfQ09ORAkJNDEKKwogaW50IG1tY19pbml0KGludCB2ZXJib3NlKTsKIGludCBtbWNfcmVhZCh1bG9uZyBzcmMsIHVjaGFyICpkc3QsIGludCBzaXplKTsKIGludCBtbWNfd3JpdGUodWNoYXIgKnNyYywgdWxvbmcgZHN0LCBpbnQgc2l6ZSk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL3NoYTI1Ni5oIGIvaW5jbHVkZS9zaGEyNTYuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMzhlYTg5Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9zaGEyNTYuaApAQCAtMCwwICsxLDE2IEBACisjaWZuZGVmIF9TSEEyNTZfSAorI2RlZmluZSBfU0hBMjU2X0gKKworI2RlZmluZSBTSEEyNTZfU1VNX0xFTgkzMgorCit0eXBlZGVmIHN0cnVjdCB7CisJdWludDMyX3QgdG90YWxbMl07CisJdWludDMyX3Qgc3RhdGVbOF07CisJdWludDhfdCBidWZmZXJbNjRdOworfSBzaGEyNTZfY29udGV4dDsKKwordm9pZCBzaGEyNTZfc3RhcnRzKHNoYTI1Nl9jb250ZXh0ICogY3R4KTsKK3ZvaWQgc2hhMjU2X3VwZGF0ZShzaGEyNTZfY29udGV4dCAqIGN0eCwgdWludDhfdCAqIGlucHV0LCB1aW50MzJfdCBsZW5ndGgpOwordm9pZCBzaGEyNTZfZmluaXNoKHNoYTI1Nl9jb250ZXh0ICogY3R4LCB1aW50OF90IGRpZ2VzdFtTSEEyNTZfU1VNX0xFTl0pOworCisjZW5kaWYgLyogX1NIQTI1Nl9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL3NwaS5oIGIvaW5jbHVkZS9zcGkuaAppbmRleCA3NzQ0YzJlLi4zMjBlNTBlIDEwMDY0NAotLS0gYS9pbmNsdWRlL3NwaS5oCisrKyBiL2luY2x1ZGUvc3BpLmgKQEAgLTI0LDYgKzI0LDE1IEBACiAjaWZuZGVmIF9TUElfSF8KICNkZWZpbmUgX1NQSV9IXwogCisvKiBDb250cm9sbGVyLXNwZWNpZmljIGRlZmluaXRpb25zOiAqLworCisvKiBDT05GSUdfSEFSRF9TUEkgdHJpZ2dlcnMgU1BJIGJ1cyBpbml0aWFsaXphdGlvbiBpbiBQb3dlclBDICovCisjaWZkZWYgQ09ORklHX01QQzhYWFhfU1BJCisjIGlmbmRlZiBDT05GSUdfSEFSRF9TUEkKKyMgIGRlZmluZSBDT05GSUdfSEFSRF9TUEkKKyMgZW5kaWYKKyNlbmRpZgorCiAvKiBTUEkgbW9kZSBmbGFncyAqLwogI2RlZmluZQlTUElfQ1BIQQkweDAxCQkJLyogY2xvY2sgcGhhc2UgKi8KICNkZWZpbmUJU1BJX0NQT0wJMHgwMgkJCS8qIGNsb2NrIHBvbGFyaXR5ICovCmRpZmYgLS1naXQgYS9saWJfZ2VuZXJpYy9NYWtlZmlsZSBiL2xpYl9nZW5lcmljL01ha2VmaWxlCmluZGV4IGRjYTNhNmMuLjRmNmNlNzMgMTAwNjQ0Ci0tLSBhL2xpYl9nZW5lcmljL01ha2VmaWxlCisrKyBiL2xpYl9nZW5lcmljL01ha2VmaWxlCkBAIC0zOCw2ICszOCw3IEBACiBDT0JKUy15ICs9IGxkaXYubwogQ09CSlMtJChDT05GSUdfTUQ1KSArPSBtZDUubwogQ09CSlMteSArPSBzaGExLm8KK0NPQkpTLSQoQ09ORklHX1NIQTI1NikgKz0gc2hhMjU2Lm8KIENPQkpTLXkgKz0gc3RyaW5nLm8KIENPQkpTLXkgKz0gdnNwcmludGYubwogQ09CSlMteSArPSB6bGliLm8KZGlmZiAtLWdpdCBhL2xpYl9nZW5lcmljL2xtYi5jIGIvbGliX2dlbmVyaWMvbG1iLmMKaW5kZXggYWZlMzMxOS4uOTMyNjRjMSAxMDA2NDQKLS0tIGEvbGliX2dlbmVyaWMvbG1iLmMKKysrIGIvbGliX2dlbmVyaWMvbG1iLmMKQEAgLTE4MSw2ICsxODEsNTUgQEAKIAlyZXR1cm4gbG1iX2FkZF9yZWdpb24oX3JnbiwgYmFzZSwgc2l6ZSk7CiB9CiAKK2xvbmcgbG1iX2ZyZWUoc3RydWN0IGxtYiAqbG1iLCB1NjQgYmFzZSwgdTY0IHNpemUpCit7CisJc3RydWN0IGxtYl9yZWdpb24gKnJnbiA9ICYobG1iLT5yZXNlcnZlZCk7CisJdTY0IHJnbmJlZ2luLCByZ25lbmQ7CisJdTY0IGVuZCA9IGJhc2UgKyBzaXplOworCWludCBpOworCisJcmduYmVnaW4gPSByZ25lbmQgPSAwOyAvKiBzdXByZXNzIGdjYyB3YXJuaW5ncyAqLworCisJLyogRmluZCB0aGUgcmVnaW9uIHdoZXJlIChiYXNlLCBzaXplKSBiZWxvbmdzIHRvICovCisJZm9yIChpPTA7IGkgPCByZ24tPmNudDsgaSsrKSB7CisJCXJnbmJlZ2luID0gcmduLT5yZWdpb25baV0uYmFzZTsKKwkJcmduZW5kID0gcmduYmVnaW4gKyByZ24tPnJlZ2lvbltpXS5zaXplOworCisJCWlmICgocmduYmVnaW4gPD0gYmFzZSkgJiYgKGVuZCA8PSByZ25lbmQpKQorCQkJYnJlYWs7CisJfQorCisJLyogRGlkbid0IGZpbmQgdGhlIHJlZ2lvbiAqLworCWlmIChpID09IHJnbi0+Y250KQorCQlyZXR1cm4gLTE7CisKKwkvKiBDaGVjayB0byBzZWUgaWYgd2UgYXJlIHJlbW92aW5nIGVudGlyZSByZWdpb24gKi8KKwlpZiAoKHJnbmJlZ2luID09IGJhc2UpICYmIChyZ25lbmQgPT0gZW5kKSkgeworCQlsbWJfcmVtb3ZlX3JlZ2lvbihyZ24sIGkpOworCQlyZXR1cm4gMDsKKwl9CisKKwkvKiBDaGVjayB0byBzZWUgaWYgcmVnaW9uIGlzIG1hdGNoaW5nIGF0IHRoZSBmcm9udCAqLworCWlmIChyZ25iZWdpbiA9PSBiYXNlKSB7CisJCXJnbi0+cmVnaW9uW2ldLmJhc2UgPSBlbmQ7CisJCXJnbi0+cmVnaW9uW2ldLnNpemUgLT0gc2l6ZTsKKwkJcmV0dXJuIDA7CisJfQorCisJLyogQ2hlY2sgdG8gc2VlIGlmIHRoZSByZWdpb24gaXMgbWF0Y2hpbmcgYXQgdGhlIGVuZCAqLworCWlmIChyZ25lbmQgPT0gZW5kKSB7CisJCXJnbi0+cmVnaW9uW2ldLnNpemUgLT0gc2l6ZTsKKwkJcmV0dXJuIDA7CisJfQorCisJLyoKKwkgKiBXZSBuZWVkIHRvIHNwbGl0IHRoZSBlbnRyeSAtICBhZGp1c3QgdGhlIGN1cnJlbnQgb25lIHRvIHRoZQorCSAqIGJlZ2luZ2luZyBvZiB0aGUgaG9sZSBhbmQgYWRkIHRoZSByZWdpb24gYWZ0ZXIgaG9sZS4KKwkgKi8KKwlyZ24tPnJlZ2lvbltpXS5zaXplID0gYmFzZSAtIHJnbi0+cmVnaW9uW2ldLmJhc2U7CisJcmV0dXJuIGxtYl9hZGRfcmVnaW9uKHJnbiwgZW5kLCByZ25lbmQgLSBlbmQpOworfQorCiBsb25nIGxtYl9yZXNlcnZlKHN0cnVjdCBsbWIgKmxtYiwgcGh5c19hZGRyX3QgYmFzZSwgcGh5c19zaXplX3Qgc2l6ZSkKIHsKIAlzdHJ1Y3QgbG1iX3JlZ2lvbiAqX3JnbiA9ICYobG1iLT5yZXNlcnZlZCk7CkBAIC0yMzYsMTEgKzI4NSwxNCBAQAogewogCWxvbmcgaSwgajsKIAlwaHlzX2FkZHJfdCBiYXNlID0gMDsKKwlwaHlzX2FkZHJfdCByZXNfYmFzZTsKIAogCWZvciAoaSA9IGxtYi0+bWVtb3J5LmNudC0xOyBpID49IDA7IGktLSkgewogCQlwaHlzX2FkZHJfdCBsbWJiYXNlID0gbG1iLT5tZW1vcnkucmVnaW9uW2ldLmJhc2U7CiAJCXBoeXNfc2l6ZV90IGxtYnNpemUgPSBsbWItPm1lbW9yeS5yZWdpb25baV0uc2l6ZTsKIAorCQlpZiAobG1ic2l6ZSA8IHNpemUpCisJCQljb250aW51ZTsKIAkJaWYgKG1heF9hZGRyID09IExNQl9BTExPQ19BTllXSEVSRSkKIAkJCWJhc2UgPSBsbWJfYWxpZ25fZG93bihsbWJiYXNlICsgbG1ic2l6ZSAtIHNpemUsIGFsaWduKTsKIAkJZWxzZSBpZiAobG1iYmFzZSA8IG1heF9hZGRyKSB7CkBAIC0yNDksMjIgKzMwMSwyMyBAQAogCQl9IGVsc2UKIAkJCWNvbnRpbnVlOwogCi0JCXdoaWxlICgobG1iYmFzZSA8PSBiYXNlKSAmJgotCQkgICAgICAgKChqID0gbG1iX292ZXJsYXBzX3JlZ2lvbigmKGxtYi0+cmVzZXJ2ZWQpLCBiYXNlLCBzaXplKSkgPj0gMCkgKQotCQkJYmFzZSA9IGxtYl9hbGlnbl9kb3duKGxtYi0+cmVzZXJ2ZWQucmVnaW9uW2pdLmJhc2UgLSBzaXplLAotCQkJCQkgICAgICBhbGlnbik7Ci0KLQkJaWYgKChiYXNlICE9IDApICYmIChsbWJiYXNlIDw9IGJhc2UpKQotCQkJYnJlYWs7CisJCXdoaWxlIChiYXNlICYmIGxtYmJhc2UgPD0gYmFzZSkgeworCQkJaiA9IGxtYl9vdmVybGFwc19yZWdpb24oJmxtYi0+cmVzZXJ2ZWQsIGJhc2UsIHNpemUpOworCQkJaWYgKGogPCAwKSB7CisJCQkJLyogVGhpcyBhcmVhIGlzbid0IHJlc2VydmVkLCB0YWtlIGl0ICovCisJCQkJaWYgKGxtYl9hZGRfcmVnaW9uKCZsbWItPnJlc2VydmVkLCBiYXNlLAorCQkJCQkJCWxtYl9hbGlnbl91cChzaXplLAorCQkJCQkJCQlhbGlnbikpIDwgMCkKKwkJCQkJcmV0dXJuIDA7CisJCQkJcmV0dXJuIGJhc2U7CisJCQl9CisJCQlyZXNfYmFzZSA9IGxtYi0+cmVzZXJ2ZWQucmVnaW9uW2pdLmJhc2U7CisJCQlpZiAocmVzX2Jhc2UgPCBzaXplKQorCQkJCWJyZWFrOworCQkJYmFzZSA9IGxtYl9hbGlnbl9kb3duKHJlc19iYXNlIC0gc2l6ZSwgYWxpZ24pOworCQl9CiAJfQotCi0JaWYgKGkgPCAwKQotCQlyZXR1cm4gMDsKLQotCWlmIChsbWJfYWRkX3JlZ2lvbigmKGxtYi0+cmVzZXJ2ZWQpLCBiYXNlLCBsbWJfYWxpZ25fdXAoc2l6ZSwgYWxpZ24pKSA8IDApCi0JCXJldHVybiAwOwotCi0JcmV0dXJuIGJhc2U7CisJcmV0dXJuIDA7CiB9CiAKIGludCBsbWJfaXNfcmVzZXJ2ZWQoc3RydWN0IGxtYiAqbG1iLCBwaHlzX2FkZHJfdCBhZGRyKQpkaWZmIC0tZ2l0IGEvbGliX2dlbmVyaWMvc2hhMjU2LmMgYi9saWJfZ2VuZXJpYy9zaGEyNTYuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZWI2M2E0Ci0tLSAvZGV2L251bGwKKysrIGIvbGliX2dlbmVyaWMvc2hhMjU2LmMKQEAgLTAsMCArMSwyNjIgQEAKKy8qCisgKiBGSVBTLTE4MC0yIGNvbXBsaWFudCBTSEEtMjU2IGltcGxlbWVudGF0aW9uCisgKgorICogQ29weXJpZ2h0IChDKSAyMDAxLTIwMDMgIENocmlzdG9waGUgRGV2aW5lCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQorICovCisKKyNpZm5kZWYgVVNFX0hPU1RDQworI2luY2x1ZGUgPGNvbW1vbi5oPgorI2VuZGlmIC8qIFVTRV9IT1NUQ0MgKi8KKyNpbmNsdWRlIDx3YXRjaGRvZy5oPgorI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgorI2luY2x1ZGUgPHNoYTI1Ni5oPgorCisvKgorICogMzItYml0IGludGVnZXIgbWFuaXB1bGF0aW9uIG1hY3JvcyAoYmlnIGVuZGlhbikKKyAqLworI2lmbmRlZiBHRVRfVUlOVDMyX0JFCisjZGVmaW5lIEdFVF9VSU5UMzJfQkUobixiLGkpIHsJCQkJXAorCShuKSA9ICggKHVuc2lnbmVkIGxvbmcpIChiKVsoaSkgICAgXSA8PCAyNCApCVwKKwkgICAgfCAoICh1bnNpZ25lZCBsb25nKSAoYilbKGkpICsgMV0gPDwgMTYgKQlcCisJICAgIHwgKCAodW5zaWduZWQgbG9uZykgKGIpWyhpKSArIDJdIDw8ICA4ICkJXAorCSAgICB8ICggKHVuc2lnbmVkIGxvbmcpIChiKVsoaSkgKyAzXSAgICAgICApOwlcCit9CisjZW5kaWYKKyNpZm5kZWYgUFVUX1VJTlQzMl9CRQorI2RlZmluZSBQVVRfVUlOVDMyX0JFKG4sYixpKSB7CQkJCVwKKwkoYilbKGkpICAgIF0gPSAodW5zaWduZWQgY2hhcikgKCAobikgPj4gMjQgKTsJXAorCShiKVsoaSkgKyAxXSA9ICh1bnNpZ25lZCBjaGFyKSAoIChuKSA+PiAxNiApOwlcCisJKGIpWyhpKSArIDJdID0gKHVuc2lnbmVkIGNoYXIpICggKG4pID4+ICA4ICk7CVwKKwkoYilbKGkpICsgM10gPSAodW5zaWduZWQgY2hhcikgKCAobikgICAgICAgKTsJXAorfQorI2VuZGlmCisKK3ZvaWQgc2hhMjU2X3N0YXJ0cyhzaGEyNTZfY29udGV4dCAqIGN0eCkKK3sKKwljdHgtPnRvdGFsWzBdID0gMDsKKwljdHgtPnRvdGFsWzFdID0gMDsKKworCWN0eC0+c3RhdGVbMF0gPSAweDZBMDlFNjY3OworCWN0eC0+c3RhdGVbMV0gPSAweEJCNjdBRTg1OworCWN0eC0+c3RhdGVbMl0gPSAweDNDNkVGMzcyOworCWN0eC0+c3RhdGVbM10gPSAweEE1NEZGNTNBOworCWN0eC0+c3RhdGVbNF0gPSAweDUxMEU1MjdGOworCWN0eC0+c3RhdGVbNV0gPSAweDlCMDU2ODhDOworCWN0eC0+c3RhdGVbNl0gPSAweDFGODNEOUFCOworCWN0eC0+c3RhdGVbN10gPSAweDVCRTBDRDE5OworfQorCit2b2lkIHNoYTI1Nl9wcm9jZXNzKHNoYTI1Nl9jb250ZXh0ICogY3R4LCB1aW50OF90IGRhdGFbNjRdKQoreworCXVpbnQzMl90IHRlbXAxLCB0ZW1wMjsKKwl1aW50MzJfdCBXWzY0XTsKKwl1aW50MzJfdCBBLCBCLCBDLCBELCBFLCBGLCBHLCBIOworCisJR0VUX1VJTlQzMl9CRShXWzBdLCBkYXRhLCAwKTsKKwlHRVRfVUlOVDMyX0JFKFdbMV0sIGRhdGEsIDQpOworCUdFVF9VSU5UMzJfQkUoV1syXSwgZGF0YSwgOCk7CisJR0VUX1VJTlQzMl9CRShXWzNdLCBkYXRhLCAxMik7CisJR0VUX1VJTlQzMl9CRShXWzRdLCBkYXRhLCAxNik7CisJR0VUX1VJTlQzMl9CRShXWzVdLCBkYXRhLCAyMCk7CisJR0VUX1VJTlQzMl9CRShXWzZdLCBkYXRhLCAyNCk7CisJR0VUX1VJTlQzMl9CRShXWzddLCBkYXRhLCAyOCk7CisJR0VUX1VJTlQzMl9CRShXWzhdLCBkYXRhLCAzMik7CisJR0VUX1VJTlQzMl9CRShXWzldLCBkYXRhLCAzNik7CisJR0VUX1VJTlQzMl9CRShXWzEwXSwgZGF0YSwgNDApOworCUdFVF9VSU5UMzJfQkUoV1sxMV0sIGRhdGEsIDQ0KTsKKwlHRVRfVUlOVDMyX0JFKFdbMTJdLCBkYXRhLCA0OCk7CisJR0VUX1VJTlQzMl9CRShXWzEzXSwgZGF0YSwgNTIpOworCUdFVF9VSU5UMzJfQkUoV1sxNF0sIGRhdGEsIDU2KTsKKwlHRVRfVUlOVDMyX0JFKFdbMTVdLCBkYXRhLCA2MCk7CisKKyNkZWZpbmUgU0hSKHgsbikgKCh4ICYgMHhGRkZGRkZGRikgPj4gbikKKyNkZWZpbmUgUk9UUih4LG4pIChTSFIoeCxuKSB8ICh4IDw8ICgzMiAtIG4pKSkKKworI2RlZmluZSBTMCh4KSAoUk9UUih4LCA3KSBeIFJPVFIoeCwxOCkgXiBTSFIoeCwgMykpCisjZGVmaW5lIFMxKHgpIChST1RSKHgsMTcpIF4gUk9UUih4LDE5KSBeIFNIUih4LDEwKSkKKworI2RlZmluZSBTMih4KSAoUk9UUih4LCAyKSBeIFJPVFIoeCwxMykgXiBST1RSKHgsMjIpKQorI2RlZmluZSBTMyh4KSAoUk9UUih4LCA2KSBeIFJPVFIoeCwxMSkgXiBST1RSKHgsMjUpKQorCisjZGVmaW5lIEYwKHgseSx6KSAoKHggJiB5KSB8ICh6ICYgKHggfCB5KSkpCisjZGVmaW5lIEYxKHgseSx6KSAoeiBeICh4ICYgKHkgXiB6KSkpCisKKyNkZWZpbmUgUih0KQkJCQkJXAorKAkJCQkJCVwKKwlXW3RdID0gUzEoV1t0IC0gMl0pICsgV1t0IC0gN10gKwlcCisJCVMwKFdbdCAtIDE1XSkgKyBXW3QgLSAxNl0JXAorKQorCisjZGVmaW5lIFAoYSxiLGMsZCxlLGYsZyxoLHgsSykgewkJXAorCXRlbXAxID0gaCArIFMzKGUpICsgRjEoZSxmLGcpICsgSyArIHg7CVwKKwl0ZW1wMiA9IFMyKGEpICsgRjAoYSxiLGMpOwkJXAorCWQgKz0gdGVtcDE7IGggPSB0ZW1wMSArIHRlbXAyOwkJXAorfQorCisJQSA9IGN0eC0+c3RhdGVbMF07CisJQiA9IGN0eC0+c3RhdGVbMV07CisJQyA9IGN0eC0+c3RhdGVbMl07CisJRCA9IGN0eC0+c3RhdGVbM107CisJRSA9IGN0eC0+c3RhdGVbNF07CisJRiA9IGN0eC0+c3RhdGVbNV07CisJRyA9IGN0eC0+c3RhdGVbNl07CisJSCA9IGN0eC0+c3RhdGVbN107CisKKwlQKEEsIEIsIEMsIEQsIEUsIEYsIEcsIEgsIFdbMF0sIDB4NDI4QTJGOTgpOworCVAoSCwgQSwgQiwgQywgRCwgRSwgRiwgRywgV1sxXSwgMHg3MTM3NDQ5MSk7CisJUChHLCBILCBBLCBCLCBDLCBELCBFLCBGLCBXWzJdLCAweEI1QzBGQkNGKTsKKwlQKEYsIEcsIEgsIEEsIEIsIEMsIEQsIEUsIFdbM10sIDB4RTlCNURCQTUpOworCVAoRSwgRiwgRywgSCwgQSwgQiwgQywgRCwgV1s0XSwgMHgzOTU2QzI1Qik7CisJUChELCBFLCBGLCBHLCBILCBBLCBCLCBDLCBXWzVdLCAweDU5RjExMUYxKTsKKwlQKEMsIEQsIEUsIEYsIEcsIEgsIEEsIEIsIFdbNl0sIDB4OTIzRjgyQTQpOworCVAoQiwgQywgRCwgRSwgRiwgRywgSCwgQSwgV1s3XSwgMHhBQjFDNUVENSk7CisJUChBLCBCLCBDLCBELCBFLCBGLCBHLCBILCBXWzhdLCAweEQ4MDdBQTk4KTsKKwlQKEgsIEEsIEIsIEMsIEQsIEUsIEYsIEcsIFdbOV0sIDB4MTI4MzVCMDEpOworCVAoRywgSCwgQSwgQiwgQywgRCwgRSwgRiwgV1sxMF0sIDB4MjQzMTg1QkUpOworCVAoRiwgRywgSCwgQSwgQiwgQywgRCwgRSwgV1sxMV0sIDB4NTUwQzdEQzMpOworCVAoRSwgRiwgRywgSCwgQSwgQiwgQywgRCwgV1sxMl0sIDB4NzJCRTVENzQpOworCVAoRCwgRSwgRiwgRywgSCwgQSwgQiwgQywgV1sxM10sIDB4ODBERUIxRkUpOworCVAoQywgRCwgRSwgRiwgRywgSCwgQSwgQiwgV1sxNF0sIDB4OUJEQzA2QTcpOworCVAoQiwgQywgRCwgRSwgRiwgRywgSCwgQSwgV1sxNV0sIDB4QzE5QkYxNzQpOworCVAoQSwgQiwgQywgRCwgRSwgRiwgRywgSCwgUigxNiksIDB4RTQ5QjY5QzEpOworCVAoSCwgQSwgQiwgQywgRCwgRSwgRiwgRywgUigxNyksIDB4RUZCRTQ3ODYpOworCVAoRywgSCwgQSwgQiwgQywgRCwgRSwgRiwgUigxOCksIDB4MEZDMTlEQzYpOworCVAoRiwgRywgSCwgQSwgQiwgQywgRCwgRSwgUigxOSksIDB4MjQwQ0ExQ0MpOworCVAoRSwgRiwgRywgSCwgQSwgQiwgQywgRCwgUigyMCksIDB4MkRFOTJDNkYpOworCVAoRCwgRSwgRiwgRywgSCwgQSwgQiwgQywgUigyMSksIDB4NEE3NDg0QUEpOworCVAoQywgRCwgRSwgRiwgRywgSCwgQSwgQiwgUigyMiksIDB4NUNCMEE5REMpOworCVAoQiwgQywgRCwgRSwgRiwgRywgSCwgQSwgUigyMyksIDB4NzZGOTg4REEpOworCVAoQSwgQiwgQywgRCwgRSwgRiwgRywgSCwgUigyNCksIDB4OTgzRTUxNTIpOworCVAoSCwgQSwgQiwgQywgRCwgRSwgRiwgRywgUigyNSksIDB4QTgzMUM2NkQpOworCVAoRywgSCwgQSwgQiwgQywgRCwgRSwgRiwgUigyNiksIDB4QjAwMzI3QzgpOworCVAoRiwgRywgSCwgQSwgQiwgQywgRCwgRSwgUigyNyksIDB4QkY1OTdGQzcpOworCVAoRSwgRiwgRywgSCwgQSwgQiwgQywgRCwgUigyOCksIDB4QzZFMDBCRjMpOworCVAoRCwgRSwgRiwgRywgSCwgQSwgQiwgQywgUigyOSksIDB4RDVBNzkxNDcpOworCVAoQywgRCwgRSwgRiwgRywgSCwgQSwgQiwgUigzMCksIDB4MDZDQTYzNTEpOworCVAoQiwgQywgRCwgRSwgRiwgRywgSCwgQSwgUigzMSksIDB4MTQyOTI5NjcpOworCVAoQSwgQiwgQywgRCwgRSwgRiwgRywgSCwgUigzMiksIDB4MjdCNzBBODUpOworCVAoSCwgQSwgQiwgQywgRCwgRSwgRiwgRywgUigzMyksIDB4MkUxQjIxMzgpOworCVAoRywgSCwgQSwgQiwgQywgRCwgRSwgRiwgUigzNCksIDB4NEQyQzZERkMpOworCVAoRiwgRywgSCwgQSwgQiwgQywgRCwgRSwgUigzNSksIDB4NTMzODBEMTMpOworCVAoRSwgRiwgRywgSCwgQSwgQiwgQywgRCwgUigzNiksIDB4NjUwQTczNTQpOworCVAoRCwgRSwgRiwgRywgSCwgQSwgQiwgQywgUigzNyksIDB4NzY2QTBBQkIpOworCVAoQywgRCwgRSwgRiwgRywgSCwgQSwgQiwgUigzOCksIDB4ODFDMkM5MkUpOworCVAoQiwgQywgRCwgRSwgRiwgRywgSCwgQSwgUigzOSksIDB4OTI3MjJDODUpOworCVAoQSwgQiwgQywgRCwgRSwgRiwgRywgSCwgUig0MCksIDB4QTJCRkU4QTEpOworCVAoSCwgQSwgQiwgQywgRCwgRSwgRiwgRywgUig0MSksIDB4QTgxQTY2NEIpOworCVAoRywgSCwgQSwgQiwgQywgRCwgRSwgRiwgUig0MiksIDB4QzI0QjhCNzApOworCVAoRiwgRywgSCwgQSwgQiwgQywgRCwgRSwgUig0MyksIDB4Qzc2QzUxQTMpOworCVAoRSwgRiwgRywgSCwgQSwgQiwgQywgRCwgUig0NCksIDB4RDE5MkU4MTkpOworCVAoRCwgRSwgRiwgRywgSCwgQSwgQiwgQywgUig0NSksIDB4RDY5OTA2MjQpOworCVAoQywgRCwgRSwgRiwgRywgSCwgQSwgQiwgUig0NiksIDB4RjQwRTM1ODUpOworCVAoQiwgQywgRCwgRSwgRiwgRywgSCwgQSwgUig0NyksIDB4MTA2QUEwNzApOworCVAoQSwgQiwgQywgRCwgRSwgRiwgRywgSCwgUig0OCksIDB4MTlBNEMxMTYpOworCVAoSCwgQSwgQiwgQywgRCwgRSwgRiwgRywgUig0OSksIDB4MUUzNzZDMDgpOworCVAoRywgSCwgQSwgQiwgQywgRCwgRSwgRiwgUig1MCksIDB4Mjc0ODc3NEMpOworCVAoRiwgRywgSCwgQSwgQiwgQywgRCwgRSwgUig1MSksIDB4MzRCMEJDQjUpOworCVAoRSwgRiwgRywgSCwgQSwgQiwgQywgRCwgUig1MiksIDB4MzkxQzBDQjMpOworCVAoRCwgRSwgRiwgRywgSCwgQSwgQiwgQywgUig1MyksIDB4NEVEOEFBNEEpOworCVAoQywgRCwgRSwgRiwgRywgSCwgQSwgQiwgUig1NCksIDB4NUI5Q0NBNEYpOworCVAoQiwgQywgRCwgRSwgRiwgRywgSCwgQSwgUig1NSksIDB4NjgyRTZGRjMpOworCVAoQSwgQiwgQywgRCwgRSwgRiwgRywgSCwgUig1NiksIDB4NzQ4RjgyRUUpOworCVAoSCwgQSwgQiwgQywgRCwgRSwgRiwgRywgUig1NyksIDB4NzhBNTYzNkYpOworCVAoRywgSCwgQSwgQiwgQywgRCwgRSwgRiwgUig1OCksIDB4ODRDODc4MTQpOworCVAoRiwgRywgSCwgQSwgQiwgQywgRCwgRSwgUig1OSksIDB4OENDNzAyMDgpOworCVAoRSwgRiwgRywgSCwgQSwgQiwgQywgRCwgUig2MCksIDB4OTBCRUZGRkEpOworCVAoRCwgRSwgRiwgRywgSCwgQSwgQiwgQywgUig2MSksIDB4QTQ1MDZDRUIpOworCVAoQywgRCwgRSwgRiwgRywgSCwgQSwgQiwgUig2MiksIDB4QkVGOUEzRjcpOworCVAoQiwgQywgRCwgRSwgRiwgRywgSCwgQSwgUig2MyksIDB4QzY3MTc4RjIpOworCisJY3R4LT5zdGF0ZVswXSArPSBBOworCWN0eC0+c3RhdGVbMV0gKz0gQjsKKwljdHgtPnN0YXRlWzJdICs9IEM7CisJY3R4LT5zdGF0ZVszXSArPSBEOworCWN0eC0+c3RhdGVbNF0gKz0gRTsKKwljdHgtPnN0YXRlWzVdICs9IEY7CisJY3R4LT5zdGF0ZVs2XSArPSBHOworCWN0eC0+c3RhdGVbN10gKz0gSDsKK30KKwordm9pZCBzaGEyNTZfdXBkYXRlKHNoYTI1Nl9jb250ZXh0ICogY3R4LCB1aW50OF90ICogaW5wdXQsIHVpbnQzMl90IGxlbmd0aCkKK3sKKwl1aW50MzJfdCBsZWZ0LCBmaWxsOworCisJaWYgKCFsZW5ndGgpCisJCXJldHVybjsKKworCWxlZnQgPSBjdHgtPnRvdGFsWzBdICYgMHgzRjsKKwlmaWxsID0gNjQgLSBsZWZ0OworCisJY3R4LT50b3RhbFswXSArPSBsZW5ndGg7CisJY3R4LT50b3RhbFswXSAmPSAweEZGRkZGRkZGOworCisJaWYgKGN0eC0+dG90YWxbMF0gPCBsZW5ndGgpCisJCWN0eC0+dG90YWxbMV0rKzsKKworCWlmIChsZWZ0ICYmIGxlbmd0aCA+PSBmaWxsKSB7CisJCW1lbWNweSgodm9pZCAqKSAoY3R4LT5idWZmZXIgKyBsZWZ0KSwgKHZvaWQgKikgaW5wdXQsIGZpbGwpOworCQlzaGEyNTZfcHJvY2VzcyhjdHgsIGN0eC0+YnVmZmVyKTsKKwkJbGVuZ3RoIC09IGZpbGw7CisJCWlucHV0ICs9IGZpbGw7CisJCWxlZnQgPSAwOworCX0KKworCXdoaWxlIChsZW5ndGggPj0gNjQpIHsKKwkJc2hhMjU2X3Byb2Nlc3MoY3R4LCBpbnB1dCk7CisJCWxlbmd0aCAtPSA2NDsKKwkJaW5wdXQgKz0gNjQ7CisJfQorCisJaWYgKGxlbmd0aCkKKwkJbWVtY3B5KCh2b2lkICopIChjdHgtPmJ1ZmZlciArIGxlZnQpLCAodm9pZCAqKSBpbnB1dCwgbGVuZ3RoKTsKK30KKworc3RhdGljIHVpbnQ4X3Qgc2hhMjU2X3BhZGRpbmdbNjRdID0geworCTB4ODAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsCisJICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwKKwkgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAorCSAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAKK307CisKK3ZvaWQgc2hhMjU2X2ZpbmlzaChzaGEyNTZfY29udGV4dCAqIGN0eCwgdWludDhfdCBkaWdlc3RbMzJdKQoreworCXVpbnQzMl90IGxhc3QsIHBhZG47CisJdWludDMyX3QgaGlnaCwgbG93OworCXVpbnQ4X3QgbXNnbGVuWzhdOworCisJaGlnaCA9ICgoY3R4LT50b3RhbFswXSA+PiAyOSkKKwkJfCAoY3R4LT50b3RhbFsxXSA8PCAzKSk7CisJbG93ID0gKGN0eC0+dG90YWxbMF0gPDwgMyk7CisKKwlQVVRfVUlOVDMyX0JFKGhpZ2gsIG1zZ2xlbiwgMCk7CisJUFVUX1VJTlQzMl9CRShsb3csIG1zZ2xlbiwgNCk7CisKKwlsYXN0ID0gY3R4LT50b3RhbFswXSAmIDB4M0Y7CisJcGFkbiA9IChsYXN0IDwgNTYpID8gKDU2IC0gbGFzdCkgOiAoMTIwIC0gbGFzdCk7CisKKwlzaGEyNTZfdXBkYXRlKGN0eCwgc2hhMjU2X3BhZGRpbmcsIHBhZG4pOworCXNoYTI1Nl91cGRhdGUoY3R4LCBtc2dsZW4sIDgpOworCisJUFVUX1VJTlQzMl9CRShjdHgtPnN0YXRlWzBdLCBkaWdlc3QsIDApOworCVBVVF9VSU5UMzJfQkUoY3R4LT5zdGF0ZVsxXSwgZGlnZXN0LCA0KTsKKwlQVVRfVUlOVDMyX0JFKGN0eC0+c3RhdGVbMl0sIGRpZ2VzdCwgOCk7CisJUFVUX1VJTlQzMl9CRShjdHgtPnN0YXRlWzNdLCBkaWdlc3QsIDEyKTsKKwlQVVRfVUlOVDMyX0JFKGN0eC0+c3RhdGVbNF0sIGRpZ2VzdCwgMTYpOworCVBVVF9VSU5UMzJfQkUoY3R4LT5zdGF0ZVs1XSwgZGlnZXN0LCAyMCk7CisJUFVUX1VJTlQzMl9CRShjdHgtPnN0YXRlWzZdLCBkaWdlc3QsIDI0KTsKKwlQVVRfVUlOVDMyX0JFKGN0eC0+c3RhdGVbN10sIGRpZ2VzdCwgMjgpOworfQpkaWZmIC0tZ2l0IGEvbGliX3BwYy9ib2FyZC5jIGIvbGliX3BwYy9ib2FyZC5jCmluZGV4IGM0MmUwODguLjlhZmE4OGEgMTAwNjQ0Ci0tLSBhL2xpYl9wcGMvYm9hcmQuYworKysgYi9saWJfcHBjL2JvYXJkLmMKQEAgLTkwLDkgKzkwLDcgQEAKICAgICBkZWZpbmVkKENPTkZJR19TT0ZUX0kyQykKICNpbmNsdWRlIDxpMmMuaD4KICNlbmRpZgotI2lmIGRlZmluZWQoQ09ORklHX0hBUkRfU1BJKQogI2luY2x1ZGUgPHNwaS5oPgotI2VuZGlmCiAjaW5jbHVkZSA8bmFuZC5oPgogCiBzdGF0aWMgY2hhciAqZmFpbGVkID0gIioqKiBmYWlsZWQgKioqXG4iOwpAQCAtNjI3LDcgKzYyNSw3IEBACiAgICAgZGVmaW5lZChDT05GSUdfNDQwRVBYKSB8fCBkZWZpbmVkKENPTkZJR180NDBHUlgpCiAJYmQtPmJpX3BjaV9idXNmcmVxID0gZ2V0X1BDSV9mcmVxICgpOwogCWJkLT5iaV9vcGJmcmVxID0gZ2V0X09QQl9mcmVxICgpOwotI2VsaWYgZGVmaW5lZChDT05GSUdfWElMSU5YX01MMzAwKQorI2VsaWYgZGVmaW5lZChDT05GSUdfWElMSU5YXzQwNSkKIAliZC0+YmlfcGNpX2J1c2ZyZXEgPSBnZXRfUENJX2ZyZXEgKCk7CiAjZW5kaWYKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliX3BwYy9ib290bS5jIGIvbGliX3BwYy9ib290bS5jCmluZGV4IDEwYTBiMTIuLjNjMWMxOGIgMTAwNjQ0Ci0tLSBhL2xpYl9wcGMvYm9vdG0uYworKysgYi9saWJfcHBjL2Jvb3RtLmMKQEAgLTUxLDYgKzUxLDEwIEBACiAjaW5jbHVkZSA8YXNtL2NhY2hlLmg+CiAjZW5kaWYKIAorI2lmbmRlZiBDRkdfRkRUX1BBRAorI2RlZmluZSBDRkdfRkRUX1BBRCAweDMwMDAKKyNlbmRpZgorCiBERUNMQVJFX0dMT0JBTF9EQVRBX1BUUjsKIAogZXh0ZXJuIGludCBkb19yZXNldCAoY21kX3RibF90ICpjbWR0cCwgaW50IGZsYWcsIGludCBhcmdjLCBjaGFyICphcmd2W10pOwpAQCAtMTkxLDYgKzE5NSw0NCBAQAogCQlmdF9ib2FyZF9zZXR1cChvZl9mbGF0X3RyZWUsIGdkLT5iZCk7CiAjZW5kaWYKIAl9CisKKwkvKiBGaXh1cCB0aGUgZmR0IG1lbXJlc2VydmUgbm93IHRoYXQgd2Uga25vdyBob3cgYmlnIGl0IGlzICovCisJaWYgKG9mX2ZsYXRfdHJlZSkgeworCQlpbnQgajsKKwkJdWludDY0X3QgYWRkciwgc2l6ZTsKKwkJaW50IHRvdGFsID0gZmR0X251bV9tZW1fcnN2KG9mX2ZsYXRfdHJlZSk7CisJCXVpbnQgYWN0dWFsc2l6ZTsKKworCQlmb3IgKGogPSAwOyBqIDwgdG90YWw7IGorKykgeworCQkJZmR0X2dldF9tZW1fcnN2KG9mX2ZsYXRfdHJlZSwgaiwgJmFkZHIsICZzaXplKTsKKwkJCWlmIChhZGRyID09ICh1aW50NjRfdClvZl9mbGF0X3RyZWUpIHsKKwkJCQlmZHRfZGVsX21lbV9yc3Yob2ZfZmxhdF90cmVlLCBqKTsKKwkJCQlicmVhazsKKwkJCX0KKwkJfQorCisJCS8qIERlbGV0ZSB0aGUgb2xkIExNQiByZXNlcnZhdGlvbiAqLworCQlsbWJfZnJlZShsbWIsICh1aW50NjRfdClvZl9mbGF0X3RyZWUsIGZkdF90b3RhbHNpemUob2ZfZmxhdF90cmVlKSk7CisKKwkJLyogQ2FsY3VsYXRlIHRoZSBhY3R1YWwgc2l6ZSBvZiB0aGUgZmR0ICovCisJCWFjdHVhbHNpemUgPSBmZHRfb2ZmX2R0X3N0cmluZ3Mob2ZfZmxhdF90cmVlKSArCisJCQlmZHRfc2l6ZV9kdF9zdHJpbmdzKG9mX2ZsYXRfdHJlZSk7CisKKwkJLyogTWFrZSBpdCBzbyB0aGUgZmR0IGVuZHMgb24gYSBwYWdlIGJvdW5kYXJ5ICovCisJCWFjdHVhbHNpemUgPSBBTElHTihhY3R1YWxzaXplLCAweDEwMDApOworCQlhY3R1YWxzaXplID0gYWN0dWFsc2l6ZSAtICgodWludClvZl9mbGF0X3RyZWUgJiAweGZmZik7CisKKwkJLyogQ2hhbmdlIHRoZSBmZHQgaGVhZGVyIHRvIHJlZmxlY3QgdGhlIGNvcnJlY3Qgc2l6ZSAqLworCQlmZHRfc2V0X3RvdGFsc2l6ZShvZl9mbGF0X3RyZWUsIGFjdHVhbHNpemUpOworCQlvZl9zaXplID0gYWN0dWFsc2l6ZTsKKworCQkvKiBBZGQgdGhlIG5ldyByZXNlcnZhdGlvbiAqLworCQlyZXQgPSBmZHRfYWRkX21lbV9yc3Yob2ZfZmxhdF90cmVlLCAodWludClvZl9mbGF0X3RyZWUsCisJCQkJb2Zfc2l6ZSk7CisKKwkJLyogQ3JlYXRlIGEgbmV3IExNQiByZXNlcnZhdGlvbiAqLworCQlsbWJfcmVzZXJ2ZShsbWIsICh1bG9uZylvZl9mbGF0X3RyZWUsIG9mX3NpemUpOworCX0KICNlbmRpZgkvKiBDT05GSUdfT0ZfTElCRkRUICovCiAKIAlyZXQgPSBib290X3JhbWRpc2tfaGlnaCAobG1iLCByZF9kYXRhX3N0YXJ0LCByZF9sZW4sICZpbml0cmRfc3RhcnQsICZpbml0cmRfZW5kKTsKQEAgLTcxMywyMiArNzU1LDI1IEBACiAjZW5kaWYKIAogCS8qCi0JICogVGhlIGJsb2IgbXVzdCBiZSB3aXRoaW4gQ0ZHX0JPT1RNQVBTWiwKLQkgKiBzbyB3ZSBmbGFnIGl0IHRvIGJlIGNvcGllZCBpZiBpdCBpcyBub3QuCisJICogVGhlIGJsb2IgbmVlZHMgdG8gYmUgaW5zaWRlIHRoZSBib290IG1hcHBpbmcuCiAJICovCi0JaWYgKGZkdF9ibG9iID49IChjaGFyICopQ0ZHX0JPT1RNQVBTWikKKwlpZiAoZmR0X2Jsb2IgPCAoY2hhciAqKWJvb3RtYXBfYmFzZSkKIAkJcmVsb2NhdGUgPSAxOwogCi0Jb2ZfbGVuID0gYmUzMl90b19jcHUgKGZkdF90b3RhbHNpemUgKGZkdF9ibG9iKSk7CisJaWYgKChmZHRfYmxvYiArICpvZl9zaXplICsgQ0ZHX0ZEVF9QQUQpID49CisJCQkoKGNoYXIgKilDRkdfQk9PVE1BUFNaICsgYm9vdG1hcF9iYXNlKSkKKwkJcmVsb2NhdGUgPSAxOwogCiAJLyogbW92ZSBmbGF0dGVuZCBkZXZpY2UgdHJlZSBpZiBuZWVkZWQgKi8KIAlpZiAocmVsb2NhdGUpIHsKIAkJaW50IGVycjsKLQkJdWxvbmcgb2Zfc3RhcnQ7CisJCXVsb25nIG9mX3N0YXJ0ID0gMDsKIAogCQkvKiBwb3NpdGlvbiBvbiBhIDRLIGJvdW5kYXJ5IGJlZm9yZSB0aGUgYWxsb2NfY3VycmVudCAqLworCQkvKiBQYWQgdGhlIEZEVCBieSBhIHNwZWNpZmllZCBhbW91bnQgKi8KKwkJb2ZfbGVuID0gKm9mX3NpemUgKyBDRkdfRkRUX1BBRDsKIAkJb2Zfc3RhcnQgPSAodW5zaWduZWQgbG9uZylsbWJfYWxsb2NfYmFzZShsbWIsIG9mX2xlbiwgMHgxMDAwLAotCQkJCQkgKENGR19CT09UTUFQU1ogKyBib290bWFwX2Jhc2UpKTsKKwkJCQkoQ0ZHX0JPT1RNQVBTWiArIGJvb3RtYXBfYmFzZSkpOwogCiAJCWlmIChvZl9zdGFydCA9PSAwKSB7CiAJCQlwdXRzKCJkZXZpY2UgdHJlZSAtIGFsbG9jYXRpb24gZXJyb3JcbiIpOwpAQCAtNzM2LDcgKzc4MSw3IEBACiAJCX0KIAogCQlkZWJ1ZyAoIiMjIGRldmljZSB0cmVlIGF0IDB4JTA4bFggLi4uIDB4JTA4bFggKGxlbj0lbGQ9MHglbFgpXG4iLAotCQkJKHVsb25nKWZkdF9ibG9iLCAodWxvbmcpZmR0X2Jsb2IgKyBvZl9sZW4gLSAxLAorCQkJKHVsb25nKWZkdF9ibG9iLCAodWxvbmcpZmR0X2Jsb2IgKyAqb2Zfc2l6ZSAtIDEsCiAJCQlvZl9sZW4sIG9mX2xlbik7CiAKIAkJcHJpbnRmICgiICAgTG9hZGluZyBEZXZpY2UgVHJlZSB0byAlMDhseCwgZW5kICUwOGx4IC4uLiAiLApAQCAtNzUwLDkgKzc5NSwxNCBAQAogCQlwdXRzICgiT0tcbiIpOwogCiAJCSpvZl9mbGF0X3RyZWUgPSAoY2hhciAqKW9mX3N0YXJ0OworCQkqb2Zfc2l6ZSA9IG9mX2xlbjsKIAl9IGVsc2UgewogCQkqb2ZfZmxhdF90cmVlID0gZmR0X2Jsb2I7Ci0JCWxtYl9yZXNlcnZlKGxtYiwgKHVsb25nKXdvcmtpbmdfZmR0LCBvZl9sZW4pOworCQlvZl9sZW4gPSAoQ0ZHX0JPT1RNQVBTWiArIGJvb3RtYXBfYmFzZSkgLSAodWxvbmcpZmR0X2Jsb2I7CisJCWxtYl9yZXNlcnZlKGxtYiwgKHVsb25nKWZkdF9ibG9iLCBvZl9sZW4pOworCQlmZHRfc2V0X3RvdGFsc2l6ZSgqb2ZfZmxhdF90cmVlLCBvZl9sZW4pOworCisJCSpvZl9zaXplID0gb2ZfbGVuOwogCX0KIAogCXJldHVybiAwOwpkaWZmIC0tZ2l0IGEvcG9zdC9wb3N0LmMgYi9wb3N0L3Bvc3QuYwppbmRleCBkMzE4MjliLi45OWRjOGM5IDEwMDY0NAotLS0gYS9wb3N0L3Bvc3QuYworKysgYi9wb3N0L3Bvc3QuYwpAQCAtMzE5LDYgKzMxOSw3IEBACiAJCX0KIAogCQlpZiAoaSA8IHBvc3RfbGlzdF9zaXplKSB7CisJCQlXQVRDSERPR19SRVNFVCgpOwogCQkJcmV0dXJuIHBvc3RfcnVuX3NpbmdsZSAocG9zdF9saXN0ICsgaSwKIAkJCQkJCXRlc3RfZmxhZ3NbaV0sCiAJCQkJCQlmbGFncywgaSk7CmRpZmYgLS1naXQgYS9wb3N0L3Rlc3RzLmMgYi9wb3N0L3Rlc3RzLmMKaW5kZXggYTc5MGM3OC4uZTg4ZDkyZSAxMDA2NDQKLS0tIGEvcG9zdC90ZXN0cy5jCisrKyBiL3Bvc3QvdGVzdHMuYwpAQCAtMjQwLDcgKzI0MCw3IEBACiAJIkRTUCB0ZXN0IiwKIAkiZHNwIiwKIAkiVGhpcyB0ZXN0IGNoZWNrcyBhbnkgY29ubmVjdGVkIERTUChzKS4iLAotCVBPU1RfUkFNIHwgUE9TVF9NQU5VQUwsCisJUE9TVF9SQU0gfCBQT1NUX0FMV0FZUyB8IFBPU1RfTUFOVUFMLAogCSZkc3BfcG9zdF90ZXN0LAogCU5VTEwsCiAJTlVMTCwKZGlmZiAtLWdpdCBhL3Rvb2xzL2xvZ29zL2xpbnV4X2xvZ29fdHRjb250cm9sLmJtcCBiL3Rvb2xzL2xvZ29zL2xpbnV4X2xvZ29fdHRjb250cm9sLmJtcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMzFkM2E0Ci0tLSAvZGV2L251bGwKKysrIGIvdG9vbHMvbG9nb3MvbGludXhfbG9nb190dGNvbnRyb2wuYm1wCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rvb2xzL2xvZ29zL2xpbnV4X2xvZ29fdHRjb250cm9sX3BhbGZpbi5ibXAgYi90b29scy9sb2dvcy9saW51eF9sb2dvX3R0Y29udHJvbF9wYWxmaW4uYm1wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUzZTM4ZDEKLS0tIC9kZXYvbnVsbAorKysgYi90b29scy9sb2dvcy9saW51eF9sb2dvX3R0Y29udHJvbF9wYWxmaW4uYm1wCkJpbmFyeSBmaWxlcyBkaWZmZXIK