Die Infos & Tipps werden beim Klicken auf den untenstehenden Button von externen Quellen unserer Partner bereitgestellt.
Bitte beachten Sie die Datenschutzerklärung.
PGJyIC8+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KZnVuY3Rpb24gcHJpbnREaXYodGl0ZWwsIGRpdk5hbWUpIHsKCXZhciBwcmludENvbnRlbnRzID0gIjxzdHlsZT4gKiB7Zm9udC1mYW1pbHk6IEFyaWFsOyBmb250LXNpemU6MTJweDsgbGluZS1oZWlnaHQ6MS40ZW07fSBib2R5IHttYXJnaW4tbGVmdDo1MHB4OyBtYXJnaW4tcmlnaHQ6NTBweDt9IGgxIHtmb250LXNpemU6MTZweDsgZm9udC13ZWlnaHQ6Ym9sZDsgZm9udC1mYW1pbHk6YXJpYWw7IG1hcmdpbi1ib3R0b206MjBweDt9IC5ub19wcmludCB7ZGlzcGxheTogbm9uZTt9PC9zdHlsZT48aDE+Iit0aXRlbCsiPC9oMT4iK2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKGRpdk5hbWUpLmlubmVySFRNTDsKCXZhciBvcmlnaW5hbENvbnRlbnRzID0gZG9jdW1lbnQuYm9keS5pbm5lckhUTUw7Cglkb2N1bWVudC5ib2R5LmlubmVySFRNTCA9IHByaW50Q29udGVudHM7Cgl3aW5kb3cucHJpbnQoKTsKCWRvY3VtZW50LmJvZHkuaW5uZXJIVE1MID0gb3JpZ2luYWxDb250ZW50czsKfQpmdW5jdGlvbiBGZW5zdGVyT2VmZm5lbiAoQWRyZXNzZSwgYnJlaXRlLCBob2VoZSkgewoJTWVpbkZlbnN0ZXIgPSB3aW5kb3cub3BlbihBZHJlc3NlLCAiWndlaXRmZW5zdGVyIiwgIndpZHRoPSIrYnJlaXRlKyIsaGVpZ2h0PSIraG9laGUrIixsZWZ0PTIwMCx0b3A9MjAwLHNjcm9sbGJhcnM9MSIpOwoJTWVpbkZlbnN0ZXIuZm9jdXMoKTsKfQo8L3NjcmlwdD4KCgo8c2NyaXB0IGxhbmd1YWdlPSJKYXZhU2NyaXB0IiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoKZnVuY3Rpb24gdG9nZ2xlRGl2KGVsZW1lbnQpewogaWYoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWxlbWVudCkuc3R5bGUuZGlzcGxheSA9PSAnbm9uZScpIHsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlbGVtZW50KS5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKICAvL3dpbmRvdy5sb2NhdGlvbiA9ICIjZW5kZSI7CiB9CiBlbHNlCiAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlbGVtZW50KS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwp9CgpmdW5jdGlvbiB0b2dnbGVEb3VibGVEaXYoZWxlbWVudDEsZWxlbWVudDIpewppZihkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlbGVtZW50MSkuc3R5bGUuZGlzcGxheSA9PSAnbm9uZScpIHsKCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGVsZW1lbnQxKS5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGVsZW1lbnQyKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwp9IGVsc2UgewoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWxlbWVudDEpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7Cglkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlbGVtZW50Mikuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7Cn0KfQoKZnVuY3Rpb24gZ2V0Q2hlY2tib3hWYWx1ZXMoZm9ybSkgewogIHZhciB2YWx1ZXMgPSBbXTsKICB2YXIgY2JfaXRlbXMgPSBmb3JtLmNiX2l0ZW07CgogIGZvciAodmFyIGk9MCwgaUxlbj1jYl9pdGVtcy5sZW5ndGg7IGk8aUxlbjsgaSsrKSB7CiAgICBpZiAoY2JfaXRlbXNbaV0uY2hlY2tlZCkgewogICAgICB2YWx1ZXMucHVzaChjYl9pdGVtc1tpXS52YWx1ZSk7CiAgICB9CiAgfQogIHJldHVybiB2YWx1ZXMuam9pbignfCcpOwp9CgoKZnVuY3Rpb24gc2hvd1Jlc3VsdChzdWNoc3RyLCBtb25hdCwgamFociwgcnVicmlrZW4sIHppZWxncnVwcGVuLCBzZWl0ZSwgdGVhc2VybW9kdXMsIGFuemFobCwgZmFjaGdlYmlldCwgdmFyaWFudGUsIG90YSwgaW5pdGlhbCkgewoJeG1saHR0cCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwoJeG1saHR0cC5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbigpIHsKCQlpZiAoeG1saHR0cC5yZWFkeVN0YXRlID09IDQgJiYgeG1saHR0cC5zdGF0dXMgPT0gMjAwKSB7CgkJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0eHRIaW50IikuaW5uZXJIVE1MID0geG1saHR0cC5yZXNwb25zZVRleHQ7CgkJfQoJfQoJeG1saHR0cC5vcGVuKCJHRVQiLCJodHRwczovL3d3dy5kZXVibmVyLW9ubGluZS5kZS9laW5iYXUvbWlvL2Jpbi9oaW50ZXJncnVuZGxhZGVuLnBocD9wYWdlPSIrc2VpdGUrIiZzPSIrZW5jb2RlVVJJQ29tcG9uZW50KHN1Y2hzdHIpKyImbT0iK21vbmF0KyImaj0iK2phaHIrIiZydWJyaWtlbj0iK2VuY29kZVVSSUNvbXBvbmVudChydWJyaWtlbikrIiZ6aWVsZ3J1cHBlbj0iK3ppZWxncnVwcGVuKyImdGVhc2VybW9kdXM9Iit0ZWFzZXJtb2R1cysiJmFuemFobD0iK2FuemFobCsiJmZhY2hnZWJpZXQ9IitmYWNoZ2ViaWV0KyImdmFyaWFudGU9Iit2YXJpYW50ZSsiJm90YT0iK290YSx0cnVlKTsKCXhtbGh0dHAuc2VuZCgpOwoJCglpZiAoaW5pdGlhbCA9PSAwKSB7IAoJCXdpbmRvdy5sb2NhdGlvbi5oYXNoID0gImVyZ2VibmlzbGlzdGUiOwoJfQkKfQoKZnVuY3Rpb24gc2hvd0FsbChrZG5yLCByZXNldFN0cikgewoJLy8gTGVlcmVuIGRlcyBGb3JtdWxhcnMKCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdWNoYmVncmlmZicpLnZhbHVlPScnOwoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21vbmF0JykudmFsdWU9J2FsbGUnOwoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2phaHInKS52YWx1ZT0nYWxsZSc7Cglkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncnVicmlrZW4nKS52YWx1ZT0nYWxsZSBaaWVsZ3J1cHBlbic7Cglkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncnVicmlrZW4nKS5zZWxlY3RlZEluZGV4ID0gMDsKCWNiX2l0ZW1zID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3ppZWxncnVwcGVuJykuY2JfaXRlbTsKCWZvciAodmFyIGk9MCwgaUxlbj1jYl9pdGVtcy5sZW5ndGg7IGk8aUxlbjsgaSsrKSB7CgkJY2JfaXRlbXNbaV0uY2hlY2tlZD1mYWxzZTsKCX0JCglzaG93UmVzdWx0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdWNoYmVncmlmZicpLnZhbHVlLCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbW9uYXQnKS52YWx1ZSwgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2phaHInKS52YWx1ZSwgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3J1YnJpa2VuJykudmFsdWUsIGdldENoZWNrYm94VmFsdWVzKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd6aWVsZ3J1cHBlbicpKSwgMSwgdGVhc2VybW9kdXMsIGFuemFobCwgZmFjaGdlYmlldCwgdmFyaWFudGUsIGtkbnIsIDApOwoJc3dpdGNoU2l6ZVJ1YnJpa2VuKCk7Cn0KCmZ1bmN0aW9uIHN3aXRjaFNpemVSdWJyaWtlbigpIHsKCWlmIChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncnVicmlrZW4nKS52YWx1ZS5sZW5ndGggPCAyOCkgCgkJeyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncnVicmlrZW4nKS5zdHlsZS53aWR0aCA9ICcxMjBweCc7IH0KCWVsc2UKCQl7IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdydWJyaWtlbicpLnN0eWxlLndpZHRoID0gJzMyMHB4JzsgfQp9IAoKPC9zY3JpcHQ+CgoKPHN0eWxlPgppbWcucGlrdG9ncmFtbSB7CmJhY2tncm91bmQtY29sb3I6I2RkZDsKbWFyZ2luLXJpZ2h0OiAxMHB4Owp9CgoucnVicmlrIHsKcGFkZGluZy1sZWZ0OjEwcHg7CnBhZGRpbmctdG9wOjEwcHg7CmhlaWdodDo0MHB4Owp2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Cn0KCiNEaXZSdWJyaWtlbiwgI0RpdlppZWxncnVwcGVuLCAjRGl2WmVpdHJhdW0gewpmbG9hdDpsZWZ0OwpwYWRkaW5nLXJpZ2h0OjMwcHg7CnBhZGRpbmctYm90dG9tOjMwcHg7CmJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Cn0KI0Rpdk1vbmF0Vm9uLCAjRGl2SmFoclZvbiB7CmZsb2F0OmxlZnQ7CnBhZGRpbmctcmlnaHQ6MTBweDsKfQoubWlvICNzdGV1ZXJ0ZXJtaW4xLCAubWlvICNzdGV1ZXJ0ZXJtaW4yIHsKZmxvYXQ6bGVmdDsKcGFkZGluZzoxMHB4Owp3aWR0aDo0MDBweDsKZm9udC1zaXplOjAuOGVtOwp9Ci5taW8gI3N0ZXVlcnRlcm1pbjEgcCwgLm1pbyAjc3RldWVydGVybWluMiBwIHsKbGluZS1oZWlnaHQ6MTEwJTsKfQkKCi5taW9faGVhZCAjc3RldWVydGVybWluMiB7CmNsZWFyOnJpZ2h0Owp9CgoubWlvIC5uZXdzZGF0dW0gewpmb250LXNpemU6MC44ZW07Cn0KCi5taW9faGVhZCBpbnB1dFt0eXBlPSJyYWRpbyJdLAoubWlvX2hlYWQgaW5wdXRbdHlwZT0iY2hlY2tib3giXSB7Cm1hcmdpbjowcHggOHB4IDNweCAxcHg7Cn0KCi5taW9faGVhZCAjc3VjaHN0ZXVlcnVuZyB7CnRleHQtYWxpZ246cmlnaHQ7IApmbG9hdDpyaWdodDsJCn0KCi5taW9faGVhZCAjZWluZ2FiZV9zdWNoYmVncmlmZiB7CmRpc3BsYXk6aW5saW5lOwp9CgoubWlvX2hlYWQgc2VsZWN0CnsKYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsKYm9yZGVyLXRvcC13aWR0aDogMHB4Owpib3JkZXItcmlnaHQtd2lkdGg6IDBweDsKYm9yZGVyLWJvdHRvbS13aWR0aDogMHB4Owpib3JkZXItbGVmdC13aWR0aDogMHB4Owpib3JkZXItaW1hZ2Utc291cmNlOiBub25lOwpib3JkZXItaW1hZ2Utc2xpY2U6IDEwMCUgMTAwJSAxMDAlIDEwMCU7CmJvcmRlci1pbWFnZS13aWR0aDogMSAxIDEgMTsKYm9yZGVyLWltYWdlLW91dHNldDogMCAwIDAgMDsKYm9yZGVyLWltYWdlLXJlcGVhdDogc3RyZXRjaCBzdHJldGNoOwpib3JkZXItY29sb3I6ICNjY2M7CnBhZGRpbmctdG9wOiAwcHg7CnBhZGRpbmctcmlnaHQ6IDBweDsKcGFkZGluZy1ib3R0b206IDBweDsKcGFkZGluZy1sZWZ0OiA1cHg7Cm1hcmdpbi1yaWdodDogMTBweDsKaGVpZ2h0OiAyNnB4Owpmb250LXNpemU6MC43ZW07Cn0KCi5taW9faGVhZCBpbnB1dAp7CnBhZGRpbmctbGVmdDogMTBweDsKaGVpZ2h0OiAyNnB4Owp3aWR0aDogNTAlOwpwYWRkaW5nLXJpZ2h0OjEwcHg7CmJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwpiYWNrZ3JvdW5kLWltYWdlOiBub25lOwpiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0OwpiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IHNjcm9sbDsKYmFja2dyb3VuZC1wb3NpdGlvbjogMCUgMCU7CmJhY2tncm91bmQtY2xpcDogYm9yZGVyLWJveDsKYmFja2dyb3VuZC1vcmlnaW46IHBhZGRpbmctYm94OwpiYWNrZ3JvdW5kLXNpemU6IGF1dG8gYXV0bzsKYm9yZGVyLXRvcC13aWR0aDogMHB4Owpib3JkZXItcmlnaHQtd2lkdGg6IDBweDsKYm9yZGVyLWJvdHRvbS13aWR0aDogMHB4Owpib3JkZXItbGVmdC13aWR0aDogMHB4Owpib3JkZXItaW1hZ2Utc291cmNlOiBub25lOwpib3JkZXItaW1hZ2Utc2xpY2U6IDEwMCUgMTAwJSAxMDAlIDEwMCU7CmJvcmRlci1pbWFnZS13aWR0aDogMSAxIDEgMTsKYm9yZGVyLWltYWdlLW91dHNldDogMCAwIDAgMDsKYm9yZGVyLWltYWdlLXJlcGVhdDogc3RyZXRjaCBzdHJldGNoOwp9CgoubWlvX2hlYWQgaW5wdXQsIC5taW9faGVhZCBzZWxlY3QKewpjb2xvcjogIzAwMDsKbWFyZ2luLXRvcDogMHB4OwptYXJnaW4tYm90dG9tOiA1cHg7Cn0KCi5taW8gI2F1c3dhaGxTdGFuZGFyZAp7CnBhZGRpbmc6NXB4OwpiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7CmJvcmRlcjogMXB4IHNvbGlkICNlZWU7Cm1hcmdpbi1ib3R0b206MjBweDsKfQoKLm1pbyAuZGF0ZW5zY2h1dHogewptYXJnaW4tdG9wOjIwcHg7CmZvbnQtc2l6ZToxMHB4Owp9CgoubWlvIDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7IAogICAgY29sb3I6ICAgICNhYWE7Cn0KLm1pbyA6Oi1tb3otcGxhY2Vob2xkZXIgeyAKICAgY29sb3I6ICAgICNhYWE7CiAgIG9wYWNpdHk6ICAxOwp9Ci5taW8gOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IAogICBjb2xvcjogICAgI2FhYTsKfQoubWlvIDo6cGxhY2Vob2xkZXIgeyAKICBjb2xvcjogICAgI2FhYTsKfQoKLm1pbyBpbnB1dCB7CmJvcmRlci1sZWZ0LXdpZHRoOiAwcHg7CmZsb2F0OiBjbGVhcjsKfQoKLm1pbyAjc3RldWVydGVybWluMSwgLm1pbyAjc3RldWVydGVybWluMiB7CndpZHRoOjQ1JTsKfQoKLm5ld3Nfb3BlbiB7Cm1hcmdpbi10b3A6MTVweDsKbWFyZ2luLWJvdHRvbTogMTBweDsKZm9udC1zaXplOjEuMmVtOwp9CgoudGl0ZWxfaW5fYXJ0aWtlbCB7CmRpc3BsYXk6bm9uZTsKfQoKLmVpbnRlaWx1bmdfc29uZGVybWVsZHVuZ2VuIHsKZm9udC1zaXplOiAxLjJyZW07CQptYXJnaW4tdG9wOiAyMHB4OwptYXJnaW4tYm90dG9tOiAxNXB4Owpib3JkZXItYm90dG9tOiAxcHggc29saWQgI2FhYTsKfQoKQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHsKc2VsZWN0I3J1YnJpa2VuIHsKZGlzcGxheTpibG9jayAhaW1wb3J0YW50Owp9CgoubWlvICNzdGV1ZXJ0ZXJtaW4xLCAubWlvICNzdGV1ZXJ0ZXJtaW4yIHsKd2lkdGg6MTAwJTsKfQoKaW5wdXQjc3VjaGJlZ3JpZmYgewptYXJnaW4tbGVmdDogMHB4ICFpbXBvcnRhbnQ7CndpZHRoOjgwJSAhaW1wb3J0YW50Owp9Cn0KPC9zdHlsZT4KPHN0eWxlPjwvc3R5bGU+PCEtLUswMDFiMDAwMDAwc1V5VTRPT1RBLTIwMjAxMDE2NjhQVEFHRVNBS1RVRUxMLS0+CjxkaXYgY2xhc3M9Im1pbyI+CjxkaXYgaWQ9InN0ZXVlcnRlcm1pbmUiPjxkaXYgaWQ9InN0ZXVlcnRlcm1pbjEiPjxoNCBjbGFzcz0idWViX3N0ZXVlcnRlcm1pbmUiIGlkPSJ1ZWJfc3R0MSI+U3RldWVydGVybWluZSBNYWkgMjAyNTwvaDQ+PGRpdiBjbGFzcz0iYmVpdHJhZ19zdGV1ZXJ0ZXJtaW5lIj48dGFibGU+PHRyIHZhbGlnbj0idG9wIj48dGQgd2lkdGg9IjUwIj4xMi4wNS48L3RkPjx0ZD5VbXNhdHpzdGV1ZXI8YnIvPkxvaG5zdGV1ZXIqPGJyLz5Tb2xpZGFyaXTDpHRzenVzY2hsYWcqPGJyLz5LaXJjaGVubG9obnN0ZXVlciBldi4gdW5kIHIua2F0aC4qPC90ZD48L3RyPjx0ciB2YWxpZ249InRvcCI+PHRkIHdpZHRoPSI1MCI+MTUuMDUuPC90ZD48dGQ+R2V3ZXJiZXN0ZXVlcioqPGJyLz5HcnVuZHN0ZXVlcioqPC90ZD48L3RyPjwvdGFibGU+PHA+WmFobHVuZ3NzY2hvbmZyaXN0OiBiaXMgenVtIDE1LjA1LiBiencuIDE5LjA1LjIwMjUuIERpZXNlIFNjaG9uZnJpc3QgZ2lsdCBuaWNodCBiZWkgQmFyemFobHVuZ2VuIHVuZCBaYWhsdW5nZW4gcGVyIFNjaGVjay4gWyogYmVpIG1vbmF0bGljaGVyIEFiZsO8aHJ1bmcgZsO8ciBBcHJpbCAyMDI1OyAqKiBWaWVydGVsamFocmVzcmF0ZSBhbiBkaWUgR2VtZWluZGVdPC9wPjwvZGl2PjwvZGl2PjxkaXYgaWQ9InN0ZXVlcnRlcm1pbjIiPjxoNCBjbGFzcz0idWViX3N0ZXVlcnRlcm1pbmUiIGlkPSJ1ZWJfc3R0MiI+U3RldWVydGVybWluZSBKdW5pIDIwMjU8L2g0PjxkaXYgY2xhc3M9ImJlaXRyYWdfc3RldWVydGVybWluZSI+PHRhYmxlPjx0ciB2YWxpZ249InRvcCI+PHRkIHdpZHRoPSI1MCI+MTAuMDYuPC90ZD48dGQ+VW1zYXR6c3RldWVyPGJyLz5Mb2huc3RldWVyKjxici8+U29saWRhcml0w6R0c3p1c2NobGFnKjxici8+S2lyY2hlbmxvaG5zdGV1ZXIgZXYuIHVuZCByLmthdGguKjxici8+RWlua29tbWVuLSBiencuIEvDtnJwZXJzY2hhZnRzdGV1ZXIqKjxici8+U29saWRhcml0w6R0c3p1c2NobGFnKio8YnIvPktpcmNoZW5zdGV1ZXIgZXYuIHVuZCByLmthdGguKio8L3RkPjwvdHI+PC90YWJsZT48cD5aYWhsdW5nc3NjaG9uZnJpc3Q6IGJpcyB6dW0gMTMuMDYuMjAyNS4gRGllc2UgU2Nob25mcmlzdCBnaWx0IG5pY2h0IGJlaSBCYXJ6YWhsdW5nZW4gdW5kIFphaGx1bmdlbiBwZXIgU2NoZWNrLiBbKiBiZWkgbW9uYXRsaWNoZXIgQWJmw7xocnVuZyBmw7xyIE1haSAyMDI1OyAqKiBmw7xyIGRhcyBJSS4gUXVhcnRhbCAyMDI1XTwvcD48L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJjbGVhcjpsZWZ0OyI+PC9kaXY+PC9kaXY+PGhyIGNsYXNzPSJzdF90ZXJtaW5fdHJlbm5lciI+PGRpdiBzdHlsZT0iZGlzcGxheTpub25lOyIgaWQ9InN0X3Rlcm1pbl90cmVubmVyX2R1bW15Ij48L2Rpdj4KPGRpdiBjbGFzcz0ibWlvX2hlYWQiPgoJPGEgaWQ9ImVyZ2VibmlzbGlzdGUiPjwvYT4KCTxkaXYgaWQ9ImVyZ2VibmlzbGlzdGUiPjwvZGl2PgoJPGRpdiBpZD0iYXVzd2FobFN0YW5kYXJkIiBzdHlsZT0iIj48Zm9ybSBpZD0iZWluZ2FiZV9zdWNoYmVncmlmZiI+PHNlbGVjdCBvbkNsaWNrPSJzd2l0Y2hTaXplUnVicmlrZW4oKSIgc3R5bGU9IndpZHRoOjEyMHB4O292ZXJmbG93OmhpZGRlbiIgaWQ9InJ1YnJpa2VuIj48b3B0aW9uIHNlbGVjdGVkPSJzZWxlY3RlZCI+YWxsZSBaaWVsZ3J1cHBlbjwvb3B0aW9uPjxvcHRpb24+SW5mb3JtYXRpb25lbiBmw7xyIGFsbGUgU3RldWVyemFobGVyPC9vcHRpb24+PG9wdGlvbj5JbmZvcm1hdGlvbmVuIGbDvHIgQXJiZWl0Z2ViZXIgdW5kIEFyYmVpdG5laG1lcjwvb3B0aW9uPjxvcHRpb24+SW5mb3JtYXRpb25lbiBmw7xyIEZyZWliZXJ1Zmxlcjwvb3B0aW9uPjxvcHRpb24+SW5mb3JtYXRpb25lbiBmw7xyIEdtYkgtR2VzZWxsc2NoYWZ0ZXIvLUdGPC9vcHRpb24+PG9wdGlvbj5JbmZvcm1hdGlvbmVuIGbDvHIgSGF1c2Jlc2l0emVyPC9vcHRpb24+PG9wdGlvbj5JbmZvcm1hdGlvbmVuIGbDvHIgS2FwaXRhbGFubGVnZXI8L29wdGlvbj48b3B0aW9uPkluZm9ybWF0aW9uZW4gZsO8ciBVbnRlcm5laG1lcjwvb3B0aW9uPjwvc2VsZWN0PjxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0ic3VjaGJlZ3JpZmYiIHBsYWNlaG9sZGVyPSJTdWNoYmVncmlmZiIgc2l6ZT0iNDAiPjwvZm9ybT48IS0tJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEgY2xhc3M9ImZpbHRlcmxpbmsiIGhyZWY9ImphdmFzY3JpcHQ6dG9nZ2xlRGl2KCdmaWx0ZXJib3gnKTsiPjxpbWcgc3JjPSJodHRwczovL3d3dy5kZXVibmVyLW9ubGluZS5kZS9laW5iYXUvbWlvL2Jpbi9pbWcvTHVwZS5wbmciPiZuYnNwO0Vyd2VpdGVydGUgT3B0aW9uZW4gZWluLS9hdXNibGVuZGVuPC9hPi0tPgoJCTxkaXYgaWQ9InN1Y2hzdGV1ZXJ1bmciPjxhIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKTsiIG9uY2xpY2s9InNob3dSZXN1bHQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N1Y2hiZWdyaWZmJykudmFsdWUsIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtb25hdCcpLnZhbHVlLCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnamFocicpLnZhbHVlLCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncnVicmlrZW4nKS52YWx1ZSwgJycsIDEsICcwJywgJzIwJywgJ1MnLCAnVEFHRVNBS1RVRUxMJywgJ09UQS0yMDIwMTAxNjY4JywgMSk7Ij48aW1nIGlkPSJsdXBlIiBhbHQ9Imx1cGUiIHNyYz0iaHR0cHM6Ly93d3cuZGV1Ym5lci1vbmxpbmUuZGUvZWluYmF1L21pby9iaW4vaW1nL0x1cGUucG5nIj48L2E+PC9kaXY+CQoJCQoJCQoJPC9kaXY+Cgk8ZGl2IGlkPSJmaWx0ZXJib3giIHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij4KCTxicj48YnI+PGRpdiBpZD0iYXVzd2FobEVyd2VpdGVydCI+PGRpdiBpZD0iRGl2WmllbGdydXBwZW4iPgoJCQk8aDQ+WmllbGdydXBwZW48L2g0PgoJCQk8Zm9ybSBpZD0iemllbGdydXBwZW4iPjxsYWJlbD48aW5wdXQgdHlwZT0iY2hlY2tib3giIGNsYXNzPSJjYl9pdGVtIiB2YWx1ZT0iSW5mb3JtYXRpb25lbiBmw7xyIFVudGVybmVobWVyIj5JbmZvcm1hdGlvbmVuIGbDvHIgVW50ZXJuZWhtZXI8L2xhYmVsPjxicj48bGFiZWw+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBjbGFzcz0iY2JfaXRlbSIgdmFsdWU9IkluZm9ybWF0aW9uZW4gZsO8ciBLYXBpdGFsYW5sZWdlciI+SW5mb3JtYXRpb25lbiBmw7xyIEthcGl0YWxhbmxlZ2VyPC9sYWJlbD48YnI+PGxhYmVsPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgY2xhc3M9ImNiX2l0ZW0iIHZhbHVlPSJJbmZvcm1hdGlvbmVuIGbDvHIgR21iSC1HZXNlbGxzY2hhZnRlci8tR0YiPkluZm9ybWF0aW9uZW4gZsO8ciBHbWJILUdlc2VsbHNjaGFmdGVyLy1HRjwvbGFiZWw+PGJyPjxsYWJlbD48aW5wdXQgdHlwZT0iY2hlY2tib3giIGNsYXNzPSJjYl9pdGVtIiB2YWx1ZT0iSW5mb3JtYXRpb25lbiBmw7xyIGFsbGUgU3RldWVyemFobGVyIj5JbmZvcm1hdGlvbmVuIGbDvHIgYWxsZSBTdGV1ZXJ6YWhsZXI8L2xhYmVsPjxicj48bGFiZWw+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBjbGFzcz0iY2JfaXRlbSIgdmFsdWU9IkluZm9ybWF0aW9uZW4gZsO8ciBBcmJlaXRnZWJlciB1bmQgQXJiZWl0bmVobWVyIj5JbmZvcm1hdGlvbmVuIGbDvHIgQXJiZWl0Z2ViZXIgdW5kIEFyYmVpdG5laG1lcjwvbGFiZWw+PGJyPjxsYWJlbD48aW5wdXQgdHlwZT0iY2hlY2tib3giIGNsYXNzPSJjYl9pdGVtIiB2YWx1ZT0iSW5mb3JtYXRpb25lbiBmw7xyIEZyZWliZXJ1ZmxlciI+SW5mb3JtYXRpb25lbiBmw7xyIEZyZWliZXJ1ZmxlcjwvbGFiZWw+PGJyPjxsYWJlbD48aW5wdXQgdHlwZT0iY2hlY2tib3giIGNsYXNzPSJjYl9pdGVtIiB2YWx1ZT0iSW5mb3JtYXRpb25lbiBmw7xyIEhhdXNiZXNpdHplciI+SW5mb3JtYXRpb25lbiBmw7xyIEhhdXNiZXNpdHplcjwvbGFiZWw+PGJyPjwvZm9ybT4KCQkJPC9kaXY+CgkJPGRpdiBpZD0iRGl2WmVpdHJhdW0iPgoJCQk8aDQ+WmVpdHJhdW08L2g0PgoJCQk8ZGl2IGlkPSJEaXZNb25hdFZvbiI+CgkJCQk8aDU+TW9uYXQ8L2g1PgoJCQkJPGZvcm0+CgkJCQkJPHNlbGVjdCBpZD0ibW9uYXQiIHNpemU9IjEiPgoJCQkJCQk8b3B0aW9uPmFsbGU8L29wdGlvbj4KCQkJCQk8L3NlbGVjdD4KCQkJCTwvZm9ybT4KCQkJPC9kaXY+CQoJCQk8ZGl2IGlkPSJEaXZKYWhyVm9uIj4KCQkJCTxoNT5KYWhyPC9oNT4KCQkJCTxmb3JtIG1ldGhvZD0iUE9TVCI+CgkJCQkJPHNlbGVjdCBpZD0iamFociIgc2l6ZT0iMSI+CgkJCQkJPC9zZWxlY3Q+CgkJCQk8L2Zvcm0+CQkJCgkJCTwvZGl2PgkKCQk8L2Rpdj4JCgk8L2Rpdj4JCgkJPGRpdiBzdHlsZT0iY2xlYXI6IGxlZnQ7cGFkZGluZy10b3A6MjBweDsiPgoJCQk8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgaWQ9ImZpbHRlciIgb25jbGljaz0ic2hvd1Jlc3VsdChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3VjaGJlZ3JpZmYnKS52YWx1ZSwgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21vbmF0JykudmFsdWUsIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdqYWhyJykudmFsdWUsIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdydWJyaWtlbicpLnZhbHVlLCBnZXRDaGVja2JveFZhbHVlcyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnemllbGdydXBwZW4nKSksIDEsICcwJywgJzIwJywgJ1MnLCAnVEFHRVNBS1RVRUxMJywgJ09UQS0yMDIwMTAxNjY4JywgMSk7Ij5GaWx0ZXIgYW53ZW5kZW48L2J1dHRvbj4mbmJzcDsmbmJzcDsKCQkJPGJ1dHRvbiB0eXBlPSJidXR0b24iIGlkPSJmaWx0ZXIiIG9uY2xpY2s9InNob3dBbGwoJ09UQS0yMDIwMTAxNjY4Jyk7IiBocmVmPSIjZXJnZWJuaXNsaXN0ZSI+QWxsZSBhbnplaWdlbjwvYnV0dG9uPgoJCTwvZGl2PgkKCTwvZGl2Pgo8L2Rpdj4JPGRpdiBjbGFzcz0ibWlvX3N0YW5kYXJkIG1pb19uZXdzIj4JCTxkaXYgaWQ9InR4dEhpbnQiPjwvZGl2PgoJCTxzY3JpcHQ+CgkJc2hvd1Jlc3VsdChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3VjaGJlZ3JpZmYnKS52YWx1ZSwgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21vbmF0JykudmFsdWUsIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdqYWhyJykudmFsdWUsIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdydWJyaWtlbicpLnZhbHVlLCAnJywgMSwgMCwgMjAsICdTJywgJ1RBR0VTQUtUVUVMTCcsICdPVEEtMjAyMDEwMTY2OCcsIDEpOyAKCgkJZG9jdW1lbnQub25rZXlkb3duID0gZnVuY3Rpb24oZXZlbnQpIHsKCQkJaWYgKGV2ZW50LmtleUNvZGUgPT0gMTMpIHsgCgkJCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpIAoJCQkJc2hvd1Jlc3VsdChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3VjaGJlZ3JpZmYnKS52YWx1ZSwgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21vbmF0JykudmFsdWUsIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdqYWhyJykudmFsdWUsIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdydWJyaWtlbicpLnZhbHVlLCAnJywgMSwgMCwgMjAsICdTJywgJ1RBR0VTQUtUVUVMTCcsICdPVEEtMjAyMDEwMTY2OCcsIDEpOyAKCQkJfQoJCX0JCgkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3J1YnJpa2VuJykub25jaGFuZ2UgPSBmdW5jdGlvbigpIHsKCQkJc2hvd1Jlc3VsdChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3VjaGJlZ3JpZmYnKS52YWx1ZSwgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21vbmF0JykudmFsdWUsIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdqYWhyJykudmFsdWUsIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdydWJyaWtlbicpLnZhbHVlLCAnJywgMSwgMCwgMjAsICdTJywgJ1RBR0VTQUtUVUVMTCcsICdPVEEtMjAyMDEwMTY2OCcsIDEpOyAKCQl9CgkJPC9zY3JpcHQ+Cgk8L2Rpdj4JCjwvZGl2Pgkg