From 417afbf3dacad3d1beff33252a77de9ef1bae86d Mon Sep 17 00:00:00 2001 From: Michael Kapelko Date: Tue, 29 Oct 2019 16:19:46 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=BE=D1=87=D1=82=D0=B8=20=D0=BD=D0=B0?= =?UTF-8?q?=20=D1=83=D0=B4=D0=B0=D0=BB=D0=B5=D0=BD=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- дети_1.0.0.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/дети_1.0.0.html b/дети_1.0.0.html index 87cf3bf..514a876 100644 --- a/дети_1.0.0.html +++ b/дети_1.0.0.html @@ -40,7 +40,7 @@ var murom = муром; [ "функции", -"LyoKICoKICog0KHQvtC30LTQsNGC0Ywg0Y3QutGA0LDQvQogKiBDcmVhdGUgYSBzY3JlZW4KICoKICovCmZ1bmN0aW9uINGB0L7Qt9C00LDRgtGM0K3QutGA0LDQvSjQuNC80Y8pCnsKICAgIHZhciDRjdC60YDQsNC9ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgICDRjdC60YDQsNC9LmlkID0g0LjQvNGPOwogICAg0Y3QutGA0LDQvS5zdHlsZS5jc3NUZXh0ID0KYApwb3NpdGlvbjogZml4ZWQ7CmxlZnQ6IDA7CnRvcDogMDsKcmlnaHQ6IDA7CmJvdHRvbTogMDsKcG9pbnRlci1ldmVudHM6IGFsbDsKYDsKICAgIHJldHVybiDRjdC60YDQsNC9Owp9CnZhciBjcmVhdGVTY3JlZW4gPSDRgdC+0LfQtNCw0YLRjNCt0LrRgNCw0L07CgovKgogKgogKiDQodC+0LfQtNCw0YLRjCDQuCDQtNC+0LHQsNCy0LjRgtGMINGN0LrRgNCw0L0g0LogYGJvZHlgCiAqIENyZWF0ZSBhbmQgYWRkIGEgc2NyZWVuIHRvIGBib2R5YAogKgogKi8KZnVuY3Rpb24g0LTQvtCx0LDQstC40YLRjNCt0LrRgNCw0L0o0LjQvNGPLCBodG1sLCBjc3MpCnsKICAgIHZhciDRjdC60YDQsNC9ID0g0YHQvtC30LTQsNGC0YzQrdC60YDQsNC9KNC40LzRjyk7CiAgICDRjdC60YDQsNC9LmlubmVySFRNTCA9IGh0bWw7CiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKNGN0LrRgNCw0L0pOwogICAgdmFyINCy0LjQtCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInN0eWxlIik7CiAgICDQstC40LQuaW5uZXJIVE1MID0gY3NzOwogICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZCjQstC40LQpOwogICAgCiAgICByZXR1cm4g0Y3QutGA0LDQvTsKfQp2YXIgYWRkU2NyZWVuID0g0LTQvtCx0LDQstC40YLRjNCt0LrRgNCw0L07CgovKgogKgogKiDQodCy0Y/Qt9Cw0YLRjCDRg9Cy0LXQtNC+0LzQu9C10L3QuNC1INC4INGA0LXQsNCz0LjRgNGD0Y7RidGD0Y4g0YTRg9C90LrRhtC40Y4g0LIg0YfQuNGC0LDQtdC80L7QvCDQstC40LTQtQogKiBCaW5kIG5vdGlmaWNhdGlvbiBhbmQgcmVhY3RpbmcgZnVuY3Rpb24gaW4gYSByZWFkYWJsZSB3YXkKICoKICovCmZ1bmN0aW9uINC60L7Qs9C00LAo0YPQstC10LTQvtC80LvQtdC90LjQtSwg0YTRg9C90LrRhtC40Y8pCnsKICAgINGD0LLQtdC00L7QvNC70LXQvdC40LUu0L/QvtC00L/QuNGB0LDRgtGMKNGE0YPQvdC60YbQuNGPKTsKfQp2YXIgd2hlbiA9INC60L7Qs9C00LA7CgovKgogKgogKiDQo9Cy0LXQtNC+0LzQuNGC0Ywg0L7QsSDQvtCx0YvRh9C90L7QvCDQv9GD0YHQutC1CiAqIE5vdGlmZSBhYm91dCBhIHNpbXBsZSBydW4KICoKICovCtC80YPRgNC+0Lwu0L7QsdGL0YfQvdGL0LnQn9GD0YHQuiA9IG5ldyDQo9Cy0LXQtNC+0LzQuNGC0LXQu9GMKCk7Ck9iamVjdC5kZWZpbmVQcm9wZXJ0eShtdXJvbSwgImlzUnVuU2ltcGx5IiwgewogICAgZ2V0OiBmdW5jdGlvbigpCiAgICB7CiAgICAgICAgcmV0dXJuINC80YPRgNC+0Lwu0L7QsdGL0YfQvdGL0LnQn9GD0YHQujsKICAgIH0KfSk7CtC80YPRgNC+0Lwu0L/Rg9GB0Lou0L/QvtC00L/QuNGB0LDRgtGMKGZ1bmN0aW9uKCl7CiAgICBpZiAod2luZG93LmxvY2F0aW9uLnNlYXJjaCAhPSAiPzAiKQogICAgewogICAgICAgINC80YPRgNC+0Lwu0L7QsdGL0YfQvdGL0LnQn9GD0YHQui7Rg9Cy0LXQtNC+0LzQuNGC0YwoKTsKICAgIH0KfSk7CgoKCgovKgogKgogKiDQl9Cw0LPRgNGD0LfQuNGC0Ywg0YHRgtC+0YDQvtC90L3QuNC5INGB0LrRgNC40L/RgiDQsiDRgtGN0LMgc2NyaXB0CiAqCiAqLwpmdW5jdGlvbiDQt9Cw0LPRgNGD0LfQuNGC0YzQodC60YDQuNC/0YIo0LrQvtC0KQp7CiAgICB2YXIg0YHQutGA0LjQv9GCID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7CiAgICDRgdC60YDQuNC/0YIuaW5uZXJIVE1MID0g0LrQvtC0OwogICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCjRgdC60YDQuNC/0YIpOwp9CgovKgogKgogKiDQlNC+0LbQtNCw0YLRjNGB0Y8g0YPQstC10LTQvtC80LvQtdC90LjRjyDQvtGCINC90LXRgdC60L7Qu9GM0LrQuNGFINGD0LLQtdC00L7QvNC40YLQtdC70LXQuQogKgogKi8KZnVuY3Rpb24g0LTQvtC20LTQsNGC0YzRgdGPKNGD0LLQtdC00L7QvNC40YLQtdC70LgsINGE0YPQvdC60YbQuNGPKQp7CiAgICB2YXIg0YHRh9GR0YLRh9C40LogPSAwOwogICAgZnVuY3Rpb24g0LLRi9C/0L7Qu9C90LjRgtGMKCkKICAgIHsKICAgICAgICBpZiAoKyvRgdGH0ZHRgtGH0LjQuiA9PSDRg9Cy0LXQtNC+0LzQuNGC0LXQu9C4Lmxlbmd0aCkKICAgICAgICB7CiAgICAgICAgICAgINGE0YPQvdC60YbQuNGPKCk7CiAgICAgICAgfQogICAgfQogICAgZm9yICh2YXIg0L3QvtC80LXRgCBpbiDRg9Cy0LXQtNC+0LzQuNGC0LXQu9C4KQogICAgewogICAgICAgIHZhciDRg9Cy0LXQtNC+0LzQuNGC0LXQu9GMID0g0YPQstC10LTQvtC80LjRgtC10LvQuFvQvdC+0LzQtdGAXTsKICAgICAgICDRg9Cy0LXQtNC+0LzQuNGC0LXQu9GMLtC/0L7QtNC/0LjRgdCw0YLRjCjQstGL0L/QvtC70L3QuNGC0YwpOwogICAgfQp9CgovKgogKgogKiDQmNC80Y8g0LjRgdC/0L7Qu9C90Y/QtdC80L7Qs9C+INC/0YDRj9C80L4g0YHQtdC50YfQsNGBINGE0LDQudC70LAgSFRNTAogKgogKi8KZnVuY3Rpb24g0LjQvNGP0KTQsNC50LvQsCgpCnsKICAgIHZhciDQv9GD0YLRjCA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTsKICAgIHZhciDQuNC80Y8gPSDQv9GD0YLRjC5zcGxpdCgiLyIpLnBvcCgpOwogICAgcmV0dXJuIGRlY29kZVVSSSjQuNC80Y8pOwp9CgovKgogKgogKiDQoNCw0LfQvtCx0YDQsNGC0Ywg0LDRgNCz0YPQvNC10L3RgtGLINC/0YDQuCDQvtCx0YvRh9C90L7QvCDQv9GD0YHQutC1CiAqCiAqLwrQvNGD0YDQvtC8LtCw0YDQs9GD0LzQtdC90YLRiyA9IHt9OwrQvNGD0YDQvtC8LtCw0YDQs9GD0LzQtdC90YLRi9CY0LfQvNC10L3QuNC70LggPSBuZXcg0KPQstC10LTQvtC80LjRgtC10LvRjCgpOwpmdW5jdGlvbiDRgNCw0LfQvtCx0YDQsNGC0YzQkNGA0LPRg9C80LXQvdGC0YsoKQp7CiAgICB2YXIg0LfQsNC/0YDQvtGBID0gd2luZG93LmxvY2F0aW9uLnNlYXJjaC5zdWJzdHJpbmcoMSk7CiAgICB2YXIg0LDRgNCz0LggPSDQt9Cw0L/RgNC+0YEuc3BsaXQoIiYiKTsKICAgIGZvciAodmFyINC90L7QvNC10YAgaW4g0LDRgNCz0LgpCiAgICB7CiAgICAgICAgdmFyINCw0YDQsyA9INCw0YDQs9C4W9C90L7QvNC10YBdOwogICAgICAgIHZhciDQv9C+0LfQuNGG0LjRj9CX0L3QsNC60LAgPSDQsNGA0LMuaW5kZXhPZigiPSIpOwogICAgICAgIC8vINCb0LjRiNGMINC60LvRjtGHLgogICAgICAgIGlmICjQv9C+0LfQuNGG0LjRj9CX0L3QsNC60LAgPT0gLTEpCiAgICAgICAgewogICAgICAgICAgICB2YXIg0LrQu9GO0YcgPSBkZWNvZGVVUklDb21wb25lbnQo0LDRgNCzKTsKICAgICAgICAgICAg0LzRg9GA0L7QvC7QsNGA0LPRg9C80LXQvdGC0Ytb0LrQu9GO0YddID0gbnVsbDsKICAgICAgICB9CiAgICAgICAgLy8g0JrQu9GO0Ycg0YHQviDQt9C90LDRh9C10L3QuNC10LwuCiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgdmFyINGB0YvRgNC+0LnQmtC70Y7RhyA9INCw0YDQsy5zbGljZSgwLCDQv9C+0LfQuNGG0LjRj9CX0L3QsNC60LApOwogICAgICAgICAgICB2YXIg0YHRi9GA0L7QtdCX0L3QsNGH0LXQvdC40LUgPSDQsNGA0LMuc2xpY2Uo0L/QvtC30LjRhtC40Y/Ql9C90LDQutCwICsgMSk7CiAgICAgICAgICAgIHZhciDQutC70Y7RhyA9IGRlY29kZVVSSUNvbXBvbmVudCjRgdGL0YDQvtC50JrQu9GO0YcpOwogICAgICAgICAgICB2YXIg0LfQvdCw0YfQtdC90LjQtSA9IGRlY29kZVVSSUNvbXBvbmVudCjRgdGL0YDQvtC10JfQvdCw0YfQtdC90LjQtSk7CiAgICAgICAgICAgINC80YPRgNC+0Lwu0LDRgNCz0YPQvNC10L3RgtGLW9C60LvRjtGHXSA9INC30L3QsNGH0LXQvdC40LU7CiAgICAgICAgfQogICAgfQogICAg0LzRg9GA0L7QvC7QsNGA0LPRg9C80LXQvdGC0YvQmNC30LzQtdC90LjQu9C4LtGD0LLQtdC00L7QvNC40YLRjCgpOwp9CtC80YPRgNC+0Lwu0L7QsdGL0YfQvdGL0LnQn9GD0YHQui7Qv9C+0LTQv9C40YHQsNGC0Ywo0YDQsNC30L7QsdGA0LDRgtGM0JDRgNCz0YPQvNC10L3RgtGLKTsK", +"LyoKICoKICog0KHQvtC30LTQsNGC0Ywg0Y3QutGA0LDQvQogKiBDcmVhdGUgYSBzY3JlZW4KICoKICovCmZ1bmN0aW9uINGB0L7Qt9C00LDRgtGM0K3QutGA0LDQvSjQuNC80Y8pCnsKICAgIHZhciDRjdC60YDQsNC9ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgICDRjdC60YDQsNC9LmlkID0g0LjQvNGPOwogICAg0Y3QutGA0LDQvS5zdHlsZS5jc3NUZXh0ID0KYApwb3NpdGlvbjogZml4ZWQ7CmxlZnQ6IDA7CnRvcDogMDsKcmlnaHQ6IDA7CmJvdHRvbTogMDsKcG9pbnRlci1ldmVudHM6IGFsbDsKYDsKICAgIHJldHVybiDRjdC60YDQsNC9Owp9CnZhciBjcmVhdGVTY3JlZW4gPSDRgdC+0LfQtNCw0YLRjNCt0LrRgNCw0L07CgovKgogKgogKiDQodC+0LfQtNCw0YLRjCDQuCDQtNC+0LHQsNCy0LjRgtGMINGN0LrRgNCw0L0g0LogYGJvZHlgCiAqIENyZWF0ZSBhbmQgYWRkIGEgc2NyZWVuIHRvIGBib2R5YAogKgogKi8KZnVuY3Rpb24g0LTQvtCx0LDQstC40YLRjNCt0LrRgNCw0L0o0LjQvNGPLCBodG1sLCBjc3MpCnsKICAgIHZhciDRjdC60YDQsNC9ID0g0YHQvtC30LTQsNGC0YzQrdC60YDQsNC9KNC40LzRjyk7CiAgICDRjdC60YDQsNC9LmlubmVySFRNTCA9IGh0bWw7CiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKNGN0LrRgNCw0L0pOwogICAgdmFyINCy0LjQtCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInN0eWxlIik7CiAgICDQstC40LQuaW5uZXJIVE1MID0gY3NzOwogICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZCjQstC40LQpOwogICAgCiAgICByZXR1cm4g0Y3QutGA0LDQvTsKfQp2YXIgYWRkU2NyZWVuID0g0LTQvtCx0LDQstC40YLRjNCt0LrRgNCw0L07CgovKgogKgogKiDQodCy0Y/Qt9Cw0YLRjCDRg9Cy0LXQtNC+0LzQu9C10L3QuNC1INC4INGA0LXQsNCz0LjRgNGD0Y7RidGD0Y4g0YTRg9C90LrRhtC40Y4g0LIg0YfQuNGC0LDQtdC80L7QvCDQstC40LTQtQogKiBCaW5kIG5vdGlmaWNhdGlvbiBhbmQgcmVhY3RpbmcgZnVuY3Rpb24gaW4gYSByZWFkYWJsZSB3YXkKICoKICovCmZ1bmN0aW9uINC60L7Qs9C00LAo0YPQstC10LTQvtC80LvQtdC90LjQtSwg0YTRg9C90LrRhtC40Y8pCnsKICAgINGD0LLQtdC00L7QvNC70LXQvdC40LUu0L/QvtC00L/QuNGB0LDRgtGMKNGE0YPQvdC60YbQuNGPKTsKfQp2YXIgd2hlbiA9INC60L7Qs9C00LA7CgovKgogKgogKiDQo9Cy0LXQtNC+0LzQuNGC0Ywg0L7QsSDQvtCx0YvRh9C90L7QvCDQv9GD0YHQutC1CiAqIE5vdGlmZSBhYm91dCBhIHNpbXBsZSBydW4KICoKICovCtC80YPRgNC+0Lwu0L7QsdGL0YfQvdGL0LnQn9GD0YHQuiA9IG5ldyDQo9Cy0LXQtNC+0LzQuNGC0LXQu9GMKCk7Ck9iamVjdC5kZWZpbmVQcm9wZXJ0eShtdXJvbSwgImlzUnVuU2ltcGx5IiwgewogICAgZ2V0OiBmdW5jdGlvbigpCiAgICB7CiAgICAgICAgcmV0dXJuINC80YPRgNC+0Lwu0L7QsdGL0YfQvdGL0LnQn9GD0YHQujsKICAgIH0KfSk7CtC80YPRgNC+0Lwu0L/Rg9GB0Lou0L/QvtC00L/QuNGB0LDRgtGMKGZ1bmN0aW9uKCl7CiAgICBpZiAod2luZG93LmxvY2F0aW9uLnNlYXJjaCAhPSAiPzAiKQogICAgewogICAgICAgINC80YPRgNC+0Lwu0L7QsdGL0YfQvdGL0LnQn9GD0YHQui7Rg9Cy0LXQtNC+0LzQuNGC0YwoKTsKICAgIH0KfSk7CgovKgogKgogKiBMb2FkIGV4dGVybmFsIHNjcmlwdCBpbnRvIHNjcmlwdCB0YWcKICog0JfQsNCz0YDRg9C30LjRgtGMINGB0YLQvtGA0L7QvdC90LjQuSDRgdC60YDQuNC/0YIg0LIg0YLRjdCzIHNjcmlwdAogKgogKi8KZnVuY3Rpb24g0LfQsNCz0YDRg9C30LjRgtGM0KHQutGA0LjQv9GCKNC60L7QtCkKewogICAgdmFyINGB0LrRgNC40L/RgiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOwogICAg0YHQutGA0LjQv9GCLmlubmVySFRNTCA9INC60L7QtDsKICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo0YHQutGA0LjQv9GCKTsKfQp2YXIgbG9hZFNjcmlwdCA9INC30LDQs9GA0YPQt9C40YLRjNCh0LrRgNC40L/RgjsKCgoKCgoKLyoKICoKICog0JTQvtC20LTQsNGC0YzRgdGPINGD0LLQtdC00L7QvNC70LXQvdC40Y8g0L7RgiDQvdC10YHQutC+0LvRjNC60LjRhSDRg9Cy0LXQtNC+0LzQuNGC0LXQu9C10LkKICoKICovCmZ1bmN0aW9uINC00L7QttC00LDRgtGM0YHRjyjRg9Cy0LXQtNC+0LzQuNGC0LXQu9C4LCDRhNGD0L3QutGG0LjRjykKewogICAgdmFyINGB0YfRkdGC0YfQuNC6ID0gMDsKICAgIGZ1bmN0aW9uINCy0YvQv9C+0LvQvdC40YLRjCgpCiAgICB7CiAgICAgICAgaWYgKCsr0YHRh9GR0YLRh9C40LogPT0g0YPQstC10LTQvtC80LjRgtC10LvQuC5sZW5ndGgpCiAgICAgICAgewogICAgICAgICAgICDRhNGD0L3QutGG0LjRjygpOwogICAgICAgIH0KICAgIH0KICAgIGZvciAodmFyINC90L7QvNC10YAgaW4g0YPQstC10LTQvtC80LjRgtC10LvQuCkKICAgIHsKICAgICAgICB2YXIg0YPQstC10LTQvtC80LjRgtC10LvRjCA9INGD0LLQtdC00L7QvNC40YLQtdC70Lhb0L3QvtC80LXRgF07CiAgICAgICAg0YPQstC10LTQvtC80LjRgtC10LvRjC7Qv9C+0LTQv9C40YHQsNGC0Ywo0LLRi9C/0L7Qu9C90LjRgtGMKTsKICAgIH0KfQoKLyoKICoKICog0JjQvNGPINC40YHQv9C+0LvQvdGP0LXQvNC+0LPQviDQv9GA0Y/QvNC+INGB0LXQudGH0LDRgSDRhNCw0LnQu9CwIEhUTUwKICoKICovCmZ1bmN0aW9uINC40LzRj9Ck0LDQudC70LAoKQp7CiAgICB2YXIg0L/Rg9GC0YwgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7CiAgICB2YXIg0LjQvNGPID0g0L/Rg9GC0Ywuc3BsaXQoIi8iKS5wb3AoKTsKICAgIHJldHVybiBkZWNvZGVVUkko0LjQvNGPKTsKfQoKLyoKICoKICog0KDQsNC30L7QsdGA0LDRgtGMINCw0YDQs9GD0LzQtdC90YLRiyDQv9GA0Lgg0L7QsdGL0YfQvdC+0Lwg0L/Rg9GB0LrQtQogKgogKi8K0LzRg9GA0L7QvC7QsNGA0LPRg9C80LXQvdGC0YsgPSB7fTsK0LzRg9GA0L7QvC7QsNGA0LPRg9C80LXQvdGC0YvQmNC30LzQtdC90LjQu9C4ID0gbmV3INCj0LLQtdC00L7QvNC40YLQtdC70YwoKTsKZnVuY3Rpb24g0YDQsNC30L7QsdGA0LDRgtGM0JDRgNCz0YPQvNC10L3RgtGLKCkKewogICAgdmFyINC30LDQv9GA0L7RgSA9IHdpbmRvdy5sb2NhdGlvbi5zZWFyY2guc3Vic3RyaW5nKDEpOwogICAgdmFyINCw0YDQs9C4ID0g0LfQsNC/0YDQvtGBLnNwbGl0KCImIik7CiAgICBmb3IgKHZhciDQvdC+0LzQtdGAIGluINCw0YDQs9C4KQogICAgewogICAgICAgIHZhciDQsNGA0LMgPSDQsNGA0LPQuFvQvdC+0LzQtdGAXTsKICAgICAgICB2YXIg0L/QvtC30LjRhtC40Y/Ql9C90LDQutCwID0g0LDRgNCzLmluZGV4T2YoIj0iKTsKICAgICAgICAvLyDQm9C40YjRjCDQutC70Y7Rhy4KICAgICAgICBpZiAo0L/QvtC30LjRhtC40Y/Ql9C90LDQutCwID09IC0xKQogICAgICAgIHsKICAgICAgICAgICAgdmFyINC60LvRjtGHID0gZGVjb2RlVVJJQ29tcG9uZW50KNCw0YDQsyk7CiAgICAgICAgICAgINC80YPRgNC+0Lwu0LDRgNCz0YPQvNC10L3RgtGLW9C60LvRjtGHXSA9IG51bGw7CiAgICAgICAgfQogICAgICAgIC8vINCa0LvRjtGHINGB0L4g0LfQvdCw0YfQtdC90LjQtdC8LgogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICAgIHZhciDRgdGL0YDQvtC50JrQu9GO0YcgPSDQsNGA0LMuc2xpY2UoMCwg0L/QvtC30LjRhtC40Y/Ql9C90LDQutCwKTsKICAgICAgICAgICAgdmFyINGB0YvRgNC+0LXQl9C90LDRh9C10L3QuNC1ID0g0LDRgNCzLnNsaWNlKNC/0L7Qt9C40YbQuNGP0JfQvdCw0LrQsCArIDEpOwogICAgICAgICAgICB2YXIg0LrQu9GO0YcgPSBkZWNvZGVVUklDb21wb25lbnQo0YHRi9GA0L7QudCa0LvRjtGHKTsKICAgICAgICAgICAgdmFyINC30L3QsNGH0LXQvdC40LUgPSBkZWNvZGVVUklDb21wb25lbnQo0YHRi9GA0L7QtdCX0L3QsNGH0LXQvdC40LUpOwogICAgICAgICAgICDQvNGD0YDQvtC8LtCw0YDQs9GD0LzQtdC90YLRi1vQutC70Y7Rh10gPSDQt9C90LDRh9C10L3QuNC1OwogICAgICAgIH0KICAgIH0KICAgINC80YPRgNC+0Lwu0LDRgNCz0YPQvNC10L3RgtGL0JjQt9C80LXQvdC40LvQuC7Rg9Cy0LXQtNC+0LzQuNGC0YwoKTsKfQrQvNGD0YDQvtC8LtC+0LHRi9GH0L3Ri9C50J/Rg9GB0Lou0L/QvtC00L/QuNGB0LDRgtGMKNGA0LDQt9C+0LHRgNCw0YLRjNCQ0YDQs9GD0LzQtdC90YLRiyk7Cg==", {"status":true} ], @@ -54,7 +54,7 @@ var murom = муром; [ "MOD", -"LyoKICoKICog0JrQvtC90YHRgtGA0YPQutGC0L7RgAogKiBDb25zdHJ1Y3RvcgogKgogKi8KZnVuY3Rpb24gTW9kdWxlcyhtb2R1bGVzKQp7CiAgICB0aGlzLnBhcnNlU2VyaWFsaXplZE1vZHVsZXMobW9kdWxlcyk7Cn0KCi8qCiAqCiAqINCg0LDQt9C+0LHRgNCw0YLRjCDQvNC+0LTRg9C70Lgg0LjQtyDRgdC10YDQuNCw0LvQuNC30L7QstCw0L3QvdC+0LPQviDRhNC+0YDQvNCw0YLQsAogKiBQYXJzZSBtb2R1bGVzIG9mIHNlcmlhbGl6ZWQgZm9ybWF0CiAqCiAqLwpNb2R1bGVzLnByb3RvdHlwZS5wYXJzZVNlcmlhbGl6ZWRNb2R1bGVzID0gZnVuY3Rpb24oaXRlbXMpCnsKICAgIHRoaXMubW9kdWxlcyA9IFtdOwogICAgZm9yICh2YXIgaSBpbiBpdGVtcykKICAgIHsKICAgICAgICB2YXIgaXRlbSA9IGl0ZW1zW2ldOwogICAgICAgIHZhciBuYW1lID0gaXRlbVswXTsKICAgICAgICB2YXIgY29kZTY0ID0gaXRlbVsxXTsKICAgICAgICB2YXIgcHJvcGVydGllcyA9ICh0eXBlb2YgaXRlbVsyXSAhPSAidW5kZWZpbmVkIikgPyBpdGVtWzJdIDoge307CiAgICAgICAgCiAgICAgICAgLy8gU3RhdHVzLgogICAgICAgIHZhciBzdGF0dXMgPSB0cnVlOwogICAgICAgIGlmICgic3RhdHVzIiBpbiBwcm9wZXJ0aWVzKQogICAgICAgIHsKICAgICAgICAgICAgc3RhdHVzID0gcHJvcGVydGllc1sic3RhdHVzIl07CiAgICAgICAgfQogICAgICAgIHZhciBtb2R1bGUgPSB7CiAgICAgICAgICAgICJuYW1lIjogbmFtZSwKICAgICAgICAgICAgImNvZGU2NCI6IGNvZGU2NCwKICAgICAgICAgICAgInN0YXR1cyI6IHN0YXR1cywKICAgICAgICB9OwogICAgICAgIHRoaXMubW9kdWxlcy5wdXNoKG1vZHVsZSk7CiAgICB9Cn07CgovKgogKgogKiDQndCw0LnRgtC4INC80L7QtNGD0LvRjCDQv9C+INC40LzQtdC90LgKICogRmluZCBtb2R1bGUgYnkgbmFtZQogKgogKi8KTW9kdWxlcy5wcm90b3R5cGUubW9kdWxlID0gZnVuY3Rpb24obmFtZSkKewogICAgZm9yICh2YXIgaSBpbiB0aGlzLm1vZHVsZXMpCiAgICB7CiAgICAgICAgdmFyIG0gPSB0aGlzLm1vZHVsZXNbaV07CiAgICAgICAgaWYgKG0ubmFtZSA9PSBuYW1lKQogICAgICAgIHsKICAgICAgICAgICAgcmV0dXJuIG07CiAgICAgICAgfQogICAgfQogICAgCiAgICByZXR1cm4gbnVsbDsKfTsKTW9kdWxlcy5wcm90b3R5cGUu0LzQvtC00YPQu9GMID0gZnVuY3Rpb24o0LjQvNGPKQp7CiAgICByZXR1cm4gdGhpcy5tb2R1bGUo0LjQvNGPKTsKfQoKLyoKICoKICog0J3QsNC50YLQuCDQvdC+0LzQtdGAINC80L7QtNGD0LvRjyDQv9C+INC40LzQtdC90LgKICogRmluZCBtb2R1bGUncyBvcmRlciBieSBuYW1lCiAqCiAqLwpNb2R1bGVzLnByb3RvdHlwZS5tb2R1bGVPcmRlciA9IGZ1bmN0aW9uKG5hbWUpCnsKICAgIGZvciAodmFyIGkgaW4gdGhpcy5tb2R1bGVzKQogICAgewogICAgICAgIHZhciBtID0gdGhpcy5tb2R1bGVzW2ldOwogICAgICAgIGlmIChtLm5hbWUgPT0gbmFtZSkKICAgICAgICB7CiAgICAgICAgICAgIHJldHVybiBpOwogICAgICAgIH0KICAgIH0KICAgIAogICAgcmV0dXJuIG51bGw7Cn07Ck1vZHVsZXMucHJvdG90eXBlLtC90L7QvNC10YDQnNC+0LTRg9C70Y8gPSBmdW5jdGlvbijQuNC80Y8pCnsKICAgIHJldHVybiB0aGlzLm1vZHVsZU9yZGVyKNC40LzRjyk7Cn0KLyoKICoKICog0J/QtdGA0LXQvNC10YHRgtC40YLRjCDQvNC+0LTRg9C70YwKICogTW92ZSBhIG1vZHVsZQogKgogKi8KTW9kdWxlcy5wcm90b3R5cGUubW92ZSA9IGZ1bmN0aW9uKGZyb20sIHRvKQp7CiAgICB2YXIgbW9kdWxlID0gdGhpcy5tb2R1bGVzW2Zyb21dOwogICAgdmFyIG5hbWVGcm9tID0gbW9kdWxlLm5hbWU7CiAgICB2YXIgbmFtZVRvID0gKHRvICE9IG51bGwpID8gdGhpcy5tb2R1bGVzW3RvXS5uYW1lIDogbnVsbDsKICAgIGNvbnNvbGUubG9nKCJuYW1lVG86ICciICsgbmFtZVRvICsgIiciKTsKICAgIC8vIFJlbW92ZSB0aGUgb2xkIGVudHJ5LgogICAgdmFyIG9sZFBvc2l0aW9uID0gZnJvbTsKICAgIHRoaXMubW9kdWxlcy5zcGxpY2Uob2xkUG9zaXRpb24sIDEpOwogICAgLy8gSW5zZXJ0IGludG8gdGhlIG5ldyBwbGFjZS4KICAgIHZhciBuZXdQb3NpdGlvbiA9IHRoaXMubW9kdWxlcy5sZW5ndGg7CiAgICBpZiAobmFtZVRvICE9IG51bGwpCiAgICB7CiAgICAgICAgbmV3UG9zaXRpb24gPSB0aGlzLm1vZHVsZU9yZGVyKG5hbWVUbyk7CiAgICB9CiAgICB0aGlzLm1vZHVsZXMuc3BsaWNlKG5ld1Bvc2l0aW9uLCAwLCBtb2R1bGUpOwp9OwpNb2R1bGVzLnByb3RvdHlwZS7Qv9C10YDQtdC80LXRgdGC0LjRgtGMID0gZnVuY3Rpb24o0LjQtywg0LIpCnsKICAgIHRoaXMubW92ZSjQuNC3LCDQsik7Cn07CgovKgogKgogKiDQodC+0LfQtNCw0ZHQvCDRjdC60LfQtdC80L/Qu9GP0YAg0JzQntCUCiAqIENyZWF0ZSBNT0QgaW5zdGFuY2UKICoKICovCnZhciBNT0QgPSBuZXcgTW9kdWxlcyhtdXJvbS5tb2R1bGVzKTsKdmFyINCc0J7QlCA9IE1PRDs=", +"LyoKICoKICog0JrQvtC90YHRgtGA0YPQutGC0L7RgAogKiBDb25zdHJ1Y3RvcgogKgogKi8KZnVuY3Rpb24gTW9kdWxlcyhtb2R1bGVzKQp7CiAgICB0aGlzLnBhcnNlU2VyaWFsaXplZE1vZHVsZXMobW9kdWxlcyk7Cn0KCi8qCiAqCiAqINCg0LDQt9C+0LHRgNCw0YLRjCDQvNC+0LTRg9C70Lgg0LjQtyDRgdC10YDQuNCw0LvQuNC30L7QstCw0L3QvdC+0LPQviDRhNC+0YDQvNCw0YLQsAogKiBQYXJzZSBtb2R1bGVzIG9mIHNlcmlhbGl6ZWQgZm9ybWF0CiAqCiAqLwpNb2R1bGVzLnByb3RvdHlwZS5wYXJzZVNlcmlhbGl6ZWRNb2R1bGVzID0gZnVuY3Rpb24oaXRlbXMpCnsKICAgIHRoaXMubW9kdWxlcyA9IFtdOwogICAgZm9yICh2YXIgaSBpbiBpdGVtcykKICAgIHsKICAgICAgICB2YXIgaXRlbSA9IGl0ZW1zW2ldOwogICAgICAgIHZhciBuYW1lID0gaXRlbVswXTsKICAgICAgICB2YXIgY29kZTY0ID0gaXRlbVsxXTsKICAgICAgICB2YXIgcHJvcGVydGllcyA9ICh0eXBlb2YgaXRlbVsyXSAhPSAidW5kZWZpbmVkIikgPyBpdGVtWzJdIDoge307CiAgICAgICAgCiAgICAgICAgLy8gU3RhdHVzLgogICAgICAgIHZhciBzdGF0dXMgPSB0cnVlOwogICAgICAgIGlmICgic3RhdHVzIiBpbiBwcm9wZXJ0aWVzKQogICAgICAgIHsKICAgICAgICAgICAgc3RhdHVzID0gcHJvcGVydGllc1sic3RhdHVzIl07CiAgICAgICAgfQogICAgICAgIHZhciBtb2R1bGUgPSB7CiAgICAgICAgICAgICJuYW1lIjogbmFtZSwKICAgICAgICAgICAgImNvZGU2NCI6IGNvZGU2NCwKICAgICAgICAgICAgInN0YXR1cyI6IHN0YXR1cywKICAgICAgICB9OwogICAgICAgIHRoaXMubW9kdWxlcy5wdXNoKG1vZHVsZSk7CiAgICB9Cn07CgovKgogKgogKiDQndCw0LnRgtC4INC80L7QtNGD0LvRjCDQv9C+INC40LzQtdC90LgKICogRmluZCBtb2R1bGUgYnkgbmFtZQogKgogKi8KTW9kdWxlcy5wcm90b3R5cGUubW9kdWxlID0gZnVuY3Rpb24obmFtZSkKewogICAgZm9yICh2YXIgaSBpbiB0aGlzLm1vZHVsZXMpCiAgICB7CiAgICAgICAgdmFyIG0gPSB0aGlzLm1vZHVsZXNbaV07CiAgICAgICAgaWYgKG0ubmFtZSA9PSBuYW1lKQogICAgICAgIHsKICAgICAgICAgICAgcmV0dXJuIG07CiAgICAgICAgfQogICAgfQogICAgCiAgICByZXR1cm4gbnVsbDsKfTsKTW9kdWxlcy5wcm90b3R5cGUu0LzQvtC00YPQu9GMID0gZnVuY3Rpb24o0LjQvNGPKQp7CiAgICByZXR1cm4gdGhpcy5tb2R1bGUo0LjQvNGPKTsKfQoKLyoKICoKICog0J3QsNC50YLQuCDQvdC+0LzQtdGAINC80L7QtNGD0LvRjyDQv9C+INC40LzQtdC90LgKICogRmluZCBtb2R1bGUncyBvcmRlciBieSBuYW1lCiAqCiAqLwpNb2R1bGVzLnByb3RvdHlwZS5tb2R1bGVPcmRlciA9IGZ1bmN0aW9uKG5hbWUpCnsKICAgIGZvciAodmFyIGkgaW4gdGhpcy5tb2R1bGVzKQogICAgewogICAgICAgIHZhciBtID0gdGhpcy5tb2R1bGVzW2ldOwogICAgICAgIGlmIChtLm5hbWUgPT0gbmFtZSkKICAgICAgICB7CiAgICAgICAgICAgIHJldHVybiBpOwogICAgICAgIH0KICAgIH0KICAgIAogICAgcmV0dXJuIG51bGw7Cn07Ck1vZHVsZXMucHJvdG90eXBlLtC90L7QvNC10YDQnNC+0LTRg9C70Y8gPSBmdW5jdGlvbijQuNC80Y8pCnsKICAgIHJldHVybiB0aGlzLm1vZHVsZU9yZGVyKNC40LzRjyk7Cn0KCi8qCiAqCiAqINCf0LXRgNC10LzQtdGB0YLQuNGC0Ywg0LzQvtC00YPQu9GMCiAqIE1vdmUgYSBtb2R1bGUKICoKICovCk1vZHVsZXMucHJvdG90eXBlLm1vdmUgPSBmdW5jdGlvbihmcm9tLCB0bykKewogICAgdmFyIG1vZHVsZSA9IHRoaXMubW9kdWxlc1tmcm9tXTsKICAgIHZhciBuYW1lRnJvbSA9IG1vZHVsZS5uYW1lOwogICAgdmFyIG5hbWVUbyA9ICh0byAhPSBudWxsKSA/IHRoaXMubW9kdWxlc1t0b10ubmFtZSA6IG51bGw7CiAgICBjb25zb2xlLmxvZygibmFtZVRvOiAnIiArIG5hbWVUbyArICInIik7CiAgICAvLyBSZW1vdmUgdGhlIG9sZCBlbnRyeS4KICAgIHZhciBvbGRQb3NpdGlvbiA9IGZyb207CiAgICB0aGlzLm1vZHVsZXMuc3BsaWNlKG9sZFBvc2l0aW9uLCAxKTsKICAgIC8vIEluc2VydCBpbnRvIHRoZSBuZXcgcGxhY2UuCiAgICB2YXIgbmV3UG9zaXRpb24gPSB0aGlzLm1vZHVsZXMubGVuZ3RoOwogICAgaWYgKG5hbWVUbyAhPSBudWxsKQogICAgewogICAgICAgIG5ld1Bvc2l0aW9uID0gdGhpcy5tb2R1bGVPcmRlcihuYW1lVG8pOwogICAgfQogICAgdGhpcy5tb2R1bGVzLnNwbGljZShuZXdQb3NpdGlvbiwgMCwgbW9kdWxlKTsKfTsKTW9kdWxlcy5wcm90b3R5cGUu0L/QtdGA0LXQvNC10YHRgtC40YLRjCA9IGZ1bmN0aW9uKNC40LcsINCyKQp7CiAgICB0aGlzLm1vdmUo0LjQtywg0LIpOwp9OwoKLyoKICoKICog0JTQvtCx0LDQstC40YLRjCDQvdC+0LLRi9C5INC80L7QtNGD0LvRjAogKiBBZGQgYSBuZXcgbW9kdWxlCiAqCiAqLwpNb2R1bGVzLnByb3RvdHlwZS5hZGQgPSBmdW5jdGlvbihuYW1lLCBjb2RlNjQpCnsKICAgIHZhciBtb2R1bGUgPSB7CiAgICAgICAgIm5hbWUiOiBuYW1lLAogICAgICAgICJjb2RlNjQiOiBjb2RlNjQsCiAgICAgICAgInN0YXR1cyI6IGZhbHNlLAogICAgfTsKICAgIHRoaXMubW9kdWxlcy5wdXNoKG1vZHVsZSk7Cn07Ck1vZHVsZXMucHJvdG90eXBlLtC00L7QsdCw0LLQuNGC0YwgPSBmdW5jdGlvbijQuNC80Y8sINC60L7QtDY0KQp7CiAgICByZXR1cm4gdGhpcy5hZGQo0LjQvNGPLCDQutC+0LQ2NCk7Cn0KCi8qCiAqCiAqINCj0LTQsNC70LjRgtGMINC80L7QtNGD0LvRjAogKiBEZWxldGUgYSBtb2R1bGUKICoKICovCk1vZHVsZXMucHJvdG90eXBlLmRlbGV0ZSA9IGZ1bmN0aW9uKGlkKQp7CiAgICB0aGlzLm1vZHVsZXMuc3BsaWNlKGlkLCAxKTsKfTsKTW9kdWxlcy5wcm90b3R5cGUu0YPQtNCw0LvQuNGC0YwgPSBmdW5jdGlvbijQvdC+0LzQtdGAKQp7CiAgICB0aGlzLmRlbGV0ZSjQvdC+0LzQtdGAKTsKfQoKLyoKICoKICog0KHQvtC30LTQsNGR0Lwg0Y3QutC30LXQvNC/0LvRj9GAINCc0J7QlAogKiBDcmVhdGUgTU9EIGluc3RhbmNlCiAqCiAqLwp2YXIgTU9EID0gbmV3IE1vZHVsZXMobXVyb20ubW9kdWxlcyk7CnZhciDQnNCe0JQgPSBNT0Q7", {} ], @@ -96,7 +96,7 @@ var murom = муром; [ "MODUI", -"LyoKICoKICog0JrQvtC90YHRgtGA0YPQutGC0L7RgAogKiBDb25zdHJ1Y3RvcgogKgogKi8KZnVuY3Rpb24gTW9kdWxlc1VJKG1vZCkKewogICAgdGhpcy5tb2QgPSBtb2Q7CiAgICB0aGlzLmNyZWF0ZVVJKCk7CiAgICB0aGlzLnJlZnJlc2goKTsKICAgIHRoaXMudHJhY2tDaGFuZ2VzKCk7Cn0KCi8qCiAqCiAqINCh0L7Qt9C00LDRgtGMINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjNGB0LrQuNC5INC40L3RgtC10YDRhNC10LnRgQogKiBDcmVhdGUgdXNlciBpbnRlcmZhY2UKICoKICovCk1vZHVsZXNVSS5wcm90b3R5cGUuY3JlYXRlVUkgPSBmdW5jdGlvbigpCnsKICAgIHZhciBodG1sID0KYAo8ZGl2IGlkPSJNT0RVSS1ncmlkIj48L2Rpdj4KYDsKICAgIHZhciBjc3MgPQpgCiNNT0RVSS1ncmlkCnsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwp9CmA7CiAgICB0aGlzLnNjcmVlbiA9IGFkZFNjcmVlbigiTU9EVUkiLCBodG1sLCBjc3MpOwogICAgCiAgICAkKCIjTU9EVUktZ3JpZCIpLncyZ3JpZCh7IAogICAgICAgIG5hbWU6ICJNT0RVSS1ncmlkIiwKICAgICAgICBzaG93OiB7CiAgICAgICAgICAgIGxpbmVOdW1iZXJzOiB0cnVlLAogICAgICAgIH0sCiAgICAgICAgbXVsdGlTZWxlY3Q6IGZhbHNlLAogICAgICAgIHJlb3JkZXJSb3dzOiB0cnVlLAogICAgICAgIGNvbHVtbnM6IFsgICAgICAgICAgICAgICAgCiAgICAgICAgICAgIHsgZmllbGQ6ICJzdGF0dXMiLCB0ZXh0OiAiRXhlY3V0ZSIsIHNpemU6ICI0ZW0iLCBzb3J0YWJsZTogdHJ1ZSwgZWRpdGFibGU6IHsgdHlwZTogImNoZWNrYm94Iiwgc3R5bGU6ICJ0ZXh0LWFsaWduOiBjZW50ZXIiIH0gfSwKICAgICAgICAgICAgeyBmaWVsZDogJ25hbWUnLCB0ZXh0OiAnTmFtZScsIHNpemU6ICcxMDAlJywgc29ydGFibGU6IHRydWUsIGVkaXRhYmxlOiB7IHR5cGU6ICJ0ZXh0IiB9IH0sCiAgICAgICAgXQogICAgfSk7CiAgICB0aGlzLmdyaWQgPSB3MnVpWydNT0RVSS1ncmlkJ107Cn07CgovKgogKgogKiDQntCx0L3QvtCy0LjRgtGMINGB0L/QuNGB0L7QuiDQvNC+0LTRg9C70LXQuQogKiBSZWZyZXNoIG1vZHVsZSBsaXN0CiAqCiAqLwpNb2R1bGVzVUkucHJvdG90eXBlLnJlZnJlc2ggPSBmdW5jdGlvbigpCnsKICAgIHZhciByZWNvcmRzID0gW107CiAgICBmb3IgKHZhciBpIGluIHRoaXMubW9kLm1vZHVsZXMpCiAgICB7CiAgICAgICAgdmFyIG0gPSB0aGlzLm1vZC5tb2R1bGVzW2ldOwogICAgICAgIHZhciBpZCA9IG11cm9tLnV1aWQoKTsKICAgICAgICByZWNvcmRzLnB1c2goCiAgICAgICAgICAgIHsgcmVjaWQ6IGlkLCBzdGF0dXM6IG0uc3RhdHVzLCBuYW1lOiBtLm5hbWUgfQogICAgICAgICk7CiAgICB9CiAgICB0aGlzLmdyaWQuY2xlYXIoKTsKICAgIHRoaXMuZ3JpZC5hZGQocmVjb3Jkcyk7Cn07Ck1vZHVsZXNVSS5wcm90b3R5cGUu0L7QsdC90L7QstC40YLRjCA9IGZ1bmN0aW9uKCkKewogICAgdGhpcy5yZWZyZXNoKCk7Cn07CgovKgogKgogKiDQn9C10YDQtdCy0L7QtCDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgNCwINC30LDQv9C40YHQuCDRgdC10YLQutC4INCyINC/0L7RgNGP0LTQutC+0LLRi9C5INC90L7QvNC10YAKICogQ29udmVydCBncmlkIHJlY29yZCBpZCBpbnRvIG9yZGVyIG51bWJlcgogKgogKi8KTW9kdWxlc1VJLnByb3RvdHlwZS5pZFRvT3JkZXIgPSBmdW5jdGlvbihpZCkKewogICAgZm9yICh2YXIgaSBpbiB0aGlzLmdyaWQucmVjb3JkcykKICAgIHsKICAgICAgICB2YXIgciA9IHRoaXMuZ3JpZC5yZWNvcmRzW2ldOwogICAgICAgIGlmIChyLnJlY2lkID09IGlkKQogICAgICAgIHsKICAgICAgICAgICAgcmV0dXJuIGk7CiAgICAgICAgfQogICAgfQogICAgCiAgICByZXR1cm4gbnVsbDsKfTsKTW9kdWxlc1VJLnByb3RvdHlwZS7QuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgNCS0J3QvtC80LXRgCA9IGZ1bmN0aW9uKNC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAKQp7CiAgICByZXR1cm4gdGhpcy5pZFRvT3JkZXIo0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YApOwp9OwoKLyoKICoKICog0KDQtdCw0LrRhtC40Y8g0L3QsCDQuNC30LzQtdC90LXQvdC40LUg0YHQstC+0LnRgdGC0LLQsCAo0LjQvNGPLCDRgdGC0LDRgtGD0YEpCiAqIFJlYWN0aW9uIHRvIHByb3BlcnR5IGNoYW5nZSAobmFtZSwgc3RhdHVzKQogKgogKi8KTW9kdWxlc1VJLnByb3RvdHlwZS5yZWFjdFRvUHJvcGVydHlDaGFuZ2UgPSBmdW5jdGlvbihldmVudCkKewogICAgY29uc29sZS5sb2coZXZlbnQpOwogICAgdmFyIG1vZHVsZSA9IHRoaXMubW9kLm1vZHVsZXNbZXZlbnQuaW5kZXhdOwogICAgLy8gU3RhdHVzLgogICAgaWYgKGV2ZW50LmNvbHVtbiA9PSAwKQogICAgewogICAgICAgIHZhciBzdGF0dXMgPSBldmVudC52YWx1ZV9uZXc7CiAgICAgICAgY29uc29sZS5sb2coIk5ldyBzdGF0dXM6ICciICsgc3RhdHVzICsgIiciKTsKICAgICAgICBtb2R1bGUuc3RhdHVzID0gc3RhdHVzOwogICAgfQogICAgLy8gTmFtZS4KICAgIGVsc2UgaWYgKGV2ZW50LmNvbHVtbiA9PSAxKQogICAgewogICAgICAgIHZhciBuYW1lID0gZXZlbnQudmFsdWVfbmV3OwogICAgICAgIGNvbnNvbGUubG9nKCJOZXcgbmFtZTogJyIgKyBuYW1lICsgIiciKTsKICAgICAgICBtb2R1bGUubmFtZSA9IG5hbWU7CiAgICB9Cn07CgovKgogKgogKiDQoNC10LDQutGG0LjRjyDQvdCwINC40LfQvNC10L3QtdC90LjQtSDQvdC+0LzQtdGA0LAKICogUmVhY3Rpb24gdG8gb3JkZXIgY2hhbmdlCiAqCiAqLwpNb2R1bGVzVUkucHJvdG90eXBlLnJlYWN0VG9PcmRlckNoYW5nZSA9IGZ1bmN0aW9uKGV2ZW50KQp7CiAgICB2YXIgaWRXYXMgPSBldmVudC5yZWNpZDsKICAgIHZhciBpZE5vdyA9IGV2ZW50Lm1vdmVBZnRlcjsKICAgIC8vIE5vdGhpbmcgY2hhbmdlZC4KICAgIGlmIChpZE5vdyA9PSBudWxsKQogICAgewogICAgICAgIHJldHVybjsKICAgIH0KICAgIHZhciBvcmRlcldhcyA9IHRoaXMuaWRUb09yZGVyKGlkV2FzKTsKICAgIHZhciBvcmRlck5vdyA9IG51bGw7CiAgICBpZiAoaWROb3cgIT0gImJvdHRvbSIpCiAgICB7CiAgICAgICAgb3JkZXJOb3cgPSB0aGlzLmlkVG9PcmRlcihpZE5vdyk7CiAgICB9CiAgICBjb25zb2xlLmxvZyhldmVudCk7CiAgICBjb25zb2xlLmxvZygid2FzOiAnIiArIG9yZGVyV2FzICsgIicgbm93OiAnIiArIG9yZGVyTm93ICsgIiciKTsKICAgIHRoaXMubW9kLm1vdmUob3JkZXJXYXMsIG9yZGVyTm93KTsKICAgIAogICAgZm9yICh2YXIgaSBpbiB0aGlzLm1vZC5tb2R1bGVzKQogICAgewogICAgICAgIHZhciBtID0gdGhpcy5tb2QubW9kdWxlc1tpXTsKICAgICAgICBjb25zb2xlLmxvZygiaWQ6ICciICsgaSArICInIG1vZHVsZTogJyIgKyBtLm5hbWUgKyAiJyIpOwogICAgfQp9OwoKLyoKICoKICog0KHQu9C10LTQuNGC0Ywg0LfQsCDQuNC30LzQtdC90LXQvdC40Y/QvNC4ICjRgdGC0LDRgtGD0YHQsCwg0LjQvNC10L3QuCwg0L3QvtC80LXRgNCwKQogKiBUcmFjayBjaGFuZ2VzIChvZiBzdGF0dXMsIG5hbWUsIGlkKQogKgogKi8KTW9kdWxlc1VJLnByb3RvdHlwZS50cmFja0NoYW5nZXMgPSBmdW5jdGlvbigpCnsKICAgIHZhciBzZWxmID0gdGhpczsKICAgIHRoaXMuZ3JpZC5vbigiY2hhbmdlIiwgZnVuY3Rpb24oZXZlbnQpIHsKICAgICAgICBzZWxmLnJlYWN0VG9Qcm9wZXJ0eUNoYW5nZShldmVudCk7CiAgICB9KTsKICAgIHRoaXMuZ3JpZC5vbigicmVzdG9yZSIsIGZ1bmN0aW9uKGV2ZW50KSB7CiAgICAgICAgc2VsZi5yZWFjdFRvUHJvcGVydHlDaGFuZ2UoZXZlbnQpOwogICAgfSk7CiAgICB0aGlzLmdyaWQub24oInJlb3JkZXJSb3ciLCBmdW5jdGlvbihldmVudCkgewogICAgICAgIHNlbGYucmVhY3RUb09yZGVyQ2hhbmdlKGV2ZW50KTsKICAgIH0pOwogICAgLyoKICAgIHRoaXMuZ3JpZC5vbigiKiIsIGZ1bmN0aW9uKGV2ZW50KXsKICAgICAgICBjb25zb2xlLmxvZyhldmVudCk7CiAgICB9KTsKICAgICovCn07CgoKLyoKICoKICog0KHQvtC30LTQsNGR0Lwg0Y3QutC30LXQvNC/0LvRj9GAINCc0J7QlNCf0JgKICogQ3JlYXRlIE1PRFVJIGluc3RhbmNlCiAqCiAqLwoKdmFyIE1PRFVJID0gbnVsbDsKdmFyINCc0J7QlNCf0JggPSBudWxsOwoKZnVuY3Rpb24gaW5zdGFsbE1PRFVJKCkKewogICAgTU9EVUkgPSBuZXcgTW9kdWxlc1VJKE1PRCk7CiAgICDQnNCe0JTQn9CYID0gTU9EVUk7Cn0KCndoZW4obXVyb20uaXNSdW5TaW1wbHksIGluc3RhbGxNT0RVSSk7", +"LyoKICoKICog0JrQvtC90YHRgtGA0YPQutGC0L7RgAogKiBDb25zdHJ1Y3RvcgogKgogKi8KZnVuY3Rpb24gTW9kdWxlc1VJKG1vZCkKewogICAgdGhpcy5tb2QgPSBtb2Q7CiAgICB0aGlzLmNyZWF0ZVVJKCk7CiAgICB0aGlzLnJlZnJlc2goKTsKICAgIHRoaXMudHJhY2tDaGFuZ2VzKCk7CiAgICB0aGlzLnNldHVwVG9vbGJhcigpOwp9CgovKgogKgogKiDQodC+0LfQtNCw0YLRjCDQv9C+0LvRjNC30L7QstCw0YLQtdC70YzRgdC60LjQuSDQuNC90YLQtdGA0YTQtdC50YEKICogQ3JlYXRlIHVzZXIgaW50ZXJmYWNlCiAqCiAqLwpNb2R1bGVzVUkucHJvdG90eXBlLmNyZWF0ZVVJID0gZnVuY3Rpb24oKQp7CiAgICB2YXIgaHRtbCA9CmAKPGRpdiBpZD0iTU9EVUktdG9vbGJhciI+PC9kaXY+CjxkaXYgaWQ9Ik1PRFVJLWdyaWQiPjwvZGl2PgpgOwogICAgdmFyIGNzcyA9CmAKI01PRFVJLXRvb2xiYXIKewogICAgcGFkZGluZy10b3A6IDRweDsKICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZmRmZGY7CiAgICBoZWlnaHQ6IDJlbTsKfQojTU9EVUktZ3JpZAp7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogY2FsYygxMDAlIC0gM2VtIC0gNHB4KTsKfQpgOwogICAgdGhpcy5zY3JlZW4gPSBhZGRTY3JlZW4oIk1PRFVJIiwgaHRtbCwgY3NzKTsKICAgIHRoaXMudG9vbGJhciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJNT0RVSS10b29sYmFyIik7CiAgICAkKCIjTU9EVUktZ3JpZCIpLncyZ3JpZCh7IAogICAgICAgIG5hbWU6ICJNT0RVSS1ncmlkIiwKICAgICAgICBzaG93OiB7CiAgICAgICAgICAgIGxpbmVOdW1iZXJzOiB0cnVlLAogICAgICAgIH0sCiAgICAgICAgbXVsdGlTZWxlY3Q6IGZhbHNlLAogICAgICAgIHJlb3JkZXJSb3dzOiB0cnVlLAogICAgICAgIGNvbHVtbnM6IFsgICAgICAgICAgICAgICAgCiAgICAgICAgICAgIHsgZmllbGQ6ICJzdGF0dXMiLCB0ZXh0OiAiRXhlY3V0ZSIsIHNpemU6ICI0ZW0iLCBzb3J0YWJsZTogdHJ1ZSwgZWRpdGFibGU6IHsgdHlwZTogImNoZWNrYm94Iiwgc3R5bGU6ICJ0ZXh0LWFsaWduOiBjZW50ZXIiIH0gfSwKICAgICAgICAgICAgeyBmaWVsZDogJ25hbWUnLCB0ZXh0OiAnTmFtZScsIHNpemU6ICcxMDAlJywgc29ydGFibGU6IHRydWUsIGVkaXRhYmxlOiB7IHR5cGU6ICJ0ZXh0IiB9IH0sCiAgICAgICAgXQogICAgfSk7CiAgICB0aGlzLmdyaWQgPSB3MnVpWydNT0RVSS1ncmlkJ107Cn07CgovKgogKgogKiDQntCx0L3QvtCy0LjRgtGMINGB0L/QuNGB0L7QuiDQvNC+0LTRg9C70LXQuQogKiBSZWZyZXNoIG1vZHVsZSBsaXN0CiAqCiAqLwpNb2R1bGVzVUkucHJvdG90eXBlLnJlZnJlc2ggPSBmdW5jdGlvbigpCnsKICAgIHZhciByZWNvcmRzID0gW107CiAgICBmb3IgKHZhciBpIGluIHRoaXMubW9kLm1vZHVsZXMpCiAgICB7CiAgICAgICAgdmFyIG0gPSB0aGlzLm1vZC5tb2R1bGVzW2ldOwogICAgICAgIHZhciBpZCA9IG11cm9tLnV1aWQoKTsKICAgICAgICByZWNvcmRzLnB1c2goCiAgICAgICAgICAgIHsgcmVjaWQ6IGlkLCBzdGF0dXM6IG0uc3RhdHVzLCBuYW1lOiBtLm5hbWUgfQogICAgICAgICk7CiAgICB9CiAgICB0aGlzLmdyaWQuY2xlYXIoKTsKICAgIHRoaXMuZ3JpZC5hZGQocmVjb3Jkcyk7Cn07Ck1vZHVsZXNVSS5wcm90b3R5cGUu0L7QsdC90L7QstC40YLRjCA9IGZ1bmN0aW9uKCkKewogICAgdGhpcy5yZWZyZXNoKCk7Cn07CgovKgogKgogKiDQlNC+0LHQsNCy0LjRgtGMINC60L3QvtC/0LrRgyDQvdCwINC/0LDQvdC10LvRjAogKiBBZGQgYSBidXR0b24gdG8gdGhlIHRvb2xiYXIKICoKICovCk1vZHVsZXNVSS5wcm90b3R5cGUuYWRkVG9vbGJhckJ1dHRvbiA9IGZ1bmN0aW9uKG5hbWUsIGhhbmRsZXIpCnsKICAgIHZhciBidXR0b24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJidXR0b24iKTsKICAgIGJ1dHRvbi5pbm5lckhUTUwgPSBuYW1lOwogICAgYnV0dG9uLmNsYXNzTGlzdC5hZGQoIncydWktYnRuIik7CiAgICB0aGlzLnRvb2xiYXIuYXBwZW5kQ2hpbGQoYnV0dG9uKTsKICAgIGJ1dHRvbi5vbmNsaWNrID0gaGFuZGxlcjsKfTsKCi8qCiAqCiAqINCj0YHRgtCw0L3QvtCy0LjRgtGMINC/0LDQvdC10LvRjCDQutC90L7Qv9C+0LoKICogSW5zdGFsbCB0aGUgdG9vbGJhciB3aXRoIGJ1dHRvbnMKICoKICovCk1vZHVsZXNVSS5wcm90b3R5cGUuc2V0dXBUb29sYmFyID0gZnVuY3Rpb24oKQp7CiAgICB2YXIgc2VsZiA9IHRoaXM7CiAgICAKICAgIHRoaXMuYWRkVG9vbGJhckJ1dHRvbigi0KHQvtGF0YDQsNC90LjRgtGMIiwgZnVuY3Rpb24oKXsKICAgICAgICBjb25zb2xlLmxvZygiVE9ETyBzYXZlIik7CiAgICB9KTsKICAgIHRoaXMuYWRkVG9vbGJhckJ1dHRvbigi0KHQutCw0YfQsNGC0YwiLCBmdW5jdGlvbigpewogICAgICAgIGNvbnNvbGUubG9nKCJUT0RPIGRvd25sb2FkIik7CiAgICB9KTsKICAgIHRoaXMuYWRkVG9vbGJhckJ1dHRvbigi0JTQvtCx0LDQstC40YLRjCIsIGZ1bmN0aW9uKCl7CiAgICAgICAgc2VsZi5hZGRNb2R1bGUoKTsKICAgIH0pOwogICAgdGhpcy5hZGRUb29sYmFyQnV0dG9uKCLQo9C00LDQu9C40YLRjCIsIGZ1bmN0aW9uKCl7CiAgICAgICAgc2VsZi5kZWxldGVNb2R1bGUoKTsKICAgIH0pOwp9OwoKLyoKICoKICog0J/QtdGA0LXQstC+0LQg0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YDQsCDQt9Cw0L/QuNGB0Lgg0YHQtdGC0LrQuCDQsiDQv9C+0YDRj9C00LrQvtCy0YvQuSDQvdC+0LzQtdGACiAqIENvbnZlcnQgZ3JpZCByZWNvcmQgaWQgaW50byBvcmRlciBudW1iZXIKICoKICovCk1vZHVsZXNVSS5wcm90b3R5cGUuaWRUb09yZGVyID0gZnVuY3Rpb24oaWQpCnsKICAgIGZvciAodmFyIGkgaW4gdGhpcy5ncmlkLnJlY29yZHMpCiAgICB7CiAgICAgICAgdmFyIHIgPSB0aGlzLmdyaWQucmVjb3Jkc1tpXTsKICAgICAgICBpZiAoci5yZWNpZCA9PSBpZCkKICAgICAgICB7CiAgICAgICAgICAgIHJldHVybiBpOwogICAgICAgIH0KICAgIH0KICAgIAogICAgcmV0dXJuIG51bGw7Cn07Ck1vZHVsZXNVSS5wcm90b3R5cGUu0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YDQktCd0L7QvNC10YAgPSBmdW5jdGlvbijQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCkKewogICAgcmV0dXJuIHRoaXMuaWRUb09yZGVyKNC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAKTsKfTsKCi8qCiAqCiAqINCg0LXQsNC60YbQuNGPINC90LAg0LjQt9C80LXQvdC10L3QuNC1INGB0LLQvtC50YHRgtCy0LAgKNC40LzRjywg0YHRgtCw0YLRg9GBKQogKiBSZWFjdGlvbiB0byBwcm9wZXJ0eSBjaGFuZ2UgKG5hbWUsIHN0YXR1cykKICoKICovCk1vZHVsZXNVSS5wcm90b3R5cGUucmVhY3RUb1Byb3BlcnR5Q2hhbmdlID0gZnVuY3Rpb24oZXZlbnQpCnsKICAgIGNvbnNvbGUubG9nKGV2ZW50KTsKICAgIHZhciBtb2R1bGUgPSB0aGlzLm1vZC5tb2R1bGVzW2V2ZW50LmluZGV4XTsKICAgIC8vIFN0YXR1cy4KICAgIGlmIChldmVudC5jb2x1bW4gPT0gMCkKICAgIHsKICAgICAgICB2YXIgc3RhdHVzID0gZXZlbnQudmFsdWVfbmV3OwogICAgICAgIG1vZHVsZS5zdGF0dXMgPSBzdGF0dXM7CiAgICB9CiAgICAvLyBOYW1lLgogICAgZWxzZSBpZiAoZXZlbnQuY29sdW1uID09IDEpCiAgICB7CiAgICAgICAgdmFyIG5hbWUgPSBldmVudC52YWx1ZV9uZXc7CiAgICAgICAgbW9kdWxlLm5hbWUgPSBuYW1lOwogICAgfQp9OwoKLyoKICoKICog0KDQtdCw0LrRhtC40Y8g0L3QsCDQuNC30LzQtdC90LXQvdC40LUg0L3QvtC80LXRgNCwCiAqIFJlYWN0aW9uIHRvIG9yZGVyIGNoYW5nZQogKgogKi8KTW9kdWxlc1VJLnByb3RvdHlwZS5yZWFjdFRvT3JkZXJDaGFuZ2UgPSBmdW5jdGlvbihldmVudCkKewogICAgdmFyIGlkV2FzID0gZXZlbnQucmVjaWQ7CiAgICB2YXIgaWROb3cgPSBldmVudC5tb3ZlQWZ0ZXI7CiAgICAvLyBOb3RoaW5nIGNoYW5nZWQuCiAgICBpZiAoaWROb3cgPT0gbnVsbCkKICAgIHsKICAgICAgICByZXR1cm47CiAgICB9CiAgICB2YXIgb3JkZXJXYXMgPSB0aGlzLmlkVG9PcmRlcihpZFdhcyk7CiAgICB2YXIgb3JkZXJOb3cgPSBudWxsOwogICAgaWYgKGlkTm93ICE9ICJib3R0b20iKQogICAgewogICAgICAgIG9yZGVyTm93ID0gdGhpcy5pZFRvT3JkZXIoaWROb3cpOwogICAgfQogICAgdGhpcy5tb2QubW92ZShvcmRlcldhcywgb3JkZXJOb3cpOwp9OwoKLyoKICoKICog0KHQu9C10LTQuNGC0Ywg0LfQsCDQuNC30LzQtdC90LXQvdC40Y/QvNC4ICjRgdGC0LDRgtGD0YHQsCwg0LjQvNC10L3QuCwg0L3QvtC80LXRgNCwKQogKiBUcmFjayBjaGFuZ2VzIChvZiBzdGF0dXMsIG5hbWUsIGlkKQogKgogKi8KTW9kdWxlc1VJLnByb3RvdHlwZS50cmFja0NoYW5nZXMgPSBmdW5jdGlvbigpCnsKICAgIHZhciBzZWxmID0gdGhpczsKICAgIHRoaXMuZ3JpZC5vbigiY2hhbmdlIiwgZnVuY3Rpb24oZXZlbnQpIHsKICAgICAgICBzZWxmLnJlYWN0VG9Qcm9wZXJ0eUNoYW5nZShldmVudCk7CiAgICB9KTsKICAgIHRoaXMuZ3JpZC5vbigicmVzdG9yZSIsIGZ1bmN0aW9uKGV2ZW50KSB7CiAgICAgICAgc2VsZi5yZWFjdFRvUHJvcGVydHlDaGFuZ2UoZXZlbnQpOwogICAgfSk7CiAgICB0aGlzLmdyaWQub24oInJlb3JkZXJSb3ciLCBmdW5jdGlvbihldmVudCkgewogICAgICAgIHNlbGYucmVhY3RUb09yZGVyQ2hhbmdlKGV2ZW50KTsKICAgIH0pOwp9OwoKLyoKICoKICog0JTQvtCx0LDQstC40YLRjCDQvdC+0LLRi9C5INC80L7QtNGD0LvRjAogKiBBZGQgYSBuZXcgbW9kdWxlCiAqCiAqLwpNb2R1bGVzVUkucHJvdG90eXBlLmFkZE1vZHVsZSA9IGZ1bmN0aW9uKCkKewogICAgdmFyIG51bWJlciA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIE1hdGguZmxvb3IoMTAwMCkpOwogICAgdmFyIG5hbWUgPSAi0LzQvtC00YPQu9GMLSIgKyBudW1iZXI7CiAgICB0aGlzLm1vZC5hZGQobmFtZSwgIiIpOwogICAgCiAgICB0aGlzLnJlZnJlc2goKTsKICAgIHZhciBpZCA9IHRoaXMuZ3JpZC5yZWNvcmRzLmxlbmd0aCAtIDE7CiAgICAvLyBPcmRlciAtPiBpZC4KICAgIHZhciByZWNpZCA9IHRoaXMuZ3JpZC5yZWNvcmRzW2lkXS5yZWNpZDsKICAgIHRoaXMuZ3JpZC5zZWxlY3QocmVjaWQpOwogICAgdGhpcy5ncmlkLnNjcm9sbEludG9WaWV3KGlkLCBudWxsLCB0cnVlKTsKfTsKCi8qCiAqCiAqINCj0LTQsNC70LjRgtGMINCy0YvQsdGA0LDQvdC90YvQuSDQvNC+0LTRg9C70YwKICogRGVsZXRlIHNlbGVjdGVkIG1vZHVsZQogKgogKi8KTW9kdWxlc1VJLnByb3RvdHlwZS5kZWxldGVNb2R1bGUgPSBmdW5jdGlvbigpCnsKICAgIHZhciByZWNpZCA9IHRoaXMuZ3JpZC5nZXRTZWxlY3Rpb24oKVswXTsKICAgIGlmICghcmVjaWQpCiAgICB7CiAgICAgICAgcmV0dXJuOwogICAgfQogICAgCiAgICB2YXIgaSA9IHRoaXMuaWRUb09yZGVyKHJlY2lkKTsKICAgIHZhciBzZWxmID0gdGhpczsKICAgIGZ1bmN0aW9uIGRlbE1vZCgpCiAgICB7CiAgICAgICAgLy9zZWxmLm1vZC5kZWxldGUoaSk7CiAgICB9CiAgICB3MmNvbmZpcm0oewogICAgICAgIHRpdGxlOiAi0J/QvtC00YLQstC10YDQttC00LXQvdC40LUiLAogICAgICAgIG1zZzogItCj0LTQsNC70LjRgtGMINCy0YvQsdGA0LDQvdC90YvQuSDQvNC+0LTRg9C70Yw/IiwKICAgICAgICB5ZXNfdGV4dDogItCj0LTQsNC70LjRgtGMIiwKICAgICAgICBub190ZXh0OiAi0J7RgtC80LXQvdCwIiwKICAgICAgICB5ZXNfY2FsbGJhY2s6IGRlbE1vZCwKICAgIH0pOwp9OwoKLyoKICoKICog0KHQvtC30LTQsNGR0Lwg0Y3QutC30LXQvNC/0LvRj9GAINCc0J7QlNCf0JgKICogQ3JlYXRlIE1PRFVJIGluc3RhbmNlCiAqCiAqLwoKdmFyIE1PRFVJID0gbnVsbDsKdmFyINCc0J7QlNCf0JggPSBudWxsOwoKZnVuY3Rpb24gaW5zdGFsbE1PRFVJKCkKewogICAgTU9EVUkgPSBuZXcgTW9kdWxlc1VJKE1PRCk7CiAgICDQnNCe0JTQn9CYID0gTU9EVUk7Cn0KCndoZW4obXVyb20uaXNSdW5TaW1wbHksIGluc3RhbGxNT0RVSSk7", {"status":true} ],