문제
고려 시대의 학자 하의비는 금속 활자를 사용해서 그래프를 찍어 내는 작업을 하고 있었다. 그러던 중, 하의비는 활자로 찍어내던, 일명 활자 그래프에서의 최단 경로가 궁금해졌다.
하의비는 현재 $T$개의 활자 그래프를 가지고 있으며, 만든 순서대로 1ドル$번부터 $T$번까지의 번호가 매겨져 있다.
$t$번 활자 그래프는 $N_t$개의 번호가 붙은 정점으로 이루어져 있으며, 각각의 정점에는 1ドル$ 이상 $N_t$ 이하의 번호가 붙어있다. 이후, 다음과 같이 번호가 붙은 정점들 사이에 간선이나 이전에 만들었던 활자 그래프를 찍어내는 방식으로 $t$번 활자 그래프가 완성된다.
- 간선을 찍는 경우, $v$번 정점에서 $w$번 정점으로 가는 가중치가 있는 단방향 간선을 추가한다.
- $i$번째 활자 그래프를 찍는 경우, $i$번째 활자 그래프의 시작점과 끝점이 $t$번 활자 그래프의 $v$번 정점과 $w$번 정점이 되도록 $i$번째 활자 그래프의 정점과 간선을 추가한다. 이 과정에서 생기는 $i$번째 활자 그래프의 정점들에는 번호가 붙지 않는다. $(1\le i<t)$
모든 활자 그래프의 시작점은 1ドル$번 정점이고, 끝점은 2ドル$번 정점이다.
이때, $T$번 활자 그래프의 1ドル$번 정점에서 2ドル$번 정점으로 가는 최단 경로를 구해 보자.
출력
첫 번째 줄에 $T$번 활자 그래프에서, 1ドル$번 정점에서 2ドル$번 정점으로 가는 최단 경로를 출력한다. 만약 1ドル$번 정점에서 2ドル$번 정점으로 가는 경로가 없거나, 이 값이 10ドル^{18}$보다 크다면 $-1$을 대신 출력한다.
1ドル$번 활자 그래프는 다음과 같이 생겼다.
1ドル$번 활자 그래프가 사용된 2ドル$번 활자 그래프는 다음과 같이 생겼다.
2ドル$번 활자 그래프에서 1ドル$번 정점에서 2ドル$번 정점으로 가는 최단 경로는 11ドル$이 된다.
W3sicHJvYmxlbV9pZCI6IjMwODgxIiwicHJvYmxlbV9sYW5nIjoiMCIsInRpdGxlIjoiXHVkNjVjXHVjNzkwIFx1YWRmOFx1Yjc5OFx1ZDUwNCIsImRlc2NyaXB0aW9uIjoiPHA+XHVhY2UwXHViODI0IFx1YzJkY1x1YjMwMFx1Yzc1OCBcdWQ1NTlcdWM3OTAgXHVkNTU4XHVjNzU4XHViZTQ0XHViMjk0IFx1YWUwOFx1YzE4ZCBcdWQ2NWNcdWM3OTBcdWI5N2MgXHVjMGFjXHVjNmE5XHVkNTc0XHVjMTFjIFx1YWRmOFx1Yjc5OFx1ZDUwNFx1Yjk3YyBcdWNjMGRcdWM1YjQgXHViMGI0XHViMjk0IFx1Yzc5MVx1YzVjNVx1Yzc0NCBcdWQ1NThcdWFjZTAgXHVjNzg4XHVjNWM4XHViMmU0LiBcdWFkZjhcdWI3ZWNcdWIzNTggXHVjOTExLCBcdWQ1NThcdWM3NThcdWJlNDRcdWIyOTQgXHVkNjVjXHVjNzkwXHViODVjIFx1Y2MwZFx1YzViNFx1YjBiNFx1YjM1OCwgXHVjNzdjXHViYTg1IDxzdHJvbmc+XHVkNjVjXHVjNzkwIFx1YWRmOFx1Yjc5OFx1ZDUwNDxcL3N0cm9uZz5cdWM1ZDBcdWMxMWNcdWM3NTggXHVjZDVjXHViMmU4IFx1YWNiZFx1Yjg1Y1x1YWMwMCBcdWFkODFcdWFlMDhcdWQ1NzRcdWM4NGNcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1ZDU1OFx1Yzc1OFx1YmU0NFx1YjI5NCBcdWQ2MDRcdWM3YWMgJFQkXHVhYzFjXHVjNzU4IFx1ZDY1Y1x1Yzc5MCBcdWFkZjhcdWI3OThcdWQ1MDRcdWI5N2MgXHVhYzAwXHVjOWMwXHVhY2UwIFx1Yzc4OFx1YzczY1x1YmE3MCwgXHViOWNjXHViNGUwIFx1YzIxY1x1YzExY1x1YjMwMFx1Yjg1YyAkMSRcdWJjODhcdWJkODBcdWQxMzAgJFQkXHViYzg4XHVhZTRjXHVjOWMwXHVjNzU4IFx1YmM4OFx1ZDYzOFx1YWMwMCBcdWI5ZTRcdWFjYThcdWM4MzggXHVjNzg4XHViMmU0LjxcL3A+XHJcblxyXG48cD4kdCRcdWJjODggXHVkNjVjXHVjNzkwIFx1YWRmOFx1Yjc5OFx1ZDUwNFx1YjI5NCAkTl90JFx1YWMxY1x1Yzc1OCBcdWJjODhcdWQ2MzhcdWFjMDAgXHViZDk5XHVjNzQwIFx1YzgxNVx1YzgxMFx1YzczY1x1Yjg1YyBcdWM3NzRcdWI4ZThcdWM1YjRcdWM4MzggXHVjNzg4XHVjNzNjXHViYTcwLCBcdWFjMDFcdWFjMDFcdWM3NTggXHVjODE1XHVjODEwXHVjNWQwXHViMjk0ICQxJCBcdWM3NzRcdWMwYzEgJE5fdCQgXHVjNzc0XHVkNTU4XHVjNzU4IFx1YmM4OFx1ZDYzOFx1YWMwMCBcdWJkOTlcdWM1YjRcdWM3ODhcdWIyZTQuIFx1Yzc3NFx1ZDZjNCwgXHViMmU0XHVjNzRjXHVhY2ZjIFx1YWMxOVx1Yzc3NCBcdWJjODhcdWQ2MzhcdWFjMDAgXHViZDk5XHVjNzQwIFx1YzgxNVx1YzgxMFx1YjRlNCBcdWMwYWNcdWM3NzRcdWM1ZDAgXHVhYzA0XHVjMTIwXHVjNzc0XHViMDk4IFx1Yzc3NFx1YzgwNFx1YzVkMCBcdWI5Y2NcdWI0ZTRcdWM1YzhcdWIzNTggXHVkNjVjXHVjNzkwIFx1YWRmOFx1Yjc5OFx1ZDUwNFx1Yjk3YyBcdWNjMGRcdWM1YjRcdWIwYjRcdWIyOTQgXHViYzI5XHVjMmRkXHVjNzNjXHViODVjICR0JFx1YmM4OCBcdWQ2NWNcdWM3OTAgXHVhZGY4XHViNzk4XHVkNTA0XHVhYzAwIFx1YzY0NFx1YzEzMVx1YjQxY1x1YjJlNC48XC9wPlxyXG5cclxuPHVsPlxyXG5cdDxsaT5cdWFjMDRcdWMxMjBcdWM3NDQgXHVjYzBkXHViMjk0IFx1YWNiZFx1YzZiMCwgJHYkXHViYzg4IFx1YzgxNVx1YzgxMFx1YzVkMFx1YzExYyAkdyRcdWJjODggXHVjODE1XHVjODEwXHVjNzNjXHViODVjIFx1YWMwMFx1YjI5NCBcdWFjMDBcdWM5MTFcdWNlNThcdWFjMDAgXHVjNzg4XHViMjk0IFx1YjJlOFx1YmMyOVx1ZDVhNSBcdWFjMDRcdWMxMjBcdWM3NDQgXHVjZDk0XHVhYzAwXHVkNTVjXHViMmU0LjxcL2xpPlxyXG5cdDxsaT4kaSRcdWJjODhcdWM5ZjggXHVkNjVjXHVjNzkwIFx1YWRmOFx1Yjc5OFx1ZDUwNFx1Yjk3YyBcdWNjMGRcdWIyOTQgXHVhY2JkXHVjNmIwLCAkaSRcdWJjODhcdWM5ZjggXHVkNjVjXHVjNzkwIFx1YWRmOFx1Yjc5OFx1ZDUwNFx1Yzc1OCBcdWMyZGNcdWM3OTFcdWM4MTBcdWFjZmMgXHViMDVkXHVjODEwXHVjNzc0ICR0JFx1YmM4OCBcdWQ2NWNcdWM3OTAgXHVhZGY4XHViNzk4XHVkNTA0XHVjNzU4ICR2JFx1YmM4OCBcdWM4MTVcdWM4MTBcdWFjZmMgJHckXHViYzg4IFx1YzgxNVx1YzgxMFx1Yzc3NCBcdWI0MThcdWIzYzRcdWI4NWQgJGkkXHViYzg4XHVjOWY4IFx1ZDY1Y1x1Yzc5MCBcdWFkZjhcdWI3OThcdWQ1MDRcdWM3NTggXHVjODE1XHVjODEwXHVhY2ZjIFx1YWMwNFx1YzEyMFx1Yzc0NCBcdWNkOTRcdWFjMDBcdWQ1NWNcdWIyZTQuIFx1Yzc3NCBcdWFjZmNcdWM4MTVcdWM1ZDBcdWMxMWMgXHVjMGRkXHVhZTMwXHViMjk0ICRpJFx1YmM4OFx1YzlmOCBcdWQ2NWNcdWM3OTAgXHVhZGY4XHViNzk4XHVkNTA0XHVjNzU4IFx1YzgxNVx1YzgxMFx1YjRlNFx1YzVkMFx1YjI5NCBcdWJjODhcdWQ2MzhcdWFjMDAgXHViZDk5XHVjOWMwIFx1YzU0YVx1YjI5NFx1YjJlNC4gJCgxXFxsZSBpJmx0O3QpJDxcL2xpPlxyXG48XC91bD5cclxuXHJcbjxwPlx1YmFhOFx1YjRlMCBcdWQ2NWNcdWM3OTAgXHVhZGY4XHViNzk4XHVkNTA0XHVjNzU4IFx1YzJkY1x1Yzc5MVx1YzgxMFx1Yzc0MCAkMSRcdWJjODggXHVjODE1XHVjODEwXHVjNzc0XHVhY2UwLCBcdWIwNWRcdWM4MTBcdWM3NDAgJDIkXHViYzg4IFx1YzgxNVx1YzgxMFx1Yzc3NFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVjNzc0XHViNTRjLCAkVCRcdWJjODggXHVkNjVjXHVjNzkwIFx1YWRmOFx1Yjc5OFx1ZDUwNFx1Yzc1OCAkMSRcdWJjODggXHVjODE1XHVjODEwXHVjNWQwXHVjMTFjICQyJFx1YmM4OCBcdWM4MTVcdWM4MTBcdWM3M2NcdWI4NWMgXHVhYzAwXHViMjk0IFx1Y2Q1Y1x1YjJlOCBcdWFjYmRcdWI4NWNcdWI5N2MgXHVhZDZjXHVkNTc0IFx1YmNmNFx1Yzc5MC48XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlx1Y2NhYiBcdWJjODhcdWM5ZjggXHVjOTA0XHVjNWQwIFx1ZDY1Y1x1Yzc5MCBcdWFkZjhcdWI3OThcdWQ1MDRcdWM3NTggXHVhYzFjXHVjMjE4ICRUJFx1YWMwMCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuICQoMVxcbGUgVFxcbGUgMTAwXFwsIDAwMCkkPFwvcD5cclxuXHJcbjxwPlx1Yzc3NFx1ZDZjNCwgXHVhYzAxXHVhYzAxXHVjNzU4IFx1ZDY1Y1x1Yzc5MCBcdWFkZjhcdWI3OThcdWQ1MDRcdWM1ZDAgXHViMzAwXHVkNTVjIFx1YzgxNVx1YmNmNFx1YWMwMCBcdWIyZTRcdWM3NGNcdWFjZmMgXHVhYzE5XHVjNzc0IFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC48XC9wPlxyXG5cclxuPHVsPlxyXG5cdDxsaT5cdWQ2MDRcdWM3YWMgJHQkXHViYzg4IFx1ZDY1Y1x1Yzc5MCBcdWFkZjhcdWI3OThcdWQ1MDRcdWI5N2MgXHVjNzg1XHViODI1XHViYzFiXHViMjk0XHViMmU0XHVhY2UwIFx1ZDU3NFx1YmNmNFx1Yzc5MC48XC9saT5cclxuXHQ8bGk+XHVjY2FiIFx1YmM4OFx1YzlmOCBcdWM5MDRcdWM1ZDBcdWIyOTQgJHQkXHViYzg4IFx1ZDY1Y1x1Yzc5MCBcdWFkZjhcdWI3OThcdWQ1MDRcdWM3NTggPHN0cm9uZz5cdWJjODhcdWQ2MzhcdWFjMDAgXHViZDk5XHVjNzQwPFwvc3Ryb25nPiBcdWM4MTVcdWM4MTBcdWM3NTggXHVhYzFjXHVjMjE4ICROX3QkXHVjNjQwIFx1YWMwNFx1YzEyMFx1Yzc3NFx1YjA5OCBcdWIyZTRcdWI5NzggXHVkNjVjXHVjNzkwIFx1YWRmOFx1Yjc5OFx1ZDUwNFx1Yjk3YyBcdWNjMGRcdWM3NDAgXHVkNjlmXHVjMjE4ICRNX3QkXHVhYzAwIFx1YWNmNVx1YmMzMVx1YzczY1x1Yjg1YyBcdWFkNmNcdWJkODRcdWI0MThcdWM1YjQgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LiAkKDJcXGxlIE5fdFxcbGUgMjAwXFwsIDAwMDskICQwXFxsZSBNX3RcXGxlIDUwMFxcLCAwMDApJDxcL2xpPlxyXG5cdDxsaT5cdWM3NzRcdWQ2YzQgJE1fdCRcdWFjMWNcdWM3NTggXHVjOTA0XHVjNWQwIFx1YWM3OFx1Y2NkMCAkMyRcdWFjMWNcdWM3NTggXHVjODE1XHVjMjE4ICR2LHcseCRcdWFjMDAgXHVhY2Y1XHViYzMxXHVjNzNjXHViODVjIFx1YWQ2Y1x1YmQ4NFx1YjQxOFx1YzViNCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuICQoMVxcbGUgdix3XFxsZSBOX3Q7JCAkdlxcbmUgdzskICQtKHQtMSlcXGxlIHhcXGxlIDEwXjkpJFxyXG5cdDx1bD5cclxuXHRcdDxsaT4keFxcZ2UgMCRcdWM3NzRcdWI3N2NcdWJhNzQsIFx1Yzc3NFx1YjI5NCAkdiRcdWJjODggXHVjODE1XHVjODEwXHVjNWQwXHVjMTFjICR3JFx1YmM4OCBcdWM4MTVcdWM4MTBcdWM3M2NcdWI4NWMgXHVhYzAwXHViMjk0IFx1YWMwMFx1YzkxMVx1Y2U1OCAkeCRcdWM3NTggXHViMmU4XHViYzI5XHVkNWE1IFx1YWMwNFx1YzEyMFx1Yzc0NCBcdWNjMGRcdWM1YzhcdWM3NGNcdWM3NDQgXHVjNzU4XHViYmY4XHVkNTVjXHViMmU0LjxcL2xpPlxyXG5cdFx0PGxpPiR4Jmx0OzAkXHVjNzc0XHViNzdjXHViYTc0LCBcdWM3NzRcdWIyOTQgJHYkXHViYzg4IFx1YzgxNVx1YzgxMFx1Yzc0NCBcdWMyZGNcdWM3OTFcdWM4MTBcdWM1ZDAgXHViOWRlXHVjZDk0XHVhY2UwICR3JFx1Yjk3YyBcdWIwNWRcdWM4MTBcdWM1ZDAgXHViOWRlXHVjZGIwXHVjMTFjICR8eHwkXHViYzg4IFx1ZDY1Y1x1Yzc5MCBcdWFkZjhcdWI3OThcdWQ1MDRcdWI5N2MgXHVjYzBkXHVjNWM4XHVjNzRjXHVjNzQ0IFx1Yzc1OFx1YmJmOFx1ZDU1Y1x1YjJlNC48XC9saT5cclxuXHQ8XC91bD5cclxuXHQ8XC9saT5cclxuPFwvdWw+XHJcblxyXG48cD5cdWJjODhcdWQ2MzhcdWFjMDAgXHViZDk5XHVjNzQwIFx1YzgxNVx1YzgxMFx1Yzc1OCBcdWFjMWNcdWMyMThcdWM3NTggXHVkNTY5XHVjNzQwICQyMDBcXCwgMDAwJFx1Yzc0NCBcdWIxMThcdWM5YzAgXHVjNTRhXHVjNzNjXHViYTcwLCBcdWFjMDRcdWMxMjBcdWM3NzRcdWIwOTggXHViMmU0XHViOTc4IFx1ZDY1Y1x1Yzc5MCBcdWFkZjhcdWI3OThcdWQ1MDRcdWI5N2MgXHVjYzBkXHVjNzQwIFx1ZDY5Zlx1YzIxOFx1Yzc1OCBcdWQ1NjlcdWM3NDAgJDUwMFxcLCAwMDAkXHVjNzQ0IFx1YjExOFx1YzljMCBcdWM1NGFcdWIyOTRcdWIyZTQuPFwvcD5cclxuIiwib3V0cHV0IjoiPHA+XHVjY2FiIFx1YmM4OFx1YzlmOCBcdWM5MDRcdWM1ZDAgJFQkXHViYzg4IFx1ZDY1Y1x1Yzc5MCBcdWFkZjhcdWI3OThcdWQ1MDRcdWM1ZDBcdWMxMWMsICQxJFx1YmM4OCBcdWM4MTVcdWM4MTBcdWM1ZDBcdWMxMWMgJDIkXHViYzg4IFx1YzgxNVx1YzgxMFx1YzczY1x1Yjg1YyBcdWFjMDBcdWIyOTQgXHVjZDVjXHViMmU4IFx1YWNiZFx1Yjg1Y1x1Yjk3YyBcdWNkOWNcdWI4MjVcdWQ1NWNcdWIyZTQuIFx1YjljY1x1YzU3ZCAkMSRcdWJjODggXHVjODE1XHVjODEwXHVjNWQwXHVjMTFjICQyJFx1YmM4OCBcdWM4MTVcdWM4MTBcdWM3M2NcdWI4NWMgXHVhYzAwXHViMjk0IFx1YWNiZFx1Yjg1Y1x1YWMwMCBcdWM1YzZcdWFjNzBcdWIwOTgsIFx1Yzc3NCBcdWFjMTJcdWM3NzQgJDEwXnsxOH0kXHViY2Y0XHViMmU0IFx1ZDA2Y1x1YjJlNFx1YmE3NCAkLTEkXHVjNzQ0IFx1YjMwMFx1YzJlMCBcdWNkOWNcdWI4MjVcdWQ1NWNcdWIyZTQuPFwvcD5cclxuXHJcbiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjEiLCJodG1sX3RpdGxlIjoiMCIsInByb2JsZW1fbGFuZ190Y29kZSI6IktvcmVhbiIsInNhbXBsZV9leHBsYWluXzEiOiI8cD4kMSRcdWJjODggXHVkNjVjXHVjNzkwIFx1YWRmOFx1Yjc5OFx1ZDUwNFx1YjI5NCBcdWIyZTRcdWM3NGNcdWFjZmMgXHVhYzE5XHVjNzc0IFx1YzBkZFx1YWNiY1x1YjJlNC48XC9wPlxyXG5cclxuPHAgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGltZyBhbHQ9XCJcIiBzcmM9XCJodHRwczpcL1wvdS5hY21pY3BjLm5ldFwvYjBmZWU4ZGYtZGMyZC00YzFiLWI0ZDUtN2I4MjgzNGFhNWQzXC90ZW1wbGF0ZS1ncmFwaC1UMS5wbmdcIiBzdHlsZT1cImhlaWdodDogMTQwcHg7IHdpZHRoOiAyMDBweDtcIiBcLz48XC9wPlxyXG5cclxuPHAgc3R5bGU9XCJ0ZXh0LWFsaWduOiBqdXN0aWZ5O1wiPiQxJFx1YmM4OCBcdWQ2NWNcdWM3OTAgXHVhZGY4XHViNzk4XHVkNTA0XHVhYzAwIFx1YzBhY1x1YzZhOVx1YjQxYyAkMiRcdWJjODggXHVkNjVjXHVjNzkwIFx1YWRmOFx1Yjc5OFx1ZDUwNFx1YjI5NCBcdWIyZTRcdWM3NGNcdWFjZmMgXHVhYzE5XHVjNzc0IFx1YzBkZFx1YWNiY1x1YjJlNC48XC9wPlxyXG5cclxuPHAgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGltZyBhbHQ9XCJcIiBzcmM9XCJodHRwczpcL1wvdS5hY21pY3BjLm5ldFwvMzFlYTk0ZDEtODVjYS00MWY1LTlhNjItNzBhMTdhYzE4ZGZkXC90ZW1wbGF0ZS1ncmFwaC1UMi5wbmdcIiBzdHlsZT1cImhlaWdodDogMjY4cHg7IHdpZHRoOiA0MDBweDtcIiBcLz48XC9wPlxyXG5cclxuPHAgc3R5bGU9XCJ0ZXh0LWFsaWduOiBqdXN0aWZ5O1wiPiQyJFx1YmM4OCBcdWQ2NWNcdWM3OTAgXHVhZGY4XHViNzk4XHVkNTA0XHVjNWQwXHVjMTFjICQxJFx1YmM4OCBcdWM4MTVcdWM4MTBcdWM1ZDBcdWMxMWMgJDIkXHViYzg4IFx1YzgxNVx1YzgxMFx1YzczY1x1Yjg1YyBcdWFjMDBcdWIyOTQgXHVjZDVjXHViMmU4IFx1YWNiZFx1Yjg1Y1x1YjI5NCAkMTEkXHVjNzc0IFx1YjQxY1x1YjJlNC48XC9wPlxyXG4ifSx7InByb2JsZW1faWQiOiIzMDg4MSIsInByb2JsZW1fbGFuZyI6IjEiLCJ0aXRsZSI6IlR5cG9ncmFwaHMiLCJkZXNjcmlwdGlvbiI6IjxwPkhhdWliaSwgYSBzY2hvbGFyIG9mIHRoZSBHb3J5ZW8gZHluYXN0eSAoYSBwZXJpb2QgaW4gS29yZWFuIGhpc3RvcnkgZnJvbSA5MzYgQS5ELiB0byAxMzkyIEEuRC4pLCBoYXMgYmVlbiB1c2luZyBtZXRhbCBtb3ZlYWJsZSB0eXBlcyAoYSBtZXRhbGxpYyBkZXZpY2Ugd2hpY2ggd2FzIHVzZWQgdG8gcHJpbnQgbGV0dGVycyBhbmQgc3ltYm9scyBvbnRvIHBhcGVyIGluIHRoZSBlcmEpIHRvIHByaW50IGdyYXBocy4gU3VkZGVubHksIEhhdWliaSBiZWNhbWUgY3VyaW91cyBhYm91dCB0aGUgc2hvcnRlc3QgcGF0aCBpbiBncmFwaHMgcHJpbnRlZCB1c2luZyB0aGVzZSB0eXBlcywgd2hpY2ggaGUgbmFtZWQgPHN0cm9uZz50eXBvZ3JhcGhzPFwvc3Ryb25nPi48XC9wPlxyXG5cclxuPHA+SGF1aWJpIGN1cnJlbnRseSBoYXMgJFQkIHR5cG9ncmFwaHMsIGVhY2ggbnVtYmVyZWQgZnJvbSAkMSQgdG8gJFQkIGluIHRoZSBvcmRlciB0aGV5IHdlcmUgY3JlYXRlZC48XC9wPlxyXG5cclxuPHA+VGhlICR0JC10aCB0eXBvZ3JhcGggY29uc2lzdHMgb2YgJE5fdCQgbm9kZXMsIGFuZCBlYWNoIG5vZGUgaGFzIGEgbnVtYmVyIGJldHdlZW4gJDEkIGFuZCAkTl90JCBpbmNsdXNpdmUgYXNzaWduZWQgdG8gaXQuIE5vdywgdGhlICR0JC10aCB0eXBvZ3JhcGggaXMgY29tcGxldGVkIGJ5IHByaW50aW5nIGVkZ2VzIG9yIG90aGVyIGFscmVhZHktbWFkZSB0eXBvZ3JhcGhzIGJldHdlZW4gaXRzIG51bWJlcmVkIG5vZGVzIGFzIGZvbGxvd3MuPFwvcD5cclxuXHJcbjx1bD5cclxuXHQ8bGk+V2hlbiBwcmludGluZyBhbiBlZGdlLCBhIGRpcmVjdGVkIHdlaWdodGVkIGVkZ2UgZnJvbSBub2RlICR2JCB0byBub2RlICR3JCBpcyBhZGRlZC48XC9saT5cclxuXHQ8bGk+V2hlbiBwcmludGluZyB0aGUgJGkkLXRoIHR5cG9ncmFwaCwgdGhlIG5vZGVzIGFuZCB0aGUgZWRnZXMgb2YgdGhlICRpJC10aCB0eXBvZ3JhcGggYXJlIGFkZGVkIHN1Y2ggdGhhdCB0aGUgc3RhcnRpbmcgYW5kIGRlc3RpbmF0aW9uIG5vZGVzIG9mIHRoZSAkaSQtdGggdHlwb2dyYXBoIGFyZSBhbGlnbmVkIHRvIG5vZGVzICR2JCBhbmQgJHckIG9mIHRoZSAkdCQtdGggdHlwb2dyYXBoIHJlc3BlY3RpdmVseS4gTm9kZXMgb2YgdGhlICRpJC10aCB0eXBvZ3JhcGggd2hpY2ggd2VyZSBhZGRlZCBpbiB0aGlzIHByb2Nlc3MgYXJlIG5vdCBudW1iZXJlZC4gJCgxXFxsZSBpJmx0O3QpJDxcL2xpPlxyXG48XC91bD5cclxuXHJcbjxwPkV2ZXJ5IHR5cG9ncmFwaCBoYXMgbm9kZSAkMSQgYXMgdGhlIHN0YXJ0aW5nIG5vZGUgYW5kIG5vZGUgJDIkIGFzIHRoZSBkZXN0aW5hdGlvbiBub2RlLjxcL3A+XHJcblxyXG48cD5JbiB0aGUgJFQkLXRoIHR5cG9ncmFwaCwgZmluZCB0aGUgc2hvcnRlc3QgcGF0aCBmcm9tIG5vZGUgJDEkIHRvIG5vZGUgJDIkLjxcL3A+XHJcbiIsImlucHV0IjoiPHA+VGhlIGZpcnN0IGxpbmUgb2YgaW5wdXQgY29udGFpbnMgJFQkLCB0aGUgbnVtYmVyIG9mIHR5cG9ncmFwaHMuICQoMVxcbGUgVFxcbGUgMTAwXFwsIDAwMCkkPFwvcD5cclxuXHJcbjxwPlRoZW4sIGluZm9ybWF0aW9uIGFib3V0IGVhY2ggdHlwb2dyYXBoIGlzIGdpdmVuIGFzIGZvbGxvd3MuPFwvcD5cclxuXHJcbjx1bD5cclxuXHQ8bGk+TGV0IHVzIGFzc3VtZSB3ZSBhcmUgdGFraW5nIGlucHV0IGFib3V0IHRoZSAkdCQtdGggdHlwb2dyYXBoLjxcL2xpPlxyXG5cdDxsaT5UaGUgZmlyc3QgbGluZSBvZiBpbnB1dCBhYm91dCBlYWNoIHR5cG9ncmFwaCBjb250YWlucyB0d28gc3BhY2Utc2VwYXJhdGVkIGludGVnZXJzICROX3QkIGFuZCAkTV90JCwgZGVub3RpbmcgdGhlIG51bWJlciBvZiA8c3Ryb25nPm51bWJlcmVkPFwvc3Ryb25nPiBub2RlcyBhbmQgdGhlIG51bWJlciBvZiBlZGdlcyBvciB0eXBvZ3JhcGhzIHByaW50ZWQgaW4gdGhlICR0JC10aCB0eXBvZ3JhcGgsIHJlc3BlY3RpdmVseS4gJCgyXFxsZSBOX3RcXGxlIDIwMFxcLCAwMDA7JCAkMFxcbGUgTV90XFxsZSA1MDBcXCwgMDAwKSQ8XC9saT5cclxuXHQ8bGk+Rm9yIHRoZSBuZXh0ICRNX3QkIGxpbmVzLCBlYWNoIGxpbmUgb2YgaW5wdXQgY29udGFpbnMgJDMkIHNwYWNlLXNlcGFyYXRlZCBpbnRlZ2VycyAkdix3LHgkLiAkKDFcXGxlIHYsd1xcbGUgTl90OyQgJHZcXG5lIHc7JCAkLSh0LTEpXFxsZSB4XFxsZSAxMF45KSRcclxuXHQ8dWw+XHJcblx0XHQ8bGk+SWYgJHhcXGdlIDAkLCBpdCBtZWFucyBhIGRpcmVjdGVkIGVkZ2UgZnJvbSBub2RlICR2JCB0byBub2RlICR3JCB3aXRoIHdlaWdodCAkeCQgd2FzIHByaW50ZWQuPFwvbGk+XHJcblx0XHQ8bGk+SWYgJHgmbHQ7MCQsIGl0IG1lYW5zIHRoZSAkfHh8JC10aCB0eXBvZ3JhcGggd2FzIHByaW50ZWQgd2l0aCBub2RlICR2JCBhbGlnbmVkIHRvIHRoZSBzdGFydGluZyBub2RlIGFuZCBub2RlICR3JCBhbGlnbmVkIHRvIHRoZSBkZXN0aW5hdGlvbiBub2RlLjxcL2xpPlxyXG5cdDxcL3VsPlxyXG5cdDxcL2xpPlxyXG48XC91bD5cclxuXHJcbjxwPlRoZSBzdW0gb2YgdGhlIG51bWJlciBvZiBudW1iZXJlZCBub2RlcyBkb2VzIG5vdCBleGNlZWQgJDIwMFxcLCAwMDAkLCBhbmQgdGhlIHN1bSBvZiB0aGUgbnVtYmVyIG9mIHRpbWVzIGFuIGVkZ2Ugb3IgYW5vdGhlciB0eXBvZ3JhcGggd2FzIHByaW50ZWQgZG9lcyBub3QgZXhjZWVkICQ1MDBcXCwgMDAwJC48XC9wPlxyXG4iLCJvdXRwdXQiOiI8cD5UaGUgZmlyc3QgbGluZSBvZiBvdXRwdXQgc2hvdWxkIGNvbnRhaW4gdGhlIGxlbmd0aCBvZiB0aGUgc2hvcnRlc3QgcGF0aCBmcm9tIG5vZGUgJDEkIHRvIG5vZGUgJDIkIGluIHRoZSAkVCQtdGggdHlwb2dyYXBoLiBJZiB0aGVyZSBleGlzdHMgbm8gcGF0aCBmcm9tIG5vZGUgJDEkIHRvIG5vZGUgJDIkLCBvciBpZiB0aGUgbGVuZ3RoIG9mIHRoZSBzaG9ydGVzdCBwYXRoIGV4Y2VlZHMgJDEwXnsxOH0kLCBwcmludCAkLTEkIGluc3RlYWQuPFwvcD5cclxuXHJcbiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjAiLCJodG1sX3RpdGxlIjoiMCIsInByb2JsZW1fbGFuZ190Y29kZSI6IkVuZ2xpc2giLCJzYW1wbGVfZXhwbGFpbl8xIjoiPHA+VGhlICQxJC1zdCB0eXBvZ3JhcGggaXMgZ2l2ZW4gYmVsb3cuPFwvcD5cclxuXHJcbjxwIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxpbWcgYWx0PVwiXCIgc3JjPVwiaHR0cHM6XC9cL3UuYWNtaWNwYy5uZXRcL2IwZmVlOGRmLWRjMmQtNGMxYi1iNGQ1LTdiODI4MzRhYTVkM1wvdGVtcGxhdGUtZ3JhcGgtVDEucG5nXCIgc3R5bGU9XCJoZWlnaHQ6IDE0MHB4OyB3aWR0aDogMjAwcHg7XCIgXC8+PFwvcD5cclxuXHJcbjxwPlRoZSAkMiQtbmQgdHlwb2dyYXBoLCB3aGljaCB3YXMgbWFkZSB1c2luZyB0aGUgJDEkLXN0IHR5cG9ncmFwaCBpcyBnaXZlbiBiZWxvdy48XC9wPlxyXG5cclxuPHAgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGltZyBhbHQ9XCJcIiBzcmM9XCJodHRwczpcL1wvdS5hY21pY3BjLm5ldFwvMzFlYTk0ZDEtODVjYS00MWY1LTlhNjItNzBhMTdhYzE4ZGZkXC90ZW1wbGF0ZS1ncmFwaC1UMi5wbmdcIiBzdHlsZT1cImhlaWdodDogMjY4cHg7IHdpZHRoOiA0MDBweDtcIiBcLz48XC9wPlxyXG5cclxuPHA+VGhlIGxlbmd0aCBvZiB0aGUgc2hvcnRlc3QgcGF0aCBmcm9tIG5vZGUgJDEkIHRvIG5vZGUgJDIkIGluIHRoZSAkMiQtbmQgdHlwb2dyYXBoIGlzICQxMSQuPFwvcD5cclxuIn1d