PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS1tb2ItMCc+PGRpdiBzdHlsZT0ibWF4LWhlaWdodDozMyUhaW1wb3J0YW50O3dpZHRoOjEwMCU7YmFja2dyb3VuZDp5ZWxsb3c7Ym9yZGVyLWxlZnQ6M3B4IHNvbGlkICMwMDA7cGFkZGluZzoyJSAwO21hcmdpbjoyJSAwIj4NCjxkaXYgaWQ9InlhbmRleF9ydGJfUi1BLTIzMTM4Ny0xMCI+PC9kaXY+DQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQogICAgKGZ1bmN0aW9uKHcsIGQsIG4sIHMsIHQpIHsNCiAgICAgICAgd1tuXSA9IHdbbl0gfHwgW107DQogICAgICAgIHdbbl0ucHVzaChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIFlhLkNvbnRleHQuQWR2TWFuYWdlci5yZW5kZXIoew0KICAgICAgICAgICAgICAgIGJsb2NrSWQ6ICJSLUEtMjMxMzg3LTEwIiwNCiAgICAgICAgICAgICAgICByZW5kZXJUbzogInlhbmRleF9ydGJfUi1BLTIzMTM4Ny0xMCIsDQogICAgICAgICAgICAgICAgaG9yaXpvbnRhbEFsaWduOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBhc3luYzogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0pOw0KICAgICAgICB0ID0gZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF07DQogICAgICAgIHMgPSBkLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOw0KICAgICAgICBzLnR5cGUgPSAidGV4dC9qYXZhc2NyaXB0IjsNCiAgICAgICAgcy5zcmMgPSAiLy9hbi55YW5kZXgucnUvc3lzdGVtL2NvbnRleHQuanMiOw0KICAgICAgICBzLmFzeW5jID0gdHJ1ZTsNCiAgICAgICAgdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzLCB0KTsNCiAgICB9KSh0aGlzLCB0aGlzLmRvY3VtZW50LCAieWFuZGV4Q29udGV4dEFzeW5jQ2FsbGJhY2tzIik7DQo8L3NjcmlwdD48L2Rpdj48L2Rpdj4=PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS0wJz48ZGl2IHN0eWxlPSJtYXgtaGVpZ2h0OjMzJSFpbXBvcnRhbnQ7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kOnllbGxvdztib3JkZXItbGVmdDozcHggc29saWQgIzAwMDtwYWRkaW5nOjIlIDA7bWFyZ2luOjIlIDAiPg0KPGRpdiBpZD0ieWFuZGV4X3J0Yl9SLUEtMjMxMzg3LTEiPjwvZGl2Pg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgIChmdW5jdGlvbih3LCBkLCBuLCBzLCB0KSB7DQogICAgICAgIHdbbl0gPSB3W25dIHx8IFtdOw0KICAgICAgICB3W25dLnB1c2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICBZYS5Db250ZXh0LkFkdk1hbmFnZXIucmVuZGVyKHsNCiAgICAgICAgICAgICAgICBibG9ja0lkOiAiUi1BLTIzMTM4Ny0xIiwNCiAgICAgICAgICAgICAgICByZW5kZXJUbzogInlhbmRleF9ydGJfUi1BLTIzMTM4Ny0xIiwNCiAgICAgICAgICAgICAgICBhc3luYzogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0pOw0KICAgICAgICB0ID0gZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF07DQogICAgICAgIHMgPSBkLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOw0KICAgICAgICBzLnR5cGUgPSAidGV4dC9qYXZhc2NyaXB0IjsNCiAgICAgICAgcy5zcmMgPSAiLy9hbi55YW5kZXgucnUvc3lzdGVtL2NvbnRleHQuanMiOw0KICAgICAgICBzLmFzeW5jID0gdHJ1ZTsNCiAgICAgICAgdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzLCB0KTsNCiAgICB9KSh0aGlzLCB0aGlzLmRvY3VtZW50LCAieWFuZGV4Q29udGV4dEFzeW5jQ2FsbGJhY2tzIik7DQo8L3NjcmlwdD48L2Rpdj48L2Rpdj4=PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS1tb2ItMCc+PGRpdiBzdHlsZT0ibWF4LWhlaWdodDozMyUhaW1wb3J0YW50O3dpZHRoOjEwMCU7YmFja2dyb3VuZDp5ZWxsb3c7Ym9yZGVyLWxlZnQ6M3B4IHNvbGlkICMwMDA7cGFkZGluZzoyJSAwO21hcmdpbjoyJSAwIj4NCjxkaXYgaWQ9InlhbmRleF9ydGJfUi1BLTIzMTM4Ny0xMCI+PC9kaXY+DQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQogICAgKGZ1bmN0aW9uKHcsIGQsIG4sIHMsIHQpIHsNCiAgICAgICAgd1tuXSA9IHdbbl0gfHwgW107DQogICAgICAgIHdbbl0ucHVzaChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIFlhLkNvbnRleHQuQWR2TWFuYWdlci5yZW5kZXIoew0KICAgICAgICAgICAgICAgIGJsb2NrSWQ6ICJSLUEtMjMxMzg3LTEwIiwNCiAgICAgICAgICAgICAgICByZW5kZXJUbzogInlhbmRleF9ydGJfUi1BLTIzMTM4Ny0xMCIsDQogICAgICAgICAgICAgICAgaG9yaXpvbnRhbEFsaWduOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBhc3luYzogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0pOw0KICAgICAgICB0ID0gZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF07DQogICAgICAgIHMgPSBkLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOw0KICAgICAgICBzLnR5cGUgPSAidGV4dC9qYXZhc2NyaXB0IjsNCiAgICAgICAgcy5zcmMgPSAiLy9hbi55YW5kZXgucnUvc3lzdGVtL2NvbnRleHQuanMiOw0KICAgICAgICBzLmFzeW5jID0gdHJ1ZTsNCiAgICAgICAgdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzLCB0KTsNCiAgICB9KSh0aGlzLCB0aGlzLmRvY3VtZW50LCAieWFuZGV4Q29udGV4dEFzeW5jQ2FsbGJhY2tzIik7DQo8L3NjcmlwdD48L2Rpdj48L2Rpdj4=PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS0wJz48ZGl2IHN0eWxlPSJtYXgtaGVpZ2h0OjMzJSFpbXBvcnRhbnQ7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kOnllbGxvdztib3JkZXItbGVmdDozcHggc29saWQgIzAwMDtwYWRkaW5nOjIlIDA7bWFyZ2luOjIlIDAiPg0KPGRpdiBpZD0ieWFuZGV4X3J0Yl9SLUEtMjMxMzg3LTEiPjwvZGl2Pg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgIChmdW5jdGlvbih3LCBkLCBuLCBzLCB0KSB7DQogICAgICAgIHdbbl0gPSB3W25dIHx8IFtdOw0KICAgICAgICB3W25dLnB1c2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICBZYS5Db250ZXh0LkFkdk1hbmFnZXIucmVuZGVyKHsNCiAgICAgICAgICAgICAgICBibG9ja0lkOiAiUi1BLTIzMTM4Ny0xIiwNCiAgICAgICAgICAgICAgICByZW5kZXJUbzogInlhbmRleF9ydGJfUi1BLTIzMTM4Ny0xIiwNCiAgICAgICAgICAgICAgICBhc3luYzogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0pOw0KICAgICAgICB0ID0gZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF07DQogICAgICAgIHMgPSBkLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOw0KICAgICAgICBzLnR5cGUgPSAidGV4dC9qYXZhc2NyaXB0IjsNCiAgICAgICAgcy5zcmMgPSAiLy9hbi55YW5kZXgucnUvc3lzdGVtL2NvbnRleHQuanMiOw0KICAgICAgICBzLmFzeW5jID0gdHJ1ZTsNCiAgICAgICAgdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzLCB0KTsNCiAgICB9KSh0aGlzLCB0aGlzLmRvY3VtZW50LCAieWFuZGV4Q29udGV4dEFzeW5jQ2FsbGJhY2tzIik7DQo8L3NjcmlwdD48L2Rpdj48L2Rpdj4=PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC1nbC1tb2ItMScgPjxkaXYgc3R5bGU9Im1heC1oZWlnaHQ6MzMlIWltcG9ydGFudDt3aWR0aDoxMDAlO2JhY2tncm91bmQ6eWVsbG93O2JvcmRlci1sZWZ0OjNweCBzb2xpZCAjMDAwO3BhZGRpbmc6MiUgMDttYXJnaW46MiUgMCIgY2xhc3M9ImhpZGRlbi1tZCBoaWRkZW4tbGciPg0KPHNjcmlwdCBhc3luYyBzcmM9Ii8vcGFnZWFkMi5nb29nbGVzeW5kaWNhdGlvbi5jb20vcGFnZWFkL2pzL2Fkc2J5Z29vZ2xlLmpzIj48L3NjcmlwdD4NCiAgICA8aW5zIGNsYXNzPSJhZHNieWdvb2dsZSIgc3R5bGU9ImRpc3BsYXk6YmxvY2siIA0KICAgIGRhdGEtYWQtY2xpZW50PSJjYS1wdWItNjk4MDgyOTE2MzgxMjA0NyIgDQogICAgZGF0YS1hZC1zbG90PSI3MTU3OTE2MjE1Ij48L2lucz4NCiAgICA8c2NyaXB0Pg0KICAgICAgICB2YXIgZWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuaGlkZGVuLW1kLCAuaGlkZGVuLWxnJyk7DQogICAgICAgIHZhciBkaXNwbGF5ID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWwsIG51bGwpLmdldFByb3BlcnR5VmFsdWUoJ2Rpc3BsYXknKTsNCiAgICAgICAgdmFyIGlucyA9IGVsLnF1ZXJ5U2VsZWN0b3IoJ2lucycpOw0KICAgICAgICBpZiAoZGlzcGxheSA9PT0gJ2Jsb2NrJyl7DQogICAgICAgICAgICBpbnMuc2V0QXR0cmlidXRlKCdkYXRhLWFkLWZvcm1hdCcsICdhdXRvJyk7DQogICAgICAgIH0NCiAgICAgICAgKGFkc2J5Z29vZ2xlID0gd2luZG93LmFkc2J5Z29vZ2xlIHx8IFtdKS5wdXNoKHt9KTsNCiAgICA8L3NjcmlwdD4NCjwvZGl2PjwvZGl2Pg==PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC1nbC0xJz48ZGl2IHN0eWxlPSJtYXgtaGVpZ2h0OjMzJSFpbXBvcnRhbnQ7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kOnllbGxvdztib3JkZXItbGVmdDozcHggc29saWQgIzAwMDtwYWRkaW5nOjIlIDA7bWFyZ2luOjIlIDAiIGNsYXNzPSJoaWRkZW4tbWQgaGlkZGVuLWxnIj4NCjxzY3JpcHQgYXN5bmMgc3JjPSIvL3BhZ2VhZDIuZ29vZ2xlc3luZGljYXRpb24uY29tL3BhZ2VhZC9qcy9hZHNieWdvb2dsZS5qcyI+PC9zY3JpcHQ+DQogICAgPGlucyBjbGFzcz0iYWRzYnlnb29nbGUiIHN0eWxlPSJkaXNwbGF5OmJsb2NrIiANCiAgICBkYXRhLWFkLWNsaWVudD0iY2EtcHViLTY5ODA4MjkxNjM4MTIwNDciIA0KICAgIGRhdGEtYWQtc2xvdD0iOTk0NjE4NjQ4NCI+PC9pbnM+DQogICAgPHNjcmlwdD4NCiAgICAgICAgdmFyIGVsID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmhpZGRlbi1tZCwgLmhpZGRlbi1sZycpOw0KICAgICAgICB2YXIgZGlzcGxheSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsLCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCdkaXNwbGF5Jyk7DQogICAgICAgIHZhciBpbnMgPSBlbC5xdWVyeVNlbGVjdG9yKCdpbnMnKTsNCiAgICAgICAgaWYgKGRpc3BsYXkgPT09ICdibG9jaycpew0KICAgICAgICAgICAgaW5zLnNldEF0dHJpYnV0ZSgnZGF0YS1hZC1mb3JtYXQnLCAnYXV0bycpOw0KICAgICAgICB9DQogICAgICAgIChhZHNieWdvb2dsZSA9IHdpbmRvdy5hZHNieWdvb2dsZSB8fCBbXSkucHVzaCh7fSk7DQogICAgPC9zY3JpcHQ+DQo8L2Rpdj48L2Rpdj4=PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS1tb2ItMSc+PCEtLSBZYW5kZXguUlRCIFItQS0yMzEzODctNyAtLT4NCjxkaXYgaWQ9InlhbmRleF9ydGJfUi1BLTIzMTM4Ny03Ij48L2Rpdj4NCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCiAgICAoZnVuY3Rpb24odywgZCwgbiwgcywgdCkgew0KICAgICAgICB3W25dID0gd1tuXSB8fCBbXTsNCiAgICAgICAgd1tuXS5wdXNoKGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgWWEuQ29udGV4dC5BZHZNYW5hZ2VyLnJlbmRlcih7DQogICAgICAgICAgICAgICAgYmxvY2tJZDogIlItQS0yMzEzODctNyIsDQogICAgICAgICAgICAgICAgcmVuZGVyVG86ICJ5YW5kZXhfcnRiX1ItQS0yMzEzODctNyIsDQogICAgICAgICAgICAgICAgaG9yaXpvbnRhbEFsaWduOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBhc3luYzogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0pOw0KICAgICAgICB0ID0gZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF07DQogICAgICAgIHMgPSBkLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOw0KICAgICAgICBzLnR5cGUgPSAidGV4dC9qYXZhc2NyaXB0IjsNCiAgICAgICAgcy5zcmMgPSAiLy9hbi55YW5kZXgucnUvc3lzdGVtL2NvbnRleHQuanMiOw0KICAgICAgICBzLmFzeW5jID0gdHJ1ZTsNCiAgICAgICAgdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzLCB0KTsNCiAgICB9KSh0aGlzLCB0aGlzLmRvY3VtZW50LCAieWFuZGV4Q29udGV4dEFzeW5jQ2FsbGJhY2tzIik7DQo8L3NjcmlwdD48L2Rpdj4=PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS0xJz48ZGl2IHN0eWxlPSJ3aWR0aDoxMDAlO21heC1oZWlnaHQ6MjAwcHg7cGFkZGluZzowLjUlIj48IS0tIFlhbmRleC5SVEIgUi1BLTIzMTM4Ny00IC0tPg0KPGRpdiBpZD0ieWFuZGV4X3J0Yl9SLUEtMjMxMzg3LTQiPjwvZGl2Pg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgIChmdW5jdGlvbih3LCBkLCBuLCBzLCB0KSB7DQogICAgICAgIHdbbl0gPSB3W25dIHx8IFtdOw0KICAgICAgICB3W25dLnB1c2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICBZYS5Db250ZXh0LkFkdk1hbmFnZXIucmVuZGVyKHsNCiAgICAgICAgICAgICAgICBibG9ja0lkOiAiUi1BLTIzMTM4Ny00IiwNCiAgICAgICAgICAgICAgICByZW5kZXJUbzogInlhbmRleF9ydGJfUi1BLTIzMTM4Ny00IiwNCiAgICAgICAgICAgICAgICBob3Jpem9udGFsQWxpZ246IGZhbHNlLA0KICAgICAgICAgICAgICAgIGFzeW5jOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfSk7DQogICAgICAgIHQgPSBkLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKVswXTsNCiAgICAgICAgcyA9IGQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7DQogICAgICAgIHMudHlwZSA9ICJ0ZXh0L2phdmFzY3JpcHQiOw0KICAgICAgICBzLnNyYyA9ICIvL2FuLnlhbmRleC5ydS9zeXN0ZW0vY29udGV4dC5qcyI7DQogICAgICAgIHMuYXN5bmMgPSB0cnVlOw0KICAgICAgICB0LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHMsIHQpOw0KICAgIH0pKHRoaXMsIHRoaXMuZG9jdW1lbnQsICJ5YW5kZXhDb250ZXh0QXN5bmNDYWxsYmFja3MiKTsNCjwvc2NyaXB0PjwvZGl2PjwvZGl2Pg==PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC1nbC1tb2ItMicgPjxkaXYgc3R5bGU9Im1heC1oZWlnaHQ6MzMlIWltcG9ydGFudDt3aWR0aDoxMDAlO2JhY2tncm91bmQ6eWVsbG93O2JvcmRlci1sZWZ0OjNweCBzb2xpZCAjMDAwO3BhZGRpbmc6MiUgMDttYXJnaW46MiUgMCI+PHNjcmlwdCBhc3luYyBzcmM9Ii8vcGFnZWFkMi5nb29nbGVzeW5kaWNhdGlvbi5jb20vcGFnZWFkL2pzL2Fkc2J5Z29vZ2xlLmpzIj48L3NjcmlwdD4NCjwhLS0gc2xfX3NuZ2xfXzIgLS0+DQo8aW5zIGNsYXNzPSJhZHNieWdvb2dsZSINCiAgICAgc3R5bGU9ImRpc3BsYXk6YmxvY2siDQogICAgIGRhdGEtYWQtY2xpZW50PSJjYS1wdWItNjk4MDgyOTE2MzgxMjA0NyINCiAgICAgZGF0YS1hZC1zbG90PSI1MTIxMzA1Mjk1Ig0KICAgICBkYXRhLWFkLWZvcm1hdD0iYXV0byI+PC9pbnM+DQo8c2NyaXB0Pg0KKGFkc2J5Z29vZ2xlID0gd2luZG93LmFkc2J5Z29vZ2xlIHx8IFtdKS5wdXNoKHt9KTsNCjwvc2NyaXB0Pg0KPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC1nbC0yJz48ZGl2IHN0eWxlPSJtYXgtaGVpZ2h0OjMzJSFpbXBvcnRhbnQ7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kOnllbGxvdztib3JkZXItbGVmdDozcHggc29saWQgIzAwMDtwYWRkaW5nOjIlIDA7bWFyZ2luOjIlIDAiPjxzY3JpcHQgYXN5bmMgc3JjPSIvL3BhZ2VhZDIuZ29vZ2xlc3luZGljYXRpb24uY29tL3BhZ2VhZC9qcy9hZHNieWdvb2dsZS5qcyI+PC9zY3JpcHQ+DQo8IS0tIHNsX19zbmdsX18yIC0tPg0KPGlucyBjbGFzcz0iYWRzYnlnb29nbGUiDQogICAgIHN0eWxlPSJkaXNwbGF5OmJsb2NrIg0KICAgICBkYXRhLWFkLWNsaWVudD0iY2EtcHViLTY5ODA4MjkxNjM4MTIwNDciDQogICAgIGRhdGEtYWQtc2xvdD0iNTEyMTMwNTI5NSINCiAgICAgZGF0YS1hZC1mb3JtYXQ9ImF1dG8iPjwvaW5zPg0KPHNjcmlwdD4NCihhZHNieWdvb2dsZSA9IHdpbmRvdy5hZHNieWdvb2dsZSB8fCBbXSkucHVzaCh7fSk7DQo8L3NjcmlwdD4NCjwvZGl2PjwvZGl2Pg==PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS1tb2ItMic+PCEtLSBZYW5kZXguUlRCIFItQS0yMzEzODctOCAtLT4NCjxkaXYgaWQ9InlhbmRleF9ydGJfUi1BLTIzMTM4Ny04Ij48L2Rpdj4NCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCiAgICAoZnVuY3Rpb24odywgZCwgbiwgcywgdCkgew0KICAgICAgICB3W25dID0gd1tuXSB8fCBbXTsNCiAgICAgICAgd1tuXS5wdXNoKGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgWWEuQ29udGV4dC5BZHZNYW5hZ2VyLnJlbmRlcih7DQogICAgICAgICAgICAgICAgYmxvY2tJZDogIlItQS0yMzEzODctOCIsDQogICAgICAgICAgICAgICAgcmVuZGVyVG86ICJ5YW5kZXhfcnRiX1ItQS0yMzEzODctOCIsDQogICAgICAgICAgICAgICAgaG9yaXpvbnRhbEFsaWduOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBhc3luYzogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0pOw0KICAgICAgICB0ID0gZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF07DQogICAgICAgIHMgPSBkLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOw0KICAgICAgICBzLnR5cGUgPSAidGV4dC9qYXZhc2NyaXB0IjsNCiAgICAgICAgcy5zcmMgPSAiLy9hbi55YW5kZXgucnUvc3lzdGVtL2NvbnRleHQuanMiOw0KICAgICAgICBzLmFzeW5jID0gdHJ1ZTsNCiAgICAgICAgdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzLCB0KTsNCiAgICB9KSh0aGlzLCB0aGlzLmRvY3VtZW50LCAieWFuZGV4Q29udGV4dEFzeW5jQ2FsbGJhY2tzIik7DQo8L3NjcmlwdD48L2Rpdj4=PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS0yJz48ZGl2IHN0eWxlPSJ3aWR0aDoxMDAlO21heC1oZWlnaHQ6MjAwcHg7cGFkZGluZzowLjUlIj48IS0tIFlhbmRleC5SVEIgUi1BLTIzMTM4Ny01IC0tPg0KPGRpdiBpZD0ieWFuZGV4X3J0Yl9SLUEtMjMxMzg3LTUiPjwvZGl2Pg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgIChmdW5jdGlvbih3LCBkLCBuLCBzLCB0KSB7DQogICAgICAgIHdbbl0gPSB3W25dIHx8IFtdOw0KICAgICAgICB3W25dLnB1c2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICBZYS5Db250ZXh0LkFkdk1hbmFnZXIucmVuZGVyKHsNCiAgICAgICAgICAgICAgICBibG9ja0lkOiAiUi1BLTIzMTM4Ny01IiwNCiAgICAgICAgICAgICAgICByZW5kZXJUbzogInlhbmRleF9ydGJfUi1BLTIzMTM4Ny01IiwNCiAgICAgICAgICAgICAgICBob3Jpem9udGFsQWxpZ246IGZhbHNlLA0KICAgICAgICAgICAgICAgIGFzeW5jOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfSk7DQogICAgICAgIHQgPSBkLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKVswXTsNCiAgICAgICAgcyA9IGQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7DQogICAgICAgIHMudHlwZSA9ICJ0ZXh0L2phdmFzY3JpcHQiOw0KICAgICAgICBzLnNyYyA9ICIvL2FuLnlhbmRleC5ydS9zeXN0ZW0vY29udGV4dC5qcyI7DQogICAgICAgIHMuYXN5bmMgPSB0cnVlOw0KICAgICAgICB0LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHMsIHQpOw0KICAgIH0pKHRoaXMsIHRoaXMuZG9jdW1lbnQsICJ5YW5kZXhDb250ZXh0QXN5bmNDYWxsYmFja3MiKTsNCjwvc2NyaXB0PjwvZGl2PjwvZGl2Pg==PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC1nbC1tb2ItMycgPjxkaXYgc3R5bGU9Im1heC1oZWlnaHQ6MzMlIWltcG9ydGFudDt3aWR0aDoxMDAlO2JhY2tncm91bmQ6eWVsbG93O2JvcmRlci1sZWZ0OjNweCBzb2xpZCAjMDAwO3BhZGRpbmc6MiUgMDttYXJnaW46MiUgMCI+PHNjcmlwdCBhc3luYyBzcmM9Ii8vcGFnZWFkMi5nb29nbGVzeW5kaWNhdGlvbi5jb20vcGFnZWFkL2pzL2Fkc2J5Z29vZ2xlLmpzIj48L3NjcmlwdD4NCjwhLS0gc2xfX3NuZ2xfXzMgLS0+DQo8aW5zIGNsYXNzPSJhZHNieWdvb2dsZSINCiAgICAgc3R5bGU9ImRpc3BsYXk6YmxvY2siDQogICAgIGRhdGEtYWQtY2xpZW50PSJjYS1wdWItNjk4MDgyOTE2MzgxMjA0NyINCiAgICAgZGF0YS1hZC1zbG90PSIxNTYxMjEwNTI1Ig0KICAgICBkYXRhLWFkLWZvcm1hdD0iYXV0byI+PC9pbnM+DQo8c2NyaXB0Pg0KKGFkc2J5Z29vZ2xlID0gd2luZG93LmFkc2J5Z29vZ2xlIHx8IFtdKS5wdXNoKHt9KTsNCjwvc2NyaXB0Pg0KPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC1nbC0zJz48ZGl2IHN0eWxlPSJtYXgtaGVpZ2h0OjMzJSFpbXBvcnRhbnQ7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kOnllbGxvdztib3JkZXItbGVmdDozcHggc29saWQgIzAwMDtwYWRkaW5nOjIlIDA7bWFyZ2luOjIlIDAiPjxzY3JpcHQgYXN5bmMgc3JjPSIvL3BhZ2VhZDIuZ29vZ2xlc3luZGljYXRpb24uY29tL3BhZ2VhZC9qcy9hZHNieWdvb2dsZS5qcyI+PC9zY3JpcHQ+DQo8IS0tIHNsX19zbmdsX18zIC0tPg0KPGlucyBjbGFzcz0iYWRzYnlnb29nbGUiDQogICAgIHN0eWxlPSJkaXNwbGF5OmJsb2NrIg0KICAgICBkYXRhLWFkLWNsaWVudD0iY2EtcHViLTY5ODA4MjkxNjM4MTIwNDciDQogICAgIGRhdGEtYWQtc2xvdD0iMTU2MTIxMDUyNSINCiAgICAgZGF0YS1hZC1mb3JtYXQ9ImF1dG8iPjwvaW5zPg0KPHNjcmlwdD4NCihhZHNieWdvb2dsZSA9IHdpbmRvdy5hZHNieWdvb2dsZSB8fCBbXSkucHVzaCh7fSk7DQo8L3NjcmlwdD4NCjwvZGl2PjwvZGl2Pg==PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS1tb2ItMyc+PCEtLSBZYW5kZXguUlRCIFItQS0yMzEzODctOSAtLT4NCjxkaXYgaWQ9InlhbmRleF9ydGJfUi1BLTIzMTM4Ny05Ij48L2Rpdj4NCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCiAgICAoZnVuY3Rpb24odywgZCwgbiwgcywgdCkgew0KICAgICAgICB3W25dID0gd1tuXSB8fCBbXTsNCiAgICAgICAgd1tuXS5wdXNoKGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgWWEuQ29udGV4dC5BZHZNYW5hZ2VyLnJlbmRlcih7DQogICAgICAgICAgICAgICAgYmxvY2tJZDogIlItQS0yMzEzODctOSIsDQogICAgICAgICAgICAgICAgcmVuZGVyVG86ICJ5YW5kZXhfcnRiX1ItQS0yMzEzODctOSIsDQogICAgICAgICAgICAgICAgaG9yaXpvbnRhbEFsaWduOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBhc3luYzogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0pOw0KICAgICAgICB0ID0gZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF07DQogICAgICAgIHMgPSBkLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOw0KICAgICAgICBzLnR5cGUgPSAidGV4dC9qYXZhc2NyaXB0IjsNCiAgICAgICAgcy5zcmMgPSAiLy9hbi55YW5kZXgucnUvc3lzdGVtL2NvbnRleHQuanMiOw0KICAgICAgICBzLmFzeW5jID0gdHJ1ZTsNCiAgICAgICAgdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzLCB0KTsNCiAgICB9KSh0aGlzLCB0aGlzLmRvY3VtZW50LCAieWFuZGV4Q29udGV4dEFzeW5jQ2FsbGJhY2tzIik7DQo8L3NjcmlwdD48L2Rpdj4=PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS0zJz48ZGl2IHN0eWxlPSJ3aWR0aDoxMDAlO21heC1oZWlnaHQ6MjAwcHg7cGFkZGluZzowLjUlIj48IS0tIFlhbmRleC5SVEIgUi1BLTIzMTM4Ny02IC0tPg0KPGRpdiBpZD0ieWFuZGV4X3J0Yl9SLUEtMjMxMzg3LTYiPjwvZGl2Pg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgIChmdW5jdGlvbih3LCBkLCBuLCBzLCB0KSB7DQogICAgICAgIHdbbl0gPSB3W25dIHx8IFtdOw0KICAgICAgICB3W25dLnB1c2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICBZYS5Db250ZXh0LkFkdk1hbmFnZXIucmVuZGVyKHsNCiAgICAgICAgICAgICAgICBibG9ja0lkOiAiUi1BLTIzMTM4Ny02IiwNCiAgICAgICAgICAgICAgICByZW5kZXJUbzogInlhbmRleF9ydGJfUi1BLTIzMTM4Ny02IiwNCiAgICAgICAgICAgICAgICBob3Jpem9udGFsQWxpZ246IGZhbHNlLA0KICAgICAgICAgICAgICAgIGFzeW5jOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfSk7DQogICAgICAgIHQgPSBkLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKVswXTsNCiAgICAgICAgcyA9IGQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7DQogICAgICAgIHMudHlwZSA9ICJ0ZXh0L2phdmFzY3JpcHQiOw0KICAgICAgICBzLnNyYyA9ICIvL2FuLnlhbmRleC5ydS9zeXN0ZW0vY29udGV4dC5qcyI7DQogICAgICAgIHMuYXN5bmMgPSB0cnVlOw0KICAgICAgICB0LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHMsIHQpOw0KICAgIH0pKHRoaXMsIHRoaXMuZG9jdW1lbnQsICJ5YW5kZXhDb250ZXh0QXN5bmNDYWxsYmFja3MiKTsNCjwvc2NyaXB0PjwvZGl2PjwvZGl2Pg==PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS1tb2ItNCc+PGRpdiBzdHlsZT0ibWF4LWhlaWdodDozMyUhaW1wb3J0YW50O3dpZHRoOjEwMCU7YmFja2dyb3VuZDp5ZWxsb3c7Ym9yZGVyLWxlZnQ6M3B4IHNvbGlkICMwMDA7cGFkZGluZzoyJSAwO21hcmdpbjoyJSAwIj48c2NyaXB0IGFzeW5jIHNyYz0iLy9wYWdlYWQyLmdvb2dsZXN5bmRpY2F0aW9uLmNvbS9wYWdlYWQvanMvYWRzYnlnb29nbGUuanMiPjwvc2NyaXB0Pg0KPCEtLSBzbF9fc25nbF9fNCAtLT4NCjxpbnMgY2xhc3M9ImFkc2J5Z29vZ2xlIg0KICAgICBzdHlsZT0iZGlzcGxheTpibG9jayINCiAgICAgZGF0YS1hZC1jbGllbnQ9ImNhLXB1Yi02OTgwODI5MTYzODEyMDQ3Ig0KICAgICBkYXRhLWFkLXNsb3Q9IjMwNjE5OTQ0NTYiDQogICAgIGRhdGEtYWQtZm9ybWF0PSJhdXRvIj48L2lucz4NCjxzY3JpcHQ+DQooYWRzYnlnb29nbGUgPSB3aW5kb3cuYWRzYnlnb29nbGUgfHwgW10pLnB1c2goe30pOw0KPC9zY3JpcHQ+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS00Jz48ZGl2IHN0eWxlPSJtYXgtaGVpZ2h0OjMzJSFpbXBvcnRhbnQ7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kOnllbGxvdztib3JkZXItbGVmdDozcHggc29saWQgIzAwMDtwYWRkaW5nOjIlIDA7bWFyZ2luOjIlIDAiPjxzY3JpcHQgYXN5bmMgc3JjPSIvL3BhZ2VhZDIuZ29vZ2xlc3luZGljYXRpb24uY29tL3BhZ2VhZC9qcy9hZHNieWdvb2dsZS5qcyI+PC9zY3JpcHQ+DQo8IS0tIHNsX19zbmdsX180IC0tPg0KPGlucyBjbGFzcz0iYWRzYnlnb29nbGUiDQogICAgIHN0eWxlPSJkaXNwbGF5OmJsb2NrIg0KICAgICBkYXRhLWFkLWNsaWVudD0iY2EtcHViLTY5ODA4MjkxNjM4MTIwNDciDQogICAgIGRhdGEtYWQtc2xvdD0iMzA2MTk5NDQ1NiINCiAgICAgZGF0YS1hZC1mb3JtYXQ9ImF1dG8iPjwvaW5zPg0KPHNjcmlwdD4NCihhZHNieWdvb2dsZSA9IHdpbmRvdy5hZHNieWdvb2dsZSB8fCBbXSkucHVzaCh7fSk7DQo8L3NjcmlwdD48L2Rpdj48L2Rpdj4=PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS1tb2ItNCc+PGRpdiBzdHlsZT0ibWF4LWhlaWdodDozMyUhaW1wb3J0YW50O3dpZHRoOjEwMCU7YmFja2dyb3VuZDp5ZWxsb3c7Ym9yZGVyLWxlZnQ6M3B4IHNvbGlkICMwMDA7cGFkZGluZzoyJSAwO21hcmdpbjoyJSAwIj48c2NyaXB0IGFzeW5jIHNyYz0iLy9wYWdlYWQyLmdvb2dsZXN5bmRpY2F0aW9uLmNvbS9wYWdlYWQvanMvYWRzYnlnb29nbGUuanMiPjwvc2NyaXB0Pg0KPCEtLSBzbF9fc25nbF9fNCAtLT4NCjxpbnMgY2xhc3M9ImFkc2J5Z29vZ2xlIg0KICAgICBzdHlsZT0iZGlzcGxheTpibG9jayINCiAgICAgZGF0YS1hZC1jbGllbnQ9ImNhLXB1Yi02OTgwODI5MTYzODEyMDQ3Ig0KICAgICBkYXRhLWFkLXNsb3Q9IjMwNjE5OTQ0NTYiDQogICAgIGRhdGEtYWQtZm9ybWF0PSJhdXRvIj48L2lucz4NCjxzY3JpcHQ+DQooYWRzYnlnb29nbGUgPSB3aW5kb3cuYWRzYnlnb29nbGUgfHwgW10pLnB1c2goe30pOw0KPC9zY3JpcHQ+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS00Jz48ZGl2IHN0eWxlPSJtYXgtaGVpZ2h0OjMzJSFpbXBvcnRhbnQ7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kOnllbGxvdztib3JkZXItbGVmdDozcHggc29saWQgIzAwMDtwYWRkaW5nOjIlIDA7bWFyZ2luOjIlIDAiPjxzY3JpcHQgYXN5bmMgc3JjPSIvL3BhZ2VhZDIuZ29vZ2xlc3luZGljYXRpb24uY29tL3BhZ2VhZC9qcy9hZHNieWdvb2dsZS5qcyI+PC9zY3JpcHQ+DQo8IS0tIHNsX19zbmdsX180IC0tPg0KPGlucyBjbGFzcz0iYWRzYnlnb29nbGUiDQogICAgIHN0eWxlPSJkaXNwbGF5OmJsb2NrIg0KICAgICBkYXRhLWFkLWNsaWVudD0iY2EtcHViLTY5ODA4MjkxNjM4MTIwNDciDQogICAgIGRhdGEtYWQtc2xvdD0iMzA2MTk5NDQ1NiINCiAgICAgZGF0YS1hZC1mb3JtYXQ9ImF1dG8iPjwvaW5zPg0KPHNjcmlwdD4NCihhZHNieWdvb2dsZSA9IHdpbmRvdy5hZHNieWdvb2dsZSB8fCBbXSkucHVzaCh7fSk7DQo8L3NjcmlwdD48L2Rpdj48L2Rpdj4=

