CiBNdWx0aSBMYW5ndWFnZSBDdXN0b20gRXJyb3IgRG9jdW1lbnRzCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgogVGhlICdlcnJvcicgZGlyZWN0b3J5IGNvbnRhaW5zIEhUVFAgZXJyb3IgbWVzc2FnZXMgaW4gbXVsdGlwbGUgbGFuZ3VhZ2VzLgogSWYgdGhlIHByZWZlcnJlZCBsYW5ndWFnZSBvZiBhIGNsaWVudCBpcyBhdmFpbGFibGUgaXQgaXMgc2VsZWN0ZWQKIGF1dG9tYXRpY2FsbHkgdmlhIHRoZSBNdWx0aVZpZXdzIGZlYXR1cmUuIFRoaXMgZmVhdHVyZSBpcyBlbmFibGVkCiBieSBkZWZhdWx0IHZpYSB0aGUgT3B0aW9ucywgTGFuZ3VhZ2UgYW5kIEVycm9yRG9jdW1lbnQgZGlyZWN0aXZlcy4KCiBZb3UgbWF5IGNvbmZpZ3VyZSB0aGUgZGVzaWduIGFuZCBtYXJrdXAgb2YgdGhlIGRvY3VtZW50cyBieSBtb2RpZnlpbmcKIHRoZSBIVE1MIGZpbGVzIGluIHRoZSBkaXJlY3RvcnkgJ2Vycm9yL2luY2x1ZGUnLgoKIFN1cHBvcnRlZCBMYW5ndWFnZXM6CiAKICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwogIHwgTGFuZ3VhZ2UgICAgICAgICAgICAgIHwgQ29udHJpYnV0ZWQgYnkgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKICB8IEJyYXppbGlhbiAocHQtYnIpICAgICB8IFJpY2FyZG8gTGVpdGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogIHwgQ3plY2ggKGNzKSAgICAgICAgICAgIHwgTWFyY2VsIEtvbGFqYSAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgfCBEdXRjaCAobmwpICAgICAgICAgICAgfCBQZXRlciBWYW4gQmllc2VuICAgICAgICAgICAgICAgICAgICAgICAgIHwKICB8IEVuZ2xpc2ggKGVuKSAgICAgICAgICB8IExhcnMgRWlsZWJyZWNodCAgICAgICAgICAgICAgICAgICAgICAgICAgfAogIHwgRnJlbmNoIChmcikgICAgICAgICAgIHwgQ2VjaWxlIGRlIENyZWN5ICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgfCBHZXJtYW4gKGRlKSAgICAgICAgICAgfCBMYXJzIEVpbGVicmVjaHQgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICB8IEl0YWxpYW4gKGl0KSAgICAgICAgICB8IEx1aWdpIFJvc2EgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogIHwgS29yZWFuIChrbykgICAgICAgICAgIHwgSmFlaG8gU2hpbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgfCBQb2xpc2ggKHBsKSAgICAgICAgICAgfCBUb21hc3ogS2VwY3p5bnNraSAgICAgICAgICAgICAgICAgICAgICAgIHwKICB8IFJvbWFuaWFuIChybykgICAgICAgICB8IEFuZHJlaSBCZXNsZWFnYSAgICAgICAgICAgICAgICAgICAgICAgICAgfAogIHwgU2VyYmlhbiAoc3IpICAgICAgICAgIHwgTmlrb2xhIFNtb2xlbnNraSAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgfCBTcGFuaXNoIChlcykgICAgICAgICAgfCBLYXJsYSBRdWludGVybyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICB8IFN3ZWRpc2ggKHN2KSAgICAgICAgICB8IFRob21hcyBTavZncmVuICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogIHwgVHVya2lzaCAodHIpICAgICAgICAgIHwgRW1yZSBTb2t1bGx1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKICAoUGxlYXNlIHNlZSBodHRwOi8vaHR0cGQuYXBhY2hlLm9yZy9kb2NzLXByb2plY3QvIGlmIHlvdSB3b3VsZAogICBsaWtlIHRvIGNvbnRyaWJ1dGUgdGhlIHBhZ2VzIGluIGFuIGFkZGl0aW9uYWwgbGFuZ3VhZ2UuKQoKCiBDb3B5cmlnaHQgKGMpIDIwMDEtMjAwNSBUaGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCg==