REDROOM
PHP 8.2.30
Path:
Logout
Edit File
Size: 373.44 KB
Close
/proc/thread-self/root/proc/self/root/proc/thread-self/root/var/softaculous/ostic14/language/nl.phar
Text
Base64
PD9waHAgX19IQUxUX0NPTVBJTEVSKCk7ID8+DQpcGAAAZAAAABEAAAABAAAAAAAAAAAAJQAAADEuMTQueC9oZWxwL3RpcHMvZW1haWxzLnRlbXBsYXRlLnlhbWzqBQAAI2KsXuoFAAB0fx1cpAEAAAAAAAAdAAAAMS4xNC54L2hlbHAvdGlwcy9pbnN0YWxsLnlhbWzvCQAAI2KsXu8JAACpPraSpAEAAAAAAAAlAAAAMS4xNC54L2hlbHAvdGlwcy9tYW5hZ2Uuc2NoZWR1bGUueWFtbEsEAAAjYqxeSwQAAF+/sK6kAQAAAAAAACAAAAAxLjE0LngvaGVscC90aXBzL21hbmFnZS5zbGEueWFtbJIFAAAjYqxekgUAAEohpmykAQAAAAAAACUAAAAxLjE0LngvaGVscC90aXBzL3NldHRpbmdzLnN5c3RlbS55YW1s+BwAACNirF74HAAAvmqayaQBAAAAAAAAJQAAADEuMTQueC9oZWxwL3RpcHMvc2V0dGluZ3MudGlja2V0LnlhbWx1EgAAI2KsXnUSAAB52QvRpAEAAAAAAAAmAAAAMS4xNC54L2hlbHAvdGlwcy9zdGFmZi5kZXBhcnRtZW50LnlhbWxvEQAAI2KsXm8RAAA9jnRipAEAAAAAAAAjAAAAMS4xNC54L2hlbHAvdGlwcy90aWNrZXRzLnF1ZXVlLnlhbWzUCAAAI2KsXtQIAABaAI4ipAEAAAAAAAApAAAAMS4xNC54L2hlbHAvdGlwcy9kYXNoYm9hcmQuZGFzaGJvYXJkLnlhbWxKDAAAI2KsXkoMAAC6D6SrpAEAAAAAAAAmAAAAMS4xNC54L2hlbHAvdGlwcy9tYW5hZ2UuaGVscHRvcGljLnlhbWzNDwAAI2KsXs0PAABuQe6VpAEAAAAAAAAkAAAAMS4xNC54L2hlbHAvdGlwcy9zZXR0aW5ncy5lbWFpbC55YW1sDBQAACNirF4MFAAAL0UImqQBAAAAAAAAKgAAADEuMTQueC9oZWxwL3RpcHMvZGFzaGJvYXJkLm15X3Byb2ZpbGUueWFtbAAJAAAjYqxeAAkAAPb6JwCkAQAAAAAAAC8AAAAxLjE0LngvaGVscC90aXBzL2Rhc2hib2FyZC5zdGFmZl9kaXJlY3RvcnkueWFtbHwEAAAjYqxefAQAAAnT8CGkAQAAAAAAACsAAAAxLjE0LngvaGVscC90aXBzL2Rhc2hib2FyZC5zeXN0ZW1fbG9ncy55YW1s7AkAACNirF7sCQAAbIErb6QBAAAAAAAAJAAAADEuMTQueC9oZWxwL3RpcHMvZW1haWxzLmJhbmxpc3QueWFtbJYCAAAjYqxelgIAAMGlyDukAQAAAAAAACcAAAAxLjE0LngvaGVscC90aXBzL2VtYWlscy5kaWFnbm9zdGljLnlhbWyAAwAAI2KsXoADAAAn97j2pAEAAAAAAAAiAAAAMS4xNC54L2hlbHAvdGlwcy9lbWFpbHMuZW1haWwueWFtbLIRAAAjYqxeshEAAFmdq1GkAQAAAAAAABsAAAAxLjE0LngvaGVscC90aXBzL2Zvcm1zLnlhbWyZDgAAI2KsXpkOAACleSKEpAEAAAAAAAAzAAAAMS4xNC54L2hlbHAvdGlwcy9rbm93bGVkZ2ViYXNlLmNhbm5lZF9yZXNwb25zZS55YW1s6AQAACNirF7oBAAAvelikKQBAAAAAAAALAAAADEuMTQueC9oZWxwL3RpcHMva25vd2xlZGdlYmFzZS5jYXRlZ29yeS55YW1sBAAAACNirF4EAAAAvc52g6QBAAAAAAAAJwAAADEuMTQueC9oZWxwL3RpcHMva25vd2xlZGdlYmFzZS5mYXEueWFtbFgDAAAjYqxeWAMAALvdyK6kAQAAAAAAACUAAAAxLjE0LngvaGVscC90aXBzL21hbmFnZS5hcGlfa2V5cy55YW1sSgQAACNirF5KBAAAl8HbK6QBAAAAAAAAKAAAADEuMTQueC9oZWxwL3RpcHMvbWFuYWdlLmN1c3RvbV9saXN0LnlhbWx9BgAAI2KsXn0GAADdY0wCpAEAAAAAAAAjAAAAMS4xNC54L2hlbHAvdGlwcy9tYW5hZ2UuZmlsdGVyLnlhbWwjFQAAI2KsXiMVAACej7ZxpAEAAAAAAAAiAAAAMS4xNC54L2hlbHAvdGlwcy9tYW5hZ2UucGFnZXMueWFtbCkFAAAjYqxeKQUAAM9OdvOkAQAAAAAAABkAAAAxLjE0LngvaGVscC90aXBzL29yZy55YW1sYgQAACNirF5iBAAApgqk+KQBAAAAAAAAJQAAADEuMTQueC9oZWxwL3RpcHMvc2V0dGluZ3MuYWdlbnRzLnlhbWzrCQAAI2KsXusJAAAmeV7opAEAAAAAAAAlAAAAMS4xNC54L2hlbHAvdGlwcy9zZXR0aW5ncy5hbGVydHMueWFtbHAMAAAjYqxecAwAAKmbGiKkAQAAAAAAACwAAAAxLjE0LngvaGVscC90aXBzL3NldHRpbmdzLmF1dG9yZXNwb25kZXIueWFtbFEIAAAjYqxeUQgAAGqnCSukAQAAAAAAACEAAAAxLjE0LngvaGVscC90aXBzL3NldHRpbmdzLmtiLnlhbWwFBgAAI2KsXgUGAABS1wezpAEAAAAAAAAkAAAAMS4xNC54L2hlbHAvdGlwcy9zZXR0aW5ncy5wYWdlcy55YW1sXwoAACNirF5fCgAAauQFhqQBAAAAAAAAJAAAADEuMTQueC9oZWxwL3RpcHMvc2V0dGluZ3MudGFza3MueWFtbN8NAAAjYqxe3w0AANGVn4qkAQAAAAAAACQAAAAxLjE0LngvaGVscC90aXBzL3NldHRpbmdzLnVzZXJzLnlhbWwNDAAAI2KsXg0MAABV78qMpAEAAAAAAAAhAAAAMS4xNC54L2hlbHAvdGlwcy9zdGFmZi5hZ2VudC55YW1sjxAAACNirF6PEAAAkDY9zaQBAAAAAAAAIgAAADEuMTQueC9oZWxwL3RpcHMvc3RhZmYuYWdlbnRzLnlhbWwEAAAAI2KsXgQAAAC9znaDpAEAAAAAAAAnAAAAMS4xNC54L2hlbHAvdGlwcy9zdGFmZi5kZXBhcnRtZW50cy55YW1s2QMAACNirF7ZAwAAwFkCoqQBAAAAAAAAIgAAADEuMTQueC9oZWxwL3RpcHMvc3RhZmYuZ3JvdXBzLnlhbWxhBAAAI2KsXmEEAAByVTrupAEAAAAAAAApAAAAMS4xNC54L2hlbHAvdGlwcy9zdGFmZi5zdGFmZl9tZW1iZXJzLnlhbWwCBAAAI2KsXgIEAABK6me3pAEAAAAAAAAgAAAAMS4xNC54L2hlbHAvdGlwcy9zdGFmZi50ZWFtLnlhbWwEBwAAI2KsXgQHAAD4pbxXpAEAAAAAAAAbAAAAMS4xNC54L2hlbHAvdGlwcy9zdGFmZi55YW1sQgQAACNirF5CBAAAy/NCuaQBAAAAAAAAIQAAADEuMTQueC9oZWxwL3RpcHMvdGFza3MucXVldWUueWFtbJkDAAAjYqxemQMAAASi4HSkAQAAAAAAACYAAAAxLjE0LngvdGVtcGxhdGVzL2VtYWlsL3Rhc2suYWxlcnQueWFtbK4DAAAjYqxergMAANUbcCSkAQAAAAAAAC8AAAAxLjE0LngvdGVtcGxhdGVzL2VtYWlsL3Rhc2sudHJhbnNmZXIuYWxlcnQueWFtbKIDAAAjYqxeogMAAADxexukAQAAAAAAACgAAAAxLjE0LngvdGVtcGxhdGVzL2VtYWlsL3RpY2tldC5hbGVydC55YW1sxwQAACNirF7HBAAAI4k5Y6QBAAAAAAAAKgAAADEuMTQueC90ZW1wbGF0ZXMvZW1haWwvdHJhbnNmZXIuYWxlcnQueWFtbD0EAAAjYqxePQQAAKUxuwakAQAAAAAAACkAAAAxLjE0LngvdGVtcGxhdGVzL2VtYWlsL21lc3NhZ2UuYWxlcnQueWFtbLcFAAAjYqxetwUAAClhIWekAQAAAAAAACkAAAAxLjE0LngvdGVtcGxhdGVzL2VtYWlsL3RpY2tldC5ub3RpY2UueWFtbMIFAAAjYqxewgUAAHR9QDGkAQAAAAAAACgAAAAxLjE0LngvdGVtcGxhdGVzL2VtYWlsL3RpY2tldC5yZXBseS55YW1stQMAACNirF61AwAAX9REGKQBAAAAAAAAKgAAADEuMTQueC90ZW1wbGF0ZXMvZW1haWwvYXNzaWduZWQuYWxlcnQueWFtbDwFAAAjYqxePAUAAJ0g54WkAQAAAAAAACwAAAAxLjE0LngvdGVtcGxhdGVzL2VtYWlsL21lc3NhZ2UuYXV0b3Jlc3AueWFtbPgDAAAjYqxe+AMAAIEdLiikAQAAAAAAACYAAAAxLjE0LngvdGVtcGxhdGVzL2VtYWlsL25vdGUuYWxlcnQueWFtbNgEAAAjYqxe2AQAACQplnakAQAAAAAAAC8AAAAxLjE0LngvdGVtcGxhdGVzL2VtYWlsL3Rhc2suYWN0aXZpdHkuYWxlcnQueWFtbJkEAAAjYqxemQQAAJNJ5OGkAQAAAAAAADAAAAAxLjE0LngvdGVtcGxhdGVzL2VtYWlsL3Rhc2suYWN0aXZpdHkubm90aWNlLnlhbWzQAgAAI2KsXtACAAB9RKoBpAEAAAAAAAAxAAAAMS4xNC54L3RlbXBsYXRlcy9lbWFpbC90YXNrLmFzc2lnbm1lbnQuYWxlcnQueWFtbM0DAAAjYqxezQMAAJ+6m3ukAQAAAAAAAC4AAAAxLjE0LngvdGVtcGxhdGVzL2VtYWlsL3Rhc2sub3ZlcmR1ZS5hbGVydC55YW1s0AQAACNirF7QBAAACCaNb6QBAAAAAAAAMgAAADEuMTQueC90ZW1wbGF0ZXMvZW1haWwvdGlja2V0LmFjdGl2aXR5Lm5vdGljZS55YW1stwMAACNirF63AwAAFmRkmaQBAAAAAAAALAAAADEuMTQueC90ZW1wbGF0ZXMvZW1haWwvdGlja2V0LmF1dG9yZXBseS55YW1sEwUAACNirF4TBQAAlNGr5aQBAAAAAAAAKwAAADEuMTQueC90ZW1wbGF0ZXMvZW1haWwvdGlja2V0LmF1dG9yZXNwLnlhbWwkBAAAI2KsXiQEAABLvimupAEAAAAAAAAqAAAAMS4xNC54L3RlbXBsYXRlcy9lbWFpbC90aWNrZXQub3ZlcmR1ZS55YW1sWgUAACNirF5aBQAAYwv69aQBAAAAAAAALAAAADEuMTQueC90ZW1wbGF0ZXMvZW1haWwvdGlja2V0Lm92ZXJsaW1pdC55YW1s0gMAACNirF7SAwAAbbmtzKQBAAAAAAAAJgAAADEuMTQueC90ZW1wbGF0ZXMvcGFnZS9hY2Nlc3MtbGluay55YW1sHAQAACNirF4cBAAAmQ19f6QBAAAAAAAAKAAAADEuMTQueC90ZW1wbGF0ZXMvcGFnZS9iYW5uZXItY2xpZW50LnlhbWy9AQAAI2KsXr0BAADf3WwZpAEAAAAAAAAnAAAAMS4xNC54L3RlbXBsYXRlcy9wYWdlL2Jhbm5lci1zdGFmZi55YW1snQEAACNirF6dAQAAV3uUWaQBAAAAAAAAIgAAADEuMTQueC90ZW1wbGF0ZXMvcGFnZS9sYW5kaW5nLnlhbWyCAwAAI2KsXoIDAACcHxzZpAEAAAAAAAAiAAAAMS4xNC54L3RlbXBsYXRlcy9wYWdlL29mZmxpbmUueWFtbP4BAAAjYqxe/gEAAATXWO2kAQAAAAAAACkAAAAxLjE0LngvdGVtcGxhdGVzL3BhZ2UvcHdyZXNldC1jbGllbnQueWFtbA8EAAAjYqxeDwQAALQVZuSkAQAAAAAAACgAAAAxLjE0LngvdGVtcGxhdGVzL3BhZ2UvcHdyZXNldC1zdGFmZi55YW1sfAQAACNirF58BAAAtzZ3FqQBAAAAAAAALgAAADEuMTQueC90ZW1wbGF0ZXMvcGFnZS9yZWdpc3RyYXRpb24tY2xpZW50LnlhbWyRAwAAI2KsXpEDAABjxEcKpAEAAAAAAAAvAAAAMS4xNC54L3RlbXBsYXRlcy9wYWdlL3JlZ2lzdHJhdGlvbi1jb25maXJtLnlhbWxLAwAAI2KsXksDAADUFmSrpAEAAAAAAAAtAAAAMS4xNC54L3RlbXBsYXRlcy9wYWdlL3JlZ2lzdHJhdGlvbi1zdGFmZi55YW1s0gIAACNirF7SAgAAy8jY1qQBAAAAAAAALgAAADEuMTQueC90ZW1wbGF0ZXMvcGFnZS9yZWdpc3RyYXRpb24tdGhhbmtzLnlhbWwrAwAAI2KsXisDAAC9t9glpAEAAAAAAAAkAAAAMS4xNC54L3RlbXBsYXRlcy9wYWdlL3RoYW5rLXlvdS55YW1sKAIAACNirF4oAgAAwoT0xKQBAAAAAAAAJgAAADEuMTQueC90ZW1wbGF0ZXMvdGlja2V0L2luc3RhbGxlZC55YW1sagcAACNirF5qBwAAy/xGdKQBAAAAAAAAJQAAADEuMTQueC90ZW1wbGF0ZXMvdGlja2V0L3VwZ3JhZGVkLnlhbWxiBgAAI2KsXmIGAABIDv2gpAEAAAAAAAAdAAAAMS4xNC54L3RlbXBsYXRlcy9wcmVtYWRlLnlhbWzTAgAAI2KsXtMCAADOzRwvpAEAAAAAAAARAAAAMS4xNC54L2V2ZW50LnlhbWw+AwAAI2KsXj4DAADFJBZupAEAAAAAAAAQAAAAMS4xNC54L2Zvcm0ueWFtbCUWAAAjYqxeJRYAAJgok9GkAQAAAAAAABgAAAAxLjE0Lngvb3JnYW5pemF0aW9uLnlhbWyYAgAAI2KsXpgCAADLbiIMpAEAAAAAAAAUAAAAMS4xNC54L3NjaGVkdWxlLnlhbWxwDgAAI2KsXnAOAADyxobbpAEAAAAAAAASAAAAMS4xNC54L2NvbmZpZy55YW1sdggAACNirF52CAAAGkz/r6QBAAAAAAAAFgAAADEuMTQueC9kZXBhcnRtZW50LnlhbWyFAwAAI2KsXoUDAACbe77TpAEAAAAAAAAWAAAAMS4xNC54L2hlbHBfdG9waWMueWFtbDMGAAAjYqxeMwYAAHDg+tqkAQAAAAAAABgAAAAxLjE0LngvcXVldWVfY29sdW1uLnlhbWxMDAAAI2KsXkwMAABLrApBpAEAAAAAAAAWAAAAMS4xNC54L3F1ZXVlX3NvcnQueWFtbIQCAAAjYqxehAIAALSM/LakAQAAAAAAABEAAAAxLjE0LngvcXVldWUueWFtbJwwAAAjYqxenDAAADnNLVikAQAAAAAAABAAAAAxLjE0Lngvcm9sZS55YW1sAQYAACNirF4BBgAAfeWhE6QBAAAAAAAAIAAAADEuMTQueC9lbWFpbF90ZW1wbGF0ZV9ncm91cC55YW1sZQIAACNirF5lAgAAdrB0D6QBAAAAAAAAEAAAADEuMTQueC9maWxlLnlhbWxPNgAAI2KsXk82AAByA4nUpAEAAAAAAAASAAAAMS4xNC54L2ZpbHRlci55YW1sEwUAACNirF4TBQAA3cmdAaQBAAAAAAAAEQAAADEuMTQueC9ncm91cC55YW1sHQQAACNirF4dBAAAyWzlc6QBAAAAAAAAEAAAADEuMTQueC9saXN0LnlhbWynBgAAI2KsXqcGAACuvUBOpAEAAAAAAAAUAAAAMS4xNC54L3ByaW9yaXR5LnlhbWy7AQAAI2KsXrsBAAA17n4wpAEAAAAAAAAUAAAAMS4xNC54L3NlcXVlbmNlLnlhbWwZAwAAI2KsXhkDAAAryF0UpAEAAAAAAAAPAAAAMS4xNC54L3NsYS55YW1shAMAACNirF6EAwAACIInDqQBAAAAAAAAEAAAADEuMTQueC90ZWFtLnlhbWytAQAAI2KsXq0BAAAIQVo4pAEAAAAAAAAZAAAAMS4xNC54L3RpY2tldF9zdGF0dXMueWFtbEwFAAAjYqxeTAUAAHLoffWkAQAAAAAAABoAAABqcy9qcXVlcnkudWkuZGF0ZXBpY2tlci5qc6kEAAAjYqxeqQQAAIcdudqkAQAAAAAAABsAAABMQ19NRVNTQUdFUy9tZXNzYWdlcy5tby5waHA4zwIAI2KsXjjPAgBnyy3jpAEAAAAAAAAWAAAAanMvb3N0aWNrZXQtc3RyaW5ncy5qc8ANAAAjYqxewA0AADCZNIikAQAAAAAAAAwAAABNQU5JRkVTVC5waHAjAQAAI2KsXiMBAAAopLDSpAEAAAAAAAAtLS0KI1RoaXMgaXMgcG9wdXAgaGVscCBtZXNzYWdlcyBmb3IgdGhlIEFkbWluIFBhbmVsIC0+IEVtYWlscyAtPiBUZW1wbGF0ZXMKI0ZpZWxkczoKI3RpdGxlIC0gU2hvd24gaW4gYm9sZCBhdCB0aGUgdG9wIG9mIHRoZSBwb3BvdmVyIHdpbmRvdwojY29udGVudCAtIFRoZSBib2R5IG9mIHRoZSBoZWxwIHBvcG92ZXIKI2xpbmtzIC0gTGlzdCBvZiBsaW5rcyBzaG93cyBiZWxvdyB0aGUgY29udGVudAojdGl0bGUgLSBMaW5rIHRpdGxlCiNocmVmIC0gaHJlZiBvZiBsaW5rIChsaW5rcyBzdGFydGluZyB3aXRoIC8gYXJlIHRyYW5zbGF0ZWQgdG8gdGhlCiNoZWxwZGVzayBpbnN0YWxsYXRpb24gcGF0aCkKI1RoZSBrZXkgbmFtZXMgc3VjaCBhcyAnaGVscGRlc2tfbmFtZScgc2hvdWxkIG5vdCBiZSB0cmFuc2xhdGVkIGFzIHRoZXkKI211c3QgbWF0Y2ggdGhlIEhUTUwgI2lkcyBwdXQgaW50byB0aGUgcGFnZSB0ZW1wbGF0ZS4KIy0tLQplbWFpbF90ZW1wbGF0ZXM6CiAgdGl0bGU6IEUtbWFpbHNqYWJsb25lbgogIGNvbnRlbnQ6ID4KICAgIEUtbWFpbCBzamFibG9uZW4gd29yZGVuIGdlYnJ1aWt0IHZvb3IgaGV0IHZlcnplbmRlbiB2YW4gQXV0b21hdGlzY2hlIGFudHdvb3JkZW4gIGVuIHdhYXJzY2h1d2luZ2VuIHZvb3IgdmVyc2NoaWxsZW5kZSBhY3RpZXMgZGllIHRpamRlbnMgZGUgbGV2ZW5zY3ljbHVzIHZhbiBlZW4gVGlja2V0ICBwbGFhdHN2aW5kZW4ga3VubmVuLgp0ZW1wbGF0ZV90b19jbG9uZToKICB0aXRsZTogS29wacOrZXIgdGVtcGxhdGUKICBjb250ZW50OiA+CiAgICBLaWVzIGVlbiBzamFibG9vbiBvbSB0ZSBrb3Bpw6tyZW4gb2Ygc3RhcnQgbWV0IGRlIHN0YW5kYWFyZCBlLW1haWx0ZW1wbGF0ZXMuCmxhbmd1YWdlOgogIHRpdGxlOiBUYWFsCiAgY29udGVudDogPgogICAgU2VsZWN0ZWVyIGRlIGdld2Vuc3RlIHRhYWwgdm9vciBkZSA8c3BhbiBjbGFzcz0iZG9jLWRlc2Mtb3B0Ij4gdm9vcnJhYWQ8L3NwYW4+IDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+IEUtbWFpbCBzamFibG9vbiBpbnN0ZWxsZW48L3NwYW4+LiBUYWFscGFra2V0dGVuIHppam4gYmVzY2hpa2JhYXIgb3Agb3NUaWNrZXQuY29tLgogIGxpbmtzOgogICAgLSAKICAgICAgdGl0bGU6IG9zVGlja2V0IHRhYWxwYWtrZXR0ZW4KICAgICAgaHJlZjogaHR0cHM6Ly9vc3RpY2tldC5jb20vZG93bmxvYWQKc3RhdHVzOgogIHRpdGxlOiBTdGF0dXMKICBjb250ZW50OiA+CiAgICA8c3BhbiBjbGFzcz0iZG9jLWRlc2Mtb3B0Ij5pbmdlc2NoYWtlbGQ8L3NwYW4+IFNqYWJsb29uIFNldHMgemlqbiBiZXNjaGlrYmFhciBvbSB0ZSB3b3JkZW4gZ2Vrb3BwZWxkIGFhbiBhZmRlbGluZ2VuIGVuIGluZ2VzdGVsZCBvcCBkZSBzdGFuZGFhcmR3YWFyZGVuIHZhbiBoZXQgc3lzdGVlbS4gIFNqYWJsb29uIFNldHMgd2Vsa2UgbW9tZW50ZWVsIGluIGdlYnJ1aWsgemlqbiBrdW5uZW4gbmlldCB3b3JkZW4gPHNwYW4gY2xhc3M9ImRvYy1kZXNjLW9wdCI+dWl0Z2VzY2hha2VsdDwvc3Bhbj4uCi0tLQojSGVscCBwb3B1cCBpdGVtcyBmb3IgdGhlIGluc3RhbGxlcgojRmllbGRzOgojdGl0bGUgLSBTaG93biBpbiBib2xkIGF0IHRoZSB0b3Agb2YgdGhlIHBvcG92ZXIgd2luZG93CiNjb250ZW50IC0gVGhlIGJvZHkgb2YgdGhlIGhlbHAgcG9wb3ZlcgojVGhlIGtleSBuYW1lcyBzdWNoIGFzICdoZWxwZGVza19uYW1lJyBzaG91bGQgbm90IGJlIHRyYW5zbGF0ZWQgYXMgdGhleQojbXVzdCBtYXRjaCB0aGUgSFRNTCAjaWRzIHB1dCBpbnRvIHRoZSBwYWdlIHRlbXBsYXRlLgojLS0tCmhlbHBkZXNrX25hbWU6CiAgdGl0bGU6IEhlbHBkZXNrIG5hYW0KICBjb250ZW50OiB8CiAgICA8cD5EZSBuYWFtIHZhbiB1dyBzdXBwb3J0IHN5c3RlZW0sIGJpanZvb3JiZWVsZCBbQmVkcmlqZnNuYWFtXSBTdXBwb3J0PC9wPgpzeXN0ZW1fZW1haWw6CiAgdGl0bGU6IFN0YW5kYWFyZCBzeXN0ZWVtIGUtbWFpbAogIGNvbnRlbnQ6IHwKICAgIDxwPlN0YW5kYWFyZCBlLW1haWxhZHJlcyBiaWp2b29yYmVlbGQgc3VwcG9ydEB1d2JlZHJpamYubmwgLSB1IGt1bnQgZXIgbGF0ZXIgbWVlciB0b2V2b2VnZW4hPC9wPgpkZWZhdWx0X2xhbmc6CiAgdGl0bGU6IFN0YW5kYWFyZCBzeXN0ZWVtdGFhbAogIGNvbnRlbnQ6IHwKICAgIDxwPlN0YW5kYWFyZCBkYXRhIHZvb3IgZGV6ZSB0YWFsIHphbCBnZcOvbnN0YWxsZWVyZCB3b3JkZW4gaW4gZGUgZGF0YWJhc2UuCiAgICBCaWp2b29yYmVlbGQgZS1tYWlsIHNqYWJsb25lbiBlbiBzdGFuZGFhcmQgc3lzdGVlbSBwYWdpbmEncwogICAgenVsbGVuIHZvb3IgZGV6ZSB0YWFsIGdlw69uc3RhbGxlZXJkIHdvcmRlbi48L3A+CiAgbGlua3M6CiAgICAtIAogICAgICB0aXRsZTogb3NUaWNrZXQgdGFhbHBha2tldHRlbgogICAgICBocmVmOiAnaHR0cHM6Ly9vc3RpY2tldC5jb20vZG93bmxvYWQvI29zdExhbmcnCmZpcnN0X25hbWU6CiAgdGl0bGU6IFZvb3JuYWFtCiAgY29udGVudDogfAogICAgPHA+Vm9vcm5hYW0gdmFuIGFkbWluaXN0cmF0b3I8L3A+Cmxhc3RfbmFtZToKICB0aXRsZTogQWNodGVybmFhbQogIGNvbnRlbnQ6IHwKICAgIDxwPkFjaHRlcm5hYW0gdmFuIGFkbWluaXN0cmF0b3I8L3A+CmVtYWlsOgogIHRpdGxlOiBFLW1haWxhZHJlcwogIGNvbnRlbnQ6IHwKICAgIDxwPlBlcnNvb25saWprIGUtbWFpbGFkcmVzIHZhbiBkZSBhZG1pbmlzdHJhdG9yLiBEaXQgZS1tYWlsYWRyZXMgbW9ldCBhbmRlcnMgemlqbiBkYW4gaGV0IHN0YW5kYWFyZCBzeXN0ZWVtIGUtbWFpbGFkcmVzLjwvcD4KdXNlcm5hbWU6CiAgdGl0bGU6IEdlYnJ1aWtlcnNuYWFtCiAgY29udGVudDogfAogICAgPHA+SW5sb2duYWFtIHZvb3IgZGUgYWRtaW5pc3RyYXRvci4gTW9ldCB1aXQgdGVubWluc3RlIGRyaWUgKDMpIHRla2VucyBiZXN0YWFuLjwvcD4KcGFzc3dvcmQ6CiAgdGl0bGU6IFdhY2h0d29vcmQKICBjb250ZW50OiB8CiAgICA8cD5XYWNodHdvb3JkIHZhbiBkZSBhZG1pbmlzdHJhdG9yLiBNb2V0IG1pbmltYWFsIHZpamYgKDUpIHRla2VucyBiZXZhdHRlbi48L3A+CnBhc3N3b3JkMjoKICB0aXRsZTogQmV2ZXN0aWcgd2FjaHR3b29yZAogIGNvbnRlbnQ6IHwKICAgIDxwPldhY2h0d29vcmQgdmFuIGFkbWluaXN0cmF0b3Igbm9nbWFhbHMgaW5nZXZlbi48L3A+CmRiX3ByZWZpeDoKICB0aXRsZTogTXlTUUwgdGFiZWwgdm9vcnZvZWdzZWwKICBjb250ZW50OiB8CiAgICA8cD5vc1RpY2tldCB2ZXJlaXN0IGVlbiB0YWJlbCB2b29ydm9lZ3NlbCBvbSBtb2dlbGlqa2UgY29uZmxpY3RlbiBtZXQgYW5kZXJlIHRhYmVsbGVuIGluIGVlbiBnZWRlZWxkZSBkYXRhYmFzZSB0ZSB2b29ya29tZW4uPC9wPgpkYl9ob3N0OgogIHRpdGxlOiBNeVNRTCBIb3N0bmFtZQogIGNvbnRlbnQ6IHwKICAgIDxwPkRlIG1lZXN0ZSB3ZWJob3N0ZXJzIGdlYnJ1aWtlbiAnbG9jYWxob3N0JyBhbHMgaG9zdG5hYW0gdm9vciBlZW4gbG9rYWxlIGRhdGFiYXNlLiBOZWVtIGNvbnRhY3Qgb3AgbWV0IHV3IHdlYmhvc3RlciBhbHMgZGV6ZSBob3N0bmFhbSBuaWV0IHdlcmt0LiA8L3A+IDxwPkRlIHN0YW5kYWFyZHBvb3J0IHpvYWxzIGluZ2VzdGVsZCBpbiBwaHAuaW5pIHdvcmR0IGdlYnJ1aWt0LiBXb3JkdCBlciBlZW4gYW5kZXIgcG9vcnRudW1tZXIgZ2VicnVpa3QgZGFuIGthbiBkZXplIHdvcmRlbiBvcGdlZ2V2ZW4gYWxzIDxjb2RlPmhvc3RuYW1lOnBvcnQ8L2NvZGU+PC9wPgpkYl9zY2hlbWE6CiAgdGl0bGU6IE15U1FMIERhdGFiYXNlCiAgY29udGVudDogfAogICAgPHA+TmFhbSB2YW4gZGUgb3NUaWNrZXQgZGF0YWJhc2UuPC9wPgpkYl91c2VyOgogIHRpdGxlOiBNeVNRTCBHZWJydWlrZXJzbmFhbQogIGNvbnRlbnQ6IHwKICAgIDxwPkRlIE15U1FMIGdlYnJ1aWtlciBtb2V0IHZvbGxlZGlnZSByZWNodGVuIGhlYmJlbiBvcCBkZSBkYXRhYmFzZS48L3A+CmRiX3Bhc3N3b3JkOgogIHRpdGxlOiBNeVNRTCBXYWNodHdvb3JkCiAgY29udGVudDogfAogICAgPHA+TXlTUUwgd2FjaHR3b29yZCBnZWtvcHBlbGQgYWFuIGRlIGhpZXJib3ZlbiBpbmdlZ2V2ZW4gZ2VicnVpa2VyLjwvcD4KLS0tCiNUaGlzIGlzIHBvcHVwIGhlbHAgbWVzc2FnZXMgZm9yIHRoZSBBZG1pbiBQYW5lbCAtPiBNYW5hZ2UgLT4gU2NoZWR1bGVzCiNGaWVsZHM6CiN0aXRsZSAtIFNob3duIGluIGJvbGQgYXQgdGhlIHRvcCBvZiB0aGUgcG9wb3ZlciB3aW5kb3cKI2NvbnRlbnQgLSBUaGUgYm9keSBvZiB0aGUgaGVscCBwb3BvdmVyCiNsaW5rcyAtIExpc3Qgb2YgbGlua3Mgc2hvd3MgYmVsb3cgdGhlIGNvbnRlbnQKI3RpdGxlIC0gTGluayB0aXRsZQojaHJlZiAtIGhyZWYgb2YgbGluayAobGlua3Mgc3RhcnRpbmcgd2l0aCAvIGFyZSB0cmFuc2xhdGVkIHRvIHRoZQojaGVscGRlc2sgaW5zdGFsbGF0aW9uIHBhdGgpCiNUaGUga2V5IG5hbWVzIHN1Y2ggYXMgJ2hlbHBkZXNrX25hbWUnIHNob3VsZCBub3QgYmUgdHJhbnNsYXRlZCBhcyB0aGV5CiNtdXN0IG1hdGNoIHRoZSBIVE1MICNpZHMgcHV0IGludG8gdGhlIHBhZ2UgdGVtcGxhdGUuCiMtLS0Kc2NoZWR1bGU6CiAgdGl0bGU6IFNjaGVkdWxlIERlZmluaXRpb24KICBjb250ZW50OiA+CiAgICA8Yj5OYW1lPC9iPjogVW5pcXVlIG5hbWUgZm9yIHRoZSBzY2hlZHVsZS4gPGhyPiA8Yj5UeXBlPC9iPjogQ2hvb3NlIHRoZSB0eXBlIG9mIFNjaGVkdWxlLiA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPkJ1c2luZXNzIEhvdXJzPC9zcGFuPiBkZWZpbmVzIHRoZSBob3VycyB0aGF0IGFyZSBpbmNsZHVkZWQgd2hlbiBjYWxjdWxhdGluZyBTTEEgaG91cnMsIHdoZXJlIGFzIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+SG9saWRheSBIb3Vyczwvc3Bhbj4gZGVmaW5lIGhvdXJzIHRoYXQgYXJlIGV4Y2x1ZGVkLiA8aHI+IDxiPlRpbWV6b25lPC9iPjogQ2hvb3NlIHRoZSB0aW1lIHpvbmUgZm9yIHRoZSBzY2hlZHVsZS4gSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBsZWF2ZSBpdCBlbXB0eSBmb3IgYSA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPkZsb2F0aW5nPC9zcGFuPiB0aW1lIHpvbmUuIDxicj48YnI+IEZsb2F0aW5nIHRpbWUgem9uZSBhbGxvd3MgZm9yIHRpbWVzIHRvIGJlIHJlbGF0aXZlIHRvIHRoZSBlZmZlY3RpdmUgdGltZSB6b25lIGF0IHRoZSB0aW1lIG9mIHVzZS4KCi0tLQojVGhpcyBpcyBwb3B1cCBoZWxwIG1lc3NhZ2VzIGZvciB0aGUgQWRtaW4gUGFuZWwgLT4gTWFuYWdlIC0+IFNMQSBQbGFuCiNGaWVsZHM6CiN0aXRsZSAtIFNob3duIGluIGJvbGQgYXQgdGhlIHRvcCBvZiB0aGUgcG9wb3ZlciB3aW5kb3cKI2NvbnRlbnQgLSBUaGUgYm9keSBvZiB0aGUgaGVscCBwb3BvdmVyCiNsaW5rcyAtIExpc3Qgb2YgbGlua3Mgc2hvd3MgYmVsb3cgdGhlIGNvbnRlbnQKI3RpdGxlIC0gTGluayB0aXRsZQojaHJlZiAtIGhyZWYgb2YgbGluayAobGlua3Mgc3RhcnRpbmcgd2l0aCAvIGFyZSB0cmFuc2xhdGVkIHRvIHRoZQojaGVscGRlc2sgaW5zdGFsbGF0aW9uIHBhdGgpCiNUaGUga2V5IG5hbWVzIHN1Y2ggYXMgJ2hlbHBkZXNrX25hbWUnIHNob3VsZCBub3QgYmUgdHJhbnNsYXRlZCBhcyB0aGV5CiNtdXN0IG1hdGNoIHRoZSBIVE1MICNpZHMgcHV0IGludG8gdGhlIHBhZ2UgdGVtcGxhdGUuCiMtLS0KbmFtZToKICB0aXRsZTogTmFhbQogIGNvbnRlbnQ6ID4KICAgIEtpZXMgZWVuIG5hYW0gZGllIG9tc2NocmlqZnQgd2F0IGRlIG9wemV0IGlzIHZhbiBkaXQgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5TTEEgUGxhbjwvc3Bhbj4uCmdyYWNlX3BlcmlvZDoKICB0aXRsZTogUmVzcG9uc3RpamQKICBjb250ZW50OiA+CiAgICBCZXBhYWwgaGV0IGFhbnRhbCB1cmVuIG5hZGF0IGVlbiB0aWNrZXQgYWFuZ2VtYWFrdCBpcywgaGV0IGF1dG9tYXRpc2NoIGdlbWFya2VlcmQgemFsIHdvcmRlbiBhbHMgb3ZlcnRpamQuIDxicj48YnI+IDxlbT5VcmVuIHdvcmRlbiBnZXRlbGQgdmFuYWYgZGUgYWFubWFha3RpamQgdmFuIGhldCB0aWNrZXQuPC9lbT4KdHJhbnNpZW50OgogIHRpdGxlOiBEeW5hbWlzY2gKICBjb250ZW50OiA+CiAgICBEeW5hbWlzY2hlIFNlcnZpY2UgUGxhbnMgd29yZGVuIGJlc2Nob3V3ZCBhbHMgdGlqZGVsaWprIGVuIGt1bm5lbiB3b3JkZW4gb3ZlcnNjaHJldmVuIGRvb3IgZWVuIG5pZXQtZHluYW1pc2NoIFNlcnZpY2UgUGxhbiBvcCA8c3BhbiBjbGFzcz0iZG9jLWRlc2Mtb3B0Ij5EZXBhcnRlbWVudDwvc3Bhbj4gb3ZlcmRyYWNodCBvZiB3YW5uZWVyIGhldCA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPkhlbHAtb25kZXJ3ZXJwPC9zcGFuPiBnZXdpanppZ2Qgd29yZHQuCnNjaGVkdWxlOgogIHRpdGxlOiBTY2hlZHVsZQogIGNvbnRlbnQ6ID4KICAgIENob29zZSB0aGUgU2NoZWR1bGUgdG8gYmUgdXNlZCBieSB0aGlzIFNMQSB3aGVuIHJlbmRlcmluZyB0aWNrZXRzIE92ZXJkdWUuIDxicj48YnI+IFBsZWFzZSBub3RlIHRoYXQgRGVwYXJ0bWVudCBzZXR0aW5ncyBjYW4gb3ZlcnJpZGUgdGhpcyBzY2hlZHVsZS4KICBsaW5rczoKICAgIC0gCiAgICAgIHRpdGxlOiBNYW5hZ2UgU2NoZWR1bGVzCiAgICAgIGhyZWY6IC9zY3Avc2NoZWR1bGVzLnBocAotLS0KI1RoaXMgaXMgcG9wdXAgaGVscCBtZXNzYWdlcyBmb3IgdGhlIEFkbWluIFBhbmVsIC0+IFNldHRpbmdzIC0+IFN5c3RlbQojRmllbGRzOgojdGl0bGUgLSBTaG93biBpbiBib2xkIGF0IHRoZSB0b3Agb2YgdGhlIHBvcG92ZXIgd2luZG93CiNjb250ZW50IC0gVGhlIGJvZHkgb2YgdGhlIGhlbHAgcG9wb3ZlcgojbGlua3MgLSBMaXN0IG9mIGxpbmtzIHNob3dzIGJlbG93IHRoZSBjb250ZW50CiN0aXRsZSAtIExpbmsgdGl0bGUKI2hyZWYgLSBocmVmIG9mIGxpbmsgKGxpbmtzIHN0YXJ0aW5nIHdpdGggLyBhcmUgdHJhbnNsYXRlZCB0byB0aGUKI2hlbHBkZXNrIGluc3RhbGxhdGlvbiBwYXRoKQojVGhlIGtleSBuYW1lcyBzdWNoIGFzICdoZWxwZGVza19uYW1lJyBzaG91bGQgbm90IGJlIHRyYW5zbGF0ZWQgYXMgdGhleQojbXVzdCBtYXRjaCB0aGUgSFRNTCAjaWRzIHB1dCBpbnRvIHRoZSBwYWdlIHRlbXBsYXRlLgojLS0tCmhlbHBkZXNrX3N0YXR1czoKICB0aXRsZTogSGVscGRlc2sgU3RhdHVzCiAgY29udGVudDogPgogICAgSWYgdGhlIHN0YXR1cyBpcyBjaGFuZ2VkIHRvIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy1vcHQiPk9mZmxpbmU8L3NwYW4+LCB0aGUgY2xpZW50IGludGVyZmFjZSB3aWxsIGJlIGRpc2FibGVkLiAgT25seSBBZG1pbnMgd2lsbCBiZSBhYmxlIHRvIGFjY2VzcyB0aGUgc3lzdGVtLgpoZWxwZGVza191cmw6CiAgdGl0bGU6IEhlbHBkZXNrIFVSTAogIGNvbnRlbnQ6ID4KICAgIERlemUgVVJMIHZlcndpanN0IG5hYXIgdXcgb3NUaWNrZXQgd2Vic2l0ZS4gRGUgbGluayB3b3JkdCBnZWJydWlrdCBpbiBlLW1haWxzIG9tIGdlYnJ1aWtlcnMgdGVydWcgbmFhciBkZSBoZWxwZGVzayB0ZSBsZWlkZW4uCmhlbHBkZXNrX25hbWVfdGl0bGU6CiAgdGl0bGU6IEhlbHBkZXNrIG5hYW0vdGl0ZWwKICBjb250ZW50OiA+CiAgICBEaXQgaXMgZGUgdGl0ZWwgZGllIHZlcnNjaGlqbnQgaW4gZGUgYnJvd3NlcnRhYi4gQWxzIGplIGhlbHBkZXNrcGFnaW5hIGFscyBmYXZvcmlldCBpcyBvcGdlc2xhZ2VuIGlzIGRpdCBkZSB0aXRlbC9uYWFtIHZhbiBkZSB3ZWJzaXRlLgpkZWZhdWx0X2RlcGFydG1lbnQ6CiAgdGl0bGU6IFN0YW5kYWFyZCBhZmRlbGluZwogIGNvbnRlbnQ6ID4KICAgIEtpZXMgZGUgc3RhbmRhYXJkIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+YWZkZWxpbmc8L3NwYW4+IHZvb3IgdGlja2V0cyBkaWUgbmlldCBhdXRvbWF0aXNjaCB3b3JkZW4gZG9vcmdlc3R1dXJkIG5hYXIgZWVuIGFmZGVsaW5nLiA8YnIvPjxici8+IFRpY2tldHMga3VubmVuIHdvcmRlbiBkb29yZ2VzdHV1cmQgb3AgYmFzaXMgdmFuIG9uZGVyd2VycCwgYmlubmVua29tZW5kZSBlbWFpbCBlbiB0aWNrZXQgZmlsdGVyIGluc3RlbGxpbmdlbi4KZGVmYXVsdF9zY2hlZHVsZToKICB0aXRsZTogRGVmYXVsdCBTY2hlZHVsZQogIGNvbnRlbnQ6ID4KICAgIENob29zZSB0aGUgZGVmYXVsdCBTY2hlZHVsZSB0byBiZSB1c2VkIGJ5IFNMQSB3aGVuIHJlbmRlcmluZyB0aWNrZXRzIE92ZXJkdWUuCiAgbGlua3M6CiAgICAtIAogICAgICB0aXRsZTogTWFuYWdlIFNjaGVkdWxlcwogICAgICBocmVmOiAvc2NwL3NjaGVkdWxlcy5waHAKZGVmYXVsdF9wYWdlX3NpemU6CiAgdGl0bGU6IFN0YW5kYWFyZCBwYWdpbmFncm9vdHRlCiAgY29udGVudDogPgogICAgS2llcyBoZXQgYWFudGFsIGdldG9vbmRlIGl0ZW1zIHBlciBwYWdpbmEgaW4gZGUgdGlja2V0IHdhY2h0cmlqIGluIGhldCBQZXJzb25lZWwgRGFzaGJvYXJkLiBFbGtlIG1lZGV3ZXJrZXIga2FuIGRpdCBhYW50YWwgYWFucGFzc2VuIHZvb3IgemlqbiBlaWdlbiBhY2NvdW50IG9uZGVyICA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPk1pam4gVm9vcmtldXJlbjwvc3Bhbj4uCmRlZmF1bHRfbG9nX2xldmVsOgogIHRpdGxlOiBTdGFuZGFhcmQgTG9nbml2ZWF1CiAgY29udGVudDogPgogICAgQmVwYWFsIGhldCBtaW5pbXVtIG5pdmVhdSB2YW4gcHJvYmxlbWVuIGRpZSB3b3JkZW4gb3BnZXNsYWdlbiBpbiBkZSA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPnN5c3RlZW0gbG9nYm9la2VuPC9zcGFuPi4gPHNwYW4gY2xhc3M9ImRvYy1kZXNjLW9wdCI+RGVidWc8L3NwYW4+IHZlcnRlZ2Vud29vcmRpZ3QgZGUgbGFhZ3N0ZSB6d2FhcnRlIGVuIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy1vcHQiPkVycm9yPC9zcGFuPiB2ZXJ0ZWdlbndvb3JkaWd0IGRlIGdyb290c3RlIHp3YWFydGUuIEFscyBqZSBiaWp2b29yYmVlbGQgYWxsZSBwcm9ibGVtZW4gd2lsdCB6aWVuIGluIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+U3lzdGVlbSBMb2dib2VrZW48L3NwYW4+LCBraWVzIGRhbiA8c3BhbiBjbGFzcz0iZG9jLWRlc2Mtb3B0Ij5EZWJ1Zzwvc3Bhbj4uCnB1cmdlX2xvZ3M6CiAgdGl0bGU6IFZlcndpamRlciBsb2dib2VrZW4KICBjb250ZW50OiA+CiAgICBCZXBhYWwgaG9lIGxhbmcgamUgZGUgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5TeXN0ZWVtIGxvZ2JvZWtlbjwvc3Bhbj4gd2lsdCBob3VkZW4gdm9vcmRhdCB6ZSB3b3JkZW4gdmVyd2lqZGVyZC4KZW5hYmxlX3JpY2h0ZXh0OgogIHRpdGxlOiBTY2hha2VsIHRla3N0b3BtYWFrIChSVEYpIGluCiAgY29udGVudDogPgogICAgQWxzIGRlemUgb3B0aWUgaXMgaW5nZXNjaGFrZWxkLCBpcyBoZXQgbW9nZWxpamsgb20gZGUgY29tbXVuaWNhdGllIHR1c3NlbiBjbGnDq250ZW4gZW4gbWVkZXdlcmtlcnMgaW4gUmljaFRleHRGb3JtYWF0IHRlIGxhdGVuIHZlcmxvcGVuLgplbmFibGVfYXZhdGFyczoKICB0aXRsZTogTGFhdCBwcm9maWVsYWZiZWVsZGluZyB6aWVuIGluIGRlIGNocm9ub2xvZ2lzY2hlIChsaWpzdCl3ZWVyZ2F2ZQogIGNvbnRlbnQ6ID4KICAgIFNjaGFrZWwgZGl0IGluIG9tIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+UHJvZmllbC1hZmJlZWxkaW5nZW48L3NwYW4+IGluIGNocm9ub2xvZ2lzY2hlIGNvcnJlc3BvbmRlbnRpZSB3ZWVyIHRlIGdldmVuLjxicj48YnI+RGUgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5Qcm9maWVsLWFmYmVlbGRpbmdlbiBicm9uPC9zcGFuPiBrYW4gaW5nZXN0ZWxkIHdvcmRlbiBvcCBBZ2VudHMnIGVuIEdlYnJ1aWtlcnMnIGluc3RlbGxpbmdlbiBwYWdpbmEncy4KICBsaW5rczoKICAgIC0gCiAgICAgIHRpdGxlOiBNZWRld2Vya2VyIGluc3RlbGxpbmdlbgogICAgICBocmVmOiAvc2NwL3NldHRpbmdzLnBocD90PWFnZW50cwogICAgLSAKICAgICAgdGl0bGU6IEdlYnJ1aWtlcnMgaW5zdGVsbGluZ2VuCiAgICAgIGhyZWY6IC9zY3Avc2V0dGluZ3MucGhwP3Q9dXNlcnMKY29sbGlzaW9uX2F2b2lkYW5jZToKICB0aXRsZTogVm9vcmtvbSBkYXQgbWVkZXdlcmtlcnMgaW4gaHVuIHdlZyBsb3BlbgogIGNvbnRlbnQ6ID4KICAgIFZvZXIgZGUgbWF4aW1hbGUgdGlqZCBpbiBkYXQgZWVuIGFnZW50IGVlbiB0aWNrZXQgb3AgJ3BhdXplJyBrYW4gaG91ZGVuIG9mIG5pZXRzIGluIGhldCB0aWNrZXQga2FuIGRvZW4uIDxicj48YnI+IFZvZXIgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLW9wdCI+MDwvc3Bhbj4gaW4gb20gZGV6ZSBtb2dlbGlqa2hlaWQgdWl0IHRlIHNjaGFrZWxlbi4KYWxsb3dfaWZyYW1lczoKICB0aXRsZTogQWxsb3cgaUZyYW1lcwogIGNvbnRlbnQ6ID4KICAgIEVudGVyIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIGRvbWFpbnMgZm9yIHRoZSBzeXN0ZW0gdG8gYmUgZnJhbWVkIGluLiBJZiBsZWZ0IGVtcHR5LCB0aGUgc3lzdGVtIHdpbGwgZGVmYXVsdCB0byAnc2VsZicuIFRoaXMgYWNjZXB0cyBkb21haW4gd2lsZGNhcmRzLCBIVFRQL0hUVFBTIFVSTCBzY2hlbWUsIGFuZCBwb3J0IG51bWJlcnMuIDxicj48YnI+IDxiPkV4YW1wbGU6PC9iPiA8YnI+IGh0dHBzOi8vZG9tYWluLnRsZCwgc3ViLmRvbWFpbi50bGQ6NDQzLCBodHRwOi8vKi5kb21haW4udGxkCiAgbGlua3M6CiAgICAtIAogICAgICB0aXRsZTogU3ludGF4IEluZm9ybWF0aW9uIChob3N0LXNvdXJjZSkKICAgICAgaHJlZjogImh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0hUVFAvSGVhZGVycy9Db250ZW50LVNlY3VyaXR5LVBvbGljeS9mcmFtZS1hbmNlc3RvcnMjU291cmNlcyIKYWNsOgogIHRpdGxlOiBBQ0wgKEFjY2VzcyBDb250cm9sIExpc3QpCiAgY29udGVudDogPgogICAgRW50ZXIgYSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBJUCBhZGRyZXNzZXMgdG8gYWxsb3cgYWNjZXNzIHRvIHRoZSBzeXN0ZW0uIFRoZXJlIGFyZSBmb3VyIG9wdGlvbnMgdG8gY2hvb3NlIHdoaWNoIHBhbmVsKHMpIHRvIGFwcGx5IHRoZSBBQ0wgdG8uIDx0YWJsZSBib3JkZXI9IjEiIGNlbGxwYWRkaW5nPSIycHgiIGNlbGxzcGFjaW5nPSIwIiBzdHlsZT0ibWFyZ2luLXRvcDo3cHgiID48dGJvZHkgc3R5bGU9InZlcnRpY2FsLWFsaWduOnRvcDsiPiA8dHI+PHRoPkFwcGx5IFRvPC90aD4gPHRoPkRlc2NyaXB0aW9uPC90aD48L3RyPiA8dHI+PHRkPkRpc2FibGVkPC90ZD4gPHRkPkRpc2FibGVzIEFDTCBhbHRvZ2V0aGVyLjwvdGQ+PC90cj4gPHRyPjx0ZD5BbGw8L3RkPiA8dGQ+QXBwbGllcyBBQ0wgdG8gYWxsIFBhbmVscy4gKGllLiBDbGllbnQgUG9ydGFsLCBTdGFmZiBQYW5lbCwgQWRtaW4gUGFuZWwpPC90ZD48L3RyPiA8dHI+PHRkPkNsaWVudCBQb3J0YWw8L3RkPiA8dGQ+QXBwbGllcyBBQ0wgdG8gb25seSBDbGllbnQgUG9ydGFsLjwvdGQ+PC90cj4gPHRyPjx0ZD5TdGFmZiBQYW5lbDwvdGQ+IDx0ZD5BcHBsaWVzIEFDTCB0byBvbmx5IFN0YWZmIFBhbmVsIGFuZCBBZG1pbiBQYW5lbC48L3RkPjwvdHI+IDwvdGJvZHk+PC90YWJsZT4KI0RhdGUgYW5kIHRpbWUgb3B0aW9ucwpkYXRlX3RpbWVfb3B0aW9uczoKICB0aXRsZTogRGF0dW0gJmFtcDsgVGlqZCBPcHRpZXMKICBjb250ZW50OiA+CiAgICBEZSB2b2xnZW5kZSBpbnN0ZWxsaW5nZW4gZGVmaW5pw6tyZW4gZGUgc3RhbmRhYXJkIGluc3RlbGxpbmdlbiB2b29yIERhdHVtIGVuIFRpamQgdm9vciBkZSBoZWxwZGVzay4gSmUga3VudCBkZSBsb2thbGUgc3RhbmRhYXJkZW4gZ2VicnVpa2VuIHZvb3IgZGUgaHVpZGlnZSByZWdpbyBvZiBqZSBrdW50IHV3IGVpZ2VuIG9wbWFha2luc3RlbGxpbmdlbiBpbnZvZXJlbi4gWm9layBkZSBqdWlzdGUgemduICJJQ1UgZm9ybWFhdCIgb3BtYWFrIG9tIGplIGluc3RlbGxpbmcgZ29lZCBpbiB0ZSB2b2VyZW4uIERlIGRhdHVtcyBoaWVyb25kZXIgZ2V2ZW4gaGV0IHJlc3VsdGFhdCB2YW4gdXcgaW5zdGVsbGluZ2VuIHdlZXIuCiAgbGlua3M6CiAgICAtIAogICAgICB0aXRsZTogQmVraWprIGRlIElDVSBkYXR1bS1mb3JtYWF0IHRhYmVsCiAgICAgIGhyZWY6IGh0dHA6Ly91c2VyZ3VpZGUuaWN1LXByb2plY3Qub3JnL2Zvcm1hdHBhcnNlL2RhdGV0aW1lCmxhbmd1YWdlczoKICB0aXRsZTogU3lzdGVlbSB0YWxlbgogIGNvbnRlbnQ6ID4KICAgIEtpZXMgZWVuIHByaW1haXJlIHN5c3RlZW10YWFsIGVuLCBvcHRpb25lZWwsIGRlIHNlY3VuZGFpcmUgdGFhbGluc3RlbGxpbmdlbiBvbSB6byBkZSBhZ2VudGVuIGVuIGVpbmRnZWJydWlrZXJzIGhldCBnZXZvZWwgdmFuIGVlbiBuZWRlcmxhbmRzY2ggcHJvZHVjdCB0ZSBnZXZlbi4KcHJpbWFyeV9sYW5ndWFnZToKICB0aXRsZTogU3RlbCBkZSBwcmltYWlyZSB0YWFsIGluCiAgY29udGVudDogPgogICAgRGV6ZSB0YWFsIHdvcmR0IHdlZXJnZWdldmVuIGFscyBlZW4gYWdlbnQgb2YgZWluZGdlYnJ1aWtlciBlZW4gb25nZWxkaWdlIHRhYWwgaGVlZnQgaW5nZXZvZXJkLiBEaXQgZ2VsZHQgb29rIHZvb3IgZGUgaW50ZXJmYWNlIGVuIG9vayB2b29yIGRlIHpnbiAndGhhbmt5b3UtcGFnZXMnIGVuIGVtYWlsYmVyaWNodGVuLjxicj48YnI+IERpdCBpcyBkZSB0YWFsIHdhYXJpbiBvbnZlcnRhYWxkZSBzdHVra2VuIHZhbiBqZSBpbmhvdWQgZ2VzY2hyZXZlbiB6b3VkZW4gbW9ldGVuIHdvcmRlbi4Kc2Vjb25kYXJ5X2xhbmd1YWdlOgogIHRpdGxlOiBBbHRlcm5hdGlldmUgdGFhbGluc3RlbGxpbmcKICBjb250ZW50OiA+CiAgICBTbGVjdGVlciBkZSB0YWFsIHZvb3JrZXV6ZW9wdGllIHZvb3IgamUgYWdlbnRlbiBlbiBlaW5kZ2VicnVpa2Vycy4gSGV0IHN5c3RlZW0gemFsIGJlc2NoaWtiYWFyIHppam4gaW4gZGV6ZSB0YWxlbiwgb29rIHZyaWplIGluaG91ZCBlbiBlbWFpbGJlcmljaHRlbiB6dWxsZW4gbmFhciBkZXplIHRhYWwgd29yZGVuIHZlcnRhYWxkLgojQXR0YWNobWVudHMKYXR0YWNobWVudHM6CiAgdGl0bGU6IEJpamxhZ2UgSW5zdGVsbGluZ2VuIGVuIE9wc2xhZwogIGNvbnRlbnQ6ID4KICAgIFN0ZWwgaW4gaG9lIGJpamxhZ2VzIHdvcmRlbiBvcGdlc2xhZ2VuLgpkZWZhdWx0X3N0b3JhZ2VfYms6CiAgdGl0bGU6IEJlc3RhbmRzb3BzbGFnIGluc3RlbGxpbmdlbgogIGNvbnRlbnQ6ID4KICAgIENob29zZSBob3cgYXR0YWNobWVudHMgYXJlIHN0b3JlZC4gPGJyPjxicj4gQWRkaXRpb25hbCBzdG9yYWdlIGJhY2tlbmRzIGNhbiBiZSBhZGRlZCBieSBpbnN0YWxsaW5nIHN0b3JhZ2UgcGx1Z2lucwptYXhfZmlsZV9zaXplOgogIHRpdGxlOiBNYXhpbWFsZSBiZXN0YW5kc2dyb290dGUKICBjb250ZW50OiA+CiAgICBLSWVzIGRlIG1heGltYWxlIGJlc3RhbmRzZ3Jvb3R0ZSB2b29yIGJpamxhZ2VzIHZhbiBBZ2VudGVuLiBEaXQgYmV2YXQgYmlqbGFnZXMsIGtlbm5pc2RhdGFiYXNlLWFydGlrZWxlbiBlbiBiaWpsYWdlcyBiaWogdGlja2V0cyBlbiB0YWtlbi4gRGUgYm92ZW5ncmVucyB3b3JkdCBiZXBhYWxkIGRvb3IgZGUgUEhQIGluc3RlbGxpbmcgPGNvZGU+dXBsb2FkX21heF9maWxlc2l6ZTwvY29kZT4gaW5zdGVsbGluZy4KICBsaW5rczoKICAgIC0gCiAgICAgIHRpdGxlOiBQSFAgaW5pIGluc3RlbGxpbmdlbgogICAgICBocmVmOiAiaHR0cDovL3BocC5uZXQvbWFudWFsL2VuL2luaS5jb3JlLnBocCNpbmkudXBsb2FkLW1heC1maWxlc2l6ZSIKZmlsZXNfcmVxX2F1dGg6CiAgdGl0bGU6IElubG9nZ2VuIHZlcmVpc3QKICBjb250ZW50OiA+CiAgICBFbmFibGUgdGhpcyBzZXR0aW5nIHRvIGZvcmJpZCBzZXJ2aW5nIGF0dGFjaG1lbnRzIHRvIHVuYXV0aGVudGljYXRlZCB1c2Vycy4gVGhhdCBpcywgdXNlcnMgbXVzdCBzaWduIGludG8gdGhlIHN5c3RlbSAoYm90aCBlbmQgdXNlcnMgYW5kIGFnZW50cyksIGluIG9yZGVyIHRvIHZpZXcgYXR0YWNobWVudHMuIDxicj48YnI+IEZyb20gYSBzZWN1cml0eSBwZXJzcGVjdGl2ZSwgYmUgYXdhcmUgdGhhdCB0aGUgdXNlcidzIGJyb3dzZXIgbWF5IHJldGFpbiBwcmV2aW91c2x5LXZpZXdlZCBmaWxlcyBpbiBpdHMgY2FjaGUuIEZ1cnRoZXJtb3JlLCBhbGwgZmlsZSBsaW5rcyBvbiB5b3VyIGhlbHBkZXNrIGF1dG9tYXRpY2FsbHkgZXhwaXJlIGFmdGVyIGFib3V0IDI0IGhvdXJzLgotLS0KI1RoaXMgaXMgcG9wdXAgaGVscCBtZXNzYWdlcyBmb3IgdGhlIEFkbWluIFBhbmVsIC0+IFNldHRpbmdzIC0+IFRpY2tldHMKI0ZpZWxkczoKI3RpdGxlIC0gU2hvd24gaW4gYm9sZCBhdCB0aGUgdG9wIG9mIHRoZSBwb3BvdmVyIHdpbmRvdwojY29udGVudCAtIFRoZSBib2R5IG9mIHRoZSBoZWxwIHBvcG92ZXIKI2xpbmtzIC0gTGlzdCBvZiBsaW5rcyBzaG93cyBiZWxvdyB0aGUgY29udGVudAojdGl0bGUgLSBMaW5rIHRpdGxlCiNocmVmIC0gaHJlZiBvZiBsaW5rIChsaW5rcyBzdGFydGluZyB3aXRoIC8gYXJlIHRyYW5zbGF0ZWQgdG8gdGhlCiNoZWxwZGVzayBpbnN0YWxsYXRpb24gcGF0aCkKI1RoZSBrZXkgbmFtZXMgc3VjaCBhcyAnaGVscGRlc2tfbmFtZScgc2hvdWxkIG5vdCBiZSB0cmFuc2xhdGVkIGFzIHRoZXkKI211c3QgbWF0Y2ggdGhlIEhUTUwgI2lkcyBwdXQgaW50byB0aGUgcGFnZSB0ZW1wbGF0ZS4KIy0tLQpudW1iZXJfZm9ybWF0OgogIHRpdGxlOiBUaWNrZXQgbnVtbWVyZm9ybWFhdAogIGNvbnRlbnQ6ID4KICAgIERlemUgaW5zdGVsbGluZyB3b3JkdCBnZWJydWlrdCBvbSB0aWNrZXRudW1tZXJzIHRlIGdlbmVyZXJlbi4gR2VicnVpayBoYXNodGVrZW5zIChgI2ApIHdhYXIgY2lqZmVycyBtb2V0ZW4gd29yZGVuIGdlcGxhYXRzdC4gRWxrZSBhbmRlcmUgdGVrc3QgaW4gaGV0IG51bW1lcmZvcm1hYXQgd29yZHQgYmV3YWFyZC4gPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5IZWxwIE9uZGVyd2VycGVuPC9zcGFuPiBrdW5uZW4gYWFuZ2VwYXN0ZSBudW1tZXJmb3JtYXRlbiBpbnN0ZWxsZW4uIDxici8+PGJyLz4gR2VicnVpayBiaWp2b29yYmVlbGQgdm9vciB6ZXMtY2lqZmVyaWdlIG51bW1lcnMgZGUgY29kZSA8Y29kZT4jIyMjIyM8L2NvZGU+LgpzZXF1ZW5jZV9pZDoKICB0aXRsZTogVGlja2V0IG51bW1lciByZWVrcwogIGNvbnRlbnQ6ID4KICAgIEtpZXMgZWVuIG1ldGhvZGUgb20gbmlldXdlIHRpY2tldHMgdGUgbnVtbWVyZW4uIEhldCBzeXN0ZWVtIGhlZWZ0IGVlbiBvcHRlbG1ldGhvZGUgb2YgZWVuIHpnbiAnd2lsbGVrZXVyaWdlJy1tZXRob2RlIG1ldCBiZXRyZWtraW5nIHRvdCBoZXQgbnVtbWVyZW4gdmFuIGRlIHRpY2tldHMuIEplIGt1bnQgem92ZWVsIG1ldGhvZGVzIGFhbm1ha2VuIGFscyBqZSB3aWx0IGluIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+VGlja2V0IE51bW1lciBGb3JtYWF0PC9zcGFuPiBjb25maWd1cmF0aWUuCnF1ZXVlX2J1Y2tldF9jb3VudHM6CiAgdGl0bGU6IFRpY2tldCB0ZWxsZXIgaW4gbWVudWJhbGsKICBjb250ZW50OiA+CiAgICBUaGlzIHNldHRpbmcgaXMgdXNlZCB0byBoaWRlIG9yIHNob3cgdGhlIHRpY2tldCBjb3VudHMgb24gTWFpbi1MZXZlbCBxdWV1ZXMuIEdldCBiYWNrIHRvIHRoZSB3YXkgdGhpbmdzIHVzZWQgdG8gYmUuCmRlZmF1bHRfdGlja2V0X3N0YXR1czoKICB0aXRsZTogU3RhbmRhYXJkIHN0YXR1cyB2b29yIG5pZXV3ZSB0aWNrZXRzCiAgY29udGVudDogPgogICAgS2llcyBkZSBpbml0acOrbGUgc3RhdHVzIGRpZSBlbGsgbmlldXcgdGlja2V0IHphbCBoZWJiZW4uIERpdCBrYW4gZ2VkZWZpbmllZXJkIHdvcmRlbiB2b29yIGVsayBoZWxwLW9uZGVyd2VycCBlbiBhbHMgZ2V3ZW5zdCwga2FuIGRpdCBvdmVycnVsZWQgd29yZGVuIHZpYSBlZW4gdGlja2V0IGZpbHRlci4KICBsaW5rczoKICAgIC0gCiAgICAgIHRpdGxlOiBUaWNrZXQgc3RhdHVzc2VuIGJlaGVyZW4KICAgICAgaHJlZjogL3NjcC9saXN0cy5waHA/dHlwZT10aWNrZXQtc3RhdHVzCmRlZmF1bHRfc2xhOgogIHRpdGxlOiBTdGFuZGFhcmQgU0xBCiAgY29udGVudDogPgogICAgS2llcyBkZSBvdmVyZWVuZ2Vrb21lbiBzdGFuZGFhcmQgb20gdGUgYmVwYWxlbiBob2UgbGFuZyBlZW4gdGlja2V0IG1hZyBsb3BlbiBhbHZvcmVucyBoZXQgdGlja2V0IHdvcmR0IGFhbmdlbWVsZCBhbHMgJ3ZlcmxvcGVuJy4KICBsaW5rczoKICAgIC0gCiAgICAgIHRpdGxlOiBNYWFrIG1lZXIgU0xBIHBsYW5uZW4KICAgICAgaHJlZjogL3NjcC9zbGFzLnBocApkZWZhdWx0X3ByaW9yaXR5OgogIHRpdGxlOiBTdGFuZGFhcmRwcmlvcml0ZWl0CiAgY29udGVudDogPgogICAgS2llcyBlZW4gc3RhbmRhYXJkIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+cHJpb3JpdGVpdDwvc3Bhbj4gdm9vciBuaWV1d2UgdGlja2V0cyBkaWUgbmlldCBhdXRvbWF0aXNjaCBlZW4gbmlldXdlIHByaW9yaXRlaXQga3Jpamdlbi4gPGJyLz48YnIvPlByaW9yaXRlaXQga2FuIHRvZWdla2VuZCB3b3JkZW4gd29yZGVuIHZpYSBoZXQgaGVscG9uZGVyd2VycCwgb2YgdmlhIGRlIHRpY2tldC1maWx0ZXItaW5zdGVsbGluZ2VuLgptYXhpbXVtX29wZW5fdGlja2V0czoKICB0aXRsZTogTWF4aW1hYWwgYWFudGFsIG9wZW4gdGlja2V0cwogIGNvbnRlbnQ6ID4KICAgIFZ1bCBoZXQgbWF4aW1hYWwgPGVtPmFhbnRhbDwvZW0+IHRpY2tldHMgaW4gZGF0IGllbWFuZCA8c3Ryb25nPm9wZW48L3N0cm9uZz4gbWFnIGhlYmJlbiBpbiBoZXQgaGVscGRlc2tzeXRlZW0sPGJyPjxicj5WdWwgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLW9wdCI+MCA8L3NwYW4+IGluIG9tIGRlemUgbGltaXRhdGllIHVpdCB0ZSBzY2hha2VsZW4uCmVtYWlsX3RpY2tldF9wcmlvcml0eToKICB0aXRsZTogRS1tYWlsIFRpY2tldCBwcmlvcml0ZWl0CiAgY29udGVudDogPgogICAgR2VicnVpayBkZSBwcmlvcml0ZWl0IHZhbiBkZSBlbWFpbG9udHZhbmdlcgpzaG93X3JlbGF0ZWRfdGlja2V0czoKICB0aXRsZTogVG9vbiBnZXJlbGF0ZWVyZGUgVGlja2V0cwogIGNvbnRlbnQ6ID4KICAgIFRvb24gYWxsZSBnZXJlbGF0ZWVyZGUgdGlja2V0cyBiaWogaGV0IGlubG9nZ2VuIC0gYW5kZXJzIGlzIGRlIHRvZWdhbmcgYmVwZXJrdCB0b3QgbWF4LiAxIHRpY2tldCBwZXIgbG9naW4KaHVtYW5fdmVyaWZpY2F0aW9uOgogIHRpdGxlOiBNZW5zZWxpamtlIHZlcmlmaWNhdGllCiAgY29udGVudDogPgogICAgTWFhayBDQVBUQ0hBIG1vZ2VsaWprIG9wIGhldCBrbGFudGVucHJvdGFhbCBvbSBkZSBlY2h0aGVpZCB2YW4gaW5nZXpvbmRlbiBiZXJpY2h0ZW4gdGUgd2FhcmJvcmdlbi4gPGJyPjxicj4gVSBoZWVmdCBoaWVyIGRlIEdEbGliIGxpYnJhcnkgbm9kaWcKY2xhaW1fdGlja2V0czoKICB0aXRsZTogVGlja2V0IG92ZXJuZW1lbiBiaWogYW50d29vcmQKICBjb250ZW50OiA+CiAgICBFbmFibGUgdGhpcyB0byBhdXRvLWFzc2lnbiB1bmFzc2lnbmVkIHRpY2tldHMgdG8gdGhlIHJlc3BvbmRpbmcgQWdlbnQuIDxicj48YnI+IFJlb3BlbmVkIHRpY2tldHMgYXJlIGFsd2F5cyBhc3NpZ25lZCB0byB0aGUgbGFzdCByZXNwb25kZW50IHVubGVzcyBhdXRvIGFzc2lnbiBvbiByZW9wZW4gaXMgZGlzYWJsZWQgb24gdGhlIERlcGFydG1lbnQgbGV2ZWwuCmNvbGxhYm9yYXRvcl90aWNrZXRfdmlzaWJpbGl0eToKICB0aXRsZTogWmljaHRiYWFyIHZvb3Igc2FtZW53ZXJrZXJzCiAgY29udGVudDogPgogICAgSWYgRW5hYmxlZCwgVXNlcnMgd2lsbCBoYXZlIHZpc2liaWxpdHkgdG8gQUxMIFRpY2tldHMgdGhleSBwYXJ0aWNpcGF0ZSBpbiB3aGVuIHNpZ25pbmcgaW50byB0aGUgV2ViIFBvcnRhbC4gPGJyPjxicj4gSWYgRGlzYWJsZWQsIFVzZXJzIHdpbGwgb25seSBiZSBhYmxlIHRvIHNlZSB0aGVpciBvd24gVGlja2V0cyB3aGVuIHNpZ25pbmcgaW50byB0aGUgV2ViIFBvcnRhbC4KcmVxdWlyZV90b3BpY190b19jbG9zZToKICB0aXRsZTogVmVyZWlzIGhlbHBvbmRlcndlcnAgb20gdGUgc2x1aXRlbgogIGNvbnRlbnQ6ID4KICAgIElmIEVuYWJsZWQsIGEgVGlja2V0IG11c3QgaGF2ZSBhIEhlbHAgVG9waWMgaW4gb3JkZXIgdG8gYmUgQ2xvc2VkIGJ5IGFuIEFnZW50CmFzc2lnbmVkX3RpY2tldHM6CiAgdGl0bGU6IFRvZWdld2V6ZW4gVGlja2V0cwogIGNvbnRlbnQ6ID4KICAgIFNjaGFrZWwgZGV6ZSBtb2dlbGlqa2hlaWQgaW4gb20gdG9lZ2VrZW5kZSB0aWNrZXRzIHVpdCB0ZSBzbHVpdGVuIHVpdCBkZSA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPk9wZW4gVGlja2V0cyBMaWpzdDwvc3Bhbj4uCmFuc3dlcmVkX3RpY2tldHM6CiAgdGl0bGU6IEJlYW50d29vcmRkZSBUaWNrZXRzCiAgY29udGVudDogPgogICAgU2NoYWtlbCBkZXplIG1vZ2VsaWpraGVpZCBpbiBvbSBiZWFudHdvb3JkZSB0aWNrZXRzIGluIGRlIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+QmVhbnR3b29yZGUgVGlja2V0cyBMaWpzdDwvc3Bhbj4gdGUgemllbi4gQW5kZXJzIHdvcmRlbiBkZXplIHRpY2tldHMgZ2V3b29uIGluIGRlIGxpanN0IHZhbiA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPk9wZW4gVGlja2V0czwvc3Bhbj4gZ2V0b29uZC4KdGlja2V0X2F0dGFjaG1lbnRfc2V0dGluZ3M6CiAgdGl0bGU6IFRpY2tldCB2ZXJsb29wIGJpamxhZ2VzCiAgY29udGVudDogPgogICAgQmV3ZXJrIGRlIGluc3RlbGxpbmdlbiB2YW4gYmlqbGFnZXMgZGllIGFhbiBkZSA8Y2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5wcm9ibGVlbW9tc2NocmlqdmluZzwvc3Bhbj4gemlqbiBnZWtvcHBlbGQsIERlemUgaW5zdGVsbGluZ2VuIHdvcmRlbiB2b29yIGFsbGUgbmlldXdlIHRpY2tldHMgZ2VicnVpa3QsIG9uZ2VhY2h0IGRlIG1hbmllciB3YWFyb3AgZGV6ZSB0aWNrZXRzIHdvcmRlbiBpbmdlZGllbmQuICh3ZWJwb3J0YWFsLCBlbWFpbCwgYXBpIGV0Yy4pLgotLS0KI1RoaXMgaXMgcG9wdXAgaGVscCBtZXNzYWdlcyBmb3IgdGhlIEFkbWluIFBhbmVsIC0+IFN0YWZmIC0+IEFkZCBOZXcgRGVwYXJ0bWVudCAtPiBEZXBhcnRtZW50IEZvcm0KI0ZpZWxkczoKI3RpdGxlIC0gU2hvd24gaW4gYm9sZCBhdCB0aGUgdG9wIG9mIHRoZSBwb3BvdmVyIHdpbmRvdwojY29udGVudCAtIFRoZSBib2R5IG9mIHRoZSBoZWxwIHBvcG92ZXIKI2xpbmtzIC0gTGlzdCBvZiBsaW5rcyBzaG93cyBiZWxvdyB0aGUgY29udGVudAojdGl0bGUgLSBMaW5rIHRpdGxlCiNocmVmIC0gaHJlZiBvZiBsaW5rIChsaW5rcyBzdGFydGluZyB3aXRoIC8gYXJlIHRyYW5zbGF0ZWQgdG8gdGhlCiNoZWxwZGVzayBpbnN0YWxsYXRpb24gcGF0aCkKI1RoZSBrZXkgbmFtZXMgc3VjaCBhcyAnaGVscGRlc2tfbmFtZScgc2hvdWxkIG5vdCBiZSB0cmFuc2xhdGVkIGFzIHRoZXkKI211c3QgbWF0Y2ggdGhlIEhUTUwgI2lkcyBwdXQgaW50byB0aGUgcGFnZSB0ZW1wbGF0ZS4KIy0tLQpzdGF0dXM6CiAgdGl0bGU6IFN0YXR1cwogIGNvbnRlbnQ6ID4KICAgIElmIGRpc2FibGVkIG9yIGFyY2hpdmVkLCB0aGlzIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+RGVwYXJ0bWVudDwvc3Bhbj4gd2lsbCBub3QgYmUgYXZhaWxhYmxlLgp0eXBlOgogIHRpdGxlOiBUeXBlCiAgY29udGVudDogPgogICAgU2VsZWN0ZWVyIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy1vcHQiPlByaXbDqTwvc3Bhbj4gYWxzIHUgZGUgdG9ld2lqemluZ2VuIHZhbiBkZXplIEFmZGVsaW5nIHdpbCB2ZXJiZXJnZW4gaW4gaGV0IEdlYnJ1aWtlcnNwb3J0YWFsLiBCb3ZlbmRpZW4gemFsIGRlIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+QWZkZWxpbmdzaGFuZHRla2VuaW5nPC9zcGFuPiBuaWV0IGdldG9vbmQgd29yZGVuIGluIGRlIGUtbWFpbCBhbnR3b29yZGVuLiA8YnIvPjxici8+IEVyIG1vZXQgdGVubWluc3RlIMOpw6luIEFmZGVsaW5nIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy1vcHQiPlB1YmxpZWs8L3NwYW4+IHppam4uCmVtYWlsOgogIHRpdGxlOiBFbWFpbAogIGNvbnRlbnQ6ID4KICAgIEUtbWFpbGFkcmVzc2VuIGdlYnJ1aWt0IG9tIGFudHdvb3JkZW4gdGUgdmVyemVuZGVuIG5hYXIgR2VicnVpa2VycyB3YW5uZWVyIFZlcmFudHdvb3JkZWxpamtlbiBSZWFjdGllcyBnZXZlbiBvcCBUaWNrZXRzLgp0ZW1wbGF0ZToKICB0aXRsZTogU2phYmxvb24gU2V0CiAgY29udGVudDogPgogICAgRS1tYWlsIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+U2phYmxvb24gU2V0PC9zcGFuPiB3b3JkZW4gZ2VicnVpa3Qgdm9vciBBdXRvbWF0aXNjaGUtUmVhY3RpZSBlbiBXYWFyc2NodXdpbmdlbiAmYW1wOyBNZWRlZGVsaW5nZW4gdm9vciBUaWNrZXRzIGRpZSBkb29yZ2VzdHV1cmQgd29yZGVuIG5hYXIgZGV6ZSBBZmRlbGluZy4KICBsaW5rczoKICAgIC0gCiAgICAgIHRpdGxlOiBTamFibG9uZW4gYmVoZXJlbgogICAgICBocmVmOiAvc2NwL3RlbXBsYXRlcy5waHAKc2xhOgogIHRpdGxlOiBTZXJ2aWNlIExldmVsCiAgY29udGVudDogPgogICAgU2VydmljZSBMZXZlbCB2b29yIFRpY2tldHMgZG9vcmdlc3R1dXJkIG5hYXIgZGV6ZSBBZmRlbGluZy4KICBsaW5rczoKICAgIC0gCiAgICAgIHRpdGxlOiBTZXJ2aWNlIHBsYW5uZW4gYmVoZXJlbgogICAgICBocmVmOiAvc2NwL3NsYXMucGhwCnNjaGVkdWxlOgogIHRpdGxlOiBTY2hlZHVsZQogIGNvbnRlbnQ6ID4KICAgIFNjaGVkdWxlIHVzZWQgYnkgU0xBIHdoZW4gcmVuZGVyaW5nIHRpY2tldHMsIHJvdXRlZCB0byB0aGlzIERlcGFydG1lbnQsIE92ZXJkdWUuIDxicj48YnI+IFRoaXMgc2V0dGluZyB0YWtlcyBwcmVzaWRlbmNlIG92ZXIgU3lzdGVtIGFuZCBTTEEgc2NoZWR1bGUgc2V0dGluZ3MuCiAgbGlua3M6CiAgICAtIAogICAgICB0aXRsZTogTWFuYWdlIFNjaGVkdWxlcwogICAgICBocmVmOiAvc2NwL3NjaGVkdWxlcy5waHAKbWFuYWdlcjoKICB0aXRsZTogQWZkZWxpbmdzYmVoZWVyZGVyCiAgY29udGVudDogPgogICAgU2VsZWN0ZWVyIGVlbiA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPkJlaGVlcmRlcjwvc3Bhbj4gdm9vciBkZXplIGFmZGVsaW5nLiA8YnIvPjxici8+QmVoZWVyZGVycyBrdW5uZW4gaW5nZXN0ZWxkIHdvcmRlbiBvbSBzcGVjaWFsZSB3YWFyc2NodXdpbmdlbiB0ZSBvbnR2YW5nZW4gZW4gb29rIHJlY2h0ZW4gZ2VnZXZlbiB3b3JkZW4gb20gVGlja2V0cyB0ZSBvbnRuZW1lbi4KICBsaW5rczoKICAgIC0gCiAgICAgIHRpdGxlOiBCZWhlcmVuIHZhbiBXYWFyc2NodXdpbmdlbiAmYW1wOyBNZWRlZGVsaW5nZW4KICAgICAgaHJlZjogL3NjcC9zZXR0aW5ncy5waHA/dD1hbGVydHMKZ3JvdXBfbWVtYmVyc2hpcDoKICB0aXRsZTogT250dmFuZ2VycyB2YW4gV2FhcnNjaHV3aW5nZW4gJmFtcDsgTWVkZWRlbGluZ2VuCiAgY29udGVudDogPgogICAgU2VsZWN0ZWVyIGRlIG9udHZhbmdlcnMgdm9vciBkZSBnZWNvbmZpZ3VyZWVyZGUgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5XYWFyc2NodXdpbmdlbiAmYW1wOyBNZWRlZGVsaW5nZW48L3NwYW4+LgogIGxpbmtzOgogICAgLSAKICAgICAgdGl0bGU6IENvbmZpZ3VyZWVyIFdhYXJzY2h1d2luZ2VuICZhbXA7IE1lZGVkZWxpbmdlbgogICAgICBocmVmOiAiL3NjcC9zZXR0aW5ncy5waHA/dD10aWNrZXRzI2FsZXJ0cyIKc2FuZGJveGluZzoKICB0aXRsZTogQmVwZXJraW5nZW4gdG90IFRpY2tldCBUb2V3aWp6aW5nCiAgY29udGVudDogPgogICAgRGV0ZXJtaW5lIGlmIFRpY2tldHMgY2FuIGJlIGFzc2lnbmVkIHRvIGFsbCBhZ2VudHMsIGFnZW50cyB3aXRoIFByaW1hcnkgb3IgRXh0ZW5kZWQgRGVwYXJ0bWVudCBhY2Nlc3MsIG9yIG9ubHkgYWdlbnRzIHdpdGggUHJpbWFyeSBEZXBhcnRtZW50IGFjY2Vzcy4KZGlzYWJsZV9hdXRvX2NsYWltOgogIHRpdGxlOiBTY2hha2VsIGF1dG9tYXRpc2NoZSB0b2VrZW5uaW5nIHVpdAogIGNvbnRlbnQ6ID4KICAgIFZpbmsgZGl0IGFhbiBvbSBhdXRvbWF0aXNjaGUgdG9la2VubmluZyBiaWogYmVhbnR3b29yZGluZyBlbiByZWFjdGllIDxzdHJvbmc+dWl0PC9zdHJvbmc+IHRlIHNjaGFrZWxlbi48YnI+PGJyPkFnZW50ZW4ga3VubmVuIG5vZyBhbHRpamQgbmlldCB0b2VnZXdlemVuIHRpY2tldHMgdG9ld2lqemVuCmRpc2FibGVfcmVvcGVuX2F1dG9fYXNzaWduOgogIHRpdGxlOiBEaXNhYmxlIEF1dG8gQXNzaWduIG9uIFJlb3BlbgogIGNvbnRlbnQ6ID4KICAgIENoZWNrIHRoaXMgdG8gPHN0cm9uZz5kaXNhYmxlPC9zdHJvbmc+IGF1dG8tYXNzaWdubWVudCBvZiByZW9wZW5lZCB0aWNrZXRzIGZvciB0aGlzIGRlcGFydG1lbnQuIDxicj48YnI+IE90aGVyd2lzZSwgdGhlIFRpY2tldCB3aWxsIGJlIGF1dG8gYXNzaWduZWQgdG8gdGhlIGxhc3QgcmVzcG9uZGluZyBBZ2VudAphdXRvX3Jlc3BvbnNlX3NldHRpbmdzOgogIHRpdGxlOiBBdXRvbWF0aXNjaCBhbnR3b29yZCBpbnN0ZWxsaW5nZW4KICBjb250ZW50OiA+CiAgICBEaXQgbGFhdCBqZSB0b2Ugb20gZGUgZ2xvYmFsZSBpbnN0ZWxsaW5nZW4gdmFuIEF1dG9tYXRpc2NoIGFudHdvb3JkIHRlIG92ZXJzY2hyaWp2ZW4gdm9vciBkZXplIGFmZGVsaW5nLgpuZXdfdGlja2V0OgogIHRpdGxlOiBBdXRvbWF0aXNjaCBhbnR3b29yZCBvcCBuaWV1dyB0aWNrZXQKICBjb250ZW50OiA+CiAgICBKZSBrdW50IGRlIEF1dG9tYXRpc2NoZSBCZWFudHdvb3JkaW5nIHZhbiBuaWV1dyBhYW5nZW1hYWt0ZSB0aWNrZXRzIGluIG9mIHVpdCBzY2hha2VsZW4uCm5ld19tZXNzYWdlOgogIHRpdGxlOiBOaWV1dyBiZXJpY2h0IGF1dG9tYXRpc2NoIGFudHdvb3JkCiAgY29udGVudDogPgogICAgSmUga3VudCBoZXQgYXV0b21hdGlzY2ggYmVhbnR3b29yZGVuIHZhbiBuaWV1d2UgYmVyaWNodGVuIGluIHRpY2tldHMgdWl0c2NoYWtlbGVuIHZvb3IgZGV6ZSBhZmRlbGluZy4KYXV0b19yZXNwb25zZV9lbWFpbDoKICB0aXRsZTogQXV0by1hbnR3b29yZCBlbWFpbAogIGNvbnRlbnQ6ID4KICAgIFZvZXIgaGV0IGFmemVuZGVyLWVtYWlsYWRyZXMgaW4gdm9vciBhdXRvbWF0aXNjaGUgYmVyaWNodGVuIGRpZSB2b29yIGRlemUgYWZkZWxpbmcgd29yZGVuIHZlcnN0dXVyZC4KZGVwYXJ0bWVudF9hY2Nlc3M6CiAgdGl0bGU6IEdyb2VwIHRvZWdhbmcKICBjb250ZW50OiA+CiAgICBHZWVmIGFnZW50ZW4gdmFuIGFuZGVyZSBhZmRlbGluZyB0b2VzdGVtbWluZyBvbSBkZSB0aWNrZXRzIHZhbiBkZXplIGFmZGVsaW5nIHRlIHppZW4uCmRlcGFydG1lbnRfc2lnbmF0dXJlOgogIHRpdGxlOiBBZmRlbGluZ3MtaGFuZHRla2VuaW5nCiAgY29udGVudDogPgogICAgRWVuIGhhbmR0ZWtlbmluZyBrYW4gYmlqICA8c3BhbiBjbGFzcz0iZG9jLWRlc2Mtb3B0Ij5QdWJsaWVrZWxpamtlPC9zcGFuPiBhZmRlbGluZ2VuIGRvb3IgYWdlbnRlbiBvcHRpb25lZWwgZ2Vrb3plbiB3b3JkZW4uCi0tLQojVGhpcyBpcyBwb3B1cCBoZWxwIG1lc3NhZ2VzIGZvciB0aGUgU3RhZmYgUGFuZWwgLT4gVGlja2V0cyAtPiBPcGVuCiNGaWVsZHM6CiN0aXRsZSAtIFNob3duIGluIGJvbGQgYXQgdGhlIHRvcCBvZiB0aGUgcG9wb3ZlciB3aW5kb3cKI2NvbnRlbnQgLSBUaGUgYm9keSBvZiB0aGUgaGVscCBwb3BvdmVyCiNsaW5rcyAtIExpc3Qgb2YgbGlua3Mgc2hvd3MgYmVsb3cgdGhlIGNvbnRlbnQKI3RpdGxlIC0gTGluayB0aXRsZQojaHJlZiAtIGhyZWYgb2YgbGluayAobGlua3Mgc3RhcnRpbmcgd2l0aCAvIGFyZSB0cmFuc2xhdGVkIHRvIHRoZQojaGVscGRlc2sgaW5zdGFsbGF0aW9uIHBhdGgpCiNUaGUga2V5IG5hbWVzIHN1Y2ggYXMgJ2hlbHBkZXNrX25hbWUnIHNob3VsZCBub3QgYmUgdHJhbnNsYXRlZCBhcyB0aGV5CiNtdXN0IG1hdGNoIHRoZSBIVE1MICNpZHMgcHV0IGludG8gdGhlIHBhZ2UgdGVtcGxhdGUuCiMtLS0Kc2VhcmNoX2ZpZWxkOgogIHRpdGxlOiBab2VrdmVsZAogIDA6ID4KCmFkdmFuY2VkOgogIHRpdGxlOiBHZWF2YW5jZWVyZCB6b2VrZW4KICBjb250ZW50OiA+CiAgICBHZWF2YW5jZWVyZGUgem9la29wdGllcy4gWm9kcmEgdSB1dyBnZWF2YW5jZWVyZGUgem9la2NyaXRlcmlhIGhlYnQgZ2VzZWxlY3RlZXJkIGVuIGRlIHpvZWtvcGRyYWNodCBpcyB1aXRnZXZvZXJkLCBrdW50IHUgZGV6ZSA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPmV4cG9ydGVyZW48L3NwYW4+IGFhbiBkZSBvbmRlcmthbnQgdmFuIGRlemUgcGFnaW5hLgpvcGVuX3RpY2tldHNfdGFibGU6CiAgdGl0bGU6IE9wZW4gVGlja2V0cyBUYWJlbAogIGNvbnRlbnQ6ID4KICAgIEFsbGUgdGlja2V0cyB6aWpuIG1vbWVudGVlbCBnZW9wZW5kIGVuIHZyYWdlbiBhdHRlbnRpZQp0aWNrZXQ6CiAgdGl0bGU6IFRpY2tldAogIDA6ID4KCmRhdGU6CiAgdGl0bGU6IERhdHVtCiAgMDogPgoKc3ViamVjdDoKICB0aXRsZTogT25kZXJ3ZXJwCiAgMDogPgoKZnJvbToKICB0aXRsZTogVmFuCiAgMDogPgoKcHJpb3JpdHk6CiAgdGl0bGU6IFByaW9yaXRlaXQKICAwOiA+Cgphc3NpZ25lZF90bzoKICB0aXRsZTogVG9lZ2V3ZXplbiBhYW4KICAwOiA+CgpleHBvcnQ6CiAgdGl0bGU6IEV4cG9ydGVlcgogIGNvbnRlbnQ6ID4KICAgIEV4cG9ydGVlciB1dyBkYXRhIGluIGVlbiBDU1YgYmVzdGFuZC4gQ1NWIGJlc3RhbmRlbiBtb2V0ZW4gZ2VvcGVuZCB3b3JkZW4gbWV0IGVlbiBzcHJlYWRzaGVldCBwcm9ncmFtbWEgKGJ2LiBNaWNyb3NvZnQgRXhjZWwsIEFwcGxlIE51bWJlcnMsIE9wZW5PZmZpY2UsIGVuei4pCmFkdmFuY2VkX3NlYXJjaF9kaWFsb2c6CiAgdGl0bGU6IFVpdGdlYnJlaWQgem9la2VuCiAgMDogPgoKYWR2X2tleXdvcmQ6CiAgdGl0bGU6IFpvZWtlbiBvcCB0cmVmd29vcmQKICBjb250ZW50OiA+CiAgICBab2VrIGhpdHMgb3AgYmFzaXMgdmFuIGhldCBvbmRlcndlcnAgZW4gYmVyaWNodCB2YW4gaGV0IHRpY2tldHMuIE9vayBhbGxlIHRla3N0dWVsZSBpbmhvdWQgaW4gdmVyYmFuZCBtZXQgYWFuZ2VwYXN0ZSB2ZWxkZW4gdm9vciBkZSBnZWJydWlrZXJzIGVuIGRlIHRpY2tldHMuCmFkdl9kYXRlX3JhbmdlOgogIHRpdGxlOiBab2VrZW4gb3AgZGF0dW1iZXJlaWsKICBjb250ZW50OiA+CiAgICBEZWZpbml0aWUgaGllcgptZXJnZV90eXBlczoKICB0aXRsZTogTWVyZ2UgVHlwZXMKICBjb250ZW50OiA+CiAgICA8Yj5Db21iaW5lIFRocmVhZHM6PC9iPiBUaHJlYWRzIGZyb20gYWxsIFRpY2tldHMgd2lsbCBiZSBkaXNwbGF5ZWQgY2hyb25vbG9naWNhbGx5LjwvYnI+IDxiPlNlcGFyYXRlIFRocmVhZHM6PC9iPiBUaHJlYWRzIGZyb20gVGlja2V0cyB3aWxsIGJlIGRpc3BsYXllZCBvbmUgVGlja2V0IGF0IGEgdGltZS4KcmVwbHlfdHlwZXM6CiAgdGl0bGU6IFR5cGUgYW50d29vcmRlbgogIGNvbnRlbnQ6ID4KICAgIDxiPlJlcGx5IEFsbDo8L2I+IFRoaXMgcmVwbHkgaXMgc2VudCB0byB0aGUgVXNlciBhbmQgdGhlIENvbGxhYm9yYXRvcnMgeW91IGNob29zZSB0byBpbmNsdWRlLjwvYnI+IDxiPlJlcGx5IHRvIFVzZXI6PC9iPiBUaGlzIHJlcGx5IGlzIHNlbnQgdG8gdGhlIFVzZXIgb25seSwgbm8gQ29sbGFib3JhdG9ycy48L2JyPiA8Yj5EbyBOb3QgRW1haWwgUmVwbHk6PC9iPiBObyBlbWFpbCBhbGVydHMgYXJlIHNlbnQgb3V0LCBob3dldmVyLCB0aGUgQWdlbnQgcmVzcG9uc2UgaXMgdmlzaWJsZSB0byA8Yj5BTEw8L2I+IFVzZXJzIHVwb24gdmlld2luZyB0aGUgVGlja2V0LgotLS0KI1RoaXMgaXMgcG9wdXAgaGVscCBtZXNzYWdlcyBmb3IgdGhlIFN0YWZmIFBhbmVsIC0+IERhc2hib2FyZCAtPiBEYXNoYm9hcmQKI0ZpZWxkczoKI3RpdGxlIC0gU2hvd24gaW4gYm9sZCBhdCB0aGUgdG9wIG9mIHRoZSBwb3BvdmVyIHdpbmRvdwojY29udGVudCAtIFRoZSBib2R5IG9mIHRoZSBoZWxwIHBvcG92ZXIKI2xpbmtzIC0gTGlzdCBvZiBsaW5rcyBzaG93cyBiZWxvdyB0aGUgY29udGVudAojdGl0bGUgLSBMaW5rIHRpdGxlCiNocmVmIC0gaHJlZiBvZiBsaW5rIChsaW5rcyBzdGFydGluZyB3aXRoIC8gYXJlIHRyYW5zbGF0ZWQgdG8gdGhlCiNoZWxwZGVzayBpbnN0YWxsYXRpb24gcGF0aCkKI1RoZSBrZXkgbmFtZXMgc3VjaCBhcyAnaGVscGRlc2tfbmFtZScgc2hvdWxkIG5vdCBiZSB0cmFuc2xhdGVkIGFzIHRoZXkKI211c3QgbWF0Y2ggdGhlIEhUTUwgI2lkcyBwdXQgaW50byB0aGUgcGFnZSB0ZW1wbGF0ZS4KIy0tLQp0aWNrZXRfYWN0aXZpdHk6CiAgdGl0bGU6IFRpY2tldCBhY3Rpdml0ZWl0CiAgY29udGVudDogPgogICAgU2VsZWN0ZWVyIGVlbiBkYXR1bWJlcmVpayBvbSB6b3dlbCBkZSBncmFmaWVrIGVuIGRlIHRhYmVsIGhpZXJvbmRlciAoemllICA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPlN0YXRpc3RpZWtlbjwvc3Bhbj4pIGFhbiB0ZSBwYXNzZW4gYWFuIGRlIGdlZ2V2ZW5zIHVpdCBkaWUgcGVyaW9kZS4gRGUgZ3JhZmllayBoaWVyb25kZXIgZ2VlZnQgc3RlZWRzIGVlbiBhbGdlbWVlbiBvdmVyemljaHQgdmFuIGFsbGUgYmVzY2hpa2JhcmUgZGF0YSAoYnYuIHBvcHVsYXRpZSkuIEplIGthbiBlY2h0ZXIgb29rIG5hdmlnZXJlbiB2aWEgZGUgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5TdGF0aXN0aWVrZW48L3NwYW4+IHRhYmVsIGhpZXJvbmRlciBvbSBkZSBmb2N1cyBtZWVyIHNwZWNpZmllayB0ZSBtYWtlbiAoYnYuIEFmZGVsaW5nLCBPbmRlcndlcnBlbiBvZiBQZXJzb25lZWwpLiBCb3ZlbmRpZW4ga2FuIGplIGFsbGUgZGF0YSB6aWNodGJhYXIgaW4gZGUgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5TdGF0aXN0aWVrZW48L3NwYW4+IHRhYmVsIGV4cG9ydGVyZW4uCnJlcG9ydF90aW1lZnJhbWU6CiAgdGl0bGU6IFJhcHBvcnRhZ2UgdGlqZHNwYW5uZQogIGNvbnRlbnQ6ID4KICAgIEtpZXMgdm9vciBoZXQgZ2V3ZW5zdGUgZ2VnZXZlbnMgdm9vcmJlZWxkIGVlbiBzdGFydGRhdHVtIG1ldCBkZSBkYXR1bWtpZXplci4gS2llcyB2ZXJ2b2xnZW5zIGRlIHRpamRzZHV1ciB2YW5hZiBkaWUgZGF0dW0gb20gaGV0IGVpbmRlIHZhbiBoZXQgZ2VnZXZlbnN2b29yYmVlbGQgdmFzdCB0ZSBzdGVsbGVuLgpzdGF0aXN0aWNzOgogIHRpdGxlOiBTdGF0aXN0aWVrZW4KICBjb250ZW50OiA+CiAgICBPbSBlZW4gc3BlY2lmaWVrIG9uZGVyd2VycCB0ZSBiZWtpamtlbiwgbmF2aWdlZXIgbmFhciBoZXQgZ2V3ZW5zdGUgb25kZXJ3ZXJwIGRvb3Igb3AgZGUgb3ZlcmVlbmtvbXN0aWdlIHRhYiB0ZSBrbGlra2VuLiBCaW5uZW4gZGUgdGFiZWwgd29yZHQgZGUgZ3Jvb3R0ZSB2YW4gZGUgbm9taW5hbGUgZGF0YSB2b29yZ2VzdGVsZCBkb29yIGRlIGNpcmtlbHMuIFpvZG9lbmRlIHphbCBiaWogZWVuIGdyb3RlciBnZXRhbCBpbiBlZW4gYmVwYWFsZGUgY2VsIGRlIGFhbmdyZW56ZW5kZSBjaXJrZWwgZ3JvdGVyIHppam4uCm9wZW5lZDoKICB0aXRsZTogR2VvcGVuZAogIGNvbnRlbnQ6ID4KICAgIFRpY2tldHMgdGhhdCB3ZXJlIG9yaWdpbmFsbHkgb3BlbmVkIGhhdmluZyB0aGUgRGVwYXJ0bWVudCBvciBIZWxwIFRvcGljIG9uIHRoZSB0aWNrZXQsIG9yIHRoZSBudW1iZXIgb2YgdGlja2V0cyBhbiBBZ2VudCBoYXMgb3BlbmVkIG9uIGJlaGFsZiBvZiBhIFVzZXIuCmFzc2lnbmVkOgogIHRpdGxlOiBUb2VnZXdlemVuCiAgY29udGVudDogPgogICAgVGlja2V0cyB0aGF0IGhhdmUgYmVlbiBhc3NpZ25lZCB0byBlaXRoZXIgYW4gQWdlbnQgb3IgYSBUZWFtLiBUaGUgbnVtYmVyIHJlZmxlY3RzIHRpY2tldHMgdGhhdCBhcmUgbWFudWFsbHkgYXNzaWduZWQgdG8gYWdlbnRzIG9yIHRlYW1zLCBjbGFpbWVkIHRpY2tldHMsIGFuZCB0aWNrZXRzIGFzc2lnbmVkIGZyb20gdGlja2V0IGZpbHRlcnMvb3RoZXIgYXV0by1hc3NpZ25tZW50IHJ1bGVzLgpvdmVyZHVlOgogIHRpdGxlOiBBY2h0ZXJzdGFsbGlnCiAgY29udGVudDogPgogICAgVGNrZXRzIGRpZSBkb29yIGhldCBzeXN0ZWVtIGFscyB2ZXJsb3BlbiBnZW1hcmtlZXJkIHppam4uIFRpY2tldHMgd29yZGVuIGFscyB2ZXJsb3BlbiBnZW1hcmtlZXJkIHdhbm5lZXIgemUgbm9nICdvcGVuJyBzdGFhbiB0ZXJ3aWpsIGRlIHJlc3BvbnN0aWpkICh2b2xnZW5zIGhldCBTTEEpIHZvb3JiaWogaXMuCmNsb3NlZDoKICB0aXRsZTogR2VzbG90ZW4KICBjb250ZW50OiA+CiAgICBIZXQgYWFudGFsIHRpY2tldHMgZGF0IG1vbWVudGVlbCBkZSBzdGF0dXMgZ2VzbG90ZW4gaGVlZnQuCnJlb3BlbmVkOgogIHRpdGxlOiBIZXJvcGVuZAogIGNvbnRlbnQ6ID4KICAgIEhldCB0b3RhYWwgYWFudGFsIGtlZXIgZGF0IGVlbiB0aWNrZXQgaGVyb3BlbmQgaXMuIEVlbiB0aWNrZXQgd29yZHQgaGVyb3BlbmQgYWxzIGRlIHN0YXR1cyB3b3JkdCB2ZXJhbmRlcmQgdmFuIGdlc2xvdGVuIG5hYXIgb3Blbi4KZGVsZXRlZDoKICB0aXRsZTogVmVyd2lqZGVyZAogIGNvbnRlbnQ6ID4KICAgIEhldCBhYW50YWwgdGlja2V0cyBkYXQgdmVyd2lqZGVyZCBpcy4Kc2VydmljZV90aW1lOgogIHRpdGxlOiBTZXJ2aWNlIHRpamQKICBjb250ZW50OiA+CiAgICBWZXJ3aWpzdCBuYWFyIGRlIHRpamRzZHV1ciBkaWUgYmVnaW50IG9wIGhldCBtb21lbnQgZGF0IGVlbiB0aWNrZXQgZ2VvcGVuZCB3b3JkdCBlbiBlaW5kaWd0IHdhbm5lZXIgZWVuIHRpY2tldCBnZXNsb3RlbiB3b3JkdC4gRGUga29sb20gc2VydmljZXRpamQgZ2VlZnQgZGUgZ2VtaWRkZWxkZSBzZXJ2aWNldGlqZCBwZXIgdGlja2V0IGFhbiBpbiB1cmVuLgpyZXNwb25zZV90aW1lOgogIHRpdGxlOiBSZWFjdGlldGlqZAogIGNvbnRlbnQ6ID4KICAgIEdlZWZ0IGRlIGdlbWlkZGVsZGUgcmVzcG9uc3RpamQgYWFuIHZhbiBlZW4gbWVkZXdlcmtlciwgaW4gdXJlbiwgdmFuIGVlbiBiZXJpY2h0IG9wIGVlbiB0aWNrZXQuCi0tLQojVGhpcyBpcyBwb3B1cCBoZWxwIG1lc3NhZ2VzIGZvciB0aGUgQWRtaW4gUGFuZWwgLT4gTWFuYWdlIC0+IEhlbHAgVG9waWMKI0ZpZWxkczoKI3RpdGxlIC0gU2hvd24gaW4gYm9sZCBhdCB0aGUgdG9wIG9mIHRoZSBwb3BvdmVyIHdpbmRvdwojY29udGVudCAtIFRoZSBib2R5IG9mIHRoZSBoZWxwIHBvcG92ZXIKI2xpbmtzIC0gTGlzdCBvZiBsaW5rcyBzaG93cyBiZWxvdyB0aGUgY29udGVudAojdGl0bGUgLSBMaW5rIHRpdGxlCiNocmVmIC0gaHJlZiBvZiBsaW5rIChsaW5rcyBzdGFydGluZyB3aXRoIC8gYXJlIHRyYW5zbGF0ZWQgdG8gdGhlCiNoZWxwZGVzayBpbnN0YWxsYXRpb24gcGF0aCkKI1RoZSBrZXkgbmFtZXMgc3VjaCBhcyAnaGVscGRlc2tfbmFtZScgc2hvdWxkIG5vdCBiZSB0cmFuc2xhdGVkIGFzIHRoZXkKI211c3QgbWF0Y2ggdGhlIEhUTUwgI2lkcyBwdXQgaW50byB0aGUgcGFnZSB0ZW1wbGF0ZS4KIy0tLQpoZWxwX3RvcGljX2luZm9ybWF0aW9uOgogIHRpdGxlOiBIZWxwLW9uZGVyd2VycCBpbmZvcm1hdGllCiAgY29udGVudDogPgogICAgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5IZWxwLW9uZGVyd2VycGVuPC9zcGFuPiBob3VkIGJpaiB3ZWxrZSBpbmZvcm1hdGllIHdvcmR0IHZlcnphbWVsZCB2YW4gZ2VicnVpa2VycyBlbiBob2UgdGlja2V0cyB3b3JkZW4gZG9vcmdlc3R1dXJkIG9mIHRvZWdld2V6ZW4uCnRvcGljOgogIHRpdGxlOiBOYWFtIHZhbiBoZXQgb25kZXJ3ZXJwCiAgY29udGVudDogPgogICAgVW5pZWtlIG5hYW0gdmVuIGhldCBIZWxwLW9uZGVyd2VycC4Kc3RhdHVzOgogIHRpdGxlOiBTdGF0dXMKICBjb250ZW50OiA+CiAgICBJZiBkaXNhYmxlZCBvciBhcmNoaXZlZCwgdGhpcyA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPkhlbHAgVG9waWM8L3NwYW4+IHdpbGwgbm90IGJlIGF2YWlsYWJsZS4KdHlwZToKICB0aXRsZTogVHlwZQogIGNvbnRlbnQ6ID4KICAgIEFscyBlZW4gPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5IZWxwLW9uZGVyd2VycDwvc3Bhbj4gYWxzIFByaXZhYXQgd29yZHQgZ2VsYWJlbGQsIHphbCBoZXQgYWxsZWVuIHRvZWdhbmtlbGlqayB6aWpuIHZvb3IgVmVydGVnZW53b29yZGlnZXJzIGRpZSBkaXQga3VubmVuIGtpZXplbiB3YW5uZWVyIGVlbiBuaWV1dyBUaWNrZXQgZ2VvcGVuZCB3b3JkdCBvbmRlciBoZXQgUGVyc29uZWVsIFBhbmVlbC4KcGFyZW50X3RvcGljOgogIHRpdGxlOiBIb29mZG9uZGVyd2VycAogIGNvbnRlbnQ6ID4KICAgIFNlbGVjdGVlciBoZXQgaG9vZmRvbmRlcndlcnAgZGF0IHphbCBiZWhvcmVuIHRvdCBkaXQ8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPkhlbHAtb25kZXJ3ZXJwPC9zcGFuPi4gSGV0IGhvb2Zkb25kZXJ3ZXJwIHphbCBhbHMgZWVyc3RlIGluIGRlIGxpanN0IHZlcnNjaGlqbmVuIG1ldCBkaXQgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5IZWxwLW9uZGVyd2VycDwvc3Bhbj4gZXIgb3Agdm9sZ2VuZC4KY3VzdG9tX2Zvcm06CiAgdGl0bGU6IEFhbmdlcGFzdCBmb3JtdWxpZXIKICBjb250ZW50OiA+CiAgICBBYW5nZXBhc3RlIGZvcm11bGllcmVuIHphbCB1IGhlbHBlbiBvbSBzcGVjaWZpZWtlcmUgaW5mb3JtYXRpZSB2YW4gZ2VicnVpa2VycyB0ZSB2ZXJrcmlqZ2VuIGRhdCByZWxldmFudCB6aWpuIHZvb3IgZGl0IDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+SGVscC1vbmRlcndlcnA8L3NwYW4+LgogIGxpbmtzOgogICAgLSAKICAgICAgdGl0bGU6IEFhbmdlcGFzdGUgZm9ybXVsaWVyZW4gYmVoZXJlbgogICAgICBocmVmOiAvc2NwL2Zvcm1zLnBocApwcmlvcml0eToKICB0aXRsZTogUHJpb3JpdGVpdAogIGNvbnRlbnQ6ID4KICAgIFNlbGVjdGVlciBkZSBQcmlvcml0ZWl0IGRhdCBtb2V0IHRvZWdld2V6ZW4gd29yZGVuIGFhbiBuaWV1d2UgVGlja2V0cyB2YW4gZGl0IDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+SGVscC1vbmRlcndlcnA8L3NwYW4+Ljxicj48YnI+VGlja2V0IEZpbHRlcnMga3VubmVuIG5pZXV3ZSBUaWNrZXQgUHJpb3JpdGVpdGVuIG92ZXJzY2hyaWp2ZW4uCmRlcGFydG1lbnQ6CiAgdGl0bGU6IEFmZGVsaW5nCiAgY29udGVudDogPgogICAgS2llcyBkZSBBZmRlbGluZyB3YWFyYWFuIG5pZXV3ZSB0aWNrZXRzIG9uZGVyIGRpdCBIZWxwLW9uZGVyd2VycCB6dWxsZW4gd29yZGVuIGRvb3JnZXN0dXVyZC4KICBsaW5rczoKICAgIC0gCiAgICAgIHRpdGxlOiBBZmRlbGluZ2VuIGJlaGVyZW4KICAgICAgaHJlZjogL3NjcC9kZXBhcnRtZW50cy5waHAKc2xhX3BsYW46CiAgdGl0bGU6IFNlcnZpY2Ugbml2ZWF1CiAgY29udGVudDogPgogICAgS2llcyBoZXQgU2VydmljZSBQbGFuIGRhdCBnZWtvcHBlbGQgaXMgYWFuIGRpdCA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPkhlbHAtb25kZXJ3ZXJwPC9zcGFuPi4gPGJyPjxicj4gRGV6ZSBzZWxlY3RpZSB6YWwgZWxrZSBnZXNlbGVjdGVlcmRlIEFmZGVsaW5nIHppam4gU2VydmljZSBOaXZlYXUgb3ZlcnNjaHJpanZlbgogIGxpbmtzOgogICAgLSAKICAgICAgdGl0bGU6IFNlcnZpY2UgcGxhbm5lbiBiZWhlcmVuCiAgICAgIGhyZWY6IC9zY3Avc2xhcy5waHAKdGhhbmtfeW91X3BhZ2U6CiAgdGl0bGU6IERhbmtwYWdpbmEKICBjb250ZW50OiA+CiAgICBLaWVzIGRlIERhbmtwYWdpbmEgd2Fhcm5hYXIgZWVuIGdlYnJ1aWtlciBkb29yZ2VzdHV1cmQgd29yZHQgbmEgaGV0IG9wZW5lbiB2YW4gZWVuIFRpY2tldCBvbmRlciBkaXQgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5IZWxwLW9uZGVyd2VycDwvc3Bhbj4uCiAgbGlua3M6CiAgICAtIAogICAgICB0aXRsZTogRGFua3BhZ2luYSdzIGJlaGVyZW4KICAgICAgaHJlZjogL3NjcC9wYWdlcy5waHAKYXV0b19hc3NpZ25fdG86CiAgdGl0bGU6IEF1dG9tYXRpc2NoIHRvZXdpanplbiB2YW4gbmlldXdlIFRpY2tldHMKICBjb250ZW50OiA+CiAgICBLaWVzIGVlbiBWZXJ0ZWdlbndvb3JkaWdlciBvZiBUZWFtICBkYXQgYXV0b21hdGlzY2ggdGlja2V0cyBrYW4gdG9ld2lqemVuIGdlb3BlbmQgbWV0IGRpdCA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPkhlbHAtb25kZXJ3ZXJwPC9zcGFuPiA8YnI+PGJyPiBUaWNrZXQgRmlsdGVycyBrdW5uZW4gdG9ld2lqemluZ2VuIG92ZXJzY2hyaWp2ZW4uCiAgbGlua3M6CiAgICAtIAogICAgICB0aXRsZTogTWVkZXdlcmtlcnMgZW4gVGVhbXMgYmVoZXJlbgogICAgICBocmVmOiAvc2NwL3N0YWZmLnBocAp0aWNrZXRfYXV0b19yZXNwb25zZToKICB0aXRsZTogQXV0b21hdGlzY2gtYW50d29vcmQgdmFuIFRpY2tldAogIGNvbnRlbnQ6ID4KICAgIEFscyBkaXQgaXMgaW5nZXNjaGFrZWxkLCB6YWwgYXV0b21hdGlzY2gtYW50d29vcmRlbiB2YW4gdGlja2V0cyB2b29yIGRpdCA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPkhlbHAtb25kZXJ3ZXJwPC9zcGFuPiB1aXRnZXNjaGFrZWxkIHdvcmRlbi4gPGJyPjxicj4gRGl0IG92ZXJzY2hyaWpmdCB6b3dlbCBkZSBhdXRvbWF0aXNjaC1hbnR3b29yZCBpbnN0ZWxsaW5nIHZhbiBoZXQgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5BZmRlbGluZzwvc3Bhbj4gYWxzIGRlIGdsb2JhbGUgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5BdXRvbWF0aXNjaC1hbnR3b29yZCBpbnN0ZWxsaW5nZW48L3NwYW4+LgogIGxpbmtzOgogICAgLSAKICAgICAgdGl0bGU6IEF1dG9tYXRpc2NoIGFudHdvb3JkIGluc3RlbGxpbmdlbgogICAgICBocmVmOiAvc2NwL3NldHRpbmdzLnBocD90PWF1dG9yZXNwCmN1c3RvbV9udW1iZXJzOgogIHRpdGxlOiBBYW5nZXBhc3RlIFRpY2tldCBOdW1tZXJpbmcKICBjb250ZW50OiA+CiAgICBLaWVzICJBYW5nZXBhc3RlIE51bW1lcmluZyIgb20gZGUgc3RhbmRhYXJkIG51bW1lcmluZyB2YW4gdGlja2V0cyB0ZSBvdmVyc2NocmlqdmVuLiBaaWUgZGUgaGVscC10aXBzIGluIGRlIEluc3RlbGxpbmdlbiAvIFRpY2tldHMgcGFnaW5hIHZvb3IgbWVlciBpbmZvcm1hdGllIG92ZXIgZGUgaW5zdGVsbGluZ2VuLgotLS0KI1RoaXMgaXMgcG9wdXAgaGVscCBtZXNzYWdlcyBmb3IgdGhlIEFkbWluIFBhbmVsIC0+IFNldHRpbmdzIC0+IEVtYWlscwojRmllbGRzOgojdGl0bGUgLSBTaG93biBpbiBib2xkIGF0IHRoZSB0b3Agb2YgdGhlIHBvcG92ZXIgd2luZG93CiNjb250ZW50IC0gVGhlIGJvZHkgb2YgdGhlIGhlbHAgcG9wb3ZlcgojbGlua3MgLSBMaXN0IG9mIGxpbmtzIHNob3dzIGJlbG93IHRoZSBjb250ZW50CiN0aXRsZSAtIExpbmsgdGl0bGUKI2hyZWYgLSBocmVmIG9mIGxpbmsgKGxpbmtzIHN0YXJ0aW5nIHdpdGggLyBhcmUgdHJhbnNsYXRlZCB0byB0aGUKI2hlbHBkZXNrIGluc3RhbGxhdGlvbiBwYXRoKQojVGhlIGtleSBuYW1lcyBzdWNoIGFzICdoZWxwZGVza19uYW1lJyBzaG91bGQgbm90IGJlIHRyYW5zbGF0ZWQgYXMgdGhleQojbXVzdCBtYXRjaCB0aGUgSFRNTCAjaWRzIHB1dCBpbnRvIHRoZSBwYWdlIHRlbXBsYXRlLgojLS0tCmRlZmF1bHRfZW1haWxfdGVtcGxhdGVzOgogIHRpdGxlOiBTdGFuZGFhcmQgZW1haWx0ZW1wbGF0ZSBzZXQKICBjb250ZW50OiA+CiAgICBTZWxlY3RlZXIgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5FbWFpbCBWb29yYmVlbGQgU2V0PC9zcGFuPiB0ZSBnZWJydWlrZW4gb20gdGUgdmVyemVuZGVuIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+QXV0b21hdGlzY2hlIGFudHdvcmRlbjwvc3Bhbj4gZW4gPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5XYWFyc2NodXdpbmdlbjwvc3Bhbj4gdm9vciB2ZXJzY2hpbGxlbmRlIGFjdGllcyBkaWUga3VubmVuIHZvb3Jrb21lbiB0aWpkZW4gZGUgZG9vcmxvb3AgdGlqZCB2YW4gZGUgdGlja2V0LiA8YnI+PGJyPiBBZmRlbGluZ2VuIGt1bm5lbiBlZW4gc3BlY2lhYWwgRW1haWwgVm9vcmJlZWxkIFNldCB3b3JkZW4gdG9lZ2V3ZXplbi4KICBsaW5rczoKICAgIC0gCiAgICAgIHRpdGxlOiBCZWhlZXIgZW1haWx0ZW1wbGF0ZSBzZXRzCiAgICAgIGhyZWY6IC9zY3AvdGVtcGxhdGVzLnBocApkZWZhdWx0X3N5c3RlbV9lbWFpbDoKICB0aXRsZTogU3RhbmRhYXJkIHVpdGdhYW5kZSBFLW1haWwKICBjb250ZW50OiA+CiAgICBLaWVzIGVlbiB1aXRnYWFuZGUgZW1haWwgYWRyZXMuIDxicj48YnI+IDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+QWZkZWxpbmc8L3NwYW4+IGthbiB6aWpuIGVpZ2VuIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+ZW1haWwgYWRyZXMgaW5zdGVsbGVuPC9zcGFuPndlbGtlIGRhbiBkZSBoaWVyIGdla296ZW4gemFsIG92ZXJzY2hyaWp2ZW4uCiAgbGlua3M6CiAgICAtIAogICAgICB0aXRsZTogV2lqemlnIGVtYWlsIGFkcmVzc2VuCiAgICAgIGhyZWY6IC9zY3AvZW1haWxzLnBocApkZWZhdWx0X2FsZXJ0X2VtYWlsOgogIHRpdGxlOiBTdGFuZGFhcmQgZS1tYWlsYWRyZXMgdm9vciBtZWxkaW5nZW4KICBjb250ZW50OiA+CiAgICBLaWVzIGVlbiBlbWFpbCBhZHJlcyB3YWFyIHZhbiA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPldhYXJzY2h1d2luZ2VuICZhbXA7IEJlcmljaHRlbjwvc3Bhbj4ga3VubmVuIHdvcmRlbiB2ZXJ6b25kZW4gbmFhciBtZWRld2Vya2Vycy4KICBsaW5rczoKICAgIC0gCiAgICAgIHRpdGxlOiBXaWp6aWcgZW1haWwgYWRyZXNzZW4KICAgICAgaHJlZjogL3NjcC9lbWFpbHMucGhwCmFkbWluc19lbWFpbF9hZGRyZXNzOgogIHRpdGxlOiBBZG1pbmlzdHJhdG9yIGUtbWFpbGFkcmVzCiAgY29udGVudDogPgogICAgR2VlZiBoaWVyIGVlbiBhZG1pbiBlbWFpbCBhZHJlcyBvcCB3YWFyIG5hYXIgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5TeXN0ZWVtIEZvdXRlbjwvc3Bhbj4gZW4gPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5OaWV1d2UgVGlja2V0cyB3YWFyc2NodXdpbmdlbjwvc3Bhbj4gKGluZGllbiB2b29yIGdla296ZW4pIHdvcmRlbiB2ZXJ6b25kZW4uCiAgbGlua3M6CiAgICAtIAogICAgICB0aXRsZTogQmVoZXJlbiB2YW4gd2FhcnNjaHV3aW5nZW4gJiBOb3RpdGllcwogICAgICBocmVmOiAvc2NwL3NldHRpbmdzLnBocD90PWFsZXJ0cwplbWFpbF9mZXRjaGluZzoKICB0aXRsZTogRS1tYWlsIG9waGFsZW4KICBjb250ZW50OiA+CiAgICBTdGVtIHRvZSBJTUFQL1BPUCBwb2xsaW5nIHZvb3IgaW5zdGVsbGlnbmVuIGVuIGFhbnpldHRlbiB2YW4gPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5lbWFpbCBib3g8L3NwYW4+LgogIGxpbmtzOgogICAgLSAKICAgICAgdGl0bGU6IE1haWxib3hlbiBiZWhlcmVuCiAgICAgIGhyZWY6IC9zY3AvZW1haWxzLnBocAplbmFibGVfYXV0b2Nyb25fZmV0Y2g6CiAgdGl0bGU6IEhhYWwgZW1haWxzIG9wIHZpYSBBdXRvLWNyb24KICBjb250ZW50OiA+CiAgICBNYWFrdCBoZXQgbW9nZWxpamsgb20gcGVyaWRvaWVrIGVtYWlsIG9wIHRlIGhhbGVuLCBnZWJydWlrbWFrZW5kIHZhbiBpbnRlcm4gdGFha2JlaGVlciwgYWFuZ2V3YWtrZXJkIGRvb3IgZGUgYWN0aXZpdGVpdCB2YW4gZGUgYWdlbnRlbi4gPGJyPjxicj5MZXQgZXIgd2VsIG9wIGRhdCBlciBnZWVuIGVtYWlsIHdvcmR0IG9wZ2VoYWFsZCBvcCBoZXQgbW9tZW50IGRhdCBuaWVtYW5kIGlzIGluZ2Vsb2NodCBpbiBoZXQgdGlja2V0c3lzdGVlbS4gRXh0ZXJuIHRhYWtiZWhlZXIgd29yZHQgd2VsIGFhbmdlcmFkZW4gYWxzIGplIG9wIGdlemV0dGUgdGlqZGVuIG1haWwgd2lsdCBiaW5uZW5oYWxlbi4KICBsaW5rczoKICAgIC0gCiAgICAgIHRpdGxlOiBHZWJydWlrIGVuIGV4dGVybmUgdGFrZW4gYWdlbmRhCiAgICAgIGhyZWY6IGh0dHBzOi8vZG9jcy5vc3RpY2tldC5jb20vZW4vbGF0ZXN0L0dldHRpbmclMjBTdGFydGVkL1BPUDMtSU1BUCUyMFNldHRpbmdzLmh0bWwKc3RyaXBfcXVvdGVkX3JlcGx5OgogIHRpdGxlOiBCZXBlcmsgcXVvdGUgYW50d29vcmQKICBjb250ZW50OiA+CiAgICBBbHMgZGV6ZSBvcHRpZSBhYW4gc3RhYXQsIHphbCBlciBnZWVuIG9yaWdpbmVsZSBiZXJpY2h0Z2V2aW5nIHdvcmRlbiBiaWpnZXNsb3RlbiBpbiBkZSBlbWFpbGNvbW11bmljYXRpZS48YnI+PGJyPkRlemUgb3B0aWUgaGVlZnQgb29rIHZlcmJhbmQgbWV0IG9uZGVyc3RhYW5kZSA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPmJlcmljaHQgc2NoZWlkaW5nc3Rla2VuPHNwYW4+IGluc3RlbGxpbmcuCnJlcGx5X3NlcGFyYXRvcl90YWc6CiAgdGl0bGU6IEFudHdvb3JkIGFmc2NoZWlkaW5nc3JlZ2VsCiAgY29udGVudDogPgogICAgRGl0IGlzIGhldCB0ZWtlbiB3YWFyYWFuIGRlIGdlYnJ1aWtlciBrYW4gemllbiB3YXQgbmlldXcgaXMgYWFuIGVlbiBiZXJpY2h0IGVuIHdhdCB2b29yIGRlIHZvbGxlZGlnaGVpZCBpcyBpbmdlc2xvdGVuLjxCcj48YnI+PHN0cm9uZz5Ob3RpdGllOjwvc3Ryb25nPkRpdCBpcyBhbGxlZW4gdmFuIHRvZXBhc3NpbmcgYWxzIGRlIGJvdmVuc3RhYW5kZSBvcHRpZSBvbSBvcmlnaW5lbGUgY29ycmVwc29uZGVudGllIGluIGRlIG5pZXV3ZSBiZXJpY2h0ZW4gb3AgdGUgbmVtZW4sIGlzIGluZ2VzY2hha2VsZC4KZW1haWxlZF90aWNrZXRzX3ByaW9yaXR5OgogIHRpdGxlOiBHZW1haWxlZCBUaWNrZXQgUHJpb3JpdGVpdAogIGNvbnRlbnQ6ID4KICAgIFZpbmsgYWFuIG9tIGRlIHByaW9yaXRlaXQgdmFuIGVlbiB0aWNrZXQgYWYgdGUgbGF0ZW4gaGFuZ2VuIHZhbiBkZSBwcmlvcml0ZWl0IHZhbiBkZSBpbmdlem9uZGVuIGVtYWlsLjxicj48YnI+RGV6ZSBpbnN0ZWxsaW5nIGthbiB3b3JkZW4gZ2VuZWdlZXJkIG1ldCBlZW4gPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj50aWNrZXQgZmlsdGVyPC9zcGFuPi4KICBsaW5rczoKICAgIC0gCiAgICAgIHRpdGxlOiBBYW5tYWtlbiAmYW1wOyBvbmRlcmhvdWQgdGlja2V0IGZpbHRlcnMKICAgICAgaHJlZjogL3NjcC9maWx0ZXJzLnBocAphY2NlcHRfYWxsX2VtYWlsczoKICB0aXRsZTogQWNjZXB0ZWVyIGFsbGUgZW1haWxzCiAgY29udGVudDogPgogICAgQWNjZXB0ZWVyIGVtYWlscyB2YW4gb25iZWtlbmRlIGdlYnJ1aWtlcnMuIDxicj48YnI+IEluZGllbiBuaWV0IHNlbGVjdGVlcmQgemFsIHRpY2tldCBuaWV0IHdvcmRlbiB2ZXJ3ZXJrdC4KYWNjZXB0X2VtYWlsX2NvbGxhYm9yYXRvcnM6CiAgdGl0bGU6IEFjY2VwdGVlciBlbWFpbHRlYW1zCiAgY29udGVudDogPgogICAgVm9lZyBhbGxlIG1lZGV3ZXJrZXJzIGRpZSB6aWpuIGJpamdldm9lZ2QgaW4gZGUgZW1haWwgdG9lIGFscyB0aWNrZXQgbWVkZXdlcmtlcnMuIDxiciAvPjxiciAvPjxlbT5NZWRld2Vya2VycyBrdW5uZW4gYWx0aWpkIGRvb3IgYWdlbnRlbiB3b3JkZW4gdG9lZ2V2b2VnZCBhYW4gaGV0IHRpY2tldCwgYmlqIGhldCBiZWtpamtlbiBlcnZhbi48L2VtPgoKZGVmYXVsdF9tdGE6CiAgdGl0bGU6IFN0YW5kYWFyZCBNYWlsc2VydmVyCiAgY29udGVudDogPgogICAgRGUgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5TdGFuZGFhcmQgTWFpbHNlcnY8L3NwYW4+IHpvcmd0IHZvb3IgYWZsZXZlcmluZyB2YW4gdWl0Z2FhbmRlIGVtYWlscyB6b25kZXIgU01UUCBpbnN0ZWxsaW5nLgp0aWNrZXRfcmVzcG9uc2VfZmlsZXM6CiAgdGl0bGU6IEJlc3RhbmRlbiB0aWNrZXQgYW50d29vcmQKICBjb250ZW50OiA+CiAgICBJbmRpZW4gaW5nZXNjaGFrZWxkIHdvcmR0IGVsa2UgYmlqbGFnZSBkaWUgZWVuIG1lZGV3ZXJrZXIgdG9ldm9lZ3QgYWFuIGVlbiB0aWNrZXQsIG9vayB0b2VnZXZvZWdkIGFhbiBkZSBlbWFpbCBuYWFyIGRlIGdlYnJ1aWtlci4KdmVyaWZ5X2VtYWlsX2FkZHJzOgogIHRpdGxlOiBDb250cm9sZWVyIGVtYWlsIGFkcmVzc2VuCiAgY29udGVudDogPgogICAgWmV0IGRlemUgb3B0aWUgYWFuIG9tIHRlIGNvbnRyb2xlcmVuIG9mIGhldCBlbWFpbGFkcmVzIG92ZXJlZW5rb210IG1ldCBkZSBpbnN0ZWxsaW5nZW4gdmFuIGVlbiBtYWlsc2VydmVyIGRpZSBuYW1lbnMgZGF0IGRvbWVpbiBtYWcgbWFpbGVuIChlZW4gbXgtc2VydmVyIGluIGRlIEROUykgRGl0IGlzIGhhbmRpZyBvbSBmb3V0aWV2ZSBlbWFpbGFkcmVzc2VuIHRlIGNvbnRyb2xlcmVuLiBEZXplIG9wdGllIGlzIGVlbiB0b2V2b2VnaW5nIG9wIGhldCB0ZWNobmlzY2ggY2hlY2tlbiB2YW4gZGUgb3BtYWFrIHZhbiBlZW4gZW1haWwtYWRyZXMuCi0tLQojVGhpcyBpcyBwb3B1cCBoZWxwIG1lc3NhZ2VzIGZvciB0aGUgU3RhZmYgUGFuZWwgLT4gRGFzaGJvYXJkIC0+IE15IFByb2ZpbGUKI0ZpZWxkczoKI3RpdGxlIC0gU2hvd24gaW4gYm9sZCBhdCB0aGUgdG9wIG9mIHRoZSBwb3BvdmVyIHdpbmRvdwojY29udGVudCAtIFRoZSBib2R5IG9mIHRoZSBoZWxwIHBvcG92ZXIKI2xpbmtzIC0gTGlzdCBvZiBsaW5rcyBzaG93cyBiZWxvdyB0aGUgY29udGVudAojdGl0bGUgLSBMaW5rIHRpdGxlCiNocmVmIC0gaHJlZiBvZiBsaW5rIChsaW5rcyBzdGFydGluZyB3aXRoIC8gYXJlIHRyYW5zbGF0ZWQgdG8gdGhlCiNoZWxwZGVzayBpbnN0YWxsYXRpb24gcGF0aCkKI1RoZSBrZXkgbmFtZXMgc3VjaCBhcyAnaGVscGRlc2tfbmFtZScgc2hvdWxkIG5vdCBiZSB0cmFuc2xhdGVkIGFzIHRoZXkKI211c3QgbWF0Y2ggdGhlIEhUTUwgI2lkcyBwdXQgaW50byB0aGUgcGFnZSB0ZW1wbGF0ZS4KIy0tLQpjb250YWN0X2luZm9ybWF0aW9uOgogIHRpdGxlOiBDb250YWN0IGluZm9ybWF0aWUKICAwOiA+Cgp1c2VybmFtZToKICB0aXRsZTogR2VicnVpa2Vyc25hYW0KICBjb250ZW50OiA+CiAgICBBbGxlZW4gbWVkZXdlcmtlcnMgbWV0IGVlbiBBZG1pbiBzdGF0dXMgbW9nZW4gZWVuIGdlYnJ1aWtlcnNuYWFtIGFhbnBhc3Nlbi4gQWxzIHUgZWVuIG1lZGV3ZXJrZXIgYmVudCBtZXQgYWRtaW4gcHJpdmlsZWdlcywga3VudCB1IGRpdCBkb2VuIGRvb3IgZWVuIHRlIHdpanppZ2VuIG1lZGV3ZXJrZXIgdGUgc2VsZWN0ZXJlbiBpbiBkZSA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPk1lZGV3ZXJrZXJzPC9zcGFuPiB0YWJlbC4KICBsaW5rczoKICAgIC0gCiAgICAgIHRpdGxlOiBBbHMgZWVuIGJlaGVlcmRlciBlZW4gZ2VicnVpa2Vyc25hYW0gd2lqemlnZW4KICAgICAgaHJlZjogL3NjcC9zdGFmZi5waHAKdGltZV96b25lOgogIHRpdGxlOiBUaWpkem9uZQogIDA6ID4KCmRheWxpZ2h0X3NhdmluZzoKICB0aXRsZTogWm9tZXJ0aWpkCiAgMDogPgoKbWF4aW11bV9wYWdlX3NpemU6CiAgdGl0bGU6IE1heGltYWxlIHBhZ2luYWdyb290dGUKICAwOiA+CgphdXRvX3JlZnJlc2hfcmF0ZToKICB0aXRsZTogQXV0byBSZWZyZXNoIFJhdGUKICAwOiA+CgpkZWZhdWx0X3NpZ25hdHVyZToKICB0aXRsZTogU3RhbmRhYXJkaGFuZHRla2VuaW5nCiAgMDogPgoKZGVmYXVsdF9wYXBlcl9zaXplOgogIHRpdGxlOiBTdGFuZGFhcmQgcGFwaWVyZm9ybWFhdAogIDA6ID4KCnNob3dfYXNzaWduZWRfdGlja2V0czoKICB0aXRsZTogVG9vbiB0b2VnZXdlemVuIFRpY2tldHMKICBjb250ZW50OiA+CiAgICA8cD5BbHMgZGV6ZSBvcHRpZSB3b3JkdCBpbmdlc2NoYWtlbGQsIHdvcmR0IGRlIGluc3RlbGxpbmcgb20gdG9lZ2V3ZXplbiB0aWNrZXRzIHRlIHZlcmJlcmdlbiBpbiBoZXQgbGlqc3RqZSAiT3BlbiB0aWNrZXRzIiBnZW5lZ2VlcmQuPC9wPjxwIGNsYXNzPSJpbmZvLWJhbm5lciI+PGkgY2xhc3M9Imljb24taW5mby1zaWduIj48L2k+RGV6ZSBpbnN0ZWxsaW5nIGlzIGFsbGVlbiBiZXNjaGlrYmFhciBhbHMgZGUgZ2xvYmFsZSBpbnN0ZWxsaW5nIGluemFrZSB0b2VnZXdlemVuIHRpY2tldHMgZ2VhY3RpdmVlcmQgd29yZHQuPC9wPgpwYXNzd29yZDoKICB0aXRsZTogV2FjaHR3b29yZAogIDA6ID4KCmN1cnJlbnRfcGFzc3dvcmQ6CiAgdGl0bGU6IEh1aWRpZyB3YWNodHdvb3JkCiAgMDogPgoKbmV3X3Bhc3N3b3JkOgogIHRpdGxlOiBOaWV1dyB3YWNodHdvb3JkCiAgMDogPgoKY29uZmlybV9uZXdfcGFzc3dvcmQ6CiAgdGl0bGU6IEJldmVzdGlnIG5pZXV3IHdhY2h0d29vcmQKICAwOiA+CgpzaWduYXR1cmU6CiAgdGl0bGU6IEhhbmR0ZWtlbmluZwogIGNvbnRlbnQ6ID4KICAgIE1hYWsgZWVuIG9wdGlvbmVsZSA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPk9uZGVydGVrZW5pbmc8L3NwYW4+IGRpZSBldmVudHVlZWwgd29yZHQgd2VlcmdlZ2V2ZW4gYWFuIGhldCBlaW5kZSB2YW4geW91dyBUaWNrZXQgQW50d29vcmRlbi4gT2YgZGV6ZSAgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5IYW5kdGVrZW5pbmc8L3NwYW4+IHZlcnNjaGlqbnQgaGFuZ3QgYWYKICAgIHZhbiBkZSA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPkVtYWlsIFRlbXBsYXRlPC9zcGFuPiBkaWUgd29yZHQgZ2VicnVpa3QgaW4gZWVuIFRpY2tldCBBbnR3b29yZC4KICBsaW5rczoKICAgIC0gCiAgICAgIHRpdGxlOiBNYWFrIGVtYWlsIHRlbXBsYXRlcyBpbiBoZXQgQWRtaW4gUGFuZWwKICAgICAgaHJlZjogL3NjcC90ZW1wbGF0ZXMucGhwCi0tLQojVGhpcyBpcyBwb3B1cCBoZWxwIG1lc3NhZ2VzIGZvciB0aGUgU3RhZmYgUGFuZWwgLT4gRGFzaGJvYXJkIC0+IFN0YWZmIERpcmVjdG9yeQojRmllbGRzOgojdGl0bGUgLSBTaG93biBpbiBib2xkIGF0IHRoZSB0b3Agb2YgdGhlIHBvcG92ZXIgd2luZG93CiNjb250ZW50IC0gVGhlIGJvZHkgb2YgdGhlIGhlbHAgcG9wb3ZlcgojbGlua3MgLSBMaXN0IG9mIGxpbmtzIHNob3dzIGJlbG93IHRoZSBjb250ZW50CiN0aXRsZSAtIExpbmsgdGl0bGUKI2hyZWYgLSBocmVmIG9mIGxpbmsgKGxpbmtzIHN0YXJ0aW5nIHdpdGggLyBhcmUgdHJhbnNsYXRlZCB0byB0aGUKI2hlbHBkZXNrIGluc3RhbGxhdGlvbiBwYXRoKQojVGhlIGtleSBuYW1lcyBzdWNoIGFzICdoZWxwZGVza19uYW1lJyBzaG91bGQgbm90IGJlIHRyYW5zbGF0ZWQgYXMgdGhleQojbXVzdCBtYXRjaCB0aGUgSFRNTCAjaWRzIHB1dCBpbnRvIHRoZSBwYWdlIHRlbXBsYXRlLgojLS0tCnN0YWZmX21lbWJlcnM6CiAgdGl0bGU6IE1lZGV3ZXJrZXJzCiAgY29udGVudDogPgogICAgSW4gZGUgdm9sZ2VuZGUgdGFiZWwgYmV2YXQgZGUgcmVzdWx0YXRlbiB2YW4gaGV0IGZpbHRlciBlcmJvdmVuLiBBbHMgZ2VlbiBpbnN0ZWxsaW5nZW4gdm9vciBoZXQgZmlsdGVyIHdvcmRlbiBnZWtvemVuLCB6aWpuIGRhbiBhbGxlIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+IE1lZGV3ZXJrZXJzPC9zcGFuPiB3ZWVyZ2VnZXZlbiwgZW4gb3BnZWRlZWxkIGRvb3IgcGFnaW5hJ3MuIFppZSBkZSBzZWN0aWUgcGFnaW5hJ3MgaGllcm9uZGVyIG9tIHRlIG5hdmlnZXJlbiBkb29yIG1lZXIgcmVzdWx0YXRlbi4gWmllIGRlIHNlY3RpZSBwYWdpbmEncyBoaWVyb25kZXIgb20gdGUgbmF2aWdlcmVuIGRvb3IgbWVlcmRlcmUgcmVzdWx0YXRlbi4KYXBwbHlfZmlsdGVyaW5nX2NyaXRlcmlhOgogIHRpdGxlOiBQYXMgZmlsdGVyY3JpdGVyaWEgdG9lCiAgY29udGVudDogPgogICAgS2llcyBlZW4gPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5hZmRlbGluZzwvc3Bhbj4gZGllIHJlbGV2YW50IGlzIHZvb3IgdXcgaHVpZGlnZSBiZWxhbmdlbi4gVSBrYW4gb29rIGhldCB1aXR2b2VyZW4gdmFuIGVlbiB6b2Vrb3BkcmFjaHQgdm9vciBlZW4gc3BlY2lmaWVrZSBBZ2VudC4KLS0tCiNUaGlzIGlzIHBvcHVwIGhlbHAgbWVzc2FnZXMgZm9yIHRoZSBBZG1pbiBQYW5lbCAtPiBEYXNoYm9hcmQgIC0+IFN5c3RlbSBMb2dzIHBhZ2UKI0ZpZWxkczoKI3RpdGxlIC0gU2hvd24gaW4gYm9sZCBhdCB0aGUgdG9wIG9mIHRoZSBwb3BvdmVyIHdpbmRvdwojY29udGVudCAtIFRoZSBib2R5IG9mIHRoZSBoZWxwIHBvcG92ZXIKI2xpbmtzIC0gTGlzdCBvZiBsaW5rcyBzaG93cyBiZWxvdyB0aGUgY29udGVudAojdGl0bGUgLSBMaW5rIHRpdGxlCiNocmVmIC0gaHJlZiBvZiBsaW5rIChsaW5rcyBzdGFydGluZyB3aXRoIC8gYXJlIHRyYW5zbGF0ZWQgdG8gdGhlCiNoZWxwZGVzayBpbnN0YWxsYXRpb24gcGF0aCkKI1RoZSBrZXkgbmFtZXMgc3VjaCBhcyAnaGVscGRlc2tfbmFtZScgc2hvdWxkIG5vdCBiZSB0cmFuc2xhdGVkIGFzIHRoZXkKI211c3QgbWF0Y2ggdGhlIEhUTUwgI2lkcyBwdXQgaW50byB0aGUgcGFnZSB0ZW1wbGF0ZS4KIy0tLQpzeXN0ZW1fbG9nczoKICB0aXRsZTogU3lzdGVlbWxvZ2JvZWtlbgogIGNvbnRlbnQ6ID4KICAgIEhpZXIgdmluZHQgamUgYWxsZSBwcm9ibGVlbW9wbG9zc2luZ2VuIHZlcndhbnQgYWFuIGxvZ2dpbmcgKGJ2LiBFcnJvcnMsIFdhcm5pbmdzIG9mIEJ1Z3MpLgogIGxpbmtzOgogICAgLSAKICAgICAgdGl0bGU6IFBhcyB3ZWxrIHR5cGUgYWN0aXZpdGVpdCBlciB3b3JkdCBnZWxvZ2QgYWFuIGRvb3IgIDxiciAvPjxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+U3RhbmRhYXJkIExvZyBMZXZlbDwvc3Bhbj4gdGUgd2lqemlnZW4uCiAgICAgIGhyZWY6IC9zY3Avc2V0dGluZ3MucGhwP3Q9c3lzdGVtCmRhdGVfc3BhbjoKICB0aXRsZTogRGF0dW0gYmVyZWlrCiAgY29udGVudDogPgogICAgU2VsZWN0ZWVyIGhldCBkYXR1bWJlcmVpayBkYXQgdSB3aWx0IHdlZXJnZXZlbiBpbiA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPlN5c3RlZW0gTG9nczwvc3Bhbj4uCnR5cGU6CiAgdGl0bGU6IFR5cGUKICBjb250ZW50OiA+CiAgICBLaWVzIGVlbiBvcHRpZSBvbSBkZSBmb2N1cyBvcCBlZW4gc3BlY2lmaWVrIHR5cGUgdmFuIGFjdGllIHRlIGJlcGVya2VuLiA8c3BhbiBjbGFzcz0iZG9jLWRlc2Mtb3B0Ij5EZWJ1Zzwvc3Bhbj4gdmVydGVnZW53b29yZGlndCBkZSBtaW5zdCBlcm5zdCwgZW4gPHNwYW4gY2xhc3M9ImRvYy1kZXNjLW9wdCI+Rm91dDwvc3Bhbj4gdmVydGVnZW53b29yZGlndCBkZSBncm9vdHN0ZSBlcm5zdC4Kc2hvd2luZ19sb2dzOgogIHRpdGxlOiBHZWVmJmhlbGxpcDtMb2dzIHdlZXIKICBjb250ZW50OiA+CiAgICBLaWprIHpla2VyIGRlIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+UGFnaW5hPC9zcGFuPiBoaWVyb25kZXIgbmEgb20gZXJ2b29yIHRlIHpvcmdlbiBkYXQgZXIgbmlldCBtw6nDqXIgemljaHRiYXJlIHBhZ2luYSdzIHZlcnNjaGlqbmVuIGluIGRlIFN5c3RlbSBMb2dzLgpsb2dfdGl0bGU6CiAgdGl0bGU6IExvZyB0aXRlbAogIGNvbnRlbnQ6ID4KICAgIEtsaWsgb3AgZGUgaGVhZGVyIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+TG9nIFRpdGVsPC9zcGFuPiB2YW4gZGUgdGFiZWwgYWxzIGplIGRlIHJlc3VsdGF0ZW4gd2lsdCBzb3J0ZXJlbiBvcCA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPkxvZyBUaXRlbDwvc3Bhbj4uCmxvZ190eXBlOgogIHRpdGxlOiBMb2cgVHlwZQogIGNvbnRlbnQ6ID4KICAgIEtsaWsgb3AgZGUgaGVhZGVyIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+TG9nIFR5cGU8L3NwYW4+IHZhbiBkZSB0YWJlbCBhbHMgamUgZGUgcmVzdWx0YXRlbiB3aWx0IHNvcnRlcmVuIG9wIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+TG9nIFR5cGU8L3NwYW4+Lgpsb2dfZGF0ZToKICB0aXRsZTogTG9nZGF0dW0KICBjb250ZW50OiA+CiAgICBEaXQgaXMgZGUgZGF0dW0gd2FubmVlciBkZSBsb2cgaXMgZ2VnZW5lcmVlcmQgZG9vciBkZSBzb2Z0d2FyZS4gQWxzIGplIGRlIHJlc3VsdGF0ZW4gd2lsIHNvcnRlcmVuIG9wIGRlIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+TG9nIERhdHVtPC9zcGFuPiwga2xpayBkYW4gb3AgZGUgaGVhZGVyIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+TG9nIERhdHVtPC9zcGFuPiB2YW4gZGUgdGFiZWwuIChHZWJydWlrIGhldCA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPkRhdHVtIFRpamRzcGFubmU8L3NwYW4+IGZvcm11bGllciBoaWVyYm92ZW4gb20gZGUgdGlqZHNwYW5uZSB2YW4gZGUgbG9ncyBhYW4gdGUgcGFzc2VuLikKaXBfYWRkcmVzczoKICB0aXRsZTogSVAtYWRyZXMKICBjb250ZW50OiA+CiAgICBEaXQgdmVyd2lqc3QgbmFhciBoZXQgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj4gSVAtPC9zcGFuPiA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPiBhZHJlczwvc3Bhbj4gdmFuIGRlIGFnZW50IG9mIGRlIGtsYW50IGRpZSBvc1RpY2tldCBhYW4gaGV0IGdlYnJ1aWtlbiB3YXMgIG9wIGhldCBtb21lbnQgZGF0IGhldCBsb2dib2VrIGlzIGdlZ2VuZXJlZXJkLgotLS0KI1RoaXMgaXMgcG9wdXAgaGVscCBtZXNzYWdlcyBmb3IgdGhlIEFkbWluIFBhbmVsIC0+IEVtYWlscyAtPiBCYW5saXN0CiNGaWVsZHM6CiN0aXRsZSAtIFNob3duIGluIGJvbGQgYXQgdGhlIHRvcCBvZiB0aGUgcG9wb3ZlciB3aW5kb3cKI2NvbnRlbnQgLSBUaGUgYm9keSBvZiB0aGUgaGVscCBwb3BvdmVyCiNsaW5rcyAtIExpc3Qgb2YgbGlua3Mgc2hvd3MgYmVsb3cgdGhlIGNvbnRlbnQKI3RpdGxlIC0gTGluayB0aXRsZQojaHJlZiAtIGhyZWYgb2YgbGluayAobGlua3Mgc3RhcnRpbmcgd2l0aCAvIGFyZSB0cmFuc2xhdGVkIHRvIHRoZQojaGVscGRlc2sgaW5zdGFsbGF0aW9uIHBhdGgpCiNUaGUga2V5IG5hbWVzIHN1Y2ggYXMgJ2hlbHBkZXNrX25hbWUnIHNob3VsZCBub3QgYmUgdHJhbnNsYXRlZCBhcyB0aGV5CiNtdXN0IG1hdGNoIHRoZSBIVE1MICNpZHMgcHV0IGludG8gdGhlIHBhZ2UgdGVtcGxhdGUuCiMtLS0KYmFuX2xpc3Q6CiAgdGl0bGU6IEdlYmxva2tlZXJkZSBlLW1haWxhZHJlc3NlbgogIGNvbnRlbnQ6ID4KICAgIEUtbWFpbHMgb250dmFuZ2VuIHZhbmFmIGUtbWFpbGFkcmVzc2VuIGRpZSBvcCBkZSBHZWJsb2trZWVyZGUgZS1tYWlsYWRyZXNzZW4gbGlqc3Qgc3RhYW4genVsbGVuIGF1dG9tYXRpc2NoIHdvcmRlbiBhZmdld2V6ZW4uCi0tLQojVGhpcyBpcyBwb3B1cCBoZWxwIG1lc3NhZ2VzIGZvciB0aGUgQWRtaW4gUGFuZWwgLT4gRW1haWxzIC0+IERpYWdub3N0aWNzCiNGaWVsZHM6CiN0aXRsZSAtIFNob3duIGluIGJvbGQgYXQgdGhlIHRvcCBvZiB0aGUgcG9wb3ZlciB3aW5kb3cKI2NvbnRlbnQgLSBUaGUgYm9keSBvZiB0aGUgaGVscCBwb3BvdmVyCiNsaW5rcyAtIExpc3Qgb2YgbGlua3Mgc2hvd3MgYmVsb3cgdGhlIGNvbnRlbnQKI3RpdGxlIC0gTGluayB0aXRsZQojaHJlZiAtIGhyZWYgb2YgbGluayAobGlua3Mgc3RhcnRpbmcgd2l0aCAvIGFyZSB0cmFuc2xhdGVkIHRvIHRoZQojaGVscGRlc2sgaW5zdGFsbGF0aW9uIHBhdGgpCiNUaGUga2V5IG5hbWVzIHN1Y2ggYXMgJ2hlbHBkZXNrX25hbWUnIHNob3VsZCBub3QgYmUgdHJhbnNsYXRlZCBhcyB0aGV5CiNtdXN0IG1hdGNoIHRoZSBIVE1MICNpZHMgcHV0IGludG8gdGhlIHBhZ2UgdGVtcGxhdGUuCiMtLS0KdGVzdF9vdXRnb2luZ19lbWFpbDoKICB0aXRsZTogVGVzdCB1aXRnYWFuZGUgRS1tYWlsCiAgY29udGVudDogPgogICAgRGUgYWZsZXZlcmluZyB2YW4gZGUgZS1tYWlsIGhhbmd0IGFmIHZhbiB1dyBzZXJ2ZXJpbnN0ZWxsaW5nZW4gKHBocC5pbmkpIGVuL29mIFNNVFAgY29uZmlndXJhdGllLgogIGxpbmtzOgogICAgLSAKICAgICAgdGl0bGU6IFNlbGVjdGVlciBlZW4gZW1haWwgb20gU01UUCAodWl0Z2FhbmRlIG1haWwpIGluc3RlbGxpbmdlbiB0ZSBjb25maWd1cmVyZW4KICAgICAgaHJlZjogL3NjcC9lbWFpbHMucGhwCmZyb206CiAgdGl0bGU6IFZhbgogIDA6ID4KCnRvOgogIHRpdGxlOiBBYW4KICAwOiA+CgpzdWJqZWN0OgogIHRpdGxlOiBPbmRlcndlcnAKICAwOiA+CgptZXNzYWdlOgogIHRpdGxlOiBCZXJpY2h0CiAgMDogPgoKLS0tCiNUaGlzIGlzIHBvcHVwIGhlbHAgbWVzc2FnZXMgZm9yIHRoZSBBZG1pbiBQYW5lbCAtPiBFbWFpbHMgLT4gQWRkIE5ldyBFbWFpbAojRmllbGRzOgojdGl0bGUgLSBTaG93biBpbiBib2xkIGF0IHRoZSB0b3Agb2YgdGhlIHBvcG92ZXIgd2luZG93CiNjb250ZW50IC0gVGhlIGJvZHkgb2YgdGhlIGhlbHAgcG9wb3ZlcgojbGlua3MgLSBMaXN0IG9mIGxpbmtzIHNob3dzIGJlbG93IHRoZSBjb250ZW50CiN0aXRsZSAtIExpbmsgdGl0bGUKI2hyZWYgLSBocmVmIG9mIGxpbmsgKGxpbmtzIHN0YXJ0aW5nIHdpdGggLyBhcmUgdHJhbnNsYXRlZCB0byB0aGUKI2hlbHBkZXNrIGluc3RhbGxhdGlvbiBwYXRoKQojVGhlIGtleSBuYW1lcyBzdWNoIGFzICdoZWxwZGVza19uYW1lJyBzaG91bGQgbm90IGJlIHRyYW5zbGF0ZWQgYXMgdGhleQojbXVzdCBtYXRjaCB0aGUgSFRNTCAjaWRzIHB1dCBpbnRvIHRoZSBwYWdlIHRlbXBsYXRlLgojLS0tCm5ld190aWNrZXRfaGVscF90b3BpYzoKICB0aXRsZTogTmlldXcgVGlja2V0IEhlbHAtb25kZXJ3ZXJwCiAgY29udGVudDogPgogICAgS2llcyBlZW4gPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj4gSGVscC1vbmRlcndlcnA8L3NwYW4+IG9tIGF1dG9tYXRpc2NoIGdlYXNzb2NpZWVyZCB0ZSB3b3JkZW4gbWV0IHRpY2tldHMgZ2VtYWFrdCB2aWEgZGl0IGUtbWFpbGFkcmVzLiA8YnIvPiA8YnIvPiBGb3JtdWxpZXJlbiBkaWUgZ2Vrb3BwZWxkIHppam4gYWFuIGhldCBIZWxwLW9uZGVyd2VycCB6dWxsZW4gd29yZGVuIHRvZWdldm9lZ2QgYWFuIGhldCB0aWNrZXQsIG1hYXIgenVsbGVuIG5pZXRzIHZhbiBnZWdldmVucyBiZXZhdHRlbi4KICBsaW5rczoKICAgIC0gCiAgICAgIHRpdGxlOiBIZWxwLW9uZGVyd2VycGVuIGJlaGVyZW4KICAgICAgaHJlZjogL3NjcC9oZWxwdG9waWNzLnBocApuZXdfdGlja2V0X3ByaW9yaXR5OgogIHRpdGxlOiBOaWV1d2UgVGlja2V0IHByaW9yaXRlaXQKICBjb250ZW50OiA+CiAgICBLaWVzIGRlIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+UHJpb3JpdGVpdDwvc3Bhbj4gdm9vciBuaWV1d2UgdGlja2V0cyBnZW1hYWt0IHZpYSBkaXQgZS1tYWlsYWRyZXMuCm5ld190aWNrZXRfZGVwYXJ0bWVudDoKICB0aXRsZTogTmlldXdlIFRpY2tldCBhZmRlbGluZwogIGNvbnRlbnQ6ID4KICAgIEtpZXMgaGV0IDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+RGVwYXJ0ZW1lbnQ8L3NwYW4+IHdhYXJuYWFyIG5pZXV3ZSB0aWNrZXRzIGdlbWFha3QgdmlhIGRpdCBlLW1haWxhZHJlcyB3b3JkZW4gZG9vcmdlc3R1dXJkLgogIGxpbmtzOgogICAgLSAKICAgICAgdGl0bGU6IEFmZGVsaW5nZW4gYmVoZXJlbgogICAgICBocmVmOiAvc2NwL2RlcGFydG1lbnRzLnBocAphdXRvX3Jlc3BvbnNlOgogIHRpdGxlOiBBdXRvbWF0aXNjaCBhbnR3b29yZCBvcCBuaWV1dyB0aWNrZXQKICBjb250ZW50OiA+CiAgICBVIGthbiBoZXQgQXV0b21hdGlzY2ggYW50d29vcmQgdWl0c2NoYWtlbGVuIGRhdCB2ZXJ6b25kZW4gd29yZHQgbmFhciBkZSBnZWJydWlrZXIgd2FubmVlciBlZW4gbmlldXcgdGlja2V0IHdvcmR0IGdlbWFha3QgdmlhIGRpdCBlLW1haWxhZHJlcy4KdXNlcm5hbWU6CiAgdGl0bGU6IEdlYnJ1aWtlcnNuYWFtCiAgMDogPgoKcGFzc3dvcmQ6CiAgdGl0bGU6IFdhY2h0d29vcmQKICAwOiA+Cgpsb2dpbl9pbmZvcm1hdGlvbjoKICB0aXRsZTogRS1tYWlsIExvZ2luIGluZm9ybWF0aWUKICBjb250ZW50OiA+CiAgICA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPkdlYnJ1aWtlcnNuYWFtPC9zcGFuPiBlbiA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPldhY2h0d29vcmQ8L3NwYW4+IHppam4gdmVyZWlzdCB2b29yIGhldCBvbnR2YW5nZW4gdmFuIGUtbWFpbHMgdmlhIElNQVAgLyBQT1AgcG9zdHZha2tlbiBlbiB2b29yIGhldCB2ZXJ6ZW5kZW4gdmFuIGUtbWFpbHMgdmlhIFNNVFAuCm1haWxfYWNjb3VudDoKICB0aXRsZTogT3BoYWxlbiB2YW4gRS1tYWlsCiAgY29udGVudDogPgogICAgRS1tYWlscyBvcGhhbGVuIHZhbiBlZW4gZXh0ZXJuZSBlLW1haWxhZHJlcyB2aWEgSU1BUCBvZiBQT1AgZW4gb216ZXR0ZW4gaW4gdGlja2V0cyBpbiB1dyBoZWxwZGVzay4KICBsaW5rczoKICAgIC0gCiAgICAgIHRpdGxlOiBCZWhlZXI8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPkVtYWlsIFBvbGxpbmc8L3NwYW4+ICZhbXA7IDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+QXV0b0Nyb248L3NwYW4+IGluc3RlbGxpbmdlbi4KICAgICAgaHJlZjogL3NjcC9zZXR0aW5ncy5waHA/dD1lbWFpbHMKaG9zdF9hbmRfcG9ydDoKICB0aXRsZTogRXh0ZXJuZSBIb3N0CiAgY29udGVudDogPgogICAgVm9lciBkZSA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPkhvc3RuYWFtPC9zcGFuPiBlbiA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPlBvb3J0PC9zcGFuPiB2b29yIHV3IGUtbWFpbHNlcnZlci4gRGl0IGlzIGJlc2NoaWtiYWFyIGluIGRlIGRvY3VtZW50YXRpZSB2b29yIHV3IGhvc3RpbmcgYWNjb3VudCBvZiB2YW51aXQgdXcgZS1tYWlsYmVoZWVyZGVyLgpwcm90b2NvbDoKICB0aXRsZTogTWFpbCBCb3ggUHJvdG9jb2wKICBjb250ZW50OiA+CiAgICBTZWxlY3RlZXIgaGV0IHZhayBlLW1haWxwcm90b2NvbCBvbmRlcnN0ZXVuZCBkb29yIGV4dGVybmUgZS1tYWlsc2VydmVyLiBJTUFQIHdvcmR0IGFhbmJldm9sZW4gZW4gU1NMIGluZGllbiBtb2dlbGlqayBvb2sgaW5kaWVuIG1vZ2VsaWprLgpmZXRjaF9mcmVxdWVuY3k6CiAgdGl0bGU6IE9waGFhbCBmcmVxdWVudGllCiAgY29udGVudDogPgogICAgR2VlZiBvcCBob2UgdmFhaywgaW4gbWludXRlbiwgaGV0IHN5c3RlZW0gaGV0IHBvc3R2YWsgemFsIGNvbnRyb2xlcmVuLiA8YnIvPiA8YnIvPiBEaXQgdmVya2xhYXJ0IGRlIHZlcnRyYWdpbmcgdmFuIGVlbiBBdXRvLWFudHdvb3JkIG5hZGF0IGVlbiBnZWJydWlrZXIgZWVuIGUtbWFpbCBuYWFyIGRlemUgbWFpbGJveCBzdHV1cnQuCmVtYWlsc19wZXJfZmV0Y2g6CiAgdGl0bGU6IEUtbWFpbHMgcGVyIG9waGFsaW5nCiAgY29udGVudDogPgogICAgVm9lciBoZXQgYWFudGFsIHRlIHZlcndlcmtlbiBlLW1haWxzIHBlciBvcGhhbGluZy4KZmV0Y2hlZF9lbWFpbHM6CiAgdGl0bGU6IE9wZ2VoYWFsZGUgRS1tYWlscwogIGNvbnRlbnQ6ID4KICAgIEJlc2xpc3NlbiB3YXQgdGUgZG9lbiBtZXQgZGUgdmVyd2Vya3RlIGUtbWFpbHM6IDxici8+IDxici8+IDxzcGFuIGNsYXNzPSJkb2MtZGVzYy1vcHQiPiA8Yj52ZXJwbGFhdHNlbiBuYWFyIG1hcDwvYj48L3NwYW4+OiBkaXQgemFsIGRlIGUtbWFpbHMgdmFuIGhldCBwb3N0dmFrIElOIG5hYXIgZWVuIG1hcCBkaWUgdSBvcGdlZWZ0IHZlcnBsYWF0c2VuLiBBbHMgZGUgbWFwIG5vZyBuaWV0IGJlc3RhYXQgb3AgZGUgc2VydmVyLCB6YWwgaGV0IHN5c3RlZW0gcHJvYmVyZW4gb20gZGV6ZSBhdXRvbWF0aXNjaCB0ZSBtYWtlbi4gKDxiPkFhbmJldm9sZW48L2I+KSA8aHI+PHNwYW4gY2xhc3M9ImRvYy1kZXNjLW9wdCI+IDxiPlZlcndpamRlcmVuIDwvYj48L3NwYW4+OiBkaXQgemFsIHV3IGUtbWFpbHMgdmVyd2lqZGVyZW4gdWl0IGhldCBwb3N0dmFrIElOIG5hZGF0IHplIHppam4gdmVyd2Vya3QuIDxocj48c3BhbiBjbGFzcz0iZG9jLWRlc2Mtb3B0Ij4gPGI+TmlldHMgZG9lbjwvYj48L3NwYW4+OiBEaXQgbGFhdCBlLW1haWxzIGluIHV3IElOQk9YLiBIZXQgc3lzdGVlbSByZWdpc3RyZWVydCBkZSBiZXJpY2h0LWlkJ3MgdmFuIHV3IGUtbWFpbHMgZW4gcHJvYmVlcnQgbmlldCBub2dtYWFscyB0ZSB2ZXJ3ZXJrZW4uIERlemUgb3B0aWUga2FuIGVjaHRlciBkdWJiZWxlIHRpY2tldHMgdmVyb29yYWtlbi4gKDxlbT5OaWV0IGFhbmJldm9sZW48L2VtPikKc210cF9zZXR0aW5nczoKICB0aXRsZTogU01UUC1pbnN0ZWxsaW5nZW4KICBjb250ZW50OiA+CiAgICBFLW1haWwgdmVyem9uZGVuIHZhbnVpdCBkZSBoZWxwZGVzayBrYW4gd29yZGVuIHZlcnpvbmRlbiB2aWEgZWVuIFNNVFAtc2VydmVyLiBEaXQgd29yZHQgYWFuYmV2b2xlbiwgaW5kaWVuIG1vZ2VsaWprLCBvbWRhdCBoZXQgZGUgd2FhcnNjaGlqbmxpamtoZWlkIHZhbiBlZW4gZS1tYWlsbGV2ZXJpbmcgdG9lbmVlbXQgZW4gemFsIGhldCBtaW5kZXIgd2FhcnNjaGlqbmxpamsgd29yZGVuIGdlbWFya2VlcmQgYWxzIHNwYW0uCmhlYWRlcl9zcG9vZmluZzoKICB0aXRsZTogS29wdGVrc3Qgb2Ygc3Bvb2ZpbmcKICBjb250ZW50OiA+CiAgICBMYWF0IHRvZSBlZW4gbWFpbCB0ZSB2ZXJ6ZW5kZW4gdmFuYWYgZWVuIGFuZGVyIGVtYWlsIGFkcmVzIGRhbiBkYXRnZW5lIGRhdCBpcyBvcGdlZ2V2ZW4gYmlqIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+RW1haWwgQWRkcmVzczwvc3Bhbj4gaGllcmJvdmVuIDxici8+PGJyLz4gIERlemUgZ2VhdmFuY2VlcmRlIGluc3RlbGxpbmcgd29yZHQgbWVlc3RhbCBnZWJydWlrdCBiaWogaGV0IGdlYnJ1aWsgdmFuIGFsbGlhc2VzLgoKLS0tCiNUaGlzIGlzIHBvcHVwIGhlbHAgbWVzc2FnZXMgZm9yIHRoZSBBZG1pbiBQYW5lbCAtPiBTZXR0aW5ncyAtPiBTeXN0ZW0gcGFnZQojRmllbGRzOgojdGl0bGUgLSBTaG93biBpbiBib2xkIGF0IHRoZSB0b3Agb2YgdGhlIHBvcG92ZXIgd2luZG93CiNjb250ZW50IC0gVGhlIGJvZHkgb2YgdGhlIGhlbHAgcG9wb3ZlcgojbGlua3MgLSBMaXN0IG9mIGxpbmtzIHNob3dzIGJlbG93IHRoZSBjb250ZW50CiN0aXRsZSAtIExpbmsgdGl0bGUKI2hyZWYgLSBocmVmIG9mIGxpbmsgKGxpbmtzIHN0YXJ0aW5nIHdpdGggLyBhcmUgdHJhbnNsYXRlZCB0byB0aGUKI2hlbHBkZXNrIGluc3RhbGxhdGlvbiBwYXRoKQojVGhlIGtleSBuYW1lcyBzdWNoIGFzICdoZWxwZGVza19uYW1lJyBzaG91bGQgbm90IGJlIHRyYW5zbGF0ZWQgYXMgdGhleQojbXVzdCBtYXRjaCB0aGUgSFRNTCAjaWRzIHB1dCBpbnRvIHRoZSBwYWdlIHRlbXBsYXRlLgojLS0tCmZvcm1fdGl0bGU6CiAgdGl0bGU6IEtvcHRla3N0CiAgY29udGVudDogPgogICAgRGV6ZSB0aXRlbHRla3N0IHdvcmR0IHdlZXJnZWdldmVuIGluIGVlbiBncmlqemUgYmFsayBib3ZlbiBkZSBmb3JtdWxpZXJ2ZWxkZW4KZm9ybV9pbnN0cnVjdGlvbnM6CiAgdGl0bGU6IEZvcm11bGllciBpbnN0cnVjdGllcwogIGNvbnRlbnQ6ID4KICAgIFUga3VudCBleHRyYSBpbnN0cnVjdGllcyBnZXZlbiBkaWUgZGUgZ2VicnVpa2VyIHphbCBoZWxwZW4gZGUgY29udGV4dCB2YW4gZGUgZm9ybXVsaWVydmVsZGVuIHRlIGJlZ3JpanBlbiBlbiBldmVudHVlZWwgdmVyZWlzdGUgZ2VnZXZlbnMgYWFuZ2V2ZW4uCmZpZWxkX3NvcnQ6CiAgdGl0bGU6IFBvc2l0aWUgdmFuIGhldCB2ZWxkCiAgY29udGVudDogPgogICAgS2xpayBvcCBkZSBwaWpsZW4gZW4gc2xlZXAgZGUgcmlqZW4gbmFhciBkZSBqdWlzdGUgcG9zaXRpZSB2YW4gaGV0IGZvcm11bGllci4gU2xhIGhldCBmb3JtdWxpZXIgb3Agb20gZGUgd2lqemlnaW5nZW4gZG9vciB0ZSB2b2VyZW4uCmZpZWxkX2xhYmVsOgogIHRpdGxlOiBMYWJlbAogIGNvbnRlbnQ6ID4KICAgIERpdCBsYWJlbCB3b3JkdCB3ZWVyZ2VnZXZlbiBhbHMgdGlwIHZvb3IgZGl0IHZlbGQuIE5vcm1hbGVyd2lqemUgemFsIGVlbiBrb3J0LWFudHdvb3JkIHZlbGQgd2VlcmdlZ2V2ZW4gd29yZGVuIGFscyBkZXplOiA8YnI+PHN0cm9uZz5MYWJlbDo8L3N0cm9uZz4mbmJzcDs8aW5wdXQgdHlwZT0idGV4dCI+CmZpZWxkX3R5cGU6CiAgdGl0bGU6IFZlbGQgSW5ob3VkdHlwZQogIGNvbnRlbnQ6ID4KICAgIERpdCB3b3JkdCBnZWJydWlrdCBvbSBoZXQgdHlwZSB2YW4gaW52b2VyIGRvb3IgZGUgZ2VicnVpa2VyIHRlIGJlcGFsZW4uIFUga2FuIHVpdCBrb3J0IGVuIGxhbmcgYW50d29vcmQsIHRlbGVmb29ubnVtbWVyLCBkYXR1bSBlbiB0aWpkLCBjaGVja2JveCBkcm9wLWRvd24gbGlqc3Qgb2YgZWVuIGFhbmdlcGFzdGUgbGlqc3Qgc2VsZWN0aWUga2llemVuLgogIGxpbmtzOgogICAgLSAKICAgICAgdGl0bGU6IEFhbmdlcGFzdGUgbGlqc3RlbgogICAgICBocmVmOiAvc2NwL2xpc3RzLnBocApmaWVsZF92aXNpYmlsaXR5OgogIHRpdGxlOiBaaWNodGJhYXJoZWlkIHZhbiBkZSB2ZWxkZW4KICBjb250ZW50OiA+CiAgICBLaWVzIGRlIHppY2h0YmFhcmhlaWQgZW4gdmVyZWlzdGVuIHZhbiBkaXQgdmVsZC48dGFibGUgYm9yZGVyPSIxIiBjZWxscGFkZGluZz0iMnB4IiBjZWxsc3BhY2luZz0iMCIgc3R5bGU9Im1hcmdpbi10b3A6N3B4IiA+PHRib2R5IHN0eWxlPSJ2ZXJ0aWNhbC1hbGlnbjp0b3A7Ij4gPHRyPjx0aD5JbnN0ZWxsaW5nPC90aD4gPHRoPlJlc3VsdGFhdDwvdGg+PC90cj4gPHRyPjx0ZD5PcHRpb25lZWw8L3RkPiA8dGQ+QWdlbnRlbiBlbiBlaW5kZ2VicnVpa2VycyBrdW5uZW4gZGl0IHZlbGQgemllbiwgZWNodGVyIGdlZW4gdmFuIGJlaWRlbiBpcyB0b3QgYW50d29vcmRlbiB2ZXJwbGljaHQuPC90ZD48L3RyPiA8dHI+PHRkPlZlcmVpc3Q8L3RkPiA8dGQ+QWdlbnRlbiBlbiBlaW5kZ2VicnVpa2VycyBrdW5uZW4gaGV0IHZlbGQgemllbiBlbiB6aWpuIGJlaWRlbiB2ZXJwbGljaHQgb20gaGV0IHZlbGQgaW4gdGUgdnVsbGVuLjwvdGQ+PC90cj4gPHRyPjx0ZD5SZXF1aXJlZCBmb3IgRW5kVXNlcnM8L3RkPiA8dGQ+QWdlbnRlbiBlbiBlaW5kZ2VicnVpa2VycyBrdW5uZW4gaGV0IHZlbGQgemllbiwgZWluZGVnZWJydWlrZXJzIHppam4gdmVycGxpY2h0IG9tIGhldCB2ZWxkIGluIHRlIHZ1bGxlbi48L3RkPjwvdHI+IDx0cj48dGQ+VmVyZWlzdCB2b29yIGFnZW50ZW48L3RkPiA8dGQ+QWdlbnRlbiBlbiBlaW5kZ2VicnVpa2VycyBrdW5uZW4gaGV0IHZlbGQgemllbiwgYWxsZWVuIGFnZW50ZW4gemlqbiB2ZXJwbGljaHQgb20gaGV0IHZlbGQgaW4gdGUgdnVsbGVuPC90ZD48L3RyPiA8dHI+PHRkPkludGVybiwgT3B0aW9uZWVsPC90ZD4gPHRkPkFsbGVlbiBhZ2VudGVuIGt1bm5lbiBkaXQgdmVsZCB6aWVuLCBtYWFyIGFudHdvb3JkZW4gaXMgbmlldCB2ZXJwbGljaHQuPC90ZD48L3RyPiA8dHI+PHRkPkludGVybiwgVmVyZWlzdDwvdGQ+IDx0ZD5BbGxlZW4gYWdlbnRlbiBrdW5uZW4gZGl0IHZlbGQgemllbiBlbiBhbnR3b29yZGVuIGlzIHZlcnBsaWNodC48L3RkPjwvdHI+IDx0cj48dGQ+QWxsZWVuIHZvb3IgZWluZGdlYnJ1aWtlcnM8L3RkPiA8dGQ+QWxsZWVuIGVpbmRnZWJydWlrZXJzIGt1bm5lbiBkaXQgdmVsZCB6aWVuIGVuIGFudHdvb3JkZW4gaXMgdmVycGxpY2h0LjwvdGQ+PC90cj4gPC90Ym9keT48L3RhYmxlPgpmaWVsZF92YXJpYWJsZToKICB0aXRsZTogVmVsZCBhdXRvbWF0aXNlcmluZwogIGNvbnRlbnQ6ID4KICAgIERlIGdlZ2V2ZW5zIHZhbiBoZXQgdmVsZCB6aWpuIGJlc2NoaWtiYWFyIHZvb3IgZS1tYWlsIGVuIHBhZ2luYSBzamFibG9uZW4gdmlhIGRlIG5hYW0gZGllIHdvcmR0IGdlYnJ1aWt0IGluIGRlemUga29sb20uIEJpanZvb3JiZWVsZCwgVmVsZGVuIG9wIGhldCAgdGlja2V0IGZvcm11bGllciB6aWpuICBiZXNjaGlrYmFhciB2aWEgPGNvZGU+JXt0aWNrZXQudmFyaWFibGV9PC9jb2RlPiwgd2FhcmJpaiA8c3Ryb25nPnZhcmlhYmVsZTwvc3Ryb25nPiBkZSBuYWFtIGlzIGRpZSB3b3JkdCBnZWJydWlrdCBpbiBkZXplIGtvbG9tLjxicj48YnI+PGVtPkJlZHJpamZzaW5mb3JtYXRpZSBpcyBiZXNjaGlrYmFhciB2aWEgPGNvZGU+JXs8L2NvZGU+IDxjb2RlPmNvbXBhbnkudmFyaWFibGV9PC9jb2RlPiBlbiBnZWJydWlrZXJzZ2VnZXZlbnMgemlqbiBiZXNjaGlrYmFhciB2aWEgPGNvZGU+JXt0aWNrZXQudXNlci52YXJpYWJsZX08L2NvZGU+PC9lbT4KZmllbGRfZGVsZXRlOgogIHRpdGxlOiBWZXJ3aWpkZXIgZGl0IHZlbGQKICBjb250ZW50OiA+CiAgICBDb250cm9sZWVyIGVuIHNsYSBoZXQgZm9ybXVsaWVyIG9wIGFscyB1IGVlbiB2ZWxkIHZhbiBkaXQgZm9ybXVsaWVyIHdpbHQgdmVyd2lqZGVyZW4uPGJyPjxicj48ZW0+VmVyd2lqZGVyZW4gdmFuIGVlbiB2ZWxkIHphbCBnZWdldmVucyB2b29yIGhldCB2ZWxkIG9wIGluZ2V2dWxkZSBmb3JtdWxpZXJlbiBuaWV0IHZlcndpamRlcmVuLiBCaWp2b29yYmVlbGQsIGFscyBlZW4gZWVyZGVyIGluZ2VkaWVuZGUgdGlja2V0IGdlZ2V2ZW5zIHZvb3IgZWVuIHZlbGQgaGVlZnQsIHphbCBoZXQgdmVyd2lqZGVyZW4gdmFuIGRpdCB2ZWxkIG9wIGhldCBmb3JtdWxpZXIgZGUgZ2VnZXZlbnMgbmlldCB2ZXJ3aWpkZXJlbi48L2VtPgotLS0KI1RoaXMgaXMgcG9wdXAgaGVscCBtZXNzYWdlcyBmb3IgdGhlIFN0YWZmIFBhbmVsIC0+IEtub3dsZWRnZWJhc2UgLT4gQ2FubmVkIFJlc3BvbnNlcyAtPiBBZGQgTmV3IFJlc3BvbnNlCiNGaWVsZHM6CiN0aXRsZSAtIFNob3duIGluIGJvbGQgYXQgdGhlIHRvcCBvZiB0aGUgcG9wb3ZlciB3aW5kb3cKI2NvbnRlbnQgLSBUaGUgYm9keSBvZiB0aGUgaGVscCBwb3BvdmVyCiNsaW5rcyAtIExpc3Qgb2YgbGlua3Mgc2hvd3MgYmVsb3cgdGhlIGNvbnRlbnQKI3RpdGxlIC0gTGluayB0aXRsZQojaHJlZiAtIGhyZWYgb2YgbGluayAobGlua3Mgc3RhcnRpbmcgd2l0aCAvIGFyZSB0cmFuc2xhdGVkIHRvIHRoZQojaGVscGRlc2sgaW5zdGFsbGF0aW9uIHBhdGgpCiNUaGUga2V5IG5hbWVzIHN1Y2ggYXMgJ2hlbHBkZXNrX25hbWUnIHNob3VsZCBub3QgYmUgdHJhbnNsYXRlZCBhcyB0aGV5CiNtdXN0IG1hdGNoIHRoZSBIVE1MICNpZHMgcHV0IGludG8gdGhlIHBhZ2UgdGVtcGxhdGUuCiMtLS0KY2FubmVkX3Jlc3BvbnNlOgogIHRpdGxlOiBTdGFuZGFhcmQgYW50d29vcmRlbgogIGNvbnRlbnQ6ID4KICAgIE1hYWsgZWVuIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+IFN0YW5kYWFyZCBhbnR3b29yZDwvc3Bhbj4gZGllIGplIGthbiBvcG5lbWVuIGluIGVlbiB0aWNrZXQgcmVhY3RpZS4gSW4gZmVpdGUsIGthbiB1IHpvdmVlbCA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPiBTdGFuZGFhcmQgYW50d29vcmRlbjwvc3Bhbj4gYWxzIGplIHdpbCBpbiBlZW4gdGlja2V0IHJlYWN0aWUgb3BuZW1lbi4gSGV0IGthbiBvb2sgb3BnZW5vbWVuIHdvcmRlbiBpbiBkZSA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPiBBdXRvbWF0aXNjaCBhbnR3b29yZDwvc3Bhbj4gZG9vciBlZW4gPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj4gVGlja2V0IEZpbHRlcjwvc3Bhbj4uCiAgbGlua3M6CiAgICAtIAogICAgICB0aXRsZTogTWFhayBlZW4gVGlja2V0IGZpbHRlcgogICAgICBocmVmOiAvc2NwL2ZpbHRlcnMucGhwCmNhbm5lZF9hdHRhY2htZW50czoKICB0aXRsZTogU3RhbmRhYXJkIGJpamxhZ2VuCiAgY29udGVudDogPgogICAgVm9lZyBlZW4gYmVzdGFuZCB0b2UgZGF0IGF1dG9tYXRpc2NoIGthbiB0b2VnZXZvZWdkIHdvcmRlbiBhYW4gZWVuIHRpY2tldCByZWFjdGllIGJpaiBoZXQgbmlldXdlIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+IFN0YW5kYWFyZCBBbnR3b29yZDwvc3Bhbj4uCi0tLQotLS0KI1RoaXMgaXMgcG9wdXAgaGVscCBtZXNzYWdlcyBmb3IgdGhlIFN0YWZmIFBhbmVsIC0+IEtub3dsZWRnZWJhc2UgLT4gRkFRCiNGaWVsZHM6CiN0aXRsZSAtIFNob3duIGluIGJvbGQgYXQgdGhlIHRvcCBvZiB0aGUgcG9wb3ZlciB3aW5kb3cKI2NvbnRlbnQgLSBUaGUgYm9keSBvZiB0aGUgaGVscCBwb3BvdmVyCiNsaW5rcyAtIExpc3Qgb2YgbGlua3Mgc2hvd3MgYmVsb3cgdGhlIGNvbnRlbnQKI3RpdGxlIC0gTGluayB0aXRsZQojaHJlZiAtIGhyZWYgb2YgbGluayAobGlua3Mgc3RhcnRpbmcgd2l0aCAvIGFyZSB0cmFuc2xhdGVkIHRvIHRoZQojaGVscGRlc2sgaW5zdGFsbGF0aW9uIHBhdGgpCiNUaGUga2V5IG5hbWVzIHN1Y2ggYXMgJ2hlbHBkZXNrX25hbWUnIHNob3VsZCBub3QgYmUgdHJhbnNsYXRlZCBhcyB0aGV5CiNtdXN0IG1hdGNoIHRoZSBIVE1MICNpZHMgcHV0IGludG8gdGhlIHBhZ2UgdGVtcGxhdGUuCiMtLS0KbGlzdGluZ190eXBlOgogIHRpdGxlOiBMaWpzdCB0eXBlCiAgY29udGVudDogPgogICAgS2llcyA8c3BhbiBjbGFzcz0iZG9jLWRlc2Mtb3B0Ij4gb3BlbmJhYXIgKHB1YmxpY2VyZW4pPC9zcGFuPiBhbHMgdSBkZXplIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+IEZBUTwvc3Bhbj4gd2lsIHB1YmxpY2VyZW4gb3AgZGUgb3BlbmJhcmUga2VubmlzZGF0YWJhc2UgKGFscyBkZSBib3ZlbmxpZ2dlbmRlIGNhdGVnb3JpZSBvcGVuYmFhciBpcykuCiAgbGlua3M6CiAgICAtIAogICAgICB0aXRsZTogU2NoYWtlbCBkZSBwdWJsaWVrZSBLbm93bGVkZ2ViYXNlIGluIHZvb3IgaGV0IGtsYW50ZW5wb3J0YWFsCiAgICAgIGhyZWY6IC9zY3Avc2V0dGluZ3MucGhwP3Q9a2IKLS0tCiNUaGlzIGlzIHBvcHVwIGhlbHAgbWVzc2FnZXMgZm9yIHRoZSBBZG1pbiBQYW5lbCAtPiBNYW5hZ2UgLT4gQVBJIEtleXMKI0ZpZWxkczoKI3RpdGxlIC0gU2hvd24gaW4gYm9sZCBhdCB0aGUgdG9wIG9mIHRoZSBwb3BvdmVyIHdpbmRvdwojY29udGVudCAtIFRoZSBib2R5IG9mIHRoZSBoZWxwIHBvcG92ZXIKI2xpbmtzIC0gTGlzdCBvZiBsaW5rcyBzaG93cyBiZWxvdyB0aGUgY29udGVudAojdGl0bGUgLSBMaW5rIHRpdGxlCiNocmVmIC0gaHJlZiBvZiBsaW5rIChsaW5rcyBzdGFydGluZyB3aXRoIC8gYXJlIHRyYW5zbGF0ZWQgdG8gdGhlCiNoZWxwZGVzayBpbnN0YWxsYXRpb24gcGF0aCkKI1RoZSBrZXkgbmFtZXMgc3VjaCBhcyAnaGVscGRlc2tfbmFtZScgc2hvdWxkIG5vdCBiZSB0cmFuc2xhdGVkIGFzIHRoZXkKI211c3QgbWF0Y2ggdGhlIEhUTUwgI2lkcyBwdXQgaW50byB0aGUgcGFnZSB0ZW1wbGF0ZS4KIy0tLQphcGlfa2V5OgogIHRpdGxlOiBBUEktc2xldXRlbAogIGNvbnRlbnQ6ID4KICAgIEFQSSBzbGV1dGVscyB3b3JkZW4gZ2VicnVpa3QgY2xpZW50cyB0ZSB2ZXJpZmnDq3JlbiBkaWUgbmlldXdlIHRpY2tldHMgaW5kaWVuZW4gdmlhIGRlIEFwcGxpY2F0aW9uIFByb2dyYW1taW5nIEludGVyZmFjZSAoQVBJKSAuIEFQSSBzbGV1dGVscyB3b3JkZW4gZ2VicnVpa3QgaW4gcGxhYXRzIHZhbiB3YWNodHdvb3JkZW4uIEFhbmdlemllbiBBUEkgc2xldXRlbHMgb25nZWNvZGVlcmQga3VubmVuIHdvcmRlbiB2ZXJ6b25kZW4sIHppam4gemUgZ2Vrb3BwZWxkIGFhbiBlbGtlIGNsaWVudCB6aWpuIElQLW5ldHdlcmthZHJlcy4KICBsaW5rczoKICAgIC0gCiAgICAgIHRpdGxlOiBvc1RpY2tldCBBUEktZG9jdW1lbnRhdGllCiAgICAgIGhyZWY6IGh0dHBzOi8vZ2l0aHViLmNvbS9vc1RpY2tldC9vc1RpY2tldC0xLjgvYmxvYi9kZXZlbG9wL3NldHVwL2RvYy9hcGkubWQKaXBfYWRkcjoKICB0aXRsZTogSVAtYWRyZXMKICBjb250ZW50OiA+CiAgICBOZXR3ZXJrIElQLWFkcmVzIHZhbiBjbGllbnQuIEVsayBJUC1hZHJlcyB2YW4gZWxrZSB1bmlla2UgY2xpZW50IHZlcmd0IGVlbiBhcGFydGUgQVBJIHNsZXV0ZWwKLS0tCiNUaGlzIGlzIHBvcHVwIGhlbHAgbWVzc2FnZXMgZm9yIHRoZSBBZG1pbiBQYW5lbCAtPiBNYW5hZ2UgLT4gQWRkIE5ldyBDdXN0b20gTGlzdAojRmllbGRzOgojdGl0bGUgLSBTaG93biBpbiBib2xkIGF0IHRoZSB0b3Agb2YgdGhlIHBvcG92ZXIgd2luZG93CiNjb250ZW50IC0gVGhlIGJvZHkgb2YgdGhlIGhlbHAgcG9wb3ZlcgojbGlua3MgLSBMaXN0IG9mIGxpbmtzIHNob3dzIGJlbG93IHRoZSBjb250ZW50CiN0aXRsZSAtIExpbmsgdGl0bGUKI2hyZWYgLSBocmVmIG9mIGxpbmsgKGxpbmtzIHN0YXJ0aW5nIHdpdGggLyBhcmUgdHJhbnNsYXRlZCB0byB0aGUKI2hlbHBkZXNrIGluc3RhbGxhdGlvbiBwYXRoKQojVGhlIGtleSBuYW1lcyBzdWNoIGFzICdoZWxwZGVza19uYW1lJyBzaG91bGQgbm90IGJlIHRyYW5zbGF0ZWQgYXMgdGhleQojbXVzdCBtYXRjaCB0aGUgSFRNTCAjaWRzIHB1dCBpbnRvIHRoZSBwYWdlIHRlbXBsYXRlLgojLS0tCmN1c3RvbV9saXN0czoKICB0aXRsZTogQWFuZ2VwYXN0ZSBsaWpzdGVuCiAgY29udGVudDogPgogICAgVXcgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5hYW5nZXBhc3RlIGxpanN0ZW48L3NwYW4+IHN0YWF0IHUgdG9lIG9tIGRyb3Bkb3ducyBtZXQgdm9vcmdlZGVmaW5pZWVyZGUgb3B0aWVzIGFhbiB0ZSBtYWtlbiB3YWFydWl0IGVlbiBDbGllbnQgaW4gdXcgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5BYW5nZXBhc3RlIGZvcm11bGllcmVuPC9zcGFuPiBrYW4gc2VsZWN0ZXJlbi4gQWxzIHUgZGV6ZSA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPmFhbmdlcGFzdGUgbGlqc3Q8L3NwYW4+em91IHdpbGxlbiBnZWJydWlrZW4gYWxzIGVlbiA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPmRvZWw8L3NwYW4+IGluIGVlbiA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPlRpY2tldCBGaWx0ZXI8L3NwYW4+LCBtb2V0IHUgZGV6ZSBsaWpzdCB0b2V2b2VnZW4gYWFuIHV3IDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+VGlja2V0IERldGFpbHM8L3NwYW4+IGZvcm11bGllci4KbmFtZToKICB0aXRsZTogTmFhbQogIDA6ID4KCnBsdXJhbF9uYW1lOgogIHRpdGxlOiBOYWFtIGluIG1lZXJ2b3VkCiAgMDogPgoKc29ydF9vcmRlcjoKICB0aXRsZTogU29ydGVlcnZvbGdvcmRlCiAgMDogPgoKbGlzdF9zX2luaXRpYWxfaXRlbXM6CiAgdGl0bGU6IEluaXRpw6tsZSBsaWpzdCBpdGVtcwogIDA6ID4KCnZhbHVlOgogIHRpdGxlOiBXYWFyZGUKICAwOiA+CgpleHRyYToKICB0aXRsZTogRXh0cmEKICBjb250ZW50OiA+CiAgICBBZmtvcnRpbmdlbiBlbiBkZXJnZWxpamtlLiBBbHMgZXIgdG9ldmFsbGlnIGludGVybmUgY29kZXMgd29yZGVuIGdlYnJ1aWt0IHZvb3IgZGUgaXRlbXMgaW4gZGV6ZSBsaWpzdCwga3VubmVuIGRlemUgY29kZXMgZW4gYWZrb3J0aW5nZW4gd29yZGVuIGluZ2V2b2VyZCBpbiBkZXplIGtvbG9tLiBBbHMgZGUgYWFuZ2VwYXN0ZSBsaWpzdCB3b3JkdCB3ZWVyZ2VnZXZlbiBhbHMgZWVuIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy1vcHRpb24iPlR5cGVBaGVhZDwvc3Bhbj4sIGt1bm5lbiBkZXplIGFma29ydGluZ2VuIHdvcmRlbiBnZWJydWlrdCBvbSB0ZSB6b2VrZW4gbmFhciBpdGVtcyBpbiBkZSBhYW5nZXBhc3RlIGxpanN0LgotLS0KI1RoaXMgaXMgcG9wdXAgaGVscCBtZXNzYWdlcyBmb3IgdGhlIEFkbWluIFBhbmVsIC0+IE1hbmFnZSAtPiBGaWx0ZXIKI0ZpZWxkczoKI3RpdGxlIC0gU2hvd24gaW4gYm9sZCBhdCB0aGUgdG9wIG9mIHRoZSBwb3BvdmVyIHdpbmRvdwojY29udGVudCAtIFRoZSBib2R5IG9mIHRoZSBoZWxwIHBvcG92ZXIKI2xpbmtzIC0gTGlzdCBvZiBsaW5rcyBzaG93cyBiZWxvdyB0aGUgY29udGVudAojdGl0bGUgLSBMaW5rIHRpdGxlCiNocmVmIC0gaHJlZiBvZiBsaW5rIChsaW5rcyBzdGFydGluZyB3aXRoIC8gYXJlIHRyYW5zbGF0ZWQgdG8gdGhlCiNoZWxwZGVzayBpbnN0YWxsYXRpb24gcGF0aCkKI1RoZSBrZXkgbmFtZXMgc3VjaCBhcyAnaGVscGRlc2tfbmFtZScgc2hvdWxkIG5vdCBiZSB0cmFuc2xhdGVkIGFzIHRoZXkKI211c3QgbWF0Y2ggdGhlIEhUTUwgI2lkcyBwdXQgaW50byB0aGUgcGFnZSB0ZW1wbGF0ZS4KIy0tLQpleGVjdXRpb25fb3JkZXI6CiAgdGl0bGU6IFZvbGdvcmRlIHZhbiB1aXR2b2VyaW5nCiAgY29udGVudDogPgogICAgVm9lciBlZW4gZ2V0YWwgaW4gZGF0IGRlIHByaW9yaXRlaXQgdmFuIGRlIGZpbHRlciBiZXBhYWx0LiBIb2UgbGFnZXIgaGV0IGdldGFsLCBob2UgaG9nZXIgZGUgcHJpb3JpdGVpdCB2YW4gZGV6ZSBmaWx0ZXIgZGF0IHdvcmR0IHVpdGdldm9lcmQgdGVuIG9wemljaHRlIHZhbiBlZW4gYW5kZXIgZmlsdGVyIGRpZSBlZW4gaG9nZXJlIG9yZGUgdmFuIHVpdHZvZXJpbmcgem91IGt1bm5lbiBoZWJiZW4uIDxicj48YnI+QWxzIHUgZGV6ZSBmaWx0ZXJhY3RpZSB3aWx0IGluc3RlbGxlbiBhbHMgbGFhdHN0ZSBmaWx0ZXIgZGF0IHRvZWdlcGFzdCBtb2V0IHdvcmRlbiwgYWN0aXZlZXIgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5TdG9wcGVuIG1ldCB2ZXJkZXIgdmVyd2Vya2VuPC9zcGFuPi4KdGFyZ2V0X2NoYW5uZWw6CiAgdGl0bGU6IEthbmFhbAogIGNvbnRlbnQ6ID4KICAgIEtpZXMgaGV0IGRvZWwgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5LYW5hYWw8L3NwYW4+IHZvb3IgdXcgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5UaWNrZXQgRmlsdGVyPC9zcGFuPi4gSGV0IDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+S2FuYWFsPC9zcGFuPiBpcyBkZSBicm9uIHdhYXJkb29yIGhldCB0aWNrZXQgaW4gaGV0IHN5c3RlZW0gemljaHRiYWFyIGlzLiA8YnI+PGJyPkJpanZvb3JiZWVsZCwga2llc3QgdSA8c3BhbiBjbGFzcz0iZG9jLWRlc2Mtb3B0Ij5XZWJmb3JtdWxpZXJlbjwvc3Bhbj4sIHUgemVndCBkYXQgdSBoZXQgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5UaWNrZXQgRmlsdGVyPC9zcGFuPiB3aWx0IHRvZXBhc3NlbiBvcCBkaWUgdGlja2V0cyBkaWUgYWZrb21zdGlnIHppam4gdmFuIGRlIGtsYW50ZW5wb3J0YWFsIHdlYmZvcm11bGllci4KcnVsZXNfbWF0Y2hpbmdfY3JpdGVyaWE6CiAgdGl0bGU6IFJlZ2VscyBkaWUgYWFuIGNyaXRlcmlhIHZvbGRvZW4KICBjb250ZW50OiA+CiAgICBLaWVzIGhvZSBlbGFzaXRzY2ggZGUgem9la3Jlc3VsdGF0ZW4gdmFuIHV3IDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+VGlja2V0IEZpbHRlcjwvc3Bhbj4gbW9nZW4gemlqbi4gQWxzIGplIHdpbHQgZGF0IGRlIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+VGlja2V0IEZpbHRlcjwvc3Bhbj4gb3ZlcmVlbmtvbXQgbWV0IGVlbiB2YW4gZGUgcmVnZWxzLCBlbiBkYWFybmEgc3RvcHQsIGtpZXMgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLW9wdCI+Vm9sZG9ldCBhYW4gdGVubWluc3RlIMOpw6luPC9zcGFuPi4gQWxzIGplIHdpbCBkYXQgPGVtPjxzdHJvbmc+YWxsZSByZWdlbHM8L3N0cm9uZz48L2VtPiB2YW4gZGUgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5UaWNrZXQgRmlsdGVyPC9zcGFuPiBtb2V0ZW4gdm9sZG9lbiwga2llcyBkYW4gPHNwYW4gY2xhc3M9ImRvYy1kZXNjLW9wdCI+Vm9sZG9ldCBhYW4gYWxsZTwvc3Bhbj4uCnJlamVjdF90aWNrZXQ6CiAgdGl0bGU6IFRpY2tldCB2ZXJ3ZXJwZW4KICBjb250ZW50OiA+CiAgICBBbHMgZGl0IGluZ2VzY2hha2VsZCBpcywgenVsbGVuIGFsbGUgdmVyZGVyZSBwcm9jZXNzZW4gZ2VzdG9wdCB3b3JkZW4gZW4gYWxsZSBhbmRlcmUga2V1emVuIHZhbiBhY3RpZXMgZXJvbmRlciB6dWxsZW4gd29yZGVuIGdlbmVnZWVyZCBvcCBvdmVyZWVua29tc3Rlbi4KcmVwbHlfdG9fZW1haWw6CiAgdGl0bGU6IEFudHdvb3JkLUFhbiBFbWFpbAogIGNvbnRlbnQ6ID4KICAgIFNjaGFrZWwgZGl0IGluIGFscyBqZSBkZSBIZWxwZGVzayBkZSByZWNodGVuIHdpbCBnZXZlbiBhYW4gZWVuIGVtYWlsIHRvZXBhc3NpbmcgdmFuIGRlIGdlYnJ1aWtlciB6aWpuIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+QW50d29vcmQgQWFuPC9zcGFuPiBrb3B0ZWtzdC4gRGl0IHZlbGQgaXMgZW5rZWwgcmVsZXZhbnQgYWxzIGhldCA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPkthbmFhbDwvc3Bhbj4gaGllcmJvdmVuIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy1vcHQiPkUtbWFpbDwvc3Bhbj4gYmV2YXQuCnRpY2tldF9hdXRvX3Jlc3BvbnNlOgogIHRpdGxlOiBBdXRvLWFudHdvb3JkIG9wIFRpY2tldHMgdWl0c2NoYWtlbGVuCiAgY29udGVudDogPgogICAgPGVtPk9wbWVya2luZzogRGl0IHphbCBlbGtlIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+QWZkZWxpbmc8L3NwYW4+IG9mIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+QXV0b21hdGlzY2gtYW50d29vcmQgaW5zdGVsbGluZzwvc3Bhbj4gb3ZlcnNjaHJpanZlbi48L2VtPgpjYW5uZWRfcmVzcG9uc2U6CiAgdGl0bGU6IFN0YW5kYWFyZCBBdXRvbWF0aXNjaC1hbnR3b29yZAogIGNvbnRlbnQ6ID4KICAgIEtpZXMgZWVuIGdld2Vuc3QgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5TdGFuZGFhcmQgQW50d29vcmQ8L3NwYW4+IGRhdCBnZW1haWxkIG1vZXQgd29yZGVuIG5hYXIgZGUgZ2VicnVpa2VyIG9wIGVlbiA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPlRpY2tldCBGaWx0ZXI8L3NwYW4+IG92ZXJlZW5rb21zdC4gSGV0IDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+TmlldXdlIFRpY2tldCBBdXRvbWF0aXNjaC1hbnR3b29yZDwvc3Bhbj4gc2phYmxvb24gZGF0IHdvcmR0IGdlYnJ1aWt0IGhhbmd0IGFmIHZhbiBkZTxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+c2phYmxvbmVuIHNldDwvc3Bhbj4gc3RhbmRhYXJkIGluZ2VzdGVsZCBpcywgb2YgdmFuIGhldCBvdmVyZWVua29tZW5kZSB0aWNrZXQgemlqbiA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPkFmZGVsaW5nPC9zcGFuPi4KICBsaW5rczoKICAgIC0gCiAgICAgIHRpdGxlOiBTdGFuZGFhcmQgYW50d29vcmRlbiBiZWhlcmVuCiAgICAgIGhyZWY6IC9zY3AvY2FubmVkLnBocAogICAgLSAKICAgICAgdGl0bGU6IFNqYWJsb29uIFNldHMgYmVoZXJlbgogICAgICBocmVmOiAvc2NwL3RlbXBsYXRlcy5waHAKICAgIC0gCiAgICAgIHRpdGxlOiBBdXRvbWF0aXNjaC1hbnR3b29yZCB2YW4gTmlldXcgVGlja2V0IFNqYWJsb29uCiAgICAgIGhyZWY6IC9zY3AvdGVtcGxhdGVzLnBocD9pZD0yJmE9bWFuYWdlCmRlcGFydG1lbnQ6CiAgdGl0bGU6IEFmZGVsaW5nCiAgY29udGVudDogPgogICAgS2llcyBhYW4gd2Vsa2UgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5BZmRlbGluZzwvc3Bhbj4gZGUgb3ZlcmVlbmtvbXN0ZW4gbW9ldGVuIHdvcmRlbiB0b2VnZWtlbmQgYmlqIGVlbiA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPlRpY2tldCBGaWx0ZXI8L3NwYW4+LgogIGxpbmtzOgogICAgLSAKICAgICAgdGl0bGU6IEFmZGVsaW5nZW4gYmVoZXJlbgogICAgICBocmVmOiAvc2NwL2RlcGFydG1lbnRzLnBocApwcmlvcml0eToKICB0aXRsZTogUHJpb3JpdGVpdAogIGNvbnRlbnQ6ID4KICAgIEtpZXMgd2Vsa2UgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj4gcHJpb3JpdGVpdDwvc3Bhbj4gamUgd2lsIHRvZWtlbm5lbiBhYW4gZGUgcmVzdWx0YXRlbiB2YW4gZGUgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj4gVGlja2V0IEZpbHRlcjwvc3Bhbj4uIDxiciAvPiA8YnIgLz4gPGVtPk9wbWVya2luZzogPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj4gYWZkZWxpbmc8L3NwYW4+IG9mIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+IEhlbHAtb25kZXJ3ZXJwPC9zcGFuPiBpbnN0ZWxsaW5nZW4gd29yZGVuIGhpZXJtZWUgb3ZlcnNjaHJldmVuLjwvZW0+CnNsYV9wbGFuOgogIHRpdGxlOiBTZXJ2aWNlIG5pdmVhdQogIGNvbnRlbnQ6ID4KICAgIEtpZXMgaGV0IDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+IFNMQSBQbGFuPC9zcGFuPiBkYXQgdSB3aWwgdG9lcGFzc2VuIG9wIGRlIHJlc3VsdGF0ZW4gdmFuIGRlIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+IFRpY2tldCBGaWx0ZXI8L3NwYW4+LgogIGxpbmtzOgogICAgLSAKICAgICAgdGl0bGU6IFNlcnZpY2UgcGxhbm5lbiBiZWhlcmVuCiAgICAgIGhyZWY6IC9zY3Avc2xhcy5waHAKYXV0b19hc3NpZ246CiAgdGl0bGU6IEF1dG9tYXRpc2NoLXRvZXdpanplbgogIGNvbnRlbnQ6ID4KICAgIEtpZXMgZWVuIFZlcmFudHdvb3JkZWxpamtlIG9mIGVlbiBUZWFtIGRhdCB0b2VnZXdlemVuIG1vZXQgd29yZGVuIGFhbiBkZSBnZXZvbmRlbiBpdGVtcyB2YW4gZGUgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5UaWNrZXQgRmlsdGVyPC9zcGFuPi4KICBsaW5rczoKICAgIC0gCiAgICAgIHRpdGxlOiBWZXJ0ZWdlbndvb3JkaWdlcnMgYmVoZXJlbgogICAgICBocmVmOiAvc2NwL3N0YWZmLnBocAogICAgLSAKICAgICAgdGl0bGU6IFRlYW1zIGJlaGVyZW4KICAgICAgaHJlZjogL3NjcC90ZWFtcy5waHAKaGVscF90b3BpYzoKICB0aXRsZTogSGVscCBvbmRlcndlcnBlbgogIGNvbnRlbnQ6ID4KICAgIEtpZXMgaGV0IDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+SGVscCBvbmRlcndlcnA8L3NwYW4+IGRhdCBqZSB3aWwgdG9lcGFzc2VuIG9wIGRlIHRpY2tldHMgZGllIGdldm9uZGVuIHppam4gZG9vciBkZXplIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+VGlja2V0IEZpbHRlcjwvc3Bhbj4uCiAgbGlua3M6CiAgICAtIAogICAgICB0aXRsZTogSGVscC1vbmRlcndlcnBlbiBiZWhlcmVuCiAgICAgIGhyZWY6IC9zY3AvaGVscHRvcGljcy5waHAKYWRtaW5fbm90ZXM6CiAgdGl0bGU6IEFkbWluIG5vdGl0aWVzCiAgY29udGVudDogPgogICAgRGV6ZSBub3RpdGllcyB6aWpuIGVua2VsIHppY2h0YmFhciB2b29yIGRpZWdlbmVuIHdpZW5zIGFjY291bnR0eXBlICc8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPkFkbWluPC9zcGFuPicgaXMuCi0tLQojVGhpcyBpcyBwb3B1cCBoZWxwIG1lc3NhZ2VzIGZvciB0aGUgQWRtaW4gUGFuZWwgLT4gTWFuYWdlIC0+IFBhZ2VzCiNGaWVsZHM6CiN0aXRsZSAtIFNob3duIGluIGJvbGQgYXQgdGhlIHRvcCBvZiB0aGUgcG9wb3ZlciB3aW5kb3cKI2NvbnRlbnQgLSBUaGUgYm9keSBvZiB0aGUgaGVscCBwb3BvdmVyCiNsaW5rcyAtIExpc3Qgb2YgbGlua3Mgc2hvd3MgYmVsb3cgdGhlIGNvbnRlbnQKI3RpdGxlIC0gTGluayB0aXRsZQojaHJlZiAtIGhyZWYgb2YgbGluayAobGlua3Mgc3RhcnRpbmcgd2l0aCAvIGFyZSB0cmFuc2xhdGVkIHRvIHRoZQojaGVscGRlc2sgaW5zdGFsbGF0aW9uIHBhdGgpCiNUaGUga2V5IG5hbWVzIHN1Y2ggYXMgJ2hlbHBkZXNrX25hbWUnIHNob3VsZCBub3QgYmUgdHJhbnNsYXRlZCBhcyB0aGV5CiNtdXN0IG1hdGNoIHRoZSBIVE1MICNpZHMgcHV0IGludG8gdGhlIHBhZ2UgdGVtcGxhdGUuCiMtLS0Kc2l0ZV9wYWdlczoKICB0aXRsZTogU2l0ZSBwYWdpbmEncwogIGNvbnRlbnQ6ID4KICAgIFNpdGUgcGFnaW5hJ3Mga3VubmVuIGRpZW5lbiBhbHMgZWVuIG1pbmkgQ29udGVudCBNYW5hZ2VtZW50IFN5c3RlZW0gKENNUykuIFUga3VudCBtZWVyZGVyZSBsYW5kaW5nLCBvZmZsaW5lLCBlbiBiZWRhbmt0IHBhZ2luYSdzIGRlZmluacOrcmVuIGVuIGRlemUgY29uZmlndXJlcmVuIGluIHV3IGJlZHJpamZzaW5zdGVsbGluZ2VuIGVuIGhlbHAgb25kZXJ3ZXJwZW4uCiAgbGlua3M6CiAgICAtIAogICAgICB0aXRsZTogQmVkcmlqZnMgaW5zdGVsbGluZ2VuCiAgICAgIGhyZWY6IC9zY3Avc2V0dGluZ3MucGhwP3Q9cGFnZXMKdHlwZToKICB0aXRsZTogVHlwZQogIGNvbnRlbnQ6ID4KICAgIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy1vcHQiPk9mZmxpbmU8L3NwYW4+IHBhZ2luYSdzIHdvcmRlbiB3ZWVyZ2VnZXZlbiBvcCB1dyBrbGFudGVucG9ydGFhbCBhbHMgdXcgaGVscGRlc2sgdWl0Z2VzY2hha2VsZCBpcy4gPHNwYW4gY2xhc3M9ImRvYy1kZXNjLW9wdCI+TGFuZGluZzwvc3Bhbj4gcGFnZXMgd29yZGVuIHdlZXJnZWdldmVuIG9wIGRlIGhvbWUgcGFnZSB2YW4gdXcga2xhbnRlbnBvcnRhYWwuIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy1vcHQiPkJlZGFua3Q8L3NwYW4+IHBhZ2luYSdzIHdvcmRlbiB3ZWVyZ2VnZXZlbiBhbHMgZWVuIGdlYnJ1aWtlciBlZW4gdGlja2V0IHZlcnN0dXVydC4gPHNwYW4gY2xhc3M9ImRvYy1kZXNjLW9wdCI+YW5kZXJlPC9zcGFuPiBwYWdpbmEncyBrdW5uZW4gd29yZGVuIGdlYnJ1aWt0IGFscyBlZW4gc2ltcGVsIGNvbnRlbnQgbWFuYWdlbWVudCBzeXN0ZWVtIChDTVMpLgotLS0KI1RoaXMgaXMgdGhlIHZpZXcgLyBtYW5hZ2VtZW50IHBhZ2UgZm9yIGFuIG9yZ2FuaXphdGlvbiBpbiB0aGUgdXNlcgojZGlyZWN0b3J5CiNGaWVsZHM6CiN0aXRsZSAtIFNob3duIGluIGJvbGQgYXQgdGhlIHRvcCBvZiB0aGUgcG9wb3ZlciB3aW5kb3cKI2NvbnRlbnQgLSBUaGUgYm9keSBvZiB0aGUgaGVscCBwb3BvdmVyCiNsaW5rcyAtIExpc3Qgb2YgbGlua3Mgc2hvd3MgYmVsb3cgdGhlIGNvbnRlbnQKI3RpdGxlIC0gTGluayB0aXRsZQojaHJlZiAtIGhyZWYgb2YgbGluayAobGlua3Mgc3RhcnRpbmcgd2l0aCAvIGFyZSB0cmFuc2xhdGVkIHRvIHRoZQojaGVscGRlc2sgaW5zdGFsbGF0aW9uIHBhdGgpCiNUaGUga2V5IG5hbWVzIHN1Y2ggYXMgJ2hlbHBkZXNrX25hbWUnIHNob3VsZCBub3QgYmUgdHJhbnNsYXRlZCBhcyB0aGV5CiNtdXN0IG1hdGNoIHRoZSBIVE1MICNpZHMgcHV0IGludG8gdGhlIHBhZ2UgdGVtcGxhdGUuCiMtLS0Kb3JnX3NoYXJpbmc6CiAgdGl0bGU6IERlbGVuIHZhbiBlZW4gVGlja2V0CiAgY29udGVudDogPgogICAgPHA+T3JnYW5pc2F0aWUgdGlja2V0cyBkZWxlbiB6b3JndCBlcnZvb3IgZGF0IGxlZGVuIHZhbiBlZW4gb3JnYW5pc2F0aWUgdGlja2V0cyB2YW4gZWxrYWFyIGt1bm5lbiBsZXplbi48L3A+PHAgY2xhc3M9ImluZm8tYmFubmVyIj4gPGkgY2xhc3M9Imljb24taW5mby1zaWduIj48L2k+IENvbGxhYm9yYXRldXJzIGhlYmJlbiBhbHRpamQgdG9lZ2FuZyB0b3QgdGlja2V0cy4gPC9wPgplbWFpbF9kb21haW46CiAgdGl0bGU6IEVtYWlsZG9tZWluCiAgY29udGVudDogPgogICAgR2VicnVpa2VycyBrdW5uZW4gYXV0b21hdGlzY2ggYWFuIGVlbiBvcmdhbmlzYXRpZSB3b3JkZW4gdG9lZ2V2b2VnZCwgZ2ViYXNlZXJkIG9wIGh1biBlbWFpbC1kb21laW4oZW4pLiBHZWJydWlrIGhldCBpbnZvZXJ2ZWxkIGhpZXJvbmRlciBvbSBtZWVyIGVtYWlsLWRvbWVpbmVuIChnZXNjaGVpZGVuIGRvb3IgY29tbWEncykgdG9lIHRlIHZvZWdlbi4gQmlqdi46IHZvZXIgPGNvZGU+bWlqbmJlZHJpamYubmw8L2NvZGU+IHRvZSB2b29yIGdlYnJ1aWtlcnMgbWV0IGVlbiBlbWFpbGFkcmVzIGVpbmRpZ2VuZCBvcCBAbWlqbmJlZHJpamYubmwgCgotLS0KI1RoaXMgaXMgcG9wdXAgaGVscCBtZXNzYWdlcyBmb3IgdGhlIEFkbWluIFBhbmVsIC0+IFNldHRpbmdzIC0+IEFnZW50cwojRmllbGRzOgojdGl0bGUgLSBTaG93biBpbiBib2xkIGF0IHRoZSB0b3Agb2YgdGhlIHBvcG92ZXIgd2luZG93CiNjb250ZW50IC0gVGhlIGJvZHkgb2YgdGhlIGhlbHAgcG9wb3ZlcgojbGlua3MgLSBMaXN0IG9mIGxpbmtzIHNob3dzIGJlbG93IHRoZSBjb250ZW50CiN0aXRsZSAtIExpbmsgdGl0bGUKI2hyZWYgLSBocmVmIG9mIGxpbmsgKGxpbmtzIHN0YXJ0aW5nIHdpdGggLyBhcmUgdHJhbnNsYXRlZCB0byB0aGUKI2hlbHBkZXNrIGluc3RhbGxhdGlvbiBwYXRoKQojVGhlIGtleSBuYW1lcyBzdWNoIGFzICdoZWxwZGVza19uYW1lJyBzaG91bGQgbm90IGJlIHRyYW5zbGF0ZWQgYXMgdGhleQojbXVzdCBtYXRjaCB0aGUgSFRNTCAjaWRzIHB1dCBpbnRvIHRoZSBwYWdlIHRlbXBsYXRlLgojLS0tCiNHZW5lcmFsIFNldHRpbmdzCmFnZW50X25hbWVfZm9ybWF0OgogIHRpdGxlOiBBZ2VudCBuYWFtIG9wbWFhawogIGNvbnRlbnQ6ID4KICAgIEtpZXMgZWVuIG9wbWFhayB2b29yIGRlIEFnZW50IG5hbWVuIGluIGhldCBzeXN0ZWVtLiBIZXQgbWFpbHN5c3RlZW0gemFsIGRlemUgb3BtYWFrIGdlYnJ1aWtlbiB2b29yIG5hbWVuIGFscyBnZWVuIGFuZGVyZSBvcG1hYWsgaXMgZ2VzZWxlY3RlZXJkLgpzdGFmZl9pZGVudGl0eV9tYXNraW5nOgogIHRpdGxlOiBWZXJiZXJnIGlkZW50aXRlaXQKICBjb250ZW50OiA+CiAgICBBbHMgZGV6ZSBtb2dlbGlqa2hlaWQgaXMgaW5nZXNjaGFrZWxkLCBkYW4gemFsIGRlIG5hYW0gdmFuIGRlIG1lZGV3ZXJrZXIgbmlldCB6aWNodGJhYXIgemlqbiB2b29yIGRlIGNsacOrbnRlbiBiaWogY29tbXVuaWNhdGllLgojQXV0aGVudGljYXRpb24gc2V0dGluZ3MKcGFzc3dvcmRfcmVzZXQ6CiAgdGl0bGU6IFdhY2h0d29vcmQgdmVybG9vcGJlbGVpZAogIGNvbnRlbnQ6ID4KICAgIFN0ZWx0IGluIGhvZSB2YWFrIChpbiBtYWFuZGVuKSBlZW4gYWdlbnQgemlqbiB3YWNodHdvb3JkIG1vZXQgd2lqemlnZW4uIEFscyBkZXplIG9wdGllIGlzIHVpdGdlc2NoYWtlbGQsIHZlcmxvcGVuIHdhY2h0d29vcmRlbiBuaWV0LgpwYXNzd29yZF9leHBpcmF0aW9uX3BvbGljeToKICB0aXRsZTogV2FjaHR3b29yZCB2ZXJsb29wYmVsZWlkCiAgY29udGVudDogPgogICAgS2llcyBob2UgdmFhayBWZXJhbnR3b29yZGVsaWprZW4gZ2V2cmFhZ2QgenVsbGVuIHdvcmRlbiBodW4gd2FjaHR3b29yZCBkZSB3aWp6aWdlbi4gQWxzIGRpdCB1aXRnZXNjaGFrZWxkIGlzIChkLncueiwgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLW9wdCI+R2VlbiBWZXJ2YWxkYXR1bTwvc3Bhbj4pLCB6dWxsZW4gd2FjaHR3b29yZGVuIG5vb2l0IHZlcnZhbGxlbi4KYWxsb3dfcGFzc3dvcmRfcmVzZXRzOgogIHRpdGxlOiBXYWNodHdvb3JkIGhlcnN0ZWxsZW4gdG9lc3RhYW4KICBjb250ZW50OiA+CiAgICBaZXQgZGV6ZSBvcHRpZSBhYW4gYWxzIGplIGRlIGxpbmsgdGhlIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+V2FjaHR3b29yZCB2ZXJnZXRlbjwvc3Bhbj4gb3AgZGUgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5JbmxvZ3BhZ2luYTwvc3Bhbj4gd2lsdCB3ZWVyZ2V2ZW4sIG5hIGVlbiBvbnN1Y2Nlc3ZvbGxlIGlubG9ncG9naW5nLgpyZXNldF90b2tlbl9leHBpcmF0aW9uOgogIHRpdGxlOiBXYWNodHdvb3JkIGhlcnN0ZWxsZW4gVmVuc3RlcgogIGNvbnRlbnQ6ID4KICAgIEtpZXMgZGUgZHV1ciAoaW4gbWludXRlbikgd2FhcnZvb3IgZGUgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5XYWNodHdvb3JkIGhlcnN0ZWxsZW4gVG9rZW5zPC9zcGFuPiBvbmdlbGRpZyB3b3JkZW4uIFdhbm5lZXIgZWVuIFZlcmFudHdvb3JkZWxpamtlIGVlbiA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPldhY2h0d29vcmQgaGVyc3RlbGxlbjwvc3Bhbj4gYWN0aWUgdWl0dm9lcnQsIHphbCBlZW4gZS1tYWlsIGdlc3R1dXJkIHdvcmRlbiBvbSBoZXQgaGVyc3RlbGxlbiB0b2UgdGUgc3RhYW4uCnN0YWZmX3Nlc3Npb25fdGltZW91dDoKICB0aXRsZTogTWVkZXdlcmtlciBzZXNzaWV2ZXJsb29wCiAgY29udGVudDogPgogICAgS2llcyBkZSBtaW5tYWxlIHRpamQgKGluIG1pbnV0ZW4pIGRhdCBoZXQgbW9ldCBkdXJlbiB2b29yZGF0IGVlbiBhZ2VudCBvcG5pZXV3IG1vZXQgaW5sb2dnZW4uIDxicj48YnI+QWxzIGplIGRlemUgb3B0aWUgd2lsdCB1aXRzY2hha2VsZW4sIHZvZXIgamUgaGV0IGdldGFsICcwJyBpbi4KYmluZF9zdGFmZl9zZXNzaW9uX3RvX2lwOgogIHRpdGxlOiBLb3BwZWwgZGUgbWVkZXdlcmtlciBzZXNzaWUgYWFuIGVlbiBpcGFkcmVzCiAgY29udGVudDogPgogICAgWmV0IGRlemUgb3B0aWUgYWFuIG9tIEFnZW50ZW4gdGUgaGVya2VubmVuIGFhbiBodW4gSVAtYWRyZXMuPGJyPjxicj5EZXplIGluc3RlbGxpbmcgaXMgbmlldCBhYW5iZXZvbGVuIHZvb3Igb21nZXZpbmdlbiBtZXQgZHluYW1pc2NoZSBpcC1hZHJlc3Nlbi4KLS0tCiNUaGlzIGlzIHBvcHVwIGhlbHAgbWVzc2FnZXMgZm9yIHRoZSBBY2NvdW50IFBhbmVsIC0+CiNGaWVsZHM6CiN0aXRsZSAtIFNob3duIGluIGJvbGQgYXQgdGhlIHRvcCBvZiB0aGUgcG9wb3ZlciB3aW5kb3cKI2NvbnRlbnQgLSBUaGUgYm9keSBvZiB0aGUgaGVscCBwb3BvdmVyCiNsaW5rcyAtIExpc3Qgb2YgbGlua3Mgc2hvd3MgYmVsb3cgdGhlIGNvbnRlbnQKI3RpdGxlIC0gTGluayB0aXRsZQojaHJlZiAtIGhyZWYgb2YgbGluayAobGlua3Mgc3RhcnRpbmcgd2l0aCAvIGFyZSB0cmFuc2xhdGVkIHRvIHRoZQojaGVscGRlc2sgaW5zdGFsbGF0aW9uIHBhdGgpCiNUaGUga2V5IG5hbWVzIHN1Y2ggYXMgJ2hlbHBkZXNrX25hbWUnIHNob3VsZCBub3QgYmUgdHJhbnNsYXRlZCBhcyB0aGV5CiNtdXN0IG1hdGNoIHRoZSBIVE1MICNpZHMgcHV0IGludG8gdGhlIHBhZ2UgdGVtcGxhdGUuCiMtLS0KcGFnZV90aXRsZToKICB0aXRsZTogV2FhcnNjaHV3aW5nZW4gZW4gbWVsZGluZ2VuCiAgY29udGVudDogPgogICAgV2FhcnNjaHV3aW5nZW4gZW4gbWVsZGluZ2VuIHppam4gZ2VhdXRvbWF0aXNlZXJkZSBlLW1haWxtZWxkaW5nZW4gdmVyem9uZGVuIG5hYXIgYWdlbnRlbiB3YW5uZWVyIGJlcGFhbGRlIGdlYmV1cnRlbmlzc2VuIG9wIGhldCB0aWNrZXQgd29yZGVuIGdlYWN0aXZlZXJkLgp0aWNrZXRfYWxlcnQ6CiAgdGl0bGU6IE5pZXV3IFRpY2tldCBNZWxkaW5nCiAgY29udGVudDogPgogICAgPHA+V2FhcnNjaHV3aW5nIHdvcmRlbiB2ZXJzdHV1cmQgbmFhciBhZ2VudGVuIHdhbm5lZXIgZWVuIG5pZXV3IHRpY2tldCB3b3JkdCBhYW5nZW1hYWt0LjwvcD48cCBjbGFzcz0iaW5mby1iYW5uZXIiPiA8aSBjbGFzcz0iaWNvbi1pbmZvLXNpZ24iPjwvaT4gZGV6ZSB3YWFyc2NodXdpbmcgd29yZHQgbmlldCAgdmVyem9uZGVuIGFscyBoZXQgdGlja2V0IGlzIGF1dG9tYXRpc2NoIHdvcmR0IHRvZWdld2V6ZW4gdmlhIGVlbiBUaWNrZXQgRmlsdGVyIG9mIEhlbHAtb25kZXJ3ZXJwLjwvcD4KICBsaW5rczoKICAgIC0gCiAgICAgIHRpdGxlOiBTdGFuZGFhcmQgbWVsZGluZyBiaWogZWVuIG5pZXV3ZSB0aWNrZXQKICAgICAgaHJlZjogL3NjcC90ZW1wbGF0ZXMucGhwP2RlZmF1bHRfZm9yPXRpY2tldC5hbGVydAptZXNzYWdlX2FsZXJ0OgogIHRpdGxlOiBNZWxkaW5nIHZhbiBuaWV1dyBiZXJpY2h0CiAgY29udGVudDogPgogICAgTWVsZGluZyBhYW4gbWVkZXdlcmtlcnMgaW5kaWVuIGVyIGVlbiBuaWV1dyBiZXJpY2h0IHZhbiBkZSBnZWJydWlrZXIgdG9lZ2V2b2VnZCBpcyBhYW4gZWVuIGJlc3RhYW5kIHRpY2tldC4KICBsaW5rczoKICAgIC0gCiAgICAgIHRpdGxlOiBTdGFuZGFhcmQgbWVsZGluZyBiaWogZWVuIG5pZXV3IGJlcmljaHQKICAgICAgaHJlZjogL3NjcC90ZW1wbGF0ZXMucGhwP2RlZmF1bHRfZm9yPW1lc3NhZ2UuYWxlcnQKaW50ZXJuYWxfbm90ZV9hbGVydDoKICB0aXRsZTogTmlldXdlIGludGVybmUgYWN0aXZpdGVpdCBtZWxkaW5nCiAgY29udGVudDogPgogICAgQmVyaWNodGdldmluZyBuYWFyIG1lZGV3ZXJrZXJzLCB3YW5uZWVyIGVyIGVlbiBpbnRlcm5lIGFjdGl2aXRlaXQgaGVlZnQgcGxhYXRzZ2V2b25kZW4sIHpvYWxzIGVlbiBpbnRlcm5lIG5vdGl0aWUgb2Ygd2FubmVlciBlZW4gbWVkZXdlcmtlciBlZW4gcmVhY3RpZSB0b2VnZXZvZWdkIGhlZWZ0IGFhbiBlZW4gdGlja2V0LgogIGxpbmtzOgogICAgLSAKICAgICAgdGl0bGU6IFN0YW5kYWFyZHNqYWJsb29uIFRpY2tldCBhY3Rpdml0ZWl0CiAgICAgIGhyZWY6IC9zY3AvdGVtcGxhdGVzLnBocD9kZWZhdWx0X2Zvcj1ub3RlLmFsZXJ0CmFzc2lnbm1lbnRfYWxlcnQ6CiAgdGl0bGU6IE1lbGRpbmcgdmFuIHRpY2tldCB0b2V3aWp6aW5nCiAgY29udGVudDogPgogICAgTWVsZGluZyBhYW4gbWVkZXdlcmtlcnMgYmlqIHRpY2tldCB0b2V3aWp6aW5nLgogIGxpbmtzOgogICAgLSAKICAgICAgdGl0bGU6IFN0YW5kYWFyZCBtZWxkaW5nIGJpaiB0b2V3aWp6aW5nIHZhbiBlZW4gdGlja2V0CiAgICAgIGhyZWY6IC9zY3AvdGVtcGxhdGVzLnBocD9kZWZhdWx0X2Zvcj1hc3NpZ25lZC5hbGVydAp0cmFuc2Zlcl9hbGVydDoKICB0aXRsZTogTWVsZGluZyBiaWogb3ZlcmRyYWNodAogIGNvbnRlbnQ6ID4KICAgIE1lbGRpbmcgYWFuIG1lZGV3ZXJrZXJzIGJpaiB0aWNrZXQgdmVycGxhYXRzaW5nIHR1c3NlbiBhZmRlbGluZ2VuLgogIGxpbmtzOgogICAgLSAKICAgICAgdGl0bGU6IFN0YW5kYWFyZCBtZWxkaW5nIGJpaiBvdmVyZHJhY2h0IHZhbiBlZW4gdGlja2V0CiAgICAgIGhyZWY6IC9zY3AvdGVtcGxhdGVzLnBocD9kZWZhdWx0X2Zvcj10cmFuc2Zlci5hbGVydApvdmVyZHVlX2FsZXJ0OgogIHRpdGxlOiBUZSBsYWF0IHRpY2tldCBtZWxkaW5nCiAgY29udGVudDogPgogICAgTWVsZGluZyBhYW4gbWVkZXdlcmtlcnMgaW5kaWVuIGVlbiB0aWNrZXQgdm9sZ2VucyBkZSBTTEEgb2YgZWluZGRhdHVtIHRlIGxhYXQgYmVoYW5kZWxkIHdvcmR0LgogIGxpbmtzOgogICAgLSAKICAgICAgdGl0bGU6IFN0YW5kYWFyZCBtZWxkaW5nIGJpaiBlZW4gdmVybG9wZW4gdGlja2V0CiAgICAgIGhyZWY6IC9zY3AvdGVtcGxhdGVzLnBocD9kZWZhdWx0X2Zvcj10aWNrZXQub3ZlcmR1ZQogICAgLSAKICAgICAgdGl0bGU6IFNsYSdzIGJlaGVyZW4KICAgICAgaHJlZjogL3NjcC9zbGFzLnBocApzeXN0ZW1fYWxlcnRzOgogIHRpdGxlOiBTeXN0ZWVtbWVsZGluZ2VuCiAgY29udGVudDogPgogICAgU2lnbmlmaWNhbnRlIHN5c3RlZW0gZ2ViZXVydGVuaXNzZW4gZGllIHdvcmRlbiB2ZXJzdHV1cmQgYWFuIGRlIGJlaGVlcmRlciAoJXtjb25maWcuYWRtaW5fZW1haWx9KS4gQWZoYW5rZWxpamsgdmFuIGhldCBpbmdlc3RlbGRlIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+TG9nIExldmVsPC9zcGFuPiwgd29yZGVuIGRlIGdlYmV1cnRlbmlzc2VuIG9wZ2Vub21lbiBpbiBkZSA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPlN5c3RlbSBMb2dzPC9zcGFuPgogIGxpbmtzOgogICAgLSAKICAgICAgdGl0bGU6IEJla2lqayBTeXN0ZWVtbG9nYm9la2VuCiAgICAgIGhyZWY6IC9zY3AvbG9ncy5waHAKICAgIC0gCiAgICAgIHRpdGxlOiBWZXJhbmRlciBBZG1pbidzIGVtYWlsCiAgICAgIGhyZWY6IC9zY3Avc2V0dGluZ3MucGhwP3Q9ZW1haWxzCi0tLQojVGhpcyBpcyBwb3B1cCBoZWxwIG1lc3NhZ2VzIGZvciB0aGUgQWRtaW4gUGFuZWwgLT4gU2V0dGluZ3MgLT4gQXV0b3Jlc3BvbmRlcgojRmllbGRzOgojdGl0bGUgLSBTaG93biBpbiBib2xkIGF0IHRoZSB0b3Agb2YgdGhlIHBvcG92ZXIgd2luZG93CiNjb250ZW50IC0gVGhlIGJvZHkgb2YgdGhlIGhlbHAgcG9wb3ZlcgojbGlua3MgLSBMaXN0IG9mIGxpbmtzIHNob3dzIGJlbG93IHRoZSBjb250ZW50CiN0aXRsZSAtIExpbmsgdGl0bGUKI2hyZWYgLSBocmVmIG9mIGxpbmsgKGxpbmtzIHN0YXJ0aW5nIHdpdGggLyBhcmUgdHJhbnNsYXRlZCB0byB0aGUKI2hlbHBkZXNrIGluc3RhbGxhdGlvbiBwYXRoKQojVGhlIGtleSBuYW1lcyBzdWNoIGFzICdoZWxwZGVza19uYW1lJyBzaG91bGQgbm90IGJlIHRyYW5zbGF0ZWQgYXMgdGhleQojbXVzdCBtYXRjaCB0aGUgSFRNTCAjaWRzIHB1dCBpbnRvIHRoZSBwYWdlIHRlbXBsYXRlLgojLS0tCm5ld190aWNrZXQ6CiAgdGl0bGU6IE5pZXV3IHRpY2tldAogIGNvbnRlbnQ6ID4KICAgIEFjdGl2ZWVyIGRpdCBpbmRpZW4gdSBiaWogZWVuIG5pZXV3IHRpY2tldCBlZW4gYXV0b21hdGlzY2ggYW50d29vcmQgd2lsdCB2ZXJ6ZW5kZW4gbmFhciBkZSBnZWJydWlrZXIuCiAgbGlua3M6CiAgICAtIAogICAgICB0aXRsZTogQXV0b21hdGlzY2ggYW50d29vcmRzamFibG9vbiBiaWogZWVuIG5pZXV3IHRpY2tldAogICAgICBocmVmOiAvc2NwL3RlbXBsYXRlcy5waHA/ZGVmYXVsdF9mb3I9dGlja2V0LmF1dG9yZXNwCm5ld190aWNrZXRfYnlfc3RhZmY6CiAgdGl0bGU6IE5pZXV3IHRpY2tldCB2YW4gU3RhZmYKICBjb250ZW50OiA+CiAgICBIZXQgYmVyaWNodCBkYXQgbmFtZW5zIGRlIGdlYnJ1aWtlciBnZXN0dXVyZCB3b3JkdCBhbHMgZWVuIHRpY2tldCB3b3JkdCBhYW5nZW1hYWt0PGVtPiBFZW4gYWdlbnQga2FuIGRpdCBvdmVycnVsZW4gYmlqIGhldCBtYWtlbiB2YW4gbmlldXdlIHRpY2tldHM8L2VtPgogIGxpbmtzOgogICAgLSAKICAgICAgdGl0bGU6IE5pZXV3IHRpY2tldCBiZXJpY2h0bGF5b3V0CiAgICAgIGhyZWY6IC9zY3AvdGVtcGxhdGVzLnBocD9kZWZhdWx0X2Zvcj10aWNrZXQubm90aWNlCm5ld19tZXNzYWdlX2Zvcl9zdWJtaXR0ZXI6CiAgdGl0bGU6IE5pZXV3IGJlcmljaHQgYmV2ZXN0aWdpbmcKICBjb250ZW50OiA+CiAgICBCZXZlc3RpZ2luZ3NtZWxkaW5nIHZlcnpvbmRlbiB3YW5uZWVyIGVlbiBuaWV1dyBiZXJpY2h0IGlzIHRvZWdldm9lZ2QgYWFuIGVlbiBiZXN0YWFuZCB0aWNrZXQuCiAgbGlua3M6CiAgICAtIAogICAgICB0aXRsZTogTmlldXcgYmV2ZXN0aWdpbmdzYmVyaWNodCBzamFibG9vbgogICAgICBocmVmOiAvc2NwL3RlbXBsYXRlcy5waHA/ZGVmYXVsdF9mb3I9bWVzc2FnZS5hdXRvcmVzcApuZXdfbWVzc2FnZV9mb3JfcGFydGljaXBhbnRzOgogIHRpdGxlOiBOaWV1dyBiZXJpY2h0IG1lbGRpbmcKICBjb250ZW50OiA+CiAgICBTdHV1ciBlZW4gbWVsZGluZyBuYW1lbnMgZGUgYWFubWVsZGVyIG5hYXIgYWxsZSBtZWRld2Vya2VycyB2YW4gaGV0IHRpY2tldC4KICBsaW5rczoKICAgIC0gCiAgICAgIHRpdGxlOiBOaWV1d2UgYWN0aXZpdGVpdCBtZWxkaW5nIHRlbXBsYXRlCiAgICAgIGhyZWY6IC9zY3AvdGVtcGxhdGVzLnBocD9kZWZhdWx0X2Zvcj10aWNrZXQuYWN0aXZpdHkubm90aWNlCm92ZXJsaW1pdF9ub3RpY2U6CiAgdGl0bGU6IE1lbGRpbmcgd2FubmVlciBkZSBsaW1pZXQgaXMgYmVyZWlrdAogIGNvbnRlbnQ6ID4KICAgIFRpY2tldCBnZXdlaWdlcmQgbWVsZGluZyB2ZXJ6b25kZW4gbmFhciBkZSBnZWJydWlrZXIgbWV0IGFscyByZWRlbjogPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5NYXhpbXVtIE9wZW4gVGlja2V0czwvc3Bhbj4gLgogIGxpbmtzOgogICAgLSAKICAgICAgdGl0bGU6IExpZW1pZXQgYmVyZWlrdCBtZWxkaW5nIHRlbXBsYXRlCiAgICAgIGhyZWY6IC9zY3AvdGVtcGxhdGVzLnBocD9kZWZhdWx0X2Zvcj10aWNrZXQub3ZlcmxpbWl0CiAgICAtIAogICAgICB0aXRsZTogU3RlbCBoZXQgPGVtPm1heGltYWFsIGFhbnRhbCBvcGVuIHRpY2tldHM8L2VtPiBpbgogICAgICBocmVmOiAvc2NwL3NldHRpbmdzLnBocD90PXRpY2tldHMKLS0tCiNUaGlzIGlzIHBvcHVwIGhlbHAgbWVzc2FnZXMgZm9yIHRoZSBBZG1pbiBQYW5lbCAtPiBTZXR0aW5ncyAtPiBLbm93bGVkZ2ViYXNlCiNGaWVsZHM6CiN0aXRsZSAtIFNob3duIGluIGJvbGQgYXQgdGhlIHRvcCBvZiB0aGUgcG9wb3ZlciB3aW5kb3cKI2NvbnRlbnQgLSBUaGUgYm9keSBvZiB0aGUgaGVscCBwb3BvdmVyCiNsaW5rcyAtIExpc3Qgb2YgbGlua3Mgc2hvd3MgYmVsb3cgdGhlIGNvbnRlbnQKI3RpdGxlIC0gTGluayB0aXRsZQojaHJlZiAtIGhyZWYgb2YgbGluayAobGlua3Mgc3RhcnRpbmcgd2l0aCAvIGFyZSB0cmFuc2xhdGVkIHRvIHRoZQojaGVscGRlc2sgaW5zdGFsbGF0aW9uIHBhdGgpCiNUaGUga2V5IG5hbWVzIHN1Y2ggYXMgJ2hlbHBkZXNrX25hbWUnIHNob3VsZCBub3QgYmUgdHJhbnNsYXRlZCBhcyB0aGV5CiNtdXN0IG1hdGNoIHRoZSBIVE1MICNpZHMgcHV0IGludG8gdGhlIHBhZ2UgdGVtcGxhdGUuCiMtLS0Ka25vd2xlZGdlX2Jhc2Vfc2V0dGluZ3M6CiAgdGl0bGU6IEtlbm5pc2JhbmsgaW5zdGVsbGluZ2VuCiAgMDogPgoKa25vd2xlZGdlX2Jhc2Vfc3RhdHVzOgogIHRpdGxlOiBTdGF0dXMgdmFuIGRlIEtlbm5pc2JhbmsKICBjb250ZW50OiA+CiAgICBTY2hha2VsIGRpdCBpbiBvbSB1dyBnZWJydWlrZXJzIHRvZWdhbmcgdGUgZ2V2ZW4gYWFuIGRlIEtlbm5pc2JhbmsgYXJ0aWtlbGVuIGRpZSBwdWJsaWVrIHN0YWFuLiA8YnI+PGJyPiBLZW5uaXNiYW5rIGNhdGVnb3JpZcOrbiBlbiBGQVFzIGt1bm5lbiBpbnRlcm4gZ2VtYWFrdCB3b3JkZW4gKGFsbGVlbiB6aWNodGJhYXIgdm9vciBkZSBWZXJhbnR3b29yZGVsaWprZW4pLiAKICBsaW5rczoKICAgIC0gCiAgICAgIHRpdGxlOiBLZW5uaXNiYW5rIGJlaGVyZW4KICAgICAgaHJlZjogL3NjcC9rYi5waHAKcmVzdHJpY3Rfa2I6CiAgdGl0bGU6IFJlc3RyaWN0IEFjY2VzcyB0byB0aGUgS25vd2xlZGdlIEJhc2UKICBjb250ZW50OiA+CiAgICBTY2hha2VsIGRlemUgb3B0aWUgaW4gb20gdGUgdm9vcmtvbWVuIGRhdCBvbmdlcmVnaXN0cmVlcmRlIGdlYnJ1aWtlcnMgdG9lZ2FuZyBrcmlqZ2VuIHRvdCBkZSBrZW5uaXNiYW5rIGFydGlrZWxlbiBvcCBkZSBjbGllbnQgaW50ZXJmYWNlLgogIGxpbmtzOgogICAgLSAKICAgICAgdGl0bGU6IFRvZWdhbmdzY29udHJvbGUgaW5zdGVsbGluZ2VuCiAgICAgIGhyZWY6IC9zY3Avc2V0dGluZ3MucGhwP3Q9dXNlcnMKY2FubmVkX3Jlc3BvbnNlczoKICB0aXRsZTogU3RhbmRhYXJkIGFudHdvb3JkZW4KICBjb250ZW50OiA+CiAgICBTY2hha2VsIGRpdCBpbiBvbSBkZSBWZXJhbnR3b29yZGVsaWprZW4gZGUgbW9nZWxpamtoZWlkIHRlIGdldmVuIG9tIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+U3RhbmRhYXJkIGFudHdvb3JkZW48L3NwYW4+IHRlIGdlYnJ1aWtlbiB3YW5uZWVyIHplIGFudHdvb3JkZW4gb3AgdGlja2V0cy4KICBsaW5rczoKICAgIC0gCiAgICAgIHRpdGxlOiBTdGFuZGFhcmQgYW50d29vcmRlbiBiZWhlcmVuCiAgICAgIGhyZWY6IC9zY3AvY2FubmVkLnBocAotLS0KI1RoaXMgaXMgcG9wdXAgaGVscCBtZXNzYWdlcyBmb3IgdGhlIEFjY291bnQgUGFuZWwgLT4KI0ZpZWxkczoKI3RpdGxlIC0gU2hvd24gaW4gYm9sZCBhdCB0aGUgdG9wIG9mIHRoZSBwb3BvdmVyIHdpbmRvdwojY29udGVudCAtIFRoZSBib2R5IG9mIHRoZSBoZWxwIHBvcG92ZXIKI2xpbmtzIC0gTGlzdCBvZiBsaW5rcyBzaG93cyBiZWxvdyB0aGUgY29udGVudAojdGl0bGUgLSBMaW5rIHRpdGxlCiNocmVmIC0gaHJlZiBvZiBsaW5rIChsaW5rcyBzdGFydGluZyB3aXRoIC8gYXJlIHRyYW5zbGF0ZWQgdG8gdGhlCiNoZWxwZGVzayBpbnN0YWxsYXRpb24gcGF0aCkKI1RoZSBrZXkgbmFtZXMgc3VjaCBhcyAnaGVscGRlc2tfbmFtZScgc2hvdWxkIG5vdCBiZSB0cmFuc2xhdGVkIGFzIHRoZXkKI211c3QgbWF0Y2ggdGhlIEhUTUwgI2lkcyBwdXQgaW50byB0aGUgcGFnZSB0ZW1wbGF0ZS4KIy0tLQpjb21wYW55X2luZm9ybWF0aW9uOgogIHRpdGxlOiBCZWRyaWpmc2dlZ2V2ZW5zCiAgY29udGVudDogPgogICAgRGl0IHZlcndpanN0IG5hYXIgaGV0IGJlZHJpamYgb2Ygb3JnYW5pc2F0aWUgZGF0IGRvb3IgZGUgc29mdHdhcmUgdmFuIG9zVGlja2V0IG9uZGVyc3RldW50IHdvcmR0LiBEZXplIGluZm9ybWF0aWUgemFsIHdlZXJnZWdldmVuIHdvcmRlbiBpbiBkZSBlLW1haWwgaGFuZHRla2VuaW5nIHdhbm5lZXIgVmVyYW50d29vcmRlbGlqa2VuIGFudHdvb3JkZW4gb3AgVGlja2V0cy4KICBsaW5rczoKICAgIC0gCiAgICAgIHRpdGxlOiBCZWRyaWpmc2luZm9ybWF0aWUgZm9ybXVsaWVyCiAgICAgIGhyZWY6IC9zY3AvZm9ybXMucGhwP3R5cGU9QwpsYW5kaW5nX3BhZ2U6CiAgdGl0bGU6IFN0YXJ0cGFnaW5hCiAgY29udGVudDogPgogICAgRGUgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5TdGFydHBhZ2luYTwvc3Bhbj4gaXMgZGUgdm9vcnBhZ2luYSB2YW4gam91dyBvbmRlcnN0ZXVuaW5nc3dlYnNpdGUuCm9mZmxpbmVfcGFnZToKICB0aXRsZTogT2ZmbGluZSBwYWdpbmEKICBjb250ZW50OiA+CiAgICBEZSA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPk9mZmxpbmUgcGFnaW5hPC9zcGFuPiBpcyBkZSBwYWdpbmEgZGllIGdldG9vbmQgd29yZCBhbHMgZGUgaGVscCBkZXNrIG9mZmxpbmUgaXMsIHppZSBBZG1pbiBQYW5lbCAtJmd0OyBJbnN0ZWxsaW5nIC0mZ3Q7IFN5c3RlZW0gLSZndDsgSGVscGRlc2sgU3RhdHVzLgpkZWZhdWx0X3RoYW5rX3lvdV9wYWdlOgogIHRpdGxlOiBTdGFuZGFhcmQgZGFua3BhZ2luYQogIGNvbnRlbnQ6ID4KICAgIERlIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+ZGFua3BhZ2luYTwvc3Bhbj4gd29yZHQgZ2V0b29uZCBhYW4gZGUga2xhbnQgd2FubmVlciA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPkdlYnJ1aWtlcjwvc3Bhbj4gZWVuIG5pZXV3IHRpY2tldCB0b2V2b2VndC4gIDxici8+PGJyLz4gPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5EYW5rcGFnaW5hJ3M8L3NwYW4+ICBrdW5uZW4gZ2Vhc3NvY2llZXJkIHdvcmRlbiBtZXQgSGVscC1vbmRlcndlcnBlbi4KbG9nb3M6CiAgdGl0bGU6IExvZ28ncwogIGNvbnRlbnQ6ID4KICAgIFUga2FuIGhldCA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPkxvZ288L3NwYW4+IGFhbnBhc3NlbiBkYXQgZ2V0b29uZCB6YWwgd29yZGVuIGFhbiBkZSBHZWJydWlrZXIgaW4gZGUgQ2xpZW50LVBvcnRhbCAoZGF0IHdpbCB6ZWdnZW4sIHV3IFN1cHBvcnQgU2l0ZSkuCnVwbG9hZF9hX25ld19sb2dvOgogIHRpdGxlOiBVcGxvYWQgZWVuIG5pZXV3IGxvZ28KICBjb250ZW50OiA+CiAgICBLaWVzIGVlbiBhZmJlZWxkaW5nIGluIC5naWYsIC5qcGcgb2YgLnBuZyBmb3JtYWF0LiBXZSB6dWxsZW4gZGV6ZSBwcm9wb3J0aW9uZWVsIHNjaGFsZW4gaW4gZGUgd2VicGFnaW5hLiBXZSB6dWxsZW4gZGV6ZSBlY2h0ZXIgbmlldCBhYW5wYXNzZW4gaW4gYmVzdGFuZHNncm9vdHRlLiBEYWFyb20gaXMgaGV0IGFhbmdld2V6ZW4gZGF0IGplIGRlemVsZmRlIGdyb290dGUgdmFuIGFmYmVlbGRpbmcgZ2VicnVpa3QgYWxzIGRlIHN0YW5kYWFyZCBhZmJlZWxkaW5nICg4MTdweCAmdGltZXM7IDE3MHB4KS4KYmFja2Ryb3BzOgogIHRpdGxlOiBBY2h0ZXJncm9uZGVuCiAgY29udGVudDogPgogICAgSmUga3VudCBkZSA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPmFjaHRlcmdyb25kPC9zcGFuPiB2YW4gZGUgemduICdzdGFmZi1sb2dpbictcGFnaW5hIGFhbnBhc3Nlbi4KdXBsb2FkX2FfbmV3X2JhY2tkcm9wOgogIHRpdGxlOiBVcGxvYWQgZWVuIG5pZXV3ZSBhY2h0ZXJncm9uZAogIGNvbnRlbnQ6ID4KICAgIEtpZXMgZWVuIGFmYmVlbGRpbmcgaW4gLmdpZiwgLmpwZyBvZiAucG5nIGZvcm1hYXQuIFdlIHp1bGxlbiBkZSBhZmJlZWxkaW5nIHByb3BvcnRpb25lZWwgdmFuIGdyb290dGUgd2lqemlnZW4uIFdlIHp1bGxlbiBlY2h0ZXIgbmlldCBkZSBhZmJlZWxkaW5nc2dlZ2V2ZW5zIGFhbnBhc3Nlbi4gRGFhcm9tIGlzIGhldCBhYW5iZXZvbGVuIG9tIGplIGFmYmVlbGRpbmcgcmVsYXRpZWYga2xlaW4gdGUgaG91ZGVuIChvbmRlciAxIG1iKS4gRXh0cmEgb3BtZXJraW5nOiBPb2sgZGUgbWF4LiB1cGxvYWRncm9vdHRlIGluIGplIFBIUC5JTkkgdGVsdCBoaWVybWVlLgotLS0KI1RoaXMgaXMgcG9wdXAgaGVscCBtZXNzYWdlcyBmb3IgdGhlIEFkbWluIFBhbmVsIC0+IFNldHRpbmdzIC0+IFRhc2tzCiNGaWVsZHM6CiN0aXRsZSAtIFNob3duIGluIGJvbGQgYXQgdGhlIHRvcCBvZiB0aGUgcG9wb3ZlciB3aW5kb3cKI2NvbnRlbnQgLSBUaGUgYm9keSBvZiB0aGUgaGVscCBwb3BvdmVyCiNsaW5rcyAtIExpc3Qgb2YgbGlua3Mgc2hvd3MgYmVsb3cgdGhlIGNvbnRlbnQKI3RpdGxlIC0gTGluayB0aXRsZQojaHJlZiAtIGhyZWYgb2YgbGluayAobGlua3Mgc3RhcnRpbmcgd2l0aCAvIGFyZSB0cmFuc2xhdGVkIHRvIHRoZQojaGVscGRlc2sgaW5zdGFsbGF0aW9uIHBhdGgpCiNUaGUga2V5IG5hbWVzIHN1Y2ggYXMgJ2hlbHBkZXNrX25hbWUnIHNob3VsZCBub3QgYmUgdHJhbnNsYXRlZCBhcyB0aGV5CiNtdXN0IG1hdGNoIHRoZSBIVE1MICNpZHMgcHV0IGludG8gdGhlIHBhZ2UgdGVtcGxhdGUuCiMtLS0KbnVtYmVyX2Zvcm1hdDoKICB0aXRsZTogVGFha251bW1lciBvcG1hYWsKICBjb250ZW50OiA+CiAgICBEZXplIGluc3RlbGxpbmcgd29yZHQgZ2VicnVpa3Qgb20gemduICd0YWFrbnVtbWVycycgdGUgZ2VuZXJlcmVuLiBHZWJydWlrIGhla2plcyAoJyMnKSB3YWFyIGdldGFsbGVuIG1vZXRlbiBzdGFhbi48YnI+PGJyPkJpanZvb3JiZWVsZDogdm9vciA2IGdldGFsbGVuLCB2b2VyIGplIGluOiA8Y29kZT4jIyMjIyM8L2NvZGU+LgpzZXF1ZW5jZV9pZDoKICB0aXRsZTogVGFha251bW1lciByZWVrcwogIGNvbnRlbnQ6ID4KICAgIEtpZXMgZWVuIHJlZWtzIHRlbiBiZWhvZXZlIHZhbiBoZXQgdG9la2VubmVuIHZhbiB0YWFrbnVtbWVycy4gSGV0IHN5c3RlZW0gaGVlZnQgZWVuIG9wZWVudm9sZ2VuZGUgZW4gZWVuIHdpbGxla2V1cmlnZSByZWVrcyBhbHMgc3RhbmRhYXJkLiBKZSBrdW50IHpvdmVlbCByZWVrc2VuIG1ha2VuIGFscyBqZSB3ZW5zdC4KZGVmYXVsdF9zbGE6CiAgdGl0bGU6IFN0YW5kYWFyZCBTTEEKICBjb250ZW50OiA+CiAgICBLaWVzIGRlIHN0YW5kYWFyZCAnU2VydmljZSBMZXZlbCBBZ3JlZW1lbnQnIG9tIGluIHRlIHN0ZWxsZW4gaG9lIGxhbmcgZWVuIHRpY2tldCBtYWcgb3BlbiBzdGFhbiwgdm9vcmRhdCBoZXQgZGUgc3RhdHVzICdvdmVydGlqZCcga3Jpamd0LgogIGxpbmtzOgogICAgLSAKICAgICAgdGl0bGU6IE1hYWsgbWVlciBTTEEgcGxhbm5lbgogICAgICBocmVmOiAvc2NwL3NsYXMucGhwCmRlZmF1bHRfcHJpb3JpdHk6CiAgdGl0bGU6IFN0YW5kYWFyZHByaW9yaXRlaXQKICBjb250ZW50OiA+CiAgICBLaWVzIGVlbiBzdGFuZGFhcmQgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5wcmlvcml0ZWl0PC9zcGFuPiB2b29yIG9wZHJhY2h0ZW4gd2FhcnZhbiBkYXQgbm9nIG5pZXQgaXMgaW5nZXN0ZWxkLgp0YXNrX2F0dGFjaG1lbnRfc2V0dGluZ3M6CiAgdGl0bGU6IFRha2VubGlqc3QgYmlqbGFnZXMKICBjb250ZW50OiA+CiAgICBDb25maWd1cmVlciBkZSBpbnN0ZWxsaW5nZW4gdm9vciBoZXQgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5vbXNjaHJpanZpbmc8L3NwYW4+IHZlbGQuIERlemUgaW5zdGVsbGluZ2VuIHdvcmRlbiBnZWJydWlrdCB2b29yIGFsbGUgbmlldXdlIHRha2VuIGVuIGJlcmljaHRlbiBvbmdlYWNodCBkZSBicm9uICh3ZWJzaXRlcG9ydGFhbCwgZW1haWwgZW56IGVueikuCnBhZ2VfdGl0bGU6CiAgdGl0bGU6IFdhYXJzY2h1d2luZ2VuIGVuIG1lbGRpbmdlbgogIGNvbnRlbnQ6ID4KICAgIE5vdGlmaWNhdGllcyB6aWpuIGF1dG9tYXRpc2NoZSBlLW1haWxiZXJpY2h0ZW4gZGllIHZlcnN0dXVyZCB3b3JkZW4gbmFhciBhZ2VudGVuIGFscyBlciBiZXBhYWxkZSBvbXN0YW5kaWdoZWRlbiB3b3JkZW4gZ2VzaWduYWxlZXJkLgp0YXNrX2FsZXJ0OgogIHRpdGxlOiBOaWV1d2UgdGFhayBtZWxkaW5nCiAgY29udGVudDogPgogICAgPHA+IE5vdGlmaWNhdGllIGRpZSB2ZXJzdHV1cmQgd29yZHQgYWFuIGFnZW50ZW4gYmlqIGhldCBhYW5tYWtlbiB2YW4gZWVuIG5pZXV3ZSB0YWFrLjwvcD48cCBjbGFzcz0iaW5mby1iYW5uZXIiPiA8aSBjbGFzcz0iaWNvbi1pbmZvLXNpZ24iPjwvaT5EZXplIG5vdGlmaWNhdGllIHdvcmR0IG5pZXQgdmVyem9uZGVuIGFscyBkZSB0YWFrIHJlZWRzIGF1dG9tYXRpc2NoIGlzIHRvZWdla2VuZC48L3A+CiAgbGlua3M6CiAgICAtIAogICAgICB0aXRsZTogU3RhbmRhYXJkICdOaWV1d2UgVGFhayctbm90aWZpY2F0aWUgb3BtYWFrCiAgICAgIGhyZWY6IC9zY3AvdGVtcGxhdGVzLnBocD9kZWZhdWx0X2Zvcj10YXNrLmFsZXJ0CmFjdGl2aXR5X2FsZXJ0OgogIHRpdGxlOiBOaWV1d2UgYWN0aXZpdGVpdCBtZWxkaW5nCiAgY29udGVudDogPgogICAgTm90aWZpY2F0aWUgZGllIHdvcmR0IHZlcnN0dXVyZCBhYW4gYWdlbnRlbiBhbHMgZXIgZWVuIG5pZXV3IGJlcmljaHQgYWFuIGVlbiB0YWFrIGlzIHRvZWdldm9lZ2QuCiAgbGlua3M6CiAgICAtIAogICAgICB0aXRsZTogU3RhbmRhYXJkICJuaWV1d2UgYWN0aXZpdGVpdCItbm90aWZpY2F0aWUgb3BtYWFrCiAgICAgIGhyZWY6IC9zY3AvdGVtcGxhdGVzLnBocD9kZWZhdWx0X2Zvcj10YXNrLmFjdGl2aXR5LmFsZXJ0CmFzc2lnbm1lbnRfYWxlcnQ6CiAgdGl0bGU6IFRhYWsgdG9ld2lqemluZyBtZWxkaW5nCiAgY29udGVudDogPgogICAgTm90aWZpY2F0aWUgZGllIGFhbiBhZ2VudGVuIHdvcmR0IGdlc3R1dXJkIGJpaiBoZXQgdG9la2VubmVuIHZhbiBlZW4gdGFhay4KICBsaW5rczoKICAgIC0gCiAgICAgIHRpdGxlOiBTdGFuZGFhcmQgIlRhYWstdG9ld2lqemluZyItbm90aWZpY2F0aWUgb3BtYWFrCiAgICAgIGhyZWY6IC9zY3AvdGVtcGxhdGVzLnBocD9kZWZhdWx0X2Zvcj10YXNrLmFzc2lnbm1lbnQuYWxlcnQKdHJhbnNmZXJfYWxlcnQ6CiAgdGl0bGU6IFRhYWsgb3ZlcmRyYWNodCBtZWxkaW5nCiAgY29udGVudDogPgogICAgTm90aWZpY2F0aWUgZGllIHdvcmR0IHZlcnN0dXVyZCBhYW4gYWdlbnRlbiBhbHMgZWVuIHRhYWsgdmFuIGFmZGVsaW5nIHZlcmh1aXN0LgogIGxpbmtzOgogICAgLSAKICAgICAgdGl0bGU6IFN0YW5kYWFyZCAidGFhay12ZXJodWlzIi1ub3RpZmljYXRpZSBvcG1hYWsKICAgICAgaHJlZjogL3NjcC90ZW1wbGF0ZXMucGhwP2RlZmF1bHRfZm9yPXRhc2sudHJhbnNmZXIuYWxlcnQKb3ZlcmR1ZV9hbGVydDoKICB0aXRsZTogVGFhayB0ZSBsYWF0IG1lbGRpbmcKICBjb250ZW50OiA+CiAgICBOb3RpZmljYXRpZSBkaWUgYWFuIGFnZW50ZW4gdmVyc3R1dXJkIHdvcmR0IGFscyBlZW4gdGFhayAnb3ZlcnRpamQgcmFha3QsIGdlYmFzZWVyZCBvcCBkZSBvdmVyZWVua29tc3Qgb2YgZGUgZWluZGRhdHVtLgogIGxpbmtzOgogICAgLSAKICAgICAgdGl0bGU6IFN0YW5kYWFyZCAnSGFuZ2VuZGUgdGFhayctbm90aWZpY2F0aWUgb3BtYWFrCiAgICAgIGhyZWY6IC9zY3AvdGVtcGxhdGVzLnBocD9kZWZhdWx0X2Zvcj10YXNrLm92ZXJkdWUuYWxlcnQKICAgIC0gCiAgICAgIHRpdGxlOiBTbGEncyBiZWhlcmVuCiAgICAgIGhyZWY6IC9zY3Avc2xhcy5waHAKCi0tLQojVGhpcyBpcyBwb3B1cCBoZWxwIG1lc3NhZ2VzIGZvciB0aGUgQWRtaW4gUGFuZWwgLT4gU2V0dGluZ3MgLT4gVXNlcnMKI0ZpZWxkczoKI3RpdGxlIC0gU2hvd24gaW4gYm9sZCBhdCB0aGUgdG9wIG9mIHRoZSBwb3BvdmVyIHdpbmRvdwojY29udGVudCAtIFRoZSBib2R5IG9mIHRoZSBoZWxwIHBvcG92ZXIKI2xpbmtzIC0gTGlzdCBvZiBsaW5rcyBzaG93cyBiZWxvdyB0aGUgY29udGVudAojdGl0bGUgLSBMaW5rIHRpdGxlCiNocmVmIC0gaHJlZiBvZiBsaW5rIChsaW5rcyBzdGFydGluZyB3aXRoIC8gYXJlIHRyYW5zbGF0ZWQgdG8gdGhlCiNoZWxwZGVzayBpbnN0YWxsYXRpb24gcGF0aCkKI1RoZSBrZXkgbmFtZXMgc3VjaCBhcyAnaGVscGRlc2tfbmFtZScgc2hvdWxkIG5vdCBiZSB0cmFuc2xhdGVkIGFzIHRoZXkKI211c3QgbWF0Y2ggdGhlIEhUTUwgI2lkcyBwdXQgaW50byB0aGUgcGFnZSB0ZW1wbGF0ZS4KIy0tLQojR2VuZXJhbCBTZXR0aW5ncwpjbGllbnRfbmFtZV9mb3JtYXQ6CiAgdGl0bGU6IEdlYnJ1aWtlcnNuYWFtIG9wbWFhawogIGNvbnRlbnQ6ID4KICAgIEtpZXMgZWVuIGZvcm1hYXQgb20gZ2VicnVpa2Vyc25hbWVuIG1lZSBvcCB0ZSBtYWtlbi4gRW1haWwtYmVyaWNodGVuIHp1bGxlbiBkaXQgZm9ybWFhdCBnZWJydWlrZW4gdm9vciBkZSBvcG1hYWsgdmFuIGRlIG5hYW0gYWxzIGVyIGdlZW4gYW5kZXJlIG9wbWFhayBpcyBnZXNlbGVjdGVlcmQuCiNBdXRoZW50aWNhdGlvbiBzZXR0aW5ncwpjbGllbnRfc2Vzc2lvbl90aW1lb3V0OgogIHRpdGxlOiBHZWJydWlrZXIgc2Vzc2llIFRpbWUtb3V0CiAgY29udGVudDogPgogICAgS2llcyBkZSBtYXhpbWFsZSBuaWV0LWFjdGlldmUgdGlqZCAoaW4gbWludXRlbikgdm9vcmRhdCBlZW4gZ2VicnVpa2VyIGdldnJhYWdkIHdvcmR0IG9wbmlldXcgaW4gdGUgbG9nZ2VuLjxicj48YnI+IEFscyB1IDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+R2VicnVpa2VyIHNlc3NpZS10aW1vdXQ8L3NwYW4+IHdpbHQgdWl0c2NoYWtlbGVuIHZvZXIgMCBpbi4KcmVnaXN0cmF0aW9uX21ldGhvZDoKICB0aXRsZTogUmVnaXN0cmF0aWUgT3B0aWVzCiAgY29udGVudDogPgogICAgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5SZWdpc3RyYXRpZSBNZXRob2RlPC9zcGFuPiBlbiA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPlJlZ2lzdHJhdGllIFZlcmVpc3Q8L3NwYW4+IHdvcmRlbiBnZWJydWlrdCBvbSB0ZSBjb25maWd1cmVyZW4gaG9lIGdlYnJ1aWtlcnMgcmVnaXN0cmVyZW4gZW4gdG9lZ2FuZyBoZWJiZW4gdG90IGhldCB3ZWJwb3J0YWFsIHZhbiBqb3V3IGhlbHBkZXNrLiBEZSBvbmRlcnN0YWFuZGUgdGFiZWwgYmV2YXQgZWVuIG92ZXJ6aWNodCB2YW4gZGUgdHdlZSBpbnN0ZWxsaW5nZW4gZGllIGRvb3IgaGV0IHN5c3RlZW0gemlqbiBnZWludGVycHJldGVlcmQuIDx0YWJsZSBib3JkZXI9IjEiIGNlbGxwYWRkaW5nPSIycHgiIGNlbGxzcGFjaW5nPSIwIiBzdHlsZT0ibWFyZ2luLXRvcDo3cHgiID48dGJvZHkgc3R5bGU9InZlcnRpY2FsLWFsaWduOnRvcDsiPjx0cj48dGg+UmVnaXN0cmF0aWUgVmVyZWlzdDwvdGg+PHRoPlJlZ2lzdHJhdGllIE1ldGhvZGU8L3RoPjx0aD5SZXN1bHRhYXQ8L3RoPjwvdHI+PHRyPjx0ZD5OZWVuPC90ZD48dGQ+UHVibGllazwvdGQ+PHRkPlJlZ2lzdHJhdGllIHdvcmQgYWFuZ2V3ZXplbiBtYWFyIGlzIG5pZXQgdmVyZWlzdCB2b29yIG5pZXV3ZSB0aWNrZXRzLjwvdGQ+PC90cj48dHI+PHRkPkphPC90ZD48dGQ+UHVibGllazwvdGQ+PHRkPlJlZ2lzdHJhdGllIGVuIGxvZ2luIHppam4gdmVyZWlzdCB2b29yIG5pZXV3ZSB0aWNrZXRzPC90ZD48L3RyPjx0cj48dGQ+TmVlbjwvdGQ+PHRkPlByaXbDqTwvdGQ+PHRkPkllZGVyZWVuIGthbiBlZW4gdGlja2V0IGFhbm1ha2VuLCBtYWFyIFZlcmFudHdvb3JkZWxpamtlbiBrdW5uZW4gZW5rZWwgYWNjb3VudHMgcmVnaXN0cmVyZW48L3RkPjwvdHI+PHRyPjx0ZD5KYTwvdGQ+PHRkPlByaXbDqTwvdGQ+PHRkPkdlYnJ1aWtlcnN0b2VnYW5nIGVua2VsIG1vZ2VsaWprIGRvb3IgaW52aXRhdGllPC90ZD48L3RyPjx0cj48dGQ+TmVlbjwvdGQ+PHRkPlVpdGdlc2NoYWtlbGQ8L3RkPjx0ZD5OaWVtYW5kIGthbiByZWdpc3RyZXJlbiB2b29yIGVlbiBhY2NvdW50LCBtYWFyIGllZGVyZWVuIGthbiBlZW4gdGlja2V0IGFhbm1ha2VuLjxlbT5EaXQgd2FzIGhvZSBvc1RpY2tldCBmdW5jdGlvbmVlcmRlIHbDs8OzciB2ZXJzaWUgMS45PC9lbT48L3RkPjwvdHI+PHRyPjx0ZD5KYTwvdGQ+PHRkPlVpdGdlc2NoYWtlbGQ8L3RkPjx0ZD5TY2hha2VsIG5pZXV3ZSB0aWNrZXRzIHVpdCB2aWEgd2VicG9ydGFsPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT4KY2xpZW50X3ZlcmlmeV9lbWFpbDoKICB0aXRsZTogRS1tYWlsIHZlcmlmaWNhdGllIHZlcmVpc2VuCiAgY29udGVudDogPgogICAgU2NoYWtlbCBkZXplIG9wdGllIHVpdCBvbSB1dyBnZWJydWlrZXJzIGRpcmVjdGUgdG9lZ2FuZyB0ZSBnZXZlbiBhYW4gdGlja2V0cyB2aWEgZGUgIkJla2lqayBUaWNrZXQgU3RhdHVzIiBsb2dpbiBwYWdpbmEgdmFuIGRlIENsaWVudCBQb3J0YWwuIEFscyBkaXQgaW5nZXNjaGFrZWxkIGlzICh3YXQgc3RhbmRhYXJkIGlzKSwgemFsIGRlIGdlYnJ1aWtlciBlZXJzdCBlZW4gZS1tYWlsIG9udHZhbmdlbiBtZXQgZGFhcmluIGVlbiBsaW5rIG9tIGhldCB0aWNrZXQgdGUgYmVraWprZW4uIDxicj48YnI+QWxzIEUtbWFpbCB2ZXJpZmljYXRpZSB1aXRnZXNjaGFrZWxkIGlzIGt1bm5lbiBkZXJkZSBwYXJ0aWplbiAoYnZiLiB0aWNrZXQgbWVkZXdlcmtlcnMpIHppY2ggdm9vciBkb2VuIGFscyB0aWNrZXQtZWlnZW5hYXIuCmFsbG93X2F1dGhfdG9rZW5zOgogIHRpdGxlOiBTY2hha2VsIGJldmVpbGlnaW5ncy10b2tlbnMgaW4KICBjb250ZW50OiA+CiAgICBTY2hha2VsIGRlemUgb3B0aWUgaW4gb20gJ2JldmVpbGlnaW5ncy10b2tlbnMnIHRlIGdlYnJ1aWtlbiBvbSBtZW5zZW4gYXV0b21hdGlzY2ggb3AgaHVuIHRpY2tldHMgdGUgbGF0ZW4gaW5sb2dnZW4gdmlhIGRlIGxpbmsgaW4gaHVuIGVtYWlsLgotLS0KI1RoaXMgaXMgcG9wdXAgaGVscCBtZXNzYWdlcyBmb3IgdGhlIEFkbWluIFBhbmVsIC0+IFN0YWZmIC0+IEFkZCBTdGFmZiBGb3JtCiNGaWVsZHM6CiN0aXRsZSAtIFNob3duIGluIGJvbGQgYXQgdGhlIHRvcCBvZiB0aGUgcG9wb3ZlciB3aW5kb3cKI2NvbnRlbnQgLSBUaGUgYm9keSBvZiB0aGUgaGVscCBwb3BvdmVyCiNsaW5rcyAtIExpc3Qgb2YgbGlua3Mgc2hvd3MgYmVsb3cgdGhlIGNvbnRlbnQKI3RpdGxlIC0gTGluayB0aXRsZQojaHJlZiAtIGhyZWYgb2YgbGluayAobGlua3Mgc3RhcnRpbmcgd2l0aCAvIGFyZSB0cmFuc2xhdGVkIHRvIHRoZQojaGVscGRlc2sgaW5zdGFsbGF0aW9uIHBhdGgpCiNUaGUga2V5IG5hbWVzIHN1Y2ggYXMgJ2hlbHBkZXNrX25hbWUnIHNob3VsZCBub3QgYmUgdHJhbnNsYXRlZCBhcyB0aGV5CiNtdXN0IG1hdGNoIHRoZSBIVE1MICNpZHMgcHV0IGludG8gdGhlIHBhZ2UgdGVtcGxhdGUuCiMtLS0KdXNlcm5hbWU6CiAgdGl0bGU6IEdlYnJ1aWtlcnNuYWFtCiAgY29udGVudDogPgogICAgS2llcyBlZW4gTWVkZXdlcmtlciA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPmdlYnJ1aWtlcnNuYWFtPC9zcGFuPiBkaWUgdW5pZWsgaXMgdm9vciB1dyA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPkhlbHAgRGVzazwvc3Bhbj4uCmVtYWlsX2FkZHJlc3M6CiAgdGl0bGU6IEUtbWFpbGFkcmVzCiAgY29udGVudDogPgogICAgVm9lciBkZSBNZWRld2Vya2VyIHppam4gIGUtbWFpbGFkcmVzIGluIGRhdCBkZSA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPldhYXJzY2h1d2luZ2VuICZhbXA7IEFhbmtvbmRpZ2luZ2VuPC9zcGFuPiB2YW4gZGUgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5IZWxwIERlc2s8L3NwYW4+IHphbCBvbnR2YW5nZW4uCiAgMDogPGJyPjxicj4KICAxOiBQZXJzb25lZWwga2FuIGlubG9nZ2VuIGluIGhldCBkZWVsdmVuc3RlciBCZWhlZXIgUGVyc29uZWVsIG1ldCBvZndlbCB6aWpuIGdlYnJ1aWtlcnNuYWFtIG9mIGUtbWFpbGFkcmVzLgp3ZWxjb21lX2VtYWlsOgogIHRpdGxlOiBXZWxrb21zIGUtbWFpbAogIGNvbnRlbnQ6ID4KICAgIFN0dXVyIGRlIG5pZXV3ZSBWZXJhbnR3b29yZGVsaWprZSBlZW4gbGluayBtZXQgdG9lZ2FuZyB0b3QgaGV0IGFjY291bnQgd2Fhcm1lZSBkZSBWZXJhbnR3b29yZGVsaWprZSBpbiBzdGFhdCBpcyBvbSB6aWpuIGVpZ2VuIHdhY2h0d29vcmQgaW4gdGUgc3RlbGxlbi4gQWxzIGhldCBzZWxlY3RpZXZha2plIHVpdGdlc2NoYWtlbGQgaXMsIHphbCBqZSBoZXQgd2FjaHR3b29yZCBlbiBnZWJydWlrZXJzbmFhbSBoYW5kbWF0aWcgbW9ldGVuIGRvb3JnZXZlbiBhYW4gZGUgbmlldXdlIG1lZGV3ZXJrZXIuIAphY2NvdW50X3Bhc3N3b3JkOgogIHRpdGxlOiBBY2NvdW50IHdhY2h0d29vcmQKICBjb250ZW50OiA+CiAgICBBbHMgZWVuIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+YmVoZWVyZGVyPC9zcGFuPiBrYW4gamUgZWVuIHdhY2h0d29vcmQgdmFuIGVlbiBWZXJhbnR3b29yZGVsaWprZSB3aWp6aWdlbi4KZm9yY2VkX3Bhc3N3b3JkX2NoYW5nZToKICB0aXRsZTogRm9yY2VlciB3YWNodHdvb3JkIHRlIHdpanppZ2VuCiAgY29udGVudDogPgogICAgU2NoYWtlbCBkaXQgaW4gYWxzIGplIGRlIFZlcmFudHdvb3JkZWxpamtlIHdpbHQgZHdpbmdlbiB6aWpuIHdhY2h0d29vcmQgdGUgd2lqemlnZW4gYmlqIHppam4gdm9sZ2VuZGUgbG9naW4uCmFnZW50c19zaWduYXR1cmU6CiAgdGl0bGU6IEhhbmR0ZWtlbmluZyB2YW4gZGUgdmVyYW50d29vcmRlbGlqa2UKICBjb250ZW50OiA+CiAgICBNYWFrIGVlbiBoYW5kdGVrZW5pbmcgdm9vciBkZSB2ZXJhbnR3b29yZGVsaWprZSBkaWUgZ2VzZWxlY3RlZXJkIGthbiB3b3JkZW4gYmlqIGhldCBhbnR3b29yZGVuIHZhbiBlZW4gdGlja2V0LgphY2NvdW50X3N0YXR1czoKICB0aXRsZTogQWNjb3VudCBzdGF0dXMKICBjb250ZW50OiA+CiAgICBBbHMgZGUgc3RhdHVzIHZhbiBkZSBWZXJhbnR3b29yZGVsaWprZSA8c3BhbiBjbGFzcz0iZG9jLWRlc2Mtb3B0Ij5HZWxvY2tlZDwvc3Bhbj4gc3RhYXQsIHp1bGxlbiB6ZSBuaWV0IGt1bm5lbiBhYW5tZWxkZW4gb3AgZGUgaGVscGRlc2suCmFzc2lnbmVkX2dyb3VwOgogIHRpdGxlOiBUb2VnZXdlemVuIGdyb2VwCiAgY29udGVudDogPgogICAgRGUgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5Hcm9lcDwvc3Bhbj4gd2FhciBWZXJhbnR3b29yZGVsaWprZSB0b3QgYmVob29yZCwgYmVwYWFsZCB3ZWxrZSByZWNodGVuIGRlIFZlcmFudHdvb3JkZWxpamtlIGJpbm5lbiBkZSA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPmhlbHBkZXNrPC9zcGFuPiBoZWVmdC4KICBsaW5rczoKICAgIC0gCiAgICAgIHRpdGxlOiBCZWhlZXIgZ3JvZXBlbgogICAgICBocmVmOiAvc2NwL2dyb3Vwcy5waHAKcHJpbWFyeV9kZXBhcnRtZW50OgogIHRpdGxlOiBTdGFuZGFhcmQgYWZkZWxpbmcKICBjb250ZW50OiA+CiAgICBLaWVzIGRlIHByaW1haXJlIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+YWZkZWxpbmc8L3NwYW4+IHdhYXIgZGV6ZSBhZ2VudCB0b2UgYmVob29yZCBlbiBlZW4gYWN0aWV2ZSA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPnJvbDwvc3Bhbj4gaW4gaGVlZnQuCiAgbGlua3M6CiAgICAtIAogICAgICB0aXRsZTogQWZkZWxpbmdlbiBiZWhlcmVuCiAgICAgIGhyZWY6IC9zY3AvZGVwYXJ0bWVudHMucGhwCnByaW1hcnlfcm9sZToKICB0aXRsZTogUHJpbWFpcmUgcm9sCiAgY29udGVudDogPgogICAgS2llcyBkZSBwcmltYWlyZSA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPnJvbDwvc3Bhbj4gdmFuIGRlemUgYWdlbnQuCnByaW1hcnlfcm9sZV9vbl9hc3NpZ246CiAgdGl0bGU6IEdlYnJ1aWsgZGUgcHJpbWFpcmUgcm9sIHZvb3IgaGV0IHRvZWtlbm5lbiB2YW4gdGlja2V0cwogIGNvbnRlbnQ6ID4KICAgIFN0ZWwgZGl0IGluIG9tIHRlcnVnIHRlIHZhbGxlbiBvcCBkZSAgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5wcmltYWlyZSByb2w8L3NwYW4+ICBhbHMgZWVuIGFnZW50IHRpY2tldHMgZW4gdGFrZW4gaGVlZnQgdG9lZ2VrZW5kIGJ1aXRlbiBkZSA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPnByaW1haXJlIGFmZGVsaW5nPC9zcGFuPiBlbiA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPnVpdGdlYnJlaWRlIHRvZWdhbmc8L3NwYW4+IGFmZGVsaW5nZW4uIAogICAgQW5kZXJzIGhlYmJlbiBhZ2VudGVuIGFsbGVlbiBsZWVzdG9lZ2FuZy4KZGF5bGlnaHRfc2F2aW5nOgogIHRpdGxlOiBab21lcnRpamQKICBjb250ZW50OiA+CiAgICBTY2hha2VsIGRlemUgZnVuY3RpZSBpcyBhbHMgdSB3aWwgZGF0IGRlIHpvbWVydGlqZCBhdXRvbWF0aXNjaCBhYW5nZXBhc3Qgd29yZHQgdm9vciBkZXplIFZlcmFudHdvb3JkZWxpamtlLgpsaW1pdGVkX2FjY2VzczoKICB0aXRsZTogQmVwZXJrdGUgdG9lZ2FuZwogIGNvbnRlbnQ6ID4KICAgIEFscyBkaXQgaW5nZXNjaGFrZWxkIGlzIHphbCBkZSBWZXJhbnR3b29yZGVsaWprZSBlbmtlbCB0b2VnYW5nIGhlYmJlbiB0b3QgZGUgdGlja2V0cyBkaWUgdmlhIGhldCBUZWFtIG9mIHJlY2h0c3RyZWVrcyB0b2VnZXdlemVuIHppam4uCmRpcmVjdG9yeV9saXN0aW5nOgogIHRpdGxlOiBEaXJlY3RvcnkgTGlzdGluZwogIGNvbnRlbnQ6ID4KICAgIFNjaGFrZWwgZGl0IGluIGFscyB1IGRlIFZlcmFudHdvb3JkZWxpamtlIHdpbCBvcGxpanN0ZW4gaW4gZGUgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5QZXJzb25lZWxzbGlqc3Q8L3NwYW4+LgogIGxpbmtzOgogICAgLSAKICAgICAgdGl0bGU6IEJlem9layBkZSBQZXJzb25lZWxzbGlqc3QKICAgICAgaHJlZjogL3NjcC9kaXJlY3RvcnkucGhwCnZhY2F0aW9uX21vZGU6CiAgdGl0bGU6IFZha2FudGllbW9kdXMKICBjb250ZW50OiA+CiAgICBBbHMgdSBkZSB2ZXJhbnR3b29yZGVsaWprZSB6aWpuIHN0YXR1cyBuYWFyIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy1vcHQiPlZha2FudGllbW9kdXM8L3NwYW4+IHpldCwgemFsIGRlIHZlcmFudHdvb3JkZWxpamtlIGdlZW4gPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5XYWFyc2NodXdpbmdlbiZhbXA7TWVkZWRlbGluZ2VuPC9zcGFuPiBvbnR2YW5nZW4uIE9vayB6YWwgaGlqIG5pZXQgYmVzY2hpa2JhYXIgemlqbiB2b29yIGhldCB0b2V3aWp6ZW4gdmFuIHRpY2tldHMuCgotLS0KLS0tCiNUaGlzIGlzIHBvcHVwIGhlbHAgbWVzc2FnZXMgZm9yIHRoZSBBZG1pbiBQYW5lbCAtPiBTdGFmZiAtPiBEZXBhcnRtZW50cwojRmllbGRzOgojdGl0bGUgLSBTaG93biBpbiBib2xkIGF0IHRoZSB0b3Agb2YgdGhlIHBvcG92ZXIgd2luZG93CiNjb250ZW50IC0gVGhlIGJvZHkgb2YgdGhlIGhlbHAgcG9wb3ZlcgojbGlua3MgLSBMaXN0IG9mIGxpbmtzIHNob3dzIGJlbG93IHRoZSBjb250ZW50CiN0aXRsZSAtIExpbmsgdGl0bGUKI2hyZWYgLSBocmVmIG9mIGxpbmsgKGxpbmtzIHN0YXJ0aW5nIHdpdGggLyBhcmUgdHJhbnNsYXRlZCB0byB0aGUKI2hlbHBkZXNrIGluc3RhbGxhdGlvbiBwYXRoKQojVGhlIGtleSBuYW1lcyBzdWNoIGFzICdoZWxwZGVza19uYW1lJyBzaG91bGQgbm90IGJlIHRyYW5zbGF0ZWQgYXMgdGhleQojbXVzdCBtYXRjaCB0aGUgSFRNTCAjaWRzIHB1dCBpbnRvIHRoZSBwYWdlIHRlbXBsYXRlLgojLS0tCnR5cGU6CiAgdGl0bGU6IFR5cGUKICBjb250ZW50OiA+CiAgICBBbHMgaGV0IFR5cGUgQWZkZWxpbmcgUHJpdsOpIHN0YWF0LCB6YWwgZGUgSGFuZHRla2VuaW5nIHZhbiBkZSBBZmRlbGluZyBuaWV0IGJlc2NoaWtiYWFyIHppam4gYWxzIGFudHdvb3JkIG5vY2ggemFsIGRlIGFmZGVsaW5nIHRvZXdpanppbmcgdmVyc2NoaWpuZW4gaW4gZGUgQ2xpZW50LVBvcnRhbC4KZGVwdF9tYW5hZ2VyOgogIHRpdGxlOiBBZmRlbGluZ3NiZWhlZXJkZXIKICBjb250ZW50OiA+CiAgICBVIGt1bnQgZWVuIFZlcmFudHdvb3JkZWxpamtlIGFscyBBZmRlbGluZ3NiZWhlZXJkZXIgYWFuZHVpZGVuLiBEZXplIHp1bGxlbiBXYWFyc2NodXdpbmdlbiAmIE1lZGVkZWxpbmdlbiBvbnR2YW5nZW4gdm9vciB0aWNrZXRzIGluIGRlIGFmZGVsaW5nZW4uCiAgMDogVmVyYW50d29vcmRlbGlqa2VuIGhvZXZlbiBnZWVuIGxlZGVuIHZhbiBkZSBBZmRlbGluZyB0ZSB6aWpuIG9tIEFmZGVsaW5nc2JlaGVlcmRlciB0ZSB6aWpuCi0tLQojVGhpcyBpcyBwb3B1cCBoZWxwIG1lc3NhZ2VzIGZvciB0aGUgQWRtaW4gUGFuZWwgLT4gU3RhZmYgLT4gQWRkIE5ldyBHcm91cCAgLT4gVXNlciBHcm91cCBGb3JtCiNGaWVsZHM6CiN0aXRsZSAtIFNob3duIGluIGJvbGQgYXQgdGhlIHRvcCBvZiB0aGUgcG9wb3ZlciB3aW5kb3cKI2NvbnRlbnQgLSBUaGUgYm9keSBvZiB0aGUgaGVscCBwb3BvdmVyCiNsaW5rcyAtIExpc3Qgb2YgbGlua3Mgc2hvd3MgYmVsb3cgdGhlIGNvbnRlbnQKI3RpdGxlIC0gTGluayB0aXRsZQojaHJlZiAtIGhyZWYgb2YgbGluayAobGlua3Mgc3RhcnRpbmcgd2l0aCAvIGFyZSB0cmFuc2xhdGVkIHRvIHRoZQojaGVscGRlc2sgaW5zdGFsbGF0aW9uIHBhdGgpCiNUaGUga2V5IG5hbWVzIHN1Y2ggYXMgJ2hlbHBkZXNrX25hbWUnIHNob3VsZCBub3QgYmUgdHJhbnNsYXRlZCBhcyB0aGV5CiNtdXN0IG1hdGNoIHRoZSBIVE1MICNpZHMgcHV0IGludG8gdGhlIHBhZ2UgdGVtcGxhdGUuCiMtLS0KZ3JvdXBzOgogIHRpdGxlOiBHcm9lcGVuCiAgY29udGVudDogPgogICAgR3JvZXBlbiB3b3JkZW4gZ2VicnVpa3Qgb20gcmVjaHRlbiB2YW4gdmVyYW50d29vcmRlbGlqa2VuIGluIGRlIGhlbHAgZGVzayB0ZSBkZWZpbmnDq3Jlbi4gR3JvZXBlbiBrdW5uZW4gb29rIHRvZWdhbmcgdmVybGVuZW4gdG90IEFmZGVsaW5nZW4gZGllIG5pZXQgZGUgU3RhbmRhYXJkIEFmZGVsaW5nIHppam4gdmFuIGVlbiBWZXJhbnR3b29yZGVsaWprZS4Kc3RhdHVzOgogIHRpdGxlOiBTdGF0dXMKICBjb250ZW50OiA+CiAgICBBbHMgZGl0IDxzcGFuIGNsYXNzPSJkb2MtZGVzYy1vcHQiPlVpdGdlc2NoYWtlbGQ8L3NwYW4+IGlzLCBrdW5uZW4gVmVyYW50d29vcmRlbGlqa2VuIGRpZSB0b2VnZXdlemVuIHppam4gYWFuIGRlemUgR3JvZXAgbmlldCBpbmxvZ2dlbiBlbiB6dWxsZW4gZ2VlbiBBZmRlbGluZyBXYWFyc2NodXdpbmdlbiAmYW1wOyBNZWRlZGVsaW5nZW4gb250dmFuZ2VuLgpkZXBhcnRtZW50X2FjY2VzczoKICB0aXRsZTogQWZkZWxpbmdzdG9lZ2FuZwogIGNvbnRlbnQ6ID4KICAgIFZpbmsgYWxsZSBhZmRlbGluZ2VuIGFhbiB3YWFyYWFuIGRlIGxlZGVuIHZhbiBkZSBncm9lcCB0b2VnYW5nIGhlYmJlbi4KLS0tCiNUaGlzIGlzIHBvcHVwIGhlbHAgbWVzc2FnZXMgZm9yIHRoZSBBZG1pbiBQYW5lbCAtPiBTdGFmZiAtPiBTdGFmZiBNZW1iZXJzCiNGaWVsZHM6CiN0aXRsZSAtIFNob3duIGluIGJvbGQgYXQgdGhlIHRvcCBvZiB0aGUgcG9wb3ZlciB3aW5kb3cKI2NvbnRlbnQgLSBUaGUgYm9keSBvZiB0aGUgaGVscCBwb3BvdmVyCiNsaW5rcyAtIExpc3Qgb2YgbGlua3Mgc2hvd3MgYmVsb3cgdGhlIGNvbnRlbnQKI3RpdGxlIC0gTGluayB0aXRsZQojaHJlZiAtIGhyZWYgb2YgbGluayAobGlua3Mgc3RhcnRpbmcgd2l0aCAvIGFyZSB0cmFuc2xhdGVkIHRvIHRoZQojaGVscGRlc2sgaW5zdGFsbGF0aW9uIHBhdGgpCiNUaGUga2V5IG5hbWVzIHN1Y2ggYXMgJ2hlbHBkZXNrX25hbWUnIHNob3VsZCBub3QgYmUgdHJhbnNsYXRlZCBhcyB0aGV5CiNtdXN0IG1hdGNoIHRoZSBIVE1MICNpZHMgcHV0IGludG8gdGhlIHBhZ2UgdGVtcGxhdGUuCiMtLS0Kc3RhZmZfbWVtYmVyczoKICB0aXRsZTogTWVkZXdlcmtlcnMKICBjb250ZW50OiA+CiAgICBEZSB2b2xnZW5kZSB0YWJlbCBnZWVmdCBkZSByZXN1bHRhdGVuIHdlZXIgdmFuIGRlIGZpbHRlciBlcmJvdmVuLiBBbHMgZXIgZ2VlbiBmaWx0ZXIgZ2Vrb3plbiBpcywgenVsbGVuIGFsbGUgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5WZXJhbnR3b29yZGVsaWprZTwvc3Bhbj4gKE1lZGV3ZXJrZXIpIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+TGVkZW48L3NwYW4+IGdldG9vbmQgd29yZGVuLCBlbiBnZXNwbGl0c3Qgd29yZGVuIGluIHBhZ2luYSdzLiBaaWUgZGUgcGFnaW5hJ3Mgc2VjdGllIG9tIGRvb3IgbWVlcmRlcmUgcmVzdWx0YXRlbiB0ZSBuYXZpZ2VyZW4uCnN0YXR1czoKICB0aXRsZTogU3RhdHVzCiAgY29udGVudDogPgogICAgRGl0IHphbCB3ZWVyZ2V2ZW4gb2YgZGUgPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5WZXJhbnR3b29yZGVsaWprZTwvc3Bhbj4gR2Vsb2NrZWQsIEFjdGllZiBvZiBBY3RpZWYgKGluIFZha2FudGllKSBpcy4KLS0tCiNUaGlzIGlzIHBvcHVwIGhlbHAgbWVzc2FnZXMgZm9yIHRoZSBBZG1pbiBQYW5lbCAtPiBTdGFmZiAtPiBUZWFtcwojRmllbGRzOgojdGl0bGUgLSBTaG93biBpbiBib2xkIGF0IHRoZSB0b3Agb2YgdGhlIHBvcG92ZXIgd2luZG93CiNjb250ZW50IC0gVGhlIGJvZHkgb2YgdGhlIGhlbHAgcG9wb3ZlcgojbGlua3MgLSBMaXN0IG9mIGxpbmtzIHNob3dzIGJlbG93IHRoZSBjb250ZW50CiN0aXRsZSAtIExpbmsgdGl0bGUKI2hyZWYgLSBocmVmIG9mIGxpbmsgKGxpbmtzIHN0YXJ0aW5nIHdpdGggLyBhcmUgdHJhbnNsYXRlZCB0byB0aGUKI2hlbHBkZXNrIGluc3RhbGxhdGlvbiBwYXRoKQojVGhlIGtleSBuYW1lcyBzdWNoIGFzICdoZWxwZGVza19uYW1lJyBzaG91bGQgbm90IGJlIHRyYW5zbGF0ZWQgYXMgdGhleQojbXVzdCBtYXRjaCB0aGUgSFRNTCAjaWRzIHB1dCBpbnRvIHRoZSBwYWdlIHRlbXBsYXRlLgojLS0tCnRlYW1zOgogIHRpdGxlOiBUZWFtCiAgY29udGVudDogPgogICAgRWVuIFRlYW0gaXMgZWVuIHZlcnphbWVsaW5nIHZhbiDDqcOpbiBvZiBtZWVyZGVyZSBNZWRld2Vya2VycyBtZXQgaGV0IG9vZyBvcCB0b2V3aWp6aW5nZW4gdmFuIHRpY2tlcnMuIFdpZSBpbiBlZW4gVGVhbSB6aXQga2FuIGJ1aXRlbiBkZSBBZmRlbGluZyBncmVuemVuIGFjdGVyZW4uCnN0YXR1czoKICB0aXRsZTogU3RhdHVzCiAgY29udGVudDogPgogICAgSW5kaWVuIGRpdCA8c3BhbiBjbGFzcz0iZG9jLWRlc2Mtb3B0Ij5VaXRnZXNjaGFrZWxkPC9zcGFuPiBpcywgemFsIGRpdCBUZWFtIG5pZXQgaW4gc3RhYXQgemlqbiBvbSB0aWNrZXRzIHRvZSB0ZSB3aWp6ZW4gbm9jaCB2b29yIGhldCBvbnR2YW5nZW4gdmFuIFdhYXJzY2h1d2luZ2VuICZhbXA7IE1lZGVkZWxpbmdlbiB2YW4gdm9vcmdhYW5kZSB0b2V3aWp6aW5nZW4uCmxlYWQ6CiAgdGl0bGU6IFRlYW1sZWlkZXIKICBjb250ZW50OiA+CiAgICBFZW4gPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5UZWFtPC9zcGFuPiBrYW4gZWVuIHRvZWdld2V6ZW4gbGVpZGVyIGxlaWRlciBoZWJiZW4gZGllIDxzcGFuIGNsYXNzPSJkb2MtZGVzYy10aXRsZSI+V2FhcnNjaHV3aW5nZW4gJmFtcDsgTWVkZWRlbGluZ2VuPC9zcGFuPiBrYW4gb250dmFuZ2VuLCBnZXNjaGVpZGVuIHZhbiBkZSBsZWRlbi4KICBsaW5rczoKICAgIC0gCiAgICAgIHRpdGxlOiBDb25maWd1cmVlciBXYWFyc2NodXdpbmdlbiAmYW1wOyBNZWRlZGVsaW5nZW4KICAgICAgaHJlZjogL3NjcC9zZXR0aW5ncy5waHA/dD1hbGVydHMKYXNzaWdubWVudF9hbGVydDoKICB0aXRsZTogVG9ld2lqemluZyBBbGVydAogIGNvbnRlbnQ6ID4KICAgIFUga3VudCA8c3BhbiBjbGFzcz0iZG9jLWRlc2MtdGl0bGUiPldhYXJzY2h1d2luZyB2b29yIFRpY2tldCB0b2V3aWp6aW5nPC9zcGFuPiB1aXRzY2hha2VsZW4gdm9vciB0aWNrZXRzIGRpZSBhYW4gZGl0IFRlYW0gemlqbiB0b2VnZXdlemVuLgogIGxpbmtzOgogICAgLSAKICAgICAgdGl0bGU6IENvbmZpZ3VyZWVyIFdhYXJzY2h1d2luZ2VuICZhbXA7IE1lZGVkZWxpbmdlbgogICAgICBocmVmOiAvc2NwL3NldHRpbmdzLnBocD90PWFsZXJ0cwptZW1iZXJzOgogIHRpdGxlOiBMZWRlbiB2YW4gaGV0IHRlYW0KICBjb250ZW50OiA+CiAgICBUZWFtIGxpZG1hYWRzY2hhcCBpcyBnZWNvbmZpZ3VyZWVyZCB2YW51aXQgaGV0IFZlcmFudHdvb3JkZWxpamtlLXByb2ZpZWwuCiAgbGlua3M6CiAgICAtIAogICAgICB0aXRsZTogTWVkZXdlcmtlcnMgYmVoZXJlbgogICAgICBocmVmOiAvc2NwL3N0YWZmLnBocAotLS0KI1RoaXMgaXMgcG9wdXAgaGVscCBtZXNzYWdlcyBmb3IgdGhlIEFkbWluIFBhbmVsIC0+IFN0YWZmCiNGaWVsZHM6CiN0aXRsZSAtIFNob3duIGluIGJvbGQgYXQgdGhlIHRvcCBvZiB0aGUgcG9wb3ZlciB3aW5kb3cKI2NvbnRlbnQgLSBUaGUgYm9keSBvZiB0aGUgaGVscCBwb3BvdmVyCiNUaGUga2V5IG5hbWVzIHN1Y2ggYXMgJ2hlbHBkZXNrX25hbWUnIHNob3VsZCBub3QgYmUgdHJhbnNsYXRlZCBhcyB0aGV5CiNtdXN0IG1hdGNoIHRoZSBIVE1MICNpZHMgcHV0IGludG8gdGhlIHBhZ2UgdGVtcGxhdGUuCiMtLS0Kc2lnbmF0dXJlOgogIHRpdGxlOiBNZWRld2Vya2VyIGhhbmR0ZWtlbmluZyByZWdlbAogIGNvbnRlbnQ6IHwKICAgIE1hYWsgaGFuZHRla2VuaW5nIHZvb3IgbWVkZXdlcmtlcnMgdm9vciByZWFjdGllcyBvcCB0aWNrZXRzLiBEZXplIGhhbmR0ZWtlbmluZyB2ZXJzY2hpam50IG9wdGlvbmVlbCBvbmRlcmFhbiBiaWogZWVuIHJlYWN0aWUgb3AgZWVuIHRpY2tldAp0eXBlOgogIHRpdGxlOiBBY2NvdW50IHR5cGUKICBjb250ZW50OiB8CiAgICBCZWhlZXJkZXJzIGhlYmJlbiBoZXQgdm9vcnJlY2h0IHZhbiBkZSB0b2VnYW5nIHRvdCBoZXQgQWRtaW4gUGFuZWVsLiBNZWRld2Vya2VycyBoZWJiZW4gYWxsZWVuIHRvZWdhbmcgdG90IGhldCBiZWhlcmVuIHZhbiB0aWNrZXRzIGVuIGRlIGtlbm5pc2JhbmsKZ3JvdXA6CiAgdGl0bGU6IFRvZWdld2V6ZW4gZ3JvZXAKICBjb250ZW50OiB8CiAgICBHcm9lcHNsaWRtYWF0c2NoYXAgZGVmaW5pZWVydCBkZSByb2wgdmFuIG1lZGV3ZXJrZXJzIGluIGhldCBzeXN0ZWVtLiBCZXpvZWsgZGUgcGFnaW5hIGdyb2Vwc2JlaGVlciBvbSBhYW4gdGUgZ2V2ZW4gd2Vsa2UgdG9lZ2FuZyBkZXplIG1lZGV3ZXJrZXJzIGhlYmJlbiBiaWogZGUgaGVscGRlc2sKbm90ZXM6CiAgdGl0bGU6IEludGVybmUgbm90aXRpZXMKICBjb250ZW50OiB8CiAgICBQbGFhdHMgaW50ZXJuZSBub3RpdGllcyBiZXRyZWZmZW5kZSBtZWRld2Vya2Vyczsgbm90aXRpZXMgemlqbiBhbGxlZW4gemljaHRiYWFyIHZvb3IgbWVkZXdlcmtlcnMgbWV0IGhldCBhY2NvdW50IHR5cGUgQWRtaW4KLS0tCiNUaGlzIGlzIHBvcHVwIGhlbHAgbWVzc2FnZXMgZm9yIHRoZSBBZ2VudHMgUGFuZWwgLT4gVGFza3MKI0ZpZWxkczoKI3RpdGxlIC0gU2hvd24gaW4gYm9sZCBhdCB0aGUgdG9wIG9mIHRoZSBwb3BvdmVyIHdpbmRvdwojY29udGVudCAtIFRoZSBib2R5IG9mIHRoZSBoZWxwIHBvcG92ZXIKI2xpbmtzIC0gTGlzdCBvZiBsaW5rcyBzaG93cyBiZWxvdyB0aGUgY29udGVudAojdGl0bGUgLSBMaW5rIHRpdGxlCiNocmVmIC0gaHJlZiBvZiBsaW5rIChsaW5rcyBzdGFydGluZyB3aXRoIC8gYXJlIHRyYW5zbGF0ZWQgdG8gdGhlCiNoZWxwZGVzayBpbnN0YWxsYXRpb24gcGF0aCkKI1RoZSBrZXkgbmFtZXMgc3VjaCBhcyAnaGVscGRlc2tfbmFtZScgc2hvdWxkIG5vdCBiZSB0cmFuc2xhdGVkIGFzIHRoZXkKI211c3QgbWF0Y2ggdGhlIEhUTUwgI2lkcyBwdXQgaW50byB0aGUgcGFnZSB0ZW1wbGF0ZS4KIy0tLQphZHZhbmNlZDoKICB0aXRsZTogR2VhdmFuY2VlcmQgem9la2VuCiAgY29udGVudDogPgogICAgU3RlbCBqZSB6b2VrcGFyYW1ldGVycyBpbi4gT3AgaGV0IG1vbWVudCBkYXQgamUgZGUgZ2VhdmFuY2VlcmRlIHpvZWtwYXJhbWV0ZXJzIGhlYnQgaW5nZXZ1bGQgZW4gb3Agem9layBrbGlrdCwga3VuIGplIGRlIHJlc3VsdGF0ZW4gPHNwYW4gY2xhc3M9ImRvYy1kZXNjLXRpdGxlIj5leHBvcnRlcmVuPC9zcGFuPiBiZW5lZGVuIGFhbiBkZSBwYWdpbmEuCmV4cG9ydDoKICB0aXRsZTogRXhwb3J0ZWVyCiAgY29udGVudDogPgogICAgRXhwb3J0ZWVyIHV3IGRhdGEgaW4gZWVuIENTViBiZXN0YW5kLiBDU1YgYmVzdGFuZGVuIG1vZXRlbiBnZW9wZW5kIHdvcmRlbiBtZXQgZWVuIHNwcmVhZHNoZWV0IHByb2dyYW1tYSAoYnYuIE1pY3Jvc29mdCBFeGNlbCwgQXBwbGUgTnVtYmVycywgT3Blbk9mZmljZSwgZW56LikKLS0tCiNFbWFpbCB0ZW1wbGF0ZTogdGFzay5hbGVydC55YW1sCiNTZW50IHRvIGFuIGFnZW50IHdoZW4gYSBuZXcgdGFzayBpcyBjcmVhdGVkIGluIHRoZSBzeXN0ZW0uCiMtLS0Kbm90ZXM6IHwKICBWZXJzdHV1cmQgbmFhciBlZW4gYWdlbnQgd2FubmVlciBlZW4gbmlldXdlIHRhYWsgZ2VjcmXDq2VyZCB3b3JkdCBpbiBoZXQgc3lzdGVlbS4Kc3ViamVjdDogfAogIE5pZXV3ZSB0YWFrIG1lbGRpbmcKYm9keTogfAogIDxoMj5IaSAle3JlY2lwaWVudC5uYW1lfSw8L2gyPgogIE5ldyB0YXNrIDxhIGhyZWY9IiV7dGFzay5zdGFmZl9saW5rfSI+IyV7dGFzay5udW1iZXJ9PC9hPiBjcmVhdGVkCiAgPGJyPgogIDxicj4KICA8dGFibGU+CiAgPHRib2R5PgogIDx0cj4KICAgICAgPHRkPgogICAgICAgICAgPHN0cm9uZz5EZXBhcnRtZW50PC9zdHJvbmc+OgogICAgICA8L3RkPgogICAgICA8dGQ+CiAgICAgICAgICAle3Rhc2suZGVwdC5uYW1lfQogICAgICA8L3RkPgogIDwvdHI+CiAgPC90Ym9keT4KICA8L3RhYmxlPgogIDxicj4KICAle3Rhc2suZGVzY3JpcHRpb259CiAgPGJyPgogIDxicj4KICA8aHI+CiAgPGRpdj5UbyB2aWV3IG9yIHJlc3BvbmQgdG8gdGhlIHRpY2tldCwgcGxlYXNlIDxhCiAgaHJlZj0iJXt0YXNrLnN0YWZmX2xpbmt9Ij5sb2dpbjwvYT4gdG8gdGhlIHN1cHBvcnQgc3lzdGVtPC9kaXY+CiAgPGVtIHN0eWxlPSJmb250LXNpemU6IHNtYWxsIj5Zb3VyIGZyaWVuZGx5IEN1c3RvbWVyIFN1cHBvcnQgU3lzdGVtPC9lbT4KICA8YnI+CiAgPGEgaHJlZj0iaHR0cHM6Ly9vc3RpY2tldC5jb20vIj48aW1nIHdpZHRoPSIxMjYiIGhlaWdodD0iMTkiCiAgICAgIHN0eWxlPSJ3aWR0aDogMTI2cHg7ICIgYWx0PSJQb3dlcmVkIEJ5IG9zVGlja2V0IgogICAgICBzcmM9ImNpZDpiNTY5NDRjYjQ3MjJjYzVjZGE5ZDFlMjNhM2VhN2ZiYyIvPjwvYT4KLS0tCiNFbWFpbCB0ZW1wbGF0ZTogdGFzay50cmFuc2Zlci5hbGVydC55YW1sCiNTZW50IHRvIGFnZW50cyB3aGVuIGEgdGFzayBpcyB0cmFuc2ZlcmVkIHRvIHRoZWlyIGRlcGFydG1lbnQuCiMtLS0Kbm90ZXM6IHwKICBWZXJzdHV1cmQgbmFhciBhZ2VudGVuIHdhbm5lZXIgZWVuIHRhYWsgb3ZlcmdlemV0IHdvcmR0IG5hYXIgZWVuIGRlcGFydGVtZW50IHdhYXJ2YW4gemUgbGlkIHppam4uCnN1YmplY3Q6IHwKICBUYWFrICMle3Rhc2subnVtYmVyfSB0cmFuc2ZlciAtICV7dGFzay5kZXB0Lm5hbWV9CmJvZHk6IHwKICA8aDM+SGkgJXtyZWNpcGllbnQubmFtZX0sPC9oMz4KICBUYXNrIDxhIGhyZWY9IiV7dGFzay5zdGFmZl9saW5rfSI+IyV7dGFzay5udW1iZXJ9PC9hPiBoYXMgYmVlbgogIHRyYW5zZmVycmVkIHRvIHRoZSAle3Rhc2suZGVwdC5uYW1lfSBkZXBhcnRtZW50IGJ5CiAgPHN0cm9uZz4le3N0YWZmLm5hbWUuc2hvcnR9PC9zdHJvbmc+CiAgPGJyPgogIDxicj4KICA8YmxvY2txdW90ZT4KICAgICAgJXtjb21tZW50c30KICA8L2Jsb2NrcXVvdGU+CiAgPGhyPgogIDxkaXY+VG8gdmlldyBvciByZXNwb25kIHRvIHRoZSB0YXNrLCBwbGVhc2UgPGEKICBocmVmPSIle3Rhc2suc3RhZmZfbGlua30iPmxvZ2luPC9hPiB0byB0aGUgc3VwcG9ydCBzeXN0ZW0uCiAgPC9kaXY+CiAgPGVtIHN0eWxlPSJmb250LXNpemU6IHNtYWxsOyAiPllvdXIgZnJpZW5kbHkgQ3VzdG9tZXIgU3VwcG9ydAogIFN5c3RlbTwvZW0+CiAgPGJyPgogIDxhIGhyZWY9Imh0dHBzOi8vb3N0aWNrZXQuY29tLyI+PGltZyB3aWR0aD0iMTI2IiBoZWlnaHQ9IjE5IgogICAgICBhbHQ9IlBvd2VyZWQgQnkgb3NUaWNrZXQiIHN0eWxlPSJ3aWR0aDogMTI2cHg7IgogICAgICBzcmM9ImNpZDpiNTY5NDRjYjQ3MjJjYzVjZGE5ZDFlMjNhM2VhN2ZiYyIvPjwvYT4KLS0tCiNFbWFpbCB0ZW1wbGF0ZTogdGlja2V0LmFsZXJ0LnlhbWwKI1NlbnQgdG8gYSBzdGFmZiBtZW1iZXIgd2hlbiBhIG5ldyB0aWNrZXQgaXMgY3JlYXRlZCBpbiB0aGUgc3lzdGVtLiBUaGlzCiNhcHBsaWVzIHRvIHRpY2tldHMgY3JlYXRlZCB2aWEgZW1haWwsIHRoZSB3ZWIgcG9ydGFsLCBvciB0aGUgYXBpLgojLS0tCm5vdGVzOiB8CiAgV29yZHQgbmFhciBlZW4gbWVkZXdlcmtlciB2ZXJ6b25kZW4gd2FubmVlciBlZW4gbmlldXcgdGlja2V0IGlzIGFhbmdlbWFha3QgaW4gaGV0IHN5c3RlZW0uIERpdCBnZWxkdCB2b29yIHRpY2tldHMgZ2VtYWFrdCB2aWEgZS1tYWlsLCBoZXQgd2VicG9ydGFhbCBvZiB2aWEgZGUgYXBpLgpzdWJqZWN0OiB8CiAgTmlldXcgVGlja2V0IE1lbGRpbmcKYm9keTogfAogIDxoMj5IaSAle3JlY2lwaWVudC5uYW1lfSw8L2gyPgogIE5ldyB0aWNrZXQgIyV7dGlja2V0Lm51bWJlcn0gY3JlYXRlZAogIDxicj4KICA8YnI+CiAgPHRhYmxlPgogIDx0Ym9keT4KICA8dHI+CiAgICAgIDx0ZD4KICAgICAgICAgIDxzdHJvbmc+RnJvbTwvc3Ryb25nPjoKICAgICAgPC90ZD4KICAgICAgPHRkPgogICAgICAgICAgJXt0aWNrZXQubmFtZX0gJmx0OyV7dGlja2V0LmVtYWlsfSZndDsKICAgICAgPC90ZD4KICA8L3RyPgogIDx0cj4KICAgICAgPHRkPgogICAgICAgICAgPHN0cm9uZz5EZXBhcnRtZW50PC9zdHJvbmc+OgogICAgICA8L3RkPgogICAgICA8dGQ+CiAgICAgICAgICAle3RpY2tldC5kZXB0Lm5hbWV9CiAgICAgIDwvdGQ+CiAgPC90cj4KICA8L3Rib2R5PgogIDwvdGFibGU+CiAgPGJyPgogICV7bWVzc2FnZX0KICA8YnI+CiAgPGJyPgogIDxocj4KICA8ZGl2PlRvIHZpZXcgb3IgcmVzcG9uZCB0byB0aGUgdGlja2V0LCBwbGVhc2UgPGEKICBocmVmPSIle3RpY2tldC5zdGFmZl9saW5rfSI+bG9naW48L2E+IHRvIHRoZSBzdXBwb3J0IHRpY2tldCBzeXN0ZW08L2Rpdj4KICA8ZW0gc3R5bGU9ImZvbnQtc2l6ZTogc21hbGwiPllvdXIgZnJpZW5kbHkgQ3VzdG9tZXIgU3VwcG9ydCBTeXN0ZW08L2VtPgogIDxicj4KICA8YSBocmVmPSJodHRwczovL29zdGlja2V0LmNvbS8iPjxpbWcgd2lkdGg9IjEyNiIgaGVpZ2h0PSIxOSIKICAgICAgc3R5bGU9IndpZHRoOiAxMjZweDsgIiBhbHQ9IlBvd2VyZWQgQnkgb3NUaWNrZXQiCiAgICAgIHNyYz0iY2lkOmI1Njk0NGNiNDcyMmNjNWNkYTlkMWUyM2EzZWE3ZmJjIi8+PC9hPgotLS0KI0VtYWlsIHRlbXBsYXRlOiB0cmFuc2Zlci5hbGVydC55YW1sCiNTZW50IHRvIHN0YWZmIG1lbWJlcnMgd2hlbiBhIHRpY2tldCBpcyBhc3NpZ25lZCB0byB0aGVtLiBUaWNrZXRzIGNhbiBiZQojYXNzaWduZWQgYXV0b21hdGljYWxseSBieSB0aGUgc3lzdGVtIG9yIG1hbnVhbGx5IGJ5IGFub3RoZXIgc3RhZmYgbWVtYmVyLgojVXNlICV7YXNzaWduZXJ9IHRvIGRpc3Rpbmd1aXNoIHdobyBtYWRlIHRoZSBhc3NpZ25tZW50LgojLS0tCm5vdGVzOiB8CiAgU2VudCB0byBhZ2VudHMgd2hlbiBhIHRpY2tldCBpcyB0cmFuc2ZlcmVkIHRvIGEgZGVwYXJ0bWVudCB0byB3aGljaAogIHRoZXkgYXJlIGEgbWVtYmVyLgpzdWJqZWN0OiB8CiAgVGlja2V0ICMle3RpY2tldC5udW1iZXJ9IG92ZXJkcmFnZW4gLSAle3RpY2tldC5kZXB0Lm5hbWV9CmJvZHk6IHwKICA8aDM+SGkgJXtyZWNpcGllbnQubmFtZX0sPC9oMz4KICBUaWNrZXQgPGEgaHJlZj0iJXt0aWNrZXQuc3RhZmZfbGlua30iPiMle3RpY2tldC5udW1iZXJ9PC9hPiBoYXMgYmVlbgogIHRyYW5zZmVycmVkIHRvIHRoZSAle3RpY2tldC5kZXB0Lm5hbWV9IGRlcGFydG1lbnQgYnkKICA8c3Ryb25nPiV7c3RhZmYubmFtZS5zaG9ydH08L3N0cm9uZz4KICA8YnI+CiAgPGJyPgogIDxibG9ja3F1b3RlPgogICAgICAle2NvbW1lbnRzfQogIDwvYmxvY2txdW90ZT4KICA8aHI+CiAgPGRpdj5UbyB2aWV3IG9yIHJlc3BvbmQgdG8gdGhlIHRpY2tldCwgcGxlYXNlIDxhCiAgaHJlZj0iJXt0aWNrZXQuc3RhZmZfbGlua30iPmxvZ2luPC9hPiB0byB0aGUgc3VwcG9ydCB0aWNrZXQgc3lzdGVtLgogIDwvZGl2PgogIDxlbSBzdHlsZT0iZm9udC1zaXplOiBzbWFsbDsgIj5Zb3VyIGZyaWVuZGx5IEN1c3RvbWVyIFN1cHBvcnQKICBTeXN0ZW08L2VtPgogIDxicj4KICA8YSBocmVmPSJodHRwczovL29zdGlja2V0LmNvbS8iPjxpbWcgd2lkdGg9IjEyNiIgaGVpZ2h0PSIxOSIKICAgICAgYWx0PSJQb3dlcmVkIEJ5IG9zVGlja2V0IiBzdHlsZT0id2lkdGg6IDEyNnB4OyIKICAgICAgc3JjPSJjaWQ6YjU2OTQ0Y2I0NzIyY2M1Y2RhOWQxZTIzYTNlYTdmYmMiLz48L2E+Ci0tLQojRW1haWwgdGVtcGxhdGU6IG1lc3NhZ2UuYWxlcnQueWFtbAojU2VudCB0byBzdGFmZiBtZW1iZXJzIHdoZW4gYSBuZXcgbWVzc2FnZSBpcyBwb3N0ZWQgYnkgYSB1c2VyIHRvIGEgdGlja2V0LgojVGhpcyBjYW4gb2NjdXIgaWYgdGhlIHVzZXJzIHJlc3BvbmRzIHRvIGFuIGVtYWlsIGZyb20gdGhlIHN5c3RlbSBvciB2aXNpdHMKI3RoZSBjdXN0b21lciB3ZWIgcG9ydGFsIGFuZCBwb3N0cyBhIG5ldyBtZXNzYWdlIHRoZXJlLgojLS0tCm5vdGVzOiB8CiAgV29yZHQgbmFhciBtZWRld2Vya2VycyB2ZXJ6b25kZW4gd2FubmVlciBkb29yIGVlbiBnZWJydWlrZXIgZWVuIG5pZXV3IGJlcmljaHQgaXMgZ2VwbGFhdHN0IGluIGVlbiB0aWNrZXQuIERpdCBrYW4gZ2ViZXVyZW4gYWxzIGRlIGdlYnJ1aWtlciBhbnR3b29yZHQgb3AgZWVuIHN5c3RlZW0gZS1tYWlsIG9mIHZpYSBoZXQga2xhbnRlbnBvcnRhYWwgZWVuIG5pZXV3IGJlcmljaHQgaGVlZnQgZ2VwbGFhdHN0LgpzdWJqZWN0OiB8CiAgTWVsZGluZyB2YW4gbmlldXcgYmVyaWNodApib2R5OiB8CiAgPGgzPjxzdHJvbmc+SGkgJXtyZWNpcGllbnQubmFtZX0sPC9zdHJvbmc+PC9oMz4KICBOZXcgbWVzc2FnZSBhcHBlbmRlZCB0byB0aWNrZXQgPGEKICBocmVmPSIle3RpY2tldC5zdGFmZl9saW5rfSI+IyV7dGlja2V0Lm51bWJlcn08L2E+CiAgPGJyPgogIDxicj4KICA8dGFibGU+CiAgPHRib2R5PgogIDx0cj4KICAgICAgPHRkPgogICAgICAgICAgIDxzdHJvbmc+RnJvbTwvc3Ryb25nPjoKICAgICAgPC90ZD4KICAgICAgPHRkPgogICAgICAgICAgICV7cG9zdGVyLm5hbWV9ICZsdDsle3RpY2tldC5lbWFpbH0mZ3Q7CiAgICAgIDwvdGQ+CiAgPC90cj4KICA8dHI+CiAgICAgIDx0ZD4KICAgICAgICAgICA8c3Ryb25nPkRlcGFydG1lbnQ8L3N0cm9uZz46CiAgICAgIDwvdGQ+CiAgICAgIDx0ZD4KICAgICAgICAgICAle3RpY2tldC5kZXB0Lm5hbWV9CiAgICAgIDwvdGQ+CiAgPC90cj4KICA8L3Rib2R5PgogIDwvdGFibGU+CiAgPGJyPgogICV7bWVzc2FnZX0KICA8YnI+CiAgPGJyPgogIDxocj4KICA8ZGl2PlRvIHZpZXcgb3IgcmVzcG9uZCB0byB0aGUgdGlja2V0LCBwbGVhc2UgPGEKICBocmVmPSIle3RpY2tldC5zdGFmZl9saW5rfSI+PHNwYW4gc3R5bGU9ImNvbG9yOiByZ2IoODQsIDE0MSwgMjEyKTsiCiAgPmxvZ2luPC9zcGFuPjwvYT4gdG8gdGhlIHN1cHBvcnQgdGlja2V0IHN5c3RlbTwvZGl2PgogIDxlbSBzdHlsZT0iY29sb3I6IHJnYigxMjcsMTI3LDEyNyk7IGZvbnQtc2l6ZTogc21hbGw7ICI+WW91ciBmcmllbmRseQogIEN1c3RvbWVyIFN1cHBvcnQgU3lzdGVtPC9lbT48YnI+CiAgPGltZyBzcmM9ImNpZDpiNTY5NDRjYjQ3MjJjYzVjZGE5ZDFlMjNhM2VhN2ZiYyIKICBhbHQ9IlBvd2VyZWQgYnkgb3NUaWNrZXQiIHdpZHRoPSIxMjYiIGhlaWdodD0iMTkiIHN0eWxlPSJ3aWR0aDogMTI2cHg7Ij4KLS0tCiNFbWFpbCB0ZW1wbGF0ZTogdGlja2V0Lm5vdGljZS55YW1sCiNTZW50IHRvIGEgdXNlciB3aGVuIGEgc3RhZmYgbWVtYmVyIGNyZWF0ZXMgYSB0aWNrZXQgb24gdGhlIHVzZXIncyBiZWhhbGYuCiNUaGlzIGlzIG1vc3QgY29tbW9ubHkgcGVyZm9ybWVkIHdoZW4gdXNlcidzIGNhbGwgaW4gb24gdGhlIHBob25lLgojLS0tCm5vdGVzOiB8CiAgV29yZHQgbmFhciBlZW4gZ2VicnVpa2VyIHZlcnpvbmRlbiB3YW5uZWVyIGVlbiBtZWRld2Vya2VyIGVlbiB0aWNrZXQgbmFtZW5zIGRlIGdlYnJ1aWtlciBjcmXDq2VydC4gRGl0IGdlYmV1cmQgbWVlc3RhbCB3YW5uZWVyIGVlbiBnZWJydWlrZXIgZWVuIG1lbGRpbmcgZG9ldCB2aWEgZGUgdGVsZWZvb24uCnN1YmplY3Q6IHwKICAle3RpY2tldC5zdWJqZWN0fSBbIyV7dGlja2V0Lm51bWJlcn1dCmJvZHk6IHwKICA8aDM+PHN0cm9uZz5EZWFyICV7cmVjaXBpZW50Lm5hbWUuZmlyc3R9LDwvc3Ryb25nPjwvaDM+CiAgT3VyIGN1c3RvbWVyIGNhcmUgdGVhbSBoYXMgY3JlYXRlZCBhIHRpY2tldCwgPGEKICBocmVmPSIle3JlY2lwaWVudC50aWNrZXRfbGlua30iPiMle3RpY2tldC5udW1iZXJ9PC9hPiBvbiB5b3VyIGJlaGFsZiwgd2l0aAogIHRoZSBmb2xsb3dpbmcgZGV0YWlscyBhbmQgc3VtbWFyeToKICA8YnI+CiAgPGJyPgogIFRvcGljOiA8c3Ryb25nPiV7dGlja2V0LnRvcGljLm5hbWV9PC9zdHJvbmc+CiAgPGJyPgogIFN1YmplY3Q6IDxzdHJvbmc+JXt0aWNrZXQuc3ViamVjdH08L3N0cm9uZz4KICA8YnI+CiAgPGJyPgogICV7bWVzc2FnZX0KICA8YnI+CiAgPGJyPgogICV7cmVzcG9uc2V9CiAgPGJyPgogIDxicj4KICBJZiBuZWVkIGJlLCBhIHJlcHJlc2VudGF0aXZlIHdpbGwgZm9sbG93LXVwIHdpdGggeW91IGFzIHNvb24gYXMKICBwb3NzaWJsZS4gWW91IGNhbiBhbHNvIDxhIGhyZWY9IiV7cmVjaXBpZW50LnRpY2tldF9saW5rfSI+dmlldyB0aGlzCiAgdGlja2V0J3MgcHJvZ3Jlc3Mgb25saW5lPC9hPi4KICA8YnI+CiAgPGJyPgogIDxkaXYgc3R5bGU9ImNvbG9yOiByZ2IoMTI3LCAxMjcsIDEyNyk7Ij4KICBZb3VyICV7Y29tcGFueS5uYW1lfSBUZWFtLDxicj4KICAle3NpZ25hdHVyZX08L2Rpdj4KICA8aHI+CiAgPGRpdiBzdHlsZT0iY29sb3I6IHJnYigxMjcsIDEyNywgMTI3KTsgZm9udC1zaXplOiBzbWFsbDsgIj48ZW0+SWYgeW91CiAgd2lzaCB0byBwcm92aWRlIGFkZGl0aW9uYWwgY29tbWVudHMgb3IgaW5mb3JtYXRpb24gcmVnYXJkaW5nIHRoZSBpc3N1ZSwKICBwbGVhc2UgcmVwbHkgdG8gdGhpcyBlbWFpbCBvciA8YSBocmVmPSIle3JlY2lwaWVudC50aWNrZXRfbGlua30iPjxzcGFuCiAgc3R5bGU9ImNvbG9yOiByZ2IoODQsIDE0MSwgMjEyKTsiID5sb2dpbiB0byB5b3VyIGFjY291bnQ8L3NwYW4+PC9hPiBmb3IKICBhIGNvbXBsZXRlIGFyY2hpdmUgb2YgeW91ciBzdXBwb3J0IHJlcXVlc3RzLjwvZW0+PC9kaXY+Ci0tLQojRW1haWwgdGVtcGxhdGU6IHRpY2tldC5yZXBseS55YW1sCiNTZW50IHRvIHVzZXJzIHdoZW4gYSBzdGFmZiBtZW1iZXJzIG1ha2VzIGEgcmVwbHkgdG8gdGhlaXIgdGlja2V0LiBSZXBsaWVzCiNhcmUgb25seSBnZW5lcmF0ZWQgYnkgc3RhZmYgbWVtYmVycy4KIy0tLQpub3RlczogfAogIE5hYXIgZ2VicnVpa2VycyB2ZXJ6b25kZW4gd2FubmVlciBlZW4gbWVkZXdlcmtlciBlZW4gYW50d29vcmQgZ2VlZnQgb3AgaHVuIHRpY2tldC4gQW50d29vcmRlbiB3b3JkZW4gYWxsZWVuIGdlZ2VuZXJlZXJkIGRvb3IgbWVkZXdlcmtlcnMuCnN1YmplY3Q6IHwKICBSZTogJXt0aWNrZXQuc3ViamVjdH0KYm9keTogfAogIDxoMz48c3Ryb25nPkRlYXIgJXtyZWNpcGllbnQubmFtZS5maXJzdH0sPC9zdHJvbmc+PC9oMz4KICAle3Jlc3BvbnNlfQogIDxicj4KICA8YnI+CiAgPGRpdiBzdHlsZT0iY29sb3I6IHJnYigxMjcsIDEyNywgMTI3KTsiPgogIFlvdXIgJXtjb21wYW55Lm5hbWV9IFRlYW0sPGJyPgogICV7c2lnbmF0dXJlfQogIDwvZGl2PgogIDxocj4KICA8ZGl2IHN0eWxlPSJjb2xvcjogcmdiKDEyNywgMTI3LCAxMjcpOyBmb250LXNpemU6IHNtYWxsOyB0ZXh0LWFsaWduOiBjZW50ZXI7IgogID48ZW0+V2UgaG9wZSB0aGlzIHJlc3BvbnNlIGhhcyBzdWZmaWNpZW50bHkgYW5zd2VyZWQgeW91ciBxdWVzdGlvbnMuIElmCiAgbm90LCBwbGVhc2UgZG8gbm90IHNlbmQgYW5vdGhlciBlbWFpbC4gSW5zdGVhZCwgcmVwbHkgdG8gdGhpcyBlbWFpbCBvcgogIDxhIGhyZWY9IiV7cmVjaXBpZW50LnRpY2tldF9saW5rfSIgc3R5bGU9ImNvbG9yOiByZ2IoODQsIDE0MSwgMjEyKTsiID5sb2dpbgogIHRvIHlvdXIgYWNjb3VudDwvYT4gZm9yIGEgY29tcGxldGUgYXJjaGl2ZSBvZiBhbGwgeW91ciBzdXBwb3J0IHJlcXVlc3RzCiAgYW5kIHJlc3BvbnNlcy48L2VtPjwvZGl2PgotLS0KI0VtYWlsIHRlbXBsYXRlOiBhc3NpZ25lZC5hbGVydC55YW1sCiNTZW50IHRvIHN0YWZmIG1lbWJlcnMgd2hlbiBhIHRpY2tldCBpcyBhc3NpZ25lZCB0byB0aGVtLiBUaWNrZXRzIGNhbiBiZQojYXNzaWduZWQgYXV0b21hdGljYWxseSBieSB0aGUgc3lzdGVtIG9yIG1hbnVhbGx5IGJ5IGFub3RoZXIgc3RhZmYgbWVtYmVyLgojVXNlICV7YXNzaWduZXJ9IHRvIGRpc3Rpbmd1aXNoIHdobyBtYWRlIHRoZSBhc3NpZ25tZW50LgojLS0tCm5vdGVzOiB8CiAgVmVyem9uZGVuIG5hYXIgbWVkZXdlcmtlcnMgd2FubmVlciBlZW4gdGlja2V0IGFhbiBoZW4gaXMgdG9lZ2V3ZXplbi4gVGlja2V0cyBrdW5uZW4gYXV0b21hdGlzY2ggd29yZGVuIHRvZWdld2V6ZW4gZG9vciBoZXQgc3lzdGVlbSBvZiBoYW5kbWF0aWcgZG9vciBlZW4gYW5kZXJlIG1lZGV3ZXJrZXIuIEdlYnJ1aWsgJXthc3NpZ25lcn0gb20gdGUgb25kZXJzY2hlaWRlbiB3aWUgZGUgdG9ld2lqemluZyBoZWVmdCBnZW1hYWt0LgpzdWJqZWN0OiB8CiAgVGlja2V0IGlzIGFhbiB1IHRvZWdld2V6ZW4KYm9keTogfAogIDxoMz48c3Ryb25nPkhvaSAle2Fzc2lnbmVlLm5hbWUuZmlyc3R9LDwvc3Ryb25nPjwvaDM+IFRpY2tldCA8YSBocmVmPSIle3RpY2tldC5zdGFmZl9saW5rfSI+ICMle3RpY2tldC5udW1iZXJ9PC9hPiBpcyBhYW4gdSB0b2VnZXdlemVuIGRvb3IgJXthc3NpZ25lci5uYW1lLnNob3J0fSA8YnI+PGJyPjx0YWJsZT48dGJvZHk+PHRyPjx0ZD48c3Ryb25nPlZhbjwvc3Ryb25nPjo8L3RkPiA8dGQ+JXt0aWNrZXQubmFtZX0gJmx0OyAle3RpY2tldC5lbWFpbH0gJmd0OzwvdGQ+PC90cj4gPHRyPjx0ZD48c3Ryb25nPk9uZGVyd2VycDwvc3Ryb25nPjo8L3RkPiA8dGQ+JXt0aWNrZXQuc3ViamVjdH08L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPiA8YnI+JXtjb21tZW50c30gPGJyPjxicj48aHI+PGRpdj5PbSBoZXQgdGlja2V0IHRlIHppZW4gb2Ygb20gZXIgb3AgdGUgYW50d29vcmRlbiwga3VudCB1IDxhIGhyZWY9IiV7dGlja2V0LnN0YWZmX2xpbmt9Ij4gPHNwYW4gc3R5bGU9ImNvbG9yOiByZ2IoODQsIDE0MSwgMjEyKTsiID4gaW5sb2dnZW48L3NwYW4+PC9hPiBpbiBoZXQgU3VwcG9ydCBUaWNrZXQgc3lzdGVlbTwvZGl2PiA8ZW0gc3R5bGU9ImZvbnQtc2l6ZTogc21hbGw7Ij4gVXcgdnJpZW5kZWxpamtlIFN1cHBvcnQgVGlja2V0IHN5c3RlZW08L2VtPiA8YnI+PGltZyBzcmM9ImNpZDpiNTY5NDRjYjQ3MjJjYzVjZGE5ZDFlMjNhM2VhN2ZiYyIgYWx0PSJQb3dlcmVkIGJ5IG9zVGlja2V0IiB3aWR0aD0iMTI2IiBoZWlnaHQ9IjE5IiBzdHlsZT0id2lkdGg6IDEyNnB4OyI+Ci0tLQojRW1haWwgdGVtcGxhdGU6IG1lc3NhZ2UuYXV0b3Jlc3AueWFtbAojU2VudCB0byBhIHVzZXIgd2hlbiB0aGUgdXNlciBwb3N0cyBhIG5ldyBtZXNzYWdlIHRvIGEgdGlja2V0LiBUaGlzIGNhbgojaGFwcGVuIGlmIHRoZSB1c2VycyByZXNwb25kcyB0byBhbiBlbWFpbCBmcm9tIHRoZSBzeXN0ZW0gb3IgdmlzaXRzIHRoZQojY3VzdG9tZXIgd2ViIHBvcnRhbCBhbmQgcG9zdHMgYSBuZXcgbWVzc2FnZSB0aGVyZS4KIy0tLQpub3RlczogfAogIFdvcmR0IG5hYXIgZWVuIGdlYnJ1aWtlciB2ZXJ6b25kZW4gd2FubmVlciBkZSBnZWJydWlrZXIgZWVuIG5pZXV3IGJlcmljaHQgaW4gZWVuIHRpY2tldCBoZWVmdCBnZXBsYWF0c3QuIERpdCBrYW4gZ2ViZXVyZW4gYWxzIGRlIGdlYnJ1aWtlciBhbnR3b29yZHQgb3AgZWVuIHN5c3RlZW0gZS1tYWlsIG9mIHZpYSBoZXQga2xhbnRlbnBvcnRhYWwgZWVuIG5pZXV3IGJlcmljaHQgaGVlZnQgcGxhYXRzdC4Kc3ViamVjdDogfAogIEJldmVzdGlnaW5nIHZhbiBiZXJpY2h0CmJvZHk6IHwKICA8aDM+PHN0cm9uZz5CZXN0ZSAle3JlY2lwaWVudC5uYW1lLmZpcnN0fSw8L3N0cm9uZz48L2gzPgogIFV3IHJlYWN0aWUgb3Agc3VwcG9ydCB2ZXJ6b2VrIDxhCiAgaHJlZj0iJXtyZWNpcGllbnQudGlja2V0X2xpbmt9Ij4jJXt0aWNrZXQubnVtYmVyfTwvYT4gaXMgZ2Vub3RlZXJkLgogIDxicj4KICA8YnI+CiAgPGRpdiBzdHlsZT0iY29sb3I6IHJnYigxMjcsIDEyNywgMTI3KTsgIj4KICBVdyAle2NvbXBhbnkubmFtZX0gVGVhbSw8YnI+CiAgJXtzaWduYXR1cmV9CiAgPC9kaXY+CiAgPGhyPgogIDxkaXYgc3R5bGU9ImNvbG9yOiByZ2IoMTI3LCAxMjcsIDEyNyk7IGZvbnQtc2l6ZTogc21hbGw7IHRleHQtYWxpZ246CiAgY2VudGVyIj48ZW0+VSBrdW50IGRlIHZvb3J0Z2FuZyB2YW4gdXcgc3VwcG9ydCB2ZXJ6b2VrIDxhCiAgaHJlZj0iJXtyZWNpcGllbnQudGlja2V0X2xpbmt9Ij5oaWVyIG9ubGluZSB2b2xnZW48L2E+PC9lbT4KICA8L2Rpdj4KLS0tCiNFbWFpbCB0ZW1wbGF0ZTogbm90ZS5hbGVydC55YW1sCiNTZW50IHRvIHN0YWZmIG1lbWJlcnMgd2hlbiBhIG5ldyBpbnRlcm5hbCBub3RlIGlzIGFwcGVuZGVkIHRvIGEgdGlja2V0LgojSW50ZXJuYWwgbm90ZXMgY2FuIG9ubHkgYmUgYWRkZWQgYnkgc3RhZmYgbWVtYmVycy4KIy0tLQpub3RlczogfAogIEJlcmljaHRnZXZpbmcgbmFhciBtZWRld2Vya2Vycywgd2FubmVlciBlciBlZW4gaW50ZXJuZSBhY3Rpdml0ZWl0IGhlZWZ0IHBsYWF0c2dldm9uZGVuLCB6b2FscyBlZW4gaW50ZXJuZSBub3RpdGllIG9mIHdhbm5lZXIgZWVuIG1lZGV3ZXJrZXIgZWVuIHJlYWN0aWUgdG9lZ2V2b2VnZCBoZWVmdCBhYW4gZWVuIHRpY2tldC4Kc3ViamVjdDogfAogIE5pZXV3ZSBpbnRlcm5lIGFjdGl2aXRlaXQgbWVsZGluZwpib2R5OiB8CiAgPGgzPjxzdHJvbmc+SGkgJXtyZWNpcGllbnQubmFtZX0sPC9zdHJvbmc+PC9oMz4KICBBbiBhZ2VudCBoYXMgbG9nZ2VkIGFjdGl2aXR5IG9uIHRpY2tldCA8YQogIGhyZWY9IiV7dGlja2V0LnN0YWZmX2xpbmt9Ij4jJXt0aWNrZXQubnVtYmVyfTwvYT4KICA8YnI+CiAgPGJyPgogIDx0YWJsZT4KICA8dGJvZHk+CiAgPHRyPgogICAgICA8dGQ+CiAgICAgICAgICA8c3Ryb25nPkZyb208L3N0cm9uZz46CiAgICAgIDwvdGQ+CiAgICAgIDx0ZD4KICAgICAgICAgICV7bm90ZS5wb3N0ZXJ9CiAgICAgIDwvdGQ+CiAgPC90cj4KICA8dHI+CiAgICAgIDx0ZD4KICAgICAgICAgIDxzdHJvbmc+VGl0bGU8L3N0cm9uZz46CiAgICAgIDwvdGQ+CiAgICAgIDx0ZD4KICAgICAgICAgICV7bm90ZS50aXRsZX0KICAgICAgPC90ZD4KICA8L3RyPgogIDwvdGJvZHk+CiAgPC90YWJsZT4KICA8YnI+CiAgJXtub3RlLm1lc3NhZ2V9CiAgPGJyPgogIDxicj4KICA8aHI+CiAgVG8gdmlldy9yZXNwb25kIHRvIHRoZSB0aWNrZXQsIHBsZWFzZSA8YQogIGhyZWY9IiV7dGlja2V0LnN0YWZmX2xpbmt9Ij5sb2dpbjwvYT4gdG8gdGhlIHN1cHBvcnQgdGlja2V0IHN5c3RlbQogIDxicj4KICA8YnI+CiAgPGVtIHN0eWxlPSJmb250LXNpemU6IHNtYWxsOyAiPllvdXIgZnJpZW5kbHkgQ3VzdG9tZXIgU3VwcG9ydAogIFN5c3RlbTwvZW0+CiAgPGJyPgogIDxpbWcgc3JjPSJjaWQ6YjU2OTQ0Y2I0NzIyY2M1Y2RhOWQxZTIzYTNlYTdmYmMiCiAgYWx0PSJQb3dlcmVkIGJ5IG9zVGlja2V0IiB3aWR0aD0iMTI2IiBoZWlnaHQ9IjE5IiBzdHlsZT0id2lkdGg6IDEyNnB4OyI+Ci0tLQojRW1haWwgdGVtcGxhdGU6IHRhc2suYWN0aXZpdHkuYWxlcnQueWFtbAojU2VudCB0byBhZ2VudHMgd2hlbiBhIG5ldyBub3RlL21lc3NhZ2UgaXMgcG9zdGVkIHRvIGEgdGFzay4KI1RoaXMgY2FuIG9jY3VyIGlmIGEgY29sbGFib3JhdG9yIG9yIGFuIGFnZW50IHJlc3BvbmRzIHRvIGFuIGVtYWlsIGZyb20gdGhlCiNzeXN0ZW0gb3IgdmlzaXRzIHRoZSB3ZWIgcG9ydGFsIGFuZCBwb3N0cyBhIG5ldyBtZXNzYWdlIHRoZXJlLgojLS0tCm5vdGVzOiB8CiAgVmVyc3R1dXJkIG5hYXIgYWdlbnRlbiB3YW5uZWVyIGVlbiBuaWV1dyBiZXJpY2h0L25vdGEgYWFuIGVlbiB0YWFrIHRvZWdldm9lZ2Qgd29yZHQuIERpdCBrYW4gZ2ViZXVyZW4gYWxzIGVlbiBtZWRld2Vya2VyIG9mIGVlbiBhZ2VudCByZWFnZWVydCBvcCBlZW4gZW1haWwgdmFuIGhldCBzeXN0ZWVtIG9mIGhldCB3ZWJwb3J0YWFsIGJlem9la3QgZW4gZGFhciBlZW4gbmlldXdlIGJvb2RzY2hhcCB0b2V2b2VndC4Kc3ViamVjdDogfAogIFRhYWsgQWN0aXZpdGVpdCBbIyV7dGFzay5udW1iZXJ9XSAtICV7YWN0aXZpdHkudGl0bGV9CmJvZHk6IHwKICA8aDM+PHN0cm9uZz5CZXN0ZSAle3JlY2lwaWVudC5uYW1lfSw8L3N0cm9uZz48L2gzPgogIFRhYWsgPGEgaHJlZj0iJXt0YXNrLnN0YWZmX2xpbmt9Ij4jJXt0YXNrLm51bWJlcn08L2E+IGdlw7xwZGF0ZWQ6ICV7YWN0aXZpdHkuZGVzY3JpcHRpb259CiAgPGJyPgogIDxicj4KICAle21lc3NhZ2V9CiAgPGJyPgogIDxicj4KICA8aHI+CiAgPGRpdj5PbSBkZXplIHRhYWsgdGUgYmVraWprZW4gb2Ygb20gZXJvcCB0ZSByZWFnZXJlbiwgPGEKICBocmVmPSIle3Rhc2suc3RhZmZfbGlua30iPjxzcGFuIHN0eWxlPSJjb2xvcjogcmdiKDg0LCAxNDEsIDIxMik7IgogID5sb2cgaW48L3NwYW4+PC9hPiB0b3QgaGV0IHRpY2tldHN5c3RlZW08L2Rpdj4KICA8ZW0gc3R5bGU9ImNvbG9yOiByZ2IoMTI3LDEyNywxMjcpOyBmb250LXNpemU6IHNtYWxsOyAiPlV3IHZyaWVuZGVsaWprZSBIZWxwZGVzayBUZWFtPC9lbT48YnI+CiAgPGltZyBzcmM9ImNpZDpiNTY5NDRjYjQ3MjJjYzVjZGE5ZDFlMjNhM2VhN2ZiYyIKICBhbHQ9Ik1vZ2VsaWprIGdlbWFha3QgZG9vciBvc1RpY2tldCIgd2lkdGg9IjEyNiIgaGVpZ2h0PSIxOSIgc3R5bGU9IndpZHRoOiAxMjZweDsiPgotLS0KI0VtYWlsIHRlbXBsYXRlOiB0YXNrLmFjdGl2aXR5Lm5vdGljZS55YW1sCiNOb3RpY2Ugc2VudCB0byBjb2xsYWJvcmF0b3JzIG9uIHRhc2sgYWN0aXZpdHkgZS5nIHJlcGx5IG9yIG1lc3NhZ2UKIy0tLQpub3RlczogfAogIEtlbm5pc2dldmluZyBkaWUgbmFhciBtZWRld2Vya2VycyBnZXN0dXVyZCB3b3JkdCBiaWogdGFha2FjdGl2aXRlaXQsIGJpanYuIGVlbiByZWFjdGllIG9mIGJlcmljaHQuCnN1YmplY3Q6IHwKICBSZTogJXt0YXNrLnRpdGxlfSBbIyV7dGFzay5udW1iZXJ9XQpib2R5OiB8CiAgPGgzPjxzdHJvbmc+RGVhciAle3JlY2lwaWVudC5uYW1lLmZpcnN0fSw8L3N0cm9uZz48L2gzPgogIDxkaXY+CiAgICAgIDxlbT4le3Bvc3Rlci5uYW1lfTwvZW0+IGp1c3QgbG9nZ2VkIGEgbWVzc2FnZSB0byBhIHRhc2sgaW4gd2hpY2ggeW91IHBhcnRpY2lwYXRlLgogIDwvZGl2PgogIDxicj4KICAle21lc3NhZ2V9CiAgPGJyPgogIDxicj4KICA8aHI+CiAgPGRpdiBzdHlsZT0iY29sb3I6IHJnYigxMjcsIDEyNywgMTI3KTsgZm9udC1zaXplOiBzbWFsbDsgdGV4dC1hbGlnbjogY2VudGVyOyI+CiAgPGVtPllvdSdyZSBnZXR0aW5nIHRoaXMgZW1haWwgYmVjYXVzZSB5b3UgYXJlIGEgY29sbGFib3JhdG9yIG9uIHRhc2sKICAjJXt0YXNrLm51bWJlcn0uIFRvIHBhcnRpY2lwYXRlLCBzaW1wbHkgcmVwbHkgdG8gdGhpcyBlbWFpbC48L2VtPgogIDwvZGl2PgotLS0KI0VtYWlsIHRlbXBsYXRlOiB0YXNrLmFzc2lnbm1lbnQuYWxlcnQueWFtbAojU2VudCB0byBhZ2VudHMgd2hlbiBhIHRhc2sgaXMgYXNzaWduZWQgdG8gdGhlbSBvciB0aGUgdGVhbSB0byB3aGljaAojdGhleSBiZWxvbmcuCiNVc2UgJXthc3NpZ25lcn0gdG8gZGlzdGluZ3Vpc2ggd2hvIG1hZGUgdGhlIGFzc2lnbm1lbnQuCiMtLS0Kbm90ZXM6IHwKICBTZW50IHRvIGFnZW50cyB3aGVuIGEgdGFzayBpcyBhc3NpZ25lZCB0byB0aGVtIG9yIHRoZSB0ZWFtIHRvIHdoaWNoCiAgdGhleSBiZWxvbmcuIFVzZSAle2Fzc2lnbmVyfSB0byBkaXN0aW5ndWlzaCB3aG8gbWFkZSB0aGUgYXNzaWdubWVudC4Kc3ViamVjdDogfAogIFRhYWsgYWFuIHUgdG9lZ2V3ZXplbgpib2R5OiB8CiAgPGgzPjxzdHJvbmc+SGFsbG8gJXthc3NpZ25lZS5uYW1lLmZpcnN0fSw8L3N0cm9uZz48L2gzPgogIFRhYWsgPGEgaHJlZj0iJXt0YXNrLnN0YWZmX2xpbmt9Ij4jJXt0YXNrLm51bWJlcn08L2E+IGlzIGFhbiBqb3UgdG9lZ2VrZW5kIGRvb3IgJXthc3NpZ25lci5uYW1lLnNob3J0fQogIDxicj4KICA8YnI+CiAgJXtjb21tZW50c30KICA8YnI+CiAgPGJyPgogIDxocj4KICA8ZGl2Pk9tIGRlIHRhYWsgdGUgemllbiwgb2YgZXIgb3AgdGUgcmVhZ2VyZW4sIDxhCiAgaHJlZj0iJXt0YXNrLnN0YWZmX2xpbmt9Ij48c3BhbiBzdHlsZT0iY29sb3I6IHJnYig4NCwgMTQxLCAyMTIpOyIKICA+bG9nIGluPC9zcGFuPjwvYT4gb3AgaGV0IFN1cHBvcnQgU3lzdGVlbTwvZGl2PgogIDxlbSBzdHlsZT0iZm9udC1zaXplOiBzbWFsbDsgIj5VdyBLbGFudGVuIFN1cHBvcnQKICBTeXN0ZW08L2VtPgogIDxicj4KICA8aW1nIHNyYz0iY2lkOmI1Njk0NGNiNDcyMmNjNWNkYTlkMWUyM2EzZWE3ZmJjIgogIGFsdD0iTWFha3QgZ2VicnVpayB2YW4gb3NUaWNrZXQiIHdpZHRoPSIxMjYiIGhlaWdodD0iMTkiIHN0eWxlPSJ3aWR0aDogMTI2cHg7Ij4KLS0tCiNFbWFpbCB0ZW1wbGF0ZTogdGFzay5vdmVyZHVlLmFsZXJ0LnlhbWwKI1NlbnQgdG8gYWdlbnRzIHdoZW4gYSB0YXNrcyB0cmFuc2l0aW9ucyB0byBvdmVyZHVlIGluIHRoZSBzeXN0ZW0uCiNPdmVyZHVlIHRhc2tzIG9jY3VyIGJhc2VkIG9uIHNldCBkdWUtZGF0ZS4KIy0tLQpub3RlczogfAogIFZlcnN0dXVyZCBuYWFyIGFnZW50ZW4gd2FubmVlciBlZW4gdGFhayB2ZXJ2YWx0IGluIGhldCBzeXN0ZWVtLgogIFZlcnZhbGxlbiB0YWtlbiBnZWJldXJlbiBvcCBiYXNpcyB2YW4gZGUgaW5nZXZ1bGRlIHZlcnZhbGRhZy4Kc3ViamVjdDogfAogIFZlcnZhbGxlbiBUYWFrIE1lbGRpbmcKYm9keTogfAogIDxoMz48c3Ryb25nPkhpICV7cmVjaXBpZW50Lm5hbWV9PC9zdHJvbmc+LDwvaDM+CiAgQSB0YXNrLCA8YSBocmVmPSIle3Rhc2suc3RhZmZfbGlua30iPiMle3Rhc2subnVtYmVyfTwvYT4gaXMKICBzZXJpb3VzbHkgb3ZlcmR1ZS4KICA8YnI+CiAgPGJyPgogIFdlIHNob3VsZCBhbGwgd29yayBoYXJkIHRvIGd1YXJhbnRlZSB0aGF0IGFsbCB0YXNrcyBhcmUgYmVpbmcKICBhZGRyZXNzZWQgaW4gYSB0aW1lbHkgbWFubmVyLgogIDxicj4KICA8YnI+CiAgU2lnbmVkLDxicj4KICAle3Rhc2suZGVwdC5tYW5hZ2VyLm5hbWV9CiAgPGhyPgogIDxkaXY+VG8gdmlldyBvciByZXNwb25kIHRvIHRoZSB0YXNrLCBwbGVhc2UgPGEKICBocmVmPSIle3Rhc2suc3RhZmZfbGlua30iPjxzcGFuIHN0eWxlPSJjb2xvcjogcmdiKDg0LCAxNDEsIDIxMik7IgogID5sb2dpbjwvc3Bhbj48L2E+IHRvIHRoZSBzdXBwb3J0IHN5c3RlbS4gWW91J3JlIHJlY2VpdmluZyB0aGlzCiAgbm90aWNlIGJlY2F1c2UgdGhlIHRhc2sgaXMgYXNzaWduZWQgZGlyZWN0bHkgdG8geW91IG9yIHRvIGEgdGVhbSBvcgogIGRlcGFydG1lbnQgb2Ygd2hpY2ggeW91J3JlIGEgbWVtYmVyLjwvZGl2PgogIDxlbSBzdHlsZT0iZm9udC1zaXplOiBzbWFsbCI+WW91ciBmcmllbmRseSA8c3BhbiBzdHlsZT0iZm9udC1zaXplOiBzbWFsbGVyIgogID4oYWx0aG91Z2ggd2l0aCBsaW1pdGVkIHBhdGllbmNlKTwvc3Bhbj4gQ3VzdG9tZXIgU3VwcG9ydAogIFN5c3RlbTwvZW0+PGJyPgogIDxpbWcgc3JjPSJjaWQ6YjU2OTQ0Y2I0NzIyY2M1Y2RhOWQxZTIzYTNlYTdmYmMiIGhlaWdodD0iMTkiCiAgICAgIGFsdD0iUG93ZXJlZCBieSBvc1RpY2tldCIgd2lkdGg9IjEyNiIgc3R5bGU9IndpZHRoOiAxMjZweDsiPgotLS0KI0VtYWlsIHRlbXBsYXRlOiB0aWNrZXQuYWN0aXZpdHkubm90aWNlLnlhbWwKI05vdGljZSBzZW50IHRvIGNvbGxhYm9yYXRvcnMgb24gdGlja2V0IGFjdGl2aXR5IGUuZyByZXBseSBvciBtZXNzYWdlCiMtLS0Kbm90ZXM6IHwKICBLZW5uaXNnZXZpbmcgZGllIG5hYXIgZGVlbG5lbWVycyBnZXN0dXVyZCB3b3JkdCBiaWogdGlja2V0IGFjdGl2aXRlaXQsIGJpanYuIGVlbiByZWFjdGllIG9mIGJlcmljaHQuCnN1YmplY3Q6IHwKICBSZTogJXt0aWNrZXQuc3ViamVjdH0KYm9keTogfAogIDxoMz48c3Ryb25nPkJlc3RlICV7cmVjaXBpZW50Lm5hbWUuZmlyc3R9LDwvc3Ryb25nPjwvaDM+CiAgPGRpdj4KICAgICAgPGVtPiV7cG9zdGVyLm5hbWV9PC9lbT4gSGVlZnQgem9qdWlzdCBlZW4gYmVyaWNodCB0b2VnZXZvZWdkIGFhbiBlZW4gdGlja2V0IHdhYXIgdSBhYW4gZGVlbG5lZW10LgogIDwvZGl2PgogIDxicj4KICAle21lc3NhZ2V9CiAgPGJyPgogIDxicj4KICA8aHI+CiAgPGRpdiBzdHlsZT0iY29sb3I6IHJnYigxMjcsIDEyNywgMTI3KTsgZm9udC1zaXplOiBzbWFsbDsgdGV4dC1hbGlnbjogY2VudGVyOyI+CiAgPGVtPlUga3Jpamd0IGRlemUgZS1tYWlsIG9tZGF0IHUgZGVlbG5lZW10IGFhbiBlZW4gdGlja2V0IDxhIGhyZWY9IiV7cmVjaXBpZW50LnRpY2tldF9saW5rfSIgc3R5bGU9ImNvbG9yOiByZ2IoODQsIDE0MSwgMjEyKTsiCiAgPiMle3RpY2tldC5udW1iZXJ9PC9hPi4gIE9tIGRlZWwgdGUgbmVtZW4sIGt1bnQgdSBlZW52b3VkaWcgb3AgZGV6ZSBlLW1haWwgcmVhZ2VyZW4gb2YgPGEgaHJlZj0iJXtyZWNpcGllbnQudGlja2V0X2xpbmt9IiBzdHlsZT0iY29sb3I6IHJnYig4NCwgMTQxLCAyMTIpOyIKICA+a2xpayBoaWVyPC9hPiB2b29yIGVlbiBjb21wbGVldCBhcmNoaWVmIHZhbiBoZXQgdGlja2V0IG92ZXJ6aWNodC48L2VtPgogIDwvZGl2PgotLS0KI0VtYWlsIHRlbXBsYXRlOiB0aWNrZXQuYXV0b3JlcGx5LnlhbWwKI1NlbnQgdG8gYSB1c2VyIHdoZW4gYW4gYXV0b21hdGljIGNhbm5lZCByZXNwb25zZSBpcyBwb3N0ZWQgdG8gYSB0aWNrZXQKI3doZW4gaXQgaXMgY3JlYXRlZAojLS0tCm5vdGVzOiB8CiAgV29yZHQgbmFhciBlZW4gZ2VicnVpa2VyIHZlcnpvbmRlbiB3YW5uZWVyIGVlbiB2b29yYWYgZ2VkZWZpbmllZXJkZSByZWFjdGllIHdvcmR0IGdlcGxhYXRzdCBvcCBlZW4gdGlja2V0IHdhbm5lZXIgZGV6ZSB3b3JkdCBhYW5nZW1hYWt0LiBCZXNjaGlrYmFyZSB2YXJpYWJlbGVuIHZvb3IgdmVydmFuZ2luZzogJXt0aWNrZXQuKn0sICVyZXNwb25zZX0Kc3ViamVjdDogfAogIFJlOiAle3RpY2tldC5zdWJqZWN0fQpib2R5OiB8CiAgPGgzPjxzdHJvbmc+QmVzdGUgJXtyZWNpcGllbnQubmFtZS5maXJzdH0sPC9zdHJvbmc+PC9oMz4gCiAgRWVuIG9uZGVyc3RldW5pbmdzdmVyem9layBpcyBhYW5nZW1hYWt0IGVuIHRvZWdld2V6ZW4gYWFuIHRpY2tldCA8YQogIGhyZWY9IiV7cmVjaXBpZW50LnRpY2tldF9saW5rfSI+IyV7dGlja2V0Lm51bWJlcn08L2E+IG1ldCBoZXQgdm9sZ2VuZGUgYXV0b21hdGlzY2hlIGFudHdvb3JkLiAKICA8YnI+CiAgPGJyPgogIE9uZGVyd2VycDogPHN0cm9uZz4le3RpY2tldC50b3BpYy5uYW1lfTwvc3Ryb25nPiAKICA8YnI+CiAgT25kZXJ3ZXJwOiA8c3Ryb25nPiV7dGlja2V0LnN1YmplY3R9PC9zdHJvbmc+IAogIDxicj4KICA8YnI+JXtyZXNwb25zZX0KICA8YnI+CiAgPGJyPgogIDxkaXYgc3R5bGU9ImNvbG9yOiByZ2IoMTI3LCAxMjcsIDEyNyk7Ij5VdyAle2NvbXBhbnkubmFtZX0gVGVhbSwgPGJyPgogICV7c2lnbmF0dXJlfTwvZGl2PgogICA8aHI+CiAgPGRpdiBzdHlsZT0iY29sb3I6IHJnYigxMjcsIDEyNywgMTI3KTsgZm9udC1zaXplOiBzbWFsbDsiPjxlbT5XaWogaG9wZW4gZGF0IGRpdCBhbnR3b29yZCB1dyB2cmFnZW4gdm9sZG9lbmRlIGhlZWZ0IGJlYW50d29vcmQuICBJbmRpZW4gdSBhYW52dWxsZW5kZSBvcG1lcmtpbmdlbiBvZiBpbmZvcm1hdGllIHdlbnN0IHRlIGdldmVuLCByZWFnZWVyIGRhbiBhbHN0dWJsaWVmdCBvcCBkZXplIGUtbWFpbCBvZiA8YSBocmVmPSIle3JlY2lwaWVudC50aWNrZXRfbGlua30iPjxzcGFuCiAgc3R5bGU9ImNvbG9yOiByZ2IoODQsIDE0MSwgMjEyKTsiID5sb2cgaW4gb3AgdXcgYWNjb3VudDwvc3Bhbj48L2E+IHZvb3IgZWVuIHZvbGxlZGlnZSBhcmNoaWVmIHZhbiB1dyBvbmRlcnN0ZXVuaW5nc3ZlcnpvZWtlbi48L2VtPjwvZGl2PgotLS0KI0VtYWlsIHRlbXBsYXRlOiB0aWNrZXQuYXV0b3Jlc3AueWFtbAojU2VudCB0byBhIHVzZXIgd2hlbiBhIG5ldyB0aWNrZXQgaXMgY3JlYXRlZAojLS0tCm5vdGVzOiB8CiAgV29yZHQgbmFhciBlZW4gIGdlYnJ1aWtlciB2ZXJ6b25kZW4gd2FubmVlciBlZW4gbmlldXcgdGlja2V0IGlzIGFhbmdlbWFha3QKc3ViamVjdDogfAogIFN1cHBvcnQgdGlja2V0IGdlb3BlbmQgWyMle3RpY2tldC5udW1iZXJ9XQpib2R5OiB8CiAgPGgzPjxzdHJvbmc+QmVzdGUgJXtyZWNpcGllbnQubmFtZS5maXJzdH0sPC9zdHJvbmc+PC9oMz4KICA8cD4KICBFZW4gb25kZXJzdGV1bmluZ3N2ZXJ6b2VrIGlzIGFhbmdlbWFha3QgZW4gaGVlZnQgIyV7dGlja2V0Lm51bWJlcn0gdG9lZ2V3ZXplbiBnZWtyZWdlbi4KICBFZW4gbWVkZXdlcmtlciB6YWwgem8gc25lbCBtb2dlbGlqayBvcCB1dyB2ZXJ6b2VrIHJlYWdlcmVuLiBVIGt1bnQgCiAgPGEgaHJlZj0iJXtyZWNpcGllbnQudGlja2V0X2xpbmt9Ij5kZSB2b29ydGdhbmcgdmFuIGRpdCB0aWNrZXQgb25saW5lIHZvbGdlbjwvYT4uCiAgPC9wPgogIDxicj4KICA8ZGl2IHN0eWxlPSJjb2xvcjogcmdiKDEyNywgMTI3LCAxMjcpIj4KICBVdyAle2NvbXBhbnkubmFtZX0gVGVhbSwKICA8YnI+CiAgJXtzaWduYXR1cmV9CiAgPC9kaXY+CiAgPGhyPgogIDxkaXYgc3R5bGU9ImNvbG9yOiByZ2IoMTI3LCAxMjcsIDEyNyk7IGZvbnQtc2l6ZTogc21hbGw7ICI+PGVtPkluZGllbiB1IGFhbnZ1bGxlbmRlIG9wbWVya2luZ2VuIG9mIGluZm9ybWF0aWUgYmV0cmVmZmVuZGUgZGl0IG9uZGVyc3RldW5pbmdzdmVyem9layB3ZW5zdCB0ZSBnZXZlbiwgcmVhZ2VlciBkYW4gYWxzdHVibGllZnQgb3AgZGV6ZSBlLW1haWwgb2YgPGEgaHJlZj0iJXtyZWNpcGllbnQudGlja2V0X2xpbmt9Ij48c3BhbgogIHN0eWxlPSJjb2xvcjogcmdiKDg0LCAxNDEsIDIxMik7IiA+bG9nIGluIG9wIHV3IGFjY291bnQ8L3NwYW4+PC9hPiB2b29yIGVlbiB2b2xsZWRpZ2UgYXJjaGllZiB2YW4gdXcgb25kZXJzdGV1bmluZ3N2ZXJ6b2VrZW4uPC9lbT48L2Rpdj4KLS0tCiNFbWFpbCB0ZW1wbGF0ZTogdGlja2V0Lm92ZXJkdWUueWFtbAojU2VudCB0byBzdGFmZiBtZW1iZXJzIHdoZW4gYSB0aWNrZXQgdHJhbnNpdGlvbnMgdG8gb3ZlcmR1ZSBpbiB0aGUgc3lzdGVtLgojT3ZlcmR1ZSB0aWNrZXRzIG9jY3VyIGJhc2VkIG9uIHRoZSB0aWNrZXQncyBkdWUtZGF0ZSBhcyB3ZWxsIGFzIHRoZSBTTEEKI2RlZmluZWQgZm9yIHRoZSB0aWNrZXQuCiMtLS0Kbm90ZXM6IHwKICBXb3JkdCBuYWFyIGVlbiBtZWRld2Vya2VycyAgdmVyem9uZGVuIHdhbm5lZXIgZWVuIHRpY2tldCBpcyB2ZXJ2YWxsZW4gaW4gaGV0IHN5c3RlZW0uIFZlcnZhbGxlbiB0aWNrZXRzIG9udHN0YWFuIG9wIGJhc2lzIHZhbiBkZSB2ZXJ2YWxkYXR1bSB2YW4gaGV0IHRpY2tldCBvZiBkb29yIGRlIFNMQSBkaWUgZ2VkZWZpbmllw6tyZCBpcyB2b29yIGhldCB0aWNrZXQuCnN1YmplY3Q6IHwKICBWZXJ2YWxsZW4gVGlja2V0IE1lbGRpbmcKYm9keTogfAogIDxoMz48c3Ryb25nPkJlc3RlICV7cmVjaXBpZW50fTwvc3Ryb25nPiw8L2gzPiBFZW4gdGlja2V0LCA8YSBocmVmPSIle3RpY2tldC5zdGFmZl9saW5rfSI+ICMle3RpY2tldC5udW1iZXJ9PC9hPiBpcyB0ZSBsYWF0IGFmZ2VoYW5kZWxkLiA8YnI+PGJyPldpaiB6b3VkZW4gYWxsZW1hYWwgaGFyZCBtb2V0ZW4gd2Vya2VuIG9tIHRlIGdhcmFuZGVyZW4gZGF0IGFsbGUgdGlja2V0cyB0aWpkaWcgemlqbiBhZmdlaGFuZGVsZC4gPGJyPjxicj5PbmRlcnRla2VuZCwgPGJyPiV7dGlja2V0LmRlcHQubWFuYWdlci5uYW1lfSA8aHI+PGRpdj5PbSBoZXQgdGlja2V0IHRlIGJla2lqa2VuIG9mIG9tIGVyIG9wIHRlIHJlYWdlcmVuLCBrdW50IHUgPGEgaHJlZj0iJXt0aWNrZXQuc3RhZmZfbGlua30iPiA8c3BhbiBzdHlsZT0iY29sb3I6IHJnYig4NCwgMTQxLCAyMTIpOyIgPiBpbmxvZ2dlbjwvc3Bhbj48L2E+IGluIGhldCBTdXBwb3J0IFRpY2tldCBzeXN0ZWVtLiBVIG9udHZhbmd0IGRpdCBiZXJpY2h0IG9tZGF0IGhldCB0aWNrZXQgIHJlY2h0c3RyZWVrcyBhYW4gdSBpcyB0b2VnZXdlemVuIG9mIGFhbiBlZW4gdGVhbSBvZiBhZmRlbGluZyB3YWFydmFuIHUgbGlkIGJlbnQuPC9kaXY+IDxlbSBzdHlsZT0iZm9udC1zaXplOiBzbWFsbCI+IFV3IHZyaWVuZGVsaWprZSA8c3BhbiBzdHlsZT0iZm9udC1zaXplOiBzbWFsbGVyIiA+IChob2V3ZWwgbWV0IGJlcGVya3QgZ2VkdWxkKTwvc3Bhbj4gU3VwcG9ydCBUaWNrZXQgc3lzdGVlbTwvZW0+PGJyPjxpbWcgc3JjPSJjaWQ6YjU2OTQ0Y2I0NzIyY2M1Y2RhOWQxZTIzYTNlYTdmYmMiIGhlaWdodD0iMTkiIGFsdD0iUG93ZXJlZCBieSBvc1RpY2tldCIgd2lkdGg9IjEyNiIgc3R5bGU9IndpZHRoOiAxMjZweDsiPgotLS0KI0VtYWlsIHRlbXBsYXRlOiB0aWNrZXQub3ZlcmxpbWl0LnlhbWwKI1NlbnQgdG8gdXNlcnMgd2hlbiB0aGV5IGhhdmUgZXhjZWVkZWQgdGhlIG1heGltdW0gb3BlbiB0aWNrZXQgbGltaXQuIFRoZQojbGltaXQgaXMgY29uZmlndXJhYmxlIGluIHRoZSBBZG1pbiBQYW5lbCwgYW5kIGlzIGRlZmluZWQgYnkgdGhlIG51bWJlciBvZgojdGlja2V0cyBvcGVuIGJ5IGEgcGFydGljdWxhciBlbWFpbCBhZGRyZXNzLgojLS0tCm5vdGVzOiB8CiAgVmVyem9uZGVuIG5hYXIgZ2VicnVpa2VycyB3YW5uZWVyIHppaiBoZXQgbWF4aW11bSBvcGVuIHRpY2tldCBsaW1pZXQgaGViYmVuIG92ZXJzY2hyZWRlbi4gRGUgbGltaWV0IGlzIGNvbmZpZ3VyZWVyYmFhciBpbiBoZXQgQmVoZWVyIFBhbmVlbCBlbiB3b3JkIGJlcGFhbGQgZG9vciBoZXQgYWFudGFsIG9wZW5zdGFhbmRlIHRpY2tldHMgZGllIGRvb3IgZWVuIGJlcGFhbGQgZS1tYWlsYWRyZXMgZ2VvcGVuZCB6aWpuLgpzdWJqZWN0OiB8CiAgQWFudGFsIG9wZW4gVGlja2V0cyBsaW1pZXQgYmVyZWlrdApib2R5OiB8CiAgPGgzPjxzdHJvbmc+QmVzdGUgJXt0aWNrZXQubmFtZS5maXJzdH0sPC9zdHJvbmc+PC9oMz4KICBVIGhlZWZ0IGhldCBtYXhpbWFhbCB0b2VnZXN0YW5lIGFhbnRhbCBvcGVuc3RhYW5kZSB0aWNrZXRzIGJlcmVpa3QuCiAgT20gZWVuIG5pZXV3ZSB0aWNrZXQgdGUga3VubmVuIG9wZW5lbiwgbW9ldCAxIHZhbiB1dyBsb3BlbmRlIHRpY2tldHMgZ2VzbG90ZW4gd29yZGVuLgogIE9tIGVlbiBvcGVuIHRpY2tldCBiaWogdGUgd2Vya2VuIG9mIHZhbiBjb21tZW50YWFyIHRlIHZvb3J6aWVuIGt1bnQgdSBlZW52b3VkaWcKICA8YSBocmVmPSIle3VybH0vdGlja2V0cy5waHA/ZT0le3RpY2tldC5lbWFpbH0iPmlubG9nZ2VuIG9wIG9uemUgaGVscGRlc2s8L2E+LgogIDxicj4KICA8YnI+CiAgRGFuayB1LDxici8+CiAgU3VwcG9ydCBUaWNrZXQgU3lzdGVlbQotLS0KI2FjY2Vzcy1saW5rLnlhbWwKI1RpY2tldCBhY2Nlc3MgbGluayBzZW50IHRvIGNsaWVudHMgZm9yIGd1ZXN0LW9ubHkgc3lzdGVtcyB3aGVyZSB0aGUgdGlja2V0CiNudW1iZXIgYW5kIGVtYWlsIGFkZHJlc3Mgd2lsbCB0cmlnZ2VyIGFuIGFjY2VzcyBsaW5rIHNlbnQgdmlhIGVtYWlsCiMtLS0Kbm90ZXM6ID4KICBEZXplIHRlbXBsYXRlIGRlZmluaWVlcnQgZGUgbm90aWZpY2F0aWUgdm9vciBrbGFudGVuIGRhdCBlZW4gdG9lZ2FuZ3NsaW5rIG5hYXIgaHVuIGUtbWFpbCBhZHJlcyB3ZXJkIHZlcnpvbmRlbi4gSGV0IHRpY2tldCBudW1tZXIgZW4gZW1haWwgYWRyZXMgYWN0aXZlcmVuIGRlIHRvZWdhbmdzbGluay4KbmFtZTogIlRpY2tldCBbIyV7dGlja2V0Lm51bWJlcn1dIFRvZWdhbmdzIExpbmsiCmJvZHk6ID4KICA8aDM+PHN0cm9uZz5CZXN0ZSAle3JlY2lwaWVudC5uYW1lLmZpcnN0fSw8L3N0cm9uZz48L2gzPiA8ZGl2PiBFZW4gdmVyem9layB0b3QgZWVuIHRvZWdhbmdzbGluayB2b29yIHRpY2tldCAjJXt0aWNrZXQubnVtYmVyfSBpcyBuYW1lbnMgdSBiaWogZGUgaGVscGRlc2sgaW5nZWRpZW5kIG9wICV7dXJsfS48YnIgLz4gPGJyIC8+IFZvbGcgZGUgbGluayBoaWVyb25kZXIgb20gZGUgc3RhdHVzIHRlIGNvbnRyb2xlcmVuIHZhbiB0aWNrZXQgIyV7dGlja2V0Lm51bWJlcn0uPGJyIC8+IDxiciAvPiA8YSBocmVmPSIle3JlY2lwaWVudC50aWNrZXRfbGlua30iPiV7cmVjaXBpZW50LnRpY2tldF9saW5rfTwvYT48YnIgLz4gPGJyIC8+IEFscyB1IDxzdHJvbmc+bmlldDwvc3Ryb25nPiBkaXQgdmVyem9layBtYWFrdGUsIHZlcndpamRlciBlbiBuZWdlZXIgZGV6ZSBlbWFpbCBkYW4gYWxzdHVibGllZnQuIFV3IGFjY291bnQgaXMgbm9nIHN0ZWVkcyB2ZWlsaWcgZW4gbmllbWFuZCBoZWVmdCB0b2VnYW5nIGdla3JlZ2VuIHRvdCBoZXQgdGlja2V0LiBJZW1hbmQga2FuIHBlciBvbmdlbHVrIHV3IGVtYWlsIGFkcmVzIGluZ2V2b2VyZCBoZWJiZW4uPGJyIC8+IDxiciAvPiAtLTxiciAvPiAle2NvbXBhbnkubmFtZX0gPC9kaXY+Ci0tLQojYmFubmVyLWNsaWVudC55YW1sCiNUaGlzIGZvcm1zIHRoZSBoZWFkZXIgb24gdGhlIHN0YWZmIGxvZ2luIHBhZ2UuIEl0IGNhbiBiZSB1c2VmdWwgdG8gaW5mb3JtCiN5b3VyIGNsaWVudHMgYWJvdXQgeW91ciBsb2dpbiBhbmQgcmVnaXN0cmF0aW9uIHBvbGljaWVzLgojLS0tCm5vdGVzOiA+CiAgRGl0IGlzIGRlIGtvcCB2YW4gZGUgS2xhbnRlbiBMb2dpbiBwYWdpbmEuIEhldCBrYW4gYnJ1aWtiYWFyIHppam4gb20gdXcga2xhbnRlbiB0ZSBpbmZvcm1lcmVuIG92ZXIgdXcgaW5sb2ctIGVuIHJlZ2lzdHJhdGllYmVsZWlkLgpuYW1lOiAiTG9nIGluIGJpaiAle2NvbXBhbnkubmFtZX0iCmJvZHk6ID4KICBPbSB1IGJldGVyIHZhbiBkaWVuc3QgdGUga3VubmVuIHppam4sIHZyYWdlbiB3aWogb256ZSBrbGFudGVuIG9tIHRlIGVlbiBhY2NvdW50IHRlIHJlZ2lzdHJlcmVuLgotLS0KI2Jhbm5lci1zdGFmZi55YW1sCiNUaGlzIGlzIHRoZSBpbml0aWFsIG1lc3NhZ2UgYW5kIGJhbm5lciBzaG93biBvbiB0aGUgc3RhZmYgbG9naW4gcGFnZQojLS0tCm5vdGVzOiA+CiAgRGl0IGlzIGhldCBvb3JzcHJvbmtlbGlqa2UgYmVyaWNodCBlbiBiYW5uZXIgZ2V0b29uZCBvcCBkZSBwYWdpbmEgcGVyc29uZWVsIExvZyBJbi4gSGV0IGVlcnN0ZSB2ZWxkIHZlcndpanN0IG5hYXIgZGUgcm9vZC1nZWZvcm1hdHRlZXJkZSB0ZWtzdCBkaWUgd29yZHQgd2VlcmdlZ2V2ZW4gYWFuIGRlIGJvdmVua2FudC4gRGUgbGFhdHN0ZSB0ZXh0YXJlYSBpcyB2b29yIGRlIGluaG91ZCB2YW4gZGUgYmFubmVyIHdlbGtlIGFscyBlZW4gZGlzY2xhaW1lciBkaWVudC4KbmFtZTogIlZlcmlmaWNhdGllIHZlcmVpc3QiCmJvZHk6ICIiCi0tLQojUGFnZSB0ZW1wbGF0ZTogbGFuZGluZy55YW1sCiNUaGUgbGFuZGluZyBwYWdlIGlzIHNlcnZlZCBvbiB0aGUgZnJvbnQgcGFnZSBvZiB0aGUgY3VzdG9tZXIgcG9ydGFsIGFib3ZlCiN0aGUgdHdvIGxpbmtzIGZvciBjcmVhdGluZyBuZXcgdGlja2V0cyBhbmQgdmlld2luZyB0aWNrZXQgc3RhdHVzLgojLS0tCm5vdGVzOiA+CiAgRGUgbGFuZGluZ3NwYWdpbmEgcmVmZXJlZXJ0IG5hYXIgZGUgaW5pdGnDq2xlIHdlZXJnYXZlIHZhbiBoZXQga2xhbnRwb3J0YWFsLiBEZSB0ZW1wbGF0ZSB3aWp6aWd0IGRlIGluaG91ZCBkaWUgbWVuIHppZXQgYm92ZW4gZGUgdHdlZSBsaW5rcyA8c3Ryb25nPk9wZW4gZWVuIE5pZXV3IFRpY2tldDwvc3Ryb25nPiBlbiA8c3Ryb25nPkNvbnRyb2xlZXIgVGlja2V0IFN0YXR1czwvc3Ryb25nPi4KbmFtZTogTGFuZGluZ3NwYWdpbmEKYm9keTogPgogIDxoMT5XZWxrb20gYmlqIGhldCBTdXBwb3J0IENlbnRlcjwvaDE+IDxwPk9tIHZlcnpvZWtlbiB0b3Qgc3VwcG9ydCBiZXRlciB0ZSBrdW5uZW4gb25kZXJzdGV1bmVuIG1ha2VuIHdpaiBnZWJydWlrIHZhbiBlZW4gU3VwcG9ydCBUaWNrZXQgU3lzdGVlbS4gRWxrZSBzdXBwb3J0YWFudnJhYWcga3Jpamd0IGVlbiB1bmllayB0aWNrZXRudW1tZXIgdG9lZ2V3ZXplbiB3YXQgdSBrdW50IGdlYnJ1aWtlbiBvbSBkZSB2b29ydGdhbmcgZW4gZGUgYW50d29vcmRlbiBvbmxpbmUgdGUgdm9sZ2VuLiBWb29yIHV3IGluZm9ybWF0aWUgYmllZGVuIHdpaiBlZW4gdm9sbGVkaWdlIGdlc2NoaWVkZW5pcyB2YW4gYWwgdXcgYWFudnJhZ2VuIHZvb3Igc3VwcG9ydC4gRWVuIGdlbGRpZyBlLW1haWxhZHJlcyBpcyB2ZXJlaXN0IG9tIGVlbiBuaWV1dyB0aWNrZXQgYWFuIHRlIGt1bm5lbiBtYWtlbi4gPC9wPgotLS0KI1BhZ2UgdGVtcGxhdGU6IG9mZmxpbmUueWFtbAojVGhlIG9mZmxpbmUgcGFnZSBpcyBzZXJ2ZWQgdG8gdGhlIGN1c3RvbWVyIHBvcnRhbCB3aGVuIHRoZSBoZWxwIGRlc2sgaXMKI2NvbmZpZ3VyZWQgb2ZmbGluZSBpbiB0aGUgQWRtaW4gUGFuZWwKIy0tLQpub3RlczogfAogIERlIE9mZmxpbmUgUGFnaW5hIHZlcnNjaGlqbnQgaW4gaGV0IGtsYW50ZW4gcG9ydGFhbCBhbHMgZGUgaGVscGRlc2sgb2ZmbGluZSBpcy4KbmFtZTogT2ZmbGluZQpib2R5OiB8CiAgPGRpdj48aDE+IDxzcGFuIHN0eWxlPSJmb250LXNpemU6IG1lZGl1bSI+IFN1cHBvcnQgVGlja2V0IHN5c3RlZW0gT2ZmbGluZTwvc3Bhbj48L2gxPiA8cD5CZWRhbmt0IHZvb3IgdXcgaW50ZXJlc3NlIG9tIGNvbnRhY3Qgb3AgdGUgbmVtZW4uPC9wPiA8cD5PbnplIGhlbHBkZXNrIG9wIGRpdCBtb21lbnQgb2ZmbGluZSwgcHJvYmVlciBoZXQgYS51LmIuIG9wIGVlbiBsYXRlciB0aWpkc3RpcCBub2cgZWVucy48L3A+IDwvZGl2PgotLS0KI3B3cmVzZXQtY2xpZW50LnlhbWwKI1RlbXBsYXRlIG9mIHRoZSBlbWFpbCBzZW50IHRvIGNsaWVudHMgd2hlbiB1c2luZyB0aGUgRm9yZ290IE15IFBhc3N3b3JkCiNsaW5rIG9uIHRoZSBsb2dpbiBwYWdlCiMtLS0Kbm90ZXM6ID4KICBEZXplIHNqYWJsb29uIGJlcGFhbHQgZGUgZS1tYWlsIGdlc3R1dXJkIG5hYXIga2xhbnRlbiBkaWUgc2VsZWN0ZWVydCB1IGRlIGtvcHBlbGluZyA8c3Ryb25nPk1pam4gd2FjaHR3b29yZCB2ZXJnZXRlbjwvc3Ryb25nPiBvcCBkZSBDbGllbnQgTG9nIEluIHBhZ2luYS4KbmFtZTogIiV7Y29tcGFueS5uYW1lfSBIZWxwIERlc2sgQWNjZXNzIgpib2R5OiA+CiAgPGgzPjxzdHJvbmc+SGFsbG8gJXt1c2VyLm5hbWUuZmlyc3R9LDwvc3Ryb25nPjwvaDM+IDxkaXY+RWVuIHdhY2h0d29vcmQgcmVzZXQgYWFudnJhYWcgaGVlZnQgaW5nZWRpZW5kIG5hbWVucyB1IHZvb3IgZGUgaGVscGRlc2sgb3AgJXt1cmx9LjxiciAvID4gPCBiciAvID4gQWxzIHUgZGVua3QgZGF0IGRpdCBoZWVmdCBnZWRhYW4gaW4gZm91dCwgdmVyd2lqZGVyZW4gZW4gZGV6ZSBlLW1haWwgbmVnZXJlbi4gVXcgYWNjb3VudCBpcyBub2cgc3RlZWRzIHZlaWxpZyBlbiBuaWVtYW5kIGhlZWZ0IGdla3JlZ2VuIHRvZWdhbmcgdG90IGhldC4gSGV0IGlzIG5pZXQgdmVyZ3JlbmRlbGQgZW4gdXcgd2FjaHR3b29yZCBuaWV0IGlzIHRlcnVnZ2V6ZXQuIEllbWFuZCBrYW4gcGVyIG9uZ2VsdWsgaGVidCBpbmdldm9lcmQgdXcgZW1haWwgYWRyZXMuIDwgYnIgLyA+IDwgYnIgLyA+IFZvbGcgZGUgbGluayBoaWVyb25kZXIgYWFuIGxvZ2luIGFhbiBkZSBoZWxwZGVzayBlbiB3aWp6aWcgdXcgd2FjaHR3b29yZC4gPCBiciAvID4gPCBiciAvID4gPGEgaHJlZj0iJXtsaW5rfSI+ICUge2tvcHBlbGluZ308L2E+IDwgYnIgLyA+IDwgYnIgLyA+IDxlbSBzdHlsZT0iZm9udC1zaXplOiBzbWFsbCI+IHV3IHZyaWVuZGVsaWprZSBDdXN0b21lciBTdXBwb3J0IHN5c3RlZW0gPCBiciAvID4gJXtjb21wYW55Lm5hbWV9PC9lbT48L2Rpdj4KLS0tCiNwd3Jlc2V0LXN0YWZmLnlhbWwKI1RlbXBsYXRlIG9mIHRoZSBlbWFpbCBzZW50IHRvIHN0YWZmIG1lbWJlcnMgd2hlbiB1c2luZyB0aGUgRm9yZ290IE15CiNQYXNzd29yZCBsaW5rCiMtLS0Kbm90ZXM6ID4KICBEZXplIHRlbXBsYXRlIGRlZmluaWVlcnQgZGUgZW1haWwgZGllIG5hYXIgbWVkZXdlcmtlcnMgdmVyem9uZGVuIHdvcmR0IGRpZSBkZSA8c3Ryb25nPk1pam4gV2FjaHR3b29yZCBWZXJnZXRlbjwvc3Ryb25nPiBsaW5rIGdlYnJ1aWt0IGhlYmJlbiwgb3AgZGUgbG9naW4gcGFnaW5hIHZhbiBoZXQgbWVkZXdlcmtlcnMgY29udHJvbGUgcGFuZWVsLgpuYW1lOiAib3NUaWNrZXQgbWVkZXdlcmtlciB3YWNodHdvb3JkIHJlc2V0Igpib2R5OiA+CiAgPGgzPjxzdHJvbmc+QmVzdGUgJXtzdGFmZi5uYW1lLmZpcnN0fSw8L3N0cm9uZz48L2gzPiA8ZGl2PiBFZW4gd2FjaHR3b29yZCByZXNldCB2ZXJ6b2VrIGlzIG5hbWVucyB1IGFhbmdldnJhYWdkIHZvb3IgZGUgaGVscGRlc2sgb3AgJXt1cmx9LjxiciAvPiA8YnIgLz5BbHMgdSBkZW5rdCBkYXQgZGl0IGZvdXRpZWYgZ2VkYWFuIGlzLCB2ZXJ3aWpkZXIgZW4gbmVnZWVyIGRhbiBkZXplIGVtYWlsLiBVdyBhY2NvdW50IGlzIG5vZyBzdGVlZHMgdmVpbGlnIGVuIG5pZW1hbmQgaGVlZnQgZXIgdG9lZ2FuZyB0b2UgZ2VrcmVnZW4uIEhldCBpcyBuaWV0IGdlYmxva2tlZXJkIGVuIHV3IHdhY2h0d29vcmQgaXMgbmlldCBnZXJlc2V0LiBJZW1hbmQga2FuIHBlciBvbmdlbHVrIHV3IGVtYWlsIGFkcmVzIGluZ2V2b2VyZCBoZWJiZW4uPGJyIC8+IDxiciAvPlZvbGcgZGUgbGluayBoaWVyb25kZXIgb20gaW4gdGUgbG9nZ2luIG9wIGRlIGhlbHBkZXNrIGVuIHV3IHdhY2h0d29vcmQgdGUgd2lqemlnZW4uPGJyIC8+IDxiciAvPiA8YSBocmVmPSIle2xpbmt9Ij4le2xpbmt9PC9hPjxiciAvPiA8YnIgLz4gPGVtIHN0eWxlPSJmb250LXNpemU6IHNtYWxsIj51dyB2cmllbmRlbGlqa2UgSGVscGRlc2sgU3lzdGVlbTwvZW0+IDxiciAvPiA8aW1nIHNyYz0iY2lkOmI1Njk0NGNiNDcyMmNjNWNkYTlkMWUyM2EzZWE3ZmJjIiBhbHQ9IlBvd2VyZWQgYnkgb3NUaWNrZXQiIHdpZHRoPSIxMjYiIGhlaWdodD0iMTkiIHN0eWxlPSJ3aWR0aDogMTI2cHgiIC8+IDwvZGl2PgotLS0KI3JlZ2lzdHJhdGlvbi1zdGFmZi55YW1sCiNDb25maXJtYXRpb24gZW1haWwgc2VudCB0byBjbGllbnRzIHdoZW4gYWNjb3VudHMgYXJlIGNyZWF0ZWQgZm9yIHRoZW0gYnkKI3N0YWZmIG9yIHZpYSB0aGUgY2xpZW50IHBvcnRhbC4gVGhpcyBlbWFpbCBzZXJ2ZXMgYXMgYW4gZW1haWwgYWRkcmVzcwojdmVyaWZpY2F0aW9uLgojLS0tCm5vdGVzOiA+CiAgRGV6ZSB0ZW1wbGF0ZSBkZWZpbmllZXJ0IGRlIGVtYWlsIGRpZSBuYWFyIGtsYW50ZW4gd29yZHQgZ2V6b25kZW4gYWxzIGh1biBhY2NvdW50IGFhbmdlbWFha3QgaXMgaW4gaGV0IGtsYW50ZW4gcG9ydGFhbCBvZiBhbHMgZGl0IHVpdCBodW4gbmFhbSBkb29yIGVlbiBtZWRld2Vya2VyIGlzIGdlZGFhbi4gRGV6ZSBlbWFpbCBmdW5nZWVydCBhbHMgZW1haWwgYWRyZXMgdmVyaWZpY2F0aWUuIEdlYnJ1aWsgYWxzdHVibGllZnQgJXtsaW5rfSBlcmdlbnMgaW4gaGV0IGJlcmljaHQuCm5hbWU6ICJXZWxrb20gYmlqICV7Y29tcGFueS5uYW1lfSIKYm9keTogPgogIDxoMz48c3Ryb25nPkhhbGxvICV7cmVjaXBpZW50Lm5hbWUuZmlyc3R9Ljwvc3Ryb25nPjwvaDM+IDxkaXY+V2UgaGViYmVuIHZvb3IgdSBlZW4gYWNjb3VudCBhYW5nZW1hYWt0IG9wIG9uemUgaGVscGRlc2sgJXt1cmx9LjxiciAvPiA8YnIgLz5Wb2xnIGFsc3R1YmxpZWZ0IGRlIG9uZGVyc3RhYW5kZSBsaW5rIG9tIHV3IGFjY291bnQgdGUgYmV2ZXN0aWdlbiBlbiB0b2VnYW5nIHRlIGtyaWpnZW4gdG90IHV3IHRpY2tldHMuPGJyIC8+IDxiciAvPiA8YSBocmVmPSIle2xpbmt9Ij4le2xpbmt9PC9hPjxiciAvPiA8YnIgLz4gPGVtIHN0eWxlPSJmb250LXNpemU6IHNtYWxsIj5VdyB2cmllbmRlbGlqa2UgaGVscGRlc2sgIDxiciAvPiAle2NvbXBhbnkubmFtZX08L2VtPiA8L2Rpdj4KLS0tCiNyZWdpc3RyYXRpb24tY29uZmlybS55YW1sCiNUZW1wbGF0ZSBvZiB0aGUgcGFnZSBzaG93biB0byB0aGUgdXNlciBhZnRlciByZWdpc3RlcmluZyBmb3IgYW4gYWNjb3VudC4KI1RoZSBzeXN0ZW0gd2lsbCBzZW5kIHRoZSB1c2VyIGFuIGVtYWlsIHdpdGggYSBsaW5rIHRoZXkgc2hvdWxkIGZvbGxvdyB0bwojY29uZmlybSB0aGUgYWNjb3VudC4gVGhpcyBwYWdlIHNob3VsZCBpbmZvcm0gdGhlbSBvZiB0aGUgbmV4dCBzdGVwIGluCiN0aGUgcHJvY2Vzcy4KIy0tLQpub3RlczogPgogIERpdCBzamFibG9vbiBkZWZpbmllZXJ0IGRlIHBhZ2luYSBkaWUgYWFuIGtsYW50ZW4gd29yZHQgd2VlcmdlZ2V2ZW4gbmEgaGV0IHZvbHRvb2llbiB2YW4gaGV0IHJlZ2lzdHJhdGllZm9ybXVsaWVyLiBIZXQgc2phYmxvb24gem91IG1vZXRlbiB2ZXJtZWxkZW4gZGF0IGhldCBzeXN0ZWVtIGVlbiBlLW1haWwgbWV0IGJldmVzdGlnaW5nc2xpbmsgc3R1dXJ0IGVuIHdhdCBkZSB2b2xnZW5kZSBzdGFwIGluIGhldCByZWdpc3RyYXRpZXByb2NlcyBpcy4KbmFtZTogIkFjY291bnQgcmVnaXN0cmF0aWUiCmJvZHk6ID4KCiAgPGRpdj48c3Ryb25nPkJlZGFua3Qgdm9vciBoZXQgcmVnaXN0cmVyZW4gdmFuIGVlbiBhY2NvdW50Ljwvc3Ryb25nPjxici8+IDxiciAvPiBXZSBoZWJiZW4gZWVuIGUtbWFpbCB2ZXJ6b25kZW4gbmFhciBoZXQgZS1tYWlsIGFkcmVzIGRhdCB1IG9wZ2VnZXZlbiBoZWJ0LiBLbGlrIGFsc3R1YmxpZWZ0IG9wIGRlIGxpbmsgaW4gZGUgbWFpbCBvbSB1dyBhY2NvdW50IHRlIGJldmVzdGlnZW4gZW4gdG9lZ2FuZyB0b3QgdXcgdGlja2V0cyB0ZSBrcmlqZ2VuLiA8L2Rpdj4KLS0tCiNyZWdpc3RyYXRpb24tc3RhZmYueWFtbAojSW5pdGlhbCAob3B0aW9uYWwpIGVtYWlsIHNlbnQgdG8gc3RhZmYgbWVtYmVycyB3aGVuIGFjY291bnRzIGFyZSBjcmVhdGVkCiNmb3IgdGhlbSBpbiB0aGUgc3RhZmYgY29udHJvbCBwYW5lbAojLS0tCm5vdGVzOiA+CiAgRGl0IHNqYWJsb29uIGlzIHZvb3IgZGUgZWVyc3RlIGUtbWFpbChvcHRpb25lZWwpIGRpZSB2ZXJ6b25kZW4gd29yZHQgbmFhciBoZXQgcGVyc29uZWVsc2xpZCBhbHMgZXIgZWVuIGFjY291bnQgb3AgemlqbiBuYWFtIHdvcmR0IGFhbmdlbWFha3QuCm5hbWU6ICJXZWxrb20gYmlqIG9zVGlja2V0Igpib2R5OiA+CiAgPGgzPjxzdHJvbmc+SGkgJXtyZWNpcGllbnQubmFtZS5maXJzdH0sPC9zdHJvbmc+PC9oMz4gPGRpdj4gV2UgaGViYmVuIHZvb3IgVSBlZW4gYWNjb3VudCBhYW5nZW1hYWt0IG9wIG9uemUgaGVscGRlc2sgJXt1cmx9LjxiciAvPiA8YnIgLz4ga2xpayBhbHN0dWJsaWVmdCBvcCBkZSB2b2xnZW5kZSBsaW5rIG9tIHV3IGFjY291bnQgdGUgYmV2ZXN0aWdlbiBlbiB0b2VnYW5nIHRlIGtyaWpnZW4gdG90IHV3IHRpY2tldHMuPGJyIC8+IDxiciAvPiA8YSBocmVmPSIle2xpbmt9Ij4le2xpbmt9PC9hPjxiciAvPiA8YnIgLz4gPGVtIHN0eWxlPSJmb250LXNpemU6IHNtYWxsIj5VdyB2cmllbmRlbGlqa2UgaGVscGRlc2sgPGJyIC8+ICV7Y29tcGFueS5uYW1lfTwvZW0+IDwvZGl2PgotLS0KI3JlZ2lzdHJhdGlvbi10aGFua3MueWFtbAojUGFnZSBzaG93biB0byB0aGUgdXNlciBhZnRlciBzdWNjZXNzZnVsbHkgcmVnaXN0cmluZyBhbmQgY29uZmlybWluZyB0aGVpcgojYWNjb3VudC4gVGhpcyBwYWdlIHNob3VsZCBpbmZvcm0gdGhlIHVzZXIgdGhhdCB0aGUgcHJvY2VzcyBpcyBjb21wbGV0ZSBhbmQKI3RoYXQgdGhlIHVzZXIgY2FuIG5vdyBzdWJtaXQgYSB0aWNrZXQgb3IgYWNjZXNzIGV4aXN0aW5nIHRpY2tldHMKIy0tLQpub3RlczogPgogIERpdCBzamFibG9vbiBiZXZhdCBkZSB0ZWtzdCBkaWUgd29yZHQgd2VlcmdlZ2V2ZW4gbmFkYXQga2xhbnRlbiBodW4gcmVnaXN0cmF0aWUgaGViYmVuIGJldmVzdGlnZC4gRGV6ZSBwYWdpbmEgbW9ldCBkZSBrbGFudCB2ZXJ0ZWxsZW4gZGF0IGRlIHJlZ2lzdHJhdGllIGlzIHZvbHRvb2lkIGVuIGRhdCBoaWogbnUgZWVuIHRpY2tldCBrYW4gb3BlbmVuIG9mIGJlc3RhYW5kZSB0aWNrZXRzIGluIGthbiB6aWVuLgpuYW1lOiAiQWNjb3VudCBiZXZlc3RpZ2QhIgpib2R5OiA+CiAgPGRpdj48c3Ryb25nPkJlZGFua3Qgdm9vciBoZXQgcmVnaXN0cmVyZW4gdm9vciBlZW4gYWNjb3VudC48L3N0cm9uZz48YnIgLz4gPGJyIC8+IFUgaGVidCB1dyBlLW1haWxhZHJlcyBiZXZlc3RpZ2QgZW4gdXcgYWNjb3VudCBnZWFjdGl2ZWVyZC4gVSAga3VudCBudSBlZW4gbmlldXcgdGlja2V0IG9mIGJlc3RhYW5kZSB0aWNrZXRzIGJlaGVyZW4uIDxiciAvPiA8YnIgLz4gPGVtPlV3IHZyaWVuZGVsaWprZSBoZWxwZGVzazwvZW0+IDxiciAvPiAle2NvbXBhbnkubmFtZX08L2Rpdj4KLS0tCiNQYWdlIHRlbXBsYXRlOiB0aGFuay15b3UueWFtbAojVGhlIHRoYW5rLXlvdSBwYWdlIGlzIHNlcnZlZCB0byB0aGUgY3VzdG9tZXIgcG9ydGFsIHdoZW4gYSB1c2VyIHN1Ym1pdGVzIGEKI25ldyB0aWNrZXQgdmlhIHRoZSBjdXN0b21lciBwb3J0YWwuCiMtLS0Kbm90ZXM6IHwKICBEZSBiZWRhbmtwYWdpbmEgd29yZHQgemljaHRiYWFyIGluIGhldCBrbGFudGVucG9ydGFhbCB3YW5uZWVyIGVlbiBnZWJydWlrZXIgZWVuIG5pZXV3IHRpY2tldCBoZWVmdCBhYW5nZW1hYWt0LgpuYW1lOiBCZWRhbmt0CmJvZHk6IHwKICA8ZGl2PiUge3RpY2tldC5uYW1lfSwgPGJyPjxicj5CZWRhbmt0IGRhdCB1IGNvbnRhY3QgbWV0IG9ucyBoZWVmdCBvcGdlbm9tZW4uPGJyPjxicj5FZW4gY29udGFjdHZlcnpvZWsgaXMgYWFuZ2VtYWFrdCBlbiBpbmRpZW4gbm9kaWcgemFsIGVlbiBtZWRld2Vya2VyIGJpbm5lbmtvcnQgY29udGFjdCBtZXQgdSBvcCBuZW1lbi48L3A+IDxicj48YnI+TWV0IHZyaWVuZGVsaWprZSBncm9ldCwgPGJyPjxicj5oZXQgU3VwcG9ydHRlYW08L2Rpdj4KLS0tCiNXZWxjb21lIHRpY2tldCB0ZW1wbGF0ZQojV2hlbiB0aGUgc3lzdGVtIGlmIGZpcnN0IGluc3RhbGxlZCBhbmQgdGhlIGluc3RhbGxlciBmaW5pc2hlcyBzZXR0aW5nIHVwCiN0aGUgZGF0YWJhc2UsIGl0IGNyZWF0ZXMgYSBmaXJzdCB0aWNrZXQgd2l0aCBhIHdlbGNvbWUgbWVzc2FnZSB0byB0aGUKI2FkbWluaXN0cmF0b3IKIy0tLQpkZXB0SWQ6IDEgI3N1cHBvcnQKdG9waWNJZDogMSAjc3VwcG9ydApuYW1lOiBvc1RpY2tldCBzdXBwb3J0CmVtYWlsOiBzdXBwb3J0QG9zdGlja2V0LmNvbQpzb3VyY2U6IFdlYiAjbm90cmFucwpzdWJqZWN0OiBvc1RpY2tldCBnZcOvbnN0YWxsZWVyZCEKbWVzc2FnZTogfAogIDxwPgogIFRoYW5rIHlvdSBmb3IgY2hvb3Npbmcgb3NUaWNrZXQuCiAgPC9wPjxwPgogIFBsZWFzZSBtYWtlIHN1cmUgeW91IGpvaW4gdGhlIDxhCiAgaHJlZj0iaHR0cHM6Ly9mb3J1bS5vc3RpY2tldC5jb20iPm9zVGlja2V0IGZvcnVtczwvYT4gYW5kIG91ciA8YQogIGhyZWY9Imh0dHBzOi8vb3N0aWNrZXQuY29tIj5tYWlsaW5nIGxpc3Q8L2E+IHRvIHN0YXkgdXAgdG8gZGF0ZQogIG9uIHRoZSBsYXRlc3QgbmV3cywgc2VjdXJpdHkgYWxlcnRzIGFuZCB1cGRhdGVzLiBUaGUgb3NUaWNrZXQgZm9ydW1zIGFyZQogIGFsc28gYSBncmVhdCBwbGFjZSB0byBnZXQgYXNzaXN0YW5jZSwgZ3VpZGFuY2UsIHRpcHMsIGFuZCBoZWxwIGZyb20KICBvdGhlciBvc1RpY2tldCB1c2Vycy4gIEluIGFkZGl0aW9uIHRvIHRoZSBmb3J1bXMsIHRoZSBvc1RpY2tldCB3aWtpCiAgcHJvdmlkZXMgYSB1c2VmdWwgY29sbGVjdGlvbiBvZiBlZHVjYXRpb25hbCBtYXRlcmlhbHMsIGRvY3VtZW50YXRpb24sCiAgYW5kIG5vdGVzIGZyb20gdGhlIGNvbW11bml0eS4gV2Ugd2VsY29tZSB5b3VyIGNvbnRyaWJ1dGlvbnMgdG8gdGhlCiAgb3NUaWNrZXQgY29tbXVuaXR5LgogIDwvcD48cD4KICBJZiB5b3UgYXJlIGxvb2tpbmcgZm9yIGEgZ3JlYXRlciBsZXZlbCBvZiBzdXBwb3J0LCB3ZSBwcm92aWRlCiAgcHJvZmVzc2lvbmFsIHNlcnZpY2VzIGFuZCBjb21tZXJjaWFsIHN1cHBvcnQgd2l0aCBndWFyYW50ZWVkIHJlc3BvbnNlCiAgdGltZXMsIGFuZCBhY2Nlc3MgdG8gdGhlIGNvcmUgZGV2ZWxvcG1lbnQgdGVhbS4gV2UgY2FuIGFsc28gaGVscAogIGN1c3RvbWl6ZSBvc1RpY2tldCBvciBldmVuIGFkZCBuZXcgZmVhdHVyZXMgdG8gdGhlIHN5c3RlbSB0byBtZWV0IHlvdXIKICB1bmlxdWUgbmVlZHMuCiAgPC9wPjxwPgogIElmIHRoZSBpZGVhIG9mIG1hbmFnaW5nIGFuZCB1cGdyYWRpbmcgdGhpcyBvc1RpY2tldCBpbnN0YWxsYXRpb24gaXMKICBkYXVudGluZywgeW91IGNhbiB0cnkgb3NUaWNrZXQgYXMgYSBob3N0ZWQgc2VydmljZSBhdCA8YQogIGhyZWY9Imh0dHBzOi8vc3VwcG9ydHN5c3RlbS5jb20iPmh0dHBzOi8vc3VwcG9ydHN5c3RlbS5jb20vPC9hPiAtLQogIG5vIGluc3RhbGxhdGlvbiByZXF1aXJlZCBhbmQgd2UgY2FuIGltcG9ydCB5b3VyIGRhdGEhICBXaXRoCiAgU3VwcG9ydFN5c3RlbSdzIHR1cm5rZXkgaW5mcmFzdHJ1Y3R1cmUsIHlvdSBnZXQgb3NUaWNrZXQgYXQgaXRzIGJlc3QsCiAgbGVhdmluZyB5b3UgZnJlZSB0byBmb2N1cyBvbiB5b3VyIGN1c3RvbWVycyB3aXRob3V0IHRoZSBidXJkZW4gb2YgbWFraW5nCiAgc3VyZSB0aGUgYXBwbGljYXRpb24gaXMgc3RhYmxlLCBtYWludGFpbmVkLCBhbmQgc2VjdXJlLgogIDwvcD48cD4KICBDaGVlcnMsCiAgPC9wPjxwPgogIC08YnIvPgogIG9zVGlja2V0IFRlYW0gaHR0cHM6Ly9vc3RpY2tldC5jb20vCiAgPC9wPjxwPgogIDxzdHJvbmc+UFMuPC9zdHJvbmc+IERvbid0IGp1c3QgbWFrZSBjdXN0b21lcnMgaGFwcHksIG1ha2UgaGFwcHkKICBjdXN0b21lcnMhCiAgPC9wPgotLS0KI1VwZ3JhZGUgY29tcGxldGVkIHRpY2tldAojVGhpcyB0aWNrZXQgaXMgYWRkZWQgdG8gdGhlIHN5c3RlbSBhZnRlciB0aGUgY29tcGxldGlvbiBvZiBhbiB1cGdyYWRlLiBJdAojbWlnaHQgaW5jbHVkZSBpbmZvcm1hdGlvbiBzcGVjaWZpYyB0byB0aGUgcmVsZWFzZSwgcGVyaGFwcyB3aXRoIHNvbWUgbmV3CiNmZWF0dXJlIGhpZ2hsaWdodHMsIGV0Yy4KIy0tLQpzb3VyY2U6IFdlYiAjbm90cmFucwpuYW1lOiBvc1RpY2tldCBzdXBwb3J0CmVtYWlsOiBzdXBwb3J0QG9zdGlja2V0LmNvbQpzdWJqZWN0OiBvc1RpY2tldCBnZcO8cGdyYWRlIQptZXNzYWdlOiB8CiAgPHA+CiAgb3NUaWNrZXQgdXBncmFkZWQgc3VjY2Vzc2Z1bGx5ISBQbGVhc2UgcmVmZXIgdG8gdGhlIFJlbGVhc2UgTm90ZXMKICAoaHR0cHM6Ly9kb2NzLm9zdGlja2V0LmNvbS9lbi9sYXRlc3QvRGV2ZWxvcGVyJTIwRG9jdW1lbnRhdGlvbi9DaGFuZ2Vsb2cuaHRtbD9oaWdobGlnaHQ9bm90ZXMpIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0CiAgY2hhbmdlcyBhbmQgbmV3IGZlYXR1cmVzLgogIDwvcD48cD4KICBCZSBzdXJlIHRvIGpvaW4gdGhlIDxhIGhyZWY9Imh0dHBzOi8vZm9ydW0ub3N0aWNrZXQuY29tIj5vc1RpY2tldAogIGZvcnVtczwvYT4gYW5kIG91ciA8YSBocmVmPSJodHRwczovL29zdGlja2V0LmNvbSI+bWFpbGluZwogIGxpc3Q8L2E+IHRvIHN0YXkgdXAgdG8gZGF0ZSBvbiBhbm5vdW5jZW1lbnRzLCBzZWN1cml0eSB1cGRhdGVzIGFuZAogIGFsZXJ0cyEgWW91ciBjb250cmlidXRpb24gdG8gb3NUaWNrZXQgY29tbXVuaXR5IHdpbGwgYmUgYXBwcmVjaWF0ZWQhCiAgPC9wPjxwPgogIFRoZSBvc1RpY2tldCB0ZWFtIGlzIGNvbW1pdHRlZCB0byBwcm92aWRpbmcgc3VwcG9ydCB0byBhbGwgdXNlcnMgdGhyb3VnaAogIG91ciBmcmVlIG9ubGluZSByZXNvdXJjZXMgYW5kIGEgZnVsbCByYW5nZSBvZiBjb21tZXJjaWFsIHN1cHBvcnQKICBwYWNrYWdlcyBhbmQgc2VydmljZXMuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBvciB0byBkaXNjdXNzIHlvdXIgbmVlZHMsCiAgcGxlYXNlIGNvbnRhY3QgdXMgdG9kYXkgYXQgaHR0cHM6Ly9vc3RpY2tldC5jb20vc3VwcG9ydC8uIEFueSBmZWVkYmFjawogIHdpbGwgYmUgYXBwcmVjaWF0ZWQhCiAgPC9wPjxwPgogIElmIG1hbmFnaW5nIGFuZCB1cGdyYWRpbmcgdGhpcyBvc1RpY2tldCBpbnN0YWxsYXRpb24gaXMgZGF1bnRpbmcsIHlvdQogIGNhbiB0cnkgb3NUaWNrZXQgYXMgYSBob3N0ZWQgc2VydmljZSBhdCBodHRwczovL3N1cHBvcnRzeXN0ZW0uY29tLyAtLQogIG5vIHVwZ3JhZGluZyBldmVyLCBhbmQgd2UgY2FuIGltcG9ydCB5b3VyIGRhdGEhICBXaXRoIFN1cHBvcnRTeXN0ZW0ncwogIHR1cm5rZXkgaW5mcmFzdHJ1Y3R1cmUsIHlvdSBnZXQgb3NUaWNrZXQgYXQgaXRzIGJlc3QsIGxlYXZpbmcgeW91IGZyZWUKICB0byBmb2N1cyBvbiB5b3VyIGN1c3RvbWVycyB3aXRob3V0IHRoZSBidXJkZW4gb2YgbWFraW5nIHN1cmUgdGhlCiAgYXBwbGljYXRpb24gaXMgc3RhYmxlLCBtYWludGFpbmVkLCBhbmQgc2VjdXJlLgogIDwvcD48cD4KICAtPGJyLz4KICBvc1RpY2tldCBUZWFtPGJyLz4KICBodHRwczovL29zdGlja2V0LmNvbS8KICA8L3A+Ci0tLQotIAogICNDYW5uZWQgcmVzcG9uc2UgdGVtcGxhdGVzCiAgIy0tLQogIGlzZW5hYmxlZDogMQogIHRpdGxlOiBXYXQgaXMgb3NUaWNrZXQgKHZvb3JiZWVsZCk/CiAgcmVzcG9uc2U6IHwKICAgIG9zVGlja2V0IGlzIGVlbiB2ZWVsIGdlYnJ1aWt0IG9wZW4gc291cmNlIHN1cHBvcnQgdGlja2V0c3lzdGVlbSwgZWVuIGFhbnRyZWtrZWxpamsgYWx0ZXJuYXRpZWYgdm9vciBkdXJlIGVuIGNvbXBsZXhlIGhlbHBkZXNrc3lzdGVtZW4gLSBlZW52b3VkaWcsIGxpY2h0Z2V3aWNodCwgYmV0cm91d2JhYXIsIG9wZW4gc291cmNlLCB3ZWItYmFzZWQgZW4gZ2VtYWtrZWxpamsgdGUgaW5zdGFsbGVyZW4gZW4gZ2VicnVpa2VuLgogIDA6IHwKCiAgYXR0YWNobWVudHM6CiAgICAtIAogICAgICBuYW1lOiBvc1RpY2tldC50eHQKICAgICAgdHlwZTogdGV4dC9wbGFpbgogICAgICBkYXRhOiBWb29yYWYgaW5nZXN0ZWxkZSBiaWpsYWdlbiB6aWpuIHN1cGVyIQotIAogIGlzZW5hYmxlZDogMQogIHRpdGxlOiBWb29yYmVlbGQgKG1ldCB2YXJpYWJlbGVuKQogIHJlc3BvbnNlOiB8CiAgICBCZXN0ZSAle3RpY2tldC5uYW1lLmZpcnN0fSwgPGJyPjxicj5KZSB0aWNrZXQgbWV0IG51bW1lciAjJXt0aWNrZXQubnVtYmVyfSBnZW1hYWt0IG9wICV7dGlja2V0LmNyZWF0ZV9kYXRlfSBpcyBuYWFyIGRlICV7dGlja2V0LmRlcHQubmFtZX0gYWZkZWxpbmcgdmVyem9uZGVuLgogIDA6IHwKCi0tLQotIAogICNldmVudC55YW1sCiAgI0V2ZW50cyBpbml0aWFsbHkgaW5zZXJ0ZWQgaW50byB0aGUgc3lzdGVtLgogICMtLS0KICBpZDogMQogIG5hbWU6IGFhbmdlbWFha3QKICBkZXNjcmlwdGlvbjoKLSAKICBpZDogMgogIG5hbWU6IGdlc2xvdGVuCiAgZGVzY3JpcHRpb246Ci0gCiAgaWQ6IDMKICBuYW1lOiBoZXJvcGVuZAogIGRlc2NyaXB0aW9uOgotIAogIGlkOiA0CiAgbmFtZTogdG9lZ2VrZW5kCiAgZGVzY3JpcHRpb246Ci0gCiAgaWQ6IDUKICBuYW1lOiB2cmlqZ2VnZXZlbgogIGRlc2NyaXB0aW9uOgotIAogIGlkOiA2CiAgbmFtZTogdmVyaHVpc2QKICBkZXNjcmlwdGlvbjoKLSAKICBpZDogNwogIG5hbWU6IHZlcndlemVuIGFhbgogIGRlc2NyaXB0aW9uOgotIAogIGlkOiAxNQogIG5hbWU6IGFjaHRlcnN0YWxsaWcKICBkZXNjcmlwdGlvbjoKLSAKICBpZDogOQogIG5hbWU6IGJld2Vya3QKICBkZXNjcmlwdGlvbjoKLSAKICBpZDogMTAKICBuYW1lOiBiZWtla2VuCiAgZGVzY3JpcHRpb246Ci0gCiAgaWQ6IDExCiAgbmFtZTogZm91dAogIGRlc2NyaXB0aW9uOgotIAogIGlkOiAxMgogIG5hbWU6IGNvbGxhYgogIGRlc2NyaXB0aW9uOgotIAogIGlkOiAxMwogIG5hbWU6IHZlcnN0dXVyIG9wbmlldXcKICBkZXNjcmlwdGlvbjoKLSAKICBpZDogMTQKICBuYW1lOiBkZWxldGVkCiAgZGVzY3JpcHRpb246Ci0gCiAgaWQ6IDE1CiAgbmFtZTogc2FtZW5nZXZvZWdkCiAgZGVzY3JpcHRpb246Ci0gCiAgaWQ6IDE2CiAgbmFtZTogdW5saW5rZWQKICBkZXNjcmlwdGlvbjoKLSAKICBpZDogMTcKICBuYW1lOiBnZWtvcHBlbGQKICBkZXNjcmlwdGlvbjoKLS0tCi0gCiAgI0RlZmF1bHQgKGR5bmFtaWMpIGZvcm0gY29uZmlndXJhdGlvbi4gVGhpcyBkYXRhIGlzIHVzZWQgYXMgdGhlIGluaXRpYWwsCiAgI21pbmltYWwgZGF0YSBmb3IgZHluYW1pYyBmb3JtcyB0aGF0IHNoaXBzIHdpdGggdGhlIHN5c3RlbS4KICAjRmllbGRzOgogICNpZDogICAgICAgVXNlZCBvbmx5IGlmIGFzc29jaWF0ZWQgd2l0aCBhIGhlbHAgdG9waWMKICAjdGl0bGU6ICAgIEJvbGQgc2VjdGlvbiB0aXRsZSBvZiB0aGUgZm9ybQogICNpbnN0cnVjdGlvbnM6IFRpdGxlIGRlY2ssIGRldGFpbGVkIGluc3RydWN0aW9ucyBvbiBlbnRlcmluZyBmb3JtIGRhdGEKICAjbm90ZXM6ICAgIE5vdGVzIGZvciB0aGUgZm9ybSwgc2hvd24gdW5kZXIgdGhlIGZpZWxkcwogICNmbGFnczoKICAjMHgwMDAxICBJZiB0aGUgZm9ybSBjYW4gYmUgcmVtb3ZlZCBmcm9tIHRoZSBzeXN0ZW0KICAjZmllbGRzOiAgIExpc3Qgb2YgZmllbGRzIGZvciB0aGUgZm9ybQogICN0eXBlOiAgICAgICBGaWVsZCB0eXBlIChzaG9ydCBuYW1lKSAoZWcuICd0ZXh0JywgJ21lbW8nLCAncGhvbmUnLCAuLi4pCiAgI2xhYmVsOiAgICAgIEZpZWxkIGxhYmVsIHNob3duIHRvIHRoZSB1c2VyCiAgI25hbWU6ICAgICAgIE5hbWUgdXNlZCB3aXRoIHRoZSBkYXRhIGludGVybmFsbHkuIFRoaXMgaXMgZXNwZWNpYWxseQogICN1c2VmdWwgZm9yIHBhZ2UgYW5kIGVtYWlsIHRlbXBsYXRlcywgd2hlcmUgJXsgdGlja2V0LjxuYW1lPiB9CiAgI3dpbGwgYmUgdXNlZCB0byByZXRyaWV2ZSB0aGUgZGF0YSBmcm9tIHRoZSBmaWVsZC4KICAjaGludDogICAgICAgSGVscCB0ZXh0IHNob3duIHdpdGggdGhlIGZpZWxkCiAgI2ZsYWdzOiAgICAgIEJpdCBtYXNrIGZvciBzZXR0aW5ncyAmIG9wdGlvbnMKICAjIyBGcm9tIGNsYXNzIER5bmFtaWNGb3JtRmllbGQKICAjY29uc3QgRkxBR19NQVNLX0NIQU5HRSAgICAgID0gMHgwMDEwOyAgICAgIyBUeXBlIGNhbm5vdCBjaGFuZ2UKICAjY29uc3QgRkxBR19NQVNLX0RFTEVURSAgICAgID0gMHgwMDIwOyAgICAgIyBDYW5ub3QgYmUgZGVsZXRlZAogICNjb25zdCBGTEFHX01BU0tfRURJVCAgICAgICAgPSAweDAwNDA7ICAgICAjIERhdGEgY2Fubm90IGJlIGVkaXRlZAogICNjb25zdCBGTEFHX01BU0tfRElTQUJMRSAgICAgPSAweDAwODA7ICAgICAjIEZpZWxkIGNhbm5vdCBiZSBkaXNhYmxlZAogICNjb25zdCBGTEFHX01BU0tfUkVRVUlSRSAgICAgPSAweDEwMDAwOyAgICAjIFJlcXVpcmVtZW50IGNhbm5vdCBiZSBjaGFuZ2VkCiAgI2NvbnN0IEZMQUdfTUFTS19WSUVXICAgICAgICA9IDB4MjAwMDA7ICAgICMgVmlldyBzZXR0aW5ncyBjYW5ub3QgYmUgY2hhbmdlZAogICNjb25zdCBGTEFHX01BU0tfTkFNRSAgICAgICAgPSAweDQwMDAwOyAgICAjIE5hbWUgY2Fubm90IGJlIGNoYW5nZWQKICAjY29uZmlndXJhdGlvbjogRmllbGQtc3BlY2lmaWMgY29uZmlndXJhdGlvbgogICNzaXplOiAgICAgKHRleHQpIHdpZHRoIG9mIHRoZSBmaWVsZAogICNsZW5ndGg6ICAgKHRleHQpIG1heGltdW0gc2l6ZSBvZiB0aGUgZGF0YSBpbiB0aGUgZmllbGQKICAjY29sczogICAgIChtZW1vKSB3aWR0aCBvZiB0aGUgdGV4dGFyZWEKICAjcm93czogICAgIChtZW1vKSBoZWlnaHQgb2YgdGhlIHRleHRhcmVhCiAgIy0tLQogIGlkOiAxCiAgdHlwZTogVSAjbm90cmFucwogIHRpdGxlOiBDb250YWN0IGluZm9ybWF0aWUKICBmbGFnczogMQogIGZpZWxkczoKICAgIC0gCiAgICAgIHR5cGU6IHRleHQgI25vdHJhbnMKICAgICAgbmFtZTogZW1haWwgI25vdHJhbnMKICAgICAgbGFiZWw6IEUtbWFpbGFkcmVzCiAgICAgIHNvcnQ6IDEKICAgICAgZmxhZ3M6IDQ4OTM5NQogICAgICBjb25maWd1cmF0aW9uOgogICAgICAgIHNpemU6IDQwCiAgICAgICAgbGVuZ3RoOiA2NAogICAgICAgIHZhbGlkYXRvcjogZW1haWwgI25vdHJhbnMKICAgIC0gCiAgICAgIHR5cGU6IHRleHQgI25vdHJhbnMKICAgICAgbmFtZTogbmFtZSAjbm90cmFucwogICAgICBsYWJlbDogVm9sbGVkaWdlIG5hYW0KICAgICAgc29ydDogMgogICAgICBmbGFnczogNDg5Mzk1CiAgICAgIGNvbmZpZ3VyYXRpb246CiAgICAgICAgc2l6ZTogNDAKICAgICAgICBsZW5ndGg6IDY0CiAgICAtIAogICAgICB0eXBlOiBwaG9uZSAjbm90cmFucwogICAgICBuYW1lOiBwaG9uZSAjbm90cmFucwogICAgICBsYWJlbDogVGVsZWZvb25udW1tZXIKICAgICAgc29ydDogMwogICAgICBmbGFnczogMTMwNTcKICAgIC0gCiAgICAgIHR5cGU6IG1lbW8gI25vdHJhbnMKICAgICAgbmFtZTogbm90ZXMKICAgICAgbGFiZWw6IEludGVybmUgbm90aXRpZXMKICAgICAgc29ydDogNAogICAgICBmbGFnczogMTIyODkKICAgICAgY29uZmlndXJhdGlvbjoKICAgICAgICByb3dzOiA0CiAgICAgICAgY29sczogNDAKLSAKICBpZDogMgogIHR5cGU6IFQgI25vdHJhbnMKICB0aXRsZTogVGlja2V0IGRldGFpbHMKICBpbnN0cnVjdGlvbnM6IEJlc2NocmlqZiB1dyBwcm9ibGVlbSBvZiB2cmFhZwogIG5vdGVzOiB8CiAgICBEaXQgZm9ybXVsaWVyIHphbCBhYW4gZWxrIHRpY2tldCB3b3JkZW4gZ2Vrb3BwZWxkLCBvbmdlYWNodCBkZSBicm9uLiBVIGt1bnQgd2lsbGVrZXVyaWdlIHZlbGRlbiB0b2V2b2VnZW4gYWFuIGRpdCBmb3JtdWxpZXIgZW4gZGV6ZSB6dWxsZW4gdm9vciBhbGxlIHRpY2tldHMgYmVzY2hpa2JhYXIgemlqbiBlbiB3b3JkZW4gb29rIGRvb3J6b2VrYmFhciBtZXQgZ2VhdmFuY2VlcmQgem9la2VuIGVuIGQubS52LiBmaWx0ZXJzLgogIGZsYWdzOiAxCiAgZmllbGRzOgogICAgLSAKICAgICAgaWQ6IDIwCiAgICAgIHR5cGU6IHRleHQgI25vdHJhbnMKICAgICAgbmFtZTogc3ViamVjdCAjbm90cmFucwogICAgICBsYWJlbDogU2FtZW52YXR0aW5nIHZhbiBoZXQgcHJvYmxlZW0gb2YgZGUgdnJhYWcKICAgICAgc29ydDogMQogICAgICBmbGFnczogNDg5MjY1CiAgICAgIGNvbmZpZ3VyYXRpb246CiAgICAgICAgc2l6ZTogNDAKICAgICAgICBsZW5ndGg6IDUwCiAgICAtIAogICAgICBpZDogMjEKICAgICAgdHlwZTogdGhyZWFkICNub3RyYW5zCiAgICAgIG5hbWU6IG1lc3NhZ2UgI25vdHJhbnMKICAgICAgbGFiZWw6IFByb2JsZWVtIG9tc2NocmlqdmluZwogICAgICBoaW50OiBEZXRhaWxzIG92ZXIgZGUgcmVkZW4oZW4pIHZvb3IgaGV0IG9wZW5lbiB2YW4gaGV0IHRpY2tldC4KICAgICAgc29ydDogMgogICAgICBmbGFnczogNDgwNTQ3CiAgICAtIAogICAgICBpZDogMjIKICAgICAgdHlwZTogcHJpb3JpdHkgI25vdHJhbnMKICAgICAgbmFtZTogcHJpb3JpdHkgI25vdHJhbnMKICAgICAgbGFiZWw6IFByaW9yaXRlaXRzbml2ZWF1CiAgICAgIGZsYWdzOiAyNzQ2MDkKICAgICAgc29ydDogMwotIAogIHR5cGU6IEMgI25vdHJhbnMKICB0aXRsZTogQmVkcmlqZnNnZWdldmVucwogIGluc3RydWN0aW9uczogRGV0YWlscyBiZXNjaGlrYmFhciBpbiBlLW1haWxzamFibG9uZW4KICBmbGFnczogMQogIGZpZWxkczoKICAgIC0gCiAgICAgIHR5cGU6IHRleHQgI25vdHJhbnMKICAgICAgbmFtZTogbmFtZSAjbm90cmFucwogICAgICBsYWJlbDogQmVkcmlqZnNuYWFtCiAgICAgIHNvcnQ6IDEKICAgICAgZmxhZ3M6IDI5MTI0OQogICAgICBjb25maWd1cmF0aW9uOgogICAgICAgIHNpemU6IDQwCiAgICAgICAgbGVuZ3RoOiA2NAogICAgLSAKICAgICAgdHlwZTogdGV4dCAjbm90cmFucwogICAgICBuYW1lOiB3ZWJzaXRlICNub3RyYW5zCiAgICAgIGxhYmVsOiBXZWJzaXRlCiAgICAgIHNvcnQ6IDIKICAgICAgZmxhZ3M6IDI3NDcwNQogICAgICBjb25maWd1cmF0aW9uOgogICAgICAgIHNpemU6IDQwCiAgICAgICAgbGVuZ3RoOiA2NAogICAgLSAKICAgICAgdHlwZTogcGhvbmUgI25vdHJhbnMKICAgICAgbmFtZTogcGhvbmUgI25vdHJhbnMKICAgICAgbGFiZWw6IFRlbGVmb29ubnVtbWVyCiAgICAgIHNvcnQ6IDMKICAgICAgZmxhZ3M6IDI3NDcwNQogICAgICBjb25maWd1cmF0aW9uOgogICAgICAgIGV4dDogZmFsc2UKICAgIC0gCiAgICAgIHR5cGU6IG1lbW8gI25vdHJhbnMKICAgICAgbmFtZTogYWRkcmVzcwogICAgICBsYWJlbDogQWRyZXMKICAgICAgc29ydDogNAogICAgICBmbGFnczogMTI1NDUKICAgICAgY29uZmlndXJhdGlvbjoKICAgICAgICByb3dzOiAyCiAgICAgICAgY29sczogNDAKICAgICAgICBodG1sOiBmYWxzZQogICAgICAgIGxlbmd0aDogMTAwCi0gCiAgdHlwZTogTyAjbm90cmFucwogIHRpdGxlOiBJbmZvcm1hdGllIG92ZXIgZGUgb3JnYW5pc2F0aWUKICBpbnN0cnVjdGlvbnM6IEdlZ2V2ZW5zIG92ZXIgZGUgZ2VicnVpa2Vyc29yZ2FuaXNhdGllCiAgZmxhZ3M6IDEKICBmaWVsZHM6CiAgICAtIAogICAgICB0eXBlOiB0ZXh0ICNub3RyYW5zCiAgICAgIG5hbWU6IG5hbWUgI25vdHJhbnMKICAgICAgbGFiZWw6IE5hYW0KICAgICAgc29ydDogMQogICAgICBmbGFnczogNDg5Mzk1CiAgICAgIGNvbmZpZ3VyYXRpb246CiAgICAgICAgc2l6ZTogNDAKICAgICAgICBsZW5ndGg6IDY0CiAgICAtIAogICAgICB0eXBlOiBtZW1vCiAgICAgIG5hbWU6IGFkZHJlc3MKICAgICAgbGFiZWw6IEFkcmVzCiAgICAgIHNvcnQ6IDIKICAgICAgZmxhZ3M6IDEzMDU3CiAgICAgIGNvbmZpZ3VyYXRpb246CiAgICAgICAgcm93czogMgogICAgICAgIGNvbHM6IDQwCiAgICAgICAgbGVuZ3RoOiAxMDAKICAgICAgICBodG1sOiBmYWxzZQogICAgLSAKICAgICAgdHlwZTogcGhvbmUKICAgICAgbmFtZTogcGhvbmUKICAgICAgbGFiZWw6IFRlbGVmb29uCiAgICAgIHNvcnQ6IDMKICAgICAgZmxhZ3M6IDEzMDU3CiAgICAtIAogICAgICB0eXBlOiB0ZXh0CiAgICAgIG5hbWU6IHdlYnNpdGUKICAgICAgbGFiZWw6IFdlYnNpdGUKICAgICAgc29ydDogNAogICAgICBmbGFnczogMTMwNTcKICAgICAgY29uZmlndXJhdGlvbjoKICAgICAgICBzaXplOiA0MAogICAgICAgIGxlbmd0aDogMQogICAgLSAKICAgICAgdHlwZTogbWVtbyAjbm90cmFucwogICAgICBuYW1lOiBub3RlcwogICAgICBsYWJlbDogSW50ZXJuZSBub3RpdGllcwogICAgICBzb3J0OiA1CiAgICAgIGZsYWdzOiAxMjI4OQogICAgICBjb25maWd1cmF0aW9uOgogICAgICAgIHJvd3M6IDQKICAgICAgICBjb2xzOiA0MAotIAogIHR5cGU6IEEgI25vdHJhbnMKICB0aXRsZTogRGV0YWlscyBUYWFrCiAgaW5zdHJ1Y3Rpb25zOiBHZWxpZXZlIGhldCBwcm9ibGVlbSB0ZSBvbXNjaHJpanZlbgogIG5vdGVzOiB8CiAgICBEaXQgZm9ybXVsaWVyIHdvcmR0IGdlYnJ1aWt0IG9tIGVlbiB0YWFrIHRlIGNyZcOrcmVuLgogIGZsYWdzOiAxCiAgZmllbGRzOgogICAgLSAKICAgICAgdHlwZTogdGV4dCAjbm90cmFucwogICAgICBuYW1lOiB0aXRlbCAjbm90cmFucwogICAgICBmbGFnczogMjkwOTkzCiAgICAgIHNvcnQ6IDEKICAgICAgbGFiZWw6IFRpdGVsCiAgICAgIGNvbmZpZ3VyYXRpb246CiAgICAgICAgc2l6ZTogNDAKICAgICAgICBsZW5ndGg6IDUwCiAgICAtIAogICAgICB0eXBlOiB0aHJlYWQgI25vdHJhbnMKICAgICAgbmFtZTogZGVzY3JpcHRpb24gI25vdHJhbnMKICAgICAgZmxhZ3M6IDI4Mjg2NwogICAgICBzb3J0OiAyCiAgICAgIGxhYmVsOiBCZXNjaHJpanZpbmcKICAgICAgaGludDogRGV0YWlscyB2YW4gZGUgcmVkZW4oZW4pIG9tIGVlbiB0YWFrIHRlIGNyZcOrcmVuLgotLS0KLSAKICAjSW5pdGlhbCBvcmdhbml6YXRpb25zIGRlZmluZWQgZm9yIHRoZSBzeXN0ZW0uCiAgI0ZpZWxkczoKICAjbmFtZSAtIERlc2NyaXB0aXZlIG5hbWUgZm9yIHRoZSBvcmdhbml6YXRpb24KICAjZmllbGRzIC0gY3VzdG9tIGZpZWxkcwogICMtLS0KICBuYW1lOiBvc1RpY2tldAogIGZpZWxkczoKICAgICJhZGRyZXNzOnwgMTEyMCA1dGggU3RyZWV0IEFsZXhhbmRyaWEsIExBIDcxMzAxIHBob25lIjoKICAgICAgKDMxOCkgMjkwLTM2NzQgd2Vic2l0ZToKICAgICAgICAiaHR0cHM6Ly9vc3RpY2tldC5jb20gbm90ZXMiOiBXZSBvbnR3aWtrZWxlbiBuaWV0IGFsbGVlbiBkZSBzb2Z0d2FyZSwgd2UgZ2VicnVpa2VuIGhldCBvb2sgb20gdGUgb25kZXJzdGV1bmluZyB2b29yIG9zVGlja2V0IHRlIG1hbmFnZW4uIExhYXQgb25zIHUgaGVscGVuIG9tIG9zVGlja2V0IHNuZWwgdGUgaW1wbGVtZW50ZXJlbiBlbiBoZXQgdm9sbGVkaWdlIHBvdGVudGnDq2VsIHZhbiBvc1RpY2tldCdzIGtlbm1lcmtlbiBlbiBmdW5jdGlvbmFsaXRlaXQgdGUgZ2VicnVpa2VuLiBDb250YWN0ZWVyIG9ucyB2b29yIHByb2Zlc3Npb25lbGUgb25kZXJzdGV1bmluZyBvZiBiZXpvZWsgb256ZSB3ZWJzaXRlIHZvb3IgZG9jdW1lbnRhdGllIGVuIGh1bHAgdmFuIGRlIGNvbW11bml0eS4KLS0tCi0gCiAgI0luaXRpYWwgc2V0IG9mIHNjaGVkdWxlcyBhbmQgZW50cmllcwogICNGaWVsZHM6CiAgI2lkOgogICNmbGFnczoKICAjMHgwMTogICBGTEFHX0JJWkhSUyAoQnVzaW5lc3MgSG91cnMgLSBPdGhlcndpc2UgSG9saWRheXMgaXMgYXNzdW1lZCkKICAjc29ydDogICAgIE1hbnVhbCBzb3J0IG9yZGVyCiAgI25hbWU6ICAgICBOYW1lIG9mIHRoZSBTY2hlZHVsZQogICN0aW1lem9uZTogICBUaW1lem9uZSBvZiB0aGUgU2NoZWR1bGUKICAjZGVzY3JpcHRpb246ICAgRGVzY3JpcHRpb24gb2YgdGhlIFNjaGVkdWxlCiAgI2VudHJpZXM6ICAgICBTY2hlZHVsZSBFbnRyaWVzCiAgIy0tLQogIGlkOiAxCiAgZmxhZ3M6IDB4MDEKICBuYW1lOiBNb25kYXkgLSBGcmlkYXkgOGFtIC0gNXBtIHdpdGggVS5TLiBIb2xpZGF5cwogIGNvbmZpZ3VyYXRpb246CiAgICBob2xpZGF5czoKICAgICAgLSA0CiAgZW50cmllczoKICAgIC0gCiAgICAgIG5hbWU6IE1vbmRheQogICAgICByZXBlYXRzOiB3ZWVrbHkgI25vdHJhbnMKICAgICAgc3RhcnRzX29uOiAyMDE5LTAxLTA3CiAgICAgIHN0YXJ0c19hdDogMDg6MDA6MDAKICAgICAgZW5kc19vbjogMjAxOS0wMS0wNwogICAgICBlbmRzX2F0OiAxNzowMDowMAogICAgICBkYXk6IDEKICAgIC0gCiAgICAgIG5hbWU6IFR1ZXNkYXkKICAgICAgcmVwZWF0czogd2Vla2x5ICNub3RyYW5zCiAgICAgIHN0YXJ0c19vbjogMjAxOS0wMS0wOAogICAgICBzdGFydHNfYXQ6IDA4OjAwOjAwCiAgICAgIGVuZHNfb246IDIwMTktMDEtMDgKICAgICAgZW5kc19hdDogMTc6MDA6MDAKICAgICAgZGF5OiAyCiAgICAtIAogICAgICBuYW1lOiBXZWRuZXNkYXkKICAgICAgcmVwZWF0czogd2Vla2x5ICNub3RyYW5zCiAgICAgIHN0YXJ0c19vbjogMjAxOS0wMS0wOQogICAgICBzdGFydHNfYXQ6IDA4OjAwOjAwCiAgICAgIGVuZHNfb246IDIwMTktMDEtMDkKICAgICAgZW5kc19hdDogMTc6MDA6MDAKICAgICAgZGF5OiAzCiAgICAtIAogICAgICBuYW1lOiBUaHVyc2RheQogICAgICByZXBlYXRzOiB3ZWVrbHkgI25vdHJhbnMKICAgICAgc3RhcnRzX29uOiAyMDE5LTAxLTEwCiAgICAgIHN0YXJ0c19hdDogMDg6MDA6MDAKICAgICAgZW5kc19vbjogMjAxOS0wMS0xMAogICAgICBlbmRzX2F0OiAxNzowMDowMAogICAgICBkYXk6IDQKICAgIC0gCiAgICAgIG5hbWU6IEZyaWRheQogICAgICByZXBlYXRzOiB3ZWVrbHkgI25vdHJhbnMKICAgICAgc3RhcnRzX29uOiAyMDE5LTAxLTExCiAgICAgIHN0YXJ0c19hdDogMDg6MDA6MDAKICAgICAgZW5kc19vbjogMjAxOS0wMS0xMQogICAgICBlbmRzX2F0OiAxNzowMDowMAogICAgICBkYXk6IDUKLSAKICBpZDogMgogIGZsYWdzOiAweDAxCiAgbmFtZTogMjQvNwogIGVudHJpZXM6CiAgICAtIAogICAgICBuYW1lOiBEYWlseQogICAgICByZXBlYXRzOiBkYWlseSAjbm90cmFucwogICAgICBzdGFydHNfb246IDIwMTktMDEtMDEKICAgICAgc3RhcnRzX2F0OiAwMDowMDowMAogICAgICBlbmRzX29uOiAyMDE5LTAxLTAxCiAgICAgIGVuZHNfYXQ6IDIzOjU5OjU5Ci0gCiAgaWQ6IDMKICBmbGFnczogMHgwMQogIG5hbWU6IDI0LzUKICBlbnRyaWVzOgogICAgLSAKICAgICAgbmFtZTogV2Vla2RheXMKICAgICAgcmVwZWF0czogd2Vla2RheXMgI25vdHJhbnMKICAgICAgc3RhcnRzX29uOiAyMDE5LTAxLTAxCiAgICAgIHN0YXJ0c19hdDogMDA6MDA6MDAKICAgICAgZW5kc19vbjogMjAxOS0wMS0wMQogICAgICBlbmRzX2F0OiAyMzo1OTo1OQotIAogIGlkOiA0CiAgZmxhZ3M6IDEKICBuYW1lOiBVLlMuIEhvbGlkYXlzCiAgZW50cmllczoKICAgIC0gCiAgICAgIG5hbWU6IE5ldyBZZWFyJ3MgRGF5CiAgICAgIHJlcGVhdHM6IHllYXJseSAjbm90cmFucwogICAgICBzdGFydHNfb246IDIwMTktMDEtMDEKICAgICAgc3RhcnRzX2F0OiAwMDowMDowMAogICAgICBlbmRzX29uOiAyMDE5LTAxLTAxCiAgICAgIGVuZHNfYXQ6IDIzOjU5OjU5CiAgICAgIGRheTogMQogICAgICBtb250aDogMQogICAgLSAKICAgICAgbmFtZTogTUxLIERheQogICAgICByZXBlYXRzOiB5ZWFybHkgI25vdHJhbnMKICAgICAgc3RhcnRzX29uOiAyMDE5LTAxLTIxCiAgICAgIHN0YXJ0c19hdDogMDA6MDA6MDAKICAgICAgZW5kc19vbjogMjAxOS0wMS0yMQogICAgICBlbmRzX2F0OiAyMzo1OTo1OQogICAgICBkYXk6IDEKICAgICAgd2VlazogMwogICAgICBtb250aDogMQogICAgLSAKICAgICAgbmFtZTogTWVtb3JpYWwgRGF5CiAgICAgIHJlcGVhdHM6IHllYXJseSAjbm90cmFucwogICAgICBzdGFydHNfb246IDIwMTktMDUtMjcKICAgICAgc3RhcnRzX2F0OiAwMDowMDowMAogICAgICBlbmRzX29uOiAyMDE5LTA1LTI3CiAgICAgIGVuZHNfYXQ6IDIzOjU5OjU5CiAgICAgIGRheTogMQogICAgICB3ZWVrOiAtMQogICAgICBtb250aDogNQogICAgLSAKICAgICAgbmFtZTogSW5kZXBlbmRlbmNlIERheSAoNHRoIG9mIEp1bHkpCiAgICAgIHJlcGVhdHM6IHllYXJseSAjbm90cmFucwogICAgICBzdGFydHNfb246IDIwMTktMDctMDQKICAgICAgc3RhcnRzX2F0OiAwMDowMDowMAogICAgICBlbmRzX29uOiAyMDE5LTA3LTA0CiAgICAgIGVuZHNfYXQ6IDIzOjU5OjU5CiAgICAgIGRheTogNAogICAgICBtb250aDogNwogICAgLSAKICAgICAgbmFtZTogTGFib3IgRGF5CiAgICAgIHJlcGVhdHM6IHllYXJseSAjbm90cmFucwogICAgICBzdGFydHNfb246IDIwMTktMDktMDIKICAgICAgc3RhcnRzX2F0OiAwMDowMDowMAogICAgICBlbmRzX29uOiAyMDE5LTA5LTAyCiAgICAgIGVuZHNfYXQ6IDIzOjU5OjU5CiAgICAgIGRheTogMQogICAgICB3ZWVrOiAxCiAgICAgIG1vbnRoOiA5CiAgICAtIAogICAgICBuYW1lOiBJbmRpZ2Vub3VzIFBlb3BsZXMnIERheSAoV2hvZGF0IENvbHVtYnVzKQogICAgICByZXBlYXRzOiB5ZWFybHkgI25vdHJhbnMKICAgICAgc3RhcnRzX29uOiAyMDE5LTEwLTE0CiAgICAgIHN0YXJ0c19hdDogMDA6MDA6MDAKICAgICAgZW5kc19vbjogMjAxOS0xMC0xNAogICAgICBlbmRzX2F0OiAyMzo1OTo1OQogICAgICBkYXk6IDEKICAgICAgd2VlazogMgogICAgICBtb250aDogMTAKICAgIC0gCiAgICAgIG5hbWU6IFZldGVyYW5zIERheQogICAgICByZXBlYXRzOiB5ZWFybHkgI25vdHJhbnMKICAgICAgc3RhcnRzX29uOiAyMDE5LTExLTExCiAgICAgIHN0YXJ0c19hdDogMDA6MDA6MDAKICAgICAgZW5kc19vbjogMjAxOS0xMS0xMQogICAgICBlbmRzX2F0OiAyMzo1OTo1OQogICAgICBkYXk6IDExCiAgICAgIG1vbnRoOiAxMQogICAgLSAKICAgICAgbmFtZTogVGhhbmtzZ2l2aW5nIERheQogICAgICByZXBlYXRzOiB5ZWFybHkgI25vdHJhbnMKICAgICAgc3RhcnRzX29uOiAyMDE5LTExLTI4CiAgICAgIHN0YXJ0c19hdDogMDA6MDA6MDAKICAgICAgZW5kc19vbjogMjAxOS0xMS0yOAogICAgICBlbmRzX2F0OiAyMzo1OTo1OQogICAgICBkYXk6IDQKICAgICAgd2VlazogNAogICAgICBtb250aDogMTEKICAgIC0gCiAgICAgIG5hbWU6IENocmlzdG1hcyBEYXkKICAgICAgcmVwZWF0czogeWVhcmx5ICNub3RyYW5zCiAgICAgIHN0YXJ0c19vbjogMjAxOS0xMS0yNQogICAgICBzdGFydHNfYXQ6IDAwOjAwOjAwCiAgICAgIGVuZHNfb246IDIwMTktMTEtMjUKICAgICAgZW5kc19hdDogMjM6NTk6NTkKICAgICAgZGF5OiAyNQogICAgICBtb250aDogMTIKLS0tCiNEZWZhdWx0IGNvbmZpZ3VyYXRpb24uIFRoZSBmb3JtYXQgaXMga2V5OiB2YWx1ZSBhbmQgdGhlIGRhdGEgd2lsbCBiZQojaW5zZXJ0ZWQgaW50byB0aGUgJWNvbmZpZyB0YWJsZSBhdCBpbnN0YWxsIHRpbWUKIy0tLQpjb3JlOgogIHRpbWVfZm9ybWF0OiAnSEg6bW0nCiAgZGF0ZV9mb3JtYXQ6ICdkZC9NTS95eXl5JwogIGRhdGV0aW1lX2Zvcm1hdDogJ01NL2RkL3kgaDptbSBhJwogIGRheWRhdGV0aW1lX2Zvcm1hdDogJ0VFRSwgZCBNTU0geSBIOm1tJwogIGRlZmF1bHRfcHJpb3JpdHlfaWQ6IDIKICBlbmFibGVfZGF5bGlnaHRfc2F2aW5nOiAxCiAgcmVwbHlfc2VwYXJhdG9yOiAnLS1hbnR3b29yZCBib3ZlbiBkZXplIHJlZ2VsLS0nCiAgI0RvIG5vdCB0cmFuc2xhdGUgYmVsb3cgaGVyZQogIGlzb25saW5lOiAxCiAgc3RhZmZfaXBfYmluZGluZzogMQogIHN0YWZmX21heF9sb2dpbnM6IDQKICBzdGFmZl9sb2dpbl90aW1lb3V0OiAyCiAgc3RhZmZfc2Vzc2lvbl90aW1lb3V0OiAzMAogIHBhc3N3ZF9yZXNldF9wZXJpb2Q6IDEKICBjbGllbnRfbWF4X2xvZ2luczogNAogIGNsaWVudF9sb2dpbl90aW1lb3V0OiAyCiAgY2xpZW50X3Nlc3Npb25fdGltZW91dDogMzAKICBtYXhfcGFnZV9zaXplOiAyNQogIG1heF9vcGVuX3RpY2tldHM6IDEKICBhdXRvbG9ja19taW51dGVzOiAzCiAgZGVmYXVsdF9zbXRwX2lkOiAxCiAgdXNlX2VtYWlsX3ByaW9yaXR5OiAxCiAgZW5hYmxlX2tiOiAxCiAgZW5hYmxlX3ByZW1hZGU6IDEKICBlbmFibGVfY2FwdGNoYTogMQogIGVuYWJsZV9hdXRvX2Nyb246IDEKICBlbmFibGVfbWFpbF9wb2xsaW5nOiAxCiAgc2VuZF9zeXNfZXJyb3JzOiAxCiAgc2VuZF9zcWxfZXJyb3JzOiAxCiAgc2VuZF9sb2dpbl9lcnJvcnM6IDEKICBzYXZlX2VtYWlsX2hlYWRlcnM6IDEKICBzdHJpcF9xdW90ZWRfcmVwbHk6IDEKICB0aWNrZXRfYXV0b3Jlc3BvbmRlcjogMQogIG1lc3NhZ2VfYXV0b3Jlc3BvbmRlcjogMQogIHRpY2tldF9ub3RpY2VfYWN0aXZlOiAxCiAgdGlja2V0X2FsZXJ0X2FjdGl2ZTogMQogIHRpY2tldF9hbGVydF9hZG1pbjogMQogIHRpY2tldF9hbGVydF9kZXB0X21hbmFnZXI6IDEKICB0aWNrZXRfYWxlcnRfZGVwdF9tZW1iZXJzOiAxCiAgbWVzc2FnZV9hbGVydF9hY3RpdmU6IDEKICBtZXNzYWdlX2FsZXJ0X2xhc3RzdGFmZjogMQogIG1lc3NhZ2VfYWxlcnRfYXNzaWduZWQ6IDEKICBtZXNzYWdlX2FsZXJ0X2RlcHRfbWFuYWdlcjogMQogIG5vdGVfYWxlcnRfYWN0aXZlOiAxCiAgbm90ZV9hbGVydF9sYXN0c3RhZmY6IDEKICBub3RlX2FsZXJ0X2Fzc2lnbmVkOiAxCiAgbm90ZV9hbGVydF9kZXB0X21hbmFnZXI6IDEKICB0cmFuc2Zlcl9hbGVydF9hY3RpdmU6IDEKICB0cmFuc2Zlcl9hbGVydF9hc3NpZ25lZDogMQogIHRyYW5zZmVyX2FsZXJ0X2RlcHRfbWFuYWdlcjogMQogIHRyYW5zZmVyX2FsZXJ0X2RlcHRfbWVtYmVyczogMQogIG92ZXJkdWVfYWxlcnRfYWN0aXZlOiAxCiAgb3ZlcmR1ZV9hbGVydF9hc3NpZ25lZDogMQogIG92ZXJkdWVfYWxlcnRfZGVwdF9tYW5hZ2VyOiAxCiAgb3ZlcmR1ZV9hbGVydF9kZXB0X21lbWJlcnM6IDEKICBhc3NpZ25lZF9hbGVydF9hY3RpdmU6IDEKICBhc3NpZ25lZF9hbGVydF9zdGFmZjogMQogIGFzc2lnbmVkX2FsZXJ0X3RlYW1fbGVhZDogMQogIGFzc2lnbmVkX2FsZXJ0X3RlYW1fbWVtYmVyczogMQogIGF1dG9fY2xhaW1fdGlja2V0czogMQogIGNvbGxhYm9yYXRvcl90aWNrZXRfdmlzaWJpbGl0eTogMQogIHJlcXVpcmVfdG9waWNfdG9fY2xvc2U6IDEKICBzaG93X3JlbGF0ZWRfdGlja2V0czogMQogIHNob3dfYXNzaWduZWRfdGlja2V0czogMQogIHNob3dfYW5zd2VyZWRfdGlja2V0czogMQogIGhpZGVfc3RhZmZfbmFtZTogMQogIG92ZXJsaW1pdF9ub3RpY2VfYWN0aXZlOiAxCiAgZW1haWxfYXR0YWNobWVudHM6IDEKICB0aWNrZXRfbnVtYmVyX2Zvcm1hdDogJyMjIyMjIycKICB0aWNrZXRfc2VxdWVuY2VfaWQ6IDEKICBxdWV1ZV9idWNrZXRfY291bnRzOiAxCiAgdGFza19udW1iZXJfZm9ybWF0OiAnIycKICB0YXNrX3NlcXVlbmNlX2lkOiAyCiAgbG9nX2xldmVsOiAyCiAgbG9nX2dyYWNlcGVyaW9kOiAxMgogIGNsaWVudF9yZWdpc3RyYXRpb246ICdwdWJsaWMnCiAgZGVmYXVsdF90aWNrZXRfcXVldWU6IDEKLS0tCi0gCiAgI0RlcGFydG1lbnRzIGRlZmluZWQgaW5pdGlhbGx5IGZvciB0aGUgc3lzdGVtCiAgI0ZpZWxkczoKICAjaWQgLSAoaW50Om9wdGlvbmFsKSBpZCBudW1iZXIgaW4gdGhlIGRhdGFiYXNlCiAgI2ZsYWdzIC0gKGJpdG1hc2s6IDB4MDAwNCBBY3RpdmUgMHgwMDA4IEFyY2hpdmVkKQogICNuYW1lIC0gKHN0cmluZykgU2hvcnQgbmFtZSBvZiB0aGUgZGVwYXJ0bWVudAogICNzaWduYXR1cmUgLSAoc3RyaW5nKSBEZXNjcmlwdGl2ZSBuYW1lIG9mIHRoZSBkZXBhcnRtZW50CiAgI05PVEU6IFRoZSBkZXBhcnRtZW50IGxpc3RlZCBmaXJzdCBieSBJRCMgd2lsbCBiZSB0aGUgZGVmYXVsdCBkZXBhcnRtZW50CiAgI05PVEU6IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICNUaGUgdmVyeSBmaXJzdCBncm91cCBsaXN0ZWQgaW4gdGhpcyBkb2N1bWVudCB3aWxsIGJlIHRoZSBwcmltYXJ5CiAgI2RlcGFydG1lbnQgb2YgdGhlIGluaXRpYWwgc3RhZmYgbWVtYmVyIC0tIHRoZSBhZG1pbmlzdHJhdG9yLgogICMtLS0KICBpZDogMQogIG5hbWU6IFN1cHBvcnQKICBzaWduYXR1cmU6IHwKICAgIFN1cHBvcnQgYWZkZWxpbmcKICBpc3B1YmxpYzogMQogIGZsYWdzOiAweDAwMDQKICBncm91cF9tZW1iZXJzaGlwOiAxCi0gCiAgaWQ6IDIKICBuYW1lOiBWZXJrb29wCiAgc2lnbmF0dXJlOiB8CiAgICBWZXJrb29wIGVuIGtsYW50ZW5iaW5kaW5nCiAgaXNwdWJsaWM6IDEKICBmbGFnczogMHgwMDA0CiAgc2xhX2lkOiAxCiAgZ3JvdXBfbWVtYmVyc2hpcDogMQotIAogIGlkOiAzCiAgbmFtZTogT25kZXJob3VkCiAgc2lnbmF0dXJlOiB8CiAgICBPbmRlcmhvdWRzYWZkZWxpbmcKICBpc3B1YmxpYzogMQogIGZsYWdzOiAweDAwMDQKICBncm91cF9tZW1iZXJzaGlwOiAxCi0tLQotIAogICNEZWZhdWx0IGhlbHAgdG9waWNzIGluc3RhbGxlZCBmb3IgdGhlIHN5c3RlbQogICNGaWVsZHM6CiAgI2lkIC0gKGludDpvcHRpb25hbCkgaWQgbnVtYmVyIGluIHRoZSBkYXRhYmFzZQogICN0b3BpYyAtIChzdHJpbmcpIGRlc2NyaXB0aXZlIG5hbWUgb2YgdGhlIGhlbHAgdG9waWMKICAjZmxhZ3MgLSAoYml0bWFzazogQWN0aXZlIHwgRGlzYWJsZWQgfCBBcmNoaXZlZCkKICAjaXNwdWJsaWMgLSAoYm9vbDowfDEpIHRydWUgb3IgZmFsc2UgaWYgZW5kIHVzZXJzIHNob3VsZCBiZSBhYmxlIHRvIHNlZSB0aGUKICAjaGVscCB0b3BpYy4gSW4gb3RoZXIgd29yZHMsIHRydWUgb3IgZmFsc2UgaWYgdGhlIGhlbHAgdG9waWMgaXMgX25vdF8KICAjZm9yIGludGVybmFsIHVzZSBvbmx5CiAgI25vYXV0b3Jlc3AgLSAoYm9vbDoxKSB0cnVlIHRvIGRpc2FibGUgdGhlIGF1dG8tcmVzcG9uZGVyIGZvciB0aWNrZXRzCiAgI2Fzc2lnbmVkIHRvIHRoaXMgaGVscCB0b3BpYy4gTk9URSB0aGF0IHRoaXMgZmllbGQgbXVzdCBiZSBjb21wbGV0ZWx5CiAgI29taXR0ZWQgdG8gRU5BQkxFIHRoZSBhdXRvLXJlc3BvbnNlIGJ5IGRlZmF1bHQKICAjZGVwdF9pZCAtIChpbnQpIGlkIG51bWJlciBvZiB0aGUgZGVwYXJ0bWVudCB3aXRoIHdoaWNoIHRoaXMgaGVscCB0b3BpYyBpcwogICNhc3NvY2lhdGVkCiAgI3NsYV9pZCAtIChpbnQ6b3B0aW9uYWwpIGlkIG51bWJlciBvZiB0aGUgc2xhIHdpdGggd2hpY2ggdGhpcyBoZWxwIHRvcGljIGlzCiAgI2Fzc29jaWF0ZWQKICAjbm90ZXMgLSAoc3RyaW5nKSBhZG1pbmlzdHJhdGl2ZSBub3RlcyAoaW50ZXJuYWxseSB2aWV3YWJsZSBvbmx5KQogICMtLS0KICB0b3BpY19pZDogMQogIGZsYWdzOiAweDAyCiAgaXNwdWJsaWM6IDEKICBwcmlvcml0eV9pZDogMgogIGZvcm1zOgogICAgLSAyCiAgdG9waWM6IEFsZ2VtZW5lIHZyYWFnCiAgbm90ZXM6IHwKICAgIFZyYWdlbiBvdmVyIHByb2R1Y3RlbiBvZiBkaWVuc3RlbgotIAogIHRvcGljX2lkOiAyCiAgZmxhZ3M6IDB4MDIKICBpc3B1YmxpYzogMQogIHByaW9yaXR5X2lkOiAxCiAgZm9ybXM6CiAgICAtIDIKICB0b3BpYzogVGVydWdrb3BwZWxpbmcKICBub3RlczogfAogICAgVGlja2V0cyBkaWUgdm9vcm5hbWVsaWprIGJldHJla2tpbmcgaGViYmVuIG9wIGRlIGFmZGVsaW5nZW4gdmVya29vcCBlbiBmYWN0dXJhdGllCi0gCiAgdG9waWNfaWQ6IDEwCiAgZmxhZ3M6IDB4MDIKICBpc3B1YmxpYzogMQogIGRlcHRfaWQ6IDMKICBwcmlvcml0eV9pZDogMgogIGZvcm1zOgogICAgLSAyCiAgdG9waWM6IE1lbGQgZWVuIHByb2JsZWVtCiAgbm90ZXM6IHwKICAgIFByb2R1Y3QsIGRpZW5zdCBvZiBhcHBhcmF0dXVyIGdlcmVsYXRlZXJkZSB6YWtlbgotIAogIHRvcGljX3BpZDogMTAKICBmbGFnczogMHgwMgogIGlzcHVibGljOiAxCiAgc2xhX2lkOiAxCiAgcHJpb3JpdHlfaWQ6IDMKICBmb3JtczoKICAgIC0gMgogIHRvcGljOiBJbmxvZ3Byb2JsZW1lbgogIG5vdGVzOiB8CiAgICBNZWxkIGVlbiBwcm9ibGVlbSBhYW4gbWV0IGRlIHRvZWdhbmcgdG90IGVlbiBmeXNpZWsgb2YgdmlydHVlZWwgb25kZXJkZWVsCi0tLQotIAogICNDb2x1bW5zIGFyZSBub3QgbmVjZXNzYXJ5IGFuZCBhIGRlZmF1bHQgbGlzdCBpcyB1c2VkIGlmIG5vIGNvbHVtbnMgYXJlCiAgI3NwZWNpZmllZC4KICAjRmllbGRzOgogICNpZDoKICAjZmxhZ3M6ICAgICAgKHVudXNlZCkKICAjbmFtZTogICAgICAgRGlzcGxheSBuYW1lIG9mIHRoZSBjb2x1bW4KICAjcHJpbWFyeTogICAgRGF0YSBzb3VyY2UgZm9yIHRoZSBmaWVsZAogICNzZWNvbmRhcnk6ICBCYWNrdXAgZGF0YSBzb3VyY2UgLyBkZWZhdWx0IHRleHQKICAjZmlsdGVyOiAgICAgV2hhdCB0aGUgZmllbGQgc2hvdWxkIGxpbmsgdG8KICAjJ2xpbms6dGlja2V0JzogICAgVGlja2V0CiAgIydsaW5rOnVzZXInOiAgICAgIFVzZXIKICAjJ2xpbms6b3JnJzogICAgICAgT3JnYW5pemF0aW9uCiAgIydsaW5rOnRpY2tldFAnOiAgIFRpY2tldCB3aXRoIGhvdmVyIHByZXZpZXcKICAjdHJ1bmNhdGU6CiAgIyd3cmFwJzogICBGb2xkIHdvcmRzIG9uIG11bHRpcGxlIGxpbmVzCiAgI2Fubm90YXRpb25zOgogICNjOiAgICAgICAgQW5ub3RhdGlvbiBjbGFzcyBuYW1lCiAgI3A6ICAgICAgICBQbGFjZW1lbnQKICAjJ2EnOiAgICBBZnRlciBjb2x1bW4gdGV4dAogICMnYic6ICAgIEJlZm9yZSBjb2x1bW4gdGV4dAogICMnPCc6ICAgIEZsb2F0IHRvIHN0YXJ0IChsZWZ0KQogICMnPic6ICAgIEZsb2F0IHRvIGVuZCAocmlnaHQpCiAgI2NvbmRpdGlvbnM6CiAgI2NyaXQ6ICAgICBDcml0ZXJpYSBmb3IgdGhlIGNvbmRpZGl0b24sIGluIHRoZSBmb3JtIG9mIFtmaWVsZCwgbWV0aG9kLCB2YWx1ZV0KICAjcHJvcDogICAgIEFycmF5IG9mIENTUyBwcm9wZXJ0aWVzIHRvIGFwcGx5IHRvIHRoZSBmaWVsZAogICMnZm9udC13ZWlnaHQnOgogICMnZm9udC1zdHlsZSc6CiAgIy4uLgogICNleHRyYTogICAgICAoZnV0dXJlIHVzZSBhbmQgZm9yIHBsdWdpbnMpCiAgIy0tLQogIGlkOiAxCiAgbmFtZTogIlRpY2tldCAjIgogIHByaW1hcnk6ICJudW1iZXIiCiAgZmlsdGVyOiAibGluazp0aWNrZXRQIgogIHRydW5jYXRlOiAid3JhcCIKICBhbm5vdGF0aW9uczogJ1t7ImMiOiJUaWNrZXRTb3VyY2VEZWNvcmF0aW9uIiwicCI6ImIifV0nCiAgY29uZGl0aW9uczogJ1t7ImNyaXQiOlsiaXNhbnN3ZXJlZCIsIm5zZXQiLG51bGxdLCJwcm9wIjp7ImZvbnQtd2VpZ2h0IjoiYm9sZCJ9fV0nCi0gCiAgaWQ6IDIKICBuYW1lOiAiQWFubWFha2RhdHVtIgogIHByaW1hcnk6ICJhYW5nZW1hYWt0IgogIHNlY29uZGFyeTogbnVsbAogIGZpbHRlcjogImRhdGU6ZnVsbCIKICB0cnVuY2F0ZTogIndyYXAiCiAgYW5ub3RhdGlvbnM6ICJbXSIKICBjb25kaXRpb25zOiAiW10iCi0gCiAgaWQ6IDMKICBuYW1lOiAiT25kZXJ3ZXJwIgogIHByaW1hcnk6ICJjZGF0YV9fc3ViamVjdCIKICBmaWx0ZXI6ICJsaW5rOnRpY2tldCIKICB0cnVuY2F0ZTogImVsbGlwc2lzIgogIGFubm90YXRpb25zOiAnW3siYyI6IlRpY2tldFRocmVhZENvdW50IiwicCI6Ij4ifSx7ImMiOiJUaHJlYWRBdHRhY2htZW50Q291bnQiLCJwIjoiYSJ9LHsiYyI6Ik92ZXJkdWVGbGFnRGVjb3JhdGlvbiIsInAiOiI8In0seyJjIjoiTG9ja0RlY29yYXRpb24iLCJwIjoiPCJ9XScKICBjb25kaXRpb25zOiAnW3siY3JpdCI6WyJpc2Fuc3dlcmVkIiwibnNldCIsbnVsbF0sInByb3AiOnsiZm9udC13ZWlnaHQiOiJib2xkIn19XScKLSAKICBpZDogNAogIG5hbWU6ICJVc2VyIE5hbWUiCiAgcHJpbWFyeTogInVzZXJfX25hbWUiCiAgdHJ1bmNhdGU6ICJ3cmFwIgogIGFubm90YXRpb25zOiAnW3siYyI6IlRocmVhZENvbGxhYm9yYXRvckNvdW50IiwicCI6Ij4ifV0nCiAgY29uZGl0aW9uczogIltdIgotIAogIGlkOiA1CiAgbmFtZTogIlByaW9yaXRlaXQiCiAgcHJpbWFyeTogImNkYXRhX19wcmlvcml0eSIKICB0cnVuY2F0ZTogIndyYXAiCiAgYW5ub3RhdGlvbnM6ICJbXSIKICBjb25kaXRpb25zOiAiW10iCi0gCiAgaWQ6IDYKICBuYW1lOiAiU3RhdHVzIgogIHByaW1hcnk6ICJzdGF0dXNfX2lkIgogIHRydW5jYXRlOiAid3JhcCIKICBhbm5vdGF0aW9uczogIltdIgogIGNvbmRpdGlvbnM6ICJbXSIKLSAKICBpZDogNwogIG5hbWU6ICJTbHVpdGluZ3NkYXR1bSIKICBwcmltYXJ5OiAiZ2VzbG90ZW4iCiAgZmlsdGVyOiAiZGF0ZTpmdWxsIgogIHRydW5jYXRlOiAid3JhcCIKICBhbm5vdGF0aW9uczogIltdIgogIGNvbmRpdGlvbnM6ICJbXSIKLSAKICBpZDogMTUKICBuYW1lOiAiVG9lZ2V3ZXplbmUiCiAgcHJpbWFyeTogImFzc2lnbmVlIgogIHRydW5jYXRlOiAid3JhcCIKICBhbm5vdGF0aW9uczogIltdIgogIGNvbmRpdGlvbnM6ICJbXSIKLSAKICBpZDogOQogIG5hbWU6ICJWZXJ2YWxkYXR1bSIKICBwcmltYXJ5OiAiZHVlZGF0ZSIKICBzZWNvbmRhcnk6ICJlc3RfZHVlZGF0ZSIKICBmaWx0ZXI6ICJkYXRlOmh1bWFuIgogIHRydW5jYXRlOiAid3JhcCIKICBhbm5vdGF0aW9uczogIltdIgogIGNvbmRpdGlvbnM6ICJbXSIKLSAKICBpZDogMTAKICBuYW1lOiAiTGFhdHN0IGJpamdld2Vya3QiCiAgcHJpbWFyeTogImxhc3R1cGRhdGUiCiAgZmlsdGVyOiAiZGF0ZTpmdWxsIgogIHRydW5jYXRlOiAid3JhcCIKICBhbm5vdGF0aW9uczogIltdIgogIGNvbmRpdGlvbnM6ICJbXSIKLSAKICBpZDogMTEKICBuYW1lOiAiQWZkZWxpbmciCiAgcHJpbWFyeTogImRlcHRfaWQiCiAgdHJ1bmNhdGU6ICJ3cmFwIgogIGFubm90YXRpb25zOiAiW10iCiAgY29uZGl0aW9uczogIltdIgotIAogIGlkOiAxMgogIG5hbWU6ICJMYWF0c3RlIGJlcmljaHQiCiAgcHJpbWFyeTogInRocmVhZF9fbGFzdG1lc3NhZ2UiCiAgZmlsdGVyOiAiZGF0ZTpodW1hbiIKICB0cnVuY2F0ZTogIndyYXAiCiAgYW5ub3RhdGlvbnM6ICJbXSIKICBjb25kaXRpb25zOiAiW10iCi0gCiAgaWQ6IDEzCiAgbmFtZTogIkxhYXRzdGUgcmVhY3RpZSIKICBwcmltYXJ5OiAidGhyZWFkX19sYXN0cmVzcG9uc2UiCiAgZmlsdGVyOiAiZGF0ZTpodW1hbiIKICB0cnVuY2F0ZTogIndyYXAiCiAgYW5ub3RhdGlvbnM6ICJbXSIKICBjb25kaXRpb25zOiAiW10iCi0gCiAgaWQ6IDE0CiAgbmFtZTogInRlYW0iCiAgcHJpbWFyeTogInRlYW1faWQiCiAgdHJ1bmNhdGU6ICJ3cmFwIgogIGFubm90YXRpb25zOiAiW10iCiAgY29uZGl0aW9uczogIltdIgotLS0KLSAKICAjQ29sdW1ucyBhcmUgbm90IG5lY2Vzc2FyeSBhbmQgYSBkZWZhdWx0IGxpc3QgaXMgdXNlZCBpZiBubyBjb2x1bW5zIGFyZQogICNzcGVjaWZpZWQuCiAgI0ZpZWxkczoKICAjaWQ6CiAgIy0tLQogIGlkOiAxCiAgbmFtZTogUHJpb3JpdGVpdCBlbiBNZWVzdCBhY3R1ZWxlCiAgY29sdW1uczogJ1siLWNkYXRhX19wcmlvcml0eSIsIi1sYXN0dXBkYXRlIl0nCi0gCiAgaWQ6IDIKICBuYW1lOiBQcmlvcml0ZWl0IGVuIE1lZXN0IGFjdHVlZWwgYWFuZ2VtYWFrdAogIGNvbHVtbnM6ICdbIi1jZGF0YV9fcHJpb3JpdHkiLCItY3JlYXRlZCJdJwotIAogIGlkOiAzCiAgbmFtZTogUHJpb3JpdGVpdCBlbiB2ZXJsb29wZGF0dW0KICBjb2x1bW5zOiAnWyItY2RhdGFfX3ByaW9yaXR5IiwiLWVzdF9kdWVkYXRlIl0nCi0gCiAgaWQ6IDQKICBuYW1lOiBWZXJ2YWxkYXR1bQogIGNvbHVtbnM6ICdbIi1lc3RfZHVlZGF0ZSJdJwotIAogIGlkOiA1CiAgbmFtZTogU2x1aXRkYXR1bQogIGNvbHVtbnM6ICdbIi1jbG9zZWQiXScKLSAKICBpZDogNgogIG5hbWU6IEFhbm1hYWtkYXR1bQogIGNvbHVtbnM6ICdbIi1jcmVhdGVkIl0nCi0gCiAgaWQ6IDcKICBuYW1lOiBVcGRhdGUgRGF0ZQogIGNvbHVtbnM6ICdbIi1sYXN0dXBkYXRlIl0nCi0tLQotIAogICNCYXNpYyBxdWV1ZXMgZm9yIHRoZSBpbml0aWFsIHRpY2tldCBzeXN0ZW0uIFF1ZXVlcyBpbnN0YWxsZWQgZm9yCiAgIy0gT3BlbiAvIEFsbAogICMtIE9wZW4gLyBVbmFzc2lnbmVkCiAgIy0gT3BlbiAvIE92ZXJkdWUKICAjLSBBbnN3ZXJlZCAvIEFsbAogICMtIE15IFRpY2tldHMgLyBBbGwKICAjLSBDbG9zZWQgLyBBbGwKICAjRmllbGRzOgogICNpZDoKICAjcGFyZW50X2lkOgogICNmbGFnczoKICAjMHgwMTogICBGTEFHX1BVQkxJQwogICMweDAyOiAgIEZMQUdfUVVFVUUgKHNob3VsZCBiZSBzZXQgZm9yIGV2ZXJ5dGhpbmcgaGVyZSkKICAjMHgwNDogICBGTEFHX0RJU0FCTEVECiAgIzB4MDg6ICAgRkxBR19JTkhFUklUIChpbmhlcml0IGNyaXRlcmlhIGZyb20gcGFyZW50KQogICMweDEwOiAgIEZMQUdfSU5IRVJJVF9DT0xVTU5TCiAgIzB4MjA6ICAgRkxBR19JTkhFUklUX1NPUlRJTkcKICAjc3RhZmZfaWQ6IFVzZXIgb3duZXIgb2YgdGhlIHF1ZXVlCiAgI3NvcnQ6ICAgICBNYW51YWwgc29ydCBvcmRlcgogICN0aXRsZTogICAgRGlzcGxheSBuYW1lIG9mIHRoZSBxdWV1ZQogICNjb25maWc6ICAgQ3JpdGVyaWEgY29uZmlndXJhdGlvbgogICNmaWx0ZXI6ICAgUXVpY2sgZmlsdGVyIGZpZWxkCiAgI3Jvb3Q6ICAgICBPYmplY3QgdHlwZSBvZiB0aGUgcXVldWUgbGlzdGluZwogICMnVCc6ICAgIFRpY2tldHMKICAjJ0EnOiAgICBUYXNrcwogICMtLS0KICBpZDogMQogIHRpdGxlOiBPcGVuCiAgcGFyZW50X2lkOiAxCiAgZmxhZ3M6IDB4MDMKICBzb3J0OiAxCiAgc29ydF9pZDogMQogIHJvb3Q6IFQKICBjb25maWc6ICdbWyJzdGF0dXNfX3N0YXRlIiwiaW5jbHVkZXMiLHsib3BlbiI6Ik9wZW4ifV1dJwogIGNvbHVtbnM6CiAgICAtIAogICAgICBjb2x1bW5faWQ6IDEKICAgICAgYml0czogMQogICAgICBzb3J0OiAxCiAgICAgIHdpZHRoOiAxMDAKICAgICAgaGVhZGluZzogVGlja2V0CiAgICAtIAogICAgICBjb2x1bW5faWQ6IDEwCiAgICAgIGJpdHM6IDEKICAgICAgc29ydDogMgogICAgICB3aWR0aDogMTUwCiAgICAgIGhlYWRpbmc6IExhYXRzdCBiaWpnZXdlcmt0CiAgICAtIAogICAgICBjb2x1bW5faWQ6IDMKICAgICAgYml0czogMQogICAgICBzb3J0OiAzCiAgICAgIHdpZHRoOiAzMDAKICAgICAgaGVhZGluZzogT25kZXJ3ZXJwCiAgICAtIAogICAgICBjb2x1bW5faWQ6IDQKICAgICAgYml0czogMQogICAgICBzb3J0OiA0CiAgICAgIHdpZHRoOiAxODUKICAgICAgaGVhZGluZzogVmFuCiAgICAtIAogICAgICBjb2x1bW5faWQ6IDUKICAgICAgYml0czogMQogICAgICBzb3J0OiA1CiAgICAgIHdpZHRoOiA4NQogICAgICBoZWFkaW5nOiBQcmlvcml0ZWl0CiAgICAtIAogICAgICBjb2x1bW5faWQ6IDE1CiAgICAgIGJpdHM6IDEKICAgICAgc29ydDogNgogICAgICB3aWR0aDogMTYwCiAgICAgIGhlYWRpbmc6IFRvZWdld2V6ZW4gYWFuCiAgc29ydHM6CiAgICAtIAogICAgICBzb3J0X2lkOiAxCiAgICAtIAogICAgICBzb3J0X2lkOiAyCiAgICAtIAogICAgICBzb3J0X2lkOiAzCiAgICAtIAogICAgICBzb3J0X2lkOiA0CiAgICAtIAogICAgICBzb3J0X2lkOiA2CiAgICAtIAogICAgICBzb3J0X2lkOiA3Ci0gCiAgaWQ6IDIKICB0aXRsZTogT3BlbgogIHBhcmVudF9pZDogMQogIGZsYWdzOiA0MwogIHJvb3Q6IFQKICBzb3J0OiAxCiAgc29ydF9pZDogNAogIGNvbmZpZzogJ3siY3JpdGVyaWEiOltbImlzYW5zd2VyZWQiLCJuc2V0IixudWxsXV0sImNvbmRpdGlvbnMiOltdfScKICBjb2x1bW5zOgogICAgLSAKICAgICAgY29sdW1uX2lkOiAxCiAgICAgIGJpdHM6IDEKICAgICAgc29ydDogMQogICAgICB3aWR0aDogMTAwCiAgICAgIGhlYWRpbmc6IFRpY2tldAogICAgLSAKICAgICAgY29sdW1uX2lkOiAxMAogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDIKICAgICAgd2lkdGg6IDE1MAogICAgICBoZWFkaW5nOiBMYWF0c3QgYmlqZ2V3ZXJrdAogICAgLSAKICAgICAgY29sdW1uX2lkOiAzCiAgICAgIGJpdHM6IDEKICAgICAgc29ydDogMwogICAgICB3aWR0aDogMzAwCiAgICAgIGhlYWRpbmc6IE9uZGVyd2VycAogICAgLSAKICAgICAgY29sdW1uX2lkOiA0CiAgICAgIGJpdHM6IDEKICAgICAgc29ydDogNAogICAgICB3aWR0aDogMTg1CiAgICAgIGhlYWRpbmc6IFZhbgogICAgLSAKICAgICAgY29sdW1uX2lkOiA1CiAgICAgIGJpdHM6IDEKICAgICAgc29ydDogNQogICAgICB3aWR0aDogODUKICAgICAgaGVhZGluZzogUHJpb3JpdGVpdAogICAgLSAKICAgICAgY29sdW1uX2lkOiAxNQogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDYKICAgICAgd2lkdGg6IDE2MAogICAgICBoZWFkaW5nOiBUb2VnZXdlemVuIGFhbgotIAogIGlkOiAzCiAgdGl0bGU6IEJlYW50d29vcmQKICBwYXJlbnRfaWQ6IDEKICBmbGFnczogNDMKICByb290OiBUCiAgc29ydDogMgogIHNvcnRfaWQ6IDQKICBjb25maWc6ICd7ImNyaXRlcmlhIjpbWyJpc2Fuc3dlcmVkIiwic2V0IixudWxsXV0sImNvbmRpdGlvbnMiOltdfScKICBjb2x1bW5zOgogICAgLSAKICAgICAgY29sdW1uX2lkOiAxCiAgICAgIGJpdHM6IDEKICAgICAgc29ydDogMQogICAgICB3aWR0aDogMTAwCiAgICAgIGhlYWRpbmc6IFRpY2tldAogICAgLSAKICAgICAgY29sdW1uX2lkOiAxMAogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDIKICAgICAgd2lkdGg6IDE1MAogICAgICBoZWFkaW5nOiBMYWF0c3QgYmlqZ2V3ZXJrdAogICAgLSAKICAgICAgY29sdW1uX2lkOiAzCiAgICAgIGJpdHM6IDEKICAgICAgc29ydDogMwogICAgICB3aWR0aDogMzAwCiAgICAgIGhlYWRpbmc6IE9uZGVyd2VycAogICAgLSAKICAgICAgY29sdW1uX2lkOiA0CiAgICAgIGJpdHM6IDEKICAgICAgc29ydDogNAogICAgICB3aWR0aDogMTg1CiAgICAgIGhlYWRpbmc6IFZhbgogICAgLSAKICAgICAgY29sdW1uX2lkOiA1CiAgICAgIGJpdHM6IDEKICAgICAgc29ydDogNQogICAgICB3aWR0aDogODUKICAgICAgaGVhZGluZzogUHJpb3JpdGVpdAogICAgLSAKICAgICAgY29sdW1uX2lkOiAxNQogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDYKICAgICAgd2lkdGg6IDE2MAogICAgICBoZWFkaW5nOiBUb2VnZXdlemVuIGFhbgotIAogIGlkOiA0CiAgdGl0bGU6IEFjaHRlcnN0YWxsaWcKICBwYXJlbnRfaWQ6IDEKICBmbGFnczogNDMKICByb290OiBUCiAgc29ydDogMwogIHNvcnRfaWQ6IDQKICBjb25maWc6ICd7ImNyaXRlcmlhIjpbWyJpc292ZXJkdWUiLCJzZXQiLG51bGxdXSwiY29uZGl0aW9ucyI6W119JwogIGNvbHVtbnM6CiAgICAtIAogICAgICBjb2x1bW5faWQ6IDEKICAgICAgYml0czogMQogICAgICBzb3J0OiAxCiAgICAgIHdpZHRoOiAxMDAKICAgICAgaGVhZGluZzogVGlja2V0CiAgICAtIAogICAgICBjb2x1bW5faWQ6IDkKICAgICAgYml0czogMQogICAgICBzb3J0OiA5CiAgICAgIHdpZHRoOiAxNTAKICAgICAgaGVhZGluZzogVmVydmFsZGF0dW0KICAgIC0gCiAgICAgIGNvbHVtbl9pZDogMwogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDMKICAgICAgd2lkdGg6IDMwMAogICAgICBoZWFkaW5nOiBPbmRlcndlcnAKICAgIC0gCiAgICAgIGNvbHVtbl9pZDogNAogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDQKICAgICAgd2lkdGg6IDE4NQogICAgICBoZWFkaW5nOiBWYW4KICAgIC0gCiAgICAgIGNvbHVtbl9pZDogNQogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDUKICAgICAgd2lkdGg6IDg1CiAgICAgIGhlYWRpbmc6IFByaW9yaXRlaXQKICAgIC0gCiAgICAgIGNvbHVtbl9pZDogMTUKICAgICAgYml0czogMQogICAgICBzb3J0OiA2CiAgICAgIHdpZHRoOiAxNjAKICAgICAgaGVhZGluZzogVG9lZ2V3ZXplbiBhYW4KLSAKICBpZDogNQogIHRpdGxlOiBNaWpuIHRpY2tldHMKICBwYXJlbnRfaWQ6IDEKICBmbGFnczogMHgwMwogIHJvb3Q6IFQKICBzb3J0OiAzCiAgc29ydF9pZDogMwogIGNvbmZpZzogJ3siY3JpdGVyaWEiOltbImFzc2lnbmVlIiwiaW5jbHVkZXMiLHsiTSI6Ik1lIiwiVCI6Ik9uZSBvZiBteSB0ZWFtcyJ9XSxbInN0YXR1c19fc3RhdGUiLCJpbmNsdWRlcyIseyJvcGVuIjoiT3BlbiJ9XV0sImNvbmRpdGlvbnMiOltdfScKICBjb2x1bW5zOgogICAgLSAKICAgICAgY29sdW1uX2lkOiAxCiAgICAgIGJpdHM6IDEKICAgICAgc29ydDogMQogICAgICB3aWR0aDogMTAwCiAgICAgIGhlYWRpbmc6IFRpY2tldAogICAgLSAKICAgICAgY29sdW1uX2lkOiAxMAogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDIKICAgICAgd2lkdGg6IDE1MAogICAgICBoZWFkaW5nOiBMYWF0c3RlIGFhbnBhc3NpbmcKICAgIC0gCiAgICAgIGNvbHVtbl9pZDogMwogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDMKICAgICAgd2lkdGg6IDMwMAogICAgICBoZWFkaW5nOiBPbmRlcndlcnAKICAgIC0gCiAgICAgIGNvbHVtbl9pZDogNAogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDQKICAgICAgd2lkdGg6IDE4NQogICAgICBoZWFkaW5nOiBWYW4KICAgIC0gCiAgICAgIGNvbHVtbl9pZDogNQogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDUKICAgICAgd2lkdGg6IDg1CiAgICAgIGhlYWRpbmc6IFByaW9yaXRlaXQKICAgIC0gCiAgICAgIGNvbHVtbl9pZDogMTEKICAgICAgYml0czogMQogICAgICBzb3J0OiA2CiAgICAgIHdpZHRoOiAxNjAKICAgICAgaGVhZGluZzogQWZkZWxpbmcKICBzb3J0czoKICAgIC0gCiAgICAgIHNvcnRfaWQ6IDEKICAgIC0gCiAgICAgIHNvcnRfaWQ6IDIKICAgIC0gCiAgICAgIHNvcnRfaWQ6IDMKICAgIC0gCiAgICAgIHNvcnRfaWQ6IDQKICAgIC0gCiAgICAgIHNvcnRfaWQ6IDYKICAgIC0gCiAgICAgIHNvcnRfaWQ6IDcKLSAKICBpZDogNgogIHRpdGxlOiBBc3NpZ25lZCB0byBNZQogIHBhcmVudF9pZDogNQogIGZsYWdzOiA0MwogIHJvb3Q6IFQKICBzb3J0OiAxCiAgY29uZmlnOiAneyJjcml0ZXJpYSI6W1siYXNzaWduZWUiLCJpbmNsdWRlcyIseyJNIjoiTWUifV1dLCJjb25kaXRpb25zIjpbXX0nCiAgY29sdW1uczoKICAgIC0gCiAgICAgIGNvbHVtbl9pZDogMQogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDEKICAgICAgd2lkdGg6IDEwMAogICAgICBoZWFkaW5nOiBUaWNrZXQKICAgIC0gCiAgICAgIGNvbHVtbl9pZDogMTAKICAgICAgYml0czogMQogICAgICBzb3J0OiAyCiAgICAgIHdpZHRoOiAxNTAKICAgICAgaGVhZGluZzogTGFhdHN0ZSBhYW5wYXNzaW5nCiAgICAtIAogICAgICBjb2x1bW5faWQ6IDMKICAgICAgYml0czogMQogICAgICBzb3J0OiAzCiAgICAgIHdpZHRoOiAzMDAKICAgICAgaGVhZGluZzogT25kZXJ3ZXJwCiAgICAtIAogICAgICBjb2x1bW5faWQ6IDQKICAgICAgYml0czogMQogICAgICBzb3J0OiA0CiAgICAgIHdpZHRoOiAxODUKICAgICAgaGVhZGluZzogVmFuCiAgICAtIAogICAgICBjb2x1bW5faWQ6IDUKICAgICAgYml0czogMQogICAgICBzb3J0OiA1CiAgICAgIHdpZHRoOiA4NQogICAgICBoZWFkaW5nOiBQcmlvcml0ZWl0CiAgICAtIAogICAgICBjb2x1bW5faWQ6IDExCiAgICAgIGJpdHM6IDEKICAgICAgc29ydDogNgogICAgICB3aWR0aDogMTYwCiAgICAgIGhlYWRpbmc6IEFmZGVsaW5nCiAgc29ydHM6CiAgICAtIAogICAgICBzb3J0X2lkOiAxCiAgICAtIAogICAgICBzb3J0X2lkOiAyCiAgICAtIAogICAgICBzb3J0X2lkOiAzCiAgICAtIAogICAgICBzb3J0X2lkOiA0CiAgICAtIAogICAgICBzb3J0X2lkOiA2CiAgICAtIAogICAgICBzb3J0X2lkOiA3Ci0gCiAgaWQ6IDcKICB0aXRsZTogQXNzaWduZWQgdG8gVGVhbXMKICBwYXJlbnRfaWQ6IDUKICBmbGFnczogNDMKICByb290OiBUCiAgc29ydDogMgogIGNvbmZpZzogJ3siY3JpdGVyaWEiOltbImFzc2lnbmVlIiwiIWluY2x1ZGVzIix7Ik0iOiJNZSJ9XV0sImNvbmRpdGlvbnMiOltdfScKICBjb2x1bW5zOgogICAgLSAKICAgICAgY29sdW1uX2lkOiAxCiAgICAgIGJpdHM6IDEKICAgICAgc29ydDogMQogICAgICB3aWR0aDogMTAwCiAgICAgIGhlYWRpbmc6IFRpY2tldAogICAgLSAKICAgICAgY29sdW1uX2lkOiAxMAogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDIKICAgICAgd2lkdGg6IDE1MAogICAgICBoZWFkaW5nOiBMYWF0c3RlIGFhbnBhc3NpbmcKICAgIC0gCiAgICAgIGNvbHVtbl9pZDogMwogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDMKICAgICAgd2lkdGg6IDMwMAogICAgICBoZWFkaW5nOiBPbmRlcndlcnAKICAgIC0gCiAgICAgIGNvbHVtbl9pZDogNAogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDQKICAgICAgd2lkdGg6IDE4NQogICAgICBoZWFkaW5nOiBWYW4KICAgIC0gCiAgICAgIGNvbHVtbl9pZDogNQogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDUKICAgICAgd2lkdGg6IDg1CiAgICAgIGhlYWRpbmc6IFByaW9yaXRlaXQKICAgIC0gCiAgICAgIGNvbHVtbl9pZDogMTQKICAgICAgYml0czogMQogICAgICBzb3J0OiA2CiAgICAgIHdpZHRoOiAxNjAKICAgICAgaGVhZGluZzogdGVhbQogIHNvcnRzOgogICAgLSAKICAgICAgc29ydF9pZDogMQogICAgLSAKICAgICAgc29ydF9pZDogMgogICAgLSAKICAgICAgc29ydF9pZDogMwogICAgLSAKICAgICAgc29ydF9pZDogNAogICAgLSAKICAgICAgc29ydF9pZDogNgogICAgLSAKICAgICAgc29ydF9pZDogNwotIAogIGlkOiAxNQogIHBhcmVudF9pZDogMQogIHRpdGxlOiBHZXNsb3RlbgogIGZsYWdzOiAweDAzCiAgc29ydDogNAogIHJvb3Q6IFQKICBzb3J0X2lkOiA1CiAgY29uZmlnOiAneyJjcml0ZXJpYSI6W1sic3RhdHVzX19zdGF0ZSIsImluY2x1ZGVzIix7ImNsb3NlZCI6IkNsb3NlZCJ9XV0sImNvbmRpdGlvbnMiOltdfScKICBjb2x1bW5zOgogICAgLSAKICAgICAgY29sdW1uX2lkOiAxCiAgICAgIGJpdHM6IDEKICAgICAgc29ydDogMQogICAgICB3aWR0aDogMTAwCiAgICAgIGhlYWRpbmc6IFRpY2tldAogICAgLSAKICAgICAgY29sdW1uX2lkOiA3CiAgICAgIGJpdHM6IDEKICAgICAgc29ydDogMgogICAgICB3aWR0aDogMTUwCiAgICAgIGhlYWRpbmc6IFNsdWl0ZGF0dW0KICAgIC0gCiAgICAgIGNvbHVtbl9pZDogMwogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDMKICAgICAgd2lkdGg6IDMwMAogICAgICBoZWFkaW5nOiBPbmRlcndlcnAKICAgIC0gCiAgICAgIGNvbHVtbl9pZDogNAogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDQKICAgICAgd2lkdGg6IDE4NQogICAgICBoZWFkaW5nOiBWYW4KICAgIC0gCiAgICAgIGNvbHVtbl9pZDogMTUKICAgICAgYml0czogMQogICAgICBzb3J0OiA2CiAgICAgIHdpZHRoOiAxNjAKICAgICAgaGVhZGluZzogR2VzbG90ZW4gZG9vcgogIHNvcnRzOgogICAgLSAKICAgICAgc29ydF9pZDogNQogICAgLSAKICAgICAgc29ydF9pZDogMQogICAgLSAKICAgICAgc29ydF9pZDogMgogICAgLSAKICAgICAgc29ydF9pZDogMwogICAgLSAKICAgICAgc29ydF9pZDogNAogICAgLSAKICAgICAgc29ydF9pZDogNgogICAgLSAKICAgICAgc29ydF9pZDogNwotIAogIGlkOiA5CiAgcGFyZW50X2lkOiAxNQogIHRpdGxlOiBUb2RheQogIGZsYWdzOiA0MwogIHNvcnQ6IDEKICByb290OiBUCiAgc29ydF9pZDogNQogIGNvbmZpZzogJ3siY3JpdGVyaWEiOltbImNsb3NlZCIsInBlcmlvZCIsInRkIl1dLCJjb25kaXRpb25zIjpbXX0nCiAgY29sdW1uczoKICAgIC0gCiAgICAgIGNvbHVtbl9pZDogMQogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDEKICAgICAgd2lkdGg6IDEwMAogICAgICBoZWFkaW5nOiBUaWNrZXQKICAgIC0gCiAgICAgIGNvbHVtbl9pZDogNwogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDIKICAgICAgd2lkdGg6IDE1MAogICAgICBoZWFkaW5nOiBTbHVpdGRhdHVtCiAgICAtIAogICAgICBjb2x1bW5faWQ6IDMKICAgICAgYml0czogMQogICAgICBzb3J0OiAzCiAgICAgIHdpZHRoOiAzMDAKICAgICAgaGVhZGluZzogT25kZXJ3ZXJwCiAgICAtIAogICAgICBjb2x1bW5faWQ6IDQKICAgICAgYml0czogMQogICAgICBzb3J0OiA0CiAgICAgIHdpZHRoOiAxODUKICAgICAgaGVhZGluZzogVmFuCiAgICAtIAogICAgICBjb2x1bW5faWQ6IDE1CiAgICAgIGJpdHM6IDEKICAgICAgc29ydDogNgogICAgICB3aWR0aDogMTYwCiAgICAgIGhlYWRpbmc6IEdlc2xvdGVuIGRvb3IKICBzb3J0czoKICAgIC0gCiAgICAgIHNvcnRfaWQ6IDUKICAgIC0gCiAgICAgIHNvcnRfaWQ6IDEKICAgIC0gCiAgICAgIHNvcnRfaWQ6IDIKICAgIC0gCiAgICAgIHNvcnRfaWQ6IDMKICAgIC0gCiAgICAgIHNvcnRfaWQ6IDQKICAgIC0gCiAgICAgIHNvcnRfaWQ6IDYKICAgIC0gCiAgICAgIHNvcnRfaWQ6IDcKLSAKICBpZDogMTAKICBwYXJlbnRfaWQ6IDE1CiAgdGl0bGU6IFllc3RlcmRheQogIGZsYWdzOiA0MwogIHNvcnQ6IDIKICByb290OiBUCiAgc29ydF9pZDogNQogIGNvbmZpZzogJ3siY3JpdGVyaWEiOltbImNsb3NlZCIsInBlcmlvZCIsInlkIl1dLCJjb25kaXRpb25zIjpbXX0nCiAgY29sdW1uczoKICAgIC0gCiAgICAgIGNvbHVtbl9pZDogMQogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDEKICAgICAgd2lkdGg6IDEwMAogICAgICBoZWFkaW5nOiBUaWNrZXQKICAgIC0gCiAgICAgIGNvbHVtbl9pZDogNwogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDIKICAgICAgd2lkdGg6IDE1MAogICAgICBoZWFkaW5nOiBTbHVpdGRhdHVtCiAgICAtIAogICAgICBjb2x1bW5faWQ6IDMKICAgICAgYml0czogMQogICAgICBzb3J0OiAzCiAgICAgIHdpZHRoOiAzMDAKICAgICAgaGVhZGluZzogT25kZXJ3ZXJwCiAgICAtIAogICAgICBjb2x1bW5faWQ6IDQKICAgICAgYml0czogMQogICAgICBzb3J0OiA0CiAgICAgIHdpZHRoOiAxODUKICAgICAgaGVhZGluZzogVmFuCiAgICAtIAogICAgICBjb2x1bW5faWQ6IDE1CiAgICAgIGJpdHM6IDEKICAgICAgc29ydDogNgogICAgICB3aWR0aDogMTYwCiAgICAgIGhlYWRpbmc6IEdlc2xvdGVuIGRvb3IKICBzb3J0czoKICAgIC0gCiAgICAgIHNvcnRfaWQ6IDUKICAgIC0gCiAgICAgIHNvcnRfaWQ6IDEKICAgIC0gCiAgICAgIHNvcnRfaWQ6IDIKICAgIC0gCiAgICAgIHNvcnRfaWQ6IDMKICAgIC0gCiAgICAgIHNvcnRfaWQ6IDQKICAgIC0gCiAgICAgIHNvcnRfaWQ6IDYKICAgIC0gCiAgICAgIHNvcnRfaWQ6IDcKLSAKICBpZDogMTEKICBwYXJlbnRfaWQ6IDE1CiAgdGl0bGU6IFRoaXMgV2VlawogIGZsYWdzOiA0MwogIHNvcnQ6IDMKICByb290OiBUCiAgc29ydF9pZDogNQogIGNvbmZpZzogJ3siY3JpdGVyaWEiOltbImNsb3NlZCIsInBlcmlvZCIsInR3Il1dLCJjb25kaXRpb25zIjpbXX0nCiAgY29sdW1uczoKICAgIC0gCiAgICAgIGNvbHVtbl9pZDogMQogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDEKICAgICAgd2lkdGg6IDEwMAogICAgICBoZWFkaW5nOiBUaWNrZXQKICAgIC0gCiAgICAgIGNvbHVtbl9pZDogNwogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDIKICAgICAgd2lkdGg6IDE1MAogICAgICBoZWFkaW5nOiBTbHVpdGRhdHVtCiAgICAtIAogICAgICBjb2x1bW5faWQ6IDMKICAgICAgYml0czogMQogICAgICBzb3J0OiAzCiAgICAgIHdpZHRoOiAzMDAKICAgICAgaGVhZGluZzogT25kZXJ3ZXJwCiAgICAtIAogICAgICBjb2x1bW5faWQ6IDQKICAgICAgYml0czogMQogICAgICBzb3J0OiA0CiAgICAgIHdpZHRoOiAxODUKICAgICAgaGVhZGluZzogVmFuCiAgICAtIAogICAgICBjb2x1bW5faWQ6IDE1CiAgICAgIGJpdHM6IDEKICAgICAgc29ydDogNgogICAgICB3aWR0aDogMTYwCiAgICAgIGhlYWRpbmc6IEdlc2xvdGVuIGRvb3IKICBzb3J0czoKICAgIC0gCiAgICAgIHNvcnRfaWQ6IDUKICAgIC0gCiAgICAgIHNvcnRfaWQ6IDEKICAgIC0gCiAgICAgIHNvcnRfaWQ6IDIKICAgIC0gCiAgICAgIHNvcnRfaWQ6IDMKICAgIC0gCiAgICAgIHNvcnRfaWQ6IDQKICAgIC0gCiAgICAgIHNvcnRfaWQ6IDYKICAgIC0gCiAgICAgIHNvcnRfaWQ6IDcKLSAKICBpZDogMTIKICBwYXJlbnRfaWQ6IDE1CiAgdGl0bGU6IFRoaXMgTW9udGgKICBmbGFnczogNDMKICBzb3J0OiA0CiAgcm9vdDogVAogIHNvcnRfaWQ6IDUKICBjb25maWc6ICd7ImNyaXRlcmlhIjpbWyJjbG9zZWQiLCJwZXJpb2QiLCJ0bSJdXSwiY29uZGl0aW9ucyI6W119JwogIGNvbHVtbnM6CiAgICAtIAogICAgICBjb2x1bW5faWQ6IDEKICAgICAgYml0czogMQogICAgICBzb3J0OiAxCiAgICAgIHdpZHRoOiAxMDAKICAgICAgaGVhZGluZzogVGlja2V0CiAgICAtIAogICAgICBjb2x1bW5faWQ6IDcKICAgICAgYml0czogMQogICAgICBzb3J0OiAyCiAgICAgIHdpZHRoOiAxNTAKICAgICAgaGVhZGluZzogU2x1aXRkYXR1bQogICAgLSAKICAgICAgY29sdW1uX2lkOiAzCiAgICAgIGJpdHM6IDEKICAgICAgc29ydDogMwogICAgICB3aWR0aDogMzAwCiAgICAgIGhlYWRpbmc6IE9uZGVyd2VycAogICAgLSAKICAgICAgY29sdW1uX2lkOiA0CiAgICAgIGJpdHM6IDEKICAgICAgc29ydDogNAogICAgICB3aWR0aDogMTg1CiAgICAgIGhlYWRpbmc6IFZhbgogICAgLSAKICAgICAgY29sdW1uX2lkOiAxNQogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDYKICAgICAgd2lkdGg6IDE2MAogICAgICBoZWFkaW5nOiBHZXNsb3RlbiBkb29yCiAgc29ydHM6CiAgICAtIAogICAgICBzb3J0X2lkOiA1CiAgICAtIAogICAgICBzb3J0X2lkOiAxCiAgICAtIAogICAgICBzb3J0X2lkOiAyCiAgICAtIAogICAgICBzb3J0X2lkOiAzCiAgICAtIAogICAgICBzb3J0X2lkOiA0CiAgICAtIAogICAgICBzb3J0X2lkOiA2CiAgICAtIAogICAgICBzb3J0X2lkOiA3Ci0gCiAgaWQ6IDEzCiAgcGFyZW50X2lkOiAxNQogIHRpdGxlOiBUaGlzIFF1YXJ0ZXIKICBmbGFnczogNDMKICBzb3J0OiA1CiAgcm9vdDogVAogIHNvcnRfaWQ6IDYKICBjb25maWc6ICd7ImNyaXRlcmlhIjpbWyJjbG9zZWQiLCJwZXJpb2QiLCJ0cSJdXSwiY29uZGl0aW9ucyI6W119JwogIGNvbHVtbnM6CiAgICAtIAogICAgICBjb2x1bW5faWQ6IDEKICAgICAgYml0czogMQogICAgICBzb3J0OiAxCiAgICAgIHdpZHRoOiAxMDAKICAgICAgaGVhZGluZzogVGlja2V0CiAgICAtIAogICAgICBjb2x1bW5faWQ6IDcKICAgICAgYml0czogMQogICAgICBzb3J0OiAyCiAgICAgIHdpZHRoOiAxNTAKICAgICAgaGVhZGluZzogU2x1aXRkYXR1bQogICAgLSAKICAgICAgY29sdW1uX2lkOiAzCiAgICAgIGJpdHM6IDEKICAgICAgc29ydDogMwogICAgICB3aWR0aDogMzAwCiAgICAgIGhlYWRpbmc6IE9uZGVyd2VycAogICAgLSAKICAgICAgY29sdW1uX2lkOiA0CiAgICAgIGJpdHM6IDEKICAgICAgc29ydDogNAogICAgICB3aWR0aDogMTg1CiAgICAgIGhlYWRpbmc6IFZhbgogICAgLSAKICAgICAgY29sdW1uX2lkOiAxNQogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDYKICAgICAgd2lkdGg6IDE2MAogICAgICBoZWFkaW5nOiBHZXNsb3RlbiBkb29yCiAgc29ydHM6CiAgICAtIAogICAgICBzb3J0X2lkOiA1CiAgICAtIAogICAgICBzb3J0X2lkOiAxCiAgICAtIAogICAgICBzb3J0X2lkOiAyCiAgICAtIAogICAgICBzb3J0X2lkOiAzCiAgICAtIAogICAgICBzb3J0X2lkOiA0CiAgICAtIAogICAgICBzb3J0X2lkOiA2CiAgICAtIAogICAgICBzb3J0X2lkOiA3Ci0gCiAgaWQ6IDE0CiAgcGFyZW50X2lkOiAxNQogIHRpdGxlOiBUaGlzIFllYXIKICBmbGFnczogNDMKICBzb3J0OiA2CiAgcm9vdDogVAogIHNvcnRfaWQ6IDcKICBjb25maWc6ICd7ImNyaXRlcmlhIjpbWyJjbG9zZWQiLCJwZXJpb2QiLCJ0eSJdXSwiY29uZGl0aW9ucyI6W119JwogIGNvbHVtbnM6CiAgICAtIAogICAgICBjb2x1bW5faWQ6IDEKICAgICAgYml0czogMQogICAgICBzb3J0OiAxCiAgICAgIHdpZHRoOiAxMDAKICAgICAgaGVhZGluZzogVGlja2V0CiAgICAtIAogICAgICBjb2x1bW5faWQ6IDcKICAgICAgYml0czogMQogICAgICBzb3J0OiAyCiAgICAgIHdpZHRoOiAxNTAKICAgICAgaGVhZGluZzogU2x1aXRkYXR1bQogICAgLSAKICAgICAgY29sdW1uX2lkOiAzCiAgICAgIGJpdHM6IDEKICAgICAgc29ydDogMwogICAgICB3aWR0aDogMzAwCiAgICAgIGhlYWRpbmc6IE9uZGVyd2VycAogICAgLSAKICAgICAgY29sdW1uX2lkOiA0CiAgICAgIGJpdHM6IDEKICAgICAgc29ydDogNAogICAgICB3aWR0aDogMTg1CiAgICAgIGhlYWRpbmc6IFZhbgogICAgLSAKICAgICAgY29sdW1uX2lkOiAxNQogICAgICBiaXRzOiAxCiAgICAgIHNvcnQ6IDYKICAgICAgd2lkdGg6IDE2MAogICAgICBoZWFkaW5nOiBHZXNsb3RlbiBkb29yCiAgc29ydHM6CiAgICAtIAogICAgICBzb3J0X2lkOiA1CiAgICAtIAogICAgICBzb3J0X2lkOiAxCiAgICAtIAogICAgICBzb3J0X2lkOiAyCiAgICAtIAogICAgICBzb3J0X2lkOiAzCiAgICAtIAogICAgICBzb3J0X2lkOiA0CiAgICAtIAogICAgICBzb3J0X2lkOiA2CiAgICAtIAogICAgICBzb3J0X2lkOiA3Ci0tLQotIAogICNEZWZhdWx0IHJvbGVzIGRlZmluZWQgZm9yIHRoZSBzeXN0ZW0KICAjRmllbGRzOgogICNpZCAtIFByaW1hcnkgaWQgZm9yIHRoZSByb2xlCiAgI2ZsYWdzIC0gKGJpdCBtYXNrKSByb2xlIGZsYWdzCiAgI25hbWUgLSAoc3RyaW5nKSBkZXNjcmlwdGl2ZSBuYW1lIGZvciB0aGUgcm9sZQogICNub3RlcyAtIChzdHJpbmcpIGludGVybmFsIG5vdGVzCiAgI3Blcm1pc3Npb25zOiAobGlzdDxrZXlzPikKICAjTk9URTogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIy0tLQogIGlkOiAxCiAgZmxhZ3M6IDEKICBuYW1lOiBWb2xsZWRpZ2UgdG9lZ2FuZwogIG5vdGVzOiB8CiAgICBSb2xsZW4gbWV0IG9uZ2VsaW1pdGVlcmRlIHRvZWdhbmcKICBwZXJtaXNzaW9uczoKICAgIC0gdGlja2V0LmNyZWF0ZQogICAgLSB0aWNrZXQuZWRpdAogICAgLSB0aWNrZXQuYXNzaWduCiAgICAtIHRpY2tldC5yZWxlYXNlCiAgICAtIHRpY2tldC50cmFuc2ZlcgogICAgLSB0aWNrZXQucmVmZXIKICAgIC0gdGlja2V0LnJlcGx5CiAgICAtIHRpY2tldC5jbG9zZQogICAgLSB0aWNrZXQuZGVsZXRlCiAgICAtIHRhc2suY3JlYXRlCiAgICAtIHRhc2suZWRpdAogICAgLSB0YXNrLmFzc2lnbgogICAgLSB0YXNrLnRyYW5zZmVyCiAgICAtIHRhc2sucmVwbHkKICAgIC0gdGFzay5jbG9zZQogICAgLSB0YXNrLmRlbGV0ZQogICAgLSBjYW5uZWQubWFuYWdlCiAgICAtIHRocmVhZC5lZGl0Ci0gCiAgaWQ6IDIKICBmbGFnczogMQogIG5hbWU6IFVpdGdlYnJlaWRlIFRvZWdhbmcKICBub3RlczogfAogICAgUm9sIG1ldCB1aXRnZWJyZWlkZSB0b2VnYW5nCiAgcGVybWlzc2lvbnM6CiAgICAtIHRpY2tldC5jcmVhdGUKICAgIC0gdGlja2V0LmVkaXQKICAgIC0gdGlja2V0LmFzc2lnbgogICAgLSB0aWNrZXQucmVsZWFzZQogICAgLSB0aWNrZXQudHJhbnNmZXIKICAgIC0gdGlja2V0LnJlZmVyCiAgICAtIHRpY2tldC5yZXBseQogICAgLSB0aWNrZXQuY2xvc2UKICAgIC0gdGFzay5jcmVhdGUKICAgIC0gdGFzay5lZGl0CiAgICAtIHRhc2suYXNzaWduCiAgICAtIHRhc2sudHJhbnNmZXIKICAgIC0gdGFzay5yZXBseQogICAgLSB0YXNrLmNsb3NlCiAgICAtIGNhbm5lZC5tYW5hZ2UKLSAKICBpZDogMwogIGZsYWdzOiAxCiAgbmFtZTogQmVwZXJrdGUgdG9lZ2FuZwogIG5vdGVzOiB8CiAgICBSb2wgbWV0IGdlbGltaXRlZXJkZSB0b2VnYW5nCiAgcGVybWlzc2lvbnM6CiAgICAtIHRpY2tldC5jcmVhdGUKICAgIC0gdGlja2V0LmFzc2lnbgogICAgLSB0aWNrZXQucmVsZWFzZQogICAgLSB0aWNrZXQudHJhbnNmZXIKICAgIC0gdGlja2V0LnJlZmVyCiAgICAtIHRpY2tldC5yZXBseSB0YXNrLmNyZWF0ZQogICAgLSB0YXNrLmFzc2lnbgogICAgLSB0YXNrLnRyYW5zZmVyCiAgICAtIHRhc2sucmVwbHkKLSAKICBpZDogNAogIGZsYWdzOiAxCiAgbmFtZTogQWxsZWVuIGJlemljaHRpZ2VuCiAgbm90ZXM6IEVlbnZvdWRpZ2Ugcm9sIHpvbmRlciB0b2VzdGVtbWluZ2VuCiAgcGVybWlzc2lvbnM6IFsgXQotLS0KLSAKICAjRGVmYXVsdCBlbWFpbCB0ZW1wbGF0ZSBncm91cCBmb3IgdGhlIHN5c3RlbQogICNOT1RFOiBUaGUgbGFuZ3VhZ2UgZmllbGQgaXMgZGVmaW5lZCBmb3IgdGhlIGVtYWlsIHRlbXBhdGUgZ3JvdXAgbW9kZWwsIGJ1dAogICNpcyBub3QgY29uc2lkZXJlZCBieSB0aGUgaW5zdGFsbGVyLiBXaGF0ZXZlciBsYW5ndWFnZSB0aGUgaW5zdGFsbAogICNsb2FkcyBkYXRhIGZvciwgdGhlIHNhbWUgbGFuZ3VhZ2Ugd2lsbCBiZSB1c2VkIHRvIGxvYWQgdGhlIGVtYWlsCiAgI3RlbXBsYXRlcwogICNGaWVsZHM6CiAgI2lzYWN0aXZlIC0gKGJvb2w6MHwxKSB0cnVlIG9yIGZhbHNlIGlmIHRoZSB0ZW1wbGF0ZXMgc2hvdWxkIGJlIGluaXRpYWxseQogICN1c2FibGUKICAjbmFtZSAtIChzdHJpbmcpIGRlc2NyaXB0aXZlIG5hbWUgZm9yIHRoZSB0ZW1wbGF0ZSBncm91cAogICNub3RlcyAtIEFkbWluaXN0cmF0aXZlIG5vdGVzICh2aWV3YWJsZSBpbnRlcm5hbGx5IG9ubHkpCiAgIy0tLQogIGlkOiAxCiAgaXNhY3RpdmU6IDEKICBuYW1lOiBvc1RpY2tldCBzdGFuZGFhcmQgc2phYmxvb24gKEhUTUwpCiAgbm90ZXM6IHwKICAgIFN0YW5kYWFyZCBvc1RpY2tldCBzamFibG9uZW4KLS0tCi0gCiAgI2ZpbGVzLnlhbWwKICAjRmlsZXMgaW5pdGlhbGx5IGluc2VydGVkIGludG8gdGhlIHN5c3RlbS4gQ2FubmVkIHJlc3BvbnNlcyBoYXZlIHRoZWlyIG93bgogICNtZXRob2QgZm9yIGF0dGFjaG1lbnRzOyBob3dldmVyLCB0aGlzIGZpbGUgd2lsbCBtYWtlIGl0IGVhc2llciB0byBhZGQKICAjdGhpbmdzIGxpa2UgaW5saW5lIGltYWdlcy4KICAjTk9URTogSWYgdGhlIGZpbGVzIGFyZW4ndCBhdHRhY2hlZCB0byBzb21ldGhpbmcgYnkgdGhlIGluc3RhbGxlciwgdGhleQogICNiaWxsIGJlIGNsZWFuZWQgdXAgc2hvcnRseSBhZnRlciBpbnN0YWxsYXRpb24gKGJ5IHRoZSBhdXRvY3JvbikuCiAgIy0tLQogIGtleTogYjU2OTQ0Y2I0NzIyY2M1Y2RhOWQxZTIzYTNlYTdmYmMKICBuYW1lOiBwb3dlcmVkLWJ5LW9zdGlja2V0LnBuZwogIHR5cGU6IGltYWdlL3BuZwogIGVuY29kaW5nOiBiYXNlNjQKICBkYXRhOiB8CiAgICBpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBTm9BQUFBb0NBWUFBQUNZUitUSkFBQUtRMmxEUTFCSlEwTWdjSEp2Wm1sc1pRQUFlTnFkCiAgICBVM2RZay9jV1B0LzNaUTlXUXRqd3NaZHNnUUFpSTZ3SXlCQlpvaENTQUdHRUVCSkF4WVdJQ2xZVUZSR2NTRlhFZ3RVS1NKMkk0cUFvCiAgICB1R2RCaW9oYWkxVmNPTzRmM0tlMWZYcnY3ZTM3MS91ODU1em4vTTU1encrQUVSSW1rZWFpYWdBNVVvVThPdGdmajA5SXhNbTlnQUlWCiAgICBTT0FFSUJEbXk4Sm5CY1VBQVBBRGVYaCtkTEEvL0FHdmJ3QUNBSERWTGlRU3grSC9nN3BRSmxjQUlKRUE0Q0lTNXdzQmtGSUF5QzVVCiAgICB5QlFBeUJnQXNGT3paQW9BbEFBQWJIbDhRaUlBcWcwQTdQUkpQZ1VBMkttVDNCY0EyS0ljcVFnQWpRRUFtU2hISkFKQXV3QmdWWUZTCiAgICBMQUxBd2dDZ3JFQWlMZ1RBcmdHQVdiWXlSd0tBdlFVQWRvNVlrQTlBWUFDQW1VSXN6QUFnT0FJQVF4NFR6UU1nVEFPZ01OSy80S2xmCiAgICBjSVc0U0FFQXdNdVZ6WmRMMGpNVXVKWFFHbmZ5OE9EaUllTENiTEZDWVJjcEVHWUo1Q0tjbDVzakUwam5BMHpPREFBQUd2blJ3ZjQ0CiAgICBQNURuNXVUaDVtYm5iTy8weGFMK2EvQnZJajRoOGQvK3ZJd0NCQUFRVHMvdjJsL2w1ZFlEY01jQnNIVy9hNmxiQU5wV0FHamYrVjB6CiAgICAyd21nV2dyUWV2bUxlVGo4UUI2ZW9WRElQQjBjQ2dzTDdTVmlvYjB3NDRzKy96UGhiK0NMZnZiOFFCNysyM3J3QUhHYVFKbXR3S09ECiAgICAvWEZoYm5hdVVvN255d1JDTVc3MzV5UCt4NFYvL1k0cDBlSTBzVndzRllyeFdJbTRVQ0pOeDNtNVVwRkVJY21WNGhMcGZ6THhINWI5CiAgICBDWk4zRFFDc2hrL0FUcllIdGN0c3dIN3VBUUtMRGxqU2RnQkFmdk10akJvTGtRQVFaelF5ZWZjQUFKTy8rWTlBS3dFQXpaZWs0d0FBCiAgICB2T2dZWEtpVUYwekdDQUFBUktDQktyQkJCd3pCRkt6QURwekJIYnpBRndKaEJrUkFEQ1RBUEJCQ0J1U0FIQXFoR0paQkdWVEFPdGdFCiAgICB0YkFER3FBUm11RVF0TUV4T0EzbjRCSmNnZXR3RndaZ0dKN0NHTHlHQ1FSQnlBZ1RZU0U2aUJGaWp0Z2l6Z2dYbVk0RUltRklOSktBCiAgICBwQ0RwaUJSUklzWEljcVFDcVVKcWtWMUlJL0l0Y2hRNWpWeEErcERieUNBeWl2eUt2RWN4bElHeVVRUFVBblZBdWFnZkdvckdvSFBSCiAgICBkRFFQWFlDV29tdlJHclFlUFlDMm9xZlJTK2gxZEFCOWlvNWpnTkV4RG1hTTJXRmNqSWRGWUlsWUdpYkhGbVBsV0RWV2p6VmpIVmczCiAgICBkaFVid0o1aDd3Z2tBb3VBRSt3SVhvUVF3bXlDa0pCSFdFeFlRNmdsN0NPMEVyb0lWd21EaERIQ0p5S1RxRSswSlhvUytjUjRZanF4CiAgICBrRmhHckNidUlSNGhuaVZlSnc0VFg1TklKQTdKa3VST0NpRWxrREpKQzBsclNOdElMYVJUcEQ3U0VHbWNUQ2Jya0czSjN1UUlzb0NzCiAgICBJSmVSdDVBUGtFK1MrOG5ENUxjVU9zV0k0a3dKb2lSU3BKUVNTalZsUCtVRXBaOHlRcG1ncWxITnFaN1VDS3FJT3A5YVNXMmdkbEF2CiAgICBVNGVwRXpSMW1pWE5teFpEeTZRdG85WFFtbWxuYWZkb0wrbDB1Z25kZ3g1Rmw5Q1gwbXZvQitubjZZUDBkd3dOaGcyRHgwaGlLQmxyCiAgICBHWHNacHhpM0dTK1pUS1lGMDVlWnlGUXcxeklibVdlWUQ1aHZWVmdxOWlwOEZaSEtFcFU2bFZhVmZwWG5xbFJWYzFVLzFYbXFDMVNyCiAgICBWUStyWGxaOXBrWlZzMURqcVFuVUZxdlZxUjFWdTZrMnJzNVNkMUtQVU05Ulg2TytYLzJDK21NTnNvYUZScUNHU0tOVVk3ZkdHWTBoCiAgICBGc1l5WmZGWVF0WnlWZ1ByTEd1WVRXSmJzdm5zVEhZRit4dDJMM3RNVTBOenFtYXNacEZtbmVaeHpRRU94ckhnOERuWm5Fck9JYzROCiAgICB6bnN0QXkwL0xiSFdhcTFtclg2dE45cDYycjdhWXUxeTdSYnQ2OXJ2ZFhDZFFKMHNuZlU2YlRyM2RRbTZOcnBSdW9XNjIzWFA2ajdUCiAgICBZK3Q1NlFuMXl2VU82ZDNSUi9WdDlLUDFGK3J2MXUvUkh6Y3dOQWcya0Jsc01UaGo4TXlRWStocm1HbTQwZkNFNGFnUnkyaTZrY1JvCiAgICBvOUZKb3llNEp1NkhaK00xZUJjK1pxeHZIR0tzTk41bDNHczhZV0pwTXR1a3hLVEY1TDRwelpScm1tYTYwYlRUZE16TXlDemNyTmlzCiAgICB5ZXlPT2RXY2E1NWh2dG04Mi95TmhhVkZuTVZLaXphTHg1YmFsbnpMQlpaTmx2ZXNtRlkrVm5sVzlWYlhyRW5XWE9zczYyM1dWMnhRCiAgICBHMWViREpzNm04dTJxSzJicmNSMm0yM2ZGT0lVanluU0tmVlRidG94N1B6c0N1eWE3QWJ0T2ZaaDlpWDJiZmJQSGN3Y0VoM1dPM1E3CiAgICBmSEowZGN4MmJIQzg2NlRoTk1PcHhLbkQ2VmRuRzJlaGM1M3pOUmVtUzVETEVwZDJseGRUYmFlS3AyNmZlc3VWNVJydXV0SzEwL1dqCiAgICBtN3ViM0szWmJkVGR6RDNGZmF2N1RTNmJHOGxkd3ozdlFmVHc5MWppY2N6am5hZWJwOEx6a09jdlhuWmVXVjc3dlI1UHM1d21udFl3CiAgICBiY2pieEZ2Z3ZjdDdZRG8rUFdYNnp1a0RQc1krQXA5Nm40ZStwcjRpM3oyK0kzN1dmcGwrQi95ZSt6djZ5LzJQK0wvaGVmSVc4VTRGCiAgICBZQUhCQWVVQnZZRWFnYk1EYXdNZkJKa0VwUWMxQlkwRnV3WXZERDRWUWd3SkRWa2ZjcE52d0JmeUcvbGpNOXhuTEpyUkZjb0luUlZhCiAgICBHL293ekNaTUh0WVJqb2JQQ044UWZtK20rVXpwekxZSWlPQkhiSWk0SDJrWm1SZjVmUlFwS2pLcUx1cFJ0Rk4wY1hUM0xOYXM1Rm43CiAgICBaNzJPOFkrcGpMazcyMnEyY25abnJHcHNVbXhqN0p1NGdMaXF1SUY0aC9oRjhaY1NkQk1rQ2UySjVNVFl4RDJKNDNNQzUyeWFNNXprCiAgICBtbFNXZEdPdTVkeWl1UmZtNmM3TG5uYzhXVFZaa0h3NGhaZ1NsN0kvNVlNZ1FsQXZHRS9scDI1TkhSUHloSnVGVDBXK29vMmlVYkczCiAgICB1RW84a3VhZFZwWDJPTjA3ZlVQNmFJWlBSblhHTXdsUFVpdDVrUm1TdVNQelRWWkUxdDZzejlseDJTMDVsSnlVbktOU0RXbVd0Q3ZYCiAgICBNTGNvdDA5bUt5dVREZVI1NW0zS0c1T0h5dmZrSS9sejg5c1ZiSVZNMGFPMFVxNVFEaFpNTDZncmVGc1lXM2k0U0wxSVd0UXozMmIrCiAgICA2dmtqQzRJV2ZMMlFzRkM0c0xQWXVIaFo4ZUFpdjBXN0ZpT0xVeGQzTGpGZFVycGtlR253MG4zTGFNdXlsdjFRNGxoU1ZmSnFlZHp5CiAgICBqbEtEMHFXbFF5dUNWelNWcVpUSnkyNnU5RnE1WXhWaGxXUlY3MnFYMVZ0V2Z5b1hsVitzY0t5b3J2aXdScmptNGxkT1g5Vjg5WGx0CiAgICAydHJlU3JmSzdldEk2NlRyYnF6M1diK3ZTcjFxUWRYUWh2QU5yUnZ4amVVYlgyMUszblNoZW1yMWpzMjB6Y3JOQXpWaE5lMWJ6TGFzCiAgICAyL0toTnFQMmVwMS9YY3RXL2EycnQ3N1pKdHJXdjkxM2UvTU9neDBWTzk3dmxPeTh0U3Q0VjJ1OVJYMzFidEx1Z3QyUEdtSWJ1ci9tCiAgICBmdDI0UjNkUHhaNlBlNlY3Qi9aRjcrdHFkRzlzM0srL3Y3SUpiVkkyalI1SU9uRGxtNEJ2MnB2dG1uZTFjRm9xRHNKQjVjRW4zNlo4CiAgICBlK05RNktIT3c5ekR6ZCtaZjdmMUNPdEllU3ZTT3I5MXJDMmpiYUE5b2IzdjZJeWpuUjFlSFVlK3QvOSs3ekhqWTNYSE5ZOVhucUNkCiAgICBLRDN4K2VTQ2srT25aS2VlblU0L1BkU1ozSG4zVFB5WmExMVJYYjFuUTgrZVB4ZDA3a3kzWC9mSjg5N25qMTN3dkhEMEl2ZGkyeVczCiAgICBTNjA5cmoxSGZuRDk0VWl2VzIvclpmZkw3VmM4cm5UMFRlczcwZS9UZi9wcXdOVnoxL2pYTGwyZmViM3Z4dXdidDI0bTNSeTRKYnIxCiAgICArSGIyN1JkM0N1NU0zRjE2ajNpdi9MN2EvZW9IK2cvcWY3VCtzV1hBYmVENFlNQmd6OE5aRCs4T0NZZWUvcFQvMDRmaDBrZk1SOVVqCiAgICBSaU9OajUwZkh4c05HcjN5Wk02VDRhZXlweFBQeW41Vy8zbnJjNnZuMy8zaSswdlBXUHpZOEF2NWk4Ky9ybm1wODNMdnE2bXZPc2NqCiAgICB4eCs4em5rOThhYjhyYzdiZmUrNDc3cmZ4NzBmbVNqOFFQNVE4OUg2WThlbjBFLzNQdWQ4L3Z3djk0VHorNEE1SlJFQUFBQVpkRVZZCiAgICBkRk52Wm5SM1lYSmxBRUZrYjJKbElFbHRZV2RsVW1WaFpIbHh5V1U4QUFBREtHbFVXSFJZVFV3NlkyOXRMbUZrYjJKbExuaHRjQUFBCiAgICBBQUFBUEQ5NGNHRmphMlYwSUdKbFoybHVQU0x2dTc4aUlHbGtQU0pYTlUwd1RYQkRaV2hwU0hweVpWTjZUbFJqZW10ak9XUWlQejRnCiAgICBQSGc2ZUcxd2JXVjBZU0I0Yld4dWN6cDRQU0poWkc5aVpUcHVjenB0WlhSaEx5SWdlRHA0YlhCMGF6MGlRV1J2WW1VZ1dFMVFJRU52CiAgICBjbVVnTlM0MkxXTXdNVFFnTnprdU1UVTJOemszTENBeU1ERTBMekE0THpJd0xUQTVPalV6T2pBeUlDQWdJQ0FnSUNBaVBpQThjbVJtCiAgICBPbEpFUmlCNGJXeHVjenB5WkdZOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6RTVPVGt2TURJdk1qSXRjbVJtTFhONWJuUmhlQzF1CiAgICBjeU1pUGlBOGNtUm1Pa1JsYzJOeWFYQjBhVzl1SUhKa1pqcGhZbTkxZEQwaUlpQjRiV3h1Y3pwNGJYQTlJbWgwZEhBNkx5OXVjeTVoCiAgICBaRzlpWlM1amIyMHZlR0Z3THpFdU1DOGlJSGh0Ykc1ek9uaHRjRTFOUFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwzaGhjQzh4CiAgICBMakF2YlcwdklpQjRiV3h1Y3pwemRGSmxaajBpYUhSMGNEb3ZMMjV6TG1Ga2IySmxMbU52YlM5NFlYQXZNUzR3TDNOVWVYQmxMMUpsCiAgICBjMjkxY21ObFVtVm1JeUlnZUcxd09rTnlaV0YwYjNKVWIyOXNQU0pCWkc5aVpTQlFhRzkwYjNOb2IzQWdRME1nTWpBeE5DQW9UV0ZqCiAgICBhVzUwYjNOb0tTSWdlRzF3VFUwNlNXNXpkR0Z1WTJWSlJEMGllRzF3TG1scFpEbzJSVEpET1RWRVJVRTJOek14TVVVMFFrUkRSRVJHCiAgICBPVEZHUVVZNU5FUkJOU0lnZUcxd1RVMDZSRzlqZFcxbGJuUkpSRDBpZUcxd0xtUnBaRG8yUlRKRE9UVkVSa0UyTnpNeE1VVTBRa1JECiAgICBSRVJHT1RGR1FVWTVORVJCTlNJK0lEeDRiWEJOVFRwRVpYSnBkbVZrUm5KdmJTQnpkRkpsWmpwcGJuTjBZVzVqWlVsRVBTSjRiWEF1CiAgICBhV2xrT2tOR1FUYzBSVFJHUVRZM01URXhSVFJDUkVORVJFWTVNVVpCUmprMFJFRTFJaUJ6ZEZKbFpqcGtiMk4xYldWdWRFbEVQU0o0CiAgICBiWEF1Wkdsa09rTkdRVGMwUlRVd1FUWTNNVEV4UlRSQ1JFTkVSRVk1TVVaQlJqazBSRUUxSWk4K0lEd3ZjbVJtT2tSbGMyTnlhWEIwCiAgICBhVzl1UGlBOEwzSmtaanBTUkVZK0lEd3ZlRHA0YlhCdFpYUmhQaUE4UDNod1lXTnJaWFFnWlc1a1BTSnlJajgraS83MnlnQUFGd3RKCiAgICBSRUZVZU5yc1hRbWNVOVhWUHk5N01zbGtab0JoY1JpUVhUWTMwTSt0S0Nxb0xRcjI4N08yTHZVcjF0YUZ1aUJ1dFVvVndhMzJVNHRTCiAgICB0TlU2VmtSVXBDd0ZaZEV5cUd5Q29LeUM3SXNDTTh6Q1RKS1g5OTJiL0c5ejVrNlN5UXhRY2N6NS9RNGtrNWYzN3J2My9NLzVuM1B2CiAgICB1ekdHRHg5T1dUazJwTnAwMHRqdTcxT3hmeTlSeFAxZGEzNUxvWk9GN2hkNm05RHRqVDZESlRUZnBOSTFIcnI2clR5eTJTeXlHYzFqCiAgICBiRzFaODg3S0VaSUxoSjRuOU1kQ3IyajB0Nk5DODB4YXVONU5QNXNTcExBQVhYTUJtUlJIMWo2KzErSVNXaWcwVjZoZGFBMGkwcjRtCiAgICBSalFGbVYyTi9yWS9Ta3RFSkJ2NlJqNVpBbVF0ZlZHS1dsbWdaZVc3S2EyRW5pcDBnTkRUaExZWDZnWGdKTHVKQ0EwSlBTaDBsZERwCiAgICBRbWNKUFpEQnVlMzRYNEswb3RHVVVRQnR4bFlYN1N1elU0OTJZWXBFbTFmSFo0SDIvWkNPUXE4VStyOUN1Mlg0bmQ1Q3J4SzZUT2hJCiAgICBvUXZTSEpzamRCZ0Q4N3RDeHduOWJVWlhraEFWQUR0MHlDQmZqdG5zUUpiTjBacS9lSVRlTG5RaERMOWJFODRoSStCY29mZmpmTW5rCiAgICBWNGlTSERyM0E5Z05SN09nU2JPM09lbUowaHdxeW8wMnk0SElBcTM1U211aFU0WCtRZWh4UjhCT0hnR052QUE1bmFTYlJVTHZUUk81CiAgICBmaTAwUCsyWm5SYlZmdU9nU1l0OTFDYTNlZVZsV2VyWS9PVUVvVzhLN1hXRXozc3VjcnU5UW1zQnVOWnBISFkvaXBmNkgweEhHN2NkCiAgICB0TkdVdFI1cUY4Z0NMU3ZmSFpGUjVwV2pBRElsUHVSOG1jcnZLRjdOSEp1UzN3cnFXT2lQeG5LejVsVFN6MUxINWkyU0t2Yi9scTR0CiAgICA0OUZTb2N1RlZyRy95MEpKeXpwSHlsVE1JLzdKTlduK0dnOUZJZ1laUnZNZGxHeEVPK1pjWCtSd3Z2MXphc3BrOFpHVDlVSi9JblNICiAgICAwQTVDZnluME11UjMzOFR2ejRxNzkyQ1U1cTMwMEtTVlhwcTIwVTF1UVNHTjVqeXNXY3MraHJ5ZUVhV1M3YWVRR2ZZS3EydDA5VTNtCiAgICBTbmNsK2J1Y1BDNy9EOTNDdzBLL0JGVmNSL0ZDU1Q4UjU2YVRYUURNYjhiUTlPVmVCLzMwcFFLNlpVYVFKaTcza2RkaGtjZGhOZSt4CiAgICB6WnIzc1NQU28yOCtGS1NRUFV4ZXE5SCtYVWFPbnRyZlNvVk9CQUNEUjduNTQ0VytWb2NhK3FJaGNTTWhHY1VPbHR2cHdEWVhQVmpxCiAgICBwem1iWEZRVk1zanZzcWg3cXdpWkFtUFI1bzJ6TE5DT0tYcGhDR3V6YkxUNlFESDF6OThTZTUyaEJJUmVvLzFOUnBTaEZGOWkxZVlvCiAgICBOLzA1b2FNU3JSR1JLeWRLcTlaN2FQR1hidXFRSDZFRlcxejBhR2tPdGZOSFl6UXhKeWNlc1Uzcit6RzJqclBQUGp0cjRjZVFUSnUvCiAgICBqTjdjM1l2NnQ5Z2szSHpHZnZBc2lwZmRsWlFCZU44Z3Rtd1EydUlvTkZjdTB4cEJhdFdJQ01KeW5lTGpjM0xKRkZlZHRjbE5Dd1hRCiAgICBERmVVY3QwaWVyVm9ucXMrc2hIdE81bW5XWlRucW9vWFJTeVBNTjZNWEw1Y01lOWk3eDhTdWdTdjVTTGhKNFMra2NGNHkvenFkZEJNCiAgICBXY3pJbzNnNTN5bTBFdmxlV3dDYlVQUllWdWNNZ2c1T1dPR2x6YnVkVkNnaVdZKzJpWFdMMzFlUVpZRjJESXJkaUZKVjJFTTFOVUh5CiAgICAyRU9aMEVkWk5qK1J2ZjlBNkt2YU1XdUVWbE44Z2ptZHlFbnVCMWpLNktQRUtwQnlSTW9pZ1BaTW9ZT0V6bzRCUFNwQUdEVHBxejFPCiAgICB5bmRhRkdvWmlSVTV2aVZ3eWZiS0pXSHQ4WDZQMEhsQ0QyV0JscFdZK08yMXRLS2lEWlhzN0V2RE8zOUlWT3R2NkN1REtiNGVVY2xmCiAgICBFY1c0ZEtIVTZ4U0pHV05KN0ZXZXlMRkNJcFJXMnFySVZtYytUTXAyRkZlbVUrSXhtM3p5V0x1MjduRFJzTWw1dE8yZ25WcDRvM0pTCiAgICByUjNGSjdjam9MQXAvUXZGVjVwSXFsc2cxSTMyeWdpNnNRbmRLQ1B5UFVJSE1vcjdRNkhic2tETFNrd3NFVWdjSk12ZHRTanhHeFNmCiAgICBCMDRwTXBxcHNDY1hENytiNUppdUdyWFVMeXJQOENkeVdwOUxSTno3Vmg2ZEtDamYxV2NKakIyeXhac1FlNERHVUpOZFlWbkhJTGxxCiAgICAzNG85UXJPZENpSTBmbTZBVm01M1V2ZTJrVmlPUnZGVi8zSlJjeFhPa0VwazVOd0VHbnErOURjVWZ5TGdlYUUzWmFsalZvNktGTGlxCiAgICA2ZjI5M2VqazRBN3FKWlJDL2xSZ3l3T0ZVL0pQMER0ZFRrNTVzVmdaM25vMzRyWWVjeHkwMFgzekF2VGtoMzVxTDZqZnJBMXVxZzRiCiAgICB0TGZTUnNONjE5RElDeXFJRHNSbWx0dUo1clNNTlNuWDNFV2U2S0ZGUzN6MDFtb1BGYmMwRmNnSStSd0JOQTFKTHZMQ2xwUjR0czNiCiAgICB4QzZNYXNBMkc0aW9SMHFPUjEvM2h0T1lrUVZhZWpGZ0hFNTQ0MUNLNHp3NHBnWmUvc2drR0RhVGR0UUVhRlZaRWZVSzdJMUh0dVR6CiAgICBhbkxlckM5ZTcwU09wWXVrWWQxVG1xUGJta2x0d3JkTW5KVWJHdnRlSUdhZG5WckxBb1pCTXphNlkyc1BEd2lnNVhzc0dqbWdVdHl4CiAgICBRRmUxVVNXZ3NGcmtaUE8zMXhqalYyMzJobStlbGlkeVM0b2R4MHIyaXZaVk1NTTNXZDZuUkg0bUZ5cXZCOWp5MGYrVmh6RisvK21GCiAgICBKajFRU0RvSjc4ZGxnZGF3eUlGK0FibVBmTlJrTk1XZk91YlNoK0xyQ3R2am1IdU8xTVdqQWxUSHVTdG9zaXp6aTRqV09YZDNxczE2CiAgICA1UHhZQUsrL0JQM1M1UVl0aDB1QXpFNHZVdHZ3emMvTXpBM2RNeTFJaFlGb0s1OWhGUXR3ZVcxMks5TEtaOG1ucFRlMzhrVWo4N1k2CiAgICA2ZXFTQWlxNThvQUUyeExxV2p0NCtRYlh6b0YzRmNrcWlhOUxjYWc0VitCUmdNd0ZnTWkyUEFUd2UxaWVKcDNTbzVSNFVGUlN6enRRCiAgICB4SkVnL0NPY2w1dWFzaVhDdHlmdEdjaElMN3hrZ1phaUprSHhlYWtPK0QrWmxSZWdzdVZNYXNpSEN6YmhrRDBpc2prY29YUTVHbCtvCiAgICB1ekpKSGlUYjlRRHBTKzBzMmkwaTJXZ0JzaGVlK1djdTNmNTJzTEE0Mzd6SllZczlxTm1lWFUxV0toZEVMWHF5WXpBNmYvSjZOM25mCiAgICB5YU5IejY4b0wzazl2M3pTcDE1YnVkTzZ0bU5oNUJaeGdUN1J1bEZxaTlESEtiNWlSSmV2Mld0NWc1OUtRT1A5MW1PWTVhUkxscmVoCiAgICBvS05zWlg4V2FBMUxoTkhGQXltbzQwRjRiaG45ZGgrTlJqZ05rMHEyblVKM2R5b2xSMnhlelpiTWl5cjVSUHRNVnR6K2hxb2dseWxSCiAgICAwM2pBNWpIWFRoQlU4VGR2NXAzUkx0OTh6bVduVTZKVzdENWVoTkhJL09nSFFpK1JHbzdTdmNjSHpYRlRSZDcyeFQ0N0xkN3VGRFF4CiAgICArblN2OXFFUnBtbEV4ZWVUalRoVmxIMG5IOUVaSXZSUFFzOFFlcDJXSS9HY3pjWGVkNkw0bGd0Mk9EdTVoT3dmU2JwR1BzZzZHTlM1CiAgICBFQkd6RXVPd2dPSlBFRFJFNWVXemNwZUMxZ2Joak1aVDNXM3lMcWI0RkVZaEphWTQ1SXFiU2F5Q2VTTDZ1cE9HcDR2aGhHWGJLaHhJCiAgICA0RTVGdzJhakFuUTF4ZWRMRmlQQnJreVNtd3hDNHVmRlJSZkJNeEhqMlRaUUNKV2d5LzBraWhGV056SUQ5dU03SHR6b0hsQWlHVEg2CiAgICB3NVBJdWFENTRQTEVES0VWMnJrZWc5UUZYSGtUcU5VZzVDZ1dxbkwvSXFwWHNqNFRuWldEcXQxNkZ2cFQ4WDBiaXhUcWZEOUJuOGcyCiAgICBUcVA0aWd4NXpvdHdEamxJcTVJQW9xMktIc1Eyd2pFTWl6WWZ5cWRRMUI0SFduMXB6U0lQcDQyeVVqY0d4Uklsa2diZVQ5N294STM3CiAgICA3ZEdMSDJ0RFZTRnFMMEEyTWVDeWVnbktKL09KVzRSK3BlVjMxNlA2TjFZQWNWK3VLL1o5NnBodlhtVVlOQ0lVTnJhSmpyM0NxQS8wCiAgICBjNFQrSGJiMEljWFhYSExpeW11ZVNrNENyVlR5bHlSQWsxSDNUcXEvcmxQSithQ2w2ZWJNSkJ0NVdpaGZGdlU2NjN2cHdPUVRCMWNCCiAgICBMSlNrRGJjQkw0TVF1WFc1QkJwejFnNTRodWZSc0hGbzZBL1lGK2FDNTZ2UUxwL2VmUW1laW9zYzdHY292bUpiR3RaejhFdzM0L3hTCiAgICBScUhrSzY4bEg2RW93ZDlId3pnaThEUVNwSEtCNmluYU5WYkNHQmFDTmttUDJSbEc5UTA2N3lBR1dGSStPYkhhVVR0SEtkcTBFdS92CiAgICBwdmdUd0Y2VzAweklzRkxHSTR2TTB5NWpmeHNGNEMvQ29QWEFOUzlrMUVsNlpqbTVMT2ViNWdoOVQyY3JQbnM0dmdheXZuaHg3eXJxCiAgICA3c0JydVlKZTMxcGdOYUxLY3JsMXdOeDFIdnE2eXFBV3Z1Z2RJcEpKa00xRlczVUhWSXRjdFFyUmNZekkzMmJsdWkzcERNKzE0czI2CiAgICBMMGswSlRpMGV6REdOeUpYSzJ1Z0g2c0J2RlNGakVkaFgrbGtFd0pET3JiMnFBWXkyY2JodU45MkFOMVo3UE8xeUMyN285OTd3TGI2CiAgICBNTWVmVHV3MlZ2M3h3dUQ3SVRIOW1ubUlGd0dhQWdCQWdVeEdtWG5vUUI4NjlqcDQ1aEE2ckM4clJaL0RyblV1WGdjUVpqMHdDQW15CiAgICBWeGpJVmlKaWhSQ21TOUFaTmF3elI2RHRoR2gwSGd5NEk4QXJ3ZlVaUGo4TDkrREh2VDJDOXBnd2puMHduczRaZEtESnZOY1F0SFVOCiAgICAvbGFJdHNvNXJDbU1ablRSdkg0N3ZKNVhuemxZZE1oMHhvb2pLUW8yUlhqOU9YS2k4K0U0dUx3ZjYxOUxnTXdmcFdjWEJPZ09rWmNWCiAgICA1a1Q3aXB6c0JxeWF2eXNKeUxpOENodVE3T0ZhcmZUK2RacnZMVURmUi9EZFRNcnlxYUxkVFJySXdtQWYwdkZlVHZFTmdsNUdFQWlsCiAgICB5S3NKeDkzSTNzOWdJQ01VdU01aVRPVkdSTnArbEhqV2prQTNuNFRUSHdVNnlkditJV3p5TVJuQWJCcVhsU2YrT1VCd0tZdGlBK0VCCiAgICBCbEJpVHVaVlVLN3pjYXppclBjQkJBdngvblNBNkRnWW5aSWlsaWVxRFZ3bUljS3FCYkszNHlaUFIwZlhnbUxlQzI0ZFptQmRDOG93CiAgICBFdWZvQms0OUhHMC9rUkxQYS9YQzY5c1pXTzlHSkQ4WEZMV3hNZ1lVL0dKUUNoV3hCc0hZbFhDMk1KZ1o2M3YxRWtWQkdXOW92NHg4CiAgICBydXBrK1ZrZTY3ZEZMTWR4YWxGbG1ERFg3VlJnMHN0TGZEUmlaaTRWNUVUSlpvdjFoNHphYjdQb25rN1VSUGgvdzRHcTB2MDliQ3gxCiAgICAyWUV4dVZ5anBJMlZkaFRmVll1THZPNVFzSnAzd0VLdVIxLzdLVEVYcHdDN0EwNmZiNm13QklHaGxxVVFROWpuRXNSL3h1Y20wb0g3CiAgICAyT2VYZ2MwOEFWQnhmdjgycXE2eW5XTnRXcGlld09aaVBzWUpsRndFbzFXRzhRU2pBditDSnlBWStIbjRQaUhjdGthKzVFZTBMQWNGCiAgICB6VWZrQ0xMS1RVOFd5V1lnRDhvQmRWSG43QXZBMWVEOWJuaXFxWWlLcWtqd0dYSk1GenpjTklvL1ppL2xGNkJ4VXFhRDZoSkt5cjhICiAgICBqY21rRWlWbEJTS2ppY2d5amgxeklSeldwNHdocUJ5dkovTit5K3R3RFNOS1pSRVA1YmtyVWoxMW5jdjZiUU9qWGtxK2doRlZrbnlvCiAgICBzc3BHNzI5d2swTzg5Z3Y2S0doZmJ4WkpNNW5NWFE1d2RVSTAreXV1Y1M2aTFrTVlsd0tOdGtsYjJVbE5tMmRVRVcwb2kvd0VSdktICiAgICBScHhuTHlMcVdKYTNya0gvOEYyWnJ3QXpJN0NvS1VuT05RZmpyWExZQWF6QVk5T29mY3FxNDBmYSs0VkFxUU5BVVJ1K2ZBQzZ3a1VCCiAgICBLSWhPa1o3bGQ1VFl6S1VWRFA1MVJNNUxBSmIrYU5RcTVGbXFRNlVSTG9NeDIrQlZjbGcwUEo1NW9zWE1rRHV5eVBsZlFyOUFoMFF4CiAgICBjSDRXYlhqZVZzdmVyd1BvdTJjSXREVmFaZklyZU5EajRFaTJBc3dudzFBTlJPbStySi9yZ0d4M3JaLzZCUFpRQnhuTnpHVDVlT3crCiAgICBYV2ozRnZ5dFFvdXdtOVVQUjd5KzFFZXZyZkJTdDhLSWZNalNZUDJjNlk5UjdJRVQ2Z0oyOEJHaTI5T2d3QTlDdjRaRExFWHV0b2hTCiAgICBUL2huS2dPMTl5ODI4dnM1b0hDcU9DRUR4SzJNNWhQc2xLK2djU0pDV2d3ME5YZ2RTRExGb2djdFJ6cWdtVWs0TXlXcHZ0VWs4WUo4CiAgICBtWXNiWVZrWjJ4a0FGUUU4SHR5MHBGcTlHY2hYczV2WUR6QWI3Q2FxMGViUFlWUnV6ZUJWdWRqRG90TmFkSnFkRWhPbVpYQUlxaHJZCiAgICAxR2tPSTBXL21ZeEdxRGJPQnYzcERDcmJCKzFjQytmemJ4ZStyU1pJSndtUVBkQmpOcmx0SWhERXRqYW9WeERweGh6Y1NsWVVVVk1QCiAgICBjU3Jxc3FoaXA1T21MUE5SbTZDcG5tUzJzWHZPTk5Md2UzS3lzUndJeW5VaHhySWY2TmNRUnFGdW82WXQ2TFdTekJlV04yR3U3VXl0CiAgICB1SkdENmpkcFFPTjdVSjVNNlphdUpTU1F3Z1lvSGREMEozSDdzR08yZ0FJVXd4dDNZSjZVWUVENURJZzFHQWdKdEFzUVpmYkFzTlRqCiAgICBHcGV5eVBJNXdCVm0xYU9obXBkV0pmVUlycStpazUxTktKYkRxL3B4em1Idyt1cHpCNzdmRi9kUmdPaW9kMTdMREpOMzBnb2NVbG93CiAgICB4N0tMUmMxUDRIUnVZTVdIeGVpWHVHVlpCajNlYlM0VitmZVNKd1l5WDZyOVEwNWd4cTZLS0NHV2E4ZjdUZERFamZzZE5IV2RtN29sCiAgICBIcncwS2JHUFNLWmJIUGpRTHhHcU94a2JBZlg5RUgxY2pQNDRteFVxNUZqOGpOUUdQVTEzYUEwYWRBclJFMXduSXR3S3hvVHNXbjRiCiAgICBUVE8xRTRFdE9kazQybEk0aWFRZkRtZUdYMEIxVjA1L3dPWTB1ckxxazVyUHVaczFZalhMODFSZVVneGpVdzhRVmdKb3AyTGdQbUlBCiAgICBJeGprajlnMU9xRXMrM2ZNWTFTbnFGQnRZWjNYRC9taStyd25waUQrRDBVSlpURERXQlhVamtKSmkwWjRYSGtkdnBYQVZlejFJcTA0CiAgICBvWEtPSCtQMVcveUVSZDV5T2lGL0N3VWROWWhrU1VHV3gyanRKMW8wVjNTd3RvRzJyMmZPTkJQcGhyTDJkdVE4eDFIOVhZZ3Q5UDljCiAgICBGQWNHNHRoQktCSTFGV0FSYlE0c3J3bm5tb3pDaVpKV3FCcjZXR1N2MFNxbTUxQmlqdlU4cGhkQ0pTdjdJMk11VmlxZzZSSHRGRkNPCiAgICBHWlNZTEZiVm1Ya29Pb3dBc0VZaklueEdkVGVHbWNHcWJDc0FLTCtXdE8vRmdQUmk4eFNmc29MTVlIamFsMUJTL1JJMzFaMFZEeW9wCiAgICArUzVlVlNqb1hJN09uSXIzT3dHR3R1aUVxMURRbVFDRGVRTUZseDRhd0JzQ21lckg4ZWo4QUJ5SWFzc2I3RGlacC8wYXh3VFFIeC96CiAgICBrOTdkZVFIWlpJVlI1bVdwbjY0ZURGcnpDY1pGVDhDMy9kdG93Z1oxS1lqUTBPNjF0R2k3TTdZaERwdGJVMVhFSjZqaFg0d1ppSEg4CiAgICBHNkwxeHlndS9aUlNUdzZ2UXRGaUhQSzZWNXNZMGJabzc2L1VpMGNOeUU0VXE5YkFLWjdPN3VrT2ZGYW1GVWI4YVAvQkprUmQ3dlRxCiAgICBSVFFUSUd1UEVubC9ObWgzNHZVWG9EM2Y0TVEvUkttOUo1dXp1WlYxL0dJdDRWUnpFUHVZUjVXeWxIbXRlWWlzQjJBNGw2SU0zeDNICiAgICBQSVVLWVN0V3dnMW85eklKOHg4UmVKcXJNZGZSbGsxQnZJRjVseWxzM21za3VQeXpyQndkU0pIRGVaazMvQno5ZEEyaWxXckxTUFFCCiAgICBMell0MDByQWRTWThmU0tpVWNTVmJrQjdzMnJ3U3hxMUxtQVJMVTZ4UWdZRjJvYnBtdE9yYUgrMVRTOWVsWUtkWE4rQUVSVXhkbE1DCiAgICB3eTlIU2xDVUliMDJEeU9pdmFNNXRoRVpPa05pL2JFTDl2Q0E1aGdlUk1TTlV0MWZ6RG1OK0laRERZditVMVZkVTBVME83enlHTkJDCiAgICBINnB2cnlLaUtQa0grUGRRZUNrbmpPVUR6TFZ3eXJJUEE5UUozcDNUbkhzQmlGQVM3elFGQ2Y3bE1Dd1hRRG9WMFV5VmpYK0JYR29UCiAgICAxVi93K1djWStUQTRnakR1WXdhTElpSGM2eXg0TnpldThSb0tGSjN3bldUN0luNkJhT0NENTVQbnVobjUzbjVRbFRsSnVQMHNSbFBuCiAgICAxRHRyYlVCR01qOEtKZnMxZW53NityZzFhTkJFN2R0RDJIUkh3bFJGVkpQbGZTMyt5M0Y2SE9kN0NxWDdhVW51c3hCUnZ6TU0vaVBtCiAgICB6R1IwL2kzR0lka2NSRmRFRE5JamR5TmxKaHl3bWhyeHdGRk9SUHQzZ1pVTWdOMlVhdTF4c3FMVWUzQ2tveGdHSGdkcm13aW5veFlyCiAgICAzSTk3R0E5bldndkhxM0xRcFd3TXE4RWkvR3lPYlNSczIzQWtTUkkvZ0RHN1lEekorTXM2SkpQcUIreENhZVppbGtLVG5XTmRtczdkCiAgICBnR3M0Y1kyd2RvMURsR1NTVjVNVjZIaFYzZzhudVI5NW5yL0FvUmlzb1BCUmt1a09MZ2VJUFc4RUdZV0JNN1dCVm9XWUlDV1cvbnhHCiAgICA5ZGM5aWxiS0J5dXRuaGdraTBVblhqa2JUL1UzUyswQnowejFISVBvdmJKYUc0VU9HZVRJcTdOSnpqUjQrSWRoc00vQ1FaWGhQczdFCiAgICBaNTNRajdlenM3NEFZRjhMWXh3SE9ockJtQTFHdENoRTVKMStHRUF6MGJjektiRytVenE0M3lCZlB3and0WUNUWEtoTktlaTA3aGs0CiAgICAxbjU0THdQRzc4SEdSaUhWVUc3cGYzQXZCOWk5NVFMWUpReG9XM0RkaTFobGN5emF2c1NSb2dwcFpaQk0weEdZSDhsRUR2ZUJTa3RMCiAgICBjby9XZFpSQm1DbEt3SGNpQXZaa3RMSCs4cVY0WHJZWXpPSlh5UHNLY0EvVEVNbm1KTG5HQUVUM0tLSXRpMTBHblYwVW90TTZobWhyCiAgICB1WjNuYVlUOFpEUCt2eFdxai9FcjhPNDcyTjlWYnY0MENrdkp0bEFvQTFESGFQM3Ixd283WGdZZXU4YXlsQ3dIWFh5ZUFZUll2c3VyCiAgICBzUVZVZHdsV25zYmVkZ0FFdkJCMUM2cS9qK0Mrbm1KVEtNRVUxZG1XV2o4OURHY1lZSGlTMnRHaE5jQk5XVGtha29OY1U0RnNNNmhsCiAgICBPbGtKYXVaQ2JxbDJvVW8xbDNNREJ2dDYwbitkVTlER0xpZlUwaVdiYW1qTW5JQUFXajFmOEJxaTg2V1k5bWdCWUc4R1pWdWE0cnJMCiAgICBLZkVqOFRLbmFRZXc3QU9kbjAzSk45ZVpqbUpXR1BmMUZhdUVUa0IwOGxQOVh4bGRpdXY5Q1A5M1poVklkYzJaU0dXbTQzOExiZERwCiAgICAvOXRJYXdZZ1dyVkUyNzM0N2ljb21KMkRpcmtmVGxRZXV4WG5mRjg3NXlLMDYxWktUSTNKbEdtKzhmTExML2RDYUl5Z2tSdXp1RGppCiAgICBJcW5HTCtFaGQ4TDdmNXJzd092S1JqWGwvSFpVSVN0UndhMHZRWk5HVHcvU21OSWM2aEEwbTBPZkduQXdha09WQ2tyTUp6YTRvMUdhCiAgICBmdFFMTjNaRU15L1lRaldvcXRWQTIxb2djTW5qeS81ZmdBRUFzK0N2bUhOZFN2MEFBQUFBU1VWT1JLNUNZSUk9Ci0tLQotIAogICNEZWZhdWx0IHRpY2tldCBmaWx0ZXJzIGluc3RhbGxlZCBmb3IgdGhlIHN5c3RlbQogICNOT1RFOiBUaGUgU1lTVEVNIEJBTiBMSVNUIGlzIGNyaXRpY2FsbHkgaW1wb3J0YW50IGFuZCBzaG91bGQgX25ldmVyXyBiZQogICNyZW1vdmVkIGZyb20gdGhpcyBmaWxlLiBUaGUgbmFtZSAnU1lTVEVNIEJBTiBMSVNUJyBpcyBhbHNvIGltcG9ydGFudAogICNhbmQgc2hvdWxkIG5vdCBiZSB0cmFuc2xhdGVkIC0tIGl0IGlzIG5vdCBkaXNwbGF5ZWQgb24gdGhlIGludGVyZmFjZQogICNGaWVsZHM6CiAgI2lzYWN0aXZlIC0gKGJvb2w6MHwxKSB0cnVlIG9yIGZhbHNlIGlmIHRoZSBmaWx0ZXIgaXMgaW5pdGlhbGx5IGVuYWJsZWQKICAjZXhlY29yZGVyIC0gKGludCkgb3JkZXIgdGhlIGZpbHRlcnMgc2hvdWxkIGJlIGV4ZWN1dGVkIGluIChsb3dlc3QgZmlyc3QpCiAgI25hbWUgLSAoc3RyaW5nKSBEZXNjcmlwdGl2ZSBuYW1lIGZvciB0aGUgZmlsdGVyCiAgI25vdGVzIC0gKHN0cmluZykgQWRtaW5pc3RyYXRpdmUgbm90ZXMgKHZpZXdhYmxlIGludGVybmFsbHkgb25seSkKICAjcnVsZXMgLSAobGlzdDxGaWx0ZXJSdWxlPikgTGlzdCBvZiBydWxlcyBmb3IgdGhlIGZpbHRlcgogICNGaWVsZHMgZm9yIEZpbHRlclJ1bGU6CiAgI2lzYWN0aXZlIC0gKGJvb2w6MHwxKSB0cnVlIGlmIHRoZSBydWxlIHNob3VsZCBiZSBjb25zaWRlcmVkCiAgI3doYXQgLSAoZW51bTxlbWFpbHw+KSBmaWVsZCB0byBjaGVjawogICNob3cgLSAoZW51bTxlcXVhbHN8Y29udGFpbnN8ZG5jb250YWluPikgaG93IHRvIGNoZWNrIGZvciA8dmFsPgogICN2YWwgLSAoc3RyaW5nKSBzZWFyY2ggdmFsdWUKICAjRmllbGRzIGZvciBGaWx0ZXJBY3Rpb24KICAjdHlwZSAtIHR5cGUgb2YgZmlsdGVyIGFjdGlvbgogICMtLS0KICBpc2FjdGl2ZTogMQogIGV4ZWNvcmRlcjogOTkKICBtYXRjaF9hbGxfcnVsZXM6IDEKICBlbWFpbF9pZDogMQogIHRhcmdldDogRW1haWwgI25vdHJhbnMKICBuYW1lOiBTWVNURU0gQkFOIExJU1QgI25vdHJhbnMKICBub3RlczogfAogICAgSW50ZXJuZSBsaWpzdCBvbSBlLW1haWxhZHJlc3NlbiB0ZSBibG9ra2VyZW4uIFZlcndpamRlciBkZXplIG5pZXQKICBydWxlczoKICAgIC0gCiAgICAgIGlzYWN0aXZlOiAxCiAgICAgIHdoYXQ6IGVtYWlsICNub3RyYW5zCiAgICAgIGhvdzogZXF1YWwgI25vdHJhbnMKICAgICAgdmFsOiB0ZXN0QGV4YW1wbGUuY29tICNub3RyYW5zCiAgYWN0aW9uczoKICAgIC0gCiAgICAgIHNvcnQ6IDEKICAgICAgdHlwZTogdmVyd2VycGVuICNub3RyYW5zCi0tLQotIAogICNEZWZhdWx0IGdyb3VwcyBkZWZpbmVkIGZvciB0aGUgc3lzdGVtCiAgI0ZpZWxkczoKICAjaWQgLSBQcmltYXJ5IGlkIGZvciB0aGUgZ3JvdXAKICAjcm9sZV9pZCAtIChpbnQpICBkZWZhdWx0IHJvbGUgZm9yIHRoZSBncm91cAogICNmbGFncyAtIChiaXQgbWFzaykgZ3JvdXAgZmxhZ3MKICAjbmFtZSAtIChzdHJpbmcpIGRlc2NyaXB0aXZlIG5hbWUgZm9yIHRoZSBncm91cAogICNub3RlcyAtIChzdHJpbmcpIGFkbWluaXN0cmF0aXZlIG5vdGVzICh2aWV3YWJsZSBpbnRlcm5hbGx5IG9ubHkpCiAgI2RlcHRzOiAobGlzdDxEZXBhcnRtZW50PGlkPj4pIGlkJ3Mgb2YgdGhlIGRlcGFydG1lbnRzIHRvIHdoaWNoIHRoZSBncm91cAogICNzaG91bGQgaW5pdGlhbGx5IGhhdmUgYWNjZXNzCiAgI05PVEU6IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICNUaGUgdmVyeSBmaXJzdCBncm91cCBsaXN0ZWQgaW4gdGhpcyBkb2N1bWVudCB3aWxsIGJlIHRoZSBwcmltYXJ5IGdyb3VwIG9mCiAgI3RoZSBpbml0aWFsIHN0YWZmIG1lbWJlciAtLSB0aGUgYWRtaW5pc3RyYXRvci4KICAjLS0tCiAgaWQ6IDEKICByb2xlX2lkOiAxCiAgZmxhZ3M6IDEKICBuYW1lOiBMZWV1d2VudGVtbWVycwogIG5vdGVzOiB8CiAgICBGdW5jdGlvbmVlbCBiZWhlZXJkZXJzLiBEZXplIG1lbnNlbiBoZWJiZW4gKGFhbnZhbmtlbGlqaykgdm9sbGVkaWdlIGNvbnRyb2xlIG92ZXIgYWxsZSBhZmRlbGluZ2VuIHdhYXIgemUgdG9lZ2FuZyB0b3QgaGViYmVuLgogIGRlcHRzOgogICAgLSAxCiAgICAtIDIKICAgIC0gMwotIAogIGlkOiAyCiAgcm9sZV9pZDogMgogIGZsYWdzOiAxCiAgbmFtZTogT2xpZmFudCB3YW5kZWxhYXJzCiAgbm90ZXM6IHwKICAgIEhvZ2UgUGlldGVuCiAgZGVwdHM6CiAgICAtIDEKICAgIC0gMgogICAgLSAzCi0gCiAgaWQ6IDMKICByb2xlX2lkOiAyCiAgZmxhZ3M6IDEKICBuYW1lOiBWbG8gVHJhaW5lcnMKICBub3RlczogfAogICAgTGFnZXJlIG1lZGV3ZXJrZXJzCiAgZGVwdHM6CiAgICAtIDEKICAgIC0gMgogICAgLSAzCi0tLQotIAogICNDdXN0b20gKGR5bmFtaWMpIGxpc3RzLiBUaGlzIGRhdGEgaXMgdXNlZCBhcyB0aGUgaW5pdGlhbCwKICAjbWluaW1hbCBkYXRhIGZvciBkeW5hbWljIGxpc3QgdGhhdCBzaGlwcyB3aXRoIHRoZSBzeXN0ZW0uCiAgI0ZpZWxkczoKICAjaWQ6ICAgICAgICAgICBQcmltYXJ5IGlkIChub3QgcmVjb21tZW5kZWQpCiAgI25hbWU6ICAgICAgICAgTmFtZSBvZiB0aGUgbGlzdAogICNuYW1lX3BsdXJhbDogIE5hbWUgaW4gcGx1cmFsIChvcHRpb25hbCkKICAjc29ydF9tb2RlOiAgICBTb3J0aW5nIG9yZGVyIChBbHBoYSwgLUFscGhhLCBTb3J0Q29sKQogICNtYXNrczogICAgICAgIEVkaXQgbWFza3MgdG8gaW5kaWNhdGUgdmFyaW91cyBzdGF0dXNlcyBvZiB0aGUgbGlzdAogICMoZS5nICBpZiBlZGl0YWJsZSBvciBkZWxldGFibGUuLmV0YykKICAjbm90ZXM6ICAgICAgICBOb3RlcyBmb3IgdGhlIGxpc3QKICAjaXRlbXM6ICAgICAgICBMaXN0IG9mIGl0ZW1zIGZvciB0aGUgbGlzdAogICNpZDogICAgICAgICBQcmltYXJ5IGlkCiAgI3ZhbHVlOiAgICAgIFZhbHVlIChuYW1lKSBvZiB0aGUgbGlzdCBpdGVtCiAgI2V4dHJhOiAgICAgIEFiYnJldmlhdGVkIHZlcnNpb24gb2YgdGhlIHZhbHVlCiAgI3N0YXR1czogICAgIElmIGVuYWJsZWQgKDEgLSBlbmFibGVkLCAwIC0gZGlzYWJsZWQpCiAgI3NvcnQ6ICAgICAgIFNvcnQgb3JkZXIgIChvcHRpb25hbCkKICAjcHJvcGVydGllczogSXRlbS1zcGVjaWZpYyBjb25maWcgYmFzZWQgb24gVGlja2V0IEZsYWdzIGZvcm0gZmllbGRzCiAgIyhrZXkpOiAgKHZhbHVlKQogICNwcm9wZXJ0aWVzOiAgIExpc3QgcHJvcGVydGllcyBmb3JtIChzZWUgZm9ybS55YW1sIGZvciBkZXRhaWxzKQogICMtLS0KICAjVGlja2V0IHN0YXR1c2VzCiAgdHlwZTogdGlja2V0LXN0YXR1cyAjbm90cmFucwogIG5hbWU6IFRpY2tldHN0YXR1cwogIG5hbWVfcGx1cmFsOiBUaWNrZXQgc3RhdHVzc2VuCiAgc29ydF9tb2RlOiBTb3J0Q29sICNub3RyYW5zCiAgbWFza3M6IDEzCiAgbm90ZXM6IHwKICAgIFRpY2tldCBzdGF0dXNzZW4KICBwcm9wZXJ0aWVzOgogICAgdGl0bGU6IFRpY2tldCBzdGF0dXNlaWdlbnNjaGFwcGVuCiAgICBpbnN0cnVjdGlvbnM6IEVpZ2Vuc2NoYXBwZW4gZGllIGt1bm5lbiB3b3JkZW4gaW5nZXN0ZWxkIG9wIGRlIHN0YXR1cyB2YW4gZWVuIHRpY2tldC4KICAgIGZsYWdzOiAxCiAgICBmaWVsZHM6CiAgICAgIC0gCiAgICAgICAgdHlwZTogc3RhdGUgI25vdHJhbnMKICAgICAgICBuYW1lOiBzdGF0ZSAjbm90cmFucwogICAgICAgIGxhYmVsOiBTdGF0dXMKICAgICAgICBzb3J0OiAxCiAgICAgICAgZmxhZ3M6IDQ4NzY2NQogICAgICAgIGNvbmZpZ3VyYXRpb246CiAgICAgICAgICBwcm9tcHQ6IFN0YXR1cyB2YW4gZWVuIHRpY2tldAogICAgICAtIAogICAgICAgIHR5cGU6IG1lbW8gI25vdHJhbnMKICAgICAgICBuYW1lOiBkZXNjcmlwdGlvbiAjbm90cmFucwogICAgICAgIGxhYmVsOiBCZXNjaHJpanZpbmcKICAgICAgICBzb3J0OiAzCiAgICAgICAgZmxhZ3M6IDQ3MTA3MwogICAgICAgIGNvbmZpZ3VyYXRpb246CiAgICAgICAgICByb3dzOiAyCiAgICAgICAgICBjb2xzOiA0MAogICAgICAgICAgaHRtbDogZmFsc2UKICAgICAgICAgIGxlbmd0aDogMTAwCiAgY29uZmlndXJhdGlvbjoKICAgIGhhbmRsZXI6IFRpY2tldFN0YXR1c0xpc3QKLS0tCiNEZWZhdWx0IHN5c3RlbSBkYXRhIGZvciB0aWNrZXQgcHJpb3JpdGllcwojLS0tCmxvdzoKICBwcmlvcml0eV9pZDogMQogIHByaW9yaXR5X2Rlc2M6IExhYWcKICBwcmlvcml0eV9jb2xvcjogIiNEREZGREQiCiAgcHJpb3JpdHlfdXJnZW5jeTogNApub3JtYWw6CiAgcHJpb3JpdHlfaWQ6IDIKICBwcmlvcml0eV9kZXNjOiBOb3JtYWFsCiAgcHJpb3JpdHlfY29sb3I6ICIjRkZGRkYwQSIKICBwcmlvcml0eV91cmdlbmN5OiAzCmhpZ2g6CiAgcHJpb3JpdHlfaWQ6IDMKICBwcmlvcml0eV9kZXNjOiBIb29nCiAgcHJpb3JpdHlfY29sb3I6ICIjRkVFN0U3IgogIHByaW9yaXR5X3VyZ2VuY3k6IDIKZW1lcmdlbmN5OgogIHByaW9yaXR5X2lkOiA0CiAgcHJpb3JpdHlfZGVzYzogU3BvZWQKICBwcmlvcml0eV9jb2xvcjogIiNGRUU3RTciCiAgcHJpb3JpdHlfdXJnZW5jeTogMQotLS0KLSAKICAjU2VxdWVuY2VzIGluc3RhbGxlZCB3aXRoIHRoZSBzeXN0ZW0KICAjRmllbGRzOgogICNpZDogICAgICAgICAgIFBLCiAgI25hbWU6ICAgICAgICAgTmFtZSBvZiB0aGUgc2VxdWVuY2UKICAjbmV4dDogICAgICAgICBOZXh0IHZhbHVlIG9mIHRoZSBzZXF1ZW5jZQogICNwYWRkaW5nOiAgICAgIFBhZGRpbmcgY2hhcmFjdGVyCiAgI2luY3JlbWVudDogICAgRGlzdGFuY2UgYmV0d2VlbiB0d28gbnVtYmVycyBvZiB0aGUgc2VxdWVuY2UKICAjZmxhZ3M6ICAgICAgICBCaXRtYXNrIG9mIGZsYWcgc2V0dGluZ3MuIEN1cnJlbnRseSBrbm93biB2YWx1ZXMgYXJlCiAgI0lOVEVSTkFMOj0weDAwMDEgKHJlc3RyaWN0IGRlbGV0ZSkKICAjLS0tCiAgI0lEOjEgaXMgcmVzZXJ2ZWQgZm9yIHVwZ3JhZGVzLiBXaGVuIHRyYW5zaXRpb25pbmcgdG8gb3NUaWNrZXQgMS4xMCwgdGhlCiAgI3NlcXVlbmNlIElEOjEgd2lsbCBiZSBjb25maWd1cmVkIHRvIHN0YXJ0IGNvdW50aW5nIGZyb20gdGhlIGN1cnJlbnQKICAjTUFYKHRpY2tldC50aWNrZXRfaWQpLiBUaGUgdXBncmFkZSB3aWxsIG1pc3MgdGhpcyBzdGVwIGlmIHRoZXJlIGlzIG5vCiAgI3NlcXVlbmNlIHdpdGggSUQ6MQogIGlkOiAxCiAgbmFtZTogIkFsZ2VtZW5lIFRpY2tldHMiCiAgbmV4dDogMQogIHBhZGRpbmc6ICcxJwogIGluY3JlbWVudDogMQogIGZsYWdzOiAxCi0gCiAgaWQ6IDIKICBuYW1lOiAiT3BlZW52b2xnaW5nIHZhbiB0YWtlbiIKICBuZXh0OiAxCiAgcGFkZGluZzogJzEnCiAgaW5jcmVtZW50OiAxCiAgZmxhZ3M6IDEKLS0tCi0gCiAgI0luaXRpYWwgU2VydmljZS1MZXZlbC1BZ3JlZW1lbnRzIChTTEEpIGRlZmluZWQgZm9yIHRoZSBzeXN0ZW0KICAjRmllbGRzOgogICNpZCAtIChpbnQ6b3B0aW9uYWwpIGlkIG51bWJlciBpbiB0aGUgZGF0YWJhc2UKICAjZmxhZ3MgLSAoaW50OmJpdG1hc2spCiAgI2lzYWN0aXZlIC0gKGZsYWc6MSkgdHJ1ZSBvZiBmYWxzZSBpZiB0aGUgU0xBIHNob3VsZCBpbml0aWFsbHkgYmUgYWN0aXZlCiAgI2VuYWJsZV9wcmlvcml0eV9lc2NhbGF0aW9uIC0gKGZsYWc6MikgdHJ1ZSBvciBmYWxzZSBpZiB0aGUgU0xBIHNob3VsZAogICNjYXVzZSB0aGUgdGlja2V0IHByaW9yaXR5IHRvIGJlIGVzY2FsYXRlZCB3aGVuIGl0IGlzIG1hcmtlZCBvdmVyZHVlCiAgI2Rpc2FibGVfb3ZlcmR1ZV9hbGVydHMgLSAoZmxhZzo0KSAtIHRydWUgb3IgZmFsc2UgaWYgdGhlIG92ZXJkdWUgYWxlcnQKICAjZW1haWxzIHNob3VsZCBfbm90XyBnbyBvdXQgZm9yIHRpY2tldHMgYXNzaWduZWQgdG8gdGhpcyBTTEEKICAjdHJhbnNpZW50IC0gKGZsYWc6OCkgLSB0cnVlIGlmIHRoZSBTTEEgc2hvdWxkIGNoYW5nZSB3aGVuIGNoYW5naW5nCiAgI2RlcGFydG1lbnQgb3IgaGVscCB0b3BpYy4KICAjZ3JhY2VfcGVyaW9kIC0gKGludCkgbnVtYmVyIG9yIGhvdXJzIGFmdGVyIHRoZSB0aWNrZXQgaXMgb3BlbmVkIGJlZm9yZSBpdAogICNpcyBtYXJrZWQgb3ZlcmR1ZQogICNuYW1lIC0gKHN0cmluZykgZGVzY3JpcHRpdmUgbmFtZSBvZiB0aGUgU0xBCiAgI25vdGVzIC0gKHN0cmluZykgYWRtaW5pc3RyYXRpdmUgbm90ZXMgKHZpZXdhYmxlIGludGVybmFsbHkgb25seSkKICAjLS0tCiAgaWQ6IDEKICBmbGFnczogMwogIGdyYWNlX3BlcmlvZDogNDgKICBuYW1lOiBTdGFuZGFhcmQgU0xBCiAgMDogfAoKLS0tCi0gCiAgI0luaXRpYWwgdGVhbXMgZGVmaW5lZCBmb3IgdGhlIHN5c3RlbS4KICAjRmllbGRzOgogICNmbGFncyAtIChpbnQpCiAgIy0gaXNlbmFibGVkIC0gKDB4MDEpIHRydWUgb3IgZmFsc2UgaWYgdGhlIHRlYW0gc2hvdWxkIGJlIGluaXRpYWxseQogICNlbmFibGVkCiAgIy0gbm9hbGVydHMgLSAoMHgwMikKICAjbmFtZSAtIERlc2NyaXB0aXZlIG5hbWUgZm9yIHRoZSB0ZWFtCiAgI25vdGVzIC0gQWRtaW5pc3RyYXRpdmUgbm90ZXMgKHZpZXdhYmxlIGludGVybmFsIG9ubHkpCiAgIy0tLQogIGZsYWdzOiAweDAxCiAgbmFtZTogRWVyc3RlbGlqbnMgb25kZXJzdGV1bmluZwogIG5vdGVzOiB8CiAgICBFZXJzdGVsaWpucyBvbmRlcnN0ZXVuaW5nLCB2ZXJhbnR3b29yZGVsaWprIHZvb3IgZGUgZWVyc3RlIGludGVyYWN0aWUgbWV0IGtsYW50ZW4KLS0tCi0gCiAgI0RlZmF1bHQgc3lzdGVtIGRhdGEgZm9yIHRpY2tldCBzdGF0dXNlcwogICNGaWVsZHM6CiAgI2lkIC0gKGludDpvcHRpb25hbCkgaWQgbnVtYmVyIGluIHRoZSBkYXRhYmFzZQogICNuYW1lIC0gKHN0cmluZykgZGVzY3JpcHRpdmUgbmFtZSBvZiB0aGUgc3RhdHVzCiAgI3N0YXRlIC0gKHN0cmluZykgTWFpbiBzdGF0dXMgb2YgYSB0aWNrZXQKICAjKG9wZW4sIGNsb3NlZCwgYXJjaGl2ZWQsIGRlbGV0ZWQpCiAgI21vZGUgLSAoYml0KSBhY2Nlc3MgbWFzayAoMSAtIGVuYWJsZWQsIDIgLSBpbnRlcm5hbCkKICAjZmxhZ3MgLSAoYml0KSBmbGFncyB0aGF0IGNhbiBiZSBzZXQgb24gYSB0aWNrZXQKICAjcHJvcGVydGllczoKICAjZGVzY3JpcHRpb24gLSAoc3RyaW5nKSBEZXNjcmlwdGlvbiBvZiB0aGUgc3RhdHVzCiAgIy0tLQogIGlkOiAxCiAgbmFtZTogT3BlbgogIHN0YXRlOiBvcGVuCiAgbW9kZTogMwogIHNvcnQ6IDEKICBmbGFnczogMQogIHByb3BlcnRpZXM6CiAgICBkZXNjcmlwdGlvbjogPgogICAgICBPcGVuIFRpY2tldHMuCi0gCiAgaWQ6IDIKICBuYW1lOiBPcGdlbG9zdAogIHN0YXRlOiBnZXNsb3RlbgogIG1vZGU6IDEKICBzb3J0OiAyCiAgZmxhZ3M6IDEKICBwcm9wZXJ0aWVzOgogICAgYWxsb3dyZW9wZW46IHRydWUKICAgIHJlb3BlbnN0YXR1czogMQogICAgZGVzY3JpcHRpb246ID4KICAgICAgT3BnZWxvc3RlIFRpY2tldHMKLSAKICBpZDogMwogIG5hbWU6IEdlc2xvdGVuCiAgc3RhdGU6IGdlc2xvdGVuCiAgbW9kZTogMwogIHNvcnQ6IDMKICBmbGFnczogMQogIHByb3BlcnRpZXM6CiAgICBhbGxvd3Jlb3BlbjogdHJ1ZQogICAgcmVvcGVuc3RhdHVzOiAxCiAgICBkZXNjcmlwdGlvbjogPgogICAgICBBZmdlc2xvdGVuIHRpY2tldHMuIERlIHRpY2tldHMgYmxpanZlbiB0b2VnYW5rZWxpamsgdm9vciBjbGnDq250IGVuIG1lZGV3ZXJrZXJzLgotIAogIGlkOiA0CiAgbmFtZTogR2VhcmNoaXZlZXJkCiAgc3RhdGU6IGFyY2hpdmVkCiAgbW9kZTogMwogIHNvcnQ6IDQKICBmbGFnczogMQogIHByb3BlcnRpZXM6CiAgICBkZXNjcmlwdGlvbjogPgogICAgICBUaWNrZXRzIHppam4gYWxsZWVuIGFkbWluaXN0cmF0aWVmIGJlc2NoaWtiYWFyLCBtYWFyIG5pZXQgbWVlciB0b2VnYW5rZWxpamsgdm9vciBjbGnDq250ZW4uCi0gCiAgaWQ6IDUKICBuYW1lOiBWZXJ3aWpkZXJkCiAgc3RhdGU6IGRlbGV0ZWQKICBtb2RlOiAzCiAgc29ydDogNQogIGZsYWdzOiAxCiAgcHJvcGVydGllczoKICAgIGRlc2NyaXB0aW9uOiA+CiAgICAgIFRpY2tldHMgZGllIHZlcndpamRlcmQgd29yZGVuLiBOaWV0IG1lZXIgYmVzY2hpa2JhYXIgaW4gZGUgd2FjaHRyaWplbi4KLyogRHV0Y2ggKFVURi04KSBpbml0aWFsaXNhdGlvbiBmb3IgdGhlIGpRdWVyeSBVSSBkYXRlIHBpY2tlciBwbHVnaW4uICovCi8qIFdyaXR0ZW4gYnkgTWF0aGlhcyBCeW5lbnMgPGh0dHA6Ly9tYXRoaWFzYnluZW5zLmJlLz4gKi8KKCBmdW5jdGlvbiggZmFjdG9yeSApIHsKCWlmICggdHlwZW9mIGRlZmluZSA9PT0gImZ1bmN0aW9uIiAmJiBkZWZpbmUuYW1kICkgewoKCQkvLyBBTUQuIFJlZ2lzdGVyIGFzIGFuIGFub255bW91cyBtb2R1bGUuCgkJZGVmaW5lKCBbICIuLi93aWRnZXRzL2RhdGVwaWNrZXIiIF0sIGZhY3RvcnkgKTsKCX0gZWxzZSB7CgoJCS8vIEJyb3dzZXIgZ2xvYmFscwoJCWZhY3RvcnkoIGpRdWVyeS5kYXRlcGlja2VyICk7Cgl9Cn0oIGZ1bmN0aW9uKCBkYXRlcGlja2VyICkgewoKZGF0ZXBpY2tlci5yZWdpb25hbC5ubCA9IHsKCWNsb3NlVGV4dDogIlNsdWl0ZW4iLAoJcHJldlRleHQ6ICLihpAiLAoJbmV4dFRleHQ6ICLihpIiLAoJY3VycmVudFRleHQ6ICJWYW5kYWFnIiwKCW1vbnRoTmFtZXM6IFsgImphbnVhcmkiLCAiZmVicnVhcmkiLCAibWFhcnQiLCAiYXByaWwiLCAibWVpIiwgImp1bmkiLAoJImp1bGkiLCAiYXVndXN0dXMiLCAic2VwdGVtYmVyIiwgIm9rdG9iZXIiLCAibm92ZW1iZXIiLCAiZGVjZW1iZXIiIF0sCgltb250aE5hbWVzU2hvcnQ6IFsgImphbiIsICJmZWIiLCAibXJ0IiwgImFwciIsICJtZWkiLCAianVuIiwKCSJqdWwiLCAiYXVnIiwgInNlcCIsICJva3QiLCAibm92IiwgImRlYyIgXSwKCWRheU5hbWVzOiBbICJ6b25kYWciLCAibWFhbmRhZyIsICJkaW5zZGFnIiwgIndvZW5zZGFnIiwgImRvbmRlcmRhZyIsICJ2cmlqZGFnIiwgInphdGVyZGFnIiBdLAoJZGF5TmFtZXNTaG9ydDogWyAiem9uIiwgIm1hYSIsICJkaW4iLCAid29lIiwgImRvbiIsICJ2cmkiLCAiemF0IiBdLAoJZGF5TmFtZXNNaW46IFsgInpvIiwgIm1hIiwgImRpIiwgIndvIiwgImRvIiwgInZyIiwgInphIiBdLAoJd2Vla0hlYWRlcjogIldrIiwKCWRhdGVGb3JtYXQ6ICJkZC1tbS15eSIsCglmaXJzdERheTogMSwKCWlzUlRMOiBmYWxzZSwKCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsCgl5ZWFyU3VmZml4OiAiIiB9OwpkYXRlcGlja2VyLnNldERlZmF1bHRzKCBkYXRlcGlja2VyLnJlZ2lvbmFsLm5sICk7CgpyZXR1cm4gZGF0ZXBpY2tlci5yZWdpb25hbC5ubDsKCn0gKSApOwo8P3BocCByZXR1cm4gYXJyYXkgKAogICcnID0+ICdQcm9qZWN0LUlkLVZlcnNpb246IG9zdGlja2V0LW9mZmljaWFsClgtT3N0aWNrZXQtTWFqb3ItVmVyc2lvbjogMS4xNApQT1QtQ3JlYXRlLURhdGU6IDIwMjAtMDQtMjggMTQ6MzkgKzAwMDAKUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IHN1cHBvcnRAb3N0aWNrZXQuY29tCkxhbmd1YWdlOiBubF9OTApNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdApYLUdlbmVyYXRvcjogb3NUaWNrZXQgaTE4biBDTEkKUGx1cmFsLUZvcm1zOiBucGx1cmFscz0yOyBwbHVyYWw9KG4gIT0gMSk7ClgtQ3Jvd2Rpbi1Qcm9qZWN0OiBvc3RpY2tldC1vZmZpY2lhbApYLUNyb3dkaW4tTGFuZ3VhZ2U6IG5sClgtQ3Jvd2Rpbi1GaWxlOiAvMS4xNC54L0xDX01FU1NBR0VTL21lc3NhZ2VzLnBvCkxhbmd1YWdlLVRlYW06IER1dGNoClBPLVJldmlzaW9uLURhdGU6IDIwMjAtMDQtMjggMTQ6NDcKJywKICAnIjEiIGlzIHJlY29tbWVuZGVkIGlmIEFKQVggaXMgbm90IHdvcmtpbmcnID0+ICciMSIgaXMgYWFuYmV2b2xlbiBhbHMgQUpBWCBuaWV0IHdlcmt0JywKICAnJTEkZCAtICUyJGQgb2YgJTMkZCcgPT4gJyUxJGQgLSAlMiRkIHZhbiAlMyRkJywKICAnJTEkZCBjb25zZWN1dGl2ZSBlcnJvcnMuIE1heGltdW0gb2YgJTIkZCBhbGxvd2VkJyA9PiAnJTEkZCBvcGVlbnZvbGdpbmcgdmFuIGZvdXRlbi4gTWF4aW1hYWwgJTIkZCB0b2VnZXN0YWFuJywKICAnJTEkZCBvZiAlMiRkICUzJHMgJTQkcycgPT4gJyUxJGQgdmFuICUyJGQgJTMkcyAlNCRzJywKICAnJTEkZCBvZiAlMiRkICUzJHMgYWN0aXZhdGVkJyA9PiAnJTEkZCB2YW4gJTIkZCAlMyRzIGdlYWN0aXZlZXJkJywKICAnJTEkZCBvZiAlMiRkICUzJHMgZGVsZXRlZCcgPT4gJyUxJGQgdmFuICUyJGQgJTMkcyB2ZXJ3aWpkZXJkJywKICAnJTEkZCBvZiAlMiRkICUzJHMgZGlzYWJsZWQnID0+ICclMSRkIHZhbiAlMiRkICUzJHMgdWl0Z2VzY2hha2VsZCcsCiAgJyUxJGQgb2YgJTIkZCAlMyRzIGVuYWJsZWQnID0+ICclMSRkIHZhbiAlMiRkICUzJHMgaW5nZXNjaGFrZWxkJywKICAnJTEkZCBvZiAlMiRkICUzJHMgbWFkZSBQUklWQVRFJyA9PiAnJTEkZCB2YW4gJTIkZCAlMyRzIHN1Y2Nlc3ZvbCBhbHMgcHJpdmUgYWFuZ2VtZXJrdCcsCiAgJyUxJGQgb2YgJTIkZCAlMyRzIG1hZGUgUFVCTElDJyA9PiAnJTEkZCB2YW4gJTIkZCAlMyRzIHB1YmxpZWtlbGlqayBnZW1hYWt0JywKICAnJTEkZCBvZiAlMiRkICUzJHMgcmVtb3ZlZCcgPT4gJyUxJGQgdmFuICUyJGQgJTMkcyB2ZXJ3aWpkZXJkJywKICAnJTEkZCBvZiAlMiRkICUzJHMgc3RhdHVzIGNoYW5nZWQgdG8gJTQkcycgPT4gJyUxJGQgdmFuICUyJGQgJTMkcyBzdGF0dXMgdmVyYW5kZXJkIGluICU0JHMnLAogICclMSRkIG9mICUyJGQgJTMkcyB1cGRhdGVkJyA9PiAnJTEkZCB2YW4gJTIkZCAlMyRzIGJpamdld2Vya3QnLAogICclMSRkIG9mICUyJGQgc2VsZWN0ZWQgdGlja2V0cycgPT4gJyUxJGQgdmFuICUyJGQgZ2VzZWxlY3RlZXJkZSB0aWNrZXRzJywKICAnJTEkcyAoJTIkcykgbG9nZ2VkIGluIFslMyRzXScgPT4gJyUxJHMgKCUyJHMpIGluZ2Vsb2dkIFslMyRzXScsCiAgJyUxJHMgQ29udGFjdCB1cyAlMiRzIHRvZGF5IGZvciA8dT5leHBlZGl0ZWQ8L3U+IGhlbHAuJyA9PiAnJTEkcyBDb250YWN0IG9ucyAlMiRzIHZhbmRhYWcgdm9vciA8dT51aXRnZWJyZWlkZTwvdT4gaHVscC4nLAogICclMSRzIFRpY2tldCAjJTIkcycgPT4gJyUxJHMgVGlja2V0ICUyJHMnLAogICclMSRzIGFmdGVyICUyJHMnID0+ICclMSRzIG5hICUyJHMnLAogICclMSRzIGJlZm9yZSAlMiRzJyA9PiAnJTEkcyB2b29yICUyJHMnLAogICclMSRzIGJldHdlZW4gJTIkcyBhbmQgJTMkcycgPT4gJyUxJHMgdHVzc2VuICUyJHMgZW4gJTMkcycsCiAgJyUxJHMgaGFzICUyJGQgb3BlbiB0YXNrcyBhbmQgY2Fubm90IGJlIGNsb3NlZCcgPT4gJyUxJHMgaGVlZnQgJTIkZCBvcGVuIHRha2VuIGRpZSBuaWV0IGdlc2xvdGVuIGt1bm5lbiB3b3JkZW4nLAogICclMSRzIGluIHRoZSBsYXN0ICUyJHMnID0+ICclMSRzIGluIGRlIGxhYXRzdGUgJTIkcycsCiAgJyUxJHMgaW4gdGhlIG5leHQgJTIkcycgPT4gJyUxJHMgaW4gZGUgdm9sZ2VuZGUgJTIkcycsCiAgJyUxJHMgaXMgbWlzc2luZyBkYXRhIG9uICUyJHMgb25lIG9yIG1vcmUgcmVxdWlyZWQgZmllbGRzICUzJHMgYW5kIGNhbm5vdCBiZSBjbG9zZWQnID0+ICclMSRzIG1pc3QgZ2VnZXZlbnMgdmFuICUyJHMgw6nDqW4gb2YgbWVlcmRlcmUgdmVycGxpY2h0ZSB2ZWxkZW4gJTMkcyBlbiBrYW4gbmlldCB3b3JkZW4gZ2VzbG90ZW4nLAogICclMSRzIHRyYW5zZmVycmVkIGZyb20gJTIkcyB0byAlMyRzJyA9PiAnJTEkcyB2ZXJodWlzZCB2YW4gJTIkcyBuYWFyICUzJHMnLAogICclMSRzOiBJbnZhbGlkIGRhdGE6ICUyJHMnID0+ICclMSRzOiBPbmdlbGRpZ2UgZ2VnZXZlbnM6ICUyJHMnLAogICclZCBDbG9zZWQgVGlja2V0JyAuICJcMCIgLiAnJWQgQ2xvc2VkIFRpY2tldHMnID0+ICclZCBHZXNsb3RlbiB0aWNrZXQnIC4gIlwwIiAuICclZCBHZXNsb3RlbiB0aWNrZXRzJywKICAnJWQgRkFRcyBtYXRjaGVkIHlvdXIgc2VhcmNoIGNyaXRlcmlhLicgPT4gJyVkIEZBUXMga3dhbWVuIG92ZXJlZW4gbWV0IHV3IHpvZWtjcml0ZXJpYS4nLAogICclZCBPcGVuIFRpY2tldCcgLiAiXDAiIC4gJyVkIE9wZW4gVGlja2V0cycgPT4gJyVkIG9wZW4gdGlja2V0JyAuICJcMCIgLiAnJWQgb3BlbiB0aWNrZXRzJywKICAnJWQgZGF5cyBhZ28nID0+ICclZCBkYWcoZW4pIGdlbGVkZW4nLAogICclZCBob3VycyBhZ28nID0+ICclZCB1dXIgZ2VsZWRlbicsCiAgJyVkIG1pbnV0ZScgLiAiXDAiIC4gJyVkIG1pbnV0ZXMnID0+ICclZCBtaW51dXQnIC4gIlwwIiAuICclZCBtaW51dXQnLAogICclZCBtaW51dGVzIGFnbycgPT4gJyVkIG1pbnV0ZW4gZ2VsZWRlbicsCiAgJyVkIG1vbnRocyBhZ28nID0+ICclZCBtYWFuZChlbikgZ2VsZWRlbicsCiAgJyVkIG92ZXJkdWUgdGFza3MhJyA9PiAnJWQgdGFrZW4gb3ZlciB0aWpkIScsCiAgJyVkIHNlY29uZHMgYWdvJyA9PiAnJWQgc2Vjb25kZW4gZ2VsZWRlbicsCiAgJyVkIHllYXJzIGFnbycgPT4gJyVkIGphYXIgZ2VsZWRlbicsCiAgJyVzICMlcyBkZWxldGVkIHN1Y2Nlc3NmdWxseScgPT4gJyVzICMlcyBtZXQgc3VjY2VzIHZlcndpamRlcmQnLAogICclcyAmbWRhc2g7IE9yZ2FuaXphdGlvbicgPT4gJyVzICZtZGFzaDsgT3JnYW5pc2F0aWUnLAogICclcyAoJWQgaG91cnMgLSAlcyknID0+ICclcyAoJWQgdXVyIC0gJXMpJywKICAnJXMgLSBSZWxheCEnID0+ICclcyAtIHJlbGF4IScsCiAgJyVzIC0gYWNjZXNzIGxpbmsgc2VudCB0byB5b3VyIGVtYWlsIScgPT4gJyVzIC0gdG9lZ2FuZ3NsaW5rIHZlcnpvbmRlbiBuYWFyIHV3IGUtbWFpbCEnLAogICclcyA8JXM+IHdpbGwgbG9uZ2VyIGhhdmUgYWNjZXNzIHRvIHRoZSB0aWNrZXQnID0+ICclcyA8JXM+IGhlZWZ0IGdlZW4gdG9lZ2FuZyBtZWVyIHRvdCBkaXQgdGlja2V0JywKICAnJXMgTm90ZScgPT4gJyVzIE9wbWVya2luZycsCiAgJyVzIFRpY2tldHMnID0+ICclcyB0aWNrZXRzJywKICAnJXMgYWRkZWQgYXMgYSBjb2xsYWJvcmF0b3InID0+ICclcyB0b2VnZXZvZWdkIGFscyBlZW4gbWVkZXdlcmtlcicsCiAgJyVzIGFscmVhZHkgYXNzaWduZWQgdG8gJXMnID0+ICclcyBpcyBhbCB0b2VnZXdlemVuIGFhbiAlcycsCiAgJyVzIGFscmVhZHkgaW4gdGhlIGRlcGFydG1lbnQnID0+ICclcyBpcyBhbCBpbiBkZSBhZmRlbGluZycsCiAgJyVzIGFzc2lnbmVkIHRvICVzJyA9PiAnJXMgdG9lZ2V3ZXplbiBhYW4gJXMnLAogICclcyBhc3NpZ25lZCB0byB0aGlzIG9yZ2FuaXphdGlvbiB3aWxsIGJlIG9ycGhhbmVkLicgPT4gJyVzIGRpZSBhYW4gZGV6ZSBvcmdhbmlzYXRpZSB6aWpuIHRvZWdld2V6ZW4sIHp1bGxlbiB2ZXJ3ZXplbi9nYWFuIHp3ZXZlbi4nLAogICclcyBieSB7c29tZWJvZHl9IHt0aW1lc3RhbXB9JyA9PiAnJXMgZG9vciB7c29tZWJvZHl9IG9wIHt0aW1lc3RhbXB9JywKICAnJXMgY2Fubm90IGJlIGNsb3NlZCcgPT4gJyVzIGthbiBuaWV0IHdvcmRlbiBnZXNsb3RlbicsCiAgJyVzIGNvbnRhaW5zICIlcyInID0+ICclcyBiZXZhdCAiJXMiJywKICAnJXMgZG9lcyBub3QgaGF2ZSBhIHZhbHVlJyA9PiAnJXMgaGVlZnQgZ2VlbiB3YWFyZGUnLAogICclcyBkb2VzIG5vdCBoYXZlIGFueSB0YXNrcycgPT4gJyVzIGhlZWZ0IGdlZW4gdGFrZW4nLAogICclcyBkb2VzIG5vdCBoYXZlIGFueSB0aWNrZXRzJyA9PiAnJXMgaGVlZnQgZ2VlbiB0aWNrZXRzJywKICAnJXMgZG9lcyBub3QgaW5jbHVkZSAlcycgPT4gJyVzIGJldmF0IG5pZXQgJXMnLAogICclcyBoYXMgYSB2YWx1ZScgPT4gJyVzIGhlZWZ0IGVlbiB3YWFyZGUnLAogICclcyBpbiAoJXMpJyA9PiAnJXMgaW4gKCVzKScsCiAgJyVzIGluY2x1ZGVzICVzJyA9PiAnJXMgYmV2YXQgJXMnLAogICclcyBpcyAlcycgPT4gJyVzIGlzICVzJywKICAnJXMgaXMgYSByZXF1aXJlZCBmaWVsZCcgPT4gJyVzIGlzIGVlbiB2ZXJwbGljaHQgdmVsZCcsCiAgJyVzIGlzIGFscmVhZHkgYSBjb2xsYWJvcmF0b3InID0+ICclcyBpcyBhbCBlZW4gbWVkZXdlcmtlcicsCiAgJyVzIGlzIGF2YWlsYWJsZScgPT4gJyVzIGlzIGJlc2NoaWtiYWFyJywKICAnJXMgaXMgY3VycmVudGx5IGFzc2lnbmVkIHRvIDxiPiVzPC9iPicgPT4gJyVzIGlzIG9wIGRpdCBtb21lbnQgdG9lZ2V3ZXplbiBhYW4gPGI+JXM8L2I+JywKICAnJXMgaXMgbm90ICVzJyA9PiAnJXMgaXMgbmlldCAlcycsCiAgJyVzIGlzIHJlcXVpcmVkJyA9PiAnJXMgaXMgdmVyZWlzdCcsCiAgJyVzIGxvZ2dlZCBpbiBbJXNdLCB2aWEgJXMnID0+ICclcyBpbmdlbG9nZCBbJXNdLCB2aWEgJXMnLAogICclcyBsb2dnZWQgb3V0IFslc10nID0+ICclcyB1aXRnZWxvZ2QgWyVzXScsCiAgJyVzIG1hdGNoZXMgcGF0dGVybiAlcycgPT4gJyVzIGtvbXQgb3ZlcmVlbiBtZXQgJXMnLAogICclcyBub3QgaW4gKCVzKScgPT4gJyVzIGlzIG5pZXQgaW4gKCVzKScsCiAgJyVzIG9yIGdyZWF0ZXInID0+ICclcyBvZiBtZWVyJywKICAnJXMgb3IgbGF0ZXInID0+ICclcyBvZiBsYXRlcicsCiAgJyVzIHN0YXR1cyBjaGFuZ2VkIHRvICVzJyA9PiAnJXMgc3RhdHVzIHZlcmFuZGVyZCBpbiAlcycsCiAgJyVzIHN1Y2Nlc3NmdWxseScgPT4gJyVzIHN1Y2Nlc3N2b2wnLAogICclcyB0cmFuc2ZlcnJlZCB0byAlcyBkZXBhcnRtZW50JyA9PiAnJXMgdmVyaHVpc2QgbmFhciBhZmRlbGluZyAlcycsCiAgJyVzOiAlczogRmllbGQgbm90IGRlZmluZWQnID0+ICclczogJXM6IFZlbGQgbmlldCBnZWRlZmluaWVlcmQnLAogICclczogQ2FsbCB0byBub24tZXhpc3RpbmcgZnVuY3Rpb24nID0+ICclczogdnJhYWcgYWFuIG5pZXQgYmVzdGFhbmRlIGZ1bmN0aWUnLAogICclczogQ2FsbCB0byB1bmRlZmluZWQgZnVuY3Rpb24nID0+ICclczogdnJhYWcgbmFhciBuaWV0IGdlZGVmaW5pw6tlcmRlIGZ1bmN0aWUnLAogICclczogRXJyb3IgcGFyc2luZyBTUUwgc2NoZW1hISBHZXQgaGVscCBmcm9tIGRldmVsb3BlcnMgKCM0KScgPT4gJyVzOiBGb3V0IGJpaiBoZXQgcGFyc2VuIHZhbiBoZXQgU1FMIHNjaGVtYSEgVnJhYWcgaHVscCBiaWogZGUgb250d2lra2VsYWFycyAoIzQpJywKICAnJXM6IEZpZWxkIG11c3QgaGF2ZSBgdmFyaWFibGVgIHNldCB0byBiZSBpbXBvcnRlZCcgPT4gJyVzOiB2ZWxkIG1vZXQgYHZhcmlhYmxlYCBoZWJiZW4gb20gdGUga3VubmVuIHdvcmRlbiBnZcOvbXBvcnRlZXJkJywKICAnJXM6IEludmFsaWQgb3IgdW5rbm93bicgPT4gJyVzOiBvbmJla2VuZCBvZiBuaWV0IGp1aXN0JywKICAnJXM6IE1vZGVsIGRvZXMgbm90IGRlZmluZSBtZXRhLnBrJyA9PiAnJXM6IE1vZGVsIGhlZWZ0IGdlZW4gbWV0YS5wayBhYW5nZW1hYWt0JywKICAnJXM6IE1vZGVsIGRvZXMgbm90IGRlZmluZSBtZXRhLnRhYmxlJyA9PiAnJXM6IE1vZGVsIGhlZWZ0IGdlZW4gbWV0YS50YWJsZSBnZWRlZmluw69lZXJkJywKICAnJXM6IE5vdCBhIHZhbGlkIGVtYWlsIGFkZHJlc3MnID0+ICclczogRGl0IGlzIGdlZW4gZ2VsZGlnIGVtYWlsYWRyZXMnLAogICclczogUG9vcmx5IGVuY29kZWQgYmFzZTY0IGRhdGEnID0+ICclczogU2xlY2h0IGdlY29kZWVyZGUgYmFzZTY0IGdlZ2V2ZW5zJywKICAnJXM6IFJlcGx5IHBvc3RlZCBzdWNjZXNzZnVsbHknID0+ICclczogUmVhY3RpZSBzdWNjZXN2b2wgb3BnZXNsYWdlbicsCiAgJyVzOiBSZXZlcnNlIGRvZXMgbm90IHNwZWNpZnkgYW55IGNvbnN0cmFpbnRzJyA9PiAnJXM6IE9tZ2VrZWVyZCBiZXZhdCBnZWVuIGJlcGVya2luZ2VuJywKICAnJXM6IFVuYWJsZSB0byBtYXAgaGVhZGVyIHRvIHRoZSBvYmplY3QgZmllbGQnID0+ICclczogT25tb2dlbGlqayBvbSBkZSBrb3AgYWFuIGhldCBvYmplY3R2ZWxkIHRlIGtvcHBlbGVuJywKICAnJXM6IFVuYWJsZSB0byBwcm9jZXNzIGNsZWFudXAgZmlsZScgPT4gJyVzOiBrYW4gaGV0IG9wc2Nob29uIGJlc3RhbmQgbmlldCB2ZXJ3ZXJrZW4nLAogICclczogVW5hYmxlIHRvIHJldHJpZXZlIHRlbXBsYXRlJyA9PiAnJXM6IE9ubW9nZWxpamsgb20gc2phYmxvb24gb3AgdGUgaGFsZW4nLAogICclczogVW5leHBlY3RlZCBkYXRhIHJlY2VpdmVkIGluIEFQSSByZXF1ZXN0JyA9PiAnJXM6IE9udmVyd2FjaHRlIGdlZ2V2ZW5zIG9udHZhbmdlbiBpbiBBUEkgdmVyem9laycsCiAgJyVzOiBVbmtub3duIG9yIGludmFsaWQnID0+ICclczogb25iZWtlbmQgb2Ygb25nZWxkaWcnLAogICclczogVW5rbm93biBvciBpbnZhbGlkICVzJyA9PiAnJXM6IG9uYmVrZW5kIG9mIG9uZ2VsZGlnICVzJywKICAnJXM6IFVua25vd24gb3IgaW52YWxpZCBJRC4nID0+ICclczogb25iZWtlbmQgb2Ygb25nZWxkaWcgaWQuJywKICAnJXM6IFVua25vd24gb3IgaW52YWxpZCBudW1iZXIuJyA9PiAnJXM6IE9uYmVrZW5kLCBvZiBvbmdlbGRpZyBudW1tZXIuJywKICAnJXM6IFVua25vd24gb3IgaW52YWxpZCBzY2hlbWEgc2lnbmF0dXJlICglcyAuLiAlcyknID0+ICclczogT25iZWtlbmRlIG9mIG9uZ2VsZGlnZSBzY2hlbWEgc2lnbmF0dXJlIChoYW5kdGVrZW5pbmcpICglcyAuLiAlcyknLAogICclczogVW5rbm93biB0ZW1wbGF0ZSBzdHlsZSAlcycgPT4gJyVzOiBPbmJla2VuZGUgbGF5b3V0L3N0eWxlL29wbWFhayAlcycsCiAgJygwIHRvIGRpc2FibGUpJyA9PiAnKDAgb20gdWl0IHRlIHNjaGFrZWxlbiknLAogICcoRGVmYXVsdCknID0+ICcoU3RhbmRhYXJkKScsCiAgJyhFbnRlciBhIGtleSkuIFZhbHVlIHNlbGVjdGVkIGZyb20gdGhlIGxpc3QgaW5pdGlhbGx5JyA9PiAnKERydWsgb3AgZWVuIHRvZXRzKS4gV2FhcmRlIGdlc2VsZWN0ZWVyZCB2YW4gZGUgaW5pdGnDq2xlIGxpanN0JywKICAnKEZpdmUgY2hhcmFjdGVycyBtaW4pJyA9PiAnKFZpamYgdGVrZW5zIG1pbmltdW0pJywKICAnKExhdGVzdCknID0+ICcoTGFhdHN0ZSknLAogICcoT3ZlcnJpZGUgZ2xvYmFsIHNldHRpbmcpJyA9PiAnKE92ZXJzY2hyaWpmdCBzdGFuZGFhcmQgaW5zdGVsbGluZyknLAogICcoY2hhcnMpJyA9PiAnKHRla2VucyknLAogICcoZGVmdW5jdCDigJQgbWlzc2luZyknID0+ICcob250YnJla2VuZGUpJywKICAnKGRpc2FibGVkKScgPT4gJyh1aXRnZXNjaGFrZWxkKScsCiAgJyhlbmFibGVkIGJ5IGRlZmF1bHQpJyA9PiAnKHN0YW5kYWFyZCBpbmdlc2NoYWtlbGQpJywKICAnKGZhc3RlciBwZXJmb3JtYW5jZSknID0+ICcoc25lbGxlcmUgcHJlc3RhdGllcyknLAogICcoZm9yIEhUTUwgZW1haWwgcHJvY2Vzc2luZyknID0+ICcodm9vciBIVE1MIGUtbWFpbHZlcndlcmtpbmcpJywKICAnKGZvciBYTUwgQVBJKScgPT4gJyh2b29yIFhNTCBBUEkpJywKICAnKGluLXVzZSBhbmQgZGVmYXVsdCB0ZW1wbGF0ZSBzZXRzIGNhbm5vdCBiZSBkaXNhYmxlZCknID0+ICcoaW4gZ2VicnVpaywgc3RhbmRhYXJkIHNqYWJsb25lbiBrdW5uZW4gbmlldCB1aXRnZXNjaGFrZWxkIHdvcmRlbiknLAogICcoaW4tdXNlKScgPT4gJyhpbi1nZWJydWlrKScsCiAgJyhpbnRlcm5hbCknID0+ICcoaW50ZXJuKScsCiAgJyhvbiBmcm9udC1wYWdlIHNpZGViYXIpJyA9PiAnKG9wIGRlIHZvb3JwYWdpbmEsIHppamJhbGspJywKICAnKG9wdGlvbmFsKScgPT4gJyhvcHRpb25lZWwpJywKICAnKHB1Ymxpc2gpJyA9PiAnKHB1YmxpY2VlciknLAogICcocmV0aXJlZCknID0+ICcoZ2VwZW5zaW9uZWVyZCknLAogICcocm9vdCknID0+ICcocm9vdCknLAogICcocm93cyknID0+ICcocmlqZW4pJywKICAnKHRydW5jYXRlZCknID0+ICcoYWZnZWthcHQpJywKICAnKHR5cGUgbm90IHNldCknID0+ICcodHlwZSBuaWV0IGluZ2VzdGVsZCknLAogICctLSBBcyBFbnRlcmVkIC0tJyA9PiAnLS0gWm9hbHMgaW5nZXZvZXJkIC0tJywKICAnPGI+JXM8L2I+IHBvc3RlZCAlcycgPT4gJzxiPiVzPC9iPiBwbGFhdHN0ZSAlcycsCiAgJzxiPkhpICVzPC9iPiAtIFlvdSBtdXN0IDxhPmNoYW5nZSB5b3VyIHBhc3N3b3JkIHRvIGNvbnRpbnVlPC9hPiEnID0+ICc8Yj5Ib2kgJXM8L2I+IC0gamUgbW9ldCBlZXJzdCA8YT5qZSB3YWNodHdvb3JkIHZlcmFuZGVyZW48L2E+IG9tIHZlcmRlciB0ZSBnYWFuIScsCiAgJzxiPldlbGNvbWUgYmFjayAlczwvYj4hIFlvdSBhcmUgbGlzdGVkIGFzIFwnb24gdmFjYXRpb25cJyBQbGVhc2UgbGV0IHlvdXIgbWFuYWdlciBrbm93IHRoYXQgeW91IGFyZSBiYWNrLicgPT4gJzxiPldlbGtvbSB0ZXJ1ZyAlczwvYj4hIFUgc3RhYXQgaW4gaGV0IHN5c3RlZW0gZ2VyZWdpc3RyZWVyZCBhbHMgXCdvcCB2YWthbnRpZVwnLCBHZWVmIHV3IGxlaWRpbmdnZXZlbmRlIGRvb3IgZGF0IHUgd2VlciB0ZXJ1ZyBiZW50LicsCiAgJzxiPntzb21lYm9keX08L2I+IGFkZGVkIDxzdHJvbmc+JXM8L3N0cm9uZz4gYXMgY29sbGFib3JhdG9ycyB7dGltZXN0YW1wfScgPT4gJzxiPntzb21lYm9keX08L2I+IHRvZWdldm9lZ2QgPHN0cm9uZz4lczwvc3Ryb25nPiBhbHMgYmlqZHJhZ2VyIHt0aW1lc3RhbXB9JywKICAnPGI+e3NvbWVib2R5fTwvYj4gYXNzaWduZWQgdGhpcyB0byA8c3Ryb25nPns8U3RhZmY+ZGF0YS5zdGFmZn08L3N0cm9uZz4ge3RpbWVzdGFtcH0nID0+ICc8Yj57c29tZWJvZHl9PC9iPkhlZWZ0IGRpdCB0b2VnZXdlemVuIGFhbiA8c3Ryb25nPns8U3RhZmY+ZGF0YS5zdGFmZn08L3N0cm9uZz4ge3RpbWVzdGFtcH0nLAogICc8Yj57c29tZWJvZHl9PC9iPiBhc3NpZ25lZCB0aGlzIHRvIDxzdHJvbmc+ezxUZWFtPmRhdGEudGVhbX08L3N0cm9uZz4ge3RpbWVzdGFtcH0nID0+ICc8Yj57c29tZWJvZHl9PC9iPkhlZWZ0IGRpdCB0b2VnZXdlemVuIGFhbiA8c3Ryb25nPns8VGVhbT5kYXRhLnRlYW19PC9zdHJvbmc+IHt0aW1lc3RhbXB9JywKICAnPGI+e3NvbWVib2R5fTwvYj4gY2hhbmdlZCBvd25lcnNoaXAgdG8gezxVc2VyPmRhdGEub3duZXJ9IHt0aW1lc3RhbXB9JyA9PiAnPGI+e3NvbWVib2R5fTwvYj4gZWlnZW5hYXJzY2hhcCBpcyBnZXdpanppZ2QgaW4gezxVc2VyPmRhdGEub3duZXJ9IHt0aW1lc3RhbXB9JywKICAnPGI+e3NvbWVib2R5fTwvYj4gY2hhbmdlZCB0aGUgc3RhdHVzIHRvIDxzdHJvbmc+ezxUaWNrZXRTdGF0dXM+ZGF0YS5zdGF0dXN9PC9zdHJvbmc+IHt0aW1lc3RhbXB9JyA9PiAnPGI+e3NvbWVib2R5fTwvYj4gZGUgc3RhdHVzIGlzIGdld2lqemlnZCBuYWFyIDxzdHJvbmc+ezxUaWNrZXRTdGF0dXM+ZGF0YS5zdGF0dXN9PC9zdHJvbmc+IHt0aW1lc3RhbXB9JywKICAnPGI+e3NvbWVib2R5fTwvYj4gY2xhaW1lZCB0aGlzIHt0aW1lc3RhbXB9JyA9PiAnPGI+e3NvbWVib2R5fTwvYj4gaGVlZnQgemljaCBkZXplIHRvZWdlw6tpZ2VuZCBvcCB7dGltZXN0YW1wfScsCiAgJzxiPntzb21lYm9keX08L2I+IHJlbW92ZWQgPHN0cm9uZz4lczwvc3Ryb25nPiBmcm9tIHRoZSBjb2xsYWJvcmF0b3JzIHt0aW1lc3RhbXB9JyA9PiAnPGI+e3NvbWVib2R5fTwvYj4gaGVlZnQgPHN0cm9uZz4lczwvc3Ryb25nPiB2YW4gZGUgc2FtZW53ZXJrZXJzIHZlcndpamRlcmQge3RpbWVzdGFtcH0nLAogICc8Yj57c29tZWJvZHl9PC9iPiByZXNlbnQgPHN0cm9uZz48YSBocmVmPSIjdGhyZWFkLWVudHJ5LXtkYXRhLmVudHJ5fSI+YSBwcmV2aW91cyByZXNwb25zZTwvYT48L3N0cm9uZz4ge3RpbWVzdGFtcH0nID0+ICc8Yj57c29tZWJvZHl9PC9iPiBvcG5pZXV3IHZlcnpvbmRlbiA8c3Ryb25nPjxhIGhyZWY9IiN0aHJlYWQtZW50cnkte2RhdGEuZW50cnl9Ij5lZW4gdm9yaWcgYW50d29vcmQ8L2E+PC9zdHJvbmc+IGFtIHt0aW1lc3RhbXB9JywKICAnPGI+e3NvbWVib2R5fTwvYj4gdHJhbnNmZXJyZWQgdGhpcyB0byA8c3Ryb25nPntkZXB0fTwvc3Ryb25nPiB7dGltZXN0YW1wfScgPT4gJzxiPntzb21lYm9keX08L2I+IGRpdCBvdmVyZ2VicmFjaHQgbmFhciA8c3Ryb25nPntkZXB0fTwvc3Ryb25nPiB7dGltZXN0YW1wfScsCiAgJzxzdHJvbmc+JTEkczwvc3Ryb25nPiBjaGFuZ2VkIGZyb20gPHN0cm9uZz4lMiRzPC9zdHJvbmc+IHRvIDxzdHJvbmc+JTMkczwvc3Ryb25nPicgPT4gJzxzdHJvbmc+JTEkczwvc3Ryb25nPiB2ZXJhbmRlcmQgdmFuIDxzdHJvbmc+JTIkczwvc3Ryb25nPiBuYWFyIDxzdHJvbmc+JTMkczwvc3Ryb25nPicsCiAgJzxzdHJvbmc+JTEkczwvc3Ryb25nPiBzZXQgdG8gPHN0cm9uZz4lMiRzPC9zdHJvbmc+JyA9PiAnPHN0cm9uZz4lMSRzPC9zdHJvbmc+IGluZ2VzdGVsZCB0b3QgPHN0cm9uZz4lMiRzPC9zdHJvbmc+JywKICAnPHN0cm9uZz5EaXNhYmxlPC9zdHJvbmc+IG5ldyB0aWNrZXQgYXV0by1yZXNwb25zZScgPT4gJzxzdHJvbmc+VWl0c2NoYWtlbGVuPC9zdHJvbmc+IG5pZXV3IHRpY2tldCBhdXRvbWF0aXNjaCBhbnR3b29yZGJlcmljaHQnLAogICc8c3Ryb25nPkRpc2FibGU8L3N0cm9uZz4gb3ZlcmR1ZSBhbGVydHMgbm90aWNlcy4nID0+ICdPdmVyIHRpamQgbWVsZGluZ2VuIDxzdHJvbmc+dWl0c2NoYWtlbGVuPC9zdHJvbmc+LicsCiAgJzxzdHJvbmc+U3RvcDwvc3Ryb25nPiBwcm9jZXNzaW5nIGZ1cnRoZXIgb24gbWF0Y2ghJyA9PiAnPHN0cm9uZz5zdG9wPC9zdHJvbmc+IG1ldCB2ZXJkZXIgYmVoYW5kZWxlbiBhbHMgZXIgZWVuIG1hdGNoIGlzIScsCiAgJzxzdHJvbmc+VXNlPC9zdHJvbmc+IHRoZSBSZXBseS1UbyBlbWFpbCBoZWFkZXInID0+ICc8c3Ryb25nPkdlYnJ1aWs8L3N0cm9uZz4gZGUgUmVwbHktVG8gZW1haWwgaGVhZGVyJywKICAnQSBjb2xsYWJvcmF0b3InID0+ICdFZW4gbWVkZXdlcmtlcicsCiAgJ0EgY29uZmlybWF0aW9uIGVtYWlsIGhhcyBiZWVuIHNlbnQnID0+ICdFZW4gYmV2ZXN0aWdpbmdzLWUtbWFpbCBpcyB2ZXJzdHV1cmQnLAogICdBIG9uZS10aW1lIG5vdGljZSBzZW50LCBpZiBlbmFibGVkLCB3aGVuIHVzZXIgaGFzIHJlYWNoZWQgdGhlIG1heGltdW0gYWxsb3dlZCBvcGVuIHRpY2tldHMuJyA9PiAnRWVuIGVlbm1hbGlnZSBtZWxkaW5nIGRpZSAtaW5kaWVuIGdlYWN0aXZlZXJkLSB2ZXJ6b25kZW4gd29yZHQgaW5kaWVuIGVlbiBnZWJydWlrZXIgaGV0IG1heGltdW0gdG9lZ2VzdGFuZGUgb3BlbiB0aWNrZXRzIGhlZWZ0IGJlcmVpa3QuJywKICAnQSBwYWdlIGN1cnJlbnRseSBpbi11c2UgQ0FOTk9UIGJlIGRpc2FibGVkIScgPT4gJ0VlbiBwYWdpbmEgZGllIG1vbWVudGVlbCBpbiBnZWJydWlrIGlzIGthbiBOSUVUIHdvcmRlbiB1aXRnZXNjaGFrZWxkIScsCiAgJ0EgcGFzc3dvcmQgcmVzZXQgZW1haWwgd2FzIHNlbnQgdG8gdGhlIGVtYWlsIG9uIGZpbGUgZm9yIHlvdXIgYWNjb3VudC4gIEZvbGxvdyB0aGUgbGluayBpbiB0aGUgZW1haWwgdG8gcmVzZXQgeW91ciBwYXNzd29yZC4nID0+ICdFZW4gd2FjaHR3b29yZC1oZXJzdGVsLWVtYWlsIGlzIHpvanVpc3QgdmVyc3R1dXJkIG5hYXIgaGV0IGUtbWFpbGFkcmVzIGRhdCBiaWogZGl0IGFjY291bnQgaG9vcnQuIEtsaWsgb3AgZGUgbGluayBpbiBkZXplIGUtbWFpbCBvbSB1dyB3YWNodHdvb3JkIHRlIGhlcnN0ZWxsZW4uJywKICAnQSBwcmltYXJ5IHN5c3RlbSBsYW5ndWFnZSBpcyByZXF1aXJlZCcgPT4gJ0VlbiBwcmltYWlyZSBzeXN0ZWVtdGFhbCBpcyB2ZXJwbGljaHQnLAogICdBUEknID0+ICdBUEknLAogICdBUEkgQ2FsbHMnID0+ICdBUEkgY2FsbHMnLAogICdBUEkgRXJyb3InID0+ICdBUEkgZm91dCcsCiAgJ0FQSSBLZXknID0+ICdBUEktc2xldXRlbCcsCiAgJ0FQSSBLZXkgaXMgYXV0by1nZW5lcmF0ZWQuIERlbGV0ZSBhbmQgcmUtYWRkIHRvIGNoYW5nZSB0aGUga2V5LicgPT4gJ0FQSSBzbGV1dGVsIGlzIGF1dG9tYXRpc2NoIGdlZ2VuZXJlZXJkLiBWZXJ3aWpkZXIgZW4gdm9lZyBvcG5pZXV3IHRvZSBvbSBkZXplIHNsZXV0ZWwgYWFuIHRlIHBhc3Nlbi4nLAogICdBUEkgS2V5cycgPT4gJ0FQSSBzbGV1dGVscycsCiAgJ0FQSSBVbmV4cGVjdGVkIERhdGEnID0+ICdBUEkgb252ZXJ3YWNodGUgZ2VnZXZlbnMnLAogICdBUEkga2V5IG5vdCBhdXRob3JpemVkJyA9PiAnQVBJIHNsZXV0ZWwgbmlldCBnZWF1dGhvcml6ZWVyZCcsCiAgJ0FQSSBrZXkgbm90IGZvdW5kL2FjdGl2ZSBvciBzb3VyY2UgSVAgbm90IGF1dGhvcml6ZWQnID0+ICdBUEktc2xldXRlbCBuaWV0IGdldm9uZGVuL2FjdGllZiBvZiBicm9uIElQIGFkcmVzIG5pZXQgZ2VhdXRvcmlzZWVyZCcsCiAgJ0FiYnJldicgPT4gJ0FmaycsCiAgJ0FiYnJldmlhdGlvbicgPT4gJ0Fma29ydGluZycsCiAgJ0FiaWxpdHkgdG8gYWNjZXNzIHRoZSB1c2VyIGRpcmVjdG9yeScgPT4gJ01vZ2VsaWpraGVpZCBvbSB0b2VnYW5nIHRlIGhlYmJlbiB0b3QgZGUgZ2VicnVpa2Vyc21hcCcsCiAgJ0FiaWxpdHkgdG8gYWRkIG5ldyB1c2VycycgPT4gJ01vZ2VsaWpraGVpZCBvbSBuaWV1d2UgZ2VicnVpa2VycyBhYW4gdGUgbWFrZW4nLAogICdBYmlsaXR5IHRvIGFkZC9yZW1vdmUgZW1haWxzIGZyb20gYmFubGlzdCB2aWEgdGlja2V0IGludGVyZmFjZScgPT4gJ0RlIG1vZ2VsaWpraGVpZCBvbSBlbWFpbGFkcmVzc2VuIHRvZSB0ZSB2b2VnZW4vIHRlIHZlcndpamRlcmVuIHZhbiBkZSB6d2FydGUgbGlqc3QgdmlhIGhldCB0aWNrZXRzeXN0ZWVtJywKICAnQWJpbGl0eSB0byBhZGQvdXBkYXRlL2Rpc2FibGUvZGVsZXRlIGNhbm5lZCByZXNwb25zZXMnID0+ICdNb2dlbGlqa2hlaWQgb20gaW5nZXNsb3RlbiByZWFjdGllcyB0ZSBtYWtlbi93aWp6aWdlbi92ZXJ3aWpkZXJlbiBvZiB1aXQgdGUgc2NoYWtlbGVuJywKICAnQWJpbGl0eSB0byBhZGQvdXBkYXRlL2Rpc2FibGUvZGVsZXRlIGtub3dsZWRnZWJhc2UgY2F0ZWdvcmllcyBhbmQgRkFRcycgPT4gJ01vZ2VsaWpraGVpZCBvbSBrZW5uaXNkYXRhYmFzZSBjYXRlZ29yaWXDq24gZW4gRkFRcyB0ZSB2ZXJ3aWpkZXJlbiwgdWl0c2NoYWtlbGVuIG9mIGFhbiB0ZSBtYWtlbicsCiAgJ0FiaWxpdHkgdG8gYXNzaWduIHRhc2tzIHRvIGFnZW50cyBvciB0ZWFtcycgPT4gJ01vZ2VsaWpraGVpZCBvbSB0YWtlbiBhYW4gYWdlbnRlbiBvZiB0ZWFtcyB0b2UgdGUga2VubmVuJywKICAnQWJpbGl0eSB0byBhc3NpZ24gdGlja2V0cyB0byBhZ2VudHMgb3IgdGVhbXMnID0+ICdNb2dlbGlqa2hlaWQgb20gdGFrZW4gYWFuIGFnZW50ZW4gb2YgdGVhbXMgdG9lIHRlIGtlbm5lbicsCiAgJ0FiaWxpdHkgdG8gY2xvc2UgdGFza3MnID0+ICdNb2dlbGlqa2hlaWQgb20gZWVuIHRhYWsgdGUgc2x1aXRlbicsCiAgJ0FiaWxpdHkgdG8gY2xvc2UgdGlja2V0cycgPT4gJ01vZ2VsaWpraGVpZCBvbSBlZW4gdGlja2V0IHRlIHNsdWl0ZW4nLAogICdBYmlsaXR5IHRvIGNyZWF0ZSBuZXcgb3JnYW5pemF0aW9ucycgPT4gJ01vZ2VsaWpraGVpZCBvbSBuaWV1d2Ugb3JnYW5pc2F0aWVzIGFhbiB0ZSBtYWtlbicsCiAgJ0FiaWxpdHkgdG8gY3JlYXRlIHRhc2tzJyA9PiAnTW9nZWxpamtoZWlkIG9tIHRha2VuIGFhbiB0ZSBtYWtlbicsCiAgJ0FiaWxpdHkgdG8gZGVsZXRlIG9yZ2FuaXphdGlvbnMnID0+ICdNb2dlbGlqa2hlaWQgb20gb3JnYW5pc2F0aWVzIHRlIHZlcndpamRlcmVuJywKICAnQWJpbGl0eSB0byBkZWxldGUgdGFza3MnID0+ICdNb2dlbGlqa2hlaWQgb20gdGFrZW4gdGUgdmVyd2lqZGVyZW4nLAogICdBYmlsaXR5IHRvIGRlbGV0ZSB0aWNrZXRzJyA9PiAnTW9nZWxpamtoZWlkIG9tIHRpY2tldHMgdGUgdmVyd2lqZGVyZW4nLAogICdBYmlsaXR5IHRvIGRlbGV0ZSB1c2VycycgPT4gJ01vZ2VsaWpraGVpZCBvbSBnZWJydWlrZXJzIHRlIHZlcndpamRlcmVuJywKICAnQWJpbGl0eSB0byBlZGl0IHRhc2tzJyA9PiAnTW9nZWxpamtoZWlkIG9tIHRha2VuIHRlIHdpanppZ2VuJywKICAnQWJpbGl0eSB0byBlZGl0IHRocmVhZCBpdGVtcyBvZiBvdGhlciBhZ2VudHMnID0+ICdNb2dlbGlqa2hlaWQgb20gZGlzY3Vzc2llcyB2YW4gYW5kZXJlIGFnZW50ZW4gdGUgYmV3ZXJrZW4nLAogICdBYmlsaXR5IHRvIGVkaXQgdGlja2V0cycgPT4gJ01vZ2VsaWpraGVpZCBvbSB0aWNrZXRzIHRlIGJld2Vya2VuJywKICAnQWJpbGl0eSB0byBtYW5hZ2UgYWN0aXZlIHVzZXIgYWNjb3VudHMnID0+ICdNb2dlbGlqa2hlaWQgb20gYWN0aWV2ZSBnZWJydWlrZXItYWNjb3VudHMgdGUgYmVoZXJlbicsCiAgJ0FiaWxpdHkgdG8gbWFuYWdlIG9yZ2FuaXphdGlvbnMnID0+ICdNb2dlbGlqa2hlaWQgb20gb3JnYW5pc2F0aWVzIHRlIGJlaGVyZW4nLAogICdBYmlsaXR5IHRvIG1hbmFnZSB1c2VyIGluZm9ybWF0aW9uJyA9PiAnTW9nZWxpamtoZWlkIG9tIGdlYnJ1aWtlcnNpbmZvcm1hdGllIHRlIGJlaGVyZW4nLAogICdBYmlsaXR5IHRvIG9wZW4gdGlja2V0cyBvbiBiZWhhbGYgb2YgdXNlcnMnID0+ICdNb2dlbGlqa2hlaWQgb20gdWl0IG5hYW0gdmFuIGdlYnJ1aWtlcnMgdGlja2V0cyB0ZSBvcGVuZW4nLAogICdBYmlsaXR5IHRvIHBvc3QgYSB0aWNrZXQgcmVwbHknID0+ICdNb2dlbGlqa2hlaWQgb20gZWVuIHRpY2tldCB0ZSBiZWFudHdvb3JkZW4nLAogICdBYmlsaXR5IHRvIHBvc3QgdGFzayB1cGRhdGUnID0+ICdNb2dlbGlqa2hlaWQgb20gZWVuIHRhYWsgYmlqIHRlIHdlcmtlbicsCiAgJ0FiaWxpdHkgdG8gdHJhbnNmZXIgdGFza3MgYmV0d2VlbiBkZXBhcnRtZW50cycgPT4gJ0RlIG1vZ2VsaWpraGVpZCBvbSB0aWNrZXRzIHRlIHZlcnBsYWF0c2VuIG5hYXIgZWVuIGFuZGVyZSBhZmRlbGluZycsCiAgJ0FiaWxpdHkgdG8gdHJhbnNmZXIgdGlja2V0cyBiZXR3ZWVuIGRlcGFydG1lbnRzJyA9PiAnRGUgbW9nZWxpamtoZWlkIG9tIHRpY2tldHMgdGUgdmVycGxhYXRzZW4gbmFhciBlZW4gYW5kZXJlIGFmZGVsaW5nJywKICAnQWJpbGl0eSB0byB2aWV3IHN0YXRzIG9mIG90aGVyIGFnZW50cyBpbiBhbGxvd2VkIGRlcGFydG1lbnRzJyA9PiAnTW9nZWxpamtoZWlkIG9tIHN0YXRpc3RpZWtlbiB2YW4gYW5kZXJlIG1hbmFnZXJzIGluIHRvZWdlc3RhbmUgYWZkZWxpbmdlbiB0ZSB6aWVuJywKICAnQWJvdXQgdGhpcyBvc1RpY2tldCBJbnN0YWxsYXRpb24nID0+ICdPdmVyIGRlemUgb3NUaWNrZXQgaW5zdGFsbGF0aWUnLAogICdBY2NlcHQgQWxsIEVtYWlscycgPT4gJ0FjY2VwdGVlciBhbGxlIGVtYWlscycsCiAgJ0FjY2VwdCBFbWFpbCBDb2xsYWJvcmF0b3JzJyA9PiAnQWNjZXB0ZWVyIGVtYWlsdGVhbXMnLAogICdBY2NlcHQgZW1haWwgZnJvbSB1bmtub3duIFVzZXJzJyA9PiAnYWNjZXB0ZWVyIGVtYWlsIHZhbiBvbmJla2VuZGUgZ2VicnVpa2VycycsCiAgJ0FjY2VzcycgPT4gJ1RvZWdhbmcnLAogICdBY2Nlc3MgQ3JlZGVudGlhbHMnID0+ICdUb2VnYW5nc2NvZGVzJywKICAnQWNjZXNzIERlbmllZCcgPT4gJ1RvZWdhbmcgZ2V3ZWlnZXJkJywKICAnQWNjZXNzIERlbmllZC4gQ29udGFjdCBBZG1pbicgPT4gJ1RvZWdhbmcgZ2V3ZWlnZXJkLiBOZWVtIGNvbnRhY3Qgb3AgbWV0IHV3IHN5c3RlZW1iZWhlZXJkZXInLAogICdBY2Nlc3MgRGVuaWVkLiBDb250YWN0IHlvdXIgaGVscCBkZXNrIGFkbWluaXN0cmF0b3IgdG8gaGF2ZSBhbiBhY2NvdW50IHJlZ2lzdGVyZWQgZm9yIHlvdScgPT4gJ0RlIHRvZWdhbmcgaXMgZ2V3ZWlnZXJkLiBOZWVtIGNvbnRhY3Qgb3AgbWV0IHV3IGhlbHBkZXNrIGJlaGVlcmRlciBhbHMgdSBlZW4gYWNjb3VudCB3aWx0JywKICAnQWNjZXNzIERlbmllZC4gSVAgJXMnID0+ICdUb2VnYW5nIGdld2VpZ2VyZC4gSVAgJXMnLAogICdBY2Nlc3MgRGVuaWVkLiBQb3NzaWJseSBpbnZhbGlkIHRpY2tldCBJRCcgPT4gJ0RlIHRvZWdhbmcgaXMgZ2V3ZWlnZXJkLiBNb2dlbGlqayBvbmdlbGRpZyB0aWNrZXQtaWQnLAogICdBY2Nlc3MgZGVuaWVkJyA9PiAnVG9lZ2FuZyBnZXdlaWdlcmQnLAogICdBY2Nlc3MgZGVuaWVkLiBDb250YWN0IGFkbWluIGlmIHlvdSBiZWxpZXZlIHRoaXMgaXMgaW4gZXJyb3InID0+ICdUb2VnYW5nIGdld2VpZ2VyZC4gQ29udGFjdGVlciB1dyBiZWhlZXJkZXIgYWxzIHUgZGVua3QgZGF0IGRpdCBlZW4gZm91dCBpcycsCiAgJ0FjY2VzcyBsaW5rJyA9PiAnVG9lZ2FuZ3Nrb3BwZWxpbmcnLAogICdBY2NvdW50JyA9PiAnQWNjb3VudCcsCiAgJ0FjY291bnQgQWNjZXNzJyA9PiAnQWNjb3VudCB0b2VnYW5nJywKICAnQWNjb3VudCBDb25maXJtYXRpb24gRW1haWwnID0+ICdCZXZlc3RpZ2luZy1lLW1haWwnLAogICdBY2NvdW50IENvbmZpcm1lZCBQYWdlJyA9PiAnQWNjb3VudCBiZXZlc3RpZ2luZ3NwYWdpbmEnLAogICdBY2NvdW50IEZsYWdzJyA9PiAnQWNjb3VudCBtYXJrZXJpbmdlbicsCiAgJ0FjY291bnQgTWFuYWdlcicgPT4gJ0FjY291bnQgbWFuYWdlcicsCiAgJ0FjY291bnQgUmVnaXN0cmF0aW9uJyA9PiAnQWNjb3VudCBSZWdpc3RyYXRpZScsCiAgJ0FjY291bnQgVHlwZScgPT4gJ0FjY291bnQgdHlwZScsCiAgJ0FjY291bnQgYWN0aXZhdGlvbiBlbWFpbCBzZW50IHRvICVzJyA9PiAnQWNjb3VudCBhY3RpdmF0aWUgZS1tYWlsIHZlcnN0dXVyZCBuYWFyICVzJywKICAnQWNjb3VudCBjb25maXJtYXRpb24gcmVxdWlyZWQnID0+ICdBY2NvdW50YmV2ZXN0aWdpbmcgdmVyZWlzdCcsCiAgJ0FjY291bnQgaXMgYWRtaW5pc3RyYXRpdmVseSBsb2NrZWQnID0+ICdBY2NvdW50IGlzIGFkbWluaXN0cmF0aWVmIHZlcmdyZW5kZWxkJywKICAnQWNjb3VudCBpcyBhbHJlYWR5IGNvbmZpcm1lZCcgPT4gJ2RpdCBhY2NvdW50IGlzIGFsIGJldmVzdGlnZCcsCiAgJ0FjY291bnQgcGFzc3dvcmQgcmVzZXQgZW1haWwgc2VudCB0byAlcycgPT4gJ0FjY291bnQgd2FjaHR3b29yZCBoZXJzdGVsIGUtbWFpbCB2ZXJ6b25kZW4gbmFhciAlcycsCiAgJ0FjcXVpcmluZyBMb2NrJyA9PiAnIkxvY2siIHdvcmR0IGFhbmdldnJhYWdkJywKICAnQWN0aW9uIERlbmllZC4gVGlja2V0IGlzIGxvY2tlZCBieSBzb21lb25lIGVsc2UhJyA9PiAnQWN0aWUgZ2V3ZWlnZXJkLiBUaWNrZXQgaXMgaW4gZ2VicnVpayBkb29yIGllbWFuZCBhbmRlcnMhJywKICAnQWN0aW9uIERlbmllZC4gWW91IGFyZSBub3QgYWxsb3dlZCB0byBhc3NpZ24vcmVhc3NpZ24gdGlja2V0cy4nID0+ICdBY3RpZSBnZXdlaWdlcmQuIFUgbWFnIGdlZW4gdGlja2V0cyB0b2VrZW5uZW4uJywKICAnQWN0aW9uIGRlbmllZC4gQ29udGFjdCBhZG1pbiBmb3IgYWNjZXNzJyA9PiAnVG9lZ2FuZyBnZXdlaWdlcmQuIENvbnRhY3QgZGUgYWRtaW5pc3RyYXRvci9iZWhlZXJkZXIgb20gdG9lZ2FuZyB0ZSBrcmlqZ2VuJywKICAnQWN0aW9ucycgPT4gJ0FjdGllcycsCiAgJ0FjdGlvbnMgYXJlIGV4ZWN1dGVkIGluIHRoZSBvcmRlciBkZWNsYXJlZCBiZWxvdycgPT4gJ0FjdGllcyB3b3JkZW4gdWl0Z2V2b2VyZCBpbiBkZSBvbmRlcnN0YWFuZGUgdm9sZ29yZGUnLAogICdBY3RpdmUnID0+ICdBY3RpZWYnLAogICdBY3RpdmUgKFJlZ2lzdGVyZWQpJyA9PiAnQWN0aWVmIChnZXJlZ2lzdHJlZXJkKScsCiAgJ0FjdGl2aXR5IERlc2NyaXB0aW9uJyA9PiAnQmVzY2hyaWp2aW5nIHZhbiBkZSBhY3Rpdml0ZWl0JywKICAnQWN0aXZpdHkgVGl0bGUnID0+ICdOYWFtIHZhbiBkZSBBY3Rpdml0ZWl0JywKICAnQWRkJyA9PiAnVG9ldm9lZ2VuJywKICAnQWRkICJGdWxsIEFjY2VzcyIgcGVybWlzc2lvbiBmb3IgdGhlICJFdmVyeW9uZSIgdXNlcicgPT4gJ1ZvZWcgdm9sbGVkaWdlIHRvZWdhbmcgdm9vciBkZSBcJ2llZGVyZWVuXCcgZ2VicnVpa2VyIHRvZScsCiAgJ0FkZCBBcnJvdycgPT4gJ1ZvZWcgZWVuIHBpamwgdG9lJywKICAnQWRkIENvbGxhYm9yYXRvcicgPT4gJ1ZvZWcgc2FtZW53ZXJrZXIgdG9lJywKICAnQWRkIEN1c3RvbSBGb3JtJyA9PiAnVm9lZyBlZW4gYWFuZ2VwYXN0IGZvcm11bGllciB0b2UnLAogICdBZGQgRWxsaXBzZScgPT4gJ0VsbGlwcyB0b2V2b2VnZW4nLAogICdBZGQgRkFRJyA9PiAnVm9lZyBGQVEgdG9lJywKICAnQWRkIEZpbHRlcicgPT4gJ1ZvZWcgZmlsdGVyIHRvZScsCiAgJ0FkZCBGb3JtJyA9PiAnVm9lZyBmb3JtdWxpZXIgdG9lJywKICAnQWRkIEtleScgPT4gJ1ZvZWcgU2xldXRlbCB0b2UnLAogICdBZGQgTGlzdCcgPT4gJ0xpanN0IHRvZXZvZWdlbicsCiAgJ0FkZCBOZXcnID0+ICdWb2VnIHRvZScsCiAgJ0FkZCBOZXcgQVBJIEtleScgPT4gJ05pZXV3ZSBBUEktc2xldXRlbCB0b2V2b2VnZW4nLAogICdBZGQgTmV3IEFnZW50JyA9PiAnTmlldXdlIG1lZGV3ZXJrZXIgdG9ldm9lZ2VuJywKICAnQWRkIE5ldyBDYW5uZWQgUmVzcG9uc2UnID0+ICdOaWV1dyB2b29yZ2VkZWZpbmVlcmQgYW50d29vcmQgdG9ldm9lZ2VuJywKICAnQWRkIE5ldyBDYXRlZ29yeScgPT4gJ05pZXV3ZSBjYXRlZ29yaWUgdG9ldm9lZ2VuJywKICAnQWRkIE5ldyBDdXN0b20gRm9ybScgPT4gJ1ZvZWcgZWVuIHBlcnNvb25saWprIGZvcm11bGllciB0b2UnLAogICdBZGQgTmV3IEN1c3RvbSBMaXN0JyA9PiAnTmlldXdlIGFhbmdlcGFzdGUgbGlqc3QgdG9ldm9lZ2VuJywKICAnQWRkIE5ldyBEZXBhcnRtZW50JyA9PiAnVm9lZyBhZmRlbGluZyB0b2UnLAogICdBZGQgTmV3IEVtYWlsJyA9PiAnTmlldXcgZW1haWxhZHJlcyB0b2V2b2VnZW4nLAogICdBZGQgTmV3IEVtYWlsIEFkZHJlc3MnID0+ICdWb2VnIEVtYWlsYWRyZXMgdG9lJywKICAnQWRkIE5ldyBFbWFpbCBBZGRyZXNzIHRvIEJhbiBMaXN0JyA9PiAnRWVuIGUtbWFpbGFkcmVzIGFhbiBkZSBibG9ra2FkZWxpanN0IHRvZXZvZWdlbicsCiAgJ0FkZCBOZXcgRkFRJyA9PiAnVm9lZyBuaWV1d2UgRkFRIHRvZScsCiAgJ0FkZCBOZXcgRmlsdGVyJyA9PiAnTmlldXcgRmlsdGVyIHRvZXZvZWdlbicsCiAgJ0FkZCBOZXcgSGVscCBUb3BpYycgPT4gJ05pZXV3IEhlbHAtb25kZXJ3ZXJwIHRvZXZvZWdlbicsCiAgJ0FkZCBOZXcgSXRlbScgPT4gJ05pZXV3IGVsZW1lbnQgdG9ldm9lZ2VuJywKICAnQWRkIE5ldyBMaXN0IEl0ZW0nID0+ICdOaWV1dyBsaWpzdGVsZW1lbnQgdG9ldm9lZ2VuJywKICAnQWRkIE5ldyBPcmdhbml6YXRpb24nID0+ICdWb2VnIG9yZ2FuaXNhdGllIHRvZScsCiAgJ0FkZCBOZXcgUGFnZScgPT4gJ1ZvZWcgZWVuIG5pZXV3ZSBwYWdpbmEgdG9lJywKICAnQWRkIE5ldyBQbHVnaW4nID0+ICdWb2VnIG5pZXV3ZSBQbHVnaW4gdG9lJywKICAnQWRkIE5ldyBRdWV1ZScgPT4gJ05pZXV3ZSB3YWNodHJpaicsCiAgJ0FkZCBOZXcgUmVzcG9uc2UnID0+ICdOaWV1d2UgcmVhY3RpZSB0b2V2b2VnZW4nLAogICdBZGQgTmV3IFJvbGUnID0+ICdWb2VnIGVlbiBuaWV1d2Ugcm9sIHRvZScsCiAgJ0FkZCBOZXcgU0xBIFBsYW4nID0+ICdUb2V2b2VnZW4gbmlldXdlIFNMQScsCiAgJ0FkZCBOZXcgU2VxdWVuY2UnID0+ICdWb2VnIG5pZXV3ZSBzeXN0ZWVtdGVsbGVyIHRvZScsCiAgJ0FkZCBOZXcgVGFzaycgPT4gJ1ZvZWcgZWVuIG5pZXV3ZSB0YWFrIHRvZScsCiAgJ0FkZCBOZXcgVGVhbScgPT4gJ1ZvZWcgdGVhbSB0b2UnLAogICdBZGQgTmV3IFRlbXBsYXRlJyA9PiAnTmlldXcgc2phYmxvb24gdG9ldm9lZ2VuJywKICAnQWRkIE5ldyBUZW1wbGF0ZSBTZXQnID0+ICdWb2VnIGVlbiBuaWV1d2Ugc2phYmxvbmVuc2V0IHRvZScsCiAgJ0FkZCBOZXcgVXNlcicgPT4gJ05pZXV3ZSBnZWJydWlrZXIgdG9ldm9lZ2VuJywKICAnQWRkIE9yZ2FuaXphdGlvbicgPT4gJ09yZ2FuaXNhdGllIHRvZXZvZWdlbicsCiAgJ0FkZCBPdGhlciBGaWVsZCcgPT4gJ0NyaXRlcmlhIHRvZXZvZWdlbicsCiAgJ0FkZCBQYWdlJyA9PiAndm9lZyBlZW4gcGFnaW5hIHRvZScsCiAgJ0FkZCBQbGFuJyA9PiAnUGxhbiB0b2V2b2VnZW4nLAogICdBZGQgUXVldWUnID0+ICdSaWogdG9ldm9lZ2VuJywKICAnQWRkIFJlc3BvbnNlJyA9PiAnVm9lZyBlZW4gcmVhY3RpZSB0b2UnLAogICdBZGQgUm9sZScgPT4gJ1JvbCB0b2V2b2VnZW4nLAogICdBZGQgUnVsZScgPT4gJ1JlZ2VsIHRvZXZvZWdlbicsCiAgJ0FkZCBUZW1wbGF0ZScgPT4gJ1NqYWJsb29uIHRvZXZvZWdlbicsCiAgJ0FkZCBUZXh0JyA9PiAnVGVrc3QgdG9ldm9lZ2VuJywKICAnQWRkIFRvcGljJyA9PiAnT25kZXJ3ZXJwIHRvZXZvZWdlbicsCiAgJ0FkZCBVc2VyJyA9PiAnR2VicnVpa2VyIHRvZXZvZWdlbicsCiAgJ0FkZCBhIExhbmd1YWdlJyA9PiAnVm9lZyB0YWFsIHRvZScsCiAgJ0FkZCBhIGNvbGxhYm9yYXRvcicgPT4gJ1ZvZWcgZWVuIGRlZWxuZW1lciB0b2UnLAogICdBZGQgYSBjdXN0b20gZm9ybScgPT4gJ1ZvZWcgZWVuIGFhbmdlcGFzdCBmb3JtdWxpZXIgdG9lJywKICAnQWRkIGEgZm9ybScgPT4gJ1ZvZWcgZWVuIGZvcm11bGllciB0b2UnLAogICdBZGQgYSBzZXBhcmF0ZSBmaWVsZCBmb3IgdGhlIGV4dGVuc2lvbicgPT4gJ0VlbiBhcGFydCB2ZWxkIHRvZXZvZWdlbiB2b29yIGRlIGV4dGVudGllJywKICAnQWRkIG5ldyBjdXN0b20gZm9ybSBzZWN0aW9uJyA9PiAnVm9lZyBlZW4gbmlldXcgYWFuZ2VwYXN0IGZvcm11bGllciBzZWN0aWUgdG9lJywKICAnQWRkIHRvIE9yZ2FuaXphdGlvbicgPT4gJ1RvZXZvZWdlbiBhYW4gb3JnYW5pc2F0aWUnLAogICdBZGQgdG8gYWxsIHRpY2tldHMgZnJvbSB0aGlzIG9yZ2FuaXphdGlvbicgPT4gJ1ZvZWcgdG9lIGFhbiBhbGxlIHRpY2tldHMgdmFuIGRlemUgb3JnYW5pc2F0aWUnLAogICdBZGRpdGlvbmFsIEZpbGUgVHlwZSBGaWx0ZXJzJyA9PiAnRXh0cmEgYmVzdGFuZHN0eXBlIGZpbHRlcnMnLAogICdBZGRyZXNzZWUgKFRvIGFuZCBDYyknID0+ICdHZWFkcmVzc2VlcmRlIChBYW4gZW4gQ2MpJywKICAnQWRtaW4nID0+ICdCZWhlZXJkZXInLAogICdBZG1pbiBEYXNoYm9hcmQnID0+ICdCZWhlZXJkZXIgRGFzaGJvYXJkJywKICAnQWRtaW4gRW1haWwnID0+ICdBZG1pbiBlLW1haWxhZHJlcycsCiAgJ0FkbWluIE5vdGVzJyA9PiAnQWRtaW4gbm90aXRpZXMnLAogICdBZG1pbiBQYW5lbCcgPT4gJ0NvbnRyb2xlcGFuZWVsJywKICAnQWRtaW4gVXNlcicgPT4gJ0JlaGVlcmRlcicsCiAgJ0FkbWluXCdzIEVtYWlsIEFkZHJlc3MnID0+ICdBbWluaXN0cmF0b3Igb2YgYmVoZWVyZGVycyBlbWFpbGFkcmVzJywKICAnQWRtaW5cJ3MgZmlyc3QgbmFtZScgPT4gJ0JlaGVlcmRlcnMgdm9vcm5hYW0nLAogICdBZG1pblwncyBsYXN0IG5hbWUnID0+ICdCZWhlZXJkZXJzIGFjaHRlcm5hYW0nLAogICdBZG1pblwncyBsb2dpbiBuYW1lLiBNdXN0IGJlIGF0IGxlYXN0IHRocmVlICgzKSBjaGFyYWN0ZXJzLicgPT4gJ0FkbWluaXN0cmF0b3IvYmVoZWVyZGVyIGdlYnJ1aWtlcnNjb2RlLiBNb2V0IG1pbnN0ZW5zIDMga2FyYWt0ZXJzIGxhbmcgemlqbi4nLAogICdBZG1pblwncyBwYXNzd29yZC4gIE11c3QgYmUgZml2ZSAoNSkgY2hhcmFjdGVycyBvciBtb3JlLicgPT4gJ0FkbWluaXN0cmF0b3JzL2JlaGVlcmRlcnMgd2FjaHR3b29yZC4gTW9ldCBtaW5zdGVucyA1IGthcmFrdGVycyBsYW5nIHppam4uJywKICAnQWRtaW5cJ3MgcGVyc29uYWwgZW1haWwgYWRkcmVzcy4gTXVzdCBiZSBkaWZmZXJlbnQgZnJvbSBzeXN0ZW1cJ3MgZGVmYXVsdCBlbWFpbC4nID0+ICdEZSBiZWhlZXJkZXJzIHBlcnNvb25saWprZSBlLW1haWxhZHJlcy4gTW9ldCBhZndpamtlbiB2YW4gaGV0IHN5c3RlZW0gc3RhbmRhYXJkIGUtbWFpbGFkcmVzLicsCiAgJ0FkbWluaXN0cmF0aXZlbHkgTG9ja2VkJyA9PiAnR2VibG9ra2VlcmQgb20gYWRtaW5pc3RyYXRpdmUgcmVkZW5lbicsCiAgJ0FkbWluaXN0cmF0b3InID0+ICdCZWhlZXJkZXInLAogICdBZHZhbmNlZCcgPT4gJ0dlYXZhbmNlZXJkIHpvZWtlbicsCiAgJ0FkdmFuY2VkIFNlYXJjaCcgPT4gJ1VpdGdlYnJlaWQgem9la2VuJywKICAnQWR2YW5jZWQgVGlja2V0IFNlYXJjaCcgPT4gJ0dlYXZhbmNlZXJkIHpvZWtlbicsCiAgJ0FmdGVyJyA9PiAnRXJuYScsCiAgJ0FmdGVyICVkIG1vbnRoJyAuICJcMCIgLiAnQWZ0ZXIgJWQgbW9udGhzJyA9PiAnTmEgJWQgbWFhbmQnIC4gIlwwIiAuICdOYSAlZCBtYWFuZGVuJywKICAnQWdlbnQnID0+ICdNZWRld2Vya2VyJywKICAnQWdlbnQgQXNzaWduZWQnID0+ICdUb2VnZXdlemVuIEFnZW50JywKICAnQWdlbnQgRGFzaGJvYXJkJyA9PiAnTWVkZXdlcmtlciBEYXNoYm9hcmQnLAogICdBZ2VudCBEaXJlY3RvcnknID0+ICdMaWpzdCB2YW4gbWVkZXdlcmtlcnMnLAogICdBZ2VudCBFeGNlc3NpdmUgTG9naW5zJyA9PiAnRXhjZXNzaWV2ZSBpbmxvZ3BvZ2luZ2VuIGRvb3IgbWVkd2Vya2VyJywKICAnQWdlbnQgSWRlbnRpdHkgTWFza2luZycgPT4gJ1ZlcmJlcmcgZGUgaWRlbnRpdGVpdCB2YW4gYWdlbnRlbicsCiAgJ0FnZW50IExvZ2luJyA9PiAnTWVkZXdlcmtlcnMgbG9naW4nLAogICdBZ2VudCBNYXhpbXVtIEZpbGUgU2l6ZScgPT4gJ21heGltYWxlIGJlc3RhbmRzZ3Jvb3R0ZSB2b29yIGFnZW50ZW4nLAogICdBZ2VudCBQYW5lbCcgPT4gJ01lZGV3ZXJrZXJzIG1lbnUnLAogICdBZ2VudCBQYXNzd29yZCBSZXNldCcgPT4gJ1ZlcnRlZ2Vud29vcmRpZ2VyIFdhY2h0d29vcmQgSGVyc3RlbGxlbicsCiAgJ0FnZW50IFNlc3Npb24gVGltZW91dCcgPT4gJ01lZGV3ZXJrZXIgc2Vzc2lldmVybG9vcCcsCiAgJ0FnZW50IFNldHRpbmdzIGFuZCBPcHRpb25zJyA9PiAnTWVkZXdlcmtlciBJbnN0ZWxsaW5nZW4gZW4gT3B0aWVzJywKICAnQWdlbnQgV2VsY29tZSBFbWFpbCcgPT4gJ01lZGV3ZXJrZXIgd2Vsa29tc2JlcmljaHQnLAogICdBZ2VudCBhc3NpZ25pbmcgdGhlIHRpY2tldCcgPT4gJ01lZGV3ZXJrZXIgZGllIGhldCB0aWNrZXQgdG9ld2lqc3QnLAogICdBZ2VudCBoYXMgYWNjZXNzIHRvIHRoZSBhZG1pbiBwYW5lbCcgPT4gJ0FnZW50IGhlZWZ0IHRvZWdhbmcgdG90IGhldCBhZG1pbi1wYW5lZWwnLAogICdBZ2VudCBpcyB1bmF2YWlsYWJsZSBmb3IgYXNzaWdubWVudCcgPT4gJ0RlemUgYWdlbnQgaXMgbmlldCBiZXNjaGlrYmFhciB2b29yIHRvZWtlbm5pbmcnLAogICdBZ2VudCBsb2dvdXQnID0+ICdNZWRld2Vya2VyIHVpdGxvZ2dlbicsCiAgJ0FnZW50IG5hbWUnID0+ICdBZ2VudG5hYW0nLAogICdBZ2VudCBwZXJmb3JtaW5nIHRoZSBhc3NpZ25tZW50JyA9PiAnRGUgbWVkZXdlcmtlciBkaWUgZGUgdG9la2VubmluZyB1aXR2b2VydCcsCiAgJ0FnZW50IHBvc3RpbmcgdGhlIG5vdGUgb3IgcmVzcG9uc2UnID0+ICdEZSBhZ2VudCBkaWUgZGUgbm90aXRpZSBvZiByZWFjdGllIGhlZWZ0IGluZ2V6b25kZW4nLAogICdBZ2VudCB3aWxsIGhhdmUgYWNjZXNzIHRvIHRpY2tldHMgYXNzaWduZWQgdG8gYSB0ZWFtIHRoZXkgYmVsb25nIHRvIHJlZ2FyZGxlc3Mgb2YgdGhlIHRpY2tldFwncyBkZXBhcnRtZW50LiBBbGVydHMgY2FuIGJlIGVuYWJsZWQgZm9yIGVhY2ggYXNzb2NpYXRlZCB0ZWFtLicgPT4gJ0RlIG1lZGV3ZXJrZXIgaGVlZnQgdG9lZ2FuZyB0b3QgdGlja2V0cyBkaWUgemlqbiB0b2VnZXdlemVuIGFhbiBlZW4gaGV0IHRlYW0gd2FhcnRvZSB6aWogYmVob3Jlbiwgb25nZWFjaHQgZGUgYWZkZWxpbmcgd2FhcnRvZSBoZXQgdGlja2V0IGJlaG9vcnQuIE5vdGlmaWNhdGllcyBrdW5uZW4gdm9vciBlbGsgZ2Vrb3BwZWxkIHRlYW0gd29yZGVuIHZlcnN0dXVyZC4nLAogICdBZ2VudFwncyB0aWNrZXQgdmlldyBsaW5rJyA9PiAnTWVkZXdlcmtlcnMgdGlja2V0IGxpbmsnLAogICdBZ2VudHMnID0+ICdNZWRld2Vya2VycycsCiAgJ0FnZW50cyAoJWQpJyA9PiAnTWVkZXdlcmtlcnMgKCVkKScsCiAgJ0FnZW50cyBTZXR0aW5ncycgPT4gJ01lZGV3ZXJrZXIgaW5zdGVsbGluZ2VuJywKICAnQWdlbnRzIHdobyBhcmUgbWVtYmVycyBvZiAlcycgPT4gJ01lZGV3ZXJrZXJzIGRpZSBsaWQgemlqbiB2YW4gJXMnLAogICdBZ2VudHMgd2hvIGFyZSBwcmltYXJ5IG1lbWJlcnMgb2YgJXMnID0+ICdNZWRld2Vya2VycyBkaWUgcHJpbWFpcmUgbGVkZW4gemlqbiB2YW4gJXMnLAogICdBbGVydCcgPT4gJ1dhYXJzY2h1d2luZycsCiAgJ0FsZXJ0IHNlbnQgb3V0IHRvIEFnZW50cyB3aGVuIGludGVybmFsIGFjdGl2aXR5IHN1Y2ggYXMgYW4gaW50ZXJuYWwgbm90ZSBvciBhbiBhZ2VudCByZXBseSBpcyBhcHBlbmRlZCB0byBhIHRpY2tldC4nID0+ICdCZXJpY2h0Z2V2aW5nIG5hYXIgbWVkZXdlcmtlcnMsIHdhbm5lZXIgZXIgZWVuIGludGVybmUgYWN0aXZpdGVpdCBoZWVmdCBwbGFhdHNnZXZvbmRlbiwgem9hbHMgZWVuIGludGVybmUgbm90aXRpZSBvZiB3YW5uZWVyIGVlbiBtZWRld2Vya2VyIGVlbiByZWFjdGllIHRvZWdldm9lZ2QgaGVlZnQgYWFuIGVlbiB0aWNrZXQuJywKICAnQWxlcnQgc2VudCB0byBhZ2VudHMgb24gc3RhbGUgb3Igb3ZlcmR1ZSB0YXNrLicgPT4gJ05vdGlmaWNhdGllIHZlcnpvbmRlbiBuYWFyIG1lZGV3ZXJrZXJzIGJpaiB2ZXJsb3BlbiBvZiBhY2h0ZXJzdGFsbGlnZSB0aWNrZXRzLicsCiAgJ0FsZXJ0IHNlbnQgdG8gYWdlbnRzIG9uIHN0YWxlIG9yIG92ZXJkdWUgdGlja2V0cy4nID0+ICdNZWxkaW5nIHZlcnpvbmRlbiBuYWFyIG1lZGV3ZXJrZXJzIGJpaiB2ZXJsb3BlbiBvZiBhY2h0ZXJzdGFsbGlnZSB0aWNrZXRzLicsCiAgJ0FsZXJ0IHNlbnQgdG8gYWdlbnRzIG9uIHRhc2sgYXNzaWdubWVudC4nID0+ICdOb3RpZmljYXRpZSB0YnYgbWVkZXdlcmtlcnMsIGJpaiBoZXQgdG9la2VubmVuIHZhbiBlZW4gdGFhay4nLAogICdBbGVydCBzZW50IHRvIGFnZW50cyBvbiB0YXNrIHRyYW5zZmVyLicgPT4gJ05vdGlmaWNhdGllIHRidiBtZWRld2Vya2VycyBiaWogaGV0IHZlcmh1aXplbiB2YW4gZWVuIHRhYWsuJywKICAnQWxlcnQgc2VudCB0byBhZ2VudHMgb24gdGlja2V0IGFzc2lnbm1lbnQuJyA9PiAnTWVsZGluZyB2ZXJ6b25kZW4gbmFhciBtZWRld2Vya2VyIGJpaiB0b2V3aWp6ZW4gdGlja2V0LicsCiAgJ0FsZXJ0IHNlbnQgdG8gYWdlbnRzIG9uIHRpY2tldCB0cmFuc2Zlci4nID0+ICdNZWxkaW5nIHZlcnpvbmRlbiBuYWFyIG1lZGV3ZXJrZXIgYmlqIHRpY2tldCBvdmVyZHJhY2h0LicsCiAgJ0FsZXJ0IHNlbnQgdG8gYWdlbnRzLCBpZiBlbmFibGVkLCBvbiBuZXcgdGFzay4nID0+ICdOb3RpZmljYXRpZSB0YnYgbWVkZXdlcmtlcnMsIE1pdHMgaW5nZXNjaGFrZWxkLCBiaWogZWVuIG5pZXV3ZSB0YWFrLicsCiAgJ0FsZXJ0IHNlbnQgdG8gYWdlbnRzLCBpZiBlbmFibGVkLCBvbiBuZXcgdGlja2V0LicgPT4gJ01lbGRpbmcgdmVyem9uZGVuIG5hYXIgcGVyc29uZWVsLCBpbmRpZW4gaW5nZXNjaGFrZWxkIGJpaiBlZW4gbmlldXdlIHRpY2tldC4nLAogICdBbGVydCBzZW50IHRvIGFnZW50cywgaWYgZW5hYmxlZCwgd2hlbiB1c2VyIHJlcGxpZXMgdG8gYW4gZXhpc3RpbmcgdGlja2V0LicgPT4gJ01lbGRpbmcgdmVyem9uZGVuIG5hYXIgbWVkZXdlcmtlcnMsIGluZGllbiBpbmdlc2NoYWtlbGQsIHdhbm5lZXIgZ2VicnVpa2VyIHJlYWdlZXJ0IG9wIGJlc3RhYW5kZSB0aWNrZXQuJywKICAnQWxlcnQgc2VudCB0byBzZWxlY3RlZCBhZ2VudHMsIGlmIGVuYWJsZWQsIG9uIG5ldyBhY3Rpdml0eS4nID0+ICdNZWxkaW5nIHZlcnpvbmRlbiBuYWFyIGdlc2VsZWN0ZWVyZGUgbWVkZXdlcmtlcnMsIGluZGllbiBpbmdlc2NoYWtlbGQsIGJpaiBuaWV1d2UgYWN0aXZpdGVpdGVuLicsCiAgJ0FsZXJ0cycgPT4gJ05vdGlmaWNhdGllcycsCiAgJ0FsZXJ0cyAmYW1wOyBOb3RpY2VzJyA9PiAnV2FhcnNjaHV3aW5nZW4gJmFtcDsgbWVsZGluZ2VuJywKICAnQWxlcnRzIGFuZCBOb3RpY2VzJyA9PiAnV2FhcnNjaHV3aW5nZW4gZW4gbWVsZGluZ2VuJywKICAnQWxsJyA9PiAnQWxsZScsCiAgJ0FsbCBDYXRlZ29yaWVzJyA9PiAnQWxsZSBjYXRlZ29yaWXDq24nLAogICdBbGwgRGVwYXJ0bWVudHMnID0+ICdBbGxlIGFmZGVsaW5nZW4nLAogICdBbGwgSGVscCBUb3BpY3MnID0+ICdBbGxlIG9uZGVyd2VycGVuJywKICAnQWxsIFRhc2tzICglcyknID0+ICdBbGxlIHRha2VuICglcyknLAogICdBbGwgVGVhbXMnID0+ICdBbGxlIHRlYW1zJywKICAnQWxsIFRpY2tldHMnID0+ICdBbGxlIHRpY2tldHMnLAogICdBbGwgVG9waWNzJyA9PiAnQWxsZSBvbmRlcndlcnBlbicsCiAgJ0FsbCBsb2dzJyA9PiAnQWxsZSBsb2dib2VrdmVybWVsZGluZ2VuJywKICAnQWxsIG1lbWJlcnMgc2VlIGFsbCB0aWNrZXRzJyA9PiAnQWxsZSBsZWRlbiB6aWVuIGFsbGUgdGlja2V0cycsCiAgJ0FsbG93IEZ1dHVyZSBEYXRlcycgPT4gJ1RvZWtvbXN0aWdlIGRhdHVtcyB0b2VzdGFhbicsCiAgJ0FsbG93IEhUTUwgaW5wdXQgaW4gdGhpcyBib3gnID0+ICdIVE1MIGluIGRpdCB2YWsgdG9lc3RhYW4nLAogICdBbGxvdyBQYXNzd29yZCBSZXNldHMnID0+ICdXYWNodHdvb3JkIGhlcnN0ZWxsZW4gdG9lc3RhYW4nLAogICdBbGxvdyBSZW9wZW4nID0+ICdHZWVmIHRvZXN0ZW1taW5nIG9tIHRlIGhlcm9wZW5lbicsCiAgJ0FsbG93IGVudHJpZXMgaW50byB0aGUgZnV0dXJlJyA9PiAnSXRlbXMgaW4gZGUgdG9la29tc3QgdG9lc3RhYW4nLAogICdBbGxvdyBtdWx0aXBsZSBzZWxlY3Rpb25zJyA9PiAnU3RhIG1lZXJkZXJlIHNlbGVjdGllcyB0b2UnLAogICdBbGxvdyB0aWNrZXRzIG9uIHRoaXMgc3RhdHVzIHRvIGJlIHJlb3BlbmVkIGJ5IGVuZCB1c2VycycgPT4gJ0dlZWYgZWluZGdlYnJ1aWtlcnMgZGUgbW9nZWxpamtoZWlkIG9tIHRpY2tldHMgbWV0IGRlemUgc3RhdHVzIHRlIGhlcm9wZW5lbicsCiAgJ0FscGhhYmV0aWNhbCcgPT4gJ0FsZmFiZXRpc2NoJywKICAnQWxwaGFiZXRpY2FsIChSZXZlcnNlZCknID0+ICdBbGZhYmV0aXNjaCAoT21nZWtlZXJkKScsCiAgJ0FscGhhYmV0aWNhbGx5JyA9PiAnQWxmYWJldGlzY2gnLAogICdBbHJlYWR5IGluIHVzZSBzeXN0ZW0gZW1haWwnID0+ICdTeXN0ZWVtIGUtbWFpbCBpcyBhbCBpbiBnZWJydWlrJywKICAnQWxyZWFkeSBpbi11c2UgYXMgc3lzdGVtIGVtYWlsJyA9PiAnQWwgaW4gZ2VicnVpayBhbHMgc3lzdGVlbSBlLW1haWwnLAogICdBbiBhY2Nlc3MgbGluayB3aWxsIGJlIGVtYWlsZWQgdG8geW91LicgPT4gJ0VlbiBsaW5rIHZvb3IgdG9lZ2FuZyB6YWwgd29yZGVuIHZlcnN0dXVyZCBwZXIgZS1tYWlsLicsCiAgJ0Fubm90YXRlJyA9PiAnQW5ub3RlZXInLAogICdBbnN3ZXInID0+ICdBbnR3b29yZCcsCiAgJ0Fuc3dlcmVkJyA9PiAnQmVhbnR3b29yZCcsCiAgJ0FueScgPT4gJ0Vsa2UnLAogICdBcHBlbmQnID0+ICdUb2V2b2VnZW4gYWFuIGh1aWRpZ2UgcmVhY3RpZScsCiAgJ0FwcGxpY2F0aW9ucycgPT4gJ1RvZXBhc3NpbmdlbicsCiAgJ0FwcGxpZWQgY2xlYW51cCBzY3JpcHQgJXMnID0+ICdPcHNjaG9vbiBzY3JpcHQgJXMgdG9lZ2VwYXN0JywKICAnQXBwbHknID0+ICdUb2VwYXNzZW4nLAogICdBcHBseWluZyB1cGRhdGVzIHRvIGRhdGFiYXNlIHN0cmVhbTogJXMnID0+ICdVcGRhdGVzIHRvZXBhc3NlbiBvcCBkYXRhYmFzZS1zdHJlYW06ICVzJywKICAnQXJjaGl2ZScgPT4gJ0FyY2hpZWYnLAogICdBcmNoaXZlZCcgPT4gJ0dlYXJjaGl2ZWVyZCcsCiAgJ0FyZSB5b3Ugc3VyZSB3YW50IHRvIDxiPmRpc2FibGU8L2I+ICVzPycgPT4gJ0JlbiBqZSB6ZWtlciBkYXQgamUgd2lsIDxiPnVpdHNjaGFrZWxlbjwvYj4gJXM/JywKICAnQXJlIHlvdSBzdXJlIHdhbnQgdG8gPGI+ZW5hYmxlPC9iPiAlcz8nID0+ICdCZW4gamUgemVrZXIgZGF0IGplIHdpbCA8Yj5pbnNjaGFrZWxlbjwvYj4gJXM/JywKICAnQXJlIHlvdSBzdXJlIHdhbnQgdG8gZmxhZyB0aGUgc2VsZWN0ZWQgdGFza3MgYXMgPGZvbnQgY29sb3I9InJlZCI+PGI+b3ZlcmR1ZTwvYj48L2ZvbnQ+PycgPT4gJ1dlZXQgdSB6ZWtlciBkYXQgdSBkZSBnZXNlbGVjdGVlcmRlIHRha2VuIHdpbHQgbWFya2VyZW4gYWxzIDxmb250IGNvbG9yPSJyZWQiPjxiPkFjaHRlcnN0YWxsaWc8L2I+PC9mb250Pj8nLAogICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gPGI+UkVNT1ZFPC9iPiAlMSRzIGZyb20gPHN0cm9uZz4lMiRzPC9zdHJvbmc+PycgPT4gJ1dlZXQgdSB6ZWtlciBkYXQgdSAlMSRzIHZhbiA8c3Ryb25nPiUyJHM8L3N0cm9uZz4gd2lsdCA8Yj5WRVJXSUpERVJFTjwvYj4/JywKICAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIDxiPmJhbjwvYj4gJXM/JyA9PiAnV2VldCB1IHpla2VyIGRhdCB1ICVzIHdpbHQgPGI+Qmxva2tlcmVuPC9iPj8nLAogICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gPGI+Y2hhbmdlPC9iPiB0aWNrZXQgb3duZXIgdG8gJXM/JyA9PiAnV2VldCBqZSB6ZWtlciBkYXQgamUgdGlja2V0ICVzIHZhbiBlaWdlbmFhciB3aWx0IDxiPndpanppZ2VuPC9iPj8nLAogICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gPGI+ZGlzYWJsZTwvYj4gJXM/JyA9PiAnV2VldCBqZSB6ZWtlciBkYXQgamUgJXMgd2lsdCA8Yj51aXRzY2hha2VsZW48L2I+PycsCiAgJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byA8Yj5kaXNhYmxlPC9iPiAobG9jaykgJXM/JyA9PiAnV2VldCBqZSB6ZWtlciBkYXQgamUgJXMgd2lsdCA8Yj51aXRzY2hha2VsZW48L2I+IChsb2NrZW4pPycsCiAgJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byA8Yj5lbmFibGU8L2I+ICVzPycgPT4gJ1dlZXQgamUgemVrZXIgZGF0IGplICVzIHdpbHQgPGI+aW5zY2hha2VsZW48L2I+PycsCiAgJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byA8Yj5lbmFibGU8L2I+ICh1bmxvY2spICVzPycgPT4gJ1dlZXQgamUgemVrZXIgZGF0IGplICVzIHdpbHQgPGI+aW5zY2hha2VsZW48L2I+ICh1bmxvY2tlbik/JywKICAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIDxiPnJlbW92ZTwvYj4gJXMgZnJvbSBiYW4gbGlzdD8nID0+ICdXZWV0IHUgemVrZXIgZGF0IHUgJXMgdmFuIGRlIGJsb2tsaWpzdCB3aWx0IDxiPnZlcndpamRlcmVuPC9iPj8nLAogICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gPGI+dW5hc3NpZ248L2I+IHRpY2tldCBmcm9tIDxiPiVzPC9iPj8nID0+ICdXZWV0IHUgemVrZXIgZGF0IHUgZGUgdG9lYmVkZWxpbmcgYWFuIDxiPiVzPC9iPiB2YW4gZGl0IHRpY2tldCBvbmdlZGFhbiB3aWx0IG1ha2VuPycsCiAgJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBDTEFJTSAlcz8nID0+ICdXZWV0IGplIHpla2VyIGRhdCBqZSAlcyB3aWwgdG9lw6tpZ2VuZW4/JywKICAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIERFTEVURSAlcz8nID0+ICdXZWV0IHUgemVrZXIgZGF0IHUgJXMgd2lsdCB2ZXJ3aWpkZXJlbj8nLAogICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gY2hhbmdlIHRoZSB1c2VyXCdzIG9yZ2FuaXphdGlvbj8nID0+ICdXZWV0IHUgemVrZXIgZGF0IHUgZGUgZ2VicnVpa2VyXCdzIG9yZ2FuaXNhdGllIHdpbHQgd2lqemlnZW4/JywKICAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGZsYWcgdGhlIHRpY2tldCBhcyA8Yj5hbnN3ZXJlZDwvYj4/JyA9PiAnV2VldCB1IHpla2VyIGRhdCB1IGRpdCB0aWNrZXQgZGUgc3RhdHVzIG9wIDxiPmJlYW50d29vcmQ8L2I+ICB3aWx0IHpldHRlbj8nLAogICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZmxhZyB0aGUgdGlja2V0IGFzIDxiPnVuYW5zd2VyZWQ8L2I+PycgPT4gJ1dlZXQgdSB6ZWtlciBkYXQgdSBkZSBzdGF0dXMgdmFuIGRpdCB0aWNrZXQgd2lsdCB2ZXJhbmRlcmVuIGluIDxiPiJPTmJlYW50d29vcmQiPC9iPj8nLAogICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZmxhZyB0aGUgdGlja2V0IGFzIDxmb250IGNvbG9yPSJyZWQiPjxiPm92ZXJkdWU8L2I+PC9mb250Pj8nID0+ICdXZWV0IHUgemVrZXIgZGF0IHUgZGUgc3RhdHVzIHZhbiBkaXQgdGlja2V0IG9wIDxmb250IGNvbG9yPXJlZD48Yj5WRVJMT1BFTjwvYj48L2ZvbnQ+IHdpbHQgemV0dGVuPycsCiAgJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBsZWF2ZT8gQW55IGNoYW5nZXMgb3IgaW5mbyB5b3VcJ3ZlIGVudGVyZWQgd2lsbCBiZSBkaXNjYXJkZWQhJyA9PiAnV2VldCB1IHpla2VyIGRhdCB1IGRlemUgcGFnaW5hIHdpbHQgdmVybGF0ZW4/IEV2ZW50dWVsZSB3aWp6aWdpbmdlbiBkaWUgdSBoZWVmdCBpbmdldnVsZCBnYWFuIHZlcmxvcmVuIScsCiAgJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBtYWtlICVzIDxiPnByaXZhdGU8L2I+IChpbnRlcm5hbCk/JyA9PiAnV2VldCBqZSB6ZWtlciBkYXQgamUgJXMgPGI+cHJpdsOpPC9iPiB3aWx0IG1ha2VuIChpbnRlcm4pPycsCiAgJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBtYWtlICVzIDxiPnB1YmxpYzwvYj4/JyA9PiAnV2VldCBqZSB6ZWtlciBkYXQgamUgJXMgd2lsdCA8Yj5wdWJsaWNlcmVuPC9iPj8nLAogICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gcmVtb3ZlIHRoaXMgYXR0YWNobWVudD8nID0+ICd3ZWV0IHUgemVrZXIgZGF0IHUgZGV6ZSBiaWpsYWdlIHdpbHQgdmVyd2lqZGVyZW4/JywKICAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHNlbmQgYSA8Yj5QYXNzd29yZCBSZXNldCBMaW5rPC9iPiB0byA8ZW0+ICVzIDwvZW0+PycgPT4gJ1dlZXQgamUgemVrZXIgZGF0IGplIGVlbiA8Yj5XYWNodHdvb3JkIEhlcnN0ZWwgTGluazwvYj4gd2lsdCB2ZXJ6ZW5kZW4gbmFhciA8ZW0+ICVzIDwvZW0+PycsCiAgJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBzZW5kIGFuIDxiPkFjY291bnQgQWN0aXZhdGlvbiBMaW5rPC9iPiB0byA8ZW0+ICVzIDwvZW0+PycgPT4gJ1dlZXQgamUgemVrZXIgZGF0IGplIGVlbiA8Yj5BY2NvdW50IEFjdGl2YXRpZSBMaW5rPC9iPiB3aWx0IHZlcnplbmRlbiBuYWFyIDxlbT4gJXMgPC9lbT4/JywKICAnQXJ0aWNsZSBDb250ZW50JyA9PiAnQXJ0aWtlbCBpbmhvdWQnLAogICdBc2NlbmRpbmcnID0+ICdPcGxvcGVuZCcsCiAgJ0Fzc2lnbicgPT4gJ3RvZXdpanplbicsCiAgJ0Fzc2lnbiBBZ2VudCcgPT4gJ0tlbiBkZSBhZ2VudCB0b2UnLAogICdBc3NpZ24gVGFza3MnID0+ICdUYWtlbiB0b2VrZW5uZW4nLAogICdBc3NpZ24gVGVhbScgPT4gJ0tlbiBoZXQgdGVhbSB0b2UnLAogICdBc3NpZ24gVG8nID0+ICdUb2V3aWp6ZW4gYWFuJywKICAnQXNzaWduIHRpY2tldHMgZnJvbSB0aGlzIG9yZ2FuaXphdGlvbiB0byB0aGUgPGVtPkFjY291bnQgTWFuYWdlcjwvZW0+JyA9PiAnS2VuIHRpY2tldHMgdmFuIGRlemUgb3JnYW5pc2F0aWUgdG9lIGFhbiBkZSA8ZW0+YWNjb3VudCBtYW5hZ2VyPC9lbT4nLAogICdBc3NpZ24gdG8gQWdlbnQnID0+ICdBZ2VudCB0b2VrZW5uZW4nLAogICdBc3NpZ24gdG8gVGVhbScgPT4gJ1RlYW0gdG9la2VubmVuJywKICAnQXNzaWduL3RyYW5zZmVyIGNvbW1lbnRzJyA9PiAnVG9ld2lqemVuL292ZXJwbGFhdHNlbiBvcG1lcmtpbmdlbicsCiAgJ0Fzc2lnbmVkJyA9PiAnVG9lZ2V3ZXplbicsCiAgJ0Fzc2lnbmVkIEFnZW50JyA9PiAnVG9lZ2V3ZXplbiBtZWRld2Vya2VyJywKICAnQXNzaWduZWQgQWdlbnQgLyBUZWFtJyA9PiAnVG9lZ2VrZW5kZSBtZWRld2Vya2VyL3RlYW0nLAogICdBc3NpZ25lZCBTdGFmZicgPT4gJ1RvZWdld2V6ZW4gbWVkZXdlcmtlcicsCiAgJ0Fzc2lnbmVkIFRhc2tzJyA9PiAnVG9lZ2VrZW5kZSB0YWtlbicsCiAgJ0Fzc2lnbmVkIFRlYW1zJyA9PiAnVG9lZ2VrZW5kZSB0ZWFtcycsCiAgJ0Fzc2lnbmVkIFRvJyA9PiAnVG9lZ2V3ZXplbiBhYW4nLAogICdBc3NpZ25lZC9jbG9zaW5nIGFnZW50JyA9PiAnVG9lZ2V3ZXplbi9zbHVpdGVuZGUgbWVkZXdlcmtlcicsCiAgJ0Fzc2lnbmVkL2Nsb3NpbmcgdGVhbScgPT4gJ1RvZWdld2V6ZW4vc2x1aXRlbmQgdGVhbScsCiAgJ0Fzc2lnbmVlJyA9PiAnVG9lZ2V3ZXplbmUnLAogICdBc3NpZ25lZSBjaGFuZ2VkIGJ5IDxiPntzb21lYm9keX08L2I+IHRvIDxzdHJvbmc+e2Fzc2lnbmVlc308L3N0cm9uZz4ge3RpbWVzdGFtcH0nID0+ICdUb2V3aWp6aW5nIGdld2lqemlnZCBkb29yIDxiPntzb21lYm9keX08L2I+IG5hYXIgPHN0cm9uZz57YXNzaWduZWVzfTwvc3Ryb25nPiBvcCB7dGltZXN0YW1wfScsCiAgJ0Fzc2lnbmVlIHNlbGVjdGlvbiByZXF1aXJlZCcgPT4gJ1RvZWtlbm5lciBzZWxlY3RpZSB2ZXJwbGljaHQnLAogICdBc3NpZ25tZW50IEFsZXJ0JyA9PiAnVG9ld2lqemluZyBBbGVydCcsCiAgJ0F0dGFjaCBDYW5uZWQgUmVzcG9uc2UnID0+ICdWb2VnIGVlbiBpbmdldm9lZ2RlIHJlYWN0aWUgdG9lJywKICAnQXR0YWNoZWQgZmlsZXMnID0+ICdCaWpnZXZvZWdkZSBiZXN0YW5kZW4nLAogICdBdHRhY2htZW50IENvdW50JyA9PiAnQWFudGFsIEJpamxhZ2VuJywKICAnQXR0YWNobWVudHMnID0+ICdCaWpsYWdlbicsCiAgJ0F0dGFjaG1lbnRzICglZCknID0+ICdCaWpsYWdlbiAoJWQpJywKICAnQXR0YWNobWVudHMgU3RvcmFnZSBhbmQgU2V0dGluZ3MnID0+ICdCaWpsYWdlIG9wc2xhZyBlbiBpbnN0ZWxsaW5nZW4nLAogICdBdHRhY2htZW50cyBmb3IgJXMnID0+ICdCaWpsYWdlcyB2b29yICVzJywKICAnQXR0ZW1wdHMnID0+ICdQb2dpbmdlbicsCiAgJ0F1dGguIHRva2VuIHVzZWQgZm9yIGF1dG8tbG9naW4nID0+ICdBdXRoLiB0b2tlbiBnZWJydWlrdCB2b29yIGF1dG8tbG9naW4nLAogICdBdXRoZW50aWNhdGlvbicgPT4gJ0F1dGhlbnRpY2F0aWUnLAogICdBdXRoZW50aWNhdGlvbiBCYWNrZW5kJyA9PiAnQXV0aGVudGljYXRpZSBcJ2JhY2tlbmRcJycsCiAgJ0F1dGhlbnRpY2F0aW9uIFJlcXVpcmVkJyA9PiAnVmVyaWZpY2F0aWUgdmVyZWlzdCcsCiAgJ0F1dGhlbnRpY2F0aW9uIFNldHRpbmdzJyA9PiAnQXV0aGVudGljYXRpZSBpbnN0ZWxsaW5nZW4nLAogICdBdXRoZW50aWNhdGlvbiBTb3VyY2VzJyA9PiAnQXV0aGVudGljYXRpZSBicm9ubmVuJywKICAnQXV0aGVudGljYXRpb24gVG9rZW4nID0+ICdBdXRoZW50aWNhdGlldG9rZW4nLAogICdBdXRoZW50aWNhdGlvbiBhbmQgUmVnaXN0cmF0aW9uIFRlbXBsYXRlcyAmYW1wOyBQYWdlcycgPT4gJ0F1dGhlbnRpY2F0aWUgZW4gUmVnaXN0cmF0aWUgU2phYmxvbmVuICZhbXA7IFBhZ2luYVwncycsCiAgJ0F1dGhlbnRpY2F0aW9uIGJhY2tlbmQgZG9lcyBub3Qgc3VwcG9ydCBwYXNzd29yZCB1cGRhdGVzJyA9PiAnVSBrdW50IGhpZXIgdXcgd2FjaHR3b29yZCBuaWV0IHdpanppZ2VuIChhdXRoZW50aWNhdGllIGJhY2tlbmQpCicsCiAgJ0F1dGhvcicgPT4gJ0F1dGV1cicsCiAgJ0F1dG8gQWRkIE1lbWJlcnMgRnJvbScgPT4gJ0F1dG9tYXRpc2NoZSBsZWRlbiB0b2V2b2VnaW5nc2Zvcm11bGllcicsCiAgJ0F1dG8gQ3JvbicgPT4gJ0F1dG8gQ3JvbiAoc3lzdGVlbSB0YWFrcGxhbm5lciknLAogICdBdXRvIERldGVjdCcgPT4gJ0F1dG9tYXRpc2NoZSBkZXRlY3RpZScsCiAgJ0F1dG8gUmVmcmVzaCBSYXRlJyA9PiAnQXV0byBSZWZyZXNoIFJhdGUnLAogICdBdXRvLUFzc2lnbm1lbnQnID0+ICdBdXRvbWF0aXNjaGUgdG9la2VubmluZycsCiAgJ0F1dG8tUmVzcG9uc2UnID0+ICdBdXRvbWF0aXNjaCBhbnR3b29yZGJlcmljaHQnLAogICdBdXRvLVJlc3BvbnNlIEVtYWlsJyA9PiAnQXV0by1hbnR3b29yZCBFbWFpbCcsCiAgJ0F1dG8tYXNzaWduIFRvJyA9PiAnYXV0by10b2VrZW5uZW4gYWFuJywKICAnQXV0b21hdGVkIENvbGxhYm9yYXRpb24nID0+ICdBdXRvbWF0aXNjaGUgc2FtZW53ZXJraW5nJywKICAnQXV0b21hdGljYWxseSBhZGQgY29sbGFib3JhdG9ycyBmcm9tIGVtYWlsIGZpZWxkcycgPT4gJ1ZvZWcgdGVhbXMvbWVkZXdlcmtlcnMgYXV0b21hdGlzY2ggdG9lIHVpdCBlbWFpbCB2ZWxkZW4nLAogICdBdXRvcmVzcG9uZGVyJyA9PiAnQXV0b21hdGlzY2hlIGJlYW50d29vcmRpbmcnLAogICdBdXRvcmVzcG9uZGVyIFNldHRpbmdzJyA9PiAnQXV0b21hdGlzY2ggYW50d29vcmQgaW5zdGVsbGluZ2VuJywKICAnQXV0b3Jlc3BvbnNlIHNlbnQgdG8gdXNlciwgaWYgZW5hYmxlZCwgb24gbmV3IHRpY2tldC4nID0+ICdBdXRvbWF0aXNjaCBhbnR3b29yZCBkYXQgZ2VzdHV1cmQgd29yZHQgbmFhciBkZSBnZWJydWlrZXIgYmlqIG5pZXV3ZSB0aWNrZXRzLicsCiAgJ0F2YXRhcicgPT4gJ1Byb2ZpZWxhZmJlZWxkaW5nJywKICAnQXZhdGFyIFNvdXJjZScgPT4gJ0Jyb24gYXZhdGFyJywKICAnQmFjayBUbyBJbmRleCcgPT4gJ1RlcnVnIG5hYXIgSW5kZXgnLAogICdCYWNrIHVwIHRoZSBjdXJyZW50IGRhdGFiYXNlIGlmIHlvdSBoYXZlblwndCBkb25lIHNvIGFscmVhZHkuJyA9PiAnTWFhayBlZW4gYmFja3VwIHZhbiBkZSBodWlkaWdlIGRhdGFiYXNlLCBhbHMgdSBkYXQgbm9nIG5pZXQgaGVlZnQgZ2VkYWFuLicsCiAgJ0JhY2tlbmQnID0+ICdCYWNrZW5kJywKICAnQmFja3RyYWNlJyA9PiAnQmFja3RyYWNlJywKICAnQmFkIGRhdGEuIEV4cGVjdGVkOiAlcycgPT4gJ0ZvdXRlIGdlZ2V2ZW5zLiBWZXJ3YWNodDogJXMnLAogICdCYWQgcHJlZml4LiBNdXN0IGhhdmUgdW5kZXJzY29yZSAoXykgYXQgdGhlIGVuZC4gZS5nIFwnb3N0X1wnJyA9PiAnU2xlY2h0IHZvb3J2b2Vnc2VsIChwcmVmaXgpLiBNb2V0IGVlbiB1bmRlcnNjb3JlICggXyApICBhYW4gaGV0IGVpbmRlIGhlYmJlbi4gYmlqdi46IFwnb3N0X1wnJywKICAnQmFkIHVzZXJuYW1lJyA9PiAnT25nZWxkaWdlIGdlYnJ1aWtlcnNuYWFtJywKICAnQmFuIEVtYWlsIDwlcz4nID0+ICdCbG9ra2VlciBFbWFpbGFkcmVzIDwlcz4KJywKICAnQmFuIE5ldyBFbWFpbCcgPT4gJ05pZXV3ZSBlLW1haWwgYmxva2tlcmVuJywKICAnQmFuIFN0YXR1cycgPT4gJ1N0YXR1cyBibG9ra2FkZScsCiAgJ0Jhbmxpc3QnID0+ICdHZWJsb2trZWVyZCcsCiAgJ0Jhbm5lZCBFbWFpbCBBZGRyZXNzZXMnID0+ICdHZWJsb2trZWVyZGUgZS1tYWlsYWRyZXNzZW4nLAogICdCYW5uZWQgRW1haWxzJyA9PiAnR2VibG9ra2VlcmRlIGUtbWFpbGFkcmVzc2VuJywKICAnQmFubmVkIGVtYWlsIOKAlCAlcycgPT4gJ0dlYmFuZGUgZS1tYWlsIOKAlCAlcycsCiAgJ0Jhc2UgVmFyaWFibGVzJyA9PiAnQmFzaXMgdmFyaWFiZWxlbicsCiAgJ0Jhc2ljIEZpZWxkcycgPT4gJ0Jhc2lzIHZlbGRlbicsCiAgJ0Jhc2ljIEluZm9ybWF0aW9uJyA9PiAnQWxnZW1lbmUgZ2VnZXZlbnMnLAogICdCYXNpYyBJbnN0YWxsYXRpb24gQ29tcGxldGVkJyA9PiAnU3RhbmRhYXJkIGluc3RhbGxhdGllIGFmZ2Vyb25kJywKICAnQmFzaWMgVGlja2V0IEluZm9ybWF0aW9uJyA9PiAnQmFzaXMgVGlja2V0IEluZm9ybWF0aWUnLAogICdCZSBsaWJlcmFsLCB0aGV5XCdyZSBpbnRlcm5hbCcgPT4gJ1dlZXMgdnJpanppbm5pZywgemUgemlqbiBpbnRlcm4nLAogICdCZSBwYXRpZW50LiBUaGUgdXBncmFkZSBwcm9jZXNzIHdpbGwgdGFrZSBhIGNvdXBsZSBvZiBzZWNvbmRzLicgPT4gJ0VlbiBvZ2VuYmxpaywgaGV0IHVwZ3JhZGVwcm9jZXMgZHV1cnQgZW5la2VsZSBzZWNvbmRlcy4nLAogICdCZWZvcmUnID0+ICdFcnZvb3InLAogICdCZWZvcmUgd2UgYmVnaW4sIHdlXCdsbCBjaGVjayB5b3VyIHNlcnZlciBjb25maWd1cmF0aW9uIHRvIG1ha2Ugc3VyZSB5b3UgbWVldCB0aGUgbWluaW11bSByZXF1aXJlbWVudHMgdG8gcnVuIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiBvc1RpY2tldC4nID0+ICdWb29yZGF0IHdlIGJlZ2lubmVuLCBjb250cm9sZXJlbiB3ZSBkZSBjb25maWd1cmF0aWUgdmFuIHV3IHdlYnNlcnZlciBvbSBlciB6ZWtlciB2YW4gdGUgemlqbiBkYXQgdSBhYW4gZGUgbWluaW1hbGUgdmVyZWlzdGVuIHZhbiBkZSBsYWF0c3RlIHZlcnNpZSB2YW4gb3NUaWNrZXQgdm9sZG9ldC4nLAogICdCZWxvdyBpcyBhIHN1bW1hcnkgb2YgdGhlIGRhdGFiYXNlIHBhdGNoZXMgdG8gYmUgYXBwbGllZC4nID0+ICdPbmRlcnN0YWFuZCBlZW4gb3Bzb21taW5nIHZhbiBhbGxlIGRhdGFiYXNlIHVwZ3JhZGVzIGRpZSBtb2V0ZW4gd29yZGVuIHVpdGdldm9lcmQuJywKICAnQmVsb3csIHlvdVwnbGwgZmluZCBzb21lIHVzZWZ1bCBsaW5rcyByZWdhcmRpbmcgeW91ciBpbnN0YWxsYXRpb24uJyA9PiAnT25kZXJzdGFhbmQgdHJlZnQgdSBlbmlnZSBoYW5kaWdlIGxpbmtzIG1ldCBiZXRyZWtraW5nIHRvdCB1dyBpbnN0YWxsYXRpZSBhYW4uJywKICAnQmV0d2VlbicgPT4gJ3R1c3NlbicsCiAgJ0JpbmQgQWdlbnQgU2Vzc2lvbiB0byBJUCcgPT4gJ0tvcHBlbCBkZSBtZWRld2Vya2VyIHNlc3NpZSBhYW4gZWVuIGlwYWRyZXMnLAogICdCcmluZyBGb3J3YXJkJyA9PiAnQnJlbmcgbmFhciB2b3JlbicsCiAgJ0Jybywgbm90IHN1cmUgaG93IHlvdSBnb3QgaGVyZSEnID0+ICdIb2Uga29tdCB1IGluIGhlbWVsc25hYW0gaGllciB0ZXJlY2h0PycsCiAgJ0J1aWx0JyA9PiAnT250d2lra2VsZCcsCiAgJ0J1aWx0LUluJyA9PiAnSW5nZWJvdXdkJywKICAnQnVpbHQtaW4gRm9ybXMnID0+ICdJbmdlYm91d2RlIGZvcm11bGllcmVuJywKICAnQ0FQVENIQSBUZXh0JyA9PiAnQ0FQVENIQSB0ZWtzdCcsCiAgJ0NMSScgPT4gJ09wZHJhY2h0cmVnZWwgKENMSSknLAogICdDYW4gQ3JlYXRlIFRpY2tldHMgPGVtPihYTUwvSlNPTi9FTUFJTCk8L2VtPicgPT4gJ0thbiBUaWNrZXRzIGFhbm1ha2VuIDxlbT4oWE1ML0pTT04vRU1BSUwpPC9lbT4nLAogICdDYW4gRXhlY3V0ZSBDcm9uJyA9PiAnS2FuIENyb24gdWl0dm9lcmVuJywKICAnQ2FuY2VsJyA9PiAnQW5udWxlcmVuJywKICAnQ2FuY2VsIENoYW5nZXMnID0+ICdXaWp6aWdpbmdlbiBhbm51bGVyZW4nLAogICdDYW5uZWQgQXR0YWNobWVudHMnID0+ICdTdGFuZGFhcmQgYmlqbGFnZW4nLAogICdDYW5uZWQgQXV0by1yZXBseSBzZW50IHRvIHVzZXIgb24gbmV3IHRpY2tldCwgYmFzZWQgb24gZmlsdGVyIG1hdGNoZXMuIE92ZXJ3cml0ZXMgIm5vcm1hbCIgYXV0by1yZXNwb25zZS4nID0+ICdTdGFuZGFhcmQgQXV0by1hbnR3b29yZCB2ZXJ6b25kZW4gbmFhciBkZSBnZWJydWlrZXIgYmlqIGVlbiBuaWV1dyB0aWNrZXQsIGdlYmFzZWVyZCBvcCBmaWx0ZXJvdmVyZWVua29tc3Rlbi4gT3ZlcnNjaHJpamZ0ICJub3JtYWxlIiBhdXRvLWFudHdvb3JkZW4uJywKICAnQ2FubmVkIFJlc3BvbnNlJyA9PiAnU3RhbmRhYXJkIGFudHdvb3JkZW4nLAogICdDYW5uZWQgUmVzcG9uc2VzJyA9PiAnU3RhbmRhYXJkIGFudHdvb3JkZW4nLAogICdDYW5uZWQgcmVzcG9uc2UgaXMgaW4gdXNlIGJ5IGVtYWlsIGZpbHRlcihzKScgPT4gJ1Zvb3JnZWRlZmluaWVlcmQgYW50d29vcmQgaXMgaW4gZ2VicnVpayBkb29yIGVtYWlsIGZpbHRlcihzKScsCiAgJ0Nhbm5lZCByZXNwb25zZSBzZXR0aW5ncycgPT4gJ1Zvb3JnZWRlZmluZWVyZGUgYW50d29vcmRlbiBpbnN0ZWxsaW5nZW4nLAogICdDYW5ub3QgY29tcGlsZSB0aGlzIHJlZ3VsYXIgZXhwcmVzc2lvbicgPT4gJ0thbiBkZXplIHJlZ3VsYWlyZSBleHByZXNzaWUgbmlldCBjb21waWxlcmVuJywKICAnQ2F0ZWdvcmllcycgPT4gJ0NhdGVnb3JpZcOrbicsCiAgJ0NhdGVnb3J5JyA9PiAnQ2F0ZWdvcmllJywKICAnQ2F0ZWdvcnkgRGVzY3JpcHRpb24nID0+ICdDYXRlZ29yaWUgb21zY2hyaWp2aW5nJywKICAnQ2F0ZWdvcnkgSW5mb3JtYXRpb24nID0+ICdDYXRlZ29yaWUgaW5mb3JtYXRpZScsCiAgJ0NhdGVnb3J5IExpc3RpbmcnID0+ICdDYXRlZ29yaWUgbGlqc3RlbicsCiAgJ0NhdGVnb3J5IE5hbWUnID0+ICdDYXRlZ29yaWUgTmFhbScsCiAgJ0NhdGVnb3J5IFR5cGUnID0+ICdDYXRlZ29yaWUgdHlwZScsCiAgJ0NhdGVnb3J5IGFscmVhZHkgZXhpc3RzJyA9PiAnQ2F0ZWdvcmllIGJlc3RhYXQgYWwnLAogICdDYXRlZ29yeSBkZXNjcmlwdGlvbiBpcyByZXF1aXJlZCcgPT4gJ0NhdGVnb3JpZWJlc2NocmlqdmluZyBpcyB2ZXJlaXN0JywKICAnQ2F0ZWdvcnkgZG9lcyBub3QgaGF2ZSBGQVFzJyA9PiAnRGV6ZSBjYXRlZ29yaWUgaGVlZnQgZ2VlbiBGQVFzJywKICAnQ2F0ZWdvcnkgaXMgcmVxdWlyZWQnID0+ICdDYXRlZ29yaWUgaXMgdmVyZWlzdCcsCiAgJ0NhdGVnb3J5IG5hbWUgaXMgcmVxdWlyZWQnID0+ICdDYXRlZ29yaWVuYWFtIGlzIHZlcmVpc3QnLAogICdDaGFuZ2UnID0+ICdXaWp6aWdlbicsCiAgJ0NoYW5nZSBEZXBhcnRtZW50JyA9PiAnVmVyYW5kZXIgdmFuIGFmZGVsaW5nJywKICAnQ2hhbmdlIE93bmVyJyA9PiAnVmVyYW5kZXIgZWlnZW5hYXInLAogICdDaGFuZ2UgUGFzc3dvcmQnID0+ICdXaWp6aWcgd2FjaHR3b29yZCcsCiAgJ0NoYW5nZSBQcmltYXJ5IERlcGFydG1lbnQnID0+ICdWZXJhbmRlciBwcmltYWlyZSBhZmRlbGluZycsCiAgJ0NoYW5nZSBTdGF0dXMnID0+ICd2ZXJhbmRlciBzdGF0dXMnLAogICdDaGFuZ2UgU3RhdHVzICZtZGFzaDsgJTEkZCAlMiRzIHNlbGVjdGVkJyA9PiAnVmVyYW5kZXIgc3RhdHVzICZtZGFzaDsgJTEkZCAlMiRzIGdlc2VsZWN0ZWVyZCcsCiAgJ0NoYW5nZSBUYXNrcyBTdGF0dXMnID0+ICdWZXJhbmRlciBTdGF0dXMgdmFuIFRha2VuJywKICAnQ2hhbmdlIFRpY2tldHMgT3duZXJzaGlwJyA9PiAnVmVyYW5kZXIgZWlnZW5kb20gdmFuIHRpY2tldCcsCiAgJ0NoYW5nZSBUaWNrZXRzIFN0YXR1cycgPT4gJ1ZlcmFuZGVyIGRlIHRpY2tldHN0YXR1cycsCiAgJ0NoYW5nZSBVc2VyJyA9PiAndmVyYW5kZXIgZ2VicnVpa2VyJywKICAnQ2hhbmdlIHBlcm1pc3Npb24gb2Ygb3N0LWNvbmZpZy5waHAgdG8gcmVtb3ZlIHdyaXRlIGFjY2VzcyBhcyBzaG93biBiZWxvdy4nID0+ICd2ZXJhbmRlciBkZSBwZXJtaXNzaWVzIHZhbiBvc3QtY29uZmlnLnBocCwgb20gZGUgc2NocmlqZmJldmVpbGlnaW5nIHdlZXIgdGUgYWN0aXZlcmVuLCBhbHMgb25kZXJzdGFhbmQuJywKICAnQ2hhbmdlIHRoZSBwcmltYXJ5IGRlcGFydG1lbnQgYW5kIHByaW1hcnkgcm9sZSBvZiB0aGUgc2VsZWN0ZWQgYWdlbnRzJyA9PiAnVmVyYW5kZXIgZGUgcHJpbWFpcmUgYWZkZWxpbmcgZW4gcHJpbWFpcmUgcm9sIHZhbiBkZSBnZXNlbGVjdGVlcmRlIGFnZW50ZW4nLAogICdDaGFuZ2UgdXNlciBmb3IgdGlja2V0ICMlcycgPT4gJ1dpanppZyBnZWJydWlrZXIgdm9vciB0aWNrZXQgIyVzJywKICAnQ2hlY2sgVGlja2V0IFN0YXR1cycgPT4gJ0NvbnRyb2xlZXIgdGlja2V0IHN0YXR1cycsCiAgJ0NoZWNrIGFwcGxpY2FibGUgQVBJIHNlcnZpY2VzIGVuYWJsZWQgZm9yIHRoZSBrZXkuJyA9PiAnQ29udHJvbGVlciBkZSBiaWpiZWhvcmVuZGUgQVBJIHNlcnZpY2VzIGJpaiBkZXplIHNsZXV0ZWwuJywKICAnQ2hlY2sgb25lIG9yIG1vcmUnID0+ICdLaWVzIDEgb2YgbWVlcicsCiAgJ0NoZWNrYm94JyA9PiAnU2VsZWN0aWUgdmFrJywKICAnQ2hvaWNlcycgPT4gJ0tldXplcycsCiAgJ0Nob29zZSBtYXhpbXVtIHNpemUgb2YgYSBzaW5nbGUgZmlsZSB1cGxvYWRlZCB0byB0aGlzIGZpZWxkJyA9PiAnS2llcyBkZSBtYXhpbWFsZSBncm9vdHRlIHZhbiBlZW4gZW5rZWwgYmVzdGFuZCBkYXQgZ2XDvHBsb2FkIG1hZyB3b3JkZW4gdm9vciBkaXQgdmVsZCcsCiAgJ0NsYWltJyA9PiAnT3Zlcm5lbWVuJywKICAnQ2xhaW0gb24gUmVzcG9uc2UnID0+ICdJbmhvdWQgdmFuIGhldCB0aWNrZXQgIG1lZXN0dXJlbiBiaWogaGV0IGFudHdvb3JkJywKICAnQ2xlYW5pbmcgdXAhLi4uJyA9PiAnQmV6aWcgbWV0IG9wc2Nob25lbiEuLi4uLi4nLAogICdDbGVhciBhbGwgZmlsdGVycyBhbmQgc29ydCcgPT4gJ0hlZiBhbGxlIGxpbWlldGVuIG9wIGVuIHNvcnRlZXInLAogICdDbGljayBvbiB0aGUgY2F0ZWdvcnkgdG8gYnJvd3NlIEZBUXMgb3IgbWFuYWdlIGl0cyBleGlzdGluZyBGQVFzLicgPT4gJ0tsaWsgb3AgZGUgY2F0ZWdvcmllIG9tIGRvb3IgZGUgb25kZXJsaWdnZW5kZSB2ZWVsZ2VzdGVsZGUgdnJhZ2VuIHRlIGJsYWRlcmVuIG9mIG9tIGRlIGJlc3RhYW5kZSB2ZWVsZ2VzdGVsZGUgdnJhZ2VuIHRlIGJlaGVyZW4uJywKICAnQ2xpY2sgb24gdGhlIGNhdGVnb3J5IHRvIGJyb3dzZSBGQVFzLicgPT4gJ0tsaWsgb3AgZWVuIGNhdGVnb3JpZSBvbSBkb29yIGRlIHZyYWdlbiB0ZSBibGFkZXJlbi4nLAogICdDbGljayBvbiB0aGUgZmlsZSwgc2VsZWN0IGNoYW5nZSBwZXJtaXNzaW9uLCBhbmQgdGhlbiBnaXZpbmcgYWxsIHBlcm1pc3Npb25zIHRvIHRoZSBmaWxlLicgPT4gJ0tsaWsgb3AgaGV0IGJlc3RhbmQsIGtpZXMgdm9vciBwZXJtaXNzaWVzIHdpanppZ2VuLCB1IGt1bnQgZGFuIGFsbGUgdG9lZ2FuZyB0b3QgaGV0IGJlc3RhbmQgb3BlbiB6ZXR0ZW4uJywKICAnQ2xpY2sgb24gdGhlIGZpbGUsIHNlbGVjdCBjaGFuZ2UgcGVybWlzc2lvbiwgYW5kIHRoZW4gcmVtb3ZlIHdyaXRlIGFjY2Vzcy4nID0+ICdLbGlrIG9wIGhldCBiZXN0YW5kLCBzZWxlY3RlZXIgXCd2ZXJhbmRlciBwZXJtaXNzaWVzXCcgZW4gdmVyd2lqZGVyIGRlIHNjaHJpamZ0b2VnYW5nLicsCiAgJ0NsaWNrIG9uIHRoZSB0aXRsZSB0byBlZGl0LicgPT4gJ0tsaWsgb3AgZGUgdGl0ZWwgb20gdGUgYmV3ZXJrZW4uJywKICAnQ2xpY2sgdG8gY3JlYXRlIGEgbmV3IG5vdGUnID0+ICdLbGlrIGhpZXIgb20gZWVuIG5pZXV3ZSBub3RpdGllIHRlIG1ha2VuJywKICAnQ2xpY2tpbmcgPHN0cm9uZz5TYXZlIENoYW5nZXM8L3N0cm9uZz4gd2lsbCBwZXJtYW5lbnRseSBkZWxldGUgZGF0YSBhc3NvY2lhdGVkIHdpdGggdGhlIGRlbGV0ZWQgZm9ybXMnID0+ICdBbHMgdSBvcCA8U3Ryb25nPlNsYSB3aWp6aWdpbmdlbiBvcDwvc3Ryb25nPiBrbGlrdCwgemFsIGFsbGUgYWFuIGhldCB0aWNrZXQgZ2Vrb3BwZWxkZSBpbmZvcm1hdGllIHBlcm1hbmVudCB2ZXJkd2lqbmVuJywKICAnQ2xpZW50JyA9PiAnS2xhbnQnLAogICdDbGllbnQgUXVpY2sgQWNjZXNzJyA9PiAnU25lbHRvZWdhbmcnLAogICdDbGllbnQgaW50ZXJmYWNlIGlzIGRpc2FibGVkIGFuZCBPTkxZIGFkbWlucyBjYW4gYWNjZXNzIHN0YWZmIGNvbnRyb2wgcGFuZWwuJyA9PiAnRGUgZ2VicnVpa2Vyc3BvcnRhYWwgaXMgdWl0Z2VzY2hha2VsZCwgYWxsZWVuIGJlaGVlcmRlcnMga3VubmVuIGlubG9nZ2VuLicsCiAgJ0Nsb25lIGFuIGV4aXN0aW5nIGFnZW50JyA9PiAnS29waWVlciBlZW4gYmVzdGFhbmRlIGFnZW50JywKICAnQ2xvbmUgYW4gZXhpc3Rpbmcgcm9sZScgPT4gJ0tvcGllZXIgZWVuIGJlc3RhYW5kZSByb2wnLAogICdDbG9zZScgPT4gJ1NsdWl0ZW4nLAogICdDbG9zZSBEYXRlJyA9PiAnU2x1aXRpbmdzZGF0dW0nLAogICdDbG9zZSBUYXNrICMlcycgPT4gJ1NsdWl0IHRhYWsgIyVzJywKICAnQ2xvc2VkJyA9PiAnR2VzbG90ZW4nLAogICdDbG9zZWQgQnknID0+ICdHZXNsb3RlbiBkb29yJywKICAnQ2xvc2VkIERhdGUnID0+ICdTbHVpdGRhdHVtJywKICAnQ2xvc2VkIFRpY2tldHMnID0+ICdHZXNsb3RlbiB0aWNrZXRzJywKICAnQ2xvc2VkIGJ5IDxiPntzb21lYm9keX08L2I+IHdpdGggc3RhdHVzIG9mIHs8VGlja2V0U3RhdHVzPmRhdGEuc3RhdHVzfSB7dGltZXN0YW1wfScgPT4gJ0dlc2xvdGVuIGRvb3IgPGI+e3NvbWVib2R5fTwvYj4gbWV0IHN0YXR1czogezxUaWNrZXRTdGF0dXM+ZGF0YS5zdGF0dXN9IHt0aW1lc3RhbXB9JywKICAnQ2xvc2VkIGJ5IDxiPntzb21lYm9keX08L2I+IHt0aW1lc3RhbXB9JyA9PiAnR2VzbG90ZW4gZG9vciA8Yj57c29tZWJvZHl9PC9iPiB7dGltZXN0YW1wfScsCiAgJ0NvbGxhYm9yYXRvcicgPT4gJ1NhbWVud2Vya2VyJywKICAnQ29sbGFib3JhdG9yIENvdW50JyA9PiAnQWFudGFsIHNhbWVud2Vya2VycycsCiAgJ0NvbGxhYm9yYXRvciBUaWNrZXRzIFZpc2liaWxpdHknID0+ICdaaWNodGJhYXIgdm9vciBzYW1lbndlcmtlcnMnLAogICdDb2xsYWJvcmF0b3JzJyA9PiAnRGVlbG5lbWVycycsCiAgJ0NvbGxhYm9yYXRvcnMgKCVkKScgPT4gJ0RlZWxuZW1lcnMgKCVkKScsCiAgJ0NvbGxhYm9yYXRvcnMgZm9yIHs8T3JnYW5pemF0aW9uPmRhdGEub3JnfSBvcmdhbml6YXRpb24gYWRkZWQnID0+ICdTYW1lbndlcmtlcnMgdm9vciB7PE9yZ2FuaXphdGlvbj5kYXRhLm9yZ30gb3JnYW5pc2F0aWUgdG9lZ2V2b2VnZCcsCiAgJ0NvbGxpc2lvbiBBdm9pZGFuY2UgRHVyYXRpb24nID0+ICdEdXVyIHZhbiBkZSBjb2xsaXNpb252ZXJtaWpkaW5nJywKICAnQ29sdW1ucycgPT4gJ0tvbG9tbWVuJywKICAnQ29tbWVyY2lhbCBTdXBwb3J0IEF2YWlsYWJsZScgPT4gJ0NvbW1lcmNpZWxlIG9uZGVyc3RldW5pbmcgYmVzY2hpa2JhYXInLAogICdDb21tb24gQXR0YWNobWVudHMnID0+ICdWb29yZ2VkZWZpbmVlcmRlIGJpamxhZ2VzJywKICAnQ29tbXVuaWNhdGlvbicgPT4gJ0NvbW11bmljYXRpZScsCiAgJ0NvbXBhbnknID0+ICdPcmdhbmlzYXRpZScsCiAgJ0NvbXBhbnkgSW5mb3JtYXRpb24nID0+ICdCZWRyaWpmc2dlZ2V2ZW5zJywKICAnQ29tcGFueSBQcm9maWxlJyA9PiAnQmVkcmlqZnNwcm9maWVsJywKICAnQ29tcGxldGUgdGhlIGZvcm0gYmVsb3cgdG8gYWRkIGEgbmV3IG9yZ2FuaXphdGlvbi4nID0+ICdWdWwgb25kZXJzdGFhbmQgZm9ybXVsaWVyIGluIG9tIGVlbiBvcmdhbmlzYXRpZSB0b2UgdGUgdm9lZ2VuLicsCiAgJ0NvbXBsZXRlIHRoZSBmb3JtIGJlbG93IHRvIGNyZWF0ZSBhIHVzZXIgYWNjb3VudCBmb3IgPGI+JXM8L2I+LicgPT4gJ1Z1bCBoZXQgb25kZXJzdGFhbmRlIGZvcm11bGllciBpbiBvbSBlZW4gYWNjb3VudCB2b29yIDxiPiAlcyA8L2I+IHRlIG1ha2VuLicsCiAgJ0NvbXBsZXRlZCcgPT4gJ0FmZ2Vyb25kJywKICAnQ29tcGxldGVkIFRhc2tzJyA9PiAnQWZnZXJvbmRlIHRha2VuJywKICAnQ29uZmlnJyA9PiAnSW5zdGVsbGluZ2VuJywKICAnQ29uZmlnIGZpbGUgcGVybWlzc2lvbicgPT4gJ2luc3RlbGxpbmdlbmJlc3RhbmQgcGVybWlzc2llcycsCiAgJ0NvbmZpZyBmaWxlIHJlbmFtZSByZXF1aXJlZCB0byBjb250aW51ZSEnID0+ICdiZXN0YW5kc25hYW0gdmFuIGluc3RlbGxpbmdlbmJlc3RhbmQgdmVycGxpY2h0IG9tIHZlcmRlciB0ZSBnYWFuIScsCiAgJ0NvbmZpZ3VyYXRpb24nID0+ICdDb25maWd1cmF0aWUnLAogICdDb25maWd1cmF0aW9uIGZpbGUgZG9lcyBOT1QgZXhpc3QuIEZvbGxvdyBzdGVwcyBiZWxvdyB0byBhZGQgb25lLicgPT4gJ0hldCBpbnN0ZWxsaW5nZW5iZXN0YW5kIGJlc3RhYXQgTklFVC4gVm9sZyBvbmRlcnN0YWFuZGUgaW5zdHJ1Y3RpZXMgb20gZGl0IGJlc3RhbmQgdGUgbWFrZW4uJywKICAnQ29uZmlndXJhdGlvbiBmaWxlIGlzIG5vdCB3cml0YWJsZScgPT4gJ0hldCBpbnN0ZWxsaW5nZW5iZXN0YW5kIGlzIG5pZXQgc2NocmlqZmJhYXInLAogICdDb25maWd1cmF0aW9uIGZpbGUgbWlzc2luZyEnID0+ICdDb25maWd1cmF0aWViZXN0YW5kIG9udmluZGJhYXIhJywKICAnQ29uZmlndXJhdGlvbiBmaWxlIHJlbmFtZSByZXF1aXJlZCEnID0+ICdIZXQgaXMgbm9vZHpha2VsaWprIG9tIHV3IGNvbmZpZ3VyYXRpZWJlc3RhbmQgdGUgaGVybm9lbWVuIScsCiAgJ0NvbmZpZ3VyYXRpb24gZm9yIGRlbGV0ZWQgcGx1Z2lucyBDQU5OT1QgYmUgcmVjb3ZlcmVkLicgPT4gJ0NvbmZpZ3VyYXRpZSB2b29yIHZlcndpamRlcmRlIHBsdWdpbnMga2FuIG5pZXQgd29yZGVuIGhlcnN0ZWxkLicsCiAgJ0NvbmZpcm0gTmV3IFBhc3N3b3JkJyA9PiAnQmV2ZXN0aWcgbmlldXcgd2FjaHR3b29yZCcsCiAgJ0NvbmZpcm0gUGFzc3dvcmQnID0+ICdCZXZlc3RpZyB3YWNodHdvb3JkJywKICAnQ29uZmlybSB5b3VyIGN1cnJlbnQgcGFzc3dvcmQgYW5kIGVudGVyIGEgbmV3IHBhc3N3b3JkIHRvIGNvbnRpbnVlJyA9PiAnQmV2ZXN0aWcgdXcgaHVpZGlnZSB3YWNodHdvb3JkIGVuIHZvZXIgdXcgbmlldXdlIHdhY2h0d29vcmQgaW4gb20gZG9vciB0ZSBnYWFuJywKICAnQ29uZmlybWF0aW9uIHNlbnQgdG8gdXNlciB3aGVuIGEgbmV3IG1lc3NhZ2UgaXMgYXBwZW5kZWQgdG8gYW4gZXhpc3RpbmcgdGlja2V0LicgPT4gJ0JldmVzdGlnaW5nIGRpZSB2ZXJ6b25kZW4gd29yZHQgYWFuIGRlIGdlYnJ1aWtlciBpbmRpZW4gZWVuIG5pZXV3IGJlcmljaHQgaXMgdG9lZ2V2b2VnZCBhYW4gZWVuIGJlc3RhYW5kIHRpY2tldC4nLAogICdDb25mbGljdHMgd2l0aCBzeXN0ZW0gZW1haWwgYWJvdmUnID0+ICdDb25mbGljdGVlcnQgbWV0IGhldCBzeXN0ZWVtIGUtbWFpbGFkcmVzIGhpZXJib3ZlbicsCiAgJ0NvbmdyYXR1bGF0aW9ucyEnID0+ICdHZWZlbGljaXRlZXJkIScsCiAgJ0NvbmdyYXR1bGF0aW9ucyEgb3NUaWNrZXQgdXBncmFkZSBoYXMgYmVlbiBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5LicgPT4gJ0dlZmVsaWNpdGVlcmQhIG9zVGlja2V0IGlzIHN1Y2Nlc3ZvbCBiaWpnZXdlcmt0LicsCiAgJ0NvbnRhY3QgVXMnID0+ICdDb250YWN0IG9ucycsCiAgJ0NvbnRhY3QgYWRtaW4gZm9yIHN1Y2ggYWNjZXNzJyA9PiAnQ29udGFjdGVlciBkZSBhZG1pbmlzdHJhdG9yIHZvb3IgZGVyZ2VsaWprZSB0b2VnYW5nJywKICAnQ29udGFpbnMnID0+ICdCZXZhdCcsCiAgJ0NvbnRlbnQnID0+ICdJbmhvdWQnLAogICdDb250aW51ZScgPT4gJ0Rvb3JnYWFuJywKICAnQ29weSBQYXN0ZScgPT4gJ0tvcGllcmVuIHBsYWtrZW4nLAogICdDb3B5cmlnaHQnID0+ICdDb3B5cmlnaHQnLAogICdDb3JyZWN0IGFueSBlcnJvcnMgYmVsb3cgYW5kIHRyeSBhZ2FpbicgPT4gJ0NvcnJpZ2VlciBkZSBmb3V0ZW4gaGllcm9uZGVyIGVuIHByb2JlZXIgb3BuaWV1dycsCiAgJ0NvcnJlY3QgYW55IGVycm9ycyBiZWxvdyBhbmQgdHJ5IGFnYWluLicgPT4gJ1ZlcmJldGVyIG9uZGVyc3RhYW5kZSBmb3V0ZW4gZW4gcHJvYmVlciBvcG5pZXV3LicsCiAgJ0NvcnJlc3BvbmRpbmcgUm9sZScgPT4gJ092ZXJlZW5rb21zdGlnZSByb2wnLAogICdDb3VsZCBub3QgZmluZCBvciByZWFkIHRoaXMgZmlsZScgPT4gJ0Jlc3RhbmQgbmlldCBnZXZvbmRlbiBvZiBvbmxlZXNiYWFyJywKICAnQ293YXJkbHkgcmVmdXNpbmcgdG8gcmVtb3ZlIG9yIGxvY2sgb3V0IHRoZSBvbmx5IGFjdGl2ZSBhZG1pbmlzdHJhdG9yJyA9PiAnTGFmZmUgd2VpZ2VyaW5nIHRvdCBoZXQgdmVyd2lqZGVyZW4gb2YgYmxva2tlcmVuIHZhbiBkZSBlbmlnZSBhY3RpZXZlIGJlaGVlcmRlcicsCiAgJ0NwYW5lbCcgPT4gJ0NwYW5lbCcsCiAgJ0NyZWF0ZScgPT4gJ0Fhbm1ha2VuJywKICAnQ3JlYXRlIEFjY291bnQnID0+ICdNYWFrIGFjY291bnQgYWFuJywKICAnQ3JlYXRlIERhdGUnID0+ICdBYW5tYWFrZGF0dW0nLAogICdDcmVhdGUgRGVwdCcgPT4gJ01hYWsgYWZkZWxpbmcnLAogICdDcmVhdGUgTmV3IE9yZ2FuaXphdGlvbicgPT4gJ01hYWsgZWVuIG5pZXV3ZSBvcmdhbmlzYXRpZScsCiAgJ0NyZWF0ZSBOZXcgVGlja2V0JyA9PiAnTWFhayBlZW4gbmlldXcgdGlja2V0JywKICAnQ3JlYXRlIE5ldyBVc2VyJyA9PiAnQ3Jlw6tlciBuaWV1d2UgZ2VicnVpa2VyJywKICAnQ3JlYXRlIFRhc2snID0+ICdUYWFrIGFhbm1ha2VuJywKICAnQ3JlYXRlIFRlYW0nID0+ICdNYWFrIHRlYW0nLAogICdDcmVhdGUgVGlja2V0JyA9PiAnVGlja2V0IGFhbm1ha2VuJywKICAnQ3JlYXRlIGEgUGFzc3dvcmQnID0+ICdNYWFrIG5pZXV3IHdhY2h0d29vcmQnLAogICdDcmVhdGUgYW4gYWNjb3VudCcgPT4gJ0VlbiBhY2NvdW50IGFhbm1ha2VuJywKICAnQ3JlYXRlZCcgPT4gJ0FhbmdlbWFha3QnLAogICdDcmVhdGVkIE9uJyA9PiAnR2VtYWFrdCBvcCcsCiAgJ0NyZWF0ZWQgYnkgPGI+e3NvbWVib2R5fTwvYj4ge3RpbWVzdGFtcH0nID0+ICdHZW1hYWt0IGRvb3IgPGI+e3NvbWVib2R5fTwvYj4ge3RpbWVzdGFtcH0nLAogICdDcmVhdG9yJyA9PiAnQXV0ZXVyJywKICAnQ3JpdGVyaWEnID0+ICdDcml0ZXJpYScsCiAgJ0Nyb24gSm9iJyA9PiAnQ3JvbnRhYWsnLAogICdDcm9uIGpvYiBleGVjdXRlZCcgPT4gJ0Nyb250YWFrIHVpdGdldm9lcmQnLAogICdDdXJyZW50IFBhc3N3b3JkJyA9PiAnSHVpZGlnIHdhY2h0d29vcmQnLAogICdDdXJyZW50IFN0YXR1cycgPT4gJ0h1aWRpZ2Ugc3RhdHVzJywKICAnQ3VycmVudCBwYXNzd29yZCBpcyByZXF1aXJlZCcgPT4gJ0h1aWRpZyB3YWNodHdvb3JkIGlzIHZlcmVpc3QnLAogICdDdXJyZW50IHRpY2tldCBzdGF0dXMgKCVzKSBkb2VzIG5vdCBhbGxvdyB0aGUgZW5kIHVzZXIgdG8gcmVwbHkuJyA9PiAnRGUgaHVpZGlnZSBzdGF0dXMgKCVzKSAgdmFuIGRpdCB0aWNrZXQgc3RhYXQgaGV0IGVlbiBlaW5kZ2VicnVpa2VyIG5pZXQgdG9lIG9tIHRlIHJlYWdlcmVuLicsCiAgJ0N1cnJlbnRseSBJbnN0YWxsZWQgUGx1Z2lucycgPT4gJ01vbWVudGVlbCBnZcOvbnN0YWxsZWVyZGUgcGx1Zy1pbnMnLAogICdDdXJyZW50bHkgbG9ja2VkIGJ5ICVzJyA9PiAnT3AgZGl0IG1vbWVudCBpbiBnZWJydWlrIGRvb3IgJXMnLAogICdDdXJyZW50bHkgc2VsZWN0ZWQgdXNlcicgPT4gJ0h1aWRpZ2UgZ2VicnVpa2VyJywKICAnQ3VzdG9tJyA9PiAnQWFuZ2VwYXN0JywKICAnQ3VzdG9tIChSZWd1bGFyIEV4cHJlc3Npb24pJyA9PiAnVnJpamUgaW5nYXZlIChyZWd1bGFpcmUgZXhwcmVzc2llKScsCiAgJ0N1c3RvbSBGb3JtcycgPT4gJ0FhbmdlcGFzdGUgZm9ybXVsaWVyZW4nLAogICdDdXN0b20gTGlzdHMnID0+ICdBYW5nZXBhc3RlIGxpanN0ZW4nLAogICdDdXN0b20gbGlzdHMgYXJlIHVzZWQgdG8gcHJvdmlkZSBkcm9wLWRvd24gbGlzdHMgZm9yIGN1c3RvbSBmb3Jtcy4nID0+ICdBYW5nZXBhc3RlIGxpanN0ZW4gd29yZGVuIGdlYnJ1aWt0IG9tIGtldXplbGlqc3RlbiB0ZSBiaWVkZW4gb3AgYWFuZ2VwYXN0ZSBmb3JtdWxpZXJlbi4nLAogICdDdXN0b21lciBTdXBwb3J0IFN5c3RlbScgPT4gJ0tsYW50ZW4gSGVscGRlc2snLAogICdERUJVRycgPT4gJ09udGNpamZlcmVuIChERUJVRyknLAogICdEYXNoYm9hcmQnID0+ICdEYXNoYm9hcmQnLAogICdEYXRhIEludGVncml0eScgPT4gJ0RhdGEgaW5lZ3JpdGVpdCcsCiAgJ0RhdGEgaXMgcmVxdWlyZWQgaW4gdGhpcyBmaWVsZCBpbiBvcmRlciB0byBjbG9zZSB0aGUgcmVsYXRlZCB0aWNrZXQnID0+ICdHZWdldmVucyB6aWpuIHZlcnBsaWNodCBpbiBkaXQgdmVsZCBvbSBlZW4gZ2VyZWxhdGVlcmQgdGlja2V0IHRlIGt1bm5lbiBzbHVpdGVuJywKICAnRGF0YWJhc2UgSW5mb3JtYXRpb24gYW5kIFVzYWdlJyA9PiAnRGF0YWJhc2UgaW5mb3JtYXRpZSBlbiBnZWJydWlrJywKICAnRGF0YWJhc2UgU2V0dGluZ3MnID0+ICdEYXRhYmFzZSBpbnN0ZWxsaW5nZW4nLAogICdEYXRhYmFzZSBjb25uZWN0aW9uIGluZm9ybWF0aW9uJyA9PiAnRGF0YWJhc2UgY29ubmVjdGllIGdlZ2V2ZW5zJywKICAnRGF0YWJhc2UgZG9lc25cJ3QgZXhpc3QnID0+ICdEYXRhYmFzZSBiZXN0YWF0IG5pZXQnLAogICdEYXRhYmFzZSBuYW1lIHJlcXVpcmVkJyA9PiAnRGF0YWJhc2UgbmFhbSB2ZXJlaXN0JywKICAnRGF0ZScgPT4gJ0RhdHVtJywKICAnRGF0ZSBBZGRlZCcgPT4gJ0RhdHVtIHRvZWdldm9lZ2QnLAogICdEYXRlIENsb3NlZCcgPT4gJ1NsdWl0ZGF0dW0nLAogICdEYXRlIENyZWF0ZWQnID0+ICdBYW5tYWFrZGF0dW0nLAogICdEYXRlIEZvcm1hdCcgPT4gJ0RhdHVtZm9ybWFhdCcsCiAgJ0RhdGUgSW5zdGFsbGVkJyA9PiAnSW5zdGFsbGF0aWVkYXR1bScsCiAgJ0RhdGUgYW5kIFRpbWUnID0+ICdEYXR1bSBlbiB0aWpkJywKICAnRGF0ZSBhbmQgVGltZSBGb3JtYXQnID0+ICdEYXR1bSBlbiBUaWpkZm9ybWFhdCcsCiAgJ0RhdGUgYW5kIFRpbWUgT3B0aW9ucycgPT4gJ0RhdHVtIGVuIFRpamQgb3B0aWVzJywKICAnRGF0ZSBjcmVhdGVkJyA9PiAnQWFubWFha2RhdHVtJywKICAnRGF0ZSBmb3JtYXQgaXMgcmVxdWlyZWQnID0+ICdEYXR1bW5vdGF0aWUgaXMgdmVyZWlzdCcsCiAgJ0RhdGV0aW1lIGZvcm1hdCBpcyByZXF1aXJlZCcgPT4gJ0RhdHVtL1RpamQgbm90YXRpZSBpcyB2ZXJlaXN0JywKICAnRGF5LCBEYXRlIGFuZCBUaW1lIEZvcm1hdCcgPT4gJ0RhZywgRGF0dW0gZW4gVElqZGZvcm1hYXQnLAogICdEYXksIERhdGV0aW1lIGZvcm1hdCBpcyByZXF1aXJlZCcgPT4gJ0RhZywgRGF0dW0vVGlqZCBub3RhdGllIGlzIHZlcmVpc3QnLAogICdEZWJ1ZyBsb2dzJyA9PiAnVWl0Z2VicmVpZGUgc3lzdGVlbW1lbGRpbmdlbiAoZGVidWcpJywKICAnRGVmYXVsdCcgPT4gJ1N0YW5kYWFyZCcsCiAgJ0RlZmF1bHQgQWxlcnQgRW1haWwnID0+ICdTdGFuZGFhcmQgZS1tYWlsYWRyZXMgdm9vciBtZWxkaW5nZW4nLAogICdEZWZhdWx0IERlcGFydG1lbnQnID0+ICdTdGFuZGFhcmQgYWZkZWxpbmcnLAogICdEZWZhdWx0IERlcGFydG1lbnQgaXMgcmVxdWlyZWQnID0+ICdTdGFuZGFhcmQgQWZkZWxpbmcgaXMgdmVycGxpY2h0JywKICAnRGVmYXVsdCBFbWFpbCcgPT4gJ1N0YW5kYWFyZCBlLW1haWxhZHJlcycsCiAgJ0RlZmF1bHQgRnJvbSBOYW1lJyA9PiAnU3RhbmRhYXJkIFZhbiBuYWFtJywKICAnRGVmYXVsdCBIZWxwIFRvcGljJyA9PiAnU3RhbmRhYXJkIGhlbHBvbmRlcndlcnAnLAogICdEZWZhdWx0IExvY2FsZScgPT4gJ1N0YW5kYWFyZCBJbmRlbGluZ2VuJywKICAnRGVmYXVsdCBMb2cgTGV2ZWwnID0+ICdTdGFuZGFhcmQgTG9nbml2ZWF1JywKICAnRGVmYXVsdCBNVEEnID0+ICdTdGFuZGFhcmQgTWFpbHNlcnZlcicsCiAgJ0RlZmF1bHQgUGFnZSBTaXplJyA9PiAnU3RhbmRhYXJkIHBhZ2luYWdyb290dGUnLAogICdEZWZhdWx0IFBhcGVyIFNpemUnID0+ICdTdGFuZGFhcmQgcGFwaWVyZm9ybWFhdCcsCiAgJ0RlZmF1bHQgUHJpb3JpdHknID0+ICdTdGFuZGFhcmRwcmlvcml0ZWl0JywKICAnRGVmYXVsdCBTTEEnID0+ICdTdGFuZGFhcmQgU0xBJywKICAnRGVmYXVsdCBTaWduYXR1cmUnID0+ICdTdGFuZGFhcmRoYW5kdGVrZW5pbmcnLAogICdEZWZhdWx0IFN0YXR1cycgPT4gJ1N0YW5kYWFyZCBzdGF0dXMnLAogICdEZWZhdWx0IFN5c3RlbSBFbWFpbCcgPT4gJ1N0YW5kYWFyZCBzeXN0ZWVtIGUtbWFpbCcsCiAgJ0RlZmF1bHQgVGFzayBOdW1iZXIgRm9ybWF0JyA9PiAnU3RhbmRhYXJkIFRhYWsgbnVtbWVyIGZvcm1hYXQnLAogICdEZWZhdWx0IFRhc2sgTnVtYmVyIFNlcXVlbmNlJyA9PiAnU3RhbmRhYXJkIHRhYWsgbnVtbWVyaW5nJywKICAnRGVmYXVsdCBUZW1wbGF0ZSBTZXQnID0+ICdTdGFuZGFhcmQgdGVtcGxhdGUgc2V0JywKICAnRGVmYXVsdCBUaGFuay1Zb3UgUGFnZScgPT4gJ1N0YW5kYWFyZCBkYW5rcGFnaW5hJywKICAnRGVmYXVsdCBUaWNrZXQgTnVtYmVyIEZvcm1hdCcgPT4gJ1N0YW5kYWFyZCB0aWNrZXRudW1tZXIgZm9ybWFhdCcsCiAgJ0RlZmF1bHQgVGlja2V0IE51bWJlciBTZXF1ZW5jZScgPT4gJ1N0YW5kYWFyZCB0aWNrZXRudW1tZXJzZXF1ZW50aWUnLAogICdEZWZhdWx0IFRpY2tldCBRdWV1ZScgPT4gJ1N0YW5kYWFyZCB0aWNrZXRvdmVyemljaHQnLAogICdEZWZhdWx0IFRpbWUgWm9uZScgPT4gJ1N0YW5kYWFyZCB0aWpkc3pvbmUnLAogICdEZWZhdWx0IFRpbWV6b25lIGlzIHJlcXVpcmVkJyA9PiAnU3RhbmRhYXJkIFRpamR6b25lIGlzIHZlcmVpc3QnLAogICdEZWZhdWx0IGVtYWlsIGFkZHJlc3MnID0+ICdTdGFuZGFhcmQgZW1haWxhZHJlcycsCiAgJ0RlZmF1bHQgZW1haWwgYWRkcmVzcyBlLmcgc3VwcG9ydEB5b3VyY29tcGFueS5jb20gLSB5b3UgY2FuIGFkZCBtb3JlIGxhdGVyIScgPT4gJ1N0YW5kYWFyZCBlLW1haWxhZHJlcyAoYmlqdiBzdXBwb3J0QGJlZHJpamYubmwpLiBVIGt1bnQgZXIgbGF0ZXIgbm9nIG1lZXIgdG9ldm9lZ2VuIScsCiAgJ0RlZmF1bHQgZW1haWwgYWRkcmVzcyBvZiB0aWNrZXQgb3duZXInID0+ICdTdGFuZGFhcmQgZW1haWxhZHJlcyB2YW4gZGUgdGlja2V0LWVpZ2VuYWFyJywKICAnRGVmYXVsdCBlbWFpbCBpcyByZXF1aXJlZCcgPT4gJ1N0YW5kYWFyZCBlLW1haWwgYWRyZXMgaXMgdmVyZWlzdCcsCiAgJ0RlZmF1bHQgZW1haWwgb25seSBhcHBsaWVzIHRvIG91dGdvaW5nIGVtYWlscyB3aXRob3V0IFNNVFAgc2V0dGluZy4nID0+ICdTdGFuZGFhcmQgZW1haWwgKGhlZWZ0IGFsbGVlbiBiZXRyZWtraW5nIG9wIHVpdGdhYW5kZSBlbWFpbCB6b25kZXIgZGUgU01UUCBpbnN0ZWxsaW5nKS4nLAogICdEZWZhdWx0IGhlbHAgdG9waWMgbXVzdCBiZSBzZXQgdG8gYWN0aXZlJyA9PiAnU3RhbmRhYXJkIGhlbHAgb25kZXJ3ZXJwIG1vZXQgd29yZGVuIGluZ2VzdGVsZCBvcCBhY3RpZWYnLAogICdEZWZhdWx0IHNlbGVjdGlvbiBmb3IgdGhpcyBmaWVsZCcgPT4gJ1N0YW5kYWFyZCBzZWxlY3RpZSB2b29yIGRpdCBpbnZvZXIgdmVsZCcsCiAgJ0RlZmF1dCBTb3J0aW5nJyA9PiAnU3RhbmRhYXJkIHNvcnRlcmluZycsCiAgJ0RlZmluaXRpb24nID0+ICdEZWZpbml0aWUnLAogICdEZWxldGUnID0+ICdWZXJ3aWpkZXJlbicsCiAgJ0RlbGV0ZSAlMSRzICUyJHMgJTMkcyBhbmQgYW55IGFzc29jaWF0ZWQgYXR0YWNobWVudHMgYW5kIGRhdGEuJyA9PiAnVmVyd2lqZGVyICUxJHMgJTIkcyAlMyRzIGVuIGFsbGUgYmlqYmVob3JlbmRlIGJpamxhZ2VzIGVuIGdlZ2V2ZW5zLicsCiAgJ0RlbGV0ZSAlcycgPT4gJ1ZlcndpamRlciAlcycsCiAgJ0RlbGV0ZSBDYXRlZ29yeScgPT4gJ1ZlcndpamRlciBDYXRlZ29yaWUnLAogICdEZWxldGUgRHJhZnQnID0+ICdWZXJ3aWpkZXIgY29uY2VwdCcsCiAgJ0RlbGV0ZSBGQVEnID0+ICdWZXJ3aWpkZXIgRkFRJywKICAnRGVsZXRlIE9yZ2FuaXphdGlvbicgPT4gJ3ZlcndpamRlciBvcmdhbmlzYXRpZScsCiAgJ0RlbGV0ZSBTZWxlY3RlZCBFbnRyaWVzJyA9PiAnVmVyd2lqZGVyIGdlc2VsZWN0ZWVyZGUgaXRlbXMnLAogICdEZWxldGUgVGFza3MnID0+ICdWZXJ3aWpkZXIgdGFrZW4nLAogICdEZWxldGUgVGlja2V0JyA9PiAnVmVyd2lqZGVyIHRpY2tldCcsCiAgJ0RlbGV0ZSBVc2VyJyA9PiAnVmVyd2lqZGVyIGdlYnJ1aWtlcicsCiAgJ0RlbGV0ZSBlbWFpbHMnID0+ICdWZXJ3aWpkZXJkZSBlLW1haWxzJywKICAnRGVsZXRlZCcgPT4gJ1ZlcndpamRlcmQnLAogICdEZWxldGVkIFF1ZXVlcyBjYW5ub3QgYmUgcmVjb3ZlcmVkJyA9PiAnVmVyd2lqZGVyZGUgcmlqZW4ga3VubmVuIG5pZXQgaGVyc3RlbGQgd29yZGVuJywKICAnRGVsZXRlZCBkYXRhIENBTk5PVCBiZSByZWNvdmVyZWQsIGluY2x1ZGluZyBhbnkgYXNzb2NpYXRlZCBGQVFzLicgPT4gJ1ZlcndpamRlcmRlIGRhdGEga2FuIG5pZXQgaGVyc3RlbGQgd29yZGVuLCBpbmNsdXNpZWYgYmlqYmVob3JlbmRlIEZBUXMuJywKICAnRGVsZXRlZCBkYXRhIENBTk5PVCBiZSByZWNvdmVyZWQsIGluY2x1ZGluZyBhbnkgYXNzb2NpYXRlZCBhdHRhY2htZW50cy4nID0+ICdWZXJ3aWpkZXJkZSBnZWdldmVucyBrdW5uZW4gTklFVCB3b3JkZW4gdGVydWdnZWhhYWxkLCBpbmNsdXNpZWYgYmlqYmVob3JlbmRlIGJpamxhZ2VzLicsCiAgJ0RlbGV0ZWQgZGF0YSBDQU5OT1QgYmUgcmVjb3ZlcmVkLCBpbmNsdWRpbmcgYW55IGFzc29jaWF0ZWQgcnVsZXMuJyA9PiAnVmVyd2lqZGVyZGUgZ2VnZXZlbnMga3VubmVuIG5pZXQgd29yZGVuIGhlcnN0ZWxkLCBtZXQgaW5iZWdyaXAgdmFuIGFsbGUgYmlqYmVob3JlbmRlIHJlZ2Vscy4nLAogICdEZWxldGVkIGRhdGEgQ0FOTk9UIGJlIHJlY292ZXJlZC4nID0+ICdWZXJ3aWpkZXJkZSBnZWdldmVucyBrdW5uZW4gbmlldCB3b3JkZW4gaGVyc3RlbGQuJywKICAnRGVsZXRlZCBvcmdhbml6YXRpb24gQ0FOTk9UIGJlIHJlY292ZXJlZCcgPT4gJ0VlbiB2ZXJ3aWpkZXJkZSBvcmdhbmlzYXRpZSBrYW4gbmlldCBoZXJzdGVsZCB3b3JkZW4nLAogICdEZWxldGVkIHJvbGVzIENBTk5PVCBiZSByZWNvdmVyZWQuJyA9PiAnVmVyd2lqZGVyZGUgcm9sbGVuIGt1bm5lbiBOSUVUIHRlcnVnZ2VoYWFsZCB3b3JkZW4uJywKICAnRGVsZXRlZCB0YXNrcyBDQU5OT1QgYmUgcmVjb3ZlcmVkLCBpbmNsdWRpbmcgYW55IGFzc29jaWF0ZWQgYXR0YWNobWVudHMuJyA9PiAnVmVyd2lqZGVyZGUgdGFrZW4gKGVuIGh1biBiaWpiZWhvcmVuZGUgYmlqbGFnZXMpIGt1bm5lbiBuaWV0IHRlcnVnZ2VoYWFsZCB3b3JkZW4uJywKICAnRGVsZXRlZCB0aWNrZXRzIENBTk5PVCBiZSByZWNvdmVyZWQsIGluY2x1ZGluZyBhbnkgYXNzb2NpYXRlZCBhdHRhY2htZW50cy4nID0+ICdWZXJ3aWpkZXJkZSB0aWNrZXRzLCBpbmNsdXNpZWYgYmlqYmVob3JlbmRlIGJpamxhZ2VuLCBrdW5uZW4gTklFVCBoZXJzdGVsZCB3b3JkZW4uJywKICAnRGVsZXRlZCB1c2VycyBhbmQgdGlja2V0cyBDQU5OT1QgYmUgcmVjb3ZlcmVkJyA9PiAnVmVyd2lqZGVyZGUgZ2VicnVpa2VycyBlbiB0aWNrZXRzIGt1bm5lbiBuaWV0IHRlcnVnZ2VoYWFsZCB3b3JkZW4nLAogICdEZXBhcnRtZW50JyA9PiAnQWZkZWxpbmcnLAogICdEZXBhcnRtZW50IEVtYWlsJyA9PiAnQWZkZWxpbmdzIEVtYWlsJywKICAnRGVwYXJ0bWVudCBJbmZvcm1hdGlvbicgPT4gJ0FmZGVsaW5nc2luZm9ybWF0aWUnLAogICdEZXBhcnRtZW50IE1hbmFnZXInID0+ICdBZmRlbGluZ3NiZWhlZXJkZXInLAogICdEZXBhcnRtZW50IE1lbWJlcnMnID0+ICdBZmRlbGluZ3NsZWRlbicsCiAgJ0RlcGFydG1lbnQgTmFtZSAoJXMpJyA9PiAnQWZkZWxpbmdzbmFhbSAoJXMpJywKICAnRGVwYXJ0bWVudCBTaWduYXR1cmUnID0+ICdBZmRlbGluZ3MtaGFuZHRla2VuaW5nJywKICAnRGVwYXJ0bWVudCBTaWduYXR1cmUgKCVzKScgPT4gJ0FmZGVsaW5nc2hhbmR0ZWtlbmluZyAoJXMpJywKICAnRGVwYXJ0bWVudCBhbHJlYWR5IGV4aXN0cycgPT4gJ0FmZGVsaW5nIGJlc3RhYXQgYWwnLAogICdEZXBhcnRtZW50IGFuZCBleHRlbmRlZCBhY2Nlc3MgbWVtYmVycycgPT4gJ0FmZGVsaW5nIGVuIHVpdGdlYnJlaWRlIHRvZWdhbmdzbWVkZXdlcmtlcnMnLAogICdEZXBhcnRtZW50IGlzIHJlcXVpcmVkJyA9PiAnQWZkZWxpbmcgaXMgdmVyZWlzdCcsCiAgJ0RlcGFydG1lbnQgbWVtYmVycyBvbmx5JyA9PiAnQWxsZWVuIGFmZGVsaW5nc2xlZGVuJywKICAnRGVwYXJ0bWVudCBzZWxlY3Rpb24gaXMgcmVxdWlyZWQnID0+ICdTZWxlY3RpZSB2YW4gRGVwYXJ0ZW1lbnQgdmVyZWlzdCcsCiAgJ0RlcGFydG1lbnQgc2VsZWN0aW9uIHJlcXVpcmVkJyA9PiAnU2VsZWN0ZXJlbiB2YW4gZGUgYWZkZWxpbmcgaXMgdmVyZWlzdCcsCiAgJ0RlcGFydG1lbnRcJ3MgRGVmYXVsdCcgPT4gJ0FmZGVsaW5nc3N0YW5kYWFyZCcsCiAgJ0RlcGFydG1lbnRzJyA9PiAnQWZkZWxpbmdlbicsCiAgJ0RlcGFydG1lbnRzIHdpdGggYWdlbnRzIGNhbiBub3QgYmUgZGVsZXRlZC4gTW92ZSB0aGUgYWdlbnRzIGZpcnN0LicgPT4gJ0FmZGxlaW5nZW4gbWV0IGFnZW50ZW4ga3VubmVuIG5pZXQgd29yZGVuIHZlcndpamRlcmQsIHZlcmh1aXMgZGUgYWdlbnRlbiBlZXJzdCBuYWFyIGVlbiBhbmRlcmUgYWZkZWxpbmcuJywKICAnRGVzY2VuZGluZycgPT4gJ0FmbG9wZW5kJywKICAnRGVzY3JpcHRpb24nID0+ICdCZXNjaHJpanZpbmcnLAogICdEaWFnbm9zdGljJyA9PiAnRGlhZ25vc2UnLAogICdEaXNhYmxlJyA9PiAnVWl0c2NoYWtlbGVuJywKICAnRGlzYWJsZSBhdXRvcmVzcG9uc2UnID0+ICdBdXRvbWF0aXNjaCBhbnR3b29yZGJlcmljaHQgdWl0c2NoYWtlbGVuJywKICAnRGlzYWJsZWQnID0+ICdJbmFjdGllZicsCiAgJ0Rpc2FibGVkIOKAlCBBbGwgdXNlcnMgYXJlIGd1ZXN0cycgPT4gJ1VpdGdlc2NoYWtlbGQgLS0gQWxsZSBnZWJydWlrZXJzIHppam4gZ2FzdGdlYnJ1aWtlcnMnLAogICdEaXNhYmxpbmcga25vd2xlZGdlIGJhc2UgZGlzYWJsZXMgY2xpZW50c1wnIGludGVyZmFjZS4nID0+ICdIZXQgdWl0c2NoYWtlbGVuIHZhbiBkZSBrZW5uaXNkYXRhYmFzZSBzY2hha2VsdCBvb2sgZGUgY2xpZW50LWludGVyZmFjZSB1aXQuJywKICAnRGlzcGF0Y2hlciBjb21waWxlIGVycm9yLiBGdW5jdGlvbiBub3QgY2FsbGFibGUnID0+ICdBZmhhbmRlbCBjb21waWxlZXIgZm91dC4gRnVuY3RpZSBuaWV0IG9wdnJhYWdiYWFyJywKICAnRGlzcGxheSBmb3JtYXQnID0+ICdXZWVyZ2F2ZS1pbmRlbGluZycsCiAgJ0RvIE5vdCBFbWFpbCBSZXBseScgPT4gJ0RpdCBhbnR3b29yZCBuaWV0IHZpYSBlbWFpbCB2ZXJzdHVyZW4nLAogICdEbyBub3RoaW5nIDxlbT4obm90IHJlY29tbWVuZGVkKTwvZW0+JyA9PiAnRG9lIG5pZXRzIDxlbT4obmlldCBhYW5iZXZvbGVuKTwvZW0+JywKICAnRG9lcyBOb3QgQ29udGFpbicgPT4gJ0JldmF0IGdlZW4nLAogICdEb2VzIE5vdCBNYXRjaCBSZWdleCcgPT4gJ1ZvbGRvZXQgbmlldCBhYW4gcmVnZXgnLAogICdEb2luZyBzdHVmZiEnID0+ICdCZXppZyEnLAogICdEb21haW4nID0+ICdEb21laW4nLAogICdEb25cJ3QganVzdCBtYWtlIGN1c3RvbWVycyBoYXBweSwgbWFrZSBoYXBweSBjdXN0b21lcnMhJyA9PiAnTWFhayBrbGFudGVuIG5pZXQgZ2VsdWtraWcsIHpvcmcgdm9vciBnZWx1a2tpZ2Uga2xhbnRlbiEnLAogICdEb25cJ3QgbGV0IHRlY2huaWNhbCBwcm9ibGVtcyBpbXBhY3QgeW91ciBvc1RpY2tldCBpbXBsZW1lbnRhdGlvbi4gR2V0IGd1aWRhbmNlIGFuZCBoYW5kcy1vbiBleHBlcnRpc2UgdG8gYWRkcmVzcyB1bmlxdWUgY2hhbGxlbmdlcyBhbmQgbWFrZSBzdXJlIHlvdXIgb3NUaWNrZXQgcnVucyBzbW9vdGhseSwgZWZmaWNpZW50bHksIGFuZCBzZWN1cmVseS4nID0+ICdMYWF0IHRlY2huaXNjaGUgcHJvYmxlbWVuIG5pZXQgdmFuIGludmxvZWQgemlqbiBvcCB1dyBpbXBsZW1lbnRhdGllIHZhbiBvc1RpY2tldC4gVnJhYWcgaHVscCBlbiBleHBlcnRpc2Ugb20gc3BlY2lmaWVrZSBwcm9ibGVtZW4gYWFuIHRlIHBha2tlbiBvbSBvc1RpY2tldCBzb2VwZWwsIGVmZmljaWVudCBlbiB2ZWlsaWcgdGUgbGF0ZW4gZHJhYWllbi4nLAogICdEb25cJ3Qgd29ycnkhIFdlXCdsbCByZW1pbmQgeW91IHRvIHRha2UgYXdheSB0aGUgd3JpdGUgYWNjZXNzIHBvc3QtaW5zdGFsbCcgPT4gJ01hYWsgdSBnZWVuIHpvcmdlbiwgd2UgenVsbGVuIHUgZGV6ZSBzY2hyaWpmdG9lZ2FuZyBuYSBpbnN0YWxsYXRpZSBsYXRlbiB1aXRzY2hha2VsZW4nLAogICdEb25lPyBDb250aW51ZScgPT4gJ1ZvbHRvb2lkPyAgR2EgdmVyZGVyJywKICAnRG93bmxvYWQnID0+ICdkb3dubG9hZCcsCiAgJ0RyYWZ0IGJvZHkgbm90IGZvdW5kIGluIHJlcXVlc3QnID0+ICdOb3RpdGlldGVrc3QgbmlldCBnZXZvbmRlbiBpbiB2ZXJ6b2VrJywKICAnRHJvcCBEb3duJyA9PiAnRHJvcCBEb3duJywKICAnRHJvcCBmaWxlcyBoZXJlIG9yICVzIGNob29zZSB0aGVtICVzJyA9PiAnU2xlZXAgaGllciBiZXN0YW5kZW4gbmFhciB0b2Ugb2YgJXMga2llcyB6ZSAlcycsCiAgJ0R1ZSBEYXRlJyA9PiAnVmVydmFsZGF0dW0nLAogICdEdWUgZGF0ZSBjYW4gTk9UIGJlIHNldCBvbiBhIGNsb3NlZCB0aWNrZXQnID0+ICdWZXJ2YWxkYXR1bSBrYW4gTklFVCB3b3JkZW4gaW5nZXN0ZWxkIG9wIGVlbiBnZXNsb3RlbiB0aWNrZXQnLAogICdEdWUgZGF0ZSBtdXN0IGJlIGluIHRoZSBmdXR1cmUnID0+ICdWZXJ2YWxkYXR1bSBtb2V0IGluIGRlIHRvZWtvbXN0IHppam4nLAogICdEdWUgZGF0ZSBvdmVycmlkZXMgU0xBXCdzIGdyYWNlIHBlcmlvZC4nID0+ICdEZSB2ZXJsb29wZGF0dW0gb3ZlcnNjaHJlaWR0IGRlIHRlcm1pam4gZGllIGluIGRlIFNMQSBpcyBhZmdlc3Byb2tlbi4nLAogICdEeW5hbWljIEZpZWxkcycgPT4gJ0R5bmFtaXNjaGUgdmVsZGVuJywKICAnRVJST1InID0+ICdGT1VUJywKICAnRWFybGllc3QnID0+ICdWcm9lZ3N0ZScsCiAgJ0VhcmxpZXN0IGRhdGUgc2VsZWN0YWJsZScgPT4gJ0VlcnN0IG1vZ2VsaWprZSB0ZSBzZWxlY3RlcmVuIGRhdHVtJywKICAnRWRpdCcgPT4gJ0Jld2VyaycsCiAgJ0VkaXQgQ2F0ZWdvcnknID0+ICdXaWp6aWcgQ2F0ZWdvcmllJywKICAnRWRpdCBGQVEnID0+ICdCZXdlcmsgRkFRJywKICAnRWRpdCBUaHJlYWQnID0+ICdCZXdlcmsgUmVla3MnLAogICdFZGl0IFRocmVhZCBFbnRyeScgPT4gJ1dpanppZyBEaXNjdXNzaWUgaW5nYXZlJywKICAnRWRpdCBUaWNrZXQnID0+ICdCZXdlcmsgdGlja2V0JywKICAnRWRpdGFibGUnID0+ICdXaWp6aWdiYWFyJywKICAnRWRpdGVkJyA9PiAnQmV3ZXJrdCcsCiAgJ0VkaXRlZCBvbiAlcyBieSAlcycgPT4gJ0Jld2Vya3Qgb3AgJXMgZG9vciAlcycsCiAgJ0VkaXRpbmcgVGlja2V0ICMlcycgPT4gJ1RpY2tldCAjJXMgYmV3ZXJrZW4nLAogICdFbWFpbCAlcyBhZGRlZCB0byBiYW5saXN0JyA9PiAnSGV0IGUtbWFpbGFkcmVzICVzIGlzIHRvZWdldm9lZ2QgYWFuIGRlIGJsb2trYWRlbGlqc3QnLAogICdFbWFpbCAoJXMpJyA9PiAnRS1tYWlsICglcyknLAogICdFbWFpbCBBY2Nlc3MgTGluaycgPT4gJ1N0dXVyIGxpbmsgdm9vciB0b2VnYW5nJywKICAnRW1haWwgQWRkcmVzcycgPT4gJ0UtbWFpbGFkcmVzJywKICAnRW1haWwgQWRkcmVzcyBOYW1lJyA9PiAnTmFhbSBFbWFpbGFkcmVzJywKICAnRW1haWwgQWRkcmVzcyDigJQgZS5nLiBtZUBteWNvbXBhbnkuY29tJyA9PiAnRS1tYWlsYWRyZXMsIGJpanYuOiBqYW5Aa2FiZWxrcmFudC5ubCcsCiAgJ0VtYWlsIEFkZHJlc3NlcycgPT4gJ0UtbWFpbGFkcmVzc2VuJywKICAnRW1haWwgRGlhZ25vc3RpYycgPT4gJ0UtbWFpbCBkaWFnbm9zZScsCiAgJ0VtYWlsIERvbWFpbicgPT4gJ0VtYWlsZG9tZWluJywKICAnRW1haWwgRmV0Y2hpbmcnID0+ICdFLW1haWwgb3BoYWxlbicsCiAgJ0VtYWlsIEluZm9ybWF0aW9uIGFuZCBTZXR0aW5ncycgPT4gJ0VtYWlsIGluZm9ybWF0aWUgZW4gaW5zdGVsbGluZ2VuJywKICAnRW1haWwgTG9naW4gSW5mb3JtYXRpb24nID0+ICdFLW1haWwgTG9naW4gaW5mb3JtYXRpZScsCiAgJ0VtYWlsIE1haWxib3gnID0+ICdFbWFpbCBNYWlsYm94JywKICAnRW1haWwgTWV0YS1EYXRhJyA9PiAnRS1tYWlsIE1ldGEtRGF0YScsCiAgJ0VtYWlsIE5hbWUnID0+ICdFbWFpbCBuYWFtJywKICAnRW1haWwgUmVjaXBpZW50cycgPT4gJ0UtbWFpbC1vbnR2YW5nZXJzJywKICAnRW1haWwgU2V0dGluZ3MnID0+ICdFbWFpbCBpbnN0ZWxsaW5nZW4nLAogICdFbWFpbCBTZXR0aW5ncyBhbmQgT3B0aW9ucycgPT4gJ0VtYWlsIGluc3RlbGxpbmdlbiBlbiBvcHRpZXMnLAogICdFbWFpbCBTdWJqZWN0IGFuZCBCb2R5JyA9PiAnRS1tYWlsIE9uZGVyd2VycCBlbiBCZXJpY2h0JywKICAnRW1haWwgVGVtcGxhdGUgU2V0JyA9PiAnRS1tYWlsc2phYmxvb24gaW5zdGVsbGluZ2VuJywKICAnRW1haWwgVGVtcGxhdGUgU2V0cycgPT4gJ0UtbWFpbHNqYWJsb29uIGluc3RlbGxpbmdlbicsCiAgJ0VtYWlsIFRlbXBsYXRlcycgPT4gJ0UtbWFpbHNqYWJsb25lbicsCiAgJ0VtYWlsIGFkZHJlc3MgYWRkZWQgdG8gYmFuIGxpc3Qgc3VjY2Vzc2Z1bGx5JyA9PiAnRS1tYWlsYWRyZXMgc3VjY2Vzdm9sIHRvZWdldm9lZ2QgYWFuIGRlIGJsb2trYWRlbGlqc3QnLAogICdFbWFpbCBhbHJlYWR5IGV4aXN0cycgPT4gJ0UtbWFpbGFkcmVzIGJlc3RhYXQgYWwnLAogICdFbWFpbCBhbHJlYWR5IGluIGJhbmxpc3QnID0+ICdEaXQgZS1tYWlsYWRyZXMgc3RhYXQgcmVlZHMgb3AgZGUgYmxva2thZGVsaWpzdCcsCiAgJ0VtYWlsIGFscmVhZHkgaW4gdGhlIGJhbiBsaXN0JyA9PiAnRS1tYWlsIGFkcmVzIHJlZWRzIGFhbndlemlnIGluIGRlIGJsb2trYWRlbGlqc3QnLAogICdFbWFpbCBhbHJlYWR5IGluIHVzZSBieSBhbm90aGVyIGFnZW50JyA9PiAnRS1tYWlsIGlzIGFsIGluIGdlYnJ1aWsgZG9vciBlZW4gYW5kZXJlIG1lZGV3ZXJrZXInLAogICdFbWFpbCBhbHJlYWR5IHJlZ2lzdGVyZWQuIFdvdWxkIHlvdSBsaWtlIHRvICUxJHMgc2lnbiBpbiAlMiRzPycgPT4gJ0UtbWFpbCBhbCBnZXJlZ2lzdHJlZXJkLiBXaWx0IHUgJTEkcyBpbmxvZ2dlbiAlMiRzPycsCiAgJ0VtYWlsIGFscmVhZHkgc2V0dXAgYXMgc3lzdGVtIGVtYWlsJyA9PiAnRS1tYWlsIGFsIGluZ2VzdGVsZCBhbHMgc3lzdGVlbSBlLW1haWwnLAogICdFbWFpbCBhbHJlYWR5IHVzZWQgYXMgYWRtaW4gZW1haWwhJyA9PiAnRS1tYWlsYWRyZXMgYWwgZ2VicnVpa3QgYWxzIGFkbWluIGUtbWFpbCEnLAogICdFbWFpbCBhdHRhY2htZW50cyB0byB0aGUgdXNlcicgPT4gJ1N0dXVyIGJpamxhZ2VuIG5hYXIgZGUgZ2VicnVpa2VyJywKICAnRW1haWwgaW4gdXNlIGJ5IGFuIGFnZW50JyA9PiAnRS1tYWlsIGluIGdlYnJ1aWsgZG9vciBlZW4gbWVkZXdlcmtlcicsCiAgJ0VtYWlsIGlzIGFzc2lnbmVkIHRvIGFub3RoZXIgdXNlcicgPT4gJ0UtbWFpbCB0b2VnZXdlemVuIGFhbiBlZW4gYW5kZXJlIGdlYnJ1aWtlcicsCiAgJ0VtYWlsIGlzIGluIGJhbmxpc3QhIE11c3QgYmUgcmVtb3ZlZCBiZWZvcmUgYW55IHJlcGx5L3Jlc3BvbnNlJyA9PiAnRGl0IGUtbWFpbGFkcmVzIHN0YWF0IG9wIGRlIGJsb2trYWRlbGlqc3QuIEhldCBlLW1haWxhZHJlcyBtb2V0IGRhYXJ2YW4gd29yZGVuIGFmZ2VoYWFsZCBhbHZvcmVucyB3ZSBrdW5uZW4gcmVhZ2VyZW4nLAogICdFbWFpbCBpcyBpbiBiYW5saXN0LiBNdXN0IGJlIHJlbW92ZWQgdG8gcmVwbHkuJyA9PiAnRS1tYWlsYWRyZXMgc3RhYXQgb3AgZGUgYmxva2xpanN0LiBEZXplIG1vZXQgZWVyc3Qgd29yZGVuIHZlcndpamRlcmQgYWx2b3JlbnMgZXIga2FuIHdvcmRlbiBnZXJlYWdlZXJkLicsCiAgJ0VtYWlsIGlzIG5vdCBpbiB0aGUgYmFubGlzdCcgPT4gJ0UtbWFpbGFkcmVzIHN0YWF0IG5pZXQgb3AgZGUgYmxva2thZGVsaWpzdCcsCiAgJ0VtYWlsIGxvb3AgZGV0ZWN0ZWQnID0+ICdFLW1haWwgbHVzIGdlZGV0ZWN0ZWVyZCcsCiAgJ0VtYWlsIG5hbWUgcmVxdWlyZWQnID0+ICdFLW1haWxuYWFtIHZlcmVpc3QnLAogICdFbWFpbCBvciBVc2VybmFtZScgPT4gJ0UtbWFpbCBvZiBnZWJydWlrZXJzbmFhbScsCiAgJ0VtYWlsIHJlbW92ZWQgZnJvbSBiYW5saXN0JyA9PiAnRS1tYWlsYWRyZXMgdWl0IGRlIGJsb2trYWRlbGlqc3QgZ2VoYWFsZCcsCiAgJ0VtYWlsIHRlbXBsYXRlcyBtdXN0IGRlZmluZSBib3RoICJzdWJqZWN0IiBhbmQgImJvZHkiIHBhcnRzIG9mIHRoZSB0ZW1wbGF0ZScgPT4gJ0VtYWlsIHRlbXBsYXRlcyBtb2V0ZW4gem93ZWwgIm9uZGVyd2VycCIgYWxzICJpbmhvdWQiIHZhbiBkZSB0ZW1wbGF0ZSBiZXZhdHRlbicsCiAgJ0VtYWlsZWQgVGlja2V0cyBQcmlvcml0eScgPT4gJ0dlbWFpbGVkIFRpY2tldCBQcmlvcml0ZWl0JywKICAnRW1haWxzJyA9PiAnRS1tYWlscycsCiAgJ0VtYWlscyBQZXIgRmV0Y2gnID0+ICdFLW1haWxzIHBlciBvcGhhbGluZycsCiAgJ0VuYWJsZScgPT4gJ0luc2NoYWtlbGVuJywKICAnRW5hYmxlIEF0dGFjaG1lbnRzJyA9PiAnU2NoYWtlbCBiaWpsYWdlbiBpbicsCiAgJ0VuYWJsZSBDQVBUQ0hBIG9uIG5ldyB3ZWIgdGlja2V0cy4nID0+ICdaZXQgQ0FQVENIQSAoYW50aXNwYW0pIGFhbiBiaWogaGV0IGluc3R1cmVuIHZhbiBuaWV1d2UgdGlja2V0cy4nLAogICdFbmFibGUgQ2FubmVkIFJlc3BvbnNlcycgPT4gJ1NjaGFrZWwgdm9vcmdlZGVmaW5pZWVyZGUgcmVhY3RpZXMgaW4nLAogICdFbmFibGUgS25vd2xlZGdlIEJhc2UnID0+ICdTY2hha2VsIGRlIGtlbm5pc2RhdGFiYXNlIGluJywKICAnRW5hYmxlIFJpY2ggVGV4dCcgPT4gJ1NjaGFrZWwgdGVrc3RvcG1hYWsgKFJURikgaW4nLAogICdFbmFibGUgaHRtbCBpbiB0aHJlYWQgZW50cmllcyBhbmQgZW1haWwgY29ycmVzcG9uZGVuY2UuJyA9PiAnSFRNTCB0b2VzdGFhbiBpbiBkaXNjdXNzaWUgaW5nYXZlcyBlbiBlbWFpbCBiZXJpY2h0ZW4uJywKICAnRW5hYmxlIHVzZSBvZiBhdXRoZW50aWNhdGlvbiB0b2tlbnMgdG8gYXV0by1sb2dpbiB1c2VycycgPT4gJ0F1dGhlbnRpY2F0aWV0b2tlbnMgb20gZ2VicnVpa2VycyBhdXRvbWF0aXNjaCBhYW4gdGUgbG9nZ2VuIGFhbnpldHRlbicsCiAgJ0VuYWJsZWQnID0+ICdpbmdlc2NoYWtlbGQnLAogICdFbmFibGVzIGF0dGFjaG1lbnRzLCByZWdhcmRsZXNzIG9mIGNoYW5uZWwnID0+ICdTY2hha2VsIGJpamxhZ2UgaW4sIG9uZ2VhY2h0IGhlcmtvbXN0JywKICAnRW5kJyA9PiAnRWluZGUnLAogICdFbmRVc2VyIGVtYWlsIGFkZHJlc3MgaXMgbm90IHZhbGlkISBDb25zaWRlciB1cGRhdGluZyBpdCBiZWZvcmUgcmVzcG9uZGluZycgPT4gJ0UtbWFpbGFkcmVzIGVpbmRnZWJydWlrZXIgaXMgbmlldCBnZWxkaWchIE92ZXJ3ZWVnIG9tIGhldCB0ZSB1cGRhdGVuIGFsdm9yZW5zIGVlbiByZWFjdGllIHRlIGdldmVuJywKICAnRW5kcyBXaXRoJyA9PiAnRWluZGlndCBtZXQnLAogICdFbnRlciBhIG5ldyBwYXNzd29yZCcgPT4gJ1ZvZXIgZWVuIG5pZXV3IHdhY2h0d29vcmQgaW4nLAogICdFbnRlciBhIG51bWJlcicgPT4gJ1ZvZXIgZWVuIG51bW1lciBpbicsCiAgJ0VudGVyIGEgcGhvbmUgbnVtYmVyIGZvciB0aGUgZXh0ZW5zaW9uJyA9PiAnVm9lciBlZW4gdGVsZWZvb25udW1tZXIgaW4gdm9vciBkZSBleHRlbnNpZScsCiAgJ0VudGVyIGEgdmFsaWQgSVAgYWRkcmVzcycgPT4gJ1ZvZXIgZWVuIGdlbGRpZyBJUC1hZHJlcyBpbicsCiAgJ0VudGVyIGEgdmFsaWQgZGF0ZScgPT4gJ0dlZWYgZWVuIGdlbGRpZ2UgZGF0dW0gb3AnLAogICdFbnRlciBhIHZhbGlkIGVtYWlsIGFkZHJlc3MnID0+ICdWb2VyIGVlbiBnZWxkaWcgZS1tYWlsYWRyZXMgaW4nLAogICdFbnRlciBhIHZhbGlkIGVtYWlsIGRvbWFpbiwgbGlrZSBkb21haW4uY29tJyA9PiAnVm9vciBlZW4gZ2VsZGlnIGUtbWFpbCBkb21laW4gaW4sIHpvYWxzIGRvbWVpbi5jb20nLAogICdFbnRlciBhIHZhbGlkIHBob25lIGV4dGVuc2lvbicgPT4gJ0dlZWYgZWVuIGdlbGRpZyB0ZWxlZm9vbi1leHRlbnNpZSBpbicsCiAgJ0VudGVyIGEgdmFsaWQgcGhvbmUgbnVtYmVyJyA9PiAnVm9lciBlZW4gZ2VsZGlnIHRlbGVmb29ubnVtbWVyIGluJywKICAnRW50ZXIgbG9jayB0aW1lIGluIG1pbnV0ZXMnID0+ICdWb2VyIGxvY2sgdGlqZCBpbiBtaW51dGVuIGluJywKICAnRW50ZXIgb25lIG5hbWUgYW5kIGFiYnJldmlhdGlvbiBwZXIgbGluZS4nID0+ICdWdWwgw6nDqW4gbmFhbSBlbiBhZmtvcnRpbmcgcGVyIGxpam4gaW4uJywKICAnRW50ZXIgb25lIG5hbWUgYW5kIGVtYWlsIGFkZHJlc3MgcGVyIGxpbmUuJyA9PiAnVm9lciBtYXhpbWFhbCAxIG5hYW0gZW4gZS1tYWlsYWRyZXMgcGVyIHJlZ2VsLicsCiAgJ0VudGVyIHRleHQgc2hvd24gb24gdGhlIGltYWdlJyA9PiAnVm9lciBkZSB0ZWtzdCBpbiBkaWUgd29yZHQgd2VlcmdlZ2V2ZW4gb3AgZGUgYWZiZWVsZGluZycsCiAgJ0VudGVyIHRoZSB0ZXh0IHNob3duIG9uIHRoZSBpbWFnZS4nID0+ICdWb2VyIGRlIHRla3N0IG9wIGRlIGFmYmVlbGRpbmcgaW4uJywKICAnRW50ZXIgdmFsaWQgbnVtZXJpYyB2YWx1ZScgPT4gJ1ZvZXIgZ2VsZGlnZSBudW1lcmlla2Ugd2FhcmRlIGluJywKICAnRW50ZXIgeW91ciB1c2VybmFtZSBvciBlbWFpbCBhZGRyZXNzIGFnYWluIGluIHRoZSBmb3JtIGJlbG93IGFuZCBwcmVzcyB0aGUgPHN0cm9uZz5Mb2dpbjwvc3Ryb25nPiB0byBhY2Nlc3MgeW91ciBhY2NvdW50IGFuZCByZXNldCB5b3VyIHBhc3N3b3JkLicgPT4gJ1ZvZXIgamUgZ2VicnVpa2Vyc25hYW0gb2YgZW1haWxhZHJlcyBvcG5pZXV3IGluIGluIGhldCBvbmRlcnN0YWFuZGUgZm9ybXVsaWVyIGVuIGtsaWsgb3AgPHN0cm9uZz5Mb2dpbjwvc3Ryb25nPiBvbSB0b2VnYW5nIHRlIGtyaWpnZW4gdG90IGplIGFjY291bnQgZW4gamUgd2FjaHR3b29yZCBvcG5pZXV3IGluIHRlIHN0ZWxsZW4uJywKICAnRW50ZXIgeW91ciB1c2VybmFtZSBvciBlbWFpbCBhZGRyZXNzIGJlbG93JyA9PiAnVnVsIGhpZXJvbmRlciB1dyBnZWJydWlrZXJzbmFhbSBvZiBlLW1haWwgaW4nLAogICdFbnRlciB5b3VyIHVzZXJuYW1lIG9yIGVtYWlsIGFkZHJlc3MgaW4gdGhlIGZvcm0gYmVsb3cgYW5kIHByZXNzIHRoZSA8c3Ryb25nPlNlbmQgRW1haWw8L3N0cm9uZz4gYnV0dG9uIHRvIGhhdmUgYSBwYXNzd29yZCByZXNldCBsaW5rIHNlbnQgdG8geW91ciBlbWFpbCBhY2NvdW50IG9uIGZpbGUuJyA9PiAnVm9lciBqZSBnZWJydWlrZXJzbmFhbSBvZiBlbWFpbGFkcmVzIGluIGluIGhldCBvbmRlcnN0YWFuZGUgZm9ybXVsaWVyIGVuIGtsaWsgb3AgZGUga25vcCA8c3Ryb25nPkVtYWlsIHZlcnplbmRlbjwvc3Ryb25nPiBvbSBlZW4gd2FjaHR3b29yZGhlcnN0ZWwgbGluayB0ZSB2ZXJzdHVyZW4gbmFhciBqZSBiaWogb25zIGJla2VuZGUgZW1haWxhY2NvdW50LicsCiAgJ0VudGVyZWQgZGF0ZSBzcGFuIGlzIGludmFsaWQuIFNlbGVjdGlvbiBpZ25vcmVkLicgPT4gJ0hldCBpbmdldm9lcmRlIHRpamRzdmxhayBpcyBvbmdlbGRpZy4gU2VsZWN0aWUgZ2VuZWdlZXJkLicsCiAgJ0VxdWFsJyA9PiAnR2VsaWprIGFhbicsCiAgJ0Vycm9yJyA9PiAnRm91dCcsCiAgJ0Vycm9yIGFjY2Vzc2luZyBTUUwgZmlsZSAlcycgPT4gJ0dlZW4gdG9lZ2FuZyB0b3QgU1FMIGJlc3RhbmQgJXMnLAogICdFcnJvciBhZGRpbmcgb3JnYW5pemF0aW9uJyA9PiAnVG9ldm9lZ2VuIG9yZ2FuaXNhdGllIG1pc2x1a3QnLAogICdFcnJvciBhZGRpbmcgdXNlcicgPT4gJ0dlYnJ1aWtlciB0b2V2b2VnZW4gbWlzbHVrdCcsCiAgJ0Vycm9yIGluc3RhbGxpbmcgb3NUaWNrZXQuJyA9PiAnRm91dCBiaWogZGUgaW5zdGFsbGF0aWUgdmFuIG9zVGlja2V0LicsCiAgJ0Vycm9yIG9jY3VycmVkLiAgQWJvcnRpbmcuLi4nID0+ICdFciB6aWpuIGZvdXRlbiBvcGdldHJlZGVuLi4uLiBBZmJyZWtlbi4uLi4nLAogICdFcnJvciBwYXJzaW5nIFNRTCBzY2hlbWEnID0+ICdGb3V0IGJpaiBoZXQgcGFyc2VuIHZhbiBTUUwgc2NoZW1hJywKICAnRXJyb3IgdXBkYXRpbmcgdGlja2V0IHN0YXR1cycgPT4gJ0ZvdXQgYmlqIGhldCB1cGRhdGVuIHZhbiBkZSB0aWNrZXQgc3RhdHVzJywKICAnRXJyb3JzJyA9PiAnRm91dGVuJywKICAnRXJyb3JzIGNvbmZpZ3VyaW5nIHlvdXIgcHJvZmlsZS4gU2VlIG1lc3NhZ2VzIGJlbG93JyA9PiAnRXIgeml0dGVuIGZvdXRlbiBpbiB1dyBwcm9maWVsLiBaaWUgYmVyaWNodGVuIGhpZXJvbmRlcicsCiAgJ0V2ZXJ5IG1pbnV0ZScgLiAiXDAiIC4gJ0V2ZXJ5ICVkIG1pbnV0ZXMnID0+ICdFbGtlIG1pbnV1dCcgLiAiXDAiIC4gJ0Vsa2UgJWQgbWludXRlbicsCiAgJ0V2ZXJ5IHBsdWdpbiBzaG91bGQgYmUgc28gZWFzeSB0byB1c2UuJyA9PiAnZWxrZSBwbHVnaW4gKHVpdGJyZWlkaW5nKSAgem91IHpvIGdlbWFra2VsaWprIHRlIGdlYnJ1aWtlbiBtb2V0ZW4gemlqbi4nLAogICdFeGNlc3NpdmUgZXJyb3JzIHByb2Nlc3NpbmcgZW1haWxzIGZvciAlMSRzLyUyJHMuIFBsZWFzZSBtYW51YWxseSBjaGVjayB0aGUgaW5ib3guJyA9PiAnQnVpdGVuc3BvcmlnZSB2ZXJ3ZXJraW5nIHZhbiBlLW1haWwgZm91dGVuIHZvb3IgJTEkcy8lMiRzLiBDb250cm9sZWVyIGhhbmRtYXRpZyBkZSBpbmJveC4nLAogICdFeGNlc3NpdmUgZmFpbGVkIGxvZ2luIGF0dGVtcHRzJyA9PiAnT3Zlcm1hdGlnIGFhbnRhbCBtaXNsdWt0ZSBwb2dpbmdlbiBvbSBpbiB0ZSBsb2dnZW4nLAogICdFeGNlc3NpdmUgbG9naW4gYXR0ZW1wdHMgKCVzKScgPT4gJ0J1aXRlbnNwb3JpZ2UgaW5sb2cgcG9naW5nZW4gKCVzKScsCiAgJ0V4Y2Vzc2l2ZSBsb2dpbiBhdHRlbXB0cyAodXNlciknID0+ICdCdWl0ZW5zcG9yaWdlIGlubG9nIHBvZ2luZ2VuICglcyknLAogICdFeGNlc3NpdmUgbG9naW4gYXR0ZW1wdHMgYnkgYSB1c2VyLicgPT4gJ0J1aXRlbnNwb3JpZ2UgbG9naW4gcG9naW5nZW4gZG9vciBlZW4gZ2VicnVpa2VyLicsCiAgJ0V4Y2Vzc2l2ZSBsb2dpbiBhdHRlbXB0cyBieSBhbiBhZ2VudD8nID0+ICdCdWl0ZW5zcG9yaWdlIGlubG9ncG9naW5nZW4gZG9vciBlZW4gbWVkZXdlcmtlcj8nLAogICdFeGVjdXRpb24gT3JkZXInID0+ICdWb2xnb3JkZSB2YW4gdWl0dm9lcmluZycsCiAgJ0V4cGFuZGFibGUgVmFyaWFibGVzJyA9PiAnVWl0YnJlaWRiYXJlIHZhcmlhYmVsZW4nLAogICdFeHBlY3RpbmcgTlVMTCBvciBpbnN0YW5jZSBvZiAlcy4gR290IGEgJXMgaW5zdGVhZCcgPT4gJ1ZlcndhY2h0IGVlbiBOVUxMIG9mIGluc3RhbnRpZSB2YW4gJXMuIFdlIGtyZWdlbiBlY2h0ZXIgJXMnLAogICdFeHBvcnQnID0+ICdFeHBvcnRlZXInLAogICdFeHQnID0+ICdFeHQnLAogICdFeHRlbmRlZCBBY2Nlc3MnID0+ICdVaXRnZWJyZWlkZSB0b2VnYW5nJywKICAnRXh0ZW5zaW9uJyA9PiAnVWl0YnJlaWRpbmcnLAogICdGLiBMYXN0JyA9PiAnVi4gQWNodGVybmFhbScsCiAgJ0ZBUScgPT4gJ0ZBUScsCiAgJ0ZBUSBDYXRlZ29yaWVzJyA9PiAnVmVlbCBnZXN0ZWxkZSB2cmFnZW46IENhdGVnb3JpZcOrbicsCiAgJ0ZBUSBhbnN3ZXIgaXMgcmVxdWlyZWQnID0+ICdGQVEgYW50d29vcmQgaXMgdmVyZWlzdCcsCiAgJ0ZBUSBhcnRpY2xlJyA9PiAnRkFRIGFydGlrZWwnLAogICdGQVEgY2F0ZWdvcnknID0+ICdGQVEgY2F0ZWdvcmllJywKICAnRkFRIGNhdGVnb3J5IHRoZSBxdWVzdGlvbiBiZWxvbmdzIHRvLicgPT4gJ2RlIEZBUWNhdGVnb3JpZSB3YWFyIGRlemUgdnJhYWcgYWFuIHRvZSBiZWhvb3J0LicsCiAgJ0ZBUXMnID0+ICdWZWVsIGdlc3RlbGRlIHZyYWdlbicsCiAgJ0ZUUCcgPT4gJ0ZUUCcsCiAgJ0ZhaWxlZCBhZ2VudCBsb2dpbiBhdHRlbXB0ICglcyknID0+ICdNaXNsdWt0ZSBhZ2VudCBsb2dpbiBwb2dpbmcgKCVzKScsCiAgJ0ZhaWxlZCBsb2dpbiBhdHRlbXB0ICh1c2VyKScgPT4gJ01pc2x1a3RlIGxvZ2luIHBvZ2luZyAoZ2VicnVpa2VyKScsCiAgJ0ZlYXR1cmVkJyA9PiAnQWFuYmV2b2xlbicsCiAgJ0ZlYXR1cmVkIChwcm9tb3RlIHRvIGZyb250IHBhZ2UpJyA9PiAnVWl0Z2VsaWNodCAodG9vbiBvcCBob21lcGFnZSknLAogICdGZWF0dXJlZCBLbm93bGVkZ2UgQmFzZSBBcnRpY2xlcycgPT4gJ0FhbmJldm9sZW4gS25vd2xlZGdlIEJhc2UtYXJ0aWtlbGVuJywKICAnRmVhdHVyZWQgUXVlc3Rpb25zJyA9PiAnVWl0Z2VsaWNodGUgdnJhZ2VuJywKICAnRmV0Y2ggRnJlcXVlbmN5JyA9PiAnT3BoYWFsIGZyZXF1ZW50aWUnLAogICdGZXRjaCBpbnRlcnZhbCByZXF1aXJlZCcgPT4gJ09waGFhbCBpbnRlcnZhbCB2ZXJlaXN0JywKICAnRmV0Y2ggb24gYXV0by1jcm9uJyA9PiAnRmV0Y2ggbWV0IGRlIHN5c3RlZW10YWFrcGxhbm5lciAoYXV0b2Nyb24pJywKICAnRmV0Y2hlZCBFbWFpbHMnID0+ICdPcGdlaGFhbGRlIEUtbWFpbHMnLAogICdGZXRjaGluZyBFbWFpbCB2aWEgSU1BUCBvciBQT1AnID0+ICdNYWlsIG9waGFsZW4gdmlhIElNQVAgb2YgUE9QJywKICAnRmV3ZXN0IGRpZ2l0cyBhbGxvd2VkIGluIGEgdmFsaWQgcGhvbmUgbnVtYmVyJyA9PiAnTWluaW1hYWwgYWFudGFsIGNpamZlcnMgdG9lZ2VsYXRlbiB2b29yIGVlbiBnZWxkaWcgdGVsZWZvb25udW1tZXInLAogICdGaWVsZCBDb25maWd1cmF0aW9uJyA9PiAnVmVsZCBjb25maWd1cmF0aWUnLAogICdGaWVsZCBTZXR1cCcgPT4gJ1ZlbGQgY29uZmlndXJhdGllJywKICAnRmllbGQgaGFzIHZhbGlkYXRpb24gZXJyb3JzJyA9PiAnRGl0IHZlbGQgaGVlZnQgdmFsaWRhdGllZm91dGVuJywKICAnRmllbGQgdmFyaWFibGUgbmFtZSBpcyBub3QgdW5pcXVlJyA9PiAnVmVsZG5hYW0gaXMgbmlldCB1bmllaycsCiAgJ0ZpZWxkcycgPT4gJ3ZlbGRlbicsCiAgJ0ZpZWxkcyBtYXJrZWQgZWRpdGFibGUgYWxsb3cgYWdlbnRzIGFuZCBlbmR1c2VycyB0byB1cGRhdGUgdGhlIGNvbnRlbnQgb2YgdGhpcyBmaWVsZCBhZnRlciB0aGUgZm9ybSBlbnRyeSBoYXMgYmVlbiBjcmVhdGVkLicgPT4gJ1ZlbGRlbiBkaWUgZ2VtYXJrZWVyZCB6aWpuIGFscyB3aWp6aWdiYWFyIHN0YWFuIGFnZW50ZW4gZW4gZWluZGdlYnJ1aWtlcnMgdG9lIG9tIGRlIGluaG91ZCB2YW4gZGl0IHZlbGQgYWFuIHRlIHBhc3NlbiBuYWRhdCBkZSBmb3JtdWxpZXJpbmdhdmUgZ2VjcmXDq2VyZCBpcy4nLAogICdGaWxlIEltcG9ydCBFcnJvcicgPT4gJ0Jlc3RhbmQgSW1wb3J0ZWVyIEZvdXQnLAogICdGaWxlIFVwbG9hZCcgPT4gJ0Jlc3RhbmQgdXBsb2FkZW4nLAogICdGaWxlIFVwbG9hZCBFcnJvcicgPT4gJ0ZvdXQgYmlqIGhldCB1cGxvYWRlbiB2YW4gYmVzdGFuZCcsCiAgJ0ZpbGUgaXMgdG9vIGxhcmdlJyA9PiAnSGV0IGJlc3RhbmQgaXMgdGUgZ3Jvb3QnLAogICdGaWxlIHNpemUgaXMgdG9vIGxhcmdlJyA9PiAnQmVzdGFuZCBpcyB0ZSBncm9vdCcsCiAgJ0ZpbGUgdHlwZSBpcyBub3QgYWxsb3dlZCcgPT4gJ0Jlc3RhbmRzdHlwZSBpcyBuaWV0IHRvZWdlc3RhYW4nLAogICdGaWxlbmFtZScgPT4gJ0Jlc3RhbmRzbmFhbScsCiAgJ0ZpbHRlcicgPT4gJ0ZpbHRlcicsCiAgJ0ZpbHRlciBBY3Rpb25zJyA9PiAnZmlsdGVyIGFjdGllcycsCiAgJ0ZpbHRlciBOYW1lJyA9PiAnRmlsdGVyIG5hYW0nLAogICdGaWx0ZXIgUnVsZXMnID0+ICdGaWx0ZXIgcmVnZWxzJywKICAnRmlsdGVyIFN0YXR1cycgPT4gJ0ZpbHRlciBTdGF0dXMnLAogICdGaWx0ZXJzIGFyZSBleGVjdXRlZCBiYXNlZCBvbiBleGVjdXRpb24gb3JkZXIuIEZpbHRlciBjYW4gdGFyZ2V0IHNwZWNpZmljIHRpY2tldCBzb3VyY2UuJyA9PiAnRmlsdGVycyB3b3JkZW4gdWl0Z2V2b2VyZCBvcCB1aXR2b2Vydm9sZ29yZGUuICcsCiAgJ0ZpcnN0JyA9PiAnRWVyc3QnLAogICdGaXJzdCBMLicgPT4gJ1Zvb3JuYWFtIEEuJywKICAnRmlyc3QgTGFzdCcgPT4gJ1Zvb3JuYWFtIGFjaHRlcm5hYW0nLAogICdGaXJzdCBNLiBMYXN0JyA9PiAnVm9vcm5hYW0gTS4gQWNodGVybmFhbScsCiAgJ0ZpcnN0IE5hbWUnID0+ICdWb29ybmFhbScsCiAgJ0ZpcnN0IG5hbWUgaXMgcmVxdWlyZWQnID0+ICdWb29ybmFhbSBpcyB2ZXJlaXN0JywKICAnRmlyc3QgbmFtZSByZXF1aXJlZCcgPT4gJ1Zvb3JuYWFtIHZlcnBsaWNodCcsCiAgJ0ZsYWdnZWQgYXMgb3ZlcmR1ZSBieSB0aGUgc3lzdGVtIHt0aW1lc3RhbXB9JyA9PiAnQWxzIGFjaHRlcnN0YWxsaWcgZ2VtYXJrZWVyZCBkb29yIGhldCBzeXN0ZWVtIHt0aW1lc3RhbXB9JywKICAnRm9yIEFnZW50cycgPT4gJ1Zvb3IgbWVkZXdlcmtlcnMnLAogICdGb3IgRW5kVXNlcnMnID0+ICdWb29yIGdlYnJ1aWtlcnMnLAogICdGb3IgRW5kVXNlcnMgT25seScgPT4gJ0FsbGVlbiB2b29yIGVpbmRnZWJydWlrZXJzJywKICAnRm9yIGNvbXBsZXRlIGFuZCB1cHRvIGRhdGUgZ3VpZGUgc2VlICUxJHMgb3NUaWNrZXQgd2lraSAlMiRzJyA9PiAnVm9vciBlZW4gY29tcGxlZXQgYmlqZ2V3ZXJrdGUgZ2lkcywga2lqa3QgdSBvcCBkZSAlMSRzIG9zVGlja2V0IFdpa2ktcGFnaW5hICUyJHMnLAogICdGb3IgZGV0YWlscyAtIHBsZWFzZSB2aWV3ICVzIG9yIGNoZWNrIHlvdXIgZW1haWwuJyA9PiAnVm9vciBkZXRhaWxzIGJla2lqayBhLnUuYi4gJXMgb2YgY2hlY2sgdXcgZS1tYWlsLicsCiAgJ0ZvcmdvdCBNeSBQYXNzd29yZCcgPT4gJ0lrIGJlbiBtaWpuIHdhY2h0d29vcmQgdmVyZ2V0ZW4nLAogICdGb3Jnb3QgeW91ciBsb2dpbiBpbmZvPyBDb250YWN0IEFkbWluLicgPT4gJ1V3IGlubG9nIGluZm8gdmVyZ2V0ZW4/IENvbnRhY3RlZXIgZGUgQWRtaW4uJywKICAnRm9ybSBGaWVsZHMnID0+ICdGb3JtdWxpZXJ2ZWxkZW4nLAogICdGb3JtYXQnID0+ICdGb3JtYWF0JywKICAnRm9ybXMnID0+ICdGb3JtdWxpZXJlbicsCiAgJ0Zvcm1zIGFyZSB1c2VkIHRvIGFsbG93IGZvciBjb2xsZWN0aW9uIG9mIGN1c3RvbSBkYXRhJyA9PiAnRm9ybXVsaWVyZW4gd29yZGVuIGdlYnJ1aWt0IG9tIHRlIHpvcmdlbiB2b29yIGluemFtZWxpbmcgdmFuIGFhbmdlcGFzdGUgZ2VnZXZlbnMnLAogICdGcmVlIHRleHQgc2hvd24gaW4gdGhlIGZvcm0sIHN1Y2ggYXMgYSBkaXNjbGFpbWVyJyA9PiAnVmFyaWFiZWxlIHRla3N0LCB3ZWVyZ2VnZXZlbiBpbiBoZXQgZm9ybXVsaWVyLCB6b2FscyBiaWp2LiBlZW4gbm90aXRpZScsCiAgJ0ZyZXF1ZW50bHkgQXNrZWQgUXVlc3Rpb25zJyA9PiAnVmVlbCBnZXN0ZWxkZSB2cmFnZW4nLAogICdGcm9tJyA9PiAnVmFuJywKICAnRnJvbSBFbWFpbCcgPT4gJ1ZhbiBFLW1haWwnLAogICdGcm9tIG5hbWUgdG8gdXNlIHdoZW4gcmVwbHlpbmcgdG8gYSB0aHJlYWQnID0+ICdUZSBnZWJydWlrZW4gVmFuIG5hYW0gYmlqIGJlYW50d29vcmRlbiB2YW4gZWVuIGNvbnZlcnNhdGllJywKICAnRnVsbCBOYW1lJyA9PiAnVm9sbGVkaWdlIG5hYW0nLAogICdHZW5lcmFsIElucXVpcnknID0+ICdBbGdlbWVuZSB2cmFhZycsCiAgJ0dlbmVyYWwgU2V0dGluZ3MnID0+ICdBbGdlbWVuZSBpbnN0ZWxsaW5nZW4nLAogICdHZXQgUHJvZmVzc2lvbmFsIEhlbHAnID0+ICdPbnR2YW5nIHByb2Zlc3Npb25lbGUgaHVscCcsCiAgJ0dldCB0ZWNobmljYWwgaGVscCEnID0+ICdLcmlqZyB0ZWNobmlzY2hlIGh1bHAhJywKICAnR2V0dGluZyByZWFkeSEnID0+ICdXZWVzIGJlcmVpZCEnLAogICdHbG9iYWwgZGVmYXVsdCB0YXNrIHNldHRpbmdzIGFuZCBvcHRpb25zLicgPT4gJ0dsb2JhbGUgc3RhbmRhYXJkIHRhYWsgaW5zdGVsbGluZ2VuIGVuIG9wdGllcy4nLAogICdHbG9iYWwgc2V0dGluZyAtIGNhbiBiZSBkaXNhYmxlZCBhdCBkZXBhcnRtZW50IG9yIGVtYWlsIGxldmVsLicgPT4gJ0dsb2JhbGUgaW5zdGVsbGluZyAtIGthbiB1aXRnZXNjaGFrZWxkIHdvcmRlbiBvcCBhZmRlbGluZ3MtIG9mIGVtYWlsLW5pdmVhdS4nLAogICdHbyEnID0+ICdHYSEnLAogICdHb29kIGx1Y2suJyA9PiAnVmVlbCBzdWNjZXMhJywKICAnR3JhY2UgUGVyaW9kJyA9PiAnUmVzcG9uc3RpamQnLAogICdHcmFjZSBQZXJpb2QgKGhycyknID0+ICdSZXNwb25zIHRpamQgKHV1ciknLAogICdHcmFjZSBwZXJpb2QgcmVxdWlyZWQnID0+ICdBZmxvc3NpbmdzdnJpamUgcGVyaW9kZSB2ZXJlaXN0JywKICAnR3JlYXRlciBUaGFuJyA9PiAnTWVlciBkYW4nLAogICdHdWVzdCcgPT4gJ0dhc3QnLAogICdHdWVzdCBUaWNrZXQgQWNjZXNzJyA9PiAnR2FzdCBUaWNrZXQgdG9lZ2FuZycsCiAgJ0d1ZXN0IFVzZXInID0+ICdHYXN0JywKICAnSFRNTCcgPT4gJ0hUTUwnLAogICdIYXZlIGFuIGFjY291bnQgd2l0aCB1cz8nID0+ICdIZWVmdCB1IGVlbiBhY2NvdW50IGJpaiBvbnM/JywKICAnSGVhZGVyIFNwb29maW5nJyA9PiAnRW1haWwgSGVhZGVyIFNwb29maW5nJywKICAnSGVpZ2h0JyA9PiAnSG9vZ3RlJywKICAnSGVscCBUZXh0JyA9PiAnSGVscCB0ZWtzdCcsCiAgJ0hlbHAgVG9waWMnID0+ICdIZWxwIG9uZGVyd2VycGVuJywKICAnSGVscCBUb3BpYyBJbmZvcm1hdGlvbicgPT4gJ0hlbHAtb25kZXJ3ZXJwIGluZm9ybWF0aWUnLAogICdIZWxwIFRvcGljcycgPT4gJ0hlbHAgb25kZXJ3ZXJwZW4nLAogICdIZWxwIHRleHQgc2hvd24gd2l0aCB0aGUgZmllbGQnID0+ICdIZWxwIHRla3N0IHdlZXJnZWdldmVuIG1ldCBoZXQgdmVsZCcsCiAgJ0hlbHAgdG9waWMnID0+ICdIZWxwIG9uZGVyd2VycCcsCiAgJ0hlbHAgdG9waWMgZnVsbCBwYXRoJyA9PiAnVm9sbGVkaWcgcGFkIG5hYXIgaGV0IGhlbHAtaXRlbScsCiAgJ0hlbHAgdG9waWMgbmFtZSBpcyByZXF1aXJlZCcgPT4gJ0hlbHAgb25kZXJ3ZXJwIG5hYW0gaXMgdmVyZWlzdCcsCiAgJ0hlbHAgdG9waWMgc2VsZWN0aW9uIGlzIHJlcXVpcmVkJyA9PiAnU2VsZWN0aWUgdmFuIEhlbHAtb25kZXJ3ZXJwIGlzIHZlcmVpc3QnLAogICdIZWxwZGVzayBOYW1lJyA9PiAnSGVscGRlc2sgbmFhbScsCiAgJ0hlbHBkZXNrIE5hbWUvVGl0bGUnID0+ICdIZWxwZGVzayBuYWFtL3RpdGVsJywKICAnSGVscGRlc2sgU3RhdHVzJyA9PiAnSGVscGRlc2sgU3RhdHVzJywKICAnSGVscGRlc2sgVVJMJyA9PiAnSGVscGRlc2sgVVJMJywKICAnSGVscGRlc2sgVVJMIGlzIHJlcXVpcmVkJyA9PiAnSGVscGRlc2sgVVJMIGlzIHZlcmVpc3QnLAogICdIZWxwZGVzayBzb2Z0d2FyZSAtIHBvd2VyZWQgYnkgb3NUaWNrZXQnID0+ICdIZWxwZGVzayBzb2Z0d2FyZSAtIHBvd2VyZWQgYnkgb3NUaWNrZXQnLAogICdIZWxwZGVzayB0aXRsZSBpcyByZXF1aXJlZCcgPT4gJ0hlbHBkZXNrIHRpdGVsIGlzIHZlcmVpc3QnLAogICdIZXJlIHlvdSBjYW4gbWFuYWdlIHRoZSBxdWVzdGlvbiBhbmQgYW5zd2VyIGZvciB0aGUgYXJ0aWNsZS4gTXVsdGlwbGUgbGFuZ3VhZ2VzIGFyZSBhdmFpbGFibGUgaWYgZW5hYmxlZCBpbiB0aGUgYWRtaW4gcGFuZWwuJyA9PiAnSGllciBrdW4gamUgZGUgdnJhYWcgZW4gaGV0IGFudHdvb3JkIHZhbiBkaXQgYXJ0aWtlbCBvbmRlcmhvdWRlbi4gRXIgemlqbiBtZWVyZGVyZSB0YWxlbiBtb2dlbGlqaywgYWxzIGRpdCBhYW4gc3RhYXQgaW4gaGV0IGFkbWluaXN0cmF0aWUtcGFuZWVsLicsCiAgJ0hpZGRlbicgPT4gJ1ZlcmJvcmdlbicsCiAgJ0hpZGUgYWdlbnRcJ3MgbmFtZSBvbiByZXNwb25zZXMuJyA9PiAnVmVyYmVyZyBkZSBuYWFtIHZhbiBlZW4gYWdlbnQgYmlqIHJlYWN0aWVzLicsCiAgJ0hpZ2hseSByZWNvbW1lbmRlZCBmb3Igbm9uIHdlc3Rlcm4gZXVyb3BlYW4gbGFuZ3VhZ2UgY29udGVudCcgPT4gJ0hvb2dzdCBhYW5iZXZvbGVuIGJpaiBuaWV0IHdlc3RldXJvcGVzZSB0YWFsaW5ob3VkJywKICAnSGlnaGx5IHJlY29tbWVuZGVkIGZvciBwbHVnaW5zIGFuZCBsYW5ndWFnZSBwYWNrcycgPT4gJ0hvb2dzdCBhYW5iZXZvbGVuIHZvb3IgcGx1Z2lucyBlbiB0YWFscGFra2V0dGVuJywKICAnSG9zdCcgPT4gJ0hvc3QnLAogICdIb3N0IG5hbWUgcmVxdWlyZWQnID0+ICdIb3N0bmFhbSB2ZXJlaXN0JywKICAnSG9zdC91c2VyaWQgY29tYmluYXRpb24gYWxyZWFkeSBpbiB1c2UuJyA9PiAnRGUgY29tYmluYXRpZSB2YW4gaG9zdC9nZWJydWlrZXJzLWlkIGlzIGFsIGluIGdlYnJ1aWsuJywKICAnSG9zdG5hbWUnID0+ICdTZXJ2ZXJuYWFtJywKICAnSHVtYW4gVmVyaWZpY2F0aW9uJyA9PiAnTWVuc2VsaWprZSB2ZXJpZmljYXRpZScsCiAgJ0lcJ2QgbGlrZSB0byByZWNlaXZlIHRoZSBmb2xsb3dpbmcgbm90aWZpY2F0aW9ucycgPT4gJ0lrIHpvdSBoZXQgZmlqbiB2aW5kZW4gZGUgdm9sZ2VuZGUgbWVsZGluZ2VuIHRlIG9udHZhbmdlbicsCiAgJ0lcJ20gYW4gYWdlbnQnID0+ICdJayBiZW4gZWVuIG1lZGV3ZXJrZXInLAogICdJTUFQIGRvZXNuXCd0IGV4aXN0LiBQSFAgbXVzdCBiZSBjb21waWxlZCB3aXRoIElNQVAgZW5hYmxlZC4nID0+ICdJTUFQIGJlc3RhYXQgbmlldC4gUEhQIG1vZXQgd29yZGVuIGdlY29tcGlsZWVyZCBtZXQgSU1BUCBhY3RpZWYuJywKICAnSVAnID0+ICdJUCcsCiAgJ0lQIEFkZHJlc3MnID0+ICdJUC1hZHJlcycsCiAgJ0lQIGFkZHJlc3Mgb2YgcmVtb3RlIHVzZXIsIGZvciB3ZWIgc3VibWlzc2lvbnMnID0+ICdJcC1hZHJlcyB2b29yIGV4dGVybmUgZ2VicnVpa2VyLCBpdm0gd2ViLWluemVuZGluZ2VuJywKICAnSWYgc2FtcGxlIGNvbmZpZyBmaWxlIGlzIG1pc3NpbmcgLSBwbGVhc2UgbWFrZSBzdXJlIHlvdSB1cGxvYWRlZCBhbGwgZmlsZXMgaW4gXCd1cGxvYWRcJyBmb2xkZXIgb3IgcmVmZXIgdG8gdGhlICUxJHMgSW5zdGFsbGF0aW9uIEd1aWRlICUyJHMnID0+ICdBbHMgZGUgc2FtcGxlLWNvbmZpZ2ZpbGUgKGluaXRpZWVsIGNvbmZpZ3VyYXRpZWJlc3RhbmQpIG5pZXQgYWFud2V6aWcgaXMgZGllbnQgdSB6aWNoIGVydmFuIHRlIGdld2lzc2VuIGRhdCB1IGFsbGUgYmVzdGFuZGVuIHVpdCBkZSB1cGxvYWRtYXAgaGVlZnQgZ2V1cGxvYWQgZW4gZGllbnQgdSBob29ndGUgdGUgbmVtZW4gdmFuIGRlICUxJHMgSW5zdGFsbGF0aW9uIEd1aWRlICUyJHMnLAogICdJZiB0aGlzIGlzIHlvdXIgZmlyc3QgdGltZSBjb250YWN0aW5nIHVzIG9yIHlvdVwndmUgbG9zdCB0aGUgdGlja2V0IG51bWJlciwgcGxlYXNlICVzIG9wZW4gYSBuZXcgdGlja2V0ICVzJyA9PiAnQWxzIGRpdCB1dyBlZXJzdGUgY29udGFjdCBpcyBtZXQgb25zIG9mIHUgd2VldCB1dyB0aWNrZXRudW1tZXIgbmlldCBtZWVyLCBtYWFrdCB1IGRhbiBhbHN0dWJsaWVmdCAlcyBlZW4gbmlldXcgdGlja2V0ICAlcycsCiAgJ0lmIHlvdSBhcmUgbG9va2luZyBmb3IgYSBncmVhdGVyIGxldmVsIG9mIHN1cHBvcnQsIHdlIHByb3ZpZGUgPHU+cHJvZmVzc2lvbmFsIGluc3RhbGxhdGlvbiBzZXJ2aWNlczwvdT4gYW5kIGNvbW1lcmNpYWwgc3VwcG9ydCB3aXRoIGd1YXJhbnRlZWQgcmVzcG9uc2UgdGltZXMsIGFuZCBhY2Nlc3MgdG8gdGhlIGNvcmUgZGV2ZWxvcG1lbnQgdGVhbS4gV2UgY2FuIGFsc28gaGVscCBjdXN0b21pemUgb3NUaWNrZXQgb3IgZXZlbiBhZGQgbmV3IGZlYXR1cmVzIHRvIHRoZSBzeXN0ZW0gdG8gbWVldCB5b3VyIHVuaXF1ZSBuZWVkcy4nID0+ICdBbHMgdSBvcHpvZWsgYmVudCBuYWFyIGVlbiBob2dlciBuaXZlYXUgdmFuIG9uZGVyc3RldW5pbmcgbWV0IGdlZ2FyYW5kZWVyZGUgcmVhY3RpZXRpamRlbiBlbiB0b2VnYW5nIG90IG9uemUgb250d2lra2VsYWFycyBkYW4ga3VubmVuIHdpaiB1IGRhdCBiaWVkZW4uIFdlIGt1bm5lbiB1IG9vayBoZWxwZW4gb3NUaWNrZXQgZ2VoYWFsIG5hYXIgdXcgd2Vuc2VuIGFhbiB0ZSBwYXNzZW4gb2YgemVsZnMgbmlldXdlIG1vZ2VsaWpraGVkZW4gdG9ldm9lZ2VuIG9tIHRlIHZvbGRvZW4gYWFuIHV3IHNwZWNpZmlla2Ugd2Vuc2VuLicsCiAgJ0lmIHlvdSBiZWxpZXZlIHRoaXMgaXMgaW4gZXJyb3IsIHBsZWFzZSB0cnkgcmVwbGFjaW5nIHRoZSBjb25maWcgZmlsZSB3aXRoIGEgdW5jaGFuZ2VkIHRlbXBsYXRlIGNvcHkgYW5kIHRyeSBhZ2FpbiBvciBnZXQgdGVjaG5pY2FsIGhlbHAuJyA9PiAnQWxzIHUgZGVua3QgZGF0IGRpdCBlZW4gZm91dCBpcywga29waWVlcnQgdSBlZW4gc3RhbmRhYXJkIGluc3RlbGxpbmdlbmJlc3RhbmQgb3ZlciBkZSBvdWRlIGhlZW4gZW4gcHJvYmVlcnQgdSBvcG5pZXV3LCBhbmRlcnMgc2NoYWtlbHQgdSB1dyBzeXN0ZWVtYmVoZWVyZGVyIGluLicsCiAgJ0lmIHlvdSBleHBlcmllbmNlIGFueSBwcm9ibGVtcywgeW91IGNhbiBhbHdheXMgcmVzdG9yZSB5b3VyIGZpbGVzL2RhdGFiYXNlIGJhY2t1cC4nID0+ICdBTHMgdSBlbmlnZSBwcm9ibGVtZW4gb25kZXJ2aW5kdCwga3VudCB1IHRlbiBhbGxlIHRpamRlbiB1dyBiYWNrdXAgXCdyZXN0b3JlblwnLicsCiAgJ0ltYWdlIGlzIHRvbyBzcXVhcmUuIFVwbG9hZCBhIHdpZGVyIGltYWdlJyA9PiAnQWZiZWVsZGluZyBpcyB0ZSB2aWVya2FudC4gVXBsb2FkIGVlbiBncm90ZXJlIGFmYmVlbGRpbmcuJywKICAnSW1tdXRhYmxlJyA9PiAnTmlldCB0ZSB3aWp6aWdlbicsCiAgJ0ltcG9ydCcgPT4gJ0ltcG9ydGVlcicsCiAgJ0ltcG9ydCBJdGVtcycgPT4gJ0ltcG9ydGVlciBnZWdldmVucycsCiAgJ0ltcG9ydCBSZW1vdGUgVXNlcicgPT4gJ0V4dGVybmUgZ2VicnVpa2VycyBpbXBvcnRlcmVuJywKICAnSW1wb3J0IFVzZXJzJyA9PiAnSW1wb3J0ZWVyIGdlYnJ1aWtlcnMnLAogICdJbXBvcnQgYSBDU1YgRmlsZScgPT4gJ0ltcG9ydGVlciBlZW4gY3N2LWJlc3RhbmQnLAogICdJbXByb3ZlcyBvdmVyYWxsIHBlcmZvcm1hbmNlJyA9PiAnVmVyYmV0ZXJ0IGRlIGFsZ2VoZWxlIHByZXN0YXRpZXMnLAogICdJbXByb3ZlcyBwZXJmb3JtYW5jZSBjcmVhdGluZyBhbmQgcHJvY2Vzc2luZyBKU09OJyA9PiAnQmV2b3JkZXJ0IGRlIHByZXN0YXRpZXMgYmlqIGhldCBjcmVlcmVuIGVuIHZlcndlcmtlbiB2YW4gSlNPTicsCiAgJ0luIG9yZGVyIHRvIHVwZ3JhZGUgdG8gdGhpcyB2ZXJzaW9uIG9mIG9zVGlja2V0LCBhIGRhdGFiYXNlIG1pZ3JhdGlvbiBpcyByZXF1aXJlZC4gVGhpcyB1cGdyYWRlciB3aWxsIGF1dG9tYXRpY2FsbHkgYXBwbHkgdGhlIGRhdGFiYXNlIHBhdGNoZXMgc2hpcHBlZCB3aXRoIG9zVGlja2V0IHNpbmNlIHlvdXIgbGFzdCB1cGdyYWRlLicgPT4gJ09tIGRlemUgdmVyc2llIHZhbiBvc1RpY2tldCB0ZSB1cGdyYWRlbiwgZGllbmVuIHdlIGVlcnN0IGRlIGRhdGFiYXNlIHRlIG1pZ3JlcmVuLiBEaXQgdXBkYXRlcHJvZ3JhbW1hIHphbCBkZXplIG1pZ3JhdGllIGVuIGFsbGUgdXBkYXRlcyB1aXR2b2VyZW4gZGllIHNpbmRzIHV3IGxhYXRzdGUgdXBkYXRlIHppam4gdWl0Z2VicmFjaHQuJywKICAnSW4gdGhlIGRhdGFiYXNlJyA9PiAnSW4gZGUgZGF0YWJhc2UnLAogICdJbi1Vc2UnID0+ICdJbiBnZWJydWlrJywKICAnSW4tdXNlIHRlbXBsYXRlIHNldCBjYW5ub3QgYmUgZGlzYWJsZWQhJyA9PiAnRGUgYWN0aWV2ZSB0ZW1wbGF0ZXNldCBrYW4gbmlldCB3b3JkZW4gdWl0Z2VzY2hha2VsZCEnLAogICdJbmNvbWluZyBFbWFpbHMnID0+ICdJbmtvbWVuZGUgZS1tYWlsJywKICAnSW5jb21pbmcgbWVzc2FnZScgPT4gJ09udHZhbmdlbiBiZXJpY2h0JywKICAnSW5jb21wbGV0ZSBjbGllbnQgaW5mb3JtYXRpb24nID0+ICdPbnZvbGxlZGlnZSBjbGllbnRnZWdldmVucycsCiAgJ0luY29tcGxldGUgc2VsZWN0aW9uJyA9PiAnT252b2xsZWRpZ2Ugc2VsZWN0aWUnLAogICdJbmNyZW1lbnQnID0+ICdzdGFwZ3Jvb3R0ZScsCiAgJ0luZGljYXRlIHRpY2tldCBzb3VyY2UnID0+ICdUaWNrZXQgYnJvbiB3ZWVyZ2V2ZW4nLAogICdJbmRpY2F0ZSB3aGF0IHRvIGRvIHdpdGggZmV0Y2hlZCBlbWFpbHMnID0+ICdBYW5nZXZlbiB3YXQgdGUgZG9lbiBtZXQgb3BnZWhhYWxkZSBlLW1haWxzJywKICAnSW5mb3JtYXRpb24nID0+ICdJbmZvcm1hdGllJywKICAnSW5oZXJpdCBmcm9tIHBhcmVudCcgPT4gJ092ZXJnZW5vbWVuIHZhbiBib3ZlbmxpZ2dlbmRlJywKICAnSW5oZXJpdCBzb3J0aW5nIGZyb20gdGhlIHBhcmVudCBxdWV1ZScgPT4gJ1ZvbGdvcmRlIG92ZXJuZW1lbiB2YW4gYm92ZW5saWdnZW5kZSB3YWNodHJpaicsCiAgJ0luaGVyaXRlZCBDcml0ZXJpYScgPT4gJ092ZXJnZW5vbWVuIGNyaXRlcmlhJywKICAnSW5pdGlhbCByZXNwb25zZSBmb3IgdGhlIHRpY2tldCcgPT4gJ0luaXRpZWxlIHJlYWN0aWUgdm9vciBoZXQgdGlja2V0JywKICAnSW5zdGFsbCcgPT4gJ0luc3RhbGxlcmVuJywKICAnSW5zdGFsbCBOb3cnID0+ICdJbnN0YWxsZWVyIG51JywKICAnSW5zdGFsbCBhIG5ldyBwbHVnaW4nID0+ICdJbnN0YWxsZWVyIGVlbiBuaWV1d2UgcGx1Z2luICh1aXRicmVpZGluZyknLAogICdJbnN0YWxsYXRpb24gR3VpZGUnID0+ICdJbnN0YWxsYXRpZWhhbmRsZWlkaW5nJywKICAnSW5zdGFsbGVkIExhbmd1YWdlIFBhY2tzJyA9PiAnR2VpbnN0YWxsZWVyZGUgdGFhbHBha2tldHRlbicsCiAgJ0luc3RhbGxpbmcgb3NUaWNrZXQgJXMnID0+ICdCZXppZyBtZXQgaW5zdGFsbGVyZW4gb3NUaWNrZXQgJXMnLAogICdJbnN0cnVjdGlvbnMnID0+ICdJbnN0cnVjdGllcycsCiAgJ0ludGVybmFsJyA9PiAnSW50ZXJuJywKICAnSW50ZXJuYWwgQWN0aXZpdHkgQWxlcnQnID0+ICdCZXJpY2h0Z2V2aW5nIGJpaiBpbnRlcm5lIGFjdGl2aXRlaXQnLAogICdJbnRlcm5hbCBOb3RlJyA9PiAnSW50ZXJuZSBub3RpdGllJywKICAnSW50ZXJuYWwgTm90ZSBkZXRhaWxzJyA9PiAnRGV0YWlscyB2YW4gaW50ZXJuZSBub3RhXCdzJywKICAnSW50ZXJuYWwgTm90ZXMnID0+ICdJbnRlcm5lIG5vdGl0aWVzJywKICAnSW50ZXJuYWwgZXJyb3Igb2NjdXJyZWQnID0+ICdJbnRlcm5lIGZvdXQgb3BnZXRyZWRlbicsCiAgJ0ludGVybmFsIGxpc3QgZm9yIGVtYWlsIGJhbm5pbmcuIERvIG5vdCByZW1vdmUnID0+ICdJbnRlcm5lIGxpanN0IG9tIGUtbWFpbGFkcmVzc2VuIHRlIGJsb2trZXJlbi4gVmVyd2lqZGVyIGRlemUgbmlldCcsCiAgJ0ludGVybmFsIG5vdGUgPGVtPihleHBhbmRhYmxlKTwvZW0+JyA9PiAnSW50ZXJuZSBOb3RpdGllIDxlbT4odWl0YnJlaWRiYWFyKTwvZW0+JywKICAnSW50ZXJuYWwgbm90ZSBwb3N0ZWQgc3VjY2Vzc2Z1bGx5JyA9PiAnSW50ZXJuZSBub3RpdGllIHN1Y2Nlc3ZvbCBvcGdlc2xhZ2VuJywKICAnSW50ZXJuYWwgbm90ZXMgdmlld2FibGUgYnkgYWxsIGFkbWlucy4nID0+ICdJbnRlcm5lIG5vdGl0aWVzIHppY2h0YmFhciB2b29yIGFsbGUgYWRtaW5pc3RyYXRvcnMuJywKICAnSW50ZXJuYWwsIE9wdGlvbmFsJyA9PiAnSW50ZXJuLCBvcHRpb25lZWwnLAogICdJbnRlcm5hbCwgUmVxdWlyZWQnID0+ICdJbnRlcm4sIHZlcmVpc3QnLAogICdJbnRlcnByZXRlZCBhcyAlcycgPT4gJ0dlw69udGVycHJldGVlcmQgYWxzICVzJywKICAnSW52YWxpZCcgPT4gJ29uZ2VsZGlnJywKICAnSW52YWxpZCBDU1JGIFRva2VuJyA9PiAnT25nZWxkaWdlIENTUkYgVG9rZW4nLAogICdJbnZhbGlkIENTUkYgdG9rZW4gWyUxJHNdIG9uICUyJHMnID0+ICdPbmdlbGRpZ2UgQ1NSRiB0b2tlbiBbJTEkc10gb3AgJTIkcycsCiAgJ0ludmFsaWQgYWN0aW9uJyA9PiAnT25qdWlzdGUgYWN0aWUnLAogICdJbnZhbGlkIGNoYXJhY3RlciBpbiB2YXJpYWJsZSBuYW1lLiBQbGVhc2UgdXNlIGxldHRlcnMgYW5kIG51bWJlcnMgb25seS4nID0+ICdPbmdlbGRpZyB0ZWtlbiBpbiB2YXJpYWJlbGUuIEdlYnJ1aWsgYWxsZWVuIGxldHRlcnMgZW4gY2lqZmVycy4nLAogICdJbnZhbGlkIGNoZWNrIGZ1bmN0aW9uOiBNdXN0IGJlIGNhbGxhYmxlJyA9PiAnT25nZWxkaWdlIGNoZWNrIGZ1bmN0aWU6IE1vZXQgb3Byb2VwYmFhciB6aWpuJywKICAnSW52YWxpZCBjdXJyZW50IHBhc3N3b3JkIScgPT4gJ09uZ2VsZGlnZSB3YWNodHdvb3JkIScsCiAgJ0ludmFsaWQgZGF0YWJhc2UgcG9ydCBudW1iZXInID0+ICdPbmdlbGRpZyBkYXRhYmFzZSBwb29ydG51bW1lcicsCiAgJ0ludmFsaWQgZGF0ZSBmb3JtYXQgLSBtdXN0IGJlIE1NL0REL1lZJyA9PiAnT25nZWxkaWdlIGRhdHVtIGZvcm1hYXQgLSAgbW9ldCBNTS9ERC9KSiB3b3JkZW4nLAogICdJbnZhbGlkIGR1ZSBkYXRlJyA9PiAnT25nZWxkaWdlIHZlcnZhbGRhdHVtJywKICAnSW52YWxpZCBlbWFpbCBvciB0aWNrZXQgbnVtYmVyJyA9PiAnT25nZWxkaWcgZS1tYWlsYWRyZXMgb2YgdGlja2V0IG51bW1lcicsCiAgJ0ludmFsaWQgaW1hZ2UgZmlsZSB0eXBlJyA9PiAnT25nZWxkaWcgYWZiZWVsZGluZ3N0eXBlJywKICAnSW52YWxpZCBpbnB1dCcgPT4gJ09uZ2VsZGlnZSBpbnZvZXInLAogICdJbnZhbGlkIGxvZ2luJyA9PiAnT25nZWxkaWdlIGdlYnJ1aWtlcnNuYWFtJywKICAnSW52YWxpZCBsb2dpbi4gQ2hlY2sgJXMgc2V0dGluZ3MnID0+ICdPbmdlbGRpZ2UgbG9naW4uICVzIGluc3RlbGxuaWdlbiBjb250cm9sZXJlbicsCiAgJ0ludmFsaWQgbWF0Y2ggc2VsZWN0aW9uJyA9PiAnT25nZWxkaWdlIHNlbGVjdGllJywKICAnSW52YWxpZCBtYXRjaCB0eXBlIHNlbGVjdGlvbicgPT4gJ09uZ2VsZGlnZSBtYXRjaCB0eXBlIHNlbGVjdGllJywKICAnSW52YWxpZCBvYmplY3Q6ICVzOiBFeHBlY3RlZCBjbGFzcycgPT4gJ09uZ2VsZGlnIG9iamVjdDogJXM6IHZlcndhY2h0ZSBrbGFzc2UnLAogICdJbnZhbGlkIG9yIG1pc3NpbmcgaW5mb3JtYXRpb24nID0+ICdPbmdlbGRpZ2Ugb2Ygb250YnJla2VuZGUgZ2VnZXZlbnMnLAogICdJbnZhbGlkIG9yIHVua25vd24gYXJjaGl2ZSBmb2xkZXIhJyA9PiAnT25nZWxkaWcgb2Ygb25iZWtlbmRlIGFyY2hpZWYgbWFwIScsCiAgJ0ludmFsaWQgb3IgdW5rbm93biBtYWlsIGZvbGRlciEgPj4gJXMnID0+ICdPbmdlbGRpZyBvciBvbmJla2VuZGUgbWFpbCBtYXAhPj4gJXMnLAogICdJbnZhbGlkIHJlc2V0IHRva2VuJyA9PiAnT25nZWxkaWdlIHJlc2V0IHRva2VuJywKICAnSW52YWxpZCByZXNldCB0b2tlbi4gTG9nb3V0IGFuZCB0cnkgYWdhaW4nID0+ICdPbmdlbGRpZ2UgcmVzZXQgdG9rZW4uIExvZyB1aXQgZW4gcHJvYmVlciBoZXQgb3BuaWV1dycsCiAgJ0ludmFsaWQgc291cmNlIGdpdmVuIC0gJXMnID0+ICdPbmdlbGRpZ2UgYnJvbiBvcGdlZ2V2ZW4gLSAlcycsCiAgJ0ludmFsaWQgdGVtcGxhdGUgc2V0IHNwZWNpZmllZCcgPT4gJ09uZ2VsZGlnZSBzamFibG9vbiBnZWtvemVuJywKICAnSW52YWxpZCB0aWNrZXQgb3JpZ2luIGdpdmVuJyA9PiAnT25nZWxkaWdlIG9vcnNwcm9uZyB2YW4gdGlja2V0IG9wZ2VnZXZlbicsCiAgJ0ludmFsaWQgdXNlci1pZCcgPT4gJ09uZ2VsZGlnZSBnZWJydWlrZXJzLWlkJywKICAnSW52YWxpZCB1c2VyLWlkIGdpdmVuJyA9PiAnT25nZWxkaWdlIGdlYnJ1aWtlci1pZCBvcGdlZ2V2ZW4nLAogICdJbnZhbGlkIHVzZXJuYW1lIG9yIHBhc3N3b3JkJyA9PiAnT25nZWxkaWdlIGdlYnJ1aWtlcnNuYWFtIG9mIHdhY2h0d29vcmQnLAogICdJdCBhcHBlYXJzIGFzIHRob3VnaCAmbHQ7JXMmZ3Q7IGlzIGJlaW5nIHVzZWQgYXMgYSBmb3J3YXJkZWQgb3IgZmV0Y2hlZCBlbWFpbCBhY2NvdW50IGFuZCBpcyBhbHNvIGJlaW5nIHVzZWQgYXMgYSB1c2VyIC8gc3lzdGVtIGFjY291bnQuIFBsZWFzZSBjb3JyZWN0IHRoZSBsb29wIG9yIHNlZWsgdGVjaG5pY2FsIGFzc2lzdGFuY2UuJyA9PiAnSGV0IGxpamt0IGFsc29mICZsdDslcyZndDsgd29yZHQgZ2VicnVpa3QgYWxzIGVlbiBkb29yZ2VzdHV1cmQgb2Ygb3BnZWhhYWxkIGUtbWFpbCBhY2NvdW50IGVuIG9vayBhbHMgZ2VicnVpa2VyIC8gc3lzdGVlbWFjY291bnQgZ2VicnVpa3Qgd29yZHQuIENvcnJpZ2VlciBkZSBsdXMgb2Ygem9layB0ZWNobmlzY2hlIGFzc2lzdGVudGllLicsCiAgJ0l0XCdzIGltcG9ydGFudCB0byBrZWVwIHlvdXIgb3NUaWNrZXQgaW5zdGFsbGF0aW9uIHVwIHRvIGRhdGUuIEdldCBhbm5vdW5jZW1lbnRzLCBzZWN1cml0eSB1cGRhdGVzIGFuZCBhbGVydHMgZGVsaXZlcmVkIGRpcmVjdGx5IHRvIHlvdSEnID0+ICdIZXQgaXMgYmVsYW5ncmlqayBvbSB1dyBvc1RpY2tldC1pbnN0YWxsYXRpZSB1cC10by1kYXRlIHRlIGhvdWRlbi4gT250dmFuZyBhYW5rb25kaWdpbmdlbiwgdXBkYXRlcyBlbiBtZWxkaW5nZW4gcmVjaHRzdHJlZWtzIGluIGplIG1haWxib3ghJywKICAnSXRlbSBQcm9wZXJ0aWVzJyA9PiAnRWlnZW5zY2hhcHBlbiB2YW4gcHVudCcsCiAgJ0l0ZW1zICglZCknID0+ICdJdGVtcyAoJWQpJywKICAnSm9obiBEb2UnID0+ICdNYWFydGVuIFZlcm1laWonLAogICdLZWVwIG1lIFVwZGF0ZWQnID0+ICdIb3VkIG1paiBvcCBkZSBob29ndGUnLAogICdLZXl3b3JkcyDigJQgT3B0aW9uYWwnID0+ICdUcmVmd29vcmRlbiAtIG9wdGlvbmVlbCcsCiAgJ0tub3dsZWRnZSBCYXNlIFNldHRpbmdzIGFuZCBPcHRpb25zJyA9PiAnS2VubmlzZGF0YWJhc2UgSW5zdGVsbGluZ2VuIGVuIE9wdGllcycsCiAgJ0tub3dsZWRnZSBCYXNlIFN0YXR1cycgPT4gJ1N0YXR1cyB2YW4gZGUgS2VubmlzYmFuaycsCiAgJ0tub3dsZWRnZWJhc2UnID0+ICdLZW5uaXNiYW5rJywKICAnS25vd2xlZGdlYmFzZSBBcnRpY2xlIENvbnRlbnQnID0+ICdLZW5uaXNkYXRhYmFzZSBBcnRpa2VsaW5ob3VkJywKICAnS25vd2xlZGdlYmFzZSBTZXR0aW5ncycgPT4gJ0tlbm5pc2RhdGFiYXNlIGluc3RlbGxpbmdlbicsCiAgJ0xhYmVsJyA9PiAnVmVsZG5hYW0nLAogICdMYWJlbCBpcyByZXF1aXJlZCBmb3IgY3VzdG9tIGZvcm0gZmllbGRzJyA9PiAnTGFiZWwgaXMgdmVyZWlzdCB2b29yIGFhbmdlcGFzdGUgZm9ybXVsaWVydmVsZGVuJywKICAnTGFuZGluZyBQYWdlJyA9PiAnU3RhcnRwYWdpbmEnLAogICdMYW5ndWFnZScgPT4gJ1RhYWwnLAogICdMYW5ndWFnZS1TcGVjaWZpYyBBdHRhY2htZW50cycgPT4gJ1RhYWwtU3BlY2lmaWVrZSBiaWpsYWdlcycsCiAgJ0xhc3QnID0+ICdMYWF0c3QnLAogICdMYXN0IExvZ2luJyA9PiAnTGFhdHN0ZSBsb2dpbicsCiAgJ0xhc3QgTWVzc2FnZScgPT4gJ0xhYXRzdGUgYmVyaWNodCcsCiAgJ0xhc3QgTmFtZScgPT4gJ0FjaHRlcm5hYW0nLAogICdMYXN0IFJlc3BvbmRlbnQnID0+ICdMYWF0c3RlIGJlcmljaHRnZXZlcicsCiAgJ0xhc3QgUmVzcG9uc2UnID0+ICdMYWF0c3RlIHJlYWN0aWUnLAogICdMYXN0IFVwZGF0ZScgPT4gJ0xhYXRzdGUgYWFucGFzc2luZycsCiAgJ0xhc3QgVXBkYXRlZCcgPT4gJ0xhYXRzdCBiaWpnZXdlcmt0JywKICAnTGFzdCBVcGRhdGVkICVzJyA9PiAnYmlqZ2V3ZXJrdCBvcCAlcycsCiAgJ0xhc3QgbW9udGgnID0+ICdBZmdlbG9wZW4gbWFhbmQnLAogICdMYXN0IG5hbWUgaXMgcmVxdWlyZWQnID0+ICdBY2h0ZXJuYWFtIGlzIHZlcmVpc3QnLAogICdMYXN0IG5hbWUgcmVxdWlyZWQnID0+ICdBY2h0ZXJuYWFtIHZlcnBsaWNodCcsCiAgJ0xhc3QsIEZpcnN0JyA9PiAnQWNodGVybmFhbSwgVm9vcm5hYW0nLAogICdMYXRlc3QnID0+ICdOaWV1d3N0ZScsCiAgJ0xhdGVzdCBkYXRlIHNlbGVjdGFibGUnID0+ICdsYWF0c3QgdGUgc2VsZWN0ZXJlbiBkYXR1bScsCiAgJ0xhdW5jaGluZyBhIG5ldyBjdXN0b21lciBzdXBwb3J0IHBsYXRmb3JtIGNhbiBiZSBhIGRhdW50aW5nIHRhc2suIExldCB1cyBnZXQgeW91IHN0YXJ0ZWQhIFdlIHByb3ZpZGUgcHJvZmVzc2lvbmFsIHN1cHBvcnQgc2VydmljZXMgdG8gaGVscCBnZXQgb3NUaWNrZXQgdXAgYW5kIHJ1bm5pbmcgc21vb3RobHkgZm9yIHlvdXIgb3JnYW5pemF0aW9uLicgPT4gJ0VlbiBuaWV1dyBzdXBwb3J0IHN5c3RlZW0gZGUgbHVjaHQgaW4gYnJlbmdlbiBrYW4gZWVuIHVpdGRhZ2VuZGUgdGFhayB6aWpuLiBXZSB6dWxsZW4gdSBoZWxwZW4gdGUgYmVnaW5uZW4uIFdpaiBiaWVkZW4gcHJvZmVzc2lvbmVsZSBzdXBwb3J0IHNlcnZpY2VzIG9tIGhldCBvc1RpY2tldHN5c3RlZW0gb3B0aW1hYWwgdGUgaW50ZWdyZXJlbiBpbiB1dyBvcmdhbmlzYXRpZS4nLAogICdMZWFkaW5nIHRleHQgc2hvd24gYmVmb3JlIGEgdmFsdWUgaXMgc2VsZWN0ZWQnID0+ICdUb29uYWFuZ2V2ZW5kZSB0ZWtzdCBkaWUgd29yZHQgd2VlcmdlZ2V2ZW4gdm9vcmRhdCBlZW4gd2FhcmRlIHdvcmR0IGdlc2VsZWN0ZWVyZCcsCiAgJ0xlYXJuIE1vcmUhJyA9PiAnTGVlciBtZWVyIScsCiAgJ0xlZ2FsJyA9PiAnSnVyaWRpc2NoJywKICAnTGVzcyBUaGFuJyA9PiAnTWluZGVyIGRhbicsCiAgJ0xldHRlcicgPT4gJ0JyaWVmJywKICAnTGltaXQgdGlja2V0IGFjY2VzcyB0byBPTkxZIGFzc2lnbmVkIHRpY2tldHMnID0+ICdCZXBlcmsgdGlja2V0IHRvZWdhbmcgdG90IGFsbGVlbiB0b2VnZWtlbmRlIHRpY2tldHMnLAogICdMaW5rIHRvIHZpZXcgdGhlIHRpY2tldCcgPT4gJ0xpbmsgb20gaGV0IHRpY2tldCB0ZSBiZWtpamtlbicsCiAgJ0xpc3QgTmFtZScgPT4gJ0xpanN0bmFhbScsCiAgJ0xpc3Qgb2YgYWxsIHJlY2lwaWVudCBuYW1lcycgPT4gJ0xpanN0IHZhbiBhbGxlIG9udHZhbmdlcnMgZ2Vzb3J0ZWVyZCBvcCBuYWFtJywKICAnTGlzdCBvZiBlbWFpbCBhZGRyZXNzZXMnID0+ICdMaWpzdCB2YW4gZW1haWwtYWRyZXNzZW4nLAogICdMaXN0IG9mIGZpbGUgbmFtZXMnID0+ICdMaWpzdCB2YW4gYmVzdGFuZHNuYW1lbicsCiAgJ0xpc3Qgb2YgbmFtZXMnID0+ICdMaWpzdCB2YW4gbmFtZW4nLAogICdMaXN0IG9mIG5hbWVzIGFuZCBlbWFpbCBhZGRyZXNzZXMnID0+ICdMaWpzdCB2YW4gbmFtZW4gZW4gZW1haWwtYWRyZXNzZW4nLAogICdMaXN0aW5nIFR5cGUnID0+ICdMaWpzdCB0eXBlJywKICAnTGlzdHMnID0+ICdMaWpzdGVuJywKICAnTG9hZGluZycgPT4gJ0JlemlnIG1ldCBvcGxhZGVuJywKICAnTG9hZGluZyAuLi4nID0+ICdCZXppZyBtZXQgbGFkZW4gLi4uJywKICAnTG9jYWxlIERlZmF1bHRzJyA9PiAnU3RhbmRhYXJkIHRhYWxpbnN0ZWxsaW5nZW4nLAogICdMb2NhbGUgRGVmYXVsdHMsIDI0LWhvdXIgVGltZScgPT4gJ1N0YW5kYWFyZCB0YWFsaW5zdGVsbGluZ2VuLCAyNC11dXIgVGlqZCcsCiAgJ0xvY2FsaXphdGlvbicgPT4gJ0xvY2FsaXNhdGllJywKICAnTG9jaycgPT4gJ1ZlcmdyZW5kZWxlbicsCiAgJ0xvY2sgU2VtYW50aWNzJyA9PiAnU2VtYW50aWVrIHZhc3R6ZXR0ZW4nLAogICdMb2NrIGRlbmllZCEnID0+ICdMb2NrIGdld2VpZ2VyZCEnLAogICdMb2NrIG9uIGFjdGl2aXR5JyA9PiAnVmFzdHpldHRlbiBvcCBhY3Rpdml0ZWl0JywKICAnTG9jayBvbiB2aWV3JyA9PiAnVmFzdHpldHRlbiBvcCB6aWNodCcsCiAgJ0xvY2tlZCcgPT4gJ2dlYmxva2tlZXJkJywKICAnTG9ja2VkIChBZG1pbmlzdHJhdGl2ZSknID0+ICdWZXJncmVuZGVsZCAoQWRtaW5pc3RyYXRpZWYpJywKICAnTG9ja2VkIChQZW5kaW5nIEFjdGl2YXRpb24pJyA9PiAnVmVyZ3JlbmRlbGQgKExvcGVuZGUgYWN0aXZhdGllKScsCiAgJ0xvY2tlZCBzdGFmZiB3b25cJ3QgYmUgYWJsZSB0byBsb2dpbiB0byBTdGFmZiBDb250cm9sIFBhbmVsLicgPT4gJ0dlZGVhY3RpdmVlcmRlIG1lZGV3ZXJrZXJzIGt1bm5lbiBuaWV0IGlubG9nZ2VuIGluIGhldCBtZWRld2Vya2VycyBnZWRlZWx0ZS4nLAogICdMb2cgRGF0ZScgPT4gJ0xvZ2RhdHVtJywKICAnTG9nIEluJyA9PiAnQWFubWVsZGVuJywKICAnTG9nIExldmVsJyA9PiAnTml2ZWF1IHZhbiBsb2dnZW4gKGhvZSB1aXRnZWJyZWlkIHdvcmR0IGVyIGdlbG9nZCknLAogICdMb2cgT3V0JyA9PiAnVWl0bG9nZ2VuJywKICAnTG9nIFRpdGxlJyA9PiAnTG9nIHRpdGVsJywKICAnTG9nIFR5cGUnID0+ICdMb2cgVHlwZScsCiAgJ0xvZ2luIEJhY2tkcm9wJyA9PiAnQWNodGVyZ3JvbmQgYWFubWVsZGVuJywKICAnTG9naW4gV2l0aCcgPT4gJ0xvZ2luIG1ldCcsCiAgJ0xvZ2luIHZpYSBlbWFpbCcgPT4gJ0xvZ2luIHZpYSBlLW1haWwnLAogICdMb2dvcycgPT4gJ0xvZ29cJ3MnLAogICdMb25nIEFuc3dlcicgPT4gJ0xhbmcgQW50d29vcmQnLAogICdMb25nZXN0IFRocmVhZCcgPT4gJ0xhbmdzdGUgY29udmVyc2F0aWUnLAogICdMb29raW5nIGZvciB5b3VyIG90aGVyIHRpY2tldHM/JyA9PiAnT3Agem9layBuYWFyIGplIGFuZGVyZSB0aWNrZXRzPycsCiAgJ0xvb2t1cCBhIHVzZXInID0+ICdab2VrIGVlbiBnZWJydWlrZXInLAogICdMb29rdXAgb3IgY3JlYXRlIGEgdXNlcicgPT4gJ1ZpbmQgb2YgY3Jlw6tlciBlZW4gZ2VicnVpa2VyJywKICAnTWFpbCBCb3ggUHJvdG9jb2wnID0+ICdNYWlsIEJveCBQcm90b2NvbCcsCiAgJ01haWwgRmV0Y2ggRXJyb3InID0+ICdNYWlsIEZldGNoIEVycm9yJywKICAnTWFpbCBGZXRjaCBGYWlsdXJlIEFsZXJ0JyA9PiAnTWFpbCBGZXRjaCBNaXNsdWt0IFdhYXJzY2h1d2luZycsCiAgJ01haWwgRmV0Y2hlcicgPT4gJ01haWwgRmV0Y2hlcicsCiAgJ01haWwgUHJvY2Vzc2luZyBFeGNlcHRpb24nID0+ICdNYWlsIHZlcndlcmtpbmcgZm91dCcsCiAgJ01haWwgZmV0Y2hlciBjcm9uIGNhbGwgWyVzXScgPT4gJ01haWwgb3BoYWFsIGNyb24gcHJvZ3JhbW1hIFslc10nLAogICdNYWlsYm94JyA9PiAnTWFpbGJveCcsCiAgJ01haWxib3g6ICVzIHwgRXJyb3Iocyk6ICVzJyA9PiAnTWFpbGJveDogJXMgfCBGb3V0KGVuKTogJXMnLAogICdNYWlsZXIgRXJyb3InID0+ICdNYWlsZXIgZm91dCcsCiAgJ01haW50YWluIGFjY2VzcyB0byBjdXJyZW50IHByaW1hcnkgZGVwYXJ0bWVudCcgPT4gJ0JlaG91ZCB0b2VnYW5nIHRvdCBkZSBodWlkaWdlIHByaW1haXJlIGFmZGVsaW5nJywKICAnTWFrZSBJbnRlcm5hbCcgPT4gJ0ludGVybiBtYWtlbicsCiAgJ01ha2UgUHVibGljJyA9PiAnT3BlbmJhYXIgbWFrZW4nLAogICdNYWtlIHRoZSB0aXRsZSBzaG9ydCBhbmQgY2xlYXIuJyA9PiAnTWFhayBkZSB0aXRlbCBrb3J0IGVuIGR1aWRlbGlqay4nLAogICdNYWtpbmcgZmllbGRzIDxlbT52aXNpYmxlPC9lbT4gYWxsb3dzIGFnZW50cyBhbmQgZW5kdXNlcnMgdG8gdmlldyBhbmQgY3JlYXRlIGluZm9ybWF0aW9uIGluIHRoaXMgZmllbGQuJyA9PiAnRG9vciB2ZWxkZW4gPGVtPiB6aWNodGJhYXI8L2VtPiB0ZSBtYWtlbiwgY3Jlw6tlcnQgZGUgbW9nZWxpamtoZWlkIG9tIGRlemUgdmVsZGVuIHRlIHppZW4gZW4gaW4gdGUgdnVsbGVuLicsCiAgJ01hbGZvcm1lZCBVVEYtOCBjaGFyYWN0ZXJzLCBwb3NzaWJseSBpbmNvcnJlY3RseSBlbmNvZGVkJyA9PiAnT25nZWxkaWdlIFVURi04LXRla2VucywgbW9nZWxpamsgb25qdWlzdCBnZWNvZGVlcmQnLAogICdNYW5hZ2UnID0+ICdCZWhlZXInLAogICdNYW5hZ2UgQWNjZXNzJyA9PiAnT25kZXJob3VkIHRvZWdhbmcnLAogICdNYW5hZ2UgQWNjb3VudCcgPT4gJ09uZGVyaG91ZCBhY2NvdW50JywKICAnTWFuYWdlIEFjY291bnQgQWNjZXNzJyA9PiAnT25kZXJob3VkIGFjY291bnQgdG9lZ2FuZycsCiAgJ01hbmFnZSBBZ2VudCcgPT4gJ0FnZW50IGJlaGVyZW4nLAogICdNYW5hZ2UgQWdlbnRzJyA9PiAnVmVydGVnZW53b29yZGlnZXJzIGJlaGVyZW4nLAogICdNYW5hZ2UgQ29sbGFib3JhdG9ycycgPT4gJ09uZGVyaG91ZCBzYW1lbndlcmtlcnMnLAogICdNYW5hZ2UgQ29udGVudCcgPT4gJ09uZGVyaG91ZCBpbmhvdWQnLAogICdNYW5hZ2UgRkFRIEFjY2VzcycgPT4gJ0Jld2VyayBGQVEtdG9lZ2FuZycsCiAgJ01hbmFnZSBGb3JtcycgPT4gJ0Zvcm11bGllcmVuIGJlaGVlcicsCiAgJ01hbmFnZSBPcHRpb25zJyA9PiAnQmVoZWVyIG9wdGllcycsCiAgJ01hbmFnZSBPcmdhbml6YXRpb24nID0+ICdCZXdlcmsgb3JnYW5pc2F0aWUnLAogICdNYW5hZ2UgUGx1Z2luJyA9PiAnQmVoZWVyIHBsdWdpbiAodWl0YnJlaWRpbmcpJywKICAnTWFuYWdlIFF1ZXVlIFNvcnRpbmcnID0+ICdCZWhlZXIgd2FjaHRyaWogdm9sZ29yZGUnLAogICdNYW5hZ2UgU2VxdWVuY2VzJyA9PiAnT25kZXJob3VkIHN5c3RlZW10ZWxsZXJzJywKICAnTWFuYWdlIFNvcnQgT3B0aW9ucycgPT4gJ0JlaGVlciBzb3J0ZWVyIG9wdGllcycsCiAgJ01hbmFnZSBVc2VyJyA9PiAnQmV3ZXJrIGdlYnJ1aWtlcicsCiAgJ01hbmFnZSBZb3VyIFByb2ZpbGUgSW5mb3JtYXRpb24nID0+ICdVdyBwcm9maWVsaW5mb3JtYXRpZSBiZWhlcmVuJywKICAnTWFuYWdlIGNvbHVtbnMgaW4gdGhpcyBxdWV1ZScgPT4gJ0JlaGVlciBkZSBrb2xvbW1lbiBpbiBkZXplIHdhY2h0cmlqJywKICAnTWFuYWdlcicgPT4gJ0FmZGVsaW5nc2JlaGVlcmRlcicsCiAgJ01hbnVhbCB1cGdyYWRlIHJlcXVpcmVkIChhamF4IGZhaWxlZCknID0+ICdIYW5kbWF0aWdlIHVwZ3JhZGUgdmVyZWlzdCAoYWpheCBtaXNsdWt0KScsCiAgJ01hbnVhbGx5JyA9PiAnSGFuZG1hdGlnJywKICAnTWFudWFsbHkgU29ydGVkJyA9PiAnSGFuZG1hdGlnIGdlc29ydGVlcmQnLAogICdNYXJrIGFzIEFuc3dlcmVkJyA9PiAnTWFya2VlciBhbHMgYmVhbnR3b29yZCcsCiAgJ01hcmsgYXMgT3ZlcmR1ZScgPT4gJ01hcmtlZXIgYWxzIHZlcmxvcGVuJywKICAnTWFyayBhcyBVbmFuc3dlcmVkJyA9PiAnTUFya2VlciBhbHMgb25iZWFudHdvb3JkJywKICAnTWFya2VkIG92ZXJkdWUhJyA9PiAnR2VtYXJrZWVyZCBhbHMgdmVybG9wZW4hJywKICAnTWF0Y2ggQWxsJyA9PiAndm9sZG9lIGFsbGVzJywKICAnTWF0Y2ggQW55JyA9PiAndm9sZG9lIGVuaWdlJywKICAnTWF0Y2hlcyBSZWdleCcgPT4gJ1ZvbGRvZXQgYWFuIHJlZ2V4JywKICAnTWF4IExlbmd0aCcgPT4gJ01heCBsZW5ndGUnLAogICdNYXggYWxsb3dlZDogJWQnID0+ICdNYXggdG9lZ2VzdGFhbjogJWQnLAogICdNYXggb3BlbiB0aWNrZXRzICglMSRkKSByZWFjaGVkIGZvciAlMiRzJyA9PiAnTWF4aW1hbGUgb3BlbiB0aWNrZXRzICglMSRkKSBiZXJlaWt0IHZvb3IgJTIkcycsCiAgJ01heGltdW0gPGI+T3BlbjwvYj4gVGlja2V0cycgPT4gJ01heGltYWFsIDxiPm9wZW48L2I+IHRpY2tldHMnLAogICdNYXhpbXVtIEZpbGUgU2l6ZScgPT4gJ01heGltYWxlIGJlc3RhbmRzZ3Jvb3R0ZScsCiAgJ01heGltdW0gRmlsZXMnID0+ICdNYXhpbXVtIGFhbnRhbCBiZXN0YW5kZW4nLAogICdNYXhpbXVtIE9wZW4gVGlja2V0cyBMaW1pdCAoJXMpJyA9PiAnTWF4aW1hYWwgZ2VvcGVuZGUgdGlja2V0cyBsaW1pZXQgKCVzKScsCiAgJ01heGltdW0gUGFnZSBzaXplJyA9PiAnTWF4aW1hbGUgcGFnaW5hZ3Jvb3R0ZScsCiAgJ01heGltdW0gZW1haWxzIHJlcXVpcmVkJyA9PiAnTWF4aW11bSBlLW1haWxzIHZlcmVpc3QnLAogICdNYXhpbXVtIGZhaWxlZCBsb2dpbiBhdHRlbXB0cyByZWFjaGVkJyA9PiAnTWF4aW11bSBhYW50YWwgaW5sb2cgcG9naW5nZW4gYmVyZWlrdCcsCiAgJ01heGltdW0gb3BlbiB0aWNrZXRzICglMSRkKSByZWFjaGVkIGZvciAlMiRzJyA9PiAnTWF4aW1hbGUgb3BlbiB0aWNrZXRzICglMSRkKSBiZXJlaWt0IHZvb3IgJTIkcycsCiAgJ01heGltdW0gb3BlbiB0aWNrZXRzIHJlYWNoZWQgZm9yICVzLicgPT4gJ01heGltYWxlIG9wZW4gdGlja2V0cyBiZXJlaWt0IHZvb3IgJXMuJywKICAnTWF4aW11bSBzdGFjayBkZXB0aCBleGNlZWRlZCcgPT4gJ01heGltYWxlIHN0YXBlbCBkaWVwdGUgb3ZlcnNjaHJlZGVuJywKICAnTWUnID0+ICdNaWonLAogICdNZW1iZXJzJyA9PiAnTGVkZW4nLAogICdNZXNzYWdlJyA9PiAnQmVyaWNodCcsCiAgJ01lc3NhZ2UgUG9zdGVkIFN1Y2Nlc3NmdWxseScgPT4gJ0JlcmljaHQgc3VjY2Vzdm9sIGdlcGxhYXRzdCcsCiAgJ01lc3NhZ2UgYm9keScgPT4gJ0JlcmljaHR0ZWtzdCcsCiAgJ01lc3NhZ2UgY29udGVudCcgPT4gJ0JlcmljaHRpbmhvdWQnLAogICdNZXNzYWdlIGNvbnRlbnQgaXMgcmVxdWlyZWQnID0+ICdCZXJpY2h0aW5ob3VkIGlzIHZlcmVpc3QnLAogICdNZXNzYWdlIGZyb20gdGhlIEVuZFVzZXInID0+ICdCZXJpY2h0IHZhbiBkZSBFaW5kZ2VicnVpa2VyJywKICAnTWVzc2FnZSByZWNpcGllbnQnID0+ICdCZXJpY2h0b250dmFuZ2VyJywKICAnTWVzc2FnZSByZXF1aXJlZCcgPT4gJ0JlcmljaHQgdmVyZWlzdCcsCiAgJ01lc3NhZ2Ugc2hvd24gdG8gdXNlciBpZiB0aGUgaW5wdXQgZG9lcyBub3QgbWF0Y2ggdGhlIHZhbGlkYXRvcicgPT4gJ0JlcmljaHQgd2F0IGdldG9vbmQgd29yZHQgYWFuIGRlIGdlYnJ1aWtlciBhbHMgZGUgaW52b2VyIG5pZXQgb3ZlcmVlbiBrb210IG1ldCBkZSB2YWxpZGF0b3InLAogICdNZXNzYWdlIHNob3duIHRvIHVzZXIgaWYgdGhlIGl0ZW0gZW50ZXJlZCBpcyBub3QgaW4gdGhlIGxpc3QnID0+ICdCZXJpY2h0IGdldG9vbmQgYWFuIGRlIGdlYnJ1aWtlciBhbHMgaGV0IGl0ZW0gbmlldCBpbiBkZSBsaWpzdCBzdGFhdCcsCiAgJ01pZ3JhdGUgdG8gb3NUaWNrZXQgJXMnID0+ICdNaWdyZXJlbiBuYWFyIG9zVGlja2V0ICVzJywKICAnTWluaW11bSBsZW5ndGgnID0+ICdNaW5pbWFsZSBsZW5ndGUnLAogICdNaW5pbXVtIHJlcXVpcmVtZW50cyBub3QgbWV0IScgPT4gJ05pZXQgdm9sZGFhbiBhYW4gZGUgbWluaW1hbGUgc3lzdGVlbXZlcmVpc3RlbiEnLAogICdNaW5pbXVtIHJlcXVpcmVtZW50cyBub3QgbWV0ISBSZWZlciB0byBSZWxlYXNlIE5vdGVzIGZvciBtb3JlIGluZm9ybWF0aW9uJyA9PiAnVSB2b2xkb2V0IG5pZXQgYWFuIGRlIG1pbmltYWxlIHN5c3RlZW12ZXJlaXN0ZW4hIEJla2lqayBkZSBpbnN0YWxsYXRpZWhhbmRsZWlkaW5nIHZvb3IgbWVlciBpbmZvcm1hdGllJywKICAnTWlzY2VsbGFuZW91cycgPT4gJ0RpdmVyc2VuJywKICAnTWlzc2luZyBvciBpbnZhbGlkIGRhdGEnID0+ICdHZWdldmVucyBvbnRicmVrZW4gb2Ygb25nZWxkaWcnLAogICdNb2JpbGUgTnVtYmVyJyA9PiAnTW9iaWVsIG51bW1lcicsCiAgJ01vcmUnID0+ICdNZWVyJywKICAnTW9zdCBSZWNlbnRseSBDbG9zZWQnID0+ICdMYWF0c3QgZ2VzbG90ZW4nLAogICdNb3N0IFJlY2VudGx5IENyZWF0ZWQnID0+ICdNZWVzdCByZWNlbnQgZ2VtYWFrdCcsCiAgJ01vc3QgUmVjZW50bHkgVXBkYXRlZCcgPT4gJ01lZXN0IHJlY2VudCBnZXdpanppZ2QnLAogICdNb3N0IGhvc3RzIHVzZSBcJ2xvY2FsaG9zdFwnIGZvciBsb2NhbCBkYXRhYmFzZSBob3N0bmFtZS4gQ2hlY2sgd2l0aCB5b3VyIGhvc3QgaWYgbG9jYWxob3N0IGZhaWxzLiBEZWZhdWx0IHBvcnQgc2V0IGluIHBocC5pbmkgaXMgYXNzdW1lZC4nID0+ICdEZSBtZWVzdGUgc2VydmVycyBnZWJydWlrZW4gXCdsb2NhbGhvc3RcJyBhbHMgbG9rYWxlIGRhdGFiYXNlIGhvc3RuYWFtLiBDb250cm9sZWVyIGplIGhvc3QgYWxzIGxvY2FsaG9zdCBuaWV0IHdlcmt0LiBTdGFuZGFhcmQgcG9ydGluc3RlbGxpbmdlbiBpbiBwaHAuaW5pIHppam4gYWFuZ2Vub21lbi4nLAogICdNb3ZlIHRvIGZvbGRlcicgPT4gJ1ZlcnBsYWF0cyBuYWFyIG1hcCcsCiAgJ01yLiBGaXJzdCBNLiBMYXN0IFNyLicgPT4gJ01yLiBFZXJzdCBNLiBMYWF0c3QgU3IuJywKICAnTXIuIExhc3QnID0+ICdNci4gQWNodGVybmFhbScsCiAgJ011bHRpc2VsZWN0JyA9PiAnTWVlcmdlc2VsZWN0ZWVyZGUnLAogICdNdXN0IGJlIGF0IGxlYXN0IDYgY2hhcmFjdGVycycgPT4gJ01vZXQgdGVubWluc3RlIDYga2FyYWt0ZXJzIGJldmF0dGVuJywKICAnTXVzdCBiZSBudW1lcmljIHZhbHVlJyA9PiAnTW9ldCBlZW4gbnVtZXJpZWtlIHdhYXJkZSB6aWpuJywKICAnTXVzdCBjaGVjayBhdCBsZWFzdCBvbmUgcGVybWlzc2lvbiBmb3IgdGhlIHJvbGUnID0+ICdKZSBtb2V0IG1pbnN0ZW5zIDEgcmVjaHQgYWFuIGRlIHJvbCB0b2V3aWp6ZW4nLAogICdNeSBBY2NvdW50IFByb2ZpbGUnID0+ICdNaWpuIGFjY291bnRwcm9maWVsJywKICAnTXkgTG9jYXRpb24nID0+ICdNaWpuIGxvY2F0aWUnLAogICdNeSBOYW1lJyA9PiAnTWlqbiBuYWFtJywKICAnTXkgUHJvZmlsZScgPT4gJ01pam4gcHJvZmllbCcsCiAgJ015IFNpZ25hdHVyZScgPT4gJ01pam4gaGFuZHRla2VuaW5nJywKICAnTXkgVGFza3MnID0+ICdNaWpuIFRha2VuJywKICAnTXlTUUwgRGF0YWJhc2UnID0+ICdNeVNRTCBEYXRhYmFzZScsCiAgJ015U1FMIEhvc3RuYW1lJyA9PiAnTXlTUUwgSG9zdG5hbWUnLAogICdNeVNRTCBQYXNzd29yZCcgPT4gJ015U1FMIFdhY2h0d29vcmQnLAogICdNeVNRTCBUYWJsZSBQcmVmaXgnID0+ICdNeVNRTCB0YWJlbCB2b29ydm9lZ3NlbCcsCiAgJ015U1FMIFVzZXJuYW1lJyA9PiAnTXlTUUwgR2VicnVpa2Vyc25hYW0nLAogICdNeVNRTCBWZXJzaW9uJyA9PiAnTXlTUUx2ZXJzaWUnLAogICdNeVNRTCBwYXNzd29yZCBhc3NvY2lhdGVkIHdpdGggYWJvdmUgdXNlci4nID0+ICdIZXQgTXlTUUwgd2FjaHR3b29yZCBkYXQgZ2Vrb3BwZWxkIGlzIGFhbiBib3ZlbnN0YWFuZGUgZ2VicnVpa2VyLicsCiAgJ015U1FMaSBleHRlbnNpb24gZm9yIFBIUCcgPT4gJ015U1FMaSBleHRlbnNpZSB2b29yIHBocCcsCiAgJ015c3RlcnkgTWFuJyA9PiAnTXlzdGVyaWV1cyBmaWd1dXInLAogICdOTyBGQVFzIGZvdW5kJyA9PiAnR0VFTiBnZXZvbmRlbiBGQVFzJywKICAnTmFtZScgPT4gJ05hYW0nLAogICdOYW1lIEV4cGFuc2lvbicgPT4gJ05hYW0gdWl0YnJlaWRpbmcnLAogICdOYW1lIEZvcm1hdHRpbmcnID0+ICdOYWFtIGluZGVsaW5nJywKICAnTmFtZSBhbHJlYWR5IGV4aXN0cycgPT4gJ05hYW0gYmVzdGFhdCBhbCcsCiAgJ05hbWUgYWxyZWFkeSBpbiB1c2UnID0+ICdOYWFtIGFsIGluIGdlYnJ1aWsnLAogICdOYW1lIGFuZCBFbWFpbCcgPT4gJ05hYW0gZW4gZS1tYWlsJywKICAnTmFtZSBpcyByZXF1aXJlZCcgPT4gJ05hYW0gaXMgdmVyZWlzdCcsCiAgJ05hbWUgaXMgdG9vIHNob3J0LiAzIGNoYXJzIG1pbmltdW0nID0+ICdOYWFtIGlzIHRlIGtvcnQuIE1pbmltYWFsIDMgdGVrZW5zJywKICAnTmFtZSBvZiB0aGUgZGF0YWJhc2Ugb3NUaWNrZXQgd2lsbCB1c2UuJyA9PiAnTmFhbSB2YW4gZGUgZG9vciBvc1RpY2tldCB0ZSBnZWJydWlrZW4gZGF0YWJhc2UuJywKICAnTmFtZSBvZiB0aWNrZXQgb3duZXInID0+ICdOYWFtIHZhbiBkZSB0aWNrZXQtZWlnZW5hYXInLAogICdOYW1lIHJlcXVpcmVkJyA9PiAnTmFhbSB2ZXJwbGljaHQnLAogICdOZWVkIEhlbHA/JyA9PiAnSHVscCBub2RpZz8nLAogICdOZXZlciBQdXJnZSBMb2dzJyA9PiAnU2Nob29uIGxvZ2Jlc3RhbmRlbiBOT09JVCBvcCcsCiAgJ05ldyBBY3Rpdml0eSBBbGVydCcgPT4gJ05pZXV3ZSBhY3Rpdml0ZWl0IG1lbGRpbmcnLAogICdOZXcgQWN0aXZpdHkgTm90aWNlJyA9PiAnTWVsZGluZyBiaWogbmlldXdlIGFjdGl2aXRlaXQnLAogICdOZXcgSW50ZXJuYWwgQWN0aXZpdHkgQWxlcnQnID0+ICdOaWV1d2UgaW50ZXJuZSBhY3Rpdml0ZWl0IG1lbGRpbmcnLAogICdOZXcgSW50ZXJuYWwgTm90ZScgPT4gJ05pZXV3ZSBpbnRlcm5lIG5vdGl0aWUnLAogICdOZXcgTWVzc2FnZScgPT4gJ05pZXV3IGJlcmljaHQnLAogICdOZXcgTWVzc2FnZSBBbGVydCcgPT4gJ01lbGRpbmcgdmFuIG5pZXV3IGJlcmljaHQnLAogICdOZXcgTWVzc2FnZSBBdXRvLXJlc3BvbnNlJyA9PiAnQXV0b21hdGlzY2ggYW50d29vcmQgb3AgbmlldXcgYmVyaWNodCcsCiAgJ05ldyBQYXNzd29yZCcgPT4gJ05pZXV3IHdhY2h0d29vcmQnLAogICdOZXcgUmVzcG9uc2UnID0+ICdOaWV1d2UgcmVhY3RpZScsCiAgJ05ldyBTZXF1ZW5jZScgPT4gJ05pZXV3ZSBzeXN0ZWVtdGVsbGVyJywKICAnTmV3IFRhc2snID0+ICdOaWV1d2UgdGFhaycsCiAgJ05ldyBUYXNrIEFsZXJ0JyA9PiAnTmlldXdlIHRhYWsgbWVsZGluZycsCiAgJ05ldyBUaWNrZXQnID0+ICdOaWV1dyB0aWNrZXQnLAogICdOZXcgVGlja2V0IEFsZXJ0JyA9PiAnTmlldXcgVGlja2V0IE1lbGRpbmcnLAogICdOZXcgVGlja2V0IEF1dG8tcmVwbHknID0+ICdBdXRvbWF0aXNjaC1hbnR3b29yZCBvcCBuaWV1d2UgdGlja2V0cycsCiAgJ05ldyBUaWNrZXQgQXV0by1yZXNwb25zZScgPT4gJ0F1dG9tYXRpc2NoIGFudHdvb3JkIHZvb3IgbmlldXdlIHRpY2tldHMnLAogICdOZXcgVGlja2V0IE5vdGljZScgPT4gJ05pZXV3ZSBUaWNrZXQgbWVkZWRlbGluZycsCiAgJ05ldyBUaWNrZXQgU2V0dGluZ3MnID0+ICdOaWV1dyB0aWNrZXQgaW5zdGVsbGluZ2VuJywKICAnTmV3IFRpY2tldCBieSBBZ2VudCcgPT4gJ05pZXV3IFRpY2tldCBkb29yIFZlcnRlZ2Vud29vcmRpZ2VyJywKICAnTmV3IGVudHJpZXMgY2Fubm90IGJlIGNyZWF0ZWQgdW5sZXNzIGFsbCA8ZW0+cmVxdWlyZWQ8L2VtPiBmaWVsZHMgaGF2ZSB2YWxpZCBkYXRhLicgPT4gJ05pZXV3ZSBpbmdhdmVzIGt1bm5lbiBuaWV0IGdlY3Jlw6tlcmQgd29yZGVuIHpvbmRlciBkYXQgYWxsZSA8ZW0+dmVycGxpY2h0ZTwvZW0+IHZlbGRlbiBnZXZhbGlkZWVyZGUgZ2VnZXZlbnMgYmV2YXR0ZW4uJywKICAnTmV3IGludGVybmFsIG5vdGUgcG9zdGVkJyA9PiAnTmlldXdlIGludGVybmUgbm90aXRpZSBnZXBvc3QnLAogICdOZXcgcGFzc3dvcmQgTVVTVCBiZSBkaWZmZXJlbnQgZnJvbSB0aGUgY3VycmVudCBwYXNzd29yZCEnID0+ICdOaWV1d2Ugd2FjaHR3b29yZCBtb2V0IHZlcnNjaGlsbGVuIHZhbiBkZSBodWlkaWdlIHdhY2h0d29vcmQhJywKICAnTmV3IHBhc3N3b3JkIGlzIHJlcXVpcmVkJyA9PiAnTmlldXcgd2FjaHR3b29yZCBpcyB2ZXJlaXN0JywKICAnTmV3IHJlc3BvbnNlIHBvc3RlZCcgPT4gJ05pZXV3IGFudHdvb3JkIGdlcG9zdCcsCiAgJ05ldyB0aWNrZXQgb3B0aW9ucycgPT4gJ05pZXV3IHRpY2tldCBvcHRpZXMnLAogICdOZXcgdGlja2V0cyBmcm9tIHRoZSBlbWFpbCBhZGRyZXNzIHdpbGwgYmUgYXV0by1yZWplY3RlZC4nID0+ICdOaWV1d2UgdGlja2V0cyB2YW5hZiBkaXQgZS1tYWlsYWRyZXMgd29yZGVuIGF1dG9tYXRpc2NoIGdld2VpZ2VyZC4nLAogICdOZXcgdGlja2V0cyBmcm9tIHRoZSBlbWFpbCBhZGRyZXNzIHdpbGwgYmUgYXV0b21hdGljYWxseSByZWplY3RlZC4nID0+ICdOaWV1d2UgdGlja2V0cyB2YW5hZiBkaXQgZW1haWxhZHJlcyB3b3JkZW4gYXV0b21hdGlzY2ggZ2V3ZWlnZXJkLicsCiAgJ05ld3MgJmFtcDsgQW5ub3VuY2VtZW50cycgPT4gJ05pZXV3cyAmYW1wOyBBYW5rb25kaWdpbmdlbicsCiAgJ05vJyA9PiAnTmVlJywKICAnTm8gQVBJIGtleXMgZm91bmQnID0+ICdHZWVuIEFQSSBzbGV1dGVscyBnZXZvbmRlbicsCiAgJ05vIEZBUSBjYXRlZ29yaWVzIGZvdW5kIScgPT4gJ0dlZW4gRkFRIGNhdGVnb3Jpw6tuIGdldm9uZGVuIScsCiAgJ05vIFNMQSBwbGFucyBmb3VuZCcgPT4gJ0dlZW4gU0xBIG5pdmVhdXMgZ2V2b25kZW4nLAogICdObyBhZ2VudHMgYXZhaWxhYmxlIGZvciBhc3NpZ25tZW50JyA9PiAnR2VlbiBhZ2VudGVuIGJlc2NoaWtiYWFyIHZvb3IgZGUgdG9ld2lqemluZycsCiAgJ05vIGFnZW50cyBmb3VuZCEnID0+ICdHZWVuIG1lZGV3ZXJrZXJzIGdldm9uZGVuIScsCiAgJ05vIGJhbm5lZCBlbWFpbHMgZm91bmQhJyA9PiAnR2VlbiBnZWJsb2trZWVyZGUgZS1tYWlscyBnZXZvbmRlbiEnLAogICdObyBiYW5uZWQgZW1haWxzIG1hdGNoaW5nIHRoZSBxdWVyeSBmb3VuZCEnID0+ICdHZWVuIGdlYmxva2tlZXJkZSBlLW1haWxzIGdldm9uZGVuIGRpZSBhYW4gZGUgem9la29wZHJhY2h0IHZvbGRvZW4hJywKICAnTm8gY2FubmVkIHJlc3BvbnNlcycgPT4gJ0dlZW4gdm9vcmdlZGVmaW5lZXJkZSBhbnR3b29yZGVuJywKICAnTm8gY3VzdG9tIGxpc3RzIGRlZmluZWQgeWV0ICZtZGFzaDsgJXMgYWRkIG9uZSAlcyEnID0+ICdHZWVuIGFhbmdlcGFzdGUgbGlqc3RlbiBnZWRlZmluaWVlcmQgJm1kYXNoOyAlcyB2b2VnIHRvZSAlcyEnLAogICdObyBkZXBhcnRtZW50cyBmb3VuZCEnID0+ICdHZWVuIGFmZGVsaW5nZW4gZ2V2b25kZW4hJywKICAnTm8gZW1haWxzIGZvdW5kIScgPT4gJ0dlZW4gZS1tYWlsIGdldm9uZGVuIScsCiAgJ05vIGVudHJpZXMgaGF2ZSBiZWVuIHBvc3RlZCB0byB0aGlzIHRocmVhZC4nID0+ICdFciBpcyBpbiBkZXplIGRpc2N1c3NpZSBub2cgbmlldHMgZ2VwbGFhdHN0LicsCiAgJ05vIGVycm9ycycgPT4gJ0dlZW4gZm91dGVuJywKICAnTm8gZXhwaXJhdGlvbicgPT4gJ0dlZW4gdmVybG9vcCAod2FjaHR3b29yZCB2ZXJsb29wdCBuaWV0KScsCiAgJ05vIGV4dHJhIGZvcm1zIGRlZmluZWQgeWV0ICZtZGFzaDsgJXMgYWRkIG9uZSEgJXMnID0+ICdOb2cgZ2VlbiBleHRyYSBmb3JtdWxpZXJlbiBnZWRlZmluaWVlcmQgJm1kYXNoOyAlcyB2b2VnIHRvZSEgJXMnLAogICdObyBmaWVsZHMgc2VsZWN0ZWQgZm9yIHNlYXJjaGluZycgPT4gJ0dlZW4gdmVsZGVuIGdlc2VsZWN0ZWVyZCBvbSBvcCB0ZSB6b2VrZW4nLAogICdObyBmaWVsZHMgc2V0IHVwJyA9PiAnR2VlbiB2ZWxkZW4gaW5nZXN0ZWxkJywKICAnTm8gZmlsdGVycyBmb3VuZCcgPT4gJ0dlZW4gZmlsdGVycyBnZXZvbmRlbicsCiAgJ05vIGhlbHAgdG9waWNzIGZvdW5kJyA9PiAnZ2VlbiBoZWxwb25kZXJ3ZXJwZW4gZ2V2b25kZW4nLAogICdObyBsaW1pdCcgPT4gJ0dlZW4gbGltaWV0JywKICAnTm8gbG9ncyBmb3VuZCcgPT4gJ0dlZW4gbG9ncyBnZXZvbmRlbicsCiAgJ05vIG9uZSAoZGlzYWJsZSBBbGVydHMgYW5kIE5vdGljZXMpJyA9PiAnTmllbWFuZCAoc2NoYWtlbCBiZXJpY2h0Z2V2aW5nIHZvbGxlZGlnIHVpdCknLAogICdObyBvcmdhbml6YXRpb25zIGZvdW5kIScgPT4gJ0dlZW4gb3JnYW5pc2F0aWUgZ2V2b25kZW4hJywKICAnTm8gcGFnZXMgZm91bmQhJyA9PiAnZ2VlbiBwYWdpbmFcJ3MgZ2V2b25kZW4hJywKICAnTm8gcGx1Z2lucyBpbnN0YWxsZWQgeWV0ICZtZGFzaDsgJXMgYWRkIG9uZSAlcyEnID0+ICdHZWVuIHBsdWdpbnMgZ2XDr25zdGFsbGVlcmQgJm1kYXNoOyAlcyBWb2VnIGVyIMOpw6luIHRvZSAlcyEnLAogICdObyBwcmVtYWRlIHJlc3BvbnNlcyBmb3VuZCEnID0+ICdHZWVuIHZvb3JnZWRlZmluZWVyZGUgYW50d29vcmRlbiBnZXZvbmRlbiEnLAogICdObyByZXN0cmljdGlvbnMnID0+ICdHZWVuIGJlcGVya2luZ2VuJywKICAnTm8gcm9sZXMgZGVmaW5lZCB5ZXQgJm1kYXNoOyAlcyBhZGQgb25lICVzIScgPT4gJ0VyIHppam4gbm9nIGdlZW4gcm9sbGVuIGdlZGVmaW5pZWVyZCAmbWRhc2g7ICVzIHZvZWcgZXIgZWVuIHRvZSAlcyEnLAogICdObyBzdWNoIGFnZW50JyA9PiAnT25iZWtlbmRlIGFnZW50JywKICAnTm8gc3VjaCB0YXNrJyA9PiAnT25iZWtlbmRlIHRhYWsnLAogICdObyBzdWNoIHRocmVhZCcgPT4gJ09uYmVrZW5kZSBkaXNjdXNzaWUnLAogICdObyBzdWNoIHRpY2tldCcgPT4gJ0dlZW4gZGVyZ2VsaWprIHRpY2tldCcsCiAgJ05vIHRlYW1zIGF2YWlsYWJsZSBmb3IgYXNzaWdubWVudCcgPT4gJ0dlZW4gdGVhbXMgYmVzY2hpa2JhYXIgdm9vciBkZXplIHRvZWtlbm5pbmcnLAogICdObyB0ZWFtcyBmb3VuZCEnID0+ICdHZWVuIHRlYW1zIGdldm9uZGVuIScsCiAgJ05vIHRlbXBsYXRlcyBmb3VuZCEnID0+ICdnZWVuIHNqYWJsb25lbiBnZXZvbmRlbiEnLAogICdObyB0aGFua3MuJyA9PiAnTmVlLCBkYW5rIHUuJywKICAnTm8gdXNlcnMgZm91bmQhJyA9PiAnR2VlbiBnZWJydWlrZXJzIGdldm9uZGVuIScsCiAgJ05vLCBDYW5jZWwnID0+ICdBbm51bGVyZW4nLAogICdOb25lJyA9PiAnR2VlbicsCiAgJ05vbmUgKERpc2FibGUgTG9nZ2VyKScgPT4gJ0dlZW4gKHNjaGFrZWwgbG9nZ2VuIHVpdCknLAogICdOb25lOiBVc2UgUEhQIG1haWwgZnVuY3Rpb24nID0+ICdHZWVuOiBnZWJydWlrIHBocCBtYWlsIGZ1bmN0aWUnLAogICdOb3QgRXF1YWwnID0+ICdOaWV0IGdlbGlqaycsCiAgJ05vdCBhbGwgc2VsZWN0ZWQgaXRlbXMgd2VyZSB1cGRhdGVkJyA9PiAnTmlldCBhbGxlIGdlc2VsZWN0ZWVyZGUgaXRlbXMga3VubmVuIHdvcmRlbiBiaWpnZXdlcmt0JywKICAnTm90IGN1cnJlbnRseSB0cmFuc2xhdGVkJyA9PiAnVm9vcmxvcGlnIG5pZXQgdmVydGFhbGQnLAogICdOb3QgeWV0IHJlZ2lzdGVyZWQ/JyA9PiAnTm9nIG5pZXQgZ2VyZWdpc3RyZWVyZD8nLAogICdOb3RlIGNvbnRlbnQgaXMgcmVxdWlyZWQnID0+ICdOb3RpdGllLWluaG91ZCBpcyB2ZXJlaXN0JywKICAnTm90ZSBkZXRhaWxzJyA9PiAnTm90aXRpZSBkZXRhaWxzJywKICAnTm90ZSBwb3N0ZWQgc3VjY2Vzc2Z1bGx5JyA9PiAnTm90aXRpZSBzdWNjZXN2b2wgb3BnZXNsYWdlbicsCiAgJ05vdGUgdGhhdCBzb21lIG9mIHRoZSBnbG9iYWwgc2V0dGluZ3MgY2FuIGJlIG92ZXJyaWRkZW4gYXQgZGVwYXJ0bWVudC9lbWFpbCBsZXZlbC4nID0+ICdTb21taWdlIGdsb2JhbGUgaW5zdGVsbGluZ2VuIGt1bm5lbiB3b3JkZW4gb3ZlcnNjaHJldmVuIG9wIGFmZGVsaW5ncy0gb2YgZS1tYWlsLW5pdmVhdS4nLAogICdOb3RlIHRpdGxlIC0gc3VtbWFyeSBvZiB0aGUgbm90ZSAob3B0aW9uYWwpJyA9PiAnVGl0ZWwgdmFuIGRlIE5vdGl0aWUgLSBzYW1lbnZhdHRpbmcgdmFuIGRlIG5vdGl0aWUgKG9wdGlvbmVlbCknLAogICdOb3RlcycgPT4gJ05vdGl0aWVzJywKICAnTm90ZXMgKCVkKScgPT4gJ05vdGl0aWVzICglZCknLAogICdOb3RlcyBhYm91dCB0aGUgY2FubmVkIHJlc3BvbnNlLicgPT4gJ05vdGl0aWVzIG9tdHJlbnQgdm9vcmdlZGVmaW5pZWVyZGUgYW50d29vcmRlbi4nLAogICdOb3RoaW5nIHRvIGRvISBTeXN0ZW0gYWxyZWFkeSB1cGdyYWRlZCB0byA8Yj4lczwvYj4gd2l0aCBubyBwZW5kaW5nIHBhdGNoZXMgdG8gYXBwbHkuJyA9PiAnTmlldHMgdGUgZG9lbiEgVXcgc3lzdGVlbSBpcyByZWVkcyBiaWlqZ2V3ZXJrdCBuYWFyIHZlcnNpZSA8Yj4lczwvYj4sIGFsbGUgdXBkYXRlcyB6aWpuIHJlZWRzIHVpdGdldm9lcmQuJywKICAnTm90aGluZyB0byBkbyEgU3lzdGVtIGFscmVhZHkgdXBncmFkZWQgdG8gdGhlIGN1cnJlbnQgdmVyc2lvbicgPT4gJ05pZXRzIHRlIGRvZW4hIEhldCBzeXN0ZWVtIGlzIHJlZWRzIGJpamdld2Vya3QgbmFhciBkZSBsYWF0c3RlIHZlcnNpZScsCiAgJ05vdGljZSBzZW50IHRvIHRoZSB1c2VyLicgPT4gJ0JlcmljaHQgYWFuIGRlIGdlYnJ1aWtlciB2ZXJ6b25kZW4uJywKICAnTm90aWNlIHNlbnQgdG8gdXNlciwgaWYgZW5hYmxlZCwgb24gbmV3IHRpY2tldCBjcmVhdGVkIGJ5IGFuIGFnZW50IG9uIHRoZWlyIGJlaGFsZiAoZS5nIHBob25lIGNhbGxzKS4nID0+ICdNZWxkaW5nIGFhbiBkZSBnZWJydWlrZXIgLWluZGllbiBnZWFjdGl2ZWVyZC0gYmlqIGVlbiBuaWV1dyB0aWNrZXQgZGllIGFhbmdlbWFha3QgaXMgZG9vciBlZW4gbWVkZXdlcmtlciBuYW1lbnMgZ2VicnVpa2VyIChiaWp2LiB0ZWxlZm9vbmdlc3ByZWspLicsCiAgJ051bWJlcicgPT4gJ051bW1lcicsCiAgJ051bWVyaWMgdmFsdWUgcmVxdWlyZWQgKGluIGhvdXJzKScgPT4gJ051bWVyaWVrZSB3YWFyZGUgdmVyZWlzdCAoaW4gdXJlbiknLAogICdPSycgPT4gJ09LJywKICAnT2ZmbGluZScgPT4gJ09mZmxpbmUnLAogICdPZmZsaW5lIFBhZ2UnID0+ICdPZmZsaW5lIHBhZ2luYScsCiAgJ09uY2UgYWdhaW4sIHRoYW5rIHlvdSBmb3IgY2hvb3Npbmcgb3NUaWNrZXQgYXMgeW91ciBuZXcgY3VzdG9tZXIgc3VwcG9ydCBwbGF0Zm9ybSEgJyA9PiAnTm9nbWFhbHMsIGJlZGFua3Qgdm9vciBoZXQgZmVpdCBkYXQgdSBnZWtvemVuIGhlZWZ0IHZvb3Igb3NUaWNrZXQgYWxzIHV3IG5pZXV3ZSBzdXBwb3J0c3l0ZWVtISAnLAogICdPbmNlIGFnYWluLCB0aGFuayB5b3UgZm9yIGNob29zaW5nIG9zVGlja2V0LicgPT4gJ05vZ21hYWxzLCBkYW5rdXdlbCB2b29yIGhldCBraWV6ZW4gdm9vciBvc1RpY2tldC4nLAogICdPbmUgTW9udGgnID0+ICfDicOpbiBtYWFuZCcsCiAgJ09uZSBRdWFydGVyJyA9PiAnRWVuIGt3YXJ0YWFsJywKICAnT25lIFdlZWsnID0+ICfDicOpbiB3ZWVrJywKICAnT25lIG9mIG15IHRlYW1zJyA9PiAnMSB2YW4gbWlqbiB0ZWFtcycsCiAgJ09uZSBvciBtb3JlIG9mIHRoZSAlcyBpcyBpbi11c2UgYW5kIENBTk5PVCBiZSBkaXNhYmxlZC9kZWxldGVkLicgPT4gJzEgb2YgbWVlcmRlcmUgdmFuIGRlICVzIHppam4gaW4gZ2VicnVpayBlbiBrdW5uZW4gZHVzIG5pZXQgd29yZGVuIHVpdGdlc2NoYWtlbGQgb2YgdmVyd2lqZGVyZC4nLAogICdPbmUgdXNlcicgLiAiXDAiIC4gJyVkIHVzZXJzJyA9PiAnMSBnZWJydWlrZXInIC4gIlwwIiAuICclZCBnZWJydWlrZXJzJywKICAnT25saW5lJyA9PiAnT24tbGluZSBzdGF0dXMnLAogICdPbmx5IG9wZW4gdGlja2V0cyBjYW4gYmUgYXNzaWduZWQnID0+ICdBbGxlZW4gb3BlbiB0aWNrZXRzIGt1bm5lbiB3b3JkZW4gdG9lZ2VrZW5kJywKICAnT3BlbicgPT4gJ09wZW4nLAogICdPcGVuIFRhc2tzJyA9PiAnT3BlbiB0YWtlbicsCiAgJ09wZW4gVGlja2V0cycgPT4gJ09uYmVhbnR3b29yZGUgdGlja2V0cycsCiAgJ09wZW4gYSBOZXcgVGFzaycgPT4gJ09wZW4gZWVuIG5pZXV3IHRhYWsnLAogICdPcGVuIGEgTmV3IFRpY2tldCcgPT4gJ09wZW4gZWVuIG5pZXV3IHRpY2tldCcsCiAgJ09wZW4gdGlja2V0czogJWQnID0+ICdPcGVuIHRpY2tldHM6ICVkJywKICAnT3BlbmVkJyA9PiAnR2VvcGVuZCcsCiAgJ09wdGlvbmFsJyA9PiAnT3B0aW9uZWVsJywKICAnT3B0aW9uYWwgaW50ZXJuYWwgbm90ZSAocmVjb21tZW5kZWQgb24gYXNzaWdubWVudCknID0+ICdPcHRpb25lbGUgaW50ZXJuZSBub3RpdGllIChhYW5iZXZvbGVuIGJpaiB0b2V3aWp6aW5nIGFhbiBtZWRld2Vya2VyKScsCiAgJ09wdGlvbmFsIHJlYXNvbiBmb3IgZGVsZXRpbmcgJXMnID0+ICdPcHRpb25lbGUgcmVkZW4gdm9vciB2ZXJ3aWpkZXJlbiB2YW4gJXMnLAogICdPcHRpb25hbCByZWFzb24gZm9yIHN0YXR1cyBjaGFuZ2UgKGludGVybmFsIG5vdGUpJyA9PiAnT3B0aW9uZWxlIHJlZGVuIHZvb3Igc3RhdHVzdmVyYW5kZXJpbmcgKGludGVybmUgbm90aXRpZSknLAogICdPcHRpb25hbCByZWFzb24gZm9yIHRoZSBhc3NpZ25tZW50JyA9PiAnT3B0aW9uZWxlIHJlZGVuIHZvb3IgdG9la2VubmluZycsCiAgJ09wdGlvbmFsIHJlYXNvbiBmb3IgdGhlIGNsYWltJyA9PiAnT3B0aW9uZWxlIHJlZGVuIHZvb3IgZGUgdG9la2VubmluZycsCiAgJ09wdGlvbmFsIHJlYXNvbiBmb3IgdGhlIGRlbGV0aW9uJyA9PiAnT3B0aW9uZWxlIHJlZGVuIHZvb3IgdmVyd2lqZGVyaW5nJywKICAnT3B0aW9uYWwgcmVhc29uIGZvciB0aGUgdHJhbnNmZXInID0+ICdPcHRpb25lbGUgcmVkZW4gdm9vciBkZSB2ZXJodWl6aW5nJywKICAnT3B0aW9uYWwgcmVzcG9uc2UgdG8gdGhlIGFib3ZlIGlzc3VlLicgPT4gJ09wdGlvbmVsZSByZWFjdGllIG9wIGRlIGJvdmVuc3RhYW5kZSBrd2VzdGllLicsCiAgJ09wdGlvbmFsIHNpZ25hdHVyZSB1c2VkIG9uIG91dGdvaW5nIGVtYWlscy4nID0+ICdPcHRpb25lbGUgaGFuZHRla2VuaW5nIGdlYnJ1aWt0IHZvb3IgdWl0Z2FhbmRlIGUtbWFpbHMuJywKICAnT3B0aW9uYWxseSBzZWxlY3QgYSBsZWFkZXIgZm9yIHRoZSB0ZWFtJyA9PiAnU2VsZWN0ZWVyIG9wdGlvbmVlbCBlZW4gbGVpZGVyIHZvb3IgaGV0IHRlYW0nLAogICdPcHRpb25hbGx5LCBjaG9vc2UgYWNjZXB0YWJsZSBmaWxlIHR5cGVzLicgPT4gJ1Uga3VudCBlcnZvb3Iga2llemVuIG9tIGVua2VsIG9wZ2VnZXZlbiBiZXN0YW5kc3R5cGVzIHRvZSB0ZSBsYXRlbi4nLAogICdPcHRpb25hbGx5LCBlbnRlciBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBhZGRpdGlvbmFsIGZpbGUgdHlwZXMsIGJ5IGV4dGVuc2lvbi4gKGUuZyAuZG9jLCAucGRmKS4nID0+ICdVIGthbiBlcnZvb3Iga2llemVuIG9tIGVlbiBrb21tYS1nZXNjaGVpZGVuIGxpanN0IGluIHRlIHZvZXJlbiB2YW4gZXh0ZW50aWVzIHRlciBhYW52dWxsaW5nLiAoYmlqdm9vcmJlZWxkIC5kb2MsIC5wZGYpLicsCiAgJ09wdGlvbmFsbHksIHRoaXMgZmllbGQgY2FuIHByZXZlbnQgY2xvc2luZyBhIHRocmVhZCB1bnRpbCBpdCBoYXMgdmFsaWQgZGF0YS4nID0+ICdPcHRpb25lZWwga2FuIGRpdCB2ZWxkIGVlbiBkaXNjdXNzaWUgc2x1aXRlbiB0ZWdlbmhvdWRlbiB0b3QgaGV0IGdldmFsaWRlZXJkZSBkYXRhIGJldmF0LicsCiAgJ09wdGlvbnMnID0+ICdPcHRpZXMnLAogICdPcmRlcicgPT4gJ1ZvbGdvcmRlJywKICAnT3JkZXIgcmVxdWlyZWQnID0+ICdBYW52cmFhZyB2ZXJlaXN0JywKICAnT3JnYW5pemF0aW9uJyA9PiAnT3JnYW5pc2F0aWUnLAogICdPcmdhbml6YXRpb24gQWNjb3VudCBNYW5hZ2VyJyA9PiAnTWFuYWdlciB2YW4gZGUgb3JnYW5pc2F0aWUnLAogICdPcmdhbml6YXRpb24gRGF0YScgPT4gJ09yZ2FuaXNhdGllZ2VnZXZlbnMnLAogICdPcmdhbml6YXRpb24gSUQgbXVzdCBiZSBzcGVjaWZpZWQgZm9yIGltcG9ydCcgPT4gJ0RlIG9yZ2FuaXNhdGllSUQgbW9ldCB3b3JkZW4gZ2VzcGVjaWZpY2VlcmQgdm9vciBoZXQgaW1wb3J0ZXJlbicsCiAgJ09yZ2FuaXphdGlvbiBMb29rdXAnID0+ICdPcmdhbmlzYXRpZSBvcHpvZWtlbicsCiAgJ09yZ2FuaXphdGlvbiBNZW1iZXJzJyA9PiAnTGVkZW4gdmFuIGRlIG9yZ2FuaXNhdGllJywKICAnT3JnYW5pemF0aW9uIGZvciAlcycgPT4gJ09yZ2FuaXNhdGllIHZvb3IgJXMnLAogICdPcmdhbml6YXRpb24gd2l0aCB0aGUgc2FtZSBuYW1lIGFscmVhZHkgZXhpc3RzJyA9PiAnT3JnYW5pc2F0aWUgbWV0IGRlemUgbmFhbSBiZXN0YWF0IGFsJywKICAnT3JnYW5pemF0aW9ucycgPT4gJ09yZ2FuaXNhdGllcycsCiAgJ09yaWdpbmFsJyA9PiAnT3JpZ2luZWVsJywKICAnT3JpZ2luYWwgTWVzc2FnZScgPT4gJ09yaWdpbmVsZSBiZXJpY2h0JywKICAnT3JpZ2luYWwgVGhyZWFkIEVudHJ5JyA9PiAnT3JpZ2luZWxlIGRpc2N1c3NpZSBpbmdhdmUnLAogICdPc2NhclwncyBBLVRlYW0nID0+ICdPc2NhclwncyBBLVRlYW0nLAogICdPdGhlcicgPT4gJ0FuZGVycycsCiAgJ090aGVyIExhbmd1YWdlcycgPT4gJ0FuZGVyZSB0YWxlbicsCiAgJ090aGVyIFJlc291cmNlcycgPT4gJ092ZXJpZ2UgYnJvbm5lbicsCiAgJ090aGVyIFZhcmlhYmxlcycgPT4gJ0FuZGVyZSB2YXJpYWJlbGVuJywKICAnT3V0Z29pbmcgRW1haWwnID0+ICdVaXRnYWFuZGUgZW1haWwnLAogICdPdXRnb2luZyBFbWFpbCBTZXR0aW5ncycgPT4gJ1VpdGdhYW5kZSBlbWFpbCBpbnN0ZWxsaW5nZW4nLAogICdPdXRnb2luZyByZXNwb25zZScgPT4gJ1ZlcnpvbmRlbiByZWFjdGllJywKICAnT3ZlcmR1ZScgPT4gJ0FjaHRlcnN0YWxsaWcnLAogICdPdmVyZHVlIFRhc2sgQWxlcnQnID0+ICdUYWFrIHRlIGxhYXQgbWVsZGluZycsCiAgJ092ZXJkdWUgVGFza3MnID0+ICdWZXJsb3BlbiB0YWtlbicsCiAgJ092ZXJkdWUgVGlja2V0IEFsZXJ0JyA9PiAnVGUgbGFhdCB0aWNrZXQgbWVsZGluZycsCiAgJ092ZXJsaW1pdCBOb3RpY2UnID0+ICdNZWxkaW5nIHdhbm5lZXIgZGUgbGltaWV0IGlzIGJlcmVpa3QnLAogICdQSFAgRXh0ZW5zaW9ucycgPT4gJ1BIUGV4dGVuc2llcycsCiAgJ1BIUCBTZXR0aW5ncycgPT4gJ1BIUEluc3RlbGxpbmdlbicsCiAgJ1BIUCBWZXJzaW9uJyA9PiAnUEhQdmVyc2llJywKICAnUE5HIHN1cHBvcnQgaXMgcmVxdWlyZWQgZm9yIEltYWdlIENhcHRjaGEnID0+ICdQTkcgb25kZXJzdGV1bmluZyBpcyB2ZXJlaXN0IHZvb3IgQ2FwdGNoYScsCiAgJ1BPUCBtYWlsIHNlcnZlcnMgZG8gbm90IHN1cHBvcnQgZm9sZGVycycgPT4gJ1BPUCBtYWlsIHNlcnZlcnMgb25kZXJzdGV1bmVuIGdlZW4gbWFwcGVuJywKICAnUFMnID0+ICdQUycsCiAgJ1BhZGRpbmcgQ2hhcmFjdGVyJyA9PiAnVnVsdGVrZW4gKGthcmFrdGVyKScsCiAgJ1BhZ2UnID0+ICdQYWdpbmEnLAogICdQYWdlIENvbnRlbnQnID0+ICdQYWdpbmEgaW5ob3VkJywKICAnUGFnZSBOb3QgRm91bmQnID0+ICdQYWdpbmEgbmlldCBnZXZvbmRlbicsCiAgJ1BhZ2UgYm9keSBpcyByZXF1aXJlZCcgPT4gJ1BhZ2luYSBib2R5IGlzIHZlcmVpc3QnLAogICdQYWdlIGluZm9ybWF0aW9uJyA9PiAnUGFnaW5hIGluZm9ybWF0aWUnLAogICdQYWdlIGlzIGluLXVzZSEnID0+ICdQYWdpbmEgaXMgaW4gZ2VicnVpayEnLAogICdQYWdlcycgPT4gJ1BhZ2luYVwncycsCiAgJ1BhcGVyIFNpemUnID0+ICdQYXBpZXJmb3JtYWF0JywKICAnUGFwZXIgc2l6ZSB1c2VkIHdoZW4gcHJpbnRpbmcgdGlja2V0cyB0byBQREYnID0+ICdQYXBpZXJmb3JtYWF0IGdlYnJ1aWt0IGJpaiBhZmRydWtrZW4gdmFuIHRpY2tldHMgbmFhciBQREYnLAogICdQYXJhbWV0ZXIgY291bnQgZG9lcyBub3QgbWF0Y2ggcXVlcnknID0+ICdQYXJhbWV0ZXIgYWFudGFsIGtvbXQgbmlldCBvdmVyZWVuIG1ldCBkZSBxdWVyeScsCiAgJ1BhcmVudCcgPT4gJ1BhcmVudCcsCiAgJ1BhcmVudCBRdWV1ZScgPT4gJ0JvdmVubGlnZ2VuZGUgd2FjaHRyaWonLAogICdQYXJlbnQgVG9waWMnID0+ICdIb29mZG9uZGVyd2VycCcsCiAgJ1BhcmVudCBmaWx0ZXIgSUQgcmVxdWlyZWQnID0+ICdCb3ZlbmxpZ2dlbmRlIGZpbHRlciBJRCB2ZXJlaXN0JywKICAnUGFydGljaXBhbnRzOiBTZW5kIG5ldyBhY3Rpdml0eSBub3RpY2UnID0+ICdEZWVsbmVtZXJzOiBWZXJ6ZW5kIGVlbiBhY3Rpdml0ZWl0c21lbGRpbmcnLAogICdQYXNzd29yZCcgPT4gJ1dhY2h0d29vcmQnLAogICdQYXNzd29yZCBDaGFuZ2UnID0+ICd3YWNodHdvb3JkIHZlcmFuZGVyZW4nLAogICdQYXNzd29yZCBFeHBpcmF0aW9uIFBvbGljeScgPT4gJ1dhY2h0d29vcmQgdmVybG9vcGJlbGVpZCcsCiAgJ1Bhc3N3b3JkIFJlc2V0IEVtYWlsJyA9PiAnRW1haWwgb20gd2FjaHR3b29yZCBvcG5pZXV3IGluIHRlIHN0ZWxsZW4nLAogICdQYXNzd29yZCBSZXNldCBSZXF1aXJlZCcgPT4gJ1dhY2h0d29vcmQgcmVzZXQgdmVyZWlzdCcsCiAgJ1Bhc3N3b3JkIGNoYW5nZSByZXF1aXJlZCB0byBjb250aW51ZScgPT4gJ1dhY2h0d29vcmR3aWp6aWdpbmcgdmVycGxpY2h0IG9tIGRvb3IgdGUgZ2FhbicsCiAgJ1Bhc3N3b3JkIG11c3QgYmUgYXQgbGVhc3QgNiBjaGFyYWN0ZXJzJyA9PiAnV2FjaHR3b29yZCBtb2V0IHRlbiBtaW5zdGUgNiB0ZWtlbnMgbGFuZyB6aWpuJywKICAnUGFzc3dvcmQgcmVxdWlyZWQnID0+ICdXYWNodHdvb3JkIHZlcmVpc3QnLAogICdQYXNzd29yZCByZXNldCBpcyBub3QgZW5hYmxlZCBmb3IgeW91ciBhY2NvdW50LiBDb250YWN0IHlvdXIgYWRtaW5pc3RyYXRvcicgPT4gJ1dhY2h0d29vcmQgaGVyc3RlbCBpcyBuaWV0IGdlYWN0aXZlZXJkIHZvb3IgdXcgYWNjb3VudC4gTmVlbSBjb250YWN0IG9wIG1ldCB1dyBiZWhlZXJkZXInLAogICdQYXNzd29yZCByZXNldHMgYXJlIGRpc2FibGVkJyA9PiAnV2FjaHR3b29yZCB2ZXJhbmRlcmluZ2VuIHppam4gdWl0Z2VzY2hha2VsZCcsCiAgJ1Bhc3N3b3JkIHVwZGF0ZSBmYWlsZWQ6JyA9PiAnV2FjaHR3b29yZHdpanppZ2luZyBtaXNsdWt0OicsCiAgJ1Bhc3N3b3JkcyBkbyBub3QgbWF0Y2gnID0+ICdXYWNodHdvb3JkZW4ga29tZW4gbmlldCBvdmVyZWVuJywKICAnUGF0Y2ggJXMgYXBwbGllZCBzdWNjZXNzZnVsbHknID0+ICdQYXRjaCAlcyBzdWNjZXN2b2wgdG9lZ2VwYXN0JywKICAnUGVybWlzc2lvbiBEZW5pZWQuIFlvdSBhcmUgbm90IGFsbG93ZWQgdG8gYXNzaWduL2NsYWltIHRpY2tldHMuJyA9PiAnVG9lZ2FuZyBnZXdlaWdlcmQuIFUgYmVudCBuaWV0IGdlbWFjaHRpZ2Qgb20gZWVuIHRpY2tldCB0b2UgdGUga2VubmVuLicsCiAgJ1Blcm1pc3Npb24gRGVuaWVkLiBZb3UgYXJlIG5vdCBhbGxvd2VkIHRvIGJhbiBlbWFpbHMnID0+ICdUb2VnYW5nIGdld2VpZ2VyZC4gVSBiZW50IG5pZXQgYmV2b2VnZCBvbSBlLW1haWxhZHJlc3NlbiBvcCBkZSBibG9ra2FkZWxpanN0IHRlIHpldHRlbicsCiAgJ1Blcm1pc3Npb24gRGVuaWVkLiBZb3UgYXJlIG5vdCBhbGxvd2VkIHRvIGVkaXQgdGlja2V0cycgPT4gJ1RvZWdhbmcgZ2V3ZWlnZXJkLiBVIG1hZyBnZWVuIHRpY2tldHMgYmV3ZXJrZW4nLAogICdQZXJtaXNzaW9uIERlbmllZC4gWW91IGFyZSBub3QgYWxsb3dlZCB0byBmbGFnIHRpY2tldHMgb3ZlcmR1ZScgPT4gJ1RvZWdhbmcgZ2V3ZWlnZXJkLiBVIG1hZyBnZWVuIHRpY2tldHMgYWFubWVya2VuIGFscyBcJ3ZlcmxvcGVuXCcnLAogICdQZXJtaXNzaW9uIERlbmllZC4gWW91IGFyZSBub3QgYWxsb3dlZCB0byByZW1vdmUgZW1haWxzIGZyb20gYmFubGlzdC4nID0+ICdUb2VnYW5nIGdld2VpZ2VyZC4gVSBoZWVmdCBnZWVuIHRvZXN0ZW1taW5nIG9tIGUtbWFpbGFkcmVzc2VuIHVpdCBkZSBibG9ra2FkZWxpanN0IHRlIGhhbGVuLicsCiAgJ1Blcm1pc3Npb24gZGVuaWVkJyA9PiAnVG9lZ2FuZyBnZXdlaWdlcmQnLAogICdQZXJtaXNzaW9ucycgPT4gJ1RvZXN0ZW1taW5nJywKICAnUGVyc29uYWwgbmFtZScgPT4gJ1BlcnNvb25saWprZSBuYWFtJywKICAnUGhvbmUnID0+ICdUZWxlZm9vbicsCiAgJ1Bob25lIE51bWJlcicgPT4gJ1RlbGVmb29ubnVtbWVyJywKICAnUGhvbmUgbnVtYmVyIG9mIHRpY2tldCBvd25lcicgPT4gJ1RlbGVmb29ubnVtbWVyIHZhbiBkZSB0aWNrZXQtZWlnZW5hYXInLAogICdQaG9uZSBudW1iZXIgfCBleHQnID0+ICdUZWxlZm9vbm51bW1lciB8IGV4dCcsCiAgJ1BsYWNlaG9sZGVyJyA9PiAnUGxhYXRzaG91ZGVyJywKICAnUGxlYXNlIENvbmZpcm0nID0+ICdCZXZlc3RpZ2VuJywKICAnUGxlYXNlIENvbmZpcm0gRW1haWwgQWRkcmVzcyBQYWdlJyA9PiAnQmV2ZXN0aWcgdXcgZW1haWxhZHJlcyBwYWdpbmEnLAogICdQbGVhc2UgV2FpdCEnID0+ICdFZW4gb2dlbmJsaWsgZ2VkdWxkIScsCiAgJ1BsZWFzZSBjaGFuZ2UgcGVybWlzc2lvbiBvZiBjb25maWcgZmlsZSAoJTEkcykgdG8gcmVtb3ZlIHdyaXRlIGFjY2Vzcy4gZS5nIDxpPmNobW9kIDY0NCAlMiRzPC9pPicgPT4gJ1ZlcmFuZGVyIGRlIHBlcm1pc3NpZXMgdmFuIGhldCBjb25maWd1cmF0aWViZXN0YW5kICglMSRzKSBvbSBoZXQgXCdhbGxlZW4gbGV6ZW5cJyB0ZSBtYWtlbiwgbS5hLncuOiA8aT5jaG1vZCA2NDQgJTIkczwvaT4nLAogICdQbGVhc2UgY29uZmlybSB0byBjb250aW51ZS4nID0+ICdLbGlrIG9wIFwnYmV2ZXN0aWdlblwnIG9tIHZlcmRlciB0ZSBnYWFuLicsCiAgJ1BsZWFzZSBjb25zaWRlciB0dXJuaW5nIG9mZiByZWdpc3RlciBnbG9iYWxzIGlmIHBvc3NpYmxlJyA9PiAnUHJvYmVlciBkZSBwaHBpbnN0ZWxsaW5nIFwncmVnaXN0ZXIgZ2xvYmFsc1wnIHVpdCB0ZSB6ZXR0ZW4sIGFscyBkYXQgbW9nZWxpamsgaXMnLAogICdQbGVhc2UgZG9uXCd0IGNhbmNlbCBvciBjbG9zZSB0aGUgYnJvd3Nlci4gQW55IGVycm9ycyBhdCB0aGlzIHN0YWdlIHdpbGwgYmUgZmF0YWwuJyA9PiAnRHJ1ayBhdWIgbmlldCBvcCBhbm51bGVyZW4gZW4gc2x1aXQgZGl0IHZlbnN0ZXIgbmlldC4gQWxsZSBmb3V0ZW4gb3AgZGl0IG1vbWVudCBrdW5uZW4gZmF0YWFsIHppam4uJywKICAnUGxlYXNlIGVudGVyIHlvdXIgdXNlcm5hbWUgb3IgZW1haWwnID0+ICdWb2VyIHV3IGdlYnJ1aWtlcnNuYWFtIG9mIGUtbWFpbGFkcmVzIGluJywKICAnUGxlYXNlIGZpbGwgaW4gdGhlIGZvcm0gYmVsb3cgdG8gb3BlbiBhIG5ldyB0aWNrZXQuJyA9PiAnVnVsIGhldCBvbmRlcnN0YWFuZGUgZm9ybXVsaWVyIGluIG9tIGVlbiBuaWV1dyB0aWNrZXQgdGUgb3BlbmVuLicsCiAgJ1BsZWFzZSBmaWxsIG91dCB0aGUgaW5mb3JtYXRpb24gYmVsb3cgdG8gY29udGludWUgeW91ciBvc1RpY2tldCBpbnN0YWxsYXRpb24uIEFsbCBmaWVsZHMgYXJlIHJlcXVpcmVkLicgPT4gJ1Z1bCBvbmRlcnN0YWFuZGUgdmVsZGVuIGluIG9tIGRvb3IgdGUgZ2FhbiBtZXQgZGUgaW5zdGFsbGF0aWUuIEFsbGUgdmVsZGVuIHppam4gdmVycGxpY2h0LicsCiAgJ1BsZWFzZSBmb2xsb3cgdGhlIGluc3RydWN0aW9ucyBiZWxvdyB0byBnaXZlIHJlYWQgYW5kIHdyaXRlIGFjY2VzcyB0byB0aGUgd2ViIHNlcnZlciB1c2VyLicgPT4gJ1ZvbGcgYXViIGRlIG9uZGVyc3RhYW5kZSBpbnN0cnVjdGllcyBvbSBsZWVzIGVuIHNjaHJpamZ0b2VnYW5nIHZvb3IgZGUgd2Vic2VydmVyZ2VicnVpa2VyIHRlIGtyaWpnZW4uJywKICAnUGxlYXNlIG1ha2UgYXQgbGVhc3QgezB9IHNlbGVjdGlvbnMuIHsxfSBjaGVja2VkIHNvIGZhci4nID0+ICdNYWFrdCB1IGF1YiBtaW5zdGVucyB7MH0gIHNlbGVjdGllcy4gVG90IG5vZyB0b2UgaGVlZnQgdSB7MX0gc2VsZWN0aWVzIGdlbWFha3QuJywKICAnUGxlYXNlIG5vdGUgdGhhdCBub24tYmFzZSB2YXJpYWJsZXMgZGVwZW5kIG9uIHRoZSBjb250ZXh0IG9mIHVzZS4gVmlzaXQgb3NUaWNrZXQgV2lraSBmb3IgdXAgdG8gZGF0ZSBkb2N1bWVudGF0aW9uLicgPT4gJ0hvdWQgZXIgcmVrZW5pbmcgbWVlIGRhdCBuaWV0LWJhc2lzIHZhcmlhYmVsZW4gYWZoYW5rZWxpamsgemlqbiB2YW4gZGUgY29udGV4dCB3YWFyaW4gemUgZ2VicnVpa3Qgd29yZGVuLiBCZXpvZWsgb3NUaWNrZXQgV2lraSB2b29yIHVwLXRvLWRhdGUgZG9jdW1lbnRhdGllLicsCiAgJ1BsZWFzZSBub3RlIHRoYXQgdXBkYXRlcyB3aWxsIGJlIHJlZmxlY3RlZCBzeXN0ZW0td2lkZS4nID0+ICdWZXJnZXdpcyB1IGVydmFuIGRhdCBkZXplIGJld2Vya2luZ2VuIG92ZXIgaGVlbCBoZXQgc3lzdGVlbSB3b3JkZW4gZG9vcmdldm9lcmQuJywKICAnUGxlYXNlIG5vdGUgdGhlIGVycm9yKHMpLCBpZiBhbnksIHdoZW4gJTEkcyBzZWVraW5nIGhlbHAgJTIkcy4nID0+ICdOb3RlZXIgYXViIGRlIGZvdXRlbiwgYWxzIGRlemUgZXIgemlqbiwgZW4gdSAlMSRzIHRlbGVmb25pc2NoZSBvbmRlcnN0ZXVuaW5nICUyJHMgbm9kaWcgaGVlZnQuJywKICAnUGxlYXNlIHByb3ZpZGUgeW91ciBlbWFpbCBhZGRyZXNzIGFuZCBhIHRpY2tldCBudW1iZXIuJyA9PiAnVnVsIHV3IGUtbWFpbGFkcmVzIGVuIGVlbiB0aWNrZXRudW1tZXIgaW4uJywKICAnUGxlYXNlIHJlLWVudGVyIHRoZSB0ZXh0IGFnYWluJyA9PiAnVm9lciBhdWIgZGUgdGVrc3Qgb3BuaWV1dyBpbicsCiAgJ1BsZWFzZSByZWZlciB0byAlcyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBjaGFuZ2VzIGFuZC9vciBuZXcgZmVhdHVyZXMuJyA9PiAnUmVmZXJlZXJ0IHUgYXViIGFhbiAlcyB2b29yIG1lZXIgaW5mb3JtYXRpZSBvbXRyZW50IGRlIHdpanppZ2luZ2VuIGVuIHZlcmJldGVyaW5nZW4uJywKICAnUGxlYXNlIHJlZmVyIHRvIHRoZSAlMSRzIFVwZ3JhZGUgR3VpZGUgJTIkcyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nID0+ICdSZWZyZWVydCB1IGF1YiBhYW4gZGUgJTEkcyB1cGdyYWRlIGdpZHMgJTIkcyB2b29yIG1lZXIgaW5mb3JtYXRpZS4nLAogICdQbGVhc2UgcmVtb3ZlIHswfSBzZWxlY3Rpb24ocykuJyA9PiAnVmVyd2lqZGVyIHswfSBzZWxlY3RpZXMuJywKICAnUGxlYXNlIHJlbmFtZSBjb25maWcgZmlsZSBpbmNsdWRlLyVzIHRvIGluY2x1ZGUvb3N0LWNvbmZpZy5waHAgdG8gYXZvaWQgcG9zc2libGUgY29uZmxpY3RzJyA9PiAnSGVybm9lbSBoZXQgY29uZmlndXJhdGllYmVzdGFuZCBpbmNsdWRlLyVzIG5hYXIgaW5jbHVkZS9vc3QtY29uZmlnLnBocCBvbSBldmVudHVlbGUgY29uZmxpY3RlbiB0ZSB2b29ya29tZW4nLAogICdQbGVhc2UgdHJ5IGFnYWluIScgPT4gJ1Byb2JlZXIgaGV0IG9wbmlldXchJywKICAnUGxlYXNlIHdhaXQuLi4gaXQgd2lsbCB0YWtlIGEgc2Vjb25kIScgPT4gJ0VlbiBtb21lbnQgZ2VkdWxkIGFsc3R1YmxpZWZ0Li4uJywKICAnUGxlYXNlIHdhaXQuLi4gd2hpbGUgd2UgaW5zdGFsbCB5b3VyIG5ldyBzdXBwb3J0IHRpY2tldCBzeXN0ZW0hJyA9PiAnRWVuIG9nZW5ibGlrIGdlZHVsZCBhdWIsIHV3IHN1cHBvcnQgdGlja2V0IHN5c3RlZW0gd29yZHQgZ2VpbnN0YWxsZWVyZCEnLAogICdQbGVhc2Ugd2FpdC4uLiB3aGlsZSB3ZSB1cGdyYWRlIHlvdXIgb3NUaWNrZXQgaW5zdGFsbGF0aW9uIScgPT4gJ0VlbiBvZ2VuYmxpayBhdWIsIHdlIHppam4gdXcgb3NUaWNrZXQgaW5zdGFsbGF0aWUgYWFuIGhldCBiaWp3ZXJrZW4hJywKICAnUGx1Z2luIE5hbWUnID0+ICdQbHVnaW4gbmFhbScsCiAgJ1BsdWdpbnMnID0+ICdQbHVnaW5zJywKICAnUGx1cmFsIE5hbWUnID0+ICdOYWFtIGluIG1lZXJ2b3VkJywKICAnUG9ydCBOdW1iZXInID0+ICdQb29ydG51bW1lcicsCiAgJ1BvcnQgcmVxdWlyZWQnID0+ICdQb29ydCB2ZXJlaXN0JywKICAnUG9zdCBJbnRlcm5hbCBOb3RlJyA9PiAnTWFhayBlZW4gaW50ZXJuZSBub3RpdGllJywKICAnUG9zdCBOb3RlJyA9PiAnVmVyemVuZCBub3RpdGllJywKICAnUG9zdCBSZXBseScgPT4gJ1JlYWN0aWUgcGxhYXRzZW4nLAogICdQb3N0IFVwZGF0ZScgPT4gJ1VwZGF0ZSBvbmxpbmUgemV0dGVuJywKICAnUG9zdCBhIFJlcGx5JyA9PiAnUGxhYXRzIGVlbiByZWFjdGllJywKICAnUG9zdC1JbnN0YWxsIFNldHVwJyA9PiAnSW5zdGVsbGluZ2VuIG5hIGluc3RhbGxhdGllJywKICAnUG9zdC11cGdyYWRlJyA9PiAnTmEtdXBncmFkZScsCiAgJ1Bvc3RlcicgPT4gJ1Bvc3RlcicsCiAgJ1Bvd2VyZWQgYnknID0+ICdQb3dlcmVkIGJ5JywKICAnUHJlZmVyZW5jZXMnID0+ICdWb29ya2V1cmVuJywKICAnUHJlZmVycmVkIExhbmd1YWdlJyA9PiAnVm9vcmtldXJzdGFhbCcsCiAgJ1ByZWZlcnJlZCBMb2NhbGUnID0+ICdWb29ya2V1cnNsb2NhdGllJywKICAnUHJlZml4IGFscmVhZHkgaW4tdXNlJyA9PiAnVm9vcnZvZWdzZWwgKHByZWZpeCkgYWwgaW4gZ2VicnVpaycsCiAgJ1ByZW1hZGUnID0+ICdWb29yYmV3ZXJrdCcsCiAgJ1ByZW1hZGUgUmVwbGllcycgPT4gJ1Zvb3JnZXByb2dyYW1tZWVyZGUgYW50d29vcmRlbicsCiAgJ1ByZXJlcXVpc2l0ZXMnID0+ICdWZXJlaXN0ZW4nLAogICdQcmV2aWV3IFRhc2snID0+ICdWb29yYmVlbGR3ZWVyZ2F2ZSB2YW4gdGFhaycsCiAgJ1ByZXZpZXcgVGlja2V0JyA9PiAnVm9vcmJlZWxkd2VlcmdhdmUgdmFuIHRpY2tldCcsCiAgJ1ByaW1hcnkgQ29udGFjdHMnID0+ICdQcmltYWlyZSBjb250YWN0ZW4nLAogICdQcmltYXJ5IERlcGFydG1lbnQnID0+ICdTdGFuZGFhcmQgYWZkZWxpbmcnLAogICdQcmltYXJ5IExhbmd1YWdlJyA9PiAnU3RhbmRhYXJkIHRhYWxpbnN0ZWxsaW5nJywKICAnUHJpbWFyeSBSb2xlJyA9PiAnUHJpbWFpcmUgcm9sJywKICAnUHJpbWFyeSBjb250YWN0cyBzZWUgYWxsIHRpY2tldHMnID0+ICdQcmltYWlyZSBjb250YWN0ZW4gemllbiBhbGxlIHRpY2tldHMnLAogICdQcmludCcgPT4gJ0FmZHJ1a2tlbicsCiAgJ1ByaW50IDxiPkludGVybmFsPC9iPiBOb3Rlcy9Db21tZW50cycgPT4gJ0RydWsgPGI+SW50ZXJuZTwvYj4gTm90aXRpZXMvb3BtZXJraW5nZW4gYWYnLAogICdQcmludCBOb3RlcycgPT4gJ0RydWsgbm90aXRpZXMgYWYnLAogICdQcmlvcml0eScgPT4gJ1ByaW9yaXRlaXQnLAogICdQcmlvcml0eSBMZXZlbCcgPT4gJ1ByaW9yaXRlaXRzbml2ZWF1JywKICAnUHJpdmF0ZScgPT4gJ1ByaXZlJywKICAnUHJpdmF0ZSDigJQgT25seSBhZ2VudHMgY2FuIHJlZ2lzdGVyIHVzZXJzJyA9PiAnUHJpdsOpIC0tIEFsbGVlbiBtZWRld2Vya2VycyBrdW5uZW4gZ2VicnVpa2VycyByZWdpc3RyZXJlbicsCiAgJ1ByaXZhdGUvSW50ZXJuYWwnID0+ICdQcml2w6kvSW50ZXJuJywKICAnUHJvZmlsZScgPT4gJ1Byb2ZpZWwnLAogICdQcm9maWxlIHByZWZlcmVuY2VzIGFuZCBzZXR0aW5ncycgPT4gJ1Byb2ZpZWx2b29ya2V1cmVuIGVuIGluc3RlbGxpbmdlbicsCiAgJ1Byb2ZpbGUgdXBkYXRlIGVycm9yLicgPT4gJ1Byb2ZpZWwgYmlqd2Vya2VuIG1pc2x1a3QuJywKICAnUHJvZmlsZSB1cGRhdGVkIHN1Y2Nlc3NmdWxseScgPT4gJ1Byb2ZpZWwgc3VjY2Vzdm9sIGJpamdld2Vya3QnLAogICdQcm9tcHQnID0+ICdHZXZyYWFnZCcsCiAgJ1Byb3BlcnRpZXMnID0+ICdFaWdlbnNjaGFwcGVuJywKICAnUHVibGljJyA9PiAnT3BlbmJhYXInLAogICdQdWJsaWMgVVJMJyA9PiAnV2ViYWRyZXMnLAogICdQdWJsaWMg4oCUIEFueW9uZSBjYW4gcmVnaXN0ZXInID0+ICdQdWJsaWVrZWxpamsgLS0gaWVkZXJlZW4ga2FuIHppY2ggcmVnaXN0cmVyZW4nLAogICdQdWJsaXNoZWQnID0+ICdHZXB1YmxpY2VlcmQnLAogICdQdXJnZSBMb2dzJyA9PiAnVmVyd2lqZGVyIGxvZ2JvZWtlbicsCiAgJ1F1ZXJ5IGFyZ3VtZW50IGlzIHJlcXVpcmVkJyA9PiAnUXVlcnkgYXJndW1lbnQgaXMgdmVyZWlzdCcsCiAgJ1F1ZXJ5IHJldHVybmVkIDAgcmVzdWx0cy4nID0+ICdVdyB6b2Vrb3BkcmFjaHQgbGV2ZXJkZSAwIHJlc3VsdGF0ZW4gb3AuJywKICAnUXVlcnkgdG9rZW4gbm90IGZvdW5kJyA9PiAnQWZ2cmFhZ3Rla2VuIG5pZXQgZ2V2b25kZW4nLAogICdRdWVyeVNldCBpcyByZWFkLW9ubHknID0+ICdRdWVyeVNldCBpcyBhbGxlZW4tbGV6ZW4nLAogICdRdWVzdGlvbicgPT4gJ1ZyYWFnJywKICAnUXVlc3Rpb24gYWxyZWFkeSBleGlzdHMnID0+ICdEZXplIHZyYWFnIGJlc3RhYXQgYWwnLAogICdRdWVzdGlvbiByZXF1aXJlZCcgPT4gJ1ZyYWFnIHZlcmVpc3QnLAogICdRdWV1ZSBOYW1lJyA9PiAnTmFhbSB3YWNodHJpaicsCiAgJ1F1ZXVlIFNlYXJjaCBDcml0ZXJpYScgPT4gJ1pvZWtjcml0ZXJpYScsCiAgJ1F1ZXVlcycgPT4gJ1dhY2h0cmlqZW4nLAogICdSYW5kb20nID0+ICdXaWxsZWtldXJpZycsCiAgJ1JhdyBFbWFpbCBIZWFkZXJzJyA9PiAnT3JpZ2luZWxlIEhvb2ZkaW5nIEVtYWlsJywKICAnUmUtZW50ZXIgeW91ciB1c2VybmFtZSBvciBlbWFpbCcgPT4gJ1ZvZXIgdXcgZ2VicnVpa2Vyc25hYW0gb2YgZS1tYWlsIG9wbmlldXcgaW4nLAogICdSZWFzb24gZm9yIGVkaXRpbmcgdGhlIHRhc2sgKG9wdGlvbmFsKScgPT4gJ1JlZGVuIG9tIGRlIHRhYWsgYWFuIHRlIHBhc3NlbiAob3B0aW9uZWVsKScsCiAgJ1JlYXNzaWduJyA9PiAnT3BuaWV1dyB0b2ViZWRlbGVuJywKICAnUmVjZWl2ZWQgRnJvbTogJTEkcyA8JTIkcz4nID0+ICdPbnR2YW5nZW4gdmFuOiAlMSRzIDwlMiRzPicsCiAgJ1JlY2lwaWVudCcgPT4gJ09udHZhbmdlcicsCiAgJ1JlY2lwaWVudHMnID0+ICdPbnR2YW5nZXJzJywKICAnUmVjb21tZW5kZWQnID0+ICdhYW5iZXZvbGVuJywKICAnUmVmZXIgdG8gJTEkcyBVcGdyYWRlIEd1aWRlICUyJHMgZm9yIHRoZSBsYXRlc3QgdGlwcycgPT4gJ1JlZmVyZWVyIGFhbiBkZSAlMSRzIFVwZ3JhZGUgR3VpZGUgJTIkcyB2b29yIGRlIGxhYXRzdGUgdGlwcycsCiAgJ1JlZmVyIHRvIHRoZSAlcyBJbnN0YWxsYXRpb24gR3VpZGUgJXMgb24gdGhlIHdpa2kgZm9yIG1vcmUgaW5mb3JtYXRpb24uJyA9PiAnTGVlcyBkZSAlcyBpbnN0YWxsYXRpZSBnaWRzICVzIG9wIGRlIHdpa2ktcGFnaW5hIHZvb3IgbWVlciBpbmZvcm1hdGllLicsCiAgJ1JlZnJlc2gnID0+ICdWZXJuaWV1d2VuJywKICAnUmVmcmVzaCB0aGUgY3VycmVudCBwYWdlIHRvIHJlc3RvcmUgYW5kIGNvbnRpbnVlIHlvdXIgZHJhZnQuJyA9PiAnVmVydmVycyBkZSBodWlkaWdlIHBhZ2luYSBvbSB3ZWVyIG9wIHRlIGhhbGVuIGVuIHZlcmRlciB0ZSBnYWFuIG1ldCBqZSBjb25jZXB0LicsCiAgJ1JlZ2V4IGNvbXBpbGUgZXJyb3I6ICgjJXMpJyA9PiAnUmVnZXggY29tcGlsZWVyIGZvdXQ6ICgjJXMpJywKICAnUmVnaXN0ZXInID0+ICdSZWdpc3RyZWVyJywKICAnUmVnaXN0ZXI6ICVzJyA9PiAnUmVnaXN0cmVlcjogJXMnLAogICdSZWdpc3RlcmVkJyA9PiAnR2VyZWdpc3RyZWVyZCcsCiAgJ1JlZ2lzdHJhdGlvbiBNZXRob2QnID0+ICdSZWdpc3RyYXRpZW1ldGhvZGUnLAogICdSZWdpc3RyYXRpb24gUmVxdWlyZWQnID0+ICdSZWdpc3RyYXRpZSB2ZXJlaXN0JywKICAnUmVndWxhciBFeHByZXNzaW9uJyA9PiAncmVndWxhaXJlIGV4cHJlc3NpZScsCiAgJ1JlamVjdCBUaWNrZXQnID0+ICdUaWNrZXQgdmVyd2VycGVuJywKICAnUmVsYXRlZCBSZXNvdXJjZXMnID0+ICdHZXJlbGF0ZWVyZGUgYnJvbm5lbicsCiAgJ1JlbGF0ZWQgVGlja2V0cycgPT4gJ0dlcmVsYXRlZXJkZSB0aWNrZXRzJywKICAnUmVsYXRpdmUgVGltZScgPT4gJ1JlbGF0aWV2ZSB0aWpkJywKICAnUmVsZWFzZSAodW5hc3NpZ24pIFRpY2tldCcgPT4gJ1RpY2tldCBsb3NtYWtlbiAocmVsZWFzZSknLAogICdSZWxlYXNlIE5vdGVzJyA9PiAnVmVyc2llIGluZm9ybWF0aWUgKHJlbGVhc2Ugbm90ZXMpJywKICAnUmVsZXZhbmNlJyA9PiAnUmVsZXZhbnRpZScsCiAgJ1JlbG9hZCcgPT4gJ09wbmlldXcgbGFkZW4nLAogICdSZW1lbWJlciB0byBiYWNrIHVwIHlvdXIgb3NUaWNrZXQgZGF0YWJhc2UnID0+ICdWZXJnZWV0IG5pZXQgdXcgb3NUaWNrZXQgZGF0YWJhc2UgdGUgYmFja3VwcGVuJywKICAnUmVtb3ZlJyA9PiAnVmVyd2lqZGVyZW4nLAogICdSZW1vdmUgRXhpc3RpbmcgRGF0YT8nID0+ICdCZXN0YWFuZGUgZ2VnZXZlbnMgdmVyd2lqZGVyZW4/JywKICAnUmVtb3ZlIGFsbCBkYXRhIGVudGVyZWQgZm9yIDx1PiAlcyA8L3U+PycgPT4gJ1ZlcndpamRlciBhbGxlIGdlZ2V2ZW5zIHZvb3IgPHU+ICVzIDwvdT4/JywKICAnUmVuYW1lIGZpbGUgPGI+aW5jbHVkZS9zZXR0aW5ncy5waHA8L2I+IHRvIDxiPmluY2x1ZGUvb3N0LWNvbmZpZy5waHA8L2I+IGFuZCBjbGljayBjb250aW51ZSBiZWxvdy4nID0+ICdIZXJub2VtIGJlc3RhbmQgPGI+aW5jbHVkZS9zZXR0aW5ncy5waHA8L2I+IG5hYXIgPGI+L2luY2x1ZGUvb3N0LWNvbmZpZy5waHA8L2I+IGVuIGtsaWsgaGllcm9uZGVyIG9tIHZlcmRlciB0ZSBnYWFuLicsCiAgJ1JlbmFtZSB0aGUgc2FtcGxlIGZpbGUgPGI+aW5jbHVkZS9vc3Qtc2FtcGxlY29uZmlnLnBocDwvYj4gdG8gPGI+b3N0LWNvbmZpZy5waHA8L2I+IGFuZCBjbGljayBjb250aW51ZSBiZWxvdy4nID0+ICdIZXJub2VtIGhldCB2b29yYmVlbGRiZXN0YW5kIDxiPmluY2x1ZGUvb3N0LXNhbXBsZWNvbmZpZy5waHA8L2I+IG5hYXIgPGI+aW5jbHVkZS9vc3QtY29uZmlnLnBocDwvYj4gZW4ga2xpayBoaWVyb25kZXIgb20gZG9vciB0ZSBnYWFuLicsCiAgJ1JlbmV3JyA9PiAnVmVybmlldXdlbicsCiAgJ1Jlb3BlbicgPT4gJ0hlcm9wZW4nLAogICdSZW9wZW4gU3RhdHVzJyA9PiAnSGVyb3BlbiBzdGF0dXMnLAogICdSZW9wZW4gVGFzayAjJXMnID0+ICdIZXJvcGVuIHRhYWsgIyVzJywKICAnUmVvcGVuZWQnID0+ICdIZXJvcGVuZCcsCiAgJ1Jlb3BlbmVkIGJ5IDxiPntzb21lYm9keX08L2I+IHt0aW1lc3RhbXB9JyA9PiAnSGVyb3BlbmQgZG9vciA8Yj57c29tZWJvZHl9PC9iPiB7dGltZXN0YW1wfScsCiAgJ1JlcGx5JyA9PiAnQW50d29vcmQnLAogICdSZXBseSBTZXBhcmF0b3IgVGFnJyA9PiAnQW50d29vcmQgYWZzY2hlaWRpbmdzcmVnZWwnLAogICdSZXBseSBwb3N0ZWQgc3VjY2Vzc2Z1bGx5JyA9PiAnQW50d29vcmQgc3VjY2Vzdm9sIG9wZ2VzbGFnZW4nLAogICdSZXBseSBzZXBhcmF0b3IgaXMgcmVxdWlyZWQgdG8gc3RyaXAgcXVvdGVkIHJlcGx5LicgPT4gJ0FudHdvb3JkIHNjaGVpZGluZ3N0ZWtlbiBpcyB2ZXJlaXN0IG9tIGdlY2l0ZWVyZCBhbnR3b29yZCB0ZSBzdHJpcHBlbi4nLAogICdSZXBseS1UbyBFbWFpbCcgPT4gJ0FudHdvb3JkLUFhbiBFbWFpbCcsCiAgJ1JlcGx5LVRvIE5hbWUnID0+ICdBbnR3b29yZC1BYW4gTmFhbScsCiAgJ1JlcG9ydCB0aW1lZnJhbWUnID0+ICdSYXBwb3J0YWdlIHRpamRzcGFubmUnLAogICdSZXF1ZXN0IGZhaWxlZCAtIHJldHJ5IGFnYWluIScgPT4gJ0FhbnZyYWFnIG1pc2x1a3QgLSBwcm9iZWVyIG9wbmlldXchJywKICAnUmVxdWlyZSBDbGllbnQgTG9naW4nID0+ICdWZXJlaXN0IGdlYnJ1aWtlciBpbiB0ZSBsb2dnZW4nLAogICdSZXF1aXJlIEhlbHAgVG9waWMgdG8gQ2xvc2UnID0+ICdWZXJlaXMgaGVscG9uZGVyd2VycCBvbSB0ZSBzbHVpdGVuJywKICAnUmVxdWlyZSBlbWFpbCB2ZXJpZmljYXRpb24gb24gIkNoZWNrIFRpY2tldCBTdGF0dXMiIHBhZ2UnID0+ICdWZXJlaXMgZW1haWwgdmVyaWZpY2F0aWUgb3AgIkNvbnRyb2xlZXIgdGlja2V0IHN0YXR1cyIgcGFnaW5hJywKICAnUmVxdWlyZSBlbnRyeSB0byBjbG9zZSBhIHRocmVhZCcgPT4gJ0VlbiBpbmdhdmUgdmVycGxpY2h0ZW4gb20gZWVuIGRpc2N1c3NpZSB0ZSBzbHVpdGVuJywKICAnUmVxdWlyZSBwYXNzd29yZCBjaGFuZ2UgYXQgbmV4dCBsb2dpbicgPT4gJ09wbmlldXcgd2FjaHR3b29yZCBpbnN0ZWxsZW4gYmlqIHZvbGdlbmRlIGtlZXIgaW5sb2dnZW4gdmVyZWlzdCcsCiAgJ1JlcXVpcmUgcGFzc3dvcmQgY2hhbmdlIG9uIGxvZ2luJyA9PiAnVmVyZWlzIHdhY2h0d29vcmQgdmVyYW5kZXJlbiBiaWogZWVyc3R2b2xnZW5kZSBsb2dpbicsCiAgJ1JlcXVpcmUgcmVnaXN0cmF0aW9uIGFuZCBsb2dpbiB0byBjcmVhdGUgdGlja2V0cycgPT4gJ1ZlcmVpcyByZWdpc3RyYXRpZSBlbiBpbmxvZ2dlbiBvbSB0aWNrZXRzIHRlIG1ha2VuJywKICAnUmVxdWlyZWQnID0+ICdWZXJwbGljaHQnLAogICdSZXF1aXJlZCBmb3IgQWdlbnRzJyA9PiAnVmVycGxpY2h0IHZvb3IgYWdlbnRlbicsCiAgJ1JlcXVpcmVkIGZvciBFbmRVc2VycycgPT4gJ1ZlcnBsaWNodCB2b29yIGVpbmRnZWJydWlrZXJzJywKICAnUmVxdWlyZWQgZm9yIG1haWwgZmV0Y2hpbmcnID0+ICdWZXJlaXN0IHZvb3IgaGV0IG9waGFsZW4gdmFuIG1haWwnLAogICdSZXF1aXJlZCB0byBjbG9zZSBhIHRocmVhZCcgPT4gJ1ZlcnBsaWNodCBvbSBlZW4gZGlzY3Vzc2llIHRlIHNsdWl0ZW4nLAogICdSZXF1aXJlZCB0byBjbG9zZSB0aWNrZXQnID0+ICdWZXJwbGljaHQgb20gZWVuIHRpY2tldCB0ZSBzbHVpdGVuJywKICAnUmVzZW5kJyA9PiAnT3BuaWV1dyB2ZXJzdHVyZW4nLAogICdSZXNlbmQgRW50cnknID0+ICdJbmdhdmUgb3BuaWV1dyBvcHN0dXJlbicsCiAgJ1Jlc2VudCcgPT4gJ1ZlcnN0dXVyIG9wbmlldXcnLAogICdSZXNldCcgPT4gJ0hlcnN0ZWxsZW4nLAogICdSZXNldCBBY2Nlc3MnID0+ICdSZXNldCBkZSB0b2VnYW5nJywKICAnUmVzZXQgQWdlbnQgUGVybWlzc2lvbnMnID0+ICdSZXNldCBhZ2VudCBwZXJtaXNzaWVzJywKICAnUmVzZXQgQ2hhbmdlcycgPT4gJ0hlcnN0ZWxsZW4nLAogICdSZXNldCBQZXJtaXNzaW9ucycgPT4gJ1Jlc2V0IGRlIHBlcm1pc3NpZXMnLAogICdSZXNldCBUb2tlbiBFeHBpcmF0aW9uJyA9PiAnUmVzZXQgaGV0IGdlbGRpZ2hlaWRzdGVrZW4nLAogICdSZXNldCBsaW5rIHVzZWQgYnkgdGhlIHBhc3N3b3JkIHJlc2V0IGZlYXR1cmUnID0+ICdSZXNldCBsaW5rIGdlYnJ1aWt0IGRvb3IgZGUgd2FjaHR3b29yZCByZXNldCBmdW5jdGllJywKICAnUmVzcG9uc2UnID0+ICdBbnR3b29yZCcsCiAgJ1Jlc3BvbnNlIFRpbWUnID0+ICdSZWFjdGlldGlqZCcsCiAgJ1Jlc3BvbnNlIGNvbnRlbnQgaXMgcmVxdWlyZWQnID0+ICdSZWFjdGllLWluaG91ZCBpcyB2ZXJlaXN0JywKICAnUmVzcG9uc2UgcmVxdWlyZWQnID0+ICdSZWFjdGllIHZlcmVpc3QnLAogICdSZXNwb25zZSB0ZXh0IGlzIHJlcXVpcmVkJyA9PiAnQW50d29vcmQgdGVrc3QgaXMgbm9kaWcnLAogICdSZXNwb25zZS9SZXBseSBUZW1wbGF0ZScgPT4gJ1JlYWN0aWUvQW50d29vcmQgc2phYmxvb24nLAogICdSZXN0b3JlIHlvdXIgcHJldmlvdXMgdmVyc2lvbiBmcm9tIGJhY2t1cCBhbmQgdHJ5IGFnYWluIG9yICUxJHMgc2VlayBoZWxwICUyJHMuJyA9PiAnTGVlcyBkZSB2b29yZ2FhbmRlIHZlcnNpZSB2aWEgZGUgYmFjay11cCB0ZXJ1ZyBlbiBwcm9iZWVyIG9wbmlldXcgb2YgJTEkcyB6b2VrIGh1bHAgJTIkcy4nLAogICdSZXN0cmljdCBieSBGaWxlIFR5cGUnID0+ICdCZXBlcmtlbiBvcCBiZXN0YW5kc3R5cGUnLAogICdSZXR5cGUgUGFzc3dvcmQnID0+ICdIZXJoYWFsIHV3IHdhY2h0d29vcmQnLAogICdSZXR5cGUgYWRtaW5cJ3MgcGFzc3dvcmQuIE11c3QgbWF0Y2guJyA9PiAnSGVyaGFhbCBoZXQgYmVoZWVyZGVyc3dhY2h0d29vcmQuIEJlaWRlIGluZ2F2ZXMgbW9ldGVuIG92ZXJlZW5rb21lbi4nLAogICdSb2xlJyA9PiAnUm9sJywKICAnUm9sZSBmb3IgcHJpbWFyeSBkZXBhcnRtZW50IGlzIHJlcXVpcmVkJyA9PiAnRGUgcm9sIHZhbiBkZSBwcmltYWlyZSBhZmRlbGluZyBpcyB2ZXJwbGljaHQnLAogICdSb2xlIHVwZGF0ZWQgc3VjY2Vzc2Z1bGx5JyA9PiAnUm9sIGJpandlcmtlbiBzdWNjZXN2b2wnLAogICdSb2xlcycgPT4gJ1JvbGxlbicsCiAgJ1JvbGVzIGFyZSB1c2VkIHRvIGRlZmluZSBhZ2VudHNcJyBwZXJtaXNzaW9ucycgPT4gJ1JvbGxlbiB3b3JkZW4gZ2VicnVpa3Qgb20gZGUgcGVybWlzc2llcyB2YW4gZGUgYWdlbnRlbiB0ZSBkZWZpbmnDq3JlbicsCiAgJ1J1bGVzJyA9PiAnUmVnZWxzJywKICAnUnVsZXMgTWF0Y2hpbmcgQ3JpdGVyaWEnID0+ICdSZWdlbHMgZGllIGFhbiBjcml0ZXJpYSB2b2xkb2VuJywKICAnUnVsZXMgYXJlIGFwcGxpZWQgYmFzZWQgb24gdGhlIGNyaXRlcmlhLicgPT4gJ1JlZ2VscyB3b3JkZW4gb3AgYmFzaXMgdmFuIHV3IGNyaXRlcmlhIHRvZWdlcGFzdC4nLAogICdTTEEnID0+ICdTZXJ2aWNlIExldmVsJywKICAnU0xBIER1ZSBEYXRlJyA9PiAnU0xBIHZlcnZhbGRhdHVtJywKICAnU0xBIFBsYW4nID0+ICdTZXJ2aWNlIG5pdmVhdScsCiAgJ1NMQSBjYW4gYmUgb3ZlcnJpZGRlbiBvbiB0aWNrZXQgdHJhbnNmZXIgb3IgaGVscCB0b3BpYyBjaGFuZ2UnID0+ICdTTEEga2FuIG92ZXJzY2hyZXZlbiB3b3JkZW4gbWlkZGVscyBlZW4gdGlja2V0IG92ZXJkcmFjaHQgb2YgZWVuIHZlcmFuZGVyaW5nIHZhbiBoZWxwb25kZXJ3ZXJwJywKICAnU01UUCcgPT4gJ1NNVFAnLAogICdTUUwgZXJyb3JzJyA9PiAnU1FMIGZvdXRlbicsCiAgJ1NZU1RFTScgPT4gJ1NZU1RFRU0nLAogICdTWVNURU0gKEF1dG8gQXNzaWdubWVudCknID0+ICdTWVNURUVNIChhdXRvbWF0aXNjaGUgdG9ld2lqemluZyknLAogICdTWVNURU0gKENhbm5lZCBSZXBseSknID0+ICdTWVNURUVNIChpbmdlYmxpa3QgYW50d29vcmQpJywKICAnU1lTVEVNIEJBTiBMSVNUIGZpbHRlciBpcyA8Yj5ESVNBQkxFRDwvYj4nID0+ICdTeXN0ZWVtIGJsb2tsaWpzdCBmaWx0ZXIgaXMgPGI+VUlUR0VTQ0hBS0VMRDwvYj4nLAogICdTYXZlJyA9PiAnT3BzbGFhbicsCiAgJ1NhdmUgQ2hhbmdlcycgPT4gJ1dpanppZ2luZ2VuIG9wc2xhYW4nLAogICdTYXZlIGFuZCBSZXNlbmQnID0+ICdCZXdhcmVuIGVuIG9wbmlldXcgdmVyc3R1cmVuJywKICAnU2F2ZWQgcXVldWUgd2l0aCBzYW1lIG5hbWUgZXhpc3RzJyA9PiAnRWVuIHdhY2h0cmlqIG1ldCBkZXplIG5hYW0gYmVzdGFhdCBhbCcsCiAgJ1NhdmluZycgPT4gJ0JlemlnIHRlIGJld2FyZW4nLAogICdTY2hlbWEnID0+ICdTY2hlbWEnLAogICdTY2hlbWEgU2lnbmF0dXJlJyA9PiAnU2NoZW1hIHNpZ25hdHV1cicsCiAgJ1NlYXJjaCcgPT4gJ1pvZWtlbicsCiAgJ1NlYXJjaCBSZXN1bHRzJyA9PiAnWm9la3Jlc3VsdGF0ZW4nLAogICdTZWFyY2ggYnkgZW1haWwsIHBob25lIG9yIG5hbWUnID0+ICdab2VrZW4gdmlhIGUtbWFpbCwgdGVsZWZvb24gb2YgbmFhbScsCiAgJ1NlYXJjaCBleGlzdGluZyBvcmdhbml6YXRpb25zIG9yIGFkZCBhIG5ldyBvbmUuJyA9PiAnWm9layBiaW5uZW4gYmVzdGFhbmRlIG9yZ2FuaXNhdGllcywgb2Ygdm9lZyB0b2UuJywKICAnU2VhcmNoIGV4aXN0aW5nIHVzZXJzIG9yIGFkZCBhIG5ldyB1c2VyLicgPT4gJ0Jlc3RhYW5kZSBnZWJydWlrZXJzIHpvZWtlbiBvZiBlZW4gbmlldXdlIGdlYnJ1aWtlciB0b2V2b2VnZW4uJywKICAnU2VhcmNoIGV4aXN0aW5nIHVzZXJzLicgPT4gJ1pvZWsgYmVzdGFhbmRlIGdlYnJ1aWtlcnMuJywKICAnU2VhcmNoIGl0ZW1zJyA9PiAnRG9vcnpvZWsgZWxlbWVudGVuJywKICAnU2VhcmNoIG91ciBrbm93bGVkZ2UgYmFzZScgPT4gJ1pvZWsgaW4gZGUga2VubmlzZGF0YWJhc2UnLAogICdTZWNvbmRhcnkgTGFuZ3VhZ2VzJyA9PiAnQWx0ZXJuYXRpZXZlIHRhYWxpbnN0ZWxsaW5nJywKICAnU2VjdGlvbiBCcmVhaycgPT4gJ1NlY3RpZSBlaW5kZScsCiAgJ1NlY3VyaXR5IEFsZXJ0cycgPT4gJ0JldmVpbGlnaW5nc21lbGRpbmdlbicsCiAgJ1NlZSBhbGwgdGlja2V0cyBpbiBzZWFyY2ggcmVzdWx0cywgcmVnYXJkbGVzcyBvZiBhY2Nlc3MnID0+ICdMYWF0IGFsbGUgdGlja2V0cyB6aWVuIGluIGRlIHpvZWtyZXN1bHRhdGVuLCBvbmdlYWNodCBodW4gdG9lZ2FuZ3NyZWNodGVuJywKICAnU2VsZWN0JyA9PiAnU2VsZWN0ZWVyJywKICAnU2VsZWN0IEFnZW50JyA9PiAnU2VsZWN0ZWVyIG1lZGV3ZXJrZXInLAogICdTZWxlY3QgQ29udGFjdHMnID0+ICdzZWxlY3RlZXIgY29udGFjdGVuJywKICAnU2VsZWN0IERlZmF1bHQgRGVwYXJ0bWVudCcgPT4gJ1NlbGVjdGVlciBkZSBzdGFuZGFhcmQgYWZkZWxpbmcnLAogICdTZWxlY3QgRGVmYXVsdCBFbWFpbCBUZW1wbGF0ZSBTZXQnID0+ICdTZWxlY3RlZXIgc3RhbmRhYXJkIGVtYWlsIHNqYWJsb29uIGluc3RlbGxpbmdlbicsCiAgJ1NlbGVjdCBEZXBhcnRtZW50JyA9PiAnS2llcyBhZmRlbGluZycsCiAgJ1NlbGVjdCBGQVEgQ2F0ZWdvcnknID0+ICdTZWxlY3RlZXIgZGUgRkFRY2F0ZWdvcmllJywKICAnU2VsZWN0IEZST00gRW1haWwnID0+ICdTZWxlY3RlZXIgVkFOIGUtbWFpbGFkcmVzJywKICAnU2VsZWN0IEhlbHAgVG9waWMnID0+ICdIZWxwLW9uZGVyd2VycCBzZWxlY3RlcmVuJywKICAnU2VsZWN0IExhbmRpbmcgUGFnZScgPT4gJ1NlbGVjdGVlciBkZSBzdGFydHBhZ2luYScsCiAgJ1NlbGVjdCBPZmZsaW5lIFBhZ2UnID0+ICdTZWxlY3RlZXIgZGUgb2ZmbGluZS1wYWdpbmEnLAogICdTZWxlY3QgT25lJyA9PiAnc2VsZWN0ZWVyIMOpw6luJywKICAnU2VsZWN0IE9yZ2FuaXphdGlvbicgPT4gJ1NlbGVjdGVlciBvcmdhbmlzYXRpZScsCiAgJ1NlbGVjdCBQYWdlIFR5cGUnID0+ICdzZWxlY3RlZXIgaGV0IHBhZ2luYSB0eXBlJywKICAnU2VsZWN0IFByaW50IFBhcGVyIFNpemUnID0+ICdTZWxlY3RlZXIgcGFwaWVyZm9ybWFhdCcsCiAgJ1NlbGVjdCBSb2xlJyA9PiAnU2VsZWN0ZWVyIHJvbCcsCiAgJ1NlbGVjdCBTZXR0aW5nIEdyb3VwJyA9PiAnTWFya2VlciBpbnN0ZWxsaW5nZW4gZ3JvZXAnLAogICdTZWxlY3QgU291cmNlJyA9PiAnU2VsZWN0ZWVyIGJyb24nLAogICdTZWxlY3QgU3RvcmFnZSBCYWNrZW5kJyA9PiAnU2VsZWN0ZWVyIG9wc2xhZ3N5c3RlZW0nLAogICdTZWxlY3QgVGVhbScgPT4gJ1NlbGVjdGVlciBUZWFtJywKICAnU2VsZWN0IFRoYW5rLVlvdSBQYWdlJyA9PiAnU2VsZWN0ZWVyIGRlIGRhbmtwYWdpbmEnLAogICdTZWxlY3QgVXNlcicgPT4gJ1NlbGVjdGVlciBnZWJydWlrZXInLAogICdTZWxlY3QgYSBDaGFubmVsJyA9PiAnU2VsZWN0ZWVyIGVlbiBrYW5hYWwnLAogICdTZWxlY3QgYSBEZWZhdWx0JyA9PiAnU2VsZWN0ZWVyIGVlbiBzdGFuZGFhcmQnLAogICdTZWxlY3QgYSBIZWxwIFRvcGljJyA9PiAnS2llcyBlZW4gb25kZXJ3ZXJwJywKICAnU2VsZWN0IGEgTGFuZ3VhZ2UnID0+ICdTZWxlY3RlZXIgZWVuIFRhYWwnLAogICdTZWxlY3QgYSBUZWFtJyA9PiAnU2VsZWN0ZWVyIGVlbiBUZWFtJywKICAnU2VsZWN0IGEgY2FubmVkIHJlc3BvbnNlJyA9PiAnS2llcyBlZW4gYW50d29vcmQnLAogICdTZWxlY3QgYSBkZWZhdWx0IHRpY2tldCBxdWV1ZScgPT4gJ1NlbGVjdGVlciBzdGFuZGFhcmQgdGlja2V0b3ZlcnppY2h0JywKICAnU2VsZWN0IGEgZGVwYXJ0bWVudCcgPT4gJ1NlbGVjdGVlciBlZW4gYWZkZWxpbmcnLAogICdTZWxlY3QgYSB2YWxpZCBTTEEnID0+ICdTZWxlY3RlZXIgZWVuIGdlbGRpZ2UgU0xBJywKICAnU2VsZWN0IGEgdmFsaWQgcm9sZScgPT4gJ1NlbGVjdGVlciBlZW4gZ2VsZGlnZSByb2wnLAogICdTZWxlY3QgYSB2YWx1ZSBmcm9tIHRoZSBsaXN0JyA9PiAnU2VsZWN0ZWVyIGVlbiB3YWFyZGUgaW4gZGUgbGlqc3QnLAogICdTZWxlY3QgYW4gQWN0aW9uJyA9PiAnU2VsZWN0ZWVyIGVlbiBhY3RpZScsCiAgJ1NlbGVjdCBhbiBBZ2VudCcgPT4gJ1NlbGVjdGVlciBlZW4gYWdlbnQnLAogICdTZWxlY3QgYW4gQWdlbnQgT1IgYSBUZWFtJyA9PiAnU2VsZWN0ZWVyIG1lZGV3ZXJrZXIgb2YgdGVhbScsCiAgJ1NlbGVjdCBhbiBhZ2VudCBvciB0ZWFtIGZyb20gdGhlIGxpc3QnID0+ICdTZWxlY3RlZXIgZWVuIG1lZGV3ZXJrZXIgb2YgdGVhbSB1aXQgZGUgbGlqc3QnLAogICdTZWxlY3QgZnJvbSBlbWFpbCBhZGRyZXNzJyA9PiAnU2VsZWN0ZWVyIGhldCBhZnplbmRlcmFkcmVzJywKICAnU2VsZWN0IHByb3RvY29sJyA9PiAnU2VsZWN0ZWVyIHByb3RvY29sJywKICAnU2VsZWN0IHJlY2lwaWVudChzKScgPT4gJ1NlbGVjdGVlciBvbnR2YW5nZXIocyknLAogICdTZWxlY3RlZCBkYXRlIGlzIGVhcmxpZXIgdGhhbiBwZXJtaXR0ZWQnID0+ICdHZXNlbGVjdGVlcmRlIGRhdHVtIGlzIGVlcmRlciBkYW4gdG9lZ2VzdGFhbicsCiAgJ1NlbGVjdGVkIGRhdGUgaXMgbGF0ZXIgdGhhbiBwZXJtaXR0ZWQnID0+ICdHZXNlbGVjdGVlcmRlIGRhdHVtIGlzIGxhdGVyIGRhbiB0b2VnZXN0YWFuJywKICAnU2VsZWN0aW9uIHJlcXVpcmVkJyA9PiAnU2VsZWN0aWUgdmVyZWlzdCcsCiAgJ1NlbmQgQWN0aXZhdGlvbiBFbWFpbCcgPT4gJ1N0dXVyIGVlbiBhY3RpdmF0aWUgZS1tYWlsJywKICAnU2VuZCBFbWFpbCcgPT4gJ1N0dXVyIGUtbWFpbCcsCiAgJ1NlbmQgTWVzc2FnZScgPT4gJ0JlcmljaHQgdmVyemVuZGVuJywKICAnU2VuZCBQYXNzd29yZCBSZXNldCBFbWFpbCcgPT4gJ1N0dXVyIGVlbiB3YWNodHdvb3JkIGhlcnN0ZWwgZS1tYWlsJywKICAnU2VuZCBhIHdlbGNvbWUgZW1haWwgd2l0aCBsb2dpbiBpbmZvcm1hdGlvbicgPT4gJ1N0dXVyIGVlbiB3ZWxrb21zdGJlcmljaHQgbWV0IGlubG9nLWluZm8nLAogICdTZW5kIGFjY291bnQgYWN0aXZhdGlvbiBlbWFpbCB0byAlcy4nID0+ICdTdHV1ciBkZSBhY2NvdW50IGFjdGl2YXRpZSBlLW1haWwgbmFhciAlcy4nLAogICdTZW5kIGFuIEVtYWlsJyA9PiAnU3R1dXIgZWVuIGVtYWlsJywKICAnU2VuZCB0aGUgYWdlbnQgYSBwYXNzd29yZCByZXNldCBlbWFpbCcgPT4gJ1N0dXVyIGRlIGFnZW50IGVlbiBlbWFpbC1yZXNldCBiZXJpY2h0JywKICAnU2VuZGluZyBFbWFpbCB2aWEgU01UUCcgPT4gJ1plbmQgZW1haWwgdmlhIFNNVFAnLAogICdTZXF1ZW5jZScgPT4gJ1NlcXVlbnRpZScsCiAgJ1NlcnZlciBJbmZvcm1hdGlvbicgPT4gJ1NlcnZlcmluZm9ybWF0aWUnLAogICdTZXJ2ZXIgY29uZmlndXJhdGlvbiBlcnJvcicgPT4gJ3NlcnZlciBjb25maWd1cmF0aWUgZm91dCcsCiAgJ1NlcnZpY2UgTGV2ZWwgQWdyZWVtZW50JyA9PiAnU2VydmljZSBMZXZlbCBBZ3JlZW1lbnQnLAogICdTZXJ2aWNlIExldmVsIEFncmVlbWVudHMnID0+ICdTZXJ2aWNlIExldmVsIEFncmVlbWVudHMnLAogICdTZXJ2aWNlIFRpbWUnID0+ICdTZXJ2aWNlIHRpamQnLAogICdTZXJ2aWNlcycgPT4gJ1NlcnZpY2VzJywKICAnU2Vzc2lvbiB0aW1lZCBvdXQgZHVlIHRvIGluYWN0aXZpdHknID0+ICdEZSBzZXNzaWUgaXMgdmVybG9wZW4gdmFud2VnZSBpbmFjdGl2aXRlaXQnLAogICdTZXQnID0+ICdTdGVsIGluJywKICAnU2V0IEFnZW50IFBhc3N3b3JkJyA9PiAnU3RlbCBhZ2VudC13YWNodHdvb3JkIGluJywKICAnU2V0IERlcGFydG1lbnQnID0+ICdTdGVsIGFmZGVsaW5nIGluJywKICAnU2V0IEhlbHAgVG9waWMnID0+ICdTdGVsIGhldCBodWxwLW9uZGVyd2VycCBpbicsCiAgJ1NldCBQYXNzd29yZCcgPT4gJ1N0ZWwgaGV0IHdhY2h0d29vcmQgaW4nLAogICdTZXQgUHJpb3JpdHknID0+ICdTdGVsIGRlIHByaW9yaXRlaXQgaW4nLAogICdTZXQgU0xBIFBsYW4nID0+ICdTdGVsIGRlIG92ZXJlZW5rb21zdCAoU0xBKSAgaW4nLAogICdTZXQgVGlja2V0IFN0YXR1cycgPT4gJ1N0ZWwgZGUgdGlja2V0LXN0YXR1cyBpbicsCiAgJ1NldHRpbmcgZGVmYXVsdCB0aW1lem9uZSBpcyBoaWdobHkgcmVjb21tZW5kZWQnID0+ICdIZXQgaW5zdGVsbGVuIHZhbiBkZSBzdGFuZGFhcmQgdGlqZHN6b25lIGlzIGhvb2dzdCBhYW5iZXZvbGVuJywKICAnU2V0dGluZ3MnID0+ICdJbnN0ZWxsaW5nZW4nLAogICdTaG9ydCBBbnN3ZXInID0+ICdLb3J0IEFudHdvb3JkJywKICAnU2hvcnQgZGVzY3JpcHRpdmUgbmFtZS4nID0+ICdLb3J0ZSBvbXNjaHJpanZpbmcuJywKICAnU2hvdyBBdmF0YXJzJyA9PiAnVG9vbiBBdmF0YXInLAogICdTaG93IEF2YXRhcnMgb24gdGhyZWFkIHZpZXcuJyA9PiAnVG9vbiBhdmF0YXJzIGluIGRpc2N1c3NpZSB3ZWVyZ2F2ZS4nLAogICdTaG93IEltYWdlcycgPT4gJ2FmYmVlbGRpbmdlbiB3ZWVyZ2V2ZW4nLAogICdTaG93IGFsbCB0aWNrZXRzJyA9PiAnVG9vbiBhbGxlIHRpY2tldHMnLAogICdTaG93IGRhdGUvdGltZSByZWxhdGl2ZSB0byB1c2VyXCdzIHRpbWV6b25lJyA9PiAnR2VlZiBkYXR1bS90aWpkIHRlbiBvcHppY2h0ZSB2YW4gZGUgZ2VicnVpa2VyIHppam4gdGlqZHpvbmUnLAogICdTaG93IHRpbWUgc2VsZWN0aW9uIHdpdGggZGF0ZSBwaWNrZXInID0+ICdHZWVmIHRpamRzZWxlY3RpZSB3ZWVyIGluIGRhdHVta2llemVyJywKICAnU2hvd2luZycgPT4gJ1Rvb250JywKICAnU2lnbiBJbicgPT4gJ0xvZyBpbicsCiAgJ1NpZ24gT3V0JyA9PiAnQWZtZWxkZW4nLAogICdTaWduIGluIHdpdGggJXMnID0+ICdNZWxkIHUgYWFuIG1ldCAlcycsCiAgJ1NpZ24tSW4gUGFnZScgPT4gJ0Fhbm1lbGRpbmdzcGFnaW5hJywKICAnU2lnbi1pbiBMb2dpbiBCYW5uZXInID0+ICdTaWduLWluIExvZ2luIEJhbmllcicsCiAgJ1NpZ25hdHVyZScgPT4gJ0hhbmR0ZWtlbmluZycsCiAgJ1NpZ25hdHVyZSBpcyBtYWRlIGF2YWlsYWJsZSBhcyBhIGNob2ljZSwgb24gdGlja2V0IHJlcGx5LicgPT4gJ0RlIGhhbmR0ZWtlbmluZyBpcyBhbHMga2V1emUgb25kZXIgXCd0aWNrZXQgYmVhbnR3b29yZGVuXCcgYWFuZ2VtYWFrdC4nLAogICdTaXRlIFBhZ2VzJyA9PiAnU2l0ZSBwYWdpbmFcJ3MnLAogICdTaXplJyA9PiAnR3Jvb3R0ZScsCiAgJ1NpemUgYW5kIG1heGltdW0gdXBsb2FkcyBzZXR0aW5nIG1haW5seSBhcHBseSB0byB3ZWIgdGlja2V0cy4nID0+ICdEZSBncm9vdHRlIHZhbiBkZSB1cGxvYWQtaW5zdGVsbGluZ2VuIGhlYmJlbiBob29mZHpha2VsaWprIGJldHJla2tpbmcgb3AgemduIFwnd2ViXCd0aWNrZXRzLicsCiAgJ1NtYWxsJyA9PiAnS2xlaW4nLAogICdTb2x1dGlvbicgPT4gJ09wbG9zc2luZycsCiAgJ1NvbWVvbmUgZWxzZSBjb3VsZCBiZSB3b3JraW5nIG9uIHRoZSBzYW1lIHRpY2tldC4nID0+ICdJZW1hbmQgYW5kZXJzIGthbiBhYW4gaGV0emVsZmRlIHRpY2tldCB3ZXJrZW4uJywKICAnU29tZXRoaW5nIHdlbnQgd3JvbmcnID0+ICdFciBpcyBpZXRzIG1pc2dlZ2FhbicsCiAgJ1NvcnQnID0+ICdWb2xnb3JkZScsCiAgJ1NvcnQgT3JkZXInID0+ICdTb3J0ZWVydm9sZ29yZGUnLAogICdTb3J0IHRoZSBmb3JtcyBvbiB0aGlzIHRpY2tldCBieSBjbGljayBhbmQgZHJhZ2dpbmcgb24gdGhlbS4gVXNlIHRoZSBib3ggYmVsb3cgdGhlIGZvcm1zIGxpc3QgdG8gYWRkIG5ldyBmb3JtcyB0byB0aGUgdGlja2V0LicgPT4gJ1NvcnRlZXIgZGUgZm9ybXVsaWVyZW4gaW4gZGl0IHRpY2tldCBkb29yIHRlIGtsaWtrZW4gZW4gdGUgc2xlcGVuLiBHZWJydWlrIGhldCBvbmRlcnN0ZSBmb3JtdWxpZXIgb20gYmVyaWNodGVuIGFhbiBoZXQgdGlja2V0IHRvZSB0ZSB2b2VnZW4uJywKICAnU29ydGluZyBNb2RlJyA9PiAnU29ydGVyaW5nJywKICAnU291cmNlJyA9PiAnQnJvbicsCiAgJ1NwYWNlIFVzZWQnID0+ICdydWltdGUgaW4gZ2VicnVpaycsCiAgJ1NwYWNlIGZvciBBdHRhY2htZW50cycgPT4gJ1J1aW10ZSB2b29yIGJpamxhZ2VzJywKICAnU3RhZmYgQ29udHJvbCBQYW5lbCcgPT4gJ01lZGV3ZXJrZXJzIENvbnRyb2xlIFBvcnRhbCcsCiAgJ1N0YWxlIFRhc2tzJyA9PiAnU3RhZ25lcmVuZGUgdGFrZW4nLAogICdTdGFydCcgPT4gJ1N0YXJ0JywKICAnU3RhcnQgVXBncmFkZSBOb3cnID0+ICdTdGFydCBkZSB1cGdyYWRlIG51JywKICAnU3RhcnQgd3JpdGluZyB5b3VyIHJlc3BvbnNlIGhlcmUuIFVzZSBjYW5uZWQgcmVzcG9uc2VzIGZyb20gdGhlIGRyb3AtZG93biBhYm92ZScgPT4gJ1NjaHJpamYgdXcgcmVhY3RpZSBoaWVyLiBHZWJydWlrIHN0YW5kYWFyZCBhbnR3b29yZGVuIGluIGhldCBtZW51IGhpZXJib3ZlbicsCiAgJ1N0YXJ0IHdyaXRpbmcgeW91ciB1cGRhdGUgaGVyZS4nID0+ICdCZWdpbiBqZSB1cGRhdGUgaGllciB0ZSBzY2hyaWp2ZW4uJywKICAnU3RhcnRzIFdpdGgnID0+ICdTdGFydCBtZXQnLAogICdTdGF0ZScgPT4gJ1N0YXR1cycsCiAgJ1N0YXRlIG5hbWUgKGUuZy4gb3BlbiBvciBjbG9zZWQpJyA9PiAnU3RhdHVzIChvcGVuIG9mIGdlc2xvdGVuKScsCiAgJ1N0YXRpc3RpY3MnID0+ICdTdGF0aXN0aWVrZW4nLAogICdTdGF0aXN0aWNzIG9mIHRpY2tldHMgb3JnYW5pemVkIGJ5IGRlcGFydG1lbnQsIGhlbHAgdG9waWMsIGFuZCBhZ2VudC4nID0+ICdTdGF0aXN0aWVrZW4gdmFuIHRpY2tldHMgZ2VvcmdhbmlzZWVyZCBvcCBhZmRlbGluZywgaGVscC1vbmRlcndlcnAgZW4gbWVkZXdlcmtlci4nLAogICdTdGF0cycgPT4gJ1N0YXRpc3RpZWtlbicsCiAgJ1N0YXR1cycgPT4gJ1N0YXR1cycsCiAgJ1N0YXR1cyBDaGFuZ2VkJyA9PiAnU3RhdHVzIGdld2lqemlnZCcsCiAgJ1N0YXR1cyBhbmQgU2V0dGluZ3MnID0+ICdTdGF0dXMgZW4gaW5zdGVsbGluZ2VuJywKICAnU3RhdHVzIGNoYW5nZWQgdG8gJXMnID0+ICdTdGF0dXMgZ2V3aWp6aWdkIG5hYXIgJXMnLAogICdTdGF0dXMgbGFiZWwnID0+ICdTdGF0dXMgbGFiZWwnLAogICdTdGF0dXMgc2VsZWN0aW9uIHJlcXVpcmVkJyA9PiAnSGV0IGlzIHZlcnBsaWNodCBvbSBkZSBkZSBzdGF0dXNzZWxlY3RpZSB0ZSB2b2x0b29pZW4nLAogICdTdGF5IHVwIHRvIGRhdGUnID0+ICdCbGlqZiBiaWonLAogICdTdGlsbCBidXN5Li4uIHNtaWxlICMnID0+ICdOb2cgc3RlZWRzIGJlemlnLi4uIHNtaWxlICMnLAogICdTdG9jayBUZW1wbGF0ZXMnID0+ICdzdGFuZGFhcmQgc2phYmxvbmVuJywKICAnU3RvcmUgQXR0YWNobWVudHMnID0+ICdTbGEgYmlqbGFnZXMgb3AnLAogICdTdHJpcCBRdW90ZWQgUmVwbHknID0+ICdCZXBlcmsgcXVvdGUgYW50d29vcmQnLAogICdTdWJqZWN0JyA9PiAnT25kZXJ3ZXJwJywKICAnU3ViamVjdCByZXF1aXJlZCcgPT4gJ09uZGVyd2VycCB2ZXJlaXN0JywKICAnU3ViamVjdCwgaWYgYW55JyA9PiAnT25kZXJ3ZXJwLCBhbHMgZGV6ZSBlciBpcycsCiAgJ1N1Ym1pdCcgPT4gJ1ZlcnplbmRlbicsCiAgJ1N1Ym1pdHRlciBvZiB0aGUgdGhyZWFkIGl0ZW0nID0+ICdWZXJ6ZW5kZXIgdmFuIGRpc2N1c3NpZS1pdGVtJywKICAnU3VibWl0dGVyOiBTZW5kIHJlY2VpcHQgY29uZmlybWF0aW9uJyA9PiAnVmVyemVuZGVyOiBWZXJ6ZW5kIG9udHZhbmdzdGJldmVzdGlnaW5nJywKICAnU3VjY2Vzc2Z1bGx5IGFjdGl2YXRlZCAlcycgPT4gJyVzIGlzIHN1Y2Nlc3ZvbCBnZWFjdGl2ZWVyZCcsCiAgJ1N1Y2Nlc3NmdWxseSBhZGRlZCAlcycgPT4gJyVzIHN1Y2Nlc3ZvbCB0b2VnZXZvZWdkJywKICAnU3VjY2Vzc2Z1bGx5IGFkZGVkICVzLicgPT4gJyVzIHN1Y2Nlc3ZvbCB0b2VnZXZvZWdkLicsCiAgJ1N1Y2Nlc3NmdWxseSBjaGFuZ2VkIHN0YXR1cyBvZiAlMSRzIHRvICUyJHMnID0+ICdTdGF0dXMgc3VjY2Vzdm9sIHZlcmFuZGVyZCB2YW4gJTEkcyBpbiAlMiRzJywKICAnU3VjY2Vzc2Z1bGx5IGRlbGV0ZWQgJXMuJyA9PiAnICVzIHN1Y2Nlc3ZvbCB2ZXJ3aWpkZXJkLicsCiAgJ1N1Y2Nlc3NmdWxseSBkZWxldGVkJXMuJyA9PiAnU3VjY2Vzdm9sIHZlcndpamRlcmQlcy4nLAogICdTdWNjZXNzZnVsbHkgZGlzYWJsZWQgJXMnID0+ICclcyBzdWNjZXN2b2wgVWl0Z2VzY2hha2VsZCcsCiAgJ1N1Y2Nlc3NmdWxseSBlbmFibGVkICVzJyA9PiAnJXMgc3VjY2Vzdm9sIGluZ2VzY2hha2VsZCcsCiAgJ1N1Y2Nlc3NmdWxseSBpbXBvcnRlZCAlMSRkICUyJHMnID0+ICclMSRkICUyJHMgc3VjY2Vzdm9sIGdlaW1wb3J0ZWVyZCcsCiAgJ1N1Y2Nlc3NmdWxseSBpbnN0YWxsZWQgJXMnID0+ICclcyBzdWNjZXN2b2wgZ2VpbnN0YWxsZWVyZCcsCiAgJ1N1Y2Nlc3NmdWxseSBtYWRlICVzIFBSSVZBVEUnID0+ICclcyBTdWNjZXN2b2wgYWxzIHByaXZlIGdlbWFya2VlcmQnLAogICdTdWNjZXNzZnVsbHkgbWFkZSAlcyBQVUJMSUMnID0+ICclcyBpcyBzdWNjZXN2b2wgUFVCTElFS0VMSUpLIGdlemV0JywKICAnU3VjY2Vzc2Z1bGx5IG1hbmFnZWQgc2VsZWN0ZWQgZW5kIHVzZXJzJyA9PiAnSGV0IGJlaGVyZW4gdmFuIGRlIGdlc2VsZWN0ZWVyZGUgZWluZCBnZWJydWlrZXJzIGlzIHZvbHRvb2lkJywKICAnU3VjY2Vzc2Z1bGx5IG1hbmFnZWQgc2VsZWN0ZWQgb3JnYW5pemF0aW9ucycgPT4gJ1dpanppZ2luZ2VuIG9wIGdlc2VsZWN0ZWVyZGUgb3JnYW5pc2F0aWVzIHppam4gc3VjY2Vzdm9sIHRvZWdlcGFzdCcsCiAgJ1N1Y2Nlc3NmdWxseSBwdWJsaXNoZWQgJXMnID0+ICclcyBpcyBzdWNjZXN2b2wgZ2VwdWJsaWNlZXJkJywKICAnU3VjY2Vzc2Z1bGx5IHJlbW92ZWQgJXMuJyA9PiAnJXMgc3VjY2Vzdm9sIHZlcndpamRlcmQuJywKICAnU3VjY2Vzc2Z1bGx5IHNldCBzb3J0aW5nIGNvbmZpZ3VyYXRpb24nID0+ICdTb3J0ZWVyY29uZmlndXJhdGllIHN1Y2Nlc3ZvbCBpbmdlc3RlbGQnLAogICdTdWNjZXNzZnVsbHkgdW5wdWJsaXNoZWQgJXMnID0+ICclcyBpcyBzdWNjZXN2b2wgZ2VkZXB1YmxpY2VlcmQnLAogICdTdWNjZXNzZnVsbHkgdXBkYXRlZCAlcycgPT4gJyVzIHN1Y2Nlc3ZvbCBiaWpnZXdlcmt0JywKICAnU3VjY2Vzc2Z1bGx5IHVwZGF0ZWQgJXMuJyA9PiAnJXMgc3VjY2Vzdm9sIGJpamdld2Vya3QuJywKICAnU3VtbWFyeSBvZiB0aGUgY2F0ZWdvcnkuJyA9PiAnU2FtZW52YXR0aW5nIHZhbiBjYXRlZ29yeS4nLAogICdTdXBwb3J0IENlbnRlcicgPT4gJ1N1cHBvcnQgQ2VudGVyJywKICAnU3VwcG9ydCBDZW50ZXIgSG9tZScgPT4gJ1N1cHBvcnQgQ2VudGVyIFN0YXJ0cGFnaW5hJywKICAnU3VwcG9ydCBUaWNrZXQgU3lzdGVtJyA9PiAnU3VwcG9ydCB0aWNrZXRzeXN0ZWVtJywKICAnU3VwcG9ydCBUaWNrZXQgU3lzdGVtIE9mZmxpbmUnID0+ICdTdXBwb3J0IHRpY2tldHN5c3RlZW0gb2ZmbGluZScsCiAgJ1N1cHBvcnQgdGlja2V0IHJlcXVlc3QgY3JlYXRlZCcgPT4gJ1N1cHBvcnQgdGlja2V0IGFhbnZyYWFnIGFhbmdlbWFha3QnLAogICdTdXBwb3J0ZWQgVmFyaWFibGVzJyA9PiAnVG9lZ2VzdGFuZSB2YXJpYWJlbGVuJywKICAnU3ludGF4IGVycm9yLCBtYWxmb3JtZWQgSlNPTicgPT4gJ1N5bnRheGlzZm91dCwgb25nZWxkaWdlIEpTT04nLAogICdTeXN0ZW0nID0+ICdTeXN0ZWVtJywKICAnU3lzdGVtIEFsZXJ0cycgPT4gJ1N5c3RlZW1tZWxkaW5nZW4nLAogICdTeXN0ZW0gRGVmYXVsdCcgPT4gJ1N5c3RlZW0gc3RhbmRhYXJkJywKICAnU3lzdGVtIERlZmF1bHQgQmFja2Ryb3AnID0+ICdTdGFuZGFhcmQgQWNodGVyZ3JvbmQnLAogICdTeXN0ZW0gRGVmYXVsdCBMb2dvJyA9PiAnU3lzdGVlbSBzdGFuZGFhcmQgbG9nbycsCiAgJ1N5c3RlbSBFbWFpbHMnID0+ICdTeXN0ZWVtIGUtbWFpbHMnLAogICdTeXN0ZW0gRXJyb3JzJyA9PiAnU3lzdGVlbWZvdXRlbicsCiAgJ1N5c3RlbSBMYW5ndWFnZXMnID0+ICdTeXN0ZWVtIHRhbGVuJywKICAnU3lzdGVtIExvZ3MnID0+ICdTeXN0ZWVtbG9nYm9la2VuJywKICAnU3lzdGVtIE1hbmFnZW1lbnQgVGVtcGxhdGVzJyA9PiAnU3lzdGVlbSBtYW5hZ2VtZW50IHNqYWJsb25lbicsCiAgJ1N5c3RlbSBPZmZsaW5lJyA9PiAnU3lzdGVlbSB1aXRnZXNjaGFrZWxkJywKICAnU3lzdGVtIFNldHRpbmdzJyA9PiAnU3lzdGVlbSBpbnN0ZWxsaW5nZW4nLAogICdTeXN0ZW0gU2V0dGluZ3MgYW5kIFByZWZlcmVuY2VzJyA9PiAnU3lzdGVlbSBpbnN0ZWxsaW5nZW4gZW4gdm9vcmtldXJlbicsCiAgJ1N5c3RlbSBhZG1pbiBlbWFpbCBpcyByZXF1aXJlZCcgPT4gJ1N5c3RlZW0gYWRtaW4gZS1tYWlsIGlzIHZlcmVpc3QnLAogICdTeXN0ZW0gYmFuIGxpc3QgaXMgZW1wdHkuJyA9PiAnRGUgc3lzdGVlbWJsb2tsaWpzdCBpcyBsZWVnLicsCiAgJ1N5c3RlbSBkZWZhdWx0IGRlcGFydG1lbnQgY2Fubm90IGJlIHByaXZhdGUnID0+ICdTdGFuZGFhcmQgc3lzdGVlbSBhZmRlbGluZyBtYWcgbmlldCBwcml2w6kgemlqbicsCiAgJ1N5c3RlbSBpcyBzZXQgdG8gb2ZmbGluZSBtb2RlJyA9PiAnU3lzdGVlbSBpcyB1aXRnZXNjaGFrZWxkIChpbiBvZmZsaW5lLW1vZHVzKScsCiAgJ1N5c3RlbSB1cGdyYWRlIGlzIHBlbmRpbmcnID0+ICdIZXQgc3lzdGVlbSBzdGFhdCBrbGFhciBvbSBnZXVwZ3JhZGUgdGUgd29yZGVuJywKICAnU3lzdGVtLXdpZGUgZGVmYXVsdCB0aWNrZXQgc2V0dGluZ3MgYW5kIG9wdGlvbnMuJyA9PiAnR2xvYmFsZSBzdGFuZGFhcmQgdGlja2V0IGluc3RlbGxpbmdlbiBlbiBvcHRpZXMuJywKICAnVGFibGUgcHJlZml4IHJlcXVpcmVkJyA9PiAnVGFiZWwgdm9vcnZvZWdzZWwgKHByZWZpeCkgIHZlcmVpc3QnLAogICdUYXJnZXQnID0+ICdEb2VsJywKICAnVGFyZ2V0IENoYW5uZWwnID0+ICdCZXN0ZW1taW5ncyBrYW5hYWwnLAogICdUYXJnZXQgcmVxdWlyZWQnID0+ICdEb2VsIHZlcmVpc3QnLAogICdUYXNrJyA9PiAnVGFhaycsCiAgJ1Rhc2sgIyUxJHMgZGVsZXRlZCBieSAlMiRzJyA9PiAnVGFhayAjJTEkcyB2ZXJ3aWpkZXJkIGRvb3IgJTIkcycsCiAgJ1Rhc2sgIyVzJyA9PiAnVGFhayAjJXMnLAogICdUYXNrICMlcyBkZWxldGVkJyA9PiAnVGFhayAjJXMgdmVyd2lqZGVyZCcsCiAgJ1Rhc2sgIyVzOiAlcycgPT4gJ1RhYWsgIyVzOiAlcycsCiAgJ1Rhc2sgQXNzaWdubWVudCBBbGVydCcgPT4gJ1RhYWsgdG9ld2lqemluZyBtZWxkaW5nJywKICAnVGFzayBBdHRhY2htZW50IFNldHRpbmdzJyA9PiAnSW5zdGVsbGluZ2VuIHZvb3IgdGFhayBiaWpsYWdlJywKICAnVGFzayBDcmVhdGVkIEZyb20gVGhyZWFkIEVudHJ5JyA9PiAnVGFhayBhYW5nZW1hYWt0IHZhbnVpdCB0aHJlYWQnLAogICdUYXNrIEVtYWlsIFRlbXBsYXRlcycgPT4gJ1RhYWsgRW1haWwgU2phYmxvbmVuJywKICAnVGFzayBJbmZvcm1hdGlvbicgPT4gJ1RhYWsgaW5mb3JtYXRpZScsCiAgJ1Rhc2sgTnVtYmVyJyA9PiAnVGFha251bW1lcicsCiAgJ1Rhc2sgUXVldWUnID0+ICdUYWFrLXdhY2h0cmlqJywKICAnVGFzayBTZXR0aW5ncyBhbmQgT3B0aW9ucycgPT4gJ1RhYWsgaW5zdGVsbGluZ2VuIGVuIG9wdGllcycsCiAgJ1Rhc2sgU3VtbWFyeScgPT4gJ1RhYWsgT3ZlcnppY2h0JywKICAnVGFzayBUaHJlYWQnID0+ICdUYWFrZGV0YWlscycsCiAgJ1Rhc2sgVHJhbnNmZXIgQWxlcnQnID0+ICdUYWFrIG92ZXJkcmFjaHQgbWVsZGluZycsCiAgJ1Rhc2sgVmlzaWJpbGl0eSAmIEFzc2lnbm1lbnQnID0+ICdaaWNodGJhYXJoZWlkICYgVG9la2VubmluZyB2YW4gdGFhaycsCiAgJ1Rhc2sgYWxyZWFkeSBpbiB0aGUgZGVwYXJ0bWVudCcgPT4gJ1RhYWsgaXMgYWwgZ2Vrb3BwZWxkIGFhbiBkZXplIGFmZGVsaW5nJywKICAnVGFzayBhc3NpZ25lZCB0byAlcycgPT4gJ1RhYWsgdG9lZ2VrZW5kIGFhbiAlcycsCiAgJ1Rhc2sgZG9lc25cJ3QgaGF2ZSBhbnkgY29sbGFib3JhdG9ycy4nID0+ICdUYWFrIGhlZWZ0IGdlZW4gbWVkZXdlcmtlcnMuJywKICAnVGFza3MnID0+ICdUYWtlbicsCiAgJ1RlYW0nID0+ICd0ZWFtJywKICAnVGVhbSBBc3NpZ25lZCcgPT4gJ1RvZWdld2V6ZW4gVGVhbScsCiAgJ1RlYW0gSW5mb3JtYXRpb24nID0+ICd0ZWFtIGluZm9ybWF0aWUnLAogICdUZWFtIExlYWQnID0+ICdUZWFtbGVpZGVyJywKICAnVGVhbSBNZW1iZXJzJyA9PiAnTGVkZW4gdmFuIGhldCB0ZWFtJywKICAnVGVhbSBOYW1lJyA9PiAnVGVhbW5hYW0nLAogICdUZWFtIGRvZXMgbm90IGhhdmUgbWVtYmVycycgPT4gJ0RpdCB0ZWFtIGhlZWZ0IGdlZW4gbGVkZW4nLAogICdUZWFtIGlzIGRpc2FibGVkJyA9PiAnVGVhbSBpcyB1aXRnZXNjaGFrZWxkJywKICAnVGVhbSBuYW1lIGFscmVhZHkgZXhpc3RzJyA9PiAnVGVhbW5hYW0gYmVzdGFhdCBhbCcsCiAgJ1RlYW0gbmFtZSBpcyByZXF1aXJlZCcgPT4gJ1RlYW1uYWFtIGlzIHZlcmVpc3QnLAogICdUZWFtcycgPT4gJ1RlYW0nLAogICdUZWFtcyAoJWQpJyA9PiAnVGVhbXMgKCVkKScsCiAgJ1RlbXBsYXRlIEZldGNoIEVycm9yJyA9PiAnRm91dCBiaWogb3BoYWxlbiB0ZW1wbGF0ZScsCiAgJ1RlbXBsYXRlIFNldCcgPT4gJ1NqYWJsb29uIFNldCcsCiAgJ1RlbXBsYXRlIFNldCBUbyBDbG9uZScgPT4gJ1NqYWJsb29uIGR1cGxpY2VyZW4nLAogICdUZW1wbGF0ZSBpbmZvcm1hdGlvbicgPT4gJ1NqYWJsb29uIGluZm9ybWF0aWUnLAogICdUZW1wbGF0ZSBuYW1lIGFscmVhZHkgZXhpc3RzJyA9PiAnU2phYmxvb24gbmFhbSBiZXN0YWF0IHJlZWRzJywKICAnVGVtcGxhdGUgdXNlZCBvbiB0aWNrZXQgcmVzcG9uc2UvcmVwbHknID0+ICdTamFibG9vbiB2b29yIHRpY2tldCByZWFjdGllL2FudHdvb3JkJywKICAnVGVtcGxhdGUgdXNlZCB0byBub3RpZnkgY29sbGFib3JhdG9ycyBvbiB0YXNrIGFjdGl2aXR5LicgPT4gJ1NqYWJsb29uIGRhdCBnZWJydWlrdCB3b3JkdCBvbSBlZW4gbm90aWZpY2F0aWUgdGUgc3R1cmVuIG5hYXIgbWVkZXdlcmtlcnMgYmlqIGFjdGl2aXRlaXQgaW4gZWVuIHRhYWsuJywKICAnVGVtcGxhdGUgdXNlZCB0byBub3RpZnkgY29sbGFib3JhdG9ycyBvbiB0aWNrZXQgYWN0aXZpdHkgKGUuZyBDQyBvbiByZXBseSknID0+ICdTamFibG9vbiB2b29yIG1lbGRpbmcgYWFuIGNvbGxhYm9yYXRldXIgYmlqIHRpY2tldCBhY3Rpdml0ZWl0ICh6b2FscyBDQyBiaWogZWVuIGFudHdvb3JkKScsCiAgJ1RlbXBsYXRlcycgPT4gJ1NqYWJsb25lbicsCiAgJ1RlbXBvcmFyeSBQYXNzd29yZCcgPT4gJ1RpamRlbGlqayB3YWNodHdvb3JkJywKICAnVGVybSB0b28gc2hvcnQhJyA9PiAnV29vcmQgdGUga29ydCEnLAogICdUZXN0IE91dGdvaW5nIEVtYWlsJyA9PiAnVGVzdCB1aXRnYWFuZGUgRS1tYWlsJywKICAnVGVzdCBlbWFpbCBzZW50IHN1Y2Nlc3NmdWxseSB0byA8JXM+JyA9PiAnVGVzdCBlLW1haWwgc3VjY2Vzdm9sIHZlcnpvbmRlbiBuYWFyIDwlcz4nLAogICdUZXh0JyA9PiAnVGVrc3QnLAogICdUZXh0IElucHV0JyA9PiAnVGVrc3RpbnZvZXInLAogICdUZXh0IHNob3duIGluIGJlZm9yZSBhbnkgaW5wdXQgZnJvbSB0aGUgdXNlcicgPT4gJ1Rla3N0IGRpZSB3ZWVyZ2VnZXZlbiB3b3JkdCB2b29yZGF0IGRlIGdlYnJ1aWtlciBpZXRzIHR5cHQnLAogICdUZXh0IHNob3duIGlubGluZSB3aXRoIHRoZSB3aWRnZXQnID0+ICdUZWtzdCB3b3JkdCAgaW4gbGluZSB3ZWVyZ2VnZXZlbiBtZXQgZGUgd2lkZ2V0JywKICAnVGhhbmsgWW91IGZvciBDaG9vc2luZyBvc1RpY2tldCEnID0+ICdEYW5rIHUgdm9vciB1dyBrZXV6ZSB2b29yIG9zVGlja2V0IScsCiAgJ1RoYW5rIHlvdSBmb3IgYmVpbmcgYSBsb3lhbCBvc1RpY2tldCB1c2VyIScgPT4gJ0RhbmsgdSB2b29yIHV3IHZlcnRyb3V3ZW4gaW4gb3NUaWNrZXQhJywKICAnVGhhbmsgeW91IGZvciB0YWtpbmcgdGhlIHRpbWUgdG8gdXBncmFkZSB5b3VyIG9zVGlja2V0IGludGFsbGF0aW9uIScgPT4gJ0RhbmsgdSB2b29yIGhldCB1cGdyYWRlbiB2YW4gdXcgb3NUaWNrZXQgaW5zdGFsbGF0aWUhJywKICAnVGhhbmsgeW91IScgPT4gJ0RhbmsgdSEnLAogICdUaGFuay1Zb3UgUGFnZScgPT4gJ0RhbmtwYWdpbmEnLAogICdUaGFua3MgZm9yIHJlZ2lzdGVyaW5nIGZvciBhbiBhY2NvdW50LicgPT4gJ0JlZGFua3Qgdm9vciBoZXQgcmVnaXN0cmVyZW4gdmFuIGVlbiBhY2NvdW50LicsCiAgJ1RoZSAiZmlsZV91cGxvYWRzIiBkaXJlY3RpdmUgaXMgZGlzYWJsZWQgaW4gcGhwLmluaScgPT4gJ0RlIHJpY2h0bGlqbiAiZmlsZV91cGxvYWRzIiBpcyB1aXRnZXNjaGFrZWxkIGluIHBocC5pbmknLAogICdUaGUgJXMgdGFzayByZXBvcnRzIHRoZXJlIGlzIHdvcmsgdG8gZG8nID0+ICdEZSAlcyB0YWFrIHJhcHBvcnRlZXJ0IGRhdCBlciB3ZXJrIHRlIGRvZW4gaXMnLAogICdUaGUgR0QgZXh0ZW5zaW9uIGlzIHJlcXVpcmVkJyA9PiAnRGUgR0QgZXh0ZW5zaWUgaXMgdmVyZWlzdCcsCiAgJ1RoZSBNeVNRTCB1c2VyIG11c3QgaGF2ZSBmdWxsIHJpZ2h0cyB0byB0aGUgZGF0YWJhc2UuJyA9PiAnRGUgTXlTUUwgZ2VicnVpa2VyIG1vZXQgdm9sbGVkaWdlIHJlY2h0ZW4gb3AgZGUgZGF0YWJhc2UgaGViYmVuLicsCiAgJ1RoZSBVUkwgb2YgeW91ciBoZWxwZGVzaywgaXRzIG5hbWUsIGFuZCB0aGUgZGVmYXVsdCBzeXN0ZW0gZW1haWwgYWRkcmVzcycgPT4gJ0hldCBpbnRlcm5ldGFkcmVzIHZhbiBqZSBoZWxwZGVzaywgYWxzbWVkZSBkZSBuYWFtIGVuIGhldCBzdGFuZGFhcmQgZS1tYWlsYWRyZXMnLAogICdUaGUgaW5zdGFsbGVyIHdpbGwgZ3VpZGUgeW91IGV2ZXJ5IHN0ZXAgb2YgdGhlIHdheSBpbiB0aGUgaW5zdGFsbGF0aW9uIHByb2Nlc3MuIFlvdVwncmUgbWludXRlcyBhd2F5IGZyb20geW91ciBhd2Vzb21lIGN1c3RvbWVyIHN1cHBvcnQgc3lzdGVtIScgPT4gJ1RoZSBpbnN0YWxsYXRpZS1hc3Npc3RlbnQgemFsIHUgc3RhcCB2b29yIHN0YXAgYmVnZWxlaWRlbiB0aWpkZW5zIGhldCBpbnN0YWxsYXRpZXByb2Nlc3MuIFUgYmVudCBzbGVjaHRzIGVua2VsZSBtaW51dGVuIHZlcndpamRlcmQgdmFuIHV3IGZhbnRhc3Rpc2NoZSBoZWxkZXNrc3lzdGVlbSEnLAogICdUaGUgaXNzdWUgc3VtbWFyeSBtdXN0IGJlIGEgZmllbGQgdGhhdCBzdXBwb3J0cyB1c2VyIGlucHV0LCBzdWNoIGFzIHNob3J0IGFuc3dlcicgPT4gJ0RlIHRpY2tldHNhbWVudmF0dGluZyBtb2V0IGVlbiB2ZWxkIHppam4gZGF0IGdlYnJ1aWtlcnNpbnZvZXIgb25kZXJzdGV1bnQsIHpvYWxzIGVlbiBrb3J0IGFudHdvb3JkJywKICAnVGhlIGxvY2sgeW91IGhvbGQgb24gdGhpcyB0aWNrZXQgd2lsbCBleHBpcmUgc29vbi4gV291bGQgeW91IGxpa2UgdG8gcmVuZXcgdGhlIGxvY2s/JyA9PiAnRGUgImxvY2siIGRpZSBqZSB2YXN0aG91ZHQgb3AgZGl0IHRpY2tldCB2ZXJsb29wdCBiaW5uZW5rb3J0LiBXaWwgamUgZGV6ZSB2ZXJuaWV1d2VuPycsCiAgJ1RoZSBuYW1lIG9mIHlvdXIgc3VwcG9ydCBzeXN0ZW0gZS5nIFtDb21wYW55IE5hbWVdIFN1cHBvcnQnID0+ICdEZSBuYWFtIHZhbiB1dyBzdXBwb3J0c3lzdGVlbSBiaWp2LiBbYmVkcmlqZnNuYWFtXScsCiAgJ1RoZSBvcmRlciBvZiB0aHJlYWQgZW50cmllcycgPT4gJ0RlIHZvbGdvcmRlIHZhbiBkZSBkaXNjdXNzaWUnLAogICdUaGUgb3JpZ2luYXRvciBvZiB0aGlzIGV4dGVuc2lvbiBjYW5ub3QgYmUgdmVyaWZpZWQnID0+ICdEZSBvbnR3aWtrZWxhYXIgdmFuIGRlemUgZXh0ZW50aWUga2FuIG5pZXQgd29yZGVuIGdldmVyaWZpZWVyZCcsCiAgJ1RoZSBzZWFyY2ggZGlkIG5vdCBtYXRjaCBhbnkgRkFRcy4nID0+ICdEZSB6b2Vrb3BkcmFjaHQgaGVlZnQgbmlldHMgaW4gZGUgRkFRXCdzIGdldm9uZGVuLicsCiAgJ1RoZSB1cGdyYWRlIHdpemFyZCB3aWxsIGd1aWRlIHlvdSBldmVyeSBzdGVwIG9mIHRoZSB3YXkgaW4gdGhlIHVwZ3JhZGUgcHJvY2Vzcy4gV2hpbGUgd2UgdHJ5IHRvIGVuc3VyZSB0aGF0IHRoZSB1cGdyYWRlIHByb2Nlc3MgaXMgc3RyYWlnaHRmb3J3YXJkIGFuZCBwYWlubGVzcywgd2UgY2FuXCd0IGd1YXJhbnRlZSBpdCB3aWxsIGJlIHRoZSBjYXNlIGZvciBldmVyeSB1c2VyLicgPT4gJ1RoZSB1cGdyYWRlLWFzc2lzdGVudCB6YWwgdSBiaWogZWxrZSBzdGFwIGJlZ2VsZWlkZW4uIFdlIHp1bGxlbiBwcm9iZXJlbiBkZXplIHVwZ3JhZGUgdm9vciB1IHNvZXBlbCB0ZSBsYXRlbiB2ZXJsb3Blbi4gV2Uga3VubmVuIGhlbGFhcyBuaWV0IGdhcmFuZGVyZW4gZGF0IGRpdCBvb2sgYmlqIGllZGVyZWVuIGhldCBnZXZhbCBpcy4nLAogICdUaGUgdXBncmFkZSB3aXphcmQgd2lsbCBub3cgYXR0ZW1wdCB0byB1cGdyYWRlIHlvdXIgZGF0YWJhc2UgYW5kIGNvcmUgc2V0dGluZ3MhJyA9PiAnRGUgdXBncmFkZS1hc3Npc3RlbnQgemFsIG51IHV3IGhvb2ZkaW5zdGVsbGluZ2VuIGVuIGRhdGFiYXNlIHVwZ3JhZGVuIScsCiAgJ1RoZSB1cGdyYWRlciBkb2VzIE5PVCBzdXBwb3J0IHVwZ3JhZGluZyBmcm9tIHRoZSBjdXJyZW50IHBhdGNoIFslc10hJyA9PiAnRGUgaW5zdGFsbGF0aWUgYXNzaXN0ZW50IGthbiBuaWV0IHVwZ3JhZGVuIHZhbmFmIHV3IGh1aWRpZ2UgdmVyc2llIFslc10hJywKICAnVGhlIHVwZ3JhZGVyIGRvZXMgTk9UIHN1cHBvcnQgdXBncmFkaW5nIGZyb20gdGhlIGN1cnJlbnQgdmVzaW9uIScgPT4gJ0RlIGluc3RhbGxhdGllIGFzc2lzdGVudCBvbmRlcnN0ZXVuZCBoZXQgYmlqd2Vya2VuIHZhbiB1dyB2ZXJzaWUgdmFuIG9zVGlja2V0IG5pZXQhJywKICAnVGhlaXIgU2lnbmF0dXJlJyA9PiAnSHVuIG9uZGVydGVrZW5pbmcnLAogICdUaGVyZSBhcmUgbm8gdGFza3MgbWF0Y2hpbmcgeW91ciBjcml0ZXJpYS4nID0+ICdFciB6aWpuIGdlZW4gdGFrZW4gZGllIGFhbiB1dyBjcml0ZXJpYSB2b2xkb2VuLicsCiAgJ1RoZXNlIGF0dGFjaG1lbnRzIGFyZSBhbHdheXMgYXZhaWxhYmxlLCByZWdhcmRsZXNzIG9mIHRoZSBsYW5ndWFnZSBpbiB3aGljaCB0aGUgYXJ0aWNsZSBpcyByZW5kZXJlZCcgPT4gJ0RlemUgYmlqbGFnZXMgemlqbiBhbHRpamQgYmVzY2hpa2JhYXIsIG9uZ2VhY2h0IGRlIHRhYWwgd2FhcmluIGhldCBhcnRpa2VsIGlzIGdlc2NocmV2ZW4nLAogICdUaGVzZSBhdHRhY2htZW50cyBhcmUgb25seSBhdmFpbGFibGUgd2hlbiBhcnRpY2xlIGlzIHJlbmRlcmVkIGluIG9uZSBvZiB0aGUgZm9sbG93aW5nIGxhbmd1YWdlcy4nID0+ICdEZXplIGJpamxhZ2VzIHppam4gYWxsZWVuIGJlc2NoaWtiYWFyIGFscyBoZXQgYXJ0aWtlbCBnZXNjaHJldmVuIGlzIGluIMOpw6luIHZhbiBkZSBuYXZvbGdlbmRlIHRhbGVuLicsCiAgJ1RoZXNlIGl0ZW1zIGFyZSBuZWNlc3NhcnkgaW4gb3JkZXIgdG8gaW5zdGFsbCBhbmQgdXNlIG9zVGlja2V0LicgPT4gJ0RlemUgb25kZXJkZWxlbiB6aWpuIHZlcmVpc3Qgdm9vciBlZW4gaW5zdGFsbGF0aWUgdmFuIG9zVGlja2V0LicsCiAgJ1RoZXNlIGl0ZW1zIGFyZSBuZWNlc3NhcnkgaW4gb3JkZXIgdG8gcnVuIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiBvc1RpY2tldC4nID0+ICdEZXplIG9uZGVyZGVsZW4gemlqbiBub29kemFrZWxpamsgb20gZGUgbGFhdHN0ZSB2ZXJzaWUgdmFuIG9zVGlja2V0IHVpdCB0ZSBrdW5uZW4gdm9lcmVuLicsCiAgJ1RoaXMgY2FuIGJlIHNlbGVjdGVkIHdoZW4gcmVwbHlpbmcgdG8gYSB0aHJlYWQnID0+ICdEaXQga2FuIGdlc2VsZWN0ZWVyZCB3b3JkZW4gYWxzIGVyIGdlcmVhZ2VlcmQgd29yZHQgb3AgZWVuIGRpc2N1c3NpZScsCiAgJ1RoaXMgY2F0ZWdvcnkgZG9lcyBub3QgaGF2ZSBhbnkgRkFRcy4nID0+ICdEZXplIGNhdGVnb3JpZSBiZXNjaGlrdCBuaWV0IG92ZXIgRkFRcy4nLAogICdUaGlzIGNvbnRlbnQgaXMgdHJhbnNsYXRhYmxlJyA9PiAnRGV6ZSBpbmhvdWQgaXMgdGUgdmVydGFsZW4nLAogICdUaGlzIGNvdWxkIGJlIGNvbm5lY3Rpb24gaXNzdWVzIHJlbGF0ZWQgdG8gdGhlIG1haWwgc2VydmVyLiBOZXh0IGRlbGF5ZWQgbG9naW4gYXR0ZW1wdCBpbiBhcHJveC4gJWQgbWludXRlcycgPT4gJ0RpdCBrYW4gYWFuIGRlIGNvbm5lY3RpZSB2YW4gZGUgbWFpbHNlcnZlciBsaWdnZW4uIFZvbGdlbmRlIHZlcnRyYWFnZGUgYWFubWVsZCBwb2dpbmcgYmlubmVuICVkIG1pbnV0ZW4nLAogICdUaGlzIGRlcGFydG1lbnQgaXMgZm9yIGludGVybmFsIHVzZScgPT4gJ0RlemUgYWZkZWxpbmcgaXMgdm9vciBpbnRlcm4gZ2VicnVpaycsCiAgJ1RoaXMgZmllbGQgY2FuIGJlIGRpc2FibGVkIHdoaWNoIHdpbGwgcmVtb3ZlIGl0IGZyb20gdGhlIGZvcm0gZm9yIG5ldyBlbnRyaWVzLCBidXQgd2lsbCBwcmVzZXJ2ZSB0aGUgZGF0YSBvbiBhbGwgY3VycmVudCBlbnRyaWVzLicgPT4gJ0RpdCB2ZWxkIGthbiB3b3JkZW4gdWl0Z2VzY2hha2VsZCwgZGl0IHpvcmd0IGVydm9vciBkYXQgaGV0IHZlbGQgbmlldCBpbiB0b2Vrb21zdGlnZSBpbnZvZXJmb3JtdWxpZXJlbiB2b29ya29tdCwgbWFhciBkZSByZWVkcyBpbmdldnVsZGUgZm9ybXVsaWVyZW4genVsbGVuIGRlemUgZ2VnZXZlbnMgd2VsIGJld2FyZW4uJywKICAnVGhpcyBoZWxwIGRlc2sgaXMgZm9yIHVzZSBieSBhdXRob3JpemVkIHVzZXJzIG9ubHknID0+ICdEZXplIGhlbHBkZXNrIGlzIGVua2VsIHZvb3IgZ2VhdXRvcmlzZWVyZGUgZ2VicnVpa2VycycsCiAgJ1RoaXMgaXMgYSByZXF1aXJlZCBmaWVsZCcgPT4gJ0RpdCBpcyBlZW4gdmVycGxpY2h0IHZlbGQnLAogICdUaGlzIG9yZ2FuaXphdGlvbiBkb2VzblwndCBoYXZlIGFueSB1c2VycyB5ZXQnID0+ICdEZXplIG9yZ2FuaXN0YXRpZSBoZWVmdCAobm9nKSAgZ2VlbiBnZWJydWlrZXJzJywKICAnVGhpcyBvc1RpY2tldCB2ZXJzaW9uIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQuIFBsZWFzZSBjb25zaWRlciB1cGdyYWRpbmcnID0+ICdEZXplIHZlcnNpZSB2YW4gT3NUaWNrZXQgd29yZHQgbmlldCBsYW5nZXIgb25kZXJzdGV1bmQsIG92ZXJ3ZWVnIG9tIGJpaiB0ZSB3ZXJrZW4gbmFhciBkZSBsYWF0c3RlIHZlcnNpZScsCiAgJ1RoaXMgcGx1Z2luIGhhcyBubyBjb25maWd1cmFibGUgc2V0dGluZ3MnID0+ICdEZXplIHBsdWdpbiAodWl0YnJlaWRpbmcpIGhlZWZ0IGdlZW4gaW5zdGVsYmFyZSBvcHRpZXMnLAogICdUaGlzIHRhc2snID0+ICdEZXplIHRhYWsnLAogICdUaGlzIHRpY2tldCcgPT4gJ0RpdCB0aWNrZXQnLAogICdUaGlzIHR5cGUgb2YgZmlsZSBpcyBub3QgYWxsb3dlZCcgPT4gJ0hldCBiZXN0YW5kc3R5cGUgaXMgbmlldCB0b2VnZXN0YWFuJywKICAnVGhpcyB3aWxsIHNpZ24geW91IGluIHRvIHZpZXcgeW91ciB0aWNrZXQuJyA9PiAnRGl0IHphbCB1IGlubG9nZ2VuIG9tIHV3IHRpY2tldCB0ZSBiZWtpamtlbi4nLAogICdUaHJlYWQgKCVkKScgPT4gJ1RocmFkICglZCknLAogICdUaHJlYWQgKyBJbnRlcm5hbCBOb3RlcycgPT4gJ1Zlcmxvb3AgKyBJbnRlcm5lIG5vdGl0aWVzJywKICAnVGhyZWFkIENvdW50JyA9PiAnQWFudGFsIHRocmVhZHMnLAogICdUaHJlYWQgRW50cnknID0+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+ICdUaWpkem9uZScsCiAgJ1RpbWUgZm9ybWF0IGlzIHJlcXVpcmVkJyA9PiAnVGlqZCBmb3JtYWF0IGlzIHZlcnBsaWNodCcsCiAgJ1RpbWUgaXMgYmFzZWQgb24geW91ciB0aW1lIHpvbmUnID0+ICdUaWpkIGlzIGdlYmFzZWVyZCBvcCB1dyB0aWpkem9uZScsCiAgJ1RpbWUgb2YgbGFzdCB1cGRhdGUnID0+ICdUaWpkc3RpcCBsYWF0c3RlIHdpanppZ2luZycsCiAgJ1RpbWVvdXQnID0+ICdWZXJsb29wdGlqZCcsCiAgJ1RpbWV6b25lJyA9PiAnVGlqZHN6b25lJywKICAnVGltZXpvbmUgQXdhcmUnID0+ICdUaWpkem9uZSBiZXd1c3QnLAogICdUaXRsZScgPT4gJ1RpdGVsJywKICAnVGl0bGUgYWxyZWFkeSBleGlzdHMnID0+ICdUaXRlbCBiZXN0YWF0IGFsJywKICAnVGl0bGUgaXMgcmVxdWlyZWQnID0+ICdUaXRlbCBpcyB2ZXJlaXN0JywKICAnVGl0bGUgaXMgdG9vIHNob3J0LiAzIGNoYXJzIG1pbmltdW0nID0+ICdUaXRlbCBpcyB0ZSBrb3J0LiBNaW5pbWFhbCAzIHRla2VucycsCiAgJ1RpdGxlIHJlcXVpcmVkJyA9PiAnVGl0ZWwgdmVycGxpY2h0JywKICAnVG8nID0+ICdBYW4nLAogICdUbyBhZGQgYSBwbHVnaW4gaW50byB0aGUgc3lzdGVtLCBkb3dubG9hZCBhbmQgcGxhY2UgdGhlIHBsdWdpbiBpbnRvIHRoZSA8Y29kZT5pbmNsdWRlL3BsdWdpbnM8L2NvZGU+IGZvbGRlci4gT25jZSBpbiB0aGUgcGx1Z2luIGlzIGluIHRoZSA8Y29kZT5wbHVnaW5zLzwvY29kZT4gZm9sZGVyLCBpdCB3aWxsIGJlIHNob3duIGluIHRoZSBsaXN0IGJlbG93LicgPT4gJ09tIGVlbiBwbHVnaW4gKHVpdGJyZWlkaW5nKSBhYW4gaGV0IHN5c3RlZW0gdG9lIHRlIHZvZWdlbiAgZGllbnQgdSBkZSBwbHVnaW4gdGUgcGxhYXRzZW4gaW4gZGUgbWFwIDxjb2RlPmluY2x1ZGUvcGx1Z2luczwvY29kZT4uIE9wIGhldCBtb21lbnQgZGF0IGRlIHBsdWdpbiBkYWFyaW4gaXMgZ2VwbGFhdHN0LCB6aWV0IHUgaGV0IGhpZXJvbmRlciBpbiBkZSBsaWpzdC4nLAogICdUbyBhdm9pZCBwb3NzaWJsZSBjb25mbGljdHMsIHBsZWFzZSB0YWtlIGEgbWludXRlIHRvIHJlbmFtZSBjb25maWd1cmF0aW9uIGZpbGUgYXMgc2hvd24gYmVsb3cuJyA9PiAnT20gZXZlbnR1ZWxlIGNvbmZsaWN0ZW4gdGUgdm9vcmtvbWVuLCBkaWVudCB1IGhldCBjb25maWd1cmF0aWViZXN0YW5kIGFscyBvbmRlcnN0YWFuZCB0ZSBoZXJub2VtZW4uJywKICAnVG8gYmVzdCBhc3Npc3QgeW91LCB3ZSByZXF1ZXN0IHRoYXQgeW91IGJlIHNwZWNpZmljIGFuZCBkZXRhaWxlZCcgPT4gJ09tIHUgem8gZ29lZCBtb2dlbGlqayB0ZSBoZWxwZW4sIHZlcnpvZWtlbiB3ZSB1IG9tIHNwZWNpZmllayBlbiBnZWRldGFpbGVlcmQgdGUgemlqbicsCiAgJ1RvIGJldHRlciBzZXJ2ZSB5b3UsIHdlIGVuY291cmFnZSBvdXIgY2xpZW50cyB0byByZWdpc3RlciBmb3IgYW4gYWNjb3VudCBhbmQgdmVyaWZ5IHRoZSBlbWFpbCBhZGRyZXNzIHdlIGhhdmUgb24gcmVjb3JkLicgPT4gJ09tIGplIGJldGVyIHZhbiBkaWVuc3QgdGUgemlqbiwgbW9lZGlnZW4gd2lqIG9uemUga2xhbnRlbiBhYW4gb20gZWVuIGFjY291bnQgdGUgcmVnaXN0cmVyZW4gZW4gaGV0IGVtYWlsYWRyZXMgdGUgY29udHJvbGVyZW4gZGF0IHdpaiBiZXNjaGlrYmFhciBoZWJiZW4uJywKICAnVG8gY2hhbmdlIHBhc3N3b3JkIGVudGVyIG5ldyBwYXNzd29yZCBhYm92ZS4nID0+ICdPbSB1dyB3YWNodHdvb3JkIHRlIHZlcmFuZGVyZW4gdm9lcnQgdSBlZW4gbmlldXcgd2FjaHR3b29yZCBpbi4nLAogICdUbyBlZGl0IG9yIGFkZCBuZXcgcGFnZXMgZ28gdG8gJXMgTWFuYWdlICZndDsgU2l0ZSBQYWdlcyAlcycgPT4gJ09tIHBhZ2luYVwncyB0ZSBiZXdlcmtlbiwgb2YgdG9lIHRlIHZvZWdlbiBnYWF0IHUgbmFhciAlcyBNYW5hZ2UgJmd0OyBTaXRlIFBhZ2VzICVzJywKICAnVG8gaW1wb3J0IGl0ZW1zIHdpdGggcHJvcGVydGllcywgdXNlIHRoZSBVcGxvYWQgdGFiLicgPT4gJ09tIGVsZW1lbnRlbiBtZXQgZWlnZW5zY2hhcHBlbiB0ZSBpbXBvcnRlcmViLCBnZWxpZXZlIGRlIFVwbG9hZCB0YWIgdGUgZ2VicnVpa2VuLicsCiAgJ1RvIGltcG9ydCBtb3JlIG90aGVyIGZpZWxkcywgdXNlIHRoZSBVcGxvYWQgdGFiLicgPT4gJ09tIG1lZXIgemVsZmdlZGVmaW5lZXJkZSB2ZWxkZW4gdGUgaW1wb3J0ZXJlbiBnZWJydWlrdCB1IGhldCB0YWJibGFkIFwndXBsb2FkXCcuJywKICAnVG9nZ2xlJyA9PiAnT213aXNzZWxlbicsCiAgJ1RvZ2dsZSBPcGFjaXR5JyA9PiAnRG9vcnppY2h0aWdoZWlkIEFhbi91aXR6ZXR0ZW4nLAogICdUb3AtTGV2ZWwgRGVwYXJ0bWVudCcgPT4gJ0hvb2ZkYWZkZWxpbmcnLAogICdUb3AtTGV2ZWwgVGlja2V0IENvdW50cycgPT4gJ1RpY2tldCB0ZWxsZXIgaW4gbWVudWJhbGsnLAogICdUb3AtTGV2ZWwgVG9waWMnID0+ICdIb29nc3RlIG9uZGVyd2VycCcsCiAgJ1RvcGljJyA9PiAnT25kZXJ3ZXJwJywKICAnVG9waWMgYWxyZWFkeSBleGlzdHMnID0+ICdPbmRlcndlcnAgYmVzdGFhdCBhbCcsCiAgJ1RvcGljIGlzIHRvbyBzaG9ydC4gRml2ZSBjaGFyYWN0ZXJzIG1pbmltdW0nID0+ICdPbmRlcndlcnAgaXMgdGUga29ydC4gTWluaW11bSB2aWpmIHRla2VucycsCiAgJ1RvcGljcycgPT4gJ09uZGVyd2VycGVuJywKICAnVHJhbnNmZXInID0+ICdWZXJodWlzJywKICAnVHJhbnNmZXIgVGFza3MnID0+ICdWZXJodWlzIHRha2VuJywKICAnVHJhbnNpZW50JyA9PiAnRHluYW1pc2NoJywKICAnVHJhbnNsYXRlJyA9PiAnVmVydGFsZW4nLAogICdUcnlpbmcgdG8gcmVtb3ZlIGVuZCB1c2VycyBmcm9tIGFuIHVua25vd24gb3JnYW5pemF0aW9uJyA9PiAnQWFuIGhldCBwcm9iZXJlbiBlaW5kZ2VicnVpa2VycyB0ZSB2ZXJ3aWpkZXJlbiB2YW4gZWVuIG9uYmVrZW5kZSBvcmdhbmlzYXRpZScsCiAgJ1R3byBXZWVrcycgPT4gJ1R3ZWUgd2VrZW4nLAogICdUeXBlJyA9PiAnVHlwZScsCiAgJ1R5cGUgaXMgcmVxdWlyZWQnID0+ICdUeXBlIGlzIHZlcmVpc3QnLAogICdUeXBlIG9mIHJlY2VudCBhY3Rpdml0eScgPT4gJ1R5cGUgdmFuIHJlY2VudGUgYWN0aXZpdGVpdCcsCiAgJ1R5cGVhaGVhZCcgPT4gJ1R5cGVhaGVhZCcsCiAgJ1R5cGVhaGVhZCB3aWxsIHdvcmsgYmV0dGVyIGZvciBsYXJnZSBsaXN0cycgPT4gJ1R5cGVhaGVhZCB6YWwgYmV0ZXIgd2Vya2VuIHZvb3IgZ3JvdGUgbGlqc3RlbicsCiAgJ1VSTCBub3Qgc3VwcG9ydGVkJyA9PiAnVVJMIG5pZXQgb25kZXJzdGV1bmQnLAogICdVbmFibGUgdG8gJTEkcyAlMiRzJyA9PiAnJTEkcyAlMiRzIG9ubW9nZWxpamsnLAogICdVbmFibGUgdG8gYWN0aXZhdGUgJXMnID0+ICdOaWV0IG1vZ2VsaWprIG9tICVzIHRlIGFjdGl2ZXJlbicsCiAgJ1VuYWJsZSB0byBhZGQgJXMuJyA9PiAnTmlldCBtb2dlbGlqayBvbSAlcyB0b2UgdGUgdm9lZ2VuLicsCiAgJ1VuYWJsZSB0byBhZGQgJXMuIENvcnJlY3QgZXJyb3IocykgYmVsb3cgYW5kIHRyeSBhZ2Fpbi4nID0+ICdLYW4gJXMgbmlldCB0b2V2b2VnZW4uIENvcnJpZ2VlciBmb3V0KGVuKSBoaWVyb25kZXIgZW4gcHJvYmVlciBvcG5pZXV3LicsCiAgJ1VuYWJsZSB0byBhZGQgdGhlIGVtYWlsIHRvIGJhbmxpc3QnID0+ICdIZXQgd2FzIG9ubW9nZWxpamsgb20gZGl0IGUtbWFpbGFkcmVzIGFhbiBkZSBibG9ra2FkZWxpanN0IHRvZSB0ZSB2b2VnZW4nLAogICdVbmFibGUgdG8gYWRkIHVzZXIgdG8gb3JnYW5pemF0aW9uLicgPT4gJ0thbiBnZWVuIGdlYnJ1aWtlciB0b2V2b2VnZW4gYWFuIGRlIG9yZ2FuaXNhdGllLicsCiAgJ1VuYWJsZSB0byBhZGQgdXNlciB0byB0aGUgb3JnYW5pemF0aW9uJyA9PiAnR2VicnVpa2VyIHRvZXZvZWdlbiBhYW4gb3JnYW5pc2F0aWUgbWlzbHVrdCcsCiAgJ1VuYWJsZSB0byBhc3NpZ24gJXMnID0+ICdPbm1vZ2VsaWprICVzIHRvZSB0ZSBrZW5uZW4nLAogICdVbmFibGUgdG8gYXNzaWduIHRhc2snID0+ICdPbm1vZ2VsaWprIG9tIHRhYWsgdG9lIHRlIHdpanplbicsCiAgJ1VuYWJsZSB0byBhc3NpZ24gdGlja2V0JyA9PiAnT25tb2dlbGlqayBoZXQgdGlja2V0IHRvZSB0ZSBrZW5uZW4nLAogICdVbmFibGUgdG8gY2hhbmdlIHN0YXR1cyBmb3IgJXMnID0+ICdPbm1vZ2VsaWprIG9tIGRlIHN0YXR1cyB0ZSB3aWp6aWdlbiB2b29yICVzJywKICAnVW5hYmxlIHRvIGNoYW5nZSBzdGF0dXMgb2YgJTEkcycgPT4gJ09ubW9nZWxpamsgb20gZGUgc3RhdHVzIHZhbiAlMSRzIHRlIHZlcmFuZGVyZW4nLAogICdVbmFibGUgdG8gY2hhbmdlIHN0YXR1cyBvZiB0aGUgdGFzaycgPT4gJ09ubW9nZWxpamsgZGUgc3RhdHVzIHZhbiBkZXplIHRhYWsgdGUgd2lqemlnZW4nLAogICdVbmFibGUgdG8gY2xhaW0gdGFzaycgPT4gJ09ubW9nZWxpamsgb20gdGFhayB0b2UgdGUgZWlnZW5lbicsCiAgJ1VuYWJsZSB0byBjbGFpbSB0aWNrZXQnID0+ICdPbm1vZ2VsaWprIGRpdCB0aWNrZXQgdG9lIHRlIGVpZ2VuZW4nLAogICdVbmFibGUgdG8gY29tbWl0ICVzLiBDaGVjayB2YWxpZGF0aW9uIGVycm9ycycgPT4gJ0thbiAlcyBuaWV0IGRvb3J2b2VyZW4uIENvbnRyb2xlZXIgb3AgdmFsaWRhdGllZm91dGVuJywKICAnVW5hYmxlIHRvIGNvbm5lY3QgdG8gTXlTUUwgc2VydmVyOiAlcycgPT4gJ09ubW9nZWxpamsgb20gdGUgdmVyYmluZGVuIG1ldCBkZSBNeVNRTHNlcnZlcjogJXMnLAogICdVbmFibGUgdG8gY3JlYXRlICVzLicgPT4gJ0thbiAlcyAgbmlldCBtYWtlbi4nLAogICdVbmFibGUgdG8gY3JlYXRlIGEgdGlja2V0LicgPT4gJ09ubW9nZWxpamsgZWVuIHRpY2tldCBhYW4gdGUgbWFrZW4uJywKICAnVW5hYmxlIHRvIGNyZWF0ZSBhZG1pbiB1c2VyICgjNiknID0+ICdPbm1vZ2VsaWprIG9tIGRlIGJlaGVlcmRlcnNhY2NvdW50IGFhbiB0ZSBtYWtlbiAoIzYpJywKICAnVW5hYmxlIHRvIGNyZWF0ZSBjb25maWcgc2V0dGluZ3MnID0+ICdOaWV0IG1vZ2VsaWprIG9tIGNvbmZpZ3VyYXRpZSBpbnN0ZWxsaW5nZW4gdGUgbWFrZW4nLAogICdVbmFibGUgdG8gY3JlYXRlIGxvY2FsIGFjY291bnQuIFNlZSBtZXNzYWdlcyBiZWxvdycgPT4gJ1dlIGt1bm5lbiB1dyBsb2thbGUgYWNjb3VudCBuaWV0IHJlZ2lzdHJlcmVuLiBaaWUgYmVyaWNodGVuIGhpZXJvbmRlcicsCiAgJ1VuYWJsZSB0byBjcmVhdGUgbmV3IGFjY291bnQuJyA9PiAnT25tb2dlbGlqayBvbSBlZW4gbmlldXcgYWNjb3VudCBhYW4gdGUgbWFrZW4uJywKICAnVW5hYmxlIHRvIGNyZWF0ZSBuZXcgdGlja2V0OiB1bmtub3duIGVycm9yJyA9PiAnS2FuIGdlZW4gbmlldXcgdGlja2V0IGFhbm1ha2VuOiBvbmJla2VuZGUgZm91dCcsCiAgJ1VuYWJsZSB0byBjcmVhdGUgbmV3IHRpY2tldDogdmFsaWRhdGlvbiBlcnJvcnMnID0+ICdLYW4gZ2VlbiBuaWV1dyB0aWNrZXQgYWFubWFrZW46IGdlbGRpZ2hlaWRzZm91dGVuJywKICAnVW5hYmxlIHRvIGNyZWF0ZSBvcmdhbml6YXRpb24uJyA9PiAnS2FuIG9yZ2FuaXNhdGllIG5pZXQgbWFrZW4uJywKICAnVW5hYmxlIHRvIGNyZWF0ZSB0aGUgZGF0YWJhc2UuJyA9PiAnTmlldCBtb2dlbGlqayBvbSBkYXRhYmFzZSB0ZSBtYWtlbi4nLAogICdVbmFibGUgdG8gY3JlYXRlIHRoZSB0aWNrZXQuJyA9PiAnT25tb2dlbGlqayBvbSB0aWNrZXQgYWFuIHRlIG1ha2VuLicsCiAgJ1VuYWJsZSB0byBkZWxldGUgJXMuJyA9PiAnT25tb2dlbGlqayBvbSAlcyB0ZSB2ZXJ3aWpkZXJlbi4nLAogICdVbmFibGUgdG8gZGVsZXRlICVzLiBUaGV5IG1heSBiZSBpbiB1c2UuJyA9PiAnT25tb2dlbGlqayBvbSAlcyB0ZSB2ZXJ3aWpkZXJlbi4gV2VsbGljaHQgZGF0IGhldCBub2cgaW4gZ2VicnVpayBpcy4nLAogICdVbmFibGUgdG8gZGVsZXRlIG9yZ2FuaXphdGlvbicgPT4gJ0thbiBvcmdhbmlzYXRpZSBuaWV0IHZlcndpamRlcmVuJywKICAnVW5hYmxlIHRvIGRlbGV0ZSB0YXNrJyA9PiAnT25tb2dlbGlqayBvbSB0YWFrIHRlIHZlcndpamRlcmVuJywKICAnVW5hYmxlIHRvIGRpc2FibGUgJXMnID0+ICdPbm1vZ2VsaWprIG9tICVzIHVpdCB0ZSBzY2hha2VsZW4nLAogICdVbmFibGUgdG8gZW1haWwgdmlhIFNNVFAnID0+ICdPbm1vZ2VsaWprIG9tIHZpYSBTTVRQIHRlIG1haWxlbicsCiAgJ1VuYWJsZSB0byBlbWFpbCB2aWEgcGhwIG1haWwgZnVuY3Rpb24nID0+ICdPbm1vZ2VsaWprIG9tIHZpYSBwaHAgdGUgbWFpbGVuJywKICAnVW5hYmxlIHRvIGVuYWJsZSAlcycgPT4gJ09ubW9nZWxpamsgb20gJXMgaW4gdGUgc2NoYWtlbGVuJywKICAnVW5hYmxlIHRvIGZldGNoICIlMSRzIiB0ZW1wbGF0ZSAtIGlkICMlZCcgPT4gJ0thbiAiJTEkcyIgdGVtcGxhdGUgbmlldCBvcGhhbGVuIC0gaWQgIyVkJywKICAnVW5hYmxlIHRvIGZpbmQgdXNlciBpbiBkaXJlY3RvcnknID0+ICdHZWJydWlrZXIgbmlldCBnZXZvbmRlbiBpbiBtYXAnLAogICdVbmFibGUgdG8gaW1wb3J0ICglcyk6ICVzJyA9PiAnT25tb2dlbGlqayBvbSAoJXMpOiAlcyB0ZSBpbXBvcnRlcmVuJywKICAnVW5hYmxlIHRvIGltcG9ydCBpdGVtOiAlcycgPT4gJ09ubW9nZWxpamsgb20gJXMgdGUgaW1wb3J0ZXJlbicsCiAgJ1VuYWJsZSB0byBpbXBvcnQgdXNlcjogJXMnID0+ICdPbm1vZ2VsaWprIG9tIGdlYnJ1aWtlciB0ZSBpbXBvcnRlcmVuOiAlcycsCiAgJ1VuYWJsZSB0byBsb2FkIGNvbmZpZyBpbmZvIGZyb20gREIuJyA9PiAnS29uIGNvbmZpZ3VyYXRpZS1pbmZvcm1hdGllIG5pZXQgbGFkZW4gdmFudWl0IERCLicsCiAgJ1VuYWJsZSB0byBsb2NrIHRoZSB0aWNrZXQuJyA9PiAnTmlldCBtb2dlbGlqayBvbSBlZW4gImxvY2siIG9wIGhldCB0aWNrZXQgdGUgemV0dGVuLicsCiAgJ1VuYWJsZSB0byBsb2cgaW4uIENoZWNrIFNNVFAgc2V0dGluZ3MuJyA9PiAnT25tb2dlbGlqayBvbSBpbiB0ZSBsb2dnZW4uIENvbnRyb2xlZXIgU01UUCBpbnN0ZWxsaW5nZW4uJywKICAnVW5hYmxlIHRvIG1ha2UgJXMgUFJJVkFURScgPT4gJ09ubWVnZWxpamsgb20gJXMgYWxzIHByaXZlIGFhbiB0ZSBtZXJrZW4nLAogICdVbmFibGUgdG8gbWFrZSAlcyBQVUJMSUMuJyA9PiAnT25tb2dlbGlqayBvbSAlcyBQVUJMSUVLRUxJSksgdGUgbWFrZW4uJywKICAnVW5hYmxlIHRvIG1ha2UgJXMgcHJpdmF0ZS4gUG9zc2libHkgYWxyZWFkeSBwcml2YXRlIScgPT4gJ05pZXQgbW9nZWxpamsgb20gJXMgcHJpdmUgdGUgbWFrZW4sIHdhYXJzY2hpam5saWprIGlzIGRlemUgYWwgcHJpdmUhJywKICAnVW5hYmxlIHRvIG1hbmFnZSBhbnkgb2YgdGhlIHNlbGVjdGVkIGVuZCB1c2VycycgPT4gJ0hldCBuaWV0IG1vZ2VsaWprIMOpw6luIHZhbiBkZSBnZXNlbGVjdGVlcmRlIGVpbmQgZ2VicnVpa2VycyB0ZSBiZWhlcmVuJywKICAnVW5hYmxlIHRvIG1hbmFnZSBhbnkgb2YgdGhlIHNlbGVjdGVkIG9yZ2FuaXphdGlvbnMnID0+ICdIZXQgaXMgbmlldCBtb2dlbGlqayDDqcOpbiB2YW4gZGUgZ2VzZWxlY3RlZXJkZSBvcmdhbmlzYXRpZXMgdGUgYmVoZXJlbicsCiAgJ1VuYWJsZSB0byBvcGVuIGNvbmZpZyBmaWxlIGZvciB3cml0aW5nLiBQZXJtaXNzaW9uIGRlbmllZCEgKCMzKScgPT4gJ05pZXQgZ2VsdWt0IG9tIGhldCBjb25maWd1cmF0aWViZXN0YW5kIHRlIGJlc2NocmlqdmVuLiBUb2VnYW5nIGdld2VpZ2VyZCEgKCMzKScsCiAgJ1VuYWJsZSB0byBwYXJzZSBzdWJtaXR0ZWQgY3N2OiAnID0+ICdPbm1vZWxpamsgZGUgZ2VsZXZlcmRlIGNzdiB0ZSBcJ3BhcnNlblwnOiAnLAogICdVbmFibGUgdG8gcGFyc2Ugc3VibWl0dGVkIGl0ZW1zJyA9PiAnT25tb2dlbGlqayBvbSBkZSBpbmdlem9uZGVuIGJlc3RhbmRlbiB0ZSBcJ3BhcnNlblwnJywKICAnVW5hYmxlIHRvIHBvc3QgaW50ZXJuYWwgbm90ZSAtIG1pc3Npbmcgb3IgaW52YWxpZCBkYXRhLicgPT4gJ09ubW9nZWxpamsgb20gaW50ZXJuZSBub3RpdGllIG9wIHRlIHNsYWFuIC0gb250YnJla2VuZGUgb2Ygb25nZWxkaWdlIGdlZ2V2ZW5zLicsCiAgJ1VuYWJsZSB0byBwb3N0IHRoZSBtZXNzYWdlLicgPT4gJ09ubW9nZWxpamsgdXcgYmVyaWNodGVuIG9wIHRlIHNsYWFuLicsCiAgJ1VuYWJsZSB0byBwb3N0IHRoZSBub3RlIC0gbWlzc2luZyBvciBpbnZhbGlkIGRhdGEuJyA9PiAnT25tb2dlbGlqayBvbSBpbnRlcm5lIG5vdGl0aWUgb3AgdGUgc2xhYW4gLSBvbnRicmVrZW5kZSBvZiBvbmdlbGRpZ2UgZ2VnZXZlbnMuJywKICAnVW5hYmxlIHRvIHBvc3QgdGhlIG5vdGUuJyA9PiAnT25tb2dlbGlqayBvbSBkZSBub3RpdGllIG9wIHRlIHNsYWFuLicsCiAgJ1VuYWJsZSB0byBwb3N0IHRoZSByZXBseSAtIG1pc3Npbmcgb3IgaW52YWxpZCBkYXRhLicgPT4gJ09ubW9nZWxpamsgb20gdXcgcmVhY3RpZSBvcCB0ZSBzbGFhbiAtIG9udGJyZWtlbmRlIG9mIG9uZ2VsZGlnZSBnZWdldmVucy4nLAogICdVbmFibGUgdG8gcG9zdCB0aGUgcmVwbHkuJyA9PiAnQW50d29vcmQgb3BzbGFhbiBtaXNsdWt0LicsCiAgJ1VuYWJsZSB0byBwcmludCB0byBQREYuJyA9PiAnUHJpbnRlbiBuYWFyIFBERiBtaXNsdWt0LicsCiAgJ1VuYWJsZSB0byBwdWJsaXNoICVzLiBUcnkgZWRpdGluZyBpdC4nID0+ICdPbm1vZ2VsaWprIG9tICVzIHRlIHB1YmxpY2VyZW4sIHByb2JlZXIgaGV0IG5vZ21hYWxzIHRlIGJld2Vya2VuLicsCiAgJ1VuYWJsZSB0byByZWFkIGNvbmZpZyBmaWxlLiBQZXJtaXNzaW9uIGRlbmllZCEgKCMyKScgPT4gJ05pZXQgbW9nZWxpamsgb20gaGV0IGNvbmZpZ3VyYXRpZWJlc3RhbmQgdGUgbGV6ZW4uIFRvZWdhbmcgZ2V3ZWlnZXJkISAoIzIpJywKICAnVW5hYmxlIHRvIHJlYWQgcmVxdWVzdCBib2R5JyA9PiAnS2FuIGhvb2ZkZ2VkZWVsdGUgdmFuIGhldCB2ZXJ6b2VrIG5pZXQgbGV6ZW4nLAogICdVbmFibGUgdG8gcmVnaXN0ZXIgYWNjb3VudC4gU2VlIG1lc3NhZ2VzIGJlbG93JyA9PiAnV2Uga3VubmVuIHV3IGFjY291bnQgbmlldCByZWdpc3RyZXJlbi4gWmllIGJlcmljaHRlbiBoaWVyb25kZXInLAogICdVbmFibGUgdG8gcmVtb3ZlICVzJyA9PiAnT25tb2dlbGlqayBvbSAlcyB0ZSB2ZXJ3aWpkZXJlbicsCiAgJ1VuYWJsZSB0byByZXNldCBwYXNzd29yZCcgPT4gJ0thbiB3YWNodHdvb3JkIG5pZXQgb3BuaWV1dyBpbnN0ZWxsZW4nLAogICdVbmFibGUgdG8gcmVzZXQgcGFzc3dvcmQuIENvbnRhY3QgeW91ciBhZG1pbmlzdHJhdG9yJyA9PiAnTmlldCBtb2dlbGlqayBvbSBoZXQgd2FjaHR3b29yZCB0ZSByZXNldHRlbiwgbmVlbSBjb250YWN0IG9wIG1ldCB1dyBzeXN0ZWVtYmVoZWVyZGVyJywKICAnVW5hYmxlIHRvIHJldHJpZXZlIHBhc3N3b3JkIHJlc2V0IGVtYWlsIHRlbXBsYXRlJyA9PiAnTmlldCBpbiBzdGFhdCBvbSBkZSB0ZW1wbGF0ZSB3YWNodHdvb3JkIGhlcnN0ZWxsZW4gb3AgdGUgaGFsZW4nLAogICdVbmFibGUgdG8gc2F2ZSBkcmFmdC4nID0+ICdPbm1vZ2VsaWprIG9tIGNvbmNlcHQgb3AgdGUgc2xhYW4uJywKICAnVW5hYmxlIHRvIHNhdmUgZmlsZScgPT4gJ0thbiBiZXN0YW5kIG5pZXQgb3BzbGFhbicsCiAgJ1VuYWJsZSB0byBzZWxlY3QgdGhlIGRhdGFiYXNlJyA9PiAnTmlldCBtb2dlbGlqayBvbSBkZSBkYXRhYmFzZSB0ZSBzZWxlY3RlcmVuJywKICAnVW5hYmxlIHRvIHNlbmQgcmVzZXQgZW1haWwuJyA9PiAnU3R1cmVuIHJlc2V0LWUtbWFpbCBpcyBtaXNsdWt0LicsCiAgJ1VuYWJsZSB0byBzZXQgc29ydGluZyBtb2RlJyA9PiAnTmlldCBtb2dlbGlqayBvbSBkZSBzb3J0ZWVyaW5zdGVsbGluZ2VuIGFhbiB0ZSBwYXNzZW4nLAogICdVbmFibGUgdG8gdHJhbnNmZXIgJXMnID0+ICdPbm1vZ2VsaWprIG9tICVzIHRlIHZlcmh1aXplbicsCiAgJ1VuYWJsZSB0byB0cmFuc2ZlciB0YXNrJyA9PiAnT25tb2dlbGlqayBvbSBkZSB0YWFrIHRlIHZlcmh1aXplbicsCiAgJ1VuYWJsZSB0byB0cmFuc2ZlciB0aWNrZXQnID0+ICdUaWNrZXQgdmVyaHVpemVuIG1pc2x1a3QnLAogICdVbmFibGUgdG8gdW5wdWJsaXNoICVzLiBUcnkgZWRpdGluZyBpdC4nID0+ICdPbm1vZ2VsaWprIG9tICVzIHRlIGRlcHVibGljZXJlbiwgcHJvYmVlciBoZXQgdGUgYmV3ZXJrZW4uJywKICAnVW5hYmxlIHRvIHVwZGF0ZSAlcy4nID0+ICdLYW4gbmlldCBiaWp3ZXJrZW4gJXMuJywKICAnVW5hYmxlIHRvIHVwZGF0ZSAlcy4gQ29ycmVjdCBlcnJvcihzKSBiZWxvdyBhbmQgdHJ5IGFnYWluLicgPT4gJ05pZXQgbW9nZWxpamsgb20gJXMgdGUgdXBkYXRlbi4gQ29ycmlnZWVyIG9uZGVyc3RhYW5kZSBmb3V0ZW4gZW4gcHJvYmVlciBvcG5pZXV3LicsCiAgJ1VuYWJsZSB0byB1cGRhdGUgYWNjb3VudC4nID0+ICdPbm1vZ2VsaWprIGhldCBhY2NvdW50IGJpaiB0ZSB3ZXJrZW4uJywKICAnVW5hYmxlIHRvIHVwZGF0ZSBzZXR0aW5ncy4nID0+ICdPbm1vZ2VsaWprIG9tIGRlIGluc3RlbGxpbmdlbiBiaWogdGUgd2Vya2VuLicsCiAgJ1VuYWJsZSB0byB1cGRhdGUgdXNlciBhY2NvdW50IGluZm9ybWF0aW9uJyA9PiAnQmlqd2Vya2VuIHZhbiBnZWJydWlrZXJzYWNjb3VudGluZm9ybWF0aWUgbWlzbHVrdCcsCiAgJ1VuYWJsZSB0byB1cGxvYWQgYmFja2Ryb3AgaW1hZ2U6ICVzJyA9PiAnT25tb2dlbGlqayBvbSBkZSBhY2h0ZXJncm9uZGFmYmVlbGRpbmcgJXMgdGUgdXBsb2FkZW4nLAogICdVbmFibGUgdG8gdXBsb2FkIGxvZ28gaW1hZ2U6ICVzJyA9PiAnS2FuIGxvZ28gYWZiZWVsZGluZyBuaWV0IHVwbG9hZGVuOiAlcycsCiAgJ1VuYWJsZSB0byB2YWxpZGF0ZSBydWxlcyBhcyBlbnRlcmVkJyA9PiAnS2FuIHJlZ2VscyB6b2FscyBpbmdldm9lcmQgbmlldCB2YWxpZGVyZW4nLAogICdVbmFibGUgdG8gdmVyaWZ5IHVzZXJuYW1lICVzJyA9PiAnT25tb2dlbGlqayBvbSBnZWJydWlrZXJzbmFhbSAlcyB0ZSB2ZXJpZmllcmVuJywKICAnVW5hYmxlIHRvIHdyaXRlIHRvIGNvbmZpZyBmaWxlLiBQZXJtaXNzaW9uIGRlbmllZCEgKCM1KScgPT4gJ09ubW9nZWxpamsgb20gaGV0IGNvbmZpZ3VyYXRpZWJlc3RhbmQgb3AgdGUgc2xhYW4sIHRvZWdhbmcgZ2V3ZWlnZXJkISAoIzUpJywKICAnVW5hc3NpZ25lZCcgPT4gJ05pZXQgdG9lZ2V3ZXplbicsCiAgJ1VuYmFuIEVtYWlsIDwlcz4nID0+ICdEZS1ibG9ra2VlciBFbWFpbGFkcmVzIDwlcz4nLAogICdVbmNoYW5nZWQnID0+ICdPbmdld2lqemlnZCcsCiAgJ1VuZGVyZmxvdyBvciB0aGUgbW9kZXMgbWlzbWF0Y2gnID0+ICdVbmRlcmZsb3cgb2YgbW9kZSBtaXNtYXRjaCcsCiAgJ1VuZXhwZWN0ZWQgY29udHJvbCBjaGFyYWN0ZXIgZm91bmQnID0+ICdPbnZlcndhY2h0ZSBjb250cm9sZSB0ZWtlbiBnZXZvbmRlbicsCiAgJ1VuZXhwZWN0ZWQgb3IgaW52YWxpZCBkYXRhIHJlY2VpdmVkJyA9PiAnT252ZXJ3YWNodGUgb2Ygb25nZWxkaWdlIGdlZ2V2ZW5zIG9udHZhbmdlbicsCiAgJ1VuZm9ybWF0dGVkJyA9PiAnTmlldCBvcGdlbWFha3QnLAogICdVbml0ZWQgU3RhdGVzJyA9PiAnVmVyZW5pZ2RlIFN0YXRlbicsCiAgJ1Vua25vd24nID0+ICdPbmJla2VuZCcsCiAgJ1Vua25vd24gSlNPTiBwYXJzaW5nIGVycm9yJyA9PiAnT25iZWtlbmRlIEpTT04gcGFyc2UgZm91dCcsCiAgJ1Vua25vd24gYWN0aW9uJyA9PiAnT25iZWtlbmRlIGFjdGllJywKICAnVW5rbm93biBhc3NpZ25lZScgPT4gJ09uYmVrZW5kZSBtZWRld2Vya2VyL3RvZWtlbm5lcicsCiAgJ1Vua25vd24gZGVwYXJ0bWVudCcgPT4gJ09uYmVrZW5kZSBhZmRlbGluZycsCiAgJ1Vua25vd24gZXJyb3InID0+ICdPbmJla2VuZGUgZm91dCcsCiAgJ1Vua25vd24gb2JqZWN0IGZvciAiJXMiIHRhZycgPT4gJ09uYmVrZW5kIG9iamVjdCB2b29yICIlcyIgdGFnJywKICAnVW5rbm93biBvciBpbnZhbGlkJyA9PiAnT25iZWtlbmQgb2Ygb25nZWxkaWcnLAogICdVbmtub3duIG9yIGludmFsaWQgRkFRIGNhdGVnb3J5JyA9PiAnT25iZWtlbmRlIG9mIG9uZ2VsZGlnZSBGQVFjYXRlZ29yaWUnLAogICdVbmtub3duIG9yIGludmFsaWQgZmlsZScgPT4gJ09uYmVrZW5kIG9mIG9uZ2VsZGlnIGJlc3RhbmQnLAogICdVbmtub3duIG9yIGludmFsaWQgZmxhZycgPT4gJ09uYmVrZW5kZSBvZiBvbmdlbGRpZ2UgdmxhZycsCiAgJ1Vua25vd24gb3IgaW52YWxpZCBmbGFnIGZvcm1hdCcgPT4gJ09uYmVrZW5kZSBvZiBvbmdlbGRpZ2UgdmxhZyBmb3JtYWF0JywKICAnVW5rbm93biBvciBpbnZhbGlkIGlucHV0JyA9PiAnT25iZWtlbmRlIG9mIG9uZ2VsZGlnZSBpbnZvZXInLAogICdVbmtub3duIG9yIGludmFsaWQgc3RhdGUnID0+ICdPbmJla2VuZGUgb2Ygb25nZWxkaWdlIHN0YXR1cycsCiAgJ1Vua25vd24gb3IgaW52YWxpZCB0YXJnZXQnID0+ICdPbmJla2VuZCBvZiBvbmdlbGRpZyBkb2VsJywKICAnVW5rbm93biBvciBpbnZhbGlkIHRpY2tldCBJRC4nID0+ICdPbmJla2VuZCBvZiBvbmdlbGRpZyB0aWNrZXQtaWQuJywKICAnVW5rbm93biBvcmdhbml6YXRpb24gc2VsZWN0ZWQnID0+ICdPbmJla2VuZGUgb3JnYW5pc2F0aWUgZ2VzZWxlY3RlZXJkJywKICAnVW5rbm93biBzdGF0dXMnID0+ICdPbmJla2VuZGUgc3RhdHVzJywKICAnVW5rbm93biBzeXN0ZW0gZW1haWwnID0+ICdPbmJla2VuZCBzeXN0ZWVtIGUtbWFpbGFkcmVzJywKICAnVW5rbm93biB1c2VyJyA9PiAnT25iZWtlbmRlIGdlYnJ1aWtlcicsCiAgJ1Vua25vd24gdXNlciBzZWxlY3RlZCcgPT4gJ09uYmVrZW5kZSBnZWJydWlrZXIgZ2VzZWxlY3RlZXJkJywKICAnVW5sb2NrJyA9PiAnVnJpamdldmVuJywKICAnVW5zdXBwb3J0ZWQgZGF0YSBmb3JtYXQnID0+ICdOaWV0IG9uZGVyc3RldW5kZSBnZWdldmVuc2luZGVsaW5nJywKICAnVXAgdG8gZGF0ZScgPT4gJ0JpaiBkZSB0aWpkJywKICAnVXAgdG8gdG9kYXknID0+ICdUb3Qgb3AgaGVkZW4nLAogICdVcGRhdGUnID0+ICdCaWp3ZXJrZW4nLAogICdVcGRhdGUgJXMnID0+ICdVcGRhdGUgJXMnLAogICdVcGRhdGUgQVBJIEtleScgPT4gJ0FQSSBzbGV1dGVsIGJpandlcmtlbicsCiAgJ1VwZGF0ZSBCYW4gUnVsZScgPT4gJ0Jld2VyayBibG9ra2FkZSByZWdlbCcsCiAgJ1VwZGF0ZSBDYW5uZWQgUmVzcG9uc2UnID0+ICdWb29yZ2VkZWZpbmllZXJkZSByZWFjdGllIGJpandlcmtlbicsCiAgJ1VwZGF0ZSBDYXRlZ29yeScgPT4gJ0FjdHVhbGlzZWVyIGNhdGVnb3JpZScsCiAgJ1VwZGF0ZSBEZXBhcnRtZW50JyA9PiAnQWN0dWFsaXNlZXIgYWZkZWxpbmcnLAogICdVcGRhdGUgRW1haWwgQWRkcmVzcycgPT4gJ0Jld2VyayBFbWFpbGFkcmVzJywKICAnVXBkYXRlIEZBUScgPT4gJ1Zlcm5pZXV3IEZBUScsCiAgJ1VwZGF0ZSBGaWx0ZXInID0+ICdVcGRhdGUgZmlsdGVyJywKICAnVXBkYXRlIEhlbHAgVG9waWMnID0+ICdCZXdlcmsgZWVuIEhlbHAgb25kZXJ3ZXJwJywKICAnVXBkYXRlIE9yZ2FuaXphdGlvbicgPT4gJ0FrdHVhbGlzZWVyIG9yZ2FuaXNhdGllJywKICAnVXBkYXRlIFBhZ2UnID0+ICdCZXdlcmsgcGFnaW5hJywKICAnVXBkYXRlIFBsdWdpbicgPT4gJ0Jld2Vya2VuIHBsdWdpbiAodWl0YnJlaWRpbmcpJywKICAnVXBkYXRlIFJvbGUnID0+ICdHZWFjdHVhbGlzZWVyZGUgcm9sJywKICAnVXBkYXRlIFNMQSBQbGFuJyA9PiAnU0xBIHNjaGVtYSBiaWp3ZXJrZW4nLAogICdVcGRhdGUgVGVhbScgPT4gJ0Jld2VyayB0ZWFtJywKICAnVXBkYXRlIFRlbXBsYXRlJyA9PiAnQWN0dWFsaXNlZXIgc2phYmxvb24nLAogICdVcGRhdGUgVGlja2V0ICMlcycgPT4gJ0JpandlcmtlbiB0aWNrZXQgIyVzJywKICAnVXBkYXRlIFVzZXInID0+ICdCaWp3ZXJrZW4gZ2VicnVpa2VyJywKICAnVXBkYXRlIGN1c3RvbSBsaXN0JyA9PiAnQWFuZ2VwYXN0ZSBsaWpzdCBiaWp3ZXJrZW4nLAogICdVcGRhdGUgZm9ybSBzZWN0aW9uJyA9PiAnVXBkYXRlIGZvcm11bGllciBzZWN0aWUnLAogICdVcGRhdGUgcG9zdGVkIHN1Y2Nlc3NmdWxseScgPT4gJ0Jpandlcmtpbmcgc3VjY2Vzdm9sIG9wZ2VzbGFnZW4nLAogICdVcGRhdGVkJyA9PiAnQmlqZ2V3ZXJrdCcsCiAgJ1VwZGF0ZWQgJXMnID0+ICdCaWpnZXdlcmt0ICVzJywKICAnVXBkYXRlZCBieSA8Yj57c29tZWJvZHl9PC9iPiB7dGltZXN0YW1wfSDigJQgJXMnID0+ICdCaWpnZXdlcmt0IGRvb3IgPGI+e3NvbWVib2R5fTwvYj4ge3RpbWVzdGFtcH0g4oCUICVzJywKICAnVXBncmFkZScgPT4gJ09wd2FhcmRlcmVuJywKICAnVXBncmFkZSBBYm9ydGVkIScgPT4gJ1VwZ3JhZGUvYmlqd2Vya2VuIGFmZ2Vicm9rZW4hJywKICAnVXBncmFkZSBDb21wbGV0ZWQhJyA9PiAnVXBncmFkZSBnZXNsYWFnZCEnLAogICdVcGdyYWRlIEZhaWxlZDogSW52YWxpZCBvciB3cm9uZyBoYXNoIFslc10nID0+ICdVcGdyYWRlIG1pc2x1a3Q6IE9uZ2VsZGlnIG9mIHZlcmtlZXJkIGhhc2ggWyVzXScsCiAgJ1VwZ3JhZGUgTm93JyA9PiAnVXBncmFkZSBudScsCiAgJ1VwZ3JhZGUgVGlwcycgPT4gJ1VwZ3JhZGUgdGlwcycsCiAgJ1VwZ3JhZGUgYWJvcnRlZCBkdWUgdG8gZXJyb3JzLiBBbnkgZXJyb3JzIGF0IHRoaXMgc3RhZ2UgYXJlIGZhdGFsLicgPT4gJ1VwZ3JhZGUvYmlqd2Vya2VuIGFmZ2Vicm9rZW4gdmFud2VnZSBmb3V0ZW4uIEFsbGUgZm91dGVuIGluIGRpdCBzdGFkaXVtIHppam4gZmF0YWFsIHZvb3IgZGUgdXBncmFkZS4nLAogICdVcGdyYWRlIG9zVGlja2V0IHRvICVzJyA9PiAnT3NUaWNrZXQgdXBncmFkZW4gbmFhciAlcycsCiAgJ1VwZ3JhZGUgdG8gJXMnID0+ICdVcGdyYWRlIG5hYXIgJXMnLAogICdVcGdyYWRlZCB0byAlcyAuLi4gcG9zdC11cGdyYWRlIGNoZWNrcyEnID0+ICdVcGdyYWRlIHVpdGdldm9lcmQgbmFhciAlcy4uLiBwb3N0LXVwZ3JhZGUgY29udHJvbGVzIScsCiAgJ1VwZ3JhZGVyJyA9PiAnVXBncmFkZXInLAogICdVcGdyYWRlciAtICVzICh0YXNrIHBlbmRpbmcpLicgPT4gJ1VwZ3JhZGVyIC0gJXMgKHRhYWsgaW4gd2FjaHRyaWopLicsCiAgJ1VwZ3JhZGVyIC0gJXMgYXBwbGllZCcgPT4gJ1VwZ3JhZGVyIC0gJXMgdG9lZ2VwYXN0JywKICAnVXBncmFkZXIgLSAlcyBjbGVhbnVwJyA9PiAnVXBncmFkZXIgLSAlcyBvcHNjaG9uZW4nLAogICdVcGdyYWRlciBFcnJvcicgPT4gJ1VwZ3JhZGVyIGZvdXQnLAogICdVcGxvYWQnID0+ICdVcGxvYWRlbicsCiAgJ1VwbG9hZCBhIG5ldyBiYWNrZHJvcCcgPT4gJ0VlbiBuaWV1d2UgYWNodGVyZ3JvbmQgZ2VicnVpa2VuJywKICAnVXBsb2FkIGEgbmV3IGxvZ28nID0+ICdVcGxvYWQgZWVuIG5pZXV3IGxvZ28nLAogICdVcGxvYWRpbmcgLi4uJyA9PiAnQWFuIGhldCB1cGxvYWRlbi4uLicsCiAgJ1VzZSBCcm93c2VyIFByZWZlcmVuY2UnID0+ICdHZWJydWlrIHRhYWxpbnN0ZWxsaW5nIHZhbiBicm93c2VyJywKICAnVXNlIERlZmF1bHQgU3lzdGVtIEVtYWlsIChhYm92ZSknID0+ICdHZWJydWlrIGhldCBzdGFkbmFhcmQgc3lzdGVlbWVtYWlsYWRyZXMgKGhpZXJib3ZlbiknLAogICdVc2UgTGFuZ3VhZ2UgUHJlZmVyZW5jZScgPT4gJ0dlYnJ1aWsgdGFhbCB2b29ya2V1cicsCiAgJ1VzZSBSZXBseS1UbyBFbWFpbCcgPT4gJ0dlYnJ1aWsgUmVwbHktdG8gZW1haWwnLAogICdVc2UgYSBjdXN0b20gYmFja2Ryb3AnID0+ICdFZW4gYWFuZ2VwYXN0ZSBhY2h0ZXJncm9uZCBnZWJydWlrZW4nLAogICdVc2UgYSBjdXN0b20gbG9nbycgPT4gJ0dlYnJ1aWsgZWVuIGVpZ2VuIGxvZ28nLAogICdVc2UgYW55IGF2YWlsYWJsZSBiYWNrZW5kJyA9PiAnR2VicnVpayBlbGsgYmVzY2hpa2JhcmUgXCdiYWNrZW5kXCcnLAogICdVc2Ugc3RhbmRhcmQgY29sdW1ucycgPT4gJ0dlYnJ1aWsgc3RhbmRhYXJkIGtvbG9tbWVuJywKICAnVXNlIHRoZSBjb2x1bW5zIHNob3duIGluIHRoZSB0YWJsZSBiZWxvdy4gVG8gYWRkIG1vcmUgZmllbGRzLCB2aXNpdCB0aGUgQWRtaW4gUGFuZWwgLSZndDsgTWFuYWdlIC0mZ3Q7IEZvcm1zIC0mZ3Q7ICVzIHBhZ2UgdG8gZWRpdCB0aGUgYXZhaWxhYmxlIGZpZWxkcy4gIE9ubHkgZmllbGRzIHdpdGggYHZhcmlhYmxlYCBkZWZpbmVkIGNhbiBiZSBpbXBvcnRlZC4nID0+ICdHZWJydWlrdCB1IGRlIGtvbG9tbWVuIGRpZSBpbiBvbmRlcnN0YWFuZGUgdGFiZWwgZ2V0b29uZCB3b3JkZW4uIE9tIG1lZXIgdmVsZGVuIHRvZSB0ZSB2b2VnZW4gZ2FhdCB1IG5hYXIgaGV0IEFkbWluIFBhbmVsIC0mZ3Q7IE1hbmFnZSAmZ3Q7IEZvcm11bGllcmVuICZndDsgJXMgcGFnaW5hIG9tIGRlIGJlc2NoaWtiYXJlIHZlbGRlbiB0ZSBiZXdlcmtlbi4gQWxsZW4gdmVsZGVuIHZhbiBoZXQgdHlwZSBcJ3ZhcmlhYmxlXCcga3VubmVuIHdvcmRlbiBnZWltcG9ydGVlcmQuJywKICAnVXNlIHRoZSBjb2x1bW5zIHNob3duIGluIHRoZSB0YWJsZSBiZWxvdy4gVG8gYWRkIG1vcmUgcHJvcGVydGllcywgdXNlIHRoZSBQcm9wZXJ0aWVzIHRhYi4gIE9ubHkgcHJvcGVydGllcyB3aXRoIGB2YXJpYWJsZWAgZGVmaW5lZCBjYW4gYmUgaW1wb3J0ZWQuJyA9PiAnR2VicnVpayBkZSBrb2xvbW1lbiBnZXRvb25kIGluIGRlIHRhYmVsIGhpZXJvbmRlci4gT20gbWVlciBlaWdlbnNjaGFwcGVuIHRvZSB0ZSB2b2VnZW4sIGdlYnJ1aWsgZGUgRWlnZW5zY2hhcHBlbiB0YWIuIEFsbGVlbiBlaWdlbnNjaGFwcGVuIGdlZGVmaW5pw6tlcmQgYWxzIFwndmFyaWFiZWxcJyBrdW5uZW4gZ2XDr21wb3J0ZWVyZCB3b3JkZW4uJywKICAnVXNlIHRoZSBmb2xsb3dpbmcgZm9ybSB0byB0ZXN0IHdoZXRoZXIgeW91ciA8c3Ryb25nPk91dGdvaW5nIEVtYWlsPC9zdHJvbmc+IHNldHRpbmdzIGFyZSBwcm9wZXJseSBlc3RhYmxpc2hlZC4nID0+ICdHZWJydWlrIGhldCBvbmRlcnN0YWFuZGUgZm9ybXVsaWVyIG9tIHRlIHRlc3RlbiBvZiB1dyA8c3Ryb25nPlVpdGdhYW5kZTwvc3Ryb25nPiBlLW1haWxpbnN0ZWxsaW5nZW4gY29ycmVjdCB6aWpuLicsCiAgJ1VzZSB0aGUgZm9ybXMgYmVsb3cgdG8gY3JlYXRlIG9yIHVwZGF0ZSB0aGUgaW5mb3JtYXRpb24gd2UgaGF2ZSBvbiBmaWxlIGZvciB5b3VyIGFjY291bnQnID0+ICdHZWJydWlrIGRlIG9uZGVyc3RhYW5kZSBmb3JtdWxpZXJlbiBvbSBkZSBpbmZvcm1hdGllIHZvb3IgdXcgYWNjb3VudCB0ZSBtYWtlbiBvZiBiaWogdGUgd2Vya2VuJywKICAnVXNlIHRoZSBmb3JtcyBiZWxvdyB0byB1cGRhdGUgdGhlIGluZm9ybWF0aW9uIHdlIGhhdmUgb24gZmlsZSBmb3IgeW91ciBhY2NvdW50JyA9PiAnR2VicnVpayBkZSBvbmRlcnN0YWFuZGUgZm9ybXVsaWVyZW4gb20gaW5mb3JtYXRpZSBiaWogdGUgd2Vya2VuIGRpZSB3ZSBoZWJiZW4gdm9vciB1dyBhY2NvdW50JywKICAnVXNlZCBmb3IgSFRNTCBlbWFpbCBwcm9jZXNzaW5nJyA9PiAnVGVuIGJlaG9ldmUgdmFuIGVtYWlsdmVyd2Vya2luZycsCiAgJ1VzZWQgZm9yIGVtYWlsIGZldGNoaW5nJyA9PiAnVGVuIGJlaG9ldmUgdmFuIGVtYWlsb250dmFuZ3N0JywKICAnVXNlZCBmb3IgaW1hZ2UgbWFuaXB1bGF0aW9uIGFuZCBQREYgcHJpbnRpbmcnID0+ICdUZW4gYmVob2V2ZSB2YW4gYWZiZWVsZGluZ3NiZXdlcmtpbmcgZW4gUERGcHJpbnRlbicsCiAgJ1VzZWQgdG8gZGV0ZWN0IGZpbGUgdHlwZXMgZm9yIHVwbG9hZHMnID0+ICd3b3JkdCBnZWJydWlrdCBvbSBiZXN0YW5kc3R5cGVuIHZhbiB1cGxvYWRzIHRlIGRldGVjdGVyZW4nLAogICdVc2VyJyA9PiAnR2VicnVpa2VyJywKICAnVXNlciBBY2NvdW50IExvZ2luJyA9PiAnR2VicnVpa2Vyc2xvZ2luJywKICAnVXNlciBEYXRhJyA9PiAnR2VicnVpa2Vyc2dlZ2V2ZW5zJywKICAnVXNlciBEaXJlY3RvcnknID0+ICdMaWpzdCB2YW4gZ2VicnVpa2VycycsCiAgJ1VzZXIgRXhjZXNzaXZlIExvZ2lucycgPT4gJ01heGltYWxlIGFhbm1lbGRwb2dpbmdlbiBkb29yIGdlYnJ1aWtlcicsCiAgJ1VzZXIgSW5mb3JtYXRpb24nID0+ICdHZWJydWlrZXJnZWdldmVucycsCiAgJ1VzZXIgSW5mb3JtYXRpb24gRmllbGRzJyA9PiAnR2VicnVpa2Vyc2luZm9ybWF0aWUgdmVsZGVuJywKICAnVXNlciBQcmVmZXJlbmNlcycgPT4gJ0dlYnJ1aWtlcnN2b29ya2V1cmVuJywKICAnVXNlciBTZXNzaW9uIFRpbWVvdXQnID0+ICdHZWJydWlrZXIgc2Vzc2llIFRpbWUtb3V0JywKICAnVXNlciBTZXR0aW5ncyBhbmQgT3B0aW9ucycgPT4gJ0dlYnJ1aWtlciBJbnN0ZWxsaW5nZW4gZW4gT3B0aWVzJywKICAnVXNlciBhbHJlYWR5IGJlbG9uZ3MgdG8gdGhpcyBvcmdhbml6YXRpb24hJyA9PiAnR2VicnVpa2VyIGlzIGFsIGxpZCB2YW4gZGV6ZSBvcmdhbmlzYXRpZSEnLAogICdVc2VyIGFscmVhZHkgcmVnaXN0ZXJlZCcgPT4gJ0dlYnJ1aWtlciBpcyBhbCBnZXJlZ2lzdHJlZXJkJywKICAnVXNlciBjYW5ub3QgY2hhbmdlIHBhc3N3b3JkJyA9PiAnR2VicnVpa2VyIGthbiB3YWNodHdvb3JkIG5pZXQgdmVyYW5kZXJlbicsCiAgJ1VzZXIgbG9naW4nID0+ICdHZWJydWlrZXIgbG9naW4nLAogICdVc2VyIGxvZ291dCcgPT4gJ0dlYnJ1aWtlciB1aXRsb2dnZW4nLAogICdVc2VyIHBvc3RpbmcgdGhlIG1lc3NhZ2UnID0+ICdHZWJydWlrZXIgZGllIGhldCBiZXJpY2h0IGhlZWZ0IGdlcGxhYXRzdCcsCiAgJ1VzZXJuYW1lJyA9PiAnR2VicnVpa2Vyc25hYW0nLAogICdVc2VybmFtZSBhbHJlYWR5IGluIHVzZScgPT4gJ0dlYnJ1aWtlcnNuYWFtIGlzIGFsIGluIGdlYnJ1aWsnLAogICdVc2VybmFtZSBjb250YWlucyBpbnZhbGlkIGNoYXJhY3RlcnMnID0+ICdHZWJydWlrZXJzbmFhbSBiZXZhdCBvbmdlbGRpZ2UgdGVrZW5zJywKICAnVXNlcm5hbWUgaXMgcmVxdWlyZWQnID0+ICdHZWJydWlrZXJzbmFhbSBpcyB2ZXJwbGljaHQnLAogICdVc2VybmFtZSBtaXNzaW5nJyA9PiAnR2VicnVpa2Vyc25hYW0gb250YnJlZWt0JywKICAnVXNlcm5hbWUgbXVzdCBoYXZlIGF0IGxlYXN0IHR3byAoMikgY2hhcmFjdGVycycgPT4gJ0dlYnJ1aWtlcnNuYWFtIG1vZXQgdWl0IHRlbm1pbnN0ZSB0d2VlICgyKSB0ZWtlbnMgYmVzdGFhbicsCiAgJ1VzZXJuYW1lIHJlcXVpcmVkJyA9PiAnR2VicnVpa2Vyc25hYW0gdmVyZWlzdCcsCiAgJ1VzZXJzJyA9PiAnR2VicnVpa2VycycsCiAgJ1VzZXJzIFNldHRpbmdzJyA9PiAnR2VicnVpa2VycyBpbnN0ZWxsaW5nZW4nLAogICdVc2VycyBjYW4gYWx3YXlzIHNpZ24gaW4gd2l0aCB0aGVpciBlbWFpbCBhZGRyZXNzJyA9PiAnR2VicnVpa2VycyBrdW5uZW4gYWx0aWpkIGlubG9nZ2VuIG1ldCBodW4gZS1tYWlsYWRyZXMnLAogICdVc2VycyBjYW5ub3QgdXBsb2FkIG1vcmUgdGhhbiB0aGlzIG1hbnkgZmlsZXMuJyA9PiAnR2VicnVpa2VycyBrdW5uZW4gbmlldCBtZWVyIGRhdCB6b3ZlZWwgYmVzdGFuZGVuIHVwbG9hZGVuLicsCiAgJ1VzaW5nIFdTX0ZUUCB0aGlzIHdvdWxkIGJlIHJpZ2h0IGhhbmQgY2xpY2tpbmcgb24gdGhlIGZpbGUsIHNlbGVjdGluZyBjaG1vZCwgYW5kIHRoZW4gZ2l2aW5nIGFsbCBwZXJtaXNzaW9ucyB0byB0aGUgZmlsZS4nID0+ICdNRVQgV1NfRlRQIGt1bnQgdSBkb29yIHJlY2h0cyB0ZSBrbGlra2VuIG9wIGhldCBiZXN0YW5kIGVuIGNobW9kIHRlIHNlbGVjdGVyZW4gYWxsZSB0b2VnYW5nIHRvdCBoZXQgYmVzdGFuZCBvcGVuIHpldHRlbiAoNzc3KS4nLAogICdVc2luZyBXU19GVFAgdGhpcyB3b3VsZCBiZSByaWdodCBoYW5kIGNsaWNraW5nIG9uIHRoZSBmaWxlLCBzZWxlY3RpbmcgY2htb2QsIGFuZCB0aGVuIHJlbW92ZSB3cml0ZSBhY2Nlc3MnID0+ICdNZXQgV1NfRlRQIGtsaWt0IHUgcmVjaHRzIG9wIGhldCBiZXN0YW5kLCB1IGtpZXN0IGhpZXJuYSB2b29yIFwnY2htb2RcJyBlbiB1IHZpbmt0IGRlIHNjaHJpamZ0b2VnYW5nIFVJVCcsCiAgJ1ZhY2F0aW9uIE1vZGUnID0+ICdWYWthbnRpZW1vZHVzJywKICAnVmFsaWQgQVBJIGtleSByZXF1aXJlZCcgPT4gJ0dlbGRpZ2UgQVBJLXNsZXV0ZWwgdmVyZWlzdCcsCiAgJ1ZhbGlkIENTUkYgVG9rZW4gUmVxdWlyZWQnID0+ICdHZWxkaWdlIENTUkYgVG9rZW4gdmVyZWlzdCcsCiAgJ1ZhbGlkIElQIGlzIHJlcXVpcmVkJyA9PiAnR2VsZGlnIElQIGlzIHZlcmVpc3QnLAogICdWYWxpZCBlbWFpbCBhZGRyZXNzIGFuZCB0aWNrZXQgbnVtYmVyIHJlcXVpcmVkJyA9PiAnR2VsZGlnIGVtYWlsIGFkcmVzIGVuIHRpY2tldCBudW1tZXIgdmVyZWlzdCcsCiAgJ1ZhbGlkIGVtYWlsIGFkZHJlc3MgaXMgcmVxdWlyZWQnID0+ICdHZWxkaWcgZS1tYWlsYWRyZXMgaXMgdmVyZWlzdCcsCiAgJ1ZhbGlkIGVtYWlsIGlzIHJlcXVpcmVkJyA9PiAnR2VsZGlnIGUtbWFpbGFkcmVzIGlzIHZlcmVpc3QnLAogICdWYWxpZCBlbWFpbCByZXF1aXJlZCcgPT4gJ0dlbGRpZ2UgZS1tYWlsIHZlcmVpc3QnLAogICdWYWxpZCBlbWFpbCByZXF1aXJlZCBmb3IgdGhlIG1hdGNoIHR5cGUnID0+ICdHZWxkaWcgZS1tYWlsIHZlcmVpc3Qgdm9vciBoZXQgb3ZlcmVlbmtvbXN0IHR5cGUnLAogICdWYWxpZCBmb2xkZXIgcmVxdWlyZWQnID0+ICdHZWxkaWdlIG1hcCB2ZXJlaXN0JywKICAnVmFsaWQgcGFzc3dvcmQgcmVzZXQgd2luZG93IHJlcXVpcmVkJyA9PiAnR2VsZGlnIHdhY2h0d29vcmQgaGVyc3RlbCB2ZW5zdGVyIHZlcmVpc3QnLAogICdWYWxpZCBwaG9uZSBudW1iZXIgaXMgcmVxdWlyZWQnID0+ICdFZW4gZ2VsZGlnIHRlbGVmb29ubnVtbWVyIGlzIHZlcmVpc3QnLAogICdWYWxpZCByZWNpcGllbnQgZW1haWwgYWRkcmVzcyByZXF1aXJlZCcgPT4gJ0dlbGRpZyBlLW1haWxhZHJlcyB2YW4gb250dmFuZ2VyIG5vZGlnJywKICAnVmFsaWQgcmVndWxhciBleHByZXNzaW9uJyA9PiAnR2VsZGlnZSByZWd1bGFpcmUgZXhwcmVzc2llJywKICAnVmFsaWQgdXNlcm5hbWUgb3IgZW1haWwgYWRkcmVzcyBpcyByZXF1aXJlZCcgPT4gJ0dlbGRpZ2UgZ2VicnVpa2Vyc25hYW0gb2YgZS1tYWlsYWRyZXMgaXMgdmVyZWlzdCcsCiAgJ1ZhbGlkYXRpb24gRXJyb3InID0+ICdWYWxpZGF0aWVmb3V0JywKICAnVmFsaWRhdG9yJyA9PiAnVmFsaWRhdG9yJywKICAnVmFsdWUnID0+ICdXYWFyZGUnLAogICdWYWx1ZSBhbHJlYWR5IGluIHVzZScgPT4gJ1dhYXJkZSByZWVkcyBpbiBnZWJydWlrJywKICAnVmFsdWUgYW5kIEFiYnJldmlhdGlvbicgPT4gJ1dhYXJkZSBlbiBhZmtvcnRpbmcnLAogICdWYWx1ZSBkb2VzIG5vdCBtYXRjaCByZXF1aXJlZCBwYXR0ZXJuJyA9PiAnZGUgd2FhcmRlIGhlZWZ0IGdlZW4gb3ZlcmVlbmtvbXN0IG1ldCBoZXQgdmVyZWlzdGUgcGF0cm9vbicsCiAgJ1ZhbHVlIHJlcXVpcmVkJyA9PiAnV2FhcmRlIHZlcmVpc3QnLAogICdWYXJpYWJsZScgPT4gJ1ZhcmlhYmVsZScsCiAgJ1ZhcmlhYmxlIG5hbWUgaXMgcmVxdWlyZWQgZm9yIHJlcXVpcmVkIGZpZWxkcycgPT4gJ1ZhcmlhYmVsZSBuYWFtIGlzIHZlcmVpc3Qgdm9vciB2ZXJlaXN0ZSB2ZWxkZW4nLAogICdWZXJpZmllZCcgPT4gJ0dldmVyaWZpZWVyZCcsCiAgJ1ZlcmlmaWVkIGJ5ICVzJyA9PiAnR2V2ZXJpZmllZXJkIGRvb3IgJXMnLAogICdWZXJpZnkgRW1haWwgQWRkcmVzc2VzJyA9PiAnQ29udHJvbGVlciBlbWFpbCBhZHJlc3NlbicsCiAgJ1ZlcmlmeSBlbWFpbCBhZGRyZXNzIGRvbWFpbicgPT4gJ0NvbnRyb2xlZXIgZS1tYWlsYWRyZXMgZG9tZWluJywKICAnVmVyc2lvbicgPT4gJ1ZlcnNpZScsCiAgJ1ZpZXcnID0+ICdiZWtpamsnLAogICdWaWV3IFRhc2snID0+ICdUYWFrIGJla2lqa2VuJywKICAnVmlldyBUaWNrZXQnID0+ICdUaWNrZXQgd2VlcmdldmVuJywKICAnVmlldyBUaWNrZXQgVGhyZWFkJyA9PiAnQmVraWprIFRpY2tldCBib29tc3RydWN0dXVyJywKICAnVmlldyB0aWNrZXQgc3RhdHVzJyA9PiAnQmVraWprIHRpY2tldCBzdGF0dXMnLAogICdWaWV3aW5nJyA9PiAnQmVraWprZW4nLAogICdWaXNpYmlsaXR5JyA9PiAnWmljaHRiYWFyaGVpZCcsCiAgJ1Zpc2libGUnID0+ICdaaWNodGJhYXInLAogICdXQVJOJyA9PiAnV0FBUlNDSFVXSU5HJywKICAnV2FybmluZ3MnID0+ICdXYWFyc2NodXdpbmdlbicsCiAgJ1dlIGFyZSBkZWxpZ2h0ZWQgeW91IGhhdmUgY2hvc2VuIG9zVGlja2V0IGZvciB5b3VyIGN1c3RvbWVyIHN1cHBvcnQgdGlja2V0aW5nIHN5c3RlbSEnID0+ICdXZSB6aWpuIHZlcmhldWdkIGRhdCB1IG9zVGlja2V0IGhlZWZ0IGdla296ZW4hJywKICAnV2UgY2FuIGhlbHAuIEZlZWwgZnJlZSB0byAlMSRzIGNvbnRhY3QgdXMgJTIkcyBmb3IgcHJvZmVzc2lvbmFsIGhlbHAuJyA9PiAnV2Uga3VubmVuIGhlbHBlbiwgc2Nocm9vbSBuaWV0IG9ucyB0ZSAlMSRzIGNvbnRhY3RlbiAlMiRzIHRidiBwcm9mZXNzaW9uZWxlIGh1bHAuJywKICAnV2UgaGF2ZSBhIHByb2JsZW0gLSBhbm90aGVyIGluc3RhbGxhdGlvbiB3aXRoIHNhbWUgdGFibGUgcHJlZml4IGV4aXN0cyEnID0+ICdFciBpcyBlZW4gcHJvYmxlZW0gZ2Vjb25zdGF0ZWVyZCAtIGVlbiBhbmRlcmUgaW5zdGFsbGF0aWUgbWV0IGhldHplbGZkZSB0YWJlbHZvb3J2b2Vnc2VsIChwcmVmaXgpIGJlc3RhYXQgYWwhJywKICAnV2UgaGF2ZSBhIHByb2JsZW0gLi4uIHdhaXQgYSBzZWMuJyA9PiAnV2UgaGViYmVuIGVlbiBwcm9ibGVlbS4uLiBldmVuIGdlZHVsZC4nLAogICdXZSBoYXZlIHNlbnQgeW91IGEgcmVzZXQgZW1haWwgdG8gdGhlIGVtYWlsIGFkZHJlc3MgeW91IGhhdmUgb24gZmlsZSBmb3IgeW91ciBhY2NvdW50LiBJZiB5b3UgZG8gbm90IHJlY2VpdmUgdGhlIGVtYWlsIG9yIGNhbm5vdCByZXNldCB5b3VyIHBhc3N3b3JkLCBwbGVhc2Ugc3VibWl0IGEgdGlja2V0IHRvIGhhdmUgeW91ciBhY2NvdW50IHVubG9ja2VkLicgPT4gJ1dlIGhlYmJlbiBlZW4gaGVyc3RlbGVtYWlsIGdlc3R1dXJkICBuYWFyIGhldCBhZHJlcyBkYXQgZ2Vrb3BwZWxkIGlzIGFhbiB1dyBhY2NvdW50LiBBbHMgdSBkZXplIGVtYWlsIG5pZXQgaGVlZnQgZ2VrcmVnZW4gb2YgaGV0IGx1a3QgbmlldCBvbSB1dyB3YWNodHdvb3JkIHRlIHJlc2V0dGVuLCBzdHV1cnQgdSBkYW4gYXViIGVlbiB0aWNrZXQgaW4gbWV0IGFscyBvbmRlcndlcnAgIk1pam4gYWNjb3VudCBpcyBnZWJsb2trZWVyZCIuJywKICAnV2UgaGlnaGx5IHJlY29tbWVuZCB0aGF0IHlvdSBmb2xsb3cgdGhlIHN0ZXBzIGJlbG93LicgPT4gJ1dlIGJldmVsZW4gdSB0ZW4gaG9vZ3N0ZSBhYW4gb20gb25kZXJzdGFhbmRlIHN0YXBwZW4gdGUgZG9vcmxvcGVuLicsCiAgJ1dlIHByb3ZpZGUgJTEkcyBwcm9mZXNzaW9uYWwgdXBncmFkZSBzZXJ2aWNlcyAlMiRzIGFuZCBjb21tZXJjaWFsIHN1cHBvcnQuJyA9PiAnVyBiaWVkZW4gJTEkcyBwcm9mZXNzaW9uZWxlIHVwZ3JhZGUgZGllbnN0ZW4gJTIkcyBlbiBjb21tZXJjaWVsZSBzdXBwb3J0LicsCiAgJ1dlIHByb3ZpZGUgPHU+cHJvZmVzc2lvbmFsIGluc3RhbGxhdGlvbiBzZXJ2aWNlczwvdT4gYW5kIGNvbW1lcmNpYWwgc3VwcG9ydCB3aXRoIGd1YXJhbnRlZWQgcmVzcG9uc2UgdGltZXMsIGFuZCBhY2Nlc3MgdG8gdGhlIGNvcmUgZGV2ZWxvcG1lbnQgdGVhbS4nID0+ICdXaWogYmllZGVuIDx1PnByb2Zlc3Npb25lbGUgaW5zdGFsbGF0aWVzZXJ2aWNlczwvdT4gZW4gY29tbWVyc2llbGUgb25kZXJzdGV1bmluZyBtZXQgZ2VnYXJhbmRlZXJkZSByZWFjdGlldGlqZGVuIGVuIHRvZWdhbmcgdG90IG9ucyBvbnR3aWtrZWx0ZWFtLicsCiAgJ1dlIHByb3ZpZGUgPHU+cHJvZmVzc2lvbmFsIGluc3RhbGxhdGlvbiBzZXJ2aWNlczwvdT4gYW5kIGNvbW1lcmNpYWwgc3VwcG9ydC4nID0+ICdXaWogYmllZGVuIDx1PnByb2Zlc3Npb25lbGUgaW5zdGFsbGF0aWUgZGllbnN0ZW48L3U+IGVuIGNvbW1lcmNpZWxlIG9uZGVyc3RldW5pbmcuJywKICAnV2UgdGFrZSB1c2VyIGZlZWRiYWNrIHNlcmlvdXNseSBhbmQgd2VcJ3JlIGRlZGljYXRlZCB0byBtYWtpbmcgY2hhbmdlcyBiYXNlZCBvbiB5b3VyIGlucHV0LicgPT4gJ1dlIGhlY2h0ZW4gdmVlbCB3YWFyZGUgYWFuIGRlIHRlcnVna29wcGVsaW5nIHZhbiBnZWJydWlrZXJzIHdlIHppam4gemVlciB0b2VnZXdpamQgb20gdXcgd2Vuc2VuIGluIGhldCBzeXN0ZWVtIHRlIGludGVncmVyZW4uJywKICAnV2VcJ3JlIGRvbmUhJyA9PiAnV2UgemlqbiBrbGFhciEnLAogICdXZVwndmUganVzdCBzZW50IHlvdSBhbiBlbWFpbCB0byB0aGUgYWRkcmVzcyB5b3UgZW50ZXJlZC4gUGxlYXNlIGZvbGxvdyB0aGUgbGluayBpbiB0aGUgZW1haWwgdG8gY29uZmlybSB5b3VyIGFjY291bnQgYW5kIGdhaW4gYWNjZXNzIHRvIHlvdXIgdGlja2V0cy4nID0+ICdXZSBoZWJiZW4gbmV0IGVlbiBtYWlsIGdlc3R1dXJkIG5hYXIgaGV0IGFkcmVzIGRhdCB1IGhlZWZ0IG9wZ2VnZXZlbi4gVm9sZyBkZSBpbnN0cnVjdGllcyBpbiBkZXplIGVtYWlsIG9tIHV3IGFjY291bnQgdGUgYmV2ZXN0aWdlbiBlbiB0b2VnYW5nIHRlIGtyaWpnZW4gdG90IHV3IHRpY2tldHMuJywKICAnV2ViJyA9PiAnV2ViJywKICAnV2ViIEZvcm1zJyA9PiAnV2ViZm9ybXVsaWVyZW4nLAogICdXZWIgU2VydmVyIFNvZnR3YXJlJyA9PiAnV2ViIFNlcnZlciBTb2Z0d2FyZScsCiAgJ1dlbGNvbWUgdG8gdGhlIFN1cHBvcnQgQ2VudGVyJyA9PiAnV2Vsa29tIGJpaiBoZXQgT25kZXJzdGV1bmluZ3NjZW50cnVtJywKICAnV2VsY29tZSwgJXMuJyA9PiAnV2Vsa29tLCAlcy4nLAogICdXaGF0IHRvIGRvPycgPT4gJ1dhdCBudT8nLAogICdXaGF0XCdzIE5leHQ/JyA9PiAnV2F0IGlzIGhldCB2b2xnZW5kZT8nLAogICdXaG9vcHMuIFBlcmhhcHMgeW91IG1lYW50IHRvIHNlbmQgc29tZSBDU1YgcmVjb3JkcycgPT4gJ09lcHMuIE1pc3NjaGllbiBiZWRvZWxkZSBqZSBvbSBDU1YgcmVjb3JkcyB0ZSB2ZXJ6ZW5kZW4nLAogICdXaWRnZXQnID0+ICdBcnRpa2VsJywKICAnV2lkZ2V0IG5vdCBkZWZpbmVkIGZvciB0aGlzIGZpZWxkJyA9PiAnQXJ0aWtlbCBpcyBuaWV0IGdlZGVmaW5pZWVyZCB2b29yIGRpdCB2ZWxkJywKICAnV2lkdGgnID0+ICdCcmVlZHRlJywKICAnV2luZG93cyBQb3dlclNoZWxsJyA9PiAnV2luZG93cyBQb3dlcnNoZWxsJywKICAnV291bGQgeW91IGFsc28gbGlrZSB0byByZW1vdmUgZGF0YSBjdXJyZW50bHkgZW50ZXJlZCBmb3IgdGhpcyBmaWVsZD8gPGVtPiBJZiB5b3Ugb3B0IG5vdCB0byByZW1vdmUgdGhlIGRhdGEgbm93LCB5b3Ugd2lsbCBoYXZlIHRoZSBvcHRpb24gdG8gZGVsZXRlIHRoZSB0aGUgZGF0YSB3aGVuIGVkaXRpbmcgaXQuPC9lbT4nID0+ICdXaWx0IHUgb29rIGdlZ2V2ZW5zIGRpZSBtb21lbnRlZWwgd29yZGVuIGluZ2V2b2VyZCB2b29yIGRpdCB2ZWxkIHZlcndpamRlcmVuPyA8ZW0+S2llc3QgdSBhbHMgdSBkZSBnZWdldmVucyBuaWV0IG51IHdpbHQgdmVyd2lqZGVyZW4sIGhlYiBqZSBkZSBvcHRpZSBvbSBkZXplIHRlIHZlcndpamRlcmVuIGJpaiBoZXQgYmV3ZXJrZW4gdmFuIGRlIGdlZ2V2ZW5zLjwvZW0+JywKICAnV3JpdGUgYWNjZXNzIHJlcXVpcmVkIHRvIGNvbnRpbnVlJyA9PiAnU2NocmlqZmJldm9lZ2RoZWlkIGlzIG5vZGlnIG9tIGRvb3IgdGUgZ2FhbicsCiAgJ1hNTCBBUEknID0+ICdYTUwgQVBJJywKICAnWE1MIGVycm9yOiAlMSRzIGF0IGxpbmUgJTIkZDolMyRkJyA9PiAnWE1MIGZvdXQ6ICUxJHMgb3AgbGlqbiAlMiRkOiUzJGQnLAogICdYTUwgZXh0ZW5zaW9uIG5vdCBzdXBwb3J0ZWQnID0+ICdYTUwgZXh0ZW5zaWUgbmlldCBvbmRlcnN0ZXVuZCcsCiAgJ1llcycgPT4gJ0phJywKICAnWWVzLCBEZWxldGUnID0+ICdKYSwgdmVyd2lqZGVyJywKICAnWWVzLCBEZWxldGUgVXNlcicgPT4gJ0phLCB2ZXJ3aWpkZXIgZ2VicnVpa2VyJywKICAnWWVzLCBEbyBpdCEnID0+ICdCZXZlc3RpZ2VuJywKICAnWW91IGFyZSBhYm91dCB0byBkZWxldGUgJXMgZmllbGRzLicgPT4gJ1UgYmVudCBiZXppZyBtZXQgJXMgdmVsZGVuIHZlcndpamRlcmVuLicsCiAgJ1lvdSBhcmUgdHJ5aW5nIHRvIHVwbG9hZCB0b28gbWFueSBmaWxlcycgPT4gJ1UgcHJvYmVlcnQgdGUgdmVlbCBiZXN0YW5kZW4gdGUgdXBsb2FkZW4nLAogICdZb3UgY2FuIG5vdCBkaXNhYmxlL2RlbGV0ZSB5b3Vyc2VsZiAtIHlvdSBjb3VsZCBiZSB0aGUgb25seSBhZG1pbiEnID0+ICdVIGt1bnQgdXplbGYgbmlldCB1aXRzY2hha2VsZW4gb2YgdmVyd2lqZGVyZW4gLSBzdGVsdCB1IGVlbnMgdm9vciBkYXQgdSBkZSBlbmlnZSBiZWhlZXJkZXIgYmVudCEnLAogICdZb3UgY2FuIG5vdyBnbyB0byAlcyB0byBlbmFibGUgdGhlIHN5c3RlbSBhbmQgZXhwbG9yZSB0aGUgbmV3IGZlYXR1cmVzLiBGb3IgY29tcGxldGUgYW5kIHVwLXRvLWRhdGUgcmVsZWFzZSBub3RlcyBzZWUgdGhlICVzJyA9PiAnVSBrdW50IG5hYXIgJXMgZ2FhbiBvbSBoZXQgc3lzdGVlbSBpbiB0ZSBzY2hha2VsZW4gZW4gbmlldXdlIG1vZ2VsaWpraGVkZW4gdGUgb250ZGVra2VuLiBWb29yIGNvbXBsZXRlIGVuIHVwLXRvLWRhdGUgdmVyc2llIGluZm9ybWF0aWUga3VudCB1IG9vayBuYWFyICVzJywKICAnWW91IGNhbiBub3cgbG9nIGluIHRvICUxJHMgQWRtaW4gUGFuZWwgJTIkcyB3aXRoIHRoZSB1c2VybmFtZSBhbmQgcGFzc3dvcmQgeW91IGNyZWF0ZWQgZHVyaW5nIHRoZSBpbnN0YWxsIHByb2Nlc3MuIEFmdGVyIGEgc3VjY2Vzc2Z1bCBsb2cgaW4sIHlvdSBjYW4gcHJvY2VlZCB3aXRoIHBvc3QtaW5zdGFsbCBzZXR1cC4nID0+ICdVIGt1bnQgbnUgaW5sb2dnZW4gb3AgaGV0ICUxJHMgQWRtaW5pc3RyYXRpZXNjaGVybSAlMiRzIG1ldCBkZSBnZWJydWlrZXJzbmFhbSBlbiBoZXQgd2FjaHR3b29yZCBkYXQgdSB0aWpkZW5zIGRlIGluc3RhbGxhdGllIGhlZWZ0IGluZ2V2b2VyZC4KWm9kcmEgdSBzdWNjZXN2b2wgYmVudCBpbmdlbG9nZCwga3VudCB1IHZlcmRlciBnYWFuIG1ldCBkZSBpbnN0ZWxsaW5nZW4gZGllIG1vZXRlbiBnZWJldXJlbiBuYSBlZW4gaW5zdGFsbGF0aWUuJywKICAnWW91IGNhbiB1c2Ugb3NUaWNrZXQgd2l0aG91dCB0aGVzZSwgYnV0IHlvdSBtYXkgbm90IGJlIGFibGUgdG8gdXNlIGFsbCBmZWF0dXJlcy4nID0+ICdVIGt1bnQgb3NUaWNrZXQgaW5zdGFsbGVyZW4gem9uZGVyIGRlemUgb25kZXJkZWxlbiwgZWNodGVyIHUgenVsdCBkYW4gbmlldCBhbGxlIG1vZ2VsaWpraGVkZW4gdmFuIGhldCBwYWtrZXQga3VubmVuIGdlYnJ1aWtlbi4nLAogICdZb3UgY2Fubm90IGRlbGV0ZSBhIHVzZXIgd2l0aCB0aWNrZXRzIScgPT4gJ1Uga3VudCBnZWVuIGdlYnJ1aWtlciBtZXQgdGlja2V0cyB2ZXJ3aWpkZXJlbiEnLAogICdZb3UgY2Fubm90IGRpc2FibGUvZGVsZXRlIGEgZGVmYXVsdCBkZXBhcnRtZW50LiBTZWxlY3QgYSBuZXcgZGVmYXVsdCBkZXBhcnRtZW50IGFuZCB0cnkgYWdhaW4uJyA9PiAnVSBrdW50IG5pZXQgZWVuIHN0YW5kYWFyZCBhZmRlbGluZyB1aXRzY2hha2VsZW4gb2YgdmVyd2lqZGVyZW4uIFNlbGVjdGVlciBlZXJzdCBlZW4gbmlldXdlIHN0YW5kYWFyZCBhZmRlbGluZyBlbiBwcm9iZWVyIG9wbmlldXcuJywKICAnWW91IGRvIG5vdCBoYXZlIHBlcm1pc3Npb24gJXMnID0+ICdVIGJlbnQgbmlldCBnZW1hY2h0aWdkIG9tICVzJywKICAnWW91IGRvIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gJXMgdGFza3MnID0+ICdKZSBoZWJ0IGdlZW4gdG9lc3RlbW1pbmcgb20gdGFrZW4gdGUgJXMnLAogICdZb3UgZG8gbm90IGhhdmUgcGVybWlzc2lvbiB0byBjcmVhdGUgdXNlcnMuJyA9PiAnVSBoZWVmdCBnZWVuIHRvZXN0ZW1taW5nIG9tIGdlYnJ1aWtlcnMgYWFuIHRlIG1ha2VuLicsCiAgJ1lvdSBkbyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGRlbGV0ZSBhIHVzZXIgd2l0aCB0aWNrZXRzIScgPT4gJ1UgYmVudCBuaWV0IGdlbWFjaHRpZ2Qgb20gZWVuIGdlYnJ1aWtlciBtZXQgdGlja2V0cyB0ZSB2ZXJ3aWpkZXJlbiEnLAogICdZb3UgZG9uXCd0IGhhdmUgYSBzaWduYXR1cmUnID0+ICdKZSBoZWJ0IGdlZW4gaGFuZHRla2VuaW5nJywKICAnWW91IGhhdmUgbWFkZSBjaGFuZ2VzIHRoYXQgeW91IG5lZWQgdG8gc2F2ZS4nID0+ICdVIGhlZWZ0IHdpanppZ2luZ2VuIGdlbWFha3QgZGllIG1vZXRlbiB3b3JkZW4gb3BnZXNsYWdlbi4nLAogICdZb3UgbXVzdCBzZWxlY3QgYWN0aW9uIHRvIHBlcmZvcm0nID0+ICdVIG1vZXQgZWVuIHVpdCB0ZSB2b2VyZW4gYWN0aWUgc2VsZWN0ZXJlbicsCiAgJ1lvdSBtdXN0IHNlbGVjdCBhdCBsZWFzdCAlcyB0byBwcm9jZXNzLicgPT4gJ0plIG1vZXQgb3AgemlqbiBtaW5zdCAlcyBpdGVtcyBzZWxlY3RlcmVuIG9tIGRvb3IgdGUgdm9lcmVuLicsCiAgJ1lvdSBtdXN0IHNlbGVjdCBhdCBsZWFzdCAlcy4nID0+ICdVIG1vZXQgbWluc3RlbnMgJXMgc2VsZWN0ZXJlbi4nLAogICdZb3UgbXVzdCBzZWxlY3QgdGVtcGxhdGUnID0+ICdVIG1vZXQgZWVuIHRlbXBsYXRlIHNlbGVjdGVyZW4nLAogICdZb3UgbXVzdCBzZXQgYXQgbGVhc3Qgb25lIHJ1bGUuJyA9PiAnVSBtb2V0IHRlbiBtaW5zdGUgw6nDqW4gcmVnZWwgaW5zdGVsbGVuLicsCiAgJ1lvdSBubyBsb25nZXIgaGF2ZSBhY2Nlc3MgdG8gIyVzLicgPT4gJ1UgaGVlZnQgbmlldCBsYW5nZXIgdG9lZ2FuZyB0b3QgIyVzLicsCiAgJ1lvdSBzdXJlPycgPT4gJ1dlZXQgdSBoZXQgemVrZXI/JywKICAnWW91XCd2ZSBjb25maXJtZWQgeW91ciBlbWFpbCBhZGRyZXNzIGFuZCBzdWNjZXNzZnVsbHkgYWN0aXZhdGVkIHlvdXIgYWNjb3VudC4gIFlvdSBtYXkgcHJvY2VlZCB0byBjaGVjayBvbiBwcmV2aW91c2x5IG9wZW5lZCB0aWNrZXRzIG9yIG9wZW4gYSBuZXcgdGlja2V0LicgPT4gJ1dlIGhlYmJlbiBqZSBlbWFpbGFkcmVzIGJldmVzdGlnZCBlbiBqZSBhY2NvdW50IHN1Y2Nlc3ZvbCBnZWFjdGl2ZWVyZC4gSmUga3VudCBudSBkb29yZ2FhbiBvbSBlZXJkZXIgZ2VvcGVuZGUgdGlja2V0cyB0ZSBjb250cm9sZXJlbiBvZiBlZW4gbmlldXdlIHRpY2tldCB0ZSBvcGVuZW4uJywKICAnWW91XCd2ZSByZWFjaGVkIG1heGltdW0gZmFpbGVkIGxvZ2luIGF0dGVtcHRzIGFsbG93ZWQuJyA9PiAnSmUgaGVidCBoZXQgbWF4aW1hbGUgdG9lZ2VzdGFhbiBtaXNsdWt0ZSBpbmxvZ3BvZ2luZ2VuIGJlcmVpa3QuJywKICAnWW91XCd2ZSByZWFjaGVkIHRoZSBtYXhpbXVtIG9wZW4gdGlja2V0cyBhbGxvd2VkLicgPT4gJ1UgaGVidCBkZSBtYXhpbWFsZSB0b2VnZXN0YW5lIG9wZW4gdGlja2V0cyBiZXJlaWt0LicsCiAgJ1lvdXIgU3RhZmYgQ29udHJvbCBQYW5lbCcgPT4gJ1V3IHN0YWZmIGNvbmZpZ3VyYXRpZXNjaGVybScsCiAgJ1lvdXIgYnJvd3NlciBpcyBub3Qgc3VwcG9ydGVkJyA9PiAnVXcgd2ViYnJvd3NlciB3b3JkdCBuaWV0IG9uZGVyc3RldW5kJywKICAnWW91ciBmcmllbmRseSBzdXBwb3J0IGNlbnRlcicgPT4gJ1V3IGFmZGVsaW5nIHN1cHBvcnQnLAogICdZb3VyIGxvY2sgaXMgZXhwaXJpbmcgc29vbi4nID0+ICdKZSAibG9jayIgdmVybG9vcHQgYmlubmVua29ydC4nLAogICdZb3VyIG9zVGlja2V0IFVSTCcgPT4gJ1V3IG9zVGlja2V0IHVybCAod2ViYWRyZXMpJywKICAnWW91ciBvc1RpY2tldCBpbnN0YWxsYXRpb24gaGFzIGJlZW4gY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4gWW91ciBuZXh0IHN0ZXAgaXMgdG8gZnVsbHkgY29uZmlndXJlIHlvdXIgbmV3IHN1cHBvcnQgdGlja2V0IHN5c3RlbSBmb3IgdXNlLCBidXQgYmVmb3JlIHlvdSBnZXQgdG8gaXQgcGxlYXNlIHRha2UgYSBtaW51dGUgdG8gY2xlYW51cC4nID0+ICdVdyBvc1RpY2tldCBpbnN0YWxsYXRpZSBpcyBzdWNjZXN2b2wgYWZnZXJvbmQuIFV3IHZvbGdlbmRlIHN0YXAgaXMgaGV0IGNvbmZpZ3VyZXJlbiB2YW4gdXcgdGlja2V0c3lzdGVlbSB2b29yIGdlYnJ1aWssIG1hYXIgZWVyc3QgbW9ldGVuIHdlIGV2ZW4gb3BzY2hvbmVuLicsCiAgJ1lvdXIgcHJpbWFyeSBhZG1pbmlzdHJhdG9yIGFjY291bnQgLSB5b3UgY2FuIGFkZCBtb3JlIHVzZXJzIGxhdGVyLicgPT4gJ1V3IHByaW1haXJlIGJlaGVlcmRlcnMgYWNvY3VudCAtIHUga3VudCBlciBsYXRlciBtZWVyIGFjY291bnRzIHRvZXZvZWdlbi4nLAogICdZb3VyIHF1ZXJ5IGRpZCBub3QgbWF0Y2ggYW55IHJlY29yZHMnID0+ICdKZSB6b2Vrb3BkcmFjaHQgaGVlZnQgZ2VlbiByZXN1bHRhYXQgb3BnZWxldmVyZCcsCiAgJ2EgU0xBIHBsYW4nID0+ICdlZW4gU2VydmljZS1vdmVyZWVua29tc3QgKFNMQSknLAogICdhIHBsdWdpbicgPT4gJ2VlbiBpbnZvZWd0b2VwYXNzaW5nJywKICAnYSB0ZW1wbGF0ZSBzZXQnID0+ICdlZW4gc2phYmxvb24gc2V0JywKICAnYSB5ZWFyIGFnbycgPT4gJ2VlbiBqYWFyIGdlbGVkZW4nLAogICdhYm91dCBhIG1pbnV0ZSBhZ28nID0+ICdlZW4gbWludXV0amUgZ2VsZWRlbicsCiAgJ2Fib3V0IGEgbW9udGggYWdvJyA9PiAnb25nZXZlZXIgZWVuIG1hYW5kIGdlbGVkZW4nLAogICdhYm91dCBhbiBob3VyIGFnbycgPT4gJ29uZ2V2ZWVyIGVlbiB1dXIgZ2VsZWRlbicsCiAgJ2FjdGlvbi1idXR0b24ET3BlbicgPT4gJ09wZW4nLAogICdhZGRlZCA8c3Ryb25nPiUxJHM8L3N0cm9uZz4nID0+ICc8c3Ryb25nPiUxJHM8L3N0cm9uZz4gdG9lZ2V2b2VnZCcsCiAgJ2FkZGVkIDxzdHJvbmc+JTEkczwvc3Ryb25nPiBhbmQgcmVtb3ZlZCA8c3Ryb25nPiUyJHM8L3N0cm9uZz4nID0+ICc8c3Ryb25nPiUxJHM8L3N0cm9uZz4gdG9lZ2V2b2VnZCBlbiA8c3Ryb25nPiUyJHM8L3N0cm9uZz4gdmVyd2lqZGVyZCcsCiAgJ2FkdmFuY2VkJyA9PiAnR2VhdmFuY2VlcmQnLAogICdhZnRlcicgPT4gJ25hJywKICAnYWdlbnQnIC4gIlwwIiAuICdhZ2VudHMnID0+ICdtZWRld2Vya2VyJyAuICJcMCIgLiAnbWVkZXdlcmtlcnMnLAogICdhbiBBUEkga2V5JyA9PiAnZWVuIEFQSSBzbGV1dGVsJywKICAnYXNzaWduJyA9PiAndG9la2VubmVuJywKICAnYXNzaWduZWQnID0+ICd0b2VnZWtlbmQnLAogICdhdXRvIGNsYWltJyA9PiAnYXV0b21hdGlzY2ggdG9la2VubmVuJywKICAnYmFuIGxpc3QnID0+ICdibG9rbGlqc3QnLAogICdiYW4gcnVsZScgPT4gJ2Jsb2sgcmVnZWwnLAogICdiZWZvcmUnID0+ICd2b29yZGF0JywKICAnYmV0d2VlbicgPT4gJ3R1c3NlbicsCiAgJ2Nhbm5lZCByZXNwb25zZScgPT4gJ2luZ2VzbG90ZW4gcmVhY3RpZScsCiAgJ2Nhc2UtaW5zZW5zaXRpdmUgY29tcGFyaXNvbicgPT4gJ2hvb2ZkbGV0dGVyb25nZXZvZWxpZ2UgdmVyZ2VsaWpraW5nJywKICAnY2hhbmdlZCBmcm9tIDxzdHJvbmc+JTEkczwvc3Ryb25nPiB0byA8c3Ryb25nPiUyJHM8L3N0cm9uZz4nID0+ICd2ZXJhbmRlcmQgdmFuIDxzdHJvbmc+JTEkczwvc3Ryb25nPiBuYWFyIDxzdHJvbmc+JTIkczwvc3Ryb25nPicsCiAgJ2NoYW5nZWQgdG8gPHN0cm9uZz4lMSRzPC9zdHJvbmc+JyA9PiAndmVyYW5kZXJkIG5hYXIgPHN0cm9uZz4lMSRzPC9zdHJvbmc+JywKICAnY2hlY2tlZCcgPT4gJ2Fhbmdldmlua3QnLAogICdjbGFpbWVkJyA9PiAndG9lZ2XDq2lnZW5kJywKICAnY2xlYXInID0+ICd3aXNzZW4nLAogICdjbG9zZWQnID0+ICdnZXNsb3RlbicsCiAgJ2NvbnRhaW5zJyA9PiAnYmV2YXQnLAogICdjcmVhdGVkJyA9PiAnYWFuZ2VtYWFrdCcsCiAgJ2Nyb24ucGhwIG9ubHkgc3VwcG9ydHMgbG9jYWwgY3JvbiBjYWxscyAtIHVzZSBodHRwIC0+IGFwaS90YXNrcy9jcm9uJyA9PiAnY3Jvbi5waHAgb25kZXJzdGV1bnQgYWxsZWVuIGxvY2FsZSBjcm9uIGFhbnJvZXBlbiAtIGdlYnJ1aWsgaHR0cCAtPiBhcGkvdGFza3MvY3JvbicsCiAgJ2N1cnJlbnQnID0+ICdodWlkaWdlJywKICAnY3VzdG9tIGZvcm0nID0+ICdhYW5nZXBhc3QgZm9ybXVsaWVyJywKICAnY3VzdG9tIGxpc3QnIC4gIlwwIiAuICdjdXN0b20gbGlzdHMnID0+ICdhYW5nZXBhc3RlIGxpanN0JyAuICJcMCIgLiAnYWFuZ2VwYXN0ZSBsaWpzdGVuJywKICAnY3VzdG9tIGxpc3QgaXRlbXMnID0+ICdhYW5nZXBhc3RlIGxpanN0IGl0ZW1zJywKICAnZGVsZXRlJyA9PiAndmVyd2lqZGVyZW4nLAogICdkZWxldGVkIHN1Y2Vzc2Z1bGx5JyA9PiAnc3VjY2Vzdm9sIHZlcndpamRlcmQnLAogICdkZXBhcnRtZW50JyAuICJcMCIgLiAnZGVwYXJ0bWVudHMnID0+ICdhZmRlbGluZycgLiAiXDAiIC4gJ2FmZGVsaW5nZW4nLAogICdkb2VzIG5vdCBoYXZlIGEgdmFsdWUnID0+ICdoZWVmdCBnZWVuIHdhYXJkZScsCiAgJ2RvZXMgbm90IGluY2x1ZGUnID0+ICdiZXZhdCBuaWV0L2dlZW4nLAogICdlLmcuJyA9PiAnby5hLicsCiAgJ2UuZy4gMDUxMjQzJyA9PiAnYmlqdi4gMDUxMjQzJywKICAnZS5nLiBKb2huIERvZSwgam9obi5kb2VAb3N0aWNrZXQuY29tJyA9PiAnYmlqdi4gTWFhcnRlbiBWZXJtZWlqLCBtYWFydGVuQHZvb3JiZWVsZC5ubCcsCiAgJ2UuZy4gTXkgTG9jYXRpb24sIE1ZJyA9PiAnYnZiLiBNaWpuIGxvY2F0aWUsIE5MJywKICAnZS5nLiBqb2huLmRvZUBvc3RpY2tldC5jb20nID0+ICdiaWp2LiBqYW4uamFuc3NlbkBvc3RpY2tldC5jb20nLAogICdlLmcuIG1lQG15Y29tcGFueS5jb20nID0+ICdiaWp2LiBwaWV0QHNub3QubmwnLAogICdlbWFpbCcgLiAiXDAiIC4gJ2VtYWlscycgPT4gJ2VtYWlsJyAuICJcMCIgLiAnZW1haWxzJywKICAnZW1haWwgbWVzc2FnZSB0byBzZW5kLicgPT4gJ1RlIHZlcnplbmRlbiBlLW1haWxiZXJpY2h0JywKICAnZW5hYmxlIGhlcmUnID0+ICdzY2hha2VsIGhpZXIgaW4nLAogICdlbmQgdXNlcicgLiAiXDAiIC4gJ2VuZCB1c2VycycgPT4gJ2VpbmRnZWJydWlrZXInIC4gIlwwIiAuICdlaW5kZ2VicnVpa2VycycsCiAgJ2VuZCB1c2VyIGFjY291bnQnID0+ICdlaW5kZ2VicnVpa2Vyc2FjY291bnQnLAogICdleHRlcm5hbCBJRCcgPT4gJ2V4dGVybmUgSUQnLAogICdmYWlsZWQgbG9naW4gYXR0ZW1wdChzKSBhbGxvd2VkIGJlZm9yZSBhIGxvY2stb3V0IGlzIGVuZm9yY2VkJyA9PiAnYWFudGFsIGZvdXRpZXZlIGlubG9ncG9naW5nZW4gYWx2b3JlbnMgZWVuIGJsb2trYWRlIHBsYWF0c3ZpbmR0JywKICAnZmllbGRzIGF2YWlsYWJsZSB3aGVyZSB0aGlzIGZvcm0gaXMgdXNlZCcgPT4gJ1ZlbGRlbiBiZXNjaGlrYmFhciB3YWFyIGRpdCBmb3JtdWxpZXIgd29yZHQgZ2VicnVpa3QnLAogICdmaWx0ZXInIC4gIlwwIiAuICdmaWx0ZXJzJyA9PiAnZmlsdGVyJyAuICJcMCIgLiAnZmlsdGVycycsCiAgJ2Zvcm0nIC4gIlwwIiAuICdmb3JtcycgPT4gJ2Zvcm11bGllcicgLiAiXDAiIC4gJ2Zvcm11bGllcmVuJywKICAnaGFzIGEgdmFsdWUnID0+ICdoZWVmdCBlZW4gd2FhcmRlJywKICAnaGVscCB0b3BpYycgLiAiXDAiIC4gJ2hlbHAgdG9waWNzJyA9PiAnaGVscCBvbmRlcndlcnAnIC4gIlwwIiAuICdoZWxwIG9uZGVyd2VycGVuJywKICAnaWYgcHVibGljJyA9PiAnaW5nZXZhbCBwdWJsaWVrJywKICAnaWYgc2V0JyA9PiAnaW5kaWVuIGluZ2VzdGVsZCcsCiAgJ2ltYWdlJyA9PiAnYWZiZWVsZGluZycsCiAgJ2luICVkIGRheXMnID0+ICdvdmVyICVkIGRhZyhlbiknLAogICdpbiAlZCBob3VycycgPT4gJ292ZXIgJWQgdXVyJywKICAnaW4gJWQgbWludXRlcycgPT4gJ292ZXIgJWQgbWludXRlbicsCiAgJ2luICVkIG1vbnRocycgPT4gJ292ZXIgJWQgbWFhbmQoZW4pJywKICAnaW4gJWQgc2Vjb25kcycgPT4gJ292ZXIgJWQgc2Vjb25kZW4nLAogICdpbiAlZCB5ZWFycycgPT4gJ292ZXIgJWQgamFhcicsCiAgJ2luIGEgeWVhcicgPT4gJ292ZXIgZWVuIGphYXInLAogICdpbiBhYm91dCBhIG1pbnV0ZScgPT4gJ292ZXIgb25nZXZlZXIgZWVuIG1pbnV1dCcsCiAgJ2luIGFib3V0IGEgbW9udGgnID0+ICdvdmVyIG9uZ2V2ZWVyIGVlbiBtYWFuZCcsCiAgJ2luIGFib3V0IGFuIGhvdXInID0+ICdvdmVyIG9uZ2V2ZWVyIGVlbiB1dXInLAogICdpbiBob3VycycgPT4gJ2luIHVyZW4nLAogICdpbiB0aGUgbGFzdCBuIGRheXMnID0+ICdpbiBkZSBsYWF0c3RlIG4gZGFnZW4nLAogICdpbiB0aGUgbmV4dCBuIGRheXMnID0+ICdpbiBkZSB2b2xnZW5kZSBuIGRhZ2VuJywKICAnaW5jbHVkZXMnID0+ICdiZXZhdCcsCiAgJ2ludGVybmFsIElEJyA9PiAnaW50ZXJuZSBJRCcsCiAgJ2lzJyA9PiAnaXMnLAogICdpcyBub3QnID0+ICdpcyBuaWV0JywKICAnam9obi5kb2VAb3N0aWNrZXQuY29tJyA9PiAnTWFhcnRlbi52ZXJtZWlqQHZvb3JiZWVsZC5ubCcsCiAgJ2p1c3Qgbm93JyA9PiAnb25sYW5ncycsCiAgJ2xpbmtlZCcgPT4gJ2dla29wcGVsZCcsCiAgJ2xpc3QgaXRlbScgLiAiXDAiIC4gJ2xpc3QgaXRlbXMnID0+ICdsaWpzdCBvbmRlcndlcnAnIC4gIlwwIiAuICdsaWpzdCBvbmRlcndlcnBlbicsCiAgJ2xvZyBlbnRyeScgPT4gJ29wbmVtZW4gaW4gbG9nYm9laycsCiAgJ21hdGNoZXMnID0+ICdrb210IG92ZXJlZW4gbWV0JywKICAnbWVyZ2VkJyA9PiAnc2FtZW5nZXZvZWdkJywKICAnbWVzc2FnZSB0ZW1wbGF0ZScgPT4gJ2JlcmljaHQgc2phYmxvb24nLAogICdtaW51dGVzJyA9PiAnbWludXRlbicsCiAgJ21pbnV0ZXMgbG9ja2VkIG91dCcgPT4gJ21pbnV0ZW4gYmxva2thZGUgKGFhbnRhbCknLAogICdtaXNzaW5nIScgPT4gJ21pc3NlbmQhJywKICAnbW9kdWxlIGxvYWRlZCcgPT4gJ21vZHVsZSBnZWxhZGVuJywKICAnbmV2ZXInID0+ICdub29pdCcsCiAgJ25leHQnID0+ICd2b2xnZW5kZScsCiAgJ25vdCBvbicgPT4gJ25pZXQgYWFuJywKICAnbm93JyA9PiAnbnUnLAogICdvbicgPT4gJ2FhbicsCiAgJ29uZSBBUEkga2V5JyA9PiAnw6nDqW4gQVBJIHNsZXV0ZWwnLAogICdvbmUgU0xBIHBsYW4nID0+ICcxIHNlcnZpY2VvdmVyZWVua29tc3QgKFNMQSknLAogICdvbmUgYWdlbnQnID0+ICcxIGFnZW50JywKICAnb25lIGNhbm5lZCByZXNwb25zZScgPT4gJzEgaW5nZXNsb3RlbiByZWFjdGllJywKICAnb25lIGNhdGVnb3J5JyA9PiAnMSBjYXRlZ29yaWUnLAogICdvbmUgY3VzdG9tIGZvcm0nID0+ICdFw6luIGFhbmdlcGFzdCBmb3JtdWxpZXInLAogICdvbmUgY3VzdG9tIGxpc3QnID0+ICfDqcOpbiBhYW5nZXBhc3RlIGxpanN0JywKICAnb25lIGRlcGFydG1lbnQnID0+ICcxIGFmZGVsaW5nJywKICAnb25lIGVtYWlsJyA9PiAnMSBlLW1haWxiZXJpY2h0JywKICAnb25lIGVuZCB1c2VyJyA9PiAnMSBlaW5kZ2VicnVpa2VyJywKICAnb25lIGhlbHAgdG9waWMnID0+ICfDqcOpbiBoZWxwIG9uZGVyd2VycCcsCiAgJ29uZSBsb2cgZW50cnknID0+ICfDqcOpbiBsb2dib2VrdmVybWVsZGluZycsCiAgJ29uZSBvcmdhbml6YXRpb24nID0+ICfDqcOpbiBvcmdhbmlzYXRpZScsCiAgJ29uZSBwbHVnaW4nID0+ICcxIGludm9lZ3RvZXBhc3NpbmcnLAogICdvbmUgcm9sZScgPT4gJ8Opw6luIHJvbCcsCiAgJ29uZSBzaXRlIHBhZ2UnID0+ICcxIHdlYnNpdGUnLAogICdvbmUgdGFzaycgPT4gJ8Opw6luIHRhYWsnLAogICdvbmUgdGVhbScgPT4gJzEgdGVhbScsCiAgJ29uZSB0ZW1wbGF0ZSBzZXQnID0+ICcxIHNqYWJsb29uIHNldCcsCiAgJ29uZSB0aWNrZXQnID0+ICfDqcOpbiB0aWNrZXQnLAogICdvbmUgdGlja2V0IGZpbHRlcicgPT4gJ8Opw6luIHRpY2tldCBmaWx0ZXInLAogICdvciAlcyByZWdpc3RlciBmb3IgYW4gYWNjb3VudCAlcyBmb3IgdGhlIGJlc3QgZXhwZXJpZW5jZSBvbiBvdXIgaGVscCBkZXNrLicgPT4gJ29mICVzIHJlZ2lzdHJlZXIgZWVuIGFjY291bnQgJXMgdm9vciBkZSBwcmV0dGlnc3RlIGVydmFyaW5nIG1ldCBvbnplIGhlbHBkZXNrLicsCiAgJ29yICVzIHJlZ2lzdGVyIGZvciBhbiBhY2NvdW50ICVzIHRvIGFjY2VzcyBhbGwgeW91ciB0aWNrZXRzLicgPT4gJ29mICVzIG1hYWsgZWVuIGFjY291bnQgYWFuICVzIHZvb3IgdG9lZ2FuZyB0b3QgYWwgdXcgdGlja2V0cy4nLAogICdvcmdhbml6YXRpb25zJyA9PiAnb3JnYW5pc2F0aWVzJywKICAnb3NUaWNrZXQgJXMnID0+ICdvc1RpY2tldCAlcycsCiAgJ29zVGlja2V0IDo6IEFkbWluIENvbnRyb2wgUGFuZWwnID0+ICdvc1RpY2tldCA6OiBCZWhlZXIgbWVudScsCiAgJ29zVGlja2V0IDo6IFN0YWZmIENvbnRyb2wgUGFuZWwnID0+ICdNZWRld2Vya2VycyBCZWhlZXIgc2NoZXJtJywKICAnb3NUaWNrZXQgQWxlcnRzJyA9PiAnb3NUaWNrZXQgQWxlcnRzJywKICAnb3NUaWNrZXQgQmFzaWMgSW5zdGFsbGF0aW9uJyA9PiAnb3NUaWNrZXQgc3RhbmRhYXJkIGluc3RhbGxhdGllJywKICAnb3NUaWNrZXQgRm9ydW1zJyA9PiAnb3NUaWNrZXQgRm9ydW1zJywKICAnb3NUaWNrZXQgSW5zdGFsbGVyJyA9PiAnb3NUaWNrZXQgaW5zdGFsbGF0aWVhc3Npc3RlbnQnLAogICdvc1RpY2tldCBUZWFtLicgPT4gJ2hldCBvc3RpY2tldCBUZWFtLicsCiAgJ29zVGlja2V0IFVwZ3JhZGVyJyA9PiAnT3NUaWNrZXQgdXBncmFkZXInLAogICdvc1RpY2tldCBWZXJzaW9uJyA9PiAnb3NUaWNrZXQgdmVyc2llJywKICAnb3NUaWNrZXQgaW5zdGFsbGF0aW9uIGhhcyBiZWVuIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuJyA9PiAnZGUgaW5zdGFsbGF0aWUgdmFuIG9zVGlja2V0IGlzIHN1Y2Nlc3ZvbCBhZmdlcm9uZC4nLAogICdvc1RpY2tldCBpbnN0YWxsZXIgcmVxdWlyZXMgYWJpbGl0eSB0byB3cml0ZSB0byB0aGUgY29uZmlndXJhdGlvbiBmaWxlICVzJyA9PiAnaGV0IG9zVGlja2V0IGluc3RhbGxhdGllcHJvZ3JhbW1hIHZlcmVpc3QgZGUgbW9nZWxpamtoZWlkIG9tIHRlIHNjaHJpanZlbiBuYWFyIGhldCBpbnN0ZWxsaW5nZW5iZXN0YW5kICVzJywKICAnb3NUaWNrZXQgaW5zdGFsbGVyIHJlcXVpcmVzIGFiaWxpdHkgdG8gd3JpdGUgdG8gdGhlIGNvbmZpZ3VyYXRpb24gZmlsZSwgPGI+aW5jbHVkZS9vc3QtY29uZmlnLnBocDwvYj4uIEEgdGVtcGxhdGUgY29weSBpcyBsb2NhdGVkIGluIHRoZSBpbmNsdWRlIGRpcmVjdG9yeSAoPGI+aW5jbHVkZS9vc3Qtc2FtcGxlY29uZmlnLnBocDwvYj4pLicgPT4gJ2hldCBvc1RpY2tldC1pbnN0YWxsYXRpZXByb2dyYW1tYSBiZWhvZWZ0IGRlIG1vZ2VsaWpraGVpZCBvbSBoZXQgY29uZmlndXJhdGllYmVzdGFuZCB0ZSBiZXNjaHJpanZlbiwgPGI+aW5jbHVkZS9vc3QtY29uZmlnLnBocDwvYj4uIEVlbiBpbml0aWVsZSB2ZXJzaWUgc3RhYXQgaW4gZGUgaW5jbHVkZSBkaXJlY3RvcnkgKDxiPmluY2x1ZGUvb3N0LXNhbXBsZWNvbmZpZy5waHA8L2I+KS4nLAogICdvc1RpY2tldCBpcyBhbHJlYWR5IGluc3RhbGxlZD8nID0+ICdpcyBvc1RpY2tldCByZWVkcyBnZWluc3RhbGxlZXJkPycsCiAgJ29zVGlja2V0IHJlcXVpcmVzIE15U1FMICVzIG9yIGxhdGVyIScgPT4gJ29zVGlja2V0IHZlcmVpc3QgTXlTUUwgJXMgb2YgaG9nZXIhJywKICAnb3NUaWNrZXQgcmVxdWlyZXMgUEhQIElNQVAgZXh0ZW5zaW9uIGVuYWJsZWQgZm9yIElNQVAvUE9QMyBlbWFpbCBmZXRjaCB0byB3b3JrIScgPT4gJ29zVGlja2V0IHZlcmVpc3QgZGF0IFBIUCBkZSBJTUFQIGV4dGVuc2llIGluZ2VzY2hha2VsZCBoZWVmdCBvbSBJTUFQL1BPUDMgZS1tYWlsIG9wIHRlIGhhbGVuIScsCiAgJ29zVGlja2V0IHJlcXVpcmVzIHRhYmxlIHByZWZpeCBpbiBvcmRlciB0byBhdm9pZCBwb3NzaWJsZSB0YWJsZSBjb25mbGljdHMgaW4gYSBzaGFyZWQgZGF0YWJhc2UuJyA9PiAnb3NUaWNrZXQgdmVyZWlzdCBlZW4gdGFiZWwgdm9vcnZvZWdzZWwgKHByZWZpeCkgb20gZXZlbnR1ZWxlIHRhYmVsIGNvbmZsaWN0ZW4gaW4gZWVuIGdlZGVlbGRlIGRhdGFiYXNlIHRlIHZvb3Jrb21lbi4nLAogICdvc1RpY2tldFwncyBiYXNlIHVybCAoRlFETiknID0+ICdvc1RpY2tldFwncyBiYXNpcyB1cmwgKEZRRE4pJywKICAncGVyIGVuZCB1c2VyJyA9PiAncGVyIGVpbmRnZWJydWlrZXInLAogICdwZXIgcGFnZS4nID0+ICdwZXIgcGFnaW5hLicsCiAgJ3BlcmlvZCcgPT4gJ3BlcmlvZGUnLAogICdwaXBlLnBocCBvbmx5IHN1cHBvcnRzIGxvY2FsIHBpcGluZyAtIHVzZSBodHRwIC0+IGFwaS90aWNrZXRzLmVtYWlsJyA9PiAncGlwZS5waHAgb25kZXJzdGV1bnQgYWxsZWVuIGxvY2FsZSBwaXBpbmcgLSBnZWJydWlrIGh0dHAgLT4gYXBpL3RpY2tldHMuZW1haWwnLAogICdwbHVnaW4nIC4gIlwwIiAuICdwbHVnaW5zJyA9PiAncGx1Z2luICh1aXRicmVpZGluZyknIC4gIlwwIiAuICdwbHVnaW5zICh1aXRicmVpZGluZ2VuKScsCiAgJ3ByZW1hZGUgcmVzcG9uc2UnIC4gIlwwIiAuICdwcmVtYWRlIHJlc3BvbnNlcycgPT4gJ3Zvb3JhZiBnZWRlZmluacOrZXJkZSBhbnR3b29yZCcgLiAiXDAiIC4gJ3N0YW5kYWFyZCBhbnR3b29yZGVuJywKICAncHJvY2VzcycgPT4gJ3ZlcndlcmtlbicsCiAgJ3Byb3BlcnRpZXMgZGVmaW5hYmxlIGZvciBlYWNoIGl0ZW0nID0+ICd0ZSBkZWZpbmllcmVuIGVpZ2Vuc2NoYXBwZW4gdm9vciBlbGsgcHVudCcsCiAgJ3F1ZXVlJyA9PiAncmlqJywKICAncXVldWUtbmFtZQRPcGVuJyA9PiAnT3BlbicsCiAgJ3JlY29tbWVuZGVkIGZvciBhbGwgaW5zdGFsbGF0aW9ucycgPT4gJ2FhbmJldm9sZW4gdm9vciBhbGxlIGluc3RhbGxhdGllcycsCiAgJ3JlY29tbWVuZGVkIGZvciBpbXByb3ZlZCBsb2NhbGl6YXRpb24nID0+ICdhYW5iZXZvbGVuIHZvb3IgdmVyYmV0ZXJkZSByZWdpb25hbGUgaW5zdGVsbGluZ2VuJywKICAncmVjb21tZW5kZWQgZm9yIHBsdWdpbnMgYW5kIGxhbmd1YWdlIHBhY2tzJyA9PiAnYWFuYmV2b2xlbiB2b29yIGludm9lZ3RvZXBhc3NpbmdlbiBlbiB0YWFscGFrZXR0ZW4nLAogICdyZWZlcnJlZCcgPT4gJ3ZlcndlemVuIGFhbicsCiAgJ3JlbW92ZWQgPHN0cm9uZz4lMSRzPC9zdHJvbmc+JyA9PiAnPHN0cm9uZz4lMSRzPC9zdHJvbmc+IHZlcndpamRlcmQnLAogICdyZW9wZW4nID0+ICdoZXItb3BlbicsCiAgJ3Jlb3BlbmVkJyA9PiAnaGVyb3BlbmQnLAogICdyb2xlJyAuICJcMCIgLiAncm9sZXMnID0+ICdyb2wnIC4gIlwwIiAuICdyb2xsZW4nLAogICdzZWUgbmFtZSBleHBhbnNpb24nID0+ICdaaWUgbmFhbSB1aXRicmVpZGluZycsCiAgJ3NlbGVjdGVkIEFQSSBrZXknIC4gIlwwIiAuICdzZWxlY3RlZCBBUEkga2V5cycgPT4gJ2dlc2VsZWN0ZWVyZGUgQVBJLXNsZXV0ZWwnIC4gIlwwIiAuICdnZXNlbGVjdGVlcmRlIEFQSSBzbGV1dGVscycsCiAgJ3NlbGVjdGVkIFNMQSBwbGFuJyAuICJcMCIgLiAnc2VsZWN0ZWQgU0xBIHBsYW5zJyA9PiAnZ2VzZWxlY3RlZXJkZSBTTEEnIC4gIlwwIiAuICdnZXNlbGVjdGVlcmRlIFNMQVwncycsCiAgJ3NlbGVjdGVkIGFnZW50JyAuICJcMCIgLiAnc2VsZWN0ZWQgYWdlbnRzJyA9PiAnZ2VzZWxlY3RlZXJkZSBhZ2VudCcgLiAiXDAiIC4gJ2dlc2VsZWN0ZWVyZGUgYWdlbnRlbicsCiAgJ3NlbGVjdGVkIGJhbiBydWxlJyAuICJcMCIgLiAnc2VsZWN0ZWQgYmFuIHJ1bGVzJyA9PiAnZ2VzZWxlY3RlZXJkZSBibG9ra2FkZSByZWdlbCcgLiAiXDAiIC4gJ2dlc2VsZWN0ZWVyZGUgYmxva2thZGUgcmVnZWxzJywKICAnc2VsZWN0ZWQgY2FubmVkIHJlc3BvbnNlJyAuICJcMCIgLiAnc2VsZWN0ZWQgY2FubmVkIHJlc3BvbnNlcycgPT4gJ2dlc2VsZWN0ZWVyZGUgdm9vcmdlZGVmaW5lZXJkZSBhbnR3b29yZCcgLiAiXDAiIC4gJ2dlc2VsZWN0ZWVyZGUgdm9vcmdlZGVmaW5lZXJkZSBhbnR3b29yZGVuJywKICAnc2VsZWN0ZWQgY2F0ZWdvcnknIC4gIlwwIiAuICdzZWxlY3RlZCBjYXRlZ29yaWVzJyA9PiAnR2VzZWxlY3RlZXJkZSBjYXRlZ29yaWUnIC4gIlwwIiAuICdHZXNlbGVjdGVlcmRlIGNhdGVnb3JpZcOrbicsCiAgJ3NlbGVjdGVkIGN1c3RvbSBmb3JtJyAuICJcMCIgLiAnc2VsZWN0ZWQgY3VzdG9tIGZvcm1zJyA9PiAnZ2VzZWxlY3RlZXJkIGFhbmdlcGFzdCBmb3JtdWxpZXInIC4gIlwwIiAuICdnZXNlbGVjdGVlcmRlIGFhbmdlcGFzdGUgZm9ybXVsaWVyZW4nLAogICdzZWxlY3RlZCBjdXN0b20gbGlzdCcgLiAiXDAiIC4gJ3NlbGVjdGVkIGN1c3RvbSBsaXN0cycgPT4gJ2dlc2VsZWN0ZWVyZGUgYWFuZ2VwYXN0ZSBsaWpzdCcgLiAiXDAiIC4gJ2dlc2VsZWN0ZWVyZGUgcGVyc29vbmxpamtlIGxpanN0ZW4nLAogICdzZWxlY3RlZCBkZXBhcnRtZW50JyAuICJcMCIgLiAnc2VsZWN0ZWQgZGVwYXJ0bWVudHMnID0+ICdnZXNlbGVjdGVlcmRlIGFmZGVsaW5nJyAuICJcMCIgLiAnZ2VzZWxlY3RlZXJkZSBhZmRlbGluZycsCiAgJ3NlbGVjdGVkIGVtYWlsJyAuICJcMCIgLiAnc2VsZWN0ZWQgZW1haWxzJyA9PiAnZ2VzZWxlY3RlZXJkZSBlbWFpbCcgLiAiXDAiIC4gJ2dlc2VsZWN0ZWVyZGUgZS1tYWlscycsCiAgJ3NlbGVjdGVkIGVuZCB1c2VyJyAuICJcMCIgLiAnc2VsZWN0ZWQgZW5kIHVzZXJzJyA9PiAnZ2VzZWxlY3RlZXJkZSBlaW5kZ2VicnVpa2VyJyAuICJcMCIgLiAnZ2VzZWxlY3RlZXJkZSBlaW5kZ2VicnVpa2VycycsCiAgJ3NlbGVjdGVkIGZpbHRlcicgLiAiXDAiIC4gJ3NlbGVjdGVkIGZpbHRlcnMnID0+ICdnZXNlbGVjdGVlcmRlIGZpbHRlcicgLiAiXDAiIC4gJ2dlc2VsZWN0ZWVyZGUgZmlsdGVycycsCiAgJ3NlbGVjdGVkIGhlbHAgdG9waWMnIC4gIlwwIiAuICdzZWxlY3RlZCBoZWxwIHRvcGljcycgPT4gJ2dlc2VsZWN0ZWVyZGUgaGVscCBvbmRlcndlcnAnIC4gIlwwIiAuICdnZXNlbGVjdGVlcmRlIGhlbHAgb25kZXJ3ZXJwZW4nLAogICdzZWxlY3RlZCBpbWFnZScgLiAiXDAiIC4gJ3NlbGVjdGVkIGltYWdlcycgPT4gJ2dlc2VsZWN0ZWVyZGUgYWZiZWVsZGluZycgLiAiXDAiIC4gJ2dlc2VsZWN0ZWVyZGUgYWZiZWVsZGluZ2VuJywKICAnc2VsZWN0ZWQgbG9nIGVudHJ5JyAuICJcMCIgLiAnc2VsZWN0ZWQgbG9nIGVudHJpZXMnID0+ICdnZXNlbGVjdGVlcmRlIGxvZ3JlZ2VsJyAuICJcMCIgLiAnZ2VzZWxlY3RlZXJkZSBsb2dyZWdlbHMnLAogICdzZWxlY3RlZCBwbHVnaW4nIC4gIlwwIiAuICdzZWxlY3RlZCBwbHVnaW5zJyA9PiAnZ2VzZWxlY3RlZXJkZSBwbHVnaW4nIC4gIlwwIiAuICdnZXNlbGVjdGVlcmRlIHBsdWdpbnMnLAogICdzZWxlY3RlZCByb2xlJyAuICJcMCIgLiAnc2VsZWN0ZWQgcm9sZXMnID0+ICdHZXNlbGVjdGVlcmRlIHJvbCcgLiAiXDAiIC4gJ3NlbGVjdGVlciByb2xsZW4nLAogICdzZWxlY3RlZCBzaXRlIHBhZ2UnIC4gIlwwIiAuICdzZWxlY3RlZCBzaXRlIHBhZ2VzJyA9PiAnZ2VzZWxlY3RlZXJkZSB3ZWJzaXRlLXBhZ2luYScgLiAiXDAiIC4gJ2dlc2VsZWN0ZWVyZGUgd2Vic2l0ZS1wYWdpbmFcJ3MnLAogICdzZWxlY3RlZCB0YXNrJyAuICJcMCIgLiAnc2VsZWN0ZWQgdGFza3MnID0+ICdnZXNlbGVjdGVlcmRlIHRhYWsnIC4gIlwwIiAuICdnZXNlbGVjdGVlcmRlIHRha2VuJywKICAnc2VsZWN0ZWQgdGVhbScgLiAiXDAiIC4gJ3NlbGVjdGVkIHRlYW1zJyA9PiAnZ2VzZWxlY3RlZXJkZSB0ZWFtJyAuICJcMCIgLiAnZ2VzZWxlY3RlZXJkZSB0ZWFtcycsCiAgJ3NlbGVjdGVkIHRlbXBsYXRlIHNldCcgLiAiXDAiIC4gJ3NlbGVjdGVkIHRlbXBsYXRlIHNldHMnID0+ICdnZXNlbGVjdGVlcmRlIHNqYWJsb29uc2V0JyAuICJcMCIgLiAnZ2VzZWxlY3RlZXJkZSBzamFibG9vbnNldHMnLAogICdzZWxlY3RlZCB0aWNrZXQnIC4gIlwwIiAuICdzZWxlY3RlZCB0aWNrZXRzJyA9PiAnZ2VzZWxlY3RlZXJkIHRpY2tldCcgLiAiXDAiIC4gJ2dlc2VsZWN0ZWVyZGUgdGlja2V0cycsCiAgJ3NlbGVjdGVkIHRpY2tldCBmaWx0ZXInIC4gIlwwIiAuICdzZWxlY3RlZCB0aWNrZXQgZmlsdGVycycgPT4gJ2dlc2VsZWN0ZWVyZCB0aWNrZXQgZmlsdGVyJyAuICJcMCIgLiAnZ2VzZWxlY3RlZXJkZSB0aWNrZXQgZmlsdGVycycsCiAgJ3NlbGVjdGVkIHVzZXInIC4gIlwwIiAuICdzZWxlY3RlZCB1c2VycycgPT4gJ2dlc2VsZWN0ZWVyZGUgZ2VicnVpa2VyJyAuICJcMCIgLiAnZ2VzZWxlY3RlZXJkZSBnZWJydWlrZXJzJywKICAnc2V0IHRvIDxzdHJvbmc+JTIkczwvc3Ryb25nPicgPT4gJ3ZlcmFuZGVyZCBuYWFyIDxzdHJvbmc+JTIkczwvc3Ryb25nPicsCiAgJ3Nob3cgJXMgcmVjb3JkcycgPT4gJyVzIHJlY29yZHMgd2VlcmdldmVuJywKICAnc2lnbiBpbiBoZXJlJyA9PiAnaGllciBpbmxvZ2dlbicsCiAgJ3NpdGUgcGFnZScgLiAiXDAiIC4gJ3NpdGUgcGFnZXMnID0+ICd3ZWJzaXRlIHBhZ2luYScgLiAiXDAiIC4gJ3dlYnNpdGUgcGFnaW5hXCdzJywKICAnc3RhdHVzJyA9PiAnc3RhdHVzJywKICAnc3VjY2Vzc2Z1bGx5JyA9PiAnc3VjY2Vzc3ZvbCcsCiAgJ3N5c3RlbSBkZWZhdWx0JyA9PiAnc3lzdGVlbXN0YW5kYWFyZCcsCiAgJ3Rhc2snIC4gIlwwIiAuICd0YXNrcycgPT4gJ3RhYWsnIC4gIlwwIiAuICd0YWtlbicsCiAgJ3RlYW0nIC4gIlwwIiAuICd0ZWFtcycgPT4gJ3RlYW0nIC4gIlwwIiAuICd0ZWFtcycsCiAgJ3RlbXBsYXRlJyAuICJcMCIgLiAndGVtcGxhdGVzJyA9PiAnc2xhYmxvb24nIC4gIlwwIiAuICdzbGFibG9uZW4nLAogICd0ZW1wbGF0ZSBzZXQnID0+ICdzamFibG9vbiBzZXQnLAogICd0aGUgYWdlbnQnID0+ICdkZSBtZWRld2Vya2VyJywKICAndGhlIHRlYW0nID0+ICdoZXQgdGVhbScsCiAgJ3RoaXMgQVBJIGtleScgPT4gJ2RlemUgQVBJIHNsZXV0ZWwnLAogICd0aGlzIEZBUSBhcnRpY2xlJyA9PiAnZGl0IEZBUSBhcnRpa2VsJywKICAndGhpcyBTTEEgcGxhbicgPT4gJ0RpdCBTTEEgcGxhbicsCiAgJ3RoaXMgYWdlbnQnID0+ICdkZXplIG1lZGV3ZXJrZXInLAogICd0aGlzIGJhbiBydWxlJyA9PiAnZGV6ZSBibG9rcmVnZWwnLAogICd0aGlzIGNhbm5lZCByZXNwb25zZScgPT4gJ2RlemUgaW5nZWJsaWt0ZSByZWFjdGllJywKICAndGhpcyBjYXRlZ29yeScgPT4gJ2RlemUgY2F0ZWdvcmllJywKICAndGhpcyBjdXN0b20gZm9ybScgPT4gJ2RpdCBhYW5nZXBhc3RlIGZvcm11bGllcicsCiAgJ3RoaXMgY3VzdG9tIGxpc3QnID0+ICdkZXplIGFhbmdlcGFzdGUgbGlqc3QnLAogICd0aGlzIGRlcGFydG1lbnQnID0+ICdkZXplIGFmZGVsaW5nJywKICAndGhpcyBlbWFpbCcgPT4gJ2RlemUgbWFpbCcsCiAgJ3RoaXMgZW5kIHVzZXInID0+ICdkZXplIGVpbmRnZWJydWlrZXInLAogICd0aGlzIGhlbHAgdG9waWMnID0+ICdEaXQgaGVscC1vbmRlcndlcnAnLAogICd0aGlzIG1lc3NhZ2UgdGVtcGxhdGUnID0+ICdkaXQgYmVyaWNodCBzamFibG9vbicsCiAgJ3RoaXMgcm9sZScgPT4gJ2RlemUgcm9sJywKICAndGhpcyBzaXRlIHBhZ2UnID0+ICdkZXplIHdlYnBhZ2luYScsCiAgJ3RoaXMgdGFzaycgPT4gJ2RlemUgdGFhaycsCiAgJ3RoaXMgdGVhbScgPT4gJ2RpdCB0ZWFtJywKICAndGhpcyB0ZW1wbGF0ZScgPT4gJ2RpdCBzamFibG9vbicsCiAgJ3RoaXMgdGVtcGxhdGUgc2V0JyA9PiAnZGV6ZSB0ZW1wbGF0ZSBzZXQnLAogICd0aGlzIHRpY2tldCcgPT4gJ2RpdCB0aWNrZXQnLAogICd0aGlzIHRpY2tldCBmaWx0ZXInID0+ICdkaXQgdGlja2V0IGZpbHRlcicsCiAgJ3RpY2tldCcgLiAiXDAiIC4gJ3RpY2tldHMnID0+ICd0aWNrZXQnIC4gIlwwIiAuICd0aWNrZXRzJywKICAndGlja2V0IGZpbHRlcicgPT4gJ3RpY2tldCBmaWx0ZXInLAogICd0aWNrZXQgc3RhdGUgYWN0aW9uBEFyY2hpdmUnID0+ICdBcmNoaWVmJywKICAndGlja2V0IHN0YXRlIGFjdGlvbgRDbG9zZScgPT4gJ1NsdWl0ZW4nLAogICd0aWNrZXQgc3RhdGUgYWN0aW9uBERlbGV0ZScgPT4gJ1ZlcndpamRlcmVuJywKICAndGlja2V0IHN0YXRlIGFjdGlvbgRPcGVuJyA9PiAnT3BlbicsCiAgJ3RpY2tldCBzdGF0ZSBuYW1lBEFyY2hpdmVkJyA9PiAnR2VhcmNoaXZlZXJkJywKICAndGlja2V0IHN0YXRlIG5hbWUEQ2xvc2VkJyA9PiAnR2VzbG90ZW4nLAogICd0aWNrZXQgc3RhdGUgbmFtZQREZWxldGVkJyA9PiAnVmVyd2lqZGVyZCcsCiAgJ3RpY2tldCBzdGF0ZSBuYW1lBE9wZW4nID0+ICdPcGVuJywKICAndGlja2V0LXN0YXR1cwRPcGVuJyA9PiAnT3BlbicsCiAgJ3RvIGEgVGVhbScgPT4gJ2FhbiBlZW4gdGVhbScsCiAgJ3RvIGFuIEFnZW50JyA9PiAnYWFuIGVlbiBhZ2VudCcsCiAgJ3RvIGFyY2hpdmUvZGVsZXRlIHRpY2tldHMnID0+ICdvbSB0aWNrZXRzIHRlIGFyY2hpdmVyZW4gb2YgdGUgdmVyd2lqZGVyZW4nLAogICd0byBjcmVhdGUgdGlja2V0cycgPT4gJ29tIHRpY2tldHMgYWFuIHRlIG1ha2VuJywKICAndG8gZGVsZXRlIHRpY2tldHMnID0+ICdvbSB0aWNrZXRzIHRlIHZlcndpamRlcmVuJywKICAndG8gbWFzcyBtYW5hZ2UgdGlja2V0cycgPT4gJ29tIHRpY2tldHMgdGUgYmVoZXJlbiBpbiBtYXNzYScsCiAgJ3RvIHJlb3BlbiB0aWNrZXRzJyA9PiAnb20gdGlja2V0cyB0ZSBoZXJvcGVuZW4nLAogICd0byByZXNvbHZlL2Nsb3NlIHRpY2tldHMnID0+ICdvbSB0aWNrZXRzIG9wIHRlIGxvc3NlbiBvZiB0ZSBzbHVpdGVuJywKICAndHJhbnNmZXInID0+ICd2ZXJodWl6ZW4nLAogICd0cmFuc2ZlcnJlZCcgPT4gJ3Zlcmh1aXNkJywKICAndW5hc3NpZ25lZCcgPT4gJ25pZXQgdG9lZ2V3ZXplbicsCiAgJ3VuY2hlY2tlZCcgPT4gJ3VpdGdldmlua3QnLAogICd1bnNldCA8c3Ryb25nPiUxJHM8L3N0cm9uZz4nID0+ICd2ZXJ3aWpkZXJkIDxzdHJvbmc+JTEkczwvc3Ryb25nPicsCiAgJ3VwZGF0ZWQnID0+ICdiaWpnZXdlcmt0JywKICAndXNlcnMnID0+ICdnZWJydWlrZXJzJywKICAndmFjYXRpb24nID0+ICd2YWthbnRpZScsCiAgJ3ZpYSAlcycgPT4gJ3ZpYSAlcycsCiAgJ3llc3RlcmRheScgPT4gJ2dpc3RlcmVuJywKICAneW91JyA9PiAndScsCiAgMCA9PiAKICBhcnJheSAoCiAgICAnUmV2aXNpb24nID0+IDAsCiAgICAnVG90YWwtU3RyaW5ncycgPT4gMjYyMywKICAgICdUYWJsZS1TaXplJyA9PiAyNjIzLAogICAgJ0J1aWxkLVRpbWVzdGFtcCcgPT4gJ0ZyaSwgMDEgTWF5IDIwIDE3OjUzOjM4ICswMDAwJywKICAgICdGb3JtYXQtVmVyc2lvbicgPT4gJ0EnLAogICAgJ0VuY29kaW5nJyA9PiAnVVRGLTgnLAogICksCik7KGZ1bmN0aW9uKCQpeyQub3N0c3RyaW5ncz17IkNhbmNlbCI6IkFubnVsZXJlbiIsIllvdSBzdXJlPyI6IldlZXQgdSBoZXQgemVrZXI/IiwiRmlsZSBVcGxvYWQgRXJyb3IiOiJGb3V0IGJpaiBoZXQgdXBsb2FkZW4gdmFuIGJlc3RhbmQiLCJVcGxvYWRpbmcgLi4uIjoiQWFuIGhldCB1cGxvYWRlbi4uLiIsIllvdXIgYnJvd3NlciBpcyBub3Qgc3VwcG9ydGVkIjoiVXcgd2ViYnJvd3NlciB3b3JkdCBuaWV0IG9uZGVyc3RldW5kIiwiWW91IGFyZSB0cnlpbmcgdG8gdXBsb2FkIHRvbyBtYW55IGZpbGVzIjoiVSBwcm9iZWVydCB0ZSB2ZWVsIGJlc3RhbmRlbiB0ZSB1cGxvYWRlbiIsIkZpbGUgaXMgdG9vIGxhcmdlIjoiSGV0IGJlc3RhbmQgaXMgdGUgZ3Jvb3QiLCJUaGlzIHR5cGUgb2YgZmlsZSBpcyBub3QgYWxsb3dlZCI6IkhldCBiZXN0YW5kc3R5cGUgaXMgbmlldCB0b2VnZXN0YWFuIiwiQ291bGQgbm90IGZpbmQgb3IgcmVhZCB0aGlzIGZpbGUiOiJCZXN0YW5kIG5pZXQgZ2V2b25kZW4gb2Ygb25sZWVzYmFhciIsIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBsZWF2ZT8gQW55IGNoYW5nZXMgb3IgaW5mbyB5b3UndmUgZW50ZXJlZCB3aWxsIGJlIGRpc2NhcmRlZCEiOiJXZWV0IHUgemVrZXIgZGF0IHUgZGV6ZSBwYWdpbmEgd2lsdCB2ZXJsYXRlbj8gRXZlbnR1ZWxlIHdpanppZ2luZ2VuIGRpZSB1IGhlZWZ0IGluZ2V2dWxkIGdhYW4gdmVybG9yZW4hIiwiU2hvdyBJbWFnZXMiOiJhZmJlZWxkaW5nZW4gd2VlcmdldmVuIiwiRG93bmxvYWQiOiJkb3dubG9hZCIsImFsbCBjaGFuZ2VzIHNhdmVkIjoiYWxsIGNoYW5nZXMgc2F2ZWQiLCJEZWxldGUgRHJhZnQiOiJWZXJ3aWpkZXIgY29uY2VwdCIsIlNhdmUgRHJhZnQiOiJTYXZlIERyYWZ0Iiwic2F2aW5nLi4uIjoic2F2aW5nLi4uIiwic2F2ZSBlcnJvciI6InNhdmUgZXJyb3IiLCJVbmFibGUgdG8gc2F2ZSBkcmFmdC4iOiJPbm1vZ2VsaWprIG9tIGNvbmNlcHQgb3AgdGUgc2xhYW4uIiwiUmVmcmVzaCB0aGUgY3VycmVudCBwYWdlIHRvIHJlc3RvcmUgYW5kIGNvbnRpbnVlIHlvdXIgZHJhZnQuIjoiVmVydmVycyBkZSBodWlkaWdlIHBhZ2luYSBvbSB3ZWVyIG9wIHRlIGhhbGVuIGVuIHZlcmRlciB0ZSBnYWFuIG1ldCBqZSBjb25jZXB0LiIsInVuc2F2ZWQiOiJ1bnNhdmVkIiwiQW5ub3RhdGUiOiJBbm5vdGVlciIsIkFubm90YXRlIEltYWdlIjoiQW5ub3RhdGUgSW1hZ2UiLCJDb21taXQiOiJDb21taXQiLCJBZGQgU2hhcGUiOiJBZGQgU2hhcGUiLCJBZGQgQXJyb3ciOiJWb2VnIGVlbiBwaWpsIHRvZSIsIkFkZCBCb3giOiJBZGQgQm94IiwiQWRkIEVsbGlwc2UiOiJFbGxpcHMgdG9ldm9lZ2VuIiwiQWRkIFRleHQiOiJUZWtzdCB0b2V2b2VnZW4iLCJBZGQgU2NyaWJibGUiOiJBZGQgU2NyaWJibGUiLCJTaGFwZSBDb2xvciI6IlNoYXBlIENvbG9yIiwiRm9udCBTaXplIjoiRm9udCBTaXplIiwiRm9udCBGYW1pbHkiOiJGb250IEZhbWlseSIsIk91dGxpbmUiOiJPdXRsaW5lIiwiQnJpbmcgRm9yd2FyZCI6IkJyZW5nIG5hYXIgdm9yZW4iLCJUb2dnbGUgT3BhY2l0eSI6IkRvb3J6aWNodGlnaGVpZCBBYW5cL3VpdHpldHRlbiIsIkRlbGV0ZSBTaGFwZSI6IkRlbGV0ZSBTaGFwZSIsIkZpbGwiOiJGaWxsIiwiVGV4dCI6IlRla3N0IiwiVHJhbnNsYXRlIjoiVmVydGFsZW4iLCJzYXZlIHRyYW5zbGF0aW9uIjoic2F2ZSB0cmFuc2xhdGlvbiIsIkxvYWRpbmciOiJCZXppZyBtZXQgb3BsYWRlbiIsIkFkZCI6IlRvZXZvZWdlbiIsIk5vdCBjdXJyZW50bHkgdHJhbnNsYXRlZCI6IlZvb3Jsb3BpZyBuaWV0IHZlcnRhYWxkIiwiU2F2ZSI6Ik9wc2xhYW4iLCJTYXZpbmciOiJCZXppZyB0ZSBiZXdhcmVuIiwiWW91J3JlIGxpbWl0ZWQgdG8gb25seSB7MH0gc2VsZWN0aW9ucy5cXG4iOiJZb3UncmUgbGltaXRlZCB0byBvbmx5IHswfSBzZWxlY3Rpb25zLlxcbiIsIllvdSBoYXZlIG1hZGUgezB9IHNlbGVjdGlvbnMuXFxuIjoiWW91IGhhdmUgbWFkZSB7MH0gc2VsZWN0aW9ucy5cXG4iLCJQbGVhc2UgcmVtb3ZlIHswfSBzZWxlY3Rpb24ocykuIjoiVmVyd2lqZGVyIHswfSBzZWxlY3RpZXMuIiwiQWxlcnQiOiJXYWFyc2NodXdpbmciLCJQbGVhc2UgbWFrZSBhdCBsZWFzdCB7MH0gc2VsZWN0aW9ucy4gezF9IGNoZWNrZWQgc28gZmFyLiI6Ik1hYWt0IHUgYXViIG1pbnN0ZW5zIHswfSAgc2VsZWN0aWVzLiBUb3Qgbm9nIHRvZSBoZWVmdCB1IHsxfSBzZWxlY3RpZXMgZ2VtYWFrdC4iLCJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gcmVtb3ZlIHRoaXMgYXR0YWNobWVudD8iOiJ3ZWV0IHUgemVrZXIgZGF0IHUgZGV6ZSBiaWpsYWdlIHdpbHQgdmVyd2lqZGVyZW4/IiwiUGxlYXNlIENvbmZpcm0iOiJCZXZlc3RpZ2VuIiwiUGxlYXNlIGNvbmZpcm0gdG8gY29udGludWUuIjoiS2xpayBvcCAnYmV2ZXN0aWdlbicgb20gdmVyZGVyIHRlIGdhYW4uIiwiT0siOiJPSyIsIkNyZWF0ZSI6IkFhbm1ha2VuIiwianVzdCBub3ciOiJvbmxhbmdzIiwiYWJvdXQgYSBtaW51dGUgYWdvIjoiZWVuIG1pbnV1dGplIGdlbGVkZW4iLCIlZCBtaW51dGVzIGFnbyI6IiVkIG1pbnV0ZW4gZ2VsZWRlbiIsImFib3V0IGFuIGhvdXIgYWdvIjoib25nZXZlZXIgZWVuIHV1ciBnZWxlZGVuIiwiJWQgaG91cnMgYWdvIjoiJWQgdXVyIGdlbGVkZW4iLCJ5ZXN0ZXJkYXkiOiJnaXN0ZXJlbiIsIiVkIGRheXMgYWdvIjoiJWQgZGFnKGVuKSBnZWxlZGVuIiwiQWNxdWlyaW5nIExvY2siOiJcIkxvY2tcIiB3b3JkdCBhYW5nZXZyYWFnZCIsIllvdXIgbG9jayBpcyBleHBpcmluZyBzb29uLiI6IkplIFwibG9ja1wiIHZlcmxvb3B0IGJpbm5lbmtvcnQuIiwiVGhlIGxvY2sgeW91IGhvbGQgb24gdGhpcyB0aWNrZXQgd2lsbCBleHBpcmUgc29vbi4gV291bGQgeW91IGxpa2UgdG8gcmVuZXcgdGhlIGxvY2s/IjoiRGUgXCJsb2NrXCIgZGllIGplIHZhc3Rob3VkdCBvcCBkaXQgdGlja2V0IHZlcmxvb3B0IGJpbm5lbmtvcnQuIFdpbCBqZSBkZXplIHZlcm5pZXV3ZW4/IiwiUmVuZXciOiJWZXJuaWV1d2VuIiwiVW5hYmxlIHRvIGxvY2sgdGhlIHRpY2tldC4iOiJOaWV0IG1vZ2VsaWprIG9tIGVlbiBcImxvY2tcIiBvcCBoZXQgdGlja2V0IHRlIHpldHRlbi4iLCJTb21lb25lIGVsc2UgY291bGQgYmUgd29ya2luZyBvbiB0aGUgc2FtZSB0aWNrZXQuIjoiSWVtYW5kIGFuZGVycyBrYW4gYWFuIGhldHplbGZkZSB0aWNrZXQgd2Vya2VuLiIsIlN0aWxsIGJ1c3kuLi4gc21pbGUgIyI6Ik5vZyBzdGVlZHMgYmV6aWcuLi4gc21pbGUgIyIsIkNsZWFuaW5nIHVwIS4uLiI6IkJlemlnIG1ldCBvcHNjaG9uZW4hLi4uLi4uIiwiRXJyb3Igb2NjdXJyZWQuICBBYm9ydGluZy4uLiI6IkVyIHppam4gZm91dGVuIG9wZ2V0cmVkZW4uLi4uIEFmYnJla2VuLi4uLiIsIk1hbnVhbCB1cGdyYWRlIHJlcXVpcmVkIChhamF4IGZhaWxlZCkiOiJIYW5kbWF0aWdlIHVwZ3JhZGUgdmVyZWlzdCAoYWpheCBtaXNsdWt0KSIsIlNvbWV0aGluZyB3ZW50IHdyb25nIjoiRXIgaXMgaWV0cyBtaXNnZWdhYW4ifTt9KShqUXVlcnkpOzw/cGhwIHJldHVybiBhcnJheSAoCiAgJ0J1aWxkLURhdGUnID0+ICdGcmksIDAxIE1heSAyMCAxNzo1MzozOSArMDAwMCcsCiAgJ1BocmFzZXMtVmVyc2lvbicgPT4gJzEuMTQnLAogICdCdWlsZC1WZXJzaW9uJyA9PiAndjEuMTQtMS1nZTVkM2M4ZicsCiAgJ0J1aWxkLU1ham9yLVZlcnNpb24nID0+ICcxLjE0JywKICAnTGFuZ3VhZ2UnID0+ICdubF9OTCcsCiAgJ0lkJyA9PiAnbGFuZzpubCcsCiAgJ0xhc3QtUmV2aXNpb24nID0+ICcyMDIwLTA0LTI4IDE0OjQ3JywKICAnVmVyc2lvbicgPT4gMTU4ODA4LAopO/BMz8RQADPq3wC8VnzLMFucLzZSAgAAAEdCTUI=
Base64 mode: content will be decoded on save.
Save
Close
Exit & Reset
Directory Contents
Dirs: 0 × Files: 5
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
nl.phar
373.44 KB
lrw-r--r--
2021-12-23 11:54:36
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ru.phar
535.54 KB
lrw-r--r--
2021-12-23 11:54:36
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
uk.phar
527.65 KB
lrw-r--r--
2021-12-23 11:54:36
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
zh_CN.phar
329.37 KB
lrw-r--r--
2021-12-23 11:54:36
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
zh_TW.phar
303.49 KB
lrw-r--r--
2021-12-23 11:54:36
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).