IyEgL2Jpbi9zaAouICIke3NyY2Rpcj0ufS9pbml0LnNoIjsgcGF0aF9wcmVwZW5kXyAuIC4uL3NyYwoKIyBUZXN0IC0tdXBkYXRlIHdpdGggLS1zb3J0LW91dHB1dDogUE9ULUNyZWF0aW9uLURhdGUgY2hhbmdlZC4gVGhpcyBjaGFuZ2UKIyBtdXN0IG5vdCBiZSByZWZsZWN0ZWQgaW4gdGhlIHJlc3VsdGluZyBQTyBmaWxlOyB0aGlzIGlzIG5lZWRlZCBmb3IgcHJvamVjdHMKIyB3aGljaCBkb24ndCBwdXQgdGhlIC5wb3QgZmlsZSB1bmRlciBDVlMuCgpjYXQgPDxcRU9GID4gbW0tdS00LnBvCiMgU09NRSBERVNDUklQVElWRSBUSVRMRS4KIyBDb3B5cmlnaHQgKEMpIFlFQVIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiMgRklSU1QgQVVUSE9SIDxFTUFJTEBBRERSRVNTPiwgWUVBUi4KIwptc2dpZCAiIgptc2dzdHIgIiIKIlByb2plY3QtSWQtVmVyc2lvbjogY29nX3RyYWluaW5nIDEuMFxuIgoiUE9ULUNyZWF0aW9uLURhdGU6IDIwMDEtMDQtMjkgMjI6NDArMDIwMFxuIgoiUE8tUmV2aXNpb24tRGF0ZTogMjAwMS0wNC0yOSAyMToxOSswMjowMFxuIgoiTGFzdC1UcmFuc2xhdG9yOiBGZWxpeCBOLiA8eHl6QHp5eC51dWNwPlxuIgoiTGFuZ3VhZ2UtVGVhbTogR2VybWFuIDxkZUBsaS5vcmc+XG4iCiJMYW5ndWFnZTogZGVcbiIKIk1JTUUtVmVyc2lvbjogMS4wXG4iCiJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9SVNPLTg4NTktMVxuIgoiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgoKIzogY29nYXJpdGhtZXRpYy5jYzoxMiBjb2dpZG1hcmt1cC5jYzoyODggY29ncm9tYW4uY2M6MTQKbXNnaWQgIndoaXRlIgptc2dzdHIgIndlad8iCgojfiBtc2dpZCAiZ3JlZW4iCiN+IG1zZ3N0ciAiZ3L8biIKRU9GCgpjYXQgPDxFT0YgPiBtbS11LTQucG90CiMgU09NRSBERVNDUklQVElWRSBUSVRMRS4KIyBDb3B5cmlnaHQgKEMpIFlFQVIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiMgRklSU1QgQVVUSE9SIDxFTUFJTEBBRERSRVNTPiwgWUVBUi4KIwptc2dpZCAiIgptc2dzdHIgIiIKIlByb2plY3QtSWQtVmVyc2lvbjogUEFDS0FHRSBWRVJTSU9OXG4iCiJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwMS0wNC0zMCAxODo1MSswMjAwXG4iCiJQTy1SZXZpc2lvbi1EYXRlOiBZRUFSLU1PLURBIEhPOk1JK1pPTkVcbiIKIkxhc3QtVHJhbnNsYXRvcjogRlVMTCBOQU1FIDxFTUFJTEBBRERSRVNTPlxuIgoiTGFuZ3VhZ2UtVGVhbTogTEFOR1VBR0UgPExMQGxpLm9yZz5cbiIKIk1JTUUtVmVyc2lvbjogMS4wXG4iCiJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9SVNPLTg4NTktMVxuIgoiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgoKIzogY29nYXJpdGhtZXRpYy5jYzoxMiBjb2dpZG1hcmt1cC5jYzoyODggY29ncm9tYW4uY2M6MTQKbXNnaWQgIndoaXRlIgptc2dzdHIgIiIKRU9GCgo6ICR7TVNHTUVSR0U9bXNnbWVyZ2V9CiR7TVNHTUVSR0V9IC1xIC0tdXBkYXRlIC0tc29ydC1vdXRwdXQgbW0tdS00LnBvIG1tLXUtNC5wb3QgfHwgRXhpdCAxCgpjYXQgPDxcRU9GID4gbW0tdS00Lm9rCiMgU09NRSBERVNDUklQVElWRSBUSVRMRS4KIyBDb3B5cmlnaHQgKEMpIFlFQVIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiMgRklSU1QgQVVUSE9SIDxFTUFJTEBBRERSRVNTPiwgWUVBUi4KIwptc2dpZCAiIgptc2dzdHIgIiIKIlByb2plY3QtSWQtVmVyc2lvbjogY29nX3RyYWluaW5nIDEuMFxuIgoiUE9ULUNyZWF0aW9uLURhdGU6IDIwMDEtMDQtMjkgMjI6NDArMDIwMFxuIgoiUE8tUmV2aXNpb24tRGF0ZTogMjAwMS0wNC0yOSAyMToxOSswMjowMFxuIgoiTGFzdC1UcmFuc2xhdG9yOiBGZWxpeCBOLiA8eHl6QHp5eC51dWNwPlxuIgoiTGFuZ3VhZ2UtVGVhbTogR2VybWFuIDxkZUBsaS5vcmc+XG4iCiJMYW5ndWFnZTogZGVcbiIKIk1JTUUtVmVyc2lvbjogMS4wXG4iCiJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9SVNPLTg4NTktMVxuIgoiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgoKIzogY29nYXJpdGhtZXRpYy5jYzoxMiBjb2dpZG1hcmt1cC5jYzoyODggY29ncm9tYW4uY2M6MTQKbXNnaWQgIndoaXRlIgptc2dzdHIgIndlad8iCgojfiBtc2dpZCAiZ3JlZW4iCiN+IG1zZ3N0ciAiZ3L8biIKRU9GCgo6ICR7RElGRj1kaWZmfQoke0RJRkZ9IG1tLXUtNC5vayBtbS11LTQucG8KcmVzdWx0PSQ/CgpleGl0ICRyZXN1bHQK