ZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3NnbWxfaW5wdXQuaHRtbCBiL0xpYi90ZXN0L3NnbWxfaW5wdXQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNGQyZTZjCi0tLSAvZGV2L251bGwKKysrIGIvTGliL3Rlc3Qvc2dtbF9pbnB1dC5odG1sCkBAIC0wLDAgKzEsMjEyIEBACis8aHRtbD4KKyA8aGVhZD4KKyAgPG1ldGEgaHR0cC1lcXVpdj0iY29udGVudC10eXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktMSI+CisgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Imh0dHA6Ly9vZ2FtZTE4Mi5kZS9lcGljYmx1ZS9mb3JtYXRlLmNzcyI+CisgIDxzY3JpcHQgbGFuZ3VhZ2U9IkphdmFTY3JpcHQiIHNyYz0ianMvZmxvdHRlbi5qcyI+PC9zY3JpcHQ+CisgPC9oZWFkPgorIDxib2R5PgorICAgIDxzY3JpcHQgbGFuZ3VhZ2U9SmF2YVNjcmlwdD4gaWYgKHBhcmVudC5mcmFtZXMubGVuZ3RoID09IDApIHsgdG9wLmxvY2F0aW9uLmhyZWYgPSAiaHR0cDovL2VzLm9nYW1lLm9yZy8iOyB9IDwvc2NyaXB0PiA8c2NyaXB0IGxhbmd1YWdlPSJKYXZhU2NyaXB0Ij4KK2Z1bmN0aW9uIGhhaGEoejEpIHsKKyAgZXZhbCgibG9jYXRpb249JyIrejEub3B0aW9uc1t6MS5zZWxlY3RlZEluZGV4XS52YWx1ZSsiJyIpOworfQorPC9zY3JpcHQ+Cis8Y2VudGVyPgorPHRhYmxlPgorIDx0cj4KKyAgPHRkPjwvdGQ+CisgIDx0ZD4KKyAgIDxjZW50ZXI+CisgICA8dGFibGU+CisgICAgPHRyPgorICAgICA8dGQ+PGltZyBzcmM9Imh0dHA6Ly9vZ2FtZTE4Mi5kZS9lcGljYmx1ZS9wbGFuZXRlbi9zbWFsbC9zX2RzY2hqdW5nZWxwbGFuZXQwNC5qcGciIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCI+PC90ZD4KKyAgICAgPHRkPgorICAgICAgPHRhYmxlIGJvcmRlcj0iMSI+CisgICAgICAgPHNlbGVjdCBzaXplPSIxIiBvbmNoYW5nZT0iaGFoYSh0aGlzKSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ii9nYW1lL2Zsb3R0ZW4xLnBocD9zZXNzaW9uPTg5MTJhZTkxMmZlYyZjcD0zMzg3NTM0MSZtb2RlPUZsb3R0ZSZnaWQ9Jm1lc3NhZ2V6aWVsPSZyZT0wIiBzZWxlY3RlZD5BbGllbiBzZXggZnJpZW5kICAgIFsyOjI1MDo2XTwvb3B0aW9uPiAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iL2dhbWUvZmxvdHRlbjEucGhwP3Nlc3Npb249ODkxMmFlOTEyZmVjJmNwPTMzOTA1MTAwJm1vZGU9RmxvdHRlJmdpZD0mbWVzc2FnZXppZWw9JnJlPTAiID4xOTg5ICAgIFsyOjI0ODoxNF08L29wdGlvbj4gCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ii9nYW1lL2Zsb3R0ZW4xLnBocD9zZXNzaW9uPTg5MTJhZTkxMmZlYyZjcD0zNDU3MDgwOCZtb2RlPUZsb3R0ZSZnaWQ9Jm1lc3NhZ2V6aWVsPSZyZT0wIiA+MTk5MCAgICBbMjoyNDg6Nl08L29wdGlvbj4gCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ii9nYW1lL2Zsb3R0ZW4xLnBocD9zZXNzaW9uPTg5MTJhZTkxMmZlYyZjcD0zNDU3MDg1OCZtb2RlPUZsb3R0ZSZnaWQ9Jm1lc3NhZ2V6aWVsPSZyZT0wIiA+MTk5MSAgICBbMjoyNTQ6Nl08L29wdGlvbj4gCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ii9nYW1lL2Zsb3R0ZW4xLnBocD9zZXNzaW9uPTg5MTJhZTkxMmZlYyZjcD0zNDU3MjkyOSZtb2RlPUZsb3R0ZSZnaWQ9Jm1lc3NhZ2V6aWVsPSZyZT0wIiA+Q29sb25pYSAgICBbMjoyNTM6MTJdPC9vcHRpb24+IAorICAgICAgICAgICAgICAgPC9zZWxlY3Q+CisgICAgICA8L3RhYmxlPgorICAgICA8L3RkPgorICAgIDwvdHI+CisgIDwvdGFibGU+CisgIDwvY2VudGVyPgorICA8L3RkPgorICA8dGQ+CisgICA8dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIj4KKyAgICA8dHI+CisgICAgIDx0ZCBhbGlnbj0iY2VudGVyIj48L3RkPgorICAgICA8dGQgYWxpZ249ImNlbnRlciIgd2lkdGg9Ijg1Ij4KKyAgICAgIDxpbWcgYm9yZGVyPSIwIiBzcmM9Imh0dHA6Ly9vZ2FtZTE4Mi5kZS9lcGljYmx1ZS9pbWFnZXMvbWV0YWxsLmdpZiIgd2lkdGg9IjQyIiBoZWlnaHQ9IjIyIj4KKyAgICAgPC90ZD4KKyAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHdpZHRoPSI4NSI+CisgICAgICA8aW1nIGJvcmRlcj0iMCIgc3JjPSJodHRwOi8vb2dhbWUxODIuZGUvZXBpY2JsdWUvaW1hZ2VzL2tyaXN0YWxsLmdpZiIgd2lkdGg9IjQyIiBoZWlnaHQ9IjIyIj4KKyAgICAgPC90ZD4KKyAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHdpZHRoPSI4NSI+CisgICAgICA8aW1nIGJvcmRlcj0iMCIgc3JjPSJodHRwOi8vb2dhbWUxODIuZGUvZXBpY2JsdWUvaW1hZ2VzL2RldXRlcml1bS5naWYiIHdpZHRoPSI0MiIgaGVpZ2h0PSIyMiI+CisgICAgIDwvdGQ+CisgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB3aWR0aD0iODUiPgorICAgICAgPGltZyBib3JkZXI9IjAiIHNyYz0iaHR0cDovL29nYW1lMTgyLmRlL2VwaWNibHVlL2ltYWdlcy9lbmVyZ2llLmdpZiIgd2lkdGg9IjQyIiBoZWlnaHQ9IjIyIj4KKyAgICAgPC90ZD4KKyAgICAgPHRkIGFsaWduPSJjZW50ZXIiPjwvdGQ+CisgICAgPC90cj4KKyAgICA8dHI+CisgICAgIDx0ZCBhbGlnbj0iY2VudGVyIj48aT48Yj4mbmJzcDsmbmJzcDs8L2I+PC9pPjwvdGQ+CisgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB3aWR0aD0iODUiPjxpPjxiPjxmb250IGNvbG9yPSIjZmZmZmZmIj5NZXRhbDwvZm9udD48L2I+PC9pPjwvdGQ+CisgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB3aWR0aD0iODUiPjxpPjxiPjxmb250IGNvbG9yPSIjZmZmZmZmIj5DcmlzdGFsPC9mb250PjwvYj48L2k+PC90ZD4KKyAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHdpZHRoPSI4NSI+PGk+PGI+PGZvbnQgY29sb3I9IiNmZmZmZmYiPkRldXRlcmlvPC9mb250PjwvYj48L2k+PC90ZD4KKyAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHdpZHRoPSI4NSI+PGk+PGI+PGZvbnQgY29sb3I9IiNmZmZmZmYiPkVuZXJn7WE8L2ZvbnQ+PC9iPjwvaT48L3RkPgorICAgICA8dGQgYWxpZ249ImNlbnRlciI+PGk+PGI+Jm5ic3A7Jm5ic3A7PC9iPjwvaT48L3RkPgorICAgIDwvdHI+CisgICAgPHRyPgorICAgICA8dGQgYWxpZ249ImNlbnRlciI+PC90ZD4KKyAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHdpZHRoPSI4NSI+MTYwLjYzNjwvdGQ+CisgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB3aWR0aD0iODUiPjMuNDA2PC90ZD4KKyAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHdpZHRoPSI4NSI+MzkuMjMwPC90ZD4KKyAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHdpZHRoPSI4NSI+PGZvbnQgY29sb3I9I2ZmMDAwMD4tODA8L2ZvbnQ+LzMuOTY1PC90ZD4KKyAgICAgPHRkIGFsaWduPSJjZW50ZXIiPjwvdGQ+CisgICAgPC90cj4KKyAgIDwvdGFibGU+CisgIDwvdHI+CisgPC90YWJsZT4KKyAgPC9jZW50ZXI+Cis8YnIgLz4KKyAgPHNjcmlwdCBsYW5ndWFnZT0iSmF2YVNjcmlwdCI+CisgIDwhLS0KKyAgICAgZnVuY3Rpb24gbGlua190b19nYW1lcGF5KCkgeworICAgIHNlbGYubG9jYXRpb24gPSAiaHR0cHM6Ly93d3cuZ2FtZXBheS5kZS8/bGFuZz1lcyZzZXJ2ZXJJRD04JnVzZXJJRD0xMjkzNjAmZ2FtZUlEPW9nYW1lJmd1aT12MiZjaGtzdW09YTk3NTFhZmE5ZTM3ZTZiMWI4MjYzNTZiY2NhNDU2NzUiOworICB9CisvLy0tPgorICA8L3NjcmlwdD4KKzxjZW50ZXI+CisgIDx0YWJsZSB3aWR0aD0iNTE5IiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMSI+CisgICA8dHIgaGVpZ2h0PSIyMCI+CisgIDx0ZCBjb2xzcGFuPSI4IiBjbGFzcz0iYyI+RmxvdGFzIChtYXguIDkpPC90ZD4KKyAgIDwvdHI+CisgICAgIDx0ciBoZWlnaHQ9IjIwIj4KKyAgICA8dGg+TnVtLjwvdGg+CisgICAgPHRoPk1pc2nzbjwvdGg+CisgICAgPHRoPkNhbnRpZGFkPC90aD4KKyAgICA8dGg+Q29taWVuem88L3RoPgorICAgIDx0aD5TYWxpZGE8L3RoPgorICAgIDx0aD5PYmpldGl2bzwvdGg+CisgICAgPHRoPkxsZWdhZGE8L3RoPgorICAgIDx0aD5PcmRlbjwvdGg+ICAgCisgICA8L3RyPgorICAgICA8dHIgaGVpZ2h0PSIyMCI+CisgICAgPHRoPjE8L3RoPgorICAgIDx0aD4gIAorICAgICAgPGEgdGl0bGU9IiI+RXNwaW9uYWplPC9hPgorICAgICAgPGEgdGl0bGU9IkZsb3RhIGVuIGVsIHBsYW5ldGEiPihGKTwvYT4KKyAgICA8L3RoPgorICAgIDx0aD4gPGEgdGl0bGU9IlNvbmRhIGRlIGVzcGlvbmFqZTogMyAKKyI+MzwvYT48L3RoPgorICAgIDx0aD5bMjoyNTA6Nl08L3RoPgorICAgIDx0aD5XZWQgQXVnIDkgMTg6MDA6MDI8L3RoPgorICAgIDx0aD5bMjoyNDI6NV08L3RoPgorICAgIDx0aD5XZWQgQXVnIDkgMTg6MDE6MDI8L3RoPgorICAgIDx0aD4KKyAgICAgICAgIDxmb3JtIGFjdGlvbj0iZmxvdHRlbjEucGhwP3Nlc3Npb249ODkxMmFlOTEyZmVjIiBtZXRob2Q9IlBPU1QiPgorCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9yZGVyX3JldHVybiIgdmFsdWU9IjI1MDU0NDkwIiAvPgorICAgICAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iRW52aWFyIGRlIHJlZ3Jlc28iIC8+CisgICAgIDwvZm9ybT4KKyAgICAgICAgICAgIDwvdGg+CisgICA8L3RyPgorICAgPHRyIGhlaWdodD0iMjAiPgorICAgIDx0aD4yPC90aD4KKyAgICA8dGg+ICAKKyAgICAgIDxhIHRpdGxlPSIiPkVzcGlvbmFqZTwvYT4KKyAgICAgIDxhIHRpdGxlPSJWb2x2ZXIgYWwgcGxhbmV0YSI+KFYpPC9hPgorICAgIDwvdGg+CisgICAgPHRoPiA8YSB0aXRsZT0iU29uZGEgZGUgZXNwaW9uYWplOiAzIAorIj4zPC9hPjwvdGg+CisgICAgPHRoPlsyOjI1MDo2XTwvdGg+CisgICAgPHRoPldlZCBBdWcgOSAxNzo1OTo1NTwvdGg+CisgICAgPHRoPlsyOjI0MjoxXTwvdGg+CisgICAgPHRoPldlZCBBdWcgOSAxODowMTo1NTwvdGg+CisgICAgPHRoPgorICAgICAgICAgICAgPC90aD4KKyAgIDwvdHI+CisgIDwvdGFibGU+CisKKworICAKKzxmb3JtIGFjdGlvbj0iZmxvdHRlbjIucGhwP3Nlc3Npb249ODkxMmFlOTEyZmVjIiBtZXRob2Q9IlBPU1QiPgorICA8dGFibGUgd2lkdGg9IjUxOSIgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjEiPgorICAgICAgIDx0ciBoZWlnaHQ9IjIwIj4KKyAgPHRkIGNvbHNwYW49IjQiIGNsYXNzPSJjIj5OdWV2YSBtaXNp8246IGVsZWdpciBuYXZlczwvdGQ+CisgICA8L3RyPgorICAgPHRyIGhlaWdodD0iMjAiPgorICA8dGg+TmF2ZXM8L3RoPgorICA8dGg+RGlzcG9uaWJsZXM8L3RoPgorPCEtLSAgICA8dGg+R2VzY2guPC90aD4gLS0+CisgICAgPHRoPi08L3RoPgorICAgIDx0aD4tPC90aD4KKyAgIDwvdHI+CisgICA8dHIgaGVpZ2h0PSIyMCI+CisgICAgPHRoPjxhIHRpdGxlPSJWZWxvY2lkYWQ6IDg1MDAiPk5hdmUgcGVxdWXxYSBkZSBjYXJnYTwvYT48L3RoPiAKKyAgICA8dGg+MTA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJtYXhzaGlwMjAyIiB2YWx1ZT0iMTAiLz48L3RoPgorPCEtLSAgICA8dGg+ODUwMCAtLT4KKyAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iY29uc3VtcHRpb24yMDIiIHZhbHVlPSIxMCIvPgorICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJzcGVlZDIwMiIgdmFsdWU9Ijg1MDAiIC8+PC90aD4KKyAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iY2FwYWNpdHkyMDIiIHZhbHVlPSI1MDAwIiAvPjwvdGg+CisgICAgIDx0aD48YSBocmVmPSJqYXZhc2NyaXB0Om1heFNoaXAoJ3NoaXAyMDInKTsiID5t4Xg8L2E+IDwvdGg+CisgICAgIDx0aD48aW5wdXQgbmFtZT0ic2hpcDIwMiIgc2l6ZT0iMTAiIHZhbHVlPSIwIiBhbHQ9Ik5hdmUgcGVxdWXxYSBkZSBjYXJnYSAxMCIvPjwvdGg+CisgICA8L3RyPgorICAgPHRyIGhlaWdodD0iMjAiPgorICAgIDx0aD48YSB0aXRsZT0iVmVsb2NpZGFkOiAxMjc1MCI+TmF2ZSBncmFuZGUgZGUgY2FyZ2E8L2E+PC90aD4gCisgICAgPHRoPjE5PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ibWF4c2hpcDIwMyIgdmFsdWU9IjE5Ii8+PC90aD4KKzwhLS0gICAgPHRoPjEyNzUwIC0tPgorICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJjb25zdW1wdGlvbjIwMyIgdmFsdWU9IjUwIi8+CisgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InNwZWVkMjAzIiB2YWx1ZT0iMTI3NTAiIC8+PC90aD4KKyAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iY2FwYWNpdHkyMDMiIHZhbHVlPSIyNTAwMCIgLz48L3RoPgorICAgICA8dGg+PGEgaHJlZj0iamF2YXNjcmlwdDptYXhTaGlwKCdzaGlwMjAzJyk7IiA+beF4PC9hPiA8L3RoPgorICAgICA8dGg+PGlucHV0IG5hbWU9InNoaXAyMDMiIHNpemU9IjEwIiB2YWx1ZT0iMCIgYWx0PSJOYXZlIGdyYW5kZSBkZSBjYXJnYSAxOSIvPjwvdGg+CisgICA8L3RyPgorICAgPHRyIGhlaWdodD0iMjAiPgorICAgIDx0aD48YSB0aXRsZT0iVmVsb2NpZGFkOiAyNzAwMCI+Q3J1Y2VybzwvYT48L3RoPiAKKyAgICA8dGg+NjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im1heHNoaXAyMDYiIHZhbHVlPSI2Ii8+PC90aD4KKzwhLS0gICAgPHRoPjI3MDAwIC0tPgorICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJjb25zdW1wdGlvbjIwNiIgdmFsdWU9IjMwMCIvPgorICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJzcGVlZDIwNiIgdmFsdWU9IjI3MDAwIiAvPjwvdGg+CisgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImNhcGFjaXR5MjA2IiB2YWx1ZT0iODAwIiAvPjwvdGg+CisgICAgIDx0aD48YSBocmVmPSJqYXZhc2NyaXB0Om1heFNoaXAoJ3NoaXAyMDYnKTsiID5t4Xg8L2E+IDwvdGg+CisgICAgIDx0aD48aW5wdXQgbmFtZT0ic2hpcDIwNiIgc2l6ZT0iMTAiIHZhbHVlPSIwIiBhbHQ9IkNydWNlcm8gNiIvPjwvdGg+CisgICA8L3RyPgorICAgPHRyIGhlaWdodD0iMjAiPgorICAgIDx0aD48YSB0aXRsZT0iVmVsb2NpZGFkOiAzNDAwIj5SZWNpY2xhZG9yPC9hPjwvdGg+IAorICAgIDx0aD4xPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ibWF4c2hpcDIwOSIgdmFsdWU9IjEiLz48L3RoPgorPCEtLSAgICA8dGg+MzQwMCAtLT4KKyAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iY29uc3VtcHRpb24yMDkiIHZhbHVlPSIzMDAiLz4KKyAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ic3BlZWQyMDkiIHZhbHVlPSIzNDAwIiAvPjwvdGg+CisgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImNhcGFjaXR5MjA5IiB2YWx1ZT0iMjAwMDAiIC8+PC90aD4KKyAgICAgPHRoPjxhIGhyZWY9ImphdmFzY3JpcHQ6bWF4U2hpcCgnc2hpcDIwOScpOyIgPm3heDwvYT4gPC90aD4KKyAgICAgPHRoPjxpbnB1dCBuYW1lPSJzaGlwMjA5IiBzaXplPSIxMCIgdmFsdWU9IjAiIGFsdD0iUmVjaWNsYWRvciAxIi8+PC90aD4KKyAgIDwvdHI+CisgICA8dHIgaGVpZ2h0PSIyMCI+CisgICAgPHRoPjxhIHRpdGxlPSJWZWxvY2lkYWQ6IDE3MDAwMDAwMCI+U29uZGEgZGUgZXNwaW9uYWplPC9hPjwvdGg+IAorICAgIDx0aD4xMzk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJtYXhzaGlwMjEwIiB2YWx1ZT0iMTM5Ii8+PC90aD4KKzwhLS0gICAgPHRoPjE3MDAwMDAwMCAtLT4KKyAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iY29uc3VtcHRpb24yMTAiIHZhbHVlPSIxIi8+CisgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InNwZWVkMjEwIiB2YWx1ZT0iMTcwMDAwMDAwIiAvPjwvdGg+CisgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImNhcGFjaXR5MjEwIiB2YWx1ZT0iNSIgLz48L3RoPgorICAgICA8dGg+PGEgaHJlZj0iamF2YXNjcmlwdDptYXhTaGlwKCdzaGlwMjEwJyk7IiA+beF4PC9hPiA8L3RoPgorICAgICA8dGg+PGlucHV0IG5hbWU9InNoaXAyMTAiIHNpemU9IjEwIiB2YWx1ZT0iMCIgYWx0PSJTb25kYSBkZSBlc3Bpb25hamUgMTM5Ii8+PC90aD4KKyAgIDwvdHI+CisgICA8dHIgaGVpZ2h0PSIyMCI+CisgIDx0aCBjb2xzcGFuPSIyIj48YSBocmVmPSJqYXZhc2NyaXB0Om5vU2hpcHMoKTsiID5OaW5ndW5hIG5hdmU8L2E+PC90aD4KKyAgPHRoIGNvbHNwYW49IjIiPjxhIGhyZWY9ImphdmFzY3JpcHQ6bWF4U2hpcHMoKTsiID5Ub2RhcyBsYXMgbmF2ZXM8L2E+PC90aD4KKyAgIDwvdHI+CisgICAgPHRyIGhlaWdodD0iMjAiPgorICAgIDx0aCBjb2xzcGFuPSI0Ij48aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iQ29udGludWFyIiAvPjwvdGg+CisgICA8L3RyPgorPHRyPjx0aCBjb2xzcGFuPTQ+Cis8aWZyYW1lIGlkPSdhNDRmYjUyMicgbmFtZT0nYTQ0ZmI1MjInIHNyYz0naHR0cDovL2Fkcy5nYW1lZm9yZ2VhZHMuZGUvYWRmcmFtZS5waHA/bj1hNDRmYjUyMiZhbXA7d2hhdD16b25lOjU3OCcgZnJhbWVzcGFjaW5nPScwJyBmcmFtZWJvcmRlcj0nbm8nIHNjcm9sbGluZz0nbm8nIHdpZHRoPSc0NjgnIGhlaWdodD0nNjAnPjwvaWZyYW1lPgorPGJyPjxjZW50ZXI+PC9jZW50ZXI+PC9icj4KKzwvdGg+PC90cj4KKzwvZm9ybT4KKzwvdGFibGU+CisgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9zZ21sbGliLnB5IGIvTGliL3Rlc3QvdGVzdF9zZ21sbGliLnB5CmluZGV4IDI4YTIxYTQuLmI2OTg2MzYgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3Rfc2dtbGxpYi5weQorKysgYi9MaWIvdGVzdC90ZXN0X3NnbWxsaWIucHkKQEAgLTI4NiwyMSArMjg2LDYgQEAKICAgICAgICAgICAgICgnY29kZXBvaW50JywgJ2NvbnZlcnQnLCA0MiksCiAgICAgICAgICAgICBdKQogCi0gICAgZGVmIHRlc3RfYXR0cl92YWx1ZXNfcXVvdGVkX21hcmt1cChzZWxmKToKLSAgICAgICAgIiIiTXVsdGktbGluZSBhbmQgbWFya3VwIGluIGF0dHJpYnV0ZSB2YWx1ZXMiIiIKLSAgICAgICAgc2VsZi5jaGVja19ldmVudHMoIiIiPGEgdGl0bGU9J2Zvb1xuPGJyPmJhcic+dGV4dDwvYT4iIiIsCi0gICAgICAgICAgICBbKCJzdGFydHRhZyIsICJhIiwgWygidGl0bGUiLCAiZm9vXG48YnI+YmFyIildKSwKLSAgICAgICAgICAgICAoImRhdGEiLCAidGV4dCIpLAotICAgICAgICAgICAgICgiZW5kdGFnIiwgImEiKV0pCi0gICAgICAgIHNlbGYuY2hlY2tfZXZlbnRzKCIiIjxhIHRpdGxlPSdsZXNzIDwgdGhhbic+dGV4dDwvYT4iIiIsCi0gICAgICAgICAgICBbKCJzdGFydHRhZyIsICJhIiwgWygidGl0bGUiLCAibGVzcyA8IHRoYW4iKV0pLAotICAgICAgICAgICAgICgiZGF0YSIsICJ0ZXh0IiksCi0gICAgICAgICAgICAgKCJlbmR0YWciLCAiYSIpXSkKLSAgICAgICAgc2VsZi5jaGVja19ldmVudHMoIiIiPGEgdGl0bGU9J2dyZWF0ZXIgPiB0aGFuJz50ZXh0PC9hPiIiIiwKLSAgICAgICAgICAgIFsoInN0YXJ0dGFnIiwgImEiLCBbKCJ0aXRsZSIsICJncmVhdGVyID4gdGhhbiIpXSksCi0gICAgICAgICAgICAgKCJkYXRhIiwgInRleHQiKSwKLSAgICAgICAgICAgICAoImVuZHRhZyIsICJhIildKQotCiAgICAgZGVmIHRlc3RfYXR0cl9mdW5reV9uYW1lcyhzZWxmKToKICAgICAgICAgc2VsZi5jaGVja19ldmVudHMoIiIiPGEgYS5iPSd2JyBjOmQ9diBlLWY9dj4iIiIsIFsKICAgICAgICAgICAgICgic3RhcnR0YWciLCAiYSIsIFsoImEuYiIsICJ2IiksICgiYzpkIiwgInYiKSwgKCJlLWYiLCAidiIpXSksCkBAIC0zNzYsNiArMzYxLDE5IEBACiAgICAgICAgICAgICAoJ2RlY2wnLCAnRE9DVFlQRSBkb2MgWzwhQVRUTElTVCBkb2MgYXR0ciAoYSB8IGIpID5dJyksCiAgICAgICAgICAgICBdKQogCisgICAgZGVmIHRlc3RfcmVhZF9jaHVua3Moc2VsZik6CisgICAgICAgICMgU0YgYnVnICMxNTQxNjk3LCB0aGlzIGNhdXNlZCBzZ21sIHBhcnNlciB0byBoYW5nCisgICAgICAgICMgSnVzdCB2ZXJpZnkgdGhpcyBjb2RlIGRvZXNuJ3QgY2F1c2UgYSBoYW5nLgorICAgICAgICBDSFVOSyA9IDEwMjQgICMgaW5jcmVhc2luZyB0aGlzIHRvIDgyMTIgbWFrZXMgdGhlIHByb2JsZW0gZ28gYXdheQorCisgICAgICAgIGYgPSBvcGVuKHRlc3Rfc3VwcG9ydC5maW5kZmlsZSgnc2dtbF9pbnB1dC5odG1sJykpCisgICAgICAgIGZwID0gc2dtbGxpYi5TR01MUGFyc2VyKCkKKyAgICAgICAgd2hpbGUgMToKKyAgICAgICAgICAgIGRhdGEgPSBmLnJlYWQoQ0hVTkspCisgICAgICAgICAgICBmcC5mZWVkKGRhdGEpCisgICAgICAgICAgICBpZiBsZW4oZGF0YSkgIT0gQ0hVTks6CisgICAgICAgICAgICAgICAgYnJlYWsKKwogICAgICMgWFhYIFRoZXNlIHRlc3RzIGhhdmUgYmVlbiBkaXNhYmxlZCBieSBwcmVmaXhpbmcgdGhlaXIgbmFtZXMgd2l0aAogICAgICMgYW4gdW5kZXJzY29yZS4gIFRoZSBmaXJzdCB0d28gZXhlcmNpc2Ugb3V0c3RhbmRpbmcgYnVncyBpbiB0aGUKICAgICAjIHNnbWxsaWIgbW9kdWxlLCBhbmQgdGhlIHRoaXJkIGV4aGliaXRzIHF1ZXN0aW9uYWJsZSBiZWhhdmlvcgo=