data:text/html;base64,PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8aGVhZD4KICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CiAgPHN0eWxlPgogICAgaHRtbCwgYm9keSB7CiAgICAgIG1hcmdpbjogMDsKICAgICAgcGFkZGluZzogMDsKICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgfQogICAgCiAgICAjZWRpdG9yIHsKICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICB0b3A6IDA7CiAgICAgIGJvdHRvbTogMDsKICAgICAgbGVmdDogMDsKICAgICAgcmlnaHQ6IDEyMHB4OyAvKiDmj5DnpLrmnaHlrr3luqYxMjBweCAqLwogICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIHdoaXRlLXNwYWNlOiBwcmU7CiAgICAgIG92ZXJmbG93OiBhdXRvOwogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmOGZhOwogICAgICBwYWRkaW5nOiAyMHB4OwogICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgfQogICAgCiAgICAubGluZS1udW1iZXIgewogICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgIHdpZHRoOiAzMHB4OwogICAgICBjb2xvcjogIzk5OTsKICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB1c2VyLWRyYWc6IG5vbmU7CiAgICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTsKICAgIH0KICAgIAogICAgLmVycm9yIHsKICAgICAgY29sb3I6IHJlZDsKICAgIH0KICAgIC5zdWNjZXNzIHsKICAgICAgY29sb3I6IGdyZWVuOwogICAgfQogICAgCiAgICAubWVzc2FnZS1iYXIgewogICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgIHRvcDogMDsKICAgICAgcmlnaHQ6IDA7CiAgICAgIHdpZHRoOiAxMjBweDsKICAgICAgaGVpZ2h0OiA0MHB4OwogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjQ0MzM2OwogICAgICBjb2xvcjogd2hpdGU7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7CiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgb3BhY2l0eTogMDsKICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzOwogICAgfQogIDwvc3R5bGU+CjwvaGVhZD4KPGJvZHk+CiAgPGRpdiBpZD0ibWVzc2FnZUJhciIgY2xhc3M9Im1lc3NhZ2UtYmFyIj48L2Rpdj4KCiAgPGRpdiBpZD0iZWRpdG9yIiBjb250ZW50ZWRpdGFibGU9InRydWUiPjwvZGl2PgoKICA8c2NyaXB0PgogICAgdmFyIGVkaXRvciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdlZGl0b3InKTsKICAgIHZhciBtZXNzYWdlQmFyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21lc3NhZ2VCYXInKTsKCiAgICBmdW5jdGlvbiBmb3JtYXRKc29uKCkgewogICAgICB2YXIgdGV4dCA9IGVkaXRvci5pbm5lclRleHQ7CiAgICAgIHRyeSB7CiAgICAgICAgdmFyIG9iaiA9IEpTT04ucGFyc2UodGV4dCk7CiAgICAgICAgZWRpdG9yLmlubmVyVGV4dCA9IEpTT04uc3RyaW5naWZ5KG9iaiwgbnVsbCwgMik7CiAgICAgICAgZWRpdG9yLmlubmVySFRNTCA9IGVkaXRvci5pbm5lckhUTUwucmVwbGFjZSgvXG4vZywgJzxicj4nKTsKICAgICAgICBlZGl0b3IuY2xhc3NMaXN0LnJlbW92ZSgnZXJyb3InKTsKICAgICAgICBzaG93TWVzc2FnZSgi6Kej5p6Q5oiQ5YqfIik7CgogICAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgIHZhciBlcnJvck1lc3NhZ2UgPSAn6Kej5p6Q5aSx6LSl77yaJyArIGVycm9yLm1lc3NhZ2U7CiAgICAgICAgdmFyIHBvc2l0aW9uID0gZXJyb3IuYXQgLSAxOwogICAgICAvLyAgZWRpdG9yLmlubmVySFRNTCA9IHRleHQucmVwbGFjZSgvXG4vZywgJzxicj4nKS5yZXBsYWNlKC8gL2csICcmbmJzcDsnKS5yZXBsYWNlKC88L2csICcmbHQ7JykucmVwbGFjZSgvPi9nLCAnJmd0OycpOwogICAgIC8vICAgZWRpdG9yLmlubmVySFRNTCA9IGVkaXRvci5pbm5lckhUTUwuc2xpY2UoMCwgcG9zaXRpb24pICsgJzxzcGFuIGNsYXNzPSJlcnJvciI+JyArIGVkaXRvci5pbm5lckhUTUwuc2xpY2UocG9zaXRpb24sIHBvc2l0aW9uICsgMSkgKyAnPC9zcGFuPicgKyBlZGl0b3IuaW5uZXJIVE1MLnNsaWNlKHBvc2l0aW9uICsgMSk7CiAgICAgLy8gICBlZGl0b3IuY2xhc3NMaXN0LmFkZCgnZXJyb3InKTsKICAgICAgICBzaG93TWVzc2FnZShlcnJvck1lc3NhZ2UpOwogICAgICB9CgogICAvLyAgIHZhciBsaW5lTnVtYmVyID0gZWRpdG9yLmlubmVyVGV4dC5zcGxpdCgnXG4nKS5sZW5ndGg7CiAgICAvLyAgdmFyIGxpbmVOdW1iZXJzID0gJyc7CiAgICAvLyAgZm9yICh2YXIgaSA9IDE7IGkgPD0gbGluZU51bWJlcjsgaSsrKSB7CiAgICAvLyAgICBsaW5lTnVtYmVycyArPSAnPGRpdiBjbGFzcz0ibGluZS1udW1iZXIiPicgKyBpICsgJzwvZGl2Pic7CiAgICAvLyAgfQogICAgLy8gIGVkaXRvci5pbm5lckhUTUwgPSBsaW5lTnVtYmVycyArIGVkaXRvci5pbm5lckhUTUw7CiAgICB9CgogICAgZnVuY3Rpb24gc2hvd01lc3NhZ2UobWVzc2FnZSkgewogICAgICBtZXNzYWdlQmFyLmlubmVyVGV4dCA9IG1lc3NhZ2U7CiAgICAgIG1lc3NhZ2VCYXIuc3R5bGUub3BhY2l0eSA9IDE7CiAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgbWVzc2FnZUJhci5zdHlsZS5vcGFjaXR5ID0gMDsKICAgICAgfSwgNTAwMCk7CiAgICB9CgogICAgZWRpdG9yLmFkZEV2ZW50TGlzdGVuZXIoJ2lucHV0JywgZm9ybWF0SnNvbik7CiAgPC9zY3JpcHQ+CjwvYm9keT4KPC9odG1sPgo=