function spy_f2a1eed2ee3f0926ea8b5a63e0395b42(){return Base64.decode('CjxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAzcHg7IHJpZ2h0OjIwMHB4OyI+CiAgICA8L2Rpdj4KPGRpdiBjbGFzcz0iaGVhZGVyX3dyYXBwZXIgcm93Ij4KICAgIDxkaXYgaWQ9Im1oZWFkZXIiIGNsYXNzPSJ0d2VsdmUgY29sdW1ucyBtb2JpbGUtZm91ciI+CiAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZWlnaHQgY2VudGVyZWQgY29sdW1ucyBtb2JpbGUtdGhyZWUiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmluZSBjb2x1bW5zIG1vYmlsZS1mb3VyIGxvZ29kaXYgcm93IiBzdHlsZT0ibWF4LXdpZHRoOjQwMHB4OyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2V2ZW4gY29sdW1ucyBtb2JpbGUtZm91ciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii8iPjxpbWcgc3JjPSIvaW1hZ2VzL3Zsb2dvLnBuZyI+PC9hPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpdmUgY29sdW1ucyBtb2JpbGUtZm91ciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoNT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhY3RfZnJlZV9waG9uZSI+OC04MDAtNTU1LTI3LTE1PGJyLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo0LHQtdGB0L/Qu9Cw0YLQvdC+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oNT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRocmVlIGNvbHVtbnMgc2VhcmNoY29sdW1ucyBtb2JpbGUtZm91ciBlbmQiIHN0eWxlPSJwYWRkaW5nLXJpZ2h0OjBweDsgIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwaG9uZWluZm93cmFwIj4KICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0idHdvIG1vYmlsZS1vbmUgY29sdW1ucyIgc3R5bGU9InBhZGRpbmctbGVmdDowcHg7ICI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtaW5pY2FydCI+PGRpdiBjbGFzcz0ibWluaWNhcnRjb250ZW50Ij4KICAgIDxpbWcgc3JjPSIvaW1hZ2VzL2NhcnQucG5nIiBjbGFzcz0ibWluaWNhcnRpbWciPgoKICAgIDxkaXYgY2xhc3M9Im1pbmljYXJ0aW5mbyI+CgogICAgICAgIDxzcGFuIGNsYXNzPSJtY190ZXh0IGVtcHR5X2NhcnRfdGV4dCI+0JrQvtGA0LfQuNC90LAg0L/Rg9GB0YLQsCAgPC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KPC9kaXY+Cgo8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVpZ2h0IG9mZnNldC1ieS10d28gZW5kIGNvbHVtbnMgc2VhcmNoY29sdW1ucyBtb2JpbGUtZm91ciI+CgogICAgICAgICAgICAgICAgPHAgY2xhc3M9InF1aWNrbGlua3MiPiA8YSBocmVmPSIvb3JkZXIvY2FsYyI+0JTQvtGB0YLQsNCy0LrQsCDQuCDQvtC/0LvQsNGC0LA8L2E+ICZuYnNwOwogICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9zaXRlL3NpemVzIj7QotCw0LHQu9C40YbQsCDRgNCw0LfQvNC10YDQvtCyPC9hPiZuYnNwOwogICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9zaXRlL2dvb2RPcGluaW9uIj7QntGC0LfRi9Cy0YsgKDQ3OTMpPC9hPiAmbmJzcDsKICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIva29udGFrdHktcGFnZS0yLmh0bWwiPtCa0L7QvdGC0LDQutGC0Ys8L2E+Jm5ic3A7CiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iIyIgaWQ9ImZlZWRiYWNrIiBjbGFzcz0iYWpheCIgb25DbGljaz0ic2hvd0ZlZWRiYWNrQm94KCk7IHJldHVybiBmYWxzZTsiPtCe0LHRgNCw0YLQvdCw0Y8g0YHQstGP0LfRjDwvYT4mbmJzcDsKICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIjIiBpZD0iY2FsbG1hbmFnZXIiIGNsYXNzPSJhamF4IiBvbkNsaWNrPSJzaG93Q2FsbFJlcXVlc3RCb3goKTsgcmV0dXJuIGZhbHNlOyI+0JfQsNC60LDQt9Cw0YLRjAogICAgICAgICAgICAgICAgICAgICAgICDQt9Cy0L7QvdC+0Log0LzQtdC90LXQtNC20LXRgNCwPC9hPgogICAgICAgICAgICAgICAgPC9wPgoKICAgICAgICAgICAgICAgIAogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVpZ2h0IG9mZnNldC1ieS10d28gZW5kIGNvbHVtbnMgbW9iaWxlLWZvdXIgc2VhcmNoZmllbGRfd3JhcHBlciI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgY29sbGFwc2UiPgogICAgICAgICAgICAgICAgICAgIDxmb3JtIG1ldGhvZD0iZ2V0IiBhY3Rpb249Ii9zaXRlL3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im5pbmUgY29sdW1ucyBtb2JpbGUtdGhyZWUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9IkZpbHRlcltxdWVyeV0iIHZhbHVlPSIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRocmVlIGNvbHVtbnMgbW9iaWxlLW9uZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBzdHlsZT0ibWF4LXdpZHRoOjEwMHB4IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJwb3N0Zml4IHNpdGVfc2VhcmNoX2Igc2Vjb25kYXJ5IGJ1dHRvbiByYWRpdXMiIHZhbHVlPSLQndCw0LnRgtC4Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZm9ybT4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGlkZGVuX2NvbnRhY3RfZnJlZV9waG9uZSB0aHJlZSBjb2x1bW5zIGVuZCI+OC04MDAtNTU1LTI3LTE1IDxici8+ICjQt9Cy0L7QvdC+0Log0LHQtdGB0L/Qu9Cw0YLQtdC9KTwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgIDwvZGl2Pgo8L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+CiAgICA8ZGl2IGNsYXNzPSJ0d2VsdmUgY29sdW1ucyBtb2JpbGUtZm91ciI+CiAgICAgICAgPGRpdiBjbGFzcz0idG9wX21lbnVfbmF2Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmlyc3QtY2F0Ij4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii96aGVuc2theWEtb2RlemhkYS1jYXQtMS5odG1sIj7QlNC70Y8g0LbQtdC90YnQuNC9PC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9tdXpoc2theWEtb2RlemhkYS1jYXQtNi5odG1sIj7QlNC70Y8g0LzRg9C20YfQuNC9PC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9kZXRza2F5YS1vZGV6aGRhLWNhdC0xMS5odG1sIj7QlNC70Y8g0LTQtdGC0LXQuTwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIvemhlbnNrb2UtYmVsZS1jYXQtNDguaHRtbCI+0J/Qu9GP0LbQvdCw0Y8g0LzQvtC00LAg0Lgg0LHQtdC70YzQtTwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIvc3BvcnQtY2F0LTMwNi5odG1sIj7QodC/0L7RgNGCPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9zdW1raS1pLWNoZW1vZGFueS1jYXQtNDUuaHRtbCI+0KHRg9C80LrQuDwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIvY2hhc3ktY2F0LTE0NzkuaHRtbCI+0KfQsNGB0Ys8L2E+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJsYXN0LWNhdCI+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIvemhlbnNrYXlhLW9kZXpoZGEtY2F0LTQzNC5odG1sIj7QkdC+0LvRjNGI0LjQtSDRgNCw0LfQvNC10YDRizwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJyb3cgYnJhbmRzX3JvdyI+CiAgICA8ZGl2IGNsYXNzPSJ0d2VsdmUgY29sdW1ucyBtb2JpbGUtZm91ciI+CgogICAgICAgIDxkaXYgY2xhc3M9ImJyYW5kc19pbmRleCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0LWNhdCI+CiAgICAgICAgICAgICAgICDQkdGA0LXQvdC00Ysg0L/QviDQsNC70YTQsNCy0LjRgtGDOgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmlyc3QtY2F0Ij4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9icmFuZHMvaW5kZXguaHRtbCMxPGJyPjkiPjEtOTwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0LWNhdCI+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIvYnJhbmRzL2luZGV4Lmh0bWwjQSI+QTwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0LWNhdCI+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIvYnJhbmRzL2luZGV4Lmh0bWwjQiI+QjwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0LWNhdCI+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIvYnJhbmRzL2luZGV4Lmh0bWwjQyI+QzwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0LWNhdCI+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIvYnJhbmRzL2luZGV4Lmh0bWwjRCI+RDwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0LWNhdCI+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIvYnJhbmRzL2luZGV4Lmh0bWwjRSI+RTwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0LWNhdCI+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIvYnJhbmRzL2luZGV4Lmh0bWwjRiI+RjwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0LWNhdCI+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIvYnJhbmRzL2luZGV4Lmh0bWwjRyI+RzwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0LWNhdCI+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIvYnJhbmRzL2luZGV4Lmh0bWwjSCI+SDwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0LWNhdCI+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIvYnJhbmRzL2luZGV4Lmh0bWwjSSI+STwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0LWNhdCI+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIvYnJhbmRzL2luZGV4Lmh0bWwjSiI+SjwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0LWNhdCI+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIvYnJhbmRzL2luZGV4Lmh0bWwjSyI+SzwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0LWNhdCI+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIvYnJhbmRzL2luZGV4Lmh0bWwjTCI+TDwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0LWNhdCI+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIvYnJhbmRzL2luZGV4Lmh0bWwjTSI+TTwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0LWNhdCI+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIvYnJhbmRzL2luZGV4Lmh0bWwjTiI+TjwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0LWNhdCI+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIvYnJhbmRzL2luZGV4Lmh0bWwjTyI+TzwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0LWNhdCI+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIvYnJhbmRzL2luZGV4Lmh0bWwjUCI+UDwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0LWNhdCI+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIvYnJhbmRzL2luZGV4Lmh0bWwjUSI+UTwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0LWNhdCI+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIvYnJhbmRzL2luZGV4Lmh0bWwjUiI+UjwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0LWNhdCI+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIvYnJhbmRzL2luZGV4Lmh0bWwjUyI+UzwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0LWNhdCI+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIvYnJhbmRzL2luZGV4Lmh0bWwjVCI+VDwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0LWNhdCI+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIvYnJhbmRzL2luZGV4Lmh0bWwjVSI+VTwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0LWNhdCI+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIvYnJhbmRzL2luZGV4Lmh0bWwjViI+VjwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0LWNhdCI+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIvYnJhbmRzL2luZGV4Lmh0bWwjVyI+VzwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0LWNhdCI+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIvYnJhbmRzL2luZGV4Lmh0bWwjWCI+WDwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0LWNhdCI+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIvYnJhbmRzL2luZGV4Lmh0bWwjWSI+WTwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0LWNhdCI+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIvYnJhbmRzL2luZGV4Lmh0bWwjWiI+WjwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KPC9kaXY+CgoKPGEgaWQ9IlNjcm9sbFRvcF8xIiBjbGFzcz0idG8tdG9wIiBocmVmPSIjIj5eINCd0LDQstC10YDRhTwvYT4KCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgIGFqYXhCcmFuZEluZGV4KCk7CiAgICB2YXIgRmxvYXRIZWFkZXIgPSB7CiAgICAgICAgZGlzcGxheUZsb2F0SGVhZGVyOnRydWUsCiAgICAgICAgaGVhZGVyRWwgICAgICAgICAgOltdLAogICAgICAgIFNjcm9sbFRvcCAgICAgICAgIDpbXSwKICAgICAgICBiaWdoZWFkZXJFbGVtZW50cyA6W10sCiAgICAgICAgaW5pdCAgICAgICAgICAgICAgOmZ1bmN0aW9uICgpCiAgICAgICAgewogICAgICAgICAgICBGbG9hdEhlYWRlci5iaWdoZWFkZXJFbGVtZW50cyA9ICQoIi5waG9uZV9pbmZvLC5xdWlja2xpbmtzLC5zbG9nLC5jb250YWN0X3Bob25lLC5jb250YWN0X2VtbCIpOwogICAgICAgICAgICBGbG9hdEhlYWRlci5oZWFkZXJFbCA9ICQoJyNtaGVhZGVyJyk7CiAgICAgICAgICAgIEZsb2F0SGVhZGVyLlNjcm9sbFRvcCA9ICQoJyNTY3JvbGxUb3BfMScpOwogICAgICAgICAgICB3aW5kb3cub25zY3JvbGwgPSBmdW5jdGlvbiAoZSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgRmxvYXRIZWFkZXIucHJvY2VzcygpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHdpbmRvdy5vbnJlc2l6ZSA9IGZ1bmN0aW9uIChlKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBGbG9hdEhlYWRlci5wcm9jZXNzKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHByb2Nlc3MgICAgICAgICAgIDpmdW5jdGlvbiAoKQogICAgICAgIHsKICAgICAgICAgICAgaWYgKEZsb2F0SGVhZGVyLmRpc3BsYXlGbG9hdEhlYWRlciAmJiAod2luZG93LmlubmVyV2lkdGggPiA3OTkpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB2YXIgeU9mZiA9IChkb2N1bWVudC5hbGwgPyBkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCA6IHdpbmRvdy5wYWdlWU9mZnNldCk7CiAgICAgICAgICAgICAgICBpZiAoeU9mZiA+IDQwMCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBGbG9hdEhlYWRlci5zaG93KCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgRmxvYXRIZWFkZXIuaGlkZSgpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgRmxvYXRIZWFkZXIuaGlkZSgpOwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBzaG93ICAgICAgICAgICAgICA6ZnVuY3Rpb24gKCkKICAgICAgICB7CiAgICAgICAgICAgIEZsb2F0SGVhZGVyLmhlYWRlckVsLmFkZENsYXNzKCdtaW5paGVhZGVyJyk7CiAgICAgICAgICAgICQoIi5sb2dvZGl2LC5zZWFyY2hjb2x1bW5zICIpLmhpZGUoKTsKICAgICAgICAgICAgJCgiLm1pbmloZWFkZXJfbG9nbyIpLnNob3coKTsKCiAgICAgICAgICAgICQoIi5zZWFyY2hmaWVsZF93cmFwcGVyIikucmVtb3ZlQ2xhc3MoIm9mZnNldC1ieS10d28iKS5yZW1vdmVDbGFzcygiZWlnaHQiKS5hZGRDbGFzcygnc2l4Jyk7CiAgICAgICAgICAgIEZsb2F0SGVhZGVyLlNjcm9sbFRvcC5zaG93KCk7CiAgICAgICAgfSwKICAgICAgICBoaWRlICAgICAgICAgICAgICA6ZnVuY3Rpb24gKCkKICAgICAgICB7CiAgICAgICAgICAgIEZsb2F0SGVhZGVyLmhlYWRlckVsLnJlbW92ZUNsYXNzKCdtaW5paGVhZGVyJyk7CiAgICAgICAgICAgICQoIi5sb2dvZGl2LC5zZWFyY2hjb2x1bW5zICIpLnNob3coKTsKICAgICAgICAgICAgJCgiLm1pbmloZWFkZXJfbG9nbyIpLmhpZGUoKTsKICAgICAgICAgICAgJCgiLnNlYXJjaGZpZWxkX3dyYXBwZXIiKS5hZGRDbGFzcygib2Zmc2V0LWJ5LXR3byIpLnJlbW92ZUNsYXNzKCJzaXgiKS5hZGRDbGFzcygnZWlnaHQnKTsKICAgICAgICAgICAgRmxvYXRIZWFkZXIuU2Nyb2xsVG9wLmhpZGUoKTsKICAgICAgICB9LAogICAgICAgIGRpc2FibGUgICAgICAgICAgIDpmdW5jdGlvbiAoKQogICAgICAgIHsKICAgICAgICAgICAgRmxvYXRIZWFkZXIuZGlzcGxheUZsb2F0SGVhZGVyID0gZmFsc2U7CiAgICAgICAgfQogICAgfQogICAgRmxvYXRIZWFkZXIuaW5pdCgpOwo8L3NjcmlwdD4K');}