IyBEYW5pc2ggbWVzc2FnZXMgZm9yIGdwcm9mLgojIENvcHlyaWdodCAoQykgMjAwMSwgMjAwMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgYmludXRpbHMgcGFja2FnZS4KIyBLZWxkIFNpbW9uc2VuIDxrZWxkQGtlbGRpeC5jb20+LCAyMDAyLDIwMTEsIDIwMTUKIwptc2dpZCAiIgptc2dzdHIgIiIKIlByb2plY3QtSWQtVmVyc2lvbjogZ3Byb2YgMi4yNC45MFxuIgoiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IGJ1Zy1iaW51dGlsc0BnbnUub3JnXG4iCiJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxNC0wMi0xMCAwOTo0MisxMDMwXG4iCiJQTy1SZXZpc2lvbi1EYXRlOiAyMDE1LTA0LTI2IDE0OjAxKzAyMDBcbiIKIkxhc3QtVHJhbnNsYXRvcjogS2VsZCBTaW1vbnNlbiA8a2VsZEBrZWxkaXguY29tPlxuIgoiTGFuZ3VhZ2UtVGVhbTogRGFuaXNoIDxkYW5za0BkYW5zay1ncnVwcGVuLmRrPlxuIgoiTGFuZ3VhZ2U6IGRhXG4iCiJNSU1FLVZlcnNpb246IDEuMFxuIgoiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PWlzby04ODU5LTFcbiIKIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKCiM6IGFscGhhLmM6MTAyIG1pcHMuYzo1NAptc2dpZCAiPGluZGlyZWN0IGNoaWxkPiIKbXNnc3RyICI8aW5kaXJla3RlIGJhcm4+IgoKIzogYWxwaGEuYzoxMDcgbWlwcy5jOjU5CiMsIGMtZm9ybWF0Cm1zZ2lkICJbZmluZF9jYWxsXSAlczogMHglbHggdG8gMHglbHhcbiIKbXNnc3RyICJbZmluZF9jYWxsXSAlczogMHglbHggdGlsIDB4JWx4XG4iCgojOiBhbHBoYS5jOjEyOQojLCBjLWZvcm1hdAptc2dpZCAiW2ZpbmRfY2FsbF0gMHglbHg6IGpzciVzIDxpbmRpcmVjdF9jaGlsZD5cbiIKbXNnc3RyICJbZmluZF9jYWxsXSAweCVseDoganNyJXMgPGluZGlyZWt0ZV9iYXJuPlxuIgoKIzogYWxwaGEuYzoxMzkKIywgYy1mb3JtYXQKbXNnaWQgIltmaW5kX2NhbGxdIDB4JWx4OiBic3IiCm1zZ3N0ciAiW2ZpbmRfY2FsbF0gMHglbHg6IGJzciIKCiM6IGJhc2ljX2Jsb2Nrcy5jOjEyOSBjYWxsX2dyYXBoLmM6ODkgaGlzdC5jOjEwNwojLCBjLWZvcm1hdAptc2dpZCAiJXM6ICVzOiB1bmV4cGVjdGVkIGVuZCBvZiBmaWxlXG4iCm1zZ3N0ciAiJXM6ICVzOiB1dmVudGV0IGZpbHNsdXRuaW5nXG4iCgojOiBiYXNpY19ibG9ja3MuYzoxOTcKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiB3YXJuaW5nOiBpZ25vcmluZyBiYXNpYy1ibG9jayBleGVjIGNvdW50cyAodXNlIC1sIG9yIC0tbGluZSlcbiIKbXNnc3RyICIlczogYWR2YXJzZWw6IGlnbm9yZXJlciBla3Nla3ZlcmluZ3NyZWduaW5nIGZvciBncnVuZGJsb2sgKGJydWcgLWwgZWxsZXIgLS1saW5lKVxuIgoKIy4gRklYTUU6IFRoaXMgb25seSB3b3JrcyBpZiBiZmRfdm1hIGlzIHVuc2lnbmVkIGxvbmcuCiM6IGJhc2ljX2Jsb2Nrcy5jOjI5MCBiYXNpY19ibG9ja3MuYzozMDAKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiVkOiAoJXM6MHglbHgpICVsdSBleGVjdXRpb25zXG4iCm1zZ3N0ciAiJXM6JWQ6ICglczoweCVseCkgJWx1IGVrc2VrdmVyaW5nZXJcbiIKCiM6IGJhc2ljX2Jsb2Nrcy5jOjI5MSBiYXNpY19ibG9ja3MuYzozMDEKbXNnaWQgIjx1bmtub3duPiIKbXNnc3RyICI8dWtlbmR0PiIKCiM6IGJhc2ljX2Jsb2Nrcy5jOjU0NAojLCBjLWZvcm1hdAptc2dpZCAiIgoiXG4iCiJcbiIKIlRvcCAlZCBMaW5lczpcbiIKIlxuIgoiICAgICBMaW5lICAgICAgQ291bnRcbiIKIlxuIgptc2dzdHIgIiIKIlxuIgoiXG4iCiLYdmVyc3RlICVkIGxpbmplcjpcbiIKIlxuIgoiICAgICBMaW5qZSAgICAgQW50YWxcbiIKIlxuIgoKIzogYmFzaWNfYmxvY2tzLmM6NTY4CiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiJcbiIKIkV4ZWN1dGlvbiBTdW1tYXJ5OlxuIgoiXG4iCm1zZ3N0ciAiIgoiXG4iCiJFa3Nla3ZlcmluZ3NvdmVyc2lndDpcbiIKIlxuIgoKIzogYmFzaWNfYmxvY2tzLmM6NTY5CiMsIGMtZm9ybWF0Cm1zZ2lkICIlOWxkICAgRXhlY3V0YWJsZSBsaW5lcyBpbiB0aGlzIGZpbGVcbiIKbXNnc3RyICIlOWxkICAgRWtzZWt2ZXJiYXJlIGxpbmplciBpIGRlbm5lIGZpbFxuIgoKIzogYmFzaWNfYmxvY2tzLmM6NTcxCiMsIGMtZm9ybWF0Cm1zZ2lkICIlOWxkICAgTGluZXMgZXhlY3V0ZWRcbiIKbXNnc3RyICIlOWxkICAgRWtzZWt2ZXJlZGUgbGluamVyXG4iCgojOiBiYXNpY19ibG9ja3MuYzo1NzIKIywgYy1mb3JtYXQKbXNnaWQgIiU5LjJmICAgUGVyY2VudCBvZiB0aGUgZmlsZSBleGVjdXRlZFxuIgptc2dzdHIgIiU5LjJmICAgUHJvY2VudCBhZiBmaWxlbiBla3Nla3ZlcmV0XG4iCgojOiBiYXNpY19ibG9ja3MuYzo1NzYKIywgYy1mb3JtYXQKbXNnaWQgIiIKIlxuIgoiJTlsdSAgIFRvdGFsIG51bWJlciBvZiBsaW5lIGV4ZWN1dGlvbnNcbiIKbXNnc3RyICIiCiJcbiIKIiU5bHUgICBUb3RhbHQgYW50YWwgbGluamVla3Nla3ZlcmluZ2VyXG4iCgojOiBiYXNpY19ibG9ja3MuYzo1NzgKIywgYy1mb3JtYXQKbXNnaWQgIiU5LjJmICAgQXZlcmFnZSBleGVjdXRpb25zIHBlciBsaW5lXG4iCm1zZ3N0ciAiJTkuMmYgICBHZW5uZW1zbml0ZWtzZWt2ZXJpbmdlciBwZXIgbGluamVcbiIKCiM6IGNhbGxfZ3JhcGguYzo2OAojLCBjLWZvcm1hdAptc2dpZCAiW2NnX3RhbGx5XSBhcmMgZnJvbSAlcyB0byAlcyB0cmF2ZXJzZWQgJWx1IHRpbWVzXG4iCm1zZ3N0ciAiW2NnX3RhbGx5XSBncmVuIGZyYSAlcyB0aWwgJXMgZ2VubmVtbPhiZXQgJWx1IGdhbmdlXG4iCgojOiBjZ19wcmludC5jOjc1CiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiJcdFx0ICAgICBDYWxsIGdyYXBoIChleHBsYW5hdGlvbiBmb2xsb3dzKVxuIgoiXG4iCm1zZ3N0ciAiIgoiXHRcdCAgICAgS2FsZHNncmFmIChmb3JrbGFyaW5nIGb4bGdlcilcbiIKIlxuIgoKIzogY2dfcHJpbnQuYzo3NwojLCBjLWZvcm1hdAptc2dpZCAiIgoiXHRcdFx0Q2FsbCBncmFwaFxuIgoiXG4iCm1zZ3N0ciAiIgoiXHRcdFx0S2FsZHNncmFmXG4iCiJcbiIKCiM6IGNnX3ByaW50LmM6ODAgaGlzdC5jOjQ3MQojLCBjLWZvcm1hdAptc2dpZCAiIgoiXG4iCiJncmFudWxhcml0eTogZWFjaCBzYW1wbGUgaGl0IGNvdmVycyAlbGQgYnl0ZShzKSIKbXNnc3RyICIiCiJcbiIKIm9wbPhzbmluZzogaHZlciBzdGlrcHL4dmUgZOZra2VyICVsZCBieXRlIgoKIzogY2dfcHJpbnQuYzo4NAojLCBjLWZvcm1hdAptc2dpZCAiIgoiIGZvciAlLjJmJSUgb2YgJS4yZiBzZWNvbmRzXG4iCiJcbiIKbXNnc3RyICIiCiIgZm9yICUuMmYlJSBw5SAlLjJmIHNla3VuZGVyXG4iCiJcbiIKCiM6IGNnX3ByaW50LmM6ODgKIywgYy1mb3JtYXQKbXNnaWQgIiIKIiBubyB0aW1lIHByb3BhZ2F0ZWRcbiIKIlxuIgptc2dzdHIgIiIKIiBpbmdlbiB0aWQgcHJvcGFnZXJldFxuIgoiXG4iCgojOiBjZ19wcmludC5jOjk3IGNnX3ByaW50LmM6MTAyIGNnX3ByaW50LmM6MTA1Cm1zZ2lkICJjYWxsZWQiCm1zZ3N0ciAia2FsZHQiCgojOiBjZ19wcmludC5jOjk3IGNnX3ByaW50LmM6MTA1Cm1zZ2lkICJ0b3RhbCIKbXNnc3RyICJ0b3RhbHQiCgojOiBjZ19wcmludC5jOjk3Cm1zZ2lkICJwYXJlbnRzIgptc2dzdHIgImZvcuZsZHJlIgoKIzogY2dfcHJpbnQuYzo5OSBjZ19wcmludC5jOjEwMwptc2dpZCAiaW5kZXgiCm1zZ3N0ciAiaW5kZWtzIgoKIzogY2dfcHJpbnQuYzoxMDEKIywgbm8tYy1mb3JtYXQKbXNnaWQgIiV0aW1lIgptc2dzdHIgIiV0aWQiCgojOiBjZ19wcmludC5jOjEwMgptc2dpZCAic2VsZiIKbXNnc3RyICJzZWx2IgoKIzogY2dfcHJpbnQuYzoxMDIKbXNnaWQgImRlc2NlbmRhbnRzIgptc2dzdHIgImFma29tIgoKIzogY2dfcHJpbnQuYzoxMDMgaGlzdC5jOjQ5Nwptc2dpZCAibmFtZSIKbXNnc3RyICJuYXZuIgoKIzogY2dfcHJpbnQuYzoxMDUKbXNnaWQgImNoaWxkcmVuIgptc2dzdHIgImL4cm4iCgojOiBjZ19wcmludC5jOjExMAojLCBjLWZvcm1hdAptc2dpZCAiaW5kZXggJSUgdGltZSAgICBzZWxmICBjaGlsZHJlbiAgICBjYWxsZWQgICAgIG5hbWVcbiIKbXNnc3RyICJpbmRla3MgJSUgdGlkICAgIHNlbHYgIGL4cm4gICAgICAgIGthbGR0ICAgICAgbmF2blxuIgoKIzogY2dfcHJpbnQuYzoxMzMKIywgYy1mb3JtYXQKbXNnaWQgIiA8Y3ljbGUgJWQgYXMgYSB3aG9sZT4gWyVkXVxuIgptc2dzdHIgIiA8aGVsZSBjeWtsdXNlbiAlZD4gWyVkXVxuIgoKIzogY2dfcHJpbnQuYzozNTkKIywgYy1mb3JtYXQKbXNnaWQgIiU2LjZzICU1LjVzICU3LjdzICUxMS4xMXMgJTcuN3MgJTcuN3MgICAgIDxzcG9udGFuZW91cz5cbiIKbXNnc3RyICIlNi42cyAlNS41cyAlNy43cyAlMTEuMTFzICU3LjdzICU3LjdzICAgICA8c3BvbnRhbnQ+XG4iCgojOiBjZ19wcmludC5jOjM2MAojLCBjLWZvcm1hdAptc2dpZCAiJTYuNnMgJTUuNXMgJTcuN3MgJTcuN3MgJTcuN3MgJTcuN3MgICAgIDxzcG9udGFuZW91cz5cbiIKbXNnc3RyICIlNi42cyAlNS41cyAlNy43cyAlNy43cyAlNy43cyAlNy43cyAgICAgPHNwb250YW50PlxuIgoKIzogY2dfcHJpbnQuYzo1OTQKIywgYy1mb3JtYXQKbXNnaWQgIiIKIkluZGV4IGJ5IGZ1bmN0aW9uIG5hbWVcbiIKIlxuIgptc2dzdHIgIiIKIkluZGVrcyBlZnRlciBmdW5rdGlvbnNuYXZuXG4iCiJcbiIKCiM6IGNnX3ByaW50LmM6NjUxIGNnX3ByaW50LmM6NjYwCiMsIGMtZm9ybWF0Cm1zZ2lkICI8Y3ljbGUgJWQ+Igptc2dzdHIgIjxjeWtsdXMgJWQ+IgoKIzogY29yZWZpbGUuYzo2MQojLCBjLWZvcm1hdAptc2dpZCAiJXM6IHVuYWJsZSB0byBwYXJzZSBtYXBwaW5nIGZpbGUgJXMuXG4iCm1zZ3N0ciAiJXM6IGthbiBpa2tlIHRvbGtlIG1hcHBpbmdzZmlsZW4gJXMuXG4iCgojOiBjb3JlZmlsZS5jOjg1IGNvcmVmaWxlLmM6NTI2CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogY291bGQgbm90IG9wZW4gJXMuXG4iCm1zZ3N0ciAiJXM6IGt1bm5lIGlra2Ug5WJuZSAlcy5cbiIKCiM6IGNvcmVmaWxlLmM6MTg3CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogJXM6IG5vdCBpbiBleGVjdXRhYmxlIGZvcm1hdFxuIgptc2dzdHIgIiVzOiAlczogaWtrZSBpIHVkZvhyYmFydCBmb3JtYXRcbiIKCiM6IGNvcmVmaWxlLmM6MTk4CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogY2FuJ3QgZmluZCAudGV4dCBzZWN0aW9uIGluICVzXG4iCm1zZ3N0ciAiJXM6IGthbiBpa2tlIGZpbmRlIC50ZXh0LXNla3Rpb24gaSAlc1xuIgoKIzogY29yZWZpbGUuYzoyNzMKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiByYW4gb3V0IHJvb20gZm9yICVsdSBieXRlcyBvZiB0ZXh0IHNwYWNlXG4iCm1zZ3N0ciAiJXM6IHNsdXQgcOUgcGxhZHMgZm9yICVsdSBieXRlIHRla3N0cGxhZHNcbiIKCiM6IGNvcmVmaWxlLmM6Mjg3CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogY2FuJ3QgZG8gLWNcbiIKbXNnc3RyICIlczoga2FuIGlra2UgbGF2ZSAtY1xuIgoKIzogY29yZWZpbGUuYzozMzAKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiAtYyBub3Qgc3VwcG9ydGVkIG9uIGFyY2hpdGVjdHVyZSAlc1xuIgptc2dzdHIgIiVzOiAtYyB1bmRlcnN0+HR0ZXMgaWtrZSBw5SBhcmtpdGVrdHVyZW4gJXNcbiIKCiM6IGNvcmVmaWxlLmM6NTM1IGNvcmVmaWxlLmM6NjM4CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogZmlsZSBgJXMnIGhhcyBubyBzeW1ib2xzXG4iCm1zZ3N0ciAiJXM6IGZpbGVuIFwiJXNcIiBoYXIgaW5nZW4gc3ltYm9sZXJcbiIKCiM6IGNvcmVmaWxlLmM6OTA1CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogc29tZWJvZHkgbWlzY291bnRlZDogbHRhYi5sZW49JWQgaW5zdGVhZCBvZiAlbGRcbiIKbXNnc3RyICIlczogbm9nZW4gcmVnbmVkZSBmb3JrZXJ0OiBsdGFiLmxlbj0lZCBpIHN0ZWRldCBmb3IgJWxkXG4iCgojOiBnbW9uX2lvLmM6ODQKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBhZGRyZXNzIHNpemUgaGFzIHVuZXhwZWN0ZWQgdmFsdWUgb2YgJXVcbiIKbXNnc3RyICIlczpzdPhycmVsc2UgcOUgYWRyZXNzZSBoYXIgZW4gdXZlbnRldCB25nJkaSBw5SAldVxuIgoKIzogZ21vbl9pby5jOjMxOSBnbW9uX2lvLmM6NDE1CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogZmlsZSB0b28gc2hvcnQgdG8gYmUgYSBnbW9uIGZpbGVcbiIKbXNnc3RyICIlczogZmlsZW4gZXIgZm9yIGtvcnQgdGlsIGF0IHbmcmUgZW4gZ21vbi1maWxcbiIKCiM6IGdtb25faW8uYzozMjkgZ21vbl9pby5jOjQ1OAojLCBjLWZvcm1hdAptc2dpZCAiJXM6IGZpbGUgYCVzJyBoYXMgYmFkIG1hZ2ljIGNvb2tpZVxuIgptc2dzdHIgIiVzOiBmaWxlbiBcIiVzXCIgaGFyIGZlamxhZ3RpZ3QgbWFnaXNrIHRhbFxuIgoKIzogZ21vbl9pby5jOjM0MAojLCBjLWZvcm1hdAptc2dpZCAiJXM6IGZpbGUgYCVzJyBoYXMgdW5zdXBwb3J0ZWQgdmVyc2lvbiAlZFxuIgptc2dzdHIgIiVzOiBmaWxlbiBcIiVzXCIgaGFyIHZlcnNpb24gJWQgc29tIGlra2UgdW5kZXJzdPh0dGVzXG4iCgojOiBnbW9uX2lvLmM6MzcwCiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogJXM6IGZvdW5kIGJhZCB0YWcgJWQgKGZpbGUgY29ycnVwdGVkPylcbiIKbXNnc3RyICIlczogJXM6IGZhbmR0IGZlamxhZ3RpZyBt5nJrZSAlZCAoZXIgZmlsZW4gYmVza2FkaWdldD8pXG4iCgojOiBnbW9uX2lvLmM6NDM3CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogcHJvZmlsaW5nIHJhdGUgaW5jb21wYXRpYmxlIHdpdGggZmlyc3QgZ21vbiBmaWxlXG4iCm1zZ3N0ciAiJXM6IHByb2ZpbGVyaW5nc2hhc3RpZ2hlZCBlciBpbmtvbXBhdGliZWwgbWVkIGb4cnN0ZSBnbW9uLWZpbFxuIgoKIzogZ21vbl9pby5jOjQ4OAojLCBjLWZvcm1hdAptc2dpZCAiJXM6IGluY29tcGF0aWJsZSB3aXRoIGZpcnN0IGdtb24gZmlsZVxuIgptc2dzdHIgIiVzOiBpbmtvbXBhdGliZWwgbWVkIGb4cnN0ZSBnbW9uLWZpbFxuIgoKIzogZ21vbl9pby5jOjUxOAojLCBjLWZvcm1hdAptc2dpZCAiJXM6IGZpbGUgJyVzJyBkb2VzIG5vdCBhcHBlYXIgdG8gYmUgaW4gZ21vbi5vdXQgZm9ybWF0XG4iCm1zZ3N0ciAiJXM6IGZpbGVuIFwiJXNcIiBzZXIgaWtrZSB1ZCB0aWwgYXQgduZyZSBpIGdtb24ub3V0LWZvcm1hdFxuIgoKIzogZ21vbl9pby5jOjUzMQojLCBjLWZvcm1hdAptc2dpZCAiJXM6IHVuZXhwZWN0ZWQgRU9GIGFmdGVyIHJlYWRpbmcgJWQvJWQgYmluc1xuIgptc2dzdHIgIiVzOiB1dmVudGV0IGZpbHNsdXQgZWZ0ZXIgbOZzbmluZyBhZiAlZC8lZCBwb3N0ZXJcbiIKCiM6IGdtb25faW8uYzo1NjMKIywgYy1mb3JtYXQKbXNnaWQgInRpbWUgaXMgaW4gdGlja3MsIG5vdCBzZWNvbmRzXG4iCm1zZ3N0ciAidGlkZW4gZXIgaSB0aWNrLCBpa2tlIHNla3VuZGVyXG4iCgojOiBnbW9uX2lvLmM6NTY5IGdtb25faW8uYzo3NDkKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBkb24ndCBrbm93IGhvdyB0byBkZWFsIHdpdGggZmlsZSBmb3JtYXQgJWRcbiIKbXNnc3RyICIlczogdmVkIGlra2UgaHZvcmRhbiBmaWxmb3JtYXQgJWQgc2thbCBo5W5kdGVyZXNcbiIKCiM6IGdtb25faW8uYzo1NzkKIywgYy1mb3JtYXQKbXNnaWQgIkZpbGUgYCVzJyAodmVyc2lvbiAlZCkgY29udGFpbnM6XG4iCm1zZ3N0ciAiRmlsZW4gXCIlc1wiICh2ZXJzaW9uICVkKSBpbmRlaG9sZGVyOlxuIgoKIzogZ21vbl9pby5jOjU4MgojLCBjLWZvcm1hdAptc2dpZCAiXHQlZCBoaXN0b2dyYW0gcmVjb3JkXG4iCm1zZ3N0ciAiXHQlZCBoaXN0b2dyYW1wb3N0XG4iCgojOiBnbW9uX2lvLmM6NTgzCiMsIGMtZm9ybWF0Cm1zZ2lkICJcdCVkIGhpc3RvZ3JhbSByZWNvcmRzXG4iCm1zZ3N0ciAiXHQlZCBoaXN0b2dyYW1wb3N0ZXJcbiIKCiM6IGdtb25faW8uYzo1ODUKIywgYy1mb3JtYXQKbXNnaWQgIlx0JWQgY2FsbC1ncmFwaCByZWNvcmRcbiIKbXNnc3RyICJcdCVkIGthbGRzZ3JhZnBvc3RcbiIKCiM6IGdtb25faW8uYzo1ODYKIywgYy1mb3JtYXQKbXNnaWQgIlx0JWQgY2FsbC1ncmFwaCByZWNvcmRzXG4iCm1zZ3N0ciAiXHQlZCBrYWxkc2dyYWZwb3N0ZXJcbiIKCiM6IGdtb25faW8uYzo1ODgKIywgYy1mb3JtYXQKbXNnaWQgIlx0JWQgYmFzaWMtYmxvY2sgY291bnQgcmVjb3JkXG4iCm1zZ3N0ciAiXHQlZCBncnVuZGJsb2tzcmVnbmluZ3Nwb3N0XG4iCgojOiBnbW9uX2lvLmM6NTg5CiMsIGMtZm9ybWF0Cm1zZ2lkICJcdCVkIGJhc2ljLWJsb2NrIGNvdW50IHJlY29yZHNcbiIKbXNnc3RyICJcdCVkIGdydW5kYmxva3NyZWduaW5nc3Bvc3RlclxuIgoKIzogZ3Byb2YuYzoxNjIKIywgYy1mb3JtYXQKbXNnaWQgIiIKIlVzYWdlOiAlcyBbLVthYmNEaGlsTHNUdnd4eXpdXSBbLVtBQ2VFZkZKbk5PcFBxU1FaXVtuYW1lXV0gWy1JIGRpcnNdXG4iCiJcdFstZFtudW1dXSBbLWsgZnJvbS90b10gWy1tIG1pbi1jb3VudF0gWy10IHRhYmxlLWxlbmd0aF1cbiIKIlx0Wy0tW25vLV1hbm5vdGF0ZWQtc291cmNlWz1uYW1lXV0gWy0tW25vLV1leGVjLWNvdW50c1s9bmFtZV1dXG4iCiJcdFstLVtuby1dZmxhdC1wcm9maWxlWz1uYW1lXV0gWy0tW25vLV1ncmFwaFs9bmFtZV1dXG4iCiJcdFstLVtuby1ddGltZT1uYW1lXSBbLS1hbGwtbGluZXNdIFstLWJyaWVmXSBbLS1kZWJ1Z1s9bGV2ZWxdXVxuIgoiXHRbLS1mdW5jdGlvbi1vcmRlcmluZ10gWy0tZmlsZS1vcmRlcmluZ10gWy0taW5saW5lLWZpbGUtbmFtZXNdXG4iCiJcdFstLWRpcmVjdG9yeS1wYXRoPWRpcnNdIFstLWRpc3BsYXktdW51c2VkLWZ1bmN0aW9uc11cbiIKIlx0Wy0tZmlsZS1mb3JtYXQ9bmFtZV0gWy0tZmlsZS1pbmZvXSBbLS1oZWxwXSBbLS1saW5lXSBbLS1taW4tY291bnQ9bl1cbiIKIlx0Wy0tbm8tc3RhdGljXSBbLS1wcmludC1wYXRoXSBbLS1zZXBhcmF0ZS1maWxlc11cbiIKIlx0Wy0tc3RhdGljLWNhbGwtZ3JhcGhdIFstLXN1bV0gWy0tdGFibGUtbGVuZ3RoPWxlbl0gWy0tdHJhZGl0aW9uYWxdXG4iCiJcdFstLXZlcnNpb25dIFstLXdpZHRoPW5dIFstLWlnbm9yZS1ub24tZnVuY3Rpb25zXVxuIgoiXHRbLS1kZW1hbmdsZVs9U1RZTEVdXSBbLS1uby1kZW1hbmdsZV0gWy0tZXh0ZXJuYWwtc3ltYm9sLXRhYmxlPW5hbWVdIFtARklMRV1cbiIKIlx0W2ltYWdlLWZpbGVdIFtwcm9maWxlLWZpbGUuLi5dXG4iCm1zZ3N0ciAiIgoiQnJ1ZzogJXMgWy1bYWJjRGhpbExzVHZ3eHl6XV0gWy1bQUNlRWZGSm5OT3BQcVNRWl1bbmFtZV1dIFstSSBrYXRhbG9nZXJdXG4iCiJcdFstZFt0YWxdXSBbLWsgZnJhL3RpbF0gWy1tIG1pbmRzdGUtYW50YWxdIFstdCB0YWJlbC1s5m5nZGVdXG4iCiJcdFstLVtuby1dYW5ub3RhdGVkLXNvdXJjZVs9bmF2bl1dIFstLVtuby1dZXhlYy1jb3VudHNbPW5hdm5dXVxuIgoiXHRbLS1bbm8tXWZsYXQtcHJvZmlsZVs9bmF2bl1dIFstLVtuby1dZ3JhcGhbPW5hdm5dXVxuIgoiXHRbLS1bbm8tXXRpbWU9bmF2bl0gWy0tYWxsLWxpbmVzXSBbLS1icmllZl0gWy0tZGVidWdbPW5pdmVhdV1dXG4iCiJcdFstLWZ1bmN0aW9uLW9yZGVyaW5nXSBbLS1maWxlLW9yZGVyaW5nXSBbLS1pbmxpbmUtZmlsZS1uYXZuZV1cbiIKIlx0Wy0tZGlyZWN0b3J5LXBhdGg9a2F0YWxvZ2VyXSBbLS1kaXNwbGF5LXVudXNlZC1mdW5jdGlvbnNdXG4iCiJcdFstLWZpbGUtZm9ybWF0PW5hdm5dIFstLWZpbGUtaW5mb10gWy0taGVscF0gWy0tbGluZV0gWy0tbWluLWNvdW50PW5dXG4iCiJcdFstLW5vLXN0YXRpY10gWy0tcHJpbnQtcGF0aF0gWy0tc2VwYXJhdGUtZmlsZXNdXG4iCiJcdFstLXN0YXRpYy1jYWxsLWdyYXBoXSBbLS1zdW1dIFstLXRhYmxlLWxlbmd0aD1s5m5nZGVdIFstLXRyYWRpdGlvbmFsXVxuIgoiXHRbLS12ZXJzaW9uXSBbLS13aWR0aD1uXSBbLS1pZ25vcmUtbm9uLWZ1bmN0aW9uc11cbiIKIlx0Wy0tZGVtYW5nbGVbPVNUSUxdXSBbLS1uby1kZW1hbmdsZV0gWy0tZXh0ZXJuYWwtc3ltYm9sLXRhYmxlPW5hdm5dIFtARklMXVxuIgoiXHRbaW1hZ2UtZmlsZV0gW3Byb2ZpbGUtZmlsZS4uLl1cbiIKIlx0W2JpbGxlZGZpbF0gW3Byb2ZpbGZpbC4uLl1cbiIKCiM6IGdwcm9mLmM6MTc4CiMsIGMtZm9ybWF0Cm1zZ2lkICJSZXBvcnQgYnVncyB0byAlc1xuIgptc2dzdHIgIiIKIlJhcHBvcnTpciBmZWpsIHRpbCAlcyxcbiIKIm9nIHN5bnB1bmt0ZXIgcOUgb3ZlcnPmdHRlbHNlbiB0aWwgZGFuc2tAZGFuc2stZ3J1cHBlbi5ka1xuIgoKIzogZ3Byb2YuYzoyNTQKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBkZWJ1Z2dpbmcgbm90IHN1cHBvcnRlZDsgLWQgaWdub3JlZFxuIgptc2dzdHIgIiVzOiBmZWpsc/hnbmluZyB1bmRlcnN0+HR0ZXMgaWtrZTsgLWQgaWdub3JlcmVkZXNcbiIKCiM6IGdwcm9mLmM6MzM0CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogdW5rbm93biBmaWxlIGZvcm1hdCAlc1xuIgptc2dzdHIgIiVzOiB1a2VuZHQgZmlsZm9ybWF0ICVzXG4iCgojLiBUaGlzIG91dHB1dCBpcyBpbnRlbmRlZCB0byBmb2xsb3cgdGhlIEdOVSBzdGFuZGFyZHMgZG9jdW1lbnQuCiM6IGdwcm9mLmM6NDIyCiMsIGMtZm9ybWF0Cm1zZ2lkICJHTlUgZ3Byb2YgJXNcbiIKbXNnc3RyICJHTlUgZ3Byb2YgJXNcbiIKCiM6IGdwcm9mLmM6NDIzCiMsIGMtZm9ybWF0Cm1zZ2lkICJCYXNlZCBvbiBCU0QgZ3Byb2YsIGNvcHlyaWdodCAxOTgzIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS5cbiIKbXNnc3RyICJCYXNlcmV0IHDlIEJTRCBncHJvZiwgY29weXJpZ2h0IDE5ODMgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLlxuIgoKIzogZ3Byb2YuYzo0MjQKIywgYy1mb3JtYXQKbXNnaWQgIlRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlLiAgVGhpcyBwcm9ncmFtIGhhcyBhYnNvbHV0ZWx5IG5vIHdhcnJhbnR5LlxuIgptc2dzdHIgIkRldHRlIHByb2dyYW0gZXIgZnJpdCBwcm9ncmFtbWVsLiBEZXR0ZSBwcm9ncmFtIGhhciBpbmdlbiBzb20gaGVsc3QgZ2FyYW50aS5cbiIKCiM6IGdwcm9mLmM6NDY1CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogdW5rbm93biBkZW1hbmdsaW5nIHN0eWxlIGAlcydcbiIKbXNnc3RyICIlczogdWtlbmR0IGRlbWFuZ2xpbmdzc3RpbCBcIiVzXCJcbiIKCiM6IGdwcm9mLmM6NDg4CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogT25seSBvbmUgb2YgLS1mdW5jdGlvbi1vcmRlcmluZyBhbmQgLS1maWxlLW9yZGVyaW5nIG1heSBiZSBzcGVjaWZpZWQuXG4iCm1zZ3N0ciAiJXM6IEt1biBlbiBhZiAtLWZ1bmN0aW9uLW9yZGVyaW5nIG9nIC0tZmlsZS1vcmRlcmluZyBrYW4gYW5naXZlcy5cbiIKCiM6IGdwcm9mLmM6NTQwCiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogc29ycnksIGZpbGUgZm9ybWF0IGBwcm9mJyBpcyBub3QgeWV0IHN1cHBvcnRlZFxuIgptc2dzdHIgIiVzOiBkZXN25nJyZSwgZmlsZm9ybWF0ZXQgXCJwcm9mXCIgdW5kZXJzdPh0dGVzIGlra2UgZW5kbnVcbiIKCiM6IGdwcm9mLmM6NTk0CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogZ21vbi5vdXQgZmlsZSBpcyBtaXNzaW5nIGhpc3RvZ3JhbVxuIgptc2dzdHIgIiVzOiBnbW9uLm91dC1maWxlbiBtYW5nbGVyIGhpc3RvZ3JhbVxuIgoKIzogZ3Byb2YuYzo2MDEKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBnbW9uLm91dCBmaWxlIGlzIG1pc3NpbmcgY2FsbC1ncmFwaCBkYXRhXG4iCm1zZ3N0ciAiJXM6IGdtb24ub3V0LWZpbGVuIG1hbmdsZXIga2FsZHNncmFmZGF0YVxuIgoKIzogaGlzdC5jOjEzNQojLCBjLWZvcm1hdAptc2dpZCAiIgoiJXM6IGRpbWVuc2lvbiB1bml0IGNoYW5nZWQgYmV0d2VlbiBoaXN0b2dyYW0gcmVjb3Jkc1xuIgoiJXM6IGZyb20gJyVzJ1xuIgoiJXM6IHRvICclcydcbiIKbXNnc3RyICIiCiIlczogZW5oZWQgZm9yIGRpbWVuc2lvbiDmbmRyZWRlcyBtZWxsZW0gaGlzdG9ncmFtcG9zdGVyXG4iCiIlczogZnJhICclcydcbiIKIiVzOiB0aWwgJyVzJ1xuIgoKIzogaGlzdC5jOjE0NQojLCBjLWZvcm1hdAptc2dpZCAiIgoiJXM6IGRpbWVuc2lvbiBhYmJyZXZpYXRpb24gY2hhbmdlZCBiZXR3ZWVuIGhpc3RvZ3JhbSByZWNvcmRzXG4iCiIlczogZnJvbSAnJWMnXG4iCiIlczogdG8gJyVjJ1xuIgptc2dzdHIgIiIKIiVzOiBmb3Jrb3J0ZWxzZSBmb3IgZGltZW5zaW9uIOZuZHJlZGVzIG1lbGxlbSBoaXN0b2dyYW1wb3N0ZXJcbiIKIiVzOiBmcmEgJyVjJ1xuIgoiJXM6IHRpbCAnJWMnXG4iCgojOiBoaXN0LmM6MTU5CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogZGlmZmVyZW50IHNjYWxlcyBpbiBoaXN0b2dyYW0gcmVjb3JkcyIKbXNnc3RyICIlczogZm9yc2tlbGxpZ2Ugc2thbGFlciBpIGhpc3RvZ3JhbXBvc3RlciIKCiM6IGhpc3QuYzoxOTYKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBvdmVybGFwcGluZyBoaXN0b2dyYW0gcmVjb3Jkc1xuIgptc2dzdHIgIiVzIG92ZXJsYXBwZW5kZSBoaXN0b2dyYW1wb3N0ZXJcbiIKCiM6IGhpc3QuYzoyMzAKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiAlczogdW5leHBlY3RlZCBFT0YgYWZ0ZXIgcmVhZGluZyAldSBvZiAldSBzYW1wbGVzXG4iCm1zZ3N0ciAiJXM6ICVzOiB1dmVudGV0IGZpbHNsdXQgZWZ0ZXIgbOZzbmluZyBhZiAldSBhZiAldSBzdGlrcHL4dmVyXG4iCgojOiBoaXN0LmM6NDY3CiMsIGMtZm9ybWF0Cm1zZ2lkICIlYyVjL2NhbGwiCm1zZ3N0ciAiJWMlYy9rYWxkIgoKIzogaGlzdC5jOjQ3NQojLCBjLWZvcm1hdAptc2dpZCAiIgoiIGZvciAlLjJmJSUgb2YgJS4yZiAlc1xuIgoiXG4iCm1zZ3N0ciAiIgoiIGZvciAlLjJmJSUgYWYgJS4yZiAlc1xuIgoiXG4iCgojOiBoaXN0LmM6NDgxCiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiJcbiIKIkVhY2ggc2FtcGxlIGNvdW50cyBhcyAlZyAlcy5cbiIKbXNnc3RyICIiCiJcbiIKIkh2ZXIgc3Rpa3By+HZlIHJlZ25lcyBzb20gJWcgJXMuXG4iCgojOiBoaXN0LmM6NDg2CiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiIgbm8gdGltZSBhY2N1bXVsYXRlZFxuIgoiXG4iCm1zZ3N0ciAiIgoiIGluZ2VuIHRpZCBha2t1bXVsZXJldFxuIgoiXG4iCgojOiBoaXN0LmM6NDkzCm1zZ2lkICJjdW11bGF0aXZlIgptc2dzdHIgImt1bXVsYXRpdiIKCiM6IGhpc3QuYzo0OTMKbXNnaWQgInNlbGYgICIKbXNnc3RyICJzZWx2IgoKIzogaGlzdC5jOjQ5Mwptc2dpZCAidG90YWwgIgptc2dzdHIgInRvdGFsdCIKCiM6IGhpc3QuYzo0OTYKbXNnaWQgInRpbWUiCm1zZ3N0ciAidGlkIgoKIzogaGlzdC5jOjQ5Ngptc2dpZCAiY2FsbHMiCm1zZ3N0ciAia2FsZCIKCiM6IGhpc3QuYzo1ODUKIywgYy1mb3JtYXQKbXNnaWQgIiIKIlxuIgoiXG4iCiJcbiIKImZsYXQgcHJvZmlsZTpcbiIKbXNnc3RyICIiCiJcbiIKIlxuIgoiXG4iCiJmbGFkIHByb2ZpbDpcbiIKCiM6IGhpc3QuYzo1OTEKIywgYy1mb3JtYXQKbXNnaWQgIkZsYXQgcHJvZmlsZTpcbiIKbXNnc3RyICJGbGFkIHByb2ZpbDpcbiIKCiM6IGhpc3QuYzo3MTIKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBmb3VuZCBhIHN5bWJvbCB0aGF0IGNvdmVycyBzZXZlcmFsIGhpc3RvZ3JhbSByZWNvcmRzIgptc2dzdHIgIiVzOiBmYW5kdCBldCBzeW1ib2wgZGVyIGTma2tlciBmbGVyZSBoaXNvZ3JhbXBvc3RlciIKCiM6IG1pcHMuYzo3MQojLCBjLWZvcm1hdAptc2dpZCAiW2ZpbmRfY2FsbF0gMHglbHg6IGphbCIKbXNnc3RyICJbZmluZF9jYWxsXSAweCVseDogamFsIgoKIzogbWlwcy5jOjk5CiMsIGMtZm9ybWF0Cm1zZ2lkICJbZmluZF9jYWxsXSAweCVseDogamFsclxuIgptc2dzdHIgIltmaW5kX2NhbGxdIDB4JWx4OiBqYWxyXG4iCgojOiBzb3VyY2UuYzoxNjIKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBjb3VsZCBub3QgbG9jYXRlIGAlcydcbiIKbXNnc3RyICIlczoga3VubmUgaWtrZSBmaW5kZSBcIiVzXCJcbiIKCiM6IHNvdXJjZS5jOjIzNwojLCBjLWZvcm1hdAptc2dpZCAiKioqIEZpbGUgJXM6XG4iCm1zZ3N0ciAiKioqIEZpbCAlczpcbiIKCiM6IHV0aWxzLmM6MTA2CiMsIGMtZm9ybWF0Cm1zZ2lkICIgPGN5Y2xlICVkPiIKbXNnc3RyICIgPGN5a2x1cyAlZD4iCgojfiBtc2dpZCAiJXM6IGAlcycgaXMgaW5jb21wYXRpYmxlIHdpdGggZmlyc3QgZ21vbiBmaWxlXG4iCiN+IG1zZ3N0ciAiJXM6IFwiJXNcIiBlciBpbmtvbXBhdGliZWwgbWVkIGb4cnN0ZSBnbW9uLWZpbFxuIgoKI34gbXNnaWQgIiVzOiBiZmRfdm1hIGhhcyB1bmV4cGVjdGVkIHNpemUgb2YgJWxkIGJ5dGVzXG4iCiN+IG1zZ3N0ciAiJXM6IGJmZF92bWEgaGFyIGVuIHV2ZW50ZXQgc3T4cnJlbHNlIHDlICVsZCBieXRlXG4iCg==