IyBUaGlzIHNldCBvZiB0ZXN0cyBpcyBmb3IgZmVhdHVyZXMgdGhhdCBhcmUgY29tcGF0aWJsZSB3aXRoIGFsbCB2ZXJzaW9ucyBvZgojIFBlcmwgPj0gNS4xMCwgaW4gbm9uLVVURiBtb2RlLiBJdCBzaG91bGQgcnVuIGNsZWFuIGZvciB0aGUgOC1iaXQsIDE2LWJpdCwgYW5kCiMgMzItYml0IFBDUkUgbGlicmFyaWVzLCBhbmQgYWxzbyB1c2luZyB0aGUgcGVybHRlc3Quc2ggc2NyaXB0LgoKIyBXQVJOSU5HOiBVc2Ugb25seSAvIGFzIHRoZSBwYXR0ZXJuIGRlbGltaXRlci4gQWx0aG91Z2ggcGNyZTJ0ZXN0IHN1cHBvcnRzCiMgYSBudW1iZXIgb2YgZGVsaW1pdGVycywgYWxsIHRob3NlIG90aGVyIHRoYW4gLyBnaXZlIHByb2JsZW1zIHdpdGggdGhlCiMgcGVybHRlc3Quc2ggc2NyaXB0LgogICAgCiNmb3JiaWRfdXRmCiNuZXdsaW5lX2RlZmF1bHQgbGYgYW55IGFueWNybGYKI3Blcmx0ZXN0CgovdGhlIHF1aWNrIGJyb3duIGZveC8KICAgIHRoZSBxdWljayBicm93biBmb3gKIDA6IHRoZSBxdWljayBicm93biBmb3gKICAgIFdoYXQgZG8geW91IGtub3cgYWJvdXQgdGhlIHF1aWNrIGJyb3duIGZveD8KIDA6IHRoZSBxdWljayBicm93biBmb3gKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBUaGUgcXVpY2sgYnJvd24gRk9YCk5vIG1hdGNoCiAgICBXaGF0IGRvIHlvdSBrbm93IGFib3V0IFRIRSBRVUlDSyBCUk9XTiBGT1g/Ck5vIG1hdGNoCgovVGhlIHF1aWNrIGJyb3duIGZveC9pCiAgICB0aGUgcXVpY2sgYnJvd24gZm94CiAwOiB0aGUgcXVpY2sgYnJvd24gZm94CiAgICBUaGUgcXVpY2sgYnJvd24gRk9YCiAwOiBUaGUgcXVpY2sgYnJvd24gRk9YCiAgICBXaGF0IGRvIHlvdSBrbm93IGFib3V0IHRoZSBxdWljayBicm93biBmb3g/CiAwOiB0aGUgcXVpY2sgYnJvd24gZm94CiAgICBXaGF0IGRvIHlvdSBrbm93IGFib3V0IFRIRSBRVUlDSyBCUk9XTiBGT1g/CiAwOiBUSEUgUVVJQ0sgQlJPV04gRk9YCgovYWJjZFx0XG5cclxmXGFcZVwwNzFceDNiXCRcXFw/Y2F4eXovCiAgICBhYmNkXHRcblxyXGZcYVxlOTtcJFxcP2NheHl6CiAwOiBhYmNkXHgwOVx4MGFceDBkXHgwY1x4MDdceDFiOTskXD9jYXh5egoKL2EqYWJjP3h5eitwcXJ7M31hYnsyLH14eXs0LDV9cHF7MCw2fUFCezAsfXp6LwogICAgYWJ4eXpwcXJycmFiYnh5eXl5cHFBenoKIDA6IGFieHl6cHFycnJhYmJ4eXl5eXBxQXp6CiAgICBhYnh5enBxcnJyYWJieHl5eXlwcUF6egogMDogYWJ4eXpwcXJycmFiYnh5eXl5cHFBenoKICAgIGFhYnh5enBxcnJyYWJieHl5eXlwcUF6egogMDogYWFieHl6cHFycnJhYmJ4eXl5eXBxQXp6CiAgICBhYWFieHl6cHFycnJhYmJ4eXl5eXBxQXp6CiAwOiBhYWFieHl6cHFycnJhYmJ4eXl5eXBxQXp6CiAgICBhYWFhYnh5enBxcnJyYWJieHl5eXlwcUF6egogMDogYWFhYWJ4eXpwcXJycmFiYnh5eXl5cHFBenoKICAgIGFiY3h5enBxcnJyYWJieHl5eXlwcUF6egogMDogYWJjeHl6cHFycnJhYmJ4eXl5eXBxQXp6CiAgICBhYWJjeHl6cHFycnJhYmJ4eXl5eXBxQXp6CiAwOiBhYWJjeHl6cHFycnJhYmJ4eXl5eXBxQXp6CiAgICBhYWFiY3h5enBxcnJyYWJieHl5eXlwQXp6CiAwOiBhYWFiY3h5enBxcnJyYWJieHl5eXlwQXp6CiAgICBhYWFiY3h5enBxcnJyYWJieHl5eXlwcUF6egogMDogYWFhYmN4eXpwcXJycmFiYnh5eXl5cHFBenoKICAgIGFhYWJjeHl6cHFycnJhYmJ4eXl5eXBxcUF6egogMDogYWFhYmN4eXpwcXJycmFiYnh5eXl5cHFxQXp6CiAgICBhYWFiY3h5enBxcnJyYWJieHl5eXlwcXFxQXp6CiAwOiBhYWFiY3h5enBxcnJyYWJieHl5eXlwcXFxQXp6CiAgICBhYWFiY3h5enBxcnJyYWJieHl5eXlwcXFxcUF6egogMDogYWFhYmN4eXpwcXJycmFiYnh5eXl5cHFxcXFBenoKICAgIGFhYWJjeHl6cHFycnJhYmJ4eXl5eXBxcXFxcUF6egogMDogYWFhYmN4eXpwcXJycmFiYnh5eXl5cHFxcXFxQXp6CiAgICBhYWFiY3h5enBxcnJyYWJieHl5eXlwcXFxcXFxQXp6CiAwOiBhYWFiY3h5enBxcnJyYWJieHl5eXlwcXFxcXFxQXp6CiAgICBhYWFhYmN4eXpwcXJycmFiYnh5eXl5cHFBenoKIDA6IGFhYWFiY3h5enBxcnJyYWJieHl5eXlwcUF6egogICAgYWJ4eXp6cHFycnJhYmJ4eXl5eXBxQXp6CiAwOiBhYnh5enpwcXJycmFiYnh5eXl5cHFBenoKICAgIGFhYnh5enp6cHFycnJhYmJ4eXl5eXBxQXp6CiAwOiBhYWJ4eXp6enBxcnJyYWJieHl5eXlwcUF6egogICAgYWFhYnh5enp6enBxcnJyYWJieHl5eXlwcUF6egogMDogYWFhYnh5enp6enBxcnJyYWJieHl5eXlwcUF6egogICAgYWFhYWJ4eXp6enpwcXJycmFiYnh5eXl5cHFBenoKIDA6IGFhYWFieHl6enp6cHFycnJhYmJ4eXl5eXBxQXp6CiAgICBhYmN4eXp6cHFycnJhYmJ4eXl5eXBxQXp6CiAwOiBhYmN4eXp6cHFycnJhYmJ4eXl5eXBxQXp6CiAgICBhYWJjeHl6enpwcXJycmFiYnh5eXl5cHFBenoKIDA6IGFhYmN4eXp6enBxcnJyYWJieHl5eXlwcUF6egogICAgYWFhYmN4eXp6enpwcXJycmFiYnh5eXl5cHFBenoKIDA6IGFhYWJjeHl6enp6cHFycnJhYmJ4eXl5eXBxQXp6CiAgICBhYWFhYmN4eXp6enpwcXJycmFiYnh5eXl5cHFBenoKIDA6IGFhYWFiY3h5enp6enBxcnJyYWJieHl5eXlwcUF6egogICAgYWFhYWJjeHl6enp6cHFycnJhYmJieHl5eXlwcUF6egogMDogYWFhYWJjeHl6enp6cHFycnJhYmJieHl5eXlwcUF6egogICAgYWFhYWJjeHl6enp6cHFycnJhYmJieHl5eXl5cHFBenoKIDA6IGFhYWFiY3h5enp6enBxcnJyYWJiYnh5eXl5eXBxQXp6CiAgICBhYWFiY3h5enBxcnJyYWJieHl5eXlwQUJ6egogMDogYWFhYmN4eXpwcXJycmFiYnh5eXl5cEFCenoKICAgIGFhYWJjeHl6cHFycnJhYmJ4eXl5eXBBQkJ6egogMDogYWFhYmN4eXpwcXJycmFiYnh5eXl5cEFCQnp6CiAgICA+Pj5hYWFieHl6cHFycnJhYmJ4eXl5eXBxQXp6CiAwOiBhYWFieHl6cHFycnJhYmJ4eXl5eXBxQXp6CiAgICA+YWFhYWJ4eXpwcXJycmFiYnh5eXl5cHFBenoKIDA6IGFhYWFieHl6cHFycnJhYmJ4eXl5eXBxQXp6CiAgICA+Pj4+YWJjeHl6cHFycnJhYmJ4eXl5eXBxQXp6CiAwOiBhYmN4eXpwcXJycmFiYnh5eXl5cHFBenoKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYnh5enBxcnJhYmJ4eXl5eXBxQXp6Ck5vIG1hdGNoCiAgICBhYnh5enBxcnJycmFiYnh5eXl5cHFBenoKTm8gbWF0Y2gKICAgIGFieHl6cHFycnJhYnh5eXl5cHFBenoKTm8gbWF0Y2gKICAgIGFhYWFiY3h5enp6enBxcnJyYWJiYnh5eXl5eXlwcUF6egpObyBtYXRjaAogICAgYWFhYWJjeHl6enp6cHFycnJhYmJieHl5eXBxQXp6Ck5vIG1hdGNoCiAgICBhYWFiY3h5enBxcnJyYWJieHl5eXlwcXFxcXFxcUF6egpObyBtYXRjaAoKL14oYWJjKXsxLDJ9enovCiAgICBhYmN6egogMDogYWJjenoKIDE6IGFiYwogICAgYWJjYWJjenoKIDA6IGFiY2FiY3p6CiAxOiBhYmMKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICB6egpObyBtYXRjaAogICAgYWJjYWJjYWJjenoKTm8gbWF0Y2gKICAgID4+YWJjenoKTm8gbWF0Y2gKCi9eKGIrP3xhKXsxLDJ9P2MvCiAgICBiYwogMDogYmMKIDE6IGIKICAgIGJiYwogMDogYmJjCiAxOiBiCiAgICBiYmJjCiAwOiBiYmJjCiAxOiBiYgogICAgYmFjCiAwOiBiYWMKIDE6IGEKICAgIGJiYWMKIDA6IGJiYWMKIDE6IGEKICAgIGFhYwogMDogYWFjCiAxOiBhCiAgICBhYmJiYmJiYmJiYmJjCiAwOiBhYmJiYmJiYmJiYmJjCiAxOiBiYmJiYmJiYmJiYgogICAgYmJiYmJiYmJiYmJhYwogMDogYmJiYmJiYmJiYmJhYwogMTogYQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFhYWMKTm8gbWF0Y2gKICAgIGFiYmJiYmJiYmJiYmFjCk5vIG1hdGNoCgovXihiK3xhKXsxLDJ9Yy8KICAgIGJjCiAwOiBiYwogMTogYgogICAgYmJjCiAwOiBiYmMKIDE6IGJiCiAgICBiYmJjCiAwOiBiYmJjCiAxOiBiYmIKICAgIGJhYwogMDogYmFjCiAxOiBhCiAgICBiYmFjCiAwOiBiYmFjCiAxOiBhCiAgICBhYWMKIDA6IGFhYwogMTogYQogICAgYWJiYmJiYmJiYmJiYwogMDogYWJiYmJiYmJiYmJiYwogMTogYmJiYmJiYmJiYmIKICAgIGJiYmJiYmJiYmJiYWMKIDA6IGJiYmJiYmJiYmJiYWMKIDE6IGEKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYWFjCk5vIG1hdGNoCiAgICBhYmJiYmJiYmJiYmJhYwpObyBtYXRjaAoKL14oYmF8YiopezEsMn0/YmMvCiAgICBiYWJjCiAwOiBiYWJjCiAxOiBiYQogICAgYmJhYmMKIDA6IGJiYWJjCiAxOiBiYQogICAgYmFiYWJjCiAwOiBiYWJhYmMKIDE6IGJhClw9IEV4cGVjdCBubyBtYXRjaAogICAgYmFiYWJiYwpObyBtYXRjaAogICAgYmFiYWJhYmMKTm8gbWF0Y2gKCi9eXGNhXGNBXGNbO1xjOi8KICAgIFx4MDFceDAxXGU7egogMDogXHgwMVx4MDFceDFiO3oKCi9eW2FiXF1jZGVdLwogICAgYXRoaW5nCiAwOiBhCiAgICBidGhpbmcKIDA6IGIKICAgIF10aGluZwogMDogXQogICAgY3RoaW5nCiAwOiBjCiAgICBkdGhpbmcKIDA6IGQKICAgIGV0aGluZwogMDogZQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGZ0aGluZwpObyBtYXRjaAogICAgW3RoaW5nCk5vIG1hdGNoCiAgICBcXHRoaW5nCk5vIG1hdGNoCgovXltdY2RlXS8KICAgIF10aGluZwogMDogXQogICAgY3RoaW5nCiAwOiBjCiAgICBkdGhpbmcKIDA6IGQKICAgIGV0aGluZwogMDogZQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGF0aGluZwpObyBtYXRjaAogICAgZnRoaW5nCk5vIG1hdGNoCgovXlteYWJcXWNkZV0vCiAgICBmdGhpbmcKIDA6IGYKICAgIFt0aGluZwogMDogWwogICAgXFx0aGluZwogMDogXApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGF0aGluZwpObyBtYXRjaAogICAgYnRoaW5nCk5vIG1hdGNoCiAgICBddGhpbmcKTm8gbWF0Y2gKICAgIGN0aGluZwpObyBtYXRjaAogICAgZHRoaW5nCk5vIG1hdGNoCiAgICBldGhpbmcKTm8gbWF0Y2gKCi9eW15dY2RlXS8KICAgIGF0aGluZwogMDogYQogICAgZnRoaW5nCiAwOiBmClw9IEV4cGVjdCBubyBtYXRjaAogICAgXXRoaW5nCk5vIG1hdGNoCiAgICBjdGhpbmcKTm8gbWF0Y2gKICAgIGR0aGluZwpObyBtYXRjaAogICAgZXRoaW5nCk5vIG1hdGNoCgovXlyBLwogICAggQogMDogXHg4MQoKL17/LwogICAg/wogMDogXHhmZgoKL15bMC05XSskLwogICAgMAogMDogMAogICAgMQogMDogMQogICAgMgogMDogMgogICAgMwogMDogMwogICAgNAogMDogNAogICAgNQogMDogNQogICAgNgogMDogNgogICAgNwogMDogNwogICAgOAogMDogOAogICAgOQogMDogOQogICAgMTAKIDA6IDEwCiAgICAxMDAKIDA6IDEwMApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFiYwpObyBtYXRjaAoKL14uKm50ZXIvCiAgICBlbnRlcgogMDogZW50ZXIKICAgIGludGVyCiAwOiBpbnRlcgogICAgdXBvbnRlcgogMDogdXBvbnRlcgoKL154eHhbMC05XSskLwogICAgeHh4MAogMDogeHh4MAogICAgeHh4MTIzNAogMDogeHh4MTIzNApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIHh4eApObyBtYXRjaAoKL14uK1swLTldWzAtOV1bMC05XSQvCiAgICB4MTIzCiAwOiB4MTIzCiAgICB4MTIzNAogMDogeDEyMzQKICAgIHh4MTIzCiAwOiB4eDEyMwogICAgMTIzNDU2CiAwOiAxMjM0NTYKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICAxMjMKTm8gbWF0Y2gKCi9eLis/WzAtOV1bMC05XVswLTldJC8KICAgIHgxMjMKIDA6IHgxMjMKICAgIHgxMjM0CiAwOiB4MTIzNAogICAgeHgxMjMKIDA6IHh4MTIzCiAgICAxMjM0NTYKIDA6IDEyMzQ1NgpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIDEyMwpObyBtYXRjaAoKL14oW14hXSspISguKyk9YXBxdXh6XC5peHJcLnp6elwuYWNcLnVrJC8KICAgIGFiYyFwcXI9YXBxdXh6Lml4ci56enouYWMudWsKIDA6IGFiYyFwcXI9YXBxdXh6Lml4ci56enouYWMudWsKIDE6IGFiYwogMjogcHFyClw9IEV4cGVjdCBubyBtYXRjaAogICAgIXBxcj1hcHF1eHouaXhyLnp6ei5hYy51awpObyBtYXRjaAogICAgYWJjIT1hcHF1eHouaXhyLnp6ei5hYy51awpObyBtYXRjaAogICAgYWJjIXBxcj1hcHF1eHo6aXhyLnp6ei5hYy51awpObyBtYXRjaAogICAgYWJjIXBxcj1hcHF1eHouaXhyLnp6ei5hYy51a2sKTm8gbWF0Y2gKCi86LwogICAgV2VsbCwgd2UgbmVlZCBhIGNvbG9uOiBzb21ld2hlcmUKIDA6IDoKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBGYWlsIHdpdGhvdXQgYSBjb2xvbgpObyBtYXRjaAoKLyhbXGRhLWY6XSspJC9pCiAgICAwYWJjCiAwOiAwYWJjCiAxOiAwYWJjCiAgICBhYmMKIDA6IGFiYwogMTogYWJjCiAgICBmZWQKIDA6IGZlZAogMTogZmVkCiAgICBFCiAwOiBFCiAxOiBFCiAgICA6OgogMDogOjoKIDE6IDo6CiAgICA1ZjAzOjEyQzA6OjkzMmUKIDA6IDVmMDM6MTJDMDo6OTMyZQogMTogNWYwMzoxMkMwOjo5MzJlCiAgICBmZWQgZGVmCiAwOiBkZWYKIDE6IGRlZgogICAgQW55IG9sZCBzdHVmZgogMDogZmYKIDE6IGZmClw9IEV4cGVjdCBubyBtYXRjaAogICAgMHp6egpObyBtYXRjaAogICAgZ3p6egpObyBtYXRjaAogICAgZmVkXHgyMApObyBtYXRjaAogICAgQW55IG9sZCBydWJiaXNoCk5vIG1hdGNoCgovXi4qXC4oXGR7MSwzfSlcLihcZHsxLDN9KVwuKFxkezEsM30pJC8KICAgIC4xLjIuMwogMDogLjEuMi4zCiAxOiAxCiAyOiAyCiAzOiAzCiAgICBBLjEyLjEyMy4wCiAwOiBBLjEyLjEyMy4wCiAxOiAxMgogMjogMTIzCiAzOiAwClw9IEV4cGVjdCBubyBtYXRjaAogICAgLjEuMi4zMzMzCk5vIG1hdGNoCiAgICAxLjIuMwpObyBtYXRjaAogICAgMTIzNC4yLjMKTm8gbWF0Y2gKCi9eKFxkKylccytJTlxzK1NPQVxzKyhcUyspXHMrKFxTKylccypcKFxzKiQvCiAgICAxIElOIFNPQSBub24tc3AxIG5vbi1zcDIoCiAwOiAxIElOIFNPQSBub24tc3AxIG5vbi1zcDIoCiAxOiAxCiAyOiBub24tc3AxCiAzOiBub24tc3AyCiAgICAxICAgIElOICAgIFNPQSAgICBub24tc3AxICAgIG5vbi1zcDIgICAoCiAwOiAxICAgIElOICAgIFNPQSAgICBub24tc3AxICAgIG5vbi1zcDIgICAoCiAxOiAxCiAyOiBub24tc3AxCiAzOiBub24tc3AyClw9IEV4cGVjdCBubyBtYXRjaAogICAgMUlOIFNPQSBub24tc3AxIG5vbi1zcDIoCk5vIG1hdGNoCgovXlthLXpBLVpcZF1bYS16QS1aXGRcLV0qKFwuW2EtekEtWlxkXVthLXpBLXpcZFwtXSopKlwuJC8KICAgIGEuCiAwOiBhLgogICAgWi4KIDA6IFouCiAgICAyLgogMDogMi4KICAgIGFiLWMucHEtci4KIDA6IGFiLWMucHEtci4KIDE6IC5wcS1yCiAgICBzeGsuenp6LmFjLnVrLgogMDogc3hrLnp6ei5hYy51ay4KIDE6IC51awogICAgeC0ueS0uCiAwOiB4LS55LS4KIDE6IC55LQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIC1hYmMucGVxLgpObyBtYXRjaAoKL15cKlwuW2Etel0oW2EtelwtXGRdKlthLXpcZF0rKT8oXC5bYS16XShbYS16XC1cZF0qW2EtelxkXSspPykqJC8KICAgICouYQogMDogKi5hCiAgICAqLmIwLWEKIDA6ICouYjAtYQogMTogMC1hCiAgICAqLmMzLWIuYwogMDogKi5jMy1iLmMKIDE6IDMtYgogMjogLmMKICAgICouYy1hLmItYwogMDogKi5jLWEuYi1jCiAxOiAtYQogMjogLmItYwogMzogLWMKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICAqLjAKTm8gbWF0Y2gKICAgICouYS0KTm8gbWF0Y2gKICAgICouYS1iLmMtCk5vIG1hdGNoCiAgICAqLmMtYS4wLWMKTm8gbWF0Y2gKCi9eKD89YWIoZGUpKShhYmQpKGUpLwogICAgYWJkZQogMDogYWJkZQogMTogZGUKIDI6IGFiZAogMzogZQoKL14oPyEoYWIpZGV8eCkoYWJkKShmKS8KICAgIGFiZGYKIDA6IGFiZGYKIDE6IDx1bnNldD4KIDI6IGFiZAogMzogZgoKL14oPz0oYWIoY2QpKSkoYWIpLwogICAgYWJjZAogMDogYWIKIDE6IGFiY2QKIDI6IGNkCiAzOiBhYgoKL15bXGRhLWZdKFwuW1xkYS1mXSkqJC9pCiAgICBhLmIuYy5kCiAwOiBhLmIuYy5kCiAxOiAuZAogICAgQS5CLkMuRAogMDogQS5CLkMuRAogMTogLkQKICAgIGEuYi5jLjEuMi4zLkMKIDA6IGEuYi5jLjEuMi4zLkMKIDE6IC5DCgovXlwiLipcIlxzKig7LiopPyQvCiAgICBcIjEyMzRcIgogMDogIjEyMzQiCiAgICBcImFiY2RcIiA7CiAwOiAiYWJjZCIgOwogMTogOwogICAgXCJcIiA7IHJodWJhcmIKIDA6ICIiIDsgcmh1YmFyYgogMTogOyByaHViYXJiClw9IEV4cGVjdCBubyBtYXRjaAogICAgXCIxMjM0XCIgOiB0aGluZ3MKTm8gbWF0Y2gKCi9eJC8KICAgIFwKIDA6IApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIEEgbm9uLWVtcHR5IGxpbmUKTm8gbWF0Y2gKCi8gICBeICAgIGEgICAoPyMgYmVnaW5zIHdpdGggYSkgIGJcc2MgKD8jIHRoZW4gYiBjKSAkICg/IyB0aGVuIGVuZCkveAogICAgYWIgYwogMDogYWIgYwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFiYwpObyBtYXRjaAogICAgYWIgY2RlCk5vIG1hdGNoCgovKD94KSAgIF4gICAgYSAgICg/IyBiZWdpbnMgd2l0aCBhKSAgYlxzYyAoPyMgdGhlbiBiIGMpICQgKD8jIHRoZW4gZW5kKS8KICAgIGFiIGMKIDA6IGFiIGMKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYmMKTm8gbWF0Y2gKICAgIGFiIGNkZQpObyBtYXRjaAoKL14gICBhXCBiW2MgXWQgICAgICAgJC94CiAgICBhIGJjZAogMDogYSBiY2QKICAgIGEgYiBkCiAwOiBhIGIgZApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFiY2QKTm8gbWF0Y2gKICAgIGFiIGQKTm8gbWF0Y2gKCi9eKGEoYihjKSkpKGQoZShmKSkpKGgoaShqKSkpKGsobChtKSkpJC8KICAgIGFiY2RlZmhpamtsbQogMDogYWJjZGVmaGlqa2xtCiAxOiBhYmMKIDI6IGJjCiAzOiBjCiA0OiBkZWYKIDU6IGVmCiA2OiBmCiA3OiBoaWoKIDg6IGlqCiA5OiBqCjEwOiBrbG0KMTE6IGxtCjEyOiBtCgovXig/OmEoYihjKSkpKD86ZChlKGYpKSkoPzpoKGkoaikpKSg/OmsobChtKSkpJC8KICAgIGFiY2RlZmhpamtsbQogMDogYWJjZGVmaGlqa2xtCiAxOiBiYwogMjogYwogMzogZWYKIDQ6IGYKIDU6IGlqCiA2OiBqCiA3OiBsbQogODogbQoKL15bXHddW1xXXVtcc11bXFNdW1xkXVtcRF1bXGJdW1xuXVtcY11dW1wwMjJdLwogICAgYSsgWjArXHgwOFxuXHgxZFx4MTIKIDA6IGErIFowK1x4MDhceDBhXHgxZFx4MTIKCi9eWy5eJHwoKSorP3ssfV0rLwogICAgLl5cJCgqKyl8ez8sP30KIDA6IC5eJCgqKyl8ez8sP30KCi9eYSpcdy8KICAgIHoKIDA6IHoKICAgIGF6CiAwOiBhegogICAgYWFhegogMDogYWFhegogICAgYQogMDogYQogICAgYWEKIDA6IGFhCiAgICBhYWFhCiAwOiBhYWFhCiAgICBhKwogMDogYQogICAgYWErCiAwOiBhYQoKL15hKj9cdy8KICAgIHoKIDA6IHoKICAgIGF6CiAwOiBhCiAgICBhYWF6CiAwOiBhCiAgICBhCiAwOiBhCiAgICBhYQogMDogYQogICAgYWFhYQogMDogYQogICAgYSsKIDA6IGEKICAgIGFhKwogMDogYQoKL15hK1x3LwogICAgYXoKIDA6IGF6CiAgICBhYWF6CiAwOiBhYWF6CiAgICBhYQogMDogYWEKICAgIGFhYWEKIDA6IGFhYWEKICAgIGFhKwogMDogYWEKCi9eYSs/XHcvCiAgICBhegogMDogYXoKICAgIGFhYXoKIDA6IGFhCiAgICBhYQogMDogYWEKICAgIGFhYWEKIDA6IGFhCiAgICBhYSsKIDA6IGFhCgovXlxkezh9XHd7Mix9LwogICAgMTIzNDU2Nzg5MAogMDogMTIzNDU2Nzg5MAogICAgMTIzNDU2NzhhYgogMDogMTIzNDU2NzhhYgogICAgMTIzNDU2NzhfXwogMDogMTIzNDU2NzhfXwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIDEyMzQ1NjcKTm8gbWF0Y2gKCi9eW2FlaW91XGRdezQsNX0kLwogICAgdW9pZQogMDogdW9pZQogICAgMTIzNAogMDogMTIzNAogICAgMTIzNDUKIDA6IDEyMzQ1CiAgICBhYWFhYQogMDogYWFhYWEKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICAxMjM0NTYKTm8gbWF0Y2gKCi9eW2FlaW91XGRdezQsNX0/LwogICAgdW9pZQogMDogdW9pZQogICAgMTIzNAogMDogMTIzNAogICAgMTIzNDUKIDA6IDEyMzQKICAgIGFhYWFhCiAwOiBhYWFhCiAgICAxMjM0NTYKIDA6IDEyMzQKCi9cQShhYmN8ZGVmKT0oXDEpezIsM31cWi8KICAgIGFiYz1hYmNhYmMKIDA6IGFiYz1hYmNhYmMKIDE6IGFiYwogMjogYWJjCiAgICBkZWY9ZGVmZGVmZGVmCiAwOiBkZWY9ZGVmZGVmZGVmCiAxOiBkZWYKIDI6IGRlZgpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFiYz1kZWZkZWYKTm8gbWF0Y2gKCi9eKGEpKGIpKGMpKGQpKGUpKGYpKGcpKGgpKGkpKGopKGspXDExKihcM1w0KVwxKD8jKTIkLwogICAgYWJjZGVmZ2hpamtjZGEyCiAwOiBhYmNkZWZnaGlqa2NkYTIKIDE6IGEKIDI6IGIKIDM6IGMKIDQ6IGQKIDU6IGUKIDY6IGYKIDc6IGcKIDg6IGgKIDk6IGkKMTA6IGoKMTE6IGsKMTI6IGNkCiAgICBhYmNkZWZnaGlqa2tra2NkYTIKIDA6IGFiY2RlZmdoaWpra2trY2RhMgogMTogYQogMjogYgogMzogYwogNDogZAogNTogZQogNjogZgogNzogZwogODogaAogOTogaQoxMDogagoxMTogawoxMjogY2QKCi8oY2F0KGEocmFjdHx0b25pYyl8ZXJwaWxsYXIpKSBcMSgpMigzKS8KICAgIGNhdGFyYWN0IGNhdGFyYWN0MjMKIDA6IGNhdGFyYWN0IGNhdGFyYWN0MjMKIDE6IGNhdGFyYWN0CiAyOiBhcmFjdAogMzogcmFjdAogNDogCiA1OiAzCiAgICBjYXRhdG9uaWMgY2F0YXRvbmljMjMKIDA6IGNhdGF0b25pYyBjYXRhdG9uaWMyMwogMTogY2F0YXRvbmljCiAyOiBhdG9uaWMKIDM6IHRvbmljCiA0OiAKIDU6IDMKICAgIGNhdGVycGlsbGFyIGNhdGVycGlsbGFyMjMKIDA6IGNhdGVycGlsbGFyIGNhdGVycGlsbGFyMjMKIDE6IGNhdGVycGlsbGFyCiAyOiBlcnBpbGxhcgogMzogPHVuc2V0PgogNDogCiA1OiAzCgoKL15Gcm9tICsoW14gXSspICtbYS16QS1aXVthLXpBLVpdW2EtekEtWl0gK1thLXpBLVpdW2EtekEtWl1bYS16QS1aXSArWzAtOV0/WzAtOV0gK1swLTldWzAtOV06WzAtOV1bMC05XS8KICAgIEZyb20gYWJjZCAgTW9uIFNlcCAwMSAxMjozMzowMiAxOTk3CiAwOiBGcm9tIGFiY2QgIE1vbiBTZXAgMDEgMTI6MzMKIDE6IGFiY2QKCi9eRnJvbVxzK1xTK1xzKyhbYS16QS1aXXszfVxzKyl7Mn1cZHsxLDJ9XHMrXGRcZDpcZFxkLwogICAgRnJvbSBhYmNkICBNb24gU2VwIDAxIDEyOjMzOjAyIDE5OTcKIDA6IEZyb20gYWJjZCAgTW9uIFNlcCAwMSAxMjozMwogMTogU2VwIAogICAgRnJvbSBhYmNkICBNb24gU2VwICAxIDEyOjMzOjAyIDE5OTcKIDA6IEZyb20gYWJjZCAgTW9uIFNlcCAgMSAxMjozMwogMTogU2VwICAKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBGcm9tIGFiY2QgIFNlcCAwMSAxMjozMzowMiAxOTk3Ck5vIG1hdGNoCgovXjEyLjM0L3MKICAgIDEyXG4zNAogMDogMTJceDBhMzQKICAgIDEyXHIzNAogMDogMTJceDBkMzQKCi9cdysoPz1cdCkvCiAgICB0aGUgcXVpY2sgYnJvd25cdCBmb3gKIDA6IGJyb3duCgovZm9vKD8hYmFyKSguKikvCiAgICBmb29iYXIgaXMgZm9vbGlzaCBzZWU/CiAwOiBmb29saXNoIHNlZT8KIDE6IGxpc2ggc2VlPwoKLyg/Oig/IWZvbykuLi58Xi57MCwyfSliYXIoLiopLwogICAgZm9vYmFyIGNyb3diYXIgZXRjCiAwOiByb3diYXIgZXRjCiAxOiAgZXRjCiAgICBiYXJyZWwKIDA6IGJhcnJlbAogMTogcmVsCiAgICAyYmFycmVsCiAwOiAyYmFycmVsCiAxOiByZWwKICAgIEEgYmFycmVsCiAwOiBBIGJhcnJlbAogMTogcmVsCgovXihcRCopKD89XGQpKD8hMTIzKS8KICAgIGFiYzQ1NgogMDogYWJjCiAxOiBhYmMKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYmMxMjMKTm8gbWF0Y2gKCi9eMTIzNCg/IyB0ZXN0IG5ld2xpbmVzCiAgaW5zaWRlKS8KICAgIDEyMzQKIDA6IDEyMzQKCi9eMTIzNCAjY29tbWVudCBpbiBleHRlbmRlZCByZQogIC94CiAgICAxMjM0CiAwOiAxMjM0CgovI3JodWJhcmIKICBhYmNkL3gKICAgIGFiY2QKIDA6IGFiY2QKCi9eYWJjZCNyaHViYXJiL3gKICAgIGFiY2QKIDA6IGFiY2QKCi9eKGEpXDF7MiwzfSguKS8KICAgIGFhYWIKIDA6IGFhYWIKIDE6IGEKIDI6IGIKICAgIGFhYWFiCiAwOiBhYWFhYgogMTogYQogMjogYgogICAgYWFhYWFiCiAwOiBhYWFhYQogMTogYQogMjogYQogICAgYWFhYWFhYgogMDogYWFhYWEKIDE6IGEKIDI6IGEKCi8oPyFeKWFiYy8KICAgIHRoZSBhYmMKIDA6IGFiYwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFiYwpObyBtYXRjaAoKLyg/PV4pYWJjLwogICAgYWJjCiAwOiBhYmMKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICB0aGUgYWJjCk5vIG1hdGNoCgovXlthYl17MSwzfShhYip8YikvCiAgICBhYWJiYmJiCiAwOiBhYWJiCiAxOiBiCgovXlthYl17MSwzfT8oYWIqfGIpLwogICAgYWFiYmJiYgogMDogYWFiYmJiYgogMTogYWJiYmJiCgovXlthYl17MSwzfT8oYWIqP3xiKS8KICAgIGFhYmJiYmIKIDA6IGFhCiAxOiBhCgovXlthYl17MSwzfShhYio/fGIpLwogICAgYWFiYmJiYgogMDogYWFiYgogMTogYgoKLyAgKD86IFtcMDQwXHRdIHwgIFwoCig/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+CiAwOiBBbGFuIE90aGVyIDx1c2VyQGRvbS5haW4+CiAgICA8dXNlclxAZG9tLmFpbj4KIDA6IHVzZXJAZG9tLmFpbgogICAgdXNlclxAZG9tLmFpbgogMDogdXNlckBkb20uYWluCiAgICBcIkEuIE90aGVyXCIgPHVzZXIuMTIzNFxAZG9tLmFpbj4gKGEgY29tbWVudCkKIDA6ICJBLiBPdGhlciIgPHVzZXIuMTIzNEBkb20uYWluPiAoYSBjb21tZW50KQogICAgQS4gT3RoZXIgPHVzZXIuMTIzNFxAZG9tLmFpbj4gKGEgY29tbWVudCkKIDA6ICBPdGhlciA8dXNlci4xMjM0QGRvbS5haW4+IChhIGNvbW1lbnQpCiAgICBcIi9zPXVzZXIvb3U9aG9zdC9vPXBsYWNlL3BybWQ9dXUueXkvYWRtZD0gL2M9Z2IvXCJcQHg0MDAtcmUubGF5CiAwOiAiL3M9dXNlci9vdT1ob3N0L289cGxhY2UvcHJtZD11dS55eS9hZG1kPSAvYz1nYi8iQHg0MDAtcmUubGF5CiAgICBBIG1pc3NpbmcgYW5nbGUgPHVzZXJcQHNvbWUud2hlcmUKIDA6IHVzZXJAc29tZS53aGVyZQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIFRoZSBxdWljayBicm93biBmb3gKTm8gbWF0Y2gKCi9bXDA0MFx0XSogICAgICAgICAgICAgICAgICAgICMgTmFiIHdoaXRlc3BhY2UuCig/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+CiAwOiBBbGFuIE90aGVyIDx1c2VyQGRvbS5haW4+CiAgICA8dXNlclxAZG9tLmFpbj4KIDA6IHVzZXJAZG9tLmFpbgogICAgdXNlclxAZG9tLmFpbgogMDogdXNlckBkb20uYWluCiAgICBcIkEuIE90aGVyXCIgPHVzZXIuMTIzNFxAZG9tLmFpbj4gKGEgY29tbWVudCkKIDA6ICJBLiBPdGhlciIgPHVzZXIuMTIzNEBkb20uYWluPgogICAgQS4gT3RoZXIgPHVzZXIuMTIzNFxAZG9tLmFpbj4gKGEgY29tbWVudCkKIDA6ICBPdGhlciA8dXNlci4xMjM0QGRvbS5haW4+CiAgICBcIi9zPXVzZXIvb3U9aG9zdC9vPXBsYWNlL3BybWQ9dXUueXkvYWRtZD0gL2M9Z2IvXCJcQHg0MDAtcmUubGF5CiAwOiAiL3M9dXNlci9vdT1ob3N0L289cGxhY2UvcHJtZD11dS55eS9hZG1kPSAvYz1nYi8iQHg0MDAtcmUubGF5CiAgICBBIG1pc3NpbmcgYW5nbGUgPHVzZXJcQHNvbWUud2hlcmUKIDA6IHVzZXJAc29tZS53aGVyZQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIFRoZSBxdWljayBicm93biBmb3gKTm8gbWF0Y2gKCi9hYmNcMGRlZlwwMHBxclwwMDB4eXpcMDAwMEFCLwogICAgYWJjXDBkZWZcMDBwcXJcMDAweHl6XDAwMDBBQgogMDogYWJjXHgwMGRlZlx4MDBwcXJceDAweHl6XHgwMDBBQgogICAgYWJjNDU2IGFiY1wwZGVmXDAwcHFyXDAwMHh5elwwMDAwQUJDREUKIDA6IGFiY1x4MDBkZWZceDAwcHFyXHgwMHh5elx4MDAwQUIKCi9hYmNceDBkZWZceDAwcHFyXHgwMDB4eXpceDAwMDBBQi8KICAgIGFiY1x4MGRlZlx4MDBwcXJceDAwMHh5elx4MDAwMEFCCiAwOiBhYmNceDBkZWZceDAwcHFyXHgwMDB4eXpceDAwMDBBQgogICAgYWJjNDU2IGFiY1x4MGRlZlx4MDBwcXJceDAwMHh5elx4MDAwMEFCQ0RFCiAwOiBhYmNceDBkZWZceDAwcHFyXHgwMDB4eXpceDAwMDBBQgoKL15bXDAwMC1cMDM3XS8KICAgIFwwQQogMDogXHgwMAogICAgXDAxQgogMDogXHgwMQogICAgXDAzN0MKIDA6IFx4MWYKCi9cMCovCiAgICBcMFwwXDBcMAogMDogXHgwMFx4MDBceDAwXHgwMAoKL0FceDB7MiwzfVovCiAgICBUaGUgQVx4MFx4MFoKIDA6IEFceDAwXHgwMFoKICAgIEFuIEFcMFx4MFwwWgogMDogQVx4MDBceDAwXHgwMFoKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBBXDBaCk5vIG1hdGNoCiAgICBBXDBceDBcMFx4MFoKTm8gbWF0Y2gKCi9eKGNvd3wpXDEoYmVsbCkvCiAgICBjb3djb3diZWxsCiAwOiBjb3djb3diZWxsCiAxOiBjb3cKIDI6IGJlbGwKICAgIGJlbGwKIDA6IGJlbGwKIDE6IAogMjogYmVsbApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGNvd2JlbGwKTm8gbWF0Y2gKCi9eXHMvCiAgICBcMDQwYWJjCiAwOiAgCiAgICBceDBjYWJjCiAwOiBceDBjCiAgICBcbmFiYwogMDogXHgwYQogICAgXHJhYmMKIDA6IFx4MGQKICAgIFx0YWJjCiAwOiBceDA5Clw9IEV4cGVjdCBubyBtYXRjaAogICAgYWJjCk5vIG1hdGNoCgovXmEJYgogICAgDCAgYy94CiAgICBhYmMKIDA6IGFiYwoKL14oYXwpXDEqYi8KICAgIGFiCiAwOiBhYgogMTogYQogICAgYWFhYWIKIDA6IGFhYWFiCiAxOiBhCiAgICBiCiAwOiBiCiAxOiAKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhY2IKTm8gbWF0Y2gKCi9eKGF8KVwxK2IvCiAgICBhYWIKIDA6IGFhYgogMTogYQogICAgYWFhYWIKIDA6IGFhYWFiCiAxOiBhCiAgICBiCiAwOiBiCiAxOiAKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYgpObyBtYXRjaAoKL14oYXwpXDE/Yi8KICAgIGFiCiAwOiBhYgogMTogYQogICAgYWFiCiAwOiBhYWIKIDE6IGEKICAgIGIKIDA6IGIKIDE6IApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFjYgpObyBtYXRjaAoKL14oYXwpXDF7Mn1iLwogICAgYWFhYgogMDogYWFhYgogMTogYQogICAgYgogMDogYgogMTogClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWIKTm8gbWF0Y2gKICAgIGFhYgpObyBtYXRjaAogICAgYWFhYWIKTm8gbWF0Y2gKCi9eKGF8KVwxezIsM31iLwogICAgYWFhYgogMDogYWFhYgogMTogYQogICAgYWFhYWIKIDA6IGFhYWFiCiAxOiBhCiAgICBiCiAwOiBiCiAxOiAKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYgpObyBtYXRjaAogICAgYWFiCk5vIG1hdGNoCiAgICBhYWFhYWIKTm8gbWF0Y2gKCi9hYnsxLDN9YmMvCiAgICBhYmJiYmMKIDA6IGFiYmJiYwogICAgYWJiYmMKIDA6IGFiYmJjCiAgICBhYmJjCiAwOiBhYmJjClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWJjCk5vIG1hdGNoCiAgICBhYmJiYmJjCk5vIG1hdGNoCgovKFteLl0qKVwuKFteOl0qKTpbVCBdKyguKikvCiAgICB0cmFjazEudGl0bGU6VEJsYWggYmxhaCBibGFoCiAwOiB0cmFjazEudGl0bGU6VEJsYWggYmxhaCBibGFoCiAxOiB0cmFjazEKIDI6IHRpdGxlCiAzOiBCbGFoIGJsYWggYmxhaAoKLyhbXi5dKilcLihbXjpdKik6W1QgXSsoLiopL2kKICAgIHRyYWNrMS50aXRsZTpUQmxhaCBibGFoIGJsYWgKIDA6IHRyYWNrMS50aXRsZTpUQmxhaCBibGFoIGJsYWgKIDE6IHRyYWNrMQogMjogdGl0bGUKIDM6IEJsYWggYmxhaCBibGFoCgovKFteLl0qKVwuKFteOl0qKTpbdCBdKyguKikvaQogICAgdHJhY2sxLnRpdGxlOlRCbGFoIGJsYWggYmxhaAogMDogdHJhY2sxLnRpdGxlOlRCbGFoIGJsYWggYmxhaAogMTogdHJhY2sxCiAyOiB0aXRsZQogMzogQmxhaCBibGFoIGJsYWgKCi9eW1ctY10rJC8KICAgIFdYWV9eYWJjCiAwOiBXWFlfXmFiYwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIHd4eQpObyBtYXRjaAoKL15bVy1jXSskL2kKICAgIFdYWV9eYWJjCiAwOiBXWFlfXmFiYwogICAgd3h5X15BQkMKIDA6IHd4eV9eQUJDCgovXltceDNmLVx4NUZdKyQvaQogICAgV1hZX15hYmMKIDA6IFdYWV9eYWJjCiAgICB3eHlfXkFCQwogMDogd3h5X15BQkMKCi9eYWJjJC9tCiAgICBhYmMKIDA6IGFiYwogICAgcXFxXG5hYmMKIDA6IGFiYwogICAgYWJjXG56enoKIDA6IGFiYwogICAgcXFxXG5hYmNcbnp6egogMDogYWJjCgovXmFiYyQvCiAgICBhYmMKIDA6IGFiYwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIHFxcVxuYWJjCk5vIG1hdGNoCiAgICBhYmNcbnp6egpObyBtYXRjaAogICAgcXFxXG5hYmNcbnp6egpObyBtYXRjaAoKL1xBYWJjXFovbQogICAgYWJjCiAwOiBhYmMKICAgIGFiY1xuIAogMDogYWJjClw9IEV4cGVjdCBubyBtYXRjaAogICAgcXFxXG5hYmMKTm8gbWF0Y2gKICAgIGFiY1xuenp6Ck5vIG1hdGNoCiAgICBxcXFcbmFiY1xuenp6Ck5vIG1hdGNoCiAgICAKL1xBKC4pKlxaL3MKICAgIGFiY1xuZGVmCiAwOiBhYmNceDBhZGVmCiAxOiBmCgovXEEoLikqXFovbQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFiY1xuZGVmCk5vIG1hdGNoCgovKD86Yil8KD86OispLwogICAgYjo6YwogMDogYgogICAgYzo6YgogMDogOjoKCi9bLWF6XSsvCiAgICBhei0KIDA6IGF6LQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGIKTm8gbWF0Y2gKCi9bYXotXSsvCiAgICB6YS0KIDA6IHphLQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGIKTm8gbWF0Y2gKCi9bYVwtel0rLwogICAgYS16CiAwOiBhLXoKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBiCk5vIG1hdGNoCgovW2Etel0rLwogICAgYWJjZHh5egogMDogYWJjZHh5egoKL1tcZC1dKy8KICAgIDEyLTM0CiAwOiAxMi0zNApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFhYQpObyBtYXRjaAoKL1x4NWMvCiAgICBcXAogMDogXAoKL1x4MjBaLwogICAgdGhlIFpvbwogMDogIFoKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBadWx1Ck5vIG1hdGNoCgovKGFiYylcMS9pCiAgICBhYmNhYmMKIDA6IGFiY2FiYwogMTogYWJjCiAgICBBQkNhYmMKIDA6IEFCQ2FiYwogMTogQUJDCiAgICBhYmNBQkMKIDA6IGFiY0FCQwogMTogYWJjCgovYWJjJC8KICAgIGFiYwogMDogYWJjCiAgICBhYmNcbgogMDogYWJjClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWJjXG5kZWYKTm8gbWF0Y2gKCi8oYWJjKVwxMjMvCiAgICBhYmNceDUzCiAwOiBhYmNTCiAxOiBhYmMKCi8oYWJjKVwyMjMvCiAgICBhYmNceDkzCiAwOiBhYmNceDkzCiAxOiBhYmMKCi8oYWJjKVwzMjMvCiAgICBhYmNceGQzCiAwOiBhYmNceGQzCiAxOiBhYmMKCi8oYWJjKVwxMDAvCiAgICBhYmNceDQwCiAwOiBhYmNACiAxOiBhYmMKICAgIGFiY1wxMDAKIDA6IGFiY0AKIDE6IGFiYwoKLyhhYmMpXDEwMDAvCiAgICBhYmNceDQwMAogMDogYWJjQDAKIDE6IGFiYwogICAgYWJjXHg0MFx4MzAKIDA6IGFiY0AwCiAxOiBhYmMKICAgIGFiY1wxMDAwCiAwOiBhYmNAMAogMTogYWJjCiAgICBhYmNcMTAwXHgzMAogMDogYWJjQDAKIDE6IGFiYwogICAgYWJjXDEwMFwwNjAKIDA6IGFiY0AwCiAxOiBhYmMKICAgIGFiY1wxMDBcNjAKIDA6IGFiY0AwCiAxOiBhYmMKICAgIAovXihBKShCKShDKShEKShFKShGKShHKShIKShJKVw4XDkkLwogICAgQUJDREVGR0hJSEkgCiAwOiBBQkNERUZHSElISQogMTogQQogMjogQgogMzogQwogNDogRAogNTogRQogNjogRgogNzogRwogODogSAogOTogSQoKL15bQVw4Qlw5Q10rJC8KICAgIEE4QjlDCiAwOiBBOEI5QwpcPSBFeHBlY3Qgbm8gbWF0Y2ggCiAgICBBOEI5Q1x4MDAKTm8gbWF0Y2gKCi8oYSkoYikoYykoZCkoZSkoZikoZykoaCkoaSkoaikoaykobClcMTJcMTIzLwogICAgYWJjZGVmZ2hpamtsbFMKIDA6IGFiY2RlZmdoaWprbGxTCiAxOiBhCiAyOiBiCiAzOiBjCiA0OiBkCiA1OiBlCiA2OiBmCiA3OiBnCiA4OiBoCiA5OiBpCjEwOiBqCjExOiBrCjEyOiBsCgovKGEpKGIpKGMpKGQpKGUpKGYpKGcpKGgpKGkpKGopKGspXDEyXDEyMy8KICAgIGFiY2RlZmdoaWprXDEyUwogMDogYWJjZGVmZ2hpamtceDBhUwogMTogYQogMjogYgogMzogYwogNDogZAogNTogZQogNjogZgogNzogZwogODogaAogOTogaQoxMDogagoxMTogawoKL2F7MH1iYy8KICAgIGJjCiAwOiBiYwoKLyhhfChiYykpezAsMH0/eHl6LwogICAgeHl6CiAwOiB4eXoKCi9hYmNbXDEwXWRlLwogICAgYWJjXDAxMGRlCiAwOiBhYmNceDA4ZGUKCi9hYmNbXDFdZGUvCiAgICBhYmNcMWRlCiAwOiBhYmNceDAxZGUKCi8oYWJjKVtcMV1kZS8KICAgIGFiY1wxZGUKIDA6IGFiY1x4MDFkZQogMTogYWJjCgovKD9zKWEuYi8KICAgIGFcbmIKIDA6IGFceDBhYgoKL14oW15hXSkoW15cYl0pKFteY10qKShbXmRdezMsNH0pLwogICAgYmFOT1RjY2NjZAogMDogYmFOT1RjY2NjCiAxOiBiCiAyOiBhCiAzOiBOT1QKIDQ6IGNjY2MKICAgIGJhTk9UY2NjZAogMDogYmFOT1RjY2MKIDE6IGIKIDI6IGEKIDM6IE5PVAogNDogY2NjCiAgICBiYU5PVGNjZAogMDogYmFOT1RjYwogMTogYgogMjogYQogMzogTk8KIDQ6IFRjYwogICAgYmFjY2NkCiAwOiBiYWNjYwogMTogYgogMjogYQogMzogCiA0OiBjY2MKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhbnl0aGluZwpObyBtYXRjaAogICAgYlxiYyAgIApObyBtYXRjaAogICAgYmFjY2QKTm8gbWF0Y2gKCi9bXmFdLwogICAgQWJjCiAwOiBBCiAgCi9bXmFdL2kKICAgIEFiYyAKIDA6IGIKCi9bXmFdKy8KICAgIEFBQWFBYmMKIDA6IEFBQQogIAovW15hXSsvaQogICAgQUFBYUFiYyAKIDA6IGJjCgovW15hXSsvCiAgICBiYmJcbmNjYwogMDogYmJiXHgwYWNjYwogICAKL1tea10kLwogICAgYWJjCiAwOiBjClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWJrICAgCk5vIG1hdGNoCiAgIAovW15rXXsyLDN9JC8KICAgIGFiYwogMDogYWJjCiAgICBrYmMKIDA6IGJjCiAgICBrYWJjIAogMDogYWJjClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWJrCk5vIG1hdGNoCiAgICBha2IKTm8gbWF0Y2gKICAgIGFrayAKTm8gbWF0Y2gKCi9eXGR7OCx9XEAuK1tea10kLwogICAgMTIzNDU2NzhcQGEuYi5jLmQKIDA6IDEyMzQ1Njc4QGEuYi5jLmQKICAgIDEyMzQ1Njc4OVxAeC55LnoKIDA6IDEyMzQ1Njc4OUB4LnkuegpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIDEyMzQ1Njc4XEB4LnkudWsKTm8gbWF0Y2gKICAgIDEyMzQ1NjdcQGEuYi5jLmQgICAgICAgCk5vIG1hdGNoCgovKGEpXDF7OCx9LwogICAgYWFhYWFhYWFhCiAwOiBhYWFhYWFhYWEKIDE6IGEKICAgIGFhYWFhYWFhYWEKIDA6IGFhYWFhYWFhYWEKIDE6IGEKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYWFhYWFhICAgCk5vIG1hdGNoCgovW15hXS8KICAgIGFhYWFiY2QKIDA6IGIKICAgIGFhQWFiY2QgCiAwOiBBCgovW15hXS9pCiAgICBhYWFhYmNkCiAwOiBiCiAgICBhYUFhYmNkIAogMDogYgoKL1teYXpdLwogICAgYWFhYWJjZAogMDogYgogICAgYWFBYWJjZCAKIDA6IEEKCi9bXmF6XS9pCiAgICBhYWFhYmNkCiAwOiBiCiAgICBhYUFhYmNkIAogMDogYgoKL1wwMDBcMDAxXDAwMlwwMDNcMDA0XDAwNVwwMDZcMDA3XDAxMFwwMTFcMDEyXDAxM1wwMTRcMDE1XDAxNlwwMTdcMDIwXDAyMVwwMjJcMDIzXDAyNFwwMjVcMDI2XDAyN1wwMzBcMDMxXDAzMlwwMzNcMDM0XDAzNVwwMzZcMDM3XDA0MFwwNDFcMDQyXDA0M1wwNDRcMDQ1XDA0NlwwNDdcMDUwXDA1MVwwNTJcMDUzXDA1NFwwNTVcMDU2XDA1N1wwNjBcMDYxXDA2MlwwNjNcMDY0XDA2NVwwNjZcMDY3XDA3MFwwNzFcMDcyXDA3M1wwNzRcMDc1XDA3NlwwNzdcMTAwXDEwMVwxMDJcMTAzXDEwNFwxMDVcMTA2XDEwN1wxMTBcMTExXDExMlwxMTNcMTE0XDExNVwxMTZcMTE3XDEyMFwxMjFcMTIyXDEyM1wxMjRcMTI1XDEyNlwxMjdcMTMwXDEzMVwxMzJcMTMzXDEzNFwxMzVcMTM2XDEzN1wxNDBcMTQxXDE0MlwxNDNcMTQ0XDE0NVwxNDZcMTQ3XDE1MFwxNTFcMTUyXDE1M1wxNTRcMTU1XDE1NlwxNTdcMTYwXDE2MVwxNjJcMTYzXDE2NFwxNjVcMTY2XDE2N1wxNzBcMTcxXDE3MlwxNzNcMTc0XDE3NVwxNzZcMTc3XDIwMFwyMDFcMjAyXDIwM1wyMDRcMjA1XDIwNlwyMDdcMjEwXDIxMVwyMTJcMjEzXDIxNFwyMTVcMjE2XDIxN1wyMjBcMjIxXDIyMlwyMjNcMjI0XDIyNVwyMjZcMjI3XDIzMFwyMzFcMjMyXDIzM1wyMzRcMjM1XDIzNlwyMzdcMjQwXDI0MVwyNDJcMjQzXDI0NFwyNDVcMjQ2XDI0N1wyNTBcMjUxXDI1MlwyNTNcMjU0XDI1NVwyNTZcMjU3XDI2MFwyNjFcMjYyXDI2M1wyNjRcMjY1XDI2NlwyNjdcMjcwXDI3MVwyNzJcMjczXDI3NFwyNzVcMjc2XDI3N1wzMDBcMzAxXDMwMlwzMDNcMzA0XDMwNVwzMDZcMzA3XDMxMFwzMTFcMzEyXDMxM1wzMTRcMzE1XDMxNlwzMTdcMzIwXDMyMVwzMjJcMzIzXDMyNFwzMjVcMzI2XDMyN1wzMzBcMzMxXDMzMlwzMzNcMzM0XDMzNVwzMzZcMzM3XDM0MFwzNDFcMzQyXDM0M1wzNDRcMzQ1XDM0NlwzNDdcMzUwXDM1MVwzNTJcMzUzXDM1NFwzNTVcMzU2XDM1N1wzNjBcMzYxXDM2MlwzNjNcMzY0XDM2NVwzNjZcMzY3XDM3MFwzNzFcMzcyXDM3M1wzNzRcMzc1XDM3NlwzNzcvCiBcMDAwXDAwMVwwMDJcMDAzXDAwNFwwMDVcMDA2XDAwN1wwMTBcMDExXDAxMlwwMTNcMDE0XDAxNVwwMTZcMDE3XDAyMFwwMjFcMDIyXDAyM1wwMjRcMDI1XDAyNlwwMjdcMDMwXDAzMVwwMzJcMDMzXDAzNFwwMzVcMDM2XDAzN1wwNDBcMDQxXDA0MlwwNDNcMDQ0XDA0NVwwNDZcMDQ3XDA1MFwwNTFcMDUyXDA1M1wwNTRcMDU1XDA1NlwwNTdcMDYwXDA2MVwwNjJcMDYzXDA2NFwwNjVcMDY2XDA2N1wwNzBcMDcxXDA3MlwwNzNcMDc0XDA3NVwwNzZcMDc3XDEwMFwxMDFcMTAyXDEwM1wxMDRcMTA1XDEwNlwxMDdcMTEwXDExMVwxMTJcMTEzXDExNFwxMTVcMTE2XDExN1wxMjBcMTIxXDEyMlwxMjNcMTI0XDEyNVwxMjZcMTI3XDEzMFwxMzFcMTMyXDEzM1wxMzRcMTM1XDEzNlwxMzdcMTQwXDE0MVwxNDJcMTQzXDE0NFwxNDVcMTQ2XDE0N1wxNTBcMTUxXDE1MlwxNTNcMTU0XDE1NVwxNTZcMTU3XDE2MFwxNjFcMTYyXDE2M1wxNjRcMTY1XDE2NlwxNjdcMTcwXDE3MVwxNzJcMTczXDE3NFwxNzVcMTc2XDE3N1wyMDBcMjAxXDIwMlwyMDNcMjA0XDIwNVwyMDZcMjA3XDIxMFwyMTFcMjEyXDIxM1wyMTRcMjE1XDIxNlwyMTdcMjIwXDIyMVwyMjJcMjIzXDIyNFwyMjVcMjI2XDIyN1wyMzBcMjMxXDIzMlwyMzNcMjM0XDIzNVwyMzZcMjM3XDI0MFwyNDFcMjQyXDI0M1wyNDRcMjQ1XDI0NlwyNDdcMjUwXDI1MVwyNTJcMjUzXDI1NFwyNTVcMjU2XDI1N1wyNjBcMjYxXDI2MlwyNjNcMjY0XDI2NVwyNjZcMjY3XDI3MFwyNzFcMjcyXDI3M1wyNzRcMjc1XDI3NlwyNzdcMzAwXDMwMVwzMDJcMzAzXDMwNFwzMDVcMzA2XDMwN1wzMTBcMzExXDMxMlwzMTNcMzE0XDMxNVwzMTZcMzE3XDMyMFwzMjFcMzIyXDMyM1wzMjRcMzI1XDMyNlwzMjdcMzMwXDMzMVwzMzJcMzMzXDMzNFwzMzVcMzM2XDMzN1wzNDBcMzQxXDM0MlwzNDNcMzQ0XDM0NVwzNDZcMzQ3XDM1MFwzNTFcMzUyXDM1M1wzNTRcMzU1XDM1NlwzNTdcMzYwXDM2MVwzNjJcMzYzXDM2NFwzNjVcMzY2XDM2N1wzNzBcMzcxXDM3MlwzNzNcMzc0XDM3NVwzNzZcMzc3CiAwOiBceDAwXHgwMVx4MDJceDAzXHgwNFx4MDVceDA2XHgwN1x4MDhceDA5XHgwYVx4MGJceDBjXHgwZFx4MGVceDBmXHgxMFx4MTFceDEyXHgxM1x4MTRceDE1XHgxNlx4MTdceDE4XHgxOVx4MWFceDFiXHgxY1x4MWRceDFlXHgxZiAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+XHg3Zlx4ODBceDgxXHg4Mlx4ODNceDg0XHg4NVx4ODZceDg3XHg4OFx4ODlceDhhXHg4Ylx4OGNceDhkXHg4ZVx4OGZceDkwXHg5MVx4OTJceDkzXHg5NFx4OTVceDk2XHg5N1x4OThceDk5XHg5YVx4OWJceDljXHg5ZFx4OWVceDlmXHhhMFx4YTFceGEyXHhhM1x4YTRceGE1XHhhNlx4YTdceGE4XHhhOVx4YWFceGFiXHhhY1x4YWRceGFlXHhhZlx4YjBceGIxXHhiMlx4YjNceGI0XHhiNVx4YjZceGI3XHhiOFx4YjlceGJhXHhiYlx4YmNceGJkXHhiZVx4YmZceGMwXHhjMVx4YzJceGMzXHhjNFx4YzVceGM2XHhjN1x4YzhceGM5XHhjYVx4Y2JceGNjXHhjZFx4Y2VceGNmXHhkMFx4ZDFceGQyXHhkM1x4ZDRceGQ1XHhkNlx4ZDdceGQ4XHhkOVx4ZGFceGRiXHhkY1x4ZGRceGRlXHhkZlx4ZTBceGUxXHhlMlx4ZTNceGU0XHhlNVx4ZTZceGU3XHhlOFx4ZTlceGVhXHhlYlx4ZWNceGVkXHhlZVx4ZWZceGYwXHhmMVx4ZjJceGYzXHhmNFx4ZjVceGY2XHhmN1x4ZjhceGY5XHhmYVx4ZmJceGZjXHhmZFx4ZmVceGZmCgovUFteKl1UQUlSRVteKl17MSw2fT9MTC8KICAgIHh4eHh4eHh4eHh4UFNUQUlSRUlTTEx4eHh4eHh4eHgKIDA6IFBTVEFJUkVJU0xMCgovUFteKl1UQUlSRVteKl17MSx9P0xMLwogICAgeHh4eHh4eHh4eHhQU1RBSVJFSVNMTHh4eHh4eHh4eAogMDogUFNUQUlSRUlTTEwKCi8oXC5cZFxkWzEtOV0/KVxkKy8KICAgIDEuMjMwMDAzOTM4CiAwOiAuMjMwMDAzOTM4CiAxOiAuMjMKICAgIDEuODc1MDAwMjgyICAgCiAwOiAuODc1MDAwMjgyCiAxOiAuODc1CiAgICAxLjIzNSAgCiAwOiAuMjM1CiAxOiAuMjMKICAgICAgICAgICAgICAgICAgCi8oXC5cZFxkKCg/PTApfFxkKD89XGQpKSkvCiAgICAxLjIzMDAwMzkzOCAgICAgIAogMDogLjIzCiAxOiAuMjMKIDI6IAogICAgMS44NzUwMDAyODIKIDA6IC44NzUKIDE6IC44NzUKIDI6IDUKXD0gRXhwZWN0IG5vIG1hdGNoIAogICAgMS4yMzUgCk5vIG1hdGNoCiAgICAKL2EoPyliLwogICAgYWIgCiAwOiBhYgogCi9cYihmb28pXHMrKFx3KykvaQogICAgRm9vZCBpcyBvbiB0aGUgZm9vIHRhYmxlCiAwOiBmb28gdGFibGUKIDE6IGZvbwogMjogdGFibGUKICAgIAovZm9vKC4qKWJhci8KICAgIFRoZSBmb29kIGlzIHVuZGVyIHRoZSBiYXIgaW4gdGhlIGJhcm4uCiAwOiBmb29kIGlzIHVuZGVyIHRoZSBiYXIgaW4gdGhlIGJhcgogMTogZCBpcyB1bmRlciB0aGUgYmFyIGluIHRoZSAKICAgIAovZm9vKC4qPyliYXIvCiAgICBUaGUgZm9vZCBpcyB1bmRlciB0aGUgYmFyIGluIHRoZSBiYXJuLgogMDogZm9vZCBpcyB1bmRlciB0aGUgYmFyCiAxOiBkIGlzIHVuZGVyIHRoZSAKCi8oLiopKFxkKikvCiAgICBJIGhhdmUgMiBudW1iZXJzOiA1MzE0NwogMDogSSBoYXZlIDIgbnVtYmVyczogNTMxNDcKIDE6IEkgaGF2ZSAyIG51bWJlcnM6IDUzMTQ3CiAyOiAKICAgIAovKC4qKShcZCspLwogICAgSSBoYXZlIDIgbnVtYmVyczogNTMxNDcKIDA6IEkgaGF2ZSAyIG51bWJlcnM6IDUzMTQ3CiAxOiBJIGhhdmUgMiBudW1iZXJzOiA1MzE0CiAyOiA3CiAKLyguKj8pKFxkKikvCiAgICBJIGhhdmUgMiBudW1iZXJzOiA1MzE0NwogMDogCiAxOiAKIDI6IAoKLyguKj8pKFxkKykvCiAgICBJIGhhdmUgMiBudW1iZXJzOiA1MzE0NwogMDogSSBoYXZlIDIKIDE6IEkgaGF2ZSAKIDI6IDIKCi8oLiopKFxkKykkLwogICAgSSBoYXZlIDIgbnVtYmVyczogNTMxNDcKIDA6IEkgaGF2ZSAyIG51bWJlcnM6IDUzMTQ3CiAxOiBJIGhhdmUgMiBudW1iZXJzOiA1MzE0CiAyOiA3CgovKC4qPykoXGQrKSQvCiAgICBJIGhhdmUgMiBudW1iZXJzOiA1MzE0NwogMDogSSBoYXZlIDIgbnVtYmVyczogNTMxNDcKIDE6IEkgaGF2ZSAyIG51bWJlcnM6IAogMjogNTMxNDcKCi8oLiopXGIoXGQrKSQvCiAgICBJIGhhdmUgMiBudW1iZXJzOiA1MzE0NwogMDogSSBoYXZlIDIgbnVtYmVyczogNTMxNDcKIDE6IEkgaGF2ZSAyIG51bWJlcnM6IAogMjogNTMxNDcKCi8oLipcRCkoXGQrKSQvCiAgICBJIGhhdmUgMiBudW1iZXJzOiA1MzE0NwogMDogSSBoYXZlIDIgbnVtYmVyczogNTMxNDcKIDE6IEkgaGF2ZSAyIG51bWJlcnM6IAogMjogNTMxNDcKCi9eXEQqKD8hMTIzKS8KICAgIEFCQzEyMwogMDogQUIKICAgICAKL14oXEQqKSg/PVxkKSg/ITEyMykvCiAgICBBQkM0NDUKIDA6IEFCQwogMTogQUJDClw9IEV4cGVjdCBubyBtYXRjaAogICAgQUJDMTIzCk5vIG1hdGNoCiAgICAKL15bVy1dNDZdLwogICAgVzQ2XTc4OSAKIDA6IFc0Nl0KICAgIC00Nl03ODkKIDA6IC00Nl0KXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBXYWxsCk5vIG1hdGNoCiAgICBaZWJyYQpObyBtYXRjaAogICAgNDIKTm8gbWF0Y2gKICAgIFthYmNkXSAKTm8gbWF0Y2gKICAgIF1hYmNkWwpObyBtYXRjaAogICAgICAgCi9eW1ctXF00Nl0vCiAgICBXNDZdNzg5IAogMDogVwogICAgV2FsbAogMDogVwogICAgWmVicmEKIDA6IFoKICAgIFh5bG9waG9uZSAgCiAwOiBYCiAgICA0MgogMDogNAogICAgW2FiY2RdIAogMDogWwogICAgXWFiY2RbCiAwOiBdCiAgICBcXGJhY2tzbGFzaCAKIDA6IFwKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICAtNDZdNzg5Ck5vIG1hdGNoCiAgICB3ZWxsCk5vIG1hdGNoCiAgICAKL1xkXGRcL1xkXGRcL1xkXGRcZFxkLwogICAgMDEvMDEvMjAwMAogMDogMDEvMDEvMjAwMAoKL3dvcmQgKD86W2EtekEtWjAtOV0rICl7MCwxMH1vdGhlcndvcmQvCiAgICB3b3JkIGNhdCBkb2cgZWxlcGhhbnQgbXVzc2VsIGNvdyBob3JzZSBjYW5hcnkgYmFib29uIHNuYWtlIHNoYXJrIG90aGVyd29yZAogMDogd29yZCBjYXQgZG9nIGVsZXBoYW50IG11c3NlbCBjb3cgaG9yc2UgY2FuYXJ5IGJhYm9vbiBzbmFrZSBzaGFyayBvdGhlcndvcmQKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICB3b3JkIGNhdCBkb2cgZWxlcGhhbnQgbXVzc2VsIGNvdyBob3JzZSBjYW5hcnkgYmFib29uIHNuYWtlIHNoYXJrCk5vIG1hdGNoCgovd29yZCAoPzpbYS16QS1aMC05XSsgKXswLDMwMH1vdGhlcndvcmQvClw9IEV4cGVjdCBubyBtYXRjaAogICAgd29yZCBjYXQgZG9nIGVsZXBoYW50IG11c3NlbCBjb3cgaG9yc2UgY2FuYXJ5IGJhYm9vbiBzbmFrZSBzaGFyayB0aGUgcXVpY2sgYnJvd24gZm94IGFuZCB0aGUgbGF6eSBkb2cgYW5kIHNldmVyYWwgb3RoZXIgd29yZHMgZ2V0dGluZyBjbG9zZSB0byB0aGlydHkgYnkgbm93IEkgaG9wZQpObyBtYXRjaAoKL14oYSl7MCwwfS8KICAgIGJjZAogMDogCiAgICBhYmMKIDA6IAogICAgYWFiICAgICAKIDA6IAoKL14oYSl7MCwxfS8KICAgIGJjZAogMDogCiAgICBhYmMKIDA6IGEKIDE6IGEKICAgIGFhYiAgCiAwOiBhCiAxOiBhCgovXihhKXswLDJ9LwogICAgYmNkCiAwOiAKICAgIGFiYwogMDogYQogMTogYQogICAgYWFiICAKIDA6IGFhCiAxOiBhCgovXihhKXswLDN9LwogICAgYmNkCiAwOiAKICAgIGFiYwogMDogYQogMTogYQogICAgYWFiCiAwOiBhYQogMTogYQogICAgYWFhICAgCiAwOiBhYWEKIDE6IGEKCi9eKGEpezAsfS8KICAgIGJjZAogMDogCiAgICBhYmMKIDA6IGEKIDE6IGEKICAgIGFhYgogMDogYWEKIDE6IGEKICAgIGFhYQogMDogYWFhCiAxOiBhCiAgICBhYWFhYWFhYSAgICAKIDA6IGFhYWFhYWFhCiAxOiBhCgovXihhKXsxLDF9LwogICAgYWJjCiAwOiBhCiAxOiBhCiAgICBhYWIgIAogMDogYQogMTogYQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGJjZApObyBtYXRjaAoKL14oYSl7MSwyfS8KICAgIGFiYwogMDogYQogMTogYQogICAgYWFiICAKIDA6IGFhCiAxOiBhClw9IEV4cGVjdCBubyBtYXRjaAogICAgYmNkCk5vIG1hdGNoCgovXihhKXsxLDN9LwogICAgYWJjCiAwOiBhCiAxOiBhCiAgICBhYWIKIDA6IGFhCiAxOiBhCiAgICBhYWEgICAKIDA6IGFhYQogMTogYQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGJjZApObyBtYXRjaAoKL14oYSl7MSx9LwogICAgYWJjCiAwOiBhCiAxOiBhCiAgICBhYWIKIDA6IGFhCiAxOiBhCiAgICBhYWEKIDA6IGFhYQogMTogYQogICAgYWFhYWFhYWEgICAgCiAwOiBhYWFhYWFhYQogMTogYQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGJjZApObyBtYXRjaAoKLy4qXC5naWYvCiAgICBib3JmbGVcbmJpYi5naWZcbm5vCiAwOiBiaWIuZ2lmCgovLnswLH1cLmdpZi8KICAgIGJvcmZsZVxuYmliLmdpZlxubm8KIDA6IGJpYi5naWYKCi8uKlwuZ2lmL20KICAgIGJvcmZsZVxuYmliLmdpZlxubm8KIDA6IGJpYi5naWYKCi8uKlwuZ2lmL3MKICAgIGJvcmZsZVxuYmliLmdpZlxubm8KIDA6IGJvcmZsZVx4MGFiaWIuZ2lmCgovLipcLmdpZi9tcwogICAgYm9yZmxlXG5iaWIuZ2lmXG5ubwogMDogYm9yZmxlXHgwYWJpYi5naWYKICAgIAovLiokLwogICAgYm9yZmxlXG5iaWIuZ2lmXG5ubwogMDogbm8KCi8uKiQvbQogICAgYm9yZmxlXG5iaWIuZ2lmXG5ubwogMDogYm9yZmxlCgovLiokL3MKICAgIGJvcmZsZVxuYmliLmdpZlxubm8KIDA6IGJvcmZsZVx4MGFiaWIuZ2lmXHgwYW5vCgovLiokL21zCiAgICBib3JmbGVcbmJpYi5naWZcbm5vCiAwOiBib3JmbGVceDBhYmliLmdpZlx4MGFubwogICAgCi8uKiQvCiAgICBib3JmbGVcbmJpYi5naWZcbm5vXG4KIDA6IG5vCgovLiokL20KICAgIGJvcmZsZVxuYmliLmdpZlxubm9cbgogMDogYm9yZmxlCgovLiokL3MKICAgIGJvcmZsZVxuYmliLmdpZlxubm9cbgogMDogYm9yZmxlXHgwYWJpYi5naWZceDBhbm9ceDBhCgovLiokL21zCiAgICBib3JmbGVcbmJpYi5naWZcbm5vXG4KIDA6IGJvcmZsZVx4MGFiaWIuZ2lmXHgwYW5vXHgwYQogICAgCi8oLipYfF5CKS8KICAgIGFiY2RlXG4xMjM0WHl6CiAwOiAxMjM0WAogMTogMTIzNFgKICAgIEJhckZvbyAKIDA6IEIKIDE6IEIKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYmNkZVxuQmFyICAKTm8gbWF0Y2gKCi8oLipYfF5CKS9tCiAgICBhYmNkZVxuMTIzNFh5egogMDogMTIzNFgKIDE6IDEyMzRYCiAgICBCYXJGb28gCiAwOiBCCiAxOiBCCiAgICBhYmNkZVxuQmFyICAKIDA6IEIKIDE6IEIKCi8oLipYfF5CKS9zCiAgICBhYmNkZVxuMTIzNFh5egogMDogYWJjZGVceDBhMTIzNFgKIDE6IGFiY2RlXHgwYTEyMzRYCiAgICBCYXJGb28gCiAwOiBCCiAxOiBCClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWJjZGVcbkJhciAgCk5vIG1hdGNoCgovKC4qWHxeQikvbXMKICAgIGFiY2RlXG4xMjM0WHl6CiAwOiBhYmNkZVx4MGExMjM0WAogMTogYWJjZGVceDBhMTIzNFgKICAgIEJhckZvbyAKIDA6IEIKIDE6IEIKICAgIGFiY2RlXG5CYXIgIAogMDogQgogMTogQgoKLyg/cykoLipYfF5CKS8KICAgIGFiY2RlXG4xMjM0WHl6CiAwOiBhYmNkZVx4MGExMjM0WAogMTogYWJjZGVceDBhMTIzNFgKICAgIEJhckZvbyAKIDA6IEIKIDE6IEIKXD0gRXhwZWN0IG5vIG1hdGNoIAogICAgYWJjZGVcbkJhciAgCk5vIG1hdGNoCgovKD9zOi4qWHxeQikvCiAgICBhYmNkZVxuMTIzNFh5egogMDogYWJjZGVceDBhMTIzNFgKICAgIEJhckZvbyAKIDA6IEIKXD0gRXhwZWN0IG5vIG1hdGNoIAogICAgYWJjZGVcbkJhciAgCk5vIG1hdGNoCgovXi4qQi8KXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYmNcbkIKTm8gbWF0Y2gKICAgICAKLyg/cyleLipCLwogICAgYWJjXG5CCiAwOiBhYmNceDBhQgoKLyg/bSleLipCLwogICAgYWJjXG5CCiAwOiBCCiAgICAgCi8oP21zKV4uKkIvCiAgICBhYmNcbkIKIDA6IGFiY1x4MGFCCgovKD9tcyleQi8KICAgIGFiY1xuQgogMDogQgoKLyg/cylCJC8KICAgIEJcbgogMDogQgoKL15bMC05XVswLTldWzAtOV1bMC05XVswLTldWzAtOV1bMC05XVswLTldWzAtOV1bMC05XVswLTldWzAtOV0vCiAgICAxMjM0NTY2NTQzMjEKIDA6IDEyMzQ1NjY1NDMyMQogIAovXlxkXGRcZFxkXGRcZFxkXGRcZFxkXGRcZC8KICAgIDEyMzQ1NjY1NDMyMSAKIDA6IDEyMzQ1NjY1NDMyMQoKL15bXGRdW1xkXVtcZF1bXGRdW1xkXVtcZF1bXGRdW1xkXVtcZF1bXGRdW1xkXVtcZF0vCiAgICAxMjM0NTY2NTQzMjEKIDA6IDEyMzQ1NjY1NDMyMQogIAovXlthYmNdezEyfS8KICAgIGFiY2FiY2FiY2FiYwogMDogYWJjYWJjYWJjYWJjCiAgICAKL15bYS1jXXsxMn0vCiAgICBhYmNhYmNhYmNhYmMKIDA6IGFiY2FiY2FiY2FiYwogICAgCi9eKGF8YnxjKXsxMn0vCiAgICBhYmNhYmNhYmNhYmMgCiAwOiBhYmNhYmNhYmNhYmMKIDE6IGMKCi9eW2FiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHkwMTIzNDU2Nzg5XS8KICAgIG4KIDA6IG4KXD0gRXhwZWN0IG5vIG1hdGNoIAogICAgeiAKTm8gbWF0Y2gKCi9hYmNkZXswLDB9LwogICAgYWJjZAogMDogYWJjZApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFiY2UgIApObyBtYXRjaAoKL2FiW2NkXXswLDB9ZS8KICAgIGFiZQogMDogYWJlClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWJjZGUgCk5vIG1hdGNoCiAgICAKL2FiKGMpezAsMH1kLwogICAgYWJkCiAwOiBhYmQKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYmNkICAgCk5vIG1hdGNoCgovYShiKikvCiAgICBhCiAwOiBhCiAxOiAKICAgIGFiCiAwOiBhYgogMTogYgogICAgYWJiYmIKIDA6IGFiYmJiCiAxOiBiYmJiClw9IEV4cGVjdCBubyBtYXRjaAogICAgYmJiYmIgICAgCk5vIG1hdGNoCiAgICAKL2FiXGR7MH1lLwogICAgYWJlCiAwOiBhYmUKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYjFlICAgCk5vIG1hdGNoCiAgICAKLyIoW15cXCJdK3xcXC4pKiIvCiAgICB0aGUgXCJxdWlja1wiIGJyb3duIGZveAogMDogInF1aWNrIgogMTogcXVpY2sKICAgIFwidGhlIFxcXCJxdWlja1xcXCIgYnJvd24gZm94XCIgCiAwOiAidGhlIFwicXVpY2tcIiBicm93biBmb3giCiAxOiAgYnJvd24gZm94CgovLio/L2csYWZ0ZXJ0ZXh0CiAgICBhYmMKIDA6IAogMCsgYWJjCiAwOiBhCiAwKyBiYwogMDogCiAwKyBiYwogMDogYgogMCsgYwogMDogCiAwKyBjCiAwOiBjCiAwKyAKIDA6IAogMCsgCiAgCi9cYi9nLGFmdGVydGV4dAogICAgYWJjIAogMDogCiAwKyBhYmMKIDA6IAogMCsgCgovXGIvZyxhZnRlcnRleHQKICAgIGFiYyAKIDA6IAogMCsgYWJjCiAwOiAKIDArIAoKLy9nCiAgICBhYmMKIDA6IAogMDogCiAwOiAKIDA6IAoKLzx0cihbXHdcV1xzXGRdW148Pl17MCx9KT48VEQoW1x3XFdcc1xkXVtePD5dezAsfSk+KFtcZF17MCx9XC4pKC4qKSgoPEJSPihbXHdcV1xzXGRdW148Pl17MCx9KXxbXHNdezAsfSkpPFwvYT48XC9URD48VEQoW1x3XFdcc1xkXVtePD5dezAsfSk+KFtcd1xXXHNcZF1bXjw+XXswLH0pPFwvVEQ+PFREKFtcd1xXXHNcZF1bXjw+XXswLH0pPihbXHdcV1xzXGRdW148Pl17MCx9KTxcL1REPjxcL1RSPi9pcwogIDxUUiBCR0NPTE9SPScjREJFOUU5Jz48VEQgYWxpZ249bGVmdCB2YWxpZ249dG9wPjQzLjxhIGhyZWY9J2pvYmxpc3QuY2ZtP0pvYklEPTk0IDY3MzUmS2V5d29yZD0nPldvcmQgUHJvY2Vzc29yPEJSPihOLTEyODYpPC9hPjwvVEQ+PFREIGFsaWduPWxlZnQgdmFsaWduPXRvcD5MZWdhIGxzdGFmZi5jb208L1REPjxURCBhbGlnbj1sZWZ0IHZhbGlnbj10b3A+Q0EgLSBTdGF0ZXdpZGU8L1REPjwvVFI+CiAwOiA8VFIgQkdDT0xPUj0nI0RCRTlFOSc+PFREIGFsaWduPWxlZnQgdmFsaWduPXRvcD40My48YSBocmVmPSdqb2JsaXN0LmNmbT9Kb2JJRD05NCA2NzM1JktleXdvcmQ9Jz5Xb3JkIFByb2Nlc3NvcjxCUj4oTi0xMjg2KTwvYT48L1REPjxURCBhbGlnbj1sZWZ0IHZhbGlnbj10b3A+TGVnYSBsc3RhZmYuY29tPC9URD48VEQgYWxpZ249bGVmdCB2YWxpZ249dG9wPkNBIC0gU3RhdGV3aWRlPC9URD48L1RSPgogMTogIEJHQ09MT1I9JyNEQkU5RTknCiAyOiAgYWxpZ249bGVmdCB2YWxpZ249dG9wCiAzOiA0My4KIDQ6IDxhIGhyZWY9J2pvYmxpc3QuY2ZtP0pvYklEPTk0IDY3MzUmS2V5d29yZD0nPldvcmQgUHJvY2Vzc29yPEJSPihOLTEyODYpCiA1OiAKIDY6IAogNzogPHVuc2V0PgogODogIGFsaWduPWxlZnQgdmFsaWduPXRvcAogOTogTGVnYSBsc3RhZmYuY29tCjEwOiAgYWxpZ249bGVmdCB2YWxpZ249dG9wCjExOiBDQSAtIFN0YXRld2lkZQoKL2FbXmFdYi8KICAgIGFjYgogMDogYWNiCiAgICBhXG5iCiAwOiBhXHgwYWIKICAgIAovYS5iLwogICAgYWNiCiAwOiBhY2IKXD0gRXhwZWN0IG5vIG1hdGNoIAogICAgYVxuYiAgIApObyBtYXRjaAogICAgCi9hW15hXWIvcwogICAgYWNiCiAwOiBhY2IKICAgIGFcbmIgIAogMDogYVx4MGFiCiAgICAKL2EuYi9zCiAgICBhY2IKIDA6IGFjYgogICAgYVxuYiAgCiAwOiBhXHgwYWIKCi9eKGIrP3xhKXsxLDJ9P2MvCiAgICBiYWMKIDA6IGJhYwogMTogYQogICAgYmJhYwogMDogYmJhYwogMTogYQogICAgYmJiYWMKIDA6IGJiYmFjCiAxOiBhCiAgICBiYmJiYWMKIDA6IGJiYmJhYwogMTogYQogICAgYmJiYmJhYyAKIDA6IGJiYmJiYWMKIDE6IGEKCi9eKGIrfGEpezEsMn0/Yy8KICAgIGJhYwogMDogYmFjCiAxOiBhCiAgICBiYmFjCiAwOiBiYmFjCiAxOiBhCiAgICBiYmJhYwogMDogYmJiYWMKIDE6IGEKICAgIGJiYmJhYwogMDogYmJiYmFjCiAxOiBhCiAgICBiYmJiYmFjIAogMDogYmJiYmJhYwogMTogYQogICAgCi8oPyFcQSl4L20KICAgIGFcYnhcbgogMDogeAogICAgYVxueFxuCiAwOiB4Clw9IEV4cGVjdCBubyBtYXRjaCAgICAgCiAgICB4XG5iXG4KTm8gbWF0Y2gKICAgIAovKEF8QikqP0NELwogICAgQ0QgCiAwOiBDRAogICAgCi8oQXxCKSpDRC8KICAgIENEIAogMDogQ0QKCi8oQUIpKj9cMS8KICAgIEFCQUJBQgogMDogQUJBQgogMTogQUIKCi8oQUIpKlwxLwogICAgQUJBQkFCCiAwOiBBQkFCQUIKIDE6IEFCCiAgICAKLyg/PCFiYXIpZm9vLwogICAgZm9vCiAwOiBmb28KICAgIGNhdGZvb2QKIDA6IGZvbwogICAgYXJmb290bGUKIDA6IGZvbwogICAgcmZvb3NoCiAwOiBmb28KXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBiYXJmb28KTm8gbWF0Y2gKICAgIHRvd2JhcmZvbwpObyBtYXRjaAoKL1x3ezN9KD88IWJhcilmb28vCiAgICBjYXRmb29kCiAwOiBjYXRmb28KXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBmb28KTm8gbWF0Y2gKICAgIGJhcmZvbwpObyBtYXRjaAogICAgdG93YmFyZm9vCk5vIG1hdGNoCgovKD88PShmb28pYSliYXIvCiAgICBmb29hYmFyCiAwOiBiYXIKIDE6IGZvbwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGJhcgpObyBtYXRjaAogICAgZm9vYmJhcgpObyBtYXRjaAogICAgICAKL1xBYWJjXHovbQogICAgYWJjCiAwOiBhYmMKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYmNcbiAgIApObyBtYXRjaAogICAgcXFxXG5hYmMKTm8gbWF0Y2gKICAgIGFiY1xuenp6Ck5vIG1hdGNoCiAgICBxcXFcbmFiY1xuenp6Ck5vIG1hdGNoCgovKD8+LipcLylmb28vCiAgICAvdGhpcy9pcy9hL3ZlcnkvbG9uZy9saW5lL2luL2RlZWQvd2l0aC92ZXJ5L21hbnkvc2xhc2hlcy9pbi9hbmQvZm9vCiAwOiAvdGhpcy9pcy9hL3ZlcnkvbG9uZy9saW5lL2luL2RlZWQvd2l0aC92ZXJ5L21hbnkvc2xhc2hlcy9pbi9hbmQvZm9vClw9IEV4cGVjdCBubyBtYXRjaCAgICAgCiAgICAvdGhpcy9pcy9hL3ZlcnkvbG9uZy9saW5lL2luL2RlZWQvd2l0aC92ZXJ5L21hbnkvc2xhc2hlcy9pbi9pdC95b3Uvc2VlLwpObyBtYXRjaAoKLyg/PihcLlxkXGRbMS05XT8pKVxkKy8KICAgIDEuMjMwMDAzOTM4CiAwOiAuMjMwMDAzOTM4CiAxOiAuMjMKICAgIDEuODc1MDAwMjgyCiAwOiAuODc1MDAwMjgyCiAxOiAuODc1Clw9IEV4cGVjdCBubyBtYXRjaCAKICAgIDEuMjM1IApObyBtYXRjaAoKL14oKD8+XHcrKXwoPz5ccyspKSokLwogICAgbm93IGlzIHRoZSB0aW1lIGZvciBhbGwgZ29vZCBtZW4gdG8gY29tZSB0byB0aGUgYWlkIG9mIHRoZSBwYXJ0eQogMDogbm93IGlzIHRoZSB0aW1lIGZvciBhbGwgZ29vZCBtZW4gdG8gY29tZSB0byB0aGUgYWlkIG9mIHRoZSBwYXJ0eQogMTogcGFydHkKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICB0aGlzIGlzIG5vdCBhIGxpbmUgd2l0aCBvbmx5IHdvcmRzIGFuZCBzcGFjZXMhCk5vIG1hdGNoCiAgICAKLyhcZCspKFx3KS8KICAgIDEyMzQ1YQogMDogMTIzNDVhCiAxOiAxMjM0NQogMjogYQogICAgMTIzNDUrIAogMDogMTIzNDUKIDE6IDEyMzQKIDI6IDUKCi8oKD8+XGQrKSkoXHcpLwogICAgMTIzNDVhCiAwOiAxMjM0NWEKIDE6IDEyMzQ1CiAyOiBhClw9IEV4cGVjdCBubyBtYXRjaAogICAgMTIzNDUrIApObyBtYXRjaAoKLyg/PmErKWIvCiAgICBhYWFiCiAwOiBhYWFiCgovKCg/PmErKWIpLwogICAgYWFhYgogMDogYWFhYgogMTogYWFhYgoKLyg/PihhKykpYi8KICAgIGFhYWIKIDA6IGFhYWIKIDE6IGFhYQoKLyg/PmIpKy8KICAgIGFhYWJiYmNjYwogMDogYmJiCgovKD8+YSt8Yit8YyspKmMvCiAgICBhYWFiYmJiY2NjY2QKIDA6IGFhYWJiYmJjCgovKCg/PlteKCldKyl8XChbXigpXSpcKSkrLwogICAgKChhYmMoYWRlKXVmaCgpKCl4CiAwOiBhYmMoYWRlKXVmaCgpKCl4CiAxOiB4CiAgICAKL1woKCg/PlteKCldKyl8XChbXigpXStcKSkrXCkvCiAgICAoYWJjKQogMDogKGFiYykKIDE6IGFiYwogICAgKGFiYyhkZWYpeHl6KQogMDogKGFiYyhkZWYpeHl6KQogMTogeHl6Clw9IEV4cGVjdCBubyBtYXRjaAogICAgKCgoKWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhICAgCk5vIG1hdGNoCgovYSg/LWkpYi9pCiAgICBhYgogMDogYWIKICAgIEFiCiAwOiBBYgpcPSBFeHBlY3Qgbm8gbWF0Y2ggCiAgICBhQgpObyBtYXRjaAogICAgQUIKTm8gbWF0Y2gKICAgICAgICAKLyhhICg/eCliIGMpZCBlLwogICAgYSBiY2QgZQogMDogYSBiY2QgZQogMTogYSBiYwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGEgYiBjZCBlCk5vIG1hdGNoCiAgICBhYmNkIGUgICAKTm8gbWF0Y2gKICAgIGEgYmNkZSAKTm8gbWF0Y2gKIAovKGEgYig/eCljIGQgKD8teCllIGYpLwogICAgYSBiY2RlIGYKIDA6IGEgYmNkZSBmCiAxOiBhIGJjZGUgZgpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFiY2RlZiAgCk5vIG1hdGNoCgovKGEoP2kpYiljLwogICAgYWJjCiAwOiBhYmMKIDE6IGFiCiAgICBhQmMKIDA6IGFCYwogMTogYUIKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYkMKTm8gbWF0Y2gKICAgIGFCQyAgCk5vIG1hdGNoCiAgICBBYmMKTm8gbWF0Y2gKICAgIEFCYwpObyBtYXRjaAogICAgQUJDCk5vIG1hdGNoCiAgICBBYkMKTm8gbWF0Y2gKICAgIAovYSg/aTpiKWMvCiAgICBhYmMKIDA6IGFiYwogICAgYUJjCiAwOiBhQmMKXD0gRXhwZWN0IG5vIG1hdGNoIAogICAgQUJDCk5vIG1hdGNoCiAgICBhYkMKTm8gbWF0Y2gKICAgIGFCQwpObyBtYXRjaAogICAgCi9hKD9pOmIpKmMvCiAgICBhQmMKIDA6IGFCYwogICAgYUJCYwogMDogYUJCYwpcPSBFeHBlY3Qgbm8gbWF0Y2ggCiAgICBhQkMKTm8gbWF0Y2gKICAgIGFCQkMKTm8gbWF0Y2gKICAgIAovYSg/PWIoP2kpYylcd1x3ZC8KICAgIGFiY2QKIDA6IGFiY2QKICAgIGFiQ2QKIDA6IGFiQ2QKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhQkNkCk5vIG1hdGNoCiAgICBhYmNEICAgICAKTm8gbWF0Y2gKICAgIAovKD9zLWk6bW9yZS4qdGhhbikuKm1pbGxpb24vaQogICAgbW9yZSB0aGFuIG1pbGxpb24KIDA6IG1vcmUgdGhhbiBtaWxsaW9uCiAgICBtb3JlIHRoYW4gTUlMTElPTgogMDogbW9yZSB0aGFuIE1JTExJT04KICAgIG1vcmUgXG4gdGhhbiBNaWxsaW9uIAogMDogbW9yZSBceDBhIHRoYW4gTWlsbGlvbgpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIE1PUkUgVEhBTiBNSUxMSU9OICAgIApObyBtYXRjaAogICAgbW9yZSBcbiB0aGFuIFxuIG1pbGxpb24gCk5vIG1hdGNoCgovKD86KD9zLWkpbW9yZS4qdGhhbikuKm1pbGxpb24vaQogICAgbW9yZSB0aGFuIG1pbGxpb24KIDA6IG1vcmUgdGhhbiBtaWxsaW9uCiAgICBtb3JlIHRoYW4gTUlMTElPTgogMDogbW9yZSB0aGFuIE1JTExJT04KICAgIG1vcmUgXG4gdGhhbiBNaWxsaW9uIAogMDogbW9yZSBceDBhIHRoYW4gTWlsbGlvbgpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIE1PUkUgVEhBTiBNSUxMSU9OICAgIApObyBtYXRjaAogICAgbW9yZSBcbiB0aGFuIFxuIG1pbGxpb24gCk5vIG1hdGNoCiAgICAKLyg/PmEoP2kpYispK2MvCiAgICBhYmMKIDA6IGFiYwogICAgYUJiYwogMDogYUJiYwogICAgYUJCYyAKIDA6IGFCQmMKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBBYmMKTm8gbWF0Y2gKICAgIGFiQWIgICAgCk5vIG1hdGNoCiAgICBhYmJDIApObyBtYXRjaAogICAgCi8oPz1hKD9pKWIpXHdcd2MvCiAgICBhYmMKIDA6IGFiYwogICAgYUJjCiAwOiBhQmMKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBBYiAKTm8gbWF0Y2gKICAgIGFiQwpObyBtYXRjaAogICAgYUJDICAgICAKTm8gbWF0Y2gKICAgIAovKD88PWEoP2kpYikoXHdcdyljLwogICAgYWJ4eGMKIDA6IHh4YwogMTogeHgKICAgIGFCeHhjCiAwOiB4eGMKIDE6IHh4Clw9IEV4cGVjdCBubyBtYXRjaAogICAgQWJ4eGMKTm8gbWF0Y2gKICAgIEFCeHhjCk5vIG1hdGNoCiAgICBhYnh4QyAgICAgIApObyBtYXRjaAoKLyg/OihhKXxiKSg/KDEpQXxCKS8KICAgIGFBCiAwOiBhQQogMTogYQogICAgYkIKIDA6IGJCClw9IEV4cGVjdCBubyBtYXRjaAogICAgYUIKTm8gbWF0Y2gKICAgIGJBICAgIApObyBtYXRjaAoKL14oYSk/KD8oMSlhfGIpKyQvCiAgICBhYQogMDogYWEKIDE6IGEKICAgIGIKIDA6IGIKICAgIGJiICAKIDA6IGJiClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWIgICAKTm8gbWF0Y2gKICAgIAojIFBlcmwgZ2V0cyB0aGlzIG5leHQgb25lIHdyb25nIGlmIHRoZSBwYXR0ZXJuIGVuZHMgd2l0aCAkOyBpbiB0aGF0IGNhc2UgaXQKIyBmYWlscyB0byBtYXRjaCAiMTIiLiAKCi9eKD8oPz1hYmMpXHd7M306fFxkXGQpLwogICAgYWJjOgogMDogYWJjOgogICAgMTIKIDA6IDEyCiAgICAxMjMKIDA6IDEyClw9IEV4cGVjdCBubyBtYXRjaAogICAgeHl6ICAgIApObyBtYXRjaAoKL14oPyg/IWFiYylcZFxkfFx3ezN9OikkLwogICAgYWJjOgogMDogYWJjOgogICAgMTIKIDA6IDEyClw9IEV4cGVjdCBubyBtYXRjaAogICAgMTIzCk5vIG1hdGNoCiAgICB4eXogICAgCk5vIG1hdGNoCiAgICAKLyg/KD88PWZvbyliYXJ8Y2F0KS8KICAgIGZvb2JhcgogMDogYmFyCiAgICBjYXQKIDA6IGNhdAogICAgZmNhdAogMDogY2F0CiAgICBmb2NhdCAgIAogMDogY2F0Clw9IEV4cGVjdCBubyBtYXRjaAogICAgZm9vY2F0ICAKTm8gbWF0Y2gKCi8oPyg/PCFmb28pY2F0fGJhcikvCiAgICBmb29iYXIKIDA6IGJhcgogICAgY2F0CiAwOiBjYXQKICAgIGZjYXQKIDA6IGNhdAogICAgZm9jYXQgICAKIDA6IGNhdApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGZvb2NhdCAgCk5vIG1hdGNoCgovKCBcKCApPyBbXigpXSsgKD8oMSkgXCkgfCkgL3gKICAgIGFiY2QKIDA6IGFiY2QKICAgIChhYmNkKQogMDogKGFiY2QpCiAxOiAoCiAgICB0aGUgcXVpY2sgKGFiY2QpIGZveAogMDogdGhlIHF1aWNrIAogICAgKGFiY2QgICAKIDA6IGFiY2QKCi8oIFwoICk/IFteKCldKyAoPygxKSBcKSApIC94CiAgICBhYmNkCiAwOiBhYmNkCiAgICAoYWJjZCkKIDA6IChhYmNkKQogMTogKAogICAgdGhlIHF1aWNrIChhYmNkKSBmb3gKIDA6IHRoZSBxdWljayAKICAgIChhYmNkICAgCiAwOiBhYmNkCgovXig/KDIpYXwoMSkoMikpKyQvCiAgICAxMgogMDogMTIKIDE6IDEKIDI6IDIKICAgIDEyYQogMDogMTJhCiAxOiAxCiAyOiAyCiAgICAxMmFhCiAwOiAxMmFhCiAxOiAxCiAyOiAyClw9IEV4cGVjdCBubyBtYXRjaAogICAgMTIzNCAgICAKTm8gbWF0Y2gKCi8oKD9pKWJsYWgpXHMrXDEvCiAgICBibGFoIGJsYWgKIDA6IGJsYWggYmxhaAogMTogYmxhaAogICAgQkxBSCBCTEFICiAwOiBCTEFIIEJMQUgKIDE6IEJMQUgKICAgIEJsYWggQmxhaAogMDogQmxhaCBCbGFoCiAxOiBCbGFoCiAgICBibGFIIGJsYUgKIDA6IGJsYUggYmxhSAogMTogYmxhSApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGJsYWggQkxBSApObyBtYXRjaAogICAgQmxhaCBibGFoICAgICAgCk5vIG1hdGNoCiAgICBibGFIIGJsYWggCk5vIG1hdGNoCgovKCg/aSlibGFoKVxzKyg/aTpcMSkvCiAgICBibGFoIGJsYWgKIDA6IGJsYWggYmxhaAogMTogYmxhaAogICAgQkxBSCBCTEFICiAwOiBCTEFIIEJMQUgKIDE6IEJMQUgKICAgIEJsYWggQmxhaAogMDogQmxhaCBCbGFoCiAxOiBCbGFoCiAgICBibGFIIGJsYUgKIDA6IGJsYUggYmxhSAogMTogYmxhSAogICAgYmxhaCBCTEFICiAwOiBibGFoIEJMQUgKIDE6IGJsYWgKICAgIEJsYWggYmxhaCAgICAgIAogMDogQmxhaCBibGFoCiAxOiBCbGFoCiAgICBibGFIIGJsYWggCiAwOiBibGFIIGJsYWgKIDE6IGJsYUgKCi8oKD9pKWJsYWgpXHMrKD9tKUEoP2k6XDEpLwogICAgYmxhaCBBQkxBSAogMDogYmxhaCBBQkxBSAogMTogYmxhaApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGJsYWggYUJMQUgKTm8gbWF0Y2gKCi8oPz5hKikqLwogICAgYQogMDogYQogICAgYWEKIDA6IGFhCiAgICBhYWFhCiAwOiBhYWFhCiAgICAKLyhhYmN8KSsvCiAgICBhYmMKIDA6IGFiYwogMTogCiAgICBhYmNhYmMKIDA6IGFiY2FiYwogMTogCiAgICBhYmNhYmNhYmMKIDA6IGFiY2FiY2FiYwogMTogCiAgICB4eXogICAgICAKIDA6IAogMTogCgovKFthXSopKi8KICAgIGEKIDA6IGEKIDE6IAogICAgYWFhYWEgCiAwOiBhYWFhYQogMTogCiAKLyhbYWJdKikqLwogICAgYQogMDogYQogMTogCiAgICBiCiAwOiBiCiAxOiAKICAgIGFiYWJhYgogMDogYWJhYmFiCiAxOiAKICAgIGFhYWFiY2RlCiAwOiBhYWFhYgogMTogCiAgICBiYmJiICAgIAogMDogYmJiYgogMTogCiAKLyhbXmFdKikqLwogICAgYgogMDogYgogMTogCiAgICBiYmJiCiAwOiBiYmJiCiAxOiAKICAgIGFhYSAgIAogMDogCiAxOiAKIAovKFteYWJdKikqLwogICAgY2NjYwogMDogY2NjYwogMTogCiAgICBhYmFiICAKIDA6IAogMTogCiAKLyhbYV0qPykqLwogICAgYQogMDogCiAxOiAKICAgIGFhYWEgCiAwOiAKIDE6IAogCi8oW2FiXSo/KSovCiAgICBhCiAwOiAKIDE6IAogICAgYgogMDogCiAxOiAKICAgIGFiYWIKIDA6IAogMTogCiAgICBiYWJhICAgCiAwOiAKIDE6IAogCi8oW15hXSo/KSovCiAgICBiCiAwOiAKIDE6IAogICAgYmJiYgogMDogCiAxOiAKICAgIGFhYSAgIAogMDogCiAxOiAKIAovKFteYWJdKj8pKi8KICAgIGMKIDA6IAogMTogCiAgICBjY2NjCiAwOiAKIDE6IAogICAgYmFiYSAgIAogMDogCiAxOiAKIAovKD8+YSopKi8KICAgIGEKIDA6IGEKICAgIGFhYWJjZGUgCiAwOiBhYWEKIAovKCg/PmEqKSkqLwogICAgYWFhYWEKIDA6IGFhYWFhCiAxOiAKICAgIGFhYmJhYSAKIDA6IGFhCiAxOiAKIAovKCg/PmEqPykpKi8KICAgIGFhYWFhCiAwOiAKIDE6IAogICAgYWFiYmFhIAogMDogCiAxOiAKCi8oPyg/PVteYS16XStbYS16XSkgIFxkezJ9LVthLXpdezN9LVxkezJ9ICB8ICBcZHsyfS1cZHsyfS1cZHsyfSApIC94CiAgICAxMi1zZXAtOTgKIDA6IDEyLXNlcC05OAogICAgMTItMDktOTgKIDA6IDEyLTA5LTk4Clw9IEV4cGVjdCBubyBtYXRjaAogICAgc2VwLTEyLTk4Ck5vIG1hdGNoCiAgICAgICAgCi8oPzw9KGZvbykpYmFyXDEvCiAgICBmb29iYXJmb28KIDA6IGJhcmZvbwogMTogZm9vCiAgICBmb29iYXJmb290bGluZyAKIDA6IGJhcmZvbwogMTogZm9vClw9IEV4cGVjdCBubyBtYXRjaAogICAgZm9vYmFyCk5vIG1hdGNoCiAgICBiYXJmb28gICAKTm8gbWF0Y2gKCi8oP2k6c2F0dXJkYXl8c3VuZGF5KS8KICAgIHNhdHVyZGF5CiAwOiBzYXR1cmRheQogICAgc3VuZGF5CiAwOiBzdW5kYXkKICAgIFNhdHVyZGF5CiAwOiBTYXR1cmRheQogICAgU3VuZGF5CiAwOiBTdW5kYXkKICAgIFNBVFVSREFZCiAwOiBTQVRVUkRBWQogICAgU1VOREFZCiAwOiBTVU5EQVkKICAgIFN1bkRheQogMDogU3VuRGF5CiAgICAKLyhhKD9pKWJjfEJCKXgvCiAgICBhYmN4CiAwOiBhYmN4CiAxOiBhYmMKICAgIGFCQ3gKIDA6IGFCQ3gKIDE6IGFCQwogICAgYmJ4CiAwOiBiYngKIDE6IGJiCiAgICBCQngKIDA6IEJCeAogMTogQkIKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYmNYCk5vIG1hdGNoCiAgICBhQkNYCk5vIG1hdGNoCiAgICBiYlgKTm8gbWF0Y2gKICAgIEJCWCAgICAgICAgICAgICAgIApObyBtYXRjaAoKL14oW2FiXSg/aSlbY2RdfFtlZl0pLwogICAgYWMKIDA6IGFjCiAxOiBhYwogICAgYUMKIDA6IGFDCiAxOiBhQwogICAgYkQKIDA6IGJECiAxOiBiRAogICAgZWxlcGhhbnQKIDA6IGUKIDE6IGUKICAgIEV1cm9wZSAKIDA6IEUKIDE6IEUKICAgIGZyb2cKIDA6IGYKIDE6IGYKICAgIEZyYW5jZQogMDogRgogMTogRgpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIEFmcmljYSAgICAgCk5vIG1hdGNoCgovXihhYnxhKD9pKVtiLWNdKD9tLWkpZHx4KD9pKXl8eikvCiAgICBhYgogMDogYWIKIDE6IGFiCiAgICBhQmQKIDA6IGFCZAogMTogYUJkCiAgICB4eQogMDogeHkKIDE6IHh5CiAgICB4WQogMDogeFkKIDE6IHhZCiAgICB6ZWJyYQogMDogegogMTogegogICAgWmFtYmVzaQogMDogWgogMTogWgpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFDRCAgCk5vIG1hdGNoCiAgICBYWSAgCk5vIG1hdGNoCgovKD88PWZvb1xuKV5iYXIvbQogICAgZm9vXG5iYXIKIDA6IGJhcgpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGJhcgpObyBtYXRjaAogICAgYmF6XG5iYXIgICAKTm8gbWF0Y2gKCi8oPzw9KD88IWZvbyliYXIpYmF6LwogICAgYmFyYmF6CiAwOiBiYXoKICAgIGJhcmJhcmJheiAKIDA6IGJhegogICAga29vYmFyYmF6IAogMDogYmF6Clw9IEV4cGVjdCBubyBtYXRjaAogICAgYmF6Ck5vIG1hdGNoCiAgICBmb29iYXJiYXogCk5vIG1hdGNoCgojIFRoZSBjYXNlcyBvZiBhYWFhIGFuZCBhYWFhYWEgYXJlIG1pc3NlZCBvdXQgYmVsb3cgYmVjYXVzZSBQZXJsIGRvZXMgdGhpbmdzCiMgZGlmZmVyZW50bHkuIFdlIGtub3cgdGhhdCBvZGQsIGFuZCBtYXliZSBpbmNvcnJlY3QsIHRoaW5ncyBoYXBwZW4gd2l0aAojIHJlY3Vyc2l2ZSByZWZlcmVuY2VzIGluIFBlcmwsIGFzIGZhciBhcyA1LjExLjMgLSBzZWUgc29tZSBzdHVmZiBpbiB0ZXN0ICMyLgoKL14oYVwxPyl7NH0kLwogICAgYWFhYWEKIDA6IGFhYWFhCiAxOiBhCiAgICBhYWFhYWFhCiAwOiBhYWFhYWFhCiAxOiBhCiAgICBhYWFhYWFhYWFhCiAwOiBhYWFhYWFhYWFhCiAxOiBhYWFhClw9IEV4cGVjdCBubyBtYXRjaAogICAgYQpObyBtYXRjaAogICAgYWEKTm8gbWF0Y2gKICAgIGFhYQpObyBtYXRjaAogICAgYWFhYWFhYWEKTm8gbWF0Y2gKICAgIGFhYWFhYWFhYQpObyBtYXRjaAogICAgYWFhYWFhYWFhYWEKTm8gbWF0Y2gKICAgIGFhYWFhYWFhYWFhYQpObyBtYXRjaAogICAgYWFhYWFhYWFhYWFhYQpObyBtYXRjaAogICAgYWFhYWFhYWFhYWFhYWEKTm8gbWF0Y2gKICAgIGFhYWFhYWFhYWFhYWFhYQpObyBtYXRjaAogICAgYWFhYWFhYWFhYWFhYWFhYQpObyBtYXRjaAoKL14oYVwxPykoYVwxPykoYVwyPykoYVwzPykkLwogICAgYWFhYQogMDogYWFhYQogMTogYQogMjogYQogMzogYQogNDogYQogICAgYWFhYWEKIDA6IGFhYWFhCiAxOiBhCiAyOiBhYQogMzogYQogNDogYQogICAgYWFhYWFhCiAwOiBhYWFhYWEKIDE6IGEKIDI6IGFhCiAzOiBhCiA0OiBhYQogICAgYWFhYWFhYQogMDogYWFhYWFhYQogMTogYQogMjogYWEKIDM6IGFhYQogNDogYQogICAgYWFhYWFhYWFhYQogMDogYWFhYWFhYWFhYQogMTogYQogMjogYWEKIDM6IGFhYQogNDogYWFhYQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGEKTm8gbWF0Y2gKICAgIGFhCk5vIG1hdGNoCiAgICBhYWEKTm8gbWF0Y2gKICAgIGFhYWFhYWFhCk5vIG1hdGNoCiAgICBhYWFhYWFhYWEKTm8gbWF0Y2gKICAgIGFhYWFhYWFhYWFhCk5vIG1hdGNoCiAgICBhYWFhYWFhYWFhYWEKTm8gbWF0Y2gKICAgIGFhYWFhYWFhYWFhYWEKTm8gbWF0Y2gKICAgIGFhYWFhYWFhYWFhYWFhCk5vIG1hdGNoCiAgICBhYWFhYWFhYWFhYWFhYWEKTm8gbWF0Y2gKICAgIGFhYWFhYWFhYWFhYWFhYWEgICAgICAgICAgICAgICAKTm8gbWF0Y2gKCiMgVGhlIGZvbGxvd2luZyB0ZXN0cyBhcmUgdGFrZW4gZnJvbSB0aGUgUGVybCA1LjAwNSB0ZXN0IHN1aXRlOyBzb21lIG9mIHRoZW0KIyBhcmUgY29tcGF0aWJsZSB3aXRoIDUuMDA0LCBidXQgSSdkIHJhdGhlciBub3QgaGF2ZSB0byBzb3J0IHRoZW0gb3V0LgoKL2FiYy8KICAgIGFiYwogMDogYWJjCiAgICB4YWJjeQogMDogYWJjCiAgICBhYmFiYwogMDogYWJjClw9IEV4cGVjdCBubyBtYXRjaAogICAgeGJjCk5vIG1hdGNoCiAgICBheGMKTm8gbWF0Y2gKICAgIGFieApObyBtYXRjaAoKL2FiKmMvCiAgICBhYmMKIDA6IGFiYwoKL2FiKmJjLwogICAgYWJjCiAwOiBhYmMKICAgIGFiYmMKIDA6IGFiYmMKICAgIGFiYmJiYwogMDogYWJiYmJjCgovLnsxfS8KICAgIGFiYmJiYwogMDogYQoKLy57Myw0fS8KICAgIGFiYmJiYwogMDogYWJiYgoKL2FiezAsfWJjLwogICAgYWJiYmJjCiAwOiBhYmJiYmMKCi9hYitiYy8KICAgIGFiYmMKIDA6IGFiYmMKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYmMKTm8gbWF0Y2gKICAgIGFicQpObyBtYXRjaAoKL2FiezEsfWJjLwoKL2FiK2JjLwogICAgYWJiYmJjCiAwOiBhYmJiYmMKCi9hYnsxLH1iYy8KICAgIGFiYmJiYwogMDogYWJiYmJjCgovYWJ7MSwzfWJjLwogICAgYWJiYmJjCiAwOiBhYmJiYmMKCi9hYnszLDR9YmMvCiAgICBhYmJiYmMKIDA6IGFiYmJiYwoKL2FiezQsNX1iYy8KXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYnEKTm8gbWF0Y2gKICAgIGFiYmJiYwpObyBtYXRjaAoKL2FiP2JjLwogICAgYWJiYwogMDogYWJiYwogICAgYWJjCiAwOiBhYmMKCi9hYnswLDF9YmMvCiAgICBhYmMKIDA6IGFiYwoKL2FiP2JjLwoKL2FiP2MvCiAgICBhYmMKIDA6IGFiYwoKL2FiezAsMX1jLwogICAgYWJjCiAwOiBhYmMKCi9eYWJjJC8KICAgIGFiYwogMDogYWJjClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWJiYmJjCk5vIG1hdGNoCiAgICBhYmNjCk5vIG1hdGNoCgovXmFiYy8KICAgIGFiY2MKIDA6IGFiYwoKL15hYmMkLwoKL2FiYyQvCiAgICBhYWJjCiAwOiBhYmMKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYWJjZApObyBtYXRjaAoKL14vCiAgICBhYmMKIDA6IAoKLyQvCiAgICBhYmMKIDA6IAoKL2EuYy8KICAgIGFiYwogMDogYWJjCiAgICBheGMKIDA6IGF4YwoKL2EuKmMvCiAgICBheHl6YwogMDogYXh5emMKCi9hW2JjXWQvCiAgICBhYmQKIDA6IGFiZApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGF4eXpkCk5vIG1hdGNoCiAgICBhYmMKTm8gbWF0Y2gKCi9hW2ItZF1lLwogICAgYWNlCiAwOiBhY2UKCi9hW2ItZF0vCiAgICBhYWMKIDA6IGFjCgovYVstYl0vCiAgICBhLQogMDogYS0KCi9hW2ItXS8KICAgIGEtCiAwOiBhLQoKL2FdLwogICAgYV0KIDA6IGFdCgovYVtdXWIvCiAgICBhXWIKIDA6IGFdYgoKL2FbXmJjXWQvCiAgICBhZWQKIDA6IGFlZApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFiZApObyBtYXRjaAogICAgYWJkCk5vIG1hdGNoCgovYVteLWJdYy8KICAgIGFkYwogMDogYWRjCgovYVteXWJdYy8KICAgIGFkYwogMDogYWRjCiAgICBhLWMKIDA6IGEtYwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFdYwpObyBtYXRjaAoKL1xiYVxiLwogICAgYS0KIDA6IGEKICAgIC1hCiAwOiBhCiAgICAtYS0KIDA6IGEKCi9cYnlcYi8KXD0gRXhwZWN0IG5vIG1hdGNoCiAgICB4eQpObyBtYXRjaAogICAgeXoKTm8gbWF0Y2gKICAgIHh5egpObyBtYXRjaAoKL1xCYVxCLwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGEtCk5vIG1hdGNoCiAgICAtYQpObyBtYXRjaAogICAgLWEtCk5vIG1hdGNoCgovXEJ5XGIvCiAgICB4eQogMDogeQoKL1xieVxCLwogICAgeXoKIDA6IHkKCi9cQnlcQi8KICAgIHh5egogMDogeQoKL1x3LwogICAgYQogMDogYQoKL1xXLwogICAgLQogMDogLQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGEKTm8gbWF0Y2gKCi9hXHNiLwogICAgYSBiCiAwOiBhIGIKCi9hXFNiLwogICAgYS1iCiAwOiBhLWIKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhIGIKTm8gbWF0Y2gKCi9cZC8KICAgIDEKIDA6IDEKCi9cRC8KICAgIC0KIDA6IC0KXD0gRXhwZWN0IG5vIG1hdGNoCiAgICAxCk5vIG1hdGNoCgovW1x3XS8KICAgIGEKIDA6IGEKCi9bXFddLwogICAgLQogMDogLQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGEKTm8gbWF0Y2gKCi9hW1xzXWIvCiAgICBhIGIKIDA6IGEgYgoKL2FbXFNdYi8KICAgIGEtYgogMDogYS1iClw9IEV4cGVjdCBubyBtYXRjaAogICAgYSBiCk5vIG1hdGNoCgovW1xkXS8KICAgIDEKIDA6IDEKCi9bXERdLwogICAgLQogMDogLQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIDEKTm8gbWF0Y2gKCi9hYnxjZC8KICAgIGFiYwogMDogYWIKICAgIGFiY2QKIDA6IGFiCgovKCllZi8KICAgIGRlZgogMDogZWYKIDE6IAoKLyRiLwoKL2FcKGIvCiAgICBhKGIKIDA6IGEoYgoKL2FcKCpiLwogICAgYWIKIDA6IGFiCiAgICBhKChiCiAwOiBhKChiCgovYVxcYi8KICAgIGFcXGIKIDA6IGFcYgoKLygoYSkpLwogICAgYWJjCiAwOiBhCiAxOiBhCiAyOiBhCgovKGEpYihjKS8KICAgIGFiYwogMDogYWJjCiAxOiBhCiAyOiBjCgovYStiK2MvCiAgICBhYWJiYWJjCiAwOiBhYmMKCi9hezEsfWJ7MSx9Yy8KICAgIGFhYmJhYmMKIDA6IGFiYwoKL2EuKz9jLwogICAgYWJjYWJjCiAwOiBhYmMKCi8oYSt8YikqLwogICAgYWIKIDA6IGFiCiAxOiBiCgovKGErfGIpezAsfS8KICAgIGFiCiAwOiBhYgogMTogYgoKLyhhK3xiKSsvCiAgICBhYgogMDogYWIKIDE6IGIKCi8oYSt8Yil7MSx9LwogICAgYWIKIDA6IGFiCiAxOiBiCgovKGErfGIpPy8KICAgIGFiCiAwOiBhCiAxOiBhCgovKGErfGIpezAsMX0vCiAgICBhYgogMDogYQogMTogYQoKL1teYWJdKi8KICAgIGNkZQogMDogY2RlCgovYWJjLwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGIKTm8gbWF0Y2gKCi9hKi8KICAgIFwKIDA6IAoKLyhbYWJjXSkqZC8KICAgIGFiYmJjZAogMDogYWJiYmNkCiAxOiBjCgovKFthYmNdKSpiY2QvCiAgICBhYmNkCiAwOiBhYmNkCiAxOiBhCgovYXxifGN8ZHxlLwogICAgZQogMDogZQoKLyhhfGJ8Y3xkfGUpZi8KICAgIGVmCiAwOiBlZgogMTogZQoKL2FiY2QqZWZnLwogICAgYWJjZGVmZwogMDogYWJjZGVmZwoKL2FiKi8KICAgIHhhYnlhYmJiegogMDogYWIKICAgIHhheWFiYmJ6CiAwOiBhCgovKGFifGNkKWUvCiAgICBhYmNkZQogMDogY2RlCiAxOiBjZAoKL1thYmhnZWZkY11pai8KICAgIGhpagogMDogaGlqCgovXihhYnxjZCllLwoKLyhhYmN8KWVmLwogICAgYWJjZGVmCiAwOiBlZgogMTogCgovKGF8YiljKmQvCiAgICBhYmNkCiAwOiBiY2QKIDE6IGIKCi8oYWJ8YWIqKWJjLwogICAgYWJjCiAwOiBhYmMKIDE6IGEKCi9hKFtiY10qKWMqLwogICAgYWJjCiAwOiBhYmMKIDE6IGJjCgovYShbYmNdKikoYypkKS8KICAgIGFiY2QKIDA6IGFiY2QKIDE6IGJjCiAyOiBkCgovYShbYmNdKykoYypkKS8KICAgIGFiY2QKIDA6IGFiY2QKIDE6IGJjCiAyOiBkCgovYShbYmNdKikoYytkKS8KICAgIGFiY2QKIDA6IGFiY2QKIDE6IGIKIDI6IGNkCgovYVtiY2RdKmRjZGNkZS8KICAgIGFkY2RjZGUKIDA6IGFkY2RjZGUKCi9hW2JjZF0rZGNkY2RlLwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFiY2RlCk5vIG1hdGNoCiAgICBhZGNkY2RlCk5vIG1hdGNoCgovKGFifGEpYipjLwogICAgYWJjCiAwOiBhYmMKIDE6IGFiCgovKChhKShiKWMpKGQpLwogICAgYWJjZAogMDogYWJjZAogMTogYWJjCiAyOiBhCiAzOiBiCiA0OiBkCgovW2EtekEtWl9dW2EtekEtWjAtOV9dKi8KICAgIGFscGhhCiAwOiBhbHBoYQoKL15hKGJjK3xiW2VoXSlnfC5oJC8KICAgIGFiaAogMDogYmgKCi8oYmMrZCR8ZWYqZy58aD9pKGp8aykpLwogICAgZWZmZ3oKIDA6IGVmZmd6CiAxOiBlZmZnegogICAgaWoKIDA6IGlqCiAxOiBpagogMjogagogICAgcmVmZmd6CiAwOiBlZmZnegogMTogZWZmZ3oKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBlZmZnCk5vIG1hdGNoCiAgICBiY2RkCk5vIG1hdGNoCgovKCgoKCgoKCgoKGEpKSkpKSkpKSkpLwogICAgYQogMDogYQogMTogYQogMjogYQogMzogYQogNDogYQogNTogYQogNjogYQogNzogYQogODogYQogOTogYQoxMDogYQoKLygoKCgoKCgoKChhKSkpKSkpKSkpKVwxMC8KICAgIGFhCiAwOiBhYQogMTogYQogMjogYQogMzogYQogNDogYQogNTogYQogNjogYQogNzogYQogODogYQogOTogYQoxMDogYQoKLygoKCgoKCgoKGEpKSkpKSkpKSkvCiAgICBhCiAwOiBhCiAxOiBhCiAyOiBhCiAzOiBhCiA0OiBhCiA1OiBhCiA2OiBhCiA3OiBhCiA4OiBhCiA5OiBhCgovbXVsdGlwbGUgd29yZHMgb2YgdGV4dC8KXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYQpObyBtYXRjaAogICAgdWgtdWgKTm8gbWF0Y2gKCi9tdWx0aXBsZSB3b3Jkcy8KICAgIG11bHRpcGxlIHdvcmRzLCB5ZWFoCiAwOiBtdWx0aXBsZSB3b3JkcwoKLyguKiljKC4qKS8KICAgIGFiY2RlCiAwOiBhYmNkZQogMTogYWIKIDI6IGRlCgovXCgoLiopLCAoLiopXCkvCiAgICAoYSwgYikKIDA6IChhLCBiKQogMTogYQogMjogYgoKL1trXS8KCi9hYmNkLwogICAgYWJjZAogMDogYWJjZAoKL2EoYmMpZC8KICAgIGFiY2QKIDA6IGFiY2QKIDE6IGJjCgovYVstXT9jLwogICAgYWMKIDA6IGFjCgovKGFiYylcMS8KICAgIGFiY2FiYwogMDogYWJjYWJjCiAxOiBhYmMKCi8oW2EtY10qKVwxLwogICAgYWJjYWJjCiAwOiBhYmNhYmMKIDE6IGFiYwoKLyhhKXxcMS8KICAgIGEKIDA6IGEKIDE6IGEKICAgIGFiCiAwOiBhCiAxOiBhClw9IEV4cGVjdCBubyBtYXRjaAogICAgeApObyBtYXRjaAoKLygoW2EtY10pYio/XDIpKi8KICAgIGFiYWJiYmNiYwogMDogYWJhYmIKIDE6IGJiCiAyOiBiCgovKChbYS1jXSliKj9cMil7M30vCiAgICBhYmFiYmJjYmMKIDA6IGFiYWJiYmNiYwogMTogY2JjCiAyOiBjCgovKChcM3xiKVwyKGEpeCkrLwogICAgYWFheGFiYXhiYWF4YmJheAogMDogYmJheAogMTogYmJheAogMjogYgogMzogYQoKLygoXDN8YilcMihhKSl7Mix9LwogICAgYmJhYWJhYmJhYmFhYWFhYmJhYWFhYmJhCiAwOiBiYmFhYWFiYmEKIDE6IGJiYQogMjogYgogMzogYQoKL2FiYy9pCiAgICBBQkMKIDA6IEFCQwogICAgWEFCQ1kKIDA6IEFCQwogICAgQUJBQkMKIDA6IEFCQwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFheGFieGJheGJieApObyBtYXRjaAogICAgWEJDCk5vIG1hdGNoCiAgICBBWEMKTm8gbWF0Y2gKICAgIEFCWApObyBtYXRjaAoKL2FiKmMvaQogICAgQUJDCiAwOiBBQkMKCi9hYipiYy9pCiAgICBBQkMKIDA6IEFCQwogICAgQUJCQwogMDogQUJCQwoKL2FiKj9iYy9pCiAgICBBQkJCQkMKIDA6IEFCQkJCQwoKL2FiezAsfT9iYy9pCiAgICBBQkJCQkMKIDA6IEFCQkJCQwoKL2FiKz9iYy9pCiAgICBBQkJDCiAwOiBBQkJDCgovYWIrYmMvaQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIEFCQwpObyBtYXRjaAogICAgQUJRCk5vIG1hdGNoCgovYWJ7MSx9YmMvaQoKL2FiK2JjL2kKICAgIEFCQkJCQwogMDogQUJCQkJDCgovYWJ7MSx9P2JjL2kKICAgIEFCQkJCQwogMDogQUJCQkJDCgovYWJ7MSwzfT9iYy9pCiAgICBBQkJCQkMKIDA6IEFCQkJCQwoKL2FiezMsNH0/YmMvaQogICAgQUJCQkJDCiAwOiBBQkJCQkMKCi9hYns0LDV9P2JjL2kKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBBQlEKTm8gbWF0Y2gKICAgIEFCQkJCQwpObyBtYXRjaAoKL2FiPz9iYy9pCiAgICBBQkJDCiAwOiBBQkJDCiAgICBBQkMKIDA6IEFCQwoKL2FiezAsMX0/YmMvaQogICAgQUJDCiAwOiBBQkMKCi9hYj8/YmMvaQoKL2FiPz9jL2kKICAgIEFCQwogMDogQUJDCgovYWJ7MCwxfT9jL2kKICAgIEFCQwogMDogQUJDCgovXmFiYyQvaQogICAgQUJDCiAwOiBBQkMKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBBQkJCQkMKTm8gbWF0Y2gKICAgIEFCQ0MKTm8gbWF0Y2gKCi9eYWJjL2kKICAgIEFCQ0MKIDA6IEFCQwoKL15hYmMkL2kKCi9hYmMkL2kKICAgIEFBQkMKIDA6IEFCQwoKL14vaQogICAgQUJDCiAwOiAKCi8kL2kKICAgIEFCQwogMDogCgovYS5jL2kKICAgIEFCQwogMDogQUJDCiAgICBBWEMKIDA6IEFYQwoKL2EuKj9jL2kKICAgIEFYWVpDCiAwOiBBWFlaQwoKL2EuKmMvaQogICAgQUFCQwogMDogQUFCQwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIEFYWVpECk5vIG1hdGNoCgovYVtiY11kL2kKICAgIEFCRAogMDogQUJECgovYVtiLWRdZS9pCiAgICBBQ0UKIDA6IEFDRQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIEFCQwpObyBtYXRjaAogICAgQUJECk5vIG1hdGNoCgovYVtiLWRdL2kKICAgIEFBQwogMDogQUMKCi9hWy1iXS9pCiAgICBBLQogMDogQS0KCi9hW2ItXS9pCiAgICBBLQogMDogQS0KCi9hXS9pCiAgICBBXQogMDogQV0KCi9hW11dYi9pCiAgICBBXUIKIDA6IEFdQgoKL2FbXmJjXWQvaQogICAgQUVECiAwOiBBRUQKCi9hW14tYl1jL2kKICAgIEFEQwogMDogQURDClw9IEV4cGVjdCBubyBtYXRjaAogICAgQUJECk5vIG1hdGNoCiAgICBBLUMKTm8gbWF0Y2gKCi9hW15dYl1jL2kKICAgIEFEQwogMDogQURDCgovYWJ8Y2QvaQogICAgQUJDCiAwOiBBQgogICAgQUJDRAogMDogQUIKCi8oKWVmL2kKICAgIERFRgogMDogRUYKIDE6IAoKLyRiL2kKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBBXUMKTm8gbWF0Y2gKICAgIEIKTm8gbWF0Y2gKCi9hXChiL2kKICAgIEEoQgogMDogQShCCgovYVwoKmIvaQogICAgQUIKIDA6IEFCCiAgICBBKChCCiAwOiBBKChCCgovYVxcYi9pCiAgICBBXFxiCiAwOiBBXGIKICAgIGFcXEIgCiAwOiBhXEIKCi8oKGEpKS9pCiAgICBBQkMKIDA6IEEKIDE6IEEKIDI6IEEKCi8oYSliKGMpL2kKICAgIEFCQwogMDogQUJDCiAxOiBBCiAyOiBDCgovYStiK2MvaQogICAgQUFCQkFCQwogMDogQUJDCgovYXsxLH1iezEsfWMvaQogICAgQUFCQkFCQwogMDogQUJDCgovYS4rP2MvaQogICAgQUJDQUJDCiAwOiBBQkMKCi9hLio/Yy9pCiAgICBBQkNBQkMKIDA6IEFCQwoKL2EuezAsNX0/Yy9pCiAgICBBQkNBQkMKIDA6IEFCQwoKLyhhK3xiKSovaQogICAgQUIKIDA6IEFCCiAxOiBCCgovKGErfGIpezAsfS9pCiAgICBBQgogMDogQUIKIDE6IEIKCi8oYSt8YikrL2kKICAgIEFCCiAwOiBBQgogMTogQgoKLyhhK3xiKXsxLH0vaQogICAgQUIKIDA6IEFCCiAxOiBCCgovKGErfGIpPy9pCiAgICBBQgogMDogQQogMTogQQoKLyhhK3xiKXswLDF9L2kKICAgIEFCCiAwOiBBCiAxOiBBCgovKGErfGIpezAsMX0/L2kKICAgIEFCCiAwOiAKCi9bXmFiXSovaQogICAgQ0RFCiAwOiBDREUKCi8oW2FiY10pKmQvaQogICAgQUJCQkNECiAwOiBBQkJCQ0QKIDE6IEMKCi8oW2FiY10pKmJjZC9pCiAgICBBQkNECiAwOiBBQkNECiAxOiBBCgovYXxifGN8ZHxlL2kKICAgIEUKIDA6IEUKCi8oYXxifGN8ZHxlKWYvaQogICAgRUYKIDA6IEVGCiAxOiBFCgovYWJjZCplZmcvaQogICAgQUJDREVGRwogMDogQUJDREVGRwoKL2FiKi9pCiAgICBYQUJZQUJCQloKIDA6IEFCCiAgICBYQVlBQkJCWgogMDogQQoKLyhhYnxjZCllL2kKICAgIEFCQ0RFCiAwOiBDREUKIDE6IENECgovW2FiaGdlZmRjXWlqL2kKICAgIEhJSgogMDogSElKCgovXihhYnxjZCllL2kKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBBQkNERQpObyBtYXRjaAoKLyhhYmN8KWVmL2kKICAgIEFCQ0RFRgogMDogRUYKIDE6IAoKLyhhfGIpYypkL2kKICAgIEFCQ0QKIDA6IEJDRAogMTogQgoKLyhhYnxhYiopYmMvaQogICAgQUJDCiAwOiBBQkMKIDE6IEEKCi9hKFtiY10qKWMqL2kKICAgIEFCQwogMDogQUJDCiAxOiBCQwoKL2EoW2JjXSopKGMqZCkvaQogICAgQUJDRAogMDogQUJDRAogMTogQkMKIDI6IEQKCi9hKFtiY10rKShjKmQpL2kKICAgIEFCQ0QKIDA6IEFCQ0QKIDE6IEJDCiAyOiBECgovYShbYmNdKikoYytkKS9pCiAgICBBQkNECiAwOiBBQkNECiAxOiBCCiAyOiBDRAoKL2FbYmNkXSpkY2RjZGUvaQogICAgQURDRENERQogMDogQURDRENERQoKL2FbYmNkXStkY2RjZGUvaQoKLyhhYnxhKWIqYy9pCiAgICBBQkMKIDA6IEFCQwogMTogQUIKCi8oKGEpKGIpYykoZCkvaQogICAgQUJDRAogMDogQUJDRAogMTogQUJDCiAyOiBBCiAzOiBCCiA0OiBECgovW2EtekEtWl9dW2EtekEtWjAtOV9dKi9pCiAgICBBTFBIQQogMDogQUxQSEEKCi9eYShiYyt8YltlaF0pZ3wuaCQvaQogICAgQUJICiAwOiBCSAoKLyhiYytkJHxlZipnLnxoP2koanxrKSkvaQogICAgRUZGR1oKIDA6IEVGRkdaCiAxOiBFRkZHWgogICAgSUoKIDA6IElKCiAxOiBJSgogMjogSgogICAgUkVGRkdaCiAwOiBFRkZHWgogMTogRUZGR1oKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBBRENEQ0RFCk5vIG1hdGNoCiAgICBFRkZHCk5vIG1hdGNoCiAgICBCQ0RECk5vIG1hdGNoCgovKCgoKCgoKCgoKGEpKSkpKSkpKSkpL2kKICAgIEEKIDA6IEEKIDE6IEEKIDI6IEEKIDM6IEEKIDQ6IEEKIDU6IEEKIDY6IEEKIDc6IEEKIDg6IEEKIDk6IEEKMTA6IEEKCi8oKCgoKCgoKCgoYSkpKSkpKSkpKSlcMTAvaQogICAgQUEKIDA6IEFBCiAxOiBBCiAyOiBBCiAzOiBBCiA0OiBBCiA1OiBBCiA2OiBBCiA3OiBBCiA4OiBBCiA5OiBBCjEwOiBBCgovKCgoKCgoKCgoYSkpKSkpKSkpKS9pCiAgICBBCiAwOiBBCiAxOiBBCiAyOiBBCiAzOiBBCiA0OiBBCiA1OiBBCiA2OiBBCiA3OiBBCiA4OiBBCiA5OiBBCgovKD86KD86KD86KD86KD86KD86KD86KD86KD86KGEpKSkpKSkpKSkpL2kKICAgIEEKIDA6IEEKIDE6IEEKCi8oPzooPzooPzooPzooPzooPzooPzooPzooPzooYXxifGMpKSkpKSkpKSkpL2kKICAgIEMKIDA6IEMKIDE6IEMKCi9tdWx0aXBsZSB3b3JkcyBvZiB0ZXh0L2kKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBBQQpObyBtYXRjaAogICAgVUgtVUgKTm8gbWF0Y2gKCi9tdWx0aXBsZSB3b3Jkcy9pCiAgICBNVUxUSVBMRSBXT1JEUywgWUVBSAogMDogTVVMVElQTEUgV09SRFMKCi8oLiopYyguKikvaQogICAgQUJDREUKIDA6IEFCQ0RFCiAxOiBBQgogMjogREUKCi9cKCguKiksICguKilcKS9pCiAgICAoQSwgQikKIDA6IChBLCBCKQogMTogQQogMjogQgoKL1trXS9pCgovYWJjZC9pCiAgICBBQkNECiAwOiBBQkNECgovYShiYylkL2kKICAgIEFCQ0QKIDA6IEFCQ0QKIDE6IEJDCgovYVstXT9jL2kKICAgIEFDCiAwOiBBQwoKLyhhYmMpXDEvaQogICAgQUJDQUJDCiAwOiBBQkNBQkMKIDE6IEFCQwoKLyhbYS1jXSopXDEvaQogICAgQUJDQUJDCiAwOiBBQkNBQkMKIDE6IEFCQwoKL2EoPyFiKS4vCiAgICBhYmFkCiAwOiBhZAoKL2EoPz1kKS4vCiAgICBhYmFkCiAwOiBhZAoKL2EoPz1jfGQpLi8KICAgIGFiYWQKIDA6IGFkCgovYSg/OmJ8Y3xkKSguKS8KICAgIGFjZQogMDogYWNlCiAxOiBlCgovYSg/OmJ8Y3xkKSooLikvCiAgICBhY2UKIDA6IGFjZQogMTogZQoKL2EoPzpifGN8ZCkrPyguKS8KICAgIGFjZQogMDogYWNlCiAxOiBlCiAgICBhY2RiY2RiZQogMDogYWNkCiAxOiBkCgovYSg/OmJ8Y3xkKSsoLikvCiAgICBhY2RiY2RiZQogMDogYWNkYmNkYmUKIDE6IGUKCi9hKD86YnxjfGQpezJ9KC4pLwogICAgYWNkYmNkYmUKIDA6IGFjZGIKIDE6IGIKCi9hKD86YnxjfGQpezQsNX0oLikvCiAgICBhY2RiY2RiZQogMDogYWNkYmNkYgogMTogYgoKL2EoPzpifGN8ZCl7NCw1fT8oLikvCiAgICBhY2RiY2RiZQogMDogYWNkYmNkCiAxOiBkCgovKChmb28pfChiYXIpKSovCiAgICBmb29iYXIKIDA6IGZvb2JhcgogMTogYmFyCiAyOiBmb28KIDM6IGJhcgoKL2EoPzpifGN8ZCl7Niw3fSguKS8KICAgIGFjZGJjZGJlCiAwOiBhY2RiY2RiZQogMTogZQoKL2EoPzpifGN8ZCl7Niw3fT8oLikvCiAgICBhY2RiY2RiZQogMDogYWNkYmNkYmUKIDE6IGUKCi9hKD86YnxjfGQpezUsNn0oLikvCiAgICBhY2RiY2RiZQogMDogYWNkYmNkYmUKIDE6IGUKCi9hKD86YnxjfGQpezUsNn0/KC4pLwogICAgYWNkYmNkYmUKIDA6IGFjZGJjZGIKIDE6IGIKCi9hKD86YnxjfGQpezUsN30oLikvCiAgICBhY2RiY2RiZQogMDogYWNkYmNkYmUKIDE6IGUKCi9hKD86YnxjfGQpezUsN30/KC4pLwogICAgYWNkYmNkYmUKIDA6IGFjZGJjZGIKIDE6IGIKCi9hKD86YnwoY3xlKXsxLDJ9P3xkKSs/KC4pLwogICAgYWNlCiAwOiBhY2UKIDE6IGMKIDI6IGUKCi9eKC4rKT9CLwogICAgQUIKIDA6IEFCCiAxOiBBCgovXihbXmEtel0pfChcXikkLwogICAgLgogMDogLgogMTogLgoKL15bPD5dJi8KICAgIDwmT1VUCiAwOiA8JgoKL14oYVwxPyl7NH0kLwogICAgYWFhYWFhYWFhYQogMDogYWFhYWFhYWFhYQogMTogYWFhYQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIEFCCk5vIG1hdGNoCiAgICBhYWFhYWFhYWEKTm8gbWF0Y2gKICAgIGFhYWFhYWFhYWFhCk5vIG1hdGNoCgovXihhKD8oMSlcMSkpezR9JC8KICAgIGFhYWFhYWFhYWEKIDA6IGFhYWFhYWFhYWEKIDE6IGFhYWEKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYWFhYWFhYWEKTm8gbWF0Y2gKICAgIGFhYWFhYWFhYWFhCk5vIG1hdGNoCgovKD86KGYpKG8pKG8pfChiKShhKShyKSkqLwogICAgZm9vYmFyCiAwOiBmb29iYXIKIDE6IGYKIDI6IG8KIDM6IG8KIDQ6IGIKIDU6IGEKIDY6IHIKCi8oPzw9YSliLwogICAgYWIKIDA6IGIKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBjYgpObyBtYXRjaAogICAgYgpObyBtYXRjaAoKLyg/PCFjKWIvCiAgICBhYgogMDogYgogICAgYgogMDogYgogICAgYgogMDogYgoKLyg/Oi4uKSphLwogICAgYWJhCiAwOiBhYmEKCi8oPzouLikqP2EvCiAgICBhYmEKIDA6IGEKCi9eKD86YnxhKD89KC4pKSkqXDEvCiAgICBhYmMKIDA6IGFiCiAxOiBiCgovXigpezMsNX0vCiAgICBhYmMKIDA6IAogMTogCgovXihhKykqYXgvCiAgICBhYXgKIDA6IGFheAogMTogYQoKL14oKGF8YikrKSpheC8KICAgIGFheAogMDogYWF4CiAxOiBhCiAyOiBhCgovXigoYXxiYykrKSpheC8KICAgIGFheAogMDogYWF4CiAxOiBhCiAyOiBhCgovKGF8eCkqYWIvCiAgICBjYWIKIDA6IGFiCgovKGEpKmFiLwogICAgY2FiCiAwOiBhYgoKLyg/Oig/aSlhKWIvCiAgICBhYgogMDogYWIKCi8oKD9pKWEpYi8KICAgIGFiCiAwOiBhYgogMTogYQoKLyg/Oig/aSlhKWIvCiAgICBBYgogMDogQWIKCi8oKD9pKWEpYi8KICAgIEFiCiAwOiBBYgogMTogQQoKLyg/Oig/aSlhKWIvClw9IEV4cGVjdCBubyBtYXRjaAogICAgY2IKTm8gbWF0Y2gKICAgIGFCCk5vIG1hdGNoCgovKCg/aSlhKWIvCgovKD9pOmEpYi8KICAgIGFiCiAwOiBhYgoKLygoP2k6YSkpYi8KICAgIGFiCiAwOiBhYgogMTogYQoKLyg/aTphKWIvCiAgICBBYgogMDogQWIKCi8oKD9pOmEpKWIvCiAgICBBYgogMDogQWIKIDE6IEEKCi8oP2k6YSliLwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFCCk5vIG1hdGNoCiAgICBhQgpObyBtYXRjaAoKLygoP2k6YSkpYi8KCi8oPzooPy1pKWEpYi9pCiAgICBhYgogMDogYWIKCi8oKD8taSlhKWIvaQogICAgYWIKIDA6IGFiCiAxOiBhCgovKD86KD8taSlhKWIvaQogICAgYUIKIDA6IGFCCgovKCg/LWkpYSliL2kKICAgIGFCCiAwOiBhQgogMTogYQoKLyg/Oig/LWkpYSliL2kKICAgIGFCCiAwOiBhQgpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIEFiCk5vIG1hdGNoCiAgICBBQgpObyBtYXRjaAoKLyg/LWk6YSliL2kKICAgIGFiCiAwOiBhYgoKLygoPy1pOmEpKWIvaQogICAgYWIKIDA6IGFiCiAxOiBhCgovKD8taTphKWIvaQogICAgYUIKIDA6IGFCCgovKCg/LWk6YSkpYi9pCiAgICBhQgogMDogYUIKIDE6IGEKCi8oPy1pOmEpYi9pClw9IEV4cGVjdCBubyBtYXRjaAogICAgQUIKTm8gbWF0Y2gKICAgIEFiCk5vIG1hdGNoCgovKCg/LWk6YSkpYi9pCgovKD8taTphKWIvaQogICAgYUIKIDA6IGFCCgovKCg/LWk6YSkpYi9pCiAgICBhQgogMDogYUIKIDE6IGEKCi8oPy1pOmEpYi9pClw9IEV4cGVjdCBubyBtYXRjaAogICAgQWIKTm8gbWF0Y2gKICAgIEFCCk5vIG1hdGNoCgovKCg/LWk6YSkpYi9pCgovKCg/LWk6YS4pKWIvaQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIEFCCk5vIG1hdGNoCiAgICBhXG5CCk5vIG1hdGNoCgovKCg/cy1pOmEuKSliL2kKICAgIGFcbkIKIDA6IGFceDBhQgogMTogYVx4MGEKCi8oPzpjfGQpKD86KSg/OmEoPzopKD86YikoPzpiKD86KSkoPzpiKD86KSg/OmIpKSkvCiAgICBjYWJiYmIKIDA6IGNhYmJiYgoKLyg/OmN8ZCkoPzopKD86YWFhYWFhYWEoPzopKD86YmJiYmJiYmIpKD86YmJiYmJiYmIoPzopKSg/OmJiYmJiYmJiKD86KSg/OmJiYmJiYmJiKSkpLwogICAgY2FhYWFhYWFhYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmIKIDA6IGNhYWFhYWFhYWJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiCgovKGFiKVxkXDEvaQogICAgQWI0YWIKIDA6IEFiNGFiCiAxOiBBYgogICAgYWI0QWIKIDA6IGFiNEFiCiAxOiBhYgoKL2Zvb1x3KlxkezR9YmF6LwogICAgZm9vYmFyMTIzNGJhegogMDogZm9vYmFyMTIzNGJhegoKL3gofn4pKig/Oig/OkYpPyk/LwogICAgeH5+CiAwOiB4fn4KIDE6IH5+CgovXmEoPyN4eHgpezN9Yy8KICAgIGFhYWMKIDA6IGFhYWMKCi9eYSAoPyN4eHgpICg/I3l5eSkgezN9Yy94CiAgICBhYWFjCiAwOiBhYWFjCgovKD88IVtjZF0pYi8KXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBCXG5CCk5vIG1hdGNoCiAgICBkYmNiCk5vIG1hdGNoCgovKD88IVtjZF0pW2FiXS8KICAgIGRiYWFjYgogMDogYQoKLyg/PCEoY3xkKSliLwoKLyg/PCEoY3xkKSlbYWJdLwogICAgZGJhYWNiCiAwOiBhCgovKD88IWNkKVthYl0vCiAgICBjZGFjY2IKIDA6IGIKCi9eKD86YT9iPykqJC8KICAgIFwKIDA6IAogICAgYQogMDogYQogICAgYWIKIDA6IGFiCiAgICBhYWEgICAKIDA6IGFhYQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGRiY2IKTm8gbWF0Y2gKICAgIGEtLQpObyBtYXRjaAogICAgYWEtLSAKTm8gbWF0Y2gKCi8oKD9zKV5hKC4pKSgoP20pXmIkKS8KICAgIGFcbmJcbmNcbgogMDogYVx4MGFiCiAxOiBhXHgwYQogMjogXHgwYQogMzogYgoKLygoP20pXmIkKS8KICAgIGFcbmJcbmNcbgogMDogYgogMTogYgoKLyg/bSleYi8KICAgIGFcbmJcbgogMDogYgoKLyg/bSleKGIpLwogICAgYVxuYlxuCiAwOiBiCiAxOiBiCgovKCg/bSleYikvCiAgICBhXG5iXG4KIDA6IGIKIDE6IGIKCi9cbigoP20pXmIpLwogICAgYVxuYlxuCiAwOiBceDBhYgogMTogYgoKLygoP3MpLiljKD8hLikvCiAgICBhXG5iXG5jXG4KIDA6IFx4MGFjCiAxOiBceDBhCiAgICBhXG5iXG5jXG4KIDA6IFx4MGFjCiAxOiBceDBhCgovKCg/cyliLiljKD8hLikvCiAgICBhXG5iXG5jXG4KIDA6IGJceDBhYwogMTogYlx4MGEKICAgIGFcbmJcbmNcbgogMDogYlx4MGFjCiAxOiBiXHgwYQoKL15iLwoKLygpXmIvClw9IEV4cGVjdCBubyBtYXRjaAogICAgYVxuYlxuY1xuCk5vIG1hdGNoCiAgICBhXG5iXG5jXG4KTm8gbWF0Y2gKCi8oKD9tKV5iKS8KICAgIGFcbmJcbmNcbgogMDogYgogMTogYgoKLyh4KT8oPygxKWF8YikvClw9IEV4cGVjdCBubyBtYXRjaAogICAgYQpObyBtYXRjaAogICAgYQpObyBtYXRjaAoKLyh4KT8oPygxKWJ8YSkvCiAgICBhCiAwOiBhCgovKCk/KD8oMSlifGEpLwogICAgYQogMDogYQoKLygpKD8oMSlifGEpLwoKLygpPyg/KDEpYXxiKS8KICAgIGEKIDA6IGEKIDE6IAoKL14oXCgpP2JsYWgoPygxKShcKSkpJC8KICAgIChibGFoKQogMDogKGJsYWgpCiAxOiAoCiAyOiApCiAgICBibGFoCiAwOiBibGFoClw9IEV4cGVjdCBubyBtYXRjaAogICAgYQpObyBtYXRjaAogICAgYmxhaCkKTm8gbWF0Y2gKICAgIChibGFoCk5vIG1hdGNoCgovXihcKCspP2JsYWgoPygxKShcKSkpJC8KICAgIChibGFoKQogMDogKGJsYWgpCiAxOiAoCiAyOiApCiAgICBibGFoCiAwOiBibGFoClw9IEV4cGVjdCBubyBtYXRjaAogICAgYmxhaCkKTm8gbWF0Y2gKICAgIChibGFoCk5vIG1hdGNoCgovKD8oPyFhKWF8YikvCgovKD8oPyFhKWJ8YSkvCiAgICBhCiAwOiBhCgovKD8oPz1hKWJ8YSkvClw9IEV4cGVjdCBubyBtYXRjaAogICAgYQpObyBtYXRjaAogICAgYQpObyBtYXRjaAoKLyg/KD89YSlhfGIpLwogICAgYQogMDogYQoKLyg/PShhKz8pKShcMWFiKS8KICAgIGFhYWIKIDA6IGFhYgogMTogYQogMjogYWFiCgovXig/PShhKz8pKVwxYWIvCgovKFx3KzopKy8KICAgIG9uZToKIDA6IG9uZToKIDE6IG9uZToKCi8kKD88PV4oYSkpLwogICAgYQogMDogCiAxOiBhCgovKD89KGErPykpKFwxYWIpLwogICAgYWFhYgogMDogYWFiCiAxOiBhCiAyOiBhYWIKCi9eKD89KGErPykpXDFhYi8KXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYWFiCk5vIG1hdGNoCiAgICBhYWFiCk5vIG1hdGNoCgovKFtcdzpdKzo6KT8oXHcrKSQvCiAgICBhYmNkCiAwOiBhYmNkCiAxOiA8dW5zZXQ+CiAyOiBhYmNkCiAgICB4eTp6Ojo6YWJjZAogMDogeHk6ejo6OmFiY2QKIDE6IHh5Ono6OjoKIDI6IGFiY2QKCi9eW15iY2RdKihjKykvCiAgICBhZXh5Y2QKIDA6IGFleHljCiAxOiBjCgovKGEqKWIrLwogICAgY2FhYgogMDogYWFiCiAxOiBhYQoKLyhbXHc6XSs6Oik/KFx3KykkLwogICAgYWJjZAogMDogYWJjZAogMTogPHVuc2V0PgogMjogYWJjZAogICAgeHk6ejo6OmFiY2QKIDA6IHh5Ono6OjphYmNkCiAxOiB4eTp6Ojo6CiAyOiBhYmNkClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWJjZDoKTm8gbWF0Y2gKICAgIGFiY2Q6Ck5vIG1hdGNoCgovXlteYmNkXSooYyspLwogICAgYWV4eWNkCiAwOiBhZXh5YwogMTogYwoKLyg+YSspYWIvCgovKD8+YSspYi8KICAgIGFhYWIKIDA6IGFhYWIKCi8oW1s6XSspLwogICAgYTpbYl06CiAwOiA6WwogMTogOlsKCi8oW1s9XSspLwogICAgYT1bYl09CiAwOiA9WwogMTogPVsKCi8oW1suXSspLwogICAgYS5bYl0uCiAwOiAuWwogMTogLlsKCi8oKD8+YSspYikvCiAgICBhYWFiCiAwOiBhYWFiCiAxOiBhYWFiCgovKD8+KGErKSliLwogICAgYWFhYgogMDogYWFhYgogMTogYWFhCgovKCg/PlteKCldKyl8XChbXigpXSpcKSkrLwogICAgKChhYmMoYWRlKXVmaCgpKCl4CiAwOiBhYmMoYWRlKXVmaCgpKCl4CiAxOiB4CgovYVxaLwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFhYWIKTm8gbWF0Y2gKICAgIGFcbmJcbgpObyBtYXRjaAoKL2JcWi8KICAgIGFcbmJcbgogMDogYgoKL2Jcei8KCi9iXFovCiAgICBhXG5iCiAwOiBiCgovYlx6LwogICAgYVxuYgogMDogYgogICAgCi9eKD8+KD8oMSlcLnwoKSlbXlxXX10oPz5bYS16MC05LV0qW15cV19dKT8pKyQvCiAgICBhCiAwOiBhCiAxOiAKICAgIGFiYwogMDogYWJjCiAxOiAKICAgIGEtYgogMDogYS1iCiAxOiAKICAgIDAtOSAKIDA6IDAtOQogMTogCiAgICBhLmIKIDA6IGEuYgogMTogCiAgICA1LjYuNyAgCiAwOiA1LjYuNwogMTogCiAgICB0aGUucXVpY2suYnJvd24uZm94CiAwOiB0aGUucXVpY2suYnJvd24uZm94CiAxOiAKICAgIGExMDAuYjIwMC4zMDBjICAKIDA6IGExMDAuYjIwMC4zMDBjCiAxOiAKICAgIDEyLWFiLjEyNDUgCiAwOiAxMi1hYi4xMjQ1CiAxOiAKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBcCk5vIG1hdGNoCiAgICAuYQpObyBtYXRjaAogICAgLWEKTm8gbWF0Y2gKICAgIGEtCk5vIG1hdGNoCiAgICBhLiAgCk5vIG1hdGNoCiAgICBhX2IgCk5vIG1hdGNoCiAgICBhLi0KTm8gbWF0Y2gKICAgIGEuLiAgCk5vIG1hdGNoCiAgICBhYi4uYmMgCk5vIG1hdGNoCiAgICB0aGUucXVpY2suYnJvd24uZm94LQpObyBtYXRjaAogICAgdGhlLnF1aWNrLmJyb3duLmZveC4KTm8gbWF0Y2gKICAgIHRoZS5xdWljay5icm93bi5mb3hfCk5vIG1hdGNoCiAgICB0aGUucXVpY2suYnJvd24uZm94KyAgICAgICAKTm8gbWF0Y2gKCi8oPz4uKikoPzw9KGFiY2R8d3h5eikpLwogICAgYWxwaGFiZXRhYmNkCiAwOiBhbHBoYWJldGFiY2QKIDE6IGFiY2QKICAgIGVuZGluZ3d4eXoKIDA6IGVuZGluZ3d4eXoKIDE6IHd4eXoKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhIHJhdGhlciBsb25nIHN0cmluZyB0aGF0IGRvZXNuJ3QgZW5kIHdpdGggb25lIG9mIHRoZW0KTm8gbWF0Y2gKCi93b3JkICg/Pig/Oig/IW90aGVyd29yZClbYS16QS1aMC05XSsgKXswLDMwfSlvdGhlcndvcmQvCiAgICB3b3JkIGNhdCBkb2cgZWxlcGhhbnQgbXVzc2VsIGNvdyBob3JzZSBjYW5hcnkgYmFib29uIHNuYWtlIHNoYXJrIG90aGVyd29yZAogMDogd29yZCBjYXQgZG9nIGVsZXBoYW50IG11c3NlbCBjb3cgaG9yc2UgY2FuYXJ5IGJhYm9vbiBzbmFrZSBzaGFyayBvdGhlcndvcmQKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICB3b3JkIGNhdCBkb2cgZWxlcGhhbnQgbXVzc2VsIGNvdyBob3JzZSBjYW5hcnkgYmFib29uIHNuYWtlIHNoYXJrCk5vIG1hdGNoCiAgCi93b3JkICg/PlthLXpBLVowLTldKyApezAsMzB9b3RoZXJ3b3JkLwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIHdvcmQgY2F0IGRvZyBlbGVwaGFudCBtdXNzZWwgY293IGhvcnNlIGNhbmFyeSBiYWJvb24gc25ha2Ugc2hhcmsgdGhlIHF1aWNrIGJyb3duIGZveCBhbmQgdGhlIGxhenkgZG9nIGFuZCBzZXZlcmFsIG90aGVyIHdvcmRzIGdldHRpbmcgY2xvc2UgdG8gdGhpcnR5IGJ5IG5vdyBJIGhvcGUKTm8gbWF0Y2gKCi8oPzw9XGR7M30oPyE5OTkpKWZvby8KICAgIDk5OWZvbwogMDogZm9vCiAgICAxMjM5OTlmb28gCiAwOiBmb28KXD0gRXhwZWN0IG5vIG1hdGNoCiAgICAxMjNhYmNmb28KTm8gbWF0Y2gKICAgIAovKD88PSg/IS4uLjk5OSlcZHszfSlmb28vCiAgICA5OTlmb28KIDA6IGZvbwogICAgMTIzOTk5Zm9vIAogMDogZm9vClw9IEV4cGVjdCBubyBtYXRjaAogICAgMTIzYWJjZm9vCk5vIG1hdGNoCgovKD88PVxkezN9KD8hOTk5KS4uLilmb28vCiAgICAxMjNhYmNmb28KIDA6IGZvbwogICAgMTIzNDU2Zm9vIAogMDogZm9vClw9IEV4cGVjdCBubyBtYXRjaAogICAgMTIzOTk5Zm9vICAKTm8gbWF0Y2gKICAgIAovKD88PVxkezN9Li4uKSg/PCE5OTkpZm9vLwogICAgMTIzYWJjZm9vICAgCiAwOiBmb28KICAgIDEyMzQ1NmZvbyAKIDA6IGZvbwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIDEyMzk5OWZvbyAgCk5vIG1hdGNoCgovPGFbXHNdK2hyZWZbXHNdKj1bXHNdKiAgICAgICAgICAjIGZpbmQgPGEgaHJlZj0KIChbXCJcJ10pPyAgICAgICAgICAgICAgICAgICAgICAgIyBmaW5kIHNpbmdsZSBvciBkb3VibGUgcXVvdGUKICg/KDEpICguKj8pXDEgfCAoW15cc10rKSkgICAgICAgIyBpZiBxdW90ZSBmb3VuZCwgbWF0Y2ggdXAgdG8gbmV4dCBtYXRjaGluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIHF1b3RlLCBvdGhlcndpc2UgbWF0Y2ggdXAgdG8gbmV4dCBzcGFjZQovaXN4CiAgICA8YSBocmVmPWFiY2QgeHl6CiAwOiA8YSBocmVmPWFiY2QKIDE6IDx1bnNldD4KIDI6IDx1bnNldD4KIDM6IGFiY2QKICAgIDxhIGhyZWY9XCJhYmNkIHh5eiBwcXJcIiBjYXRzCiAwOiA8YSBocmVmPSJhYmNkIHh5eiBwcXIiCiAxOiAiCiAyOiBhYmNkIHh5eiBwcXIKICAgIDxhIGhyZWY9XCdhYmNkIHh5eiBwcXJcJyBjYXRzCiAwOiA8YSBocmVmPSdhYmNkIHh5eiBwcXInCiAxOiAnCiAyOiBhYmNkIHh5eiBwcXIKCi88YVxzK2hyZWZccyo9XHMqICAgICAgICAgICAgICAgICMgZmluZCA8YSBocmVmPQogKFsiJ10pPyAgICAgICAgICAgICAgICAgICAgICAgICAjIGZpbmQgc2luZ2xlIG9yIGRvdWJsZSBxdW90ZQogKD8oMSkgKC4qPylcMSB8IChcUyspKSAgICAgICAgICAjIGlmIHF1b3RlIGZvdW5kLCBtYXRjaCB1cCB0byBuZXh0IG1hdGNoaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgcXVvdGUsIG90aGVyd2lzZSBtYXRjaCB1cCB0byBuZXh0IHNwYWNlCi9pc3gKICAgIDxhIGhyZWY9YWJjZCB4eXoKIDA6IDxhIGhyZWY9YWJjZAogMTogPHVuc2V0PgogMjogPHVuc2V0PgogMzogYWJjZAogICAgPGEgaHJlZj1cImFiY2QgeHl6IHBxclwiIGNhdHMKIDA6IDxhIGhyZWY9ImFiY2QgeHl6IHBxciIKIDE6ICIKIDI6IGFiY2QgeHl6IHBxcgogICAgPGEgaHJlZiAgICAgICA9ICAgICAgIFwnYWJjZCB4eXogcHFyXCcgY2F0cwogMDogPGEgaHJlZiAgICAgICA9ICAgICAgICdhYmNkIHh5eiBwcXInCiAxOiAnCiAyOiBhYmNkIHh5eiBwcXIKCi88YVxzK2hyZWYoPz5ccyopPSg/PlxzKikgICAgICAgICMgZmluZCA8YSBocmVmPQogKFsiJ10pPyAgICAgICAgICAgICAgICAgICAgICAgICAjIGZpbmQgc2luZ2xlIG9yIGRvdWJsZSBxdW90ZQogKD8oMSkgKC4qPylcMSB8IChcUyspKSAgICAgICAgICAjIGlmIHF1b3RlIGZvdW5kLCBtYXRjaCB1cCB0byBuZXh0IG1hdGNoaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgcXVvdGUsIG90aGVyd2lzZSBtYXRjaCB1cCB0byBuZXh0IHNwYWNlCi9pc3gKICAgIDxhIGhyZWY9YWJjZCB4eXoKIDA6IDxhIGhyZWY9YWJjZAogMTogPHVuc2V0PgogMjogPHVuc2V0PgogMzogYWJjZAogICAgPGEgaHJlZj1cImFiY2QgeHl6IHBxclwiIGNhdHMKIDA6IDxhIGhyZWY9ImFiY2QgeHl6IHBxciIKIDE6ICIKIDI6IGFiY2QgeHl6IHBxcgogICAgPGEgaHJlZiAgICAgICA9ICAgICAgIFwnYWJjZCB4eXogcHFyXCcgY2F0cwogMDogPGEgaHJlZiAgICAgICA9ICAgICAgICdhYmNkIHh5eiBwcXInCiAxOiAnCiAyOiBhYmNkIHh5eiBwcXIKCi8oKFopK3xBKSovCiAgICBaQUJDREVGRwogMDogWkEKIDE6IEEKIDI6IFoKCi8oWigpfEEpKi8KICAgIFpBQkNERUZHCiAwOiBaQQogMTogQQogMjogCgovKFooKCkpfEEpKi8KICAgIFpBQkNERUZHCiAwOiBaQQogMTogQQogMjogCiAzOiAKCi8oKD8+WikrfEEpKi8KICAgIFpBQkNERUZHCiAwOiBaQQogMTogQQoKLygoPz4pK3xBKSovCiAgICBaQUJDREVGRwogMDogCiAxOiAKCi9hKi9nCiAgICBhYmJhYgogMDogYQogMDogCiAwOiAKIDA6IGEKIDA6IAogMDogCgovW1s6c3BhY2U6XV0rLwogICAgPiBceDA5XHgwYVx4MGNceDBkXHgwYjwKIDA6ICBceDA5XHgwYVx4MGNceDBkXHgwYgogICAgIAovW1s6Ymxhbms6XV0rLwogICAgPiBceDA5XHgwYVx4MGNceDBkXHgwYjwKIDA6ICBceDA5CiAgICAgCi9bXHNdKy8KICAgID4gXHgwOVx4MGFceDBjXHgwZFx4MGI8CiAwOiAgXHgwOVx4MGFceDBjXHgwZFx4MGIKICAgICAKL1xzKy8KICAgID4gXHgwOVx4MGFceDBjXHgwZFx4MGI8CiAwOiAgXHgwOVx4MGFceDBjXHgwZFx4MGIKICAgICAKL2ELYi94CiAgICBhYgogMDogYWIKCi8oPyFcQSl4L20KICAgIGFcbnhiXG4KIDA6IHgKCi8oPyFeKXgvbQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFcbnhiXG4KTm8gbWF0Y2gKCi9hYmNcUWFiY1xFYWJjLwogICAgYWJjYWJjYWJjCiAwOiBhYmNhYmNhYmMKICAgIAovYWJjXFEoKit8XEVhYmMvCiAgICBhYmMoKit8YWJjIAogMDogYWJjKCorfGFiYwoKLyAgIGFiY1xRIGFiY1xFYWJjL3gKICAgIGFiYyBhYmNhYmMKIDA6IGFiYyBhYmNhYmMKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYmNhYmNhYmMgIApObyBtYXRjaAogICAgCi9hYmMjY29tbWVudAogICAgXFEjbm90IGNvbW1lbnQKICAgIGxpdGVyYWxcRS94CiAgICBhYmMjbm90IGNvbW1lbnRcbiAgICBsaXRlcmFsICAgICAKIDA6IGFiYyNub3QgY29tbWVudFx4MGEgICAgbGl0ZXJhbAoKL2FiYyNjb21tZW50CiAgICBcUSNub3QgY29tbWVudAogICAgbGl0ZXJhbC94CiAgICBhYmMjbm90IGNvbW1lbnRcbiAgICBsaXRlcmFsICAgICAKIDA6IGFiYyNub3QgY29tbWVudFx4MGEgICAgbGl0ZXJhbAoKL2FiYyNjb21tZW50CiAgICBcUSNub3QgY29tbWVudAogICAgbGl0ZXJhbFxFICNtb3JlIGNvbW1lbnQKICAgIC94CiAgICBhYmMjbm90IGNvbW1lbnRcbiAgICBsaXRlcmFsICAgICAKIDA6IGFiYyNub3QgY29tbWVudFx4MGEgICAgbGl0ZXJhbAoKL2FiYyNjb21tZW50CiAgICBcUSNub3QgY29tbWVudAogICAgbGl0ZXJhbFxFICNtb3JlIGNvbW1lbnQveAogICAgYWJjI25vdCBjb21tZW50XG4gICAgbGl0ZXJhbCAgICAgCiAwOiBhYmMjbm90IGNvbW1lbnRceDBhICAgIGxpdGVyYWwKCi9cUWFiY1wkeHl6XEUvCiAgICBhYmNcXFwkeHl6CiAwOiBhYmNcJHh5egoKL1xRYWJjXEVcJFxReHl6XEUvCiAgICBhYmNcJHh5egogMDogYWJjJHh5egoKL1xHYWJjLwogICAgYWJjCiAwOiBhYmMKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICB4eXphYmMgIApObyBtYXRjaAoKL1xHYWJjLi9nCiAgICBhYmMxYWJjMnh5emFiYzMKIDA6IGFiYzEKIDA6IGFiYzIKCi9hYmMuL2cKICAgIGFiYzFhYmMyeHl6YWJjMyAKIDA6IGFiYzEKIDA6IGFiYzIKIDA6IGFiYzMKCi9hKD94OiBiIGMgKWQvCiAgICBYYWJjZFkKIDA6IGFiY2QKXD0gRXhwZWN0IG5vIG1hdGNoIAogICAgWGEgYiBjIGQgWSAKTm8gbWF0Y2gKCi8oKD94KXggeSB6IHwgYSBiIGMpLwogICAgWGFiY1kKIDA6IGFiYwogMTogYWJjCiAgICBBeHl6QiAKIDA6IHh5egogMTogeHl6CgovKD9pKUFCKD8taSlDLwogICAgWGFiQ1kKIDA6IGFiQwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIFhhYmNZICAKTm8gbWF0Y2gKCi8oKD9pKUFCKD8taSlDfEQpRS8KICAgIGFiQ0UKIDA6IGFiQ0UKIDE6IGFiQwogICAgREUKIDA6IERFCiAxOiBEClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWJjRQpObyBtYXRjaAogICAgYWJDZSAgCk5vIG1hdGNoCiAgICBkRQpObyBtYXRjaAogICAgRGUgICAgCk5vIG1hdGNoCgovKC4qKVxkK1wxLwogICAgYWJjMTIzYWJjCiAwOiBhYmMxMjNhYmMKIDE6IGFiYwogICAgYWJjMTIzYmMgCiAwOiBiYzEyM2JjCiAxOiBiYwoKLyguKilcZCtcMS9zCiAgICBhYmMxMjNhYmMKIDA6IGFiYzEyM2FiYwogMTogYWJjCiAgICBhYmMxMjNiYyAKIDA6IGJjMTIzYmMKIDE6IGJjCiAgICAKLygoLiopKVxkK1wxLwogICAgYWJjMTIzYWJjCiAwOiBhYmMxMjNhYmMKIDE6IGFiYwogMjogYWJjCiAgICBhYmMxMjNiYyAgCiAwOiBiYzEyM2JjCiAxOiBiYwogMjogYmMKCiMgVGhpcyB0ZXN0cyBmb3IgYW4gSVB2NiBhZGRyZXNzIGluIHRoZSBmb3JtIHdoZXJlIGl0IGNhbiBoYXZlIHVwIHRvCiMgZWlnaHQgY29tcG9uZW50cywgb25lIGFuZCBvbmx5IG9uZSBvZiB3aGljaCBpcyBlbXB0eS4gVGhpcyBtdXN0IGJlCiMgYW4gaW50ZXJuYWwgY29tcG9uZW50LiAKCi9eKD8hOikgICAgICAgICAgICAgICAgICAgICAgICMgY29sb24gZGlzYWxsb3dlZCBhdCBzdGFydAogICg/OiAgICAgICAgICAgICAgICAgICAgICAgICAjIHN0YXJ0IG9mIGl0ZW0KICAgICg/OiBbMC05YS1mXXsxLDR9IHwgICAgICAgIyAxLTQgaGV4IGRpZ2l0cyBvcgogICAgKD8oMSkwIHwgKCkgKSApICAgICAgICAgICAjIGlmIG51bGwgcHJldmlvdXNseSBtYXRjaGVkLCBmYWlsOyBlbHNlIG51bGwKICAgIDogICAgICAgICAgICAgICAgICAgICAgICAgIyBmb2xsb3dlZCBieSBjb2xvbgogICl7MSw3fSAgICAgICAgICAgICAgICAgICAgICAjIGVuZCBpdGVtOyAxLTcgb2YgdGhlbSByZXF1aXJlZCAgICAgICAgICAgICAgIAogIFswLTlhLWZdezEsNH0gJCAgICAgICAgICAgICAjIGZpbmFsIGhleCBudW1iZXIgYXQgZW5kIG9mIHN0cmluZwogICg/KDEpfC4pICAgICAgICAgICAgICAgICAgICAjIGNoZWNrIHRoYXQgdGhlcmUgd2FzIGFuIGVtcHR5IGNvbXBvbmVudAogIC9peAogICAgYTEyMzo6YTEyMwogMDogYTEyMzo6YTEyMwogMTogCiAgICBhMTIzOmIzNDI6OmFiY2QKIDA6IGExMjM6YjM0Mjo6YWJjZAogMTogCiAgICBhMTIzOmIzNDI6OjMyNGU6YWJjZAogMDogYTEyMzpiMzQyOjozMjRlOmFiY2QKIDE6IAogICAgYTEyMzpkZGRlOmIzNDI6OjMyNGU6YWJjZAogMDogYTEyMzpkZGRlOmIzNDI6OjMyNGU6YWJjZAogMTogCiAgICBhMTIzOmRkZGU6YjM0Mjo6MzI0ZTpkY2JhOmFiY2QKIDA6IGExMjM6ZGRkZTpiMzQyOjozMjRlOmRjYmE6YWJjZAogMTogCiAgICBhMTIzOmRkZGU6OTk5OTpiMzQyOjozMjRlOmRjYmE6YWJjZAogMDogYTEyMzpkZGRlOjk5OTk6YjM0Mjo6MzI0ZTpkY2JhOmFiY2QKIDE6IApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIDE6MjozOjQ6NTo2Ojc6OApObyBtYXRjaAogICAgYTEyMzpiY2U6ZGRkZTo5OTk5OmIzNDI6OjMyNGU6ZGNiYTphYmNkCk5vIG1hdGNoCiAgICBhMTIzOjo5OTk5OmIzNDI6OjMyNGU6ZGNiYTphYmNkCk5vIG1hdGNoCiAgICBhYmNkZToyOjM6NDo1OjY6Nzo4Ck5vIG1hdGNoCiAgICA6OjEKTm8gbWF0Y2gKICAgIGFiY2Q6ZmVlMDoxMjM6OiAgIApObyBtYXRjaAogICAgOjEKTm8gbWF0Y2gKICAgIDE6ICAKTm8gbWF0Y2gKCi9belxRYS1kXVxFXS8KICAgIHoKIDA6IHoKICAgIGEKIDA6IGEKICAgIC0KIDA6IC0KICAgIGQKIDA6IGQKICAgIF0gCiAwOiBdClw9IEV4cGVjdCBubyBtYXRjaAogICAgYiAgICAgCk5vIG1hdGNoCgovKGErKSpiLwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEgCk5vIG1hdGNoCiAgICAKLyg/aSlyZWcoPzp1bCg/Olth5F18YWUpcnxleCkvCiAgICBSRUd1bGFyCiAwOiBSRUd1bGFyCiAgICByZWd1bGFlcgogMDogcmVndWxhZXIKICAgIFJlZ2V4ICAKIDA6IFJlZ2V4CiAgICByZWd1bORyIAogMDogcmVndWxceGU0cgoKL8Xm5eRb4C3/wC3fXSsvCiAgICDF5uXk4AogMDogXHhjNVx4ZTZceGU1XHhlNFx4ZTAKICAgIMXm5eT/CiAwOiBceGM1XHhlNlx4ZTVceGU0XHhmZgogICAgxebl5MAKIDA6IFx4YzVceGU2XHhlNVx4ZTRceGMwCiAgICDF5uXk3wogMDogXHhjNVx4ZTZceGU1XHhlNFx4ZGYKCi8oPzw9WilYLi8KICBceDg0WEFaWEIKIDA6IFhCCgovYWIgY2QgKD94KSBkZSBmZy8KICAgIGFiIGNkIGRlZmcKIDA6IGFiIGNkIGRlZmcKCi9hYiBjZCg/eCkgZGUgZmcvCiAgICBhYiBjZGRlZmcKIDA6IGFiIGNkZGVmZwpcPSBFeHBlY3Qgbm8gbWF0Y2ggCiAgICBhYmNkZGVmZwpObyBtYXRjaAoKLyg/PCFbXmZdb28pKGJhcikvCiAgICBmb29iYXJYIAogMDogYmFyCiAxOiBiYXIKXD0gRXhwZWN0IG5vIG1hdGNoIAogICAgYm9vYmFyWApObyBtYXRjaAoKLyg/PCFbXmZdKVgvCiAgICBvZmZYCiAwOiBYClw9IEV4cGVjdCBubyBtYXRjaAogICAgb255WCAgCk5vIG1hdGNoCgovKD88PVteZl0pWC8KICAgIG9ueVgKIDA6IFgKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBvZmZYIApObyBtYXRjaAoKL14vZ20KICAgIGFcbmJcbmNcbgogMDogCiAwOiAKIDA6IAogICAgXCAKIDA6IAogICAgCi8oPzw9Q1xuKV4vZ20KICAgIEFcbkNcbkNcbiAKIDA6IAoKLyg/Oig/KDEpYXxiKShYKSkrLwogICAgYlhhWAogMDogYlhhWAogMTogWAoKLyg/Oig/KDEpXDFhfGIpKFh8WSkpKy8KICAgIGJYWGFZWWFZCiAwOiBiWFhhWVlhWQogMTogWQogICAgYlhZYVhYYVggIAogMDogYlgKIDE6IFgKCi8oKSgpKCkoKSgpKCkoKSgpKCkoPzooPygxMClcMTBhfGIpKFh8WSkpKy8KICAgIGJYWGFZWWFZCiAwOiBiWAogMTogCiAyOiAKIDM6IAogNDogCiA1OiAKIDY6IAogNzogCiA4OiAKIDk6IAoxMDogWAoKL1tbLGFiYyxdK10vCiAgICBhYmNdCiAwOiBhYmNdCiAgICBhLGJdCiAwOiBhLGJdCiAgICBbYSxiLGNdICAKIDA6IFthLGIsY10KCi8oPy14OiApL3gKICAgIEFceDIwQgogMDogIAogICAgCi8oP3gpKD8teDogXHMqI1xzKikvCiAgICBBICMgQgogMDogICMgClw9IEV4cGVjdCBubyBtYXRjaAogICAgIyAgCk5vIG1hdGNoCiAgICBBIHMjcyBCCk5vIG1hdGNoCgovKD94LWlzKSg/Oig/LWl4cykgXHMqI1xzKikgaW5jbHVkZS8KICAgIEEgI2luY2x1ZGUKIDA6ICAjaW5jbHVkZQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIEEjaW5jbHVkZSAgCk5vIG1hdGNoCiAgICBBICNJbmNsdWRlCk5vIG1hdGNoCgovYSpiKlx3LwogICAgYWFhYmJiYgogMDogYWFhYmJiYgogICAgYWFhYQogMDogYWFhYQogICAgYQogMDogYQoKL2EqYj9cdy8KICAgIGFhYWJiYmIKIDA6IGFhYWJiCiAgICBhYWFhCiAwOiBhYWFhCiAgICBhCiAwOiBhCgovYSpiezAsNH1cdy8KICAgIGFhYWJiYmIKIDA6IGFhYWJiYmIKICAgIGFhYWEKIDA6IGFhYWEKICAgIGEKIDA6IGEKCi9hKmJ7MCx9XHcvCiAgICBhYWFiYmJiCiAwOiBhYWFiYmJiCiAgICBhYWFhCiAwOiBhYWFhCiAgICBhCiAwOiBhCiAgICAKL2EqXGQqXHcvCiAgICAwYQogMDogMGEKICAgIGEgCiAwOiBhCiAgICAKL2EqYiAqXHcveAogICAgYSAKIDA6IGEKCi9hKmIjY29tbWVudAogICpcdy94CiAgICBhIAogMDogYQoKL2EqIGIgKlx3L3gKICAgIGEgCiAwOiBhCgovXlx3Kz0uKihcXFxuLiopKi8KICAgIGFiYz14eXpcXFxucHFyCiAwOiBhYmM9eHl6XAoKLyg/PShcdyspKVwxOi8KICAgIGFiY2Q6CiAwOiBhYmNkOgogMTogYWJjZAoKL14oPz0oXHcrKSlcMTovCiAgICBhYmNkOgogMDogYWJjZDoKIDE6IGFiY2QKCi9eXEVhYmMvCiAgICBhYmMKIDA6IGFiYwogICAgCi9eW1xFYWJjXS8KICAgIGEKIDA6IGEKXD0gRXhwZWN0IG5vIG1hdGNoIAogICAgRSAKTm8gbWF0Y2gKICAgIAovXlthLVxFY10vCiAgICBiCiAwOiBiClw9IEV4cGVjdCBubyBtYXRjaAogICAgLQpObyBtYXRjaAogICAgRSAgICAKTm8gbWF0Y2gKCi9eW2FcRVxFLVxFY10vCiAgICBiCiAwOiBiClw9IEV4cGVjdCBubyBtYXRjaAogICAgLQpObyBtYXRjaAogICAgRSAgICAKTm8gbWF0Y2gKCi9eW1xFXFFhXEUtXFF6XEVdKy8KICAgIGIKIDA6IGIKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICAtICAKTm8gbWF0Y2gKICAgIAovXlthXFFdYmNcRV0vCiAgICBhCiAwOiBhCiAgICBdCiAwOiBdCiAgICBjCiAwOiBjCiAgICAKL15bYS1cUVxFXS8KICAgIGEKIDA6IGEKICAgIC0gICAgIAogMDogLQoKL14oYSgpKikqLwogICAgYWFhYQogMDogYWFhYQogMTogYQogMjogCgovXig/OmEoPzooPzopKSopKi8KICAgIGFhYWEKIDA6IGFhYWEKCi9eKGEoKSspKy8KICAgIGFhYWEKIDA6IGFhYWEKIDE6IGEKIDI6IAoKL14oPzphKD86KD86KSkrKSsvCiAgICBhYWFhCiAwOiBhYWFhCgovKGEpezAsM30oPygxKWJ8KGN8KSkqRC8KICAgIGFiYkQKIDA6IGFiYkQKIDE6IGEKICAgIGNjY2NECiAwOiBjY2NjRAogMTogPHVuc2V0PgogMjogCiAgICBEICAKIDA6IEQKIDE6IDx1bnNldD4KIDI6IAoKLyhhfCkqXGQvCiAgYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhNAogMDogYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhNAogMTogClw9IEV4cGVjdCBubyBtYXRjaAogIGFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYQpObyBtYXRjaAoKLyg/PmF8KSpcZC8KICBhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWE0CiAwOiBhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWE0Clw9IEV4cGVjdCBubyBtYXRjaAogIGFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYQpObyBtYXRjaAoKLyg/OmF8KSpcZC8KICBhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWE0CiAwOiBhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWE0Clw9IEV4cGVjdCBubyBtYXRjaAogIGFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYQpObyBtYXRjaAoKL1xaL2cKICBhYmNcbgogMDogCiAwOiAKICAKL14oP3MpKD8+LiopKD88IVxuKS8KICBhYmMKIDA6IGFiYwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICBhYmNcbiAgCk5vIG1hdGNoCgovXig/IVteXG5dKlxuXHopLwogIGFiYwogMDogClw9IEV4cGVjdCBubyBtYXRjaAogIGFiY1xuIApObyBtYXRjaAogIAovXHooPzwhXG4pLwogIGFiYwogMDogClw9IEV4cGVjdCBubyBtYXRjaAogIGFiY1xuICAKTm8gbWF0Y2gKCi8oLiooLik/KSovCiAgICBhYmNkCiAwOiBhYmNkCiAxOiAKCi8oIChBIHwgKD8oMSkwfCkgKSogICApL3gKICAgIGFiY2QKIDA6IAogMTogCiAyOiAKCi8oICggKD8oMSkwfCkgKSogICApL3gKICAgIGFiY2QKIDA6IAogMTogCiAyOiAKCi8oICAoPygxKTB8KSogICApL3gKICAgIGFiY2QKIDA6IAogMTogCgovW1s6YWJjZDp4eXpdXS8KICAgIGFdCiAwOiBhXQogICAgOl0gCiAwOiA6XQogICAgCi9bYWJjWzp4XF1wcXJdLwogICAgYQogMDogYQogICAgWwogMDogWwogICAgOgogMDogOgogICAgXQogMDogXQogICAgcCAgICAKIDA6IHAKCi8uKltvcF1beHl6XS8KXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBmb29hYmNmb28KTm8gbWF0Y2gKCi8oPyg/PS4qYilifF4pLwogICBhZGMKIDA6IAogICBhYmMgCiAwOiBiCgovKD8oPz1eLipiKWJ8XikvCiAgIGFkYwogMDogClw9IEV4cGVjdCBubyBtYXRjaAogICBhYmMgCk5vIG1hdGNoCgovKD8oPz0uKmIpYnxeKSovCiAgIGFkYwogMDogCiAgIGFiYyAKIDA6IAoKLyg/KD89LipiKWJ8XikrLwogICBhZGMKIDA6IAogICBhYmMgCiAwOiBiCgovKD8oPz1iKS4qYnxeZCkvCiAgICBhYmMKIDA6IGIKCi8oPyg/PS4qYikuKmJ8XmQpLwogICAgYWJjCiAwOiBhYgoKL14lKCg/KD89W2FdKVteJV0pfGIpKiUkLwogICAgJWFiJQogMDogJWFiJQogMTogCgovKD9pKWEoPy1pKWJ8Yy8KICAgIFhhYlgKIDA6IGFiCiAgICBYQWJYCiAwOiBBYgogICAgQ2NDIAogMDogYwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIFhBQlggICAKTm8gbWF0Y2gKCi9bXHgwMC1ceGZmXHNdKy8KICAgIFx4MGFceDBiXHgwY1x4MGQKIDA6IFx4MGFceDBiXHgwY1x4MGQKCi8oYWJjKVwxL2kKXD0gRXhwZWN0IG5vIG1hdGNoCiAgIGFiYwpObyBtYXRjaAoKLyhhYmMpXDEvClw9IEV4cGVjdCBubyBtYXRjaAogICBhYmMKTm8gbWF0Y2gKCi9bXmFdKi9pCiAgICAxMmFiYwogMDogMTIKICAgIDEyQUJDCiAwOiAxMgoKL1teYV0qKy9pCiAgICAxMmFiYwogMDogMTIKICAgIDEyQUJDCiAwOiAxMgoKL1teYV0qP1gvaQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIDEyYWJjCk5vIG1hdGNoCiAgICAxMkFCQwpObyBtYXRjaAogICAgCi9bXmFdKz9YL2kKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICAxMmFiYwpObyBtYXRjaAogICAgMTJBQkMKTm8gbWF0Y2gKCi9bXmFdP1gvaQogICAgMTJhWGJjWAogMDogWAogICAgMTJBWEJDWAogMDogWAogICAgQkNYIAogMDogQ1gKCi9bXmFdPz9YL2kKICAgIDEyYVhiY1gKIDA6IFgKICAgIDEyQVhCQ1gKIDA6IFgKICAgIEJDWAogMDogQ1gKICAgIAovW15hXT8rWC9pCiAgICAxMmFYYmNYCiAwOiBjWAogICAgMTJBWEJDWAogMDogQ1gKICAgIEJDWCAKIDA6IENYCgovW15hXXsyLDN9L2kKICAgIGFiY2RlZgogMDogYmNkCiAgICBBQkNERUYgIAogMDogQkNECgovW15hXXsyLDN9Py9pCiAgICBhYmNkZWYKIDA6IGJjCiAgICBBQkNERUYgIAogMDogQkMKCi9bXmFdezIsM30rL2kKICAgIGFiY2RlZgogMDogYmNkCiAgICBBQkNERUYgIAogMDogQkNECgovKChhfCkrKStaLwogICAgWgogMDogWgogMTogCiAyOiAKCi8oYSlifChhKWMvCiAgICBhYwogMDogYWMKIDE6IDx1bnNldD4KIDI6IGEKCi8oPz4oYSkpYnwoYSljLwogICAgYWMKIDA6IGFjCiAxOiA8dW5zZXQ+CiAyOiBhCgovKD89KGEpKWFifChhKWMvCiAgICBhYwogMDogYWMKIDE6IDx1bnNldD4KIDI6IGEKCi8oKD8+KGEpKWJ8KGEpYykvCiAgICBhYwogMDogYWMKIDE6IGFjCiAyOiA8dW5zZXQ+CiAzOiBhCgovKCg/PihhKSlifChhKWMpKysvCiAgICBhYwogMDogYWMKIDE6IGFjCiAyOiA8dW5zZXQ+CiAzOiBhCgovKD86KD8+KGEpKWJ8KGEpYykrKy8KICAgIGFjCiAwOiBhYwogMTogPHVuc2V0PgogMjogYQoKLyg/PSg/PihhKSlifChhKWMpKC4uKS8KICAgIGFjCiAwOiBhYwogMTogPHVuc2V0PgogMjogYQogMzogYWMKCi8oPz4oPz4oYSkpYnwoYSljKS8KICAgIGFjCiAwOiBhYwogMTogPHVuc2V0PgogMjogYQoKLyg/Oig/PihbYWJdKSkpK2E9L2FmdGVydGV4dAogICAgPWJhPQogMDogYmE9CiAwKyAKIDE6IGIKCi8oPz4oW2FiXSkpK2E9L2FmdGVydGV4dAogICAgPWJhPQogMDogYmE9CiAwKyAKIDE6IGIKCi8oKD8+KGErKWIpKyhhYWJhYikpLwogICAgYWFhYWJhYWFiYWFiYWIKIDA6IGFhYWFiYWFhYmFhYmFiCiAxOiBhYWFhYmFhYWJhYWJhYgogMjogYWFhCiAzOiBhYWJhYgoKLyg/PmErfGFiKSs/Yy8KXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYWJjCk5vIG1hdGNoCgovKD8+YSt8YWIpK2MvClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWFiYwpObyBtYXRjaAoKLyg/OmErfGFiKStjLwogICAgYWFiYwogMDogYWFiYwoKLyg/KD89KGEpKWEpLwogICAgYQogMDogYQogMTogYQoKLyg/KD89KGEpKWEpKGIpLwogICAgYWIKIDA6IGFiCiAxOiBhCiAyOiBiCgovXig/OmF8YWIpKytjLwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFhYWFiYwpObyBtYXRjaAoKL14oPz5hfGFiKSsrYy8KXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYWFhYmMKTm8gbWF0Y2gKCi9eKD86YXxhYikrYy8KICAgIGFhYWFiYwogMDogYWFhYWJjCgovKD89YWJjKXszfWFiYy9hZnRlcnRleHQKICAgIGFiY2FiY2FiYwogMDogYWJjCiAwKyBhYmNhYmMKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICB4eXogIApObyBtYXRjaAogICAgCi8oPz1hYmMpK2FiYy9hZnRlcnRleHQKICAgIGFiY2FiY2FiYwogMDogYWJjCiAwKyBhYmNhYmMKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICB4eXogIApObyBtYXRjaAogICAgCi8oPz1hYmMpKythYmMvYWZ0ZXJ0ZXh0CiAgICBhYmNhYmNhYmMKIDA6IGFiYwogMCsgYWJjYWJjClw9IEV4cGVjdCBubyBtYXRjaAogICAgeHl6ICAKTm8gbWF0Y2gKICAgIAovKD89YWJjKXswfXh5ei8KICAgIHh5eiAKIDA6IHh5egoKLyg/PWFiYyl7MX14eXovClw9IEV4cGVjdCBubyBtYXRjaAogICAgeHl6IApObyBtYXRjaAogICAgCi8oPz0oYSkpPy4vCiAgICBhYgogMDogYQogMTogYQogICAgYmMKIDA6IGIKICAgICAgCi8oPz0oYSkpPz8uLwogICAgYWIKIDA6IGEKICAgIGJjCiAwOiBiCgovXig/PSg/MSkpP1thel0oW2FiY10pZC8KICAgIGFiZCAKIDA6IGFiZAogMTogYgogICAgemNkeHggCiAwOiB6Y2QKIDE6IGMKCi9eKD8hYSl7MH1cdysvCiAgICBhYWFhYQogMDogYWFhYWEKCi8oPzw9KGFiYykpP3h5ei8KICAgIGFiY3h5egogMDogeHl6CiAxOiBhYmMKICAgIHBxcnh5eiAKIDA6IHh5egoKL15bXGc8YT5dKy8KICAgIGdnZzw8PGFhYT4+PgogMDogZ2dnPDw8YWFhPj4+Clw9IEV4cGVjdCBubyBtYXRjaAogICAgXFxnYSAgCk5vIG1hdGNoCiAgICAKL15bXGdhXSsvCiAgICBnZ2dhZ2FnYXh5eiAKIDA6IGdnZ2FnYWdhCiAgICAKL15bOmFbOmRpZ2l0Ol1dKy8KICAgIGFhYWE0NDQ6OjpaIAogMDogYWFhYTQ0NDo6OgoKL15bOmFbOmRpZ2l0Ol06Yl0rLwogICAgYWFhYTQ0NDo6OmJiYlogCiAwOiBhYWFhNDQ0Ojo6YmJiCgovWzphXXh4eFtiOl0vCiAgICAgOnh4eDoKIDA6IDp4eHg6CiAgICAgCi8oPzw9YXsyfSliL2kKICAgIHhhYWJjCiAwOiBiClw9IEV4cGVjdCBubyBtYXRjaAogICAgeGFiYyAgCk5vIG1hdGNoCgovKD88IWF7Mn0pYi9pCiAgICB4YWJjCiAwOiBiClw9IEV4cGVjdCBubyBtYXRjaAogICAgeGFhYmMgIApObyBtYXRjaAoKLyg/PD1hXGgpYy8KICAgIHhhIGMKIDA6IGMKICAgIAovKD88PVteYV17Mn0pYi8KICAgIGF4eGJjCiAwOiBiCiAgICBhQUFiYyAKIDA6IGIKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICB4YWFiYyAgICAKTm8gbWF0Y2gKCi8oPzw9W15hXXsyfSliL2kKICAgIGF4eGJjICAKIDA6IGIKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhQUFiYyAKTm8gbWF0Y2gKICAgIHhhYWJjICAgIApObyBtYXRjaAoKLyg/PD1hXEgpYy8KICAgIGFiYwogMDogYwoKLyg/PD1hXFYpYy8KICAgIGFiYwogMDogYwogICAgCi8oPzw9YVx2KWMvCiAgICBhXG5jCiAwOiBjCgovKD8oPz1jKWN8ZCkrK1kvCiAgICBYY2NjZGRZWAogMDogY2NjZGRZCgovKD8oPz1jKWN8ZCkqK1kvCiAgICBYY2NjZGRZWAogMDogY2NjZGRZCgovXihhezIsM30pezIsfSthLwogICAgYWFhYWFhYQogMDogYWFhYWFhYQogMTogYWFhClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWFhYWFhCk5vIG1hdGNoCiAgICBhYWFhYWFhYWEgCk5vIG1hdGNoCgovXihhezIsM30pKythLwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFhYWFhYQpObyBtYXRjaAoKL14oYXsyLDN9KSorYS8KXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYWFhYWEKTm8gbWF0Y2gKCi9cSFxoXFZcdi8KICAgIFggWFx4MGEKIDA6IFggWFx4MGEKICAgIFhceDA5WFx4MGIKIDA6IFhceDA5WFx4MGIKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBceGEwIFhceDBhICAgCk5vIG1hdGNoCiAgICAKL1xIKlxoK1xWP1x2ezMsNH0vCiAgICBceDA5XHgyMFx4YTBYXHgwYVx4MGJceDBjXHgwZFx4MGEKIDA6IFx4MDkgXHhhMFhceDBhXHgwYlx4MGNceDBkCiAgICBceDA5XHgyMFx4YTBceDBhXHgwYlx4MGNceDBkXHgwYQogMDogXHgwOSBceGEwXHgwYVx4MGJceDBjXHgwZAogICAgXHgwOVx4MjBceGEwXHgwYVx4MGJceDBjCiAwOiBceDA5IFx4YTBceDBhXHgwYlx4MGMKXD0gRXhwZWN0IG5vIG1hdGNoIAogICAgXHgwOVx4MjBceGEwXHgwYVx4MGIKTm8gbWF0Y2gKICAgICAKL1xIezMsNH0vCiAgICBYWSAgQUJDREUKIDA6IEFCQ0QKICAgIFhZICBQUVIgU1QgCiAwOiBQUVIKICAgIAovLlxoezMsNH0uLwogICAgWFkgIEFCICAgIFBRUlMKIDA6IEIgICAgUAoKL1xoKlhcaD9cSCtZXEg/Wi8KICAgID5YTk5OWVoKIDA6IFhOTk5ZWgogICAgPiAgWCBOWVFaCiAwOiAgIFggTllRWgpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgID5YWVogICAKTm8gbWF0Y2gKICAgID4gIFggTlkgWgpObyBtYXRjaAoKL1x2Klhcdj9ZXHYrWlxWKlx4MGFcVitceDBiXFZ7MiwzfVx4MGMvCiAgICA+WFlceDBhWlx4MGFBXHgwYk5OXHgwYwogMDogWFlceDBhWlx4MGFBXHgwYk5OXHgwYwogICAgPlx4MGFceDBkWFx4MGFZXHgwYVx4MGJaWlpceDBhQUFBXHgwYk5OTlx4MGMKIDA6IFx4MGFceDBkWFx4MGFZXHgwYVx4MGJaWlpceDBhQUFBXHgwYk5OTlx4MGMKCi8oZm9vKVxLYmFyLwogICAgZm9vYmFyCiAwOiBiYXIKIDE6IGZvbwogICAKLyhmb28pKFxLYmFyfGJheikvCiAgICBmb29iYXIKIDA6IGJhcgogMTogZm9vCiAyOiBiYXIKICAgIGZvb2JheiAKIDA6IGZvb2JhegogMTogZm9vCiAyOiBiYXoKCi8oZm9vXEtiYXIpYmF6LwogICAgZm9vYmFyYmF6CiAwOiBiYXJiYXoKIDE6IGZvb2JhcgoKL2FiY1xLfGRlZlxLL2csYWZ0ZXJ0ZXh0CiAgICBYYWJjZGVmZ2hpCiAwOiAKIDArIGRlZmdoaQogMDogCiAwKyBnaGkKCi9hYlxLY3xkZVxLZi9nLGFmdGVydGV4dAogICAgWGFiY2RlZmdoaQogMDogYwogMCsgZGVmZ2hpCiAwOiBmCiAwKyBnaGkKICAgIAovKD89QykvZyxhZnRlcnRleHQKICAgIEFCQ0RFQ0JBCiAwOiAKIDArIENERUNCQQogMDogCiAwKyBDQkEKICAgIAovXmFiY1xLL2FmdGVydGV4dAogICAgYWJjZGVmCiAwOiAKIDArIGRlZgpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGRlZmFiY3h5eiAgIApObyBtYXRjaAoKL14oYShiKSlcMVxnMVxnezF9XGctMVxney0xfVxney0yfVovCiAgICBhYmFiYWJhYmJiYWJaWFhYWAogMDogYWJhYmFiYWJiYmFiWgogMTogYWIKIDI6IGIKCi8oPzxBPnRvbXxib24pLVxne0F9LwogICAgdG9tLXRvbQogMDogdG9tLXRvbQogMTogdG9tCiAgICBib24tYm9uIAogMDogYm9uLWJvbgogMTogYm9uCiAgICAKLyheKGF8Ylxney0xfSkpLwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGJhY3h4eApObyBtYXRjaAoKLyg/fChhYmMpfCh4eXopKVwxLwogICAgYWJjYWJjCiAwOiBhYmNhYmMKIDE6IGFiYwogICAgeHl6eHl6IAogMDogeHl6eHl6CiAxOiB4eXoKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYmN4eXoKTm8gbWF0Y2gKICAgIHh5emFiYyAgIApObyBtYXRjaAogICAgCi8oP3woYWJjKXwoeHl6KSkoPzEpLwogICAgYWJjYWJjCiAwOiBhYmNhYmMKIDE6IGFiYwogICAgeHl6YWJjIAogMDogeHl6YWJjCiAxOiB4eXoKXD0gRXhwZWN0IG5vIG1hdGNoIAogICAgeHl6eHl6IApObyBtYXRjaAogCi9eWCg/NSkoYSkoP3woYil8KHEpKShjKShkKShZKS8KICAgIFhZYWJjZFkKIDA6IFhZYWJjZFkKIDE6IGEKIDI6IGIKIDM6IGMKIDQ6IGQKIDU6IFkKCi9eWCg/NykoYSkoP3woYnwocikocykpfChxKSkoYykoZCkoWSkvCiAgICBYWWFiY2RZCiAwOiBYWWFiY2RZCiAxOiBhCiAyOiBiCiAzOiA8dW5zZXQ+CiA0OiA8dW5zZXQ+CiA1OiBjCiA2OiBkCiA3OiBZCgovXlgoPzcpKGEpKD98KGJ8KD98KHIpfCh0KSkocykpfChxKSkoYykoZCkoWSkvCiAgICBYWWFiY2RZCiAwOiBYWWFiY2RZCiAxOiBhCiAyOiBiCiAzOiA8dW5zZXQ+CiA0OiA8dW5zZXQ+CiA1OiBjCiA2OiBkCiA3OiBZCgovKD8nYWJjJ1x3Kyk6XGs8YWJjPnsyfS8KICAgIGE6YWF4eXoKIDA6IGE6YWEKIDE6IGEKICAgIGFiOmFiYWJ4eXoKIDA6IGFiOmFiYWIKIDE6IGFiClw9IEV4cGVjdCBubyBtYXRjaAogICAgYTpheHl6Ck5vIG1hdGNoCiAgICBhYjphYnh5egpObyBtYXRjaAoKLyg/J2FiYydcdyspOlxne2FiY317Mn0vCiAgICBhOmFheHl6CiAwOiBhOmFhCiAxOiBhCiAgICBhYjphYmFieHl6CiAwOiBhYjphYmFiCiAxOiBhYgpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGE6YXh5egpObyBtYXRjaAogICAgYWI6YWJ4eXoKTm8gbWF0Y2gKCi9eKD88YWI+YSk/ICg/KDxhYj4pYnxjKSAoPygnYWInKWR8ZSkveAogICAgYWJkCiAwOiBhYmQKIDE6IGEKICAgIGNlCiAwOiBjZQoKL14oYS4pXGctMVovCiAgICBhWGFYWgogMDogYVhhWFoKIDE6IGFYCgovXihhLilcZ3stMX1aLwogICAgYVhhWFoKIDA6IGFYYVhaCiAxOiBhWAoKL14oPyhERUZJTkUpICg/PEE+IGEpICg/PEI+IGIpICkgICg/JkEpICg/JkIpIC94CiAgICBhYmNkCiAwOiBhYgoKLyg/PE5BTUU+KD8mTkFNRV9QQVQpKVxzKyg/PEFERFI+KD8mQUREUkVTU19QQVQpKQogICg/KERFRklORSkKICAoPzxOQU1FX1BBVD5bYS16XSspCiAgKD88QUREUkVTU19QQVQ+XGQrKQogICkveAogICAgbWV0Y2FsZmUgMzMKIDA6IG1ldGNhbGZlIDMzCiAxOiBtZXRjYWxmZQogMjogMzMKCi8oPyhERUZJTkUpKD88Ynl0ZT4yWzAtNF1cZHwyNVswLTVdfDFcZFxkfFsxLTldP1xkKSlcYig/JmJ5dGUpKFwuKD8mYnl0ZSkpezN9LwogICAgMS4yLjMuNAogMDogMS4yLjMuNAogMTogPHVuc2V0PgogMjogLjQKICAgIDEzMS4xMTEuMTAuMjA2CiAwOiAxMzEuMTExLjEwLjIwNgogMTogPHVuc2V0PgogMjogLjIwNgogICAgMTAuMC4wLjAKIDA6IDEwLjAuMC4wCiAxOiA8dW5zZXQ+CiAyOiAuMApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIDEwLjYKTm8gbWF0Y2gKICAgIDQ1NS4zLjQuNQpObyBtYXRjaAoKL1xiKD8mYnl0ZSkoXC4oPyZieXRlKSl7M30oPyhERUZJTkUpKD88Ynl0ZT4yWzAtNF1cZHwyNVswLTVdfDFcZFxkfFsxLTldP1xkKSkvCiAgICAxLjIuMy40CiAwOiAxLjIuMy40CiAxOiAuNAogICAgMTMxLjExMS4xMC4yMDYKIDA6IDEzMS4xMTEuMTAuMjA2CiAxOiAuMjA2CiAgICAxMC4wLjAuMAogMDogMTAuMC4wLjAKIDE6IC4wClw9IEV4cGVjdCBubyBtYXRjaAogICAgMTAuNgpObyBtYXRjaAogICAgNDU1LjMuNC41Ck5vIG1hdGNoCgovXihcdysrfFxzKyspKiQvCiAgICBub3cgaXMgdGhlIHRpbWUgZm9yIGFsbCBnb29kIG1lbiB0byBjb21lIHRvIHRoZSBhaWQgb2YgdGhlIHBhcnR5CiAwOiBub3cgaXMgdGhlIHRpbWUgZm9yIGFsbCBnb29kIG1lbiB0byBjb21lIHRvIHRoZSBhaWQgb2YgdGhlIHBhcnR5CiAxOiBwYXJ0eQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIHRoaXMgaXMgbm90IGEgbGluZSB3aXRoIG9ubHkgd29yZHMgYW5kIHNwYWNlcyEKTm8gbWF0Y2gKCi8oXGQrKykoXHcpLwogICAgMTIzNDVhCiAwOiAxMjM0NWEKIDE6IDEyMzQ1CiAyOiBhClw9IEV4cGVjdCBubyBtYXRjaAogICAgMTIzNDUrCk5vIG1hdGNoCgovYSsrYi8KICAgIGFhYWIKIDA6IGFhYWIKCi8oYSsrYikvCiAgICBhYWFiCiAwOiBhYWFiCiAxOiBhYWFiCgovKGErKyliLwogICAgYWFhYgogMDogYWFhYgogMTogYWFhCgovKFteKCldKyt8XChbXigpXSpcKSkrLwogICAgKChhYmMoYWRlKXVmaCgpKCl4CiAwOiBhYmMoYWRlKXVmaCgpKCl4CiAxOiB4CgovXCgoW14oKV0rK3xcKFteKCldK1wpKStcKS8KICAgIChhYmMpCiAwOiAoYWJjKQogMTogYWJjCiAgICAoYWJjKGRlZil4eXopCiAwOiAoYWJjKGRlZil4eXopCiAxOiB4eXoKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICAoKCgpYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEKTm8gbWF0Y2gKCi9eKFteKCldfFwoKD8xKSpcKSkqJC8KICAgIGFiYwogMDogYWJjCiAxOiBjCiAgICBhKGIpYwogMDogYShiKWMKIDE6IGMKICAgIGEoYihjKSlkCiAwOiBhKGIoYykpZAogMTogZApcPSBFeHBlY3Qgbm8gbWF0Y2gpCiAgICBhKGIoYylkCk5vIG1hdGNoCgovXj5hYmM+KFteKCldfFwoKD8xKSpcKSkqPHh5ejwkLwogICA+YWJjPjEyMzx4eXo8CiAwOiA+YWJjPjEyMzx4eXo8CiAxOiAzCiAgID5hYmM+MSgyKTM8eHl6PAogMDogPmFiYz4xKDIpMzx4eXo8CiAxOiAzCiAgID5hYmM+KDEoMikzKTx4eXo8CiAwOiA+YWJjPigxKDIpMyk8eHl6PAogMTogKDEoMikzKQoKL14oPzooKC4pKD8xKVwyfCl8KCguKSg/MylcNHwuKSkkL2kKICAgIDEyMjEKIDA6IDEyMjEKIDE6IDEyMjEKIDI6IDEKICAgIFNhdGFub3NjaWxsYXRlbXltZXRhbGxpY3NvbmF0YXMKIDA6IFNhdGFub3NjaWxsYXRlbXltZXRhbGxpY3NvbmF0YXMKIDE6IDx1bnNldD4KIDI6IDx1bnNldD4KIDM6IFNhdGFub3NjaWxsYXRlbXltZXRhbGxpY3NvbmF0YXMKIDQ6IFMKICAgIEFtYW5hcGxhbmFjYW5hbFBhbmFtYQogMDogQW1hbmFwbGFuYWNhbmFsUGFuYW1hCiAxOiA8dW5zZXQ+CiAyOiA8dW5zZXQ+CiAzOiBBbWFuYXBsYW5hY2FuYWxQYW5hbWEKIDQ6IEEKICAgIEFibGV3YXNJZXJlSXNhd0VsYmEKIDA6IEFibGV3YXNJZXJlSXNhd0VsYmEKIDE6IDx1bnNldD4KIDI6IDx1bnNldD4KIDM6IEFibGV3YXNJZXJlSXNhd0VsYmEKIDQ6IEEKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBUaGVxdWlja2Jyb3duZm94Ck5vIG1hdGNoCgovXihcZCt8XCgoPzEpKFsrKi1dKSg/MSlcKXwtKD8xKSkkLwogICAgMTIKIDA6IDEyCiAxOiAxMgogICAgKCgoMisyKSotMyktNykKIDA6ICgoKDIrMikqLTMpLTcpCiAxOiAoKCgyKzIpKi0zKS03KQogMjogLQogICAgLTEyCiAwOiAtMTIKIDE6IC0xMgpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgICgoMisyKSotMyktNykKTm8gbWF0Y2gKCi9eKHgoeXwoPzEpezJ9KXopLwogICAgeHl6CiAwOiB4eXoKIDE6IHh5egogMjogeQogICAgeHh5enh5enoKIDA6IHh4eXp4eXp6CiAxOiB4eHl6eHl6egogMjogeHl6eHl6Clw9IEV4cGVjdCBubyBtYXRjaAogICAgeHh5enoKTm8gbWF0Y2gKICAgIHh4eXp4eXp4eXp6Ck5vIG1hdGNoCgovKCg8ICg/OiAoPyhSKSBcZCsrICB8IFtePD5dKispIHwgKD8yKSkgKiA+KSkveAogICAgPD4KIDA6IDw+CiAxOiA8PgogMjogPD4KICAgIDxhYmNkPgogMDogPGFiY2Q+CiAxOiA8YWJjZD4KIDI6IDxhYmNkPgogICAgPGFiYyA8MTIzPiBoaWo+CiAwOiA8YWJjIDwxMjM+IGhpaj4KIDE6IDxhYmMgPDEyMz4gaGlqPgogMjogPGFiYyA8MTIzPiBoaWo+CiAgICA8YWJjIDxkZWY+IGhpaj4KIDA6IDxkZWY+CiAxOiA8ZGVmPgogMjogPGRlZj4KICAgIDxhYmM8PmRlZj4KIDA6IDxhYmM8PmRlZj4KIDE6IDxhYmM8PmRlZj4KIDI6IDxhYmM8PmRlZj4KICAgIDxhYmM8PgogMDogPD4KIDE6IDw+CiAyOiA8PgpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIDxhYmMKTm8gbWF0Y2gKCi9eYSsoKkZBSUwpLwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFhYWFhYQpObyBtYXRjaAogICAgCi9hK2I/YysoKkZBSUwpLwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFhYWJjY2MKTm8gbWF0Y2gKCi9hK2I/KCpQUlVORSljKygqRkFJTCkvClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWFhYmNjYwpObyBtYXRjaAoKL2ErYj8oKkNPTU1JVCljKygqRkFJTCkvClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWFhYmNjYwpObyBtYXRjaAogICAgCi9hK2I/KCpTS0lQKWMrKCpGQUlMKS8KXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYWFiY2NjYWFhYmNjYwpObyBtYXRjaAoKL14oPzphYWEoKlRIRU4pXHd7Nn18YmJiKCpUSEVOKVx3ezV9fGNjYygqVEhFTilcd3s0fXxcd3szfSkvCiAgICBhYWF4eHh4eHgKIDA6IGFhYXh4eHh4eAogICAgYWFhKysrKysrIAogMDogYWFhCiAgICBiYmJ4eHh4eAogMDogYmJieHh4eHgKICAgIGJiYisrKysrIAogMDogYmJiCiAgICBjY2N4eHh4CiAwOiBjY2N4eHh4CiAgICBjY2MrKysrIAogMDogY2NjCiAgICBkZGRkZGRkZCAgIAogMDogZGRkCgovXihhYWEoKlRIRU4pXHd7Nn18YmJiKCpUSEVOKVx3ezV9fGNjYygqVEhFTilcd3s0fXxcd3szfSkvCiAgICBhYWF4eHh4eHgKIDA6IGFhYXh4eHh4eAogMTogYWFheHh4eHh4CiAgICBhYWErKysrKysgCiAwOiBhYWEKIDE6IGFhYQogICAgYmJieHh4eHgKIDA6IGJiYnh4eHh4CiAxOiBiYmJ4eHh4eAogICAgYmJiKysrKysgCiAwOiBiYmIKIDE6IGJiYgogICAgY2NjeHh4eAogMDogY2NjeHh4eAogMTogY2NjeHh4eAogICAgY2NjKysrKyAKIDA6IGNjYwogMTogY2NjCiAgICBkZGRkZGRkZCAgIAogMDogZGRkCiAxOiBkZGQKCi9hK2I/KCpUSEVOKWMrKCpGQUlMKS8KXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYWFiY2NjCk5vIG1hdGNoCgovKEEgKEF8QigqQUNDRVBUKXxDKSBEKShFKS94CiAgICBBQgogMDogQUIKIDE6IEFCCiAyOiBCCiAgICBBQlgKIDA6IEFCCiAxOiBBQgogMjogQgogICAgQUFERQogMDogQUFERQogMTogQUFECiAyOiBBCiAzOiBFCiAgICBBQ0RFCiAwOiBBQ0RFCiAxOiBBQ0QKIDI6IEMKIDM6IEUKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBBRCAKTm8gbWF0Y2gKICAgICAgICAKL15cVyorKD86KCguKVxXKisoPzEpXFcqK1wyfCl8KCguKVxXKisoPzMpXFcqK1w0fFxXKisuXFcqKykpXFcqKyQvaQogICAgMTIyMQogMDogMTIyMQogMTogMTIyMQogMjogMQogICAgU2F0YW4sIG9zY2lsbGF0ZSBteSBtZXRhbGxpYyBzb25hdGFzIQogMDogU2F0YW4sIG9zY2lsbGF0ZSBteSBtZXRhbGxpYyBzb25hdGFzIQogMTogPHVuc2V0PgogMjogPHVuc2V0PgogMzogU2F0YW4sIG9zY2lsbGF0ZSBteSBtZXRhbGxpYyBzb25hdGFzCiA0OiBTCiAgICBBIG1hbiwgYSBwbGFuLCBhIGNhbmFsOiBQYW5hbWEhCiAwOiBBIG1hbiwgYSBwbGFuLCBhIGNhbmFsOiBQYW5hbWEhCiAxOiA8dW5zZXQ+CiAyOiA8dW5zZXQ+CiAzOiBBIG1hbiwgYSBwbGFuLCBhIGNhbmFsOiBQYW5hbWEKIDQ6IEEKICAgIEFibGUgd2FzIEkgZXJlIEkgc2F3IEVsYmEuCiAwOiBBYmxlIHdhcyBJIGVyZSBJIHNhdyBFbGJhLgogMTogPHVuc2V0PgogMjogPHVuc2V0PgogMzogQWJsZSB3YXMgSSBlcmUgSSBzYXcgRWxiYQogNDogQQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIFRoZSBxdWljayBicm93biBmb3gKTm8gbWF0Y2gKCi9eKCguKSg/MSlcMnwuKSQvCiAgICBhCiAwOiBhCiAxOiBhCiAgICBhYmEKIDA6IGFiYQogMTogYWJhCiAyOiBhCiAgICBhYWJhYSAgCiAwOiBhYWJhYQogMTogYWFiYWEKIDI6IGEKICAgIGFiY2RjYmEgCiAwOiBhYmNkY2JhCiAxOiBhYmNkY2JhCiAyOiBhCiAgICBwcWFhYmFhcXAgIAogMDogcHFhYWJhYXFwCiAxOiBwcWFhYmFhcXAKIDI6IHAKICAgIGFibGV3YXNpZXJlaXNhd2VsYmEKIDA6IGFibGV3YXNpZXJlaXNhd2VsYmEKIDE6IGFibGV3YXNpZXJlaXNhd2VsYmEKIDI6IGEKXD0gRXhwZWN0IG5vIG1hdGNoICAgICAKICAgIHJodWJhcmIKTm8gbWF0Y2gKICAgIHRoZSBxdWljayBicm93biBmb3ggIApObyBtYXRjaAoKLyhhKSg/PD1iKD8xKSkvCiAgICBiYXoKIDA6IGEKIDE6IGEKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBjYXogIApObyBtYXRjaAogICAgCi8oPzw9Yig/MSkpKGEpLwogICAgemJhYXoKIDA6IGEKIDE6IGEKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYWEgIApObyBtYXRjaAogICAgCi8oPzxYPmEpKD88PWIoPyZYKSkvCiAgICBiYXoKIDA6IGEKIDE6IGEKCi9eKD98KGFiYyl8KGRlZikpXDEvCiAgICBhYmNhYmMKIDA6IGFiY2FiYwogMTogYWJjCiAgICBkZWZkZWYgCiAwOiBkZWZkZWYKIDE6IGRlZgpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFiY2RlZgpObyBtYXRjaAogICAgZGVmYWJjICAgCk5vIG1hdGNoCiAgICAKL14oP3woYWJjKXwoZGVmKSkoPzEpLwogICAgYWJjYWJjCiAwOiBhYmNhYmMKIDE6IGFiYwogICAgZGVmYWJjCiAwOiBkZWZhYmMKIDE6IGRlZgpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGRlZmRlZgpObyBtYXRjaAogICAgYWJjZGVmICAgIApObyBtYXRjaAoKLyg/OmEoPzxxdW90ZT4gKD88YXBvc3Ryb3BoZT4nKXwoPzxyZWFscXVvdGU+IikpIHxiKD88cXVvdGU+ICg/PGFwb3N0cm9waGU+Jyl8KD88cmVhbHF1b3RlPiIpKSApICg/KCdxdW90ZScpW2Etel0rfFswLTldKykveCxkdXBuYW1lcwogICAgYVwiYWFhYWEKIDA6IGEiYWFhYWEKIDE6ICIKIDI6IDx1bnNldD4KIDM6ICIKICAgIGJcImFhYWFhIAogMDogYiJhYWFhYQogMTogPHVuc2V0PgogMjogPHVuc2V0PgogMzogPHVuc2V0PgogNDogIgogNTogPHVuc2V0PgogNjogIgpcPSBFeHBlY3Qgbm8gbWF0Y2ggCiAgICBiXCIxMTExMQpObyBtYXRjaAoKLyg/Oig/MSl8QikoQSgqRil8QykvCiAgICBBQkNECiAwOiBCQwogMTogQwogICAgQ0NECiAwOiBDQwogMTogQwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIENBRCAgIApObyBtYXRjaAoKL14oPzooPzEpfEIpKEEoKkYpfEMpLwogICAgQ0NECiAwOiBDQwogMTogQwogICAgQkNEIAogMDogQkMKIDE6IEMKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBBQkNECk5vIG1hdGNoCiAgICBDQUQKTm8gbWF0Y2gKICAgIEJBRCAgICAKTm8gbWF0Y2gKCi8oPzooPzEpfEIpKEEoKkFDQ0VQVClYWHxDKUQvCiAgICBBQUQKIDA6IEFBCiAxOiBBCiAgICBBQ0QKIDA6IEFDRAogMTogQwogICAgQkFECiAwOiBCQQogMTogQQogICAgQkNECiAwOiBCQ0QKIDE6IEMKICAgIEJBWCAgCiAwOiBCQQogMTogQQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIEFDWApObyBtYXRjaAogICAgQUJDICAgCk5vIG1hdGNoCgovKD8oREVGSU5FKShBKSlCKD8xKUMvCiAgICBCQUMKIDA6IEJBQwoKLyg/KERFRklORSkoKEEpXDIpKUIoPzEpQy8KICAgIEJBQUMKIDA6IEJBQUMKCi8oPzxwbj4gXCggKCBbXigpXSsrIHwgKD8mcG4pICkqIFwpICkveAogICAgKGFiKGNkKWVmKQogMDogKGFiKGNkKWVmKQogMTogKGFiKGNkKWVmKQogMjogZWYKCi9eKD89YSgqU0tJUClifGFjKS8KXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYwpObyBtYXRjaAogICAgCi9eKD89YSgqUFJVTkUpYikvCiAgICBhYiAgCiAwOiAKXD0gRXhwZWN0IG5vIG1hdGNoIAogICAgYWMKTm8gbWF0Y2gKCi9eKD89YSgqQUNDRVBUKWIpLwogICAgYWMKIDA6IAoKLyg/PmFcS2IpLwogICAgYWIKIDA6IGIKCi8oKD8+YVxLYikpLwogICAgYWIKIDA6IGIKIDE6IGFiCgovKGFcS2IpLwogICAgYWIKIDA6IGIKIDE6IGFiCiAgICAKL15hXEtjenxhYy8KICAgIGFjCiAwOiBhYwogICAgCi8oPz5hXEtienxhYikvCiAgICBhYiAKIDA6IGFiCgovXig/JnQpKD8oREVGSU5FKSg/PHQ+YVxLYikpJC8KICAgIGFiCiAwOiBiCgovXihbXigpXXxcKCg/MSkqXCkpKiQvCiAgICBhKGIpYwogMDogYShiKWMKIDE6IGMKICAgIGEoYihjKWQpZSAKIDA6IGEoYihjKWQpZQogMTogZQoKLyg/UDxMMT4oP1A8TDI+MCkoP1A+TDEpfCg/UD5MMikpLwogICAgMAogMDogMAogMTogMAogICAgMDAKIDA6IDAwCiAxOiAwMAogMjogMAogICAgMDAwMCAgCiAwOiAwMDAwCiAxOiAwMDAwCiAyOiAwCgovKD9QPEwxPig/UDxMMj4wKXwoP1A+TDIpKD9QPkwxKSkvCiAgICAwCiAwOiAwCiAxOiAwCiAyOiAwCiAgICAwMAogMDogMAogMTogMAogMjogMAogICAgMDAwMCAgCiAwOiAwCiAxOiAwCiAyOiAwCgojIFRoaXMgb25lIGRvZXMgZmFpbCwgYXMgZXhwZWN0ZWQsIGluIFBlcmwuIEl0IG5lZWRzIHRoZSBjb21wbGV4IGl0ZW0gYXQgdGhlCiMgZW5kIG9mIHRoZSBwYXR0ZXJuLiBBIHNpbmdsZSBsZXR0ZXIgaW5zdGVhZCBvZiAoQnxEKSBtYWtlcyBpdCBub3QgZmFpbCwgd2hpY2gKIyBJIHRoaW5rIGlzIGEgUGVybCBidWcuCgovQSgqQ09NTUlUKShCfEQpLwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIEFDQUJYCk5vIG1hdGNoCgojIENoZWNrIHRoZSB1c2Ugb2YgbmFtZXMgZm9yIGZhaWx1cmUKCi9eKEEoKlBSVU5FOkEpQnxDKCpQUlVORTpCKUQpL21hcmsKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBBQwpObyBtYXRjaCwgbWFyayA9IEEKICAgIENCICAgIApObyBtYXRjaCwgbWFyayA9IEIKICAgIAovKCpNQVJLOkEpKCpTS0lQOkIpKEN8WCkvbWFyawogICAgQwogMDogQwogMTogQwpNSzogQQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIEQKTm8gbWF0Y2gsIG1hcmsgPSBBCiAgICAgCi9eKEEoKlRIRU46QSlCfEMoKlRIRU46QilEKS9tYXJrClw9IEV4cGVjdCBubyBtYXRjaAogICAgQ0IgICAgCk5vIG1hdGNoLCBtYXJrID0gQgoKL14oPzpBKCpUSEVOOkEpQnxDKCpUSEVOOkIpRCkvbWFyawpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIENCICAgIApObyBtYXRjaCwgbWFyayA9IEIKICAgIAovXig/PkEoKlRIRU46QSlCfEMoKlRIRU46QilEKS9tYXJrClw9IEV4cGVjdCBubyBtYXRjaAogICAgQ0IgICAgCk5vIG1hdGNoLCBtYXJrID0gQgogICAgCiMgVGhpcyBzaG91bGQgc3VjY2VlZCwgYXMgdGhlIHNraXAgY2F1c2VzIGJ1bXAgdG8gb2Zmc2V0IDEgKHRoZSBtYXJrKS4gTm90ZQojIHRoYXQgd2UgaGF2ZSB0byBoYXZlIHNvbWV0aGluZyBjb21wbGljYXRlZCBzdWNoIGFzIChCfFopIGF0IHRoZSBlbmQgYmVjYXVzZSwKIyBmb3IgUGVybCwgYSBzaW1wbGUgY2hhcmFjdGVyIHNvbWVob3cgY2F1c2VzIGFuIHVud2FudGVkIG9wdGltaXphdGlvbiB0byBtZXNzCiMgd2l0aCB0aGUgaGFuZGxpbmcgb2YgYmFja3RyYWNraW5nIHZlcmJzLgoKL0EoKk1BUks6QSlBKygqU0tJUDpBKShCfFopIHwgQUMveCxtYXJrCiAgICBBQUFDCiAwOiBBQwogICAgCiMgVGVzdCBza2lwcGluZyBvdmVyIGEgbm9uLW1hdGNoaW5nIG1hcmsuCgovQSgqTUFSSzpBKUErKCpNQVJLOkIpKCpTS0lQOkEpKEJ8WikgfCBBQy94LG1hcmsKICAgIEFBQUMKIDA6IEFDCiAgICAKIyBDaGVjayBzaG9ydGhhbmQgZm9yIE1BUksuCgovQSgqOkEpQSsoKlNLSVA6QSkoQnxaKSB8IEFDL3gsbWFyawogICAgQUFBQwogMDogQUMKCi8oKjpBKUErKCpTS0lQOkEpKEJ8WikvbWFyawpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIEFBQUMKTm8gbWF0Y2gsIG1hcmsgPSBBCgojIFRoaXMgc2hvdWxkIHN1Y2NlZWQsIGFzIGEgbm9uLWV4aXN0ZW50IHNraXAgbmFtZSBkaXNhYmxlcyB0aGUgc2tpcC4KCi9BKCpNQVJLOkEpQSsoKlNLSVA6QikoQnxaKSB8IEFDL3gsbWFyawogICAgQUFBQwogMDogQUMKCi9BKCpNQVJLOkEpQSsoKlNLSVA6QikoQnxaKSB8IEFDKCo6QikveCxtYXJrCiAgICBBQUFDCiAwOiBBQwpNSzogQgoKIyBDT01NSVQgYXQgdGhlIHN0YXJ0IG9mIGEgcGF0dGVybiBzaG91bGQgYWN0IGxpa2UgYW4gYW5jaG9yLiBBZ2FpbiwgaG93ZXZlciwKIyB3ZSBuZWVkIHRoZSBjb21wbGljYXRpb24gZm9yIFBlcmwuCgovKCpDT01NSVQpKEF8UCkoQnxQKShDfFApLwogICAgQUJDREVGRwogMDogQUJDCiAxOiBBCiAyOiBCCiAzOiBDClw9IEV4cGVjdCBubyBtYXRjaAogICAgREVGR0FCQyAgCk5vIG1hdGNoCgojIENPTU1JVCBpbnNpZGUgYW4gYXRvbWljIGdyb3VwIGNhbid0IHN0b3AgYmFja3RyYWNraW5nIG92ZXIgdGhlIGdyb3VwLgoKLyhcdyspKD8+YigqQ09NTUlUKSlcd3syfS8KICAgIGFiYmIKIDA6IGFiYmIKIDE6IGEKCi8oXHcrKWIoKkNPTU1JVClcd3syfS8KXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYmJiCk5vIG1hdGNoCgojIENoZWNrIG9wZW5pbmcgcGFyZW5zIGluIGNvbW1lbnQgd2hlbiBzZWVraW5nIGZvcndhcmQgcmVmZXJlbmNlLgoKLyg/JnQpKD8jKCkoPyhERUZJTkUpKD88dD5hKSkvCiAgICBiYWMKIDA6IGEKCiMgQ09NTUlUIHNob3VsZCBvdmVycmlkZSBUSEVOLgoKLyg/PigqQ09NTUlUKSg/Pnllc3xubykoKlRIRU4pKCpGKSk/LwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICB5ZXMKTm8gbWF0Y2gKCi8oPz4oKkNPTU1JVCkoeWVzfG5vKSgqVEhFTikoKkYpKT8vClw9IEV4cGVjdCBubyBtYXRjaAogIHllcwpObyBtYXRjaAoKL2I/KCpTS0lQKWMvCiAgICBiYwogMDogYmMKICAgIGFiYwogMDogYmMKICAgCi8oKlNLSVApYmMvClw9IEV4cGVjdCBubyBtYXRjaAogICAgYQpObyBtYXRjaAoKLygqU0tJUCliLwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGEgCk5vIG1hdGNoCgovKD9QPGFibj4oP1A9YWJuKXh4eHwpKy8KICAgIHh4eAogMDogCiAxOiAKCi8oP2k6KFteYl0pKSg/MSkvCiAgICBhYQogMDogYWEKIDE6IGEKICAgIGFBICAgICAKIDA6IGFBCiAxOiBhClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWIKTm8gbWF0Y2gKICAgIGFCCk5vIG1hdGNoCiAgICBCYQpObyBtYXRjaAogICAgYmEKTm8gbWF0Y2gKCi9eKD8mdCkqKyg/KERFRklORSkoPzx0PmEpKVx3JC8KICAgIGFhYWFhYVgKIDA6IGFhYWFhYVgKXD0gRXhwZWN0IG5vIG1hdGNoIAogICAgYWFhYWFhIApObyBtYXRjaAoKL14oPyZ0KSooPyhERUZJTkUpKD88dD5hKSlcdyQvCiAgICBhYWFhYWFYCiAwOiBhYWFhYWFYCiAgICBhYWFhYWEgCiAwOiBhYWFhYWEKCi9eKGEpKisoXHcpLwogICAgYWFhYVgKIDA6IGFhYWFYCiAxOiBhCiAyOiBYCiAgICBZWiAKIDA6IFkKIDE6IDx1bnNldD4KIDI6IFkKXD0gRXhwZWN0IG5vIG1hdGNoIAogICAgYWFhYQpObyBtYXRjaAoKL14oPzphKSorKFx3KS8KICAgIGFhYWFYCiAwOiBhYWFhWAogMTogWAogICAgWVogCiAwOiBZCiAxOiBZClw9IEV4cGVjdCBubyBtYXRjaCAKICAgIGFhYWEKTm8gbWF0Y2gKCi9eKGEpKysoXHcpLwogICAgYWFhYVgKIDA6IGFhYWFYCiAxOiBhCiAyOiBYClw9IEV4cGVjdCBubyBtYXRjaCAKICAgIGFhYWEKTm8gbWF0Y2gKICAgIFlaIApObyBtYXRjaAoKL14oPzphKSsrKFx3KS8KICAgIGFhYWFYCiAwOiBhYWFhWAogMTogWApcPSBFeHBlY3Qgbm8gbWF0Y2ggCiAgICBhYWFhCk5vIG1hdGNoCiAgICBZWiAKTm8gbWF0Y2gKCi9eKGEpPysoXHcpLwogICAgYWFhYVgKIDA6IGFhCiAxOiBhCiAyOiBhCiAgICBZWiAKIDA6IFkKIDE6IDx1bnNldD4KIDI6IFkKCi9eKD86YSk/KyhcdykvCiAgICBhYWFhWAogMDogYWEKIDE6IGEKICAgIFlaIAogMDogWQogMTogWQoKL14oYSl7Mix9KyhcdykvCiAgICBhYWFhWAogMDogYWFhYVgKIDE6IGEKIDI6IFgKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYWEKTm8gbWF0Y2gKICAgIFlaIApObyBtYXRjaAoKL14oPzphKXsyLH0rKFx3KS8KICAgIGFhYWFYCiAwOiBhYWFhWAogMTogWApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFhYQpObyBtYXRjaAogICAgWVogCk5vIG1hdGNoCgovKGF8KSooPzEpYi8KICAgIGIKIDA6IGIKIDE6IAogICAgYWIKIDA6IGFiCiAxOiAKICAgIGFhYiAgCiAwOiBhYWIKIDE6IAoKLyhhKSsrKD8xKWIvClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWIgCk5vIG1hdGNoCiAgICBhYWIKTm8gbWF0Y2gKCi8oYSkqKyg/MSliLwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFiCk5vIG1hdGNoCiAgICBhYWIgIApObyBtYXRjaAoKLyg/MSkoPzooYikpezB9LwogICAgYgogMDogYgoKLyhmb28gKCBcKCAoKD86KD8+IFteKCldKyApfCg/MikpKikgXCkgKSApL3gKICAgIGZvbyhiYXIoYmF6KStiYXooYm9wKSkKIDA6IGZvbyhiYXIoYmF6KStiYXooYm9wKSkKIDE6IGZvbyhiYXIoYmF6KStiYXooYm9wKSkKIDI6IChiYXIoYmF6KStiYXooYm9wKSkKIDM6IGJhcihiYXopK2Jheihib3ApCgovKEEgKEF8QigqQUNDRVBUKXxDKSBEKShFKS94CiAgICBBQgogMDogQUIKIDE6IEFCCiAyOiBCCgovXEEuKj8oYXxiYykvCiAgICBiYQogMDogYmEKIDE6IGEKCi9cQS4qPyg/OmF8YmMpKysvCiAgICBiYQogMDogYmEKCi9cQS4qPyhhfGJjKSsrLwogICAgYmEKIDA6IGJhCiAxOiBhCgovXEEuKj8oPzphfGJjfGQpLwogICAgYmEKIDA6IGJhCgovKD86KGIpKSsrLwogICAgYmVldGxlCiAwOiBiCiAxOiBiCgovKD8oPz0oYSgqQUNDRVBUKXopKWEpLwogICAgYQogMDogYQogMTogYQoKL14oYSkoPzEpK2FiLwogICAgYWFhYWIKIDA6IGFhYWFiCiAxOiBhCiAgICAKL14oYSkoPzEpKythYi8KXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYWFhYgpObyBtYXRjaAoKL14oPz1hKCo6TSkpYVovbWFyawogICAgYVpiYwogMDogYVoKTUs6IE0KCi9eKD8hKCo6TSliKWFaL21hcmsKICAgIGFaYmMKIDA6IGFaCgovKD8oREVGSU5FKShhKSk/Yig/MSkvCiAgICBiYWNrZ2FtbW9uCiAwOiBiYQoKL15cTisvCiAgICBhYmNcbmRlZgogMDogYWJjCiAgICAKL15cTnsxLH0vCiAgICBhYmNcbmRlZiAKIDA6IGFiYwoKLyg/KFIpYSt8KD9SKWIpLwogICAgYWFhYWJjZGUKIDA6IGFhYWFiCgovKD8oUilhK3woKD9SKSliKS8KICAgIGFhYWFiY2RlCiAwOiBhYWFhYgogMTogYWFhYQoKLygoPyhSKWErfCg/MSliKSkvCiAgICBhYWFhYmNkZQogMDogYWFhYWIKIDE6IGFhYWFiCgovKCg/KFIxKWErfCg/MSliKSkvCiAgICBhYWFhYmNkZQogMDogYWFhYWIKIDE6IGFhYWFiCiAgICAKLygoPyhSKWF8KD8xKSkpKi8KICAgIGFhYQogMDogYWFhCiAxOiBhCgovKCg/KFIpYXwoPzEpKSkrLwogICAgYWFhIAogMDogYWFhCiAxOiBhCgovYSgqOmFueSAKbmFtZSkvbWFyawogICAgYWJjCiAwOiBhCk1LOiBhbnkgXHgwYW5hbWUKICAgIAovKD8+KD8mdCljfCg/JnQpKSg/KERFRklORSkoPzx0PmF8YigqUFJVTkUpYykpLwogICAgYQogMDogYQogICAgYmEKIDA6IGEKICAgIGJiYSAKIDA6IGEKICAgIAojIENoZWNraW5nIHJldmlzZWQgKCpUSEVOKSBoYW5kbGluZy4KCiMgQ2FwdHVyZQoKL14uKj8gKGEoKlRIRU4pYikgYy94Clw9IEV4cGVjdCBubyBtYXRjaAogICAgYWFiYwpObyBtYXRjaAoKL14uKj8gKGEoKlRIRU4pYnwoKkYpKSBjL3gKICAgIGFhYmMKIDA6IGFhYmMKIDE6IGFiCgovXi4qPyAoIChhKCpUSEVOKWIpIHwgKCpGKSApIGMveAogICAgYWFiYwogMDogYWFiYwogMTogYWIKIDI6IGFiCgovXi4qPyAoIChhKCpUSEVOKWIpICkgYy94Clw9IEV4cGVjdCBubyBtYXRjaAogICAgYWFiYwpObyBtYXRjaAoKIyBOb24tY2FwdHVyZQoKL14uKj8gKD86YSgqVEhFTiliKSBjL3gKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYWJjCk5vIG1hdGNoCgovXi4qPyAoPzphKCpUSEVOKWJ8KCpGKSkgYy94CiAgICBhYWJjCiAwOiBhYWJjCgovXi4qPyAoPzogKD86YSgqVEhFTiliKSB8ICgqRikgKSBjL3gKICAgIGFhYmMKIDA6IGFhYmMKCi9eLio/ICg/OiAoPzphKCpUSEVOKWIpICkgYy94Clw9IEV4cGVjdCBubyBtYXRjaAogICAgYWFiYwpObyBtYXRjaAoKIyBBdG9taWMKCi9eLio/ICg/PmEoKlRIRU4pYikgYy94Clw9IEV4cGVjdCBubyBtYXRjaAogICAgYWFiYwpObyBtYXRjaAoKL14uKj8gKD8+YSgqVEhFTilifCgqRikpIGMveAogICAgYWFiYwogMDogYWFiYwoKL14uKj8gKD8+ICg/PmEoKlRIRU4pYikgfCAoKkYpICkgYy94CiAgICBhYWJjCiAwOiBhYWJjCgovXi4qPyAoPz4gKD8+YSgqVEhFTiliKSApIGMveApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFhYmMKTm8gbWF0Y2gKCiMgUG9zc2Vzc2l2ZSBjYXB0dXJlCgovXi4qPyAoYSgqVEhFTiliKSsrIGMveApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFhYmMKTm8gbWF0Y2gKCi9eLio/IChhKCpUSEVOKWJ8KCpGKSkrKyBjL3gKICAgIGFhYmMKIDA6IGFhYmMKIDE6IGFiCgovXi4qPyAoIChhKCpUSEVOKWIpKysgfCAoKkYpICkrKyBjL3gKICAgIGFhYmMKIDA6IGFhYmMKIDE6IGFiCiAyOiBhYgoKL14uKj8gKCAoYSgqVEhFTiliKSsrICkrKyBjL3gKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYWJjCk5vIG1hdGNoCgojIFBvc3Nlc3NpdmUgbm9uLWNhcHR1cmUKCi9eLio/ICg/OmEoKlRIRU4pYikrKyBjL3gKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYWJjCk5vIG1hdGNoCgovXi4qPyAoPzphKCpUSEVOKWJ8KCpGKSkrKyBjL3gKICAgIGFhYmMKIDA6IGFhYmMKCi9eLio/ICg/OiAoPzphKCpUSEVOKWIpKysgfCAoKkYpICkrKyBjL3gKICAgIGFhYmMKIDA6IGFhYmMKCi9eLio/ICg/OiAoPzphKCpUSEVOKWIpKysgKSsrIGMveApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFhYmMKTm8gbWF0Y2gKICAgIAojIENvbmRpdGlvbiBhc3NlcnRpb24KCi9eKD8oPz1hKCpUSEVOKWIpYWJ8YWMpLwogICAgYWMKIDA6IGFjCiAKIyBDb25kaXRpb24KCi9eLio/KD8oPz1hKWF8YigqVEhFTiljKS8KXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBiYQpObyBtYXRjaAoKL14uKj8oPzooPyg/PWEpYXxiKCpUSEVOKWMpfGQpLwogICAgYmEKIDA6IGJhCgovXi4qPyg/KD89YSlhKCpUSEVOKWJ8YykvClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWMKTm8gbWF0Y2gKCiMgQXNzZXJ0aW9uCgovXi4qKD89YSgqVEhFTiliKS8KICAgIGFhYmMKIDA6IGEKCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCi8oPz5hKCo6bSkpL2ltc3gsbWFyawogICAgYQogMDogYQpNSzogbQoKLyg/PihhKSgqOm0pKS9pbXN4LG1hcmsKICAgIGEKIDA6IGEKIDE6IGEKTUs6IG0KCi8oPzw9YSgqQUNDRVBUKWIpYy8KICAgIHhhY2QKIDA6IGMKCi8oPzw9KGEoKkFDQ0VQVCliKSljLwogICAgeGFjZAogMDogYwogMTogYQoKLyg/PD0oYSgqQ09NTUlUKWIpKWMvCiAgICB4YWJjZAogMDogYwogMTogYWIKXD0gRXhwZWN0IG5vIG1hdGNoIAogICAgeGFjZApObyBtYXRjaAogICAgCi8oPzwhYSgqRkFJTCliKWMvCiAgICB4Y2QKIDA6IGMKICAgIGFjZCAKIDA6IGMKCi8oPzw9YSgqOk4pYiljL21hcmsKICAgIHhhYmNkCiAwOiBjCk1LOiBOCiAgICAKLyg/PD1hKCpQUlVORSliKWMvCiAgICB4YWJjZCAKIDA6IGMKCi8oPzw9YSgqU0tJUCliKWMvCiAgICB4YWJjZCAKIDA6IGMKCi8oPzw9YSgqVEhFTiliKWMvCiAgICB4YWJjZCAKIDA6IGMKCi8oYSkoPzIpezJ9KC4pLwogICAgYWJjZAogMDogYWJjZAogMTogYQogMjogZAoKLygqTUFSSzpBKSgqUFJVTkU6QikoQ3xYKS9tYXJrCiAgICBDCiAwOiBDCiAxOiBDCk1LOiBCClw9IEV4cGVjdCBubyBtYXRjaAogICAgRCAKTm8gbWF0Y2gsIG1hcmsgPSBCCgovKCpNQVJLOkEpKCpQUlVORTpCKShDfFgpL21hcmsKICAgIEMKIDA6IEMKIDE6IEMKTUs6IEIKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBEIApObyBtYXRjaCwgbWFyayA9IEIKCi8oKk1BUks6QSkoKlRIRU46QikoQ3xYKS9tYXJrCiAgICBDCiAwOiBDCiAxOiBDCk1LOiBCClw9IEV4cGVjdCBubyBtYXRjaAogICAgRCAKTm8gbWF0Y2gsIG1hcmsgPSBCCgovKCpNQVJLOkEpKCpUSEVOOkIpKEN8WCkvbWFyayxub19zdGFydF9vcHRpbWl6ZQogICAgQwogMDogQwogMTogQwpNSzogQgpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIEQgCk5vIG1hdGNoLCBtYXJrID0gQgoKLygqTUFSSzpBKSgqVEhFTjpCKShDfFgpL21hcmsKICAgIEMKIDA6IEMKIDE6IEMKTUs6IEIKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBEIApObyBtYXRjaCwgbWFyayA9IEIKCiMgVGhpcyBzaG91bGQgZmFpbCwgYXMgdGhlIHNraXAgY2F1c2VzIGEgYnVtcCB0byBvZmZzZXQgMyAodGhlIHNraXApLgoKL0EoKk1BUks6QSlBKygqU0tJUCkoQnxaKSB8IEFDL3gsbWFyawpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIEFBQUMKTm8gbWF0Y2gsIG1hcmsgPSBBCgojIFNhbWUgCgovQSgqTUFSSzpBKUErKCpNQVJLOkIpKCpTS0lQOkIpKEJ8WikgfCBBQy94LG1hcmsKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBBQUFDCk5vIG1hdGNoLCBtYXJrID0gQgoKL0EoKjpBKUErKCpTS0lQKShCfFopIHwgQUMveCxtYXJrClw9IEV4cGVjdCBubyBtYXRjaAogICAgQUFBQwpObyBtYXRjaCwgbWFyayA9IEEKCiMgVGhpcyBzaG91bGQgZmFpbCwgYXMgYSBudWxsIG5hbWUgaXMgdGhlIHNhbWUgYXMgbm8gbmFtZS4KCi9BKCpNQVJLOkEpQSsoKlNLSVA6KShCfFopIHwgQUMveCxtYXJrClw9IEV4cGVjdCBubyBtYXRjaAogICAgQUFBQwpObyBtYXRjaCwgbWFyayA9IEEKCiMgQSBjaGVjayBvbiB3aGF0IGhhcHBlbnMgYWZ0ZXIgaGl0dGluZyBhIG1hcmsgYW5kIHRoZW0gYnVtcGluZyBhbG9uZyB0bwojIHNvbWV0aGluZyB0aGF0IGRvZXMgbm90IGV2ZW4gc3RhcnQuIFBlcmwgcmVwb3J0cyB0YWdzIGFmdGVyIHRoZSBmYWlsdXJlcwojIGhlcmUsIHRob3VnaCBpdCBkb2VzIG5vdCB3aGVuIHRoZSBpbmRpdmlkdWFsIGxldHRlcnMgYXJlIG1hZGUgaW50byBzb21ldGhpbmcKIyBtb3JlIGNvbXBsaWNhdGVkLgoKL0EoKjpBKUJ8WFgoKjpCKVkvbWFyawogICAgQUFCQwogMDogQUIKTUs6IEEKICAgIFhYWVogCiAwOiBYWFkKTUs6IEIKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBYQVFRICAKTm8gbWF0Y2gsIG1hcmsgPSBBCiAgICBYQVFRWFpaICAKTm8gbWF0Y2gsIG1hcmsgPSBBCiAgICBBWFFRUSAKTm8gbWF0Y2gsIG1hcmsgPSBBCiAgICBBWFhRUVEgCk5vIG1hdGNoLCBtYXJrID0gQgogICAgCi9eKEEoKlRIRU46QSlCfEMoKlRIRU46QilEKS9tYXJrCiAgICBBQgogMDogQUIKIDE6IEFCCk1LOiBBCiAgICBDRAogMDogQ0QKIDE6IENECk1LOiBCClw9IEV4cGVjdCBubyBtYXRjaAogICAgQUMKTm8gbWF0Y2gsIG1hcmsgPSBBCiAgICBDQiAgICAKTm8gbWF0Y2gsIG1hcmsgPSBCCiAgICAKL14oQSgqUFJVTkU6QSlCfEMoKlBSVU5FOkIpRCkvbWFyawogICAgQUIKIDA6IEFCCiAxOiBBQgpNSzogQQogICAgQ0QKIDA6IENECiAxOiBDRApNSzogQgpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIEFDCk5vIG1hdGNoLCBtYXJrID0gQQogICAgQ0IgICAgCk5vIG1hdGNoLCBtYXJrID0gQgogICAgCiMgQW4gZW1wdHkgbmFtZSBkb2VzIG5vdCBwYXNzIGJhY2sgYW4gZW1wdHkgc3RyaW5nLiBJdCBpcyB0aGUgc2FtZSBhcyBpZiBubwojIG5hbWUgd2VyZSBnaXZlbi4KCi9eKEEoKlBSVU5FOilCfEMoKlBSVU5FOkIpRCkvbWFyawogICAgQUIKIDA6IEFCCiAxOiBBQgogICAgQ0QgCiAwOiBDRAogMTogQ0QKTUs6IEIKCiMgUFJVTkUgZ29lcyB0byBuZXh0IGJ1bXBhbG9uZzsgQ09NTUlUIGRvZXMgbm90LgogICAgCi9BKCpQUlVORTpBKUIvbWFyawogICAgQUNBQgogMDogQUIKTUs6IEEKCiMgTWFyayBuYW1lcyBjYW4gYmUgZHVwbGljYXRlZC4KCi9BKCo6QSlCfFgoKjpBKVkvbWFyawogICAgQUFCQwogMDogQUIKTUs6IEEKICAgIFhYWVogCiAwOiBYWQpNSzogQQogICAgCi9iKCo6bSlmfGEoKjpuKXcvbWFyawogICAgYXcgCiAwOiBhdwpNSzogbgpcPSBFeHBlY3Qgbm8gbWF0Y2ggCiAgICBhYmMKTm8gbWF0Y2gsIG1hcmsgPSBtCgovYigqOm0pZnxhdy9tYXJrCiAgICBhYmF3CiAwOiBhdwpcPSBFeHBlY3Qgbm8gbWF0Y2ggCiAgICBhYmMKTm8gbWF0Y2gsIG1hcmsgPSBtCiAgICBhYmF4IApObyBtYXRjaCwgbWFyayA9IG0KCi9BKCpNQVJLOkEpQSsoKlNLSVA6QikoQnxaKSB8IEFBQy94LG1hcmsKICAgIEFBQUMKIDA6IEFBQwoKLyg/PWEoKk1BUks6QSliKS4ueC9tYXJrCiAgICBhYnh5CiAwOiBhYngKTUs6IEEKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYnBxICAKTm8gbWF0Y2gKCi8oPz1hKCpNQVJLOkEpYikuLigqOlkpeC9tYXJrCiAgICBhYnh5CiAwOiBhYngKTUs6IFkKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYnBxICAKTm8gbWF0Y2gKCi8oPz1hKCpQUlVORTpBKWIpLi54L21hcmsKICAgIGFieHkKIDA6IGFieApNSzogQQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFicHEgIApObyBtYXRjaAoKLyg/PWEoKlBSVU5FOkEpYikuLigqOlkpeC9tYXJrCiAgICBhYnh5CiAwOiBhYngKTUs6IFkKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYnBxICAKTm8gbWF0Y2gKCi8oPz1hKCpUSEVOOkEpYikuLngvbWFyawogICAgYWJ4eQogMDogYWJ4Ck1LOiBBClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWJwcSAgCk5vIG1hdGNoCgovKD89YSgqVEhFTjpBKWIpLi4oKjpZKXgvbWFyawogICAgYWJ4eQogMDogYWJ4Ck1LOiBZClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWJwcSAgCk5vIG1hdGNoCgovKGFub3RoZXIpPyhcMT8pdGVzdC8KICAgIGhlbGxvIHdvcmxkIHRlc3QKIDA6IHRlc3QKIDE6IDx1bnNldD4KIDI6IAoKLyhhbm90aGVyKT8oXDErKXRlc3QvClw9IEV4cGVjdCBubyBtYXRjaAogICAgaGVsbG8gd29ybGQgdGVzdApObyBtYXRjaAoKLyhhKCpDT01NSVQpYil7MH1hKD8xKXxhYWMvCiAgICBhYWMKIDA6IGFhYwoKLygoPzphPykqKSpjLwogICAgYWFjICAgCiAwOiBhYWMKIDE6IAoKLygoPz5hPykqKSpjLwogICAgYWFjICAgCiAwOiBhYWMKIDE6IAoKLyg/Pi4qP2EpKD88PWJhKS8KICAgIGFiYQogMDogYmEKCi8oPzouKj9hKSg/PD1iYSkvCiAgICBhYmEKIDA6IGFiYQoKLyg/Pi4qP2EpYi9zCiAgICBhYWIKIDA6IGFiCgovKD8+Lio/YSliLwogICAgYWFiCiAwOiBhYgoKLyg/Pl5hKWIvcwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFhYgpObyBtYXRjaAoKLyg/Pi4qPykoPzw9KGFiY2QpfCh3eHl6KSkvCiAgICBhbHBoYWJldGFiY2QKIDA6IAogMTogYWJjZAogICAgZW5kaW5nd3h5eiAKIDA6IAogMTogPHVuc2V0PgogMjogd3h5egoKLyg/Pi4qKSg/PD0oYWJjZCl8KHd4eXopKS8KICAgIGFscGhhYmV0YWJjZAogMDogYWxwaGFiZXRhYmNkCiAxOiBhYmNkCiAgICBlbmRpbmd3eHl6IAogMDogZW5kaW5nd3h5egogMTogPHVuc2V0PgogMjogd3h5egoKLyg/Pi4qKWZvby8KXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYmNkZm9veHl6Ck5vIG1hdGNoCiAgICAKLyg/Pi4qPylmb28vCiAgICBhYmNkZm9veHl6CiAwOiBmb28KCi8oPzooYSgqUFJVTkUpYikpezB9KD86KD8xKXxhYykvCiAgICBhYwogMDogYWMKICAgIAovKD86KGEoKlNLSVApYikpezB9KD86KD8xKXxhYykvCiAgICBhYyAKIDA6IGFjCgovKD88PSgqU0tJUClhYylhLwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFhCk5vIG1hdGNoCgovQSgqTUFSSzpBKUErKCpTS0lQOkIpKEJ8WikgfCBBQy94LG1hcmsKICAgIEFBQUMKIDA6IEFDCgovYSgqU0tJUDptKXh8YWMoKjpuKSgqU0tJUDpuKWR8YWMvbWFyawogICAgYWNhY2QKIDA6IGFjZApNSzogbgoKL0EoKlNLSVA6bSl4fEEoKlNLSVA6bil4fEFCL21hcmsKICAgIEFCCiAwOiBBQgoKLygoKlNLSVA6cilkKXswfWEoKlNLSVA6bSl4fGFjKCo6bil8YWMvbWFyawogICAgYWNhY2QKIDA6IGFjCk1LOiBuCgojIFRlc3RzIHRoYXQgdHJ5IHRvIGZpZ3VyZSBvdXQgaG93IFBlcmwgd29ya3MuIE15IGh5cG90aGVzaXMgaXMgdGhhdCB0aGUgZmlyc3QKIyB2ZXJiIHRoYXQgaXMgYmFja3RyYWNrZWQgb250byBpcyB0aGUgb25lIHRoYXQgYWN0cy4gVGhpcyBzZWVtcyB0byBiZSB0aGUgY2FzZQojIGFsbW9zdCBhbGwgdGhlIHRpbWUsIGJ1dCB0aGVyZSBpcyBvbmUgZXhjZXB0aW9uIHRoYXQgaXMgcGVyaGFwcyBhIGJ1Zy4KCiMgVGhpcyBtYXRjaGVzICJhYWFhYyI7IGVhY2ggUFJVTkUgYWR2YW5jZXMgb25lIGNoYXJhY3RlciB1bnRpbCB0aGUgc3ViamVjdCBubwojIGxvbmdlciBzdGFydHMgd2l0aCA1ICdhJ3MuCgovYWFhYWEoKlBSVU5FKWJ8YStjLwogICAgYWFhYWFhYwogMDogYWFhYWMKCiMgUHV0dGluZyBTS0lQIGluIGZyb250IG9mIFBSVU5FIG1ha2VzIG5vIGRpZmZlcmVuY2UsIGFzIGl0IGlzIG5ldmVyCiMgYmFja3RyYWNrZWQgb250bywgd2hldGhlciBvciBub3QgaXQgaGFzIGEgbGFiZWwuCgovYWFhYWEoKlNLSVApKCpQUlVORSlifGErYy8KICAgIGFhYWFhYWMKIDA6IGFhYWFjCgovYWFhYWEoKlNLSVA6TikoKlBSVU5FKWJ8YStjLwogICAgYWFhYWFhYwogMDogYWFhYWMKCi9hYWFhKCo6TilhKCpTS0lQOk4pKCpQUlVORSlifGErYy8KICAgIGFhYWFhYWMKIDA6IGFhYWFjCgojIFB1dHRpbmcgVEhFTiBpbiBmcm9udCBtYWtlcyBubyBkaWZmZXJlbmNlLgogICAgCi9hYWFhYSgqVEhFTikoKlBSVU5FKWJ8YStjLwogICAgYWFhYWFhYwogMDogYWFhYWMKIAojIEhvd2V2ZXIsIHB1dHRpbmcgQ09NTUlUIGluIGZyb250IG9mIHRoZSBwcnVuZSBjaGFuZ2VzIGl0IHRvICJubyBtYXRjaCIuIEkgCiMgdGhpbmsgdGhpcyBpcyBpbmNvbnNpc3RlbnQgYW5kIHBvc3NpYmx5IGEgYnVnLiBGb3IgdGhlIG1vbWVudCwgcnVubmluZyB0aGlzCiMgdGVzdCBpcyBtb3ZlZCBvdXQgb2YgdGhlIFBlcmwtY29tcGF0aWJsZSBmaWxlLiAKCi9hYWFhYSgqQ09NTUlUKSgqUFJVTkUpYnxhK2MvCiAgICAKIyBPSywgbGV0cyBwbGF5IHRoZSBzYW1lIGdhbWUgYWdhaW4gdXNpbmcgU0tJUCBpbnN0ZWFkIG9mIFBSVU5FLgoKIyBUaGlzIG1hdGNoZXMgImFjIiBiZWNhdXNlIFNLSVAgZm9yY2VzIHRoZSBuZXh0IG1hdGNoIHRvIHN0YXJ0IG9uIHRoZQojIHNpeHRoICJhIi4gCgovYWFhYWEoKlNLSVApYnxhK2MvCiAgICBhYWFhYWFjCiAwOiBhYwogCiMgUHV0dGluZyBQUlVORSBpbiBmcm9udCBtYWtlcyBubyBkaWZmZXJlbmNlLiAKCi9hYWFhYSgqUFJVTkUpKCpTS0lQKWJ8YStjLwogICAgYWFhYWFhYwogMDogYWMKCiMgUHV0dGluZyBUSEVOIGluIGZyb250IG1ha2VzIG5vIGRpZmZlcmVuY2UuIAoKL2FhYWFhKCpUSEVOKSgqU0tJUClifGErYy8KICAgIGFhYWFhYWMKIDA6IGFjCgojIEluIHRoaXMgY2FzZSwgbmVpdGhlciBkb2VzIENPTU1JVC4gVGhpcyBzdGlsbCBtYXRjaGVzICJhYyIuIAoKL2FhYWFhKCpDT01NSVQpKCpTS0lQKWJ8YStjLwogICAgYWFhYWFhYwogMDogYWMKICAgIAojIFRoaXMgZ2l2ZXMgIm5vIG1hdGNoIiwgYXMgZXhwZWN0ZWQuIAoKL2FhYWFhKCpDT01NSVQpYnxhK2MvClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWFhYWFhYwpObyBtYXRjaAoKIyAtLS0tIFRlc3RzIHVzaW5nIFRIRU4gLS0tLQoKIyBUaGlzIG1hdGNoZXMgImFhYWFhYWMiLCBhcyBleHBlY3RlZC4gCgovYWFhYWEoKlRIRU4pYnxhK2MvCiAgICBhYWFhYWFjCiAwOiBhYWFhYWFjCgojIFB1dHRpbmcgU0tJUCBpbiBmcm9udCBtYWtlcyBubyBkaWZmZXJlbmNlLiAKCi9hYWFhYSgqU0tJUCkoKlRIRU4pYnxhK2MvCiAgICBhYWFhYWFjCiAwOiBhYWFhYWFjCiAgICAKIyBQdXR0aW5nIFBSVU5FIGluIGZyb250IG1ha2VzIG5vIGRpZmZlcmVuY2UuIAoKL2FhYWFhKCpQUlVORSkoKlRIRU4pYnxhK2MvCiAgICBhYWFhYWFjCiAwOiBhYWFhYWFjCiAgICAKIyBQdXR0aW5nIENPTU1JVCBpbiBmcm9udCBtYWtlcyBubyBkaWZmZXJlbmNlLiAKCi9hYWFhYSgqQ09NTUlUKSgqVEhFTilifGErYy8KICAgIGFhYWFhYWMKIDA6IGFhYWFhYWMKICAgIAojIEVuZCBvZiAicHJpb3JpdHkiIHRlc3RzICAKCi9hYWFhYSgqOm0pKCpQUlVORTptKSgqU0tJUDptKW18YSsvCiAgICBhYWFhYWEKIDA6IGEKCi9hYWFhYSgqOm0pKCpNQVJLOm0pKCpQUlVORSkoKlNLSVA6bSltfGErLwogICAgYWFhYWFhCiAwOiBhCgovYWFhYWEoKjpuKSgqUFJVTkU6bSkoKlNLSVA6bSltfGErLwogICAgYWFhYWFhCiAwOiBhYWFhCgovYWFhYWEoKjpuKSgqTUFSSzptKSgqUFJVTkUpKCpTS0lQOm0pbXxhKy8KICAgIGFhYWFhYQogMDogYQoKL2EoKk1BUks6QSlhYSgqUFJVTkU6QSlhKCpTS0lQOkEpYnxhK2MvCiAgICBhYWFhYwogMDogYWFjCgovYSgqTUFSSzpBKWFhKCpNQVJLOkEpYSgqU0tJUDpBKWJ8YStjLwogICAgYWFhYWMKIDA6IGFjCgovYWFhKCpQUlVORTpBKWEoKlNLSVA6QSlifGErYy8KICAgIGFhYWFjCiAwOiBhYWMKCi9hYWEoKk1BUks6QSlhKCpTS0lQOkEpYnxhK2MvCiAgICBhYWFhYwogMDogYWMKCi9hKCo6bSlhKCpDT01NSVQpKCpTS0lQOm0pYnxhK2MvbWFyawogICAgYWFhYWFhYwogMDogYWMKCi8uPyhhfGIoKlRIRU4pYykvCiAgICBiYQogMDogYmEKIDE6IGEKCi8oYSgqQ09NTUlUKWIpY3xhYmQvCiAgICBhYmMKIDA6IGFiYwogMTogYWIKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYmQKTm8gbWF0Y2gKCi8oPz1hKCpDT01NSVQpYilhYmN8YWJkLwogICAgYWJjCiAwOiBhYmMKICAgIGFiZAogMDogYWJkCgovKD8+YSgqQ09NTUlUKWIpY3xhYmQvCiAgICBhYmMKIDA6IGFiYwogICAgYWJkCiAwOiBhYmQKCi9hKD89YigqQ09NTUlUKWMpW15kXXxhYmQvCiAgICBhYmMKIDA6IGFiClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWJkCk5vIG1hdGNoCgovYSg/PWJjKS58YWJkLwogICAgYWJkCiAwOiBhYmQKICAgIGFiYyAKIDA6IGFiCiAgICAKL2EoPz5iKCpDT01NSVQpYylkfGFiZC8KXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYmNlYWJkIApObyBtYXRjaAoKL2EoPz5iYylkfGFiZC8KICAgIGFiY2VhYmQgCiAwOiBhYmQKCi8oPz5hKCpDT01NSVQpYiljfGFiZC8KICAgIGFiZAogMDogYWJkCgovKD8+YSgqQ09NTUlUKWMpZHxhYmQvClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWJkCk5vIG1hdGNoCgovKCg/PWEoKkNPTU1JVCliKWFifGFjKXswfSg/Oig/MSl8YShjKSkvCiAgICBhYyAKIDA6IGFjCiAxOiA8dW5zZXQ+CiAyOiBjCiAgICAKIyBUaGVzZSB0ZXN0cyB3ZXJlIGZvcm1lcmx5IGluIHRlc3QgMiwgYnV0IGNoYW5nZXMgaW4gUENSRSBhbmQgUGVybCBoYXZlCiMgbWFkZSB0aGVtIGNvbXBhdGlibGUuIAogICAgCi9eKGEpPyg/KDEpYXxiKSskLwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGEKTm8gbWF0Y2gKCi9BKCpQUlVORTpBKUErKCpTS0lQOkEpKEJ8WikgfCBBQy94LG1hcmsKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBBQUFDCk5vIG1hdGNoLCBtYXJrID0gQQoKL14oKGFiY3xhYmN4KSgqVEhFTil5fGFiY2QpLwogICAgYWJjZAogMDogYWJjZAogMTogYWJjZApcPSBFeHBlY3Qgbm8gbWF0Y2ggCiAgICBhYmN4eSAKTm8gbWF0Y2gKICAgIAovXigoeWVzfG5vKSgqVEhFTikoKkYpKT8vClw9IEV4cGVjdCBubyBtYXRjaAogICAgeWVzCk5vIG1hdGNoCgovKEEgKC4qKSAgIEM/ICgqVEhFTikgIHwgQSBEKSAoKkZBSUwpL3gKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBBYmNkQ0JlZmdCaGlCcXoKTm8gbWF0Y2gKCi8oQSAoLiopICAgQz8gKCpUSEVOKSAgfCBBIEQpIHoveApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIEFiY2RDQmVmZ0JoaUJxegpObyBtYXRjaAoKLyhBICguKikgICBDPyAoKlRIRU4pICB8IEEgRCkgXHMqICgqRkFJTCkveApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIEFiY2RDQmVmZ0JoaUJxegpObyBtYXRjaAoKLyhBICguKikgICBDPyAoKlRIRU4pICB8IEEgRCkgXHMqIHoveApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIEFiY2RDQmVmZ0JoaUJxegpObyBtYXRjaAoKLyhBICguKikgICAoPzpDfCkgKCpUSEVOKSAgfCBBIEQpICgqRkFJTCkveApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIEFiY2RDQmVmZ0JoaUJxegpObyBtYXRjaAoKLyhBICguKikgICAoPzpDfCkgKCpUSEVOKSAgfCBBIEQpIHoveApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIEFiY2RDQmVmZ0JoaUJxegpObyBtYXRjaAoKLyhBICguKikgICBDezAsNn0gKCpUSEVOKSAgfCBBIEQpICgqRkFJTCkveApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIEFiY2RDQmVmZ0JoaUJxegpObyBtYXRjaAoKLyhBICguKikgICBDezAsNn0gKCpUSEVOKSAgfCBBIEQpIHoveApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIEFiY2RDQmVmZ0JoaUJxegpObyBtYXRjaAoKLyhBICguKikgICAoQ0UpezAsNn0gKCpUSEVOKSAgfCBBIEQpICgqRkFJTCkveApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIEFiY2RDRUJlZmdCaGlCcXoKTm8gbWF0Y2gKCi8oQSAoLiopICAgKENFKXswLDZ9ICgqVEhFTikgIHwgQSBEKSB6L3gKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBBYmNkQ0VCZWZnQmhpQnF6Ck5vIG1hdGNoCgovKEEgKC4qKSAgIChDRSopezAsNn0gKCpUSEVOKSAgfCBBIEQpICgqRkFJTCkveApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIEFiY2RDQmVmZ0JoaUJxegpObyBtYXRjaAoKLyhBICguKikgICAoQ0UqKXswLDZ9ICgqVEhFTikgIHwgQSBEKSB6L3gKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBBYmNkQ0JlZmdCaGlCcXoKTm8gbWF0Y2gKCi8oPz1hKCpDT01NSVQpYnxhYylhY3xhYy8KXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYwpObyBtYXRjaAoKLyg/PWEoKkNPTU1JVClifChhYykpIGFjIHwgKGEpYy94Clw9IEV4cGVjdCBubyBtYXRjaAogICAgYWMKTm8gbWF0Y2gKCiMgLS0tLQoKLyg/KD8hYigqVEhFTilhKWJufGJubikvCiAgICBibm4gCiAwOiBibgoKLyg/IWIoKlNLSVApYSlibnxibm4vCiAgICBibm4KIDA6IGJuCiAgICAKLyg/KD8hYigqU0tJUClhKWJufGJubikvCiAgICBibm4gCiAwOiBibgoKLyg/IWIoKlBSVU5FKWEpYm58Ym5uLwogICAgYm5uCiAwOiBibgogICAgCi8oPyg/IWIoKlBSVU5FKWEpYm58Ym5uKS8KICAgIGJubiAKIDA6IGJuCiAgIAovKD8hYigqQ09NTUlUKWEpYm58Ym5uLwogICAgYm5uCiAwOiBibgogICAgCi8oPyg/IWIoKkNPTU1JVClhKWJufGJubikvCiAgIGJubiAKIDA6IGJuCgovKD89YigqU0tJUClhKWJufGJubi8KXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBibm4KTm8gbWF0Y2gKCi8oPz1iKCpUSEVOKWEpYm58Ym5uLwogICAgYm5uCiAwOiBibm4KICAgIAovXig/IWEoKlNLSVApYikvCiAgICBhYwogMDogCgovXig/IWEoKlNLSVApYikuLi8KICAgIGFjZAogMDogYWMKCi8oPyFhKCpTS0lQKWIpLi4vCiAgICBhY2QKIDA6IGFjCgovXig/KD8hYSgqU0tJUCliKSkvCiAgICBhYwogMDogCgovXig/IWEoKlBSVU5FKWIpLi4vCiAgICBhY2QKIDA6IGFjCgovKD8hYSgqUFJVTkUpYikuLi8KICAgIGFjZAogMDogYWMKCi8oPyFhKCpDT01NSVQpYilhY3xjZC8KICAgIGFjCiAwOiBhYwoKL1xBLio/KD86YXxiYykvCiAgICBiYQogMDogYmEKCi9eKEEoKlRIRU4pQnxDKCpUSEVOKUQpLwogICAgQ0QgICAgICAgICAgIAogMDogQ0QKIDE6IENECgovKCo6bShtKSg/JnkpKD8oREVGSU5FKSg/PHk+YikpL21hcmsKICAgIGFiYwogMDogYgpNSzogbShtCgovKCpQUlVORTptKG0pKD8meSkoPyhERUZJTkUpKD88eT5iKSkvbWFyawogICAgYWJjCiAwOiBiCk1LOiBtKG0KCi8oKlNLSVA6bShtKSg/JnkpKD8oREVGSU5FKSg/PHk+YikpL21hcmsKICAgIGFiYwogMDogYgoKLygqVEhFTjptKG0pKD8meSkoPyhERUZJTkUpKD88eT5iKSkvbWFyawogICAgYWJjCiAwOiBiCk1LOiBtKG0KCi9eXGQqXHd7NH0vCiAgICAxMjM0CiAwOiAxMjM0Clw9IEV4cGVjdCBubyBtYXRjaAogICAgMTIzIApObyBtYXRjaAoKL15bXmJdKlx3ezR9LwogICAgYWFhYQogMDogYWFhYQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFhYSAgICAgCk5vIG1hdGNoCgovXlteYl0qXHd7NH0vaQogICAgYWFhYQogMDogYWFhYQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFhYSAgICAgCk5vIG1hdGNoCgovXmEqXHd7NH0vCiAgICBhYWFhCiAwOiBhYWFhClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWFhICAgICAKTm8gbWF0Y2gKCi9eYSpcd3s0fS9pCiAgICBhYWFhCiAwOiBhYWFhClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWFhICAgICAKTm8gbWF0Y2gKCi8oPzooPzxuPmZvbyl8KD88bj5iYXIpKVxrPG4+L2R1cG5hbWVzCiAgICBmb29mb28KIDA6IGZvb2ZvbwogMTogZm9vCiAgICBiYXJiYXIKIDA6IGJhcmJhcgogMTogPHVuc2V0PgogMjogYmFyCgovKD88bj5BKSg/Oig/PG4+Zm9vKXwoPzxuPmJhcikpXGs8bj4vZHVwbmFtZXMKICAgIEFmb29BCiAwOiBBZm9vQQogMTogQQogMjogZm9vCiAgICBBYmFyQSAgCiAwOiBBYmFyQQogMTogQQogMjogPHVuc2V0PgogMzogYmFyClw9IEV4cGVjdCBubyBtYXRjaCAKICAgIEFmb29mb28KTm8gbWF0Y2gKICAgIEFiYXJiYXIKTm8gbWF0Y2gKCi9eKFxkKylccytJTlxzK1NPQVxzKyhcUyspXHMrKFxTKylccypcKFxzKiQvCiAgICAxIElOIFNPQSBub24tc3AxIG5vbi1zcDIoCiAwOiAxIElOIFNPQSBub24tc3AxIG5vbi1zcDIoCiAxOiAxCiAyOiBub24tc3AxCiAzOiBub24tc3AyCgovXiAoPzooPzxBPkEpfCg/J0InQikoPzxBPkEpKSAoPygnQScpeCkgKD8oPEI+KXkpJC94LGR1cG5hbWVzCiAgICBBeAogMDogQXgKIDE6IEEKICAgIEJBeHkgCiAwOiBCQXh5CiAxOiA8dW5zZXQ+CiAyOiBCCiAzOiBBCiAgICAKL15BXHhaLwogICAgQVwwWiAKIDA6IEFceDAwWgoKL15BXG97MTIzfUIvCiAgICBBXDEyM0IKIDA6IEFTQgoKLyBeIGEgKyArIGIgJCAveAogICAgYWFhYWIKIDA6IGFhYWFiCiAgICAKLyBeIGEgKyAjY29tbWVudAogICsgYiAkIC94CiAgICBhYWFhYgogMDogYWFhYWIKICAgIAovIF4gYSArICNjb21tZW50CiAgI2NvbW1lbnQKICArIGIgJCAveAogICAgYWFhYWIKIDA6IGFhYWFiCiAgICAKLyBeICg/PiBhICsgKSBiICQgL3gKICAgIGFhYWFiIAogMDogYWFhYWIKCi8gXiAoIGEgKyApICsgKyBcdyAkIC94CiAgICBhYWFhYiAKIDA6IGFhYWFiCiAxOiBhYWFhCgovKD86YVxLYikqKy9hZnRlcnRleHQKICAgIGFiYWJjCiAwOiBiCiAwKyBjCgovKD8+YVxLYikqL2FmdGVydGV4dAogICAgYWJhYmMKIDA6IGIKIDArIGMKCi8oPzphXEtiKSovYWZ0ZXJ0ZXh0CiAgICBhYmFiYwogMDogYgogMCsgYwoKLyhhXEtiKSorL2FmdGVydGV4dAogICAgYWJhYmMKIDA6IGIKIDArIGMKIDE6IGFiCgovKGFcS2IpKi9hZnRlcnRleHQKICAgIGFiYWJjCiAwOiBiCiAwKyBjCiAxOiBhYgoKLyg/Onh8KD86KHh4fHl5KSt8eHx4fHh8eHx4KXxhfGF8YSliYy8KXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhY2IKTm8gbWF0Y2gKCi9cQSg/OlteXCJdKyt8XCIoPzpbXlwiXSorfFwiXCIpKitcIikrKy8KICAgIE5PTiBRVU9URUQgXCJRVU9UXCJcIkVEXCIgQUZURVIgXCJOT1QgTUFUQ0hFRAogMDogTk9OIFFVT1RFRCAiUVVPVCIiRUQiIEFGVEVSIAoKL1xBKD86W15cIl0rK3xcIig/OlteXCJdKyt8XCJcIikqK1wiKSsrLwogICAgTk9OIFFVT1RFRCBcIlFVT1RcIlwiRURcIiBBRlRFUiBcIk5PVCBNQVRDSEVECiAwOiBOT04gUVVPVEVEICJRVU9UIiJFRCIgQUZURVIgCgovXEEoPzpbXlwiXSsrfFwiKD86W15cIl0rK3xcIlwiKSsrXCIpKysvCiAgICBOT04gUVVPVEVEIFwiUVVPVFwiXCJFRFwiIEFGVEVSIFwiTk9UIE1BVENIRUQKIDA6IE5PTiBRVU9URUQgIlFVT1QiIkVEIiBBRlRFUiAKCi9cQShbXlwiMV0rK3xbXCIyXShbXlwiM10qK3xbXCI0XVtcIjVdKSorW1wiNl0pKysvCiAgICBOT04gUVVPVEVEIFwiUVVPVFwiXCJFRFwiIEFGVEVSIFwiTk9UIE1BVENIRUQKIDA6IE5PTiBRVU9URUQgIlFVT1QiIkVEIiBBRlRFUiAKIDE6ICBBRlRFUiAKIDI6IAoKL15cdysoPz5ccyopKD88PVx3KS8KICAgIHRlc3QgdGVzdAogMDogdGVzCgovKD9QPHNhbWU+YSkoP1A8c2FtZT5iKS9nLGR1cG5hbWVzCiAgICBhYmJhYmEKIDA6IGFiCiAxOiBhCiAyOiBiCiAwOiBhYgogMTogYQogMjogYgoKLyg/UDxzYW1lPmEpKD9QPHNhbWU+YikoP1A9c2FtZSkvZyxkdXBuYW1lcwogICAgYWJiYWJhCiAwOiBhYmEKIDE6IGEKIDI6IGIKCi8oP1A9c2FtZSk/KD9QPHNhbWU+YSkoP1A8c2FtZT5iKS9nLGR1cG5hbWVzCiAgICBhYmJhYmEKIDA6IGFiCiAxOiBhCiAyOiBiCiAwOiBhYgogMTogYQogMjogYgoKLyg/Oig/UD1zYW1lKT8oPzooP1A8c2FtZT5hKXwoP1A8c2FtZT5iKSkoP1A9c2FtZSkpKy9nLGR1cG5hbWVzCiAgICBiYmJhYWFiYWFiYgogMDogYmJiYWFhYmEKIDE6IGEKIDI6IGIKIDA6IGJiCiAxOiA8dW5zZXQ+CiAyOiBiCgovKD86KD9QPXNhbWUpPyg/Oig/UD1zYW1lKSg/UDxzYW1lPmEpKD9QPXNhbWUpfCg/UD1zYW1lKT8oP1A8c2FtZT5iKSg/UD1zYW1lKSl7Mn0oP1A9c2FtZSkoP1A8c2FtZT5jKSg/UD1zYW1lKSl7Mn0oP1A8c2FtZT56KT8vZyxkdXBuYW1lcwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGJiYmFhYWNjY2NhYWFiYmJjYwpObyBtYXRjaAoKLyg/UDxOYW1lPmEpPyg/UDxOYW1lMj5iKT8oPyg8TmFtZT4pY3xkKSpsLwogICAgYWNsCiAwOiBhY2wKIDE6IGEKICAgIGJkbAogMDogYmRsCiAxOiA8dW5zZXQ+CiAyOiBiCiAgICBhZGwKIDA6IGRsCiAgICBiY2wgICAgCiAwOiBsCgovXHNhYmMvCiAgICBceHswYn1hYmMKIDA6IFx4MGJhYmMKCi9bXFFhXVxFXSsvCiAgICBhYV1dCiAwOiBhYV1dCgovW1xRXWFcRV0rLwogICAgYWFdXQogMDogYWFdXQoKL0EoKCgoKCgoKGEpKSkpKSkpKVw4Qi8gCiAgICBBYWFCCiAwOiBBYWFCCiAxOiBhCiAyOiBhCiAzOiBhCiA0OiBhCiA1OiBhCiA2OiBhCiA3OiBhCiA4OiBhCgovQSgoKCgoKCgoKGEpKSkpKSkpKSlcOUIvIAogICAgQWFhQgogMDogQWFhQgogMTogYQogMjogYQogMzogYQogNDogYQogNTogYQogNjogYQogNzogYQogODogYQogOTogYQogICAgCi9BW1w4XDldQi8KICAgIEE4QgogMDogQThCCiAgICBBOUIgIAogMDogQTlCCgovKHxhYikqP2QvCiAgIGFiZAogMDogYWJkCiAxOiBhYgogICB4eWQgCiAwOiBkCgovKD86KChhYmNkKSl8KCgoPzooPzooPzooPzphYmN8KD86YWJjZGVmKSkpKWIpYWJjZGVmZ2hpKWFiYyl8KCgqQUNDRVBUKSkpLwogICAgMTIzNGFiY2QKIDA6IAogMTogPHVuc2V0PgogMjogPHVuc2V0PgogMzogPHVuc2V0PgogNDogPHVuc2V0PgogNTogCgovKFwyfGEpKFwxKS8KICAgIGFhYQogMDogYWEKIDE6IGEKIDI6IGEKCi8oXDIpKFwxKS8KCi9aKih8ZCopezIxNn0vCgovKD8xKSg/Iz8nKXs4fShhKS8KICAgIGJhYWFhYWFhYWFjCiAwOiBhYWFhYWFhYWEKIDE6IGEKCi8oKCgoKCgoKCgoKCh4KSkpKSkpKSkpKSkpXDEyLwogICAgeHgKIDA6IHh4CiAxOiB4CiAyOiB4CiAzOiB4CiA0OiB4CiA1OiB4CiA2OiB4CiA3OiB4CiA4OiB4CiA5OiB4CjEwOiB4CjExOiB4CjEyOiB4CgovQVtcOF1CW1w5XUMvCiAgICBBOEI5QwogMDogQThCOUMKCi8oPzEpKCkoKCgoKChcMSsrKSlceDg1KSspfCkpLwogICAgXHg4NVx4ODUKIDA6IFx4ODVceDg1CiAxOiAKIDI6IFx4ODVceDg1CiAzOiBceDg1XHg4NQogNDogXHg4NVx4ODUKIDU6IFx4ODUKIDY6IAogNzogCgovKD98KFxrJ1BtJyl8KD8nUG0nKSkvCiAgICBhYmNkCiAwOiAKIDE6IAoKLyg/fChhYWEpfChiKSlcZ3sxfS8KICAgIGFhYWFhYQogMDogYWFhYWFhCiAxOiBhYWEKICAgIGJiIAogMDogYmIKIDE6IGIKCi8oP3woYWFhKXwoYikpKD8xKS8KICAgIGFhYWFhYQogMDogYWFhYWFhCiAxOiBhYWEKICAgIGJhYWEgCiAwOiBiYWFhCiAxOiBiClw9IEV4cGVjdCBubyBtYXRjaCAKICAgIGJiIApObyBtYXRjaAoKLyg/fChhYWEpfChiKSkvCiAgICB4YWFhCiAwOiBhYWEKIDE6IGFhYQogICAgeGJjIAogMDogYgogMTogYgoKLyg/fCg/J2EnYWFhKXwoPydhJ2IpKVxrJ2EnLwogICAgYWFhYWFhCiAwOiBhYWFhYWEKIDE6IGFhYQogICAgYmIgCiAwOiBiYgogMTogYgoKLyg/fCg/J2EnYWFhKXwoPydhJ2IpKSg/J2EnY2NjYylcaydhJy9kdXBuYW1lcwogICAgYWFhY2NjY2FhYQogMDogYWFhY2NjY2FhYQogMTogYWFhCiAyOiBjY2NjCiAgICBiY2NjY2IgCiAwOiBiY2NjY2IKIDE6IGIKIDI6IGNjY2MKCiMgL3ggZG9lcyBub3QgYXBwbHkgdG8gTUFSSyBsYWJlbHMgCgoveCAoKk1BUks6YWIgY2QgIyBjb21tZW50CmVmKSB4L3gsbWFyawogICAgYXh4egogMDogeHgKTUs6IGFiIGNkICMgY29tbWVudFx4MGFlZgoKLyg/PD1hKEIpezB9YylYLwogICAgYWNYCiAwOiBYCgovKD88REVGSU5FPmIpKD8oREVGSU5FKShhKykpKD8mREVGSU5FKS8gICAgICAgICAgCiAgICBiYmJiIAogMDogYmIKIDE6IGIKXD0gRXhwZWN0IG5vIG1hdGNoICAgICAKICAgIGJhYWFiCk5vIG1hdGNoCgovKD89LipbQS1aXSkoPz0uKlthLXpdKSg/PS4qWzAtOV0pKD89LipbLDs6XSkoPz0uezgsMTZ9KSg/IS4qW1xzXSkvCiAgICBcICAgRnJlZDowOTkKIDA6IAoKLyg/PS4qWClYJC8gCiAgICBcICBYCiAwOiBYCgovKD9zKSg/PS4qPyliLwogICAgYWFiYwogMDogYgoKLyhaKShhKVwyezEsMn0/KD8taSlcMVgvaQogICAgWmFBQVpYCiAwOiBaYUFBWlgKIDE6IFoKIDI6IGEKCi8oPydjJylYWCg/J1lZWVlZWVlZWVlZWVlZWVlZWVlZWVlZQ2wnKS8KCi9bc1s6ZGlnaXQ6XVxFLUhdKy8KICAgIHMwOS1ICiAwOiBzMDktSAoKL1tzWzpkaWdpdDpdXFFcRS1IXSsvCiAgICBzMDktSAogMDogczA5LUgKCi9hKyg/OnxiKWEvCiAgICBhYWFhCiAwOiBhYWFhCgovWD8oUnx8KXszMzM1fS8KCi8oPzEpKEEoKkNPTU1JVCl8QilELwogICAgQUJECiAwOiBBQkQKIDE6IEIKICAgIFhBQkQKIDA6IEFCRAogMTogQgogICAgQkFECiAwOiBCQUQKIDE6IEEKICAgIEFCWEFCRCAgCiAwOiBBQkQKIDE6IEIKXD0gRXhwZWN0IG5vIG1hdGNoIAogICAgQUJYIApObyBtYXRjaAoKLyg/KERFRklORSkoPzxtPiAxPyAoPz0oPzxjb25kPjIpPykgMSAyICg/KCdjb25kJyl8MykpKQogICAgXEEKICAgICgpCiAgICAoPyZtKQogICAgXFoveAogICAgMTIzCiAwOiAxMjMKIDE6IDx1bnNldD4KIDI6IDx1bnNldD4KIDM6IAoKL14oPzogCig/OiBBfCAoMT8gKD89KD88Y29uZD4yKT8pICgxKSAyICg/KCdjb25kJyl8MykpICkKKFopCikrJC94CiAgICBBWjEyM1oKIDA6IEFaMTIzWgogMTogMTIzCiAyOiA8dW5zZXQ+CiAzOiAxCiA0OiBaClw9IEV4cGVjdCBubyBtYXRjaCAgICAgCiAgICBBWjEyWiAKTm8gbWF0Y2gKICAgIAovXiAoPyhERUZJTkUpICggKD8hKGEpXDJiKS4uKSApICAgKCkoPzEpICAveAogICAgYWNiCiAwOiBhYwogMTogPHVuc2V0PgogMjogPHVuc2V0PgogMzogClw9IEV4cGVjdCBubyBtYXRjaCAgICAgCiAgICBhYWIKTm8gbWF0Y2gKICAgIAovKD8+YWJ8YWJhYil7MSw1fT9NLwogICAgYWJhYmFiYWJhYmFiYWJhYmFiYWJhYk0KIDA6IGFiYWJhYmFiYWJNCgovKD8+YWJ8YWJhYil7Mn0/TS8KICAgIGFiYWJhYk0KIDA6IGFiYWJNCgovKCg/KD89KGEpKWEpK2spLwogICAgYmJhawogMDogYWsKIDE6IGFrCiAyOiBhCgovKCg/KD89KGEpKWF8KStrKS8KICAgIGJiYWsKIDA6IGFrCiAxOiBhawogMjogYQoKLyg/KD8hKGIpKWF8Yikray8KICAgIGFiYWJiYWxiYmFkYWJhawogMDogYWJhawogMTogYgoKLyg/IShiKSljfGIvCiAgICBBYgogMDogYgogICAgQWMgCiAwOiBjCgovKD89KGIpKWJ8Yy8KICAgIEFiCiAwOiBiCiAxOiBiCiAgICBBYyAKIDA6IGMKCi9eKC58KC4pKD8xKVwyKSQvCiAgICBhCiAwOiBhCiAxOiBhCiAgICBhYmEKIDA6IGFiYQogMTogYWJhCiAyOiBhCiAgICBhYmNiYQogMDogYWJjYmEKIDE6IGFiY2JhCiAyOiBhCiAgICBhYmFiYQogMDogYWJhYmEKIDE6IGFiYWJhCiAyOiBhCiAgICBhYmNkY2JhCiAwOiBhYmNkY2JhCiAxOiBhYmNkY2JhCiAyOiBhCgovXigoLikoPzEpXDJ8Lj8pJC8KICAgIGEKIDA6IGEKIDE6IGEKICAgIGFiYQogMDogYWJhCiAxOiBhYmEKIDI6IGEKICAgIGFiYmEKIDA6IGFiYmEKIDE6IGFiYmEKIDI6IGEKICAgIGFiY2JhCiAwOiBhYmNiYQogMTogYWJjYmEKIDI6IGEKICAgIGFiYWJhCiAwOiBhYmFiYQogMTogYWJhYmEKIDI6IGEKICAgIGFiY2NiYQogMDogYWJjY2JhCiAxOiBhYmNjYmEKIDI6IGEKICAgIGFiY2RjYmEKIDA6IGFiY2RjYmEKIDE6IGFiY2RjYmEKIDI6IGEKICAgIGFiY2RkY2JhCiAwOiBhYmNkZGNiYQogMTogYWJjZGRjYmEKIDI6IGEKCi9eKC4pKFwxfGEoPzIpKS8KICAgIGJhYgogMDogYmFiCiAxOiBiCiAyOiBhYgoKL14oLnwoLikoPzEpP1wyKSQvCiAgICBhYmNiYQogMDogYWJjYmEKIDE6IGFiY2JhCiAyOiBhCiAgICAKL14oPyg/PShhKSlhYmN8ZGVmKS8KICAgIGFiYwogMDogYWJjCiAxOiBhCgovXig/KD8hKGEpKWRlZnxhYmMpLwogICAgYWJjCiAwOiBhYmMKIDE6IGEKCi9eKD8oPz0oYSkoKkFDQ0VQVCkpYWJjfGRlZikvCiAgICBhYmMKIDA6IGFiYwogMTogYQoKL14oPyg/IShhKSgqQUNDRVBUKSlkZWZ8YWJjKS8KICAgIGFiYwogMDogYWJjCiAxOiBhCgovXig/MSlcZHszfShhKS8KICAgIGExMjNhCiAwOiBhMTIzYQogMTogYQoKIyBUaGlzIHBhdHRlcm4gdXNlcyBhIGxvdCBvZiBuYW1lZCBzdWJwYXR0ZXJucyBpbiBvcmRlciB0byBtYXRjaCBlbWFpbAojIGFkZHJlc3NlcyBpbiB2YXJpb3VzIGZvcm1hdHMuIEl0J3MgYSBoZWF2eSB0ZXN0IGZvciBuYW1lZCBzdWJwYXR0ZXJucy4gSW4gdGhlCiMgPGF0ZXh0PiBncm91cCwgc2xhc2ggaXMgY29kZWQgYXMgXHh7MmZ9IHNvIHRoYXQgdGhpcyBwYXR0ZXJuIGNhbiBhbHNvIGJlCiMgcHJvY2Vzc2VkIGJ5IHBlcmx0ZXN0LnNoLCB3aGljaCBkb2VzIG5vdCBjYXRlciBmb3IgYW4gZXNjYXBlZCBkZWxpbWl0ZXIKIyB3aXRoaW4gdGhlIHBhdHRlcm4uICQgd2l0aGluIHRoZSBwYXR0ZXJuIG11c3QgYWxzbyBiZSBlc2NhcGVkLiBBbGwgJCBhbmQgQAojIGNoYXJhY3RlcnMgaW4gc3ViamVjdCBzdHJpbmdzIGFyZSBlc2NhcGVkIHNvIHRoYXQgUGVybCBkb2Vzbid0IGludGVycHJldCB0aGVtCiMgYXMgdmFyaWFibGUgaW5zZXJ0aW9ucyBhbmQgIiBjaGFyYWN0ZXJzIG11c3QgYWxzbyBiZSBlc2NhcGVkIGZvciBQZXJsLgoKIyBUaGlzIHNldCBvZiBzdWJwYXR0ZXJucyBpcyBtb3JlIG9yIGxlc3MgYSBkaXJlY3QgdHJhbnNsaXRlcmF0aW9uIG9mIHRoZSBCTkYKIyBkZWZpbml0aW9ucyBpbiBSRkMyODIyLCB3aXRob3V0IGFueSBvZiB0aGUgb2Jzb2xldGUgZmVhdHVyZXMuIFRoZSBhZGRpdGlvbiBvZgojIGEgcG9zc2Vzc2l2ZSArIHRvIHRoZSBkZWZpbml0aW9uIG9mIDxwaHJhc2U+IHJlZHVjZWQgdGhlIG1hdGNoIGxpbWl0IGluIFBDUkUyCiMgZnJvbSBvdmVyIDUgbWlsbGlvbiB0byBqdXN0IHVuZGVyIDQwMCwgYW5kIGVsaW1pbmF0ZWQgYSB2ZXJ5IG5vdGljZWFibGUgZGVsYXkKIyB3aGVuIHRoaXMgZmlsZSB3YXMgcGFzc2VkIHRvIHBlcmx0ZXN0LnNoLgoKLyg/aXgpKD8oREVGSU5FKQooPzxhZGRyX3NwZWM+ICAgICAgICg/JmxvY2FsX3BhcnQpIFxAICg/JmRvbWFpbikgKQooPzxhbmdsZV9hZGRyPiAgICAgICg/JkNGV1MpPysgPCAoPyZhZGRyX3NwZWMpID4gKD8mQ0ZXUyk/KyApCig/PGF0ZXh0PiAgICAgICAgICAgW2EtelxkISNcJCUmJyorLVx4ezJmfT0/Xl9ge3x9fl0gKQooPzxhdG9tPiAgICAgICAgICAgICg/JkNGV1MpPysgKD8mYXRleHQpKyAoPyZDRldTKT8rICkKKD88Y2NvbnRlbnQ+ICAgICAgICAoPyZjdGV4dCkgfCAoPyZxdW90ZWRfcGFpcikgfCAoPyZjb21tZW50KSApCig/PGN0ZXh0PiAgICAgICAgICAgW15ceHs5fVx4ezEwfVx4ezEzfVx4ezdmfS1ceHtmZn1cICgpXFxdICkKKD88Y29tbWVudD4gICAgICAgICBcKCAoPzogKD8mRldTKT8rICg/JmNjb250ZW50KSApKisgKD8mRldTKT8rIFwpICkKKD88Q0ZXUz4gICAgICAgICAgICAoPzogKD8mRldTKT8rICg/JmNvbW1lbnQpICkqICg/IyBOT1QgcG9zc2Vzc2l2ZSkKICAgICAgICAgICAgICAgICAgICAoPzogKD8mRldTKT8rICg/JmNvbW1lbnQpIHwgKD8mRldTKSApICkKKD88ZGNvbnRlbnQ+ICAgICAgICAoPyZkdGV4dCkgfCAoPyZxdW90ZWRfcGFpcikgKQooPzxkaXNwbGF5X25hbWU+ICAgICg/JnBocmFzZSkgKQooPzxkb21haW4+ICAgICAgICAgICg/JmRvdF9hdG9tKSB8ICg/JmRvbWFpbl9saXRlcmFsKSApCig/PGRvbWFpbl9saXRlcmFsPiAgKD8mQ0ZXUyk/KyBcWyAoPzogKD8mRldTKT8rICg/JmRjb250ZW50KSApKiAoPyZGV1MpPysgXF0KICAgICAgICAgICAgICAgICAgICAoPyZDRldTKT8rICkKKD88ZG90X2F0b20+ICAgICAgICAoPyZDRldTKT8rICg/JmRvdF9hdG9tX3RleHQpICg/JkNGV1MpPysgKQooPzxkb3RfYXRvbV90ZXh0PiAgICg/JmF0ZXh0KSsrICg/OiBcLiAoPyZhdGV4dCkrKykqKyApCig/PGR0ZXh0PiAgICAgICAgICAgW15ceHs5fVx4ezEwfVx4ezEzfVx4ezdmfS1ceHtmZn1cIFxbXF1cXF0gKQooPzxGV1M+ICAgICAgICAgICAgICg/OiBbXHRcIF0qKyBcbik/KyBbXHRcIF0rKyApCig/PGxvY2FsX3BhcnQ+ICAgICAgKD8mZG90X2F0b20pIHwgKD8mcXVvdGVkX3N0cmluZykgICkKKD88bWFpbGJveD4gICAgICAgICAoPyZuYW1lX2FkZHIpIHwgKD8mYWRkcl9zcGVjKSApCig/PG5hbWVfYWRkcj4gICAgICAgKD8mZGlzcGxheV9uYW1lKT8gKD8mYW5nbGVfYWRkcikgKQooPzxwaHJhc2U+ICAgICAgICAgICg/JndvcmQpKysgKQooPzxxY29udGVudD4gICAgICAgICg/JnF0ZXh0KSB8ICg/JnF1b3RlZF9wYWlyKSApCig/PHF1b3RlZF9wYWlyPiAgICAgIiAoPyZ0ZXh0KSApCig/PHF1b3RlZF9zdHJpbmc+ICAgKD8mQ0ZXUyk/KyAiICg/OiAoPyZGV1MpPysgKD8mcWNvbnRlbnQpKSogKD8mRldTKT8rICIKICAgICAgICAgICAgICAgICAgICAoPyZDRldTKT8rICkKKD88cXRleHQ+ICAgICAgICAgICBbXlx4ezl9XHh7MTB9XHh7MTN9XHh7N2Z9LVx4e2ZmfVwgIlxcXSApCig/PHRleHQ+ICAgICAgICAgICAgW15cclxuXSApCig/PHdvcmQ+ICAgICAgICAgICAgKD8mYXRvbSkgfCAoPyZxdW90ZWRfc3RyaW5nKSApCikgIyBFbmQgREVGSU5FCl4oPyZtYWlsYm94KSQvCiAgICBBbGFuIE90aGVyIDx1c2VyXEBkb20uYWluPgogMDogQWxhbiBPdGhlciA8dXNlckBkb20uYWluPgogICAgPHVzZXJcQGRvbS5haW4+CiAwOiA8dXNlckBkb20uYWluPgogICAgdXNlclxAZG9tLmFpbgogMDogdXNlckBkb20uYWluCiAgICB1c2VyXEBbXSAKIDA6IHVzZXJAW10KICAgIHVzZXJcQFtkb21haW4gbGl0ZXJhbF0gCiAwOiB1c2VyQFtkb21haW4gbGl0ZXJhbF0KICAgIHVzZXJcQFtkb21haW4gbGl0ZXJhbCB3aXRoIFwiW3NxdWFyZSBicmFja2V0c1wiXSBpbnNpZGVdIAogMDogdXNlckBbZG9tYWluIGxpdGVyYWwgd2l0aCAiW3NxdWFyZSBicmFja2V0cyJdIGluc2lkZV0KICAgIFwiQS4gT3RoZXJcIiA8dXNlci4xMjM0XEBkb20uYWluPiAoYSBjb21tZW50KQogMDogIkEuIE90aGVyIiA8dXNlci4xMjM0QGRvbS5haW4+IChhIGNvbW1lbnQpCiAgICBBLiBPdGhlciA8dXNlci4xMjM0XEBkb20uYWluPiAoYSBjb21tZW50KQogMDogQS4gT3RoZXIgPHVzZXIuMTIzNEBkb20uYWluPiAoYSBjb21tZW50KQogICAgXCIvcz11c2VyL291PWhvc3Qvbz1wbGFjZS9wcm1kPXV1Lnl5L2FkbWQ9IC9jPWdiL1wiXEB4NDAwLXJlLmxheQogMDogIi9zPXVzZXIvb3U9aG9zdC9vPXBsYWNlL3BybWQ9dXUueXkvYWRtZD0gL2M9Z2IvIkB4NDAwLXJlLmxheQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIEEgbWlzc2luZyBhbmdsZSA8dXNlclxAc29tZS53aGVyZQpObyBtYXRjaAogICAgVGhlIHF1aWNrIGJyb3duIGZveApObyBtYXRjaAogICAgCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gCgojIFRoaXMgcGF0dGVybiB1c2VzIG5hbWVkIGdyb3VwcyB0byBtYXRjaCBkZWZhdWx0IFBDUkUyIHBhdHRlcm5zLiBJdCdzIGFub3RoZXIKIyBoZWF2eSB0ZXN0IGZvciBuYW1lZCBzdWJwYXR0ZXJucy4gT25jZSBhZ2FpbiwgY29kZSBzbGFzaCBhcyBceHsyZn0gYW5kIGVzY2FwZSAKIyAkIGV2ZW4gaW4gY2xhc3NlcyBzbyB0aGF0IHRoaXMgd29ya3Mgd2l0aCBwY3JlMnRlc3QuCgovKD9zeCkoPyhERUZJTkUpCgooPzxhc3NlcnRpb24+ICAgICAgICAgKD8mc2ltcGxlX2Fzc2VydGlvbikgfCAoPyZsb29rYXJvdW5kKSApCgooPzxhdG9taWNfZ3JvdXA+ICAgICAgXCggXD8gPiAoPyZyZWdleCkgXCkgKQoKKD88YmFja19yZWZlcmVuY2U+ICAgIFxcIFxkKyB8CiAgICAgICAgICAgICAgICAgICAgICBcXGcgKD86IFsrLV0/XGQrIHwgXHsgKD86IFsrLV0/XGQrIHwgKD8mZ3JvdXBuYW1lKSApIFx9ICkgfAogICAgICAgICAgICAgICAgICAgICAgXFxrIDwoPyZncm91cG5hbWUpPiB8CiAgICAgICAgICAgICAgICAgICAgICBcXGsgJyg/Jmdyb3VwbmFtZSknIHwKICAgICAgICAgICAgICAgICAgICAgIFxcayBceyAoPyZncm91cG5hbWUpIFx9IHwKICAgICAgICAgICAgICAgICAgICAgIFwoIFw/IFA9ICg/Jmdyb3VwbmFtZSkgXCkgKQoKKD88YnJhbmNoPiAgICAgICAgICAgICg/Oig/JmFzc2VydGlvbikgfAogICAgICAgICAgICAgICAgICAgICAgICAgKD8mY2FsbG91dCkgfAogICAgICAgICAgICAgICAgICAgICAgICAgKD8mY29tbWVudCkgfAogICAgICAgICAgICAgICAgICAgICAgICAgKD8mb3B0aW9uX3NldHRpbmcpIHwKICAgICAgICAgICAgICAgICAgICAgICAgICg/JnF1YWxpZmllZF9pdGVtKSB8CiAgICAgICAgICAgICAgICAgICAgICAgICAoPyZxdW90ZWRfc3RyaW5nKSB8CiAgICAgICAgICAgICAgICAgICAgICAgICAoPyZxdW90ZWRfc3RyaW5nX2VtcHR5KSB8IAogICAgICAgICAgICAgICAgICAgICAgICAgKD8mc3BlY2lhbF9lc2NhcGUpIHwKICAgICAgICAgICAgICAgICAgICAgICAgICg/JnZlcmIpCiAgICAgICAgICAgICAgICAgICAgICApKiApCgooPzxjYWxsb3V0PiAgICAgICAgICAgXChcP0MgKD86IFxkKyB8IAogICAgICAgICAgICAgICAgICAgICAgKD86ICg/PEQ+WyInYF4lXCNcJF0pIAogICAgICAgICAgICAgICAgICAgICAgICAoPzogXGsnRCdcaydEJyB8ICg/IVxrJ0QnKSAuICkqIFxrJ0QnIHwKICAgICAgICAgICAgICAgICAgICAgIFx7ICg/OiBcfVx9IHwgW159XSorICkqIFx9ICkgCiAgICAgICAgICAgICAgICAgICAgICApPyBcKSApCgooPzxjYXB0dXJpbmdfZ3JvdXA+ICAgXCggKD86IFw/IFA/IDwgKD8mZ3JvdXBuYW1lKSA+IHwgXD8gJyAoPyZncm91cG5hbWUpICcgKT8KICAgICAgICAgICAgICAgICAgICAgICg/JnJlZ2V4KSBcKSApCgooPzxjaGFyYWN0ZXJfY2xhc3M+ICAgXFsgXF4/KyAoPzogXF0gKD8mY2xhc3NfaXRlbSkqIHwgKD8mY2xhc3NfaXRlbSkrICkgXF0gKQoKKD88Y2hhcmFjdGVyX3R5cGU+ICAgICg/ISBcXE5ce1x3K1x9ICkgXFwgW2REc1N3V2hIdlZSTl0gKQoKKD88Y2xhc3NfaXRlbT4gICAgICAgICg/OiBcWyA6ICg/OgogICAgICAgICAgICAgICAgICAgICAgYWxudW18YWxwaGF8YXNjaWl8Ymxhbmt8Y250cmx8ZGlnaXR8Z3JhcGh8bG93ZXJ8cHJpbnR8CiAgICAgICAgICAgICAgICAgICAgICBwdW5jdHxzcGFjZXx1cHBlcnx3b3JkfHhkaWdpdAogICAgICAgICAgICAgICAgICAgICAgKSA6IFxdIHwKICAgICAgICAgICAgICAgICAgICAgICg/JnF1b3RlZF9zdHJpbmcpIHwgIAogICAgICAgICAgICAgICAgICAgICAgKD8mcXVvdGVkX3N0cmluZ19lbXB0eSkgfCAKICAgICAgICAgICAgICAgICAgICAgICg/JmVzY2FwZWRfY2hhcmFjdGVyKSB8IAogICAgICAgICAgICAgICAgICAgICAgKD8mY2hhcmFjdGVyX3R5cGUpIHwgCiAgICAgICAgICAgICAgICAgICAgICBbXl1dICkgKQoKKD88Y29tbWVudD4gICAgICAgICAgIFwoXD9cIyBbXildKiBcKSB8ICg/JnF1b3RlZF9zdHJpbmdfZW1wdHkpIHwgXFxFICkKCig/PGNvbmRpdGlvbj4gICAgICAgICAoPzogXCggWystXT8gXGQrIFwpIHwKICAgICAgICAgICAgICAgICAgICAgICAgICBcKCA8ICg/Jmdyb3VwbmFtZSkgPiBcKSB8CiAgICAgICAgICAgICAgICAgICAgICAgICAgXCggJyAoPyZncm91cG5hbWUpICcgXCkgfAogICAgICAgICAgICAgICAgICAgICAgICAgIFwoIFIgXGQqIFwpIHwKICAgICAgICAgICAgICAgICAgICAgICAgICBcKCBSICYgKD8mZ3JvdXBuYW1lKSBcKSB8CiAgICAgICAgICAgICAgICAgICAgICAgICAgXCggKD8mZ3JvdXBuYW1lKSBcKSB8IAogICAgICAgICAgICAgICAgICAgICAgICAgIFwoIERFRklORSBcKSB8CiAgICAgICAgICAgICAgICAgICAgICAgICAgXCggVkVSU0lPTiA+Pz1cZCsoPzpcLlxkXGQ/KT8gXCkgfAogICAgICAgICAgICAgICAgICAgICAgICAgICg/JmNhbGxvdXQpPysgKD8mY29tbWVudCkqICg/Jmxvb2thcm91bmQpICkgKQoKKD88Y29uZGl0aW9uYWxfZ3JvdXA+IFwoXD8gKD8mY29uZGl0aW9uKSAoPyZicmFuY2gpICg/OiBcfCAoPyZicmFuY2gpICk/IFwpICkKCig/PGRlbGltaXRlZF9yZWdleD4gICAoPzxkZWxpbWl0ZXI+IFstXHh7MmZ9ISInYD1fOjssJSZAfl0pICg/JnJlZ2V4KSAKICAgICAgICAgICAgICAgICAgICAgIFxrJ2RlbGltaXRlcicgLiogKQoKKD88ZXNjYXBlZF9jaGFyYWN0ZXI+IFxcICg/OiAwWzAtN117MSwyfSB8IFswLTddezEsM30gfCBvXHsgWzAtN10rIFx9IHwKICAgICAgICAgICAgICAgICAgICAgIHggXHsgKCpDT01NSVQpIFtbOnhkaWdpdDpdXSogXH0gfCB4IFtbOnhkaWdpdDpdXXswLDJ9IHwgCiAgICAgICAgICAgICAgICAgICAgICBbYWVmbnJ0XSB8IGNbWzpwcmludDpdXSB8CiAgICAgICAgICAgICAgICAgICAgICBbXls6YWxudW06XV0gKSApCgooPzxncm91cD4gICAgICAgICAgICAgKD8mY2FwdHVyaW5nX2dyb3VwKSB8ICg/Jm5vbl9jYXB0dXJpbmdfZ3JvdXApIHwKICAgICAgICAgICAgICAgICAgICAgICg/JnJlc2V0dGluZ19ncm91cCkgfCAoPyZhdG9taWNfZ3JvdXApIHwKICAgICAgICAgICAgICAgICAgICAgICg/JmNvbmRpdGlvbmFsX2dyb3VwKSApCgooPzxncm91cG5hbWU+ICAgICAgICAgW2EtekEtWl9dXHcqICkKCig/PGxpdGVyYWxfY2hhcmFjdGVyPiAoPyEgKD8mcmFuZ2VfcXVhbGlmaWVyKSApIFteWygpfCorPy5cJFxcXSApCgooPzxsb29rYXJvdW5kPiAgICAgICAgXChcPyAoPzogPSB8ICEgfCA8PSB8IDwhICkgKD8mcmVnZXgpIFwpICkKCig/PG5vbl9jYXB0dXJpbmdfZ3JvdXA+IFwoXD8gW2lKbW5zVXgtXSogOiAoPyZyZWdleCkgXCkgKQoKKD88b3B0aW9uX3NldHRpbmc+ICAgIFwoXD8gW2lKbW5zVXgtXSogXCkgKQoKKD88cXVhbGlmaWVkX2l0ZW0+ICAgICg/OlwuIHwKICAgICAgICAgICAgICAgICAgICAgICAgICg/Jmxvb2thcm91bmQpIHwKICAgICAgICAgICAgICAgICAgICAgICAgICg/JmJhY2tfcmVmZXJlbmNlKSB8CiAgICAgICAgICAgICAgICAgICAgICAgICAoPyZjaGFyYWN0ZXJfY2xhc3MpIHwKICAgICAgICAgICAgICAgICAgICAgICAgICg/JmNoYXJhY3Rlcl90eXBlKSB8CiAgICAgICAgICAgICAgICAgICAgICAgICAoPyZlc2NhcGVkX2NoYXJhY3RlcikgfAogICAgICAgICAgICAgICAgICAgICAgICAgKD8mZ3JvdXApIHwKICAgICAgICAgICAgICAgICAgICAgICAgICg/JnN1YnJvdXRpbmVfY2FsbCkgfAogICAgICAgICAgICAgICAgICAgICAgICAgKD8mbGl0ZXJhbF9jaGFyYWN0ZXIpIHwKICAgICAgICAgICAgICAgICAgICAgICAgICg/JnF1b3RlZF9zdHJpbmcpIAogICAgICAgICAgICAgICAgICAgICAgKSAoPyZjb21tZW50KT8gKD8mcXVhbGlmaWVyKT8gKQoKKD88cXVhbGlmaWVyPiAgICAgICAgICg/OiBbPyorXSB8ICg/JnJhbmdlX3F1YWxpZmllcikgKSBbKz9dPyApCgooPzxxdW90ZWRfc3RyaW5nPiAgICAgKD86IFxcUSAoPzogKD8hXFxFIHwgXGsnZGVsaW1pdGVyJykgLiApKysgKD86IFxcRSB8ICkgKSApIAogICAgICAgICAgICAgICAgICAgICAgCig/PHF1b3RlZF9zdHJpbmdfZW1wdHk+ICBcXFFcXEUgKSAKCig/PHJhbmdlX3F1YWxpZmllcj4gICBceyAoPzogXGQrICg/OiAsIFxkKiApPyB8ICwgXGQrICkgXH0gKQoKKD88cmVnZXg+ICAgICAgICAgICAgICg/JnN0YXJ0X2l0ZW0pKiAoPyZicmFuY2gpICg/OiBcfCAoPyZicmFuY2gpICkqICkKCig/PHJlc2V0dGluZ19ncm91cD4gICBcKCBcPyBcfCAoPyZyZWdleCkgXCkgKQoKKD88c2ltcGxlX2Fzc2VydGlvbj4gIFxeIHwgXCQgfCBcXEEgfCBcXGIgfCBcXEIgfCBcXEcgfCBcXHogfCBcXFogKQoKKD88c3BlY2lhbF9lc2NhcGU+ICAgIFxcSyApCgooPzxzdGFydF9pdGVtPiAgICAgICAgXCggXCogKD86CiAgICAgICAgICAgICAgICAgICAgICBBTlkgfAogICAgICAgICAgICAgICAgICAgICAgQU5ZQ1JMRiB8CiAgICAgICAgICAgICAgICAgICAgICBCU1JfQU5ZQ1JMRiB8CiAgICAgICAgICAgICAgICAgICAgICBCU1JfVU5JQ09ERSB8CiAgICAgICAgICAgICAgICAgICAgICBDUiB8CiAgICAgICAgICAgICAgICAgICAgICBDUkxGIHwKICAgICAgICAgICAgICAgICAgICAgIExGIHwKICAgICAgICAgICAgICAgICAgICAgIExJTUlUX01BVENIPVxkKyB8CiAgICAgICAgICAgICAgICAgICAgICBMSU1JVF9ERVBUSD1cZCsgfAogICAgICAgICAgICAgICAgICAgICAgTElNSVRfSEVBUD1cZCsgfCAKICAgICAgICAgICAgICAgICAgICAgIE5PVEVNUFRZIHwKICAgICAgICAgICAgICAgICAgICAgIE5PVEVNUFRZX0FUU1RBUlQgfAogICAgICAgICAgICAgICAgICAgICAgTk9fQVVUT19QT1NTRVNTIHwKICAgICAgICAgICAgICAgICAgICAgIE5PX0RPVFNUQVJfQU5DSE9SIHwKICAgICAgICAgICAgICAgICAgICAgIE5PX0pJVCB8CiAgICAgICAgICAgICAgICAgICAgICBOT19TVEFSVF9PUFQgfAogICAgICAgICAgICAgICAgICAgICAgTlVMIHwKICAgICAgICAgICAgICAgICAgICAgIFVURiB8CiAgICAgICAgICAgICAgICAgICAgICBVQ1AgKSBcKSApCgooPzxzdWJyb3V0aW5lX2NhbGw+ICAgKD86IFwoXD9SXCkgfCBcKFw/WystXT9cZCtcKSB8CiAgICAgICAgICAgICAgICAgICAgICBcKFw/ICg/OiAmIHwgUD4gKSAoPyZncm91cG5hbWUpIFwpIHwKICAgICAgICAgICAgICAgICAgICAgIFxcZyA8ICg/Jmdyb3VwbmFtZSkgPiB8CiAgICAgICAgICAgICAgICAgICAgICBcXGcgJyAoPyZncm91cG5hbWUpICcgfAogICAgICAgICAgICAgICAgICAgICAgXFxnIDwgWystXT8gXGQrID4gfAogICAgICAgICAgICAgICAgICAgICAgXFxnICcgWystXT8gXGQrICkgKQoKKD88dmVyYj4gICAgICAgICAgICAgIFwoXCogKD86IEFDQ0VQVCB8IEZBSUwgfCBGIHwgQ09NTUlUIHwKICAgICAgICAgICAgICAgICAgICAgICg/Ok1BUkspPzooPyZ2ZXJibmFtZSkgfAogICAgICAgICAgICAgICAgICAgICAgKD86UFJVTkV8U0tJUHxUSEVOKSAoPzogOiAoPyZ2ZXJibmFtZSk/ICk/ICkgXCkgKQoKKD88dmVyYm5hbWU+ICAgICAgICAgIFteKV0rICkKCikgIyBFbmQgREVGSU5FCiMgS2ljayBpdCBhbGwgb2ZmLi4uCl4oPyZkZWxpbWl0ZWRfcmVnZXgpJC9zdWJqZWN0X2xpdGVyYWwsaml0c3RhY2s9MjU2CiAgICAvXihhKShiKShjKShkKShlKShmKShnKShoKShpKShqKShrKVwxMSooXDNcNClcMSg/IykyJC8KIDA6IC9eKGEpKGIpKGMpKGQpKGUpKGYpKGcpKGgpKGkpKGopKGspXDExKihcM1w0KVwxKD8jKTIkLwogICAgLyhjYXQoYShyYWN0fHRvbmljKXxlcnBpbGxhcikpIFwxKCkyKDMpLwogMDogLyhjYXQoYShyYWN0fHRvbmljKXxlcnBpbGxhcikpIFwxKCkyKDMpLwogICAgL15Gcm9tICsoW14gXSspICtbYS16QS1aXVthLXpBLVpdW2EtekEtWl0gK1thLXpBLVpdW2EtekEtWl1bYS16QS1aXSArWzAtOV0/WzAtOV0gK1swLTldWzAtOV06WzAtOV1bMC05XS8KIDA6IC9eRnJvbSArKFteIF0rKSArW2EtekEtWl1bYS16QS1aXVthLXpBLVpdICtbYS16QS1aXVthLXpBLVpdW2EtekEtWl0gK1swLTldP1swLTldICtbMC05XVswLTldOlswLTldWzAtOV0vCiAgICAvXkZyb21ccytcUytccysoW2EtekEtWl17M31ccyspezJ9XGR7MSwyfVxzK1xkXGQ6XGRcZC8KIDA6IC9eRnJvbVxzK1xTK1xzKyhbYS16QS1aXXszfVxzKyl7Mn1cZHsxLDJ9XHMrXGRcZDpcZFxkLwogICAgLzx0cihbXHdcV1xzXGRdW148Pl17MCx9KT48VEQoW1x3XFdcc1xkXVtePD5dezAsfSk+KFtcZF17MCx9XC4pKC4qKSgoPEJSPihbXHdcV1xzXGRdW148Pl17MCx9KXxbXHNdezAsfSkpPFwvYT48XC9URD48VEQoW1x3XFdcc1xkXVtePD5dezAsfSk+KFtcd1xXXHNcZF1bXjw+XXswLH0pPFwvVEQ+PFREKFtcd1xXXHNcZF1bXjw+XXswLH0pPihbXHdcV1xzXGRdW148Pl17MCx9KTxcL1REPjxcL1RSPi9pcwogMDogLzx0cihbXHdcV1xzXGRdW148Pl17MCx9KT48VEQoW1x3XFdcc1xkXVtePD5dezAsfSk+KFtcZF17MCx9XC4pKC4qKSgoPEJSPihbXHdcV1xzXGRdW148Pl17MCx9KXxbXHNdezAsfSkpPFwvYT48XC9URD48VEQoW1x3XFdcc1xkXVtePD5dezAsfSk+KFtcd1xXXHNcZF1bXjw+XXswLH0pPFwvVEQ+PFREKFtcd1xXXHNcZF1bXjw+XXswLH0pPihbXHdcV1xzXGRdW148Pl17MCx9KTxcL1REPjxcL1RSPi9pcwogICAgL14oPyhERUZJTkUpICg/PEE+IGEpICg/PEI+IGIpICkgICg/JkEpICg/JkIpIC8KIDA6IC9eKD8oREVGSU5FKSAoPzxBPiBhKSAoPzxCPiBiKSApICAoPyZBKSAoPyZCKSAvCiAgICAvKD8oREVGSU5FKSg/PGJ5dGU+MlswLTRdXGR8MjVbMC01XXwxXGRcZHxbMS05XT9cZCkpXGIoPyZieXRlKShcLig/JmJ5dGUpKXszfS8KIDA6IC8oPyhERUZJTkUpKD88Ynl0ZT4yWzAtNF1cZHwyNVswLTVdfDFcZFxkfFsxLTldP1xkKSlcYig/JmJ5dGUpKFwuKD8mYnl0ZSkpezN9LwogICAgL1xiKD8mYnl0ZSkoXC4oPyZieXRlKSl7M30oPyhERUZJTkUpKD88Ynl0ZT4yWzAtNF1cZHwyNVswLTVdfDFcZFxkfFsxLTldP1xkKSkvCiAwOiAvXGIoPyZieXRlKShcLig/JmJ5dGUpKXszfSg/KERFRklORSkoPzxieXRlPjJbMC00XVxkfDI1WzAtNV18MVxkXGR8WzEtOV0/XGQpKS8KICAgIC9eKFx3Kyt8XHMrKykqJC8KIDA6IC9eKFx3Kyt8XHMrKykqJC8KICAgIC9hK2I/KCpUSEVOKWMrKCpGQUlMKS8KIDA6IC9hK2I/KCpUSEVOKWMrKCpGQUlMKS8KICAgIC8oQSAoQXxCKCpBQ0NFUFQpfEMpIEQpKEUpL3gKIDA6IC8oQSAoQXxCKCpBQ0NFUFQpfEMpIEQpKEUpL3gKICAgIC9eXFcqKyg/OigoLilcVyorKD8xKVxXKitcMnwpfCgoLilcVyorKD8zKVxXKitcNHxcVyorLlxXKispKVxXKiskL2kKIDA6IC9eXFcqKyg/OigoLilcVyorKD8xKVxXKitcMnwpfCgoLilcVyorKD8zKVxXKitcNHxcVyorLlxXKispKVxXKiskL2kKICAgIC9BKCpQUlVORSlCKCpTS0lQKUMoKlRIRU4pRCgqQ09NTUlUKUUoKkYpRigqRkFJTClHKD8hKUgoKkFDQ0VQVClJL0IKIDA6IC9BKCpQUlVORSlCKCpTS0lQKUMoKlRIRU4pRCgqQ09NTUlUKUUoKkYpRigqRkFJTClHKD8hKUgoKkFDQ0VQVClJL0IKICAgIC8oP0NgYWBgYmApKD9DJ2EnJ2InKSg/QyJhIiJiIikoP0NeYV5eYl4pKD9DJWElJWIlKSg/QyNhIyNiIykoP0MkYSQkYiQpKD9De2F9fWJ9KS9CLGNhbGxvdXRfaW5mbwogMDogLyg/Q2BhYGBiYCkoP0MnYScnYicpKD9DImEiImIiKSg/Q15hXl5iXikoP0MlYSUlYiUpKD9DI2EjI2IjKSg/QyRhJCRiJCkoP0N7YX19Yn0pL0IsY2FsbG91dF9pbmZvCiAgICAvKD9zeCkoPyhERUZJTkUpKD88YXNzZXJ0aW9uPiAoPyZzaW1wbGVfYXNzZXJ0aW9uKSB8ICg/Jmxvb2thcm91bmQpICkoPzxhdG9taWNfZ3JvdXA+IFwoIFw/ID4gKD8mcmVnZXgpIFwpICkoPzxiYWNrX3JlZmVyZW5jZT4gXFwgXGQrIHwgXFxnICg/OiBbKy1dP1xkKyB8IFx7ICg/OiBbKy1dP1xkKyB8ICg/Jmdyb3VwbmFtZSkgKSBcfSApIHwgXFxrIDwoPyZncm91cG5hbWUpPiB8IFxcayAnKD8mZ3JvdXBuYW1lKScgfCBcXGsgXHsgKD8mZ3JvdXBuYW1lKSBcfSB8IFwoIFw/IFA9ICg/Jmdyb3VwbmFtZSkgXCkgKSg/PGJyYW5jaD4gKD86KD8mYXNzZXJ0aW9uKSB8ICg/JmNhbGxvdXQpIHwgKD8mY29tbWVudCkgfCAoPyZvcHRpb25fc2V0dGluZykgfCAoPyZxdWFsaWZpZWRfaXRlbSkgfCAoPyZxdW90ZWRfc3RyaW5nKSB8ICg/JnF1b3RlZF9zdHJpbmdfZW1wdHkpIHwgKD8mc3BlY2lhbF9lc2NhcGUpIHwgKD8mdmVyYikgKSogKSg/PGNhbGxvdXQ+IFwoXD9DICg/OiBcZCsgfCAoPzogKD88RD5bIidgXiVcI1wkXSkgKD86IFxrJ0QnXGsnRCcgfCAoPyFcaydEJykgLiApKiBcaydEJyB8IFx7ICg/OiBcfVx9IHwgW159XSorICkqIFx9ICkgKT8gXCkgKSg/PGNhcHR1cmluZ19ncm91cD4gXCggKD86IFw/IFA/IDwgKD8mZ3JvdXBuYW1lKSA+IHwgXD8gJyAoPyZncm91cG5hbWUpICcgKT8gKD8mcmVnZXgpIFwpICkoPzxjaGFyYWN0ZXJfY2xhc3M+IFxbIFxePysgKD86IFxdICg/JmNsYXNzX2l0ZW0pKiB8ICg/JmNsYXNzX2l0ZW0pKyApIFxdICkoPzxjaGFyYWN0ZXJfdHlwZT4gKD8hIFxcTlx7XHcrXH0gKSBcXCBbZERzU3dXaEh2VlJOXSApKD88Y2xhc3NfaXRlbT4gKD86IFxbIDogKD86IGFsbnVtfGFscGhhfGFzY2lpfGJsYW5rfGNudHJsfGRpZ2l0fGdyYXBofGxvd2VyfHByaW50fCBwdW5jdHxzcGFjZXx1cHBlcnx3b3JkfHhkaWdpdCApIDogXF0gfCAoPyZxdW90ZWRfc3RyaW5nKSB8ICg/JnF1b3RlZF9zdHJpbmdfZW1wdHkpIHwgKD8mZXNjYXBlZF9jaGFyYWN0ZXIpIHwgKD8mY2hhcmFjdGVyX3R5cGUpIHwgW15dXSApICkoPzxjb21tZW50PiBcKFw/XCMgW14pXSogXCkgfCAoPyZxdW90ZWRfc3RyaW5nX2VtcHR5KSB8IFxcRSApKD88Y29uZGl0aW9uPiAoPzogXCggWystXT8gXGQrIFwpIHwgXCggPCAoPyZncm91cG5hbWUpID4gXCkgfCBcKCAnICg/Jmdyb3VwbmFtZSkgJyBcKSB8IFwoIFIgXGQqIFwpIHwgXCggUiAmICg/Jmdyb3VwbmFtZSkgXCkgfCBcKCAoPyZncm91cG5hbWUpIFwpIHwgXCggREVGSU5FIFwpIHwgXCggVkVSU0lPTiA+Pz1cZCsoPzpcLlxkXGQ/KT8gXCkgfCAoPyZjYWxsb3V0KT8rICg/JmNvbW1lbnQpKiAoPyZsb29rYXJvdW5kKSApICkoPzxjb25kaXRpb25hbF9ncm91cD4gXChcPyAoPyZjb25kaXRpb24pICg/JmJyYW5jaCkgKD86IFx8ICg/JmJyYW5jaCkgKT8gXCkgKSg/PGRlbGltaXRlZF9yZWdleD4gKD88ZGVsaW1pdGVyPiBbLVx4ezJmfSEiJ2A9Xzo7LCUmQH5dKSAoPyZyZWdleCkgXGsnZGVsaW1pdGVyJyAuKiApKD88ZXNjYXBlZF9jaGFyYWN0ZXI+IFxcICg/OiAwWzAtN117MSwyfSB8IFswLTddezEsM30gfCBvXHsgWzAtN10rIFx9IHwgeCBceyAoKkNPTU1JVCkgW1s6eGRpZ2l0Ol1dKiBcfSB8IHggW1s6eGRpZ2l0Ol1dezAsMn0gfCBbYWVmbnJ0XSB8IGNbWzpwcmludDpdXSB8IFteWzphbG51bTpdXSApICkoPzxncm91cD4gKD8mY2FwdHVyaW5nX2dyb3VwKSB8ICg/Jm5vbl9jYXB0dXJpbmdfZ3JvdXApIHwgKD8mcmVzZXR0aW5nX2dyb3VwKSB8ICg/JmF0b21pY19ncm91cCkgfCAoPyZjb25kaXRpb25hbF9ncm91cCkgKSg/PGdyb3VwbmFtZT4gW2EtekEtWl9dXHcqICkoPzxsaXRlcmFsX2NoYXJhY3Rlcj4gKD8hICg/JnJhbmdlX3F1YWxpZmllcikgKSBbXlsoKXwqKz8uXCRcXF0gKSg/PGxvb2thcm91bmQ+IFwoXD8gKD86ID0gfCAhIHwgPD0gfCA8ISApICg/JnJlZ2V4KSBcKSApKD88bm9uX2NhcHR1cmluZ19ncm91cD4gXChcPyBbaUptbnNVeC1dKiA6ICg/JnJlZ2V4KSBcKSApKD88b3B0aW9uX3NldHRpbmc+IFwoXD8gW2lKbW5zVXgtXSogXCkgKSg/PHF1YWxpZmllZF9pdGVtPiAoPzpcLiB8ICg/Jmxvb2thcm91bmQpIHwgKD8mYmFja19yZWZlcmVuY2UpIHwgKD8mY2hhcmFjdGVyX2NsYXNzKSB8ICg/JmNoYXJhY3Rlcl90eXBlKSB8ICg/JmVzY2FwZWRfY2hhcmFjdGVyKSB8ICg/Jmdyb3VwKSB8ICg/JnN1YnJvdXRpbmVfY2FsbCkgfCAoPyZsaXRlcmFsX2NoYXJhY3RlcikgfCAoPyZxdW90ZWRfc3RyaW5nKSApICg/JmNvbW1lbnQpPyAoPyZxdWFsaWZpZXIpPyApKD88cXVhbGlmaWVyPiAoPzogWz8qK10gfCAoPyZyYW5nZV9xdWFsaWZpZXIpICkgWys/XT8gKSg/PHF1b3RlZF9zdHJpbmc+ICg/OiBcXFEgKD86ICg/IVxcRSB8IFxrJ2RlbGltaXRlcicpIC4gKSsrICg/OiBcXEUgfCApICkgKSAoPzxxdW90ZWRfc3RyaW5nX2VtcHR5PiBcXFFcXEUgKSAoPzxyYW5nZV9xdWFsaWZpZXI+IFx7ICg/OiBcZCsgKD86ICwgXGQqICk/IHwgLCBcZCsgKSBcfSApKD88cmVnZXg+ICg/JnN0YXJ0X2l0ZW0pKiAoPyZicmFuY2gpICg/OiBcfCAoPyZicmFuY2gpICkqICkoPzxyZXNldHRpbmdfZ3JvdXA+IFwoIFw/IFx8ICg/JnJlZ2V4KSBcKSApKD88c2ltcGxlX2Fzc2VydGlvbj4gXF4gfCBcJCB8IFxcQSB8IFxcYiB8IFxcQiB8IFxcRyB8IFxceiB8IFxcWiApKD88c3BlY2lhbF9lc2NhcGU+IFxcSyApKD88c3RhcnRfaXRlbT4gXCggXCogKD86IEFOWSB8IEFOWUNSTEYgfCBCU1JfQU5ZQ1JMRiB8IEJTUl9VTklDT0RFIHwgQ1IgfCBDUkxGIHwgTEYgfCBMSU1JVF9NQVRDSD1cZCsgfCBMSU1JVF9ERVBUSD1cZCsgfCBMSU1JVF9IRUFQPVxkKyB8IE5PVEVNUFRZIHwgTk9URU1QVFlfQVRTVEFSVCB8IE5PX0FVVE9fUE9TU0VTUyB8IE5PX0RPVFNUQVJfQU5DSE9SIHwgTk9fSklUIHwgTk9fU1RBUlRfT1BUIHwgTlVMIHwgVVRGIHwgVUNQICkgXCkgKSg/PHN1YnJvdXRpbmVfY2FsbD4gKD86IFwoXD9SXCkgfCBcKFw/WystXT9cZCtcKSB8IFwoXD8gKD86ICYgfCBQPiApICg/Jmdyb3VwbmFtZSkgXCkgfCBcXGcgPCAoPyZncm91cG5hbWUpID4gfCBcXGcgJyAoPyZncm91cG5hbWUpICcgfCBcXGcgPCBbKy1dPyBcZCsgPiB8IFxcZyAnIFsrLV0/IFxkKyApICkoPzx2ZXJiPiBcKFwqICg/OiBBQ0NFUFQgfCBGQUlMIHwgRiB8IENPTU1JVCB8ICg/Ok1BUkspPzooPyZ2ZXJibmFtZSkgfCAoPzpQUlVORXxTS0lQfFRIRU4pICg/OiA6ICg/JnZlcmJuYW1lKT8gKT8gKSBcKSApKD88dmVyYm5hbWU+IFteKV0rICkpXig/JmRlbGltaXRlZF9yZWdleCkkLwogMDogLyg/c3gpKD8oREVGSU5FKSg/PGFzc2VydGlvbj4gKD8mc2ltcGxlX2Fzc2VydGlvbikgfCAoPyZsb29rYXJvdW5kKSApKD88YXRvbWljX2dyb3VwPiBcKCBcPyA+ICg/JnJlZ2V4KSBcKSApKD88YmFja19yZWZlcmVuY2U+IFxcIFxkKyB8IFxcZyAoPzogWystXT9cZCsgfCBceyAoPzogWystXT9cZCsgfCAoPyZncm91cG5hbWUpICkgXH0gKSB8IFxcayA8KD8mZ3JvdXBuYW1lKT4gfCBcXGsgJyg/Jmdyb3VwbmFtZSknIHwgXFxrIFx7ICg/Jmdyb3VwbmFtZSkgXH0gfCBcKCBcPyBQPSAoPyZncm91cG5hbWUpIFwpICkoPzxicmFuY2g+ICg/Oig/JmFzc2VydGlvbikgfCAoPyZjYWxsb3V0KSB8ICg/JmNvbW1lbnQpIHwgKD8mb3B0aW9uX3NldHRpbmcpIHwgKD8mcXVhbGlmaWVkX2l0ZW0pIHwgKD8mcXVvdGVkX3N0cmluZykgfCAoPyZxdW90ZWRfc3RyaW5nX2VtcHR5KSB8ICg/JnNwZWNpYWxfZXNjYXBlKSB8ICg/JnZlcmIpICkqICkoPzxjYWxsb3V0PiBcKFw/QyAoPzogXGQrIHwgKD86ICg/PEQ+WyInYF4lXCNcJF0pICg/OiBcaydEJ1xrJ0QnIHwgKD8hXGsnRCcpIC4gKSogXGsnRCcgfCBceyAoPzogXH1cfSB8IFtefV0qKyApKiBcfSApICk/IFwpICkoPzxjYXB0dXJpbmdfZ3JvdXA+IFwoICg/OiBcPyBQPyA8ICg/Jmdyb3VwbmFtZSkgPiB8IFw/ICcgKD8mZ3JvdXBuYW1lKSAnICk/ICg/JnJlZ2V4KSBcKSApKD88Y2hhcmFjdGVyX2NsYXNzPiBcWyBcXj8rICg/OiBcXSAoPyZjbGFzc19pdGVtKSogfCAoPyZjbGFzc19pdGVtKSsgKSBcXSApKD88Y2hhcmFjdGVyX3R5cGU+ICg/ISBcXE5ce1x3K1x9ICkgXFwgW2REc1N3V2hIdlZSTl0gKSg/PGNsYXNzX2l0ZW0+ICg/OiBcWyA6ICg/OiBhbG51bXxhbHBoYXxhc2NpaXxibGFua3xjbnRybHxkaWdpdHxncmFwaHxsb3dlcnxwcmludHwgcHVuY3R8c3BhY2V8dXBwZXJ8d29yZHx4ZGlnaXQgKSA6IFxdIHwgKD8mcXVvdGVkX3N0cmluZykgfCAoPyZxdW90ZWRfc3RyaW5nX2VtcHR5KSB8ICg/JmVzY2FwZWRfY2hhcmFjdGVyKSB8ICg/JmNoYXJhY3Rlcl90eXBlKSB8IFteXV0gKSApKD88Y29tbWVudD4gXChcP1wjIFteKV0qIFwpIHwgKD8mcXVvdGVkX3N0cmluZ19lbXB0eSkgfCBcXEUgKSg/PGNvbmRpdGlvbj4gKD86IFwoIFsrLV0/IFxkKyBcKSB8IFwoIDwgKD8mZ3JvdXBuYW1lKSA+IFwpIHwgXCggJyAoPyZncm91cG5hbWUpICcgXCkgfCBcKCBSIFxkKiBcKSB8IFwoIFIgJiAoPyZncm91cG5hbWUpIFwpIHwgXCggKD8mZ3JvdXBuYW1lKSBcKSB8IFwoIERFRklORSBcKSB8IFwoIFZFUlNJT04gPj89XGQrKD86XC5cZFxkPyk/IFwpIHwgKD8mY2FsbG91dCk/KyAoPyZjb21tZW50KSogKD8mbG9va2Fyb3VuZCkgKSApKD88Y29uZGl0aW9uYWxfZ3JvdXA+IFwoXD8gKD8mY29uZGl0aW9uKSAoPyZicmFuY2gpICg/OiBcfCAoPyZicmFuY2gpICk/IFwpICkoPzxkZWxpbWl0ZWRfcmVnZXg+ICg/PGRlbGltaXRlcj4gWy1ceHsyZn0hIidgPV86OywlJkB+XSkgKD8mcmVnZXgpIFxrJ2RlbGltaXRlcicgLiogKSg/PGVzY2FwZWRfY2hhcmFjdGVyPiBcXCAoPzogMFswLTddezEsMn0gfCBbMC03XXsxLDN9IHwgb1x7IFswLTddKyBcfSB8IHggXHsgKCpDT01NSVQpIFtbOnhkaWdpdDpdXSogXH0gfCB4IFtbOnhkaWdpdDpdXXswLDJ9IHwgW2FlZm5ydF0gfCBjW1s6cHJpbnQ6XV0gfCBbXls6YWxudW06XV0gKSApKD88Z3JvdXA+ICg/JmNhcHR1cmluZ19ncm91cCkgfCAoPyZub25fY2FwdHVyaW5nX2dyb3VwKSB8ICg/JnJlc2V0dGluZ19ncm91cCkgfCAoPyZhdG9taWNfZ3JvdXApIHwgKD8mY29uZGl0aW9uYWxfZ3JvdXApICkoPzxncm91cG5hbWU+IFthLXpBLVpfXVx3KiApKD88bGl0ZXJhbF9jaGFyYWN0ZXI+ICg/ISAoPyZyYW5nZV9xdWFsaWZpZXIpICkgW15bKCl8Kis/LlwkXFxdICkoPzxsb29rYXJvdW5kPiBcKFw/ICg/OiA9IHwgISB8IDw9IHwgPCEgKSAoPyZyZWdleCkgXCkgKSg/PG5vbl9jYXB0dXJpbmdfZ3JvdXA+IFwoXD8gW2lKbW5zVXgtXSogOiAoPyZyZWdleCkgXCkgKSg/PG9wdGlvbl9zZXR0aW5nPiBcKFw/IFtpSm1uc1V4LV0qIFwpICkoPzxxdWFsaWZpZWRfaXRlbT4gKD86XC4gfCAoPyZsb29rYXJvdW5kKSB8ICg/JmJhY2tfcmVmZXJlbmNlKSB8ICg/JmNoYXJhY3Rlcl9jbGFzcykgfCAoPyZjaGFyYWN0ZXJfdHlwZSkgfCAoPyZlc2NhcGVkX2NoYXJhY3RlcikgfCAoPyZncm91cCkgfCAoPyZzdWJyb3V0aW5lX2NhbGwpIHwgKD8mbGl0ZXJhbF9jaGFyYWN0ZXIpIHwgKD8mcXVvdGVkX3N0cmluZykgKSAoPyZjb21tZW50KT8gKD8mcXVhbGlmaWVyKT8gKSg/PHF1YWxpZmllcj4gKD86IFs/KitdIHwgKD8mcmFuZ2VfcXVhbGlmaWVyKSApIFsrP10/ICkoPzxxdW90ZWRfc3RyaW5nPiAoPzogXFxRICg/OiAoPyFcXEUgfCBcaydkZWxpbWl0ZXInKSAuICkrKyAoPzogXFxFIHwgKSApICkgKD88cXVvdGVkX3N0cmluZ19lbXB0eT4gXFxRXFxFICkgKD88cmFuZ2VfcXVhbGlmaWVyPiBceyAoPzogXGQrICg/OiAsIFxkKiApPyB8ICwgXGQrICkgXH0gKSg/PHJlZ2V4PiAoPyZzdGFydF9pdGVtKSogKD8mYnJhbmNoKSAoPzogXHwgKD8mYnJhbmNoKSApKiApKD88cmVzZXR0aW5nX2dyb3VwPiBcKCBcPyBcfCAoPyZyZWdleCkgXCkgKSg/PHNpbXBsZV9hc3NlcnRpb24+IFxeIHwgXCQgfCBcXEEgfCBcXGIgfCBcXEIgfCBcXEcgfCBcXHogfCBcXFogKSg/PHNwZWNpYWxfZXNjYXBlPiBcXEsgKSg/PHN0YXJ0X2l0ZW0+IFwoIFwqICg/OiBBTlkgfCBBTllDUkxGIHwgQlNSX0FOWUNSTEYgfCBCU1JfVU5JQ09ERSB8IENSIHwgQ1JMRiB8IExGIHwgTElNSVRfTUFUQ0g9XGQrIHwgTElNSVRfREVQVEg9XGQrIHwgTElNSVRfSEVBUD1cZCsgfCBOT1RFTVBUWSB8IE5PVEVNUFRZX0FUU1RBUlQgfCBOT19BVVRPX1BPU1NFU1MgfCBOT19ET1RTVEFSX0FOQ0hPUiB8IE5PX0pJVCB8IE5PX1NUQVJUX09QVCB8IE5VTCB8IFVURiB8IFVDUCApIFwpICkoPzxzdWJyb3V0aW5lX2NhbGw+ICg/OiBcKFw/UlwpIHwgXChcP1srLV0/XGQrXCkgfCBcKFw/ICg/OiAmIHwgUD4gKSAoPyZncm91cG5hbWUpIFwpIHwgXFxnIDwgKD8mZ3JvdXBuYW1lKSA+IHwgXFxnICcgKD8mZ3JvdXBuYW1lKSAnIHwgXFxnIDwgWystXT8gXGQrID4gfCBcXGcgJyBbKy1dPyBcZCsgKSApKD88dmVyYj4gXChcKiAoPzogQUNDRVBUIHwgRkFJTCB8IEYgfCBDT01NSVQgfCAoPzpNQVJLKT86KD8mdmVyYm5hbWUpIHwgKD86UFJVTkV8U0tJUHxUSEVOKSAoPzogOiAoPyZ2ZXJibmFtZSk/ICk/ICkgXCkgKSg/PHZlcmJuYW1lPiBbXildKyApKV4oPyZkZWxpbWl0ZWRfcmVnZXgpJC8KXD0gRXhwZWN0IG5vIG1hdGNoCiAgICAvKCg/KD9DJycpXFFYXEUoPyEoKD8oP0MnJykoPyFYPVgpKTs9KXIqWD1YKSk7PSkvCk5vIG1hdGNoCiAgICAvKD86KD8oMnkpYXxiKShYKSkrLwpObyBtYXRjaAogICAgL2EoKk1BUkspYi8KTm8gbWF0Y2gKICAgIC9hKCpDUiliLwpObyBtYXRjaAogICAgLyg/UDxhYm4+KD9QPWFibikoPzxiYWRzdHVmeHh4KS8KTm8gbWF0Y2gKCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gCgovPCg/eDpbYSBiXSk+L3h4CiAgICA8ID4KIDA6IDwgPgoKLzwoPzpbYSBiXSk+L3h4CiAgICA8ID4KTm8gbWF0Y2gKCi88KD94eHg6W2EgYl0pPi8KICAgIDwgPgpObyBtYXRjaAogICAgCi88KD8teDpbYSBiXSk+L3h4CiAgICA8ID4KIDA6IDwgPgoKL1tbOmRpZ2l0Ol0tXSsvCiAgICAxMi0yNAogMDogMTItMjQKCi8oKD88PSgoKkFDQ0VQVCkpIClcMT9cYikgLwpcPSBFeHBlY3Qgbm8gbWF0Y2ggICAgIAogICAgKCg/PD0oKCpBQ0NFUFQpKSApXFwxP1xcYilceDIwCk5vIG1hdGNoCgovKCg/PD0oKCpBQ0NFUFQpKVgpXDE/WSlcMS8KICAgIFhZWVoKIDA6IFlZCiAxOiBZCiAyOiAKCi8oKD88PSgoKkFDQ0VQVCkpWClcMT9ZKCpBQ0NFUFQpKVwxLwogICAgWFlZWgogMDogWQogMTogWQogMjogCgovKD8oREVGSU5FKSg/PG9wdGlvbmFsX2E+YT8pWCleKD8mb3B0aW9uYWxfYSlhJC8KICAgIGFhCiAwOiBhYQogICAgYQogMDogYQoKL14oYT8pYig/MSlhLwogICAgYWJhYQogMDogYWJhYQogMTogYQogICAgYWJhIAogMDogYWJhCiAxOiBhCiAgICBiYWEKIDA6IGJhYQogMTogCiAgICBiYSAgCiAwOiBiYQogMTogCgovXihhPykrYig/MSlhLwogICAgYWJhYQogMDogYWJhYQogMTogCiAgICBhYmEgCiAwOiBhYmEKIDE6IAogICAgYmFhCiAwOiBiYWEKIDE6IAogICAgYmEgIAogMDogYmEKIDE6IAoKL14oYT8pKytiKD8xKWEvCiAgICBhYmFhCiAwOiBhYmFhCiAxOiAKICAgIGFiYSAKIDA6IGFiYQogMTogCiAgICBiYWEKIDA6IGJhYQogMTogCiAgICBiYSAgCiAwOiBiYQogMTogCgovXihhPykrYi8KICAgIGIKIDA6IGIKIDE6IAogICAgYWIKIDA6IGFiCiAxOiAKICAgIGFhYWIgCiAwOiBhYWFiCiAxOiAKCi8oPz1hKylhKGErKSsrYi8KICAgIGFhYgogMDogYWFiCiAxOiBhCgovKD88PVxHLikvZyxhZnRlcnRleHQKICAgIGFiYwogMDogCiAwKyBiYwogMDogCiAwKyBjCiAwOiAKIDArIAoKLyg/PD0oPz0uKT8pLwoKLyg/PD0oPz0uKT8rKS8KCi8oPzw9KD89LikqKS8KCi8oPzw9KD89Lil7NCw1fSkvCgovKD88PSg/PS4pezQsNX14KS8KCi9hKD89LigqOlgpKSgqU0tJUDpYKSgqRil8KC4pLwogICAgYWJjCiAwOiBhCiAxOiBhCgovYSg/PigqOlgpKSgqU0tJUDpYKSgqRil8KC4pLwogICAgYWJjCiAwOiBhCiAxOiBhCgovYSg/OigqOlgpKSgqU0tJUDpYKSgqRil8KC4pLwogICAgYWJjCiAwOiBiCiAxOiBiCgojcGF0dGVybiBub19zdGFydF9vcHRpbWl6ZQoKLyg/PmEoKjoxKSkoPz5iKCo6MSkpKCpTS0lQOjEpeHwuKi8KICAgIGFiYwogMDogYWJjCgovKD8+YSgqOjEpKSg/PmIpKCpTS0lQOjEpeHwuKi8KICAgIGFiYwogMDogYWJjCgojc3ViamVjdCBtYXJrCgovYSgqQUNDRVBUOlgpYi8KICAgIGFiYwogMDogYQpNSzogWAogICAgCi8oPz1hKCpBQ0NFUFQ6UVEpYmMpYXh5ei8KICAgIGF4eXoKIDA6IGF4eXoKTUs6IFFRCgovKD8oREVGSU5FKShhKCpBQ0NFUFQ6WCkpKSg/MSliLwogICAgYWJjCiAwOiBhYgpNSzogWAogICAgCi9hKCpGOlgpYi8KICAgIGFiYwpObyBtYXRjaCwgbWFyayA9IFgKICAgIAovKD8oREVGSU5FKShhKCpGOlgpKSkoPzEpYi8KICAgIGFiYwpObyBtYXRjaCwgbWFyayA9IFgKCi9hKCpDT01NSVQ6WCliLwogICAgYWJjCiAwOiBhYgpNSzogWAogICAgCi8oPyhERUZJTkUpKGEoKkNPTU1JVDpYKSkpKD8xKWIvCiAgICBhYmMKIDA6IGFiCk1LOiBYCiAgICAKL2ErKCo6WiliKCpDT01NSVQ6WCkoKlNLSVA6WiljfC4qLwogICAgYWFhYWJkCiAwOiBiZAoKL2ErKCo6WiliKCpDT01NSVQ6WCkoKlNLSVA6WCljfC4qLwogICAgYWFhYWJkCk5vIG1hdGNoLCBtYXJrID0gWAoKL2EoKkNPTU1JVDpYKWIvCiAgICBheGFiYwpObyBtYXRjaCwgbWFyayA9IFgKCiNwYXR0ZXJuIC1ub19zdGFydF9vcHRpbWl6ZQojc3ViamVjdCAtbWFyayAKCi8oLkNPTU1JVCkoKkNPTU1JVDo6Ojo6Ojo6OjppbnRlcmFsIGVycm9yOjo6KS8KCi8oKkNPTU1JVDr//ykvCgovKCpDT01NSVQ6XXcpLwoKLyg/aSlBKD9eKUIoP154OkMgRCkoP15pKWUgZi8KICAgIGFCQ0RFIEYKIDA6IGFCQ0RFIEYKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhQkNERUYKTm8gbWF0Y2gKICAgIEFiQ0RlIGYKTm8gbWF0Y2gKCi8oKnBsYTpmb28pLns2fS8KICAgIGFiY2Zvb2Jhcnh5egogMDogZm9vYmFyClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWJjZm9vYmEKTm8gbWF0Y2gKCi8oKnBvc2l0aXZlX2xvb2thaGVhZDpmb28pLns2fS8KICAgIGFiY2Zvb2Jhcnh5egogMDogZm9vYmFyCiAgICAKLyg/KCpwbGE6Zm9vKS57Nn18YS4uKS8KICAgIGZvb2JhcmJhegogMDogZm9vYmFyCiAgICBhYmNmb29iYXIgICAgICAgCiAwOiBhYmMKCi8oPygqcG9zaXRpdmVfbG9va2FoZWFkOmZvbykuezZ9fGEuLikvCiAgICBmb29iYXJiYXoKIDA6IGZvb2JhcgogICAgYWJjZm9vYmFyICAgICAgIAogMDogYWJjCiAgICAKLygqcGxiOmZvbyliYXIvCiAgICBhYmNmb29iYXIKIDA6IGJhcgpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFiY2JhcmZvbyAgICAgCk5vIG1hdGNoCgovKCpwb3NpdGl2ZV9sb29rYmVoaW5kOmZvbyliYXIvCiAgICBhYmNmb29iYXIKIDA6IGJhcgpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFiY2JhcmZvbwpObyBtYXRjaAogICAgCi8oPygqcGxiOmZvbyliYXJ8YmF6KS8KICAgIGFiY2Zvb2JhcgogMDogYmFyCiAgICBiYXpmb29iYXIKIDA6IGJhegogICAgYWJjYmF6Zm9vYmFyCiAwOiBiYXoKICAgIGZvb2JhemZvb2JhciAgICAKIDA6IGJhcgogCi8oPygqcG9zaXRpdmVfbG9va2JlaGluZDpmb28pYmFyfGJheikvCiAgICBhYmNmb29iYXIKIDA6IGJhcgogICAgYmF6Zm9vYmFyCiAwOiBiYXoKICAgIGFiY2JhemZvb2JhcgogMDogYmF6CiAgICBmb29iYXpmb29iYXIgICAgCiAwOiBiYXIKIAovKCpubGI6Zm9vKWJhci8KICAgIGFiY2JhcmZvbyAgICAgCiAwOiBiYXIKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYmNmb29iYXIKTm8gbWF0Y2gKCi8oKm5lZ2F0aXZlX2xvb2tiZWhpbmQ6Zm9vKWJhci8KICAgIGFiY2JhcmZvbyAgICAgCiAwOiBiYXIKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYmNmb29iYXIKTm8gbWF0Y2gKICAgIAovKD8oKm5sYjpmb28pYmFyfGJheikvCiAgICBhYmNmb29iYXogCiAwOiBiYXoKICAgIGFiY2JhcmJheiAKIDA6IGJhcgpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFiY2Zvb2JhcgpObyBtYXRjaAogCi8oPygqbmVnYXRpdmVfbG9va2JlaGluZDpmb28pYmFyfGJheikvCiAgICBhYmNmb29iYXogCiAwOiBiYXoKICAgIGFiY2JhcmJheiAKIDA6IGJhcgpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFiY2Zvb2JhcgpObyBtYXRjaAogCi8oKmF0b21pYzphKylcdy8KICAgIGFhYWIKIDA6IGFhYWIKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYWFhICAgICAgCk5vIG1hdGNoCgovICAgKD88d29yZD4gXHcrICkqICAgIFwuICAgL3hpCiAgICBwb2t1cy4KIDA6IHBva3VzLgogMTogcG9rdXMKICAgIAovKD8oREVGSU5FKSAoPzx3b3JkPiBcdysgKSApICg/JndvcmQpKiAgIFwuL3hpCiAgICBwb2t1cy4KIDA6IHBva3VzLgoKLyg/KERFRklORSkgKD88d29yZD4gXHcrICkgKSAoICg/JndvcmQpKiApICAgXC4veGkgCiAgICBwb2t1cy4KIDA6IHBva3VzLgogMTogPHVuc2V0PgogMjogcG9rdXMKCi8oPyZ3b3JkKSogICg/KERFRklORSkgKD88d29yZD4gXHcrICkgKSAgXC4veGkKICAgIHBva3VzLgogMDogcG9rdXMuCgovKD8md29yZCkqICBcLiAoPzx3b3JkPiBcdysgKS94aQogICAgcG9rdXMuaG9rdXMKIDA6IHBva3VzLmhva3VzCiAxOiBob2t1cwoKL2EoPyg/PSgqOjIpYikuKS9tYXJrCiAgICBhYmMKIDA6IGFiCk1LOiAyCiAgICBhY2IgICAgIAogMDogYQoKL2EoPyg/ISgqOjIpYikuKS9tYXJrCiAgICBhY2IKIDA6IGFjCiAgICBhYmMgICAgIAogMDogYQpNSzogMgoKLyg/OmF8YWIpezF9K2MvClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWJjCk5vIG1hdGNoCgovKGF8YWIpezF9K2MvCiAgICBhYmMKTm8gbWF0Y2gKICAgIAovKGErKXsxfSthLwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFhYWEKTm8gbWF0Y2gKCi8oPyhERUZJTkUpKGF8YWIpKSg/MSl7MX0rYy8KICAgIGFiYyAgICAKTm8gbWF0Y2gKCi8oPzphfCg/PWIpfC4pKlx6LwogICAgYWJjCiAwOiBhYmMKICAgIAovKD86YXwoPz1iKXwuKSovCiAgICBhYmMgCiAwOiBhCiAgICAKLyg/PD1hKCpTS0lQKXgpfGMvCiAgICBhYmNkCk5vIG1hdGNoCiAgICAKLyg/PD1hKCpTS0lQKXgpfGQvCiAgICBhYmNkCiAwOiBkCiAKLyg/PD0oPz0uKD88PXgpKSkvYWZ0ZXJ0ZXh0CiAgICBhYngKIDA6IAogMCsgeAoKLyg/PD0oPz0oPzw9YSkpKWIvCiAgICBhYgogMDogYgoKL14oPzxBPmEpKD8oPEE+KWIpKCg/PD1iKS4qKSQvCiAgICBhYmMKIDA6IGFiYwogMTogYQogMjogYwoKL14oYVwxPyl7NH0kLwogICAgYWFhYQogMDogYWFhYQogMTogYQogICAgYWFhYWFhCiAwOiBhYWFhYWEKIDE6IGFhCgovXigoXDErKXxcZCkrMTMzWCQvCiAgICAxMTExMzNYCiAwOiAxMTExMzNYCiAxOiAxMQogMjogMTEKCi9eKD89LiooPz0oKFtBLVpdKS4qKD8oMSlcMSkpKSg/IS4rXDIpKXsyNn0vaQogICAgVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wcyBvdmVyIHRoZSBsYXp5IGRvZy4KIDA6IAogMTogcXVpY2sgYnJvd24gZm94IGp1bXBzIG92ZXIgdGhlIGxhenkgZG9nLgogMjogcQogICAgSmFja2Rhd3MgbG92ZSBteSBiaWcgc3BoaW54IG9mIHF1YXJ0ei4KIDA6IAogMTogSmFja2Rhd3MgbG92ZSBteSBiaWcgc3BoaW54IG9mIHF1YXJ0ei4KIDI6IEoKICAgIFBhY2sgbXkgYm94IHdpdGggZml2ZSBkb3plbiBsaXF1b3IganVncy4KIDA6IAogMTogUGFjayBteSBib3ggd2l0aCBmaXZlIGRvemVuIGxpcXVvciBqdWdzLgogMjogUApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIFRoZSBxdWljayBicm93biBmb3gganVtcHMgb3ZlciB0aGUgbGF6eSBjYXQuCk5vIG1hdGNoCiAgICBIYWNrZGF3cyBsb3ZlIG15IGJpZyBzcGhpbnggb2YgcXVhcnR6LgpObyBtYXRjaAogICAgUGFjayBteSBmb3ggd2l0aCBmaXZlIGRvemVuIGxpcXVvciBqdWdzLgpObyBtYXRjaAoKL14oPz4uKj8oW0EtWl0pKD8hLipcMSkpezI2fS9pCiAgICBUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBzIG92ZXIgdGhlIGxhenkgZG9nLgogMDogVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wcyBvdmVyIHRoZSBsYXp5IGRvZwogMTogZwogICAgSmFja2Rhd3MgbG92ZSBteSBiaWcgc3BoaW54IG9mIHF1YXJ0ei4KIDA6IEphY2tkYXdzIGxvdmUgbXkgYmlnIHNwaGlueCBvZiBxdWFydHoKIDE6IHoKICAgIFBhY2sgbXkgYm94IHdpdGggZml2ZSBkb3plbiBsaXF1b3IganVncy4KIDA6IFBhY2sgbXkgYm94IHdpdGggZml2ZSBkb3plbiBsaXF1b3IganVncwogMTogcwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIFRoZSBxdWljayBicm93biBmb3gganVtcHMgb3ZlciB0aGUgbGF6eSBjYXQuCk5vIG1hdGNoCiAgICBIYWNrZGF3cyBsb3ZlIG15IGJpZyBzcGhpbnggb2YgcXVhcnR6LgpObyBtYXRjaAogICAgUGFjayBteSBmb3ggd2l0aCBmaXZlIGRvemVuIGxpcXVvciBqdWdzLgpObyBtYXRjaAoKLyg/PD1YKD8oREVGSU5FKShBKSkpWCgqRikvClw9IEV4cGVjdCBubyBtYXRjaAogICAgQVhZWgpObyBtYXRjaAoKLyg/PD1YKD8oREVGSU5FKShBKSkpLi8KICAgIEFYWVoKIDA6IFkKCi8oPzw9WCg/KERFRklORSkoLiopKVkpLi8KICAgIEFYWVoKIDA6IFoKCi8oPzw9WCg/KERFRklORSkoWSkpKD8xKSkuLwogICAgQVhZWgogMDogWgoKLyg/KERFRklORSkoPzxmb28+YmFyKSkoPzwhWy1hLXowLTldKXdvcmQvCiAgICB3b3JkCiAwOiB3b3JkCgovYXsxLDIsM31iLwogICAgYXsxLDIsM31iCiAwOiBhezEsMiwzfWIKCi9cMjE0NzQ4MzY0LwogICAgPlx4ezhjfTc0ODM2NDwKIDA6IFx4OGM3NDgzNjQKICAgIAovYXs2NTUzNi8KICAgID5hezY1NTM2PAogMDogYXs2NTUzNgoKL2FcSy4oPzApKi8KICAgIGFiYWMKIDA6IGMKCi8oYVxLLig/MSkqKS8KICAgIGFiYWMKIDA6IGMKIDE6IGFiYWMKCiMgRW5kIG9mIHRlc3RpbnB1dDEgCg==