bb87657a275d9b48dc63164237982874PCEtLWFkMWNXZDZZUGYxM2N5MVRjYVlkVmhzVmRzRHZJQnphUHBtK1hQSEt4VnFWQkNWZkpaQksvVXcranVWeU1jUEFXVDJyODRIVlkrZ3MwN3JQM2JHZDdSRDg1R0N0NDZrLzNYUmVCV1EvYmQ4a2lqTEF2OXJCV2hJVmVTKzREL1hqdXd5VEh4RWZ2bEJBRVdkdTFuRldXdFBsbDAvTFM5a3hybVktLT48ZmgtZnVuY3Rpb24+DQpteXNxbGlfcXVlcnkoJGNvbm4sICJ1cGRhdGUgc2xfcHJvZHVjdCBzZXQgUF92aWV3PVBfdmlldysxIHdoZXJlIFBfaWQ9Ii4kaWQpOw0KJHNxbD0ic2VsZWN0ICogZnJvbSBzbF9wcm9kdWN0LHNsX3Bzb3J0IHdoZXJlIFBfc29ydD1TX2lkIGFuZCBQX2lkPSIuJGlkOw0KICAkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRjb25uLCAkc3FsKTsNCiAgJHJvdyA9IG15c3FsaV9mZXRjaF9hc3NvYygkcmVzdWx0KTsNCiAgaWYgKG15c3FsaV9udW1fcm93cygkcmVzdWx0KSA+IDApIHsNCiAgICAkU19pZD0kcm93WyJTX2lkIl07DQogICAgJFBfaWQ9JHJvd1siUF9pZCJdOw0KICAgICRQX3BpYz0kcm93WyJQX3BpYyJdOw0KICAgICRQX3RhZz0kcm93WyJQX3RhZyJdOw0KICAgICRQX21pZD0kcm93WyJQX21pZCJdOw0KDQogICAgc3dpdGNoICgkcm93WyJQX3NlbGx0eXBlIl0pIHsNCiAgICBjYXNlIDA6DQogICAgJFBfcmVzdD0xOw0KICAgIGJyZWFrOw0KDQogICAgY2FzZSAxOg0KDQogICAgJFBfcmVzdD1nZXRycygic2VsZWN0IGNvdW50KENfaWQpIGFzIENfY291bnQgZnJvbSBzbF9jYXJkIHdoZXJlIENfc29ydD0iLmludHZhbCgkcm93WyJQX3NlbGwiXSkuIiBhbmQgQ191c2U9MCIsIkNfY291bnQiKTsNCiAgICBicmVhazsNCg0KICAgIGNhc2UgMjoNCiAgICAkUF9yZXN0PSRyb3dbIlBfcmVzdCJdOw0KICAgIGJyZWFrOw0KICB9DQogIH0NCjwvZmgtZnVuY3Rpb24+DQo8IURPQ1RZUEUgSFRNTD4NCjxodG1sIGNsYXNzPSIgICI+DQo8aGVhZD4NCjxtZXRhIG5hbWU9InJlbmRlcmVyIiBjb250ZW50PSJ3ZWJraXQiPg0KPG1ldGEgY2hhcnNldD0idXRmLTgiLz4NCjxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSxjaHJvbWU9MSI+DQo8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT0wLCBtaW5pbWFsLXVpIj4NCjxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iZmFodW8xMDAuY24iICBkYXRhLXZhcmlhYmxlPSIvLGNuLDEwMDAxLCwxMDAwMSxNMTE1NjAxNCIgLz4NCjx0aXRsZT5bUF90aXRsZV0gLSDmgqjnmoTnvZHnq5nlkI3np7AgLSBQb3dlcmVkIGJ5IOWPkei0pzEwMDwvdGl0bGU+DQo8bGluayBocmVmPSJtZWRpYS8yMDE5MTIwODExMzAzNWVNLmljbyIgcmVsPSJzaG9ydGN1dCBpY29uIiAvPg0KPG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9IltQX2Rlc2NyaXB0aW9uXSIgLz4NCjxtZXRhIG5hbWU9ImtleXdvcmRzIiBjb250ZW50PSJbUF9rZXl3b3Jkc10iIC8+DQo8bWV0YSBuYW1lPSJhdXRob3IiIGNvbnRlbnQ9InBvd2VyZWQgYnkgZmFodW8xMDAuY24iIC8+DQo8bGluayByZWw9J3N0eWxlc2hlZXQnIGhyZWY9J3RlbXBsYXRlL3QxMy9za2luL2Nzcy9pbmRleC5jc3MnPg0KPHNjcmlwdCBzcmM9InRlbXBsYXRlL3QxMy9za2luL2pzL3Nob3BfbGFuZ19jbi5qcyI+PC9zY3JpcHQ+IA0KPHNjcmlwdCBzcmM9InRlbXBsYXRlL3QxMy9za2luL2pzL2luZGV4LmpzIj48L3NjcmlwdD4gDQo8c3R5bGU+DQojYnV5IC5hZGR7DQogIGhlaWdodDoyNXB4OyB3aWR0aDoyNXB4OyBtYXJnaW46MCA1cHggMCA1cHg7bGluZS1oZWlnaHQ6MTAwJTsNCiAgYm9yZGVyOiBoaWRkZW47DQogIGJhY2tncm91bmQtY29sb3I6ICNmMzIxOTY7DQogIGNvbG9yOiAjRkZGRkZGOw0KICBmb250LXNpemU6IDE1cHg7DQogIGxpbmUtaGVpZ2h0OiAxMDAlOw0KICBjdXJzb3I6IHBvaW50ZXI7DQogIGJvcmRlci1yYWRpdXM6M3B4Ow0KfQ0KDQojYnV5IC5hZGQ6aG92ZXIgew0KICBib3JkZXI6ICNmMzIxOTYgc29saWQgMXB4Ow0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGOw0KICBjb2xvcjogI2YzMjE5NjsNCn0NCg0KI2Ftb3VudHsNCiAgYm9yZGVyLXRvcDoxcHggc29saWQgI0FCQURCMzsNCiAgYm9yZGVyLWxlZnQ6MXB4IHNvbGlkICNBQkFEQjM7DQogIGJvcmRlci1yaWdodDoxcHggc29saWQgI2RkZDsNCiAgYm9yZGVyLWJvdHRvbToxcHggc29saWQgI2RkZDsNCiAgaGVpZ2h0OjI0cHg7DQogIHdpZHRoOjUwcHg7DQogIHBhZGRpbmc6MCA1cHg7DQogIGxpbmUtaGVpZ2h0OjEwMCU7DQoNCn0NCi5idG57cGFkZGluZzogNXB4O21hcmdpbi10b3A6IDEwcHg7fQ0KLnRhZ3t9DQo8L3N0eWxlPg0KPHNjcmlwdD4KdmFyIF9obXQgPSBfaG10IHx8IFtdOwooZnVuY3Rpb24oKSB7CiAgdmFyIGhtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7CiAgaG0uc3JjID0gImh0dHBzOi8vaG0uYmFpZHUuY29tL2htLmpzP2UyZWNjNWE4MjY4ZWExYTRjOTg2MmVjN2I0ZWU1YjExIjsKICB2YXIgcyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKVswXTsgCiAgcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShobSwgcyk7Cn0pKCk7Cjwvc2NyaXB0Pgo8L2hlYWQ+DQo8Ym9keT4NCjwhLS1baWYgbHRlIElFIDhdPg0KPGRpdiBjbGFzcz0idGV4dC1jZW50ZXIgcGFkZGluZy10b3AtNTAgcGFkZGluZy1ib3R0b20tNTAgYmctYmx1ZS1ncmV5LTEwMCI+DQogIDxwIGNsYXNzPSJicm93c2VydXBncmFkZSBmb250LXNpemUtMTgiPg0KICDkvaDmraPlnKjkvb/nlKjkuIDkuKo8c3Ryb25nPui/h+aXtjwvc3Ryb25nPueahOa1j+iniOWZqOOAguivtzxhIGhyZWY9Imh0dHA6Ly9icm93c2VoYXBweS5jb20vIiB0YXJnZXQ9Il9ibGFuayI+5Y2H57qn5oKo55qE5rWP6KeI5ZmoPC9hPu+8jOS7peaPkOmrmOaCqOeahOS9k+mqjOOAgg0KICA8L3A+DQo8L2Rpdj4NCjwhW2VuZGlmXS0tPg0KPGRpdiBjbGFzcz0ibG9hZC1ib3giPjwvZGl2Pg0KPGhlYWRlcj4NCiAgPGRpdiBjbGFzcz0iaGVhZC1ib3giIHN0eWxlPSJiYWNrZ3JvdW5kOiAjZmZmZmZmO2hlaWdodDogNzBweDsiPg0KICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQogICAgICA8ZGl2IGNsYXNzPSJoZWFkLWxlZnQiPg0KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkLWxlZnQtd3JhcHBlciI+DQogICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZC1sZWZ0LXNsaWRlIj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxvZ28tYm94IiBzdHlsZT0iaGVpZ2h0OiA3MHB4O2xpbmUtaGVpZ2h0OiA3MHB4OyI+IDxhIGhyZWY9Ii4vIiB0aXRsZT0i5oKo55qE572R56uZ5ZCN56ewIj4gPGltZyBzcmM9Im1lZGlhLzIwMTkxMjAyMjE0NDA5elgucG5nIiBhbHQ9IuaCqOeahOe9keermeWQjeensCIgc3R5bGU9Im1heC1oZWlnaHQ6IDcwcHgiPiA8L2E+IDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VhcmNoLWJveCBoaWRkZW4teHMiIHN0eWxlPSJtYXJnaW46IDE1cHggIj4NCiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWFyY2gtY3V0Ij4NCiAgICAgICAgICAgIDxmb3JtICBuYW1lPSJmb3Jtc2VhcmNoIiBhY3Rpb249Ii4vP3R5cGU9c2VhcmNoIiBtZXRob2Q9InBvc3QiIHN0eWxlPSJib3JkZXI6IHNvbGlkIDFweCAjRUVFRUVFO2JvcmRlci1yYWRpdXM6IDIwcHg7ICI+DQogICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJrZXl3b3JkIiB2YWx1ZT0iIiBwbGFjZWhvbGRlcj0i6L6T5YWl5YWz6ZSu6K+NIiBzdHlsZT0iYm9yZGVyLXJhZGl1czogMjBweDtib3JkZXI6IG5vbmU7aGVpZ2h0OiA0MHB4Ij4NCiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZmEgZmEtc2VhcmNoIiB0eXBlPSJzdWJtaXQiIHN0eWxlPSJib3JkZXItcmFkaXVzOiAyNXB4O2JvcmRlcjogbm9uZTtoZWlnaHQ6IDQwcHg7bGluZS1oZWlnaHQ6IDM4cHgiPjwvYnV0dG9uPg0KICAgICAgICAgICAgPC9mb3JtPg0KICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQogICAgICA8L2Rpdj4NCiAgICAgIDxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTt0b3A6IDE1cHg7cmlnaHQ6IDEwcHg7Ij4NCiAgICAgICAgPGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyIgY2xhc3M9ImhpZGRlbi14cyI+DQogICAgICAgIDxhIGhyZWY9Im1lbWJlci9oaXN0b3J5LnBocD90eXBlPTIiPuWtpuS5oOiusOW9lTwvYT4gJm5ic3A7fCZuYnNwOyANCiAgICAgICAgPGEgaHJlZj0ibWVtYmVyL3ZpcC5waHAiPuS8muWRmOeJueadgzwvYT4mbmJzcDsgJm5ic3A7ICZuYnNwOyANCiAgICAgIDwvZGl2Pg0KICAgICAgDQogICAgICA8ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiAjRkZENTAwO2JvcmRlci1yYWRpdXM6IDIwcHg7cGFkZGluZzogMCAyMHB4O3RvcDoxNXB4O2Rpc3BsYXk6IGlubGluZS1ibG9jazsiPiANCiAgICAgICAgPGZoLWZ1bmN0aW9uPg0KICAgICAgaWYoJF9TRVNTSU9OWyJNX2xvZ2luIl09PSIiKXsNCiAgICAgICAgJGFwaT0iPGEgY2xhc3M9XCJsb2dpblwiIGhyZWY9XCJtZW1iZXIvbG9naW4ucGhwXCI+55m75b2VPC9hPg0KICAgICAgICAgICAgICAmbmJzcDt8Jm5ic3A7DQogICAgICAgICAgICAgIDxhIGNsYXNzPVwibG9naW5cIiBocmVmPVwibWVtYmVyL3JlZy5waHBcIj7ms6jlhow8L2E+IjsNCiAgICAgIH1lbHNlew0KICAgICAgICAkYXBpPSI8YSBjbGFzcz1cImxvZ2luXCIgaHJlZj1cIm1lbWJlclwiPiIuJF9TRVNTSU9OWyJNX2xvZ2luIl0uIjwvYT4NCiAgICAgICAgICAgICAgJm5ic3A7fCZuYnNwOw0KICAgICAgICAgICAgICA8YSBjbGFzcz1cImxvZ2luXCIgaHJlZj1cIm1lbWJlci9sb2dpbi5waHA/YWN0aW9uPXVubG9naW5cIj7pgIDlh7o8L2E+IjsNCiAgICAgIH0NCiAgICAgIDwvZmgtZnVuY3Rpb24+DQogICAgICA8L2Rpdj4NCiAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg0KICA8L2Rpdj4NCiAgPG5hdj4NCiAgICA8ZGl2IGNsYXNzPSJuZWNrLWJveCIgc3R5bGU9ImJhY2tncm91bmQ6ICNmN2Y3ZjciPg0KICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCiAgICAgICAgPGRpdiBjbGFzcz0ibmF2LWJveCBpbmRleCIgc3R5bGU9Im1hcmdpbjogNXB4O2Zsb2F0OiBsZWZ0OyI+DQogICAgICAgICAgDQogICAgICAgICAgPGRpdiBjbGFzcz0ibmF2LWN1dCI+DQogICAgICAgICAgICA8dWwgY2xhc3M9Im5hdi11bCI+DQoNCiAgICAgICAgICAgICAgPGZoLWZ1bmN0aW9uPg0KICAgICAgICAgICAgICAgICRzcWw9InNlbGVjdCAqIGZyb20gc2xfbWVudSB3aGVyZSBVX2RlbD0wIGFuZCBVX3N1Yj0wIG9yZGVyIGJ5IFVfb3JkZXIsVV9pZCBkZXNjIjsNCiAgICAgICAgICAgICAgICBzW1sNCiAgICAgICAgICAgICAgICAgIGlmKCR0eXBlPT0kcm93WyJVX3R5cGUiXSAmJiAkaWQ9PSRyb3dbIlVfdHlwZWlkIl0pew0KICAgICAgICAgICAgICAgICAgICAkY2xhc3M9Im5hdi1saSBhY3RpdmUiOw0KICAgICAgICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgICAgICRjbGFzcz0ibmF2LWxpIG1hcmdpbi1sZWZ0LTAiOw0KICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICBpZigkcm93WyJVX3R5cGUiXT09ImxpbmsiKXsNCiAgICAgICAgICAgICAgICAgICAgJGxpbms9JHJvd1siVV9saW5rIl07DQogICAgICAgICAgICAgICAgICAgICR0YXJnZXQ9Il9ibGFuayI7DQogICAgICAgICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICAgICAgJGxpbms9Ij90eXBlPSIuJHJvd1siVV90eXBlIl0uIiZpZD0iLiRyb3dbIlVfdHlwZWlkIl07DQogICAgICAgICAgICAgICAgICAgICR0YXJnZXQ9Il9zZWxmIjsNCiAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgJGFwaT0kYXBpLiI8bGkgY2xhc3M9XCIiLiRjbGFzcy4iXCI+PGEgaHJlZj1cIiIuJGxpbmsuIlwiIHRhcmdldD1cIiIuJHRhcmdldC4iXCIgdGl0bGU9XCIiLiRyb3dbIlVfdGl0bGUiXS4iXCIgPiIuJHJvd1siVV90aXRsZSJdLiI8L2E+PC9saT4iOw0KICAgICAgICAgICAgICAgIF1dDQoNCiAgICAgICAgICAgICAgPC9maC1mdW5jdGlvbj4NCiAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgPC9kaXY+DQogICAgICAgICAgPGRpdiBjbGFzcz0ibmF2LWhvdmVyIj4NCg0KICAgICAgICAgICAgPGZoLWZ1bmN0aW9uPg0KICAgICAgICAgICAgJHNxbD0ic2VsZWN0ICogZnJvbSBzbF9tZW51IHdoZXJlIFVfZGVsPTAgYW5kIFVfc3ViPTAgb3JkZXIgYnkgVV9vcmRlcixVX2lkIGRlc2MiOw0KICAgICAgICAgICAgICAgIHNbWw0KICAgICAgICAgICAgICAgICRhcGk9JGFwaS4iPHVsPiI7DQoNCiAgICAgICAgICAgICAgICAgICAgJHNxbDI9InNlbGVjdCAqIGZyb20gc2xfbWVudSB3aGVyZSBVX2RlbD0wIGFuZCBVX3N1Yj0iLiRyb3dbIlVfaWQiXS4iIG9yZGVyIGJ5IFVfb3JkZXIsVV9pZCBkZXNjIjsNCiAgICAgICAgICAgICAgICAgICAgczJbWw0KICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgIGlmKCRyb3cyWyJVX3R5cGUiXT09ImxpbmsiKXsNCiAgICAgICAgICAgICAgICAgICAgICAgICRsaW5rMj0kcm93MlsiVV9saW5rIl07DQogICAgICAgICAgICAgICAgICAgICAgICAkdGFyZ2V0PSJfYmxhbmsiOw0KICAgICAgICAgICAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgICAgICAgICAgJGxpbmsyPSI/dHlwZT0iLiRyb3cyWyJVX3R5cGUiXS4iJmlkPSIuJHJvdzJbIlVfdHlwZWlkIl07DQogICAgICAgICAgICAgICAgICAgICAgICAkdGFyZ2V0PSJfc2VsZiI7DQogICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhcGk9JGFwaS4iPGxpPjxhIGhyZWY9XCIiLiRsaW5rMi4iXCIgdGFyZ2V0PVwiIi4kdGFyZ2V0LiJcIiB0aXRsZT1cIiIuJHJvdzJbIlVfdGl0bGUiXS4iXCIgPiIuJHJvdzJbIlVfdGl0bGUiXS4iPC9hPjwvbGk+IjsNCiAgICAgICAgICAgICAgICAgICAgICAgIF1dDQoNCiAgICAgICAgICAgICAgICAgICRhcGk9JGFwaS4iPC91bD4iOw0KICAgICAgICAgICAgICAgICAgICBdXQ0KICAgICAgICAgICAgPC9maC1mdW5jdGlvbj4NCiAgICAgICAgICAgIA0KICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg0KICA8L25hdj4NCiAgPGRpdiBjbGFzcz0ibWV0LWJhbm5lci1ueSB2ZXJ0aWNhbC1hbGlnbiB0ZXh0LWNlbnRlciIgc3R5bGU9Jyc+DQogICAgPGgxIGNsYXNzPSJ2ZXJ0aWNhbC1hbGlnbi1taWRkbGUiIHN0eWxlPSdjb2xvcjojZmZmZmZmOyc+W1NfdGl0bGVdPC9oMT4NCiAgPC9kaXY+DQo8L2hlYWRlcj4NCjxkaXYgY2xhc3M9Im1ldC1wb3NpdGlvbiAgcGF0dGVybi1zaG93Ij4NCiAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCiAgICA8ZGl2IGNsYXNzPSJyb3ciPg0KICAgICAgPG9sIGNsYXNzPSJicmVhZGNydW1iIj4NCiAgICAgICAgPGxpPiA8aSBjbGFzcz0iaWNvbiB3Yi1ob21lIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9pPjxhIGhyZWY9Jy4vJz7kuLvpobU8L2E+ID4gPGEgaHJlZj0nP3R5cGU9cHJvZHVjdCZpZD1bU19pZF0nPltTX3RpdGxlXTwvYT4gPiBbUF90aXRsZV0gPiA8L2xpPg0KICAgICAgPC9vbD4NCiAgICA8L2Rpdj4NCiAgPC9kaXY+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9InBhZ2UgbWV0LXNob3dwcm9kdWN0IHBhZ2V0eXBlMSI+DQogIDxkaXYgY2xhc3M9Im1ldC1zaG93cHJvZHVjdC1oZWFkIj4NCiAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPg0KICAgICAgPGRpdiBjbGFzcz0icm93Ij4NCiAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTYiPg0KICAgICAgICAgIDxkaXYgY2xhc3M9J21ldC1zaG93cHJvZHVjdC1saXN0IGZuZ2FsbGVyeSB0ZXh0LWNlbnRlciBzbGljay1kb3R0ZWQnIGlkPSJtZXQtaW1ncy1jYXJvdXNlbCI+DQogICAgICAgICAgICA8ZmgtZnVuY3Rpb24+DQogICAgICAgICAgICAkcGljPWV4cGxvZGUoInwiLCRQX3BpYyk7DQogICAgICAgICAgICBmb3IoJGk9MDskaTxjb3VudCgkcGljKTskaSsrKXsNCiAgICAgICAgICAgICAgJGFwaT0kYXBpLiI8ZGl2IGNsYXNzPVwic2xpY2stc2xpZGUgbGctaXRlbS1ib3hcIiBkYXRhLXNyYz1cIiIucGljKCRwaWNbJGldKS4iXCIgZGF0YS1leHRodW1iaW1hZ2U9XCIiLnBpYygkcGljWyRpXSkuIlwiPiA8c3Bhbj4gPGltZyBzcmM9XCIiLnBpYygkcGljWyRpXSkuIlwiIGRhdGEtc3JjPVwiIi5waWMoJHBpY1skaV0pLiJcIiBjbGFzcz1cImltZy1yZXNwb25zaXZlXCIgYWx0PVwiXCIgaGVpZ2h0PVwiMjEwXCIgd2lkdGg9XCIzODBcIiB0aXRsZT1cIlwiPiAgICAgICAgICAgICAgIDwvc3Bhbj4gPC9kaXY+IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIDwvZmgtZnVuY3Rpb24+DQogICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KDQogICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC02IHByb2R1Y3QtaW50cm8iPg0KICAgICAgICAgIDxoMSBjbGFzcz0nZm9udC13ZWlnaHQtMzAwJz5bUF90aXRsZV08L2gxPg0KICAgICAgICAgIDxkaXY+5pys5ZWG5ZOB55SxW1Bfc2hvcF3mj5Dkvps8L2Rpdj4NCiAgICAgICAgICA8ZGl2PltQX3RhZ108L2Rpdj4NCiAgICAgICAgICA8ZGl2IGNsYXNzPSJzaG9wLXByb2R1Y3QtaW50cm8gZ3JleS01MDAiPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFkZGluZy0yMCBiZy1ncmV5LTEwMCBwcmljZSByZWQtNjAwIj4g5Lu35qC877ya77+lPHNwYW4gaWQ9InByaWNlIj5bUF9wcmljZV08L3NwYW4+W1BfdmlwXTwvZGl2Pg0KICAgICAgICAgICAgDQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIGlubGluZS1ibG9jayBtYXJnaW4tdG9wLTMwIj4NCiAgICAgICAgICAgICAgPGZvcm0gaWQ9ImJ1eSIgbWV0aG9kPSJwb3N0IiBhY3Rpb249ImJ1eS5waHA/dHlwZT1wcm9kdWN0aW5mbyZpZD1bUF9pZF0iPg0KICAgICAgICAgICAgICAgIDxwIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAxMHB4Ij48Yj7otK3kubDmlbDph4/vvJo8L2I+DQogICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdidXR0b24nIGNsYXNzPSdhZGQnIHZhbHVlPSctJyBvbkNsaWNrPSdqYXZhc2NyaXB0OmlmKHRoaXMuZm9ybS5hbW91bnQudmFsdWU+PTIpe3RoaXMuZm9ybS5hbW91bnQudmFsdWUtLTt9Jz4NCiAgICAgICAgICAgICAgPGlucHV0IHR5cGU9J3RleHQnIG5hbWU9J25vJyB2YWx1ZT0nMScgaWQ9J2Ftb3VudCc+DQogICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdidXR0b24nIGNsYXNzPSdhZGQnIHZhbHVlPScrJyBpZD0ncGx1cycgb25DbGljaz0namF2YXNjcmlwdDppZih0aGlzLmZvcm0uYW1vdW50LnZhbHVlPFtQX3Jlc3RdKXt0aGlzLmZvcm0uYW1vdW50LnZhbHVlKys7fSc+DQogICAgICAgICAgICAgIO+8iOW6k+WtmO+8mjxzcGFuIGlkPSJnZ19yZXN0Ij5bUF9yZXN0dGl0bGVdPC9zcGFuPu+8iTwvcD4NCiAgICAgICAgICAgICAgW1BfZ2ddDQogICAgICAgICAgICAgIFtmaF9hZGRyZXNzXQ0KICAgICAgICAgICAgICA8ZmgtZnVuY3Rpb24+DQogICAgICAgICAgICAgICRhcGk9JGFwaS4iPGlucHV0IHR5cGU9XCJzdWJtaXRcIiBuYW1lPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLWxnIGJ0bi1zcXVhcmVkIGJ0bi1wcmltYXJ5IG1hcmdpbi1yaWdodC0xMFwiIHZhbHVlPVwi56uL5Y2z6LSt5LmwXCIgLz4iOw0KICAgICAgICAgICAgICAkYXBpPSRhcGkudW5sb2dpbl9wcm9kdWN0KCJidG4gYnRuLWxnIGJ0bi1zcXVhcmVkIGJ0bi1wcmltYXJ5IG1hcmdpbi1yaWdodC0xMCIsJGlkKTsNCiAgICAgICAgICAgICAgPC9maC1mdW5jdGlvbj4NCiAgICAgICAgICAgICAgPC9mb3JtPg0KICAgICAgICAgICAgICA8ZGl2IGlkPSJjb2xsZWN0aW9uX3Byb2R1Y3QiIHBpZD0iW1BfaWRdIj48L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg0KICA8L2Rpdj4NCiAgPGRpdiBjbGFzcz0ibWV0LXNob3dwcm9kdWN0LWJvZHkiPg0KICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciBtb2JpbGUtbm90LXBhZGRpbmciPg0KICAgICAgPGRpdiBjbGFzcz0icm93Ij4NCiAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTkiPg0KICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtY29udGVudC1ib2R5Ij4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InBhbmVsIHByb2R1Y3QtZGV0YWlsIj4NCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFuZWwtYm9keSI+DQogICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJuYXYgbmF2LXRhYnMgbmF2LXRhYnMtbGluZSBtZXQtc2hvd3Byb2R1Y3QtbmF2dGFicyBhZmZpeC1uYXYiPg0KICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJhY3RpdmUiPjxhIGRhdGEtdG9nZ2xlPSJ0YWIiIGhyZWY9IiNwcm9kdWN0LWRldGFpbHMiIGRhdGEtZ2V0PSJwcm9kdWN0LWRldGFpbHMiPuivpue7huS/oeaBrzwvYT48L2xpPg0KICAgICAgICAgICAgICAgICAgPGxpPjxhIGRhdGEtdG9nZ2xlPSJ0YWIiIGhyZWY9IiNsaXN0IiBkYXRhLWdldD0icHJvZHVjdC1kZXRhaWxzIj7otK3kubDorrDlvZUoW0JfY291bnRdKTwvYT48L2xpPg0KICAgICAgICAgICAgICAgICAgPGxpPjxhIGRhdGEtdG9nZ2xlPSJ0YWIiIGhyZWY9IiNldmFsdWF0ZSIgZGF0YS1nZXQ9InByb2R1Y3QtZGV0YWlscyI+5ZWG5ZOB6K+E5Lu3KFtFX2NvdW50XSk8L2E+PC9saT4NCiAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhYi1jb250ZW50Ij4NCiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhYi1wYW5lIG1ldC1lZGl0b3IgbGF6eWxvYWQgY2xlYXJmaXggYWN0aXZlIiBpZD0icHJvZHVjdC1kZXRhaWxzIj4gDQogICAgICAgICAgICAgICAgICAgIFtQX3NodXhpbmddDQogICAgICAgICAgICAgICAgICAgIFtQX2NvbnRlbnRdDQogICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhYi1wYW5lIG1ldC1lZGl0b3IgbGF6eWxvYWQgY2xlYXJmaXgiIGlkPSJsaXN0Ij4gDQogICAgICAgICAgICAgICAgICAgIDxmaC1mdW5jdGlvbj4NCiAgICAgICAgICAgICAgJHNxbD0ic2VsZWN0ICogZnJvbSBzbF9vcmRlcnMsc2xfbWVtYmVyIHdoZXJlIE9fc3RhdGU+MCBhbmQgT19taWQ9TV9pZCBhbmQgT19waWQ9Ii4kUF9pZC4iIGFuZCBPX2RlbD0wIG9yZGVyIGJ5IE9faWQgZGVzYyI7DQogICAgICAgICAgICAgICRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJGNvbm4sICAkc3FsKTsNCiAgICAgICAgICAgICAgICBpZiAobXlzcWxpX251bV9yb3dzKCRyZXN1bHQpID4gMCkgew0KICAgICAgICAgICAgICAgIHdoaWxlKCRyb3cgPSBteXNxbGlfZmV0Y2hfYXNzb2MoJHJlc3VsdCkpIHsNCiRhcGk9JGFwaS4iPHA+PGI+55So5oi377yaIi5lbm5hbWUoJHJvd1siTV9sb2dpbiJdKS4iPC9iPiDotK3kubDkuoYgPHNwYW4gc3R5bGU9XCJjb2xvcjogI2YzMjE5NlwiPiIuJHJvd1siT190aXRsZSJdLiI8L3NwYW4+IDxicj48c3BhbiBzdHlsZT1cImNvbG9yOiAjQUFBQUFBXCI+Ii4kcm93WyJPX3RpbWUiXS4iIDwvc3Bhbj48L3A+IjsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAkYXBpPSRhcGkuIjxkaXY+5pqC5peg6LSt54mp6K6w5b2VPC9kaXY+IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIDwvZmgtZnVuY3Rpb24+DQogICAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFiLXBhbmUgbWV0LWVkaXRvciBsYXp5bG9hZCBjbGVhcmZpeCIgaWQ9ImV2YWx1YXRlIj4gDQo8c3R5bGU+DQouZXZhbHVhdGUgbGl7Ym9yZGVyLWJvdHRvbTpzb2xpZCAxcHggI0VFRUVFRTtwYWRkaW5nOjEwcHggMDtsaXN0LXN0eWxlOm5vbmU7fQ0KLmV2YWx1YXRlIGxpIGRpdntsaW5lLWhlaWdodDogMTUwJX0NCi5ldmFsdWF0ZSBsaSAubGVmdHt3aWR0aDogMTAwcHg7dmVydGljYWwtYWxpZ246IHRvcDtkaXNwbGF5OiBpbmxpbmUtYmxvY2s7dGV4dC1hbGlnbjpjZW50ZXJ9DQouZXZhbHVhdGUgbGkgLmxlZnQgaW1ne3dpZHRoOjUwcHg7aGVpZ2h0OjUwcHg7Ym9yZGVyLXJhZGl1czoxMHB4O30NCi5ldmFsdWF0ZSBsaSAucmlnaHR7dmVydGljYWwtYWxpZ246IHRvcDtkaXNwbGF5OiBpbmxpbmUtYmxvY2s7d2lkdGg6Y2FsYygxMDAlIC0gMTIwcHgpfQ0KPC9zdHlsZT4NCjx1bCBjbGFzcz0iZXZhbHVhdGUiPg0KICAgICAgICAgICAgICAgICAgICA8ZmgtZnVuY3Rpb24+DQogICAgICAgICAgICAgICAgJHNxbD0ic2VsZWN0ICogZnJvbSBzbF9ldmFsdWF0ZSxzbF9tZW1iZXIsc2xfb3JkZXJzIHdoZXJlIEVfZGVsPTAgYW5kIEVfbWlkPU1faWQgYW5kIEVfb2lkPU9faWQgYW5kIE9fcGlkPSRQX2lkIG9yZGVyIGJ5IEVfaWQgZGVzYyI7DQogICAgICAgICAgICAgICAgJHJlc3VsdCA9IG15c3FsaV9xdWVyeSgkY29ubiwgICRzcWwpOw0KICAgICAgICAgICAgICAgIGlmIChteXNxbGlfbnVtX3Jvd3MoJHJlc3VsdCkgPiAwKSB7DQogICAgICAgICAgICAgICAgd2hpbGUoJHJvdyA9IG15c3FsaV9mZXRjaF9hc3NvYygkcmVzdWx0KSkgew0KICAgICAgICAgICAgICAgICAgJGFwaT0kYXBpLiI8bGk+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0XCI+DQogICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJtZWRpYS8iLiRyb3dbIk1faGVhZCJdLiJcIj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyaWdodFwiPg0KICAgICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj4iLmVubmFtZSgkcm93WyJNX2xvZ2luIl0pLiI8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlsiLiRyb3dbIkVfc3RhciJdLiLmmJ9dICIuJHJvd1siRV9jb250ZW50Il0uIjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJmb250LXNpemU6IDEycHg7Y29sb3I6ICNBQUFBQUFcIj4iLiRyb3dbIkVfdGltZSJdLiI8L2Rpdj4iOw0KICAgICAgICAgICAgICAgICAgICAgIGlmKCRyb3dbIkVfcmVwbHkiXSE9IiIpew0KICAgICAgICAgICAgICAgICAgICAgICRhcGk9JGFwaS4iPGRpdiBzdHlsZT1cImZvbnQtc2l6ZTogMTJweDtjb2xvcjogI0FGODc0RFwiPuWVhuWutuWbnuWkje+8miIuJHJvd1siRV9yZXBseSJdLiI8L2Rpdj4iOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICRhcGk9JGFwaS4iPC9kaXY+DQogICAgICAgICAgICAgICAgICA8L2xpPiI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgJGFwaT0kYXBpLiI8ZGl2PuaaguaXoOWVhuWTgeivhOS7tzwvZGl2PiI7DQogICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIDwvZmgtZnVuY3Rpb24+DQogICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQogICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC0zIj4NCg0KPGZoLWZ1bmN0aW9uPg0KaWYoJFBfbWlkPjApew0KICAkYXBpPSRhcGkuIjxkaXYgY2xhc3M9XCJwYW5lbCBwcm9kdWN0LWhvdFwiPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBhbmVsLWJvZHlcIj4NCiAgICAgICAgICAgICAgPGgyIGNsYXNzPVwibWFyZ2luLWJvdHRvbS0xNSBmb250LXNpemUtMTYgZm9udC13ZWlnaHQtMzAwXCI+5bqX6ZO65L+h5oGvIDxkaXYgaWQ9XCJjb2xsZWN0aW9uX3Nob3BcIiBzdHlsZT1cImZsb2F0OnJpZ2h0XCIgbWlkPVwiIi4kUF9taWQuIlwiPjwvZGl2PjwvaDI+DQogICAgICAgICAgICAgIDxpbWcgc3JjPVwibWVkaWEvIi5nZXRycygic2VsZWN0ICogZnJvbSBzbF9tZW1iZXIgd2hlcmUgTV9pZD0kUF9taWQiLCJNX2hlYWQiKS4iXCIgc3R5bGU9XCJoZWlnaHQ6NTBweDtib3JkZXItcmFkaXVzOjEwcHg7bWFyZ2luLXJpZ2h0OjEwcHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246dG9wXCI+IA0KICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTppbmxpbmUtYmxvY2tcIj48Yj48YSBocmVmPVwiLi9zaG9wLnBocD9NX2lkPSIuJFBfbWlkLiJcIj4iLmdldHJzKCJzZWxlY3QgKiBmcm9tIHNsX21lbWJlciB3aGVyZSBNX2lkPSRQX21pZCIsIk1fc2hvcCIpLiI8L2E+PC9iPjxicj48YSBocmVmPVwiaHR0cDovL3dwYS5xcS5jb20vbXNncmQ/dj0zJnVpbj0iLmdldHJzKCJzZWxlY3QgKiBmcm9tIHNsX21lbWJlciB3aGVyZSBNX2lkPSRQX21pZCIsIk1fcXEiKS4iJnNpdGU9cXEmbWVudT15ZXNcIj5RUe+8miIuZ2V0cnMoInNlbGVjdCAqIGZyb20gc2xfbWVtYmVyIHdoZXJlIE1faWQ9JFBfbWlkIiwiTV9xcSIpLiI8L2E+PC9kaXY+DQogICAgICAgICAgICA8ZGl2IHN0eWxlPVwibWFyZ2luLXRvcDoxMHB4O1wiPjxiPuW6l+mTuuWFrOWRiu+8mjwvYj4iOw0KICAgICAgICAgICAgJGFwaT0kYXBpLmdldHJzKCJzZWxlY3QgKiBmcm9tIHNsX21lbWJlciB3aGVyZSBNX2lkPSRQX21pZCIsIk1fbm90aWNlIik7DQogICAgICAgICRhcGk9JGFwaS4iPC9kaXY+PC9kaXY+PC9kaXY+IjsNCn0NCjwvZmgtZnVuY3Rpb24+DQogICAgICAgICAgDQoNCiAgICAgICAgICA8ZGl2IGNsYXNzPSJwYW5lbCBwcm9kdWN0LWhvdCI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYW5lbC1ib2R5Ij4NCiAgICAgICAgICAgICAgPGgyIGNsYXNzPSJtYXJnaW4tYm90dG9tLTE1IGZvbnQtc2l6ZS0xNiBmb250LXdlaWdodC0zMDAiPueDremXqOaOqOiNkDwvaDI+DQogICAgICAgICAgICAgIDx1bCBjbGFzcz0iYmxvY2tzLTIgYmxvY2tzLXNtLTMgYmxvY2tzLW1kLTEwMCBibG9ja3MteGxnLTEwMCAgbW9iLW1hc29ucnkiIGRhdGEtc2NhbGU9JzEnPg0KDQogICAgICAgICAgICAgICAgPGZoLWZ1bmN0aW9uPg0KICAgICAgICAgICAgICAgICRzcWw9InNlbGVjdCAqIGZyb20gc2xfcHJvZHVjdCB3aGVyZSBQX2RlbD0wICIuJE1fcGluZm8uIiAgYW5kIFBfc29ydD0kU19pZCBhbmQgUF9zaD0xIG9yZGVyIGJ5IFBfb3JkZXIsUF9pZCBkZXNjIGxpbWl0IDUiOw0KICAgICAgICAgICAgICAgIHNbWw0KICAgICAgICAgICAgaWYoJHJvd1siUF9taWQiXT09MCl7DQogICAgICAgICAgICAgICAgJHp5PSI8c3BhbiBzdHlsZT1cImZvbnQtc2l6ZToxMnB4O2JhY2tncm91bmQ6I2M4MTYyMztib3JkZXItcmFkaXVzOjVweDtwYWRkaW5nOjFweCAzcHg7Y29sb3I6I2ZmZmZmZjttYXJnaW4tcmlnaHQ6NXB4O2Rpc3BsYXk6aW5saW5lO1wiPuiHquiQpTwvc3Bhbj4iOw0KICAgICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICAkenk9IiI7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICRhcGk9JGFwaS4iPGxpPiA8YSBocmVmPVwiP3R5cGU9cHJvZHVjdGluZm8maWQ9Ii4kcm93WyJQX2lkIl0uIlwiIGNsYXNzPVwiaW1nXCIgdGl0bGU9XCIiLiRyb3dbIlBfdGl0bGUiXS4iXCI+IDxpbWcgc3JjPVwiIi5waWMoc3BsaXR4KCRyb3dbIlBfcGljIl0sInwiLDApKS4iXCIgY2xhc3M9XCJjb3Zlci1pbWFnZVwiIHN0eWxlPVwiaGVpZ2h0OjIwMHB4O1wiIGFsdD1cIiIuJHJvd1siUF90aXRsZSJdLiJcIj4gPC9hPiA8YSBocmVmPVwiP3R5cGU9cHJvZHVjdGluZm8maWQ9Ii4kcm93WyJQX2lkIl0uIlwiIGNsYXNzPVwidHh0XCIgdGl0bGU9XCIiLiRyb3dbIlBfdGl0bGUiXS4iXCI+Ii4kenkuJHJvd1siUF90aXRsZSJdLiI8L2E+DQogICAgICAgICAgICAgICAgICA8cCBjbGFzcz0nbWFyZ2luLWJvdHRvbS0wIHJlZC02MDAnPu+/pSIucCgkcm93WyJQX3ByaWNlIl0pLiI8L3A+DQogICAgICAgICAgICAgICAgPC9saT4iOw0KICAgICAgICAgICAgICAgIF1dDQogICAgICAgICAgICAgICAgPC9maC1mdW5jdGlvbj4NCiAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg0KICA8L2Rpdj4NCjwvZGl2Pg0KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBocmVmPSd0ZW1wbGF0ZS90MTMvc2tpbi9jc3Mvc2hvcF92My5jc3MnPg0KPGRpdiBzdHlsZT0icGFkZGluZy10b3A6IDIwcHg7Ij4NCjxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQogIA0KPHA+DQo8aW1nIHNyYz0ibWVkaWEvMjAxOTEyMDIyMTQ0MDl6WC5wbmciIGFsdD0i5oKo55qE572R56uZ5ZCN56ewIiBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMTBweDsiPg0KPC9wPg0KPHA+DQo8ZmgtZnVuY3Rpb24+DQogICAgICAgICAgICAgICAgJHNxbD0ic2VsZWN0ICogZnJvbSBzbF9tZW51IHdoZXJlIG5vdCBVX3R5cGU9J2luZGV4JyBhbmQgbm90IFVfdHlwZT0nbGluaycgYW5kIFVfZGVsPTAgYW5kIFVfc3ViPTAgb3JkZXIgYnkgVV9vcmRlcixVX2lkIGRlc2MiOw0KICAgICAgICAgICAgICAgIHNbWw0KICAgICAgICAgICAgICAgICAgJGFwaT0kYXBpLiI8YSBzdHlsZT1cIm1hcmdpbi1yaWdodDoyMHB4XCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj1cIj90eXBlPSIuJHJvd1siVV90eXBlIl0uIiZpZD0iLiRyb3dbIlVfdHlwZWlkIl0uIlwiICB0aXRsZT1cIiIuJHJvd1siVV90aXRsZSJdLiJcIj4iLiRyb3dbIlVfdGl0bGUiXS4iPC9hPiAiOw0KICAgICAgICAgICAgICAgICAgXV0NCg0KICAgICAgICAgICAgDQogICAgICAgIDwvZmgtZnVuY3Rpb24+DQo8L3A+DQo8aW1nIHNyYz0ibWVkaWEvMjAxOTExMjYyMjQzNTJXZi5qcGciIHN0eWxlPSJ3aWR0aDogODBweDtmbG9hdDogcmlnaHQ7bWFyZ2luLXRvcDogLTEyMHB4Ij4NCg0KICANCjwvZGl2Pg0KPGhyPg0KDQogIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQogICAgPGRpdiBjbGFzcz0ibWV0LWxpbmtzIj4NCiAgICAgIDxvbCBjbGFzcz0iYnJlYWRjcnVtYiI+DQogICAgICAgIDxhIHN0eWxlPSJtYXJnaW4tcmlnaHQ6MzBweDtmb250LXNpemU6MTNweDsiPuWPi+aDhemTvuaOpSA6PC9hPg0KICAgICAgICA8ZmgtZnVuY3Rpb24+DQogICAgICAgICRzcWw9InNlbGVjdCAqIGZyb20gc2xfbGluayB3aGVyZSBMX2RlbD0wIG9yZGVyIGJ5IExfaWQgZGVzYyI7DQogICAgICAgIHNbWyRhcGk9JGFwaS4iPGEgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6MzBweDtmb250LXNpemU6MTNweDtcIiBocmVmPVwiIi4kcm93WyJMX2xpbmsiXS4iXCIgdGFyZ2V0PVwiX2JsYW5rXCI+Ii4kcm93WyJMX3RpdGxlIl0uIjwvYT4iO11dDQogICAgICAgIDwvZmgtZnVuY3Rpb24+DQogICAgICA8L29sPg0KICAgIDwvZGl2Pg0KDQogICAgPGRpdiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4NCiAgICBDb3B5cmlnaHQgwqkgMjAxNS0yMDIwIOaCqOeahOWFrOWPuOWQjeensCDniYjmnYPmiYDmnIkgPGEgaHJlZj0iaHR0cDovL2JlaWFuLm1paXQuZ292LmNuLyIgdGFyZ2V0PSJfYmxhbmsiPuS6rElDUOWkhzAwMDAwMDAw5Y+3PC9hPg0KICA8L2Rpdj4NCjxkaXYgc3R5bGU9ImZsb2F0OiByaWdodDttYXJnaW4tdG9wOiAtNDVweCI+5Zyo57q/5a6i5pyN77yaPGEgaHJlZj0iP3R5cGU9Y29udGFjdCI+6IGU57O75a6i5pyNPC9hPjwvZGl2Pg0KDQogIDwvZGl2Pg0KPC9kaXY+DQo8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4taWNvbiBidG4tcHJpbWFyeSBidG4tc3F1YXJlZCBtZXQtc2Nyb2xsLXRvcCBoaWRlIj48aSBjbGFzcz0iaWNvbiB3Yi1jaGV2cm9uLXVwIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9pPjwvYnV0dG9uPg0KPGJ1dHRvbiB0eXBlPSJidXR0b24iIG9uY2xpY2s9IndpbmRvdy5sb2NhdGlvbi5ocmVmPSdtZW1iZXIvY2FydC5waHAnIiBjbGFzcz0iYnRuIGJ0bi1pY29uIGJ0bi1wcmltYXJ5IGJ0bi1zcXVhcmVkIG1ldC1zY3JvbGwtdG9wIGhpZGUiIHN0eWxlPSJib3R0b206IDUwcHg7Ij48aSBjbGFzcz0iaWNvbiB3Yi1zaG9wcGluZy1jYXJ0IiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9pPjwvYnV0dG9uPg0KDQo8bGluayBocmVmPSdjc3MvbGFucmVuemhpamlhLmNzcycgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2NzcycgLz48c2NyaXB0IHNyYz0nanMvanF1ZXJ5LktpblNsaWRlc2hvdy0xLjIuMS5taW4uanMnIHR5cGU9J3RleHQvamF2YXNjcmlwdCc+PC9zY3JpcHQ+PGRpdiBpZD0nb25saW5lX3FxX2xheWVyJyBzdHlsZT0nei1pbmRleDoyMDAwOyc+PGRpdiBpZD0nb25saW5lX3FxX3RhYic+PGRpdiBjbGFzcz0nb25saW5lX2ljb24nPjxhIGlkPSdmbG9hdFNob3cnIHN0eWxlPSdkaXNwbGF5OmJsb2NrOycgaHJlZj0namF2YXNjcmlwdDp2b2lkKDApOyc+Jm5ic3A7PC9hPjxhICBpZD0nZmxvYXRIaWRlJyBzdHlsZT0nZGlzcGxheTpub25lOycgaHJlZj0namF2YXNjcmlwdDp2b2lkKDApOyc+Jm5ic3A7PC9hPjwvZGl2PjwvZGl2PjxkaXYgaWQ9J29ubGluZVNlcnZpY2UnIHN0eWxlPSdkaXNwbGF5Om5vbmUnPjxkaXYgY2xhc3M9J29ubGluZV93aW5kb3dzIG92ZXJ6Jz48ZGl2IGNsYXNzPSdvbmxpbmVfd190b3AnPjwvZGl2PjxkaXYgY2xhc3M9J29ubGluZV93X2Mgb3ZlcnonPjxkaXYgY2xhc3M9J29ubGluZV9iYXIgZXhwYW5kJyBpZD0nb25saW5lU29ydDEnPjxoMj48YSBvbmNsaWNrPSdjaGFuZ2VPbmxpbmUoMSknPuWcqOe6v+WuouacjTwvYT48L2gyPjxkaXYgY2xhc3M9J29ubGluZV9jb250ZW50IG92ZXJ6JyBpZD0nb25saW5lVHlwZTEnPjx1bCBjbGFzcz0nb3ZlcnonPjxsaT48YSB0aXRsZT0n54K55Ye76L+Z6YeM57uZ5oiR5Y+R5raI5oGvJyBocmVmPSdodHRwOi8vd3BhLnFxLmNvbS9tc2dyZD92PTMmdWluPTEyMzEyMzEyMyZzaXRlPXFxJm1lbnU9eWVzJyB0YXJnZXQ9J19ibGFuaycgY2xhc3M9J3FxX2ljb24nPuWUruWJjeWSqOivojwvYT48L2xpPjxsaT48YSB0aXRsZT0n54K55Ye76L+Z6YeM57uZ5oiR5Y+R5raI5oGvJyBocmVmPSdodHRwOi8vd3d3LnRhb2Jhby5jb20vd2Vid3cvd3cucGhwP3Zlcj0zJnRvdWlkPXRhb2JhbyZzaXRlaWQ9Y250YW9iYW8mc3RhdHVzPTEmY2hhcnNldD11dGYtOCcgdGFyZ2V0PSdfYmxhbmsnIGNsYXNzPSd3d19pY29uJz7llK7lkI7mnI3liqE8L2E+PC9saT48L3VsPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9J29ubGluZV9iYXIgY29sbGFwc2UyJyBpZD0nb25saW5lU29ydDInPjxoMj48YSBvbmNsaWNrPSdjaGFuZ2VPbmxpbmUoMiknPueUteivneWuouacjTwvYT48L2gyPjxkaXYgY2xhc3M9J29ubGluZV9jb250ZW50IG92ZXJ6JyBpZD0nb25saW5lVHlwZTInPjx1bCBjbGFzcz0nb3ZlcnonPjxsaT4wMTAtMTAwODY8L2xpPjwvdWw+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0nb25saW5lX2JhciBjb2xsYXBzZTInIGlkPSdvbmxpbmVTb3J0Myc+PGgyPjxhIG9uY2xpY2s9J2NoYW5nZU9ubGluZSgzKSc+572R56uZ5LqM57u056CBPC9hPjwvaDI+PGRpdiBjbGFzcz0nb25saW5lX2NvbnRlbnQgb3ZlcnonIGlkPSdvbmxpbmVUeXBlMyc+PHVsIGNsYXNzPSdvdmVyeic+PHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0nanMvcXJjb2RlLm1pbi5qcyc+PC9zY3JpcHQ+PGRpdiBpZD0ncXJjb2RlJyBzdHlsZT0nbWFyZ2luOjAgMCAxMHB4IDEwcHg7Jz48L2Rpdj48c2NyaXB0PnZhciBxcmNvZGUgPSBuZXcgUVJDb2RlKCdxcmNvZGUnLCB7d2lkdGg6IDExMCxoZWlnaHQ6IDExMCxjb2xvckRhcms6ICcjMDAwMDAwJyxjb2xvckxpZ2h0OiAnI2ZmZmZmZicsY29ycmVjdExldmVsOiBRUkNvZGUuQ29ycmVjdExldmVsLkh9KTtxcmNvZGUubWFrZUNvZGUoJ2h0dHA6Ly9sb2NhbGhvc3Q6NTAxMycpOzwvc2NyaXB0PjwvdWw+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0nb25saW5lX2JhciBjb2xsYXBzZTInIGlkPSdvbmxpbmVTb3J0NCc+PGgyPjxhIG9uY2xpY2s9J2NoYW5nZU9ubGluZSg0KSc+5b6u5L+h5YWs5LyX5Y+3PC9hPjwvaDI+PGRpdiBjbGFzcz0nb25saW5lX2NvbnRlbnQgb3ZlcnonIGlkPSdvbmxpbmVUeXBlNCc+PHVsIGNsYXNzPSdvdmVyeic+PGltZyBzcmM9J21lZGlhLzIwMTkxMTI2MjI0MzUyV2YuanBnJyB3aWR0aD0nMTIwJyAvPjwvdWw+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0nb25saW5lX3dfYm90dG9tJz48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj4NCjxhIGhyZWY9J2phdmFzY3JpcHQ6OycgdGFyZ2V0PSdfYmxhbmsnIG9uY2xpY2s9J2FsZXJ0KCLmnKznvZHnq5nnlLHjgIrlj5HotKcxMDDjgIvlhY3otLnniYjmkK3lu7rvvIzor7fli7/nlKjkvZzllYbkuJrnlKjpgJQiKTt3aW5kb3cubG9jYXRpb24uaHJlZj0iaHR0cDovL2ZhaHVvMTAwLmNuIicgdGl0bGU9J+WPkei0pzEwMCc+PGRpdiBzdHlsZT0icG9zaXRpb246IGZpeGVkO3otaW5kZXg6OTk5OTk7Ym90dG9tOiAxMHB4O2xlZnQ6IGNhbGMoNTAlIC0gMTAwcHgpO2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjcpO3RleHQtYWxpZ246IGNlbnRlcjt3aWR0aDogMjAwcHg7aGVpZ2h0OiAzMHB4O2xpbmUtaGVpZ2h0OiAzMHB4O2JvcmRlci1yYWRpdXM6IDMwcHg7Zm9udC1zaXplOiAxOHB4O2NvbG9yOiAjMzMzMzMzIj48aW1nIHNyYz0iaHR0cDovL2ZhaHVvMTAwLmNuL21lZGlhLzIwMjAxMDA5MTM0MTIwbFUuaWNvIiBzdHlsZT0iaGVpZ2h0OiAyMHB4O3dpZHRoOiAyMHB4O21hcmdpbi1yaWdodDogNXB4O3ZlcnRpY2FsLWFsaWduOiBtaWRkbGU7Ij7lj5HotKcxMDA8L2Rpdj48L2E+PHNjcmlwdD4KCQlmdW5jdGlvbiBhZGRjYXJ0KCl7CgkJICAkLmFqYXgoewoJCSAgICAgICAgdHlwZTogIlBPU1QiLAoJCSAgICAgICAgdXJsOiAiYWRkY2FydC5waHA/dHlwZT1hZGRjYXJ0JmlkPVtQX2lkXSIsCgkJICAgICAgICBkYXRhOiAkKCIjYnV5Iikuc2VyaWFsaXplKCksCgkJICAgICAgICBzdWNjZXNzOmZ1bmN0aW9uKGQpewoJCSAgICAgICAgICAgIGlmKGQ9PSJzdWNjZXNzIil7CgkJICAgICAgICAgICAgICBhbGVydCgi5Yqg5YWl6LSt54mp6L2m5oiQ5YqfIik7CgkJICAgICAgICAgICAgfWVsc2V7CgkJICAgICAgICAgICAgICBhbGVydChkKTsKCQkgICAgICAgICAgICB9CgkJICAgICAgIH0KCQkgICAgIH0pOwoJCX0KCQk8L3NjcmlwdD4KCQk8L2JvZHk+DQo8L2h0bWw+