IyBNZXNzYWdlcyBmcmFu52FpcyBwb3VyIGdwcm9mLgojIENvcHlyaWdodCCpIDE5OTYgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiMgTWljaGVsIFJvYml0YWlsbGUgPHJvYml0YWlsQElSTy5VTW9udHJlYWwuQ0E+LCB0cmFkdWN0ZXVyIGRlcHVpcy9zaW5jZSAxOTk2LgojCm1zZ2lkICIiCm1zZ3N0ciAiIgoiUHJvamVjdC1JZC1WZXJzaW9uOiBncHJvZiAyLjE0cmVsMDMwNzEyXG4iCiJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwMy0wNy0xMSAxMzo1OCswOTMwXG4iCiJQTy1SZXZpc2lvbi1EYXRlOiAyMDAzLTA3LTI0IDA4OjAwLTA1MDBcbiIKIkxhc3QtVHJhbnNsYXRvcjogTWljaGVsIFJvYml0YWlsbGUgPHJvYml0YWlsQElSTy5VTW9udHJlYWwuQ0E+XG4iCiJMYW5ndWFnZS1UZWFtOiBGcmVuY2ggPHRyYWR1Y0B0cmFkdWMub3JnPlxuIgoiTUlNRS1WZXJzaW9uOiAxLjBcbiIKIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1JU08tODg1OS0xXG4iCiJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCgojOiBhbHBoYS5jOjEwMyBtaXBzLmM6NTcKbXNnaWQgIjxpbmRpcmVjdCBjaGlsZD4iCm1zZ3N0ciAiPHJlamV0b24gaW5kaXJlY3Q+IgoKIzogYWxwaGEuYzoxMjAgbWlwcy5jOjc0CiMsIGMtZm9ybWF0Cm1zZ2lkICJbZmluZF9jYWxsXSAlczogMHglbHggdG8gMHglbHhcbiIKbXNnc3RyICJbZmluZF9jYWxsXSAlczogMHglbHggdG8gMHglbHhcbiIKCiM6IGFscGhhLmM6MTQyCiMsIGMtZm9ybWF0Cm1zZ2lkICJbZmluZF9jYWxsXSAweCVseDoganNyJXMgPGluZGlyZWN0X2NoaWxkPlxuIgptc2dzdHIgIltmaW5kX2NhbGxdIDB4JWx4OiBqc3IlcyA8aW5kaXJlY3RfY2hpbGQ+XG4iCgojOiBhbHBoYS5jOjE1MgojLCBjLWZvcm1hdAptc2dpZCAiW2ZpbmRfY2FsbF0gMHglbHg6IGJzciIKbXNnc3RyICJbZmluZF9jYWxsXSAweCVseDogYnNyIgoKIzogYmFzaWNfYmxvY2tzLmM6MTM0IGNhbGxfZ3JhcGguYzo5NCBoaXN0LmM6OTgKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiAlczogdW5leHBlY3RlZCBlbmQgb2YgZmlsZVxuIgptc2dzdHIgIiVzOiAlczogZmluIHBy6W1hdHVy6WUgZHUgZmljaGllclxuIgoKIzogYmFzaWNfYmxvY2tzLmM6MjAyCiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogd2FybmluZzogaWdub3JpbmcgYmFzaWMtYmxvY2sgZXhlYyBjb3VudHMgKHVzZSAtbCBvciAtLWxpbmUpXG4iCm1zZ3N0ciAiJXM6IEFWRVJUSVNTRU1FTlQ6IGEgaWdub3LpIGxlcyBjb21wdGV1cnMgZCdleOljdXRpb24gZGVzIGJsb2NzIGRlIGJhc2UodXRpbGlzZXIgLWwgb3UgLS1saW5lKVxuIgoKIy4gRklYTUU6IFRoaXMgb25seSB3b3JrcyBpZiBiZmRfdm1hIGlzIHVuc2lnbmVkIGxvbmcuCiM6IGJhc2ljX2Jsb2Nrcy5jOjI5NSBiYXNpY19ibG9ja3MuYzozMDUKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiVkOiAoJXM6MHglbHgpICVsdSBleGVjdXRpb25zXG4iCm1zZ3N0ciAiJXM6JWQ6ICglczoweCVseCkgJWx1IGV46WN1dGlvbnNcbiIKCiM6IGJhc2ljX2Jsb2Nrcy5jOjI5NiBiYXNpY19ibG9ja3MuYzozMDYKbXNnaWQgIjx1bmtub3duPiIKbXNnc3RyICI8aW5jb25udT4iCgojOiBiYXNpY19ibG9ja3MuYzo1NTMKIywgYy1mb3JtYXQKbXNnaWQgIiIKIlxuIgoiXG4iCiJUb3AgJWQgTGluZXM6XG4iCiJcbiIKIiAgICAgTGluZSAgICAgIENvdW50XG4iCiJcbiIKbXNnc3RyICIiCiJcbiIKIlxuIgoiJWQgTGlnbmVzIGR1IGhhdXQ6XG4iCiJcbiIKIiAgICAgTGlnbmUgICAgIENvbXB0ZXVyXG4iCiJcbiIKCiM6IGJhc2ljX2Jsb2Nrcy5jOjU3Nwptc2dpZCAiIgoiXG4iCiJFeGVjdXRpb24gU3VtbWFyeTpcbiIKIlxuIgptc2dzdHIgIiIKIlxuIgoiU29tbWFpcmUgZCdleOljdXRpb246XG4iCiJcbiIKCiM6IGJhc2ljX2Jsb2Nrcy5jOjU3OAojLCBjLWZvcm1hdAptc2dpZCAiJTlsZCAgIEV4ZWN1dGFibGUgbGluZXMgaW4gdGhpcyBmaWxlXG4iCm1zZ3N0ciAiJTlsZCAgIExpZ25lcyBleOljdXRhYmxlcyBkYW5zIGNlIGZpY2hpZXJcbiIKCiM6IGJhc2ljX2Jsb2Nrcy5jOjU4MAojLCBjLWZvcm1hdAptc2dpZCAiJTlsZCAgIExpbmVzIGV4ZWN1dGVkXG4iCm1zZ3N0ciAiJTlsZCAgIExpZ25lcyBleOljdXTpZXNcbiIKCiM6IGJhc2ljX2Jsb2Nrcy5jOjU4MQojLCBjLWZvcm1hdAptc2dpZCAiJTkuMmYgICBQZXJjZW50IG9mIHRoZSBmaWxlIGV4ZWN1dGVkXG4iCm1zZ3N0ciAiJTkuMmYgICBQZXJjZW50IGR1IGZpY2hpZXIgZXjpY3V06VxuIgoKIzogYmFzaWNfYmxvY2tzLmM6NTg1CiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiJcbiIKIiU5bHUgICBUb3RhbCBudW1iZXIgb2YgbGluZSBleGVjdXRpb25zXG4iCm1zZ3N0ciAiIgoiXG4iCiIlOWx1ICAgTm9tYnJlIHRvdGFsIGRlIGxpZ25lcyBleOljdXTpZXNcbiIKCiM6IGJhc2ljX2Jsb2Nrcy5jOjU4NwojLCBjLWZvcm1hdAptc2dpZCAiJTkuMmYgICBBdmVyYWdlIGV4ZWN1dGlvbnMgcGVyIGxpbmVcbiIKbXNnc3RyICIlOS4yZiAgIEV46WN1dGlvbnMgbW95ZW5uZXMgcGFyIGxpZ25lXG4iCgojOiBjYWxsX2dyYXBoLmM6NzEKIywgYy1mb3JtYXQKbXNnaWQgIltjZ190YWxseV0gYXJjIGZyb20gJXMgdG8gJXMgdHJhdmVyc2VkICVsdSB0aW1lc1xuIgptc2dzdHIgIltjZ190YWxseV0gYXJjIOAgcGFydGlyIGRlICVzIOAgJXMgdHJhdmVyc+lzICVsdSBmb2lzXG4iCgojOiBjZ19wcmludC5jOjczCm1zZ2lkICIiCiJcdFx0ICAgICBDYWxsIGdyYXBoIChleHBsYW5hdGlvbiBmb2xsb3dzKVxuIgoiXG4iCm1zZ3N0ciAiIgoiXHRcdCAgICAgQXBwZWwgZGUgZ3JhcGhlIChsZXMgZXhwbGljYXRpb25zIHN1aXZlbnQpXG4iCiJcbiIKCiM6IGNnX3ByaW50LmM6NzUKbXNnaWQgIiIKIlx0XHRcdENhbGwgZ3JhcGhcbiIKIlxuIgptc2dzdHIgIiIKIlx0XHRcdEFwcGVsIGRlIGdyYXBoZVxuIgoiXG4iCgojOiBjZ19wcmludC5jOjc4IGhpc3QuYzozNjMKIywgYy1mb3JtYXQKbXNnaWQgIiIKIlxuIgoiZ3JhbnVsYXJpdHk6IGVhY2ggc2FtcGxlIGhpdCBjb3ZlcnMgJWxkIGJ5dGUocykiCm1zZ3N0ciAiIgoiXG4iCiJncmFudWxhcml06TogY2hhcXVlIOljaGFudGlsbG9ubmFnZSBjb3V2cmUgJWxkIG9jdGV0KHMpIgoKIzogY2dfcHJpbnQuYzo4MgojLCBjLWZvcm1hdAptc2dpZCAiIgoiIGZvciAlLjJmJSUgb2YgJS4yZiBzZWNvbmRzXG4iCiJcbiIKbXNnc3RyICIiCiIgcG91ciAlLjJmJSUgb2YgJS4yZiBzZWNvbmRlc1xuIgoiXG4iCgojOiBjZ19wcmludC5jOjg2Cm1zZ2lkICIiCiIgbm8gdGltZSBwcm9wYWdhdGVkXG4iCiJcbiIKbXNnc3RyICIiCiIgcGFzIGRlIHByb3BhZ2F0aW9uIGRlIHRlbXBzXG4iCiJcbiIKCiM6IGNnX3ByaW50LmM6OTUgY2dfcHJpbnQuYzo5OCBjZ19wcmludC5jOjEwMAptc2dpZCAiY2FsbGVkIgptc2dzdHIgImFwcGVs6SIKCiM6IGNnX3ByaW50LmM6OTUgY2dfcHJpbnQuYzoxMDAKbXNnaWQgInRvdGFsIgptc2dzdHIgInRvdGFsIgoKIzogY2dfcHJpbnQuYzo5NQptc2dpZCAicGFyZW50cyIKbXNnc3RyICJwYXJlbnRzIgoKIzogY2dfcHJpbnQuYzo5NyBjZ19wcmludC5jOjk4Cm1zZ2lkICJpbmRleCIKbXNnc3RyICJpbmRleCIKCiM6IGNnX3ByaW50LmM6OTcKIywgYy1mb3JtYXQKbXNnaWQgIiV0aW1lIgptc2dzdHIgIiV0aW1lIgoKIzogY2dfcHJpbnQuYzo5NyBjZ19wcmludC5jOjk4Cm1zZ2lkICJzZWxmIgptc2dzdHIgImF1dG8iCgojOiBjZ19wcmludC5jOjk3Cm1zZ2lkICJkZXNjZW5kYW50cyIKbXNnc3RyICJkZXNjZW5kYW50cyIKCiM6IGNnX3ByaW50LmM6OTggaGlzdC5jOjM4OQptc2dpZCAibmFtZSIKbXNnc3RyICJub20iCgojOiBjZ19wcmludC5jOjEwMAptc2dpZCAiY2hpbGRyZW4iCm1zZ3N0ciAicmVqZXRvbnMiCgojOiBjZ19wcmludC5jOjEwNQojLCBjLWZvcm1hdAptc2dpZCAiaW5kZXggJSUgdGltZSAgICBzZWxmICBjaGlsZHJlbiAgICBjYWxsZWQgICAgIG5hbWVcbiIKbXNnc3RyICJpbmRleCAlJSB0ZW1wICAgIGF1dG8gIHJlamV0b25zICAgIGFwcGVs6SAgICAgbm9tXG4iCgojOiBjZ19wcmludC5jOjEyOQojLCBjLWZvcm1hdAptc2dpZCAiIDxjeWNsZSAlZCBhcyBhIHdob2xlPiBbJWRdXG4iCm1zZ3N0ciAiIDxjeWNsZSAlZCBlbiBlbnRpZXI+IFslZF1cbiIKCiM6IGNnX3ByaW50LmM6MzYzCiMsIGMtZm9ybWF0Cm1zZ2lkICIlNi42cyAlNS41cyAlNy43cyAlMTEuMTFzICU3LjdzICU3LjdzICAgICA8c3BvbnRhbmVvdXM+XG4iCm1zZ3N0ciAiJTYuNnMgJTUuNXMgJTcuN3MgJTExLjExcyAlNy43cyAlNy43cyAgICAgPHNwb250YW7pcz5cbiIKCiM6IGNnX3ByaW50LmM6MzY0CiMsIGMtZm9ybWF0Cm1zZ2lkICIlNi42cyAlNS41cyAlNy43cyAlNy43cyAlNy43cyAlNy43cyAgICAgPHNwb250YW5lb3VzPlxuIgptc2dzdHIgIiU2LjZzICU1LjVzICU3LjdzICU3LjdzICU3LjdzICU3LjdzICAgICA8c3BvbnRhbulzPlxuIgoKIzogY2dfcHJpbnQuYzo2MDQKbXNnaWQgIiIKIkluZGV4IGJ5IGZ1bmN0aW9uIG5hbWVcbiIKIlxuIgptc2dzdHIgIiIKIkluZGV4IHBhciBub20gZGUgZm9uY3Rpb25cbiIKIlxuIgoKIzogY2dfcHJpbnQuYzo2NjEgY2dfcHJpbnQuYzo2NzAKIywgYy1mb3JtYXQKbXNnaWQgIjxjeWNsZSAlZD4iCm1zZ3N0ciAiPGN5Y2xlICVkPiIKCiM6IGNvcmVmaWxlLmM6NjQKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBjb3VsZCBub3Qgb3BlbiAlcy5cbiIKbXNnc3RyICIlczogbmUgcGV1dCBvdXZyaXIgJXMuXG4iCgojOiBjb3JlZmlsZS5jOjc4IGNvcmVmaWxlLmM6MTEyCiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogdW5hYmxlIHRvIHBhcnNlIG1hcHBpbmcgZmlsZSAlcy5cbiIKbXNnc3RyICIlczogaW5jYXBhYmxlIGQnYW5hbHlzZXIgbGUgZmljaGllciBkZSBwcm9qZWN0aW9uICVzLlxuIgoKIzogY29yZWZpbGUuYzoxNTUKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiAlczogbm90IGluIGEub3V0IGZvcm1hdFxuIgptc2dzdHIgIiVzOiAlczogbidlc3QgcGFzIGRhbnMgbGUgZm9ybWF0IGEub3V0XG4iCgojOiBjb3JlZmlsZS5jOjE2NgojLCBjLWZvcm1hdAptc2dpZCAiJXM6IGNhbid0IGZpbmQgLnRleHQgc2VjdGlvbiBpbiAlc1xuIgptc2dzdHIgIiVzOiBuZSBwZXV0IHJlcOlyZXIgbGEgc2VjdGlvbiAudGV4dCBkYW5zICVzXG4iCgojOiBjb3JlZmlsZS5jOjIyNQojLCBjLWZvcm1hdAptc2dpZCAiJXM6IHJhbiBvdXQgcm9vbSBmb3IgJWx1IGJ5dGVzIG9mIHRleHQgc3BhY2VcbiIKbXNnc3RyICIlczogZXNwYWNlIOlwdWlz6SBwb3VyICVsdSBvY3RldHMgZGFucyBsJ2VzcGFjZSB0ZXh0ZVxuIgoKIzogY29yZWZpbGUuYzoyMzkKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBjYW4ndCBkbyAtY1xuIgptc2dzdHIgIiVzOiBuZSBwZXV0IGFwcGxpcXVlciBsJ29wdGlvbiAtY1xuIgoKIzogY29yZWZpbGUuYzoyNzYKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiAtYyBub3Qgc3VwcG9ydGVkIG9uIGFyY2hpdGVjdHVyZSAlc1xuIgptc2dzdHIgIiVzOiBsJ29wdGlvbiAtYyBuJ2VzdCBwYXMgc3VwcG9ydOkgbCdhcmNoaXRlY3R1cmUgJXNcbiIKCiM6IGNvcmVmaWxlLmM6NDQ3CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogZmlsZSBgJXMnIGhhcyBubyBzeW1ib2xzXG4iCm1zZ3N0ciAiJXM6IGZpY2hpZXIgqyAlcyC7IG4nYSBwYXMgZGUgc3ltYm9sZVxuIgoKIzogY29yZWZpbGUuYzo3NTgKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBzb21lYm9keSBtaXNjb3VudGVkOiBsdGFiLmxlbj0lZCBpbnN0ZWFkIG9mICVsZFxuIgptc2dzdHIgIiVzOiBtYXV2YWlzIGTpY29tcHRhZ2U6IGx0YWIubGVuPSVkIGF1IGxpZXUgZGUgJWxkXG4iCgojOiBnbW9uX2lvLmM6ODIKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBhZGRyZXNzIHNpemUgaGFzIHVuZXhwZWN0ZWQgdmFsdWUgb2YgJXVcbiIKbXNnc3RyICIlczogdGFpbGxlIGQnYWRyZXNzZSBhIHVuZSB2YWxldXIgaW5hdHRlbmR1ZSBkZSAldVxuIgoKIzogZ21vbl9pby5jOjM0NSBnbW9uX2lvLmM6NDQwCiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogZmlsZSB0b28gc2hvcnQgdG8gYmUgYSBnbW9uIGZpbGVcbiIKbXNnc3RyICIlczogZmljaGllciB0cm9wIGNvdXJ0IHBvdXIg6nRyZSB1biBmaWNoaWVyIGdtb25cbiIKCiM6IGdtb25faW8uYzozNTUgZ21vbl9pby5jOjQ4MwojLCBjLWZvcm1hdAptc2dpZCAiJXM6IGZpbGUgYCVzJyBoYXMgYmFkIG1hZ2ljIGNvb2tpZVxuIgptc2dzdHIgIiVzOiBmaWNoaWVyIKsgJXMguyBhIHVuIG5vbWJyZSBtYWdpcXVlIGVycm9u6VxuIgoKIzogZ21vbl9pby5jOjM2NgojLCBjLWZvcm1hdAptc2dpZCAiJXM6IGZpbGUgYCVzJyBoYXMgdW5zdXBwb3J0ZWQgdmVyc2lvbiAlZFxuIgptc2dzdHIgIiVzOiBmaWNoaWVyIKsgJXMguyBlc3QgZCd1bmUgdmVyc2lvbiBub24gc3VwcG9ydOllICVkXG4iCgojOiBnbW9uX2lvLmM6Mzk2CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogJXM6IGZvdW5kIGJhZCB0YWcgJWQgKGZpbGUgY29ycnVwdGVkPylcbiIKbXNnc3RyICIlczogJXM6IGEgcmVw6XLpIHVuZSDpdGlxdWV0dGUgZXJyb27pZSAlZCAoZmljaGllciBjb3Jyb21wdT8pXG4iCgojOiBnbW9uX2lvLmM6NDYyCiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogcHJvZmlsaW5nIHJhdGUgaW5jb21wYXRpYmxlIHdpdGggZmlyc3QgZ21vbiBmaWxlXG4iCm1zZ3N0ciAiJXM6IHRhdXggZGUgcHJvZmlsYWdlIGluY29tcGF0aWJsZSBhdmVjIGxlIHByZW1pZXIgZmljaGllciBnbW9uXG4iCgojOiBnbW9uX2lvLmM6NTEwCiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogaW5jb21wYXRpYmxlIHdpdGggZmlyc3QgZ21vbiBmaWxlXG4iCm1zZ3N0ciAiJXM6IGluY29tcGF0aWJsZSBhdmVjIGxlIHByZW1pZXIgZmljaGllciBnbW9uXG4iCgojOiBnbW9uX2lvLmM6NTM4CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogZmlsZSAnJXMnIGRvZXMgbm90IGFwcGVhciB0byBiZSBpbiBnbW9uLm91dCBmb3JtYXRcbiIKbXNnc3RyICIlczogZmljaGllciCrICVzILsgbmUgc2VtYmxlIHBhcyDqdHJlIGRhbnMgbGUgZm9ybWF0IGdtb24ub3V0XG4iCgojOiBnbW9uX2lvLmM6NTU5CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogdW5leHBlY3RlZCBFT0YgYWZ0ZXIgcmVhZGluZyAlZC8lZCBiaW5zXG4iCm1zZ3N0ciAiJXM6IEVPRiBpbmF0dGVuZHUgYXBy6HMgbGEgbGVjdHVyZSBkZSAlZC8lZCBiaW5zXG4iCgojOiBnbW9uX2lvLmM6NTkyCm1zZ2lkICJ0aW1lIGlzIGluIHRpY2tzLCBub3Qgc2Vjb25kc1xuIgptc2dzdHIgInRlbXBzIGVzdCBlbiB0aWNzIGV0IG5vbiBwYXMgZW4gc2Vjb25kZXNcbiIKCiM6IGdtb25faW8uYzo1OTggZ21vbl9pby5jOjc3NQojLCBjLWZvcm1hdAptc2dpZCAiJXM6IGRvbid0IGtub3cgaG93IHRvIGRlYWwgd2l0aCBmaWxlIGZvcm1hdCAlZFxuIgptc2dzdHIgIiVzOiBuZSBzYWl0IHBhcyBjb21tZW50IGfpcmVyIGxlIGZvcm1hdCAlZCBkdSBmaWNoaWVyXG4iCgojOiBnbW9uX2lvLmM6NjA1CiMsIGMtZm9ybWF0Cm1zZ2lkICJGaWxlIGAlcycgKHZlcnNpb24gJWQpIGNvbnRhaW5zOlxuIgptc2dzdHIgIkZpY2hpZXIgqyAlcyC7ICh2ZXJzaW9uICVkKSBjb250aWVudDpcbiIKCiM6IGdtb25faW8uYzo2MDgKIywgYy1mb3JtYXQKbXNnaWQgIlx0JWQgaGlzdG9ncmFtIHJlY29yZFxuIgptc2dzdHIgIlx0JWQgZW5yZWdpc3RyZW1lbnQgZGUgdHlwZSBoaXN0b2dyYW1tZVxuIgoKIzogZ21vbl9pby5jOjYwOQojLCBjLWZvcm1hdAptc2dpZCAiXHQlZCBoaXN0b2dyYW0gcmVjb3Jkc1xuIgptc2dzdHIgIlx0JWQgZW5yZWdpc3RyZW1lbnRzIGRlIHR5cGUgaGlzdG9ncmFtbWVcbiIKCiM6IGdtb25faW8uYzo2MTEKIywgYy1mb3JtYXQKbXNnaWQgIlx0JWQgY2FsbC1ncmFwaCByZWNvcmRcbiIKbXNnc3RyICJcdCVkIGVucmVnaXN0cmVtZW50IGRlIHR5cGUgY2FsbC1ncmFwaFxuIgoKIzogZ21vbl9pby5jOjYxMgojLCBjLWZvcm1hdAptc2dpZCAiXHQlZCBjYWxsLWdyYXBoIHJlY29yZHNcbiIKbXNnc3RyICJcdCVkIGVucmVnaXN0cmVtZW50cyBkZSB0eXBlIGNhbGwtZ3JhcGhcbiIKCiM6IGdtb25faW8uYzo2MTQKIywgYy1mb3JtYXQKbXNnaWQgIlx0JWQgYmFzaWMtYmxvY2sgY291bnQgcmVjb3JkXG4iCm1zZ3N0ciAiXHQlZCBlbnJlZ2lzdHJlbWVudCBkZSBk6WNvbXB0ZXMgZGUgYmxvYyBkZSBiYXNlXG4iCgojOiBnbW9uX2lvLmM6NjE1CiMsIGMtZm9ybWF0Cm1zZ2lkICJcdCVkIGJhc2ljLWJsb2NrIGNvdW50IHJlY29yZHNcbiIKbXNnc3RyICJcdCVkIGVucmVnaXN0cmVtZW50cyBkZSBk6WNvbXB0ZXMgZGUgYmxvYyBkZSBiYXNlXG4iCgojOiBncHJvZi5jOjE2MwojLCBjLWZvcm1hdAptc2dpZCAiIgoiVXNhZ2U6ICVzIFstW2FiY0RoaWxMc1R2d3h5el1dIFstW0FDZUVmRkpuTk9wUHFRWl1bbmFtZV1dIFstSSBkaXJzXVxuIgoiXHRbLWRbbnVtXV0gWy1rIGZyb20vdG9dIFstbSBtaW4tY291bnRdIFstdCB0YWJsZS1sZW5ndGhdXG4iCiJcdFstLVtuby1dYW5ub3RhdGVkLXNvdXJjZVs9bmFtZV1dIFstLVtuby1dZXhlYy1jb3VudHNbPW5hbWVdXVxuIgoiXHRbLS1bbm8tXWZsYXQtcHJvZmlsZVs9bmFtZV1dIFstLVtuby1dZ3JhcGhbPW5hbWVdXVxuIgoiXHRbLS1bbm8tXXRpbWU9bmFtZV0gWy0tYWxsLWxpbmVzXSBbLS1icmllZl0gWy0tZGVidWdbPWxldmVsXV1cbiIKIlx0Wy0tZnVuY3Rpb24tb3JkZXJpbmddIFstLWZpbGUtb3JkZXJpbmddXG4iCiJcdFstLWRpcmVjdG9yeS1wYXRoPWRpcnNdIFstLWRpc3BsYXktdW51c2VkLWZ1bmN0aW9uc11cbiIKIlx0Wy0tZmlsZS1mb3JtYXQ9bmFtZV0gWy0tZmlsZS1pbmZvXSBbLS1oZWxwXSBbLS1saW5lXSBbLS1taW4tY291bnQ9bl1cbiIKIlx0Wy0tbm8tc3RhdGljXSBbLS1wcmludC1wYXRoXSBbLS1zZXBhcmF0ZS1maWxlc11cbiIKIlx0Wy0tc3RhdGljLWNhbGwtZ3JhcGhdIFstLXN1bV0gWy0tdGFibGUtbGVuZ3RoPWxlbl0gWy0tdHJhZGl0aW9uYWxdXG4iCiJcdFstLXZlcnNpb25dIFstLXdpZHRoPW5dIFstLWlnbm9yZS1ub24tZnVuY3Rpb25zXVxuIgoiXHRbLS1kZW1hbmdsZVs9U1RZTEVdXSBbLS1uby1kZW1hbmdsZV1cbiIKIlx0W2ltYWdlLWZpbGVdIFtwcm9maWxlLWZpbGUuLi5dXG4iCm1zZ3N0ciAiIgoiVXNhZ2U6ICVzIFstW2FiY0RoaWxMc1R2d3h5el1dIFstW0FDZUVmRkpuTk9wUHFRWl1bbm9tXV0gWy1JIHLpcGVydG9pcmVzXVxuIgoiXHRbLWRbbm9tYnJlXV0gWy1rIGRlL+BdIFstbSBtaW5pbXVtXSBbLXQgbG9uZ3VldXItZGUtbGEtdGFibGVdXG4iCiJcdFstLVtuby1dYW5ub3RhdGVkLXNvdXJjZVs9bm9tXV0gWy0tW25vLV1leGVjLWNvdW50c1s9bm9tXV1cbiIKIlx0Wy0tW25vLV1mbGF0LXByb2ZpbGVbPW5vbV1dIFstLVtuby1dZ3JhcGhbPW5vbV1dXG4iCiJcdFstLVtuby1ddGltZT1ub21dIFstLWFsbC1saW5lc10gWy0tYnJpZWZdIFstLWRlYnVnWz1uaXZlYXVdXVxuIgoiXHRbLS1mdW5jdGlvbi1vcmRlcmluZ10gWy0tZmlsZS1vcmRlcmluZ11cbiIKIlx0Wy0tZGlyZWN0b3J5LXBhdGg9culwZXJ0b2lyZXNdIFstLWRpc3BsYXktdW51c2VkLWZ1bmN0aW9uc11cbiIKIlx0Wy0tZmlsZS1mb3JtYXQ9bm9tXSBbLS1maWxlLWluZm9dIFstLWhlbHBdIFstLWxpbmVdIFstLW1pbi1jb3VudD1uXVxuIgoiXHRbLS1uby1zdGF0aWNdIFstLXByaW50LXBhdGhdIFstLXNlcGFyYXRlLWZpbGVzXVxuIgoiXHRbLS1zdGF0aWMtY2FsbC1ncmFwaF0gWy0tc3VtXSBbLS10YWJsZS1sZW5ndGg9bG9uZ3VldXJdIFstLXRyYWRpdGlvbmFsXVxuIgoiXHRbLS12ZXJzaW9uXSBbLS13aWR0aD1uXSBbLS1pZ25vcmUtbm9uLWZ1bmN0aW9uc11cbiIKIlx0Wy0tZGVtYW5nbGVbPVNUWUxFXV0gWy0tbm8tZGVtYW5nbGVdXG4iCiJcdFtmaWNoaWVyLWltYWdlXSBbZmljaGllci1wcm9maWxlLi4uXVxuIgoKIzogZ3Byb2YuYzoxNzkKIywgYy1mb3JtYXQKbXNnaWQgIlJlcG9ydCBidWdzIHRvICVzXG4iCm1zZ3N0ciAiUmFwcG9ydGVyIHRvdXRlcyBhbm9tYWxpZXMg4CAlc1xuIgoKIzogZ3Byb2YuYzoyNTMKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBkZWJ1Z2dpbmcgbm90IHN1cHBvcnRlZDsgLWQgaWdub3JlZFxuIgptc2dzdHIgIiVzOiBtaXNlIGF1IHBvaW50IG4nZXN0IHBhcyBzdXBwb3J06WU7IC1kIGlnbm9y6WVcbiIKCiM6IGdwcm9mLmM6MzMzCiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogdW5rbm93biBmaWxlIGZvcm1hdCAlc1xuIgptc2dzdHIgIiVzOiBmb3JtYXQgZGUgZmljaGllciBpbmNvbm51ICVzXG4iCgojLiBUaGlzIG91dHB1dCBpcyBpbnRlbmRlZCB0byBmb2xsb3cgdGhlIEdOVSBzdGFuZGFyZHMgZG9jdW1lbnQuCiM6IGdwcm9mLmM6NDE3CiMsIGMtZm9ybWF0Cm1zZ2lkICJHTlUgZ3Byb2YgJXNcbiIKbXNnc3RyICJHTlUgZ3Byb2YgJXNcbiIKCiM6IGdwcm9mLmM6NDE4Cm1zZ2lkICJCYXNlZCBvbiBCU0QgZ3Byb2YsIGNvcHlyaWdodCAxOTgzIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS5cbiIKbXNnc3RyICJCYXPpIOAgcGFydGlyIGRlIEJTRCBncHJvZiwgY29weXJpZ2h0IDE5ODMgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLlxuIgoKIzogZ3Byb2YuYzo0MTkKbXNnaWQgIlRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlLiAgVGhpcyBwcm9ncmFtIGhhcyBhYnNvbHV0ZWx5IG5vIHdhcnJhbnR5LlxuIgptc2dzdHIgIkNlIGxvZ2ljaWVsIGVzdCBsaWJyZS4gQVVDVU5FIGdhcmFudGllIG4nZXN0IGRvbm7pZS5cbiIKCiM6IGdwcm9mLmM6NDYwCiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogdW5rbm93biBkZW1hbmdsaW5nIHN0eWxlIGAlcydcbiIKbXNnc3RyICIlczogc3R5bGUgZCdlbmNvZGFnZSBwYXIgbXV0aWxhdGlvbiBpbmNvbm51IKsgJXMgu1xuIgoKIzogZ3Byb2YuYzo0ODAKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBPbmx5IG9uZSBvZiAtLWZ1bmN0aW9uLW9yZGVyaW5nIGFuZCAtLWZpbGUtb3JkZXJpbmcgbWF5IGJlIHNwZWNpZmllZC5cbiIKbXNnc3RyICIlczogdW5lIHNldWxlIGRlcyBvcHRpb25zIC0tZnVuY3Rpb24tb3JkZXJpbmcgZXQgLS1maWxlLW9yZGVyaW5nIHBldXQg6nRyZSBzcOljaWZp6WUuXG4iCgojOiBncHJvZi5jOjU3OAojLCBjLWZvcm1hdAptc2dpZCAiJXM6IHNvcnJ5LCBmaWxlIGZvcm1hdCBgcHJvZicgaXMgbm90IHlldCBzdXBwb3J0ZWRcbiIKbXNnc3RyICIlczogZOlzb2zpLCBsZSBmb3JtYXQgZGUgZmljaGllciCrIHByb2YguyBuJ2VzdCBwYXMgZW5jb3JlIHN1cHBvcnTpXG4iCgojOiBncHJvZi5jOjYzOQojLCBjLWZvcm1hdAptc2dpZCAiJXM6IGdtb24ub3V0IGZpbGUgaXMgbWlzc2luZyBoaXN0b2dyYW1cbiIKbXNnc3RyICIlczogbGUgZmljaGllciBnbW9uLm91dCBuJ2EgcGFzIGQnaGlzdG9ncmFtbWVcbiIKCiM6IGdwcm9mLmM6NjQ2CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogZ21vbi5vdXQgZmlsZSBpcyBtaXNzaW5nIGNhbGwtZ3JhcGggZGF0YVxuIgptc2dzdHIgIiVzOiBsZSBmaWNoaWVyIGdtb24ub3V0IG4nYSBwYXMgZGUgZG9ubullcyBkZSB0eXBlIGNhbGwtZ3JhcGhcbiIKCiM6IGhpc3QuYzoxMjcKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBgJXMnIGlzIGluY29tcGF0aWJsZSB3aXRoIGZpcnN0IGdtb24gZmlsZVxuIgptc2dzdHIgIiVzOiCrICVzILsgZXN0IGluY29tcGF0aWJsZSBhdmVjIGxlIHByZW1pZXIgZmljaGllciBnbW9uXG4iCgojOiBoaXN0LmM6MTQzCiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogJXM6IHVuZXhwZWN0ZWQgRU9GIGFmdGVyIHJlYWRpbmcgJWQgb2YgJWQgc2FtcGxlc1xuIgptc2dzdHIgIiVzOiAlczogRU9GIGluYXR0ZW5kdSBhcHLocyBsYSBsZWN0dXJlIGRlICVkIGRlICVkIOljaGFudGlsbG9uc1xuIgoKIzogaGlzdC5jOjM1OQojLCBjLWZvcm1hdAptc2dpZCAiJWMlYy9jYWxsIgptc2dzdHIgIiVjJWMvYXBwZWwiCgojOiBoaXN0LmM6MzY3CiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiIgZm9yICUuMmYlJSBvZiAlLjJmICVzXG4iCiJcbiIKbXNnc3RyICIiCiIgcG91ciAlLjJmJSUgb2YgJS4yZiAlc1xuIgoiXG4iCgojOiBoaXN0LmM6MzczCiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiJcbiIKIkVhY2ggc2FtcGxlIGNvdW50cyBhcyAlZyAlcy5cbiIKbXNnc3RyICIiCiJcbiIKIkNoYXF1ZSDpY2hhbnRpbGxvbiBk6W5vbWJyZSAlZyAlcy5cbiIKCiM6IGhpc3QuYzozNzgKbXNnaWQgIiIKIiBubyB0aW1lIGFjY3VtdWxhdGVkXG4iCiJcbiIKbXNnc3RyICIiCiIgcGFzIGQnYWNjdW11bGF0aW9uIGRlIHRlbXBzXG4iCiJcbiIKCiM6IGhpc3QuYzozODUKbXNnaWQgImN1bXVsYXRpdmUiCm1zZ3N0ciAiY3VtdWxhdGlmIgoKIzogaGlzdC5jOjM4NQptc2dpZCAic2VsZiAgIgptc2dzdHIgImF1dG8gICIKCiM6IGhpc3QuYzozODUKbXNnaWQgInRvdGFsICIKbXNnc3RyICJ0b3RhbCAiCgojOiBoaXN0LmM6Mzg4Cm1zZ2lkICJ0aW1lIgptc2dzdHIgInRlbXBzIgoKIzogaGlzdC5jOjM4OAptc2dpZCAiY2FsbHMiCm1zZ3N0ciAiYXBwZWxzIgoKIzogaGlzdC5jOjQ4MQptc2dpZCAiIgoiXG4iCiJcbiIKIlxuIgoiZmxhdCBwcm9maWxlOlxuIgptc2dzdHIgIiIKIlxuIgoiXG4iCiJcbiIKInByb2ZpbGUgcGxhdDpcbiIKCiM6IGhpc3QuYzo0ODcKbXNnaWQgIkZsYXQgcHJvZmlsZTpcbiIKbXNnc3RyICJQcm9maWxlIHBsYXQ6XG4iCgojOiBtaXBzLmM6ODUKIywgYy1mb3JtYXQKbXNnaWQgIltmaW5kX2NhbGxdIDB4JWx4OiBqYWwiCm1zZ3N0ciAiW2ZpbmRfY2FsbF0gMHglbHg6IGphbCIKCiM6IG1pcHMuYzoxMTAKIywgYy1mb3JtYXQKbXNnaWQgIltmaW5kX2NhbGxdIDB4JWx4OiBqYWxyXG4iCm1zZ3N0ciAiW2ZpbmRfY2FsbF0gMHglbHg6IGphbHJcbiIKCiM6IHNvdXJjZS5jOjE2NgojLCBjLWZvcm1hdAptc2dpZCAiJXM6IGNvdWxkIG5vdCBsb2NhdGUgYCVzJ1xuIgptc2dzdHIgIiVzOiBuJ2EgcHUgbG9jYWxpc2VyIKsgJXMgu1xuIgoKIzogc291cmNlLmM6MjQxCiMsIGMtZm9ybWF0Cm1zZ2lkICIqKiogRmlsZSAlczpcbiIKbXNnc3RyICIqKiogRmljaGllciAlczpcbiIKCiM6IHV0aWxzLmM6MTA5CiMsIGMtZm9ybWF0Cm1zZ2lkICIgPGN5Y2xlICVkPiIKbXNnc3RyICIgPGN5Y2xlICVkPiIKCiN+IG1zZ2lkICIlczogYmZkX3ZtYSBoYXMgdW5leHBlY3RlZCBzaXplIG9mICVsZCBieXRlc1xuIgojfiBtc2dzdHIgIiVzOiBiZmRfdm1hIGEgdW5lIHRhaWxsZSBpbmF0dGVuZHVlIGRlICVsZCBvY3RldHN0XG4iCg==