IiBWaW0gc3ludGF4IGZpbGUKIiBMYW5ndWFnZToJUmljaCBUZXh0IEZvcm1hdAoiCQkiKi5ydGYiIGZpbGVzCiIKIiBUaGUgUmljaCBUZXh0IEZvcm1hdCAoUlRGKSBTcGVjaWZpY2F0aW9uIGlzIGEgbWV0aG9kIG9mIGVuY29kaW5nIGZvcm1hdHRlZAoiIHRleHQgYW5kIGdyYXBoaWNzIGZvciBlYXN5IHRyYW5zZmVyIGJldHdlZW4gYXBwbGljYXRpb25zLgoiIC5obHAgKHdpbmRvd3MgaGVscCBmaWxlcykgdXNlIGNvbXBpbGVkIHJ0ZiBmaWxlcwoiIHJ0ZiBkb2N1bWVudGF0aW9uIGF0IGh0dHA6Ly9uaWdodC5wcmltYXRlLndpc2MuZWR1L3NvZnR3YXJlL1JURi8KIgoiIE1haW50YWluZXI6CURvbWluaXF1ZSBTdOlwaGFuIChkb21pbmlxdWVAbWdnZW4uY29tKQoiIFVSTDogaHR0cDovL3d3dy5tZ2dlbi5jb20vdmltL3N5bnRheC9ydGYuemlwCiIgTGFzdCBjaGFuZ2U6CTIwMDEgTWFpIDAyCgoiIFRPRE86IHJlbmRlciB1bmRlcmxpbmUsIGl0YWxpYywgYm9sZAoKIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAppZiB2ZXJzaW9uIDwgNjAwCiAgc3ludGF4IGNsZWFyCmVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogIGZpbmlzaAplbmRpZgoKIiBjYXNlIG9uIChhbGwgY29udHJvbHMgbXVzdCBiZSBsb3dlciBjYXNlKQpzeW4gY2FzZSBtYXRjaAoKIiBDb250cm9sIFdvcmRzCnN5biBtYXRjaCBydGZDb250cm9sV29yZAkiXFxbYS16XVwrW1wtXVw9WzAtOV0qIgoKIiBOZXcgQ29udHJvbCBXb3JkcyAobm90IGluIHRoZSAxOTg3IHNwZWNpZmljYXRpb25zKQpzeW4gbWF0Y2ggcnRmTmV3Q29udHJvbFdvcmQJIlxcXCpcXFthLXpdXCtbXC1dXD1bMC05XSoiCgoiIENvbnRyb2wgU3ltYm9sIDogYW55IFwgcGx1cyBhIG5vbiBhbHBoYSBzeW1ib2wsICosIFwsIHsgYW5kIH0gYW5kICcKc3luIG1hdGNoIHJ0ZkNvbnRyb2xTeW1ib2wJIlxcW15hLXpBLVpcKlx7XH1cXCddIgoKIiB7IH0gYW5kIFwgYXJlIHNwZWNpYWwgY2hhcmFjdGVycywgdG8gdXNlIHRoZW0KIiB3ZSBhZGQgYSBiYWNrc2xhc2ggXApzeW4gbWF0Y2ggcnRmQ2hhcmFjdGVyCQkiXFxcXCIKc3luIG1hdGNoIHJ0ZkNoYXJhY3RlcgkJIlxceyIKc3luIG1hdGNoIHJ0ZkNoYXJhY3RlcgkJIlxcfSIKIiBFc2NhcGVkIGNoYXJhY3RlcnMgKGZvciA4IGJ5dGVzIGNoYXJhY3RlcnMgdXBwZXIgdGhhbiAxMjcpCnN5biBtYXRjaCBydGZDaGFyYWN0ZXIJCSJcXCdbQS1aYS16MC05XVtBLVphLXowLTldIgoiIFVuaWNvZGUKc3luIG1hdGNoIHJ0ZlVuaWNvZGVDaGFyYWN0ZXIJIlxcdVswLTldWzAtOV0qIgoKIiBDb2xvciB2YWx1ZXMsIHdlIHdpbGwgcHV0IHRoaXMgdmFsdWUgaW4gUmVkLCBHcmVlbiBvciBCbHVlCnN5biBtYXRjaCBydGZSZWQJCSJcXHJlZFswLTldWzAtOV0qIgpzeW4gbWF0Y2ggcnRmR3JlZW4JCSJcXGdyZWVuWzAtOV1bMC05XSoiCnN5biBtYXRjaCBydGZCbHVlCQkiXFxibHVlWzAtOV1bMC05XSoiCgoiIFNvbWUgc3R1ZmYgZm9yIGhlbHAgZmlsZXMKc3luIG1hdGNoIHJ0ZkZvb3ROb3RlICJbIyRLK117XFxmb290bm90ZS4qfSIgY29udGFpbnM9cnRmQ29udHJvbFdvcmQscnRmTmV3Q29udHJvbFdvcmQKCiIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CiIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3J0Zl9zeW50YXhfaW5pdHMiKQogIGlmIHZlcnNpb24gPCA1MDgKICAgIGxldCBkaWRfcnRmX3N5bnRheF9pbml0cyA9IDEKICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CiAgZWxzZQogICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAgZW5kaWYKCgogICBIaUxpbmsgcnRmQ29udHJvbFdvcmQJCVN0YXRlbWVudAogICBIaUxpbmsgcnRmTmV3Q29udHJvbFdvcmQJU3BlY2lhbAogICBIaUxpbmsgcnRmQ29udHJvbFN5bWJvbAlDb25zdGFudAogICBIaUxpbmsgcnRmQ2hhcmFjdGVyCQlDaGFyYWN0ZXIKICAgSGlMaW5rIHJ0ZlVuaWNvZGVDaGFyYWN0ZXIJU3BlY2lhbENoYXIKICAgSGlMaW5rIHJ0ZkZvb3ROb3RlCQlDb21tZW50CgogICAiIERlZmluZSBjb2xvcnMgZm9yIHRoZSBzeW50YXggZmlsZQogICBoaSBydGZSZWQJICAgICAgdGVybT11bmRlcmxpbmUgY3Rlcm09dW5kZXJsaW5lIGN0ZXJtZmc9RGFya1JlZCBndWk9dW5kZXJsaW5lIGd1aWZnPURhcmtSZWQKICAgaGkgcnRmR3JlZW4JICAgICAgdGVybT11bmRlcmxpbmUgY3Rlcm09dW5kZXJsaW5lIGN0ZXJtZmc9RGFya0dyZWVuIGd1aT11bmRlcmxpbmUgZ3VpZmc9RGFya0dyZWVuCiAgIGhpIHJ0ZkJsdWUJICAgICAgdGVybT11bmRlcmxpbmUgY3Rlcm09dW5kZXJsaW5lIGN0ZXJtZmc9RGFya0JsdWUgZ3VpPXVuZGVybGluZSBndWlmZz1EYXJrQmx1ZQoKICAgSGlMaW5rIHJ0ZlJlZAlydGZSZWQKICAgSGlMaW5rIHJ0ZkdyZWVuCXJ0ZkdyZWVuCiAgIEhpTGluayBydGZCbHVlCXJ0ZkJsdWUKCiAgZGVsY29tbWFuZCBIaUxpbmsKZW5kaWYKCgpsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJydGYiCgoiIHZpbTp0cz04Cg==