UEsDBAoAAAAAAOiCdS9jL9oJ1AEAANQBAAAVAAAAUmVzb2x2ZUxvY2FsTmFtZS5qYXZhcHVibGljIGNsYXNzIFJlc29sdmVMb2NhbE5hbWUgew0KCWNsYXNzIElubmVyIHsNCgkJcHVibGljIFN0cmluZyB0b1N0cmluZygpIHsNCgkJCXJldHVybiAiSW5uZXIgY2xhc3MiOw0KCQl9DQoJfQ0KCXB1YmxpYyB2b2lkIGZvbygpew0KCQlPYmplY3QgdmFyMSA9IG5ldyBPYmplY3QoKTsNCgkJaW50IHZhcjIgPSAxOw0KCQl2YXIxLnRvU3RyaW5nKCk7DQoJCXZhcjIrKzsNCgkJaWYgKHZhcjIgPT0gMykgew0KCQkJT2JqZWN0IHZhcjMgPSB2YXIxOw0KCQkJdmFyMy5oYXNoQ29kZSgpOw0KCQl9IGVsc2Ugew0KCQkJT2JqZWN0IHZhcjMgPSBuZXcgT2JqZWN0KCk7DQoJCQl2YXIzLnRvU3RyaW5nKCk7DQoJCX0NCgkJZmluYWwgaW50IHZhcjQgPSAxOw0KCQluZXcgT2JqZWN0KCkgew0KCQkJcHVibGljIFN0cmluZyB0b1N0cmluZygpIHsNCgkJCQlyZXR1cm4gInZhcjQgPSAiICsgdmFyNDsNCgkJCX0NCgkJfTsNCgl9DQp9UEsBAgoACgAAAAAA6IJ1L2Mv2gnUAQAA1AEAABUAAAAAAAAAAAAAAAAAAAAAAFJlc29sdmVMb2NhbE5hbWUuamF2YVBLBQYAAAAAAQABAEMAAAAHAgAAAAA=