IiBWaW0gc3ludGF4IGZpbGUKIiBMYW5ndWFnZToJV2luZG93cyBSZWdpc3RyeSBleHBvcnQgd2l0aCByZWdlZGl0ICgqLnJlZykKIiBNYWludGFpbmVyOglEb21pbmlxdWUgU3TpcGhhbiAoZG9taW5pcXVlQG1nZ2VuLmNvbSkKIiBVUkw6IGh0dHA6Ly93d3cubWdnZW4uY29tL3ZpbS9zeW50YXgvcmVnaXN0cnkuemlwCiIgTGFzdCBjaGFuZ2U6CTIwMDQgQXByIDIzCgoiIGNsZWFyIGFueSB1bndhbnRlZCBzeW50YXggZGVmcwoiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwoiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCmlmIHZlcnNpb24gPCA2MDAKICBzeW50YXggY2xlYXIKZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgZmluaXNoCmVuZGlmCgoiIHNodXQgY2FzZSBvZmYKc3luIGNhc2UgaWdub3JlCgoiIEhlYWQgb2YgcmVnZWRpdCAucmVnIGZpbGVzLCBpdCdzIFJFR0VESVQ0IG9uIFdpbjkjL05UCnN5biBtYXRjaCByZWdpc3RyeUhlYWQJCSJeUkVHRURJVFswLTldKiQiCgoiIENvbW1lbnQKc3luIG1hdGNoICByZWdpc3RyeUNvbW1lbnQJIl47LiokIgoKIiBSZWdpc3RyeSBLZXkgY29uc3RhbnQKc3luIGtleXdvcmQgcmVnaXN0cnlIS0VZCUhLRVlfTE9DQUxfTUFDSElORSBIS0VZX0NMQVNTRVNfUk9PVCBIS0VZX0NVUlJFTlRfVVNFUgpzeW4ga2V5d29yZCByZWdpc3RyeUhLRVkJSEtFWV9VU0VSUyBIS0VZX0NVUlJFTlRfQ09ORklHIEhLRVlfRFlOX0RBVEEKIiBSZWdpc3RyeSBLZXkgc2hvcnRjdXRzCnN5biBrZXl3b3JkIHJlZ2lzdHJ5SEtFWQlIS0xNIEhLQ1IgSEtDVSBIS1UgSEtDQyBIS0RECgoiIFNvbWUgdmFsdWVzIG9mdGVuIGZvdW5kIGluIHRoZSByZWdpc3RyeQoiIEdVSUQgKEdsb2JhbCBVbmlxdWUgSURlbnRpZmllcikKc3luIG1hdGNoICAgcmVnaXN0cnlHVUlECSJ7WzAtOUEtRmEtZl1cezh9XC1bMC05QS1GYS1mXVx7NH1cLVswLTlBLUZhLWZdXHs0fVwtWzAtOUEtRmEtZl1cezR9XC1bMC05QS1GYS1mXVx7MTJ9fSIgY29udGFpbnM9cmVnaXN0cnlTcGVjaWFsCgoiIERpc2sKIiBzeW4gbWF0Y2ggICByZWdpc3RyeURpc2sJIlthLXpBLVpdOlxcXFwiCgoiIFNwZWNpYWwgYW5kIFNlcGFyYXRvciBjaGFyYWN0ZXJzCnN5biBtYXRjaCAgIHJlZ2lzdHJ5U3BlY2lhbAkiXFwiCnN5biBtYXRjaCAgIHJlZ2lzdHJ5U3BlY2lhbAkiXFxcXCIKc3luIG1hdGNoICAgcmVnaXN0cnlTcGVjaWFsCSJcXFwiIgpzeW4gbWF0Y2ggICByZWdpc3RyeVNwZWNpYWwJIlwuIgpzeW4gbWF0Y2ggICByZWdpc3RyeVNwZWNpYWwJIiwiCnN5biBtYXRjaCAgIHJlZ2lzdHJ5U3BlY2lhbAkiXC8iCnN5biBtYXRjaCAgIHJlZ2lzdHJ5U3BlY2lhbAkiOiIKc3luIG1hdGNoICAgcmVnaXN0cnlTcGVjaWFsCSItIgoKIiBTdHJpbmcKc3luIG1hdGNoICAgcmVnaXN0cnlTdHJpbmcJIlwiLipcIiIgY29udGFpbnM9cmVnaXN0cnlHVUlELHJlZ2lzdHJ5U3BlY2lhbAoKIiBQYXRoCnN5biByZWdpb24gIHJlZ2lzdHJ5UGF0aAkJc3RhcnQ9IlxbIiBlbmQ9IlxdIiBjb250YWlucz1yZWdpc3RyeUhLRVkscmVnaXN0cnlHVUlELHJlZ2lzdHJ5U3BlY2lhbAoKIiBQYXRoIHRvIHJlbW92ZQoiIGxpa2UgcHJlY2VkaW5nIHBhdGggYnV0IHdpdGggYSAiLSIgYXQgYmVnaW4Kc3luIHJlZ2lvbiByZWdpc3RyeVJlbW92ZQlzdGFydD0iXFtcLSIgZW5kPSJcXSIgY29udGFpbnM9cmVnaXN0cnlIS0VZLHJlZ2lzdHJ5R1VJRCxyZWdpc3RyeVNwZWNpYWwKCiIgU3Via2V5CnN5biBtYXRjaCAgcmVnaXN0cnlTdWJLZXkJCSJeXCIuKlwiPSIKIiBEZWZhdWx0IHZhbHVlCnN5biBtYXRjaCAgcmVnaXN0cnlTdWJLZXkJCSJeXEA9IgoKIiBOdW1iZXJzCgoiIEhleCBvciBCaW5hcnkKIiBUaGUgZm9ybWF0IGNhbiBiZSBwcmVjaXNlZCBiZXR3ZWVuICgpIDoKIiAwICAgIFJFR19OT05FCiIgMSAgICBSRUdfU1oKIiAyICAgIFJFR19FWFBBTkRfU1oKIiAzICAgIFJFR19CSU5BUlkKIiA0ICAgIFJFR19EV09SRCwgUkVHX0RXT1JEX0xJVFRMRV9FTkRJQU4KIiA1ICAgIFJFR19EV09SRF9CSUdfRU5ESUFOCiIgNiAgICBSRUdfTElOSwoiIDcgICAgUkVHX01VTFRJX1NaCiIgOCAgICBSRUdfUkVTT1VSQ0VfTElTVAoiIDkgICAgUkVHX0ZVTExfUkVTT1VSQ0VfREVTQ1JJUFRPUgoiIDEwICAgUkVHX1JFU09VUkNFX1JFUVVJUkVNRU5UU19MSVNUCiIgVGhlIHZhbHVlIGNhbiB0YWtlIHNldmVyYWwgbGluZXMsIGlmIFwgZW5kcyB0aGUgbGluZQoiIFRoZSBsaW1pdCB0byA5OTkgbWF0Y2hlcyBpcyBhcmJpdHJhcnksIGl0IGF2b2lkcyBWaW0gY3Jhc2hpbmcgb24gYSB2ZXJ5IGxvbmcKIiBsaW5lIG9mIGhleCB2YWx1ZXMgdGhhdCBlbmRzIGluIGEgY29tbWEuCiJzeW4gbWF0Y2ggcmVnaXN0cnlIZXgJCSJoZXhcKChbMC05XVx7MCwyfSlcKVw9OlwoWzAtOWEtZkEtRl1cezJ9LFwpXHswLDk5OX1cKFswLTlhLWZBLUZdXHsyfVx8XFxcKSQiIGNvbnRhaW5zPXJlZ2lzdHJ5U3BlY2lhbApzeW4gbWF0Y2ggcmVnaXN0cnlIZXgJCSJoZXhcKChbMC05XVx7MCwyfSlcKVw9OlwoWzAtOWEtZkEtRl1cezJ9LFwpKlwoWzAtOWEtZkEtRl1cezJ9XHxcXFwpJCIgY29udGFpbnM9cmVnaXN0cnlTcGVjaWFsCnN5biBtYXRjaCByZWdpc3RyeUhleAkJIl5ccypcKFswLTlhLWZBLUZdXHsyfSxcKVx7MCw5OTl9XChbMC05YS1mQS1GXVx7Mn1cfFxcXCkkIiBjb250YWlucz1yZWdpc3RyeVNwZWNpYWwKIiBEd29yZCAoMzIgYml0cykKc3luIG1hdGNoIHJlZ2lzdHJ5RHdvcmQJCSJkd29yZDpbMC05YS1mQS1GXVx7OH0kIiBjb250YWlucz1yZWdpc3RyeVNwZWNpYWwKCmlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9yZWdpc3RyeV9zeW50YXhfaW5pdHMiKQogIGlmIHZlcnNpb24gPCA1MDgKICAgIGxldCBkaWRfcmVnaXN0cnlfc3ludGF4X2luaXRzID0gMQogICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KICBlbHNlCiAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KICBlbmRpZgoKIiBUaGUgZGVmYXVsdCBtZXRob2RzIGZvciBoaWdobGlnaHRpbmcuICBDYW4gYmUgb3ZlcnJpZGRlbiBsYXRlcgogICBIaUxpbmsgcmVnaXN0cnlDb21tZW50CUNvbW1lbnQKICAgSGlMaW5rIHJlZ2lzdHJ5SGVhZAkJQ29uc3RhbnQKICAgSGlMaW5rIHJlZ2lzdHJ5SEtFWQkJQ29uc3RhbnQKICAgSGlMaW5rIHJlZ2lzdHJ5UGF0aAkJU3BlY2lhbAogICBIaUxpbmsgcmVnaXN0cnlSZW1vdmUJUHJlUHJvYwogICBIaUxpbmsgcmVnaXN0cnlHVUlECQlJZGVudGlmaWVyCiAgIEhpTGluayByZWdpc3RyeVNwZWNpYWwJU3BlY2lhbAogICBIaUxpbmsgcmVnaXN0cnlTdWJLZXkJVHlwZQogICBIaUxpbmsgcmVnaXN0cnlTdHJpbmcJU3RyaW5nCiAgIEhpTGluayByZWdpc3RyeUhleAkJTnVtYmVyCiAgIEhpTGluayByZWdpc3RyeUR3b3JkCQlOdW1iZXIKCiAgIGRlbGNvbW1hbmQgSGlMaW5rCmVuZGlmCgoKbGV0IGI6Y3VycmVudF9zeW50YXggPSAicmVnaXN0cnkiCgoiIHZpbTp0cz04Cg==