Кeфир на нoчь для снижения вeса

Кефир на ночь для похудения рецепты

Выпить стаканчик-другой этого кисломолочного продукта перед сном или вместо ужина стало для многих доброй традицией. А находятся и те, кто не может уснуть без этого  своеобразного ритуала и утром чувствуют себя неважно.

Чем это можно объяснить? Эффектом плацебо? Или он на самом деле нам так необходим? Кефир на ночь для похудения – польза или вред для организма?

Кефир на ночь для похудения: полезные свойства

Об удивительных свойствах напитка много говорят известные диетологи, написана не одна книга. Считается, что он является секретом долгожительства горцев и входит в список самых полезных продуктов мира.

Кефир:

  • уникален тем, что при низкой калорийности всего в 40 ккал на 100 грамм, обладает высокой питательностью. С его помощью во время похудения можно создать дефицит калорий, организм начнет быстрее использовать накопившийся жир;
  • высокая питательность обусловлена содержанием легкоусвояемых белков, им можно перекусить перед сном;
  • источник витаминов и микроэлементов. Особенно много кальция, фосфора и витаминов группы В. А это — общее состояние человека и его иммунитет;
  • лактобактерии, которыми богат напиток, восстанавливают микрофлору кишечника, помогают ему лучше справляться с процессом переваривания пищи. Нормализуется обмен веществ и вес. Молочнокислые бактерии помогают в усвоении клетчатки овощей и фруктов, составляющих основу питания при похудении;
  • обладает легким мочегонным действием, что поможет устранить отеки и нормализовать давление;
  • свежий напиток слабит, а простоявший пару дней крепит;
  • действует, как легкое снотворное, помогает быстрее и крепче уснуть, расслабляет, успокаивает.
