falsefalsetrue-1DGPad constructionsConstruire l'orthocentre du triangle ABC, et placer le point H dessus :
{"ans":"0.00","exp":"a","src":"Ly8gQ29vcmRpbmF0ZXMgU3lzdGVtIDoKU2V0Q29vcmRzKDMwLjMyMTAwODAwMDAwMDAwNiwxODguNjk0MTYwMDAwMDAwMDcsMzMuMjIzMzU5OTk5OTk5OTksZmFsc2UsMTY4Nyw5OTgpOwoKCi8vIEdlb21ldHJ5IDoKYmxrX2J0bj1CbG9ja2x5QnV0dG9uKCJibGtfYnRuIiwiQ2xpcXVlciBpY2kgZW4gZmluIGRlIGZpZ3VyZSBwcm9mIiwiMzcuOTE1NDYwNDQ3MTA3MTEiLCIzLjU3MjYxMTU2MDA1ODk0OSIpOwpibGtfYnRuMD1CbG9ja2x5QnV0dG9uKCJibGtfYnRuMCIsIlN1cGVyIGNhY2hlciBsZXMgY2FjaFx1MDBlOXMiLCIzNy45MTU0NjA0NDcxMDcxMSIsIjEuNzY2NjUzMzQyNzA4MjY2NSIpOwpBPVBvaW50KCJBIiw0LjExMzk0MjQ3OTAyNjgwNTUsLTMuMjI5ODMxMDU4NjI4NjI2Myk7CkI9UG9pbnQoIkIiLDEwLjAxMzQwNTk4OTAzOTA0LC0wLjk0MjI4Mzk4MzMxNzc2MDEpOwpDPVBvaW50KCJDIiwzLjU3MjE1NTAxMzgyMTYwMDcsMi41NzkzMzQ1NDA1MTYwNzMpOwpIPVBvaW50KCJIIiwxMi44MTI2NDEyMjU5MzI2LDIuNDg5MDM2NjI5NjQ4NTM5KTsKUzE9U2VnbWVudCgiUzEiLEEsQik7ClMyPVNlZ21lbnQoIlMyIixDLEEpOwpTMz1TZWdtZW50KCJTMyIsQyxCKTsKUGVycDE9UGVycGVuZGljdWxhcigiUGVycDEiLFMxLEMpOwpQZXJwMj1QZXJwZW5kaWN1bGFyKCJQZXJwMiIsUzIsQik7ClAxPU9yZGVyZWRJbnRlcnNlY3Rpb24oIlAxIixQZXJwMixQZXJwMSwwKTsKYT1FeHByZXNzaW9uKCJhIiwiIiwiIiwiIiwiZChILFAxKSIsIjE5LjU1NDg4NTIzNzM3NTE1MyIsIi02LjM2MDE1ODYzNTM2OTgxMSIpOwoKCi8vIFN0eWxlcyA6ClNUTChibGtfYnRuLCJjOiM3ODAwMTM7bzowLjE7czozO2Y6MjQ7cDowIik7ClNUTChibGtfYnRuMCwiYzojMDAwMGIyO286MC4xO3M6MztmOjI0O3A6MCIpOwpTVEwoQSwiYzojMDAwMGIyO3M6Njtzbjp0cnVlO2Y6MzA7bnA6NC4zNjkzNjUwMzk5NjM5ODYiKTsKU1RMKEIsImM6IzAwMDBiMjtzOjY7c246dHJ1ZTtmOjMwIik7ClNUTChDLCJjOiMwMDAwYjI7czo2O3NuOnRydWU7ZjozMDtucDoxLjYxNjIxOTYwNjIxNjQ3MzgiKTsKU1RMKEgsImM6IzAwMDBiMjtzOjY7c246dHJ1ZTtmOjMwIik7ClNUTChTMSwiYzojMDA2NjMzO3M6MTtmOjI0Iik7ClNUTChTMiwiYzojMDA2NjMzO3M6MTtmOjI0Iik7ClNUTChTMywiYzojMDA2NjMzO3M6MTtmOjI0Iik7ClNUTChQZXJwMSwiYzojNzgwMDEzO2g6MjtzOjE7ZjozMDtwOjAiKTsKU1RMKFBlcnAyLCJjOiM3ODAwMTM7aDoyO3M6MTtmOjMwO3A6MCIpOwpTVEwoUDEsImM6IzAwMDBiMjtoOjI7czo2O2Y6MzAiKTsKU1RMKGEsImM6IzU5NmY1ZjtoOjI7czo3O2Y6MjQ7cDoyO2NMOjIwMDtjUFQ6WXpvak56Z3dNREV6TzJnNk1qdHpPakV3TzJZNk16QT0iKTsKU2V0Q29vcmRzU3R5bGUoImlzQXhpczpmYWxzZTtpc0dyaWQ6dHJ1ZTtpc094OnRydWU7aXNPeTp0cnVlO2lzTG9ja094OmZhbHNlO2lzTG9ja095OmZhbHNlO2NlbnRlclpvb206ZmFsc2U7b25seVBvc2l0aXZlOmZhbHNlO2NvbG9yOiMxMTExMTE7Zm9udFNpemU6MTg7YXhpc1dpZHRoOjE7Z3JpZFdpZHRoOjAuMSIpOwpTZXRHZW5lcmFsU3R5bGUoImJhY2tncm91bmQtY29sb3I6I0Y4RjhGODtkZWdyZWU6dHJ1ZTtkcmFnbW92ZWFibGU6dHJ1ZSIpOwoKCi8vIEJsb2NrbHkgOgpCTEsoYmxrX2J0bix7Im9ucHJvZ3JhbSI6eyJ4bWwiOiI8eG1sIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbFwiPjxibG9jayB0eXBlPVwicHJvY2VkdXJlc19kZWZyZXR1cm5cIiBpZD1cInFlOnE9ZS5EL3g1TTpYK2hSVztCXCIgeD1cIi0xNjlcIiB5PVwiLTY3XCI+PGZpZWxkIG5hbWU9XCJOQU1FXCI+ZmluZF9FWENfRUxFTUVOVFM8L2ZpZWxkPjxjb21tZW50IHBpbm5lZD1cImZhbHNlXCIgaD1cIjgwXCIgdz1cIjE2MFwiPkTDqWNyaXJlIGNldHRlIGZvbmN0aW9u4oCmPC9jb21tZW50PjxzdGF0ZW1lbnQgbmFtZT1cIlNUQUNLXCI+PGJsb2NrIHR5cGU9XCJ2YXJpYWJsZXNfc2V0XCIgaWQ9XCJRQFhSUC4rRl5HezUxXi9JeGcoflwiPjxmaWVsZCBuYW1lPVwiVkFSXCI+bHN0PC9maWVsZD48dmFsdWUgbmFtZT1cIlZBTFVFXCI+PGJsb2NrIHR5cGU9XCJsaXN0c19jcmVhdGVfd2l0aFwiIGlkPVwiRWhwQW1eV08ybChjMWRdcHZBM01cIj48bXV0YXRpb24gaXRlbXM9XCIwXCI+PC9tdXRhdGlvbj48L2Jsb2NrPjwvdmFsdWU+PG5leHQ+PGJsb2NrIHR5cGU9XCJ2YXJpYWJsZXNfc2V0XCIgaWQ9XCI0M1BDUCEuWE1nTD0uN2wuQU1mUVwiPjxmaWVsZCBuYW1lPVwiVkFSXCI+b2JqczwvZmllbGQ+PHZhbHVlIG5hbWU9XCJWQUxVRVwiPjxibG9jayB0eXBlPVwiZGdwYWRfZXhwcmVzc2lvbl9pbnB1dFwiIGlkPVwiLlYzezQ7a08lTmxWfDVvU1YwTT9cIj48ZmllbGQgbmFtZT1cIk5BTUVcIj5HZXRDYW52YXMoKS5nZXRDb25zdHJ1Y3Rpb24oKS5nZXRPYmplY3RzRnJvbVR5cGUoXCJwb2ludFwiKTwvZmllbGQ+PC9ibG9jaz48L3ZhbHVlPjxuZXh0PjxibG9jayB0eXBlPVwiY29udHJvbHNfZm9yXCIgaWQ9XCJncDlYOlkxdEdaZC15dH1AX1cxW1wiPjxmaWVsZCBuYW1lPVwiVkFSXCI+bG5lPC9maWVsZD48dmFsdWUgbmFtZT1cIkZST01cIj48YmxvY2sgdHlwZT1cIm1hdGhfbnVtYmVyXCIgaWQ9XCJxI3lSVFlnKEZbYDp5MSFJKHlgelwiPjxmaWVsZCBuYW1lPVwiTlVNXCI+MTwvZmllbGQ+PC9ibG9jaz48L3ZhbHVlPjx2YWx1ZSBuYW1lPVwiVE9cIj48YmxvY2sgdHlwZT1cImxpc3RzX2xlbmd0aFwiIGlkPVwiUkdSOzJZNHQlfnN8JUdaaHltaUVcIj48dmFsdWUgbmFtZT1cIlZBTFVFXCI+PGJsb2NrIHR5cGU9XCJ2YXJpYWJsZXNfZ2V0XCIgaWQ9XCJlU35EM3U/WHlsN3JIRl5BP0V6dFwiPjxmaWVsZCBuYW1lPVwiVkFSXCI+b2JqczwvZmllbGQ+PC9ibG9jaz48L3ZhbHVlPjwvYmxvY2s+PC92YWx1ZT48dmFsdWUgbmFtZT1cIkJZXCI+PGJsb2NrIHR5cGU9XCJtYXRoX251bWJlclwiIGlkPVwiY2FQI3FXM0IpNmRIeTo0Y05XQTdcIj48ZmllbGQgbmFtZT1cIk5VTVwiPjE8L2ZpZWxkPjwvYmxvY2s+PC92YWx1ZT48c3RhdGVtZW50IG5hbWU9XCJET1wiPjxibG9jayB0eXBlPVwidmFyaWFibGVzX3NldFwiIGlkPVwid10oby14QnUrVXghW21tYTUwTGlcIj48ZmllbGQgbmFtZT1cIlZBUlwiPm9iajwvZmllbGQ+PHZhbHVlIG5hbWU9XCJWQUxVRVwiPjxibG9jayB0eXBlPVwiZGdwYWRfZ2V0X2xpc3RcIiBpZD1cIigySWkrSU1WMHhkKyxSMDtZZVpAXCI+PHZhbHVlIG5hbWU9XCJOQU1FXCI+PGJsb2NrIHR5cGU9XCJ2YXJpYWJsZXNfZ2V0XCIgaWQ9XCJzbXdDY1JlYlUxQ20xLmpySHF2ZlwiPjxmaWVsZCBuYW1lPVwiVkFSXCI+b2JqczwvZmllbGQ+PC9ibG9jaz48L3ZhbHVlPjx2YWx1ZSBuYW1lPVwiSU5ERVhcIj48YmxvY2sgdHlwZT1cInZhcmlhYmxlc19nZXRcIiBpZD1cIjA3ejVxZE4xT1g4MThGWHo/OTR1XCI+PGZpZWxkIG5hbWU9XCJWQVJcIj5sbmU8L2ZpZWxkPjwvYmxvY2s+PC92YWx1ZT48L2Jsb2NrPjwvdmFsdWU+PG5leHQ+PGJsb2NrIHR5cGU9XCJkZ3BhZF9wdXNoXCIgaWQ9XCJ0SSlSUXJNOFZrOkpwQHVfeT03aFwiPjxmaWVsZCBuYW1lPVwiVkFSTkFNRVwiPmxzdDwvZmllbGQ+PHZhbHVlIG5hbWU9XCJOQU1FXCI+PGJsb2NrIHR5cGU9XCJkZ3BhZF9leHByZXNzaW9uX2lucHV0XCIgaWQ9XCJHLGhRWWNnXVgsRygxdGE3NXZfWlwiPjxmaWVsZCBuYW1lPVwiTkFNRVwiPmJsb2NrbHlfdmFyX29iai5nZXROYW1lKCk8L2ZpZWxkPjwvYmxvY2s+PC92YWx1ZT48L2Jsb2NrPjwvbmV4dD48L2Jsb2NrPjwvc3RhdGVtZW50PjwvYmxvY2s+PC9uZXh0PjwvYmxvY2s+PC9uZXh0PjwvYmxvY2s+PC9zdGF0ZW1lbnQ+PHZhbHVlIG5hbWU9XCJSRVRVUk5cIj48YmxvY2sgdHlwZT1cInZhcmlhYmxlc19nZXRcIiBpZD1cImYuIWhoSTcyMCxdN0lZb0VGQWdaXCI+PGZpZWxkIG5hbWU9XCJWQVJcIj5sc3Q8L2ZpZWxkPjwvYmxvY2s+PC92YWx1ZT48L2Jsb2NrPjxibG9jayB0eXBlPVwidmFyaWFibGVzX3NldFwiIGlkPVwidDRKIzdnSWp5W0RKWT1aRHhaXz9cIiB4PVwiLTE2MlwiIHk9XCIyMjlcIj48ZmllbGQgbmFtZT1cIlZBUlwiPnB0czwvZmllbGQ+PHZhbHVlIG5hbWU9XCJWQUxVRVwiPjxibG9jayB0eXBlPVwiZGdwYWRfZXhwcmVzc2lvbl9pbnB1dFwiIGlkPVwiWn5Xak02eTNjfEZdKjlzc2J4V0JcIj48ZmllbGQgbmFtZT1cIk5BTUVcIj53aW5kb3cucHJvbXB0KFwiRW50cmVyIGxhIGxpc3RlIGRlcyBwb2ludHMgw6AgYWltYW50ZXIgw6AgcG9zdGVyaW9yaSwgc8OpcGFyw6lzIHBhciBkZXMgdmlyZ3VsZXNcIik8L2ZpZWxkPjwvYmxvY2s+PC92YWx1ZT48bmV4dD48YmxvY2sgdHlwZT1cImRncGFkX2dsb2JhbF9zZXRcIiBpZD1cInRZakkjKEp0dDheP1pISDJDY08xXCI+PGZpZWxkIG5hbWU9XCJWQVJcIj5QVFNfTElTVDwvZmllbGQ+PHZhbHVlIG5hbWU9XCJOQU1FXCI+PGJsb2NrIHR5cGU9XCJkZ3BhZF9leHByZXNzaW9uX2lucHV0XCIgaWQ9XCJPYXE3Zlt8KzBmOzA7Ol99ZXZqZlwiPjxmaWVsZCBuYW1lPVwiTkFNRVwiPmJsb2NrbHlfdmFyX3B0cy5zcGxpdChcIixcIik8L2ZpZWxkPjwvYmxvY2s+PC92YWx1ZT48bmV4dD48YmxvY2sgdHlwZT1cImRncGFkX2dsb2JhbF9zZXRcIiBpZD1cInhdaDpbX20wQFk2MiNkTl5xK25oXCI+PGZpZWxkIG5hbWU9XCJWQVJcIj5FWENfTElTVDwvZmllbGQ+PHZhbHVlIG5hbWU9XCJOQU1FXCI+PGJsb2NrIHR5cGU9XCJwcm9jZWR1cmVzX2NhbGxyZXR1cm5cIiBpZD1cInJoKjNhbVZmQ1VyeD9gVSNHWHd3XCI+PG11dGF0aW9uIG5hbWU9XCJmaW5kX0VYQ19FTEVNRU5UU1wiPjwvbXV0YXRpb24+PC9ibG9jaz48L3ZhbHVlPjxuZXh0PjxibG9jayB0eXBlPVwiZGdwYWRfZ2xvYmFsX3NldFwiIGlkPVwie1Ujc08pflV4S2tATzNnIXhkKT9cIj48ZmllbGQgbmFtZT1cIlZBUlwiPk1BR05FVF9SQVk8L2ZpZWxkPjx2YWx1ZSBuYW1lPVwiTkFNRVwiPjxibG9jayB0eXBlPVwiZGdwYWRfZXhwcmVzc2lvbl9pbnB1dFwiIGlkPVwibEstcGtFNEEvQl0uV0d6P0htO0tcIj48ZmllbGQgbmFtZT1cIk5BTUVcIj53aW5kb3cucHJvbXB0KFwiRW50cmVyIGxlIHJheW9uIGR1IG1hZ27DqXRpc21lXCIsMzApPC9maWVsZD48L2Jsb2NrPjwvdmFsdWU+PC9ibG9jaz48L25leHQ+PC9ibG9jaz48L25leHQ+PC9ibG9jaz48L25leHQ+PC9ibG9jaz48L3htbD4iLCJzeW5jIjoiLyoqXG4gKiBEw6ljcmlyZSBjZXR0ZSBmb25jdGlvbuKAplxuICovXG5mdW5jdGlvbiBmaW5kX0VYQ19FTEVNRU5UUygpIHtcbiAgIHZhciBibG9ja2x5X3Zhcl9sc3QgPSBbXTtcbiAgIHZhciBibG9ja2x5X3Zhcl9vYmpzID0gKEdldENhbnZhcygpLmdldENvbnN0cnVjdGlvbigpLmdldE9iamVjdHNGcm9tVHlwZShcInBvaW50XCIpKTtcbiAgZm9yICh2YXIgYmxvY2tseV92YXJfbG5lID0gMSA7IGJsb2NrbHlfdmFyX2xuZSA8PSBibG9ja2x5X3Zhcl9vYmpzLmxlbmd0aCA7IGJsb2NrbHlfdmFyX2xuZSA9IGJsb2NrbHlfdmFyX2xuZSArIDEpe1xuICAgICB2YXIgYmxvY2tseV92YXJfb2JqID0gKGJsb2NrbHlfdmFyX29ianNbYmxvY2tseV92YXJfbG5lLTFdKTtcbiAgICBibG9ja2x5X3Zhcl9sc3QucHVzaChibG9ja2x5X3Zhcl9vYmouZ2V0TmFtZSgpKTtcbiAgfTtcbiAgcmV0dXJuIGJsb2NrbHlfdmFyX2xzdDtcbn1cblxuXG5ibG9ja2x5X3Zhcl9wdHMgPSAod2luZG93LnByb21wdChcIkVudHJlciBsYSBsaXN0ZSBkZXMgcG9pbnRzIMOgIGFpbWFudGVyIMOgIHBvc3RlcmlvcmksIHPDqXBhcsOpcyBwYXIgZGVzIHZpcmd1bGVzXCIpKTtcbkdMT0JBTF9TRVQoXCJQVFNfTElTVFwiLChibG9ja2x5X3Zhcl9wdHMuc3BsaXQoXCIsXCIpKSk7XG5HTE9CQUxfU0VUKFwiRVhDX0xJU1RcIiwoZmluZF9FWENfRUxFTUVOVFMoKSkpO1xuR0xPQkFMX1NFVChcIk1BR05FVF9SQVlcIiwod2luZG93LnByb21wdChcIkVudHJlciBsZSByYXlvbiBkdSBtYWduw6l0aXNtZVwiLDMwKSkpOyJ9LCJvbmluaXQiOnsieG1sIjoiPHhtbCB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWxcIj48YmxvY2sgdHlwZT1cImNvbnRyb2xzX2lmXCIgaWQ9XCI3XylWfUtUdzNzSjhnfCl+SnJXLVwiIHg9XCItMTUzXCIgeT1cIjE3M1wiPjx2YWx1ZSBuYW1lPVwiSUYwXCI+PGJsb2NrIHR5cGU9XCJsb2dpY19uZWdhdGVcIiBpZD1cIjJEWWp5QHljZUAyZzZJWFZAKk9+XCI+PHZhbHVlIG5hbWU9XCJCT09MXCI+PGJsb2NrIHR5cGU9XCJkZ3BhZF9leHByZXNzaW9uX2lucHV0XCIgaWQ9XCIpMlMxV0A5QWFUcSVxdUNuZnhMUlwiPjxmaWVsZCBuYW1lPVwiTkFNRVwiPndpbmRvdy5wYXJlbnRbXCIkVVwiXS5jaGFuZ2VkLmxvYWRlZDwvZmllbGQ+PC9ibG9jaz48L3ZhbHVlPjwvYmxvY2s+PC92YWx1ZT48c3RhdGVtZW50IG5hbWU9XCJETzBcIj48YmxvY2sgdHlwZT1cInZhcmlhYmxlc19zZXRcIiBpZD1cIk8tdlZnTmBQZURXOzZhS2hKZlN3XCI+PGZpZWxkIG5hbWU9XCJWQVJcIj5sbmU8L2ZpZWxkPjx2YWx1ZSBuYW1lPVwiVkFMVUVcIj48YmxvY2sgdHlwZT1cImRncGFkX2V4cHJlc3Npb25faW5wdXRcIiBpZD1cIklXazhle0xbclVaTHYyKUF2TE5rXCI+PGZpZWxkIG5hbWU9XCJOQU1FXCI+d2luZG93LnBhcmVudFtcIiRVXCJdLmNoYW5nZWQgPSBmdW5jdGlvbigpIHt2YXIgdGFiX2xpc3QgPSBHTE9CQUxfR0VUKFwiUFRTX0xJU1RcIik7dmFyIGFsbF9saXN0ID0gR2V0Q2FudmFzKCkuZ2V0Q29uc3RydWN0aW9uKCkuZ2V0T2JqZWN0c0Zyb21UeXBlKFwicG9pbnRcIik7dmFyIGV4Y19saXN0ID0gR0xPQkFMX0dFVChcIkVYQ19MSVNUXCIpO2lmICh0YWJfbGlzdCAmYW1wOyZhbXA7IGFsbF9saXN0ICZhbXA7JmFtcDsgZXhjX2xpc3QpIHtmb3IgKHZhciBpID0gMDsgaSAmbHQ7IHRhYl9saXN0Lmxlbmd0aDsgaSsrKSB7dmFyIHB0ID0gR2V0Q2FudmFzKCkuZ2V0Q29uc3RydWN0aW9uKCkuZmluZCh0YWJfbGlzdFtpXSk7aWYgKHB0KSB7cHQuc2V0TWFnbmV0cyhbXSk7Zm9yICh2YXIgayA9IDA7IGsgJmx0OyBhbGxfbGlzdC5sZW5ndGg7IGsrKykge2lmIChleGNfbGlzdC5pbmRleE9mKGFsbF9saXN0W2tdLmdldE5hbWUoKSkgPT09IC0xKSB7cHQuYWRkTWFnbmV0KGFsbF9saXN0W2tdLCBwYXJzZUludChcIlwiICsgR0xPQkFMX0dFVChcIk1BR05FVF9SQVlcIikpKTt9O307fTt9O307fTwvZmllbGQ+PC9ibG9jaz48L3ZhbHVlPjxuZXh0PjxibG9jayB0eXBlPVwidmFyaWFibGVzX3NldFwiIGlkPVwiT2QreWtPV0VtWi90QjBAKERhN0lcIj48ZmllbGQgbmFtZT1cIlZBUlwiPmxuZTwvZmllbGQ+PHZhbHVlIG5hbWU9XCJWQUxVRVwiPjxibG9jayB0eXBlPVwiZGdwYWRfZXhwcmVzc2lvbl9pbnB1dFwiIGlkPVwiLFFmXmdmZS5KVD06Rj1LVntNKCFcIj48ZmllbGQgbmFtZT1cIk5BTUVcIj53aW5kb3cucGFyZW50W1wiJFVcIl0uY2hhbmdlZC5sb2FkZWQ9dHJ1ZTwvZmllbGQ+PC9ibG9jaz48L3ZhbHVlPjwvYmxvY2s+PC9uZXh0PjwvYmxvY2s+PC9zdGF0ZW1lbnQ+PC9ibG9jaz48L3htbD4iLCJzeW5jIjoiaWYgKCEod2luZG93LnBhcmVudFtcIiRVXCJdLmNoYW5nZWQubG9hZGVkKSkge1xuICBibG9ja2x5X3Zhcl9sbmUgPSAod2luZG93LnBhcmVudFtcIiRVXCJdLmNoYW5nZWQgPSBmdW5jdGlvbigpIHt2YXIgdGFiX2xpc3QgPSBHTE9CQUxfR0VUKFwiUFRTX0xJU1RcIik7dmFyIGFsbF9saXN0ID0gR2V0Q2FudmFzKCkuZ2V0Q29uc3RydWN0aW9uKCkuZ2V0T2JqZWN0c0Zyb21UeXBlKFwicG9pbnRcIik7dmFyIGV4Y19saXN0ID0gR0xPQkFMX0dFVChcIkVYQ19MSVNUXCIpO2lmICh0YWJfbGlzdCAmJiBhbGxfbGlzdCAmJiBleGNfbGlzdCkge2ZvciAodmFyIGkgPSAwOyBpIDwgdGFiX2xpc3QubGVuZ3RoOyBpKyspIHt2YXIgcHQgPSBHZXRDYW52YXMoKS5nZXRDb25zdHJ1Y3Rpb24oKS5maW5kKHRhYl9saXN0W2ldKTtpZiAocHQpIHtwdC5zZXRNYWduZXRzKFtdKTtmb3IgKHZhciBrID0gMDsgayA8IGFsbF9saXN0Lmxlbmd0aDsgaysrKSB7aWYgKGV4Y19saXN0LmluZGV4T2YoYWxsX2xpc3Rba10uZ2V0TmFtZSgpKSA9PT0gLTEpIHtwdC5hZGRNYWduZXQoYWxsX2xpc3Rba10sIHBhcnNlSW50KFwiXCIgKyBHTE9CQUxfR0VUKFwiTUFHTkVUX1JBWVwiKSkpO307fTt9O307fTt9KTtcbiAgYmxvY2tseV92YXJfbG5lID0gKHdpbmRvdy5wYXJlbnRbXCIkVVwiXS5jaGFuZ2VkLmxvYWRlZD10cnVlKTtcbn0ifSwiY3VycmVudCI6Im9uaW5pdCJ9KTsKQkxLKGJsa19idG4wLHsib25wcm9ncmFtIjp7InhtbCI6Ijx4bWwgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sXCI+PGJsb2NrIHR5cGU9XCJwcm9jZWR1cmVzX2RlZm5vcmV0dXJuXCIgaWQ9XCJXakd8SiFKSDVDfXQwIU50dkxRLlwiIHg9XCItNzRcIiB5PVwiLTQyXCI+PG11dGF0aW9uPjxhcmcgbmFtZT1cIm5cIj48L2FyZz48L211dGF0aW9uPjxmaWVsZCBuYW1lPVwiTkFNRVwiPmNhY2hlcjwvZmllbGQ+PGNvbW1lbnQgcGlubmVkPVwiZmFsc2VcIiBoPVwiODBcIiB3PVwiMTYwXCI+RMOpY3JpcmUgY2V0dGUgZm9uY3Rpb27igKY8L2NvbW1lbnQ+PHN0YXRlbWVudCBuYW1lPVwiU1RBQ0tcIj48YmxvY2sgdHlwZT1cInZhcmlhYmxlc19zZXRcIiBpZD1cIl18UTRkNkUuUWRXeS8qe3J8JWB0XCI+PGZpZWxkIG5hbWU9XCJWQVJcIj5vYmpzPC9maWVsZD48dmFsdWUgbmFtZT1cIlZBTFVFXCI+PGJsb2NrIHR5cGU9XCJkZ3BhZF9leHByZXNzaW9uX2lucHV0XCIgaWQ9XCIscDpROHRgYyNubkNuYV59JWVIQVwiPjxmaWVsZCBuYW1lPVwiTkFNRVwiPkdldENhbnZhcygpLmdldENvbnN0cnVjdGlvbigpLmdldE5hbWVzKCk8L2ZpZWxkPjwvYmxvY2s+PC92YWx1ZT48bmV4dD48YmxvY2sgdHlwZT1cImNvbnRyb2xzX2ZvclwiIGlkPVwiUV0pVjZuZn5DIzZ9XXY9bEIuVnlcIj48ZmllbGQgbmFtZT1cIlZBUlwiPmk8L2ZpZWxkPjx2YWx1ZSBuYW1lPVwiRlJPTVwiPjxibG9jayB0eXBlPVwibWF0aF9udW1iZXJcIiBpZD1cIjlkRTRULVV1P3c2dkwjbH1jR2FCXCI+PGZpZWxkIG5hbWU9XCJOVU1cIj4xPC9maWVsZD48L2Jsb2NrPjwvdmFsdWU+PHZhbHVlIG5hbWU9XCJUT1wiPjxibG9jayB0eXBlPVwibGlzdHNfbGVuZ3RoXCIgaWQ9XCJeODB+TygrR2dPNEE/Z2BlNWhjX1wiPjx2YWx1ZSBuYW1lPVwiVkFMVUVcIj48YmxvY2sgdHlwZT1cInZhcmlhYmxlc19nZXRcIiBpZD1cIkpPd2hLRX4oe0Y0a1VbL0hFMEBPXCI+PGZpZWxkIG5hbWU9XCJWQVJcIj5vYmpzPC9maWVsZD48L2Jsb2NrPjwvdmFsdWU+PC9ibG9jaz48L3ZhbHVlPjx2YWx1ZSBuYW1lPVwiQllcIj48YmxvY2sgdHlwZT1cIm1hdGhfbnVtYmVyXCIgaWQ9XCJ5WzFCfnYoQ0l5N1slc1dDREtxQlwiPjxmaWVsZCBuYW1lPVwiTlVNXCI+MTwvZmllbGQ+PC9ibG9jaz48L3ZhbHVlPjxzdGF0ZW1lbnQgbmFtZT1cIkRPXCI+PGJsb2NrIHR5cGU9XCJ2YXJpYWJsZXNfc2V0XCIgaWQ9XCJxOVE3P3hOTXZ2eEFKWzdBfEtdKlwiPjxmaWVsZCBuYW1lPVwiVkFSXCI+b2JqPC9maWVsZD48dmFsdWUgbmFtZT1cIlZBTFVFXCI+PGJsb2NrIHR5cGU9XCJkZ3BhZF9nZXRfbGlzdFwiIGlkPVwidFBLajtQK0owUHg6Q0t4O0FqR0BcIj48dmFsdWUgbmFtZT1cIk5BTUVcIj48YmxvY2sgdHlwZT1cInZhcmlhYmxlc19nZXRcIiBpZD1cImhkeVFmY1FoQCtgJW98YjFRTFtuXCI+PGZpZWxkIG5hbWU9XCJWQVJcIj5vYmpzPC9maWVsZD48L2Jsb2NrPjwvdmFsdWU+PHZhbHVlIG5hbWU9XCJJTkRFWFwiPjxibG9jayB0eXBlPVwidmFyaWFibGVzX2dldFwiIGlkPVwic0xMYmF8QEpjIWdhMCxIejk/WllcIj48ZmllbGQgbmFtZT1cIlZBUlwiPmk8L2ZpZWxkPjwvYmxvY2s+PC92YWx1ZT48L2Jsb2NrPjwvdmFsdWU+PG5leHQ+PGJsb2NrIHR5cGU9XCJ2YXJpYWJsZXNfc2V0XCIgaWQ9XCJyRV5YISllelc5TypKaXF8ZjtiXVwiPjxmaWVsZCBuYW1lPVwiVkFSXCI+b2JqPC9maWVsZD48dmFsdWUgbmFtZT1cIlZBTFVFXCI+PGJsb2NrIHR5cGU9XCJkZ3BhZF9leHByZXNzaW9uX2lucHV0XCIgaWQ9XCJfQk0tP0VdLkgtSlg2IURFRU9ja1wiPjxmaWVsZCBuYW1lPVwiTkFNRVwiPkdldENhbnZhcygpLmdldENvbnN0cnVjdGlvbigpLmZpbmQoYmxvY2tseV92YXJfb2JqKTwvZmllbGQ+PC9ibG9jaz48L3ZhbHVlPjxuZXh0PjxibG9jayB0eXBlPVwiY29udHJvbHNfaWZcIiBpZD1cIlVnMXE7NGBMP2VWVCxjfHkxdEYyXCI+PHZhbHVlIG5hbWU9XCJJRjBcIj48YmxvY2sgdHlwZT1cImRncGFkX2V4cHJlc3Npb25faW5wdXRcIiBpZD1cImFNcWdwfil3YTNDSClZX3s7MHJ1XCI+PGZpZWxkIG5hbWU9XCJOQU1FXCI+YmxvY2tseV92YXJfb2JqLmlzSGlkZGVuKCk8L2ZpZWxkPjwvYmxvY2s+PC92YWx1ZT48c3RhdGVtZW50IG5hbWU9XCJETzBcIj48YmxvY2sgdHlwZT1cInZhcmlhYmxlc19zZXRcIiBpZD1cInt4dy5lTThtfU59I2VyS2cuND0uXCI+PGZpZWxkIG5hbWU9XCJWQVJcIj5sbmU8L2ZpZWxkPjx2YWx1ZSBuYW1lPVwiVkFMVUVcIj48YmxvY2sgdHlwZT1cImRncGFkX2V4cHJlc3Npb25faW5wdXRcIiBpZD1cIkx5YHE7UEplVCVZWl1sc3RZPSxPXCI+PGZpZWxkIG5hbWU9XCJOQU1FXCI+YmxvY2tseV92YXJfb2JqLnNldEhpZGRlbihibG9ja2x5X3Zhcl9uKTwvZmllbGQ+PC9ibG9jaz48L3ZhbHVlPjwvYmxvY2s+PC9zdGF0ZW1lbnQ+PC9ibG9jaz48L25leHQ+PC9ibG9jaz48L25leHQ+PC9ibG9jaz48L3N0YXRlbWVudD48bmV4dD48YmxvY2sgdHlwZT1cInZhcmlhYmxlc19zZXRcIiBpZD1cInNTWS91Z0pTd29SbmUze05WXytHXCI+PGZpZWxkIG5hbWU9XCJWQVJcIj5sbmU8L2ZpZWxkPjx2YWx1ZSBuYW1lPVwiVkFMVUVcIj48YmxvY2sgdHlwZT1cImRncGFkX2V4cHJlc3Npb25faW5wdXRcIiBpZD1cIi1ifFQjUDhWTUYyIW44akoheSlRXCI+PGZpZWxkIG5hbWU9XCJOQU1FXCI+Y29uc29sZS5sb2coYmxvY2tseV92YXJfbik8L2ZpZWxkPjwvYmxvY2s+PC92YWx1ZT48L2Jsb2NrPjwvbmV4dD48L2Jsb2NrPjwvbmV4dD48L2Jsb2NrPjwvc3RhdGVtZW50PjwvYmxvY2s+PGJsb2NrIHR5cGU9XCJwcm9jZWR1cmVzX2NhbGxub3JldHVyblwiIGlkPVwiNEwrdDZtKWh0dj8tbE0qTyhwXjBcIiBpbmxpbmU9XCJ0cnVlXCIgeD1cIi02OVwiIHk9XCIzMjRcIj48bXV0YXRpb24gbmFtZT1cImNhY2hlclwiPjxhcmcgbmFtZT1cIm5cIj48L2FyZz48L211dGF0aW9uPjx2YWx1ZSBuYW1lPVwiQVJHMFwiPjxibG9jayB0eXBlPVwibWF0aF9udW1iZXJcIiBpZD1cIjBnY01iSiNGXV4jVWhzXyxsISFGXCI+PGZpZWxkIG5hbWU9XCJOVU1cIj4yPC9maWVsZD48L2Jsb2NrPjwvdmFsdWU+PC9ibG9jaz48L3htbD4iLCJzeW5jIjoiLyoqXG4gKiBEw6ljcmlyZSBjZXR0ZSBmb25jdGlvbuKAplxuICovXG5mdW5jdGlvbiBjYWNoZXIoYmxvY2tseV9sb2NhbF9uKSB7XG4gICB2YXIgYmxvY2tseV92YXJfb2JqcyA9IChHZXRDYW52YXMoKS5nZXRDb25zdHJ1Y3Rpb24oKS5nZXROYW1lcygpKTtcbiAgZm9yICh2YXIgYmxvY2tseV92YXJfaSA9IDEgOyBibG9ja2x5X3Zhcl9pIDw9IGJsb2NrbHlfdmFyX29ianMubGVuZ3RoIDsgYmxvY2tseV92YXJfaSA9IGJsb2NrbHlfdmFyX2kgKyAxKXtcbiAgICAgdmFyIGJsb2NrbHlfdmFyX29iaiA9IChibG9ja2x5X3Zhcl9vYmpzW2Jsb2NrbHlfdmFyX2ktMV0pO1xuICAgIGJsb2NrbHlfdmFyX29iaiA9IChHZXRDYW52YXMoKS5nZXRDb25zdHJ1Y3Rpb24oKS5maW5kKGJsb2NrbHlfdmFyX29iaikpO1xuICAgIGlmIChibG9ja2x5X3Zhcl9vYmouaXNIaWRkZW4oKSkge1xuICAgICAgIHZhciBibG9ja2x5X3Zhcl9sbmUgPSAoYmxvY2tseV92YXJfb2JqLnNldEhpZGRlbihibG9ja2x5X2xvY2FsX24pKTtcbiAgICB9XG4gIH07XG4gIGJsb2NrbHlfdmFyX2xuZSA9IChjb25zb2xlLmxvZyhibG9ja2x5X2xvY2FsX24pKTtcbn1cblxuXG5jYWNoZXIoMik7In0sImN1cnJlbnQiOiJvbnByb2dyYW0ifSk7CgoKLy8gQmxvY2tseSBHbG9iYWxzIDoKQkxLX0dMT0JfU0VUKHsiUFRTX0xJU1QiOlsiSCJdLCJFWENfTElTVCI6WyJBIiwiQiIsIkMiLCJIIl0sIk1BR05FVF9SQVkiOiIzMCJ9KTsKCgovL0RvY0V2YWw6Cg==","src_cor":"Ly8gQ29vcmRpbmF0ZXMgU3lzdGVtIDoKU2V0Q29vcmRzKDMwLjMyMTAwODAwMDAwMDAwNiwxODguNjk0MTYwMDAwMDAwMDcsMzMuMjIzMzU5OTk5OTk5OTksZmFsc2UsNjAwLDQwMCk7CgoKLy8gR2VvbWV0cnkgOgpibGtfYnRuPUJsb2NrbHlCdXR0b24oImJsa19idG4iLCJDbGlxdWVyIGljaSBlbiBmaW4gZGUgZmlndXJlIHByb2YiLCIzNy45MTU0NjA0NDcxMDcxMSIsIjMuNTcyNjExNTYwMDU4OTQ5Iik7CmJsa19idG4wPUJsb2NrbHlCdXR0b24oImJsa19idG4wIiwiU3VwZXIgY2FjaGVyIGxlcyBjYWNoXHUwMGU5cyIsIjM3LjkxNTQ2MDQ0NzEwNzExIiwiMS43NjY2NTMzNDI3MDgyNjY1Iik7CkE9UG9pbnQoIkEiLDQuMTEzOTQyNDc5MDI2ODA1NSwtMy4yMjk4MzEwNTg2Mjg2MjYzKTsKQj1Qb2ludCgiQiIsMTAuMDEzNDA1OTg5MDM5MDQsLTAuOTQyMjgzOTgzMzE3NzYwMSk7CkM9UG9pbnQoIkMiLDMuNTcyMTU1MDEzODIxNjAwNywyLjU3OTMzNDU0MDUxNjA3Myk7Ckg9UG9pbnQoIkgiLDUuMTE0ODMxMDk5MTc5NTk4LC0xLjM5OTE0NTg5MDE0NDAyOSk7ClMxPVNlZ21lbnQoIlMxIixBLEIpOwpTMj1TZWdtZW50KCJTMiIsQyxBKTsKUzM9U2VnbWVudCgiUzMiLEMsQik7ClBlcnAxPVBlcnBlbmRpY3VsYXIoIlBlcnAxIixTMSxDKTsKUGVycDI9UGVycGVuZGljdWxhcigiUGVycDIiLFMyLEIpOwpQZXJwMz1QZXJwZW5kaWN1bGFyKCJQZXJwMyIsUzEsQyk7ClBlcnA0PVBlcnBlbmRpY3VsYXIoIlBlcnA0IixTMixCKTsKUDE9T3JkZXJlZEludGVyc2VjdGlvbigiUDEiLFBlcnAyLFBlcnAxLDApOwpQMj1PcmRlcmVkSW50ZXJzZWN0aW9uKCJQMiIsUGVycDQsUGVycDMsMCk7CmE9RXhwcmVzc2lvbigiYSIsIiIsIiIsIiIsImQoSCxQMSkiLCIxOS41NTQ4ODUyMzczNzUxNTMiLCItNi4zNjAxNTg2MzUzNjk4MTEiKTsKCgovLyBTdHlsZXMgOgpTVEwoYmxrX2J0biwiYzojNzgwMDEzO286MC4xO3M6MztmOjI0O3A6MCIpOwpTVEwoYmxrX2J0bjAsImM6IzAwMDBiMjtvOjAuMTtzOjM7ZjoyNDtwOjAiKTsKU1RMKEEsImM6IzAwMDBiMjtzOjY7c246dHJ1ZTtmOjMwO25wOjQuMzY5MzY1MDM5OTYzOTg2Iik7ClNUTChCLCJjOiMwMDAwYjI7czo2O3NuOnRydWU7ZjozMCIpOwpTVEwoQywiYzojMDAwMGIyO3M6Njtzbjp0cnVlO2Y6MzA7bnA6MS42MTYyMTk2MDYyMTY0NzM4Iik7ClNUTChILCJjOiMwMDAwYjI7czo2O3NuOnRydWU7ZjozMDttZzpbUDIsMzBdIik7ClNUTChTMSwiYzojMDA2NjMzO3M6MTtmOjI0Iik7ClNUTChTMiwiYzojMDA2NjMzO3M6MTtmOjI0Iik7ClNUTChTMywiYzojMDA2NjMzO3M6MTtmOjI0Iik7ClNUTChQZXJwMSwiYzojNzgwMDEzO2g6MjtzOjE7ZjozMDtwOjAiKTsKU1RMKFBlcnAyLCJjOiM3ODAwMTM7aDoyO3M6MTtmOjMwO3A6MCIpOwpTVEwoUGVycDMsImM6Izc4MDAxMztzOjE7ZjozMDtwOjAiKTsKU1RMKFBlcnA0LCJjOiM3ODAwMTM7czoxO2Y6MzA7cDowIik7ClNUTChQMSwiYzojMDAwMGIyO2g6MjtzOjY7ZjozMCIpOwpTVEwoUDIsImM6IzAwMDBiMjtzOjY7ZjozMCIpOwpTVEwoYSwiYzojNTk2ZjVmO2g6MjtzOjc7ZjoyNDtwOjI7Y0w6MjAwO2NQVDpZem9qTnpnd01ERXpPMmc2TWp0ek9qRXdPMlk2TXpBPSIpOwpTZXRDb29yZHNTdHlsZSgiaXNBeGlzOmZhbHNlO2lzR3JpZDp0cnVlO2lzT3g6dHJ1ZTtpc095OnRydWU7aXNMb2NrT3g6ZmFsc2U7aXNMb2NrT3k6ZmFsc2U7Y2VudGVyWm9vbTpmYWxzZTtvbmx5UG9zaXRpdmU6ZmFsc2U7Y29sb3I6IzExMTExMTtmb250U2l6ZToxODtheGlzV2lkdGg6MTtncmlkV2lkdGg6MC4xIik7ClNldEdlbmVyYWxTdHlsZSgiYmFja2dyb3VuZC1jb2xvcjojRjhGOEY4O2RlZ3JlZTp0cnVlO2RyYWdtb3ZlYWJsZTp0cnVlIik7CgoKLy8gQmxvY2tseSA6CkJMSyhibGtfYnRuLHsib25wcm9ncmFtIjp7InhtbCI6Ijx4bWwgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sXCI+PGJsb2NrIHR5cGU9XCJwcm9jZWR1cmVzX2RlZnJldHVyblwiIGlkPVwicWU6cT1lLkQveDVNOlgraFJXO0JcIiB4PVwiLTE2OVwiIHk9XCItNjdcIj48ZmllbGQgbmFtZT1cIk5BTUVcIj5maW5kX0VYQ19FTEVNRU5UUzwvZmllbGQ+PGNvbW1lbnQgcGlubmVkPVwiZmFsc2VcIiBoPVwiODBcIiB3PVwiMTYwXCI+RMOpY3JpcmUgY2V0dGUgZm9uY3Rpb27igKY8L2NvbW1lbnQ+PHN0YXRlbWVudCBuYW1lPVwiU1RBQ0tcIj48YmxvY2sgdHlwZT1cInZhcmlhYmxlc19zZXRcIiBpZD1cIlFAWFJQLitGXkd7NTFeL0l4Zyh+XCI+PGZpZWxkIG5hbWU9XCJWQVJcIj5sc3Q8L2ZpZWxkPjx2YWx1ZSBuYW1lPVwiVkFMVUVcIj48YmxvY2sgdHlwZT1cImxpc3RzX2NyZWF0ZV93aXRoXCIgaWQ9XCJFaHBBbV5XTzJsKGMxZF1wdkEzTVwiPjxtdXRhdGlvbiBpdGVtcz1cIjBcIj48L211dGF0aW9uPjwvYmxvY2s+PC92YWx1ZT48bmV4dD48YmxvY2sgdHlwZT1cInZhcmlhYmxlc19zZXRcIiBpZD1cIjQzUENQIS5YTWdMPS43bC5BTWZRXCI+PGZpZWxkIG5hbWU9XCJWQVJcIj5vYmpzPC9maWVsZD48dmFsdWUgbmFtZT1cIlZBTFVFXCI+PGJsb2NrIHR5cGU9XCJkZ3BhZF9leHByZXNzaW9uX2lucHV0XCIgaWQ9XCIuVjN7NDtrTyVObFZ8NW9TVjBNP1wiPjxmaWVsZCBuYW1lPVwiTkFNRVwiPkdldENhbnZhcygpLmdldENvbnN0cnVjdGlvbigpLmdldE9iamVjdHNGcm9tVHlwZShcInBvaW50XCIpPC9maWVsZD48L2Jsb2NrPjwvdmFsdWU+PG5leHQ+PGJsb2NrIHR5cGU9XCJjb250cm9sc19mb3JcIiBpZD1cImdwOVg6WTF0R1pkLXl0fUBfVzFbXCI+PGZpZWxkIG5hbWU9XCJWQVJcIj5sbmU8L2ZpZWxkPjx2YWx1ZSBuYW1lPVwiRlJPTVwiPjxibG9jayB0eXBlPVwibWF0aF9udW1iZXJcIiBpZD1cInEjeVJUWWcoRltgOnkxIUkoeWB6XCI+PGZpZWxkIG5hbWU9XCJOVU1cIj4xPC9maWVsZD48L2Jsb2NrPjwvdmFsdWU+PHZhbHVlIG5hbWU9XCJUT1wiPjxibG9jayB0eXBlPVwibGlzdHNfbGVuZ3RoXCIgaWQ9XCJSR1I7Mlk0dCV+c3wlR1poeW1pRVwiPjx2YWx1ZSBuYW1lPVwiVkFMVUVcIj48YmxvY2sgdHlwZT1cInZhcmlhYmxlc19nZXRcIiBpZD1cImVTfkQzdT9YeWw3ckhGXkE/RXp0XCI+PGZpZWxkIG5hbWU9XCJWQVJcIj5vYmpzPC9maWVsZD48L2Jsb2NrPjwvdmFsdWU+PC9ibG9jaz48L3ZhbHVlPjx2YWx1ZSBuYW1lPVwiQllcIj48YmxvY2sgdHlwZT1cIm1hdGhfbnVtYmVyXCIgaWQ9XCJjYVAjcVczQik2ZEh5OjRjTldBN1wiPjxmaWVsZCBuYW1lPVwiTlVNXCI+MTwvZmllbGQ+PC9ibG9jaz48L3ZhbHVlPjxzdGF0ZW1lbnQgbmFtZT1cIkRPXCI+PGJsb2NrIHR5cGU9XCJ2YXJpYWJsZXNfc2V0XCIgaWQ9XCJ3XShvLXhCdStVeCFbbW1hNTBMaVwiPjxmaWVsZCBuYW1lPVwiVkFSXCI+b2JqPC9maWVsZD48dmFsdWUgbmFtZT1cIlZBTFVFXCI+PGJsb2NrIHR5cGU9XCJkZ3BhZF9nZXRfbGlzdFwiIGlkPVwiKDJJaStJTVYweGQrLFIwO1llWkBcIj48dmFsdWUgbmFtZT1cIk5BTUVcIj48YmxvY2sgdHlwZT1cInZhcmlhYmxlc19nZXRcIiBpZD1cInNtd0NjUmViVTFDbTEuanJIcXZmXCI+PGZpZWxkIG5hbWU9XCJWQVJcIj5vYmpzPC9maWVsZD48L2Jsb2NrPjwvdmFsdWU+PHZhbHVlIG5hbWU9XCJJTkRFWFwiPjxibG9jayB0eXBlPVwidmFyaWFibGVzX2dldFwiIGlkPVwiMDd6NXFkTjFPWDgxOEZYej85NHVcIj48ZmllbGQgbmFtZT1cIlZBUlwiPmxuZTwvZmllbGQ+PC9ibG9jaz48L3ZhbHVlPjwvYmxvY2s+PC92YWx1ZT48bmV4dD48YmxvY2sgdHlwZT1cImRncGFkX3B1c2hcIiBpZD1cInRJKVJRck04Vms6SnBAdV95PTdoXCI+PGZpZWxkIG5hbWU9XCJWQVJOQU1FXCI+bHN0PC9maWVsZD48dmFsdWUgbmFtZT1cIk5BTUVcIj48YmxvY2sgdHlwZT1cImRncGFkX2V4cHJlc3Npb25faW5wdXRcIiBpZD1cIkcsaFFZY2ddWCxHKDF0YTc1dl9aXCI+PGZpZWxkIG5hbWU9XCJOQU1FXCI+YmxvY2tseV92YXJfb2JqLmdldE5hbWUoKTwvZmllbGQ+PC9ibG9jaz48L3ZhbHVlPjwvYmxvY2s+PC9uZXh0PjwvYmxvY2s+PC9zdGF0ZW1lbnQ+PC9ibG9jaz48L25leHQ+PC9ibG9jaz48L25leHQ+PC9ibG9jaz48L3N0YXRlbWVudD48dmFsdWUgbmFtZT1cIlJFVFVSTlwiPjxibG9jayB0eXBlPVwidmFyaWFibGVzX2dldFwiIGlkPVwiZi4haGhJNzIwLF03SVlvRUZBZ1pcIj48ZmllbGQgbmFtZT1cIlZBUlwiPmxzdDwvZmllbGQ+PC9ibG9jaz48L3ZhbHVlPjwvYmxvY2s+PGJsb2NrIHR5cGU9XCJ2YXJpYWJsZXNfc2V0XCIgaWQ9XCJ0NEojN2dJanlbREpZPVpEeFpfP1wiIHg9XCItMTYyXCIgeT1cIjIyOVwiPjxmaWVsZCBuYW1lPVwiVkFSXCI+cHRzPC9maWVsZD48dmFsdWUgbmFtZT1cIlZBTFVFXCI+PGJsb2NrIHR5cGU9XCJkZ3BhZF9leHByZXNzaW9uX2lucHV0XCIgaWQ9XCJafldqTTZ5M2N8Rl0qOXNzYnhXQlwiPjxmaWVsZCBuYW1lPVwiTkFNRVwiPndpbmRvdy5wcm9tcHQoXCJFbnRyZXIgbGEgbGlzdGUgZGVzIHBvaW50cyDDoCBhaW1hbnRlciDDoCBwb3N0ZXJpb3JpLCBzw6lwYXLDqXMgcGFyIGRlcyB2aXJndWxlc1wiKTwvZmllbGQ+PC9ibG9jaz48L3ZhbHVlPjxuZXh0PjxibG9jayB0eXBlPVwiZGdwYWRfZ2xvYmFsX3NldFwiIGlkPVwidFlqSSMoSnR0OF4/WkhIMkNjTzFcIj48ZmllbGQgbmFtZT1cIlZBUlwiPlBUU19MSVNUPC9maWVsZD48dmFsdWUgbmFtZT1cIk5BTUVcIj48YmxvY2sgdHlwZT1cImRncGFkX2V4cHJlc3Npb25faW5wdXRcIiBpZD1cIk9hcTdmW3wrMGY7MDs6X31ldmpmXCI+PGZpZWxkIG5hbWU9XCJOQU1FXCI+YmxvY2tseV92YXJfcHRzLnNwbGl0KFwiLFwiKTwvZmllbGQ+PC9ibG9jaz48L3ZhbHVlPjxuZXh0PjxibG9jayB0eXBlPVwiZGdwYWRfZ2xvYmFsX3NldFwiIGlkPVwieF1oOltfbTBAWTYyI2ROXnErbmhcIj48ZmllbGQgbmFtZT1cIlZBUlwiPkVYQ19MSVNUPC9maWVsZD48dmFsdWUgbmFtZT1cIk5BTUVcIj48YmxvY2sgdHlwZT1cInByb2NlZHVyZXNfY2FsbHJldHVyblwiIGlkPVwicmgqM2FtVmZDVXJ4P2BVI0dYd3dcIj48bXV0YXRpb24gbmFtZT1cImZpbmRfRVhDX0VMRU1FTlRTXCI+PC9tdXRhdGlvbj48L2Jsb2NrPjwvdmFsdWU+PG5leHQ+PGJsb2NrIHR5cGU9XCJkZ3BhZF9nbG9iYWxfc2V0XCIgaWQ9XCJ7VSNzTyl+VXhLa0BPM2cheGQpP1wiPjxmaWVsZCBuYW1lPVwiVkFSXCI+TUFHTkVUX1JBWTwvZmllbGQ+PHZhbHVlIG5hbWU9XCJOQU1FXCI+PGJsb2NrIHR5cGU9XCJkZ3BhZF9leHByZXNzaW9uX2lucHV0XCIgaWQ9XCJsSy1wa0U0QS9CXS5XR3o/SG07S1wiPjxmaWVsZCBuYW1lPVwiTkFNRVwiPndpbmRvdy5wcm9tcHQoXCJFbnRyZXIgbGUgcmF5b24gZHUgbWFnbsOpdGlzbWVcIiwzMCk8L2ZpZWxkPjwvYmxvY2s+PC92YWx1ZT48L2Jsb2NrPjwvbmV4dD48L2Jsb2NrPjwvbmV4dD48L2Jsb2NrPjwvbmV4dD48L2Jsb2NrPjwveG1sPiIsInN5bmMiOiIvKipcbiAqIETDqWNyaXJlIGNldHRlIGZvbmN0aW9u4oCmXG4gKi9cbmZ1bmN0aW9uIGZpbmRfRVhDX0VMRU1FTlRTKCkge1xuICAgdmFyIGJsb2NrbHlfdmFyX2xzdCA9IFtdO1xuICAgdmFyIGJsb2NrbHlfdmFyX29ianMgPSAoR2V0Q2FudmFzKCkuZ2V0Q29uc3RydWN0aW9uKCkuZ2V0T2JqZWN0c0Zyb21UeXBlKFwicG9pbnRcIikpO1xuICBmb3IgKHZhciBibG9ja2x5X3Zhcl9sbmUgPSAxIDsgYmxvY2tseV92YXJfbG5lIDw9IGJsb2NrbHlfdmFyX29ianMubGVuZ3RoIDsgYmxvY2tseV92YXJfbG5lID0gYmxvY2tseV92YXJfbG5lICsgMSl7XG4gICAgIHZhciBibG9ja2x5X3Zhcl9vYmogPSAoYmxvY2tseV92YXJfb2Jqc1tibG9ja2x5X3Zhcl9sbmUtMV0pO1xuICAgIGJsb2NrbHlfdmFyX2xzdC5wdXNoKGJsb2NrbHlfdmFyX29iai5nZXROYW1lKCkpO1xuICB9O1xuICByZXR1cm4gYmxvY2tseV92YXJfbHN0O1xufVxuXG5cbmJsb2NrbHlfdmFyX3B0cyA9ICh3aW5kb3cucHJvbXB0KFwiRW50cmVyIGxhIGxpc3RlIGRlcyBwb2ludHMgw6AgYWltYW50ZXIgw6AgcG9zdGVyaW9yaSwgc8OpcGFyw6lzIHBhciBkZXMgdmlyZ3VsZXNcIikpO1xuR0xPQkFMX1NFVChcIlBUU19MSVNUXCIsKGJsb2NrbHlfdmFyX3B0cy5zcGxpdChcIixcIikpKTtcbkdMT0JBTF9TRVQoXCJFWENfTElTVFwiLChmaW5kX0VYQ19FTEVNRU5UUygpKSk7XG5HTE9CQUxfU0VUKFwiTUFHTkVUX1JBWVwiLCh3aW5kb3cucHJvbXB0KFwiRW50cmVyIGxlIHJheW9uIGR1IG1hZ27DqXRpc21lXCIsMzApKSk7In0sIm9uaW5pdCI6eyJ4bWwiOiI8eG1sIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbFwiPjxibG9jayB0eXBlPVwiY29udHJvbHNfaWZcIiBpZD1cIjdfKVZ9S1R3M3NKOGd8KX5KclctXCIgeD1cIi0xNTNcIiB5PVwiMTczXCI+PHZhbHVlIG5hbWU9XCJJRjBcIj48YmxvY2sgdHlwZT1cImxvZ2ljX25lZ2F0ZVwiIGlkPVwiMkRZanlAeWNlQDJnNklYVkAqT35cIj48dmFsdWUgbmFtZT1cIkJPT0xcIj48YmxvY2sgdHlwZT1cImRncGFkX2V4cHJlc3Npb25faW5wdXRcIiBpZD1cIikyUzFXQDlBYVRxJXF1Q25meExSXCI+PGZpZWxkIG5hbWU9XCJOQU1FXCI+d2luZG93LnBhcmVudFtcIiRVXCJdLmNoYW5nZWQubG9hZGVkPC9maWVsZD48L2Jsb2NrPjwvdmFsdWU+PC9ibG9jaz48L3ZhbHVlPjxzdGF0ZW1lbnQgbmFtZT1cIkRPMFwiPjxibG9jayB0eXBlPVwidmFyaWFibGVzX3NldFwiIGlkPVwiTy12VmdOYFBlRFc7NmFLaEpmU3dcIj48ZmllbGQgbmFtZT1cIlZBUlwiPmxuZTwvZmllbGQ+PHZhbHVlIG5hbWU9XCJWQUxVRVwiPjxibG9jayB0eXBlPVwiZGdwYWRfZXhwcmVzc2lvbl9pbnB1dFwiIGlkPVwiSVdrOGV7TFtyVVpMdjIpQXZMTmtcIj48ZmllbGQgbmFtZT1cIk5BTUVcIj53aW5kb3cucGFyZW50W1wiJFVcIl0uY2hhbmdlZCA9IGZ1bmN0aW9uKCkge3ZhciB0YWJfbGlzdCA9IEdMT0JBTF9HRVQoXCJQVFNfTElTVFwiKTt2YXIgYWxsX2xpc3QgPSBHZXRDYW52YXMoKS5nZXRDb25zdHJ1Y3Rpb24oKS5nZXRPYmplY3RzRnJvbVR5cGUoXCJwb2ludFwiKTt2YXIgZXhjX2xpc3QgPSBHTE9CQUxfR0VUKFwiRVhDX0xJU1RcIik7aWYgKHRhYl9saXN0ICZhbXA7JmFtcDsgYWxsX2xpc3QgJmFtcDsmYW1wOyBleGNfbGlzdCkge2ZvciAodmFyIGkgPSAwOyBpICZsdDsgdGFiX2xpc3QubGVuZ3RoOyBpKyspIHt2YXIgcHQgPSBHZXRDYW52YXMoKS5nZXRDb25zdHJ1Y3Rpb24oKS5maW5kKHRhYl9saXN0W2ldKTtpZiAocHQpIHtwdC5zZXRNYWduZXRzKFtdKTtmb3IgKHZhciBrID0gMDsgayAmbHQ7IGFsbF9saXN0Lmxlbmd0aDsgaysrKSB7aWYgKGV4Y19saXN0LmluZGV4T2YoYWxsX2xpc3Rba10uZ2V0TmFtZSgpKSA9PT0gLTEpIHtwdC5hZGRNYWduZXQoYWxsX2xpc3Rba10sIHBhcnNlSW50KFwiXCIgKyBHTE9CQUxfR0VUKFwiTUFHTkVUX1JBWVwiKSkpO307fTt9O307fTt9PC9maWVsZD48L2Jsb2NrPjwvdmFsdWU+PG5leHQ+PGJsb2NrIHR5cGU9XCJ2YXJpYWJsZXNfc2V0XCIgaWQ9XCJPZCt5a09XRW1aL3RCMEAoRGE3SVwiPjxmaWVsZCBuYW1lPVwiVkFSXCI+bG5lPC9maWVsZD48dmFsdWUgbmFtZT1cIlZBTFVFXCI+PGJsb2NrIHR5cGU9XCJkZ3BhZF9leHByZXNzaW9uX2lucHV0XCIgaWQ9XCIsUWZeZ2ZlLkpUPTpGPUtWe00oIVwiPjxmaWVsZCBuYW1lPVwiTkFNRVwiPndpbmRvdy5wYXJlbnRbXCIkVVwiXS5jaGFuZ2VkLmxvYWRlZD10cnVlPC9maWVsZD48L2Jsb2NrPjwvdmFsdWU+PC9ibG9jaz48L25leHQ+PC9ibG9jaz48L3N0YXRlbWVudD48L2Jsb2NrPjwveG1sPiIsInN5bmMiOiJpZiAoISh3aW5kb3cucGFyZW50W1wiJFVcIl0uY2hhbmdlZC5sb2FkZWQpKSB7XG4gIGJsb2NrbHlfdmFyX2xuZSA9ICh3aW5kb3cucGFyZW50W1wiJFVcIl0uY2hhbmdlZCA9IGZ1bmN0aW9uKCkge3ZhciB0YWJfbGlzdCA9IEdMT0JBTF9HRVQoXCJQVFNfTElTVFwiKTt2YXIgYWxsX2xpc3QgPSBHZXRDYW52YXMoKS5nZXRDb25zdHJ1Y3Rpb24oKS5nZXRPYmplY3RzRnJvbVR5cGUoXCJwb2ludFwiKTt2YXIgZXhjX2xpc3QgPSBHTE9CQUxfR0VUKFwiRVhDX0xJU1RcIik7aWYgKHRhYl9saXN0ICYmIGFsbF9saXN0ICYmIGV4Y19saXN0KSB7Zm9yICh2YXIgaSA9IDA7IGkgPCB0YWJfbGlzdC5sZW5ndGg7IGkrKykge3ZhciBwdCA9IEdldENhbnZhcygpLmdldENvbnN0cnVjdGlvbigpLmZpbmQodGFiX2xpc3RbaV0pO2lmIChwdCkge3B0LnNldE1hZ25ldHMoW10pO2ZvciAodmFyIGsgPSAwOyBrIDwgYWxsX2xpc3QubGVuZ3RoOyBrKyspIHtpZiAoZXhjX2xpc3QuaW5kZXhPZihhbGxfbGlzdFtrXS5nZXROYW1lKCkpID09PSAtMSkge3B0LmFkZE1hZ25ldChhbGxfbGlzdFtrXSwgcGFyc2VJbnQoXCJcIiArIEdMT0JBTF9HRVQoXCJNQUdORVRfUkFZXCIpKSk7fTt9O307fTt9O30pO1xuICBibG9ja2x5X3Zhcl9sbmUgPSAod2luZG93LnBhcmVudFtcIiRVXCJdLmNoYW5nZWQubG9hZGVkPXRydWUpO1xufSJ9LCJjdXJyZW50Ijoib25pbml0In0pOwpCTEsoYmxrX2J0bjAseyJvbnByb2dyYW0iOnsieG1sIjoiPHhtbCB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWxcIj48YmxvY2sgdHlwZT1cInByb2NlZHVyZXNfZGVmbm9yZXR1cm5cIiBpZD1cIldqR3xKIUpINUN9dDAhTnR2TFEuXCIgeD1cIi03NFwiIHk9XCItNDJcIj48bXV0YXRpb24+PGFyZyBuYW1lPVwiblwiPjwvYXJnPjwvbXV0YXRpb24+PGZpZWxkIG5hbWU9XCJOQU1FXCI+Y2FjaGVyPC9maWVsZD48Y29tbWVudCBwaW5uZWQ9XCJmYWxzZVwiIGg9XCI4MFwiIHc9XCIxNjBcIj5Ew6ljcmlyZSBjZXR0ZSBmb25jdGlvbuKApjwvY29tbWVudD48c3RhdGVtZW50IG5hbWU9XCJTVEFDS1wiPjxibG9jayB0eXBlPVwidmFyaWFibGVzX3NldFwiIGlkPVwiXXxRNGQ2RS5RZFd5Lyp7cnwlYHRcIj48ZmllbGQgbmFtZT1cIlZBUlwiPm9ianM8L2ZpZWxkPjx2YWx1ZSBuYW1lPVwiVkFMVUVcIj48YmxvY2sgdHlwZT1cImRncGFkX2V4cHJlc3Npb25faW5wdXRcIiBpZD1cIixwOlE4dGBjI25uQ25hXn0lZUhBXCI+PGZpZWxkIG5hbWU9XCJOQU1FXCI+R2V0Q2FudmFzKCkuZ2V0Q29uc3RydWN0aW9uKCkuZ2V0TmFtZXMoKTwvZmllbGQ+PC9ibG9jaz48L3ZhbHVlPjxuZXh0PjxibG9jayB0eXBlPVwiY29udHJvbHNfZm9yXCIgaWQ9XCJRXSlWNm5mfkMjNn1ddj1sQi5WeVwiPjxmaWVsZCBuYW1lPVwiVkFSXCI+aTwvZmllbGQ+PHZhbHVlIG5hbWU9XCJGUk9NXCI+PGJsb2NrIHR5cGU9XCJtYXRoX251bWJlclwiIGlkPVwiOWRFNFQtVXU/dzZ2TCNsfWNHYUJcIj48ZmllbGQgbmFtZT1cIk5VTVwiPjE8L2ZpZWxkPjwvYmxvY2s+PC92YWx1ZT48dmFsdWUgbmFtZT1cIlRPXCI+PGJsb2NrIHR5cGU9XCJsaXN0c19sZW5ndGhcIiBpZD1cIl44MH5PKCtHZ080QT9nYGU1aGNfXCI+PHZhbHVlIG5hbWU9XCJWQUxVRVwiPjxibG9jayB0eXBlPVwidmFyaWFibGVzX2dldFwiIGlkPVwiSk93aEtFfih7RjRrVVsvSEUwQE9cIj48ZmllbGQgbmFtZT1cIlZBUlwiPm9ianM8L2ZpZWxkPjwvYmxvY2s+PC92YWx1ZT48L2Jsb2NrPjwvdmFsdWU+PHZhbHVlIG5hbWU9XCJCWVwiPjxibG9jayB0eXBlPVwibWF0aF9udW1iZXJcIiBpZD1cInlbMUJ+dihDSXk3WyVzV0NES3FCXCI+PGZpZWxkIG5hbWU9XCJOVU1cIj4xPC9maWVsZD48L2Jsb2NrPjwvdmFsdWU+PHN0YXRlbWVudCBuYW1lPVwiRE9cIj48YmxvY2sgdHlwZT1cInZhcmlhYmxlc19zZXRcIiBpZD1cInE5UTc/eE5NdnZ4QUpbN0F8S10qXCI+PGZpZWxkIG5hbWU9XCJWQVJcIj5vYmo8L2ZpZWxkPjx2YWx1ZSBuYW1lPVwiVkFMVUVcIj48YmxvY2sgdHlwZT1cImRncGFkX2dldF9saXN0XCIgaWQ9XCJ0UEtqO1ArSjBQeDpDS3g7QWpHQFwiPjx2YWx1ZSBuYW1lPVwiTkFNRVwiPjxibG9jayB0eXBlPVwidmFyaWFibGVzX2dldFwiIGlkPVwiaGR5UWZjUWhAK2Alb3xiMVFMW25cIj48ZmllbGQgbmFtZT1cIlZBUlwiPm9ianM8L2ZpZWxkPjwvYmxvY2s+PC92YWx1ZT48dmFsdWUgbmFtZT1cIklOREVYXCI+PGJsb2NrIHR5cGU9XCJ2YXJpYWJsZXNfZ2V0XCIgaWQ9XCJzTExiYXxASmMhZ2EwLEh6OT9aWVwiPjxmaWVsZCBuYW1lPVwiVkFSXCI+aTwvZmllbGQ+PC9ibG9jaz48L3ZhbHVlPjwvYmxvY2s+PC92YWx1ZT48bmV4dD48YmxvY2sgdHlwZT1cInZhcmlhYmxlc19zZXRcIiBpZD1cInJFXlghKWV6VzlPKkppcXxmO2JdXCI+PGZpZWxkIG5hbWU9XCJWQVJcIj5vYmo8L2ZpZWxkPjx2YWx1ZSBuYW1lPVwiVkFMVUVcIj48YmxvY2sgdHlwZT1cImRncGFkX2V4cHJlc3Npb25faW5wdXRcIiBpZD1cIl9CTS0/RV0uSC1KWDYhREVFT2NrXCI+PGZpZWxkIG5hbWU9XCJOQU1FXCI+R2V0Q2FudmFzKCkuZ2V0Q29uc3RydWN0aW9uKCkuZmluZChibG9ja2x5X3Zhcl9vYmopPC9maWVsZD48L2Jsb2NrPjwvdmFsdWU+PG5leHQ+PGJsb2NrIHR5cGU9XCJjb250cm9sc19pZlwiIGlkPVwiVWcxcTs0YEw/ZVZULGN8eTF0RjJcIj48dmFsdWUgbmFtZT1cIklGMFwiPjxibG9jayB0eXBlPVwiZGdwYWRfZXhwcmVzc2lvbl9pbnB1dFwiIGlkPVwiYU1xZ3B+KXdhM0NIKVlfezswcnVcIj48ZmllbGQgbmFtZT1cIk5BTUVcIj5ibG9ja2x5X3Zhcl9vYmouaXNIaWRkZW4oKTwvZmllbGQ+PC9ibG9jaz48L3ZhbHVlPjxzdGF0ZW1lbnQgbmFtZT1cIkRPMFwiPjxibG9jayB0eXBlPVwidmFyaWFibGVzX3NldFwiIGlkPVwie3h3LmVNOG19Tn0jZXJLZy40PS5cIj48ZmllbGQgbmFtZT1cIlZBUlwiPmxuZTwvZmllbGQ+PHZhbHVlIG5hbWU9XCJWQUxVRVwiPjxibG9jayB0eXBlPVwiZGdwYWRfZXhwcmVzc2lvbl9pbnB1dFwiIGlkPVwiTHlgcTtQSmVUJVlaXWxzdFk9LE9cIj48ZmllbGQgbmFtZT1cIk5BTUVcIj5ibG9ja2x5X3Zhcl9vYmouc2V0SGlkZGVuKGJsb2NrbHlfdmFyX24pPC9maWVsZD48L2Jsb2NrPjwvdmFsdWU+PC9ibG9jaz48L3N0YXRlbWVudD48L2Jsb2NrPjwvbmV4dD48L2Jsb2NrPjwvbmV4dD48L2Jsb2NrPjwvc3RhdGVtZW50PjxuZXh0PjxibG9jayB0eXBlPVwidmFyaWFibGVzX3NldFwiIGlkPVwic1NZL3VnSlN3b1JuZTN7TlZfK0dcIj48ZmllbGQgbmFtZT1cIlZBUlwiPmxuZTwvZmllbGQ+PHZhbHVlIG5hbWU9XCJWQUxVRVwiPjxibG9jayB0eXBlPVwiZGdwYWRfZXhwcmVzc2lvbl9pbnB1dFwiIGlkPVwiLWJ8VCNQOFZNRjIhbjhqSiF5KVFcIj48ZmllbGQgbmFtZT1cIk5BTUVcIj5jb25zb2xlLmxvZyhibG9ja2x5X3Zhcl9uKTwvZmllbGQ+PC9ibG9jaz48L3ZhbHVlPjwvYmxvY2s+PC9uZXh0PjwvYmxvY2s+PC9uZXh0PjwvYmxvY2s+PC9zdGF0ZW1lbnQ+PC9ibG9jaz48YmxvY2sgdHlwZT1cInByb2NlZHVyZXNfY2FsbG5vcmV0dXJuXCIgaWQ9XCI0TCt0Nm0paHR2Py1sTSpPKHBeMFwiIGlubGluZT1cInRydWVcIiB4PVwiLTY5XCIgeT1cIjMyNFwiPjxtdXRhdGlvbiBuYW1lPVwiY2FjaGVyXCI+PGFyZyBuYW1lPVwiblwiPjwvYXJnPjwvbXV0YXRpb24+PHZhbHVlIG5hbWU9XCJBUkcwXCI+PGJsb2NrIHR5cGU9XCJtYXRoX251bWJlclwiIGlkPVwiMGdjTWJKI0ZdXiNVaHNfLGwhIUZcIj48ZmllbGQgbmFtZT1cIk5VTVwiPjI8L2ZpZWxkPjwvYmxvY2s+PC92YWx1ZT48L2Jsb2NrPjwveG1sPiIsInN5bmMiOiIvKipcbiAqIETDqWNyaXJlIGNldHRlIGZvbmN0aW9u4oCmXG4gKi9cbmZ1bmN0aW9uIGNhY2hlcihibG9ja2x5X2xvY2FsX24pIHtcbiAgIHZhciBibG9ja2x5X3Zhcl9vYmpzID0gKEdldENhbnZhcygpLmdldENvbnN0cnVjdGlvbigpLmdldE5hbWVzKCkpO1xuICBmb3IgKHZhciBibG9ja2x5X3Zhcl9pID0gMSA7IGJsb2NrbHlfdmFyX2kgPD0gYmxvY2tseV92YXJfb2Jqcy5sZW5ndGggOyBibG9ja2x5X3Zhcl9pID0gYmxvY2tseV92YXJfaSArIDEpe1xuICAgICB2YXIgYmxvY2tseV92YXJfb2JqID0gKGJsb2NrbHlfdmFyX29ianNbYmxvY2tseV92YXJfaS0xXSk7XG4gICAgYmxvY2tseV92YXJfb2JqID0gKEdldENhbnZhcygpLmdldENvbnN0cnVjdGlvbigpLmZpbmQoYmxvY2tseV92YXJfb2JqKSk7XG4gICAgaWYgKGJsb2NrbHlfdmFyX29iai5pc0hpZGRlbigpKSB7XG4gICAgICAgdmFyIGJsb2NrbHlfdmFyX2xuZSA9IChibG9ja2x5X3Zhcl9vYmouc2V0SGlkZGVuKGJsb2NrbHlfbG9jYWxfbikpO1xuICAgIH1cbiAgfTtcbiAgYmxvY2tseV92YXJfbG5lID0gKGNvbnNvbGUubG9nKGJsb2NrbHlfbG9jYWxfbikpO1xufVxuXG5cbmNhY2hlcigyKTsifSwiY3VycmVudCI6Im9ucHJvZ3JhbSJ9KTsKCgovLyBCbG9ja2x5IEdsb2JhbHMgOgpCTEtfR0xPQl9TRVQoeyJQVFNfTElTVCI6WyJIIl0sIkVYQ19MSVNUIjpbIkEiLCJCIiwiQyIsIkgiXSwiTUFHTkVUX1JBWSI6IjMwIn0pOwo="}dgpad
Construire le centre de gravité du triangle ABC et placer le point G dessus :
{"ans":"0.00","exp":"a","src":"Ly8gQ29vcmRpbmF0ZXMgU3lzdGVtIDoKU2V0Q29vcmRzKDEyNi4xMzgyMjcxNDIxNTE3MiwyMDIuNTcyODkzOTc4MDczNjQsMjUuOTM5MTAzNzY3NzA1NTksZmFsc2UsMTY4NywxMDQ3KTsKCgovLyBHZW9tZXRyeSA6CmJsa19idG49QmxvY2tseUJ1dHRvbigiYmxrX2J0biIsIkNsaXF1ZXIgaWNpIGVuIGZpbiBkZSBmaWd1cmUgcHJvZiIsIjQ0Ljg2OTAwNDg1Mzg1NTY4NSIsIjUuMTEwOTI4MDg2MjMyODAzNSIpOwpibGtfYnRuMD1CbG9ja2x5QnV0dG9uKCJibGtfYnRuMCIsIlN1cGVyIGNhY2hlciBsZXMgY2FjaFx1MDBlOXMiLCI0NC44NjkwMDQ4NTM4NTU2ODUiLCIyLjc5NzgxODA5ODQxOTcxMyIpOwpBPVBvaW50KCJBIiwxLjg1NjQ5NDcwNzMzODQ1MjYsLTIuMjA2NDU0NzM1NDYzMjM4Nyk7CkI9UG9pbnQoIkIiLDguOTU5OTMwMzYyMjUxMTQzLDEuNTg2MDU3NTIwOTczMTk2Nik7CkM9UG9pbnQoIkMiLDAuNjUyNTIyNTYyNDM3OTk3MSw0LjIzNDc5NjIzOTc1NDE5OSk7Ckc9UG9pbnQoIkciLDExLjgyNjM3MzA0Njg1MDM3LDUuMDIwMDU4MDQ3NjU2NzM3KTsKUzE9U2VnbWVudCgiUzEiLEEsQik7ClMyPVNlZ21lbnQoIlMyIixCLEMpOwpTMz1TZWdtZW50KCJTMyIsQyxBKTsKTTE9TWlkUG9pbnQoIk0xIixBLEIpOwpNMj1NaWRQb2ludCgiTTIiLEIsQyk7CkwxPUxpbmUoIkwxIixDLE0xKTsKTDI9TGluZSgiTDIiLE0yLEEpOwpQMT1PcmRlcmVkSW50ZXJzZWN0aW9uKCJQMSIsTDIsTDEsMCk7CmE9RXhwcmVzc2lvbigiYSIsIiIsIiIsIiIsInJvdW5kKGQoRyxQMSkqMTAwMCkvMTAwMCIsIjI5LjgzMzc4OTkzMzA3MDU4NyIsIi0zLjM3MDQ3NTIwMjQxNTE5OTYiKTsKCgovLyBTdHlsZXMgOgpTVEwoYmxrX2J0biwiYzojNzgwMDEzO286MC4xO3M6MztmOjI0O3A6MCIpOwpTVEwoYmxrX2J0bjAsImM6IzAwMDBiMjtvOjAuMTtzOjM7ZjoyNDtwOjAiKTsKU1RMKEEsImM6IzAwMDBiMjtzOjY7c246dHJ1ZTtmOjMwO25wOjQuMzc2MjUwOTI5NTk5MTIyIik7ClNUTChCLCJjOiMwMDAwYjI7czo2O3NuOnRydWU7ZjozMCIpOwpTVEwoQywiYzojMDAwMGIyO3M6Njtzbjp0cnVlO2Y6MzA7bnA6Mi4wODQwNDg1OTk2NjExNTc3Iik7ClNUTChHLCJjOiMwMDAwYjI7czo2O3NuOnRydWU7ZjozMCIpOwpTVEwoUzEsImM6IzAwNjYzMztzOjE7ZjoyNCIpOwpTVEwoUzIsImM6IzAwNjYzMztzOjE7ZjoyNCIpOwpTVEwoUzMsImM6IzAwNjYzMztzOjE7ZjoyNCIpOwpTVEwoTTEsImM6IzAwMDBiMjtoOjI7czo2O2Y6MzAiKTsKU1RMKE0yLCJjOiMwMDAwYjI7aDoyO3M6NjtmOjMwIik7ClNUTChMMSwiYzojNzgwMDEzO2g6MjtzOjE7ZjozMDtwOjAiKTsKU1RMKEwyLCJjOiM3ODAwMTM7aDoyO3M6MTtmOjMwO3A6MCIpOwpTVEwoUDEsImM6IzAwMDBiMjtoOjI7czo2O2Y6MzAiKTsKU1RMKGEsImM6IzMxNmQ3YztoOjI7czo3O2Y6MjQ7cDoyO2NMOjIwMDtjUFQ6WXpvak56Z3dNREV6TzJnNk1qdHpPakV3TzJZNk16QT0iKTsKU2V0Q29vcmRzU3R5bGUoImlzQXhpczpmYWxzZTtpc0dyaWQ6dHJ1ZTtpc094OnRydWU7aXNPeTp0cnVlO2lzTG9ja094OmZhbHNlO2lzTG9ja095OmZhbHNlO2NlbnRlclpvb206ZmFsc2U7b25seVBvc2l0aXZlOmZhbHNlO2NvbG9yOiMxMTExMTE7Zm9udFNpemU6MTg7YXhpc1dpZHRoOjE7Z3JpZFdpZHRoOjAuMSIpOwpTZXRHZW5lcmFsU3R5bGUoImJhY2tncm91bmQtY29sb3I6I0Y4RjhGODtkZWdyZWU6dHJ1ZTtkcmFnbW92ZWFibGU6dHJ1ZSIpOwoKCi8vIEJsb2NrbHkgOgpCTEsoYmxrX2J0bix7Im9ucHJvZ3JhbSI6eyJ4bWwiOiI8eG1sIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbFwiPjxibG9jayB0eXBlPVwicHJvY2VkdXJlc19kZWZyZXR1cm5cIiBpZD1cInFlOnE9ZS5EL3g1TTpYK2hSVztCXCIgeD1cIi0xNjlcIiB5PVwiLTY3XCI+PGZpZWxkIG5hbWU9XCJOQU1FXCI+ZmluZF9FWENfRUxFTUVOVFM8L2ZpZWxkPjxjb21tZW50IHBpbm5lZD1cImZhbHNlXCIgaD1cIjgwXCIgdz1cIjE2MFwiPkTDqWNyaXJlIGNldHRlIGZvbmN0aW9u4oCmPC9jb21tZW50PjxzdGF0ZW1lbnQgbmFtZT1cIlNUQUNLXCI+PGJsb2NrIHR5cGU9XCJ2YXJpYWJsZXNfc2V0XCIgaWQ9XCJRQFhSUC4rRl5HezUxXi9JeGcoflwiPjxmaWVsZCBuYW1lPVwiVkFSXCI+bHN0PC9maWVsZD48dmFsdWUgbmFtZT1cIlZBTFVFXCI+PGJsb2NrIHR5cGU9XCJsaXN0c19jcmVhdGVfd2l0aFwiIGlkPVwiRWhwQW1eV08ybChjMWRdcHZBM01cIj48bXV0YXRpb24gaXRlbXM9XCIwXCI+PC9tdXRhdGlvbj48L2Jsb2NrPjwvdmFsdWU+PG5leHQ+PGJsb2NrIHR5cGU9XCJ2YXJpYWJsZXNfc2V0XCIgaWQ9XCI0M1BDUCEuWE1nTD0uN2wuQU1mUVwiPjxmaWVsZCBuYW1lPVwiVkFSXCI+b2JqczwvZmllbGQ+PHZhbHVlIG5hbWU9XCJWQUxVRVwiPjxibG9jayB0eXBlPVwiZGdwYWRfZXhwcmVzc2lvbl9pbnB1dFwiIGlkPVwiLlYzezQ7a08lTmxWfDVvU1YwTT9cIj48ZmllbGQgbmFtZT1cIk5BTUVcIj5HZXRDYW52YXMoKS5nZXRDb25zdHJ1Y3Rpb24oKS5nZXRPYmplY3RzRnJvbVR5cGUoXCJwb2ludFwiKTwvZmllbGQ+PC9ibG9jaz48L3ZhbHVlPjxuZXh0PjxibG9jayB0eXBlPVwiY29udHJvbHNfZm9yXCIgaWQ9XCJncDlYOlkxdEdaZC15dH1AX1cxW1wiPjxmaWVsZCBuYW1lPVwiVkFSXCI+bG5lPC9maWVsZD48dmFsdWUgbmFtZT1cIkZST01cIj48YmxvY2sgdHlwZT1cIm1hdGhfbnVtYmVyXCIgaWQ9XCJxI3lSVFlnKEZbYDp5MSFJKHlgelwiPjxmaWVsZCBuYW1lPVwiTlVNXCI+MTwvZmllbGQ+PC9ibG9jaz48L3ZhbHVlPjx2YWx1ZSBuYW1lPVwiVE9cIj48YmxvY2sgdHlwZT1cImxpc3RzX2xlbmd0aFwiIGlkPVwiUkdSOzJZNHQlfnN8JUdaaHltaUVcIj48dmFsdWUgbmFtZT1cIlZBTFVFXCI+PGJsb2NrIHR5cGU9XCJ2YXJpYWJsZXNfZ2V0XCIgaWQ9XCJlU35EM3U/WHlsN3JIRl5BP0V6dFwiPjxmaWVsZCBuYW1lPVwiVkFSXCI+b2JqczwvZmllbGQ+PC9ibG9jaz48L3ZhbHVlPjwvYmxvY2s+PC92YWx1ZT48dmFsdWUgbmFtZT1cIkJZXCI+PGJsb2NrIHR5cGU9XCJtYXRoX251bWJlclwiIGlkPVwiY2FQI3FXM0IpNmRIeTo0Y05XQTdcIj48ZmllbGQgbmFtZT1cIk5VTVwiPjE8L2ZpZWxkPjwvYmxvY2s+PC92YWx1ZT48c3RhdGVtZW50IG5hbWU9XCJET1wiPjxibG9jayB0eXBlPVwidmFyaWFibGVzX3NldFwiIGlkPVwid10oby14QnUrVXghW21tYTUwTGlcIj48ZmllbGQgbmFtZT1cIlZBUlwiPm9iajwvZmllbGQ+PHZhbHVlIG5hbWU9XCJWQUxVRVwiPjxibG9jayB0eXBlPVwiZGdwYWRfZ2V0X2xpc3RcIiBpZD1cIigySWkrSU1WMHhkKyxSMDtZZVpAXCI+PHZhbHVlIG5hbWU9XCJOQU1FXCI+PGJsb2NrIHR5cGU9XCJ2YXJpYWJsZXNfZ2V0XCIgaWQ9XCJzbXdDY1JlYlUxQ20xLmpySHF2ZlwiPjxmaWVsZCBuYW1lPVwiVkFSXCI+b2JqczwvZmllbGQ+PC9ibG9jaz48L3ZhbHVlPjx2YWx1ZSBuYW1lPVwiSU5ERVhcIj48YmxvY2sgdHlwZT1cInZhcmlhYmxlc19nZXRcIiBpZD1cIjA3ejVxZE4xT1g4MThGWHo/OTR1XCI+PGZpZWxkIG5hbWU9XCJWQVJcIj5sbmU8L2ZpZWxkPjwvYmxvY2s+PC92YWx1ZT48L2Jsb2NrPjwvdmFsdWU+PG5leHQ+PGJsb2NrIHR5cGU9XCJkZ3BhZF9wdXNoXCIgaWQ9XCJ0SSlSUXJNOFZrOkpwQHVfeT03aFwiPjxmaWVsZCBuYW1lPVwiVkFSTkFNRVwiPmxzdDwvZmllbGQ+PHZhbHVlIG5hbWU9XCJOQU1FXCI+PGJsb2NrIHR5cGU9XCJkZ3BhZF9leHByZXNzaW9uX2lucHV0XCIgaWQ9XCJHLGhRWWNnXVgsRygxdGE3NXZfWlwiPjxmaWVsZCBuYW1lPVwiTkFNRVwiPmJsb2NrbHlfdmFyX29iai5nZXROYW1lKCk8L2ZpZWxkPjwvYmxvY2s+PC92YWx1ZT48L2Jsb2NrPjwvbmV4dD48L2Jsb2NrPjwvc3RhdGVtZW50PjwvYmxvY2s+PC9uZXh0PjwvYmxvY2s+PC9uZXh0PjwvYmxvY2s+PC9zdGF0ZW1lbnQ+PHZhbHVlIG5hbWU9XCJSRVRVUk5cIj48YmxvY2sgdHlwZT1cInZhcmlhYmxlc19nZXRcIiBpZD1cImYuIWhoSTcyMCxdN0lZb0VGQWdaXCI+PGZpZWxkIG5hbWU9XCJWQVJcIj5sc3Q8L2ZpZWxkPjwvYmxvY2s+PC92YWx1ZT48L2Jsb2NrPjxibG9jayB0eXBlPVwidmFyaWFibGVzX3NldFwiIGlkPVwidDRKIzdnSWp5W0RKWT1aRHhaXz9cIiB4PVwiLTE2MlwiIHk9XCIyMjlcIj48ZmllbGQgbmFtZT1cIlZBUlwiPnB0czwvZmllbGQ+PHZhbHVlIG5hbWU9XCJWQUxVRVwiPjxibG9jayB0eXBlPVwiZGdwYWRfZXhwcmVzc2lvbl9pbnB1dFwiIGlkPVwiWn5Xak02eTNjfEZdKjlzc2J4V0JcIj48ZmllbGQgbmFtZT1cIk5BTUVcIj53aW5kb3cucHJvbXB0KFwiRW50cmVyIGxhIGxpc3RlIGRlcyBwb2ludHMgw6AgYWltYW50ZXIgw6AgcG9zdGVyaW9yaSwgc8OpcGFyw6lzIHBhciBkZXMgdmlyZ3VsZXNcIik8L2ZpZWxkPjwvYmxvY2s+PC92YWx1ZT48bmV4dD48YmxvY2sgdHlwZT1cImRncGFkX2dsb2JhbF9zZXRcIiBpZD1cInRZakkjKEp0dDheP1pISDJDY08xXCI+PGZpZWxkIG5hbWU9XCJWQVJcIj5QVFNfTElTVDwvZmllbGQ+PHZhbHVlIG5hbWU9XCJOQU1FXCI+PGJsb2NrIHR5cGU9XCJkZ3BhZF9leHByZXNzaW9uX2lucHV0XCIgaWQ9XCJPYXE3Zlt8KzBmOzA7Ol99ZXZqZlwiPjxmaWVsZCBuYW1lPVwiTkFNRVwiPmJsb2NrbHlfdmFyX3B0cy5zcGxpdChcIixcIik8L2ZpZWxkPjwvYmxvY2s+PC92YWx1ZT48bmV4dD48YmxvY2sgdHlwZT1cImRncGFkX2dsb2JhbF9zZXRcIiBpZD1cInhdaDpbX20wQFk2MiNkTl5xK25oXCI+PGZpZWxkIG5hbWU9XCJWQVJcIj5FWENfTElTVDwvZmllbGQ+PHZhbHVlIG5hbWU9XCJOQU1FXCI+PGJsb2NrIHR5cGU9XCJwcm9jZWR1cmVzX2NhbGxyZXR1cm5cIiBpZD1cInJoKjNhbVZmQ1VyeD9gVSNHWHd3XCI+PG11dGF0aW9uIG5hbWU9XCJmaW5kX0VYQ19FTEVNRU5UU1wiPjwvbXV0YXRpb24+PC9ibG9jaz48L3ZhbHVlPjxuZXh0PjxibG9jayB0eXBlPVwiZGdwYWRfZ2xvYmFsX3NldFwiIGlkPVwie1Ujc08pflV4S2tATzNnIXhkKT9cIj48ZmllbGQgbmFtZT1cIlZBUlwiPk1BR05FVF9SQVk8L2ZpZWxkPjx2YWx1ZSBuYW1lPVwiTkFNRVwiPjxibG9jayB0eXBlPVwiZGdwYWRfZXhwcmVzc2lvbl9pbnB1dFwiIGlkPVwibEstcGtFNEEvQl0uV0d6P0htO0tcIj48ZmllbGQgbmFtZT1cIk5BTUVcIj53aW5kb3cucHJvbXB0KFwiRW50cmVyIGxlIHJheW9uIGR1IG1hZ27DqXRpc21lXCIsMzApPC9maWVsZD48L2Jsb2NrPjwvdmFsdWU+PC9ibG9jaz48L25leHQ+PC9ibG9jaz48L25leHQ+PC9ibG9jaz48L25leHQ+PC9ibG9jaz48L3htbD4iLCJzeW5jIjoiLyoqXG4gKiBEw6ljcmlyZSBjZXR0ZSBmb25jdGlvbuKAplxuICovXG5mdW5jdGlvbiBmaW5kX0VYQ19FTEVNRU5UUygpIHtcbiAgIHZhciBibG9ja2x5X3Zhcl9sc3QgPSBbXTtcbiAgIHZhciBibG9ja2x5X3Zhcl9vYmpzID0gKEdldENhbnZhcygpLmdldENvbnN0cnVjdGlvbigpLmdldE9iamVjdHNGcm9tVHlwZShcInBvaW50XCIpKTtcbiAgZm9yICh2YXIgYmxvY2tseV92YXJfbG5lID0gMSA7IGJsb2NrbHlfdmFyX2xuZSA8PSBibG9ja2x5X3Zhcl9vYmpzLmxlbmd0aCA7IGJsb2NrbHlfdmFyX2xuZSA9IGJsb2NrbHlfdmFyX2xuZSArIDEpe1xuICAgICB2YXIgYmxvY2tseV92YXJfb2JqID0gKGJsb2NrbHlfdmFyX29ianNbYmxvY2tseV92YXJfbG5lLTFdKTtcbiAgICBibG9ja2x5X3Zhcl9sc3QucHVzaChibG9ja2x5X3Zhcl9vYmouZ2V0TmFtZSgpKTtcbiAgfTtcbiAgcmV0dXJuIGJsb2NrbHlfdmFyX2xzdDtcbn1cblxuXG5ibG9ja2x5X3Zhcl9wdHMgPSAod2luZG93LnByb21wdChcIkVudHJlciBsYSBsaXN0ZSBkZXMgcG9pbnRzIMOgIGFpbWFudGVyIMOgIHBvc3RlcmlvcmksIHPDqXBhcsOpcyBwYXIgZGVzIHZpcmd1bGVzXCIpKTtcbkdMT0JBTF9TRVQoXCJQVFNfTElTVFwiLChibG9ja2x5X3Zhcl9wdHMuc3BsaXQoXCIsXCIpKSk7XG5HTE9CQUxfU0VUKFwiRVhDX0xJU1RcIiwoZmluZF9FWENfRUxFTUVOVFMoKSkpO1xuR0xPQkFMX1NFVChcIk1BR05FVF9SQVlcIiwod2luZG93LnByb21wdChcIkVudHJlciBsZSByYXlvbiBkdSBtYWduw6l0aXNtZVwiLDMwKSkpOyJ9LCJvbmluaXQiOnsieG1sIjoiPHhtbCB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWxcIj48YmxvY2sgdHlwZT1cImNvbnRyb2xzX2lmXCIgaWQ9XCI3XylWfUtUdzNzSjhnfCl+SnJXLVwiIHg9XCItMTUzXCIgeT1cIjE3M1wiPjx2YWx1ZSBuYW1lPVwiSUYwXCI+PGJsb2NrIHR5cGU9XCJsb2dpY19uZWdhdGVcIiBpZD1cIjJEWWp5QHljZUAyZzZJWFZAKk9+XCI+PHZhbHVlIG5hbWU9XCJCT09MXCI+PGJsb2NrIHR5cGU9XCJkZ3BhZF9leHByZXNzaW9uX2lucHV0XCIgaWQ9XCIpMlMxV0A5QWFUcSVxdUNuZnhMUlwiPjxmaWVsZCBuYW1lPVwiTkFNRVwiPndpbmRvdy5wYXJlbnRbXCIkVVwiXS5jaGFuZ2VkLmxvYWRlZDwvZmllbGQ+PC9ibG9jaz48L3ZhbHVlPjwvYmxvY2s+PC92YWx1ZT48c3RhdGVtZW50IG5hbWU9XCJETzBcIj48YmxvY2sgdHlwZT1cInZhcmlhYmxlc19zZXRcIiBpZD1cIk8tdlZnTmBQZURXOzZhS2hKZlN3XCI+PGZpZWxkIG5hbWU9XCJWQVJcIj5sbmU8L2ZpZWxkPjx2YWx1ZSBuYW1lPVwiVkFMVUVcIj48YmxvY2sgdHlwZT1cImRncGFkX2V4cHJlc3Npb25faW5wdXRcIiBpZD1cIklXazhle0xbclVaTHYyKUF2TE5rXCI+PGZpZWxkIG5hbWU9XCJOQU1FXCI+d2luZG93LnBhcmVudFtcIiRVXCJdLmNoYW5nZWQgPSBmdW5jdGlvbigpIHt2YXIgdGFiX2xpc3QgPSBHTE9CQUxfR0VUKFwiUFRTX0xJU1RcIik7dmFyIGFsbF9saXN0ID0gR2V0Q2FudmFzKCkuZ2V0Q29uc3RydWN0aW9uKCkuZ2V0T2JqZWN0c0Zyb21UeXBlKFwicG9pbnRcIik7dmFyIGV4Y19saXN0ID0gR0xPQkFMX0dFVChcIkVYQ19MSVNUXCIpO2lmICh0YWJfbGlzdCAmYW1wOyZhbXA7IGFsbF9saXN0ICZhbXA7JmFtcDsgZXhjX2xpc3QpIHtmb3IgKHZhciBpID0gMDsgaSAmbHQ7IHRhYl9saXN0Lmxlbmd0aDsgaSsrKSB7dmFyIHB0ID0gR2V0Q2FudmFzKCkuZ2V0Q29uc3RydWN0aW9uKCkuZmluZCh0YWJfbGlzdFtpXSk7aWYgKHB0KSB7cHQuc2V0TWFnbmV0cyhbXSk7Zm9yICh2YXIgayA9IDA7IGsgJmx0OyBhbGxfbGlzdC5sZW5ndGg7IGsrKykge2lmIChleGNfbGlzdC5pbmRleE9mKGFsbF9saXN0W2tdLmdldE5hbWUoKSkgPT09IC0xKSB7cHQuYWRkTWFnbmV0KGFsbF9saXN0W2tdLCBwYXJzZUludChcIlwiICsgR0xPQkFMX0dFVChcIk1BR05FVF9SQVlcIikpKTt9O307fTt9O307fTwvZmllbGQ+PC9ibG9jaz48L3ZhbHVlPjxuZXh0PjxibG9jayB0eXBlPVwidmFyaWFibGVzX3NldFwiIGlkPVwiT2QreWtPV0VtWi90QjBAKERhN0lcIj48ZmllbGQgbmFtZT1cIlZBUlwiPmxuZTwvZmllbGQ+PHZhbHVlIG5hbWU9XCJWQUxVRVwiPjxibG9jayB0eXBlPVwiZGdwYWRfZXhwcmVzc2lvbl9pbnB1dFwiIGlkPVwiLFFmXmdmZS5KVD06Rj1LVntNKCFcIj48ZmllbGQgbmFtZT1cIk5BTUVcIj53aW5kb3cucGFyZW50W1wiJFVcIl0uY2hhbmdlZC5sb2FkZWQ9dHJ1ZTwvZmllbGQ+PC9ibG9jaz48L3ZhbHVlPjwvYmxvY2s+PC9uZXh0PjwvYmxvY2s+PC9zdGF0ZW1lbnQ+PC9ibG9jaz48L3htbD4iLCJzeW5jIjoiaWYgKCEod2luZG93LnBhcmVudFtcIiRVXCJdLmNoYW5nZWQubG9hZGVkKSkge1xuICBibG9ja2x5X3Zhcl9sbmUgPSAod2luZG93LnBhcmVudFtcIiRVXCJdLmNoYW5nZWQgPSBmdW5jdGlvbigpIHt2YXIgdGFiX2xpc3QgPSBHTE9CQUxfR0VUKFwiUFRTX0xJU1RcIik7dmFyIGFsbF9saXN0ID0gR2V0Q2FudmFzKCkuZ2V0Q29uc3RydWN0aW9uKCkuZ2V0T2JqZWN0c0Zyb21UeXBlKFwicG9pbnRcIik7dmFyIGV4Y19saXN0ID0gR0xPQkFMX0dFVChcIkVYQ19MSVNUXCIpO2lmICh0YWJfbGlzdCAmJiBhbGxfbGlzdCAmJiBleGNfbGlzdCkge2ZvciAodmFyIGkgPSAwOyBpIDwgdGFiX2xpc3QubGVuZ3RoOyBpKyspIHt2YXIgcHQgPSBHZXRDYW52YXMoKS5nZXRDb25zdHJ1Y3Rpb24oKS5maW5kKHRhYl9saXN0W2ldKTtpZiAocHQpIHtwdC5zZXRNYWduZXRzKFtdKTtmb3IgKHZhciBrID0gMDsgayA8IGFsbF9saXN0Lmxlbmd0aDsgaysrKSB7aWYgKGV4Y19saXN0LmluZGV4T2YoYWxsX2xpc3Rba10uZ2V0TmFtZSgpKSA9PT0gLTEpIHtwdC5hZGRNYWduZXQoYWxsX2xpc3Rba10sIHBhcnNlSW50KFwiXCIgKyBHTE9CQUxfR0VUKFwiTUFHTkVUX1JBWVwiKSkpO307fTt9O307fTt9KTtcbiAgYmxvY2tseV92YXJfbG5lID0gKHdpbmRvdy5wYXJlbnRbXCIkVVwiXS5jaGFuZ2VkLmxvYWRlZD10cnVlKTtcbn0ifSwiY3VycmVudCI6Im9uaW5pdCJ9KTsKQkxLKGJsa19idG4wLHsib25wcm9ncmFtIjp7InhtbCI6Ijx4bWwgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sXCI+PGJsb2NrIHR5cGU9XCJwcm9jZWR1cmVzX2RlZm5vcmV0dXJuXCIgaWQ9XCJXakd8SiFKSDVDfXQwIU50dkxRLlwiIHg9XCItNzRcIiB5PVwiLTQyXCI+PG11dGF0aW9uPjxhcmcgbmFtZT1cIm5cIj48L2FyZz48L211dGF0aW9uPjxmaWVsZCBuYW1lPVwiTkFNRVwiPmNhY2hlcjwvZmllbGQ+PGNvbW1lbnQgcGlubmVkPVwiZmFsc2VcIiBoPVwiODBcIiB3PVwiMTYwXCI+RMOpY3JpcmUgY2V0dGUgZm9uY3Rpb27igKY8L2NvbW1lbnQ+PHN0YXRlbWVudCBuYW1lPVwiU1RBQ0tcIj48YmxvY2sgdHlwZT1cInZhcmlhYmxlc19zZXRcIiBpZD1cIl18UTRkNkUuUWRXeS8qe3J8JWB0XCI+PGZpZWxkIG5hbWU9XCJWQVJcIj5vYmpzPC9maWVsZD48dmFsdWUgbmFtZT1cIlZBTFVFXCI+PGJsb2NrIHR5cGU9XCJkZ3BhZF9leHByZXNzaW9uX2lucHV0XCIgaWQ9XCIscDpROHRgYyNubkNuYV59JWVIQVwiPjxmaWVsZCBuYW1lPVwiTkFNRVwiPkdldENhbnZhcygpLmdldENvbnN0cnVjdGlvbigpLmdldE5hbWVzKCk8L2ZpZWxkPjwvYmxvY2s+PC92YWx1ZT48bmV4dD48YmxvY2sgdHlwZT1cImNvbnRyb2xzX2ZvclwiIGlkPVwiUV0pVjZuZn5DIzZ9XXY9bEIuVnlcIj48ZmllbGQgbmFtZT1cIlZBUlwiPmk8L2ZpZWxkPjx2YWx1ZSBuYW1lPVwiRlJPTVwiPjxibG9jayB0eXBlPVwibWF0aF9udW1iZXJcIiBpZD1cIjlkRTRULVV1P3c2dkwjbH1jR2FCXCI+PGZpZWxkIG5hbWU9XCJOVU1cIj4xPC9maWVsZD48L2Jsb2NrPjwvdmFsdWU+PHZhbHVlIG5hbWU9XCJUT1wiPjxibG9jayB0eXBlPVwibGlzdHNfbGVuZ3RoXCIgaWQ9XCJeODB+TygrR2dPNEE/Z2BlNWhjX1wiPjx2YWx1ZSBuYW1lPVwiVkFMVUVcIj48YmxvY2sgdHlwZT1cInZhcmlhYmxlc19nZXRcIiBpZD1cIkpPd2hLRX4oe0Y0a1VbL0hFMEBPXCI+PGZpZWxkIG5hbWU9XCJWQVJcIj5vYmpzPC9maWVsZD48L2Jsb2NrPjwvdmFsdWU+PC9ibG9jaz48L3ZhbHVlPjx2YWx1ZSBuYW1lPVwiQllcIj48YmxvY2sgdHlwZT1cIm1hdGhfbnVtYmVyXCIgaWQ9XCJ5WzFCfnYoQ0l5N1slc1dDREtxQlwiPjxmaWVsZCBuYW1lPVwiTlVNXCI+MTwvZmllbGQ+PC9ibG9jaz48L3ZhbHVlPjxzdGF0ZW1lbnQgbmFtZT1cIkRPXCI+PGJsb2NrIHR5cGU9XCJ2YXJpYWJsZXNfc2V0XCIgaWQ9XCJxOVE3P3hOTXZ2eEFKWzdBfEtdKlwiPjxmaWVsZCBuYW1lPVwiVkFSXCI+b2JqPC9maWVsZD48dmFsdWUgbmFtZT1cIlZBTFVFXCI+PGJsb2NrIHR5cGU9XCJkZ3BhZF9nZXRfbGlzdFwiIGlkPVwidFBLajtQK0owUHg6Q0t4O0FqR0BcIj48dmFsdWUgbmFtZT1cIk5BTUVcIj48YmxvY2sgdHlwZT1cInZhcmlhYmxlc19nZXRcIiBpZD1cImhkeVFmY1FoQCtgJW98YjFRTFtuXCI+PGZpZWxkIG5hbWU9XCJWQVJcIj5vYmpzPC9maWVsZD48L2Jsb2NrPjwvdmFsdWU+PHZhbHVlIG5hbWU9XCJJTkRFWFwiPjxibG9jayB0eXBlPVwidmFyaWFibGVzX2dldFwiIGlkPVwic0xMYmF8QEpjIWdhMCxIejk/WllcIj48ZmllbGQgbmFtZT1cIlZBUlwiPmk8L2ZpZWxkPjwvYmxvY2s+PC92YWx1ZT48L2Jsb2NrPjwvdmFsdWU+PG5leHQ+PGJsb2NrIHR5cGU9XCJ2YXJpYWJsZXNfc2V0XCIgaWQ9XCJyRV5YISllelc5TypKaXF8ZjtiXVwiPjxmaWVsZCBuYW1lPVwiVkFSXCI+b2JqPC9maWVsZD48dmFsdWUgbmFtZT1cIlZBTFVFXCI+PGJsb2NrIHR5cGU9XCJkZ3BhZF9leHByZXNzaW9uX2lucHV0XCIgaWQ9XCJfQk0tP0VdLkgtSlg2IURFRU9ja1wiPjxmaWVsZCBuYW1lPVwiTkFNRVwiPkdldENhbnZhcygpLmdldENvbnN0cnVjdGlvbigpLmZpbmQoYmxvY2tseV92YXJfb2JqKTwvZmllbGQ+PC9ibG9jaz48L3ZhbHVlPjxuZXh0PjxibG9jayB0eXBlPVwiY29udHJvbHNfaWZcIiBpZD1cIlVnMXE7NGBMP2VWVCxjfHkxdEYyXCI+PHZhbHVlIG5hbWU9XCJJRjBcIj48YmxvY2sgdHlwZT1cImRncGFkX2V4cHJlc3Npb25faW5wdXRcIiBpZD1cImFNcWdwfil3YTNDSClZX3s7MHJ1XCI+PGZpZWxkIG5hbWU9XCJOQU1FXCI+YmxvY2tseV92YXJfb2JqLmlzSGlkZGVuKCk8L2ZpZWxkPjwvYmxvY2s+PC92YWx1ZT48c3RhdGVtZW50IG5hbWU9XCJETzBcIj48YmxvY2sgdHlwZT1cInZhcmlhYmxlc19zZXRcIiBpZD1cInt4dy5lTThtfU59I2VyS2cuND0uXCI+PGZpZWxkIG5hbWU9XCJWQVJcIj5sbmU8L2ZpZWxkPjx2YWx1ZSBuYW1lPVwiVkFMVUVcIj48YmxvY2sgdHlwZT1cImRncGFkX2V4cHJlc3Npb25faW5wdXRcIiBpZD1cIkx5YHE7UEplVCVZWl1sc3RZPSxPXCI+PGZpZWxkIG5hbWU9XCJOQU1FXCI+YmxvY2tseV92YXJfb2JqLnNldEhpZGRlbihibG9ja2x5X3Zhcl9uKTwvZmllbGQ+PC9ibG9jaz48L3ZhbHVlPjwvYmxvY2s+PC9zdGF0ZW1lbnQ+PC9ibG9jaz48L25leHQ+PC9ibG9jaz48L25leHQ+PC9ibG9jaz48L3N0YXRlbWVudD48bmV4dD48YmxvY2sgdHlwZT1cInZhcmlhYmxlc19zZXRcIiBpZD1cInNTWS91Z0pTd29SbmUze05WXytHXCI+PGZpZWxkIG5hbWU9XCJWQVJcIj5sbmU8L2ZpZWxkPjx2YWx1ZSBuYW1lPVwiVkFMVUVcIj48YmxvY2sgdHlwZT1cImRncGFkX2V4cHJlc3Npb25faW5wdXRcIiBpZD1cIi1ifFQjUDhWTUYyIW44akoheSlRXCI+PGZpZWxkIG5hbWU9XCJOQU1FXCI+Y29uc29sZS5sb2coYmxvY2tseV92YXJfbik8L2ZpZWxkPjwvYmxvY2s+PC92YWx1ZT48L2Jsb2NrPjwvbmV4dD48L2Jsb2NrPjwvbmV4dD48L2Jsb2NrPjwvc3RhdGVtZW50PjwvYmxvY2s+PGJsb2NrIHR5cGU9XCJwcm9jZWR1cmVzX2NhbGxub3JldHVyblwiIGlkPVwiNEwrdDZtKWh0dj8tbE0qTyhwXjBcIiBpbmxpbmU9XCJ0cnVlXCIgeD1cIi02OVwiIHk9XCIzMjRcIj48bXV0YXRpb24gbmFtZT1cImNhY2hlclwiPjxhcmcgbmFtZT1cIm5cIj48L2FyZz48L211dGF0aW9uPjx2YWx1ZSBuYW1lPVwiQVJHMFwiPjxibG9jayB0eXBlPVwibWF0aF9udW1iZXJcIiBpZD1cIjBnY01iSiNGXV4jVWhzXyxsISFGXCI+PGZpZWxkIG5hbWU9XCJOVU1cIj4yPC9maWVsZD48L2Jsb2NrPjwvdmFsdWU+PC9ibG9jaz48L3htbD4iLCJzeW5jIjoiLyoqXG4gKiBEw6ljcmlyZSBjZXR0ZSBmb25jdGlvbuKAplxuICovXG5mdW5jdGlvbiBjYWNoZXIoYmxvY2tseV9sb2NhbF9uKSB7XG4gICB2YXIgYmxvY2tseV92YXJfb2JqcyA9IChHZXRDYW52YXMoKS5nZXRDb25zdHJ1Y3Rpb24oKS5nZXROYW1lcygpKTtcbiAgZm9yICh2YXIgYmxvY2tseV92YXJfaSA9IDEgOyBibG9ja2x5X3Zhcl9pIDw9IGJsb2NrbHlfdmFyX29ianMubGVuZ3RoIDsgYmxvY2tseV92YXJfaSA9IGJsb2NrbHlfdmFyX2kgKyAxKXtcbiAgICAgdmFyIGJsb2NrbHlfdmFyX29iaiA9IChibG9ja2x5X3Zhcl9vYmpzW2Jsb2NrbHlfdmFyX2ktMV0pO1xuICAgIGJsb2NrbHlfdmFyX29iaiA9IChHZXRDYW52YXMoKS5nZXRDb25zdHJ1Y3Rpb24oKS5maW5kKGJsb2NrbHlfdmFyX29iaikpO1xuICAgIGlmIChibG9ja2x5X3Zhcl9vYmouaXNIaWRkZW4oKSkge1xuICAgICAgIHZhciBibG9ja2x5X3Zhcl9sbmUgPSAoYmxvY2tseV92YXJfb2JqLnNldEhpZGRlbihibG9ja2x5X2xvY2FsX24pKTtcbiAgICB9XG4gIH07XG4gIGJsb2NrbHlfdmFyX2xuZSA9IChjb25zb2xlLmxvZyhibG9ja2x5X2xvY2FsX24pKTtcbn1cblxuXG5jYWNoZXIoMik7In0sImN1cnJlbnQiOiJvbnByb2dyYW0ifSk7CgoKLy8gQmxvY2tseSBHbG9iYWxzIDoKQkxLX0dMT0JfU0VUKHsiUFRTX0xJU1QiOlsiRyJdLCJFWENfTElTVCI6WyJBIiwiQiIsIkMiLCJHIl0sIk1BR05FVF9SQVkiOiIzMCJ9KTsKCgovL0RvY0V2YWw6Cg==","src_cor":"Ly8gQ29vcmRpbmF0ZXMgU3lzdGVtIDoKU2V0Q29vcmRzKDEyNi4xMzgyMjcxNDIxNTE3MiwyMDIuNTcyODkzOTc4MDczNjQsMjUuOTM5MTAzNzY3NzA1NTksZmFsc2UsNjAwLDQwMCk7CgoKLy8gR2VvbWV0cnkgOgpibGtfYnRuPUJsb2NrbHlCdXR0b24oImJsa19idG4iLCJDbGlxdWVyIGljaSBlbiBmaW4gZGUgZmlndXJlIHByb2YiLCI0NC44NjkwMDQ4NTM4NTU2ODUiLCI1LjExMDkyODA4NjIzMjgwMzUiKTsKYmxrX2J0bjA9QmxvY2tseUJ1dHRvbigiYmxrX2J0bjAiLCJTdXBlciBjYWNoZXIgbGVzIGNhY2hcdTAwZTlzIiwiNDQuODY5MDA0ODUzODU1Njg1IiwiMi43OTc4MTgwOTg0MTk3MTMiKTsKQT1Qb2ludCgiQSIsMC4yNzU4Njk1NDg5OTk1MDY1NSwtMy42NzE0MjQzOTQ0MTE1Myk7CkI9UG9pbnQoIkIiLDguOTU5OTMwMzYyMjUxMTQzLDEuNTg2MDU3NTIwOTczMTk2Nik7CkM9UG9pbnQoIkMiLC0wLjUwNDAzMjQzMTQ2ODU0ODgsNC4zNTA0NTE3MzkxNDQ4NTMpOwpHPVBvaW50KCJHIiwyLjkxMDU4OTE1OTkyNzM2NjgsMC43NTUwMjgyODg1Njg4Mzk3KTsKUzE9U2VnbWVudCgiUzEiLEEsQik7ClMyPVNlZ21lbnQoIlMyIixCLEMpOwpTMz1TZWdtZW50KCJTMyIsQyxBKTsKTTE9TWlkUG9pbnQoIk0xIixBLEIpOwpNMj1NaWRQb2ludCgiTTIiLEIsQyk7Ck0zPU1pZFBvaW50KCJNMyIsQyxCKTsKTTQ9TWlkUG9pbnQoIk00IixCLEEpOwpMMT1MaW5lKCJMMSIsQyxNMSk7CkwyPUxpbmUoIkwyIixNMixBKTsKTDM9TGluZSgiTDMiLEMsTTQpOwpMND1MaW5lKCJMNCIsTTMsQSk7ClM0PVNlZ21lbnQoIlM0IixDLE0zKTsKUzU9U2VnbWVudCgiUzUiLE0zLEIpOwpTNj1TZWdtZW50KCJTNiIsQixNNCk7ClM3PVNlZ21lbnQoIlM3IixNNCxBKTsKRT1Qb2ludCgiRSIsIihDK00zKS8yKygxMC8oMipwaXhlbCgpKmQoQyxNMykpKSooTTMtQykqKDEraSpzcXJ0KDMpKSs1KihNMy1DKS8oZChDLE0zKSpwaXhlbCgpKSIsIjAiKTsKUDIwPVBvaW50KCJQMjAiLCIoQytNMykvMisoMTAvKDIqcGl4ZWwoKSpkKEMsTTMpKSkqKEMtTTMpKigxK2kqc3FydCgzKSkrNSooTTMtQykvKGQoQyxNMykqcGl4ZWwoKSkiLCIwIik7ClAxMD1Qb2ludCgiUDEwIiwiKEMrTTMpLzIrKDEwLygyKnBpeGVsKCkqZChDLE0zKSkpKihNMy1DKSooMStpKnNxcnQoMykpLTUqKE0zLUMpLyhkKEMsTTMpKnBpeGVsKCkpIiwiMCIpOwpQMz1Qb2ludCgiUDMiLCIoQytNMykvMisoMTAvKDIqcGl4ZWwoKSpkKEMsTTMpKSkqKEMtTTMpKigxK2kqc3FydCgzKSktNSooTTMtQykvKGQoQyxNMykqcGl4ZWwoKSkiLCIwIik7CkUwPVBvaW50KCJFMCIsIihNMytCKS8yKygxMC8oMipwaXhlbCgpKmQoTTMsQikpKSooQi1NMykqKDEraSpzcXJ0KDMpKSs1KihCLU0zKS8oZChNMyxCKSpwaXhlbCgpKSIsIjAiKTsKUDIxPVBvaW50KCJQMjEiLCIoTTMrQikvMisoMTAvKDIqcGl4ZWwoKSpkKE0zLEIpKSkqKE0zLUIpKigxK2kqc3FydCgzKSkrNSooQi1NMykvKGQoTTMsQikqcGl4ZWwoKSkiLCIwIik7ClAxMT1Qb2ludCgiUDExIiwiKE0zK0IpLzIrKDEwLygyKnBpeGVsKCkqZChNMyxCKSkpKihCLU0zKSooMStpKnNxcnQoMykpLTUqKEItTTMpLyhkKE0zLEIpKnBpeGVsKCkpIiwiMCIpOwpQMzA9UG9pbnQoIlAzMCIsIihNMytCKS8yKygxMC8oMipwaXhlbCgpKmQoTTMsQikpKSooTTMtQikqKDEraSpzcXJ0KDMpKS01KihCLU0zKS8oZChNMyxCKSpwaXhlbCgpKSIsIjAiKTsKUDEyPVBvaW50KCJQMTIiLCIoQitNNCkvMisoMTAvKDIqcGl4ZWwoKSpkKEIsTTQpKSkqKE00LUIpKigxK2kqc3FydCgzKSkiLCIwIik7ClAzMT1Qb2ludCgiUDMxIiwiKEIrTTQpLzIrKDEwLygyKnBpeGVsKCkqZChCLE00KSkpKihCLU00KSooMStpKnNxcnQoMykpIiwiMCIpOwpQMTM9UG9pbnQoIlAxMyIsIihNNCtBKS8yKygxMC8oMipwaXhlbCgpKmQoTTQsQSkpKSooQS1NNCkqKDEraSpzcXJ0KDMpKSIsIjAiKTsKUDMyPVBvaW50KCJQMzIiLCIoTTQrQSkvMisoMTAvKDIqcGl4ZWwoKSpkKE00LEEpKSkqKE00LUEpKigxK2kqc3FydCgzKSkiLCIwIik7ClAxPU9yZGVyZWRJbnRlcnNlY3Rpb24oIlAxIixMMixMMSwwKTsKUDI9T3JkZXJlZEludGVyc2VjdGlvbigiUDIiLEw0LEwzLDApOwpTMjA9U2VnbWVudCgiUzIwIixQMTAsUDMpOwpTMzA9U2VnbWVudCgiUzMwIixFLFAyMCk7ClMyMT1TZWdtZW50KCJTMjEiLFAxMSxQMzApOwpTMzE9U2VnbWVudCgiUzMxIixFMCxQMjEpOwpTMjI9U2VnbWVudCgiUzIyIixQMTIsUDMxKTsKUzIzPVNlZ21lbnQoIlMyMyIsUDEzLFAzMik7CmE9RXhwcmVzc2lvbigiYSIsIiIsIiIsIiIsInJvdW5kKGQoRyxQMSkqMTAwMCkvMTAwMCIsIjI5LjgzMzc4OTkzMzA3MDU4NyIsIi0zLjM3MDQ3NTIwMjQxNTE5OTYiKTsKCgovLyBTdHlsZXMgOgpTVEwoYmxrX2J0biwiYzojNzgwMDEzO286MC4xO3M6MztmOjI0O3A6MCIpOwpTVEwoYmxrX2J0bjAsImM6IzAwMDBiMjtvOjAuMTtzOjM7ZjoyNDtwOjAiKTsKU1RMKEEsImM6IzAwMDBiMjtzOjY7c246dHJ1ZTtmOjMwO25wOjQuMzc2MjUwOTI5NTk5MTIyIik7ClNUTChCLCJjOiMwMDAwYjI7czo2O3NuOnRydWU7ZjozMCIpOwpTVEwoQywiYzojMDAwMGIyO3M6Njtzbjp0cnVlO2Y6MzA7bnA6Mi4wODQwNDg1OTk2NjExNTc3Iik7ClNUTChHLCJjOiMwMDAwYjI7czo2O3NuOnRydWU7ZjozMDttZzpbTTMsMzBdLFtNNCwzMF0sW1AyLDMwXSIpOwpTVEwoUzEsImM6IzAwNjYzMztzOjE7ZjoyNCIpOwpTVEwoUzIsImM6IzAwNjYzMztzOjE7ZjoyNCIpOwpTVEwoUzMsImM6IzAwNjYzMztzOjE7ZjoyNCIpOwpTVEwoTTEsImM6IzAwMDBiMjtoOjI7czo2O2Y6MzAiKTsKU1RMKE0yLCJjOiMwMDAwYjI7aDoyO3M6NjtmOjMwIik7ClNUTChNMywiYzojMDAwMGIyO3M6NjtmOjMwIik7ClNUTChNNCwiYzojMDAwMGIyO3M6NjtmOjMwIik7ClNUTChMMSwiYzojNzgwMDEzO2g6MjtzOjE7ZjozMDtwOjAiKTsKU1RMKEwyLCJjOiM3ODAwMTM7aDoyO3M6MTtmOjMwO3A6MCIpOwpTVEwoTDMsImM6Izc4MDAxMztzOjE7ZjozMDtwOjAiKTsKU1RMKEw0LCJjOiM3ODAwMTM7czoxO2Y6MzA7cDowIik7ClNUTChTNCwiYzojMDA2NjMzO3M6MTtmOjI0Iik7ClNUTChTNSwiYzojMDA2NjMzO3M6MTtmOjI0Iik7ClNUTChTNiwiYzojMDA2NjMzO3M6MTtmOjI0Iik7ClNUTChTNywiYzojMDA2NjMzO3M6MTtmOjI0Iik7ClNUTChFLCJjOiMwMDAwYjI7aDoyO3M6NjtmOjMwIik7ClNUTChQMjAsImM6IzAwMDBiMjtoOjI7czo2O2Y6MzAiKTsKU1RMKFAxMCwiYzojMDAwMGIyO2g6MjtzOjY7ZjozMCIpOwpTVEwoUDMsImM6IzAwMDBiMjtoOjI7czo2O2Y6MzAiKTsKU1RMKEUwLCJjOiMwMDAwYjI7aDoyO3M6NjtmOjMwIik7ClNUTChQMjEsImM6IzAwMDBiMjtoOjI7czo2O2Y6MzAiKTsKU1RMKFAxMSwiYzojMDAwMGIyO2g6MjtzOjY7ZjozMCIpOwpTVEwoUDMwLCJjOiMwMDAwYjI7aDoyO3M6NjtmOjMwIik7ClNUTChQMTIsImM6IzAwMDBiMjtoOjI7czo2O2Y6MzAiKTsKU1RMKFAzMSwiYzojMDAwMGIyO2g6MjtzOjY7ZjozMCIpOwpTVEwoUDEzLCJjOiMwMDAwYjI7aDoyO3M6NjtmOjMwIik7ClNUTChQMzIsImM6IzAwMDBiMjtoOjI7czo2O2Y6MzAiKTsKU1RMKFAxLCJjOiMwMDAwYjI7aDoyO3M6NjtmOjMwIik7ClNUTChQMiwiYzojMDAwMGIyO3M6NjtmOjMwIik7ClNUTChTMjAsImM6IzAwNjYzMztzOjE7ZjoyNCIpOwpTVEwoUzMwLCJjOiMwMDY2MzM7czoxO2Y6MjQiKTsKU1RMKFMyMSwiYzojMDA2NjMzO3M6MTtmOjI0Iik7ClNUTChTMzEsImM6IzAwNjYzMztzOjE7ZjoyNCIpOwpTVEwoUzIyLCJjOiMwMDY2MzM7czoxO2Y6MjQiKTsKU1RMKFMyMywiYzojMDA2NjMzO3M6MTtmOjI0Iik7ClNUTChhLCJjOiMzMTZkN2M7aDoyO3M6NztmOjI0O3A6MjtjTDoyMDA7Y1BUOll6b2pOemd3TURFek8yZzZNanR6T2pFd08yWTZNekE9Iik7ClNldENvb3Jkc1N0eWxlKCJpc0F4aXM6ZmFsc2U7aXNHcmlkOnRydWU7aXNPeDp0cnVlO2lzT3k6dHJ1ZTtpc0xvY2tPeDpmYWxzZTtpc0xvY2tPeTpmYWxzZTtjZW50ZXJab29tOmZhbHNlO29ubHlQb3NpdGl2ZTpmYWxzZTtjb2xvcjojMTExMTExO2ZvbnRTaXplOjE4O2F4aXNXaWR0aDoxO2dyaWRXaWR0aDowLjEiKTsKU2V0R2VuZXJhbFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yOiNGOEY4Rjg7ZGVncmVlOnRydWU7ZHJhZ21vdmVhYmxlOnRydWUiKTsKCgovLyBCbG9ja2x5IDoKQkxLKGJsa19idG4seyJvbnByb2dyYW0iOnsieG1sIjoiPHhtbCB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWxcIj48YmxvY2sgdHlwZT1cInByb2NlZHVyZXNfZGVmcmV0dXJuXCIgaWQ9XCJxZTpxPWUuRC94NU06WCtoUlc7QlwiIHg9XCItMTY5XCIgeT1cIi02N1wiPjxmaWVsZCBuYW1lPVwiTkFNRVwiPmZpbmRfRVhDX0VMRU1FTlRTPC9maWVsZD48Y29tbWVudCBwaW5uZWQ9XCJmYWxzZVwiIGg9XCI4MFwiIHc9XCIxNjBcIj5Ew6ljcmlyZSBjZXR0ZSBmb25jdGlvbuKApjwvY29tbWVudD48c3RhdGVtZW50IG5hbWU9XCJTVEFDS1wiPjxibG9jayB0eXBlPVwidmFyaWFibGVzX3NldFwiIGlkPVwiUUBYUlAuK0ZeR3s1MV4vSXhnKH5cIj48ZmllbGQgbmFtZT1cIlZBUlwiPmxzdDwvZmllbGQ+PHZhbHVlIG5hbWU9XCJWQUxVRVwiPjxibG9jayB0eXBlPVwibGlzdHNfY3JlYXRlX3dpdGhcIiBpZD1cIkVocEFtXldPMmwoYzFkXXB2QTNNXCI+PG11dGF0aW9uIGl0ZW1zPVwiMFwiPjwvbXV0YXRpb24+PC9ibG9jaz48L3ZhbHVlPjxuZXh0PjxibG9jayB0eXBlPVwidmFyaWFibGVzX3NldFwiIGlkPVwiNDNQQ1AhLlhNZ0w9LjdsLkFNZlFcIj48ZmllbGQgbmFtZT1cIlZBUlwiPm9ianM8L2ZpZWxkPjx2YWx1ZSBuYW1lPVwiVkFMVUVcIj48YmxvY2sgdHlwZT1cImRncGFkX2V4cHJlc3Npb25faW5wdXRcIiBpZD1cIi5WM3s0O2tPJU5sVnw1b1NWME0/XCI+PGZpZWxkIG5hbWU9XCJOQU1FXCI+R2V0Q2FudmFzKCkuZ2V0Q29uc3RydWN0aW9uKCkuZ2V0T2JqZWN0c0Zyb21UeXBlKFwicG9pbnRcIik8L2ZpZWxkPjwvYmxvY2s+PC92YWx1ZT48bmV4dD48YmxvY2sgdHlwZT1cImNvbnRyb2xzX2ZvclwiIGlkPVwiZ3A5WDpZMXRHWmQteXR9QF9XMVtcIj48ZmllbGQgbmFtZT1cIlZBUlwiPmxuZTwvZmllbGQ+PHZhbHVlIG5hbWU9XCJGUk9NXCI+PGJsb2NrIHR5cGU9XCJtYXRoX251bWJlclwiIGlkPVwicSN5UlRZZyhGW2A6eTEhSSh5YHpcIj48ZmllbGQgbmFtZT1cIk5VTVwiPjE8L2ZpZWxkPjwvYmxvY2s+PC92YWx1ZT48dmFsdWUgbmFtZT1cIlRPXCI+PGJsb2NrIHR5cGU9XCJsaXN0c19sZW5ndGhcIiBpZD1cIlJHUjsyWTR0JX5zfCVHWmh5bWlFXCI+PHZhbHVlIG5hbWU9XCJWQUxVRVwiPjxibG9jayB0eXBlPVwidmFyaWFibGVzX2dldFwiIGlkPVwiZVN+RDN1P1h5bDdySEZeQT9FenRcIj48ZmllbGQgbmFtZT1cIlZBUlwiPm9ianM8L2ZpZWxkPjwvYmxvY2s+PC92YWx1ZT48L2Jsb2NrPjwvdmFsdWU+PHZhbHVlIG5hbWU9XCJCWVwiPjxibG9jayB0eXBlPVwibWF0aF9udW1iZXJcIiBpZD1cImNhUCNxVzNCKTZkSHk6NGNOV0E3XCI+PGZpZWxkIG5hbWU9XCJOVU1cIj4xPC9maWVsZD48L2Jsb2NrPjwvdmFsdWU+PHN0YXRlbWVudCBuYW1lPVwiRE9cIj48YmxvY2sgdHlwZT1cInZhcmlhYmxlc19zZXRcIiBpZD1cInddKG8teEJ1K1V4IVttbWE1MExpXCI+PGZpZWxkIG5hbWU9XCJWQVJcIj5vYmo8L2ZpZWxkPjx2YWx1ZSBuYW1lPVwiVkFMVUVcIj48YmxvY2sgdHlwZT1cImRncGFkX2dldF9saXN0XCIgaWQ9XCIoMklpK0lNVjB4ZCssUjA7WWVaQFwiPjx2YWx1ZSBuYW1lPVwiTkFNRVwiPjxibG9jayB0eXBlPVwidmFyaWFibGVzX2dldFwiIGlkPVwic213Q2NSZWJVMUNtMS5qckhxdmZcIj48ZmllbGQgbmFtZT1cIlZBUlwiPm9ianM8L2ZpZWxkPjwvYmxvY2s+PC92YWx1ZT48dmFsdWUgbmFtZT1cIklOREVYXCI+PGJsb2NrIHR5cGU9XCJ2YXJpYWJsZXNfZ2V0XCIgaWQ9XCIwN3o1cWROMU9YODE4Rlh6Pzk0dVwiPjxmaWVsZCBuYW1lPVwiVkFSXCI+bG5lPC9maWVsZD48L2Jsb2NrPjwvdmFsdWU+PC9ibG9jaz48L3ZhbHVlPjxuZXh0PjxibG9jayB0eXBlPVwiZGdwYWRfcHVzaFwiIGlkPVwidEkpUlFyTThWazpKcEB1X3k9N2hcIj48ZmllbGQgbmFtZT1cIlZBUk5BTUVcIj5sc3Q8L2ZpZWxkPjx2YWx1ZSBuYW1lPVwiTkFNRVwiPjxibG9jayB0eXBlPVwiZGdwYWRfZXhwcmVzc2lvbl9pbnB1dFwiIGlkPVwiRyxoUVljZ11YLEcoMXRhNzV2X1pcIj48ZmllbGQgbmFtZT1cIk5BTUVcIj5ibG9ja2x5X3Zhcl9vYmouZ2V0TmFtZSgpPC9maWVsZD48L2Jsb2NrPjwvdmFsdWU+PC9ibG9jaz48L25leHQ+PC9ibG9jaz48L3N0YXRlbWVudD48L2Jsb2NrPjwvbmV4dD48L2Jsb2NrPjwvbmV4dD48L2Jsb2NrPjwvc3RhdGVtZW50Pjx2YWx1ZSBuYW1lPVwiUkVUVVJOXCI+PGJsb2NrIHR5cGU9XCJ2YXJpYWJsZXNfZ2V0XCIgaWQ9XCJmLiFoaEk3MjAsXTdJWW9FRkFnWlwiPjxmaWVsZCBuYW1lPVwiVkFSXCI+bHN0PC9maWVsZD48L2Jsb2NrPjwvdmFsdWU+PC9ibG9jaz48YmxvY2sgdHlwZT1cInZhcmlhYmxlc19zZXRcIiBpZD1cInQ0SiM3Z0lqeVtESlk9WkR4Wl8/XCIgeD1cIi0xNjJcIiB5PVwiMjI5XCI+PGZpZWxkIG5hbWU9XCJWQVJcIj5wdHM8L2ZpZWxkPjx2YWx1ZSBuYW1lPVwiVkFMVUVcIj48YmxvY2sgdHlwZT1cImRncGFkX2V4cHJlc3Npb25faW5wdXRcIiBpZD1cIlp+V2pNNnkzY3xGXSo5c3NieFdCXCI+PGZpZWxkIG5hbWU9XCJOQU1FXCI+d2luZG93LnByb21wdChcIkVudHJlciBsYSBsaXN0ZSBkZXMgcG9pbnRzIMOgIGFpbWFudGVyIMOgIHBvc3RlcmlvcmksIHPDqXBhcsOpcyBwYXIgZGVzIHZpcmd1bGVzXCIpPC9maWVsZD48L2Jsb2NrPjwvdmFsdWU+PG5leHQ+PGJsb2NrIHR5cGU9XCJkZ3BhZF9nbG9iYWxfc2V0XCIgaWQ9XCJ0WWpJIyhKdHQ4Xj9aSEgyQ2NPMVwiPjxmaWVsZCBuYW1lPVwiVkFSXCI+UFRTX0xJU1Q8L2ZpZWxkPjx2YWx1ZSBuYW1lPVwiTkFNRVwiPjxibG9jayB0eXBlPVwiZGdwYWRfZXhwcmVzc2lvbl9pbnB1dFwiIGlkPVwiT2FxN2ZbfCswZjswOzpffWV2amZcIj48ZmllbGQgbmFtZT1cIk5BTUVcIj5ibG9ja2x5X3Zhcl9wdHMuc3BsaXQoXCIsXCIpPC9maWVsZD48L2Jsb2NrPjwvdmFsdWU+PG5leHQ+PGJsb2NrIHR5cGU9XCJkZ3BhZF9nbG9iYWxfc2V0XCIgaWQ9XCJ4XWg6W19tMEBZNjIjZE5ecStuaFwiPjxmaWVsZCBuYW1lPVwiVkFSXCI+RVhDX0xJU1Q8L2ZpZWxkPjx2YWx1ZSBuYW1lPVwiTkFNRVwiPjxibG9jayB0eXBlPVwicHJvY2VkdXJlc19jYWxscmV0dXJuXCIgaWQ9XCJyaCozYW1WZkNVcng/YFUjR1h3d1wiPjxtdXRhdGlvbiBuYW1lPVwiZmluZF9FWENfRUxFTUVOVFNcIj48L211dGF0aW9uPjwvYmxvY2s+PC92YWx1ZT48bmV4dD48YmxvY2sgdHlwZT1cImRncGFkX2dsb2JhbF9zZXRcIiBpZD1cIntVI3NPKX5VeEtrQE8zZyF4ZCk/XCI+PGZpZWxkIG5hbWU9XCJWQVJcIj5NQUdORVRfUkFZPC9maWVsZD48dmFsdWUgbmFtZT1cIk5BTUVcIj48YmxvY2sgdHlwZT1cImRncGFkX2V4cHJlc3Npb25faW5wdXRcIiBpZD1cImxLLXBrRTRBL0JdLldHej9IbTtLXCI+PGZpZWxkIG5hbWU9XCJOQU1FXCI+d2luZG93LnByb21wdChcIkVudHJlciBsZSByYXlvbiBkdSBtYWduw6l0aXNtZVwiLDMwKTwvZmllbGQ+PC9ibG9jaz48L3ZhbHVlPjwvYmxvY2s+PC9uZXh0PjwvYmxvY2s+PC9uZXh0PjwvYmxvY2s+PC9uZXh0PjwvYmxvY2s+PC94bWw+Iiwic3luYyI6Ii8qKlxuICogRMOpY3JpcmUgY2V0dGUgZm9uY3Rpb27igKZcbiAqL1xuZnVuY3Rpb24gZmluZF9FWENfRUxFTUVOVFMoKSB7XG4gICB2YXIgYmxvY2tseV92YXJfbHN0ID0gW107XG4gICB2YXIgYmxvY2tseV92YXJfb2JqcyA9IChHZXRDYW52YXMoKS5nZXRDb25zdHJ1Y3Rpb24oKS5nZXRPYmplY3RzRnJvbVR5cGUoXCJwb2ludFwiKSk7XG4gIGZvciAodmFyIGJsb2NrbHlfdmFyX2xuZSA9IDEgOyBibG9ja2x5X3Zhcl9sbmUgPD0gYmxvY2tseV92YXJfb2Jqcy5sZW5ndGggOyBibG9ja2x5X3Zhcl9sbmUgPSBibG9ja2x5X3Zhcl9sbmUgKyAxKXtcbiAgICAgdmFyIGJsb2NrbHlfdmFyX29iaiA9IChibG9ja2x5X3Zhcl9vYmpzW2Jsb2NrbHlfdmFyX2xuZS0xXSk7XG4gICAgYmxvY2tseV92YXJfbHN0LnB1c2goYmxvY2tseV92YXJfb2JqLmdldE5hbWUoKSk7XG4gIH07XG4gIHJldHVybiBibG9ja2x5X3Zhcl9sc3Q7XG59XG5cblxuYmxvY2tseV92YXJfcHRzID0gKHdpbmRvdy5wcm9tcHQoXCJFbnRyZXIgbGEgbGlzdGUgZGVzIHBvaW50cyDDoCBhaW1hbnRlciDDoCBwb3N0ZXJpb3JpLCBzw6lwYXLDqXMgcGFyIGRlcyB2aXJndWxlc1wiKSk7XG5HTE9CQUxfU0VUKFwiUFRTX0xJU1RcIiwoYmxvY2tseV92YXJfcHRzLnNwbGl0KFwiLFwiKSkpO1xuR0xPQkFMX1NFVChcIkVYQ19MSVNUXCIsKGZpbmRfRVhDX0VMRU1FTlRTKCkpKTtcbkdMT0JBTF9TRVQoXCJNQUdORVRfUkFZXCIsKHdpbmRvdy5wcm9tcHQoXCJFbnRyZXIgbGUgcmF5b24gZHUgbWFnbsOpdGlzbWVcIiwzMCkpKTsifSwib25pbml0Ijp7InhtbCI6Ijx4bWwgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sXCI+PGJsb2NrIHR5cGU9XCJjb250cm9sc19pZlwiIGlkPVwiN18pVn1LVHczc0o4Z3wpfkpyVy1cIiB4PVwiLTE1M1wiIHk9XCIxNzNcIj48dmFsdWUgbmFtZT1cIklGMFwiPjxibG9jayB0eXBlPVwibG9naWNfbmVnYXRlXCIgaWQ9XCIyRFlqeUB5Y2VAMmc2SVhWQCpPflwiPjx2YWx1ZSBuYW1lPVwiQk9PTFwiPjxibG9jayB0eXBlPVwiZGdwYWRfZXhwcmVzc2lvbl9pbnB1dFwiIGlkPVwiKTJTMVdAOUFhVHElcXVDbmZ4TFJcIj48ZmllbGQgbmFtZT1cIk5BTUVcIj53aW5kb3cucGFyZW50W1wiJFVcIl0uY2hhbmdlZC5sb2FkZWQ8L2ZpZWxkPjwvYmxvY2s+PC92YWx1ZT48L2Jsb2NrPjwvdmFsdWU+PHN0YXRlbWVudCBuYW1lPVwiRE8wXCI+PGJsb2NrIHR5cGU9XCJ2YXJpYWJsZXNfc2V0XCIgaWQ9XCJPLXZWZ05gUGVEVzs2YUtoSmZTd1wiPjxmaWVsZCBuYW1lPVwiVkFSXCI+bG5lPC9maWVsZD48dmFsdWUgbmFtZT1cIlZBTFVFXCI+PGJsb2NrIHR5cGU9XCJkZ3BhZF9leHByZXNzaW9uX2lucHV0XCIgaWQ9XCJJV2s4ZXtMW3JVWkx2MilBdkxOa1wiPjxmaWVsZCBuYW1lPVwiTkFNRVwiPndpbmRvdy5wYXJlbnRbXCIkVVwiXS5jaGFuZ2VkID0gZnVuY3Rpb24oKSB7dmFyIHRhYl9saXN0ID0gR0xPQkFMX0dFVChcIlBUU19MSVNUXCIpO3ZhciBhbGxfbGlzdCA9IEdldENhbnZhcygpLmdldENvbnN0cnVjdGlvbigpLmdldE9iamVjdHNGcm9tVHlwZShcInBvaW50XCIpO3ZhciBleGNfbGlzdCA9IEdMT0JBTF9HRVQoXCJFWENfTElTVFwiKTtpZiAodGFiX2xpc3QgJmFtcDsmYW1wOyBhbGxfbGlzdCAmYW1wOyZhbXA7IGV4Y19saXN0KSB7Zm9yICh2YXIgaSA9IDA7IGkgJmx0OyB0YWJfbGlzdC5sZW5ndGg7IGkrKykge3ZhciBwdCA9IEdldENhbnZhcygpLmdldENvbnN0cnVjdGlvbigpLmZpbmQodGFiX2xpc3RbaV0pO2lmIChwdCkge3B0LnNldE1hZ25ldHMoW10pO2ZvciAodmFyIGsgPSAwOyBrICZsdDsgYWxsX2xpc3QubGVuZ3RoOyBrKyspIHtpZiAoZXhjX2xpc3QuaW5kZXhPZihhbGxfbGlzdFtrXS5nZXROYW1lKCkpID09PSAtMSkge3B0LmFkZE1hZ25ldChhbGxfbGlzdFtrXSwgcGFyc2VJbnQoXCJcIiArIEdMT0JBTF9HRVQoXCJNQUdORVRfUkFZXCIpKSk7fTt9O307fTt9O308L2ZpZWxkPjwvYmxvY2s+PC92YWx1ZT48bmV4dD48YmxvY2sgdHlwZT1cInZhcmlhYmxlc19zZXRcIiBpZD1cIk9kK3lrT1dFbVovdEIwQChEYTdJXCI+PGZpZWxkIG5hbWU9XCJWQVJcIj5sbmU8L2ZpZWxkPjx2YWx1ZSBuYW1lPVwiVkFMVUVcIj48YmxvY2sgdHlwZT1cImRncGFkX2V4cHJlc3Npb25faW5wdXRcIiBpZD1cIixRZl5nZmUuSlQ9OkY9S1Z7TSghXCI+PGZpZWxkIG5hbWU9XCJOQU1FXCI+d2luZG93LnBhcmVudFtcIiRVXCJdLmNoYW5nZWQubG9hZGVkPXRydWU8L2ZpZWxkPjwvYmxvY2s+PC92YWx1ZT48L2Jsb2NrPjwvbmV4dD48L2Jsb2NrPjwvc3RhdGVtZW50PjwvYmxvY2s+PC94bWw+Iiwic3luYyI6ImlmICghKHdpbmRvdy5wYXJlbnRbXCIkVVwiXS5jaGFuZ2VkLmxvYWRlZCkpIHtcbiAgYmxvY2tseV92YXJfbG5lID0gKHdpbmRvdy5wYXJlbnRbXCIkVVwiXS5jaGFuZ2VkID0gZnVuY3Rpb24oKSB7dmFyIHRhYl9saXN0ID0gR0xPQkFMX0dFVChcIlBUU19MSVNUXCIpO3ZhciBhbGxfbGlzdCA9IEdldENhbnZhcygpLmdldENvbnN0cnVjdGlvbigpLmdldE9iamVjdHNGcm9tVHlwZShcInBvaW50XCIpO3ZhciBleGNfbGlzdCA9IEdMT0JBTF9HRVQoXCJFWENfTElTVFwiKTtpZiAodGFiX2xpc3QgJiYgYWxsX2xpc3QgJiYgZXhjX2xpc3QpIHtmb3IgKHZhciBpID0gMDsgaSA8IHRhYl9saXN0Lmxlbmd0aDsgaSsrKSB7dmFyIHB0ID0gR2V0Q2FudmFzKCkuZ2V0Q29uc3RydWN0aW9uKCkuZmluZCh0YWJfbGlzdFtpXSk7aWYgKHB0KSB7cHQuc2V0TWFnbmV0cyhbXSk7Zm9yICh2YXIgayA9IDA7IGsgPCBhbGxfbGlzdC5sZW5ndGg7IGsrKykge2lmIChleGNfbGlzdC5pbmRleE9mKGFsbF9saXN0W2tdLmdldE5hbWUoKSkgPT09IC0xKSB7cHQuYWRkTWFnbmV0KGFsbF9saXN0W2tdLCBwYXJzZUludChcIlwiICsgR0xPQkFMX0dFVChcIk1BR05FVF9SQVlcIikpKTt9O307fTt9O307fSk7XG4gIGJsb2NrbHlfdmFyX2xuZSA9ICh3aW5kb3cucGFyZW50W1wiJFVcIl0uY2hhbmdlZC5sb2FkZWQ9dHJ1ZSk7XG59In0sImN1cnJlbnQiOiJvbmluaXQifSk7CkJMSyhibGtfYnRuMCx7Im9ucHJvZ3JhbSI6eyJ4bWwiOiI8eG1sIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbFwiPjxibG9jayB0eXBlPVwicHJvY2VkdXJlc19kZWZub3JldHVyblwiIGlkPVwiV2pHfEohSkg1Q310MCFOdHZMUS5cIiB4PVwiLTc0XCIgeT1cIi00MlwiPjxtdXRhdGlvbj48YXJnIG5hbWU9XCJuXCI+PC9hcmc+PC9tdXRhdGlvbj48ZmllbGQgbmFtZT1cIk5BTUVcIj5jYWNoZXI8L2ZpZWxkPjxjb21tZW50IHBpbm5lZD1cImZhbHNlXCIgaD1cIjgwXCIgdz1cIjE2MFwiPkTDqWNyaXJlIGNldHRlIGZvbmN0aW9u4oCmPC9jb21tZW50PjxzdGF0ZW1lbnQgbmFtZT1cIlNUQUNLXCI+PGJsb2NrIHR5cGU9XCJ2YXJpYWJsZXNfc2V0XCIgaWQ9XCJdfFE0ZDZFLlFkV3kvKntyfCVgdFwiPjxmaWVsZCBuYW1lPVwiVkFSXCI+b2JqczwvZmllbGQ+PHZhbHVlIG5hbWU9XCJWQUxVRVwiPjxibG9jayB0eXBlPVwiZGdwYWRfZXhwcmVzc2lvbl9pbnB1dFwiIGlkPVwiLHA6UTh0YGMjbm5DbmFefSVlSEFcIj48ZmllbGQgbmFtZT1cIk5BTUVcIj5HZXRDYW52YXMoKS5nZXRDb25zdHJ1Y3Rpb24oKS5nZXROYW1lcygpPC9maWVsZD48L2Jsb2NrPjwvdmFsdWU+PG5leHQ+PGJsb2NrIHR5cGU9XCJjb250cm9sc19mb3JcIiBpZD1cIlFdKVY2bmZ+QyM2fV12PWxCLlZ5XCI+PGZpZWxkIG5hbWU9XCJWQVJcIj5pPC9maWVsZD48dmFsdWUgbmFtZT1cIkZST01cIj48YmxvY2sgdHlwZT1cIm1hdGhfbnVtYmVyXCIgaWQ9XCI5ZEU0VC1VdT93NnZMI2x9Y0dhQlwiPjxmaWVsZCBuYW1lPVwiTlVNXCI+MTwvZmllbGQ+PC9ibG9jaz48L3ZhbHVlPjx2YWx1ZSBuYW1lPVwiVE9cIj48YmxvY2sgdHlwZT1cImxpc3RzX2xlbmd0aFwiIGlkPVwiXjgwfk8oK0dnTzRBP2dgZTVoY19cIj48dmFsdWUgbmFtZT1cIlZBTFVFXCI+PGJsb2NrIHR5cGU9XCJ2YXJpYWJsZXNfZ2V0XCIgaWQ9XCJKT3doS0V+KHtGNGtVWy9IRTBAT1wiPjxmaWVsZCBuYW1lPVwiVkFSXCI+b2JqczwvZmllbGQ+PC9ibG9jaz48L3ZhbHVlPjwvYmxvY2s+PC92YWx1ZT48dmFsdWUgbmFtZT1cIkJZXCI+PGJsb2NrIHR5cGU9XCJtYXRoX251bWJlclwiIGlkPVwieVsxQn52KENJeTdbJXNXQ0RLcUJcIj48ZmllbGQgbmFtZT1cIk5VTVwiPjE8L2ZpZWxkPjwvYmxvY2s+PC92YWx1ZT48c3RhdGVtZW50IG5hbWU9XCJET1wiPjxibG9jayB0eXBlPVwidmFyaWFibGVzX3NldFwiIGlkPVwicTlRNz94Tk12dnhBSls3QXxLXSpcIj48ZmllbGQgbmFtZT1cIlZBUlwiPm9iajwvZmllbGQ+PHZhbHVlIG5hbWU9XCJWQUxVRVwiPjxibG9jayB0eXBlPVwiZGdwYWRfZ2V0X2xpc3RcIiBpZD1cInRQS2o7UCtKMFB4OkNLeDtBakdAXCI+PHZhbHVlIG5hbWU9XCJOQU1FXCI+PGJsb2NrIHR5cGU9XCJ2YXJpYWJsZXNfZ2V0XCIgaWQ9XCJoZHlRZmNRaEArYCVvfGIxUUxbblwiPjxmaWVsZCBuYW1lPVwiVkFSXCI+b2JqczwvZmllbGQ+PC9ibG9jaz48L3ZhbHVlPjx2YWx1ZSBuYW1lPVwiSU5ERVhcIj48YmxvY2sgdHlwZT1cInZhcmlhYmxlc19nZXRcIiBpZD1cInNMTGJhfEBKYyFnYTAsSHo5P1pZXCI+PGZpZWxkIG5hbWU9XCJWQVJcIj5pPC9maWVsZD48L2Jsb2NrPjwvdmFsdWU+PC9ibG9jaz48L3ZhbHVlPjxuZXh0PjxibG9jayB0eXBlPVwidmFyaWFibGVzX3NldFwiIGlkPVwickVeWCEpZXpXOU8qSmlxfGY7Yl1cIj48ZmllbGQgbmFtZT1cIlZBUlwiPm9iajwvZmllbGQ+PHZhbHVlIG5hbWU9XCJWQUxVRVwiPjxibG9jayB0eXBlPVwiZGdwYWRfZXhwcmVzc2lvbl9pbnB1dFwiIGlkPVwiX0JNLT9FXS5ILUpYNiFERUVPY2tcIj48ZmllbGQgbmFtZT1cIk5BTUVcIj5HZXRDYW52YXMoKS5nZXRDb25zdHJ1Y3Rpb24oKS5maW5kKGJsb2NrbHlfdmFyX29iaik8L2ZpZWxkPjwvYmxvY2s+PC92YWx1ZT48bmV4dD48YmxvY2sgdHlwZT1cImNvbnRyb2xzX2lmXCIgaWQ9XCJVZzFxOzRgTD9lVlQsY3x5MXRGMlwiPjx2YWx1ZSBuYW1lPVwiSUYwXCI+PGJsb2NrIHR5cGU9XCJkZ3BhZF9leHByZXNzaW9uX2lucHV0XCIgaWQ9XCJhTXFncH4pd2EzQ0gpWV97OzBydVwiPjxmaWVsZCBuYW1lPVwiTkFNRVwiPmJsb2NrbHlfdmFyX29iai5pc0hpZGRlbigpPC9maWVsZD48L2Jsb2NrPjwvdmFsdWU+PHN0YXRlbWVudCBuYW1lPVwiRE8wXCI+PGJsb2NrIHR5cGU9XCJ2YXJpYWJsZXNfc2V0XCIgaWQ9XCJ7eHcuZU04bX1OfSNlcktnLjQ9LlwiPjxmaWVsZCBuYW1lPVwiVkFSXCI+bG5lPC9maWVsZD48dmFsdWUgbmFtZT1cIlZBTFVFXCI+PGJsb2NrIHR5cGU9XCJkZ3BhZF9leHByZXNzaW9uX2lucHV0XCIgaWQ9XCJMeWBxO1BKZVQlWVpdbHN0WT0sT1wiPjxmaWVsZCBuYW1lPVwiTkFNRVwiPmJsb2NrbHlfdmFyX29iai5zZXRIaWRkZW4oYmxvY2tseV92YXJfbik8L2ZpZWxkPjwvYmxvY2s+PC92YWx1ZT48L2Jsb2NrPjwvc3RhdGVtZW50PjwvYmxvY2s+PC9uZXh0PjwvYmxvY2s+PC9uZXh0PjwvYmxvY2s+PC9zdGF0ZW1lbnQ+PG5leHQ+PGJsb2NrIHR5cGU9XCJ2YXJpYWJsZXNfc2V0XCIgaWQ9XCJzU1kvdWdKU3dvUm5lM3tOVl8rR1wiPjxmaWVsZCBuYW1lPVwiVkFSXCI+bG5lPC9maWVsZD48dmFsdWUgbmFtZT1cIlZBTFVFXCI+PGJsb2NrIHR5cGU9XCJkZ3BhZF9leHByZXNzaW9uX2lucHV0XCIgaWQ9XCItYnxUI1A4Vk1GMiFuOGpKIXkpUVwiPjxmaWVsZCBuYW1lPVwiTkFNRVwiPmNvbnNvbGUubG9nKGJsb2NrbHlfdmFyX24pPC9maWVsZD48L2Jsb2NrPjwvdmFsdWU+PC9ibG9jaz48L25leHQ+PC9ibG9jaz48L25leHQ+PC9ibG9jaz48L3N0YXRlbWVudD48L2Jsb2NrPjxibG9jayB0eXBlPVwicHJvY2VkdXJlc19jYWxsbm9yZXR1cm5cIiBpZD1cIjRMK3Q2bSlodHY/LWxNKk8ocF4wXCIgaW5saW5lPVwidHJ1ZVwiIHg9XCItNjlcIiB5PVwiMzI0XCI+PG11dGF0aW9uIG5hbWU9XCJjYWNoZXJcIj48YXJnIG5hbWU9XCJuXCI+PC9hcmc+PC9tdXRhdGlvbj48dmFsdWUgbmFtZT1cIkFSRzBcIj48YmxvY2sgdHlwZT1cIm1hdGhfbnVtYmVyXCIgaWQ9XCIwZ2NNYkojRl1eI1Voc18sbCEhRlwiPjxmaWVsZCBuYW1lPVwiTlVNXCI+MjwvZmllbGQ+PC9ibG9jaz48L3ZhbHVlPjwvYmxvY2s+PC94bWw+Iiwic3luYyI6Ii8qKlxuICogRMOpY3JpcmUgY2V0dGUgZm9uY3Rpb27igKZcbiAqL1xuZnVuY3Rpb24gY2FjaGVyKGJsb2NrbHlfbG9jYWxfbikge1xuICAgdmFyIGJsb2NrbHlfdmFyX29ianMgPSAoR2V0Q2FudmFzKCkuZ2V0Q29uc3RydWN0aW9uKCkuZ2V0TmFtZXMoKSk7XG4gIGZvciAodmFyIGJsb2NrbHlfdmFyX2kgPSAxIDsgYmxvY2tseV92YXJfaSA8PSBibG9ja2x5X3Zhcl9vYmpzLmxlbmd0aCA7IGJsb2NrbHlfdmFyX2kgPSBibG9ja2x5X3Zhcl9pICsgMSl7XG4gICAgIHZhciBibG9ja2x5X3Zhcl9vYmogPSAoYmxvY2tseV92YXJfb2Jqc1tibG9ja2x5X3Zhcl9pLTFdKTtcbiAgICBibG9ja2x5X3Zhcl9vYmogPSAoR2V0Q2FudmFzKCkuZ2V0Q29uc3RydWN0aW9uKCkuZmluZChibG9ja2x5X3Zhcl9vYmopKTtcbiAgICBpZiAoYmxvY2tseV92YXJfb2JqLmlzSGlkZGVuKCkpIHtcbiAgICAgICB2YXIgYmxvY2tseV92YXJfbG5lID0gKGJsb2NrbHlfdmFyX29iai5zZXRIaWRkZW4oYmxvY2tseV9sb2NhbF9uKSk7XG4gICAgfVxuICB9O1xuICBibG9ja2x5X3Zhcl9sbmUgPSAoY29uc29sZS5sb2coYmxvY2tseV9sb2NhbF9uKSk7XG59XG5cblxuY2FjaGVyKDIpOyJ9LCJjdXJyZW50Ijoib25wcm9ncmFtIn0pOwoKCi8vIEJsb2NrbHkgR2xvYmFscyA6CkJMS19HTE9CX1NFVCh7IlBUU19MSVNUIjpbIkciXSwiRVhDX0xJU1QiOlsiQSIsIkIiLCJDIiwiRyJdLCJNQUdORVRfUkFZIjoiMzAifSk7Cg=="}dgpad