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=

Диета «Оксаны Самойлова»

Как похудела Оксана Самойлова после родов

Супруга рэпера Джигана, основательница модного бренда MiraSezar, владелица фитнес-проекта FitForYou–Оксана Самойлова возглавила ТОП российских красавиц-мам. На ее блог в Instagram подписаны миллионы.

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

28-летняя девушка доказала общественности: настоящая женщина может все успевать – быть красивой, созидать семейный очаг и заниматься любимым делом.

«Разрез глаз изменить нельзя, убрать жир на животе – реально для каждой»

Осенью прошлого года Оксана снова стала мамой и подарила Джигану вторую дочку. Уже через несколько месяцев подписчики констатировали: фигура Самойловой – почти без изъянов. Девушке удалось похудеть на… 28 кг!

Сказалось и модельное прошлое с его суровыми законами выживания, и целеустремленность героини нашего обзора. Вопросы, которые посыпались на голову молодой мамы от подписчиц блога, подтолкнули красотку к идее создания фитнес-проекта Fit For You.

В разработке программы принимали участие лучшие тренеры и специалисты – мастера спорта, чемпионы мира, диетологи и нутрициологи. Fit For You – индивидуальная программа питания и тренировок, которая составляется для каждого с учетом нюансов функционирования его организма.

За весьма демократичный взнос в 3800 р (месячный абонемент) каждый желающий сможет заняться своей фигурой по эксклюзивной программе под кураторством личного тренера.

Оксана Самойлова не только успешно продвигает бизнес-проект, но и откровенно делится секретами похудения и формулой счастливой семейной жизни с подписчицами. Она не скрывает, доминанта жизни – муж и дочурки, а успешный бизнес –приятное приложение. Семья Самойловой и Джигана претендует на титул «идеальной ячейки общества»– и заслуженно!

👼👼💑

A post shared by Samoylova Oxana (@samoylovaoxana) on

Семейный рацион: здоровое питание

Культ здоровой еды главенствует в меню семьи Самойловой. И если муж периодически практикует «сушку» (преобладание белков в рационе), Оксана – адепт сбалансированного питания в соответствии с каноническими правилами диетологии.

Вспомним их еще раз:

  • дробный, не менее 5 раз в день, прием пищи небольшими порциями;
  • утром – сложные углеводы (каши), днем и вечером – белки (мясо, рыба) и овощи, перекусы – легкие, фруктовые или молочные;
  • при похудении готовьте на пару, максимум – на гриле без масла;
  • идеальный гарнир – паровые овощи, а лучше – свежие;
  • откажитесь от «быстрых» углеводов – сладкого, мучного, фастфуда;
  • в течение первого адаптационного месяца избавьтесь от 50% вредных продуктов, на протяжении следующих трех организм привыкнет питаться правильно.

А так выглядит одно из меню в рационе фитнес-дивы:

  • завтрак: овсянка на воде, 1 ч. л. меда, 30 г чернослива, яблоко, киви;
  • перекус: омлет с помидорами и зеленью (3 белка, 1 желток);
  • обед: 50 г гречи, 100 г куриной грудки, шпинат;
  • перекус: салат из огурца, помидора и половинки авокадо с 1 ч. л. оливкового масла;
  • ужин: 150 г паровой рыбы, огурец и помидор.

Здоровое питание – не диета, а стиль жизни

, – напоминает Оксана.

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

«Сколько себя помню, столько и хожу в спортзал»

Во времена модельного бизнеса красотка привыкла заниматься спортом до изнеможения. Привычка ходить в спортзал «как на работу»сохранилась и сегодня. Не менее 4 тренировок в расписании Самойловой – в сочетании с правильным питанием такой режим творит чудеса.

Фигура жены Джигана – предмет вожделения большинства российских мужчин. Супруга рэпера не делает поблажек даже на отдыхе и активно занимается спортом на курортах.

Интенсивные тренировки она возобновила со второго месяца после родов: 20-минутное кардио до и после занятия, силовая нагрузка, упражнения на проработку всех групп мышц по 2-3 подхода.

Хреначу в зале до тошноты

, –делилась красотка подробностями режима после родов.

Минус 30 кг – как рукой сняло! Мотивирует? Более чем!

Бьюти-советы от Оксаны Самойловой

  • Омолаживающая безинъекционная процедура Intraceuticals преображает кожу, а карбоновый пилинг Spectra Peel – лучшее средство для сужения пор.
  • Тональное средство Sensai fluid finish идеально тонирует кожу, превращая ее в «ровное полотно». Обрати внимание!
  • Пудра Chanel Vitalumie для обладательниц блестящих лбов и носов – незаменимое средство. Матирует надолго!
  • А с тушью Inglotsecret volume mascara необходимость в наращивании ресниц исчезнет навсегда.

Но главный совет от супруги Джигана – сделайте так, чтобы любимому было «тепло» рядом с вами! Будьте красивой и мудрой женщиной!

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=