Специалисты вполне авторитетно заявляют, что пить кефир для похудения на ночь не только можно, но и нужно. Именно в это время суток активируются многие его полезные свойства.

Кефир на ночь для похудения полезные свойства

Например,

  • кальций лучше всего усваивается именно ночью;
  • стакан свежего напитка позволит утром легко опорожнить кишечник;
  • вы быстрее расслабитесь и уснете благодаря аминокислоте триптофан, которая содержится в нем;
  • не будете испытывать чувства голода из-за его высокой питательности;
  • на пустой желудок лактобактерии лучше усваиваются, быстрее начинают свою работу.

Кефир на ночь: какой, как и когда?

Кисломолочный продукт для похудения можно применять разными способами.

Вы можете:

  • заменить прием пищи после 19 часов. Такой метод похудения рекомендует известный диетолог Маргарита Королева. При этом напиток должен быть обезжиренным и его следует пить медленно, желательно чайной ложкой, уделяя процедуре как минимум минут двадцать. Желательно до сна выпить 3-4 стакана. Вы утолите голод, не нагружая желудок;
  • выпить стаканчик перед сном. Максимальная польза будет достигнута при пустом желудке. Это значит, что нужно ужинать, как минимум за 3 часа до сна.
Продукт в обоих случаях должен быть свежим и до 2,5% жирности. Тогда он улучшает перистальтику, избавляет от запоров и отеков, обновляет микрофлору кишечника за ночь.

