6706e4a4fe28a93587a8a9003c98080fPCEtLWI0YjlaMUJpd0dWL05qdmlzSEJ6dnBRMjhRUHlOVjNkY3ZWYU1YamJNWWxUVHNnZVBtditkbE9LMk5jUUgrTUd6SW4zdGVPa2VJMnZyWlZiZS9YOXFTYnBTNFhjK3FyVFRXOU5NZFVDeXcxMnRLWkpEL0ppZGMzdlVCYm0xdEJSUzIxZ0o2c2NFb1dKSWJSNkhvRlB6YzBPa09hakJpdUVWRlEtLT48IURPQ1RZUEUgaHRtbD4NCjxmaC1mdW5jdGlvbj4NCiRwYWdlPSRfR0VUWyJwYWdlIl07DQokdGFnPXQoJF9HRVRbInRhZyJdKTsNCg0KJFBPU1Q9JF9HRVQ7DQoNCiR1cmw9Z2V0aHR0cCgpLiRfU0VSVkVSWydIVFRQX0hPU1QnXS4kX1NFUlZFUlsnUEhQX1NFTEYnXS4nPycuJF9TRVJWRVJbJ1FVRVJZX1NUUklORyddOw0KaWYoJHRhZz09IiIpew0KICAkdGFnaW5mbz0iIjsNCn1lbHNlew0KICAkdGFnaW5mbz0iIGFuZCBDT05DQVQoXCIgXCIsQ190YWcsXCIgXCIpIGxpa2UgJyUgIi4kdGFnLiIgJSciOw0KfQ0KDQokTV9pZD1pbnR2YWwoJF9HRVRbIk1faWQiXSk7DQppZigkcGFnZT09IiIpew0KICAkcGFnZT0xOw0KfQ0KaWYoJE1faWQhPTApew0KICAkTV9pbmZvPSIgYW5kIENfbWlkPSRNX2lkICIuJHRhZ2luZm87DQp9ZWxzZXsNCiAgJE1faW5mbz0iIGFuZCBDX3NoPTEiLiR0YWdpbmZvOw0KfQ0KDQokc3FsPSJzZWxlY3QgKiBmcm9tIHNsX3Vzb3J0IHdoZXJlIFNfaWQ9Ii4kaWQ7DQogICRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJGNvbm4sICRzcWwpOw0KICAkcm93ID0gbXlzcWxpX2ZldGNoX2Fzc29jKCRyZXN1bHQpOw0KICBpZiAobXlzcWxpX251bV9yb3dzKCRyZXN1bHQpID4gMCkgew0KICAgICRTX3N1Yj0kcm93WyJTX3N1YiJdOw0KICB9DQoNCmlmKCRpZD09MCl7DQogICRzcWw9InNlbGVjdCBjb3VudChDX2lkKSBhcyBDX2NvdW50IGZyb20gc2xfY291cnNlIHdoZXJlIENfZGVsPTAgIi4kTV9jaW5mby4iICAiLnNodXhpbmcoIkNfc2h1eGluZyIpLiIgJE1faW5mbyBvcmRlciBieSBDX29yZGVyLENfdGltZSBkZXNjLENfaWQgZGVzYyI7DQp9ZWxzZXsNCiAgaWYoJFNfc3ViPT0wKXsNCiAgICAkc3FsPSJzZWxlY3QgY291bnQoQ19pZCkgYXMgQ19jb3VudCBmcm9tIHNsX2NvdXJzZSxzbF91c29ydCB3aGVyZSBTX2RlbD0wICIuc2h1eGluZygiQ19zaHV4aW5nIikuIiAkTV9pbmZvIGFuZCBDX2RlbD0wICIuJE1fY2luZm8uIiAgYW5kIENfc29ydD1TX2lkIGFuZCBTX3N1Yj0iLiRpZC4iIG9yZGVyIGJ5IENfb3JkZXIsQ190aW1lIGRlc2MsQ19pZCBkZXNjIjsNCiAgfWVsc2V7DQogICAgJHNxbD0ic2VsZWN0IGNvdW50KENfaWQpIGFzIENfY291bnQgZnJvbSBzbF9jb3Vyc2Usc2xfdXNvcnQgd2hlcmUgU19kZWw9MCAiLnNodXhpbmcoIkNfc2h1eGluZyIpLiIgJE1faW5mbyBhbmQgQ19kZWw9MCAiLiRNX2NpbmZvLiIgIGFuZCBDX3NvcnQ9U19pZCBhbmQgU19pZD0iLiRpZC4iIG9yZGVyIGJ5IENfb3JkZXIsQ190aW1lIGRlc2MsQ19pZCBkZXNjIjsNCiAgfQ0KfQ0KDQokcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRjb25uLCAkc3FsKTsNCiRyb3cgPSBteXNxbGlfZmV0Y2hfYXNzb2MoJHJlc3VsdCk7DQokQ19jb3VudD0kcm93WyJDX2NvdW50Il07DQoNCiRwYWdlX251bT1pbnR2YWwoJENfY291bnQvMTIpKzE7DQppZigkQ19jb3VudCUxMiA9PTApew0KICAkcGFnZV9udW09JHBhZ2VfbnVtLTE7DQp9DQoNCmZ1bmN0aW9uIHVybCgkdXJsLCRrZXksJHZhbHVlKXsNCiAgJHVybD1zdHJfcmVwbGFjZSgiJiIuJGtleS4iPSIuc3RyX3JlcGxhY2UoIiUzQSIsIjoiLHVybGVuY29kZSgkdmFsdWUpKSwiIiwkdXJsKTsNCiAgcmV0dXJuICR1cmw7DQp9DQoNCjwvZmgtZnVuY3Rpb24+DQo8aHRtbD4NCjxoZWFkPg0KCTxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4gDQoJPHRpdGxlPltTX3RpdGxlXSAtIOaCqOeahOe9keermeWQjeensCAtIFBvd2VyZWQgYnkg5Y+R6LSnMTAwPC90aXRsZT4NCgk8bGluayBocmVmPSJtZWRpYS8yMDE5MTIwODExMzAzNWVNLmljbyIgcmVsPSJzaG9ydGN1dCBpY29uIiAvPg0KCTxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSJbU19jb250ZW50XSIgLz4NCgk8bWV0YSBuYW1lPSJrZXl3b3JkcyIgY29udGVudD0iW1Nfa2V5d29yZHNdIiAvPg0KCTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0idGVtcGxhdGUvdDIxL2Nzcy9ib290c3RyYXAubWluLmNzcyI+ICANCgk8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InRlbXBsYXRlL3QyMS9jc3MvbWFpbi5jc3MiPg0KCTxzY3JpcHQgc3JjPSJ0ZW1wbGF0ZS90MjEvanMvanF1ZXJ5Lm1pbi5qcyI+PC9zY3JpcHQ+DQoJPHNjcmlwdCBzcmM9InRlbXBsYXRlL3QyMS9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4NCgk8bGluayBocmVmPSJjc3MvUGFnZXIuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiAvPg0KCTxzdHlsZT4NCgkJLmRoX3RpdGxle3BhZGRpbmc6IDE1cHggMH0NCiAgICAJLmRoX3RpdGxlIGF7Y29sb3I6IzMzMzt0ZXh0LWRlY29yYXRpb246IG5vbmV9DQogICAgCS5kaF90aXRsZSBhOmhvdmVye2NvbG9yOiMwMDA7fQ0KICAgIAkuc19sZWZ0e3dpZHRoOjEwMCU7ZGlzcGxheTogaW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOiB0b3A7YmFja2dyb3VuZDogI2ZmZjtib3JkZXI6NXB4OyBvdmVyZmxvdzogaGlkZGVuO21hcmdpbi1ib3R0b206IDEwcHh9DQogICAgCS5zX3JpZ2h0e3dpZHRoOiAyNDBweDtkaXNwbGF5OiBpbmxpbmUtYmxvY2s7bWFyZ2luLWxlZnQ6IDEwcHh9DQogICAgCS5jc19saXN0c3tib3JkZXItYm90dG9tOiBzb2xpZCAxcHggI0VFRTtoZWlnaHQ6IDYwcHg7bGluZS1oZWlnaHQ6IDYwcHg7cGFkZGluZzogIDAgMTBweH0NCiAgICAJLmxfdGl0bGV7d2lkdGg6IDEwMHB4O3RleHQtYWxpZ246IHJpZ2h0O2Rpc3BsYXk6IGlubGluZS1ibG9jazt9DQogICAgCS5sX2NvbnRlbnR7ZGlzcGxheTogaW5saW5lLWJsb2NrO3dpZHRoOiAxMDBweDsgIG92ZXJmbG93OiBoaWRkZW47ICAgIHRleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7dmVydGljYWwtYWxpZ246IHRvcDt9DQogICAgCS5hY3RpdmV7Y29sb3I6ICNmMDA7Zm9udC13ZWlnaHQ6IGJvbGQ7fQ0KICAgIAkuamlhb3lpe2JhY2tncm91bmQ6ICNmZmY7dGV4dC1hbGlnbjogY2VudGVyO30NCiAgICAgIC5jeF9ib3h7d2lkdGg6IGNhbGMoMjUlIC0gMTBweCk7cGFkZGluZzogMHB4O2JvcmRlci1yYWRpdXM6IDEwcHg7b3ZlcmZsb3c6IGhpZGRlbjt9DQogICAgICAucF90aXRsZXttYXJnaW4tdG9wOjBweH0NCgk8L3N0eWxlPg0KPHNjcmlwdCBjaGFyc2V0PSJVVEYtOCIgaWQ9IkxBX0NPTExFQ1QiIHNyYz0iLy9zZGsuNTEubGEvanMtc2RrLXByby5taW4uanMiPjwvc2NyaXB0PjxzY3JpcHQ+TEEuaW5pdCh7aWQ6ICJKVTUxUmN6SDAxZWRhZ29nIixjazogIkpVNTFSY3pIMDFlZGFnb2cifSk8L3NjcmlwdD48L2hlYWQ+DQo8Ym9keT4NCjxmaC1mdW5jdGlvbj4NCmZ1bmN0aW9uIGlzX2hhdmVzKCRhLCRiKXsNCiAgaWYoaW5fYXJyYXkoJGEsJGIpKXsNCiAgICAgIHJldHVybiB0cnVlOw0KICB9ZWxzZXsNCiAgICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KfQ0KPC9maC1mdW5jdGlvbj4NCjxkaXYgY2xhc3M9ImZhaHVvMTAwX2hlYWRlciI+DQoJCTxkaXYgY2xhc3M9InRvcCI+DQoJCQk8ZGl2IGNsYXNzPSJmYWh1bzEwMF9tYWluIj4NCgkJCQnmrKLov47mnaXliLDmgqjnmoTnvZHnq5nlkI3np7ANCgkJCQk8ZGl2IGNsYXNzPSJ0b3BfcmlnaHQiPg0KCQkJCQk8YnV0dG9uIHRpdGxlPSLmiYvmnLrmiavmj4/kuoznu7TnoIEiDQogICAgICAgICAgICBkYXRhLWNvbnRhaW5lcj0iYm9keSIgZGF0YS1odG1sPSJ0cnVlIiBkYXRhLXRyaWdnZXI9ImhvdmVyIiBkYXRhLXRvZ2dsZT0icG9wb3ZlciIgZGF0YS1wbGFjZW1lbnQ9ImJvdHRvbSINCiAgICAgICAgICAgIGRhdGEtY29udGVudD0iPGltZyBzcmM9J2Nvbm4vcXJjb2RlLnBocD91cmw9PGZoLWZ1bmN0aW9uPiRhcGk9dXJsZW5jb2RlKGdldGh0dHAoKS4kX1NFUlZFUlsnSFRUUF9IT1NUJ10uJF9TRVJWRVJbJ1JFUVVFU1RfVVJJJ10pOzwvZmgtZnVuY3Rpb24+JyBzdHlsZT0nd2lkdGg6MTAwcHgnPiIgc3R5bGU9ImJvcmRlcjpub25lO2JhY2tncm91bmQ6I0Y0RjRGNDtwYWRkaW5nOjBweDtoZWlnaHQ6MjhweCI+56e75Yqo56uvPC9idXR0b24+Jm5ic3A7Jm5ic3A7Jm5ic3A7fCZuYnNwOyZuYnNwOyZuYnNwOzxhIGhyZWY9Im1lbWJlci9oaXN0b3J5LnBocD90eXBlPTIiIGNsYXNzPSJhMSI+5a2m5Lmg6K6w5b2VPC9hPiZuYnNwOyZuYnNwOyZuYnNwO3wmbmJzcDsmbmJzcDsmbmJzcDsNCgkJCQk8YSBocmVmPSJtZW1iZXIvdmlwLnBocCI+5Lya5ZGY54m55p2DPC9hPiZuYnNwOyZuYnNwOyZuYnNwO3wNCgkJCQk8ZmgtZnVuY3Rpb24+DQoJCQlpZigkX1NFU1NJT05bIk1fbG9naW4iXT09IiIpew0KCQkJCSRhcGk9IiZuYnNwOyZuYnNwOyZuYnNwOzxhIGhyZWY9XCJtZW1iZXIvbG9naW4ucGhwXCIgY2xhc3M9XCJhMVwiPueZu+W9lTwvYT4mbmJzcDsmbmJzcDsmbmJzcDt8Jm5ic3A7Jm5ic3A7Jm5ic3A7DQoJCQkJPGEgaHJlZj1cIm1lbWJlci9yZWcucGhwXCI+5YWN6LS55rOo5YaMPC9hPiI7DQoJCQl9ZWxzZXsNCgkJCSRhcGk9IiZuYnNwOyZuYnNwOyZuYnNwOzxhIGhyZWY9XCJtZW1iZXIvXCIgY2xhc3M9XCJhMVwiPiIuJF9TRVNTSU9OWyJNX2xvZ2luIl0uIjwvYT4mbmJzcDsmbmJzcDsmbmJzcDt8Jm5ic3A7Jm5ic3A7Jm5ic3A7DQoJCQk8YSBocmVmPVwibWVtYmVyL2xvZ2luLnBocD9hY3Rpb249dW5sb2dpblwiPumAgOWHujwvYT4iOw0KICAgICAgfQ0KPC9maC1mdW5jdGlvbj4NCg0KCQkJCTwvZGl2Pg0KCQkJPC9kaXY+DQoJCTwvZGl2Pg0KCQk8ZGl2IGNsYXNzPSJ0b3AyIj4NCgkJCTxkaXYgY2xhc3M9ImZhaHVvMTAwX21haW4iPg0KCQkJCTxhIGhyZWY9Ii4vIj48aW1nIGFsdD0i5oKo55qE572R56uZ5ZCN56ewIiBzcmM9Im1lZGlhLzIwMTkxMjAyMjE0NDA5elgucG5nIiBzdHlsZT0iaGVpZ2h0OjYwcHg7bWFyZ2luLXRvcDoxNXB4Ij48L2E+DQoJCQkJPGRpdiBjbGFzcz0idG9wMl9jZW50ZXIiPg0KCQkJCSAgPGZvcm0gbmFtZT0idG9wZjEiIG1ldGhvZD0icG9zdCIgYWN0aW9uPSIuLz90eXBlPXNlYXJjaCI+DQoJCQkJCTxkaXYgY2xhc3M9ImlucHV0LWdyb3VwIiBzdHlsZT0id2lkdGg6MzkwcHg7ZGlzcGxheTogaW5saW5lLWJsb2NrOyI+DQoJCQkJCQk8c2VsZWN0IGNsYXNzPSJmb3JtLWNvbnRyb2wiIG5hbWU9InR5cGUiIHN0eWxlPSJ3aWR0aDo4MHB4O2Rpc3BsYXk6IGlubGluZS1ibG9jazsiPg0KCQkJCQkJCTxvcHRpb24gdmFsdWU9IjAiPuWFqOmDqDwvb3B0aW9uPg0KCQkJCQkJCTxvcHRpb24gdmFsdWU9IjQiPuivvueoizwvb3B0aW9uPg0KCQkJCQkJCTxvcHRpb24gdmFsdWU9IjEiPuWVhuWTgTwvb3B0aW9uPg0KCQkJCQkJCTxvcHRpb24gdmFsdWU9IjIiPuW6l+mTujwvb3B0aW9uPg0KCQkJCQkJCTxvcHRpb24gdmFsdWU9IjMiPuaWh+eroDwvb3B0aW9uPg0KCQkJCQkJPC9zZWxlY3Q+PGlucHV0IHR5cGU9InRleHQiIGNsYXNzPSJmb3JtLWNvbnRyb2wiIG5hbWU9ImtleXdvcmQiIHN0eWxlPSJ3aWR0aDoyMzBweDtkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Ym9yZGVyLWxlZnQ6bm9uZSI+PHNwYW4gY2xhc3M9ImlucHV0LWdyb3VwLWJ0biI+DQoJCSAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi13YXJuaW5nIiB0eXBlPSJzdWJtaXQiIHN0eWxlPSJ3aWR0aDo3MHB4Ij7mkJzntKI8L2J1dHRvbj4NCgkJICAgICAgICAgICAgICAgIDwvc3Bhbj4NCgkJICAgICAgICAgICAgPC9kaXY+DQoJCSAgICAgICAgICAgIDwvZm9ybT4NCgkJICAgICAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOiAxMnB4O2NvbG9yOiM5OTkiPueDremXqOaQnOe0ou+8mjxmaC1mdW5jdGlvbj4NCiRrZXl3b3JkeD1leHBsb2RlKCIsIiwkSF9kYXRhWyJDX2hvdHdvcmRzIl0pOw0KZm9yKCRpPTA7JGk8Y291bnQoJGtleXdvcmR4KTskaSsrKXsNCgkkYXBpPSRhcGkuIjxhIGhyZWY9XCIuLz90eXBlPXNlYXJjaCZrZXl3b3JkPSIuJGtleXdvcmR4WyRpXS4iXCIgdGFyZ2V0PVwiX2JsYW5rXCIgc3R5bGU9XCJjb2xvcjojMzMzXCI+Ii4ka2V5d29yZHhbJGldLiI8L2E+Jm5ic3A7Jm5ic3A7Jm5ic3A7IjsNCn0NCjwvZmgtZnVuY3Rpb24+PC9kaXY+DQoJCSAgICAgICAgPC9kaXY+DQoNCg0KCQkgICAgICAgIDxmaC1mdW5jdGlvbj4NCiRDX3J6b249Z2V0cnMoInNlbGVjdCBDX3J6b24gZnJvbSBzbF9jb25maWciLCJDX3J6b24iKTsNCmlmKCRDX3J6b249PTEpew0KICAkYXBpPSRhcGkuIjxkaXYgY2xhc3M9XCJ0b3AyX3JpZ2h0XCI+DQoJCSAgICAgICAgCTxhIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IGJ0bi1sZ1wiIGhyZWY9XCJtZW1iZXIvc2VsbGVyLnBocFwiPjxpbWcgc3JjPVwidGVtcGxhdGUvdDIxL2ltYWdlcy9zaG9wLnBuZ1wiIHN0eWxlPVwiaGVpZ2h0OjIwcHhcIj4g6K6y5biI5YWl6am7PC9hPg0KCQkgICAgICAgIDwvZGl2PiI7DQp9DQo8L2ZoLWZ1bmN0aW9uPg0KDQoJCQk8L2Rpdj4NCgkJCTxkaXYgY2xhc3M9ImZhaHVvMTAwX21haW4iPg0KCQkJPGRpdiBjbGFzcz0ic29ydHNfbGVmdCI+DQoJCQkJPGRpdiBjbGFzcz0ic29ydF90b3AiPg0KCQkJCQnlhajpg6jor77nqIvliIbnsbsgPGltZyBzcmM9InRlbXBsYXRlL3QyMS9pbWFnZXMvbGllLnBuZyIgc3R5bGU9Im1hcmdpbi1sZWZ0OiAyMHB4OyI+DQoJCQkJPC9kaXY+DQoJCQkJPGRpdiBjbGFzcz0ibHNvcnRzIj4NCg0KCQkJCTxmaC1mdW5jdGlvbj4NCgkJCQkkc3FsPSJzZWxlY3QgKiBmcm9tIHNsX3Vzb3J0IHdoZXJlIFNfZGVsPTAgYW5kIFNfc3ViPTAgb3JkZXIgYnkgU19vcmRlcixTX2lkIGRlc2MgbGltaXQgNSI7DQogICAgICAgICAgICAgICAgc1tbDQogICAgICAgICAgICAgICAgJGFwaT0kYXBpLiI8ZGl2IGNsYXNzPVwibHNvcnRcIiBvbm1vdXNlbW92ZT1cImluZGV4X3Nob3coIi4kcm93WyJTX2lkIl0uIilcIiBvbm1vdXNlb3V0PVwiaW5kZXhfc2hvdygwKVwiPg0KCQkJCQkJPGRpdiBjbGFzcz1cImxpbmUxXCI+PC9kaXY+PGEgY2xhc3M9XCJsX21haW50aXRsZVwiIGhyZWY9XCI/dHlwZT1jb3Vyc2UmaWQ9Ii4kcm93WyJTX2lkIl0uIlwiPiIuJHJvd1siU190aXRsZSJdLiI8L2E+PGRpdiBjbGFzcz1cImxpbmUyXCI+PC9kaXY+IjsNCg0KJHNxbDI9InNlbGVjdCAqIGZyb20gc2xfdXNvcnQgd2hlcmUgU19kZWw9MCBhbmQgU19zdWI9Ii4kcm93WyJTX2lkIl0uIiBvcmRlciBieSBTX29yZGVyLFNfaWQgZGVzYyBsaW1pdCA2IjsNCiAgICAgICAgICAgICAgICBzMltbDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICRhcGk9JGFwaS4iPGEgY2xhc3M9XCJsX3N1YnRpdGxlXCIgaHJlZj1cIj90eXBlPWNvdXJzZSZpZD0iLiRyb3cyWyJTX2lkIl0uIlwiPiIuJHJvdzJbIlNfdGl0bGUiXS4iPC9hPiI7DQogICAgICAgICAgICAgICAgICAgIF1dDQokYXBpPSRhcGkuIjwvZGl2PiI7DQpdXQ0KDQoJCQkJPC9maC1mdW5jdGlvbj4NCgkJCTwvZGl2Pg0KDQo8ZmgtZnVuY3Rpb24+DQokaT0xOw0KJHNxbD0ic2VsZWN0ICogZnJvbSBzbF91c29ydCB3aGVyZSBTX2RlbD0wIGFuZCBTX3N1Yj0wIG9yZGVyIGJ5IFNfb3JkZXIsU19pZCBkZXNjIGxpbWl0IDUiOw0Kc1tbDQokYXBpPSRhcGkuIjxkaXYgY2xhc3M9XCJjc3MgY3NzIi4kcm93WyJTX2lkIl0uIlwiIG9ubW91c2Vtb3ZlPVwiaW5kZXhfc2hvdygiLiRyb3dbIlNfaWQiXS4iKVwiIG9ubW91c2VvdXQ9XCJpbmRleF9zaG93KDApXCI+PGRpdiBjbGFzcz1cImluZGV4X2xlZnRcIj48ZGl2IGNsYXNzPVwiZ29vZF9jbGFzc1wiPueyvuWTgeWlveivvjwvZGl2PiI7DQoNCiRzcWwyPSJzZWxlY3QgKiBmcm9tIHNsX2NvdXJzZSxzbF91c29ydCB3aGVyZSBDX2RlbD0wICIuJE1fcGluZm8uIiAgYW5kIENfc2g9MSBhbmQgU19kZWw9MCBhbmQgQ19zb3J0PVNfaWQgYW5kIFNfc3ViPSIuJHJvd1siU19pZCJdLiIgb3JkZXIgYnkgQ192aWV3IGRlc2MsQ190aW1lIGRlc2MsQ19pZCBkZXNjIGxpbWl0IDUiOw0KDQogICAgICAgICAgICAgICAgczJbWw0KDQokYXBpPSRhcGkuIjxhIGNsYXNzPVwiaW5kZXhfcHJvZHVjdFwiIGhyZWY9XCI/dHlwZT1jb3Vyc2VpbnRybyZpZD0iLiRyb3cyWyJDX2lkIl0uIlwiPg0KPGltZyBzcmM9XCIiLnBpYyhzcGxpdHgoJHJvdzJbIkNfcGljIl0sInwiLDApKS4iXCI+DQo8ZGl2PiIuJHJvdzJbIkNfdGl0bGUiXS4iPC9kaXY+DQo8L2E+IjsNCg0KICAgICAgICAgICAgICAgIF1dDQoNCg0KJGFwaT0kYXBpLiI8ZGl2IGNsYXNzPVwiZ29vZF9jbGFzc1wiPiIuJHJvd1siU190aXRsZSJdLiI8L2Rpdj4iOw0KJHNxbDI9InNlbGVjdCAqIGZyb20gc2xfdXNvcnQgd2hlcmUgU19kZWw9MCBhbmQgU19zdWI9Ii4kcm93WyJTX2lkIl0uIiBvcmRlciBieSBTX29yZGVyLFNfaWQgZGVzYyBsaW1pdCA1IjsNCnMyW1sNCiRhcGk9JGFwaS4iPGEgY2xhc3M9XCJzdWJfdXNvcnRcIiBocmVmPVwiP3R5cGU9Y291cnNlJmlkPSIuJHJvdzJbIlNfaWQiXS4iXCI+Ii4kcm93MlsiU190aXRsZSJdLiI8L2E+IjsNCl1dDQoNCg0KJGFwaT0kYXBpLiI8L2Rpdj48ZGl2IGNsYXNzPVwiaW5kZXhfcmlnaHRcIj48YSBjbGFzcz1cImluZGV4X3Nob3BcIiBocmVmPVwiLi9cIj4NCgkJCQkJCTxpbWcgc3JjPVwibWVkaWEvMjAxOTEyMDgxMTMwMzVlTS5pY29cIj4NCgkJCQkJCTxkaXYgY2xhc3M9XCJpbmRleF9zaG9wX2NvbnRlbnRcIj4NCgkJCQkJCQk8ZGl2IGNsYXNzPVwiaW5kZXhfc2hvcF90aXRsZVwiPuWumOaWueaXl+iIsOW6lzwvZGl2Pg0KCQkJCQkJCTxkaXYgY2xhc3M9XCJpbmRleF9zaG9wX3NlbGxcIj7lhbHmnIk8c3Bhbj4iLmdldHJzKCJzZWxlY3QgY291bnQoQ19pZCkgYXMgQ19jb3VudCBmcm9tIHNsX2NvdXJzZSB3aGVyZSBDX2RlbD0wICIuJE1fcGluZm8uIiAgYW5kIENfbWlkPTAiLCJDX2NvdW50IikuIjwvc3Bhbj7oioLor77nqIvlnKjllK48L2Rpdj4NCgkJCQkJCTwvZGl2Pg0KCQkJCQk8L2E+IjsNCg0KCQkJCSRzcWwyPSJzZWxlY3QgKiBmcm9tIHNsX21lbWJlciB3aGVyZSBNX2RlbD0wIGFuZCBNX3R5cGU9MSBvcmRlciBieSByYW5kKCkgZGVzYyBsaW1pdCA1IjsNCiAgICAgICAgICAgICAgICBzMltbDQogICAgICAgICAgICAgICAgICANCiAgICAgICRhcGk9JGFwaS4iPGEgY2xhc3M9XCJpbmRleF9zaG9wXCIgaHJlZj1cInNob3AucGhwP01faWQ9Ii4kcm93MlsiTV9pZCJdLiJcIj4NCgkJCQkJCTxpbWcgc3JjPVwibWVkaWEvIi4kcm93MlsiTV9oZWFkIl0uIlwiPg0KCQkJCQkJPGRpdiBjbGFzcz1cImluZGV4X3Nob3BfY29udGVudFwiPg0KCQkJCQkJCTxkaXYgY2xhc3M9XCJpbmRleF9zaG9wX3RpdGxlXCI+Ii4kcm93MlsiTV9zaG9wIl0uIjwvZGl2Pg0KCQkJCQkJCTxkaXYgY2xhc3M9XCJpbmRleF9zaG9wX3NlbGxcIj7lhbHmnIk8c3Bhbj4iLmdldHJzKCJzZWxlY3QgY291bnQoQ19pZCkgYXMgQ19jb3VudCBmcm9tIHNsX2NvdXJzZSB3aGVyZSBDX2RlbD0wICIuJE1fcGluZm8uIiAgYW5kIENfc2g9MSBhbmQgQ19taWQ9Ii4kcm93MlsiTV9pZCJdLCJDX2NvdW50IikuIjwvc3Bhbj7oioLor77nqIvlnKjllK48L2Rpdj4NCgkJCQkJCTwvZGl2Pg0KCQkJCQk8L2E+IjsNCg0KICAgICAgICAgICAgICAgIF1dDQoJCSRhcGk9JGFwaS4iPC9kaXY+PC9kaXY+IjsNCiAgICAkaT0kaSsxOw0KDQpdXQ0KPC9maC1mdW5jdGlvbj4NCg0KCQkJPC9kaXY+DQoJCQkJPGRpdiBjbGFzcz0ibWVudXMiPg0KCQkJCSAgIAk8ZmgtZnVuY3Rpb24+DQogICAgICAgICAgICAgICAgJHNxbD0ic2VsZWN0ICogZnJvbSBzbF9tZW51IHdoZXJlIFVfaGlkZT0wIGFuZCBVX2RlbD0wIGFuZCBVX3N1Yj0wIG9yZGVyIGJ5IFVfb3JkZXIsVV9pZCBkZXNjIjsNCiAgICAgICAgICAgICAgICBzW1sNCg0KDQogICAgICAgICAgICAgICAgICBpZigkcm93WyJVX3R5cGUiXT09ImxpbmsiKXsNCiAgICAgICAgICAgICAgICAgICAgJGxpbms9JHJvd1siVV9saW5rIl07DQogICAgICAgICAgICAgICAgICAgICR0YXJnZXQ9Il9ibGFuayI7DQogICAgICAgICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICAgICAgJGxpbms9Ij90eXBlPSIuJHJvd1siVV90eXBlIl0uIiZpZD0iLiRyb3dbIlVfdHlwZWlkIl07DQogICAgICAgICAgICAgICAgICAgICR0YXJnZXQ9Il9zZWxmIjsNCiAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAkYXBpPSRhcGkuIjxkaXYgY2xhc3M9XCJtZW51XCI+PGEgIGhyZWY9XCIiLiRsaW5rLiJcIiB0YXJnZXQ9XCIiLiR0YXJnZXQuIlwiIHRpdGxlPVwiIi4kcm93WyJVX3RpdGxlIl0uIlwiPiIuJHJvd1siVV90aXRsZSJdLiI8L2E+PGRpdiBjbGFzcz1cImRyb3AtZG93bi1jb250ZW50XCI+IjsNCg0KICAgICAgICAgICAgICAgICAgICAkc3FsMj0ic2VsZWN0ICogZnJvbSBzbF9tZW51IHdoZXJlIFVfaGlkZT0wIGFuZCBVX2RlbD0wIGFuZCBVX3N1Yj0iLiRyb3dbIlVfaWQiXS4iIG9yZGVyIGJ5IFVfb3JkZXIsVV9pZCBkZXNjIjsNCiAgICAgICAgICAgICAgICAgICAgczJbWw0KICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgIGlmKCRyb3cyWyJVX3R5cGUiXT09ImxpbmsiKXsNCiAgICAgICAgICAgICAgICAgICAgICAgICRsaW5rMj0kcm93MlsiVV9saW5rIl07DQogICAgICAgICAgICAgICAgICAgICAgICAkdGFyZ2V0PSJfYmxhbmsiOw0KICAgICAgICAgICAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgICAgICAgICAgJGxpbmsyPSI/dHlwZT0iLiRyb3cyWyJVX3R5cGUiXS4iJmlkPSIuJHJvdzJbIlVfdHlwZWlkIl07DQogICAgICAgICAgICAgICAgICAgICAgICAkdGFyZ2V0PSJfc2VsZiI7DQogICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhcGk9JGFwaS4iPGRpdj48YSBocmVmPVwiIi4kbGluazIuIlwiIHRhcmdldD1cIiIuJHRhcmdldC4iXCIgc3R5bGU9XCJkaXNwbGF5OmJsb2NrXCI+Ii4kcm93MlsiVV90aXRsZSJdLiI8L2E+PC9kaXY+IjsNCiAgICAgICAgICAgICAgICAgICAgICAgIF1dDQoNCiRhcGk9JGFwaS4iPC9kaXY+PC9kaXY+IjsNCiAgICAgICAgICAgICAgICBdXQ0KDQogICAgICAgICAgICAgIDwvZmgtZnVuY3Rpb24+DQoNCg0KCQkJCTwvZGl2Pg0KCQkJDQoJCTwvZGl2Pg0KCTwvZGl2Pg0KPHNjcmlwdD4NCglmdW5jdGlvbiBpbmRleF9zaG93KGlkKXsNCgkJJCgiLmNzcyIpLmhpZGUoKTsNCgkJJCgiLmNzcyIraWQpLnNob3coKTsNCgl9DQoJJChmdW5jdGlvbiAoKXsNCiAgICAkKCJbZGF0YS10b2dnbGU9J3BvcG92ZXInXSIpLnBvcG92ZXIoKTsNCn0pOw0KPC9zY3JpcHQ+DQo8ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiAjZWRlZGVkOyI+DQoJPGRpdiBjbGFzcz0iZmFodW8xMDBfbWFpbiI+DQoJCTxkaXYgY2xhc3M9ImRoX3RpdGxlIj7lvZPliY3kvY3nva7vvJo8YSBocmVmPSIuLyI+6aaW6aG1PC9hPiA+ICA8YSBocmVmPSIiPltTX3RpdGxlXTwvYT48L2Rpdj4NCgkJPGRpdiBjbGFzcz0ic19sZWZ0Ij4NCgkJCTxkaXYgY2xhc3M9ImNzX2xpc3RzIj4NCgkJCQk8ZGl2IGNsYXNzPSJsX3RpdGxlIj7llYblk4Hnsbvnm67vvJo8L2Rpdj4NCg0KCQkJCTxhIGhyZWY9Ij90eXBlPWNvdXJzZSZpZD0wIiBjbGFzcz0iPGZoLWZ1bmN0aW9uPg0KICBpZigkaWQ9PTApew0KJGFwaT0kYXBpLiJsX2NvbnRlbnQgYWN0aXZlIjsNCn1lbHNlew0KJGFwaT0kYXBpLiJsX2NvbnRlbnQiOw0KfTwvZmgtZnVuY3Rpb24+Ij7lhajpg6g8L2E+DQoNCjxmaC1mdW5jdGlvbj4NCiAgICAgICAgJHNxbD0ic2VsZWN0ICogZnJvbSBzbF91c29ydCB3aGVyZSBTX3N1Yj0wIGFuZCBTX2RlbD0wIG9yZGVyIGJ5IFNfaWQgZGVzYyI7DQogICAgICAgIHNbWw0KICAgICAgICBpZigkaWQ9PSRyb3dbIlNfaWQiXSB8fCBnZXRycygic2VsZWN0ICogZnJvbSBzbF91c29ydCB3aGVyZSBTX2lkPSRpZCIsIlNfc3ViIik9PSRyb3dbIlNfaWQiXSl7DQogICAgICAgIAkJJGNsYXNzPSJsX2NvbnRlbnQgYWN0aXZlIjsNCgkJCQl9ZWxzZXsNCgkJCQkgICAgJGNsYXNzPSJsX2NvbnRlbnQiOw0KCQkJCX0NCiAgICAgICAgJGFwaT0kYXBpLiI8YSBocmVmPVwiP3R5cGU9Y291cnNlJmlkPSIuJHJvd1siU19pZCJdLiJcIiAgY2xhc3M9XCIiLiRjbGFzcy4iXCI+Ii4kcm93WyJTX3RpdGxlIl0uIjwvYT4iOw0KICAgICAgICBdXQ0KICAgICAgICA8L2ZoLWZ1bmN0aW9uPg0KDQoNCgkJCTwvZGl2Pg0KCQkJDQoJCQkJPGZoLWZ1bmN0aW9uPg0KaWYoJGlkIT0wKXsJDQppZihnZXRycygic2VsZWN0ICogZnJvbSBzbF91c29ydCB3aGVyZSBTX2lkPSRpZCIsIlNfc3ViIik9PTApew0KCSRjbGFzcz0ibF9jb250ZW50IGFjdGl2ZSI7DQoJJGlkeD0kaWQ7DQp9ZWxzZXsNCgkkY2xhc3M9ImxfY29udGVudCI7DQoJJGlkeD1nZXRycygic2VsZWN0ICogZnJvbSBzbF91c29ydCB3aGVyZSBTX2lkPSRpZCIsIlNfc3ViIik7DQp9DQoNCiRhcGk9JGFwaS4iDQogIDxkaXYgY2xhc3M9XCJjc19saXN0c1wiPjxkaXYgY2xhc3M9XCJsX3RpdGxlXCI+5LqM57qn5YiG57G777yaPC9kaXY+DQogIDxhIGhyZWY9XCI/dHlwZT1jb3Vyc2UmaWQ9JGlkeFwiIGNsYXNzPVwiJGNsYXNzXCI+5YWo6YOoPC9hPiI7DQoNCiAgICAgICAgJHNxbD0ic2VsZWN0ICogZnJvbSBzbF91c29ydCB3aGVyZSAoU19zdWI9JGlkIG9yIFNfc3ViPSIuZ2V0cnMoInNlbGVjdCAqIGZyb20gc2xfdXNvcnQgd2hlcmUgU19pZD0kaWQiLCJTX3N1YiIpLiIpIGFuZCBub3QgU19zdWI9MCBhbmQgU19kZWw9MCBvcmRlciBieSBTX2lkIGRlc2MiOw0KICAgICAgICBzW1sNCiAgICAgICAgaWYoJGlkPT0kcm93WyJTX2lkIl0pew0KICAgICAgICAkY2xhc3M9ImxfY29udGVudCBhY3RpdmUiOw0KICAgIH1lbHNlew0KICAgICRjbGFzcz0ibF9jb250ZW50IjsNCn0NCiAgICAgICAgJGFwaT0kYXBpLiI8YSBocmVmPVwiP3R5cGU9Y291cnNlJmlkPSIuJHJvd1siU19pZCJdLiJcIiAgY2xhc3M9XCIiLiRjbGFzcy4iXCI+Ii4kcm93WyJTX3RpdGxlIl0uIjwvYT4iOw0KICAgICAgICBdXQ0KJGFwaT0kYXBpLiI8L2Rpdj4iOw0KfQ0KPC9maC1mdW5jdGlvbj4NCg0KCQk8L2Rpdj4NCg0KPGRpdiBjbGFzcz0iY3hfYm94cyI+DQoJCTxmaC1mdW5jdGlvbj4NCiRpPTE7DQppZigkaWQ9PTApew0KICAkc3FsPSJzZWxlY3QgKiBmcm9tIHNsX2NvdXJzZSxzbF91c29ydCB3aGVyZSBDX2RlbD0wICIuJE1fY2luZm8uIiAgIi5zaHV4aW5nKCJDX3NodXhpbmciKS4iICRNX2luZm8gYW5kIENfc29ydD1TX2lkIG9yZGVyIGJ5IENfdG9wIGRlc2MsQ19vcmRlcixDX3RpbWUgZGVzYyxDX2lkIGRlc2MgbGltaXQgIi4oKCRwYWdlLTEpKjEyKS4iLDEyIjsNCn1lbHNlew0KICBpZigkU19zdWI9PTApew0KICAgICRzcWw9InNlbGVjdCAqIGZyb20gc2xfY291cnNlLHNsX3Vzb3J0IHdoZXJlIFNfZGVsPTAgIi5zaHV4aW5nKCJDX3NodXhpbmciKS4iICRNX2luZm8gYW5kIENfZGVsPTAgIi4kTV9jaW5mby4iICBhbmQgQ19zb3J0PVNfaWQgYW5kIFNfc3ViPSIuJGlkLiIgb3JkZXIgYnkgQ190b3AgZGVzYyxDX29yZGVyLENfdGltZSBkZXNjLENfaWQgZGVzYyBsaW1pdCAiLigoJHBhZ2UtMSkqMTIpLiIsMTIiOw0KICB9ZWxzZXsNCiAgICAkc3FsPSJzZWxlY3QgKiBmcm9tIHNsX2NvdXJzZSxzbF91c29ydCB3aGVyZSBTX2RlbD0wICIuc2h1eGluZygiQ19zaHV4aW5nIikuIiAkTV9pbmZvIGFuZCBDX2RlbD0wICIuJE1fY2luZm8uIiAgYW5kIENfc29ydD1TX2lkIGFuZCBTX2lkPSIuJGlkLiIgb3JkZXIgYnkgQ190b3AgZGVzYyxDX29yZGVyLENfdGltZSBkZXNjLENfaWQgZGVzYyBsaW1pdCAiLigoJHBhZ2UtMSkqMTIpLiIsMTIiOw0KICB9DQp9DQoNCiAgICAgICAgICAgICAgICBzW1sgDQogICAgICAgICAgICAgICAgaWYoJHJvd1siQ19taWQiXT09MCl7DQogICAgICAgICAgICAgICAgCSR6eT0iPGRpdiBjbGFzcz1cImJ0biBidG4teHMgYnRuLWRhbmdlclwiPuiHquiQpTwvZGl2PiI7DQogICAgICAgICAgICAJfWVsc2V7DQogICAgICAgICAgICAJCSR6eT0iPGEgY2xhc3M9XCJidG4gYnRuLXhzIGJ0bi1wcmltYXJ5XCIgaHJlZj1cInNob3AucGhwP01faWQ9Ii4kcm93WyJDX21pZCJdLiJcIj4iLmdldHJzKCJzZWxlY3QgTV9zaG9wIGZyb20gc2xfbWVtYmVyIHdoZXJlIE1faWQ9Ii4kcm93WyJDX21pZCJdLCJNX3Nob3AiKS4iPC9hPiI7DQogICAgICAgIAkJfQ0KDQogICAgICAgICAgICBpZigkcm93WyJDX2xpbWl0Il0+MCBhbmQgJHJvd1siQ19saW1pdGxvbmciXT4wIGFuZCAkcm93WyJDX2xpbWl0bG9uZyJdLSh0aW1lKCktc3RydG90aW1lKCRyb3dbIkNfbGltaXR0aW1lIl0pKS8zNjAwPjApew0KICAgICAgICAgICAgICAkQ19wcmljZT0kcm93WyJDX2xpbWl0Il07DQogICAgICAgICAgICAgICRsPWRhdGUoJ1ktbS1kIEg6aTpzJyxzdHJ0b3RpbWUoJysnLiRyb3dbIkNfbGltaXRsb25nIl0uJyBob3VyJyxzdHJ0b3RpbWUoJHJvd1siQ19saW1pdHRpbWUiXSkpKTsNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAkQ19wcmljZT1wKCRyb3dbIkNfcHJpY2UiXSk7DQogICAgICAgICAgICAgICRsPSIiOw0KICAgICAgICAgICAgfQ0KDQoNCiAkYXBpPSRhcGkuIjxkaXYgY2xhc3M9XCJjeF9ib3hcIiBocmVmPVwiP3R5cGU9Y291cnNlaW50cm8maWQ9Ii4kcm93WyJDX2lkIl0uIlwiPg0KCQkJCQk8YSBocmVmPVwiP3R5cGU9Y291cnNlaW50cm8maWQ9Ii4kcm93WyJDX2lkIl0uIlwiPg0KDQoNCiAgICAgICAgICA8aW1nIHNyYz1cIiIucGljKCRyb3dbIkNfcGljIl0pLiJcIiBzdHlsZT1cIndpZHRoOjEwMCVcIj4NCg0KICAgICAgICAgIDwvYT4NCjxkaXYgc3R5bGU9XCJwYWRkaW5nOjEwcHhcIj4NCgkJCQkJPGRpdiBjbGFzcz1cInBfdGl0bGVcIj4NCgkJCQkJCSAiLiRyb3dbIkNfdGl0bGUiXS4iDQoJCQkJCTwvZGl2Pg0KCQkJCQk8ZGl2PjxkaXYgY2xhc3M9XCJwX3ByaWNlXCI+77+lIi4kQ19wcmljZS4iPC9kaXY+PGRpdiBjbGFzcz1cInBfc29sZFwiPue0r+iuoeW3suWUriIuJHJvd1siQ19zb2xkIl0uIuS7tjwvZGl2PjwvZGl2Pg0KCQkJCQk8ZGl2PiIuJHp5LiI8YSBocmVmPVwiP3R5cGU9Y291cnNlJmlkPSIuJHJvd1siU19pZCJdLiJcIiBjbGFzcz1cInBfc29ydFwiPiIuJHJvd1siU190aXRsZSJdLiI8L2E+PC9kaXY+DQo8L2Rpdj4NCgkJCQk8L2Rpdj4iOw0KDQokaT0kaSsxOw0KICAgICAgICAgICAgICAgICAgICBdXQ0KPC9maC1mdW5jdGlvbj4NCgk8L2Rpdj4NCg0KCTxkaXYgaWQ9InBhZ2VyIiBzdHlsZT0iaGVpZ2h0OiA1MHB4O21hcmdpbi10b3A6IDIwcHg7Ij48L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8c2NyaXB0IHNyYz0ianMvanF1ZXJ5LnBhZ2VyLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0Pg0KPHNjcmlwdD4NCiQoIi5zY21zLXBpYyIpLmF0dHIoInN0eWxlIiwiZmxvYXQ6IG5vbmU7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246dG9wOyIpOw0KJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7DQogICAgJCgiI3BhZ2VyIikucGFnZXIoeyBwYWdlbnVtYmVyOiA8ZmgtZnVuY3Rpb24+ICRhcGk9JGFwaS4kcGFnZTs8L2ZoLWZ1bmN0aW9uPiwgcGFnZWNvdW50OiA8ZmgtZnVuY3Rpb24+ICRhcGk9JGFwaS4kcGFnZV9udW07PC9maC1mdW5jdGlvbj4sIGJ1dHRvbkNsaWNrQ2FsbGJhY2s6IFBhZ2VDbGljayB9KTsNCn0pOw0KDQpQYWdlQ2xpY2sgPSBmdW5jdGlvbihwYWdlY2xpY2tlZG51bWJlcikgew0KICB3aW5kb3cubG9jYXRpb249IjxmaC1mdW5jdGlvbj4kYXBpPSRhcGkudXJsKCR1cmwsInBhZ2UiLCRfR0VUWyJwYWdlIl0pOzwvZmgtZnVuY3Rpb24+JnBhZ2U9IitwYWdlY2xpY2tlZG51bWJlcjsNCn0NCg0KPC9zY3JpcHQ+DQo8ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiAjZmZmO3BhZGRpbmctdG9wOiAyMHB4OyI+DQoJCTxkaXYgY2xhc3M9ImZhaHVvMTAwX21haW4iPg0KDQo8ZGl2IGNsYXNzPSJpY29ucyI+PGRpdj48aW1nIHNyYz0idGVtcGxhdGUvdDIxL2ltYWdlcy9pY29uMS5wbmciPiDmraPlk4Hkv53pmpw8L2Rpdj48ZGl2PjxpbWcgc3JjPSJ0ZW1wbGF0ZS90MjEvaW1hZ2VzL2ljb24yLnBuZyI+IOWmguWunuaPj+i/sDwvZGl2PjxkaXY+PGltZyBzcmM9InRlbXBsYXRlL3QyMS9pbWFnZXMvaWNvbjMucG5nIj4g5LiT5Lia6YWN6YCBPC9kaXY+PGRpdj48aW1nIHNyYz0idGVtcGxhdGUvdDIxL2ltYWdlcy9pY29uNC5wbmciPiDph5HniYzmnI3liqE8L2Rpdj48ZGl2IHN0eWxlPSJib3JkZXI6bm9uZSI+PGltZyBzcmM9InRlbXBsYXRlL3QyMS9pbWFnZXMvaWNvbjUucG5nIj4g5LiH5Y2D5L+h6LWWPC9kaXY+DQo8L2Rpdj4NCg0KDQoJCQk8ZGl2IGNsYXNzPSJmMSI+DQoJCQkJPGRpdiBjbGFzcz0iZl9sZWZ0Ij4NCg0KDQoJCQkJPGZoLWZ1bmN0aW9uPg0KJHNxbD0ic2VsZWN0ICogZnJvbSBzbF9tZW51IHdoZXJlIFVfaGlkZT0wIGFuZCBVX2RlbD0wIGFuZCBVX3N1Yj0wIGFuZCBub3QgVV90eXBlPSdpbmRleCcgb3JkZXIgYnkgVV9vcmRlcixVX2lkIGRlc2MiOw0Kc1tbDQoNCiAgaWYoJHJvd1siVV90eXBlIl09PSJsaW5rIil7DQogICAgJGxpbms9JHJvd1siVV9saW5rIl07DQogICAgJHRhcmdldD0iX2JsYW5rIjsNCiAgfWVsc2V7DQogICAgJGxpbms9Ij90eXBlPSIuJHJvd1siVV90eXBlIl0uIiZpZD0iLiRyb3dbIlVfdHlwZWlkIl07DQogICAgJHRhcmdldD0iX3NlbGYiOw0KICB9DQoNCg0KICAgICAkYXBpPSRhcGkuIjxkaXYgY2xhc3M9XCJmXzIwXCI+DQogIDxhIGNsYXNzPVwiZl90aXRsZV9tYWluXCIgaHJlZj1cIiIuJGxpbmsuIlwiIHRhcmdldD1cIiIuJHRhcmdldC4iXCI+Ii4kcm93WyJVX3RpdGxlIl0uIjwvYT4iOw0KDQokc3FsMj0ic2VsZWN0ICogZnJvbSBzbF9tZW51IHdoZXJlIFVfaGlkZT0wIGFuZCBVX2RlbD0wIGFuZCBVX3N1Yj0iLiRyb3dbIlVfaWQiXS4iIG9yZGVyIGJ5IFVfb3JkZXIsVV9pZCBkZXNjIjsNCnMyW1sNCg0KICBpZigkcm93MlsiVV90eXBlIl09PSJsaW5rIil7DQogICAgJGxpbmsyPSRyb3cyWyJVX2xpbmsiXTsNCiAgICAkdGFyZ2V0Mj0iX2JsYW5rIjsNCiAgfWVsc2V7DQogICAgJGxpbmsyPSI/dHlwZT0iLiRyb3cyWyJVX3R5cGUiXS4iJmlkPSIuJHJvdzJbIlVfdHlwZWlkIl07DQogICAgJHRhcmdldDI9Il9zZWxmIjsNCiAgfQ0KDQogICAgJGFwaT0kYXBpLiI8YSBocmVmPVwiIi4kbGluazIuIlwiIHRhcmdldD1cIiIuJHRhcmdldDIuIlwiIGNsYXNzPVwiZl90aXRsZV9zdWJcIj4iLiRyb3cyWyJVX3RpdGxlIl0uIjwvYT4iOw0KICBdXQ0KICAgICAgJGFwaT0kYXBpLiI8L2Rpdj4iOw0KICAgIF1dDQoNCjwvZmgtZnVuY3Rpb24+DQoNCgkJCQk8L2Rpdj48ZGl2IGNsYXNzPSJmX3JpZ2h0Ij4NCgkJCQkJPGRpdiBzdHlsZT0id2lkdGg6IDIwMHB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrOyI+DQoJCQkJCTxkaXYgY2xhc3M9ImZfdGl0bGVfbWFpbiI+6IGU57O75oiR5LusPC9kaXY+DQoJCQkJCTxkaXYgY2xhc3M9ImZfdGl0bGVfc3ViIj48c3BhbiBzdHlsZT0iY29sb3I6IzIyMjIyMjtmb250LWZhbWlseToiIGZvbnQtc2l6ZToxOHB4O2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjsiPSIiPuWcsOWdgO+8muWMl+S6rOW4gnh45Yy6eHjot694eOW5v+Wcunjlj7c8L3NwYW4+PGJyIC8+DQo8c3BhbiBzdHlsZT0iY29sb3I6IzIyMjIyMjtmb250LWZhbWlseToiIGZvbnQtc2l6ZToxOHB4O2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjsiPSIiPueUteivne+8mjg2LTAxMC14eHh4eHh4eDwvc3Bhbj48YnIgLz4NCjxzcGFuIHN0eWxlPSJjb2xvcjojMjIyMjIyO2ZvbnQtZmFtaWx5OiIgZm9udC1zaXplOjE4cHg7YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmOyI9IiI+5Lyg55yf77yaODYtMDEwLXh4eHh4eHh4eHh4eHh4eHg8L3NwYW4+PGJyIC8+DQo8c3BhbiBzdHlsZT0iY29sb3I6IzIyMjIyMjtmb250LWZhbWlseToiIGZvbnQtc2l6ZToxOHB4O2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjsiPSIiPumCrueuse+8mnh4eHh4eHh4eEBxcS5jb208L3NwYW4+PGJyIC8+DQo8c3BhbiBzdHlsZT0iY29sb3I6IzIyMjIyMjtmb250LWZhbWlseToiIGZvbnQtc2l6ZToxOHB4O2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjsiPSIiPue9keWdgO+8mnd3dy54eHh4eHguY29tPC9zcGFuPjwvZGl2Pg0KCQkJCQk8L2Rpdj4NCgkJCQkJPGRpdiBzdHlsZT0iZmxvYXQ6cmlnaHQ7dGV4dC1hbGlnbjogY2VudGVyOyI+DQoJCQkJCQk8aW1nIHNyYz0ibWVkaWEvMjAxOTExMjYyMjQzNTJXZi5qcGciIHN0eWxlPSJ3aWR0aDoxMDBweCI+DQoJCQkJCQk8ZGl2PuS6jOe7tOeggTwvZGl2Pg0KCQkJCQk8L2Rpdj4NCgkJCQk8L2Rpdj4NCgkJCTwvZGl2Pg0KCQkJDQoJCTwvZGl2Pg0KCTwvZGl2Pg0KDQo8ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiAjZjdmN2Y3O3BhZGRpbmc6IDEwcHggMDsiPg0KCQk8ZGl2IGNsYXNzPSJmYWh1bzEwMF9tYWluIj4NCgkJPGltZyBzcmM9Im1lZGlhLzIwMTkxMjAyMjE0NDA5elgucG5nIiBjbGFzcz0iYl9sb2dvIj4NCgk8ZGl2IGNsYXNzPSJmMiI+DQoJCQkJPGRpdj7lj4vmg4Xpk77mjqXvvJogPGZoLWZ1bmN0aW9uPg0KICAgICAgICAkc3FsPSJzZWxlY3QgKiBmcm9tIHNsX2xpbmsgd2hlcmUgTF9kZWw9MCBvcmRlciBieSBMX2lkIGRlc2MiOw0KICAgICAgICBzW1sNCg0KICAgICAgICAkYXBpPSRhcGkuIjxhIGhyZWY9XCIiLiRyb3dbIkxfbGluayJdLiJcIiB0YXJnZXQ9XCJfYmxhbmtcIj4iLiRyb3dbIkxfdGl0bGUiXS4iPC9hPiZuYnNwOyZuYnNwOyI7DQogICAgICAgIF1dDQogICAgICAgIDwvZmgtZnVuY3Rpb24+PC9kaXY+DQoJCQkJPGRpdj5Db3B5cmlnaHQgwqkgMjAxNS0yMDIwIOaCqOeahOWFrOWPuOWQjeensCDniYjmnYPmiYDmnIkgPGEgaHJlZj0iaHR0cHM6Ly9iZWlhbi5taWl0Lmdvdi5jbi8iIHRhcmdldD0iX2JsYW5rIj7kuqxJQ1DlpIcwMDAwMDAwMOWPtzwvYT48L2Rpdj4NCgkJCTwvZGl2Pg0KCQkJCQk8L2Rpdj4NCgk8L2Rpdj4NCgk8bGluayBocmVmPSdjc3MvbGFucmVuemhpamlhLmNzcycgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2NzcycgLz48c2NyaXB0IHNyYz0nanMvanF1ZXJ5LktpblNsaWRlc2hvdy0xLjIuMS5taW4uanMnIHR5cGU9J3RleHQvamF2YXNjcmlwdCc+PC9zY3JpcHQ+PGRpdiBpZD0nb25saW5lX3FxX2xheWVyJyBzdHlsZT0nei1pbmRleDoyMDAwOyc+PGRpdiBpZD0nb25saW5lX3FxX3RhYic+PGRpdiBjbGFzcz0nb25saW5lX2ljb24nPjxhIGlkPSdmbG9hdFNob3cnIHN0eWxlPSdkaXNwbGF5OmJsb2NrOycgaHJlZj0namF2YXNjcmlwdDp2b2lkKDApOyc+Jm5ic3A7PC9hPjxhICBpZD0nZmxvYXRIaWRlJyBzdHlsZT0nZGlzcGxheTpub25lOycgaHJlZj0namF2YXNjcmlwdDp2b2lkKDApOyc+Jm5ic3A7PC9hPjwvZGl2PjwvZGl2PjxkaXYgaWQ9J29ubGluZVNlcnZpY2UnIHN0eWxlPSdkaXNwbGF5Om5vbmUnPjxkaXYgY2xhc3M9J29ubGluZV93aW5kb3dzIG92ZXJ6Jz48ZGl2IGNsYXNzPSdvbmxpbmVfd190b3AnPjwvZGl2PjxkaXYgY2xhc3M9J29ubGluZV93X2Mgb3ZlcnonPjxkaXYgY2xhc3M9J29ubGluZV9iYXIgZXhwYW5kJyBpZD0nb25saW5lU29ydDEnPjxoMj48YSBvbmNsaWNrPSdjaGFuZ2VPbmxpbmUoMSknPuWcqOe6v+WuouacjTwvYT48L2gyPjxkaXYgY2xhc3M9J29ubGluZV9jb250ZW50IG92ZXJ6JyBpZD0nb25saW5lVHlwZTEnPjx1bCBjbGFzcz0nb3ZlcnonPjxsaT48YSB0aXRsZT0i54K55Ye76L+Z6YeM57uZ5oiR5Y+R5raI5oGvIiBocmVmPSJqYXZhc2NyaXB0OjsiIG9uY2xpY2s9ImFsZXJ0KCfor7fliqDlrqLmnI1RUe+8mjEyMzEyMzEyM+e7p+e7reWSqOivoicpIiBjbGFzcz0icXFfaWNvbiI+5ZSu5YmN5ZKo6K+iPC9hPjwvbGk+PGxpPjxhIHRpdGxlPSfngrnlh7vov5nph4znu5nmiJHlj5Hmtojmga8nIGhyZWY9J2h0dHA6Ly93d3cudGFvYmFvLmNvbS93ZWJ3dy93dy5waHA/dmVyPTMmdG91aWQ9dGFvYmFvJnNpdGVpZD1jbnRhb2JhbyZzdGF0dXM9MSZjaGFyc2V0PXV0Zi04JyB0YXJnZXQ9J19ibGFuaycgY2xhc3M9J3d3X2ljb24nPuWUruWQjuacjeWKoTwvYT48L2xpPjwvdWw+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0nb25saW5lX2JhciBjb2xsYXBzZTInIGlkPSdvbmxpbmVTb3J0Mic+PGgyPjxhIG9uY2xpY2s9J2NoYW5nZU9ubGluZSgyKSc+55S16K+d5a6i5pyNPC9hPjwvaDI+PGRpdiBjbGFzcz0nb25saW5lX2NvbnRlbnQgb3ZlcnonIGlkPSdvbmxpbmVUeXBlMic+PHVsIGNsYXNzPSdvdmVyeic+PGxpPjAxMC0xMDA4NjwvbGk+PC91bD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSdvbmxpbmVfYmFyIGNvbGxhcHNlMicgaWQ9J29ubGluZVNvcnQzJz48aDI+PGEgb25jbGljaz0nY2hhbmdlT25saW5lKDMpJz7nvZHnq5nkuoznu7TnoIE8L2E+PC9oMj48ZGl2IGNsYXNzPSdvbmxpbmVfY29udGVudCBvdmVyeicgaWQ9J29ubGluZVR5cGUzJz48dWwgY2xhc3M9J292ZXJ6Jz48c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdqcy9xcmNvZGUubWluLmpzJz48L3NjcmlwdD48ZGl2IGlkPSdxcmNvZGUnIHN0eWxlPSdtYXJnaW46MCAwIDEwcHggMTBweDsnPjwvZGl2PjxzY3JpcHQ+dmFyIHFyY29kZSA9IG5ldyBRUkNvZGUoJ3FyY29kZScsIHt3aWR0aDogMTEwLGhlaWdodDogMTEwLGNvbG9yRGFyazogJyMwMDAwMDAnLGNvbG9yTGlnaHQ6ICcjZmZmZmZmJyxjb3JyZWN0TGV2ZWw6IFFSQ29kZS5Db3JyZWN0TGV2ZWwuSH0pO3FyY29kZS5tYWtlQ29kZSgnaHR0cDovLzEyNy4wLjAuMTo1MDIxJyk7PC9zY3JpcHQ+PC91bD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSdvbmxpbmVfYmFyIGNvbGxhcHNlMicgaWQ9J29ubGluZVNvcnQ0Jz48aDI+PGEgb25jbGljaz0nY2hhbmdlT25saW5lKDQpJz7lvq7kv6HlhazkvJflj7c8L2E+PC9oMj48ZGl2IGNsYXNzPSdvbmxpbmVfY29udGVudCBvdmVyeicgaWQ9J29ubGluZVR5cGU0Jz48dWwgY2xhc3M9J292ZXJ6Jz48aW1nIHNyYz0nbWVkaWEvMjAxOTExMjYyMjQzNTJXZi5qcGcnIHdpZHRoPScxMjAnIC8+PC91bD48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSdvbmxpbmVfd19ib3R0b20nPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2Pg0KPGEgaHJlZj0naHR0cDovL2ZhaHVvMTAwLmNuJyB0YXJnZXQ9J19ibGFuaycgIHRpdGxlPSflj5HotKcxMDAnPjxkaXYgc3R5bGU9InBvc2l0aW9uOiBmaXhlZDt6LWluZGV4Ojk5OTk5O2JvdHRvbTogMTBweDtsZWZ0OiBjYWxjKDUwJSAtIDEwMHB4KTtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC43KTt0ZXh0LWFsaWduOiBjZW50ZXI7d2lkdGg6IDIwMHB4O2hlaWdodDogMzBweDtsaW5lLWhlaWdodDogMzBweDtib3JkZXItcmFkaXVzOiAzMHB4O2ZvbnQtc2l6ZTogMThweDtjb2xvcjogIzMzMzMzMyI+PGltZyBzcmM9Imh0dHA6Ly9mYWh1bzEwMC5jbi9tZWRpYS8yMDIwMTAwOTEzNDEyMGxVLmljbyIgc3R5bGU9ImhlaWdodDogMjBweDt3aWR0aDogMjBweDttYXJnaW4tcmlnaHQ6IDVweDt2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO2Rpc3BsYXk6aW5saW5lIj7lj5HotKcxMDA8L2Rpdj48L2E+PC9ib2R5Pg0KPC9odG1sPg==