REDROOM
PHP 8.2.30
Path:
Logout
Edit File
Size: 389.99 KB
Close
/proc/thread-self/root/proc/thread-self/root/var/softaculous/ostic/language/nl.phar
Text
Base64
PD9waHAgX19IQUxUX0NPTVBJTEVSKCk7ID8+DQpjFgAAZwAAABEAAAABAAAAAAAAAAAACwAAAGNvbmZpZy55YW1sLAkAAAAAAAAsCQAAvUeaVrQBAAAAAAAADwAAAGRlcGFydG1lbnQueWFtbH4DAAAAAAAAfgMAAIEAUoi0AQAAAAAAABkAAABlbWFpbF90ZW1wbGF0ZV9ncm91cC55YW1sXgIAAAAAAABeAgAAAU4EE7QBAAAAAAAACgAAAGV2ZW50LnlhbWy2AwAAAAAAALYDAACXGP+VtAEAAAAAAAAJAAAAZmlsZS55YW1sSDYAAAAAAABINgAAO92/f7QBAAAAAAAACwAAAGZpbHRlci55YW1sAgUAAAAAAAACBQAAj/XEu7QBAAAAAAAACQAAAGZvcm0ueWFtbB4WAAAAAAAAHhYAALJDpZS0AQAAAAAAAAoAAABncm91cC55YW1sFgQAAAAAAAAWBAAAmEPnwbQBAAAAAAAADwAAAGhlbHBfdG9waWMueWFtbCwGAAAAAAAALAYAAACvZc20AQAAAAAAAAkAAABsaXN0LnlhbWygBgAAAAAAAKAGAAC/qgJNtAEAAAAAAAARAAAAb3JnYW5pemF0aW9uLnlhbWymAgAAAAAAAKYCAABQQKPbtAEAAAAAAAANAAAAcHJpb3JpdHkueWFtbLYBAAAAAAAAtgEAAAIuXmS0AQAAAAAAABEAAABxdWV1ZV9jb2x1bW4ueWFtbDcMAAAAAAAANwwAAB5DJZO0AQAAAAAAAA8AAABxdWV1ZV9zb3J0LnlhbWx9AgAAAAAAAH0CAAB1+aydtAEAAAAAAAAKAAAAcXVldWUueWFtbIYwAAAAAAAAhjAAABtin2i0AQAAAAAAAAkAAAByb2xlLnlhbWyGBgAAAAAAAIYGAADt+xP8tAEAAAAAAAANAAAAc2NoZWR1bGUueWFtbGYOAAAAAAAAZg4AACzOW4G0AQAAAAAAAA0AAABzZXF1ZW5jZS55YW1sEgMAAAAAAAASAwAAp9kWMrQBAAAAAAAACAAAAHNsYS55YW1sgQMAAAAAAACBAwAAwAzgBbQBAAAAAAAACQAAAHRlYW0ueWFtbKYBAAAAAAAApgEAAHBDFhq0AQAAAAAAABIAAAB0aWNrZXRfc3RhdHVzLnlhbWxBBQAAAAAAAEEFAAAW6LD+tAEAAAAAAAAjAAAAaGVscC90aXBzL2Rhc2hib2FyZC5hdWRpdF9sb2dzLnlhbWwhBAAAAAAAACEEAACPxOyMtAEAAAAAAAAiAAAAaGVscC90aXBzL2Rhc2hib2FyZC5kYXNoYm9hcmQueWFtbHYMAAAAAAAAdgwAAHbYix20AQAAAAAAACMAAABoZWxwL3RpcHMvZGFzaGJvYXJkLm15X3Byb2ZpbGUueWFtbGQKAAAAAAAAZAoAAG4wD/60AQAAAAAAACgAAABoZWxwL3RpcHMvZGFzaGJvYXJkLnN0YWZmX2RpcmVjdG9yeS55YW1sdwQAAAAAAAB3BAAAqdhmPbQBAAAAAAAAJAAAAGhlbHAvdGlwcy9kYXNoYm9hcmQuc3lzdGVtX2xvZ3MueWFtbOcJAAAAAAAA5wkAAOtKvG+0AQAAAAAAAB0AAABoZWxwL3RpcHMvZW1haWxzLmJhbmxpc3QueWFtbJECAAAAAAAAkQIAANCOknK0AQAAAAAAACAAAABoZWxwL3RpcHMvZW1haWxzLmRpYWdub3N0aWMueWFtbJMDAAAAAAAAkwMAAKn9En20AQAAAAAAABsAAABoZWxwL3RpcHMvZW1haWxzLmVtYWlsLnlhbWyWGAAAAAAAAJYYAACfsDwstAEAAAAAAAAeAAAAaGVscC90aXBzL2VtYWlscy50ZW1wbGF0ZS55YW1s5QUAAAAAAADlBQAAZ0JaqrQBAAAAAAAAFAAAAGhlbHAvdGlwcy9mb3Jtcy55YW1slA4AAAAAAACUDgAAHnmDhrQBAAAAAAAAFgAAAGhlbHAvdGlwcy9pbnN0YWxsLnlhbWzYCQAAAAAAANgJAAAQyKZktAEAAAAAAAAsAAAAaGVscC90aXBzL2tub3dsZWRnZWJhc2UuY2FubmVkX3Jlc3BvbnNlLnlhbWzjBAAAAAAAAOMEAADWpL5btAEAAAAAAAAlAAAAaGVscC90aXBzL2tub3dsZWRnZWJhc2UuY2F0ZWdvcnkueWFtbPUBAAAAAAAA9QEAAOkFE3e0AQAAAAAAACAAAABoZWxwL3RpcHMva25vd2xlZGdlYmFzZS5mYXEueWFtbFMDAAAAAAAAUwMAAKDnluW0AQAAAAAAAB4AAABoZWxwL3RpcHMvbWFuYWdlLmFwaV9rZXlzLnlhbWxFBAAAAAAAAEUEAACa6QPmtAEAAAAAAAAhAAAAaGVscC90aXBzL21hbmFnZS5jdXN0b21fbGlzdC55YW1slgYAAAAAAACWBgAA69EfybQBAAAAAAAAHAAAAGhlbHAvdGlwcy9tYW5hZ2UuZmlsdGVyLnlhbWweFQAAAAAAAB4VAACrfKkctAEAAAAAAAAfAAAAaGVscC90aXBzL21hbmFnZS5oZWxwdG9waWMueWFtbKYQAAAAAAAAphAAAPhP30K0AQAAAAAAABsAAABoZWxwL3RpcHMvbWFuYWdlLnBhZ2VzLnlhbWwkBQAAAAAAACQFAABkf7xQtAEAAAAAAAAeAAAAaGVscC90aXBzL21hbmFnZS5zY2hlZHVsZS55YW1sRAQAAAAAAABEBAAAs6I5bbQBAAAAAAAAGQAAAGhlbHAvdGlwcy9tYW5hZ2Uuc2xhLnlhbWw/BgAAAAAAAD8GAABxTXnstAEAAAAAAAASAAAAaGVscC90aXBzL29yZy55YW1sXQQAAAAAAABdBAAA9BXJb7QBAAAAAAAAHgAAAGhlbHAvdGlwcy9zZXR0aW5ncy5hZ2VudHMueWFtbHsMAAAAAAAAewwAAObl2cC0AQAAAAAAAB4AAABoZWxwL3RpcHMvc2V0dGluZ3MuYWxlcnRzLnlhbWxrDAAAAAAAAGsMAAAXfGxptAEAAAAAAAAlAAAAaGVscC90aXBzL3NldHRpbmdzLmF1dG9yZXNwb25kZXIueWFtbEwIAAAAAAAATAgAAB3EVaS0AQAAAAAAAB0AAABoZWxwL3RpcHMvc2V0dGluZ3MuZW1haWwueWFtbLkTAAAAAAAAuRMAALk9pyW0AQAAAAAAABoAAABoZWxwL3RpcHMvc2V0dGluZ3Mua2IueWFtbAUGAAAAAAAABQYAAOh+bQ60AQAAAAAAAB0AAABoZWxwL3RpcHMvc2V0dGluZ3MucGFnZXMueWFtbFoKAAAAAAAAWgoAAOLbQEi0AQAAAAAAAB4AAABoZWxwL3RpcHMvc2V0dGluZ3Muc3lzdGVtLnlhbWyNIgAAAAAAAI0iAACwD/uktAEAAAAAAAAdAAAAaGVscC90aXBzL3NldHRpbmdzLnRhc2tzLnlhbWzaDQAAAAAAANoNAAAOA/D0tAEAAAAAAAAeAAAAaGVscC90aXBzL3NldHRpbmdzLnRpY2tldC55YW1sRBcAAAAAAABEFwAAfALlIbQBAAAAAAAAHQAAAGhlbHAvdGlwcy9zZXR0aW5ncy51c2Vycy55YW1sVA0AAAAAAABUDQAA22jQu7QBAAAAAAAAGgAAAGhlbHAvdGlwcy9zdGFmZi5hZ2VudC55YW1srhEAAAAAAACuEQAANLTKh7QBAAAAAAAAGwAAAGhlbHAvdGlwcy9zdGFmZi5hZ2VudHMueWFtbM8BAAAAAAAAzwEAADqJZEy0AQAAAAAAAB8AAABoZWxwL3RpcHMvc3RhZmYuZGVwYXJ0bWVudC55YW1sPBEAAAAAAAA8EQAAMRJnSLQBAAAAAAAAIAAAAGhlbHAvdGlwcy9zdGFmZi5kZXBhcnRtZW50cy55YW1s1AMAAAAAAADUAwAAaxKVRrQBAAAAAAAAGwAAAGhlbHAvdGlwcy9zdGFmZi5ncm91cHMueWFtbFwEAAAAAAAAXAQAAE+cEke0AQAAAAAAACIAAABoZWxwL3RpcHMvc3RhZmYuc3RhZmZfbWVtYmVycy55YW1s/QMAAAAAAAD9AwAA0XvWf7QBAAAAAAAAGQAAAGhlbHAvdGlwcy9zdGFmZi50ZWFtLnlhbWz/BgAAAAAAAP8GAAChhTFgtAEAAAAAAAAUAAAAaGVscC90aXBzL3N0YWZmLnlhbWw9BAAAAAAAAD0EAADuRzentAEAAAAAAAAaAAAAaGVscC90aXBzL3Rhc2tzLnF1ZXVlLnlhbWyUAwAAAAAAAJQDAAAtMf6ttAEAAAAAAAAcAAAAaGVscC90aXBzL3RpY2tldHMucXVldWUueWFtbJQKAAAAAAAAlAoAANYBWWy0AQAAAAAAABYAAAB0ZW1wbGF0ZXMvcHJlbWFkZS55YW1s1AIAAAAAAADUAgAAzopIe7QBAAAAAAAAIwAAAHRlbXBsYXRlcy9lbWFpbC9hc3NpZ25lZC5hbGVydC55YW1sNwUAAAAAAAA3BQAACZyv7bQBAAAAAAAAIgAAAHRlbXBsYXRlcy9lbWFpbC9tZXNzYWdlLmFsZXJ0LnlhbWyyBQAAAAAAALIFAAA3YA/QtAEAAAAAAAAlAAAAdGVtcGxhdGVzL2VtYWlsL21lc3NhZ2UuYXV0b3Jlc3AueWFtbPMDAAAAAAAA8wMAAGqD1T60AQAAAAAAAB8AAAB0ZW1wbGF0ZXMvZW1haWwvbm90ZS5hbGVydC55YW1s0wQAAAAAAADTBAAAThMWXLQBAAAAAAAAKAAAAHRlbXBsYXRlcy9lbWFpbC90YXNrLmFjdGl2aXR5LmFsZXJ0LnlhbWyUBAAAAAAAAJQEAAA6b4tEtAEAAAAAAAApAAAAdGVtcGxhdGVzL2VtYWlsL3Rhc2suYWN0aXZpdHkubm90aWNlLnlhbWzLAgAAAAAAAMsCAABMYZX3tAEAAAAAAAAfAAAAdGVtcGxhdGVzL2VtYWlsL3Rhc2suYWxlcnQueWFtbKcDAAAAAAAApwMAAJbLLCu0AQAAAAAAACoAAAB0ZW1wbGF0ZXMvZW1haWwvdGFzay5hc3NpZ25tZW50LmFsZXJ0LnlhbWzIAwAAAAAAAMgDAAB+ofJStAEAAAAAAAAnAAAAdGVtcGxhdGVzL2VtYWlsL3Rhc2sub3ZlcmR1ZS5hbGVydC55YW1sywQAAAAAAADLBAAAbbpvMbQBAAAAAAAAKAAAAHRlbXBsYXRlcy9lbWFpbC90YXNrLnRyYW5zZmVyLmFsZXJ0LnlhbWydAwAAAAAAAJ0DAADS95QBtAEAAAAAAAArAAAAdGVtcGxhdGVzL2VtYWlsL3RpY2tldC5hY3Rpdml0eS5ub3RpY2UueWFtbLIDAAAAAAAAsgMAAIWb7kW0AQAAAAAAACEAAAB0ZW1wbGF0ZXMvZW1haWwvdGlja2V0LmFsZXJ0LnlhbWzCBAAAAAAAAMIEAADVhaO2tAEAAAAAAAAlAAAAdGVtcGxhdGVzL2VtYWlsL3RpY2tldC5hdXRvcmVwbHkueWFtbA4FAAAAAAAADgUAAJ60Uuy0AQAAAAAAACQAAAB0ZW1wbGF0ZXMvZW1haWwvdGlja2V0LmF1dG9yZXNwLnlhbWwfBAAAAAAAAB8EAABuxijztAEAAAAAAAAiAAAAdGVtcGxhdGVzL2VtYWlsL3RpY2tldC5ub3RpY2UueWFtbL0FAAAAAAAAvQUAAJwuTh20AQAAAAAAACMAAAB0ZW1wbGF0ZXMvZW1haWwvdGlja2V0Lm92ZXJkdWUueWFtbFUFAAAAAAAAVQUAAOj4L520AQAAAAAAACUAAAB0ZW1wbGF0ZXMvZW1haWwvdGlja2V0Lm92ZXJsaW1pdC55YW1szwMAAAAAAADPAwAAztIZk7QBAAAAAAAAIQAAAHRlbXBsYXRlcy9lbWFpbC90aWNrZXQucmVwbHkueWFtbLADAAAAAAAAsAMAAFphotW0AQAAAAAAACMAAAB0ZW1wbGF0ZXMvZW1haWwvdHJhbnNmZXIuYWxlcnQueWFtbDgEAAAAAAAAOAQAAKahPSy0AQAAAAAAAB8AAAB0ZW1wbGF0ZXMvcGFnZS9hY2Nlc3MtbGluay55YW1sFwQAAAAAAAAXBAAA2fOlWLQBAAAAAAAAIQAAAHRlbXBsYXRlcy9wYWdlL2Jhbm5lci1jbGllbnQueWFtbLgBAAAAAAAAuAEAADC1pji0AQAAAAAAACAAAAB0ZW1wbGF0ZXMvcGFnZS9iYW5uZXItc3RhZmYueWFtbJgBAAAAAAAAmAEAACz+i2i0AQAAAAAAACIAAAB0ZW1wbGF0ZXMvcGFnZS9lbWFpbDJmYS1zdGFmZi55YW1s5AIAAAAAAADkAgAA+UvDNLQBAAAAAAAAGwAAAHRlbXBsYXRlcy9wYWdlL2xhbmRpbmcueWFtbH0DAAAAAAAAfQMAAMTUA8i0AQAAAAAAABsAAAB0ZW1wbGF0ZXMvcGFnZS9vZmZsaW5lLnlhbWz5AQAAAAAAAPkBAADcE2A/tAEAAAAAAAAiAAAAdGVtcGxhdGVzL3BhZ2UvcHdyZXNldC1jbGllbnQueWFtbAoEAAAAAAAACgQAAMBjWdK0AQAAAAAAACEAAAB0ZW1wbGF0ZXMvcGFnZS9wd3Jlc2V0LXN0YWZmLnlhbWx3BAAAAAAAAHcEAAAgcUMltAEAAAAAAAAnAAAAdGVtcGxhdGVzL3BhZ2UvcmVnaXN0cmF0aW9uLWNsaWVudC55YW1sjAMAAAAAAACMAwAAIjhB/LQBAAAAAAAAKAAAAHRlbXBsYXRlcy9wYWdlL3JlZ2lzdHJhdGlvbi1jb25maXJtLnlhbWxGAwAAAAAAAEYDAABtsktetAEAAAAAAAAmAAAAdGVtcGxhdGVzL3BhZ2UvcmVnaXN0cmF0aW9uLXN0YWZmLnlhbWzNAgAAAAAAAM0CAAAFE9vztAEAAAAAAAAnAAAAdGVtcGxhdGVzL3BhZ2UvcmVnaXN0cmF0aW9uLXRoYW5rcy55YW1sJgMAAAAAAAAmAwAAbRRBKbQBAAAAAAAAHQAAAHRlbXBsYXRlcy9wYWdlL3RoYW5rLXlvdS55YW1sIwIAAAAAAAAjAgAA8JrGhrQBAAAAAAAAHwAAAHRlbXBsYXRlcy90aWNrZXQvaW5zdGFsbGVkLnlhbWyNBwAAAAAAAI0HAAB3Zkz2tAEAAAAAAAAeAAAAdGVtcGxhdGVzL3RpY2tldC91cGdyYWRlZC55YW1sLAYAAAAAAAAsBgAArVf+8LQBAAAAAAAADgAAAGpzL3JlZGFjdG9yLmpz1wcAAAAAAADXBwAAvB6XU7QBAAAAAAAAGgAAAGpzL2pxdWVyeS51aS5kYXRlcGlja2VyLmpzzwQAAAAAAADPBAAAzFh28LQBAAAAAAAAGwAAAExDX01FU1NBR0VTL21lc3NhZ2VzLm1vLnBocI7lAgAAAAAAjuUCAEg9fta0AQAAAAAAABYAAABqcy9vc3RpY2tldC1zdHJpbmdzLmpzOQ4AAAAAAAA5DgAAexxOFbQBAAAAAAAADAAAAE1BTklGRVNULnBocBoBAAAAAAAAGgEAAHBXPmu0AQAAAAAAACNEZWZhdWx0IGNvbmZpZ3VyYXRpb24uIFRoZSBmb3JtYXQgaXMga2V5OiB2YWx1ZSBhbmQgdGhlIGRhdGEgd2lsbCBiZQojaW5zZXJ0ZWQgaW50byB0aGUgJWNvbmZpZyB0YWJsZSBhdCBpbnN0YWxsIHRpbWUKLS0tCmNvcmU6CiAgdGltZV9mb3JtYXQ6ICdIOm1tJwogIGRhdGVfZm9ybWF0OiAnZGQtTU0teScKICBkYXRldGltZV9mb3JtYXQ6ICdkZC1NTS15IEg6bW0nCiAgZGF5ZGF0ZXRpbWVfZm9ybWF0OiAnY2NjYyBkZCBNTU1NIHkgSDptbScKICBkZWZhdWx0X3ByaW9yaXR5X2lkOiAyCiAgZW5hYmxlX2RheWxpZ2h0X3NhdmluZzogMAogIHJlcGx5X3NlcGFyYXRvcjogJy0tYW50d29vcmQgYm92ZW4gZGV6ZSByZWdlbC0tJwogICNEbyBub3QgdHJhbnNsYXRlIGJlbG93IGhlcmUKICBpc29ubGluZTogMQogIHN0YWZmX2lwX2JpbmRpbmc6IDAKICBzdGFmZl9tYXhfbG9naW5zOiA0CiAgc3RhZmZfbG9naW5fdGltZW91dDogMgogIHN0YWZmX3Nlc3Npb25fdGltZW91dDogMzAKICBwYXNzd2RfcmVzZXRfcGVyaW9kOiAwCiAgY2xpZW50X21heF9sb2dpbnM6IDQKICBjbGllbnRfbG9naW5fdGltZW91dDogMgogIGNsaWVudF9zZXNzaW9uX3RpbWVvdXQ6IDMwCiAgbWF4X3BhZ2Vfc2l6ZTogMjUKICBtYXhfb3Blbl90aWNrZXRzOiAwCiAgYXV0b2xvY2tfbWludXRlczogMwogIGRlZmF1bHRfc210cF9pZDogMAogIHVzZV9lbWFpbF9wcmlvcml0eTogMAogIGVuYWJsZV9rYjogMAogIGVuYWJsZV9wcmVtYWRlOiAxCiAgZW5hYmxlX2NhcHRjaGE6IDAKICBlbmFibGVfYXV0b19jcm9uOiAwCiAgZW5hYmxlX21haWxfcG9sbGluZzogMAogIHNlbmRfc3lzX2Vycm9yczogMQogIHNlbmRfc3FsX2Vycm9yczogMQogIHNlbmRfbG9naW5fZXJyb3JzOiAxCiAgc2F2ZV9lbWFpbF9oZWFkZXJzOiAxCiAgc3RyaXBfcXVvdGVkX3JlcGx5OiAxCiAgdGlja2V0X2F1dG9yZXNwb25kZXI6IDAKICBtZXNzYWdlX2F1dG9yZXNwb25kZXI6IDAKICB0aWNrZXRfbm90aWNlX2FjdGl2ZTogMQogIHRpY2tldF9hbGVydF9hY3RpdmU6IDEKICB0aWNrZXRfYWxlcnRfYWRtaW46IDEKICB0aWNrZXRfYWxlcnRfZGVwdF9tYW5hZ2VyOiAxCiAgdGlja2V0X2FsZXJ0X2RlcHRfbWVtYmVyczogMAogIG1lc3NhZ2VfYWxlcnRfYWN0aXZlOiAxCiAgbWVzc2FnZV9hbGVydF9sYXN0c3RhZmY6IDEKICBtZXNzYWdlX2FsZXJ0X2Fzc2lnbmVkOiAxCiAgbWVzc2FnZV9hbGVydF9kZXB0X21hbmFnZXI6IDAKICBub3RlX2FsZXJ0X2FjdGl2ZTogMAogIG5vdGVfYWxlcnRfbGFzdHN0YWZmOiAxCiAgbm90ZV9hbGVydF9hc3NpZ25lZDogMQogIG5vdGVfYWxlcnRfZGVwdF9tYW5hZ2VyOiAwCiAgdHJhbnNmZXJfYWxlcnRfYWN0aXZlOiAwCiAgdHJhbnNmZXJfYWxlcnRfYXNzaWduZWQ6IDAKICB0cmFuc2Zlcl9hbGVydF9kZXB0X21hbmFnZXI6IDEKICB0cmFuc2Zlcl9hbGVydF9kZXB0X21lbWJlcnM6IDAKICBvdmVyZHVlX2FsZXJ0X2FjdGl2ZTogMQogIG92ZXJkdWVfYWxlcnRfYXNzaWduZWQ6IDEKICBvdmVyZHVlX2FsZXJ0X2RlcHRfbWFuYWdlcjogMQogIG92ZXJkdWVfYWxlcnRfZGVwdF9tZW1iZXJzOiAwCiAgYXNzaWduZWRfYWxlcnRfYWN0aXZlOiAxCiAgYXNzaWduZWRfYWxlcnRfc3RhZmY6IDEKICBhc3NpZ25lZF9hbGVydF90ZWFtX2xlYWQ6IDAKICBhc3NpZ25lZF9hbGVydF90ZWFtX21lbWJlcnM6IDAKICBhdXRvX2NsYWltX3RpY2tldHM6IDEKICBhdXRvX3JlZmVyX2Nsb3NlZDogMQogIGNvbGxhYm9yYXRvcl90aWNrZXRfdmlzaWJpbGl0eTogMQogIHJlcXVpcmVfdG9waWNfdG9fY2xvc2U6IDAKICBzaG93X3JlbGF0ZWRfdGlja2V0czogMQogIHNob3dfYXNzaWduZWRfdGlja2V0czogMQogIHNob3dfYW5zd2VyZWRfdGlja2V0czogMAogIGhpZGVfc3RhZmZfbmFtZTogMAogIGRpc2FibGVfYWdlbnRfY29sbGFiczogMAogIG92ZXJsaW1pdF9ub3RpY2VfYWN0aXZlOiAwCiAgZW1haWxfYXR0YWNobWVudHM6IDEKICB0aWNrZXRfbnVtYmVyX2Zvcm1hdDogJyMjIyMjIycKICB0aWNrZXRfc2VxdWVuY2VfaWQ6IDAKICBxdWV1ZV9idWNrZXRfY291bnRzOiAwCiAgYWxsb3dfZXh0ZXJuYWxfaW1hZ2VzOiAwCiAgdGFza19udW1iZXJfZm9ybWF0OiAnIycKICB0YXNrX3NlcXVlbmNlX2lkOiAyCiAgbG9nX2xldmVsOiAyCiAgbG9nX2dyYWNlcGVyaW9kOiAxMgogIGNsaWVudF9yZWdpc3RyYXRpb246ICdwdWJsaWMnCiAgZGVmYXVsdF90aWNrZXRfcXVldWU6IDEKICBlbWJlZGRlZF9kb21haW5fd2hpdGVsaXN0OiAneW91dHViZS5jb20sIGRhaWx5bW90aW9uLmNvbSwgdmltZW8uY29tLCBwbGF5ZXIudmltZW8uY29tLCB3ZWIubWljcm9zb2Z0c3RyZWFtLmNvbScKLSAKICAjRGVwYXJ0bWVudHMgZGVmaW5lZCBpbml0aWFsbHkgZm9yIHRoZSBzeXN0ZW0KICAjRmllbGRzOgogICNpZCAtIChpbnQ6b3B0aW9uYWwpIGlkIG51bWJlciBpbiB0aGUgZGF0YWJhc2UKICAjZmxhZ3MgLSAoYml0bWFzazogMHgwMDA0IEFjdGl2ZSAweDAwMDggQXJjaGl2ZWQpCiAgI25hbWUgLSAoc3RyaW5nKSBTaG9ydCBuYW1lIG9mIHRoZSBkZXBhcnRtZW50CiAgI3NpZ25hdHVyZSAtIChzdHJpbmcpIERlc2NyaXB0aXZlIG5hbWUgb2YgdGhlIGRlcGFydG1lbnQKICAjTk9URTogVGhlIGRlcGFydG1lbnQgbGlzdGVkIGZpcnN0IGJ5IElEIyB3aWxsIGJlIHRoZSBkZWZhdWx0IGRlcGFydG1lbnQKICAjTk9URTogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgI1RoZSB2ZXJ5IGZpcnN0IGdyb3VwIGxpc3RlZCBpbiB0aGlzIGRvY3VtZW50IHdpbGwgYmUgdGhlIHByaW1hcnkKICAjZGVwYXJ0bWVudCBvZiB0aGUgaW5pdGlhbCBzdGFmZiBtZW1iZXIgLS0gdGhlIGFkbWluaXN0cmF0b3IuCi0tLQogIGlkOiAxCiAgbmFtZTogU3VwcG9ydAogIHNpZ25hdHVyZTogfAogICAgU3VwcG9ydCBhZmRlbGluZwogIGlzcHVibGljOiAxCiAgZmxhZ3M6IDB4MDAwNAogIGdyb3VwX21lbWJlcnNoaXA6IDEKLSAKICBpZDogMgogIG5hbWU6IFZlcmtvb3AKICBzaWduYXR1cmU6IHwKICAgIFZlcmtvb3AgZW4ga2xhbnRlbmJpbmRpbmcKICBpc3B1YmxpYzogMQogIGZsYWdzOiAweDAwMDQKICBzbGFfaWQ6IDEKICBncm91cF9tZW1iZXJzaGlwOiAxCi0gCiAgaWQ6IDMKICBuYW1lOiBPbmRlcmhvdWQKICBzaWduYXR1cmU6IHwKICAgIE9uZGVyaG91ZHNhZmRlbGluZwogIGlzcHVibGljOiAwCiAgZmxhZ3M6IDB4MDAwNAogIGdyb3VwX21lbWJlcnNoaXA6IDAKLSAKICAjRGVmYXVsdCBlbWFpbCB0ZW1wbGF0ZSBncm91cCBmb3IgdGhlIHN5c3RlbQogICNOT1RFOiBUaGUgbGFuZ3VhZ2UgZmllbGQgaXMgZGVmaW5lZCBmb3IgdGhlIGVtYWlsIHRlbXBhdGUgZ3JvdXAgbW9kZWwsIGJ1dAogICNpcyBub3QgY29uc2lkZXJlZCBieSB0aGUgaW5zdGFsbGVyLiBXaGF0ZXZlciBsYW5ndWFnZSB0aGUgaW5zdGFsbAogICNsb2FkcyBkYXRhIGZvciwgdGhlIHNhbWUgbGFuZ3VhZ2Ugd2lsbCBiZSB1c2VkIHRvIGxvYWQgdGhlIGVtYWlsCiAgI3RlbXBsYXRlcwogICNGaWVsZHM6CiAgI2lzYWN0aXZlIC0gKGJvb2w6MHwxKSB0cnVlIG9yIGZhbHNlIGlmIHRoZSB0ZW1wbGF0ZXMgc2hvdWxkIGJlIGluaXRpYWxseQogICN1c2FibGUKICAjbmFtZSAtIChzdHJpbmcpIGRlc2NyaXB0aXZlIG5hbWUgZm9yIHRoZSB0ZW1wbGF0ZSBncm91cAogICNub3RlcyAtIEFkbWluaXN0cmF0aXZlIG5vdGVzICh2aWV3YWJsZSBpbnRlcm5hbGx5IG9ubHkpCi0tLQogIGlkOiAxCiAgaXNhY3RpdmU6IDEKICBuYW1lOiBvc1RpY2tldCBzdGFuZGFhcmQgc2phYmxvb24gKEhUTUwpCiAgbm90ZXM6IHwKICAgIFN0YW5kYWFyZCBvc1RpY2tldCBzamFibG9uZW4KLSAKICAjZXZlbnQueWFtbAogICNFdmVudHMgaW5pdGlhbGx5IGluc2VydGVkIGludG8gdGhlIHN5c3RlbS4KLS0tCiAgaWQ6IDEKICBuYW1lOiBjcmVhdGVkCiAgZGVzY3JpcHRpb246Ci0gCiAgaWQ6IDIKICBuYW1lOiBjbG9zZWQKICBkZXNjcmlwdGlvbjoKLSAKICBpZDogMwogIG5hbWU6IHJlb3BlbmVkCiAgZGVzY3JpcHRpb246Ci0gCiAgaWQ6IDQKICBuYW1lOiBhc3NpZ25lZAogIGRlc2NyaXB0aW9uOgotIAogIGlkOiA1CiAgbmFtZTogcmVsZWFzZWQKICBkZXNjcmlwdGlvbjoKLSAKICBpZDogNgogIG5hbWU6IHRyYW5zZmVycmVkCiAgZGVzY3JpcHRpb246Ci0gCiAgaWQ6IDcKICBuYW1lOiByZWZlcnJlZAogIGRlc2NyaXB0aW9uOgotIAogIGlkOiA4CiAgbmFtZTogb3ZlcmR1ZQogIGRlc2NyaXB0aW9uOgotIAogIGlkOiAwCiAgbmFtZTogZWRpdGVkCiAgZGVzY3JpcHRpb246Ci0gCiAgaWQ6IDEwCiAgbmFtZTogdmlld2VkCiAgZGVzY3JpcHRpb246Ci0gCiAgaWQ6IDAKICBuYW1lOiBlcnJvcgogIGRlc2NyaXB0aW9uOgotIAogIGlkOiAxMgogIG5hbWU6IGNvbGxhYgogIGRlc2NyaXB0aW9uOgotIAogIGlkOiAxMwogIG5hbWU6IHJlc2VudAogIGRlc2NyaXB0aW9uOgotIAogIGlkOiAwCiAgbmFtZTogZGVsZXRlZAogIGRlc2NyaXB0aW9uOgotIAogIGlkOiAxNQogIG5hbWU6IG1lcmdlZAogIGRlc2NyaXB0aW9uOgotIAogIGlkOiAxNgogIG5hbWU6IHVubGlua2VkCiAgZGVzY3JpcHRpb246Ci0gCiAgaWQ6IDE3CiAgbmFtZTogbGlua2VkCiAgZGVzY3JpcHRpb246Ci0gCiAgaWQ6IDE4CiAgbmFtZTogbG9naW4KICBkZXNjcmlwdGlvbjoKLSAKICBpZDogMTkKICBuYW1lOiBsb2dvdXQKICBkZXNjcmlwdGlvbjoKLSAKICBpZDogMjAKICBuYW1lOiBtZXNzYWdlCiAgZGVzY3JpcHRpb246Ci0gCiAgaWQ6IDIxCiAgbmFtZTogbm90ZQogIGRlc2NyaXB0aW9uOgotIAogICNmaWxlcy55YW1sCiAgI0ZpbGVzIGluaXRpYWxseSBpbnNlcnRlZCBpbnRvIHRoZSBzeXN0ZW0uIENhbm5lZCByZXNwb25zZXMgaGF2ZSB0aGVpciBvd24KICAjbWV0aG9kIGZvciBhdHRhY2htZW50czsgaG93ZXZlciwgdGhpcyBmaWxlIHdpbGwgbWFrZSBpdCBlYXNpZXIgdG8gYWRkCiAgI3RoaW5ncyBsaWtlIGlubGluZSBpbWFnZXMuCiAgI05PVEU6IElmIHRoZSBmaWxlcyBhcmVuJ3QgYXR0YWNoZWQgdG8gc29tZXRoaW5nIGJ5IHRoZSBpbnN0YWxsZXIsIHRoZXkKICAjYmlsbCBiZSBjbGVhbmVkIHVwIHNob3J0bHkgYWZ0ZXIgaW5zdGFsbGF0aW9uIChieSB0aGUgYXV0b2Nyb24pLgotLS0KICBrZXk6IGI1Njk0NGNiNDcyMmNjNWNkYTlkMWUyM2EzZWE3ZmJjCiAgbmFtZTogcG93ZXJlZC1ieS1vc3RpY2tldC5wbmcKICB0eXBlOiBpbWFnZS9wbmcKICBlbmNvZGluZzogYmFzZTY0CiAgZGF0YTogfAogICAgaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQU5vQUFBQW9DQVlBQUFDWVIrVEpBQUFLUTJsRFExQkpRME1nY0hKdlptbHNaUUFBZU5xZAogICAgVTNkWWsvY1dQdC8zWlE5V1F0andzWmRzZ1FBaUk2d0l5QkJab2hDU0FHR0VFQkpBeFlXSUNsWVVGUkdjU0ZYRWd0VUtTSjJJNHFBbwogICAgdUdkQmlvaGFpMVZjT080ZjNLZTFmWHJ2N2UzNzEvdTg1NXpuL001NXp3K0FFUklta2VhaWFnQTVVb1U4T3RnZmowOUl4TW05Z0FJVgogICAgU09BRUlCRG15OEpuQmNVQUFQQURlWGgrZExBLy9BR3Zid0FDQUhEVkxpUVN4K0gvZzdwUUpsY0FJSkVBNENJUzV3c0JrRklBeUM1VQogICAgeUJRQXlCZ0FzRk96WkFvQWxBQUFiSGw4UWlJQXFnMEE3UFJKUGdVQTJLbVQzQmNBMktJY3FRZ0FqUUVBbVNoSEpBSkF1d0JnVllGUwogICAgTEFMQXdnQ2dyRUFpTGdUQXJnR0FXYll5UndLQXZRVUFkbzVZa0E5QVlBQ0FtVUlzekFBZ09BSUFReDRUelFNZ1RBT2dNTksvNEtsZgogICAgY0lXNFNBRUF3TXVWelpkTDBqTVV1SlhRR25meThPRGlJZUxDYkxGQ1lSY3BFR1lKNUNLY2w1c2pFMGpuQTB6T0RBQUFHdm5Sd2Y0NAogICAgUDVEbjV1VGg1bWJuYk8vMHhhTCthL0J2SWo0aDhkLyt2SXdDQkFBUVRzL3YybC9sNWRZRGNNY0JzSFcvYTZsYkFOcFdBR2pmK1YwegogICAgMndtZ1dnclFldm1MZVRqOFFCNmVvVkRJUEIwY0Nnc0w3U1Zpb2IwdzQ0cysvelBoYitDTGZ2YjhRQjcrMjNyd0FIR2FRSm10d0tPRAogICAgL1hGaGJuYXVVbzdueXdSQ01XNzM1eVAreDRWLy9ZNHAwZUkwc1Z3c0ZZcnhXSW00VUNKTngzbTVVcEZFSWNtVjRoTHBmekx4SDViOQogICAgQ1pOM0RRQ3Noay9BVHJZSHRjdHN3SDd1QVFLTERsalNkZ0JBZnZNdGpCb0xrUUFRWnpReWVmY0FBSk8vK1k5QUt3RUF6WmVrNHdBQQogICAgdk9nWVhLaVVGMHpHQ0FBQVJLQ0JLckJCQnd6QkZLekFEcHpCSGJ6QUZ3SmhCa1JBRENUQVBCQkNCdVNBSEFxaEdKWkJHVlRBT3RnRQogICAgdGJBREdxQVJtdUVRdE1FeE9BM240QkpjZ2V0d0Z3WmdHSjdDR0x5R0NRUkJ5QWdUWVNFNmlCRmlqdGdpemdnWG1ZNEVJbUZJTkpLQQogICAgcENEcGlCUlJJc1hJY3FRQ3FVSnFrVjFJSS9JdGNoUTVqVnhBK3BEYnlDQXlpdnlLdkVjeGxJR3lVUVBVQW5WQXVhZ2ZHb3JHb0hQUgogICAgZERRUFhZQ1dvbXZSR3JRZVBZQzJvcWZSUytoMWRBQjlpbzVqZ05FeERtYU0yV0ZjaklkRllJbFlHaWJIRm1QbFdEVldqelZqSFZnMwogICAgZGhVYndKNWg3d2drQW91QUUrd0lYb1FRd215Q2tKQkhXRXhZUTZnbDdDTzBFcm9JVndtRGhESENKeUtUcUUrMEpYb1MrY1I0WWpxeAogICAga0ZoR3JDYnVJUjRobmlWZUp3NFRYNU5JSkE3Smt1Uk9DaUVsa0RKSkMwbHJTTnRJTGFSVHBEN1NFR21jVENicmtHM0ozdVFJc29DcwogICAgSUplUnQ1QVBrRStTKzhuRDVMY1VPc1dJNGt3Sm9pUlNwSlFTU2pWbFArVUVwWjh5UXBtZ3FsSE5xWjdVQ0txSU9wOWFTVzJnZGxBdgogICAgVTRlcEV6UjFtaVhObXhaRHk2UXRvOVhRbW1sbmFmZG9MK2wwdWduZGd4NUZsOUNYMG12b0Irbm42WVAwZHd3TmhnMkR4MGhpS0JscgogICAgR1hzWnB4aTNHUytaVEtZRjA1ZVp5RlF3MXpJYm1XZVlENWh2VlZncTlpcDhGWkhLRXBVNmxWYVZmcFhucWxSVmMxVS8xWG1xQzFTcgogICAgVlErclhsWjlwa1pWczFEanFRblVGcXZWcVIxVnU2azJyczVTZDFLUFVNOVJYNk8rWC8yQyttTU5zb2FGUnFDR1NLTlVZN2ZHR1kwaAogICAgRnNZeVpmRllRdFp5VmdQckxHdVlUV0pic3Zuc1RIWUYreHQyTDN0TVUwTnpxbWFzWnBGbW5lWnh6UUVPeHJIZzhEblpuRXJPSWM0TgogICAgem5zdEF5MC9MYkhXYXExbXJYNnROOXA2MnI3YVl1MXk3UmJ0NjlydmRYQ2RRSjBzbmZVNmJUcjNkUW02TnJwUnVvVzYyM1hQNmo3VAogICAgWSt0NTZRbjF5dlVPNmQzUlIvVnQ5S1AxRitydjF1L1JIemN3TkFnMmtCbHNNVGhqOE15UVkraHJtR200MGZDRTRhZ1J5Mmk2a2NSbwogICAgbzlGSm95ZTRKdTZIWitNMWVCYytacXh2SEdLc05ONWwzR3M4WVdKcE10dWt4S1RGNUw0cHpaUnJtbWE2MGJUVGRNek15Q3pjck5pcwogICAgeWV5T09kV2NhNTVodnRtODIveU5oYVZGbk1WS2l6YUx4NWJhbG56TEJaWk5sdmVzbUZZK1ZubFc5VmJYckVuV1hPc3M2MjNXVjJ4UQogICAgRzFlYkRKczZtOHUycUsyYnJjUjJtMjNmRk9JVWp5blNLZlZUYnRveDdQenNDdXlhN0FidE9mWmg5aVgyYmZiUEhjd2NFaDNXTzNRNwogICAgZkhKMGRjeDJiSEM4NjZUaE5NT3B4S25ENlZkbkcyZWhjNTN6TlJlbVM1RExFcGQybHhkVGJhZUtwMjZmZXN1VjVScnV1dEsxMC9XagogICAgbTd1YjNLM1piZFRkekQzRmZhdjdUUzZiRzhsZHd6M3ZRZlR3OTFqaWNjempuYWVicDhMemtPY3ZYblplV1Y3N3ZSNVBzNXdtbnRZdwogICAgYmNqYnhGdmd2Y3Q3WURvK1BXWDZ6dWtEUHNZK0FwOTZuNGUrcHI0aTN6MitJMzdXZnBsK0IveWUrenY2eS8yUCtML2hlZklXOFU0RgogICAgWUFIQkFlVUJ2WUVhZ2JNRGF3TWZCSmtFcFFjMUJZMEZ1d1l2REQ0VlFnd0pEVmtmY3BOdndCZnlHL2xqTTl4bkxKclJGY29JblJWYQogICAgRy9vd3pDWk1IdFlSam9iUENOOFFmbSttK1V6cHpMWUlpT0JIYklpNEgya1ptUmY1ZlJRcEtqS3FMdXBSdEZOMGNYVDNMTmFzNUZuNwogICAgWjcyTzhZK3BqTGs3MjJxMmNuWm5yR3BzVW14ajdKdTRnTGlxdUlGNGgvaEY4WmNTZEJNa0NlMko1TVRZeEQySjQzTUM1MnlhTTV6awogICAgbWxTV2RHT3U1ZHlpdVJmbTZjN0xubmM4V1RWWmtIdzRoWmdTbDdJLzVZTWdRbEF2R0UvbHAyNU5IUlB5aEp1RlQwVytvbzJpVWJHMwogICAgdUVvOGt1YWRWcFgyT04wN2ZVUDZhSVpQUm5YR013bFBVaXQ1a1JtU3VTUHpUVlpFMXQ2c3o5bHgyUzA1bEp5VW5LTlNEV21XdEN2WAogICAgTUxjb3QwOW1LeXVURGVSNTVtM0tHNU9IeXZma0kvbHo4OXNWYklWTTBhTzBVcTVRRGhaTUw2Z3JlRnNZVzNpNFNMMUlXdFF6MzJiKwogICAgNnZrakM0SVdmTDJRc0ZDNHNMUFl1SGhaOGVBaXYwVzdGaU9MVXhkM0xqRmRVcnBrZUdudzBuM0xhTXV5bHYxUTRsaFNWZkpxZWR6eQogICAgamxLRDBxV2xReXVDVnpTVnFaVEp5MjZ1OUZxNVl4VmhsV1JWNzJxWDFWdFdmeW9YbFYrc2NLeW9ydml3UnJqbTRsZE9YOVY4OVhsdAogICAgMnRyZVNyZks3ZXRJNjZUcmJxejNXYit2U3IxcVFkWFFodkFOclJ2eGplVWJYMjFLM25TaGVtcjFqczIwemNyTkF6VmhOZTFiekxhcwogICAgMi9LaE5xUDJlcDEvWGN0Vy9hMnJ0NzdaSnRyV3Y5MTNlL01PZ3gwVk85N3ZsT3k4dFN0NFYydTlSWDMxYnRMdWd0MlBHbUlidXIvbQogICAgZnQyNFIzZFB4WjZQZTZWN0IvWkY3K3RxZEc5czNLKy92N0lKYlZJMmpSNUlPbkRsbTRCdjJwdnRtbmUxY0ZvcURzSkI1Y0VuMzZaOAogICAgZStOUTZLSE93OXpEemQrWmY3ZjFDT3RJZVN2U09yOTFyQzJqYmFBOW9iM3Y2SXlqblIxZUhVZSt0LzkrN3pIalkzWEhOWTlYbnFDZAogICAgS0QzeCtlU0NrK09uWktlZW5VNC9QZFNaM0huM1RQeVphMTFSWGIxblE4K2VQeGQwN2t5M1gvZko4OTduajEzd3ZIRDBJdmRpMnlXMwogICAgUzYwOXJqMUhmbkQ5NFVpdlcyL3JaZmZMN1ZjOHJuVDBUZXM3MGUvVGYvcHF3TlZ6MS9qWExsMmZlYjN2eHV3YnQyNG0zUnk0SmJyMQogICAgK0hiMjdSZDNDdTVNM0YxNmozaXYvTDdhL2VvSCtnL3FmN1Qrc1dYQWJlRDRZTUJnejhOWkQrOE9DWWVlL3BULzA0Zmgwa2ZNUjlVagogICAgUmlPTmo1MGZIeHNOR3IzeVpNNlQ0YWV5cHhQUHluNVcvM25yYzZ2bjMvM2krMHZQV1B6WThBdjVpOCsvcm5tcDgzTHZxNm12T3NjagogICAgeHgrOHpuazk4YWI4cmM3YmZlKzQ3N3JmeDcwZm1TajhRUDVRODlINlk4ZW4wRS8zUHVkOC92d3Y5NFR6KzRBNUpSRUFBQUFaZEVWWQogICAgZEZOdlpuUjNZWEpsQUVGa2IySmxJRWx0WVdkbFVtVmhaSGx4eVdVOEFBQURLR2xVV0hSWVRVdzZZMjl0TG1Ga2IySmxMbmh0Y0FBQQogICAgQUFBQVBEOTRjR0ZqYTJWMElHSmxaMmx1UFNMdnU3OGlJR2xrUFNKWE5VMHdUWEJEWldocFNIcHlaVk42VGxSamVtdGpPV1FpUHo0ZwogICAgUEhnNmVHMXdiV1YwWVNCNGJXeHVjenA0UFNKaFpHOWlaVHB1Y3pwdFpYUmhMeUlnZURwNGJYQjBhejBpUVdSdlltVWdXRTFRSUVOdgogICAgY21VZ05TNDJMV013TVRRZ056a3VNVFUyTnprM0xDQXlNREUwTHpBNEx6SXdMVEE1T2pVek9qQXlJQ0FnSUNBZ0lDQWlQaUE4Y21SbQogICAgT2xKRVJpQjRiV3h1Y3pweVpHWTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MekU1T1Rrdk1ESXZNakl0Y21SbUxYTjViblJoZUMxdQogICAgY3lNaVBpQThjbVJtT2tSbGMyTnlhWEIwYVc5dUlISmtaanBoWW05MWREMGlJaUI0Yld4dWN6cDRiWEE5SW1oMGRIQTZMeTl1Y3k1aAogICAgWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzhpSUhodGJHNXpPbmh0Y0UxTlBTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eAogICAgTGpBdmJXMHZJaUI0Yld4dWN6cHpkRkpsWmowaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTRZWEF2TVM0d0wzTlVlWEJsTDFKbAogICAgYzI5MWNtTmxVbVZtSXlJZ2VHMXdPa055WldGMGIzSlViMjlzUFNKQlpHOWlaU0JRYUc5MGIzTm9iM0FnUTBNZ01qQXhOQ0FvVFdGagogICAgYVc1MGIzTm9LU0lnZUcxd1RVMDZTVzV6ZEdGdVkyVkpSRDBpZUcxd0xtbHBaRG8yUlRKRE9UVkVSVUUyTnpNeE1VVTBRa1JEUkVSRwogICAgT1RGR1FVWTVORVJCTlNJZ2VHMXdUVTA2Ukc5amRXMWxiblJKUkQwaWVHMXdMbVJwWkRvMlJUSkRPVFZFUmtFMk56TXhNVVUwUWtSRAogICAgUkVSR09URkdRVVk1TkVSQk5TSStJRHg0YlhCTlRUcEVaWEpwZG1Wa1JuSnZiU0J6ZEZKbFpqcHBibk4wWVc1alpVbEVQU0o0YlhBdQogICAgYVdsa09rTkdRVGMwUlRSR1FUWTNNVEV4UlRSQ1JFTkVSRVk1TVVaQlJqazBSRUUxSWlCemRGSmxaanBrYjJOMWJXVnVkRWxFUFNKNAogICAgYlhBdVpHbGtPa05HUVRjMFJUVXdRVFkzTVRFeFJUUkNSRU5FUkVZNU1VWkJSamswUkVFMUlpOCtJRHd2Y21SbU9rUmxjMk55YVhCMAogICAgYVc5dVBpQThMM0prWmpwU1JFWStJRHd2ZURwNGJYQnRaWFJoUGlBOFAzaHdZV05yWlhRZ1pXNWtQU0p5SWo4K2kvNzJ5Z0FBRnd0SgogICAgUkVGVWVOcnNYUW1jVTlYVlB5OTdNc2xrWm9CaGNSaVFYVFkzME0rdEtDcW9MUXIyODdPMkx2VXIxdGFGdWlCdXRVb1Z3YTMyVTR0UwogICAgdE5VNlZrUlVwQ3dGWmRFeXFHeUNvS3lDN0lzQ004ekNUSktYOTkyYi9HOXo1azZTeVF4UWNjejUvUTRrazVmMzdydjMvTS81bjNQdgogICAgdXpHR0R4OU9XVGsycE5wMDB0anU3MU94Znk5UnhQMWRhMzVMb1pPRjdoZDZtOUR0alQ2REpUVGZwTkkxSHJyNnJUeXkyU3l5R2MxagogICAgYkcxWjg4N0tFWklMaEo0bjlNZENyMmowdDZOQzgweGF1TjVOUDVzU3BMQUFYWE1CbVJSSDFqNisxK0lTV2lnMFY2aGRhQTBpMHI0bQogICAgUmpRRm1WMk4vclkvU2t0RUpCdjZSajVaQW1RdGZWR0tXbG1nWmVXN0thMkVuaXAwZ05EVGhMWVg2Z1hnSkx1SkNBMEpQU2gwbGREcAogICAgUW1jSlBaREJ1ZTM0WDRLMG90R1VVUUJ0eGxZWDdTdXpVNDkyWVlwRW0xZkhaNEgyL1pDT1FxOFUrcjlDdTJYNG5kNUNyeEs2VE9oSQogICAgb1F2U0hKc2pkQmdEODd0Q3h3bjliVVpYa2hBVkFEdDB5Q0JmanRuc1FKYk4wWnEvZUlUZUxuUWhETDliRTg0aEkrQmNvZmZqZk1uawogICAgVjRpU0hEcjNBOWdOUjdPZ1NiTzNPZW1KMGh3cXlvMDJ5NEhJQXEzNVNtdWhVNFgrUWVoeFI4Qk9IZ0dOdkFBNW5hU2JSVUx2VFJPNQogICAgZmkwMFArMlpuUmJWZnVPZ1NZdDkxQ2EzZWVWbFdlclkvT1VFb1c4SzdYV0V6M3N1Y3J1OVFtc0J1TlpwSEhZL2lwZjZIMHhIRzdjZAogICAgdE5HVXRSNXFGOGdDTFN2ZkhaRlI1cFdqQURJbFB1UjhtY3J2S0Y3TkhKdVMzd3JxV09pUHhuS3o1bFRTejFMSDVpMlNLdmIvbHE0dAogICAgNDlGU29jdUZWckcveTBKSnl6cEh5bFRNSS83Sk5XbitHZzlGSWdZWlJ2TWRsR3hFTytaY1grUnd2djF6YXNwazhaR1Q5VUovSW5TSAogICAgMEE1Q2Z5bjBNdVIzMzhUdno0cTc5MkNVNXEzMDBLU1ZYcHEyMFUxdVFTR041anlzV2NzK2hyeWVFYVdTN2FlUUdmWUtxMnQwOVUzbQogICAgU25jbCtidWNQQzcvRDkzQ3cwSy9CRlZjUi9GQ1NUOFI1NmFUWFFETWI4YlE5T1ZlQi8zMHBRSzZaVWFRSmk3M2tkZGhrY2RoTmUreAogICAgelpyM3NTUFNvMjgrRktTUVBVeGVxOUgrWFVhT250cmZTb1ZPQkFDRFI3bjU0NFcrVm9jYStxSWhjU01oR2NVT2x0dnB3RFlYUFZqcQogICAgcHptYlhGUVZNc2p2c3FoN3F3aVpBbVBSNW8yekxOQ09LWHBoQ0d1emJMVDZRREgxejk4U2U1MmhCSVJlby8xTlJwU2hGRjlpMWVZbwogICAgTi8wNW9hTVNyUkdSS3lkS3E5WjdhUEdYYnVxUUg2RUZXMXowYUdrT3RmTkhZelF4SnljZXNVM3IrekcyanJQUFBqdHI0Y2VRVEp1LwogICAgak43YzNZdjZ0OWdrM0h6R2Z2QXNpcGZkbFpRQmVOOGd0bXdRMnVJb05GY3UweHBCYXRXSUNNSnluZUxqYzNMSkZGZWR0Y2xOQ3dYUQogICAgREZlVWN0MGllclZvbnFzK3NoSHRPNW1uV1pUbnFvb1hSU3lQTU42TVhMNWNNZTlpN3g4U3VnU3Y1U0xoSjRTK2tjRjR5L3pxZGRCTQogICAgV2N6SW8zZzUzeW0wRXZsZVd3Q2JVUFJZVnVjTWdnNU9XT0dsemJ1ZFZDZ2lXWSsyaVhXTDMxZVFaWUYyRElyZGlGSlYyRU0xTlVIeQogICAgMkVPWjBFZFpOaitSdmY5QTZLdmFNV3VFVmxOOGdqbWR5RW51QjFqSzZLUEVLcEJ5Uk1vaWdQWk1vWU9Fem80QlBTcEFHRFRwcXoxTwogICAgeW5kYUZHb1ppUlU1dmlWd3lmYktKV0h0OFg2UDBIbENEMldCbHBXWStPMjF0S0tpRFpYczdFdkRPMzlJVk90djZDdURLYjRlVWNsZgogICAgRWNXNGRLSFU2eFNKR1dOSjdGV2V5TEZDSXBSVzJxcklWbWMrVE1wMkZGZW1VK0l4bTN6eVdMdTI3bkRSc01sNXRPMmduVnA0bzNKUwogICAgclIzRko3Y2pvTEFwL1F2RlY1cElxbHNnMUkzMnlnaTZzUW5kS0NQeVBVSUhNb3I3UTZIYnNrRExTa3dzRVVnY0pNdmR0U2p4R3hTZgogICAgQjA0cE1wcXBzQ2NYRDcrYjVKaXVHclhVTHlyUDhDZHlXcDlMUk56N1ZoNmRLQ2pmMVdjSmpCMnl4WnNRZTRER1VKTmRZVm5ISUxscQogICAgMzRvOVFyT2RDaUkwZm02QVZtNTNVdmUya1ZpT1J2RlYvM0pSY3hYT2tFcGs1TndFR25xKzlEY1VmeUxnZWFFM1phbGpWbzZLRkxpcQogICAgNmYyOTNlams0QTdxSlpSQy9sUmd5d09GVS9KUDBEdGRUazU1c1ZnWjNubzM0clllY3h5MDBYM3pBdlRraDM1cUw2amZyQTF1cWc0YgogICAgdExmU1JzTjYxOURJQ3lxSURzUm1sdHVKNXJTTU5TblgzRVdlNktGRlMzejAxbW9QRmJjMEZjZ0krUndCTkExSkx2TENscFI0dHMzYgogICAgeEM2TWFzQTJHNGlvUjBxT1IxLzNodE9Za1FWYWVqRmdIRTU0NDFDSzR6dzRwZ1plL3Nna0dEYVRkdFFFYUZWWkVmVUs3STFIdHVUegogICAgYW5MZXJDOWU3MFNPcFl1a1lkMVRtcVBibWtsdHdyZE1uSlViR3Z0ZUlHYWRuVnJMQW9aQk16YTZZMnNQRHdpZzVYc3NHam1nVXR5eAogICAgUUZlMVVTV2dzRnJrWlBPMzF4ampWMjMyaG0rZWxpZHlTNG9keDByMml2WlZNTU0zV2Q2blJING1GeXF2QjlqeTBmK1ZoekYrLyttRgogICAgSmoxUVNEb0o3OGRsZ2Rhd3lJRitBYm1QZk5Sa05NV2ZPdWJTaCtMckN0dmptSHVPMU1XakFsVEh1U3Rvc2l6emk0aldPWGQzcXMxNgogICAgNVB4WUFLKy9CUDNTNVFZdGgwdUF6RTR2VXR2d3pjL016QTNkTXkxSWhZRm9LNTloRlF0d2VXMTJLOUxLWjhtbnBUZTM4a1VqODdZNgogICAgNmVxU0FpcTU4b0FFMnhMcVdqdDQrUWJYem9GM0Zja3FpYTlMY2FnNFYrQlJnTXdGZ01pMlBBVHdlMWllSnAzU281UjRVRlJTenp0UQogICAgeEpFZy9DT2NsNXVhc2lYQ3R5ZnRHY2hJTDd4a2daYWlKa0h4ZWFrTytEK1psUmVnc3VWTWFzaUhDemJoa0QwaXNqa2NvWFE1R2wrbwogICAgdXpKSkhpVGI5UURwUyswczJpMGkyV2dCc2hlZStXY3UzZjUyc0xBNDM3ekpZWXM5cU5tZVhVMVdLaGRFTFhxeVl6QTZmL0o2TjNuZgogICAgeWFOSHo2OG9MM2s5djN6U3AxNWJ1ZE82dG1OaDVCWnhnVDdSdWxGcWk5REhLYjVpUkpldjJXdDVnNTlLUU9QOTFtT1k1YVJMbHJlaAogICAgb0tOc1pYOFdhQTFMaE5IRkF5bW80MEY0YmhuOWRoK05SamdOazBxMm5VSjNkeW9sUjJ4ZXpaYk1peXI1UlB0TVZ0eitocW9nbHlsUgogICAgMDNqQTVqSFhUaEJVOFRkdjVwM1JMdDk4em1XblU2Slc3RDVlaE5ISS9PZ0hRaStSR283U3ZjY0h6WEZUUmQ3MnhUNDdMZDd1RkRReAogICAgK25TdjlxRVJwbWxFeGVlVGpUaFZsSDBuSDlFWkl2UlBRczhRZXAyV0kvR2N6Y1hlZDZMNGxndDJPRHU1aE93ZlNicEdQc2c2R05TNQogICAgRUJHekV1T3dnT0pQRURSRTVlV3pjcGVDMWdiaGpNWlQzVzN5THFiNEZFWWhKYVk0NUlxYlNheUNlU0w2dXBPR3A0dmhoR1hiS2h4SQogICAgNEU1RncyYWpBblExeGVkTEZpUEJya3lTbXd4QzR1ZkZSUmZCTXhIajJUWlFDSldneS8wa2loRldOeklEOXVNN0h0em9IbEFpR1RINgogICAgdzVQSXVhRDU0UExFREtFVjJya2VnOVFGWEhrVHFOVWc1Q2dXcW5ML0lxcFhzajRUblpXRHF0MTZGdnBUOFgwYml4VHFmRDlCbjhnMgogICAgVHFQNGlneDV6b3R3RGpsSXE1SUFvcTJLSHNRMndqRU1pellmeXFkUTFCNEhXbjFwelNJUHA0MnlVamNHeFJJbGtnYmVUOTdveEkzNwogICAgN2RHTEgydERWU0ZxTDBBMk1lQ3llZ25LSi9PSlc0UitwZVYzMTZQNk4xWUFjVit1Sy9aOTZwaHZYbVVZTkNJVU5yYUpqcjNDcUEvMAogICAgYzRUK0hiYjBJY1hYWEhMaXltdWVTazRDclZUeWx5UkFrMUgzVHFxL3JsUEorYUNsNmViTUpCdDVXaWhmRnZVNjYzdnB3T1FUQjFjQgogICAgTEpTa0RiY0JMNE1RdVhXNUJCcHoxZzU0aHVmUnNIRm82QS9ZRithQzU2dlFMcC9lZlFtZWlvc2M3R2Nvdm1KYkd0Wno4RXczNC94UwogICAgUnFIa0s2OGxINkVvd2Q5SHd6Z2k4RFFTcEhLQjZpbmFOVmJDR0JhQ05rbVAyUmxHOVEwNjd5QUdXRkkrT2JIYVVUdEhLZHEwRXUvdgogICAgcHZnVHdGNlcwMHpJc0ZMR0k0dk0weTVqZnhzRjRDL0NvUFhBTlM5azFFbDZaam01TE9lYjVnaDlUMmNyUG5zNHZnYXl2bmh4N3lycQogICAgN3NCcnVZSmUzMXBnTmFMS2NybDF3TngxSHZxNnlxQVd2dWdkSXBKSmtNMUZXM1VIVkl0Y3RRclJjWXpJMzJibHVpM3BETSsxNHMyNgogICAgTDBrMEpUaTBlekRHTnlKWEsydWdINnNCdkZTRmpFZGhYK2xrRXdKRE9yYjJxQVl5MmNiaHVOOTJBTjFaN1BPMXlDMjdvOTk3d0xiNgogICAgTU1lZlR1dzJWdjN4d3VEN0lUSDltbm1JRndHYUFnQkFnVXhHbVhub1FCODY5anA0NWhBNnJDOHJSWi9Ecm5VdVhnY1FaajB3Q0FteQogICAgVnhqSVZpSmloUkNtUzlBWk5hd3pSNkR0aEdoMEhneTRJOEFyd2ZVWlBqOEw5K0RIdlQyQzlwZ3dqbjB3bnM0WmRLREp2TmNRdEhVTgogICAgL2xhSXRzbzVyQ21NWm5UUnZINDd2SjVYbnpsWWRNaDB4b29qS1FvMlJYajlPWEtpOCtFNHVMd2Y2MTlMZ013ZnBXY1hCT2dPa1pjVgogICAgNWtUN2lwenNCcXlhdnlzSnlMaThDaHVRN09GYXJmVCtkWnJ2TFVEZlIvRGRUTXJ5cWFMZFRSckl3bUFmMHZGZVR2RU5nbDVHRUFpbAogICAgeUtzSng5M0kzczlnSUNNVXVNNWlUT1ZHUk5wK2xIaldqa0EzbjRUVEh3VTZ5ZHYrSVd6eU1SbkFiQnFYbFNmK09VQndLWXRpQStFQgogICAgQmxCaVR1WlZVSzd6Y2F6aXJQY0JCQXZ4L25TQTZEZ1luWklpbGllcURWd21JY0txQmJLMzR5WlBSMGZYZ21MZUMyNGRabUJkQzhvdwogICAgRXVmb0JrNDlIRzAva1JMUGEvWEM2OXNaV085R0pEOFhGTFd4TWdZVS9HSlFDaFd4QnNIWWxYQzJNSmdaNjN2MUVrVkJHVzlvdjR4OAogICAgcnVwaytWa2U2N2RGTE1keGFsRmxtRERYN1ZSZzBzdExmRFJpWmk0VjVFVEpab3YxaDR6YWI3UG9uazdVUlBoL3c0R3EwdjA5YkN4MQogICAgMllFeHVWeWpwSTJWZGhUZlZZdUx2TzVRc0pwM3dFS3VSMS83S1RFWHB3QzdBMDZmYjZtd0JJR2hscVVRUTlqbkVzUi94dWNtMG9INwogICAgMk9lWGdjMDhBVkJ4ZnY4MnFxNnluV050V3BpZXdPWmlQc1lKbEZ3RW8xV0c4UVNqQXYrQ0p5QVkrSG40UGlIY3RrYSs1RWUwTEFjRgogICAgelVma0NMTEtUVThXeVdZZ0Q4b0JkVkhuN0F2QTFlRDlibmlxcVlpS3FrandHWEpNRnp6Y05Jby9aaS9sRjZCeFVxYUQ2aEpLeXI4SAogICAgamNta0VpVmxCU0tqaWNneWpoMXpJUnpXcDR3aHFCeXZKL04reSt0d0RTTktaUkVQNWJrclVqMTFuY3Y2YlFPalhrcStnaEZWa255bwogICAgc3NwRzcyOXdrME84OWd2NktHaGZieFpKTTVuTVhRNXdkVUkwK3l1dWNTNmkxa01ZbHdLTnRrbGIyVWxObTJkVUVXMG9pL3dFUnZLSAogICAgUnB4bkx5THFXSmEzcmtILzhGMlpyd0F6STdDb0tVbk9OUWZqclhMWUFhekFZOU9vZmNxcTQwZmErNFZBcVFOQVVSdStmQUM2d2tVQgogICAgS0loT2taN2xkNVRZektVVkRQNTFSTTVMQUpiK2FOUXE1Rm1xUTZVUkxvTXgyK0JWY2xnMFBKNTVvc1hNa0R1eXlQbGZRcjlBaDBReAogICAgY0g0V2JYamVWc3ZlcndQb3UyY0l0RFZhWmZJcmVORGo0RWkyQXN3bncxQU5ST20rckovcmdHeDNyWi82QlBaUUJ4bk56R1Q1ZU93KwogICAgWFdqM0Z2eXRRb3V3bTlVUFI3eSsxRWV2cmZCU3Q4S0lmTWpTWVAyYzZZOVI3SUVUNmdKMjhCR2kyOU9nd0E5Q3Y0WkRMRVh1dG9oUwogICAgVC9obktnTzE5eTgyOHZzNW9IQ3FPQ0VEeEsyTTVoUHNsSytnY1NKQ1dndzBOWGdkU0RMRm9nY3RSenFnbVVrNE15V3B2dFVrOFlKOAogICAgbVlzYllWa1oyeGtBRlFFOEh0eTBwRnE5R2NoWHM1dllEekFiN0NhcTBlYlBZVlJ1emVCVnVkakRvdE5hZEpxZEVoT21aWEFJcWhyWQogICAgMUdrT0kwVy9tWXhHcURiT0J2M3BEQ3JiQisxY0MrZnpieGUrclNaSUp3bVFQZEJqTnJsdEloREV0amFvVnhEcHhoemNTbFlVVVZNUAogICAgY1NycXNxaGlwNU9tTFBOUm02Q3BubVMyc1h2T05OTHdlM0t5c1J3SXluVWh4cklmNk5jUVJxRnVvNll0NkxXU3pCZVdOMkd1N1V5dAogICAgdUpHRDZqZHBRT043VUo1TTZaYXVKU1NRd2dZb0hkRDBKM0g3c0dPMmdBSVV3eHQzWUo2VVlFRDVESWcxR0FnSnRBc1FaZmJBc05UagogICAgR3BleXlQSTV3QlZtMWFPaG1wZFdKZlVJcnEraWs1MU5LSmJEcS9weHptSHcrdXB6Qjc3ZkYvZFJnT2lvZDE3TERKTjMwZ29jVWxvdwogICAgeDdLTFJjMVA0SFJ1WU1XSHhlaVh1R1ZaQmozZWJTNFYrZmVTSndZeVg2cjlRMDVneHE2S0tDR1dhOGY3VGRERWpmc2ROSFdkbTdvbAogICAgSHJ3MEtiR1BTS1piSFBqUUx4R3FPeGtiQWZYOUVIMWNqUDQ0bXhVcTVGajhqTlFHUFUxM2FBMGFkQXJSRTF3bkl0d0t4b1RzV240YgogICAgVFRPMUU0RXRPZGs0MmxJNGlhUWZEbWVHWDBCMVYwNS93T1kwdXJMcWs1clB1WnMxWWpYTDgxUmVVZ3hqVXc4UVZnSm9wMkxnUG1JQQogICAgSXhqa2o5ZzFPcUVzKzNmTVkxU25xRkJ0WVozWEQvbWkrcnducGlEK0QwVUpaVEREV0JYVWprSkppMFo0WEhrZHZwWEFWZXoxSXEwNAogICAgb1hLT0grUDFXL3lFUmQ1eU9pRi9Dd1VkTlloa1NVR1d4Mmp0SjFvMFYzU3d0b0cycjJmT05CUHBockwyZHVROHgxSDlYWWd0OVA5YwogICAgRkFjRzR0aEJLQkkxRldBUmJRNHNyd25ubW96Q2laSldxQnI2V0dTdjBTcW01MUJpanZVOHBoZENKU3Y3STJNdVZpcWc2Ukh0RkZDTwogICAgR1pTWUxGYlZtWGtvT293QXNFWWpJbnhHZFRlR21jR3FiQ3NBS0wrV3RPL0ZnUFJpOHhTZnNvTE1ZSGphbDFCUy9SSTMxWjBWRHlvcAogICAgK1M1ZVZTam9YSTdPbklyM093R0d0dWlFcTFEUW1RQ0RlUU1GbHg0YXdCc0NtZXJIOGVqOEFCeUlhc3NiN0RpWnAvMGF4d1RRSHgvegogICAgazk3ZGVRSFpaSVZSNW1XcG42NGVERnJ6Q2NaRlQ4QzMvZHRvd2daMUtZalEwTzYxdEdpN003WWhEcHRiVTFYRUo2amhYNHdaaUhIOAogICAgRzZMMXh5Z3UvWlJTVHc2dlF0RmlIUEs2VjVzWTBiWm83Ni9VaTBjTnlFNFVxOWJBS1o3Tzd1a09mRmFtRlViOGFQL0JKa1JkN3ZUcQogICAgUlRRVElHdVBFbmwvTm1oMzR2VVhvRDNmNE1RL1JLbTlKNXV6dVpWMS9HSXQ0VlJ6RVB1WVI1V3lsSG10ZVlpc0IyQTRsNklNM3gzSAogICAgUElVS1lTdFd3ZzFvOXpJSjh4OFJlSnFyTWRmUmxrMUJ2SUY1bHlsczNtc2t1UHl6ckJ3ZFNKSERlWmszL0J6OWRBMmlsV3JMU1BRQgogICAgTHpZdDAwckFkU1k4ZlNLaVVjU1Zia0I3czJyd1N4cTFMbUFSTFU2eFFnWUYyb2JwbXRPcmFIKzFUUzllbFlLZFhOK0FFUlV4ZGxNQwogICAgd3k5SFNsQ1VJYjAyRHlPaXZhTTV0aEVaT2tOaS9iRUw5dkNBNWhnZVJNU05VdDFmekRtTitJWkREWXYrVTFWZFUwVTBPN3p5R05CQwogICAgSDZwdnJ5S2lLUGtIK1BkUWVDa25qT1VEekxWd3lySVBBOVFKM3AzVG5Ic0JpRkFTN3pRRkNmN2xNQ3dYUURvVjBVeVZqWCtCWEdvVAogICAgMVYvdytXY1krVEE0Z2pEdVl3YUxJaUhjNnl4NE56ZXU4Um9LRkozd25XVDdJbjZCYU9DRDU1UG51aG41M241UWxUbEp1UDBzUmxQbgogICAgMUR0cmJVQkdNajhLSmZzMWVudzYrcmcxYU5CRTdkdEQySFJId2xSRlZKUGxmUzMreTNGNkhPZDdDcVg3YVVudXN4QlJ2ek1NL2lQbQogICAgekdSMC9pM0dJZGtjUkZkRUROSWpkeU5sSmh5d21ocnh3RkZPUlB0M2daVU1nTjJVYXUxeHNxTFVlM0Nrb3hnR0hnZHJtd2lub3hZcgogICAgM0k5N0dBOW5XZ3ZIcTNMUXBXd01xOEVpL0d5T2JTUnMyM0FrU1JJL2dERzdZRHpKK01zNkpKUHFCK3hDYWVaaWxrS1RuV05kbXM3ZAogICAgZ0dzNGNZMndkbzFEbEdTU1Y1TVY2SGhWM2c4bnVSOTVuci9Bb1Jpc29QQlJrdWtPTGdlSVBXOEVHWVdCTTdXQlZvV1lJQ1dXL254RwogICAgOWRjOWlsYktCeXV0bmhna2kwVW5YamtiVC9VM1MrMEJ6MHoxSElQb3ZiSmFHNFVPR2VUSXE3Tkp6alI0K0lkaHNNL0NRWlhoUHM3RQogICAgWjUzUWo3ZXpzNzRBWUY4TFl4d0hPaHJCbUExR3RDaEU1SjErR0VBejBiY3pLYkcrVXpxNDN5QmZQd2p3dFlDVFhLaE5LZWkwN2hrNAogICAgMW41NEx3UEc3OEhHUmlIVlVHN3BmM0F2QjlpOTVRTFlKUXhvVzNEZGkxaGxjeXphdnNTUm9ncHBaWkJNMHhHWUg4bEVEdmVCU2t0TAogICAgY28vV2RaUkJtQ2xLd0hjaUF2Wmt0TEgrOHFWNFhyWVl6T0pYeVBzS2NBL1RFTW5tSkxuR0FFVDNLS0l0aTEwR25WMFVvdE02aG1ocgogICAgdVozbmFZVDhaRFArdnhXcWovRXI4TzQ3Mk45VmJ2NDBDa3ZKdGxBb0ExREhhUDNyMXdvN1hnWWV1OGF5bEN3SFhYeWVBWVJZdnN1cgogICAgc1FWVWR3bFduc2JlZGdBRXZCQjFDNnEvaitDK25tSlRLTUVVMWRtV1dqODlER2NZWUhpUzJ0R2hOY0JOV1RrYWtvTmNVNEZzTTZobAogICAgT2xrSmF1WkNicWwyb1VvMWwzTURCdnQ2MG4rZFU5REdMaWZVMGlXYmFtak1uSUFBV2oxZjhCcWk4NldZOW1nQllHOEdaVnVhNHJyTAogICAgS2ZFajhUS25hUWV3N0FPZG4wM0pOOWVaam1KV0dQZjFGYXVFVGtCMDhsUDlYeGxkaXV2OUNQOTNaaFZJZGMyWlNHV200MzhMYmREcAogICAgLzl0SWF3WWdXclZFMjczNDdpY29tSjJEaXJrZlRsUWV1eFhuZkY4NzV5SzA2MVpLVEkzSmxHbSs4ZkxMTC9kQ2FJeWdrUnV6dURqaQogICAgSXFuR0wrRWhkOEw3ZjVyc3dPdktSalhsL0haVUlTdFJ3YTB2UVpOR1R3L1NtTkljNmhBMG0wT2ZHbkF3YWtPVkNrck1KemE0bzFHYQogICAgZnRRTE4zWkVNeS9ZUWpXb3F0VkEyMW9nY01uankvNWZnQUVBcytDdm1ITmRTdjBBQUFBQVNVVk9SSzVDWUlJPQotIAogICNEZWZhdWx0IHRpY2tldCBmaWx0ZXJzIGluc3RhbGxlZCBmb3IgdGhlIHN5c3RlbQogICNOT1RFOiBUaGUgU1lTVEVNIEJBTiBMSVNUIGlzIGNyaXRpY2FsbHkgaW1wb3J0YW50IGFuZCBzaG91bGQgX25ldmVyXyBiZQogICNyZW1vdmVkIGZyb20gdGhpcyBmaWxlLiBUaGUgbmFtZSAnU1lTVEVNIEJBTiBMSVNUJyBpcyBhbHNvIGltcG9ydGFudAogICNhbmQgc2hvdWxkIG5vdCBiZSB0cmFuc2xhdGVkIC0tIGl0IGlzIG5vdCBkaXNwbGF5ZWQgb24gdGhlIGludGVyZmFjZQogICNGaWVsZHM6CiAgI2lzYWN0aXZlIC0gKGJvb2w6MHwxKSB0cnVlIG9yIGZhbHNlIGlmIHRoZSBmaWx0ZXIgaXMgaW5pdGlhbGx5IGVuYWJsZWQKICAjZXhlY29yZGVyIC0gKGludCkgb3JkZXIgdGhlIGZpbHRlcnMgc2hvdWxkIGJlIGV4ZWN1dGVkIGluIChsb3dlc3QgZmlyc3QpCiAgI25hbWUgLSAoc3RyaW5nKSBEZXNjcmlwdGl2ZSBuYW1lIGZvciB0aGUgZmlsdGVyCiAgI25vdGVzIC0gKHN0cmluZykgQWRtaW5pc3RyYXRpdmUgbm90ZXMgKHZpZXdhYmxlIGludGVybmFsbHkgb25seSkKICAjcnVsZXMgLSAobGlzdDxGaWx0ZXJSdWxlPikgTGlzdCBvZiBydWxlcyBmb3IgdGhlIGZpbHRlcgogICNGaWVsZHMgZm9yIEZpbHRlclJ1bGU6CiAgI2lzYWN0aXZlIC0gKGJvb2w6MHwxKSB0cnVlIGlmIHRoZSBydWxlIHNob3VsZCBiZSBjb25zaWRlcmVkCiAgI3doYXQgLSAoZW51bTxlbWFpbHw+KSBmaWVsZCB0byBjaGVjawogICNob3cgLSAoZW51bTxlcXVhbHN8Y29udGFpbnN8ZG5jb250YWluPikgaG93IHRvIGNoZWNrIGZvciA8dmFsPgogICN2YWwgLSAoc3RyaW5nKSBzZWFyY2ggdmFsdWUKICAjRmllbGRzIGZvciBGaWx0ZXJBY3Rpb24KICAjdHlwZSAtIHR5cGUgb2YgZmlsdGVyIGFjdGlvbgotLS0KICBpc2FjdGl2ZTogMQogIGV4ZWNvcmRlcjogOTkKICBtYXRjaF9hbGxfcnVsZXM6IDAKICBlbWFpbF9pZDogMAogIHRhcmdldDogRW1haWwgI25vdHJhbnMKICBuYW1lOiBTWVNURU0gQkFOIExJU1QgI25vdHJhbnMKICBub3RlczogfAogICAgSW50ZXJuZSBsaWpzdCBvbSBlLW1haWxhZHJlc3NlbiB0ZSBibG9ra2VyZW4uIFZlcndpamRlciBkZXplIG5pZXQKICBydWxlczoKICAgIC0gCiAgICAgIGlzYWN0aXZlOiAxCiAgICAgIHc6IGVtYWlsICNub3RyYW5zCiAgICAgIGg6IGVxdWFsICNub3RyYW5zCiAgICAgIHY6IHRlc3RAZXhhbXBsZS5jb20gI25vdHJhbnMKICBhY3Rpb25zOgogICAgLSAKICAgICAgc29ydDogMQogICAgICB0eXBlOiByZWplY3QgI25vdHJhbnMKLSAKICAjRGVmYXVsdCAoZHluYW1pYykgZm9ybSBjb25maWd1cmF0aW9uLiBUaGlzIGRhdGEgaXMgdXNlZCBhcyB0aGUgaW5pdGlhbCwKICAjbWluaW1hbCBkYXRhIGZvciBkeW5hbWljIGZvcm1zIHRoYXQgc2hpcHMgd2l0aCB0aGUgc3lzdGVtLgogICNGaWVsZHM6CiAgI2lkOiAgICAgICBVc2VkIG9ubHkgaWYgYXNzb2NpYXRlZCB3aXRoIGEgaGVscCB0b3BpYwogICN0aXRsZTogICAgQm9sZCBzZWN0aW9uIHRpdGxlIG9mIHRoZSBmb3JtCiAgI2luc3RydWN0aW9uczogVGl0bGUgZGVjaywgZGV0YWlsZWQgaW5zdHJ1Y3Rpb25zIG9uIGVudGVyaW5nIGZvcm0gZGF0YQogICNub3RlczogICAgTm90ZXMgZm9yIHRoZSBmb3JtLCBzaG93biB1bmRlciB0aGUgZmllbGRzCiAgI2ZsYWdzOgogICMweDAwMDEgIElmIHRoZSBmb3JtIGNhbiBiZSByZW1vdmVkIGZyb20gdGhlIHN5c3RlbQogICNmaWVsZHM6ICAgTGlzdCBvZiBmaWVsZHMgZm9yIHRoZSBmb3JtCiAgI3R5cGU6ICAgICAgIEZpZWxkIHR5cGUgKHNob3J0IG5hbWUpIChlZy4gJ3RleHQnLCAnbWVtbycsICdwaG9uZScsIC4uLikKICAjbGFiZWw6ICAgICAgRmllbGQgbGFiZWwgc2hvd24gdG8gdGhlIHVzZXIKICAjbmFtZTogICAgICAgTmFtZSB1c2VkIHdpdGggdGhlIGRhdGEgaW50ZXJuYWxseS4gVGhpcyBpcyBlc3BlY2lhbGx5CiAgI3VzZWZ1bCBmb3IgcGFnZSBhbmQgZW1haWwgdGVtcGxhdGVzLCB3aGVyZSAleyB0aWNrZXQuPG5hbWU+IH0KICAjd2lsbCBiZSB1c2VkIHRvIHJldHJpZXZlIHRoZSBkYXRhIGZyb20gdGhlIGZpZWxkLgogICNoaW50OiAgICAgICBIZWxwIHRleHQgc2hvd24gd2l0aCB0aGUgZmllbGQKICAjZmxhZ3M6ICAgICAgQml0IG1hc2sgZm9yIHNldHRpbmdzICYgb3B0aW9ucwogICMjIEZyb20gY2xhc3MgRHluYW1pY0Zvcm1GaWVsZAogICNjb25zdCBGTEFHX01BU0tfQ0hBTkdFICAgICAgPSAweDAwMTA7ICAgICAjIFR5cGUgY2Fubm90IGNoYW5nZQogICNjb25zdCBGTEFHX01BU0tfREVMRVRFICAgICAgPSAweDAwMjA7ICAgICAjIENhbm5vdCBiZSBkZWxldGVkCiAgI2NvbnN0IEZMQUdfTUFTS19FRElUICAgICAgICA9IDB4MDA0MDsgICAgICMgRGF0YSBjYW5ub3QgYmUgZWRpdGVkCiAgI2NvbnN0IEZMQUdfTUFTS19ESVNBQkxFICAgICA9IDB4MDA4MDsgICAgICMgRmllbGQgY2Fubm90IGJlIGRpc2FibGVkCiAgI2NvbnN0IEZMQUdfTUFTS19SRVFVSVJFICAgICA9IDB4MTAwMDA7ICAgICMgUmVxdWlyZW1lbnQgY2Fubm90IGJlIGNoYW5nZWQKICAjY29uc3QgRkxBR19NQVNLX1ZJRVcgICAgICAgID0gMHgyMDAwMDsgICAgIyBWaWV3IHNldHRpbmdzIGNhbm5vdCBiZSBjaGFuZ2VkCiAgI2NvbnN0IEZMQUdfTUFTS19OQU1FICAgICAgICA9IDB4NDAwMDA7ICAgICMgTmFtZSBjYW5ub3QgYmUgY2hhbmdlZAogICNjb25maWd1cmF0aW9uOiBGaWVsZC1zcGVjaWZpYyBjb25maWd1cmF0aW9uCiAgI3NpemU6ICAgICAodGV4dCkgd2lkdGggb2YgdGhlIGZpZWxkCiAgI2xlbmd0aDogICAodGV4dCkgbWF4aW11bSBzaXplIG9mIHRoZSBkYXRhIGluIHRoZSBmaWVsZAogICNjb2xzOiAgICAgKG1lbW8pIHdpZHRoIG9mIHRoZSB0ZXh0YXJlYQogICNyb3dzOiAgICAgKG1lbW8pIGhlaWdodCBvZiB0aGUgdGV4dGFyZWEKLS0tCiAgaWQ6IDEKICB0eXBlOiBVICNub3RyYW5zCiAgdGl0bGU6IENvbnRhY3QgaW5mb3JtYXRpZQogIGZsYWdzOiAwCiAgZmllbGRzOgogICAgLSAKICAgICAgdHlwZTogdGV4dCAjbm90cmFucwogICAgICBuYW1lOiBlbWFpbCAjbm90cmFucwogICAgICBsYWJlbDogRS1tYWlsYWRyZXMKICAgICAgc29ydDogMQogICAgICBmbGFnczogNDg5Mzk1CiAgICAgIGNvbmZpZ3VyYXRpb246CiAgICAgICAgc2l6ZTogNDAKICAgICAgICBsZW5ndGg6IDY0CiAgICAgICAgdmFsaWRhdG9yOiBlbWFpbCAjbm90cmFucwogICAgLSAKICAgICAgdHlwZTogdGV4dCAjbm90cmFucwogICAgICBuYW1lOiBuYW1lICNub3RyYW5zCiAgICAgIGxhYmVsOiBWb2xsZWRpZ2UgbmFhbQogICAgICBzb3J0OiAyCiAgICAgIGZsYWdzOiA0ODkzOTUKICAgICAgY29uZmlndXJhdGlvbjoKICAgICAgICBzaXplOiA0MAogICAgICAgIGxlbmd0aDogNjQKICAgIC0gCiAgICAgIHR5cGU6IHBob25lICNub3RyYW5zCiAgICAgIG5hbWU6IHBob25lICNub3RyYW5zCiAgICAgIGxhYmVsOiBUZWxlZm9vbm51bW1lcgogICAgICBzb3J0OiAzCiAgICAgIGZsYWdzOiAxMzA1NwogICAgLSAKICAgICAgdHlwZTogbWVtbyAjbm90cmFucwogICAgICBuYW1lOiBub3RlcwogICAgICBsYWJlbDogSW50ZXJuZSBub3RpdGllcwogICAgICBzb3J0OiA0CiAgICAgIGZsYWdzOiAxMjI4OQogICAgICBjb25maWd1cmF0aW9uOgogICAgICAgIHJvd3M6IDQKICAgICAgICBjb2xzOiA0MAotIAogIGlkOiAyCiAgdHlwZTogVCAjbm90cmFucwogIHRpdGxlOiBUaWNrZXQgZGV0YWlscwogIGluc3RydWN0aW9uczogQmVzY2hyaWpmIHV3IHByb2JsZWVtIG9mIHZyYWFnCiAgbm90ZXM6IHwKICAgIERpdCBmb3JtdWxpZXIgemFsIGFhbiBlbGsgdGlja2V0IHdvcmRlbiBnZWtvcHBlbGQsIG9uZ2VhY2h0IGRlIGJyb24uIFUga3VudCB3aWxsZWtldXJpZ2UgdmVsZGVuIHRvZXZvZWdlbiBhYW4gZGl0IGZvcm11bGllciBlbiBkZXplIHp1bGxlbiB2b29yIGFsbGUgdGlja2V0cyBiZXNjaGlrYmFhciB6aWpuIGVuIHdvcmRlbiBvb2sgZG9vcnpvZWtiYWFyIG1ldCBnZWF2YW5jZWVyZCB6b2VrZW4gZW4gZC5tLnYuIGZpbHRlcnMuCiAgZmxhZ3M6IDAKICBmaWVsZHM6CiAgICAtIAogICAgICBpZDogMjAKICAgICAgdHlwZTogdGV4dCAjbm90cmFucwogICAgICBuYW1lOiBzdWJqZWN0ICNub3RyYW5zCiAgICAgIGxhYmVsOiBTYW1lbnZhdHRpbmcgdmFuIGhldCBwcm9ibGVlbSBvZiBkZSB2cmFhZwogICAgICBzb3J0OiAxCiAgICAgIGZsYWdzOiA0ODkyNjUKICAgICAgY29uZmlndXJhdGlvbjoKICAgICAgICBzaXplOiA0MAogICAgICAgIGxlbmd0aDogNTAKICAgIC0gCiAgICAgIGlkOiAyMQogICAgICB0eXBlOiB0aHJlYWQgI25vdHJhbnMKICAgICAgbmFtZTogbWVzc2FnZSAjbm90cmFucwogICAgICBsYWJlbDogUHJvYmxlZW0gb21zY2hyaWp2aW5nCiAgICAgIGhpbnQ6IERldGFpbHMgb3ZlciBkZSByZWRlbihlbikgdm9vciBoZXQgb3BlbmVuIHZhbiBoZXQgdGlja2V0LgogICAgICBzb3J0OiAyCiAgICAgIGZsYWdzOiA0ODA1NDcKICAgIC0gCiAgICAgIGlkOiAyMgogICAgICB0eXBlOiBwcmlvcml0eSAjbm90cmFucwogICAgICBuYW1lOiBwcmlvcml0eSAjbm90cmFucwogICAgICBsYWJlbDogUHJpb3JpdGVpdHNuaXZlYXUKICAgICAgZmxhZ3M6IDI3NDYwOQogICAgICBzb3J0OiAzCi0gCiAgdHlwZTogQyAjbm90cmFucwogIHRpdGxlOiBCZWRyaWpmc2dlZ2V2ZW5zCiAgaW5zdHJ1Y3Rpb25zOiBEZXRhaWxzIGJlc2NoaWtiYWFyIGluIGUtbWFpbHNqYWJsb25lbgogIGZsYWdzOiAwCiAgZmllbGRzOgogICAgLSAKICAgICAgdHlwZTogdGV4dCAjbm90cmFucwogICAgICBuYW1lOiBuYW1lICNub3RyYW5zCiAgICAgIGxhYmVsOiBCZWRyaWpmc25hYW0KICAgICAgc29ydDogMQogICAgICBmbGFnczogMjkxMjQ5CiAgICAgIGNvbmZpZ3VyYXRpb246CiAgICAgICAgc2l6ZTogNDAKICAgICAgICBsZW5ndGg6IDY0CiAgICAtIAogICAgICB0eXBlOiB0ZXh0ICNub3RyYW5zCiAgICAgIG5hbWU6IHdlYnNpdGUgI25vdHJhbnMKICAgICAgbGFiZWw6IFdlYnNpdGUKICAgICAgc29ydDogMgogICAgICBmbGFnczogMjc0NzA1CiAgICAgIGNvbmZpZ3VyYXRpb246CiAgICAgICAgc2l6ZTogNDAKICAgICAgICBsZW5ndGg6IDY0CiAgICAtIAogICAgICB0eXBlOiBwaG9uZSAjbm90cmFucwogICAgICBuYW1lOiBwaG9uZSAjbm90cmFucwogICAgICBsYWJlbDogVGVsZWZvb25udW1tZXIKICAgICAgc29ydDogMwogICAgICBmbGFnczogMjc0NzA1CiAgICAgIGNvbmZpZ3VyYXRpb246CiAgICAgICAgZXh0OiBmYWxzZQogICAgLSAKICAgICAgdHlwZTogbWVtbyAjbm90cmFucwogICAgICBuYW1lOiBhZGRyZXNzCiAgICAgIGxhYmVsOiBBZHJlcwogICAgICBzb3J0OiA0CiAgICAgIGZsYWdzOiAxMjU0NQogICAgICBjb25maWd1cmF0aW9uOgogICAgICAgIHJvd3M6IDIKICAgICAgICBjb2xzOiA0MAogICAgICAgIGh0bWw6IGZhbHNlCiAgICAgICAgbGVuZ3RoOiAxMDAKLSAKICB0eXBlOiBPICNub3RyYW5zCiAgdGl0bGU6IEluZm9ybWF0aWUgb3ZlciBkZSBvcmdhbmlzYXRpZQogIGluc3RydWN0aW9uczogR2VnZXZlbnMgb3ZlciBkZSBnZWJydWlrZXJzb3JnYW5pc2F0aWUKICBmbGFnczogMAogIGZpZWxkczoKICAgIC0gCiAgICAgIHR5cGU6IHRleHQgI25vdHJhbnMKICAgICAgbmFtZTogbmFtZSAjbm90cmFucwogICAgICBsYWJlbDogTmFhbQogICAgICBzb3J0OiAxCiAgICAgIGZsYWdzOiA0ODkzOTUKICAgICAgY29uZmlndXJhdGlvbjoKICAgICAgICBzaXplOiA0MAogICAgICAgIGxlbmd0aDogNjQKICAgIC0gCiAgICAgIHR5cGU6IG1lbW8KICAgICAgbmFtZTogYWRkcmVzcwogICAgICBsYWJlbDogQWRyZXMKICAgICAgc29ydDogMgogICAgICBmbGFnczogMTMwNTcKICAgICAgY29uZmlndXJhdGlvbjoKICAgICAgICByb3dzOiAyCiAgICAgICAgY29sczogNDAKICAgICAgICBsZW5ndGg6IDEwMAogICAgICAgIGh0bWw6IGZhbHNlCiAgICAtIAogICAgICB0eXBlOiBwaG9uZQogICAgICBuYW1lOiBwaG9uZQogICAgICBsYWJlbDogVGVsZWZvb24KICAgICAgc29ydDogMwogICAgICBmbGFnczogMTMwNTcKICAgIC0gCiAgICAgIHR5cGU6IHRleHQKICAgICAgbmFtZTogd2Vic2l0ZQogICAgICBsYWJlbDogV2Vic2l0ZQogICAgICBzb3J0OiA0CiAgICAgIGZsYWdzOiAxMzA1NwogICAgICBjb25maWd1cmF0aW9uOgogICAgICAgIHNpemU6IDQwCiAgICAgICAgbGVuZ3RoOiAwCiAgICAtIAogICAgICB0eXBlOiBtZW1vICNub3RyYW5zCiAgICAgIG5hbWU6IG5vdGVzCiAgICAgIGxhYmVsOiBJbnRlcm5lIG5vdGl0aWVzCiAgICAgIHNvcnQ6IDUKICAgICAgZmxhZ3M6IDEyMjg5CiAgICAgIGNvbmZpZ3VyYXRpb246CiAgICAgICAgcm93czogNAogICAgICAgIGNvbHM6IDQwCi0gCiAgdHlwZTogQSAjbm90cmFucwogIHRpdGxlOiBEZXRhaWxzIFRhYWsKICBpbnN0cnVjdGlvbnM6IEdlbGlldmUgaGV0IHByb2JsZWVtIHRlIG9tc2NocmlqdmVuCiAgbm90ZXM6IHwKICAgIERpdCBmb3JtdWxpZXIgd29yZHQgZ2VicnVpa3Qgb20gZWVuIHRhYWsgdGUgY3Jlw6tyZW4uCiAgZmxhZ3M6IDAKICBmaWVsZHM6CiAgICAtIAogICAgICB0eXBlOiB0ZXh0ICNub3RyYW5zCiAgICAgIG5hbWU6IHRpdGxlICNub3RyYW5zCiAgICAgIGZsYWdzOiA0ODc2MDEKICAgICAgc29ydDogMQogICAgICBsYWJlbDogVGl0ZWwKICAgICAgY29uZmlndXJhdGlvbjoKICAgICAgICBzaXplOiA0MAogICAgICAgIGxlbmd0aDogNTAKICAgIC0gCiAgICAgIHR5cGU6IHRocmVhZCAjbm90cmFucwogICAgICBuYW1lOiBkZXNjcmlwdGlvbiAjbm90cmFucwogICAgICBmbGFnczogNDEzOTM5CiAgICAgIHNvcnQ6IDIKICAgICAgbGFiZWw6IEJlc2NocmlqdmluZwogICAgICBoaW50OiBEZXRhaWxzIHZhbiBkZSByZWRlbihlbikgb20gZWVuIHRhYWsgdGUgY3Jlw6tyZW4uCi0gCiAgI0RlZmF1bHQgZ3JvdXBzIGRlZmluZWQgZm9yIHRoZSBzeXN0ZW0KICAjRmllbGRzOgogICNpZCAtIFByaW1hcnkgaWQgZm9yIHRoZSBncm91cAogICNyb2xlX2lkIC0gKGludCkgIGRlZmF1bHQgcm9sZSBmb3IgdGhlIGdyb3VwCiAgI2ZsYWdzIC0gKGJpdCBtYXNrKSBncm91cCBmbGFncwogICNuYW1lIC0gKHN0cmluZykgZGVzY3JpcHRpdmUgbmFtZSBmb3IgdGhlIGdyb3VwCiAgI25vdGVzIC0gKHN0cmluZykgYWRtaW5pc3RyYXRpdmUgbm90ZXMgKHZpZXdhYmxlIGludGVybmFsbHkgb25seSkKICAjZGVwdHM6IChsaXN0PERlcGFydG1lbnQ8aWQ+PikgaWQncyBvZiB0aGUgZGVwYXJ0bWVudHMgdG8gd2hpY2ggdGhlIGdyb3VwCiAgI3Nob3VsZCBpbml0aWFsbHkgaGF2ZSBhY2Nlc3MKICAjTk9URTogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgI1RoZSB2ZXJ5IGZpcnN0IGdyb3VwIGxpc3RlZCBpbiB0aGlzIGRvY3VtZW50IHdpbGwgYmUgdGhlIHByaW1hcnkgZ3JvdXAgb2YKICAjdGhlIGluaXRpYWwgc3RhZmYgbWVtYmVyIC0tIHRoZSBhZG1pbmlzdHJhdG9yLgotLS0KICBpZDogMQogIHJvbGVfaWQ6IDEKICBmbGFnczogMQogIG5hbWU6IExlZXV3ZW50ZW1tZXJzCiAgbm90ZXM6IHwKICAgIEZ1bmN0aW9uZWVsIGJlaGVlcmRlcnMuIERlemUgbWVuc2VuIGhlYmJlbiAoYWFudmFua2VsaWprKSB2b2xsZWRpZ2UgY29udHJvbGUgb3ZlciBhbGxlIGFmZGVsaW5nZW4gd2FhciB6ZSB0b2VnYW5nIHRvdCBoZWJiZW4uCiAgZGVwdHM6CiAgICAtIDEKICAgIC0gMgogICAgLSAzCi0gCiAgaWQ6IDIKICByb2xlX2lkOiAyCiAgZmxhZ3M6IDEKICBuYW1lOiBPbGlmYW50IHdhbmRlbGFhcnMKICBub3RlczogfAogICAgSG9nZSBQaWV0ZW4KICBkZXB0czoKICAgIC0gMQogICAgLSAyCiAgICAtIDMKLSAKICBpZDogMwogIHJvbGVfaWQ6IDIKICBmbGFnczogMQogIG5hbWU6IFZsbyBUcmFpbmVycwogIG5vdGVzOiB8CiAgICBMYWdlcmUgbWVkZXdlcmtlcnMKICBkZXB0czoKICAgIC0gMQogICAgLSAyCiAgICAtIDMKLSAKICAjRGVmYXVsdCBoZWxwIHRvcGljcyBpbnN0YWxsZWQgZm9yIHRoZSBzeXN0ZW0KICAjRmllbGRzOgogICNpZCAtIChpbnQ6b3B0aW9uYWwpIGlkIG51bWJlciBpbiB0aGUgZGF0YWJhc2UKICAjdG9waWMgLSAoc3RyaW5nKSBkZXNjcmlwdGl2ZSBuYW1lIG9mIHRoZSBoZWxwIHRvcGljCiAgI2ZsYWdzIC0gKGJpdG1hc2s6IEFjdGl2ZSB8IERpc2FibGVkIHwgQXJjaGl2ZWQpCiAgI2lzcHVibGljIC0gKGJvb2w6MHwxKSB0cnVlIG9yIGZhbHNlIGlmIGVuZCB1c2VycyBzaG91bGQgYmUgYWJsZSB0byBzZWUgdGhlCiAgI2hlbHAgdG9waWMuIEluIG90aGVyIHdvcmRzLCB0cnVlIG9yIGZhbHNlIGlmIHRoZSBoZWxwIHRvcGljIGlzIF9ub3RfCiAgI2ZvciBpbnRlcm5hbCB1c2Ugb25seQogICNub2F1dG9yZXNwIC0gKGJvb2w6MSkgdHJ1ZSB0byBkaXNhYmxlIHRoZSBhdXRvLXJlc3BvbmRlciBmb3IgdGlja2V0cwogICNhc3NpZ25lZCB0byB0aGlzIGhlbHAgdG9waWMuIE5PVEUgdGhhdCB0aGlzIGZpZWxkIG11c3QgYmUgY29tcGxldGVseQogICNvbWl0dGVkIHRvIEVOQUJMRSB0aGUgYXV0by1yZXNwb25zZSBieSBkZWZhdWx0CiAgI2RlcHRfaWQgLSAoaW50KSBpZCBudW1iZXIgb2YgdGhlIGRlcGFydG1lbnQgd2l0aCB3aGljaCB0aGlzIGhlbHAgdG9waWMgaXMKICAjYXNzb2NpYXRlZAogICNzbGFfaWQgLSAoaW50Om9wdGlvbmFsKSBpZCBudW1iZXIgb2YgdGhlIHNsYSB3aXRoIHdoaWNoIHRoaXMgaGVscCB0b3BpYyBpcwogICNhc3NvY2lhdGVkCiAgI25vdGVzIC0gKHN0cmluZykgYWRtaW5pc3RyYXRpdmUgbm90ZXMgKGludGVybmFsbHkgdmlld2FibGUgb25seSkKLS0tCiAgdG9waWNfaWQ6IDEKICBmbGFnczogMHgwMgogIGlzcHVibGljOiAxCiAgcHJpb3JpdHlfaWQ6IDIKICBmb3JtczoKICAgIC0gMgogIHRvcGljOiBBbGdlbWVuZSB2cmFhZwogIG5vdGVzOiB8CiAgICBWcmFnZW4gb3ZlciBwcm9kdWN0ZW4gb2YgZGllbnN0ZW4KLSAKICB0b3BpY19pZDogMgogIGZsYWdzOiAweDAyCiAgaXNwdWJsaWM6IDEKICBwcmlvcml0eV9pZDogMQogIGZvcm1zOgogICAgLSAyCiAgdG9waWM6IFRlcnVna29wcGVsaW5nCiAgbm90ZXM6IHwKICAgIFRpY2tldHMgZGllIHZvb3JuYW1lbGlqayBiZXRyZWtraW5nIGhlYmJlbiBvcCBkZSBhZmRlbGluZ2VuIHZlcmtvb3AgZW4gZmFjdHVyYXRpZQotIAogIHRvcGljX2lkOiAxMAogIGZsYWdzOiAweDAyCiAgaXNwdWJsaWM6IDEKICBkZXB0X2lkOiAzCiAgcHJpb3JpdHlfaWQ6IDIKICBmb3JtczoKICAgIC0gMgogIHRvcGljOiBNZWxkIGVlbiBwcm9ibGVlbQogIG5vdGVzOiB8CiAgICBQcm9kdWN0LCBkaWVuc3Qgb2YgYXBwYXJhdHV1ciBnZXJlbGF0ZWVyZGUgemFrZW4KLSAKICB0b3BpY19waWQ6IDEwCiAgZmxhZ3M6IDB4MDIKICBpc3B1YmxpYzogMQogIHNsYV9pZDogMQogIHByaW9yaXR5X2lkOiAzCiAgZm9ybXM6CiAgICAtIDIKICB0b3BpYzogSW5sb2dwcm9ibGVtZW4KICBub3RlczogfAogICAgTWVsZCBlZW4gcHJvYmxlZW0gYWFuIG1ldCBkZSB0b2VnYW5nIHRvdCBlZW4gZnlzaWVrIG9mIHZpcnR1ZWVsIG9uZGVyZGVlbAotIAogICNDdXN0b20gKGR5bmFtaWMpIGxpc3RzLiBUaGlzIGRhdGEgaXMgdXNlZCBhcyB0aGUgaW5pdGlhbCwKICAjbWluaW1hbCBkYXRhIGZvciBkeW5hbWljIGxpc3QgdGhhdCBzaGlwcyB3aXRoIHRoZSBzeXN0ZW0uCiAgI0ZpZWxkczoKICAjaWQ6ICAgICAgICAgICBQcmltYXJ5IGlkIChub3QgcmVjb21tZW5kZWQpCiAgI25hbWU6ICAgICAgICAgTmFtZSBvZiB0aGUgbGlzdAogICNuYW1lX3BsdXJhbDogIE5hbWUgaW4gcGx1cmFsIChvcHRpb25hbCkKICAjc29ydF9tb2RlOiAgICBTb3J0aW5nIG9yZGVyIChBbHBoYSwgLUFscGhhLCBTb3J0Q29sKQogICNtYXNrczogICAgICAgIEVkaXQgbWFza3MgdG8gaW5kaWNhdGUgdmFyaW91cyBzdGF0dXNlcyBvZiB0aGUgbGlzdAogICMoZS5nICBpZiBlZGl0YWJsZSBvciBkZWxldGFibGUuLmV0YykKICAjbm90ZXM6ICAgICAgICBOb3RlcyBmb3IgdGhlIGxpc3QKICAjaXRlbXM6ICAgICAgICBMaXN0IG9mIGl0ZW1zIGZvciB0aGUgbGlzdAogICNpZDogICAgICAgICBQcmltYXJ5IGlkCiAgI3ZhbHVlOiAgICAgIFZhbHVlIChuYW1lKSBvZiB0aGUgbGlzdCBpdGVtCiAgI2V4dHJhOiAgICAgIEFiYnJldmlhdGVkIHZlcnNpb24gb2YgdGhlIHZhbHVlCiAgI3N0YXR1czogICAgIElmIGVuYWJsZWQgKDEgLSBlbmFibGVkLCAwIC0gZGlzYWJsZWQpCiAgI3NvcnQ6ICAgICAgIFNvcnQgb3JkZXIgIChvcHRpb25hbCkKICAjcHJvcGVydGllczogSXRlbS1zcGVjaWZpYyBjb25maWcgYmFzZWQgb24gVGlja2V0IEZsYWdzIGZvcm0gZmllbGRzCiAgIyhrZXkpOiAgKHZhbHVlKQogICNwcm9wZXJ0aWVzOiAgIExpc3QgcHJvcGVydGllcyBmb3JtIChzZWUgZm9ybS55YW1sIGZvciBkZXRhaWxzKQogICNUaWNrZXQgc3RhdHVzZXMKLS0tCiAgdHlwZTogdGlja2V0LXN0YXR1cyAjbm90cmFucwogIG5hbWU6IFRpY2tldHN0YXR1cwogIG5hbWVfcGx1cmFsOiBUaWNrZXQgc3RhdHVzc2VuCiAgc29ydF9tb2RlOiBTb3J0Q29sICNub3RyYW5zCiAgbWFza3M6IDEzCiAgbm90ZXM6IHwKICAgIFRpY2tldCBzdGF0dXNzZW4KICBwcm9wZXJ0aWVzOgogICAgdGl0bGU6IFRpY2tldCBzdGF0dXNlaWdlbnNjaGFwcGVuCiAgICBpbnN0cnVjdGlvbnM6IEVpZ2Vuc2NoYXBwZW4gZGllIGt1bm5lbiB3b3JkZW4gaW5nZXN0ZWxkIG9wIGRlIHN0YXR1cyB2YW4gZWVuIHRpY2tldC4KICAgIGZsYWdzOiAwCiAgICBmaWVsZHM6CiAgICAgIC0gCiAgICAgICAgdHlwZTogc3RhdGUgI25vdHJhbnMKICAgICAgICBuYW1lOiBzdGF0ZSAjbm90cmFucwogICAgICAgIGxhYmVsOiBTdGF0dXMKICAgICAgICBzb3J0OiAxCiAgICAgICAgZmxhZ3M6IDQ4NzY2NQogICAgICAgIGNvbmZpZ3VyYXRpb246CiAgICAgICAgICBwcm9tcHQ6IFN0YXR1cyB2YW4gZWVuIHRpY2tldAogICAgICAtIAogICAgICAgIHR5cGU6IG1lbW8gI25vdHJhbnMKICAgICAgICBuYW1lOiBkZXNjcmlwdGlvbiAjbm90cmFucwogICAgICAgIGxhYmVsOiBCZXNjaHJpanZpbmcKICAgICAgICBzb3J0OiAzCiAgICAgICAgZmxhZ3M6IDQ3MTA3MwogICAgICAgIGNvbmZpZ3VyYXRpb246CiAgICAgICAgICByb3dzOiAyCiAgICAgICAgICBjb2xzOiA0MAogICAgICAgICAgaHRtbDogZmFsc2UKICAgICAgICAgIGxlbmd0aDogMTAwCiAgY29uZmlndXJhdGlvbjoKICAgIGhhbmRsZXI6IFRpY2tldFN0YXR1c0xpc3QKLSAKICAjSW5pdGlhbCBvcmdhbml6YXRpb25zIGRlZmluZWQgZm9yIHRoZSBzeXN0ZW0uCiAgI0ZpZWxkczoKICAjbmFtZSAtIERlc2NyaXB0aXZlIG5hbWUgZm9yIHRoZSBvcmdhbml6YXRpb24KICAjZmllbGRzIC0gY3VzdG9tIGZpZWxkcwotLS0KICBuYW1lOiBvc1RpY2tldAogIGZpZWxkczoKICAgIDA6IHwKICAgICAgMTEyMCA1dGggU3RyZWV0CiAgICAgIEFsZXhhbmRyaWEsIExBIDcxMzAxCiAgICBwaG9uZTogKDMxOCkgMjkwLTM2NzQKICAgIHdlYnNpdGU6IGh0dHBzOi8vb3N0aWNrZXQuY29tCiAgICBub3RlczogPgogICAgICBXaWogaGViYmVuIG5pZXQgYWxsZWVuIGRlIHNvZnR3YXJlIG9udHdpa2tlbGQsIHdpaiBnZWJydWlrZW4gaGV0IHplbGYgb29rIHZvb3IgZGUgb25kZXJzdGV1bmluZyB2YW4gb3NUaWNrZXQuIFdpaiBoZWxwZW4gamUgZ3JhYWcgb20gb3NUaWNrZXQgc25lbCB0ZSBrdW5uZW4gaW1wbGVtZW50ZXJlbiBlbiBhbGxlIG1vZ2VsaWpraGVkZW4gZW4gZnVuY3Rpb25hbGl0ZWl0ZW4gdGUgYmVudXR0ZW4uIE5lZW0gY29udGFjdCBvcCBtZXQgb256ZSBwcm9mZXNzaW9uZWxlIG9uZGVyc3RldW5pbmcgb2YgbWFhayBnZWJydWlrIHZhbiBkZSBvbmxpbmUgZG9jdW1lbnRhdGllIG9mIGdlbWVlbnNjaGFwcGVsaWprZSBvbmRlcnN0ZXVuaW5nIG9wIG9ucyBmb3J1bS4KI0RlZmF1bHQgc3lzdGVtIGRhdGEgZm9yIHRpY2tldCBwcmlvcml0aWVzCi0tLQpsb3c6CiAgcHJpb3JpdHlfaWQ6IDEKICBwcmlvcml0eV9kZXNjOiBMYWFnCiAgcHJpb3JpdHlfY29sb3I6ICIjRERGRkREIgogIHByaW9yaXR5X3VyZ2VuY3k6IDQKbm9ybWFsOgogIHByaW9yaXR5X2lkOiAyCiAgcHJpb3JpdHlfZGVzYzogTm9ybWFhbAogIHByaW9yaXR5X2NvbG9yOiAiI0ZGRkZGMEEiCiAgcHJpb3JpdHlfdXJnZW5jeTogMwpoaWdoOgogIHByaW9yaXR5X2lkOiAzCiAgcHJpb3JpdHlfZGVzYzogSG9vZwogIHByaW9yaXR5X2NvbG9yOiAiI0ZFRTdFNyIKICBwcmlvcml0eV91cmdlbmN5OiAyCmVtZXJnZW5jeToKICBwcmlvcml0eV9pZDogNAogIHByaW9yaXR5X2Rlc2M6IFNwb2VkCiAgcHJpb3JpdHlfY29sb3I6ICIjRkVFN0U3IgogIHByaW9yaXR5X3VyZ2VuY3k6IDEKLSAKICAjQ29sdW1ucyBhcmUgbm90IG5lY2Vzc2FyeSBhbmQgYSBkZWZhdWx0IGxpc3QgaXMgdXNlZCBpZiBubyBjb2x1bW5zIGFyZQogICNzcGVjaWZpZWQuCiAgI0ZpZWxkczoKICAjaWQ6CiAgI2ZsYWdzOiAgICAgICh1bnVzZWQpCiAgI25hbWU6ICAgICAgIERpc3BsYXkgbmFtZSBvZiB0aGUgY29sdW1uCiAgI3ByaW1hcnk6ICAgIERhdGEgc291cmNlIGZvciB0aGUgZmllbGQKICAjc2Vjb25kYXJ5OiAgQmFja3VwIGRhdGEgc291cmNlIC8gZGVmYXVsdCB0ZXh0CiAgI2ZpbHRlcjogICAgIFdoYXQgdGhlIGZpZWxkIHNob3VsZCBsaW5rIHRvCiAgIydsaW5rOnRpY2tldCc6ICAgIFRpY2tldAogICMnbGluazp1c2VyJzogICAgICBVc2VyCiAgIydsaW5rOm9yZyc6ICAgICAgIE9yZ2FuaXphdGlvbgogICMnbGluazp0aWNrZXRQJzogICBUaWNrZXQgd2l0aCBob3ZlciBwcmV2aWV3CiAgI3RydW5jYXRlOgogICMnd3JhcCc6ICAgRm9sZCB3b3JkcyBvbiBtdWx0aXBsZSBsaW5lcwogICNhbm5vdGF0aW9uczoKICAjYzogICAgICAgIEFubm90YXRpb24gY2xhc3MgbmFtZQogICNwOiAgICAgICAgUGxhY2VtZW50CiAgIydhJzogICAgQWZ0ZXIgY29sdW1uIHRleHQKICAjJ2InOiAgICBCZWZvcmUgY29sdW1uIHRleHQKICAjJzwnOiAgICBGbG9hdCB0byBzdGFydCAobGVmdCkKICAjJz4nOiAgICBGbG9hdCB0byBlbmQgKHJpZ2h0KQogICNjb25kaXRpb25zOgogICNjcml0OiAgICAgQ3JpdGVyaWEgZm9yIHRoZSBjb25kaWRpdG9uLCBpbiB0aGUgZm9ybSBvZiBbZmllbGQsIG1ldGhvZCwgdmFsdWVdCiAgI3Byb3A6ICAgICBBcnJheSBvZiBDU1MgcHJvcGVydGllcyB0byBhcHBseSB0byB0aGUgZmllbGQKICAjJ2ZvbnQtd2VpZ2h0JzoKICAjJ2ZvbnQtc3R5bGUnOgogICMuLi4KICAjZXh0cmE6ICAgICAgKGZ1dHVyZSB1c2UgYW5kIGZvciBwbHVnaW5zKQotLS0KICBpZDogMQogIG5hbWU6ICJUaWNrZXQgIyIKICBwcmltYXJ5OiAibnVtYmVyIgogIGZpbHRlcjogIiIKICB0cnVuY2F0ZTogIndyYXAiCiAgYW5ub3RhdGlvbnM6ICdbeyJjIjoiVGlja2V0U291cmNlRGVjb3JhdGlvbiIsInAiOiJiIn1dJwogIGNvbmRpdGlvbnM6ICdbeyJjcml0IjpbImlzYW5zd2VyZWQiLCJuc2V0IixudWxsXSwicHJvcCI6eyJmb250LXdlaWdodCI6ImJvbGQifX1dJwotIAogIGlkOiAyCiAgbmFtZTogIkFhbm1hYWtkYXR1bSIKICBwcmltYXJ5OiAiY3JlYXRlZCIKICBzZWNvbmRhcnk6IG51bGwKICBmaWx0ZXI6ICJkYXRlOmZ1bGwiCiAgdHJ1bmNhdGU6ICJ3cmFwIgogIGFubm90YXRpb25zOiAiW10iCiAgY29uZGl0aW9uczogIltdIgotIAogIGlkOiAzCiAgbmFtZTogIk9uZGVyd2VycCIKICBwcmltYXJ5OiAiY2RhdGFfX3N1YmplY3QiCiAgZmlsdGVyOiAibGluazp0aWNrZXQiCiAgdHJ1bmNhdGU6ICJlbGxpcHNpcyIKICBhbm5vdGF0aW9uczogJ1t7ImMiOiJUaWNrZXRUaHJlYWRDb3VudCIsInAiOiI+In0seyJjIjoiVGhyZWFkQXR0YWNobWVudENvdW50IiwicCI6ImEifSx7ImMiOiJPdmVyZHVlRmxhZ0RlY29yYXRpb24iLCJwIjoiPCJ9LHsiYyI6IkxvY2tEZWNvcmF0aW9uIiwicCI6IjwifV0nCiAgY29uZGl0aW9uczogJ1t7ImNyaXQiOlsiaXNhbnN3ZXJlZCIsIm5zZXQiLG51bGxdLCJwcm9wIjp7ImZvbnQtd2VpZ2h0IjoiYm9sZCJ9fV0nCi0gCiAgaWQ6IDQKICBuYW1lOiAiR2VicnVpa2VycyBuYWFtIgogIHByaW1hcnk6ICJ1c2VyX19uYW1lIgogIHRydW5jYXRlOiAid3JhcCIKICBhbm5vdGF0aW9uczogJ1t7ImMiOiJUaHJlYWRDb2xsYWJvcmF0b3JDb3VudCIsInAiOiI+In1dJwogIGNvbmRpdGlvbnM6ICJbXSIKLSAKICBpZDogNQogIG5hbWU6ICJQcmlvcml0ZWl0IgogIHByaW1hcnk6ICJjZGF0YV9fcHJpb3JpdHkiCiAgdHJ1bmNhdGU6ICJ3cmFwIgogIGFubm90YXRpb25zOiAiW10iCiAgY29uZGl0aW9uczogIltdIgotIAogIGlkOiA2CiAgbmFtZTogIlN0YXR1cyIKICBwcmltYXJ5OiAic3RhdHVzX19pZCIKICB0cnVuY2F0ZTogIndyYXAiCiAgYW5ub3RhdGlvbnM6ICJbXSIKICBjb25kaXRpb25zOiAiW10iCi0gCiAgaWQ6IDcKICBuYW1lOiAiU2x1aXRpbmdzZGF0dW0iCiAgcHJpbWFyeTogImNsb3NlZCIKICBmaWx0ZXI6ICJkYXRlOmZ1bGwiCiAgdHJ1bmNhdGU6ICJ3cmFwIgogIGFubm90YXRpb25zOiAiW10iCiAgY29uZGl0aW9uczogIltdIgotIAogIGlkOiA4CiAgbmFtZTogIlRvZWdld2V6ZW5lIgogIHByaW1hcnk6ICJhc3NpZ25lZSIKICB0cnVuY2F0ZTogIndyYXAiCiAgYW5ub3RhdGlvbnM6ICJbXSIKICBjb25kaXRpb25zOiAiW10iCi0gCiAgaWQ6IDAKICBuYW1lOiAiVmVydmFsZGF0dW0iCiAgcHJpbWFyeTogImR1ZWRhdGUiCiAgc2Vjb25kYXJ5OiAiZXN0X2R1ZWRhdGUiCiAgZmlsdGVyOiAiZGF0ZTpodW1hbiIKICB0cnVuY2F0ZTogIndyYXAiCiAgYW5ub3RhdGlvbnM6ICJbXSIKICBjb25kaXRpb25zOiAiW10iCi0gCiAgaWQ6IDEwCiAgbmFtZTogIkxhYXRzdCBiaWpnZXdlcmt0IgogIHByaW1hcnk6ICJsYXN0dXBkYXRlIgogIGZpbHRlcjogImRhdGU6ZnVsbCIKICB0cnVuY2F0ZTogIndyYXAiCiAgYW5ub3RhdGlvbnM6ICJbXSIKICBjb25kaXRpb25zOiAiW10iCi0gCiAgaWQ6IDAKICBuYW1lOiAiQWZkZWxpbmciCiAgcHJpbWFyeTogImRlcHRfaWQiCiAgdHJ1bmNhdGU6ICJ3cmFwIgogIGFubm90YXRpb25zOiAiW10iCiAgY29uZGl0aW9uczogIltdIgotIAogIGlkOiAxMgogIG5hbWU6ICJMYWF0c3RlIGJlcmljaHQiCiAgcHJpbWFyeTogInRocmVhZF9fbGFzdG1lc3NhZ2UiCiAgZmlsdGVyOiAiZGF0ZTpodW1hbiIKICB0cnVuY2F0ZTogIndyYXAiCiAgYW5ub3RhdGlvbnM6ICJbXSIKICBjb25kaXRpb25zOiAiW10iCi0gCiAgaWQ6IDEzCiAgbmFtZTogIkxhYXRzdGUgcmVhY3RpZSIKICBwcmltYXJ5OiAidGhyZWFkX19sYXN0cmVzcG9uc2UiCiAgZmlsdGVyOiAiZGF0ZTpodW1hbiIKICB0cnVuY2F0ZTogIndyYXAiCiAgYW5ub3RhdGlvbnM6ICJbXSIKICBjb25kaXRpb25zOiAiW10iCi0gCiAgaWQ6IDAKICBuYW1lOiAidGVhbSIKICBwcmltYXJ5OiAidGVhbV9pZCIKICB0cnVuY2F0ZTogIndyYXAiCiAgYW5ub3RhdGlvbnM6ICJbXSIKICBjb25kaXRpb25zOiAiW10iCi0gCiAgI0NvbHVtbnMgYXJlIG5vdCBuZWNlc3NhcnkgYW5kIGEgZGVmYXVsdCBsaXN0IGlzIHVzZWQgaWYgbm8gY29sdW1ucyBhcmUKICAjc3BlY2lmaWVkLgogICNGaWVsZHM6CiAgI2lkOgotLS0KICBpZDogMQogIG5hbWU6IFByaW9yaXRlaXQgZW4gTWVlc3QgYWN0dWVsZQogIGNvbHVtbnM6ICdbIi1jZGF0YV9fcHJpb3JpdHkiLCItbGFzdHVwZGF0ZSJdJwotIAogIGlkOiAyCiAgbmFtZTogUHJpb3JpdGVpdCBlbiBNZWVzdCBhY3R1ZWVsIGFhbmdlbWFha3QKICBjb2x1bW5zOiAnWyItY2RhdGFfX3ByaW9yaXR5IiwiLWNyZWF0ZWQiXScKLSAKICBpZDogMwogIG5hbWU6IFByaW9yaXRlaXQgZW4gdmVybG9vcGRhdHVtCiAgY29sdW1uczogJ1siLWNkYXRhX19wcmlvcml0eSIsIi1lc3RfZHVlZGF0ZSJdJwotIAogIGlkOiA0CiAgbmFtZTogVmVydmFsZGF0dW0KICBjb2x1bW5zOiAnWyItZXN0X2R1ZWRhdGUiXScKLSAKICBpZDogNQogIG5hbWU6IFNsdWl0ZGF0dW0KICBjb2x1bW5zOiAnWyItY2xvc2VkIl0nCi0gCiAgaWQ6IDYKICBuYW1lOiBBYW5tYWFrZGF0dW0KICBjb2x1bW5zOiAnWyItY3JlYXRlZCJdJwotIAogIGlkOiA3CiAgbmFtZTogVXBkYXRlIERhdGUKICBjb2x1bW5zOiAnWyItbGFzdHVwZGF0ZSJdJwotIAogICNCYXNpYyBxdWV1ZXMgZm9yIHRoZSBpbml0aWFsIHRpY2tldCBzeXN0ZW0uIFF1ZXVlcyBpbnN0YWxsZWQgZm9yCiAgIy0gT3BlbiAvIEFsbAogICMtIE9wZW4gLyBVbmFzc2lnbmVkCiAgIy0gT3BlbiAvIE92ZXJkdWUKICAjLSBBbnN3ZXJlZCAvIEFsbAogICMtIE15IFRpY2tldHMgLyBBbGwKICAjLSBDbG9zZWQgLyBBbGwKICAjRmllbGRzOgogICNpZDoKICAjcGFyZW50X2lkOgogICNmbGFnczoKICAjMHgwMTogICBGTEFHX1BVQkxJQwogICMweDAyOiAgIEZMQUdfUVVFVUUgKHNob3VsZCBiZSBzZXQgZm9yIGV2ZXJ5dGhpbmcgaGVyZSkKICAjMHgwNDogICBGTEFHX0RJU0FCTEVECiAgIzB4MDg6ICAgRkxBR19JTkhFUklUIChpbmhlcml0IGNyaXRlcmlhIGZyb20gcGFyZW50KQogICMweDEwOiAgIEZMQUdfSU5IRVJJVF9DT0xVTU5TCiAgIzB4MjA6ICAgRkxBR19JTkhFUklUX1NPUlRJTkcKICAjc3RhZmZfaWQ6IFVzZXIgb3duZXIgb2YgdGhlIHF1ZXVlCiAgI3NvcnQ6ICAgICBNYW51YWwgc29ydCBvcmRlcgogICN0aXRsZTogICAgRGlzcGxheSBuYW1lIG9mIHRoZSBxdWV1ZQogICNjb25maWc6ICAgQ3JpdGVyaWEgY29uZmlndXJhdGlvbgogICNmaWx0ZXI6ICAgUXVpY2sgZmlsdGVyIGZpZWxkCiAgI3Jvb3Q6ICAgICBPYmplY3QgdHlwZSBvZiB0aGUgcXVldWUgbGlzdGluZwogICMnVCc6ICAgIFRpY2tldHMKICAjJ0EnOiAgICBUYXNrcwotLS0KICBpZDogMQogIHRpdGxlOiBPcGVuCiAgcGFyZW50X2lkOiAwCiAgZmxhZ3M6IDB4MDMKICBzb3J0OiAxCiAgc29ydF9pZDogMQogIHJvb3Q6IFQKICBjb25maWc6ICdbWyJzdGF0dXNfX3N0YXRlIiwiaW5jbHVkZXMiLHsib3BlbiI6Ik9wZW4ifV1dJwogIGNvbHVtbnM6CiAgICAtIAogICAgICBjb2x1bW5faWQ6IDEKICAgICAgYml0czogMQogICAgICBzb3J0OiAxCiAgICAgIHdpZHRoOiAxMDAKICAgICAgaGVhZGluZzogVGlja2V0CiAgICAtIAogICAgICBjb2x1bW5faWQ6IDEwCiAgICAgIGJpdHM6IDEKICAgICAgc29ydDogMgogICAgICB3aWR0aDogMTUwCiAgICAgIGhlYWRpbmc6IExhYXRzdCBiaWpnZXdlcmt0CiAgICAtIAogICAgICBjb2x1bW5faWQ6IDMKICAgICAgYml0czogMQogICAgICBzb3J0OiAzCiAgICAgIHdpZHRoOiAzMDAKICAgICAgaGVhZGluZzogT25kZXJ3ZXJwCiAgICAtIAogICAgICBjb2x1bW5faWQ6IDQKICAgICAgYml0czogMQogICAgICBzb3J0OiA0CiAgICAgIHdpZHRoOiAxODUKICAgICAgaGVhZGluZzogVmFuCiAgICAtIAogICAgICBjb2x1bW5faWQ6IDUKICAgICAgYml0czogMQogICAgICBzb3J0OiA1CiAgICAgIHdpZHRoOiA4NQogICAgICBoZWFkaW5nOiBQcmlvcml0ZWl0CiAgICAtIAogICAgICBjb2x1bW5faWQ6IDgKICAgICAgYml0czogMQogICAgICBzb3J0OiA2CiAgICAgIHdpZHRoOiAxNjAKICAgICAgaGVhZGluZzogVG9lZ2V3ZXplbiBhYW4KICBzb3J0czoKICAgIC0gCiAgICAgIHNvcnRfaWQ6IDEKICAgIC0gCiAgICAgIHNvcnRfaWQ6IDIKICAgIC0gCiAgICAgIHNvcnRfaWQ6IDMKICAgIC0gCiAgICAgIHNvcnRfaWQ6IDQKICAgIC0gCiAgICAgIHNvcnRfaWQ6IDYKICAgIC0gCiAgICAgIHNvcnRfaWQ6IDcKLSAKICBpZDogMgogIHRpdGxlOiBPcGVuCiAgcGFyZW50X2lkOiAxCiAgZmxhZ3M6IDQzCiAgcm9vdDogVAogIHNvcnQ6IDEKICBzb3J0X2lkOiA0CiAgY29uZmlnOiAneyJjcml0ZXJpYSI6W1siaXNhbnN3ZXJlZCIsIm5zZXQiLG51bGxdXSwiY29uZGl0aW9ucyI6W119JwogIGNvbHVtbnM6CiAgICAtIAogICAgICBjb2x1bW5faWQ6IDEKICAgICAgYml0czogMQogICAgICBzb3J0OiAxCiAgICAgIHdpZHRoOiAxMDAKICAgICAgaGVhZGluZzogVGlja2V0CiAgICAtIAogICAgICBjb2x1bW5faWQ6IDEwCiAgICAgIGJpdHM6IDEKICAgICAgc29ydDogMgogICAgICB3aWR0aDogMTUwCiAgICAgIGhlYWRpbmc6IExhYXRzdCBiaWpnZXdlcmt0CiAgICAtIAogICAgICBjb2x1bW5faWQ6IDMKICAgICAgYml0czogMQogICAgICBzb3J0OiAzCiAgICAgIHdpZHRoOiAzMDAKICAgICAgaGVhZGluZzogT25kZXJ3ZXJwCiAgICAtIAogICAgICBjb2x1bW5faWQ6IDQKICAgICAgYml0czogMQogICAgICBzb3J0OiA0CiAgICAgIHdpZHRoOiAxODUKICAgICAgaGVhZGluZzogVmFuCiAgICAtIAogICAgICBjb2x1bW5faWQ6IDUKICAgICAgYml0czogMQogICAgICBzb3J0OiA1CiAgICAgIHdpZHRoOiA4NQogICAgICBoZWFkaW5nOiBQcmlvcml0ZWl0CiAgICAtIAogICAgICBjb2x1bW5faWQ6IDgKICAgICAgYml0czogMQogICAgICBzb3J0OiA2CiAgICAgIHdpZHRoOiAxNjAKICAgICAgaGVhZGluZzogVG9lZ2V3ZXplbiBhYW4KLSAKICBpZDogMwogIHRpdGxlOiBCZWFudHdvb3JkCiAgcGFyZW50X2lkOiAxCiAgZmxhZ3M6IDQzCiAgcm9vdDogVAogIHNvcnQ6IDIKICBzb3J0X2lkOiA0CiAgY29uZmlnOiAneyJjcml0ZXJpYSI6W1siaXNhbnN3ZXJlZCIsInNldCIsbnVsbF1dLCJjb25kaXRpb25zIjpbXX0nCiAgY29sdW1uczoKICAgIC0gCiAgICAgIGNvbHVtbl9pZDogMQogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDEKICAgICAgd2lkdGg6IDEwMAogICAgICBoZWFkaW5nOiBUaWNrZXQKICAgIC0gCiAgICAgIGNvbHVtbl9pZDogMTAKICAgICAgYml0czogMQogICAgICBzb3J0OiAyCiAgICAgIHdpZHRoOiAxNTAKICAgICAgaGVhZGluZzogTGFhdHN0IGJpamdld2Vya3QKICAgIC0gCiAgICAgIGNvbHVtbl9pZDogMwogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDMKICAgICAgd2lkdGg6IDMwMAogICAgICBoZWFkaW5nOiBPbmRlcndlcnAKICAgIC0gCiAgICAgIGNvbHVtbl9pZDogNAogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDQKICAgICAgd2lkdGg6IDE4NQogICAgICBoZWFkaW5nOiBWYW4KICAgIC0gCiAgICAgIGNvbHVtbl9pZDogNQogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDUKICAgICAgd2lkdGg6IDg1CiAgICAgIGhlYWRpbmc6IFByaW9yaXRlaXQKICAgIC0gCiAgICAgIGNvbHVtbl9pZDogOAogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDYKICAgICAgd2lkdGg6IDE2MAogICAgICBoZWFkaW5nOiBUb2VnZXdlemVuIGFhbgotIAogIGlkOiA0CiAgdGl0bGU6IEFjaHRlcnN0YWxsaWcKICBwYXJlbnRfaWQ6IDEKICBmbGFnczogNDMKICByb290OiBUCiAgc29ydDogMwogIHNvcnRfaWQ6IDQKICBjb25maWc6ICd7ImNyaXRlcmlhIjpbWyJpc292ZXJkdWUiLCJzZXQiLG51bGxdXSwiY29uZGl0aW9ucyI6W119JwogIGNvbHVtbnM6CiAgICAtIAogICAgICBjb2x1bW5faWQ6IDEKICAgICAgYml0czogMQogICAgICBzb3J0OiAxCiAgICAgIHdpZHRoOiAxMDAKICAgICAgaGVhZGluZzogVGlja2V0CiAgICAtIAogICAgICBjb2x1bW5faWQ6IDAKICAgICAgYml0czogMQogICAgICBzb3J0OiAwCiAgICAgIHdpZHRoOiAxNTAKICAgICAgaGVhZGluZzogVmVydmFsZGF0dW0KICAgIC0gCiAgICAgIGNvbHVtbl9pZDogMwogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDMKICAgICAgd2lkdGg6IDMwMAogICAgICBoZWFkaW5nOiBPbmRlcndlcnAKICAgIC0gCiAgICAgIGNvbHVtbl9pZDogNAogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDQKICAgICAgd2lkdGg6IDE4NQogICAgICBoZWFkaW5nOiBWYW4KICAgIC0gCiAgICAgIGNvbHVtbl9pZDogNQogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDUKICAgICAgd2lkdGg6IDg1CiAgICAgIGhlYWRpbmc6IFByaW9yaXRlaXQKICAgIC0gCiAgICAgIGNvbHVtbl9pZDogOAogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDYKICAgICAgd2lkdGg6IDE2MAogICAgICBoZWFkaW5nOiBUb2VnZXdlemVuIGFhbgotIAogIGlkOiA1CiAgdGl0bGU6IE1pam4gdGlja2V0cwogIHBhcmVudF9pZDogMAogIGZsYWdzOiAweDAzCiAgcm9vdDogVAogIHNvcnQ6IDMKICBzb3J0X2lkOiAzCiAgY29uZmlnOiAneyJjcml0ZXJpYSI6W1siYXNzaWduZWUiLCJpbmNsdWRlcyIseyJNIjoiTWUiLCJUIjoiT25lIG9mIG15IHRlYW1zIn1dLFsic3RhdHVzX19zdGF0ZSIsImluY2x1ZGVzIix7Im9wZW4iOiJPcGVuIn1dXSwiY29uZGl0aW9ucyI6W119JwogIGNvbHVtbnM6CiAgICAtIAogICAgICBjb2x1bW5faWQ6IDEKICAgICAgYml0czogMQogICAgICBzb3J0OiAxCiAgICAgIHdpZHRoOiAxMDAKICAgICAgaGVhZGluZzogVGlja2V0CiAgICAtIAogICAgICBjb2x1bW5faWQ6IDEwCiAgICAgIGJpdHM6IDEKICAgICAgc29ydDogMgogICAgICB3aWR0aDogMTUwCiAgICAgIGhlYWRpbmc6IExhYXRzdGUgYWFucGFzc2luZwogICAgLSAKICAgICAgY29sdW1uX2lkOiAzCiAgICAgIGJpdHM6IDEKICAgICAgc29ydDogMwogICAgICB3aWR0aDogMzAwCiAgICAgIGhlYWRpbmc6IE9uZGVyd2VycAogICAgLSAKICAgICAgY29sdW1uX2lkOiA0CiAgICAgIGJpdHM6IDEKICAgICAgc29ydDogNAogICAgICB3aWR0aDogMTg1CiAgICAgIGhlYWRpbmc6IFZhbgogICAgLSAKICAgICAgY29sdW1uX2lkOiA1CiAgICAgIGJpdHM6IDEKICAgICAgc29ydDogNQogICAgICB3aWR0aDogODUKICAgICAgaGVhZGluZzogUHJpb3JpdGVpdAogICAgLSAKICAgICAgY29sdW1uX2lkOiAwCiAgICAgIGJpdHM6IDEKICAgICAgc29ydDogNgogICAgICB3aWR0aDogMTYwCiAgICAgIGhlYWRpbmc6IEFmZGVsaW5nCiAgc29ydHM6CiAgICAtIAogICAgICBzb3J0X2lkOiAxCiAgICAtIAogICAgICBzb3J0X2lkOiAyCiAgICAtIAogICAgICBzb3J0X2lkOiAzCiAgICAtIAogICAgICBzb3J0X2lkOiA0CiAgICAtIAogICAgICBzb3J0X2lkOiA2CiAgICAtIAogICAgICBzb3J0X2lkOiA3Ci0gCiAgaWQ6IDYKICB0aXRsZTogQWFuIG1paiB0b2VnZXdlemVuCiAgcGFyZW50X2lkOiA1CiAgZmxhZ3M6IDQzCiAgcm9vdDogVAogIHNvcnQ6IDEKICBjb25maWc6ICd7ImNyaXRlcmlhIjpbWyJhc3NpZ25lZSIsImluY2x1ZGVzIix7Ik0iOiJNZSJ9XV0sImNvbmRpdGlvbnMiOltdfScKICBjb2x1bW5zOgogICAgLSAKICAgICAgY29sdW1uX2lkOiAxCiAgICAgIGJpdHM6IDEKICAgICAgc29ydDogMQogICAgICB3aWR0aDogMTAwCiAgICAgIGhlYWRpbmc6IFRpY2tldAogICAgLSAKICAgICAgY29sdW1uX2lkOiAxMAogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDIKICAgICAgd2lkdGg6IDE1MAogICAgICBoZWFkaW5nOiBMYWF0c3RlIGFhbnBhc3NpbmcKICAgIC0gCiAgICAgIGNvbHVtbl9pZDogMwogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDMKICAgICAgd2lkdGg6IDMwMAogICAgICBoZWFkaW5nOiBPbmRlcndlcnAKICAgIC0gCiAgICAgIGNvbHVtbl9pZDogNAogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDQKICAgICAgd2lkdGg6IDE4NQogICAgICBoZWFkaW5nOiBWYW4KICAgIC0gCiAgICAgIGNvbHVtbl9pZDogNQogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDUKICAgICAgd2lkdGg6IDg1CiAgICAgIGhlYWRpbmc6IFByaW9yaXRlaXQKICAgIC0gCiAgICAgIGNvbHVtbl9pZDogMAogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDYKICAgICAgd2lkdGg6IDE2MAogICAgICBoZWFkaW5nOiBBZmRlbGluZwogIHNvcnRzOgogICAgLSAKICAgICAgc29ydF9pZDogMQogICAgLSAKICAgICAgc29ydF9pZDogMgogICAgLSAKICAgICAgc29ydF9pZDogMwogICAgLSAKICAgICAgc29ydF9pZDogNAogICAgLSAKICAgICAgc29ydF9pZDogNgogICAgLSAKICAgICAgc29ydF9pZDogNwotIAogIGlkOiA3CiAgdGl0bGU6IEFhbiB0ZWFtIHRvZWdld2V6ZW4KICBwYXJlbnRfaWQ6IDUKICBmbGFnczogNDMKICByb290OiBUCiAgc29ydDogMgogIGNvbmZpZzogJ3siY3JpdGVyaWEiOltbImFzc2lnbmVlIiwiIWluY2x1ZGVzIix7Ik0iOiJNZSJ9XV0sImNvbmRpdGlvbnMiOltdfScKICBjb2x1bW5zOgogICAgLSAKICAgICAgY29sdW1uX2lkOiAxCiAgICAgIGJpdHM6IDEKICAgICAgc29ydDogMQogICAgICB3aWR0aDogMTAwCiAgICAgIGhlYWRpbmc6IFRpY2tldAogICAgLSAKICAgICAgY29sdW1uX2lkOiAxMAogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDIKICAgICAgd2lkdGg6IDE1MAogICAgICBoZWFkaW5nOiBMYWF0c3RlIGFhbnBhc3NpbmcKICAgIC0gCiAgICAgIGNvbHVtbl9pZDogMwogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDMKICAgICAgd2lkdGg6IDMwMAogICAgICBoZWFkaW5nOiBPbmRlcndlcnAKICAgIC0gCiAgICAgIGNvbHVtbl9pZDogNAogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDQKICAgICAgd2lkdGg6IDE4NQogICAgICBoZWFkaW5nOiBWYW4KICAgIC0gCiAgICAgIGNvbHVtbl9pZDogNQogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDUKICAgICAgd2lkdGg6IDg1CiAgICAgIGhlYWRpbmc6IFByaW9yaXRlaXQKICAgIC0gCiAgICAgIGNvbHVtbl9pZDogMAogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDYKICAgICAgd2lkdGg6IDE2MAogICAgICBoZWFkaW5nOiB0ZWFtCiAgc29ydHM6CiAgICAtIAogICAgICBzb3J0X2lkOiAxCiAgICAtIAogICAgICBzb3J0X2lkOiAyCiAgICAtIAogICAgICBzb3J0X2lkOiAzCiAgICAtIAogICAgICBzb3J0X2lkOiA0CiAgICAtIAogICAgICBzb3J0X2lkOiA2CiAgICAtIAogICAgICBzb3J0X2lkOiA3Ci0gCiAgaWQ6IDgKICBwYXJlbnRfaWQ6IDAKICB0aXRsZTogR2VzbG90ZW4KICBmbGFnczogMHgwMwogIHNvcnQ6IDQKICByb290OiBUCiAgc29ydF9pZDogNQogIGNvbmZpZzogJ3siY3JpdGVyaWEiOltbInN0YXR1c19fc3RhdGUiLCJpbmNsdWRlcyIseyJjbG9zZWQiOiJDbG9zZWQifV1dLCJjb25kaXRpb25zIjpbXX0nCiAgY29sdW1uczoKICAgIC0gCiAgICAgIGNvbHVtbl9pZDogMQogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDEKICAgICAgd2lkdGg6IDEwMAogICAgICBoZWFkaW5nOiBUaWNrZXQKICAgIC0gCiAgICAgIGNvbHVtbl9pZDogNwogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDIKICAgICAgd2lkdGg6IDE1MAogICAgICBoZWFkaW5nOiBTbHVpdGRhdHVtCiAgICAtIAogICAgICBjb2x1bW5faWQ6IDMKICAgICAgYml0czogMQogICAgICBzb3J0OiAzCiAgICAgIHdpZHRoOiAzMDAKICAgICAgaGVhZGluZzogT25kZXJ3ZXJwCiAgICAtIAogICAgICBjb2x1bW5faWQ6IDQKICAgICAgYml0czogMQogICAgICBzb3J0OiA0CiAgICAgIHdpZHRoOiAxODUKICAgICAgaGVhZGluZzogVmFuCiAgICAtIAogICAgICBjb2x1bW5faWQ6IDgKICAgICAgYml0czogMQogICAgICBzb3J0OiA2CiAgICAgIHdpZHRoOiAxNjAKICAgICAgaGVhZGluZzogR2VzbG90ZW4gZG9vcgogIHNvcnRzOgogICAgLSAKICAgICAgc29ydF9pZDogNQogICAgLSAKICAgICAgc29ydF9pZDogMQogICAgLSAKICAgICAgc29ydF9pZDogMgogICAgLSAKICAgICAgc29ydF9pZDogMwogICAgLSAKICAgICAgc29ydF9pZDogNAogICAgLSAKICAgICAgc29ydF9pZDogNgogICAgLSAKICAgICAgc29ydF9pZDogNwotIAogIGlkOiAwCiAgcGFyZW50X2lkOiA4CiAgdGl0bGU6IFZhbmRhYWcKICBmbGFnczogNDMKICBzb3J0OiAxCiAgcm9vdDogVAogIHNvcnRfaWQ6IDUKICBjb25maWc6ICd7ImNyaXRlcmlhIjpbWyJjbG9zZWQiLCJwZXJpb2QiLCJ0ZCJdXSwiY29uZGl0aW9ucyI6W119JwogIGNvbHVtbnM6CiAgICAtIAogICAgICBjb2x1bW5faWQ6IDEKICAgICAgYml0czogMQogICAgICBzb3J0OiAxCiAgICAgIHdpZHRoOiAxMDAKICAgICAgaGVhZGluZzogVGlja2V0CiAgICAtIAogICAgICBjb2x1bW5faWQ6IDcKICAgICAgYml0czogMQogICAgICBzb3J0OiAyCiAgICAgIHdpZHRoOiAxNTAKICAgICAgaGVhZGluZzogU2x1aXRkYXR1bQogICAgLSAKICAgICAgY29sdW1uX2lkOiAzCiAgICAgIGJpdHM6IDEKICAgICAgc29ydDogMwogICAgICB3aWR0aDogMzAwCiAgICAgIGhlYWRpbmc6IE9uZGVyd2VycAogICAgLSAKICAgICAgY29sdW1uX2lkOiA0CiAgICAgIGJpdHM6IDEKICAgICAgc29ydDogNAogICAgICB3aWR0aDogMTg1CiAgICAgIGhlYWRpbmc6IFZhbgogICAgLSAKICAgICAgY29sdW1uX2lkOiA4CiAgICAgIGJpdHM6IDEKICAgICAgc29ydDogNgogICAgICB3aWR0aDogMTYwCiAgICAgIGhlYWRpbmc6IEdlc2xvdGVuIGRvb3IKICBzb3J0czoKICAgIC0gCiAgICAgIHNvcnRfaWQ6IDUKICAgIC0gCiAgICAgIHNvcnRfaWQ6IDEKICAgIC0gCiAgICAgIHNvcnRfaWQ6IDIKICAgIC0gCiAgICAgIHNvcnRfaWQ6IDMKICAgIC0gCiAgICAgIHNvcnRfaWQ6IDQKICAgIC0gCiAgICAgIHNvcnRfaWQ6IDYKICAgIC0gCiAgICAgIHNvcnRfaWQ6IDcKLSAKICBpZDogMTAKICBwYXJlbnRfaWQ6IDgKICB0aXRsZTogR2lzdGVyZXJlbgogIGZsYWdzOiA0MwogIHNvcnQ6IDIKICByb290OiBUCiAgc29ydF9pZDogNQogIGNvbmZpZzogJ3siY3JpdGVyaWEiOltbImNsb3NlZCIsInBlcmlvZCIsInlkIl1dLCJjb25kaXRpb25zIjpbXX0nCiAgY29sdW1uczoKICAgIC0gCiAgICAgIGNvbHVtbl9pZDogMQogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDEKICAgICAgd2lkdGg6IDEwMAogICAgICBoZWFkaW5nOiBUaWNrZXQKICAgIC0gCiAgICAgIGNvbHVtbl9pZDogNwogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDIKICAgICAgd2lkdGg6IDE1MAogICAgICBoZWFkaW5nOiBTbHVpdGRhdHVtCiAgICAtIAogICAgICBjb2x1bW5faWQ6IDMKICAgICAgYml0czogMQogICAgICBzb3J0OiAzCiAgICAgIHdpZHRoOiAzMDAKICAgICAgaGVhZGluZzogT25kZXJ3ZXJwCiAgICAtIAogICAgICBjb2x1bW5faWQ6IDQKICAgICAgYml0czogMQogICAgICBzb3J0OiA0CiAgICAgIHdpZHRoOiAxODUKICAgICAgaGVhZGluZzogVmFuCiAgICAtIAogICAgICBjb2x1bW5faWQ6IDgKICAgICAgYml0czogMQogICAgICBzb3J0OiA2CiAgICAgIHdpZHRoOiAxNjAKICAgICAgaGVhZGluZzogR2VzbG90ZW4gZG9vcgogIHNvcnRzOgogICAgLSAKICAgICAgc29ydF9pZDogNQogICAgLSAKICAgICAgc29ydF9pZDogMQogICAgLSAKICAgICAgc29ydF9pZDogMgogICAgLSAKICAgICAgc29ydF9pZDogMwogICAgLSAKICAgICAgc29ydF9pZDogNAogICAgLSAKICAgICAgc29ydF9pZDogNgogICAgLSAKICAgICAgc29ydF9pZDogNwotIAogIGlkOiAwCiAgcGFyZW50X2lkOiA4CiAgdGl0bGU6IERlemUgd2VlawogIGZsYWdzOiA0MwogIHNvcnQ6IDMKICByb290OiBUCiAgc29ydF9pZDogNQogIGNvbmZpZzogJ3siY3JpdGVyaWEiOltbImNsb3NlZCIsInBlcmlvZCIsInR3Il1dLCJjb25kaXRpb25zIjpbXX0nCiAgY29sdW1uczoKICAgIC0gCiAgICAgIGNvbHVtbl9pZDogMQogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDEKICAgICAgd2lkdGg6IDEwMAogICAgICBoZWFkaW5nOiBUaWNrZXQKICAgIC0gCiAgICAgIGNvbHVtbl9pZDogNwogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDIKICAgICAgd2lkdGg6IDE1MAogICAgICBoZWFkaW5nOiBTbHVpdGRhdHVtCiAgICAtIAogICAgICBjb2x1bW5faWQ6IDMKICAgICAgYml0czogMQogICAgICBzb3J0OiAzCiAgICAgIHdpZHRoOiAzMDAKICAgICAgaGVhZGluZzogT25kZXJ3ZXJwCiAgICAtIAogICAgICBjb2x1bW5faWQ6IDQKICAgICAgYml0czogMQogICAgICBzb3J0OiA0CiAgICAgIHdpZHRoOiAxODUKICAgICAgaGVhZGluZzogVmFuCiAgICAtIAogICAgICBjb2x1bW5faWQ6IDgKICAgICAgYml0czogMQogICAgICBzb3J0OiA2CiAgICAgIHdpZHRoOiAxNjAKICAgICAgaGVhZGluZzogR2VzbG90ZW4gZG9vcgogIHNvcnRzOgogICAgLSAKICAgICAgc29ydF9pZDogNQogICAgLSAKICAgICAgc29ydF9pZDogMQogICAgLSAKICAgICAgc29ydF9pZDogMgogICAgLSAKICAgICAgc29ydF9pZDogMwogICAgLSAKICAgICAgc29ydF9pZDogNAogICAgLSAKICAgICAgc29ydF9pZDogNgogICAgLSAKICAgICAgc29ydF9pZDogNwotIAogIGlkOiAxMgogIHBhcmVudF9pZDogOAogIHRpdGxlOiBEZXplIG1hYW5kCiAgZmxhZ3M6IDQzCiAgc29ydDogNAogIHJvb3Q6IFQKICBzb3J0X2lkOiA1CiAgY29uZmlnOiAneyJjcml0ZXJpYSI6W1siY2xvc2VkIiwicGVyaW9kIiwidG0iXV0sImNvbmRpdGlvbnMiOltdfScKICBjb2x1bW5zOgogICAgLSAKICAgICAgY29sdW1uX2lkOiAxCiAgICAgIGJpdHM6IDEKICAgICAgc29ydDogMQogICAgICB3aWR0aDogMTAwCiAgICAgIGhlYWRpbmc6IFRpY2tldAogICAgLSAKICAgICAgY29sdW1uX2lkOiA3CiAgICAgIGJpdHM6IDEKICAgICAgc29ydDogMgogICAgICB3aWR0aDogMTUwCiAgICAgIGhlYWRpbmc6IFNsdWl0ZGF0dW0KICAgIC0gCiAgICAgIGNvbHVtbl9pZDogMwogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDMKICAgICAgd2lkdGg6IDMwMAogICAgICBoZWFkaW5nOiBPbmRlcndlcnAKICAgIC0gCiAgICAgIGNvbHVtbl9pZDogNAogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDQKICAgICAgd2lkdGg6IDE4NQogICAgICBoZWFkaW5nOiBWYW4KICAgIC0gCiAgICAgIGNvbHVtbl9pZDogOAogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDYKICAgICAgd2lkdGg6IDE2MAogICAgICBoZWFkaW5nOiBHZXNsb3RlbiBkb29yCiAgc29ydHM6CiAgICAtIAogICAgICBzb3J0X2lkOiA1CiAgICAtIAogICAgICBzb3J0X2lkOiAxCiAgICAtIAogICAgICBzb3J0X2lkOiAyCiAgICAtIAogICAgICBzb3J0X2lkOiAzCiAgICAtIAogICAgICBzb3J0X2lkOiA0CiAgICAtIAogICAgICBzb3J0X2lkOiA2CiAgICAtIAogICAgICBzb3J0X2lkOiA3Ci0gCiAgaWQ6IDEzCiAgcGFyZW50X2lkOiA4CiAgdGl0bGU6IERpdCBrd2FydGFhbAogIGZsYWdzOiA0MwogIHNvcnQ6IDUKICByb290OiBUCiAgc29ydF9pZDogNgogIGNvbmZpZzogJ3siY3JpdGVyaWEiOltbImNsb3NlZCIsInBlcmlvZCIsInRxIl1dLCJjb25kaXRpb25zIjpbXX0nCiAgY29sdW1uczoKICAgIC0gCiAgICAgIGNvbHVtbl9pZDogMQogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDEKICAgICAgd2lkdGg6IDEwMAogICAgICBoZWFkaW5nOiBUaWNrZXQKICAgIC0gCiAgICAgIGNvbHVtbl9pZDogNwogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDIKICAgICAgd2lkdGg6IDE1MAogICAgICBoZWFkaW5nOiBTbHVpdGRhdHVtCiAgICAtIAogICAgICBjb2x1bW5faWQ6IDMKICAgICAgYml0czogMQogICAgICBzb3J0OiAzCiAgICAgIHdpZHRoOiAzMDAKICAgICAgaGVhZGluZzogT25kZXJ3ZXJwCiAgICAtIAogICAgICBjb2x1bW5faWQ6IDQKICAgICAgYml0czogMQogICAgICBzb3J0OiA0CiAgICAgIHdpZHRoOiAxODUKICAgICAgaGVhZGluZzogVmFuCiAgICAtIAogICAgICBjb2x1bW5faWQ6IDgKICAgICAgYml0czogMQogICAgICBzb3J0OiA2CiAgICAgIHdpZHRoOiAxNjAKICAgICAgaGVhZGluZzogR2VzbG90ZW4gZG9vcgogIHNvcnRzOgogICAgLSAKICAgICAgc29ydF9pZDogNQogICAgLSAKICAgICAgc29ydF9pZDogMQogICAgLSAKICAgICAgc29ydF9pZDogMgogICAgLSAKICAgICAgc29ydF9pZDogMwogICAgLSAKICAgICAgc29ydF9pZDogNAogICAgLSAKICAgICAgc29ydF9pZDogNgogICAgLSAKICAgICAgc29ydF9pZDogNwotIAogIGlkOiAwCiAgcGFyZW50X2lkOiA4CiAgdGl0bGU6IERpdCBqYWFyCiAgZmxhZ3M6IDQzCiAgc29ydDogNgogIHJvb3Q6IFQKICBzb3J0X2lkOiA3CiAgY29uZmlnOiAneyJjcml0ZXJpYSI6W1siY2xvc2VkIiwicGVyaW9kIiwidHkiXV0sImNvbmRpdGlvbnMiOltdfScKICBjb2x1bW5zOgogICAgLSAKICAgICAgY29sdW1uX2lkOiAxCiAgICAgIGJpdHM6IDEKICAgICAgc29ydDogMQogICAgICB3aWR0aDogMTAwCiAgICAgIGhlYWRpbmc6IFRpY2tldAogICAgLSAKICAgICAgY29sdW1uX2lkOiA3CiAgICAgIGJpdHM6IDEKICAgICAgc29ydDogMgogICAgICB3aWR0aDogMTUwCiAgICAgIGhlYWRpbmc6IFNsdWl0ZGF0dW0KICAgIC0gCiAgICAgIGNvbHVtbl9pZDogMwogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDMKICAgICAgd2lkdGg6IDMwMAogICAgICBoZWFkaW5nOiBPbmRlcndlcnAKICAgIC0gCiAgICAgIGNvbHVtbl9pZDogNAogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDQKICAgICAgd2lkdGg6IDE4NQogICAgICBoZWFkaW5nOiBWYW4KICAgIC0gCiAgICAgIGNvbHVtbl9pZDogOAogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDYKICAgICAgd2lkdGg6IDE2MAogICAgICBoZWFkaW5nOiBHZXNsb3RlbiBkb29yCiAgc29ydHM6CiAgICAtIAogICAgICBzb3J0X2lkOiA1CiAgICAtIAogICAgICBzb3J0X2lkOiAxCiAgICAtIAogICAgICBzb3J0X2lkOiAyCiAgICAtIAogICAgICBzb3J0X2lkOiAzCiAgICAtIAogICAgICBzb3J0X2lkOiA0CiAgICAtIAogICAgICBzb3J0X2lkOiA2CiAgICAtIAogICAgICBzb3J0X2lkOiA3Ci0gCiAgI0RlZmF1bHQgcm9sZXMgZGVmaW5lZCBmb3IgdGhlIHN5c3RlbQogICNGaWVsZHM6CiAgI2lkIC0gUHJpbWFyeSBpZCBmb3IgdGhlIHJvbGUKICAjZmxhZ3MgLSAoYml0IG1hc2spIHJvbGUgZmxhZ3MKICAjbmFtZSAtIChzdHJpbmcpIGRlc2NyaXB0aXZlIG5hbWUgZm9yIHRoZSByb2xlCiAgI25vdGVzIC0gKHN0cmluZykgaW50ZXJuYWwgbm90ZXMKICAjcGVybWlzc2lvbnM6IChsaXN0PGtleXM+KQogICNOT1RFOiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAjLS0tCiAgaWQ6IDEKICBmbGFnczogMQogIG5hbWU6IFZvbGxlZGlnZSB0b2VnYW5nCiAgbm90ZXM6IHwKICAgIFJvbGxlbiBtZXQgb25nZWxpbWl0ZWVyZGUgdG9lZ2FuZwogIHBlcm1pc3Npb25zOgogICAgLSB0aWNrZXQuY3JlYXRlCiAgICAtIHRpY2tldC5lZGl0CiAgICAtIHRpY2tldC5tZXJnZQogICAgLSB0aWNrZXQubGluawogICAgLSB0aWNrZXQubWFya2Fuc3dlcmVkCiAgICAtIHRpY2tldC5hc3NpZ24KICAgIC0gdGlja2V0LnJlbGVhc2UKICAgIC0gdGlja2V0LnRyYW5zZmVyCiAgICAtIHRpY2tldC5yZWZlcgogICAgLSB0aWNrZXQucmVwbHkKICAgIC0gdGlja2V0LmNsb3NlCiAgICAtIHRpY2tldC5kZWxldGUKICAgIC0gdGFzay5jcmVhdGUKICAgIC0gdGFzay5lZGl0CiAgICAtIHRhc2suYXNzaWduCiAgICAtIHRhc2sudHJhbnNmZXIKICAgIC0gdGFzay5yZXBseQogICAgLSB0YXNrLmNsb3NlCiAgICAtIHRhc2suZGVsZXRlCiAgICAtIGNhbm5lZC5tYW5hZ2UKICAgIC0gdGhyZWFkLmVkaXQKLSAKICBpZDogMgogIGZsYWdzOiAxCiAgbmFtZTogVWl0Z2VicmVpZGUgVG9lZ2FuZwogIG5vdGVzOiB8CiAgICBSb2wgbWV0IHVpdGdlYnJlaWRlIHRvZWdhbmcKICBwZXJtaXNzaW9uczoKICAgIC0gdGlja2V0LmNyZWF0ZQogICAgLSB0aWNrZXQuZWRpdAogICAgLSB0aWNrZXQubWVyZ2UKICAgIC0gdGlja2V0LmxpbmsKICAgIC0gdGlja2V0LmFzc2lnbgogICAgLSB0aWNrZXQucmVsZWFzZQogICAgLSB0aWNrZXQudHJhbnNmZXIKICAgIC0gdGlja2V0LnJlZmVyCiAgICAtIHRpY2tldC5yZXBseQogICAgLSB0aWNrZXQuY2xvc2UKICAgIC0gdGFzay5jcmVhdGUKICAgIC0gdGFzay5lZGl0CiAgICAtIHRhc2suYXNzaWduCiAgICAtIHRhc2sudHJhbnNmZXIKICAgIC0gdGFzay5yZXBseQogICAgLSB0YXNrLmNsb3NlCiAgICAtIGNhbm5lZC5tYW5hZ2UKLSAKICBpZDogMwogIGZsYWdzOiAxCiAgbmFtZTogQmVwZXJrdGUgdG9lZ2FuZwogIG5vdGVzOiB8CiAgICBSb2wgbWV0IGdlbGltaXRlZXJkZSB0b2VnYW5nCiAgcGVybWlzc2lvbnM6CiAgICAtIHRpY2tldC5jcmVhdGUKICAgIC0gdGlja2V0Lm1lcmdlCiAgICAtIHRpY2tldC5saW5rCiAgICAtIHRpY2tldC5hc3NpZ24KICAgIC0gdGlja2V0LnJlbGVhc2UKICAgIC0gdGlja2V0LnRyYW5zZmVyCiAgICAtIHRpY2tldC5yZWZlcgogICAgLSB0aWNrZXQucmVwbHkgdGFzay5jcmVhdGUKICAgIC0gdGFzay5hc3NpZ24KICAgIC0gdGFzay50cmFuc2ZlcgogICAgLSB0YXNrLnJlcGx5Ci0gCiAgaWQ6IDQKICBmbGFnczogMQogIG5hbWU6IEFsbGVlbiBiZXppY2h0aWdlbgogIG5vdGVzOiBFZW52b3VkaWdlIHJvbCB6b25kZXIgdG9lc3RlbW1pbmdlbgogIHBlcm1pc3Npb25zOiBbIF0KLSAKICAjSW5pdGlhbCBzZXQgb2Ygc2NoZWR1bGVzIGFuZCBlbnRyaWVzCiAgI0ZpZWxkczoKICAjaWQ6CiAgI2ZsYWdzOgogICMweDAxOiAgIEZMQUdfQklaSFJTIChCdXNpbmVzcyBIb3VycyAtIE90aGVyd2lzZSBIb2xpZGF5cyBpcyBhc3N1bWVkKQogICNzb3J0OiAgICAgTWFudWFsIHNvcnQgb3JkZXIKICAjbmFtZTogICAgIE5hbWUgb2YgdGhlIFNjaGVkdWxlCiAgI3RpbWV6b25lOiAgIFRpbWV6b25lIG9mIHRoZSBTY2hlZHVsZQogICNkZXNjcmlwdGlvbjogICBEZXNjcmlwdGlvbiBvZiB0aGUgU2NoZWR1bGUKICAjZW50cmllczogICAgIFNjaGVkdWxlIEVudHJpZXMKLS0tCiAgaWQ6IDEKICBmbGFnczogMHgwMQogIG5hbWU6IE1vbmRheSAtIEZyaWRheSA4YW0gLSA1cG0gd2l0aCBVLlMuIEhvbGlkYXlzCiAgY29uZmlndXJhdGlvbjoKICAgIGhvbGlkYXlzOgogICAgICAtIDQKICBlbnRyaWVzOgogICAgLSAKICAgICAgbmFtZTogTW9uZGF5CiAgICAgIHJlcGVhdHM6IHdlZWtseSAjbm90cmFucwogICAgICBzdGFydHNfb246IDIwMTktMDEtMDcKICAgICAgc3RhcnRzX2F0OiAwODowMDowMAogICAgICBlbmRzX29uOiAyMDE5LTAxLTA3CiAgICAgIGVuZHNfYXQ6IDE3OjAwOjAwCiAgICAgIGRheTogMQogICAgLSAKICAgICAgbmFtZTogVHVlc2RheQogICAgICByZXBlYXRzOiB3ZWVrbHkgI25vdHJhbnMKICAgICAgc3RhcnRzX29uOiAyMDE5LTAxLTA4CiAgICAgIHN0YXJ0c19hdDogMDg6MDA6MDAKICAgICAgZW5kc19vbjogMjAxOS0wMS0wOAogICAgICBlbmRzX2F0OiAxNzowMDowMAogICAgICBkYXk6IDIKICAgIC0gCiAgICAgIG5hbWU6IFdlZG5lc2RheQogICAgICByZXBlYXRzOiB3ZWVrbHkgI25vdHJhbnMKICAgICAgc3RhcnRzX29uOiAyMDE5LTAxLTA5CiAgICAgIHN0YXJ0c19hdDogMDg6MDA6MDAKICAgICAgZW5kc19vbjogMjAxOS0wMS0wOQogICAgICBlbmRzX2F0OiAxNzowMDowMAogICAgICBkYXk6IDMKICAgIC0gCiAgICAgIG5hbWU6IFRodXJzZGF5CiAgICAgIHJlcGVhdHM6IHdlZWtseSAjbm90cmFucwogICAgICBzdGFydHNfb246IDIwMTktMDEtMTAKICAgICAgc3RhcnRzX2F0OiAwODowMDowMAogICAgICBlbmRzX29uOiAyMDE5LTAxLTEwCiAgICAgIGVuZHNfYXQ6IDE3OjAwOjAwCiAgICAgIGRheTogNAogICAgLSAKICAgICAgbmFtZTogRnJpZGF5CiAgICAgIHJlcGVhdHM6IHdlZWtseSAjbm90cmFucwogICAgICBzdGFydHNfb246IDIwMTktMDEtMTEKICAgICAgc3RhcnRzX2F0OiAwODowMDowMAogICAgICBlbmRzX29uOiAyMDE5LTAxLTExCiAgICAgIGVuZHNfYXQ6IDE3OjAwOjAwCiAgICAgIGRheTogNQotIAogIGlkOiAyCiAgZmxhZ3M6IDB4MDEKICBuYW1lOiAyNC83CiAgZW50cmllczoKICAgIC0gCiAgICAgIG5hbWU6IERhaWx5CiAgICAgIHJlcGVhdHM6IGRhaWx5ICNub3RyYW5zCiAgICAgIHN0YXJ0c19vbjogMjAxOS0wMS0wMQogICAgICBzdGFydHNfYXQ6IDAwOjAwOjAwCiAgICAgIGVuZHNfb246IDIwMTktMDEtMDEKICAgICAgZW5kc19hdDogMjM6NTk6NTkKLSAKICBpZDogMwogIGZsYWdzOiAweDAxCiAgbmFtZTogMjQvNQogIGVudHJpZXM6CiAgICAtIAogICAgICBuYW1lOiBXZWVrZGF5cwogICAgICByZXBlYXRzOiB3ZWVrZGF5cyAjbm90cmFucwogICAgICBzdGFydHNfb246IDIwMTktMDEtMDEKICAgICAgc3RhcnRzX2F0OiAwMDowMDowMAogICAgICBlbmRzX29uOiAyMDE5LTAxLTAxCiAgICAgIGVuZHNfYXQ6IDIzOjU5OjU5Ci0gCiAgaWQ6IDQKICBmbGFnczogMAogIG5hbWU6IFUuUy4gSG9saWRheXMKICBlbnRyaWVzOgogICAgLSAKICAgICAgbmFtZTogTmV3IFllYXIncyBEYXkKICAgICAgcmVwZWF0czogeWVhcmx5ICNub3RyYW5zCiAgICAgIHN0YXJ0c19vbjogMjAxOS0wMS0wMQogICAgICBzdGFydHNfYXQ6IDAwOjAwOjAwCiAgICAgIGVuZHNfb246IDIwMTktMDEtMDEKICAgICAgZW5kc19hdDogMjM6NTk6NTkKICAgICAgZGF5OiAxCiAgICAgIG1vbnRoOiAxCiAgICAtIAogICAgICBuYW1lOiBNTEsgRGF5CiAgICAgIHJlcGVhdHM6IHllYXJseSAjbm90cmFucwogICAgICBzdGFydHNfb246IDIwMTktMDEtMjEKICAgICAgc3RhcnRzX2F0OiAwMDowMDowMAogICAgICBlbmRzX29uOiAyMDE5LTAxLTIxCiAgICAgIGVuZHNfYXQ6IDIzOjU5OjU5CiAgICAgIGRheTogMQogICAgICB3ZWVrOiAzCiAgICAgIG1vbnRoOiAxCiAgICAtIAogICAgICBuYW1lOiBNZW1vcmlhbCBEYXkKICAgICAgcmVwZWF0czogeWVhcmx5ICNub3RyYW5zCiAgICAgIHN0YXJ0c19vbjogMjAxOS0wNS0yNwogICAgICBzdGFydHNfYXQ6IDAwOjAwOjAwCiAgICAgIGVuZHNfb246IDIwMTktMDUtMjcKICAgICAgZW5kc19hdDogMjM6NTk6NTkKICAgICAgZGF5OiAxCiAgICAgIHdlZWs6IC0xCiAgICAgIG1vbnRoOiA1CiAgICAtIAogICAgICBuYW1lOiBJbmRlcGVuZGVuY2UgRGF5ICg0dGggb2YgSnVseSkKICAgICAgcmVwZWF0czogeWVhcmx5ICNub3RyYW5zCiAgICAgIHN0YXJ0c19vbjogMjAxOS0wNy0wNAogICAgICBzdGFydHNfYXQ6IDAwOjAwOjAwCiAgICAgIGVuZHNfb246IDIwMTktMDctMDQKICAgICAgZW5kc19hdDogMjM6NTk6NTkKICAgICAgZGF5OiA0CiAgICAgIG1vbnRoOiA3CiAgICAtIAogICAgICBuYW1lOiBMYWJvciBEYXkKICAgICAgcmVwZWF0czogeWVhcmx5ICNub3RyYW5zCiAgICAgIHN0YXJ0c19vbjogMjAxOS0wOS0wMgogICAgICBzdGFydHNfYXQ6IDAwOjAwOjAwCiAgICAgIGVuZHNfb246IDIwMTktMDktMDIKICAgICAgZW5kc19hdDogMjM6NTk6NTkKICAgICAgZGF5OiAxCiAgICAgIHdlZWs6IDEKICAgICAgbW9udGg6IDAKICAgIC0gCiAgICAgIG5hbWU6IEluZGlnZW5vdXMgUGVvcGxlcycgRGF5IChXaG9kYXQgQ29sdW1idXMpCiAgICAgIHJlcGVhdHM6IHllYXJseSAjbm90cmFucwogICAgICBzdGFydHNfb246IDIwMTktMTAtMTQKICAgICAgc3RhcnRzX2F0OiAwMDowMDowMAogICAgICBlbmRzX29uOiAyMDE5LTEwLTE0CiAgICAgIGVuZHNfYXQ6IDIzOjU5OjU5CiAgICAgIGRheTogMQogICAgICB3ZWVrOiAyCiAgICAgIG1vbnRoOiAxMAogICAgLSAKICAgICAgbmFtZTogVmV0ZXJhbnMgRGF5CiAgICAgIHJlcGVhdHM6IHllYXJseSAjbm90cmFucwogICAgICBzdGFydHNfb246IDIwMTktMTEtMTEKICAgICAgc3RhcnRzX2F0OiAwMDowMDowMAogICAgICBlbmRzX29uOiAyMDE5LTExLTExCiAgICAgIGVuZHNfYXQ6IDIzOjU5OjU5CiAgICAgIGRheTogMAogICAgICBtb250aDogMAogICAgLSAKICAgICAgbmFtZTogVGhhbmtzZ2l2aW5nIERheQogICAgICByZXBlYXRzOiB5ZWFybHkgI25vdHJhbnMKICAgICAgc3RhcnRzX29uOiAyMDE5LTExLTI4CiAgICAgIHN0YXJ0c19hdDogMDA6MDA6MDAKICAgICAgZW5kc19vbjogMjAxOS0xMS0yOAogICAgICBlbmRzX2F0OiAyMzo1OTo1OQogICAgICBkYXk6IDQKICAgICAgd2VlazogNAogICAgICBtb250aDogMAogICAgLSAKICAgICAgbmFtZTogQ2hyaXN0bWFzIERheQogICAgICByZXBlYXRzOiB5ZWFybHkgI25vdHJhbnMKICAgICAgc3RhcnRzX29uOiAyMDE5LTExLTI1CiAgICAgIHN0YXJ0c19hdDogMDA6MDA6MDAKICAgICAgZW5kc19vbjogMjAxOS0xMS0yNQogICAgICBlbmRzX2F0OiAyMzo1OTo1OQogICAgICBkYXk6IDI1CiAgICAgIG1vbnRoOiAxMgotIAogICNTZXF1ZW5jZXMgaW5zdGFsbGVkIHdpdGggdGhlIHN5c3RlbQogICNGaWVsZHM6CiAgI2lkOiAgICAgICAgICAgUEsKICAjbmFtZTogICAgICAgICBOYW1lIG9mIHRoZSBzZXF1ZW5jZQogICNuZXh0OiAgICAgICAgIE5leHQgdmFsdWUgb2YgdGhlIHNlcXVlbmNlCiAgI3BhZGRpbmc6ICAgICAgUGFkZGluZyBjaGFyYWN0ZXIKICAjaW5jcmVtZW50OiAgICBEaXN0YW5jZSBiZXR3ZWVuIHR3byBudW1iZXJzIG9mIHRoZSBzZXF1ZW5jZQogICNmbGFnczogICAgICAgIEJpdG1hc2sgb2YgZmxhZyBzZXR0aW5ncy4gQ3VycmVudGx5IGtub3duIHZhbHVlcyBhcmUKICAjSU5URVJOQUw6PTB4MDAwMSAocmVzdHJpY3QgZGVsZXRlKQogICNJRDoxIGlzIHJlc2VydmVkIGZvciB1cGdyYWRlcy4gV2hlbiB0cmFuc2l0aW9uaW5nIHRvIG9zVGlja2V0IDEuMTAsIHRoZQogICNzZXF1ZW5jZSBJRDoxIHdpbGwgYmUgY29uZmlndXJlZCB0byBzdGFydCBjb3VudGluZyBmcm9tIHRoZSBjdXJyZW50CiAgI01BWCh0aWNrZXQudGlja2V0X2lkKS4gVGhlIHVwZ3JhZGUgd2lsbCBtaXNzIHRoaXMgc3RlcCBpZiB0aGVyZSBpcyBubwogICNzZXF1ZW5jZSB3aXRoIElEOjEKLS0tCiAgaWQ6IDEKICBuYW1lOiAiQWxnZW1lbmUgVGlja2V0cyIKICBuZXh0OiAxCiAgcGFkZGluZzogJzAnCiAgaW5jcmVtZW50OiAxCiAgZmxhZ3M6IDEKLSAKICBpZDogMgogIG5hbWU6ICJPcGVlbnZvbGdpbmcgdmFuIHRha2VuIgogIG5leHQ6IDEKICBwYWRkaW5nOiAnMCcKICBpbmNyZW1lbnQ6IDEKICBmbGFnczogMQotIAogICNJbml0aWFsIFNlcnZpY2UtTGV2ZWwtQWdyZWVtZW50cyAoU0xBKSBkZWZpbmVkIGZvciB0aGUgc3lzdGVtCiAgI0ZpZWxkczoKICAjaWQgLSAoaW50Om9wdGlvbmFsKSBpZCBudW1iZXIgaW4gdGhlIGRhdGFiYXNlCiAgI2ZsYWdzIC0gKGludDpiaXRtYXNrKQogICNpc2FjdGl2ZSAtIChmbGFnOjEpIHRydWUgb2YgZmFsc2UgaWYgdGhlIFNMQSBzaG91bGQgaW5pdGlhbGx5IGJlIGFjdGl2ZQogICNlbmFibGVfcHJpb3JpdHlfZXNjYWxhdGlvbiAtIChmbGFnOjIpIHRydWUgb3IgZmFsc2UgaWYgdGhlIFNMQSBzaG91bGQKICAjY2F1c2UgdGhlIHRpY2tldCBwcmlvcml0eSB0byBiZSBlc2NhbGF0ZWQgd2hlbiBpdCBpcyBtYXJrZWQgb3ZlcmR1ZQogICNkaXNhYmxlX292ZXJkdWVfYWxlcnRzIC0gKGZsYWc6NCkgLSB0cnVlIG9yIGZhbHNlIGlmIHRoZSBvdmVyZHVlIGFsZXJ0CiAgI2VtYWlscyBzaG91bGQgX25vdF8gZ28gb3V0IGZvciB0aWNrZXRzIGFzc2lnbmVkIHRvIHRoaXMgU0xBCiAgI3RyYW5zaWVudCAtIChmbGFnOjgpIC0gdHJ1ZSBpZiB0aGUgU0xBIHNob3VsZCBjaGFuZ2Ugd2hlbiBjaGFuZ2luZwogICNkZXBhcnRtZW50IG9yIGhlbHAgdG9waWMuCiAgI2dyYWNlX3BlcmlvZCAtIChpbnQpIG51bWJlciBvciBob3VycyBhZnRlciB0aGUgdGlja2V0IGlzIG9wZW5lZCBiZWZvcmUgaXQKICAjaXMgbWFya2VkIG92ZXJkdWUKICAjbmFtZSAtIChzdHJpbmcpIGRlc2NyaXB0aXZlIG5hbWUgb2YgdGhlIFNMQQogICNub3RlcyAtIChzdHJpbmcpIGFkbWluaXN0cmF0aXZlIG5vdGVzICh2aWV3YWJsZSBpbnRlcm5hbGx5IG9ubHkpCi0tLQogIGlkOiAxCiAgZmxhZ3M6IDMKICBncmFjZV9wZXJpb2Q6IDE4CiAgbmFtZTogU3RhbmRhYXJkIFNMQQogIG5vdGVzOiB8CgotIAogICNJbml0aWFsIHRlYW1zIGRlZmluZWQgZm9yIHRoZSBzeXN0ZW0uCiAgI0ZpZWxkczoKICAjZmxhZ3MgLSAoaW50KQogICMtIGlzZW5hYmxlZCAtICgweDAxKSB0cnVlIG9yIGZhbHNlIGlmIHRoZSB0ZWFtIHNob3VsZCBiZSBpbml0aWFsbHkKICAjZW5hYmxlZAogICMtIG5vYWxlcnRzIC0gKDB4MDIpCiAgI25hbWUgLSBEZXNjcmlwdGl2ZSBuYW1lIGZvciB0aGUgdGVhbQogICNub3RlcyAtIEFkbWluaXN0cmF0aXZlIG5vdGVzICh2aWV3YWJsZSBpbnRlcm5hbCBvbmx5KQotLS0KICBmbGFnczogMHgwMQogIG5hbWU6IEVlcnN0ZWxpam5zIG9uZGVyc3RldW5pbmcKICBub3RlczogfAogICAgRWVyc3RlbGlqbnMgb25kZXJzdGV1bmluZywgdmVyYW50d29vcmRlbGlqayB2b29yIGRlIGVlcnN0ZSBpbnRlcmFjdGllIG1ldCBrbGFudGVuCi0gCiAgI0RlZmF1bHQgc3lzdGVtIGRhdGEgZm9yIHRpY2tldCBzdGF0dXNlcwogICNGaWVsZHM6CiAgI2lkIC0gKGludDpvcHRpb25hbCkgaWQgbnVtYmVyIGluIHRoZSBkYXRhYmFzZQogICNuYW1lIC0gKHN0cmluZykgZGVzY3JpcHRpdmUgbmFtZSBvZiB0aGUgc3RhdHVzCiAgI3N0YXRlIC0gKHN0cmluZykgTWFpbiBzdGF0dXMgb2YgYSB0aWNrZXQKICAjKG9wZW4sIGNsb3NlZCwgYXJjaGl2ZWQsIGRlbGV0ZWQpCiAgI21vZGUgLSAoYml0KSBhY2Nlc3MgbWFzayAoMSAtIGVuYWJsZWQsIDIgLSBpbnRlcm5hbCkKICAjZmxhZ3MgLSAoYml0KSBmbGFncyB0aGF0IGNhbiBiZSBzZXQgb24gYSB0aWNrZXQKICAjcHJvcGVydGllczoKICAjZGVzY3JpcHRpb24gLSAoc3RyaW5nKSBEZXNjcmlwdGlvbiBvZiB0aGUgc3RhdHVzCi0tLQogIGlkOiAxCiAgbmFtZTogT3BlbgogIHN0YXRlOiBvcGVuCiAgbW9kZTogMwogIHNvcnQ6IDEKICBmbGFnczogMAogIHByb3BlcnRpZXM6CiAgICBkZXNjcmlwdGlvbjogPgogICAgICBPcGVuIFRpY2tldHMuCi0gCiAgaWQ6IDIKICBuYW1lOiBPcGdlbG9zdAogIHN0YXRlOiBjbG9zZWQKICBtb2RlOiAxCiAgc29ydDogMgogIGZsYWdzOiAwCiAgcHJvcGVydGllczoKICAgIGFsbG93cmVvcGVuOiB0cnVlCiAgICByZW9wZW5zdGF0dXM6IDAKICAgIGRlc2NyaXB0aW9uOiA+CiAgICAgIE9wZ2Vsb3N0ZSBUaWNrZXRzCi0gCiAgaWQ6IDMKICBuYW1lOiBHZXNsb3RlbgogIHN0YXRlOiBjbG9zZWQKICBtb2RlOiAzCiAgc29ydDogMwogIGZsYWdzOiAwCiAgcHJvcGVydGllczoKICAgIGFsbG93cmVvcGVuOiB0cnVlCiAgICByZW9wZW5zdGF0dXM6IDAKICAgIGRlc2NyaXB0aW9uOiA+CiAgICAgIEFmZ2VzbG90ZW4gdGlja2V0cy4gRGUgdGlja2V0cyBibGlqdmVuIHRvZWdhbmtlbGlqayB2b29yIGNsacOrbnQgZW4gbWVkZXdlcmtlcnMuCi0gCiAgaWQ6IDQKICBuYW1lOiBHZWFyY2hpdmVlcmQKICBzdGF0ZTogYXJjaGl2ZWQKICBtb2RlOiAzCiAgc29ydDogNAogIGZsYWdzOiAwCiAgcHJvcGVydGllczoKICAgIGRlc2NyaXB0aW9uOiA+CiAgICAgIFRpY2tldHMgemlqbiBhbGxlZW4gYWRtaW5pc3RyYXRpZWYgYmVzY2hpa2JhYXIsIG1hYXIgbmlldCBtZWVyIHRvZWdhbmtlbGlqayB2b29yIGNsacOrbnRlbi4KLSAKICBpZDogNQogIG5hbWU6IFZlcndpamRlcmQKICBzdGF0ZTogZGVsZXRlZAogIG1vZGU6IDMKICBzb3J0OiA1CiAgZmxhZ3M6IDAKICBwcm9wZXJ0aWVzOgogICAgZGVzY3JpcHRpb246ID4KICAgICAgVGlja2V0cyBkaWUgdmVyd2lqZGVyZCB3b3JkZW4uIE5pZXQgbWVlciBiZXNjaGlrYmFhciBpbiBkZSB3YWNodHJpamVuLgojVGhpcyBpcyBwb3B1cCBoZWxwIG1lc3NhZ2VzIGZvciB0aGUgQWRtaW4gUGFuZWwgLT4gRGFzaGJvYXJkICAtPiBBdWRpdCBMb2dzIHBhZ2UKI0ZpZWxkczoKI3RpdGxlIC0gU2hvd24gaW4gYm9sZCBhdCB0aGUgdG9wIG9mIHRoZSBwb3BvdmVyIHdpbmRvdwojY29udGVudCAtIFRoZSBib2R5IG9mIHRoZSBoZWxwIHBvcG92ZXIKI2xpbmtzIC0gTGlzdCBvZiBsaW5rcyBzaG93cyBiZWxvdyB0aGUgY29udGVudAojdGl0bGUgLSBMaW5rIHRpdGxlCiNocmVmIC0gaHJlZiBvZiBsaW5rIChsaW5rcyBzdGFydGluZyB3aXRoIC8gYXJlIHRyYW5zbGF0ZWQgdG8gdGhlCiNoZWxwZGVzayBpbnN0YWxsYXRpb24gcGF0aCkKI1RoZSBrZXkgbmFtZXMgc3VjaCBhcyAnaGVscGRlc2tfbmFtZScgc2hvdWxkIG5vdCBiZSB0cmFuc2xhdGVkIGFzIHRoZXkKI211c3QgbWF0Y2ggdGhlIEhUTUwgI2lkcyBwdXQgaW50byB0aGUgcGFnZSB0ZW1wbGF0ZS4KLS0tCmF1ZGl0X2xvZ3M6CiAgdGl0bGU6IEF1ZGl0IExvZ3MKICBjb250ZW50OiA+CiAgICBIaWVyIHZpbmR0IHUgYWxsZSBhY3Rpdml0ZWl0ZW4gZGllIG5hYXIgaGV0IGF1ZGl0bG9nYm9layB6aWpuIGdlc2NocmV2ZW4gdGVyd2lqbCBkZSBwbHVnLWluIEF1ZGl0IGlzIGluZ2VzY2hha2VsZAogIGxpbmtzOgogICAgLSAKICAgICAgdGl0bGU6IENvbmZpZ3VyZSBQbHVnaW5zCiAgICAgIGhyZWY6IC9zY3AvcGx1Z2lucy5waHAKZGF0ZV9zcGFuOgogIHRpdGxlOiBEYXR1bSBiZXJlaWsKICBjb250ZW50OiA+CiAgICBTZWxlY3QgdGhlIGRhdGUgcmFuZ2UgdGhhdCB5b3Ugd291bGQgbGlrZSB0byB2aWV3IGluIHRoZSA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPkF1ZGl0IExvZ3M8L3NwYW4+Lgp0eXBlOgogIHRpdGxlOiBUeXBlCiAgY29udGVudDogPgogICAgQ2hvb3NlIHdoaWNoIG9iamVjdCB0eXBlIHlvdSB3b3VsZCBsaWtlIHRvIHNlZSBBdWRpdHMgZm9yLgpldmVudHM6CiAgdGl0bGU6IEV2ZW50cwogIGNvbnRlbnQ6ID4KICAgIE5hcnJvdyBkb3duIHJlc3VsdHMgYmFzZWQgb24gYSBzcGVjaWZpYyBFdmVudC4KI1RoaXMgaXMgcG9wdXAgaGVscCBtZXNzYWdlcyBmb3IgdGhlIFN0YWZmIFBhbmVsIC0+IERhc2hib2FyZCAtPiBEYXNoYm9hcmQKI0ZpZWxkczoKI3RpdGxlIC0gU2hvd24gaW4gYm9sZCBhdCB0aGUgdG9wIG9mIHRoZSBwb3BvdmVyIHdpbmRvdwojY29udGVudCAtIFRoZSBib2R5IG9mIHRoZSBoZWxwIHBvcG92ZXIKI2xpbmtzIC0gTGlzdCBvZiBsaW5rcyBzaG93cyBiZWxvdyB0aGUgY29udGVudAojdGl0bGUgLSBMaW5rIHRpdGxlCiNocmVmIC0gaHJlZiBvZiBsaW5rIChsaW5rcyBzdGFydGluZyB3aXRoIC8gYXJlIHRyYW5zbGF0ZWQgdG8gdGhlCiNoZWxwZGVzayBpbnN0YWxsYXRpb24gcGF0aCkKI1RoZSBrZXkgbmFtZXMgc3VjaCBhcyAnaGVscGRlc2tfbmFtZScgc2hvdWxkIG5vdCBiZSB0cmFuc2xhdGVkIGFzIHRoZXkKI211c3QgbWF0Y2ggdGhlIEhUTUwgI2lkcyBwdXQgaW50byB0aGUgcGFnZSB0ZW1wbGF0ZS4KLS0tCnRpY2tldF9hY3Rpdml0eToKICB0aXRsZTogVGlja2V0IGFjdGl2aXRlaXQKICBjb250ZW50OiA+CiAgICBTZWxlY3RlZXIgZWVuIGRhdHVtYmVyZWlrIG9tIHpvd2VsIGRlIGdyYWZpZWsgZW4gZGUgdGFiZWwgaGllcm9uZGVyICh6aWUgIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+U3RhdGlzdGlla2VuPC9zcGFuPikgYWFuIHRlIHBhc3NlbiBhYW4gZGUgZ2VnZXZlbnMgdWl0IGRpZSBwZXJpb2RlLiBEZSBncmFmaWVrIGhpZXJvbmRlciBnZWVmdCBzdGVlZHMgZWVuIGFsZ2VtZWVuIG92ZXJ6aWNodCB2YW4gYWxsZSBiZXNjaGlrYmFyZSBkYXRhIChidi4gcG9wdWxhdGllKS4gSmUga2FuIGVjaHRlciBvb2sgbmF2aWdlcmVuIHZpYSBkZSA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPlN0YXRpc3RpZWtlbjwvc3Bhbj4gdGFiZWwgaGllcm9uZGVyIG9tIGRlIGZvY3VzIG1lZXIgc3BlY2lmaWVrIHRlIG1ha2VuIChidi4gQWZkZWxpbmcsIE9uZGVyd2VycGVuIG9mIFBlcnNvbmVlbCkuIEJvdmVuZGllbiBrYW4gamUgYWxsZSBkYXRhIHppY2h0YmFhciBpbiBkZSA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPlN0YXRpc3RpZWtlbjwvc3Bhbj4gdGFiZWwgZXhwb3J0ZXJlbi4KcmVwb3J0X3RpbWVmcmFtZToKICB0aXRsZTogUmFwcG9ydGFnZSB0aWpkc3Bhbm5lCiAgY29udGVudDogPgogICAgS2llcyB2b29yIGhldCBnZXdlbnN0ZSBnZWdldmVucyB2b29yYmVlbGQgZWVuIHN0YXJ0ZGF0dW0gbWV0IGRlIGRhdHVta2llemVyLiBLaWVzIHZlcnZvbGdlbnMgZGUgdGlqZHNkdXVyIHZhbmFmIGRpZSBkYXR1bSBvbSBoZXQgZWluZGUgdmFuIGhldCBnZWdldmVuc3Zvb3JiZWVsZCB2YXN0IHRlIHN0ZWxsZW4uCnN0YXRpc3RpY3M6CiAgdGl0bGU6IFN0YXRpc3RpZWtlbgogIGNvbnRlbnQ6ID4KICAgIE9tIGVlbiBzcGVjaWZpZWsgb25kZXJ3ZXJwIHRlIGJla2lqa2VuLCBuYXZpZ2VlciBuYWFyIGhldCBnZXdlbnN0ZSBvbmRlcndlcnAgZG9vciBvcCBkZSBvdmVyZWVua29tc3RpZ2UgdGFiIHRlIGtsaWtrZW4uIEJpbm5lbiBkZSB0YWJlbCB3b3JkdCBkZSBncm9vdHRlIHZhbiBkZSBub21pbmFsZSBkYXRhIHZvb3JnZXN0ZWxkIGRvb3IgZGUgY2lya2Vscy4gWm9kb2VuZGUgemFsIGJpaiBlZW4gZ3JvdGVyIGdldGFsIGluIGVlbiBiZXBhYWxkZSBjZWwgZGUgYWFuZ3JlbnplbmRlIGNpcmtlbCBncm90ZXIgemlqbi4Kb3BlbmVkOgogIHRpdGxlOiBHZW9wZW5kCiAgY29udGVudDogPgogICAgVGlja2V0cyBkaWUgb29yc3Byb25rZWxpamsgemlqbiBnZW9wZW5kIG1ldCBkZSBBZmRlbGluZyBvZiBoZXQgSGVscC1vbmRlcndlcnAgb3AgaGV0IHRpY2tldCwgb2YgaGV0IGFhbnRhbCB0aWNrZXRzIGRhdCBlZW4gQWdlbnQgbmFtZW5zIGVlbiBnZWJydWlrZXIgaGVlZnQgZ2VvcGVuZC4KYXNzaWduZWQ6CiAgdGl0bGU6IFRvZWdld2V6ZW4KICBjb250ZW50OiA+CiAgICBUaWNrZXRzIGRpZSB6aWpuIHRvZWdld2V6ZW4gYWFuIGVlbiBhZ2VudCBvZiBlZW4gdGVhbS4gSGV0IGFhbnRhbCB3ZWVyc3BpZWdlbHQgdGlja2V0cyBkaWUgaGFuZG1hdGlnIHppam4gdG9lZ2V3ZXplbiBhYW4gYWdlbnRlbiBvZiB0ZWFtcywgZ2VjbGFpbWRlIHRpY2tldHMgZW4gdGlja2V0cyBkaWUgemlqbiB0b2VnZXdlemVuIHZpYSB0aWNrZXRmaWx0ZXJzL2FuZGVyZSByZWdlbHMgdm9vciBhdXRvbWF0aXNjaGUgdG9ld2lqemluZy4Kb3ZlcmR1ZToKICB0aXRsZTogQWNodGVyc3RhbGxpZwogIGNvbnRlbnQ6ID4KICAgIFRpY2tldHMgZGllIGRvb3IgaGV0IHN5c3RlZW0gYWxzIGFjaHRlcnN0YWxsaWcgZ2VtYXJrZWVyZCB6aWpuLiBUaWNrZXRzIHdvcmRlbiBhbHMgYWNodGVyc3RhbGxpZyBnZW1hcmtlZXJkIHdhbm5lZXIgemUgbm9nICdvcGVuJyBzdGFhbiB0ZXJ3aWpsIGRlIHJlc3BvbnN0aWpkICh2b2xnZW5zIGhldCBTTEEpIHZvb3JiaWogaXMuCmNsb3NlZDoKICB0aXRsZTogR2VzbG90ZW4KICBjb250ZW50OiA+CiAgICBIZXQgYWFudGFsIHRpY2tldHMgZGF0IG1vbWVudGVlbCBkZSBzdGF0dXMgZ2VzbG90ZW4gaGVlZnQuCnJlb3BlbmVkOgogIHRpdGxlOiBIZXJvcGVuZAogIGNvbnRlbnQ6ID4KICAgIEhldCB0b3RhYWwgYWFudGFsIGtlZXIgZGF0IGVlbiB0aWNrZXQgaGVyb3BlbmQgaXMuIEVlbiB0aWNrZXQgd29yZHQgaGVyb3BlbmQgYWxzIGRlIHN0YXR1cyB3b3JkdCB2ZXJhbmRlcmQgdmFuIGdlc2xvdGVuIG5hYXIgb3Blbi4KZGVsZXRlZDoKICB0aXRsZTogVmVyd2lqZGVyZAogIGNvbnRlbnQ6ID4KICAgIEhldCBhYW50YWwgdGlja2V0cyBkYXQgdmVyd2lqZGVyZCBpcy4Kc2VydmljZV90aW1lOgogIHRpdGxlOiBTZXJ2aWNlIHRpamQKICBjb250ZW50OiA+CiAgICBWZXJ3aWpzdCBuYWFyIGRlIHRpamRzZHV1ciBkaWUgYmVnaW50IG9wIGhldCBtb21lbnQgZGF0IGVlbiB0aWNrZXQgZ2VvcGVuZCB3b3JkdCBlbiBlaW5kaWd0IHdhbm5lZXIgZWVuIHRpY2tldCBnZXNsb3RlbiB3b3JkdC4gRGUga29sb20gc2VydmljZXRpamQgZ2VlZnQgZGUgZ2VtaWRkZWxkZSBzZXJ2aWNldGlqZCBwZXIgdGlja2V0IGFhbiBpbiB1cmVuLgpyZXNwb25zZV90aW1lOgogIHRpdGxlOiBSZWFjdGlldGlqZAogIGNvbnRlbnQ6ID4KICAgIEdlZWZ0IGRlIGdlbWlkZGVsZGUgcmVzcG9uc3RpamQgYWFuIHZhbiBlZW4gbWVkZXdlcmtlciwgaW4gdXJlbiwgdmFuIGVlbiBiZXJpY2h0IG9wIGVlbiB0aWNrZXQuCiNUaGlzIGlzIHBvcHVwIGhlbHAgbWVzc2FnZXMgZm9yIHRoZSBTdGFmZiBQYW5lbCAtPiBEYXNoYm9hcmQgLT4gTXkgUHJvZmlsZQojRmllbGRzOgojdGl0bGUgLSBTaG93biBpbiBib2xkIGF0IHRoZSB0b3Agb2YgdGhlIHBvcG92ZXIgd2luZG93CiNjb250ZW50IC0gVGhlIGJvZHkgb2YgdGhlIGhlbHAgcG9wb3ZlcgojbGlua3MgLSBMaXN0IG9mIGxpbmtzIHNob3dzIGJlbG93IHRoZSBjb250ZW50CiN0aXRsZSAtIExpbmsgdGl0bGUKI2hyZWYgLSBocmVmIG9mIGxpbmsgKGxpbmtzIHN0YXJ0aW5nIHdpdGggLyBhcmUgdHJhbnNsYXRlZCB0byB0aGUKI2hlbHBkZXNrIGluc3RhbGxhdGlvbiBwYXRoKQojVGhlIGtleSBuYW1lcyBzdWNoIGFzICdoZWxwZGVza19uYW1lJyBzaG91bGQgbm90IGJlIHRyYW5zbGF0ZWQgYXMgdGhleQojbXVzdCBtYXRjaCB0aGUgSFRNTCAjaWRzIHB1dCBpbnRvIHRoZSBwYWdlIHRlbXBsYXRlLgotLS0KY29udGFjdF9pbmZvcm1hdGlvbjoKICB0aXRsZTogQ29udGFjdCBpbmZvcm1hdGllCiAgY29udGVudDogPgoKdXNlcm5hbWU6CiAgdGl0bGU6IEdlYnJ1aWtlcnNuYWFtCiAgY29udGVudDogPgogICAgQWxsZWVuIG1lZGV3ZXJrZXJzIG1ldCBlZW4gQWRtaW4gc3RhdHVzIG1vZ2VuIGVlbiBnZWJydWlrZXJzbmFhbSBhYW5wYXNzZW4uIEFscyB1IGVlbiBtZWRld2Vya2VyIGJlbnQgbWV0IGFkbWluIHByaXZpbGVnZXMsIGt1bnQgdSBkaXQgZG9lbiBkb29yIGVlbiB0ZSB3aWp6aWdlbiBtZWRld2Vya2VyIHRlIHNlbGVjdGVyZW4gaW4gZGUgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5NZWRld2Vya2Vyczwvc3Bhbj4gdGFiZWwuCiAgbGlua3M6CiAgICAtIAogICAgICB0aXRsZTogQWxzIGVlbiBiZWhlZXJkZXIgZWVuIGdlYnJ1aWtlcnNuYWFtIHdpanppZ2VuCiAgICAgIGhyZWY6IC9zY3Avc3RhZmYucGhwCmNvbmZpZzJmYToKICB0aXRsZTogVHdlZSBmYWN0b3IgYXV0aGVudGljYXRpZQogIGNvbnRlbnQ6ID4KICAgIFR3ZWUgZmFjdG9yIGF1dGhlbnRpY2F0aWUgdm9lZ3QgZWVuIGV4dHJhIGJldmVpbGlnaW5nc2xhYWcgdG9lIGJpaiBoZXQgaW5sb2dnZW4gb3AgZGUgaGVscGRlc2suIFpvZHJhIHUgdXcgZ2VicnVpa2Vyc25hYW0gZW4gd2FjaHR3b29yZCBjb3JyZWN0IGhlYnQgaW5nZXZvZXJkLCBtb2V0IHUgZWVuIHRva2VuIGludm9lcmVuIG9tIGhldCBpbmxvZ2dlbiBiaWogZGUgaGVscGRlc2sgdGUgdm9sdG9vaWVuLgp0aW1lX3pvbmU6CiAgdGl0bGU6IFRpamR6b25lCiAgY29udGVudDogPgoKZGF5bGlnaHRfc2F2aW5nOgogIHRpdGxlOiBab21lcnRpamQKICBjb250ZW50OiA+CgptYXhpbXVtX3BhZ2Vfc2l6ZToKICB0aXRsZTogTWF4aW1hbGUgcGFnaW5hZ3Jvb3R0ZQogIGNvbnRlbnQ6ID4KCmF1dG9fcmVmcmVzaF9yYXRlOgogIHRpdGxlOiBBdXRvIFJlZnJlc2ggUmF0ZQogIGNvbnRlbnQ6ID4KCmRlZmF1bHRfc2lnbmF0dXJlOgogIHRpdGxlOiBTdGFuZGFhcmRoYW5kdGVrZW5pbmcKICBjb250ZW50OiA+CgpkZWZhdWx0X3BhcGVyX3NpemU6CiAgdGl0bGU6IFN0YW5kYWFyZCBwYXBpZXJmb3JtYWF0CiAgY29udGVudDogPgoKc2hvd19hc3NpZ25lZF90aWNrZXRzOgogIHRpdGxlOiBUb29uIHRvZWdld2V6ZW4gVGlja2V0cwogIGNvbnRlbnQ6ID4KICAgIDxwPkFscyBkZXplIG9wdGllIHdvcmR0IGluZ2VzY2hha2VsZCwgd29yZHQgZGUgaW5zdGVsbGluZyBvbSB0b2VnZXdlemVuIHRpY2tldHMgdGUgdmVyYmVyZ2VuIGluIGhldCBsaWpzdGplICJPcGVuIHRpY2tldHMiIGdlbmVnZWVyZC48L3A+PHAgY2xhc3M9ImluZm8tYmFubmVyIj48aSBjbGFzcz0iaWNvbi1pbmZvLXNpZ24iPjwvaT5EZXplIGluc3RlbGxpbmcgaXMgYWxsZWVuIGJlc2NoaWtiYWFyIGFscyBkZSBnbG9iYWxlIGluc3RlbGxpbmcgaW56YWtlIHRvZWdld2V6ZW4gdGlja2V0cyBnZWFjdGl2ZWVyZCB3b3JkdC48L3A+CnBhc3N3b3JkOgogIHRpdGxlOiBXYWNodHdvb3JkCiAgY29udGVudDogPgoKY3VycmVudF9wYXNzd29yZDoKICB0aXRsZTogSHVpZGlnIHdhY2h0d29vcmQKICBjb250ZW50OiA+CgpuZXdfcGFzc3dvcmQ6CiAgdGl0bGU6IE5pZXV3IHdhY2h0d29vcmQKICBjb250ZW50OiA+Cgpjb25maXJtX25ld19wYXNzd29yZDoKICB0aXRsZTogQmV2ZXN0aWcgbmlldXcgd2FjaHR3b29yZAogIGNvbnRlbnQ6ID4KCnNpZ25hdHVyZToKICB0aXRsZTogSGFuZHRla2VuaW5nCiAgY29udGVudDogPgogICAgTWFhayBlZW4gb3B0aW9uZWxlIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+T25kZXJ0ZWtlbmluZzwvc3Bhbj4gZGllIGV2ZW50dWVlbCB3b3JkdCB3ZWVyZ2VnZXZlbiBhYW4gaGV0IGVpbmRlIHZhbiB5b3V3IFRpY2tldCBBbnR3b29yZGVuLiBPZiBkZXplICA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPkhhbmR0ZWtlbmluZzwvc3Bhbj4gdmVyc2NoaWpudCBoYW5ndCBhZgogICAgdmFuIGRlIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+RW1haWwgVGVtcGxhdGU8L3NwYW4+IGRpZSB3b3JkdCBnZWJydWlrdCBpbiBlZW4gVGlja2V0IEFudHdvb3JkLgogIGxpbmtzOgogICAgLSAKICAgICAgdGl0bGU6IE1hYWsgZW1haWwgdGVtcGxhdGVzIGluIGhldCBBZG1pbiBQYW5lbAogICAgICBocmVmOiAvc2NwL3RlbXBsYXRlcy5waHAKI1RoaXMgaXMgcG9wdXAgaGVscCBtZXNzYWdlcyBmb3IgdGhlIFN0YWZmIFBhbmVsIC0+IERhc2hib2FyZCAtPiBTdGFmZiBEaXJlY3RvcnkKI0ZpZWxkczoKI3RpdGxlIC0gU2hvd24gaW4gYm9sZCBhdCB0aGUgdG9wIG9mIHRoZSBwb3BvdmVyIHdpbmRvdwojY29udGVudCAtIFRoZSBib2R5IG9mIHRoZSBoZWxwIHBvcG92ZXIKI2xpbmtzIC0gTGlzdCBvZiBsaW5rcyBzaG93cyBiZWxvdyB0aGUgY29udGVudAojdGl0bGUgLSBMaW5rIHRpdGxlCiNocmVmIC0gaHJlZiBvZiBsaW5rIChsaW5rcyBzdGFydGluZyB3aXRoIC8gYXJlIHRyYW5zbGF0ZWQgdG8gdGhlCiNoZWxwZGVzayBpbnN0YWxsYXRpb24gcGF0aCkKI1RoZSBrZXkgbmFtZXMgc3VjaCBhcyAnaGVscGRlc2tfbmFtZScgc2hvdWxkIG5vdCBiZSB0cmFuc2xhdGVkIGFzIHRoZXkKI211c3QgbWF0Y2ggdGhlIEhUTUwgI2lkcyBwdXQgaW50byB0aGUgcGFnZSB0ZW1wbGF0ZS4KLS0tCnN0YWZmX21lbWJlcnM6CiAgdGl0bGU6IE1lZGV3ZXJrZXJzCiAgY29udGVudDogPgogICAgSW4gZGUgdm9sZ2VuZGUgdGFiZWwgYmV2YXQgZGUgcmVzdWx0YXRlbiB2YW4gaGV0IGZpbHRlciBlcmJvdmVuLiBBbHMgZ2VlbiBpbnN0ZWxsaW5nZW4gdm9vciBoZXQgZmlsdGVyIHdvcmRlbiBnZWtvemVuLCB6aWpuIGRhbiBhbGxlIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+IE1lZGV3ZXJrZXJzPC9zcGFuPiB3ZWVyZ2VnZXZlbiwgZW4gb3BnZWRlZWxkIGRvb3IgcGFnaW5hJ3MuIFppZSBkZSBzZWN0aWUgcGFnaW5hJ3MgaGllcm9uZGVyIG9tIHRlIG5hdmlnZXJlbiBkb29yIG1lZXIgcmVzdWx0YXRlbi4gWmllIGRlIHNlY3RpZSBwYWdpbmEncyBoaWVyb25kZXIgb20gdGUgbmF2aWdlcmVuIGRvb3IgbWVlcmRlcmUgcmVzdWx0YXRlbi4KYXBwbHlfZmlsdGVyaW5nX2NyaXRlcmlhOgogIHRpdGxlOiBQYXMgZmlsdGVyY3JpdGVyaWEgdG9lCiAgY29udGVudDogPgogICAgS2llcyBlZW4gPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5hZmRlbGluZzwvc3Bhbj4gZGllIHJlbGV2YW50IGlzIHZvb3IgdXcgaHVpZGlnZSBiZWxhbmdlbi4gVSBrYW4gb29rIGhldCB1aXR2b2VyZW4gdmFuIGVlbiB6b2Vrb3BkcmFjaHQgdm9vciBlZW4gc3BlY2lmaWVrZSBBZ2VudC4KI1RoaXMgaXMgcG9wdXAgaGVscCBtZXNzYWdlcyBmb3IgdGhlIEFkbWluIFBhbmVsIC0+IERhc2hib2FyZCAgLT4gU3lzdGVtIExvZ3MgcGFnZQojRmllbGRzOgojdGl0bGUgLSBTaG93biBpbiBib2xkIGF0IHRoZSB0b3Agb2YgdGhlIHBvcG92ZXIgd2luZG93CiNjb250ZW50IC0gVGhlIGJvZHkgb2YgdGhlIGhlbHAgcG9wb3ZlcgojbGlua3MgLSBMaXN0IG9mIGxpbmtzIHNob3dzIGJlbG93IHRoZSBjb250ZW50CiN0aXRsZSAtIExpbmsgdGl0bGUKI2hyZWYgLSBocmVmIG9mIGxpbmsgKGxpbmtzIHN0YXJ0aW5nIHdpdGggLyBhcmUgdHJhbnNsYXRlZCB0byB0aGUKI2hlbHBkZXNrIGluc3RhbGxhdGlvbiBwYXRoKQojVGhlIGtleSBuYW1lcyBzdWNoIGFzICdoZWxwZGVza19uYW1lJyBzaG91bGQgbm90IGJlIHRyYW5zbGF0ZWQgYXMgdGhleQojbXVzdCBtYXRjaCB0aGUgSFRNTCAjaWRzIHB1dCBpbnRvIHRoZSBwYWdlIHRlbXBsYXRlLgotLS0Kc3lzdGVtX2xvZ3M6CiAgdGl0bGU6IFN5c3RlZW1sb2dib2VrZW4KICBjb250ZW50OiA+CiAgICBIaWVyIHZpbmR0IGplIGFsbGUgcHJvYmxlZW1vcGxvc3NpbmdlbiB2ZXJ3YW50IGFhbiBsb2dnaW5nIChidi4gRXJyb3JzLCBXYXJuaW5ncyBvZiBCdWdzKS4KICBsaW5rczoKICAgIC0gCiAgICAgIHRpdGxlOiBQYXMgd2VsayB0eXBlIGFjdGl2aXRlaXQgZXIgd29yZHQgZ2Vsb2dkIGFhbiBkb29yICA8YnIgLz48c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPlN0YW5kYWFyZCBMb2cgTGV2ZWw8L3NwYW4+IHRlIHdpanppZ2VuLgogICAgICBocmVmOiAvc2NwL3NldHRpbmdzLnBocD90PXN5c3RlbQpkYXRlX3NwYW46CiAgdGl0bGU6IERhdHVtIGJlcmVpawogIGNvbnRlbnQ6ID4KICAgIFNlbGVjdGVlciBoZXQgZGF0dW1iZXJlaWsgZGF0IHUgd2lsdCB3ZWVyZ2V2ZW4gaW4gPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5TeXN0ZWVtIExvZ3M8L3NwYW4+Lgp0eXBlOgogIHRpdGxlOiBUeXBlCiAgY29udGVudDogPgogICAgS2llcyBlZW4gb3B0aWUgb20gZGUgZm9jdXMgb3AgZWVuIHNwZWNpZmllayB0eXBlIHZhbiBhY3RpZSB0ZSBiZXBlcmtlbi4gPHNwYW4gY2xhc3M9ImRvYy1kZXNjLW9wdCI+RGVidWc8L3NwYW4+IHZlcnRlZ2Vud29vcmRpZ3QgZGUgbWluc3QgZXJuc3QsIGVuIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy1vcHQiPkZvdXQ8L3NwYW4+IHZlcnRlZ2Vud29vcmRpZ3QgZGUgZ3Jvb3RzdGUgZXJuc3QuCnNob3dpbmdfbG9nczoKICB0aXRsZTogR2VlZiZoZWxsaXA7TG9ncyB3ZWVyCiAgY29udGVudDogPgogICAgS2lqayB6ZWtlciBkZSA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPlBhZ2luYTwvc3Bhbj4gaGllcm9uZGVyIG5hIG9tIGVydm9vciB0ZSB6b3JnZW4gZGF0IGVyIG5pZXQgbcOpw6lyIHppY2h0YmFyZSBwYWdpbmEncyB2ZXJzY2hpam5lbiBpbiBkZSBTeXN0ZW0gTG9ncy4KbG9nX3RpdGxlOgogIHRpdGxlOiBMb2cgdGl0ZWwKICBjb250ZW50OiA+CiAgICBLbGlrIG9wIGRlIGhlYWRlciA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPkxvZyBUaXRlbDwvc3Bhbj4gdmFuIGRlIHRhYmVsIGFscyBqZSBkZSByZXN1bHRhdGVuIHdpbHQgc29ydGVyZW4gb3AgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5Mb2cgVGl0ZWw8L3NwYW4+Lgpsb2dfdHlwZToKICB0aXRsZTogTG9nIFR5cGUKICBjb250ZW50OiA+CiAgICBLbGlrIG9wIGRlIGhlYWRlciA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPkxvZyBUeXBlPC9zcGFuPiB2YW4gZGUgdGFiZWwgYWxzIGplIGRlIHJlc3VsdGF0ZW4gd2lsdCBzb3J0ZXJlbiBvcCA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPkxvZyBUeXBlPC9zcGFuPi4KbG9nX2RhdGU6CiAgdGl0bGU6IExvZ2RhdHVtCiAgY29udGVudDogPgogICAgRGl0IGlzIGRlIGRhdHVtIHdhbm5lZXIgZGUgbG9nIGlzIGdlZ2VuZXJlZXJkIGRvb3IgZGUgc29mdHdhcmUuIEFscyBqZSBkZSByZXN1bHRhdGVuIHdpbCBzb3J0ZXJlbiBvcCBkZSA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPkxvZyBEYXR1bTwvc3Bhbj4sIGtsaWsgZGFuIG9wIGRlIGhlYWRlciA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPkxvZyBEYXR1bTwvc3Bhbj4gdmFuIGRlIHRhYmVsLiAoR2VicnVpayBoZXQgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5EYXR1bSBUaWpkc3Bhbm5lPC9zcGFuPiBmb3JtdWxpZXIgaGllcmJvdmVuIG9tIGRlIHRpamRzcGFubmUgdmFuIGRlIGxvZ3MgYWFuIHRlIHBhc3Nlbi4pCmlwX2FkZHJlc3M6CiAgdGl0bGU6IElQLWFkcmVzCiAgY29udGVudDogPgogICAgRGl0IHZlcndpanN0IG5hYXIgaGV0IDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+IElQLTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj4gYWRyZXM8L3NwYW4+IHZhbiBkZSBhZ2VudCBvZiBkZSBrbGFudCBkaWUgb3NUaWNrZXQgYWFuIGhldCBnZWJydWlrZW4gd2FzICBvcCBoZXQgbW9tZW50IGRhdCBoZXQgbG9nYm9layBpcyBnZWdlbmVyZWVyZC4KI1RoaXMgaXMgcG9wdXAgaGVscCBtZXNzYWdlcyBmb3IgdGhlIEFkbWluIFBhbmVsIC0+IEVtYWlscyAtPiBCYW5saXN0CiNGaWVsZHM6CiN0aXRsZSAtIFNob3duIGluIGJvbGQgYXQgdGhlIHRvcCBvZiB0aGUgcG9wb3ZlciB3aW5kb3cKI2NvbnRlbnQgLSBUaGUgYm9keSBvZiB0aGUgaGVscCBwb3BvdmVyCiNsaW5rcyAtIExpc3Qgb2YgbGlua3Mgc2hvd3MgYmVsb3cgdGhlIGNvbnRlbnQKI3RpdGxlIC0gTGluayB0aXRsZQojaHJlZiAtIGhyZWYgb2YgbGluayAobGlua3Mgc3RhcnRpbmcgd2l0aCAvIGFyZSB0cmFuc2xhdGVkIHRvIHRoZQojaGVscGRlc2sgaW5zdGFsbGF0aW9uIHBhdGgpCiNUaGUga2V5IG5hbWVzIHN1Y2ggYXMgJ2hlbHBkZXNrX25hbWUnIHNob3VsZCBub3QgYmUgdHJhbnNsYXRlZCBhcyB0aGV5CiNtdXN0IG1hdGNoIHRoZSBIVE1MICNpZHMgcHV0IGludG8gdGhlIHBhZ2UgdGVtcGxhdGUuCi0tLQpiYW5fbGlzdDoKICB0aXRsZTogR2VibG9ra2VlcmRlIGUtbWFpbGFkcmVzc2VuCiAgY29udGVudDogPgogICAgRS1tYWlscyBvbnR2YW5nZW4gdmFuYWYgZS1tYWlsYWRyZXNzZW4gZGllIG9wIGRlIEdlYmxva2tlZXJkZSBlLW1haWxhZHJlc3NlbiBsaWpzdCBzdGFhbiB6dWxsZW4gYXV0b21hdGlzY2ggd29yZGVuIGFmZ2V3ZXplbi4KI1RoaXMgaXMgcG9wdXAgaGVscCBtZXNzYWdlcyBmb3IgdGhlIEFkbWluIFBhbmVsIC0+IEVtYWlscyAtPiBEaWFnbm9zdGljcwojRmllbGRzOgojdGl0bGUgLSBTaG93biBpbiBib2xkIGF0IHRoZSB0b3Agb2YgdGhlIHBvcG92ZXIgd2luZG93CiNjb250ZW50IC0gVGhlIGJvZHkgb2YgdGhlIGhlbHAgcG9wb3ZlcgojbGlua3MgLSBMaXN0IG9mIGxpbmtzIHNob3dzIGJlbG93IHRoZSBjb250ZW50CiN0aXRsZSAtIExpbmsgdGl0bGUKI2hyZWYgLSBocmVmIG9mIGxpbmsgKGxpbmtzIHN0YXJ0aW5nIHdpdGggLyBhcmUgdHJhbnNsYXRlZCB0byB0aGUKI2hlbHBkZXNrIGluc3RhbGxhdGlvbiBwYXRoKQojVGhlIGtleSBuYW1lcyBzdWNoIGFzICdoZWxwZGVza19uYW1lJyBzaG91bGQgbm90IGJlIHRyYW5zbGF0ZWQgYXMgdGhleQojbXVzdCBtYXRjaCB0aGUgSFRNTCAjaWRzIHB1dCBpbnRvIHRoZSBwYWdlIHRlbXBsYXRlLgotLS0KdGVzdF9vdXRnb2luZ19lbWFpbDoKICB0aXRsZTogVGVzdCB1aXRnYWFuZGUgRS1tYWlsCiAgY29udGVudDogPgogICAgRGUgYWZsZXZlcmluZyB2YW4gZGUgZS1tYWlsIGhhbmd0IGFmIHZhbiB1dyBzZXJ2ZXJpbnN0ZWxsaW5nZW4gKHBocC5pbmkpIGVuL29mIFNNVFAgY29uZmlndXJhdGllLgogIGxpbmtzOgogICAgLSAKICAgICAgdGl0bGU6IFNlbGVjdGVlciBlZW4gZW1haWwgb20gU01UUCAodWl0Z2FhbmRlIG1haWwpIGluc3RlbGxpbmdlbiB0ZSBjb25maWd1cmVyZW4KICAgICAgaHJlZjogL3NjcC9lbWFpbHMucGhwCmZyb206CiAgdGl0bGU6IFZhbgogIGNvbnRlbnQ6ID4KCnRvOgogIHRpdGxlOiBBYW4KICBjb250ZW50OiA+CgpzdWJqZWN0OgogIHRpdGxlOiBPbmRlcndlcnAKICBjb250ZW50OiA+CgptZXNzYWdlOgogIHRpdGxlOiBCZXJpY2h0CiAgY29udGVudDogPgoKI1RoaXMgaXMgcG9wdXAgaGVscCBtZXNzYWdlcyBmb3IgdGhlIEFkbWluIFBhbmVsIC0+IEVtYWlscyAtPiBBZGQgTmV3IEVtYWlsCiNGaWVsZHM6CiN0aXRsZSAtIFNob3duIGluIGJvbGQgYXQgdGhlIHRvcCBvZiB0aGUgcG9wb3ZlciB3aW5kb3cKI2NvbnRlbnQgLSBUaGUgYm9keSBvZiB0aGUgaGVscCBwb3BvdmVyCiNsaW5rcyAtIExpc3Qgb2YgbGlua3Mgc2hvd3MgYmVsb3cgdGhlIGNvbnRlbnQKI3RpdGxlIC0gTGluayB0aXRsZQojaHJlZiAtIGhyZWYgb2YgbGluayAobGlua3Mgc3RhcnRpbmcgd2l0aCAvIGFyZSB0cmFuc2xhdGVkIHRvIHRoZQojaGVscGRlc2sgaW5zdGFsbGF0aW9uIHBhdGgpCiNUaGUga2V5IG5hbWVzIHN1Y2ggYXMgJ2hlbHBkZXNrX25hbWUnIHNob3VsZCBub3QgYmUgdHJhbnNsYXRlZCBhcyB0aGV5CiNtdXN0IG1hdGNoIHRoZSBIVE1MICNpZHMgcHV0IGludG8gdGhlIHBhZ2UgdGVtcGxhdGUuCi0tLQpuZXdfdGlja2V0X2hlbHBfdG9waWM6CiAgdGl0bGU6IE5pZXV3IFRpY2tldCBIZWxwLW9uZGVyd2VycAogIGNvbnRlbnQ6ID4KICAgIEtpZXMgZWVuIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+IEhlbHAtb25kZXJ3ZXJwPC9zcGFuPiBvbSBhdXRvbWF0aXNjaCBnZWFzc29jaWVlcmQgdGUgd29yZGVuIG1ldCB0aWNrZXRzIGdlbWFha3QgdmlhIGRpdCBlLW1haWxhZHJlcy4gPGJyLz4gPGJyLz4gRm9ybXVsaWVyZW4gZGllIGdla29wcGVsZCB6aWpuIGFhbiBoZXQgSGVscC1vbmRlcndlcnAgenVsbGVuIHdvcmRlbiB0b2VnZXZvZWdkIGFhbiBoZXQgdGlja2V0LCBtYWFyIHp1bGxlbiBuaWV0cyB2YW4gZ2VnZXZlbnMgYmV2YXR0ZW4uCiAgbGlua3M6CiAgICAtIAogICAgICB0aXRsZTogSGVscC1vbmRlcndlcnBlbiBiZWhlcmVuCiAgICAgIGhyZWY6IC9zY3AvaGVscHRvcGljcy5waHAKbmV3X3RpY2tldF9wcmlvcml0eToKICB0aXRsZTogTmlldXdlIFRpY2tldCBwcmlvcml0ZWl0CiAgY29udGVudDogPgogICAgS2llcyBkZSA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPlByaW9yaXRlaXQ8L3NwYW4+IHZvb3IgbmlldXdlIHRpY2tldHMgZ2VtYWFrdCB2aWEgZGl0IGUtbWFpbGFkcmVzLgpuZXdfdGlja2V0X2RlcGFydG1lbnQ6CiAgdGl0bGU6IE5pZXV3ZSBUaWNrZXQgYWZkZWxpbmcKICBjb250ZW50OiA+CiAgICBLaWVzIGhldCA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPkRlcGFydGVtZW50PC9zcGFuPiB3YWFybmFhciBuaWV1d2UgdGlja2V0cyBnZW1hYWt0IHZpYSBkaXQgZS1tYWlsYWRyZXMgd29yZGVuIGRvb3JnZXN0dXVyZC4KICBsaW5rczoKICAgIC0gCiAgICAgIHRpdGxlOiBBZmRlbGluZ2VuIGJlaGVyZW4KICAgICAgaHJlZjogL3NjcC9kZXBhcnRtZW50cy5waHAKYXV0b19yZXNwb25zZToKICB0aXRsZTogQXV0b21hdGlzY2ggYW50d29vcmQgb3AgbmlldXcgdGlja2V0CiAgY29udGVudDogPgogICAgVSBrYW4gaGV0IEF1dG9tYXRpc2NoIGFudHdvb3JkIHVpdHNjaGFrZWxlbiBkYXQgdmVyem9uZGVuIHdvcmR0IG5hYXIgZGUgZ2VicnVpa2VyIHdhbm5lZXIgZWVuIG5pZXV3IHRpY2tldCB3b3JkdCBnZW1hYWt0IHZpYSBkaXQgZS1tYWlsYWRyZXMuCnVzZXJpZDoKICB0aXRsZTogR2VicnVpa2Vyc25hYW0KICBjb250ZW50OiA+CiAgICBUaGUgVXNlcm5hbWUgaXMgdXRpbGl6ZWQgaW4gdGhlIGVtYWlsIGF1dGhlbnRpY2F0aW9uIHByb2Nlc3MuIFdlIGFjY2VwdCBzaW5nbGUgYWRkcmVzcyBzdHJpbmdzLCBzaGFyZWQgbWFpbGJveCBzdHJpbmdzLCBzZXJ2ZXJuYW1lICsgdXNlcm5hbWUgc3RyaW5ncywgYW5kIGEgY29tYmluYXRpb24gb2YgYWxsLgogIGxpbmtzOgogICAgLSAKICAgICAgdGl0bGU6IE1vcmUgSW5mb3JtYXRpb24KICAgICAgaHJlZjogaHR0cHM6Ly9kb2NzLm9zdGlja2V0LmNvbS9lbi9sYXRlc3QvQWRtaW4vRW1haWxzL0VtYWlscy5odG1sCnVzZXJuYW1lOgogIHRpdGxlOiBHZWJydWlrZXJzbmFhbQogIGNvbnRlbnQ6ID4KCnBhc3N3b3JkOgogIHRpdGxlOiBXYWNodHdvb3JkCiAgY29udGVudDogPgoKbG9naW5faW5mb3JtYXRpb246CiAgdGl0bGU6IEUtbWFpbCBMb2dpbiBpbmZvcm1hdGllCiAgY29udGVudDogPgogICAgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5HZWJydWlrZXJzbmFhbTwvc3Bhbj4gZW4gPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5XYWNodHdvb3JkPC9zcGFuPiB6aWpuIHZlcmVpc3Qgdm9vciBoZXQgb250dmFuZ2VuIHZhbiBlLW1haWxzIHZpYSBJTUFQIC8gUE9QIHBvc3R2YWtrZW4gZW4gdm9vciBoZXQgdmVyemVuZGVuIHZhbiBlLW1haWxzIHZpYSBTTVRQLgptYWlsX2FjY291bnQ6CiAgdGl0bGU6IE9waGFsZW4gdmFuIEUtbWFpbAogIGNvbnRlbnQ6ID4KICAgIEUtbWFpbHMgb3BoYWxlbiB2YW4gZWVuIGV4dGVybmUgZS1tYWlsYWRyZXMgdmlhIElNQVAgb2YgUE9QIGVuIG9temV0dGVuIGluIHRpY2tldHMgaW4gdXcgaGVscGRlc2suCiAgbGlua3M6CiAgICAtIAogICAgICB0aXRsZTogQmVoZWVyPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5FbWFpbCBQb2xsaW5nPC9zcGFuPiAmYW1wOyA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPkF1dG9Dcm9uPC9zcGFuPiBpbnN0ZWxsaW5nZW4uCiAgICAgIGhyZWY6IC9zY3Avc2V0dGluZ3MucGhwP3Q9ZW1haWxzCmhvc3RfYW5kX3BvcnQ6CiAgdGl0bGU6IEV4dGVybmUgSG9zdAogIGNvbnRlbnQ6ID4KICAgIFZvZXIgZGUgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5ob3N0bmFtZTwvc3Bhbj4gZW4gPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5wb3J0PC9zcGFuPiBudW1tZXIgaW4gdm9vciB1dyBtYWlsc2VydmVycy4gRGV6ZSBpbmZvcm1hdGllIGthbiBiZXNjaGlrYmFhciB6aWpuIGluIGRlIGRvY3VtZW50YXRpZSB2YW4gdXcgaG9zdGluZ2FjY291bnQgb2YgYmlqIHV3IGUtbWFpbGJlaGVlcmRlci4gPGJyLz48YnIvPiBBbHMgdSBlZW4gbmlldC1zdGFuZGFhcmQgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5wb3J0PC9zcGFuPiBudW1tZXIgZ2VicnVpa3QgbWV0IGluZ2VzY2hha2VsZGUgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5lbmNyeXB0aWU8L3NwYW4+LCB2b2VnIGRhbiBoZXQgdm9vcnZvZWdzZWwgc3NsOi8vIG9mIHRsczovLyB0b2UgYWFuIGRlIGhvc3RuYW1lIG9tIG9uZGVyc3RldW5kZSBlbmNyeXB0aWUgYWFuIHRlIGdldmVuLiA8YnIvPjxici8+IE9tIGVlbiB2ZXJiaW5kaW5nIHpvbmRlciBlbmNyeXB0aWUgdGUgZm9yY2VyZW4sIHplbGZzIGFscyB1IGVlbiBzdGFuZGFhcmQgZW5jcnlwdGllIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+cG9ydDwvc3Bhbj4gZ2VicnVpa3QsIGdlYnJ1aWsgZGFuIHBsYWluOi8vLgptYWlsYm94X2ZvbGRlcjoKICB0aXRsZTogTWFpbCBGb2xkZXIKICBjb250ZW50OiA+CiAgICBFbnRlciB0aGUgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5Gb2xkZXI8L3NwYW4+IG5hbWUgdGhhdCB5b3Ugd2lzaCB0byBmZXRjaCBtYWlsIGZyb20uIElmIGxlZnQgZW1wdHkgdGhlIHN5c3RlbSB3aWxsIGZldGNoIGZyb20gdGhlIElOQk9YLgpwcm90b2NvbDoKICB0aXRsZTogTWFpbCBCb3ggUHJvdG9jb2wKICBjb250ZW50OiA+CiAgICBTZWxlY3RlZXIgaGV0IG1haWwgcHJvdG9jb2wgZGF0IHdvcmR0IG9uZGVyc3RldW5kIGRvb3IgdXcgZXh0ZXJuZSBtYWlsc2VydmVyLiBJTUFQIG9wIGVlbiBiZXZlaWxpZ2RlIHBvb3J0IGlzIHN0ZXJrIGFhbmJldm9sZW4uCmF1dGhlbnRpY2F0aW9uOgogIHRpdGxlOiBBdXRoZW50aWNhdGllCiAgY29udGVudDogPgogICAgVm9vciBvbmRlcnN0ZXVuaW5nIHZhbiBtb2Rlcm5lIGF1dGhlbnRpY2F0aWUgaXMgZGUgb3NUaWNrZXQgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5PQXV0aDIgUGx1Z2luPC9zcGFuPiB2ZXJlaXN0LgogIGxpbmtzOgogICAgLSAKICAgICAgdGl0bGU6IERvd25sb2FkIG9zVGlja2V0IFBsdWdpbnMKICAgICAgaHJlZjogaHR0cHM6Ly9vc3RpY2tldC5jb20vZG93bmxvYWQvCmZldGNoX2ZyZXF1ZW5jeToKICB0aXRsZTogT3BoYWFsIGZyZXF1ZW50aWUKICBjb250ZW50OiA+CiAgICBHZWVmIG9wIGhvZSB2YWFrLCBpbiBtaW51dGVuLCBoZXQgc3lzdGVlbSBoZXQgcG9zdHZhayB6YWwgY29udHJvbGVyZW4uIDxici8+IDxici8+IERpdCB2ZXJrbGFhcnQgZGUgdmVydHJhZ2luZyB2YW4gZWVuIEF1dG8tYW50d29vcmQgbmFkYXQgZWVuIGdlYnJ1aWtlciBlZW4gZS1tYWlsIG5hYXIgZGV6ZSBtYWlsYm94IHN0dXVydC4KZW1haWxzX3Blcl9mZXRjaDoKICB0aXRsZTogRS1tYWlscyBwZXIgb3BoYWxpbmcKICBjb250ZW50OiA+CiAgICBWb2VyIGhldCBhYW50YWwgdGUgdmVyd2Vya2VuIGUtbWFpbHMgcGVyIG9waGFsaW5nLgpmZXRjaGVkX2VtYWlsczoKICB0aXRsZTogT3BnZWhhYWxkZSBFLW1haWxzCiAgY29udGVudDogPgogICAgQmVzbGlzc2VuIHdhdCB0ZSBkb2VuIG1ldCBkZSB2ZXJ3ZXJrdGUgZS1tYWlsczogPGJyLz4gPGJyLz4gPHNwYW4gY2xhc3M9ImRvYy1kZXNjLW9wdCI+IDxiPnZlcnBsYWF0c2VuIG5hYXIgbWFwPC9iPjwvc3Bhbj46IGRpdCB6YWwgZGUgZS1tYWlscyB2YW4gaGV0IHBvc3R2YWsgSU4gbmFhciBlZW4gbWFwIGRpZSB1IG9wZ2VlZnQgdmVycGxhYXRzZW4uIEFscyBkZSBtYXAgbm9nIG5pZXQgYmVzdGFhdCBvcCBkZSBzZXJ2ZXIsIHphbCBoZXQgc3lzdGVlbSBwcm9iZXJlbiBvbSBkZXplIGF1dG9tYXRpc2NoIHRlIG1ha2VuLiAoPGI+QWFuYmV2b2xlbjwvYj4pIDxocj48c3BhbiBjbGFzcz0iZG9jLWRlc2Mtb3B0Ij4gPGI+VmVyd2lqZGVyZW4gPC9iPjwvc3Bhbj46IGRpdCB6YWwgdXcgZS1tYWlscyB2ZXJ3aWpkZXJlbiB1aXQgaGV0IHBvc3R2YWsgSU4gbmFkYXQgemUgemlqbiB2ZXJ3ZXJrdC4gPGhyPjxzcGFuIGNsYXNzPSJkb2MtZGVzYy1vcHQiPiA8Yj5OaWV0cyBkb2VuPC9iPjwvc3Bhbj46IERpdCBsYWF0IGUtbWFpbHMgaW4gdXcgSU5CT1guIEhldCBzeXN0ZWVtIHJlZ2lzdHJlZXJ0IGRlIGJlcmljaHQtaWQncyB2YW4gdXcgZS1tYWlscyBlbiBwcm9iZWVydCBuaWV0IG5vZ21hYWxzIHRlIHZlcndlcmtlbi4gRGV6ZSBvcHRpZSBrYW4gZWNodGVyIGR1YmJlbGUgdGlja2V0cyB2ZXJvb3Jha2VuLiAoPGVtPk5pZXQgYWFuYmV2b2xlbjwvZW0+KQpzbXRwX3NldHRpbmdzOgogIHRpdGxlOiBTTVRQLWluc3RlbGxpbmdlbgogIGNvbnRlbnQ6ID4KICAgIEUtbWFpbCB2ZXJ6b25kZW4gdmFudWl0IGRlIGhlbHBkZXNrIGthbiB3b3JkZW4gdmVyem9uZGVuIHZpYSBlZW4gU01UUC1zZXJ2ZXIuIERpdCB3b3JkdCBhYW5iZXZvbGVuLCBpbmRpZW4gbW9nZWxpamssIG9tZGF0IGhldCBkZSB3YWFyc2NoaWpubGlqa2hlaWQgdmFuIGVlbiBlLW1haWxsZXZlcmluZyB0b2VuZWVtdCBlbiB6YWwgaGV0IG1pbmRlciB3YWFyc2NoaWpubGlqayB3b3JkZW4gZ2VtYXJrZWVyZCBhbHMgc3BhbS4KaGVhZGVyX3Nwb29maW5nOgogIHRpdGxlOiBLb3B0ZWtzdCBvZiBzcG9vZmluZwogIGNvbnRlbnQ6ID4KICAgIExhYXQgdG9lIGVlbiBtYWlsIHRlIHZlcnplbmRlbiB2YW5hZiBlZW4gYW5kZXIgZW1haWwgYWRyZXMgZGFuIGRhdGdlbmUgZGF0IGlzIG9wZ2VnZXZlbiBiaWogPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5FbWFpbCBBZGRyZXNzPC9zcGFuPiBoaWVyYm92ZW4gPGJyLz48YnIvPiAgRGV6ZSBnZWF2YW5jZWVyZGUgaW5zdGVsbGluZyB3b3JkdCBtZWVzdGFsIGdlYnJ1aWt0IGJpaiBoZXQgZ2VicnVpayB2YW4gYWxsaWFzZXMuCnN0cmljdF9tYXRjaGluZzoKICB0aXRsZTogU3RyaWN0IEVtYWlsIE1hdGNoaW5nCiAgY29udGVudDogPgogICAgPGI+RW5hYmxlPC9iPiB0aGlzIG9wdGlvbiB0byByZXF1aXJlIHRoZSBFbWFpbCBBZGRyZXNzIGFuZCB0aGUgVG9rZW4ncyBSZXNvdXJjZSBPd25lciB0byBtYXRjaC4gVGhpcyBpcyB1c2VmdWwgZm9yIHByZXZlbnRpbmcgYWNjaWRlbnRhbCBhdXRob3JpemF0aW9uIG9mIGEgY29tcGxldGVseSBkaWZmZXJlbnQgYWNjb3VudC4gPGJyPjxicj4gPGI+RGlzYWJsZTwvYj4gdGhpcyBvcHRpb24gdG8gYWxsb3cgYSBkaWZmZXJlbnQgUmVzb3VyY2UgT3duZXIgZm9yIHRoZSBUb2tlbiB0aGFuIHRoZSBFbWFpbCBBZGRyZXNzLiBUaGlzIGlzIHVzZWZ1bCBmb3IgU2hhcmVkIE1haWxib3hlcy9BbGlhc2VzL2V0Yy4gd2hlcmUgeW91IG5lZWQgdG8gdXNlIGEgU2VydmljZSBBY2NvdW50IG9yIEdsb2JhbCBBZG1pbiB0byBhdXRob3JpemUgb24gYmVoYWxmIG9mIHRoZSBlbWFpbC4KI1RoaXMgaXMgcG9wdXAgaGVscCBtZXNzYWdlcyBmb3IgdGhlIEFkbWluIFBhbmVsIC0+IEVtYWlscyAtPiBUZW1wbGF0ZXMKI0ZpZWxkczoKI3RpdGxlIC0gU2hvd24gaW4gYm9sZCBhdCB0aGUgdG9wIG9mIHRoZSBwb3BvdmVyIHdpbmRvdwojY29udGVudCAtIFRoZSBib2R5IG9mIHRoZSBoZWxwIHBvcG92ZXIKI2xpbmtzIC0gTGlzdCBvZiBsaW5rcyBzaG93cyBiZWxvdyB0aGUgY29udGVudAojdGl0bGUgLSBMaW5rIHRpdGxlCiNocmVmIC0gaHJlZiBvZiBsaW5rIChsaW5rcyBzdGFydGluZyB3aXRoIC8gYXJlIHRyYW5zbGF0ZWQgdG8gdGhlCiNoZWxwZGVzayBpbnN0YWxsYXRpb24gcGF0aCkKI1RoZSBrZXkgbmFtZXMgc3VjaCBhcyAnaGVscGRlc2tfbmFtZScgc2hvdWxkIG5vdCBiZSB0cmFuc2xhdGVkIGFzIHRoZXkKI211c3QgbWF0Y2ggdGhlIEhUTUwgI2lkcyBwdXQgaW50byB0aGUgcGFnZSB0ZW1wbGF0ZS4KLS0tCmVtYWlsX3RlbXBsYXRlczoKICB0aXRsZTogRS1tYWlsc2phYmxvbmVuCiAgY29udGVudDogPgogICAgRS1tYWlsIHNqYWJsb25lbiB3b3JkZW4gZ2VicnVpa3Qgdm9vciBoZXQgdmVyemVuZGVuIHZhbiBBdXRvbWF0aXNjaGUgYW50d29vcmRlbiAgZW4gd2FhcnNjaHV3aW5nZW4gdm9vciB2ZXJzY2hpbGxlbmRlIGFjdGllcyBkaWUgdGlqZGVucyBkZSBsZXZlbnNjeWNsdXMgdmFuIGVlbiBUaWNrZXQgIHBsYWF0c3ZpbmRlbiBrdW5uZW4uCnRlbXBsYXRlX3RvX2Nsb25lOgogIHRpdGxlOiBLb3Bpw6tlciB0ZW1wbGF0ZQogIGNvbnRlbnQ6ID4KICAgIEtpZXMgZWVuIHNqYWJsb29uIG9tIHRlIGtvcGnDq3JlbiBvZiBzdGFydCBtZXQgZGUgc3RhbmRhYXJkIGUtbWFpbHRlbXBsYXRlcy4KbGFuZ3VhZ2U6CiAgdGl0bGU6IFRhYWwKICBjb250ZW50OiA+CiAgICBTZWxlY3RlZXIgZGUgZ2V3ZW5zdGUgdGFhbCB2b29yIGRlIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy1vcHQiPiB2b29ycmFhZDwvc3Bhbj4gPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj4gRS1tYWlsIHNqYWJsb29uIGluc3RlbGxlbjwvc3Bhbj4uIFRhYWxwYWtrZXR0ZW4gemlqbiBiZXNjaGlrYmFhciBvcCBvc1RpY2tldC5jb20uCiAgbGlua3M6CiAgICAtIAogICAgICB0aXRsZTogb3NUaWNrZXQgdGFhbHBha2tldHRlbgogICAgICBocmVmOiBodHRwczovL29zdGlja2V0LmNvbS9kb3dubG9hZApzdGF0dXM6CiAgdGl0bGU6IFN0YXR1cwogIGNvbnRlbnQ6ID4KICAgIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy1vcHQiPmluZ2VzY2hha2VsZDwvc3Bhbj4gU2phYmxvb24gU2V0cyB6aWpuIGJlc2NoaWtiYWFyIG9tIHRlIHdvcmRlbiBnZWtvcHBlbGQgYWFuIGFmZGVsaW5nZW4gZW4gaW5nZXN0ZWxkIG9wIGRlIHN0YW5kYWFyZHdhYXJkZW4gdmFuIGhldCBzeXN0ZWVtLiAgU2phYmxvb24gU2V0cyB3ZWxrZSBtb21lbnRlZWwgaW4gZ2VicnVpayB6aWpuIGt1bm5lbiBuaWV0IHdvcmRlbiA8c3BhbiBjbGFzcz0iZG9jLWRlc2Mtb3B0Ij51aXRnZXNjaGFrZWx0PC9zcGFuPi4KI1RoaXMgaXMgcG9wdXAgaGVscCBtZXNzYWdlcyBmb3IgdGhlIEFkbWluIFBhbmVsIC0+IFNldHRpbmdzIC0+IFN5c3RlbSBwYWdlCiNGaWVsZHM6CiN0aXRsZSAtIFNob3duIGluIGJvbGQgYXQgdGhlIHRvcCBvZiB0aGUgcG9wb3ZlciB3aW5kb3cKI2NvbnRlbnQgLSBUaGUgYm9keSBvZiB0aGUgaGVscCBwb3BvdmVyCiNsaW5rcyAtIExpc3Qgb2YgbGlua3Mgc2hvd3MgYmVsb3cgdGhlIGNvbnRlbnQKI3RpdGxlIC0gTGluayB0aXRsZQojaHJlZiAtIGhyZWYgb2YgbGluayAobGlua3Mgc3RhcnRpbmcgd2l0aCAvIGFyZSB0cmFuc2xhdGVkIHRvIHRoZQojaGVscGRlc2sgaW5zdGFsbGF0aW9uIHBhdGgpCiNUaGUga2V5IG5hbWVzIHN1Y2ggYXMgJ2hlbHBkZXNrX25hbWUnIHNob3VsZCBub3QgYmUgdHJhbnNsYXRlZCBhcyB0aGV5CiNtdXN0IG1hdGNoIHRoZSBIVE1MICNpZHMgcHV0IGludG8gdGhlIHBhZ2UgdGVtcGxhdGUuCi0tLQpmb3JtX3RpdGxlOgogIHRpdGxlOiBLb3B0ZWtzdAogIGNvbnRlbnQ6ID4KICAgIERlemUgdGl0ZWx0ZWtzdCB3b3JkdCB3ZWVyZ2VnZXZlbiBpbiBlZW4gZ3JpanplIGJhbGsgYm92ZW4gZGUgZm9ybXVsaWVydmVsZGVuCmZvcm1faW5zdHJ1Y3Rpb25zOgogIHRpdGxlOiBGb3JtdWxpZXIgaW5zdHJ1Y3RpZXMKICBjb250ZW50OiA+CiAgICBVIGt1bnQgZXh0cmEgaW5zdHJ1Y3RpZXMgZ2V2ZW4gZGllIGRlIGdlYnJ1aWtlciB6YWwgaGVscGVuIGRlIGNvbnRleHQgdmFuIGRlIGZvcm11bGllcnZlbGRlbiB0ZSBiZWdyaWpwZW4gZW4gZXZlbnR1ZWVsIHZlcmVpc3RlIGdlZ2V2ZW5zIGFhbmdldmVuLgpmaWVsZF9zb3J0OgogIHRpdGxlOiBQb3NpdGllIHZhbiBoZXQgdmVsZAogIGNvbnRlbnQ6ID4KICAgIEtsaWsgb3AgZGUgcGlqbGVuIGVuIHNsZWVwIGRlIHJpamVuIG5hYXIgZGUganVpc3RlIHBvc2l0aWUgdmFuIGhldCBmb3JtdWxpZXIuIFNsYSBoZXQgZm9ybXVsaWVyIG9wIG9tIGRlIHdpanppZ2luZ2VuIGRvb3IgdGUgdm9lcmVuLgpmaWVsZF9sYWJlbDoKICB0aXRsZTogTGFiZWwKICBjb250ZW50OiA+CiAgICBEaXQgbGFiZWwgd29yZHQgd2VlcmdlZ2V2ZW4gYWxzIHRpcCB2b29yIGRpdCB2ZWxkLiBOb3JtYWxlcndpanplIHphbCBlZW4ga29ydC1hbnR3b29yZCB2ZWxkIHdlZXJnZWdldmVuIHdvcmRlbiBhbHMgZGV6ZTogPGJyPjxzdHJvbmc+TGFiZWw6PC9zdHJvbmc+Jm5ic3A7PGlucHV0IHR5cGU9InRleHQiPgpmaWVsZF90eXBlOgogIHRpdGxlOiBWZWxkIEluaG91ZHR5cGUKICBjb250ZW50OiA+CiAgICBEaXQgd29yZHQgZ2VicnVpa3Qgb20gaGV0IHR5cGUgdmFuIGludm9lciBkb29yIGRlIGdlYnJ1aWtlciB0ZSBiZXBhbGVuLiBVIGthbiB1aXQga29ydCBlbiBsYW5nIGFudHdvb3JkLCB0ZWxlZm9vbm51bW1lciwgZGF0dW0gZW4gdGlqZCwgY2hlY2tib3ggZHJvcC1kb3duIGxpanN0IG9mIGVlbiBhYW5nZXBhc3RlIGxpanN0IHNlbGVjdGllIGtpZXplbi4KICBsaW5rczoKICAgIC0gCiAgICAgIHRpdGxlOiBBYW5nZXBhc3RlIGxpanN0ZW4KICAgICAgaHJlZjogL3NjcC9saXN0cy5waHAKZmllbGRfdmlzaWJpbGl0eToKICB0aXRsZTogWmljaHRiYWFyaGVpZCB2YW4gZGUgdmVsZGVuCiAgY29udGVudDogPgogICAgS2llcyBkZSB6aWNodGJhYXJoZWlkIGVuIHZlcmVpc3RlbiB2YW4gZGl0IHZlbGQuPHRhYmxlIGJvcmRlcj0iMSIgY2VsbHBhZGRpbmc9IjJweCIgY2VsbHNwYWNpbmc9IjAiIHN0eWxlPSJtYXJnaW4tdG9wOjdweCIgPjx0Ym9keSBzdHlsZT0idmVydGljYWwtYWxpZ246dG9wOyI+IDx0cj48dGg+SW5zdGVsbGluZzwvdGg+IDx0aD5SZXN1bHRhYXQ8L3RoPjwvdHI+IDx0cj48dGQ+T3B0aW9uZWVsPC90ZD4gPHRkPkFnZW50ZW4gZW4gZWluZGdlYnJ1aWtlcnMga3VubmVuIGRpdCB2ZWxkIHppZW4sIGVjaHRlciBnZWVuIHZhbiBiZWlkZW4gaXMgdG90IGFudHdvb3JkZW4gdmVycGxpY2h0LjwvdGQ+PC90cj4gPHRyPjx0ZD5WZXJlaXN0PC90ZD4gPHRkPkFnZW50ZW4gZW4gZWluZGdlYnJ1aWtlcnMga3VubmVuIGhldCB2ZWxkIHppZW4gZW4gemlqbiBiZWlkZW4gdmVycGxpY2h0IG9tIGhldCB2ZWxkIGluIHRlIHZ1bGxlbi48L3RkPjwvdHI+IDx0cj48dGQ+UmVxdWlyZWQgZm9yIEVuZFVzZXJzPC90ZD4gPHRkPkFnZW50ZW4gZW4gZWluZGdlYnJ1aWtlcnMga3VubmVuIGhldCB2ZWxkIHppZW4sIGVpbmRlZ2VicnVpa2VycyB6aWpuIHZlcnBsaWNodCBvbSBoZXQgdmVsZCBpbiB0ZSB2dWxsZW4uPC90ZD48L3RyPiA8dHI+PHRkPlZlcmVpc3Qgdm9vciBhZ2VudGVuPC90ZD4gPHRkPkFnZW50ZW4gZW4gZWluZGdlYnJ1aWtlcnMga3VubmVuIGhldCB2ZWxkIHppZW4sIGFsbGVlbiBhZ2VudGVuIHppam4gdmVycGxpY2h0IG9tIGhldCB2ZWxkIGluIHRlIHZ1bGxlbjwvdGQ+PC90cj4gPHRyPjx0ZD5JbnRlcm4sIE9wdGlvbmVlbDwvdGQ+IDx0ZD5BbGxlZW4gYWdlbnRlbiBrdW5uZW4gZGl0IHZlbGQgemllbiwgbWFhciBhbnR3b29yZGVuIGlzIG5pZXQgdmVycGxpY2h0LjwvdGQ+PC90cj4gPHRyPjx0ZD5JbnRlcm4sIFZlcmVpc3Q8L3RkPiA8dGQ+QWxsZWVuIGFnZW50ZW4ga3VubmVuIGRpdCB2ZWxkIHppZW4gZW4gYW50d29vcmRlbiBpcyB2ZXJwbGljaHQuPC90ZD48L3RyPiA8dHI+PHRkPkFsbGVlbiB2b29yIGVpbmRnZWJydWlrZXJzPC90ZD4gPHRkPkFsbGVlbiBlaW5kZ2VicnVpa2VycyBrdW5uZW4gZGl0IHZlbGQgemllbiBlbiBhbnR3b29yZGVuIGlzIHZlcnBsaWNodC48L3RkPjwvdHI+IDwvdGJvZHk+PC90YWJsZT4KZmllbGRfdmFyaWFibGU6CiAgdGl0bGU6IFZlbGQgYXV0b21hdGlzZXJpbmcKICBjb250ZW50OiA+CiAgICBEZSBnZWdldmVucyB2YW4gaGV0IHZlbGQgemlqbiBiZXNjaGlrYmFhciB2b29yIGUtbWFpbCBlbiBwYWdpbmEgc2phYmxvbmVuIHZpYSBkZSBuYWFtIGRpZSB3b3JkdCBnZWJydWlrdCBpbiBkZXplIGtvbG9tLiBCaWp2b29yYmVlbGQsIFZlbGRlbiBvcCBoZXQgIHRpY2tldCBmb3JtdWxpZXIgemlqbiAgYmVzY2hpa2JhYXIgdmlhIDxjb2RlPiV7dGlja2V0LnZhcmlhYmxlfTwvY29kZT4sIHdhYXJiaWogPHN0cm9uZz52YXJpYWJlbGU8L3N0cm9uZz4gZGUgbmFhbSBpcyBkaWUgd29yZHQgZ2VicnVpa3QgaW4gZGV6ZSBrb2xvbS48YnI+PGJyPjxlbT5CZWRyaWpmc2luZm9ybWF0aWUgaXMgYmVzY2hpa2JhYXIgdmlhIDxjb2RlPiV7PC9jb2RlPiA8Y29kZT5jb21wYW55LnZhcmlhYmxlfTwvY29kZT4gZW4gZ2VicnVpa2Vyc2dlZ2V2ZW5zIHppam4gYmVzY2hpa2JhYXIgdmlhIDxjb2RlPiV7dGlja2V0LnVzZXIudmFyaWFibGV9PC9jb2RlPjwvZW0+CmZpZWxkX2RlbGV0ZToKICB0aXRsZTogVmVyd2lqZGVyIGRpdCB2ZWxkCiAgY29udGVudDogPgogICAgQ29udHJvbGVlciBlbiBzbGEgaGV0IGZvcm11bGllciBvcCBhbHMgdSBlZW4gdmVsZCB2YW4gZGl0IGZvcm11bGllciB3aWx0IHZlcndpamRlcmVuLjxicj48YnI+PGVtPlZlcndpamRlcmVuIHZhbiBlZW4gdmVsZCB6YWwgZ2VnZXZlbnMgdm9vciBoZXQgdmVsZCBvcCBpbmdldnVsZGUgZm9ybXVsaWVyZW4gbmlldCB2ZXJ3aWpkZXJlbi4gQmlqdm9vcmJlZWxkLCBhbHMgZWVuIGVlcmRlciBpbmdlZGllbmRlIHRpY2tldCBnZWdldmVucyB2b29yIGVlbiB2ZWxkIGhlZWZ0LCB6YWwgaGV0IHZlcndpamRlcmVuIHZhbiBkaXQgdmVsZCBvcCBoZXQgZm9ybXVsaWVyIGRlIGdlZ2V2ZW5zIG5pZXQgdmVyd2lqZGVyZW4uPC9lbT4KI0hlbHAgcG9wdXAgaXRlbXMgZm9yIHRoZSBpbnN0YWxsZXIKI0ZpZWxkczoKI3RpdGxlIC0gU2hvd24gaW4gYm9sZCBhdCB0aGUgdG9wIG9mIHRoZSBwb3BvdmVyIHdpbmRvdwojY29udGVudCAtIFRoZSBib2R5IG9mIHRoZSBoZWxwIHBvcG92ZXIKI1RoZSBrZXkgbmFtZXMgc3VjaCBhcyAnaGVscGRlc2tfbmFtZScgc2hvdWxkIG5vdCBiZSB0cmFuc2xhdGVkIGFzIHRoZXkKI211c3QgbWF0Y2ggdGhlIEhUTUwgI2lkcyBwdXQgaW50byB0aGUgcGFnZSB0ZW1wbGF0ZS4KLS0tCmhlbHBkZXNrX25hbWU6CiAgdGl0bGU6IEhlbHBkZXNrIG5hYW0KICBjb250ZW50OiB8CiAgICA8cD5EZSBuYWFtIHZhbiB1dyBzdXBwb3J0IHN5c3RlZW0sIGJpanZvb3JiZWVsZCBbQmVkcmlqZnNuYWFtXSBTdXBwb3J0PC9wPgpzeXN0ZW1fZW1haWw6CiAgdGl0bGU6IFN0YW5kYWFyZCBzeXN0ZWVtIGUtbWFpbAogIGNvbnRlbnQ6IHwKICAgIDxwPlN0YW5kYWFyZCBlLW1haWxhZHJlcyBiaWp2b29yYmVlbGQgc3VwcG9ydEB1d2JlZHJpamYubmwgLSB1IGt1bnQgZXIgbGF0ZXIgbWVlciB0b2V2b2VnZW4hPC9wPgpkZWZhdWx0X2xhbmc6CiAgdGl0bGU6IFN0YW5kYWFyZCBzeXN0ZWVtdGFhbAogIGNvbnRlbnQ6IHwKICAgIDxwPlN0YW5kYWFyZCBkYXRhIHZvb3IgZGV6ZSB0YWFsIHphbCBnZcOvbnN0YWxsZWVyZCB3b3JkZW4gaW4gZGUgZGF0YWJhc2UuCiAgICBCaWp2b29yYmVlbGQgZS1tYWlsIHNqYWJsb25lbiBlbiBzdGFuZGFhcmQgc3lzdGVlbSBwYWdpbmEncwogICAgenVsbGVuIHZvb3IgZGV6ZSB0YWFsIGdlw69uc3RhbGxlZXJkIHdvcmRlbi48L3A+CiAgbGlua3M6CiAgICAtIAogICAgICB0aXRsZTogb3NUaWNrZXQgdGFhbHBha2tldHRlbgogICAgICBocmVmOiAnaHR0cHM6Ly9vc3RpY2tldC5jb20vZG93bmxvYWQvI29zdExhbmcnCmZpcnN0X25hbWU6CiAgdGl0bGU6IFZvb3JuYWFtCiAgY29udGVudDogfAogICAgPHA+Vm9vcm5hYW0gdmFuIGFkbWluaXN0cmF0b3I8L3A+Cmxhc3RfbmFtZToKICB0aXRsZTogQWNodGVybmFhbQogIGNvbnRlbnQ6IHwKICAgIDxwPkFjaHRlcm5hYW0gdmFuIGFkbWluaXN0cmF0b3I8L3A+CmVtYWlsOgogIHRpdGxlOiBFLW1haWxhZHJlcwogIGNvbnRlbnQ6IHwKICAgIDxwPlBlcnNvb25saWprIGUtbWFpbGFkcmVzIHZhbiBkZSBhZG1pbmlzdHJhdG9yLiBEaXQgZS1tYWlsYWRyZXMgbW9ldCBhbmRlcnMgemlqbiBkYW4gaGV0IHN0YW5kYWFyZCBzeXN0ZWVtIGUtbWFpbGFkcmVzLjwvcD4KdXNlcm5hbWU6CiAgdGl0bGU6IEdlYnJ1aWtlcnNuYWFtCiAgY29udGVudDogfAogICAgPHA+SW5sb2duYWFtIHZvb3IgZGUgYWRtaW5pc3RyYXRvci4gTW9ldCB1aXQgdGVubWluc3RlIGRyaWUgKDMpIHRla2VucyBiZXN0YWFuLjwvcD4KcGFzc3dvcmQ6CiAgdGl0bGU6IFdhY2h0d29vcmQKICBjb250ZW50OiB8CiAgICA8cD5BZG1pbidzIHBhc3N3b3JkLiAgTXVzdCBiZSBzaXggKDYpIGNoYXJhY3RlcnMgb3IgbW9yZS48L3A+CnBhc3N3b3JkMjoKICB0aXRsZTogQmV2ZXN0aWcgd2FjaHR3b29yZAogIGNvbnRlbnQ6IHwKICAgIDxwPldhY2h0d29vcmQgdmFuIGFkbWluaXN0cmF0b3Igbm9nbWFhbHMgaW5nZXZlbi48L3A+CmRiX3ByZWZpeDoKICB0aXRsZTogTXlTUUwgdGFiZWwgdm9vcnZvZWdzZWwKICBjb250ZW50OiB8CiAgICA8cD5vc1RpY2tldCB2ZXJlaXN0IGVlbiB0YWJlbCB2b29ydm9lZ3NlbCBvbSBtb2dlbGlqa2UgY29uZmxpY3RlbiBtZXQgYW5kZXJlIHRhYmVsbGVuIGluIGVlbiBnZWRlZWxkZSBkYXRhYmFzZSB0ZSB2b29ya29tZW4uPC9wPgpkYl9ob3N0OgogIHRpdGxlOiBNeVNRTCBIb3N0bmFtZQogIGNvbnRlbnQ6IHwKICAgIDxwPkRlIG1lZXN0ZSB3ZWJob3N0ZXJzIGdlYnJ1aWtlbiAnbG9jYWxob3N0JyBhbHMgaG9zdG5hYW0gdm9vciBlZW4gbG9rYWxlIGRhdGFiYXNlLiBOZWVtIGNvbnRhY3Qgb3AgbWV0IHV3IHdlYmhvc3RlciBhbHMgZGV6ZSBob3N0bmFhbSBuaWV0IHdlcmt0LiA8L3A+IDxwPkRlIHN0YW5kYWFyZHBvb3J0IHpvYWxzIGluZ2VzdGVsZCBpbiBwaHAuaW5pIHdvcmR0IGdlYnJ1aWt0LiBXb3JkdCBlciBlZW4gYW5kZXIgcG9vcnRudW1tZXIgZ2VicnVpa3QgZGFuIGthbiBkZXplIHdvcmRlbiBvcGdlZ2V2ZW4gYWxzIDxjb2RlPmhvc3RuYW1lOnBvcnQ8L2NvZGU+PC9wPgpkYl9zY2hlbWE6CiAgdGl0bGU6IE15U1FMIERhdGFiYXNlCiAgY29udGVudDogfAogICAgPHA+TmFhbSB2YW4gZGUgb3NUaWNrZXQgZGF0YWJhc2UuPC9wPgpkYl91c2VyOgogIHRpdGxlOiBNeVNRTCBHZWJydWlrZXJzbmFhbQogIGNvbnRlbnQ6IHwKICAgIDxwPkRlIE15U1FMIGdlYnJ1aWtlciBtb2V0IHZvbGxlZGlnZSByZWNodGVuIGhlYmJlbiBvcCBkZSBkYXRhYmFzZS48L3A+CmRiX3Bhc3N3b3JkOgogIHRpdGxlOiBNeVNRTCBXYWNodHdvb3JkCiAgY29udGVudDogfAogICAgPHA+TXlTUUwgd2FjaHR3b29yZCBnZWtvcHBlbGQgYWFuIGRlIGhpZXJib3ZlbiBpbmdlZ2V2ZW4gZ2VicnVpa2VyLjwvcD4KI1RoaXMgaXMgcG9wdXAgaGVscCBtZXNzYWdlcyBmb3IgdGhlIFN0YWZmIFBhbmVsIC0+IEtub3dsZWRnZWJhc2UgLT4gQ2FubmVkIFJlc3BvbnNlcyAtPiBBZGQgTmV3IFJlc3BvbnNlCiNGaWVsZHM6CiN0aXRsZSAtIFNob3duIGluIGJvbGQgYXQgdGhlIHRvcCBvZiB0aGUgcG9wb3ZlciB3aW5kb3cKI2NvbnRlbnQgLSBUaGUgYm9keSBvZiB0aGUgaGVscCBwb3BvdmVyCiNsaW5rcyAtIExpc3Qgb2YgbGlua3Mgc2hvd3MgYmVsb3cgdGhlIGNvbnRlbnQKI3RpdGxlIC0gTGluayB0aXRsZQojaHJlZiAtIGhyZWYgb2YgbGluayAobGlua3Mgc3RhcnRpbmcgd2l0aCAvIGFyZSB0cmFuc2xhdGVkIHRvIHRoZQojaGVscGRlc2sgaW5zdGFsbGF0aW9uIHBhdGgpCiNUaGUga2V5IG5hbWVzIHN1Y2ggYXMgJ2hlbHBkZXNrX25hbWUnIHNob3VsZCBub3QgYmUgdHJhbnNsYXRlZCBhcyB0aGV5CiNtdXN0IG1hdGNoIHRoZSBIVE1MICNpZHMgcHV0IGludG8gdGhlIHBhZ2UgdGVtcGxhdGUuCi0tLQpjYW5uZWRfcmVzcG9uc2U6CiAgdGl0bGU6IFN0YW5kYWFyZCBhbnR3b29yZGVuCiAgY29udGVudDogPgogICAgTWFhayBlZW4gPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj4gU3RhbmRhYXJkIGFudHdvb3JkPC9zcGFuPiBkaWUgamUga2FuIG9wbmVtZW4gaW4gZWVuIHRpY2tldCByZWFjdGllLiBJbiBmZWl0ZSwga2FuIHUgem92ZWVsIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+IFN0YW5kYWFyZCBhbnR3b29yZGVuPC9zcGFuPiBhbHMgamUgd2lsIGluIGVlbiB0aWNrZXQgcmVhY3RpZSBvcG5lbWVuLiBIZXQga2FuIG9vayBvcGdlbm9tZW4gd29yZGVuIGluIGRlIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+IEF1dG9tYXRpc2NoIGFudHdvb3JkPC9zcGFuPiBkb29yIGVlbiA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPiBUaWNrZXQgRmlsdGVyPC9zcGFuPi4KICBsaW5rczoKICAgIC0gCiAgICAgIHRpdGxlOiBNYWFrIGVlbiBUaWNrZXQgZmlsdGVyCiAgICAgIGhyZWY6IC9zY3AvZmlsdGVycy5waHAKY2FubmVkX2F0dGFjaG1lbnRzOgogIHRpdGxlOiBTdGFuZGFhcmQgYmlqbGFnZW4KICBjb250ZW50OiA+CiAgICBWb2VnIGVlbiBiZXN0YW5kIHRvZSBkYXQgYXV0b21hdGlzY2gga2FuIHRvZWdldm9lZ2Qgd29yZGVuIGFhbiBlZW4gdGlja2V0IHJlYWN0aWUgYmlqIGhldCBuaWV1d2UgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj4gU3RhbmRhYXJkIEFudHdvb3JkPC9zcGFuPi4KI1RoaXMgaXMgcG9wdXAgaGVscCBtZXNzYWdlcyBmb3IgdGhlIFN0YWZmIFBhbmVsIC0+IEtub3dsZWRnZWJhc2UgLT4gQWRkIE5ldyBDYXRlZ29yeSAtPiBGQVEgQ2F0ZWdvcnkgKEZvcm0pCiNGaWVsZHM6CiN0aXRsZSAtIFNob3duIGluIGJvbGQgYXQgdGhlIHRvcCBvZiB0aGUgcG9wb3ZlciB3aW5kb3cKI2NvbnRlbnQgLSBUaGUgYm9keSBvZiB0aGUgaGVscCBwb3BvdmVyCiNsaW5rcyAtIExpc3Qgb2YgbGlua3Mgc2hvd3MgYmVsb3cgdGhlIGNvbnRlbnQKI3RpdGxlIC0gTGluayB0aXRsZQojaHJlZiAtIGhyZWYgb2YgbGluayAobGlua3Mgc3RhcnRpbmcgd2l0aCAvIGFyZSB0cmFuc2xhdGVkIHRvIHRoZQojaGVscGRlc2sgaW5zdGFsbGF0aW9uIHBhdGgpCiNUaGUga2V5IG5hbWVzIHN1Y2ggYXMgJ2hlbHBkZXNrX25hbWUnIHNob3VsZCBub3QgYmUgdHJhbnNsYXRlZCBhcyB0aGV5CiNtdXN0IG1hdGNoIHRoZSBIVE1MICNpZHMgcHV0IGludG8gdGhlIHBhZ2UgdGVtcGxhdGUuI1RoaXMgaXMgcG9wdXAgaGVscCBtZXNzYWdlcyBmb3IgdGhlIFN0YWZmIFBhbmVsIC0+IEtub3dsZWRnZWJhc2UgLT4gRkFRCiNGaWVsZHM6CiN0aXRsZSAtIFNob3duIGluIGJvbGQgYXQgdGhlIHRvcCBvZiB0aGUgcG9wb3ZlciB3aW5kb3cKI2NvbnRlbnQgLSBUaGUgYm9keSBvZiB0aGUgaGVscCBwb3BvdmVyCiNsaW5rcyAtIExpc3Qgb2YgbGlua3Mgc2hvd3MgYmVsb3cgdGhlIGNvbnRlbnQKI3RpdGxlIC0gTGluayB0aXRsZQojaHJlZiAtIGhyZWYgb2YgbGluayAobGlua3Mgc3RhcnRpbmcgd2l0aCAvIGFyZSB0cmFuc2xhdGVkIHRvIHRoZQojaGVscGRlc2sgaW5zdGFsbGF0aW9uIHBhdGgpCiNUaGUga2V5IG5hbWVzIHN1Y2ggYXMgJ2hlbHBkZXNrX25hbWUnIHNob3VsZCBub3QgYmUgdHJhbnNsYXRlZCBhcyB0aGV5CiNtdXN0IG1hdGNoIHRoZSBIVE1MICNpZHMgcHV0IGludG8gdGhlIHBhZ2UgdGVtcGxhdGUuCi0tLQpsaXN0aW5nX3R5cGU6CiAgdGl0bGU6IExpanN0IHR5cGUKICBjb250ZW50OiA+CiAgICBLaWVzIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy1vcHQiPiBvcGVuYmFhciAocHVibGljZXJlbik8L3NwYW4+IGFscyB1IGRlemUgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj4gRkFRPC9zcGFuPiB3aWwgcHVibGljZXJlbiBvcCBkZSBvcGVuYmFyZSBrZW5uaXNkYXRhYmFzZSAoYWxzIGRlIGJvdmVubGlnZ2VuZGUgY2F0ZWdvcmllIG9wZW5iYWFyIGlzKS4KICBsaW5rczoKICAgIC0gCiAgICAgIHRpdGxlOiBTY2hha2VsIGRlIHB1YmxpZWtlIEtub3dsZWRnZWJhc2UgaW4gdm9vciBoZXQga2xhbnRlbnBvcnRhYWwKICAgICAgaHJlZjogL3NjcC9zZXR0aW5ncy5waHA/dD1rYgojVGhpcyBpcyBwb3B1cCBoZWxwIG1lc3NhZ2VzIGZvciB0aGUgQWRtaW4gUGFuZWwgLT4gTWFuYWdlIC0+IEFQSSBLZXlzCiNGaWVsZHM6CiN0aXRsZSAtIFNob3duIGluIGJvbGQgYXQgdGhlIHRvcCBvZiB0aGUgcG9wb3ZlciB3aW5kb3cKI2NvbnRlbnQgLSBUaGUgYm9keSBvZiB0aGUgaGVscCBwb3BvdmVyCiNsaW5rcyAtIExpc3Qgb2YgbGlua3Mgc2hvd3MgYmVsb3cgdGhlIGNvbnRlbnQKI3RpdGxlIC0gTGluayB0aXRsZQojaHJlZiAtIGhyZWYgb2YgbGluayAobGlua3Mgc3RhcnRpbmcgd2l0aCAvIGFyZSB0cmFuc2xhdGVkIHRvIHRoZQojaGVscGRlc2sgaW5zdGFsbGF0aW9uIHBhdGgpCiNUaGUga2V5IG5hbWVzIHN1Y2ggYXMgJ2hlbHBkZXNrX25hbWUnIHNob3VsZCBub3QgYmUgdHJhbnNsYXRlZCBhcyB0aGV5CiNtdXN0IG1hdGNoIHRoZSBIVE1MICNpZHMgcHV0IGludG8gdGhlIHBhZ2UgdGVtcGxhdGUuCi0tLQphcGlfa2V5OgogIHRpdGxlOiBBUEktc2xldXRlbAogIGNvbnRlbnQ6ID4KICAgIEFQSSBzbGV1dGVscyB3b3JkZW4gZ2VicnVpa3QgY2xpZW50cyB0ZSB2ZXJpZmnDq3JlbiBkaWUgbmlldXdlIHRpY2tldHMgaW5kaWVuZW4gdmlhIGRlIEFwcGxpY2F0aW9uIFByb2dyYW1taW5nIEludGVyZmFjZSAoQVBJKSAuIEFQSSBzbGV1dGVscyB3b3JkZW4gZ2VicnVpa3QgaW4gcGxhYXRzIHZhbiB3YWNodHdvb3JkZW4uIEFhbmdlemllbiBBUEkgc2xldXRlbHMgb25nZWNvZGVlcmQga3VubmVuIHdvcmRlbiB2ZXJ6b25kZW4sIHppam4gemUgZ2Vrb3BwZWxkIGFhbiBlbGtlIGNsaWVudCB6aWpuIElQLW5ldHdlcmthZHJlcy4KICBsaW5rczoKICAgIC0gCiAgICAgIHRpdGxlOiBvc1RpY2tldCBBUEktZG9jdW1lbnRhdGllCiAgICAgIGhyZWY6IGh0dHBzOi8vZ2l0aHViLmNvbS9vc1RpY2tldC9vc1RpY2tldC0xLjgvYmxvYi9kZXZlbG9wL3NldHVwL2RvYy9hcGkubWQKaXBfYWRkcjoKICB0aXRsZTogSVAtYWRyZXMKICBjb250ZW50OiA+CiAgICBOZXR3ZXJrIElQLWFkcmVzIHZhbiBjbGllbnQuIEVsayBJUC1hZHJlcyB2YW4gZWxrZSB1bmlla2UgY2xpZW50IHZlcmd0IGVlbiBhcGFydGUgQVBJIHNsZXV0ZWwKI1RoaXMgaXMgcG9wdXAgaGVscCBtZXNzYWdlcyBmb3IgdGhlIEFkbWluIFBhbmVsIC0+IE1hbmFnZSAtPiBBZGQgTmV3IEN1c3RvbSBMaXN0CiNGaWVsZHM6CiN0aXRsZSAtIFNob3duIGluIGJvbGQgYXQgdGhlIHRvcCBvZiB0aGUgcG9wb3ZlciB3aW5kb3cKI2NvbnRlbnQgLSBUaGUgYm9keSBvZiB0aGUgaGVscCBwb3BvdmVyCiNsaW5rcyAtIExpc3Qgb2YgbGlua3Mgc2hvd3MgYmVsb3cgdGhlIGNvbnRlbnQKI3RpdGxlIC0gTGluayB0aXRsZQojaHJlZiAtIGhyZWYgb2YgbGluayAobGlua3Mgc3RhcnRpbmcgd2l0aCAvIGFyZSB0cmFuc2xhdGVkIHRvIHRoZQojaGVscGRlc2sgaW5zdGFsbGF0aW9uIHBhdGgpCiNUaGUga2V5IG5hbWVzIHN1Y2ggYXMgJ2hlbHBkZXNrX25hbWUnIHNob3VsZCBub3QgYmUgdHJhbnNsYXRlZCBhcyB0aGV5CiNtdXN0IG1hdGNoIHRoZSBIVE1MICNpZHMgcHV0IGludG8gdGhlIHBhZ2UgdGVtcGxhdGUuCi0tLQpjdXN0b21fbGlzdHM6CiAgdGl0bGU6IEFhbmdlcGFzdGUgbGlqc3RlbgogIGNvbnRlbnQ6ID4KICAgIFV3IDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+YWFuZ2VwYXN0ZSBsaWpzdGVuPC9zcGFuPiBzdGFhdCB1IHRvZSBvbSBkcm9wZG93bnMgbWV0IHZvb3JnZWRlZmluaWVlcmRlIG9wdGllcyBhYW4gdGUgbWFrZW4gd2FhcnVpdCBlZW4gQ2xpZW50IGluIHV3IDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+QWFuZ2VwYXN0ZSBmb3JtdWxpZXJlbjwvc3Bhbj4ga2FuIHNlbGVjdGVyZW4uIEFscyB1IGRlemUgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5hYW5nZXBhc3RlIGxpanN0PC9zcGFuPnpvdSB3aWxsZW4gZ2VicnVpa2VuIGFscyBlZW4gPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5kb2VsPC9zcGFuPiBpbiBlZW4gPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5UaWNrZXQgRmlsdGVyPC9zcGFuPiwgbW9ldCB1IGRlemUgbGlqc3QgdG9ldm9lZ2VuIGFhbiB1dyA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPlRpY2tldCBEZXRhaWxzPC9zcGFuPiBmb3JtdWxpZXIuCm5hbWU6CiAgdGl0bGU6IE5hYW0KICBjb250ZW50OiA+CgpwbHVyYWxfbmFtZToKICB0aXRsZTogTmFhbSBpbiBtZWVydm91ZAogIGNvbnRlbnQ6ID4KCnNvcnRfb3JkZXI6CiAgdGl0bGU6IFNvcnRlZXJ2b2xnb3JkZQogIGNvbnRlbnQ6ID4KCmxpc3Rfc19pbml0aWFsX2l0ZW1zOgogIHRpdGxlOiBJbml0acOrbGUgbGlqc3QgaXRlbXMKICBjb250ZW50OiA+Cgp2YWx1ZToKICB0aXRsZTogV2FhcmRlCiAgY29udGVudDogPgoKZXh0cmE6CiAgdGl0bGU6IEV4dHJhCiAgY29udGVudDogPgogICAgQWZrb3J0aW5nZW4gZW4gZGVyZ2VsaWprZS4gQWxzIGVyIHRvZXZhbGxpZyBpbnRlcm5lIGNvZGVzIHdvcmRlbiBnZWJydWlrdCB2b29yIGRlIGl0ZW1zIGluIGRlemUgbGlqc3QsIGt1bm5lbiBkZXplIGNvZGVzIGVuIGFma29ydGluZ2VuIHdvcmRlbiBpbmdldm9lcmQgaW4gZGV6ZSBrb2xvbS4gQWxzIGRlIGFhbmdlcGFzdGUgbGlqc3Qgd29yZHQgd2VlcmdlZ2V2ZW4gYWxzIGVlbiA8c3BhbiBjbGFzcz0iZG9jLWRlc2Mtb3B0aW9uIj5UeXBlQWhlYWQ8L3NwYW4+LCBrdW5uZW4gZGV6ZSBhZmtvcnRpbmdlbiB3b3JkZW4gZ2VicnVpa3Qgb20gdGUgem9la2VuIG5hYXIgaXRlbXMgaW4gZGUgYWFuZ2VwYXN0ZSBsaWpzdC4KI1RoaXMgaXMgcG9wdXAgaGVscCBtZXNzYWdlcyBmb3IgdGhlIEFkbWluIFBhbmVsIC0+IE1hbmFnZSAtPiBGaWx0ZXIKI0ZpZWxkczoKI3RpdGxlIC0gU2hvd24gaW4gYm9sZCBhdCB0aGUgdG9wIG9mIHRoZSBwb3BvdmVyIHdpbmRvdwojY29udGVudCAtIFRoZSBib2R5IG9mIHRoZSBoZWxwIHBvcG92ZXIKI2xpbmtzIC0gTGlzdCBvZiBsaW5rcyBzaG93cyBiZWxvdyB0aGUgY29udGVudAojdGl0bGUgLSBMaW5rIHRpdGxlCiNocmVmIC0gaHJlZiBvZiBsaW5rIChsaW5rcyBzdGFydGluZyB3aXRoIC8gYXJlIHRyYW5zbGF0ZWQgdG8gdGhlCiNoZWxwZGVzayBpbnN0YWxsYXRpb24gcGF0aCkKI1RoZSBrZXkgbmFtZXMgc3VjaCBhcyAnaGVscGRlc2tfbmFtZScgc2hvdWxkIG5vdCBiZSB0cmFuc2xhdGVkIGFzIHRoZXkKI211c3QgbWF0Y2ggdGhlIEhUTUwgI2lkcyBwdXQgaW50byB0aGUgcGFnZSB0ZW1wbGF0ZS4KLS0tCmV4ZWN1dGlvbl9vcmRlcjoKICB0aXRsZTogVm9sZ29yZGUgdmFuIHVpdHZvZXJpbmcKICBjb250ZW50OiA+CiAgICBWb2VyIGVlbiBnZXRhbCBpbiBkYXQgZGUgcHJpb3JpdGVpdCB2YW4gZGUgZmlsdGVyIGJlcGFhbHQuIEhvZSBsYWdlciBoZXQgZ2V0YWwsIGhvZSBob2dlciBkZSBwcmlvcml0ZWl0IHZhbiBkZXplIGZpbHRlciBkYXQgd29yZHQgdWl0Z2V2b2VyZCB0ZW4gb3B6aWNodGUgdmFuIGVlbiBhbmRlciBmaWx0ZXIgZGllIGVlbiBob2dlcmUgb3JkZSB2YW4gdWl0dm9lcmluZyB6b3Uga3VubmVuIGhlYmJlbi4gPGJyPjxicj5BbHMgdSBkZXplIGZpbHRlcmFjdGllIHdpbHQgaW5zdGVsbGVuIGFscyBsYWF0c3RlIGZpbHRlciBkYXQgdG9lZ2VwYXN0IG1vZXQgd29yZGVuLCBhY3RpdmVlciA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPlN0b3BwZW4gbWV0IHZlcmRlciB2ZXJ3ZXJrZW48L3NwYW4+Lgp0YXJnZXRfY2hhbm5lbDoKICB0aXRsZTogS2FuYWFsCiAgY29udGVudDogPgogICAgS2llcyBoZXQgZG9lbCA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPkthbmFhbDwvc3Bhbj4gdm9vciB1dyA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPlRpY2tldCBGaWx0ZXI8L3NwYW4+LiBIZXQgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5LYW5hYWw8L3NwYW4+IGlzIGRlIGJyb24gd2FhcmRvb3IgaGV0IHRpY2tldCBpbiBoZXQgc3lzdGVlbSB6aWNodGJhYXIgaXMuIDxicj48YnI+Qmlqdm9vcmJlZWxkLCBraWVzdCB1IDxzcGFuIGNsYXNzPSJkb2MtZGVzYy1vcHQiPldlYmZvcm11bGllcmVuPC9zcGFuPiwgdSB6ZWd0IGRhdCB1IGhldCA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPlRpY2tldCBGaWx0ZXI8L3NwYW4+IHdpbHQgdG9lcGFzc2VuIG9wIGRpZSB0aWNrZXRzIGRpZSBhZmtvbXN0aWcgemlqbiB2YW4gZGUga2xhbnRlbnBvcnRhYWwgd2ViZm9ybXVsaWVyLgpydWxlc19tYXRjaGluZ19jcml0ZXJpYToKICB0aXRsZTogUmVnZWxzIGRpZSBhYW4gY3JpdGVyaWEgdm9sZG9lbgogIGNvbnRlbnQ6ID4KICAgIEtpZXMgaG9lIGVsYXNpdHNjaCBkZSB6b2VrcmVzdWx0YXRlbiB2YW4gdXcgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5UaWNrZXQgRmlsdGVyPC9zcGFuPiBtb2dlbiB6aWpuLiBBbHMgamUgd2lsdCBkYXQgZGUgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5UaWNrZXQgRmlsdGVyPC9zcGFuPiBvdmVyZWVua29tdCBtZXQgZWVuIHZhbiBkZSByZWdlbHMsIGVuIGRhYXJuYSBzdG9wdCwga2llcyA8c3BhbiBjbGFzcz0iZG9jLWRlc2Mtb3B0Ij5Wb2xkb2V0IGFhbiB0ZW5taW5zdGUgw6nDqW48L3NwYW4+LiBBbHMgamUgd2lsIGRhdCA8ZW0+PHN0cm9uZz5hbGxlIHJlZ2Vsczwvc3Ryb25nPjwvZW0+IHZhbiBkZSA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPlRpY2tldCBGaWx0ZXI8L3NwYW4+IG1vZXRlbiB2b2xkb2VuLCBraWVzIGRhbiA8c3BhbiBjbGFzcz0iZG9jLWRlc2Mtb3B0Ij5Wb2xkb2V0IGFhbiBhbGxlPC9zcGFuPi4KcmVqZWN0X3RpY2tldDoKICB0aXRsZTogVGlja2V0IHZlcndlcnBlbgogIGNvbnRlbnQ6ID4KICAgIEFscyBkaXQgaW5nZXNjaGFrZWxkIGlzLCB6dWxsZW4gYWxsZSB2ZXJkZXJlIHByb2Nlc3NlbiBnZXN0b3B0IHdvcmRlbiBlbiBhbGxlIGFuZGVyZSBrZXV6ZW4gdmFuIGFjdGllcyBlcm9uZGVyIHp1bGxlbiB3b3JkZW4gZ2VuZWdlZXJkIG9wIG92ZXJlZW5rb21zdGVuLgpyZXBseV90b19lbWFpbDoKICB0aXRsZTogQW50d29vcmQtQWFuIEVtYWlsCiAgY29udGVudDogPgogICAgU2NoYWtlbCBkaXQgaW4gYWxzIGplIGRlIEhlbHBkZXNrIGRlIHJlY2h0ZW4gd2lsIGdldmVuIGFhbiBlZW4gZW1haWwgdG9lcGFzc2luZyB2YW4gZGUgZ2VicnVpa2VyIHppam4gPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5BbnR3b29yZCBBYW48L3NwYW4+IGtvcHRla3N0LiBEaXQgdmVsZCBpcyBlbmtlbCByZWxldmFudCBhbHMgaGV0IDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+S2FuYWFsPC9zcGFuPiBoaWVyYm92ZW4gPHNwYW4gY2xhc3M9ImRvYy1kZXNjLW9wdCI+RS1tYWlsPC9zcGFuPiBiZXZhdC4KdGlja2V0X2F1dG9fcmVzcG9uc2U6CiAgdGl0bGU6IEF1dG8tYW50d29vcmQgb3AgVGlja2V0cyB1aXRzY2hha2VsZW4KICBjb250ZW50OiA+CiAgICA8ZW0+T3BtZXJraW5nOiBEaXQgemFsIGVsa2UgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5BZmRlbGluZzwvc3Bhbj4gb2YgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5BdXRvbWF0aXNjaC1hbnR3b29yZCBpbnN0ZWxsaW5nPC9zcGFuPiBvdmVyc2NocmlqdmVuLjwvZW0+CmNhbm5lZF9yZXNwb25zZToKICB0aXRsZTogU3RhbmRhYXJkIEF1dG9tYXRpc2NoLWFudHdvb3JkCiAgY29udGVudDogPgogICAgS2llcyBlZW4gZ2V3ZW5zdCA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPlN0YW5kYWFyZCBBbnR3b29yZDwvc3Bhbj4gZGF0IGdlbWFpbGQgbW9ldCB3b3JkZW4gbmFhciBkZSBnZWJydWlrZXIgb3AgZWVuIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+VGlja2V0IEZpbHRlcjwvc3Bhbj4gb3ZlcmVlbmtvbXN0LiBIZXQgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5OaWV1d2UgVGlja2V0IEF1dG9tYXRpc2NoLWFudHdvb3JkPC9zcGFuPiBzamFibG9vbiBkYXQgd29yZHQgZ2VicnVpa3QgaGFuZ3QgYWYgdmFuIGRlPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5zamFibG9uZW4gc2V0PC9zcGFuPiBzdGFuZGFhcmQgaW5nZXN0ZWxkIGlzLCBvZiB2YW4gaGV0IG92ZXJlZW5rb21lbmRlIHRpY2tldCB6aWpuIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+QWZkZWxpbmc8L3NwYW4+LgogIGxpbmtzOgogICAgLSAKICAgICAgdGl0bGU6IFN0YW5kYWFyZCBhbnR3b29yZGVuIGJlaGVyZW4KICAgICAgaHJlZjogL3NjcC9jYW5uZWQucGhwCiAgICAtIAogICAgICB0aXRsZTogU2phYmxvb24gU2V0cyBiZWhlcmVuCiAgICAgIGhyZWY6IC9zY3AvdGVtcGxhdGVzLnBocAogICAgLSAKICAgICAgdGl0bGU6IEF1dG9tYXRpc2NoLWFudHdvb3JkIHZhbiBOaWV1dyBUaWNrZXQgU2phYmxvb24KICAgICAgaHJlZjogL3NjcC90ZW1wbGF0ZXMucGhwP2lkPTImYT1tYW5hZ2UKZGVwYXJ0bWVudDoKICB0aXRsZTogQWZkZWxpbmcKICBjb250ZW50OiA+CiAgICBLaWVzIGFhbiB3ZWxrZSA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPkFmZGVsaW5nPC9zcGFuPiBkZSBvdmVyZWVua29tc3RlbiBtb2V0ZW4gd29yZGVuIHRvZWdla2VuZCBiaWogZWVuIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+VGlja2V0IEZpbHRlcjwvc3Bhbj4uCiAgbGlua3M6CiAgICAtIAogICAgICB0aXRsZTogQWZkZWxpbmdlbiBiZWhlcmVuCiAgICAgIGhyZWY6IC9zY3AvZGVwYXJ0bWVudHMucGhwCnByaW9yaXR5OgogIHRpdGxlOiBQcmlvcml0ZWl0CiAgY29udGVudDogPgogICAgS2llcyB3ZWxrZSA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPiBwcmlvcml0ZWl0PC9zcGFuPiBqZSB3aWwgdG9la2VubmVuIGFhbiBkZSByZXN1bHRhdGVuIHZhbiBkZSA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPiBUaWNrZXQgRmlsdGVyPC9zcGFuPi4gPGJyIC8+IDxiciAvPiA8ZW0+T3BtZXJraW5nOiA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPiBhZmRlbGluZzwvc3Bhbj4gb2YgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj4gSGVscC1vbmRlcndlcnA8L3NwYW4+IGluc3RlbGxpbmdlbiB3b3JkZW4gaGllcm1lZSBvdmVyc2NocmV2ZW4uPC9lbT4Kc2xhX3BsYW46CiAgdGl0bGU6IFNlcnZpY2Ugbml2ZWF1CiAgY29udGVudDogPgogICAgS2llcyBoZXQgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj4gU0xBIFBsYW48L3NwYW4+IGRhdCB1IHdpbCB0b2VwYXNzZW4gb3AgZGUgcmVzdWx0YXRlbiB2YW4gZGUgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj4gVGlja2V0IEZpbHRlcjwvc3Bhbj4uCiAgbGlua3M6CiAgICAtIAogICAgICB0aXRsZTogU2VydmljZSBwbGFubmVuIGJlaGVyZW4KICAgICAgaHJlZjogL3NjcC9zbGFzLnBocAphdXRvX2Fzc2lnbjoKICB0aXRsZTogQXV0b21hdGlzY2gtdG9ld2lqemVuCiAgY29udGVudDogPgogICAgS2llcyBlZW4gVmVyYW50d29vcmRlbGlqa2Ugb2YgZWVuIFRlYW0gZGF0IHRvZWdld2V6ZW4gbW9ldCB3b3JkZW4gYWFuIGRlIGdldm9uZGVuIGl0ZW1zIHZhbiBkZSA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPlRpY2tldCBGaWx0ZXI8L3NwYW4+LgogIGxpbmtzOgogICAgLSAKICAgICAgdGl0bGU6IFZlcnRlZ2Vud29vcmRpZ2VycyBiZWhlcmVuCiAgICAgIGhyZWY6IC9zY3Avc3RhZmYucGhwCiAgICAtIAogICAgICB0aXRsZTogVGVhbXMgYmVoZXJlbgogICAgICBocmVmOiAvc2NwL3RlYW1zLnBocApoZWxwX3RvcGljOgogIHRpdGxlOiBIZWxwIG9uZGVyd2VycGVuCiAgY29udGVudDogPgogICAgS2llcyBoZXQgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5IZWxwIG9uZGVyd2VycDwvc3Bhbj4gZGF0IGplIHdpbCB0b2VwYXNzZW4gb3AgZGUgdGlja2V0cyBkaWUgZ2V2b25kZW4gemlqbiBkb29yIGRlemUgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5UaWNrZXQgRmlsdGVyPC9zcGFuPi4KICBsaW5rczoKICAgIC0gCiAgICAgIHRpdGxlOiBIZWxwLW9uZGVyd2VycGVuIGJlaGVyZW4KICAgICAgaHJlZjogL3NjcC9oZWxwdG9waWNzLnBocAphZG1pbl9ub3RlczoKICB0aXRsZTogQWRtaW4gbm90aXRpZXMKICBjb250ZW50OiA+CiAgICBEZXplIG5vdGl0aWVzIHppam4gZW5rZWwgemljaHRiYWFyIHZvb3IgZGllZ2VuZW4gd2llbnMgYWNjb3VudHR5cGUgJzxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+QWRtaW48L3NwYW4+JyBpcy4KI1RoaXMgaXMgcG9wdXAgaGVscCBtZXNzYWdlcyBmb3IgdGhlIEFkbWluIFBhbmVsIC0+IE1hbmFnZSAtPiBIZWxwIFRvcGljCiNGaWVsZHM6CiN0aXRsZSAtIFNob3duIGluIGJvbGQgYXQgdGhlIHRvcCBvZiB0aGUgcG9wb3ZlciB3aW5kb3cKI2NvbnRlbnQgLSBUaGUgYm9keSBvZiB0aGUgaGVscCBwb3BvdmVyCiNsaW5rcyAtIExpc3Qgb2YgbGlua3Mgc2hvd3MgYmVsb3cgdGhlIGNvbnRlbnQKI3RpdGxlIC0gTGluayB0aXRsZQojaHJlZiAtIGhyZWYgb2YgbGluayAobGlua3Mgc3RhcnRpbmcgd2l0aCAvIGFyZSB0cmFuc2xhdGVkIHRvIHRoZQojaGVscGRlc2sgaW5zdGFsbGF0aW9uIHBhdGgpCiNUaGUga2V5IG5hbWVzIHN1Y2ggYXMgJ2hlbHBkZXNrX25hbWUnIHNob3VsZCBub3QgYmUgdHJhbnNsYXRlZCBhcyB0aGV5CiNtdXN0IG1hdGNoIHRoZSBIVE1MICNpZHMgcHV0IGludG8gdGhlIHBhZ2UgdGVtcGxhdGUuCi0tLQpoZWxwX3RvcGljX2luZm9ybWF0aW9uOgogIHRpdGxlOiBIZWxwLW9uZGVyd2VycCBpbmZvcm1hdGllCiAgY29udGVudDogPgogICAgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5IZWxwLW9uZGVyd2VycGVuPC9zcGFuPiBob3VkIGJpaiB3ZWxrZSBpbmZvcm1hdGllIHdvcmR0IHZlcnphbWVsZCB2YW4gZ2VicnVpa2VycyBlbiBob2UgdGlja2V0cyB3b3JkZW4gZG9vcmdlc3R1dXJkIG9mIHRvZWdld2V6ZW4uCnRvcGljOgogIHRpdGxlOiBOYWFtIHZhbiBoZXQgb25kZXJ3ZXJwCiAgY29udGVudDogPgogICAgVW5pZWtlIG5hYW0gdmVuIGhldCBIZWxwLW9uZGVyd2VycC4KaHRzdGF0dXM6CiAgdGl0bGU6IFN0YXR1cwogIGNvbnRlbnQ6ID4KICAgIEFscyBkaXQgdWl0Z2VzY2hha2VsZCBpcywgemFsIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+SGVscC1vbmRlcndlcnA8L3NwYW4+IG5pZXQgYmVzY2hpa2JhYXIgemlqbi4Kc3RhdHVzOgogIHRpdGxlOiBUaWNrZXRzdGF0dXMKICBjb250ZW50OiA+CiAgICBTZWxlY3QgdGhlIFRpY2tldCBTdGF0dXMgYXNzaWduZWQgdG8gbmV3IHRpY2tldHMgcmVsYXRlZCB0byB0aGlzIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+SGVscCBUb3BpYzwvc3Bhbj4uIDxicj48YnI+IFRpY2tldCBGaWx0ZXJzIGNhbiBvdmVycmlkZSBuZXcgVGlja2V0IFN0YXR1cy4KdHlwZToKICB0aXRsZTogVHlwZQogIGNvbnRlbnQ6ID4KICAgIEFscyBlZW4gPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5IZWxwLW9uZGVyd2VycDwvc3Bhbj4gYWxzIFByaXZhYXQgd29yZHQgZ2VsYWJlbGQsIHphbCBoZXQgYWxsZWVuIHRvZWdhbmtlbGlqayB6aWpuIHZvb3IgVmVydGVnZW53b29yZGlnZXJzIGRpZSBkaXQga3VubmVuIGtpZXplbiB3YW5uZWVyIGVlbiBuaWV1dyBUaWNrZXQgZ2VvcGVuZCB3b3JkdCBvbmRlciBoZXQgUGVyc29uZWVsIFBhbmVlbC4KcGFyZW50X3RvcGljOgogIHRpdGxlOiBIb29mZG9uZGVyd2VycAogIGNvbnRlbnQ6ID4KICAgIFNlbGVjdGVlciBoZXQgaG9vZmRvbmRlcndlcnAgZGF0IHphbCBiZWhvcmVuIHRvdCBkaXQ8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPkhlbHAtb25kZXJ3ZXJwPC9zcGFuPi4gSGV0IGhvb2Zkb25kZXJ3ZXJwIHphbCBhbHMgZWVyc3RlIGluIGRlIGxpanN0IHZlcnNjaGlqbmVuIG1ldCBkaXQgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5IZWxwLW9uZGVyd2VycDwvc3Bhbj4gZXIgb3Agdm9sZ2VuZC4KY3VzdG9tX2Zvcm06CiAgdGl0bGU6IEFhbmdlcGFzdCBmb3JtdWxpZXIKICBjb250ZW50OiA+CiAgICBBYW5nZXBhc3RlIGZvcm11bGllcmVuIHphbCB1IGhlbHBlbiBvbSBzcGVjaWZpZWtlcmUgaW5mb3JtYXRpZSB2YW4gZ2VicnVpa2VycyB0ZSB2ZXJrcmlqZ2VuIGRhdCByZWxldmFudCB6aWpuIHZvb3IgZGl0IDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+SGVscC1vbmRlcndlcnA8L3NwYW4+LgogIGxpbmtzOgogICAgLSAKICAgICAgdGl0bGU6IEFhbmdlcGFzdGUgZm9ybXVsaWVyZW4gYmVoZXJlbgogICAgICBocmVmOiAvc2NwL2Zvcm1zLnBocApwcmlvcml0eToKICB0aXRsZTogUHJpb3JpdGVpdAogIGNvbnRlbnQ6ID4KICAgIFNlbGVjdGVlciBkZSBQcmlvcml0ZWl0IGRhdCBtb2V0IHRvZWdld2V6ZW4gd29yZGVuIGFhbiBuaWV1d2UgVGlja2V0cyB2YW4gZGl0IDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+SGVscC1vbmRlcndlcnA8L3NwYW4+Ljxicj48YnI+VGlja2V0IEZpbHRlcnMga3VubmVuIG5pZXV3ZSBUaWNrZXQgUHJpb3JpdGVpdGVuIG92ZXJzY2hyaWp2ZW4uCmRlcGFydG1lbnQ6CiAgdGl0bGU6IEFmZGVsaW5nCiAgY29udGVudDogPgogICAgS2llcyBkZSBBZmRlbGluZyB3YWFyYWFuIG5pZXV3ZSB0aWNrZXRzIG9uZGVyIGRpdCBIZWxwLW9uZGVyd2VycCB6dWxsZW4gd29yZGVuIGRvb3JnZXN0dXVyZC4KICBsaW5rczoKICAgIC0gCiAgICAgIHRpdGxlOiBBZmRlbGluZ2VuIGJlaGVyZW4KICAgICAgaHJlZjogL3NjcC9kZXBhcnRtZW50cy5waHAKc2xhX3BsYW46CiAgdGl0bGU6IFNlcnZpY2Ugbml2ZWF1CiAgY29udGVudDogPgogICAgS2llcyBoZXQgU2VydmljZSBQbGFuIGRhdCBnZWtvcHBlbGQgaXMgYWFuIGRpdCA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPkhlbHAtb25kZXJ3ZXJwPC9zcGFuPi4gPGJyPjxicj4gRGV6ZSBzZWxlY3RpZSB6YWwgZWxrZSBnZXNlbGVjdGVlcmRlIEFmZGVsaW5nIHppam4gU2VydmljZSBOaXZlYXUgb3ZlcnNjaHJpanZlbgogIGxpbmtzOgogICAgLSAKICAgICAgdGl0bGU6IFNlcnZpY2UgcGxhbm5lbiBiZWhlcmVuCiAgICAgIGhyZWY6IC9zY3Avc2xhcy5waHAKdGhhbmtfeW91X3BhZ2U6CiAgdGl0bGU6IERhbmtwYWdpbmEKICBjb250ZW50OiA+CiAgICBLaWVzIGRlIERhbmtwYWdpbmEgd2Fhcm5hYXIgZWVuIGdlYnJ1aWtlciBkb29yZ2VzdHV1cmQgd29yZHQgbmEgaGV0IG9wZW5lbiB2YW4gZWVuIFRpY2tldCBvbmRlciBkaXQgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5IZWxwLW9uZGVyd2VycDwvc3Bhbj4uCiAgbGlua3M6CiAgICAtIAogICAgICB0aXRsZTogRGFua3BhZ2luYSdzIGJlaGVyZW4KICAgICAgaHJlZjogL3NjcC9wYWdlcy5waHAKYXV0b19hc3NpZ25fdG86CiAgdGl0bGU6IEF1dG9tYXRpc2NoIHRvZXdpanplbiB2YW4gbmlldXdlIFRpY2tldHMKICBjb250ZW50OiA+CiAgICBLaWVzIGVlbiBWZXJ0ZWdlbndvb3JkaWdlciBvZiBUZWFtICBkYXQgYXV0b21hdGlzY2ggdGlja2V0cyBrYW4gdG9ld2lqemVuIGdlb3BlbmQgbWV0IGRpdCA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPkhlbHAtb25kZXJ3ZXJwPC9zcGFuPiA8YnI+PGJyPiBUaWNrZXQgRmlsdGVycyBrdW5uZW4gdG9ld2lqemluZ2VuIG92ZXJzY2hyaWp2ZW4uCiAgbGlua3M6CiAgICAtIAogICAgICB0aXRsZTogTWVkZXdlcmtlcnMgZW4gVGVhbXMgYmVoZXJlbgogICAgICBocmVmOiAvc2NwL3N0YWZmLnBocAp0aWNrZXRfYXV0b19yZXNwb25zZToKICB0aXRsZTogQXV0b21hdGlzY2gtYW50d29vcmQgdmFuIFRpY2tldAogIGNvbnRlbnQ6ID4KICAgIEFscyBkaXQgaXMgaW5nZXNjaGFrZWxkLCB6YWwgYXV0b21hdGlzY2gtYW50d29vcmRlbiB2YW4gdGlja2V0cyB2b29yIGRpdCA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPkhlbHAtb25kZXJ3ZXJwPC9zcGFuPiB1aXRnZXNjaGFrZWxkIHdvcmRlbi4gPGJyPjxicj4gRGl0IG92ZXJzY2hyaWpmdCB6b3dlbCBkZSBhdXRvbWF0aXNjaC1hbnR3b29yZCBpbnN0ZWxsaW5nIHZhbiBoZXQgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5BZmRlbGluZzwvc3Bhbj4gYWxzIGRlIGdsb2JhbGUgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5BdXRvbWF0aXNjaC1hbnR3b29yZCBpbnN0ZWxsaW5nZW48L3NwYW4+LgogIGxpbmtzOgogICAgLSAKICAgICAgdGl0bGU6IEF1dG9tYXRpc2NoIGFudHdvb3JkIGluc3RlbGxpbmdlbgogICAgICBocmVmOiAvc2NwL3NldHRpbmdzLnBocD90PWF1dG9yZXNwCmN1c3RvbV9udW1iZXJzOgogIHRpdGxlOiBBYW5nZXBhc3RlIFRpY2tldCBOdW1tZXJpbmcKICBjb250ZW50OiA+CiAgICBLaWVzICJBYW5nZXBhc3RlIE51bW1lcmluZyIgb20gZGUgc3RhbmRhYXJkIG51bW1lcmluZyB2YW4gdGlja2V0cyB0ZSBvdmVyc2NocmlqdmVuLiBaaWUgZGUgaGVscC10aXBzIGluIGRlIEluc3RlbGxpbmdlbiAvIFRpY2tldHMgcGFnaW5hIHZvb3IgbWVlciBpbmZvcm1hdGllIG92ZXIgZGUgaW5zdGVsbGluZ2VuLgojVGhpcyBpcyBwb3B1cCBoZWxwIG1lc3NhZ2VzIGZvciB0aGUgQWRtaW4gUGFuZWwgLT4gTWFuYWdlIC0+IFBhZ2VzCiNGaWVsZHM6CiN0aXRsZSAtIFNob3duIGluIGJvbGQgYXQgdGhlIHRvcCBvZiB0aGUgcG9wb3ZlciB3aW5kb3cKI2NvbnRlbnQgLSBUaGUgYm9keSBvZiB0aGUgaGVscCBwb3BvdmVyCiNsaW5rcyAtIExpc3Qgb2YgbGlua3Mgc2hvd3MgYmVsb3cgdGhlIGNvbnRlbnQKI3RpdGxlIC0gTGluayB0aXRsZQojaHJlZiAtIGhyZWYgb2YgbGluayAobGlua3Mgc3RhcnRpbmcgd2l0aCAvIGFyZSB0cmFuc2xhdGVkIHRvIHRoZQojaGVscGRlc2sgaW5zdGFsbGF0aW9uIHBhdGgpCiNUaGUga2V5IG5hbWVzIHN1Y2ggYXMgJ2hlbHBkZXNrX25hbWUnIHNob3VsZCBub3QgYmUgdHJhbnNsYXRlZCBhcyB0aGV5CiNtdXN0IG1hdGNoIHRoZSBIVE1MICNpZHMgcHV0IGludG8gdGhlIHBhZ2UgdGVtcGxhdGUuCi0tLQpzaXRlX3BhZ2VzOgogIHRpdGxlOiBTaXRlIHBhZ2luYSdzCiAgY29udGVudDogPgogICAgU2l0ZSBwYWdpbmEncyBrdW5uZW4gZGllbmVuIGFscyBlZW4gbWluaSBDb250ZW50IE1hbmFnZW1lbnQgU3lzdGVlbSAoQ01TKS4gVSBrdW50IG1lZXJkZXJlIGxhbmRpbmcsIG9mZmxpbmUsIGVuIGJlZGFua3QgcGFnaW5hJ3MgZGVmaW5pw6tyZW4gZW4gZGV6ZSBjb25maWd1cmVyZW4gaW4gdXcgYmVkcmlqZnNpbnN0ZWxsaW5nZW4gZW4gaGVscCBvbmRlcndlcnBlbi4KICBsaW5rczoKICAgIC0gCiAgICAgIHRpdGxlOiBCZWRyaWpmcyBpbnN0ZWxsaW5nZW4KICAgICAgaHJlZjogL3NjcC9zZXR0aW5ncy5waHA/dD1wYWdlcwp0eXBlOgogIHRpdGxlOiBUeXBlCiAgY29udGVudDogPgogICAgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLW9wdCI+T2ZmbGluZTwvc3Bhbj4gcGFnaW5hJ3Mgd29yZGVuIHdlZXJnZWdldmVuIG9wIHV3IGtsYW50ZW5wb3J0YWFsIGFscyB1dyBoZWxwZGVzayB1aXRnZXNjaGFrZWxkIGlzLiA8c3BhbiBjbGFzcz0iZG9jLWRlc2Mtb3B0Ij5MYW5kaW5nPC9zcGFuPiBwYWdlcyB3b3JkZW4gd2VlcmdlZ2V2ZW4gb3AgZGUgaG9tZSBwYWdlIHZhbiB1dyBrbGFudGVucG9ydGFhbC4gPHNwYW4gY2xhc3M9ImRvYy1kZXNjLW9wdCI+QmVkYW5rdDwvc3Bhbj4gcGFnaW5hJ3Mgd29yZGVuIHdlZXJnZWdldmVuIGFscyBlZW4gZ2VicnVpa2VyIGVlbiB0aWNrZXQgdmVyc3R1dXJ0LiA8c3BhbiBjbGFzcz0iZG9jLWRlc2Mtb3B0Ij5hbmRlcmU8L3NwYW4+IHBhZ2luYSdzIGt1bm5lbiB3b3JkZW4gZ2VicnVpa3QgYWxzIGVlbiBzaW1wZWwgY29udGVudCBtYW5hZ2VtZW50IHN5c3RlZW0gKENNUykuCiNUaGlzIGlzIHBvcHVwIGhlbHAgbWVzc2FnZXMgZm9yIHRoZSBBZG1pbiBQYW5lbCAtPiBNYW5hZ2UgLT4gU2NoZWR1bGVzCiNGaWVsZHM6CiN0aXRsZSAtIFNob3duIGluIGJvbGQgYXQgdGhlIHRvcCBvZiB0aGUgcG9wb3ZlciB3aW5kb3cKI2NvbnRlbnQgLSBUaGUgYm9keSBvZiB0aGUgaGVscCBwb3BvdmVyCiNsaW5rcyAtIExpc3Qgb2YgbGlua3Mgc2hvd3MgYmVsb3cgdGhlIGNvbnRlbnQKI3RpdGxlIC0gTGluayB0aXRsZQojaHJlZiAtIGhyZWYgb2YgbGluayAobGlua3Mgc3RhcnRpbmcgd2l0aCAvIGFyZSB0cmFuc2xhdGVkIHRvIHRoZQojaGVscGRlc2sgaW5zdGFsbGF0aW9uIHBhdGgpCiNUaGUga2V5IG5hbWVzIHN1Y2ggYXMgJ2hlbHBkZXNrX25hbWUnIHNob3VsZCBub3QgYmUgdHJhbnNsYXRlZCBhcyB0aGV5CiNtdXN0IG1hdGNoIHRoZSBIVE1MICNpZHMgcHV0IGludG8gdGhlIHBhZ2UgdGVtcGxhdGUuCi0tLQpzY2hlZHVsZToKICB0aXRsZTogU2NoZWR1bGUgRGVmaW5pdGlvbgogIGNvbnRlbnQ6ID4KICAgIDxiPk5hbWU8L2I+OiBVbmlxdWUgbmFtZSBmb3IgdGhlIHNjaGVkdWxlLiA8aHI+IDxiPlR5cGU8L2I+OiBDaG9vc2UgdGhlIHR5cGUgb2YgU2NoZWR1bGUuIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+QnVzaW5lc3MgSG91cnM8L3NwYW4+IGRlZmluZXMgdGhlIGhvdXJzIHRoYXQgYXJlIGluY2x1ZGVkIHdoZW4gY2FsY3VsYXRpbmcgU0xBIGhvdXJzLCB3aGVyZWFzIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+SG9saWRheSBIb3Vyczwvc3Bhbj4gZGVmaW5lIGhvdXJzIHRoYXQgYXJlIGV4Y2x1ZGVkLiA8aHI+IDxiPlRpbWV6b25lPC9iPjogQ2hvb3NlIHRoZSB0aW1lIHpvbmUgZm9yIHRoZSBzY2hlZHVsZS4gSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBsZWF2ZSBpdCBlbXB0eSBmb3IgYSA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPkZsb2F0aW5nPC9zcGFuPiB0aW1lIHpvbmUuIDxicj48YnI+IEZsb2F0aW5nIHRpbWUgem9uZSBhbGxvd3MgZm9yIHRpbWVzIHRvIGJlIHJlbGF0aXZlIHRvIHRoZSBlZmZlY3RpdmUgdGltZSB6b25lIGF0IHRoZSB0aW1lIG9mIHVzZS4KCiNUaGlzIGlzIHBvcHVwIGhlbHAgbWVzc2FnZXMgZm9yIHRoZSBBZG1pbiBQYW5lbCAtPiBNYW5hZ2UgLT4gU0xBIFBsYW4KI0ZpZWxkczoKI3RpdGxlIC0gU2hvd24gaW4gYm9sZCBhdCB0aGUgdG9wIG9mIHRoZSBwb3BvdmVyIHdpbmRvdwojY29udGVudCAtIFRoZSBib2R5IG9mIHRoZSBoZWxwIHBvcG92ZXIKI2xpbmtzIC0gTGlzdCBvZiBsaW5rcyBzaG93cyBiZWxvdyB0aGUgY29udGVudAojdGl0bGUgLSBMaW5rIHRpdGxlCiNocmVmIC0gaHJlZiBvZiBsaW5rIChsaW5rcyBzdGFydGluZyB3aXRoIC8gYXJlIHRyYW5zbGF0ZWQgdG8gdGhlCiNoZWxwZGVzayBpbnN0YWxsYXRpb24gcGF0aCkKI1RoZSBrZXkgbmFtZXMgc3VjaCBhcyAnaGVscGRlc2tfbmFtZScgc2hvdWxkIG5vdCBiZSB0cmFuc2xhdGVkIGFzIHRoZXkKI211c3QgbWF0Y2ggdGhlIEhUTUwgI2lkcyBwdXQgaW50byB0aGUgcGFnZSB0ZW1wbGF0ZS4KLS0tCm5hbWU6CiAgdGl0bGU6IE5hYW0KICBjb250ZW50OiA+CiAgICBLaWVzIGVlbiBuYWFtIGRpZSBvbXNjaHJpamZ0IHdhdCBkZSBvcHpldCBpcyB2YW4gZGl0IDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+U0xBIFBsYW48L3NwYW4+LgpncmFjZV9wZXJpb2Q6CiAgdGl0bGU6IFJlc3BvbnN0aWpkCiAgY29udGVudDogPgogICAgRGV0ZXJtaW5lIHRoZSBudW1iZXIgb2YgaG91cnMgYWZ0ZXIgYSB0aWNrZXQgaXMgY3JlYXRlZCB0aGF0IGl0IHdpbGwgYmUgYXV0b21hdGljYWxseSBtYXJrZWQgYXMgb3ZlcmR1ZS4gPGJyPjxicj4gSG91cnMgYXJlIGNvdW50ZWQgZHVyaW5nIHRoZSBzcGVjaWZpZWQgU2NoZWR1bGUuIFRoZSBoaWVyYXJjaHkgaXMgRGVwYXJ0bWVudCBTY2hlZHVsZSwgU0xBIFNjaGVkdWxlLCB0aGVuIFN5c3RlbSBEZWZhdWx0IFNjaGVkdWxlLiBJZiBubyBTY2hlZHVsZSBpcyBjb25maWd1cmVkLCB0aGUgSG91cnMgYXJlIGNvdW50ZWQgMjQvNyAoZXZlbiBhZnRlciBidXNpbmVzcyBob3VycykgdW50aWwgdGhlIFRpY2tldCBpcyBPdmVyZHVlLgp0cmFuc2llbnQ6CiAgdGl0bGU6IER5bmFtaXNjaAogIGNvbnRlbnQ6ID4KICAgIER5bmFtaXNjaGUgU2VydmljZSBQbGFucyB3b3JkZW4gYmVzY2hvdXdkIGFscyB0aWpkZWxpamsgZW4ga3VubmVuIHdvcmRlbiBvdmVyc2NocmV2ZW4gZG9vciBlZW4gbmlldC1keW5hbWlzY2ggU2VydmljZSBQbGFuIG9wIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy1vcHQiPkRlcGFydGVtZW50PC9zcGFuPiBvdmVyZHJhY2h0IG9mIHdhbm5lZXIgaGV0IDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+SGVscC1vbmRlcndlcnA8L3NwYW4+IGdld2lqemlnZCB3b3JkdC4Kc2NoZWR1bGU6CiAgdGl0bGU6IFNjaGVkdWxlCiAgY29udGVudDogPgogICAgQ2hvb3NlIHRoZSBTY2hlZHVsZSB0byBiZSB1c2VkIGJ5IHRoaXMgU0xBIHdoZW4gcmVuZGVyaW5nIHRpY2tldHMgT3ZlcmR1ZS4gPGJyPjxicj4gUGxlYXNlIG5vdGUgdGhhdCBEZXBhcnRtZW50IHNldHRpbmdzIGNhbiBvdmVycmlkZSB0aGlzIHNjaGVkdWxlLgogIGxpbmtzOgogICAgLSAKICAgICAgdGl0bGU6IFNjaGVtYSdzIGJlaGVyZW4KICAgICAgaHJlZjogL3NjcC9zY2hlZHVsZXMucGhwCiNUaGlzIGlzIHRoZSB2aWV3IC8gbWFuYWdlbWVudCBwYWdlIGZvciBhbiBvcmdhbml6YXRpb24gaW4gdGhlIHVzZXIKI2RpcmVjdG9yeQojRmllbGRzOgojdGl0bGUgLSBTaG93biBpbiBib2xkIGF0IHRoZSB0b3Agb2YgdGhlIHBvcG92ZXIgd2luZG93CiNjb250ZW50IC0gVGhlIGJvZHkgb2YgdGhlIGhlbHAgcG9wb3ZlcgojbGlua3MgLSBMaXN0IG9mIGxpbmtzIHNob3dzIGJlbG93IHRoZSBjb250ZW50CiN0aXRsZSAtIExpbmsgdGl0bGUKI2hyZWYgLSBocmVmIG9mIGxpbmsgKGxpbmtzIHN0YXJ0aW5nIHdpdGggLyBhcmUgdHJhbnNsYXRlZCB0byB0aGUKI2hlbHBkZXNrIGluc3RhbGxhdGlvbiBwYXRoKQojVGhlIGtleSBuYW1lcyBzdWNoIGFzICdoZWxwZGVza19uYW1lJyBzaG91bGQgbm90IGJlIHRyYW5zbGF0ZWQgYXMgdGhleQojbXVzdCBtYXRjaCB0aGUgSFRNTCAjaWRzIHB1dCBpbnRvIHRoZSBwYWdlIHRlbXBsYXRlLgotLS0Kb3JnX3NoYXJpbmc6CiAgdGl0bGU6IERlbGVuIHZhbiBlZW4gVGlja2V0CiAgY29udGVudDogPgogICAgPHA+T3JnYW5pc2F0aWUgdGlja2V0cyBkZWxlbiB6b3JndCBlcnZvb3IgZGF0IGxlZGVuIHZhbiBlZW4gb3JnYW5pc2F0aWUgdGlja2V0cyB2YW4gZWxrYWFyIGt1bm5lbiBsZXplbi48L3A+PHAgY2xhc3M9ImluZm8tYmFubmVyIj4gPGkgY2xhc3M9Imljb24taW5mby1zaWduIj48L2k+IENvbGxhYm9yYXRldXJzIGhlYmJlbiBhbHRpamQgdG9lZ2FuZyB0b3QgdGlja2V0cy4gPC9wPgplbWFpbF9kb21haW46CiAgdGl0bGU6IEVtYWlsZG9tZWluCiAgY29udGVudDogPgogICAgR2VicnVpa2VycyBrdW5uZW4gYXV0b21hdGlzY2ggYWFuIGVlbiBvcmdhbmlzYXRpZSB3b3JkZW4gdG9lZ2V2b2VnZCwgZ2ViYXNlZXJkIG9wIGh1biBlbWFpbC1kb21laW4oZW4pLiBHZWJydWlrIGhldCBpbnZvZXJ2ZWxkIGhpZXJvbmRlciBvbSBtZWVyIGVtYWlsLWRvbWVpbmVuIChnZXNjaGVpZGVuIGRvb3IgY29tbWEncykgdG9lIHRlIHZvZWdlbi4gQmlqdi46IHZvZXIgPGNvZGU+bWlqbmJlZHJpamYubmw8L2NvZGU+IHRvZSB2b29yIGdlYnJ1aWtlcnMgbWV0IGVlbiBlbWFpbGFkcmVzIGVpbmRpZ2VuZCBvcCBAbWlqbmJlZHJpamYubmwgCgojVGhpcyBpcyBwb3B1cCBoZWxwIG1lc3NhZ2VzIGZvciB0aGUgQWRtaW4gUGFuZWwgLT4gU2V0dGluZ3MgLT4gQWdlbnRzCiNGaWVsZHM6CiN0aXRsZSAtIFNob3duIGluIGJvbGQgYXQgdGhlIHRvcCBvZiB0aGUgcG9wb3ZlciB3aW5kb3cKI2NvbnRlbnQgLSBUaGUgYm9keSBvZiB0aGUgaGVscCBwb3BvdmVyCiNsaW5rcyAtIExpc3Qgb2YgbGlua3Mgc2hvd3MgYmVsb3cgdGhlIGNvbnRlbnQKI3RpdGxlIC0gTGluayB0aXRsZQojaHJlZiAtIGhyZWYgb2YgbGluayAobGlua3Mgc3RhcnRpbmcgd2l0aCAvIGFyZSB0cmFuc2xhdGVkIHRvIHRoZQojaGVscGRlc2sgaW5zdGFsbGF0aW9uIHBhdGgpCiNUaGUga2V5IG5hbWVzIHN1Y2ggYXMgJ2hlbHBkZXNrX25hbWUnIHNob3VsZCBub3QgYmUgdHJhbnNsYXRlZCBhcyB0aGV5CiNtdXN0IG1hdGNoIHRoZSBIVE1MICNpZHMgcHV0IGludG8gdGhlIHBhZ2UgdGVtcGxhdGUuCiNHZW5lcmFsIFNldHRpbmdzCi0tLQphZ2VudF9uYW1lX2Zvcm1hdDoKICB0aXRsZTogQWdlbnQgbmFhbSBvcG1hYWsKICBjb250ZW50OiA+CiAgICBLaWVzIGVlbiBvcG1hYWsgdm9vciBkZSBBZ2VudCBuYW1lbiBpbiBoZXQgc3lzdGVlbS4gSGV0IG1haWxzeXN0ZWVtIHphbCBkZXplIG9wbWFhayBnZWJydWlrZW4gdm9vciBuYW1lbiBhbHMgZ2VlbiBhbmRlcmUgb3BtYWFrIGlzIGdlc2VsZWN0ZWVyZC4Kc3RhZmZfaWRlbnRpdHlfbWFza2luZzoKICB0aXRsZTogVmVyYmVyZyBpZGVudGl0ZWl0CiAgY29udGVudDogPgogICAgQWxzIGRlemUgbW9nZWxpamtoZWlkIGlzIGluZ2VzY2hha2VsZCwgZGFuIHphbCBkZSBuYWFtIHZhbiBkZSBtZWRld2Vya2VyIG5pZXQgemljaHRiYWFyIHppam4gdm9vciBkZSBjbGnDq250ZW4gYmlqIGNvbW11bmljYXRpZS4KZGlzYWJsZV9hZ2VudF9jb2xsYWJzOgogIHRpdGxlOiBNZWRld2Vya2VycyB1aXRzY2hha2VsZW4KICBjb250ZW50OiA+CiAgICBJbmRpZW4gaW5nZXNjaGFrZWxkLCB3b3JkZW4gQWdlbnRlbiBkaWUgZG9vciBnZWJydWlrZXJzIHppam4gdG9lZ2V2b2VnZCBhbHMgYmlqZHJhZ2VycyBhdXRvbWF0aXNjaCB1aXRnZXNjaGFrZWxkLiBEaXQgaXMgaGFuZGlnIHdhbm5lZXIgZ2VicnVpa2VycyBibGluZGVsaW5ncyBBZ2VudGVuIHRvZXZvZWdlbiBhYW4gaGV0IENDLXZlbGQsIHdhYXJkb29yIGRlIGFnZW50ZW4gYWxsZSBkZWVsbmVtZXJzd2FhcnNjaHV3aW5nZW4gb250dmFuZ2VuLiA8YnI+PGJyPiA8c3Ryb25nPk9wbWVya2luZzo8L3N0cm9uZz4gPGJyPiBEZXplIGluc3RlbGxpbmcgaXMgYWxnZW1lZW4gdm9vciBhbGxlIGRvb3IgZ2VicnVpa2VycyBnZW1hYWt0ZSB0aWNrZXRzIHZpYSBBUEksIFBpcGluZyBlbiBGZXRjaGluZy4KI0F1dGhlbnRpY2F0aW9uIHNldHRpbmdzCmFnZW50X3Bhc3N3b3JkX3BvbGljeToKICB0aXRsZTogQmVsZWlkIGluemFrZSB3YWNodHdvb3JkYmVoZWVyCiAgY29udGVudDogPgogICAgS2llcyBlZW4gPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5XYWNodHdvb3JkYmVsZWlkPC9zcGFuPiB2b29yIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+TWVkZXdlcmtlcnM8L3NwYW4+LiA8YnI+PGJyPiBFeHRyYSBiZWxlaWRzcmVnZWxzIGt1bm5lbiB3b3JkZW4gdG9lZ2V2b2VnZCBkb29yIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+V2FjaHR3b29yZGJlbGVpZDwvc3Bhbj4gcGx1Z2lucyB0ZSBpbnN0YWxsZXJlbi4KYWxsb3dfcGFzc3dvcmRfcmVzZXRzOgogIHRpdGxlOiBXYWNodHdvb3JkIGhlcnN0ZWxsZW4gdG9lc3RhYW4KICBjb250ZW50OiA+CiAgICBaZXQgZGV6ZSBvcHRpZSBhYW4gYWxzIGplIGRlIGxpbmsgdGhlIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+V2FjaHR3b29yZCB2ZXJnZXRlbjwvc3Bhbj4gb3AgZGUgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5JbmxvZ3BhZ2luYTwvc3Bhbj4gd2lsdCB3ZWVyZ2V2ZW4sIG5hIGVlbiBvbnN1Y2Nlc3ZvbGxlIGlubG9ncG9naW5nLgpyZXNldF90b2tlbl9leHBpcmF0aW9uOgogIHRpdGxlOiBXYWNodHdvb3JkIGhlcnN0ZWxsZW4gVmVuc3RlcgogIGNvbnRlbnQ6ID4KICAgIEtpZXMgZGUgZHV1ciAoaW4gbWludXRlbikgd2FhcnZvb3IgZGUgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5XYWNodHdvb3JkIGhlcnN0ZWxsZW4gVG9rZW5zPC9zcGFuPiBvbmdlbGRpZyB3b3JkZW4uIFdhbm5lZXIgZWVuIFZlcmFudHdvb3JkZWxpamtlIGVlbiA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPldhY2h0d29vcmQgaGVyc3RlbGxlbjwvc3Bhbj4gYWN0aWUgdWl0dm9lcnQsIHphbCBlZW4gZS1tYWlsIGdlc3R1dXJkIHdvcmRlbiBvbSBoZXQgaGVyc3RlbGxlbiB0b2UgdGUgc3RhYW4uCnN0YWZmX3Nlc3Npb25fdGltZW91dDoKICB0aXRsZTogTWVkZXdlcmtlciBzZXNzaWV2ZXJsb29wCiAgY29udGVudDogPgogICAgS2llcyBkZSBtaW5tYWxlIHRpamQgKGluIG1pbnV0ZW4pIGRhdCBoZXQgbW9ldCBkdXJlbiB2b29yZGF0IGVlbiBhZ2VudCBvcG5pZXV3IG1vZXQgaW5sb2dnZW4uIDxicj48YnI+QWxzIGplIGRlemUgb3B0aWUgd2lsdCB1aXRzY2hha2VsZW4sIHZvZXIgamUgaGV0IGdldGFsICcwJyBpbi4KYmluZF9zdGFmZl9zZXNzaW9uX3RvX2lwOgogIHRpdGxlOiBLb3BwZWwgZGUgbWVkZXdlcmtlciBzZXNzaWUgYWFuIGVlbiBpcGFkcmVzCiAgY29udGVudDogPgogICAgWmV0IGRlemUgb3B0aWUgYWFuIG9tIEFnZW50ZW4gdGUgaGVya2VubmVuIGFhbiBodW4gSVAtYWRyZXMuPGJyPjxicj5EZXplIGluc3RlbGxpbmcgaXMgbmlldCBhYW5iZXZvbGVuIHZvb3Igb21nZXZpbmdlbiBtZXQgZHluYW1pc2NoZSBpcC1hZHJlc3Nlbi4KcmVxdWlyZV9hZ2VudF8yZmE6CiAgdGl0bGU6IFR3ZWUgZmFjdG9yIGF1dGhlbnRpY2F0aWUgdmVyZWlzZW4KICBjb250ZW50OiA+CiAgICBTY2hha2VsIGRlemUgZnVuY3RpZSBpbiBhbHMgdSBlZW4gZXh0cmEgYXV0aGVudGljYXRpZWxhYWcgd2lsdCBpbnN0ZWxsZW4gdm9vciBBZ2VudGVuIHdhbm5lZXIgemUgaW5sb2dnZW4gb3AgZGUgaGVscGRlc2suIFpvZHJhIHplIGh1biBnZWJydWlrZXJzbmFhbSBlbiB3YWNodHdvb3JkIGNvcnJlY3QgaGViYmVuIGluZ2V2b2VyZCwgbW9ldGVuIHplIGVlbiB0b2tlbiBpbmRpZW5lbiBvbSBoZXQgaW5sb2dnZW4gb3AgZGUgaGVscGRlc2sgdGUgdm9sdG9vaWVuLgojVGhpcyBpcyBwb3B1cCBoZWxwIG1lc3NhZ2VzIGZvciB0aGUgQWNjb3VudCBQYW5lbCAtPgojRmllbGRzOgojdGl0bGUgLSBTaG93biBpbiBib2xkIGF0IHRoZSB0b3Agb2YgdGhlIHBvcG92ZXIgd2luZG93CiNjb250ZW50IC0gVGhlIGJvZHkgb2YgdGhlIGhlbHAgcG9wb3ZlcgojbGlua3MgLSBMaXN0IG9mIGxpbmtzIHNob3dzIGJlbG93IHRoZSBjb250ZW50CiN0aXRsZSAtIExpbmsgdGl0bGUKI2hyZWYgLSBocmVmIG9mIGxpbmsgKGxpbmtzIHN0YXJ0aW5nIHdpdGggLyBhcmUgdHJhbnNsYXRlZCB0byB0aGUKI2hlbHBkZXNrIGluc3RhbGxhdGlvbiBwYXRoKQojVGhlIGtleSBuYW1lcyBzdWNoIGFzICdoZWxwZGVza19uYW1lJyBzaG91bGQgbm90IGJlIHRyYW5zbGF0ZWQgYXMgdGhleQojbXVzdCBtYXRjaCB0aGUgSFRNTCAjaWRzIHB1dCBpbnRvIHRoZSBwYWdlIHRlbXBsYXRlLgotLS0KcGFnZV90aXRsZToKICB0aXRsZTogV2FhcnNjaHV3aW5nZW4gZW4gbWVsZGluZ2VuCiAgY29udGVudDogPgogICAgV2FhcnNjaHV3aW5nZW4gZW4gbWVsZGluZ2VuIHppam4gZ2VhdXRvbWF0aXNlZXJkZSBlLW1haWxtZWxkaW5nZW4gdmVyem9uZGVuIG5hYXIgYWdlbnRlbiB3YW5uZWVyIGJlcGFhbGRlIGdlYmV1cnRlbmlzc2VuIG9wIGhldCB0aWNrZXQgd29yZGVuIGdlYWN0aXZlZXJkLgp0aWNrZXRfYWxlcnQ6CiAgdGl0bGU6IE5pZXV3IFRpY2tldCBNZWxkaW5nCiAgY29udGVudDogPgogICAgPHA+V2FhcnNjaHV3aW5nIHdvcmRlbiB2ZXJzdHV1cmQgbmFhciBhZ2VudGVuIHdhbm5lZXIgZWVuIG5pZXV3IHRpY2tldCB3b3JkdCBhYW5nZW1hYWt0LjwvcD48cCBjbGFzcz0iaW5mby1iYW5uZXIiPiA8aSBjbGFzcz0iaWNvbi1pbmZvLXNpZ24iPjwvaT4gZGV6ZSB3YWFyc2NodXdpbmcgd29yZHQgbmlldCAgdmVyem9uZGVuIGFscyBoZXQgdGlja2V0IGlzIGF1dG9tYXRpc2NoIHdvcmR0IHRvZWdld2V6ZW4gdmlhIGVlbiBUaWNrZXQgRmlsdGVyIG9mIEhlbHAtb25kZXJ3ZXJwLjwvcD4KICBsaW5rczoKICAgIC0gCiAgICAgIHRpdGxlOiBTdGFuZGFhcmQgbWVsZGluZyBiaWogZWVuIG5pZXV3ZSB0aWNrZXQKICAgICAgaHJlZjogL3NjcC90ZW1wbGF0ZXMucGhwP2RlZmF1bHRfZm9yPXRpY2tldC5hbGVydAptZXNzYWdlX2FsZXJ0OgogIHRpdGxlOiBNZWxkaW5nIHZhbiBuaWV1dyBiZXJpY2h0CiAgY29udGVudDogPgogICAgTWVsZGluZyBhYW4gbWVkZXdlcmtlcnMgaW5kaWVuIGVyIGVlbiBuaWV1dyBiZXJpY2h0IHZhbiBkZSBnZWJydWlrZXIgdG9lZ2V2b2VnZCBpcyBhYW4gZWVuIGJlc3RhYW5kIHRpY2tldC4KICBsaW5rczoKICAgIC0gCiAgICAgIHRpdGxlOiBTdGFuZGFhcmQgbWVsZGluZyBiaWogZWVuIG5pZXV3IGJlcmljaHQKICAgICAgaHJlZjogL3NjcC90ZW1wbGF0ZXMucGhwP2RlZmF1bHRfZm9yPW1lc3NhZ2UuYWxlcnQKaW50ZXJuYWxfbm90ZV9hbGVydDoKICB0aXRsZTogTmlldXdlIGludGVybmUgYWN0aXZpdGVpdCBtZWxkaW5nCiAgY29udGVudDogPgogICAgQmVyaWNodGdldmluZyBuYWFyIG1lZGV3ZXJrZXJzLCB3YW5uZWVyIGVyIGVlbiBpbnRlcm5lIGFjdGl2aXRlaXQgaGVlZnQgcGxhYXRzZ2V2b25kZW4sIHpvYWxzIGVlbiBpbnRlcm5lIG5vdGl0aWUgb2Ygd2FubmVlciBlZW4gbWVkZXdlcmtlciBlZW4gcmVhY3RpZSB0b2VnZXZvZWdkIGhlZWZ0IGFhbiBlZW4gdGlja2V0LgogIGxpbmtzOgogICAgLSAKICAgICAgdGl0bGU6IFN0YW5kYWFyZHNqYWJsb29uIFRpY2tldCBhY3Rpdml0ZWl0CiAgICAgIGhyZWY6IC9zY3AvdGVtcGxhdGVzLnBocD9kZWZhdWx0X2Zvcj1ub3RlLmFsZXJ0CmFzc2lnbm1lbnRfYWxlcnQ6CiAgdGl0bGU6IE1lbGRpbmcgdmFuIHRpY2tldCB0b2V3aWp6aW5nCiAgY29udGVudDogPgogICAgTWVsZGluZyBhYW4gbWVkZXdlcmtlcnMgYmlqIHRpY2tldCB0b2V3aWp6aW5nLgogIGxpbmtzOgogICAgLSAKICAgICAgdGl0bGU6IFN0YW5kYWFyZCBtZWxkaW5nIGJpaiB0b2V3aWp6aW5nIHZhbiBlZW4gdGlja2V0CiAgICAgIGhyZWY6IC9zY3AvdGVtcGxhdGVzLnBocD9kZWZhdWx0X2Zvcj1hc3NpZ25lZC5hbGVydAp0cmFuc2Zlcl9hbGVydDoKICB0aXRsZTogTWVsZGluZyBiaWogb3ZlcmRyYWNodAogIGNvbnRlbnQ6ID4KICAgIE1lbGRpbmcgYWFuIG1lZGV3ZXJrZXJzIGJpaiB0aWNrZXQgdmVycGxhYXRzaW5nIHR1c3NlbiBhZmRlbGluZ2VuLgogIGxpbmtzOgogICAgLSAKICAgICAgdGl0bGU6IFN0YW5kYWFyZCBtZWxkaW5nIGJpaiBvdmVyZHJhY2h0IHZhbiBlZW4gdGlja2V0CiAgICAgIGhyZWY6IC9zY3AvdGVtcGxhdGVzLnBocD9kZWZhdWx0X2Zvcj10cmFuc2Zlci5hbGVydApvdmVyZHVlX2FsZXJ0OgogIHRpdGxlOiBUZSBsYWF0IHRpY2tldCBtZWxkaW5nCiAgY29udGVudDogPgogICAgTWVsZGluZyBhYW4gbWVkZXdlcmtlcnMgaW5kaWVuIGVlbiB0aWNrZXQgdm9sZ2VucyBkZSBTTEEgb2YgZWluZGRhdHVtIHRlIGxhYXQgYmVoYW5kZWxkIHdvcmR0LgogIGxpbmtzOgogICAgLSAKICAgICAgdGl0bGU6IFN0YW5kYWFyZCBtZWxkaW5nIGJpaiBlZW4gdmVybG9wZW4gdGlja2V0CiAgICAgIGhyZWY6IC9zY3AvdGVtcGxhdGVzLnBocD9kZWZhdWx0X2Zvcj10aWNrZXQub3ZlcmR1ZQogICAgLSAKICAgICAgdGl0bGU6IFNsYSdzIGJlaGVyZW4KICAgICAgaHJlZjogL3NjcC9zbGFzLnBocApzeXN0ZW1fYWxlcnRzOgogIHRpdGxlOiBTeXN0ZWVtbWVsZGluZ2VuCiAgY29udGVudDogPgogICAgU2lnbmlmaWNhbnRlIHN5c3RlZW0gZ2ViZXVydGVuaXNzZW4gZGllIHdvcmRlbiB2ZXJzdHV1cmQgYWFuIGRlIGJlaGVlcmRlciAoJXtjb25maWcuYWRtaW5fZW1haWx9KS4gQWZoYW5rZWxpamsgdmFuIGhldCBpbmdlc3RlbGRlIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+TG9nIExldmVsPC9zcGFuPiwgd29yZGVuIGRlIGdlYmV1cnRlbmlzc2VuIG9wZ2Vub21lbiBpbiBkZSA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPlN5c3RlbSBMb2dzPC9zcGFuPgogIGxpbmtzOgogICAgLSAKICAgICAgdGl0bGU6IEJla2lqayBTeXN0ZWVtbG9nYm9la2VuCiAgICAgIGhyZWY6IC9zY3AvbG9ncy5waHAKICAgIC0gCiAgICAgIHRpdGxlOiBWZXJhbmRlciBBZG1pbidzIGVtYWlsCiAgICAgIGhyZWY6IC9zY3Avc2V0dGluZ3MucGhwP3Q9ZW1haWxzCiNUaGlzIGlzIHBvcHVwIGhlbHAgbWVzc2FnZXMgZm9yIHRoZSBBZG1pbiBQYW5lbCAtPiBTZXR0aW5ncyAtPiBBdXRvcmVzcG9uZGVyCiNGaWVsZHM6CiN0aXRsZSAtIFNob3duIGluIGJvbGQgYXQgdGhlIHRvcCBvZiB0aGUgcG9wb3ZlciB3aW5kb3cKI2NvbnRlbnQgLSBUaGUgYm9keSBvZiB0aGUgaGVscCBwb3BvdmVyCiNsaW5rcyAtIExpc3Qgb2YgbGlua3Mgc2hvd3MgYmVsb3cgdGhlIGNvbnRlbnQKI3RpdGxlIC0gTGluayB0aXRsZQojaHJlZiAtIGhyZWYgb2YgbGluayAobGlua3Mgc3RhcnRpbmcgd2l0aCAvIGFyZSB0cmFuc2xhdGVkIHRvIHRoZQojaGVscGRlc2sgaW5zdGFsbGF0aW9uIHBhdGgpCiNUaGUga2V5IG5hbWVzIHN1Y2ggYXMgJ2hlbHBkZXNrX25hbWUnIHNob3VsZCBub3QgYmUgdHJhbnNsYXRlZCBhcyB0aGV5CiNtdXN0IG1hdGNoIHRoZSBIVE1MICNpZHMgcHV0IGludG8gdGhlIHBhZ2UgdGVtcGxhdGUuCi0tLQpuZXdfdGlja2V0OgogIHRpdGxlOiBOaWV1dyB0aWNrZXQKICBjb250ZW50OiA+CiAgICBBY3RpdmVlciBkaXQgaW5kaWVuIHUgYmlqIGVlbiBuaWV1dyB0aWNrZXQgZWVuIGF1dG9tYXRpc2NoIGFudHdvb3JkIHdpbHQgdmVyemVuZGVuIG5hYXIgZGUgZ2VicnVpa2VyLgogIGxpbmtzOgogICAgLSAKICAgICAgdGl0bGU6IEF1dG9tYXRpc2NoIGFudHdvb3Jkc2phYmxvb24gYmlqIGVlbiBuaWV1dyB0aWNrZXQKICAgICAgaHJlZjogL3NjcC90ZW1wbGF0ZXMucGhwP2RlZmF1bHRfZm9yPXRpY2tldC5hdXRvcmVzcApuZXdfdGlja2V0X2J5X3N0YWZmOgogIHRpdGxlOiBOaWV1dyB0aWNrZXQgdmFuIFN0YWZmCiAgY29udGVudDogPgogICAgSGV0IGJlcmljaHQgZGF0IG5hbWVucyBkZSBnZWJydWlrZXIgZ2VzdHV1cmQgd29yZHQgYWxzIGVlbiB0aWNrZXQgd29yZHQgYWFuZ2VtYWFrdDxlbT4gRWVuIGFnZW50IGthbiBkaXQgb3ZlcnJ1bGVuIGJpaiBoZXQgbWFrZW4gdmFuIG5pZXV3ZSB0aWNrZXRzPC9lbT4KICBsaW5rczoKICAgIC0gCiAgICAgIHRpdGxlOiBOaWV1dyB0aWNrZXQgYmVyaWNodGxheW91dAogICAgICBocmVmOiAvc2NwL3RlbXBsYXRlcy5waHA/ZGVmYXVsdF9mb3I9dGlja2V0Lm5vdGljZQpuZXdfbWVzc2FnZV9mb3Jfc3VibWl0dGVyOgogIHRpdGxlOiBOaWV1dyBiZXJpY2h0IGJldmVzdGlnaW5nCiAgY29udGVudDogPgogICAgQmV2ZXN0aWdpbmdzbWVsZGluZyB2ZXJ6b25kZW4gd2FubmVlciBlZW4gbmlldXcgYmVyaWNodCBpcyB0b2VnZXZvZWdkIGFhbiBlZW4gYmVzdGFhbmQgdGlja2V0LgogIGxpbmtzOgogICAgLSAKICAgICAgdGl0bGU6IE5pZXV3IGJldmVzdGlnaW5nc2JlcmljaHQgc2phYmxvb24KICAgICAgaHJlZjogL3NjcC90ZW1wbGF0ZXMucGhwP2RlZmF1bHRfZm9yPW1lc3NhZ2UuYXV0b3Jlc3AKbmV3X21lc3NhZ2VfZm9yX3BhcnRpY2lwYW50czoKICB0aXRsZTogTmlldXcgYmVyaWNodCBtZWxkaW5nCiAgY29udGVudDogPgogICAgU3R1dXIgZWVuIG1lbGRpbmcgbmFtZW5zIGRlIGFhbm1lbGRlciBuYWFyIGFsbGUgbWVkZXdlcmtlcnMgdmFuIGhldCB0aWNrZXQuCiAgbGlua3M6CiAgICAtIAogICAgICB0aXRsZTogTmlldXdlIGFjdGl2aXRlaXQgbWVsZGluZyB0ZW1wbGF0ZQogICAgICBocmVmOiAvc2NwL3RlbXBsYXRlcy5waHA/ZGVmYXVsdF9mb3I9dGlja2V0LmFjdGl2aXR5Lm5vdGljZQpvdmVybGltaXRfbm90aWNlOgogIHRpdGxlOiBNZWxkaW5nIHdhbm5lZXIgZGUgbGltaWV0IGlzIGJlcmVpa3QKICBjb250ZW50OiA+CiAgICBUaWNrZXQgZ2V3ZWlnZXJkIG1lbGRpbmcgdmVyem9uZGVuIG5hYXIgZGUgZ2VicnVpa2VyIG1ldCBhbHMgcmVkZW46IDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+TWF4aW11bSBPcGVuIFRpY2tldHM8L3NwYW4+IC4KICBsaW5rczoKICAgIC0gCiAgICAgIHRpdGxlOiBMaWVtaWV0IGJlcmVpa3QgbWVsZGluZyB0ZW1wbGF0ZQogICAgICBocmVmOiAvc2NwL3RlbXBsYXRlcy5waHA/ZGVmYXVsdF9mb3I9dGlja2V0Lm92ZXJsaW1pdAogICAgLSAKICAgICAgdGl0bGU6IFN0ZWwgaGV0IDxlbT5tYXhpbWFhbCBhYW50YWwgb3BlbiB0aWNrZXRzPC9lbT4gaW4KICAgICAgaHJlZjogL3NjcC9zZXR0aW5ncy5waHA/dD10aWNrZXRzCiNUaGlzIGlzIHBvcHVwIGhlbHAgbWVzc2FnZXMgZm9yIHRoZSBBZG1pbiBQYW5lbCAtPiBTZXR0aW5ncyAtPiBFbWFpbHMKI0ZpZWxkczoKI3RpdGxlIC0gU2hvd24gaW4gYm9sZCBhdCB0aGUgdG9wIG9mIHRoZSBwb3BvdmVyIHdpbmRvdwojY29udGVudCAtIFRoZSBib2R5IG9mIHRoZSBoZWxwIHBvcG92ZXIKI2xpbmtzIC0gTGlzdCBvZiBsaW5rcyBzaG93cyBiZWxvdyB0aGUgY29udGVudAojdGl0bGUgLSBMaW5rIHRpdGxlCiNocmVmIC0gaHJlZiBvZiBsaW5rIChsaW5rcyBzdGFydGluZyB3aXRoIC8gYXJlIHRyYW5zbGF0ZWQgdG8gdGhlCiNoZWxwZGVzayBpbnN0YWxsYXRpb24gcGF0aCkKI1RoZSBrZXkgbmFtZXMgc3VjaCBhcyAnaGVscGRlc2tfbmFtZScgc2hvdWxkIG5vdCBiZSB0cmFuc2xhdGVkIGFzIHRoZXkKI211c3QgbWF0Y2ggdGhlIEhUTUwgI2lkcyBwdXQgaW50byB0aGUgcGFnZSB0ZW1wbGF0ZS4KLS0tCmRlZmF1bHRfZW1haWxfdGVtcGxhdGVzOgogIHRpdGxlOiBTdGFuZGFhcmQgZW1haWx0ZW1wbGF0ZSBzZXQKICBjb250ZW50OiA+CiAgICBTZWxlY3RlZXIgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5FbWFpbCBWb29yYmVlbGQgU2V0PC9zcGFuPiB0ZSBnZWJydWlrZW4gb20gdGUgdmVyemVuZGVuIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+QXV0b21hdGlzY2hlIGFudHdvcmRlbjwvc3Bhbj4gZW4gPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5XYWFyc2NodXdpbmdlbjwvc3Bhbj4gdm9vciB2ZXJzY2hpbGxlbmRlIGFjdGllcyBkaWUga3VubmVuIHZvb3Jrb21lbiB0aWpkZW4gZGUgZG9vcmxvb3AgdGlqZCB2YW4gZGUgdGlja2V0LiA8YnI+PGJyPiBBZmRlbGluZ2VuIGt1bm5lbiBlZW4gc3BlY2lhYWwgRW1haWwgVm9vcmJlZWxkIFNldCB3b3JkZW4gdG9lZ2V3ZXplbi4KICBsaW5rczoKICAgIC0gCiAgICAgIHRpdGxlOiBCZWhlZXIgZW1haWx0ZW1wbGF0ZSBzZXRzCiAgICAgIGhyZWY6IC9zY3AvdGVtcGxhdGVzLnBocApkZWZhdWx0X3N5c3RlbV9lbWFpbDoKICB0aXRsZTogU3RhbmRhYXJkIHVpdGdhYW5kZSBFLW1haWwKICBjb250ZW50OiA+CiAgICBLaWVzIGVlbiB1aXRnYWFuZGUgZW1haWwgYWRyZXMuIDxicj48YnI+IDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+QWZkZWxpbmc8L3NwYW4+IGthbiB6aWpuIGVpZ2VuIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+ZW1haWwgYWRyZXMgaW5zdGVsbGVuPC9zcGFuPndlbGtlIGRhbiBkZSBoaWVyIGdla296ZW4gemFsIG92ZXJzY2hyaWp2ZW4uCiAgbGlua3M6CiAgICAtIAogICAgICB0aXRsZTogV2lqemlnIGVtYWlsIGFkcmVzc2VuCiAgICAgIGhyZWY6IC9zY3AvZW1haWxzLnBocApkZWZhdWx0X2FsZXJ0X2VtYWlsOgogIHRpdGxlOiBTdGFuZGFhcmQgZS1tYWlsYWRyZXMgdm9vciBtZWxkaW5nZW4KICBjb250ZW50OiA+CiAgICBLaWVzIGVlbiBlbWFpbCBhZHJlcyB3YWFyIHZhbiA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPldhYXJzY2h1d2luZ2VuICZhbXA7IEJlcmljaHRlbjwvc3Bhbj4ga3VubmVuIHdvcmRlbiB2ZXJ6b25kZW4gbmFhciBtZWRld2Vya2Vycy4KICBsaW5rczoKICAgIC0gCiAgICAgIHRpdGxlOiBXaWp6aWcgZW1haWwgYWRyZXNzZW4KICAgICAgaHJlZjogL3NjcC9lbWFpbHMucGhwCmFkbWluc19lbWFpbF9hZGRyZXNzOgogIHRpdGxlOiBBZG1pbmlzdHJhdG9yIGUtbWFpbGFkcmVzCiAgY29udGVudDogPgogICAgR2VlZiBoaWVyIGVlbiBhZG1pbiBlbWFpbCBhZHJlcyBvcCB3YWFyIG5hYXIgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5TeXN0ZWVtIEZvdXRlbjwvc3Bhbj4gZW4gPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5OaWV1d2UgVGlja2V0cyB3YWFyc2NodXdpbmdlbjwvc3Bhbj4gKGluZGllbiB2b29yIGdla296ZW4pIHdvcmRlbiB2ZXJ6b25kZW4uCiAgbGlua3M6CiAgICAtIAogICAgICB0aXRsZTogQmVoZXJlbiB2YW4gd2FhcnNjaHV3aW5nZW4gJiBOb3RpdGllcwogICAgICBocmVmOiAvc2NwL3NldHRpbmdzLnBocD90PWFsZXJ0cwplbWFpbF9mZXRjaGluZzoKICB0aXRsZTogRS1tYWlsIG9waGFsZW4KICBjb250ZW50OiA+CiAgICBTdGVtIHRvZSBJTUFQL1BPUCBwb2xsaW5nIHZvb3IgaW5zdGVsbGlnbmVuIGVuIGFhbnpldHRlbiB2YW4gPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5lbWFpbCBib3g8L3NwYW4+LgogIGxpbmtzOgogICAgLSAKICAgICAgdGl0bGU6IE1haWxib3hlbiBiZWhlcmVuCiAgICAgIGhyZWY6IC9zY3AvZW1haWxzLnBocAplbmFibGVfYXV0b2Nyb25fZmV0Y2g6CiAgdGl0bGU6IEhhYWwgZW1haWxzIG9wIHZpYSBBdXRvLWNyb24KICBjb250ZW50OiA+CiAgICBNYWFrdCBoZXQgbW9nZWxpamsgb20gcGVyaWRvaWVrIGVtYWlsIG9wIHRlIGhhbGVuLCBnZWJydWlrbWFrZW5kIHZhbiBpbnRlcm4gdGFha2JlaGVlciwgYWFuZ2V3YWtrZXJkIGRvb3IgZGUgYWN0aXZpdGVpdCB2YW4gZGUgYWdlbnRlbi4gPGJyPjxicj5MZXQgZXIgd2VsIG9wIGRhdCBlciBnZWVuIGVtYWlsIHdvcmR0IG9wZ2VoYWFsZCBvcCBoZXQgbW9tZW50IGRhdCBuaWVtYW5kIGlzIGluZ2Vsb2NodCBpbiBoZXQgdGlja2V0c3lzdGVlbS4gRXh0ZXJuIHRhYWtiZWhlZXIgd29yZHQgd2VsIGFhbmdlcmFkZW4gYWxzIGplIG9wIGdlemV0dGUgdGlqZGVuIG1haWwgd2lsdCBiaW5uZW5oYWxlbi4KICBsaW5rczoKICAgIC0gCiAgICAgIHRpdGxlOiBHZWJydWlrIGVuIGV4dGVybmUgdGFrZW4gYWdlbmRhCiAgICAgIGhyZWY6IGh0dHBzOi8vZG9jcy5vc3RpY2tldC5jb20vZW4vbGF0ZXN0L0dldHRpbmclMjBTdGFydGVkL1BPUDMtSU1BUCUyMFNldHRpbmdzLmh0bWwKc3RyaXBfcXVvdGVkX3JlcGx5OgogIHRpdGxlOiBCZXBlcmsgcXVvdGUgYW50d29vcmQKICBjb250ZW50OiA+CiAgICBBbHMgZGV6ZSBvcHRpZSBhYW4gc3RhYXQsIHphbCBlciBnZWVuIG9yaWdpbmVsZSBiZXJpY2h0Z2V2aW5nIHdvcmRlbiBiaWpnZXNsb3RlbiBpbiBkZSBlbWFpbGNvbW11bmljYXRpZS48YnI+PGJyPkRlemUgb3B0aWUgaGVlZnQgb29rIHZlcmJhbmQgbWV0IG9uZGVyc3RhYW5kZSA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPmJlcmljaHQgc2NoZWlkaW5nc3Rla2VuPHNwYW4+IGluc3RlbGxpbmcuCnJlcGx5X3NlcGFyYXRvcl90YWc6CiAgdGl0bGU6IEFudHdvb3JkIGFmc2NoZWlkaW5nc3JlZ2VsCiAgY29udGVudDogPgogICAgRGl0IGlzIGhldCB0ZWtlbiB3YWFyYWFuIGRlIGdlYnJ1aWtlciBrYW4gemllbiB3YXQgbmlldXcgaXMgYWFuIGVlbiBiZXJpY2h0IGVuIHdhdCB2b29yIGRlIHZvbGxlZGlnaGVpZCBpcyBpbmdlc2xvdGVuLjxCcj48YnI+PHN0cm9uZz5Ob3RpdGllOjwvc3Ryb25nPkRpdCBpcyBhbGxlZW4gdmFuIHRvZXBhc3NpbmcgYWxzIGRlIGJvdmVuc3RhYW5kZSBvcHRpZSBvbSBvcmlnaW5lbGUgY29ycmVwc29uZGVudGllIGluIGRlIG5pZXV3ZSBiZXJpY2h0ZW4gb3AgdGUgbmVtZW4sIGlzIGluZ2VzY2hha2VsZC4KZW1haWxlZF90aWNrZXRzX3ByaW9yaXR5OgogIHRpdGxlOiBHZW1haWxlZCBUaWNrZXQgUHJpb3JpdGVpdAogIGNvbnRlbnQ6ID4KICAgIFZpbmsgYWFuIG9tIGRlIHByaW9yaXRlaXQgdmFuIGVlbiB0aWNrZXQgYWYgdGUgbGF0ZW4gaGFuZ2VuIHZhbiBkZSBwcmlvcml0ZWl0IHZhbiBkZSBpbmdlem9uZGVuIGVtYWlsLjxicj48YnI+RGV6ZSBpbnN0ZWxsaW5nIGthbiB3b3JkZW4gZ2VuZWdlZXJkIG1ldCBlZW4gPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj50aWNrZXQgZmlsdGVyPC9zcGFuPi4KICBsaW5rczoKICAgIC0gCiAgICAgIHRpdGxlOiBBYW5tYWtlbiAmYW1wOyBvbmRlcmhvdWQgdGlja2V0IGZpbHRlcnMKICAgICAgaHJlZjogL3NjcC9maWx0ZXJzLnBocAphY2NlcHRfYWxsX2VtYWlsczoKICB0aXRsZTogQWNjZXB0ZWVyIGFsbGUgZW1haWxzCiAgY29udGVudDogPgogICAgQWNjZXB0ZWVyIGVtYWlscyB2YW4gb25iZWtlbmRlIGdlYnJ1aWtlcnMuIDxicj48YnI+IEluZGllbiBuaWV0IHNlbGVjdGVlcmQgemFsIHRpY2tldCBuaWV0IHdvcmRlbiB2ZXJ3ZXJrdC4KYWNjZXB0X2VtYWlsX2NvbGxhYm9yYXRvcnM6CiAgdGl0bGU6IEFjY2VwdGVlciBlbWFpbHRlYW1zCiAgY29udGVudDogPgogICAgVm9lZyBhbGxlIG1lZGV3ZXJrZXJzIGRpZSB6aWpuIGJpamdldm9lZ2QgaW4gZGUgZW1haWwgdG9lIGFscyB0aWNrZXQgbWVkZXdlcmtlcnMuIDxiciAvPjxiciAvPjxlbT5NZWRld2Vya2VycyBrdW5uZW4gYWx0aWpkIGRvb3IgYWdlbnRlbiB3b3JkZW4gdG9lZ2V2b2VnZCBhYW4gaGV0IHRpY2tldCwgYmlqIGhldCBiZWtpamtlbiBlcnZhbi48L2VtPgoKZGVmYXVsdF9tdGE6CiAgdGl0bGU6IFN0YW5kYWFyZCBNYWlsc2VydmVyCiAgY29udGVudDogPgogICAgRGUgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5TdGFuZGFhcmQgTWFpbHNlcnY8L3NwYW4+IHpvcmd0IHZvb3IgYWZsZXZlcmluZyB2YW4gdWl0Z2FhbmRlIGVtYWlscyB6b25kZXIgU01UUCBpbnN0ZWxsaW5nLgp0aWNrZXRfcmVzcG9uc2VfZmlsZXM6CiAgdGl0bGU6IEJlc3RhbmRlbiB0aWNrZXQgYW50d29vcmQKICBjb250ZW50OiA+CiAgICBJbmRpZW4gaW5nZXNjaGFrZWxkIHdvcmR0IGVsa2UgYmlqbGFnZSBkaWUgZWVuIG1lZGV3ZXJrZXIgdG9ldm9lZ3QgYWFuIGVlbiB0aWNrZXQsIG9vayB0b2VnZXZvZWdkIGFhbiBkZSBlbWFpbCBuYWFyIGRlIGdlYnJ1aWtlci4KdmVyaWZ5X2VtYWlsX2FkZHJzOgogIHRpdGxlOiBDb250cm9sZWVyIGVtYWlsIGFkcmVzc2VuCiAgY29udGVudDogPgogICAgRW5hYmxlIHRoaXMgb3B0aW9uIHRvIGNoZWNrIGlmIHRoZSBlbWFpbCBhZGRyZXNzIGhhcyBhIG1haWwgZXhjaGFuZ2VyIChNWCkgaW4gdGhlIGRvbWFpbidzIEROUy4gVGhpcyBpcyB1c2VmdWwgdG8gZGV0ZWN0IGluY29ycmVjdGx5IHR5cGVkIGVtYWlsIGFkZHJlc3Nlcy4gVGhpcyBpcyBwZXJmb3JtZWQgaW4gYWRkaXRpb24gdG8gY2hlY2tpbmcgdGhlIGVtYWlsIGFkZHJlc3Mgd2VsbGZvcm1lZG5lc3MuCiNUaGlzIGlzIHBvcHVwIGhlbHAgbWVzc2FnZXMgZm9yIHRoZSBBZG1pbiBQYW5lbCAtPiBTZXR0aW5ncyAtPiBLbm93bGVkZ2ViYXNlCiNGaWVsZHM6CiN0aXRsZSAtIFNob3duIGluIGJvbGQgYXQgdGhlIHRvcCBvZiB0aGUgcG9wb3ZlciB3aW5kb3cKI2NvbnRlbnQgLSBUaGUgYm9keSBvZiB0aGUgaGVscCBwb3BvdmVyCiNsaW5rcyAtIExpc3Qgb2YgbGlua3Mgc2hvd3MgYmVsb3cgdGhlIGNvbnRlbnQKI3RpdGxlIC0gTGluayB0aXRsZQojaHJlZiAtIGhyZWYgb2YgbGluayAobGlua3Mgc3RhcnRpbmcgd2l0aCAvIGFyZSB0cmFuc2xhdGVkIHRvIHRoZQojaGVscGRlc2sgaW5zdGFsbGF0aW9uIHBhdGgpCiNUaGUga2V5IG5hbWVzIHN1Y2ggYXMgJ2hlbHBkZXNrX25hbWUnIHNob3VsZCBub3QgYmUgdHJhbnNsYXRlZCBhcyB0aGV5CiNtdXN0IG1hdGNoIHRoZSBIVE1MICNpZHMgcHV0IGludG8gdGhlIHBhZ2UgdGVtcGxhdGUuCi0tLQprbm93bGVkZ2VfYmFzZV9zZXR0aW5nczoKICB0aXRsZTogS2VubmlzYmFuayBpbnN0ZWxsaW5nZW4KICBjb250ZW50OiA+Cgprbm93bGVkZ2VfYmFzZV9zdGF0dXM6CiAgdGl0bGU6IFN0YXR1cyB2YW4gZGUgS2VubmlzYmFuawogIGNvbnRlbnQ6ID4KICAgIFNjaGFrZWwgZGl0IGluIG9tIHV3IGdlYnJ1aWtlcnMgdG9lZ2FuZyB0ZSBnZXZlbiBhYW4gZGUgS2VubmlzYmFuayBhcnRpa2VsZW4gZGllIHB1YmxpZWsgc3RhYW4uIDxicj48YnI+IEtlbm5pc2JhbmsgY2F0ZWdvcmllw6tuIGVuIEZBUXMga3VubmVuIGludGVybiBnZW1hYWt0IHdvcmRlbiAoYWxsZWVuIHppY2h0YmFhciB2b29yIGRlIFZlcmFudHdvb3JkZWxpamtlbikuIAogIGxpbmtzOgogICAgLSAKICAgICAgdGl0bGU6IEtlbm5pc2JhbmsgYmVoZXJlbgogICAgICBocmVmOiAvc2NwL2tiLnBocApyZXN0cmljdF9rYjoKICB0aXRsZTogQmVwZXJrIGRlIHRvZWdhbmcgdG90IGRlIGtlbm5pc2JhbmsuCiAgY29udGVudDogPgogICAgU2NoYWtlbCBkZXplIG9wdGllIGluIG9tIHRlIHZvb3Jrb21lbiBkYXQgb25nZXJlZ2lzdHJlZXJkZSBnZWJydWlrZXJzIHRvZWdhbmcga3JpamdlbiB0b3QgZGUga2VubmlzYmFuayBhcnRpa2VsZW4gb3AgZGUgY2xpZW50IGludGVyZmFjZS4KICBsaW5rczoKICAgIC0gCiAgICAgIHRpdGxlOiBUb2VnYW5nc2NvbnRyb2xlIGluc3RlbGxpbmdlbgogICAgICBocmVmOiAvc2NwL3NldHRpbmdzLnBocD90PXVzZXJzCmNhbm5lZF9yZXNwb25zZXM6CiAgdGl0bGU6IFN0YW5kYWFyZCBhbnR3b29yZGVuCiAgY29udGVudDogPgogICAgU2NoYWtlbCBkaXQgaW4gb20gZGUgVmVyYW50d29vcmRlbGlqa2VuIGRlIG1vZ2VsaWpraGVpZCB0ZSBnZXZlbiBvbSA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPlN0YW5kYWFyZCBhbnR3b29yZGVuPC9zcGFuPiB0ZSBnZWJydWlrZW4gd2FubmVlciB6ZSBhbnR3b29yZGVuIG9wIHRpY2tldHMuCiAgbGlua3M6CiAgICAtIAogICAgICB0aXRsZTogU3RhbmRhYXJkIGFudHdvb3JkZW4gYmVoZXJlbgogICAgICBocmVmOiAvc2NwL2Nhbm5lZC5waHAKI1RoaXMgaXMgcG9wdXAgaGVscCBtZXNzYWdlcyBmb3IgdGhlIEFjY291bnQgUGFuZWwgLT4KI0ZpZWxkczoKI3RpdGxlIC0gU2hvd24gaW4gYm9sZCBhdCB0aGUgdG9wIG9mIHRoZSBwb3BvdmVyIHdpbmRvdwojY29udGVudCAtIFRoZSBib2R5IG9mIHRoZSBoZWxwIHBvcG92ZXIKI2xpbmtzIC0gTGlzdCBvZiBsaW5rcyBzaG93cyBiZWxvdyB0aGUgY29udGVudAojdGl0bGUgLSBMaW5rIHRpdGxlCiNocmVmIC0gaHJlZiBvZiBsaW5rIChsaW5rcyBzdGFydGluZyB3aXRoIC8gYXJlIHRyYW5zbGF0ZWQgdG8gdGhlCiNoZWxwZGVzayBpbnN0YWxsYXRpb24gcGF0aCkKI1RoZSBrZXkgbmFtZXMgc3VjaCBhcyAnaGVscGRlc2tfbmFtZScgc2hvdWxkIG5vdCBiZSB0cmFuc2xhdGVkIGFzIHRoZXkKI211c3QgbWF0Y2ggdGhlIEhUTUwgI2lkcyBwdXQgaW50byB0aGUgcGFnZSB0ZW1wbGF0ZS4KLS0tCmNvbXBhbnlfaW5mb3JtYXRpb246CiAgdGl0bGU6IEJlZHJpamZzZ2VnZXZlbnMKICBjb250ZW50OiA+CiAgICBEaXQgdmVyd2lqc3QgbmFhciBoZXQgYmVkcmlqZiBvZiBvcmdhbmlzYXRpZSBkYXQgZG9vciBkZSBzb2Z0d2FyZSB2YW4gb3NUaWNrZXQgb25kZXJzdGV1bnQgd29yZHQuIERlemUgaW5mb3JtYXRpZSB6YWwgd2VlcmdlZ2V2ZW4gd29yZGVuIGluIGRlIGUtbWFpbCBoYW5kdGVrZW5pbmcgd2FubmVlciBWZXJhbnR3b29yZGVsaWprZW4gYW50d29vcmRlbiBvcCBUaWNrZXRzLgogIGxpbmtzOgogICAgLSAKICAgICAgdGl0bGU6IEJlZHJpamZzaW5mb3JtYXRpZSBmb3JtdWxpZXIKICAgICAgaHJlZjogL3NjcC9mb3Jtcy5waHA/dHlwZT1DCmxhbmRpbmdfcGFnZToKICB0aXRsZTogU3RhcnRwYWdpbmEKICBjb250ZW50OiA+CiAgICBEZSA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPlN0YXJ0cGFnaW5hPC9zcGFuPiBpcyBkZSB2b29ycGFnaW5hIHZhbiBqb3V3IG9uZGVyc3RldW5pbmdzd2Vic2l0ZS4Kb2ZmbGluZV9wYWdlOgogIHRpdGxlOiBPZmZsaW5lIHBhZ2luYQogIGNvbnRlbnQ6ID4KICAgIERlIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+T2ZmbGluZSBwYWdpbmE8L3NwYW4+IGlzIGRlIHBhZ2luYSBkaWUgZ2V0b29uZCB3b3JkIGFscyBkZSBoZWxwIGRlc2sgb2ZmbGluZSBpcywgemllIEFkbWluIFBhbmVsIC0mZ3Q7IEluc3RlbGxpbmcgLSZndDsgU3lzdGVlbSAtJmd0OyBIZWxwZGVzayBTdGF0dXMuCmRlZmF1bHRfdGhhbmtfeW91X3BhZ2U6CiAgdGl0bGU6IFN0YW5kYWFyZCBkYW5rcGFnaW5hCiAgY29udGVudDogPgogICAgRGUgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5kYW5rcGFnaW5hPC9zcGFuPiB3b3JkdCBnZXRvb25kIGFhbiBkZSBrbGFudCB3YW5uZWVyIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+R2VicnVpa2VyPC9zcGFuPiBlZW4gbmlldXcgdGlja2V0IHRvZXZvZWd0LiAgPGJyLz48YnIvPiA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPkRhbmtwYWdpbmEnczwvc3Bhbj4gIGt1bm5lbiBnZWFzc29jaWVlcmQgd29yZGVuIG1ldCBIZWxwLW9uZGVyd2VycGVuLgpsb2dvczoKICB0aXRsZTogTG9nbydzCiAgY29udGVudDogPgogICAgVSBrYW4gaGV0IDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+TG9nbzwvc3Bhbj4gYWFucGFzc2VuIGRhdCBnZXRvb25kIHphbCB3b3JkZW4gYWFuIGRlIEdlYnJ1aWtlciBpbiBkZSBDbGllbnQtUG9ydGFsIChkYXQgd2lsIHplZ2dlbiwgdXcgU3VwcG9ydCBTaXRlKS4KdXBsb2FkX2FfbmV3X2xvZ286CiAgdGl0bGU6IFVwbG9hZCBlZW4gbmlldXcgbG9nbwogIGNvbnRlbnQ6ID4KICAgIEtpZXMgZWVuIGFmYmVlbGRpbmcgaW4gLmdpZiwgLmpwZyBvZiAucG5nIGZvcm1hYXQuIFdlIHp1bGxlbiBkZXplIHByb3BvcnRpb25lZWwgc2NoYWxlbiBpbiBkZSB3ZWJwYWdpbmEuIFdlIHp1bGxlbiBkZXplIGVjaHRlciBuaWV0IGFhbnBhc3NlbiBpbiBiZXN0YW5kc2dyb290dGUuIERhYXJvbSBpcyBoZXQgYWFuZ2V3ZXplbiBkYXQgamUgZGV6ZWxmZGUgZ3Jvb3R0ZSB2YW4gYWZiZWVsZGluZyBnZWJydWlrdCBhbHMgZGUgc3RhbmRhYXJkIGFmYmVlbGRpbmcgKDgxN3B4ICZ0aW1lczsgMTcwcHgpLgpiYWNrZHJvcHM6CiAgdGl0bGU6IEFjaHRlcmdyb25kZW4KICBjb250ZW50OiA+CiAgICBKZSBrdW50IGRlIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+YWNodGVyZ3JvbmQ8L3NwYW4+IHZhbiBkZSB6Z24gJ3N0YWZmLWxvZ2luJy1wYWdpbmEgYWFucGFzc2VuLgp1cGxvYWRfYV9uZXdfYmFja2Ryb3A6CiAgdGl0bGU6IFVwbG9hZCBlZW4gbmlldXdlIGFjaHRlcmdyb25kCiAgY29udGVudDogPgogICAgS2llcyBlZW4gYWZiZWVsZGluZyBpbiAuZ2lmLCAuanBnIG9mIC5wbmcgZm9ybWFhdC4gV2UgenVsbGVuIGRlIGFmYmVlbGRpbmcgcHJvcG9ydGlvbmVlbCB2YW4gZ3Jvb3R0ZSB3aWp6aWdlbi4gV2UgenVsbGVuIGVjaHRlciBuaWV0IGRlIGFmYmVlbGRpbmdzZ2VnZXZlbnMgYWFucGFzc2VuLiBEYWFyb20gaXMgaGV0IGFhbmJldm9sZW4gb20gamUgYWZiZWVsZGluZyByZWxhdGllZiBrbGVpbiB0ZSBob3VkZW4gKG9uZGVyIDEgbWIpLiBFeHRyYSBvcG1lcmtpbmc6IE9vayBkZSBtYXguIHVwbG9hZGdyb290dGUgaW4gamUgUEhQLklOSSB0ZWx0IGhpZXJtZWUuCiNUaGlzIGlzIHBvcHVwIGhlbHAgbWVzc2FnZXMgZm9yIHRoZSBBZG1pbiBQYW5lbCAtPiBTZXR0aW5ncyAtPiBTeXN0ZW0KI0ZpZWxkczoKI3RpdGxlIC0gU2hvd24gaW4gYm9sZCBhdCB0aGUgdG9wIG9mIHRoZSBwb3BvdmVyIHdpbmRvdwojY29udGVudCAtIFRoZSBib2R5IG9mIHRoZSBoZWxwIHBvcG92ZXIKI2xpbmtzIC0gTGlzdCBvZiBsaW5rcyBzaG93cyBiZWxvdyB0aGUgY29udGVudAojdGl0bGUgLSBMaW5rIHRpdGxlCiNocmVmIC0gaHJlZiBvZiBsaW5rIChsaW5rcyBzdGFydGluZyB3aXRoIC8gYXJlIHRyYW5zbGF0ZWQgdG8gdGhlCiNoZWxwZGVzayBpbnN0YWxsYXRpb24gcGF0aCkKI1RoZSBrZXkgbmFtZXMgc3VjaCBhcyAnaGVscGRlc2tfbmFtZScgc2hvdWxkIG5vdCBiZSB0cmFuc2xhdGVkIGFzIHRoZXkKI211c3QgbWF0Y2ggdGhlIEhUTUwgI2lkcyBwdXQgaW50byB0aGUgcGFnZSB0ZW1wbGF0ZS4KLS0tCmhlbHBkZXNrX3N0YXR1czoKICB0aXRsZTogSGVscGRlc2sgU3RhdHVzCiAgY29udGVudDogPgogICAgQWxzIGRlIHN0YXR1cyB3b3JkdCBnZXdpanppZ2QgbmFhciA8c3BhbiBjbGFzcz0iZG9jLWRlc2Mtb3B0Ij5PZmZsaW5lPC9zcGFuPiwgd29yZHQgZGUga2xhbnRpbnRlcmZhY2UgdWl0Z2VzY2hha2VsZC4gIEFsbGVlbiBiZWhlZXJkZXJzIGt1bm5lbiBpbmxvZ2dlbiBpbiBoZXQgc3lzdGVlbS4KaGVscGRlc2tfdXJsOgogIHRpdGxlOiBIZWxwZGVzayBVUkwKICBjb250ZW50OiA+CiAgICBEZXplIFVSTCB2ZXJ3aWpzdCBuYWFyIHV3IG9zVGlja2V0IHdlYnNpdGUuIERlIGxpbmsgd29yZHQgZ2VicnVpa3QgaW4gZS1tYWlscyBvbSBnZWJydWlrZXJzIHRlcnVnIG5hYXIgZGUgaGVscGRlc2sgdGUgbGVpZGVuLgpoZWxwZGVza19uYW1lX3RpdGxlOgogIHRpdGxlOiBIZWxwZGVzayBuYWFtL3RpdGVsCiAgY29udGVudDogPgogICAgRGl0IGlzIGRlIHRpdGVsIGRpZSB2ZXJzY2hpam50IGluIGRlIGJyb3dzZXJ0YWIuIEFscyBqZSBoZWxwZGVza3BhZ2luYSBhbHMgZmF2b3JpZXQgaXMgb3BnZXNsYWdlbiBpcyBkaXQgZGUgdGl0ZWwvbmFhbSB2YW4gZGUgd2Vic2l0ZS4KZGVmYXVsdF9kZXBhcnRtZW50OgogIHRpdGxlOiBTdGFuZGFhcmQgYWZkZWxpbmcKICBjb250ZW50OiA+CiAgICBLaWVzIGRlIHN0YW5kYWFyZCA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPmFmZGVsaW5nPC9zcGFuPiB2b29yIHRpY2tldHMgZGllIG5pZXQgYXV0b21hdGlzY2ggd29yZGVuIGRvb3JnZXN0dXVyZCBuYWFyIGVlbiBhZmRlbGluZy4gPGJyLz48YnIvPiBUaWNrZXRzIGt1bm5lbiB3b3JkZW4gZG9vcmdlc3R1dXJkIG9wIGJhc2lzIHZhbiBvbmRlcndlcnAsIGJpbm5lbmtvbWVuZGUgZW1haWwgZW4gdGlja2V0IGZpbHRlciBpbnN0ZWxsaW5nZW4uCmRlZmF1bHRfc2NoZWR1bGU6CiAgdGl0bGU6IFN0YW5kYWFyZHNjaGVtYQogIGNvbnRlbnQ6ID4KICAgIEtpZXMgaGV0IHN0YW5kYWFyZHNjaGVtYSBkYXQgZG9vciBTTEEgbW9ldCB3b3JkZW4gZ2VicnVpa3Qgd2FubmVlciB0aWNrZXRzIEFjaHRlcnN0YWxsaWcgd29yZGVuIHZlcmtsYWFyZC4KICBsaW5rczoKICAgIC0gCiAgICAgIHRpdGxlOiBTY2hlbWEncyBiZWhlcmVuCiAgICAgIGhyZWY6IC9zY3Avc2NoZWR1bGVzLnBocApmb3JjZV9odHRwczoKICB0aXRsZTogSFRUUFMgYWZkd2luZ2VuCiAgY29udGVudDogPgogICAgTWV0IGRlemUgaW5zdGVsbGluZyBrdW5uZW4gYmVoZWVyZGVycyBjb25maWd1cmVyZW4gb2YgemUgSFRUUFMgdm9vciBoZXQgaGVsZSBzeXN0ZWVtIHdpbGxlbiBmb3JjZXJlbi4gSW5kaWVuIGluZ2VzY2hha2VsZCwgd29yZHQgZWxrIHZlcnpvZWsgZGF0IGhldCBIVFRQLXByb3RvY29sIGdlYnJ1aWt0LCBvbWdlbGVpZCBuYWFyIGhldCBIVFRQUy1wcm90b2NvbC4gTGV0IG9wLCBkaXQgd2Vya3QgYWxsZWVuIGFscyBqZSBlZW4gU1NMLWNlcnRpZmljYWF0IGhlYnQgZ2XDr25zdGFsbGVlcmQgZW4gSFRUUFMgb3AgZGUgc2VydmVyIGhlYnQgZ2Vjb25maWd1cmVlcmQuIDxici8+PGJyLz4gPGI+T3BtZXJraW5nOjwvYj48cmIvPiBEaXQga2FuIHZhbiBpbnZsb2VkIHppam4gb3AgcmVtb3RlIHBpcGluZy1zY3JpcHRzLiBWZXJ3aWpzIG5hYXIgbmlldXdlIHNjcmlwdHMgZGllIHppam4gb3BnZW5vbWVuIGluIDxjb2RlPnNldHVwL3NjcmlwdHMvPC9jb2RlPiB2b29yIHVwZGF0ZXMuCmRlZmF1bHRfcGFnZV9zaXplOgogIHRpdGxlOiBTdGFuZGFhcmQgcGFnaW5hZ3Jvb3R0ZQogIGNvbnRlbnQ6ID4KICAgIEtpZXMgaGV0IGFhbnRhbCBnZXRvb25kZSBpdGVtcyBwZXIgcGFnaW5hIGluIGRlIHRpY2tldCB3YWNodHJpaiBpbiBoZXQgUGVyc29uZWVsIERhc2hib2FyZC4gRWxrZSBtZWRld2Vya2VyIGthbiBkaXQgYWFudGFsIGFhbnBhc3NlbiB2b29yIHppam4gZWlnZW4gYWNjb3VudCBvbmRlciAgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5NaWpuIFZvb3JrZXVyZW48L3NwYW4+LgpkZWZhdWx0X2xvZ19sZXZlbDoKICB0aXRsZTogU3RhbmRhYXJkIExvZ25pdmVhdQogIGNvbnRlbnQ6ID4KICAgIEJlcGFhbCBoZXQgbWluaW11bSBuaXZlYXUgdmFuIHByb2JsZW1lbiBkaWUgd29yZGVuIG9wZ2VzbGFnZW4gaW4gZGUgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5zeXN0ZWVtIGxvZ2JvZWtlbjwvc3Bhbj4uIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy1vcHQiPkRlYnVnPC9zcGFuPiB2ZXJ0ZWdlbndvb3JkaWd0IGRlIGxhYWdzdGUgendhYXJ0ZSBlbiA8c3BhbiBjbGFzcz0iZG9jLWRlc2Mtb3B0Ij5FcnJvcjwvc3Bhbj4gdmVydGVnZW53b29yZGlndCBkZSBncm9vdHN0ZSB6d2FhcnRlLiBBbHMgamUgYmlqdm9vcmJlZWxkIGFsbGUgcHJvYmxlbWVuIHdpbHQgemllbiBpbiA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPlN5c3RlZW0gTG9nYm9la2VuPC9zcGFuPiwga2llcyBkYW4gPHNwYW4gY2xhc3M9ImRvYy1kZXNjLW9wdCI+RGVidWc8L3NwYW4+LgpwdXJnZV9sb2dzOgogIHRpdGxlOiBWZXJ3aWpkZXIgbG9nYm9la2VuCiAgY29udGVudDogPgogICAgQmVwYWFsIGhvZSBsYW5nIGplIGRlIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+U3lzdGVlbSBsb2dib2VrZW48L3NwYW4+IHdpbHQgaG91ZGVuIHZvb3JkYXQgemUgd29yZGVuIHZlcndpamRlcmQuCmVuYWJsZV9yaWNodGV4dDoKICB0aXRsZTogU2NoYWtlbCB0ZWtzdG9wbWFhayAoUlRGKSBpbgogIGNvbnRlbnQ6ID4KICAgIEFscyBkZXplIG9wdGllIGlzIGluZ2VzY2hha2VsZCwgaXMgaGV0IG1vZ2VsaWprIG9tIGRlIGNvbW11bmljYXRpZSB0dXNzZW4gY2xpw6tudGVuIGVuIG1lZGV3ZXJrZXJzIGluIFJpY2hUZXh0Rm9ybWFhdCB0ZSBsYXRlbiB2ZXJsb3Blbi4KZW5hYmxlX2F2YXRhcnM6CiAgdGl0bGU6IExhYXQgcHJvZmllbGFmYmVlbGRpbmcgemllbiBpbiBkZSBjaHJvbm9sb2dpc2NoZSAobGlqc3Qpd2VlcmdhdmUKICBjb250ZW50OiA+CiAgICBTY2hha2VsIGRpdCBpbiBvbSA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPlByb2ZpZWwtYWZiZWVsZGluZ2VuPC9zcGFuPiBpbiBjaHJvbm9sb2dpc2NoZSBjb3JyZXNwb25kZW50aWUgd2VlciB0ZSBnZXZlbi48YnI+PGJyPkRlIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+UHJvZmllbC1hZmJlZWxkaW5nZW4gYnJvbjwvc3Bhbj4ga2FuIGluZ2VzdGVsZCB3b3JkZW4gb3AgQWdlbnRzJyBlbiBHZWJydWlrZXJzJyBpbnN0ZWxsaW5nZW4gcGFnaW5hJ3MuCiAgbGlua3M6CiAgICAtIAogICAgICB0aXRsZTogTWVkZXdlcmtlciBpbnN0ZWxsaW5nZW4KICAgICAgaHJlZjogL3NjcC9zZXR0aW5ncy5waHA/dD1hZ2VudHMKICAgIC0gCiAgICAgIHRpdGxlOiBHZWJydWlrZXJzIGluc3RlbGxpbmdlbgogICAgICBocmVmOiAvc2NwL3NldHRpbmdzLnBocD90PXVzZXJzCmNvbGxpc2lvbl9hdm9pZGFuY2U6CiAgdGl0bGU6IFZvb3Jrb20gZGF0IG1lZGV3ZXJrZXJzIGluIGh1biB3ZWcgbG9wZW4KICBjb250ZW50OiA+CiAgICBWb2VyIGRlIG1heGltYWxlIHRpamQgaW4gZGF0IGVlbiBhZ2VudCBlZW4gdGlja2V0IG9wICdwYXV6ZScga2FuIGhvdWRlbiBvZiBuaWV0cyBpbiBoZXQgdGlja2V0IGthbiBkb2VuLiA8YnI+PGJyPiBWb2VyIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy1vcHQiPjA8L3NwYW4+IGluIG9tIGRlemUgbW9nZWxpamtoZWlkIHVpdCB0ZSBzY2hha2VsZW4uCmFsbG93X2lmcmFtZXM6CiAgdGl0bGU6IFN5c3RlbSBpRnJhbWUgdG9lc3RhYW4KICBjb250ZW50OiA+CiAgICBWb2VyIGVlbiBkb29yIGtvbW1hJ3MgZ2VzY2hlaWRlbiBsaWpzdCB2YW4gVVJMJ3MvZG9tZWluZW4gaW4gdm9vciBoZXQgc3lzdGVlbSB3YWFyaW4gaW5nZWthZGVyZCBtb2V0IHdvcmRlbi4gSW5kaWVuIGxlZWcgZ2VsYXRlbiwgemFsIGhldCBzeXN0ZWVtIHN0YW5kYWFyZCAnemVsZicgemlqbi4gRGl0IGFjY2VwdGVlcnQgZG9tZWluam9rZXJ0ZWtlbnMsIEhUVFAvSFRUUFMtVVJMLXNjaGVtYSdzIGVuIHBvb3J0bnVtbWVycy4gPGJyPjxicj4gPGI+Vm9vcmJlZWxkOjwvYj4gPGJyPiBodHRwczovL2RvbWFpbi50bGQsIHN1Yi5kb21haW4udGxkOjQ0MywgaHR0cDovLyouZG9tYWluLnRsZAogIGxpbmtzOgogICAgLSAKICAgICAgdGl0bGU6IFN5bnRheCBJbmZvcm1hdGlvbiAoaG9zdC1zb3VyY2UpCiAgICAgIGhyZWY6ICJodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9IVFRQL0hlYWRlcnMvQ29udGVudC1TZWN1cml0eS1Qb2xpY3kvZnJhbWUtYW5jZXN0b3JzI1NvdXJjZXMiCmFjbDoKICB0aXRsZTogVG9lZ2FuZ3Njb250cm9sZWxpanN0CiAgY29udGVudDogPgogICAgRW50ZXIgYSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBJUCBhZGRyZXNzZXMgdG8gYWxsb3cgYWNjZXNzIHRvIHRoZSBzeXN0ZW0uIFRoZXJlIGFyZSBmb3VyIG9wdGlvbnMgdG8gY2hvb3NlIHdoaWNoIHBhbmVsKHMpIHRvIGFwcGx5IHRoZSBBQ0wgdG8uIDx0YWJsZSBib3JkZXI9IjEiIGNlbGxwYWRkaW5nPSIycHgiIGNlbGxzcGFjaW5nPSIwIiBzdHlsZT0ibWFyZ2luLXRvcDo3cHgiID48dGJvZHkgc3R5bGU9InZlcnRpY2FsLWFsaWduOnRvcDsiPiA8dHI+PHRoPkFwcGx5IFRvPC90aD4gPHRoPkRlc2NyaXB0aW9uPC90aD48L3RyPiA8dHI+PHRkPkRpc2FibGVkPC90ZD4gPHRkPkRpc2FibGVzIEFDTCBhbHRvZ2V0aGVyLjwvdGQ+PC90cj4gPHRyPjx0ZD5BbGw8L3RkPiA8dGQ+QXBwbGllcyBBQ0wgdG8gYWxsIFBhbmVscy4gKGllLiBDbGllbnQgUG9ydGFsLCBTdGFmZiBQYW5lbCwgQWRtaW4gUGFuZWwpPC90ZD48L3RyPiA8dHI+PHRkPkNsaWVudCBQb3J0YWw8L3RkPiA8dGQ+QXBwbGllcyBBQ0wgdG8gb25seSBDbGllbnQgUG9ydGFsLjwvdGQ+PC90cj4gPHRyPjx0ZD5TdGFmZiBQYW5lbDwvdGQ+IDx0ZD5BcHBsaWVzIEFDTCB0byBvbmx5IFN0YWZmIFBhbmVsIGFuZCBBZG1pbiBQYW5lbC48L3RkPjwvdHI+IDwvdGJvZHk+PC90YWJsZT4KZW1iZWRkZWRfZG9tYWluX3doaXRlbGlzdDoKICB0aXRsZTogRW1iZWRkZWQgRG9tYWluIFdoaXRlbGlzdAogIGNvbnRlbnQ6ID4KICAgIFZvZXIgZWVuIGRvb3Iga29tbWEncyBnZXNjaGVpZGVuIGxpanN0IGluIHZhbiBkb21laW5lbiBkaWUgb3AgZGUgd2l0dGUgbGlqc3QgbW9ldGVuIHdvcmRlbiBnZXpldCB2b29yIGlGcmFtZXMgZGllIGluIGhldCBzeXN0ZWVtIHdvcmRlbiBnZWJydWlrdC4gVm9lciBnZWVuIDxjb2RlPmh0dHAocyk8L2NvZGU+IG9mIDxjb2RlPnd3dzwvY29kZT4gaW4gYmlqIGhldCBkb21laW47IGFsbGVlbiBkZSBkb21laW5uYWFtIHdvcmR0IGdlYWNjZXB0ZWVyZC4gRGl0IHdvcmR0IGdlYnJ1aWt0IHdhbm5lZXIgdSBpbmhvdWQgaW4gaGV0IHN5c3RlZW0gd2lsdCBpbnNsdWl0ZW4gKGJpanYuIFlvdVR1YmUtdmlkZW8pIHZpYSBDbGllbnQgUG9ydGFsLCBLbm93bGVkZ2ViYXNlLCBlbnouIEFscyB1IGVlbiBpRnJhbWUgdG9ldm9lZ3QgbWV0IGVlbiBkb21laW4gZGF0IG5pZXQgb3AgZGUgd2l0dGUgbGlqc3Qgc3RhYXQsIHphbCBoZXQgc3lzdGVlbSBkZSBpRnJhbWUgYXV0b21hdGlzY2ggdmVyd2lqZGVyZW4uIFN0YW5kYWFyZCBzdGFhdCBoZXQgc3lzdGVlbSBZb3VUdWJlLCBWaW1lbywgRGFpbHlNb3Rpb24gZW4gTWljcm9zb2Z0IFN0cmVhbSB0b2UuIDxicj48YnI+IDxiPlZvb3JiZWVsZDo8L2I+IDxicj4gZG9tZWluLnRsZCwgc3ViLmRvbWVpbi50bGQKI0RhdGUgYW5kIHRpbWUgb3B0aW9ucwpkYXRlX3RpbWVfb3B0aW9uczoKICB0aXRsZTogRGF0dW0gJmFtcDsgVGlqZCBPcHRpZXMKICBjb250ZW50OiA+CiAgICBEZSB2b2xnZW5kZSBpbnN0ZWxsaW5nZW4gZGVmaW5pw6tyZW4gZGUgc3RhbmRhYXJkIGluc3RlbGxpbmdlbiB2b29yIERhdHVtIGVuIFRpamQgdm9vciBkZSBoZWxwZGVzay4gSmUga3VudCBkZSBsb2thbGUgc3RhbmRhYXJkZW4gZ2VicnVpa2VuIHZvb3IgZGUgaHVpZGlnZSByZWdpbyBvZiBqZSBrdW50IHV3IGVpZ2VuIG9wbWFha2luc3RlbGxpbmdlbiBpbnZvZXJlbi4gWm9layBkZSBqdWlzdGUgemduICJJQ1UgZm9ybWFhdCIgb3BtYWFrIG9tIGplIGluc3RlbGxpbmcgZ29lZCBpbiB0ZSB2b2VyZW4uIERlIGRhdHVtcyBoaWVyb25kZXIgZ2V2ZW4gaGV0IHJlc3VsdGFhdCB2YW4gdXcgaW5zdGVsbGluZ2VuIHdlZXIuCiAgbGlua3M6CiAgICAtIAogICAgICB0aXRsZTogQmVraWprIGRlIElDVSBkYXR1bS1mb3JtYWF0IHRhYmVsCiAgICAgIGhyZWY6IGh0dHA6Ly91c2VyZ3VpZGUuaWN1LXByb2plY3Qub3JnL2Zvcm1hdHBhcnNlL2RhdGV0aW1lCmxhbmd1YWdlczoKICB0aXRsZTogU3lzdGVlbSB0YWxlbgogIGNvbnRlbnQ6ID4KICAgIEtpZXMgZWVuIHByaW1haXJlIHN5c3RlZW10YWFsIGVuLCBvcHRpb25lZWwsIGRlIHNlY3VuZGFpcmUgdGFhbGluc3RlbGxpbmdlbiBvbSB6byBkZSBhZ2VudGVuIGVuIGVpbmRnZWJydWlrZXJzIGhldCBnZXZvZWwgdmFuIGVlbiBuZWRlcmxhbmRzY2ggcHJvZHVjdCB0ZSBnZXZlbi4KcHJpbWFyeV9sYW5ndWFnZToKICB0aXRsZTogU3RlbCBkZSBwcmltYWlyZSB0YWFsIGluCiAgY29udGVudDogPgogICAgRGV6ZSB0YWFsIHdvcmR0IHdlZXJnZWdldmVuIGFscyBlZW4gYWdlbnQgb2YgZWluZGdlYnJ1aWtlciBlZW4gb25nZWxkaWdlIHRhYWwgaGVlZnQgaW5nZXZvZXJkLiBEaXQgZ2VsZHQgb29rIHZvb3IgZGUgaW50ZXJmYWNlIGVuIG9vayB2b29yIGRlIHpnbiAndGhhbmt5b3UtcGFnZXMnIGVuIGVtYWlsYmVyaWNodGVuLjxicj48YnI+IERpdCBpcyBkZSB0YWFsIHdhYXJpbiBvbnZlcnRhYWxkZSBzdHVra2VuIHZhbiBqZSBpbmhvdWQgZ2VzY2hyZXZlbiB6b3VkZW4gbW9ldGVuIHdvcmRlbi4Kc2Vjb25kYXJ5X2xhbmd1YWdlOgogIHRpdGxlOiBBbHRlcm5hdGlldmUgdGFhbGluc3RlbGxpbmcKICBjb250ZW50OiA+CiAgICBTbGVjdGVlciBkZSB0YWFsIHZvb3JrZXV6ZW9wdGllIHZvb3IgamUgYWdlbnRlbiBlbiBlaW5kZ2VicnVpa2Vycy4gSGV0IHN5c3RlZW0gemFsIGJlc2NoaWtiYWFyIHppam4gaW4gZGV6ZSB0YWxlbiwgb29rIHZyaWplIGluaG91ZCBlbiBlbWFpbGJlcmljaHRlbiB6dWxsZW4gbmFhciBkZXplIHRhYWwgd29yZGVuIHZlcnRhYWxkLgojQXR0YWNobWVudHMKYXR0YWNobWVudHM6CiAgdGl0bGU6IEJpamxhZ2UgSW5zdGVsbGluZ2VuIGVuIE9wc2xhZwogIGNvbnRlbnQ6ID4KICAgIFN0ZWwgaW4gaG9lIGJpamxhZ2VzIHdvcmRlbiBvcGdlc2xhZ2VuLgpkZWZhdWx0X3N0b3JhZ2VfYms6CiAgdGl0bGU6IEJlc3RhbmRzb3BzbGFnIGluc3RlbGxpbmdlbgogIGNvbnRlbnQ6ID4KICAgIEtpZXMgaG9lIGJpamxhZ2VuIG1vZXRlbiB3b3JkZW4gb3BnZXNsYWdlbi48YnI+PGJyPlUga3VudCBtZWVyIG9wc2xhZ2xvY2F0aWVzIHRvZXZvZWdlbiBkb29yIGhldCBpbnN0YWxsZXJlbiB2YW4gcGx1Z2lucwptYXhfZmlsZV9zaXplOgogIHRpdGxlOiBNYXhpbWFsZSBiZXN0YW5kc2dyb290dGUKICBjb250ZW50OiA+CiAgICBLSWVzIGRlIG1heGltYWxlIGJlc3RhbmRzZ3Jvb3R0ZSB2b29yIGJpamxhZ2VzIHZhbiBBZ2VudGVuLiBEaXQgYmV2YXQgYmlqbGFnZXMsIGtlbm5pc2RhdGFiYXNlLWFydGlrZWxlbiBlbiBiaWpsYWdlcyBiaWogdGlja2V0cyBlbiB0YWtlbi4gRGUgYm92ZW5ncmVucyB3b3JkdCBiZXBhYWxkIGRvb3IgZGUgUEhQIGluc3RlbGxpbmcgPGNvZGU+dXBsb2FkX21heF9maWxlc2l6ZTwvY29kZT4gaW5zdGVsbGluZy4KICBsaW5rczoKICAgIC0gCiAgICAgIHRpdGxlOiBQSFAgaW5pIGluc3RlbGxpbmdlbgogICAgICBocmVmOiAiaHR0cDovL3BocC5uZXQvbWFudWFsL2VuL2luaS5jb3JlLnBocCNpbmkudXBsb2FkLW1heC1maWxlc2l6ZSIKZmlsZXNfcmVxX2F1dGg6CiAgdGl0bGU6IElubG9nZ2VuIHZlcmVpc3QKICBjb250ZW50OiA+CiAgICBTY2hha2VsIGRlemUgaW5zdGVsbGluZyBpbiBvbSB0ZSB2b29ya29tZW4gZGF0IGJpamxhZ2VuIGdldG9vbmQgd29yZGVuIGFhbiBuaWV0IGluZ2Vsb2dkZSBnZWJydWlrZXJzLiBEYXQgYmV0ZWtlbnQgZGF0IGdlYnJ1aWtlcnMgaW4gbW9ldGVuIGxvZ2dlbiAoem93ZWwgZGUgZ2VicnVpa2VycyBhbHMgZGUgbWVkZXdlcmtlcnMpIG9tIGJpamxhZ2VuIHRlIGJla2lqa2VuLjxicj48YnI+IEhvdWQgZXIgcmVrZW5pbmcsIHZhbiB1aXQgYmV2ZWlsaWdpbmdzcGVyc3BlY3RpZWYsIHJla2VuaW5nIG1lZSBkYXQgZWVyZGVyIGJla2VrZW4gYmVzdGFuZGVuIGluIGRlIGNhY2hlIHZhbiBkZSBicm93c2VyIGFjaHRlciBrdW5uZW4gYmxpanZlbi4gRGUgbGlua3MgbmFhciBiZXN0YW5kZW4gaW4gamUgaGVscGRlc2sgdmVybG9wZW4gbmEgb25nZXZlZXIgMjQgdXVyLgojVGhpcyBpcyBwb3B1cCBoZWxwIG1lc3NhZ2VzIGZvciB0aGUgQWRtaW4gUGFuZWwgLT4gU2V0dGluZ3MgLT4gVGFza3MKI0ZpZWxkczoKI3RpdGxlIC0gU2hvd24gaW4gYm9sZCBhdCB0aGUgdG9wIG9mIHRoZSBwb3BvdmVyIHdpbmRvdwojY29udGVudCAtIFRoZSBib2R5IG9mIHRoZSBoZWxwIHBvcG92ZXIKI2xpbmtzIC0gTGlzdCBvZiBsaW5rcyBzaG93cyBiZWxvdyB0aGUgY29udGVudAojdGl0bGUgLSBMaW5rIHRpdGxlCiNocmVmIC0gaHJlZiBvZiBsaW5rIChsaW5rcyBzdGFydGluZyB3aXRoIC8gYXJlIHRyYW5zbGF0ZWQgdG8gdGhlCiNoZWxwZGVzayBpbnN0YWxsYXRpb24gcGF0aCkKI1RoZSBrZXkgbmFtZXMgc3VjaCBhcyAnaGVscGRlc2tfbmFtZScgc2hvdWxkIG5vdCBiZSB0cmFuc2xhdGVkIGFzIHRoZXkKI211c3QgbWF0Y2ggdGhlIEhUTUwgI2lkcyBwdXQgaW50byB0aGUgcGFnZSB0ZW1wbGF0ZS4KLS0tCm51bWJlcl9mb3JtYXQ6CiAgdGl0bGU6IFRhYWtudW1tZXIgb3BtYWFrCiAgY29udGVudDogPgogICAgRGV6ZSBpbnN0ZWxsaW5nIHdvcmR0IGdlYnJ1aWt0IG9tIHpnbiAndGFha251bW1lcnMnIHRlIGdlbmVyZXJlbi4gR2VicnVpayBoZWtqZXMgKCcjJykgd2FhciBnZXRhbGxlbiBtb2V0ZW4gc3RhYW4uPGJyPjxicj5CaWp2b29yYmVlbGQ6IHZvb3IgNiBnZXRhbGxlbiwgdm9lciBqZSBpbjogPGNvZGU+IyMjIyMjPC9jb2RlPi4Kc2VxdWVuY2VfaWQ6CiAgdGl0bGU6IFRhYWtudW1tZXIgcmVla3MKICBjb250ZW50OiA+CiAgICBLaWVzIGVlbiByZWVrcyB0ZW4gYmVob2V2ZSB2YW4gaGV0IHRvZWtlbm5lbiB2YW4gdGFha251bW1lcnMuIEhldCBzeXN0ZWVtIGhlZWZ0IGVlbiBvcGVlbnZvbGdlbmRlIGVuIGVlbiB3aWxsZWtldXJpZ2UgcmVla3MgYWxzIHN0YW5kYWFyZC4gSmUga3VudCB6b3ZlZWwgcmVla3NlbiBtYWtlbiBhbHMgamUgd2Vuc3QuCmRlZmF1bHRfc2xhOgogIHRpdGxlOiBTdGFuZGFhcmQgU0xBCiAgY29udGVudDogPgogICAgS2llcyBkZSBzdGFuZGFhcmQgJ1NlcnZpY2UgTGV2ZWwgQWdyZWVtZW50JyBvbSBpbiB0ZSBzdGVsbGVuIGhvZSBsYW5nIGVlbiB0aWNrZXQgbWFnIG9wZW4gc3RhYW4sIHZvb3JkYXQgaGV0IGRlIHN0YXR1cyAnb3ZlcnRpamQnIGtyaWpndC4KICBsaW5rczoKICAgIC0gCiAgICAgIHRpdGxlOiBNYWFrIG1lZXIgU0xBIHBsYW5uZW4KICAgICAgaHJlZjogL3NjcC9zbGFzLnBocApkZWZhdWx0X3ByaW9yaXR5OgogIHRpdGxlOiBTdGFuZGFhcmRwcmlvcml0ZWl0CiAgY29udGVudDogPgogICAgS2llcyBlZW4gc3RhbmRhYXJkIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+cHJpb3JpdGVpdDwvc3Bhbj4gdm9vciBvcGRyYWNodGVuIHdhYXJ2YW4gZGF0IG5vZyBuaWV0IGlzIGluZ2VzdGVsZC4KdGFza19hdHRhY2htZW50X3NldHRpbmdzOgogIHRpdGxlOiBUYWtlbmxpanN0IGJpamxhZ2VzCiAgY29udGVudDogPgogICAgQ29uZmlndXJlZXIgZGUgaW5zdGVsbGluZ2VuIHZvb3IgaGV0IDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+b21zY2hyaWp2aW5nPC9zcGFuPiB2ZWxkLiBEZXplIGluc3RlbGxpbmdlbiB3b3JkZW4gZ2VicnVpa3Qgdm9vciBhbGxlIG5pZXV3ZSB0YWtlbiBlbiBiZXJpY2h0ZW4gb25nZWFjaHQgZGUgYnJvbiAod2Vic2l0ZXBvcnRhYWwsIGVtYWlsIGVueiBlbnopLgpwYWdlX3RpdGxlOgogIHRpdGxlOiBXYWFyc2NodXdpbmdlbiBlbiBtZWxkaW5nZW4KICBjb250ZW50OiA+CiAgICBOb3RpZmljYXRpZXMgemlqbiBhdXRvbWF0aXNjaGUgZS1tYWlsYmVyaWNodGVuIGRpZSB2ZXJzdHV1cmQgd29yZGVuIG5hYXIgYWdlbnRlbiBhbHMgZXIgYmVwYWFsZGUgb21zdGFuZGlnaGVkZW4gd29yZGVuIGdlc2lnbmFsZWVyZC4KdGFza19hbGVydDoKICB0aXRsZTogTmlldXdlIHRhYWsgbWVsZGluZwogIGNvbnRlbnQ6ID4KICAgIDxwPiBOb3RpZmljYXRpZSBkaWUgdmVyc3R1dXJkIHdvcmR0IGFhbiBhZ2VudGVuIGJpaiBoZXQgYWFubWFrZW4gdmFuIGVlbiBuaWV1d2UgdGFhay48L3A+PHAgY2xhc3M9ImluZm8tYmFubmVyIj4gPGkgY2xhc3M9Imljb24taW5mby1zaWduIj48L2k+RGV6ZSBub3RpZmljYXRpZSB3b3JkdCBuaWV0IHZlcnpvbmRlbiBhbHMgZGUgdGFhayByZWVkcyBhdXRvbWF0aXNjaCBpcyB0b2VnZWtlbmQuPC9wPgogIGxpbmtzOgogICAgLSAKICAgICAgdGl0bGU6IFN0YW5kYWFyZCAnTmlldXdlIFRhYWsnLW5vdGlmaWNhdGllIG9wbWFhawogICAgICBocmVmOiAvc2NwL3RlbXBsYXRlcy5waHA/ZGVmYXVsdF9mb3I9dGFzay5hbGVydAphY3Rpdml0eV9hbGVydDoKICB0aXRsZTogTmlldXdlIGFjdGl2aXRlaXQgbWVsZGluZwogIGNvbnRlbnQ6ID4KICAgIE5vdGlmaWNhdGllIGRpZSB3b3JkdCB2ZXJzdHV1cmQgYWFuIGFnZW50ZW4gYWxzIGVyIGVlbiBuaWV1dyBiZXJpY2h0IGFhbiBlZW4gdGFhayBpcyB0b2VnZXZvZWdkLgogIGxpbmtzOgogICAgLSAKICAgICAgdGl0bGU6IFN0YW5kYWFyZCAibmlldXdlIGFjdGl2aXRlaXQiLW5vdGlmaWNhdGllIG9wbWFhawogICAgICBocmVmOiAvc2NwL3RlbXBsYXRlcy5waHA/ZGVmYXVsdF9mb3I9dGFzay5hY3Rpdml0eS5hbGVydAphc3NpZ25tZW50X2FsZXJ0OgogIHRpdGxlOiBUYWFrIHRvZXdpanppbmcgbWVsZGluZwogIGNvbnRlbnQ6ID4KICAgIE5vdGlmaWNhdGllIGRpZSBhYW4gYWdlbnRlbiB3b3JkdCBnZXN0dXVyZCBiaWogaGV0IHRvZWtlbm5lbiB2YW4gZWVuIHRhYWsuCiAgbGlua3M6CiAgICAtIAogICAgICB0aXRsZTogU3RhbmRhYXJkICJUYWFrLXRvZXdpanppbmciLW5vdGlmaWNhdGllIG9wbWFhawogICAgICBocmVmOiAvc2NwL3RlbXBsYXRlcy5waHA/ZGVmYXVsdF9mb3I9dGFzay5hc3NpZ25tZW50LmFsZXJ0CnRyYW5zZmVyX2FsZXJ0OgogIHRpdGxlOiBUYWFrIG92ZXJkcmFjaHQgbWVsZGluZwogIGNvbnRlbnQ6ID4KICAgIE5vdGlmaWNhdGllIGRpZSB3b3JkdCB2ZXJzdHV1cmQgYWFuIGFnZW50ZW4gYWxzIGVlbiB0YWFrIHZhbiBhZmRlbGluZyB2ZXJodWlzdC4KICBsaW5rczoKICAgIC0gCiAgICAgIHRpdGxlOiBTdGFuZGFhcmQgInRhYWstdmVyaHVpcyItbm90aWZpY2F0aWUgb3BtYWFrCiAgICAgIGhyZWY6IC9zY3AvdGVtcGxhdGVzLnBocD9kZWZhdWx0X2Zvcj10YXNrLnRyYW5zZmVyLmFsZXJ0Cm92ZXJkdWVfYWxlcnQ6CiAgdGl0bGU6IFRhYWsgdGUgbGFhdCBtZWxkaW5nCiAgY29udGVudDogPgogICAgTm90aWZpY2F0aWUgZGllIGFhbiBhZ2VudGVuIHZlcnN0dXVyZCB3b3JkdCBhbHMgZWVuIHRhYWsgJ292ZXJ0aWpkIHJhYWt0LCBnZWJhc2VlcmQgb3AgZGUgb3ZlcmVlbmtvbXN0IG9mIGRlIGVpbmRkYXR1bS4KICBsaW5rczoKICAgIC0gCiAgICAgIHRpdGxlOiBTdGFuZGFhcmQgJ0hhbmdlbmRlIHRhYWsnLW5vdGlmaWNhdGllIG9wbWFhawogICAgICBocmVmOiAvc2NwL3RlbXBsYXRlcy5waHA/ZGVmYXVsdF9mb3I9dGFzay5vdmVyZHVlLmFsZXJ0CiAgICAtIAogICAgICB0aXRsZTogU2xhJ3MgYmVoZXJlbgogICAgICBocmVmOiAvc2NwL3NsYXMucGhwCgojVGhpcyBpcyBwb3B1cCBoZWxwIG1lc3NhZ2VzIGZvciB0aGUgQWRtaW4gUGFuZWwgLT4gU2V0dGluZ3MgLT4gVGlja2V0cwojRmllbGRzOgojdGl0bGUgLSBTaG93biBpbiBib2xkIGF0IHRoZSB0b3Agb2YgdGhlIHBvcG92ZXIgd2luZG93CiNjb250ZW50IC0gVGhlIGJvZHkgb2YgdGhlIGhlbHAgcG9wb3ZlcgojbGlua3MgLSBMaXN0IG9mIGxpbmtzIHNob3dzIGJlbG93IHRoZSBjb250ZW50CiN0aXRsZSAtIExpbmsgdGl0bGUKI2hyZWYgLSBocmVmIG9mIGxpbmsgKGxpbmtzIHN0YXJ0aW5nIHdpdGggLyBhcmUgdHJhbnNsYXRlZCB0byB0aGUKI2hlbHBkZXNrIGluc3RhbGxhdGlvbiBwYXRoKQojVGhlIGtleSBuYW1lcyBzdWNoIGFzICdoZWxwZGVza19uYW1lJyBzaG91bGQgbm90IGJlIHRyYW5zbGF0ZWQgYXMgdGhleQojbXVzdCBtYXRjaCB0aGUgSFRNTCAjaWRzIHB1dCBpbnRvIHRoZSBwYWdlIHRlbXBsYXRlLgotLS0KbnVtYmVyX2Zvcm1hdDoKICB0aXRsZTogVGlja2V0IG51bW1lcmZvcm1hYXQKICBjb250ZW50OiA+CiAgICBEZXplIGluc3RlbGxpbmcgd29yZHQgZ2VicnVpa3Qgb20gdGlja2V0bnVtbWVycyB0ZSBnZW5lcmVyZW4uIEdlYnJ1aWsgaGFzaHRla2VucyAoYCNgKSB3YWFyIGNpamZlcnMgbW9ldGVuIHdvcmRlbiBnZXBsYWF0c3QuIEVsa2UgYW5kZXJlIHRla3N0IGluIGhldCBudW1tZXJmb3JtYWF0IHdvcmR0IGJld2FhcmQuIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+SGVscCBPbmRlcndlcnBlbjwvc3Bhbj4ga3VubmVuIGFhbmdlcGFzdGUgbnVtbWVyZm9ybWF0ZW4gaW5zdGVsbGVuLiA8YnIvPjxici8+IEdlYnJ1aWsgYmlqdm9vcmJlZWxkIHZvb3IgemVzLWNpamZlcmlnZSBudW1tZXJzIGRlIGNvZGUgPGNvZGU+IyMjIyMjPC9jb2RlPi4Kc2VxdWVuY2VfaWQ6CiAgdGl0bGU6IFRpY2tldCBudW1tZXIgcmVla3MKICBjb250ZW50OiA+CiAgICBLaWVzIGVlbiBtZXRob2RlIG9tIG5pZXV3ZSB0aWNrZXRzIHRlIG51bW1lcmVuLiBIZXQgc3lzdGVlbSBoZWVmdCBlZW4gb3B0ZWxtZXRob2RlIG9mIGVlbiB6Z24gJ3dpbGxla2V1cmlnZSctbWV0aG9kZSBtZXQgYmV0cmVra2luZyB0b3QgaGV0IG51bW1lcmVuIHZhbiBkZSB0aWNrZXRzLiBKZSBrdW50IHpvdmVlbCBtZXRob2RlcyBhYW5tYWtlbiBhbHMgamUgd2lsdCBpbiA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPlRpY2tldCBOdW1tZXIgRm9ybWFhdDwvc3Bhbj4gY29uZmlndXJhdGllLgpxdWV1ZV9idWNrZXRfY291bnRzOgogIHRpdGxlOiBUaWNrZXQgdGVsbGVyIGluIG1lbnViYWxrCiAgY29udGVudDogPgogICAgRGV6ZSBpbnN0ZWxsaW5nIHdvcmR0IGdlYnJ1aWt0IG9tIGRlIGFhbnRhbGxlbiB0aWNrZXRzIHRlIGxhdGVuIHppZW4gb2YgdGUgdmVyYmVyZ2VuIGluIGRlIGJlbGFuZ3JpamtzdGUgd2FjaHRyaWplbi4gR2EgdGVydWcgbmFhciBob2UgaGV0IHdhcy4KZGVmYXVsdF90aWNrZXRfc3RhdHVzOgogIHRpdGxlOiBTdGFuZGFhcmQgc3RhdHVzIHZvb3IgbmlldXdlIHRpY2tldHMKICBjb250ZW50OiA+CiAgICBLaWVzIGRlIGluaXRpw6tsZSBzdGF0dXMgZGllIGVsayBuaWV1dyB0aWNrZXQgemFsIGhlYmJlbi4gRGl0IGthbiBnZWRlZmluaWVlcmQgd29yZGVuIHZvb3IgZWxrIGhlbHAtb25kZXJ3ZXJwIGVuIGFscyBnZXdlbnN0LCBrYW4gZGl0IG92ZXJydWxlZCB3b3JkZW4gdmlhIGVlbiB0aWNrZXQgZmlsdGVyLgogIGxpbmtzOgogICAgLSAKICAgICAgdGl0bGU6IFRpY2tldCBzdGF0dXNzZW4gYmVoZXJlbgogICAgICBocmVmOiAvc2NwL2xpc3RzLnBocD90eXBlPXRpY2tldC1zdGF0dXMKZGVmYXVsdF9zbGE6CiAgdGl0bGU6IFN0YW5kYWFyZCBTTEEKICBjb250ZW50OiA+CiAgICBLaWVzIGRlIG92ZXJlZW5nZWtvbWVuIHN0YW5kYWFyZCBvbSB0ZSBiZXBhbGVuIGhvZSBsYW5nIGVlbiB0aWNrZXQgbWFnIGxvcGVuIGFsdm9yZW5zIGhldCB0aWNrZXQgd29yZHQgYWFuZ2VtZWxkIGFscyAndmVybG9wZW4nLgogIGxpbmtzOgogICAgLSAKICAgICAgdGl0bGU6IE1hYWsgbWVlciBTTEEgcGxhbm5lbgogICAgICBocmVmOiAvc2NwL3NsYXMucGhwCmRlZmF1bHRfdGlja2V0X3F1ZXVlOgogIHRpdGxlOiBTdGFuZGFhcmQgdGlja2V0b3ZlcnppY2h0CiAgY29udGVudDogPgogICAgU2V0dGluZyB0byBkZXRlcm1pbmUgdGhlIGRlZmF1bHQgcXVldWUgZm9yIEFnZW50cyB1cG9uIGxvZy1pbi4gQWdlbnRzIGNhbiBhbHNvIHNldCB0aGVpciBkZWZhdWx0IHF1ZXVlIGluIHRoZWlyIFByb2ZpbGUgdGFiIHRvIG92ZXJyaWRlIHRoaXMgc2V0dGluZy4KZGVmYXVsdF9wcmlvcml0eToKICB0aXRsZTogU3RhbmRhYXJkcHJpb3JpdGVpdAogIGNvbnRlbnQ6ID4KICAgIEtpZXMgZWVuIHN0YW5kYWFyZCA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPnByaW9yaXRlaXQ8L3NwYW4+IHZvb3IgbmlldXdlIHRpY2tldHMgZGllIG5pZXQgYXV0b21hdGlzY2ggZWVuIG5pZXV3ZSBwcmlvcml0ZWl0IGtyaWpnZW4uIDxici8+PGJyLz5Qcmlvcml0ZWl0IGthbiB0b2VnZWtlbmQgd29yZGVuIHdvcmRlbiB2aWEgaGV0IGhlbHBvbmRlcndlcnAsIG9mIHZpYSBkZSB0aWNrZXQtZmlsdGVyLWluc3RlbGxpbmdlbi4KbWF4aW11bV9vcGVuX3RpY2tldHM6CiAgdGl0bGU6IE1heGltYWFsIGFhbnRhbCBvcGVuIHRpY2tldHMKICBjb250ZW50OiA+CiAgICBWdWwgaGV0IG1heGltYWFsIDxlbT5hYW50YWw8L2VtPiB0aWNrZXRzIGluIGRhdCBpZW1hbmQgPHN0cm9uZz5vcGVuPC9zdHJvbmc+IG1hZyBoZWJiZW4gaW4gaGV0IGhlbHBkZXNrc3l0ZWVtLDxicj48YnI+VnVsIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy1vcHQiPjAgPC9zcGFuPiBpbiBvbSBkZXplIGxpbWl0YXRpZSB1aXQgdGUgc2NoYWtlbGVuLgplbWFpbF90aWNrZXRfcHJpb3JpdHk6CiAgdGl0bGU6IEUtbWFpbCBUaWNrZXQgcHJpb3JpdGVpdAogIGNvbnRlbnQ6ID4KICAgIEdlYnJ1aWsgZGUgcHJpb3JpdGVpdCB2YW4gZGUgZW1haWxvbnR2YW5nZXIKc2hvd19yZWxhdGVkX3RpY2tldHM6CiAgdGl0bGU6IFRvb24gZ2VyZWxhdGVlcmRlIFRpY2tldHMKICBjb250ZW50OiA+CiAgICBUb29uIGFsbGUgZ2VyZWxhdGVlcmRlIHRpY2tldHMgYmlqIGhldCBpbmxvZ2dlbiAtIGFuZGVycyBpcyBkZSB0b2VnYW5nIGJlcGVya3QgdG90IG1heC4gMSB0aWNrZXQgcGVyIGxvZ2luCmh1bWFuX3ZlcmlmaWNhdGlvbjoKICB0aXRsZTogTWVuc2VsaWprZSB2ZXJpZmljYXRpZQogIGNvbnRlbnQ6ID4KICAgIE1hYWsgQ0FQVENIQSBtb2dlbGlqayBvcCBoZXQga2xhbnRlbnByb3RhYWwgb20gZGUgZWNodGhlaWQgdmFuIGluZ2V6b25kZW4gYmVyaWNodGVuIHRlIHdhYXJib3JnZW4uIDxicj48YnI+IFUgaGVlZnQgaGllciBkZSBHRGxpYiBsaWJyYXJ5IG5vZGlnCmNsYWltX3RpY2tldHM6CiAgdGl0bGU6IFRpY2tldCBvdmVybmVtZW4gYmlqIGFudHdvb3JkCiAgY29udGVudDogPgogICAgU2NoYWtlbCBkaXQgaW4gb20gbmlldC10b2VnZXdlemVuIHRpY2tldHMgYXV0b21hdGlzY2ggdG9lIHRlIHdpanplbiBhYW4gZGUgYW50d29vcmRlbmRlIEFnZW50LiA8YnI+PGJyPiBIZXJvcGVuZGUgdGlja2V0cyB3b3JkZW4gYWx0aWpkIHRvZWdld2V6ZW4gYWFuIGRlIGxhYXRzdGUgcmVzcG9uZGVudCwgdGVuemlqIGF1dG9tYXRpc2NoIHRvZXdpanplbiBiaWogaGVyb3BlbmVuIGlzIHVpdGdlc2NoYWtlbGQgb3AgYWZkZWxpbmdzbml2ZWF1LgphdXRvX3JlZmVyOgogIHRpdGxlOiBBdXRvbWF0aXNjaCBkb29ydmVyd2lqemVuIFRpY2tldHMgYmlqIFNsdWl0ZW4KICBjb250ZW50OiA+CiAgICBTY2hha2VsIGRpdCBpbiBvbSB0aWNrZXRzIGF1dG9tYXRpc2NoIGRvb3IgdGUgdmVyd2lqemVuIG5hYXIgZGUgdG9lZ2V3ZXplbiBvZiBhZnNsdWl0ZW5kZSBBZ2VudCB3YW5uZWVyIGVlbiB0aWNrZXQgd29yZHQgZ2VzbG90ZW4uIDxicj48YnI+IERpdCBpcyBub2RpZyBhbHMgdSBBZ2VudGVuIG1ldCBiZXBlcmt0ZSB0b2VnYW5nIHRvZWdhbmcgd2lsdCBnZXZlbiB0b3QgdG9lZ2V3ZXplbiB0aWNrZXRzIG5hZGF0IHplIHppam4gZ2VzbG90ZW4uCmNvbGxhYm9yYXRvcl90aWNrZXRfdmlzaWJpbGl0eToKICB0aXRsZTogWmljaHRiYWFyIHZvb3Igc2FtZW53ZXJrZXJzCiAgY29udGVudDogPgogICAgQWxzIGRpdCBBQU4gc3RhYXQga3VubmVuIGdlYnJ1aWtlcnMgQUxMRSB0aWNrZXRzLCB3YWFyIHplIGJpaiBiZXRyb2trZW4gemlqbiwgemllbiB3YW5uZWVyIHplIGluZ2Vsb2dkIHppam4gaW4gaGV0IHdlYnBvcnRhYWwuPGJyPjxicj4gQWxzIGRpdCBVSVQgc3RhYXQsIGRhbiBrdW5uZW4gemUgYWxsZWVuIGh1biBlaWdlbiB0aWNrZXRzIHppZW4gd2FubmVlciB6ZSBpbmdlbG9nZCB6aWpuIGluIGhldCB3ZWJwb3J0YWFsLgpyZXF1aXJlX3RvcGljX3RvX2Nsb3NlOgogIHRpdGxlOiBWZXJlaXN0IGhlbHBvbmRlcndlcnAgb20gdGUgc2x1aXRlbgogIGNvbnRlbnQ6ID4KICAgIEFscyBkaXQgQUFOIHN0YWF0IG1vZXQgZWVuIHRpY2tldCBlZW4gb25kZXJ3ZXJwIGhlYmJlbiBpbiBkZSBrZW5uaXNiYW5rIHZvb3IgaGV0IGdlc2xvdGVuIGthbiB3b3JkZW4gZG9vciBlZW4gbWVkZXdlcmtlci4KYWxsb3dfZXh0ZXJuYWxfaW1hZ2VzOgogIHRpdGxlOiBFeHRlcm5lIGFmYmVlbGRpbmdlbiB0b2VzdGFhbgogIGNvbnRlbnQ6ID4KICAgIEluZGllbiBpbmdlc2NoYWtlbGQsIHN0YWF0IGhldCBzeXN0ZWVtIGV4dGVybmUgaW5saW5lIGFmYmVlbGRpbmdlbiB0b2UgZGllIGVlbiBnZWxkaWdlIGFmYmVlbGRpbmdzZXh0ZW5zaWUgaGViYmVuICgucG5nLCAuanBnLCAuanBlZywgLmdpZikuIEluZGllbiB1aXRnZXNjaGFrZWxkLCBzbHVpdCBoZXQgc3lzdGVlbSBhbGxlIGV4dGVybmUgaW5saW5lIGFmYmVlbGRpbmdlbiB1aXQuIEVlbiBhYW5kYWNodHNwdW50IGlzIGRhdCBhbHMgZGUgaW5zdGVsbGluZyBpcyB1aXRnZXNjaGFrZWxkLCB3ZSBub2cgc3RlZWRzIGV4dGVybmUgaW5saW5lIGFmYmVlbGRpbmdlbiBvcHNsYWFuIGRpZSBlZW4gZ2VsZGlnZSBhZmJlZWxkaW5nc2V4dGVuc2llIGhlYmJlbiB2b29yIGhldCBnZXZhbCBkZSBpbnN0ZWxsaW5nIGluIGRlIHRvZWtvbXN0IG9wbmlldXcgd29yZHQgaW5nZXNjaGFrZWxkLgphc3NpZ25lZF90aWNrZXRzOgogIHRpdGxlOiBUb2VnZXdlemVuIFRpY2tldHMKICBjb250ZW50OiA+CiAgICBTY2hha2VsIGRlemUgbW9nZWxpamtoZWlkIGluIG9tIHRvZWdla2VuZGUgdGlja2V0cyB1aXQgdGUgc2x1aXRlbiB1aXQgZGUgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5PcGVuIFRpY2tldHMgTGlqc3Q8L3NwYW4+LgphbnN3ZXJlZF90aWNrZXRzOgogIHRpdGxlOiBCZWFudHdvb3JkZGUgVGlja2V0cwogIGNvbnRlbnQ6ID4KICAgIFNjaGFrZWwgZGV6ZSBtb2dlbGlqa2hlaWQgaW4gb20gYmVhbnR3b29yZGUgdGlja2V0cyBpbiBkZSA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPkJlYW50d29vcmRlIFRpY2tldHMgTGlqc3Q8L3NwYW4+IHRlIHppZW4uIEFuZGVycyB3b3JkZW4gZGV6ZSB0aWNrZXRzIGdld29vbiBpbiBkZSBsaWpzdCB2YW4gPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5PcGVuIFRpY2tldHM8L3NwYW4+IGdldG9vbmQuCnRpY2tldF9hdHRhY2htZW50X3NldHRpbmdzOgogIHRpdGxlOiBUaWNrZXQgdmVybG9vcCBiaWpsYWdlcwogIGNvbnRlbnQ6ID4KICAgIEJld2VyayBkZSBpbnN0ZWxsaW5nZW4gdmFuIGJpamxhZ2VzIGRpZSBhYW4gZGUgPGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+cHJvYmxlZW1vbXNjaHJpanZpbmc8L3NwYW4+IHppam4gZ2Vrb3BwZWxkLCBEZXplIGluc3RlbGxpbmdlbiB3b3JkZW4gdm9vciBhbGxlIG5pZXV3ZSB0aWNrZXRzIGdlYnJ1aWt0LCBvbmdlYWNodCBkZSBtYW5pZXIgd2Fhcm9wIGRlemUgdGlja2V0cyB3b3JkZW4gaW5nZWRpZW5kLiAod2VicG9ydGFhbCwgZW1haWwsIGFwaSBldGMuKS4KI1RoaXMgaXMgcG9wdXAgaGVscCBtZXNzYWdlcyBmb3IgdGhlIEFkbWluIFBhbmVsIC0+IFNldHRpbmdzIC0+IFVzZXJzCiNGaWVsZHM6CiN0aXRsZSAtIFNob3duIGluIGJvbGQgYXQgdGhlIHRvcCBvZiB0aGUgcG9wb3ZlciB3aW5kb3cKI2NvbnRlbnQgLSBUaGUgYm9keSBvZiB0aGUgaGVscCBwb3BvdmVyCiNsaW5rcyAtIExpc3Qgb2YgbGlua3Mgc2hvd3MgYmVsb3cgdGhlIGNvbnRlbnQKI3RpdGxlIC0gTGluayB0aXRsZQojaHJlZiAtIGhyZWYgb2YgbGluayAobGlua3Mgc3RhcnRpbmcgd2l0aCAvIGFyZSB0cmFuc2xhdGVkIHRvIHRoZQojaGVscGRlc2sgaW5zdGFsbGF0aW9uIHBhdGgpCiNUaGUga2V5IG5hbWVzIHN1Y2ggYXMgJ2hlbHBkZXNrX25hbWUnIHNob3VsZCBub3QgYmUgdHJhbnNsYXRlZCBhcyB0aGV5CiNtdXN0IG1hdGNoIHRoZSBIVE1MICNpZHMgcHV0IGludG8gdGhlIHBhZ2UgdGVtcGxhdGUuCiNHZW5lcmFsIFNldHRpbmdzCi0tLQpjbGllbnRfbmFtZV9mb3JtYXQ6CiAgdGl0bGU6IEdlYnJ1aWtlcnNuYWFtIG9wbWFhawogIGNvbnRlbnQ6ID4KICAgIEtpZXMgZWVuIGZvcm1hYXQgb20gZ2VicnVpa2Vyc25hbWVuIG1lZSBvcCB0ZSBtYWtlbi4gRW1haWwtYmVyaWNodGVuIHp1bGxlbiBkaXQgZm9ybWFhdCBnZWJydWlrZW4gdm9vciBkZSBvcG1hYWsgdmFuIGRlIG5hYW0gYWxzIGVyIGdlZW4gYW5kZXJlIG9wbWFhayBpcyBnZXNlbGVjdGVlcmQuCiNBdXRoZW50aWNhdGlvbiBzZXR0aW5ncwpjbGllbnRfcGFzc3dvcmRfcG9saWN5OgogIHRpdGxlOiBCZWxlaWQgaW56YWtlIHdhY2h0d29vcmRiZWhlZXIKICBjb250ZW50OiA+CiAgICBLaWVzIGVlbiA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPldhY2h0d29vcmRiZWxlaWQ8L3NwYW4+IHZvb3IgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5HZWJydWlrZXJzPC9zcGFuPi4gPGJyPjxicj4gRXh0cmEgYmVsZWlkc3JlZ2VscyBrdW5uZW4gd29yZGVuIHRvZWdldm9lZ2QgZG9vciA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPldhY2h0d29vcmRiZWxlaWQ8L3NwYW4+IHBsdWdpbnMgdGUgaW5zdGFsbGVyZW4uCmNsaWVudF9zZXNzaW9uX3RpbWVvdXQ6CiAgdGl0bGU6IEdlYnJ1aWtlciBzZXNzaWUgVGltZS1vdXQKICBjb250ZW50OiA+CiAgICBLaWVzIGRlIG1heGltYWxlIG5pZXQtYWN0aWV2ZSB0aWpkIChpbiBtaW51dGVuKSB2b29yZGF0IGVlbiBnZWJydWlrZXIgZ2V2cmFhZ2Qgd29yZHQgb3BuaWV1dyBpbiB0ZSBsb2dnZW4uPGJyPjxicj4gQWxzIHUgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5HZWJydWlrZXIgc2Vzc2llLXRpbW91dDwvc3Bhbj4gd2lsdCB1aXRzY2hha2VsZW4gdm9lciAwIGluLgpyZWdpc3RyYXRpb25fbWV0aG9kOgogIHRpdGxlOiBSZWdpc3RyYXRpZSBPcHRpZXMKICBjb250ZW50OiA+CiAgICA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPlJlZ2lzdHJhdGllIE1ldGhvZGU8L3NwYW4+IGVuIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+UmVnaXN0cmF0aWUgVmVyZWlzdDwvc3Bhbj4gd29yZGVuIGdlYnJ1aWt0IG9tIHRlIGNvbmZpZ3VyZXJlbiBob2UgZ2VicnVpa2VycyByZWdpc3RyZXJlbiBlbiB0b2VnYW5nIGhlYmJlbiB0b3QgaGV0IHdlYnBvcnRhYWwgdmFuIGpvdXcgaGVscGRlc2suIERlIG9uZGVyc3RhYW5kZSB0YWJlbCBiZXZhdCBlZW4gb3ZlcnppY2h0IHZhbiBkZSB0d2VlIGluc3RlbGxpbmdlbiBkaWUgZG9vciBoZXQgc3lzdGVlbSB6aWpuIGdlaW50ZXJwcmV0ZWVyZC4gPHRhYmxlIGJvcmRlcj0iMSIgY2VsbHBhZGRpbmc9IjJweCIgY2VsbHNwYWNpbmc9IjAiIHN0eWxlPSJtYXJnaW4tdG9wOjdweCIgPjx0Ym9keSBzdHlsZT0idmVydGljYWwtYWxpZ246dG9wOyI+PHRyPjx0aD5SZWdpc3RyYXRpZSBWZXJlaXN0PC90aD48dGg+UmVnaXN0cmF0aWUgTWV0aG9kZTwvdGg+PHRoPlJlc3VsdGFhdDwvdGg+PC90cj48dHI+PHRkPk5lZW48L3RkPjx0ZD5QdWJsaWVrPC90ZD48dGQ+UmVnaXN0cmF0aWUgd29yZCBhYW5nZXdlemVuIG1hYXIgaXMgbmlldCB2ZXJlaXN0IHZvb3IgbmlldXdlIHRpY2tldHMuPC90ZD48L3RyPjx0cj48dGQ+SmE8L3RkPjx0ZD5QdWJsaWVrPC90ZD48dGQ+UmVnaXN0cmF0aWUgZW4gbG9naW4gemlqbiB2ZXJlaXN0IHZvb3IgbmlldXdlIHRpY2tldHM8L3RkPjwvdHI+PHRyPjx0ZD5OZWVuPC90ZD48dGQ+UHJpdsOpPC90ZD48dGQ+SWVkZXJlZW4ga2FuIGVlbiB0aWNrZXQgYWFubWFrZW4sIG1hYXIgVmVyYW50d29vcmRlbGlqa2VuIGt1bm5lbiBlbmtlbCBhY2NvdW50cyByZWdpc3RyZXJlbjwvdGQ+PC90cj48dHI+PHRkPkphPC90ZD48dGQ+UHJpdsOpPC90ZD48dGQ+R2VicnVpa2Vyc3RvZWdhbmcgZW5rZWwgbW9nZWxpamsgZG9vciBpbnZpdGF0aWU8L3RkPjwvdHI+PHRyPjx0ZD5OZWVuPC90ZD48dGQ+VWl0Z2VzY2hha2VsZDwvdGQ+PHRkPk5pZW1hbmQga2FuIHJlZ2lzdHJlcmVuIHZvb3IgZWVuIGFjY291bnQsIG1hYXIgaWVkZXJlZW4ga2FuIGVlbiB0aWNrZXQgYWFubWFrZW4uPGVtPkRpdCB3YXMgaG9lIG9zVGlja2V0IGZ1bmN0aW9uZWVyZGUgdsOzw7NyIHZlcnNpZSAxLjk8L2VtPjwvdGQ+PC90cj48dHI+PHRkPkphPC90ZD48dGQ+VWl0Z2VzY2hha2VsZDwvdGQ+PHRkPlNjaGFrZWwgbmlldXdlIHRpY2tldHMgdWl0IHZpYSB3ZWJwb3J0YWw8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPgpjbGllbnRfdmVyaWZ5X2VtYWlsOgogIHRpdGxlOiBFLW1haWwgdmVyaWZpY2F0aWUgdmVyZWlzZW4KICBjb250ZW50OiA+CiAgICBTY2hha2VsIGRlemUgb3B0aWUgdWl0IG9tIHV3IGdlYnJ1aWtlcnMgZGlyZWN0ZSB0b2VnYW5nIHRlIGdldmVuIGFhbiB0aWNrZXRzIHZpYSBkZSAiQmVraWprIFRpY2tldCBTdGF0dXMiIGxvZ2luIHBhZ2luYSB2YW4gZGUgQ2xpZW50IFBvcnRhbC4gQWxzIGRpdCBpbmdlc2NoYWtlbGQgaXMgKHdhdCBzdGFuZGFhcmQgaXMpLCB6YWwgZGUgZ2VicnVpa2VyIGVlcnN0IGVlbiBlLW1haWwgb250dmFuZ2VuIG1ldCBkYWFyaW4gZWVuIGxpbmsgb20gaGV0IHRpY2tldCB0ZSBiZWtpamtlbi4gPGJyPjxicj5BbHMgRS1tYWlsIHZlcmlmaWNhdGllIHVpdGdlc2NoYWtlbGQgaXMga3VubmVuIGRlcmRlIHBhcnRpamVuIChidmIuIHRpY2tldCBtZWRld2Vya2VycykgemljaCB2b29yIGRvZW4gYWxzIHRpY2tldC1laWdlbmFhci4KYWxsb3dfYXV0aF90b2tlbnM6CiAgdGl0bGU6IFNjaGFrZWwgYmV2ZWlsaWdpbmdzLXRva2VucyBpbgogIGNvbnRlbnQ6ID4KICAgIFNjaGFrZWwgZGV6ZSBvcHRpZSBpbiBvbSAnYmV2ZWlsaWdpbmdzLXRva2VucycgdGUgZ2VicnVpa2VuIG9tIG1lbnNlbiBhdXRvbWF0aXNjaCBvcCBodW4gdGlja2V0cyB0ZSBsYXRlbiBpbmxvZ2dlbiB2aWEgZGUgbGluayBpbiBodW4gZW1haWwuCiNUaGlzIGlzIHBvcHVwIGhlbHAgbWVzc2FnZXMgZm9yIHRoZSBBZG1pbiBQYW5lbCAtPiBTdGFmZiAtPiBBZGQgU3RhZmYgRm9ybQojRmllbGRzOgojdGl0bGUgLSBTaG93biBpbiBib2xkIGF0IHRoZSB0b3Agb2YgdGhlIHBvcG92ZXIgd2luZG93CiNjb250ZW50IC0gVGhlIGJvZHkgb2YgdGhlIGhlbHAgcG9wb3ZlcgojbGlua3MgLSBMaXN0IG9mIGxpbmtzIHNob3dzIGJlbG93IHRoZSBjb250ZW50CiN0aXRsZSAtIExpbmsgdGl0bGUKI2hyZWYgLSBocmVmIG9mIGxpbmsgKGxpbmtzIHN0YXJ0aW5nIHdpdGggLyBhcmUgdHJhbnNsYXRlZCB0byB0aGUKI2hlbHBkZXNrIGluc3RhbGxhdGlvbiBwYXRoKQojVGhlIGtleSBuYW1lcyBzdWNoIGFzICdoZWxwZGVza19uYW1lJyBzaG91bGQgbm90IGJlIHRyYW5zbGF0ZWQgYXMgdGhleQojbXVzdCBtYXRjaCB0aGUgSFRNTCAjaWRzIHB1dCBpbnRvIHRoZSBwYWdlIHRlbXBsYXRlLgotLS0KdXNlcm5hbWU6CiAgdGl0bGU6IEdlYnJ1aWtlcnNuYWFtCiAgY29udGVudDogPgogICAgS2llcyBlZW4gTWVkZXdlcmtlciA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPmdlYnJ1aWtlcnNuYWFtPC9zcGFuPiBkaWUgdW5pZWsgaXMgdm9vciB1dyA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPkhlbHAgRGVzazwvc3Bhbj4uCnJlc2V0MmZhOgogIHRpdGxlOiBSZXNldCBUd28gRmFjdG9yIEF1dGhlbnRpY2F0aW9uCiAgY29udGVudDogPgogICAgSW4gdGhlIGV2ZW50IHRoYXQgYW4gQWdlbnQgbG9zZXMgdGhlIGFiaWxpdHkgdG8gbG9nIGludG8gdGhlIGhlbHBkZXNrIHVzaW5nIHRoZWlyIGN1cnJlbnQgMkZBIGNvbmZpZ3VyYXRpb24sIGFuIEFkbWluIGNhbiByZXNldCB0aGUgQWdlbnQncyAyRkEgY29uZmlndXJhdGlvbiBzbyB0aGF0IHRoZXkgY2FuIHJlY29uZmlndXJlIGl0IHVwb24gdGhlaXIgbmV4dCBzdWNjZXNzZnVsIGxvZ2luLgplbWFpbF9hZGRyZXNzOgogIHRpdGxlOiBFLW1haWxhZHJlcwogIGNvbnRlbnQ6ID4KICAgIFZvZXIgZGUgTWVkZXdlcmtlciB6aWpuICBlLW1haWxhZHJlcyBpbiBkYXQgZGUgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5XYWFyc2NodXdpbmdlbiAmYW1wOyBBYW5rb25kaWdpbmdlbjwvc3Bhbj4gdmFuIGRlIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+SGVscCBEZXNrPC9zcGFuPiB6YWwgb250dmFuZ2VuLgogIDA6IDxicj48YnI+CiAgMTogUGVyc29uZWVsIGthbiBpbmxvZ2dlbiBpbiBoZXQgZGVlbHZlbnN0ZXIgQmVoZWVyIFBlcnNvbmVlbCBtZXQgb2Z3ZWwgemlqbiBnZWJydWlrZXJzbmFhbSBvZiBlLW1haWxhZHJlcy4Kd2VsY29tZV9lbWFpbDoKICB0aXRsZTogV2Vsa29tcyBlLW1haWwKICBjb250ZW50OiA+CiAgICBTdHV1ciBkZSBuaWV1d2UgVmVyYW50d29vcmRlbGlqa2UgZWVuIGxpbmsgbWV0IHRvZWdhbmcgdG90IGhldCBhY2NvdW50IHdhYXJtZWUgZGUgVmVyYW50d29vcmRlbGlqa2UgaW4gc3RhYXQgaXMgb20gemlqbiBlaWdlbiB3YWNodHdvb3JkIGluIHRlIHN0ZWxsZW4uIEFscyBoZXQgc2VsZWN0aWV2YWtqZSB1aXRnZXNjaGFrZWxkIGlzLCB6YWwgamUgaGV0IHdhY2h0d29vcmQgZW4gZ2VicnVpa2Vyc25hYW0gaGFuZG1hdGlnIG1vZXRlbiBkb29yZ2V2ZW4gYWFuIGRlIG5pZXV3ZSBtZWRld2Vya2VyLiAKYWNjb3VudF9wYXNzd29yZDoKICB0aXRsZTogQWNjb3VudCB3YWNodHdvb3JkCiAgY29udGVudDogPgogICAgQWxzIGVlbiA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPmJlaGVlcmRlcjwvc3Bhbj4ga2FuIGplIGVlbiB3YWNodHdvb3JkIHZhbiBlZW4gVmVyYW50d29vcmRlbGlqa2Ugd2lqemlnZW4uCmZvcmNlZF9wYXNzd29yZF9jaGFuZ2U6CiAgdGl0bGU6IEZvcmNlZXIgd2FjaHR3b29yZCB0ZSB3aWp6aWdlbgogIGNvbnRlbnQ6ID4KICAgIFNjaGFrZWwgZGl0IGluIGFscyBqZSBkZSBWZXJhbnR3b29yZGVsaWprZSB3aWx0IGR3aW5nZW4gemlqbiB3YWNodHdvb3JkIHRlIHdpanppZ2VuIGJpaiB6aWpuIHZvbGdlbmRlIGxvZ2luLgphZ2VudHNfc2lnbmF0dXJlOgogIHRpdGxlOiBIYW5kdGVrZW5pbmcgdmFuIGRlIHZlcmFudHdvb3JkZWxpamtlCiAgY29udGVudDogPgogICAgTWFhayBlZW4gaGFuZHRla2VuaW5nIHZvb3IgZGUgdmVyYW50d29vcmRlbGlqa2UgZGllIGdlc2VsZWN0ZWVyZCBrYW4gd29yZGVuIGJpaiBoZXQgYW50d29vcmRlbiB2YW4gZWVuIHRpY2tldC4KYWNjb3VudF9zdGF0dXM6CiAgdGl0bGU6IEFjY291bnQgc3RhdHVzCiAgY29udGVudDogPgogICAgQWxzIGRlIHN0YXR1cyB2YW4gZGUgVmVyYW50d29vcmRlbGlqa2UgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLW9wdCI+R2Vsb2NrZWQ8L3NwYW4+IHN0YWF0LCB6dWxsZW4gemUgbmlldCBrdW5uZW4gYWFubWVsZGVuIG9wIGRlIGhlbHBkZXNrLgphc3NpZ25lZF9ncm91cDoKICB0aXRsZTogVG9lZ2V3ZXplbiBncm9lcAogIGNvbnRlbnQ6ID4KICAgIERlIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+R3JvZXA8L3NwYW4+IHdhYXIgVmVyYW50d29vcmRlbGlqa2UgdG90IGJlaG9vcmQsIGJlcGFhbGQgd2Vsa2UgcmVjaHRlbiBkZSBWZXJhbnR3b29yZGVsaWprZSBiaW5uZW4gZGUgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5oZWxwZGVzazwvc3Bhbj4gaGVlZnQuCiAgbGlua3M6CiAgICAtIAogICAgICB0aXRsZTogQmVoZWVyIGdyb2VwZW4KICAgICAgaHJlZjogL3NjcC9ncm91cHMucGhwCnByaW1hcnlfZGVwYXJ0bWVudDoKICB0aXRsZTogU3RhbmRhYXJkIGFmZGVsaW5nCiAgY29udGVudDogPgogICAgS2llcyBkZSBwcmltYWlyZSA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPmFmZGVsaW5nPC9zcGFuPiB3YWFyIGRlemUgYWdlbnQgdG9lIGJlaG9vcmQgZW4gZWVuIGFjdGlldmUgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5yb2w8L3NwYW4+IGluIGhlZWZ0LgogIGxpbmtzOgogICAgLSAKICAgICAgdGl0bGU6IEFmZGVsaW5nZW4gYmVoZXJlbgogICAgICBocmVmOiAvc2NwL2RlcGFydG1lbnRzLnBocApwcmltYXJ5X3JvbGU6CiAgdGl0bGU6IFByaW1haXJlIHJvbAogIGNvbnRlbnQ6ID4KICAgIEtpZXMgZGUgcHJpbWFpcmUgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5yb2w8L3NwYW4+IHZhbiBkZXplIGFnZW50LgpwcmltYXJ5X3JvbGVfb25fYXNzaWduOgogIHRpdGxlOiBHZWJydWlrIGRlIHByaW1haXJlIHJvbCB2b29yIGhldCB0b2VrZW5uZW4gdmFuIHRpY2tldHMKICBjb250ZW50OiA+CiAgICBTdGVsIGRpdCBpbiBvbSB0ZXJ1ZyB0ZSB2YWxsZW4gb3AgZGUgIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+cHJpbWFpcmUgcm9sPC9zcGFuPiAgYWxzIGVlbiBhZ2VudCB0aWNrZXRzIGVuIHRha2VuIGhlZWZ0IHRvZWdla2VuZCBidWl0ZW4gZGUgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5wcmltYWlyZSBhZmRlbGluZzwvc3Bhbj4gZW4gPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj51aXRnZWJyZWlkZSB0b2VnYW5nPC9zcGFuPiBhZmRlbGluZ2VuLiAKICAgIEFuZGVycyBoZWJiZW4gYWdlbnRlbiBhbGxlZW4gbGVlc3RvZWdhbmcuCmRheWxpZ2h0X3NhdmluZzoKICB0aXRsZTogWm9tZXJ0aWpkCiAgY29udGVudDogPgogICAgU2NoYWtlbCBkZXplIGZ1bmN0aWUgaXMgYWxzIHUgd2lsIGRhdCBkZSB6b21lcnRpamQgYXV0b21hdGlzY2ggYWFuZ2VwYXN0IHdvcmR0IHZvb3IgZGV6ZSBWZXJhbnR3b29yZGVsaWprZS4KbGltaXRlZF9hY2Nlc3M6CiAgdGl0bGU6IEJlcGVya3RlIHRvZWdhbmcKICBjb250ZW50OiA+CiAgICBBbHMgZGl0IGluZ2VzY2hha2VsZCBpcyB6YWwgZGUgVmVyYW50d29vcmRlbGlqa2UgZW5rZWwgdG9lZ2FuZyBoZWJiZW4gdG90IGRlIHRpY2tldHMgZGllIHZpYSBoZXQgVGVhbSBvZiByZWNodHN0cmVla3MgdG9lZ2V3ZXplbiB6aWpuLgpkaXJlY3RvcnlfbGlzdGluZzoKICB0aXRsZTogRGlyZWN0b3J5IExpc3RpbmcKICBjb250ZW50OiA+CiAgICBTY2hha2VsIGRpdCBpbiBhbHMgdSBkZSBWZXJhbnR3b29yZGVsaWprZSB3aWwgb3BsaWpzdGVuIGluIGRlIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+UGVyc29uZWVsc2xpanN0PC9zcGFuPi4KICBsaW5rczoKICAgIC0gCiAgICAgIHRpdGxlOiBCZXpvZWsgZGUgUGVyc29uZWVsc2xpanN0CiAgICAgIGhyZWY6IC9zY3AvZGlyZWN0b3J5LnBocAp2YWNhdGlvbl9tb2RlOgogIHRpdGxlOiBWYWthbnRpZW1vZHVzCiAgY29udGVudDogPgogICAgQWxzIHUgZGUgdmVyYW50d29vcmRlbGlqa2UgemlqbiBzdGF0dXMgbmFhciA8c3BhbiBjbGFzcz0iZG9jLWRlc2Mtb3B0Ij5WYWthbnRpZW1vZHVzPC9zcGFuPiB6ZXQsIHphbCBkZSB2ZXJhbnR3b29yZGVsaWprZSBnZWVuIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+V2FhcnNjaHV3aW5nZW4mYW1wO01lZGVkZWxpbmdlbjwvc3Bhbj4gb250dmFuZ2VuLiBPb2sgemFsIGhpaiBuaWV0IGJlc2NoaWtiYWFyIHppam4gdm9vciBoZXQgdG9ld2lqemVuIHZhbiB0aWNrZXRzLgoKI1RoaXMgaXMgcG9wdXAgaGVscCBtZXNzYWdlcyBmb3IgdGhlIEFjY291bnQgUGFuZWwgLT4gQWdlbnRzIC0+IEFnZW50cwojRmllbGRzOgojdGl0bGUgLSBTaG93biBpbiBib2xkIGF0IHRoZSB0b3Agb2YgdGhlIHBvcG92ZXIgd2luZG93CiNjb250ZW50IC0gVGhlIGJvZHkgb2YgdGhlIGhlbHAgcG9wb3ZlcgojbGlua3MgLSBMaXN0IG9mIGxpbmtzIHNob3dzIGJlbG93IHRoZSBjb250ZW50CiN0aXRsZSAtIExpbmsgdGl0bGUKI2hyZWYgLSBocmVmIG9mIGxpbmsgKGxpbmtzIHN0YXJ0aW5nIHdpdGggLyBhcmUgdHJhbnNsYXRlZCB0byB0aGUKI2hlbHBkZXNrIGluc3RhbGxhdGlvbiBwYXRoKQojVGhlIGtleSBuYW1lcyBzdWNoIGFzICdoZWxwZGVza19uYW1lJyBzaG91bGQgbm90IGJlIHRyYW5zbGF0ZWQgYXMgdGhleQojbXVzdCBtYXRjaCB0aGUgSFRNTCAjaWRzIHB1dCBpbnRvIHRoZSBwYWdlIHRlbXBsYXRlLiNUaGlzIGlzIHBvcHVwIGhlbHAgbWVzc2FnZXMgZm9yIHRoZSBBZG1pbiBQYW5lbCAtPiBTdGFmZiAtPiBBZGQgTmV3IERlcGFydG1lbnQgLT4gRGVwYXJ0bWVudCBGb3JtCiNGaWVsZHM6CiN0aXRsZSAtIFNob3duIGluIGJvbGQgYXQgdGhlIHRvcCBvZiB0aGUgcG9wb3ZlciB3aW5kb3cKI2NvbnRlbnQgLSBUaGUgYm9keSBvZiB0aGUgaGVscCBwb3BvdmVyCiNsaW5rcyAtIExpc3Qgb2YgbGlua3Mgc2hvd3MgYmVsb3cgdGhlIGNvbnRlbnQKI3RpdGxlIC0gTGluayB0aXRsZQojaHJlZiAtIGhyZWYgb2YgbGluayAobGlua3Mgc3RhcnRpbmcgd2l0aCAvIGFyZSB0cmFuc2xhdGVkIHRvIHRoZQojaGVscGRlc2sgaW5zdGFsbGF0aW9uIHBhdGgpCiNUaGUga2V5IG5hbWVzIHN1Y2ggYXMgJ2hlbHBkZXNrX25hbWUnIHNob3VsZCBub3QgYmUgdHJhbnNsYXRlZCBhcyB0aGV5CiNtdXN0IG1hdGNoIHRoZSBIVE1MICNpZHMgcHV0IGludG8gdGhlIHBhZ2UgdGVtcGxhdGUuCi0tLQpzdGF0dXM6CiAgdGl0bGU6IFN0YXR1cwogIGNvbnRlbnQ6ID4KICAgIEFscyBkaXQgdWl0Z2VzY2hha2VsZCBpcywgemFsIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+SGVscC1vbmRlcndlcnA8L3NwYW4+IG5pZXQgYmVzY2hpa2JhYXIgemlqbi4KdHlwZToKICB0aXRsZTogVHlwZQogIGNvbnRlbnQ6ID4KICAgIFNlbGVjdGVlciA8c3BhbiBjbGFzcz0iZG9jLWRlc2Mtb3B0Ij5Qcml2w6k8L3NwYW4+IGFscyB1IGRlIHRvZXdpanppbmdlbiB2YW4gZGV6ZSBBZmRlbGluZyB3aWwgdmVyYmVyZ2VuIGluIGhldCBHZWJydWlrZXJzcG9ydGFhbC4gQm92ZW5kaWVuIHphbCBkZSA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPkFmZGVsaW5nc2hhbmR0ZWtlbmluZzwvc3Bhbj4gbmlldCBnZXRvb25kIHdvcmRlbiBpbiBkZSBlLW1haWwgYW50d29vcmRlbi4gPGJyLz48YnIvPiBFciBtb2V0IHRlbm1pbnN0ZSDDqcOpbiBBZmRlbGluZyA8c3BhbiBjbGFzcz0iZG9jLWRlc2Mtb3B0Ij5QdWJsaWVrPC9zcGFuPiB6aWpuLgplbWFpbDoKICB0aXRsZTogRW1haWwKICBjb250ZW50OiA+CiAgICBFLW1haWxhZHJlc3NlbiBnZWJydWlrdCBvbSBhbnR3b29yZGVuIHRlIHZlcnplbmRlbiBuYWFyIEdlYnJ1aWtlcnMgd2FubmVlciBWZXJhbnR3b29yZGVsaWprZW4gUmVhY3RpZXMgZ2V2ZW4gb3AgVGlja2V0cy4KdGVtcGxhdGU6CiAgdGl0bGU6IFNqYWJsb29uIFNldAogIGNvbnRlbnQ6ID4KICAgIEUtbWFpbCA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPlNqYWJsb29uIFNldDwvc3Bhbj4gd29yZGVuIGdlYnJ1aWt0IHZvb3IgQXV0b21hdGlzY2hlLVJlYWN0aWUgZW4gV2FhcnNjaHV3aW5nZW4gJmFtcDsgTWVkZWRlbGluZ2VuIHZvb3IgVGlja2V0cyBkaWUgZG9vcmdlc3R1dXJkIHdvcmRlbiBuYWFyIGRlemUgQWZkZWxpbmcuCiAgbGlua3M6CiAgICAtIAogICAgICB0aXRsZTogU2phYmxvbmVuIGJlaGVyZW4KICAgICAgaHJlZjogL3NjcC90ZW1wbGF0ZXMucGhwCnNsYToKICB0aXRsZTogU2VydmljZSBMZXZlbAogIGNvbnRlbnQ6ID4KICAgIFNlcnZpY2UgTGV2ZWwgdm9vciBUaWNrZXRzIGRvb3JnZXN0dXVyZCBuYWFyIGRlemUgQWZkZWxpbmcuCiAgbGlua3M6CiAgICAtIAogICAgICB0aXRsZTogU2VydmljZSBwbGFubmVuIGJlaGVyZW4KICAgICAgaHJlZjogL3NjcC9zbGFzLnBocApzY2hlZHVsZToKICB0aXRsZTogU2NoZWR1bGUKICBjb250ZW50OiA+CiAgICBTY2hlZHVsZSB1c2VkIGJ5IFNMQSB3aGVuIHJlbmRlcmluZyB0aWNrZXRzLCByb3V0ZWQgdG8gdGhpcyBEZXBhcnRtZW50LCBPdmVyZHVlLiA8YnI+PGJyPiBUaGlzIHNldHRpbmcgdGFrZXMgcHJlY2VkZW5jZSBvdmVyIFN5c3RlbSBhbmQgU0xBIHNjaGVkdWxlIHNldHRpbmdzLgogIGxpbmtzOgogICAgLSAKICAgICAgdGl0bGU6IFNjaGVtYSdzIGJlaGVyZW4KICAgICAgaHJlZjogL3NjcC9zY2hlZHVsZXMucGhwCm1hbmFnZXI6CiAgdGl0bGU6IEFmZGVsaW5nc2JlaGVlcmRlcgogIGNvbnRlbnQ6ID4KICAgIFNlbGVjdGVlciBlZW4gPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5CZWhlZXJkZXI8L3NwYW4+IHZvb3IgZGV6ZSBhZmRlbGluZy4gPGJyLz48YnIvPkJlaGVlcmRlcnMga3VubmVuIGluZ2VzdGVsZCB3b3JkZW4gb20gc3BlY2lhbGUgd2FhcnNjaHV3aW5nZW4gdGUgb250dmFuZ2VuIGVuIG9vayByZWNodGVuIGdlZ2V2ZW4gd29yZGVuIG9tIFRpY2tldHMgdGUgb250bmVtZW4uCiAgbGlua3M6CiAgICAtIAogICAgICB0aXRsZTogQmVoZXJlbiB2YW4gV2FhcnNjaHV3aW5nZW4gJmFtcDsgTWVkZWRlbGluZ2VuCiAgICAgIGhyZWY6IC9zY3Avc2V0dGluZ3MucGhwP3Q9YWxlcnRzCmdyb3VwX21lbWJlcnNoaXA6CiAgdGl0bGU6IE9udHZhbmdlcnMgdmFuIFdhYXJzY2h1d2luZ2VuICZhbXA7IE1lZGVkZWxpbmdlbgogIGNvbnRlbnQ6ID4KICAgIFNlbGVjdGVlciBkZSBvbnR2YW5nZXJzIHZvb3IgZGUgZ2Vjb25maWd1cmVlcmRlIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+V2FhcnNjaHV3aW5nZW4gJmFtcDsgTWVkZWRlbGluZ2VuPC9zcGFuPi4KICBsaW5rczoKICAgIC0gCiAgICAgIHRpdGxlOiBDb25maWd1cmVlciBXYWFyc2NodXdpbmdlbiAmYW1wOyBNZWRlZGVsaW5nZW4KICAgICAgaHJlZjogIi9zY3Avc2V0dGluZ3MucGhwP3Q9dGlja2V0cyNhbGVydHMiCnNhbmRib3hpbmc6CiAgdGl0bGU6IEJlcGVya2luZ2VuIHRvdCBUaWNrZXQgVG9ld2lqemluZwogIGNvbnRlbnQ6ID4KICAgIElmIGRpc2FibGVkIG9yIGFyY2hpdmVkLCB0aGlzIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+SGVscCBUb3BpYzwvc3Bhbj4gd2lsbCBub3QgYmUgYXZhaWxhYmxlLgpkaXNhYmxlX2F1dG9fY2xhaW06CiAgdGl0bGU6IFNjaGFrZWwgYXV0b21hdGlzY2hlIHRvZWtlbm5pbmcgdWl0CiAgY29udGVudDogPgogICAgVmluayBkaXQgYWFuIG9tIGF1dG9tYXRpc2NoZSB0b2VrZW5uaW5nIGJpaiBiZWFudHdvb3JkaW5nIGVuIHJlYWN0aWUgPHN0cm9uZz51aXQ8L3N0cm9uZz4gdGUgc2NoYWtlbGVuLjxicj48YnI+QWdlbnRlbiBrdW5uZW4gbm9nIGFsdGlqZCBuaWV0IHRvZWdld2V6ZW4gdGlja2V0cyB0b2V3aWp6ZW4KZGlzYWJsZV9yZW9wZW5fYXV0b19hc3NpZ246CiAgdGl0bGU6IERpc2FibGUgQXV0byBBc3NpZ24gb24gUmVvcGVuCiAgY29udGVudDogPgogICAgQ2hlY2sgdGhpcyB0byA8c3Ryb25nPmRpc2FibGU8L3N0cm9uZz4gYXV0by1hc3NpZ25tZW50IG9mIHJlb3BlbmVkIHRpY2tldHMgZm9yIHRoaXMgZGVwYXJ0bWVudC4gPGJyPjxicj4gT3RoZXJ3aXNlLCB0aGUgVGlja2V0IHdpbGwgYmUgYXV0byBhc3NpZ25lZCB0byB0aGUgbGFzdCByZXNwb25kaW5nIEFnZW50CmF1dG9fcmVzcG9uc2Vfc2V0dGluZ3M6CiAgdGl0bGU6IEF1dG9tYXRpc2NoIGFudHdvb3JkIGluc3RlbGxpbmdlbgogIGNvbnRlbnQ6ID4KICAgIERpdCBsYWF0IGplIHRvZSBvbSBkZSBnbG9iYWxlIGluc3RlbGxpbmdlbiB2YW4gQXV0b21hdGlzY2ggYW50d29vcmQgdGUgb3ZlcnNjaHJpanZlbiB2b29yIGRlemUgYWZkZWxpbmcuCm5ld190aWNrZXQ6CiAgdGl0bGU6IEF1dG9tYXRpc2NoIGFudHdvb3JkIG9wIG5pZXV3IHRpY2tldAogIGNvbnRlbnQ6ID4KICAgIEplIGt1bnQgZGUgQXV0b21hdGlzY2hlIEJlYW50d29vcmRpbmcgdmFuIG5pZXV3IGFhbmdlbWFha3RlIHRpY2tldHMgaW4gb2YgdWl0IHNjaGFrZWxlbi4KbmV3X21lc3NhZ2U6CiAgdGl0bGU6IE5pZXV3IGJlcmljaHQgYXV0b21hdGlzY2ggYW50d29vcmQKICBjb250ZW50OiA+CiAgICBKZSBrdW50IGhldCBhdXRvbWF0aXNjaCBiZWFudHdvb3JkZW4gdmFuIG5pZXV3ZSBiZXJpY2h0ZW4gaW4gdGlja2V0cyB1aXRzY2hha2VsZW4gdm9vciBkZXplIGFmZGVsaW5nLgphdXRvX3Jlc3BvbnNlX2VtYWlsOgogIHRpdGxlOiBBdXRvLWFudHdvb3JkIGVtYWlsCiAgY29udGVudDogPgogICAgVm9lciBoZXQgYWZ6ZW5kZXItZW1haWxhZHJlcyBpbiB2b29yIGF1dG9tYXRpc2NoZSBiZXJpY2h0ZW4gZGllIHZvb3IgZGV6ZSBhZmRlbGluZyB3b3JkZW4gdmVyc3R1dXJkLgpkZXBhcnRtZW50X2FjY2VzczoKICB0aXRsZTogR3JvZXAgdG9lZ2FuZwogIGNvbnRlbnQ6ID4KICAgIEdlZWYgYWdlbnRlbiB2YW4gYW5kZXJlIGFmZGVsaW5nIHRvZXN0ZW1taW5nIG9tIGRlIHRpY2tldHMgdmFuIGRlemUgYWZkZWxpbmcgdGUgemllbi4KZGVwYXJ0bWVudF9zaWduYXR1cmU6CiAgdGl0bGU6IEFmZGVsaW5ncy1oYW5kdGVrZW5pbmcKICBjb250ZW50OiA+CiAgICBFZW4gaGFuZHRla2VuaW5nIGthbiBiaWogIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy1vcHQiPlB1YmxpZWtlbGlqa2U8L3NwYW4+IGFmZGVsaW5nZW4gZG9vciBhZ2VudGVuIG9wdGlvbmVlbCBnZWtvemVuIHdvcmRlbi4KI1RoaXMgaXMgcG9wdXAgaGVscCBtZXNzYWdlcyBmb3IgdGhlIEFkbWluIFBhbmVsIC0+IFN0YWZmIC0+IERlcGFydG1lbnRzCiNGaWVsZHM6CiN0aXRsZSAtIFNob3duIGluIGJvbGQgYXQgdGhlIHRvcCBvZiB0aGUgcG9wb3ZlciB3aW5kb3cKI2NvbnRlbnQgLSBUaGUgYm9keSBvZiB0aGUgaGVscCBwb3BvdmVyCiNsaW5rcyAtIExpc3Qgb2YgbGlua3Mgc2hvd3MgYmVsb3cgdGhlIGNvbnRlbnQKI3RpdGxlIC0gTGluayB0aXRsZQojaHJlZiAtIGhyZWYgb2YgbGluayAobGlua3Mgc3RhcnRpbmcgd2l0aCAvIGFyZSB0cmFuc2xhdGVkIHRvIHRoZQojaGVscGRlc2sgaW5zdGFsbGF0aW9uIHBhdGgpCiNUaGUga2V5IG5hbWVzIHN1Y2ggYXMgJ2hlbHBkZXNrX25hbWUnIHNob3VsZCBub3QgYmUgdHJhbnNsYXRlZCBhcyB0aGV5CiNtdXN0IG1hdGNoIHRoZSBIVE1MICNpZHMgcHV0IGludG8gdGhlIHBhZ2UgdGVtcGxhdGUuCi0tLQp0eXBlOgogIHRpdGxlOiBUeXBlCiAgY29udGVudDogPgogICAgQWxzIGhldCBUeXBlIEFmZGVsaW5nIFByaXbDqSBzdGFhdCwgemFsIGRlIEhhbmR0ZWtlbmluZyB2YW4gZGUgQWZkZWxpbmcgbmlldCBiZXNjaGlrYmFhciB6aWpuIGFscyBhbnR3b29yZCBub2NoIHphbCBkZSBhZmRlbGluZyB0b2V3aWp6aW5nIHZlcnNjaGlqbmVuIGluIGRlIENsaWVudC1Qb3J0YWwuCmRlcHRfbWFuYWdlcjoKICB0aXRsZTogQWZkZWxpbmdzYmVoZWVyZGVyCiAgY29udGVudDogPgogICAgVSBrdW50IGVlbiBWZXJhbnR3b29yZGVsaWprZSBhbHMgQWZkZWxpbmdzYmVoZWVyZGVyIGFhbmR1aWRlbi4gRGV6ZSB6dWxsZW4gV2FhcnNjaHV3aW5nZW4gJiBNZWRlZGVsaW5nZW4gb250dmFuZ2VuIHZvb3IgdGlja2V0cyBpbiBkZSBhZmRlbGluZ2VuLgogIDA6IFZlcmFudHdvb3JkZWxpamtlbiBob2V2ZW4gZ2VlbiBsZWRlbiB2YW4gZGUgQWZkZWxpbmcgdGUgemlqbiBvbSBBZmRlbGluZ3NiZWhlZXJkZXIgdGUgemlqbgojVGhpcyBpcyBwb3B1cCBoZWxwIG1lc3NhZ2VzIGZvciB0aGUgQWRtaW4gUGFuZWwgLT4gU3RhZmYgLT4gQWRkIE5ldyBHcm91cCAgLT4gVXNlciBHcm91cCBGb3JtCiNGaWVsZHM6CiN0aXRsZSAtIFNob3duIGluIGJvbGQgYXQgdGhlIHRvcCBvZiB0aGUgcG9wb3ZlciB3aW5kb3cKI2NvbnRlbnQgLSBUaGUgYm9keSBvZiB0aGUgaGVscCBwb3BvdmVyCiNsaW5rcyAtIExpc3Qgb2YgbGlua3Mgc2hvd3MgYmVsb3cgdGhlIGNvbnRlbnQKI3RpdGxlIC0gTGluayB0aXRsZQojaHJlZiAtIGhyZWYgb2YgbGluayAobGlua3Mgc3RhcnRpbmcgd2l0aCAvIGFyZSB0cmFuc2xhdGVkIHRvIHRoZQojaGVscGRlc2sgaW5zdGFsbGF0aW9uIHBhdGgpCiNUaGUga2V5IG5hbWVzIHN1Y2ggYXMgJ2hlbHBkZXNrX25hbWUnIHNob3VsZCBub3QgYmUgdHJhbnNsYXRlZCBhcyB0aGV5CiNtdXN0IG1hdGNoIHRoZSBIVE1MICNpZHMgcHV0IGludG8gdGhlIHBhZ2UgdGVtcGxhdGUuCi0tLQpncm91cHM6CiAgdGl0bGU6IEdyb2VwZW4KICBjb250ZW50OiA+CiAgICBHcm9lcGVuIHdvcmRlbiBnZWJydWlrdCBvbSByZWNodGVuIHZhbiB2ZXJhbnR3b29yZGVsaWprZW4gaW4gZGUgaGVscCBkZXNrIHRlIGRlZmluacOrcmVuLiBHcm9lcGVuIGt1bm5lbiBvb2sgdG9lZ2FuZyB2ZXJsZW5lbiB0b3QgQWZkZWxpbmdlbiBkaWUgbmlldCBkZSBTdGFuZGFhcmQgQWZkZWxpbmcgemlqbiB2YW4gZWVuIFZlcmFudHdvb3JkZWxpamtlLgpzdGF0dXM6CiAgdGl0bGU6IFN0YXR1cwogIGNvbnRlbnQ6ID4KICAgIEFscyBkaXQgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLW9wdCI+VWl0Z2VzY2hha2VsZDwvc3Bhbj4gaXMsIGt1bm5lbiBWZXJhbnR3b29yZGVsaWprZW4gZGllIHRvZWdld2V6ZW4gemlqbiBhYW4gZGV6ZSBHcm9lcCBuaWV0IGlubG9nZ2VuIGVuIHp1bGxlbiBnZWVuIEFmZGVsaW5nIFdhYXJzY2h1d2luZ2VuICZhbXA7IE1lZGVkZWxpbmdlbiBvbnR2YW5nZW4uCmRlcGFydG1lbnRfYWNjZXNzOgogIHRpdGxlOiBBZmRlbGluZ3N0b2VnYW5nCiAgY29udGVudDogPgogICAgVmluayBhbGxlIGFmZGVsaW5nZW4gYWFuIHdhYXJhYW4gZGUgbGVkZW4gdmFuIGRlIGdyb2VwIHRvZWdhbmcgaGViYmVuLgojVGhpcyBpcyBwb3B1cCBoZWxwIG1lc3NhZ2VzIGZvciB0aGUgQWRtaW4gUGFuZWwgLT4gU3RhZmYgLT4gU3RhZmYgTWVtYmVycwojRmllbGRzOgojdGl0bGUgLSBTaG93biBpbiBib2xkIGF0IHRoZSB0b3Agb2YgdGhlIHBvcG92ZXIgd2luZG93CiNjb250ZW50IC0gVGhlIGJvZHkgb2YgdGhlIGhlbHAgcG9wb3ZlcgojbGlua3MgLSBMaXN0IG9mIGxpbmtzIHNob3dzIGJlbG93IHRoZSBjb250ZW50CiN0aXRsZSAtIExpbmsgdGl0bGUKI2hyZWYgLSBocmVmIG9mIGxpbmsgKGxpbmtzIHN0YXJ0aW5nIHdpdGggLyBhcmUgdHJhbnNsYXRlZCB0byB0aGUKI2hlbHBkZXNrIGluc3RhbGxhdGlvbiBwYXRoKQojVGhlIGtleSBuYW1lcyBzdWNoIGFzICdoZWxwZGVza19uYW1lJyBzaG91bGQgbm90IGJlIHRyYW5zbGF0ZWQgYXMgdGhleQojbXVzdCBtYXRjaCB0aGUgSFRNTCAjaWRzIHB1dCBpbnRvIHRoZSBwYWdlIHRlbXBsYXRlLgotLS0Kc3RhZmZfbWVtYmVyczoKICB0aXRsZTogTWVkZXdlcmtlcnMKICBjb250ZW50OiA+CiAgICBEZSB2b2xnZW5kZSB0YWJlbCBnZWVmdCBkZSByZXN1bHRhdGVuIHdlZXIgdmFuIGRlIGZpbHRlciBlcmJvdmVuLiBBbHMgZXIgZ2VlbiBmaWx0ZXIgZ2Vrb3plbiBpcywgenVsbGVuIGFsbGUgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5WZXJhbnR3b29yZGVsaWprZTwvc3Bhbj4gKE1lZGV3ZXJrZXIpIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+TGVkZW48L3NwYW4+IGdldG9vbmQgd29yZGVuLCBlbiBnZXNwbGl0c3Qgd29yZGVuIGluIHBhZ2luYSdzLiBaaWUgZGUgcGFnaW5hJ3Mgc2VjdGllIG9tIGRvb3IgbWVlcmRlcmUgcmVzdWx0YXRlbiB0ZSBuYXZpZ2VyZW4uCnN0YXR1czoKICB0aXRsZTogU3RhdHVzCiAgY29udGVudDogPgogICAgRGl0IHphbCB3ZWVyZ2V2ZW4gb2YgZGUgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5WZXJhbnR3b29yZGVsaWprZTwvc3Bhbj4gR2Vsb2NrZWQsIEFjdGllZiBvZiBBY3RpZWYgKGluIFZha2FudGllKSBpcy4KI1RoaXMgaXMgcG9wdXAgaGVscCBtZXNzYWdlcyBmb3IgdGhlIEFkbWluIFBhbmVsIC0+IFN0YWZmIC0+IFRlYW1zCiNGaWVsZHM6CiN0aXRsZSAtIFNob3duIGluIGJvbGQgYXQgdGhlIHRvcCBvZiB0aGUgcG9wb3ZlciB3aW5kb3cKI2NvbnRlbnQgLSBUaGUgYm9keSBvZiB0aGUgaGVscCBwb3BvdmVyCiNsaW5rcyAtIExpc3Qgb2YgbGlua3Mgc2hvd3MgYmVsb3cgdGhlIGNvbnRlbnQKI3RpdGxlIC0gTGluayB0aXRsZQojaHJlZiAtIGhyZWYgb2YgbGluayAobGlua3Mgc3RhcnRpbmcgd2l0aCAvIGFyZSB0cmFuc2xhdGVkIHRvIHRoZQojaGVscGRlc2sgaW5zdGFsbGF0aW9uIHBhdGgpCiNUaGUga2V5IG5hbWVzIHN1Y2ggYXMgJ2hlbHBkZXNrX25hbWUnIHNob3VsZCBub3QgYmUgdHJhbnNsYXRlZCBhcyB0aGV5CiNtdXN0IG1hdGNoIHRoZSBIVE1MICNpZHMgcHV0IGludG8gdGhlIHBhZ2UgdGVtcGxhdGUuCi0tLQp0ZWFtczoKICB0aXRsZTogVGVhbQogIGNvbnRlbnQ6ID4KICAgIEVlbiBUZWFtIGlzIGVlbiB2ZXJ6YW1lbGluZyB2YW4gw6nDqW4gb2YgbWVlcmRlcmUgTWVkZXdlcmtlcnMgbWV0IGhldCBvb2cgb3AgdG9ld2lqemluZ2VuIHZhbiB0aWNrZXJzLiBXaWUgaW4gZWVuIFRlYW0geml0IGthbiBidWl0ZW4gZGUgQWZkZWxpbmcgZ3JlbnplbiBhY3RlcmVuLgpzdGF0dXM6CiAgdGl0bGU6IFN0YXR1cwogIGNvbnRlbnQ6ID4KICAgIEluZGllbiBkaXQgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLW9wdCI+VWl0Z2VzY2hha2VsZDwvc3Bhbj4gaXMsIHphbCBkaXQgVGVhbSBuaWV0IGluIHN0YWF0IHppam4gb20gdGlja2V0cyB0b2UgdGUgd2lqemVuIG5vY2ggdm9vciBoZXQgb250dmFuZ2VuIHZhbiBXYWFyc2NodXdpbmdlbiAmYW1wOyBNZWRlZGVsaW5nZW4gdmFuIHZvb3JnYWFuZGUgdG9ld2lqemluZ2VuLgpsZWFkOgogIHRpdGxlOiBUZWFtbGVpZGVyCiAgY29udGVudDogPgogICAgRWVuIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+VGVhbTwvc3Bhbj4ga2FuIGVlbiB0b2VnZXdlemVuIGxlaWRlciBsZWlkZXIgaGViYmVuIGRpZSA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPldhYXJzY2h1d2luZ2VuICZhbXA7IE1lZGVkZWxpbmdlbjwvc3Bhbj4ga2FuIG9udHZhbmdlbiwgZ2VzY2hlaWRlbiB2YW4gZGUgbGVkZW4uCiAgbGlua3M6CiAgICAtIAogICAgICB0aXRsZTogQ29uZmlndXJlZXIgV2FhcnNjaHV3aW5nZW4gJmFtcDsgTWVkZWRlbGluZ2VuCiAgICAgIGhyZWY6IC9zY3Avc2V0dGluZ3MucGhwP3Q9YWxlcnRzCmFzc2lnbm1lbnRfYWxlcnQ6CiAgdGl0bGU6IFRvZXdpanppbmcgQWxlcnQKICBjb250ZW50OiA+CiAgICBVIGt1bnQgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5XYWFyc2NodXdpbmcgdm9vciBUaWNrZXQgdG9ld2lqemluZzwvc3Bhbj4gdWl0c2NoYWtlbGVuIHZvb3IgdGlja2V0cyBkaWUgYWFuIGRpdCBUZWFtIHppam4gdG9lZ2V3ZXplbi4KICBsaW5rczoKICAgIC0gCiAgICAgIHRpdGxlOiBDb25maWd1cmVlciBXYWFyc2NodXdpbmdlbiAmYW1wOyBNZWRlZGVsaW5nZW4KICAgICAgaHJlZjogL3NjcC9zZXR0aW5ncy5waHA/dD1hbGVydHMKbWVtYmVyczoKICB0aXRsZTogTGVkZW4gdmFuIGhldCB0ZWFtCiAgY29udGVudDogPgogICAgVGVhbSBsaWRtYWFkc2NoYXAgaXMgZ2Vjb25maWd1cmVlcmQgdmFudWl0IGhldCBWZXJhbnR3b29yZGVsaWprZS1wcm9maWVsLgogIGxpbmtzOgogICAgLSAKICAgICAgdGl0bGU6IE1lZGV3ZXJrZXJzIGJlaGVyZW4KICAgICAgaHJlZjogL3NjcC9zdGFmZi5waHAKI1RoaXMgaXMgcG9wdXAgaGVscCBtZXNzYWdlcyBmb3IgdGhlIEFkbWluIFBhbmVsIC0+IFN0YWZmCiNGaWVsZHM6CiN0aXRsZSAtIFNob3duIGluIGJvbGQgYXQgdGhlIHRvcCBvZiB0aGUgcG9wb3ZlciB3aW5kb3cKI2NvbnRlbnQgLSBUaGUgYm9keSBvZiB0aGUgaGVscCBwb3BvdmVyCiNUaGUga2V5IG5hbWVzIHN1Y2ggYXMgJ2hlbHBkZXNrX25hbWUnIHNob3VsZCBub3QgYmUgdHJhbnNsYXRlZCBhcyB0aGV5CiNtdXN0IG1hdGNoIHRoZSBIVE1MICNpZHMgcHV0IGludG8gdGhlIHBhZ2UgdGVtcGxhdGUuCi0tLQpzaWduYXR1cmU6CiAgdGl0bGU6IE1lZGV3ZXJrZXIgaGFuZHRla2VuaW5nIHJlZ2VsCiAgY29udGVudDogfAogICAgTWFhayBoYW5kdGVrZW5pbmcgdm9vciBtZWRld2Vya2VycyB2b29yIHJlYWN0aWVzIG9wIHRpY2tldHMuIERlemUgaGFuZHRla2VuaW5nIHZlcnNjaGlqbnQgb3B0aW9uZWVsIG9uZGVyYWFuIGJpaiBlZW4gcmVhY3RpZSBvcCBlZW4gdGlja2V0CnR5cGU6CiAgdGl0bGU6IEFjY291bnQgdHlwZQogIGNvbnRlbnQ6IHwKICAgIEJlaGVlcmRlcnMgaGViYmVuIGhldCB2b29ycmVjaHQgdmFuIGRlIHRvZWdhbmcgdG90IGhldCBBZG1pbiBQYW5lZWwuIE1lZGV3ZXJrZXJzIGhlYmJlbiBhbGxlZW4gdG9lZ2FuZyB0b3QgaGV0IGJlaGVyZW4gdmFuIHRpY2tldHMgZW4gZGUga2VubmlzYmFuawpncm91cDoKICB0aXRsZTogVG9lZ2V3ZXplbiBncm9lcAogIGNvbnRlbnQ6IHwKICAgIEdyb2Vwc2xpZG1hYXRzY2hhcCBkZWZpbmllZXJ0IGRlIHJvbCB2YW4gbWVkZXdlcmtlcnMgaW4gaGV0IHN5c3RlZW0uIEJlem9layBkZSBwYWdpbmEgZ3JvZXBzYmVoZWVyIG9tIGFhbiB0ZSBnZXZlbiB3ZWxrZSB0b2VnYW5nIGRlemUgbWVkZXdlcmtlcnMgaGViYmVuIGJpaiBkZSBoZWxwZGVzawpub3RlczoKICB0aXRsZTogSW50ZXJuZSBub3RpdGllcwogIGNvbnRlbnQ6IHwKICAgIFBsYWF0cyBpbnRlcm5lIG5vdGl0aWVzIGJldHJlZmZlbmRlIG1lZGV3ZXJrZXJzOyBub3RpdGllcyB6aWpuIGFsbGVlbiB6aWNodGJhYXIgdm9vciBtZWRld2Vya2VycyBtZXQgaGV0IGFjY291bnQgdHlwZSBBZG1pbgojVGhpcyBpcyBwb3B1cCBoZWxwIG1lc3NhZ2VzIGZvciB0aGUgQWdlbnRzIFBhbmVsIC0+IFRhc2tzCiNGaWVsZHM6CiN0aXRsZSAtIFNob3duIGluIGJvbGQgYXQgdGhlIHRvcCBvZiB0aGUgcG9wb3ZlciB3aW5kb3cKI2NvbnRlbnQgLSBUaGUgYm9keSBvZiB0aGUgaGVscCBwb3BvdmVyCiNsaW5rcyAtIExpc3Qgb2YgbGlua3Mgc2hvd3MgYmVsb3cgdGhlIGNvbnRlbnQKI3RpdGxlIC0gTGluayB0aXRsZQojaHJlZiAtIGhyZWYgb2YgbGluayAobGlua3Mgc3RhcnRpbmcgd2l0aCAvIGFyZSB0cmFuc2xhdGVkIHRvIHRoZQojaGVscGRlc2sgaW5zdGFsbGF0aW9uIHBhdGgpCiNUaGUga2V5IG5hbWVzIHN1Y2ggYXMgJ2hlbHBkZXNrX25hbWUnIHNob3VsZCBub3QgYmUgdHJhbnNsYXRlZCBhcyB0aGV5CiNtdXN0IG1hdGNoIHRoZSBIVE1MICNpZHMgcHV0IGludG8gdGhlIHBhZ2UgdGVtcGxhdGUuCi0tLQphZHZhbmNlZDoKICB0aXRsZTogR2VhdmFuY2VlcmQgem9la2VuCiAgY29udGVudDogPgogICAgU3RlbCBqZSB6b2VrcGFyYW1ldGVycyBpbi4gT3AgaGV0IG1vbWVudCBkYXQgamUgZGUgZ2VhdmFuY2VlcmRlIHpvZWtwYXJhbWV0ZXJzIGhlYnQgaW5nZXZ1bGQgZW4gb3Agem9layBrbGlrdCwga3VuIGplIGRlIHJlc3VsdGF0ZW4gPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5leHBvcnRlcmVuPC9zcGFuPiBiZW5lZGVuIGFhbiBkZSBwYWdpbmEuCmV4cG9ydDoKICB0aXRsZTogRXhwb3J0ZWVyCiAgY29udGVudDogPgogICAgRXhwb3J0ZWVyIHV3IGRhdGEgaW4gZWVuIENTViBiZXN0YW5kLiBDU1YgYmVzdGFuZGVuIG1vZXRlbiBnZW9wZW5kIHdvcmRlbiBtZXQgZWVuIHNwcmVhZHNoZWV0IHByb2dyYW1tYSAoYnYuIE1pY3Jvc29mdCBFeGNlbCwgQXBwbGUgTnVtYmVycywgT3Blbk9mZmljZSwgZW56LikKI1RoaXMgaXMgcG9wdXAgaGVscCBtZXNzYWdlcyBmb3IgdGhlIFN0YWZmIFBhbmVsIC0+IFRpY2tldHMgLT4gT3BlbgojRmllbGRzOgojdGl0bGUgLSBTaG93biBpbiBib2xkIGF0IHRoZSB0b3Agb2YgdGhlIHBvcG92ZXIgd2luZG93CiNjb250ZW50IC0gVGhlIGJvZHkgb2YgdGhlIGhlbHAgcG9wb3ZlcgojbGlua3MgLSBMaXN0IG9mIGxpbmtzIHNob3dzIGJlbG93IHRoZSBjb250ZW50CiN0aXRsZSAtIExpbmsgdGl0bGUKI2hyZWYgLSBocmVmIG9mIGxpbmsgKGxpbmtzIHN0YXJ0aW5nIHdpdGggLyBhcmUgdHJhbnNsYXRlZCB0byB0aGUKI2hlbHBkZXNrIGluc3RhbGxhdGlvbiBwYXRoKQojVGhlIGtleSBuYW1lcyBzdWNoIGFzICdoZWxwZGVza19uYW1lJyBzaG91bGQgbm90IGJlIHRyYW5zbGF0ZWQgYXMgdGhleQojbXVzdCBtYXRjaCB0aGUgSFRNTCAjaWRzIHB1dCBpbnRvIHRoZSBwYWdlIHRlbXBsYXRlLgotLS0Kc2VhcmNoX2ZpZWxkOgogIHRpdGxlOiBab2VrdmVsZAogIGNvbnRlbnQ6ID4KCmFkdmFuY2VkOgogIHRpdGxlOiBHZWF2YW5jZWVyZCB6b2VrZW4KICBjb250ZW50OiA+CiAgICBHZWF2YW5jZWVyZGUgem9la29wdGllcy4gWm9kcmEgdSB1dyBnZWF2YW5jZWVyZGUgem9la2NyaXRlcmlhIGhlYnQgZ2VzZWxlY3RlZXJkIGVuIGRlIHpvZWtvcGRyYWNodCBpcyB1aXRnZXZvZXJkLCBrdW50IHUgZGV6ZSA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPmV4cG9ydGVyZW48L3NwYW4+IGFhbiBkZSBvbmRlcmthbnQgdmFuIGRlemUgcGFnaW5hLgpvcGVuX3RpY2tldHNfdGFibGU6CiAgdGl0bGU6IE9wZW4gVGlja2V0cyBUYWJlbAogIGNvbnRlbnQ6ID4KICAgIEFsbGUgdGlja2V0cyB6aWpuIG1vbWVudGVlbCBnZW9wZW5kIGVuIHZyYWdlbiBhdHRlbnRpZQp0aWNrZXQ6CiAgdGl0bGU6IFRpY2tldAogIGNvbnRlbnQ6ID4KCmRhdGU6CiAgdGl0bGU6IERhdHVtCiAgY29udGVudDogPgoKc3ViamVjdDoKICB0aXRsZTogT25kZXJ3ZXJwCiAgY29udGVudDogPgoKZnJvbToKICB0aXRsZTogVmFuCiAgY29udGVudDogPgoKcHJpb3JpdHk6CiAgdGl0bGU6IFByaW9yaXRlaXQKICBjb250ZW50OiA+Cgphc3NpZ25lZF90bzoKICB0aXRsZTogVG9lZ2V3ZXplbiBhYW4KICBjb250ZW50OiA+CgpleHBvcnQ6CiAgdGl0bGU6IEV4cG9ydGVlcgogIGNvbnRlbnQ6ID4KICAgIEV4cG9ydGVlciB1dyBkYXRhIGluIGVlbiBDU1YgYmVzdGFuZC4gQ1NWIGJlc3RhbmRlbiBtb2V0ZW4gZ2VvcGVuZCB3b3JkZW4gbWV0IGVlbiBzcHJlYWRzaGVldCBwcm9ncmFtbWEgKGJ2LiBNaWNyb3NvZnQgRXhjZWwsIEFwcGxlIE51bWJlcnMsIE9wZW5PZmZpY2UsIGVuei4pCmFkdmFuY2VkX3NlYXJjaF9kaWFsb2c6CiAgdGl0bGU6IFVpdGdlYnJlaWQgem9la2VuCiAgY29udGVudDogPgoKYWR2X2tleXdvcmQ6CiAgdGl0bGU6IFpvZWtlbiBvcCB0cmVmd29vcmQKICBjb250ZW50OiA+CiAgICBab2VrIGhpdHMgb3AgYmFzaXMgdmFuIGhldCBvbmRlcndlcnAgZW4gYmVyaWNodCB2YW4gaGV0IHRpY2tldHMuIE9vayBhbGxlIHRla3N0dWVsZSBpbmhvdWQgaW4gdmVyYmFuZCBtZXQgYWFuZ2VwYXN0ZSB2ZWxkZW4gdm9vciBkZSBnZWJydWlrZXJzIGVuIGRlIHRpY2tldHMuCmFkdl9kYXRlX3JhbmdlOgogIHRpdGxlOiBab2VrZW4gb3AgZGF0dW1iZXJlaWsKICBjb250ZW50OiA+CiAgICBEZWZpbml0aWUgaGllcgptZXJnZV90eXBlczoKICB0aXRsZTogTWVyZ2UgVHlwZXMKICBjb250ZW50OiA+CiAgICA8Yj5Db21iaW5lIFRocmVhZHM6PC9iPiBUaHJlYWRzIGZyb20gYWxsIFRpY2tldHMgd2lsbCBiZSBkaXNwbGF5ZWQgY2hyb25vbG9naWNhbGx5LjwvYnI+IDxiPlNlcGFyYXRlIFRocmVhZHM6PC9iPiBUaHJlYWRzIGZyb20gVGlja2V0cyB3aWxsIGJlIGRpc3BsYXllZCBvbmUgVGlja2V0IGF0IGEgdGltZS4KY2hpbGRfc3RhdHVzOgogIHRpdGxlOiBDaGlsZCBUaWNrZXQgU3RhdHVzCiAgY29udGVudDogPgogICAgQWxsIENoaWxkIFRpY2tldHMgd2lsbCBiZSBzZXQgdG8gYSBjbG9zZWQgc3RhdHVzIHNpbmNlIHRocmVhZCBlbnRyaWVzIHdpbGwgYWxsIGJlIG1vdmVkIHRvIHRoZSBQYXJlbnQgVGlja2V0LgpwYXJlbnRfc3RhdHVzOgogIHRpdGxlOiBQYXJlbnQgVGlja2V0IFN0YXR1cwogIGNvbnRlbnQ6ID4KICAgIElmIHlvdSBjaG9vc2UgdG8gc2V0IGEgUGFyZW50IFN0YXR1cywgdGhlIFBhcmVudCBUaWNrZXQgd2lsbCBiZSBjaGFuZ2VkIHRvIHRoZSBzdGF0dXMgeW91IHNlbGVjdC4gVGhlIFRpY2tldCBvbiB0b3Agb2YgdGhlIGxpc3Qgd2lsbCBiZSB0aGUgUGFyZW50IFRpY2tldC4KcmVwbHlfdHlwZXM6CiAgdGl0bGU6IFR5cGUgYW50d29vcmRlbgogIGNvbnRlbnQ6ID4KICAgIDxiPkJlYW50d29vcmQgYWxsZTo8L2I+IERpdCBhbnR3b29yZCB3b3JkdCB2ZXJ6b25kZW4gbmFhciBkZSBnZWJydWlrZXIgZW4gbWVkZWdlYnJ1aWtlcnMgZGllIGplIGtpZXN0LjwvYnI+IDxiPkJlYW50d29vcmQgZ2VicnVpa2VyOjwvYj4gRGl0IGFudHdvb3JkIHdvcmR0IHZlcnN0dXVyZCBuYWFyIGFsbGVlbiBkZSBnZWJydWlrZXIuPC9icj4gPGI+U3R1dXIgZ2VlbiBlbWFpbCBhbnR3b29yZDo8L2I+R2VlbiBlbWFpbHMgd29yZGVuIHZlcnN0dXVyZCwgbWFhciBoZXQgYW50d29vcmQgaXMgd2VsIHppY2h0YmFhciB2b29yIDxiPklFREVSRUVOPC9iPiBkaWUgaGV0IHRpY2tldCBiZWtpamt0LgotIAogICNDYW5uZWQgcmVzcG9uc2UgdGVtcGxhdGVzCi0tLQogIGlzZW5hYmxlZDogMQogIHRpdGxlOiBXYXQgaXMgb3NUaWNrZXQgKHZvb3JiZWVsZCk/CiAgcmVzcG9uc2U6IHwKICAgIG9zVGlja2V0IGlzIGVlbiB2ZWVsIGdlYnJ1aWt0IG9wZW4gc291cmNlIHN1cHBvcnQgdGlja2V0c3lzdGVlbSwgZWVuIGFhbnRyZWtrZWxpamsgYWx0ZXJuYXRpZWYgdm9vciBkdXJlIGVuIGNvbXBsZXhlIGhlbHBkZXNrc3lzdGVtZW4gLSBlZW52b3VkaWcsIGxpY2h0Z2V3aWNodCwgYmV0cm91d2JhYXIsIG9wZW4gc291cmNlLCB3ZWItYmFzZWQgZW4gZ2VtYWtrZWxpamsgdGUgaW5zdGFsbGVyZW4gZW4gZ2VicnVpa2VuLgogIG5vdGVzOiB8CgogIGF0dGFjaG1lbnRzOgogICAgLSAKICAgICAgbmFtZTogb3NUaWNrZXQudHh0CiAgICAgIHR5cGU6IHRleHQvcGxhaW4KICAgICAgZGF0YTogVm9vcmFmIGluZ2VzdGVsZGUgYmlqbGFnZW4gemlqbiBzdXBlciEKLSAKICBpc2VuYWJsZWQ6IDEKICB0aXRsZTogVm9vcmJlZWxkIChtZXQgdmFyaWFiZWxlbikKICByZXNwb25zZTogfAogICAgQmVzdGUgJXt0aWNrZXQubmFtZS5maXJzdH0sIDxicj48YnI+SmUgdGlja2V0IG1ldCBudW1tZXIgIyV7dGlja2V0Lm51bWJlcn0gZ2VtYWFrdCBvcCAle3RpY2tldC5jcmVhdGVfZGF0ZX0gaXMgbmFhciBkZSAle3RpY2tldC5kZXB0Lm5hbWV9IGFmZGVsaW5nIHZlcnpvbmRlbi4KICBub3RlczogfAoKI0VtYWlsIHRlbXBsYXRlOiBhc3NpZ25lZC5hbGVydC55YW1sCiNTZW50IHRvIHN0YWZmIG1lbWJlcnMgd2hlbiBhIHRpY2tldCBpcyBhc3NpZ25lZCB0byB0aGVtLiBUaWNrZXRzIGNhbiBiZQojYXNzaWduZWQgYXV0b21hdGljYWxseSBieSB0aGUgc3lzdGVtIG9yIG1hbnVhbGx5IGJ5IGFub3RoZXIgc3RhZmYgbWVtYmVyLgojVXNlICV7YXNzaWduZXJ9IHRvIGRpc3Rpbmd1aXNoIHdobyBtYWRlIHRoZSBhc3NpZ25tZW50LgotLS0Kbm90ZXM6IHwKICBWZXJ6b25kZW4gbmFhciBtZWRld2Vya2VycyB3YW5uZWVyIGVlbiB0aWNrZXQgYWFuIGhlbiBpcyB0b2VnZXdlemVuLiBUaWNrZXRzIGt1bm5lbiBhdXRvbWF0aXNjaCB3b3JkZW4gdG9lZ2V3ZXplbiBkb29yIGhldCBzeXN0ZWVtIG9mIGhhbmRtYXRpZyBkb29yIGVlbiBhbmRlcmUgbWVkZXdlcmtlci4gR2VicnVpayAle2Fzc2lnbmVyfSBvbSB0ZSBvbmRlcnNjaGVpZGVuIHdpZSBkZSB0b2V3aWp6aW5nIGhlZWZ0IGdlbWFha3QuCnN1YmplY3Q6IHwKICBUaWNrZXQgaXMgYWFuIHUgdG9lZ2V3ZXplbgpib2R5OiB8CiAgPGgzPjxzdHJvbmc+SG9pICV7YXNzaWduZWUubmFtZS5maXJzdH0sPC9zdHJvbmc+PC9oMz4gVGlja2V0IDxhIGhyZWY9IiV7dGlja2V0LnN0YWZmX2xpbmt9Ij4gIyV7dGlja2V0Lm51bWJlcn08L2E+IGlzIGFhbiB1IHRvZWdld2V6ZW4gZG9vciAle2Fzc2lnbmVyLm5hbWUuc2hvcnR9IDxicj48YnI+PHRhYmxlPjx0Ym9keT48dHI+PHRkPjxzdHJvbmc+VmFuPC9zdHJvbmc+OjwvdGQ+IDx0ZD4le3RpY2tldC5uYW1lfSAmbHQ7ICV7dGlja2V0LmVtYWlsfSAmZ3Q7PC90ZD48L3RyPiA8dHI+PHRkPjxzdHJvbmc+T25kZXJ3ZXJwPC9zdHJvbmc+OjwvdGQ+IDx0ZD4le3RpY2tldC5zdWJqZWN0fTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+IDxicj4le2NvbW1lbnRzfSA8YnI+PGJyPjxocj48ZGl2Pk9tIGhldCB0aWNrZXQgdGUgemllbiBvZiBvbSBlciBvcCB0ZSBhbnR3b29yZGVuLCBrdW50IHUgPGEgaHJlZj0iJXt0aWNrZXQuc3RhZmZfbGlua30iPiA8c3BhbiBzdHlsZT0iY29sb3I6IHJnYig4NCwgMTQxLCAyMTIpOyIgPiBpbmxvZ2dlbjwvc3Bhbj48L2E+IGluIGhldCBTdXBwb3J0IFRpY2tldCBzeXN0ZWVtPC9kaXY+IDxlbSBzdHlsZT0iZm9udC1zaXplOiBzbWFsbDsiPiBVdyB2cmllbmRlbGlqa2UgU3VwcG9ydCBUaWNrZXQgc3lzdGVlbTwvZW0+IDxicj48aW1nIHNyYz0iY2lkOmI1Njk0NGNiNDcyMmNjNWNkYTlkMWUyM2EzZWE3ZmJjIiBhbHQ9IlBvd2VyZWQgYnkgb3NUaWNrZXQiIHdpZHRoPSIxMjYiIGhlaWdodD0iMTkiIHN0eWxlPSJ3aWR0aDogMTI2cHg7Ij4KI0VtYWlsIHRlbXBsYXRlOiBtZXNzYWdlLmFsZXJ0LnlhbWwKI1NlbnQgdG8gc3RhZmYgbWVtYmVycyB3aGVuIGEgbmV3IG1lc3NhZ2UgaXMgcG9zdGVkIGJ5IGEgdXNlciB0byBhIHRpY2tldC4KI1RoaXMgY2FuIG9jY3VyIGlmIHRoZSB1c2VycyByZXNwb25kcyB0byBhbiBlbWFpbCBmcm9tIHRoZSBzeXN0ZW0gb3IgdmlzaXRzCiN0aGUgY3VzdG9tZXIgd2ViIHBvcnRhbCBhbmQgcG9zdHMgYSBuZXcgbWVzc2FnZSB0aGVyZS4KLS0tCm5vdGVzOiB8CiAgV29yZHQgbmFhciBtZWRld2Vya2VycyB2ZXJ6b25kZW4gd2FubmVlciBkb29yIGVlbiBnZWJydWlrZXIgZWVuIG5pZXV3IGJlcmljaHQgaXMgZ2VwbGFhdHN0IGluIGVlbiB0aWNrZXQuIERpdCBrYW4gZ2ViZXVyZW4gYWxzIGRlIGdlYnJ1aWtlciBhbnR3b29yZHQgb3AgZWVuIHN5c3RlZW0gZS1tYWlsIG9mIHZpYSBoZXQga2xhbnRlbnBvcnRhYWwgZWVuIG5pZXV3IGJlcmljaHQgaGVlZnQgZ2VwbGFhdHN0LgpzdWJqZWN0OiB8CiAgTWVsZGluZyB2YW4gbmlldXcgYmVyaWNodApib2R5OiB8CiAgPGgzPjxzdHJvbmc+SGkgJXtyZWNpcGllbnQubmFtZX0sPC9zdHJvbmc+PC9oMz4KICBOZXcgbWVzc2FnZSBhcHBlbmRlZCB0byB0aWNrZXQgPGEKICBocmVmPSIle3RpY2tldC5zdGFmZl9saW5rfSI+IyV7dGlja2V0Lm51bWJlcn08L2E+CiAgPGJyPgogIDxicj4KICA8dGFibGU+CiAgPHRib2R5PgogIDx0cj4KICAgICAgPHRkPgogICAgICAgICAgIDxzdHJvbmc+RnJvbTwvc3Ryb25nPjoKICAgICAgPC90ZD4KICAgICAgPHRkPgogICAgICAgICAgICV7cG9zdGVyLm5hbWV9ICZsdDsle3RpY2tldC5lbWFpbH0mZ3Q7CiAgICAgIDwvdGQ+CiAgPC90cj4KICA8dHI+CiAgICAgIDx0ZD4KICAgICAgICAgICA8c3Ryb25nPkRlcGFydG1lbnQ8L3N0cm9uZz46CiAgICAgIDwvdGQ+CiAgICAgIDx0ZD4KICAgICAgICAgICAle3RpY2tldC5kZXB0Lm5hbWV9CiAgICAgIDwvdGQ+CiAgPC90cj4KICA8L3Rib2R5PgogIDwvdGFibGU+CiAgPGJyPgogICV7bWVzc2FnZX0KICA8YnI+CiAgPGJyPgogIDxocj4KICA8ZGl2PlRvIHZpZXcgb3IgcmVzcG9uZCB0byB0aGUgdGlja2V0LCBwbGVhc2UgPGEKICBocmVmPSIle3RpY2tldC5zdGFmZl9saW5rfSI+PHNwYW4gc3R5bGU9ImNvbG9yOiByZ2IoODQsIDE0MSwgMjEyKTsiCiAgPmxvZ2luPC9zcGFuPjwvYT4gdG8gdGhlIHN1cHBvcnQgdGlja2V0IHN5c3RlbTwvZGl2PgogIDxlbSBzdHlsZT0iY29sb3I6IHJnYigxMjcsMTI3LDEyNyk7IGZvbnQtc2l6ZTogc21hbGw7ICI+WW91ciBmcmllbmRseQogIEN1c3RvbWVyIFN1cHBvcnQgU3lzdGVtPC9lbT48YnI+CiAgPGltZyBzcmM9ImNpZDpiNTY5NDRjYjQ3MjJjYzVjZGE5ZDFlMjNhM2VhN2ZiYyIKICBhbHQ9IlBvd2VyZWQgYnkgb3NUaWNrZXQiIHdpZHRoPSIxMjYiIGhlaWdodD0iMTkiIHN0eWxlPSJ3aWR0aDogMTI2cHg7Ij4KI0VtYWlsIHRlbXBsYXRlOiBtZXNzYWdlLmF1dG9yZXNwLnlhbWwKI1NlbnQgdG8gYSB1c2VyIHdoZW4gdGhlIHVzZXIgcG9zdHMgYSBuZXcgbWVzc2FnZSB0byBhIHRpY2tldC4gVGhpcyBjYW4KI2hhcHBlbiBpZiB0aGUgdXNlcnMgcmVzcG9uZHMgdG8gYW4gZW1haWwgZnJvbSB0aGUgc3lzdGVtIG9yIHZpc2l0cyB0aGUKI2N1c3RvbWVyIHdlYiBwb3J0YWwgYW5kIHBvc3RzIGEgbmV3IG1lc3NhZ2UgdGhlcmUuCi0tLQpub3RlczogfAogIFdvcmR0IG5hYXIgZWVuIGdlYnJ1aWtlciB2ZXJ6b25kZW4gd2FubmVlciBkZSBnZWJydWlrZXIgZWVuIG5pZXV3IGJlcmljaHQgaW4gZWVuIHRpY2tldCBoZWVmdCBnZXBsYWF0c3QuIERpdCBrYW4gZ2ViZXVyZW4gYWxzIGRlIGdlYnJ1aWtlciBhbnR3b29yZHQgb3AgZWVuIHN5c3RlZW0gZS1tYWlsIG9mIHZpYSBoZXQga2xhbnRlbnBvcnRhYWwgZWVuIG5pZXV3IGJlcmljaHQgaGVlZnQgcGxhYXRzdC4Kc3ViamVjdDogfAogIEJldmVzdGlnaW5nIHZhbiBiZXJpY2h0CmJvZHk6IHwKICA8aDM+PHN0cm9uZz5CZXN0ZSAle3JlY2lwaWVudC5uYW1lLmZpcnN0fSw8L3N0cm9uZz48L2gzPgogIFV3IHJlYWN0aWUgb3Agc3VwcG9ydCB2ZXJ6b2VrIDxhCiAgaHJlZj0iJXtyZWNpcGllbnQudGlja2V0X2xpbmt9Ij4jJXt0aWNrZXQubnVtYmVyfTwvYT4gaXMgZ2Vub3RlZXJkLgogIDxicj4KICA8YnI+CiAgPGRpdiBzdHlsZT0iY29sb3I6IHJnYigxMjcsIDEyNywgMTI3KTsgIj4KICBVdyAle2NvbXBhbnkubmFtZX0gVGVhbSw8YnI+CiAgJXtzaWduYXR1cmV9CiAgPC9kaXY+CiAgPGhyPgogIDxkaXYgc3R5bGU9ImNvbG9yOiByZ2IoMTI3LCAxMjcsIDEyNyk7IGZvbnQtc2l6ZTogc21hbGw7IHRleHQtYWxpZ246CiAgY2VudGVyIj48ZW0+VSBrdW50IGRlIHZvb3J0Z2FuZyB2YW4gdXcgc3VwcG9ydCB2ZXJ6b2VrIDxhCiAgaHJlZj0iJXtyZWNpcGllbnQudGlja2V0X2xpbmt9Ij5oaWVyIG9ubGluZSB2b2xnZW48L2E+PC9lbT4KICA8L2Rpdj4KI0VtYWlsIHRlbXBsYXRlOiBub3RlLmFsZXJ0LnlhbWwKI1NlbnQgdG8gc3RhZmYgbWVtYmVycyB3aGVuIGEgbmV3IGludGVybmFsIG5vdGUgaXMgYXBwZW5kZWQgdG8gYSB0aWNrZXQuCiNJbnRlcm5hbCBub3RlcyBjYW4gb25seSBiZSBhZGRlZCBieSBzdGFmZiBtZW1iZXJzLgotLS0Kbm90ZXM6IHwKICBCZXJpY2h0Z2V2aW5nIG5hYXIgbWVkZXdlcmtlcnMsIHdhbm5lZXIgZXIgZWVuIGludGVybmUgYWN0aXZpdGVpdCBoZWVmdCBwbGFhdHNnZXZvbmRlbiwgem9hbHMgZWVuIGludGVybmUgbm90aXRpZSBvZiB3YW5uZWVyIGVlbiBtZWRld2Vya2VyIGVlbiByZWFjdGllIHRvZWdldm9lZ2QgaGVlZnQgYWFuIGVlbiB0aWNrZXQuCnN1YmplY3Q6IHwKICBOaWV1d2UgaW50ZXJuZSBhY3Rpdml0ZWl0IG1lbGRpbmcKYm9keTogfAogIDxoMz48c3Ryb25nPkhpICV7cmVjaXBpZW50Lm5hbWV9LDwvc3Ryb25nPjwvaDM+CiAgQW4gYWdlbnQgaGFzIGxvZ2dlZCBhY3Rpdml0eSBvbiB0aWNrZXQgPGEKICBocmVmPSIle3RpY2tldC5zdGFmZl9saW5rfSI+IyV7dGlja2V0Lm51bWJlcn08L2E+CiAgPGJyPgogIDxicj4KICA8dGFibGU+CiAgPHRib2R5PgogIDx0cj4KICAgICAgPHRkPgogICAgICAgICAgPHN0cm9uZz5Gcm9tPC9zdHJvbmc+OgogICAgICA8L3RkPgogICAgICA8dGQ+CiAgICAgICAgICAle25vdGUucG9zdGVyfQogICAgICA8L3RkPgogIDwvdHI+CiAgPHRyPgogICAgICA8dGQ+CiAgICAgICAgICA8c3Ryb25nPlRpdGxlPC9zdHJvbmc+OgogICAgICA8L3RkPgogICAgICA8dGQ+CiAgICAgICAgICAle25vdGUudGl0bGV9CiAgICAgIDwvdGQ+CiAgPC90cj4KICA8L3Rib2R5PgogIDwvdGFibGU+CiAgPGJyPgogICV7bm90ZS5tZXNzYWdlfQogIDxicj4KICA8YnI+CiAgPGhyPgogIFRvIHZpZXcvcmVzcG9uZCB0byB0aGUgdGlja2V0LCBwbGVhc2UgPGEKICBocmVmPSIle3RpY2tldC5zdGFmZl9saW5rfSI+bG9naW48L2E+IHRvIHRoZSBzdXBwb3J0IHRpY2tldCBzeXN0ZW0KICA8YnI+CiAgPGJyPgogIDxlbSBzdHlsZT0iZm9udC1zaXplOiBzbWFsbDsgIj5Zb3VyIGZyaWVuZGx5IEN1c3RvbWVyIFN1cHBvcnQKICBTeXN0ZW08L2VtPgogIDxicj4KICA8aW1nIHNyYz0iY2lkOmI1Njk0NGNiNDcyMmNjNWNkYTlkMWUyM2EzZWE3ZmJjIgogIGFsdD0iUG93ZXJlZCBieSBvc1RpY2tldCIgd2lkdGg9IjEyNiIgaGVpZ2h0PSIxOSIgc3R5bGU9IndpZHRoOiAxMjZweDsiPgojRW1haWwgdGVtcGxhdGU6IHRhc2suYWN0aXZpdHkuYWxlcnQueWFtbAojU2VudCB0byBhZ2VudHMgd2hlbiBhIG5ldyBub3RlL21lc3NhZ2UgaXMgcG9zdGVkIHRvIGEgdGFzay4KI1RoaXMgY2FuIG9jY3VyIGlmIGEgY29sbGFib3JhdG9yIG9yIGFuIGFnZW50IHJlc3BvbmRzIHRvIGFuIGVtYWlsIGZyb20gdGhlCiNzeXN0ZW0gb3IgdmlzaXRzIHRoZSB3ZWIgcG9ydGFsIGFuZCBwb3N0cyBhIG5ldyBtZXNzYWdlIHRoZXJlLgotLS0Kbm90ZXM6IHwKICBWZXJzdHV1cmQgbmFhciBhZ2VudGVuIHdhbm5lZXIgZWVuIG5pZXV3IGJlcmljaHQvbm90YSBhYW4gZWVuIHRhYWsgdG9lZ2V2b2VnZCB3b3JkdC4gRGl0IGthbiBnZWJldXJlbiBhbHMgZWVuIG1lZGV3ZXJrZXIgb2YgZWVuIGFnZW50IHJlYWdlZXJ0IG9wIGVlbiBlbWFpbCB2YW4gaGV0IHN5c3RlZW0gb2YgaGV0IHdlYnBvcnRhYWwgYmV6b2VrdCBlbiBkYWFyIGVlbiBuaWV1d2UgYm9vZHNjaGFwIHRvZXZvZWd0LgpzdWJqZWN0OiB8CiAgVGFhayBBY3Rpdml0ZWl0IFsjJXt0YXNrLm51bWJlcn1dIC0gJXthY3Rpdml0eS50aXRsZX0KYm9keTogfAogIDxoMz48c3Ryb25nPkJlc3RlICV7cmVjaXBpZW50Lm5hbWV9LDwvc3Ryb25nPjwvaDM+CiAgVGFhayA8YSBocmVmPSIle3Rhc2suc3RhZmZfbGlua30iPiMle3Rhc2subnVtYmVyfTwvYT4gZ2XDvHBkYXRlZDogJXthY3Rpdml0eS5kZXNjcmlwdGlvbn0KICA8YnI+CiAgPGJyPgogICV7bWVzc2FnZX0KICA8YnI+CiAgPGJyPgogIDxocj4KICA8ZGl2Pk9tIGRlemUgdGFhayB0ZSBiZWtpamtlbiBvZiBvbSBlcm9wIHRlIHJlYWdlcmVuLCA8YQogIGhyZWY9IiV7dGFzay5zdGFmZl9saW5rfSI+PHNwYW4gc3R5bGU9ImNvbG9yOiByZ2IoODQsIDE0MSwgMjEyKTsiCiAgPmxvZyBpbjwvc3Bhbj48L2E+IHRvdCBoZXQgdGlja2V0c3lzdGVlbTwvZGl2PgogIDxlbSBzdHlsZT0iY29sb3I6IHJnYigxMjcsMTI3LDEyNyk7IGZvbnQtc2l6ZTogc21hbGw7ICI+VXcgdnJpZW5kZWxpamtlIEhlbHBkZXNrIFRlYW08L2VtPjxicj4KICA8aW1nIHNyYz0iY2lkOmI1Njk0NGNiNDcyMmNjNWNkYTlkMWUyM2EzZWE3ZmJjIgogIGFsdD0iTW9nZWxpamsgZ2VtYWFrdCBkb29yIG9zVGlja2V0IiB3aWR0aD0iMTI2IiBoZWlnaHQ9IjE5IiBzdHlsZT0id2lkdGg6IDEyNnB4OyI+CiNFbWFpbCB0ZW1wbGF0ZTogdGFzay5hY3Rpdml0eS5ub3RpY2UueWFtbAojTm90aWNlIHNlbnQgdG8gY29sbGFib3JhdG9ycyBvbiB0YXNrIGFjdGl2aXR5IGUuZyByZXBseSBvciBtZXNzYWdlCi0tLQpub3RlczogfAogIEtlbm5pc2dldmluZyBkaWUgbmFhciBtZWRld2Vya2VycyBnZXN0dXVyZCB3b3JkdCBiaWogdGFha2FjdGl2aXRlaXQsIGJpanYuIGVlbiByZWFjdGllIG9mIGJlcmljaHQuCnN1YmplY3Q6IHwKICBSZTogJXt0YXNrLnRpdGxlfSBbIyV7dGFzay5udW1iZXJ9XQpib2R5OiB8CiAgPGgzPjxzdHJvbmc+RGVhciAle3JlY2lwaWVudC5uYW1lLmZpcnN0fSw8L3N0cm9uZz48L2gzPgogIDxkaXY+CiAgICAgIDxlbT4le3Bvc3Rlci5uYW1lfTwvZW0+IGp1c3QgbG9nZ2VkIGEgbWVzc2FnZSB0byBhIHRhc2sgaW4gd2hpY2ggeW91IHBhcnRpY2lwYXRlLgogIDwvZGl2PgogIDxicj4KICAle21lc3NhZ2V9CiAgPGJyPgogIDxicj4KICA8aHI+CiAgPGRpdiBzdHlsZT0iY29sb3I6IHJnYigxMjcsIDEyNywgMTI3KTsgZm9udC1zaXplOiBzbWFsbDsgdGV4dC1hbGlnbjogY2VudGVyOyI+CiAgPGVtPllvdSdyZSBnZXR0aW5nIHRoaXMgZW1haWwgYmVjYXVzZSB5b3UgYXJlIGEgY29sbGFib3JhdG9yIG9uIHRhc2sKICAjJXt0YXNrLm51bWJlcn0uIFRvIHBhcnRpY2lwYXRlLCBzaW1wbHkgcmVwbHkgdG8gdGhpcyBlbWFpbC48L2VtPgogIDwvZGl2PgojRW1haWwgdGVtcGxhdGU6IHRhc2suYWxlcnQueWFtbAojU2VudCB0byBhbiBhZ2VudCB3aGVuIGEgbmV3IHRhc2sgaXMgY3JlYXRlZCBpbiB0aGUgc3lzdGVtLgotLS0Kbm90ZXM6IHwKICBWZXJzdHV1cmQgbmFhciBlZW4gYWdlbnQgd2FubmVlciBlZW4gbmlldXdlIHRhYWsgZ2VjcmXDq2VyZCB3b3JkdCBpbiBoZXQgc3lzdGVlbS4Kc3ViamVjdDogfAogIE5pZXV3ZSB0YWFrIG1lbGRpbmcKYm9keTogfAogIDxoMj5IaSAle3JlY2lwaWVudC5uYW1lfSw8L2gyPgogIE5ldyB0YXNrIDxhIGhyZWY9IiV7dGFzay5zdGFmZl9saW5rfSI+IyV7dGFzay5udW1iZXJ9PC9hPiBjcmVhdGVkCiAgPGJyPgogIDxicj4KICA8dGFibGU+CiAgPHRib2R5PgogIDx0cj4KICAgICAgPHRkPgogICAgICAgICAgPHN0cm9uZz5EZXBhcnRtZW50PC9zdHJvbmc+OgogICAgICA8L3RkPgogICAgICA8dGQ+CiAgICAgICAgICAle3Rhc2suZGVwdC5uYW1lfQogICAgICA8L3RkPgogIDwvdHI+CiAgPC90Ym9keT4KICA8L3RhYmxlPgogIDxicj4KICAle3Rhc2suZGVzY3JpcHRpb259CiAgPGJyPgogIDxicj4KICA8aHI+CiAgPGRpdj5UbyB2aWV3IG9yIHJlc3BvbmQgdG8gdGhlIHRhc2ssIHBsZWFzZSA8YQogIGhyZWY9IiV7dGFzay5zdGFmZl9saW5rfSI+bG9naW48L2E+IHRvIHRoZSBzdXBwb3J0IHN5c3RlbTwvZGl2PgogIDxlbSBzdHlsZT0iZm9udC1zaXplOiBzbWFsbCI+WW91ciBmcmllbmRseSBDdXN0b21lciBTdXBwb3J0IFN5c3RlbTwvZW0+CiAgPGJyPgogIDxhIGhyZWY9Imh0dHBzOi8vb3N0aWNrZXQuY29tLyI+PGltZyB3aWR0aD0iMTI2IiBoZWlnaHQ9IjE5IgogICAgICBzdHlsZT0id2lkdGg6IDEyNnB4OyAiIGFsdD0iUG93ZXJlZCBCeSBvc1RpY2tldCIKICAgICAgc3JjPSJjaWQ6YjU2OTQ0Y2I0NzIyY2M1Y2RhOWQxZTIzYTNlYTdmYmMiLz48L2E+CiNFbWFpbCB0ZW1wbGF0ZTogdGFzay5hc3NpZ25tZW50LmFsZXJ0LnlhbWwKI1NlbnQgdG8gYWdlbnRzIHdoZW4gYSB0YXNrIGlzIGFzc2lnbmVkIHRvIHRoZW0gb3IgdGhlIHRlYW0gdG8gd2hpY2gKI3RoZXkgYmVsb25nLgojVXNlICV7YXNzaWduZXJ9IHRvIGRpc3Rpbmd1aXNoIHdobyBtYWRlIHRoZSBhc3NpZ25tZW50LgotLS0Kbm90ZXM6IHwKICBTZW50IHRvIGFnZW50cyB3aGVuIGEgdGFzayBpcyBhc3NpZ25lZCB0byB0aGVtIG9yIHRoZSB0ZWFtIHRvIHdoaWNoCiAgdGhleSBiZWxvbmcuIFVzZSAle2Fzc2lnbmVyfSB0byBkaXN0aW5ndWlzaCB3aG8gbWFkZSB0aGUgYXNzaWdubWVudC4Kc3ViamVjdDogfAogIFRhYWsgYWFuIHUgdG9lZ2V3ZXplbgpib2R5OiB8CiAgPGgzPjxzdHJvbmc+SGFsbG8gJXthc3NpZ25lZS5uYW1lLmZpcnN0fSw8L3N0cm9uZz48L2gzPgogIFRhYWsgPGEgaHJlZj0iJXt0YXNrLnN0YWZmX2xpbmt9Ij4jJXt0YXNrLm51bWJlcn08L2E+IGlzIGFhbiBqb3UgdG9lZ2VrZW5kIGRvb3IgJXthc3NpZ25lci5uYW1lLnNob3J0fQogIDxicj4KICA8YnI+CiAgJXtjb21tZW50c30KICA8YnI+CiAgPGJyPgogIDxocj4KICA8ZGl2Pk9tIGRlIHRhYWsgdGUgemllbiwgb2YgZXIgb3AgdGUgcmVhZ2VyZW4sIDxhCiAgaHJlZj0iJXt0YXNrLnN0YWZmX2xpbmt9Ij48c3BhbiBzdHlsZT0iY29sb3I6IHJnYig4NCwgMTQxLCAyMTIpOyIKICA+bG9nIGluPC9zcGFuPjwvYT4gb3AgaGV0IFN1cHBvcnQgU3lzdGVlbTwvZGl2PgogIDxlbSBzdHlsZT0iZm9udC1zaXplOiBzbWFsbDsgIj5VdyBLbGFudGVuIFN1cHBvcnQKICBTeXN0ZW08L2VtPgogIDxicj4KICA8aW1nIHNyYz0iY2lkOmI1Njk0NGNiNDcyMmNjNWNkYTlkMWUyM2EzZWE3ZmJjIgogIGFsdD0iTWFha3QgZ2VicnVpayB2YW4gb3NUaWNrZXQiIHdpZHRoPSIxMjYiIGhlaWdodD0iMTkiIHN0eWxlPSJ3aWR0aDogMTI2cHg7Ij4KI0VtYWlsIHRlbXBsYXRlOiB0YXNrLm92ZXJkdWUuYWxlcnQueWFtbAojU2VudCB0byBhZ2VudHMgd2hlbiBhIHRhc2tzIHRyYW5zaXRpb25zIHRvIG92ZXJkdWUgaW4gdGhlIHN5c3RlbS4KI092ZXJkdWUgdGFza3Mgb2NjdXIgYmFzZWQgb24gc2V0IGR1ZS1kYXRlLgotLS0Kbm90ZXM6IHwKICBWZXJzdHV1cmQgbmFhciBhZ2VudGVuIHdhbm5lZXIgZWVuIHRhYWsgdmVydmFsdCBpbiBoZXQgc3lzdGVlbS4KICBWZXJ2YWxsZW4gdGFrZW4gZ2ViZXVyZW4gb3AgYmFzaXMgdmFuIGRlIGluZ2V2dWxkZSB2ZXJ2YWxkYWcuCnN1YmplY3Q6IHwKICBWZXJ2YWxsZW4gVGFhayBNZWxkaW5nCmJvZHk6IHwKICA8aDM+PHN0cm9uZz5IaSAle3JlY2lwaWVudC5uYW1lfTwvc3Ryb25nPiw8L2gzPgogIEEgdGFzaywgPGEgaHJlZj0iJXt0YXNrLnN0YWZmX2xpbmt9Ij4jJXt0YXNrLm51bWJlcn08L2E+IGlzCiAgc2VyaW91c2x5IG92ZXJkdWUuCiAgPGJyPgogIDxicj4KICBXZSBzaG91bGQgYWxsIHdvcmsgaGFyZCB0byBndWFyYW50ZWUgdGhhdCBhbGwgdGFza3MgYXJlIGJlaW5nCiAgYWRkcmVzc2VkIGluIGEgdGltZWx5IG1hbm5lci4KICA8YnI+CiAgPGJyPgogIFNpZ25lZCw8YnI+CiAgJXt0YXNrLmRlcHQubWFuYWdlci5uYW1lfQogIDxocj4KICA8ZGl2PlRvIHZpZXcgb3IgcmVzcG9uZCB0byB0aGUgdGFzaywgcGxlYXNlIDxhCiAgaHJlZj0iJXt0YXNrLnN0YWZmX2xpbmt9Ij48c3BhbiBzdHlsZT0iY29sb3I6IHJnYig4NCwgMTQxLCAyMTIpOyIKICA+bG9naW48L3NwYW4+PC9hPiB0byB0aGUgc3VwcG9ydCBzeXN0ZW0uIFlvdSdyZSByZWNlaXZpbmcgdGhpcwogIG5vdGljZSBiZWNhdXNlIHRoZSB0YXNrIGlzIGFzc2lnbmVkIGRpcmVjdGx5IHRvIHlvdSBvciB0byBhIHRlYW0gb3IKICBkZXBhcnRtZW50IG9mIHdoaWNoIHlvdSdyZSBhIG1lbWJlci48L2Rpdj4KICA8ZW0gc3R5bGU9ImZvbnQtc2l6ZTogc21hbGwiPllvdXIgZnJpZW5kbHkgPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogc21hbGxlciIKICA+KGFsdGhvdWdoIHdpdGggbGltaXRlZCBwYXRpZW5jZSk8L3NwYW4+IEN1c3RvbWVyIFN1cHBvcnQKICBTeXN0ZW08L2VtPjxicj4KICA8aW1nIHNyYz0iY2lkOmI1Njk0NGNiNDcyMmNjNWNkYTlkMWUyM2EzZWE3ZmJjIiBoZWlnaHQ9IjE5IgogICAgICBhbHQ9IlBvd2VyZWQgYnkgb3NUaWNrZXQiIHdpZHRoPSIxMjYiIHN0eWxlPSJ3aWR0aDogMTI2cHg7Ij4KI0VtYWlsIHRlbXBsYXRlOiB0YXNrLnRyYW5zZmVyLmFsZXJ0LnlhbWwKI1NlbnQgdG8gYWdlbnRzIHdoZW4gYSB0YXNrIGlzIHRyYW5zZmVyZWQgdG8gdGhlaXIgZGVwYXJ0bWVudC4KLS0tCm5vdGVzOiB8CiAgVmVyc3R1dXJkIG5hYXIgYWdlbnRlbiB3YW5uZWVyIGVlbiB0YWFrIG92ZXJnZXpldCB3b3JkdCBuYWFyIGVlbiBkZXBhcnRlbWVudCB3YWFydmFuIHplIGxpZCB6aWpuLgpzdWJqZWN0OiB8CiAgVGFhayAjJXt0YXNrLm51bWJlcn0gdHJhbnNmZXIgLSAle3Rhc2suZGVwdC5uYW1lfQpib2R5OiB8CiAgPGgzPkhpICV7cmVjaXBpZW50Lm5hbWV9LDwvaDM+CiAgVGFzayA8YSBocmVmPSIle3Rhc2suc3RhZmZfbGlua30iPiMle3Rhc2subnVtYmVyfTwvYT4gaGFzIGJlZW4KICB0cmFuc2ZlcnJlZCB0byB0aGUgJXt0YXNrLmRlcHQubmFtZX0gZGVwYXJ0bWVudCBieQogIDxzdHJvbmc+JXtzdGFmZi5uYW1lLnNob3J0fTwvc3Ryb25nPgogIDxicj4KICA8YnI+CiAgPGJsb2NrcXVvdGU+CiAgICAgICV7Y29tbWVudHN9CiAgPC9ibG9ja3F1b3RlPgogIDxocj4KICA8ZGl2PlRvIHZpZXcgb3IgcmVzcG9uZCB0byB0aGUgdGFzaywgcGxlYXNlIDxhCiAgaHJlZj0iJXt0YXNrLnN0YWZmX2xpbmt9Ij5sb2dpbjwvYT4gdG8gdGhlIHN1cHBvcnQgc3lzdGVtLgogIDwvZGl2PgogIDxlbSBzdHlsZT0iZm9udC1zaXplOiBzbWFsbDsgIj5Zb3VyIGZyaWVuZGx5IEN1c3RvbWVyIFN1cHBvcnQKICBTeXN0ZW08L2VtPgogIDxicj4KICA8YSBocmVmPSJodHRwczovL29zdGlja2V0LmNvbS8iPjxpbWcgd2lkdGg9IjEyNiIgaGVpZ2h0PSIxOSIKICAgICAgYWx0PSJQb3dlcmVkIEJ5IG9zVGlja2V0IiBzdHlsZT0id2lkdGg6IDEyNnB4OyIKICAgICAgc3JjPSJjaWQ6YjU2OTQ0Y2I0NzIyY2M1Y2RhOWQxZTIzYTNlYTdmYmMiLz48L2E+CiNFbWFpbCB0ZW1wbGF0ZTogdGlja2V0LmFjdGl2aXR5Lm5vdGljZS55YW1sCiNOb3RpY2Ugc2VudCB0byBjb2xsYWJvcmF0b3JzIG9uIHRpY2tldCBhY3Rpdml0eSBlLmcgcmVwbHkgb3IgbWVzc2FnZQotLS0Kbm90ZXM6IHwKICBLZW5uaXNnZXZpbmcgZGllIG5hYXIgZGVlbG5lbWVycyBnZXN0dXVyZCB3b3JkdCBiaWogdGlja2V0IGFjdGl2aXRlaXQsIGJpanYuIGVlbiByZWFjdGllIG9mIGJlcmljaHQuCnN1YmplY3Q6IHwKICBSZTogJXt0aWNrZXQuc3ViamVjdH0KYm9keTogfAogIDxoMz48c3Ryb25nPkJlc3RlICV7cmVjaXBpZW50Lm5hbWUuZmlyc3R9LDwvc3Ryb25nPjwvaDM+CiAgPGRpdj4KICAgICAgPGVtPiV7cG9zdGVyLm5hbWV9PC9lbT4gSGVlZnQgem9qdWlzdCBlZW4gYmVyaWNodCB0b2VnZXZvZWdkIGFhbiBlZW4gdGlja2V0IHdhYXIgdSBhYW4gZGVlbG5lZW10LgogIDwvZGl2PgogIDxicj4KICAle21lc3NhZ2V9CiAgPGJyPgogIDxicj4KICA8aHI+CiAgPGRpdiBzdHlsZT0iY29sb3I6IHJnYigxMjcsIDEyNywgMTI3KTsgZm9udC1zaXplOiBzbWFsbDsgdGV4dC1hbGlnbjogY2VudGVyOyI+CiAgPGVtPlUga3Jpamd0IGRlemUgZS1tYWlsIG9tZGF0IHUgZGVlbG5lZW10IGFhbiBlZW4gdGlja2V0IDxhIGhyZWY9IiV7cmVjaXBpZW50LnRpY2tldF9saW5rfSIgc3R5bGU9ImNvbG9yOiByZ2IoODQsIDE0MSwgMjEyKTsiCiAgPiMle3RpY2tldC5udW1iZXJ9PC9hPi4gIE9tIGRlZWwgdGUgbmVtZW4sIGt1bnQgdSBlZW52b3VkaWcgb3AgZGV6ZSBlLW1haWwgcmVhZ2VyZW4gb2YgPGEgaHJlZj0iJXtyZWNpcGllbnQudGlja2V0X2xpbmt9IiBzdHlsZT0iY29sb3I6IHJnYig4NCwgMTQxLCAyMTIpOyIKICA+a2xpayBoaWVyPC9hPiB2b29yIGVlbiBjb21wbGVldCBhcmNoaWVmIHZhbiBoZXQgdGlja2V0IG92ZXJ6aWNodC48L2VtPgogIDwvZGl2PgojRW1haWwgdGVtcGxhdGU6IHRpY2tldC5hbGVydC55YW1sCiNTZW50IHRvIGEgc3RhZmYgbWVtYmVyIHdoZW4gYSBuZXcgdGlja2V0IGlzIGNyZWF0ZWQgaW4gdGhlIHN5c3RlbS4gVGhpcwojYXBwbGllcyB0byB0aWNrZXRzIGNyZWF0ZWQgdmlhIGVtYWlsLCB0aGUgd2ViIHBvcnRhbCwgb3IgdGhlIGFwaS4KLS0tCm5vdGVzOiB8CiAgV29yZHQgbmFhciBlZW4gbWVkZXdlcmtlciB2ZXJ6b25kZW4gd2FubmVlciBlZW4gbmlldXcgdGlja2V0IGlzIGFhbmdlbWFha3QgaW4gaGV0IHN5c3RlZW0uIERpdCBnZWxkdCB2b29yIHRpY2tldHMgZ2VtYWFrdCB2aWEgZS1tYWlsLCBoZXQgd2VicG9ydGFhbCBvZiB2aWEgZGUgYXBpLgpzdWJqZWN0OiB8CiAgTmlldXcgVGlja2V0IE1lbGRpbmcKYm9keTogfAogIDxoMj5IaSAle3JlY2lwaWVudC5uYW1lfSw8L2gyPgogIE5ldyB0aWNrZXQgIyV7dGlja2V0Lm51bWJlcn0gY3JlYXRlZAogIDxicj4KICA8YnI+CiAgPHRhYmxlPgogIDx0Ym9keT4KICA8dHI+CiAgICAgIDx0ZD4KICAgICAgICAgIDxzdHJvbmc+RnJvbTwvc3Ryb25nPjoKICAgICAgPC90ZD4KICAgICAgPHRkPgogICAgICAgICAgJXt0aWNrZXQubmFtZX0gJmx0OyV7dGlja2V0LmVtYWlsfSZndDsKICAgICAgPC90ZD4KICA8L3RyPgogIDx0cj4KICAgICAgPHRkPgogICAgICAgICAgPHN0cm9uZz5EZXBhcnRtZW50PC9zdHJvbmc+OgogICAgICA8L3RkPgogICAgICA8dGQ+CiAgICAgICAgICAle3RpY2tldC5kZXB0Lm5hbWV9CiAgICAgIDwvdGQ+CiAgPC90cj4KICA8L3Rib2R5PgogIDwvdGFibGU+CiAgPGJyPgogICV7bWVzc2FnZX0KICA8YnI+CiAgPGJyPgogIDxocj4KICA8ZGl2PlRvIHZpZXcgb3IgcmVzcG9uZCB0byB0aGUgdGlja2V0LCBwbGVhc2UgPGEKICBocmVmPSIle3RpY2tldC5zdGFmZl9saW5rfSI+bG9naW48L2E+IHRvIHRoZSBzdXBwb3J0IHRpY2tldCBzeXN0ZW08L2Rpdj4KICA8ZW0gc3R5bGU9ImZvbnQtc2l6ZTogc21hbGwiPllvdXIgZnJpZW5kbHkgQ3VzdG9tZXIgU3VwcG9ydCBTeXN0ZW08L2VtPgogIDxicj4KICA8YSBocmVmPSJodHRwczovL29zdGlja2V0LmNvbS8iPjxpbWcgd2lkdGg9IjEyNiIgaGVpZ2h0PSIxOSIKICAgICAgc3R5bGU9IndpZHRoOiAxMjZweDsgIiBhbHQ9IlBvd2VyZWQgQnkgb3NUaWNrZXQiCiAgICAgIHNyYz0iY2lkOmI1Njk0NGNiNDcyMmNjNWNkYTlkMWUyM2EzZWE3ZmJjIi8+PC9hPgojRW1haWwgdGVtcGxhdGU6IHRpY2tldC5hdXRvcmVwbHkueWFtbAojU2VudCB0byBhIHVzZXIgd2hlbiBhbiBhdXRvbWF0aWMgY2FubmVkIHJlc3BvbnNlIGlzIHBvc3RlZCB0byBhIHRpY2tldAojd2hlbiBpdCBpcyBjcmVhdGVkCi0tLQpub3RlczogfAogIFdvcmR0IG5hYXIgZWVuIGdlYnJ1aWtlciB2ZXJ6b25kZW4gd2FubmVlciBlZW4gdm9vcmFmIGdlZGVmaW5pZWVyZGUgcmVhY3RpZSB3b3JkdCBnZXBsYWF0c3Qgb3AgZWVuIHRpY2tldCB3YW5uZWVyIGRlemUgd29yZHQgYWFuZ2VtYWFrdC4gQmVzY2hpa2JhcmUgdmFyaWFiZWxlbiB2b29yIHZlcnZhbmdpbmc6ICV7dGlja2V0Lip9LCAlcmVzcG9uc2V9CnN1YmplY3Q6IHwKICBSZTogJXt0aWNrZXQuc3ViamVjdH0KYm9keTogfAogIDxoMz48c3Ryb25nPkJlc3RlICV7cmVjaXBpZW50Lm5hbWUuZmlyc3R9LDwvc3Ryb25nPjwvaDM+IAogIEVlbiBvbmRlcnN0ZXVuaW5nc3ZlcnpvZWsgaXMgYWFuZ2VtYWFrdCBlbiB0b2VnZXdlemVuIGFhbiB0aWNrZXQgPGEKICBocmVmPSIle3JlY2lwaWVudC50aWNrZXRfbGlua30iPiMle3RpY2tldC5udW1iZXJ9PC9hPiBtZXQgaGV0IHZvbGdlbmRlIGF1dG9tYXRpc2NoZSBhbnR3b29yZC4gCiAgPGJyPgogIDxicj4KICBPbmRlcndlcnA6IDxzdHJvbmc+JXt0aWNrZXQudG9waWMubmFtZX08L3N0cm9uZz4gCiAgPGJyPgogIE9uZGVyd2VycDogPHN0cm9uZz4le3RpY2tldC5zdWJqZWN0fTwvc3Ryb25nPiAKICA8YnI+CiAgPGJyPiV7cmVzcG9uc2V9CiAgPGJyPgogIDxicj4KICA8ZGl2IHN0eWxlPSJjb2xvcjogcmdiKDEyNywgMTI3LCAxMjcpOyI+VXcgJXtjb21wYW55Lm5hbWV9IFRlYW0sIDxicj4KICAle3NpZ25hdHVyZX08L2Rpdj4KICAgPGhyPgogIDxkaXYgc3R5bGU9ImNvbG9yOiByZ2IoMTI3LCAxMjcsIDEyNyk7IGZvbnQtc2l6ZTogc21hbGw7Ij48ZW0+V2lqIGhvcGVuIGRhdCBkaXQgYW50d29vcmQgdXcgdnJhZ2VuIHZvbGRvZW5kZSBoZWVmdCBiZWFudHdvb3JkLiAgSW5kaWVuIHUgYWFudnVsbGVuZGUgb3BtZXJraW5nZW4gb2YgaW5mb3JtYXRpZSB3ZW5zdCB0ZSBnZXZlbiwgcmVhZ2VlciBkYW4gYWxzdHVibGllZnQgb3AgZGV6ZSBlLW1haWwgb2YgPGEgaHJlZj0iJXtyZWNpcGllbnQudGlja2V0X2xpbmt9Ij48c3BhbgogIHN0eWxlPSJjb2xvcjogcmdiKDg0LCAxNDEsIDIxMik7IiA+bG9nIGluIG9wIHV3IGFjY291bnQ8L3NwYW4+PC9hPiB2b29yIGVlbiB2b2xsZWRpZ2UgYXJjaGllZiB2YW4gdXcgb25kZXJzdGV1bmluZ3N2ZXJ6b2VrZW4uPC9lbT48L2Rpdj4KI0VtYWlsIHRlbXBsYXRlOiB0aWNrZXQuYXV0b3Jlc3AueWFtbAojU2VudCB0byBhIHVzZXIgd2hlbiBhIG5ldyB0aWNrZXQgaXMgY3JlYXRlZAotLS0Kbm90ZXM6IHwKICBXb3JkdCBuYWFyIGVlbiAgZ2VicnVpa2VyIHZlcnpvbmRlbiB3YW5uZWVyIGVlbiBuaWV1dyB0aWNrZXQgaXMgYWFuZ2VtYWFrdApzdWJqZWN0OiB8CiAgU3VwcG9ydCB0aWNrZXQgZ2VvcGVuZCBbIyV7dGlja2V0Lm51bWJlcn1dCmJvZHk6IHwKICA8aDM+PHN0cm9uZz5CZXN0ZSAle3JlY2lwaWVudC5uYW1lLmZpcnN0fSw8L3N0cm9uZz48L2gzPgogIDxwPgogIEVlbiBvbmRlcnN0ZXVuaW5nc3ZlcnpvZWsgaXMgYWFuZ2VtYWFrdCBlbiBoZWVmdCAjJXt0aWNrZXQubnVtYmVyfSB0b2VnZXdlemVuIGdla3JlZ2VuLgogIEVlbiBtZWRld2Vya2VyIHphbCB6byBzbmVsIG1vZ2VsaWprIG9wIHV3IHZlcnpvZWsgcmVhZ2VyZW4uIFUga3VudCAKICA8YSBocmVmPSIle3JlY2lwaWVudC50aWNrZXRfbGlua30iPmRlIHZvb3J0Z2FuZyB2YW4gZGl0IHRpY2tldCBvbmxpbmUgdm9sZ2VuPC9hPi4KICA8L3A+CiAgPGJyPgogIDxkaXYgc3R5bGU9ImNvbG9yOiByZ2IoMTI3LCAxMjcsIDEyNykiPgogIFV3ICV7Y29tcGFueS5uYW1lfSBUZWFtLAogIDxicj4KICAle3NpZ25hdHVyZX0KICA8L2Rpdj4KICA8aHI+CiAgPGRpdiBzdHlsZT0iY29sb3I6IHJnYigxMjcsIDEyNywgMTI3KTsgZm9udC1zaXplOiBzbWFsbDsgIj48ZW0+SW5kaWVuIHUgYWFudnVsbGVuZGUgb3BtZXJraW5nZW4gb2YgaW5mb3JtYXRpZSBiZXRyZWZmZW5kZSBkaXQgb25kZXJzdGV1bmluZ3N2ZXJ6b2VrIHdlbnN0IHRlIGdldmVuLCByZWFnZWVyIGRhbiBhbHN0dWJsaWVmdCBvcCBkZXplIGUtbWFpbCBvZiA8YSBocmVmPSIle3JlY2lwaWVudC50aWNrZXRfbGlua30iPjxzcGFuCiAgc3R5bGU9ImNvbG9yOiByZ2IoODQsIDE0MSwgMjEyKTsiID5sb2cgaW4gb3AgdXcgYWNjb3VudDwvc3Bhbj48L2E+IHZvb3IgZWVuIHZvbGxlZGlnZSBhcmNoaWVmIHZhbiB1dyBvbmRlcnN0ZXVuaW5nc3ZlcnpvZWtlbi48L2VtPjwvZGl2PgojRW1haWwgdGVtcGxhdGU6IHRpY2tldC5ub3RpY2UueWFtbAojU2VudCB0byBhIHVzZXIgd2hlbiBhIHN0YWZmIG1lbWJlciBjcmVhdGVzIGEgdGlja2V0IG9uIHRoZSB1c2VyJ3MgYmVoYWxmLgojVGhpcyBpcyBtb3N0IGNvbW1vbmx5IHBlcmZvcm1lZCB3aGVuIHVzZXIncyBjYWxsIGluIG9uIHRoZSBwaG9uZS4KLS0tCm5vdGVzOiB8CiAgV29yZHQgbmFhciBlZW4gZ2VicnVpa2VyIHZlcnpvbmRlbiB3YW5uZWVyIGVlbiBtZWRld2Vya2VyIGVlbiB0aWNrZXQgbmFtZW5zIGRlIGdlYnJ1aWtlciBjcmXDq2VydC4gRGl0IGdlYmV1cmQgbWVlc3RhbCB3YW5uZWVyIGVlbiBnZWJydWlrZXIgZWVuIG1lbGRpbmcgZG9ldCB2aWEgZGUgdGVsZWZvb24uCnN1YmplY3Q6IHwKICAle3RpY2tldC5zdWJqZWN0fSBbIyV7dGlja2V0Lm51bWJlcn1dCmJvZHk6IHwKICA8aDM+PHN0cm9uZz5EZWFyICV7cmVjaXBpZW50Lm5hbWUuZmlyc3R9LDwvc3Ryb25nPjwvaDM+CiAgT3VyIGN1c3RvbWVyIGNhcmUgdGVhbSBoYXMgY3JlYXRlZCBhIHRpY2tldCwgPGEKICBocmVmPSIle3JlY2lwaWVudC50aWNrZXRfbGlua30iPiMle3RpY2tldC5udW1iZXJ9PC9hPiBvbiB5b3VyIGJlaGFsZiwgd2l0aAogIHRoZSBmb2xsb3dpbmcgZGV0YWlscyBhbmQgc3VtbWFyeToKICA8YnI+CiAgPGJyPgogIFRvcGljOiA8c3Ryb25nPiV7dGlja2V0LnRvcGljLm5hbWV9PC9zdHJvbmc+CiAgPGJyPgogIFN1YmplY3Q6IDxzdHJvbmc+JXt0aWNrZXQuc3ViamVjdH08L3N0cm9uZz4KICA8YnI+CiAgPGJyPgogICV7bWVzc2FnZX0KICA8YnI+CiAgPGJyPgogICV7cmVzcG9uc2V9CiAgPGJyPgogIDxicj4KICBJZiBuZWVkIGJlLCBhIHJlcHJlc2VudGF0aXZlIHdpbGwgZm9sbG93LXVwIHdpdGggeW91IGFzIHNvb24gYXMKICBwb3NzaWJsZS4gWW91IGNhbiBhbHNvIDxhIGhyZWY9IiV7cmVjaXBpZW50LnRpY2tldF9saW5rfSI+dmlldyB0aGlzCiAgdGlja2V0J3MgcHJvZ3Jlc3Mgb25saW5lPC9hPi4KICA8YnI+CiAgPGJyPgogIDxkaXYgc3R5bGU9ImNvbG9yOiByZ2IoMTI3LCAxMjcsIDEyNyk7Ij4KICBZb3VyICV7Y29tcGFueS5uYW1lfSBUZWFtLDxicj4KICAle3NpZ25hdHVyZX08L2Rpdj4KICA8aHI+CiAgPGRpdiBzdHlsZT0iY29sb3I6IHJnYigxMjcsIDEyNywgMTI3KTsgZm9udC1zaXplOiBzbWFsbDsgIj48ZW0+SWYgeW91CiAgd2lzaCB0byBwcm92aWRlIGFkZGl0aW9uYWwgY29tbWVudHMgb3IgaW5mb3JtYXRpb24gcmVnYXJkaW5nIHRoZSBpc3N1ZSwKICBwbGVhc2UgcmVwbHkgdG8gdGhpcyBlbWFpbCBvciA8YSBocmVmPSIle3JlY2lwaWVudC50aWNrZXRfbGlua30iPjxzcGFuCiAgc3R5bGU9ImNvbG9yOiByZ2IoODQsIDE0MSwgMjEyKTsiID5sb2dpbiB0byB5b3VyIGFjY291bnQ8L3NwYW4+PC9hPiBmb3IKICBhIGNvbXBsZXRlIGFyY2hpdmUgb2YgeW91ciBzdXBwb3J0IHJlcXVlc3RzLjwvZW0+PC9kaXY+CiNFbWFpbCB0ZW1wbGF0ZTogdGlja2V0Lm92ZXJkdWUueWFtbAojU2VudCB0byBzdGFmZiBtZW1iZXJzIHdoZW4gYSB0aWNrZXQgdHJhbnNpdGlvbnMgdG8gb3ZlcmR1ZSBpbiB0aGUgc3lzdGVtLgojT3ZlcmR1ZSB0aWNrZXRzIG9jY3VyIGJhc2VkIG9uIHRoZSB0aWNrZXQncyBkdWUtZGF0ZSBhcyB3ZWxsIGFzIHRoZSBTTEEKI2RlZmluZWQgZm9yIHRoZSB0aWNrZXQuCi0tLQpub3RlczogfAogIFdvcmR0IG5hYXIgZWVuIG1lZGV3ZXJrZXJzICB2ZXJ6b25kZW4gd2FubmVlciBlZW4gdGlja2V0IGlzIHZlcnZhbGxlbiBpbiBoZXQgc3lzdGVlbS4gVmVydmFsbGVuIHRpY2tldHMgb250c3RhYW4gb3AgYmFzaXMgdmFuIGRlIHZlcnZhbGRhdHVtIHZhbiBoZXQgdGlja2V0IG9mIGRvb3IgZGUgU0xBIGRpZSBnZWRlZmluaWXDq3JkIGlzIHZvb3IgaGV0IHRpY2tldC4Kc3ViamVjdDogfAogIFZlcnZhbGxlbiBUaWNrZXQgTWVsZGluZwpib2R5OiB8CiAgPGgzPjxzdHJvbmc+QmVzdGUgJXtyZWNpcGllbnR9PC9zdHJvbmc+LDwvaDM+IEVlbiB0aWNrZXQsIDxhIGhyZWY9IiV7dGlja2V0LnN0YWZmX2xpbmt9Ij4gIyV7dGlja2V0Lm51bWJlcn08L2E+IGlzIHRlIGxhYXQgYWZnZWhhbmRlbGQuIDxicj48YnI+V2lqIHpvdWRlbiBhbGxlbWFhbCBoYXJkIG1vZXRlbiB3ZXJrZW4gb20gdGUgZ2FyYW5kZXJlbiBkYXQgYWxsZSB0aWNrZXRzIHRpamRpZyB6aWpuIGFmZ2VoYW5kZWxkLiA8YnI+PGJyPk9uZGVydGVrZW5kLCA8YnI+JXt0aWNrZXQuZGVwdC5tYW5hZ2VyLm5hbWV9IDxocj48ZGl2Pk9tIGhldCB0aWNrZXQgdGUgYmVraWprZW4gb2Ygb20gZXIgb3AgdGUgcmVhZ2VyZW4sIGt1bnQgdSA8YSBocmVmPSIle3RpY2tldC5zdGFmZl9saW5rfSI+IDxzcGFuIHN0eWxlPSJjb2xvcjogcmdiKDg0LCAxNDEsIDIxMik7IiA+IGlubG9nZ2VuPC9zcGFuPjwvYT4gaW4gaGV0IFN1cHBvcnQgVGlja2V0IHN5c3RlZW0uIFUgb250dmFuZ3QgZGl0IGJlcmljaHQgb21kYXQgaGV0IHRpY2tldCAgcmVjaHRzdHJlZWtzIGFhbiB1IGlzIHRvZWdld2V6ZW4gb2YgYWFuIGVlbiB0ZWFtIG9mIGFmZGVsaW5nIHdhYXJ2YW4gdSBsaWQgYmVudC48L2Rpdj4gPGVtIHN0eWxlPSJmb250LXNpemU6IHNtYWxsIj4gVXcgdnJpZW5kZWxpamtlIDxzcGFuIHN0eWxlPSJmb250LXNpemU6IHNtYWxsZXIiID4gKGhvZXdlbCBtZXQgYmVwZXJrdCBnZWR1bGQpPC9zcGFuPiBTdXBwb3J0IFRpY2tldCBzeXN0ZWVtPC9lbT48YnI+PGltZyBzcmM9ImNpZDpiNTY5NDRjYjQ3MjJjYzVjZGE5ZDFlMjNhM2VhN2ZiYyIgaGVpZ2h0PSIxOSIgYWx0PSJQb3dlcmVkIGJ5IG9zVGlja2V0IiB3aWR0aD0iMTI2IiBzdHlsZT0id2lkdGg6IDEyNnB4OyI+CiNFbWFpbCB0ZW1wbGF0ZTogdGlja2V0Lm92ZXJsaW1pdC55YW1sCiNTZW50IHRvIHVzZXJzIHdoZW4gdGhleSBoYXZlIGV4Y2VlZGVkIHRoZSBtYXhpbXVtIG9wZW4gdGlja2V0IGxpbWl0LiBUaGUKI2xpbWl0IGlzIGNvbmZpZ3VyYWJsZSBpbiB0aGUgQWRtaW4gUGFuZWwsIGFuZCBpcyBkZWZpbmVkIGJ5IHRoZSBudW1iZXIgb2YKI3RpY2tldHMgb3BlbiBieSBhIHBhcnRpY3VsYXIgZW1haWwgYWRkcmVzcy4KLS0tCm5vdGVzOiB8CiAgVmVyem9uZGVuIG5hYXIgZ2VicnVpa2VycyB3YW5uZWVyIHppaiBoZXQgbWF4aW11bSBvcGVuIHRpY2tldCBsaW1pZXQgaGViYmVuIG92ZXJzY2hyZWRlbi4gRGUgbGltaWV0IGlzIGNvbmZpZ3VyZWVyYmFhciBpbiBoZXQgQmVoZWVyIFBhbmVlbCBlbiB3b3JkIGJlcGFhbGQgZG9vciBoZXQgYWFudGFsIG9wZW5zdGFhbmRlIHRpY2tldHMgZGllIGRvb3IgZWVuIGJlcGFhbGQgZS1tYWlsYWRyZXMgZ2VvcGVuZCB6aWpuLgpzdWJqZWN0OiB8CiAgQWFudGFsIG9wZW4gVGlja2V0cyBsaW1pZXQgYmVyZWlrdApib2R5OiB8CiAgPGgzPjxzdHJvbmc+QmVzdGUgJXt0aWNrZXQubmFtZS5maXJzdH0sPC9zdHJvbmc+PC9oMz4KICBVIGhlZWZ0IGhldCBtYXhpbWFsZSBhYW50YWwgdG9lZ2VzdGFuZSBvcGVuc3RhYW5kZSB0aWNrZXRzIGJlcmVpa3QuIE9tIGVlbiBhbmRlciB0aWNrZXQgdGUga3VubmVuIG9wZW5lbiwgbW9ldCDDqcOpbiB2YW4gdXcgb3BlbnN0YWFuZGUgdGlja2V0cyB3b3JkZW4gZ2VzbG90ZW4uIE9tIGVlbiBvcGVuIHRpY2tldCBiaWogdGUgd2Vya2VuIG9mIG9wbWVya2luZ2VuIHRvZSB0ZSB2b2VnZW4sIGt1bnQgdSBnZXdvb24gPGEgaHJlZj0iJXt1cmx9L3RpY2tldHMucGhwP2U9JXt0aWNrZXQuZW1haWx9Ij5pbmxvZ2dlbiBvcCBvbnplIGhlbHBkZXNrPC9hPi4KICA8YnI+CiAgPGJyPgogIERhbmsgdSB3ZWwsPGJyLz4KICBTdXBwb3J0IFRpY2tldCBTeXN0ZWVtCiNFbWFpbCB0ZW1wbGF0ZTogdGlja2V0LnJlcGx5LnlhbWwKI1NlbnQgdG8gdXNlcnMgd2hlbiBhIHN0YWZmIG1lbWJlcnMgbWFrZXMgYSByZXBseSB0byB0aGVpciB0aWNrZXQuIFJlcGxpZXMKI2FyZSBvbmx5IGdlbmVyYXRlZCBieSBzdGFmZiBtZW1iZXJzLgotLS0Kbm90ZXM6IHwKICBOYWFyIGdlYnJ1aWtlcnMgdmVyem9uZGVuIHdhbm5lZXIgZWVuIG1lZGV3ZXJrZXIgZWVuIGFudHdvb3JkIGdlZWZ0IG9wIGh1biB0aWNrZXQuIEFudHdvb3JkZW4gd29yZGVuIGFsbGVlbiBnZWdlbmVyZWVyZCBkb29yIG1lZGV3ZXJrZXJzLgpzdWJqZWN0OiB8CiAgUmU6ICV7dGlja2V0LnN1YmplY3R9CmJvZHk6IHwKICA8aDM+PHN0cm9uZz5EZWFyICV7cmVjaXBpZW50Lm5hbWUuZmlyc3R9LDwvc3Ryb25nPjwvaDM+CiAgJXtyZXNwb25zZX0KICA8YnI+CiAgPGJyPgogIDxkaXYgc3R5bGU9ImNvbG9yOiByZ2IoMTI3LCAxMjcsIDEyNyk7Ij4KICBZb3VyICV7Y29tcGFueS5uYW1lfSBUZWFtLDxicj4KICAle3NpZ25hdHVyZX0KICA8L2Rpdj4KICA8aHI+CiAgPGRpdiBzdHlsZT0iY29sb3I6IHJnYigxMjcsIDEyNywgMTI3KTsgZm9udC1zaXplOiBzbWFsbDsgdGV4dC1hbGlnbjogY2VudGVyOyIKICA+PGVtPldlIGhvcGUgdGhpcyByZXNwb25zZSBoYXMgc3VmZmljaWVudGx5IGFuc3dlcmVkIHlvdXIgcXVlc3Rpb25zLiBJZgogIG5vdCwgcGxlYXNlIGRvIG5vdCBzZW5kIGFub3RoZXIgZW1haWwuIEluc3RlYWQsIHJlcGx5IHRvIHRoaXMgZW1haWwgb3IKICA8YSBocmVmPSIle3JlY2lwaWVudC50aWNrZXRfbGlua30iIHN0eWxlPSJjb2xvcjogcmdiKDg0LCAxNDEsIDIxMik7IiA+bG9naW4KICB0byB5b3VyIGFjY291bnQ8L2E+IGZvciBhIGNvbXBsZXRlIGFyY2hpdmUgb2YgYWxsIHlvdXIgc3VwcG9ydCByZXF1ZXN0cwogIGFuZCByZXNwb25zZXMuPC9lbT48L2Rpdj4KI0VtYWlsIHRlbXBsYXRlOiB0cmFuc2Zlci5hbGVydC55YW1sCiNTZW50IHRvIHN0YWZmIG1lbWJlcnMgd2hlbiBhIHRpY2tldCBpcyBhc3NpZ25lZCB0byB0aGVtLiBUaWNrZXRzIGNhbiBiZQojYXNzaWduZWQgYXV0b21hdGljYWxseSBieSB0aGUgc3lzdGVtIG9yIG1hbnVhbGx5IGJ5IGFub3RoZXIgc3RhZmYgbWVtYmVyLgojVXNlICV7YXNzaWduZXJ9IHRvIGRpc3Rpbmd1aXNoIHdobyBtYWRlIHRoZSBhc3NpZ25tZW50LgotLS0Kbm90ZXM6IHwKICBTZW50IHRvIGFnZW50cyB3aGVuIGEgdGlja2V0IGlzIHRyYW5zZmVyZWQgdG8gYSBkZXBhcnRtZW50IHRvIHdoaWNoCiAgdGhleSBhcmUgYSBtZW1iZXIuCnN1YmplY3Q6IHwKICBUaWNrZXQgIyV7dGlja2V0Lm51bWJlcn0gb3ZlcmRyYWdlbiAtICV7dGlja2V0LmRlcHQubmFtZX0KYm9keTogfAogIDxoMz5IaSAle3JlY2lwaWVudC5uYW1lfSw8L2gzPgogIFRpY2tldCA8YSBocmVmPSIle3RpY2tldC5zdGFmZl9saW5rfSI+IyV7dGlja2V0Lm51bWJlcn08L2E+IGhhcyBiZWVuCiAgdHJhbnNmZXJyZWQgdG8gdGhlICV7dGlja2V0LmRlcHQubmFtZX0gZGVwYXJ0bWVudCBieQogIDxzdHJvbmc+JXtzdGFmZi5uYW1lLnNob3J0fTwvc3Ryb25nPgogIDxicj4KICA8YnI+CiAgPGJsb2NrcXVvdGU+CiAgICAgICV7Y29tbWVudHN9CiAgPC9ibG9ja3F1b3RlPgogIDxocj4KICA8ZGl2PlRvIHZpZXcgb3IgcmVzcG9uZCB0byB0aGUgdGlja2V0LCBwbGVhc2UgPGEKICBocmVmPSIle3RpY2tldC5zdGFmZl9saW5rfSI+bG9naW48L2E+IHRvIHRoZSBzdXBwb3J0IHRpY2tldCBzeXN0ZW0uCiAgPC9kaXY+CiAgPGVtIHN0eWxlPSJmb250LXNpemU6IHNtYWxsOyAiPllvdXIgZnJpZW5kbHkgQ3VzdG9tZXIgU3VwcG9ydAogIFN5c3RlbTwvZW0+CiAgPGJyPgogIDxhIGhyZWY9Imh0dHBzOi8vb3N0aWNrZXQuY29tLyI+PGltZyB3aWR0aD0iMTI2IiBoZWlnaHQ9IjE5IgogICAgICBhbHQ9IlBvd2VyZWQgQnkgb3NUaWNrZXQiIHN0eWxlPSJ3aWR0aDogMTI2cHg7IgogICAgICBzcmM9ImNpZDpiNTY5NDRjYjQ3MjJjYzVjZGE5ZDFlMjNhM2VhN2ZiYyIvPjwvYT4KI2FjY2Vzcy1saW5rLnlhbWwKI1RpY2tldCBhY2Nlc3MgbGluayBzZW50IHRvIGNsaWVudHMgZm9yIGd1ZXN0LW9ubHkgc3lzdGVtcyB3aGVyZSB0aGUgdGlja2V0CiNudW1iZXIgYW5kIGVtYWlsIGFkZHJlc3Mgd2lsbCB0cmlnZ2VyIGFuIGFjY2VzcyBsaW5rIHNlbnQgdmlhIGVtYWlsCi0tLQpub3RlczogPgogIERlemUgdGVtcGxhdGUgZGVmaW5pZWVydCBkZSBub3RpZmljYXRpZSB2b29yIGtsYW50ZW4gZGF0IGVlbiB0b2VnYW5nc2xpbmsgbmFhciBodW4gZS1tYWlsIGFkcmVzIHdlcmQgdmVyem9uZGVuLiBIZXQgdGlja2V0IG51bW1lciBlbiBlbWFpbCBhZHJlcyBhY3RpdmVyZW4gZGUgdG9lZ2FuZ3NsaW5rLgpuYW1lOiAiVGlja2V0IFsjJXt0aWNrZXQubnVtYmVyfV0gVG9lZ2FuZ3MgTGluayIKYm9keTogPgogIDxoMz48c3Ryb25nPkJlc3RlICV7cmVjaXBpZW50Lm5hbWUuZmlyc3R9LDwvc3Ryb25nPjwvaDM+IDxkaXY+IEVlbiB2ZXJ6b2VrIHRvdCBlZW4gdG9lZ2FuZ3NsaW5rIHZvb3IgdGlja2V0ICMle3RpY2tldC5udW1iZXJ9IGlzIG5hbWVucyB1IGJpaiBkZSBoZWxwZGVzayBpbmdlZGllbmQgb3AgJXt1cmx9LjxiciAvPiA8YnIgLz4gVm9sZyBkZSBsaW5rIGhpZXJvbmRlciBvbSBkZSBzdGF0dXMgdGUgY29udHJvbGVyZW4gdmFuIHRpY2tldCAjJXt0aWNrZXQubnVtYmVyfS48YnIgLz4gPGJyIC8+IDxhIGhyZWY9IiV7cmVjaXBpZW50LnRpY2tldF9saW5rfSI+JXtyZWNpcGllbnQudGlja2V0X2xpbmt9PC9hPjxiciAvPiA8YnIgLz4gQWxzIHUgPHN0cm9uZz5uaWV0PC9zdHJvbmc+IGRpdCB2ZXJ6b2VrIG1hYWt0ZSwgdmVyd2lqZGVyIGVuIG5lZ2VlciBkZXplIGVtYWlsIGRhbiBhbHN0dWJsaWVmdC4gVXcgYWNjb3VudCBpcyBub2cgc3RlZWRzIHZlaWxpZyBlbiBuaWVtYW5kIGhlZWZ0IHRvZWdhbmcgZ2VrcmVnZW4gdG90IGhldCB0aWNrZXQuIEllbWFuZCBrYW4gcGVyIG9uZ2VsdWsgdXcgZW1haWwgYWRyZXMgaW5nZXZvZXJkIGhlYmJlbi48YnIgLz4gPGJyIC8+IC0tPGJyIC8+ICV7Y29tcGFueS5uYW1lfSA8L2Rpdj4KI2Jhbm5lci1jbGllbnQueWFtbAojVGhpcyBmb3JtcyB0aGUgaGVhZGVyIG9uIHRoZSBzdGFmZiBsb2dpbiBwYWdlLiBJdCBjYW4gYmUgdXNlZnVsIHRvIGluZm9ybQojeW91ciBjbGllbnRzIGFib3V0IHlvdXIgbG9naW4gYW5kIHJlZ2lzdHJhdGlvbiBwb2xpY2llcy4KLS0tCm5vdGVzOiA+CiAgRGl0IGlzIGRlIGtvcCB2YW4gZGUgS2xhbnRlbiBMb2dpbiBwYWdpbmEuIEhldCBrYW4gYnJ1aWtiYWFyIHppam4gb20gdXcga2xhbnRlbiB0ZSBpbmZvcm1lcmVuIG92ZXIgdXcgaW5sb2ctIGVuIHJlZ2lzdHJhdGllYmVsZWlkLgpuYW1lOiAiTG9nIGluIGJpaiAle2NvbXBhbnkubmFtZX0iCmJvZHk6ID4KICBPbSB1IGJldGVyIHZhbiBkaWVuc3QgdGUga3VubmVuIHppam4sIHZyYWdlbiB3aWogb256ZSBrbGFudGVuIG9tIHRlIGVlbiBhY2NvdW50IHRlIHJlZ2lzdHJlcmVuLgojYmFubmVyLXN0YWZmLnlhbWwKI1RoaXMgaXMgdGhlIGluaXRpYWwgbWVzc2FnZSBhbmQgYmFubmVyIHNob3duIG9uIHRoZSBzdGFmZiBsb2dpbiBwYWdlCi0tLQpub3RlczogPgogIERpdCBpcyBoZXQgb29yc3Byb25rZWxpamtlIGJlcmljaHQgZW4gYmFubmVyIGdldG9vbmQgb3AgZGUgcGFnaW5hIHBlcnNvbmVlbCBMb2cgSW4uIEhldCBlZXJzdGUgdmVsZCB2ZXJ3aWpzdCBuYWFyIGRlIHJvb2QtZ2Vmb3JtYXR0ZWVyZGUgdGVrc3QgZGllIHdvcmR0IHdlZXJnZWdldmVuIGFhbiBkZSBib3ZlbmthbnQuIERlIGxhYXRzdGUgdGV4dGFyZWEgaXMgdm9vciBkZSBpbmhvdWQgdmFuIGRlIGJhbm5lciB3ZWxrZSBhbHMgZWVuIGRpc2NsYWltZXIgZGllbnQuCm5hbWU6ICJWZXJpZmljYXRpZSB2ZXJlaXN0Igpib2R5OiAiIgojZW1haWwyZmEtc3RhZmYueWFtbAojVGVtcGxhdGUgb2YgdGhlIGVtYWlsIHNlbnQgdG8gc3RhZmYgbWVtYmVycyB3aGVuIHVzaW5nIHRoZSBFbWFpbAojVHdvIEZhY3RvciBBdXRoZW50aWNhdGlvbgotLS0Kbm90ZXM6ID4KICBEZXplIHRlbXBsYXRlIGJlcGFhbGQgZGUgZW1haWwgZGllIHZlcnN0dXVyZCB3b3JkdCBuYWFyIGRlIFN0YWZmIGRpZSBFbWFpbCBnZWJydWlrdCB2b29yIDIgRmFjdG9yIEF1dGhlbnRpY2F0aWUKbmFtZTogIm9zVGlja2V0IFR3ZWUgRmFjdG9yIEF1dGhlbnRpY2F0aWUiCmJvZHk6ID4KICA8aDM+PHN0cm9uZz5IYWxsbyAle3N0YWZmLm5hbWUuZmlyc3R9LDwvc3Ryb25nPjwvaDM+IDxkaXY+IEplIGJlbnQgbmV0IGluZ2Vsb2dkIG9wIGRlIGhlbHBkZXNrIG9wICV7dXJsfS48YnIgLz4gPGJyIC8+IEdlYnJ1aWsgb25kZXJzdGFhbmRlIHZlcmlmaWNhdGllIGNvZGUgb20gaGV0IGlubG9nZ2VuIG9wIGRlIGhlbHBkZXNrIGFmIHRlIHJvbmRlbi4uPGJyIC8+IDxiciAvPiAle290cH08YnIgLz4gPGJyIC8+IDxlbSBzdHlsZT0iZm9udC1zaXplOiBzbWFsbCI+SmUgdnJpZW5kZWxpamtlIEN1c3RvbWVyIFN1cHBvcnQgU3lzdGVtPC9lbT4gPGJyIC8+IDxpbWcgc3JjPSJjaWQ6YjU2OTQ0Y2I0NzIyY2M1Y2RhOWQxZTIzYTNlYTdmYmMiIGFsdD0iUG93ZXJlZCBieSBvc1RpY2tldCIgd2lkdGg9IjEyNiIgaGVpZ2h0PSIxOSIgc3R5bGU9IndpZHRoOiAxMjZweCIgLz4gPC9kaXY+CiNQYWdlIHRlbXBsYXRlOiBsYW5kaW5nLnlhbWwKI1RoZSBsYW5kaW5nIHBhZ2UgaXMgc2VydmVkIG9uIHRoZSBmcm9udCBwYWdlIG9mIHRoZSBjdXN0b21lciBwb3J0YWwgYWJvdmUKI3RoZSB0d28gbGlua3MgZm9yIGNyZWF0aW5nIG5ldyB0aWNrZXRzIGFuZCB2aWV3aW5nIHRpY2tldCBzdGF0dXMuCi0tLQpub3RlczogPgogIERlIGxhbmRpbmdzcGFnaW5hIHJlZmVyZWVydCBuYWFyIGRlIGluaXRpw6tsZSB3ZWVyZ2F2ZSB2YW4gaGV0IGtsYW50cG9ydGFhbC4gRGUgdGVtcGxhdGUgd2lqemlndCBkZSBpbmhvdWQgZGllIG1lbiB6aWV0IGJvdmVuIGRlIHR3ZWUgbGlua3MgPHN0cm9uZz5PcGVuIGVlbiBOaWV1dyBUaWNrZXQ8L3N0cm9uZz4gZW4gPHN0cm9uZz5Db250cm9sZWVyIFRpY2tldCBTdGF0dXM8L3N0cm9uZz4uCm5hbWU6IExhbmRpbmdzcGFnaW5hCmJvZHk6ID4KICA8aDE+V2Vsa29tIGJpaiBoZXQgU3VwcG9ydCBDZW50ZXI8L2gxPiA8cD5PbSB2ZXJ6b2VrZW4gdG90IHN1cHBvcnQgYmV0ZXIgdGUga3VubmVuIG9uZGVyc3RldW5lbiBtYWtlbiB3aWogZ2VicnVpayB2YW4gZWVuIFN1cHBvcnQgVGlja2V0IFN5c3RlZW0uIEVsa2Ugc3VwcG9ydGFhbnZyYWFnIGtyaWpndCBlZW4gdW5pZWsgdGlja2V0bnVtbWVyIHRvZWdld2V6ZW4gd2F0IHUga3VudCBnZWJydWlrZW4gb20gZGUgdm9vcnRnYW5nIGVuIGRlIGFudHdvb3JkZW4gb25saW5lIHRlIHZvbGdlbi4gVm9vciB1dyBpbmZvcm1hdGllIGJpZWRlbiB3aWogZWVuIHZvbGxlZGlnZSBnZXNjaGllZGVuaXMgdmFuIGFsIHV3IGFhbnZyYWdlbiB2b29yIHN1cHBvcnQuIEVlbiBnZWxkaWcgZS1tYWlsYWRyZXMgaXMgdmVyZWlzdCBvbSBlZW4gbmlldXcgdGlja2V0IGFhbiB0ZSBrdW5uZW4gbWFrZW4uIDwvcD4KI1BhZ2UgdGVtcGxhdGU6IG9mZmxpbmUueWFtbAojVGhlIG9mZmxpbmUgcGFnZSBpcyBzZXJ2ZWQgdG8gdGhlIGN1c3RvbWVyIHBvcnRhbCB3aGVuIHRoZSBoZWxwIGRlc2sgaXMKI2NvbmZpZ3VyZWQgb2ZmbGluZSBpbiB0aGUgQWRtaW4gUGFuZWwKLS0tCm5vdGVzOiB8CiAgRGUgT2ZmbGluZSBQYWdpbmEgdmVyc2NoaWpudCBpbiBoZXQga2xhbnRlbiBwb3J0YWFsIGFscyBkZSBoZWxwZGVzayBvZmZsaW5lIGlzLgpuYW1lOiBPZmZsaW5lCmJvZHk6IHwKICA8ZGl2PjxoMT4gPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogbWVkaXVtIj4gU3VwcG9ydCBUaWNrZXQgc3lzdGVlbSBPZmZsaW5lPC9zcGFuPjwvaDE+IDxwPkJlZGFua3Qgdm9vciB1dyBpbnRlcmVzc2Ugb20gY29udGFjdCBvcCB0ZSBuZW1lbi48L3A+IDxwPk9uemUgaGVscGRlc2sgb3AgZGl0IG1vbWVudCBvZmZsaW5lLCBwcm9iZWVyIGhldCBhLnUuYi4gb3AgZWVuIGxhdGVyIHRpamRzdGlwIG5vZyBlZW5zLjwvcD4gPC9kaXY+CiNwd3Jlc2V0LWNsaWVudC55YW1sCiNUZW1wbGF0ZSBvZiB0aGUgZW1haWwgc2VudCB0byBjbGllbnRzIHdoZW4gdXNpbmcgdGhlIEZvcmdvdCBNeSBQYXNzd29yZAojbGluayBvbiB0aGUgbG9naW4gcGFnZQotLS0Kbm90ZXM6ID4KICBEZXplIHNqYWJsb29uIGJlcGFhbHQgZGUgZS1tYWlsIGdlc3R1dXJkIG5hYXIga2xhbnRlbiBkaWUgc2VsZWN0ZWVydCB1IGRlIGtvcHBlbGluZyA8c3Ryb25nPk1pam4gd2FjaHR3b29yZCB2ZXJnZXRlbjwvc3Ryb25nPiBvcCBkZSBDbGllbnQgTG9nIEluIHBhZ2luYS4KbmFtZTogIiV7Y29tcGFueS5uYW1lfSBIZWxwIERlc2sgQWNjZXNzIgpib2R5OiA+CiAgPGgzPjxzdHJvbmc+SGFsbG8gJXt1c2VyLm5hbWUuZmlyc3R9LDwvc3Ryb25nPjwvaDM+IDxkaXY+RWVuIHdhY2h0d29vcmQgcmVzZXQgYWFudnJhYWcgaGVlZnQgaW5nZWRpZW5kIG5hbWVucyB1IHZvb3IgZGUgaGVscGRlc2sgb3AgJXt1cmx9LjxiciAvID4gPCBiciAvID4gQWxzIHUgZGVua3QgZGF0IGRpdCBoZWVmdCBnZWRhYW4gaW4gZm91dCwgdmVyd2lqZGVyZW4gZW4gZGV6ZSBlLW1haWwgbmVnZXJlbi4gVXcgYWNjb3VudCBpcyBub2cgc3RlZWRzIHZlaWxpZyBlbiBuaWVtYW5kIGhlZWZ0IGdla3JlZ2VuIHRvZWdhbmcgdG90IGhldC4gSGV0IGlzIG5pZXQgdmVyZ3JlbmRlbGQgZW4gdXcgd2FjaHR3b29yZCBuaWV0IGlzIHRlcnVnZ2V6ZXQuIEllbWFuZCBrYW4gcGVyIG9uZ2VsdWsgaGVidCBpbmdldm9lcmQgdXcgZW1haWwgYWRyZXMuIDwgYnIgLyA+IDwgYnIgLyA+IFZvbGcgZGUgbGluayBoaWVyb25kZXIgYWFuIGxvZ2luIGFhbiBkZSBoZWxwZGVzayBlbiB3aWp6aWcgdXcgd2FjaHR3b29yZC4gPCBiciAvID4gPCBiciAvID4gPGEgaHJlZj0iJXtsaW5rfSI+ICUge2tvcHBlbGluZ308L2E+IDwgYnIgLyA+IDwgYnIgLyA+IDxlbSBzdHlsZT0iZm9udC1zaXplOiBzbWFsbCI+IHV3IHZyaWVuZGVsaWprZSBDdXN0b21lciBTdXBwb3J0IHN5c3RlZW0gPCBiciAvID4gJXtjb21wYW55Lm5hbWV9PC9lbT48L2Rpdj4KI3B3cmVzZXQtc3RhZmYueWFtbAojVGVtcGxhdGUgb2YgdGhlIGVtYWlsIHNlbnQgdG8gc3RhZmYgbWVtYmVycyB3aGVuIHVzaW5nIHRoZSBGb3Jnb3QgTXkKI1Bhc3N3b3JkIGxpbmsKLS0tCm5vdGVzOiA+CiAgRGV6ZSB0ZW1wbGF0ZSBkZWZpbmllZXJ0IGRlIGVtYWlsIGRpZSBuYWFyIG1lZGV3ZXJrZXJzIHZlcnpvbmRlbiB3b3JkdCBkaWUgZGUgPHN0cm9uZz5NaWpuIFdhY2h0d29vcmQgVmVyZ2V0ZW48L3N0cm9uZz4gbGluayBnZWJydWlrdCBoZWJiZW4sIG9wIGRlIGxvZ2luIHBhZ2luYSB2YW4gaGV0IG1lZGV3ZXJrZXJzIGNvbnRyb2xlIHBhbmVlbC4KbmFtZTogIm9zVGlja2V0IG1lZGV3ZXJrZXIgd2FjaHR3b29yZCByZXNldCIKYm9keTogPgogIDxoMz48c3Ryb25nPkJlc3RlICV7c3RhZmYubmFtZS5maXJzdH0sPC9zdHJvbmc+PC9oMz4gPGRpdj4gRWVuIHdhY2h0d29vcmQgcmVzZXQgdmVyem9layBpcyBuYW1lbnMgdSBhYW5nZXZyYWFnZCB2b29yIGRlIGhlbHBkZXNrIG9wICV7dXJsfS48YnIgLz4gPGJyIC8+QWxzIHUgZGVua3QgZGF0IGRpdCBmb3V0aWVmIGdlZGFhbiBpcywgdmVyd2lqZGVyIGVuIG5lZ2VlciBkYW4gZGV6ZSBlbWFpbC4gVXcgYWNjb3VudCBpcyBub2cgc3RlZWRzIHZlaWxpZyBlbiBuaWVtYW5kIGhlZWZ0IGVyIHRvZWdhbmcgdG9lIGdla3JlZ2VuLiBIZXQgaXMgbmlldCBnZWJsb2trZWVyZCBlbiB1dyB3YWNodHdvb3JkIGlzIG5pZXQgZ2VyZXNldC4gSWVtYW5kIGthbiBwZXIgb25nZWx1ayB1dyBlbWFpbCBhZHJlcyBpbmdldm9lcmQgaGViYmVuLjxiciAvPiA8YnIgLz5Wb2xnIGRlIGxpbmsgaGllcm9uZGVyIG9tIGluIHRlIGxvZ2dpbiBvcCBkZSBoZWxwZGVzayBlbiB1dyB3YWNodHdvb3JkIHRlIHdpanppZ2VuLjxiciAvPiA8YnIgLz4gPGEgaHJlZj0iJXtsaW5rfSI+JXtsaW5rfTwvYT48YnIgLz4gPGJyIC8+IDxlbSBzdHlsZT0iZm9udC1zaXplOiBzbWFsbCI+dXcgdnJpZW5kZWxpamtlIEhlbHBkZXNrIFN5c3RlZW08L2VtPiA8YnIgLz4gPGltZyBzcmM9ImNpZDpiNTY5NDRjYjQ3MjJjYzVjZGE5ZDFlMjNhM2VhN2ZiYyIgYWx0PSJQb3dlcmVkIGJ5IG9zVGlja2V0IiB3aWR0aD0iMTI2IiBoZWlnaHQ9IjE5IiBzdHlsZT0id2lkdGg6IDEyNnB4IiAvPiA8L2Rpdj4KI3JlZ2lzdHJhdGlvbi1zdGFmZi55YW1sCiNDb25maXJtYXRpb24gZW1haWwgc2VudCB0byBjbGllbnRzIHdoZW4gYWNjb3VudHMgYXJlIGNyZWF0ZWQgZm9yIHRoZW0gYnkKI3N0YWZmIG9yIHZpYSB0aGUgY2xpZW50IHBvcnRhbC4gVGhpcyBlbWFpbCBzZXJ2ZXMgYXMgYW4gZW1haWwgYWRkcmVzcwojdmVyaWZpY2F0aW9uLgotLS0Kbm90ZXM6ID4KICBEZXplIHRlbXBsYXRlIGRlZmluaWVlcnQgZGUgZW1haWwgZGllIG5hYXIga2xhbnRlbiB3b3JkdCBnZXpvbmRlbiBhbHMgaHVuIGFjY291bnQgYWFuZ2VtYWFrdCBpcyBpbiBoZXQga2xhbnRlbiBwb3J0YWFsIG9mIGFscyBkaXQgdWl0IGh1biBuYWFtIGRvb3IgZWVuIG1lZGV3ZXJrZXIgaXMgZ2VkYWFuLiBEZXplIGVtYWlsIGZ1bmdlZXJ0IGFscyBlbWFpbCBhZHJlcyB2ZXJpZmljYXRpZS4gR2VicnVpayBhbHN0dWJsaWVmdCAle2xpbmt9IGVyZ2VucyBpbiBoZXQgYmVyaWNodC4KbmFtZTogIldlbGtvbSBiaWogJXtjb21wYW55Lm5hbWV9Igpib2R5OiA+CiAgPGgzPjxzdHJvbmc+SGFsbG8gJXtyZWNpcGllbnQubmFtZS5maXJzdH0uPC9zdHJvbmc+PC9oMz4gPGRpdj5XZSBoZWJiZW4gdm9vciB1IGVlbiBhY2NvdW50IGFhbmdlbWFha3Qgb3Agb256ZSBoZWxwZGVzayAle3VybH0uPGJyIC8+IDxiciAvPlZvbGcgYWxzdHVibGllZnQgZGUgb25kZXJzdGFhbmRlIGxpbmsgb20gdXcgYWNjb3VudCB0ZSBiZXZlc3RpZ2VuIGVuIHRvZWdhbmcgdGUga3JpamdlbiB0b3QgdXcgdGlja2V0cy48YnIgLz4gPGJyIC8+IDxhIGhyZWY9IiV7bGlua30iPiV7bGlua308L2E+PGJyIC8+IDxiciAvPiA8ZW0gc3R5bGU9ImZvbnQtc2l6ZTogc21hbGwiPlV3IHZyaWVuZGVsaWprZSBoZWxwZGVzayAgPGJyIC8+ICV7Y29tcGFueS5uYW1lfTwvZW0+IDwvZGl2PgojcmVnaXN0cmF0aW9uLWNvbmZpcm0ueWFtbAojVGVtcGxhdGUgb2YgdGhlIHBhZ2Ugc2hvd24gdG8gdGhlIHVzZXIgYWZ0ZXIgcmVnaXN0ZXJpbmcgZm9yIGFuIGFjY291bnQuCiNUaGUgc3lzdGVtIHdpbGwgc2VuZCB0aGUgdXNlciBhbiBlbWFpbCB3aXRoIGEgbGluayB0aGV5IHNob3VsZCBmb2xsb3cgdG8KI2NvbmZpcm0gdGhlIGFjY291bnQuIFRoaXMgcGFnZSBzaG91bGQgaW5mb3JtIHRoZW0gb2YgdGhlIG5leHQgc3RlcCBpbgojdGhlIHByb2Nlc3MuCi0tLQpub3RlczogPgogIERpdCBzamFibG9vbiBkZWZpbmllZXJ0IGRlIHBhZ2luYSBkaWUgYWFuIGtsYW50ZW4gd29yZHQgd2VlcmdlZ2V2ZW4gbmEgaGV0IHZvbHRvb2llbiB2YW4gaGV0IHJlZ2lzdHJhdGllZm9ybXVsaWVyLiBIZXQgc2phYmxvb24gem91IG1vZXRlbiB2ZXJtZWxkZW4gZGF0IGhldCBzeXN0ZWVtIGVlbiBlLW1haWwgbWV0IGJldmVzdGlnaW5nc2xpbmsgc3R1dXJ0IGVuIHdhdCBkZSB2b2xnZW5kZSBzdGFwIGluIGhldCByZWdpc3RyYXRpZXByb2NlcyBpcy4KbmFtZTogIkFjY291bnQgcmVnaXN0cmF0aWUiCmJvZHk6ID4KCiAgPGRpdj48c3Ryb25nPkJlZGFua3Qgdm9vciBoZXQgcmVnaXN0cmVyZW4gdmFuIGVlbiBhY2NvdW50Ljwvc3Ryb25nPjxici8+IDxiciAvPiBXZSBoZWJiZW4gZWVuIGUtbWFpbCB2ZXJ6b25kZW4gbmFhciBoZXQgZS1tYWlsIGFkcmVzIGRhdCB1IG9wZ2VnZXZlbiBoZWJ0LiBLbGlrIGFsc3R1YmxpZWZ0IG9wIGRlIGxpbmsgaW4gZGUgbWFpbCBvbSB1dyBhY2NvdW50IHRlIGJldmVzdGlnZW4gZW4gdG9lZ2FuZyB0b3QgdXcgdGlja2V0cyB0ZSBrcmlqZ2VuLiA8L2Rpdj4KI3JlZ2lzdHJhdGlvbi1zdGFmZi55YW1sCiNJbml0aWFsIChvcHRpb25hbCkgZW1haWwgc2VudCB0byBzdGFmZiBtZW1iZXJzIHdoZW4gYWNjb3VudHMgYXJlIGNyZWF0ZWQKI2ZvciB0aGVtIGluIHRoZSBzdGFmZiBjb250cm9sIHBhbmVsCi0tLQpub3RlczogPgogIERpdCBzamFibG9vbiBpcyB2b29yIGRlIGVlcnN0ZSBlLW1haWwob3B0aW9uZWVsKSBkaWUgdmVyem9uZGVuIHdvcmR0IG5hYXIgaGV0IHBlcnNvbmVlbHNsaWQgYWxzIGVyIGVlbiBhY2NvdW50IG9wIHppam4gbmFhbSB3b3JkdCBhYW5nZW1hYWt0LgpuYW1lOiAiV2Vsa29tIGJpaiBvc1RpY2tldCIKYm9keTogPgogIDxoMz48c3Ryb25nPkhpICV7cmVjaXBpZW50Lm5hbWUuZmlyc3R9LDwvc3Ryb25nPjwvaDM+IDxkaXY+IFdlIGhlYmJlbiB2b29yIFUgZWVuIGFjY291bnQgYWFuZ2VtYWFrdCBvcCBvbnplIGhlbHBkZXNrICV7dXJsfS48YnIgLz4gPGJyIC8+IGtsaWsgYWxzdHVibGllZnQgb3AgZGUgdm9sZ2VuZGUgbGluayBvbSB1dyBhY2NvdW50IHRlIGJldmVzdGlnZW4gZW4gdG9lZ2FuZyB0ZSBrcmlqZ2VuIHRvdCB1dyB0aWNrZXRzLjxiciAvPiA8YnIgLz4gPGEgaHJlZj0iJXtsaW5rfSI+JXtsaW5rfTwvYT48YnIgLz4gPGJyIC8+IDxlbSBzdHlsZT0iZm9udC1zaXplOiBzbWFsbCI+VXcgdnJpZW5kZWxpamtlIGhlbHBkZXNrIDxiciAvPiAle2NvbXBhbnkubmFtZX08L2VtPiA8L2Rpdj4KI3JlZ2lzdHJhdGlvbi10aGFua3MueWFtbAojUGFnZSBzaG93biB0byB0aGUgdXNlciBhZnRlciBzdWNjZXNzZnVsbHkgcmVnaXN0cmluZyBhbmQgY29uZmlybWluZyB0aGVpcgojYWNjb3VudC4gVGhpcyBwYWdlIHNob3VsZCBpbmZvcm0gdGhlIHVzZXIgdGhhdCB0aGUgcHJvY2VzcyBpcyBjb21wbGV0ZSBhbmQKI3RoYXQgdGhlIHVzZXIgY2FuIG5vdyBzdWJtaXQgYSB0aWNrZXQgb3IgYWNjZXNzIGV4aXN0aW5nIHRpY2tldHMKLS0tCm5vdGVzOiA+CiAgRGl0IHNqYWJsb29uIGJldmF0IGRlIHRla3N0IGRpZSB3b3JkdCB3ZWVyZ2VnZXZlbiBuYWRhdCBrbGFudGVuIGh1biByZWdpc3RyYXRpZSBoZWJiZW4gYmV2ZXN0aWdkLiBEZXplIHBhZ2luYSBtb2V0IGRlIGtsYW50IHZlcnRlbGxlbiBkYXQgZGUgcmVnaXN0cmF0aWUgaXMgdm9sdG9vaWQgZW4gZGF0IGhpaiBudSBlZW4gdGlja2V0IGthbiBvcGVuZW4gb2YgYmVzdGFhbmRlIHRpY2tldHMgaW4ga2FuIHppZW4uCm5hbWU6ICJBY2NvdW50IGJldmVzdGlnZCEiCmJvZHk6ID4KICA8ZGl2PjxzdHJvbmc+QmVkYW5rdCB2b29yIGhldCByZWdpc3RyZXJlbiB2b29yIGVlbiBhY2NvdW50Ljwvc3Ryb25nPjxiciAvPiA8YnIgLz4gVSBoZWJ0IHV3IGUtbWFpbGFkcmVzIGJldmVzdGlnZCBlbiB1dyBhY2NvdW50IGdlYWN0aXZlZXJkLiBVICBrdW50IG51IGVlbiBuaWV1dyB0aWNrZXQgb2YgYmVzdGFhbmRlIHRpY2tldHMgYmVoZXJlbi4gPGJyIC8+IDxiciAvPiA8ZW0+VXcgdnJpZW5kZWxpamtlIGhlbHBkZXNrPC9lbT4gPGJyIC8+ICV7Y29tcGFueS5uYW1lfTwvZGl2PgojUGFnZSB0ZW1wbGF0ZTogdGhhbmsteW91LnlhbWwKI1RoZSB0aGFuay15b3UgcGFnZSBpcyBzZXJ2ZWQgdG8gdGhlIGN1c3RvbWVyIHBvcnRhbCB3aGVuIGEgdXNlciBzdWJtaXRlcyBhCiNuZXcgdGlja2V0IHZpYSB0aGUgY3VzdG9tZXIgcG9ydGFsLgotLS0Kbm90ZXM6IHwKICBEZSBiZWRhbmtwYWdpbmEgd29yZHQgemljaHRiYWFyIGluIGhldCBrbGFudGVucG9ydGFhbCB3YW5uZWVyIGVlbiBnZWJydWlrZXIgZWVuIG5pZXV3IHRpY2tldCBoZWVmdCBhYW5nZW1hYWt0LgpuYW1lOiBCZWRhbmt0CmJvZHk6IHwKICA8ZGl2PiUge3RpY2tldC5uYW1lfSwgPGJyPjxicj5CZWRhbmt0IGRhdCB1IGNvbnRhY3QgbWV0IG9ucyBoZWVmdCBvcGdlbm9tZW4uPGJyPjxicj5FZW4gY29udGFjdHZlcnpvZWsgaXMgYWFuZ2VtYWFrdCBlbiBpbmRpZW4gbm9kaWcgemFsIGVlbiBtZWRld2Vya2VyIGJpbm5lbmtvcnQgY29udGFjdCBtZXQgdSBvcCBuZW1lbi48L3A+IDxicj48YnI+TWV0IHZyaWVuZGVsaWprZSBncm9ldCwgPGJyPjxicj5oZXQgU3VwcG9ydHRlYW08L2Rpdj4KI1dlbGNvbWUgdGlja2V0IHRlbXBsYXRlCiNXaGVuIHRoZSBzeXN0ZW0gaWYgZmlyc3QgaW5zdGFsbGVkIGFuZCB0aGUgaW5zdGFsbGVyIGZpbmlzaGVzIHNldHRpbmcgdXAKI3RoZSBkYXRhYmFzZSwgaXQgY3JlYXRlcyBhIGZpcnN0IHRpY2tldCB3aXRoIGEgd2VsY29tZSBtZXNzYWdlIHRvIHRoZQojYWRtaW5pc3RyYXRvcgotLS0KZGVwdElkOiAxICNzdXBwb3J0CnRvcGljSWQ6IDEgI3N1cHBvcnQKbmFtZTogb3NUaWNrZXQgVGVhbQplbWFpbDogZmVlZGJhY2tAb3N0aWNrZXQuY29tCnNvdXJjZTogV2ViICNub3RyYW5zCnN1YmplY3Q6IG9zVGlja2V0IGdlw69uc3RhbGxlZXJkIQptZXNzYWdlOiB8CiAgPHA+CiAgVGhhbmsgeW91IGZvciBjaG9vc2luZyBvc1RpY2tldC4KICA8L3A+PHA+CiAgUGxlYXNlIG1ha2Ugc3VyZSB5b3Ugam9pbiB0aGUgPGEKICBocmVmPSJodHRwczovL2ZvcnVtLm9zdGlja2V0LmNvbSI+b3NUaWNrZXQgZm9ydW1zPC9hPiBhbmQgb3VyIDxhCiAgaHJlZj0iaHR0cHM6Ly9vc3RpY2tldC5jb20iPm1haWxpbmcgbGlzdDwvYT4gdG8gc3RheSB1cCB0byBkYXRlCiAgb24gdGhlIGxhdGVzdCBuZXdzLCBzZWN1cml0eSBhbGVydHMgYW5kIHVwZGF0ZXMuIFRoZSBvc1RpY2tldCBmb3J1bXMgYXJlCiAgYWxzbyBhIGdyZWF0IHBsYWNlIHRvIGdldCBhc3Npc3RhbmNlLCBndWlkYW5jZSwgdGlwcywgYW5kIGhlbHAgZnJvbQogIG90aGVyIG9zVGlja2V0IHVzZXJzLiAgSW4gYWRkaXRpb24gdG8gdGhlIGZvcnVtcywgdGhlIDxhCiAgaHJlZj0iaHR0cHM6Ly9kb2NzLm9zdGlja2V0LmNvbSI+b3NUaWNrZXQgRG9jczwvYT4gcHJvdmlkZXMgYSB1c2VmdWwKICBjb2xsZWN0aW9uIG9mIGVkdWNhdGlvbmFsIG1hdGVyaWFscywgZG9jdW1lbnRhdGlvbiwgYW5kIG5vdGVzIGZyb20gdGhlCiAgY29tbXVuaXR5LiBXZSB3ZWxjb21lIHlvdXIgY29udHJpYnV0aW9ucyB0byB0aGUgb3NUaWNrZXQgY29tbXVuaXR5LgogIDwvcD48cD4KICBJZiB5b3UgYXJlIGxvb2tpbmcgZm9yIGEgZ3JlYXRlciBsZXZlbCBvZiBzdXBwb3J0LCB3ZSBwcm92aWRlCiAgcHJvZmVzc2lvbmFsIHNlcnZpY2VzIGFuZCBjb21tZXJjaWFsIHN1cHBvcnQgd2l0aCBndWFyYW50ZWVkIHJlc3BvbnNlCiAgdGltZXMsIGFuZCBhY2Nlc3MgdG8gdGhlIGNvcmUgZGV2ZWxvcG1lbnQgdGVhbS4gV2UgY2FuIGFsc28gaGVscAogIGN1c3RvbWl6ZSBvc1RpY2tldCBvciBldmVuIGFkZCBuZXcgZmVhdHVyZXMgdG8gdGhlIHN5c3RlbSB0byBtZWV0IHlvdXIKICB1bmlxdWUgbmVlZHMuCiAgPC9wPjxwPgogIElmIHRoZSBpZGVhIG9mIG1hbmFnaW5nIGFuZCB1cGdyYWRpbmcgdGhpcyBvc1RpY2tldCBpbnN0YWxsYXRpb24gaXMKICBkYXVudGluZywgeW91IGNhbiB0cnkgb3NUaWNrZXQgYXMgYSBob3N0ZWQgc2VydmljZSBhdCA8YQogIGhyZWY9Imh0dHBzOi8vc3VwcG9ydHN5c3RlbS5jb20iPmh0dHBzOi8vc3VwcG9ydHN5c3RlbS5jb20vPC9hPiAtLQogIG5vIGluc3RhbGxhdGlvbiByZXF1aXJlZCBhbmQgd2UgY2FuIGltcG9ydCB5b3VyIGRhdGEhICBXaXRoCiAgU3VwcG9ydFN5c3RlbSdzIHR1cm5rZXkgaW5mcmFzdHJ1Y3R1cmUsIHlvdSBnZXQgb3NUaWNrZXQgYXQgaXRzIGJlc3QsCiAgbGVhdmluZyB5b3UgZnJlZSB0byBmb2N1cyBvbiB5b3VyIGN1c3RvbWVycyB3aXRob3V0IHRoZSBidXJkZW4gb2YgbWFraW5nCiAgc3VyZSB0aGUgYXBwbGljYXRpb24gaXMgc3RhYmxlLCBtYWludGFpbmVkLCBhbmQgc2VjdXJlLgogIDwvcD48cD4KICBDaGVlcnMsCiAgPC9wPjxwPgogIC08YnIvPgogIG9zVGlja2V0IFRlYW0gLSBodHRwczovL29zdGlja2V0LmNvbS8KICA8L3A+PHA+CiAgPHN0cm9uZz5QUy48L3N0cm9uZz4gRG9uJ3QganVzdCBtYWtlIGN1c3RvbWVycyBoYXBweSwgbWFrZSBoYXBweQogIGN1c3RvbWVycyEKICA8L3A+CiNVcGdyYWRlIGNvbXBsZXRlZCB0aWNrZXQKI1RoaXMgdGlja2V0IGlzIGFkZGVkIHRvIHRoZSBzeXN0ZW0gYWZ0ZXIgdGhlIGNvbXBsZXRpb24gb2YgYW4gdXBncmFkZS4gSXQKI21pZ2h0IGluY2x1ZGUgaW5mb3JtYXRpb24gc3BlY2lmaWMgdG8gdGhlIHJlbGVhc2UsIHBlcmhhcHMgd2l0aCBzb21lIG5ldwojZmVhdHVyZSBoaWdobGlnaHRzLCBldGMuCi0tLQpzb3VyY2U6IFdlYiAjbm90cmFucwpuYW1lOiBvc1RpY2tldCBUZWFtCmVtYWlsOiBmZWVkYmFja0Bvc3RpY2tldC5jb20Kc3ViamVjdDogb3NUaWNrZXQgZ2XDvHBncmFkZSEKbWVzc2FnZTogfAogIDxwPgogIG9zVGlja2V0IHVwZ3JhZGVkIHN1Y2Nlc3NmdWxseSEgUGxlYXNlIHJlZmVyIHRvIHRoZSBSZWxlYXNlIE5vdGVzCiAgKGh0dHBzOi8vZ2l0aHViLmNvbS9vc1RpY2tldC9vc1RpY2tldC9yZWxlYXNlcykgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQKICBjaGFuZ2VzIGFuZCBuZXcgZmVhdHVyZXMuCiAgPC9wPjxwPgogIEJlIHN1cmUgdG8gam9pbiB0aGUgPGEgaHJlZj0iaHR0cHM6Ly9mb3J1bS5vc3RpY2tldC5jb20iPm9zVGlja2V0CiAgZm9ydW1zPC9hPiBhbmQgb3VyIDxhIGhyZWY9Imh0dHBzOi8vb3N0aWNrZXQuY29tIj5tYWlsaW5nCiAgbGlzdDwvYT4gdG8gc3RheSB1cCB0byBkYXRlIG9uIGFubm91bmNlbWVudHMsIHNlY3VyaXR5IHVwZGF0ZXMgYW5kCiAgYWxlcnRzISBZb3VyIGNvbnRyaWJ1dGlvbiB0byBvc1RpY2tldCBjb21tdW5pdHkgd2lsbCBiZSBhcHByZWNpYXRlZCEKICA8L3A+PHA+CiAgVGhlIG9zVGlja2V0IHRlYW0gaXMgY29tbWl0dGVkIHRvIHByb3ZpZGluZyBzdXBwb3J0IHRvIGFsbCB1c2VycyB0aHJvdWdoCiAgb3VyIGZyZWUgb25saW5lIHJlc291cmNlcyBhbmQgYSBmdWxsIHJhbmdlIG9mIGNvbW1lcmNpYWwgc3VwcG9ydAogIHBhY2thZ2VzIGFuZCBzZXJ2aWNlcy4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIG9yIHRvIGRpc2N1c3MgeW91ciBuZWVkcywKICBwbGVhc2UgY29udGFjdCB1cyB0b2RheSBhdCBodHRwczovL29zdGlja2V0LmNvbS9zdXBwb3J0Ly4gQW55IGZlZWRiYWNrCiAgd2lsbCBiZSBhcHByZWNpYXRlZCEKICA8L3A+PHA+CiAgSWYgbWFuYWdpbmcgYW5kIHVwZ3JhZGluZyB0aGlzIG9zVGlja2V0IGluc3RhbGxhdGlvbiBpcyBkYXVudGluZywgeW91CiAgY2FuIHRyeSBvc1RpY2tldCBhcyBhIGhvc3RlZCBzZXJ2aWNlIGF0IGh0dHBzOi8vc3VwcG9ydHN5c3RlbS5jb20vIC0tCiAgbm8gdXBncmFkaW5nIGV2ZXIsIGFuZCB3ZSBjYW4gaW1wb3J0IHlvdXIgZGF0YSEgIFdpdGggU3VwcG9ydFN5c3RlbSdzCiAgdHVybmtleSBpbmZyYXN0cnVjdHVyZSwgeW91IGdldCBvc1RpY2tldCBhdCBpdHMgYmVzdCwgbGVhdmluZyB5b3UgZnJlZQogIHRvIGZvY3VzIG9uIHlvdXIgY3VzdG9tZXJzIHdpdGhvdXQgdGhlIGJ1cmRlbiBvZiBtYWtpbmcgc3VyZSB0aGUKICBhcHBsaWNhdGlvbiBpcyBzdGFibGUsIG1haW50YWluZWQsIGFuZCBzZWN1cmUuCiAgPC9wPjxwPgogIC08YnIvPgogIG9zVGlja2V0IFRlYW08YnIvPgogIGh0dHBzOi8vb3N0aWNrZXQuY29tLwogIDwvcD4KKGZ1bmN0aW9uKCRSKQp7CiAgICAkUi5sYW5nWydubCddID0gewogICAgICAgICJmb3JtYXQiOiAiRm9ybWF0IiwKICAgICAgICAiaW1hZ2UiOiAiQWZiZWVsZGluZyIsCiAgICAgICAgImZpbGUiOiAiQmVzdGFuZCIsCiAgICAgICAgImxpbmsiOiAiTGluayIsCiAgICAgICAgImJvbGQiOiAiVmV0IiwKICAgICAgICAiaXRhbGljIjogIkN1cnNpZWYiLAogICAgICAgICJkZWxldGVkIjogIkRvb3JzdHJlZXB0IiwKICAgICAgICAidW5kZXJsaW5lIjogIk9uZGVyc3RyZWVwdCIsCiAgICAgICAgInN1cGVyc2NyaXB0IjogIlN1cGVyc2NyaXB0IiwKICAgICAgICAic3Vic2NyaXB0IjogIlN1YnNjcmlwdCIsCiAgICAgICAgImJvbGQtYWJiciI6ICJCIiwKICAgICAgICAiaXRhbGljLWFiYnIiOiAiSSIsCiAgICAgICAgImRlbGV0ZWQtYWJiciI6ICJTIiwKICAgICAgICAidW5kZXJsaW5lLWFiYnIiOiAiVSIsCiAgICAgICAgInN1cGVyc2NyaXB0LWFiYnIiOiAiU3VwIiwKICAgICAgICAic3Vic2NyaXB0LWFiYnIiOiAiU3ViIiwKICAgICAgICAibGlzdHMiOiAiTGlqc3RlbiIsCiAgICAgICAgImxpbmstaW5zZXJ0IjogIkxpbmsgaW52b2VnZW4iLAogICAgICAgICJsaW5rLWVkaXQiOiAiTGluayBCZXdlcmtlbiIsCiAgICAgICAgImxpbmstaW4tbmV3LXRhYiI6ICJPcGVuIGxpbmsgaW4gbmlldXcgdGFiYmxhZCIsCiAgICAgICAgInVubGluayI6ICJPbnRrb3BwZWxlbiIsCiAgICAgICAgImNhbmNlbCI6ICJBbm51bGVyZW4iLAogICAgICAgICJjbG9zZSI6ICJBZnNsdWl0ZW4iLAogICAgICAgICJpbnNlcnQiOiAiSW52b2VnZW4iLAogICAgICAgICJzYXZlIjogIk9wc2xhYW4iLAogICAgICAgICJkZWxldGUiOiAiVmVyd2lqZGVyIiwKICAgICAgICAidGV4dCI6ICJUZWtzdCIsCiAgICAgICAgImVkaXQiOiAiQmV3ZXJrZW4iLAogICAgICAgICJ0aXRsZSI6ICJUaXRlbCIsCiAgICAgICAgInBhcmFncmFwaCI6ICJOb3JtYWxlIHRla3N0IiwKICAgICAgICAicXVvdGUiOiAiQ2l0YWF0IiwKICAgICAgICAiY29kZSI6ICJDb2RlIiwKICAgICAgICAiaGVhZGluZzEiOiAiS29wdGVrc3QgMSIsCiAgICAgICAgImhlYWRpbmcyIjogIktvcHRla3N0IDIiLAogICAgICAgICJoZWFkaW5nMyI6ICJLb3B0ZWtzdCAzIiwKICAgICAgICAiaGVhZGluZzQiOiAiS29wdGVrc3QgNCIsCiAgICAgICAgImhlYWRpbmc1IjogIktvcHRla3N0IDUiLAogICAgICAgICJoZWFkaW5nNiI6ICJLb3B0ZWtzdCA2IiwKICAgICAgICAiZmlsZW5hbWUiOiAiQmVzdGFuZHNuYWFtIiwKICAgICAgICAib3B0aW9uYWwiOiAiT3B0aW9uZWVsIiwKICAgICAgICAidW5vcmRlcmVkbGlzdCI6ICJPbmdlb3JkZW5kZSBsaWpzdCIsCiAgICAgICAgIm9yZGVyZWRsaXN0IjogIkdlb3JkZW5kZSBsaWpzdCIsCiAgICAgICAgIm91dGRlbnQiOiAiVWl0c3ByaW5nZW4iLAogICAgICAgICJpbmRlbnQiOiAiSW5zcHJpbmdlbiIsCiAgICAgICAgImhvcml6b250YWxydWxlIjogIlN0cmVlcCIsCiAgICAgICAgInVwbG9hZCI6ICJVcGxvYWQiLAogICAgICAgICJ1cGxvYWQtbGFiZWwiOiAiRHJvcCBmaWxlcyBoZXJlIG9yIGNsaWNrIHRvIHVwbG9hZCIsCiAgICAgICAgInVwbG9hZC1jaGFuZ2UtbGFiZWwiOiAiRHJvcCBhIG5ldyBpbWFnZSB0byBjaGFuZ2UiLAogICAgICAgICJhY2Nlc3NpYmlsaXR5LWhlbHAtbGFiZWwiOiAiUlRGIGVkaXRvciIsCiAgICAgICAgImNhcHRpb24iOiAiQ2FwdGlvbiIsCiAgICAgICAgImJ1bGxldHNsaXN0IjogIkJ1bGxldHMiLAogICAgICAgICJudW1iZXJzbGlzdCI6ICJOdW1iZXJzIiwKICAgICAgICAiaW1hZ2UtcG9zaXRpb24iOiAiUG9zaXRpb24iLAogICAgICAgICJub25lIjogIk5vbmUiLAogICAgICAgICJsZWZ0IjogIkxlZnQiLAogICAgICAgICJyaWdodCI6ICJSaWdodCIsCiAgICAgICAgImNlbnRlciI6ICJDZW50ZXIiLAogICAgICAgICJ1bmRvIjogIlVuZG8iLAogICAgICAgICJyZWRvIjogIlJlZG8iCiAgICB9Owp9KShSZWRhY3Rvcik7LyogRHV0Y2ggKFVURi04KSBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgTWF0aGlhcyBCeW5lbnMgPGh0dHBzOi8vbWF0aGlhc2J5bmVucy5iZS8+ICovCiggZnVuY3Rpb24oIGZhY3RvcnkgKSB7CgkidXNlIHN0cmljdCI7CgoJaWYgKCB0eXBlb2YgZGVmaW5lID09PSAiZnVuY3Rpb24iICYmIGRlZmluZS5hbWQgKSB7CgoJCS8vIEFNRC4gUmVnaXN0ZXIgYXMgYW4gYW5vbnltb3VzIG1vZHVsZS4KCQlkZWZpbmUoIFsgIi4uL3dpZGdldHMvZGF0ZXBpY2tlciIgXSwgZmFjdG9yeSApOwoJfSBlbHNlIHsKCgkJLy8gQnJvd3NlciBnbG9iYWxzCgkJZmFjdG9yeSggalF1ZXJ5LmRhdGVwaWNrZXIgKTsKCX0KfSApKCBmdW5jdGlvbiggZGF0ZXBpY2tlciApIHsKInVzZSBzdHJpY3QiOwoKZGF0ZXBpY2tlci5yZWdpb25hbC5ubCA9IHsKCWNsb3NlVGV4dDogIlNsdWl0ZW4iLAoJcHJldlRleHQ6ICJWb3JpZyIsCgluZXh0VGV4dDogIlZvbGdlbmRlIiwKCWN1cnJlbnRUZXh0OiAiVmFuZGFhZyIsCgltb250aE5hbWVzOiBbICJqYW51YXJpIiwgImZlYnJ1YXJpIiwgIm1hYXJ0IiwgImFwcmlsIiwgIm1laSIsICJqdW5pIiwKCSJqdWxpIiwgImF1Z3VzdHVzIiwgInNlcHRlbWJlciIsICJva3RvYmVyIiwgIm5vdmVtYmVyIiwgImRlY2VtYmVyIiBdLAoJbW9udGhOYW1lc1Nob3J0OiBbICJqYW4iLCAiZmViIiwgIm1ydCIsICJhcHIiLCAibWVpIiwgImp1biIsCgkianVsIiwgImF1ZyIsICJzZXAiLCAib2t0IiwgIm5vdiIsICJkZWMiIF0sCglkYXlOYW1lczogWyAiem9uZGFnIiwgIm1hYW5kYWciLCAiZGluc2RhZyIsICJ3b2Vuc2RhZyIsICJkb25kZXJkYWciLCAidnJpamRhZyIsICJ6YXRlcmRhZyIgXSwKCWRheU5hbWVzU2hvcnQ6IFsgInpvbiIsICJtYWEiLCAiZGluIiwgIndvZSIsICJkb24iLCAidnJpIiwgInphdCIgXSwKCWRheU5hbWVzTWluOiBbICJ6byIsICJtYSIsICJkaSIsICJ3byIsICJkbyIsICJ2ciIsICJ6YSIgXSwKCXdlZWtIZWFkZXI6ICJXayIsCglkYXRlRm9ybWF0OiAiZGQtbW0teXkiLAoJZmlyc3REYXk6IDEsCglpc1JUTDogZmFsc2UsCglzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLAoJeWVhclN1ZmZpeDogIiIgfTsKZGF0ZXBpY2tlci5zZXREZWZhdWx0cyggZGF0ZXBpY2tlci5yZWdpb25hbC5ubCApOwoKcmV0dXJuIGRhdGVwaWNrZXIucmVnaW9uYWwubmw7Cgp9ICk7Cjw/cGhwIHJldHVybiBhcnJheSAoCiAgJycgPT4gJ1Byb2plY3QtSWQtVmVyc2lvbjogb3N0aWNrZXQtb2ZmaWNpYWwKWC1Pc3RpY2tldC1NYWpvci1WZXJzaW9uOiAxLjE4ClBPVC1DcmVhdGUtRGF0ZTogMjAyMy0wNy0xMSAyMDo1MiArMDAwMApSZXBvcnQtTXNnaWQtQnVncy1Ubzogc3VwcG9ydEBvc3RpY2tldC5jb20KTGFuZ3VhZ2U6IG5sX05MCk1JTUUtVmVyc2lvbjogMS4wCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0ClgtR2VuZXJhdG9yOiBvc1RpY2tldCBpMThuIENMSQpQbHVyYWwtRm9ybXM6IG5wbHVyYWxzPTI7IHBsdXJhbD0obiAhPSAxKTsKWC1Dcm93ZGluLVByb2plY3Q6IG9zdGlja2V0LW9mZmljaWFsClgtQ3Jvd2Rpbi1Qcm9qZWN0LUlEOiAyNTc1NQpYLUNyb3dkaW4tTGFuZ3VhZ2U6IG5sClgtQ3Jvd2Rpbi1GaWxlOiAvMS4xOC54L0xDX01FU1NBR0VTL21lc3NhZ2VzLnBvClgtQ3Jvd2Rpbi1GaWxlLUlEOiAyMDY5Ckxhbmd1YWdlLVRlYW06IER1dGNoClBPLVJldmlzaW9uLURhdGU6IDIwMjUtMDItMDQgMTc6MjkKJywKICAnIjEiIGlzIHJlY29tbWVuZGVkIGlmIEFKQVggaXMgbm90IHdvcmtpbmcnID0+ICciMSIgaXMgYWFuYmV2b2xlbiBhbHMgQUpBWCBuaWV0IHdlcmt0JywKICAnJTEkZCAtICUyJGQgb2YgJTMkZCcgPT4gJyUxJGQgLSAlMiRkIHZhbiAlMyRkJywKICAnJTEkZCAtICUyJGQgb2YgYWJvdXQgJTMkZCcgPT4gJyUxJGQgLSAlMiRkIHZhbiBvbmdldmVlciAlMyRkJywKICAnJTEkZCBjb25zZWN1dGl2ZSBlcnJvcnMuIE1heGltdW0gb2YgJTIkZCBhbGxvd2VkJyA9PiAnJTEkZCBvcGVlbnZvbGdpbmcgdmFuIGZvdXRlbi4gTWF4aW1hYWwgJTIkZCB0b2VnZXN0YWFuJywKICAnJTEkZCBvZiAlMiRkICUzJHMgJTQkcycgPT4gJyUxJGQgdmFuICUyJGQgJTMkcyAlNCRzJywKICAnJTEkZCBvZiAlMiRkICUzJHMgYWN0aXZhdGVkJyA9PiAnJTEkZCB2YW4gJTIkZCAlMyRzIGdlYWN0aXZlZXJkJywKICAnJTEkZCBvZiAlMiRkICUzJHMgZGVsZXRlZCcgPT4gJyUxJGQgdmFuICUyJGQgJTMkcyB2ZXJ3aWpkZXJkJywKICAnJTEkZCBvZiAlMiRkICUzJHMgZGlzYWJsZWQnID0+ICclMSRkIHZhbiAlMiRkICUzJHMgdWl0Z2VzY2hha2VsZCcsCiAgJyUxJGQgb2YgJTIkZCAlMyRzIGVuYWJsZWQnID0+ICclMSRkIHZhbiAlMiRkICUzJHMgaW5nZXNjaGFrZWxkJywKICAnJTEkZCBvZiAlMiRkICUzJHMgbWFkZSBQUklWQVRFJyA9PiAnJTEkZCB2YW4gJTIkZCAlMyRzIHN1Y2Nlc3ZvbCBhbHMgcHJpdmUgYWFuZ2VtZXJrdCcsCiAgJyUxJGQgb2YgJTIkZCAlMyRzIG1hZGUgUFVCTElDJyA9PiAnJTEkZCB2YW4gJTIkZCAlMyRzIHB1YmxpZWtlbGlqayBnZW1hYWt0JywKICAnJTEkZCBvZiAlMiRkICUzJHMgcmVtb3ZlZCcgPT4gJyUxJGQgdmFuICUyJGQgJTMkcyB2ZXJ3aWpkZXJkJywKICAnJTEkZCBvZiAlMiRkICUzJHMgc3RhdHVzIGNoYW5nZWQgdG8gJTQkcycgPT4gJyUxJGQgdmFuICUyJGQgJTMkcyBzdGF0dXMgdmVyYW5kZXJkIGluICU0JHMnLAogICclMSRkIG9mICUyJGQgJTMkcyB1cGRhdGVkJyA9PiAnJTEkZCB2YW4gJTIkZCAlMyRzIGJpamdld2Vya3QnLAogICclMSRkIG9mICUyJGQgc2VsZWN0ZWQgdGlja2V0cycgPT4gJyUxJGQgdmFuICUyJGQgZ2VzZWxlY3RlZXJkZSB0aWNrZXRzJywKICAnJTEkcyAoJTIkcykgbG9nZ2VkIGluIFslMyRzXScgPT4gJyUxJHMgKCUyJHMpIGluZ2Vsb2dkIFslMyRzXScsCiAgJyUxJHMgQ29udGFjdCB1cyAlMiRzIHRvZGF5IGZvciA8dT5leHBlZGl0ZWQ8L3U+IGhlbHAuJyA9PiAnJTEkcyBDb250YWN0IG9ucyAlMiRzIHZhbmRhYWcgdm9vciA8dT51aXRnZWJyZWlkZTwvdT4gaHVscC4nLAogICclMSRzIFRpY2tldCAjJTIkcycgPT4gJyUxJHMgVGlja2V0ICUyJHMnLAogICclMSRzIGFmdGVyICUyJHMnID0+ICclMSRzIG5hICUyJHMnLAogICclMSRzIGJlZm9yZSAlMiRzJyA9PiAnJTEkcyB2b29yICUyJHMnLAogICclMSRzIGJldHdlZW4gJTIkcyBhbmQgJTMkcycgPT4gJyUxJHMgdHVzc2VuICUyJHMgZW4gJTMkcycsCiAgJyUxJHMgaGFzICUyJGQgb3BlbiB0YXNrcyBhbmQgY2Fubm90IGJlIGNsb3NlZCcgPT4gJyUxJHMgaGVlZnQgJTIkZCBvcGVuIHRha2VuIGRpZSBuaWV0IGdlc2xvdGVuIGt1bm5lbiB3b3JkZW4nLAogICclMSRzIGluIHRoZSBsYXN0ICUyJHMnID0+ICclMSRzIGluIGRlIGxhYXRzdGUgJTIkcycsCiAgJyUxJHMgaW4gdGhlIG5leHQgJTIkcycgPT4gJyUxJHMgaW4gZGUgdm9sZ2VuZGUgJTIkcycsCiAgJyUxJHMgaXMgbWlzc2luZyBkYXRhIG9uICUyJHMgb25lIG9yIG1vcmUgcmVxdWlyZWQgZmllbGRzICUzJHMgYW5kIGNhbm5vdCBiZSBjbG9zZWQnID0+ICclMSRzIG1pc3QgZ2VnZXZlbnMgdmFuICUyJHMgw6nDqW4gb2YgbWVlcmRlcmUgdmVycGxpY2h0ZSB2ZWxkZW4gJTMkcyBlbiBrYW4gbmlldCB3b3JkZW4gZ2VzbG90ZW4nLAogICclMSRzIHRyYW5zZmVycmVkIGZyb20gJTIkcyB0byAlMyRzJyA9PiAnJTEkcyB2ZXJodWlzZCB2YW4gJTIkcyBuYWFyICUzJHMnLAogICclMSRzOiBJbnZhbGlkIGRhdGE6ICUyJHMnID0+ICclMSRzOiBPbmdlbGRpZ2UgZ2VnZXZlbnM6ICUyJHMnLAogICclZCBDbG9zZWQgVGlja2V0JyAuICJcMCIgLiAnJWQgQ2xvc2VkIFRpY2tldHMnID0+ICclZCBHZXNsb3RlbiB0aWNrZXQnIC4gIlwwIiAuICclZCBHZXNsb3RlbiB0aWNrZXRzJywKICAnJWQgRkFRcyBtYXRjaGVkIHlvdXIgc2VhcmNoIGNyaXRlcmlhLicgPT4gJyVkIEZBUXMga3dhbWVuIG92ZXJlZW4gbWV0IHV3IHpvZWtjcml0ZXJpYS4nLAogICclZCBPcGVuIFRpY2tldCcgLiAiXDAiIC4gJyVkIE9wZW4gVGlja2V0cycgPT4gJyVkIG9wZW4gdGlja2V0JyAuICJcMCIgLiAnJWQgb3BlbiB0aWNrZXRzJywKICAnJWQgZGF5cyBhZ28nID0+ICclZCBkYWcoZW4pIGdlbGVkZW4nLAogICclZCBob3VycyBhZ28nID0+ICclZCB1dXIgZ2VsZWRlbicsCiAgJyVkIG1pbnV0ZScgLiAiXDAiIC4gJyVkIG1pbnV0ZXMnID0+ICclZCBtaW51dXQnIC4gIlwwIiAuICclZCBtaW51dXQnLAogICclZCBtaW51dGVzIGFnbycgPT4gJyVkIG1pbnV0ZW4gZ2VsZWRlbicsCiAgJyVkIG1vbnRocyBhZ28nID0+ICclZCBtYWFuZChlbikgZ2VsZWRlbicsCiAgJyVkIG92ZXJkdWUgdGFza3MhJyA9PiAnJWQgdGFrZW4gb3ZlciB0aWpkIScsCiAgJyVkIHNlY29uZHMgYWdvJyA9PiAnJWQgc2Vjb25kZW4gZ2VsZWRlbicsCiAgJyVkIHllYXJzIGFnbycgPT4gJyVkIGphYXIgZ2VsZWRlbicsCiAgJyVzICMlcyBkZWxldGVkIHN1Y2Nlc3NmdWxseScgPT4gJyVzICMlcyBtZXQgc3VjY2VzIHZlcndpamRlcmQnLAogICclcyAmbWRhc2g7IE9yZ2FuaXphdGlvbicgPT4gJyVzICZtZGFzaDsgT3JnYW5pc2F0aWUnLAogICclcyAoJWQgaG91cnMgLSAlcyknID0+ICclcyAoJWQgdXVyIC0gJXMpJywKICAnJXMgLSBSZWxheCEnID0+ICclcyAtIHJlbGF4IScsCiAgJyVzIC0gYWNjZXNzIGxpbmsgc2VudCB0byB5b3VyIGVtYWlsIScgPT4gJyVzIC0gdG9lZ2FuZ3NsaW5rIHZlcnpvbmRlbiBuYWFyIHV3IGUtbWFpbCEnLAogICclcyBOb3RlJyA9PiAnJXMgT3BtZXJraW5nJywKICAnJXMgVGlja2V0cycgPT4gJyVzIHRpY2tldHMnLAogICclcyBhZGRlZCBhcyBhIGNvbGxhYm9yYXRvcicgPT4gJyVzIHRvZWdldm9lZ2QgYWxzIGVlbiBtZWRld2Vya2VyJywKICAnJXMgYWxyZWFkeSBhc3NpZ25lZCB0byAlcycgPT4gJyVzIGlzIGFsIHRvZWdld2V6ZW4gYWFuICVzJywKICAnJXMgYWxyZWFkeSBpbiB0aGUgZGVwYXJ0bWVudCcgPT4gJyVzIGlzIGFsIGluIGRlIGFmZGVsaW5nJywKICAnJXMgYXNzaWduZWQgdG8gJXMnID0+ICclcyB0b2VnZXdlemVuIGFhbiAlcycsCiAgJyVzIGFzc2lnbmVkIHRvIHRoaXMgb3JnYW5pemF0aW9uIHdpbGwgYmUgb3JwaGFuZWQuJyA9PiAnJXMgZGllIGFhbiBkZXplIG9yZ2FuaXNhdGllIHppam4gdG9lZ2V3ZXplbiwgenVsbGVuIHZlcndlemVuL2dhYW4gendldmVuLicsCiAgJyVzIGJ5IHtzb21lYm9keX0ge3RpbWVzdGFtcH0nID0+ICclcyBkb29yIHtzb21lYm9keX0gb3Age3RpbWVzdGFtcH0nLAogICclcyBjYW5ub3QgYmUgY2xvc2VkJyA9PiAnJXMga2FuIG5pZXQgd29yZGVuIGdlc2xvdGVuJywKICAnJXMgY29udGFpbnMgIiVzIicgPT4gJyVzIGJldmF0ICIlcyInLAogICclcyBkb2VzIG5vdCBoYXZlIGEgdmFsdWUnID0+ICclcyBoZWVmdCBnZWVuIHdhYXJkZScsCiAgJyVzIGRvZXMgbm90IGhhdmUgYW55IHRhc2tzJyA9PiAnJXMgaGVlZnQgZ2VlbiB0YWtlbicsCiAgJyVzIGRvZXMgbm90IGhhdmUgYW55IHRpY2tldHMnID0+ICclcyBoZWVmdCBnZWVuIHRpY2tldHMnLAogICclcyBkb2VzIG5vdCBpbmNsdWRlICVzJyA9PiAnJXMgYmV2YXQgbmlldCAlcycsCiAgJyVzIGhhcyBhIHZhbHVlJyA9PiAnJXMgaGVlZnQgZWVuIHdhYXJkZScsCiAgJyVzIGluICglcyknID0+ICclcyBpbiAoJXMpJywKICAnJXMgaW5jbHVkZXMgJXMnID0+ICclcyBiZXZhdCAlcycsCiAgJyVzIGlzICVzJyA9PiAnJXMgaXMgJXMnLAogICclcyBpcyBhIHJlcXVpcmVkIGZpZWxkJyA9PiAnJXMgaXMgZWVuIHZlcnBsaWNodCB2ZWxkJywKICAnJXMgaXMgYWxyZWFkeSBhIGNvbGxhYm9yYXRvcicgPT4gJyVzIGlzIGFsIGVlbiBtZWRld2Vya2VyJywKICAnJXMgaXMgYXNzaWduZWQgYSAlcyB0aGF0IGlzIG5vdCBhY3RpdmUuJyA9PiAnJXMgaXMgZWVuICVzIHRvZWdld2V6ZW4gZGllIG5pZXQgYWN0aWVmIGlzLicsCiAgJyVzIGlzIGFzc2lnbmVkIHRvICVzJyA9PiAnJXMgaXMgdG9lZ2V3ZXplbiBhYW4gJXMnLAogICclcyBpcyBhdmFpbGFibGUnID0+ICclcyBpcyBiZXNjaGlrYmFhcicsCiAgJyVzIGlzIGN1cnJlbnRseSBhc3NpZ25lZCB0byA8Yj4lczwvYj4nID0+ICclcyBpcyBvcCBkaXQgbW9tZW50IHRvZWdld2V6ZW4gYWFuIDxiPiVzPC9iPicsCiAgJyVzIGlzIG5vdCAlcycgPT4gJyVzIGlzIG5pZXQgJXMnLAogICclcyBpcyByZXF1aXJlZCcgPT4gJyVzIGlzIHZlcmVpc3QnLAogICclcyBsb2dnZWQgaW4gWyVzXSwgdmlhICVzJyA9PiAnJXMgaW5nZWxvZ2QgWyVzXSwgdmlhICVzJywKICAnJXMgbG9nZ2VkIG91dCBbJXNdJyA9PiAnJXMgdWl0Z2Vsb2dkIFslc10nLAogICclcyBtYXRjaGVzIHBhdHRlcm4gJXMnID0+ICclcyBrb210IG92ZXJlZW4gbWV0ICVzJywKICAnJXMgbm90IGluICglcyknID0+ICclcyBpcyBuaWV0IGluICglcyknLAogICclcyBvciBncmVhdGVyJyA9PiAnJXMgb2YgbWVlcicsCiAgJyVzIG9yIGxhdGVyJyA9PiAnJXMgb2YgbGF0ZXInLAogICclcyBzdGF0dXMgY2hhbmdlZCB0byAlcycgPT4gJyVzIHN0YXR1cyB2ZXJhbmRlcmQgaW4gJXMnLAogICclcyBzdWNjZXNzZnVsbHknID0+ICclcyBzdWNjZXNzdm9sJywKICAnJXMgdHJhbnNmZXJyZWQgdG8gJXMgZGVwYXJ0bWVudCcgPT4gJyVzIHZlcmh1aXNkIG5hYXIgYWZkZWxpbmcgJXMnLAogICclczogJXM6IEZpZWxkIG5vdCBkZWZpbmVkJyA9PiAnJXM6ICVzOiBWZWxkIG5pZXQgZ2VkZWZpbmllZXJkJywKICAnJXM6IENhbGwgdG8gbm9uLWV4aXN0aW5nIGZ1bmN0aW9uJyA9PiAnJXM6IHZyYWFnIGFhbiBuaWV0IGJlc3RhYW5kZSBmdW5jdGllJywKICAnJXM6IENhbGwgdG8gdW5kZWZpbmVkIGZ1bmN0aW9uJyA9PiAnJXM6IHZyYWFnIG5hYXIgbmlldCBnZWRlZmluacOrZXJkZSBmdW5jdGllJywKICAnJXM6IEVycm9yIHBhcnNpbmcgU1FMIHNjaGVtYSEgR2V0IGhlbHAgZnJvbSBkZXZlbG9wZXJzICgjNCknID0+ICclczogRm91dCBiaWogaGV0IHBhcnNlbiB2YW4gaGV0IFNRTCBzY2hlbWEhIFZyYWFnIGh1bHAgYmlqIGRlIG9udHdpa2tlbGFhcnMgKCM0KScsCiAgJyVzOiBGaWVsZCBtdXN0IGhhdmUgYHZhcmlhYmxlYCBzZXQgdG8gYmUgaW1wb3J0ZWQnID0+ICclczogdmVsZCBtb2V0IGB2YXJpYWJsZWAgaGViYmVuIG9tIHRlIGt1bm5lbiB3b3JkZW4gZ2XDr21wb3J0ZWVyZCcsCiAgJyVzOiBJbnZhbGlkIG9yIHVua25vd24nID0+ICclczogb25iZWtlbmQgb2YgbmlldCBqdWlzdCcsCiAgJyVzOiBNb2RlbCBkb2VzIG5vdCBkZWZpbmUgbWV0YS5waycgPT4gJyVzOiBNb2RlbCBoZWVmdCBnZWVuIG1ldGEucGsgYWFuZ2VtYWFrdCcsCiAgJyVzOiBNb2RlbCBkb2VzIG5vdCBkZWZpbmUgbWV0YS50YWJsZScgPT4gJyVzOiBNb2RlbCBoZWVmdCBnZWVuIG1ldGEudGFibGUgZ2VkZWZpbsOvZWVyZCcsCiAgJyVzOiBOb3QgYSB2YWxpZCBlbWFpbCBhZGRyZXNzJyA9PiAnJXM6IERpdCBpcyBnZWVuIGdlbGRpZyBlbWFpbGFkcmVzJywKICAnJXM6IFBvb3JseSBlbmNvZGVkIGJhc2U2NCBkYXRhJyA9PiAnJXM6IFNsZWNodCBnZWNvZGVlcmRlIGJhc2U2NCBnZWdldmVucycsCiAgJyVzOiBSZXBseSBwb3N0ZWQgc3VjY2Vzc2Z1bGx5JyA9PiAnJXM6IFJlYWN0aWUgc3VjY2Vzdm9sIG9wZ2VzbGFnZW4nLAogICclczogUmV2ZXJzZSBkb2VzIG5vdCBzcGVjaWZ5IGFueSBjb25zdHJhaW50cycgPT4gJyVzOiBPbWdla2VlcmQgYmV2YXQgZ2VlbiBiZXBlcmtpbmdlbicsCiAgJyVzOiBVbmFibGUgdG8gbWFwIGhlYWRlciB0byB0aGUgb2JqZWN0IGZpZWxkJyA9PiAnJXM6IE9ubW9nZWxpamsgb20gZGUga29wIGFhbiBoZXQgb2JqZWN0dmVsZCB0ZSBrb3BwZWxlbicsCiAgJyVzOiBVbmFibGUgdG8gcHJvY2VzcyBjbGVhbnVwIGZpbGUnID0+ICclczoga2FuIGhldCBvcHNjaG9vbiBiZXN0YW5kIG5pZXQgdmVyd2Vya2VuJywKICAnJXM6IFVuYWJsZSB0byByZXRyaWV2ZSB0ZW1wbGF0ZScgPT4gJyVzOiBPbm1vZ2VsaWprIG9tIHNqYWJsb29uIG9wIHRlIGhhbGVuJywKICAnJXM6IFVuZXhwZWN0ZWQgZGF0YSByZWNlaXZlZCBpbiBBUEkgcmVxdWVzdCcgPT4gJyVzOiBPbnZlcndhY2h0ZSBnZWdldmVucyBvbnR2YW5nZW4gaW4gQVBJIHZlcnpvZWsnLAogICclczogVW5rbm93biBvciBpbnZhbGlkJyA9PiAnJXM6IG9uYmVrZW5kIG9mIG9uZ2VsZGlnJywKICAnJXM6IFVua25vd24gb3IgaW52YWxpZCAlcycgPT4gJyVzOiBvbmJla2VuZCBvZiBvbmdlbGRpZyAlcycsCiAgJyVzOiBVbmtub3duIG9yIGludmFsaWQgSUQuJyA9PiAnJXM6IG9uYmVrZW5kIG9mIG9uZ2VsZGlnIGlkLicsCiAgJyVzOiBVbmtub3duIG9yIGludmFsaWQgbnVtYmVyLicgPT4gJyVzOiBPbmJla2VuZCwgb2Ygb25nZWxkaWcgbnVtbWVyLicsCiAgJyVzOiBVbmtub3duIG9yIGludmFsaWQgc2NoZW1hIHNpZ25hdHVyZSAoJXMgLi4gJXMpJyA9PiAnJXM6IE9uYmVrZW5kZSBvZiBvbmdlbGRpZ2Ugc2NoZW1hIHNpZ25hdHVyZSAoaGFuZHRla2VuaW5nKSAoJXMgLi4gJXMpJywKICAnJXM6IFVua25vd24gdGVtcGxhdGUgc3R5bGUgJXMnID0+ICclczogT25iZWtlbmRlIGxheW91dC9zdHlsZS9vcG1hYWsgJXMnLAogICcoMCB0byBkaXNhYmxlKScgPT4gJygwIG9tIHVpdCB0ZSBzY2hha2VsZW4pJywKICAnKERlZmF1bHQpJyA9PiAnKFN0YW5kYWFyZCknLAogICcoRW50ZXIgYSBrZXkpLiBWYWx1ZSBzZWxlY3RlZCBmcm9tIHRoZSBsaXN0IGluaXRpYWxseScgPT4gJyhEcnVrIG9wIGVlbiB0b2V0cykuIFdhYXJkZSBnZXNlbGVjdGVlcmQgdmFuIGRlIGluaXRpw6tsZSBsaWpzdCcsCiAgJyhMYXRlc3QpJyA9PiAnKExhYXRzdGUpJywKICAnKE92ZXJyaWRlIGdsb2JhbCBzZXR0aW5nKScgPT4gJyhPdmVyc2NocmlqZnQgc3RhbmRhYXJkIGluc3RlbGxpbmcpJywKICAnKGNoYXJzKScgPT4gJyh0ZWtlbnMpJywKICAnKGRpc2FibGVkKScgPT4gJyh1aXRnZXNjaGFrZWxkKScsCiAgJyhlbmFibGVkIGJ5IGRlZmF1bHQpJyA9PiAnKHN0YW5kYWFyZCBpbmdlc2NoYWtlbGQpJywKICAnKGZhc3RlciBwZXJmb3JtYW5jZSknID0+ICcoc25lbGxlcmUgcHJlc3RhdGllcyknLAogICcoZm9yIEhUTUwgZW1haWwgcHJvY2Vzc2luZyknID0+ICcodm9vciBIVE1MIGUtbWFpbHZlcndlcmtpbmcpJywKICAnKGZvciBYTUwgQVBJKScgPT4gJyh2b29yIFhNTCBBUEkpJywKICAnKGluLXVzZSBhbmQgZGVmYXVsdCB0ZW1wbGF0ZSBzZXRzIGNhbm5vdCBiZSBkaXNhYmxlZCknID0+ICcoaW4gZ2VicnVpaywgc3RhbmRhYXJkIHNqYWJsb25lbiBrdW5uZW4gbmlldCB1aXRnZXNjaGFrZWxkIHdvcmRlbiknLAogICcoaW4tdXNlKScgPT4gJyhpbi1nZWJydWlrKScsCiAgJyhpbnRlcm5hbCknID0+ICcoaW50ZXJuKScsCiAgJyhvbiBmcm9udC1wYWdlIHNpZGViYXIpJyA9PiAnKG9wIGRlIHZvb3JwYWdpbmEsIHppamJhbGspJywKICAnKG9wdGlvbmFsKScgPT4gJyhvcHRpb25lZWwpJywKICAnKHB1Ymxpc2gpJyA9PiAnKHB1YmxpY2VlciknLAogICcocmV0aXJlZCknID0+ICcoZ2VwZW5zaW9uZWVyZCknLAogICcocm9vdCknID0+ICcocm9vdCknLAogICcocm93cyknID0+ICcocmlqZW4pJywKICAnKHRydW5jYXRlZCknID0+ICcoYWZnZWthcHQpJywKICAnKHR5cGUgbm90IHNldCknID0+ICcodHlwZSBuaWV0IGluZ2VzdGVsZCknLAogICctLSBBcyBFbnRlcmVkIC0tJyA9PiAnLS0gWm9hbHMgaW5nZXZvZXJkIC0tJywKICAnPGI+JXM8L2I+IHBvc3RlZCAlcycgPT4gJzxiPiVzPC9iPiBwbGFhdHN0ZSAlcycsCiAgJzxiPkhpICVzPC9iPiAtIFlvdSBtdXN0IDxhPmNoYW5nZSB5b3VyIHBhc3N3b3JkIHRvIGNvbnRpbnVlPC9hPiEnID0+ICc8Yj5Ib2kgJXM8L2I+IC0gamUgbW9ldCBlZXJzdCA8YT5qZSB3YWNodHdvb3JkIHZlcmFuZGVyZW48L2E+IG9tIHZlcmRlciB0ZSBnYWFuIScsCiAgJzxiPldlbGNvbWUgYmFjayAlczwvYj4hIFlvdSBhcmUgbGlzdGVkIGFzIFwnb24gdmFjYXRpb25cJyBQbGVhc2UgbGV0IHlvdXIgbWFuYWdlciBrbm93IHRoYXQgeW91IGFyZSBiYWNrLicgPT4gJzxiPldlbGtvbSB0ZXJ1ZyAlczwvYj4hIFUgc3RhYXQgaW4gaGV0IHN5c3RlZW0gZ2VyZWdpc3RyZWVyZCBhbHMgXCdvcCB2YWthbnRpZVwnLCBHZWVmIHV3IGxlaWRpbmdnZXZlbmRlIGRvb3IgZGF0IHUgd2VlciB0ZXJ1ZyBiZW50LicsCiAgJzxiPntzb21lYm9keX08L2I+IGFkZGVkIDxzdHJvbmc+JXM8L3N0cm9uZz4gYXMgY29sbGFib3JhdG9ycyB7dGltZXN0YW1wfScgPT4gJzxiPntzb21lYm9keX08L2I+IHRvZWdldm9lZ2QgPHN0cm9uZz4lczwvc3Ryb25nPiBhbHMgYmlqZHJhZ2VyIHt0aW1lc3RhbXB9JywKICAnPGI+e3NvbWVib2R5fTwvYj4gYXNzaWduZWQgdGhpcyB0byA8c3Ryb25nPns8U3RhZmY+ZGF0YS5zdGFmZn08L3N0cm9uZz4ge3RpbWVzdGFtcH0nID0+ICc8Yj57c29tZWJvZHl9PC9iPiBoZWVmdCBkaXQgdG9lZ2V3ZXplbiBhYW4gPHN0cm9uZz57PFN0YWZmPmRhdGEuc3RhZmZ9PC9zdHJvbmc+IHt0aW1lc3RhbXB9JywKICAnPGI+e3NvbWVib2R5fTwvYj4gYXNzaWduZWQgdGhpcyB0byA8c3Ryb25nPns8VGVhbT5kYXRhLnRlYW19PC9zdHJvbmc+IHt0aW1lc3RhbXB9JyA9PiAnPGI+e3NvbWVib2R5fTwvYj4gaGVlZnQgZGl0IHRvZWdld2V6ZW4gYWFuIDxzdHJvbmc+ezxTdGFmZj5kYXRhLnN0YWZmfTwvc3Ryb25nPiB7dGltZXN0YW1wfScsCiAgJzxiPntzb21lYm9keX08L2I+IGNoYW5nZWQgb3duZXJzaGlwIHRvIHs8VXNlcj5kYXRhLm93bmVyfSB7dGltZXN0YW1wfScgPT4gJzxiPntzb21lYm9keX08L2I+IGVpZ2VuYWFyc2NoYXAgaXMgZ2V3aWp6aWdkIGluIHs8VXNlcj5kYXRhLm93bmVyfSB7dGltZXN0YW1wfScsCiAgJzxiPntzb21lYm9keX08L2I+IGNoYW5nZWQgdGhlIHN0YXR1cyB0byA8c3Ryb25nPns8VGlja2V0U3RhdHVzPmRhdGEuc3RhdHVzfTwvc3Ryb25nPiB7dGltZXN0YW1wfScgPT4gJzxiPntzb21lYm9keX08L2I+IGRlIHN0YXR1cyBpcyBnZXdpanppZ2QgbmFhciA8c3Ryb25nPns8VGlja2V0U3RhdHVzPmRhdGEuc3RhdHVzfTwvc3Ryb25nPiB7dGltZXN0YW1wfScsCiAgJzxiPntzb21lYm9keX08L2I+IGNsYWltZWQgdGhpcyB7dGltZXN0YW1wfScgPT4gJzxiPntzb21lYm9keX08L2I+IGhlZWZ0IHppY2ggZGV6ZSB0b2VnZcOraWdlbmQgb3Age3RpbWVzdGFtcH0nLAogICc8Yj57c29tZWJvZHl9PC9iPiByZW1vdmVkIDxzdHJvbmc+JXM8L3N0cm9uZz4gZnJvbSB0aGUgY29sbGFib3JhdG9ycyB7dGltZXN0YW1wfScgPT4gJzxiPntzb21lYm9keX08L2I+IGhlZWZ0IDxzdHJvbmc+JXM8L3N0cm9uZz4gdmFuIGRlIHNhbWVud2Vya2VycyB2ZXJ3aWpkZXJkIHt0aW1lc3RhbXB9JywKICAnPGI+e3NvbWVib2R5fTwvYj4gcmVzZW50IDxzdHJvbmc+PGEgaHJlZj0iI3RocmVhZC1lbnRyeS17ZGF0YS5lbnRyeX0iPmEgcHJldmlvdXMgcmVzcG9uc2U8L2E+PC9zdHJvbmc+IHt0aW1lc3RhbXB9JyA9PiAnPGI+e3NvbWVib2R5fTwvYj4gb3BuaWV1dyB2ZXJ6b25kZW4gPHN0cm9uZz48YSBocmVmPSIjdGhyZWFkLWVudHJ5LXtkYXRhLmVudHJ5fSI+ZWVuIHZvcmlnIGFudHdvb3JkPC9hPjwvc3Ryb25nPiBhbSB7dGltZXN0YW1wfScsCiAgJzxiPntzb21lYm9keX08L2I+IHRyYW5zZmVycmVkIHRoaXMgdG8gPHN0cm9uZz57ZGVwdH08L3N0cm9uZz4ge3RpbWVzdGFtcH0nID0+ICc8Yj57c29tZWJvZHl9PC9iPiBkaXQgb3ZlcmdlYnJhY2h0IG5hYXIgPHN0cm9uZz57ZGVwdH08L3N0cm9uZz4ge3RpbWVzdGFtcH0nLAogICc8c3Ryb25nPiUxJHM8L3N0cm9uZz4gY2hhbmdlZCBmcm9tIDxzdHJvbmc+JTIkczwvc3Ryb25nPiB0byA8c3Ryb25nPiUzJHM8L3N0cm9uZz4nID0+ICc8c3Ryb25nPiUxJHM8L3N0cm9uZz4gdmVyYW5kZXJkIHZhbiA8c3Ryb25nPiUyJHM8L3N0cm9uZz4gbmFhciA8c3Ryb25nPiUzJHM8L3N0cm9uZz4nLAogICc8c3Ryb25nPiUxJHM8L3N0cm9uZz4gc2V0IHRvIDxzdHJvbmc+JTIkczwvc3Ryb25nPicgPT4gJzxzdHJvbmc+JTEkczwvc3Ryb25nPiBpbmdlc3RlbGQgdG90IDxzdHJvbmc+JTIkczwvc3Ryb25nPicsCiAgJzxzdHJvbmc+RGlzYWJsZTwvc3Ryb25nPiBuZXcgdGlja2V0IGF1dG8tcmVzcG9uc2UnID0+ICc8c3Ryb25nPlVpdHNjaGFrZWxlbjwvc3Ryb25nPiBuaWV1dyB0aWNrZXQgYXV0b21hdGlzY2ggYW50d29vcmRiZXJpY2h0JywKICAnPHN0cm9uZz5EaXNhYmxlPC9zdHJvbmc+IG92ZXJkdWUgYWxlcnRzIG5vdGljZXMuJyA9PiAnT3ZlciB0aWpkIG1lbGRpbmdlbiA8c3Ryb25nPnVpdHNjaGFrZWxlbjwvc3Ryb25nPi4nLAogICc8c3Ryb25nPlN0b3A8L3N0cm9uZz4gcHJvY2Vzc2luZyBmdXJ0aGVyIG9uIG1hdGNoIScgPT4gJzxzdHJvbmc+c3RvcDwvc3Ryb25nPiBtZXQgdmVyZGVyIGJlaGFuZGVsZW4gYWxzIGVyIGVlbiBtYXRjaCBpcyEnLAogICc8c3Ryb25nPlVzZTwvc3Ryb25nPiB0aGUgUmVwbHktVG8gZW1haWwgaGVhZGVyJyA9PiAnPHN0cm9uZz5HZWJydWlrPC9zdHJvbmc+IGRlIFJlcGx5LVRvIGVtYWlsIGhlYWRlcicsCiAgJ0EgY29sbGFib3JhdG9yJyA9PiAnRWVuIG1lZGV3ZXJrZXInLAogICdBIGNvbmZpcm1hdGlvbiBlbWFpbCBoYXMgYmVlbiBzZW50JyA9PiAnRWVuIGJldmVzdGlnaW5ncy1lLW1haWwgaXMgdmVyc3R1dXJkJywKICAnQSBvbmUtdGltZSBub3RpY2Ugc2VudCwgaWYgZW5hYmxlZCwgd2hlbiB1c2VyIGhhcyByZWFjaGVkIHRoZSBtYXhpbXVtIGFsbG93ZWQgb3BlbiB0aWNrZXRzLicgPT4gJ0VlbiBlZW5tYWxpZ2UgbWVsZGluZyBkaWUgLWluZGllbiBnZWFjdGl2ZWVyZC0gdmVyem9uZGVuIHdvcmR0IGluZGllbiBlZW4gZ2VicnVpa2VyIGhldCBtYXhpbXVtIHRvZWdlc3RhbmRlIG9wZW4gdGlja2V0cyBoZWVmdCBiZXJlaWt0LicsCiAgJ0EgcGFnZSBjdXJyZW50bHkgaW4tdXNlIENBTk5PVCBiZSBkaXNhYmxlZCEnID0+ICdFZW4gcGFnaW5hIGRpZSBtb21lbnRlZWwgaW4gZ2VicnVpayBpcyBrYW4gTklFVCB3b3JkZW4gdWl0Z2VzY2hha2VsZCEnLAogICdBIHByaW1hcnkgc3lzdGVtIGxhbmd1YWdlIGlzIHJlcXVpcmVkJyA9PiAnRWVuIHByaW1haXJlIHN5c3RlZW10YWFsIGlzIHZlcnBsaWNodCcsCiAgJ0FQSScgPT4gJ0FQSScsCiAgJ0FQSSBDYWxscycgPT4gJ0FQSSBjYWxscycsCiAgJ0FQSSBFcnJvcicgPT4gJ0FQSSBmb3V0JywKICAnQVBJIEtleScgPT4gJ0FQSS1zbGV1dGVsJywKICAnQVBJIEtleSBpcyBhdXRvLWdlbmVyYXRlZC4gRGVsZXRlIGFuZCByZS1hZGQgdG8gY2hhbmdlIHRoZSBrZXkuJyA9PiAnQVBJIHNsZXV0ZWwgaXMgYXV0b21hdGlzY2ggZ2VnZW5lcmVlcmQuIFZlcndpamRlciBlbiB2b2VnIG9wbmlldXcgdG9lIG9tIGRlemUgc2xldXRlbCBhYW4gdGUgcGFzc2VuLicsCiAgJ0FQSSBLZXlzJyA9PiAnQVBJIHNsZXV0ZWxzJywKICAnQVBJIGtleSBub3QgYXV0aG9yaXplZCcgPT4gJ0FQSSBzbGV1dGVsIG5pZXQgZ2VhdXRob3JpemVlcmQnLAogICdBUEkga2V5IG5vdCBmb3VuZC9hY3RpdmUgb3Igc291cmNlIElQIG5vdCBhdXRob3JpemVkJyA9PiAnQVBJLXNsZXV0ZWwgbmlldCBnZXZvbmRlbi9hY3RpZWYgb2YgYnJvbiBJUCBhZHJlcyBuaWV0IGdlYXV0b3Jpc2VlcmQnLAogICdBYmJyZXYnID0+ICdBZmsnLAogICdBYmJyZXZpYXRpb24nID0+ICdBZmtvcnRpbmcnLAogICdBYmlsaXR5IHRvIGFjY2VzcyB0aGUgdXNlciBkaXJlY3RvcnknID0+ICdNb2dlbGlqa2hlaWQgb20gdG9lZ2FuZyB0ZSBoZWJiZW4gdG90IGRlIGdlYnJ1aWtlcnNtYXAnLAogICdBYmlsaXR5IHRvIGFkZCBuZXcgdXNlcnMnID0+ICdNb2dlbGlqa2hlaWQgb20gbmlldXdlIGdlYnJ1aWtlcnMgYWFuIHRlIG1ha2VuJywKICAnQWJpbGl0eSB0byBhZGQvcmVtb3ZlIGVtYWlscyBmcm9tIGJhbmxpc3QgdmlhIHRpY2tldCBpbnRlcmZhY2UnID0+ICdEZSBtb2dlbGlqa2hlaWQgb20gZW1haWxhZHJlc3NlbiB0b2UgdGUgdm9lZ2VuLyB0ZSB2ZXJ3aWpkZXJlbiB2YW4gZGUgendhcnRlIGxpanN0IHZpYSBoZXQgdGlja2V0c3lzdGVlbScsCiAgJ0FiaWxpdHkgdG8gYWRkL3VwZGF0ZS9kaXNhYmxlL2RlbGV0ZSBjYW5uZWQgcmVzcG9uc2VzJyA9PiAnTW9nZWxpamtoZWlkIG9tIGluZ2VzbG90ZW4gcmVhY3RpZXMgdGUgbWFrZW4vd2lqemlnZW4vdmVyd2lqZGVyZW4gb2YgdWl0IHRlIHNjaGFrZWxlbicsCiAgJ0FiaWxpdHkgdG8gYWRkL3VwZGF0ZS9kaXNhYmxlL2RlbGV0ZSBrbm93bGVkZ2ViYXNlIGNhdGVnb3JpZXMgYW5kIEZBUXMnID0+ICdNb2dlbGlqa2hlaWQgb20ga2VubmlzZGF0YWJhc2UgY2F0ZWdvcmllw6tuIGVuIEZBUXMgdGUgdmVyd2lqZGVyZW4sIHVpdHNjaGFrZWxlbiBvZiBhYW4gdGUgbWFrZW4nLAogICdBYmlsaXR5IHRvIGFzc2lnbiB0YXNrcyB0byBhZ2VudHMgb3IgdGVhbXMnID0+ICdNb2dlbGlqa2hlaWQgb20gdGFrZW4gYWFuIGFnZW50ZW4gb2YgdGVhbXMgdG9lIHRlIGtlbm5lbicsCiAgJ0FiaWxpdHkgdG8gYXNzaWduIHRpY2tldHMgdG8gYWdlbnRzIG9yIHRlYW1zJyA9PiAnTW9nZWxpamtoZWlkIG9tIHRha2VuIGFhbiBhZ2VudGVuIG9mIHRlYW1zIHRvZSB0ZSBrZW5uZW4nLAogICdBYmlsaXR5IHRvIGNsb3NlIHRhc2tzJyA9PiAnTW9nZWxpamtoZWlkIG9tIGVlbiB0YWFrIHRlIHNsdWl0ZW4nLAogICdBYmlsaXR5IHRvIGNsb3NlIHRpY2tldHMnID0+ICdNb2dlbGlqa2hlaWQgb20gZWVuIHRpY2tldCB0ZSBzbHVpdGVuJywKICAnQWJpbGl0eSB0byBjcmVhdGUgbmV3IG9yZ2FuaXphdGlvbnMnID0+ICdNb2dlbGlqa2hlaWQgb20gbmlldXdlIG9yZ2FuaXNhdGllcyBhYW4gdGUgbWFrZW4nLAogICdBYmlsaXR5IHRvIGNyZWF0ZSB0YXNrcycgPT4gJ01vZ2VsaWpraGVpZCBvbSB0YWtlbiBhYW4gdGUgbWFrZW4nLAogICdBYmlsaXR5IHRvIGRlbGV0ZSBvcmdhbml6YXRpb25zJyA9PiAnTW9nZWxpamtoZWlkIG9tIG9yZ2FuaXNhdGllcyB0ZSB2ZXJ3aWpkZXJlbicsCiAgJ0FiaWxpdHkgdG8gZGVsZXRlIHRhc2tzJyA9PiAnTW9nZWxpamtoZWlkIG9tIHRha2VuIHRlIHZlcndpamRlcmVuJywKICAnQWJpbGl0eSB0byBkZWxldGUgdGlja2V0cycgPT4gJ01vZ2VsaWpraGVpZCBvbSB0aWNrZXRzIHRlIHZlcndpamRlcmVuJywKICAnQWJpbGl0eSB0byBkZWxldGUgdXNlcnMnID0+ICdNb2dlbGlqa2hlaWQgb20gZ2VicnVpa2VycyB0ZSB2ZXJ3aWpkZXJlbicsCiAgJ0FiaWxpdHkgdG8gZWRpdCB0YXNrcycgPT4gJ01vZ2VsaWpraGVpZCBvbSB0YWtlbiB0ZSB3aWp6aWdlbicsCiAgJ0FiaWxpdHkgdG8gZWRpdCB0aHJlYWQgaXRlbXMgb2Ygb3RoZXIgYWdlbnRzJyA9PiAnTW9nZWxpamtoZWlkIG9tIGRpc2N1c3NpZXMgdmFuIGFuZGVyZSBhZ2VudGVuIHRlIGJld2Vya2VuJywKICAnQWJpbGl0eSB0byBlZGl0IHRpY2tldHMnID0+ICdNb2dlbGlqa2hlaWQgb20gdGlja2V0cyB0ZSBiZXdlcmtlbicsCiAgJ0FiaWxpdHkgdG8gbWFuYWdlIGFjdGl2ZSB1c2VyIGFjY291bnRzJyA9PiAnTW9nZWxpamtoZWlkIG9tIGFjdGlldmUgZ2VicnVpa2VyLWFjY291bnRzIHRlIGJlaGVyZW4nLAogICdBYmlsaXR5IHRvIG1hbmFnZSBvcmdhbml6YXRpb25zJyA9PiAnTW9nZWxpamtoZWlkIG9tIG9yZ2FuaXNhdGllcyB0ZSBiZWhlcmVuJywKICAnQWJpbGl0eSB0byBtYW5hZ2UgdXNlciBpbmZvcm1hdGlvbicgPT4gJ01vZ2VsaWpraGVpZCBvbSBnZWJydWlrZXJzaW5mb3JtYXRpZSB0ZSBiZWhlcmVuJywKICAnQWJpbGl0eSB0byBvcGVuIHRpY2tldHMgb24gYmVoYWxmIG9mIHVzZXJzJyA9PiAnTW9nZWxpamtoZWlkIG9tIHVpdCBuYWFtIHZhbiBnZWJydWlrZXJzIHRpY2tldHMgdGUgb3BlbmVuJywKICAnQWJpbGl0eSB0byBwb3N0IGEgdGlja2V0IHJlcGx5JyA9PiAnTW9nZWxpamtoZWlkIG9tIGVlbiB0aWNrZXQgdGUgYmVhbnR3b29yZGVuJywKICAnQWJpbGl0eSB0byBwb3N0IHRhc2sgdXBkYXRlJyA9PiAnTW9nZWxpamtoZWlkIG9tIGVlbiB0YWFrIGJpaiB0ZSB3ZXJrZW4nLAogICdBYmlsaXR5IHRvIHRyYW5zZmVyIHRhc2tzIGJldHdlZW4gZGVwYXJ0bWVudHMnID0+ICdEZSBtb2dlbGlqa2hlaWQgb20gdGlja2V0cyB0ZSB2ZXJwbGFhdHNlbiBuYWFyIGVlbiBhbmRlcmUgYWZkZWxpbmcnLAogICdBYmlsaXR5IHRvIHRyYW5zZmVyIHRpY2tldHMgYmV0d2VlbiBkZXBhcnRtZW50cycgPT4gJ0RlIG1vZ2VsaWpraGVpZCBvbSB0aWNrZXRzIHRlIHZlcnBsYWF0c2VuIG5hYXIgZWVuIGFuZGVyZSBhZmRlbGluZycsCiAgJ0FiaWxpdHkgdG8gdmlldyBzdGF0cyBvZiBvdGhlciBhZ2VudHMgaW4gYWxsb3dlZCBkZXBhcnRtZW50cycgPT4gJ01vZ2VsaWpraGVpZCBvbSBzdGF0aXN0aWVrZW4gdmFuIGFuZGVyZSBtYW5hZ2VycyBpbiB0b2VnZXN0YW5lIGFmZGVsaW5nZW4gdGUgemllbicsCiAgJ0Fib3V0IHRoaXMgb3NUaWNrZXQgSW5zdGFsbGF0aW9uJyA9PiAnT3ZlciBkZXplIG9zVGlja2V0IGluc3RhbGxhdGllJywKICAnQWNjZXB0IEFsbCBFbWFpbHMnID0+ICdBY2NlcHRlZXIgYWxsZSBlbWFpbHMnLAogICdBY2NlcHQgRW1haWwgQ29sbGFib3JhdG9ycycgPT4gJ0FjY2VwdGVlciBlbWFpbHRlYW1zJywKICAnQWNjZXB0IGVtYWlsIGZyb20gdW5rbm93biBVc2VycycgPT4gJ2FjY2VwdGVlciBlbWFpbCB2YW4gb25iZWtlbmRlIGdlYnJ1aWtlcnMnLAogICdBY2Nlc3MnID0+ICdUb2VnYW5nJywKICAnQWNjZXNzIENyZWRlbnRpYWxzJyA9PiAnVG9lZ2FuZ3Njb2RlcycsCiAgJ0FjY2VzcyBEZW5pZWQnID0+ICdUb2VnYW5nIGdld2VpZ2VyZCcsCiAgJ0FjY2VzcyBEZW5pZWQhISEnID0+ICdUb2VnYW5nIGdld2VpZ2VyZCEhIScsCiAgJ0FjY2VzcyBEZW5pZWQuIENvbnRhY3QgQWRtaW4nID0+ICdUb2VnYW5nIGdld2VpZ2VyZC4gTmVlbSBjb250YWN0IG9wIG1ldCB1dyBzeXN0ZWVtYmVoZWVyZGVyJywKICAnQWNjZXNzIERlbmllZC4gQ29udGFjdCB5b3VyIGhlbHAgZGVzayBhZG1pbmlzdHJhdG9yIHRvIGhhdmUgYW4gYWNjb3VudCByZWdpc3RlcmVkIGZvciB5b3UnID0+ICdEZSB0b2VnYW5nIGlzIGdld2VpZ2VyZC4gTmVlbSBjb250YWN0IG9wIG1ldCB1dyBoZWxwZGVzayBiZWhlZXJkZXIgYWxzIHUgZWVuIGFjY291bnQgd2lsdCcsCiAgJ0FjY2VzcyBEZW5pZWQuIFBvc3NpYmx5IGludmFsaWQgdGlja2V0IElEJyA9PiAnRGUgdG9lZ2FuZyBpcyBnZXdlaWdlcmQuIE1vZ2VsaWprIG9uZ2VsZGlnIHRpY2tldC1pZCcsCiAgJ0FjY2VzcyBUb2tlbicgPT4gJ1RvZWdhbmdzdG9rZW4nLAogICdBY2Nlc3MgVG9rZW4gUmVxdWlyZWQnID0+ICdUb2VnYW5nc3Rva2VuIHZlcmVpc3QnLAogICdBY2Nlc3MgZGVuaWVkJyA9PiAnVG9lZ2FuZyBnZXdlaWdlcmQnLAogICdBY2Nlc3MgZGVuaWVkLiBDb250YWN0IGFkbWluIGlmIHlvdSBiZWxpZXZlIHRoaXMgaXMgaW4gZXJyb3InID0+ICdUb2VnYW5nIGdld2VpZ2VyZC4gQ29udGFjdGVlciB1dyBiZWhlZXJkZXIgYWxzIHUgZGVua3QgZGF0IGRpdCBlZW4gZm91dCBpcycsCiAgJ0FjY2VzcyBsaW5rJyA9PiAnVG9lZ2FuZ3Nrb3BwZWxpbmcnLAogICdBY2NvdW50JyA9PiAnQWNjb3VudCcsCiAgJ0FjY291bnQgQWNjZXNzJyA9PiAnQWNjb3VudCB0b2VnYW5nJywKICAnQWNjb3VudCBDb25maXJtYXRpb24gRW1haWwnID0+ICdCZXZlc3RpZ2luZy1lLW1haWwnLAogICdBY2NvdW50IENvbmZpcm1lZCBQYWdlJyA9PiAnQWNjb3VudCBiZXZlc3RpZ2luZ3NwYWdpbmEnLAogICdBY2NvdW50IEZsYWdzJyA9PiAnQWNjb3VudCBtYXJrZXJpbmdlbicsCiAgJ0FjY291bnQgTWFuYWdlcicgPT4gJ0FjY291bnQgbWFuYWdlcicsCiAgJ0FjY291bnQgUmVnaXN0cmF0aW9uJyA9PiAnQWNjb3VudCBSZWdpc3RyYXRpZScsCiAgJ0FjY291bnQgVHlwZScgPT4gJ0FjY291bnQgdHlwZScsCiAgJ0FjY291bnQgYWN0aXZhdGlvbiBlbWFpbCBzZW50IHRvICVzJyA9PiAnQWNjb3VudCBhY3RpdmF0aWUgZS1tYWlsIHZlcnN0dXVyZCBuYWFyICVzJywKICAnQWNjb3VudCBjb25maXJtYXRpb24gcmVxdWlyZWQnID0+ICdBY2NvdW50YmV2ZXN0aWdpbmcgdmVyZWlzdCcsCiAgJ0FjY291bnQgaXMgYWRtaW5pc3RyYXRpdmVseSBsb2NrZWQnID0+ICdBY2NvdW50IGlzIGFkbWluaXN0cmF0aWVmIHZlcmdyZW5kZWxkJywKICAnQWNjb3VudCBpcyBhbHJlYWR5IGNvbmZpcm1lZCcgPT4gJ2RpdCBhY2NvdW50IGlzIGFsIGJldmVzdGlnZCcsCiAgJ0FjY291bnQgcGFzc3dvcmQgcmVzZXQgZW1haWwgc2VudCB0byAlcycgPT4gJ0FjY291bnQgd2FjaHR3b29yZCBoZXJzdGVsIGUtbWFpbCB2ZXJ6b25kZW4gbmFhciAlcycsCiAgJ0FjcXVpcmluZyBMb2NrJyA9PiAnIkxvY2siIHdvcmR0IGFhbmdldnJhYWdkJywKICAnQWN0aW9uIERlbmllZC4gVGlja2V0IGlzIGxvY2tlZCBieSBzb21lb25lIGVsc2UhJyA9PiAnQWN0aWUgZ2V3ZWlnZXJkLiBUaWNrZXQgaXMgaW4gZ2VicnVpayBkb29yIGllbWFuZCBhbmRlcnMhJywKICAnQWN0aW9uIERlbmllZC4gWW91IGFyZSBub3QgYWxsb3dlZCB0byBhc3NpZ24vcmVhc3NpZ24gdGlja2V0cy4nID0+ICdBY3RpZSBnZXdlaWdlcmQuIFUgbWFnIGdlZW4gdGlja2V0cyB0b2VrZW5uZW4uJywKICAnQWN0aW9uIGRlbmllZC4gQ29udGFjdCBhZG1pbiBmb3IgYWNjZXNzJyA9PiAnVG9lZ2FuZyBnZXdlaWdlcmQuIENvbnRhY3QgZGUgYWRtaW5pc3RyYXRvci9iZWhlZXJkZXIgb20gdG9lZ2FuZyB0ZSBrcmlqZ2VuJywKICAnQWN0aW9ucycgPT4gJ0FjdGllcycsCiAgJ0FjdGlvbnMgYXJlIGV4ZWN1dGVkIGluIHRoZSBvcmRlciBkZWNsYXJlZCBiZWxvdycgPT4gJ0FjdGllcyB3b3JkZW4gdWl0Z2V2b2VyZCBpbiBkZSBvbmRlcnN0YWFuZGUgdm9sZ29yZGUnLAogICdBY3RpdmUnID0+ICdBY3RpZWYnLAogICdBY3RpdmUgKFJlZ2lzdGVyZWQpJyA9PiAnQWN0aWVmIChnZXJlZ2lzdHJlZXJkKScsCiAgJ0FjdGl2aXR5IERlc2NyaXB0aW9uJyA9PiAnQmVzY2hyaWp2aW5nIHZhbiBkZSBhY3Rpdml0ZWl0JywKICAnQWN0aXZpdHkgVGl0bGUnID0+ICdOYWFtIHZhbiBkZSBBY3Rpdml0ZWl0JywKICAnQWRkJyA9PiAnVG9ldm9lZ2VuJywKICAnQWRkICJGdWxsIEFjY2VzcyIgcGVybWlzc2lvbiBmb3IgdGhlICJFdmVyeW9uZSIgdXNlcicgPT4gJ1ZvZWcgdm9sbGVkaWdlIHRvZWdhbmcgdm9vciBkZSBcJ2llZGVyZWVuXCcgZ2VicnVpa2VyIHRvZScsCiAgJ0FkZCBBcnJvdycgPT4gJ1ZvZWcgZWVuIHBpamwgdG9lJywKICAnQWRkIENvbGxhYm9yYXRvcicgPT4gJ1ZvZWcgc2FtZW53ZXJrZXIgdG9lJywKICAnQWRkIEN1c3RvbSBGb3JtJyA9PiAnVm9lZyBlZW4gYWFuZ2VwYXN0IGZvcm11bGllciB0b2UnLAogICdBZGQgRWxsaXBzZScgPT4gJ0VsbGlwcyB0b2V2b2VnZW4nLAogICdBZGQgRkFRJyA9PiAnVm9lZyBGQVEgdG9lJywKICAnQWRkIEZpbHRlcicgPT4gJ1ZvZWcgZmlsdGVyIHRvZScsCiAgJ0FkZCBGb3JtJyA9PiAnVm9lZyBmb3JtdWxpZXIgdG9lJywKICAnQWRkIEluc3RhbmNlJyA9PiAnSW5zdGFudGllIHRvZXZvZWdlbicsCiAgJ0FkZCBLZXknID0+ICdWb2VnIFNsZXV0ZWwgdG9lJywKICAnQWRkIExpc3QnID0+ICdMaWpzdCB0b2V2b2VnZW4nLAogICdBZGQgTmV3JyA9PiAnVm9lZyB0b2UnLAogICdBZGQgTmV3IEFQSSBLZXknID0+ICdOaWV1d2UgQVBJLXNsZXV0ZWwgdG9ldm9lZ2VuJywKICAnQWRkIE5ldyBBZ2VudCcgPT4gJ05pZXV3ZSBtZWRld2Vya2VyIHRvZXZvZWdlbicsCiAgJ0FkZCBOZXcgQ2FubmVkIFJlc3BvbnNlJyA9PiAnTmlldXcgdm9vcmdlZGVmaW5lZXJkIGFudHdvb3JkIHRvZXZvZWdlbicsCiAgJ0FkZCBOZXcgQ2F0ZWdvcnknID0+ICdOaWV1d2UgY2F0ZWdvcmllIHRvZXZvZWdlbicsCiAgJ0FkZCBOZXcgQ3VzdG9tIEZvcm0nID0+ICdWb2VnIGVlbiBwZXJzb29ubGlqayBmb3JtdWxpZXIgdG9lJywKICAnQWRkIE5ldyBDdXN0b20gTGlzdCcgPT4gJ05pZXV3ZSBhYW5nZXBhc3RlIGxpanN0IHRvZXZvZWdlbicsCiAgJ0FkZCBOZXcgRGVwYXJ0bWVudCcgPT4gJ1ZvZWcgYWZkZWxpbmcgdG9lJywKICAnQWRkIE5ldyBFbWFpbCcgPT4gJ05pZXV3IGVtYWlsYWRyZXMgdG9ldm9lZ2VuJywKICAnQWRkIE5ldyBFbWFpbCBBZGRyZXNzJyA9PiAnVm9lZyBFbWFpbGFkcmVzIHRvZScsCiAgJ0FkZCBOZXcgRW1haWwgQWRkcmVzcyB0byBCYW4gTGlzdCcgPT4gJ0VlbiBlLW1haWxhZHJlcyBhYW4gZGUgYmxva2thZGVsaWpzdCB0b2V2b2VnZW4nLAogICdBZGQgTmV3IEZBUScgPT4gJ1ZvZWcgbmlldXdlIEZBUSB0b2UnLAogICdBZGQgTmV3IEZpbHRlcicgPT4gJ05pZXV3IEZpbHRlciB0b2V2b2VnZW4nLAogICdBZGQgTmV3IEhlbHAgVG9waWMnID0+ICdOaWV1dyBIZWxwLW9uZGVyd2VycCB0b2V2b2VnZW4nLAogICdBZGQgTmV3IEluc3RhbmNlJyA9PiAnTmlldXdlIGluc3RhbnRpZSB0b2V2b2VnZW4nLAogICdBZGQgTmV3IEludGFuY2UnID0+ICdOaWV1d2UgaW5zdGFudGllIHRvZXZvZWdlbicsCiAgJ0FkZCBOZXcgSXRlbScgPT4gJ05pZXV3IGVsZW1lbnQgdG9ldm9lZ2VuJywKICAnQWRkIE5ldyBMaXN0IEl0ZW0nID0+ICdOaWV1dyBsaWpzdGVsZW1lbnQgdG9ldm9lZ2VuJywKICAnQWRkIE5ldyBPcmdhbml6YXRpb24nID0+ICdWb2VnIG9yZ2FuaXNhdGllIHRvZScsCiAgJ0FkZCBOZXcgUGFnZScgPT4gJ1ZvZWcgZWVuIG5pZXV3ZSBwYWdpbmEgdG9lJywKICAnQWRkIE5ldyBQbHVnaW4nID0+ICdWb2VnIG5pZXV3ZSBQbHVnaW4gdG9lJywKICAnQWRkIE5ldyBRdWV1ZScgPT4gJ05pZXV3ZSB3YWNodHJpaicsCiAgJ0FkZCBOZXcgUmVzcG9uc2UnID0+ICdOaWV1d2UgcmVhY3RpZSB0b2V2b2VnZW4nLAogICdBZGQgTmV3IFJvbGUnID0+ICdWb2VnIGVlbiBuaWV1d2Ugcm9sIHRvZScsCiAgJ0FkZCBOZXcgU0xBIFBsYW4nID0+ICdUb2V2b2VnZW4gbmlldXdlIFNMQScsCiAgJ0FkZCBOZXcgU2VxdWVuY2UnID0+ICdWb2VnIG5pZXV3ZSBzeXN0ZWVtdGVsbGVyIHRvZScsCiAgJ0FkZCBOZXcgVGFzaycgPT4gJ1ZvZWcgZWVuIG5pZXV3ZSB0YWFrIHRvZScsCiAgJ0FkZCBOZXcgVGVhbScgPT4gJ1ZvZWcgdGVhbSB0b2UnLAogICdBZGQgTmV3IFRlbXBsYXRlJyA9PiAnTmlldXcgc2phYmxvb24gdG9ldm9lZ2VuJywKICAnQWRkIE5ldyBUZW1wbGF0ZSBTZXQnID0+ICdWb2VnIGVlbiBuaWV1d2Ugc2phYmxvbmVuc2V0IHRvZScsCiAgJ0FkZCBOZXcgVXNlcicgPT4gJ05pZXV3ZSBnZWJydWlrZXIgdG9ldm9lZ2VuJywKICAnQWRkIE9yZ2FuaXphdGlvbicgPT4gJ09yZ2FuaXNhdGllIHRvZXZvZWdlbicsCiAgJ0FkZCBPdGhlciBGaWVsZCcgPT4gJ0NyaXRlcmlhIHRvZXZvZWdlbicsCiAgJ0FkZCBQYWdlJyA9PiAndm9lZyBlZW4gcGFnaW5hIHRvZScsCiAgJ0FkZCBQbGFuJyA9PiAnUGxhbiB0b2V2b2VnZW4nLAogICdBZGQgUXVldWUnID0+ICdSaWogdG9ldm9lZ2VuJywKICAnQWRkIFJlc3BvbnNlJyA9PiAnVm9lZyBlZW4gcmVhY3RpZSB0b2UnLAogICdBZGQgUm9sZScgPT4gJ1JvbCB0b2V2b2VnZW4nLAogICdBZGQgUnVsZScgPT4gJ1JlZ2VsIHRvZXZvZWdlbicsCiAgJ0FkZCBTdWIgUXVldWUnID0+ICdTdWJ3YWNodHJpaiB0b2V2b2VnZW4nLAogICdBZGQgVGVtcGxhdGUnID0+ICdTamFibG9vbiB0b2V2b2VnZW4nLAogICdBZGQgVGV4dCcgPT4gJ1Rla3N0IHRvZXZvZWdlbicsCiAgJ0FkZCBUb3BpYycgPT4gJ09uZGVyd2VycCB0b2V2b2VnZW4nLAogICdBZGQgVXNlcicgPT4gJ0dlYnJ1aWtlciB0b2V2b2VnZW4nLAogICdBZGQgYSBMYW5ndWFnZScgPT4gJ1ZvZWcgdGFhbCB0b2UnLAogICdBZGQgYSBjb2xsYWJvcmF0b3InID0+ICdWb2VnIGVlbiBkZWVsbmVtZXIgdG9lJywKICAnQWRkIGEgY3VzdG9tIGZvcm0nID0+ICdWb2VnIGVlbiBhYW5nZXBhc3QgZm9ybXVsaWVyIHRvZScsCiAgJ0FkZCBhIGZvcm0nID0+ICdWb2VnIGVlbiBmb3JtdWxpZXIgdG9lJywKICAnQWRkIGEgc2VwYXJhdGUgZmllbGQgZm9yIHRoZSBleHRlbnNpb24nID0+ICdFZW4gYXBhcnQgdmVsZCB0b2V2b2VnZW4gdm9vciBkZSBleHRlbnRpZScsCiAgJ0FkZCBuZXcgY3VzdG9tIGZvcm0gc2VjdGlvbicgPT4gJ1ZvZWcgZWVuIG5pZXV3IGFhbmdlcGFzdCBmb3JtdWxpZXIgc2VjdGllIHRvZScsCiAgJ0FkZCBwZXJzb25hbCBxdWV1ZScgPT4gJ1BlcnNvb25saWprZSB3YWNodHJpaiB0b2V2b2VnZW4nLAogICdBZGQgcGVyc29uYWwgc2VhcmNoJyA9PiAnVG9ldm9lZ2VuIHZhbiBwZXJzb29ubGlqa2Ugem9la29wZHJhY2h0JywKICAnQWRkIHRvIE9yZ2FuaXphdGlvbicgPT4gJ1RvZXZvZWdlbiBhYW4gb3JnYW5pc2F0aWUnLAogICdBZGQgdG8gYWxsIHRpY2tldHMgZnJvbSB0aGlzIG9yZ2FuaXphdGlvbicgPT4gJ1ZvZWcgdG9lIGFhbiBhbGxlIHRpY2tldHMgdmFuIGRlemUgb3JnYW5pc2F0aWUnLAogICdBZGRlZCcgPT4gJ1RvZWdldm9lZ2QnLAogICdBZGRlZCBTdWNjZXNzZnVsbHknID0+ICdTdWNjZXN2b2wgdG9lZ2V2b2VnZCcsCiAgJ0FkZGl0aW9uYWwgRmlsZSBUeXBlIEZpbHRlcnMnID0+ICdFeHRyYSBiZXN0YW5kc3R5cGUgZmlsdGVycycsCiAgJ0FkZHJlc3NlZSAoVG8gYW5kIENjKScgPT4gJ0dlYWRyZXNzZWVyZGUgKEFhbiBlbiBDYyknLAogICdBZG1pbicgPT4gJ0JlaGVlcmRlcicsCiAgJ0FkbWluIERhc2hib2FyZCcgPT4gJ0JlaGVlcmRlciBEYXNoYm9hcmQnLAogICdBZG1pbiBFbWFpbCcgPT4gJ0FkbWluIGUtbWFpbGFkcmVzJywKICAnQWRtaW4gTm90ZXMnID0+ICdBZG1pbiBub3RpdGllcycsCiAgJ0FkbWluIFBhbmVsJyA9PiAnQ29udHJvbGVwYW5lZWwnLAogICdBZG1pbiBVc2VyJyA9PiAnQmVoZWVyZGVyJywKICAnQWRtaW5cJ3MgRW1haWwgQWRkcmVzcycgPT4gJ0FtaW5pc3RyYXRvciBvZiBiZWhlZXJkZXJzIGVtYWlsYWRyZXMnLAogICdBZG1pblwncyBmaXJzdCBuYW1lJyA9PiAnQmVoZWVyZGVycyB2b29ybmFhbScsCiAgJ0FkbWluXCdzIGxhc3QgbmFtZScgPT4gJ0JlaGVlcmRlcnMgYWNodGVybmFhbScsCiAgJ0FkbWluXCdzIGxvZ2luIG5hbWUuIE11c3QgYmUgYXQgbGVhc3QgdGhyZWUgKDMpIGNoYXJhY3RlcnMuJyA9PiAnQWRtaW5pc3RyYXRvci9iZWhlZXJkZXIgZ2VicnVpa2Vyc2NvZGUuIE1vZXQgbWluc3RlbnMgMyBrYXJha3RlcnMgbGFuZyB6aWpuLicsCiAgJ0FkbWluXCdzIHBlcnNvbmFsIGVtYWlsIGFkZHJlc3MuIE11c3QgYmUgZGlmZmVyZW50IGZyb20gc3lzdGVtXCdzIGRlZmF1bHQgZW1haWwuJyA9PiAnRGUgYmVoZWVyZGVycyBwZXJzb29ubGlqa2UgZS1tYWlsYWRyZXMuIE1vZXQgYWZ3aWprZW4gdmFuIGhldCBzeXN0ZWVtIHN0YW5kYWFyZCBlLW1haWxhZHJlcy4nLAogICdBZG1pbmlzdHJhdGl2ZWx5IExvY2tlZCcgPT4gJ0dlYmxva2tlZXJkIG9tIGFkbWluaXN0cmF0aXZlIHJlZGVuZW4nLAogICdBZG1pbmlzdHJhdG9yJyA9PiAnQmVoZWVyZGVyJywKICAnQWR2YW5jZWQnID0+ICdHZWF2YW5jZWVyZCB6b2VrZW4nLAogICdBZHZhbmNlZCBDU1YgT3B0aW9ucycgPT4gJ0dlYXZhbmNlZXJkZSBDU1Ytb3B0aWVzJywKICAnQWR2YW5jZWQgU2VhcmNoJyA9PiAnVWl0Z2VicmVpZCB6b2VrZW4nLAogICdBZHZhbmNlZCBUaWNrZXQgU2VhcmNoJyA9PiAnR2VhdmFuY2VlcmQgem9la2VuJywKICAnQWZ0ZXInID0+ICdFcm5hJywKICAnQWZ0ZXIgJWQgbW9udGgnIC4gIlwwIiAuICdBZnRlciAlZCBtb250aHMnID0+ICdOYSAlZCBtYWFuZCcgLiAiXDAiIC4gJ05hICVkIG1hYW5kZW4nLAogICdBZ2VudCcgPT4gJ01lZGV3ZXJrZXInLAogICdBZ2VudCBBc3NpZ25lZCcgPT4gJ1RvZWdld2V6ZW4gQWdlbnQnLAogICdBZ2VudCBEYXNoYm9hcmQnID0+ICdNZWRld2Vya2VyIERhc2hib2FyZCcsCiAgJ0FnZW50IERpcmVjdG9yeScgPT4gJ0xpanN0IHZhbiBtZWRld2Vya2VycycsCiAgJ0FnZW50IEV4Y2Vzc2l2ZSBMb2dpbnMnID0+ICdFeGNlc3NpZXZlIGlubG9ncG9naW5nZW4gZG9vciBtZWR3ZXJrZXInLAogICdBZ2VudCBJZGVudGl0eSBNYXNraW5nJyA9PiAnVmVyYmVyZyBkZSBpZGVudGl0ZWl0IHZhbiBhZ2VudGVuJywKICAnQWdlbnQgTG9naW4nID0+ICdNZWRld2Vya2VycyBsb2dpbicsCiAgJ0FnZW50IE1heGltdW0gRmlsZSBTaXplJyA9PiAnbWF4aW1hbGUgYmVzdGFuZHNncm9vdHRlIHZvb3IgYWdlbnRlbicsCiAgJ0FnZW50IFBhbmVsJyA9PiAnTWVkZXdlcmtlcnMgbWVudScsCiAgJ0FnZW50IFBhc3N3b3JkIFJlc2V0JyA9PiAnVmVydGVnZW53b29yZGlnZXIgV2FjaHR3b29yZCBIZXJzdGVsbGVuJywKICAnQWdlbnQgU2Vzc2lvbiBUaW1lb3V0JyA9PiAnTWVkZXdlcmtlciBzZXNzaWV2ZXJsb29wJywKICAnQWdlbnQgU2V0dGluZ3MgYW5kIE9wdGlvbnMnID0+ICdNZWRld2Vya2VyIEluc3RlbGxpbmdlbiBlbiBPcHRpZXMnLAogICdBZ2VudCBXZWxjb21lIEVtYWlsJyA9PiAnTWVkZXdlcmtlciB3ZWxrb21zYmVyaWNodCcsCiAgJ0FnZW50IGFzc2lnbmluZyB0aGUgdGlja2V0JyA9PiAnTWVkZXdlcmtlciBkaWUgaGV0IHRpY2tldCB0b2V3aWpzdCcsCiAgJ0FnZW50IGhhcyBhY2Nlc3MgdG8gdGhlIGFkbWluIHBhbmVsJyA9PiAnQWdlbnQgaGVlZnQgdG9lZ2FuZyB0b3QgaGV0IGFkbWluLXBhbmVlbCcsCiAgJ0FnZW50IGlzIHVuYXZhaWxhYmxlIGZvciBhc3NpZ25tZW50JyA9PiAnRGV6ZSBhZ2VudCBpcyBuaWV0IGJlc2NoaWtiYWFyIHZvb3IgdG9la2VubmluZycsCiAgJ0FnZW50IGxvZ291dCcgPT4gJ01lZGV3ZXJrZXIgdWl0bG9nZ2VuJywKICAnQWdlbnQgbmFtZScgPT4gJ0FnZW50bmFhbScsCiAgJ0FnZW50IHBlcmZvcm1pbmcgdGhlIGFzc2lnbm1lbnQnID0+ICdEZSBtZWRld2Vya2VyIGRpZSBkZSB0b2VrZW5uaW5nIHVpdHZvZXJ0JywKICAnQWdlbnQgcG9zdGluZyB0aGUgbm90ZSBvciByZXNwb25zZScgPT4gJ0RlIGFnZW50IGRpZSBkZSBub3RpdGllIG9mIHJlYWN0aWUgaGVlZnQgaW5nZXpvbmRlbicsCiAgJ0FnZW50IHdpbGwgaGF2ZSBhY2Nlc3MgdG8gdGlja2V0cyBhc3NpZ25lZCB0byBhIHRlYW0gdGhleSBiZWxvbmcgdG8gcmVnYXJkbGVzcyBvZiB0aGUgdGlja2V0XCdzIGRlcGFydG1lbnQuIEFsZXJ0cyBjYW4gYmUgZW5hYmxlZCBmb3IgZWFjaCBhc3NvY2lhdGVkIHRlYW0uJyA9PiAnRGUgbWVkZXdlcmtlciBoZWVmdCB0b2VnYW5nIHRvdCB0aWNrZXRzIGRpZSB6aWpuIHRvZWdld2V6ZW4gYWFuIGVlbiBoZXQgdGVhbSB3YWFydG9lIHppaiBiZWhvcmVuLCBvbmdlYWNodCBkZSBhZmRlbGluZyB3YWFydG9lIGhldCB0aWNrZXQgYmVob29ydC4gTm90aWZpY2F0aWVzIGt1bm5lbiB2b29yIGVsayBnZWtvcHBlbGQgdGVhbSB3b3JkZW4gdmVyc3R1dXJkLicsCiAgJ0FnZW50XCdzIHRpY2tldCB2aWV3IGxpbmsnID0+ICdNZWRld2Vya2VycyB0aWNrZXQgbGluaycsCiAgJ0FnZW50cycgPT4gJ01lZGV3ZXJrZXJzJywKICAnQWdlbnRzICglZCknID0+ICdNZWRld2Vya2VycyAoJWQpJywKICAnQWdlbnRzIFNldHRpbmdzJyA9PiAnTWVkZXdlcmtlciBpbnN0ZWxsaW5nZW4nLAogICdBZ2VudHMgd2hvIGFyZSBtZW1iZXJzIG9mICVzJyA9PiAnTWVkZXdlcmtlcnMgZGllIGxpZCB6aWpuIHZhbiAlcycsCiAgJ0FnZW50cyB3aG8gYXJlIHByaW1hcnkgbWVtYmVycyBvZiAlcycgPT4gJ01lZGV3ZXJrZXJzIGRpZSBwcmltYWlyZSBsZWRlbiB6aWpuIHZhbiAlcycsCiAgJ0FsZXJ0JyA9PiAnV2FhcnNjaHV3aW5nJywKICAnQWxlcnQgc2VudCBvdXQgdG8gQWdlbnRzIHdoZW4gaW50ZXJuYWwgYWN0aXZpdHkgc3VjaCBhcyBhbiBpbnRlcm5hbCBub3RlIG9yIGFuIGFnZW50IHJlcGx5IGlzIGFwcGVuZGVkIHRvIGEgdGlja2V0LicgPT4gJ0JlcmljaHRnZXZpbmcgbmFhciBtZWRld2Vya2Vycywgd2FubmVlciBlciBlZW4gaW50ZXJuZSBhY3Rpdml0ZWl0IGhlZWZ0IHBsYWF0c2dldm9uZGVuLCB6b2FscyBlZW4gaW50ZXJuZSBub3RpdGllIG9mIHdhbm5lZXIgZWVuIG1lZGV3ZXJrZXIgZWVuIHJlYWN0aWUgdG9lZ2V2b2VnZCBoZWVmdCBhYW4gZWVuIHRpY2tldC4nLAogICdBbGVydCBzZW50IHRvIGFnZW50cyBvbiBzdGFsZSBvciBvdmVyZHVlIHRhc2suJyA9PiAnTm90aWZpY2F0aWUgdmVyem9uZGVuIG5hYXIgbWVkZXdlcmtlcnMgYmlqIHZlcmxvcGVuIG9mIGFjaHRlcnN0YWxsaWdlIHRpY2tldHMuJywKICAnQWxlcnQgc2VudCB0byBhZ2VudHMgb24gc3RhbGUgb3Igb3ZlcmR1ZSB0aWNrZXRzLicgPT4gJ01lbGRpbmcgdmVyem9uZGVuIG5hYXIgbWVkZXdlcmtlcnMgYmlqIHZlcmxvcGVuIG9mIGFjaHRlcnN0YWxsaWdlIHRpY2tldHMuJywKICAnQWxlcnQgc2VudCB0byBhZ2VudHMgb24gdGFzayBhc3NpZ25tZW50LicgPT4gJ05vdGlmaWNhdGllIHRidiBtZWRld2Vya2VycywgYmlqIGhldCB0b2VrZW5uZW4gdmFuIGVlbiB0YWFrLicsCiAgJ0FsZXJ0IHNlbnQgdG8gYWdlbnRzIG9uIHRhc2sgdHJhbnNmZXIuJyA9PiAnTm90aWZpY2F0aWUgdGJ2IG1lZGV3ZXJrZXJzIGJpaiBoZXQgdmVyaHVpemVuIHZhbiBlZW4gdGFhay4nLAogICdBbGVydCBzZW50IHRvIGFnZW50cyBvbiB0aWNrZXQgYXNzaWdubWVudC4nID0+ICdNZWxkaW5nIHZlcnpvbmRlbiBuYWFyIG1lZGV3ZXJrZXIgYmlqIHRvZXdpanplbiB0aWNrZXQuJywKICAnQWxlcnQgc2VudCB0byBhZ2VudHMgb24gdGlja2V0IHRyYW5zZmVyLicgPT4gJ01lbGRpbmcgdmVyem9uZGVuIG5hYXIgbWVkZXdlcmtlciBiaWogdGlja2V0IG92ZXJkcmFjaHQuJywKICAnQWxlcnQgc2VudCB0byBhZ2VudHMsIGlmIGVuYWJsZWQsIG9uIG5ldyB0YXNrLicgPT4gJ05vdGlmaWNhdGllIHRidiBtZWRld2Vya2VycywgTWl0cyBpbmdlc2NoYWtlbGQsIGJpaiBlZW4gbmlldXdlIHRhYWsuJywKICAnQWxlcnQgc2VudCB0byBhZ2VudHMsIGlmIGVuYWJsZWQsIG9uIG5ldyB0aWNrZXQuJyA9PiAnTWVsZGluZyB2ZXJ6b25kZW4gbmFhciBwZXJzb25lZWwsIGluZGllbiBpbmdlc2NoYWtlbGQgYmlqIGVlbiBuaWV1d2UgdGlja2V0LicsCiAgJ0FsZXJ0IHNlbnQgdG8gYWdlbnRzLCBpZiBlbmFibGVkLCB3aGVuIHVzZXIgcmVwbGllcyB0byBhbiBleGlzdGluZyB0aWNrZXQuJyA9PiAnTWVsZGluZyB2ZXJ6b25kZW4gbmFhciBtZWRld2Vya2VycywgaW5kaWVuIGluZ2VzY2hha2VsZCwgd2FubmVlciBnZWJydWlrZXIgcmVhZ2VlcnQgb3AgYmVzdGFhbmRlIHRpY2tldC4nLAogICdBbGVydCBzZW50IHRvIHNlbGVjdGVkIGFnZW50cywgaWYgZW5hYmxlZCwgb24gbmV3IGFjdGl2aXR5LicgPT4gJ01lbGRpbmcgdmVyem9uZGVuIG5hYXIgZ2VzZWxlY3RlZXJkZSBtZWRld2Vya2VycywgaW5kaWVuIGluZ2VzY2hha2VsZCwgYmlqIG5pZXV3ZSBhY3Rpdml0ZWl0ZW4uJywKICAnQWxlcnRzJyA9PiAnTm90aWZpY2F0aWVzJywKICAnQWxlcnRzICZhbXA7IE5vdGljZXMnID0+ICdXYWFyc2NodXdpbmdlbiAmYW1wOyBtZWxkaW5nZW4nLAogICdBbGVydHMgYW5kIE5vdGljZXMnID0+ICdXYWFyc2NodXdpbmdlbiBlbiBtZWxkaW5nZW4nLAogICdBbGwnID0+ICdBbGxlJywKICAnQWxsIEFjdGl2ZSBQb2xpY2llcycgPT4gJ0FsbGUgYWN0aWV2ZSBiZWxlaWRzcmVnZWxzJywKICAnQWxsIEFjdGl2ZSBSZWNpcGllbnRzJyA9PiAnQWxsZSBhY3RpZXZlIG9udHZhbmdlcnMnLAogICdBbGwgQ2F0ZWdvcmllcycgPT4gJ0FsbGUgY2F0ZWdvcmllw6tuJywKICAnQWxsIERlcGFydG1lbnRzJyA9PiAnQWxsZSBhZmRlbGluZ2VuJywKICAnQWxsIEhlbHAgVG9waWNzJyA9PiAnQWxsZSBvbmRlcndlcnBlbicsCiAgJ0FsbCBUYXNrcyAoJXMpJyA9PiAnQWxsZSB0YWtlbiAoJXMpJywKICAnQWxsIFRlYW1zJyA9PiAnQWxsZSB0ZWFtcycsCiAgJ0FsbCBUaWNrZXRzJyA9PiAnQWxsZSB0aWNrZXRzJywKICAnQWxsIFRvcGljcycgPT4gJ0FsbGUgb25kZXJ3ZXJwZW4nLAogICdBbGwgbG9ncycgPT4gJ0FsbGUgbG9nYm9la3Zlcm1lbGRpbmdlbicsCiAgJ0FsbCBtZW1iZXJzIHNlZSBhbGwgdGlja2V0cycgPT4gJ0FsbGUgbGVkZW4gemllbiBhbGxlIHRpY2tldHMnLAogICdBbGxvdyBFeHRlcm5hbCBJbWFnZXMnID0+ICdFeHRlcm5lIGFmYmVlbGRpbmdlbiB0b2VzdGFhbicsCiAgJ0FsbG93IEZ1dHVyZSBEYXRlcycgPT4gJ1RvZWtvbXN0aWdlIGRhdHVtcyB0b2VzdGFhbicsCiAgJ0FsbG93IEhUTUwgaW5wdXQgaW4gdGhpcyBib3gnID0+ICdIVE1MIGluIGRpdCB2YWsgdG9lc3RhYW4nLAogICdBbGxvdyBQYXNzd29yZCBSZXNldHMnID0+ICdXYWNodHdvb3JkIGhlcnN0ZWxsZW4gdG9lc3RhYW4nLAogICdBbGxvdyBSZW9wZW4nID0+ICdHZWVmIHRvZXN0ZW1taW5nIG9tIHRlIGhlcm9wZW5lbicsCiAgJ0FsbG93IFN5c3RlbSBpRnJhbWUnID0+ICdTeXN0ZW0gaUZyYW1lIHRvZXN0YWFuJywKICAnQWxsb3cgZW50cmllcyBpbnRvIHRoZSBmdXR1cmUnID0+ICdJdGVtcyBpbiBkZSB0b2Vrb21zdCB0b2VzdGFhbicsCiAgJ0FsbG93IG11bHRpcGxlIHNlbGVjdGlvbnMnID0+ICdTdGEgbWVlcmRlcmUgc2VsZWN0aWVzIHRvZScsCiAgJ0FsbG93IHRpY2tldHMgb24gdGhpcyBzdGF0dXMgdG8gYmUgcmVvcGVuZWQgYnkgZW5kIHVzZXJzJyA9PiAnR2VlZiBlaW5kZ2VicnVpa2VycyBkZSBtb2dlbGlqa2hlaWQgb20gdGlja2V0cyBtZXQgZGV6ZSBzdGF0dXMgdGUgaGVyb3BlbmVuJywKICAnQWxwaGFiZXRpY2FsJyA9PiAnQWxmYWJldGlzY2gnLAogICdBbHBoYWJldGljYWwgKFJldmVyc2VkKScgPT4gJ0FsZmFiZXRpc2NoIChPbWdla2VlcmQpJywKICAnQWxwaGFiZXRpY2FsbHknID0+ICdBbGZhYmV0aXNjaCcsCiAgJ0FscmVhZHkgaW4gdXNlIHN5c3RlbSBlbWFpbCcgPT4gJ1N5c3RlZW0gZS1tYWlsIGlzIGFsIGluIGdlYnJ1aWsnLAogICdBbHJlYWR5IGluLXVzZSBhcyBzeXN0ZW0gZW1haWwnID0+ICdBbCBpbiBnZWJydWlrIGFscyBzeXN0ZWVtIGUtbWFpbCcsCiAgJ0FuIGFjY2VzcyBsaW5rIHdpbGwgYmUgZW1haWxlZCB0byB5b3UuJyA9PiAnRWVuIGxpbmsgdm9vciB0b2VnYW5nIHphbCB3b3JkZW4gdmVyc3R1dXJkIHBlciBlLW1haWwuJywKICAnQW5ub3RhdGUnID0+ICdBbm5vdGVlcicsCiAgJ0Fuc3dlcicgPT4gJ0FudHdvb3JkJywKICAnQW5zd2VyZWQnID0+ICdCZWFudHdvb3JkJywKICAnQW55JyA9PiAnRWxrZScsCiAgJ0FueSBjaGFuZ2VzIHdpbGwgcmVxdWlyZSByZS1hdXRob3JpemF0aW9uJyA9PiAnRWxrZSB3aWp6aWdpbmcgdmVyZWlzdCBvcG5pZXV3IGF1dG9yaXNhdGllJywKICAnQXBwZW5kJyA9PiAnVG9ldm9lZ2VuIGFhbiBodWlkaWdlIHJlYWN0aWUnLAogICdBcHBsaWNhdGlvbnMnID0+ICdUb2VwYXNzaW5nZW4nLAogICdBcHBsaWVkIGNsZWFudXAgc2NyaXB0ICVzJyA9PiAnT3BzY2hvb24gc2NyaXB0ICVzIHRvZWdlcGFzdCcsCiAgJ0FwcGx5JyA9PiAnVG9lcGFzc2VuJywKICAnQXBwbHlpbmcgdXBkYXRlcyB0byBkYXRhYmFzZSBzdHJlYW06ICVzJyA9PiAnVXBkYXRlcyB0b2VwYXNzZW4gb3AgZGF0YWJhc2Utc3RyZWFtOiAlcycsCiAgJ0FyY2hpdmUnID0+ICdBcmNoaWVmJywKICAnQXJjaGl2ZSBmb2xkZXIgY2Fubm90IGJlIHNhbWUgYXMgZmV0Y2hlZCBmb2xkZXIgKElOQk9YKScgPT4gJ0FyY2hpZWZtYXAga2FuIG5pZXQgZGV6ZWxmZGUgemlqbiBhbHMgZGUgb3BnZWhhYWxkZSBtYXAgKElOQk9YKScsCiAgJ0FyY2hpdmVkJyA9PiAnR2VhcmNoaXZlZXJkJywKICAnQXJlIHlvdSBzdXJlIHdhbnQgdG8gPGI+ZGlzYWJsZTwvYj4gJXM/JyA9PiAnQmVuIGplIHpla2VyIGRhdCBqZSB3aWwgPGI+dWl0c2NoYWtlbGVuPC9iPiAlcz8nLAogICdBcmUgeW91IHN1cmUgd2FudCB0byA8Yj5lbmFibGU8L2I+ICVzPycgPT4gJ0JlbiBqZSB6ZWtlciBkYXQgamUgd2lsIDxiPmluc2NoYWtlbGVuPC9iPiAlcz8nLAogICdBcmUgeW91IHN1cmUgd2FudCB0byBmbGFnIHRoZSBzZWxlY3RlZCB0YXNrcyBhcyA8Zm9udCBjb2xvcj0icmVkIj48Yj5vdmVyZHVlPC9iPjwvZm9udD4/JyA9PiAnV2VldCB1IHpla2VyIGRhdCB1IGRlIGdlc2VsZWN0ZWVyZGUgdGFrZW4gd2lsdCBtYXJrZXJlbiBhbHMgPGZvbnQgY29sb3I9InJlZCI+PGI+QWNodGVyc3RhbGxpZzwvYj48L2ZvbnQ+PycsCiAgJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byA8Yj5SRU1PVkU8L2I+ICUxJHMgZnJvbSA8c3Ryb25nPiUyJHM8L3N0cm9uZz4/JyA9PiAnV2VldCB1IHpla2VyIGRhdCB1ICUxJHMgdmFuIDxzdHJvbmc+JTIkczwvc3Ryb25nPiB3aWx0IDxiPlZFUldJSkRFUkVOPC9iPj8nLAogICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gPGI+YmFuPC9iPiAlcz8nID0+ICdXZWV0IHUgemVrZXIgZGF0IHUgJXMgd2lsdCA8Yj5CbG9ra2VyZW48L2I+PycsCiAgJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byA8Yj5jaGFuZ2U8L2I+IHRpY2tldCBvd25lciB0byAlcz8nID0+ICdXZWV0IGplIHpla2VyIGRhdCBqZSB0aWNrZXQgJXMgdmFuIGVpZ2VuYWFyIHdpbHQgPGI+d2lqemlnZW48L2I+PycsCiAgJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byA8Yj5kaXNhYmxlPC9iPiAlcz8nID0+ICdXZWV0IGplIHpla2VyIGRhdCBqZSAlcyB3aWx0IDxiPnVpdHNjaGFrZWxlbjwvYj4/JywKICAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIDxiPmRpc2FibGU8L2I+IChsb2NrKSAlcz8nID0+ICdXZWV0IGplIHpla2VyIGRhdCBqZSAlcyB3aWx0IDxiPnVpdHNjaGFrZWxlbjwvYj4gKGxvY2tlbik/JywKICAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIDxiPmVuYWJsZTwvYj4gJXM/JyA9PiAnV2VldCBqZSB6ZWtlciBkYXQgamUgJXMgd2lsdCA8Yj5pbnNjaGFrZWxlbjwvYj4/JywKICAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIDxiPmVuYWJsZTwvYj4gKHVubG9jaykgJXM/JyA9PiAnV2VldCBqZSB6ZWtlciBkYXQgamUgJXMgd2lsdCA8Yj5pbnNjaGFrZWxlbjwvYj4gKHVubG9ja2VuKT8nLAogICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gPGI+cmVtb3ZlPC9iPiAlcyBmcm9tIGJhbiBsaXN0PycgPT4gJ1dlZXQgdSB6ZWtlciBkYXQgdSAlcyB2YW4gZGUgYmxva2xpanN0IHdpbHQgPGI+dmVyd2lqZGVyZW48L2I+PycsCiAgJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byA8Yj51bmFzc2lnbjwvYj4gdGlja2V0IGZyb20gPGI+JXM8L2I+PycgPT4gJ1dlZXQgdSB6ZWtlciBkYXQgdSBkZSB0b2ViZWRlbGluZyBhYW4gPGI+JXM8L2I+IHZhbiBkaXQgdGlja2V0IG9uZ2VkYWFuIHdpbHQgbWFrZW4/JywKICAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIENMQUlNICVzPycgPT4gJ1dlZXQgamUgemVrZXIgZGF0IGplICVzIHdpbCB0b2XDq2lnZW5lbj8nLAogICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gQ0xPU0UgJXM/JyA9PiAnV2VldCBqZSB6ZWtlciBkYXQgamUgJXMgd2lsdCBTTFVJVEVOPycsCiAgJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBERUxFVEUgJXM/JyA9PiAnV2VldCB1IHpla2VyIGRhdCB1ICVzIHdpbHQgdmVyd2lqZGVyZW4/JywKICAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIFJFT1BFTiAlcz8nID0+ICdXZWV0IGplIGhldCB6ZWtlciBkYXQgamUgJXMgd2lsdCBIRVJPUEVORU4/JywKICAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGNoYW5nZSB0aGUgdXNlclwncyBvcmdhbml6YXRpb24/JyA9PiAnV2VldCB1IHpla2VyIGRhdCB1IGRlIGdlYnJ1aWtlclwncyBvcmdhbmlzYXRpZSB3aWx0IHdpanppZ2VuPycsCiAgJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBmbGFnIHRoZSB0aWNrZXQgYXMgPGI+YW5zd2VyZWQ8L2I+PycgPT4gJ1dlZXQgdSB6ZWtlciBkYXQgdSBkaXQgdGlja2V0IGRlIHN0YXR1cyBvcCA8Yj5iZWFudHdvb3JkPC9iPiAgd2lsdCB6ZXR0ZW4/JywKICAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGZsYWcgdGhlIHRpY2tldCBhcyA8Yj51bmFuc3dlcmVkPC9iPj8nID0+ICdXZWV0IHUgemVrZXIgZGF0IHUgZGUgc3RhdHVzIHZhbiBkaXQgdGlja2V0IHdpbHQgdmVyYW5kZXJlbiBpbiA8Yj4iT05iZWFudHdvb3JkIjwvYj4/JywKICAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGZsYWcgdGhlIHRpY2tldCBhcyA8Zm9udCBjb2xvcj0icmVkIj48Yj5vdmVyZHVlPC9iPjwvZm9udD4/JyA9PiAnV2VldCB1IHpla2VyIGRhdCB1IGRlIHN0YXR1cyB2YW4gZGl0IHRpY2tldCBvcCA8Zm9udCBjb2xvcj1yZWQ+PGI+VkVSTE9QRU48L2I+PC9mb250PiB3aWx0IHpldHRlbj8nLAogICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gbGVhdmU/IEFueSBjaGFuZ2VzIG9yIGluZm8geW91XCd2ZSBlbnRlcmVkIHdpbGwgYmUgZGlzY2FyZGVkIScgPT4gJ1dlZXQgdSB6ZWtlciBkYXQgdSBkZXplIHBhZ2luYSB3aWx0IHZlcmxhdGVuPyBFdmVudHVlbGUgd2lqemlnaW5nZW4gZGllIHUgaGVlZnQgaW5nZXZ1bGQgZ2FhbiB2ZXJsb3JlbiEnLAogICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gbWFrZSAlcyA8Yj5wcml2YXRlPC9iPiAoaW50ZXJuYWwpPycgPT4gJ1dlZXQgamUgemVrZXIgZGF0IGplICVzIDxiPnByaXbDqTwvYj4gd2lsdCBtYWtlbiAoaW50ZXJuKT8nLAogICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gbWFrZSAlcyA8Yj5wdWJsaWM8L2I+PycgPT4gJ1dlZXQgamUgemVrZXIgZGF0IGplICVzIHdpbHQgPGI+cHVibGljZXJlbjwvYj4/JywKICAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHJlbW92ZSB0aGlzIGF0dGFjaG1lbnQ/JyA9PiAnd2VldCB1IHpla2VyIGRhdCB1IGRlemUgYmlqbGFnZSB3aWx0IHZlcndpamRlcmVuPycsCiAgJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBzZW5kIGEgPGI+UGFzc3dvcmQgUmVzZXQgTGluazwvYj4gdG8gPGVtPiAlcyA8L2VtPj8nID0+ICdXZWV0IGplIHpla2VyIGRhdCBqZSBlZW4gPGI+V2FjaHR3b29yZCBIZXJzdGVsIExpbms8L2I+IHdpbHQgdmVyemVuZGVuIG5hYXIgPGVtPiAlcyA8L2VtPj8nLAogICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gc2VuZCBhbiA8Yj5BY2NvdW50IEFjdGl2YXRpb24gTGluazwvYj4gdG8gPGVtPiAlcyA8L2VtPj8nID0+ICdXZWV0IGplIHpla2VyIGRhdCBqZSBlZW4gPGI+QWNjb3VudCBBY3RpdmF0aWUgTGluazwvYj4gd2lsdCB2ZXJ6ZW5kZW4gbmFhciA8ZW0+ICVzIDwvZW0+PycsCiAgJ0FydGljbGUgQ29udGVudCcgPT4gJ0FydGlrZWwgaW5ob3VkJywKICAnQXNjZW5kaW5nJyA9PiAnT3Bsb3BlbmQnLAogICdBc3NpZ24nID0+ICd0b2V3aWp6ZW4nLAogICdBc3NpZ24gQWdlbnQnID0+ICdLZW4gZGUgYWdlbnQgdG9lJywKICAnQXNzaWduIFRhc2tzJyA9PiAnVGFrZW4gdG9la2VubmVuJywKICAnQXNzaWduIFRlYW0nID0+ICdLZW4gaGV0IHRlYW0gdG9lJywKICAnQXNzaWduIFRvJyA9PiAnVG9ld2lqemVuIGFhbicsCiAgJ0Fzc2lnbiB0aWNrZXRzIGZyb20gdGhpcyBvcmdhbml6YXRpb24gdG8gdGhlIDxlbT5BY2NvdW50IE1hbmFnZXI8L2VtPicgPT4gJ0tlbiB0aWNrZXRzIHZhbiBkZXplIG9yZ2FuaXNhdGllIHRvZSBhYW4gZGUgPGVtPmFjY291bnQgbWFuYWdlcjwvZW0+JywKICAnQXNzaWduIHRvIEFnZW50JyA9PiAnQWdlbnQgdG9la2VubmVuJywKICAnQXNzaWduIHRvIFRlYW0nID0+ICdUZWFtIHRvZWtlbm5lbicsCiAgJ0Fzc2lnbi90cmFuc2ZlciBjb21tZW50cycgPT4gJ1RvZXdpanplbi9vdmVycGxhYXRzZW4gb3BtZXJraW5nZW4nLAogICdBc3NpZ25lZCcgPT4gJ1RvZWdld2V6ZW4nLAogICdBc3NpZ25lZCBBZ2VudCcgPT4gJ1RvZWdld2V6ZW4gbWVkZXdlcmtlcicsCiAgJ0Fzc2lnbmVkIEFnZW50IC8gVGVhbScgPT4gJ1RvZWdla2VuZGUgbWVkZXdlcmtlci90ZWFtJywKICAnQXNzaWduZWQgU3RhZmYnID0+ICdUb2VnZXdlemVuIG1lZGV3ZXJrZXInLAogICdBc3NpZ25lZCBUYXNrcycgPT4gJ1RvZWdla2VuZGUgdGFrZW4nLAogICdBc3NpZ25lZCBUZWFtcycgPT4gJ1RvZWdla2VuZGUgdGVhbXMnLAogICdBc3NpZ25lZCBUbycgPT4gJ1RvZWdld2V6ZW4gYWFuJywKICAnQXNzaWduZWQvY2xvc2luZyBhZ2VudCcgPT4gJ1RvZWdld2V6ZW4vc2x1aXRlbmRlIG1lZGV3ZXJrZXInLAogICdBc3NpZ25lZC9jbG9zaW5nIHRlYW0nID0+ICdUb2VnZXdlemVuL3NsdWl0ZW5kIHRlYW0nLAogICdBc3NpZ25lZScgPT4gJ1RvZWdld2V6ZW5lJywKICAnQXNzaWduZWUgY2hhbmdlZCBieSA8Yj57c29tZWJvZHl9PC9iPiB0byA8c3Ryb25nPnthc3NpZ25lZXN9PC9zdHJvbmc+IHt0aW1lc3RhbXB9JyA9PiAnVG9ld2lqemluZyBnZXdpanppZ2QgZG9vciA8Yj57c29tZWJvZHl9PC9iPiBuYWFyIDxzdHJvbmc+e2Fzc2lnbmVlc308L3N0cm9uZz4gb3Age3RpbWVzdGFtcH0nLAogICdBc3NpZ25lZSBzZWxlY3Rpb24gcmVxdWlyZWQnID0+ICdUb2VrZW5uZXIgc2VsZWN0aWUgdmVycGxpY2h0JywKICAnQXNzaWdubWVudCBBbGVydCcgPT4gJ1RvZXdpanppbmcgQWxlcnQnLAogICdBdHRhY2ggQ2FubmVkIFJlc3BvbnNlJyA9PiAnVm9lZyBlZW4gaW5nZXZvZWdkZSByZWFjdGllIHRvZScsCiAgJ0F0dGFjaGVkIGZpbGVzJyA9PiAnQmlqZ2V2b2VnZGUgYmVzdGFuZGVuJywKICAnQXR0YWNobWVudCBDb3VudCcgPT4gJ0FhbnRhbCBCaWpsYWdlbicsCiAgJ0F0dGFjaG1lbnRzJyA9PiAnQmlqbGFnZW4nLAogICdBdHRhY2htZW50cyAoJWQpJyA9PiAnQmlqbGFnZW4gKCVkKScsCiAgJ0F0dGFjaG1lbnRzIFN0b3JhZ2UgYW5kIFNldHRpbmdzJyA9PiAnQmlqbGFnZSBvcHNsYWcgZW4gaW5zdGVsbGluZ2VuJywKICAnQXR0YWNobWVudHMgZm9yICVzJyA9PiAnQmlqbGFnZXMgdm9vciAlcycsCiAgJ0F0dGVtcHRzJyA9PiAnUG9naW5nZW4nLAogICdBdXRoLiB0b2tlbiB1c2VkIGZvciBhdXRvLWxvZ2luJyA9PiAnQXV0aC4gdG9rZW4gZ2VicnVpa3Qgdm9vciBhdXRvLWxvZ2luJywKICAnQXV0aGVudGljYXRpb24nID0+ICdBdXRoZW50aWNhdGllJywKICAnQXV0aGVudGljYXRpb24gQmFja2VuZCcgPT4gJ0F1dGhlbnRpY2F0aWUgXCdiYWNrZW5kXCcnLAogICdBdXRoZW50aWNhdGlvbiBFcnJvcicgPT4gJ1ZlcmlmaWNhdGllZm91dCcsCiAgJ0F1dGhlbnRpY2F0aW9uIFJlcXVpcmVkJyA9PiAnVmVyaWZpY2F0aWUgdmVyZWlzdCcsCiAgJ0F1dGhlbnRpY2F0aW9uIFNldHRpbmdzJyA9PiAnQXV0aGVudGljYXRpZSBpbnN0ZWxsaW5nZW4nLAogICdBdXRoZW50aWNhdGlvbiBTb3VyY2VzJyA9PiAnQXV0aGVudGljYXRpZSBicm9ubmVuJywKICAnQXV0aGVudGljYXRpb24gVG9rZW4nID0+ICdBdXRoZW50aWNhdGlldG9rZW4nLAogICdBdXRoZW50aWNhdGlvbiBhbmQgUmVnaXN0cmF0aW9uIFRlbXBsYXRlcyAmYW1wOyBQYWdlcycgPT4gJ0F1dGhlbnRpY2F0aWUgZW4gUmVnaXN0cmF0aWUgU2phYmxvbmVuICZhbXA7IFBhZ2luYVwncycsCiAgJ0F1dGhlbnRpY2F0aW9uIGJhY2tlbmQgZG9lcyBub3Qgc3VwcG9ydCBwYXNzd29yZCB1cGRhdGVzJyA9PiAnVSBrdW50IGhpZXIgdXcgd2FjaHR3b29yZCBuaWV0IHdpanppZ2VuIChhdXRoZW50aWNhdGllIGJhY2tlbmQpCicsCiAgJ0F1dGhvcicgPT4gJ0F1dGV1cicsCiAgJ0F1dG8gQWRkIE1lbWJlcnMgRnJvbScgPT4gJ0F1dG9tYXRpc2NoZSBsZWRlbiB0b2V2b2VnaW5nc2Zvcm11bGllcicsCiAgJ0F1dG8gQ3JvbicgPT4gJ0F1dG8gQ3JvbiAoc3lzdGVlbSB0YWFrcGxhbm5lciknLAogICdBdXRvIERldGVjdCcgPT4gJ0F1dG9tYXRpc2NoZSBkZXRlY3RpZScsCiAgJ0F1dG8gUmVmcmVzaCBSYXRlJyA9PiAnQXV0byBSZWZyZXNoIFJhdGUnLAogICdBdXRvLUFzc2lnbm1lbnQnID0+ICdBdXRvbWF0aXNjaGUgdG9la2VubmluZycsCiAgJ0F1dG8tUmVzcG9uc2UnID0+ICdBdXRvbWF0aXNjaCBhbnR3b29yZGJlcmljaHQnLAogICdBdXRvLVJlc3BvbnNlIEVtYWlsJyA9PiAnQXV0by1hbnR3b29yZCBFbWFpbCcsCiAgJ0F1dG8tYXNzaWduIFRvJyA9PiAnYXV0by10b2VrZW5uZW4gYWFuJywKICAnQXV0by1yZWZlciBvbiBDbG9zZScgPT4gJ0F1dG9tYXRpc2NoIGRvb3J2ZXJ3aWp6ZW4gYmlqIHNsdWl0ZW4nLAogICdBdXRvbWF0ZWQgQ29sbGFib3JhdGlvbicgPT4gJ0F1dG9tYXRpc2NoZSBzYW1lbndlcmtpbmcnLAogICdBdXRvbWF0aWNhbGx5IGFkZCBjb2xsYWJvcmF0b3JzIGZyb20gZW1haWwgZmllbGRzJyA9PiAnVm9lZyB0ZWFtcy9tZWRld2Vya2VycyBhdXRvbWF0aXNjaCB0b2UgdWl0IGVtYWlsIHZlbGRlbicsCiAgJ0F1dG9yZXNwb25kZXInID0+ICdBdXRvbWF0aXNjaGUgYmVhbnR3b29yZGluZycsCiAgJ0F1dG9yZXNwb25kZXIgU2V0dGluZ3MnID0+ICdBdXRvbWF0aXNjaCBhbnR3b29yZCBpbnN0ZWxsaW5nZW4nLAogICdBdXRvcmVzcG9uc2Ugc2VudCB0byB1c2VyLCBpZiBlbmFibGVkLCBvbiBuZXcgdGlja2V0LicgPT4gJ0F1dG9tYXRpc2NoIGFudHdvb3JkIGRhdCBnZXN0dXVyZCB3b3JkdCBuYWFyIGRlIGdlYnJ1aWtlciBiaWogbmlldXdlIHRpY2tldHMuJywKICAnQXZhdGFyJyA9PiAnUHJvZmllbGFmYmVlbGRpbmcnLAogICdBdmF0YXIgU291cmNlJyA9PiAnQnJvbiBhdmF0YXInLAogICdCYWNrIFRvIEluZGV4JyA9PiAnVGVydWcgbmFhciBJbmRleCcsCiAgJ0JhY2sgdXAgdGhlIGN1cnJlbnQgZGF0YWJhc2UgaWYgeW91IGhhdmVuXCd0IGRvbmUgc28gYWxyZWFkeS4nID0+ICdNYWFrIGVlbiBiYWNrdXAgdmFuIGRlIGh1aWRpZ2UgZGF0YWJhc2UsIGFscyB1IGRhdCBub2cgbmlldCBoZWVmdCBnZWRhYW4uJywKICAnQmFja2VuZCcgPT4gJ0JhY2tlbmQnLAogICdCYWNrdHJhY2UnID0+ICdCYWNrdHJhY2UnLAogICdCYWQgZGF0YS4gRXhwZWN0ZWQ6ICVzJyA9PiAnRm91dGUgZ2VnZXZlbnMuIFZlcndhY2h0OiAlcycsCiAgJ0JhZCBwcmVmaXguIE11c3QgaGF2ZSB1bmRlcnNjb3JlIChfKSBhdCB0aGUgZW5kLiBlLmcgXCdvc3RfXCcnID0+ICdTbGVjaHQgdm9vcnZvZWdzZWwgKHByZWZpeCkuIE1vZXQgZWVuIHVuZGVyc2NvcmUgKCBfICkgIGFhbiBoZXQgZWluZGUgaGViYmVuLiBiaWp2LjogXCdvc3RfXCcnLAogICdCYWQgdXNlcm5hbWUnID0+ICdPbmdlbGRpZ2UgZ2VicnVpa2Vyc25hYW0nLAogICdCYW4gRW1haWwgPCVzPicgPT4gJ0Jsb2trZWVyIEVtYWlsYWRyZXMgPCVzPgonLAogICdCYW4gTmV3IEVtYWlsJyA9PiAnTmlldXdlIGUtbWFpbCBibG9ra2VyZW4nLAogICdCYW4gU3RhdHVzJyA9PiAnU3RhdHVzIGJsb2trYWRlJywKICAnQmFubGlzdCcgPT4gJ0dlYmxva2tlZXJkJywKICAnQmFubmVkIEVtYWlsIEFkZHJlc3NlcycgPT4gJ0dlYmxva2tlZXJkZSBlLW1haWxhZHJlc3NlbicsCiAgJ0Jhbm5lZCBFbWFpbHMnID0+ICdHZWJsb2trZWVyZGUgZS1tYWlsYWRyZXNzZW4nLAogICdCYXNlIFZhcmlhYmxlcycgPT4gJ0Jhc2lzIHZhcmlhYmVsZW4nLAogICdCYXNpYyBBdXRoZW50aWNhdGlvbicgPT4gJ0Jhc2lzdmVyaWZpY2F0aWUnLAogICdCYXNpYyBGaWVsZHMnID0+ICdCYXNpcyB2ZWxkZW4nLAogICdCYXNpYyBJbmZvcm1hdGlvbicgPT4gJ0FsZ2VtZW5lIGdlZ2V2ZW5zJywKICAnQmFzaWMgSW5zdGFsbGF0aW9uIENvbXBsZXRlZCcgPT4gJ1N0YW5kYWFyZCBpbnN0YWxsYXRpZSBhZmdlcm9uZCcsCiAgJ0Jhc2ljIFRpY2tldCBJbmZvcm1hdGlvbicgPT4gJ0Jhc2lzIFRpY2tldCBJbmZvcm1hdGllJywKICAnQmFzaWNBdXRoJyA9PiAnQmFzaWNBdXRoJywKICAnQmUgbGliZXJhbCwgdGhleVwncmUgaW50ZXJuYWwnID0+ICdXZWVzIHZyaWp6aW5uaWcsIHplIHppam4gaW50ZXJuJywKICAnQmUgcGF0aWVudC4gVGhlIHVwZ3JhZGUgcHJvY2VzcyB3aWxsIHRha2UgYSBjb3VwbGUgb2Ygc2Vjb25kcy4nID0+ICdFZW4gb2dlbmJsaWssIGhldCB1cGdyYWRlcHJvY2VzIGR1dXJ0IGVuZWtlbGUgc2Vjb25kZXMuJywKICAnQmVmb3JlJyA9PiAnRXJ2b29yJywKICAnQmVmb3JlIHdlIGJlZ2luLCB3ZVwnbGwgY2hlY2sgeW91ciBzZXJ2ZXIgY29uZmlndXJhdGlvbiB0byBtYWtlIHN1cmUgeW91IG1lZXQgdGhlIG1pbmltdW0gcmVxdWlyZW1lbnRzIHRvIHJ1biB0aGUgbGF0ZXN0IHZlcnNpb24gb2Ygb3NUaWNrZXQuJyA9PiAnVm9vcmRhdCB3ZSBiZWdpbm5lbiwgY29udHJvbGVyZW4gd2UgZGUgY29uZmlndXJhdGllIHZhbiB1dyB3ZWJzZXJ2ZXIgb20gZXIgemVrZXIgdmFuIHRlIHppam4gZGF0IHUgYWFuIGRlIG1pbmltYWxlIHZlcmVpc3RlbiB2YW4gZGUgbGFhdHN0ZSB2ZXJzaWUgdmFuIG9zVGlja2V0IHZvbGRvZXQuJywKICAnQmVsb3cgaXMgYSBzdW1tYXJ5IG9mIHRoZSBkYXRhYmFzZSBwYXRjaGVzIHRvIGJlIGFwcGxpZWQuJyA9PiAnT25kZXJzdGFhbmQgZWVuIG9wc29tbWluZyB2YW4gYWxsZSBkYXRhYmFzZSB1cGdyYWRlcyBkaWUgbW9ldGVuIHdvcmRlbiB1aXRnZXZvZXJkLicsCiAgJ0JlbG93LCB5b3VcJ2xsIGZpbmQgc29tZSB1c2VmdWwgbGlua3MgcmVnYXJkaW5nIHlvdXIgaW5zdGFsbGF0aW9uLicgPT4gJ09uZGVyc3RhYW5kIHRyZWZ0IHUgZW5pZ2UgaGFuZGlnZSBsaW5rcyBtZXQgYmV0cmVra2luZyB0b3QgdXcgaW5zdGFsbGF0aWUgYWFuLicsCiAgJ0JldHdlZW4nID0+ICd0dXNzZW4nLAogICdCaW5kIEFnZW50IFNlc3Npb24gdG8gSVAnID0+ICdLb3BwZWwgZGUgbWVkZXdlcmtlciBzZXNzaWUgYWFuIGVlbiBpcGFkcmVzJywKICAnQnJpbmcgRm9yd2FyZCcgPT4gJ0JyZW5nIG5hYXIgdm9yZW4nLAogICdCcm8sIG5vdCBzdXJlIGhvdyB5b3UgZ290IGhlcmUhJyA9PiAnSG9lIGtvbXQgdSBpbiBoZW1lbHNuYWFtIGhpZXIgdGVyZWNodD8nLAogICdCdWlsdCcgPT4gJ09udHdpa2tlbGQnLAogICdCdWlsdC1JbicgPT4gJ0luZ2Vib3V3ZCcsCiAgJ0J1aWx0LWluIEZvcm1zJyA9PiAnSW5nZWJvdXdkZSBmb3JtdWxpZXJlbicsCiAgJ0NBUFRDSEEgVGV4dCcgPT4gJ0NBUFRDSEEgdGVrc3QnLAogICdDTEknID0+ICdPcGRyYWNodHJlZ2VsIChDTEkpJywKICAnQ2FuIENyZWF0ZSBUaWNrZXRzIDxlbT4oWE1ML0pTT04vRU1BSUwpPC9lbT4nID0+ICdLYW4gVGlja2V0cyBhYW5tYWtlbiA8ZW0+KFhNTC9KU09OL0VNQUlMKTwvZW0+JywKICAnQ2FuIEV4ZWN1dGUgQ3JvbicgPT4gJ0thbiBDcm9uIHVpdHZvZXJlbicsCiAgJ0NhbmNlbCcgPT4gJ0FubnVsZXJlbicsCiAgJ0NhbmNlbCBDaGFuZ2VzJyA9PiAnV2lqemlnaW5nZW4gYW5udWxlcmVuJywKICAnQ2FubmVkIEF0dGFjaG1lbnRzJyA9PiAnU3RhbmRhYXJkIGJpamxhZ2VuJywKICAnQ2FubmVkIEF1dG8tcmVwbHkgc2VudCB0byB1c2VyIG9uIG5ldyB0aWNrZXQsIGJhc2VkIG9uIGZpbHRlciBtYXRjaGVzLiBPdmVyd3JpdGVzICJub3JtYWwiIGF1dG8tcmVzcG9uc2UuJyA9PiAnU3RhbmRhYXJkIEF1dG8tYW50d29vcmQgdmVyem9uZGVuIG5hYXIgZGUgZ2VicnVpa2VyIGJpaiBlZW4gbmlldXcgdGlja2V0LCBnZWJhc2VlcmQgb3AgZmlsdGVyb3ZlcmVlbmtvbXN0ZW4uIE92ZXJzY2hyaWpmdCAibm9ybWFsZSIgYXV0by1hbnR3b29yZGVuLicsCiAgJ0Nhbm5lZCBSZXNwb25zZScgPT4gJ1N0YW5kYWFyZCBhbnR3b29yZGVuJywKICAnQ2FubmVkIFJlc3BvbnNlcycgPT4gJ1N0YW5kYWFyZCBhbnR3b29yZGVuJywKICAnQ2FubmVkIHJlc3BvbnNlIGlzIGluIHVzZSBieSBlbWFpbCBmaWx0ZXIocyknID0+ICdWb29yZ2VkZWZpbmllZXJkIGFudHdvb3JkIGlzIGluIGdlYnJ1aWsgZG9vciBlbWFpbCBmaWx0ZXIocyknLAogICdDYW5uZWQgcmVzcG9uc2Ugc2V0dGluZ3MnID0+ICdWb29yZ2VkZWZpbmVlcmRlIGFudHdvb3JkZW4gaW5zdGVsbGluZ2VuJywKICAnQ2Fubm90IGNvbXBpbGUgdGhpcyByZWd1bGFyIGV4cHJlc3Npb24nID0+ICdLYW4gZGV6ZSByZWd1bGFpcmUgZXhwcmVzc2llIG5pZXQgY29tcGlsZXJlbicsCiAgJ0NhdGVnb3JpZXMnID0+ICdDYXRlZ29yaWXDq24nLAogICdDYXRlZ29yeScgPT4gJ0NhdGVnb3JpZScsCiAgJ0NhdGVnb3J5IERlc2NyaXB0aW9uJyA9PiAnQ2F0ZWdvcmllIG9tc2NocmlqdmluZycsCiAgJ0NhdGVnb3J5IEluZm9ybWF0aW9uJyA9PiAnQ2F0ZWdvcmllIGluZm9ybWF0aWUnLAogICdDYXRlZ29yeSBMaXN0aW5nJyA9PiAnQ2F0ZWdvcmllIGxpanN0ZW4nLAogICdDYXRlZ29yeSBOYW1lJyA9PiAnQ2F0ZWdvcmllIE5hYW0nLAogICdDYXRlZ29yeSBUeXBlJyA9PiAnQ2F0ZWdvcmllIHR5cGUnLAogICdDYXRlZ29yeSBhbHJlYWR5IGV4aXN0cycgPT4gJ0NhdGVnb3JpZSBiZXN0YWF0IGFsJywKICAnQ2F0ZWdvcnkgZGVzY3JpcHRpb24gaXMgcmVxdWlyZWQnID0+ICdDYXRlZ29yaWViZXNjaHJpanZpbmcgaXMgdmVyZWlzdCcsCiAgJ0NhdGVnb3J5IGRvZXMgbm90IGhhdmUgRkFRcycgPT4gJ0RlemUgY2F0ZWdvcmllIGhlZWZ0IGdlZW4gRkFRcycsCiAgJ0NhdGVnb3J5IGlzIHJlcXVpcmVkJyA9PiAnQ2F0ZWdvcmllIGlzIHZlcmVpc3QnLAogICdDYXRlZ29yeSBuYW1lIGlzIHJlcXVpcmVkJyA9PiAnQ2F0ZWdvcmllbmFhbSBpcyB2ZXJlaXN0JywKICAnQ2hhbmdlJyA9PiAnV2lqemlnZW4nLAogICdDaGFuZ2UgRGVwYXJ0bWVudCcgPT4gJ1ZlcmFuZGVyIHZhbiBhZmRlbGluZycsCiAgJ0NoYW5nZSBPd25lcicgPT4gJ1ZlcmFuZGVyIGVpZ2VuYWFyJywKICAnQ2hhbmdlIFBhc3N3b3JkJyA9PiAnV2lqemlnIHdhY2h0d29vcmQnLAogICdDaGFuZ2UgUHJpbWFyeSBEZXBhcnRtZW50JyA9PiAnVmVyYW5kZXIgcHJpbWFpcmUgYWZkZWxpbmcnLAogICdDaGFuZ2UgU3RhdHVzJyA9PiAndmVyYW5kZXIgc3RhdHVzJywKICAnQ2hhbmdlIFN0YXR1cyAmbWRhc2g7ICUxJGQgJTIkcyBzZWxlY3RlZCcgPT4gJ1ZlcmFuZGVyIHN0YXR1cyAmbWRhc2g7ICUxJGQgJTIkcyBnZXNlbGVjdGVlcmQnLAogICdDaGFuZ2UgVGFza3MgU3RhdHVzJyA9PiAnVmVyYW5kZXIgU3RhdHVzIHZhbiBUYWtlbicsCiAgJ0NoYW5nZSBUaWNrZXRzIE93bmVyc2hpcCcgPT4gJ1ZlcmFuZGVyIGVpZ2VuZG9tIHZhbiB0aWNrZXQnLAogICdDaGFuZ2UgVGlja2V0cyBTdGF0dXMnID0+ICdWZXJhbmRlciBkZSB0aWNrZXRzdGF0dXMnLAogICdDaGFuZ2UgVXNlcicgPT4gJ3ZlcmFuZGVyIGdlYnJ1aWtlcicsCiAgJ0NoYW5nZSBwZXJtaXNzaW9uIG9mIG9zdC1jb25maWcucGhwIHRvIHJlbW92ZSB3cml0ZSBhY2Nlc3MgYXMgc2hvd24gYmVsb3cuJyA9PiAndmVyYW5kZXIgZGUgcGVybWlzc2llcyB2YW4gb3N0LWNvbmZpZy5waHAsIG9tIGRlIHNjaHJpamZiZXZlaWxpZ2luZyB3ZWVyIHRlIGFjdGl2ZXJlbiwgYWxzIG9uZGVyc3RhYW5kLicsCiAgJ0NoYW5nZSB0aGUgcHJpbWFyeSBkZXBhcnRtZW50IGFuZCBwcmltYXJ5IHJvbGUgb2YgdGhlIHNlbGVjdGVkIGFnZW50cycgPT4gJ1ZlcmFuZGVyIGRlIHByaW1haXJlIGFmZGVsaW5nIGVuIHByaW1haXJlIHJvbCB2YW4gZGUgZ2VzZWxlY3RlZXJkZSBhZ2VudGVuJywKICAnQ2hhbmdlIHVzZXIgZm9yIHRpY2tldCAjJXMnID0+ICdXaWp6aWcgZ2VicnVpa2VyIHZvb3IgdGlja2V0ICMlcycsCiAgJ0NoYW5naW5nIEVtYWlsIEFkZHJlc3Mgd2lsbCBpbnZhbGlkYXRlcyBzZXQgQ3JlZGVudGlhbHMnID0+ICdIZXQgd2lqemlnZW4gdmFuIGhldCBlLW1haWxhZHJlcyBtYWFrdCBkZSBpbmdlc3RlbGRlIGdlZ2V2ZW5zIG9uZ2VsZGlnJywKICAnQ2hhbmdpbmcgT2F1dGgyIHByb3ZpZGVyIHdpbGwgb3ZlcndyaXRlIGV4aXN0aW5nIGNyZWRlbnRpYWxzJyA9PiAnSGV0IHdpanppZ2VuIHZhbiBkZSBPQXV0aDIgcHJvdmlkZXIgb3ZlcnNjaHJpamZ0IGRlIGJlc3RhYW5kZSBnZWdldmVucycsCiAgJ0NoZWNrIFRpY2tldCBTdGF0dXMnID0+ICdDb250cm9sZWVyIHRpY2tldCBzdGF0dXMnLAogICdDaGVjayBhcHBsaWNhYmxlIEFQSSBzZXJ2aWNlcyBlbmFibGVkIGZvciB0aGUga2V5LicgPT4gJ0NvbnRyb2xlZXIgZGUgYmlqYmVob3JlbmRlIEFQSSBzZXJ2aWNlcyBiaWogZGV6ZSBzbGV1dGVsLicsCiAgJ0NoZWNrIGNvbHVtbnMgdG8gZXhwb3J0JyA9PiAnS29sb21tZW4gc2VsZWN0ZXJlbiBvbSB0ZSBleHBvcnRlcmVuJywKICAnQ2hlY2sgb25lIG9yIG1vcmUnID0+ICdLaWVzIDEgb2YgbWVlcicsCiAgJ0NoZWNrYm94JyA9PiAnU2VsZWN0aWUgdmFrJywKICAnQ2hvaWNlcycgPT4gJ0tldXplcycsCiAgJ0Nob29zZSBtYXhpbXVtIHNpemUgb2YgYSBzaW5nbGUgZmlsZSB1cGxvYWRlZCB0byB0aGlzIGZpZWxkJyA9PiAnS2llcyBkZSBtYXhpbWFsZSBncm9vdHRlIHZhbiBlZW4gZW5rZWwgYmVzdGFuZCBkYXQgZ2XDvHBsb2FkIG1hZyB3b3JkZW4gdm9vciBkaXQgdmVsZCcsCiAgJ0NsYWltJyA9PiAnT3Zlcm5lbWVuJywKICAnQ2xhaW0gb24gUmVzcG9uc2UnID0+ICdJbmhvdWQgdmFuIGhldCB0aWNrZXQgIG1lZXN0dXJlbiBiaWogaGV0IGFudHdvb3JkJywKICAnQ2xlYW5pbmcgdXAhLi4uJyA9PiAnQmV6aWcgbWV0IG9wc2Nob25lbiEuLi4uLi4nLAogICdDbGVhciBhbGwgZmlsdGVycyBhbmQgc29ydCcgPT4gJ0hlZiBhbGxlIGxpbWlldGVuIG9wIGVuIHNvcnRlZXInLAogICdDbGljayBvbiB0aGUgY2F0ZWdvcnkgdG8gYnJvd3NlIEZBUXMgb3IgbWFuYWdlIGl0cyBleGlzdGluZyBGQVFzLicgPT4gJ0tsaWsgb3AgZGUgY2F0ZWdvcmllIG9tIGRvb3IgZGUgb25kZXJsaWdnZW5kZSB2ZWVsZ2VzdGVsZGUgdnJhZ2VuIHRlIGJsYWRlcmVuIG9mIG9tIGRlIGJlc3RhYW5kZSB2ZWVsZ2VzdGVsZGUgdnJhZ2VuIHRlIGJlaGVyZW4uJywKICAnQ2xpY2sgb24gdGhlIGNhdGVnb3J5IHRvIGJyb3dzZSBGQVFzLicgPT4gJ0tsaWsgb3AgZWVuIGNhdGVnb3JpZSBvbSBkb29yIGRlIHZyYWdlbiB0ZSBibGFkZXJlbi4nLAogICdDbGljayBvbiB0aGUgZmlsZSwgc2VsZWN0IGNoYW5nZSBwZXJtaXNzaW9uLCBhbmQgdGhlbiBnaXZpbmcgYWxsIHBlcm1pc3Npb25zIHRvIHRoZSBmaWxlLicgPT4gJ0tsaWsgb3AgaGV0IGJlc3RhbmQsIGtpZXMgdm9vciBwZXJtaXNzaWVzIHdpanppZ2VuLCB1IGt1bnQgZGFuIGFsbGUgdG9lZ2FuZyB0b3QgaGV0IGJlc3RhbmQgb3BlbiB6ZXR0ZW4uJywKICAnQ2xpY2sgb24gdGhlIGZpbGUsIHNlbGVjdCBjaGFuZ2UgcGVybWlzc2lvbiwgYW5kIHRoZW4gcmVtb3ZlIHdyaXRlIGFjY2Vzcy4nID0+ICdLbGlrIG9wIGhldCBiZXN0YW5kLCBzZWxlY3RlZXIgXCd2ZXJhbmRlciBwZXJtaXNzaWVzXCcgZW4gdmVyd2lqZGVyIGRlIHNjaHJpamZ0b2VnYW5nLicsCiAgJ0NsaWNrIG9uIHRoZSB0aXRsZSB0byBlZGl0LicgPT4gJ0tsaWsgb3AgZGUgdGl0ZWwgb20gdGUgYmV3ZXJrZW4uJywKICAnQ2xpY2sgdG8gY3JlYXRlIGEgbmV3IG5vdGUnID0+ICdLbGlrIGhpZXIgb20gZWVuIG5pZXV3ZSBub3RpdGllIHRlIG1ha2VuJywKICAnQ2xpY2tpbmcgPHN0cm9uZz5TYXZlIENoYW5nZXM8L3N0cm9uZz4gd2lsbCBwZXJtYW5lbnRseSBkZWxldGUgZGF0YSBhc3NvY2lhdGVkIHdpdGggdGhlIGRlbGV0ZWQgZm9ybXMnID0+ICdBbHMgdSBvcCA8U3Ryb25nPlNsYSB3aWp6aWdpbmdlbiBvcDwvc3Ryb25nPiBrbGlrdCwgemFsIGFsbGUgYWFuIGhldCB0aWNrZXQgZ2Vrb3BwZWxkZSBpbmZvcm1hdGllIHBlcm1hbmVudCB2ZXJkd2lqbmVuJywKICAnQ2xpZW50JyA9PiAnS2xhbnQnLAogICdDbGllbnQgUG9ydGFsJyA9PiAnQ2xpZW50IFBvcnRhYWwnLAogICdDbGllbnQgUXVpY2sgQWNjZXNzJyA9PiAnU25lbHRvZWdhbmcnLAogICdDbGllbnQgaW50ZXJmYWNlIGlzIGRpc2FibGVkIGFuZCBPTkxZIGFkbWlucyBjYW4gYWNjZXNzIHN0YWZmIGNvbnRyb2wgcGFuZWwuJyA9PiAnRGUgZ2VicnVpa2Vyc3BvcnRhYWwgaXMgdWl0Z2VzY2hha2VsZCwgYWxsZWVuIGJlaGVlcmRlcnMga3VubmVuIGlubG9nZ2VuLicsCiAgJ0Nsb25lIGFuIGV4aXN0aW5nIGFnZW50JyA9PiAnS29waWVlciBlZW4gYmVzdGFhbmRlIGFnZW50JywKICAnQ2xvbmUgYW4gZXhpc3Rpbmcgcm9sZScgPT4gJ0tvcGllZXIgZWVuIGJlc3RhYW5kZSByb2wnLAogICdDbG9zZScgPT4gJ1NsdWl0ZW4nLAogICdDbG9zZSBEYXRlJyA9PiAnU2x1aXRpbmdzZGF0dW0nLAogICdDbG9zZSBUYXNrICMlcycgPT4gJ1NsdWl0IHRhYWsgIyVzJywKICAnQ2xvc2VkJyA9PiAnR2VzbG90ZW4nLAogICdDbG9zZWQgQnknID0+ICdHZXNsb3RlbiBkb29yJywKICAnQ2xvc2VkIERhdGUnID0+ICdTbHVpdGRhdHVtJywKICAnQ2xvc2VkIFRpY2tldHMnID0+ICdHZXNsb3RlbiB0aWNrZXRzJywKICAnQ2xvc2VkIGJ5IDxiPntzb21lYm9keX08L2I+IHdpdGggc3RhdHVzIG9mIHs8VGlja2V0U3RhdHVzPmRhdGEuc3RhdHVzfSB7dGltZXN0YW1wfScgPT4gJ0dlc2xvdGVuIGRvb3IgPGI+e3NvbWVib2R5fTwvYj4gbWV0IHN0YXR1czogezxUaWNrZXRTdGF0dXM+ZGF0YS5zdGF0dXN9IHt0aW1lc3RhbXB9JywKICAnQ2xvc2VkIGJ5IDxiPntzb21lYm9keX08L2I+IHt0aW1lc3RhbXB9JyA9PiAnR2VzbG90ZW4gZG9vciA8Yj57c29tZWJvZHl9PC9iPiB7dGltZXN0YW1wfScsCiAgJ0NvbGxhYm9yYXRvcicgPT4gJ1NhbWVud2Vya2VyJywKICAnQ29sbGFib3JhdG9yIENvdW50JyA9PiAnQWFudGFsIHNhbWVud2Vya2VycycsCiAgJ0NvbGxhYm9yYXRvciBUaWNrZXRzIFZpc2liaWxpdHknID0+ICdaaWNodGJhYXIgdm9vciBzYW1lbndlcmtlcnMnLAogICdDb2xsYWJvcmF0b3JzJyA9PiAnRGVlbG5lbWVycycsCiAgJ0NvbGxhYm9yYXRvcnMgKCVkKScgPT4gJ0RlZWxuZW1lcnMgKCVkKScsCiAgJ0NvbGxhYm9yYXRvcnMgZm9yIHs8T3JnYW5pemF0aW9uPmRhdGEub3JnfSBvcmdhbml6YXRpb24gYWRkZWQnID0+ICdTYW1lbndlcmtlcnMgdm9vciB7PE9yZ2FuaXphdGlvbj5kYXRhLm9yZ30gb3JnYW5pc2F0aWUgdG9lZ2V2b2VnZCcsCiAgJ0NvbGxpc2lvbiBBdm9pZGFuY2UgRHVyYXRpb24nID0+ICdEdXVyIHZhbiBkZSBjb2xsaXNpb252ZXJtaWpkaW5nJywKICAnQ29sdW1ucycgPT4gJ0tvbG9tbWVuJywKICAnQ29tbWVyY2lhbCBTdXBwb3J0IEF2YWlsYWJsZScgPT4gJ0NvbW1lcmNpZWxlIG9uZGVyc3RldW5pbmcgYmVzY2hpa2JhYXInLAogICdDb21tb24gQXR0YWNobWVudHMnID0+ICdWb29yZ2VkZWZpbmVlcmRlIGJpamxhZ2VzJywKICAnQ29tbXVuaWNhdGlvbicgPT4gJ0NvbW11bmljYXRpZScsCiAgJ0NvbXBhbnknID0+ICdPcmdhbmlzYXRpZScsCiAgJ0NvbXBhbnkgSW5mb3JtYXRpb24nID0+ICdCZWRyaWpmc2dlZ2V2ZW5zJywKICAnQ29tcGFueSBQcm9maWxlJyA9PiAnQmVkcmlqZnNwcm9maWVsJywKICAnQ29tcGxldGUgdGhlIGZvcm0gYmVsb3cgdG8gYWRkIGEgbmV3IG9yZ2FuaXphdGlvbi4nID0+ICdWdWwgb25kZXJzdGFhbmQgZm9ybXVsaWVyIGluIG9tIGVlbiBvcmdhbmlzYXRpZSB0b2UgdGUgdm9lZ2VuLicsCiAgJ0NvbXBsZXRlIHRoZSBmb3JtIGJlbG93IHRvIGNyZWF0ZSBhIHVzZXIgYWNjb3VudCBmb3IgPGI+JXM8L2I+LicgPT4gJ1Z1bCBoZXQgb25kZXJzdGFhbmRlIGZvcm11bGllciBpbiBvbSBlZW4gYWNjb3VudCB2b29yIDxiPiAlcyA8L2I+IHRlIG1ha2VuLicsCiAgJ0NvbXBsZXRlZCcgPT4gJ0FmZ2Vyb25kJywKICAnQ29tcGxldGVkIFRhc2tzJyA9PiAnQWZnZXJvbmRlIHRha2VuJywKICAnQ29uZmlnJyA9PiAnSW5zdGVsbGluZ2VuJywKICAnQ29uZmlnIFNpZ25hdHVyZScgPT4gJ0NvbmZpZ3VyYXRpZSBoYW5kdGVrZW5pbmcnLAogICdDb25maWcgZmlsZSBwZXJtaXNzaW9uJyA9PiAnaW5zdGVsbGluZ2VuYmVzdGFuZCBwZXJtaXNzaWVzJywKICAnQ29uZmlnIGZpbGUgcmVuYW1lIHJlcXVpcmVkIHRvIGNvbnRpbnVlIScgPT4gJ2Jlc3RhbmRzbmFhbSB2YW4gaW5zdGVsbGluZ2VuYmVzdGFuZCB2ZXJwbGljaHQgb20gdmVyZGVyIHRlIGdhYW4hJywKICAnQ29uZmlndXJhdGlvbiBmaWxlIGRvZXMgTk9UIGV4aXN0LiBGb2xsb3cgc3RlcHMgYmVsb3cgdG8gYWRkIG9uZS4nID0+ICdIZXQgaW5zdGVsbGluZ2VuYmVzdGFuZCBiZXN0YWF0IE5JRVQuIFZvbGcgb25kZXJzdGFhbmRlIGluc3RydWN0aWVzIG9tIGRpdCBiZXN0YW5kIHRlIG1ha2VuLicsCiAgJ0NvbmZpZ3VyYXRpb24gZmlsZSBpcyBub3Qgd3JpdGFibGUnID0+ICdIZXQgaW5zdGVsbGluZ2VuYmVzdGFuZCBpcyBuaWV0IHNjaHJpamZiYWFyJywKICAnQ29uZmlndXJhdGlvbiBmaWxlIG1pc3NpbmchJyA9PiAnQ29uZmlndXJhdGllYmVzdGFuZCBvbnZpbmRiYWFyIScsCiAgJ0NvbmZpZ3VyYXRpb24gZmlsZSByZW5hbWUgcmVxdWlyZWQhJyA9PiAnSGV0IGlzIG5vb2R6YWtlbGlqayBvbSB1dyBjb25maWd1cmF0aWViZXN0YW5kIHRlIGhlcm5vZW1lbiEnLAogICdDb25maWd1cmF0aW9uIGZvciBkZWxldGVkIHBsdWdpbnMgQ0FOTk9UIGJlIHJlY292ZXJlZC4nID0+ICdDb25maWd1cmF0aWUgdm9vciB2ZXJ3aWpkZXJkZSBwbHVnaW5zIGthbiBuaWV0IHdvcmRlbiBoZXJzdGVsZC4nLAogICdDb25maWd1cmUgQXV0aGVudGljYXRpb24nID0+ICdDb25maWd1cmVlciBhdXRoZW50aWNhdGllJywKICAnQ29uZmlndXJlIE1haWxib3ggQXV0aGVudGljYXRpb24nID0+ICdDb25maWd1cmVlciBtYWlsYm94dmVyaWZpY2F0aWUnLAogICdDb25maWd1cmUgT3B0aW9ucycgPT4gJ09wdGllcyBjb25maWd1cmVyZW4nLAogICdDb25maXJtIE5ldyBQYXNzd29yZCcgPT4gJ0JldmVzdGlnIG5pZXV3IHdhY2h0d29vcmQnLAogICdDb25maXJtIFBhc3N3b3JkJyA9PiAnQmV2ZXN0aWcgd2FjaHR3b29yZCcsCiAgJ0NvbmZpcm0geW91ciBjdXJyZW50IHBhc3N3b3JkIGFuZCBlbnRlciBhIG5ldyBwYXNzd29yZCB0byBjb250aW51ZScgPT4gJ0JldmVzdGlnIHV3IGh1aWRpZ2Ugd2FjaHR3b29yZCBlbiB2b2VyIHV3IG5pZXV3ZSB3YWNodHdvb3JkIGluIG9tIGRvb3IgdGUgZ2FhbicsCiAgJ0NvbmZpcm1hdGlvbiBzZW50IHRvIHVzZXIgd2hlbiBhIG5ldyBtZXNzYWdlIGlzIGFwcGVuZGVkIHRvIGFuIGV4aXN0aW5nIHRpY2tldC4nID0+ICdCZXZlc3RpZ2luZyBkaWUgdmVyem9uZGVuIHdvcmR0IGFhbiBkZSBnZWJydWlrZXIgaW5kaWVuIGVlbiBuaWV1dyBiZXJpY2h0IGlzIHRvZWdldm9lZ2QgYWFuIGVlbiBiZXN0YWFuZCB0aWNrZXQuJywKICAnQ29uZmxpY3RzIHdpdGggc3lzdGVtIGVtYWlsIGFib3ZlJyA9PiAnQ29uZmxpY3RlZXJ0IG1ldCBoZXQgc3lzdGVlbSBlLW1haWxhZHJlcyBoaWVyYm92ZW4nLAogICdDb25ncmF0dWxhdGlvbnMhJyA9PiAnR2VmZWxpY2l0ZWVyZCEnLAogICdDb25ncmF0dWxhdGlvbnMhIG9zVGlja2V0IHVwZ3JhZGUgaGFzIGJlZW4gY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4nID0+ICdHZWZlbGljaXRlZXJkISBvc1RpY2tldCBpcyBzdWNjZXN2b2wgYmlqZ2V3ZXJrdC4nLAogICdDb250YWN0IFVzJyA9PiAnQ29udGFjdCBvbnMnLAogICdDb250YWN0IGFkbWluIGZvciBzdWNoIGFjY2VzcycgPT4gJ0NvbnRhY3RlZXIgZGUgYWRtaW5pc3RyYXRvciB2b29yIGRlcmdlbGlqa2UgdG9lZ2FuZycsCiAgJ0NvbnRhaW5zJyA9PiAnQmV2YXQnLAogICdDb250ZW50JyA9PiAnSW5ob3VkJywKICAnQ29udGludWUnID0+ICdEb29yZ2FhbicsCiAgJ0NvcHkgUGFzdGUnID0+ICdLb3BpZXJlbiBwbGFra2VuJywKICAnQ29weXJpZ2h0JyA9PiAnQ29weXJpZ2h0JywKICAnQ29ycmVjdCBhbnkgZXJyb3JzIGJlbG93IGFuZCB0cnkgYWdhaW4nID0+ICdDb3JyaWdlZXIgZGUgZm91dGVuIGhpZXJvbmRlciBlbiBwcm9iZWVyIG9wbmlldXcnLAogICdDb3JyZWN0IGFueSBlcnJvcnMgYmVsb3cgYW5kIHRyeSBhZ2Fpbi4nID0+ICdWZXJiZXRlciBvbmRlcnN0YWFuZGUgZm91dGVuIGVuIHByb2JlZXIgb3BuaWV1dy4nLAogICdDb3JyZXNwb25kaW5nIFJvbGUnID0+ICdPdmVyZWVua29tc3RpZ2Ugcm9sJywKICAnQ291bGQgbm90IGZpbmQgb3IgcmVhZCB0aGlzIGZpbGUnID0+ICdCZXN0YW5kIG5pZXQgZ2V2b25kZW4gb2Ygb25sZWVzYmFhcicsCiAgJ0Nvd2FyZGx5IHJlZnVzaW5nIHRvIHJlbW92ZSBvciBsb2NrIG91dCB0aGUgb25seSBhY3RpdmUgYWRtaW5pc3RyYXRvcicgPT4gJ0xhZmZlIHdlaWdlcmluZyB0b3QgaGV0IHZlcndpamRlcmVuIG9mIGJsb2trZXJlbiB2YW4gZGUgZW5pZ2UgYWN0aWV2ZSBiZWhlZXJkZXInLAogICdDcGFuZWwnID0+ICdDcGFuZWwnLAogICdDcmVhdGUnID0+ICdBYW5tYWtlbicsCiAgJ0NyZWF0ZSBBY2NvdW50JyA9PiAnTWFhayBhY2NvdW50IGFhbicsCiAgJ0NyZWF0ZSBEYXRlJyA9PiAnQWFubWFha2RhdHVtJywKICAnQ3JlYXRlIERlcHQnID0+ICdNYWFrIGFmZGVsaW5nJywKICAnQ3JlYXRlIE5ldyBPcmdhbml6YXRpb24nID0+ICdNYWFrIGVlbiBuaWV1d2Ugb3JnYW5pc2F0aWUnLAogICdDcmVhdGUgTmV3IFRpY2tldCcgPT4gJ01hYWsgZWVuIG5pZXV3IHRpY2tldCcsCiAgJ0NyZWF0ZSBOZXcgVXNlcicgPT4gJ0NyZcOrZXIgbmlldXdlIGdlYnJ1aWtlcicsCiAgJ0NyZWF0ZSBUYXNrJyA9PiAnVGFhayBhYW5tYWtlbicsCiAgJ0NyZWF0ZSBUZWFtJyA9PiAnTWFhayB0ZWFtJywKICAnQ3JlYXRlIFRpY2tldCcgPT4gJ1RpY2tldCBhYW5tYWtlbicsCiAgJ0NyZWF0ZSBhIFBhc3N3b3JkJyA9PiAnTWFhayBuaWV1dyB3YWNodHdvb3JkJywKICAnQ3JlYXRlIGFuIGFjY291bnQnID0+ICdFZW4gYWNjb3VudCBhYW5tYWtlbicsCiAgJ0NyZWF0ZWQnID0+ICdBYW5nZW1hYWt0JywKICAnQ3JlYXRlZCBPbicgPT4gJ0dlbWFha3Qgb3AnLAogICdDcmVhdGVkIGJ5IDxiPntzb21lYm9keX08L2I+IHt0aW1lc3RhbXB9JyA9PiAnR2VtYWFrdCBkb29yIDxiPntzb21lYm9keX08L2I+IHt0aW1lc3RhbXB9JywKICAnQ3JlYXRvcicgPT4gJ0F1dGV1cicsCiAgJ0NyZWRlbnRpYWxzJyA9PiAnR2VnZXZlbnMnLAogICdDcml0ZXJpYScgPT4gJ0NyaXRlcmlhJywKICAnQ3JvbiBKb2InID0+ICdDcm9udGFhaycsCiAgJ0Nyb24gam9iIGV4ZWN1dGVkJyA9PiAnQ3JvbnRhYWsgdWl0Z2V2b2VyZCcsCiAgJ0N1cnJlbnQgUGFzc3dvcmQnID0+ICdIdWlkaWcgd2FjaHR3b29yZCcsCiAgJ0N1cnJlbnQgU3RhdHVzJyA9PiAnSHVpZGlnZSBzdGF0dXMnLAogICdDdXJyZW50IHBhc3N3b3JkIGlzIHJlcXVpcmVkJyA9PiAnSHVpZGlnIHdhY2h0d29vcmQgaXMgdmVyZWlzdCcsCiAgJ0N1cnJlbnQgdGlja2V0IHN0YXR1cyAoJXMpIGRvZXMgbm90IGFsbG93IHRoZSBlbmQgdXNlciB0byByZXBseS4nID0+ICdEZSBodWlkaWdlIHN0YXR1cyAoJXMpICB2YW4gZGl0IHRpY2tldCBzdGFhdCBoZXQgZWVuIGVpbmRnZWJydWlrZXIgbmlldCB0b2Ugb20gdGUgcmVhZ2VyZW4uJywKICAnQ3VycmVudGx5IGxvY2tlZCBieSAlcycgPT4gJ09wIGRpdCBtb21lbnQgaW4gZ2VicnVpayBkb29yICVzJywKICAnQ3VycmVudGx5IHNlbGVjdGVkIHVzZXInID0+ICdIdWlkaWdlIGdlYnJ1aWtlcicsCiAgJ0N1c3RvbScgPT4gJ0FhbmdlcGFzdCcsCiAgJ0N1c3RvbSAoUmVndWxhciBFeHByZXNzaW9uKScgPT4gJ1ZyaWplIGluZ2F2ZSAocmVndWxhaXJlIGV4cHJlc3NpZSknLAogICdDdXN0b20gRm9ybXMnID0+ICdBYW5nZXBhc3RlIGZvcm11bGllcmVuJywKICAnQ3VzdG9tIExpc3RzJyA9PiAnQWFuZ2VwYXN0ZSBsaWpzdGVuJywKICAnQ3VzdG9tIGxpc3RzIGFyZSB1c2VkIHRvIHByb3ZpZGUgZHJvcC1kb3duIGxpc3RzIGZvciBjdXN0b20gZm9ybXMuJyA9PiAnQWFuZ2VwYXN0ZSBsaWpzdGVuIHdvcmRlbiBnZWJydWlrdCBvbSBrZXV6ZWxpanN0ZW4gdGUgYmllZGVuIG9wIGFhbmdlcGFzdGUgZm9ybXVsaWVyZW4uJywKICAnQ3VzdG9tZXIgU3VwcG9ydCBTeXN0ZW0nID0+ICdLbGFudGVuIEhlbHBkZXNrJywKICAnREVCVUcnID0+ICdPbnRjaWpmZXJlbiAoREVCVUcpJywKICAnRGFzaGJvYXJkJyA9PiAnRGFzaGJvYXJkJywKICAnRGF0YSBJbnRlZ3JpdHknID0+ICdEYXRhIGluZWdyaXRlaXQnLAogICdEYXRhIGlzIHJlcXVpcmVkIGluIHRoaXMgZmllbGQgaW4gb3JkZXIgdG8gY2xvc2UgdGhlIHJlbGF0ZWQgdGlja2V0JyA9PiAnR2VnZXZlbnMgemlqbiB2ZXJwbGljaHQgaW4gZGl0IHZlbGQgb20gZWVuIGdlcmVsYXRlZXJkIHRpY2tldCB0ZSBrdW5uZW4gc2x1aXRlbicsCiAgJ0RhdGFiYXNlIEluZm9ybWF0aW9uIGFuZCBVc2FnZScgPT4gJ0RhdGFiYXNlIGluZm9ybWF0aWUgZW4gZ2VicnVpaycsCiAgJ0RhdGFiYXNlIFNldHRpbmdzJyA9PiAnRGF0YWJhc2UgaW5zdGVsbGluZ2VuJywKICAnRGF0YWJhc2UgY29ubmVjdGlvbiBpbmZvcm1hdGlvbicgPT4gJ0RhdGFiYXNlIGNvbm5lY3RpZSBnZWdldmVucycsCiAgJ0RhdGFiYXNlIGRvZXNuXCd0IGV4aXN0JyA9PiAnRGF0YWJhc2UgYmVzdGFhdCBuaWV0JywKICAnRGF0YWJhc2UgbmFtZSByZXF1aXJlZCcgPT4gJ0RhdGFiYXNlIG5hYW0gdmVyZWlzdCcsCiAgJ0RhdGUnID0+ICdEYXR1bScsCiAgJ0RhdGUgQWRkZWQnID0+ICdEYXR1bSB0b2VnZXZvZWdkJywKICAnRGF0ZSBDbG9zZWQnID0+ICdTbHVpdGRhdHVtJywKICAnRGF0ZSBDcmVhdGVkJyA9PiAnQWFubWFha2RhdHVtJywKICAnRGF0ZSBGb3JtYXQnID0+ICdEYXR1bWZvcm1hYXQnLAogICdEYXRlIEluc3RhbGxlZCcgPT4gJ0luc3RhbGxhdGllZGF0dW0nLAogICdEYXRlIGFuZCBUaW1lJyA9PiAnRGF0dW0gZW4gdGlqZCcsCiAgJ0RhdGUgYW5kIFRpbWUgRm9ybWF0JyA9PiAnRGF0dW0gZW4gVGlqZGZvcm1hYXQnLAogICdEYXRlIGFuZCBUaW1lIE9wdGlvbnMnID0+ICdEYXR1bSBlbiBUaWpkIG9wdGllcycsCiAgJ0RhdGUgY3JlYXRlZCcgPT4gJ0Fhbm1hYWtkYXR1bScsCiAgJ0RhdGUgZm9ybWF0IGlzIHJlcXVpcmVkJyA9PiAnRGF0dW1ub3RhdGllIGlzIHZlcmVpc3QnLAogICdEYXRldGltZSBmb3JtYXQgaXMgcmVxdWlyZWQnID0+ICdEYXR1bS9UaWpkIG5vdGF0aWUgaXMgdmVyZWlzdCcsCiAgJ0RheSwgRGF0ZSBhbmQgVGltZSBGb3JtYXQnID0+ICdEYWcsIERhdHVtIGVuIFRJamRmb3JtYWF0JywKICAnRGF5LCBEYXRldGltZSBmb3JtYXQgaXMgcmVxdWlyZWQnID0+ICdEYWcsIERhdHVtL1RpamQgbm90YXRpZSBpcyB2ZXJlaXN0JywKICAnRGVidWcgbG9ncycgPT4gJ1VpdGdlYnJlaWRlIHN5c3RlZW1tZWxkaW5nZW4gKGRlYnVnKScsCiAgJ0RlZmF1bHQnID0+ICdTdGFuZGFhcmQnLAogICdEZWZhdWx0IDJGQScgPT4gJ1N0YW5kYWFyZCAyRkEnLAogICdEZWZhdWx0IEFsZXJ0IEVtYWlsJyA9PiAnU3RhbmRhYXJkIGUtbWFpbGFkcmVzIHZvb3IgbWVsZGluZ2VuJywKICAnRGVmYXVsdCBEZXBhcnRtZW50JyA9PiAnU3RhbmRhYXJkIGFmZGVsaW5nJywKICAnRGVmYXVsdCBEZXBhcnRtZW50IGlzIHJlcXVpcmVkJyA9PiAnU3RhbmRhYXJkIEFmZGVsaW5nIGlzIHZlcnBsaWNodCcsCiAgJ0RlZmF1bHQgRW1haWwnID0+ICdTdGFuZGFhcmQgZS1tYWlsYWRyZXMnLAogICdEZWZhdWx0IEZyb20gTmFtZScgPT4gJ1N0YW5kYWFyZCBWYW4gbmFhbScsCiAgJ0RlZmF1bHQgSGVscCBUb3BpYycgPT4gJ1N0YW5kYWFyZCBoZWxwb25kZXJ3ZXJwJywKICAnRGVmYXVsdCBMb2NhbGUnID0+ICdTdGFuZGFhcmQgSW5kZWxpbmdlbicsCiAgJ0RlZmF1bHQgTG9nIExldmVsJyA9PiAnU3RhbmRhYXJkIExvZ25pdmVhdScsCiAgJ0RlZmF1bHQgTVRBJyA9PiAnU3RhbmRhYXJkIE1haWxzZXJ2ZXInLAogICdEZWZhdWx0IFBhZ2UgU2l6ZScgPT4gJ1N0YW5kYWFyZCBwYWdpbmFncm9vdHRlJywKICAnRGVmYXVsdCBQYXBlciBTaXplJyA9PiAnU3RhbmRhYXJkIHBhcGllcmZvcm1hYXQnLAogICdEZWZhdWx0IFByaW9yaXR5JyA9PiAnU3RhbmRhYXJkcHJpb3JpdGVpdCcsCiAgJ0RlZmF1bHQgU0xBJyA9PiAnU3RhbmRhYXJkIFNMQScsCiAgJ0RlZmF1bHQgU2lnbmF0dXJlJyA9PiAnU3RhbmRhYXJkaGFuZHRla2VuaW5nJywKICAnRGVmYXVsdCBTdGF0dXMnID0+ICdTdGFuZGFhcmQgc3RhdHVzJywKICAnRGVmYXVsdCBTeXN0ZW0gRW1haWwnID0+ICdTdGFuZGFhcmQgc3lzdGVlbSBlLW1haWwnLAogICdEZWZhdWx0IFRhc2sgTnVtYmVyIEZvcm1hdCcgPT4gJ1N0YW5kYWFyZCBUYWFrIG51bW1lciBmb3JtYWF0JywKICAnRGVmYXVsdCBUYXNrIE51bWJlciBTZXF1ZW5jZScgPT4gJ1N0YW5kYWFyZCB0YWFrIG51bW1lcmluZycsCiAgJ0RlZmF1bHQgVGVtcGxhdGUgU2V0JyA9PiAnU3RhbmRhYXJkIHRlbXBsYXRlIHNldCcsCiAgJ0RlZmF1bHQgVGhhbmstWW91IFBhZ2UnID0+ICdTdGFuZGFhcmQgZGFua3BhZ2luYScsCiAgJ0RlZmF1bHQgVGlja2V0IE51bWJlciBGb3JtYXQnID0+ICdTdGFuZGFhcmQgdGlja2V0bnVtbWVyIGZvcm1hYXQnLAogICdEZWZhdWx0IFRpY2tldCBOdW1iZXIgU2VxdWVuY2UnID0+ICdTdGFuZGFhcmQgdGlja2V0bnVtbWVyc2VxdWVudGllJywKICAnRGVmYXVsdCBUaWNrZXQgUXVldWUnID0+ICdTdGFuZGFhcmQgdGlja2V0b3ZlcnppY2h0JywKICAnRGVmYXVsdCBUaW1lIFpvbmUnID0+ICdTdGFuZGFhcmQgdGlqZHN6b25lJywKICAnRGVmYXVsdCBUaW1lem9uZSBpcyByZXF1aXJlZCcgPT4gJ1N0YW5kYWFyZCBUaWpkem9uZSBpcyB2ZXJlaXN0JywKICAnRGVmYXVsdCBlbWFpbCBhZGRyZXNzJyA9PiAnU3RhbmRhYXJkIGVtYWlsYWRyZXMnLAogICdEZWZhdWx0IGVtYWlsIGFkZHJlc3MgZS5nIHN1cHBvcnRAeW91cmNvbXBhbnkuY29tIC0geW91IGNhbiBhZGQgbW9yZSBsYXRlciEnID0+ICdTdGFuZGFhcmQgZS1tYWlsYWRyZXMgKGJpanYgc3VwcG9ydEBiZWRyaWpmLm5sKS4gVSBrdW50IGVyIGxhdGVyIG5vZyBtZWVyIHRvZXZvZWdlbiEnLAogICdEZWZhdWx0IGVtYWlsIGFkZHJlc3Mgb2YgdGlja2V0IG93bmVyJyA9PiAnU3RhbmRhYXJkIGVtYWlsYWRyZXMgdmFuIGRlIHRpY2tldC1laWdlbmFhcicsCiAgJ0RlZmF1bHQgZW1haWwgaXMgcmVxdWlyZWQnID0+ICdTdGFuZGFhcmQgZS1tYWlsIGFkcmVzIGlzIHZlcmVpc3QnLAogICdEZWZhdWx0IGVtYWlsIG9ubHkgYXBwbGllcyB0byBvdXRnb2luZyBlbWFpbHMgd2l0aG91dCBTTVRQIHNldHRpbmcuJyA9PiAnU3RhbmRhYXJkIGVtYWlsIChoZWVmdCBhbGxlZW4gYmV0cmVra2luZyBvcCB1aXRnYWFuZGUgZW1haWwgem9uZGVyIGRlIFNNVFAgaW5zdGVsbGluZykuJywKICAnRGVmYXVsdCBoZWxwIHRvcGljIG11c3QgYmUgc2V0IHRvIGFjdGl2ZScgPT4gJ1N0YW5kYWFyZCBoZWxwIG9uZGVyd2VycCBtb2V0IHdvcmRlbiBpbmdlc3RlbGQgb3AgYWN0aWVmJywKICAnRGVmYXVsdCBzZWxlY3Rpb24gZm9yIHRoaXMgZmllbGQnID0+ICdTdGFuZGFhcmQgc2VsZWN0aWUgdm9vciBkaXQgaW52b2VyIHZlbGQnLAogICdEZWZpbml0aW9uJyA9PiAnRGVmaW5pdGllJywKICAnRGVmdW5jdCAtIG1pc3NpbmcnID0+ICdEZWZlY3QgLSBvbnRicmVla3QnLAogICdEZWxldGUnID0+ICdWZXJ3aWpkZXJlbicsCiAgJ0RlbGV0ZSAlMSRzICUyJHMgJTMkcyBhbmQgYW55IGFzc29jaWF0ZWQgYXR0YWNobWVudHMgYW5kIGRhdGEuJyA9PiAnVmVyd2lqZGVyICUxJHMgJTIkcyAlMyRzIGVuIGFsbGUgYmlqYmVob3JlbmRlIGJpamxhZ2VzIGVuIGdlZ2V2ZW5zLicsCiAgJ0RlbGV0ZSAlcycgPT4gJ1ZlcndpamRlciAlcycsCiAgJ0RlbGV0ZSBDYXRlZ29yeScgPT4gJ1ZlcndpamRlciBDYXRlZ29yaWUnLAogICdEZWxldGUgRHJhZnQnID0+ICdWZXJ3aWpkZXIgY29uY2VwdCcsCiAgJ0RlbGV0ZSBGQVEnID0+ICdWZXJ3aWpkZXIgRkFRJywKICAnRGVsZXRlIE9yZ2FuaXphdGlvbicgPT4gJ3ZlcndpamRlciBvcmdhbmlzYXRpZScsCiAgJ0RlbGV0ZSBTZWxlY3RlZCBFbnRyaWVzJyA9PiAnVmVyd2lqZGVyIGdlc2VsZWN0ZWVyZGUgaXRlbXMnLAogICdEZWxldGUgVGFza3MnID0+ICdWZXJ3aWpkZXIgdGFrZW4nLAogICdEZWxldGUgVGlja2V0JyA9PiAnVmVyd2lqZGVyIHRpY2tldCcsCiAgJ0RlbGV0ZSBVc2VyJyA9PiAnVmVyd2lqZGVyIGdlYnJ1aWtlcicsCiAgJ0RlbGV0ZSBlbWFpbHMnID0+ICdWZXJ3aWpkZXJkZSBlLW1haWxzJywKICAnRGVsZXRlZCcgPT4gJ1ZlcndpamRlcmQnLAogICdEZWxldGVkIFF1ZXVlcyBjYW5ub3QgYmUgcmVjb3ZlcmVkJyA9PiAnVmVyd2lqZGVyZGUgcmlqZW4ga3VubmVuIG5pZXQgaGVyc3RlbGQgd29yZGVuJywKICAnRGVsZXRlZCBkYXRhIENBTk5PVCBiZSByZWNvdmVyZWQsIGluY2x1ZGluZyBhbnkgYXNzb2NpYXRlZCBGQVFzLicgPT4gJ1ZlcndpamRlcmRlIGRhdGEga2FuIG5pZXQgaGVyc3RlbGQgd29yZGVuLCBpbmNsdXNpZWYgYmlqYmVob3JlbmRlIEZBUXMuJywKICAnRGVsZXRlZCBkYXRhIENBTk5PVCBiZSByZWNvdmVyZWQsIGluY2x1ZGluZyBhbnkgYXNzb2NpYXRlZCBhdHRhY2htZW50cy4nID0+ICdWZXJ3aWpkZXJkZSBnZWdldmVucyBrdW5uZW4gTklFVCB3b3JkZW4gdGVydWdnZWhhYWxkLCBpbmNsdXNpZWYgYmlqYmVob3JlbmRlIGJpamxhZ2VzLicsCiAgJ0RlbGV0ZWQgZGF0YSBDQU5OT1QgYmUgcmVjb3ZlcmVkLCBpbmNsdWRpbmcgYW55IGFzc29jaWF0ZWQgcnVsZXMuJyA9PiAnVmVyd2lqZGVyZGUgZ2VnZXZlbnMga3VubmVuIG5pZXQgd29yZGVuIGhlcnN0ZWxkLCBtZXQgaW5iZWdyaXAgdmFuIGFsbGUgYmlqYmVob3JlbmRlIHJlZ2Vscy4nLAogICdEZWxldGVkIGRhdGEgQ0FOTk9UIGJlIHJlY292ZXJlZC4nID0+ICdWZXJ3aWpkZXJkZSBnZWdldmVucyBrdW5uZW4gbmlldCB3b3JkZW4gaGVyc3RlbGQuJywKICAnRGVsZXRlZCBvcmdhbml6YXRpb24gQ0FOTk9UIGJlIHJlY292ZXJlZCcgPT4gJ0VlbiB2ZXJ3aWpkZXJkZSBvcmdhbmlzYXRpZSBrYW4gbmlldCBoZXJzdGVsZCB3b3JkZW4nLAogICdEZWxldGVkIHJvbGVzIENBTk5PVCBiZSByZWNvdmVyZWQuJyA9PiAnVmVyd2lqZGVyZGUgcm9sbGVuIGt1bm5lbiBOSUVUIHRlcnVnZ2VoYWFsZCB3b3JkZW4uJywKICAnRGVsZXRlZCB0YXNrcyBDQU5OT1QgYmUgcmVjb3ZlcmVkLCBpbmNsdWRpbmcgYW55IGFzc29jaWF0ZWQgYXR0YWNobWVudHMuJyA9PiAnVmVyd2lqZGVyZGUgdGFrZW4gKGVuIGh1biBiaWpiZWhvcmVuZGUgYmlqbGFnZXMpIGt1bm5lbiBuaWV0IHRlcnVnZ2VoYWFsZCB3b3JkZW4uJywKICAnRGVsZXRlZCB0aWNrZXRzIENBTk5PVCBiZSByZWNvdmVyZWQsIGluY2x1ZGluZyBhbnkgYXNzb2NpYXRlZCBhdHRhY2htZW50cy4nID0+ICdWZXJ3aWpkZXJkZSB0aWNrZXRzLCBpbmNsdXNpZWYgYmlqYmVob3JlbmRlIGJpamxhZ2VuLCBrdW5uZW4gTklFVCBoZXJzdGVsZCB3b3JkZW4uJywKICAnRGVsZXRlZCB1c2VycyBhbmQgdGlja2V0cyBDQU5OT1QgYmUgcmVjb3ZlcmVkJyA9PiAnVmVyd2lqZGVyZGUgZ2VicnVpa2VycyBlbiB0aWNrZXRzIGt1bm5lbiBuaWV0IHRlcnVnZ2VoYWFsZCB3b3JkZW4nLAogICdEZXBhcnRtZW50JyA9PiAnQWZkZWxpbmcnLAogICdEZXBhcnRtZW50IEVtYWlsJyA9PiAnQWZkZWxpbmdzIEVtYWlsJywKICAnRGVwYXJ0bWVudCBJbmZvcm1hdGlvbicgPT4gJ0FmZGVsaW5nc2luZm9ybWF0aWUnLAogICdEZXBhcnRtZW50IE1hbmFnZXInID0+ICdBZmRlbGluZ3NiZWhlZXJkZXInLAogICdEZXBhcnRtZW50IE1lbWJlcnMnID0+ICdBZmRlbGluZ3NsZWRlbicsCiAgJ0RlcGFydG1lbnQgTmFtZSAoJXMpJyA9PiAnQWZkZWxpbmdzbmFhbSAoJXMpJywKICAnRGVwYXJ0bWVudCBTaWduYXR1cmUnID0+ICdBZmRlbGluZ3MtaGFuZHRla2VuaW5nJywKICAnRGVwYXJ0bWVudCBTaWduYXR1cmUgKCVzKScgPT4gJ0FmZGVsaW5nc2hhbmR0ZWtlbmluZyAoJXMpJywKICAnRGVwYXJ0bWVudCBhbHJlYWR5IGV4aXN0cycgPT4gJ0FmZGVsaW5nIGJlc3RhYXQgYWwnLAogICdEZXBhcnRtZW50IGFuZCBleHRlbmRlZCBhY2Nlc3MgbWVtYmVycycgPT4gJ0FmZGVsaW5nIGVuIHVpdGdlYnJlaWRlIHRvZWdhbmdzbWVkZXdlcmtlcnMnLAogICdEZXBhcnRtZW50IGlzIHJlcXVpcmVkJyA9PiAnQWZkZWxpbmcgaXMgdmVyZWlzdCcsCiAgJ0RlcGFydG1lbnQgbWVtYmVycyBvbmx5JyA9PiAnQWxsZWVuIGFmZGVsaW5nc2xlZGVuJywKICAnRGVwYXJ0bWVudCBzZWxlY3Rpb24gaXMgcmVxdWlyZWQnID0+ICdTZWxlY3RpZSB2YW4gRGVwYXJ0ZW1lbnQgdmVyZWlzdCcsCiAgJ0RlcGFydG1lbnQgc2VsZWN0aW9uIHJlcXVpcmVkJyA9PiAnU2VsZWN0ZXJlbiB2YW4gZGUgYWZkZWxpbmcgaXMgdmVyZWlzdCcsCiAgJ0RlcGFydG1lbnRcJ3MgRGVmYXVsdCcgPT4gJ0FmZGVsaW5nc3N0YW5kYWFyZCcsCiAgJ0RlcGFydG1lbnRzJyA9PiAnQWZkZWxpbmdlbicsCiAgJ0RlcGFydG1lbnRzIHdpdGggYWdlbnRzIGNhbiBub3QgYmUgZGVsZXRlZC4gTW92ZSB0aGUgYWdlbnRzIGZpcnN0LicgPT4gJ0FmZGxlaW5nZW4gbWV0IGFnZW50ZW4ga3VubmVuIG5pZXQgd29yZGVuIHZlcndpamRlcmQsIHZlcmh1aXMgZGUgYWdlbnRlbiBlZXJzdCBuYWFyIGVlbiBhbmRlcmUgYWZkZWxpbmcuJywKICAnRGVzY2VuZGluZycgPT4gJ0FmbG9wZW5kJywKICAnRGVzY3JpcHRpb24nID0+ICdCZXNjaHJpanZpbmcnLAogICdEaWFnbm9zdGljJyA9PiAnRGlhZ25vc2UnLAogICdEaXNhYmxlJyA9PiAnVWl0c2NoYWtlbGVuJywKICAnRGlzYWJsZSBBZ2VudCBDb2xsYWJvcmF0b3JzJyA9PiAnTWVkZXdlcmtlcnMgdWl0c2NoYWtlbGVuJywKICAnRGlzYWJsZSBhdXRvcmVzcG9uc2UnID0+ICdBdXRvbWF0aXNjaCBhbnR3b29yZGJlcmljaHQgdWl0c2NoYWtlbGVuJywKICAnRGlzYWJsZWQnID0+ICdJbmFjdGllZicsCiAgJ0Rpc2FibGVkIOKAlCBBbGwgdXNlcnMgYXJlIGd1ZXN0cycgPT4gJ1VpdGdlc2NoYWtlbGQgLS0gQWxsZSBnZWJydWlrZXJzIHppam4gZ2FzdGdlYnJ1aWtlcnMnLAogICdEaXNhYmxpbmcga25vd2xlZGdlIGJhc2UgZGlzYWJsZXMgY2xpZW50c1wnIGludGVyZmFjZS4nID0+ICdIZXQgdWl0c2NoYWtlbGVuIHZhbiBkZSBrZW5uaXNkYXRhYmFzZSBzY2hha2VsdCBvb2sgZGUgY2xpZW50LWludGVyZmFjZSB1aXQuJywKICAnRGlzcGF0Y2hlciBjb21waWxlIGVycm9yLiBGdW5jdGlvbiBub3QgY2FsbGFibGUnID0+ICdBZmhhbmRlbCBjb21waWxlZXIgZm91dC4gRnVuY3RpZSBuaWV0IG9wdnJhYWdiYWFyJywKICAnRGlzcGxheSBmb3JtYXQnID0+ICdXZWVyZ2F2ZS1pbmRlbGluZycsCiAgJ0RvIE5vdCBFbWFpbCBSZXBseScgPT4gJ0RpdCBhbnR3b29yZCBuaWV0IHZpYSBlbWFpbCB2ZXJzdHVyZW4nLAogICdEbyBOb3RoaW5nJyA9PiAnRG9lIG5pZXRzJywKICAnRG9lcyBOb3QgQ29udGFpbicgPT4gJ0JldmF0IGdlZW4nLAogICdEb2VzIE5vdCBNYXRjaCBSZWdleCcgPT4gJ1ZvbGRvZXQgbmlldCBhYW4gcmVnZXgnLAogICdEb2luZyBzdHVmZiEnID0+ICdCZXppZyEnLAogICdEb21haW4nID0+ICdEb21laW4nLAogICdEb25cJ3QganVzdCBtYWtlIGN1c3RvbWVycyBoYXBweSwgbWFrZSBoYXBweSBjdXN0b21lcnMhJyA9PiAnTWFhayBrbGFudGVuIG5pZXQgZ2VsdWtraWcsIHpvcmcgdm9vciBnZWx1a2tpZ2Uga2xhbnRlbiEnLAogICdEb25cJ3QgbGV0IHRlY2huaWNhbCBwcm9ibGVtcyBpbXBhY3QgeW91ciBvc1RpY2tldCBpbXBsZW1lbnRhdGlvbi4gR2V0IGd1aWRhbmNlIGFuZCBoYW5kcy1vbiBleHBlcnRpc2UgdG8gYWRkcmVzcyB1bmlxdWUgY2hhbGxlbmdlcyBhbmQgbWFrZSBzdXJlIHlvdXIgb3NUaWNrZXQgcnVucyBzbW9vdGhseSwgZWZmaWNpZW50bHksIGFuZCBzZWN1cmVseS4nID0+ICdMYWF0IHRlY2huaXNjaGUgcHJvYmxlbWVuIG5pZXQgdmFuIGludmxvZWQgemlqbiBvcCB1dyBpbXBsZW1lbnRhdGllIHZhbiBvc1RpY2tldC4gVnJhYWcgaHVscCBlbiBleHBlcnRpc2Ugb20gc3BlY2lmaWVrZSBwcm9ibGVtZW4gYWFuIHRlIHBha2tlbiBvbSBvc1RpY2tldCBzb2VwZWwsIGVmZmljaWVudCBlbiB2ZWlsaWcgdGUgbGF0ZW4gZHJhYWllbi4nLAogICdEb25cJ3Qgd29ycnkhIFdlXCdsbCByZW1pbmQgeW91IHRvIHRha2UgYXdheSB0aGUgd3JpdGUgYWNjZXNzIHBvc3QtaW5zdGFsbCcgPT4gJ01hYWsgdSBnZWVuIHpvcmdlbiwgd2UgenVsbGVuIHUgZGV6ZSBzY2hyaWpmdG9lZ2FuZyBuYSBpbnN0YWxsYXRpZSBsYXRlbiB1aXRzY2hha2VsZW4nLAogICdEb25lPyBDb250aW51ZScgPT4gJ1ZvbHRvb2lkPyAgR2EgdmVyZGVyJywKICAnRG91YmxlJyA9PiAnRHViYmVsJywKICAnRG93bmxvYWQnID0+ICdkb3dubG9hZCcsCiAgJ0RyYWZ0IGJvZHkgbm90IGZvdW5kIGluIHJlcXVlc3QnID0+ICdOb3RpdGlldGVrc3QgbmlldCBnZXZvbmRlbiBpbiB2ZXJ6b2VrJywKICAnRHJvcCBEb3duJyA9PiAnRHJvcCBEb3duJywKICAnRHJvcCBmaWxlcyBoZXJlIG9yICVzIGNob29zZSB0aGVtICVzJyA9PiAnU2xlZXAgaGllciBiZXN0YW5kZW4gbmFhciB0b2Ugb2YgJXMga2llcyB6ZSAlcycsCiAgJ0R1ZSBEYXRlJyA9PiAnVmVydmFsZGF0dW0nLAogICdEdWUgZGF0ZSBjYW4gTk9UIGJlIHNldCBvbiBhIGNsb3NlZCB0aWNrZXQnID0+ICdWZXJ2YWxkYXR1bSBrYW4gTklFVCB3b3JkZW4gaW5nZXN0ZWxkIG9wIGVlbiBnZXNsb3RlbiB0aWNrZXQnLAogICdEdWUgZGF0ZSBtdXN0IGJlIGluIHRoZSBmdXR1cmUnID0+ICdWZXJ2YWxkYXR1bSBtb2V0IGluIGRlIHRvZWtvbXN0IHppam4nLAogICdEdWUgZGF0ZSBvdmVycmlkZXMgU0xBXCdzIGdyYWNlIHBlcmlvZC4nID0+ICdEZSB2ZXJsb29wZGF0dW0gb3ZlcnNjaHJlaWR0IGRlIHRlcm1pam4gZGllIGluIGRlIFNMQSBpcyBhZmdlc3Byb2tlbi4nLAogICdEeW5hbWljIEZpZWxkcycgPT4gJ0R5bmFtaXNjaGUgdmVsZGVuJywKICAnRVJST1InID0+ICdGT1VUJywKICAnRWFybGllc3QnID0+ICdWcm9lZ3N0ZScsCiAgJ0VhcmxpZXN0IGRhdGUgc2VsZWN0YWJsZScgPT4gJ0VlcnN0IG1vZ2VsaWprZSB0ZSBzZWxlY3RlcmVuIGRhdHVtJywKICAnRWRpdCcgPT4gJ0Jld2VyaycsCiAgJ0VkaXQgQ2F0ZWdvcnknID0+ICdXaWp6aWcgQ2F0ZWdvcmllJywKICAnRWRpdCBGQVEnID0+ICdCZXdlcmsgRkFRJywKICAnRWRpdCBUaHJlYWQnID0+ICdCZXdlcmsgUmVla3MnLAogICdFZGl0IFRocmVhZCBFbnRyeScgPT4gJ1dpanppZyBEaXNjdXNzaWUgaW5nYXZlJywKICAnRWRpdCBUaWNrZXQnID0+ICdCZXdlcmsgdGlja2V0JywKICAnRWRpdGFibGUnID0+ICdXaWp6aWdiYWFyJywKICAnRWRpdGVkJyA9PiAnQmV3ZXJrdCcsCiAgJ0VkaXRlZCBvbiAlcyBieSAlcycgPT4gJ0Jld2Vya3Qgb3AgJXMgZG9vciAlcycsCiAgJ0VkaXRpbmcgVGlja2V0ICMlcycgPT4gJ1RpY2tldCAjJXMgYmV3ZXJrZW4nLAogICdFZGl0b3IgU3BhY2luZycgPT4gJ0VkaXRvciBBZnN0YW5kJywKICAnRW1haWwgJXMgYWRkZWQgdG8gYmFubGlzdCcgPT4gJ0hldCBlLW1haWxhZHJlcyAlcyBpcyB0b2VnZXZvZWdkIGFhbiBkZSBibG9ra2FkZWxpanN0JywKICAnRW1haWwgKCVzKScgPT4gJ0UtbWFpbCAoJXMpJywKICAnRW1haWwgQWNjZXNzIExpbmsnID0+ICdTdHV1ciBsaW5rIHZvb3IgdG9lZ2FuZycsCiAgJ0VtYWlsIEFkZHJlc3MnID0+ICdFLW1haWxhZHJlcycsCiAgJ0VtYWlsIEFkZHJlc3MgTmFtZScgPT4gJ05hYW0gRW1haWxhZHJlcycsCiAgJ0VtYWlsIEFkZHJlc3Mg4oCUIGUuZy4gbWVAbXljb21wYW55LmNvbScgPT4gJ0UtbWFpbGFkcmVzLCBiaWp2LjogamFuQGthYmVsa3JhbnQubmwnLAogICdFbWFpbCBBZGRyZXNzZXMnID0+ICdFLW1haWxhZHJlc3NlbicsCiAgJ0VtYWlsIERpYWdub3N0aWMnID0+ICdFLW1haWwgZGlhZ25vc2UnLAogICdFbWFpbCBEb21haW4nID0+ICdFbWFpbGRvbWVpbicsCiAgJ0VtYWlsIEZldGNoaW5nJyA9PiAnRS1tYWlsIG9waGFsZW4nLAogICdFbWFpbCBJbmZvcm1hdGlvbiBhbmQgU2V0dGluZ3MnID0+ICdFbWFpbCBpbmZvcm1hdGllIGVuIGluc3RlbGxpbmdlbicsCiAgJ0VtYWlsIE1haWxib3gnID0+ICdFbWFpbCBNYWlsYm94JywKICAnRW1haWwgTWV0YS1EYXRhJyA9PiAnRS1tYWlsIE1ldGEtRGF0YScsCiAgJ0VtYWlsIE5hbWUnID0+ICdFbWFpbCBuYWFtJywKICAnRW1haWwgUmVjaXBpZW50cycgPT4gJ0UtbWFpbC1vbnR2YW5nZXJzJywKICAnRW1haWwgU2V0dGluZ3MnID0+ICdFbWFpbCBpbnN0ZWxsaW5nZW4nLAogICdFbWFpbCBTZXR0aW5ncyBhbmQgT3B0aW9ucycgPT4gJ0VtYWlsIGluc3RlbGxpbmdlbiBlbiBvcHRpZXMnLAogICdFbWFpbCBTdWJqZWN0IGFuZCBCb2R5JyA9PiAnRS1tYWlsIE9uZGVyd2VycCBlbiBCZXJpY2h0JywKICAnRW1haWwgVGVtcGxhdGUgU2V0JyA9PiAnRS1tYWlsc2phYmxvb24gaW5zdGVsbGluZ2VuJywKICAnRW1haWwgVGVtcGxhdGUgU2V0cycgPT4gJ0UtbWFpbHNqYWJsb29uIGluc3RlbGxpbmdlbicsCiAgJ0VtYWlsIFRlbXBsYXRlcycgPT4gJ0UtbWFpbHNqYWJsb25lbicsCiAgJ0VtYWlsIGFkZHJlc3MgYWRkZWQgdG8gYmFuIGxpc3Qgc3VjY2Vzc2Z1bGx5JyA9PiAnRS1tYWlsYWRyZXMgc3VjY2Vzdm9sIHRvZWdldm9lZ2QgYWFuIGRlIGJsb2trYWRlbGlqc3QnLAogICdFbWFpbCBhbHJlYWR5IGV4aXN0cycgPT4gJ0UtbWFpbGFkcmVzIGJlc3RhYXQgYWwnLAogICdFbWFpbCBhbHJlYWR5IGluIGJhbmxpc3QnID0+ICdEaXQgZS1tYWlsYWRyZXMgc3RhYXQgcmVlZHMgb3AgZGUgYmxva2thZGVsaWpzdCcsCiAgJ0VtYWlsIGFscmVhZHkgaW4gdGhlIGJhbiBsaXN0JyA9PiAnRS1tYWlsIGFkcmVzIHJlZWRzIGFhbndlemlnIGluIGRlIGJsb2trYWRlbGlqc3QnLAogICdFbWFpbCBhbHJlYWR5IGluIHVzZSBieSBhbm90aGVyIGFnZW50JyA9PiAnRS1tYWlsIGlzIGFsIGluIGdlYnJ1aWsgZG9vciBlZW4gYW5kZXJlIG1lZGV3ZXJrZXInLAogICdFbWFpbCBhbHJlYWR5IHJlZ2lzdGVyZWQuIFdvdWxkIHlvdSBsaWtlIHRvICUxJHMgc2lnbiBpbiAlMiRzPycgPT4gJ0UtbWFpbCBhbCBnZXJlZ2lzdHJlZXJkLiBXaWx0IHUgJTEkcyBpbmxvZ2dlbiAlMiRzPycsCiAgJ0VtYWlsIGFscmVhZHkgc2V0dXAgYXMgc3lzdGVtIGVtYWlsJyA9PiAnRS1tYWlsIGFsIGluZ2VzdGVsZCBhbHMgc3lzdGVlbSBlLW1haWwnLAogICdFbWFpbCBhbHJlYWR5IHVzZWQgYXMgYWRtaW4gZW1haWwhJyA9PiAnRS1tYWlsYWRyZXMgYWwgZ2VicnVpa3QgYWxzIGFkbWluIGUtbWFpbCEnLAogICdFbWFpbCBhdHRhY2htZW50cyB0byB0aGUgdXNlcicgPT4gJ1N0dXVyIGJpamxhZ2VuIG5hYXIgZGUgZ2VicnVpa2VyJywKICAnRW1haWwgaW4gdXNlIGJ5IGFuIGFnZW50JyA9PiAnRS1tYWlsIGluIGdlYnJ1aWsgZG9vciBlZW4gbWVkZXdlcmtlcicsCiAgJ0VtYWlsIGlzIGFzc2lnbmVkIHRvIGFub3RoZXIgdXNlcicgPT4gJ0UtbWFpbCB0b2VnZXdlemVuIGFhbiBlZW4gYW5kZXJlIGdlYnJ1aWtlcicsCiAgJ0VtYWlsIGlzIGluIGJhbmxpc3QhIE11c3QgYmUgcmVtb3ZlZCBiZWZvcmUgYW55IHJlcGx5L3Jlc3BvbnNlJyA9PiAnRGl0IGUtbWFpbGFkcmVzIHN0YWF0IG9wIGRlIGJsb2trYWRlbGlqc3QuIEhldCBlLW1haWxhZHJlcyBtb2V0IGRhYXJ2YW4gd29yZGVuIGFmZ2VoYWFsZCBhbHZvcmVucyB3ZSBrdW5uZW4gcmVhZ2VyZW4nLAogICdFbWFpbCBpcyBpbiBiYW5saXN0LiBNdXN0IGJlIHJlbW92ZWQgdG8gcmVwbHkuJyA9PiAnRS1tYWlsYWRyZXMgc3RhYXQgb3AgZGUgYmxva2xpanN0LiBEZXplIG1vZXQgZWVyc3Qgd29yZGVuIHZlcndpamRlcmQgYWx2b3JlbnMgZXIga2FuIHdvcmRlbiBnZXJlYWdlZXJkLicsCiAgJ0VtYWlsIGlzIG5vdCBpbiB0aGUgYmFubGlzdCcgPT4gJ0UtbWFpbGFkcmVzIHN0YWF0IG5pZXQgb3AgZGUgYmxva2thZGVsaWpzdCcsCiAgJ0VtYWlsIGxvb3AgZGV0ZWN0ZWQnID0+ICdFLW1haWwgbHVzIGdlZGV0ZWN0ZWVyZCcsCiAgJ0VtYWlsIG5hbWUgcmVxdWlyZWQnID0+ICdFLW1haWxuYWFtIHZlcmVpc3QnLAogICdFbWFpbCBvciBVc2VybmFtZScgPT4gJ0UtbWFpbCBvZiBnZWJydWlrZXJzbmFhbScsCiAgJ0VtYWlsIHBhcnNlIGZhaWxlZCcgPT4gJ0hldCBwYXJzZXJlbiB2YW4gZS1tYWlsIGlzIG1pc2x1a3QKJywKICAnRW1haWwgcmVtb3ZlZCBmcm9tIGJhbmxpc3QnID0+ICdFLW1haWxhZHJlcyB1aXQgZGUgYmxva2thZGVsaWpzdCBnZWhhYWxkJywKICAnRW1haWwgdGVtcGxhdGVzIG11c3QgZGVmaW5lIGJvdGggInN1YmplY3QiIGFuZCAiYm9keSIgcGFydHMgb2YgdGhlIHRlbXBsYXRlJyA9PiAnRW1haWwgdGVtcGxhdGVzIG1vZXRlbiB6b3dlbCAib25kZXJ3ZXJwIiBhbHMgImluaG91ZCIgdmFuIGRlIHRlbXBsYXRlIGJldmF0dGVuJywKICAnRW1haWxlZCBUaWNrZXRzIFByaW9yaXR5JyA9PiAnR2VtYWlsZWQgVGlja2V0IFByaW9yaXRlaXQnLAogICdFbWFpbHMnID0+ICdFLW1haWxzJywKICAnRW1haWxzIFBlciBGZXRjaCcgPT4gJ0UtbWFpbHMgcGVyIG9waGFsaW5nJywKICAnRW1wdHknID0+ICdMZWVnJywKICAnRW5hYmxlJyA9PiAnSW5zY2hha2VsZW4nLAogICdFbmFibGUgQXR0YWNobWVudHMnID0+ICdTY2hha2VsIGJpamxhZ2VuIGluJywKICAnRW5hYmxlIENBUFRDSEEgb24gbmV3IHdlYiB0aWNrZXRzLicgPT4gJ1pldCBDQVBUQ0hBIChhbnRpc3BhbSkgYWFuIGJpaiBoZXQgaW5zdHVyZW4gdmFuIG5pZXV3ZSB0aWNrZXRzLicsCiAgJ0VuYWJsZSBDYW5uZWQgUmVzcG9uc2VzJyA9PiAnU2NoYWtlbCB2b29yZ2VkZWZpbmllZXJkZSByZWFjdGllcyBpbicsCiAgJ0VuYWJsZSBLbm93bGVkZ2UgQmFzZScgPT4gJ1NjaGFrZWwgZGUga2VubmlzZGF0YWJhc2UgaW4nLAogICdFbmFibGUgUmljaCBUZXh0JyA9PiAnU2NoYWtlbCB0ZWtzdG9wbWFhayAoUlRGKSBpbicsCiAgJ0VuYWJsZSBodG1sIGluIHRocmVhZCBlbnRyaWVzIGFuZCBlbWFpbCBjb3JyZXNwb25kZW5jZS4nID0+ICdIVE1MIHRvZXN0YWFuIGluIGRpc2N1c3NpZSBpbmdhdmVzIGVuIGVtYWlsIGJlcmljaHRlbi4nLAogICdFbmFibGUgdXNlIG9mIGF1dGhlbnRpY2F0aW9uIHRva2VucyB0byBhdXRvLWxvZ2luIHVzZXJzJyA9PiAnQXV0aGVudGljYXRpZXRva2VucyBvbSBnZWJydWlrZXJzIGF1dG9tYXRpc2NoIGFhbiB0ZSBsb2dnZW4gYWFuemV0dGVuJywKICAnRW5hYmxlZCcgPT4gJ0luZ2VzY2hha2VsZCcsCiAgJ0VuYWJsZXMgYXR0YWNobWVudHMsIHJlZ2FyZGxlc3Mgb2YgY2hhbm5lbCcgPT4gJ1NjaGFrZWwgYmlqbGFnZSBpbiwgb25nZWFjaHQgaGVya29tc3QnLAogICdFbmQnID0+ICdFaW5kZScsCiAgJ0VuZFVzZXIgZW1haWwgYWRkcmVzcyBpcyBub3QgdmFsaWQhIENvbnNpZGVyIHVwZGF0aW5nIGl0IGJlZm9yZSByZXNwb25kaW5nJyA9PiAnRS1tYWlsYWRyZXMgZWluZGdlYnJ1aWtlciBpcyBuaWV0IGdlbGRpZyEgT3ZlcndlZWcgb20gaGV0IHRlIHVwZGF0ZW4gYWx2b3JlbnMgZWVuIHJlYWN0aWUgdGUgZ2V2ZW4nLAogICdFbmRzIFdpdGgnID0+ICdFaW5kaWd0IG1ldCcsCiAgJ0VudGVyIGEgbmV3IHBhc3N3b3JkJyA9PiAnVm9lciBlZW4gbmlldXcgd2FjaHR3b29yZCBpbicsCiAgJ0VudGVyIGEgbmV3IHBhc3N3b3JkIHRvIGNoYW5nZSBjdXJyZW50IG9uZScgPT4gJ1ZvZXIgZWVuIG5pZXV3IHdhY2h0d29vcmQgaW4gb20gaGV0IGh1aWRpZ2UgdGUgd2lqemlnZW4nLAogICdFbnRlciBhIG51bWJlcicgPT4gJ1ZvZXIgZWVuIG51bW1lciBpbicsCiAgJ0VudGVyIGEgcGhvbmUgbnVtYmVyIGZvciB0aGUgZXh0ZW5zaW9uJyA9PiAnVm9lciBlZW4gdGVsZWZvb25udW1tZXIgaW4gdm9vciBkZSBleHRlbnNpZScsCiAgJ0VudGVyIGEgdmFsaWQgSVAgYWRkcmVzcycgPT4gJ1ZvZXIgZWVuIGdlbGRpZyBJUC1hZHJlcyBpbicsCiAgJ0VudGVyIGEgdmFsaWQgZGF0ZScgPT4gJ0dlZWYgZWVuIGdlbGRpZ2UgZGF0dW0gb3AnLAogICdFbnRlciBhIHZhbGlkIGVtYWlsIGFkZHJlc3MnID0+ICdWb2VyIGVlbiBnZWxkaWcgZS1tYWlsYWRyZXMgaW4nLAogICdFbnRlciBhIHZhbGlkIGVtYWlsIGRvbWFpbiwgbGlrZSBkb21haW4uY29tJyA9PiAnVm9vciBlZW4gZ2VsZGlnIGUtbWFpbCBkb21laW4gaW4sIHpvYWxzIGRvbWVpbi5jb20nLAogICdFbnRlciBhIHZhbGlkIHBob25lIGV4dGVuc2lvbicgPT4gJ0dlZWYgZWVuIGdlbGRpZyB0ZWxlZm9vbi1leHRlbnNpZSBpbicsCiAgJ0VudGVyIGEgdmFsaWQgcGhvbmUgbnVtYmVyJyA9PiAnVm9lciBlZW4gZ2VsZGlnIHRlbGVmb29ubnVtbWVyIGluJywKICAnRW50ZXIgbG9jayB0aW1lIGluIG1pbnV0ZXMnID0+ICdWb2VyIGxvY2sgdGlqZCBpbiBtaW51dGVuIGluJywKICAnRW50ZXIgb25lIG5hbWUgYW5kIGFiYnJldmlhdGlvbiBwZXIgbGluZS4nID0+ICdWdWwgw6nDqW4gbmFhbSBlbiBhZmtvcnRpbmcgcGVyIGxpam4gaW4uJywKICAnRW50ZXIgb25lIG5hbWUgYW5kIGVtYWlsIGFkZHJlc3MgcGVyIGxpbmUuJyA9PiAnVm9lciBtYXhpbWFhbCAxIG5hYW0gZW4gZS1tYWlsYWRyZXMgcGVyIHJlZ2VsLicsCiAgJ0VudGVyIHRleHQgc2hvd24gb24gdGhlIGltYWdlJyA9PiAnVm9lciBkZSB0ZWtzdCBpbiBkaWUgd29yZHQgd2VlcmdlZ2V2ZW4gb3AgZGUgYWZiZWVsZGluZycsCiAgJ0VudGVyIHRoZSB0ZXh0IHNob3duIG9uIHRoZSBpbWFnZS4nID0+ICdWb2VyIGRlIHRla3N0IG9wIGRlIGFmYmVlbGRpbmcgaW4uJywKICAnRW50ZXIgdmFsaWQgbnVtZXJpYyB2YWx1ZScgPT4gJ1ZvZXIgZ2VsZGlnZSBudW1lcmlla2Ugd2FhcmRlIGluJywKICAnRW50ZXIgeW91ciB1c2VybmFtZSBvciBlbWFpbCBhZGRyZXNzIGFnYWluIGluIHRoZSBmb3JtIGJlbG93IGFuZCBwcmVzcyB0aGUgPHN0cm9uZz5Mb2dpbjwvc3Ryb25nPiB0byBhY2Nlc3MgeW91ciBhY2NvdW50IGFuZCByZXNldCB5b3VyIHBhc3N3b3JkLicgPT4gJ1ZvZXIgamUgZ2VicnVpa2Vyc25hYW0gb2YgZW1haWxhZHJlcyBvcG5pZXV3IGluIGluIGhldCBvbmRlcnN0YWFuZGUgZm9ybXVsaWVyIGVuIGtsaWsgb3AgPHN0cm9uZz5Mb2dpbjwvc3Ryb25nPiBvbSB0b2VnYW5nIHRlIGtyaWpnZW4gdG90IGplIGFjY291bnQgZW4gamUgd2FjaHR3b29yZCBvcG5pZXV3IGluIHRlIHN0ZWxsZW4uJywKICAnRW50ZXIgeW91ciB1c2VybmFtZSBvciBlbWFpbCBhZGRyZXNzIGJlbG93JyA9PiAnVnVsIGhpZXJvbmRlciB1dyBnZWJydWlrZXJzbmFhbSBvZiBlLW1haWwgaW4nLAogICdFbnRlciB5b3VyIHVzZXJuYW1lIG9yIGVtYWlsIGFkZHJlc3MgaW4gdGhlIGZvcm0gYmVsb3cgYW5kIHByZXNzIHRoZSA8c3Ryb25nPlNlbmQgRW1haWw8L3N0cm9uZz4gYnV0dG9uIHRvIGhhdmUgYSBwYXNzd29yZCByZXNldCBsaW5rIHNlbnQgdG8geW91ciBlbWFpbCBhY2NvdW50IG9uIGZpbGUuJyA9PiAnVm9lciBqZSBnZWJydWlrZXJzbmFhbSBvZiBlbWFpbGFkcmVzIGluIGluIGhldCBvbmRlcnN0YWFuZGUgZm9ybXVsaWVyIGVuIGtsaWsgb3AgZGUga25vcCA8c3Ryb25nPkVtYWlsIHZlcnplbmRlbjwvc3Ryb25nPiBvbSBlZW4gd2FjaHR3b29yZGhlcnN0ZWwgbGluayB0ZSB2ZXJzdHVyZW4gbmFhciBqZSBiaWogb25zIGJla2VuZGUgZW1haWxhY2NvdW50LicsCiAgJ0VudGVyZWQgZGF0ZSBzcGFuIGlzIGludmFsaWQuIFNlbGVjdGlvbiBpZ25vcmVkLicgPT4gJ0hldCBpbmdldm9lcmRlIHRpamRzdmxhayBpcyBvbmdlbGRpZy4gU2VsZWN0aWUgZ2VuZWdlZXJkLicsCiAgJ0VxdWFsJyA9PiAnR2VsaWprIGFhbicsCiAgJ0Vycm9yJyA9PiAnRm91dCcsCiAgJ0Vycm9yIEFkZGluZyBPQXV0aDIgSW5zdGFuY2UnID0+ICdGb3V0IGJpaiB0b2V2b2VnZW4gdmFuIE9BdXRoMicsCiAgJ0Vycm9yIFNhdmluZycgPT4gJ0ZvdXQgYmlqIG9wc2xhYW4nLAogICdFcnJvciBhY2Nlc3NpbmcgU1FMIGZpbGUgJXMnID0+ICdHZWVuIHRvZWdhbmcgdG90IFNRTCBiZXN0YW5kICVzJywKICAnRXJyb3IgYWRkaW5nIG9yZ2FuaXphdGlvbicgPT4gJ1RvZXZvZWdlbiBvcmdhbmlzYXRpZSBtaXNsdWt0JywKICAnRXJyb3IgYWRkaW5nIHRhc2snID0+ICdGb3V0IHRvZXZvZWdlbiB0YWFrJywKICAnRXJyb3IgYWRkaW5nIHVzZXInID0+ICdHZWJydWlrZXIgdG9ldm9lZ2VuIG1pc2x1a3QnLAogICdFcnJvciBpbnN0YWxsaW5nIG9zVGlja2V0LicgPT4gJ0ZvdXQgYmlqIGRlIGluc3RhbGxhdGllIHZhbiBvc1RpY2tldC4nLAogICdFcnJvciBvY2N1cnJlZC4gIEFib3J0aW5nLi4uJyA9PiAnRXIgemlqbiBmb3V0ZW4gb3BnZXRyZWRlbi4uLi4gQWZicmVrZW4uLi4uJywKICAnRXJyb3IgcGFyc2luZyBTUUwgc2NoZW1hJyA9PiAnRm91dCBiaWogaGV0IHBhcnNlbiB2YW4gU1FMIHNjaGVtYScsCiAgJ0Vycm9yIHNhdmluZyBjcmVkZW50aWFscycgPT4gJ0ZvdXQgYmlqIG9wc2xhYW4gdmFuIGdlZ2V2ZW5zJywKICAnRXJyb3IgdXBkYXRpbmcgdGlja2V0IHN0YXR1cycgPT4gJ0ZvdXQgYmlqIGhldCB1cGRhdGVuIHZhbiBkZSB0aWNrZXQgc3RhdHVzJywKICAnRXJyb3JzJyA9PiAnRm91dGVuJywKICAnRXJyb3JzIGNvbmZpZ3VyaW5nIHlvdXIgcHJvZmlsZS4gU2VlIG1lc3NhZ2VzIGJlbG93JyA9PiAnRXIgeml0dGVuIGZvdXRlbiBpbiB1dyBwcm9maWVsLiBaaWUgYmVyaWNodGVuIGhpZXJvbmRlcicsCiAgJ0V2ZXJ5IG1pbnV0ZScgLiAiXDAiIC4gJ0V2ZXJ5ICVkIG1pbnV0ZXMnID0+ICdFbGtlIG1pbnV1dCcgLiAiXDAiIC4gJ0Vsa2UgJWQgbWludXRlbicsCiAgJ0V4Y2Vzc2l2ZSBlcnJvcnMgcHJvY2Vzc2luZyBlbWFpbHMgZm9yICUxJHMgKCUyJHMpLicgPT4gJ1RlIHZlZWwgZm91dGVuIGJpaiBoZXQgdmVyd2Vya2VuIHZhbiBlLW1haWxzIHZvb3IgJTEkcyAoJTIkcykuJywKICAnRXhjZXNzaXZlIGZhaWxlZCBsb2dpbiBhdHRlbXB0cycgPT4gJ092ZXJtYXRpZyBhYW50YWwgbWlzbHVrdGUgcG9naW5nZW4gb20gaW4gdGUgbG9nZ2VuJywKICAnRXhjZXNzaXZlIGxvZ2luIGF0dGVtcHRzICglcyknID0+ICdCdWl0ZW5zcG9yaWdlIGlubG9nIHBvZ2luZ2VuICglcyknLAogICdFeGNlc3NpdmUgbG9naW4gYXR0ZW1wdHMgKHVzZXIpJyA9PiAnQnVpdGVuc3BvcmlnZSBpbmxvZyBwb2dpbmdlbiAoJXMpJywKICAnRXhjZXNzaXZlIGxvZ2luIGF0dGVtcHRzIGJ5IGEgdXNlci4nID0+ICdCdWl0ZW5zcG9yaWdlIGxvZ2luIHBvZ2luZ2VuIGRvb3IgZWVuIGdlYnJ1aWtlci4nLAogICdFeGNlc3NpdmUgbG9naW4gYXR0ZW1wdHMgYnkgYW4gYWdlbnQ/JyA9PiAnQnVpdGVuc3BvcmlnZSBpbmxvZ3BvZ2luZ2VuIGRvb3IgZWVuIG1lZGV3ZXJrZXI/JywKICAnRXhlY3V0aW9uIE9yZGVyJyA9PiAnVm9sZ29yZGUgdmFuIHVpdHZvZXJpbmcnLAogICdFeHBhbmRhYmxlIFZhcmlhYmxlcycgPT4gJ1VpdGJyZWlkYmFyZSB2YXJpYWJlbGVuJywKICAnRXhwZWN0aW5nIE5VTEwgb3IgaW5zdGFuY2Ugb2YgJXMuIEdvdCBhICVzIGluc3RlYWQnID0+ICdWZXJ3YWNodCBlZW4gTlVMTCBvZiBpbnN0YW50aWUgdmFuICVzLiBXZSBrcmVnZW4gZWNodGVyICVzJywKICAnRXhwaXJlZCBBY2Nlc3MgVG9rZW4gZ2V0cyBhdXRvLXJlZnJlc2hlZCBvbiB1c2UnID0+ICdWZXJsb3BlbiB0b2VnYW5nc3Rva2VuIHdvcmR0IGF1dG9tYXRpc2NoIHZlcm5pZXV3ZCBiaWogZ2VicnVpaycsCiAgJ0V4cGlyZXMnID0+ICdWZXJ2YWx0JywKICAnRXhwb3J0JyA9PiAnRXhwb3J0ZWVyJywKICAnRXh0JyA9PiAnRXh0JywKICAnRXh0ZW5kZWQgQWNjZXNzJyA9PiAnVWl0Z2VicmVpZGUgdG9lZ2FuZycsCiAgJ0V4dGVuc2lvbicgPT4gJ1VpdGJyZWlkaW5nJywKICAnRi4gTGFzdCcgPT4gJ1YuIEFjaHRlcm5hYW0nLAogICdGQVEnID0+ICdGQVEnLAogICdGQVEgQ2F0ZWdvcmllcycgPT4gJ1ZlZWwgZ2VzdGVsZGUgdnJhZ2VuOiBDYXRlZ29yaWXDq24nLAogICdGQVEgYW5zd2VyIGlzIHJlcXVpcmVkJyA9PiAnRkFRIGFudHdvb3JkIGlzIHZlcmVpc3QnLAogICdGQVEgYXJ0aWNsZScgPT4gJ0ZBUSBhcnRpa2VsJywKICAnRkFRIGNhdGVnb3J5JyA9PiAnRkFRIGNhdGVnb3JpZScsCiAgJ0ZBUSBjYXRlZ29yeSB0aGUgcXVlc3Rpb24gYmVsb25ncyB0by4nID0+ICdkZSBGQVFjYXRlZ29yaWUgd2FhciBkZXplIHZyYWFnIGFhbiB0b2UgYmVob29ydC4nLAogICdGQVFzJyA9PiAnVmVlbCBnZXN0ZWxkZSB2cmFnZW4nLAogICdGVFAnID0+ICdGVFAnLAogICdGYWlsZWQgYWdlbnQgbG9naW4gYXR0ZW1wdCAoJXMpJyA9PiAnTWlzbHVrdGUgYWdlbnQgbG9naW4gcG9naW5nICglcyknLAogICdGYWlsZWQgbG9naW4gYXR0ZW1wdCAodXNlciknID0+ICdNaXNsdWt0ZSBsb2dpbiBwb2dpbmcgKGdlYnJ1aWtlciknLAogICdGYWxsIGJhY2sgdG8gcHJpbWFyeSByb2xlIG9uIGFzc2lnbm1lbnRzJyA9PiAnVGVydWd2YWxsZW4gb3AgcHJpbWFpcmUgcm9sIGJpaiBvcGRyYWNodGVuJywKICAnRmVhdHVyZWQnID0+ICdBYW5iZXZvbGVuJywKICAnRmVhdHVyZWQgKHByb21vdGUgdG8gZnJvbnQgcGFnZSknID0+ICdVaXRnZWxpY2h0ICh0b29uIG9wIGhvbWVwYWdlKScsCiAgJ0ZlYXR1cmVkIEtub3dsZWRnZSBCYXNlIEFydGljbGVzJyA9PiAnQWFuYmV2b2xlbiBLbm93bGVkZ2UgQmFzZS1hcnRpa2VsZW4nLAogICdGZWF0dXJlZCBRdWVzdGlvbnMnID0+ICdVaXRnZWxpY2h0ZSB2cmFnZW4nLAogICdGZXRjaCBGcmVxdWVuY3knID0+ICdPcGhhYWwgZnJlcXVlbnRpZScsCiAgJ0ZldGNoIGludGVydmFsIHJlcXVpcmVkJyA9PiAnT3BoYWFsIGludGVydmFsIHZlcmVpc3QnLAogICdGZXRjaCBvbiBhdXRvLWNyb24nID0+ICdGZXRjaCBtZXQgZGUgc3lzdGVlbXRhYWtwbGFubmVyIChhdXRvY3JvbiknLAogICdGZXRjaGVkIEVtYWlscycgPT4gJ09wZ2VoYWFsZGUgRS1tYWlscycsCiAgJ0Zld2VzdCBkaWdpdHMgYWxsb3dlZCBpbiBhIHZhbGlkIHBob25lIG51bWJlcicgPT4gJ01pbmltYWFsIGFhbnRhbCBjaWpmZXJzIHRvZWdlbGF0ZW4gdm9vciBlZW4gZ2VsZGlnIHRlbGVmb29ubnVtbWVyJywKICAnRmllbGQgQ29uZmlndXJhdGlvbicgPT4gJ1ZlbGQgY29uZmlndXJhdGllJywKICAnRmllbGQgU2V0dXAnID0+ICdWZWxkIGNvbmZpZ3VyYXRpZScsCiAgJ0ZpZWxkIGhhcyB2YWxpZGF0aW9uIGVycm9ycycgPT4gJ0RpdCB2ZWxkIGhlZWZ0IHZhbGlkYXRpZWZvdXRlbicsCiAgJ0ZpZWxkIHZhcmlhYmxlIG5hbWUgaXMgbm90IHVuaXF1ZScgPT4gJ1ZlbGRuYWFtIGlzIG5pZXQgdW5pZWsnLAogICdGaWVsZHMnID0+ICd2ZWxkZW4nLAogICdGaWVsZHMgbWFya2VkIGVkaXRhYmxlIGFsbG93IGFnZW50cyBhbmQgZW5kdXNlcnMgdG8gdXBkYXRlIHRoZSBjb250ZW50IG9mIHRoaXMgZmllbGQgYWZ0ZXIgdGhlIGZvcm0gZW50cnkgaGFzIGJlZW4gY3JlYXRlZC4nID0+ICdWZWxkZW4gZGllIGdlbWFya2VlcmQgemlqbiBhbHMgd2lqemlnYmFhciBzdGFhbiBhZ2VudGVuIGVuIGVpbmRnZWJydWlrZXJzIHRvZSBvbSBkZSBpbmhvdWQgdmFuIGRpdCB2ZWxkIGFhbiB0ZSBwYXNzZW4gbmFkYXQgZGUgZm9ybXVsaWVyaW5nYXZlIGdlY3Jlw6tlcmQgaXMuJywKICAnRmlsZSBJbXBvcnQgRXJyb3InID0+ICdCZXN0YW5kIEltcG9ydGVlciBGb3V0JywKICAnRmlsZSBVcGxvYWQnID0+ICdCZXN0YW5kIHVwbG9hZGVuJywKICAnRmlsZSBVcGxvYWQgRXJyb3InID0+ICdGb3V0IGJpaiBoZXQgdXBsb2FkZW4gdmFuIGJlc3RhbmQnLAogICdGaWxlIGlzIHRvbyBsYXJnZScgPT4gJ0hldCBiZXN0YW5kIGlzIHRlIGdyb290JywKICAnRmlsZSBzaXplIGlzIHRvbyBsYXJnZScgPT4gJ0Jlc3RhbmQgaXMgdGUgZ3Jvb3QnLAogICdGaWxlIHR5cGUgaXMgbm90IGFsbG93ZWQnID0+ICdCZXN0YW5kc3R5cGUgaXMgbmlldCB0b2VnZXN0YWFuJywKICAnRmlsZW5hbWUnID0+ICdCZXN0YW5kc25hYW0nLAogICdGaWx0ZXInID0+ICdGaWx0ZXInLAogICdGaWx0ZXIgQWN0aW9ucycgPT4gJ2ZpbHRlciBhY3RpZXMnLAogICdGaWx0ZXIgTmFtZScgPT4gJ0ZpbHRlciBuYWFtJywKICAnRmlsdGVyIFJ1bGVzJyA9PiAnRmlsdGVyIHJlZ2VscycsCiAgJ0ZpbHRlciBTdGF0dXMnID0+ICdGaWx0ZXIgU3RhdHVzJywKICAnRmlsdGVycyBhcmUgZXhlY3V0ZWQgYmFzZWQgb24gZXhlY3V0aW9uIG9yZGVyLiBGaWx0ZXIgY2FuIHRhcmdldCBzcGVjaWZpYyB0aWNrZXQgc291cmNlLicgPT4gJ0ZpbHRlcnMgd29yZGVuIHVpdGdldm9lcmQgb3AgdWl0dm9lcnZvbGdvcmRlLiAnLAogICdGaXJzdCcgPT4gJ0VlcnN0JywKICAnRmlyc3QgTC4nID0+ICdWb29ybmFhbSBBLicsCiAgJ0ZpcnN0IExhc3QnID0+ICdWb29ybmFhbSBhY2h0ZXJuYWFtJywKICAnRmlyc3QgTS4gTGFzdCcgPT4gJ1Zvb3JuYWFtIE0uIEFjaHRlcm5hYW0nLAogICdGaXJzdCBOYW1lJyA9PiAnVm9vcm5hYW0nLAogICdGaXJzdCBuYW1lIGlzIHJlcXVpcmVkJyA9PiAnVm9vcm5hYW0gaXMgdmVyZWlzdCcsCiAgJ0ZpcnN0IG5hbWUgcmVxdWlyZWQnID0+ICdWb29ybmFhbSB2ZXJwbGljaHQnLAogICdGbGFnZ2VkIGFzIG92ZXJkdWUgYnkgdGhlIHN5c3RlbSB7dGltZXN0YW1wfScgPT4gJ0FscyBhY2h0ZXJzdGFsbGlnIGdlbWFya2VlcmQgZG9vciBoZXQgc3lzdGVlbSB7dGltZXN0YW1wfScsCiAgJ0ZvciBBZ2VudHMnID0+ICdWb29yIG1lZGV3ZXJrZXJzJywKICAnRm9yIEVuZFVzZXJzJyA9PiAnVm9vciBnZWJydWlrZXJzJywKICAnRm9yIEVuZFVzZXJzIE9ubHknID0+ICdBbGxlZW4gdm9vciBlaW5kZ2VicnVpa2VycycsCiAgJ0ZvciBjb21wbGV0ZSBhbmQgdXB0byBkYXRlIGd1aWRlIHNlZSAlMSRzIG9zVGlja2V0IHdpa2kgJTIkcycgPT4gJ1Zvb3IgZWVuIGNvbXBsZWV0IGJpamdld2Vya3RlIGdpZHMsIGtpamt0IHUgb3AgZGUgJTEkcyBvc1RpY2tldCBXaWtpLXBhZ2luYSAlMiRzJywKICAnRm9yIGRldGFpbHMgLSBwbGVhc2UgdmlldyAlcyBvciBjaGVjayB5b3VyIGVtYWlsLicgPT4gJ1Zvb3IgZGV0YWlscyBiZWtpamsgYS51LmIuICVzIG9mIGNoZWNrIHV3IGUtbWFpbC4nLAogICdGb3JjZSBIVFRQUycgPT4gJ0hUVFBTIGFmZHdpbmdlbicsCiAgJ0ZvcmNlIGFsbCByZXF1ZXN0cyB0aHJvdWdoIEhUVFBTLicgPT4gJ0ZvcmNlZXIgYWxsZSB2ZXJ6b2VrZW4gdmlhIEhUVFBTLicsCiAgJ0ZvcmdvdCBNeSBQYXNzd29yZCcgPT4gJ0lrIGJlbiBtaWpuIHdhY2h0d29vcmQgdmVyZ2V0ZW4nLAogICdGb3Jnb3QgeW91ciBsb2dpbiBpbmZvPyBDb250YWN0IEFkbWluLicgPT4gJ1V3IGlubG9nIGluZm8gdmVyZ2V0ZW4/IENvbnRhY3RlZXIgZGUgQWRtaW4uJywKICAnRm9ybSBGaWVsZHMnID0+ICdGb3JtdWxpZXJ2ZWxkZW4nLAogICdGb3JtYXQnID0+ICdGb3JtYWF0JywKICAnRm9ybXMnID0+ICdGb3JtdWxpZXJlbicsCiAgJ0Zvcm1zIGFyZSB1c2VkIHRvIGFsbG93IGZvciBjb2xsZWN0aW9uIG9mIGN1c3RvbSBkYXRhJyA9PiAnRm9ybXVsaWVyZW4gd29yZGVuIGdlYnJ1aWt0IG9tIHRlIHpvcmdlbiB2b29yIGluemFtZWxpbmcgdmFuIGFhbmdlcGFzdGUgZ2VnZXZlbnMnLAogICdGcmVlIHRleHQgc2hvd24gaW4gdGhlIGZvcm0sIHN1Y2ggYXMgYSBkaXNjbGFpbWVyJyA9PiAnVmFyaWFiZWxlIHRla3N0LCB3ZWVyZ2VnZXZlbiBpbiBoZXQgZm9ybXVsaWVyLCB6b2FscyBiaWp2LiBlZW4gbm90aXRpZScsCiAgJ0ZyZXF1ZW50bHkgQXNrZWQgUXVlc3Rpb25zJyA9PiAnVmVlbCBnZXN0ZWxkZSB2cmFnZW4nLAogICdGcm9tJyA9PiAnVmFuJywKICAnRnJvbSBFbWFpbCcgPT4gJ1ZhbiBFLW1haWwnLAogICdGcm9tIG5hbWUgdG8gdXNlIHdoZW4gcmVwbHlpbmcgdG8gYSB0aHJlYWQnID0+ICdUZSBnZWJydWlrZW4gVmFuIG5hYW0gYmlqIGJlYW50d29vcmRlbiB2YW4gZWVuIGNvbnZlcnNhdGllJywKICAnRnVsbCBOYW1lJyA9PiAnVm9sbGVkaWdlIG5hYW0nLAogICdHZW5lcmFsIFNldHRpbmdzJyA9PiAnQWxnZW1lbmUgaW5zdGVsbGluZ2VuJywKICAnR2V0IFByb2Zlc3Npb25hbCBIZWxwJyA9PiAnT250dmFuZyBwcm9mZXNzaW9uZWxlIGh1bHAnLAogICdHZXQgdGVjaG5pY2FsIGhlbHAhJyA9PiAnS3JpamcgdGVjaG5pc2NoZSBodWxwIScsCiAgJ0dldHRpbmcgcmVhZHkhJyA9PiAnV2VlcyBiZXJlaWQhJywKICAnR2xvYmFsIGRlZmF1bHQgdGFzayBzZXR0aW5ncyBhbmQgb3B0aW9ucy4nID0+ICdHbG9iYWxlIHN0YW5kYWFyZCB0YWFrIGluc3RlbGxpbmdlbiBlbiBvcHRpZXMuJywKICAnR2xvYmFsIHNldHRpbmcgLSBjYW4gYmUgZGlzYWJsZWQgYXQgZGVwYXJ0bWVudCBvciBlbWFpbCBsZXZlbC4nID0+ICdHbG9iYWxlIGluc3RlbGxpbmcgLSBrYW4gdWl0Z2VzY2hha2VsZCB3b3JkZW4gb3AgYWZkZWxpbmdzLSBvZiBlbWFpbC1uaXZlYXUuJywKICAnR28hJyA9PiAnR2EhJywKICAnR29vZCBsdWNrLicgPT4gJ1ZlZWwgc3VjY2VzIScsCiAgJ0dyYWNlIFBlcmlvZCcgPT4gJ1Jlc3BvbnN0aWpkJywKICAnR3JhY2UgUGVyaW9kIChocnMpJyA9PiAnUmVzcG9ucyB0aWpkICh1dXIpJywKICAnR3JhY2UgcGVyaW9kIHJlcXVpcmVkJyA9PiAnQWZsb3NzaW5nc3ZyaWplIHBlcmlvZGUgdmVyZWlzdCcsCiAgJ0dyZWF0ZXIgVGhhbicgPT4gJ01lZXIgZGFuJywKICAnR3Vlc3QnID0+ICdHYXN0JywKICAnR3Vlc3QgVGlja2V0IEFjY2VzcycgPT4gJ0dhc3QgVGlja2V0IHRvZWdhbmcnLAogICdHdWVzdCBVc2VyJyA9PiAnR2FzdCcsCiAgJ0hUTUwnID0+ICdIVE1MJywKICAnSGF2ZSBhbiBhY2NvdW50IHdpdGggdXM/JyA9PiAnSGVlZnQgdSBlZW4gYWNjb3VudCBiaWogb25zPycsCiAgJ0hlYWRlciBTcG9vZmluZycgPT4gJ0VtYWlsIEhlYWRlciBTcG9vZmluZycsCiAgJ0hlaWdodCcgPT4gJ0hvb2d0ZScsCiAgJ0hlbHAgVGV4dCcgPT4gJ0hlbHAgdGVrc3QnLAogICdIZWxwIFRvcGljJyA9PiAnSGVscCBvbmRlcndlcnBlbicsCiAgJ0hlbHAgVG9waWMgSW5mb3JtYXRpb24nID0+ICdIZWxwLW9uZGVyd2VycCBpbmZvcm1hdGllJywKICAnSGVscCBUb3BpY3MnID0+ICdIZWxwIG9uZGVyd2VycGVuJywKICAnSGVscCB0ZXh0IHNob3duIHdpdGggdGhlIGZpZWxkJyA9PiAnSGVscCB0ZWtzdCB3ZWVyZ2VnZXZlbiBtZXQgaGV0IHZlbGQnLAogICdIZWxwIHRvcGljJyA9PiAnSGVscCBvbmRlcndlcnAnLAogICdIZWxwIHRvcGljIGZ1bGwgcGF0aCcgPT4gJ1ZvbGxlZGlnIHBhZCBuYWFyIGhldCBoZWxwLWl0ZW0nLAogICdIZWxwIHRvcGljIG5hbWUgaXMgcmVxdWlyZWQnID0+ICdIZWxwIG9uZGVyd2VycCBuYWFtIGlzIHZlcmVpc3QnLAogICdIZWxwIHRvcGljIHNlbGVjdGlvbiBpcyByZXF1aXJlZCcgPT4gJ1NlbGVjdGllIHZhbiBIZWxwLW9uZGVyd2VycCBpcyB2ZXJlaXN0JywKICAnSGVscGRlc2sgTmFtZScgPT4gJ0hlbHBkZXNrIG5hYW0nLAogICdIZWxwZGVzayBOYW1lL1RpdGxlJyA9PiAnSGVscGRlc2sgbmFhbS90aXRlbCcsCiAgJ0hlbHBkZXNrIFN0YXR1cycgPT4gJ0hlbHBkZXNrIFN0YXR1cycsCiAgJ0hlbHBkZXNrIFVSTCcgPT4gJ0hlbHBkZXNrIFVSTCcsCiAgJ0hlbHBkZXNrIFVSTCBpcyByZXF1aXJlZCcgPT4gJ0hlbHBkZXNrIFVSTCBpcyB2ZXJlaXN0JywKICAnSGVscGRlc2sgc29mdHdhcmUgLSBwb3dlcmVkIGJ5IG9zVGlja2V0JyA9PiAnSGVscGRlc2sgc29mdHdhcmUgLSBwb3dlcmVkIGJ5IG9zVGlja2V0JywKICAnSGVscGRlc2sgdGl0bGUgaXMgcmVxdWlyZWQnID0+ICdIZWxwZGVzayB0aXRlbCBpcyB2ZXJlaXN0JywKICAnSGVyZSB5b3UgY2FuIG1hbmFnZSB0aGUgcXVlc3Rpb24gYW5kIGFuc3dlciBmb3IgdGhlIGFydGljbGUuIE11bHRpcGxlIGxhbmd1YWdlcyBhcmUgYXZhaWxhYmxlIGlmIGVuYWJsZWQgaW4gdGhlIGFkbWluIHBhbmVsLicgPT4gJ0hpZXIga3VuIGplIGRlIHZyYWFnIGVuIGhldCBhbnR3b29yZCB2YW4gZGl0IGFydGlrZWwgb25kZXJob3VkZW4uIEVyIHppam4gbWVlcmRlcmUgdGFsZW4gbW9nZWxpamssIGFscyBkaXQgYWFuIHN0YWF0IGluIGhldCBhZG1pbmlzdHJhdGllLXBhbmVlbC4nLAogICdIaWRkZW4nID0+ICdWZXJib3JnZW4nLAogICdIaWRlIGFnZW50XCdzIG5hbWUgb24gcmVzcG9uc2VzLicgPT4gJ1ZlcmJlcmcgZGUgbmFhbSB2YW4gZWVuIGFnZW50IGJpaiByZWFjdGllcy4nLAogICdIaWdobHkgcmVjb21tZW5kZWQgZm9yIG5vbiB3ZXN0ZXJuIGV1cm9wZWFuIGxhbmd1YWdlIGNvbnRlbnQnID0+ICdIb29nc3QgYWFuYmV2b2xlbiBiaWogbmlldCB3ZXN0ZXVyb3Blc2UgdGFhbGluaG91ZCcsCiAgJ0hpZ2hseSByZWNvbW1lbmRlZCBmb3IgcGx1Z2lucyBhbmQgbGFuZ3VhZ2UgcGFja3MnID0+ICdIb29nc3QgYWFuYmV2b2xlbiB2b29yIHBsdWdpbnMgZW4gdGFhbHBha2tldHRlbicsCiAgJ0hvc3QgSW5mbycgPT4gJ0hvc3RpbmZvJywKICAnSG9zdCBuYW1lIHJlcXVpcmVkJyA9PiAnSG9zdG5hYW0gdmVyZWlzdCcsCiAgJ0hvc3QsIFBvcnQgJiBQcm90b2NvbCBSZXF1aXJlZCcgPT4gJ0hvc3QsIHBvb3J0IGVuIHByb3RvY29sIHZlcmVpc3QnLAogICdIb3N0bmFtZScgPT4gJ1NlcnZlcm5hYW0nLAogICdIdW1hbiBWZXJpZmljYXRpb24nID0+ICdNZW5zZWxpamtlIHZlcmlmaWNhdGllJywKICAnSVwnZCBsaWtlIHRvIHJlY2VpdmUgdGhlIGZvbGxvd2luZyBub3RpZmljYXRpb25zJyA9PiAnSWsgem91IGhldCBmaWpuIHZpbmRlbiBkZSB2b2xnZW5kZSBtZWxkaW5nZW4gdGUgb250dmFuZ2VuJywKICAnSVwnbSBhbiBhZ2VudCcgPT4gJ0lrIGJlbiBlZW4gbWVkZXdlcmtlcicsCiAgJ0lQJyA9PiAnSVAnLAogICdJUCBBZGRyZXNzJyA9PiAnSVAtYWRyZXMnLAogICdJUCBhZGRyZXNzIG9mIHJlbW90ZSB1c2VyLCBmb3Igd2ViIHN1Ym1pc3Npb25zJyA9PiAnSXAtYWRyZXMgdm9vciBleHRlcm5lIGdlYnJ1aWtlciwgaXZtIHdlYi1pbnplbmRpbmdlbicsCiAgJ0lmIHNhbXBsZSBjb25maWcgZmlsZSBpcyBtaXNzaW5nIC0gcGxlYXNlIG1ha2Ugc3VyZSB5b3UgdXBsb2FkZWQgYWxsIGZpbGVzIGluIFwndXBsb2FkXCcgZm9sZGVyIG9yIHJlZmVyIHRvIHRoZSAlMSRzIEluc3RhbGxhdGlvbiBHdWlkZSAlMiRzJyA9PiAnQWxzIGRlIHNhbXBsZS1jb25maWdmaWxlIChpbml0aWVlbCBjb25maWd1cmF0aWViZXN0YW5kKSBuaWV0IGFhbndlemlnIGlzIGRpZW50IHUgemljaCBlcnZhbiB0ZSBnZXdpc3NlbiBkYXQgdSBhbGxlIGJlc3RhbmRlbiB1aXQgZGUgdXBsb2FkbWFwIGhlZWZ0IGdldXBsb2FkIGVuIGRpZW50IHUgaG9vZ3RlIHRlIG5lbWVuIHZhbiBkZSAlMSRzIEluc3RhbGxhdGlvbiBHdWlkZSAlMiRzJywKICAnSWYgdGhpcyBpcyB5b3VyIGZpcnN0IHRpbWUgY29udGFjdGluZyB1cyBvciB5b3VcJ3ZlIGxvc3QgdGhlIHRpY2tldCBudW1iZXIsIHBsZWFzZSAlcyBvcGVuIGEgbmV3IHRpY2tldCAlcycgPT4gJ0FscyBkaXQgdXcgZWVyc3RlIGNvbnRhY3QgaXMgbWV0IG9ucyBvZiB1IHdlZXQgdXcgdGlja2V0bnVtbWVyIG5pZXQgbWVlciwgbWFha3QgdSBkYW4gYWxzdHVibGllZnQgJXMgZWVuIG5pZXV3IHRpY2tldCAgJXMnLAogICdJZiB5b3UgYXJlIGxvb2tpbmcgZm9yIGEgZ3JlYXRlciBsZXZlbCBvZiBzdXBwb3J0LCB3ZSBwcm92aWRlIDx1PnByb2Zlc3Npb25hbCBpbnN0YWxsYXRpb24gc2VydmljZXM8L3U+IGFuZCBjb21tZXJjaWFsIHN1cHBvcnQgd2l0aCBndWFyYW50ZWVkIHJlc3BvbnNlIHRpbWVzLCBhbmQgYWNjZXNzIHRvIHRoZSBjb3JlIGRldmVsb3BtZW50IHRlYW0uIFdlIGNhbiBhbHNvIGhlbHAgY3VzdG9taXplIG9zVGlja2V0IG9yIGV2ZW4gYWRkIG5ldyBmZWF0dXJlcyB0byB0aGUgc3lzdGVtIHRvIG1lZXQgeW91ciB1bmlxdWUgbmVlZHMuJyA9PiAnQWxzIHUgb3B6b2VrIGJlbnQgbmFhciBlZW4gaG9nZXIgbml2ZWF1IHZhbiBvbmRlcnN0ZXVuaW5nIG1ldCBnZWdhcmFuZGVlcmRlIHJlYWN0aWV0aWpkZW4gZW4gdG9lZ2FuZyBvdCBvbnplIG9udHdpa2tlbGFhcnMgZGFuIGt1bm5lbiB3aWogdSBkYXQgYmllZGVuLiBXZSBrdW5uZW4gdSBvb2sgaGVscGVuIG9zVGlja2V0IGdlaGFhbCBuYWFyIHV3IHdlbnNlbiBhYW4gdGUgcGFzc2VuIG9mIHplbGZzIG5pZXV3ZSBtb2dlbGlqa2hlZGVuIHRvZXZvZWdlbiBvbSB0ZSB2b2xkb2VuIGFhbiB1dyBzcGVjaWZpZWtlIHdlbnNlbi4nLAogICdJZiB5b3UgYmVsaWV2ZSB0aGlzIGlzIGluIGVycm9yLCBwbGVhc2UgdHJ5IHJlcGxhY2luZyB0aGUgY29uZmlnIGZpbGUgd2l0aCBhIHVuY2hhbmdlZCB0ZW1wbGF0ZSBjb3B5IGFuZCB0cnkgYWdhaW4gb3IgZ2V0IHRlY2huaWNhbCBoZWxwLicgPT4gJ0FscyB1IGRlbmt0IGRhdCBkaXQgZWVuIGZvdXQgaXMsIGtvcGllZXJ0IHUgZWVuIHN0YW5kYWFyZCBpbnN0ZWxsaW5nZW5iZXN0YW5kIG92ZXIgZGUgb3VkZSBoZWVuIGVuIHByb2JlZXJ0IHUgb3BuaWV1dywgYW5kZXJzIHNjaGFrZWx0IHUgdXcgc3lzdGVlbWJlaGVlcmRlciBpbi4nLAogICdJZiB5b3UgZXhwZXJpZW5jZSBhbnkgcHJvYmxlbXMsIHlvdSBjYW4gYWx3YXlzIHJlc3RvcmUgeW91ciBmaWxlcy9kYXRhYmFzZSBiYWNrdXAuJyA9PiAnQUxzIHUgZW5pZ2UgcHJvYmxlbWVuIG9uZGVydmluZHQsIGt1bnQgdSB0ZW4gYWxsZSB0aWpkZW4gdXcgYmFja3VwIFwncmVzdG9yZW5cJy4nLAogICdJbWFnZSBBdHRhY2htZW50IFZpZXcnID0+ICdBZmJlZWxkaW5nIGJpamxhZ2UgYmVraWprZW4nLAogICdJbWFnZSBpcyB0b28gc3F1YXJlLiBVcGxvYWQgYSB3aWRlciBpbWFnZScgPT4gJ0FmYmVlbGRpbmcgaXMgdGUgdmllcmthbnQuIFVwbG9hZCBlZW4gZ3JvdGVyZSBhZmJlZWxkaW5nLicsCiAgJ0ltbXV0YWJsZScgPT4gJ05pZXQgdGUgd2lqemlnZW4nLAogICdJbXBvcnQnID0+ICdJbXBvcnRlZXInLAogICdJbXBvcnQgSXRlbXMnID0+ICdJbXBvcnRlZXIgZ2VnZXZlbnMnLAogICdJbXBvcnQgUmVtb3RlIFVzZXInID0+ICdFeHRlcm5lIGdlYnJ1aWtlcnMgaW1wb3J0ZXJlbicsCiAgJ0ltcG9ydCBVc2VycycgPT4gJ0ltcG9ydGVlciBnZWJydWlrZXJzJywKICAnSW1wb3J0IGEgQ1NWIEZpbGUnID0+ICdJbXBvcnRlZXIgZWVuIGNzdi1iZXN0YW5kJywKICAnSW1wcm92ZXMgb3ZlcmFsbCBwZXJmb3JtYW5jZScgPT4gJ1ZlcmJldGVydCBkZSBhbGdlaGVsZSBwcmVzdGF0aWVzJywKICAnSW1wcm92ZXMgcGVyZm9ybWFuY2UgY3JlYXRpbmcgYW5kIHByb2Nlc3NpbmcgSlNPTicgPT4gJ0Jldm9yZGVydCBkZSBwcmVzdGF0aWVzIGJpaiBoZXQgY3JlZXJlbiBlbiB2ZXJ3ZXJrZW4gdmFuIEpTT04nLAogICdJbiBvcmRlciB0byB1cGdyYWRlIHRvIHRoaXMgdmVyc2lvbiBvZiBvc1RpY2tldCwgYSBkYXRhYmFzZSBtaWdyYXRpb24gaXMgcmVxdWlyZWQuIFRoaXMgdXBncmFkZXIgd2lsbCBhdXRvbWF0aWNhbGx5IGFwcGx5IHRoZSBkYXRhYmFzZSBwYXRjaGVzIHNoaXBwZWQgd2l0aCBvc1RpY2tldCBzaW5jZSB5b3VyIGxhc3QgdXBncmFkZS4nID0+ICdPbSBkZXplIHZlcnNpZSB2YW4gb3NUaWNrZXQgdGUgdXBncmFkZW4sIGRpZW5lbiB3ZSBlZXJzdCBkZSBkYXRhYmFzZSB0ZSBtaWdyZXJlbi4gRGl0IHVwZGF0ZXByb2dyYW1tYSB6YWwgZGV6ZSBtaWdyYXRpZSBlbiBhbGxlIHVwZGF0ZXMgdWl0dm9lcmVuIGRpZSBzaW5kcyB1dyBsYWF0c3RlIHVwZGF0ZSB6aWpuIHVpdGdlYnJhY2h0LicsCiAgJ0luIHRoZSBkYXRhYmFzZScgPT4gJ0luIGRlIGRhdGFiYXNlJywKICAnSW4tVXNlJyA9PiAnSW4gZ2VicnVpaycsCiAgJ0luLXVzZSB0ZW1wbGF0ZSBzZXQgY2Fubm90IGJlIGRpc2FibGVkIScgPT4gJ0RlIGFjdGlldmUgdGVtcGxhdGVzZXQga2FuIG5pZXQgd29yZGVuIHVpdGdlc2NoYWtlbGQhJywKICAnSW5jb21pbmcgRW1haWxzJyA9PiAnSW5rb21lbmRlIGUtbWFpbCcsCiAgJ0luY29taW5nIG1lc3NhZ2UnID0+ICdPbnR2YW5nZW4gYmVyaWNodCcsCiAgJ0luY29tcGxldGUgY2xpZW50IGluZm9ybWF0aW9uJyA9PiAnT252b2xsZWRpZ2UgY2xpZW50Z2VnZXZlbnMnLAogICdJbmNvbXBsZXRlIHNlbGVjdGlvbicgPT4gJ09udm9sbGVkaWdlIHNlbGVjdGllJywKICAnSW5jcmVtZW50JyA9PiAnc3RhcGdyb290dGUnLAogICdJbmRpY2F0ZSB0aWNrZXQgc291cmNlJyA9PiAnVGlja2V0IGJyb24gd2VlcmdldmVuJywKICAnSW5kaWNhdGUgd2hhdCB0byBkbyB3aXRoIGZldGNoZWQgZW1haWxzJyA9PiAnQWFuZ2V2ZW4gd2F0IHRlIGRvZW4gbWV0IG9wZ2VoYWFsZGUgZS1tYWlscycsCiAgJ0luZm8nID0+ICdJbmZvcm1hdGllJywKICAnSW5mb3JtYXRpb24nID0+ICdJbmZvcm1hdGllJywKICAnSW5oZXJpdCBmcm9tIHBhcmVudCcgPT4gJ092ZXJnZW5vbWVuIHZhbiBib3ZlbmxpZ2dlbmRlJywKICAnSW5oZXJpdCBzb3J0aW5nIGZyb20gdGhlIHBhcmVudCBxdWV1ZScgPT4gJ1ZvbGdvcmRlIG92ZXJuZW1lbiB2YW4gYm92ZW5saWdnZW5kZSB3YWNodHJpaicsCiAgJ0luaGVyaXRlZCBDcml0ZXJpYScgPT4gJ092ZXJnZW5vbWVuIGNyaXRlcmlhJywKICAnSW5pdGlhbCByZXNwb25zZSBmb3IgdGhlIHRpY2tldCcgPT4gJ0luaXRpZWxlIHJlYWN0aWUgdm9vciBoZXQgdGlja2V0JywKICAnSW5zdGFsbCcgPT4gJ0luc3RhbGxlcmVuJywKICAnSW5zdGFsbCBOb3cnID0+ICdJbnN0YWxsZWVyIG51JywKICAnSW5zdGFsbCBhIG5ldyBwbHVnaW4nID0+ICdJbnN0YWxsZWVyIGVlbiBuaWV1d2UgcGx1Z2luICh1aXRicmVpZGluZyknLAogICdJbnN0YWxsYXRpb24gR3VpZGUnID0+ICdJbnN0YWxsYXRpZWhhbmRsZWlkaW5nJywKICAnSW5zdGFsbGVkJyA9PiAnR2XDr25zdGFsbGVlcmQnLAogICdJbnN0YWxsZWQgTGFuZ3VhZ2UgUGFja3MnID0+ICdHZWluc3RhbGxlZXJkZSB0YWFscGFra2V0dGVuJywKICAnSW5zdGFsbGVkIFBsdWdpbnMnID0+ICdHZcOvbnN0YWxsZWVyZGUgcGx1Z2lucycsCiAgJ0luc3RhbGxpbmcgb3NUaWNrZXQgJXMnID0+ICdCZXppZyBtZXQgaW5zdGFsbGVyZW4gb3NUaWNrZXQgJXMnLAogICdJbnN0YW5jZScgPT4gJ0luc3RhbnRpZScsCiAgJ0luc3RhbmNlIE5hbWUgYW5kIFN0YXR1cycgPT4gJ0luc3RhbnRpZW5hYW0gZW4gc3RhdHVzJywKICAnSW5zdGFuY2UgZGVzY3JpcHRpb24gYW5kIG5vdGVzJyA9PiAnQmVzY2hyaWp2aW5nIGVuIG5vdGl0aWVzIHZhbiBpbnN0YW50aWVzJywKICAnSW5zdGFuY2VzICglZCknID0+ICdJbnN0YW50aWVzICglZCknLAogICdJbnN0cnVjdGlvbnMnID0+ICdJbnN0cnVjdGllcycsCiAgJ0ludGVybmFsJyA9PiAnSW50ZXJuJywKICAnSW50ZXJuYWwgQWN0aXZpdHkgQWxlcnQnID0+ICdCZXJpY2h0Z2V2aW5nIGJpaiBpbnRlcm5lIGFjdGl2aXRlaXQnLAogICdJbnRlcm5hbCBOb3RlJyA9PiAnSW50ZXJuZSBub3RpdGllJywKICAnSW50ZXJuYWwgTm90ZSBkZXRhaWxzJyA9PiAnRGV0YWlscyB2YW4gaW50ZXJuZSBub3RhXCdzJywKICAnSW50ZXJuYWwgTm90ZXMnID0+ICdJbnRlcm5lIG5vdGl0aWVzJywKICAnSW50ZXJuYWwgZXJyb3Igb2NjdXJyZWQnID0+ICdJbnRlcm5lIGZvdXQgb3BnZXRyZWRlbicsCiAgJ0ludGVybmFsIGxpc3QgZm9yIGVtYWlsIGJhbm5pbmcuIERvIG5vdCByZW1vdmUnID0+ICdJbnRlcm5lIGxpanN0IG9tIGUtbWFpbGFkcmVzc2VuIHRlIGJsb2trZXJlbi4gVmVyd2lqZGVyIGRlemUgbmlldCcsCiAgJ0ludGVybmFsIG5vdGUgPGVtPihleHBhbmRhYmxlKTwvZW0+JyA9PiAnSW50ZXJuZSBOb3RpdGllIDxlbT4odWl0YnJlaWRiYWFyKTwvZW0+JywKICAnSW50ZXJuYWwgbm90ZSBwb3N0ZWQgc3VjY2Vzc2Z1bGx5JyA9PiAnSW50ZXJuZSBub3RpdGllIHN1Y2Nlc3ZvbCBvcGdlc2xhZ2VuJywKICAnSW50ZXJuYWwgbm90ZXMgdmlld2FibGUgYnkgYWxsIGFkbWlucy4nID0+ICdJbnRlcm5lIG5vdGl0aWVzIHppY2h0YmFhciB2b29yIGFsbGUgYWRtaW5pc3RyYXRvcnMuJywKICAnSW50ZXJuYWwsIE9wdGlvbmFsJyA9PiAnSW50ZXJuLCBvcHRpb25lZWwnLAogICdJbnRlcm5hbCwgUmVxdWlyZWQnID0+ICdJbnRlcm4sIHZlcmVpc3QnLAogICdJbnRlcnByZXRlZCBhcyAlcycgPT4gJ0dlw69udGVycHJldGVlcmQgYWxzICVzJywKICAnSW52YWxpZCcgPT4gJ29uZ2VsZGlnJywKICAnSW52YWxpZCBDU1JGIFRva2VuJyA9PiAnT25nZWxkaWdlIENTUkYgVG9rZW4nLAogICdJbnZhbGlkIENTUkYgdG9rZW4gWyUxJHNdIG9uICUyJHMnID0+ICdPbmdlbGRpZ2UgQ1NSRiB0b2tlbiBbJTEkc10gb3AgJTIkcycsCiAgJ0ludmFsaWQgQ3JlZGVudGlhbHMnID0+ICdPbmdlbGRpZ2UgZ2VnZXZlbnMnLAogICdJbnZhbGlkIGFjdGlvbicgPT4gJ09uanVpc3RlIGFjdGllJywKICAnSW52YWxpZCBjaGFyYWN0ZXIgaW4gdmFyaWFibGUgbmFtZS4gUGxlYXNlIHVzZSBsZXR0ZXJzIGFuZCBudW1iZXJzIG9ubHkuJyA9PiAnT25nZWxkaWcgdGVrZW4gaW4gdmFyaWFiZWxlLiBHZWJydWlrIGFsbGVlbiBsZXR0ZXJzIGVuIGNpamZlcnMuJywKICAnSW52YWxpZCBjaGVjayBmdW5jdGlvbjogTXVzdCBiZSBjYWxsYWJsZScgPT4gJ09uZ2VsZGlnZSBjaGVjayBmdW5jdGllOiBNb2V0IG9wcm9lcGJhYXIgemlqbicsCiAgJ0ludmFsaWQgY3VycmVudCBwYXNzd29yZCEnID0+ICdPbmdlbGRpZ2Ugd2FjaHR3b29yZCEnLAogICdJbnZhbGlkIGRhdGFiYXNlIHBvcnQgbnVtYmVyJyA9PiAnT25nZWxkaWcgZGF0YWJhc2UgcG9vcnRudW1tZXInLAogICdJbnZhbGlkIGRhdGUgZm9ybWF0IC0gbXVzdCBiZSBNTS9ERC9ZWScgPT4gJ09uZ2VsZGlnZSBkYXR1bSBmb3JtYWF0IC0gIG1vZXQgTU0vREQvSkogd29yZGVuJywKICAnSW52YWxpZCBkdWUgZGF0ZScgPT4gJ09uZ2VsZGlnZSB2ZXJ2YWxkYXR1bScsCiAgJ0ludmFsaWQgZW1haWwgb3IgdGlja2V0IG51bWJlcicgPT4gJ09uZ2VsZGlnIGUtbWFpbGFkcmVzIG9mIHRpY2tldCBudW1tZXInLAogICdJbnZhbGlkIGltYWdlIGZpbGUgdHlwZScgPT4gJ09uZ2VsZGlnIGFmYmVlbGRpbmdzdHlwZScsCiAgJ0ludmFsaWQgaW5wdXQnID0+ICdPbmdlbGRpZ2UgaW52b2VyJywKICAnSW52YWxpZCBsb2dpbicgPT4gJ09uZ2VsZGlnZSBnZWJydWlrZXJzbmFhbScsCiAgJ0ludmFsaWQgbWF0Y2ggc2VsZWN0aW9uJyA9PiAnT25nZWxkaWdlIHNlbGVjdGllJywKICAnSW52YWxpZCBtYXRjaCB0eXBlIHNlbGVjdGlvbicgPT4gJ09uZ2VsZGlnZSBtYXRjaCB0eXBlIHNlbGVjdGllJywKICAnSW52YWxpZCBvYmplY3Q6ICVzOiBFeHBlY3RlZCBjbGFzcycgPT4gJ09uZ2VsZGlnIG9iamVjdDogJXM6IHZlcndhY2h0ZSBrbGFzc2UnLAogICdJbnZhbGlkIG9yIG1pc3NpbmcgaW5mb3JtYXRpb24nID0+ICdPbmdlbGRpZ2Ugb2Ygb250YnJla2VuZGUgZ2VnZXZlbnMnLAogICdJbnZhbGlkIHByb3RvY29sJyA9PiAnT25nZWxkaWcgcHJvdG9jb2wnLAogICdJbnZhbGlkIHJlc2V0IHRva2VuJyA9PiAnT25nZWxkaWdlIHJlc2V0IHRva2VuJywKICAnSW52YWxpZCByZXNldCB0b2tlbi4gTG9nb3V0IGFuZCB0cnkgYWdhaW4nID0+ICdPbmdlbGRpZ2UgcmVzZXQgdG9rZW4uIExvZyB1aXQgZW4gcHJvYmVlciBoZXQgb3BuaWV1dycsCiAgJ0ludmFsaWQgc291cmNlIGdpdmVuIC0gJXMnID0+ICdPbmdlbGRpZ2UgYnJvbiBvcGdlZ2V2ZW4gLSAlcycsCiAgJ0ludmFsaWQgdGVtcGxhdGUgc2V0IHNwZWNpZmllZCcgPT4gJ09uZ2VsZGlnZSBzamFibG9vbiBnZWtvemVuJywKICAnSW52YWxpZCB0aWNrZXQgb3JpZ2luIGdpdmVuJyA9PiAnT25nZWxkaWdlIG9vcnNwcm9uZyB2YW4gdGlja2V0IG9wZ2VnZXZlbicsCiAgJ0ludmFsaWQgdXNlci1pZCcgPT4gJ09uZ2VsZGlnZSBnZWJydWlrZXJzLWlkJywKICAnSW52YWxpZCB1c2VyLWlkIGdpdmVuJyA9PiAnT25nZWxkaWdlIGdlYnJ1aWtlci1pZCBvcGdlZ2V2ZW4nLAogICdJbnZhbGlkIHVzZXJuYW1lIG9yIHBhc3N3b3JkJyA9PiAnT25nZWxkaWdlIGdlYnJ1aWtlcnNuYWFtIG9mIHdhY2h0d29vcmQnLAogICdJdCBhcHBlYXJzIGFzIHRob3VnaCAlcyBpcyBiZWluZyB1c2VkIGFzIGEgZm9yd2FyZGVkIG9yIGZldGNoZWQgZW1haWwgYWNjb3VudCBhbmQgaXMgYWxzbyBiZWluZyB1c2VkIGFzIGEgdXNlciAvIHN5c3RlbSBhY2NvdW50LiBQbGVhc2UgY29ycmVjdCB0aGUgbG9vcCBvciBzZWVrIHRlY2huaWNhbCBhc3Npc3RhbmNlLicgPT4gJ0hldCBsaWprdCBlcm9wIGRhdCAlcyB3b3JkdCBnZWJydWlrdCBhbHMgZG9vcmdlc3R1dXJkIG9mIG9wZ2VoYWFsZCBlLW1haWxhY2NvdW50IGVuIG9vayBhbHMgZ2VicnVpa2Vycy0vc3lzdGVlbWFjY291bnQuIENvcnJpZ2VlciBkZSBsdXMgb2YgdnJhYWcgdGVjaG5pc2NoZSBvbmRlcnN0ZXVuaW5nLicsCiAgJ0l0XCdzIGltcG9ydGFudCB0byBrZWVwIHlvdXIgb3NUaWNrZXQgaW5zdGFsbGF0aW9uIHVwIHRvIGRhdGUuIEdldCBhbm5vdW5jZW1lbnRzLCBzZWN1cml0eSB1cGRhdGVzIGFuZCBhbGVydHMgZGVsaXZlcmVkIGRpcmVjdGx5IHRvIHlvdSEnID0+ICdIZXQgaXMgYmVsYW5ncmlqayBvbSB1dyBvc1RpY2tldC1pbnN0YWxsYXRpZSB1cC10by1kYXRlIHRlIGhvdWRlbi4gT250dmFuZyBhYW5rb25kaWdpbmdlbiwgdXBkYXRlcyBlbiBtZWxkaW5nZW4gcmVjaHRzdHJlZWtzIGluIGplIG1haWxib3ghJywKICAnSXRlbSBQcm9wZXJ0aWVzJyA9PiAnRWlnZW5zY2hhcHBlbiB2YW4gcHVudCcsCiAgJ0l0ZW1zICglZCknID0+ICdJdGVtcyAoJWQpJywKICAnSm9obiBEb2UnID0+ICdNYWFydGVuIFZlcm1laWonLAogICdLZWVwIG1lIFVwZGF0ZWQnID0+ICdIb3VkIG1paiBvcCBkZSBob29ndGUnLAogICdLZXl3b3JkcyDigJQgT3B0aW9uYWwnID0+ICdUcmVmd29vcmRlbiAtIG9wdGlvbmVlbCcsCiAgJ0tub3dsZWRnZSBCYXNlIFNldHRpbmdzIGFuZCBPcHRpb25zJyA9PiAnS2VubmlzZGF0YWJhc2UgSW5zdGVsbGluZ2VuIGVuIE9wdGllcycsCiAgJ0tub3dsZWRnZSBCYXNlIFN0YXR1cycgPT4gJ1N0YXR1cyB2YW4gZGUgS2VubmlzYmFuaycsCiAgJ0tub3dsZWRnZWJhc2UnID0+ICdLZW5uaXNiYW5rJywKICAnS25vd2xlZGdlYmFzZSBBcnRpY2xlIENvbnRlbnQnID0+ICdLZW5uaXNkYXRhYmFzZSBBcnRpa2VsaW5ob3VkJywKICAnS25vd2xlZGdlYmFzZSBTZXR0aW5ncycgPT4gJ0tlbm5pc2RhdGFiYXNlIGluc3RlbGxpbmdlbicsCiAgJ0xhYmVsJyA9PiAnVmVsZG5hYW0nLAogICdMYWJlbCBpcyByZXF1aXJlZCBmb3IgY3VzdG9tIGZvcm0gZmllbGRzJyA9PiAnTGFiZWwgaXMgdmVyZWlzdCB2b29yIGFhbmdlcGFzdGUgZm9ybXVsaWVydmVsZGVuJywKICAnTGFuZGluZyBQYWdlJyA9PiAnU3RhcnRwYWdpbmEnLAogICdMYW5ndWFnZScgPT4gJ1RhYWwnLAogICdMYW5ndWFnZS1TcGVjaWZpYyBBdHRhY2htZW50cycgPT4gJ1RhYWwtU3BlY2lmaWVrZSBiaWpsYWdlcycsCiAgJ0xhc3QnID0+ICdMYWF0c3QnLAogICdMYXN0IExvZ2luJyA9PiAnTGFhdHN0ZSBsb2dpbicsCiAgJ0xhc3QgTWVzc2FnZScgPT4gJ0xhYXRzdGUgYmVyaWNodCcsCiAgJ0xhc3QgTmFtZScgPT4gJ0FjaHRlcm5hYW0nLAogICdMYXN0IFJlc3BvbmRlbnQnID0+ICdMYWF0c3RlIGJlcmljaHRnZXZlcicsCiAgJ0xhc3QgUmVzcG9uc2UnID0+ICdMYWF0c3RlIHJlYWN0aWUnLAogICdMYXN0IFVwZGF0ZScgPT4gJ0xhYXRzdGUgYWFucGFzc2luZycsCiAgJ0xhc3QgVXBkYXRlZCcgPT4gJ0xhYXRzdCBiaWpnZXdlcmt0JywKICAnTGFzdCBVcGRhdGVkICVzJyA9PiAnYmlqZ2V3ZXJrdCBvcCAlcycsCiAgJ0xhc3QgbW9udGgnID0+ICdBZmdlbG9wZW4gbWFhbmQnLAogICdMYXN0IG5hbWUgaXMgcmVxdWlyZWQnID0+ICdBY2h0ZXJuYWFtIGlzIHZlcmVpc3QnLAogICdMYXN0IG5hbWUgcmVxdWlyZWQnID0+ICdBY2h0ZXJuYWFtIHZlcnBsaWNodCcsCiAgJ0xhc3QsIEZpcnN0JyA9PiAnQWNodGVybmFhbSwgVm9vcm5hYW0nLAogICdMYXRlc3QnID0+ICdOaWV1d3N0ZScsCiAgJ0xhdGVzdCBkYXRlIHNlbGVjdGFibGUnID0+ICdsYWF0c3QgdGUgc2VsZWN0ZXJlbiBkYXR1bScsCiAgJ0xhdW5jaGluZyBhIG5ldyBjdXN0b21lciBzdXBwb3J0IHBsYXRmb3JtIGNhbiBiZSBhIGRhdW50aW5nIHRhc2suIExldCB1cyBnZXQgeW91IHN0YXJ0ZWQhIFdlIHByb3ZpZGUgcHJvZmVzc2lvbmFsIHN1cHBvcnQgc2VydmljZXMgdG8gaGVscCBnZXQgb3NUaWNrZXQgdXAgYW5kIHJ1bm5pbmcgc21vb3RobHkgZm9yIHlvdXIgb3JnYW5pemF0aW9uLicgPT4gJ0VlbiBuaWV1dyBzdXBwb3J0IHN5c3RlZW0gZGUgbHVjaHQgaW4gYnJlbmdlbiBrYW4gZWVuIHVpdGRhZ2VuZGUgdGFhayB6aWpuLiBXZSB6dWxsZW4gdSBoZWxwZW4gdGUgYmVnaW5uZW4uIFdpaiBiaWVkZW4gcHJvZmVzc2lvbmVsZSBzdXBwb3J0IHNlcnZpY2VzIG9tIGhldCBvc1RpY2tldHN5c3RlZW0gb3B0aW1hYWwgdGUgaW50ZWdyZXJlbiBpbiB1dyBvcmdhbmlzYXRpZS4nLAogICdMZWFkaW5nIHRleHQgc2hvd24gYmVmb3JlIGEgdmFsdWUgaXMgc2VsZWN0ZWQnID0+ICdUb29uYWFuZ2V2ZW5kZSB0ZWtzdCBkaWUgd29yZHQgd2VlcmdlZ2V2ZW4gdm9vcmRhdCBlZW4gd2FhcmRlIHdvcmR0IGdlc2VsZWN0ZWVyZCcsCiAgJ0xlYXJuIE1vcmUhJyA9PiAnTGVlciBtZWVyIScsCiAgJ0xlZ2FjeScgPT4gJ0xlZ2FjeScsCiAgJ0xlZ2FsJyA9PiAnSnVyaWRpc2NoJywKICAnTGVzcyBUaGFuJyA9PiAnTWluZGVyIGRhbicsCiAgJ0xldHRlcicgPT4gJ0JyaWVmJywKICAnTGltaXQgdGlja2V0IGFjY2VzcyB0byBPTkxZIGFzc2lnbmVkIHRpY2tldHMnID0+ICdCZXBlcmsgdGlja2V0IHRvZWdhbmcgdG90IGFsbGVlbiB0b2VnZWtlbmRlIHRpY2tldHMnLAogICdMaW5rIHRvIHZpZXcgdGhlIHRpY2tldCcgPT4gJ0xpbmsgb20gaGV0IHRpY2tldCB0ZSBiZWtpamtlbicsCiAgJ0xpc3QgTmFtZScgPT4gJ0xpanN0bmFhbScsCiAgJ0xpc3Qgb2YgYWxsIHJlY2lwaWVudCBuYW1lcycgPT4gJ0xpanN0IHZhbiBhbGxlIG9udHZhbmdlcnMgZ2Vzb3J0ZWVyZCBvcCBuYWFtJywKICAnTGlzdCBvZiBlbWFpbCBhZGRyZXNzZXMnID0+ICdMaWpzdCB2YW4gZW1haWwtYWRyZXNzZW4nLAogICdMaXN0IG9mIGZpbGUgbmFtZXMnID0+ICdMaWpzdCB2YW4gYmVzdGFuZHNuYW1lbicsCiAgJ0xpc3Qgb2YgbmFtZXMnID0+ICdMaWpzdCB2YW4gbmFtZW4nLAogICdMaXN0IG9mIG5hbWVzIGFuZCBlbWFpbCBhZGRyZXNzZXMnID0+ICdMaWpzdCB2YW4gbmFtZW4gZW4gZW1haWwtYWRyZXNzZW4nLAogICdMaXN0aW5nIFR5cGUnID0+ICdMaWpzdCB0eXBlJywKICAnTGlzdHMnID0+ICdMaWpzdGVuJywKICAnTG9hZGluZycgPT4gJ0JlemlnIG1ldCBvcGxhZGVuJywKICAnTG9hZGluZyAuLi4nID0+ICdCZXppZyBtZXQgbGFkZW4gLi4uJywKICAnTG9jYWxlIERlZmF1bHRzJyA9PiAnU3RhbmRhYXJkIHRhYWxpbnN0ZWxsaW5nZW4nLAogICdMb2NhbGUgRGVmYXVsdHMsIDI0LWhvdXIgVGltZScgPT4gJ1N0YW5kYWFyZCB0YWFsaW5zdGVsbGluZ2VuLCAyNC11dXIgVGlqZCcsCiAgJ0xvY2FsaXphdGlvbicgPT4gJ0xvY2FsaXNhdGllJywKICAnTG9jaycgPT4gJ1ZlcmdyZW5kZWxlbicsCiAgJ0xvY2sgU2VtYW50aWNzJyA9PiAnU2VtYW50aWVrIHZhc3R6ZXR0ZW4nLAogICdMb2NrIGRlbmllZCEnID0+ICdMb2NrIGdld2VpZ2VyZCEnLAogICdMb2NrIG9uIGFjdGl2aXR5JyA9PiAnVmFzdHpldHRlbiBvcCBhY3Rpdml0ZWl0JywKICAnTG9jayBvbiB2aWV3JyA9PiAnVmFzdHpldHRlbiBvcCB6aWNodCcsCiAgJ0xvY2tlZCcgPT4gJ2dlYmxva2tlZXJkJywKICAnTG9ja2VkIChBZG1pbmlzdHJhdGl2ZSknID0+ICdWZXJncmVuZGVsZCAoQWRtaW5pc3RyYXRpZWYpJywKICAnTG9ja2VkIChQZW5kaW5nIEFjdGl2YXRpb24pJyA9PiAnVmVyZ3JlbmRlbGQgKExvcGVuZGUgYWN0aXZhdGllKScsCiAgJ0xvY2tlZCBzdGFmZiB3b25cJ3QgYmUgYWJsZSB0byBsb2dpbiB0byBTdGFmZiBDb250cm9sIFBhbmVsLicgPT4gJ0dlZGVhY3RpdmVlcmRlIG1lZGV3ZXJrZXJzIGt1bm5lbiBuaWV0IGlubG9nZ2VuIGluIGhldCBtZWRld2Vya2VycyBnZWRlZWx0ZS4nLAogICdMb2cgRGF0ZScgPT4gJ0xvZ2RhdHVtJywKICAnTG9nIEluJyA9PiAnQWFubWVsZGVuJywKICAnTG9nIExldmVsJyA9PiAnTml2ZWF1IHZhbiBsb2dnZW4gKGhvZSB1aXRnZWJyZWlkIHdvcmR0IGVyIGdlbG9nZCknLAogICdMb2cgT3V0JyA9PiAnVWl0bG9nZ2VuJywKICAnTG9nIFRpdGxlJyA9PiAnTG9nIHRpdGVsJywKICAnTG9nIFR5cGUnID0+ICdMb2cgVHlwZScsCiAgJ0xvZ2luIEJhY2tkcm9wJyA9PiAnQWNodGVyZ3JvbmQgYWFubWVsZGVuJywKICAnTG9naW4gV2l0aCcgPT4gJ0xvZ2luIG1ldCcsCiAgJ0xvZ2luIHJlcXVpcmVkJyA9PiAnSW5sb2dnZW4gdmVyZWlzdCcsCiAgJ0xvZ2luIHZpYSBlbWFpbCcgPT4gJ0xvZ2luIHZpYSBlLW1haWwnLAogICdMb2dvcycgPT4gJ0xvZ29cJ3MnLAogICdMb25nIEFuc3dlcicgPT4gJ0xhbmcgQW50d29vcmQnLAogICdMb25nZXN0IFRocmVhZCcgPT4gJ0xhbmdzdGUgY29udmVyc2F0aWUnLAogICdMb29raW5nIGZvciB5b3VyIG90aGVyIHRpY2tldHM/JyA9PiAnT3Agem9layBuYWFyIGplIGFuZGVyZSB0aWNrZXRzPycsCiAgJ0xvb2t1cCBhIHVzZXInID0+ICdab2VrIGVlbiBnZWJydWlrZXInLAogICdMb29rdXAgb3IgY3JlYXRlIGEgdXNlcicgPT4gJ1ZpbmQgb2YgY3Jlw6tlciBlZW4gZ2VicnVpa2VyJywKICAnTWFpbCBGZXRjaCBFcnJvcicgPT4gJ01haWwgRmV0Y2ggRXJyb3InLAogICdNYWlsIEZldGNoIEZhaWx1cmUgQWxlcnQnID0+ICdNYWlsIEZldGNoIE1pc2x1a3QgV2FhcnNjaHV3aW5nJywKICAnTWFpbCBGZXRjaGVyJyA9PiAnTWFpbCBGZXRjaGVyJywKICAnTWFpbCBmZXRjaGVyIGNyb24gY2FsbCBbJXNdJyA9PiAnTWFpbCBvcGhhYWwgY3JvbiBwcm9ncmFtbWEgWyVzXScsCiAgJ01haWxib3gnID0+ICdNYWlsYm94JywKICAnTWFpbGJveCBTZXR0aW5nJyA9PiAnTWFpbGJveCBpbnN0ZWxsaW5nJywKICAnTWFpbGVyIEVycm9yJyA9PiAnTWFpbGVyIGZvdXQnLAogICdNYWlsZXIgV2FybmluZycgPT4gJ01haWxlciB3YWFyc2NodXdpbmcnLAogICdNYWludGFpbiBhY2Nlc3MgdG8gY3VycmVudCBwcmltYXJ5IGRlcGFydG1lbnQnID0+ICdCZWhvdWQgdG9lZ2FuZyB0b3QgZGUgaHVpZGlnZSBwcmltYWlyZSBhZmRlbGluZycsCiAgJ01ha2UgSW50ZXJuYWwnID0+ICdJbnRlcm4gbWFrZW4nLAogICdNYWtlIFB1YmxpYycgPT4gJ09wZW5iYWFyIG1ha2VuJywKICAnTWFrZSB0aGUgdGl0bGUgc2hvcnQgYW5kIGNsZWFyLicgPT4gJ01hYWsgZGUgdGl0ZWwga29ydCBlbiBkdWlkZWxpamsuJywKICAnTWFraW5nIGZpZWxkcyA8ZW0+dmlzaWJsZTwvZW0+IGFsbG93cyBhZ2VudHMgYW5kIGVuZHVzZXJzIHRvIHZpZXcgYW5kIGNyZWF0ZSBpbmZvcm1hdGlvbiBpbiB0aGlzIGZpZWxkLicgPT4gJ0Rvb3IgdmVsZGVuIDxlbT4gemljaHRiYWFyPC9lbT4gdGUgbWFrZW4sIGNyZcOrZXJ0IGRlIG1vZ2VsaWpraGVpZCBvbSBkZXplIHZlbGRlbiB0ZSB6aWVuIGVuIGluIHRlIHZ1bGxlbi4nLAogICdNYWxmb3JtZWQgVVRGLTggY2hhcmFjdGVycywgcG9zc2libHkgaW5jb3JyZWN0bHkgZW5jb2RlZCcgPT4gJ09uZ2VsZGlnZSBVVEYtOC10ZWtlbnMsIG1vZ2VsaWprIG9uanVpc3QgZ2Vjb2RlZXJkJywKICAnTWFuYWdlJyA9PiAnQmVoZWVyJywKICAnTWFuYWdlIDJGQSBPcHRpb25zJyA9PiAnQmVoZWVyIDJGQS1vcHRpZXMnLAogICdNYW5hZ2UgQWNjZXNzJyA9PiAnT25kZXJob3VkIHRvZWdhbmcnLAogICdNYW5hZ2UgQWNjb3VudCcgPT4gJ09uZGVyaG91ZCBhY2NvdW50JywKICAnTWFuYWdlIEFjY291bnQgQWNjZXNzJyA9PiAnT25kZXJob3VkIGFjY291bnQgdG9lZ2FuZycsCiAgJ01hbmFnZSBBZ2VudCcgPT4gJ0FnZW50IGJlaGVyZW4nLAogICdNYW5hZ2UgQWdlbnRzJyA9PiAnVmVydGVnZW53b29yZGlnZXJzIGJlaGVyZW4nLAogICdNYW5hZ2UgQ29sbGFib3JhdG9ycycgPT4gJ09uZGVyaG91ZCBzYW1lbndlcmtlcnMnLAogICdNYW5hZ2UgQ29udGVudCcgPT4gJ09uZGVyaG91ZCBpbmhvdWQnLAogICdNYW5hZ2UgRkFRIEFjY2VzcycgPT4gJ0Jld2VyayBGQVEtdG9lZ2FuZycsCiAgJ01hbmFnZSBGb3JtcycgPT4gJ0Zvcm11bGllcmVuIGJlaGVlcicsCiAgJ01hbmFnZSBPcHRpb25zJyA9PiAnQmVoZWVyIG9wdGllcycsCiAgJ01hbmFnZSBPcmdhbml6YXRpb24nID0+ICdCZXdlcmsgb3JnYW5pc2F0aWUnLAogICdNYW5hZ2UgUXVldWUgU29ydGluZycgPT4gJ0JlaGVlciB3YWNodHJpaiB2b2xnb3JkZScsCiAgJ01hbmFnZSBSZWZlcnJhbHMnID0+ICdWZXJ3aWp6aW5nZW4gYmVoZXJlbicsCiAgJ01hbmFnZSBTZXF1ZW5jZXMnID0+ICdPbmRlcmhvdWQgc3lzdGVlbXRlbGxlcnMnLAogICdNYW5hZ2UgU29ydCBPcHRpb25zJyA9PiAnQmVoZWVyIHNvcnRlZXIgb3B0aWVzJywKICAnTWFuYWdlIFVzZXInID0+ICdCZXdlcmsgZ2VicnVpa2VyJywKICAnTWFuYWdlIFlvdXIgUHJvZmlsZSBJbmZvcm1hdGlvbicgPT4gJ1V3IHByb2ZpZWxpbmZvcm1hdGllIGJlaGVyZW4nLAogICdNYW5hZ2UgY29sdW1ucyBpbiB0aGlzIHF1ZXVlJyA9PiAnQmVoZWVyIGRlIGtvbG9tbWVuIGluIGRlemUgd2FjaHRyaWonLAogICdNYW5hZ2VyJyA9PiAnQWZkZWxpbmdzYmVoZWVyZGVyJywKICAnTWFudWFsIHVwZ3JhZGUgcmVxdWlyZWQgKGFqYXggZmFpbGVkKScgPT4gJ0hhbmRtYXRpZ2UgdXBncmFkZSB2ZXJlaXN0IChhamF4IG1pc2x1a3QpJywKICAnTWFudWFsbHknID0+ICdIYW5kbWF0aWcnLAogICdNYW51YWxseSBTb3J0ZWQnID0+ICdIYW5kbWF0aWcgZ2Vzb3J0ZWVyZCcsCiAgJ01hcmsgYXMgQW5zd2VyZWQnID0+ICdNYXJrZWVyIGFscyBiZWFudHdvb3JkJywKICAnTWFyayBhcyBPdmVyZHVlJyA9PiAnTWFya2VlciBhbHMgdmVybG9wZW4nLAogICdNYXJrIGFzIFVuYW5zd2VyZWQnID0+ICdNQXJrZWVyIGFscyBvbmJlYW50d29vcmQnLAogICdNYXJrZWQgb3ZlcmR1ZSEnID0+ICdHZW1hcmtlZXJkIGFscyB2ZXJsb3BlbiEnLAogICdNYXRjaCBBbGwnID0+ICd2b2xkb2UgYWxsZXMnLAogICdNYXRjaCBBbnknID0+ICd2b2xkb2UgZW5pZ2UnLAogICdNYXRjaGVzIFJlZ2V4JyA9PiAnVm9sZG9ldCBhYW4gcmVnZXgnLAogICdNYXggTGVuZ3RoJyA9PiAnTWF4IGxlbmd0ZScsCiAgJ01heCBhbGxvd2VkOiAlZCcgPT4gJ01heCB0b2VnZXN0YWFuOiAlZCcsCiAgJ01heCBvcGVuIHRpY2tldHMgKCUxJGQpIHJlYWNoZWQgZm9yICUyJHMnID0+ICdNYXhpbWFsZSBvcGVuIHRpY2tldHMgKCUxJGQpIGJlcmVpa3Qgdm9vciAlMiRzJywKICAnTWF4aW11bSA8Yj5PcGVuPC9iPiBUaWNrZXRzJyA9PiAnTWF4aW1hYWwgPGI+b3BlbjwvYj4gdGlja2V0cycsCiAgJ01heGltdW0gRmlsZSBTaXplJyA9PiAnTWF4aW1hbGUgYmVzdGFuZHNncm9vdHRlJywKICAnTWF4aW11bSBGaWxlcycgPT4gJ01heGltdW0gYWFudGFsIGJlc3RhbmRlbicsCiAgJ01heGltdW0gT3BlbiBUaWNrZXRzIExpbWl0ICglcyknID0+ICdNYXhpbWFhbCBnZW9wZW5kZSB0aWNrZXRzIGxpbWlldCAoJXMpJywKICAnTWF4aW11bSBQYWdlIHNpemUnID0+ICdNYXhpbWFsZSBwYWdpbmFncm9vdHRlJywKICAnTWF4aW11bSBlbWFpbHMgcmVxdWlyZWQnID0+ICdNYXhpbXVtIGUtbWFpbHMgdmVyZWlzdCcsCiAgJ01heGltdW0gZmFpbGVkIGxvZ2luIGF0dGVtcHRzIHJlYWNoZWQnID0+ICdNYXhpbXVtIGFhbnRhbCBpbmxvZyBwb2dpbmdlbiBiZXJlaWt0JywKICAnTWF4aW11bSBvcGVuIHRpY2tldHMgKCUxJGQpIHJlYWNoZWQgZm9yICUyJHMnID0+ICdNYXhpbWFsZSBvcGVuIHRpY2tldHMgKCUxJGQpIGJlcmVpa3Qgdm9vciAlMiRzJywKICAnTWF4aW11bSBvcGVuIHRpY2tldHMgcmVhY2hlZCBmb3IgJXMuJyA9PiAnTWF4aW1hbGUgb3BlbiB0aWNrZXRzIGJlcmVpa3Qgdm9vciAlcy4nLAogICdNYXhpbXVtIHN0YWNrIGRlcHRoIGV4Y2VlZGVkJyA9PiAnTWF4aW1hbGUgc3RhcGVsIGRpZXB0ZSBvdmVyc2NocmVkZW4nLAogICdNZScgPT4gJ01paicsCiAgJ01lbWJlcnMnID0+ICdMZWRlbicsCiAgJ01lcmdlZCcgPT4gJ1NhbWVuZ2V2b2VnZCcsCiAgJ01lc3NhZ2UnID0+ICdCZXJpY2h0JywKICAnTWVzc2FnZSBQb3N0ZWQgU3VjY2Vzc2Z1bGx5JyA9PiAnQmVyaWNodCBzdWNjZXN2b2wgZ2VwbGFhdHN0JywKICAnTWVzc2FnZSBib2R5JyA9PiAnQmVyaWNodHRla3N0JywKICAnTWVzc2FnZSBjb250ZW50JyA9PiAnQmVyaWNodGluaG91ZCcsCiAgJ01lc3NhZ2UgY29udGVudCBpcyByZXF1aXJlZCcgPT4gJ0JlcmljaHRpbmhvdWQgaXMgdmVyZWlzdCcsCiAgJ01lc3NhZ2UgZnJvbSB0aGUgRW5kVXNlcicgPT4gJ0JlcmljaHQgdmFuIGRlIEVpbmRnZWJydWlrZXInLAogICdNZXNzYWdlIHJlY2lwaWVudCcgPT4gJ0JlcmljaHRvbnR2YW5nZXInLAogICdNZXNzYWdlIHJlcXVpcmVkJyA9PiAnQmVyaWNodCB2ZXJlaXN0JywKICAnTWVzc2FnZSBzaG93biB0byB1c2VyIGlmIHRoZSBpbnB1dCBkb2VzIG5vdCBtYXRjaCB0aGUgdmFsaWRhdG9yJyA9PiAnQmVyaWNodCB3YXQgZ2V0b29uZCB3b3JkdCBhYW4gZGUgZ2VicnVpa2VyIGFscyBkZSBpbnZvZXIgbmlldCBvdmVyZWVuIGtvbXQgbWV0IGRlIHZhbGlkYXRvcicsCiAgJ01lc3NhZ2Ugc2hvd24gdG8gdXNlciBpZiB0aGUgaXRlbSBlbnRlcmVkIGlzIG5vdCBpbiB0aGUgbGlzdCcgPT4gJ0JlcmljaHQgZ2V0b29uZCBhYW4gZGUgZ2VicnVpa2VyIGFscyBoZXQgaXRlbSBuaWV0IGluIGRlIGxpanN0IHN0YWF0JywKICAnTWlncmF0ZSB0byBvc1RpY2tldCAlcycgPT4gJ01pZ3JlcmVuIG5hYXIgb3NUaWNrZXQgJXMnLAogICdNaW5pbXVtIGxlbmd0aCcgPT4gJ01pbmltYWxlIGxlbmd0ZScsCiAgJ01pbmltdW0gcmVxdWlyZW1lbnRzIG5vdCBtZXQhJyA9PiAnTmlldCB2b2xkYWFuIGFhbiBkZSBtaW5pbWFsZSBzeXN0ZWVtdmVyZWlzdGVuIScsCiAgJ01pbmltdW0gcmVxdWlyZW1lbnRzIG5vdCBtZXQhIFJlZmVyIHRvIFJlbGVhc2UgTm90ZXMgZm9yIG1vcmUgaW5mb3JtYXRpb24nID0+ICdVIHZvbGRvZXQgbmlldCBhYW4gZGUgbWluaW1hbGUgc3lzdGVlbXZlcmVpc3RlbiEgQmVraWprIGRlIGluc3RhbGxhdGllaGFuZGxlaWRpbmcgdm9vciBtZWVyIGluZm9ybWF0aWUnLAogICdNaXNjZWxsYW5lb3VzJyA9PiAnRGl2ZXJzZW4nLAogICdNaXNzaW5nIG9yIGludmFsaWQgZGF0YScgPT4gJ0dlZ2V2ZW5zIG9udGJyZWtlbiBvZiBvbmdlbGRpZycsCiAgJ01vYmlsZSBOdW1iZXInID0+ICdNb2JpZWwgbnVtbWVyJywKICAnTW9yZScgPT4gJ01lZXInLAogICdNb3N0IFJlY2VudGx5IENsb3NlZCcgPT4gJ0xhYXRzdCBnZXNsb3RlbicsCiAgJ01vc3QgUmVjZW50bHkgQ3JlYXRlZCcgPT4gJ01lZXN0IHJlY2VudCBnZW1hYWt0JywKICAnTW9zdCBSZWNlbnRseSBVcGRhdGVkJyA9PiAnTWVlc3QgcmVjZW50IGdld2lqemlnZCcsCiAgJ01vc3QgaG9zdHMgdXNlIFwnbG9jYWxob3N0XCcgZm9yIGxvY2FsIGRhdGFiYXNlIGhvc3RuYW1lLiBDaGVjayB3aXRoIHlvdXIgaG9zdCBpZiBsb2NhbGhvc3QgZmFpbHMuIERlZmF1bHQgcG9ydCBzZXQgaW4gcGhwLmluaSBpcyBhc3N1bWVkLicgPT4gJ0RlIG1lZXN0ZSBzZXJ2ZXJzIGdlYnJ1aWtlbiBcJ2xvY2FsaG9zdFwnIGFscyBsb2thbGUgZGF0YWJhc2UgaG9zdG5hYW0uIENvbnRyb2xlZXIgamUgaG9zdCBhbHMgbG9jYWxob3N0IG5pZXQgd2Vya3QuIFN0YW5kYWFyZCBwb3J0aW5zdGVsbGluZ2VuIGluIHBocC5pbmkgemlqbiBhYW5nZW5vbWVuLicsCiAgJ01vdmUgdG8gZm9sZGVyJyA9PiAnVmVycGxhYXRzIG5hYXIgbWFwJywKICAnTXIuIEZpcnN0IE0uIExhc3QgU3IuJyA9PiAnTXIuIEVlcnN0IE0uIExhYXRzdCBTci4nLAogICdNci4gTGFzdCcgPT4gJ01yLiBBY2h0ZXJuYWFtJywKICAnTXVsdGlmYWN0b3IgQXV0aGVudGljYXRpb24nID0+ICdNdWx0aWZhY3Rvci1hdXRoZW50aWNhdGllJywKICAnTXVsdGlzZWxlY3QnID0+ICdNZWVyZ2VzZWxlY3RlZXJkZScsCiAgJ011c3QgYmUgbnVtZXJpYyB2YWx1ZScgPT4gJ01vZXQgZWVuIG51bWVyaWVrZSB3YWFyZGUgemlqbicsCiAgJ011c3QgY2hlY2sgYXQgbGVhc3Qgb25lIHBlcm1pc3Npb24gZm9yIHRoZSByb2xlJyA9PiAnSmUgbW9ldCBtaW5zdGVucyAxIHJlY2h0IGFhbiBkZSByb2wgdG9ld2lqemVuJywKICAnTXkgQWNjb3VudCBQcm9maWxlJyA9PiAnTWlqbiBhY2NvdW50cHJvZmllbCcsCiAgJ015IExvY2F0aW9uJyA9PiAnTWlqbiBsb2NhdGllJywKICAnTXkgTmFtZScgPT4gJ01pam4gbmFhbScsCiAgJ015IFByb2ZpbGUnID0+ICdNaWpuIHByb2ZpZWwnLAogICdNeSBTaWduYXR1cmUnID0+ICdNaWpuIGhhbmR0ZWtlbmluZycsCiAgJ015IFRhc2tzJyA9PiAnTWlqbiBUYWtlbicsCiAgJ015U1FMIERhdGFiYXNlJyA9PiAnTXlTUUwgRGF0YWJhc2UnLAogICdNeVNRTCBIb3N0bmFtZScgPT4gJ015U1FMIEhvc3RuYW1lJywKICAnTXlTUUwgUGFzc3dvcmQnID0+ICdNeVNRTCBXYWNodHdvb3JkJywKICAnTXlTUUwgVGFibGUgUHJlZml4JyA9PiAnTXlTUUwgdGFiZWwgdm9vcnZvZWdzZWwnLAogICdNeVNRTCBVc2VybmFtZScgPT4gJ015U1FMIEdlYnJ1aWtlcnNuYWFtJywKICAnTXlTUUwgVmVyc2lvbicgPT4gJ015U1FMdmVyc2llJywKICAnTXlTUUwgcGFzc3dvcmQgYXNzb2NpYXRlZCB3aXRoIGFib3ZlIHVzZXIuJyA9PiAnSGV0IE15U1FMIHdhY2h0d29vcmQgZGF0IGdla29wcGVsZCBpcyBhYW4gYm92ZW5zdGFhbmRlIGdlYnJ1aWtlci4nLAogICdNeVNRTGkgZXh0ZW5zaW9uIGZvciBQSFAnID0+ICdNeVNRTGkgZXh0ZW5zaWUgdm9vciBwaHAnLAogICdNeXN0ZXJ5IE1hbicgPT4gJ015c3RlcmlldXMgZmlndXVyJywKICAnTk8gRkFRcyBmb3VuZCcgPT4gJ0dFRU4gZ2V2b25kZW4gRkFRcycsCiAgJ05hbWUnID0+ICdOYWFtJywKICAnTmFtZSBFeHBhbnNpb24nID0+ICdOYWFtIHVpdGJyZWlkaW5nJywKICAnTmFtZSBGb3JtYXR0aW5nJyA9PiAnTmFhbSBpbmRlbGluZycsCiAgJ05hbWUgUmVxdWlyZWQnID0+ICdOYWFtIHZlcmVpc3QnLAogICdOYW1lIGFscmVhZHkgZXhpc3RzJyA9PiAnTmFhbSBiZXN0YWF0IGFsJywKICAnTmFtZSBhbHJlYWR5IGluIHVzZScgPT4gJ05hYW0gYWwgaW4gZ2VicnVpaycsCiAgJ05hbWUgYWxyZWFkeSBpbi11c2UnID0+ICdOYWFtIGlzIGFsIGluIGdlYnJ1aWsnLAogICdOYW1lIGFuZCBFbWFpbCcgPT4gJ05hYW0gZW4gZS1tYWlsJywKICAnTmFtZSBpcyByZXF1aXJlZCcgPT4gJ05hYW0gaXMgdmVyZWlzdCcsCiAgJ05hbWUgaXMgdG9vIHNob3J0LiAzIGNoYXJzIG1pbmltdW0nID0+ICdOYWFtIGlzIHRlIGtvcnQuIE1pbmltYWFsIDMgdGVrZW5zJywKICAnTmFtZSBvZiB0aGUgZGF0YWJhc2Ugb3NUaWNrZXQgd2lsbCB1c2UuJyA9PiAnTmFhbSB2YW4gZGUgZG9vciBvc1RpY2tldCB0ZSBnZWJydWlrZW4gZGF0YWJhc2UuJywKICAnTmFtZSBvZiB0aWNrZXQgb3duZXInID0+ICdOYWFtIHZhbiBkZSB0aWNrZXQtZWlnZW5hYXInLAogICdOYW1lIHJlcXVpcmVkJyA9PiAnTmFhbSB2ZXJwbGljaHQnLAogICdOZWVkIEhlbHA/JyA9PiAnSHVscCBub2RpZz8nLAogICdOZXZlciBQdXJnZSBMb2dzJyA9PiAnU2Nob29uIGxvZ2Jlc3RhbmRlbiBOT09JVCBvcCcsCiAgJ05ldyBBY3Rpdml0eSBBbGVydCcgPT4gJ05pZXV3ZSBhY3Rpdml0ZWl0IG1lbGRpbmcnLAogICdOZXcgQWN0aXZpdHkgTm90aWNlJyA9PiAnTWVsZGluZyBiaWogbmlldXdlIGFjdGl2aXRlaXQnLAogICdOZXcgSW50ZXJuYWwgQWN0aXZpdHkgQWxlcnQnID0+ICdOaWV1d2UgaW50ZXJuZSBhY3Rpdml0ZWl0IG1lbGRpbmcnLAogICdOZXcgSW50ZXJuYWwgTm90ZScgPT4gJ05pZXV3ZSBpbnRlcm5lIG5vdGl0aWUnLAogICdOZXcgTWVzc2FnZScgPT4gJ05pZXV3IGJlcmljaHQnLAogICdOZXcgTWVzc2FnZSBBbGVydCcgPT4gJ01lbGRpbmcgdmFuIG5pZXV3IGJlcmljaHQnLAogICdOZXcgTWVzc2FnZSBBdXRvLXJlc3BvbnNlJyA9PiAnQXV0b21hdGlzY2ggYW50d29vcmQgb3AgbmlldXcgYmVyaWNodCcsCiAgJ05ldyBQYXNzd29yZCcgPT4gJ05pZXV3IHdhY2h0d29vcmQnLAogICdOZXcgUmVzcG9uc2UnID0+ICdOaWV1d2UgcmVhY3RpZScsCiAgJ05ldyBTZXF1ZW5jZScgPT4gJ05pZXV3ZSBzeXN0ZWVtdGVsbGVyJywKICAnTmV3IFRhc2snID0+ICdOaWV1d2UgdGFhaycsCiAgJ05ldyBUYXNrIEFsZXJ0JyA9PiAnTmlldXdlIHRhYWsgbWVsZGluZycsCiAgJ05ldyBUaWNrZXQnID0+ICdOaWV1dyB0aWNrZXQnLAogICdOZXcgVGlja2V0IEFsZXJ0JyA9PiAnTmlldXcgVGlja2V0IE1lbGRpbmcnLAogICdOZXcgVGlja2V0IEF1dG8tcmVwbHknID0+ICdBdXRvbWF0aXNjaC1hbnR3b29yZCBvcCBuaWV1d2UgdGlja2V0cycsCiAgJ05ldyBUaWNrZXQgQXV0by1yZXNwb25zZScgPT4gJ0F1dG9tYXRpc2NoIGFudHdvb3JkIHZvb3IgbmlldXdlIHRpY2tldHMnLAogICdOZXcgVGlja2V0IE5vdGljZScgPT4gJ05pZXV3ZSBUaWNrZXQgbWVkZWRlbGluZycsCiAgJ05ldyBUaWNrZXQgU2V0dGluZ3MnID0+ICdOaWV1dyB0aWNrZXQgaW5zdGVsbGluZ2VuJywKICAnTmV3IFRpY2tldCBieSBBZ2VudCcgPT4gJ05pZXV3IFRpY2tldCBkb29yIFZlcnRlZ2Vud29vcmRpZ2VyJywKICAnTmV3IGVudHJpZXMgY2Fubm90IGJlIGNyZWF0ZWQgdW5sZXNzIGFsbCA8ZW0+cmVxdWlyZWQ8L2VtPiBmaWVsZHMgaGF2ZSB2YWxpZCBkYXRhLicgPT4gJ05pZXV3ZSBpbmdhdmVzIGt1bm5lbiBuaWV0IGdlY3Jlw6tlcmQgd29yZGVuIHpvbmRlciBkYXQgYWxsZSA8ZW0+dmVycGxpY2h0ZTwvZW0+IHZlbGRlbiBnZXZhbGlkZWVyZGUgZ2VnZXZlbnMgYmV2YXR0ZW4uJywKICAnTmV3IGludGVybmFsIG5vdGUgcG9zdGVkJyA9PiAnTmlldXdlIGludGVybmUgbm90aXRpZSBnZXBvc3QnLAogICdOZXcgcGFzc3dvcmQgTVVTVCBiZSBkaWZmZXJlbnQgZnJvbSB0aGUgY3VycmVudCBwYXNzd29yZCEnID0+ICdOaWV1d2Ugd2FjaHR3b29yZCBtb2V0IHZlcnNjaGlsbGVuIHZhbiBkZSBodWlkaWdlIHdhY2h0d29vcmQhJywKICAnTmV3IHBhc3N3b3JkIGlzIHJlcXVpcmVkJyA9PiAnTmlldXcgd2FjaHR3b29yZCBpcyB2ZXJlaXN0JywKICAnTmV3IHJlc3BvbnNlIHBvc3RlZCcgPT4gJ05pZXV3IGFudHdvb3JkIGdlcG9zdCcsCiAgJ05ldyB0aWNrZXQgb3B0aW9ucycgPT4gJ05pZXV3IHRpY2tldCBvcHRpZXMnLAogICdOZXcgdGlja2V0cyBmcm9tIHRoZSBlbWFpbCBhZGRyZXNzIHdpbGwgYmUgYXV0by1yZWplY3RlZC4nID0+ICdOaWV1d2UgdGlja2V0cyB2YW5hZiBkaXQgZS1tYWlsYWRyZXMgd29yZGVuIGF1dG9tYXRpc2NoIGdld2VpZ2VyZC4nLAogICdOZXcgdGlja2V0cyBmcm9tIHRoZSBlbWFpbCBhZGRyZXNzIHdpbGwgYmUgYXV0b21hdGljYWxseSByZWplY3RlZC4nID0+ICdOaWV1d2UgdGlja2V0cyB2YW5hZiBkaXQgZW1haWxhZHJlcyB3b3JkZW4gYXV0b21hdGlzY2ggZ2V3ZWlnZXJkLicsCiAgJ05ld3MgJmFtcDsgQW5ub3VuY2VtZW50cycgPT4gJ05pZXV3cyAmYW1wOyBBYW5rb25kaWdpbmdlbicsCiAgJ05vJyA9PiAnTmVlJywKICAnTm8gQVBJIGtleXMgZm91bmQnID0+ICdHZWVuIEFQSSBzbGV1dGVscyBnZXZvbmRlbicsCiAgJ05vIEF1dGhlbnRpY2F0aW9uIFJlcXVpcmVkJyA9PiAnR2VlbiB2ZXJpZmljYXRpZSB2ZXJlaXN0JywKICAnTm8gRkFRIGNhdGVnb3JpZXMgZm91bmQhJyA9PiAnR2VlbiBGQVEgY2F0ZWdvcmnDq24gZ2V2b25kZW4hJywKICAnTm8gU0xBIHBsYW5zIGZvdW5kJyA9PiAnR2VlbiBTTEEgbml2ZWF1cyBnZXZvbmRlbicsCiAgJ05vIGFnZW50cyBhdmFpbGFibGUgZm9yIGFzc2lnbm1lbnQnID0+ICdHZWVuIGFnZW50ZW4gYmVzY2hpa2JhYXIgdm9vciBkZSB0b2V3aWp6aW5nJywKICAnTm8gYWdlbnRzIGZvdW5kIScgPT4gJ0dlZW4gbWVkZXdlcmtlcnMgZ2V2b25kZW4hJywKICAnTm8gYmFubmVkIGVtYWlscyBmb3VuZCEnID0+ICdHZWVuIGdlYmxva2tlZXJkZSBlLW1haWxzIGdldm9uZGVuIScsCiAgJ05vIGJhbm5lZCBlbWFpbHMgbWF0Y2hpbmcgdGhlIHF1ZXJ5IGZvdW5kIScgPT4gJ0dlZW4gZ2VibG9ra2VlcmRlIGUtbWFpbHMgZ2V2b25kZW4gZGllIGFhbiBkZSB6b2Vrb3BkcmFjaHQgdm9sZG9lbiEnLAogICdObyBjYW5uZWQgcmVzcG9uc2VzJyA9PiAnR2VlbiB2b29yZ2VkZWZpbmVlcmRlIGFudHdvb3JkZW4nLAogICdObyBjdXN0b20gbGlzdHMgZGVmaW5lZCB5ZXQgJm1kYXNoOyAlcyBhZGQgb25lICVzIScgPT4gJ0dlZW4gYWFuZ2VwYXN0ZSBsaWpzdGVuIGdlZGVmaW5pZWVyZCAmbWRhc2g7ICVzIHZvZWcgdG9lICVzIScsCiAgJ05vIGRlcGFydG1lbnRzIGZvdW5kIScgPT4gJ0dlZW4gYWZkZWxpbmdlbiBnZXZvbmRlbiEnLAogICdObyBlbWFpbHMgZm91bmQhJyA9PiAnR2VlbiBlLW1haWwgZ2V2b25kZW4hJywKICAnTm8gZW50cmllcyBoYXZlIGJlZW4gcG9zdGVkIHRvIHRoaXMgdGhyZWFkLicgPT4gJ0VyIGlzIGluIGRlemUgZGlzY3Vzc2llIG5vZyBuaWV0cyBnZXBsYWF0c3QuJywKICAnTm8gZXJyb3JzJyA9PiAnR2VlbiBmb3V0ZW4nLAogICdObyBleHRyYSBmb3JtcyBkZWZpbmVkIHlldCAmbWRhc2g7ICVzIGFkZCBvbmUhICVzJyA9PiAnTm9nIGdlZW4gZXh0cmEgZm9ybXVsaWVyZW4gZ2VkZWZpbmllZXJkICZtZGFzaDsgJXMgdm9lZyB0b2UhICVzJywKICAnTm8gZmllbGRzIHNlbGVjdGVkIGZvciBzZWFyY2hpbmcnID0+ICdHZWVuIHZlbGRlbiBnZXNlbGVjdGVlcmQgb20gb3AgdGUgem9la2VuJywKICAnTm8gZmllbGRzIHNldCB1cCcgPT4gJ0dlZW4gdmVsZGVuIGluZ2VzdGVsZCcsCiAgJ05vIGZpbHRlcnMgZm91bmQnID0+ICdHZWVuIGZpbHRlcnMgZ2V2b25kZW4nLAogICdObyBoZWxwIHRvcGljcyBmb3VuZCcgPT4gJ2dlZW4gaGVscG9uZGVyd2VycGVuIGdldm9uZGVuJywKICAnTm8gbGltaXQnID0+ICdHZWVuIGxpbWlldCcsCiAgJ05vIGxvZ3MgZm91bmQnID0+ICdHZWVuIGxvZ3MgZ2V2b25kZW4nLAogICdObyBvbmUgKGRpc2FibGUgQWxlcnRzIGFuZCBOb3RpY2VzKScgPT4gJ05pZW1hbmQgKHNjaGFrZWwgYmVyaWNodGdldmluZyB2b2xsZWRpZyB1aXQpJywKICAnTm8gb3JnYW5pemF0aW9ucyBmb3VuZCEnID0+ICdHZWVuIG9yZ2FuaXNhdGllIGdldm9uZGVuIScsCiAgJ05vIHBhZ2VzIGZvdW5kIScgPT4gJ2dlZW4gcGFnaW5hXCdzIGdldm9uZGVuIScsCiAgJ05vIHBsdWdpbnMgaW5zdGFsbGVkIHlldCAmbWRhc2g7ICVzIGFkZCBvbmUgJXMhJyA9PiAnR2VlbiBwbHVnaW5zIGdlw69uc3RhbGxlZXJkICZtZGFzaDsgJXMgVm9lZyBlciDDqcOpbiB0b2UgJXMhJywKICAnTm8gcHJlbWFkZSByZXNwb25zZXMgZm91bmQhJyA9PiAnR2VlbiB2b29yZ2VkZWZpbmVlcmRlIGFudHdvb3JkZW4gZ2V2b25kZW4hJywKICAnTm8gcmVzdHJpY3Rpb25zJyA9PiAnR2VlbiBiZXBlcmtpbmdlbicsCiAgJ05vIHJvbGVzIGRlZmluZWQgeWV0ICZtZGFzaDsgJXMgYWRkIG9uZSAlcyEnID0+ICdFciB6aWpuIG5vZyBnZWVuIHJvbGxlbiBnZWRlZmluaWVlcmQgJm1kYXNoOyAlcyB2b2VnIGVyIGVlbiB0b2UgJXMhJywKICAnTm8gc3VjaCBhZ2VudCcgPT4gJ09uYmVrZW5kZSBhZ2VudCcsCiAgJ05vIHN1Y2ggdGFzaycgPT4gJ09uYmVrZW5kZSB0YWFrJywKICAnTm8gc3VjaCB0aHJlYWQnID0+ICdPbmJla2VuZGUgZGlzY3Vzc2llJywKICAnTm8gc3VjaCB0aWNrZXQnID0+ICdHZWVuIGRlcmdlbGlqayB0aWNrZXQnLAogICdObyB0ZWFtcyBhdmFpbGFibGUgZm9yIGFzc2lnbm1lbnQnID0+ICdHZWVuIHRlYW1zIGJlc2NoaWtiYWFyIHZvb3IgZGV6ZSB0b2VrZW5uaW5nJywKICAnTm8gdGVhbXMgZm91bmQhJyA9PiAnR2VlbiB0ZWFtcyBnZXZvbmRlbiEnLAogICdObyB0ZW1wbGF0ZXMgZm91bmQhJyA9PiAnZ2VlbiBzamFibG9uZW4gZ2V2b25kZW4hJywKICAnTm8gdGhhbmtzLicgPT4gJ05lZSwgZGFuayB1LicsCiAgJ05vIHVzZXJzIGZvdW5kIScgPT4gJ0dlZW4gZ2VicnVpa2VycyBnZXZvbmRlbiEnLAogICdObywgQ2FuY2VsJyA9PiAnQW5udWxlcmVuJywKICAnTm9uZScgPT4gJ0dlZW4nLAogICdOb25lIChEaXNhYmxlIExvZ2dlciknID0+ICdHZWVuIChzY2hha2VsIGxvZ2dlbiB1aXQpJywKICAnTm9uZTogVXNlIFBIUCBtYWlsIGZ1bmN0aW9uJyA9PiAnR2VlbjogZ2VicnVpayBwaHAgbWFpbCBmdW5jdGllJywKICAnTm90IEVxdWFsJyA9PiAnTmlldCBnZWxpamsnLAogICdOb3QgYWxsIHNlbGVjdGVkIGl0ZW1zIHdlcmUgdXBkYXRlZCcgPT4gJ05pZXQgYWxsZSBnZXNlbGVjdGVlcmRlIGl0ZW1zIGt1bm5lbiB3b3JkZW4gYmlqZ2V3ZXJrdCcsCiAgJ05vdCBjdXJyZW50bHkgdHJhbnNsYXRlZCcgPT4gJ1Zvb3Jsb3BpZyBuaWV0IHZlcnRhYWxkJywKICAnTm90IHlldCByZWdpc3RlcmVkPycgPT4gJ05vZyBuaWV0IGdlcmVnaXN0cmVlcmQ/JywKICAnTm90ZSBjb250ZW50IGlzIHJlcXVpcmVkJyA9PiAnTm90aXRpZS1pbmhvdWQgaXMgdmVyZWlzdCcsCiAgJ05vdGUgZGV0YWlscycgPT4gJ05vdGl0aWUgZGV0YWlscycsCiAgJ05vdGUgcG9zdGVkIHN1Y2Nlc3NmdWxseScgPT4gJ05vdGl0aWUgc3VjY2Vzdm9sIG9wZ2VzbGFnZW4nLAogICdOb3RlIHRoYXQgc29tZSBvZiB0aGUgZ2xvYmFsIHNldHRpbmdzIGNhbiBiZSBvdmVycmlkZGVuIGF0IGRlcGFydG1lbnQvZW1haWwgbGV2ZWwuJyA9PiAnU29tbWlnZSBnbG9iYWxlIGluc3RlbGxpbmdlbiBrdW5uZW4gd29yZGVuIG92ZXJzY2hyZXZlbiBvcCBhZmRlbGluZ3MtIG9mIGUtbWFpbC1uaXZlYXUuJywKICAnTm90ZSB0aXRsZSAtIHN1bW1hcnkgb2YgdGhlIG5vdGUgKG9wdGlvbmFsKScgPT4gJ1RpdGVsIHZhbiBkZSBOb3RpdGllIC0gc2FtZW52YXR0aW5nIHZhbiBkZSBub3RpdGllIChvcHRpb25lZWwpJywKICAnTm90ZXMnID0+ICdOb3RpdGllcycsCiAgJ05vdGVzICglZCknID0+ICdOb3RpdGllcyAoJWQpJywKICAnTm90ZXMgYWJvdXQgdGhlIGNhbm5lZCByZXNwb25zZS4nID0+ICdOb3RpdGllcyBvbXRyZW50IHZvb3JnZWRlZmluaWVlcmRlIGFudHdvb3JkZW4uJywKICAnTm90aGluZyB0byBkbyEgU3lzdGVtIGFscmVhZHkgdXBncmFkZWQgdG8gPGI+JXM8L2I+IHdpdGggbm8gcGVuZGluZyBwYXRjaGVzIHRvIGFwcGx5LicgPT4gJ05pZXRzIHRlIGRvZW4hIFV3IHN5c3RlZW0gaXMgcmVlZHMgYmlpamdld2Vya3QgbmFhciB2ZXJzaWUgPGI+JXM8L2I+LCBhbGxlIHVwZGF0ZXMgemlqbiByZWVkcyB1aXRnZXZvZXJkLicsCiAgJ05vdGhpbmcgdG8gZG8hIFN5c3RlbSBhbHJlYWR5IHVwZ3JhZGVkIHRvIHRoZSBjdXJyZW50IHZlcnNpb24nID0+ICdOaWV0cyB0ZSBkb2VuISBIZXQgc3lzdGVlbSBpcyByZWVkcyBiaWpnZXdlcmt0IG5hYXIgZGUgbGFhdHN0ZSB2ZXJzaWUnLAogICdOb3RpY2Ugc2VudCB0byB0aGUgdXNlci4nID0+ICdCZXJpY2h0IGFhbiBkZSBnZWJydWlrZXIgdmVyem9uZGVuLicsCiAgJ05vdGljZSBzZW50IHRvIHVzZXIsIGlmIGVuYWJsZWQsIG9uIG5ldyB0aWNrZXQgY3JlYXRlZCBieSBhbiBhZ2VudCBvbiB0aGVpciBiZWhhbGYgKGUuZyBwaG9uZSBjYWxscykuJyA9PiAnTWVsZGluZyBhYW4gZGUgZ2VicnVpa2VyIC1pbmRpZW4gZ2VhY3RpdmVlcmQtIGJpaiBlZW4gbmlldXcgdGlja2V0IGRpZSBhYW5nZW1hYWt0IGlzIGRvb3IgZWVuIG1lZGV3ZXJrZXIgbmFtZW5zIGdlYnJ1aWtlciAoYmlqdi4gdGVsZWZvb25nZXNwcmVrKS4nLAogICdOdW1iZXInID0+ICdOdW1tZXInLAogICdOdW1lcmljIHZhbHVlIHJlcXVpcmVkIChpbiBob3VycyknID0+ICdOdW1lcmlla2Ugd2FhcmRlIHZlcmVpc3QgKGluIHVyZW4pJywKICAnT0F1dGgyIEF1dGhvcml6YXRpb24nID0+ICdPQXV0aDItYXV0b3Jpc2F0aWUnLAogICdPQXV0aDIgQXV0aG9yaXphdGlvbiBmb3IgJXMnID0+ICdPQXV0aDItYXV0b3Jpc2F0aWUgdm9vciAlcycsCiAgJ09BdXRoMiBJbnN0YW5jZSBpcyBEaXNhYmxlZCcgPT4gJ09BdXRoMi1pbnN0YW50aWUgaXMgdWl0Z2VzY2hha2VsZCcsCiAgJ09BdXRoMiBQbHVnaW4gbXVzdCBiZSBlbmFibGVkJyA9PiAnT0F1dGgyLXBsdWdpbiBtb2V0IHppam4gaW5nZXNjaGFrZWxkJywKICAnT0snID0+ICdPSycsCiAgJ09mZmxpbmUnID0+ICdPZmZsaW5lJywKICAnT2ZmbGluZSBQYWdlJyA9PiAnT2ZmbGluZSBwYWdpbmEnLAogICdPbmNlIGFnYWluLCB0aGFuayB5b3UgZm9yIGNob29zaW5nIG9zVGlja2V0IGFzIHlvdXIgbmV3IGN1c3RvbWVyIHN1cHBvcnQgcGxhdGZvcm0hICcgPT4gJ05vZ21hYWxzLCBiZWRhbmt0IHZvb3IgaGV0IGZlaXQgZGF0IHUgZ2Vrb3plbiBoZWVmdCB2b29yIG9zVGlja2V0IGFscyB1dyBuaWV1d2Ugc3VwcG9ydHN5dGVlbSEgJywKICAnT25jZSBhZ2FpbiwgdGhhbmsgeW91IGZvciBjaG9vc2luZyBvc1RpY2tldC4nID0+ICdOb2dtYWFscywgZGFua3V3ZWwgdm9vciBoZXQga2llemVuIHZvb3Igb3NUaWNrZXQuJywKICAnT25lIG9mIG15IHRlYW1zJyA9PiAnMSB2YW4gbWlqbiB0ZWFtcycsCiAgJ09uZSBvciBtb3JlIG9mIHRoZSAlcyBpcyBpbi11c2UgYW5kIENBTk5PVCBiZSBkaXNhYmxlZC9kZWxldGVkLicgPT4gJzEgb2YgbWVlcmRlcmUgdmFuIGRlICVzIHppam4gaW4gZ2VicnVpayBlbiBrdW5uZW4gZHVzIG5pZXQgd29yZGVuIHVpdGdlc2NoYWtlbGQgb2YgdmVyd2lqZGVyZC4nLAogICdPbmUgdXNlcicgLiAiXDAiIC4gJyVkIHVzZXJzJyA9PiAnMSBnZWJydWlrZXInIC4gIlwwIiAuICclZCBnZWJydWlrZXJzJywKICAnT25saW5lJyA9PiAnT24tbGluZSBzdGF0dXMnLAogICdPbmx5IG9wZW4gdGlja2V0cyBjYW4gYmUgYXNzaWduZWQnID0+ICdBbGxlZW4gb3BlbiB0aWNrZXRzIGt1bm5lbiB3b3JkZW4gdG9lZ2VrZW5kJywKICAnT29wcycgPT4gJ09lcHMnLAogICdPcGVuJyA9PiAnT3BlbicsCiAgJ09wZW4gVGFza3MnID0+ICdPcGVuIHRha2VuJywKICAnT3BlbiBUaWNrZXRzJyA9PiAnT25iZWFudHdvb3JkZSB0aWNrZXRzJywKICAnT3BlbiBhIE5ldyBUYXNrJyA9PiAnT3BlbiBlZW4gbmlldXcgdGFhaycsCiAgJ09wZW4gYSBOZXcgVGlja2V0JyA9PiAnT3BlbiBlZW4gbmlldXcgdGlja2V0JywKICAnT3BlbiBpbWFnZSBhdHRhY2htZW50cyBpbiBuZXcgdGFiIG9yIGRpcmVjdGx5IGRvd25sb2FkLiAoQ1RSTCArIFJpZ2h0IENsaWNrKScgPT4gJ0FmYmVlbGRpbmdlbiBvcGVuZW4gaW4gZWVuIG5pZXV3IHRhYmJsYWQgb2YgZGlyZWN0IGRvd25sb2FkZW4uIChDVFJMICsgcmVjaHRlciBtdWlza25vcCknLAogICdPcGVuIHRpY2tldHM6ICVkJyA9PiAnT3BlbiB0aWNrZXRzOiAlZCcsCiAgJ09wZW5lZCcgPT4gJ0dlb3BlbmQnLAogICdPcHRpb25hbCcgPT4gJ09wdGlvbmVlbCcsCiAgJ09wdGlvbmFsIGludGVybmFsIG5vdGUgKHJlY29tbWVuZGVkIG9uIGFzc2lnbm1lbnQpJyA9PiAnT3B0aW9uZWxlIGludGVybmUgbm90aXRpZSAoYWFuYmV2b2xlbiBiaWogdG9ld2lqemluZyBhYW4gbWVkZXdlcmtlciknLAogICdPcHRpb25hbCByZWFzb24gZm9yIGRlbGV0aW5nICVzJyA9PiAnT3B0aW9uZWxlIHJlZGVuIHZvb3IgdmVyd2lqZGVyZW4gdmFuICVzJywKICAnT3B0aW9uYWwgcmVhc29uIGZvciBzdGF0dXMgY2hhbmdlIChpbnRlcm5hbCBub3RlKScgPT4gJ09wdGlvbmVsZSByZWRlbiB2b29yIHN0YXR1c3ZlcmFuZGVyaW5nIChpbnRlcm5lIG5vdGl0aWUpJywKICAnT3B0aW9uYWwgcmVhc29uIGZvciB0aGUgYXNzaWdubWVudCcgPT4gJ09wdGlvbmVsZSByZWRlbiB2b29yIHRvZWtlbm5pbmcnLAogICdPcHRpb25hbCByZWFzb24gZm9yIHRoZSBjbGFpbScgPT4gJ09wdGlvbmVsZSByZWRlbiB2b29yIGRlIHRvZWtlbm5pbmcnLAogICdPcHRpb25hbCByZWFzb24gZm9yIHRoZSBkZWxldGlvbicgPT4gJ09wdGlvbmVsZSByZWRlbiB2b29yIHZlcndpamRlcmluZycsCiAgJ09wdGlvbmFsIHJlYXNvbiBmb3IgdGhlIHRyYW5zZmVyJyA9PiAnT3B0aW9uZWxlIHJlZGVuIHZvb3IgZGUgdmVyaHVpemluZycsCiAgJ09wdGlvbmFsIHJlc3BvbnNlIHRvIHRoZSBhYm92ZSBpc3N1ZS4nID0+ICdPcHRpb25lbGUgcmVhY3RpZSBvcCBkZSBib3ZlbnN0YWFuZGUga3dlc3RpZS4nLAogICdPcHRpb25hbCBzaWduYXR1cmUgdXNlZCBvbiBvdXRnb2luZyBlbWFpbHMuJyA9PiAnT3B0aW9uZWxlIGhhbmR0ZWtlbmluZyBnZWJydWlrdCB2b29yIHVpdGdhYW5kZSBlLW1haWxzLicsCiAgJ09wdGlvbmFsbHkgc2VsZWN0IGEgbGVhZGVyIGZvciB0aGUgdGVhbScgPT4gJ1NlbGVjdGVlciBvcHRpb25lZWwgZWVuIGxlaWRlciB2b29yIGhldCB0ZWFtJywKICAnT3B0aW9uYWxseSwgY2hvb3NlIGFjY2VwdGFibGUgZmlsZSB0eXBlcy4nID0+ICdVIGt1bnQgZXJ2b29yIGtpZXplbiBvbSBlbmtlbCBvcGdlZ2V2ZW4gYmVzdGFuZHN0eXBlcyB0b2UgdGUgbGF0ZW4uJywKICAnT3B0aW9uYWxseSwgZW50ZXIgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgYWRkaXRpb25hbCBmaWxlIHR5cGVzLCBieSBleHRlbnNpb24uIChlLmcgLmRvYywgLnBkZikuJyA9PiAnVSBrYW4gZXJ2b29yIGtpZXplbiBvbSBlZW4ga29tbWEtZ2VzY2hlaWRlbiBsaWpzdCBpbiB0ZSB2b2VyZW4gdmFuIGV4dGVudGllcyB0ZXIgYWFudnVsbGluZy4gKGJpanZvb3JiZWVsZCAuZG9jLCAucGRmKS4nLAogICdPcHRpb25hbGx5LCB0aGlzIGZpZWxkIGNhbiBwcmV2ZW50IGNsb3NpbmcgYSB0aHJlYWQgdW50aWwgaXQgaGFzIHZhbGlkIGRhdGEuJyA9PiAnT3B0aW9uZWVsIGthbiBkaXQgdmVsZCBlZW4gZGlzY3Vzc2llIHNsdWl0ZW4gdGVnZW5ob3VkZW4gdG90IGhldCBnZXZhbGlkZWVyZGUgZGF0YSBiZXZhdC4nLAogICdPcHRpb25zJyA9PiAnT3B0aWVzJywKICAnT3JkZXInID0+ICdWb2xnb3JkZScsCiAgJ09yZGVyIHJlcXVpcmVkJyA9PiAnQWFudnJhYWcgdmVyZWlzdCcsCiAgJ09yZ2FuaXphdGlvbicgPT4gJ09yZ2FuaXNhdGllJywKICAnT3JnYW5pemF0aW9uIEFjY291bnQgTWFuYWdlcicgPT4gJ01hbmFnZXIgdmFuIGRlIG9yZ2FuaXNhdGllJywKICAnT3JnYW5pemF0aW9uIERhdGEnID0+ICdPcmdhbmlzYXRpZWdlZ2V2ZW5zJywKICAnT3JnYW5pemF0aW9uIElEIG11c3QgYmUgc3BlY2lmaWVkIGZvciBpbXBvcnQnID0+ICdEZSBvcmdhbmlzYXRpZUlEIG1vZXQgd29yZGVuIGdlc3BlY2lmaWNlZXJkIHZvb3IgaGV0IGltcG9ydGVyZW4nLAogICdPcmdhbml6YXRpb24gTG9va3VwJyA9PiAnT3JnYW5pc2F0aWUgb3B6b2VrZW4nLAogICdPcmdhbml6YXRpb24gTWVtYmVycycgPT4gJ0xlZGVuIHZhbiBkZSBvcmdhbmlzYXRpZScsCiAgJ09yZ2FuaXphdGlvbiBmb3IgJXMnID0+ICdPcmdhbmlzYXRpZSB2b29yICVzJywKICAnT3JnYW5pemF0aW9uIHdpdGggdGhlIHNhbWUgbmFtZSBhbHJlYWR5IGV4aXN0cycgPT4gJ09yZ2FuaXNhdGllIG1ldCBkZXplIG5hYW0gYmVzdGFhdCBhbCcsCiAgJ09yZ2FuaXphdGlvbnMnID0+ICdPcmdhbmlzYXRpZXMnLAogICdPcmlnaW5hbCcgPT4gJ09yaWdpbmVlbCcsCiAgJ09yaWdpbmFsIE1lc3NhZ2UnID0+ICdPcmlnaW5lbGUgYmVyaWNodCcsCiAgJ09yaWdpbmFsIFRocmVhZCBFbnRyeScgPT4gJ09yaWdpbmVsZSBkaXNjdXNzaWUgaW5nYXZlJywKICAnT3NjYXJcJ3MgQS1UZWFtJyA9PiAnT3NjYXJcJ3MgQS1UZWFtJywKICAnT3RoZXInID0+ICdBbmRlcnMnLAogICdPdGhlciBMYW5ndWFnZXMnID0+ICdBbmRlcmUgdGFsZW4nLAogICdPdGhlciBSZXNvdXJjZXMnID0+ICdPdmVyaWdlIGJyb25uZW4nLAogICdPdGhlciBWYXJpYWJsZXMnID0+ICdBbmRlcmUgdmFyaWFiZWxlbicsCiAgJ091dGdvaW5nJyA9PiAnVWl0Z2FhbmQnLAogICdPdXRnb2luZyBFbWFpbCcgPT4gJ1VpdGdhYW5kZSBlbWFpbCcsCiAgJ091dGdvaW5nIEVtYWlsIFNldHRpbmdzJyA9PiAnVWl0Z2FhbmRlIGVtYWlsIGluc3RlbGxpbmdlbicsCiAgJ091dGdvaW5nIHJlc3BvbnNlJyA9PiAnVmVyem9uZGVuIHJlYWN0aWUnLAogICdPdmVyZHVlJyA9PiAnQWNodGVyc3RhbGxpZycsCiAgJ092ZXJkdWUgVGFzayBBbGVydCcgPT4gJ1RhYWsgdGUgbGFhdCBtZWxkaW5nJywKICAnT3ZlcmR1ZSBUYXNrcycgPT4gJ1ZlcmxvcGVuIHRha2VuJywKICAnT3ZlcmR1ZSBUaWNrZXQgQWxlcnQnID0+ICdUZSBsYWF0IHRpY2tldCBtZWxkaW5nJywKICAnT3ZlcmxpbWl0IE5vdGljZScgPT4gJ01lbGRpbmcgd2FubmVlciBkZSBsaW1pZXQgaXMgYmVyZWlrdCcsCiAgJ1BIUCBFeHRlbnNpb25zJyA9PiAnUEhQZXh0ZW5zaWVzJywKICAnUEhQIFNldHRpbmdzJyA9PiAnUEhQSW5zdGVsbGluZ2VuJywKICAnUEhQIFZlcnNpb24nID0+ICdQSFB2ZXJzaWUnLAogICdQTkcgc3VwcG9ydCBpcyByZXF1aXJlZCBmb3IgSW1hZ2UgQ2FwdGNoYScgPT4gJ1BORyBvbmRlcnN0ZXVuaW5nIGlzIHZlcmVpc3Qgdm9vciBDYXB0Y2hhJywKICAnUE9QIG1haWwgc2VydmVycyBkbyBub3Qgc3VwcG9ydCBmb2xkZXJzJyA9PiAnUE9QIG1haWwgc2VydmVycyBvbmRlcnN0ZXVuZW4gZ2VlbiBtYXBwZW4nLAogICdQUycgPT4gJ1BTJywKICAnUGFkZGluZyBDaGFyYWN0ZXInID0+ICdWdWx0ZWtlbiAoa2FyYWt0ZXIpJywKICAnUGFnZScgPT4gJ1BhZ2luYScsCiAgJ1BhZ2UgQ29udGVudCcgPT4gJ1BhZ2luYSBpbmhvdWQnLAogICdQYWdlIE5vdCBGb3VuZCcgPT4gJ1BhZ2luYSBuaWV0IGdldm9uZGVuJywKICAnUGFnZSBib2R5IGlzIHJlcXVpcmVkJyA9PiAnUGFnaW5hIGJvZHkgaXMgdmVyZWlzdCcsCiAgJ1BhZ2UgaW5mb3JtYXRpb24nID0+ICdQYWdpbmEgaW5mb3JtYXRpZScsCiAgJ1BhZ2UgaXMgaW4tdXNlIScgPT4gJ1BhZ2luYSBpcyBpbiBnZWJydWlrIScsCiAgJ1BhZ2VzJyA9PiAnUGFnaW5hXCdzJywKICAnUGFwZXIgU2l6ZScgPT4gJ1BhcGllcmZvcm1hYXQnLAogICdQYXBlciBzaXplIHVzZWQgd2hlbiBwcmludGluZyB0aWNrZXRzIHRvIFBERicgPT4gJ1BhcGllcmZvcm1hYXQgZ2VicnVpa3QgYmlqIGFmZHJ1a2tlbiB2YW4gdGlja2V0cyBuYWFyIFBERicsCiAgJ1BhcmFtZXRlciBjb3VudCBkb2VzIG5vdCBtYXRjaCBxdWVyeScgPT4gJ1BhcmFtZXRlciBhYW50YWwga29tdCBuaWV0IG92ZXJlZW4gbWV0IGRlIHF1ZXJ5JywKICAnUGFyZW50JyA9PiAnUGFyZW50JywKICAnUGFyZW50IFF1ZXVlJyA9PiAnQm92ZW5saWdnZW5kZSB3YWNodHJpaicsCiAgJ1BhcmVudCBUb3BpYycgPT4gJ0hvb2Zkb25kZXJ3ZXJwJywKICAnUGFyZW50IGZpbHRlciBJRCByZXF1aXJlZCcgPT4gJ0JvdmVubGlnZ2VuZGUgZmlsdGVyIElEIHZlcmVpc3QnLAogICdQYXJ0aWNpcGFudHM6IFNlbmQgbmV3IGFjdGl2aXR5IG5vdGljZScgPT4gJ0RlZWxuZW1lcnM6IFZlcnplbmQgZWVuIGFjdGl2aXRlaXRzbWVsZGluZycsCiAgJ1Bhc3N3b3JkJyA9PiAnV2FjaHR3b29yZCcsCiAgJ1Bhc3N3b3JkIENoYW5nZScgPT4gJ3dhY2h0d29vcmQgdmVyYW5kZXJlbicsCiAgJ1Bhc3N3b3JkIFBvbGljeScgPT4gJ1dhY2h0d29vcmRiZWxlaWQnLAogICdQYXNzd29yZCBSZXNldCBFbWFpbCcgPT4gJ0VtYWlsIG9tIHdhY2h0d29vcmQgb3BuaWV1dyBpbiB0ZSBzdGVsbGVuJywKICAnUGFzc3dvcmQgUmVzZXQgUmVxdWlyZWQnID0+ICdXYWNodHdvb3JkIHJlc2V0IHZlcmVpc3QnLAogICdQYXNzd29yZCBjaGFuZ2UgcmVxdWlyZWQgdG8gY29udGludWUnID0+ICdXYWNodHdvb3Jkd2lqemlnaW5nIHZlcnBsaWNodCBvbSBkb29yIHRlIGdhYW4nLAogICdQYXNzd29yZCBtdXN0IGJlIGF0IGxlYXN0IDYgY2hhcmFjdGVycycgPT4gJ1dhY2h0d29vcmQgbW9ldCB0ZW4gbWluc3RlIDYgdGVrZW5zIGxhbmcgemlqbicsCiAgJ1Bhc3N3b3JkIHJlcXVpcmVkJyA9PiAnV2FjaHR3b29yZCB2ZXJlaXN0JywKICAnUGFzc3dvcmQgcmVzZXQgaXMgbm90IGVuYWJsZWQgZm9yIHlvdXIgYWNjb3VudC4gQ29udGFjdCB5b3VyIGFkbWluaXN0cmF0b3InID0+ICdXYWNodHdvb3JkIGhlcnN0ZWwgaXMgbmlldCBnZWFjdGl2ZWVyZCB2b29yIHV3IGFjY291bnQuIE5lZW0gY29udGFjdCBvcCBtZXQgdXcgYmVoZWVyZGVyJywKICAnUGFzc3dvcmQgcmVzZXRzIGFyZSBkaXNhYmxlZCcgPT4gJ1dhY2h0d29vcmQgdmVyYW5kZXJpbmdlbiB6aWpuIHVpdGdlc2NoYWtlbGQnLAogICdQYXNzd29yZCB1cGRhdGUgZmFpbGVkOicgPT4gJ1dhY2h0d29vcmR3aWp6aWdpbmcgbWlzbHVrdDonLAogICdQYXNzd29yZHMgZG8gbm90IG1hdGNoJyA9PiAnV2FjaHR3b29yZGVuIGtvbWVuIG5pZXQgb3ZlcmVlbicsCiAgJ1BhdGNoICVzIGFwcGxpZWQgc3VjY2Vzc2Z1bGx5JyA9PiAnUGF0Y2ggJXMgc3VjY2Vzdm9sIHRvZWdlcGFzdCcsCiAgJ1Blcm1pc3Npb24gRGVuaWVkLiBZb3UgYXJlIG5vdCBhbGxvd2VkIHRvIGFzc2lnbi9jbGFpbSB0aWNrZXRzLicgPT4gJ1RvZWdhbmcgZ2V3ZWlnZXJkLiBVIGJlbnQgbmlldCBnZW1hY2h0aWdkIG9tIGVlbiB0aWNrZXQgdG9lIHRlIGtlbm5lbi4nLAogICdQZXJtaXNzaW9uIERlbmllZC4gWW91IGFyZSBub3QgYWxsb3dlZCB0byBiYW4gZW1haWxzJyA9PiAnVG9lZ2FuZyBnZXdlaWdlcmQuIFUgYmVudCBuaWV0IGJldm9lZ2Qgb20gZS1tYWlsYWRyZXNzZW4gb3AgZGUgYmxva2thZGVsaWpzdCB0ZSB6ZXR0ZW4nLAogICdQZXJtaXNzaW9uIERlbmllZC4gWW91IGFyZSBub3QgYWxsb3dlZCB0byBlZGl0IHRpY2tldHMnID0+ICdUb2VnYW5nIGdld2VpZ2VyZC4gVSBtYWcgZ2VlbiB0aWNrZXRzIGJld2Vya2VuJywKICAnUGVybWlzc2lvbiBEZW5pZWQuIFlvdSBhcmUgbm90IGFsbG93ZWQgdG8gZmxhZyB0aWNrZXRzIG92ZXJkdWUnID0+ICdUb2VnYW5nIGdld2VpZ2VyZC4gVSBtYWcgZ2VlbiB0aWNrZXRzIGFhbm1lcmtlbiBhbHMgXCd2ZXJsb3BlblwnJywKICAnUGVybWlzc2lvbiBEZW5pZWQuIFlvdSBhcmUgbm90IGFsbG93ZWQgdG8gcmVtb3ZlIGVtYWlscyBmcm9tIGJhbmxpc3QuJyA9PiAnVG9lZ2FuZyBnZXdlaWdlcmQuIFUgaGVlZnQgZ2VlbiB0b2VzdGVtbWluZyBvbSBlLW1haWxhZHJlc3NlbiB1aXQgZGUgYmxva2thZGVsaWpzdCB0ZSBoYWxlbi4nLAogICdQZXJtaXNzaW9uIGRlbmllZCcgPT4gJ1RvZWdhbmcgZ2V3ZWlnZXJkJywKICAnUGVybWlzc2lvbnMnID0+ICdUb2VzdGVtbWluZycsCiAgJ1BlcnNvbmFsIG5hbWUnID0+ICdQZXJzb29ubGlqa2UgbmFhbScsCiAgJ1Bob25lJyA9PiAnVGVsZWZvb24nLAogICdQaG9uZSBOdW1iZXInID0+ICdUZWxlZm9vbm51bW1lcicsCiAgJ1Bob25lIG51bWJlciBvZiB0aWNrZXQgb3duZXInID0+ICdUZWxlZm9vbm51bW1lciB2YW4gZGUgdGlja2V0LWVpZ2VuYWFyJywKICAnUGhvbmUgbnVtYmVyIHwgZXh0JyA9PiAnVGVsZWZvb25udW1tZXIgfCBleHQnLAogICdQbGFjZWhvbGRlcicgPT4gJ1BsYWF0c2hvdWRlcicsCiAgJ1BsZWFzZSBDb25maXJtJyA9PiAnQmV2ZXN0aWdlbicsCiAgJ1BsZWFzZSBDb25maXJtIEVtYWlsIEFkZHJlc3MgUGFnZScgPT4gJ0JldmVzdGlnIHV3IGVtYWlsYWRyZXMgcGFnaW5hJywKICAnUGxlYXNlIFdhaXQhJyA9PiAnRWVuIG9nZW5ibGlrIGdlZHVsZCEnLAogICdQbGVhc2UgY2hhbmdlIHBlcm1pc3Npb24gb2YgY29uZmlnIGZpbGUgKCUxJHMpIHRvIHJlbW92ZSB3cml0ZSBhY2Nlc3MuIGUuZyA8aT5jaG1vZCA2NDQgJTIkczwvaT4nID0+ICdWZXJhbmRlciBkZSBwZXJtaXNzaWVzIHZhbiBoZXQgY29uZmlndXJhdGllYmVzdGFuZCAoJTEkcykgb20gaGV0IFwnYWxsZWVuIGxlemVuXCcgdGUgbWFrZW4sIG0uYS53LjogPGk+Y2htb2QgNjQ0ICUyJHM8L2k+JywKICAnUGxlYXNlIGNvbmZpcm0gdG8gY29udGludWUuJyA9PiAnS2xpayBvcCBcJ2JldmVzdGlnZW5cJyBvbSB2ZXJkZXIgdGUgZ2Fhbi4nLAogICdQbGVhc2UgY29uc2lkZXIgdHVybmluZyBvZmYgcmVnaXN0ZXIgZ2xvYmFscyBpZiBwb3NzaWJsZScgPT4gJ1Byb2JlZXIgZGUgcGhwaW5zdGVsbGluZyBcJ3JlZ2lzdGVyIGdsb2JhbHNcJyB1aXQgdGUgemV0dGVuLCBhbHMgZGF0IG1vZ2VsaWprIGlzJywKICAnUGxlYXNlIGRvblwndCBjYW5jZWwgb3IgY2xvc2UgdGhlIGJyb3dzZXIuIEFueSBlcnJvcnMgYXQgdGhpcyBzdGFnZSB3aWxsIGJlIGZhdGFsLicgPT4gJ0RydWsgYXViIG5pZXQgb3AgYW5udWxlcmVuIGVuIHNsdWl0IGRpdCB2ZW5zdGVyIG5pZXQuIEFsbGUgZm91dGVuIG9wIGRpdCBtb21lbnQga3VubmVuIGZhdGFhbCB6aWpuLicsCiAgJ1BsZWFzZSBlbnRlciB5b3VyIHVzZXJuYW1lIG9yIGVtYWlsJyA9PiAnVm9lciB1dyBnZWJydWlrZXJzbmFhbSBvZiBlLW1haWxhZHJlcyBpbicsCiAgJ1BsZWFzZSBmaWxsIGluIHRoZSBmb3JtIGJlbG93IHRvIG9wZW4gYSBuZXcgdGlja2V0LicgPT4gJ1Z1bCBoZXQgb25kZXJzdGFhbmRlIGZvcm11bGllciBpbiBvbSBlZW4gbmlldXcgdGlja2V0IHRlIG9wZW5lbi4nLAogICdQbGVhc2UgZmlsbCBvdXQgdGhlIGluZm9ybWF0aW9uIGJlbG93IHRvIGNvbnRpbnVlIHlvdXIgb3NUaWNrZXQgaW5zdGFsbGF0aW9uLiBBbGwgZmllbGRzIGFyZSByZXF1aXJlZC4nID0+ICdWdWwgb25kZXJzdGFhbmRlIHZlbGRlbiBpbiBvbSBkb29yIHRlIGdhYW4gbWV0IGRlIGluc3RhbGxhdGllLiBBbGxlIHZlbGRlbiB6aWpuIHZlcnBsaWNodC4nLAogICdQbGVhc2UgZm9sbG93IHRoZSBpbnN0cnVjdGlvbnMgYmVsb3cgdG8gZ2l2ZSByZWFkIGFuZCB3cml0ZSBhY2Nlc3MgdG8gdGhlIHdlYiBzZXJ2ZXIgdXNlci4nID0+ICdWb2xnIGF1YiBkZSBvbmRlcnN0YWFuZGUgaW5zdHJ1Y3RpZXMgb20gbGVlcyBlbiBzY2hyaWpmdG9lZ2FuZyB2b29yIGRlIHdlYnNlcnZlcmdlYnJ1aWtlciB0ZSBrcmlqZ2VuLicsCiAgJ1BsZWFzZSBtYWtlIGF0IGxlYXN0IHswfSBzZWxlY3Rpb25zLiB7MX0gY2hlY2tlZCBzbyBmYXIuJyA9PiAnTWFhayB0ZW4gbWluc3QgezB9IHNlbGVjdGllLiB7MX0gZ2Vjb250cm9sZWVyZCB0b3QgbnUgdG9lLicsCiAgJ1BsZWFzZSBtYW51YWxseSBjaGVjayB0aGUgRmV0Y2ggRm9sZGVyJyA9PiAnQ29udHJvbGVlciBkZSBvcGhhYWwgbWFwIGhhbmRtYXRpZycsCiAgJ1BsZWFzZSBub3RlIHRoYXQgbm9uLWJhc2UgdmFyaWFibGVzIGRlcGVuZCBvbiB0aGUgY29udGV4dCBvZiB1c2UuIFZpc2l0IG9zVGlja2V0IFdpa2kgZm9yIHVwIHRvIGRhdGUgZG9jdW1lbnRhdGlvbi4nID0+ICdIb3VkIGVyIHJla2VuaW5nIG1lZSBkYXQgbmlldC1iYXNpcyB2YXJpYWJlbGVuIGFmaGFua2VsaWprIHppam4gdmFuIGRlIGNvbnRleHQgd2FhcmluIHplIGdlYnJ1aWt0IHdvcmRlbi4gQmV6b2VrIG9zVGlja2V0IFdpa2kgdm9vciB1cC10by1kYXRlIGRvY3VtZW50YXRpZS4nLAogICdQbGVhc2Ugbm90ZSB0aGF0IHVwZGF0ZXMgd2lsbCBiZSByZWZsZWN0ZWQgc3lzdGVtLXdpZGUuJyA9PiAnVmVyZ2V3aXMgdSBlcnZhbiBkYXQgZGV6ZSBiZXdlcmtpbmdlbiBvdmVyIGhlZWwgaGV0IHN5c3RlZW0gd29yZGVuIGRvb3JnZXZvZXJkLicsCiAgJ1BsZWFzZSBub3RlIHRoZSBlcnJvcihzKSwgaWYgYW55LCB3aGVuICUxJHMgc2Vla2luZyBoZWxwICUyJHMuJyA9PiAnTm90ZWVyIGF1YiBkZSBmb3V0ZW4sIGFscyBkZXplIGVyIHppam4sIGVuIHUgJTEkcyB0ZWxlZm9uaXNjaGUgb25kZXJzdGV1bmluZyAlMiRzIG5vZGlnIGhlZWZ0LicsCiAgJ1BsZWFzZSBwcm92aWRlIHlvdXIgZW1haWwgYWRkcmVzcyBhbmQgYSB0aWNrZXQgbnVtYmVyLicgPT4gJ1Z1bCB1dyBlLW1haWxhZHJlcyBlbiBlZW4gdGlja2V0bnVtbWVyIGluLicsCiAgJ1BsZWFzZSByZS1lbnRlciB0aGUgdGV4dCBhZ2FpbicgPT4gJ1ZvZXIgYXViIGRlIHRla3N0IG9wbmlldXcgaW4nLAogICdQbGVhc2UgcmVmZXIgdG8gJXMgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgY2hhbmdlcyBhbmQvb3IgbmV3IGZlYXR1cmVzLicgPT4gJ1JlZmVyZWVydCB1IGF1YiBhYW4gJXMgdm9vciBtZWVyIGluZm9ybWF0aWUgb210cmVudCBkZSB3aWp6aWdpbmdlbiBlbiB2ZXJiZXRlcmluZ2VuLicsCiAgJ1BsZWFzZSByZWZlciB0byB0aGUgJTEkcyBVcGdyYWRlIEd1aWRlICUyJHMgZm9yIG1vcmUgaW5mb3JtYXRpb24uJyA9PiAnUmVmcmVlcnQgdSBhdWIgYWFuIGRlICUxJHMgdXBncmFkZSBnaWRzICUyJHMgdm9vciBtZWVyIGluZm9ybWF0aWUuJywKICAnUGxlYXNlIHJlbW92ZSB7MH0gc2VsZWN0aW9uKHMpLicgPT4gJ1ZlcndpamRlciB7MH0gc2VsZWN0aWVzLicsCiAgJ1BsZWFzZSByZW5hbWUgY29uZmlnIGZpbGUgaW5jbHVkZS8lcyB0byBpbmNsdWRlL29zdC1jb25maWcucGhwIHRvIGF2b2lkIHBvc3NpYmxlIGNvbmZsaWN0cycgPT4gJ0hlcm5vZW0gaGV0IGNvbmZpZ3VyYXRpZWJlc3RhbmQgaW5jbHVkZS8lcyBuYWFyIGluY2x1ZGUvb3N0LWNvbmZpZy5waHAgb20gZXZlbnR1ZWxlIGNvbmZsaWN0ZW4gdGUgdm9vcmtvbWVuJywKICAnUGxlYXNlIHRyeSBhZ2FpbiEnID0+ICdQcm9iZWVyIGhldCBvcG5pZXV3IScsCiAgJ1BsZWFzZSB3YWl0Li4uIGl0IHdpbGwgdGFrZSBhIHNlY29uZCEnID0+ICdFZW4gbW9tZW50IGdlZHVsZCBhbHN0dWJsaWVmdC4uLicsCiAgJ1BsZWFzZSB3YWl0Li4uIHdoaWxlIHdlIGluc3RhbGwgeW91ciBuZXcgc3VwcG9ydCB0aWNrZXQgc3lzdGVtIScgPT4gJ0VlbiBvZ2VuYmxpayBnZWR1bGQgYXViLCB1dyBzdXBwb3J0IHRpY2tldCBzeXN0ZWVtIHdvcmR0IGdlaW5zdGFsbGVlcmQhJywKICAnUGxlYXNlIHdhaXQuLi4gd2hpbGUgd2UgdXBncmFkZSB5b3VyIG9zVGlja2V0IGluc3RhbGxhdGlvbiEnID0+ICdFZW4gb2dlbmJsaWsgYXViLCB3ZSB6aWpuIHV3IG9zVGlja2V0IGluc3RhbGxhdGllIGFhbiBoZXQgYmlqd2Vya2VuIScsCiAgJ1BsdWdpbicgPT4gJ1BsdWdpbicsCiAgJ1BsdWdpbiBJbmZvcm1hdGlvbicgPT4gJ1BsdWdpbiBpbmZvcm1hdGllJywKICAnUGx1Z2luIEluc3RhbmNlJyA9PiAnUGx1Z2luLWluc3RhbnRpZScsCiAgJ1BsdWdpbiBJbnN0YW5jZXMnID0+ICdQbHVnaW4taW5zdGFudGllcycsCiAgJ1BsdWdpbiBOYW1lJyA9PiAnUGx1Z2luIG5hYW0nLAogICdQbHVnaW4gUmVxdWlyZXMnID0+ICdQbHVnaW4gdmVyZWlzdCcsCiAgJ1BsdWdpbiBTZXR0aW5ncycgPT4gJ1BsdWdpbiBpbnN0ZWxsaW5nZW4nLAogICdQbHVnaW4gZGVzY3JpcHRpb24gYW5kIGluc3RydWN0aW9ucycgPT4gJ1BsdWdpbmJlc2NocmlqdmluZyBlbiBpbnN0cnVjdGllcycsCiAgJ1BsdWdpbnMnID0+ICdQbHVnaW5zJywKICAnUGx1cmFsIE5hbWUnID0+ICdOYWFtIGluIG1lZXJ2b3VkJywKICAnUG9ydCBOdW1iZXInID0+ICdQb29ydG51bW1lcicsCiAgJ1BvcnQgcmVxdWlyZWQnID0+ICdQb29ydCB2ZXJlaXN0JywKICAnUG9zdCBJbnRlcm5hbCBOb3RlJyA9PiAnTWFhayBlZW4gaW50ZXJuZSBub3RpdGllJywKICAnUG9zdCBOb3RlJyA9PiAnVmVyemVuZCBub3RpdGllJywKICAnUG9zdCBSZXBseScgPT4gJ1JlYWN0aWUgcGxhYXRzZW4nLAogICdQb3N0IFVwZGF0ZScgPT4gJ1VwZGF0ZSBvbmxpbmUgemV0dGVuJywKICAnUG9zdCBhIFJlcGx5JyA9PiAnUGxhYXRzIGVlbiByZWFjdGllJywKICAnUG9zdC1JbnN0YWxsIFNldHVwJyA9PiAnSW5zdGVsbGluZ2VuIG5hIGluc3RhbGxhdGllJywKICAnUG9zdC11cGdyYWRlJyA9PiAnTmEtdXBncmFkZScsCiAgJ1Bvc3RlcicgPT4gJ1Bvc3RlcicsCiAgJ1Bvd2VyZWQgYnknID0+ICdQb3dlcmVkIGJ5JywKICAnUHJlZmVyZW5jZXMnID0+ICdWb29ya2V1cmVuJywKICAnUHJlZmVycmVkIExhbmd1YWdlJyA9PiAnVm9vcmtldXJzdGFhbCcsCiAgJ1ByZWZlcnJlZCBMb2NhbGUnID0+ICdWb29ya2V1cnNsb2NhdGllJywKICAnUHJlZml4IGFscmVhZHkgaW4tdXNlJyA9PiAnVm9vcnZvZWdzZWwgKHByZWZpeCkgYWwgaW4gZ2VicnVpaycsCiAgJ1ByZW1hZGUnID0+ICdWb29yYmV3ZXJrdCcsCiAgJ1ByZW1hZGUgUmVwbGllcycgPT4gJ1Zvb3JnZXByb2dyYW1tZWVyZGUgYW50d29vcmRlbicsCiAgJ1ByZXJlcXVpc2l0ZXMnID0+ICdWZXJlaXN0ZW4nLAogICdQcmV2aWV3IFRhc2snID0+ICdWb29yYmVlbGR3ZWVyZ2F2ZSB2YW4gdGFhaycsCiAgJ1ByZXZpZXcgVGlja2V0JyA9PiAnVm9vcmJlZWxkd2VlcmdhdmUgdmFuIHRpY2tldCcsCiAgJ1ByaW1hcnkgQ29udGFjdHMnID0+ICdQcmltYWlyZSBjb250YWN0ZW4nLAogICdQcmltYXJ5IERlcGFydG1lbnQnID0+ICdTdGFuZGFhcmQgYWZkZWxpbmcnLAogICdQcmltYXJ5IExhbmd1YWdlJyA9PiAnU3RhbmRhYXJkIHRhYWxpbnN0ZWxsaW5nJywKICAnUHJpbWFyeSBSb2xlJyA9PiAnUHJpbWFpcmUgcm9sJywKICAnUHJpbWFyeSBjb250YWN0cyBzZWUgYWxsIHRpY2tldHMnID0+ICdQcmltYWlyZSBjb250YWN0ZW4gemllbiBhbGxlIHRpY2tldHMnLAogICdQcmludCcgPT4gJ0FmZHJ1a2tlbicsCiAgJ1ByaW50IDxiPkludGVybmFsPC9iPiBOb3Rlcy9Db21tZW50cycgPT4gJ0RydWsgPGI+SW50ZXJuZTwvYj4gTm90aXRpZXMvb3BtZXJraW5nZW4gYWYnLAogICdQcmludCBOb3RlcycgPT4gJ0RydWsgbm90aXRpZXMgYWYnLAogICdQcmlvcml0eScgPT4gJ1ByaW9yaXRlaXQnLAogICdQcmlvcml0eSBMZXZlbCcgPT4gJ1ByaW9yaXRlaXRzbml2ZWF1JywKICAnUHJpdmF0ZScgPT4gJ1ByaXZlJywKICAnUHJpdmF0ZSDigJQgT25seSBhZ2VudHMgY2FuIHJlZ2lzdGVyIHVzZXJzJyA9PiAnUHJpdsOpIC0tIEFsbGVlbiBtZWRld2Vya2VycyBrdW5uZW4gZ2VicnVpa2VycyByZWdpc3RyZXJlbicsCiAgJ1ByaXZhdGUvSW50ZXJuYWwnID0+ICdQcml2w6kvSW50ZXJuJywKICAnUHJvZmlsZScgPT4gJ1Byb2ZpZWwnLAogICdQcm9maWxlIHByZWZlcmVuY2VzIGFuZCBzZXR0aW5ncycgPT4gJ1Byb2ZpZWx2b29ya2V1cmVuIGVuIGluc3RlbGxpbmdlbicsCiAgJ1Byb2ZpbGUgdXBkYXRlIGVycm9yLicgPT4gJ1Byb2ZpZWwgYmlqd2Vya2VuIG1pc2x1a3QuJywKICAnUHJvZmlsZSB1cGRhdGVkIHN1Y2Nlc3NmdWxseScgPT4gJ1Byb2ZpZWwgc3VjY2Vzdm9sIGJpamdld2Vya3QnLAogICdQcm9tcHQnID0+ICdHZXZyYWFnZCcsCiAgJ1Byb3BlcnRpZXMnID0+ICdFaWdlbnNjaGFwcGVuJywKICAnUHJvdG9jb2wnID0+ICdQcm90b2NvbCcsCiAgJ1B1YmxpYycgPT4gJ09wZW5iYWFyJywKICAnUHVibGljIFVSTCcgPT4gJ1dlYmFkcmVzJywKICAnUHVibGljIOKAlCBBbnlvbmUgY2FuIHJlZ2lzdGVyJyA9PiAnUHVibGlla2VsaWprIC0tIGllZGVyZWVuIGthbiB6aWNoIHJlZ2lzdHJlcmVuJywKICAnUHVibGlzaGVkJyA9PiAnR2VwdWJsaWNlZXJkJywKICAnUHVyZ2UgTG9ncycgPT4gJ1ZlcndpamRlciBsb2dib2VrZW4nLAogICdRdWVyeSBhcmd1bWVudCBpcyByZXF1aXJlZCcgPT4gJ1F1ZXJ5IGFyZ3VtZW50IGlzIHZlcmVpc3QnLAogICdRdWVyeSByZXR1cm5lZCAwIHJlc3VsdHMuJyA9PiAnVXcgem9la29wZHJhY2h0IGxldmVyZGUgMCByZXN1bHRhdGVuIG9wLicsCiAgJ1F1ZXJ5IHRva2VuIG5vdCBmb3VuZCcgPT4gJ0FmdnJhYWd0ZWtlbiBuaWV0IGdldm9uZGVuJywKICAnUXVlcnlTZXQgaXMgcmVhZC1vbmx5JyA9PiAnUXVlcnlTZXQgaXMgYWxsZWVuLWxlemVuJywKICAnUXVlc3Rpb24nID0+ICdWcmFhZycsCiAgJ1F1ZXN0aW9uIGFscmVhZHkgZXhpc3RzJyA9PiAnRGV6ZSB2cmFhZyBiZXN0YWF0IGFsJywKICAnUXVlc3Rpb24gcmVxdWlyZWQnID0+ICdWcmFhZyB2ZXJlaXN0JywKICAnUXVldWUnID0+ICdXYWNodHJpaicsCiAgJ1F1ZXVlIERlbGV0aW9uJyA9PiAnV2FjaHRyaWogdmVyd2lqZGVyaW5nJywKICAnUXVldWUgTmFtZScgPT4gJ05hYW0gd2FjaHRyaWonLAogICdRdWV1ZSBTZWFyY2ggQ3JpdGVyaWEnID0+ICdab2VrY3JpdGVyaWEnLAogICdRdWV1ZXMnID0+ICdXYWNodHJpamVuJywKICAnUmFuZG9tJyA9PiAnV2lsbGVrZXVyaWcnLAogICdSYXcgRW1haWwgSGVhZGVycycgPT4gJ09yaWdpbmVsZSBIb29mZGluZyBFbWFpbCcsCiAgJ1JlLWVudGVyIHlvdXIgdXNlcm5hbWUgb3IgZW1haWwnID0+ICdWb2VyIHV3IGdlYnJ1aWtlcnNuYWFtIG9mIGUtbWFpbCBvcG5pZXV3IGluJywKICAnUmVhc29uIGZvciBlZGl0aW5nIHRoZSB0YXNrIChvcHRpb25hbCknID0+ICdSZWRlbiBvbSBkZSB0YWFrIGFhbiB0ZSBwYXNzZW4gKG9wdGlvbmVlbCknLAogICdSZWFzc2lnbicgPT4gJ09wbmlldXcgdG9lYmVkZWxlbicsCiAgJ1JlY2VpdmVkIEZyb206ICUxJHMgPCUyJHM+JyA9PiAnT250dmFuZ2VuIHZhbjogJTEkcyA8JTIkcz4nLAogICdSZWNpcGllbnQnID0+ICdPbnR2YW5nZXInLAogICdSZWNpcGllbnRzJyA9PiAnT250dmFuZ2VycycsCiAgJ1JlY29tbWVuZGVkJyA9PiAnYWFuYmV2b2xlbicsCiAgJ1JlZGlyZWN0IFVSTCB1c2VkIGFmdGVyIHJlcGx5aW5nIHRvIGEgdGlja2V0LicgPT4gJ1JlZGlyZWN0IFVSTCBnZWJydWlrdCBuYSBoZXQgYmVhbnR3b29yZGVuIHZhbiBlZW4gdGlja2V0LicsCiAgJ1JlZmVyIHRvICUxJHMgVXBncmFkZSBHdWlkZSAlMiRzIGZvciB0aGUgbGF0ZXN0IHRpcHMnID0+ICdSZWZlcmVlciBhYW4gZGUgJTEkcyBVcGdyYWRlIEd1aWRlICUyJHMgdm9vciBkZSBsYWF0c3RlIHRpcHMnLAogICdSZWZlciB0byB0aGUgJXMgSW5zdGFsbGF0aW9uIEd1aWRlICVzIG9uIHRoZSB3aWtpIGZvciBtb3JlIGluZm9ybWF0aW9uLicgPT4gJ0xlZXMgZGUgJXMgaW5zdGFsbGF0aWUgZ2lkcyAlcyBvcCBkZSB3aWtpLXBhZ2luYSB2b29yIG1lZXIgaW5mb3JtYXRpZS4nLAogICdSZWZlcmVzaCBUb2tlbiBFeHBpcmVkJyA9PiAnVmVybmlldXdpbmdzdG9rZW4gaXMgdmVybG9wZW4nLAogICdSZWZyZXNoJyA9PiAnVmVybmlldXdlbicsCiAgJ1JlZnJlc2ggVG9rZW4nID0+ICdWZXJuaWV1dyB0b2tlbicsCiAgJ1JlZnJlc2ggdGhlIGN1cnJlbnQgcGFnZSB0byByZXN0b3JlIGFuZCBjb250aW51ZSB5b3VyIGRyYWZ0LicgPT4gJ1ZlcnZlcnMgZGUgaHVpZGlnZSBwYWdpbmEgb20gd2VlciBvcCB0ZSBoYWxlbiBlbiB2ZXJkZXIgdGUgZ2FhbiBtZXQgamUgY29uY2VwdC4nLAogICdSZWdleCBjb21waWxlIGVycm9yOiAoIyVzKScgPT4gJ1JlZ2V4IGNvbXBpbGVlciBmb3V0OiAoIyVzKScsCiAgJ1JlZ2lzdGVyJyA9PiAnUmVnaXN0cmVlcicsCiAgJ1JlZ2lzdGVyOiAlcycgPT4gJ1JlZ2lzdHJlZXI6ICVzJywKICAnUmVnaXN0ZXJlZCcgPT4gJ0dlcmVnaXN0cmVlcmQnLAogICdSZWdpc3RyYXRpb24gTWV0aG9kJyA9PiAnUmVnaXN0cmF0aWVtZXRob2RlJywKICAnUmVnaXN0cmF0aW9uIFJlcXVpcmVkJyA9PiAnUmVnaXN0cmF0aWUgdmVyZWlzdCcsCiAgJ1JlZ3VsYXIgRXhwcmVzc2lvbicgPT4gJ3JlZ3VsYWlyZSBleHByZXNzaWUnLAogICdSZWplY3QgVGlja2V0JyA9PiAnVGlja2V0IHZlcndlcnBlbicsCiAgJ1JlbGF0ZWQgUmVzb3VyY2VzJyA9PiAnR2VyZWxhdGVlcmRlIGJyb25uZW4nLAogICdSZWxhdGVkIFRpY2tldHMnID0+ICdHZXJlbGF0ZWVyZGUgdGlja2V0cycsCiAgJ1JlbGF0aXZlIFRpbWUnID0+ICdSZWxhdGlldmUgdGlqZCcsCiAgJ1JlbGVhc2UgKHVuYXNzaWduKSBUaWNrZXQnID0+ICdUaWNrZXQgbG9zbWFrZW4gKHJlbGVhc2UpJywKICAnUmVsZWFzZSBOb3RlcycgPT4gJ1ZlcnNpZSBpbmZvcm1hdGllIChyZWxlYXNlIG5vdGVzKScsCiAgJ1JlbGV2YW5jZScgPT4gJ1JlbGV2YW50aWUnLAogICdSZWxvYWQnID0+ICdPcG5pZXV3IGxhZGVuJywKICAnUmVtZW1iZXIgdG8gYmFjayB1cCB5b3VyIG9zVGlja2V0IGRhdGFiYXNlJyA9PiAnVmVyZ2VldCBuaWV0IHV3IG9zVGlja2V0IGRhdGFiYXNlIHRlIGJhY2t1cHBlbicsCiAgJ1JlbW90ZSBNYWlsYm94JyA9PiAnRXh0ZXJuZSBtYWlsYm94JywKICAnUmVtb3ZlJyA9PiAnVmVyd2lqZGVyZW4nLAogICdSZW1vdmUgRXhpc3RpbmcgRGF0YT8nID0+ICdCZXN0YWFuZGUgZ2VnZXZlbnMgdmVyd2lqZGVyZW4/JywKICAnUmVtb3ZlIGFsbCBkYXRhIGVudGVyZWQgZm9yIDx1PiAlcyA8L3U+PycgPT4gJ1ZlcndpamRlciBhbGxlIGdlZ2V2ZW5zIHZvb3IgPHU+ICVzIDwvdT4/JywKICAnUmVuYW1lIGZpbGUgPGI+aW5jbHVkZS9zZXR0aW5ncy5waHA8L2I+IHRvIDxiPmluY2x1ZGUvb3N0LWNvbmZpZy5waHA8L2I+IGFuZCBjbGljayBjb250aW51ZSBiZWxvdy4nID0+ICdIZXJub2VtIGJlc3RhbmQgPGI+aW5jbHVkZS9zZXR0aW5ncy5waHA8L2I+IG5hYXIgPGI+L2luY2x1ZGUvb3N0LWNvbmZpZy5waHA8L2I+IGVuIGtsaWsgaGllcm9uZGVyIG9tIHZlcmRlciB0ZSBnYWFuLicsCiAgJ1JlbmFtZSB0aGUgc2FtcGxlIGZpbGUgPGI+aW5jbHVkZS9vc3Qtc2FtcGxlY29uZmlnLnBocDwvYj4gdG8gPGI+b3N0LWNvbmZpZy5waHA8L2I+IGFuZCBjbGljayBjb250aW51ZSBiZWxvdy4nID0+ICdIZXJub2VtIGhldCB2b29yYmVlbGRiZXN0YW5kIDxiPmluY2x1ZGUvb3N0LXNhbXBsZWNvbmZpZy5waHA8L2I+IG5hYXIgPGI+aW5jbHVkZS9vc3QtY29uZmlnLnBocDwvYj4gZW4ga2xpayBoaWVyb25kZXIgb20gZG9vciB0ZSBnYWFuLicsCiAgJ1JlbmV3JyA9PiAnVmVybmlldXdlbicsCiAgJ1Jlb3BlbicgPT4gJ0hlcm9wZW4nLAogICdSZW9wZW4gQ291bnQnID0+ICdIZXJvcGVuaW5nJywKICAnUmVvcGVuIFN0YXR1cycgPT4gJ0hlcm9wZW4gc3RhdHVzJywKICAnUmVvcGVuIFRhc2sgIyVzJyA9PiAnSGVyb3BlbiB0YWFrICMlcycsCiAgJ1Jlb3BlbmVkJyA9PiAnSGVyb3BlbmQnLAogICdSZW9wZW5lZCBieSA8Yj57c29tZWJvZHl9PC9iPiB7dGltZXN0YW1wfScgPT4gJ0hlcm9wZW5kIGRvb3IgPGI+e3NvbWVib2R5fTwvYj4ge3RpbWVzdGFtcH0nLAogICdSZXBseScgPT4gJ0FudHdvb3JkJywKICAnUmVwbHkgUmVkaXJlY3QnID0+ICdBbnR3b29yZCBSZWRpcmVjdGllJywKICAnUmVwbHkgU2VwYXJhdG9yIFRhZycgPT4gJ0FudHdvb3JkIGFmc2NoZWlkaW5nc3JlZ2VsJywKICAnUmVwbHkgVG8nID0+ICdBbnR3b29yZCBvcCcsCiAgJ1JlcGx5IHBvc3RlZCBzdWNjZXNzZnVsbHknID0+ICdBbnR3b29yZCBzdWNjZXN2b2wgb3BnZXNsYWdlbicsCiAgJ1JlcGx5IHNlcGFyYXRvciBpcyByZXF1aXJlZCB0byBzdHJpcCBxdW90ZWQgcmVwbHkuJyA9PiAnQW50d29vcmQgc2NoZWlkaW5nc3Rla2VuIGlzIHZlcmVpc3Qgb20gZ2VjaXRlZXJkIGFudHdvb3JkIHRlIHN0cmlwcGVuLicsCiAgJ1JlcGx5LVRvIEVtYWlsJyA9PiAnQW50d29vcmQtQWFuIEVtYWlsJywKICAnUmVwbHktVG8gTmFtZScgPT4gJ0FudHdvb3JkLUFhbiBOYWFtJywKICAnUmVwb3J0IHRpbWVmcmFtZScgPT4gJ1JhcHBvcnRhZ2UgdGlqZHNwYW5uZScsCiAgJ1JlcXVlc3QgZmFpbGVkIC0gcmV0cnkgYWdhaW4hJyA9PiAnQWFudnJhYWcgbWlzbHVrdCAtIHByb2JlZXIgb3BuaWV1dyEnLAogICdSZXF1aXJlIENsaWVudCBMb2dpbicgPT4gJ1ZlcmVpc3QgZ2VicnVpa2VyIGluIHRlIGxvZ2dlbicsCiAgJ1JlcXVpcmUgSGVscCBUb3BpYyB0byBDbG9zZScgPT4gJ1ZlcmVpc3QgaGVscG9uZGVyd2VycCBvbSB0ZSBzbHVpdGVuJywKICAnUmVxdWlyZSBhZ2VudHMgdG8gdHVybiBvbiAyRkEnID0+ICdNZWRld2Vya2VycyB2ZXJwbGljaHRlbiBvbSAyRkEgaW4gdGUgc2NoYWtlbGVuJywKICAnUmVxdWlyZSBlbWFpbCB2ZXJpZmljYXRpb24gb24gIkNoZWNrIFRpY2tldCBTdGF0dXMiIHBhZ2UnID0+ICdWZXJlaXMgZW1haWwgdmVyaWZpY2F0aWUgb3AgIkNvbnRyb2xlZXIgdGlja2V0IHN0YXR1cyIgcGFnaW5hJywKICAnUmVxdWlyZSBlbnRyeSB0byBjbG9zZSBhIHRocmVhZCcgPT4gJ0VlbiBpbmdhdmUgdmVycGxpY2h0ZW4gb20gZWVuIGRpc2N1c3NpZSB0ZSBzbHVpdGVuJywKICAnUmVxdWlyZSBsb2dpbiB0byB2aWV3IGFueSBhdHRhY2htZW50cycgPT4gJ0xvZ2luIG5vZGlnIG9tIGJpamxhZ2VuIHRlIGJla2lqa2VuJywKICAnUmVxdWlyZSBwYXNzd29yZCBjaGFuZ2UgYXQgbmV4dCBsb2dpbicgPT4gJ09wbmlldXcgd2FjaHR3b29yZCBpbnN0ZWxsZW4gYmlqIHZvbGdlbmRlIGtlZXIgaW5sb2dnZW4gdmVyZWlzdCcsCiAgJ1JlcXVpcmUgcGFzc3dvcmQgY2hhbmdlIG9uIGxvZ2luJyA9PiAnVmVyZWlzIHdhY2h0d29vcmQgdmVyYW5kZXJlbiBiaWogZWVyc3R2b2xnZW5kZSBsb2dpbicsCiAgJ1JlcXVpcmUgcmVnaXN0cmF0aW9uIGFuZCBsb2dpbiB0byBjcmVhdGUgdGlja2V0cycgPT4gJ1ZlcmVpcyByZWdpc3RyYXRpZSBlbiBpbmxvZ2dlbiBvbSB0aWNrZXRzIHRlIG1ha2VuJywKICAnUmVxdWlyZWQnID0+ICdWZXJwbGljaHQnLAogICdSZXF1aXJlZCBmb3IgQWdlbnRzJyA9PiAnVmVycGxpY2h0IHZvb3IgYWdlbnRlbicsCiAgJ1JlcXVpcmVkIGZvciBFbmRVc2VycycgPT4gJ1ZlcnBsaWNodCB2b29yIGVpbmRnZWJydWlrZXJzJywKICAnUmVxdWlyZWQgZm9yIG1haWwgZmV0Y2hpbmcnID0+ICdWZXJlaXN0IHZvb3IgaGV0IG9waGFsZW4gdmFuIG1haWwnLAogICdSZXF1aXJlZCBvcHRpb24gbm90IHBhc3NlZDogIiVzIicgPT4gJ1ZlcmVpc3RlIG9wdGllIG5pZXQgZG9vcmdlZ2V2ZW46ICIlcyInLAogICdSZXF1aXJlZCB0byBjbG9zZSBhIHRocmVhZCcgPT4gJ1ZlcnBsaWNodCBvbSBlZW4gZGlzY3Vzc2llIHRlIHNsdWl0ZW4nLAogICdSZXF1aXJlZCB0byBjbG9zZSB0aWNrZXQnID0+ICdWZXJwbGljaHQgb20gZWVuIHRpY2tldCB0ZSBzbHVpdGVuJywKICAnUmVzZW5kJyA9PiAnT3BuaWV1dyB2ZXJzdHVyZW4nLAogICdSZXNlbmQgRW50cnknID0+ICdJbmdhdmUgb3BuaWV1dyBvcHN0dXJlbicsCiAgJ1Jlc2VudCcgPT4gJ1ZlcnN0dXVyIG9wbmlldXcnLAogICdSZXNldCcgPT4gJ0hlcnN0ZWxsZW4nLAogICdSZXNldCBBY2Nlc3MnID0+ICdSZXNldCBkZSB0b2VnYW5nJywKICAnUmVzZXQgQWdlbnQgUGVybWlzc2lvbnMnID0+ICdSZXNldCBhZ2VudCBwZXJtaXNzaWVzJywKICAnUmVzZXQgQ2hhbmdlcycgPT4gJ0hlcnN0ZWxsZW4nLAogICdSZXNldCBQZXJtaXNzaW9ucycgPT4gJ1Jlc2V0IGRlIHBlcm1pc3NpZXMnLAogICdSZXNldCBUb2tlbiBFeHBpcmF0aW9uJyA9PiAnUmVzZXQgaGV0IGdlbGRpZ2hlaWRzdGVrZW4nLAogICdSZXNldCBsaW5rIHVzZWQgYnkgdGhlIHBhc3N3b3JkIHJlc2V0IGZlYXR1cmUnID0+ICdSZXNldCBsaW5rIGdlYnJ1aWt0IGRvb3IgZGUgd2FjaHR3b29yZCByZXNldCBmdW5jdGllJywKICAnUmVzb3VyY2UgT3duZXInID0+ICdSZXNvdXJjZSBFaWdlbmFhcicsCiAgJ1Jlc291cmNlIE93bmVyIFJlcXVpcmVkJyA9PiAnUmVzb3VyY2UtZWlnZW5hYXIgdmVyZWlzdCcsCiAgJ1Jlc3BvbnNlJyA9PiAnQW50d29vcmQnLAogICdSZXNwb25zZSBUaW1lJyA9PiAnUmVhY3RpZXRpamQnLAogICdSZXNwb25zZSBjb250ZW50IGlzIHJlcXVpcmVkJyA9PiAnUmVhY3RpZS1pbmhvdWQgaXMgdmVyZWlzdCcsCiAgJ1Jlc3BvbnNlIHJlcXVpcmVkJyA9PiAnUmVhY3RpZSB2ZXJlaXN0JywKICAnUmVzcG9uc2UgdGV4dCBpcyByZXF1aXJlZCcgPT4gJ0FudHdvb3JkIHRla3N0IGlzIG5vZGlnJywKICAnUmVzcG9uc2UvUmVwbHkgVGVtcGxhdGUnID0+ICdSZWFjdGllL0FudHdvb3JkIHNqYWJsb29uJywKICAnUmVzdG9yZSB5b3VyIHByZXZpb3VzIHZlcnNpb24gZnJvbSBiYWNrdXAgYW5kIHRyeSBhZ2FpbiBvciAlMSRzIHNlZWsgaGVscCAlMiRzLicgPT4gJ0xlZXMgZGUgdm9vcmdhYW5kZSB2ZXJzaWUgdmlhIGRlIGJhY2stdXAgdGVydWcgZW4gcHJvYmVlciBvcG5pZXV3IG9mICUxJHMgem9layBodWxwICUyJHMuJywKICAnUmVzdHJpY3QgYnkgRmlsZSBUeXBlJyA9PiAnQmVwZXJrZW4gb3AgYmVzdGFuZHN0eXBlJywKICAnUmV0eXBlIFBhc3N3b3JkJyA9PiAnSGVyaGFhbCB1dyB3YWNodHdvb3JkJywKICAnUmV0eXBlIGFkbWluXCdzIHBhc3N3b3JkLiBNdXN0IG1hdGNoLicgPT4gJ0hlcmhhYWwgaGV0IGJlaGVlcmRlcnN3YWNodHdvb3JkLiBCZWlkZSBpbmdhdmVzIG1vZXRlbiBvdmVyZWVua29tZW4uJywKICAnUm9sZScgPT4gJ1JvbCcsCiAgJ1JvbGUgZm9yIHByaW1hcnkgZGVwYXJ0bWVudCBpcyByZXF1aXJlZCcgPT4gJ0RlIHJvbCB2YW4gZGUgcHJpbWFpcmUgYWZkZWxpbmcgaXMgdmVycGxpY2h0JywKICAnUm9sZSB1cGRhdGVkIHN1Y2Nlc3NmdWxseScgPT4gJ1JvbCBiaWp3ZXJrZW4gc3VjY2Vzdm9sJywKICAnUm9sZXMnID0+ICdSb2xsZW4nLAogICdSb2xlcyBhcmUgdXNlZCB0byBkZWZpbmUgYWdlbnRzXCcgcGVybWlzc2lvbnMnID0+ICdSb2xsZW4gd29yZGVuIGdlYnJ1aWt0IG9tIGRlIHBlcm1pc3NpZXMgdmFuIGRlIGFnZW50ZW4gdGUgZGVmaW5pw6tyZW4nLAogICdSdWxlcycgPT4gJ1JlZ2VscycsCiAgJ1J1bGVzIE1hdGNoaW5nIENyaXRlcmlhJyA9PiAnUmVnZWxzIGRpZSBhYW4gY3JpdGVyaWEgdm9sZG9lbicsCiAgJ1J1bGVzIGFyZSBhcHBsaWVkIGJhc2VkIG9uIHRoZSBjcml0ZXJpYS4nID0+ICdSZWdlbHMgd29yZGVuIG9wIGJhc2lzIHZhbiB1dyBjcml0ZXJpYSB0b2VnZXBhc3QuJywKICAnU0xBJyA9PiAnU2VydmljZSBMZXZlbCcsCiAgJ1NMQSBEdWUgRGF0ZScgPT4gJ1NMQSB2ZXJ2YWxkYXR1bScsCiAgJ1NMQSBQbGFuJyA9PiAnU2VydmljZSBuaXZlYXUnLAogICdTTEEgY2FuIGJlIG92ZXJyaWRkZW4gb24gdGlja2V0IHRyYW5zZmVyIG9yIGhlbHAgdG9waWMgY2hhbmdlJyA9PiAnU0xBIGthbiBvdmVyc2NocmV2ZW4gd29yZGVuIG1pZGRlbHMgZWVuIHRpY2tldCBvdmVyZHJhY2h0IG9mIGVlbiB2ZXJhbmRlcmluZyB2YW4gaGVscG9uZGVyd2VycCcsCiAgJ1NNVFAnID0+ICdTTVRQJywKICAnU01UUCBTZXR0aW5ncycgPT4gJ1NNVFAtaW5zdGVsbGluZ2VuJywKICAnU1FMIGVycm9ycycgPT4gJ1NRTCBmb3V0ZW4nLAogICdTWVNURU0nID0+ICdTWVNURUVNJywKICAnU1lTVEVNIChBdXRvIEFzc2lnbm1lbnQpJyA9PiAnU1lTVEVFTSAoYXV0b21hdGlzY2hlIHRvZXdpanppbmcpJywKICAnU1lTVEVNIChDYW5uZWQgUmVwbHkpJyA9PiAnU1lTVEVFTSAoaW5nZWJsaWt0IGFudHdvb3JkKScsCiAgJ1NZU1RFTSBCQU4gTElTVCBmaWx0ZXIgaXMgPGI+RElTQUJMRUQ8L2I+JyA9PiAnU3lzdGVlbSBibG9rbGlqc3QgZmlsdGVyIGlzIDxiPlVJVEdFU0NIQUtFTEQ8L2I+JywKICAnU2FtZSBhcycgPT4gJ0hldHplbGZkZSBhbHMnLAogICdTYXZlJyA9PiAnT3BzbGFhbicsCiAgJ1NhdmUgQ2hhbmdlcycgPT4gJ1dpanppZ2luZ2VuIG9wc2xhYW4nLAogICdTYXZlIGFuZCBSZXNlbmQnID0+ICdCZXdhcmVuIGVuIG9wbmlldXcgdmVyc3R1cmVuJywKICAnU2F2ZWQgcXVldWUgd2l0aCBzYW1lIG5hbWUgZXhpc3RzJyA9PiAnRWVuIHdhY2h0cmlqIG1ldCBkZXplIG5hYW0gYmVzdGFhdCBhbCcsCiAgJ1NhdmluZycgPT4gJ0JlemlnIHRlIGJld2FyZW4nLAogICdTY2hlbWEnID0+ICdTY2hlbWEnLAogICdTY2hlbWEgU2lnbmF0dXJlJyA9PiAnU2NoZW1hIHNpZ25hdHV1cicsCiAgJ1NlYXJjaCcgPT4gJ1pvZWtlbicsCiAgJ1NlYXJjaCBSZXN1bHRzJyA9PiAnWm9la3Jlc3VsdGF0ZW4nLAogICdTZWFyY2ggYnkgZW1haWwsIHBob25lIG9yIG5hbWUnID0+ICdab2VrZW4gdmlhIGUtbWFpbCwgdGVsZWZvb24gb2YgbmFhbScsCiAgJ1NlYXJjaCBleGlzdGluZyBvcmdhbml6YXRpb25zIG9yIGFkZCBhIG5ldyBvbmUuJyA9PiAnWm9layBiaW5uZW4gYmVzdGFhbmRlIG9yZ2FuaXNhdGllcywgb2Ygdm9lZyB0b2UuJywKICAnU2VhcmNoIGV4aXN0aW5nIHVzZXJzIG9yIGFkZCBhIG5ldyB1c2VyLicgPT4gJ0Jlc3RhYW5kZSBnZWJydWlrZXJzIHpvZWtlbiBvZiBlZW4gbmlldXdlIGdlYnJ1aWtlciB0b2V2b2VnZW4uJywKICAnU2VhcmNoIGV4aXN0aW5nIHVzZXJzLicgPT4gJ1pvZWsgYmVzdGFhbmRlIGdlYnJ1aWtlcnMuJywKICAnU2VhcmNoIGl0ZW1zJyA9PiAnRG9vcnpvZWsgZWxlbWVudGVuJywKICAnU2VhcmNoIG91ciBrbm93bGVkZ2UgYmFzZScgPT4gJ1pvZWsgaW4gZGUga2VubmlzZGF0YWJhc2UnLAogICdTZWNvbmRhcnkgTGFuZ3VhZ2VzJyA9PiAnQWx0ZXJuYXRpZXZlIHRhYWxpbnN0ZWxsaW5nJywKICAnU2VjdGlvbiBCcmVhaycgPT4gJ1NlY3RpZSBlaW5kZScsCiAgJ1NlY3VyaXR5IEFsZXJ0cycgPT4gJ0JldmVpbGlnaW5nc21lbGRpbmdlbicsCiAgJ1NlZSBhbGwgdGlja2V0cyBpbiBzZWFyY2ggcmVzdWx0cywgcmVnYXJkbGVzcyBvZiBhY2Nlc3MnID0+ICdMYWF0IGFsbGUgdGlja2V0cyB6aWVuIGluIGRlIHpvZWtyZXN1bHRhdGVuLCBvbmdlYWNodCBodW4gdG9lZ2FuZ3NyZWNodGVuJywKICAnU2VsZWN0JyA9PiAnU2VsZWN0ZWVyJywKICAnU2VsZWN0IEFjdGlvbicgPT4gJ1NlbGVjdGVlciBBY3RpZScsCiAgJ1NlbGVjdCBBZ2VudCcgPT4gJ1NlbGVjdGVlciBtZWRld2Vya2VyJywKICAnU2VsZWN0IEF1dGhlbnRpY2F0aW9uJyA9PiAnU2VsZWN0ZWVyIGF1dGhlbnRpY2F0aWUnLAogICdTZWxlY3QgQ29udGFjdHMnID0+ICdzZWxlY3RlZXIgY29udGFjdGVuJywKICAnU2VsZWN0IERlZmF1bHQgRGVwYXJ0bWVudCcgPT4gJ1NlbGVjdGVlciBkZSBzdGFuZGFhcmQgYWZkZWxpbmcnLAogICdTZWxlY3QgRGVmYXVsdCBFbWFpbCBUZW1wbGF0ZSBTZXQnID0+ICdTZWxlY3RlZXIgc3RhbmRhYXJkIGVtYWlsIHNqYWJsb29uIGluc3RlbGxpbmdlbicsCiAgJ1NlbGVjdCBEZXBhcnRtZW50JyA9PiAnS2llcyBhZmRlbGluZycsCiAgJ1NlbGVjdCBGQVEgQ2F0ZWdvcnknID0+ICdTZWxlY3RlZXIgZGUgRkFRY2F0ZWdvcmllJywKICAnU2VsZWN0IEZST00gRW1haWwnID0+ICdTZWxlY3RlZXIgVkFOIGUtbWFpbGFkcmVzJywKICAnU2VsZWN0IEhlbHAgVG9waWMnID0+ICdIZWxwLW9uZGVyd2VycCBzZWxlY3RlcmVuJywKICAnU2VsZWN0IExhbmRpbmcgUGFnZScgPT4gJ1NlbGVjdGVlciBkZSBzdGFydHBhZ2luYScsCiAgJ1NlbGVjdCBPZmZsaW5lIFBhZ2UnID0+ICdTZWxlY3RlZXIgZGUgb2ZmbGluZS1wYWdpbmEnLAogICdTZWxlY3QgT25lJyA9PiAnc2VsZWN0ZWVyIMOpw6luJywKICAnU2VsZWN0IE9yZ2FuaXphdGlvbicgPT4gJ1NlbGVjdGVlciBvcmdhbmlzYXRpZScsCiAgJ1NlbGVjdCBQYWdlIFR5cGUnID0+ICdzZWxlY3RlZXIgaGV0IHBhZ2luYSB0eXBlJywKICAnU2VsZWN0IFByaW50IFBhcGVyIFNpemUnID0+ICdTZWxlY3RlZXIgcGFwaWVyZm9ybWFhdCcsCiAgJ1NlbGVjdCBSb2xlJyA9PiAnU2VsZWN0ZWVyIHJvbCcsCiAgJ1NlbGVjdCBTb3VyY2UnID0+ICdTZWxlY3RlZXIgYnJvbicsCiAgJ1NlbGVjdCBTdG9yYWdlIEJhY2tlbmQnID0+ICdTZWxlY3RlZXIgb3BzbGFnc3lzdGVlbScsCiAgJ1NlbGVjdCBUZWFtJyA9PiAnU2VsZWN0ZWVyIFRlYW0nLAogICdTZWxlY3QgVGhhbmstWW91IFBhZ2UnID0+ICdTZWxlY3RlZXIgZGUgZGFua3BhZ2luYScsCiAgJ1NlbGVjdCBUeXBlJyA9PiAnU2VsZWN0ZWVyIHR5cGUnLAogICdTZWxlY3QgVXNlcicgPT4gJ1NlbGVjdGVlciBnZWJydWlrZXInLAogICdTZWxlY3QgYSBDaGFubmVsJyA9PiAnU2VsZWN0ZWVyIGVlbiBrYW5hYWwnLAogICdTZWxlY3QgYSBEZWZhdWx0JyA9PiAnU2VsZWN0ZWVyIGVlbiBzdGFuZGFhcmQnLAogICdTZWxlY3QgYSBIZWxwIFRvcGljJyA9PiAnS2llcyBlZW4gb25kZXJ3ZXJwJywKICAnU2VsZWN0IGEgTGFuZ3VhZ2UnID0+ICdTZWxlY3RlZXIgZWVuIFRhYWwnLAogICdTZWxlY3QgYSBUZWFtJyA9PiAnU2VsZWN0ZWVyIGVlbiBUZWFtJywKICAnU2VsZWN0IGEgY2FubmVkIHJlc3BvbnNlJyA9PiAnS2llcyBlZW4gYW50d29vcmQnLAogICdTZWxlY3QgYSBkZWZhdWx0IHRpY2tldCBxdWV1ZScgPT4gJ1NlbGVjdGVlciBzdGFuZGFhcmQgdGlja2V0b3ZlcnppY2h0JywKICAnU2VsZWN0IGEgZGVwYXJ0bWVudCcgPT4gJ1NlbGVjdGVlciBlZW4gYWZkZWxpbmcnLAogICdTZWxlY3QgYSB2YWxpZCBTTEEnID0+ICdTZWxlY3RlZXIgZWVuIGdlbGRpZ2UgU0xBJywKICAnU2VsZWN0IGEgdmFsaWQgcm9sZScgPT4gJ1NlbGVjdGVlciBlZW4gZ2VsZGlnZSByb2wnLAogICdTZWxlY3QgYSB2YWx1ZSBmcm9tIHRoZSBsaXN0JyA9PiAnU2VsZWN0ZWVyIGVlbiB3YWFyZGUgaW4gZGUgbGlqc3QnLAogICdTZWxlY3QgYW4gQWN0aW9uJyA9PiAnU2VsZWN0ZWVyIGVlbiBhY3RpZScsCiAgJ1NlbGVjdCBhbiBBZ2VudCcgPT4gJ1NlbGVjdGVlciBlZW4gYWdlbnQnLAogICdTZWxlY3QgYW4gQWdlbnQgT1IgYSBUZWFtJyA9PiAnU2VsZWN0ZWVyIG1lZGV3ZXJrZXIgb2YgdGVhbScsCiAgJ1NlbGVjdCBhbiBhZ2VudCBvciB0ZWFtIGZyb20gdGhlIGxpc3QnID0+ICdTZWxlY3RlZXIgZWVuIG1lZGV3ZXJrZXIgb2YgdGVhbSB1aXQgZGUgbGlqc3QnLAogICdTZWxlY3QgZnJvbSBlbWFpbCBhZGRyZXNzJyA9PiAnU2VsZWN0ZWVyIGhldCBhZnplbmRlcmFkcmVzJywKICAnU2VsZWN0IHByb3RvY29sJyA9PiAnU2VsZWN0ZWVyIHByb3RvY29sJywKICAnU2VsZWN0IHJlY2lwaWVudChzKScgPT4gJ1NlbGVjdGVlciBvbnR2YW5nZXIocyknLAogICdTZWxlY3QgdGhlIGRlcGFydG1lbnRzIHRoZSBhZ2VudCBpcyBhbGxvd2VkIHRvIGFjY2VzcyBhbmQgdGhlIGNvcnJlc3BvbmRpbmcgZWZmZWN0aXZlIHJvbGUuJyA9PiAnU2VsZWN0ZWVyIGRlIGFmZGVsaW5nZW4gd2FhcnRvZSBkZSBtZWRld2Vya2VyIHRvZWdhbmcgaGVlZnQgZW4gZGUgYmlqYmVob3JlbmRlIGVmZmVjdGlldmUgcm9sLicsCiAgJ1NlbGVjdGVkIGRhdGUgaXMgZWFybGllciB0aGFuIHBlcm1pdHRlZCcgPT4gJ0dlc2VsZWN0ZWVyZGUgZGF0dW0gaXMgZWVyZGVyIGRhbiB0b2VnZXN0YWFuJywKICAnU2VsZWN0ZWQgZGF0ZSBpcyBsYXRlciB0aGFuIHBlcm1pdHRlZCcgPT4gJ0dlc2VsZWN0ZWVyZGUgZGF0dW0gaXMgbGF0ZXIgZGFuIHRvZWdlc3RhYW4nLAogICdTZWxlY3Rpb24gcmVxdWlyZWQnID0+ICdTZWxlY3RpZSB2ZXJlaXN0JywKICAnU2VuZCBBY3RpdmF0aW9uIEVtYWlsJyA9PiAnU3R1dXIgZWVuIGFjdGl2YXRpZSBlLW1haWwnLAogICdTZW5kIEVtYWlsJyA9PiAnU3R1dXIgZS1tYWlsJywKICAnU2VuZCBNZXNzYWdlJyA9PiAnQmVyaWNodCB2ZXJ6ZW5kZW4nLAogICdTZW5kIFBhc3N3b3JkIFJlc2V0IEVtYWlsJyA9PiAnU3R1dXIgZWVuIHdhY2h0d29vcmQgaGVyc3RlbCBlLW1haWwnLAogICdTZW5kIGEgd2VsY29tZSBlbWFpbCB3aXRoIGxvZ2luIGluZm9ybWF0aW9uJyA9PiAnU3R1dXIgZWVuIHdlbGtvbXN0YmVyaWNodCBtZXQgaW5sb2ctaW5mbycsCiAgJ1NlbmQgYWNjb3VudCBhY3RpdmF0aW9uIGVtYWlsIHRvICVzLicgPT4gJ1N0dXVyIGRlIGFjY291bnQgYWN0aXZhdGllIGUtbWFpbCBuYWFyICVzLicsCiAgJ1NlbmQgYW4gRW1haWwnID0+ICdTdHV1ciBlZW4gZW1haWwnLAogICdTZW5kIHRoZSBhZ2VudCBhIHBhc3N3b3JkIHJlc2V0IGVtYWlsJyA9PiAnU3R1dXIgZGUgYWdlbnQgZWVuIGVtYWlsLXJlc2V0IGJlcmljaHQnLAogICdTZXF1ZW5jZScgPT4gJ1NlcXVlbnRpZScsCiAgJ1NlcXVlbmNlcyBhcmUgdXNlZCB0byBnZW5lcmF0ZSBzZXF1ZW50aWFsIG51bWJlcnMuIFZhcmlvdXMgc2VxdWVuY2VzIGNhbiBiZQp1c2VkIHRvIGdlbmVyYXRlIHNlcXVlbmNlcyBmb3IgZGlmZmVyZW50IHB1cnBvc2VzLicgPT4gJ1NlcXVlbnRpZXMgd29yZGVuIGdlYnJ1aWt0IG9tIG9wZWVudm9sZ2VuZGUgZ2V0YWxsZW4gdGUgZ2VuZXJlcmVuLiBWZXJzY2hpbGxlbmRlIHNlcXVlbnRpZXMga3VubmVuIHdvcmRlbgpnZWJydWlrdCBvbSBzZXF1ZW50aWVzIHRlIGdlbmVyZXJlbiB2b29yIHZlcnNjaGlsbGVuZGUgZG9lbGVpbmRlbi4nLAogICdTZXJ2ZXIgSW5mb3JtYXRpb24nID0+ICdTZXJ2ZXJpbmZvcm1hdGllJywKICAnU2VydmVyIGNvbmZpZ3VyYXRpb24gZXJyb3InID0+ICdzZXJ2ZXIgY29uZmlndXJhdGllIGZvdXQnLAogICdTZXJ2aWNlIExldmVsIEFncmVlbWVudCcgPT4gJ1NlcnZpY2UgTGV2ZWwgQWdyZWVtZW50JywKICAnU2VydmljZSBMZXZlbCBBZ3JlZW1lbnRzJyA9PiAnU2VydmljZSBMZXZlbCBBZ3JlZW1lbnRzJywKICAnU2VydmljZSBUaW1lJyA9PiAnU2VydmljZSB0aWpkJywKICAnU2VydmljZXMnID0+ICdTZXJ2aWNlcycsCiAgJ1Nlc3Npb24gdGltZWQgb3V0IGR1ZSB0byBpbmFjdGl2aXR5JyA9PiAnRGUgc2Vzc2llIGlzIHZlcmxvcGVuIHZhbndlZ2UgaW5hY3Rpdml0ZWl0JywKICAnU2V0JyA9PiAnU3RlbCBpbicsCiAgJ1NldCBBZ2VudCBQYXNzd29yZCcgPT4gJ1N0ZWwgYWdlbnQtd2FjaHR3b29yZCBpbicsCiAgJ1NldCBEZXBhcnRtZW50JyA9PiAnU3RlbCBhZmRlbGluZyBpbicsCiAgJ1NldCBIZWxwIFRvcGljJyA9PiAnU3RlbCBoZXQgaHVscC1vbmRlcndlcnAgaW4nLAogICdTZXQgUGFzc3dvcmQnID0+ICdTdGVsIGhldCB3YWNodHdvb3JkIGluJywKICAnU2V0IFByaW9yaXR5JyA9PiAnU3RlbCBkZSBwcmlvcml0ZWl0IGluJywKICAnU2V0IFNMQSBQbGFuJyA9PiAnU3RlbCBkZSBvdmVyZWVua29tc3QgKFNMQSkgIGluJywKICAnU2V0IFRpY2tldCBTdGF0dXMnID0+ICdTdGVsIGRlIHRpY2tldC1zdGF0dXMgaW4nLAogICdTZXQgdGhlIGVkaXRvciBzcGFjaW5nIHRvIFNpbmdsZSBvciBEb3VibGUgd2hlbiBwcmVzc2luZyBFbnRlci4nID0+ICdTdGVsIGRlIGVkaXRvcnJ1aW10ZSBvcCBFbmtlbCBvZiBEdWJiZWwgd2FubmVlciB1IG9wIEVudGVyIGRydWt0LicsCiAgJ1NldHRpbmcgZGVmYXVsdCB0aW1lem9uZSBpcyBoaWdobHkgcmVjb21tZW5kZWQnID0+ICdIZXQgaW5zdGVsbGVuIHZhbiBkZSBzdGFuZGFhcmQgdGlqZHN6b25lIGlzIGhvb2dzdCBhYW5iZXZvbGVuJywKICAnU2V0dGluZ3MnID0+ICdJbnN0ZWxsaW5nZW4nLAogICdTaG9ydCBBbnN3ZXInID0+ICdLb3J0IEFudHdvb3JkJywKICAnU2hvcnQgZGVzY3JpcHRpdmUgbmFtZS4nID0+ICdLb3J0ZSBvbXNjaHJpanZpbmcuJywKICAnU2hvdyBBdmF0YXJzJyA9PiAnVG9vbiBBdmF0YXInLAogICdTaG93IEF2YXRhcnMgb24gdGhyZWFkIHZpZXcuJyA9PiAnVG9vbiBhdmF0YXJzIGluIGRpc2N1c3NpZSB3ZWVyZ2F2ZS4nLAogICdTaG93IEltYWdlcycgPT4gJ2FmYmVlbGRpbmdlbiB3ZWVyZ2V2ZW4nLAogICdTaG93IGFsbCB0aWNrZXRzJyA9PiAnVG9vbiBhbGxlIHRpY2tldHMnLAogICdTaG93IGRhdGUvdGltZSByZWxhdGl2ZSB0byB1c2VyXCdzIHRpbWV6b25lJyA9PiAnR2VlZiBkYXR1bS90aWpkIHRlbiBvcHppY2h0ZSB2YW4gZGUgZ2VicnVpa2VyIHppam4gdGlqZHpvbmUnLAogICdTaG93IHRpbWUgc2VsZWN0aW9uIHdpdGggZGF0ZSBwaWNrZXInID0+ICdHZWVmIHRpamRzZWxlY3RpZSB3ZWVyIGluIGRhdHVta2llemVyJywKICAnU2hvd2luZycgPT4gJ1Rvb250JywKICAnU2lnbiBJbicgPT4gJ0xvZyBpbicsCiAgJ1NpZ24gT3V0JyA9PiAnQWZtZWxkZW4nLAogICdTaWduIGluIHdpdGgnID0+ICdMb2cgaW4gbWV0JywKICAnU2lnbi1JbiBQYWdlJyA9PiAnQWFubWVsZGluZ3NwYWdpbmEnLAogICdTaWduLWluIExvZ2luIEJhbm5lcicgPT4gJ1NpZ24taW4gTG9naW4gQmFuaWVyJywKICAnU2lnbmF0dXJlJyA9PiAnSGFuZHRla2VuaW5nJywKICAnU2lnbmF0dXJlIGlzIG1hZGUgYXZhaWxhYmxlIGFzIGEgY2hvaWNlLCBvbiB0aWNrZXQgcmVwbHkuJyA9PiAnRGUgaGFuZHRla2VuaW5nIGlzIGFscyBrZXV6ZSBvbmRlciBcJ3RpY2tldCBiZWFudHdvb3JkZW5cJyBhYW5nZW1hYWt0LicsCiAgJ1NpbmdsZScgPT4gJ0Vua2VsJywKICAnU2l0ZSBQYWdlcycgPT4gJ1NpdGUgcGFnaW5hXCdzJywKICAnU2l6ZScgPT4gJ0dyb290dGUnLAogICdTaXplIGFuZCBtYXhpbXVtIHVwbG9hZHMgc2V0dGluZyBtYWlubHkgYXBwbHkgdG8gd2ViIHRpY2tldHMuJyA9PiAnRGUgZ3Jvb3R0ZSB2YW4gZGUgdXBsb2FkLWluc3RlbGxpbmdlbiBoZWJiZW4gaG9vZmR6YWtlbGlqayBiZXRyZWtraW5nIG9wIHpnbiBcJ3dlYlwndGlja2V0cy4nLAogICdTbWFsbCcgPT4gJ0tsZWluJywKICAnU29sdXRpb24nID0+ICdPcGxvc3NpbmcnLAogICdTb21lb25lIGVsc2UgY291bGQgYmUgd29ya2luZyBvbiB0aGUgc2FtZSB0aWNrZXQuJyA9PiAnSWVtYW5kIGFuZGVycyBrYW4gYWFuIGhldHplbGZkZSB0aWNrZXQgd2Vya2VuLicsCiAgJ1NvbWV0aGluZyB3ZW50IHdyb25nJyA9PiAnRXIgaXMgaWV0cyBtaXNnZWdhYW4nLAogICdTb3J0JyA9PiAnVm9sZ29yZGUnLAogICdTb3J0IE9yZGVyJyA9PiAnU29ydGVlcnZvbGdvcmRlJywKICAnU29ydCB0aGUgZm9ybXMgb24gdGhpcyB0aWNrZXQgYnkgY2xpY2sgYW5kIGRyYWdnaW5nIG9uIHRoZW0uIFVzZSB0aGUgYm94IGJlbG93IHRoZSBmb3JtcyBsaXN0IHRvIGFkZCBuZXcgZm9ybXMgdG8gdGhlIHRpY2tldC4nID0+ICdTb3J0ZWVyIGRlIGZvcm11bGllcmVuIGluIGRpdCB0aWNrZXQgZG9vciB0ZSBrbGlra2VuIGVuIHRlIHNsZXBlbi4gR2VicnVpayBoZXQgb25kZXJzdGUgZm9ybXVsaWVyIG9tIGJlcmljaHRlbiBhYW4gaGV0IHRpY2tldCB0b2UgdGUgdm9lZ2VuLicsCiAgJ1NvcnRpbmcgTW9kZScgPT4gJ1NvcnRlcmluZycsCiAgJ1NvdXJjZScgPT4gJ0Jyb24nLAogICdTcGFjZSBVc2VkJyA9PiAncnVpbXRlIGluIGdlYnJ1aWsnLAogICdTcGFjZSBmb3IgQXR0YWNobWVudHMnID0+ICdSdWltdGUgdm9vciBiaWpsYWdlcycsCiAgJ1N0YWZmIENvbnRyb2wgUGFuZWwnID0+ICdNZWRld2Vya2VycyBDb250cm9sZSBQb3J0YWwnLAogICdTdGFmZiBQYW5lbCcgPT4gJ1N0YWYgcGFuZWVsJywKICAnU3RhbGUgVGFza3MnID0+ICdTdGFnbmVyZW5kZSB0YWtlbicsCiAgJ1N0YXJ0JyA9PiAnU3RhcnQnLAogICdTdGFydCBVcGdyYWRlIE5vdycgPT4gJ1N0YXJ0IGRlIHVwZ3JhZGUgbnUnLAogICdTdGFydCB3cml0aW5nIHlvdXIgcmVzcG9uc2UgaGVyZS4gVXNlIGNhbm5lZCByZXNwb25zZXMgZnJvbSB0aGUgZHJvcC1kb3duIGFib3ZlJyA9PiAnU2NocmlqZiB1dyByZWFjdGllIGhpZXIuIEdlYnJ1aWsgc3RhbmRhYXJkIGFudHdvb3JkZW4gaW4gaGV0IG1lbnUgaGllcmJvdmVuJywKICAnU3RhcnQgd3JpdGluZyB5b3VyIHVwZGF0ZSBoZXJlLicgPT4gJ0JlZ2luIGplIHVwZGF0ZSBoaWVyIHRlIHNjaHJpanZlbi4nLAogICdTdGFydHMgV2l0aCcgPT4gJ1N0YXJ0IG1ldCcsCiAgJ1N0YXRlJyA9PiAnU3RhdHVzJywKICAnU3RhdGUgbmFtZSAoZS5nLiBvcGVuIG9yIGNsb3NlZCknID0+ICdTdGF0dXMgKG9wZW4gb2YgZ2VzbG90ZW4pJywKICAnU3RhdGlzdGljcycgPT4gJ1N0YXRpc3RpZWtlbicsCiAgJ1N0YXRpc3RpY3Mgb2YgdGlja2V0cyBvcmdhbml6ZWQgYnkgZGVwYXJ0bWVudCwgaGVscCB0b3BpYywgYW5kIGFnZW50LicgPT4gJ1N0YXRpc3RpZWtlbiB2YW4gdGlja2V0cyBnZW9yZ2FuaXNlZXJkIG9wIGFmZGVsaW5nLCBoZWxwLW9uZGVyd2VycCBlbiBtZWRld2Vya2VyLicsCiAgJ1N0YXRzJyA9PiAnU3RhdGlzdGlla2VuJywKICAnU3RhdHVzJyA9PiAnU3RhdHVzJywKICAnU3RhdHVzIENoYW5nZWQnID0+ICdTdGF0dXMgZ2V3aWp6aWdkJywKICAnU3RhdHVzIGFuZCBTZXR0aW5ncycgPT4gJ1N0YXR1cyBlbiBpbnN0ZWxsaW5nZW4nLAogICdTdGF0dXMgY2hhbmdlZCB0byAlcycgPT4gJ1N0YXR1cyBnZXdpanppZ2QgbmFhciAlcycsCiAgJ1N0YXR1cyBsYWJlbCcgPT4gJ1N0YXR1cyBsYWJlbCcsCiAgJ1N0YXR1cyBzZWxlY3Rpb24gcmVxdWlyZWQnID0+ICdIZXQgaXMgdmVycGxpY2h0IG9tIGRlIGRlIHN0YXR1c3NlbGVjdGllIHRlIHZvbHRvb2llbicsCiAgJ1N0YXkgdXAgdG8gZGF0ZScgPT4gJ0JsaWpmIGJpaicsCiAgJ1N0aWxsIGJ1c3kuLi4gc21pbGUgIycgPT4gJ05vZyBzdGVlZHMgYmV6aWcuLi4gc21pbGUgIycsCiAgJ1N0b2NrIFRlbXBsYXRlcycgPT4gJ3N0YW5kYWFyZCBzamFibG9uZW4nLAogICdTdG9yZSBBdHRhY2htZW50cycgPT4gJ1NsYSBiaWpsYWdlcyBvcCcsCiAgJ1N0cmlwIFF1b3RlZCBSZXBseScgPT4gJ0JlcGVyayBxdW90ZSBhbnR3b29yZCcsCiAgJ1N1YmplY3QnID0+ICdPbmRlcndlcnAnLAogICdTdWJqZWN0IHJlcXVpcmVkJyA9PiAnT25kZXJ3ZXJwIHZlcmVpc3QnLAogICdTdWJqZWN0LCBpZiBhbnknID0+ICdPbmRlcndlcnAsIGFscyBkZXplIGVyIGlzJywKICAnU3VibWl0JyA9PiAnVmVyemVuZGVuJywKICAnU3VibWl0dGVyIG9mIHRoZSB0aHJlYWQgaXRlbScgPT4gJ1ZlcnplbmRlciB2YW4gZGlzY3Vzc2llLWl0ZW0nLAogICdTdWJtaXR0ZXI6IFNlbmQgcmVjZWlwdCBjb25maXJtYXRpb24nID0+ICdWZXJ6ZW5kZXI6IFZlcnplbmQgb250dmFuZ3N0YmV2ZXN0aWdpbmcnLAogICdTdWNjZXNzZnVsbHkgVXBkYXRlZCBDcmVkZW50aWFscy4nID0+ICdHZWdldmVucyBzdWNjZXN2b2wgYmlqZ2V3ZXJrdC4nLAogICdTdWNjZXNzZnVsbHkgYWN0aXZhdGVkICVzJyA9PiAnJXMgaXMgc3VjY2Vzdm9sIGdlYWN0aXZlZXJkJywKICAnU3VjY2Vzc2Z1bGx5IGFkZGVkICVzJyA9PiAnJXMgc3VjY2Vzdm9sIHRvZWdldm9lZ2QnLAogICdTdWNjZXNzZnVsbHkgYWRkZWQgJXMuJyA9PiAnJXMgc3VjY2Vzdm9sIHRvZWdldm9lZ2QuJywKICAnU3VjY2Vzc2Z1bGx5IGNoYW5nZWQgc3RhdHVzIG9mICUxJHMgdG8gJTIkcycgPT4gJ1N0YXR1cyBzdWNjZXN2b2wgdmVyYW5kZXJkIHZhbiAlMSRzIGluICUyJHMnLAogICdTdWNjZXNzZnVsbHkgZGVsZXRlZCAlcy4nID0+ICcgJXMgc3VjY2Vzdm9sIHZlcndpamRlcmQuJywKICAnU3VjY2Vzc2Z1bGx5IGRlbGV0ZWQlcy4nID0+ICdTdWNjZXN2b2wgdmVyd2lqZGVyZCVzLicsCiAgJ1N1Y2Nlc3NmdWxseSBkaXNhYmxlZCAlcycgPT4gJyVzIHN1Y2Nlc3ZvbCBVaXRnZXNjaGFrZWxkJywKICAnU3VjY2Vzc2Z1bGx5IGVuYWJsZWQgJXMnID0+ICclcyBzdWNjZXN2b2wgaW5nZXNjaGFrZWxkJywKICAnU3VjY2Vzc2Z1bGx5IGltcG9ydGVkICUxJGQgJTIkcycgPT4gJyUxJGQgJTIkcyBzdWNjZXN2b2wgZ2VpbXBvcnRlZXJkJywKICAnU3VjY2Vzc2Z1bGx5IGluc3RhbGxlZCAlcycgPT4gJyVzIHN1Y2Nlc3ZvbCBnZWluc3RhbGxlZXJkJywKICAnU3VjY2Vzc2Z1bGx5IG1hZGUgJXMgUFJJVkFURScgPT4gJyVzIFN1Y2Nlc3ZvbCBhbHMgcHJpdmUgZ2VtYXJrZWVyZCcsCiAgJ1N1Y2Nlc3NmdWxseSBtYWRlICVzIFBVQkxJQycgPT4gJyVzIGlzIHN1Y2Nlc3ZvbCBQVUJMSUVLRUxJSksgZ2V6ZXQnLAogICdTdWNjZXNzZnVsbHkgbWFuYWdlZCBzZWxlY3RlZCBlbmQgdXNlcnMnID0+ICdIZXQgYmVoZXJlbiB2YW4gZGUgZ2VzZWxlY3RlZXJkZSBlaW5kIGdlYnJ1aWtlcnMgaXMgdm9sdG9vaWQnLAogICdTdWNjZXNzZnVsbHkgbWFuYWdlZCBzZWxlY3RlZCBvcmdhbml6YXRpb25zJyA9PiAnV2lqemlnaW5nZW4gb3AgZ2VzZWxlY3RlZXJkZSBvcmdhbmlzYXRpZXMgemlqbiBzdWNjZXN2b2wgdG9lZ2VwYXN0JywKICAnU3VjY2Vzc2Z1bGx5IHB1Ymxpc2hlZCAlcycgPT4gJyVzIGlzIHN1Y2Nlc3ZvbCBnZXB1YmxpY2VlcmQnLAogICdTdWNjZXNzZnVsbHkgcmVtb3ZlZCAlcy4nID0+ICclcyBzdWNjZXN2b2wgdmVyd2lqZGVyZC4nLAogICdTdWNjZXNzZnVsbHkgc2V0IHNvcnRpbmcgY29uZmlndXJhdGlvbicgPT4gJ1NvcnRlZXJjb25maWd1cmF0aWUgc3VjY2Vzdm9sIGluZ2VzdGVsZCcsCiAgJ1N1Y2Nlc3NmdWxseSB1bnB1Ymxpc2hlZCAlcycgPT4gJyVzIGlzIHN1Y2Nlc3ZvbCBnZWRlcHVibGljZWVyZCcsCiAgJ1N1Y2Nlc3NmdWxseSB1cGRhdGVkICVzJyA9PiAnJXMgc3VjY2Vzdm9sIGJpamdld2Vya3QnLAogICdTdWNjZXNzZnVsbHkgdXBkYXRlZCAlcy4nID0+ICclcyBzdWNjZXN2b2wgYmlqZ2V3ZXJrdC4nLAogICdTdW1tYXJ5IG9mIHRoZSBjYXRlZ29yeS4nID0+ICdTYW1lbnZhdHRpbmcgdmFuIGNhdGVnb3J5LicsCiAgJ1N1cHBvcnQgQ2VudGVyJyA9PiAnU3VwcG9ydCBDZW50ZXInLAogICdTdXBwb3J0IENlbnRlciBIb21lJyA9PiAnU3VwcG9ydCBDZW50ZXIgU3RhcnRwYWdpbmEnLAogICdTdXBwb3J0IFRpY2tldCBTeXN0ZW0nID0+ICdTdXBwb3J0IHRpY2tldHN5c3RlZW0nLAogICdTdXBwb3J0IFRpY2tldCBTeXN0ZW0gT2ZmbGluZScgPT4gJ1N1cHBvcnQgdGlja2V0c3lzdGVlbSBvZmZsaW5lJywKICAnU3VwcG9ydCB0aWNrZXQgcmVxdWVzdCBjcmVhdGVkJyA9PiAnU3VwcG9ydCB0aWNrZXQgYWFudnJhYWcgYWFuZ2VtYWFrdCcsCiAgJ1N1cHBvcnRlZCBWYXJpYWJsZXMnID0+ICdUb2VnZXN0YW5lIHZhcmlhYmVsZW4nLAogICdTeW50YXggZXJyb3IsIG1hbGZvcm1lZCBKU09OJyA9PiAnU3ludGF4aXNmb3V0LCBvbmdlbGRpZ2UgSlNPTicsCiAgJ1N5c3RlbScgPT4gJ1N5c3RlZW0nLAogICdTeXN0ZW0gQWxlcnRzJyA9PiAnU3lzdGVlbW1lbGRpbmdlbicsCiAgJ1N5c3RlbSBEZWZhdWx0JyA9PiAnU3lzdGVlbSBzdGFuZGFhcmQnLAogICdTeXN0ZW0gRGVmYXVsdCBCYWNrZHJvcCcgPT4gJ1N0YW5kYWFyZCBBY2h0ZXJncm9uZCcsCiAgJ1N5c3RlbSBEZWZhdWx0IExvZ28nID0+ICdTeXN0ZWVtIHN0YW5kYWFyZCBsb2dvJywKICAnU3lzdGVtIEVtYWlscycgPT4gJ1N5c3RlZW0gZS1tYWlscycsCiAgJ1N5c3RlbSBFcnJvcnMnID0+ICdTeXN0ZWVtZm91dGVuJywKICAnU3lzdGVtIExhbmd1YWdlcycgPT4gJ1N5c3RlZW0gdGFsZW4nLAogICdTeXN0ZW0gTG9ncycgPT4gJ1N5c3RlZW1sb2dib2VrZW4nLAogICdTeXN0ZW0gTWFuYWdlbWVudCBUZW1wbGF0ZXMnID0+ICdTeXN0ZWVtIG1hbmFnZW1lbnQgc2phYmxvbmVuJywKICAnU3lzdGVtIE9mZmxpbmUnID0+ICdTeXN0ZWVtIHVpdGdlc2NoYWtlbGQnLAogICdTeXN0ZW0gU2V0dGluZ3MnID0+ICdTeXN0ZWVtIGluc3RlbGxpbmdlbicsCiAgJ1N5c3RlbSBTZXR0aW5ncyBhbmQgUHJlZmVyZW5jZXMnID0+ICdTeXN0ZWVtIGluc3RlbGxpbmdlbiBlbiB2b29ya2V1cmVuJywKICAnU3lzdGVtIGFkbWluIGVtYWlsIGlzIHJlcXVpcmVkJyA9PiAnU3lzdGVlbSBhZG1pbiBlLW1haWwgaXMgdmVyZWlzdCcsCiAgJ1N5c3RlbSBiYW4gbGlzdCBpcyBlbXB0eS4nID0+ICdEZSBzeXN0ZWVtYmxva2xpanN0IGlzIGxlZWcuJywKICAnU3lzdGVtIGRlZmF1bHQgZGVwYXJ0bWVudCBjYW5ub3QgYmUgcHJpdmF0ZScgPT4gJ1N0YW5kYWFyZCBzeXN0ZWVtIGFmZGVsaW5nIG1hZyBuaWV0IHByaXbDqSB6aWpuJywKICAnU3lzdGVtIGlzIHNldCB0byBvZmZsaW5lIG1vZGUnID0+ICdTeXN0ZWVtIGlzIHVpdGdlc2NoYWtlbGQgKGluIG9mZmxpbmUtbW9kdXMpJywKICAnU3lzdGVtIHVwZ3JhZGUgaXMgcGVuZGluZycgPT4gJ0hldCBzeXN0ZWVtIHN0YWF0IGtsYWFyIG9tIGdldXBncmFkZSB0ZSB3b3JkZW4nLAogICdTeXN0ZW0td2lkZSBkZWZhdWx0IHRpY2tldCBzZXR0aW5ncyBhbmQgb3B0aW9ucy4nID0+ICdHbG9iYWxlIHN0YW5kYWFyZCB0aWNrZXQgaW5zdGVsbGluZ2VuIGVuIG9wdGllcy4nLAogICdUYWJsZSBwcmVmaXggcmVxdWlyZWQnID0+ICdUYWJlbCB2b29ydm9lZ3NlbCAocHJlZml4KSAgdmVyZWlzdCcsCiAgJ1RhcmdldCcgPT4gJ0RvZWwnLAogICdUYXJnZXQgQ2hhbm5lbCcgPT4gJ0Jlc3RlbW1pbmdzIGthbmFhbCcsCiAgJ1RhcmdldCByZXF1aXJlZCcgPT4gJ0RvZWwgdmVyZWlzdCcsCiAgJ1Rhc2snID0+ICdUYWFrJywKICAnVGFzayAjJTEkcyBkZWxldGVkIGJ5ICUyJHMnID0+ICdUYWFrICMlMSRzIHZlcndpamRlcmQgZG9vciAlMiRzJywKICAnVGFzayAjJTEkczogJTIkcycgPT4gJ1RhYWsgIyUxJHM6ICUyJHMnLAogICdUYXNrICMlcycgPT4gJ1RhYWsgIyVzJywKICAnVGFzayAjJXMgZGVsZXRlZCcgPT4gJ1RhYWsgIyVzIHZlcndpamRlcmQnLAogICdUYXNrICMlczogJXMnID0+ICdUYWFrICMlczogJXMnLAogICdUYXNrIEFzc2lnbm1lbnQgQWxlcnQnID0+ICdUYWFrIHRvZXdpanppbmcgbWVsZGluZycsCiAgJ1Rhc2sgQXR0YWNobWVudCBTZXR0aW5ncycgPT4gJ0luc3RlbGxpbmdlbiB2b29yIHRhYWsgYmlqbGFnZScsCiAgJ1Rhc2sgQ291bnQnID0+ICdUYWFrIHRlbGxpbmcnLAogICdUYXNrIENyZWF0ZWQgRnJvbSBUaHJlYWQgRW50cnknID0+ICdUYWFrIGFhbmdlbWFha3QgdmFudWl0IHRocmVhZCcsCiAgJ1Rhc2sgRW1haWwgVGVtcGxhdGVzJyA9PiAnVGFhayBFbWFpbCBTamFibG9uZW4nLAogICdUYXNrIEluZm9ybWF0aW9uJyA9PiAnVGFhayBpbmZvcm1hdGllJywKICAnVGFzayBOdW1iZXInID0+ICdUYWFrbnVtbWVyJywKICAnVGFzayBRdWV1ZScgPT4gJ1RhYWstd2FjaHRyaWonLAogICdUYXNrIFNldHRpbmdzIGFuZCBPcHRpb25zJyA9PiAnVGFhayBpbnN0ZWxsaW5nZW4gZW4gb3B0aWVzJywKICAnVGFzayBTdW1tYXJ5JyA9PiAnVGFhayBPdmVyemljaHQnLAogICdUYXNrIFRocmVhZCcgPT4gJ1RhYWtkZXRhaWxzJywKICAnVGFzayBUcmFuc2ZlciBBbGVydCcgPT4gJ1RhYWsgb3ZlcmRyYWNodCBtZWxkaW5nJywKICAnVGFzayBWaXNpYmlsaXR5ICYgQXNzaWdubWVudCcgPT4gJ1ppY2h0YmFhcmhlaWQgJiBUb2VrZW5uaW5nIHZhbiB0YWFrJywKICAnVGFzayBhbHJlYWR5IGluIHRoZSBkZXBhcnRtZW50JyA9PiAnVGFhayBpcyBhbCBnZWtvcHBlbGQgYWFuIGRlemUgYWZkZWxpbmcnLAogICdUYXNrIGFzc2lnbmVkIHRvICVzJyA9PiAnVGFhayB0b2VnZWtlbmQgYWFuICVzJywKICAnVGFzayBkb2VzblwndCBoYXZlIGFueSBjb2xsYWJvcmF0b3JzLicgPT4gJ1RhYWsgaGVlZnQgZ2VlbiBtZWRld2Vya2Vycy4nLAogICdUYXNrcycgPT4gJ1Rha2VuJywKICAnVGFza3MgQ291bnQnID0+ICdUYWFrIHRlbGxpbmcnLAogICdUZWFtJyA9PiAndGVhbScsCiAgJ1RlYW0gQXNzaWduZWQnID0+ICdUb2VnZXdlemVuIFRlYW0nLAogICdUZWFtIEluZm9ybWF0aW9uJyA9PiAndGVhbSBpbmZvcm1hdGllJywKICAnVGVhbSBMZWFkJyA9PiAnVGVhbWxlaWRlcicsCiAgJ1RlYW0gTWVtYmVycycgPT4gJ0xlZGVuIHZhbiBoZXQgdGVhbScsCiAgJ1RlYW0gTmFtZScgPT4gJ1RlYW1uYWFtJywKICAnVGVhbSBkb2VzIG5vdCBoYXZlIG1lbWJlcnMnID0+ICdEaXQgdGVhbSBoZWVmdCBnZWVuIGxlZGVuJywKICAnVGVhbSBpcyBkaXNhYmxlZCcgPT4gJ1RlYW0gaXMgdWl0Z2VzY2hha2VsZCcsCiAgJ1RlYW0gbmFtZSBhbHJlYWR5IGV4aXN0cycgPT4gJ1RlYW1uYWFtIGJlc3RhYXQgYWwnLAogICdUZWFtIG5hbWUgaXMgcmVxdWlyZWQnID0+ICdUZWFtbmFhbSBpcyB2ZXJlaXN0JywKICAnVGVhbXMnID0+ICdUZWFtJywKICAnVGVhbXMgKCVkKScgPT4gJ1RlYW1zICglZCknLAogICdUZW1wbGF0ZSBGZXRjaCBFcnJvcicgPT4gJ0ZvdXQgYmlqIG9waGFsZW4gdGVtcGxhdGUnLAogICdUZW1wbGF0ZSBTZXQnID0+ICdTamFibG9vbiBTZXQnLAogICdUZW1wbGF0ZSBTZXQgVG8gQ2xvbmUnID0+ICdTamFibG9vbiBkdXBsaWNlcmVuJywKICAnVGVtcGxhdGUgaW5mb3JtYXRpb24nID0+ICdTamFibG9vbiBpbmZvcm1hdGllJywKICAnVGVtcGxhdGUgbmFtZSBhbHJlYWR5IGV4aXN0cycgPT4gJ1NqYWJsb29uIG5hYW0gYmVzdGFhdCByZWVkcycsCiAgJ1RlbXBsYXRlIHVzZWQgb24gdGlja2V0IHJlc3BvbnNlL3JlcGx5JyA9PiAnU2phYmxvb24gdm9vciB0aWNrZXQgcmVhY3RpZS9hbnR3b29yZCcsCiAgJ1RlbXBsYXRlIHVzZWQgdG8gbm90aWZ5IGNvbGxhYm9yYXRvcnMgb24gdGFzayBhY3Rpdml0eS4nID0+ICdTamFibG9vbiBkYXQgZ2VicnVpa3Qgd29yZHQgb20gZWVuIG5vdGlmaWNhdGllIHRlIHN0dXJlbiBuYWFyIG1lZGV3ZXJrZXJzIGJpaiBhY3Rpdml0ZWl0IGluIGVlbiB0YWFrLicsCiAgJ1RlbXBsYXRlIHVzZWQgdG8gbm90aWZ5IGNvbGxhYm9yYXRvcnMgb24gdGlja2V0IGFjdGl2aXR5IChlLmcgQ0Mgb24gcmVwbHkpJyA9PiAnU2phYmxvb24gdm9vciBtZWxkaW5nIGFhbiBjb2xsYWJvcmF0ZXVyIGJpaiB0aWNrZXQgYWN0aXZpdGVpdCAoem9hbHMgQ0MgYmlqIGVlbiBhbnR3b29yZCknLAogICdUZW1wbGF0ZXMnID0+ICdTamFibG9uZW4nLAogICdUZW1wb3JhcnkgUGFzc3dvcmQnID0+ICdUaWpkZWxpamsgd2FjaHR3b29yZCcsCiAgJ1Rlcm0gdG9vIHNob3J0IScgPT4gJ1dvb3JkIHRlIGtvcnQhJywKICAnVGVzdCBPdXRnb2luZyBFbWFpbCcgPT4gJ1Rlc3QgdWl0Z2FhbmRlIEUtbWFpbCcsCiAgJ1Rlc3QgZW1haWwgc2VudCBzdWNjZXNzZnVsbHkgdG8gPCVzPicgPT4gJ1Rlc3QgZS1tYWlsIHN1Y2Nlc3ZvbCB2ZXJ6b25kZW4gbmFhciA8JXM+JywKICAnVGV4dCcgPT4gJ1Rla3N0JywKICAnVGV4dCBJbnB1dCcgPT4gJ1Rla3N0aW52b2VyJywKICAnVGV4dCBzaG93biBpbiBiZWZvcmUgYW55IGlucHV0IGZyb20gdGhlIHVzZXInID0+ICdUZWtzdCBkaWUgd2VlcmdlZ2V2ZW4gd29yZHQgdm9vcmRhdCBkZSBnZWJydWlrZXIgaWV0cyB0eXB0JywKICAnVGV4dCBzaG93biBpbmxpbmUgd2l0aCB0aGUgd2lkZ2V0JyA9PiAnVGVrc3Qgd29yZHQgIGluIGxpbmUgd2VlcmdlZ2V2ZW4gbWV0IGRlIHdpZGdldCcsCiAgJ1RoYW5rIFlvdSBmb3IgQ2hvb3Npbmcgb3NUaWNrZXQhJyA9PiAnRGFuayB1IHZvb3IgdXcga2V1emUgdm9vciBvc1RpY2tldCEnLAogICdUaGFuayB5b3UgZm9yIGJlaW5nIGEgbG95YWwgb3NUaWNrZXQgdXNlciEnID0+ICdEYW5rIHUgdm9vciB1dyB2ZXJ0cm91d2VuIGluIG9zVGlja2V0IScsCiAgJ1RoYW5rIHlvdSBmb3IgdGFraW5nIHRoZSB0aW1lIHRvIHVwZ3JhZGUgeW91ciBvc1RpY2tldCBpbnRhbGxhdGlvbiEnID0+ICdEYW5rIHUgdm9vciBoZXQgdXBncmFkZW4gdmFuIHV3IG9zVGlja2V0IGluc3RhbGxhdGllIScsCiAgJ1RoYW5rIHlvdSEnID0+ICdEYW5rIHUhJywKICAnVGhhbmstWW91IFBhZ2UnID0+ICdEYW5rcGFnaW5hJywKICAnVGhhbmtzIGZvciByZWdpc3RlcmluZyBmb3IgYW4gYWNjb3VudC4nID0+ICdCZWRhbmt0IHZvb3IgaGV0IHJlZ2lzdHJlcmVuIHZhbiBlZW4gYWNjb3VudC4nLAogICdUaGUgImZpbGVfdXBsb2FkcyIgZGlyZWN0aXZlIGlzIGRpc2FibGVkIGluIHBocC5pbmknID0+ICdEZSByaWNodGxpam4gImZpbGVfdXBsb2FkcyIgaXMgdWl0Z2VzY2hha2VsZCBpbiBwaHAuaW5pJywKICAnVGhlICVzIHRhc2sgcmVwb3J0cyB0aGVyZSBpcyB3b3JrIHRvIGRvJyA9PiAnRGUgJXMgdGFhayByYXBwb3J0ZWVydCBkYXQgZXIgd2VyayB0ZSBkb2VuIGlzJywKICAnVGhlIEdEIGV4dGVuc2lvbiBpcyByZXF1aXJlZCcgPT4gJ0RlIEdEIGV4dGVuc2llIGlzIHZlcmVpc3QnLAogICdUaGUgTXlTUUwgdXNlciBtdXN0IGhhdmUgZnVsbCByaWdodHMgdG8gdGhlIGRhdGFiYXNlLicgPT4gJ0RlIE15U1FMIGdlYnJ1aWtlciBtb2V0IHZvbGxlZGlnZSByZWNodGVuIG9wIGRlIGRhdGFiYXNlIGhlYmJlbi4nLAogICdUaGUgVVJMIG9mIHlvdXIgaGVscGRlc2ssIGl0cyBuYW1lLCBhbmQgdGhlIGRlZmF1bHQgc3lzdGVtIGVtYWlsIGFkZHJlc3MnID0+ICdIZXQgaW50ZXJuZXRhZHJlcyB2YW4gamUgaGVscGRlc2ssIGFsc21lZGUgZGUgbmFhbSBlbiBoZXQgc3RhbmRhYXJkIGUtbWFpbGFkcmVzJywKICAnVGhlIGluc3RhbGxlciB3aWxsIGd1aWRlIHlvdSBldmVyeSBzdGVwIG9mIHRoZSB3YXkgaW4gdGhlIGluc3RhbGxhdGlvbiBwcm9jZXNzLiBZb3VcJ3JlIG1pbnV0ZXMgYXdheSBmcm9tIHlvdXIgYXdlc29tZSBjdXN0b21lciBzdXBwb3J0IHN5c3RlbSEnID0+ICdUaGUgaW5zdGFsbGF0aWUtYXNzaXN0ZW50IHphbCB1IHN0YXAgdm9vciBzdGFwIGJlZ2VsZWlkZW4gdGlqZGVucyBoZXQgaW5zdGFsbGF0aWVwcm9jZXNzLiBVIGJlbnQgc2xlY2h0cyBlbmtlbGUgbWludXRlbiB2ZXJ3aWpkZXJkIHZhbiB1dyBmYW50YXN0aXNjaGUgaGVsZGVza3N5c3RlZW0hJywKICAnVGhlIGlzc3VlIHN1bW1hcnkgbXVzdCBiZSBhIGZpZWxkIHRoYXQgc3VwcG9ydHMgdXNlciBpbnB1dCwgc3VjaCBhcyBzaG9ydCBhbnN3ZXInID0+ICdEZSB0aWNrZXRzYW1lbnZhdHRpbmcgbW9ldCBlZW4gdmVsZCB6aWpuIGRhdCBnZWJydWlrZXJzaW52b2VyIG9uZGVyc3RldW50LCB6b2FscyBlZW4ga29ydCBhbnR3b29yZCcsCiAgJ1RoZSBsb2NrIHlvdSBob2xkIG9uIHRoaXMgdGlja2V0IHdpbGwgZXhwaXJlIHNvb24uIFdvdWxkIHlvdSBsaWtlIHRvIHJlbmV3IHRoZSBsb2NrPycgPT4gJ0RlICJsb2NrIiBkaWUgamUgdmFzdGhvdWR0IG9wIGRpdCB0aWNrZXQgdmVybG9vcHQgYmlubmVua29ydC4gV2lsIGplIGRlemUgdmVybmlldXdlbj8nLAogICdUaGUgbmFtZSBvZiB5b3VyIHN1cHBvcnQgc3lzdGVtIGUuZyBbQ29tcGFueSBOYW1lXSBTdXBwb3J0JyA9PiAnRGUgbmFhbSB2YW4gdXcgc3VwcG9ydHN5c3RlZW0gYmlqdi4gW2JlZHJpamZzbmFhbV0nLAogICdUaGUgb3JkZXIgb2YgdGhyZWFkIGVudHJpZXMnID0+ICdEZSB2b2xnb3JkZSB2YW4gZGUgZGlzY3Vzc2llJywKICAnVGhlIG9yaWdpbmF0b3Igb2YgdGhpcyBleHRlbnNpb24gY2Fubm90IGJlIHZlcmlmaWVkJyA9PiAnRGUgb250d2lra2VsYWFyIHZhbiBkZXplIGV4dGVudGllIGthbiBuaWV0IHdvcmRlbiBnZXZlcmlmaWVlcmQnLAogICdUaGUgc2VhcmNoIGRpZCBub3QgbWF0Y2ggYW55IEZBUXMuJyA9PiAnRGUgem9la29wZHJhY2h0IGhlZWZ0IG5pZXRzIGluIGRlIEZBUVwncyBnZXZvbmRlbi4nLAogICdUaGUgdXBncmFkZSB3aXphcmQgd2lsbCBndWlkZSB5b3UgZXZlcnkgc3RlcCBvZiB0aGUgd2F5IGluIHRoZSB1cGdyYWRlIHByb2Nlc3MuIFdoaWxlIHdlIHRyeSB0byBlbnN1cmUgdGhhdCB0aGUgdXBncmFkZSBwcm9jZXNzIGlzIHN0cmFpZ2h0Zm9yd2FyZCBhbmQgcGFpbmxlc3MsIHdlIGNhblwndCBndWFyYW50ZWUgaXQgd2lsbCBiZSB0aGUgY2FzZSBmb3IgZXZlcnkgdXNlci4nID0+ICdUaGUgdXBncmFkZS1hc3Npc3RlbnQgemFsIHUgYmlqIGVsa2Ugc3RhcCBiZWdlbGVpZGVuLiBXZSB6dWxsZW4gcHJvYmVyZW4gZGV6ZSB1cGdyYWRlIHZvb3IgdSBzb2VwZWwgdGUgbGF0ZW4gdmVybG9wZW4uIFdlIGt1bm5lbiBoZWxhYXMgbmlldCBnYXJhbmRlcmVuIGRhdCBkaXQgb29rIGJpaiBpZWRlcmVlbiBoZXQgZ2V2YWwgaXMuJywKICAnVGhlIHVwZ3JhZGUgd2l6YXJkIHdpbGwgbm93IGF0dGVtcHQgdG8gdXBncmFkZSB5b3VyIGRhdGFiYXNlIGFuZCBjb3JlIHNldHRpbmdzIScgPT4gJ0RlIHVwZ3JhZGUtYXNzaXN0ZW50IHphbCBudSB1dyBob29mZGluc3RlbGxpbmdlbiBlbiBkYXRhYmFzZSB1cGdyYWRlbiEnLAogICdUaGUgdXBncmFkZXIgZG9lcyBOT1Qgc3VwcG9ydCB1cGdyYWRpbmcgZnJvbSB0aGUgY3VycmVudCBwYXRjaCBbJXNdIScgPT4gJ0RlIGluc3RhbGxhdGllIGFzc2lzdGVudCBrYW4gbmlldCB1cGdyYWRlbiB2YW5hZiB1dyBodWlkaWdlIHZlcnNpZSBbJXNdIScsCiAgJ1RoZSB1cGdyYWRlciBkb2VzIE5PVCBzdXBwb3J0IHVwZ3JhZGluZyBmcm9tIHRoZSBjdXJyZW50IHZlc2lvbiEnID0+ICdEZSBpbnN0YWxsYXRpZSBhc3Npc3RlbnQgb25kZXJzdGV1bmQgaGV0IGJpandlcmtlbiB2YW4gdXcgdmVyc2llIHZhbiBvc1RpY2tldCBuaWV0IScsCiAgJ1RoZWlyIFNpZ25hdHVyZScgPT4gJ0h1biBvbmRlcnRla2VuaW5nJywKICAnVGhlcmUgYXJlIG5vIHRhc2tzIG1hdGNoaW5nIHlvdXIgY3JpdGVyaWEuJyA9PiAnRXIgemlqbiBnZWVuIHRha2VuIGRpZSBhYW4gdXcgY3JpdGVyaWEgdm9sZG9lbi4nLAogICdUaGVzZSBhdHRhY2htZW50cyBhcmUgYWx3YXlzIGF2YWlsYWJsZSwgcmVnYXJkbGVzcyBvZiB0aGUgbGFuZ3VhZ2UgaW4gd2hpY2ggdGhlIGFydGljbGUgaXMgcmVuZGVyZWQnID0+ICdEZXplIGJpamxhZ2VzIHppam4gYWx0aWpkIGJlc2NoaWtiYWFyLCBvbmdlYWNodCBkZSB0YWFsIHdhYXJpbiBoZXQgYXJ0aWtlbCBpcyBnZXNjaHJldmVuJywKICAnVGhlc2UgYXR0YWNobWVudHMgYXJlIG9ubHkgYXZhaWxhYmxlIHdoZW4gYXJ0aWNsZSBpcyByZW5kZXJlZCBpbiBvbmUgb2YgdGhlIGZvbGxvd2luZyBsYW5ndWFnZXMuJyA9PiAnRGV6ZSBiaWpsYWdlcyB6aWpuIGFsbGVlbiBiZXNjaGlrYmFhciBhbHMgaGV0IGFydGlrZWwgZ2VzY2hyZXZlbiBpcyBpbiDDqcOpbiB2YW4gZGUgbmF2b2xnZW5kZSB0YWxlbi4nLAogICdUaGVzZSBpdGVtcyBhcmUgbmVjZXNzYXJ5IGluIG9yZGVyIHRvIGluc3RhbGwgYW5kIHVzZSBvc1RpY2tldC4nID0+ICdEZXplIG9uZGVyZGVsZW4gemlqbiB2ZXJlaXN0IHZvb3IgZWVuIGluc3RhbGxhdGllIHZhbiBvc1RpY2tldC4nLAogICdUaGVzZSBpdGVtcyBhcmUgbmVjZXNzYXJ5IGluIG9yZGVyIHRvIHJ1biB0aGUgbGF0ZXN0IHZlcnNpb24gb2Ygb3NUaWNrZXQuJyA9PiAnRGV6ZSBvbmRlcmRlbGVuIHppam4gbm9vZHpha2VsaWprIG9tIGRlIGxhYXRzdGUgdmVyc2llIHZhbiBvc1RpY2tldCB1aXQgdGUga3VubmVuIHZvZXJlbi4nLAogICdUaGlzIE1vbnRoJyA9PiAnRGV6ZSBtYWFuZCcsCiAgJ1RoaXMgUXVhcnRlcicgPT4gJ0RpdCBrd2FydGFhbCcsCiAgJ1RoaXMgV2VlaycgPT4gJ0RlemUgd2VlaycsCiAgJ1RoaXMgWWVhcicgPT4gJ0RpdCBqYWFyJywKICAnVGhpcyBjYW4gYmUgc2VsZWN0ZWQgd2hlbiByZXBseWluZyB0byBhIHRocmVhZCcgPT4gJ0RpdCBrYW4gZ2VzZWxlY3RlZXJkIHdvcmRlbiBhbHMgZXIgZ2VyZWFnZWVyZCB3b3JkdCBvcCBlZW4gZGlzY3Vzc2llJywKICAnVGhpcyBjYXRlZ29yeSBkb2VzIG5vdCBoYXZlIGFueSBGQVFzLicgPT4gJ0RlemUgY2F0ZWdvcmllIGJlc2NoaWt0IG5pZXQgb3ZlciBGQVFzLicsCiAgJ1RoaXMgY29udGVudCBpcyB0cmFuc2xhdGFibGUnID0+ICdEZXplIGluaG91ZCBpcyB0ZSB2ZXJ0YWxlbicsCiAgJ1RoaXMgY291bGQgYmUgY29ubmVjdGlvbiBpc3N1ZXMgcmVsYXRlZCB0byB0aGUgbWFpbCBzZXJ2ZXIuIE5leHQgZGVsYXllZCBsb2dpbiBhdHRlbXB0IGluIGFwcm94LiAlZCBtaW51dGVzJyA9PiAnRGl0IGthbiBhYW4gZGUgY29ubmVjdGllIHZhbiBkZSBtYWlsc2VydmVyIGxpZ2dlbi4gVm9sZ2VuZGUgdmVydHJhYWdkZSBhYW5tZWxkIHBvZ2luZyBiaW5uZW4gJWQgbWludXRlbicsCiAgJ1RoaXMgZGVwYXJ0bWVudCBpcyBmb3IgaW50ZXJuYWwgdXNlJyA9PiAnRGV6ZSBhZmRlbGluZyBpcyB2b29yIGludGVybiBnZWJydWlrJywKICAnVGhpcyBmaWVsZCBjYW4gYmUgZGlzYWJsZWQgd2hpY2ggd2lsbCByZW1vdmUgaXQgZnJvbSB0aGUgZm9ybSBmb3IgbmV3IGVudHJpZXMsIGJ1dCB3aWxsIHByZXNlcnZlIHRoZSBkYXRhIG9uIGFsbCBjdXJyZW50IGVudHJpZXMuJyA9PiAnRGl0IHZlbGQga2FuIHdvcmRlbiB1aXRnZXNjaGFrZWxkLCBkaXQgem9yZ3QgZXJ2b29yIGRhdCBoZXQgdmVsZCBuaWV0IGluIHRvZWtvbXN0aWdlIGludm9lcmZvcm11bGllcmVuIHZvb3Jrb210LCBtYWFyIGRlIHJlZWRzIGluZ2V2dWxkZSBmb3JtdWxpZXJlbiB6dWxsZW4gZGV6ZSBnZWdldmVucyB3ZWwgYmV3YXJlbi4nLAogICdUaGlzIGhlbHAgZGVzayBpcyBmb3IgdXNlIGJ5IGF1dGhvcml6ZWQgdXNlcnMgb25seScgPT4gJ0RlemUgaGVscGRlc2sgaXMgZW5rZWwgdm9vciBnZWF1dG9yaXNlZXJkZSBnZWJydWlrZXJzJywKICAnVGhpcyBpcyBhIHJlcXVpcmVkIGZpZWxkJyA9PiAnRGl0IGlzIGVlbiB2ZXJwbGljaHQgdmVsZCcsCiAgJ1RoaXMgb3JnYW5pemF0aW9uIGRvZXNuXCd0IGhhdmUgYW55IHVzZXJzIHlldCcgPT4gJ0RlemUgb3JnYW5pc3RhdGllIGhlZWZ0IChub2cpICBnZWVuIGdlYnJ1aWtlcnMnLAogICdUaGlzIG9zVGlja2V0IHZlcnNpb24gaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZC4gUGxlYXNlIGNvbnNpZGVyIHVwZ3JhZGluZycgPT4gJ0RlemUgdmVyc2llIHZhbiBPc1RpY2tldCB3b3JkdCBuaWV0IGxhbmdlciBvbmRlcnN0ZXVuZCwgb3ZlcndlZWcgb20gYmlqIHRlIHdlcmtlbiBuYWFyIGRlIGxhYXRzdGUgdmVyc2llJywKICAnVGhpcyB0YXNrJyA9PiAnRGV6ZSB0YWFrJywKICAnVGhpcyB0aWNrZXQnID0+ICdEaXQgdGlja2V0JywKICAnVGhpcyB0eXBlIG9mIGZpbGUgaXMgbm90IGFsbG93ZWQnID0+ICdIZXQgYmVzdGFuZHN0eXBlIGlzIG5pZXQgdG9lZ2VzdGFhbicsCiAgJ1RoaXMgd2lsbCBzaWduIHlvdSBpbiB0byB2aWV3IHlvdXIgdGlja2V0LicgPT4gJ0RpdCB6YWwgdSBpbmxvZ2dlbiBvbSB1dyB0aWNrZXQgdGUgYmVraWprZW4uJywKICAnVGhyZWFkICglZCknID0+ICdUaHJhZCAoJWQpJywKICAnVGhyZWFkICsgSW50ZXJuYWwgTm90ZXMnID0+ICdWZXJsb29wICsgSW50ZXJuZSBub3RpdGllcycsCiAgJ1RocmVhZCArIEludGVybmFsIE5vdGVzICsgQXR0YWNobWVudHMnID0+ICdUaHJlYWQgKyBJbnRlcm5lIG5vdGl0aWVzICsgQmlqbGFnZXMnLAogICdUaHJlYWQgKyBJbnRlcm5hbCBOb3RlcyArIEF0dGFjaG1lbnRzICsgVGFza3MnID0+ICdUaHJlYWQgKyBJbnRlcm5lIG5vdGl0aWVzICsgQmlqbGFnZXMgKyBUYWtlbicsCiAgJ1RocmVhZCArIEludGVybmFsIE5vdGVzICsgRXZlbnRzJyA9PiAnVGhyZWFkICsgSW50ZXJuZSBub3RpdGllcyArIEdlYmV1cnRlbmlzc2VuJywKICAnVGhyZWFkIENvdW50JyA9PiAnQWFudGFsIHRocmVhZHMnLAogICdUaHJlYWQgRW50cnknID0+ICdEcmFhZCBpbnZvZXInLAogICdUaHJlYWQgRW50cnkgZXhwYW5zaW9ucycgPT4gJ0FhbnZ1bGxlbiB2YW4gdGlja2V0IG9uZGVyd2VycCcsCiAgJ1RocmVhZCBWaWV3IE9yZGVyJyA9PiAnRGlzY3Vzc2llIG0uYi50LiBkZSB0aWNrZXQgYmVraWprZW4nLAogICdUaHJlYWQgZG9lc25cJ3QgaGF2ZSBhbnkgY29sbGFib3JhdG9ycy4nID0+ICdEZXplIGRpc2N1c3NpZSBoZWVmdCBnZWVuIGVua2VsZSBwYXJ0aWNpcGFudC4nLAogICdUaWNrZXQnID0+ICdUaWNrZXQnLAogICdUaWNrZXQgIycgPT4gJ1RpY2tldCAjJywKICAnVGlja2V0ICMlMSRzIGRlbGV0ZWQgYnkgJTIkcycgPT4gJ1RpY2tldCAjJTEkcyB2ZXJ3aWpkZXJkIGRvb3IgJTIkcycsCiAgJ1RpY2tldCAjJTEkczogJTIkcycgPT4gJ1RpY2tldCAjJTEkczogJTIkcycsCiAgJ1RpY2tldCAjJXMnID0+ICdUaWNrZXQgIyVzJywKICAnVGlja2V0ICMlcyBkZWxldGVkJyA9PiAnVGlja2V0ICMlcyB2ZXJ3aWpkZXJkJywKICAnVGlja2V0ICMlczogJXMnID0+ICdUaWNrZXQgIyVzOiAlcycsCiAgJ1RpY2tldCBBY3Rpdml0eScgPT4gJ1RpY2tldCBhY3Rpdml0ZWl0JywKICAnVGlja2V0IEFnZW50IEVtYWlsIFRlbXBsYXRlcycgPT4gJ1RpY2tldCBNZWRld2Vya2VyIEVtYWlsIFNqYWJsb25lbicsCiAgJ1RpY2tldCBBc3NpZ25lZCB0byAlcycgPT4gJ1RpY2tldCB0b2VnZXdlemVuIGFhbiAlcycsCiAgJ1RpY2tldCBBc3NpZ25tZW50JyA9PiAnVGlja2V0IHRvZWtlbm5pbmcnLAogICdUaWNrZXQgQXNzaWdubWVudCBBbGVydCcgPT4gJ01lbGRpbmcgdmFuIHRpY2tldCB0b2V3aWp6aW5nJywKICAnVGlja2V0IEF0dGFjaG1lbnQgU2V0dGluZ3MnID0+ICdJbnN0ZWxsaW5nZW4gdm9vciB0aWNrZXQgYmlqbGFnZScsCiAgJ1RpY2tldCBEYXRhJyA9PiAnVGlja2V0IGdlZ2V2ZW5zJywKICAnVGlja2V0IEVuZC1Vc2VyIEVtYWlsIFRlbXBsYXRlcycgPT4gJ1RpY2tldCBFaW5kZ2VicnVpa2VyIEVtYWlsIFNqYWJsb25lbicsCiAgJ1RpY2tldCBGaWx0ZXInID0+ICdUaWNrZXQgZmlsdGVyJywKICAnVGlja2V0IEZpbHRlcnMnID0+ICdUaWNrZXQgZmlsdGVycycsCiAgJ1RpY2tldCBJRCcgPT4gJ1RpY2tldCBJRCcsCiAgJ1RpY2tldCBJbmZvcm1hdGlvbicgPT4gJ1RpY2tldCBpbmZvcm1hdGllJywKICAnVGlja2V0IEluZm9ybWF0aW9uIGFuZCBPcHRpb25zJyA9PiAnVGlja2V0aW5mb3JtYXRpZSBlbiBvcHRpZXMnLAogICdUaWNrZXQgTWFya2VkIE92ZXJkdWUnID0+ICdUaWNrZXQgZ2VtYXJrZWVyZCBhbHMgQWNodGVyc3RhbGxpZycsCiAgJ1RpY2tldCBOb3RpY2UnID0+ICdUaWNrZXQgbm90aWZpY2F0aWUnLAogICdUaWNrZXQgTnVtYmVyJyA9PiAnVGlja2V0bnVtbWVyJywKICAnVGlja2V0IE51bWJlciBGb3JtYXQnID0+ICdUaWNrZXQgbnVtbWVyZm9ybWFhdCcsCiAgJ1RpY2tldCBPdmVyZHVlIEFsZXJ0cycgPT4gJ1RpY2tldCBvdmVyIHRpamQgbWVsZGluZycsCiAgJ1RpY2tldCBPd25lcicgPT4gJ1RpY2tldCBlaWdlbmFhcicsCiAgJ1RpY2tldCBQcmludCBPcHRpb25zJyA9PiAnVGlja2V0IGFmZHJ1a29wdGllcycsCiAgJ1RpY2tldCBRdWV1ZScgPT4gJ1RpY2tldCB3YWNodHJpaicsCiAgJ1RpY2tldCBRdWV1ZXMnID0+ICdUaWNrZXQgd2FjaHRyaWplbicsCiAgJ1RpY2tldCBTZXR0aW5ncyBhbmQgT3B0aW9ucycgPT4gJ1RpY2tldCBpbnN0ZWxsaW5nZW4gZW4gb3B0aWVzJywKICAnVGlja2V0IFNoYXJpbmcnID0+ICdEZWxlbiB2YW4gZWVuIFRpY2tldCcsCiAgJ1RpY2tldCBTb3VyY2UnID0+ICdUaWNrZXQgYnJvbicsCiAgJ1RpY2tldCBTdGF0ZScgPT4gJ1RpY2tldCBzdGF0dXMnLAogICdUaWNrZXQgU3RhdHVzJyA9PiAnVGlja2V0c3RhdHVzJywKICAnVGlja2V0IFN1Ym1pdHRlcicgPT4gJ1RpY2tldCBpbmRpZW5lcicsCiAgJ1RpY2tldCBTdW1tYXJ5JyA9PiAnVGlja2V0IG92ZXJ6aWNodCcsCiAgJ1RpY2tldCBUaHJlYWQnID0+ICdUaWNrZXQtdmVybG9vcCcsCiAgJ1RpY2tldCBUaHJlYWQgKCVkKScgPT4gJ1RpY2tldCB2ZXJsb29wICglZCknLAogICdUaWNrZXQgVGhyZWFkIGV4cGFuc2lvbnMnID0+ICdBYW52dWxsZW4gdmFuIHRpY2tldCB2ZXJsb29wJywKICAnVGlja2V0IFRyYW5zZmVyIEFsZXJ0JyA9PiAnTWVsZGluZyBiaWogb3ZlcmRyYWNodCcsCiAgJ1RpY2tldCBVcGRhdGVkJyA9PiAnVGlja2V0IGJpamdld2Vya3QnLAogICdUaWNrZXQgVmFyaWFibGVzJyA9PiAnVGlja2V0IHZhcmlhYmVsZW4nLAogICdUaWNrZXQgYWxyZWFkeSBzZXQgdG8gJXMgc3RhdHVzJyA9PiAnVGlja2V0IGlzIGFsIGluZ2VzdGVsZCBvcCBzdGF0dXMgJXMnLAogICdUaWNrZXQgY2xhaW1lZCBieSAlcycgPT4gJ1RpY2tldCBvcGdlcGlrdCBkb29yICVzJywKICAnVGlja2V0IGNyZWF0ZWQgc3VjY2Vzc2Z1bGx5JyA9PiAndGlja2V0IHN1Y2Nlc3ZvbCBhYW5nZW1hYWt0JywKICAnVGlja2V0IGRlbmllZCcgPT4gJ1RpY2tldCBnZXdlaWdlcmQnLAogICdUaWNrZXQgZGVuaWVkIC0gJXMnID0+ICdUaWNrZXQgZ2V3ZWlnZXJkIC0gJXMnLAogICdUaWNrZXQgZG9lc25cJ3QgaGF2ZSBhbnkgY29sbGFib3JhdG9ycy4nID0+ICdEaXQgdGlja2V0IGhlZWZ0IGdlZW4gc2FtZW53ZXJrZXJzLicsCiAgJ1RpY2tldCBmbGFnZ2VkIGFzIG92ZXJkdWUgYnkgJXMnID0+ICdUaWNrZXQgYWFuZ2VtZXJrdCBhbHMgXCd2ZXJsb3BlblwnIGRvb3IgJXMnLAogICdUaWNrZXQgaXMgYWxyZWFkeSBhc3NpZ25lZCB0byAlcycgPT4gJ1RpY2tldCBpcyBhbCB0b2VnZWtlbmQgYWFuICVzJywKICAnVGlja2V0IGlzIGFzc2lnbmVkIHRvICVzJyA9PiAnVGlja2V0IHRvZWdla2VuZCBhYW4gJXMnLAogICdUaWNrZXQgaXMgbG9ja2VkIGJ5ICVzJyA9PiAnVGlja2V0IGlzIGluIGdlYnJ1aWsgZG9vciAlcycsCiAgJ1RpY2tldCBpcyBub3QgYXNzaWduZWQhJyA9PiAnVGlja2V0IGlzIGFhbiBuaWVtYW5kIHRvZWdla2VuZCEnLAogICdUaWNrZXQgaXMgbm93IGFzc2lnbmVkIHRvIHlvdSEnID0+ICdUaWNrZXQgaXMgbnUgYWFuIHUgdG9lZ2VrZW5kIScsCiAgJ1RpY2tldCBvd25lcnNoaXAgY2hhbmdlZCB0byAlcycgPT4gJ0RlIGVpZ2VuYWFyIHZhbiBkZSB0aWNrZXQgaXMgZ2V3aWp6aWdkIG5hYXIgJXMnLAogICdUaWNrZXQgcmVqZWN0ZWQgKCVzKSAodW5yZWdpc3RlcmVkIGNsaWVudCknID0+ICdUaWNrZXQgdmVyd29ycGVuICglcykgKG5pZXQtZ2VyZWdpc3RyZWVyZGUgY2xpZW50KScsCiAgJ1RpY2tldCByZWplY3RlZCAoJXMpIGJ5IGZpbHRlciAiJXMiJyA9PiAnVGlja2V0IHZlcndvcnBlbiAoJXMpIGRvb3IgZmlsdGVyICIlcyInLAogICdUaWNrZXQgdXBkYXRlZCBzdWNjZXNzZnVsbHknID0+ICdUaWNrZXQgc3VjY2Vzdm9sIGJpamdld2Vya3QnLAogICdUaWNrZXQgdmFyaWFibGVzIGFyZSBvbmx5IHN1cHBvcnRlZCBpbiB0aGFuay15b3UgcGFnZXMuJyA9PiAnVGlja2V0IHZhcmlhYmVsZW4gd29yZGVuIGFsbGVlbiBvbmRlcnN0ZXVuZCBpbiBkZSBkYW5rdS1wYWdpbmFcJ3MuJywKICAnVGlja2V0IHdpbGwgYmUgcmVvcGVuZWQgb24gbWVzc2FnZSBwb3N0JyA9PiAnVGlja2V0IHdvcmR0IGhlcm9wZW5kIGJpaiBwbGFhdHNlbiBiZXJpY2h0JywKICAnVGlja2V0cycgPT4gJ1RpY2tldHMnLAogICdUaWNrZXRzICglZCknID0+ICdUaWNrZXRzICglZCknLAogICdUaWNrZXRzIDxiPiglZCk8L2I+JyA9PiAnVGlja2V0cyA8Yj4oJWQpPC9iPicsCiAgJ1RpY2tldHMgYXJlIG1hcmtlZCBvdmVyZHVlIG9uIGdyYWNlIHBlcmlvZCB2aW9sYXRpb24uJyA9PiAnVGlja2V0cyB3b3JkZW4gZ2VtYXJrZWVyZCBhbHMgXCdvdmVyIHRpamRcJyBhbHMgZXIgbmlldCBiaW5uZW4gZGUgcmVzcG9uc2UgdGlqZCB3b3JkdCBnZXJlYWdlZXJkLicsCiAgJ1RpY2tldHMgcGFnZSByZWZyZXNoIHJhdGUgaW4gbWludXRlcy4nID0+ICdWZXJ2ZXJzZW4gdmFuIGRlIHRpY2tldHBhZ2luYSBpbiBtaW51dGVuLicsCiAgJ1RpbWUnID0+ICdUaWpkc3RpcCcsCiAgJ1RpbWUgRm9ybWF0JyA9PiAnVGlqZGZvcm1hYXQnLAogICdUaW1lIFpvbmUnID0+ICdUaWpkem9uZScsCiAgJ1RpbWUgZm9ybWF0IGlzIHJlcXVpcmVkJyA9PiAnVGlqZCBmb3JtYWF0IGlzIHZlcnBsaWNodCcsCiAgJ1RpbWUgaXMgYmFzZWQgb24geW91ciB0aW1lCiAgICAgICAgICAgICAgICAgICAgICAgIHpvbmUnID0+ICdUaWpkIGlzIGdlYmFzZWVyZCBvcCB1dyAgICAgICAgICAgICAgICAgICAgICAgIHRpamR6b25lJywKICAnVGltZSBpcyBiYXNlZCBvbiB5b3VyIHRpbWUgem9uZScgPT4gJ1RpamQgaXMgZ2ViYXNlZXJkIG9wIHV3IHRpamR6b25lJywKICAnVGltZSBvZiBsYXN0IHVwZGF0ZScgPT4gJ1RpamRzdGlwIGxhYXRzdGUgd2lqemlnaW5nJywKICAnVGltZW91dCcgPT4gJ1Zlcmxvb3B0aWpkJywKICAnVGltZXpvbmUnID0+ICdUaWpkc3pvbmUnLAogICdUaW1lem9uZSBBd2FyZScgPT4gJ1RpamR6b25lIGJld3VzdCcsCiAgJ1RpdGxlJyA9PiAnVGl0ZWwnLAogICdUaXRsZSBhbHJlYWR5IGV4aXN0cycgPT4gJ1RpdGVsIGJlc3RhYXQgYWwnLAogICdUaXRsZSBpcyByZXF1aXJlZCcgPT4gJ1RpdGVsIGlzIHZlcmVpc3QnLAogICdUaXRsZSBpcyB0b28gc2hvcnQuIDMgY2hhcnMgbWluaW11bScgPT4gJ1RpdGVsIGlzIHRlIGtvcnQuIE1pbmltYWFsIDMgdGVrZW5zJywKICAnVGl0bGUgcmVxdWlyZWQnID0+ICdUaXRlbCB2ZXJwbGljaHQnLAogICdUbycgPT4gJ0FhbicsCiAgJ1RvIGFkZCBhIHBsdWdpbiBpbnRvIHRoZSBzeXN0ZW0sIGRvd25sb2FkIGFuZCBwbGFjZSB0aGUgcGx1Z2luIGludG8gdGhlIDxjb2RlPmluY2x1ZGUvcGx1Z2luczwvY29kZT4gZm9sZGVyLiBPbmNlIGluIHRoZSBwbHVnaW4gaXMgaW4gdGhlIDxjb2RlPnBsdWdpbnMvPC9jb2RlPiBmb2xkZXIsIGl0IHdpbGwgYmUgc2hvd24gaW4gdGhlIGxpc3QgYmVsb3cuJyA9PiAnT20gZWVuIHBsdWdpbiAodWl0YnJlaWRpbmcpIGFhbiBoZXQgc3lzdGVlbSB0b2UgdGUgdm9lZ2VuICBkaWVudCB1IGRlIHBsdWdpbiB0ZSBwbGFhdHNlbiBpbiBkZSBtYXAgPGNvZGU+aW5jbHVkZS9wbHVnaW5zPC9jb2RlPi4gT3AgaGV0IG1vbWVudCBkYXQgZGUgcGx1Z2luIGRhYXJpbiBpcyBnZXBsYWF0c3QsIHppZXQgdSBoZXQgaGllcm9uZGVyIGluIGRlIGxpanN0LicsCiAgJ1RvIGF2b2lkIHBvc3NpYmxlIGNvbmZsaWN0cywgcGxlYXNlIHRha2UgYSBtaW51dGUgdG8gcmVuYW1lIGNvbmZpZ3VyYXRpb24gZmlsZSBhcyBzaG93biBiZWxvdy4nID0+ICdPbSBldmVudHVlbGUgY29uZmxpY3RlbiB0ZSB2b29ya29tZW4sIGRpZW50IHUgaGV0IGNvbmZpZ3VyYXRpZWJlc3RhbmQgYWxzIG9uZGVyc3RhYW5kIHRlIGhlcm5vZW1lbi4nLAogICdUbyBiZXN0IGFzc2lzdCB5b3UsIHdlIHJlcXVlc3QgdGhhdCB5b3UgYmUgc3BlY2lmaWMgYW5kIGRldGFpbGVkJyA9PiAnT20gdSB6byBnb2VkIG1vZ2VsaWprIHRlIGhlbHBlbiwgdmVyem9la2VuIHdlIHUgb20gc3BlY2lmaWVrIGVuIGdlZGV0YWlsZWVyZCB0ZSB6aWpuJywKICAnVG8gYmV0dGVyIHNlcnZlIHlvdSwgd2UgZW5jb3VyYWdlIG91ciBjbGllbnRzIHRvIHJlZ2lzdGVyIGZvciBhbiBhY2NvdW50IGFuZCB2ZXJpZnkgdGhlIGVtYWlsIGFkZHJlc3Mgd2UgaGF2ZSBvbiByZWNvcmQuJyA9PiAnT20gamUgYmV0ZXIgdmFuIGRpZW5zdCB0ZSB6aWpuLCBtb2VkaWdlbiB3aWogb256ZSBrbGFudGVuIGFhbiBvbSBlZW4gYWNjb3VudCB0ZSByZWdpc3RyZXJlbiBlbiBoZXQgZW1haWxhZHJlcyB0ZSBjb250cm9sZXJlbiBkYXQgd2lqIGJlc2NoaWtiYWFyIGhlYmJlbi4nLAogICdUbyBlZGl0IG9yIGFkZCBuZXcgcGFnZXMgZ28gdG8gJXMgTWFuYWdlICZndDsgU2l0ZSBQYWdlcyAlcycgPT4gJ09tIHBhZ2luYVwncyB0ZSBiZXdlcmtlbiwgb2YgdG9lIHRlIHZvZWdlbiBnYWF0IHUgbmFhciAlcyBNYW5hZ2UgJmd0OyBTaXRlIFBhZ2VzICVzJywKICAnVG8gaW1wb3J0IGl0ZW1zIHdpdGggcHJvcGVydGllcywgdXNlIHRoZSBVcGxvYWQgdGFiLicgPT4gJ09tIGVsZW1lbnRlbiBtZXQgZWlnZW5zY2hhcHBlbiB0ZSBpbXBvcnRlcmViLCBnZWxpZXZlIGRlIFVwbG9hZCB0YWIgdGUgZ2VicnVpa2VuLicsCiAgJ1RvIGltcG9ydCBtb3JlIG90aGVyIGZpZWxkcywgdXNlIHRoZSBVcGxvYWQgdGFiLicgPT4gJ09tIG1lZXIgemVsZmdlZGVmaW5lZXJkZSB2ZWxkZW4gdGUgaW1wb3J0ZXJlbiBnZWJydWlrdCB1IGhldCB0YWJibGFkIFwndXBsb2FkXCcuJywKICAnVG9kYXknID0+ICdWYW5kYWFnJywKICAnVG9nZ2xlJyA9PiAnT213aXNzZWxlbicsCiAgJ1RvZ2dsZSBPcGFjaXR5JyA9PiAnRG9vcnppY2h0aWdoZWlkIEFhbi91aXR6ZXR0ZW4nLAogICdUb2tlbicgPT4gJ1Rva2VuJywKICAnVG9rZW4gSW5mb3JtYXRpb24nID0+ICdUb2tlbmluZm9ybWF0aWUnLAogICdUb3AtTGV2ZWwgRGVwYXJ0bWVudCcgPT4gJ0hvb2ZkYWZkZWxpbmcnLAogICdUb3AtTGV2ZWwgVGlja2V0IENvdW50cycgPT4gJ1RpY2tldCB0ZWxsZXIgaW4gbWVudWJhbGsnLAogICdUb3AtTGV2ZWwgVG9waWMnID0+ICdIb29nc3RlIG9uZGVyd2VycCcsCiAgJ1RvcGljJyA9PiAnT25kZXJ3ZXJwJywKICAnVG9waWMgYWxyZWFkeSBleGlzdHMnID0+ICdPbmRlcndlcnAgYmVzdGFhdCBhbCcsCiAgJ1RvcGljIGlzIHRvbyBzaG9ydC4gRml2ZSBjaGFyYWN0ZXJzIG1pbmltdW0nID0+ICdPbmRlcndlcnAgaXMgdGUga29ydC4gTWluaW11bSB2aWpmIHRla2VucycsCiAgJ1RvcGljcycgPT4gJ09uZGVyd2VycGVuJywKICAnVHJhbnNmZXInID0+ICdWZXJodWlzJywKICAnVHJhbnNmZXIgVGFza3MnID0+ICdWZXJodWlzIHRha2VuJywKICAnVHJhbnNpZW50JyA9PiAnRHluYW1pc2NoJywKICAnVHJhbnNsYXRlJyA9PiAnVmVydGFsZW4nLAogICdUcnlpbmcgdG8gcmVtb3ZlIGVuZCB1c2VycyBmcm9tIGFuIHVua25vd24gb3JnYW5pemF0aW9uJyA9PiAnQWFuIGhldCBwcm9iZXJlbiBlaW5kZ2VicnVpa2VycyB0ZSB2ZXJ3aWpkZXJlbiB2YW4gZWVuIG9uYmVrZW5kZSBvcmdhbmlzYXRpZScsCiAgJ1R3byBGYWN0b3IgQXV0aGVudGljYXRpb24gY29uZmlndXJhdGlvbiByZXF1aXJlZCB0byBjb250aW51ZScgPT4gJ1R3ZWUgRmFjdG9yIEF1dGhlbnRpY2F0aWUgY29uZmlndXJhdGllIHZlcmVpc3Qgb20gZG9vciB0ZSBnYWFuJywKICAnVHlwZScgPT4gJ1R5cGUnLAogICdUeXBlIGlzIHJlcXVpcmVkJyA9PiAnVHlwZSBpcyB2ZXJlaXN0JywKICAnVHlwZSBvZiByZWNlbnQgYWN0aXZpdHknID0+ICdUeXBlIHZhbiByZWNlbnRlIGFjdGl2aXRlaXQnLAogICdUeXBlYWhlYWQnID0+ICdUeXBlYWhlYWQnLAogICdUeXBlYWhlYWQgd2lsbCB3b3JrIGJldHRlciBmb3IgbGFyZ2UgbGlzdHMnID0+ICdUeXBlYWhlYWQgemFsIGJldGVyIHdlcmtlbiB2b29yIGdyb3RlIGxpanN0ZW4nLAogICdVUkwgbm90IHN1cHBvcnRlZCcgPT4gJ1VSTCBuaWV0IG9uZGVyc3RldW5kJywKICAnVW5hYmxlIHRvICUxJHMgJTIkcycgPT4gJyUxJHMgJTIkcyBvbm1vZ2VsaWprJywKICAnVW5hYmxlIHRvIGFjdGl2YXRlICVzJyA9PiAnTmlldCBtb2dlbGlqayBvbSAlcyB0ZSBhY3RpdmVyZW4nLAogICdVbmFibGUgdG8gYWRkICVzLicgPT4gJ05pZXQgbW9nZWxpamsgb20gJXMgdG9lIHRlIHZvZWdlbi4nLAogICdVbmFibGUgdG8gYWRkICVzLiBDb3JyZWN0IGVycm9yKHMpIGJlbG93IGFuZCB0cnkgYWdhaW4uJyA9PiAnS2FuICVzIG5pZXQgdG9ldm9lZ2VuLiBDb3JyaWdlZXIgZm91dChlbikgaGllcm9uZGVyIGVuIHByb2JlZXIgb3BuaWV1dy4nLAogICdVbmFibGUgdG8gYWRkIGVtYWlsIHJlY2lwaWVudCcgPT4gJ0thbiBlLW1haWxvbnR2YW5nZXIgbmlldCB0b2V2b2VnZW4nLAogICdVbmFibGUgdG8gYWRkIHRoZSBlbWFpbCB0byBiYW5saXN0JyA9PiAnSGV0IHdhcyBvbm1vZ2VsaWprIG9tIGRpdCBlLW1haWxhZHJlcyBhYW4gZGUgYmxva2thZGVsaWpzdCB0b2UgdGUgdm9lZ2VuJywKICAnVW5hYmxlIHRvIGFkZCB1c2VyIHRvIG9yZ2FuaXphdGlvbi4nID0+ICdLYW4gZ2VlbiBnZWJydWlrZXIgdG9ldm9lZ2VuIGFhbiBkZSBvcmdhbmlzYXRpZS4nLAogICdVbmFibGUgdG8gYWRkIHVzZXIgdG8gdGhlIG9yZ2FuaXphdGlvbicgPT4gJ0dlYnJ1aWtlciB0b2V2b2VnZW4gYWFuIG9yZ2FuaXNhdGllIG1pc2x1a3QnLAogICdVbmFibGUgdG8gYXNzaWduICVzJyA9PiAnT25tb2dlbGlqayAlcyB0b2UgdGUga2VubmVuJywKICAnVW5hYmxlIHRvIGFzc2lnbiB0YXNrJyA9PiAnT25tb2dlbGlqayBvbSB0YWFrIHRvZSB0ZSB3aWp6ZW4nLAogICdVbmFibGUgdG8gYXNzaWduIHRpY2tldCcgPT4gJ09ubW9nZWxpamsgaGV0IHRpY2tldCB0b2UgdGUga2VubmVuJywKICAnVW5hYmxlIHRvIGNoYW5nZSBzdGF0dXMgZm9yICVzJyA9PiAnT25tb2dlbGlqayBvbSBkZSBzdGF0dXMgdGUgd2lqemlnZW4gdm9vciAlcycsCiAgJ1VuYWJsZSB0byBjaGFuZ2Ugc3RhdHVzIG9mICUxJHMnID0+ICdPbm1vZ2VsaWprIG9tIGRlIHN0YXR1cyB2YW4gJTEkcyB0ZSB2ZXJhbmRlcmVuJywKICAnVW5hYmxlIHRvIGNoYW5nZSBzdGF0dXMgb2YgdGhlIHRhc2snID0+ICdPbm1vZ2VsaWprIGRlIHN0YXR1cyB2YW4gZGV6ZSB0YWFrIHRlIHdpanppZ2VuJywKICAnVW5hYmxlIHRvIGNsYWltIHRhc2snID0+ICdPbm1vZ2VsaWprIG9tIHRhYWsgdG9lIHRlIGVpZ2VuZW4nLAogICdVbmFibGUgdG8gY2xhaW0gdGlja2V0JyA9PiAnT25tb2dlbGlqayBkaXQgdGlja2V0IHRvZSB0ZSBlaWdlbmVuJywKICAnVW5hYmxlIHRvIGNvbW1pdCAlcy4gQ2hlY2sgdmFsaWRhdGlvbiBlcnJvcnMnID0+ICdLYW4gJXMgbmlldCBkb29ydm9lcmVuLiBDb250cm9sZWVyIG9wIHZhbGlkYXRpZWZvdXRlbicsCiAgJ1VuYWJsZSB0byBjb25uZWN0IHRvIE15U1FMIHNlcnZlcjogJXMnID0+ICdPbm1vZ2VsaWprIG9tIHRlIHZlcmJpbmRlbiBtZXQgZGUgTXlTUUxzZXJ2ZXI6ICVzJywKICAnVW5hYmxlIHRvIGNyZWF0ZSAlcy4nID0+ICdLYW4gJXMgIG5pZXQgbWFrZW4uJywKICAnVW5hYmxlIHRvIGNyZWF0ZSBGb2xkZXInID0+ICdLYW4gbWFwIG5pZXQgbWFrZW4nLAogICdVbmFibGUgdG8gY3JlYXRlIGEgdGlja2V0LicgPT4gJ09ubW9nZWxpamsgZWVuIHRpY2tldCBhYW4gdGUgbWFrZW4uJywKICAnVW5hYmxlIHRvIGNyZWF0ZSBhZG1pbiB1c2VyICgjNiknID0+ICdPbm1vZ2VsaWprIG9tIGRlIGJlaGVlcmRlcnNhY2NvdW50IGFhbiB0ZSBtYWtlbiAoIzYpJywKICAnVW5hYmxlIHRvIGNyZWF0ZSBjb25maWcgc2V0dGluZ3MnID0+ICdOaWV0IG1vZ2VsaWprIG9tIGNvbmZpZ3VyYXRpZSBpbnN0ZWxsaW5nZW4gdGUgbWFrZW4nLAogICdVbmFibGUgdG8gY3JlYXRlIGxvY2FsIGFjY291bnQuIFNlZSBtZXNzYWdlcyBiZWxvdycgPT4gJ1dlIGt1bm5lbiB1dyBsb2thbGUgYWNjb3VudCBuaWV0IHJlZ2lzdHJlcmVuLiBaaWUgYmVyaWNodGVuIGhpZXJvbmRlcicsCiAgJ1VuYWJsZSB0byBjcmVhdGUgbmV3IGFjY291bnQuJyA9PiAnT25tb2dlbGlqayBvbSBlZW4gbmlldXcgYWNjb3VudCBhYW4gdGUgbWFrZW4uJywKICAnVW5hYmxlIHRvIGNyZWF0ZSBuZXcgdGlja2V0JyA9PiAnS2FuIGdlZW4gbmlldXcgdGlja2V0IGFhbm1ha2VuJywKICAnVW5hYmxlIHRvIGNyZWF0ZSBvcmdhbml6YXRpb24uJyA9PiAnS2FuIG9yZ2FuaXNhdGllIG5pZXQgbWFrZW4uJywKICAnVW5hYmxlIHRvIGNyZWF0ZSB0aGUgZGF0YWJhc2UuJyA9PiAnTmlldCBtb2dlbGlqayBvbSBkYXRhYmFzZSB0ZSBtYWtlbi4nLAogICdVbmFibGUgdG8gY3JlYXRlIHRoZSB0aWNrZXQuJyA9PiAnT25tb2dlbGlqayBvbSB0aWNrZXQgYWFuIHRlIG1ha2VuLicsCiAgJ1VuYWJsZSB0byBkZWxldGUgJXMuJyA9PiAnT25tb2dlbGlqayBvbSAlcyB0ZSB2ZXJ3aWpkZXJlbi4nLAogICdVbmFibGUgdG8gZGVsZXRlICVzLiBUaGV5IG1heSBiZSBpbiB1c2UuJyA9PiAnT25tb2dlbGlqayBvbSAlcyB0ZSB2ZXJ3aWpkZXJlbi4gV2VsbGljaHQgZGF0IGhldCBub2cgaW4gZ2VicnVpayBpcy4nLAogICdVbmFibGUgdG8gZGVsZXRlIG9yZ2FuaXphdGlvbicgPT4gJ0thbiBvcmdhbmlzYXRpZSBuaWV0IHZlcndpamRlcmVuJywKICAnVW5hYmxlIHRvIGRlbGV0ZSB0YXNrJyA9PiAnT25tb2dlbGlqayBvbSB0YWFrIHRlIHZlcndpamRlcmVuJywKICAnVW5hYmxlIHRvIGRpc2FibGUgJXMnID0+ICdPbm1vZ2VsaWprIG9tICVzIHVpdCB0ZSBzY2hha2VsZW4nLAogICdVbmFibGUgdG8gZW1haWwgdmlhIFNNVFAnID0+ICdPbm1vZ2VsaWprIG9tIHZpYSBTTVRQIHRlIG1haWxlbicsCiAgJ1VuYWJsZSB0byBlbWFpbCB2aWEgU2VuZG1haWwnID0+ICdLYW4gZ2VlbiBlLW1haWwgdmVyc3R1cmVuIHZpYSBTZW5kbWFpbCcsCiAgJ1VuYWJsZSB0byBlbmFibGUgJXMnID0+ICdPbm1vZ2VsaWprIG9tICVzIGluIHRlIHNjaGFrZWxlbicsCiAgJ1VuYWJsZSB0byBmZXRjaCAiJTEkcyIgdGVtcGxhdGUgLSBpZCAjJWQnID0+ICdLYW4gIiUxJHMiIHRlbXBsYXRlIG5pZXQgb3BoYWxlbiAtIGlkICMlZCcsCiAgJ1VuYWJsZSB0byBmaW5kIHVzZXIgaW4gZGlyZWN0b3J5JyA9PiAnR2VicnVpa2VyIG5pZXQgZ2V2b25kZW4gaW4gbWFwJywKICAnVW5hYmxlIHRvIGltcG9ydCAoJXMpOiAlcycgPT4gJ09ubW9nZWxpamsgb20gKCVzKTogJXMgdGUgaW1wb3J0ZXJlbicsCiAgJ1VuYWJsZSB0byBpbXBvcnQgaXRlbTogJXMnID0+ICdPbm1vZ2VsaWprIG9tICVzIHRlIGltcG9ydGVyZW4nLAogICdVbmFibGUgdG8gaW1wb3J0IHVzZXI6ICVzJyA9PiAnT25tb2dlbGlqayBvbSBnZWJydWlrZXIgdGUgaW1wb3J0ZXJlbjogJXMnLAogICdVbmFibGUgdG8gbG9hZCBjb25maWcgaW5mbyBmcm9tIERCLicgPT4gJ0tvbiBjb25maWd1cmF0aWUtaW5mb3JtYXRpZSBuaWV0IGxhZGVuIHZhbnVpdCBEQi4nLAogICdVbmFibGUgdG8gbG9jayB0aGUgdGlja2V0LicgPT4gJ05pZXQgbW9nZWxpamsgb20gZWVuICJsb2NrIiBvcCBoZXQgdGlja2V0IHRlIHpldHRlbi4nLAogICdVbmFibGUgdG8gbWFrZSAlcyBQUklWQVRFJyA9PiAnT25tZWdlbGlqayBvbSAlcyBhbHMgcHJpdmUgYWFuIHRlIG1lcmtlbicsCiAgJ1VuYWJsZSB0byBtYWtlICVzIFBVQkxJQy4nID0+ICdPbm1vZ2VsaWprIG9tICVzIFBVQkxJRUtFTElKSyB0ZSBtYWtlbi4nLAogICdVbmFibGUgdG8gbWFrZSAlcyBwcml2YXRlLiBQb3NzaWJseSBhbHJlYWR5IHByaXZhdGUhJyA9PiAnTmlldCBtb2dlbGlqayBvbSAlcyBwcml2ZSB0ZSBtYWtlbiwgd2FhcnNjaGlqbmxpamsgaXMgZGV6ZSBhbCBwcml2ZSEnLAogICdVbmFibGUgdG8gbWFuYWdlIGFueSBvZiB0aGUgc2VsZWN0ZWQgZW5kIHVzZXJzJyA9PiAnSGV0IG5pZXQgbW9nZWxpamsgw6nDqW4gdmFuIGRlIGdlc2VsZWN0ZWVyZGUgZWluZCBnZWJydWlrZXJzIHRlIGJlaGVyZW4nLAogICdVbmFibGUgdG8gbWFuYWdlIGFueSBvZiB0aGUgc2VsZWN0ZWQgb3JnYW5pemF0aW9ucycgPT4gJ0hldCBpcyBuaWV0IG1vZ2VsaWprIMOpw6luIHZhbiBkZSBnZXNlbGVjdGVlcmRlIG9yZ2FuaXNhdGllcyB0ZSBiZWhlcmVuJywKICAnVW5hYmxlIHRvIG9wZW4gY29uZmlnIGZpbGUgZm9yIHdyaXRpbmcuIFBlcm1pc3Npb24gZGVuaWVkISAoIzMpJyA9PiAnTmlldCBnZWx1a3Qgb20gaGV0IGNvbmZpZ3VyYXRpZWJlc3RhbmQgdGUgYmVzY2hyaWp2ZW4uIFRvZWdhbmcgZ2V3ZWlnZXJkISAoIzMpJywKICAnVW5hYmxlIHRvIHBhcnNlIHN1Ym1pdHRlZCBjc3Y6ICcgPT4gJ09ubW9lbGlqayBkZSBnZWxldmVyZGUgY3N2IHRlIFwncGFyc2VuXCc6ICcsCiAgJ1VuYWJsZSB0byBwYXJzZSBzdWJtaXR0ZWQgaXRlbXMnID0+ICdPbm1vZ2VsaWprIG9tIGRlIGluZ2V6b25kZW4gYmVzdGFuZGVuIHRlIFwncGFyc2VuXCcnLAogICdVbmFibGUgdG8gcG9zdCBpbnRlcm5hbCBub3RlIC0gbWlzc2luZyBvciBpbnZhbGlkIGRhdGEuJyA9PiAnT25tb2dlbGlqayBvbSBpbnRlcm5lIG5vdGl0aWUgb3AgdGUgc2xhYW4gLSBvbnRicmVrZW5kZSBvZiBvbmdlbGRpZ2UgZ2VnZXZlbnMuJywKICAnVW5hYmxlIHRvIHBvc3QgdGhlIG1lc3NhZ2UuJyA9PiAnT25tb2dlbGlqayB1dyBiZXJpY2h0ZW4gb3AgdGUgc2xhYW4uJywKICAnVW5hYmxlIHRvIHBvc3QgdGhlIG5vdGUgLSBtaXNzaW5nIG9yIGludmFsaWQgZGF0YS4nID0+ICdPbm1vZ2VsaWprIG9tIGludGVybmUgbm90aXRpZSBvcCB0ZSBzbGFhbiAtIG9udGJyZWtlbmRlIG9mIG9uZ2VsZGlnZSBnZWdldmVucy4nLAogICdVbmFibGUgdG8gcG9zdCB0aGUgbm90ZS4nID0+ICdPbm1vZ2VsaWprIG9tIGRlIG5vdGl0aWUgb3AgdGUgc2xhYW4uJywKICAnVW5hYmxlIHRvIHBvc3QgdGhlIHJlcGx5IC0gbWlzc2luZyBvciBpbnZhbGlkIGRhdGEuJyA9PiAnT25tb2dlbGlqayBvbSB1dyByZWFjdGllIG9wIHRlIHNsYWFuIC0gb250YnJla2VuZGUgb2Ygb25nZWxkaWdlIGdlZ2V2ZW5zLicsCiAgJ1VuYWJsZSB0byBwb3N0IHRoZSByZXBseS4nID0+ICdBbnR3b29yZCBvcHNsYWFuIG1pc2x1a3QuJywKICAnVW5hYmxlIHRvIHByaW50IHRvIFBERi4nID0+ICdQcmludGVuIG5hYXIgUERGIG1pc2x1a3QuJywKICAnVW5hYmxlIHRvIHB1Ymxpc2ggJXMuIFRyeSBlZGl0aW5nIGl0LicgPT4gJ09ubW9nZWxpamsgb20gJXMgdGUgcHVibGljZXJlbiwgcHJvYmVlciBoZXQgbm9nbWFhbHMgdGUgYmV3ZXJrZW4uJywKICAnVW5hYmxlIHRvIHJlYWQgY29uZmlnIGZpbGUuIFBlcm1pc3Npb24gZGVuaWVkISAoIzIpJyA9PiAnTmlldCBtb2dlbGlqayBvbSBoZXQgY29uZmlndXJhdGllYmVzdGFuZCB0ZSBsZXplbi4gVG9lZ2FuZyBnZXdlaWdlcmQhICgjMiknLAogICdVbmFibGUgdG8gcmVhZCBlbWFpbCByZXF1ZXN0JyA9PiAnS2FuIGUtbWFpbHZlcnpvZWsgbmlldCBsZXplbicsCiAgJ1VuYWJsZSB0byByZWFkIHJlcXVlc3QgYm9keScgPT4gJ0thbiBob29mZGdlZGVlbHRlIHZhbiBoZXQgdmVyem9layBuaWV0IGxlemVuJywKICAnVW5hYmxlIHRvIHJlZ2lzdGVyIGFjY291bnQuIFNlZSBtZXNzYWdlcyBiZWxvdycgPT4gJ1dlIGt1bm5lbiB1dyBhY2NvdW50IG5pZXQgcmVnaXN0cmVyZW4uIFppZSBiZXJpY2h0ZW4gaGllcm9uZGVyJywKICAnVW5hYmxlIHRvIHJlbW92ZSAlcycgPT4gJ09ubW9nZWxpamsgb20gJXMgdGUgdmVyd2lqZGVyZW4nLAogICdVbmFibGUgdG8gcmVzZXQgcGFzc3dvcmQnID0+ICdLYW4gd2FjaHR3b29yZCBuaWV0IG9wbmlldXcgaW5zdGVsbGVuJywKICAnVW5hYmxlIHRvIHJlc2V0IHBhc3N3b3JkLiBDb250YWN0IHlvdXIgYWRtaW5pc3RyYXRvcicgPT4gJ05pZXQgbW9nZWxpamsgb20gaGV0IHdhY2h0d29vcmQgdGUgcmVzZXR0ZW4sIG5lZW0gY29udGFjdCBvcCBtZXQgdXcgc3lzdGVlbWJlaGVlcmRlcicsCiAgJ1VuYWJsZSB0byByZXRyaWV2ZSBlbWFpbCBhdHRhY2htZW50JyA9PiAnS2FuIGUtbWFpbGJpamxhZ2UgbmlldCBvcGhhbGVuJywKICAnVW5hYmxlIHRvIHJldHJpZXZlIGVtYWlsIGlubGluZSBpbWFnZScgPT4gJ0thbiBpbmxpbmUgZS1tYWlsYWZiZWVsZGluZyBuaWV0IG9waGFsZW4nLAogICdVbmFibGUgdG8gcmV0cmlldmUgcGFzc3dvcmQgcmVzZXQgZW1haWwgdGVtcGxhdGUnID0+ICdOaWV0IGluIHN0YWF0IG9tIGRlIHRlbXBsYXRlIHdhY2h0d29vcmQgaGVyc3RlbGxlbiBvcCB0ZSBoYWxlbicsCiAgJ1VuYWJsZSB0byBzYXZlIGRyYWZ0LicgPT4gJ09ubW9nZWxpamsgb20gY29uY2VwdCBvcCB0ZSBzbGFhbi4nLAogICdVbmFibGUgdG8gc2F2ZSBmaWxlJyA9PiAnS2FuIGJlc3RhbmQgbmlldCBvcHNsYWFuJywKICAnVW5hYmxlIHRvIHNhdmU6IFBsZWFzZSBjaG9vc2UgYW4gYWN0aXZlICVzJyA9PiAnS2FuIG5pZXQgb3BzbGFhbjoga2llcyBlZW4gYWN0aWV2ZSAlcycsCiAgJ1VuYWJsZSB0byBzZWxlY3QgdGhlIGRhdGFiYXNlJyA9PiAnTmlldCBtb2dlbGlqayBvbSBkZSBkYXRhYmFzZSB0ZSBzZWxlY3RlcmVuJywKICAnVW5hYmxlIHRvIHNlbmQgcmVzZXQgZW1haWwuJyA9PiAnU3R1cmVuIHJlc2V0LWUtbWFpbCBpcyBtaXNsdWt0LicsCiAgJ1VuYWJsZSB0byBzZXQgc29ydGluZyBtb2RlJyA9PiAnTmlldCBtb2dlbGlqayBvbSBkZSBzb3J0ZWVyaW5zdGVsbGluZ2VuIGFhbiB0ZSBwYXNzZW4nLAogICdVbmFibGUgdG8gdHJhbnNmZXIgJXMnID0+ICdPbm1vZ2VsaWprIG9tICVzIHRlIHZlcmh1aXplbicsCiAgJ1VuYWJsZSB0byB0cmFuc2ZlciB0YXNrJyA9PiAnT25tb2dlbGlqayBvbSBkZSB0YWFrIHRlIHZlcmh1aXplbicsCiAgJ1VuYWJsZSB0byB0cmFuc2ZlciB0aWNrZXQnID0+ICdUaWNrZXQgdmVyaHVpemVuIG1pc2x1a3QnLAogICdVbmFibGUgdG8gdW5wdWJsaXNoICVzLiBUcnkgZWRpdGluZyBpdC4nID0+ICdPbm1vZ2VsaWprIG9tICVzIHRlIGRlcHVibGljZXJlbiwgcHJvYmVlciBoZXQgdGUgYmV3ZXJrZW4uJywKICAnVW5hYmxlIHRvIHVwZGF0ZSAlcy4nID0+ICdLYW4gbmlldCBiaWp3ZXJrZW4gJXMuJywKICAnVW5hYmxlIHRvIHVwZGF0ZSAlcy4gQ29ycmVjdCBlcnJvcihzKSBiZWxvdyBhbmQgdHJ5IGFnYWluLicgPT4gJ05pZXQgbW9nZWxpamsgb20gJXMgdGUgdXBkYXRlbi4gQ29ycmlnZWVyIG9uZGVyc3RhYW5kZSBmb3V0ZW4gZW4gcHJvYmVlciBvcG5pZXV3LicsCiAgJ1VuYWJsZSB0byB1cGRhdGUgYWNjb3VudC4nID0+ICdPbm1vZ2VsaWprIGhldCBhY2NvdW50IGJpaiB0ZSB3ZXJrZW4uJywKICAnVW5hYmxlIHRvIHVwZGF0ZSBzZXR0aW5ncy4nID0+ICdPbm1vZ2VsaWprIG9tIGRlIGluc3RlbGxpbmdlbiBiaWogdGUgd2Vya2VuLicsCiAgJ1VuYWJsZSB0byB1cGRhdGUgdXNlciBhY2NvdW50IGluZm9ybWF0aW9uJyA9PiAnQmlqd2Vya2VuIHZhbiBnZWJydWlrZXJzYWNjb3VudGluZm9ybWF0aWUgbWlzbHVrdCcsCiAgJ1VuYWJsZSB0byB1cGxvYWQgYmFja2Ryb3AgaW1hZ2U6ICVzJyA9PiAnT25tb2dlbGlqayBvbSBkZSBhY2h0ZXJncm9uZGFmYmVlbGRpbmcgJXMgdGUgdXBsb2FkZW4nLAogICdVbmFibGUgdG8gdXBsb2FkIGxvZ28gaW1hZ2U6ICVzJyA9PiAnS2FuIGxvZ28gYWZiZWVsZGluZyBuaWV0IHVwbG9hZGVuOiAlcycsCiAgJ1VuYWJsZSB0byB2YWxpZGF0ZSBydWxlcyBhcyBlbnRlcmVkJyA9PiAnS2FuIHJlZ2VscyB6b2FscyBpbmdldm9lcmQgbmlldCB2YWxpZGVyZW4nLAogICdVbmFibGUgdG8gd3JpdGUgdG8gY29uZmlnIGZpbGUuIFBlcm1pc3Npb24gZGVuaWVkISAoIzUpJyA9PiAnT25tb2dlbGlqayBvbSBoZXQgY29uZmlndXJhdGllYmVzdGFuZCBvcCB0ZSBzbGFhbiwgdG9lZ2FuZyBnZXdlaWdlcmQhICgjNSknLAogICdVbmFzc2lnbmVkJyA9PiAnTmlldCB0b2VnZXdlemVuJywKICAnVW5iYW4gRW1haWwgPCVzPicgPT4gJ0RlLWJsb2trZWVyIEVtYWlsYWRyZXMgPCVzPicsCiAgJ1VuY2hhbmdlZCcgPT4gJ09uZ2V3aWp6aWdkJywKICAnVW5kZXJmbG93IG9yIHRoZSBtb2RlcyBtaXNtYXRjaCcgPT4gJ1VuZGVyZmxvdyBvZiBtb2RlIG1pc21hdGNoJywKICAnVW5leHBlY3RlZCBEYXRhJyA9PiAnT252ZXJ3YWNodGUgZ2VnZXZlbnMnLAogICdVbmV4cGVjdGVkIGNvbnRyb2wgY2hhcmFjdGVyIGZvdW5kJyA9PiAnT252ZXJ3YWNodGUgY29udHJvbGUgdGVrZW4gZ2V2b25kZW4nLAogICdVbmV4cGVjdGVkIG9yIGludmFsaWQgZGF0YSByZWNlaXZlZCcgPT4gJ09udmVyd2FjaHRlIG9mIG9uZ2VsZGlnZSBnZWdldmVucyBvbnR2YW5nZW4nLAogICdVbmZvcm1hdHRlZCcgPT4gJ05pZXQgb3BnZW1hYWt0JywKICAnVW5pdGVkIFN0YXRlcycgPT4gJ1ZlcmVuaWdkZSBTdGF0ZW4nLAogICdVbmtub3duJyA9PiAnT25iZWtlbmQnLAogICdVbmtub3duIEF1dGhlbnRpY2F0aW9uJyA9PiAnT25iZWtlbmRlIGF1dGhlbnRpY2F0aWUnLAogICdVbmtub3duIEF1dGhlbnRpY2F0aW9uIFR5cGUnID0+ICdPbmJla2VuZCBhdXRoZW50aWNhdGlldHlwZScsCiAgJ1Vua25vd24gQXV0aG9yaXphdGlvbiBCYWNrZW5kJyA9PiAnT25iZWtlbmRlIGF1dG9yaXNhdGllLWJhY2tlbmQnLAogICdVbmtub3duIENyZWRlbnRpYWwgVHlwZScgPT4gJ09uYmVrZW5kIHJlZmVyZW50aWV0eXBlJywKICAnVW5rbm93biBGb2xkZXInID0+ICdPbmJla2VuZGUgbWFwJywKICAnVW5rbm93biBKU09OIHBhcnNpbmcgZXJyb3InID0+ICdPbmJla2VuZGUgSlNPTiBwYXJzZSBmb3V0JywKICAnVW5rbm93biBhY3Rpb24nID0+ICdPbmJla2VuZGUgYWN0aWUnLAogICdVbmtub3duIGFzc2lnbmVlJyA9PiAnT25iZWtlbmRlIG1lZGV3ZXJrZXIvdG9la2VubmVyJywKICAnVW5rbm93biBkZXBhcnRtZW50JyA9PiAnT25iZWtlbmRlIGFmZGVsaW5nJywKICAnVW5rbm93biBlcnJvcicgPT4gJ09uYmVrZW5kZSBmb3V0JywKICAnVW5rbm93biBvYmplY3QgZm9yICIlcyIgdGFnJyA9PiAnT25iZWtlbmQgb2JqZWN0IHZvb3IgIiVzIiB0YWcnLAogICdVbmtub3duIG9yIGludmFsaWQnID0+ICdPbmJla2VuZCBvZiBvbmdlbGRpZycsCiAgJ1Vua25vd24gb3IgaW52YWxpZCBGQVEgY2F0ZWdvcnknID0+ICdPbmJla2VuZGUgb2Ygb25nZWxkaWdlIEZBUWNhdGVnb3JpZScsCiAgJ1Vua25vd24gb3IgaW52YWxpZCBmaWxlJyA9PiAnT25iZWtlbmQgb2Ygb25nZWxkaWcgYmVzdGFuZCcsCiAgJ1Vua25vd24gb3IgaW52YWxpZCBmbGFnJyA9PiAnT25iZWtlbmRlIG9mIG9uZ2VsZGlnZSB2bGFnJywKICAnVW5rbm93biBvciBpbnZhbGlkIGZsYWcgZm9ybWF0JyA9PiAnT25iZWtlbmRlIG9mIG9uZ2VsZGlnZSB2bGFnIGZvcm1hYXQnLAogICdVbmtub3duIG9yIGludmFsaWQgaW5wdXQnID0+ICdPbmJla2VuZGUgb2Ygb25nZWxkaWdlIGludm9lcicsCiAgJ1Vua25vd24gb3IgaW52YWxpZCBzdGF0ZScgPT4gJ09uYmVrZW5kZSBvZiBvbmdlbGRpZ2Ugc3RhdHVzJywKICAnVW5rbm93biBvciBpbnZhbGlkIHRhcmdldCcgPT4gJ09uYmVrZW5kIG9mIG9uZ2VsZGlnIGRvZWwnLAogICdVbmtub3duIG9yIGludmFsaWQgdGlja2V0IElELicgPT4gJ09uYmVrZW5kIG9mIG9uZ2VsZGlnIHRpY2tldC1pZC4nLAogICdVbmtub3duIG9yZ2FuaXphdGlvbiBzZWxlY3RlZCcgPT4gJ09uYmVrZW5kZSBvcmdhbmlzYXRpZSBnZXNlbGVjdGVlcmQnLAogICdVbmtub3duIHN0YXR1cycgPT4gJ09uYmVrZW5kZSBzdGF0dXMnLAogICdVbmtub3duIHN5c3RlbSBlbWFpbCcgPT4gJ09uYmVrZW5kIHN5c3RlZW0gZS1tYWlsYWRyZXMnLAogICdVbmtub3duIHVzZXInID0+ICdPbmJla2VuZGUgZ2VicnVpa2VyJywKICAnVW5rbm93biB1c2VyIHNlbGVjdGVkJyA9PiAnT25iZWtlbmRlIGdlYnJ1aWtlciBnZXNlbGVjdGVlcmQnLAogICdVbmxvY2snID0+ICdWcmlqZ2V2ZW4nLAogICdVbnN1cHBvcnRlZCBkYXRhIGZvcm1hdCcgPT4gJ05pZXQgb25kZXJzdGV1bmRlIGdlZ2V2ZW5zaW5kZWxpbmcnLAogICdVcCB0byBkYXRlJyA9PiAnQmlqIGRlIHRpamQnLAogICdVcGRhdGUnID0+ICdCaWp3ZXJrZW4nLAogICdVcGRhdGUgJXMnID0+ICdVcGRhdGUgJXMnLAogICdVcGRhdGUgQVBJIEtleScgPT4gJ0FQSSBzbGV1dGVsIGJpandlcmtlbicsCiAgJ1VwZGF0ZSBCYW4gUnVsZScgPT4gJ0Jld2VyayBibG9ra2FkZSByZWdlbCcsCiAgJ1VwZGF0ZSBDYW5uZWQgUmVzcG9uc2UnID0+ICdWb29yZ2VkZWZpbmllZXJkZSByZWFjdGllIGJpandlcmtlbicsCiAgJ1VwZGF0ZSBDYXRlZ29yeScgPT4gJ0FjdHVhbGlzZWVyIGNhdGVnb3JpZScsCiAgJ1VwZGF0ZSBEZXBhcnRtZW50JyA9PiAnQWN0dWFsaXNlZXIgYWZkZWxpbmcnLAogICdVcGRhdGUgRW1haWwgQWRkcmVzcycgPT4gJ0Jld2VyayBFbWFpbGFkcmVzJywKICAnVXBkYXRlIEZBUScgPT4gJ1Zlcm5pZXV3IEZBUScsCiAgJ1VwZGF0ZSBGaWx0ZXInID0+ICdVcGRhdGUgZmlsdGVyJywKICAnVXBkYXRlIEhlbHAgVG9waWMnID0+ICdCZXdlcmsgZWVuIEhlbHAgb25kZXJ3ZXJwJywKICAnVXBkYXRlIEluc3RhbmNlJyA9PiAnSW5zdGFudGllIGJpandlcmtlbicsCiAgJ1VwZGF0ZSBPcmdhbml6YXRpb24nID0+ICdBa3R1YWxpc2VlciBvcmdhbmlzYXRpZScsCiAgJ1VwZGF0ZSBQYWdlJyA9PiAnQmV3ZXJrIHBhZ2luYScsCiAgJ1VwZGF0ZSBSb2xlJyA9PiAnR2VhY3R1YWxpc2VlcmRlIHJvbCcsCiAgJ1VwZGF0ZSBTTEEgUGxhbicgPT4gJ1NMQSBzY2hlbWEgYmlqd2Vya2VuJywKICAnVXBkYXRlIFRlYW0nID0+ICdCZXdlcmsgdGVhbScsCiAgJ1VwZGF0ZSBUZW1wbGF0ZScgPT4gJ0FjdHVhbGlzZWVyIHNqYWJsb29uJywKICAnVXBkYXRlIFRpY2tldCAjJXMnID0+ICdCaWp3ZXJrZW4gdGlja2V0ICMlcycsCiAgJ1VwZGF0ZSBVc2VyJyA9PiAnQmlqd2Vya2VuIGdlYnJ1aWtlcicsCiAgJ1VwZGF0ZSBjdXN0b20gbGlzdCcgPT4gJ0FhbmdlcGFzdGUgbGlqc3QgYmlqd2Vya2VuJywKICAnVXBkYXRlIGZvcm0gc2VjdGlvbicgPT4gJ1VwZGF0ZSBmb3JtdWxpZXIgc2VjdGllJywKICAnVXBkYXRlIHBvc3RlZCBzdWNjZXNzZnVsbHknID0+ICdCaWp3ZXJraW5nIHN1Y2Nlc3ZvbCBvcGdlc2xhZ2VuJywKICAnVXBkYXRlZCcgPT4gJ0Jpamdld2Vya3QnLAogICdVcGRhdGVkICVzJyA9PiAnQmlqZ2V3ZXJrdCAlcycsCiAgJ1VwZGF0ZWQgU3VjY2Vzc2Z1bGx5JyA9PiAnU3VjY2Vzdm9sIGJpamdld2Vya3QnLAogICdVcGRhdGVkIGJ5IDxiPntzb21lYm9keX08L2I+IHt0aW1lc3RhbXB9IOKAlCAlcycgPT4gJ0Jpamdld2Vya3QgZG9vciA8Yj57c29tZWJvZHl9PC9iPiB7dGltZXN0YW1wfSDigJQgJXMnLAogICdVcGdyYWRlJyA9PiAnT3B3YWFyZGVyZW4nLAogICdVcGdyYWRlIEFib3J0ZWQhJyA9PiAnVXBncmFkZS9iaWp3ZXJrZW4gYWZnZWJyb2tlbiEnLAogICdVcGdyYWRlIENvbXBsZXRlZCEnID0+ICdVcGdyYWRlIGdlc2xhYWdkIScsCiAgJ1VwZ3JhZGUgRmFpbGVkOiBJbnZhbGlkIG9yIHdyb25nIGhhc2ggWyVzXScgPT4gJ1VwZ3JhZGUgbWlzbHVrdDogT25nZWxkaWcgb2YgdmVya2VlcmQgaGFzaCBbJXNdJywKICAnVXBncmFkZSBOb3cnID0+ICdVcGdyYWRlIG51JywKICAnVXBncmFkZSBUaXBzJyA9PiAnVXBncmFkZSB0aXBzJywKICAnVXBncmFkZSBhYm9ydGVkIGR1ZSB0byBlcnJvcnMuIEFueSBlcnJvcnMgYXQgdGhpcyBzdGFnZSBhcmUgZmF0YWwuJyA9PiAnVXBncmFkZS9iaWp3ZXJrZW4gYWZnZWJyb2tlbiB2YW53ZWdlIGZvdXRlbi4gQWxsZSBmb3V0ZW4gaW4gZGl0IHN0YWRpdW0gemlqbiBmYXRhYWwgdm9vciBkZSB1cGdyYWRlLicsCiAgJ1VwZ3JhZGUgb3NUaWNrZXQgdG8gJXMnID0+ICdPc1RpY2tldCB1cGdyYWRlbiBuYWFyICVzJywKICAnVXBncmFkZSB0byAlcycgPT4gJ1VwZ3JhZGUgbmFhciAlcycsCiAgJ1VwZ3JhZGVkIHRvICVzIC4uLiBwb3N0LXVwZ3JhZGUgY2hlY2tzIScgPT4gJ1VwZ3JhZGUgdWl0Z2V2b2VyZCBuYWFyICVzLi4uIHBvc3QtdXBncmFkZSBjb250cm9sZXMhJywKICAnVXBncmFkZXInID0+ICdVcGdyYWRlcicsCiAgJ1VwZ3JhZGVyIC0gJXMgKHRhc2sgcGVuZGluZykuJyA9PiAnVXBncmFkZXIgLSAlcyAodGFhayBpbiB3YWNodHJpaikuJywKICAnVXBncmFkZXIgLSAlcyBhcHBsaWVkJyA9PiAnVXBncmFkZXIgLSAlcyB0b2VnZXBhc3QnLAogICdVcGdyYWRlciAtICVzIGNsZWFudXAnID0+ICdVcGdyYWRlciAtICVzIG9wc2Nob25lbicsCiAgJ1VwZ3JhZGVyIEVycm9yJyA9PiAnVXBncmFkZXIgZm91dCcsCiAgJ1VwbG9hZCcgPT4gJ1VwbG9hZGVuJywKICAnVXBsb2FkIGEgbmV3IGJhY2tkcm9wJyA9PiAnRWVuIG5pZXV3ZSBhY2h0ZXJncm9uZCBnZWJydWlrZW4nLAogICdVcGxvYWQgYSBuZXcgbG9nbycgPT4gJ1VwbG9hZCBlZW4gbmlldXcgbG9nbycsCiAgJ1VwbG9hZGluZyAuLi4nID0+ICdBYW4gaGV0IHVwbG9hZGVuLi4uJywKICAnVXNlIEJyb3dzZXIgUHJlZmVyZW5jZScgPT4gJ0dlYnJ1aWsgdGFhbGluc3RlbGxpbmcgdmFuIGJyb3dzZXInLAogICdVc2UgRGVmYXVsdCBTeXN0ZW0gRW1haWwgKGFib3ZlKScgPT4gJ0dlYnJ1aWsgaGV0IHN0YWRuYWFyZCBzeXN0ZWVtZW1haWxhZHJlcyAoaGllcmJvdmVuKScsCiAgJ1VzZSBMYW5ndWFnZSBQcmVmZXJlbmNlJyA9PiAnR2VicnVpayB0YWFsIHZvb3JrZXVyJywKICAnVXNlIFJlcGx5LVRvIEVtYWlsJyA9PiAnR2VicnVpayBSZXBseS10byBlbWFpbCcsCiAgJ1VzZSBhIGN1c3RvbSBiYWNrZHJvcCcgPT4gJ0VlbiBhYW5nZXBhc3RlIGFjaHRlcmdyb25kIGdlYnJ1aWtlbicsCiAgJ1VzZSBhIGN1c3RvbSBsb2dvJyA9PiAnR2VicnVpayBlZW4gZWlnZW4gbG9nbycsCiAgJ1VzZSBhbnkgYXZhaWxhYmxlIGJhY2tlbmQnID0+ICdHZWJydWlrIGVsayBiZXNjaGlrYmFyZSBcJ2JhY2tlbmRcJycsCiAgJ1VzZSBzdGFuZGFyZCBjb2x1bW5zJyA9PiAnR2VicnVpayBzdGFuZGFhcmQga29sb21tZW4nLAogICdVc2UgdGhlIGNvbHVtbnMgc2hvd24gaW4gdGhlIHRhYmxlIGJlbG93LiBUbyBhZGQgbW9yZSBmaWVsZHMsIHZpc2l0IHRoZSBBZG1pbiBQYW5lbCAtJmd0OyBNYW5hZ2UgLSZndDsgRm9ybXMgLSZndDsgJXMgcGFnZSB0byBlZGl0IHRoZSBhdmFpbGFibGUgZmllbGRzLiAgT25seSBmaWVsZHMgd2l0aCBgdmFyaWFibGVgIGRlZmluZWQgY2FuIGJlIGltcG9ydGVkLicgPT4gJ0dlYnJ1aWt0IHUgZGUga29sb21tZW4gZGllIGluIG9uZGVyc3RhYW5kZSB0YWJlbCBnZXRvb25kIHdvcmRlbi4gT20gbWVlciB2ZWxkZW4gdG9lIHRlIHZvZWdlbiBnYWF0IHUgbmFhciBoZXQgQWRtaW4gUGFuZWwgLSZndDsgTWFuYWdlICZndDsgRm9ybXVsaWVyZW4gJmd0OyAlcyBwYWdpbmEgb20gZGUgYmVzY2hpa2JhcmUgdmVsZGVuIHRlIGJld2Vya2VuLiBBbGxlbiB2ZWxkZW4gdmFuIGhldCB0eXBlIFwndmFyaWFibGVcJyBrdW5uZW4gd29yZGVuIGdlaW1wb3J0ZWVyZC4nLAogICdVc2UgdGhlIGNvbHVtbnMgc2hvd24gaW4gdGhlIHRhYmxlIGJlbG93LiBUbyBhZGQgbW9yZSBwcm9wZXJ0aWVzLCB1c2UgdGhlIFByb3BlcnRpZXMgdGFiLiAgT25seSBwcm9wZXJ0aWVzIHdpdGggYHZhcmlhYmxlYCBkZWZpbmVkIGNhbiBiZSBpbXBvcnRlZC4nID0+ICdHZWJydWlrIGRlIGtvbG9tbWVuIGdldG9vbmQgaW4gZGUgdGFiZWwgaGllcm9uZGVyLiBPbSBtZWVyIGVpZ2Vuc2NoYXBwZW4gdG9lIHRlIHZvZWdlbiwgZ2VicnVpayBkZSBFaWdlbnNjaGFwcGVuIHRhYi4gQWxsZWVuIGVpZ2Vuc2NoYXBwZW4gZ2VkZWZpbmnDq2VyZCBhbHMgXCd2YXJpYWJlbFwnIGt1bm5lbiBnZcOvbXBvcnRlZXJkIHdvcmRlbi4nLAogICdVc2UgdGhlIGZvbGxvd2luZyBmb3JtIHRvIHRlc3Qgd2hldGhlciB5b3VyIDxzdHJvbmc+T3V0Z29pbmcgRW1haWw8L3N0cm9uZz4gc2V0dGluZ3MgYXJlIHByb3Blcmx5IGVzdGFibGlzaGVkLicgPT4gJ0dlYnJ1aWsgaGV0IG9uZGVyc3RhYW5kZSBmb3JtdWxpZXIgb20gdGUgdGVzdGVuIG9mIHV3IDxzdHJvbmc+VWl0Z2FhbmRlPC9zdHJvbmc+IGUtbWFpbGluc3RlbGxpbmdlbiBjb3JyZWN0IHppam4uJywKICAnVXNlIHRoZSBmb3JtcyBiZWxvdyB0byBjcmVhdGUgb3IgdXBkYXRlIHRoZSBpbmZvcm1hdGlvbiB3ZSBoYXZlIG9uIGZpbGUgZm9yIHlvdXIgYWNjb3VudCcgPT4gJ0dlYnJ1aWsgZGUgb25kZXJzdGFhbmRlIGZvcm11bGllcmVuIG9tIGRlIGluZm9ybWF0aWUgdm9vciB1dyBhY2NvdW50IHRlIG1ha2VuIG9mIGJpaiB0ZSB3ZXJrZW4nLAogICdVc2UgdGhlIGZvcm1zIGJlbG93IHRvIHVwZGF0ZSB0aGUgaW5mb3JtYXRpb24gd2UgaGF2ZSBvbiBmaWxlIGZvciB5b3VyIGFjY291bnQnID0+ICdHZWJydWlrIGRlIG9uZGVyc3RhYW5kZSBmb3JtdWxpZXJlbiBvbSBpbmZvcm1hdGllIGJpaiB0ZSB3ZXJrZW4gZGllIHdlIGhlYmJlbiB2b29yIHV3IGFjY291bnQnLAogICdVc2VkIGZvciBIVE1MIGVtYWlsIHByb2Nlc3NpbmcnID0+ICdUZW4gYmVob2V2ZSB2YW4gZW1haWx2ZXJ3ZXJraW5nJywKICAnVXNlZCBmb3IgZW1haWwgZmV0Y2hpbmcnID0+ICdUZW4gYmVob2V2ZSB2YW4gZW1haWxvbnR2YW5nc3QnLAogICdVc2VkIGZvciBpbWFnZSBtYW5pcHVsYXRpb24gYW5kIFBERiBwcmludGluZycgPT4gJ1RlbiBiZWhvZXZlIHZhbiBhZmJlZWxkaW5nc2Jld2Vya2luZyBlbiBQREZwcmludGVuJywKICAnVXNlZCBmb3IgdGlja2V0IGFuZCB0YXNrIGV4cG9ydGluZycgPT4gJ0dlYnJ1aWt0IHZvb3IgaGV0IGV4cG9ydGVyZW4gdmFuIHRpY2tldHMgZW4gdGFrZW4nLAogICdVc2VkIHRvIGRldGVjdCBmaWxlIHR5cGVzIGZvciB1cGxvYWRzJyA9PiAnd29yZHQgZ2VicnVpa3Qgb20gYmVzdGFuZHN0eXBlbiB2YW4gdXBsb2FkcyB0ZSBkZXRlY3RlcmVuJywKICAnVXNlcicgPT4gJ0dlYnJ1aWtlcicsCiAgJ1VzZXIgQWNjb3VudCBMb2dpbicgPT4gJ0dlYnJ1aWtlcnNsb2dpbicsCiAgJ1VzZXIgRGF0YScgPT4gJ0dlYnJ1aWtlcnNnZWdldmVucycsCiAgJ1VzZXIgRGlyZWN0b3J5JyA9PiAnTGlqc3QgdmFuIGdlYnJ1aWtlcnMnLAogICdVc2VyIEV4Y2Vzc2l2ZSBMb2dpbnMnID0+ICdNYXhpbWFsZSBhYW5tZWxkcG9naW5nZW4gZG9vciBnZWJydWlrZXInLAogICdVc2VyIEluZm9ybWF0aW9uJyA9PiAnR2VicnVpa2VyZ2VnZXZlbnMnLAogICdVc2VyIEluZm9ybWF0aW9uIEZpZWxkcycgPT4gJ0dlYnJ1aWtlcnNpbmZvcm1hdGllIHZlbGRlbicsCiAgJ1VzZXIgUHJlZmVyZW5jZXMnID0+ICdHZWJydWlrZXJzdm9vcmtldXJlbicsCiAgJ1VzZXIgU2Vzc2lvbiBUaW1lb3V0JyA9PiAnR2VicnVpa2VyIHNlc3NpZSBUaW1lLW91dCcsCiAgJ1VzZXIgU2V0dGluZ3MgYW5kIE9wdGlvbnMnID0+ICdHZWJydWlrZXIgSW5zdGVsbGluZ2VuIGVuIE9wdGllcycsCiAgJ1VzZXIgYWxyZWFkeSBiZWxvbmdzIHRvIHRoaXMgb3JnYW5pemF0aW9uIScgPT4gJ0dlYnJ1aWtlciBpcyBhbCBsaWQgdmFuIGRlemUgb3JnYW5pc2F0aWUhJywKICAnVXNlciBhbHJlYWR5IHJlZ2lzdGVyZWQnID0+ICdHZWJydWlrZXIgaXMgYWwgZ2VyZWdpc3RyZWVyZCcsCiAgJ1VzZXIgY2Fubm90IGNoYW5nZSBwYXNzd29yZCcgPT4gJ0dlYnJ1aWtlciBrYW4gd2FjaHR3b29yZCBuaWV0IHZlcmFuZGVyZW4nLAogICdVc2VyIGxvZ2luJyA9PiAnR2VicnVpa2VyIGxvZ2luJywKICAnVXNlciBsb2dvdXQnID0+ICdHZWJydWlrZXIgdWl0bG9nZ2VuJywKICAnVXNlciBwb3N0aW5nIHRoZSBtZXNzYWdlJyA9PiAnR2VicnVpa2VyIGRpZSBoZXQgYmVyaWNodCBoZWVmdCBnZXBsYWF0c3QnLAogICdVc2VybmFtZScgPT4gJ0dlYnJ1aWtlcnNuYWFtJywKICAnVXNlcm5hbWUgUmVxdWlyZWQnID0+ICdHZWJydWlrZXJzbmFhbSB2ZXJlaXN0JywKICAnVXNlcm5hbWUgYWxyZWFkeSBpbiB1c2UnID0+ICdHZWJydWlrZXJzbmFhbSBpcyBhbCBpbiBnZWJydWlrJywKICAnVXNlcm5hbWUgY29udGFpbnMgaW52YWxpZCBjaGFyYWN0ZXJzJyA9PiAnR2VicnVpa2Vyc25hYW0gYmV2YXQgb25nZWxkaWdlIHRla2VucycsCiAgJ1VzZXJuYW1lIGlzIHJlcXVpcmVkJyA9PiAnR2VicnVpa2Vyc25hYW0gaXMgdmVycGxpY2h0JywKICAnVXNlcm5hbWUgbXVzdCBoYXZlIGF0IGxlYXN0IHR3byAoMikgY2hhcmFjdGVycycgPT4gJ0dlYnJ1aWtlcnNuYWFtIG1vZXQgdWl0IHRlbm1pbnN0ZSB0d2VlICgyKSB0ZWtlbnMgYmVzdGFhbicsCiAgJ1VzZXJuYW1lIHJlcXVpcmVkJyA9PiAnR2VicnVpa2Vyc25hYW0gdmVyZWlzdCcsCiAgJ1VzZXJzJyA9PiAnR2VicnVpa2VycycsCiAgJ1VzZXJzIFNldHRpbmdzJyA9PiAnR2VicnVpa2VycyBpbnN0ZWxsaW5nZW4nLAogICdVc2VycyBjYW4gYWx3YXlzIHNpZ24gaW4gd2l0aCB0aGVpciBlbWFpbCBhZGRyZXNzJyA9PiAnR2VicnVpa2VycyBrdW5uZW4gYWx0aWpkIGlubG9nZ2VuIG1ldCBodW4gZS1tYWlsYWRyZXMnLAogICdVc2VycyBjYW5ub3QgdXBsb2FkIG1vcmUgdGhhbiB0aGlzIG1hbnkgZmlsZXMuJyA9PiAnR2VicnVpa2VycyBrdW5uZW4gbmlldCBtZWVyIGRhdCB6b3ZlZWwgYmVzdGFuZGVuIHVwbG9hZGVuLicsCiAgJ1VzaW5nIFdTX0ZUUCB0aGlzIHdvdWxkIGJlIHJpZ2h0IGhhbmQgY2xpY2tpbmcgb24gdGhlIGZpbGUsIHNlbGVjdGluZyBjaG1vZCwgYW5kIHRoZW4gZ2l2aW5nIGFsbCBwZXJtaXNzaW9ucyB0byB0aGUgZmlsZS4nID0+ICdNRVQgV1NfRlRQIGt1bnQgdSBkb29yIHJlY2h0cyB0ZSBrbGlra2VuIG9wIGhldCBiZXN0YW5kIGVuIGNobW9kIHRlIHNlbGVjdGVyZW4gYWxsZSB0b2VnYW5nIHRvdCBoZXQgYmVzdGFuZCBvcGVuIHpldHRlbiAoNzc3KS4nLAogICdVc2luZyBXU19GVFAgdGhpcyB3b3VsZCBiZSByaWdodCBoYW5kIGNsaWNraW5nIG9uIHRoZSBmaWxlLCBzZWxlY3RpbmcgY2htb2QsIGFuZCB0aGVuIHJlbW92ZSB3cml0ZSBhY2Nlc3MnID0+ICdNZXQgV1NfRlRQIGtsaWt0IHUgcmVjaHRzIG9wIGhldCBiZXN0YW5kLCB1IGtpZXN0IGhpZXJuYSB2b29yIFwnY2htb2RcJyBlbiB1IHZpbmt0IGRlIHNjaHJpamZ0b2VnYW5nIFVJVCcsCiAgJ1ZhY2F0aW9uIE1vZGUnID0+ICdWYWthbnRpZW1vZHVzJywKICAnVmFsaWQgQVBJIGtleSByZXF1aXJlZCcgPT4gJ0dlbGRpZ2UgQVBJLXNsZXV0ZWwgdmVyZWlzdCcsCiAgJ1ZhbGlkIENTUkYgVG9rZW4gUmVxdWlyZWQnID0+ICdHZWxkaWdlIENTUkYgVG9rZW4gdmVyZWlzdCcsCiAgJ1ZhbGlkIElQIGlzIHJlcXVpcmVkJyA9PiAnR2VsZGlnIElQIGlzIHZlcmVpc3QnLAogICdWYWxpZCBlbWFpbCBhZGRyZXNzIGFuZCB0aWNrZXQgbnVtYmVyIHJlcXVpcmVkJyA9PiAnR2VsZGlnIGVtYWlsIGFkcmVzIGVuIHRpY2tldCBudW1tZXIgdmVyZWlzdCcsCiAgJ1ZhbGlkIGVtYWlsIGFkZHJlc3MgaXMgcmVxdWlyZWQnID0+ICdHZWxkaWcgZS1tYWlsYWRyZXMgaXMgdmVyZWlzdCcsCiAgJ1ZhbGlkIGVtYWlsIGlzIHJlcXVpcmVkJyA9PiAnR2VsZGlnIGUtbWFpbGFkcmVzIGlzIHZlcmVpc3QnLAogICdWYWxpZCBlbWFpbCByZXF1aXJlZCcgPT4gJ0dlbGRpZ2UgZS1tYWlsIHZlcmVpc3QnLAogICdWYWxpZCBlbWFpbCByZXF1aXJlZCBmb3IgdGhlIG1hdGNoIHR5cGUnID0+ICdHZWxkaWcgZS1tYWlsIHZlcmVpc3Qgdm9vciBoZXQgb3ZlcmVlbmtvbXN0IHR5cGUnLAogICdWYWxpZCBmb2xkZXIgcmVxdWlyZWQnID0+ICdHZWxkaWdlIG1hcCB2ZXJlaXN0JywKICAnVmFsaWQgcGFzc3dvcmQgcmVzZXQgd2luZG93IHJlcXVpcmVkJyA9PiAnR2VsZGlnIHdhY2h0d29vcmQgaGVyc3RlbCB2ZW5zdGVyIHZlcmVpc3QnLAogICdWYWxpZCBwaG9uZSBudW1iZXIgaXMgcmVxdWlyZWQnID0+ICdFZW4gZ2VsZGlnIHRlbGVmb29ubnVtbWVyIGlzIHZlcmVpc3QnLAogICdWYWxpZCByZWNpcGllbnQgZW1haWwgYWRkcmVzcyByZXF1aXJlZCcgPT4gJ0dlbGRpZyBlLW1haWxhZHJlcyB2YW4gb250dmFuZ2VyIG5vZGlnJywKICAnVmFsaWQgcmVndWxhciBleHByZXNzaW9uJyA9PiAnR2VsZGlnZSByZWd1bGFpcmUgZXhwcmVzc2llJywKICAnVmFsaWQgdXNlcm5hbWUgb3IgZW1haWwgYWRkcmVzcyBpcyByZXF1aXJlZCcgPT4gJ0dlbGRpZ2UgZ2VicnVpa2Vyc25hYW0gb2YgZS1tYWlsYWRyZXMgaXMgdmVyZWlzdCcsCiAgJ1ZhbGlkYXRpb24gRXJyb3InID0+ICdWYWxpZGF0aWVmb3V0JywKICAnVmFsaWRhdG9yJyA9PiAnVmFsaWRhdG9yJywKICAnVmFsdWUnID0+ICdXYWFyZGUnLAogICdWYWx1ZSBhbHJlYWR5IGluIHVzZScgPT4gJ1dhYXJkZSByZWVkcyBpbiBnZWJydWlrJywKICAnVmFsdWUgYW5kIEFiYnJldmlhdGlvbicgPT4gJ1dhYXJkZSBlbiBhZmtvcnRpbmcnLAogICdWYWx1ZSBkb2VzIG5vdCBtYXRjaCByZXF1aXJlZCBwYXR0ZXJuJyA9PiAnZGUgd2FhcmRlIGhlZWZ0IGdlZW4gb3ZlcmVlbmtvbXN0IG1ldCBoZXQgdmVyZWlzdGUgcGF0cm9vbicsCiAgJ1ZhbHVlIHJlcXVpcmVkJyA9PiAnV2FhcmRlIHZlcmVpc3QnLAogICdWYXJpYWJsZScgPT4gJ1ZhcmlhYmVsZScsCiAgJ1ZhcmlhYmxlIG5hbWUgaXMgcmVxdWlyZWQgZm9yIHJlcXVpcmVkIGZpZWxkcycgPT4gJ1ZhcmlhYmVsZSBuYWFtIGlzIHZlcmVpc3Qgdm9vciB2ZXJlaXN0ZSB2ZWxkZW4nLAogICdWZXJpZmljYXRpb24gY29kZXMgYXJlIHNlbnQgYnkgZW1haWwnID0+ICdWZXJpZmljYXRpZWNvZGVzIHdvcmRlbiBwZXIgZS1tYWlsIHZlcnpvbmRlbicsCiAgJ1ZlcmlmaWVkJyA9PiAnR2V2ZXJpZmllZXJkJywKICAnVmVyaWZpZWQgYnkgJXMnID0+ICdHZXZlcmlmaWVlcmQgZG9vciAlcycsCiAgJ1ZlcmlmeSBFbWFpbCBBZGRyZXNzZXMnID0+ICdDb250cm9sZWVyIGVtYWlsIGFkcmVzc2VuJywKICAnVmVyaWZ5IGVtYWlsIGFkZHJlc3MgZG9tYWluJyA9PiAnQ29udHJvbGVlciBlLW1haWxhZHJlcyBkb21laW4nLAogICdWZXJzaW9uJyA9PiAnVmVyc2llJywKICAnVmlldycgPT4gJ2Jla2lqaycsCiAgJ1ZpZXcgVGFzaycgPT4gJ1RhYWsgYmVraWprZW4nLAogICdWaWV3IFRpY2tldCcgPT4gJ1RpY2tldCB3ZWVyZ2V2ZW4nLAogICdWaWV3IFRpY2tldCBUaHJlYWQnID0+ICdCZWtpamsgVGlja2V0IGJvb21zdHJ1Y3R1dXInLAogICdWaWV3IHRpY2tldCBzdGF0dXMnID0+ICdCZWtpamsgdGlja2V0IHN0YXR1cycsCiAgJ1ZpZXdpbmcnID0+ICdCZWtpamtlbicsCiAgJ1Zpc2liaWxpdHknID0+ICdaaWNodGJhYXJoZWlkJywKICAnVmlzaWJsZScgPT4gJ1ppY2h0YmFhcicsCiAgJ1dBUk4nID0+ICdXQUFSU0NIVVdJTkcnLAogICdXYXJuaW5ncycgPT4gJ1dhYXJzY2h1d2luZ2VuJywKICAnV2UgYXJlIGRlbGlnaHRlZCB5b3UgaGF2ZSBjaG9zZW4gb3NUaWNrZXQgZm9yIHlvdXIgY3VzdG9tZXIgc3VwcG9ydCB0aWNrZXRpbmcgc3lzdGVtIScgPT4gJ1dlIHppam4gdmVyaGV1Z2QgZGF0IHUgb3NUaWNrZXQgaGVlZnQgZ2Vrb3plbiEnLAogICdXZSBjYW4gaGVscC4gRmVlbCBmcmVlIHRvICUxJHMgY29udGFjdCB1cyAlMiRzIGZvciBwcm9mZXNzaW9uYWwgaGVscC4nID0+ICdXZSBrdW5uZW4gaGVscGVuLCBzY2hyb29tIG5pZXQgb25zIHRlICUxJHMgY29udGFjdGVuICUyJHMgdGJ2IHByb2Zlc3Npb25lbGUgaHVscC4nLAogICdXZSBoYXZlIGEgcHJvYmxlbSAtIGFub3RoZXIgaW5zdGFsbGF0aW9uIHdpdGggc2FtZSB0YWJsZSBwcmVmaXggZXhpc3RzIScgPT4gJ0VyIGlzIGVlbiBwcm9ibGVlbSBnZWNvbnN0YXRlZXJkIC0gZWVuIGFuZGVyZSBpbnN0YWxsYXRpZSBtZXQgaGV0emVsZmRlIHRhYmVsdm9vcnZvZWdzZWwgKHByZWZpeCkgYmVzdGFhdCBhbCEnLAogICdXZSBoYXZlIGEgcHJvYmxlbSAuLi4gd2FpdCBhIHNlYy4nID0+ICdXZSBoZWJiZW4gZWVuIHByb2JsZWVtLi4uIGV2ZW4gZ2VkdWxkLicsCiAgJ1dlIGhpZ2hseSByZWNvbW1lbmQgdGhhdCB5b3UgZm9sbG93IHRoZSBzdGVwcyBiZWxvdy4nID0+ICdXZSBiZXZlbGVuIHUgdGVuIGhvb2dzdGUgYWFuIG9tIG9uZGVyc3RhYW5kZSBzdGFwcGVuIHRlIGRvb3Jsb3Blbi4nLAogICdXZSBwcm92aWRlICUxJHMgcHJvZmVzc2lvbmFsIHVwZ3JhZGUgc2VydmljZXMgJTIkcyBhbmQgY29tbWVyY2lhbCBzdXBwb3J0LicgPT4gJ1cgYmllZGVuICUxJHMgcHJvZmVzc2lvbmVsZSB1cGdyYWRlIGRpZW5zdGVuICUyJHMgZW4gY29tbWVyY2llbGUgc3VwcG9ydC4nLAogICdXZSBwcm92aWRlIDx1PnByb2Zlc3Npb25hbCBpbnN0YWxsYXRpb24gc2VydmljZXM8L3U+IGFuZCBjb21tZXJjaWFsIHN1cHBvcnQgd2l0aCBndWFyYW50ZWVkIHJlc3BvbnNlIHRpbWVzLCBhbmQgYWNjZXNzIHRvIHRoZSBjb3JlIGRldmVsb3BtZW50IHRlYW0uJyA9PiAnV2lqIGJpZWRlbiA8dT5wcm9mZXNzaW9uZWxlIGluc3RhbGxhdGllc2VydmljZXM8L3U+IGVuIGNvbW1lcnNpZWxlIG9uZGVyc3RldW5pbmcgbWV0IGdlZ2FyYW5kZWVyZGUgcmVhY3RpZXRpamRlbiBlbiB0b2VnYW5nIHRvdCBvbnMgb250d2lra2VsdGVhbS4nLAogICdXZSBwcm92aWRlIDx1PnByb2Zlc3Npb25hbCBpbnN0YWxsYXRpb24gc2VydmljZXM8L3U+IGFuZCBjb21tZXJjaWFsIHN1cHBvcnQuJyA9PiAnV2lqIGJpZWRlbiA8dT5wcm9mZXNzaW9uZWxlIGluc3RhbGxhdGllIGRpZW5zdGVuPC91PiBlbiBjb21tZXJjaWVsZSBvbmRlcnN0ZXVuaW5nLicsCiAgJ1dlIHRha2UgdXNlciBmZWVkYmFjayBzZXJpb3VzbHkgYW5kIHdlXCdyZSBkZWRpY2F0ZWQgdG8gbWFraW5nIGNoYW5nZXMgYmFzZWQgb24geW91ciBpbnB1dC4nID0+ICdXZSBoZWNodGVuIHZlZWwgd2FhcmRlIGFhbiBkZSB0ZXJ1Z2tvcHBlbGluZyB2YW4gZ2VicnVpa2VycyB3ZSB6aWpuIHplZXIgdG9lZ2V3aWpkIG9tIHV3IHdlbnNlbiBpbiBoZXQgc3lzdGVlbSB0ZSBpbnRlZ3JlcmVuLicsCiAgJ1dlXCdyZSBkb25lIScgPT4gJ1dlIHppam4ga2xhYXIhJywKICAnV2VcJ3ZlIGp1c3Qgc2VudCB5b3UgYW4gZW1haWwgdG8gdGhlIGFkZHJlc3MgeW91IGVudGVyZWQuIFBsZWFzZSBmb2xsb3cgdGhlIGxpbmsgaW4gdGhlIGVtYWlsIHRvIGNvbmZpcm0geW91ciBhY2NvdW50IGFuZCBnYWluIGFjY2VzcyB0byB5b3VyIHRpY2tldHMuJyA9PiAnV2UgaGViYmVuIG5ldCBlZW4gbWFpbCBnZXN0dXVyZCBuYWFyIGhldCBhZHJlcyBkYXQgdSBoZWVmdCBvcGdlZ2V2ZW4uIFZvbGcgZGUgaW5zdHJ1Y3RpZXMgaW4gZGV6ZSBlbWFpbCBvbSB1dyBhY2NvdW50IHRlIGJldmVzdGlnZW4gZW4gdG9lZ2FuZyB0ZSBrcmlqZ2VuIHRvdCB1dyB0aWNrZXRzLicsCiAgJ1dlYicgPT4gJ1dlYicsCiAgJ1dlYiBGb3JtcycgPT4gJ1dlYmZvcm11bGllcmVuJywKICAnV2ViIFNlcnZlciBTb2Z0d2FyZScgPT4gJ1dlYiBTZXJ2ZXIgU29mdHdhcmUnLAogICdXZWxjb21lIHRvIHRoZSBTdXBwb3J0IENlbnRlcicgPT4gJ1dlbGtvbSBiaWogaGV0IE9uZGVyc3RldW5pbmdzY2VudHJ1bScsCiAgJ1dlbGNvbWUsICVzLicgPT4gJ1dlbGtvbSwgJXMuJywKICAnV2hhdCB0byBkbz8nID0+ICdXYXQgbnU/JywKICAnV2hhdFwncyBOZXh0PycgPT4gJ1dhdCBpcyBoZXQgdm9sZ2VuZGU/JywKICAnV2hvb3BzLiBQZXJoYXBzIHlvdSBtZWFudCB0byBzZW5kIHNvbWUgQ1NWIHJlY29yZHMnID0+ICdPZXBzLiBNaXNzY2hpZW4gYmVkb2VsZGUgamUgb20gQ1NWIHJlY29yZHMgdGUgdmVyemVuZGVuJywKICAnV2lkZ2V0JyA9PiAnQXJ0aWtlbCcsCiAgJ1dpZGdldCBub3QgZGVmaW5lZCBmb3IgdGhpcyBmaWVsZCcgPT4gJ0FydGlrZWwgaXMgbmlldCBnZWRlZmluaWVlcmQgdm9vciBkaXQgdmVsZCcsCiAgJ1dpZHRoJyA9PiAnQnJlZWR0ZScsCiAgJ1dpbmRvd3MgUG93ZXJTaGVsbCcgPT4gJ1dpbmRvd3MgUG93ZXJzaGVsbCcsCiAgJ1dvdWxkIHlvdSBhbHNvIGxpa2UgdG8gcmVtb3ZlIGRhdGEgY3VycmVudGx5IGVudGVyZWQgZm9yIHRoaXMgZmllbGQ/IDxlbT4gSWYgeW91IG9wdCBub3QgdG8gcmVtb3ZlIHRoZSBkYXRhIG5vdywgeW91IHdpbGwgaGF2ZSB0aGUgb3B0aW9uIHRvIGRlbGV0ZSB0aGUgdGhlIGRhdGEgd2hlbiBlZGl0aW5nIGl0LjwvZW0+JyA9PiAnV2lsdCB1IG9vayBnZWdldmVucyBkaWUgbW9tZW50ZWVsIHdvcmRlbiBpbmdldm9lcmQgdm9vciBkaXQgdmVsZCB2ZXJ3aWpkZXJlbj8gPGVtPktpZXN0IHUgYWxzIHUgZGUgZ2VnZXZlbnMgbmlldCBudSB3aWx0IHZlcndpamRlcmVuLCBoZWIgamUgZGUgb3B0aWUgb20gZGV6ZSB0ZSB2ZXJ3aWpkZXJlbiBiaWogaGV0IGJld2Vya2VuIHZhbiBkZSBnZWdldmVucy48L2VtPicsCiAgJ1dyaXRlIGFjY2VzcyByZXF1aXJlZCB0byBjb250aW51ZScgPT4gJ1NjaHJpamZiZXZvZWdkaGVpZCBpcyBub2RpZyBvbSBkb29yIHRlIGdhYW4nLAogICdYTUwgQVBJJyA9PiAnWE1MIEFQSScsCiAgJ1hNTCBlcnJvcjogJTEkcyBhdCBsaW5lICUyJGQ6JTMkZCcgPT4gJ1hNTCBmb3V0OiAlMSRzIG9wIGxpam4gJTIkZDolMyRkJywKICAnWE1MIGV4dGVuc2lvbiBub3Qgc3VwcG9ydGVkJyA9PiAnWE1MIGV4dGVuc2llIG5pZXQgb25kZXJzdGV1bmQnLAogICdZZXMnID0+ICdKYScsCiAgJ1llcywgRGVsZXRlJyA9PiAnSmEsIHZlcndpamRlcicsCiAgJ1llcywgRGVsZXRlIFVzZXInID0+ICdKYSwgdmVyd2lqZGVyIGdlYnJ1aWtlcicsCiAgJ1llcywgRG8gaXQhJyA9PiAnQmV2ZXN0aWdlbicsCiAgJ1llc3RlcmRheScgPT4gJ0dpc3RlcmVyZW4nLAogICdZb3UgYXJlIGFib3V0IHRvIGRlbGV0ZSAlcyBmaWVsZHMuJyA9PiAnVSBiZW50IGJlemlnIG1ldCAlcyB2ZWxkZW4gdmVyd2lqZGVyZW4uJywKICAnWW91IGFyZSB0cnlpbmcgdG8gdXBsb2FkIHRvbyBtYW55IGZpbGVzJyA9PiAnVSBwcm9iZWVydCB0ZSB2ZWVsIGJlc3RhbmRlbiB0ZSB1cGxvYWRlbicsCiAgJ1lvdSBjYW4gbm90IGRpc2FibGUvZGVsZXRlIHlvdXJzZWxmIC0geW91IGNvdWxkIGJlIHRoZSBvbmx5IGFkbWluIScgPT4gJ1Uga3VudCB1emVsZiBuaWV0IHVpdHNjaGFrZWxlbiBvZiB2ZXJ3aWpkZXJlbiAtIHN0ZWx0IHUgZWVucyB2b29yIGRhdCB1IGRlIGVuaWdlIGJlaGVlcmRlciBiZW50IScsCiAgJ1lvdSBjYW4gbm93IGdvIHRvICVzIHRvIGVuYWJsZSB0aGUgc3lzdGVtIGFuZCBleHBsb3JlIHRoZSBuZXcgZmVhdHVyZXMuIEZvciBjb21wbGV0ZSBhbmQgdXAtdG8tZGF0ZSByZWxlYXNlIG5vdGVzIHNlZSB0aGUgJXMnID0+ICdVIGt1bnQgbmFhciAlcyBnYWFuIG9tIGhldCBzeXN0ZWVtIGluIHRlIHNjaGFrZWxlbiBlbiBuaWV1d2UgbW9nZWxpamtoZWRlbiB0ZSBvbnRkZWtrZW4uIFZvb3IgY29tcGxldGUgZW4gdXAtdG8tZGF0ZSB2ZXJzaWUgaW5mb3JtYXRpZSBrdW50IHUgb29rIG5hYXIgJXMnLAogICdZb3UgY2FuIG5vdyBsb2cgaW4gdG8gJTEkcyBBZG1pbiBQYW5lbCAlMiRzIHdpdGggdGhlIHVzZXJuYW1lIGFuZCBwYXNzd29yZCB5b3UgY3JlYXRlZCBkdXJpbmcgdGhlIGluc3RhbGwgcHJvY2Vzcy4gQWZ0ZXIgYSBzdWNjZXNzZnVsIGxvZyBpbiwgeW91IGNhbiBwcm9jZWVkIHdpdGggcG9zdC1pbnN0YWxsIHNldHVwLicgPT4gJ1Uga3VudCBudSBpbmxvZ2dlbiBvcCBoZXQgJTEkcyBBZG1pbmlzdHJhdGllc2NoZXJtICUyJHMgbWV0IGRlIGdlYnJ1aWtlcnNuYWFtIGVuIGhldCB3YWNodHdvb3JkIGRhdCB1IHRpamRlbnMgZGUgaW5zdGFsbGF0aWUgaGVlZnQgaW5nZXZvZXJkLgpab2RyYSB1IHN1Y2Nlc3ZvbCBiZW50IGluZ2Vsb2dkLCBrdW50IHUgdmVyZGVyIGdhYW4gbWV0IGRlIGluc3RlbGxpbmdlbiBkaWUgbW9ldGVuIGdlYmV1cmVuIG5hIGVlbiBpbnN0YWxsYXRpZS4nLAogICdZb3UgY2FuIHVzZSBvc1RpY2tldCB3aXRob3V0IHRoZXNlLCBidXQgeW91IG1heSBub3QgYmUgYWJsZSB0byB1c2UgYWxsIGZlYXR1cmVzLicgPT4gJ1Uga3VudCBvc1RpY2tldCBpbnN0YWxsZXJlbiB6b25kZXIgZGV6ZSBvbmRlcmRlbGVuLCBlY2h0ZXIgdSB6dWx0IGRhbiBuaWV0IGFsbGUgbW9nZWxpamtoZWRlbiB2YW4gaGV0IHBha2tldCBrdW5uZW4gZ2VicnVpa2VuLicsCiAgJ1lvdSBjYW5ub3QgZGVsZXRlIGEgdXNlciB3aXRoIHRpY2tldHMhJyA9PiAnVSBrdW50IGdlZW4gZ2VicnVpa2VyIG1ldCB0aWNrZXRzIHZlcndpamRlcmVuIScsCiAgJ1lvdSBjYW5ub3QgZGlzYWJsZS9kZWxldGUgYSBkZWZhdWx0IGRlcGFydG1lbnQuIFNlbGVjdCBhIG5ldyBkZWZhdWx0IGRlcGFydG1lbnQgYW5kIHRyeSBhZ2Fpbi4nID0+ICdVIGt1bnQgbmlldCBlZW4gc3RhbmRhYXJkIGFmZGVsaW5nIHVpdHNjaGFrZWxlbiBvZiB2ZXJ3aWpkZXJlbi4gU2VsZWN0ZWVyIGVlcnN0IGVlbiBuaWV1d2Ugc3RhbmRhYXJkIGFmZGVsaW5nIGVuIHByb2JlZXIgb3BuaWV1dy4nLAogICdZb3UgZG8gbm90IGhhdmUgcGVybWlzc2lvbiAlcycgPT4gJ1UgYmVudCBuaWV0IGdlbWFjaHRpZ2Qgb20gJXMnLAogICdZb3UgZG8gbm90IGhhdmUgcGVybWlzc2lvbiB0byAlcyB0YXNrcycgPT4gJ0plIGhlYnQgZ2VlbiB0b2VzdGVtbWluZyBvbSB0YWtlbiB0ZSAlcycsCiAgJ1lvdSBkbyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGNyZWF0ZSB1c2Vycy4nID0+ICdVIGhlZWZ0IGdlZW4gdG9lc3RlbW1pbmcgb20gZ2VicnVpa2VycyBhYW4gdGUgbWFrZW4uJywKICAnWW91IGRvIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gZGVsZXRlIGEgdXNlciB3aXRoIHRpY2tldHMhJyA9PiAnVSBiZW50IG5pZXQgZ2VtYWNodGlnZCBvbSBlZW4gZ2VicnVpa2VyIG1ldCB0aWNrZXRzIHRlIHZlcndpamRlcmVuIScsCiAgJ1lvdSBkb25cJ3QgaGF2ZSBhIHNpZ25hdHVyZScgPT4gJ0plIGhlYnQgZ2VlbiBoYW5kdGVrZW5pbmcnLAogICdZb3UgaGF2ZSBtYWRlIGNoYW5nZXMgdGhhdCB5b3UgbmVlZCB0byBzYXZlLicgPT4gJ1UgaGVlZnQgd2lqemlnaW5nZW4gZ2VtYWFrdCBkaWUgbW9ldGVuIHdvcmRlbiBvcGdlc2xhZ2VuLicsCiAgJ1lvdSBtdXN0IHNlbGVjdCBhY3Rpb24gdG8gcGVyZm9ybScgPT4gJ1UgbW9ldCBlZW4gdWl0IHRlIHZvZXJlbiBhY3RpZSBzZWxlY3RlcmVuJywKICAnWW91IG11c3Qgc2VsZWN0IGF0IGxlYXN0ICVzIHRvIHByb2Nlc3MuJyA9PiAnSmUgbW9ldCBvcCB6aWpuIG1pbnN0ICVzIGl0ZW1zIHNlbGVjdGVyZW4gb20gZG9vciB0ZSB2b2VyZW4uJywKICAnWW91IG11c3Qgc2VsZWN0IGF0IGxlYXN0ICVzLicgPT4gJ1UgbW9ldCBtaW5zdGVucyAlcyBzZWxlY3RlcmVuLicsCiAgJ1lvdSBtdXN0IHNlbGVjdCBhdCBsZWFzdCBvbmUgJXMuJyA9PiAnVSBtb2V0IHRlbiBtaW5zdGUgw6nDqW4gJXMgc2VsZWN0ZXJlbi4nLAogICdZb3UgbXVzdCBzZWxlY3QgdGVtcGxhdGUnID0+ICdVIG1vZXQgZWVuIHRlbXBsYXRlIHNlbGVjdGVyZW4nLAogICdZb3UgbXVzdCBzZXQgYXQgbGVhc3Qgb25lIHJ1bGUuJyA9PiAnVSBtb2V0IHRlbiBtaW5zdGUgw6nDqW4gcmVnZWwgaW5zdGVsbGVuLicsCiAgJ1lvdSBuZWVkIHRvIHNlbGVjdCBhdCBsZWFzdCBvbmUgaXRlbScgPT4gJ1UgbW9ldCB0ZW4gbWluc3RlIMOpw6luIGl0ZW0gc2VsZWN0ZXJlbi4nLAogICdZb3Ugbm8gbG9uZ2VyIGhhdmUgYWNjZXNzIHRvICMlcy4nID0+ICdVIGhlZWZ0IG5pZXQgbGFuZ2VyIHRvZWdhbmcgdG90ICMlcy4nLAogICdZb3Ugc3VyZT8nID0+ICdXZWV0IHUgaGV0IHpla2VyPycsCiAgJ1lvdVwndmUgY29uZmlybWVkIHlvdXIgZW1haWwgYWRkcmVzcyBhbmQgc3VjY2Vzc2Z1bGx5IGFjdGl2YXRlZCB5b3VyIGFjY291bnQuICBZb3UgbWF5IHByb2NlZWQgdG8gY2hlY2sgb24gcHJldmlvdXNseSBvcGVuZWQgdGlja2V0cyBvciBvcGVuIGEgbmV3IHRpY2tldC4nID0+ICdXZSBoZWJiZW4gamUgZW1haWxhZHJlcyBiZXZlc3RpZ2QgZW4gamUgYWNjb3VudCBzdWNjZXN2b2wgZ2VhY3RpdmVlcmQuIEplIGt1bnQgbnUgZG9vcmdhYW4gb20gZWVyZGVyIGdlb3BlbmRlIHRpY2tldHMgdGUgY29udHJvbGVyZW4gb2YgZWVuIG5pZXV3ZSB0aWNrZXQgdGUgb3BlbmVuLicsCiAgJ1lvdVwndmUgcmVhY2hlZCBtYXhpbXVtIGZhaWxlZCBsb2dpbiBhdHRlbXB0cyBhbGxvd2VkLicgPT4gJ0plIGhlYnQgaGV0IG1heGltYWxlIHRvZWdlc3RhYW4gbWlzbHVrdGUgaW5sb2dwb2dpbmdlbiBiZXJlaWt0LicsCiAgJ1lvdVwndmUgcmVhY2hlZCB0aGUgbWF4aW11bSBvcGVuIHRpY2tldHMgYWxsb3dlZC4nID0+ICdVIGhlYnQgZGUgbWF4aW1hbGUgdG9lZ2VzdGFuZSBvcGVuIHRpY2tldHMgYmVyZWlrdC4nLAogICdZb3VyIFN0YWZmIENvbnRyb2wgUGFuZWwnID0+ICdVdyBzdGFmZiBjb25maWd1cmF0aWVzY2hlcm0nLAogICdZb3VyIGJyb3dzZXIgaXMgbm90IHN1cHBvcnRlZCcgPT4gJ1V3IHdlYmJyb3dzZXIgd29yZHQgbmlldCBvbmRlcnN0ZXVuZCcsCiAgJ1lvdXIgZnJpZW5kbHkgc3VwcG9ydCBjZW50ZXInID0+ICdVdyBhZmRlbGluZyBzdXBwb3J0JywKICAnWW91ciBsb2NrIGlzIGV4cGlyaW5nIHNvb24uJyA9PiAnSmUgImxvY2siIHZlcmxvb3B0IGJpbm5lbmtvcnQuJywKICAnWW91ciBvc1RpY2tldCBVUkwnID0+ICdVdyBvc1RpY2tldCB1cmwgKHdlYmFkcmVzKScsCiAgJ1lvdXIgb3NUaWNrZXQgaW5zdGFsbGF0aW9uIGhhcyBiZWVuIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuIFlvdXIgbmV4dCBzdGVwIGlzIHRvIGZ1bGx5IGNvbmZpZ3VyZSB5b3VyIG5ldyBzdXBwb3J0IHRpY2tldCBzeXN0ZW0gZm9yIHVzZSwgYnV0IGJlZm9yZSB5b3UgZ2V0IHRvIGl0IHBsZWFzZSB0YWtlIGEgbWludXRlIHRvIGNsZWFudXAuJyA9PiAnVXcgb3NUaWNrZXQgaW5zdGFsbGF0aWUgaXMgc3VjY2Vzdm9sIGFmZ2Vyb25kLiBVdyB2b2xnZW5kZSBzdGFwIGlzIGhldCBjb25maWd1cmVyZW4gdmFuIHV3IHRpY2tldHN5c3RlZW0gdm9vciBnZWJydWlrLCBtYWFyIGVlcnN0IG1vZXRlbiB3ZSBldmVuIG9wc2Nob25lbi4nLAogICdZb3VyIHByaW1hcnkgYWRtaW5pc3RyYXRvciBhY2NvdW50IC0geW91IGNhbiBhZGQgbW9yZSB1c2VycyBsYXRlci4nID0+ICdVdyBwcmltYWlyZSBiZWhlZXJkZXJzIGFjb2N1bnQgLSB1IGt1bnQgZXIgbGF0ZXIgbWVlciBhY2NvdW50cyB0b2V2b2VnZW4uJywKICAnWW91ciBxdWVyeSBkaWQgbm90IG1hdGNoIGFueSByZWNvcmRzJyA9PiAnSmUgem9la29wZHJhY2h0IGhlZWZ0IGdlZW4gcmVzdWx0YWF0IG9wZ2VsZXZlcmQnLAogICdhIFNMQSBwbGFuJyA9PiAnZWVuIFNlcnZpY2Utb3ZlcmVlbmtvbXN0IChTTEEpJywKICAnYSBwbHVnaW4nID0+ICdlZW4gaW52b2VndG9lcGFzc2luZycsCiAgJ2EgdGVtcGxhdGUgc2V0JyA9PiAnZWVuIHNqYWJsb29uIHNldCcsCiAgJ2EgeWVhciBhZ28nID0+ICdlZW4gamFhciBnZWxlZGVuJywKICAnYWJvdXQgYSBtaW51dGUgYWdvJyA9PiAnZWVuIG1pbnV1dGplIGdlbGVkZW4nLAogICdhYm91dCBhIG1vbnRoIGFnbycgPT4gJ29uZ2V2ZWVyIGVlbiBtYWFuZCBnZWxlZGVuJywKICAnYWJvdXQgYW4gaG91ciBhZ28nID0+ICdvbmdldmVlciBlZW4gdXVyIGdlbGVkZW4nLAogICdhY3Rpb24tYnV0dG9uBE9wZW4nID0+ICdPcGVuJywKICAnYWRkZWQgPHN0cm9uZz4lMSRzPC9zdHJvbmc+JyA9PiAnPHN0cm9uZz4lMSRzPC9zdHJvbmc+IHRvZWdldm9lZ2QnLAogICdhZGRlZCA8c3Ryb25nPiUxJHM8L3N0cm9uZz4gYW5kIHJlbW92ZWQgPHN0cm9uZz4lMiRzPC9zdHJvbmc+JyA9PiAnPHN0cm9uZz4lMSRzPC9zdHJvbmc+IHRvZWdldm9lZ2QgZW4gPHN0cm9uZz4lMiRzPC9zdHJvbmc+IHZlcndpamRlcmQnLAogICdhZHZhbmNlZCcgPT4gJ0dlYXZhbmNlZXJkJywKICAnYWZ0ZXInID0+ICduYScsCiAgJ2FnZW50JyAuICJcMCIgLiAnYWdlbnRzJyA9PiAnbWVkZXdlcmtlcicgLiAiXDAiIC4gJ21lZGV3ZXJrZXJzJywKICAnYW4gQVBJIGtleScgPT4gJ2VlbiBBUEkgc2xldXRlbCcsCiAgJ2Fzc2lnbicgPT4gJ3RvZWtlbm5lbicsCiAgJ2Fzc2lnbmVkJyA9PiAndG9lZ2VrZW5kJywKICAnYXV0byBjbGFpbScgPT4gJ2F1dG9tYXRpc2NoIHRvZWtlbm5lbicsCiAgJ2JhbiBsaXN0JyA9PiAnYmxva2xpanN0JywKICAnYmFuIHJ1bGUnID0+ICdibG9rIHJlZ2VsJywKICAnYmVmb3JlJyA9PiAndm9vcmRhdCcsCiAgJ2JldHdlZW4nID0+ICd0dXNzZW4nLAogICdjYW5uZWQgcmVzcG9uc2UnID0+ICdpbmdlc2xvdGVuIHJlYWN0aWUnLAogICdjYXNlLWluc2Vuc2l0aXZlIGNvbXBhcmlzb24nID0+ICdob29mZGxldHRlcm9uZ2V2b2VsaWdlIHZlcmdlbGlqa2luZycsCiAgJ2NoYW5nZWQgZnJvbSA8c3Ryb25nPiUxJHM8L3N0cm9uZz4gdG8gPHN0cm9uZz4lMiRzPC9zdHJvbmc+JyA9PiAndmVyYW5kZXJkIHZhbiA8c3Ryb25nPiUxJHM8L3N0cm9uZz4gbmFhciA8c3Ryb25nPiUyJHM8L3N0cm9uZz4nLAogICdjaGFuZ2VkIHRvIDxzdHJvbmc+JTEkczwvc3Ryb25nPicgPT4gJ3ZlcmFuZGVyZCBuYWFyIDxzdHJvbmc+JTEkczwvc3Ryb25nPicsCiAgJ2NoZWNrZWQnID0+ICdhYW5nZXZpbmt0JywKICAnY2xhaW1lZCcgPT4gJ3RvZWdlw6tpZ2VuZCcsCiAgJ2NsZWFyJyA9PiAnd2lzc2VuJywKICAnY2xvc2VkJyA9PiAnY2xvc2VkJywKICAnY29udGFpbnMnID0+ICdiZXZhdCcsCiAgJ2NyZWF0ZWQnID0+ICdjcmVhdGVkJywKICAnY3Jvbi5waHAgb25seSBzdXBwb3J0cyBsb2NhbCBjcm9uIGNhbGxzIC0gdXNlIGh0dHAgLT4gYXBpL3Rhc2tzL2Nyb24nID0+ICdjcm9uLnBocCBvbmRlcnN0ZXVudCBhbGxlZW4gbG9jYWxlIGNyb24gYWFucm9lcGVuIC0gZ2VicnVpayBodHRwIC0+IGFwaS90YXNrcy9jcm9uJywKICAnY3VycmVudCcgPT4gJ2h1aWRpZ2UnLAogICdjdXN0b20gZm9ybScgPT4gJ2FhbmdlcGFzdCBmb3JtdWxpZXInLAogICdjdXN0b20gbGlzdCcgLiAiXDAiIC4gJ2N1c3RvbSBsaXN0cycgPT4gJ2FhbmdlcGFzdGUgbGlqc3QnIC4gIlwwIiAuICdhYW5nZXBhc3RlIGxpanN0ZW4nLAogICdjdXN0b20gbGlzdCBpdGVtcycgPT4gJ2FhbmdlcGFzdGUgbGlqc3QgaXRlbXMnLAogICdkZWZ1bmN0IOKAlCBtaXNzaW5nJyA9PiAnZGVmZWN0IC0gb250YnJlZWt0JywKICAnZGVsZXRlJyA9PiAndmVyd2lqZGVyZW4nLAogICdkZWxldGVkIHN1Y2Vzc2Z1bGx5JyA9PiAnc3VjY2Vzdm9sIHZlcndpamRlcmQnLAogICdkZXBhcnRtZW50JyAuICJcMCIgLiAnZGVwYXJ0bWVudHMnID0+ICdhZmRlbGluZycgLiAiXDAiIC4gJ2FmZGVsaW5nZW4nLAogICdkb2VzIG5vdCBoYXZlIGEgdmFsdWUnID0+ICdoZWVmdCBnZWVuIHdhYXJkZScsCiAgJ2RvZXMgbm90IGluY2x1ZGUnID0+ICdiZXZhdCBuaWV0L2dlZW4nLAogICdlLmcuJyA9PiAnby5hLicsCiAgJ2UuZy4gMDUxMjQzJyA9PiAnYmlqdi4gMDUxMjQzJywKICAnZS5nLiBKb2huIERvZSwgam9obi5kb2VAb3N0aWNrZXQuY29tJyA9PiAnYmlqdi4gTWFhcnRlbiBWZXJtZWlqLCBtYWFydGVuQHZvb3JiZWVsZC5ubCcsCiAgJ2UuZy4gTXkgTG9jYXRpb24sIE1ZJyA9PiAnYnZiLiBNaWpuIGxvY2F0aWUsIE5MJywKICAnZS5nLiBqb2huLmRvZUBvc3RpY2tldC5jb20nID0+ICdiaWp2LiBqYW4uamFuc3NlbkBvc3RpY2tldC5jb20nLAogICdlLmcuIG1lQG15Y29tcGFueS5jb20nID0+ICdiaWp2LiBwaWV0QHNub3QubmwnLAogICdlbWFpbCcgLiAiXDAiIC4gJ2VtYWlscycgPT4gJ2VtYWlsJyAuICJcMCIgLiAnZW1haWxzJywKICAnZW1haWwgbWVzc2FnZSB0byBzZW5kLicgPT4gJ1RlIHZlcnplbmRlbiBlLW1haWxiZXJpY2h0JywKICAnZW5hYmxlIGhlcmUnID0+ICdzY2hha2VsIGhpZXIgaW4nLAogICdlbmQgdXNlcicgLiAiXDAiIC4gJ2VuZCB1c2VycycgPT4gJ2VpbmRnZWJydWlrZXInIC4gIlwwIiAuICdlaW5kZ2VicnVpa2VycycsCiAgJ2VuZCB1c2VyIGFjY291bnQnID0+ICdlaW5kZ2VicnVpa2Vyc2FjY291bnQnLAogICdleHRlcm5hbCBJRCcgPT4gJ2V4dGVybmUgSUQnLAogICdmYWlsZWQgbG9naW4gYXR0ZW1wdChzKSBhbGxvd2VkIGJlZm9yZSBhIGxvY2stb3V0IGlzIGVuZm9yY2VkJyA9PiAnYWFudGFsIGZvdXRpZXZlIGlubG9ncG9naW5nZW4gYWx2b3JlbnMgZWVuIGJsb2trYWRlIHBsYWF0c3ZpbmR0JywKICAnZmllbGRzIGF2YWlsYWJsZSB3aGVyZSB0aGlzIGZvcm0gaXMgdXNlZCcgPT4gJ1ZlbGRlbiBiZXNjaGlrYmFhciB3YWFyIGRpdCBmb3JtdWxpZXIgd29yZHQgZ2VicnVpa3QnLAogICdmaWx0ZXInIC4gIlwwIiAuICdmaWx0ZXJzJyA9PiAnZmlsdGVyJyAuICJcMCIgLiAnZmlsdGVycycsCiAgJ2Zvcm0nIC4gIlwwIiAuICdmb3JtcycgPT4gJ2Zvcm11bGllcicgLiAiXDAiIC4gJ2Zvcm11bGllcmVuJywKICAnaGFzIGEgdmFsdWUnID0+ICdoZWVmdCBlZW4gd2FhcmRlJywKICAnaGVscCB0b3BpYycgLiAiXDAiIC4gJ2hlbHAgdG9waWNzJyA9PiAnaGVscCBvbmRlcndlcnAnIC4gIlwwIiAuICdoZWxwIG9uZGVyd2VycGVuJywKICAnaWYgcHVibGljJyA9PiAnaW5nZXZhbCBwdWJsaWVrJywKICAnaWYgc2V0JyA9PiAnaW5kaWVuIGluZ2VzdGVsZCcsCiAgJ2luICVkIGRheXMnID0+ICdvdmVyICVkIGRhZyhlbiknLAogICdpbiAlZCBob3VycycgPT4gJ292ZXIgJWQgdXVyJywKICAnaW4gJWQgbWludXRlcycgPT4gJ292ZXIgJWQgbWludXRlbicsCiAgJ2luICVkIG1vbnRocycgPT4gJ292ZXIgJWQgbWFhbmQoZW4pJywKICAnaW4gJWQgc2Vjb25kcycgPT4gJ292ZXIgJWQgc2Vjb25kZW4nLAogICdpbiAlZCB5ZWFycycgPT4gJ292ZXIgJWQgamFhcicsCiAgJ2luIGEgeWVhcicgPT4gJ292ZXIgZWVuIGphYXInLAogICdpbiBhYm91dCBhIG1pbnV0ZScgPT4gJ292ZXIgb25nZXZlZXIgZWVuIG1pbnV1dCcsCiAgJ2luIGFib3V0IGEgbW9udGgnID0+ICdvdmVyIG9uZ2V2ZWVyIGVlbiBtYWFuZCcsCiAgJ2luIGFib3V0IGFuIGhvdXInID0+ICdvdmVyIG9uZ2V2ZWVyIGVlbiB1dXInLAogICdpbiBob3VycycgPT4gJ2luIHVyZW4nLAogICdpbiB0aGUgbGFzdCBuIGRheXMnID0+ICdpbiBkZSBsYWF0c3RlIG4gZGFnZW4nLAogICdpbiB0aGUgbmV4dCBuIGRheXMnID0+ICdpbiBkZSB2b2xnZW5kZSBuIGRhZ2VuJywKICAnaW5jbHVkZXMnID0+ICdiZXZhdCcsCiAgJ2luc3RhbmNlcycgPT4gJ2luc3RhbnRpZXMnLAogICdpbnRlcm5hbCBJRCcgPT4gJ2ludGVybmUgSUQnLAogICdpcycgPT4gJ2lzJywKICAnaXMgbm90JyA9PiAnaXMgbmlldCcsCiAgJ2pvaG4uZG9lQG9zdGlja2V0LmNvbScgPT4gJ01hYXJ0ZW4udmVybWVpakB2b29yYmVlbGQubmwnLAogICdqdXN0IG5vdycgPT4gJ29ubGFuZ3MnLAogICdsaW5rZWQnID0+ICdsaW5rZWQnLAogICdsaXN0IGl0ZW0nIC4gIlwwIiAuICdsaXN0IGl0ZW1zJyA9PiAnbGlqc3Qgb25kZXJ3ZXJwJyAuICJcMCIgLiAnbGlqc3Qgb25kZXJ3ZXJwZW4nLAogICdsb2cgZW50cnknID0+ICdvcG5lbWVuIGluIGxvZ2JvZWsnLAogICdsb2dpbiBmYWlsZWQnID0+ICdJbmxvZ2dlbiBtaXNsdWt0JywKICAnbWF0Y2hlcycgPT4gJ2tvbXQgb3ZlcmVlbiBtZXQnLAogICdtZXJnZWQnID0+ICdtZXJnZWQnLAogICdtZXNzYWdlIHRlbXBsYXRlJyA9PiAnYmVyaWNodCBzamFibG9vbicsCiAgJ21pbnV0ZXMnID0+ICdtaW51dGVuJywKICAnbWludXRlcyBsb2NrZWQgb3V0JyA9PiAnbWludXRlbiBibG9ra2FkZSAoYWFudGFsKScsCiAgJ21pc3NpbmchJyA9PiAnbWlzc2VuZCEnLAogICdtb2R1bGUgbG9hZGVkJyA9PiAnbW9kdWxlIGdlbGFkZW4nLAogICduZXZlcicgPT4gJ25vb2l0JywKICAnbmV4dCcgPT4gJ3ZvbGdlbmRlJywKICAnbm90IG9uJyA9PiAnbmlldCBhYW4nLAogICdub3QgcmVjb21tZW5kZWQnID0+ICduaWV0IGFhbmJldm9sZW4nLAogICdub3cnID0+ICdudScsCiAgJ29uJyA9PiAnYWFuJywKICAnb25lIEFQSSBrZXknID0+ICfDqcOpbiBBUEkgc2xldXRlbCcsCiAgJ29uZSBTTEEgcGxhbicgPT4gJzEgc2VydmljZW92ZXJlZW5rb21zdCAoU0xBKScsCiAgJ29uZSBhZ2VudCcgPT4gJzEgYWdlbnQnLAogICdvbmUgY2FubmVkIHJlc3BvbnNlJyA9PiAnMSBpbmdlc2xvdGVuIHJlYWN0aWUnLAogICdvbmUgY2F0ZWdvcnknID0+ICcxIGNhdGVnb3JpZScsCiAgJ29uZSBjdXN0b20gZm9ybScgPT4gJ0XDqW4gYWFuZ2VwYXN0IGZvcm11bGllcicsCiAgJ29uZSBjdXN0b20gbGlzdCcgPT4gJ8Opw6luIGFhbmdlcGFzdGUgbGlqc3QnLAogICdvbmUgZGVwYXJ0bWVudCcgPT4gJzEgYWZkZWxpbmcnLAogICdvbmUgZW1haWwnID0+ICcxIGUtbWFpbGJlcmljaHQnLAogICdvbmUgZW5kIHVzZXInID0+ICcxIGVpbmRnZWJydWlrZXInLAogICdvbmUgaGVscCB0b3BpYycgPT4gJ8Opw6luIGhlbHAgb25kZXJ3ZXJwJywKICAnb25lIGxvZyBlbnRyeScgPT4gJ8Opw6luIGxvZ2JvZWt2ZXJtZWxkaW5nJywKICAnb25lIG9yZ2FuaXphdGlvbicgPT4gJ8Opw6luIG9yZ2FuaXNhdGllJywKICAnb25lIHBsdWdpbicgPT4gJzEgaW52b2VndG9lcGFzc2luZycsCiAgJ29uZSByb2xlJyA9PiAnw6nDqW4gcm9sJywKICAnb25lIHNpdGUgcGFnZScgPT4gJzEgd2Vic2l0ZScsCiAgJ29uZSB0YXNrJyA9PiAnw6nDqW4gdGFhaycsCiAgJ29uZSB0ZWFtJyA9PiAnMSB0ZWFtJywKICAnb25lIHRlbXBsYXRlIHNldCcgPT4gJzEgc2phYmxvb24gc2V0JywKICAnb25lIHRpY2tldCcgPT4gJ8Opw6luIHRpY2tldCcsCiAgJ29uZSB0aWNrZXQgZmlsdGVyJyA9PiAnw6nDqW4gdGlja2V0IGZpbHRlcicsCiAgJ29yICVzIHJlZ2lzdGVyIGZvciBhbiBhY2NvdW50ICVzIGZvciB0aGUgYmVzdCBleHBlcmllbmNlIG9uIG91ciBoZWxwIGRlc2suJyA9PiAnb2YgJXMgcmVnaXN0cmVlciBlZW4gYWNjb3VudCAlcyB2b29yIGRlIHByZXR0aWdzdGUgZXJ2YXJpbmcgbWV0IG9uemUgaGVscGRlc2suJywKICAnb3IgJXMgcmVnaXN0ZXIgZm9yIGFuIGFjY291bnQgJXMgdG8gYWNjZXNzIGFsbCB5b3VyIHRpY2tldHMuJyA9PiAnb2YgJXMgbWFhayBlZW4gYWNjb3VudCBhYW4gJXMgdm9vciB0b2VnYW5nIHRvdCBhbCB1dyB0aWNrZXRzLicsCiAgJ29yZ2FuaXphdGlvbnMnID0+ICdvcmdhbmlzYXRpZXMnLAogICdvc1RpY2tldCAlcycgPT4gJ29zVGlja2V0ICVzJywKICAnb3NUaWNrZXQgOjogQWRtaW4gQ29udHJvbCBQYW5lbCcgPT4gJ29zVGlja2V0IDo6IEJlaGVlciBtZW51JywKICAnb3NUaWNrZXQgOjogU3RhZmYgQ29udHJvbCBQYW5lbCcgPT4gJ01lZGV3ZXJrZXJzIEJlaGVlciBzY2hlcm0nLAogICdvc1RpY2tldCBBbGVydHMnID0+ICdvc1RpY2tldCBBbGVydHMnLAogICdvc1RpY2tldCBCYXNpYyBJbnN0YWxsYXRpb24nID0+ICdvc1RpY2tldCBzdGFuZGFhcmQgaW5zdGFsbGF0aWUnLAogICdvc1RpY2tldCBGb3J1bXMnID0+ICdvc1RpY2tldCBGb3J1bXMnLAogICdvc1RpY2tldCBJbnN0YWxsZXInID0+ICdvc1RpY2tldCBpbnN0YWxsYXRpZWFzc2lzdGVudCcsCiAgJ29zVGlja2V0IFRlYW0uJyA9PiAnaGV0IG9zdGlja2V0IFRlYW0uJywKICAnb3NUaWNrZXQgVXBncmFkZXInID0+ICdPc1RpY2tldCB1cGdyYWRlcicsCiAgJ29zVGlja2V0IFZlcnNpb24nID0+ICdvc1RpY2tldCB2ZXJzaWUnLAogICdvc1RpY2tldCBpbnN0YWxsYXRpb24gaGFzIGJlZW4gY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4nID0+ICdkZSBpbnN0YWxsYXRpZSB2YW4gb3NUaWNrZXQgaXMgc3VjY2Vzdm9sIGFmZ2Vyb25kLicsCiAgJ29zVGlja2V0IGluc3RhbGxlciByZXF1aXJlcyBhYmlsaXR5IHRvIHdyaXRlIHRvIHRoZSBjb25maWd1cmF0aW9uIGZpbGUgJXMnID0+ICdoZXQgb3NUaWNrZXQgaW5zdGFsbGF0aWVwcm9ncmFtbWEgdmVyZWlzdCBkZSBtb2dlbGlqa2hlaWQgb20gdGUgc2NocmlqdmVuIG5hYXIgaGV0IGluc3RlbGxpbmdlbmJlc3RhbmQgJXMnLAogICdvc1RpY2tldCBpbnN0YWxsZXIgcmVxdWlyZXMgYWJpbGl0eSB0byB3cml0ZSB0byB0aGUgY29uZmlndXJhdGlvbiBmaWxlLCA8Yj5pbmNsdWRlL29zdC1jb25maWcucGhwPC9iPi4gQSB0ZW1wbGF0ZSBjb3B5IGlzIGxvY2F0ZWQgaW4gdGhlIGluY2x1ZGUgZGlyZWN0b3J5ICg8Yj5pbmNsdWRlL29zdC1zYW1wbGVjb25maWcucGhwPC9iPikuJyA9PiAnaGV0IG9zVGlja2V0LWluc3RhbGxhdGllcHJvZ3JhbW1hIGJlaG9lZnQgZGUgbW9nZWxpamtoZWlkIG9tIGhldCBjb25maWd1cmF0aWViZXN0YW5kIHRlIGJlc2NocmlqdmVuLCA8Yj5pbmNsdWRlL29zdC1jb25maWcucGhwPC9iPi4gRWVuIGluaXRpZWxlIHZlcnNpZSBzdGFhdCBpbiBkZSBpbmNsdWRlIGRpcmVjdG9yeSAoPGI+aW5jbHVkZS9vc3Qtc2FtcGxlY29uZmlnLnBocDwvYj4pLicsCiAgJ29zVGlja2V0IGlzIGFscmVhZHkgaW5zdGFsbGVkPycgPT4gJ2lzIG9zVGlja2V0IHJlZWRzIGdlaW5zdGFsbGVlcmQ/JywKICAnb3NUaWNrZXQgaXMgaGF2aW5nIHRyb3VibGUgZmV0Y2hpbmcgZW1haWxzIGZyb20gdGhlIGZvbGxvd2luZyBtYWlsIGFjY291bnQnID0+ICdvc1RpY2tldCBoZWVmdCBwcm9ibGVtZW4gbWV0IGhldCBvcGhhbGVuIHZhbiBlLW1haWxzIHZhbiBoZXQgdm9sZ2VuZGUgZS1tYWlsYWNjb3VudCcsCiAgJ29zVGlja2V0IHJlcXVpcmVzIE15U1FMICVzIG9yIGxhdGVyIScgPT4gJ29zVGlja2V0IHZlcmVpc3QgTXlTUUwgJXMgb2YgaG9nZXIhJywKICAnb3NUaWNrZXQgcmVxdWlyZXMgdGFibGUgcHJlZml4IGluIG9yZGVyIHRvIGF2b2lkIHBvc3NpYmxlIHRhYmxlIGNvbmZsaWN0cyBpbiBhIHNoYXJlZCBkYXRhYmFzZS4nID0+ICdvc1RpY2tldCB2ZXJlaXN0IGVlbiB0YWJlbCB2b29ydm9lZ3NlbCAocHJlZml4KSBvbSBldmVudHVlbGUgdGFiZWwgY29uZmxpY3RlbiBpbiBlZW4gZ2VkZWVsZGUgZGF0YWJhc2UgdGUgdm9vcmtvbWVuLicsCiAgJ29zVGlja2V0XCdzIGJhc2UgdXJsIChGUUROKScgPT4gJ29zVGlja2V0XCdzIGJhc2lzIHVybCAoRlFETiknLAogICdwZXIgZW5kIHVzZXInID0+ICdwZXIgZWluZGdlYnJ1aWtlcicsCiAgJ3BlciBwYWdlLicgPT4gJ3BlciBwYWdpbmEuJywKICAncGVyaW9kJyA9PiAncGVyaW9kZScsCiAgJ3BpcGUucGhwIG9ubHkgc3VwcG9ydHMgbG9jYWwgcGlwaW5nIC0gdXNlIGh0dHAgLT4gYXBpL3RpY2tldHMuZW1haWwnID0+ICdwaXBlLnBocCBvbmRlcnN0ZXVudCBhbGxlZW4gbG9jYWxlIHBpcGluZyAtIGdlYnJ1aWsgaHR0cCAtPiBhcGkvdGlja2V0cy5lbWFpbCcsCiAgJ3BsdWdpbicgLiAiXDAiIC4gJ3BsdWdpbnMnID0+ICdwbHVnaW4gKHVpdGJyZWlkaW5nKScgLiAiXDAiIC4gJ3BsdWdpbnMgKHVpdGJyZWlkaW5nZW4pJywKICAncHJlbWFkZSByZXNwb25zZScgLiAiXDAiIC4gJ3ByZW1hZGUgcmVzcG9uc2VzJyA9PiAndm9vcmFmIGdlZGVmaW5pw6tlcmRlIGFudHdvb3JkJyAuICJcMCIgLiAnc3RhbmRhYXJkIGFudHdvb3JkZW4nLAogICdwcm9jZXNzJyA9PiAndmVyd2Vya2VuJywKICAncHJvcGVydGllcyBkZWZpbmFibGUgZm9yIGVhY2ggaXRlbScgPT4gJ3RlIGRlZmluaWVyZW4gZWlnZW5zY2hhcHBlbiB2b29yIGVsayBwdW50JywKICAncXVldWUnID0+ICdyaWonLAogICdxdWV1ZS1uYW1lBE9wZW4nID0+ICdPcGVuJywKICAncmVjb21tZW5kZWQgZm9yIGFsbCBpbnN0YWxsYXRpb25zJyA9PiAnYWFuYmV2b2xlbiB2b29yIGFsbGUgaW5zdGFsbGF0aWVzJywKICAncmVjb21tZW5kZWQgZm9yIGltcHJvdmVkIGxvY2FsaXphdGlvbicgPT4gJ2FhbmJldm9sZW4gdm9vciB2ZXJiZXRlcmRlIHJlZ2lvbmFsZSBpbnN0ZWxsaW5nZW4nLAogICdyZWNvbW1lbmRlZCBmb3IgcGx1Z2lucyBhbmQgbGFuZ3VhZ2UgcGFja3MnID0+ICdhYW5iZXZvbGVuIHZvb3IgaW52b2VndG9lcGFzc2luZ2VuIGVuIHRhYWxwYWtldHRlbicsCiAgJ3JlZmVycmVkJyA9PiAncmVmZXJyZWQnLAogICdyZW1vdmVkIDxzdHJvbmc+JTEkczwvc3Ryb25nPicgPT4gJzxzdHJvbmc+JTEkczwvc3Ryb25nPiB2ZXJ3aWpkZXJkJywKICAncmVvcGVuJyA9PiAnaGVyLW9wZW4nLAogICdyZW9wZW5lZCcgPT4gJ3Jlb3BlbmVkJywKICAncm9sZScgLiAiXDAiIC4gJ3JvbGVzJyA9PiAncm9sJyAuICJcMCIgLiAncm9sbGVuJywKICAnc2VlIG5hbWUgZXhwYW5zaW9uJyA9PiAnWmllIG5hYW0gdWl0YnJlaWRpbmcnLAogICdzZWxlY3RlZCcgPT4gJ2dlc2VsZWN0ZWVyZCcsCiAgJ3NlbGVjdGVkIEFQSSBrZXknIC4gIlwwIiAuICdzZWxlY3RlZCBBUEkga2V5cycgPT4gJ2dlc2VsZWN0ZWVyZGUgQVBJLXNsZXV0ZWwnIC4gIlwwIiAuICdnZXNlbGVjdGVlcmRlIEFQSSBzbGV1dGVscycsCiAgJ3NlbGVjdGVkIFNMQSBwbGFuJyAuICJcMCIgLiAnc2VsZWN0ZWQgU0xBIHBsYW5zJyA9PiAnZ2VzZWxlY3RlZXJkZSBTTEEnIC4gIlwwIiAuICdnZXNlbGVjdGVlcmRlIFNMQVwncycsCiAgJ3NlbGVjdGVkIGFnZW50JyAuICJcMCIgLiAnc2VsZWN0ZWQgYWdlbnRzJyA9PiAnZ2VzZWxlY3RlZXJkZSBhZ2VudCcgLiAiXDAiIC4gJ2dlc2VsZWN0ZWVyZGUgYWdlbnRlbicsCiAgJ3NlbGVjdGVkIGJhbiBydWxlJyAuICJcMCIgLiAnc2VsZWN0ZWQgYmFuIHJ1bGVzJyA9PiAnZ2VzZWxlY3RlZXJkZSBibG9ra2FkZSByZWdlbCcgLiAiXDAiIC4gJ2dlc2VsZWN0ZWVyZGUgYmxva2thZGUgcmVnZWxzJywKICAnc2VsZWN0ZWQgY2FubmVkIHJlc3BvbnNlJyAuICJcMCIgLiAnc2VsZWN0ZWQgY2FubmVkIHJlc3BvbnNlcycgPT4gJ2dlc2VsZWN0ZWVyZGUgdm9vcmdlZGVmaW5lZXJkZSBhbnR3b29yZCcgLiAiXDAiIC4gJ2dlc2VsZWN0ZWVyZGUgdm9vcmdlZGVmaW5lZXJkZSBhbnR3b29yZGVuJywKICAnc2VsZWN0ZWQgY2F0ZWdvcnknIC4gIlwwIiAuICdzZWxlY3RlZCBjYXRlZ29yaWVzJyA9PiAnR2VzZWxlY3RlZXJkZSBjYXRlZ29yaWUnIC4gIlwwIiAuICdHZXNlbGVjdGVlcmRlIGNhdGVnb3JpZcOrbicsCiAgJ3NlbGVjdGVkIGN1c3RvbSBmb3JtJyAuICJcMCIgLiAnc2VsZWN0ZWQgY3VzdG9tIGZvcm1zJyA9PiAnZ2VzZWxlY3RlZXJkIGFhbmdlcGFzdCBmb3JtdWxpZXInIC4gIlwwIiAuICdnZXNlbGVjdGVlcmRlIGFhbmdlcGFzdGUgZm9ybXVsaWVyZW4nLAogICdzZWxlY3RlZCBjdXN0b20gbGlzdCcgLiAiXDAiIC4gJ3NlbGVjdGVkIGN1c3RvbSBsaXN0cycgPT4gJ2dlc2VsZWN0ZWVyZGUgYWFuZ2VwYXN0ZSBsaWpzdCcgLiAiXDAiIC4gJ2dlc2VsZWN0ZWVyZGUgcGVyc29vbmxpamtlIGxpanN0ZW4nLAogICdzZWxlY3RlZCBkZXBhcnRtZW50JyAuICJcMCIgLiAnc2VsZWN0ZWQgZGVwYXJ0bWVudHMnID0+ICdnZXNlbGVjdGVlcmRlIGFmZGVsaW5nJyAuICJcMCIgLiAnZ2VzZWxlY3RlZXJkZSBhZmRlbGluZycsCiAgJ3NlbGVjdGVkIGVtYWlsJyAuICJcMCIgLiAnc2VsZWN0ZWQgZW1haWxzJyA9PiAnZ2VzZWxlY3RlZXJkZSBlbWFpbCcgLiAiXDAiIC4gJ2dlc2VsZWN0ZWVyZGUgZS1tYWlscycsCiAgJ3NlbGVjdGVkIGVuZCB1c2VyJyAuICJcMCIgLiAnc2VsZWN0ZWQgZW5kIHVzZXJzJyA9PiAnZ2VzZWxlY3RlZXJkZSBlaW5kZ2VicnVpa2VyJyAuICJcMCIgLiAnZ2VzZWxlY3RlZXJkZSBlaW5kZ2VicnVpa2VycycsCiAgJ3NlbGVjdGVkIGZpbHRlcicgLiAiXDAiIC4gJ3NlbGVjdGVkIGZpbHRlcnMnID0+ICdnZXNlbGVjdGVlcmRlIGZpbHRlcicgLiAiXDAiIC4gJ2dlc2VsZWN0ZWVyZGUgZmlsdGVycycsCiAgJ3NlbGVjdGVkIGhlbHAgdG9waWMnIC4gIlwwIiAuICdzZWxlY3RlZCBoZWxwIHRvcGljcycgPT4gJ2dlc2VsZWN0ZWVyZGUgaGVscCBvbmRlcndlcnAnIC4gIlwwIiAuICdnZXNlbGVjdGVlcmRlIGhlbHAgb25kZXJ3ZXJwZW4nLAogICdzZWxlY3RlZCBpbWFnZScgLiAiXDAiIC4gJ3NlbGVjdGVkIGltYWdlcycgPT4gJ2dlc2VsZWN0ZWVyZGUgYWZiZWVsZGluZycgLiAiXDAiIC4gJ2dlc2VsZWN0ZWVyZGUgYWZiZWVsZGluZ2VuJywKICAnc2VsZWN0ZWQgbG9nIGVudHJ5JyAuICJcMCIgLiAnc2VsZWN0ZWQgbG9nIGVudHJpZXMnID0+ICdnZXNlbGVjdGVlcmRlIGxvZ3JlZ2VsJyAuICJcMCIgLiAnZ2VzZWxlY3RlZXJkZSBsb2dyZWdlbHMnLAogICdzZWxlY3RlZCBwbHVnaW4nIC4gIlwwIiAuICdzZWxlY3RlZCBwbHVnaW5zJyA9PiAnZ2VzZWxlY3RlZXJkZSBwbHVnaW4nIC4gIlwwIiAuICdnZXNlbGVjdGVlcmRlIHBsdWdpbnMnLAogICdzZWxlY3RlZCByb2xlJyAuICJcMCIgLiAnc2VsZWN0ZWQgcm9sZXMnID0+ICdHZXNlbGVjdGVlcmRlIHJvbCcgLiAiXDAiIC4gJ3NlbGVjdGVlciByb2xsZW4nLAogICdzZWxlY3RlZCBzaXRlIHBhZ2UnIC4gIlwwIiAuICdzZWxlY3RlZCBzaXRlIHBhZ2VzJyA9PiAnZ2VzZWxlY3RlZXJkZSB3ZWJzaXRlLXBhZ2luYScgLiAiXDAiIC4gJ2dlc2VsZWN0ZWVyZGUgd2Vic2l0ZS1wYWdpbmFcJ3MnLAogICdzZWxlY3RlZCB0YXNrJyAuICJcMCIgLiAnc2VsZWN0ZWQgdGFza3MnID0+ICdnZXNlbGVjdGVlcmRlIHRhYWsnIC4gIlwwIiAuICdnZXNlbGVjdGVlcmRlIHRha2VuJywKICAnc2VsZWN0ZWQgdGVhbScgLiAiXDAiIC4gJ3NlbGVjdGVkIHRlYW1zJyA9PiAnZ2VzZWxlY3RlZXJkZSB0ZWFtJyAuICJcMCIgLiAnZ2VzZWxlY3RlZXJkZSB0ZWFtcycsCiAgJ3NlbGVjdGVkIHRlbXBsYXRlIHNldCcgLiAiXDAiIC4gJ3NlbGVjdGVkIHRlbXBsYXRlIHNldHMnID0+ICdnZXNlbGVjdGVlcmRlIHNqYWJsb29uc2V0JyAuICJcMCIgLiAnZ2VzZWxlY3RlZXJkZSBzamFibG9vbnNldHMnLAogICdzZWxlY3RlZCB0aWNrZXQnIC4gIlwwIiAuICdzZWxlY3RlZCB0aWNrZXRzJyA9PiAnZ2VzZWxlY3RlZXJkIHRpY2tldCcgLiAiXDAiIC4gJ2dlc2VsZWN0ZWVyZGUgdGlja2V0cycsCiAgJ3NlbGVjdGVkIHRpY2tldCBmaWx0ZXInIC4gIlwwIiAuICdzZWxlY3RlZCB0aWNrZXQgZmlsdGVycycgPT4gJ2dlc2VsZWN0ZWVyZCB0aWNrZXQgZmlsdGVyJyAuICJcMCIgLiAnZ2VzZWxlY3RlZXJkZSB0aWNrZXQgZmlsdGVycycsCiAgJ3NlbGVjdGVkIHVzZXInIC4gIlwwIiAuICdzZWxlY3RlZCB1c2VycycgPT4gJ2dlc2VsZWN0ZWVyZGUgZ2VicnVpa2VyJyAuICJcMCIgLiAnZ2VzZWxlY3RlZXJkZSBnZWJydWlrZXJzJywKICAnc2V0IHRvIDxzdHJvbmc+JTIkczwvc3Ryb25nPicgPT4gJ3ZlcmFuZGVyZCBuYWFyIDxzdHJvbmc+JTIkczwvc3Ryb25nPicsCiAgJ3Nob3cgJXMgcmVjb3JkcycgPT4gJyVzIHJlY29yZHMgd2VlcmdldmVuJywKICAnc2lnbiBpbiBoZXJlJyA9PiAnaGllciBpbmxvZ2dlbicsCiAgJ3NpdGUgcGFnZScgLiAiXDAiIC4gJ3NpdGUgcGFnZXMnID0+ICd3ZWJzaXRlIHBhZ2luYScgLiAiXDAiIC4gJ3dlYnNpdGUgcGFnaW5hXCdzJywKICAnc3RhdHVzJyA9PiAnc3RhdHVzJywKICAnc3VjY2Vzc2Z1bGx5JyA9PiAnc3VjY2Vzc3ZvbCcsCiAgJ3N5c3RlbSBkZWZhdWx0JyA9PiAnc3lzdGVlbXN0YW5kYWFyZCcsCiAgJ3Rhc2snIC4gIlwwIiAuICd0YXNrcycgPT4gJ3RhYWsnIC4gIlwwIiAuICd0YWtlbicsCiAgJ3RlYW0nIC4gIlwwIiAuICd0ZWFtcycgPT4gJ3RlYW0nIC4gIlwwIiAuICd0ZWFtcycsCiAgJ3RlbXBsYXRlJyAuICJcMCIgLiAndGVtcGxhdGVzJyA9PiAnc2xhYmxvb24nIC4gIlwwIiAuICdzbGFibG9uZW4nLAogICd0ZW1wbGF0ZSBzZXQnID0+ICdzamFibG9vbiBzZXQnLAogICd0aGUgYWdlbnQnID0+ICdkZSBtZWRld2Vya2VyJywKICAndGhlIHRlYW0nID0+ICdoZXQgdGVhbScsCiAgJ3RoaXMgQVBJIGtleScgPT4gJ2RlemUgQVBJIHNsZXV0ZWwnLAogICd0aGlzIEZBUSBhcnRpY2xlJyA9PiAnZGl0IEZBUSBhcnRpa2VsJywKICAndGhpcyBTTEEgcGxhbicgPT4gJ0RpdCBTTEEgcGxhbicsCiAgJ3RoaXMgYWdlbnQnID0+ICdkZXplIG1lZGV3ZXJrZXInLAogICd0aGlzIGJhbiBydWxlJyA9PiAnZGV6ZSBibG9rcmVnZWwnLAogICd0aGlzIGNhbm5lZCByZXNwb25zZScgPT4gJ2RlemUgaW5nZWJsaWt0ZSByZWFjdGllJywKICAndGhpcyBjYXRlZ29yeScgPT4gJ2RlemUgY2F0ZWdvcmllJywKICAndGhpcyBjdXN0b20gZm9ybScgPT4gJ2RpdCBhYW5nZXBhc3RlIGZvcm11bGllcicsCiAgJ3RoaXMgY3VzdG9tIGxpc3QnID0+ICdkZXplIGFhbmdlcGFzdGUgbGlqc3QnLAogICd0aGlzIGRlcGFydG1lbnQnID0+ICdkZXplIGFmZGVsaW5nJywKICAndGhpcyBlbWFpbCcgPT4gJ2RlemUgbWFpbCcsCiAgJ3RoaXMgZW5kIHVzZXInID0+ICdkZXplIGVpbmRnZWJydWlrZXInLAogICd0aGlzIGhlbHAgdG9waWMnID0+ICdEaXQgaGVscC1vbmRlcndlcnAnLAogICd0aGlzIG1lc3NhZ2UgdGVtcGxhdGUnID0+ICdkaXQgYmVyaWNodCBzamFibG9vbicsCiAgJ3RoaXMgcm9sZScgPT4gJ2RlemUgcm9sJywKICAndGhpcyBzaXRlIHBhZ2UnID0+ICdkZXplIHdlYnBhZ2luYScsCiAgJ3RoaXMgdGFzaycgPT4gJ2RlemUgdGFhaycsCiAgJ3RoaXMgdGVhbScgPT4gJ2RpdCB0ZWFtJywKICAndGhpcyB0ZW1wbGF0ZScgPT4gJ2RpdCBzamFibG9vbicsCiAgJ3RoaXMgdGVtcGxhdGUgc2V0JyA9PiAnZGV6ZSB0ZW1wbGF0ZSBzZXQnLAogICd0aGlzIHRpY2tldCcgPT4gJ2RpdCB0aWNrZXQnLAogICd0aGlzIHRpY2tldCBmaWx0ZXInID0+ICdkaXQgdGlja2V0IGZpbHRlcicsCiAgJ3RpY2tldCcgLiAiXDAiIC4gJ3RpY2tldHMnID0+ICd0aWNrZXQnIC4gIlwwIiAuICd0aWNrZXRzJywKICAndGlja2V0IGZpbHRlcicgPT4gJ3RpY2tldCBmaWx0ZXInLAogICd0aWNrZXQgc3RhdGUgYWN0aW9uBEFyY2hpdmUnID0+ICdBcmNoaWVmJywKICAndGlja2V0IHN0YXRlIGFjdGlvbgRDbG9zZScgPT4gJ1NsdWl0ZW4nLAogICd0aWNrZXQgc3RhdGUgYWN0aW9uBERlbGV0ZScgPT4gJ1ZlcndpamRlcmVuJywKICAndGlja2V0IHN0YXRlIGFjdGlvbgRPcGVuJyA9PiAnT3BlbicsCiAgJ3RpY2tldCBzdGF0ZSBuYW1lBEFyY2hpdmVkJyA9PiAnR2VhcmNoaXZlZXJkJywKICAndGlja2V0IHN0YXRlIG5hbWUEQ2xvc2VkJyA9PiAnR2VzbG90ZW4nLAogICd0aWNrZXQgc3RhdGUgbmFtZQREZWxldGVkJyA9PiAnVmVyd2lqZGVyZCcsCiAgJ3RpY2tldCBzdGF0ZSBuYW1lBE9wZW4nID0+ICdPcGVuJywKICAndG8gYSBUZWFtJyA9PiAnYWFuIGVlbiB0ZWFtJywKICAndG8gYW4gQWdlbnQnID0+ICdhYW4gZWVuIGFnZW50JywKICAndG8gYXJjaGl2ZS9kZWxldGUgdGlja2V0cycgPT4gJ29tIHRpY2tldHMgdGUgYXJjaGl2ZXJlbiBvZiB0ZSB2ZXJ3aWpkZXJlbicsCiAgJ3RvIGNyZWF0ZSB0aWNrZXRzJyA9PiAnb20gdGlja2V0cyBhYW4gdGUgbWFrZW4nLAogICd0byBkZWxldGUgdGlja2V0cycgPT4gJ29tIHRpY2tldHMgdGUgdmVyd2lqZGVyZW4nLAogICd0byBtYXNzIG1hbmFnZSB0aWNrZXRzJyA9PiAnb20gdGlja2V0cyB0ZSBiZWhlcmVuIGluIG1hc3NhJywKICAndG8gcmVvcGVuIHRpY2tldHMnID0+ICdvbSB0aWNrZXRzIHRlIGhlcm9wZW5lbicsCiAgJ3RvIHJlc29sdmUvY2xvc2UgdGlja2V0cycgPT4gJ29tIHRpY2tldHMgb3AgdGUgbG9zc2VuIG9mIHRlIHNsdWl0ZW4nLAogICd0cmFuc2ZlcicgPT4gJ3Zlcmh1aXplbicsCiAgJ3RyYW5zZmVycmVkJyA9PiAndmVyaHVpc2QnLAogICd1bmFzc2lnbmVkJyA9PiAnbmlldCB0b2VnZXdlemVuJywKICAndW5jaGVja2VkJyA9PiAndWl0Z2V2aW5rdCcsCiAgJ3Vua25vd24gZXJyb3InID0+ICdvbmJla2VuZGUgZm91dCcsCiAgJ3Vuc2V0IDxzdHJvbmc+JTEkczwvc3Ryb25nPicgPT4gJ3ZlcndpamRlcmQgPHN0cm9uZz4lMSRzPC9zdHJvbmc+JywKICAndXBkYXRlZCcgPT4gJ2Jpamdld2Vya3QnLAogICd1c2VycycgPT4gJ2dlYnJ1aWtlcnMnLAogICd2YWNhdGlvbicgPT4gJ3Zha2FudGllJywKICAndmlhICVzJyA9PiAndmlhICVzJywKICAneWVzdGVyZGF5JyA9PiAnZ2lzdGVyZW4nLAogICd5b3UnID0+ICd1JywKICAwID0+IAogIGFycmF5ICgKICAgICdSZXZpc2lvbicgPT4gMCwKICAgICdUb3RhbC1TdHJpbmdzJyA9PiAyNzM3LAogICAgJ1RhYmxlLVNpemUnID0+IDI3MzcsCiAgICAnQnVpbGQtVGltZXN0YW1wJyA9PiAnVHVlLCAwNCBGZWIgMjUgMTc6Mjk6MzEgKzAwMDAnLAogICAgJ0Zvcm1hdC1WZXJzaW9uJyA9PiAnQScsCiAgICAnRW5jb2RpbmcnID0+ICdVVEYtOCcsCiAgKSwKKTsoZnVuY3Rpb24oJCl7JC5vc3RzdHJpbmdzPXsiQ2FuY2VsIjoiQW5udWxlcmVuIiwiWW91IHN1cmU/IjoiV2VldCB1IGhldCB6ZWtlcj8iLCJGaWxlIFVwbG9hZCBFcnJvciI6IkZvdXQgYmlqIGhldCB1cGxvYWRlbiB2YW4gYmVzdGFuZCIsIlVwbG9hZGluZyAuLi4iOiJBYW4gaGV0IHVwbG9hZGVuLi4uIiwiWW91ciBicm93c2VyIGlzIG5vdCBzdXBwb3J0ZWQiOiJVdyB3ZWJicm93c2VyIHdvcmR0IG5pZXQgb25kZXJzdGV1bmQiLCJZb3UgYXJlIHRyeWluZyB0byB1cGxvYWQgdG9vIG1hbnkgZmlsZXMiOiJVIHByb2JlZXJ0IHRlIHZlZWwgYmVzdGFuZGVuIHRlIHVwbG9hZGVuIiwiRmlsZSBpcyB0b28gbGFyZ2UiOiJIZXQgYmVzdGFuZCBpcyB0ZSBncm9vdCIsIlRoaXMgdHlwZSBvZiBmaWxlIGlzIG5vdCBhbGxvd2VkIjoiSGV0IGJlc3RhbmRzdHlwZSBpcyBuaWV0IHRvZWdlc3RhYW4iLCJDb3VsZCBub3QgZmluZCBvciByZWFkIHRoaXMgZmlsZSI6IkJlc3RhbmQgbmlldCBnZXZvbmRlbiBvZiBvbmxlZXNiYWFyIiwiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGxlYXZlPyBBbnkgY2hhbmdlcyBvciBpbmZvIHlvdSd2ZSBlbnRlcmVkIHdpbGwgYmUgZGlzY2FyZGVkISI6IldlZXQgdSB6ZWtlciBkYXQgdSBkZXplIHBhZ2luYSB3aWx0IHZlcmxhdGVuPyBFdmVudHVlbGUgd2lqemlnaW5nZW4gZGllIHUgaGVlZnQgaW5nZXZ1bGQgZ2FhbiB2ZXJsb3JlbiEiLCJTaG93IEltYWdlcyI6ImFmYmVlbGRpbmdlbiB3ZWVyZ2V2ZW4iLCJEb3dubG9hZCI6ImRvd25sb2FkIiwiYWxsIGNoYW5nZXMgc2F2ZWQiOiJhbGwgY2hhbmdlcyBzYXZlZCIsIkRlbGV0ZSBEcmFmdCI6IlZlcndpamRlciBjb25jZXB0IiwiU2F2ZSBEcmFmdCI6IlNhdmUgRHJhZnQiLCJzYXZpbmcuLi4iOiJzYXZpbmcuLi4iLCJzYXZlIGVycm9yIjoic2F2ZSBlcnJvciIsIlVuYWJsZSB0byBzYXZlIGRyYWZ0LiI6Ik9ubW9nZWxpamsgb20gY29uY2VwdCBvcCB0ZSBzbGFhbi4iLCJSZWZyZXNoIHRoZSBjdXJyZW50IHBhZ2UgdG8gcmVzdG9yZSBhbmQgY29udGludWUgeW91ciBkcmFmdC4iOiJWZXJ2ZXJzIGRlIGh1aWRpZ2UgcGFnaW5hIG9tIHdlZXIgb3AgdGUgaGFsZW4gZW4gdmVyZGVyIHRlIGdhYW4gbWV0IGplIGNvbmNlcHQuIiwidW5zYXZlZCI6InVuc2F2ZWQiLCJBbm5vdGF0ZSI6IkFubm90ZWVyIiwiQW5ub3RhdGUgSW1hZ2UiOiJBbm5vdGF0ZSBJbWFnZSIsIkNvbW1pdCI6IkNvbW1pdCIsIkFkZCBTaGFwZSI6IkFkZCBTaGFwZSIsIkFkZCBBcnJvdyI6IlZvZWcgZWVuIHBpamwgdG9lIiwiQWRkIEJveCI6IkFkZCBCb3giLCJBZGQgRWxsaXBzZSI6IkVsbGlwcyB0b2V2b2VnZW4iLCJBZGQgVGV4dCI6IlRla3N0IHRvZXZvZWdlbiIsIkFkZCBTY3JpYmJsZSI6IkFkZCBTY3JpYmJsZSIsIlNoYXBlIENvbG9yIjoiU2hhcGUgQ29sb3IiLCJGb250IFNpemUiOiJGb250IFNpemUiLCJGb250IEZhbWlseSI6IkZvbnQgRmFtaWx5IiwiT3V0bGluZSI6Ik91dGxpbmUiLCJCcmluZyBGb3J3YXJkIjoiQnJlbmcgbmFhciB2b3JlbiIsIlRvZ2dsZSBPcGFjaXR5IjoiRG9vcnppY2h0aWdoZWlkIEFhblwvdWl0emV0dGVuIiwiRGVsZXRlIFNoYXBlIjoiRGVsZXRlIFNoYXBlIiwiRmlsbCI6IkZpbGwiLCJUZXh0IjoiVGVrc3QiLCJUcmFuc2xhdGUiOiJWZXJ0YWxlbiIsInNhdmUgdHJhbnNsYXRpb24iOiJzYXZlIHRyYW5zbGF0aW9uIiwiTG9hZGluZyI6IkJlemlnIG1ldCBvcGxhZGVuIiwiQWRkIjoiVG9ldm9lZ2VuIiwiTm90IGN1cnJlbnRseSB0cmFuc2xhdGVkIjoiVm9vcmxvcGlnIG5pZXQgdmVydGFhbGQiLCJTYXZlIjoiT3BzbGFhbiIsIlNhdmluZyI6IkJlemlnIHRlIGJld2FyZW4iLCJZb3UncmUgbGltaXRlZCB0byBvbmx5IHswfSBzZWxlY3Rpb25zLlxcbiI6IllvdSdyZSBsaW1pdGVkIHRvIG9ubHkgezB9IHNlbGVjdGlvbnMuXFxuIiwiWW91IGhhdmUgbWFkZSB7MH0gc2VsZWN0aW9ucy5cXG4iOiJZb3UgaGF2ZSBtYWRlIHswfSBzZWxlY3Rpb25zLlxcbiIsIlBsZWFzZSByZW1vdmUgezB9IHNlbGVjdGlvbihzKS4iOiJWZXJ3aWpkZXIgezB9IHNlbGVjdGllcy4iLCJBbGVydCI6IldhYXJzY2h1d2luZyIsIlBsZWFzZSBtYWtlIGF0IGxlYXN0IHswfSBzZWxlY3Rpb25zLiB7MX0gY2hlY2tlZCBzbyBmYXIuIjoiTWFhayB0ZW4gbWluc3QgezB9IHNlbGVjdGllLiB7MX0gZ2Vjb250cm9sZWVyZCB0b3QgbnUgdG9lLiIsIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byByZW1vdmUgdGhpcyBhdHRhY2htZW50PyI6IndlZXQgdSB6ZWtlciBkYXQgdSBkZXplIGJpamxhZ2Ugd2lsdCB2ZXJ3aWpkZXJlbj8iLCJQbGVhc2UgQ29uZmlybSI6IkJldmVzdGlnZW4iLCJQbGVhc2UgY29uZmlybSB0byBjb250aW51ZS4iOiJLbGlrIG9wICdiZXZlc3RpZ2VuJyBvbSB2ZXJkZXIgdGUgZ2Fhbi4iLCJPSyI6Ik9LIiwiT29wcyI6Ik9lcHMiLCJZb3UgbmVlZCB0byBzZWxlY3QgYXQgbGVhc3Qgb25lIGl0ZW0iOiJVIG1vZXQgdGVuIG1pbnN0ZSBcdTAwZTlcdTAwZTluIGl0ZW0gc2VsZWN0ZXJlbi4iLCJDb25maXJtIERlbGV0aW9uIjoiQ29uZmlybSBEZWxldGlvbiIsIkNyZWF0ZSI6IkFhbm1ha2VuIiwianVzdCBub3ciOiJvbmxhbmdzIiwiYWJvdXQgYSBtaW51dGUgYWdvIjoiZWVuIG1pbnV1dGplIGdlbGVkZW4iLCIlZCBtaW51dGVzIGFnbyI6IiVkIG1pbnV0ZW4gZ2VsZWRlbiIsImFib3V0IGFuIGhvdXIgYWdvIjoib25nZXZlZXIgZWVuIHV1ciBnZWxlZGVuIiwiJWQgaG91cnMgYWdvIjoiJWQgdXVyIGdlbGVkZW4iLCJ5ZXN0ZXJkYXkiOiJnaXN0ZXJlbiIsIiVkIGRheXMgYWdvIjoiJWQgZGFnKGVuKSBnZWxlZGVuIiwiQWNxdWlyaW5nIExvY2siOiJcIkxvY2tcIiB3b3JkdCBhYW5nZXZyYWFnZCIsIllvdXIgbG9jayBpcyBleHBpcmluZyBzb29uLiI6IkplIFwibG9ja1wiIHZlcmxvb3B0IGJpbm5lbmtvcnQuIiwiVGhlIGxvY2sgeW91IGhvbGQgb24gdGhpcyB0aWNrZXQgd2lsbCBleHBpcmUgc29vbi4gV291bGQgeW91IGxpa2UgdG8gcmVuZXcgdGhlIGxvY2s/IjoiRGUgXCJsb2NrXCIgZGllIGplIHZhc3Rob3VkdCBvcCBkaXQgdGlja2V0IHZlcmxvb3B0IGJpbm5lbmtvcnQuIFdpbCBqZSBkZXplIHZlcm5pZXV3ZW4/IiwiUmVuZXciOiJWZXJuaWV1d2VuIiwiVW5hYmxlIHRvIGxvY2sgdGhlIHRpY2tldC4iOiJOaWV0IG1vZ2VsaWprIG9tIGVlbiBcImxvY2tcIiBvcCBoZXQgdGlja2V0IHRlIHpldHRlbi4iLCJTb21lb25lIGVsc2UgY291bGQgYmUgd29ya2luZyBvbiB0aGUgc2FtZSB0aWNrZXQuIjoiSWVtYW5kIGFuZGVycyBrYW4gYWFuIGhldHplbGZkZSB0aWNrZXQgd2Vya2VuLiIsIlN0aWxsIGJ1c3kuLi4gc21pbGUgIyI6Ik5vZyBzdGVlZHMgYmV6aWcuLi4gc21pbGUgIyIsIkNsZWFuaW5nIHVwIS4uLiI6IkJlemlnIG1ldCBvcHNjaG9uZW4hLi4uLi4uIiwiRXJyb3Igb2NjdXJyZWQuICBBYm9ydGluZy4uLiI6IkVyIHppam4gZm91dGVuIG9wZ2V0cmVkZW4uLi4uIEFmYnJla2VuLi4uLiIsIk1hbnVhbCB1cGdyYWRlIHJlcXVpcmVkIChhamF4IGZhaWxlZCkiOiJIYW5kbWF0aWdlIHVwZ3JhZGUgdmVyZWlzdCAoYWpheCBtaXNsdWt0KSIsIlNvbWV0aGluZyB3ZW50IHdyb25nIjoiRXIgaXMgaWV0cyBtaXNnZWdhYW4ifTt9KShqUXVlcnkpOzw/cGhwIHJldHVybiBhcnJheSAoCiAgJ0J1aWxkLURhdGUnID0+ICdUdWUsIDA0IEZlYiAyNSAxNzoyOTozMSArMDAwMCcsCiAgJ1BocmFzZXMtVmVyc2lvbicgPT4gJzEuMTgnLAogICdCdWlsZC1WZXJzaW9uJyA9PiAndjEuMTguMicsCiAgJ0J1aWxkLU1ham9yLVZlcnNpb24nID0+ICcxLjE4JywKICAnTGFuZ3VhZ2UnID0+ICdubF9OTCcsCiAgJ0lkJyA9PiAnbGFuZzpubCcsCiAgJ0xhc3QtUmV2aXNpb24nID0+ICcyMDI1LTAyLTA0IDE3OjI5JywKICAnVmVyc2lvbicgPT4gMTczODY5LAopOzdSMjESe5tVlKCBapl6EReMbQV6AgAAAEdCTUI=
Base64 mode: content will be decoded on save.
Save
Close
Exit & Reset
Directory Contents
Dirs: 0 × Files: 6
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
nl.phar
389.99 KB
lrw-r--r--
2025-02-05 07:25:42
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
pt_BR.phar
431.91 KB
lrw-r--r--
2026-01-16 09:12:22
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ru.phar
564.18 KB
lrw-r--r--
2025-02-05 07:25:42
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
uk.phar
566.20 KB
lrw-r--r--
2025-02-05 07:25:42
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
zh_CN.phar
349.70 KB
lrw-r--r--
2025-02-05 07:25:42
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
zh_TW.phar
308.10 KB
lrw-r--r--
2025-02-05 07:25:42
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).