IyBUaGlzIHNldCBvZiB0ZXN0cyBpcyBmb3IgVVRGLTggc3VwcG9ydCBhbmQgVW5pY29kZSBwcm9wZXJ0eSBzdXBwb3J0LCB3aXRoCiMgcmVsZXZhbmNlIG9ubHkgZm9yIHRoZSA4LWJpdCBsaWJyYXJ5LgoKIyBUaGUgbmV4dCA1IHBhdHRlcm5zIGhhdmUgVVRGLTggZXJyb3JzCgovW8NdL3V0ZgoKL8MvdXRmCgovw8PDeHh4L3V0ZgoKL8OCgoKCgoKCgsMvdXRmCgovw4KCgoKCgoKCwy9tYXRjaF9pbnZhbGlkX3V0ZgoKIyBOb3cgdGVzdCBzdWJqZWN0cwoKL2JhZHV0Zi91dGYKXD0gRXhwZWN0IFVURi04IGVycm9ycwogICAgWFx4ZGYKICAgIFhYXHhlZgogICAgWFhYXHhlZlx4ODAKICAgIFhceGY3CiAgICBYWFx4ZjdceDgwCiAgICBYWFhceGY3XHg4MFx4ODAKICAgIFx4ZmIKICAgIFx4ZmJceDgwCiAgICBceGZiXHg4MFx4ODAKICAgIFx4ZmJceDgwXHg4MFx4ODAKICAgIFx4ZmQKICAgIFx4ZmRceDgwCiAgICBceGZkXHg4MFx4ODAKICAgIFx4ZmRceDgwXHg4MFx4ODAKICAgIFx4ZmRceDgwXHg4MFx4ODBceDgwCiAgICBceGRmXHg3ZgogICAgXHhlZlx4N2ZceDgwCiAgICBceGVmXHg4MFx4N2YKICAgIFx4ZjdceDdmXHg4MFx4ODAKICAgIFx4ZjdceDgwXHg3Zlx4ODAKICAgIFx4ZjdceDgwXHg4MFx4N2YKICAgIFx4ZmJceDdmXHg4MFx4ODBceDgwCiAgICBceGZiXHg4MFx4N2ZceDgwXHg4MAogICAgXHhmYlx4ODBceDgwXHg3Zlx4ODAKICAgIFx4ZmJceDgwXHg4MFx4ODBceDdmCiAgICBceGZkXHg3Zlx4ODBceDgwXHg4MFx4ODAKICAgIFx4ZmRceDgwXHg3Zlx4ODBceDgwXHg4MAogICAgXHhmZFx4ODBceDgwXHg3Zlx4ODBceDgwCiAgICBceGZkXHg4MFx4ODBceDgwXHg3Zlx4ODAKICAgIFx4ZmRceDgwXHg4MFx4ODBceDgwXHg3ZgogICAgXHhlZFx4YTBceDgwCiAgICBceGMwXHg4ZgogICAgXHhlMFx4ODBceDhmCiAgICBceGYwXHg4MFx4ODBceDhmCiAgICBceGY4XHg4MFx4ODBceDgwXHg4ZgogICAgXHhmY1x4ODBceDgwXHg4MFx4ODBceDhmCiAgICBceDgwCiAgICBceGZlCiAgICBceGZmCgovYmFkdXRmL3V0ZgpcPSBFeHBlY3QgVVRGLTggZXJyb3JzCiAgICBYWFx4ZmJceDgwXHg4MFx4ODBceDgwCiAgICBYWFx4ZmRceDgwXHg4MFx4ODBceDgwXHg4MAogICAgWFhceGY3XHhiZlx4YmZceGJmCgovc2hvcnR1dGYvdXRmClw9IEV4cGVjdCBVVEYtOCBlcnJvcnMKICAgIFhYXHhkZlw9cGgKICAgIFhYXHhlZlw9cGgKICAgIFhYXHhlZlx4ODBcPXBoCiAgICBceGY3XD1waAogICAgXHhmN1x4ODBcPXBoCiAgICBceGY3XHg4MFx4ODBcPXBoCiAgICBceGZiXD1waAogICAgXHhmYlx4ODBcPXBoCiAgICBceGZiXHg4MFx4ODBcPXBoCiAgICBceGZiXHg4MFx4ODBceDgwXD1waAogICAgXHhmZFw9cGgKICAgIFx4ZmRceDgwXD1waAogICAgXHhmZFx4ODBceDgwXD1waAogICAgXHhmZFx4ODBceDgwXHg4MFw9cGgKICAgIFx4ZmRceDgwXHg4MFx4ODBceDgwXD1waAoKL2FueXRoaW5nL3V0ZgpcPSBFeHBlY3QgVVRGLTggZXJyb3JzCiAgICBYXHhjMFx4ODAKICAgIFhYXHhjMVx4OGYKICAgIFhYWFx4ZTBceDlmXHg4MAogICAgXHhmMFx4OGZceDgwXHg4MAogICAgXHhmOFx4ODdceDgwXHg4MFx4ODAKICAgIFx4ZmNceDgzXHg4MFx4ODBceDgwXHg4MAogICAgXHhmZVx4ODBceDgwXHg4MFx4ODBceDgwCiAgICBceGZmXHg4MFx4ODBceDgwXHg4MFx4ODAKICAgIFx4ZjhceDg4XHg4MFx4ODBceDgwCiAgICBceGY5XHg4N1x4ODBceDgwXHg4MAogICAgXHhmY1x4ODRceDgwXHg4MFx4ODBceDgwCiAgICBceGZkXHg4M1x4ODBceDgwXHg4MFx4ODAKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBceGMzXHg4ZgogICAgXHhlMFx4YWZceDgwCiAgICBceGUxXHg4MFx4ODAKICAgIFx4ZjBceDlmXHg4MFx4ODAKICAgIFx4ZjFceDhmXHg4MFx4ODAKICAgIFx4ZjhceDg4XHg4MFx4ODBceDgwXD1ub191dGZfY2hlY2sKICAgIFx4ZjlceDg3XHg4MFx4ODBceDgwXD1ub191dGZfY2hlY2sKICAgIFx4ZmNceDg0XHg4MFx4ODBceDgwXHg4MFw9bm9fdXRmX2NoZWNrCiAgICBceGZkXHg4M1x4ODBceDgwXHg4MFx4ODBcPW5vX3V0Zl9jaGVjawogICAgCiMgU2ltaWxhciB0ZXN0cyB3aXRoIG9mZnNldHMKCi9iYWR1dGYvdXRmClw9IEV4cGVjdCBVVEYtOCBlcnJvcnMKICAgIFhceGRmYWJjZAogICAgWFx4ZGZhYmNkXD1vZmZzZXQ9MQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIFhceGRmYWJjZFw9b2Zmc2V0PTIKCi8oPzw9eCliYWR1dGYvdXRmClw9IEV4cGVjdCBVVEYtOCBlcnJvcnMKICAgIFhceGRmYWJjZAogICAgWFx4ZGZhYmNkXD1vZmZzZXQ9MQogICAgWFx4ZGZhYmNkXD1vZmZzZXQ9MgogICAgWFx4ZGZhYmNkXHhkZlw9b2Zmc2V0PTMKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBYXHhkZmFiY2RcPW9mZnNldD0zCgovKD88PXh4KWJhZHV0Zi91dGYKXD0gRXhwZWN0IFVURi04IGVycm9ycwogICAgWFx4ZGZhYmNkCiAgICBYXHhkZmFiY2RcPW9mZnNldD0xCiAgICBYXHhkZmFiY2RcPW9mZnNldD0yCiAgICBYXHhkZmFiY2RcPW9mZnNldD0zCgovKD88PXh4eHgpYmFkdXRmL3V0ZgpcPSBFeHBlY3QgVVRGLTggZXJyb3JzCiAgICBYXHhkZmFiY2QKICAgIFhceGRmYWJjZFw9b2Zmc2V0PTEKICAgIFhceGRmYWJjZFw9b2Zmc2V0PTIKICAgIFhceGRmYWJjZFw9b2Zmc2V0PTMKICAgIFhceGRmYWJjXHhkZlw9b2Zmc2V0PTYKICAgIFhceGRmYWJjXHhkZlw9b2Zmc2V0PTcKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBYXHhkZmFiY2RcPW9mZnNldD02CiAKL1x4ezEwMH0vSUIsdXRmCgovXHh7MTAwMH0vSUIsdXRmCgovXHh7MTAwMDB9L0lCLHV0ZgoKL1x4ezEwMDAwMH0vSUIsdXRmCgovXHh7MTBmZmZmfS9JQix1dGYKCi9bXHh7ZmZ9XS9JQix1dGYKCi9bXHh7MTAwfV0vSUIsdXRmCgovXHg4MC9JQix1dGYKCi9ceGZmL0lCLHV0ZgoKL1x4e0Q1NWN9XHh7YWQ2ZH1ceHtDNUI0fS9JQix1dGYKICAgIFx4e0Q1NWN9XHh7YWQ2ZH1ceHtDNUI0fQoKL1x4ezY1ZTV9XHh7NjcyY31ceHs4YTllfS9JQix1dGYKICAgIFx4ezY1ZTV9XHh7NjcyY31ceHs4YTllfQoKL1x4ezgwfS9JQix1dGYKCi9ceHswODR9L0lCLHV0ZgoKL1x4ezEwNH0vSUIsdXRmCgovXHh7ODYxfS9JQix1dGYKCi9ceHsyMTJhYn0vSUIsdXRmCgovW15hYlx4QzAtXHhGMF0vSUIsdXRmCiAgICBceHtmMX0KICAgIFx4e2JmfQogICAgXHh7MTAwfQogICAgXHh7MTAwMH0KXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBceHtjMH0KICAgIFx4e2YwfQoKL8SAezMsNH0vSUIsdXRmCiAgXHh7MTAwfVx4ezEwMH1ceHsxMDB9XHh7MTAwXHh7MTAwfQoKLyhceHsxMDB9K3x4KS9JQix1dGYKCi8oXHh7MTAwfSphfHgpL0lCLHV0ZgoKLyhceHsxMDB9ezAsMn1hfHgpL0lCLHV0ZgoKLyhceHsxMDB9ezEsMn1hfHgpL0lCLHV0ZgoKL1x4ezEwMH0vSUIsdXRmCgovYVx4ezEwMH1ceHsxMDF9Ki9JQix1dGYKCi9hXHh7MTAwfVx4ezEwMX0rL0lCLHV0ZgoKL1teXHh7YzR9XS9JQgoKL1tceHsxMDB9XS9JQix1dGYKICAgIFx4ezEwMH0KICAgIFpceHsxMDB9CiAgICBceHsxMDB9WgoKL1tceGZmXS9JQix1dGYKICAgID5ceHtmZn08CgovW15ceGZmXS9JQix1dGYKCi9ceHsxMDB9YWJjKHh5eig/MSkpL0lCLHV0ZgoKL1w3NzcvSSx1dGYKICBceHsxZmZ9CiAgXDc3NwoKL1x4ezEwMH0rXHh7MjAwfS9JQix1dGYKCi9ceHsxMDB9K1gvSUIsdXRmCgovXltcUcSAXEUtXFHFkFxFL0IsdXRmCgojIFRoaXMgdGVzdHMgdGhlIHN0cmljdGVyIFVURi04IGNoZWNrIGFjY29yZGluZyB0byBSRkMgMzYyOS4KCi9YL3V0ZgpcPSBFeHBlY3QgVVRGLTggZXJyb3JzCiAgICBceHtkODAwfQogICAgXHh7ZGEwMH0KICAgIFx4e2RmZmZ9CiAgICBceHsxMTAwMDB9CiAgICBceHsyMDAwMDAwfQogICAgXHh7N2ZmZmZmZmZ9Clw9IEV4cGVjdCBubyBtYXRjaAogICAgXHh7ZDgwMH1cPW5vX3V0Zl9jaGVjawogICAgXHh7ZGEwMH1cPW5vX3V0Zl9jaGVjawogICAgXHh7ZGZmZn1cPW5vX3V0Zl9jaGVjawogICAgXHh7MTEwMDAwfVw9bm9fdXRmX2NoZWNrCiAgICBceHsyMDAwMDAwfVw9bm9fdXRmX2NoZWNrCiAgICBceHs3ZmZmZmZmZn1cPW5vX3V0Zl9jaGVjawoKLygqVVRGOClceHsxMjM0fS8KICAgIGFiY2RceHsxMjM0fXBxcgoKLygqQ1JMRikoKlVURikoKkJTUl9VTklDT0RFKWFcUmIvSQoKL1xoL0ksdXRmCiAgICBBQkNceHswOX0KICAgIEFCQ1x4ezIwfQogICAgQUJDXHh7YTB9CiAgICBBQkNceHsxNjgwfQogICAgQUJDXHh7MTgwZX0KICAgIEFCQ1x4ezIwMDB9CiAgICBBQkNceHsyMDJmfQogICAgQUJDXHh7MjA1Zn0KICAgIEFCQ1x4ezMwMDB9CgovXHYvSSx1dGYKICAgIEFCQ1x4ezBhfQogICAgQUJDXHh7MGJ9CiAgICBBQkNceHswY30KICAgIEFCQ1x4ezBkfQogICAgQUJDXHh7ODV9CiAgICBBQkNceHsyMDI4fQoKL1xoKkEvSSx1dGYKICAgIENEQkFCQwoKL1x2K0EvSSx1dGYKCi9ccz94eHhccy9JLHV0ZgoKL1xzeHh4XHMvSSx1dGYsdGFibGVzPTIKICAgIEFCXHh7ODV9eHh4XHh7YTB9WFlaCiAgICBBQlx4e2EwfXh4eFx4ezg1fVhZWgoKL1xTIFxTL0ksdXRmLHRhYmxlcz0yCiAgICBceHthMn0gXHh7ODR9CiAgICBBIFoKCi9hKy91dGYKICAgIGFceHsxMjN9YWFcPW9mZnNldD0xCiAgICBhXHh7MTIzfWFhXD1vZmZzZXQ9MwogICAgYVx4ezEyM31hYVw9b2Zmc2V0PTQKXD0gRXhwZWN0IGJhZCBvZmZzZXQgdmFsdWUKICAgIGFceHsxMjN9YWFcPW9mZnNldD02Clw9IEV4cGVjdCBiYWQgVVRGLTggb2Zmc2V0ICAgICAKICAgIGFceHsxMjN9YWFcPW9mZnNldD0yClw9IEV4cGVjdCBubyBtYXRjaAogICAgYVx4ezEyM31hYVw9b2Zmc2V0PTUKCi9ceHsxMjM0fSsvSWksdXRmCgovXHh7MTIzNH0rPy9JaSx1dGYKCi9ceHsxMjM0fSsrL0lpLHV0ZgoKL1x4ezEyMzR9ezJ9L0lpLHV0ZgoKL1teXHh7YzR9XS9JQix1dGYKCi9YK1x4ezIwMH0vSUIsdXRmCgovXFIvSSx1dGYKCi9cNzc3L0lCLHV0ZgoKL1x3K1x4e0M0fS9CLHV0ZgogICAgYVx4e0M0fVx4e0M0fQoKL1x3K1x4e0M0fS9CLHV0Zix0YWJsZXM9MgogICAgYVx4e0M0fVx4e0M0fQoKL1xXK1x4e0M0fS9CLHV0ZgogICAgIVx4e0M0fQoKL1xXK1x4e0M0fS9CLHV0Zix0YWJsZXM9MgogICAgIVx4e0M0fQoKL1xXK1x4e0ExfS9CLHV0ZgogICAgIVx4e0ExfQoKL1xXK1x4e0ExfS9CLHV0Zix0YWJsZXM9MgogICAgIVx4e0ExfQoKL1hccytceHtBMH0vQix1dGYKICAgIFhceDIwXHh7QTB9XHh7QTB9CgovWFxzK1x4e0EwfS9CLHV0Zix0YWJsZXM9MgogICAgWFx4MjBceHtBMH1ceHtBMH0KCi9cUytceHtBMH0vQix1dGYKICAgIFhceHtBMH1ceHtBMH0KCi9cUytceHtBMH0vQix1dGYsdGFibGVzPTIKICAgIFhceHtBMH1ceHtBMH0KCi9ceHthMH0rXHMhL0IsdXRmCiAgICBceHthMH1ceDIwIQoKL1x4e2EwfStccyEvQix1dGYsdGFibGVzPTIKICAgIFx4e2EwfVx4MjAhCgovQS91dGYKICBceHtmZjAwMDA0MX0KICBceHs3ZjAwMDA0MX0KCi8oKlVURjgpYWJjL25ldmVyX3V0ZgoKL2FiYy91dGYsbmV2ZXJfdXRmCgovQVx4ezM5MX1ceHsxMDQyN31ceHtmZjNhfVx4ezFmYjB9L0lCaSx1dGYKCi9BXHh7MzkxfVx4ezEwNDI3fVx4e2ZmM2F9XHh7MWZiMH0vSUIsdXRmCgovQUJceHsxZmIwfS9JQix1dGYKCi9BQlx4ezFmYjB9L0lCaSx1dGYKCi9ceHs0MDF9XHh7NDIwfVx4ezQyMX1ceHs0MjJ9XHh7NDIzfVx4ezQyNH1ceHs0MjV9XHh7NDI2fVx4ezQyN31ceHs0Mjh9XHh7NDI5fVx4ezQyYX1ceHs0MmJ9XHh7NDJjfVx4ezQyZH1ceHs0MmV9XHh7NDJmfS9JaSx1dGYKICAgIFx4ezQwMX1ceHs0MjB9XHh7NDIxfVx4ezQyMn1ceHs0MjN9XHh7NDI0fVx4ezQyNX1ceHs0MjZ9XHh7NDI3fVx4ezQyOH1ceHs0Mjl9XHh7NDJhfVx4ezQyYn1ceHs0MmN9XHh7NDJkfVx4ezQyZX1ceHs0MmZ9CiAgICBceHs0NTF9XHh7NDQwfVx4ezQ0MX1ceHs0NDJ9XHh7NDQzfVx4ezQ0NH1ceHs0NDV9XHh7NDQ2fVx4ezQ0N31ceHs0NDh9XHh7NDQ5fVx4ezQ0YX1ceHs0NGJ9XHh7NDRjfVx4ezQ0ZH1ceHs0NGV9XHh7NDRmfQoKL1visaVdL0JpLHV0ZgoKL1te4rGlXS9CaSx1dGYKCi9caC9JCgovXHYvSQoKL1xSL0kKCi9bWzpibGFuazpdXS9CLHVjcAoKL1x4ezIxMmF9Ky9JaSx1dGYKICAgIEtLa2tceHsyMTJhfQoKL3MrL0lpLHV0ZgogICAgU1Nzc1x4ezE3Zn0KCi9ceHsxMDB9KkEvSUIsdXRmCiAgICBBCgovXHh7MTAwfSpcZCg/UikvSUIsdXRmCgovW1pceHsxMDB9XS9JQix1dGYKICAgIFpceHsxMDB9CiAgICBceHsxMDB9CiAgICBceHsxMDB9WgoKL1t6LVx4ezEwMH1dL0lCLHV0ZgoKL1t6XFFhLWRdxIBcRV0vSUIsdXRmCiAgICBceHsxMDB9CiAgICDEgCAKCi9bYWJceHsxMDB9XWFiYyh4eXooPzEpKS9JQix1dGYKCi9ceHsxMDB9KlxzL0lCLHV0ZgoKL1x4ezEwMH0qXGQvSUIsdXRmCgovXHh7MTAwfSpcdy9JQix1dGYKCi9ceHsxMDB9KlxEL0lCLHV0ZgoKL1x4ezEwMH0qXFMvSUIsdXRmCgovXHh7MTAwfSpcVy9JQix1dGYKCi9bXHh7MTA1fS1ceHsxMDl9XS9JQmksdXRmCiAgICBceHsxMDR9CiAgICBceHsxMDV9CiAgICBceHsxMDl9ICAKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBceHsxMDB9CiAgICBceHsxMGF9IAogICAgCi9bei1ceHsxMDB9XS9JQmksdXRmCiAgICBaCiAgICB6CiAgICBceHszOWN9CiAgICBceHsxNzh9CiAgICB8CiAgICBceHs4MH0KICAgIFx4e2ZmfQogICAgXHh7MTAwfQogICAgXHh7MTAxfSAKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBceHsxMDJ9CiAgICBZCiAgICB5ICAgICAgICAgICAKCi9bei1ceHsxMDB9XS9JQmksdXRmCgovXHh7M2EzfUIvSUJpLHV0ZgoKL2FiYy91dGYscmVwbGFjZT3DCiAgICBhYmMKCi8oPzw9KGEpKD8tMSkpeC9JLHV0ZgogICAgYVx4ODB6eFw9b2Zmc2V0PTMKCi9bXFdccHtBbnl9XS9CCiAgICBhYmMKICAgIDEyMyAKCi9bXFdccExdL0IKICAgIGFiYwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIDEyMyAgICAgCgovKCo6KisrKysrKysrKysrKycnJycnJycnJycnJycnJycnJycnKycnKysrJysrK3grKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKygrKysrKysrKysrKysrKysrKysrKzorKysrKyslKys6JycnJycnJycnJycnJycnJycnJycnJycnKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystKysrKysrKytrKysrKysrKycnJycrKysnKysrKysrKysrKysrKysrKysrKysrKysnJycnKysrKysrKysrKysrJzrGvykvdXRmCgovW1xzWzpeYXNjaWk6XV0vQix1Y3AKCiMgQSBzcGVjaWFsIGV4dHJhIG9wdGlvbiBhbGxvd3MgZXhjYXBlZCBzdXJyb2dhdGUgY29kZSBwb2ludHMgaW4gOC1iaXQgbW9kZSwKIyBidXQgc3ViamVjdHMgY29udGFpbmluZyB0aGVtIG11c3Qgbm90IGJlIFVURi1jaGVja2VkLgoKL1x4e2Q4MDB9L0ksdXRmLGFsbG93X3N1cnJvZ2F0ZV9lc2NhcGVzCiAgICBceHtkODAwfVw9bm9fdXRmX2NoZWNrCgovXHVkZmZmXG97MTU3NDAxfS91dGYsYWx0X2JzdXgsYWxsb3dfc3Vycm9nYXRlX2VzY2FwZXMKICAgIFx4e2RmZmZ9XHh7ZGYwMX1cPW5vX3V0Zl9jaGVjawogICAgCiMgVGhpcyBoYXMgZGlmZmVyZW50IHN0YXJ0aW5nIGNvZGUgdW5pdHMgaW4gOC1iaXQgbW9kZS4gCgovXlteYWJdL0lCLHV0ZgogICAgYwogICAgXHh7ZmZ9CiAgICBceHsxMDB9Clw9IEV4cGVjdCBubyBtYXRjaAogICAgYWFhCiAgICAKIyBPZmZzZXRzIGFyZSBkaWZmZXJlbnQgaW4gOC1iaXQgbW9kZS4gCgovKD88PWFiYykofGRlZikvZyx1dGYscmVwbGFjZT08JDA+LHN1YnN0aXR1dGVfY2FsbG91dAogICAgMTIzYWJjw6F5emFiY2RlZjc4OWFiY+GItHFyCiAgICAKIyBDaGVjayBuYW1lIGxlbmd0aCB3aXRoIG5vbi1BU0NJSSBjaGFyYWN0ZXJzIAoKLyg/J0FCw6FDNjc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyJy4uLikvdXRmCgovKD8nQULDoUM2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzJy4uLikvdXRmCgovKD8nQUJaQzY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjMnLi4uKS91dGYKCi8oPyhuL3V0ZgoKLyg/KMOhL3V0ZgoKIyBJbnZhbGlkIFVURi04IHRlc3RzCgovLi4uL2csbWF0Y2hfaW52YWxpZF91dGYKICAgIGFiY2RceDgwd3h6eVx4ODBwcXJzCiAgICBhYmNkXHh7ODB9d3h6eVx4ODBwcXJzCgovYWJjL21hdGNoX2ludmFsaWRfdXRmCiAgICBhYlx4ODBhYlw9cGgKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYlx4ODBjZGVmXD1waAoKL2FiJC9tYXRjaF9pbnZhbGlkX3V0ZgogICAgYWJceDgwY2RlYWIKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYlx4ODBjZGUKCi8uLi4vZyxtYXRjaF9pbnZhbGlkX3V0ZgogICAgYWJjZFx4ezgwfXd4enlceDgwcHFycwoKLyg/PD14KS4uL2csbWF0Y2hfaW52YWxpZF91dGYKICAgIGFiY2RceHs4MH13eHp5XHg4MHBxcnMKICAgIGFiY2RceHs4MH13eHp5XHg4MHhwcXJzCiAgICAKL1gkL21hdGNoX2ludmFsaWRfdXRmClw9IEV4cGVjdCBubyBtYXRjaAogICAgWFx4YzQKICAgIAovKD88PS4uKVgvbWF0Y2hfaW52YWxpZF91dGYsYWZ0ZXJ0ZXh0CiAgICBBQlx4ODBBUVhZWgogICAgQUJceDgwQVFYWVpcPW9mZnNldD01CiAgICBBQlx4ODBceDgwQVhZWlhDXD1vZmZzZXQ9NQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIEFCXHg4MFhZWgogICAgQUJceDgwWFlaXD1vZmZzZXQ9MyAKICAgIEFCXHhmZVhZWgogICAgQUJceGZmWFlaXD1vZmZzZXQ9MyAKICAgIEFCXHg4MEFYWVoKICAgIEFCXHg4MEFYWVpcPW9mZnNldD00CiAgICBBQlx4ODBceDgwQVhZWlw9b2Zmc2V0PTUKCi8uLi4vbWF0Y2hfaW52YWxpZF91dGYKICAgIEFCXHhjNENDQwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIEFceHtkODAwfUIKICAgIEFceHsxMTAwMDB9QgogICAgQVx4YzRCICAKCi9cYlgvbWF0Y2hfaW52YWxpZF91dGYKICAgIEFceDgwWAoKL1xCWC9tYXRjaF9pbnZhbGlkX3V0ZgpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIEFceDgwWAogICAgCi8oPzw9Li4uKVgvbWF0Y2hfaW52YWxpZF91dGYKICAgIEFBQVx4ODBCQkJYWVogClw9IEV4cGVjdCBubyBtYXRjaAogICAgQUFBXHg4MEJYWVogCiAgICBBQUFceDgwQkJYWVogCgojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCi8oKlVURikoPz1ceHsxMjN9KS9JCgovW1x4e2MxfVx4e2UxfV1YW1x4ezE0NX1ceHsxNDZ9XS9JLHV0ZgoKL1vzv76fLF0vQkksdXRmCgovW1x4e2ZmZjR9LVx4e2ZmZmY4fV0vSSx1dGYKCi9bXHh7ZmZmNH0tXHh7YWZmZjh9XHh7MTBmZmZmfV0vSSx1dGYKCi9bXHhmZlx4e2ZmZmZ9XS9JLHV0ZgoKL1tceGZmXHh7ZmZ9XS9JLHV0ZgogICAgYWJjXHh7ZmZ9ZGVmCgovW1x4ZmZceHtmZn1dL0kKICAgIGFiY1x4e2ZmfWRlZgoKL1tTc10vSQoKL1tTc10vSSx1dGYKCi8oPzpceHtmZn18XHh7MzAwMH0pL0ksdXRmCgoveC91dGYKICAgIGFieHl6CiAgICBceDgwXD1zdGFydGNoYXIKICAgIGFiY1x4ODBcPXN0YXJ0Y2hhcgogICAgYWJjXHg4MFw9c3RhcnRjaGFyLG9mZnNldD0zCgovXHh7YzF9K1x4e2UxfS9pSUIsdWNwCiAgICBceHtjMX1ceHtjMX1ceHtjMX0KICAgIFx4e2UxfVx4e2UxfVx4e2UxfSAKCi9hfFx4e2MxfS9pSSx1Y3AKICAgIFx4e2UxfXh4eAoKL2F8XHh7YzF9L2lJLHV0ZgogICAgXHh7ZTF9eHh4CgovXHh7YzF9fFx4e2UxfS9pSSx1Y3AKCi9YKFx4e2UxfSlZL3VjcCxyZXBsYWNlPT5cVSQxPCxzdWJzdGl0dXRlX2V4dGVuZGVkCiAgICBYXHh7ZTF9WQoKL1goXHh7ZTF9KVkvaSx1Y3AscmVwbGFjZT0+XEwkMTwsc3Vic3RpdHV0ZV9leHRlbmRlZAogICAgWFx4e2MxfVkKCiMgV2l0aG91dCBVVEYgb3IgVUNQIGNoYXJhY3RlcnMgPiAxMjcgaGF2ZSBvbmx5IG9uZSBjYXNlIGluIHRoZSBkZWZhdWx0IGxvY2FsZS4KCi9YKFx4e2UxfSlZL3JlcGxhY2U9PlxVJDE8LHN1YnN0aXR1dGVfZXh0ZW5kZWQKICAgIFhceHtlMX1ZCgovQS91dGYsbWF0Y2hfaW52YWxpZF91dGYsY2FzZWxlc3MKICAgIFx4ZTVBCgovXGJjaFxiL3V0ZixtYXRjaF9pbnZhbGlkX3V0ZgogICAgcWNocVw9cGgKICAgIHFjaHFcPXBzCgojIEVuZCBvZiB0ZXN0aW5wdXQxMAo=