Противопоказания:

  • повышенная кислотность желудка и изжога;
  • индивидуальная непереносимость лактозы;
  • дети до одного года.

Кефир на ночь для похудения результаты

Кефирные коктейли для похудения на ночь

Напиток можно употреблять не только в чистом виде. На его основе можно приготовить отличные жиросжигающие и питательные коктейли, помогающие насытить желудок и избавить от чувства голода. Они подойдут для тех, кто заменяет кефиром ужин.

Кефир с корицей для похудения на ночь:

  • 250 мл свежего напитка + чайная ложка меда + половина чайной ложки корицы + одна столовая ложка молотых отрубей;
  • можно добавить вместо отрубей молотый имбирь или красный перец чили;
  • смешать и выпить;
  • сжигает жир и уменьшает аппетит.

Кефир с чесноком:

  • 2 зубчика чеснока выдавить через пресс в стакан напитка;
  • перемешать и дать постоять в прохладном месте около часа;
  • уменьшает аппетит, избавляет от паразитов, лечит дисбактериоз.

Смузи с овсянкой вместо ужина:

  • 3 ст. л. геркулеса + стакан 0% кефира смешать, дать постоять несколько минут;
  • взбить блендером;
  • заменяет полноценный прием пищи.

С оливковым маслом для очищения на ночь:

  • стакан кефира немного подогреть;
  • добавить 1 ч. л. масла;
  • перемешать и выпить.

