IyAkSWQkCgojIGxhbmd1YWdlIGVzCgojIHBhY2thZ2Ugb3JnLmFwYWNoZS5qay5hanAudG9tY2F0NDsKCmFqcDEzQ29ubmVjdG9yLmFscmVhZHlTdGFydGVkPVlhIGhhIHNpZG8gYXJyYW5jYWRvIGVsIGNvbmVjdG9yIEFqcDEzCmFqcDEzQ29ubmVjdG9yLmFsbEFkZHJlc3Nlcz1BYnJpZW5kbyBlbmNodWZlIChzb2NrZXQpIGRlIHNlcnZpZG9yIGVuIHRvZGFzIGxhIGRpcmVjY2lvbmVzIElQIGRlIG3hcXVpbmFzCmFqcDEzQ29ubmVjdG9yLmZhaWxlZFNvY2tldEZhY3RvcnlMb2FkaW5nPU5vIHB1ZGUgY2FyZ2FyIGbhYnJpY2EgZGUgZWNodWZlcyAoc29ja2V0cykKYWpwMTNDb25uZWN0b3IuZmFpbGVkVG9DcmVhdGVTb2NrZXQ9TGEgZuFicmljYSBkZSBlbmNodWZlcyAoc29ja2V0cykgbm8gcHVkbyBjcmVhciBlbmNodWZlIChzb2NrZXQpCmFqcDEzQ29ubmVjdG9yLmFuQWRkcmVzcz1BYnJpZW5kbyBlbmNodWZlIChzb2NrZXQpIGRlIHNlcnZpZG9yIGVuIGRpcmVjY2nzbiBJUCBkZSBt4XF1aW5hIHswfQphanAxM0Nvbm5lY3Rvci5ub0FkZHJlc3M9Tm8gaGF5IGRpcmVjY2nzbiBJUCBkZSBt4XF1aW5hIHF1ZSBjb2luY2lkYSBjb24gezB9LCBhYnJpZW5kbyBlbiB0b2RhcyBsYXMgZGlyZWNjaW9uZXMKYWpwMTNDb25uZWN0b3Iubm9Qcm9jZXNzb3I9RWwgcHJvY2VzYWRvciBubyBlc3ThIGRpc3BvbmlibGUsIHJlY2hhemFuZG8gZXN0YSBjb25leGnzbgphanAxM0Nvbm5lY3Rvci5ub3RTdGFydGVkPUH6biBubyBoYSBzaWRvIGFycmFuY2FkbyBlbCBjb25lY3RvciBBanAxMwphanAxM0Nvbm5lY3Rvci5zdGFydGluZz1BcnJhbmNhZG8gaGlsbyBlbiBzZWd1bmRvIHBsYW5vCmFqcDEzQ29ubmVjdG9yLnN0b3BwaW5nPVBhcmFuZG8gaGlsbyBlbiBzZWd1bmRvIHBsYW5vCgphanAxM1Byb2Nlc3Nvci5hbHJlYWR5U3RhcnRlZD1ZYSBoYSBzaWRvIGFycmFuY2FkbyBlbCBwcm9jZXNhZG9yIEFqcDEzCmFqcDEzUHJvY2Vzc29yLm5vdFN0YXJ0ZWQ9QfpuIG5vIGhhIHNpZG8gYXJyYW5jYWRvIGVsIHByb2Nlc2Fkb3IgQWpwMTMKYWpwMTNQcm9jZXNzb3Iuc3RhcnQ9WWEgaGEgc2lkbyBhcnJhbmNhZG8gZWwgcHJvY2VzYWRvciBBanAxMwphanAxM1Byb2Nlc3Nvci5zdGFydGluZz1BcnJhbmNhbmRvIGhpbG8gZW4gc2VndW5kbyBwbGFubwphanAxM1Byb2Nlc3Nvci5zdG9wcGluZz1QYXJhbmRvIGhpbG8gZW4gc2VndW5kbyBwbGFubwo=