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+CgoKPHN0eWxlPgojRGl2UnVicmlrZW4sICNEaXZaaWVsZ3J1cHBlbiwgI0RpdlplaXRyYXVtIHsKZmxvYXQ6bGVmdDsKcGFkZGluZy1yaWdodDozMHB4OwpwYWRkaW5nLWJvdHRvbTozMHB4OwpiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Owp9CiNEaXZNb25hdFZvbiwgI0RpdkphaHJWb24gewpmbG9hdDpsZWZ0OwpwYWRkaW5nLXJpZ2h0OjEwcHg7Cn0KLm1pbyAjc3RldWVydGVybWluMSwgLm1pbyAjc3RldWVydGVybWluMiB7CmZsb2F0OmxlZnQ7CnBhZGRpbmc6MTBweDsKd2lkdGg6NDAwcHg7CmZvbnQtc2l6ZTowLjhlbTsKfQoubWlvICNzdGV1ZXJ0ZXJtaW4xIHAsIC5taW8gI3N0ZXVlcnRlcm1pbjIgcCB7CmxpbmUtaGVpZ2h0OjExMCU7Cn0JCgoubWlvX2hlYWQgI3N0ZXVlcnRlcm1pbjIgewpjbGVhcjpyaWdodDsKfQoKLm1pbyAubmV3c2RhdHVtIHsKZm9udC1zaXplOjAuOGVtOwp9CgoubWlvX2hlYWQgaW5wdXRbdHlwZT0icmFkaW8iXSwKLm1pb19oZWFkIGlucHV0W3R5cGU9ImNoZWNrYm94Il0gewptYXJnaW46MHB4IDhweCAzcHggMXB4Owp9CgoubWlvX2hlYWQgI3N1Y2hzdGV1ZXJ1bmcgewp0ZXh0LWFsaWduOnJpZ2h0OyAKZmxvYXQ6cmlnaHQ7CQp9CgoubWlvX2hlYWQgI2VpbmdhYmVfc3VjaGJlZ3JpZmYgewpkaXNwbGF5OmlubGluZTsKfQoKLm1pb19oZWFkIHNlbGVjdAp7CmJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7CmJvcmRlci10b3Atd2lkdGg6IDBweDsKYm9yZGVyLXJpZ2h0LXdpZHRoOiAwcHg7CmJvcmRlci1ib3R0b20td2lkdGg6IDBweDsKYm9yZGVyLWxlZnQtd2lkdGg6IDBweDsKYm9yZGVyLWltYWdlLXNvdXJjZTogbm9uZTsKYm9yZGVyLWltYWdlLXNsaWNlOiAxMDAlIDEwMCUgMTAwJSAxMDAlOwpib3JkZXItaW1hZ2Utd2lkdGg6IDEgMSAxIDE7CmJvcmRlci1pbWFnZS1vdXRzZXQ6IDAgMCAwIDA7CmJvcmRlci1pbWFnZS1yZXBlYXQ6IHN0cmV0Y2ggc3RyZXRjaDsKYm9yZGVyLWNvbG9yOiAjY2NjOwpwYWRkaW5nLXRvcDogMHB4OwpwYWRkaW5nLXJpZ2h0OiAwcHg7CnBhZGRpbmctYm90dG9tOiAwcHg7CnBhZGRpbmctbGVmdDogNXB4OwptYXJnaW4tcmlnaHQ6IDEwcHg7CmhlaWdodDogMjZweDsKZm9udC1zaXplOjAuN2VtOwp9CgoubWlvX2hlYWQgaW5wdXQKewpwYWRkaW5nLWxlZnQ6IDEwcHg7CmhlaWdodDogMjZweDsKd2lkdGg6IDUwJTsKcGFkZGluZy1yaWdodDoxMHB4OwpiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKYmFja2dyb3VuZC1pbWFnZTogbm9uZTsKYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdDsKYmFja2dyb3VuZC1hdHRhY2htZW50OiBzY3JvbGw7CmJhY2tncm91bmQtcG9zaXRpb246IDAlIDAlOwpiYWNrZ3JvdW5kLWNsaXA6IGJvcmRlci1ib3g7CmJhY2tncm91bmQtb3JpZ2luOiBwYWRkaW5nLWJveDsKYmFja2dyb3VuZC1zaXplOiBhdXRvIGF1dG87CmJvcmRlci10b3Atd2lkdGg6IDBweDsKYm9yZGVyLXJpZ2h0LXdpZHRoOiAwcHg7CmJvcmRlci1ib3R0b20td2lkdGg6IDBweDsKYm9yZGVyLWxlZnQtd2lkdGg6IDBweDsKYm9yZGVyLWltYWdlLXNvdXJjZTogbm9uZTsKYm9yZGVyLWltYWdlLXNsaWNlOiAxMDAlIDEwMCUgMTAwJSAxMDAlOwpib3JkZXItaW1hZ2Utd2lkdGg6IDEgMSAxIDE7CmJvcmRlci1pbWFnZS1vdXRzZXQ6IDAgMCAwIDA7CmJvcmRlci1pbWFnZS1yZXBlYXQ6IHN0cmV0Y2ggc3RyZXRjaDsKfQoKLm1pb19oZWFkIGlucHV0LCAubWlvX2hlYWQgc2VsZWN0CnsKY29sb3I6ICMwMDA7Cm1hcmdpbi10b3A6IDBweDsKbWFyZ2luLWJvdHRvbTogNXB4Owp9CgoubWlvICNhdXN3YWhsU3RhbmRhcmQKewpwYWRkaW5nOjVweDsKYmFja2dyb3VuZC1jb2xvcjojZmZmOwpib3JkZXI6IDFweCBzb2xpZCAjZWVlOwptYXJnaW4tYm90dG9tOjIwcHg7Cn0KCi5taW8gLmRhdGVuc2NodXR6IHsKbWFyZ2luLXRvcDoyMHB4Owpmb250LXNpemU6MTBweDsKfQoKLm1pbyA6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgeyAKICAgIGNvbG9yOiAgICAjYWFhOwp9Ci5taW8gOjotbW96LXBsYWNlaG9sZGVyIHsgCiAgIGNvbG9yOiAgICAjYWFhOwogICBvcGFjaXR5OiAgMTsKfQoubWlvIDotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyAKICAgY29sb3I6ICAgICNhYWE7Cn0KLm1pbyA6OnBsYWNlaG9sZGVyIHsgCiAgY29sb3I6ICAgICNhYWE7Cn0KCi5taW8gaW5wdXQgewpib3JkZXItbGVmdC13aWR0aDogMHB4OwpmbG9hdDogY2xlYXI7Cn0KCi5taW8gI3N0ZXVlcnRlcm1pbjEsIC5taW8gI3N0ZXVlcnRlcm1pbjIgewp3aWR0aDo0NSU7Cn0KCi5uZXdzX29wZW4gewptYXJnaW4tdG9wOjE1cHg7Cm1hcmdpbi1ib3R0b206IDEwcHg7CmZvbnQtc2l6ZToxLjJlbTsKfQoKLnRpdGVsX2luX2FydGlrZWwgewpkaXNwbGF5Om5vbmU7Cn0KCi5laW50ZWlsdW5nX3NvbmRlcm1lbGR1bmdlbiB7CmZvbnQtc2l6ZTogMS4ycmVtOwkKbWFyZ2luLXRvcDogMjBweDsKbWFyZ2luLWJvdHRvbTogMTVweDsKYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNhYWE7Cn0KCkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7CnNlbGVjdCNydWJyaWtlbiB7CmRpc3BsYXk6YmxvY2sgIWltcG9ydGFudDsKfQoKLm1pbyAjc3RldWVydGVybWluMSwgLm1pbyAjc3RldWVydGVybWluMiB7CndpZHRoOjEwMCU7Cn0KCmlucHV0I3N1Y2hiZWdyaWZmIHsKbWFyZ2luLWxlZnQ6IDBweCAhaW1wb3J0YW50Owp3aWR0aDo4MCUgIWltcG9ydGFudDsKfQp9Cjwvc3R5bGU+CjxzdHlsZT48L3N0eWxlPjwhLS1LMDAxYjAwMDAwMHNVeVU0T09UQS0yMDIwMTAxNjY4UFRBR0VTQUtUVUVMTC0tPgo8ZGl2IGNsYXNzPSJtaW8iPgo8ZGl2IGlkPSJzdGV1ZXJ0ZXJtaW5lIj48ZGl2IGlkPSJzdGV1ZXJ0ZXJtaW4xIj48aDQgY2xhc3M9InVlYl9zdGV1ZXJ0ZXJtaW5lIiBpZD0idWViX3N0dDEiPlN0ZXVlcnRlcm1pbmUgRmVicnVhciAyMDI1PC9oND48ZGl2IGNsYXNzPSJiZWl0cmFnX3N0ZXVlcnRlcm1pbmUiPjx0YWJsZT48dHIgdmFsaWduPSJ0b3AiPjx0ZCB3aWR0aD0iNTAiPjEwLjAyLjwvdGQ+PHRkPlVtc2F0enN0ZXVlcjxici8+VW1zYXR6c3RldWVyLVNvbmRlcnZvcmF1c3phaGx1bmcqPGJyLz5Mb2huc3RldWVyKio8YnIvPlNvbGlkYXJpdMOkdHN6dXNjaGxhZyoqPGJyLz5LaXJjaGVubG9obnN0ZXVlciBldi4gdW5kIHIua2F0aC4qKjwvdGQ+PC90cj48dHIgdmFsaWduPSJ0b3AiPjx0ZCB3aWR0aD0iNTAiPjE3LjAyLjwvdGQ+PHRkPkdld2VyYmVzdGV1ZXIqKio8YnIvPkdydW5kc3RldWVyKioqPC90ZD48L3RyPjwvdGFibGU+PHA+WmFobHVuZ3NzY2hvbmZyaXN0OiBiaXMgenVtIDEzLjAyLiBiencuIDIwLjAyLjIwMjUuIERpZXNlIFNjaG9uZnJpc3QgZ2lsdCBuaWNodCBiZWkgQmFyemFobHVuZ2VuIHVuZCBaYWhsdW5nZW4gcGVyIFNjaGVjay4gWyogYmVpIEZyaXN0dmVybMOkbmdlcnVuZyAxLzExIFVTdCAyMyB2b3JhdXN6YWhsZW47ICoqIGJlaSBtb25hdGxpY2hlciBBYmbDvGhydW5nIGbDvHIgSmFudWFyIDIwMjU7ICoqKiBWaWVydGVsamFocmVzcmF0ZSBhbiBkaWUgR2VtZWluZGVdPC9wPjwvZGl2PjwvZGl2PjxkaXYgaWQ9InN0ZXVlcnRlcm1pbjIiPjxoNCBjbGFzcz0idWViX3N0ZXVlcnRlcm1pbmUiIGlkPSJ1ZWJfc3R0MiI+U3RldWVydGVybWluZSBNw6RyeiAyMDI1PC9oND48ZGl2IGNsYXNzPSJiZWl0cmFnX3N0ZXVlcnRlcm1pbmUiPjx0YWJsZT48dHIgdmFsaWduPSJ0b3AiPjx0ZCB3aWR0aD0iNTAiPjEwLjAzLjwvdGQ+PHRkPlVtc2F0enN0ZXVlcio8YnIvPkxvaG5zdGV1ZXIqPGJyLz5Tb2xpZGFyaXTDpHRzenVzY2hsYWcqPGJyLz5LaXJjaGVubG9obnN0ZXVlciBldi4gdW5kIHIua2F0aC4qPGJyLz5FaW5rb21tZW4tIGJ6dy4gS8O2cnBlcnNjaGFmdHN0ZXVlcioqPGJyLz5Tb2xpZGFyaXTDpHRzenVzY2hsYWcqKjxici8+S2lyY2hlbnN0ZXVlciBldi4gdW5kIHIua2F0aCoqPC90ZD48L3RyPjwvdGFibGU+PHA+WmFobHVuZ3NzY2hvbmZyaXN0OiBiaXMgenVtIDEzLjAzLjIwMjUuIERpZXNlIFNjaG9uZnJpc3QgZ2lsdCBuaWNodCBiZWkgQmFyemFobHVuZ2VuIHVuZCBaYWhsdW5nZW4gcGVyIFNjaGVjay4gWyogYmVpIG1vbmF0bGljaGVyIEFiZsO8aHJ1bmcgZsO8ciBGZWJydWFyIDIwMjU7ICoqIGbDvHIgZGFzIEkuIFF1YXJ0YWwgMjAyNV08L3A+PC9kaXY+PC9kaXY+PGRpdiBzdHlsZT0iY2xlYXI6bGVmdDsiPjwvZGl2PjwvZGl2PjxociBjbGFzcz0ic3RfdGVybWluX3RyZW5uZXIiPjxkaXYgc3R5bGU9ImRpc3BsYXk6bm9uZTsiIGlkPSJzdF90ZXJtaW5fdHJlbm5lcl9kdW1teSI+PC9kaXY+CjxkaXYgY2xhc3M9Im1pb19oZWFkIj4KCTxhIGlkPSJlcmdlYm5pc2xpc3RlIj48L2E+Cgk8ZGl2IGlkPSJlcmdlYm5pc2xpc3RlIj48L2Rpdj4KCTxkaXYgaWQ9ImF1c3dhaGxTdGFuZGFyZCIgc3R5bGU9IiI+PGZvcm0gaWQ9ImVpbmdhYmVfc3VjaGJlZ3JpZmYiPjxzZWxlY3Qgb25DbGljaz0ic3dpdGNoU2l6ZVJ1YnJpa2VuKCkiIHN0eWxlPSJ3aWR0aDoxMjBweDtvdmVyZmxvdzpoaWRkZW4iIGlkPSJydWJyaWtlbiI+PG9wdGlvbiBzZWxlY3RlZD0ic2VsZWN0ZWQiPmFsbGUgWmllbGdydXBwZW48L29wdGlvbj48b3B0aW9uPkluZm9ybWF0aW9uZW4gZsO8ciBhbGxlIFN0ZXVlcnphaGxlcjwvb3B0aW9uPjxvcHRpb24+SW5mb3JtYXRpb25lbiBmw7xyIEFyYmVpdGdlYmVyIHVuZCBBcmJlaXRuZWhtZXI8L29wdGlvbj48b3B0aW9uPkluZm9ybWF0aW9uZW4gZsO8ciBGcmVpYmVydWZsZXI8L29wdGlvbj48b3B0aW9uPkluZm9ybWF0aW9uZW4gZsO8ciBHbWJILUdlc2VsbHNjaGFmdGVyLy1HRjwvb3B0aW9uPjxvcHRpb24+SW5mb3JtYXRpb25lbiBmw7xyIEhhdXNiZXNpdHplcjwvb3B0aW9uPjxvcHRpb24+SW5mb3JtYXRpb25lbiBmw7xyIEthcGl0YWxhbmxlZ2VyPC9vcHRpb24+PG9wdGlvbj5JbmZvcm1hdGlvbmVuIGbDvHIgVW50ZXJuZWhtZXI8L29wdGlvbj48L3NlbGVjdD48aW5wdXQgdHlwZT0idGV4dCIgaWQ9InN1Y2hiZWdyaWZmIiBwbGFjZWhvbGRlcj0iU3VjaGJlZ3JpZmYiIHNpemU9IjQwIj48L2Zvcm0+PCEtLSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxhIGNsYXNzPSJmaWx0ZXJsaW5rIiBocmVmPSJqYXZhc2NyaXB0OnRvZ2dsZURpdignZmlsdGVyYm94Jyk7Ij48aW1nIHNyYz0iaHR0cHM6Ly93d3cuZGV1Ym5lci1vbmxpbmUuZGUvZWluYmF1L21pby9iaW4vaW1nL0x1cGUucG5nIj4mbmJzcDtFcndlaXRlcnRlIE9wdGlvbmVuIGVpbi0vYXVzYmxlbmRlbjwvYT4tLT4KCQk8ZGl2IGlkPSJzdWNoc3RldWVydW5nIj48YSBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCk7IiBvbmNsaWNrPSJzaG93UmVzdWx0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdWNoYmVncmlmZicpLnZhbHVlLCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbW9uYXQnKS52YWx1ZSwgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2phaHInKS52YWx1ZSwgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3J1YnJpa2VuJykudmFsdWUsICcnLCAxLCAnMCcsICcyMCcsICdTJywgJ1RBR0VTQUtUVUVMTCcsICdPVEEtMjAyMDEwMTY2OCcsIDEpOyI+PGltZyBpZD0ibHVwZSIgYWx0PSJsdXBlIiBzcmM9Imh0dHBzOi8vd3d3LmRldWJuZXItb25saW5lLmRlL2VpbmJhdS9taW8vYmluL2ltZy9MdXBlLnBuZyI+PC9hPjwvZGl2PgkKCQkKCQkKCTwvZGl2PgoJPGRpdiBpZD0iZmlsdGVyYm94IiBzdHlsZT0iZGlzcGxheTpub25lOyI+Cgk8YnI+PGJyPjxkaXYgaWQ9ImF1c3dhaGxFcndlaXRlcnQiPjxkaXYgaWQ9IkRpdlppZWxncnVwcGVuIj4KCQkJPGg0PlppZWxncnVwcGVuPC9oND4KCQkJPGZvcm0gaWQ9InppZWxncnVwcGVuIj48bGFiZWw+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBpZD0iY2JfaXRlbSIgdmFsdWU9IkluZm9ybWF0aW9uZW4gZsO8ciBVbnRlcm5laG1lciI+SW5mb3JtYXRpb25lbiBmw7xyIFVudGVybmVobWVyPC9sYWJlbD48YnI+PGxhYmVsPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgaWQ9ImNiX2l0ZW0iIHZhbHVlPSJJbmZvcm1hdGlvbmVuIGbDvHIgS2FwaXRhbGFubGVnZXIiPkluZm9ybWF0aW9uZW4gZsO8ciBLYXBpdGFsYW5sZWdlcjwvbGFiZWw+PGJyPjxsYWJlbD48aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSJjYl9pdGVtIiB2YWx1ZT0iSW5mb3JtYXRpb25lbiBmw7xyIEdtYkgtR2VzZWxsc2NoYWZ0ZXIvLUdGIj5JbmZvcm1hdGlvbmVuIGbDvHIgR21iSC1HZXNlbGxzY2hhZnRlci8tR0Y8L2xhYmVsPjxicj48bGFiZWw+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBpZD0iY2JfaXRlbSIgdmFsdWU9IkluZm9ybWF0aW9uZW4gZsO8ciBhbGxlIFN0ZXVlcnphaGxlciI+SW5mb3JtYXRpb25lbiBmw7xyIGFsbGUgU3RldWVyemFobGVyPC9sYWJlbD48YnI+PGxhYmVsPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgaWQ9ImNiX2l0ZW0iIHZhbHVlPSJJbmZvcm1hdGlvbmVuIGbDvHIgQXJiZWl0Z2ViZXIgdW5kIEFyYmVpdG5laG1lciI+SW5mb3JtYXRpb25lbiBmw7xyIEFyYmVpdGdlYmVyIHVuZCBBcmJlaXRuZWhtZXI8L2xhYmVsPjxicj48bGFiZWw+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBpZD0iY2JfaXRlbSIgdmFsdWU9IkluZm9ybWF0aW9uZW4gZsO8ciBGcmVpYmVydWZsZXIiPkluZm9ybWF0aW9uZW4gZsO8ciBGcmVpYmVydWZsZXI8L2xhYmVsPjxicj48bGFiZWw+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBpZD0iY2JfaXRlbSIgdmFsdWU9IkluZm9ybWF0aW9uZW4gZsO8ciBIYXVzYmVzaXR6ZXIiPkluZm9ybWF0aW9uZW4gZsO8ciBIYXVzYmVzaXR6ZXI8L2xhYmVsPjxicj48L2Zvcm0+CgkJCTwvZGl2PgoJCTxkaXYgaWQ9IkRpdlplaXRyYXVtIj4KCQkJPGg0PlplaXRyYXVtPC9oND4KCQkJPGRpdiBpZD0iRGl2TW9uYXRWb24iPgoJCQkJPGg1Pk1vbmF0PC9oNT4KCQkJCTxmb3JtPgoJCQkJCTxzZWxlY3QgaWQ9Im1vbmF0IiBzaXplPSIxIj4KCQkJCQkJPG9wdGlvbj5hbGxlPC9vcHRpb24+CgkJCQkJPC9zZWxlY3Q+CgkJCQk8L2Zvcm0+CgkJCTwvZGl2PgkKCQkJPGRpdiBpZD0iRGl2SmFoclZvbiI+CgkJCQk8aDU+SmFocjwvaDU+CgkJCQk8Zm9ybSBtZXRob2Q9IlBPU1QiPgoJCQkJCTxzZWxlY3QgaWQ9ImphaHIiIHNpemU9IjEiPgoJCQkJCTwvc2VsZWN0PgoJCQkJPC9mb3JtPgkJCQoJCQk8L2Rpdj4JCgkJPC9kaXY+CQoJPC9kaXY+CQoJCTxkaXYgc3R5bGU9ImNsZWFyOiBsZWZ0O3BhZGRpbmctdG9wOjIwcHg7Ij4KCQkJPGJ1dHRvbiB0eXBlPSJidXR0b24iIGlkPSJmaWx0ZXIiIG9uY2xpY2s9InNob3dSZXN1bHQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N1Y2hiZWdyaWZmJykudmFsdWUsIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtb25hdCcpLnZhbHVlLCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnamFocicpLnZhbHVlLCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncnVicmlrZW4nKS52YWx1ZSwgZ2V0Q2hlY2tib3hWYWx1ZXMoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3ppZWxncnVwcGVuJykpLCAxLCAnMCcsICcyMCcsICdTJywgJ1RBR0VTQUtUVUVMTCcsICdPVEEtMjAyMDEwMTY2OCcsIDEpOyI+RmlsdGVyIGFud2VuZGVuPC9idXR0b24+Jm5ic3A7Jm5ic3A7CgkJCTxidXR0b24gdHlwZT0iYnV0dG9uIiBpZD0iZmlsdGVyIiBvbmNsaWNrPSJzaG93QWxsKCdPVEEtMjAyMDEwMTY2OCcpOyIgaHJlZj0iI2VyZ2VibmlzbGlzdGUiPkFsbGUgYW56ZWlnZW48L2J1dHRvbj4KCQk8L2Rpdj4JCgk8L2Rpdj4KPC9kaXY+CTxkaXYgY2xhc3M9Im1pb19zdGFuZGFyZCBtaW9fbmV3cyI+CQk8ZGl2IGlkPSJ0eHRIaW50Ij48L2Rpdj4KCQk8c2NyaXB0PgoJCXNob3dSZXN1bHQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N1Y2hiZWdyaWZmJykudmFsdWUsIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtb25hdCcpLnZhbHVlLCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnamFocicpLnZhbHVlLCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncnVicmlrZW4nKS52YWx1ZSwgJycsIDEsIDAsIDIwLCAnUycsICdUQUdFU0FLVFVFTEwnLCAnT1RBLTIwMjAxMDE2NjgnLCAxKTsgCgoJCWRvY3VtZW50Lm9ua2V5ZG93biA9IGZ1bmN0aW9uKGV2ZW50KSB7CgkJCWlmIChldmVudC5rZXlDb2RlID09IDEzKSB7IAoJCQkJZXZlbnQucHJldmVudERlZmF1bHQoKSAKCQkJCXNob3dSZXN1bHQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N1Y2hiZWdyaWZmJykudmFsdWUsIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtb25hdCcpLnZhbHVlLCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnamFocicpLnZhbHVlLCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncnVicmlrZW4nKS52YWx1ZSwgJycsIDEsIDAsIDIwLCAnUycsICdUQUdFU0FLVFVFTEwnLCAnT1RBLTIwMjAxMDE2NjgnLCAxKTsgCgkJCX0KCQl9CQoJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdydWJyaWtlbicpLm9uY2hhbmdlID0gZnVuY3Rpb24oKSB7CgkJCXNob3dSZXN1bHQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N1Y2hiZWdyaWZmJykudmFsdWUsIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtb25hdCcpLnZhbHVlLCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnamFocicpLnZhbHVlLCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncnVicmlrZW4nKS52YWx1ZSwgJycsIDEsIDAsIDIwLCAnUycsICdUQUdFU0FLVFVFTEwnLCAnT1RBLTIwMjAxMDE2NjgnLCAxKTsgCgkJfQoJCTwvc2NyaXB0PgoJPC9kaXY+CQo8L2Rpdj4JIA==