IyBUaGlzIHNldCBvZiB0ZXN0cyBjaGVjayB0aGUgREZBIG1hdGNoaW5nIGZ1bmN0aW9uYWxpdHkgb2YgcGNyZTJfZGZhX21hdGNoKCksCiMgZXhjbHVkaW5nIFVURiBhbmQgVW5pY29kZSBwcm9wZXJ0eSBzdXBwb3J0LiBBbGwgbWF0Y2hlcyBhcmUgZG9uZSB1c2luZyBERkEsCiMgZm9yY2VkIGJ5IHNldHRpbmcgYSBkZWZhdWx0IHN1YmplY3QgbW9kaWZpZXIgYXQgdGhlIHN0YXJ0LgogICAgCiNmb3JiaWRfdXRmCiNzdWJqZWN0IGRmYQojbmV3bGluZV9kZWZhdWx0IGxmIGFueWNybGYgYW55CiAgICAgCi9hYmMvCiAgICBhYmMKICAgIAovYWIqYy8KICAgIGFiYwogICAgYWJiYmJjCiAgICBhYwogICAgCi9hYitjLwogICAgYWJjCiAgICBhYmJiYmJiYwpcPSBFeHBlY3Qgbm8gbWF0Y2ggCiAgICBhYwogICAgYWIKICAgIAovYSovbm9fYXV0b19wb3NzZXNzCiAgICBhCiAgICBhYWFhYWFhYWFhYWFhYWFhYQogICAgYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhXD1vdmVjdG9yPTEwIAogICAgYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhXD1kZmFfc2hvcnRlc3QKICAgIAovKGF8YWJjZHxhZnJpY2FuKS8KICAgIGEKICAgIGFiY2QKICAgIGFmcmljYW4KICAgIAovXmFiYy8KICAgIGFiY2RlZgpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIHh5emFiYwogICAgeHl6XG5hYmMgICAgCiAgICAKL15hYmMvbQogICAgYWJjZGVmCiAgICB4eXpcbmFiYyAgICAKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICB4eXphYmMKICAgIAovXEFhYmMvCiAgICBhYmNkZWYKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICB4eXphYmMKICAgIHh5elxuYWJjICAgIAogICAgCi9cQWFiYy9tCiAgICBhYmNkZWYKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICB4eXphYmMKICAgIHh5elxuYWJjICAgIAogICAgCi9cR2FiYy8KICAgIGFiY2RlZgogICAgeHl6YWJjXD1vZmZzZXQ9MwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIHh5emFiYyAgICAKICAgIHh5emFiY1w9b2Zmc2V0PTIKICAgIAoveFxkeVxEei8KICAgIHg5eXp6CiAgICB4MHkregpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIHh5egogICAgeHh5MHogICAgIAogICAgCi94XHN5XFN6LwogICAgeCB5enoKICAgIHggeSt6Clw9IEV4cGVjdCBubyBtYXRjaAogICAgeHl6CiAgICB4eHl5egogICAgCi94XHd5XFd6LwogICAgeHh5K3oKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICB4eHkwegogICAgeCt5K3ogICAgICAgICAKICAgIAoveC55LwogICAgeCt5CiAgICB4LXkKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICB4XG55CiAgICAKL3gueS9zCiAgICB4K3kKICAgIHgteQogICAgeFxueQoKLyhhLmIoP3MpYy5kfHgueSlwLnEvCiAgICBhK2JjK2RwK3EKICAgIGErYmNcbmRwK3EKICAgIHhcbnlwK3EgClw9IEV4cGVjdCBubyBtYXRjaCAKICAgIGFcbmJjXG5kcCtxCiAgICBhK2JjXG5kcFxucQogICAgeFxueXBcbnEgCgovYVxkXHovCiAgICBiYTAKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBiYTBcbgogICAgYmEwXG5jZCAgIAoKL2FcZFx6L20KICAgIGJhMApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGJhMFxuCiAgICBiYTBcbmNkICAgCgovYVxkXFovCiAgICBiYTAKICAgIGJhMFxuClw9IEV4cGVjdCBubyBtYXRjaAogICAgYmEwXG5jZCAgIAoKL2FcZFxaL20KICAgIGJhMAogICAgYmEwXG4KXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBiYTBcbmNkICAgCgovYVxkJC8KICAgIGJhMAogICAgYmEwXG4KXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBiYTBcbmNkICAgCgovYVxkJC9tCiAgICBiYTAKICAgIGJhMFxuCiAgICBiYTBcbmNkICAgCgovYWJjL2kKICAgIGFiYwogICAgYUJjCiAgICBBQkMKICAgIAovW15hXS8KICAgIGFiY2QKICAgIAovYWI/XHcvCiAgICBhYnoKICAgIGFiYnoKICAgIGF6eiAgCgoveHswLDN9eXovCiAgICBheXpxCiAgICBheHl6cQogICAgYXh4eXoKICAgIGF4eHh5enEKICAgIGF4eHh4eXpxClw9IEV4cGVjdCBubyBtYXRjaAogICAgYXgKICAgIGF4eCAgICAgCiAgICAgIAoveHszfXl6LwogICAgYXh4eHl6cQogICAgYXh4eHh5enEKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBheAogICAgYXh4ICAgICAKICAgIGF5enEKICAgIGF4eXpxCiAgICBheHh5egogICAgICAKL3h7MiwzfXl6LwogICAgYXh4eXoKICAgIGF4eHh5enEKICAgIGF4eHh4eXpxClw9IEV4cGVjdCBubyBtYXRjaAogICAgYXgKICAgIGF4eCAgICAgCiAgICBheXpxCiAgICBheHl6cQogICAgICAKL1teYV0rL25vX2F1dG9fcG9zc2VzcwogICAgYmFjCiAgICBiY2RlZmF4Clw9IEV4cGVjdCBubyBtYXRjaAogICAgYWFhYWEgICAKCi9bXmFdKi9ub19hdXRvX3Bvc3Nlc3MKICAgIGJhYwogICAgYmNkZWZheAogICAgYWFhYWEgICAKICAgIAovW15hXXszLDV9L25vX2F1dG9fcG9zc2VzcwogICAgeHl6CiAgICBhd3h5emEKICAgIGFiY2RlZmEKICAgIGFiY2RlZmdoaWprClw9IEV4cGVjdCBubyBtYXRjaAogICAgYXh5YQogICAgYXhhCiAgICBhYWFhYSAgICAgICAgIAoKL1xkKi8KICAgIDEyMzRiNTY3CiAgICB4eXoKICAgIAovXEQqLwogICAgYTEyMzRiNTY3CiAgICB4eXoKICAgICAKL1xkKy8KICAgIGFiMTIzNGM1NgpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIHh5egogICAgCi9cRCsvCiAgICBhYjEyM2M1NgpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIDc4OQogICAgCi9cZD9BLwogICAgMDQ1QUJDCiAgICBBQkMKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBYWVoKICAgIAovXEQ/QS8KICAgIEFCQwogICAgQkFDCiAgICA5QUJDICAgICAgICAgICAgIAoKL2ErLwogICAgYWFhYQoKL14uKnh5ei8KICAgIHh5egogICAgZ2dnZ2dnZ2d4eXoKICAgIAovXi4reHl6LwogICAgYWJjZHh5egogICAgYXh5egpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIHh5egogICAgCi9eLj94eXovCiAgICB4eXoKICAgIGN4eXogICAgICAgCgovXlxkezIsM31YLwogICAgMTJYCiAgICAxMjNYClw9IEV4cGVjdCBubyBtYXRjaAogICAgWAogICAgMVgKICAgIDEyMzRYICAgICAKCi9eW2FiY2RdXGQvCiAgICBhNDUKICAgIGI5MwogICAgYzk5egogICAgZDA0Clw9IEV4cGVjdCBubyBtYXRjaAogICAgZTQ1CiAgICBhYmNkICAgICAgCiAgICBhYmNkMTIzNAogICAgMTIzNCAgCgovXlthYmNkXSpcZC8KICAgIGE0NQogICAgYjkzCiAgICBjOTl6CiAgICBkMDQKICAgIGFiY2QxMjM0CiAgICAxMjM0ICAKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBlNDUKICAgIGFiY2QgICAgICAKCi9eW2FiY2RdK1xkLwogICAgYTQ1CiAgICBiOTMKICAgIGM5OXoKICAgIGQwNAogICAgYWJjZDEyMzQKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICAxMjM0ICAKICAgIGU0NQogICAgYWJjZCAgICAgIAoKL15hK1gvCiAgICBhWAogICAgYWFYIAoKL15bYWJjZF0/XGQvCiAgICBhNDUKICAgIGI5MwogICAgYzk5egogICAgZDA0CiAgICAxMjM0ICAKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYmNkMTIzNAogICAgZTQ1CgovXlthYmNkXXsyLDN9XGQvCiAgICBhYjQ1CiAgICBiY2Q5MwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIDEyMzQgCiAgICBhMzYgCiAgICBhYmNkMTIzNAogICAgZWU0NQoKL14oYWJjKSpcZC8KICAgIGFiYzQ1CiAgICBhYmNhYmNhYmM0NQogICAgNDJ4eXogCgovXihhYmMpK1xkLwogICAgYWJjNDUKICAgIGFiY2FiY2FiYzQ1Clw9IEV4cGVjdCBubyBtYXRjaAogICAgNDJ4eXogCgovXihhYmMpP1xkLwogICAgYWJjNDUKICAgIDQyeHl6IApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFiY2FiY2FiYzQ1CgovXihhYmMpezIsM31cZC8KICAgIGFiY2FiYzQ1CiAgICBhYmNhYmNhYmM0NQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFiY2FiY2FiY2FiYzQ1CiAgICBhYmM0NQogICAgNDJ4eXogCgovMShhYmN8eHl6KTIoPzEpMy8KICAgIDFhYmMyYWJjMzQ1NgogICAgMWFiYzJ4eXozNDU2IAoKL14oYSpcd3xhYik9KGEqXHd8YWIpLwogICAgYWI9YWIKCi9eKGEqXHd8YWIpPSg/MSkvCiAgICBhYj1hYgoKL14oW14oKV18XCgoPzEpKlwpKSokLwogICAgYWJjCiAgICBhKGIpYwogICAgYShiKGMpKWQgIApcPSBFeHBlY3Qgbm8gbWF0Y2gpCiAgICBhKGIoYylkICAKCi9ePmFiYz4oW14oKV18XCgoPzEpKlwpKSo8eHl6PCQvCiAgICA+YWJjPjEyMzx4eXo8CiAgICA+YWJjPjEoMikzPHh5ejwKICAgID5hYmM+KDEoMikzKTx4eXo8CgovXig/PmEqKVxkLwogICAgYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWE5ODc2Clw9IEV4cGVjdCBubyBtYXRjaCAKICAgIGFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhCgovPCAoPzogKD8oUikgXGQrKyAgfCBbXjw+XSorKSB8ICg/UikpICogPi94CiAgICA8PgogICAgPGFiY2Q+CiAgICA8YWJjIDwxMjM+IGhpaj4KICAgIDxhYmMgPGRlZj4gaGlqPgogICAgPGFiYzw+ZGVmPiAKICAgIDxhYmM8PiAgICAgIApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIDxhYmMKCi9eKD8oPz1hYmMpXHd7M306fFxkXGQpJC8KICAgIGFiYzogICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgMTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIApcPSBFeHBlY3Qgbm8gbWF0Y2ggICAgICAgICAgICAgICAgICAgICAKICAgIDEyMyAgICAgICAgICAgICAgICAgICAgICAgCiAgICB4eXogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKL14oPyg/IWFiYylcZFxkfFx3ezN9OikkLwogICAgYWJjOiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgMTIgICAgICAgICAKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICAxMjMKICAgIHh5eiAgICAKCi9eKD89YWJjKVx3ezV9OiQvCiAgICBhYmNkZTogICAgICAgICAgICAgICAgICAgICAgICAgIApcPSBFeHBlY3Qgbm8gbWF0Y2ggICAgICAgICAgICAgICAgICAgICAKICAgIGFiYy4uIAogICAgMTIzICAgICAgICAgICAgICAgICAgICAgICAKICAgIHZ3eHl6ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCi9eKD8hYWJjKVxkXGQkLwogICAgMTIgICAgICAgICAKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYmNkZToKICAgIGFiYy4uICAKICAgIDEyMwogICAgdnd4eXogICAgCgovKD88PWFiY3x4eSkxMjMvCiAgICBhYmMxMjM0NQogICAgd3h5MTIzegpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIDEyM2FiYwoKLyg/PCFhYmN8eHkpMTIzLwogICAgMTIzYWJjCiAgICBtbm8xMjM0NTYgClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWJjMTIzNDUKICAgIHd4eTEyM3oKCi9hYmMoP0MxKXh5ei8KICAgIGFiY3h5egogICAgMTIzYWJjeHl6OTk5IAoKLyhhYnxjZCl7Myw0fS9hdXRvX2NhbGxvdXQKICBhYmFiYWIKICBhYmNkYWJjZAogIGFiY2RjZGNkY2RjZCAgCgovXmFiYy8KICAgIGFiY2RlZgpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFiY2RlZlw9bm90Ym9sCgovXihhKnx4eXopLwogICAgYmNkCiAgICBhYWFiY2QKICAgIHh5egogICAgeHl6XD1ub3RlbXB0eQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGJjZFw9bm90ZW1wdHkKICAgIAoveHl6JC8KICAgIHh5egogICAgeHl6XG4KXD0gRXhwZWN0IG5vIG1hdGNoCiAgICB4eXpcPW5vdGVvbAogICAgeHl6XG5cPW5vdGVvbAogICAgCi94eXokL20KICAgIHh5egogICAgeHl6XG4gCiAgICBhYmN4eXpcbnBxciAKICAgIGFiY3h5elxucHFyXD1ub3Rlb2wKICAgIHh5elxuXD1ub3Rlb2wKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICB4eXpcPW5vdGVvbAoKL1xHYWJjLwogICAgYWJjZGVmCiAgICBkZWZhYmN4eXpcPW9mZnNldD0zClw9IEV4cGVjdCBubyBtYXRjaCAKICAgIGRlZmFiY3h5egoKL15hYmNkZWYvCiAgICBhYlw9cHMKICAgIGFiY2RlXD1wcwogICAgYWJjZGVmXD1wcwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFieFw9cHMKCi9eYXsyLDR9XGQrei8KICAgIGFcPXBzCiAgICBhYVw9cHMKICAgIGFhMlw9cHMKICAgIGFhYVw9cHMKICAgIGFhYTIzXD1wcwogICAgYWFhYTEyMzQ1XD1wcwogICAgYWEwelw9cHMKICAgIGFhYWE0NDQ0NDQ0NDQ0NDQ0elw9cHMKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhelw9cHMKICAgIGFhYWFhXD1wcwogICAgYTU2XD1wcwoKL15hYmNkZWYvCiAgIGFiY1w9cHMKICAgZGVmXD1kZmFfcmVzdGFydAogICAKLyg/PD1mb28pYmFyLwogICBmb29iXD1wcyxvZmZzZXQ9MixhbGx1c2VkdGV4dAogICBmb29iYXIuLi5cPXBzLGRmYV9yZXN0YXJ0LG9mZnNldD00CiAgIGZvb2Jhclw9b2Zmc2V0PTIKXD0gRXhwZWN0IG5vIG1hdGNoCiAgIHh5emZvXD1wcwogICBvYmFyXD1kZmFfcmVzdGFydAoKLyhhYiooY2R8ZWYpKStYLwogICAgbGtqaGxramhsa2pobGtqaGFiYmJiYmJjZGFlZmFiYmJiYmJiZWZhXD1wcyxub3Rib2wsbm90ZW9sCiAgICBjZGFiYmJiYmJiYlw9cHMsbm90Ym9sLGRmYV9yZXN0YXJ0LG5vdGVvbAogICAgZWZhYmJiYmJiYmJiYmJiYmJiYlw9cHMsbm90Ym9sLGRmYV9yZXN0YXJ0LG5vdGVvbAogICAgYmJiYmJiYmJiYmJiY2RYeWFzZGZhZGZcPXBzLG5vdGJvbCxkZmFfcmVzdGFydCxub3Rlb2wKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhZGZhZGFkYWtsaGxrYWxrYWpobGtqYWhkZmFzZGZhc2RmbGFkc2Zqa2pcPXBzLG5vdGVvbAoKL3RoZSBxdWljayBicm93biBmb3gvCiAgICB0aGUgcXVpY2sgYnJvd24gZm94CiAgICBXaGF0IGRvIHlvdSBrbm93IGFib3V0IHRoZSBxdWljayBicm93biBmb3g/Clw9IEV4cGVjdCBubyBtYXRjaAogICAgVGhlIHF1aWNrIGJyb3duIEZPWAogICAgV2hhdCBkbyB5b3Uga25vdyBhYm91dCBUSEUgUVVJQ0sgQlJPV04gRk9YPwoKL1RoZSBxdWljayBicm93biBmb3gvaQogICAgdGhlIHF1aWNrIGJyb3duIGZveAogICAgVGhlIHF1aWNrIGJyb3duIEZPWAogICAgV2hhdCBkbyB5b3Uga25vdyBhYm91dCB0aGUgcXVpY2sgYnJvd24gZm94PwogICAgV2hhdCBkbyB5b3Uga25vdyBhYm91dCBUSEUgUVVJQ0sgQlJPV04gRk9YPwoKL2FiY2RcdFxuXHJcZlxhXGVcMDcxXHgzYlwkXFxcP2NheHl6LwogICAgYWJjZFx0XG5cclxmXGFcZTk7XCRcXD9jYXh5egoKL2EqYWJjP3h5eitwcXJ7M31hYnsyLH14eXs0LDV9cHF7MCw2fUFCezAsfXp6LwogICAgYWJ4eXpwcXJycmFiYnh5eXl5cHFBenoKICAgIGFieHl6cHFycnJhYmJ4eXl5eXBxQXp6CiAgICBhYWJ4eXpwcXJycmFiYnh5eXl5cHFBenoKICAgIGFhYWJ4eXpwcXJycmFiYnh5eXl5cHFBenoKICAgIGFhYWFieHl6cHFycnJhYmJ4eXl5eXBxQXp6CiAgICBhYmN4eXpwcXJycmFiYnh5eXl5cHFBenoKICAgIGFhYmN4eXpwcXJycmFiYnh5eXl5cHFBenoKICAgIGFhYWJjeHl6cHFycnJhYmJ4eXl5eXBBenoKICAgIGFhYWJjeHl6cHFycnJhYmJ4eXl5eXBxQXp6CiAgICBhYWFiY3h5enBxcnJyYWJieHl5eXlwcXFBenoKICAgIGFhYWJjeHl6cHFycnJhYmJ4eXl5eXBxcXFBenoKICAgIGFhYWJjeHl6cHFycnJhYmJ4eXl5eXBxcXFxQXp6CiAgICBhYWFiY3h5enBxcnJyYWJieHl5eXlwcXFxcXFBenoKICAgIGFhYWJjeHl6cHFycnJhYmJ4eXl5eXBxcXFxcXFBenoKICAgIGFhYWFiY3h5enBxcnJyYWJieHl5eXlwcUF6egogICAgYWJ4eXp6cHFycnJhYmJ4eXl5eXBxQXp6CiAgICBhYWJ4eXp6enBxcnJyYWJieHl5eXlwcUF6egogICAgYWFhYnh5enp6enBxcnJyYWJieHl5eXlwcUF6egogICAgYWFhYWJ4eXp6enpwcXJycmFiYnh5eXl5cHFBenoKICAgIGFiY3h5enpwcXJycmFiYnh5eXl5cHFBenoKICAgIGFhYmN4eXp6enBxcnJyYWJieHl5eXlwcUF6egogICAgYWFhYmN4eXp6enpwcXJycmFiYnh5eXl5cHFBenoKICAgIGFhYWFiY3h5enp6enBxcnJyYWJieHl5eXlwcUF6egogICAgYWFhYWJjeHl6enp6cHFycnJhYmJieHl5eXlwcUF6egogICAgYWFhYWJjeHl6enp6cHFycnJhYmJieHl5eXl5cHFBenoKICAgIGFhYWJjeHl6cHFycnJhYmJ4eXl5eXBBQnp6CiAgICBhYWFiY3h5enBxcnJyYWJieHl5eXlwQUJCenoKICAgID4+PmFhYWJ4eXpwcXJycmFiYnh5eXl5cHFBenoKICAgID5hYWFhYnh5enBxcnJyYWJieHl5eXlwcUF6egogICAgPj4+PmFiY3h5enBxcnJyYWJieHl5eXlwcUF6egpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFieHl6cHFycmFiYnh5eXl5cHFBenoKICAgIGFieHl6cHFycnJyYWJieHl5eXlwcUF6egogICAgYWJ4eXpwcXJycmFieHl5eXlwcUF6egogICAgYWFhYWJjeHl6enp6cHFycnJhYmJieHl5eXl5eXBxQXp6CiAgICBhYWFhYmN4eXp6enpwcXJycmFiYmJ4eXl5cHFBenoKICAgIGFhYWJjeHl6cHFycnJhYmJ4eXl5eXBxcXFxcXFxQXp6CgovXihhYmMpezEsMn16ei8KICAgIGFiY3p6CiAgICBhYmNhYmN6egpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIHp6CiAgICBhYmNhYmNhYmN6egogICAgPj5hYmN6egoKL14oYis/fGEpezEsMn0/Yy8KICAgIGJjCiAgICBiYmMKICAgIGJiYmMKICAgIGJhYwogICAgYmJhYwogICAgYWFjCiAgICBhYmJiYmJiYmJiYmJjCiAgICBiYmJiYmJiYmJiYmFjClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWFhYwogICAgYWJiYmJiYmJiYmJiYWMKCi9eKGIrfGEpezEsMn1jLwogICAgYmMKICAgIGJiYwogICAgYmJiYwogICAgYmFjCiAgICBiYmFjCiAgICBhYWMKICAgIGFiYmJiYmJiYmJiYmMKICAgIGJiYmJiYmJiYmJiYWMKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYWFjCiAgICBhYmJiYmJiYmJiYmJhYwoKL14oYit8YSl7MSwyfT9iYy8KICAgIGJiYwoKL14oYip8YmEpezEsMn0/YmMvCiAgICBiYWJjCiAgICBiYmFiYwogICAgYmFiYWJjClw9IEV4cGVjdCBubyBtYXRjaAogICAgYmFiYWJiYwogICAgYmFiYWJhYmMKCi9eKGJhfGIqKXsxLDJ9P2JjLwogICAgYmFiYwogICAgYmJhYmMKICAgIGJhYmFiYwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGJhYmFiYmMKICAgIGJhYmFiYWJjCgovXlxjYVxjQVxjW1xje1xjOi8KICAgIFx4MDFceDAxXGU7egoKL15bYWJcXWNkZV0vCiAgICBhdGhpbmcKICAgIGJ0aGluZwogICAgXXRoaW5nCiAgICBjdGhpbmcKICAgIGR0aGluZwogICAgZXRoaW5nClw9IEV4cGVjdCBubyBtYXRjaAogICAgZnRoaW5nCiAgICBbdGhpbmcKICAgIFxcdGhpbmcKCi9eW11jZGVdLwogICAgXXRoaW5nCiAgICBjdGhpbmcKICAgIGR0aGluZwogICAgZXRoaW5nClw9IEV4cGVjdCBubyBtYXRjaAogICAgYXRoaW5nCiAgICBmdGhpbmcKCi9eW15hYlxdY2RlXS8KICAgIGZ0aGluZwogICAgW3RoaW5nCiAgICBcXHRoaW5nClw9IEV4cGVjdCBubyBtYXRjaAogICAgYXRoaW5nCiAgICBidGhpbmcKICAgIF10aGluZwogICAgY3RoaW5nCiAgICBkdGhpbmcKICAgIGV0aGluZwoKL15bXl1jZGVdLwogICAgYXRoaW5nCiAgICBmdGhpbmcKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBddGhpbmcKICAgIGN0aGluZwogICAgZHRoaW5nCiAgICBldGhpbmcKCi9eXIEvCiAgICCBCgovXv8vCiAgICD/CgovXlswLTldKyQvCiAgICAwCiAgICAxCiAgICAyCiAgICAzCiAgICA0CiAgICA1CiAgICA2CiAgICA3CiAgICA4CiAgICA5CiAgICAxMAogICAgMTAwClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWJjCgovXi4qbnRlci8KICAgIGVudGVyCiAgICBpbnRlcgogICAgdXBvbnRlcgoKL154eHhbMC05XSskLwogICAgeHh4MAogICAgeHh4MTIzNApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIHh4eAoKL14uK1swLTldWzAtOV1bMC05XSQvCiAgICB4MTIzCiAgICB4eDEyMwogICAgMTIzNDU2CiAgICB4MTIzNApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIDEyMwoKL14uKz9bMC05XVswLTldWzAtOV0kLwogICAgeDEyMwogICAgeHgxMjMKICAgIDEyMzQ1NgogICAgeDEyMzQKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICAxMjMKCi9eKFteIV0rKSEoLispPWFwcXV4elwuaXhyXC56enpcLmFjXC51ayQvCiAgICBhYmMhcHFyPWFwcXV4ei5peHIuenp6LmFjLnVrClw9IEV4cGVjdCBubyBtYXRjaAogICAgIXBxcj1hcHF1eHouaXhyLnp6ei5hYy51awogICAgYWJjIT1hcHF1eHouaXhyLnp6ei5hYy51awogICAgYWJjIXBxcj1hcHF1eHo6aXhyLnp6ei5hYy51awogICAgYWJjIXBxcj1hcHF1eHouaXhyLnp6ei5hYy51a2sKCi86LwogICAgV2VsbCwgd2UgbmVlZCBhIGNvbG9uOiBzb21ld2hlcmUKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBObyBtYXRjaCB3aXRob3V0IGEgY29sb24KCi8oW1xkYS1mOl0rKSQvaQogICAgMGFiYwogICAgYWJjCiAgICBmZWQKICAgIEUKICAgIDo6CiAgICA1ZjAzOjEyQzA6OjkzMmUKICAgIGZlZCBkZWYKICAgIEFueSBvbGQgc3R1ZmYKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICAwenp6CiAgICBnenp6CiAgICBmZWRceDIwCiAgICBBbnkgb2xkIHJ1YmJpc2gKCi9eLipcLihcZHsxLDN9KVwuKFxkezEsM30pXC4oXGR7MSwzfSkkLwogICAgLjEuMi4zCiAgICBBLjEyLjEyMy4wClw9IEV4cGVjdCBubyBtYXRjaAogICAgLjEuMi4zMzMzCiAgICAxLjIuMwogICAgMTIzNC4yLjMKCi9eKFxkKylccytJTlxzK1NPQVxzKyhcUyspXHMrKFxTKylccypcKFxzKiQvCiAgICAxIElOIFNPQSBub24tc3AxIG5vbi1zcDIoCiAgICAxICAgIElOICAgIFNPQSAgICBub24tc3AxICAgIG5vbi1zcDIgICAoClw9IEV4cGVjdCBubyBtYXRjaAogICAgMUlOIFNPQSBub24tc3AxIG5vbi1zcDIoCgovXlthLXpBLVpcZF1bYS16QS1aXGRcLV0qKFwuW2EtekEtWlxkXVthLXpBLXpcZFwtXSopKlwuJC8KICAgIGEuCiAgICBaLgogICAgMi4KICAgIGFiLWMucHEtci4KICAgIHN4ay56enouYWMudWsuCiAgICB4LS55LS4KXD0gRXhwZWN0IG5vIG1hdGNoCiAgICAtYWJjLnBlcS4KCi9eXCpcLlthLXpdKFthLXpcLVxkXSpbYS16XGRdKyk/KFwuW2Etel0oW2EtelwtXGRdKlthLXpcZF0rKT8pKiQvCiAgICAqLmEKICAgICouYjAtYQogICAgKi5jMy1iLmMKICAgICouYy1hLmItYwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgICouMAogICAgKi5hLQogICAgKi5hLWIuYy0KICAgICouYy1hLjAtYwoKL14oPz1hYihkZSkpKGFiZCkoZSkvCiAgICBhYmRlCgovXig/IShhYilkZXx4KShhYmQpKGYpLwogICAgYWJkZgoKL14oPz0oYWIoY2QpKSkoYWIpLwogICAgYWJjZAoKL15bXGRhLWZdKFwuW1xkYS1mXSkqJC9pCiAgICBhLmIuYy5kCiAgICBBLkIuQy5ECiAgICBhLmIuYy4xLjIuMy5DCgovXlwiLipcIlxzKig7LiopPyQvCiAgICBcIjEyMzRcIgogICAgXCJhYmNkXCIgOwogICAgXCJcIiA7IHJodWJhcmIKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBcIjEyMzRcIiA6IHRoaW5ncwoKL14kLwogICAgXAoKLyAgIF4gICAgYSAgICg/IyBiZWdpbnMgd2l0aCBhKSAgYlxzYyAoPyMgdGhlbiBiIGMpICQgKD8jIHRoZW4gZW5kKS94CiAgICBhYiBjClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWJjCiAgICBhYiBjZGUKCi8oP3gpICAgXiAgICBhICAgKD8jIGJlZ2lucyB3aXRoIGEpICBiXHNjICg/IyB0aGVuIGIgYykgJCAoPyMgdGhlbiBlbmQpLwogICAgYWIgYwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFiYwogICAgYWIgY2RlCgovXiAgIGFcIGJbYyBdZCAgICAgICAkL3gKICAgIGEgYmNkCiAgICBhIGIgZApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFiY2QKICAgIGFiIGQKCi9eKGEoYihjKSkpKGQoZShmKSkpKGgoaShqKSkpKGsobChtKSkpJC8KICAgIGFiY2RlZmhpamtsbQoKL14oPzphKGIoYykpKSg/OmQoZShmKSkpKD86aChpKGopKSkoPzprKGwobSkpKSQvCiAgICBhYmNkZWZoaWprbG0KCi9eW1x3XVtcV11bXHNdW1xTXVtcZF1bXERdW1xiXVtcbl1bXGNdXVtcMDIyXS8KICAgIGErIFowK1x4MDhcblx4MWRceDEyCgovXlsuXiR8KCkqKz97LH1dKy8KICAgIC5eXCQoKispfHs/LD99CgovXmEqXHcvCiAgICB6CiAgICBhegogICAgYWFhegogICAgYQogICAgYWEKICAgIGFhYWEKICAgIGErCiAgICBhYSsKCi9eYSo/XHcvCiAgICB6CiAgICBhegogICAgYWFhegogICAgYQogICAgYWEKICAgIGFhYWEKICAgIGErCiAgICBhYSsKCi9eYStcdy8KICAgIGF6CiAgICBhYWF6CiAgICBhYQogICAgYWFhYQogICAgYWErCgovXmErP1x3LwogICAgYXoKICAgIGFhYXoKICAgIGFhCiAgICBhYWFhCiAgICBhYSsKCi9eXGR7OH1cd3syLH0vCiAgICAxMjM0NTY3ODkwCiAgICAxMjM0NTY3OGFiCiAgICAxMjM0NTY3OF9fClw9IEV4cGVjdCBubyBtYXRjaAogICAgMTIzNDU2NwoKL15bYWVpb3VcZF17NCw1fSQvCiAgICB1b2llCiAgICAxMjM0CiAgICAxMjM0NQogICAgYWFhYWEKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICAxMjM0NTYKCi9eW2FlaW91XGRdezQsNX0/LwogICAgdW9pZQogICAgMTIzNAogICAgMTIzNDUKICAgIGFhYWFhCiAgICAxMjM0NTYKCi9eRnJvbSArKFteIF0rKSArW2EtekEtWl1bYS16QS1aXVthLXpBLVpdICtbYS16QS1aXVthLXpBLVpdW2EtekEtWl0gK1swLTldP1swLTldICtbMC05XVswLTldOlswLTldWzAtOV0vCiAgICBGcm9tIGFiY2QgIE1vbiBTZXAgMDEgMTI6MzM6MDIgMTk5NwoKL15Gcm9tXHMrXFMrXHMrKFthLXpBLVpdezN9XHMrKXsyfVxkezEsMn1ccytcZFxkOlxkXGQvCiAgICBGcm9tIGFiY2QgIE1vbiBTZXAgMDEgMTI6MzM6MDIgMTk5NwogICAgRnJvbSBhYmNkICBNb24gU2VwICAxIDEyOjMzOjAyIDE5OTcKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBGcm9tIGFiY2QgIFNlcCAwMSAxMjozMzowMiAxOTk3CgovXjEyLjM0L3MKICAgIDEyXG4zNAogICAgMTJccjM0CgovXHcrKD89XHQpLwogICAgdGhlIHF1aWNrIGJyb3duXHQgZm94CgovZm9vKD8hYmFyKSguKikvCiAgICBmb29iYXIgaXMgZm9vbGlzaCBzZWU/CgovKD86KD8hZm9vKS4uLnxeLnswLDJ9KWJhciguKikvCiAgICBmb29iYXIgY3Jvd2JhciBldGMKICAgIGJhcnJlbAogICAgMmJhcnJlbAogICAgQSBiYXJyZWwKCi9eKFxEKikoPz1cZCkoPyExMjMpLwogICAgYWJjNDU2Clw9IEV4cGVjdCBubyBtYXRjaAogICAgYWJjMTIzCgovXjEyMzQoPyMgdGVzdCBuZXdsaW5lcwogIGluc2lkZSkvCiAgICAxMjM0CgovXjEyMzQgI2NvbW1lbnQgaW4gZXh0ZW5kZWQgcmUKICAveAogICAgMTIzNAoKLyNyaHViYXJiCiAgYWJjZC94CiAgICBhYmNkCgovXmFiY2Qjcmh1YmFyYi94CiAgICBhYmNkCgovKD8hXilhYmMvCiAgICB0aGUgYWJjClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWJjCgovKD89XilhYmMvCiAgICBhYmMKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICB0aGUgYWJjCgovXlthYl17MSwzfShhYip8Yikvbm9fYXV0b19wb3NzZXNzCiAgICBhYWJiYmJiCgovXlthYl17MSwzfT8oYWIqfGIpL25vX2F1dG9fcG9zc2VzcwogICAgYWFiYmJiYgoKL15bYWJdezEsM30/KGFiKj98Yikvbm9fYXV0b19wb3NzZXNzCiAgICBhYWJiYmJiCgovXlthYl17MSwzfShhYio/fGIpL25vX2F1dG9fcG9zc2VzcwogICAgYWFiYmJiYgoKLyAgKD86IFtcMDQwXHRdIHwgIFwoCig/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICB8ICBcKCAoPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgKSogXCkgICkqClwpICApKiAgICAgICAgICAgICAgICAgICAgICAgICAgIyBvcHRpb25hbCBsZWFkaW5nIGNvbW1lbnQKKD86ICAgICg/OgpbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSsgICAgIyBzb21lIG51bWJlciBvZiBhdG9tIGNoYXJhY3RlcnMuLi4KKD8hW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0pICMgLi5ub3QgZm9sbG93ZWQgYnkgc29tZXRoaW5nIHRoYXQgY291bGQgYmUgcGFydCBvZiBhbiBhdG9tCnwKIiAoPzogICAgICAgICAgICAgICAgICAgICAgIyBvcGVuaW5nIHF1b3RlLi4uClteXFxceDgwLVx4ZmZcblwwMTUiXSAgICAgICAgICAgICAgICAjICAgQW55dGhpbmcgZXhjZXB0IGJhY2tzbGFzaCBhbmQgcXVvdGUKfCAgICAgICAgICAgICAgICAgICAgICMgICAgb3IKXFwgW15ceDgwLVx4ZmZdICAgICAgICAgICAjICAgRXNjYXBlZCBzb21ldGhpbmcgKHNvbWV0aGluZyAhPSBDUikKKSogIiAgIyBjbG9zaW5nIHF1b3RlCikgICAgICAgICAgICAgICAgICAgICMgaW5pdGlhbCB3b3JkCig/OiAgKD86IFtcMDQwXHRdIHwgIFwoCig/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICB8ICBcKCAoPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgKSogXCkgICkqClwpICApKiAgXC4gICg/OiBbXDA0MFx0XSB8ICBcKAooPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgfCAgXCggKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gICkqIFwpICApKgpcKSAgKSogICAoPzoKW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0rICAgICMgc29tZSBudW1iZXIgb2YgYXRvbSBjaGFyYWN0ZXJzLi4uCig/IVteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKSAjIC4ubm90IGZvbGxvd2VkIGJ5IHNvbWV0aGluZyB0aGF0IGNvdWxkIGJlIHBhcnQgb2YgYW4gYXRvbQp8CiIgKD86ICAgICAgICAgICAgICAgICAgICAgICMgb3BlbmluZyBxdW90ZS4uLgpbXlxcXHg4MC1ceGZmXG5cMDE1Il0gICAgICAgICAgICAgICAgIyAgIEFueXRoaW5nIGV4Y2VwdCBiYWNrc2xhc2ggYW5kIHF1b3RlCnwgICAgICAgICAgICAgICAgICAgICAjICAgIG9yClxcIFteXHg4MC1ceGZmXSAgICAgICAgICAgIyAgIEVzY2FwZWQgc29tZXRoaW5nIChzb21ldGhpbmcgIT0gQ1IpCikqICIgICMgY2xvc2luZyBxdW90ZQopICApKiAjIGZ1cnRoZXIgb2theSwgaWYgbGVkIGJ5IGEgcGVyaW9kCig/OiBbXDA0MFx0XSB8ICBcKAooPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgfCAgXCggKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gICkqIFwpICApKgpcKSAgKSogIEAgICg/OiBbXDA0MFx0XSB8ICBcKAooPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgfCAgXCggKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gICkqIFwpICApKgpcKSAgKSogICAgKD86ClteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKyAgICAjIHNvbWUgbnVtYmVyIG9mIGF0b20gY2hhcmFjdGVycy4uLgooPyFbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSkgIyAuLm5vdCBmb2xsb3dlZCBieSBzb21ldGhpbmcgdGhhdCBjb3VsZCBiZSBwYXJ0IG9mIGFuIGF0b20KfCAgIFxbICAgICAgICAgICAgICAgICAgICAgICAgICMgWwooPzogW15cXFx4ODAtXHhmZlxuXDAxNVxbXF1dIHwgIFxcIFteXHg4MC1ceGZmXSAgKSogICAgIyAgICBzdHVmZgpcXSAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgIF0KKSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgaW5pdGlhbCBzdWJkb21haW4KKD86ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMKKD86IFtcMDQwXHRdIHwgIFwoCig/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICB8ICBcKCAoPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgKSogXCkgICkqClwpICApKiAgXC4gICAgICAgICAgICAgICAgICAgICAgICAjIGlmIGxlZCBieSBhIHBlcmlvZC4uLgooPzogW1wwNDBcdF0gfCAgXCgKKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gIHwgIFwoICg/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICApKiBcKSAgKSoKXCkgICkqICAgKD86ClteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKyAgICAjIHNvbWUgbnVtYmVyIG9mIGF0b20gY2hhcmFjdGVycy4uLgooPyFbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSkgIyAuLm5vdCBmb2xsb3dlZCBieSBzb21ldGhpbmcgdGhhdCBjb3VsZCBiZSBwYXJ0IG9mIGFuIGF0b20KfCAgIFxbICAgICAgICAgICAgICAgICAgICAgICAgICMgWwooPzogW15cXFx4ODAtXHhmZlxuXDAxNVxbXF1dIHwgIFxcIFteXHg4MC1ceGZmXSAgKSogICAgIyAgICBzdHVmZgpcXSAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgIF0KKSAgICAgICAgICAgICAgICAgICAgICMgICAuLi5mdXJ0aGVyIG9rYXkKKSoKIyBhZGRyZXNzCnwgICAgICAgICAgICAgICAgICAgICAjICBvcgooPzoKW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0rICAgICMgc29tZSBudW1iZXIgb2YgYXRvbSBjaGFyYWN0ZXJzLi4uCig/IVteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKSAjIC4ubm90IGZvbGxvd2VkIGJ5IHNvbWV0aGluZyB0aGF0IGNvdWxkIGJlIHBhcnQgb2YgYW4gYXRvbQp8CiIgKD86ICAgICAgICAgICAgICAgICAgICAgICMgb3BlbmluZyBxdW90ZS4uLgpbXlxcXHg4MC1ceGZmXG5cMDE1Il0gICAgICAgICAgICAgICAgIyAgIEFueXRoaW5nIGV4Y2VwdCBiYWNrc2xhc2ggYW5kIHF1b3RlCnwgICAgICAgICAgICAgICAgICAgICAjICAgIG9yClxcIFteXHg4MC1ceGZmXSAgICAgICAgICAgIyAgIEVzY2FwZWQgc29tZXRoaW5nIChzb21ldGhpbmcgIT0gQ1IpCikqICIgICMgY2xvc2luZyBxdW90ZQopICAgICAgICAgICAgICMgb25lIHdvcmQsIG9wdGlvbmFsbHkgZm9sbG93ZWQgYnkuLi4uCig/OgpbXigpPD5ALDs6Ii5cXFxbXF1ceDgwLVx4ZmZcMDAwLVwwMTBcMDEyLVwwMzddICB8ICAjIGF0b20gYW5kIHNwYWNlIHBhcnRzLCBvci4uLgpcKAooPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgfCAgXCggKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gICkqIFwpICApKgpcKSAgICAgICB8ICAjIGNvbW1lbnRzLCBvci4uLgoKIiAoPzogICAgICAgICAgICAgICAgICAgICAgIyBvcGVuaW5nIHF1b3RlLi4uClteXFxceDgwLVx4ZmZcblwwMTUiXSAgICAgICAgICAgICAgICAjICAgQW55dGhpbmcgZXhjZXB0IGJhY2tzbGFzaCBhbmQgcXVvdGUKfCAgICAgICAgICAgICAgICAgICAgICMgICAgb3IKXFwgW15ceDgwLVx4ZmZdICAgICAgICAgICAjICAgRXNjYXBlZCBzb21ldGhpbmcgKHNvbWV0aGluZyAhPSBDUikKKSogIiAgIyBjbG9zaW5nIHF1b3RlCiMgcXVvdGVkIHN0cmluZ3MKKSoKPCAgKD86IFtcMDQwXHRdIHwgIFwoCig/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICB8ICBcKCAoPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgKSogXCkgICkqClwpICApKiAgICAgICAgICAgICAgICAgICAgICMgbGVhZGluZyA8Cig/OiAgQCAgKD86IFtcMDQwXHRdIHwgIFwoCig/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICB8ICBcKCAoPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgKSogXCkgICkqClwpICApKiAgICAoPzoKW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0rICAgICMgc29tZSBudW1iZXIgb2YgYXRvbSBjaGFyYWN0ZXJzLi4uCig/IVteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKSAjIC4ubm90IGZvbGxvd2VkIGJ5IHNvbWV0aGluZyB0aGF0IGNvdWxkIGJlIHBhcnQgb2YgYW4gYXRvbQp8ICAgXFsgICAgICAgICAgICAgICAgICAgICAgICAgIyBbCig/OiBbXlxcXHg4MC1ceGZmXG5cMDE1XFtcXV0gfCAgXFwgW15ceDgwLVx4ZmZdICApKiAgICAjICAgIHN0dWZmClxdICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgXQopICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBpbml0aWFsIHN1YmRvbWFpbgooPzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIwooPzogW1wwNDBcdF0gfCAgXCgKKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gIHwgIFwoICg/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICApKiBcKSAgKSoKXCkgICkqICBcLiAgICAgICAgICAgICAgICAgICAgICAgICMgaWYgbGVkIGJ5IGEgcGVyaW9kLi4uCig/OiBbXDA0MFx0XSB8ICBcKAooPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgfCAgXCggKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gICkqIFwpICApKgpcKSAgKSogICAoPzoKW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0rICAgICMgc29tZSBudW1iZXIgb2YgYXRvbSBjaGFyYWN0ZXJzLi4uCig/IVteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKSAjIC4ubm90IGZvbGxvd2VkIGJ5IHNvbWV0aGluZyB0aGF0IGNvdWxkIGJlIHBhcnQgb2YgYW4gYXRvbQp8ICAgXFsgICAgICAgICAgICAgICAgICAgICAgICAgIyBbCig/OiBbXlxcXHg4MC1ceGZmXG5cMDE1XFtcXV0gfCAgXFwgW15ceDgwLVx4ZmZdICApKiAgICAjICAgIHN0dWZmClxdICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgXQopICAgICAgICAgICAgICAgICAgICAgIyAgIC4uLmZ1cnRoZXIgb2theQopKgoKKD86ICAoPzogW1wwNDBcdF0gfCAgXCgKKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gIHwgIFwoICg/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICApKiBcKSAgKSoKXCkgICkqICAsICAoPzogW1wwNDBcdF0gfCAgXCgKKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gIHwgIFwoICg/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICApKiBcKSAgKSoKXCkgICkqICBAICAoPzogW1wwNDBcdF0gfCAgXCgKKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gIHwgIFwoICg/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICApKiBcKSAgKSoKXCkgICkqICAgICg/OgpbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSsgICAgIyBzb21lIG51bWJlciBvZiBhdG9tIGNoYXJhY3RlcnMuLi4KKD8hW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0pICMgLi5ub3QgZm9sbG93ZWQgYnkgc29tZXRoaW5nIHRoYXQgY291bGQgYmUgcGFydCBvZiBhbiBhdG9tCnwgICBcWyAgICAgICAgICAgICAgICAgICAgICAgICAjIFsKKD86IFteXFxceDgwLVx4ZmZcblwwMTVcW1xdXSB8ICBcXCBbXlx4ODAtXHhmZl0gICkqICAgICMgICAgc3R1ZmYKXF0gICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICBdCikgICAgICAgICAgICAgICAgICAgICAgICAgICAjIGluaXRpYWwgc3ViZG9tYWluCig/OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjCig/OiBbXDA0MFx0XSB8ICBcKAooPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgfCAgXCggKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gICkqIFwpICApKgpcKSAgKSogIFwuICAgICAgICAgICAgICAgICAgICAgICAgIyBpZiBsZWQgYnkgYSBwZXJpb2QuLi4KKD86IFtcMDQwXHRdIHwgIFwoCig/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICB8ICBcKCAoPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgKSogXCkgICkqClwpICApKiAgICg/OgpbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSsgICAgIyBzb21lIG51bWJlciBvZiBhdG9tIGNoYXJhY3RlcnMuLi4KKD8hW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0pICMgLi5ub3QgZm9sbG93ZWQgYnkgc29tZXRoaW5nIHRoYXQgY291bGQgYmUgcGFydCBvZiBhbiBhdG9tCnwgICBcWyAgICAgICAgICAgICAgICAgICAgICAgICAjIFsKKD86IFteXFxceDgwLVx4ZmZcblwwMTVcW1xdXSB8ICBcXCBbXlx4ODAtXHhmZl0gICkqICAgICMgICAgc3R1ZmYKXF0gICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICBdCikgICAgICAgICAgICAgICAgICAgICAjICAgLi4uZnVydGhlciBva2F5CikqCikqICMgZnVydGhlciBva2F5LCBpZiBsZWQgYnkgY29tbWEKOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBjbG9zaW5nIGNvbG9uCig/OiBbXDA0MFx0XSB8ICBcKAooPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgfCAgXCggKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gICkqIFwpICApKgpcKSAgKSogICk/ICMgICAgICAgb3B0aW9uYWwgcm91dGUKKD86ClteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKyAgICAjIHNvbWUgbnVtYmVyIG9mIGF0b20gY2hhcmFjdGVycy4uLgooPyFbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSkgIyAuLm5vdCBmb2xsb3dlZCBieSBzb21ldGhpbmcgdGhhdCBjb3VsZCBiZSBwYXJ0IG9mIGFuIGF0b20KfAoiICg/OiAgICAgICAgICAgICAgICAgICAgICAjIG9wZW5pbmcgcXVvdGUuLi4KW15cXFx4ODAtXHhmZlxuXDAxNSJdICAgICAgICAgICAgICAgICMgICBBbnl0aGluZyBleGNlcHQgYmFja3NsYXNoIGFuZCBxdW90ZQp8ICAgICAgICAgICAgICAgICAgICAgIyAgICBvcgpcXCBbXlx4ODAtXHhmZl0gICAgICAgICAgICMgICBFc2NhcGVkIHNvbWV0aGluZyAoc29tZXRoaW5nICE9IENSKQopKiAiICAjIGNsb3NpbmcgcXVvdGUKKSAgICAgICAgICAgICAgICAgICAgIyBpbml0aWFsIHdvcmQKKD86ICAoPzogW1wwNDBcdF0gfCAgXCgKKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gIHwgIFwoICg/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICApKiBcKSAgKSoKXCkgICkqICBcLiAgKD86IFtcMDQwXHRdIHwgIFwoCig/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICB8ICBcKCAoPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgKSogXCkgICkqClwpICApKiAgICg/OgpbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSsgICAgIyBzb21lIG51bWJlciBvZiBhdG9tIGNoYXJhY3RlcnMuLi4KKD8hW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0pICMgLi5ub3QgZm9sbG93ZWQgYnkgc29tZXRoaW5nIHRoYXQgY291bGQgYmUgcGFydCBvZiBhbiBhdG9tCnwKIiAoPzogICAgICAgICAgICAgICAgICAgICAgIyBvcGVuaW5nIHF1b3RlLi4uClteXFxceDgwLVx4ZmZcblwwMTUiXSAgICAgICAgICAgICAgICAjICAgQW55dGhpbmcgZXhjZXB0IGJhY2tzbGFzaCBhbmQgcXVvdGUKfCAgICAgICAgICAgICAgICAgICAgICMgICAgb3IKXFwgW15ceDgwLVx4ZmZdICAgICAgICAgICAjICAgRXNjYXBlZCBzb21ldGhpbmcgKHNvbWV0aGluZyAhPSBDUikKKSogIiAgIyBjbG9zaW5nIHF1b3RlCikgICkqICMgZnVydGhlciBva2F5LCBpZiBsZWQgYnkgYSBwZXJpb2QKKD86IFtcMDQwXHRdIHwgIFwoCig/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICB8ICBcKCAoPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgKSogXCkgICkqClwpICApKiAgQCAgKD86IFtcMDQwXHRdIHwgIFwoCig/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICB8ICBcKCAoPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgKSogXCkgICkqClwpICApKiAgICAoPzoKW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0rICAgICMgc29tZSBudW1iZXIgb2YgYXRvbSBjaGFyYWN0ZXJzLi4uCig/IVteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKSAjIC4ubm90IGZvbGxvd2VkIGJ5IHNvbWV0aGluZyB0aGF0IGNvdWxkIGJlIHBhcnQgb2YgYW4gYXRvbQp8ICAgXFsgICAgICAgICAgICAgICAgICAgICAgICAgIyBbCig/OiBbXlxcXHg4MC1ceGZmXG5cMDE1XFtcXV0gfCAgXFwgW15ceDgwLVx4ZmZdICApKiAgICAjICAgIHN0dWZmClxdICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgXQopICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBpbml0aWFsIHN1YmRvbWFpbgooPzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIwooPzogW1wwNDBcdF0gfCAgXCgKKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gIHwgIFwoICg/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICApKiBcKSAgKSoKXCkgICkqICBcLiAgICAgICAgICAgICAgICAgICAgICAgICMgaWYgbGVkIGJ5IGEgcGVyaW9kLi4uCig/OiBbXDA0MFx0XSB8ICBcKAooPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgfCAgXCggKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gICkqIFwpICApKgpcKSAgKSogICAoPzoKW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0rICAgICMgc29tZSBudW1iZXIgb2YgYXRvbSBjaGFyYWN0ZXJzLi4uCig/IVteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKSAjIC4ubm90IGZvbGxvd2VkIGJ5IHNvbWV0aGluZyB0aGF0IGNvdWxkIGJlIHBhcnQgb2YgYW4gYXRvbQp8ICAgXFsgICAgICAgICAgICAgICAgICAgICAgICAgIyBbCig/OiBbXlxcXHg4MC1ceGZmXG5cMDE1XFtcXV0gfCAgXFwgW15ceDgwLVx4ZmZdICApKiAgICAjICAgIHN0dWZmClxdICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgXQopICAgICAgICAgICAgICAgICAgICAgIyAgIC4uLmZ1cnRoZXIgb2theQopKgojICAgICAgIGFkZHJlc3Mgc3BlYwooPzogW1wwNDBcdF0gfCAgXCgKKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gIHwgIFwoICg/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICApKiBcKSAgKSoKXCkgICkqICA+ICMgICAgICAgICAgICAgICAgICB0cmFpbGluZyA+CiMgbmFtZSBhbmQgYWRkcmVzcwopICAoPzogW1wwNDBcdF0gfCAgXCgKKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gIHwgIFwoICg/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICApKiBcKSAgKSoKXCkgICkqICAgICAgICAgICAgICAgICAgICAgICAjIG9wdGlvbmFsIHRyYWlsaW5nIGNvbW1lbnQKL3gKICAgIEFsYW4gT3RoZXIgPHVzZXJcQGRvbS5haW4+CiAgICA8dXNlclxAZG9tLmFpbj4KICAgIHVzZXJcQGRvbS5haW4KICAgIFwiQS4gT3RoZXJcIiA8dXNlci4xMjM0XEBkb20uYWluPiAoYSBjb21tZW50KQogICAgQS4gT3RoZXIgPHVzZXIuMTIzNFxAZG9tLmFpbj4gKGEgY29tbWVudCkKICAgIFwiL3M9dXNlci9vdT1ob3N0L289cGxhY2UvcHJtZD11dS55eS9hZG1kPSAvYz1nYi9cIlxAeDQwMC1yZS5sYXkKICAgIEEgbWlzc2luZyBhbmdsZSA8dXNlclxAc29tZS53aGVyZQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIFRoZSBxdWljayBicm93biBmb3gKCi9bXDA0MFx0XSogICAgICAgICAgICAgICAgICAgICMgTmFiIHdoaXRlc3BhY2UuCig/OgpcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgKAooPzogIFxcIFteXHg4MC1ceGZmXSAgfApcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgXFwgW15ceDgwLVx4ZmZdICAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICkqICAgICAgICAjICAgICAoc3BlY2lhbCBub3JtYWwqKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICAgICAgICApCikgICAgIyAgICAgICAgIHNwZWNpYWwKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICBub3JtYWwqCikqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICApKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICApCltcMDQwXHRdKiApKiAgICAjIElmIGNvbW1lbnQgZm91bmQsIGFsbG93IG1vcmUgc3BhY2VzLgojIG9wdGlvbmFsIGxlYWRpbmcgY29tbWVudAooPzoKKD86ClteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKyAgICAjIHNvbWUgbnVtYmVyIG9mIGF0b20gY2hhcmFjdGVycy4uLgooPyFbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSkgIyAuLm5vdCBmb2xsb3dlZCBieSBzb21ldGhpbmcgdGhhdCBjb3VsZCBiZSBwYXJ0IG9mIGFuIGF0b20KIyBBdG9tCnwgICAgICAgICAgICAgICAgICAgICAgICMgIG9yCiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAiClteXFxceDgwLVx4ZmZcblwwMTUiXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICBub3JtYWwKKD86ICBcXCBbXlx4ODAtXHhmZl0gIFteXFxceDgwLVx4ZmZcblwwMTUiXSAqICkqICAgICAgICAjICAgKCBzcGVjaWFsIG5vcm1hbCogKSoKIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAiCiMgUXVvdGVkIHN0cmluZwopCltcMDQwXHRdKiAgICAgICAgICAgICAgICAgICAgIyBOYWIgd2hpdGVzcGFjZS4KKD86ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAoCig/OiAgXFwgW15ceDgwLVx4ZmZdICB8ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICBcXCBbXlx4ODAtXHhmZl0gICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogKSogICAgICAgICMgICAgIChzcGVjaWFsIG5vcm1hbCopKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgICAgICAgICkKKSAgICAjICAgICAgICAgc3BlY2lhbApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgIG5vcm1hbCoKKSogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICkqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICkKW1wwNDBcdF0qICkqICAgICMgSWYgY29tbWVudCBmb3VuZCwgYWxsb3cgbW9yZSBzcGFjZXMuCig/OgpcLgpbXDA0MFx0XSogICAgICAgICAgICAgICAgICAgICMgTmFiIHdoaXRlc3BhY2UuCig/OgpcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgKAooPzogIFxcIFteXHg4MC1ceGZmXSAgfApcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgXFwgW15ceDgwLVx4ZmZdICAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICkqICAgICAgICAjICAgICAoc3BlY2lhbCBub3JtYWwqKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICAgICAgICApCikgICAgIyAgICAgICAgIHNwZWNpYWwKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICBub3JtYWwqCikqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICApKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICApCltcMDQwXHRdKiApKiAgICAjIElmIGNvbW1lbnQgZm91bmQsIGFsbG93IG1vcmUgc3BhY2VzLgooPzoKW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0rICAgICMgc29tZSBudW1iZXIgb2YgYXRvbSBjaGFyYWN0ZXJzLi4uCig/IVteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKSAjIC4ubm90IGZvbGxvd2VkIGJ5IHNvbWV0aGluZyB0aGF0IGNvdWxkIGJlIHBhcnQgb2YgYW4gYXRvbQojIEF0b20KfCAgICAgICAgICAgICAgICAgICAgICAgIyAgb3IKIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICIKW15cXFx4ODAtXHhmZlxuXDAxNSJdICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgIG5vcm1hbAooPzogIFxcIFteXHg4MC1ceGZmXSAgW15cXFx4ODAtXHhmZlxuXDAxNSJdICogKSogICAgICAgICMgICAoIHNwZWNpYWwgbm9ybWFsKiApKgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICIKIyBRdW90ZWQgc3RyaW5nCikKW1wwNDBcdF0qICAgICAgICAgICAgICAgICAgICAjIE5hYiB3aGl0ZXNwYWNlLgooPzoKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICgKKD86ICBcXCBbXlx4ODAtXHhmZl0gIHwKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogIFxcIFteXHg4MC1ceGZmXSAgIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiApKiAgICAgICAgIyAgICAgKHNwZWNpYWwgbm9ybWFsKikqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICAgICAgICAgKQopICAgICMgICAgICAgICBzcGVjaWFsClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgbm9ybWFsKgopKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgKQpbXDA0MFx0XSogKSogICAgIyBJZiBjb21tZW50IGZvdW5kLCBhbGxvdyBtb3JlIHNwYWNlcy4KIyBhZGRpdGlvbmFsIHdvcmRzCikqCkAKW1wwNDBcdF0qICAgICAgICAgICAgICAgICAgICAjIE5hYiB3aGl0ZXNwYWNlLgooPzoKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICgKKD86ICBcXCBbXlx4ODAtXHhmZl0gIHwKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogIFxcIFteXHg4MC1ceGZmXSAgIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiApKiAgICAgICAgIyAgICAgKHNwZWNpYWwgbm9ybWFsKikqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICAgICAgICAgKQopICAgICMgICAgICAgICBzcGVjaWFsClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgbm9ybWFsKgopKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgKQpbXDA0MFx0XSogKSogICAgIyBJZiBjb21tZW50IGZvdW5kLCBhbGxvdyBtb3JlIHNwYWNlcy4KKD86ClteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKyAgICAjIHNvbWUgbnVtYmVyIG9mIGF0b20gY2hhcmFjdGVycy4uLgooPyFbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSkgIyAuLm5vdCBmb2xsb3dlZCBieSBzb21ldGhpbmcgdGhhdCBjb3VsZCBiZSBwYXJ0IG9mIGFuIGF0b20KfApcWyAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFsKKD86IFteXFxceDgwLVx4ZmZcblwwMTVcW1xdXSB8ICBcXCBbXlx4ODAtXHhmZl0gICkqICAgICAjICAgIHN0dWZmClxdICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgXQopCltcMDQwXHRdKiAgICAgICAgICAgICAgICAgICAgIyBOYWIgd2hpdGVzcGFjZS4KKD86ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAoCig/OiAgXFwgW15ceDgwLVx4ZmZdICB8ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICBcXCBbXlx4ODAtXHhmZl0gICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogKSogICAgICAgICMgICAgIChzcGVjaWFsIG5vcm1hbCopKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgICAgICAgICkKKSAgICAjICAgICAgICAgc3BlY2lhbApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgIG5vcm1hbCoKKSogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICkqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICkKW1wwNDBcdF0qICkqICAgICMgSWYgY29tbWVudCBmb3VuZCwgYWxsb3cgbW9yZSBzcGFjZXMuCiMgb3B0aW9uYWwgdHJhaWxpbmcgY29tbWVudHMKKD86ClwuCltcMDQwXHRdKiAgICAgICAgICAgICAgICAgICAgIyBOYWIgd2hpdGVzcGFjZS4KKD86ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAoCig/OiAgXFwgW15ceDgwLVx4ZmZdICB8ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICBcXCBbXlx4ODAtXHhmZl0gICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogKSogICAgICAgICMgICAgIChzcGVjaWFsIG5vcm1hbCopKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgICAgICAgICkKKSAgICAjICAgICAgICAgc3BlY2lhbApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgIG5vcm1hbCoKKSogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICkqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICkKW1wwNDBcdF0qICkqICAgICMgSWYgY29tbWVudCBmb3VuZCwgYWxsb3cgbW9yZSBzcGFjZXMuCig/OgpbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSsgICAgIyBzb21lIG51bWJlciBvZiBhdG9tIGNoYXJhY3RlcnMuLi4KKD8hW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0pICMgLi5ub3QgZm9sbG93ZWQgYnkgc29tZXRoaW5nIHRoYXQgY291bGQgYmUgcGFydCBvZiBhbiBhdG9tCnwKXFsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBbCig/OiBbXlxcXHg4MC1ceGZmXG5cMDE1XFtcXV0gfCAgXFwgW15ceDgwLVx4ZmZdICApKiAgICAgIyAgICBzdHVmZgpcXSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgIF0KKQpbXDA0MFx0XSogICAgICAgICAgICAgICAgICAgICMgTmFiIHdoaXRlc3BhY2UuCig/OgpcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgKAooPzogIFxcIFteXHg4MC1ceGZmXSAgfApcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgXFwgW15ceDgwLVx4ZmZdICAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICkqICAgICAgICAjICAgICAoc3BlY2lhbCBub3JtYWwqKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICAgICAgICApCikgICAgIyAgICAgICAgIHNwZWNpYWwKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICBub3JtYWwqCikqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICApKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICApCltcMDQwXHRdKiApKiAgICAjIElmIGNvbW1lbnQgZm91bmQsIGFsbG93IG1vcmUgc3BhY2VzLgojIG9wdGlvbmFsIHRyYWlsaW5nIGNvbW1lbnRzCikqCiMgYWRkcmVzcwp8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICBvcgooPzoKW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0rICAgICMgc29tZSBudW1iZXIgb2YgYXRvbSBjaGFyYWN0ZXJzLi4uCig/IVteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKSAjIC4ubm90IGZvbGxvd2VkIGJ5IHNvbWV0aGluZyB0aGF0IGNvdWxkIGJlIHBhcnQgb2YgYW4gYXRvbQojIEF0b20KfCAgICAgICAgICAgICAgICAgICAgICAgIyAgb3IKIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICIKW15cXFx4ODAtXHhmZlxuXDAxNSJdICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgIG5vcm1hbAooPzogIFxcIFteXHg4MC1ceGZmXSAgW15cXFx4ODAtXHhmZlxuXDAxNSJdICogKSogICAgICAgICMgICAoIHNwZWNpYWwgbm9ybWFsKiApKgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICIKIyBRdW90ZWQgc3RyaW5nCikKIyBsZWFkaW5nIHdvcmQKW14oKTw+QCw7OiIuXFxcW1xdXHg4MC1ceGZmXDAwMC1cMDEwXDAxMi1cMDM3XSAqICAgICAgICAgICAgICAgIyAibm9ybWFsIiBhdG9tcyBhbmQgb3Igc3BhY2VzCig/OgooPzoKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICgKKD86ICBcXCBbXlx4ODAtXHhmZl0gIHwKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogIFxcIFteXHg4MC1ceGZmXSAgIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiApKiAgICAgICAgIyAgICAgKHNwZWNpYWwgbm9ybWFsKikqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICAgICAgICAgKQopICAgICMgICAgICAgICBzcGVjaWFsClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgbm9ybWFsKgopKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgKQp8CiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAiClteXFxceDgwLVx4ZmZcblwwMTUiXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICBub3JtYWwKKD86ICBcXCBbXlx4ODAtXHhmZl0gIFteXFxceDgwLVx4ZmZcblwwMTUiXSAqICkqICAgICAgICAjICAgKCBzcGVjaWFsIG5vcm1hbCogKSoKIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAiCikgIyAic3BlY2lhbCIgY29tbWVudCBvciBxdW90ZWQgc3RyaW5nClteKCk8PkAsOzoiLlxcXFtcXVx4ODAtXHhmZlwwMDAtXDAxMFwwMTItXDAzN10gKiAgICAgICAgICAgICMgIG1vcmUgIm5vcm1hbCIKKSoKPApbXDA0MFx0XSogICAgICAgICAgICAgICAgICAgICMgTmFiIHdoaXRlc3BhY2UuCig/OgpcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgKAooPzogIFxcIFteXHg4MC1ceGZmXSAgfApcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgXFwgW15ceDgwLVx4ZmZdICAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICkqICAgICAgICAjICAgICAoc3BlY2lhbCBub3JtYWwqKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICAgICAgICApCikgICAgIyAgICAgICAgIHNwZWNpYWwKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICBub3JtYWwqCikqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICApKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICApCltcMDQwXHRdKiApKiAgICAjIElmIGNvbW1lbnQgZm91bmQsIGFsbG93IG1vcmUgc3BhY2VzLgojIDwKKD86CkAKW1wwNDBcdF0qICAgICAgICAgICAgICAgICAgICAjIE5hYiB3aGl0ZXNwYWNlLgooPzoKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICgKKD86ICBcXCBbXlx4ODAtXHhmZl0gIHwKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogIFxcIFteXHg4MC1ceGZmXSAgIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiApKiAgICAgICAgIyAgICAgKHNwZWNpYWwgbm9ybWFsKikqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICAgICAgICAgKQopICAgICMgICAgICAgICBzcGVjaWFsClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgbm9ybWFsKgopKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgKQpbXDA0MFx0XSogKSogICAgIyBJZiBjb21tZW50IGZvdW5kLCBhbGxvdyBtb3JlIHNwYWNlcy4KKD86ClteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKyAgICAjIHNvbWUgbnVtYmVyIG9mIGF0b20gY2hhcmFjdGVycy4uLgooPyFbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSkgIyAuLm5vdCBmb2xsb3dlZCBieSBzb21ldGhpbmcgdGhhdCBjb3VsZCBiZSBwYXJ0IG9mIGFuIGF0b20KfApcWyAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFsKKD86IFteXFxceDgwLVx4ZmZcblwwMTVcW1xdXSB8ICBcXCBbXlx4ODAtXHhmZl0gICkqICAgICAjICAgIHN0dWZmClxdICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgXQopCltcMDQwXHRdKiAgICAgICAgICAgICAgICAgICAgIyBOYWIgd2hpdGVzcGFjZS4KKD86ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAoCig/OiAgXFwgW15ceDgwLVx4ZmZdICB8ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICBcXCBbXlx4ODAtXHhmZl0gICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogKSogICAgICAgICMgICAgIChzcGVjaWFsIG5vcm1hbCopKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgICAgICAgICkKKSAgICAjICAgICAgICAgc3BlY2lhbApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgIG5vcm1hbCoKKSogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICkqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICkKW1wwNDBcdF0qICkqICAgICMgSWYgY29tbWVudCBmb3VuZCwgYWxsb3cgbW9yZSBzcGFjZXMuCiMgb3B0aW9uYWwgdHJhaWxpbmcgY29tbWVudHMKKD86ClwuCltcMDQwXHRdKiAgICAgICAgICAgICAgICAgICAgIyBOYWIgd2hpdGVzcGFjZS4KKD86ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAoCig/OiAgXFwgW15ceDgwLVx4ZmZdICB8ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICBcXCBbXlx4ODAtXHhmZl0gICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogKSogICAgICAgICMgICAgIChzcGVjaWFsIG5vcm1hbCopKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgICAgICAgICkKKSAgICAjICAgICAgICAgc3BlY2lhbApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgIG5vcm1hbCoKKSogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICkqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICkKW1wwNDBcdF0qICkqICAgICMgSWYgY29tbWVudCBmb3VuZCwgYWxsb3cgbW9yZSBzcGFjZXMuCig/OgpbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSsgICAgIyBzb21lIG51bWJlciBvZiBhdG9tIGNoYXJhY3RlcnMuLi4KKD8hW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0pICMgLi5ub3QgZm9sbG93ZWQgYnkgc29tZXRoaW5nIHRoYXQgY291bGQgYmUgcGFydCBvZiBhbiBhdG9tCnwKXFsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBbCig/OiBbXlxcXHg4MC1ceGZmXG5cMDE1XFtcXV0gfCAgXFwgW15ceDgwLVx4ZmZdICApKiAgICAgIyAgICBzdHVmZgpcXSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgIF0KKQpbXDA0MFx0XSogICAgICAgICAgICAgICAgICAgICMgTmFiIHdoaXRlc3BhY2UuCig/OgpcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgKAooPzogIFxcIFteXHg4MC1ceGZmXSAgfApcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgXFwgW15ceDgwLVx4ZmZdICAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICkqICAgICAgICAjICAgICAoc3BlY2lhbCBub3JtYWwqKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICAgICAgICApCikgICAgIyAgICAgICAgIHNwZWNpYWwKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICBub3JtYWwqCikqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICApKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICApCltcMDQwXHRdKiApKiAgICAjIElmIGNvbW1lbnQgZm91bmQsIGFsbG93IG1vcmUgc3BhY2VzLgojIG9wdGlvbmFsIHRyYWlsaW5nIGNvbW1lbnRzCikqCig/OiAsCltcMDQwXHRdKiAgICAgICAgICAgICAgICAgICAgIyBOYWIgd2hpdGVzcGFjZS4KKD86ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAoCig/OiAgXFwgW15ceDgwLVx4ZmZdICB8ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICBcXCBbXlx4ODAtXHhmZl0gICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogKSogICAgICAgICMgICAgIChzcGVjaWFsIG5vcm1hbCopKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgICAgICAgICkKKSAgICAjICAgICAgICAgc3BlY2lhbApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgIG5vcm1hbCoKKSogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICkqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICkKW1wwNDBcdF0qICkqICAgICMgSWYgY29tbWVudCBmb3VuZCwgYWxsb3cgbW9yZSBzcGFjZXMuCkAKW1wwNDBcdF0qICAgICAgICAgICAgICAgICAgICAjIE5hYiB3aGl0ZXNwYWNlLgooPzoKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICgKKD86ICBcXCBbXlx4ODAtXHhmZl0gIHwKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogIFxcIFteXHg4MC1ceGZmXSAgIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiApKiAgICAgICAgIyAgICAgKHNwZWNpYWwgbm9ybWFsKikqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICAgICAgICAgKQopICAgICMgICAgICAgICBzcGVjaWFsClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgbm9ybWFsKgopKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgKQpbXDA0MFx0XSogKSogICAgIyBJZiBjb21tZW50IGZvdW5kLCBhbGxvdyBtb3JlIHNwYWNlcy4KKD86ClteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKyAgICAjIHNvbWUgbnVtYmVyIG9mIGF0b20gY2hhcmFjdGVycy4uLgooPyFbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSkgIyAuLm5vdCBmb2xsb3dlZCBieSBzb21ldGhpbmcgdGhhdCBjb3VsZCBiZSBwYXJ0IG9mIGFuIGF0b20KfApcWyAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFsKKD86IFteXFxceDgwLVx4ZmZcblwwMTVcW1xdXSB8ICBcXCBbXlx4ODAtXHhmZl0gICkqICAgICAjICAgIHN0dWZmClxdICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgXQopCltcMDQwXHRdKiAgICAgICAgICAgICAgICAgICAgIyBOYWIgd2hpdGVzcGFjZS4KKD86ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAoCig/OiAgXFwgW15ceDgwLVx4ZmZdICB8ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICBcXCBbXlx4ODAtXHhmZl0gICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogKSogICAgICAgICMgICAgIChzcGVjaWFsIG5vcm1hbCopKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgICAgICAgICkKKSAgICAjICAgICAgICAgc3BlY2lhbApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgIG5vcm1hbCoKKSogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICkqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICkKW1wwNDBcdF0qICkqICAgICMgSWYgY29tbWVudCBmb3VuZCwgYWxsb3cgbW9yZSBzcGFjZXMuCiMgb3B0aW9uYWwgdHJhaWxpbmcgY29tbWVudHMKKD86ClwuCltcMDQwXHRdKiAgICAgICAgICAgICAgICAgICAgIyBOYWIgd2hpdGVzcGFjZS4KKD86ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAoCig/OiAgXFwgW15ceDgwLVx4ZmZdICB8ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICBcXCBbXlx4ODAtXHhmZl0gICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogKSogICAgICAgICMgICAgIChzcGVjaWFsIG5vcm1hbCopKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgICAgICAgICkKKSAgICAjICAgICAgICAgc3BlY2lhbApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgIG5vcm1hbCoKKSogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICkqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICkKW1wwNDBcdF0qICkqICAgICMgSWYgY29tbWVudCBmb3VuZCwgYWxsb3cgbW9yZSBzcGFjZXMuCig/OgpbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSsgICAgIyBzb21lIG51bWJlciBvZiBhdG9tIGNoYXJhY3RlcnMuLi4KKD8hW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0pICMgLi5ub3QgZm9sbG93ZWQgYnkgc29tZXRoaW5nIHRoYXQgY291bGQgYmUgcGFydCBvZiBhbiBhdG9tCnwKXFsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBbCig/OiBbXlxcXHg4MC1ceGZmXG5cMDE1XFtcXV0gfCAgXFwgW15ceDgwLVx4ZmZdICApKiAgICAgIyAgICBzdHVmZgpcXSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgIF0KKQpbXDA0MFx0XSogICAgICAgICAgICAgICAgICAgICMgTmFiIHdoaXRlc3BhY2UuCig/OgpcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgKAooPzogIFxcIFteXHg4MC1ceGZmXSAgfApcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgXFwgW15ceDgwLVx4ZmZdICAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICkqICAgICAgICAjICAgICAoc3BlY2lhbCBub3JtYWwqKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICAgICAgICApCikgICAgIyAgICAgICAgIHNwZWNpYWwKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICBub3JtYWwqCikqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICApKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICApCltcMDQwXHRdKiApKiAgICAjIElmIGNvbW1lbnQgZm91bmQsIGFsbG93IG1vcmUgc3BhY2VzLgojIG9wdGlvbmFsIHRyYWlsaW5nIGNvbW1lbnRzCikqCikqICAjIGFkZGl0aW9uYWwgZG9tYWlucwo6CltcMDQwXHRdKiAgICAgICAgICAgICAgICAgICAgIyBOYWIgd2hpdGVzcGFjZS4KKD86ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAoCig/OiAgXFwgW15ceDgwLVx4ZmZdICB8ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICBcXCBbXlx4ODAtXHhmZl0gICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogKSogICAgICAgICMgICAgIChzcGVjaWFsIG5vcm1hbCopKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgICAgICAgICkKKSAgICAjICAgICAgICAgc3BlY2lhbApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgIG5vcm1hbCoKKSogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICkqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICkKW1wwNDBcdF0qICkqICAgICMgSWYgY29tbWVudCBmb3VuZCwgYWxsb3cgbW9yZSBzcGFjZXMuCiMgb3B0aW9uYWwgdHJhaWxpbmcgY29tbWVudHMKKT8gICAgICMgICAgICAgb3B0aW9uYWwgcm91dGUKKD86ClteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKyAgICAjIHNvbWUgbnVtYmVyIG9mIGF0b20gY2hhcmFjdGVycy4uLgooPyFbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSkgIyAuLm5vdCBmb2xsb3dlZCBieSBzb21ldGhpbmcgdGhhdCBjb3VsZCBiZSBwYXJ0IG9mIGFuIGF0b20KIyBBdG9tCnwgICAgICAgICAgICAgICAgICAgICAgICMgIG9yCiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAiClteXFxceDgwLVx4ZmZcblwwMTUiXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICBub3JtYWwKKD86ICBcXCBbXlx4ODAtXHhmZl0gIFteXFxceDgwLVx4ZmZcblwwMTUiXSAqICkqICAgICAgICAjICAgKCBzcGVjaWFsIG5vcm1hbCogKSoKIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAiCiMgUXVvdGVkIHN0cmluZwopCltcMDQwXHRdKiAgICAgICAgICAgICAgICAgICAgIyBOYWIgd2hpdGVzcGFjZS4KKD86ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAoCig/OiAgXFwgW15ceDgwLVx4ZmZdICB8ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICBcXCBbXlx4ODAtXHhmZl0gICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogKSogICAgICAgICMgICAgIChzcGVjaWFsIG5vcm1hbCopKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgICAgICAgICkKKSAgICAjICAgICAgICAgc3BlY2lhbApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgIG5vcm1hbCoKKSogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICkqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICkKW1wwNDBcdF0qICkqICAgICMgSWYgY29tbWVudCBmb3VuZCwgYWxsb3cgbW9yZSBzcGFjZXMuCig/OgpcLgpbXDA0MFx0XSogICAgICAgICAgICAgICAgICAgICMgTmFiIHdoaXRlc3BhY2UuCig/OgpcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgKAooPzogIFxcIFteXHg4MC1ceGZmXSAgfApcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgXFwgW15ceDgwLVx4ZmZdICAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICkqICAgICAgICAjICAgICAoc3BlY2lhbCBub3JtYWwqKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICAgICAgICApCikgICAgIyAgICAgICAgIHNwZWNpYWwKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICBub3JtYWwqCikqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICApKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICApCltcMDQwXHRdKiApKiAgICAjIElmIGNvbW1lbnQgZm91bmQsIGFsbG93IG1vcmUgc3BhY2VzLgooPzoKW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0rICAgICMgc29tZSBudW1iZXIgb2YgYXRvbSBjaGFyYWN0ZXJzLi4uCig/IVteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKSAjIC4ubm90IGZvbGxvd2VkIGJ5IHNvbWV0aGluZyB0aGF0IGNvdWxkIGJlIHBhcnQgb2YgYW4gYXRvbQojIEF0b20KfCAgICAgICAgICAgICAgICAgICAgICAgIyAgb3IKIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICIKW15cXFx4ODAtXHhmZlxuXDAxNSJdICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgIG5vcm1hbAooPzogIFxcIFteXHg4MC1ceGZmXSAgW15cXFx4ODAtXHhmZlxuXDAxNSJdICogKSogICAgICAgICMgICAoIHNwZWNpYWwgbm9ybWFsKiApKgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICIKIyBRdW90ZWQgc3RyaW5nCikKW1wwNDBcdF0qICAgICAgICAgICAgICAgICAgICAjIE5hYiB3aGl0ZXNwYWNlLgooPzoKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICgKKD86ICBcXCBbXlx4ODAtXHhmZl0gIHwKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogIFxcIFteXHg4MC1ceGZmXSAgIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiApKiAgICAgICAgIyAgICAgKHNwZWNpYWwgbm9ybWFsKikqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICAgICAgICAgKQopICAgICMgICAgICAgICBzcGVjaWFsClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgbm9ybWFsKgopKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgKQpbXDA0MFx0XSogKSogICAgIyBJZiBjb21tZW50IGZvdW5kLCBhbGxvdyBtb3JlIHNwYWNlcy4KIyBhZGRpdGlvbmFsIHdvcmRzCikqCkAKW1wwNDBcdF0qICAgICAgICAgICAgICAgICAgICAjIE5hYiB3aGl0ZXNwYWNlLgooPzoKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICgKKD86ICBcXCBbXlx4ODAtXHhmZl0gIHwKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogIFxcIFteXHg4MC1ceGZmXSAgIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiApKiAgICAgICAgIyAgICAgKHNwZWNpYWwgbm9ybWFsKikqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICAgICAgICAgKQopICAgICMgICAgICAgICBzcGVjaWFsClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgbm9ybWFsKgopKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgKQpbXDA0MFx0XSogKSogICAgIyBJZiBjb21tZW50IGZvdW5kLCBhbGxvdyBtb3JlIHNwYWNlcy4KKD86ClteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKyAgICAjIHNvbWUgbnVtYmVyIG9mIGF0b20gY2hhcmFjdGVycy4uLgooPyFbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSkgIyAuLm5vdCBmb2xsb3dlZCBieSBzb21ldGhpbmcgdGhhdCBjb3VsZCBiZSBwYXJ0IG9mIGFuIGF0b20KfApcWyAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFsKKD86IFteXFxceDgwLVx4ZmZcblwwMTVcW1xdXSB8ICBcXCBbXlx4ODAtXHhmZl0gICkqICAgICAjICAgIHN0dWZmClxdICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgXQopCltcMDQwXHRdKiAgICAgICAgICAgICAgICAgICAgIyBOYWIgd2hpdGVzcGFjZS4KKD86ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAoCig/OiAgXFwgW15ceDgwLVx4ZmZdICB8ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICBcXCBbXlx4ODAtXHhmZl0gICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogKSogICAgICAgICMgICAgIChzcGVjaWFsIG5vcm1hbCopKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgICAgICAgICkKKSAgICAjICAgICAgICAgc3BlY2lhbApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgIG5vcm1hbCoKKSogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICkqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICkKW1wwNDBcdF0qICkqICAgICMgSWYgY29tbWVudCBmb3VuZCwgYWxsb3cgbW9yZSBzcGFjZXMuCiMgb3B0aW9uYWwgdHJhaWxpbmcgY29tbWVudHMKKD86ClwuCltcMDQwXHRdKiAgICAgICAgICAgICAgICAgICAgIyBOYWIgd2hpdGVzcGFjZS4KKD86ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAoCig/OiAgXFwgW15ceDgwLVx4ZmZdICB8ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICBcXCBbXlx4ODAtXHhmZl0gICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogKSogICAgICAgICMgICAgIChzcGVjaWFsIG5vcm1hbCopKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgICAgICAgICkKKSAgICAjICAgICAgICAgc3BlY2lhbApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgIG5vcm1hbCoKKSogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICkqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICkKW1wwNDBcdF0qICkqICAgICMgSWYgY29tbWVudCBmb3VuZCwgYWxsb3cgbW9yZSBzcGFjZXMuCig/OgpbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSsgICAgIyBzb21lIG51bWJlciBvZiBhdG9tIGNoYXJhY3RlcnMuLi4KKD8hW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0pICMgLi5ub3QgZm9sbG93ZWQgYnkgc29tZXRoaW5nIHRoYXQgY291bGQgYmUgcGFydCBvZiBhbiBhdG9tCnwKXFsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBbCig/OiBbXlxcXHg4MC1ceGZmXG5cMDE1XFtcXV0gfCAgXFwgW15ceDgwLVx4ZmZdICApKiAgICAgIyAgICBzdHVmZgpcXSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgIF0KKQpbXDA0MFx0XSogICAgICAgICAgICAgICAgICAgICMgTmFiIHdoaXRlc3BhY2UuCig/OgpcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgKAooPzogIFxcIFteXHg4MC1ceGZmXSAgfApcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgXFwgW15ceDgwLVx4ZmZdICAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICkqICAgICAgICAjICAgICAoc3BlY2lhbCBub3JtYWwqKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICAgICAgICApCikgICAgIyAgICAgICAgIHNwZWNpYWwKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICBub3JtYWwqCikqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICApKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICApCltcMDQwXHRdKiApKiAgICAjIElmIGNvbW1lbnQgZm91bmQsIGFsbG93IG1vcmUgc3BhY2VzLgojIG9wdGlvbmFsIHRyYWlsaW5nIGNvbW1lbnRzCikqCiMgICAgICAgYWRkcmVzcyBzcGVjCj4gICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgID4KIyBuYW1lIGFuZCBhZGRyZXNzCikKL3gKICAgIEFsYW4gT3RoZXIgPHVzZXJcQGRvbS5haW4+CiAgICA8dXNlclxAZG9tLmFpbj4KICAgIHVzZXJcQGRvbS5haW4KICAgIFwiQS4gT3RoZXJcIiA8dXNlci4xMjM0XEBkb20uYWluPiAoYSBjb21tZW50KQogICAgQS4gT3RoZXIgPHVzZXIuMTIzNFxAZG9tLmFpbj4gKGEgY29tbWVudCkKICAgIFwiL3M9dXNlci9vdT1ob3N0L289cGxhY2UvcHJtZD11dS55eS9hZG1kPSAvYz1nYi9cIlxAeDQwMC1yZS5sYXkKICAgIEEgbWlzc2luZyBhbmdsZSA8dXNlclxAc29tZS53aGVyZQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIFRoZSBxdWljayBicm93biBmb3gKCi9hYmNcMGRlZlwwMHBxclwwMDB4eXpcMDAwMEFCLwogICAgYWJjXDBkZWZcMDBwcXJcMDAweHl6XDAwMDBBQgogICAgYWJjNDU2IGFiY1wwZGVmXDAwcHFyXDAwMHh5elwwMDAwQUJDREUKCi9hYmNceDBkZWZceDAwcHFyXHgwMDB4eXpceDAwMDBBQi8KICAgIGFiY1x4MGRlZlx4MDBwcXJceDAwMHh5elx4MDAwMEFCCiAgICBhYmM0NTYgYWJjXHgwZGVmXHgwMHBxclx4MDAweHl6XHgwMDAwQUJDREUKCi9eW1wwMDAtXDAzN10vCiAgICBcMEEKICAgIFwwMUIKICAgIFwwMzdDCgovXDAqLwogICAgXDBcMFwwXDAKCi9BXHgwezIsM31aLwogICAgVGhlIEFceDBceDBaCiAgICBBbiBBXDBceDBcMFoKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBBXDBaCiAgICBBXDBceDBcMFx4MFoKCi9eXHMvCiAgICBcMDQwYWJjCiAgICBceDBjYWJjCiAgICBcbmFiYwogICAgXHJhYmMKICAgIFx0YWJjClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWJjCgovXmEJYgogICAgDCAgYy94CiAgICBhYmMKCi9hYnsxLDN9YmMvCiAgICBhYmJiYmMKICAgIGFiYmJjCiAgICBhYmJjClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWJjCiAgICBhYmJiYmJjCgovKFteLl0qKVwuKFteOl0qKTpbVCBdKyguKikvCiAgICB0cmFjazEudGl0bGU6VEJsYWggYmxhaCBibGFoCgovKFteLl0qKVwuKFteOl0qKTpbVCBdKyguKikvaQogICAgdHJhY2sxLnRpdGxlOlRCbGFoIGJsYWggYmxhaAoKLyhbXi5dKilcLihbXjpdKik6W3QgXSsoLiopL2kKICAgIHRyYWNrMS50aXRsZTpUQmxhaCBibGFoIGJsYWgKCi9eW1ctY10rJC8KICAgIFdYWV9eYWJjClw9IEV4cGVjdCBubyBtYXRjaAogICAgd3h5CgovXltXLWNdKyQvaQogICAgV1hZX15hYmMKICAgIHd4eV9eQUJDCgovXltceDNmLVx4NUZdKyQvaQogICAgV1hZX15hYmMKICAgIHd4eV9eQUJDCgovXmFiYyQvbQogICAgYWJjCiAgICBxcXFcbmFiYwogICAgYWJjXG56enoKICAgIHFxcVxuYWJjXG56enoKCi9eYWJjJC8KICAgIGFiYwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIHFxcVxuYWJjCiAgICBhYmNcbnp6egogICAgcXFxXG5hYmNcbnp6egoKL1xBYWJjXFovbQogICAgYWJjCiAgICBhYmNcbiAKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBxcXFcbmFiYwogICAgYWJjXG56enoKICAgIHFxcVxuYWJjXG56enoKICAgIAovXEEoLikqXFovcwogICAgYWJjXG5kZWYKCi9cQSguKSpcWi9tClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWJjXG5kZWYKCi8oPzpiKXwoPzo6KykvCiAgICBiOjpjCiAgICBjOjpiCgovWy1hel0rLwogICAgYXotClw9IEV4cGVjdCBubyBtYXRjaAogICAgYgoKL1thei1dKy8KICAgIHphLQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGIKCi9bYVwtel0rLwogICAgYS16Clw9IEV4cGVjdCBubyBtYXRjaAogICAgYgoKL1thLXpdKy8KICAgIGFiY2R4eXoKCi9bXGQtXSsvCiAgICAxMi0zNApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFhYQoKL1x4NWMvCiAgICBcXAoKL1x4MjBaLwogICAgdGhlIFpvbwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIFp1bHUKCi9hYnszY2QvCiAgICBhYnszY2QKCi9hYnszLGNkLwogICAgYWJ7MyxjZAoKL2FiezMsNGF9Y2QvCiAgICBhYnszLDRhfWNkCgovezQsNWF9YmMvCiAgICB7NCw1YX1iYwoKL15hLmIvbmV3bGluZT1sZgogICAgYVxyYgpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFcbmIKCi9hYmMkLwogICAgYWJjCiAgICBhYmNcbgpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFiY1xuZGVmCgovKGFiYylcMTIzLwogICAgYWJjXHg1MwoKLyhhYmMpXDIyMy8KICAgIGFiY1x4OTMKCi8oYWJjKVwzMjMvCiAgICBhYmNceGQzCgovKGFiYylcMTAwLwogICAgYWJjXHg0MAogICAgYWJjXDEwMAoKLyhhYmMpXDEwMDAvCiAgICBhYmNceDQwMAogICAgYWJjXHg0MFx4MzAKICAgIGFiY1wxMDAwCiAgICBhYmNcMTAwXHgzMAogICAgYWJjXDEwMFwwNjAKICAgIGFiY1wxMDBcNjAKCi8oYSkoYikoYykoZCkoZSkoZikoZykoaCkoaSkoaikoaylcMTJcMTIzLwogICAgYWJjZGVmZ2hpamtcMTJTCgovYXswfWJjLwogICAgYmMKCi8oYXwoYmMpKXswLDB9P3h5ei8KICAgIHh5egoKL2FiY1tcMTBdZGUvCiAgICBhYmNcMDEwZGUKCi9hYmNbXDFdZGUvCiAgICBhYmNcMWRlCgovKGFiYylbXDFdZGUvCiAgICBhYmNcMWRlCgovKD9zKWEuYi8KICAgIGFcbmIKCi9eKFteYV0pKFteXGJdKShbXmNdKikoW15kXXszLDR9KS8KICAgIGJhTk9UY2NjY2QKICAgIGJhTk9UY2NjZAogICAgYmFOT1RjY2QKICAgIGJhY2NjZApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFueXRoaW5nCiAgICBiXGJjICAgCiAgICBiYWNjZAoKL1teYV0vCiAgICBBYmMKICAKL1teYV0vaQogICAgQWJjIAoKL1teYV0rLwogICAgQUFBYUFiYwogIAovW15hXSsvaQogICAgQUFBYUFiYyAKCi9bXmFdKy8KICAgIGJiYlxuY2NjCiAgIAovW15rXSQvCiAgICBhYmMKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYmsgICAKICAgCi9bXmtdezIsM30kLwogICAgYWJjCiAgICBrYmMKICAgIGthYmMgClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWJrCiAgICBha2IKICAgIGFrayAKCi9eXGR7OCx9XEAuK1tea10kLwogICAgMTIzNDU2NzhcQGEuYi5jLmQKICAgIDEyMzQ1Njc4OVxAeC55LnoKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICAxMjM0NTY3OFxAeC55LnVrCiAgICAxMjM0NTY3XEBhLmIuYy5kICAgICAgIAoKL1teYV0vCiAgICBhYWFhYmNkCiAgICBhYUFhYmNkIAoKL1teYV0vaQogICAgYWFhYWJjZAogICAgYWFBYWJjZCAKCi9bXmF6XS8KICAgIGFhYWFiY2QKICAgIGFhQWFiY2QgCgovW15hel0vaQogICAgYWFhYWJjZAogICAgYWFBYWJjZCAKCi9cMDAwXDAwMVwwMDJcMDAzXDAwNFwwMDVcMDA2XDAwN1wwMTBcMDExXDAxMlwwMTNcMDE0XDAxNVwwMTZcMDE3XDAyMFwwMjFcMDIyXDAyM1wwMjRcMDI1XDAyNlwwMjdcMDMwXDAzMVwwMzJcMDMzXDAzNFwwMzVcMDM2XDAzN1wwNDBcMDQxXDA0MlwwNDNcMDQ0XDA0NVwwNDZcMDQ3XDA1MFwwNTFcMDUyXDA1M1wwNTRcMDU1XDA1NlwwNTdcMDYwXDA2MVwwNjJcMDYzXDA2NFwwNjVcMDY2XDA2N1wwNzBcMDcxXDA3MlwwNzNcMDc0XDA3NVwwNzZcMDc3XDEwMFwxMDFcMTAyXDEwM1wxMDRcMTA1XDEwNlwxMDdcMTEwXDExMVwxMTJcMTEzXDExNFwxMTVcMTE2XDExN1wxMjBcMTIxXDEyMlwxMjNcMTI0XDEyNVwxMjZcMTI3XDEzMFwxMzFcMTMyXDEzM1wxMzRcMTM1XDEzNlwxMzdcMTQwXDE0MVwxNDJcMTQzXDE0NFwxNDVcMTQ2XDE0N1wxNTBcMTUxXDE1MlwxNTNcMTU0XDE1NVwxNTZcMTU3XDE2MFwxNjFcMTYyXDE2M1wxNjRcMTY1XDE2NlwxNjdcMTcwXDE3MVwxNzJcMTczXDE3NFwxNzVcMTc2XDE3N1wyMDBcMjAxXDIwMlwyMDNcMjA0XDIwNVwyMDZcMjA3XDIxMFwyMTFcMjEyXDIxM1wyMTRcMjE1XDIxNlwyMTdcMjIwXDIyMVwyMjJcMjIzXDIyNFwyMjVcMjI2XDIyN1wyMzBcMjMxXDIzMlwyMzNcMjM0XDIzNVwyMzZcMjM3XDI0MFwyNDFcMjQyXDI0M1wyNDRcMjQ1XDI0NlwyNDdcMjUwXDI1MVwyNTJcMjUzXDI1NFwyNTVcMjU2XDI1N1wyNjBcMjYxXDI2MlwyNjNcMjY0XDI2NVwyNjZcMjY3XDI3MFwyNzFcMjcyXDI3M1wyNzRcMjc1XDI3NlwyNzdcMzAwXDMwMVwzMDJcMzAzXDMwNFwzMDVcMzA2XDMwN1wzMTBcMzExXDMxMlwzMTNcMzE0XDMxNVwzMTZcMzE3XDMyMFwzMjFcMzIyXDMyM1wzMjRcMzI1XDMyNlwzMjdcMzMwXDMzMVwzMzJcMzMzXDMzNFwzMzVcMzM2XDMzN1wzNDBcMzQxXDM0MlwzNDNcMzQ0XDM0NVwzNDZcMzQ3XDM1MFwzNTFcMzUyXDM1M1wzNTRcMzU1XDM1NlwzNTdcMzYwXDM2MVwzNjJcMzYzXDM2NFwzNjVcMzY2XDM2N1wzNzBcMzcxXDM3MlwzNzNcMzc0XDM3NVwzNzZcMzc3LwogXDAwMFwwMDFcMDAyXDAwM1wwMDRcMDA1XDAwNlwwMDdcMDEwXDAxMVwwMTJcMDEzXDAxNFwwMTVcMDE2XDAxN1wwMjBcMDIxXDAyMlwwMjNcMDI0XDAyNVwwMjZcMDI3XDAzMFwwMzFcMDMyXDAzM1wwMzRcMDM1XDAzNlwwMzdcMDQwXDA0MVwwNDJcMDQzXDA0NFwwNDVcMDQ2XDA0N1wwNTBcMDUxXDA1MlwwNTNcMDU0XDA1NVwwNTZcMDU3XDA2MFwwNjFcMDYyXDA2M1wwNjRcMDY1XDA2NlwwNjdcMDcwXDA3MVwwNzJcMDczXDA3NFwwNzVcMDc2XDA3N1wxMDBcMTAxXDEwMlwxMDNcMTA0XDEwNVwxMDZcMTA3XDExMFwxMTFcMTEyXDExM1wxMTRcMTE1XDExNlwxMTdcMTIwXDEyMVwxMjJcMTIzXDEyNFwxMjVcMTI2XDEyN1wxMzBcMTMxXDEzMlwxMzNcMTM0XDEzNVwxMzZcMTM3XDE0MFwxNDFcMTQyXDE0M1wxNDRcMTQ1XDE0NlwxNDdcMTUwXDE1MVwxNTJcMTUzXDE1NFwxNTVcMTU2XDE1N1wxNjBcMTYxXDE2MlwxNjNcMTY0XDE2NVwxNjZcMTY3XDE3MFwxNzFcMTcyXDE3M1wxNzRcMTc1XDE3NlwxNzdcMjAwXDIwMVwyMDJcMjAzXDIwNFwyMDVcMjA2XDIwN1wyMTBcMjExXDIxMlwyMTNcMjE0XDIxNVwyMTZcMjE3XDIyMFwyMjFcMjIyXDIyM1wyMjRcMjI1XDIyNlwyMjdcMjMwXDIzMVwyMzJcMjMzXDIzNFwyMzVcMjM2XDIzN1wyNDBcMjQxXDI0MlwyNDNcMjQ0XDI0NVwyNDZcMjQ3XDI1MFwyNTFcMjUyXDI1M1wyNTRcMjU1XDI1NlwyNTdcMjYwXDI2MVwyNjJcMjYzXDI2NFwyNjVcMjY2XDI2N1wyNzBcMjcxXDI3MlwyNzNcMjc0XDI3NVwyNzZcMjc3XDMwMFwzMDFcMzAyXDMwM1wzMDRcMzA1XDMwNlwzMDdcMzEwXDMxMVwzMTJcMzEzXDMxNFwzMTVcMzE2XDMxN1wzMjBcMzIxXDMyMlwzMjNcMzI0XDMyNVwzMjZcMzI3XDMzMFwzMzFcMzMyXDMzM1wzMzRcMzM1XDMzNlwzMzdcMzQwXDM0MVwzNDJcMzQzXDM0NFwzNDVcMzQ2XDM0N1wzNTBcMzUxXDM1MlwzNTNcMzU0XDM1NVwzNTZcMzU3XDM2MFwzNjFcMzYyXDM2M1wzNjRcMzY1XDM2NlwzNjdcMzcwXDM3MVwzNzJcMzczXDM3NFwzNzVcMzc2XDM3NwoKL1BbXipdVEFJUkVbXipdezEsNn0/TEwvCiAgICB4eHh4eHh4eHh4eFBTVEFJUkVJU0xMeHh4eHh4eHh4CgovUFteKl1UQUlSRVteKl17MSx9P0xMLwogICAgeHh4eHh4eHh4eHhQU1RBSVJFSVNMTHh4eHh4eHh4eAoKLyhcLlxkXGRbMS05XT8pXGQrLwogICAgMS4yMzAwMDM5MzgKICAgIDEuODc1MDAwMjgyICAgCiAgICAxLjIzNSAgCiAgICAgICAgICAgICAgICAgIAovKFwuXGRcZCgoPz0wKXxcZCg/PVxkKSkpLwogICAgMS4yMzAwMDM5MzggICAgICAKICAgIDEuODc1MDAwMjgyClw9IEV4cGVjdCBubyBtYXRjaCAKICAgIDEuMjM1IAogICAgCi9hKD8pYi8KICAgIGFiIAogCi9cYihmb28pXHMrKFx3KykvaQogICAgRm9vZCBpcyBvbiB0aGUgZm9vIHRhYmxlCiAgICAKL2ZvbyguKiliYXIvCiAgICBUaGUgZm9vZCBpcyB1bmRlciB0aGUgYmFyIGluIHRoZSBiYXJuLgogICAgCi9mb28oLio/KWJhci8KICAgIFRoZSBmb29kIGlzIHVuZGVyIHRoZSBiYXIgaW4gdGhlIGJhcm4uCgovKC4qKShcZCopL25vX2F1dG9fcG9zc2VzcwogICAgSSBoYXZlIDIgbnVtYmVyczogNTMxNDcKICAgIAovKC4qKShcZCspLwogICAgSSBoYXZlIDIgbnVtYmVyczogNTMxNDcKIAovKC4qPykoXGQqKS9ub19hdXRvX3Bvc3Nlc3MKICAgIEkgaGF2ZSAyIG51bWJlcnM6IDUzMTQ3CgovKC4qPykoXGQrKS8KICAgIEkgaGF2ZSAyIG51bWJlcnM6IDUzMTQ3CgovKC4qKShcZCspJC8KICAgIEkgaGF2ZSAyIG51bWJlcnM6IDUzMTQ3CgovKC4qPykoXGQrKSQvCiAgICBJIGhhdmUgMiBudW1iZXJzOiA1MzE0NwoKLyguKilcYihcZCspJC8KICAgIEkgaGF2ZSAyIG51bWJlcnM6IDUzMTQ3CgovKC4qXEQpKFxkKykkLwogICAgSSBoYXZlIDIgbnVtYmVyczogNTMxNDcKCi9eXEQqKD8hMTIzKS8KICAgIEFCQzEyMwogICAgIAovXihcRCopKD89XGQpKD8hMTIzKS8KICAgIEFCQzQ0NQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIEFCQzEyMwogICAgCi9eW1ctXTQ2XS8KICAgIFc0Nl03ODkgCiAgICAtNDZdNzg5Clw9IEV4cGVjdCBubyBtYXRjaAogICAgV2FsbAogICAgWmVicmEKICAgIDQyCiAgICBbYWJjZF0gCiAgICBdYWJjZFsKICAgICAgIAovXltXLVxdNDZdLwogICAgVzQ2XTc4OSAKICAgIFdhbGwKICAgIFplYnJhCiAgICBYeWxvcGhvbmUgIAogICAgNDIKICAgIFthYmNkXSAKICAgIF1hYmNkWwogICAgXFxiYWNrc2xhc2ggClw9IEV4cGVjdCBubyBtYXRjaAogICAgLTQ2XTc4OQogICAgd2VsbAogICAgCi9cZFxkXC9cZFxkXC9cZFxkXGRcZC8KICAgIDAxLzAxLzIwMDAKCi93b3JkICg/OlthLXpBLVowLTldKyApezAsMTB9b3RoZXJ3b3JkLwogIHdvcmQgY2F0IGRvZyBlbGVwaGFudCBtdXNzZWwgY293IGhvcnNlIGNhbmFyeSBiYWJvb24gc25ha2Ugc2hhcmsgb3RoZXJ3b3JkClw9IEV4cGVjdCBubyBtYXRjaAogIHdvcmQgY2F0IGRvZyBlbGVwaGFudCBtdXNzZWwgY293IGhvcnNlIGNhbmFyeSBiYWJvb24gc25ha2Ugc2hhcmsKCi93b3JkICg/OlthLXpBLVowLTldKyApezAsMzAwfW90aGVyd29yZC8KXD0gRXhwZWN0IG5vIG1hdGNoCiAgd29yZCBjYXQgZG9nIGVsZXBoYW50IG11c3NlbCBjb3cgaG9yc2UgY2FuYXJ5IGJhYm9vbiBzbmFrZSBzaGFyayB0aGUgcXVpY2sgYnJvd24gZm94IGFuZCB0aGUgbGF6eSBkb2cgYW5kIHNldmVyYWwgb3RoZXIgd29yZHMgZ2V0dGluZyBjbG9zZSB0byB0aGlydHkgYnkgbm93IEkgaG9wZQoKL14oYSl7MCwwfS8KICAgIGJjZAogICAgYWJjCiAgICBhYWIgICAgIAoKL14oYSl7MCwxfS8KICAgIGJjZAogICAgYWJjCiAgICBhYWIgIAoKL14oYSl7MCwyfS8KICAgIGJjZAogICAgYWJjCiAgICBhYWIgIAoKL14oYSl7MCwzfS8KICAgIGJjZAogICAgYWJjCiAgICBhYWIKICAgIGFhYSAgIAoKL14oYSl7MCx9LwogICAgYmNkCiAgICBhYmMKICAgIGFhYgogICAgYWFhCiAgICBhYWFhYWFhYSAgICAKCi9eKGEpezEsMX0vCiAgICBhYmMKICAgIGFhYiAgClw9IEV4cGVjdCBubyBtYXRjaAogICAgYmNkCgovXihhKXsxLDJ9LwogICAgYWJjCiAgICBhYWIgIApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGJjZAoKL14oYSl7MSwzfS8KICAgIGFiYwogICAgYWFiCiAgICBhYWEgICAKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBiY2QKCi9eKGEpezEsfS8KICAgIGFiYwogICAgYWFiCiAgICBhYWEKICAgIGFhYWFhYWFhICAgIApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGJjZAoKLy4qXC5naWYvCiAgICBib3JmbGVcbmJpYi5naWZcbm5vCgovLnswLH1cLmdpZi8KICAgIGJvcmZsZVxuYmliLmdpZlxubm8KCi8uKlwuZ2lmL20KICAgIGJvcmZsZVxuYmliLmdpZlxubm8KCi8uKlwuZ2lmL3MKICAgIGJvcmZsZVxuYmliLmdpZlxubm8KCi8uKlwuZ2lmL21zCiAgICBib3JmbGVcbmJpYi5naWZcbm5vCiAgICAKLy4qJC8KICAgIGJvcmZsZVxuYmliLmdpZlxubm8KCi8uKiQvbQogICAgYm9yZmxlXG5iaWIuZ2lmXG5ubwoKLy4qJC9zCiAgICBib3JmbGVcbmJpYi5naWZcbm5vCgovLiokL21zCiAgICBib3JmbGVcbmJpYi5naWZcbm5vCiAgICAKLy4qJC8KICAgIGJvcmZsZVxuYmliLmdpZlxubm9cbgoKLy4qJC9tCiAgICBib3JmbGVcbmJpYi5naWZcbm5vXG4KCi8uKiQvcwogICAgYm9yZmxlXG5iaWIuZ2lmXG5ub1xuCgovLiokL21zCiAgICBib3JmbGVcbmJpYi5naWZcbm5vXG4KICAgIAovKC4qWHxeQikvCiAgICBhYmNkZVxuMTIzNFh5egogICAgQmFyRm9vIApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFiY2RlXG5CYXIgIAoKLyguKlh8XkIpL20KICAgIGFiY2RlXG4xMjM0WHl6CiAgICBCYXJGb28gCiAgICBhYmNkZVxuQmFyICAKCi8oLipYfF5CKS9zCiAgICBhYmNkZVxuMTIzNFh5egogICAgQmFyRm9vIApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFiY2RlXG5CYXIgIAoKLyguKlh8XkIpL21zCiAgICBhYmNkZVxuMTIzNFh5egogICAgQmFyRm9vIAogICAgYWJjZGVcbkJhciAgCgovKD9zKSguKlh8XkIpLwogICAgYWJjZGVcbjEyMzRYeXoKICAgIEJhckZvbyAKXD0gRXhwZWN0IG5vIG1hdGNoIAogICAgYWJjZGVcbkJhciAgCgovKD9zOi4qWHxeQikvCiAgICBhYmNkZVxuMTIzNFh5egogICAgQmFyRm9vIApcPSBFeHBlY3Qgbm8gbWF0Y2ggCiAgICBhYmNkZVxuQmFyICAKCi9eLipCLwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFiY1xuQgogICAgIAovKD9zKV4uKkIvCiAgICBhYmNcbkIKCi8oP20pXi4qQi8KICAgIGFiY1xuQgogICAgIAovKD9tcyleLipCLwogICAgYWJjXG5CCgovKD9tcyleQi8KICAgIGFiY1xuQgoKLyg/cylCJC8KICAgIEJcbgoKL15bMC05XVswLTldWzAtOV1bMC05XVswLTldWzAtOV1bMC05XVswLTldWzAtOV1bMC05XVswLTldWzAtOV0vCiAgICAxMjM0NTY2NTQzMjEKICAKL15cZFxkXGRcZFxkXGRcZFxkXGRcZFxkXGQvCiAgICAxMjM0NTY2NTQzMjEgCgovXltcZF1bXGRdW1xkXVtcZF1bXGRdW1xkXVtcZF1bXGRdW1xkXVtcZF1bXGRdW1xkXS8KICAgIDEyMzQ1NjY1NDMyMQogIAovXlthYmNdezEyfS8KICAgIGFiY2FiY2FiY2FiYwogICAgCi9eW2EtY117MTJ9LwogICAgYWJjYWJjYWJjYWJjCiAgICAKL14oYXxifGMpezEyfS8KICAgIGFiY2FiY2FiY2FiYyAKCi9eW2FiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHkwMTIzNDU2Nzg5XS8KICAgIG4KXD0gRXhwZWN0IG5vIG1hdGNoIAogICAgeiAKCi9hYmNkZXswLDB9LwogICAgYWJjZApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFiY2UgIAoKL2FiW2NkXXswLDB9ZS8KICAgIGFiZQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFiY2RlIAogICAgCi9hYihjKXswLDB9ZC8KICAgIGFiZApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFiY2QgICAKCi9hKGIqKS8KICAgIGEKICAgIGFiCiAgICBhYmJiYgpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGJiYmJiICAgIAogICAgCi9hYlxkezB9ZS8KICAgIGFiZQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFiMWUgICAKICAgIAovIihbXlxcIl0rfFxcLikqIi8KICAgIHRoZSBcInF1aWNrXCIgYnJvd24gZm94CiAgICBcInRoZSBcXFwicXVpY2tcXFwiIGJyb3duIGZveFwiIAoKLy4qPy9nLGFmdGVydGV4dAogICAgYWJjCiAgCi9cYi9nLGFmdGVydGV4dAogICAgYWJjIAoKL1xiL2csYWZ0ZXJ0ZXh0CiAgICBhYmMgCgovL2cKICAgIGFiYwoKLzx0cihbXHdcV1xzXGRdW148Pl17MCx9KT48VEQoW1x3XFdcc1xkXVtePD5dezAsfSk+KFtcZF17MCx9XC4pKC4qKSgoPEJSPihbXHdcV1xzXGRdW148Pl17MCx9KXxbXHNdezAsfSkpPFwvYT48XC9URD48VEQoW1x3XFdcc1xkXVtePD5dezAsfSk+KFtcd1xXXHNcZF1bXjw+XXswLH0pPFwvVEQ+PFREKFtcd1xXXHNcZF1bXjw+XXswLH0pPihbXHdcV1xzXGRdW148Pl17MCx9KTxcL1REPjxcL1RSPi9pcwogIDxUUiBCR0NPTE9SPScjREJFOUU5Jz48VEQgYWxpZ249bGVmdCB2YWxpZ249dG9wPjQzLjxhIGhyZWY9J2pvYmxpc3QuY2ZtP0pvYklEPTk0IDY3MzUmS2V5d29yZD0nPldvcmQgUHJvY2Vzc29yPEJSPihOLTEyODYpPC9hPjwvVEQ+PFREIGFsaWduPWxlZnQgdmFsaWduPXRvcD5MZWdhIGxzdGFmZi5jb208L1REPjxURCBhbGlnbj1sZWZ0IHZhbGlnbj10b3A+Q0EgLSBTdGF0ZXdpZGU8L1REPjwvVFI+CgovYVteYV1iLwogICAgYWNiCiAgICBhXG5iCiAgICAKL2EuYi8KICAgIGFjYgpcPSBFeHBlY3Qgbm8gbWF0Y2ggCiAgICBhXG5iICAgCiAgICAKL2FbXmFdYi9zCiAgICBhY2IKICAgIGFcbmIgIAogICAgCi9hLmIvcwogICAgYWNiCiAgICBhXG5iICAKCi9eKGIrP3xhKXsxLDJ9P2MvCiAgICBiYWMKICAgIGJiYWMKICAgIGJiYmFjCiAgICBiYmJiYWMKICAgIGJiYmJiYWMgCgovXihiK3xhKXsxLDJ9P2MvCiAgICBiYWMKICAgIGJiYWMKICAgIGJiYmFjCiAgICBiYmJiYWMKICAgIGJiYmJiYWMgCiAgICAKLyg/IVxBKXgvbQogICAgYVxieFxuICAKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICB4XG5iXG4KICAgIAovXHgwe2FifS8KICAgIFwwe2FifSAKCi8oQXxCKSo/Q0QvCiAgICBDRCAKICAgIAovKEF8QikqQ0QvCiAgICBDRCAKCi8oPzwhYmFyKWZvby8KICAgIGZvbwogICAgY2F0Zm9vZAogICAgYXJmb290bGUKICAgIHJmb29zaApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGJhcmZvbwogICAgdG93YmFyZm9vCgovXHd7M30oPzwhYmFyKWZvby8KICAgIGNhdGZvb2QKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBmb28KICAgIGJhcmZvbwogICAgdG93YmFyZm9vCgovKD88PShmb28pYSliYXIvCiAgICBmb29hYmFyClw9IEV4cGVjdCBubyBtYXRjaAogICAgYmFyCiAgICBmb29iYmFyCiAgICAgIAovXEFhYmNcei9tCiAgICBhYmMKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYmNcbiAgIAogICAgcXFxXG5hYmMKICAgIGFiY1xuenp6CiAgICBxcXFcbmFiY1xuenp6CgoiKD8+LiovKWZvbyIKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICAvdGhpcy9pcy9hL3ZlcnkvbG9uZy9saW5lL2luL2RlZWQvd2l0aC92ZXJ5L21hbnkvc2xhc2hlcy9pbi9pdC95b3Uvc2VlLwoKIig/Pi4qLylmb28iCiAgICAvdGhpcy9pcy9hL3ZlcnkvbG9uZy9saW5lL2luL2RlZWQvd2l0aC92ZXJ5L21hbnkvc2xhc2hlcy9pbi9hbmQvZm9vCgovKD8+KFwuXGRcZFsxLTldPykpXGQrLwogICAgMS4yMzAwMDM5MzgKICAgIDEuODc1MDAwMjgyClw9IEV4cGVjdCBubyBtYXRjaCAKICAgIDEuMjM1IAoKL14oKD8+XHcrKXwoPz5ccyspKSokLwogICAgbm93IGlzIHRoZSB0aW1lIGZvciBhbGwgZ29vZCBtZW4gdG8gY29tZSB0byB0aGUgYWlkIG9mIHRoZSBwYXJ0eQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIHRoaXMgaXMgbm90IGEgbGluZSB3aXRoIG9ubHkgd29yZHMgYW5kIHNwYWNlcyEKICAgIAovKFxkKykoXHcpLwogICAgMTIzNDVhCiAgICAxMjM0NSsgCgovKCg/PlxkKykpKFx3KS8KICAgIDEyMzQ1YQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIDEyMzQ1KyAKCi8oPz5hKyliLwogICAgYWFhYgoKLygoPz5hKyliKS8KICAgIGFhYWIKCi8oPz4oYSspKWIvCiAgICBhYWFiCgovKD8+YikrLwogICAgYWFhYmJiY2NjCgovKD8+YSt8Yit8YyspKmMvCiAgICBhYWFiYmJiY2NjY2QKICAgIAovKGErfGIrfGMrKSpjLwogICAgYWFhYmJiYmNjY2NkCgovKCg/PlteKCldKyl8XChbXigpXSpcKSkrLwogICAgKChhYmMoYWRlKXVmaCgpKCl4CiAgICAKL1woKCg/PlteKCldKyl8XChbXigpXStcKSkrXCkvCiAgICAoYWJjKQogICAgKGFiYyhkZWYpeHl6KQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgICgoKClhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYSAgIAoKL2EoPy1pKWIvaQogICAgYWIKICAgIEFiClw9IEV4cGVjdCBubyBtYXRjaCAKICAgIGFCCiAgICBBQgogICAgICAgIAovKGEgKD94KWIgYylkIGUvCiAgICBhIGJjZCBlClw9IEV4cGVjdCBubyBtYXRjaAogICAgYSBiIGNkIGUKICAgIGFiY2QgZSAgIAogICAgYSBiY2RlIAogCi8oYSBiKD94KWMgZCAoPy14KWUgZikvCiAgICBhIGJjZGUgZgpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFiY2RlZiAgCgovKGEoP2kpYiljLwogICAgYWJjCiAgICBhQmMKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYkMKICAgIGFCQyAgCiAgICBBYmMKICAgIEFCYwogICAgQUJDCiAgICBBYkMKICAgIAovYSg/aTpiKWMvCiAgICBhYmMKICAgIGFCYwpcPSBFeHBlY3Qgbm8gbWF0Y2ggCiAgICBBQkMKICAgIGFiQwogICAgYUJDCiAgICAKL2EoP2k6YikqYy8KICAgIGFCYwogICAgYUJCYwpcPSBFeHBlY3Qgbm8gbWF0Y2ggCiAgICBhQkMKICAgIGFCQkMKICAgIAovYSg/PWIoP2kpYylcd1x3ZC8KICAgIGFiY2QKICAgIGFiQ2QKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhQkNkCiAgICBhYmNEICAgICAKICAgIAovKD9zLWk6bW9yZS4qdGhhbikuKm1pbGxpb24vaQogICAgbW9yZSB0aGFuIG1pbGxpb24KICAgIG1vcmUgdGhhbiBNSUxMSU9OCiAgICBtb3JlIFxuIHRoYW4gTWlsbGlvbiAKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBNT1JFIFRIQU4gTUlMTElPTiAgICAKICAgIG1vcmUgXG4gdGhhbiBcbiBtaWxsaW9uIAoKLyg/Oig/cy1pKW1vcmUuKnRoYW4pLiptaWxsaW9uL2kKICAgIG1vcmUgdGhhbiBtaWxsaW9uCiAgICBtb3JlIHRoYW4gTUlMTElPTgogICAgbW9yZSBcbiB0aGFuIE1pbGxpb24gClw9IEV4cGVjdCBubyBtYXRjaAogICAgTU9SRSBUSEFOIE1JTExJT04gICAgCiAgICBtb3JlIFxuIHRoYW4gXG4gbWlsbGlvbiAKICAgIAovKD8+YSg/aSliKykrYy8KICAgIGFiYwogICAgYUJiYwogICAgYUJCYyAKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBBYmMKICAgIGFiQWIgICAgCiAgICBhYmJDIAogICAgCi8oPz1hKD9pKWIpXHdcd2MvCiAgICBhYmMKICAgIGFCYwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIEFiIAogICAgYWJDCiAgICBhQkMgICAgIAogICAgCi8oPzw9YSg/aSliKShcd1x3KWMvCiAgICBhYnh4YwogICAgYUJ4eGMKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBBYnh4YwogICAgQUJ4eGMKICAgIGFieHhDICAgICAgCgovXig/KD89YWJjKVx3ezN9OnxcZFxkKSQvCiAgICBhYmM6CiAgICAxMgpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIDEyMwogICAgeHl6ICAgIAoKL14oPyg/IWFiYylcZFxkfFx3ezN9OikkLwogICAgYWJjOgogICAgMTIKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICAxMjMKICAgIHh5eiAgICAKICAgIAovKD8oPzw9Zm9vKWJhcnxjYXQpLwogICAgZm9vYmFyCiAgICBjYXQKICAgIGZjYXQKICAgIGZvY2F0ICAgClw9IEV4cGVjdCBubyBtYXRjaAogICAgZm9vY2F0ICAKCi8oPyg/PCFmb28pY2F0fGJhcikvCiAgICBmb29iYXIKICAgIGNhdAogICAgZmNhdAogICAgZm9jYXQgICAKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBmb29jYXQgIAoKLyg/PmEqKSovCiAgICBhCiAgICBhYQogICAgYWFhYQogICAgCi8oYWJjfCkrLwogICAgYWJjCiAgICBhYmNhYmMKICAgIGFiY2FiY2FiYwogICAgeHl6ICAgICAgCgovKFthXSopKi8KICAgIGEKICAgIGFhYWFhIAogCi8oW2FiXSopKi8KICAgIGEKICAgIGIKICAgIGFiYWJhYgogICAgYWFhYWJjZGUKICAgIGJiYmIgICAgCiAKLyhbXmFdKikqLwogICAgYgogICAgYmJiYgogICAgYWFhICAgCiAKLyhbXmFiXSopKi8KICAgIGNjY2MKICAgIGFiYWIgIAogCi8oW2FdKj8pKi8KICAgIGEKICAgIGFhYWEgCiAKLyhbYWJdKj8pKi8KICAgIGEKICAgIGIKICAgIGFiYWIKICAgIGJhYmEgICAKIAovKFteYV0qPykqLwogICAgYgogICAgYmJiYgogICAgYWFhICAgCiAKLyhbXmFiXSo/KSovCiAgICBjCiAgICBjY2NjCiAgICBiYWJhICAgCiAKLyg/PmEqKSovCiAgICBhCiAgICBhYWFiY2RlIAogCi8oKD8+YSopKSovCiAgICBhYWFhYQogICAgYWFiYmFhIAogCi8oKD8+YSo/KSkqLwogICAgYWFhYWEKICAgIGFhYmJhYSAKCi8oPyg/PVteYS16XStbYS16XSkgIFxkezJ9LVthLXpdezN9LVxkezJ9ICB8ICBcZHsyfS1cZHsyfS1cZHsyfSApIC94CiAgICAxMi1zZXAtOTgKICAgIDEyLTA5LTk4Clw9IEV4cGVjdCBubyBtYXRjaAogICAgc2VwLTEyLTk4CiAgICAgICAgCi8oP2k6c2F0dXJkYXl8c3VuZGF5KS8KICAgIHNhdHVyZGF5CiAgICBzdW5kYXkKICAgIFNhdHVyZGF5CiAgICBTdW5kYXkKICAgIFNBVFVSREFZCiAgICBTVU5EQVkKICAgIFN1bkRheQogICAgCi8oYSg/aSliY3xCQil4LwogICAgYWJjeAogICAgYUJDeAogICAgYmJ4CiAgICBCQngKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYmNYCiAgICBhQkNYCiAgICBiYlgKICAgIEJCWCAgICAgICAgICAgICAgIAoKL14oW2FiXSg/aSlbY2RdfFtlZl0pLwogICAgYWMKICAgIGFDCiAgICBiRAogICAgZWxlcGhhbnQKICAgIEV1cm9wZSAKICAgIGZyb2cKICAgIEZyYW5jZQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIEFmcmljYSAgICAgCgovXihhYnxhKD9pKVtiLWNdKD9tLWkpZHx4KD9pKXl8eikvCiAgICBhYgogICAgYUJkCiAgICB4eQogICAgeFkKICAgIHplYnJhCiAgICBaYW1iZXNpClw9IEV4cGVjdCBubyBtYXRjaAogICAgYUNEICAKICAgIFhZICAKCi8oPzw9Zm9vXG4pXmJhci9tCiAgICBmb29cbmJhcgpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGJhcgogICAgYmF6XG5iYXIgICAKCi8oPzw9KD88IWZvbyliYXIpYmF6LwogICAgYmFyYmF6CiAgICBiYXJiYXJiYXogCiAgICBrb29iYXJiYXogClw9IEV4cGVjdCBubyBtYXRjaAogICAgYmF6CiAgICBmb29iYXJiYXogCgojIFRoZSBmb2xsb3dpbmcgdGVzdHMgYXJlIHRha2VuIGZyb20gdGhlIFBlcmwgNS4wMDUgdGVzdCBzdWl0ZTsgc29tZSBvZiB0aGVtCiMgYXJlIGNvbXBhdGlibGUgd2l0aCA1LjAwNCwgYnV0IEknZCByYXRoZXIgbm90IGhhdmUgdG8gc29ydCB0aGVtIG91dC4KCi9hYmMvCiAgICBhYmMKICAgIHhhYmN5CiAgICBhYmFiYwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIHhiYwogICAgYXhjCiAgICBhYngKCi9hYipjLwogICAgYWJjCgovYWIqYmMvCiAgICBhYmMKICAgIGFiYmMKICAgIGFiYmJiYwoKLy57MX0vCiAgICBhYmJiYmMKCi8uezMsNH0vCiAgICBhYmJiYmMKCi9hYnswLH1iYy8KICAgIGFiYmJiYwoKL2FiK2JjLwogICAgYWJiYwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFiYwogICAgYWJxCgovYWIrYmMvCiAgICBhYmJiYmMKCi9hYnsxLH1iYy8KICAgIGFiYmJiYwoKL2FiezEsM31iYy8KICAgIGFiYmJiYwoKL2FiezMsNH1iYy8KICAgIGFiYmJiYwoKL2FiezQsNX1iYy8KXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYnEKICAgIGFiYmJiYwoKL2FiP2JjLwogICAgYWJiYwogICAgYWJjCgovYWJ7MCwxfWJjLwogICAgYWJjCgovYWI/YmMvCgovYWI/Yy8KICAgIGFiYwoKL2FiezAsMX1jLwogICAgYWJjCgovXmFiYyQvCiAgICBhYmMKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYmJiYmMKICAgIGFiY2MKCi9eYWJjLwogICAgYWJjYwoKL15hYmMkLwoKL2FiYyQvCiAgICBhYWJjCiAgICBhYWJjClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWFiY2QKCi9eLwogICAgYWJjCgovJC8KICAgIGFiYwoKL2EuYy8KICAgIGFiYwogICAgYXhjCgovYS4qYy8KICAgIGF4eXpjCgovYVtiY11kLwogICAgYWJkClw9IEV4cGVjdCBubyBtYXRjaAogICAgYXh5emQKICAgIGFiYwoKL2FbYi1kXWUvCiAgICBhY2UKCi9hW2ItZF0vCiAgICBhYWMKCi9hWy1iXS8KICAgIGEtCgovYVtiLV0vCiAgICBhLQoKL2FdLwogICAgYV0KCi9hW11dYi8KICAgIGFdYgoKL2FbXmJjXWQvCiAgICBhZWQKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYmQKICAgIGFiZAoKL2FbXi1iXWMvCiAgICBhZGMKCi9hW15dYl1jLwogICAgYWRjCiAgICBhLWMKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhXWMKCi9cYmFcYi8KICAgIGEtCiAgICAtYQogICAgLWEtCgovXGJ5XGIvClw9IEV4cGVjdCBubyBtYXRjaAogICAgeHkKICAgIHl6CiAgICB4eXoKCi9cQmFcQi8KXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhLQogICAgLWEKICAgIC1hLQoKL1xCeVxiLwogICAgeHkKCi9cYnlcQi8KICAgIHl6CgovXEJ5XEIvCiAgICB4eXoKCi9cdy8KICAgIGEKCi9cVy8KICAgIC0KXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhCgovYVxzYi8KICAgIGEgYgoKL2FcU2IvCiAgICBhLWIKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhIGIKCi9cZC8KICAgIDEKCi9cRC8KICAgIC0KXD0gRXhwZWN0IG5vIG1hdGNoCiAgICAxCgovW1x3XS8KICAgIGEKCi9bXFddLwogICAgLQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGEKCi9hW1xzXWIvCiAgICBhIGIKCi9hW1xTXWIvCiAgICBhLWIKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhIGIKCi9bXGRdLwogICAgMQoKL1tcRF0vCiAgICAtClw9IEV4cGVjdCBubyBtYXRjaAogICAgMQoKL2FifGNkLwogICAgYWJjCiAgICBhYmNkCgovKCllZi8KICAgIGRlZgoKLyRiLwoKL2FcKGIvCiAgICBhKGIKCi9hXCgqYi8KICAgIGFiCiAgICBhKChiCgovYVxcYi8KICAgIGFcXGIKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhXGIKCi8oKGEpKS8KICAgIGFiYwoKLyhhKWIoYykvCiAgICBhYmMKCi9hK2IrYy8KICAgIGFhYmJhYmMKCi9hezEsfWJ7MSx9Yy8KICAgIGFhYmJhYmMKCi9hLis/Yy8KICAgIGFiY2FiYwoKLyhhK3xiKSovCiAgICBhYgoKLyhhK3xiKXswLH0vCiAgICBhYgoKLyhhK3xiKSsvCiAgICBhYgoKLyhhK3xiKXsxLH0vCiAgICBhYgoKLyhhK3xiKT8vCiAgICBhYgoKLyhhK3xiKXswLDF9LwogICAgYWIKCi9bXmFiXSovCiAgICBjZGUKCi9hYmMvClw9IEV4cGVjdCBubyBtYXRjaAogICAgYgoKL2EqLwoKLyhbYWJjXSkqZC8KICAgIGFiYmJjZAoKLyhbYWJjXSkqYmNkLwogICAgYWJjZAoKL2F8YnxjfGR8ZS8KICAgIGUKCi8oYXxifGN8ZHxlKWYvCiAgICBlZgoKL2FiY2QqZWZnLwogICAgYWJjZGVmZwoKL2FiKi8KICAgIHhhYnlhYmJiegogICAgeGF5YWJiYnoKCi8oYWJ8Y2QpZS8KICAgIGFiY2RlCgovW2FiaGdlZmRjXWlqLwogICAgaGlqCgovXihhYnxjZCllLwoKLyhhYmN8KWVmLwogICAgYWJjZGVmCgovKGF8YiljKmQvCiAgICBhYmNkCgovKGFifGFiKiliYy8KICAgIGFiYwoKL2EoW2JjXSopYyovCiAgICBhYmMKCi9hKFtiY10qKShjKmQpLwogICAgYWJjZAoKL2EoW2JjXSspKGMqZCkvCiAgICBhYmNkCgovYShbYmNdKikoYytkKS8KICAgIGFiY2QKCi9hW2JjZF0qZGNkY2RlLwogICAgYWRjZGNkZQoKL2FbYmNkXStkY2RjZGUvClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWJjZGUKICAgIGFkY2RjZGUKCi8oYWJ8YSliKmMvCiAgICBhYmMKCi8oKGEpKGIpYykoZCkvCiAgICBhYmNkCgovW2EtekEtWl9dW2EtekEtWjAtOV9dKi8KICAgIGFscGhhCgovXmEoYmMrfGJbZWhdKWd8LmgkLwogICAgYWJoCgovKGJjK2QkfGVmKmcufGg/aShqfGspKS8KICAgIGVmZmd6CiAgICBpagogICAgcmVmZmd6Clw9IEV4cGVjdCBubyBtYXRjaAogICAgZWZmZwogICAgYmNkZAoKLygoKCgoKCgoKChhKSkpKSkpKSkpKS8KICAgIGEKCi8oKCgoKCgoKChhKSkpKSkpKSkpLwogICAgYQoKL211bHRpcGxlIHdvcmRzIG9mIHRleHQvClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWEKICAgIHVoLXVoCgovbXVsdGlwbGUgd29yZHMvCiAgICBtdWx0aXBsZSB3b3JkcywgeWVhaAoKLyguKiljKC4qKS8KICAgIGFiY2RlCgovXCgoLiopLCAoLiopXCkvCiAgICAoYSwgYikKCi9ba10vCgovYWJjZC8KICAgIGFiY2QKCi9hKGJjKWQvCiAgICBhYmNkCgovYVstXT9jLwogICAgYWMKCi9hYmMvaQogICAgQUJDCiAgICBYQUJDWQogICAgQUJBQkMKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYXhhYnhiYXhiYngKICAgIFhCQwogICAgQVhDCiAgICBBQlgKCi9hYipjL2kKICAgIEFCQwoKL2FiKmJjL2kKICAgIEFCQwogICAgQUJCQwoKL2FiKj9iYy9pCiAgICBBQkJCQkMKCi9hYnswLH0/YmMvaQogICAgQUJCQkJDCgovYWIrP2JjL2kKICAgIEFCQkMKCi9hYitiYy9pClw9IEV4cGVjdCBubyBtYXRjaAogICAgQUJDCiAgICBBQlEKCi9hYnsxLH1iYy9pCgovYWIrYmMvaQogICAgQUJCQkJDCgovYWJ7MSx9P2JjL2kKICAgIEFCQkJCQwoKL2FiezEsM30/YmMvaQogICAgQUJCQkJDCgovYWJ7Myw0fT9iYy9pCiAgICBBQkJCQkMKCi9hYns0LDV9P2JjL2kKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBBQlEKICAgIEFCQkJCQwoKL2FiPz9iYy9pCiAgICBBQkJDCiAgICBBQkMKCi9hYnswLDF9P2JjL2kKICAgIEFCQwoKL2FiPz9iYy9pCgovYWI/P2MvaQogICAgQUJDCgovYWJ7MCwxfT9jL2kKICAgIEFCQwoKL15hYmMkL2kKICAgIEFCQwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIEFCQkJCQwogICAgQUJDQwoKL15hYmMvaQogICAgQUJDQwoKL15hYmMkL2kKCi9hYmMkL2kKICAgIEFBQkMKCi9eL2kKICAgIEFCQwoKLyQvaQogICAgQUJDCgovYS5jL2kKICAgIEFCQwogICAgQVhDCgovYS4qP2MvaQogICAgQVhZWkMKCi9hLipjL2kKICAgIEFBQkMKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBBWFlaRAoKL2FbYmNdZC9pCiAgICBBQkQKCi9hW2ItZF1lL2kKICAgIEFDRQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIEFCQwogICAgQUJECgovYVtiLWRdL2kKICAgIEFBQwoKL2FbLWJdL2kKICAgIEEtCgovYVtiLV0vaQogICAgQS0KCi9hXS9pCiAgICBBXQoKL2FbXV1iL2kKICAgIEFdQgoKL2FbXmJjXWQvaQogICAgQUVECgovYVteLWJdYy9pCiAgICBBREMKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBBQkQKICAgIEEtQwoKL2FbXl1iXWMvaQogICAgQURDCgovYWJ8Y2QvaQogICAgQUJDCiAgICBBQkNECgovKCllZi9pCiAgICBERUYKCi8kYi9pClw9IEV4cGVjdCBubyBtYXRjaAogICAgQV1DCiAgICBCCgovYVwoYi9pCiAgICBBKEIKCi9hXCgqYi9pCiAgICBBQgogICAgQSgoQgoKL2FcXGIvaQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIEFcPW5vdGJvbAoKLygoYSkpL2kKICAgIEFCQwoKLyhhKWIoYykvaQogICAgQUJDCgovYStiK2MvaQogICAgQUFCQkFCQwoKL2F7MSx9YnsxLH1jL2kKICAgIEFBQkJBQkMKCi9hLis/Yy9pCiAgICBBQkNBQkMKCi9hLio/Yy9pCiAgICBBQkNBQkMKCi9hLnswLDV9P2MvaQogICAgQUJDQUJDCgovKGErfGIpKi9pCiAgICBBQgoKLyhhK3xiKXswLH0vaQogICAgQUIKCi8oYSt8YikrL2kKICAgIEFCCgovKGErfGIpezEsfS9pCiAgICBBQgoKLyhhK3xiKT8vaQogICAgQUIKCi8oYSt8Yil7MCwxfS9pCiAgICBBQgoKLyhhK3xiKXswLDF9Py9pCiAgICBBQgoKL1teYWJdKi9pCiAgICBDREUKCi9hYmMvaQoKL2EqL2kKCi8oW2FiY10pKmQvaQogICAgQUJCQkNECgovKFthYmNdKSpiY2QvaQogICAgQUJDRAoKL2F8YnxjfGR8ZS9pCiAgICBFCgovKGF8YnxjfGR8ZSlmL2kKICAgIEVGCgovYWJjZCplZmcvaQogICAgQUJDREVGRwoKL2FiKi9pCiAgICBYQUJZQUJCQloKICAgIFhBWUFCQkJaCgovKGFifGNkKWUvaQogICAgQUJDREUKCi9bYWJoZ2VmZGNdaWovaQogICAgSElKCgovXihhYnxjZCllL2kKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBBQkNERQoKLyhhYmN8KWVmL2kKICAgIEFCQ0RFRgoKLyhhfGIpYypkL2kKICAgIEFCQ0QKCi8oYWJ8YWIqKWJjL2kKICAgIEFCQwoKL2EoW2JjXSopYyovaQogICAgQUJDCgovYShbYmNdKikoYypkKS9pCiAgICBBQkNECgovYShbYmNdKykoYypkKS9pCiAgICBBQkNECgovYShbYmNdKikoYytkKS9pCiAgICBBQkNECgovYVtiY2RdKmRjZGNkZS9pCiAgICBBRENEQ0RFCgovYVtiY2RdK2RjZGNkZS9pCgovKGFifGEpYipjL2kKICAgIEFCQwoKLygoYSkoYiljKShkKS9pCiAgICBBQkNECgovW2EtekEtWl9dW2EtekEtWjAtOV9dKi9pCiAgICBBTFBIQQoKL15hKGJjK3xiW2VoXSlnfC5oJC9pCiAgICBBQkgKCi8oYmMrZCR8ZWYqZy58aD9pKGp8aykpL2kKICAgIEVGRkdaCiAgICBJSgogICAgUkVGRkdaClw9IEV4cGVjdCBubyBtYXRjaAogICAgQURDRENERQogICAgRUZGRwogICAgQkNERAoKLygoKCgoKCgoKChhKSkpKSkpKSkpKS9pCiAgICBBCgovKCgoKCgoKCgoYSkpKSkpKSkpKS9pCiAgICBBCgovKD86KD86KD86KD86KD86KD86KD86KD86KD86KGEpKSkpKSkpKSkpL2kKICAgIEEKCi8oPzooPzooPzooPzooPzooPzooPzooPzooPzooYXxifGMpKSkpKSkpKSkpL2kKICAgIEMKCi9tdWx0aXBsZSB3b3JkcyBvZiB0ZXh0L2kKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBBQQogICAgVUgtVUgKCi9tdWx0aXBsZSB3b3Jkcy9pCiAgICBNVUxUSVBMRSBXT1JEUywgWUVBSAoKLyguKiljKC4qKS9pCiAgICBBQkNERQoKL1woKC4qKSwgKC4qKVwpL2kKICAgIChBLCBCKQoKL1trXS9pCgovYWJjZC9pCiAgICBBQkNECgovYShiYylkL2kKICAgIEFCQ0QKCi9hWy1dP2MvaQogICAgQUMKCi9hKD8hYikuLwogICAgYWJhZAoKL2EoPz1kKS4vCiAgICBhYmFkCgovYSg/PWN8ZCkuLwogICAgYWJhZAoKL2EoPzpifGN8ZCkoLikvCiAgICBhY2UKCi9hKD86YnxjfGQpKiguKS8KICAgIGFjZQoKL2EoPzpifGN8ZCkrPyguKS8KICAgIGFjZQogICAgYWNkYmNkYmUKCi9hKD86YnxjfGQpKyguKS8KICAgIGFjZGJjZGJlCgovYSg/OmJ8Y3xkKXsyfSguKS8KICAgIGFjZGJjZGJlCgovYSg/OmJ8Y3xkKXs0LDV9KC4pLwogICAgYWNkYmNkYmUKCi9hKD86YnxjfGQpezQsNX0/KC4pLwogICAgYWNkYmNkYmUKCi8oKGZvbyl8KGJhcikpKi8KICAgIGZvb2JhcgoKL2EoPzpifGN8ZCl7Niw3fSguKS8KICAgIGFjZGJjZGJlCgovYSg/OmJ8Y3xkKXs2LDd9PyguKS8KICAgIGFjZGJjZGJlCgovYSg/OmJ8Y3xkKXs1LDZ9KC4pLwogICAgYWNkYmNkYmUKCi9hKD86YnxjfGQpezUsNn0/KC4pLwogICAgYWNkYmNkYmUKCi9hKD86YnxjfGQpezUsN30oLikvCiAgICBhY2RiY2RiZQoKL2EoPzpifGN8ZCl7NSw3fT8oLikvCiAgICBhY2RiY2RiZQoKL2EoPzpifChjfGUpezEsMn0/fGQpKz8oLikvCiAgICBhY2UKCi9eKC4rKT9CLwogICAgQUIKCi9eKFteYS16XSl8KFxeKSQvCiAgICAuCgovXls8Pl0mLwogICAgPCZPVVQKCi8oPzooZikobykobyl8KGIpKGEpKHIpKSovCiAgICBmb29iYXIKCi8oPzw9YSliLwogICAgYWIKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBjYgogICAgYgoKLyg/PCFjKWIvCiAgICBhYgogICAgYgogICAgYgoKLyg/Oi4uKSphLwogICAgYWJhCgovKD86Li4pKj9hLwogICAgYWJhCgovXigpezMsNX0vCiAgICBhYmMKCi9eKGErKSpheC8KICAgIGFheAoKL14oKGF8YikrKSpheC8KICAgIGFheAoKL14oKGF8YmMpKykqYXgvCiAgICBhYXgKCi8oYXx4KSphYi8KICAgIGNhYgoKLyhhKSphYi8KICAgIGNhYgoKLyg/Oig/aSlhKWIvCiAgICBhYgoKLygoP2kpYSliLwogICAgYWIKCi8oPzooP2kpYSliLwogICAgQWIKCi8oKD9pKWEpYi8KICAgIEFiCgovKD86KD9pKWEpYi8KXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBjYgogICAgYUIKCi8oKD9pKWEpYi8KCi8oP2k6YSliLwogICAgYWIKCi8oKD9pOmEpKWIvCiAgICBhYgoKLyg/aTphKWIvCiAgICBBYgoKLygoP2k6YSkpYi8KICAgIEFiCgovKD9pOmEpYi8KXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhQgogICAgYUIKCi8oKD9pOmEpKWIvCgovKD86KD8taSlhKWIvaQogICAgYWIKCi8oKD8taSlhKWIvaQogICAgYWIKCi8oPzooPy1pKWEpYi9pCiAgICBhQgoKLygoPy1pKWEpYi9pCiAgICBhQgoKLyg/Oig/LWkpYSliL2kKICAgIGFCClw9IEV4cGVjdCBubyBtYXRjaAogICAgQWIKCi8oKD8taSlhKWIvaQoKLyg/Oig/LWkpYSliL2kKICAgIGFCCgovKCg/LWkpYSliL2kKICAgIGFCCgovKD86KD8taSlhKWIvaQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIEFiCiAgICBBQgoKLygoPy1pKWEpYi9pCgovKD8taTphKWIvaQogICAgYWIKCi8oKD8taTphKSliL2kKICAgIGFiCgovKD8taTphKWIvaQogICAgYUIKCi8oKD8taTphKSliL2kKICAgIGFCCgovKD8taTphKWIvaQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIEFCCiAgICBBYgoKLygoPy1pOmEpKWIvaQoKLyg/LWk6YSliL2kKICAgIGFCCgovKCg/LWk6YSkpYi9pCiAgICBhQgoKLyg/LWk6YSliL2kKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBBYgogICAgQUIKCi8oKD8taTphKSliL2kKCi8oKD8taTphLikpYi9pClw9IEV4cGVjdCBubyBtYXRjaAogICAgQUIKICAgIGFcbkIKCi8oKD9zLWk6YS4pKWIvaQogICAgYVxuQgoKLyg/OmN8ZCkoPzopKD86YSg/OikoPzpiKSg/OmIoPzopKSg/OmIoPzopKD86YikpKS8KICAgIGNhYmJiYgoKLyg/OmN8ZCkoPzopKD86YWFhYWFhYWEoPzopKD86YmJiYmJiYmIpKD86YmJiYmJiYmIoPzopKSg/OmJiYmJiYmJiKD86KSg/OmJiYmJiYmJiKSkpLwogICAgY2FhYWFhYWFhYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmIKCi9mb29cdypcZHs0fWJhei8KICAgIGZvb2JhcjEyMzRiYXoKCi94KH5+KSooPzooPzpGKT8pPy8KICAgIHh+fgoKL15hKD8jeHh4KXszfWMvCiAgICBhYWFjCgovXmEgKD8jeHh4KSAoPyN5eXkpIHszfWMveAogICAgYWFhYwoKLyg/PCFbY2RdKWIvClw9IEV4cGVjdCBubyBtYXRjaAogICAgQlxuQgogICAgZGJjYgoKLyg/PCFbY2RdKVthYl0vCiAgICBkYmFhY2IKCi8oPzwhKGN8ZCkpYi8KCi8oPzwhKGN8ZCkpW2FiXS8KICAgIGRiYWFjYgoKLyg/PCFjZClbYWJdLwogICAgY2RhY2NiCgovXig/OmE/Yj8pKiQvClw9IEV4cGVjdCBubyBtYXRjaAogICAgZGJjYgogICAgYS0tCgovKCg/cyleYSguKSkoKD9tKV5iJCkvCiAgICBhXG5iXG5jXG4KCi8oKD9tKV5iJCkvCiAgICBhXG5iXG5jXG4KCi8oP20pXmIvCiAgICBhXG5iXG4KCi8oP20pXihiKS8KICAgIGFcbmJcbgoKLygoP20pXmIpLwogICAgYVxuYlxuCgovXG4oKD9tKV5iKS8KICAgIGFcbmJcbgoKLygoP3MpLiljKD8hLikvCiAgICBhXG5iXG5jXG4KICAgIGFcbmJcbmNcbgoKLygoP3MpYi4pYyg/IS4pLwogICAgYVxuYlxuY1xuCiAgICBhXG5iXG5jXG4KCi9eYi8KCi8oKV5iLwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFcbmJcbmNcbgogICAgYVxuYlxuY1xuCgovKCg/bSleYikvCiAgICBhXG5iXG5jXG4KCi8oPyg/IWEpYXxiKS8KCi8oPyg/IWEpYnxhKS8KICAgIGEKCi8oPyg/PWEpYnxhKS8KXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhCiAgICBhCgovKD8oPz1hKWF8YikvCiAgICBhCgovKFx3KzopKy8KICAgIG9uZToKCi8kKD88PV4oYSkpLwogICAgYQoKLyhbXHc6XSs6Oik/KFx3KykkLwogICAgYWJjZAogICAgeHk6ejo6OmFiY2QKCi9eW15iY2RdKihjKykvCiAgICBhZXh5Y2QKCi8oYSopYisvCiAgICBjYWFiCgovKFtcdzpdKzo6KT8oXHcrKSQvCiAgICBhYmNkCiAgICB4eTp6Ojo6YWJjZApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFiY2Q6CiAgICBhYmNkOgoKL15bXmJjZF0qKGMrKS8KICAgIGFleHljZAoKLyg+YSspYWIvCgovKD8+YSspYi8KICAgIGFhYWIKCi8oW1s6XSspLwogICAgYTpbYl06CgovKFtbPV0rKS8KICAgIGE9W2JdPQoKLyhbWy5dKykvCiAgICBhLltiXS4KCi8oKD8+YSspYikvCiAgICBhYWFiCgovKD8+KGErKSliLwogICAgYWFhYgoKLygoPz5bXigpXSspfFwoW14oKV0qXCkpKy8KICAgICgoYWJjKGFkZSl1ZmgoKSgpeAoKL2FcWi8KXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYWFiCiAgICBhXG5iXG4KCi9iXFovCiAgICBhXG5iXG4KCi9iXHovCgovYlxaLwogICAgYVxuYgoKL2Jcei8KICAgIGFcbmIKICAgIAovKD8+LiopKD88PShhYmNkfHd4eXopKS8KICAgIGFscGhhYmV0YWJjZAogICAgZW5kaW5nd3h5egpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGEgcmF0aGVyIGxvbmcgc3RyaW5nIHRoYXQgZG9lc24ndCBlbmQgd2l0aCBvbmUgb2YgdGhlbQoKL3dvcmQgKD8+KD86KD8hb3RoZXJ3b3JkKVthLXpBLVowLTldKyApezAsMzB9KW90aGVyd29yZC8KICAgIHdvcmQgY2F0IGRvZyBlbGVwaGFudCBtdXNzZWwgY293IGhvcnNlIGNhbmFyeSBiYWJvb24gc25ha2Ugc2hhcmsgb3RoZXJ3b3JkClw9IEV4cGVjdCBubyBtYXRjaAogICAgd29yZCBjYXQgZG9nIGVsZXBoYW50IG11c3NlbCBjb3cgaG9yc2UgY2FuYXJ5IGJhYm9vbiBzbmFrZSBzaGFyawogIAovd29yZCAoPz5bYS16QS1aMC05XSsgKXswLDMwfW90aGVyd29yZC8KXD0gRXhwZWN0IG5vIG1hdGNoCiAgICB3b3JkIGNhdCBkb2cgZWxlcGhhbnQgbXVzc2VsIGNvdyBob3JzZSBjYW5hcnkgYmFib29uIHNuYWtlIHNoYXJrIHRoZSBxdWljayBicm93biBmb3ggYW5kIHRoZSBsYXp5IGRvZyBhbmQgc2V2ZXJhbCBvdGhlciB3b3JkcyBnZXR0aW5nIGNsb3NlIHRvIHRoaXJ0eSBieSBub3cgSSBob3BlCgovKD88PVxkezN9KD8hOTk5KSlmb28vCiAgICA5OTlmb28KICAgIDEyMzk5OWZvbyAKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICAxMjNhYmNmb28KICAgIAovKD88PSg/IS4uLjk5OSlcZHszfSlmb28vCiAgICA5OTlmb28KICAgIDEyMzk5OWZvbyAKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICAxMjNhYmNmb28KCi8oPzw9XGR7M30oPyE5OTkpLi4uKWZvby8KICAgIDEyM2FiY2ZvbwogICAgMTIzNDU2Zm9vIApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIDEyMzk5OWZvbyAgCiAgICAKLyg/PD1cZHszfS4uLikoPzwhOTk5KWZvby8KICAgIDEyM2FiY2ZvbyAgIAogICAgMTIzNDU2Zm9vIApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIDEyMzk5OWZvbyAgCgovKChaKSt8QSkqLwogICAgWkFCQ0RFRkcKCi8oWigpfEEpKi8KICAgIFpBQkNERUZHCgovKFooKCkpfEEpKi8KICAgIFpBQkNERUZHCgovKCg/PlopK3xBKSovCiAgICBaQUJDREVGRwoKLygoPz4pK3xBKSovCiAgICBaQUJDREVGRwoKL2EqL2cKICAgIGFiYmFiCgovW1s6c3BhY2U6XV0rLwogICAgPiBceDA5XHgwYVx4MGNceDBkXHgwYjwKICAgICAKL1tbOmJsYW5rOl1dKy8KICAgID4gXHgwOVx4MGFceDBjXHgwZFx4MGI8CiAgICAgCi9bXHNdKy8KICAgID4gXHgwOVx4MGFceDBjXHgwZFx4MGI8CiAgICAgCi9ccysvCiAgICA+IFx4MDlceDBhXHgwY1x4MGRceDBiPAogICAgIAovYQtiL3gKICAgIGFiCgovKD8hXEEpeC9tCiAgYVxueGJcbgoKLyg/IV4peC9tClw9IEV4cGVjdCBubyBtYXRjaAogICAgYVxueGJcbgoKL2FiY1xRYWJjXEVhYmMvCiAgICBhYmNhYmNhYmMKICAgIAovYWJjXFEoKit8XEVhYmMvCiAgICBhYmMoKit8YWJjIAoKLyAgIGFiY1xRIGFiY1xFYWJjL3gKICAgIGFiYyBhYmNhYmMKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYmNhYmNhYmMgIAogICAgCi9hYmMjY29tbWVudAogICAgXFEjbm90IGNvbW1lbnQKICAgIGxpdGVyYWxcRS94CiAgICBhYmMjbm90IGNvbW1lbnRcbiAgICBsaXRlcmFsICAgICAKCi9hYmMjY29tbWVudAogICAgXFEjbm90IGNvbW1lbnQKICAgIGxpdGVyYWwveAogICAgYWJjI25vdCBjb21tZW50XG4gICAgbGl0ZXJhbCAgICAgCgovYWJjI2NvbW1lbnQKICAgIFxRI25vdCBjb21tZW50CiAgICBsaXRlcmFsXEUgI21vcmUgY29tbWVudAogICAgL3gKICAgIGFiYyNub3QgY29tbWVudFxuICAgIGxpdGVyYWwgICAgIAoKL2FiYyNjb21tZW50CiAgICBcUSNub3QgY29tbWVudAogICAgbGl0ZXJhbFxFICNtb3JlIGNvbW1lbnQveAogICAgYWJjI25vdCBjb21tZW50XG4gICAgbGl0ZXJhbCAgICAgCgovXFFhYmNcJHh5elxFLwogICAgYWJjXFxcJHh5egoKL1xRYWJjXEVcJFxReHl6XEUvCiAgICBhYmNcJHh5egoKL1xHYWJjLwogICAgYWJjClw9IEV4cGVjdCBubyBtYXRjaAogICAgeHl6YWJjICAKCi9cR2FiYy4vZwogICAgYWJjMWFiYzJ4eXphYmMzCgovYWJjLi9nCiAgICBhYmMxYWJjMnh5emFiYzMgCgovYSg/eDogYiBjIClkLwogICAgWGFiY2RZClw9IEV4cGVjdCBubyBtYXRjaCAKICAgIFhhIGIgYyBkIFkgCgovKCg/eCl4IHkgeiB8IGEgYiBjKS8KICAgIFhhYmNZCiAgICBBeHl6QiAKCi8oP2kpQUIoPy1pKUMvCiAgICBYYWJDWQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIFhhYmNZICAKCi8oKD9pKUFCKD8taSlDfEQpRS8KICAgIGFiQ0UKICAgIERFClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWJjRQogICAgYWJDZSAgCiAgICBkRQogICAgRGUgICAgCgovW3pcUWEtZF1cRV0vCiAgICB6CiAgICBhCiAgICAtCiAgICBkCiAgICBdIApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGIgICAgIAoKLyhhKykqYi8KXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhIAogICAgCi8oP2kpcmVnKD86dWwoPzpbYeRdfGFlKXJ8ZXgpLwogICAgUkVHdWxhcgogICAgcmVndWxhZXIKICAgIFJlZ2V4ICAKICAgIHJlZ3Vs5HIgCgovxebl5FvgLf/ALd9dKy8KICAgIMXm5eTgCiAgICDF5uXk/wogICAgxebl5MAKICAgIMXm5eTfCgovKD88PVopWC4vCiAgICBceDg0WEFaWEIKCi9eKD8oMilhfCgxKSgyKSkrJC8KICAgIDEyM2EKCi8oPzw9YXxiYmJiKWMvCiAgICBhYwogICAgYmJiYmMKCi9saW5lXG5icmVhay8KICAgIHRoaXMgaXMgYSBsaW5lXG5icmVhawogICAgbGluZSBvbmVcbnRoaXMgaXMgYSBsaW5lXG5icmVhayBpbiB0aGUgc2Vjb25kIGxpbmUgCgovbGluZVxuYnJlYWsvZmlyc3RsaW5lCiAgICB0aGlzIGlzIGEgbGluZVxuYnJlYWsKXD0gRXhwZWN0IG5vIG1hdGNoIAogICAgbGluZSBvbmVcbnRoaXMgaXMgYSBsaW5lXG5icmVhayBpbiB0aGUgc2Vjb25kIGxpbmUgCgovbGluZVxuYnJlYWsvbSxmaXJzdGxpbmUKICAgIHRoaXMgaXMgYSBsaW5lXG5icmVhawpcPSBFeHBlY3Qgbm8gbWF0Y2ggCiAgICBsaW5lIG9uZVxudGhpcyBpcyBhIGxpbmVcbmJyZWFrIGluIHRoZSBzZWNvbmQgbGluZSAKCi8xMjM0LwogICAgMTIzXD1wcwpcPSBFeHBlY3Qgbm8gbWF0Y2ggCiAgICBhNFw9cHMsZGZhX3Jlc3RhcnQKCi8xMjM0LwogICAgMTIzXD1wcwogICAgNFw9cHMsZGZhX3Jlc3RhcnQKCi9eL2dtCiAgICBhXG5iXG5jXG4KICAgIFwgCiAgICAKLyg/PD1DXG4pXi9nbQogICAgQVxuQ1xuQ1xuIAoKLyg/cylBP0IvCiAgICBBQgogICAgYUIgIAoKLyg/cylBKkIvCiAgICBBQgogICAgYUIgIAoKLyg/bSlBP0IvCiAgICBBQgogICAgYUIgIAoKLyg/bSlBKkIvCiAgICBBQgogICAgYUIgIAoKL0NvbnRlbnQtVHlwZVx4M0FbXlxyXG5dezYsfS8KICAgIENvbnRlbnQtVHlwZTp4eHh4eHl5eSAKCi9Db250ZW50LVR5cGVceDNBW15cclxuXXs2LH16LwogICAgQ29udGVudC1UeXBlOnh4eHh4eXl5egoKL0NvbnRlbnQtVHlwZVx4M0FbXmFdezYsfS8KICAgIENvbnRlbnQtVHlwZTp4eHh5eXkgCgovQ29udGVudC1UeXBlXHgzQVteYV17Nix9ei8KICAgIENvbnRlbnQtVHlwZTp4eHh5eXl6CgovXmFiYy9JbSxuZXdsaW5lPWxmCiAgICB4eXpcbmFiYwogICAgeHl6XHJcbmFiYwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIHh5elxyYWJjCiAgICB4eXphYmNccgogICAgeHl6YWJjXHJwcXIKICAgIHh5emFiY1xyXG4KICAgIHh5emFiY1xyXG5wcXIKCi9eYWJjL0ltLG5ld2xpbmU9Y3JsZgogICAgeHl6XHJcbmFiY2xmPgpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIHh5elxuYWJjbGYKICAgIHh5elxyYWJjbGYKICAgIAovXmFiYy9JbSxuZXdsaW5lPWNyCiAgICB4eXpccmFiYwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIHh5elxuYWJjCiAgICB4eXpcclxuYWJjCgovLiovSSxuZXdsaW5lPWxmCiAgICBhYmNcbmRlZgogICAgYWJjXHJkZWYKICAgIGFiY1xyXG5kZWYKCi8uKi9JLG5ld2xpbmU9Y3IKICAgIGFiY1xuZGVmCiAgICBhYmNccmRlZgogICAgYWJjXHJcbmRlZgoKLy4qL0ksbmV3bGluZT1jcmxmCiAgICBhYmNcbmRlZgogICAgYWJjXHJkZWYKICAgIGFiY1xyXG5kZWYKCi9cdysoLikoLik/ZGVmL0lzCiAgICBhYmNcbmRlZgogICAgYWJjXHJkZWYKICAgIGFiY1xyXG5kZWYKCi9cdysoLikoLik/ZGVmL3MKICAgIGFiY1xuZGVmCiAgICBhYmNccmRlZgogICAgYWJjXHJcbmRlZgoKL15cdys9LiooXFxcbi4qKSovCiAgICBhYmM9eHl6XFxcbnBxcgoKL14oYSgpKikqLwogICAgYWFhYQoKL14oPzphKD86KD86KSkqKSovCiAgICBhYWFhCgovXihhKCkrKSsvCiAgICBhYWFhCgovXig/OmEoPzooPzopKSspKy8KICAgIGFhYWEKCi8oYXwpKlxkLwogIGFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYTQKXD0gRXhwZWN0IG5vIG1hdGNoCiAgYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhCgovKD8+YXwpKlxkLwogIGFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYTQKXD0gRXhwZWN0IG5vIG1hdGNoCiAgYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhCgovKD86YXwpKlxkLwogIGFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYTQKXD0gRXhwZWN0IG5vIG1hdGNoCiAgYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhCgovXmEuYi9uZXdsaW5lPWxmCiAgICBhXHJiClw9IEV4cGVjdCBubyBtYXRjaAogICAgYVxuYgoKL15hLmIvbmV3bGluZT1jcgogICAgYVxuYgpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFccmIKCi9eYS5iL25ld2xpbmU9YW55Y3JsZgogICAgYVx4ODViClw9IEV4cGVjdCBubyBtYXRjaAogICAgYVxyYgoKL15hLmIvbmV3bGluZT1hbnkKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhXG5iCiAgICBhXHJiCiAgICBhXHg4NWIKCi9eYWJjLi9nbXgsbmV3bGluZT1hbnkKICAgIGFiYzEgXHgwYWFiYzIgXHgwYmFiYzN4eCBceDBjYWJjNCBceDBkYWJjNXh4IFx4MGRceDBhYWJjNiBceDg1YWJjNyBKVU5LCgovYWJjLiQvZ214LG5ld2xpbmU9YW55CiAgICBhYmMxXHgwYSBhYmMyXHgwYiBhYmMzXHgwYyBhYmM0XHgwZCBhYmM1XHgwZFx4MGEgYWJjNlx4ODUgYWJjOQoKL15hXFJiL2Jzcj11bmljb2RlCiAgICBhXG5iCiAgICBhXHJiCiAgICBhXHJcbmIKICAgIGFceDBiYgogICAgYVx4MGNiCiAgICBhXHg4NWIgICAKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhXG5ccmIgICAgCgovXmFcUipiL2Jzcj11bmljb2RlCiAgICBhYgogICAgYVxuYgogICAgYVxyYgogICAgYVxyXG5iCiAgICBhXHgwYmIKICAgIGFceDBjYgogICAgYVx4ODViICAgCiAgICBhXG5ccmIgICAgCiAgICBhXG5cclx4ODVceDBjYiAKCi9eYVxSK2IvYnNyPXVuaWNvZGUKICAgIGFcbmIKICAgIGFccmIKICAgIGFcclxuYgogICAgYVx4MGJiCiAgICBhXHgwY2IKICAgIGFceDg1YiAgIAogICAgYVxuXHJiICAgIAogICAgYVxuXHJceDg1XHgwY2IgClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWIgIAogICAgCi9eYVxSezEsM31iL2Jzcj11bmljb2RlCiAgICBhXG5iCiAgICBhXG5ccmIKICAgIGFcblxyXHg4NWIKICAgIGFcclxuXHJcbmIgCiAgICBhXHJcblxyXG5cclxuYiAKICAgIGFcblxyXG5ccmIKICAgIGFcblxuXHJcbmIgClw9IEV4cGVjdCBubyBtYXRjaAogICAgYVxuXG5cblxyYgogICAgYVxyCgovLitmb28vCiAgICBhZm9vClw9IEV4cGVjdCBubyBtYXRjaCAKICAgIFxyXG5mb28gCiAgICBcbmZvbyAKCi8uK2Zvby9uZXdsaW5lPWNybGYKICAgIGFmb28KICAgIFxuZm9vIApcPSBFeHBlY3Qgbm8gbWF0Y2ggCiAgICBcclxuZm9vIAoKLy4rZm9vL25ld2xpbmU9YW55CiAgICBhZm9vClw9IEV4cGVjdCBubyBtYXRjaCAKICAgIFxuZm9vIAogICAgXHJcbmZvbyAKCi8uK2Zvby9zCiAgICBhZm9vCiAgICBcclxuZm9vIAogICAgXG5mb28gCgovXiQvZ20sbmV3bGluZT1hbnkKICAgIGFiY1xyXHJ4eXoKICAgIGFiY1xuXHJ4eXogIApcPSBFeHBlY3Qgbm8gbWF0Y2ggCiAgICBhYmNcclxueHl6CgovXlgvbQogICAgWEFCQwpcPSBFeHBlY3Qgbm8gbWF0Y2ggCiAgICBYQUJDXD1ub3Rib2wKCi8oP20pXiQvZyxuZXdsaW5lPWFueSxhZnRlcnRleHQKICAgIGFiY1xyXG5cclxuCgovKD9tKV4kfF5cclxuL2csbmV3bGluZT1hbnksYWZ0ZXJ0ZXh0CiAgICBhYmNcclxuXHJcbgogICAgCi8oP20pJC9nLG5ld2xpbmU9YW55LGFmdGVydGV4dAogICAgYWJjXHJcblxyXG4KCi8oP3woYWJjKXwoeHl6KSkvCiAgID5hYmM8CiAgID54eXo8IAoKLyh4KSg/fChhYmMpfCh4eXopKSh4KS8KICAgIHhhYmN4CiAgICB4eHl6eCAKCi8oeCkoP3woYWJjKShwcXIpfCh4eXopKSh4KS8KICAgIHhhYmNwcXJ4CiAgICB4eHl6eCAKCi8oP3woYWJjKXwoeHl6KSkoPzEpLwogICAgYWJjYWJjCiAgICB4eXphYmMgClw9IEV4cGVjdCBubyBtYXRjaCAKICAgIHh5enh5eiAKIAovXEhcaFxWXHYvCiAgICBYIFhceDBhCiAgICBYXHgwOVhceDBiClw9IEV4cGVjdCBubyBtYXRjaAogICAgXHhhMCBYXHgwYSAgIAogICAgCi9cSCpcaCtcVj9cdnszLDR9LwogICAgXHgwOVx4MjBceGEwWFx4MGFceDBiXHgwY1x4MGRceDBhCiAgICBceDA5XHgyMFx4YTBceDBhXHgwYlx4MGNceDBkXHgwYQogICAgXHgwOVx4MjBceGEwXHgwYVx4MGJceDBjClw9IEV4cGVjdCBubyBtYXRjaCAKICAgIFx4MDlceDIwXHhhMFx4MGFceDBiCiAgICAgCi9cSHszLDR9LwogICAgWFkgIEFCQ0RFCiAgICBYWSAgUFFSIFNUIAogICAgCi8uXGh7Myw0fS4vCiAgICBYWSAgQUIgICAgUFFSUwoKL1xoKlhcaD9cSCtZXEg/Wi8KICAgID5YTk5OWVoKICAgID4gIFggTllRWgpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgID5YWVogICAKICAgID4gIFggTlkgWgoKL1x2Klhcdj9ZXHYrWlxWKlx4MGFcVitceDBiXFZ7MiwzfVx4MGMvCiAgICA+WFlceDBhWlx4MGFBXHgwYk5OXHgwYwogICAgPlx4MGFceDBkWFx4MGFZXHgwYVx4MGJaWlpceDBhQUFBXHgwYk5OTlx4MGMKCi8uK0EvbmV3bGluZT1jcmxmClw9IEV4cGVjdCBubyBtYXRjaAogICAgXHJcbkEKICAgIAovXG5BL25ld2xpbmU9Y3JsZgogICAgXHJcbkEgCgovW1xyXG5dQS9uZXdsaW5lPWNybGYKICAgIFxyXG5BIAoKLyhccnxcbilBL25ld2xpbmU9Y3JsZgogICAgXHJcbkEgCgovYVxSYi9JLGJzcj1hbnljcmxmCiAgICBhXHJiCiAgICBhXG5iCiAgICBhXHJcbmIKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhXHg4NWIKICAgIGFceDBiYiAgICAgCgovYVxSYi9JLGJzcj11bmljb2RlCiAgICBhXHJiCiAgICBhXG5iCiAgICBhXHJcbmIKICAgIGFceDg1YgogICAgYVx4MGJiICAgICAKICAgIAovYVxSP2IvSSxic3I9YW55Y3JsZgogICAgYVxyYgogICAgYVxuYgogICAgYVxyXG5iClw9IEV4cGVjdCBubyBtYXRjaAogICAgYVx4ODViCiAgICBhXHgwYmIgICAgIAoKL2FcUj9iL0ksYnNyPXVuaWNvZGUKICAgIGFccmIKICAgIGFcbmIKICAgIGFcclxuYgogICAgYVx4ODViCiAgICBhXHgwYmIgICAgIAogICAgCi9hXFJ7Miw0fWIvSSxic3I9YW55Y3JsZgogICAgYVxyXG5cbmIKICAgIGFcblxyXHJiCiAgICBhXHJcblxyXG5cclxuXHJcbmIKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhXHgwYlx4MGJiICAgICAKICAgIGFceDg1XHg4NWIKCi9hXFJ7Miw0fWIvSSxic3I9dW5pY29kZQogICAgYVxyXHJiCiAgICBhXG5cblxuYgogICAgYVxyXG5cblxyXHJiCiAgICBhXHg4NVx4ODViCiAgICBhXHgwYlx4MGJiICAgICAKXD0gRXhwZWN0IG5vIG1hdGNoIAogICAgYVxyXHJcclxyXHJiIAogICAgCi9hKD8hKXxcd2JjLwogICAgYWJjIAoKL2FbXWIvYWx0X2JzdXgsYWxsb3dfZW1wdHlfY2xhc3MsbWF0Y2hfdW5zZXRfYmFja3JlZixkdXBuYW1lcwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFiCgovYVtdK2IvYWx0X2JzdXgsYWxsb3dfZW1wdHlfY2xhc3MsbWF0Y2hfdW5zZXRfYmFja3JlZixkdXBuYW1lcwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFiIAoKL2FbXSorYi9hbHRfYnN1eCxhbGxvd19lbXB0eV9jbGFzcyxtYXRjaF91bnNldF9iYWNrcmVmLGR1cG5hbWVzClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWIgCgovYVteXWIvYWx0X2JzdXgsYWxsb3dfZW1wdHlfY2xhc3MsbWF0Y2hfdW5zZXRfYmFja3JlZixkdXBuYW1lcwogICAgYVhiCiAgICBhXG5iIApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFiICAKICAgIAovYVteXStiL2FsdF9ic3V4LGFsbG93X2VtcHR5X2NsYXNzLG1hdGNoX3Vuc2V0X2JhY2tyZWYsZHVwbmFtZXMKICAgIGFYYgogICAgYVxuWFxuWGIgClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWIgIAoKL1gkL2RvbGxhcl9lbmRvbmx5CiAgICBYClw9IEV4cGVjdCBubyBtYXRjaCAKICAgIFhcbiAKCi9YJC8KICAgIFgKICAgIFhcbiAKCi94eXovYXV0b19jYWxsb3V0CiAgeHl6IAogIGFiY3h5eiAKXD0gRXhwZWN0IG5vIG1hdGNoIAogIGFiYwogIGFiY3h5cHFyICAKCi94eXovYXV0b19jYWxsb3V0LG5vX3N0YXJ0X29wdGltaXplCiAgYWJjeHl6IApcPSBFeHBlY3Qgbm8gbWF0Y2ggCiAgYWJjCiAgYWJjeHlwcXIgIAoKLygqTk9fU1RBUlRfT1BUKXh5ei9hdXRvX2NhbGxvdXQKICBhYmN4eXogCiAgCi8oP0MpYWIvCiAgYWIKICBhYlw9Y2FsbG91dF9ub25lCiAgCi9hYi9hdXRvX2NhbGxvdXQKICBhYgogIGFiXD1jYWxsb3V0X25vbmUKCi9eIigoPyg/PVthXSlbXiJdKXxiKSoiJC9hdXRvX2NhbGxvdXQKICAgICJhYiIKICAgICJhYiJcPWNhbGxvdXRfbm9uZQoKL1xkK1h8OStZLwogICAgKysrKzEyMzk5OVw9cHMKICAgICsrKysxMjM5OTlZXD1wcwoKL1ooKkYpLwpcPSBFeHBlY3Qgbm8gbWF0Y2ggCiAgICBaXD1wcwogICAgWkFcPXBzCiAgICAKL1ooPyEpLwpcPSBFeHBlY3Qgbm8gbWF0Y2ggCiAgICBaXD1wcwogICAgWkFcPXBzCgovZG9nKHNib2R5KT8vCiAgICBkb2dzXD1wcwogICAgZG9nc1w9cGgKICAgIAovZG9nKHNib2R5KT8/LwogICAgZG9nc1w9cHMKICAgIGRvZ3NcPXBoCgovZG9nfGRvZ3Nib2R5LwogICAgZG9nc1w9cHMKICAgIGRvZ3NcPXBoCiAKL2RvZ3Nib2R5fGRvZy8KICAgIGRvZ3NcPXBzCiAgICBkb2dzXD1waAoKL1ooKkYpUXxaWFkvCiAgICBaXD1wcwpcPSBFeHBlY3Qgbm8gbWF0Y2ggCiAgICBaQVw9cHMKICAgIFhcPXBzCgovXGJ0aGUgY2F0XGIvCiAgICB0aGUgY2F0XD1wcwogICAgdGhlIGNhdFw9cGgKCi9kb2coc2JvZHkpPy8KICAgIGRvZ3NcPXBzCiAgICBib2R5XD1kZmFfcmVzdGFydAoKL2RvZyhzYm9keSk/LwogICAgZG9nc1w9cGgKICAgIGJvZHlcPWRmYV9yZXN0YXJ0CgovYWJjLwogICBhYmNcPXBzCiAgIGFiY1w9cGgKCi9hYmNcSzEyMy8KICAgIHh5emFiYzEyM3BxcgogICAgCi8oPzw9YWJjKTEyMy9hbGx1c2VkdGV4dAogICAgeHl6YWJjMTIzcHFyIAogICAgeHl6YWJjMTJcPXBzCiAgICB4eXphYmMxMlw9cGgKCi9cYmFiY1xiL2FsbHVzZWR0ZXh0CiAgICArKythYmMrKysKICAgICsrK2FiXD1wcwogICAgKysrYWJcPXBoCgovKD89QykvZyxhZnRlcnRleHQKICAgIEFCQ0RFQ0JBCgovKGFiY3xkZWZ8eHl6KS9JCiAgICB0ZXJoams7YWJjZGFhZHNmZQogICAgdGhlIHF1aWNrIHh5eiBicm93biBmb3ggClw9IEV4cGVjdCBubyBtYXRjaAogICAgdGhlams7YWRsZmogYWVuamw7ZmRhIGFzZGZhc2QgZWhqO2tqeHlhc2l1cGQKCi8oYWJjfGRlZnx4eXopL0ksbm9fc3RhcnRfb3B0aW1pemUKICAgIHRlcmhqazthYmNkYWFkc2ZlCiAgICB0aGUgcXVpY2sgeHl6IGJyb3duIGZveApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIHRoZWprO2FkbGZqIGFlbmpsO2ZkYSBhc2RmYXNkIGVoajtranh5YXNpdXBkCgovYWJjZCovYWZ0ZXJ0ZXh0CiAgICB4eHh4YWJjZFw9cHMKICAgIHh4eHhhYmNkXD1waAogICAgZGRkeHh4XD1kZmFfcmVzdGFydAogICAgeHh4eGFiY2RcPXBoCiAgICB4eHhcPWRmYV9yZXN0YXJ0CgovYWJjZCovaQogICAgeHh4eGFiY2RcPXBzCiAgICB4eHh4YWJjZFw9cGgKICAgIFhYWFhBQkNEXD1wcwogICAgWFhYWEFCQ0RcPXBoCgovYWJjXGQqLwogICAgeHh4eGFiYzFcPXBzCiAgICB4eHh4YWJjMVw9cGgKCi9hYmNbZGVdKi8KICAgIHh4eHhhYmNkZVw9cHMKICAgIHh4eHhhYmNkZVw9cGgKCi8oPzooPzEpfEIpKEEoKkYpfEMpLwogICAgQUJDRAogICAgQ0NEClw9IEV4cGVjdCBubyBtYXRjaAogICAgQ0FEICAgCgovXig/Oig/MSl8QikoQSgqRil8QykvCiAgICBDQ0QKICAgIEJDRCAKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBBQkNECiAgICBDQUQKICAgIEJBRCAgICAKCi9eKD8hYSgqU0tJUCliKS8KICAgIGFjCiAgICAKL14oPz1hKCpTS0lQKWJ8YWMpLwogICAgYWMKICAgIAovXig/PWEoKlRIRU4pYnxhYykvCiAgICBhYwogICAgCi9eKD89YSgqUFJVTkUpYikvCiAgICBhYiAgCgovXig/KD8hYSgqU0tJUCliKSkvCiAgICBhYwoKLyg/PD1hYmMpZGVmL2FsbHVzZWR0ZXh0CiAgICBhYmNcPXBoCgovYWJjJC8KICAgIGFiYwogICAgYWJjXD1wcwogICAgYWJjXD1waAoKL2FiYyQvbQogICAgYWJjCiAgICBhYmNcbgogICAgYWJjXD1waAogICAgYWJjXG5cPXBoCiAgICBhYmNcPXBzCiAgICBhYmNcblw9cHMKCi9hYmNcei8KICAgIGFiYwogICAgYWJjXD1wcwogICAgYWJjXD1waAoKL2FiY1xaLwogICAgYWJjCiAgICBhYmNcPXBzCiAgICBhYmNcPXBoCgovYWJjXGIvCiAgICBhYmMKICAgIGFiY1w9cHMKICAgIGFiY1w9cGgKCi9hYmNcQi8KICAgIGFiY1w9cHMKICAgIGFiY1w9cGgKXD0gRXhwZWN0IG5vIG1hdGNoIAogICAgYWJjCgovLisvCiAgICBhYmNcPW9mZnNldD0wCiAgICBhYmNcPW9mZnNldD0xCiAgICBhYmNcPW9mZnNldD0yClw9IEJhZCBvZmZzZXRzCiAgICBhYmNcPW9mZnNldD00CiAgICBhYmNcPW9mZnNldD0tNCAKXD0gRXhwZWN0IG5vIG1hdGNoIAogICAgYWJjXD1vZmZzZXQ9MwoKL14oPzphKSsrXHcvCiAgICAgYWFhYWIKXD0gRXhwZWN0IG5vIG1hdGNoIAogICAgIGFhYWEgCiAgICAgYmJiIAoKL14oPzphYXwoPzphKSsrXHcpLwogICAgIGFhYWFiCiAgICAgYWFhYSAKXD0gRXhwZWN0IG5vIG1hdGNoIAogICAgIGJiYiAKCi9eKD86YSkqK1x3LwogICAgIGFhYWFiCiAgICAgYmJiIApcPSBFeHBlY3Qgbm8gbWF0Y2ggCiAgICAgYWFhYSAKCi9eKGEpKytcdy8KICAgICBhYWFhYgpcPSBFeHBlY3Qgbm8gbWF0Y2ggCiAgICAgYWFhYSAKICAgICBiYmIgCgovXihhfCkrK1x3LwogICAgIGFhYWFiClw9IEV4cGVjdCBubyBtYXRjaCAKICAgICBhYWFhIAogICAgIGJiYiAKCi8oPz1hYmMpezN9YWJjL2FmdGVydGV4dAogICAgYWJjYWJjYWJjClw9IEV4cGVjdCBubyBtYXRjaAogICAgeHl6ICAKICAgIAovKD89YWJjKSthYmMvYWZ0ZXJ0ZXh0CiAgICBhYmNhYmNhYmMKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICB4eXogIAogICAgCi8oPz1hYmMpKythYmMvYWZ0ZXJ0ZXh0CiAgICBhYmNhYmNhYmMKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICB4eXogIAogICAgCi8oPz1hYmMpezB9eHl6LwogICAgeHl6IAoKLyg/PWFiYyl7MX14eXovClw9IEV4cGVjdCBubyBtYXRjaAogICAgeHl6IAogICAgCi8oPz0oYSkpPy4vCiAgICBhYgogICAgYmMKICAgICAgCi8oPz0oYSkpPz8uLwogICAgYWIKICAgIGJjCgovXig/PShhKSl7MH1iKD8xKS8KICAgIGJhY2tnYW1tb24KCi9eKD89KD8xKSk/W2F6XShbYWJjXSlkLwogICAgYWJkIAogICAgemNkeHggCgovXig/IWEpezB9XHcrLwogICAgYWFhYWEKCi8oPzw9KGFiYykpP3h5ei8KICAgIGFiY3h5egogICAgcHFyeHl6IAoKLygoPzIpKSgoPzEpKS8KICAgIGFiYwoKLyg/KFIpYSt8KD9SKWIpLwogICAgYWFhYWJjZGUKCi8oPyhSKWErfCgoP1IpKWIpLwogICAgYWFhYWJjZGUKCi8oKD8oUilhK3woPzEpYikpLwogICAgYWFhYWJjZGUKCi8oKD8oUjIpYSt8KD8xKWIpKSgpLwogICAgYWFhYWJjZGUKCi8oPyhSKWEqKD8xKXwoKD9SKSliKS8KICAgIGFhYWFiY2RlCgovKGErKS9ub19hdXRvX3Bvc3Nlc3MKICAgIGFhYWFcPW92ZWN0b3I9MwogICAgYWFhYVw9b3ZlY3Rvcj00CgovXlxSLwogICAgXHJcPXBzCiAgICBcclw9cGgKICAgIAovXlxSezIsM314LwogICAgXHJcPXBzCiAgICBcclw9cGgKICAgIFxyXHJcPXBzCiAgICBcclxyXD1waAogICAgXHJcclxyXD1wcwogICAgXHJcclxyXD1waAogICAgXHJccngKICAgIFxyXHJccnggICAgCgovXlxSezIsM30/eC8KICAgIFxyXD1wcwogICAgXHJcPXBoCiAgICBcclxyXD1wcwogICAgXHJcclw9cGgKICAgIFxyXHJcclw9cHMKICAgIFxyXHJcclw9cGgKICAgIFxyXHJ4CiAgICBcclxyXHJ4ICAgIAogICAgCi9eXFI/eC8KICAgIFxyXD1wcwogICAgXHJcPXBoCiAgICB4CiAgICBccnggIAoKL15cUit4LwogICAgXHJcPXBzCiAgICBcclw9cGgKICAgIFxyXG5cPXBzCiAgICBcclxuXD1waAogICAgXHJ4ICAKCi9eYSQvbmV3bGluZT1jcmxmCiAgICBhXHJcPXBzCiAgICBhXHJcPXBoCgovXmEkL20sbmV3bGluZT1jcmxmCiAgICBhXHJcPXBzCiAgICBhXHJcPXBoCgovXihhJHxhXHIpL25ld2xpbmU9Y3JsZgogICAgYVxyXD1wcwogICAgYVxyXD1waAoKL14oYSR8YVxyKS9tLG5ld2xpbmU9Y3JsZgogICAgYVxyXD1wcwogICAgYVxyXD1waAoKLy4vbmV3bGluZT1jcmxmCiAgICBcclw9cHMKICAgIFxyXD1waAogIAovLnsyLDN9L25ld2xpbmU9Y3JsZgogICAgXHJcPXBzCiAgICBcclw9cGgKICAgIFxyXHJcPXBzCiAgICBcclxyXD1waAogICAgXHJcclxyXD1wcwogICAgXHJcclxyXD1waAoKLy57MiwzfT8vbmV3bGluZT1jcmxmCiAgICBcclw9cHMKICAgIFxyXD1waAogICAgXHJcclw9cHMKICAgIFxyXHJcPXBoCiAgICBcclxyXHJcPXBzCiAgICBcclxyXHJcPXBoCgojIFRlc3Qgc2ltcGxlIHZhbGlkaXR5IGNoZWNrIGZvciByZXN0YXJ0cyAKCi9hYmNkZWYvCiAgIGFiY1w9ZGZhX3Jlc3RhcnQKCi88SCgoPyg/ITxIfEY+KSguKXwoP1IpKSsrKSpGPi8KICAgIHRleHQgPEggbW9yZSB0ZXh0IDxIIHRleHRpbmcgbW9yZSAgaGV4QTAtIlx4QTAiICAgIGhleCBhYm92ZSA3Ri0iXHhCQyIgRj4gdGV4dCB4eHh4eCA8SCB0ZXh0IEY+IHRleHQgRj4gdGV4dDIgPEggdGV4dCBzYW1wbGUgRj4gbW9yZSB0ZXh0LgoKL14oPz4uezR9KWFiY3xeXHdcdy54YWJjZC8KICAgIHh4eHhhYmNkCiAgICB4eFx4YTB4YWJjZCAKCi9eKC57NH0pezJ9K2FiY3xeXHdcdy54XHdcd1x3XHdhYmNkLwogICAgeHh4eHh4eHhhYmNkCiAgICB4eFx4YTB4eHh4eGFiY2QgCgovYWJjZC8KICAgIGFiY2RcPW92ZWN0b3I9MAoKIyBUaGVzZSB0ZXN0cyBzaG93IHVwIGF1dG8tcG9zc2Vzc2lmaWNhdGlvbiAKCi9bYWJdKi8KICAgIGFhYWEKICAgIAovW2FiXSo/LwogICAgYWFhYQogICAgCi9bYWJdPy8KICAgIGFhYWEKICAgIAovW2FiXT8/LwogICAgYWFhYQogICAgCi9bYWJdKy8KICAgIGFhYWEKICAgIAovW2FiXSs/LwogICAgYWFhYQogICAgCi9bYWJdezIsM30vCiAgICBhYWFhCiAgICAKL1thYl17MiwzfT8vCiAgICBhYWFhCiAgICAKL1thYl17Mix9LwogICAgYWFhYSAgICAKCi9bYWJdezIsfT8vCiAgICBhYWFhICAgIAoKJ1xBKD86W15cIl0rK3xcIig/OlteXCJdKit8XCJcIikqK1wiKSsrJwogICAgTk9OIFFVT1RFRCBcIlFVT1RcIlwiRURcIiBBRlRFUiBcIk5PVCBNQVRDSEVECgonXEEoPzpbXlwiXSsrfFwiKD86W15cIl0rK3xcIlwiKSorXCIpKysnCiAgICBOT04gUVVPVEVEIFwiUVVPVFwiXCJFRFwiIEFGVEVSIFwiTk9UIE1BVENIRUQKCi9hYmMoPz14eXopL2FsbHVzZWR0ZXh0CiAgICBhYmN4eXpwcXIKICAgIGFiY3h5enBxclw9YWZ0ZXJ0ZXh0CiAgICAKLyg/PD1wcXIpYWJjKD89eHl6KS9hbGx1c2VkdGV4dAogICAgeHl6cHFyYWJjeHl6cHFyCiAgICB4eXpwcXJhYmN4eXpwcXJcPWFmdGVydGV4dAogICAgCi9hXGIvCiAgICBhLlw9YWxsdXNlZHRleHQKICAgIGFcPWFsbHVzZWR0ZXh0ICAKCi9hYmMoPz1hYmNkZSkoPz1hYikvYWxsdXNlZHRleHQKICAgIGFiY2FiY2RlZmcKCi9hKj9iKj8vCiAgICBhYgoKLygqTk9URU1QVFkpYSo/Yio/LwogICAgYWIKICAgIGJhCiAgICBjYiAgCgovKCpOT1RFTVBUWV9BVFNUQVJUKWEqP2IqPy9hZnRlcnRleHQKICAgIGFiCiAgICBjZGFiIAoKLyhhKShiKXwoYykvCiAgICBYY1hcPW92ZWN0b3I9MixnZXQ9MSxnZXQ9MixnZXQ9MyxnZXQ9NCxnZXRhbGwKCi8oPzxBPmFhKS8KICAgIGFhXD1nZXQ9QQogICAgYWFcPWNvcHk9QSAKCi9hKy9ub19hdXRvX3Bvc3Nlc3MKICAgIGFcPW92ZWN0b3I9MixnZXQ9MSxnZXQ9MixnZXRhbGwKICAgIGFhYVw9b3ZlY3Rvcj0yLGdldD0xLGdldD0yLGdldGFsbAoKL2EoYiljKGQpLwogICAgYWJjXD1waCxjb3B5PTAsY29weT0xLGdldGFsbAoKL2FiKD9DIiBhbnkgdGV4dCB3aXRoIHNwYWNlcyAiKWNkZS9CCiAgICBhYmNkZQogICAgMTJhYmNkZQoKL15hKGIpYyg/QzEpZGVmLwogICAgICBhYmNkZWYKCi9eYShiKWMoP0MiQUIiKWRlZi8KICAgICAgYWJjZGVmCgovXmEoYiljKD9DMSlkZWYvCiAgICAgIGFiY2RlZlw9Y2FsbG91dF9jYXB0dXJlCgovXmEoYiljKD9De0FCfSlkZWYvQgogICAgICBhYmNkZWZcPWNhbGxvdXRfY2FwdHVyZQoKL14oPyg/QzI1KSg/PWFiYylhYmNkfHh5eikvQgogICAgYWJjZGVmZwogICAgeHl6MTIzIAoKL14oPyg/QyRhYmMkKSg/PWFiYylhYmNkfHh5eikvQgogICAgYWJjZGVmZwogICAgeHl6MTIzIAoKL15hYig/QydmaXJzdCcpY2QoP0Mic2Vjb25kIillZi8KICAgIGFiY2RlZmcKCi8oPzphKD9DYGNvZGVgKSl7M31YLwogICAgYWFhWFkKCiMgQmluYXJ5IHplcm8gaW4gY2FsbG91dCBzdHJpbmcKLyJhKD9DJ3giIDAwICJ6JyliIi9oZXgKICAgIGFiY2RlZmdoCgovKD8oPyEpYXxiKS8KICAgIGJiYgpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFhYSAKCi9eL2dtCiAgICBcblxuXG4KCi9eL2dtLGFsdF9jaXJjdW1mbGV4CiAgICBcblxuXG4KCi9hYmMvdXNlX29mZnNldF9saW1pdAogICAgMTIzNGFiY2RlXD1vZmZzZXRfbGltaXQ9MTAwCiAgICAxMjM0YWJjZGVcPW9mZnNldF9saW1pdD05CiAgICAxMjM0YWJjZGVcPW9mZnNldF9saW1pdD00CiAgICAxMjM0YWJjZGVcPW9mZnNldF9saW1pdD00LG9mZnNldD00Clw9IEV4cGVjdCBubyBtYXRjaAogICAgMTIzNGFiY2RlXD1vZmZzZXRfbGltaXQ9NCxvZmZzZXQ9NQogICAgMTIzNGFiY2RlXD1vZmZzZXRfbGltaXQ9MwoKLyg/PD1hYmMpL3VzZV9vZmZzZXRfbGltaXQKICAgIDEyMzRhYmNcPW9mZnNldF9saW1pdD03Clw9IEV4cGVjdCBubyBtYXRjaAogICAgMTIzNGFiY1w9b2Zmc2V0X2xpbWl0PTYKCi9hYmNkL251bGxfY29udGV4dAogICAgYWJjZFw9bnVsbF9jb250ZXh0CgovKCkoKWErL25vX2F1dG9fcG9zc2VzcwogICAgYWFhXD1hbGxjYXB0dXJlcwogICAgYVw9YWxsY2FwdHVyZXMKCi8oKkxJTUlUX0RFUFRIPTEwMCleKCguKSg/MSl8LikkLwpcPSBFeHBlY3QgZGVwdGggbGltaXQgZXhjZWVkZWQKICAgIGFbMDBdKFswMF0oWzAwXShbMDBdKFswMF0oWzAwXShbMDBdKFswMF0oWzAwXShbMDBdKFswMF0oWzAwXShbMDBdKFswMF0oWzAwXShbMDBdKFswMF0oWzAwXShbMDBdKFswMF0oWzAwXShbMDBdKFswMF0oWzAwXQoKLygqTElNSVRfSEVBUD0wKV4oKC4pKD8xKXwuKSQvClw9IEV4cGVjdCBoZWFwIGxpbWl0IGV4Y2VlZGVkCiAgICBhWzAwXShbMDBdKFswMF0oWzAwXShbMDBdKFswMF0oWzAwXShbMDBdKFswMF0oWzAwXShbMDBdKFswMF0oWzAwXShbMDBdKFswMF0oWzAwXShbMDBdKFswMF0oWzAwXShbMDBdKFswMF0oWzAwXShbMDBdKFswMF0KCi8oKkxJTUlUX0hFQVA9NTAwMDApXigoLikoPzEpfC4pJC8KXD0gRXhwZWN0IHN1Y2Nlc3MKICAgIGFbMDBdKFswMF0oWzAwXShbMDBdKFswMF0oWzAwXShbMDBdKFswMF0oWzAwXShbMDBdKFswMF0oWzAwXShbMDBdKFswMF0oWzAwXShbMDBdKFswMF0oWzAwXShbMDBdKFswMF0oWzAwXShbMDBdKFswMF0oWzAwXQoKLygwMi0pP1swLTldezN9LVswLTldezN9LwogICAgMDItMTIzLTEyMwoKL14oYSg/MikpKGIpKD8xKS8KICAgIGFiYmFiXD1maW5kX2xpbWl0cyAKCi9hYmMvZW5kYW5jaG9yZWQKICAgIHh5emFiYwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIHh5emFiY2RlZgpcPSBFeHBlY3QgZXJyb3IKICAgIHh5emFiY1w9cGgKCi9hYmMvCiAgICB4eXphYmNcPWVuZGFuY2hvcmVkClw9IEV4cGVjdCBubyBtYXRjaAogICAgeHl6YWJjZGVmXD1lbmRhbmNob3JlZApcPSBFeHBlY3QgZXJyb3IKICAgIHh5emFiY1w9cHMsZW5kYW5jaG9yZWQKCi9hYmN8YmNkL2VuZGFuY2hvcmVkCiAgICB4eXphYmNkClw9IEV4cGVjdCBubyBtYXRjaAogICAgeHl6YWJjZGVmCgovKCpOVUwpXi4qLwogICAgYVxuYlx4MDBjY2MKICAgIAovKCpOVUwpXi4qL3MKICAgIGFcbmJceDAwY2NjCiAgICAKL154L20sbmV3bGluZT1udWwKICAgIGFiXHgwMHh5CiAgICAKLycjY29tbWVudCcgMGQgMGEgMDAgJ154XCcgMGEgJ3knL3gsbmV3bGluZT1udWwsaGV4CiAgICB4XG55eiAKIAovKCpOVUwpXlhcTlkvCiAgICBYXG5ZCiAgICBYXHJZClw9IEV4cGVjdCBubyBtYXRjaAogICAgWFx4MDBZICAgICAgCgovKD88PWFiY3wpLwogICAgYWJjZGVcPWFmdGVydGV4dAogICAgCi8oPzw9fGFiYykvIAogICAgYWJjZGVcPWFmdGVydGV4dAoKLyg/PD1hYmN8KS9lbmRhbmNob3JlZAogICAgYWJjZGVcPWFmdGVydGV4dAogICAgCi8oPzw9fGFiYykvZW5kYW5jaG9yZWQKICAgIGFiY2RlXD1hZnRlcnRleHQKCi8oKkxJTUlUX01BVENIPTEwMCkuKig/IVt8SF0/LiooPyFbfEhdPyk7KTsuKig/IVt8SF0/LiooPyFbfEhdPyk7KTtceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwKD8hKD8hKD8hKD8hKD8hKD8hKD8hKD8hKD8hKD8hKD8hKD8hKD8hKD8hKD8hKD8hKD8hKD8hKD8hKD8hKD8hKD8hKD8hKD8hKD8hKD8hKD8hKD8hKD8hKD8hKD8hKD8hKD8hKD8hW3wpOyk/LiooIVt8SF0/KTspPy4qKD8hW3xIXT8pOyk/LiooPyFbfEhdPyk7KT8uKig/IVt8SF0pOyk7IVt8SF0/KTspO1t8SF0/KTt8SF0/KTspXHgwMFx4MDBceDAwC1x4MDBceDAwXHgwMBlIXT8pOyk7PyFbfEhdPyk7KT8uKig/IVt8SF0/KTspO1t8fEhdPyk7KT8uKig/IVt8SF0/KTspO1t8SF0/KTsoPyFbfEhdPyk7KTshW3xIXT8pOyk7W3xIXT8pO3xIXT8pOyk/LiooPyFbfEhdPyk7KTs7WxNceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIVt8SF0/KTspOyFbfEhdPyk7KTtbfEhdPyk7fEhdPyk7KT8uKig/IVt8SF0/KTspOy9ub19kb3RzdGFyX2FuY2hvcgpcPSBFeHBlY3QgbGltaXQgZXhjZWVkZWQKLiooPyFbfEhdPy4qKD8hW3xIXT8pOyk7LiooPyFbfEhdPy4qKD8hW3xIXT8pOyk7XHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCg/ISg/ISg/ISg/ISg/ISg/ISg/ISg/ISg/ISg/ISg/ISg/ISg/ISg/ISg/ISg/ISg/ISg/ISg/ISg/ISg/ISg/ISg/ISg/ISg/ISg/ISg/ISg/ISg/ISg/ISg/ISg/ISg/ISg/IVt8KTspPy4qKCFbfEhdPyk7KT8uKig/IVt8SF0/KTspPy4qKD8hW3xIXT8pOyk/LiooPyFbfEhdKTspOyFbfEhdPyk7KTtbfEhdPyk7fEhdPyk7KVx4MDBceDAwXHgwMAtceDAwXHgwMFx4MDAZSF0/KTspOz8hW3xIXT8pOyk/LiooPyFbfEhdPyk7KTtbfHxIXT8pOyk/LiooPyFbfEhdPyk7KTtbfEhdPyk7KD8hW3xIXT8pOyk7IVt8SF0/KTspO1t8SF0/KTt8SF0/KTspPy4qKD8hW3xIXT8pOyk7O1sTXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCFbfEhdPyk7KTshW3xIXT8pOyk7W3xIXT8pO3xIXT8pOyk/LiooPyFbfEhdPyk7KTsKCi9cbi9maXJzdGxpbmUKICAgIHh5elxuYWJjCgovXG5hYmMvZmlyc3RsaW5lCiAgICB4eXpcbmFiYwoKL1x4ezBhfWFiYy9maXJzdGxpbmUsbmV3bGluZT1jcmxmClw9IEV4cGVjdCBubyBtYXRjaAogICAgeHl6XHJcbmFiYwoKL1thYmNdL2ZpcnN0bGluZQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIFxuYQogICAgCi9mb29iYXIvCiAgICB0aGUgZm9vYmFyIHRoaW5nXD1jb3B5X21hdGNoZWRfc3ViamVjdAogICAgdGhlIGZvb2JhciB0aGluZ1w9Y29weV9tYXRjaGVkX3N1YmplY3QsemVyb190ZXJtaW5hdGUKCi9mb29iYXIvZwogICAgdGhlIGZvb2JhciB0aGluZyBmb29iYXIgYWdhaW5cPWNvcHlfbWF0Y2hlZF9zdWJqZWN0CgovKD8oVkVSU0lPTj49MCleQjBXKS8KICAgIEIwVy1XMFcKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICAwCgovKD8oVkVSU0lPTj49MTAwMCleQjBXfFcwVykvCiAgICBCMFctVzBXClw9IEV4cGVjdCBubyBtYXRjaAogICAgMAoKLyg/PD1wcXIpYWJjKD89eHl6KS8KICAgIDEyM3BxcmFiY3h5XD1wcyxhbGx1c2VkdGV4dAogICAgMTIzcHFyYWJjeHl6XD1wcyxhbGx1c2VkdGV4dAoKLyg/PmErYikvCiAgICBhYWFhXD1wcwogICAgYWFhYWJcPXBzCiAgICAKLyhhYmMpKD8xKS8KICAgIGFiY2FcPXBzCiAgICBhYmNhYmNcPXBzCgovKD8oPz1hYmMpLip8WikvCiAgICBhYlw9cHMKICAgIGFiY3h5elw9cHMKCi8oYWJjKSsreC8KICAgIGFiY2FiXD1wcwogICAgYWJjXD1wcyAKICAgIGFiXD1wcwogICAgYWJjeCAgCgovXHovCiAgICBhYmNcPXBoIAogICAgYWJjXD1wcyAKICAgCi9cWi8KICAgIGFiY1w9cGggCiAgICBhYmNcPXBzIAogICAgYWJjXG5cPXBoCiAgICBhYmNcblw9cHMKCi9jKisoPzw9W2JjXSkvCiAgICBhYmNcPXBoCiAgICBhYlw9cGgKICAgIGFiY1w9cHMKICAgIGFiXD1wcwoKL2MrKyg/PD1bYmNdKS8KICAgIGFiY1w9cGgKICAgIGFiXD1waAoKLyg/PD0oPz0uKD88PXgpKSkvCiAgICBhYngKICAgIGFiXD1waAogICAgYnh5eiAKICAgIHh5egoKLyg/IVthYl0pLiovCiAgICBhYlw9cGgKCi9jKisvCiAgICBhYlw9cGgsb2Zmc2V0PTIKCiMgRW5kIG9mIHRlc3RpbnB1dDYK