Для приготовления коктейлей можно использовать:

  • любые ягоды, фрукты;
  • лимон, чернослив;
  • отруби, клетчатку.

Кефир на ночь для похудения коктейли

Кефир на ночь: результаты

Польза напитка вместо ужина или перед сном очевидна.

О вреде не может идти и речи:

  • очищается организм, выводятся токсины и шлаки;
  • обновляется кишечная микрофлора, что помогает организму легче справиться с усвоением овощей и фруктов, особенно в первые дни похудения;
  • снижается вес за счет нормализации обменных процессов.

Так что, пейте на здоровье. Но не забывайте о правильном питании и активном образе жизни. Не переедайте и больше двигайтесь.

PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS1tb2ItNSc+PGRpdiBzdHlsZT0ibWF4LWhlaWdodDozMyUhaW1wb3J0YW50O3dpZHRoOjEwMCU7YmFja2dyb3VuZDp5ZWxsb3c7Ym9yZGVyLWxlZnQ6M3B4IHNvbGlkICMwMDA7cGFkZGluZzoyJSAwO21hcmdpbjoyJSAwIj48c2NyaXB0IGFzeW5jIHNyYz0iLy9wYWdlYWQyLmdvb2dsZXN5bmRpY2F0aW9uLmNvbS9wYWdlYWQvanMvYWRzYnlnb29nbGUuanMiPjwvc2NyaXB0Pg0KPCEtLSBzbF9fc25nbF9fNSAtLT4NCjxpbnMgY2xhc3M9ImFkc2J5Z29vZ2xlIg0KICAgICBzdHlsZT0iZGlzcGxheTpibG9jayINCiAgICAgZGF0YS1hZC1jbGllbnQ9ImNhLXB1Yi02OTgwODI5MTYzODEyMDQ3Ig0KICAgICBkYXRhLWFkLXNsb3Q9IjYzMTg3MTMxODgiDQogICAgIGRhdGEtYWQtZm9ybWF0PSJhdXRvIj48L2lucz4NCjxzY3JpcHQ+DQooYWRzYnlnb29nbGUgPSB3aW5kb3cuYWRzYnlnb29nbGUgfHwgW10pLnB1c2goe30pOw0KPC9zY3JpcHQ+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS01Jz48ZGl2IHN0eWxlPSJtYXgtaGVpZ2h0OjMzJSFpbXBvcnRhbnQ7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kOnllbGxvdztib3JkZXItbGVmdDozcHggc29saWQgIzAwMDtwYWRkaW5nOjIlIDA7bWFyZ2luOjIlIDAiPjxzY3JpcHQgYXN5bmMgc3JjPSIvL3BhZ2VhZDIuZ29vZ2xlc3luZGljYXRpb24uY29tL3BhZ2VhZC9qcy9hZHNieWdvb2dsZS5qcyI+PC9zY3JpcHQ+DQo8IS0tIHNsX19zbmdsX181IC0tPg0KPGlucyBjbGFzcz0iYWRzYnlnb29nbGUiDQogICAgIHN0eWxlPSJkaXNwbGF5OmJsb2NrIg0KICAgICBkYXRhLWFkLWNsaWVudD0iY2EtcHViLTY5ODA4MjkxNjM4MTIwNDciDQogICAgIGRhdGEtYWQtc2xvdD0iNjMxODcxMzE4OCINCiAgICAgZGF0YS1hZC1mb3JtYXQ9ImF1dG8iPjwvaW5zPg0KPHNjcmlwdD4NCihhZHNieWdvb2dsZSA9IHdpbmRvdy5hZHNieWdvb2dsZSB8fCBbXSkucHVzaCh7fSk7DQo8L3NjcmlwdD48L2Rpdj48L2Rpdj4=PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS1tb2ItNSc+PGRpdiBzdHlsZT0ibWF4LWhlaWdodDozMyUhaW1wb3J0YW50O3dpZHRoOjEwMCU7YmFja2dyb3VuZDp5ZWxsb3c7Ym9yZGVyLWxlZnQ6M3B4IHNvbGlkICMwMDA7cGFkZGluZzoyJSAwO21hcmdpbjoyJSAwIj48c2NyaXB0IGFzeW5jIHNyYz0iLy9wYWdlYWQyLmdvb2dsZXN5bmRpY2F0aW9uLmNvbS9wYWdlYWQvanMvYWRzYnlnb29nbGUuanMiPjwvc2NyaXB0Pg0KPCEtLSBzbF9fc25nbF9fNSAtLT4NCjxpbnMgY2xhc3M9ImFkc2J5Z29vZ2xlIg0KICAgICBzdHlsZT0iZGlzcGxheTpibG9jayINCiAgICAgZGF0YS1hZC1jbGllbnQ9ImNhLXB1Yi02OTgwODI5MTYzODEyMDQ3Ig0KICAgICBkYXRhLWFkLXNsb3Q9IjYzMTg3MTMxODgiDQogICAgIGRhdGEtYWQtZm9ybWF0PSJhdXRvIj48L2lucz4NCjxzY3JpcHQ+DQooYWRzYnlnb29nbGUgPSB3aW5kb3cuYWRzYnlnb29nbGUgfHwgW10pLnB1c2goe30pOw0KPC9zY3JpcHQ+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS01Jz48ZGl2IHN0eWxlPSJtYXgtaGVpZ2h0OjMzJSFpbXBvcnRhbnQ7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kOnllbGxvdztib3JkZXItbGVmdDozcHggc29saWQgIzAwMDtwYWRkaW5nOjIlIDA7bWFyZ2luOjIlIDAiPjxzY3JpcHQgYXN5bmMgc3JjPSIvL3BhZ2VhZDIuZ29vZ2xlc3luZGljYXRpb24uY29tL3BhZ2VhZC9qcy9hZHNieWdvb2dsZS5qcyI+PC9zY3JpcHQ+DQo8IS0tIHNsX19zbmdsX181IC0tPg0KPGlucyBjbGFzcz0iYWRzYnlnb29nbGUiDQogICAgIHN0eWxlPSJkaXNwbGF5OmJsb2NrIg0KICAgICBkYXRhLWFkLWNsaWVudD0iY2EtcHViLTY5ODA4MjkxNjM4MTIwNDciDQogICAgIGRhdGEtYWQtc2xvdD0iNjMxODcxMzE4OCINCiAgICAgZGF0YS1hZC1mb3JtYXQ9ImF1dG8iPjwvaW5zPg0KPHNjcmlwdD4NCihhZHNieWdvb2dsZSA9IHdpbmRvdy5hZHNieWdvb2dsZSB8fCBbXSkucHVzaCh7fSk7DQo8L3NjcmlwdD48L2Rpdj48L2Rpdj4=
PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC1nbC1tb2ItNycgPjxkaXYgc3R5bGU9Im1heC1oZWlnaHQ6MzMlIWltcG9ydGFudDt3aWR0aDoxMDAlO2JhY2tncm91bmQ6eWVsbG93O2JvcmRlci1sZWZ0OjNweCBzb2xpZCAjMDAwO3BhZGRpbmc6MiUgMDttYXJnaW46MiUgMCI+PHNjcmlwdCBhc3luYyBzcmM9Ii8vcGFnZWFkMi5nb29nbGVzeW5kaWNhdGlvbi5jb20vcGFnZWFkL2pzL2Fkc2J5Z29vZ2xlLmpzIj48L3NjcmlwdD4NCjwhLS0gc2xfX3NuZ2xfXzcgLS0+DQo8aW5zIGNsYXNzPSJhZHNieWdvb2dsZSINCiAgICAgc3R5bGU9ImRpc3BsYXk6YmxvY2siDQogICAgIGRhdGEtYWQtY2xpZW50PSJjYS1wdWItNjk4MDgyOTE2MzgxMjA0NyINCiAgICAgZGF0YS1hZC1zbG90PSI3OTYzMzc2NDY1Ig0KICAgICBkYXRhLWFkLWZvcm1hdD0iYXV0byI+PC9pbnM+DQo8c2NyaXB0Pg0KKGFkc2J5Z29vZ2xlID0gd2luZG93LmFkc2J5Z29vZ2xlIHx8IFtdKS5wdXNoKHt9KTsNCjwvc2NyaXB0PjwvZGl2PjwvZGl2Pg==PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC1nbC03Jz48ZGl2IHN0eWxlPSJtYXgtaGVpZ2h0OjMzJSFpbXBvcnRhbnQ7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kOnllbGxvdztib3JkZXItbGVmdDozcHggc29saWQgIzAwMDtwYWRkaW5nOjIlIDA7bWFyZ2luOjIlIDAiPjxzY3JpcHQgYXN5bmMgc3JjPSIvL3BhZ2VhZDIuZ29vZ2xlc3luZGljYXRpb24uY29tL3BhZ2VhZC9qcy9hZHNieWdvb2dsZS5qcyI+PC9zY3JpcHQ+DQo8IS0tIHNsX19zbmdsX183IC0tPg0KPGlucyBjbGFzcz0iYWRzYnlnb29nbGUiDQogICAgIHN0eWxlPSJkaXNwbGF5OmJsb2NrIg0KICAgICBkYXRhLWFkLWNsaWVudD0iY2EtcHViLTY5ODA4MjkxNjM4MTIwNDciDQogICAgIGRhdGEtYWQtc2xvdD0iNzk2MzM3NjQ2NSINCiAgICAgZGF0YS1hZC1mb3JtYXQ9ImF1dG8iPjwvaW5zPg0KPHNjcmlwdD4NCihhZHNieWdvb2dsZSA9IHdpbmRvdy5hZHNieWdvb2dsZSB8fCBbXSkucHVzaCh7fSk7DQo8L3NjcmlwdD48L2Rpdj48L2Rpdj4=PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS1tb2ItNyc+PCEtLSBZYW5kZXguUlRCIFItQS0yMzEzODctMiAtLT4NCjxkaXYgaWQ9InlhbmRleF9ydGJfUi1BLTIzMTM4Ny0yIj48L2Rpdj4NCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCiAgICAoZnVuY3Rpb24odywgZCwgbiwgcywgdCkgew0KICAgICAgICB3W25dID0gd1tuXSB8fCBbXTsNCiAgICAgICAgd1tuXS5wdXNoKGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgWWEuQ29udGV4dC5BZHZNYW5hZ2VyLnJlbmRlcih7DQogICAgICAgICAgICAgICAgYmxvY2tJZDogIlItQS0yMzEzODctMiIsDQogICAgICAgICAgICAgICAgcmVuZGVyVG86ICJ5YW5kZXhfcnRiX1ItQS0yMzEzODctMiIsDQogICAgICAgICAgICAgICAgaG9yaXpvbnRhbEFsaWduOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBhc3luYzogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0pOw0KICAgICAgICB0ID0gZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF07DQogICAgICAgIHMgPSBkLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOw0KICAgICAgICBzLnR5cGUgPSAidGV4dC9qYXZhc2NyaXB0IjsNCiAgICAgICAgcy5zcmMgPSAiLy9hbi55YW5kZXgucnUvc3lzdGVtL2NvbnRleHQuanMiOw0KICAgICAgICBzLmFzeW5jID0gdHJ1ZTsNCiAgICAgICAgdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzLCB0KTsNCiAgICB9KSh0aGlzLCB0aGlzLmRvY3VtZW50LCAieWFuZGV4Q29udGV4dEFzeW5jQ2FsbGJhY2tzIik7DQo8L3NjcmlwdD48L2Rpdj4=PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS03Jz48IS0tIFlhbmRleC5SVEIgUi1BLTIzMTM4Ny0yIC0tPg0KPGRpdiBpZD0ieWFuZGV4X3J0Yl9SLUEtMjMxMzg3LTIiPjwvZGl2Pg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgIChmdW5jdGlvbih3LCBkLCBuLCBzLCB0KSB7DQogICAgICAgIHdbbl0gPSB3W25dIHx8IFtdOw0KICAgICAgICB3W25dLnB1c2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICBZYS5Db250ZXh0LkFkdk1hbmFnZXIucmVuZGVyKHsNCiAgICAgICAgICAgICAgICBibG9ja0lkOiAiUi1BLTIzMTM4Ny0yIiwNCiAgICAgICAgICAgICAgICByZW5kZXJUbzogInlhbmRleF9ydGJfUi1BLTIzMTM4Ny0yIiwNCiAgICAgICAgICAgICAgICBob3Jpem9udGFsQWxpZ246IGZhbHNlLA0KICAgICAgICAgICAgICAgIGFzeW5jOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfSk7DQogICAgICAgIHQgPSBkLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKVswXTsNCiAgICAgICAgcyA9IGQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7DQogICAgICAgIHMudHlwZSA9ICJ0ZXh0L2phdmFzY3JpcHQiOw0KICAgICAgICBzLnNyYyA9ICIvL2FuLnlhbmRleC5ydS9zeXN0ZW0vY29udGV4dC5qcyI7DQogICAgICAgIHMuYXN5bmMgPSB0cnVlOw0KICAgICAgICB0LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHMsIHQpOw0KICAgIH0pKHRoaXMsIHRoaXMuZG9jdW1lbnQsICJ5YW5kZXhDb250ZXh0QXN5bmNDYWxsYmFja3MiKTsNCjwvc2NyaXB0PjwvZGl2Pg==
PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS1tb2ItOCc+PGRpdiBzdHlsZT0ibWF4LWhlaWdodDozMyUhaW1wb3J0YW50O3dpZHRoOjEwMCU7YmFja2dyb3VuZDp5ZWxsb3c7Ym9yZGVyLWxlZnQ6M3B4IHNvbGlkICMwMDA7cGFkZGluZzoyJSAwO21hcmdpbjoyJSAwIj48c2NyaXB0IGFzeW5jIHNyYz0iLy9wYWdlYWQyLmdvb2dsZXN5bmRpY2F0aW9uLmNvbS9wYWdlYWQvanMvYWRzYnlnb29nbGUuanMiPjwvc2NyaXB0Pg0KPCEtLSBzbF9fc25nbF9fOCAtLT4NCjxpbnMgY2xhc3M9ImFkc2J5Z29vZ2xlIg0KICAgICBzdHlsZT0iZGlzcGxheTpibG9jayINCiAgICAgZGF0YS1hZC1jbGllbnQ9ImNhLXB1Yi02OTgwODI5MTYzODEyMDQ3Ig0KICAgICBkYXRhLWFkLXNsb3Q9IjI1OTUwOTA1OTUiDQogICAgIGRhdGEtYWQtZm9ybWF0PSJhdXRvIj48L2lucz4NCjxzY3JpcHQ+DQooYWRzYnlnb29nbGUgPSB3aW5kb3cuYWRzYnlnb29nbGUgfHwgW10pLnB1c2goe30pOw0KPC9zY3JpcHQ+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS04Jz48ZGl2IHN0eWxlPSJtYXgtaGVpZ2h0OjMzJSFpbXBvcnRhbnQ7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kOnllbGxvdztib3JkZXItbGVmdDozcHggc29saWQgIzAwMDtwYWRkaW5nOjIlIDA7bWFyZ2luOjIlIDAiPjxzY3JpcHQgYXN5bmMgc3JjPSIvL3BhZ2VhZDIuZ29vZ2xlc3luZGljYXRpb24uY29tL3BhZ2VhZC9qcy9hZHNieWdvb2dsZS5qcyI+PC9zY3JpcHQ+DQo8IS0tIHNsX19zbmdsX184IC0tPg0KPGlucyBjbGFzcz0iYWRzYnlnb29nbGUiDQogICAgIHN0eWxlPSJkaXNwbGF5OmJsb2NrIg0KICAgICBkYXRhLWFkLWNsaWVudD0iY2EtcHViLTY5ODA4MjkxNjM4MTIwNDciDQogICAgIGRhdGEtYWQtc2xvdD0iMjU5NTA5MDU5NSINCiAgICAgZGF0YS1hZC1mb3JtYXQ9ImF1dG8iPjwvaW5zPg0KPHNjcmlwdD4NCihhZHNieWdvb2dsZSA9IHdpbmRvdy5hZHNieWdvb2dsZSB8fCBbXSkucHVzaCh7fSk7DQo8L3NjcmlwdD48L2Rpdj48L2Rpdj4=PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS1tb2ItOCc+PGRpdiBzdHlsZT0ibWF4LWhlaWdodDozMyUhaW1wb3J0YW50O3dpZHRoOjEwMCU7YmFja2dyb3VuZDp5ZWxsb3c7Ym9yZGVyLWxlZnQ6M3B4IHNvbGlkICMwMDA7cGFkZGluZzoyJSAwO21hcmdpbjoyJSAwIj48c2NyaXB0IGFzeW5jIHNyYz0iLy9wYWdlYWQyLmdvb2dsZXN5bmRpY2F0aW9uLmNvbS9wYWdlYWQvanMvYWRzYnlnb29nbGUuanMiPjwvc2NyaXB0Pg0KPCEtLSBzbF9fc25nbF9fOCAtLT4NCjxpbnMgY2xhc3M9ImFkc2J5Z29vZ2xlIg0KICAgICBzdHlsZT0iZGlzcGxheTpibG9jayINCiAgICAgZGF0YS1hZC1jbGllbnQ9ImNhLXB1Yi02OTgwODI5MTYzODEyMDQ3Ig0KICAgICBkYXRhLWFkLXNsb3Q9IjI1OTUwOTA1OTUiDQogICAgIGRhdGEtYWQtZm9ybWF0PSJhdXRvIj48L2lucz4NCjxzY3JpcHQ+DQooYWRzYnlnb29nbGUgPSB3aW5kb3cuYWRzYnlnb29nbGUgfHwgW10pLnB1c2goe30pOw0KPC9zY3JpcHQ+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS04Jz48ZGl2IHN0eWxlPSJtYXgtaGVpZ2h0OjMzJSFpbXBvcnRhbnQ7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kOnllbGxvdztib3JkZXItbGVmdDozcHggc29saWQgIzAwMDtwYWRkaW5nOjIlIDA7bWFyZ2luOjIlIDAiPjxzY3JpcHQgYXN5bmMgc3JjPSIvL3BhZ2VhZDIuZ29vZ2xlc3luZGljYXRpb24uY29tL3BhZ2VhZC9qcy9hZHNieWdvb2dsZS5qcyI+PC9zY3JpcHQ+DQo8IS0tIHNsX19zbmdsX184IC0tPg0KPGlucyBjbGFzcz0iYWRzYnlnb29nbGUiDQogICAgIHN0eWxlPSJkaXNwbGF5OmJsb2NrIg0KICAgICBkYXRhLWFkLWNsaWVudD0iY2EtcHViLTY5ODA4MjkxNjM4MTIwNDciDQogICAgIGRhdGEtYWQtc2xvdD0iMjU5NTA5MDU5NSINCiAgICAgZGF0YS1hZC1mb3JtYXQ9ImF1dG8iPjwvaW5zPg0KPHNjcmlwdD4NCihhZHNieWdvb2dsZSA9IHdpbmRvdy5hZHNieWdvb2dsZSB8fCBbXSkucHVzaCh7fSk7DQo8L3NjcmlwdD48L2Rpdj48L2Rpdj4=