JwUZVjSBvpRSQyr9AAAGkAAAAAAAAAAAJ81IWgUCBgBib290IHNjcmlwdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABogAAAAAc2V0ZW52IHN0ZG91dCBzZXJpYWwsdmdhCmVjaG8gImNoZWNrIFUtQm9vdCIgOwpzZXRlbnYgb2Zmc2V0IDB4NDAwCmlmICR7ZnN9bG9hZCAke2R0eXBlfSAke2Rpc2t9OjEgMTIwMDAwMDAgdS1ib290LmlteCB8fCAke2ZzfWxvYWQgJHtkdHlwZX0gJHtkaXNrfToxIDEyMDAwMDAwIHUtYm9vdC5ub3BhZGRpbmcgOyB0aGVuCiAgICAgIGVjaG8gInJlYWQgJGZpbGVzaXplIGJ5dGVzIGZyb20gU0QgY2FyZCIgOwogICAgICBpZiBzZiBwcm9iZSB8fCBzZiBwcm9iZSB8fCBcCgkgc2YgcHJvYmUgMSAyNzAwMDAwMCB8fCBzZiBwcm9iZSAxIDI3MDAwMDAwIDsgdGhlbgoJICAgZWNobyAicHJvYmVkIFNQSSBST00iIDsKICAgICAgICAgICBpZiBzZiByZWFkIDB4MTI0MDAwMDAgJG9mZnNldCAkZmlsZXNpemUgOyB0aGVuCiAgICAgICAgICAgICAgIGlmIGNtcC5iIDB4MTIwMDAwMDAgMHgxMjQwMDAwMCAkZmlsZXNpemUgOyB0aGVuCiAgICAgICAgICAgICAgICAgICBlY2hvICItLS0tLS0tIFUtQm9vdCB2ZXJzaW9ucyBtYXRjaCIgOwogICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICBlY2hvICJOZWVkIFUtQm9vdCB1cGdyYWRlIiA7CiAgICAgICAgICAgICAgICAgICBlY2hvICJQcm9ncmFtIGluIDUgc2Vjb25kcyIgOwogICAgICAgICAgICAgICAgICAgZm9yIG4gaW4gNSA0IDMgMiAxIDsgZG8KICAgICAgICAgICAgICAgICAgICAgICAgZWNobyAkbiA7CiAgICAgICAgICAgICAgICAgICAgICAgIHNsZWVwIDEgOwogICAgICAgICAgICAgICAgICAgZG9uZQoJCSAgIGVjaG8gImVyYXNpbmciIDsKICAgICAgICAgICAgICAgICAgIHNmIGVyYXNlIDAgMHg1MDAwMCA7CgkJICAgIyB0d28gc3RlcHMgdG8gcHJldmVudCBicmlja2luZwoJCSAgIGVjaG8gInByb2dyYW1taW5nIiA7CiAgICAgICAgICAgICAgICAgICBzZiB3cml0ZSAweDEyMDAwMDAwICRvZmZzZXQgJGZpbGVzaXplIDsKCQkgICBlY2hvICJ2ZXJpZnlpbmciIDsKICAgICAgICAgICAgICAgICAgIGlmIHNmIHJlYWQgMHgxMjQwMDAwMCAkb2Zmc2V0ICRmaWxlc2l6ZSA7IHRoZW4KICAgICAgICAgICAgICAgICAgICAgICBpZiBjbXAuYiAweDEyMDAwMDAwIDB4MTI0MDAwMDAgJGZpbGVzaXplIDsgdGhlbgogICAgICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSBlY2hvICItLS0tIFUtQm9vdCB1cGdyYWRlZC4gcmVzZXQiIDsgZG8KCQkJCXNsZWVwIDEyMAoJCQkgICBkb25lCiAgICAgICAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICBlY2hvICJSZWFkIHZlcmlmaWNhdGlvbiBlcnJvciIgOwogICAgICAgICAgICAgICAgICAgICAgIGZpCiAgICAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIGVjaG8gIkVycm9yIHJlLXJlYWRpbmcgRUVQUk9NIiA7CiAgICAgICAgICAgICAgICAgICBmaQogICAgICAgICAgICAgICBmaQogICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgZWNobyAiRXJyb3IgcmVhZGluZyBib290IGxvYWRlciBmcm9tIEVFUFJPTSIgOwogICAgICAgICAgIGZpCiAgICAgIGVsc2UKICAgICAgICAgICBlY2hvICJFcnJvciBpbml0aWFsaXppbmcgRUVQUk9NIiA7CiAgICAgIGZpIDsKZWxzZQogICAgIGVjaG8gIk5vIFUtQm9vdCBpbWFnZSBmb3VuZCBvbiBTRCBjYXJkIiA7CmZpCg==