IyBNZXNzYWdlcyBmcmFu52FpcyBwb3VyIG1ha2UuCiMgQ29weXJpZ2h0IKkgMjAwNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIyBNaWNoZWwgUm9iaXRhaWxsZSA8cm9iaXRhaWxASVJPLlVNb250cmVhbC5DQT4sIHRyYWR1Y3RldXIgZGVwdWlzL3NpbmNlIDE5OTYuCiMKIyAzMC1qdWlsbGV0LTIwMDEsIG4nYXZvbnMgcGx1cyBkZSBub3V2ZWxsZSBkZSBNYXJjIGRlcHVpcyA1IGphbnZpZXIgMTk5NwojIE1hcmMgQmF1ZG9pbiA8YmFiYWZvdUBlbnN0YS5mcj4sIEZy6WTpcmljIExpbukgPGxpbmVATWljcm9OZXQuZnI+LCAxOTk2LgojCm1zZ2lkICIiCm1zZ3N0ciAiIgoiUHJvamVjdC1JZC1WZXJzaW9uOiBHTlUgbWFrZSAzLjgxLWIzXG4iCiJSZXBvcnQtTXNnaWQtQnVncy1UbzogYnVnLW1ha2VAZ251Lm9yZ1xuIgoiUE9ULUNyZWF0aW9uLURhdGU6IDIwMDYtMDQtMDEgMDE6NDAtMDUwMFxuIgoiUE8tUmV2aXNpb24tRGF0ZTogMjAwNS0wNi0yOSAwODowMC0wNTAwXG4iCiJMYXN0LVRyYW5zbGF0b3I6IE1pY2hlbCBSb2JpdGFpbGxlIDxyb2JpdGFpbEBJUk8uVU1vbnRyZWFsLkNBPlxuIgoiTGFuZ3VhZ2UtVGVhbTogRnJlbmNoIDx0cmFkdWNAdHJhZHVjLm9yZz5cbiIKIk1JTUUtVmVyc2lvbjogMS4wXG4iCiJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9SVNPLTg4NTktMVxuIgoiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgoiUGx1cmFsLUZvcm1zOiBucGx1cmFscz0yOyBwbHVyYWw9KG4gPiAxKTtcbiIKCiM6IGFyLmM6NTMKIywgYy1mb3JtYXQKbXNnaWQgImF0dGVtcHQgdG8gdXNlIHVuc3VwcG9ydGVkIGZlYXR1cmU6IGAlcyciCm1zZ3N0ciAidGVudGF0aXZlIGQndXRpbGlzZXIgdW5lIGNhcmFjdOlyaXN0aXF1ZSBub24gc3VwcG9ydOllIDogqyAlcyC7IgoKIzogYXIuYzoxMzcKbXNnaWQgInRvdWNoIGFyY2hpdmUgbWVtYmVyIGlzIG5vdCBhdmFpbGFibGUgb24gVk1TIgptc2dzdHIgImltcG9zc2libGUgZGUgbW9kaWZpZXIgbGEgZGF0ZSBkJ3VuIG1lbWJyZSBkJ3VuZSBhcmNoaXZlIHN1ciBWTVMiCgojOiBhci5jOjE2OAojLCBjLWZvcm1hdAptc2dpZCAidG91Y2g6IEFyY2hpdmUgYCVzJyBkb2VzIG5vdCBleGlzdCIKbXNnc3RyICJ0b3VjaDogTCdhcmNoaXZlIKsgJXMguyBuJ2V4aXN0ZSBwYXMiCgojOiBhci5jOjE3MQojLCBjLWZvcm1hdAptc2dpZCAidG91Y2g6IGAlcycgaXMgbm90IGEgdmFsaWQgYXJjaGl2ZSIKbXNnc3RyICJ0b3VjaDogqyAlcyC7IG4nZXN0IHBhcyB1bmUgYXJjaGl2ZSB2YWxpZGUiCgojOiBhci5jOjE3OAojLCBjLWZvcm1hdAptc2dpZCAidG91Y2g6IE1lbWJlciBgJXMnIGRvZXMgbm90IGV4aXN0IGluIGAlcyciCm1zZ3N0ciAidG91Y2g6IExlIG1lbWJyZSCrICVzILsgbidleGlzdGUgcGFzIGRhbnMgqyAlcyC7IgoKIzogYXIuYzoxODUKIywgYy1mb3JtYXQKbXNnaWQgInRvdWNoOiBCYWQgcmV0dXJuIGNvZGUgZnJvbSBhcl9tZW1iZXJfdG91Y2ggb24gYCVzJyIKbXNnc3RyICJ0b3VjaDogTWF1dmFpcyBjb2RlIGRlIHJldG91ciBkZSBhcl9tZW1iZXJfdG91Y2ggcG91ciCrICVzILsiCgojOiBhcnNjYW4uYzo2OQojLCBjLWZvcm1hdAptc2dpZCAibGJyJHNldF9tb2R1bGUgZmFpbGVkIHRvIGV4dHJhY3QgbW9kdWxlIGluZm8sIHN0YXR1cyA9ICVkIgptc2dzdHIgImxiciRzZXRfbW9kdWxlIGVuIOljaGVjIGxvcnMgZGUgbCdleHRyYWN0aW9uIGR1IG1vZHVsZSBpbmZvLCDpdGF0ID0gJWQiCgojOiBhcnNjYW4uYzoxNTQKIywgYy1mb3JtYXQKbXNnaWQgImxiciRpbmlfY29udHJvbCBmYWlsZWQgd2l0aCBzdGF0dXMgPSAlZCIKbXNnc3RyICJsYnIkaW5pX2NvbnRyb2wgZW4g6WNoZWMgYXZlYyBsJ+l0YXQgPSAlZCIKCiM6IGFyc2Nhbi5jOjE2NQojLCBjLWZvcm1hdAptc2dpZCAidW5hYmxlIHRvIG9wZW4gbGlicmFyeSBgJXMnIHRvIGxvb2t1cCBtZW1iZXIgYCVzJyIKbXNnc3RyICJuZSBwZXV0IG91dnJpciBsYSBsaWJyYWlyaWUgJXMgcG91ciB5IHJlcOlyZXIgbGUgbWVtYnJlIKsgJXMguyIKCiM6IGFyc2Nhbi5jOjgyNQojLCBjLWZvcm1hdAptc2dpZCAiTWVtYmVyIGAlcyclczogJWxkIGJ5dGVzIGF0ICVsZCAoJWxkKS5cbiIKbXNnc3RyICJNZW1icmUgqyAlcyC7JXM6ICVsZCBvY3RldHMgYSAlbGQgKCVsZCkuXG4iCgojOiBhcnNjYW4uYzo4MjYKbXNnaWQgIiAobmFtZSBtaWdodCBiZSB0cnVuY2F0ZWQpIgptc2dzdHIgIiAobGUgbm9tIHBldXQg6nRyZSB0cm9ucXXpKSIKCiM6IGFyc2Nhbi5jOjgyOAojLCBjLWZvcm1hdAptc2dpZCAiICBEYXRlICVzIgptc2dzdHIgIiAgRGF0ZSAlcyIKCiM6IGFyc2Nhbi5jOjgyOQojLCBjLWZvcm1hdAptc2dpZCAiICB1aWQgPSAlZCwgZ2lkID0gJWQsIG1vZGUgPSAwJW8uXG4iCm1zZ3N0ciAiICB1aWQgPSAlZCwgZ2lkID0gJWQsIG1vZGUgPSAwJW8uXG4iCgojOiBjb21tYW5kcy5jOjQyMgptc2dpZCAiKioqIEJyZWFrLlxuIgptc2dzdHIgIioqKiBCcmVhay5cbiIKCiM6IGNvbW1hbmRzLmM6NTQ1CiMsIGMtZm9ybWF0Cm1zZ2lkICIqKiogWyVzXSBBcmNoaXZlIG1lbWJlciBgJXMnIG1heSBiZSBib2d1czsgbm90IGRlbGV0ZWQiCm1zZ3N0ciAiIgoiKioqIFslc10gbWVtYnJlIGQnYXJjaGl2ZSCrICVzILsgcGV1dCDqdHJlIGNvcnJvbXB1OyBuJ2EgcGFzIOl06SBk6XRydWl0IgoKIzogY29tbWFuZHMuYzo1NDgKIywgYy1mb3JtYXQKbXNnaWQgIioqKiBBcmNoaXZlIG1lbWJlciBgJXMnIG1heSBiZSBib2d1czsgbm90IGRlbGV0ZWQiCm1zZ3N0ciAiKioqIG1lbWJyZSBkJ2FyY2hpdmUgqyAlcyC7IHBldXQg6nRyZSBjb3Jyb21wdTsgbidhIHBhcyDpdOkgZOl0cnVpdCIKCiM6IGNvbW1hbmRzLmM6NTYxCiMsIGMtZm9ybWF0Cm1zZ2lkICIqKiogWyVzXSBEZWxldGluZyBmaWxlIGAlcyciCm1zZ3N0ciAiKioqIFslc10gRGVzdHJ1Y3Rpb24gZHUgZmljaGllciCrICVzILsiCgojOiBjb21tYW5kcy5jOjU2MwojLCBjLWZvcm1hdAptc2dpZCAiKioqIERlbGV0aW5nIGZpbGUgYCVzJyIKbXNnc3RyICIqKiogRGVzdHJ1Y3Rpb24gZHUgZmljaGllciCrICVzILsiCgojOiBjb21tYW5kcy5jOjU5OQptc2dpZCAiIyAgY29tbWFuZHMgdG8gZXhlY3V0ZSIKbXNnc3RyICIjICBjb21tYW5kZXMg4CBleOljdXRlciIKCiM6IGNvbW1hbmRzLmM6NjAyCm1zZ2lkICIgKGJ1aWx0LWluKToiCm1zZ3N0ciAiIChjb21tYW5kZSBpbnRlcm5lKToiCgojOiBjb21tYW5kcy5jOjYwNAojLCBjLWZvcm1hdAptc2dpZCAiIChmcm9tIGAlcycsIGxpbmUgJWx1KTpcbiIKbXNnc3RyICIgKGRlIKsgJXMguywgbGlnbmUgJWx1KTpcbiIKCiM6IGRpci5jOjk4Mwptc2dpZCAiIgoiXG4iCiIjIERpcmVjdG9yaWVzXG4iCm1zZ3N0ciAiIgoiXG4iCiIjIFLpcGVydG9pcmVzXG4iCgojOiBkaXIuYzo5OTUKIywgYy1mb3JtYXQKbXNnaWQgIiMgJXM6IGNvdWxkIG5vdCBiZSBzdGF0J2QuXG4iCm1zZ3N0ciAiIyAlcyA6IHN0YXR1dCBpbmRpc3BvbmlibGUuXG4iCgojOiBkaXIuYzo5OTkKIywgYy1mb3JtYXQKbXNnaWQgIiMgJXMgKGtleSAlcywgbXRpbWUgJWQpOiBjb3VsZCBub3QgYmUgb3BlbmVkLlxuIgptc2dzdHIgIiMgJXMgKGNs6SAlcywgbXRpbWUgJWQpOiBuJ2EgcHUg6nRyZSBvdXZlcnQuXG4iCgojOiBkaXIuYzoxMDAzCiMsIGMtZm9ybWF0Cm1zZ2lkICIjICVzIChkZXZpY2UgJWQsIGlub2RlIFslZCwlZCwlZF0pOiBjb3VsZCBub3QgYmUgb3BlbmVkLlxuIgptc2dzdHIgIiMgJXMgKHDpcmlwaOlyaXF1ZSAlZCwgaW5vZGUgWyVkLCVkLCVkXSkgOiBuJ2EgcGFzIHB1IOp0cmUgb3V2ZXJ0LlxuIgoKIzogZGlyLmM6MTAwOAojLCBjLWZvcm1hdAptc2dpZCAiIyAlcyAoZGV2aWNlICVsZCwgaW5vZGUgJWxkKTogY291bGQgbm90IGJlIG9wZW5lZC5cbiIKbXNnc3RyICIjICVzIChw6XJpcGjpcmlxdWUgJWxkLCBpbm9kZSAlbGQpIDogbidhIHBhcyBwdSDqdHJlIG91dmVydC5cbiIKCiM6IGRpci5jOjEwMzUKIywgYy1mb3JtYXQKbXNnaWQgIiMgJXMgKGtleSAlcywgbXRpbWUgJWQpOiAiCm1zZ3N0ciAiIyAlcyAocOlyaXBo6XJpcXVlICVzLCBtdGltZSAlZCk6ICIKCiM6IGRpci5jOjEwMzkKIywgYy1mb3JtYXQKbXNnaWQgIiMgJXMgKGRldmljZSAlZCwgaW5vZGUgWyVkLCVkLCVkXSk6ICIKbXNnc3RyICIjICVzIChw6XJpcGjpcmlxdWUgJWQsIGlub2RlIFslZCwlZCwlZF0pIDogIgoKIzogZGlyLmM6MTA0NAojLCBjLWZvcm1hdAptc2dpZCAiIyAlcyAoZGV2aWNlICVsZCwgaW5vZGUgJWxkKTogIgptc2dzdHIgIiMgJXMgKHDpcmlwaOlyaXF1ZSAlbGQsIGlub2RlICVsZCkgOiAiCgojOiBkaXIuYzoxMDUwIGRpci5jOjEwNzEKbXNnaWQgIk5vIgptc2dzdHIgIlBhcyBkZSIKCiM6IGRpci5jOjEwNTMgZGlyLmM6MTA3NAptc2dpZCAiIGZpbGVzLCAiCm1zZ3N0ciAiIGZpY2hpZXJzLCAiCgojOiBkaXIuYzoxMDU1IGRpci5jOjEwNzYKbXNnaWQgIm5vIgptc2dzdHIgIm5vbiIKCiM6IGRpci5jOjEwNTgKbXNnaWQgIiBpbXBvc3NpYmlsaXRpZXMiCm1zZ3N0ciAiIGltcG9zc2liaWxpdOlzIgoKIzogZGlyLmM6MTA2Mgptc2dpZCAiIHNvIGZhci4iCm1zZ3N0ciAiIGp1c3F1J2ljaS4iCgojOiBkaXIuYzoxMDc5CiMsIGMtZm9ybWF0Cm1zZ2lkICIgaW1wb3NzaWJpbGl0aWVzIGluICVsdSBkaXJlY3Rvcmllcy5cbiIKbXNnc3RyICIgaW1wb3NzaWJpbGl06XMgZGFucyAlbHUgculwZXJ0b2lyZXMuXG4iCgojOiBleHBhbmQuYzoxMjgKIywgYy1mb3JtYXQKbXNnaWQgIlJlY3Vyc2l2ZSB2YXJpYWJsZSBgJXMnIHJlZmVyZW5jZXMgaXRzZWxmIChldmVudHVhbGx5KSIKbXNnc3RyICJMYSB2YXJpYWJsZSBy6WN1cnNpdmUgqyAlcyC7IHNlIHLpZulyZW5jZSBlbGxlLW3qbWUgKGZpbmFsZW1lbnQpIgoKIzogZXhwYW5kLmM6MjY2Cm1zZ2lkICJ1bnRlcm1pbmF0ZWQgdmFyaWFibGUgcmVmZXJlbmNlIgptc2dzdHIgInLpZulyZW5jZSBpbmNvbXBs6HRlIOAgdW5lIHZhcmlhYmxlIgoKIzogZmlsZS5jOjI3MAojLCBjLWZvcm1hdAptc2dpZCAiQ29tbWFuZHMgd2VyZSBzcGVjaWZpZWQgZm9yIGZpbGUgYCVzJyBhdCAlczolbHUsIgptc2dzdHIgIkxlcyBjb21tYW5kZXMgcG91ciBsZSBmaWNoaWVyIKsgJXMguyBvbnQg6XTpIHNw6WNpZmnpZXMg4CAlczolbHUsIgoKIzogZmlsZS5jOjI3NQojLCBjLWZvcm1hdAptc2dpZCAiQ29tbWFuZHMgZm9yIGZpbGUgYCVzJyB3ZXJlIGZvdW5kIGJ5IGltcGxpY2l0IHJ1bGUgc2VhcmNoLCIKbXNnc3RyICIiCiJMZXMgY29tbWFuZGVzIHBvdXIgbGUgZmljaGllciCrICVzILsgb250IOl06SB0cm91dullcyBwYXIgdW5lIHJlY2hlcmNoZSBkZSAiCiJy6GdsZSBpbXBsaWNpdGUsIgoKIzogZmlsZS5jOjI3OAojLCBjLWZvcm1hdAptc2dpZCAiYnV0IGAlcycgaXMgbm93IGNvbnNpZGVyZWQgdGhlIHNhbWUgZmlsZSBhcyBgJXMnLiIKbXNnc3RyICIiCiJtYWlzIKsgJXMguyBlc3QgbWFpbnRlbmFudCBjb25zaWTpcukgY29tbWUg6XRhbnQgbGUgbeptZSBmaWNoaWVyIHF1ZSCrICVzILsuIgoKIzogZmlsZS5jOjI4MQojLCBjLWZvcm1hdAptc2dpZCAiQ29tbWFuZHMgZm9yIGAlcycgd2lsbCBiZSBpZ25vcmVkIGluIGZhdm9yIG9mIHRob3NlIGZvciBgJXMnLiIKbXNnc3RyICIiCiJMZXMgY29tbWFuZGVzIHBvdXIgqyAlcyC7IHNlcm9udCBpZ25vcullcyBlbiBmYXZldXIgZGUgY2VsbGVzIHBvdXIgqyAlcyC7LiIKCiM6IGZpbGUuYzozMDEKIywgYy1mb3JtYXQKbXNnaWQgImNhbid0IHJlbmFtZSBzaW5nbGUtY29sb24gYCVzJyB0byBkb3VibGUtY29sb24gYCVzJyIKbXNnc3RyICIiCiJpbXBvc3NpYmxlIGRlIHJlbm9tbWVyIGxlIHNpbXBsZSBkZXV4LXBvaW50cyCrICVzILsgZW4gZG91YmxlIGRldXgtcG9pbnRzIKsgJSIKInMguyIKCiM6IGZpbGUuYzozMDYKIywgYy1mb3JtYXQKbXNnaWQgImNhbid0IHJlbmFtZSBkb3VibGUtY29sb24gYCVzJyB0byBzaW5nbGUtY29sb24gYCVzJyIKbXNnc3RyICIiCiJpbXBvc3NpYmxlIGRlIHJlbm9tbWVyIGxlIGRvdWJsZSBkZXV4LXBvaW50cyCrICVzILsgZW4gc2ltcGxlIGRldXgtcG9pbnRzIKsgJSIKInMguyIKCiM6IGZpbGUuYzozODEKIywgYy1mb3JtYXQKbXNnaWQgIioqKiBEZWxldGluZyBpbnRlcm1lZGlhdGUgZmlsZSBgJXMnIgptc2dzdHIgIioqKiBTdXBwcmVzc2lvbiBkdSBmaWNoaWVyIGludGVybelkaWFpcmUgqyAlcyC7IgoKIzogZmlsZS5jOjM4NQptc2dpZCAiUmVtb3ZpbmcgaW50ZXJtZWRpYXRlIGZpbGVzLi4uXG4iCm1zZ3N0ciAiU3VwcHJlc3Npb24gZGVzIGZpY2hpZXJzIGludGVybelkaWFpcmVzLi4uXG4iCgojOiBmaWxlLmM6NzgxCiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogVGltZXN0YW1wIG91dCBvZiByYW5nZTsgc3Vic3RpdHV0aW5nICVzIgptc2dzdHIgIiVzOiB0YW1wb24gZGF0ZS1oZXVyZSBob3JzIGxpbWl0ZTsgc3Vic3RpdHV0aW9uIHBhciAlcyIKCiM6IGZpbGUuYzo3ODIKbXNnaWQgIkN1cnJlbnQgdGltZSIKbXNnc3RyICJIZXVyZSBjb3VyYW50ZSIKCiM6IGZpbGUuYzo4ODEKbXNnaWQgIiMgTm90IGEgdGFyZ2V0OiIKbXNnc3RyICIjIFBhcyB1bmUgY2libGUgOiIKCiM6IGZpbGUuYzo5MDMKbXNnaWQgIiMgIFByZWNpb3VzIGZpbGUgKHByZXJlcXVpc2l0ZSBvZiAuUFJFQ0lPVVMpLiIKbXNnc3RyICIjICBGaWNoaWVyIHBy6WNpZXV4IChk6XBlbmRhbmNlIGRlIC5QUkVDSU9VUykuIgoKIzogZmlsZS5jOjkwNQptc2dpZCAiIyAgUGhvbnkgdGFyZ2V0IChwcmVyZXF1aXNpdGUgb2YgLlBIT05ZKS4iCm1zZ3N0ciAiIyAgQ2libGUgZmFjdGljZSAoZOlwZW5kYW5jZSBkZSAuUEhPTlkpLiIKCiM6IGZpbGUuYzo5MDcKbXNnaWQgIiMgIENvbW1hbmQtbGluZSB0YXJnZXQuIgptc2dzdHIgIiMgIENpYmxlIHByb3ZlbmFudCBkZSBsYSBsaWduZSBkZSBjb21tYW5kZS4iCgojOiBmaWxlLmM6OTA5Cm1zZ2lkICIjICBBIGRlZmF1bHQsIE1BS0VGSUxFUywgb3IgLWluY2x1ZGUvc2luY2x1ZGUgbWFrZWZpbGUuIgptc2dzdHIgIiMgIFVuZSB2YWxldXIgcGFyIGTpZmF1dCBNQUtFRklMRVMgb3UgLWluY2x1ZGUvc2luY2x1ZGUgbWFrZWZpbGUuIgoKIzogZmlsZS5jOjkxMQptc2dpZCAiIyAgSW1wbGljaXQgcnVsZSBzZWFyY2ggaGFzIGJlZW4gZG9uZS4iCm1zZ3N0ciAiIyAgUmVjaGVyY2hlIGRlIHLoZ2xlIGltcGxpY2l0ZSBlZmZlY3R16WUuIgoKIzogZmlsZS5jOjkxMgptc2dpZCAiIyAgSW1wbGljaXQgcnVsZSBzZWFyY2ggaGFzIG5vdCBiZWVuIGRvbmUuIgptc2dzdHIgIiMgIFJlY2hlcmNoZSBkZSBy6GdsZSBpbXBsaWNpdGUgbidhIHBhcyDpdOkgZWZmZWN0dellLiIKCiM6IGZpbGUuYzo5MTQKIywgYy1mb3JtYXQKbXNnaWQgIiMgIEltcGxpY2l0L3N0YXRpYyBwYXR0ZXJuIHN0ZW06IGAlcydcbiIKbXNnc3RyICIjICBQculmaXhlIGRlIHNjaOltYSBpbXBsaWNpdGUvc3RhdGlxdWUgOiCrICVzILtcbiIKCiM6IGZpbGUuYzo5MTYKbXNnaWQgIiMgIEZpbGUgaXMgYW4gaW50ZXJtZWRpYXRlIHByZXJlcXVpc2l0ZS4iCm1zZ3N0ciAiIyAgQ2UgZmljaGllciBlc3QgdW5lIGTpcGVuZGFuY2UgaW50ZXJt6WRpYWlyZS4iCgojOiBmaWxlLmM6OTE5Cm1zZ2lkICIjICBBbHNvIG1ha2VzOiIKbXNnc3RyICIjICBGYWJyaXF1ZSDpZ2FsZW1lbnQgOiIKCiM6IGZpbGUuYzo5MjUKbXNnaWQgIiMgIE1vZGlmaWNhdGlvbiB0aW1lIG5ldmVyIGNoZWNrZWQuIgptc2dzdHIgIiMgIEhldXJlIGRlIG1vZGlmaWNhdGlvbiBqYW1haXMgdulyaWZp6WUuIgoKIzogZmlsZS5jOjkyNwptc2dpZCAiIyAgRmlsZSBkb2VzIG5vdCBleGlzdC4iCm1zZ3N0ciAiIyBGaWNoaWVyIGluZXhpc3RhbnQuIgoKIzogZmlsZS5jOjkyOQptc2dpZCAiIyAgRmlsZSBpcyB2ZXJ5IG9sZC4iCm1zZ3N0ciAiIyAgRmljaGllciB0cuhzIOJn6S4iCgojOiBmaWxlLmM6OTM0CiMsIGMtZm9ybWF0Cm1zZ2lkICIjICBMYXN0IG1vZGlmaWVkICVzXG4iCm1zZ3N0ciAiIyAgRGVybmnocmUgbW9kaWZpY2F0aW9uICVzXG4iCgojOiBmaWxlLmM6OTM3Cm1zZ2lkICIjICBGaWxlIGhhcyBiZWVuIHVwZGF0ZWQuIgptc2dzdHIgIiMgIEZpY2hpZXIgYSDpdOkgbWlzIOAgam91ci4iCgojOiBmaWxlLmM6OTM3Cm1zZ2lkICIjICBGaWxlIGhhcyBub3QgYmVlbiB1cGRhdGVkLiIKbXNnc3RyICIjICBGaWNoaWVyIG4nYSBwYXMg6XTpIG1pcyDgIGpvdXIuIgoKIzogZmlsZS5jOjk0MQptc2dpZCAiIyAgQ29tbWFuZHMgY3VycmVudGx5IHJ1bm5pbmcgKFRISVMgSVMgQSBCVUcpLiIKbXNnc3RyICIjICBDb21tYW5kZXMgZW4gY291cnMgZCdleOljdXRpb24gKENFQ0kgRVNUIFVOIEJVRykuIgoKIzogZmlsZS5jOjk0NAptc2dpZCAiIyAgRGVwZW5kZW5jaWVzIGNvbW1hbmRzIHJ1bm5pbmcgKFRISVMgSVMgQSBCVUcpLiIKbXNnc3RyICIjICBDb21tYW5kZXMgZGUgZOlwZW5kYW5jZXMgZW4gY291cnMgZCdleOljdXRpb24gKENFQ0kgRVNUIFVOIEJVRykuIgoKIzogZmlsZS5jOjk1Mwptc2dpZCAiIyAgU3VjY2Vzc2Z1bGx5IHVwZGF0ZWQuIgptc2dzdHIgIiMgIE1pc2Ug4CBqb3VyIHLpdXNzaWUiCgojOiBmaWxlLmM6OTU3Cm1zZ2lkICIjICBOZWVkcyB0byBiZSB1cGRhdGVkICgtcSBpcyBzZXQpLiIKbXNnc3RyICIjICBBIGJlc29pbiBkJ+p0cmUgbWlzIOAgam91ciAobCdvcHRpb24gLXEgZXN0IGFjdGl26WUpLiIKCiM6IGZpbGUuYzo5NjAKbXNnaWQgIiMgIEZhaWxlZCB0byBiZSB1cGRhdGVkLiIKbXNnc3RyICIjICBOJ2EgcGFzIHB1IOp0cmUgbWlzIOAgam91ci4iCgojOiBmaWxlLmM6OTYzCm1zZ2lkICIjICBJbnZhbGlkIHZhbHVlIGluIGB1cGRhdGVfc3RhdHVzJyBtZW1iZXIhIgptc2dzdHIgIiMgIFZhbGV1ciBub24gdmFsYWJsZSBkYW5zIGxlIG1lbWJyZSCrIHVwZGF0ZV9zdGF0dXMguyAhIgoKIzogZmlsZS5jOjk3MAptc2dpZCAiIyAgSW52YWxpZCB2YWx1ZSBpbiBgY29tbWFuZF9zdGF0ZScgbWVtYmVyISIKbXNnc3RyICIjICBWYWxldXIgbm9uIHZhbGFibGUgZGFucyBsZSBtZW1icmUgqyBjb21tYW5kX3N0YXRlILsgISIKCiM6IGZpbGUuYzo5ODkKbXNnaWQgIiIKIlxuIgoiIyBGaWxlcyIKbXNnc3RyICIiCiJcbiIKIiMgRmljaGllcnMiCgojOiBmaWxlLmM6OTkzCm1zZ2lkICIiCiJcbiIKIiMgZmlsZXMgaGFzaC10YWJsZSBzdGF0czpcbiIKIiMgIgptc2dzdHIgIiIKIlxuIgoiIyBzdGF0aXN0aXF1ZXMgZGVzIGZpY2hpZXJzIGRlIGxhIHRhYmxlIGRlIGhhY2hhZ2U6XG4iCiIjICIKCiM6IGZ1bmN0aW9uLmM6NzU5Cm1zZ2lkICJub24tbnVtZXJpYyBmaXJzdCBhcmd1bWVudCB0byBgd29yZCcgZnVuY3Rpb24iCm1zZ3N0ciAicHJlbWllciBhcmd1bWVudCBkZSBsYSBmb25jdGlvbiCrIHdvcmQguyBub24gbnVt6XJpcXVlIgoKIzogZnVuY3Rpb24uYzo3NjQKbXNnaWQgImZpcnN0IGFyZ3VtZW50IHRvIGB3b3JkJyBmdW5jdGlvbiBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAwIgptc2dzdHIgInByZW1pZXIgYXJndW1lbnQgZGUgbGEgZm9uY3Rpb24gqyB3b3JkILsgZG90IOp0cmUgcGx1cyBncmFuZCBxdWUgMCIKCiM6IGZ1bmN0aW9uLmM6Nzg1Cm1zZ2lkICJub24tbnVtZXJpYyBmaXJzdCBhcmd1bWVudCB0byBgd29yZGxpc3QnIGZ1bmN0aW9uIgptc2dzdHIgInByZW1pZXIgYXJndW1lbnQgZGUgbGEgZm9uY3Rpb24gqyB3b3JkbGlzdCC7IG4nZXN0IHBhcyBudW3pcmlxdWUiCgojOiBmdW5jdGlvbi5jOjc4Nwptc2dpZCAibm9uLW51bWVyaWMgc2Vjb25kIGFyZ3VtZW50IHRvIGB3b3JkbGlzdCcgZnVuY3Rpb24iCm1zZ3N0ciAicHJlbWllciBhcmd1bWVudCBkZSBsYSBmb25jdGlvbiCrIHdvcmRsaXN0ILsgbidlc3QgcGFzIG51belyaXF1ZSIKCiM6IGZ1bmN0aW9uLmM6MTQ1MwojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgImNyZWF0ZV9jaGlsZF9wcm9jZXNzOiBEdXBsaWNhdGVIYW5kbGUoSW4pIGZhaWxlZCAoZT0lbGQpXG4iCm1zZ3N0ciAiY3JlYXRlX2NoaWxkX3Byb2Nlc3MoKTogRHVwbGljYXRlSGFuZGxlKEluKSBlbiDpY2hlYyAoZT0lZClcbiIKCiM6IGZ1bmN0aW9uLmM6MTQ2NAojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgImNyZWF0ZV9jaGlsZF9wcm9jZXNzOiBEdXBsaWNhdGVIYW5kbGUoRXJyKSBmYWlsZWQgKGU9JWxkKVxuIgptc2dzdHIgImNyZWF0ZV9jaGlsZF9wcm9jZXNzKCk6IER1cGxpY2F0ZUhhbmRsZShFcnIpIGVuIOljaGVjIChlPSVkKVxuIgoKIzogZnVuY3Rpb24uYzoxNDY5CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiQ3JlYXRlUGlwZSgpIGZhaWxlZCAoZT0lbGQpXG4iCm1zZ3N0ciAiQ3JlYXRlUGlwZSgpIGVuIOljaGVjIChlPSVkKVxuIgoKIzogZnVuY3Rpb24uYzoxNDc0Cm1zZ2lkICJ3aW5kb3dzMzJfb3BlbnBpcGUgKCk6IHByb2Nlc3NfaW5pdF9mZCgpIGZhaWxlZFxuIgptc2dzdHIgIndpbmRvd3MzMl9vcGVucGlwZSgpOiBwcm9jZXNzX2luaXRfZmQoKSBlbiDpY2hlY1xuIgoKIzogZnVuY3Rpb24uYzoxNzI1CiMsIGMtZm9ybWF0Cm1zZ2lkICJDbGVhbmluZyB1cCB0ZW1wb3JhcnkgYmF0Y2ggZmlsZSAlc1xuIgptc2dzdHIgIk5ldHRveWFnZSBkdSBmaWNoaWVyIHRlbXBvcmFpcmUgJXNcbiIKCiM6IGZ1bmN0aW9uLmM6MjEwMQojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgImluc3VmZmljaWVudCBudW1iZXIgb2YgYXJndW1lbnRzICglZCkgdG8gZnVuY3Rpb24gYCVzJyIKbXNnc3RyICJub21icmUgaW5zdWZmaXNhbnQgZCdhcmd1bWVudCAoJWQpIGRlIGxhIGZvbmN0aW9uIKsgJXMguyIKCiM6IGZ1bmN0aW9uLmM6MjExMwojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgInVuaW1wbGVtZW50ZWQgb24gdGhpcyBwbGF0Zm9ybTogZnVuY3Rpb24gYCVzJyIKbXNnc3RyICJOb24gaW1wbGFudOkgc3VyIGNldHRlIHBsYXRlLWZvcm1lOiBmb25jdGlvbiCrICVzILsiCgojOiBmdW5jdGlvbi5jOjIxNjMKIywgYy1mb3JtYXQKbXNnaWQgInVudGVybWluYXRlZCBjYWxsIHRvIGZ1bmN0aW9uIGAlcyc6IG1pc3NpbmcgYCVjJyIKbXNnc3RyICJhcHBlbCDgIGxhIGZvbmN0aW9uIKsgJXMguyBub24gdGVybWlu6SA6IKsgJWMguyBtYW5xdWFudCIKCiM6IGdldG9wdC5jOjY2MwojLCBjLWZvcm1hdAptc2dpZCAiJXM6IG9wdGlvbiBgJXMnIGlzIGFtYmlndW91c1xuIgptc2dzdHIgIiVzIDogbCdvcHRpb24gqyAlcyC7IGVzdCBhbWJpZ3XrXG4iCgojOiBnZXRvcHQuYzo2ODcKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBvcHRpb24gYC0tJXMnIGRvZXNuJ3QgYWxsb3cgYW4gYXJndW1lbnRcbiIKbXNnc3RyICIlcyA6IGwnb3B0aW9uIKsgLS0lcyC7IG5lIHByZW5kIHBhcyBkJ2FyZ3VtZW50XG4iCgojOiBnZXRvcHQuYzo2OTIKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBvcHRpb24gYCVjJXMnIGRvZXNuJ3QgYWxsb3cgYW4gYXJndW1lbnRcbiIKbXNnc3RyICIlcyA6IGwnb3B0aW9uIKsgJWMlcyC7IG5lIHByZW5kIHBhcyBkJ2FyZ3VtZW50XG4iCgojOiBnZXRvcHQuYzo3MDkgZ2V0b3B0LmM6ODgyCiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogb3B0aW9uIGAlcycgcmVxdWlyZXMgYW4gYXJndW1lbnRcbiIKbXNnc3RyICIlcyA6IGwnb3B0aW9uIKsgJXMguyBu6WNlc3NpdGUgdW4gYXJndW1lbnRcbiIKCiM6IGdldG9wdC5jOjczOAojLCBjLWZvcm1hdAptc2dpZCAiJXM6IHVucmVjb2duaXplZCBvcHRpb24gYC0tJXMnXG4iCm1zZ3N0ciAiJXMgOiBvcHRpb24gbm9uIHJlY29ubnVlIKsgLS0lcyC7XG4iCgojOiBnZXRvcHQuYzo3NDIKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiB1bnJlY29nbml6ZWQgb3B0aW9uIGAlYyVzJ1xuIgptc2dzdHIgIiVzIDogb3B0aW9uIG5vbiByZWNvbm51ZSCrICVjJXMgu1xuIgoKIzogZ2V0b3B0LmM6NzY4CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogaWxsZWdhbCBvcHRpb24gLS0gJWNcbiIKbXNnc3RyICIlcyA6IG9wdGlvbiBpbGzpZ2FsZSAtLSAlY1xuIgoKIzogZ2V0b3B0LmM6NzcxCiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogaW52YWxpZCBvcHRpb24gLS0gJWNcbiIKbXNnc3RyICIlcyA6IG9wdGlvbiBpbnZhbGlkZSAtLSAlY1xuIgoKIzogZ2V0b3B0LmM6ODAxIGdldG9wdC5jOjkzMQojLCBjLWZvcm1hdAptc2dpZCAiJXM6IG9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCAtLSAlY1xuIgptc2dzdHIgIiVzIDogbCdvcHRpb24gbuljZXNzaXRlIHVuIGFyZ3VtZW50IC0tICVjXG4iCgojOiBnZXRvcHQuYzo4NDgKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBvcHRpb24gYC1XICVzJyBpcyBhbWJpZ3VvdXNcbiIKbXNnc3RyICIlcyA6IGwnb3B0aW9uIKsgLVcgJXMguyBlc3QgYW1iaWd161xuIgoKIzogZ2V0b3B0LmM6ODY2CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogb3B0aW9uIGAtVyAlcycgZG9lc24ndCBhbGxvdyBhbiBhcmd1bWVudFxuIgptc2dzdHIgIiVzIDogbCdvcHRpb24gqyAtVyAlcyC7IG5lIHByZW5kIHBhcyBkJ2FyZ3VtZW50XG4iCgojOiBoYXNoLmM6NTEKIywgYy1mb3JtYXQKbXNnaWQgImNhbid0IGFsbG9jYXRlICVsZCBieXRlcyBmb3IgaGFzaCB0YWJsZTogbWVtb3J5IGV4aGF1c3RlZCIKbXNnc3RyICJuZSBwZXV0IGFsbG91ZXIgJWxkIG9jdGV0cyBwb3VyIGxhIHRhYmxlIGRlIGhhY2hhZ2U6IG3pbW9pcmUg6XB1aXPpZSIKCiM6IGhhc2guYzoyODIKIywgYy1mb3JtYXQKbXNnaWQgIkxvYWQ9JWxkLyVsZD0lLjBmJSUsICIKbXNnc3RyICJDaGFyZ2U9JWxkLyVsZD0lLjBmJSUsICIKCiM6IGhhc2guYzoyODQKIywgYy1mb3JtYXQKbXNnaWQgIlJlaGFzaD0lZCwgIgptc2dzdHIgIlJlZmFpdCBsZSBoYWNoYWdlPSVkLCAiCgojOiBoYXNoLmM6Mjg1CiMsIGMtZm9ybWF0Cm1zZ2lkICJDb2xsaXNpb25zPSVsZC8lbGQ9JS4wZiUlIgptc2dzdHIgIkNvbGxpc2lvbnM9JWxkLyVsZD0lLjBmJSUiCgojOiBpbXBsaWNpdC5jOjQxCiMsIGMtZm9ybWF0Cm1zZ2lkICJMb29raW5nIGZvciBhbiBpbXBsaWNpdCBydWxlIGZvciBgJXMnLlxuIgptc2dzdHIgIlJlY2hlcmNoZSBkJ3VuZSBy6GdsZSBpbXBsaWNpdGUgcG91ciCrICVzILsuXG4iCgojOiBpbXBsaWNpdC5jOjU3CiMsIGMtZm9ybWF0Cm1zZ2lkICJMb29raW5nIGZvciBhcmNoaXZlLW1lbWJlciBpbXBsaWNpdCBydWxlIGZvciBgJXMnLlxuIgptc2dzdHIgIlJlY2hlcmNoZSBkJ3VuZSBy6GdsZSBpbXBsaWNpdGUgZGUgbWVtYnJlIGQnYXJjaGl2ZSBwb3VyIKsgJXMguy5cbiIKCiM6IGltcGxpY2l0LmM6MzE5Cm1zZ2lkICJBdm9pZGluZyBpbXBsaWNpdCBydWxlIHJlY3Vyc2lvbi5cbiIKbXNnc3RyICLJdml0ZW1lbnQgZGUgculjdXJzaW9uIGRhbnMgdW5lIHLpZ2xlIGltcGxpY2l0ZS5cbiIKCiM6IGltcGxpY2l0LmM6NDc2CiMsIGMtZm9ybWF0Cm1zZ2lkICJUcnlpbmcgcGF0dGVybiBydWxlIHdpdGggc3RlbSBgJS4qcycuXG4iCm1zZ3N0ciAiRXNzYWkgZHUgc2No6W1hIGF2ZWMgqyAlLipzILsgY29tbWUgcHLpZml4ZS5cbiIKCiM6IGltcGxpY2l0LmM6NjY3CiMsIGMtZm9ybWF0Cm1zZ2lkICJSZWplY3RpbmcgaW1wb3NzaWJsZSBpbXBsaWNpdCBwcmVyZXF1aXNpdGUgYCVzJy5cbiIKbXNnc3RyICJSZWpldCBpbXBvc3NpYmxlIGQndW5lIGTpcGVuZGFuY2UgaW1wbGljaXRlIKsgJXMguy5cbiIKCiM6IGltcGxpY2l0LmM6NjY4CiMsIGMtZm9ybWF0Cm1zZ2lkICJSZWplY3RpbmcgaW1wb3NzaWJsZSBydWxlIHByZXJlcXVpc2l0ZSBgJXMnLlxuIgptc2dzdHIgIlJlamV0IGltcG9zc2libGUgZCd1bmUgZOlwZW5kYW5jZSBkZSBy6GdsZSCrICVzILsuXG4iCgojOiBpbXBsaWNpdC5jOjY3OAojLCBjLWZvcm1hdAptc2dpZCAiVHJ5aW5nIGltcGxpY2l0IHByZXJlcXVpc2l0ZSBgJXMnLlxuIgptc2dzdHIgIkVzc2FpZSBkZSBsYSBk6XBlbmRhbmNlIGltcGxpY2l0ZSCrICVzILsuXG4iCgojOiBpbXBsaWNpdC5jOjY3OQojLCBjLWZvcm1hdAptc2dpZCAiVHJ5aW5nIHJ1bGUgcHJlcmVxdWlzaXRlIGAlcycuXG4iCm1zZ3N0ciAiRXNzYWkgZGUgbGEgcuhnbGUgZGUgZOlwZW5kYW5jZSCrICVzILsuXG4iCgojOiBpbXBsaWNpdC5jOjcxMAojLCBjLWZvcm1hdAptc2dpZCAiRm91bmQgcHJlcmVxdWlzaXRlIGAlcycgYXMgVlBBVEggYCVzJ1xuIgptc2dzdHIgIkTpcGVuZGFuY2UgdHJvdXbpZSCrICVzILsgY29tbWUgVlBBVEggqyAlcyC7XG4iCgojOiBpbXBsaWNpdC5jOjczMAojLCBjLWZvcm1hdAptc2dpZCAiTG9va2luZyBmb3IgYSBydWxlIHdpdGggaW50ZXJtZWRpYXRlIGZpbGUgYCVzJy5cbiIKbXNnc3RyICJSZWNoZXJjaGUgZCd1bmUgcuhnbGUgY29udGVuYW50IGxlIGZpY2hpZXIgaW50ZXJt6WRhaXJlIKsgJXMguy5cbiIKCiM6IGpvYi5jOjMyMQptc2dpZCAiQ2Fubm90IGNyZWF0ZSBhIHRlbXBvcmFyeSBmaWxlXG4iCm1zZ3N0ciAiTmUgcGV1dCBjcullciB1biBmaWNoaWVyIHRlbXBvcmFpcmVcbiIKCiM6IGpvYi5jOjM4OAojLCBjLWZvcm1hdAptc2dpZCAiKioqIFslc10gRXJyb3IgMHgleCAoaWdub3JlZCkiCm1zZ3N0ciAiKioqIFslc10gRXJyZXVyIDB4JXggKGlnbm9y6WUpIgoKIzogam9iLmM6Mzg5CiMsIGMtZm9ybWF0Cm1zZ2lkICIqKiogWyVzXSBFcnJvciAweCV4Igptc2dzdHIgIioqKiBbJXNdIEVycmV1ciAweCV4IgoKIzogam9iLmM6MzkzCiMsIGMtZm9ybWF0Cm1zZ2lkICJbJXNdIEVycm9yICVkIChpZ25vcmVkKSIKbXNnc3RyICJbJXNdIEVycmV1ciAlZCAoaWdub3LpZSkiCgojOiBqb2IuYzozOTQKIywgYy1mb3JtYXQKbXNnaWQgIioqKiBbJXNdIEVycm9yICVkIgptc2dzdHIgIioqKiBbJXNdIEVycmV1ciAlZCIKCiM6IGpvYi5jOjM5OQptc2dpZCAiIChjb3JlIGR1bXBlZCkiCm1zZ3N0ciAiICh2aWRhbmdlIG3pbW9pcmUpIgoKIzogam9iLmM6NDg4Cm1zZ2lkICIqKiogV2FpdGluZyBmb3IgdW5maW5pc2hlZCBqb2JzLi4uLiIKbXNnc3RyICIqKiogQXR0ZW50ZSBkZXMgdOJjaGVzIG5vbiB0ZXJtaW7pZXMuLi4uIgoKIzogam9iLmM6NTE4CiMsIGMtZm9ybWF0Cm1zZ2lkICJMaXZlIGNoaWxkIDB4JTA4bHggKCVzKSBQSUQgJWxkICVzXG4iCm1zZ3N0ciAiUHJvY2Vzc3VzIGZpbHMgYWN0aWYgMHglMDhseCAoJXMpIFBJRCAlbGQgJXNcbiIKCiM6IGpvYi5jOjUyMCBqb2IuYzo3MDEgam9iLmM6ODA0IGpvYi5jOjE0NTcKbXNnaWQgIiAocmVtb3RlKSIKbXNnc3RyICIgKGRpc3RhbnQpIgoKIzogam9iLmM6Njk4CiMsIGMtZm9ybWF0Cm1zZ2lkICJSZWFwaW5nIGxvc2luZyBjaGlsZCAweCUwOGx4IFBJRCAlbGQgJXNcbiIKbXNnc3RyICIiCiJS6WN1cOlyYXRpb24gZHUgc3RhdHV0IGRlIHNvcnRpZSBkdSBwcm9jZXNzdXMgZmlscyAweCUwOGx4IFBJRCAlbGQgJXNcbiIKCiM6IGpvYi5jOjY5OQojLCBjLWZvcm1hdAptc2dpZCAiUmVhcGluZyB3aW5uaW5nIGNoaWxkIDB4JTA4bHggUElEICVsZCAlc1xuIgptc2dzdHIgIiIKIlLpY3Vw6XJhdGlvbiBkdSBzdGF0dXQgZGUgc29ydGllIGR1IHByb2Nlc3N1cyBmaWxzIDB4JTA4bHggUElEICVsZCAlc1xuIgoKIzogam9iLmM6NzA0CiMsIGMtZm9ybWF0Cm1zZ2lkICJDbGVhbmluZyB1cCB0ZW1wIGJhdGNoIGZpbGUgJXNcbiIKbXNnc3RyICJOZXR0b3lhZ2UgZHUgZmljaGllciB0ZW1wb3JhaXJlICVzXG4iCgojOiBqb2IuYzo4MDIKIywgYy1mb3JtYXQKbXNnaWQgIlJlbW92aW5nIGNoaWxkIDB4JTA4bHggUElEICVsZCVzIGZyb20gY2hhaW4uXG4iCm1zZ3N0ciAiU3VwcHJlc3Npb24gZHUgcHJvY2Vzc3VzIGZpbHMgMHglMDhseCBQSUQgJWxkJXMgZGUgbGEgY2hh7m5lLlxuIgoKIzogam9iLmM6ODYyCm1zZ2lkICJ3cml0ZSBqb2JzZXJ2ZXIiCm1zZ3N0ciAi6WNyaXR1cmUgdmVycyBsZSBzZXJ2ZXVyIGRlIHTiY2hlcyIKCiM6IGpvYi5jOjg2NAojLCBjLWZvcm1hdAptc2dpZCAiUmVsZWFzZWQgdG9rZW4gZm9yIGNoaWxkIDB4JTA4bHggKCVzKS5cbiIKbXNnc3RyICJSZWziY2hlIGR1IGpldG9uIGR1IHByb2Nlc3N1cyBmaWxzIDB4JTA4bHggKCVzKS5cbiIKCiM6IGpvYi5jOjEzODMKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJwcm9jZXNzX2Vhc3koKSBmYWlsZWQgdG8gbGF1bmNoIHByb2Nlc3MgKGU9JWxkKVxuIgptc2dzdHIgInByb2Nlc3NfZWFzeSgpIGVuIOljaGVjIGR1IGxhbmNlbWVudCBkdSBwcm9jZXNzdXMgKGU9JWQpXG4iCgojOiBqb2IuYzoxMzg3IGpvYi5jOjIwMjAKIywgYy1mb3JtYXQKbXNnaWQgIiIKIlxuIgoiQ291bnRlZCAlZCBhcmdzIGluIGZhaWxlZCBsYXVuY2hcbiIKbXNnc3RyICIiCiJcbiIKIkTpbm9tYnLpICVkIGFyZ3VtZW50cyBsb3JzIGR1IGxhbmNlbWVudCBlbiDpY2hlY1xuIgoKIzogam9iLmM6MTQ1NQojLCBjLWZvcm1hdAptc2dpZCAiUHV0dGluZyBjaGlsZCAweCUwOGx4ICglcykgUElEICVsZCVzIG9uIHRoZSBjaGFpbi5cbiIKbXNnc3RyICJBam91dCBkdSBwcm9jZXNzdXMgZmlscyAweCUwOGx4ICglcykgUElEICVsZCVzIOAgbGEgY2hh7m5lLlxuIgoKIzogam9iLmM6MTcwOQojLCBjLWZvcm1hdAptc2dpZCAiT2J0YWluZWQgdG9rZW4gZm9yIGNoaWxkIDB4JTA4bHggKCVzKS5cbiIKbXNnc3RyICJPYnRlbnRpb24gZCd1biBqZXRvbiBwb3VyIGxlIHByb2Nlc3N1cyBmaWxzIDB4JTA4bHggKCVzKS5cbiIKCiM6IGpvYi5jOjE3MTgKbXNnaWQgInJlYWQgam9icyBwaXBlIgptc2dzdHIgImxlY3R1cmUgZGVzIHBpcGVzIGRlcyBwcm9jZXNzdXMiCgojOiBqb2IuYzoxODMyCm1zZ2lkICJjYW5ub3QgZW5mb3JjZSBsb2FkIGxpbWl0cyBvbiB0aGlzIG9wZXJhdGluZyBzeXN0ZW0iCm1zZ3N0ciAiIgoiaW1wb3NzaWJsZSBkJ2ltcG9zZXIgZGVzIGxpbWl0ZXMgZGUgY2hhcmdlIHN1ciBjZSBzeXN06G1lIGQnZXhwbG9pdGF0aW9uIgoKIzogam9iLmM6MTgzNAptc2dpZCAiY2Fubm90IGVuZm9yY2UgbG9hZCBsaW1pdDogIgptc2dzdHIgImltcG9zc2libGUgZCdpbXBvc2VyIGRlcyBsaW1pdGVzIGRlIGNoYXJnZSA6ICIKCiM6IGpvYi5jOjE5MDcKbXNnaWQgIm5vIG1vcmUgZmlsZSBoYW5kbGVzOiBjb3VsZCBub3QgZHVwbGljYXRlIHN0ZGluXG4iCm1zZ3N0ciAicGx1cyBkZSBwb2ludGV1cnMgZGUgZmljaGllcnM6IG5lIHBldXQgZHVwbGljYXRlciBzdGRpblxuIgoKIzogam9iLmM6MTkwOQptc2dpZCAibm8gbW9yZSBmaWxlIGhhbmRsZXM6IGNvdWxkIG5vdCBkdXBsaWNhdGUgc3Rkb3V0XG4iCm1zZ3N0ciAicGx1cyBkZSBwb2ludGV1cnMgZGUgZmljaGllcnM6IG5lIHBldXQgZHVwbGljYXRlciBzdGRvdXRcbiIKCiM6IGpvYi5jOjE5MzcKbXNnaWQgIkNvdWxkIG5vdCByZXN0b3JlIHN0ZGluXG4iCm1zZ3N0ciAiTmUgcGV1dCByZXN0YXVyZXIgc3RkaW5cbiIKCiM6IGpvYi5jOjE5NDUKbXNnaWQgIkNvdWxkIG5vdCByZXN0b3JlIHN0ZG91dFxuIgptc2dzdHIgIk5lIHBldXQgcmVzdGF1cmVyIHN0ZG91dFxuIgoKIzogam9iLmM6MjAxNgojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgInByb2Nlc3NfZWFzeSgpIGZhaWxlZCBmYWlsZWQgdG8gbGF1bmNoIHByb2Nlc3MgKGU9JWxkKVxuIgptc2dzdHIgInByb2Nlc3NfZWFzeSgpIGVuIOljaGVjIGR1IGxhbmNlbWVudCBkdSBwcm9jZXNzdXMgKGU9JWQpXG4iCgojOiBqb2IuYzoyMDQ2CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAibWFrZSByZWFwZWQgY2hpbGQgcGlkICVsZCwgc3RpbGwgd2FpdGluZyBmb3IgcGlkICVsZFxuIgptc2dzdHIgIm1ha2UgYSBy6WN1cOly6SBsZSBwcm9jZXNzdXMgZmlscyBwaWQgJWQsIGVuIGF0dGVudGUgZHUgcGlkICVkXG4iCgojOiBqb2IuYzoyMDg1CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogQ29tbWFuZCBub3QgZm91bmQiCm1zZ3N0ciAiJXMgOiBjb21tYW5kZSBpbnRyb3V2YWJsZSIKCiM6IGpvYi5jOjIxNDUKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBTaGVsbCBwcm9ncmFtIG5vdCBmb3VuZCIKbXNnc3RyICIlcyA6IGludGVycHLpdGV1ciBkZSBjb21tYW5kZXMgaW50cm91dmFibGUiCgojOiBqb2IuYzoyMTU0Cm1zZ2lkICJzcGF3bnZwZTogZW52aXJvbm1lbnQgc3BhY2UgbWlnaHQgYmUgZXhoYXVzdGVkIgptc2dzdHIgInNwYXdudnBlOiBsJ2VzcGFjZSBkZSBsJ2Vudmlyb25tZW50IHBldXQg6nRyZSDpcHVpc+kiCgojOiBqb2IuYzoyMzYzCiMsIGMtZm9ybWF0Cm1zZ2lkICIkU0hFTEwgY2hhbmdlZCAod2FzIGAlcycsIG5vdyBgJXMnKVxuIgptc2dzdHIgIiRTSEVMTCBhIOl06SBtb2RpZmnpICjpdGFpdCCrICVzILsgZXQgIG1haW50ZW5hbnQgZXN0IKsgJXMguylcbiIKCiM6IGpvYi5jOjI3ODkKIywgYy1mb3JtYXQKbXNnaWQgIkNyZWF0aW5nIHRlbXBvcmFyeSBiYXRjaCBmaWxlICVzXG4iCm1zZ3N0ciAiQ3LpYXRpb24gZCd1biBmaWNoaWVyIHRlbXBvcmFpcmUgJXNcbiIKCiM6IGpvYi5jOjI5MDIKIywgYy1mb3JtYXQKbXNnaWQgIiVzIChsaW5lICVkKSBCYWQgc2hlbGwgY29udGV4dCAoIXVuaXh5ICYmICFiYXRjaF9tb2RlX3NoZWxsKVxuIgptc2dzdHIgIiIKIiVzIChsaWduZSAlZCkgY29udGV4dGUgZXJyb27pIGQnaW50ZXJwcul0ZXVyICghdW5peHkgJiYgIWJhdGNoX21vZGVfc2hlbGwpXG4iCgojOiBtYWluLmM6MjkxCm1zZ2lkICJPcHRpb25zOlxuIgptc2dzdHIgIk9wdGlvbnM6XG4iCgojOiBtYWluLmM6MjkyCm1zZ2lkICIgIC1iLCAtbSAgICAgICAgICAgICAgICAgICAgICBJZ25vcmVkIGZvciBjb21wYXRpYmlsaXR5LlxuIgptc2dzdHIgIiAgLWIsIC1tICAgICAgICAgICAgICAgICAgICAgIGlnbm9y6SBwb3VyIGNvbXBhdGliaWxpdOlcbiIKCiM6IG1haW4uYzoyOTQKbXNnaWQgIiAgLUIsIC0tYWx3YXlzLW1ha2UgICAgICAgICAgIFVuY29uZGl0aW9uYWxseSBtYWtlIGFsbCB0YXJnZXRzLlxuIgptc2dzdHIgIiIKIiAgLUIsIC0tYWx3YXlzLW1ha2UgICAgICAgICAgIHRyYWl0ZXIgdG91dGVzIGxlcyBjaWJsZXMgc2FucyBjb25kaXRpb25cbiIKCiM6IG1haW4uYzoyOTYKbXNnaWQgIiIKIiAgLUMgRElSRUNUT1JZLCAtLWRpcmVjdG9yeT1ESVJFQ1RPUllcbiIKIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENoYW5nZSB0byBESVJFQ1RPUlkgYmVmb3JlIGRvaW5nIGFueXRoaW5nLlxuIgptc2dzdHIgIiIKIiAgLUMgUslQRVJUT0lSRSwgLS1kaXJlY3Rvcnk9UslQRVJUT0lSRVxuIgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlciBkZSBy6XBlcnRvaXJlIGF2YW50IGRlIGZhaXJlIHF1b2kgcXVlICIKImNlIHNvaXRcbiIKCiM6IG1haW4uYzoyOTkKbXNnaWQgIiAgLWQgICAgICAgICAgICAgICAgICAgICAgICAgIFByaW50IGxvdHMgb2YgZGVidWdnaW5nIGluZm9ybWF0aW9uLlxuIgptc2dzdHIgIiIKIiAgLWQgICAgICAgICAgICAgICAgICAgICAgICAgIGFmZmljaGVyIGJlYXVjb3VwIGQnaW5mb3JtYXRpb25zIGRlIGTpYnVnZ2luZ1xuIgoKIzogbWFpbi5jOjMwMQptc2dpZCAiIgoiICAtLWRlYnVnWz1GTEFHU10gICAgICAgICAgICAgUHJpbnQgdmFyaW91cyB0eXBlcyBvZiBkZWJ1Z2dpbmcgaW5mb3JtYXRpb24uXG4iCm1zZ3N0ciAiIgoiICAtLWRlYnVnWz1GQU5JT05TXSAgICAgICAgICAgYWZmaWNoZXIgZGl2ZXJzIHR5cGVzIGQnaW5mb3JtYXRpb25zIGRlICIKImTpYnVnZ2luZ1xuIgoKIzogbWFpbi5jOjMwMwptc2dpZCAiIgoiICAtZSwgLS1lbnZpcm9ubWVudC1vdmVycmlkZXNcbiIKIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudmlyb25tZW50IHZhcmlhYmxlcyBvdmVycmlkZSBtYWtlZmlsZXMuXG4iCm1zZ3N0ciAiIgoiICAtZSwgLS1lbnZpcm9ubWVudC1vdmVycmlkZXNcbiIKIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlcyB2YXJpYWJsZSBkJ2Vudmlyb25tZW50IOljcmFzZSBjZWxsZXMgZGUgIgoibWFrZWZpbGVcbiIKCiM6IG1haW4uYzozMDYKbXNnaWQgIiIKIiAgLWYgRklMRSwgLS1maWxlPUZJTEUsIC0tbWFrZWZpbGU9RklMRVxuIgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVhZCBGSUxFIGFzIGEgbWFrZWZpbGUuXG4iCm1zZ3N0ciAiIgoiICAtZiBGSUNISUVSLCAtLWZpbGU9RklDSElFUiwgLS1tYWtlZmlsZT1GSUNISUVSXG4iCiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXJlIGxlIEZJQ0hJRVIgY29tbWUgZmljaGllciBtYWtlZmlsZVxuIgoKIzogbWFpbi5jOjMwOQptc2dpZCAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgUHJpbnQgdGhpcyBtZXNzYWdlIGFuZCBleGl0LlxuIgptc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgIGFmZmljaGVyIGNlIG1lc3NhZ2UgZXQgcXVpdHRlclxuIgoKIzogbWFpbi5jOjMxMQptc2dpZCAiICAtaSwgLS1pZ25vcmUtZXJyb3JzICAgICAgICAgSWdub3JlIGVycm9ycyBmcm9tIGNvbW1hbmRzLlxuIgptc2dzdHIgIiIKIiAgLWksIC0taWdub3JlLWVycm9ycyAgICAgICAgIGlnbm9yZXIgbGVzIGVycmV1cnMgZCdleOljdXRpb24gZGVzIGNvbW1hbmRlc1xuIgoKIzogbWFpbi5jOjMxMwptc2dpZCAiIgoiICAtSSBESVJFQ1RPUlksIC0taW5jbHVkZS1kaXI9RElSRUNUT1JZXG4iCiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZWFyY2ggRElSRUNUT1JZIGZvciBpbmNsdWRlZCBtYWtlZmlsZXMuXG4iCm1zZ3N0ciAiIgoiICAtSSBSyVBFUlRPSVJFLCAtLWluY2x1ZGUtZGlyPVLJUEVSVE9JUkVcbiIKIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFLJUEVSVE9JUkUgZGUgcmVjaGVyY2hlIHBvdXIgbGVzIGZpY2hpZXJzICIKImluY2x1cyBsb3JzIGR1IG1ha2VmaWxlXG4iCgojOiBtYWluLmM6MzE2Cm1zZ2lkICIiCiIgIC1qIFtOXSwgLS1qb2JzWz1OXSAgICAgICAgICBBbGxvdyBOIGpvYnMgYXQgb25jZTsgaW5maW5pdGUgam9icyB3aXRoIG5vICIKImFyZy5cbiIKbXNnc3RyICIiCiIgIC1qIFtOXSwgLS1qb2JzWz1OXSAgICAgICAgICBhdXRvcmlzZXIgTiB04mNoZXMgc2ltdWx0YW7pZXMgOyBub21icmUgZGUgIgoidOJjaGVzIGVzdCBpbmZpbmkgc2kgdXRpbGlz6SBzYW5zIGFyZ3VtZW50XG4iCgojOiBtYWluLmM6MzE4Cm1zZ2lkICIiCiIgIC1rLCAtLWtlZXAtZ29pbmcgICAgICAgICAgICBLZWVwIGdvaW5nIHdoZW4gc29tZSB0YXJnZXRzIGNhbid0IGJlIG1hZGUuXG4iCm1zZ3N0ciAiIgoiICAtaywgLS1rZWVwLWdvaW5nICAgICAgICAgICAgcG91cnN1aXZyZSBt6m1lIHNpIGNlcnRhaW5lcyBjaWJsZXMgbidvbnQgcGFzICIKInB1IOp0cmUgZmFicmlxdellc1xuIgoKIzogbWFpbi5jOjMyMAptc2dpZCAiIgoiICAtbCBbTl0sIC0tbG9hZC1hdmVyYWdlWz1OXSwgLS1tYXgtbG9hZFs9Tl1cbiIKIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERvbid0IHN0YXJ0IG11bHRpcGxlIGpvYnMgdW5sZXNzIGxvYWQgaXMgYmVsb3cgIgoiTi5cbiIKbXNnc3RyICIiCiIgIC1sIFtOXSwgLS1sb2FkLWF2ZXJhZ2VbPU5dLCAtLW1heC1sb2FkWz1OXVxuIgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmEgcGFzIGxhbmNlciBkZSBtdWx0aXBsZXMgdOJjaGVzIOAgbW9pbnMgcXVlICIKImxhIGNoYXJnZSBzb2l0IGluZulyaWV1cmUg4CBOXG4iCgojOiBtYWluLmM6MzIzCm1zZ2lkICIiCiIgIC1MLCAtLWNoZWNrLXN5bWxpbmstdGltZXMgICBVc2UgdGhlIGxhdGVzdCBtdGltZSBiZXR3ZWVuIHN5bWxpbmtzIGFuZCAiCiJ0YXJnZXQuXG4iCm1zZ3N0ciAiIgoiICAtTCwgLS1jaGVjay1zeW1saW5rLXRpbWVzICAgdXRpbGlzZXIgbGUgZGVybmllciBtdGltZSBlbnRyZSBsZXMgbGllbnMgIgoic3ltYm9saXF1ZXMgZXQgbGEgY2libGUuXG4iCgojOiBtYWluLmM6MzI1Cm1zZ2lkICIiCiIgIC1uLCAtLWp1c3QtcHJpbnQsIC0tZHJ5LXJ1biwgLS1yZWNvblxuIgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRG9uJ3QgYWN0dWFsbHkgcnVuIGFueSBjb21tYW5kczsganVzdCBwcmludCAiCiJ0aGVtLlxuIgptc2dzdHIgIiIKIiAgLW4sIC0tanVzdC1wcmludCwgLS1kcnktcnVuLCAtLXJlY29uXG4iCiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZSBwYXMgZXjpY3V0ZXIgYXVjdW5lIGNvbW1hbmRlOyBzZXVsZW1lbnQgbGVzICIKImFmZmljaGVyXG4iCgojOiBtYWluLmM6MzI4Cm1zZ2lkICIiCiIgIC1vIEZJTEUsIC0tb2xkLWZpbGU9RklMRSwgLS1hc3N1bWUtb2xkPUZJTEVcbiIKIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbnNpZGVyIEZJTEUgdG8gYmUgdmVyeSBvbGQgYW5kIGRvbid0IHJlbWFrZSAiCiJpdC5cbiIKbXNnc3RyICIiCiIgIC1vIEZJQ0hJRVIsIC0tb2xkLWZpbGU9RklDSElFUiwgLS1hc3N1bWUtb2xkPUZJQ0hJRVJcbiIKIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNpZOlyZXIgbGUgRklDSElFUiBjb21tZSDpdGFudCB0cuhzIOJn6SBldCAiCiJuZSBwYXMgbGUgcmV0cmFpdGVyXG4iCgojOiBtYWluLmM6MzMxCm1zZ2lkICIgIC1wLCAtLXByaW50LWRhdGEtYmFzZSAgICAgICBQcmludCBtYWtlJ3MgaW50ZXJuYWwgZGF0YWJhc2UuXG4iCm1zZ3N0ciAiIgoiICAtcCwgLS1wcmludC1kYXRhLWJhc2UgICAgICAgYWZmaWNoZXIgbGEgYmFzZSBkZSBkb25u6WVzIGludGVybmUgZGUgbWFrZVxuIgoKIzogbWFpbi5jOjMzMwptc2dpZCAiIgoiICAtcSwgLS1xdWVzdGlvbiAgICAgICAgICAgICAgUnVuIG5vIGNvbW1hbmRzOyBleGl0IHN0YXR1cyBzYXlzIGlmIHVwIHRvICIKImRhdGUuXG4iCm1zZ3N0ciAiIgoiICAtcSwgLS1xdWVzdGlvbiAgICAgICAgICAgICAgbmUgcGFzIGV46WN1dGVyIGRlIGNvbW1hbmRlcyA7IGxlIHN0YXR1dCBkZSAiCiJzb3J0aWUgaW5kaXF1ZSBzaSBsYSBjaWJsZSBlc3Qg4CBqb3VyXG4iCgojOiBtYWluLmM6MzM1Cm1zZ2lkICIgIC1yLCAtLW5vLWJ1aWx0aW4tcnVsZXMgICAgICBEaXNhYmxlIHRoZSBidWlsdC1pbiBpbXBsaWNpdCBydWxlcy5cbiIKbXNnc3RyICIiCiIgIC1yLCAtLW5vLWJ1aWx0aW4tcnVsZXMgICAgICBk6XNhY3RpdmVyIGxlcyBy6GdsZXMgaW1wbGljaXRlcyBpbnRlcm5lc1xuIgoKIzogbWFpbi5jOjMzNwptc2dpZCAiICAtUiwgLS1uby1idWlsdGluLXZhcmlhYmxlcyAgRGlzYWJsZSB0aGUgYnVpbHQtaW4gdmFyaWFibGUgc2V0dGluZ3MuXG4iCm1zZ3N0ciAiIgoiICAtUiwgLS1uby1idWlsdGluLXZhcmlhYmxlcyAgZOlzYWN0aXZlciBsZXMgdmFyaWFibGVzIGQnaW5pdGlhbGlzYXRpb24gZGVzICIKInLoZ2xlcyBpbXBsaWNpdGVzIGludGVybmVzXG4iCgojOiBtYWluLmM6MzM5Cm1zZ2lkICIgIC1zLCAtLXNpbGVudCwgLS1xdWlldCAgICAgICBEb24ndCBlY2hvIGNvbW1hbmRzLlxuIgptc2dzdHIgIiAgLXMsIC0tc2lsZW50LCAtLXF1aWV0ICAgICAgIG5lIHBhcyBmYWlyZSBsJ+ljaG8gZGVzIGNvbW1hbmRlc1xuIgoKIzogbWFpbi5jOjM0MQptc2dpZCAiIgoiICAtUywgLS1uby1rZWVwLWdvaW5nLCAtLXN0b3BcbiIKIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFR1cm5zIG9mZiAtay5cbiIKbXNnc3RyICIiCiIgIC1TLCAtLW5vLWtlZXAtZ29pbmcsIC0tc3RvcFxuIgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZOlzYWN0aXZpZXIgLWtcbiIKCiM6IG1haW4uYzozNDQKbXNnaWQgIiAgLXQsIC0tdG91Y2ggICAgICAgICAgICAgICAgIFRvdWNoIHRhcmdldHMgaW5zdGVhZCBvZiByZW1ha2luZyB0aGVtLlxuIgptc2dzdHIgIiIKIiAgLXQsIC0tdG91Y2ggICAgICAgICAgICAgICAgIGFzc2lnbmVyIGwnaGV1cmUgYWN0dWVsbGUgYXV4IGNpYmxlcyBhdSBsaWV1ICIKImRlIGxlcyByZWZhYnJpcXVlclxuIgoKIzogbWFpbi5jOjM0Ngptc2dpZCAiIgoiICAtdiwgLS12ZXJzaW9uICAgICAgICAgICAgICAgUHJpbnQgdGhlIHZlcnNpb24gbnVtYmVyIG9mIG1ha2UgYW5kIGV4aXQuXG4iCm1zZ3N0ciAiIgoiICAtdiwgLS12ZXJzaW9uICAgICAgICAgICAgICAgYWZmaWNoZXIgbGUgbnVt6XJvIGRlIHZlcnNpb24gZGUgbWFrZSBldCAiCiJxdWl0dGVyXG4iCgojOiBtYWluLmM6MzQ4Cm1zZ2lkICIgIC13LCAtLXByaW50LWRpcmVjdG9yeSAgICAgICBQcmludCB0aGUgY3VycmVudCBkaXJlY3RvcnkuXG4iCm1zZ3N0ciAiICAtdywgLS1wcmludC1kaXJlY3RvcnkgICAgICAgYWZmaWNoZXIgbGUgculwZXJ0b2lyZSBjb3VyYW50XG4iCgojOiBtYWluLmM6MzUwCm1zZ2lkICIiCiIgIC0tbm8tcHJpbnQtZGlyZWN0b3J5ICAgICAgICBUdXJuIG9mZiAtdywgZXZlbiBpZiBpdCB3YXMgdHVybmVkIG9uICIKImltcGxpY2l0bHkuXG4iCm1zZ3N0ciAiIgoiICAtLW5vLXByaW50LWRpcmVjdG9yeSAgICAgICAgZOlzYWN0aXZlciBsJ29wdGlvbiAtdywgbeptZSBzaSBlbGxlIGEg6XTpICIKImFjdGl26WUgaW1wbGljaXRlbWVudFxuIgoKIzogbWFpbi5jOjM1Mgptc2dpZCAiIgoiICAtVyBGSUxFLCAtLXdoYXQtaWY9RklMRSwgLS1uZXctZmlsZT1GSUxFLCAtLWFzc3VtZS1uZXc9RklMRVxuIgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29uc2lkZXIgRklMRSB0byBiZSBpbmZpbml0ZWx5IG5ldy5cbiIKbXNnc3RyICIiCiIgIC1XIEZJQ0hJRVIsIC0td2hhdC1pZj1GSUNISUVSLCAtLW5ldy1maWxlPUZJQ0hJRVIsIC0tYXNzdW1lLW5ldz1GSUNISUVSXG4iCiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zaWTpcmVyIGxlIEZJQ0hJRVIgY29tbWUg6XRhbnQgdG91am91cnMgIgoibm91dmVhdVxuIgoKIzogbWFpbi5jOjM1NQptc2dpZCAiIgoiICAtLXdhcm4tdW5kZWZpbmVkLXZhcmlhYmxlcyAgV2FybiB3aGVuIGFuIHVuZGVmaW5lZCB2YXJpYWJsZSBpcyAiCiJyZWZlcmVuY2VkLlxuIgptc2dzdHIgIiIKIiAgLS13YXJuLXVuZGVmaW5lZC12YXJpYWJsZXMgIHBy6XZlbmlyIGxvcnNxdSd1bmUgdmFyaWFibGUgbm9uIGTpZmluaWUgZXN0ICIKInLpZulyZW5j6WVcbiIKCiM6IG1haW4uYzo1NDkKbXNnaWQgImVtcHR5IHN0cmluZyBpbnZhbGlkIGFzIGZpbGUgbmFtZSIKbXNnc3RyICJ1bmUgY2hh7m5lIHZpZGUgbidlc3QgcGFzIHVuIG5vbSBkZSBmaWNoaWVyIHZhbGFibGUiCgojOiBtYWluLmM6NjMwCiMsIGMtZm9ybWF0Cm1zZ2lkICJ1bmtub3duIGRlYnVnIGxldmVsIHNwZWNpZmljYXRpb24gYCVzJyIKbXNnc3RyICJuaXZlYXUgZGUgZOlidWcgaW5jb25udSCrICVzILsiCgojOiBtYWluLmM6NjcwCiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiJXM6IEludGVycnVwdC9FeGNlcHRpb24gY2F1Z2h0IChjb2RlID0gMHglbHgsIGFkZHIgPSAweCVseClcbiIKbXNnc3RyICIiCiIlczogaW50ZXJjZXB0aW9uIGRlIGwnSW50ZXJydXB0aW9uL0V4Y2VwdGlvbiAoY29kZSA9IDB4JXgsIGFkZHIgPSAweCV4KVxuIgoKIzogbWFpbi5jOjY3NwojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgIiIKIlxuIgoiVW5oYW5kbGVkIGV4Y2VwdGlvbiBmaWx0ZXIgY2FsbGVkIGZyb20gcHJvZ3JhbSAlc1xuIgoiRXhjZXB0aW9uQ29kZSA9ICVseFxuIgoiRXhjZXB0aW9uRmxhZ3MgPSAlbHhcbiIKIkV4Y2VwdGlvbkFkZHJlc3MgPSAlbHhcbiIKbXNnc3RyICIiCiJcbiIKIkZpbHRyZSBkJ2V4Y2VwdGlvbiDgIG5lIHBhcyB0cmFpdGVyIGFwcGVs6SBwYXIgbGUgcHJvZ3JhbW1lICVzXG4iCiJFeGNlcHRpb25Db2RlID0gJXhcbiIKIkV4Y2VwdGlvbkZsYWdzID0gJXhcbiIKIkV4Y2VwdGlvbkFkZHJlc3MgPSAleFxuIgoKIzogbWFpbi5jOjY4NQojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgIkFjY2VzcyB2aW9sYXRpb246IHdyaXRlIG9wZXJhdGlvbiBhdCBhZGRyZXNzICVseFxuIgptc2dzdHIgIlZpb2xhdGlvbiBkJ2FjY+hzOiBvcOlyYXRpb24gZCfpY3JpdHVyZSDgIGwnYWRyZXNzZSAleFxuIgoKIzogbWFpbi5jOjY4NgojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgIkFjY2VzcyB2aW9sYXRpb246IHJlYWQgb3BlcmF0aW9uIGF0IGFkZHJlc3MgJWx4XG4iCm1zZ3N0ciAiVmlvbG9hdGlvbiBkJ2FjY+hzOiBvcOlyYXRpb24gZGUgbGVjdHVyZSDgIGwnYWRyZXNzZSAleFxuIgoKIzogbWFpbi5jOjc2MiBtYWluLmM6NzczCiMsIGMtZm9ybWF0Cm1zZ2lkICJmaW5kX2FuZF9zZXRfc2hlbGwgc2V0dGluZyBkZWZhdWx0X3NoZWxsID0gJXNcbiIKbXNnc3RyICJmaW5kX2FuZF9zZXRfc2hlbGwgaW5pdGlhbGlz6SBhdXggcGFyYW3odHJlcyBkZWZhdWx0X3NoZWxsID0gJXNcbiIKCiM6IG1haW4uYzo4MTQKIywgYy1mb3JtYXQKbXNnaWQgImZpbmRfYW5kX3NldF9zaGVsbCBwYXRoIHNlYXJjaCBzZXQgZGVmYXVsdF9zaGVsbCA9ICVzXG4iCm1zZ3N0ciAiIgoiZmluZF9hbmRfc2V0X3NoZWxsIGNoZW1pbiBkZSByZWNoZXJjaGUgaW5pdGlhbGlz6SBhdXggcGFyYW3odHJlcyAiCiJkZWZhdWx0X3NoZWxsID0gJXNcbiIKCiM6IG1haW4uYzoxMjM2CiMsIGMtZm9ybWF0Cm1zZ2lkICIlcyBpcyBzdXNwZW5kaW5nIGZvciAzMCBzZWNvbmRzLi4uIgptc2dzdHIgIiVzIGVzdCBzdXNwZW5kdSBwb3VyIDMwIHNlY29uZGVzLi4uIgoKIzogbWFpbi5jOjEyMzgKIywgYy1mb3JtYXQKbXNnaWQgImRvbmUgc2xlZXAoMzApLiBDb250aW51aW5nLlxuIgptc2dzdHIgInNvbW1laWwgdGVybWlu6SgzMCkuIFBvdXJzdWl0ZS5cbiIKCiM6IG1haW4uYzoxNDY2Cm1zZ2lkICJNYWtlZmlsZSBmcm9tIHN0YW5kYXJkIGlucHV0IHNwZWNpZmllZCB0d2ljZS4iCm1zZ3N0ciAiTWFrZWZpbGUgZGVwdWlzIGwnZW50cullIHN0YWRuYXJkIHNw6WNpZmnpIGRldXggZm9pcy4iCgojOiBtYWluLmM6MTUwNSB2bXNqb2JzLmM6NDg2Cm1zZ2lkICJmb3BlbiAodGVtcG9yYXJ5IGZpbGUpIgptc2dzdHIgImZvcGVuIChmaWNoaWVyIHRlbXBvcmFpcmUpIgoKIzogbWFpbi5jOjE1MTEKbXNnaWQgImZ3cml0ZSAodGVtcG9yYXJ5IGZpbGUpIgptc2dzdHIgImZ3cml0ZSAoZmljaGllciB0ZW1wb3JhaXJlKSIKCiM6IG1haW4uYzoxNjQwCm1zZ2lkICJQYXJhbGxlbCBqb2JzICgtaikgYXJlIG5vdCBzdXBwb3J0ZWQgb24gdGhpcyBwbGF0Zm9ybS4iCm1zZ3N0ciAiIgoiTGVzIHTiY2hlcyBlbiBwYXJhbGzobGUgKC1qKSBuZSBzb250IHBhcyBzdXBwb3J06WVzIHN1ciBjZXR0ZSBwbGF0ZS1mb3JtZS4iCgojOiBtYWluLmM6MTY0MQptc2dpZCAiUmVzZXR0aW5nIHRvIHNpbmdsZSBqb2IgKC1qMSkgbW9kZS4iCm1zZ3N0ciAiUulpbml0aWFsaXNhdGlvbiBlbiBtb2RlIHNpbXBsZSBkZSB0cmFpdGVtZW50IGRlcyB04mNoZXMgKC1qMSkuIgoKIzogbWFpbi5jOjE2NTYKbXNnaWQgImludGVybmFsIGVycm9yOiBtdWx0aXBsZSAtLWpvYnNlcnZlci1mZHMgb3B0aW9ucyIKbXNnc3RyICJlcnJldXIgaW50ZXJuZTogb3B0aW9ucyBtdWx0aXBsZSBkZSAtLWpvYnNlcnZlci1mZHMiCgojOiBtYWluLmM6MTY2NAojLCBjLWZvcm1hdAptc2dpZCAiaW50ZXJuYWwgZXJyb3I6IGludmFsaWQgLS1qb2JzZXJ2ZXItZmRzIHN0cmluZyBgJXMnIgptc2dzdHIgImVycmV1ciBpbnRlcm5lOiBjaGHubmUgqyAlcyC7IGludmFsaWRlIGRhbnMgLS1qb2JzZXJ2ZXItZmRzIgoKIzogbWFpbi5jOjE2NzQKbXNnaWQgIndhcm5pbmc6IC1qTiBmb3JjZWQgaW4gc3VibWFrZTogZGlzYWJsaW5nIGpvYnNlcnZlciBtb2RlLiIKbXNnc3RyICIiCiJBVkVSVElTU0VNRU5UOiAtak4gZm9yY+kgZGFucyBzdWJtYWtlOiBk6XNhY3RpdmF0aW9uIGR1IG1vZGUgc2VydmV1ciBkZSAiCiJ0YWNoZXMuIgoKIzogbWFpbi5jOjE2ODQKbXNnaWQgImR1cCBqb2JzZXJ2ZXIiCm1zZ3N0ciAiZHVwbGljYXRpb24gcGFyIGR1cCBkdSBzZXJ2ZXVyIGRlIHTiY2hlcyIKCiM6IG1haW4uYzoxNjg3Cm1zZ2lkICIiCiJ3YXJuaW5nOiBqb2JzZXJ2ZXIgdW5hdmFpbGFibGU6IHVzaW5nIC1qMS4gIEFkZCBgKycgdG8gcGFyZW50IG1ha2UgcnVsZS4iCm1zZ3N0ciAiIgoiQVZFUlRJU1NFTUVOVDogc2VydmV1ciBkZSB04mNoZXMgbidlc3QgcGFzIGRpc3BvbmlibGU6IHV0aWxpc2F0aW9uIGRlIC1qMS4gIgoiQWpvdXRlciCrICsguyDgIGxhIHLoZ2xlIHBhcmVudCBkdSBtYWtlLiIKCiM6IG1haW4uYzoxNzEwCm1zZ2lkICJjcmVhdGluZyBqb2JzIHBpcGUiCm1zZ3N0ciAiY3LpYXRpb24gZGVzIHBpcGVzIHBvdXIgbGVzIHTiY2hlcyIKCiM6IG1haW4uYzoxNzI1Cm1zZ2lkICJpbml0IGpvYnNlcnZlciBwaXBlIgptc2dzdHIgImluaXRpYWxpc2F0aW9uIGR1IHBpcGUgZHUgc2VydmV1ciBkZSB04mNoZXMiCgojOiBtYWluLmM6MTc0NAptc2dpZCAiU3ltYm9saWMgbGlua3Mgbm90IHN1cHBvcnRlZDogZGlzYWJsaW5nIC1MLiIKbXNnc3RyICJMZXMgbGllbnMgc3ltYm9saXF1ZXMgbmUgc29udCBwYXMgc3VwcG9ydOllczogZOlzYWN0aXZhdGlvbiBkZSAtTC4iCgojOiBtYWluLmM6MTgyMAptc2dpZCAiVXBkYXRpbmcgbWFrZWZpbGVzLi4uLlxuIgptc2dzdHIgIk1pc2Ug4CBqb3VyIGRlcyBtYWtlZmlsZXMuLi4uXG4iCgojOiBtYWluLmM6MTg0NQojLCBjLWZvcm1hdAptc2dpZCAiTWFrZWZpbGUgYCVzJyBtaWdodCBsb29wOyBub3QgcmVtYWtpbmcgaXQuXG4iCm1zZ3N0ciAiTGUgbWFrZWZpbGUgqyAlcyC7IHBldXQgYm91Y2xlciA7IHBhcyBkZSByZWZhYnJpY2F0aW9uLlxuIgoKIzogbWFpbi5jOjE5MjQKIywgYy1mb3JtYXQKbXNnaWQgIkZhaWxlZCB0byByZW1ha2UgbWFrZWZpbGUgYCVzJy4iCm1zZ3N0ciAiyWNoZWMgZGUgcmVmYWJyaWNhdGlvbiBkdSBtYWtlZmlsZSCrICVzILsuIgoKIzogbWFpbi5jOjE5NDEKIywgYy1mb3JtYXQKbXNnaWQgIkluY2x1ZGVkIG1ha2VmaWxlIGAlcycgd2FzIG5vdCBmb3VuZC4iCm1zZ3N0ciAiTGUgbWFrZWZpbGUgaW5jbHVzIKsgJXMguyBuJ2EgcGFzIOl06SB0cm91dukuIgoKIzogbWFpbi5jOjE5NDYKIywgYy1mb3JtYXQKbXNnaWQgIk1ha2VmaWxlIGAlcycgd2FzIG5vdCBmb3VuZCIKbXNnc3RyICJMZSBtYWtlZmlsZSCrICVzILsgbidhIHBhcyDpdOkgdHJvdXbpIgoKIzogbWFpbi5jOjIwMTYKbXNnaWQgIkNvdWxkbid0IGNoYW5nZSBiYWNrIHRvIG9yaWdpbmFsIGRpcmVjdG9yeS4iCm1zZ3N0ciAiSW1wb3NzaWJsZSBkZSByZXZlbmlyIGRhbnMgbGUgculwZXJ0b2lyZSBkJ29yaWdpbmUuIgoKIzogbWFpbi5jOjIwMjQKIywgYy1mb3JtYXQKbXNnaWQgIlJlLWV4ZWN1dGluZ1sldV06Igptc2dzdHIgIlLpLWV46WN1dGlvblsldV06IgoKIzogbWFpbi5jOjIxNDAKbXNnaWQgInVubGluayAodGVtcG9yYXJ5IGZpbGUpOiAiCm1zZ3N0ciAidW5saW5rIChmaWNoaWVyIHRlbXBvcmFpcmUpOiIKCiM6IG1haW4uYzoyMTY5Cm1zZ2lkICIuREVGQVVMVF9HT0FMIGNvbnRhaW5zIG1vcmUgdGhhbiBvbmUgdGFyZ2V0Igptc2dzdHIgIi5ERUZBVUxUX0dPQUwgY29udGVpdG4gcGx1cyBkJ3VuZSBjaWJsZSIKCiM6IG1haW4uYzoyMTg5Cm1zZ2lkICJObyB0YXJnZXRzIHNwZWNpZmllZCBhbmQgbm8gbWFrZWZpbGUgZm91bmQiCm1zZ3N0ciAiUGFzIGRlIGNpYmxlcyBzcOljaWZp6WVzIGV0IGF1Y3VuIG1ha2VmaWxlIG4nYSDpdOkgdHJvdXbpIgoKIzogbWFpbi5jOjIxOTEKbXNnaWQgIk5vIHRhcmdldHMiCm1zZ3N0ciAiUGFzIGRlIGNpYmxlcyIKCiM6IG1haW4uYzoyMTk2Cm1zZ2lkICJVcGRhdGluZyBnb2FsIHRhcmdldHMuLi4uXG4iCm1zZ3N0ciAiTWlzZSDgIGpvdXIgZGVzIGNpYmxlcyB2aXPpZXMuLi4uXG4iCgojOiBtYWluLmM6MjIyMgptc2dpZCAid2FybmluZzogIENsb2NrIHNrZXcgZGV0ZWN0ZWQuICBZb3VyIGJ1aWxkIG1heSBiZSBpbmNvbXBsZXRlLiIKbXNnc3RyICIiCiJBVkVSVElTU0VNRU5UOiBjaGFuZ2VtZW50IGQnaG9ybG9nZSBk6XRlY3TpLiBMYSBjb25zdHJ1Y3Rpb24gcGV1dCDqdHJlICIKImluY29tcGzodGUuIgoKIzogbWFpbi5jOjIzODMKIywgYy1mb3JtYXQKbXNnaWQgIlVzYWdlOiAlcyBbb3B0aW9uc10gW3RhcmdldF0gLi4uXG4iCm1zZ3N0ciAiVXNhZ2UgOiAlcyBbb3B0aW9uc10gW2NpYmxlXSAuLi5cbiIKCiM6IG1haW4uYzoyMzg5CiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiJcbiIKIlRoaXMgcHJvZ3JhbSBidWlsdCBmb3IgJXNcbiIKbXNnc3RyICIiCiJcbiIKIkNlIGxvZ2ljaWVsIGVzdCBjb25zdHJ1aXQgcG91ciAlc1xuIgoKIzogbWFpbi5jOjIzOTEKIywgYy1mb3JtYXQKbXNnaWQgIiIKIlxuIgoiVGhpcyBwcm9ncmFtIGJ1aWx0IGZvciAlcyAoJXMpXG4iCm1zZ3N0ciAiIgoiXG4iCiJDZSBsb2dpY2llbCBlc3QgY29uc3RydWl0IHBvdXIgJXMgKCVzKVxuIgoKIzogbWFpbi5jOjIzOTQKIywgYy1mb3JtYXQKbXNnaWQgIlJlcG9ydCBidWdzIHRvIDxidWctbWFrZUBnbnUub3JnPlxuIgptc2dzdHIgIlJhcHBvcnRlciB0b3V0ZXMgYW5vbWFsaWVzIOAgIDxidWctbWFrZUBnbnUub3JnPi5cbiIKCiM6IG1haW4uYzoyNDY2CiMsIGMtZm9ybWF0Cm1zZ2lkICJ0aGUgYC0lYycgb3B0aW9uIHJlcXVpcmVzIGEgbm9uLWVtcHR5IHN0cmluZyBhcmd1bWVudCIKbXNnc3RyICJsJ29wdGlvbiCrIC0lYyC7IHJlcXVpZXJ0IHVuZSBjaGHubmUgbm9uIHZpZGUgY29tbWUgYXJndW1lbnQiCgojOiBtYWluLmM6MjUxOAojLCBjLWZvcm1hdAptc2dpZCAidGhlIGAtJWMnIG9wdGlvbiByZXF1aXJlcyBhIHBvc2l0aXZlIGludGVncmFsIGFyZ3VtZW50Igptc2dzdHIgImwnb3B0aW9uIKsgLSVjILsgcHJlbmQgZW4gYXJndW1lbnQgdW4gZW50aWVyIHBvc2l0aWYiCgojOiBtYWluLmM6Mjk0MgojLCBjLWZvcm1hdAptc2dpZCAiIgoiJXNUaGlzIGlzIGZyZWUgc29mdHdhcmU7IHNlZSB0aGUgc291cmNlIGZvciBjb3B5aW5nIGNvbmRpdGlvbnMuXG4iCiIlc1RoZXJlIGlzIE5PIHdhcnJhbnR5OyBub3QgZXZlbiBmb3IgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEFcbiIKIiVzUEFSVElDVUxBUiBQVVJQT1NFLlxuIgptc2dzdHIgIiIKIiVzQ2VjaSBlc3QgdW4gbG9naWNpZWwgbGlicmUgOyB2b2lyIGxlIHNvdXJjZSBwb3VyIGxlcyBjb25kaXRpb25zIGRlIGNvcGllLlxuIgoiJXNJbCBuJ3kgYSBQQVMgZGUgZ2FyYW50aWUgOyB0YW50IHBvdXIgdW5lIHV0aWxpc2F0aW9uIENPTU1FUkNJQUxFIHF1ZSBwb3VyXG4iCiIlc1LJUE9ORFJFIMAgVU4gQkVTT0lOIFBBUlRJQ1VMSUVSLlxuIgoKIzogbWFpbi5jOjI5NDgKIywgYy1mb3JtYXQKbXNnaWQgIiIKIlxuIgoiJXNUaGlzIHByb2dyYW0gYnVpbHQgZm9yICVzXG4iCm1zZ3N0ciAiIgoiXG4iCiIlc0NlIGxvZ2ljaWVsIGVzdCBjb25zdHJ1aXQgcG91ciAlc1xuIgoKIzogbWFpbi5jOjI5NTAKIywgYy1mb3JtYXQKbXNnaWQgIiIKIlxuIgoiJXNUaGlzIHByb2dyYW0gYnVpbHQgZm9yICVzICglcylcbiIKbXNnc3RyICIiCiJcbiIKIiVzQ2UgbG9naWNpZWwgZXN0IGNvbnN0cnVpdCBwb3VyICVzICglcylcbiIKCiM6IG1haW4uYzoyOTY4CiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiJcbiIKIiMgTWFrZSBkYXRhIGJhc2UsIHByaW50ZWQgb24gJXMiCm1zZ3N0ciAiIgoiXG4iCiIjIEJhc2UgZGUgZG9ubullcyBkZSBNYWtlLCBpbXByaW3pZSBsZSAlcyIKCiM6IG1haW4uYzoyOTc4CiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiJcbiIKIiMgRmluaXNoZWQgTWFrZSBkYXRhIGJhc2Ugb24gJXNcbiIKbXNnc3RyICIiCiJcbiIKIiMgRmluIGRlIGxhIGJhc2UgZGUgZG9ubullcyBkZSBNYWtlIGxlICVzXG4iCgojOiBtYWluLmM6MzEwMQojLCBjLWZvcm1hdAptc2dpZCAiJXM6IEVudGVyaW5nIGFuIHVua25vd24gZGlyZWN0b3J5XG4iCm1zZ3N0ciAiJXM6IGVudHJhbnQgZGFucyB1biBy6XBlcnRvaXJlIGluY29ubnVcbiIKCiM6IG1haW4uYzozMTAzCiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogTGVhdmluZyBhbiB1bmtub3duIGRpcmVjdG9yeVxuIgptc2dzdHIgIiVzOiBxdWl0dGFudCB1biBy6XBlcnRvaXJlIGluY29ubnVcbiIKCiM6IG1haW4uYzozMTA2CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogRW50ZXJpbmcgZGlyZWN0b3J5IGAlcydcbiIKbXNnc3RyICIlczogZW50cmFudCBkYW5zIGxlIHLpcGVydG9pcmUgqyAlcyC7XG4iCgojOiBtYWluLmM6MzEwOQojLCBjLWZvcm1hdAptc2dpZCAiJXM6IExlYXZpbmcgZGlyZWN0b3J5IGAlcydcbiIKbXNnc3RyICIlczogcXVpdHRhbnQgbGUgculwZXJ0b2lyZSCrICVzILtcbiIKCiM6IG1haW4uYzozMTE0CiMsIGMtZm9ybWF0Cm1zZ2lkICIlc1sldV06IEVudGVyaW5nIGFuIHVua25vd24gZGlyZWN0b3J5XG4iCm1zZ3N0ciAiJXNbJXVdOiBlbnRyYW50IGRhbnMgdW4gculwZXJ0b2lyZSBpbmNvbm51XG4iCgojOiBtYWluLmM6MzExNwojLCBjLWZvcm1hdAptc2dpZCAiJXNbJXVdOiBMZWF2aW5nIGFuIHVua25vd24gZGlyZWN0b3J5XG4iCm1zZ3N0ciAiJXNbJXVdOiBxdWl0dGFudCB1biBy6XBlcnRvaXJlIGluY29ubnVcbiIKCiM6IG1haW4uYzozMTIxCiMsIGMtZm9ybWF0Cm1zZ2lkICIlc1sldV06IEVudGVyaW5nIGRpcmVjdG9yeSBgJXMnXG4iCm1zZ3N0ciAiJXNbJXVdOiBlbnRyYW50IGRhbnMgbGUgculwZXJ0b2lyZSCrICVzILtcbiIKCiM6IG1haW4uYzozMTI0CiMsIGMtZm9ybWF0Cm1zZ2lkICIlc1sldV06IExlYXZpbmcgZGlyZWN0b3J5IGAlcydcbiIKbXNnc3RyICIlc1sldV06IHF1aXR0YW50IGxlIHLpcGVydG9pcmUgqyAlcyC7XG4iCgojOiBtaXNjLmM6Mjg1Cm1zZ2lkICIuICBTdG9wLlxuIgptc2dzdHIgIi4gQXJy6nQuXG4iCgojOiBtaXNjLmM6MzA2CiMsIGMtZm9ybWF0Cm1zZ2lkICJVbmtub3duIGVycm9yICVkIgptc2dzdHIgIkVycmV1ciBpbmNvbm51ZSAlZCIKCiM6IG1pc2MuYzozMTYKIywgYy1mb3JtYXQKbXNnaWQgIiVzJXM6ICVzIgptc2dzdHIgIiVzJXM6ICVzIgoKIzogbWlzYy5jOjMyNAojLCBjLWZvcm1hdAptc2dpZCAiJXM6ICVzIgptc2dzdHIgIiVzOiAlcyIKCiM6IG1pc2MuYzozNDQgbWlzYy5jOjM1OSBtaXNjLmM6Mzc2IHJlYWQuYzozMTI3Cm1zZ2lkICJ2aXJ0dWFsIG1lbW9yeSBleGhhdXN0ZWQiCm1zZ3N0ciAibeltb2lyZSB2aXJ0dWVsbGUg6XB1aXPpZSIKCiM6IG1pc2MuYzo2NDYKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiB1c2VyICVsdSAocmVhbCAlbHUpLCBncm91cCAlbHUgKHJlYWwgJWx1KVxuIgptc2dzdHIgIiVzOiB1dGlsaXNhdGV1ciAlbHUgKHJl6WwgJWx1KSwgZ3JvdXBlICVsdSAocullbCAlbHUpXG4iCgojOiBtaXNjLmM6NjY3Cm1zZ2lkICJJbml0aWFsaXplZCBhY2Nlc3MiCm1zZ3N0ciAiQWNj6HMgaW5pdGlhbGlz6SIKCiM6IG1pc2MuYzo3NDYKbXNnaWQgIlVzZXIgYWNjZXNzIgptc2dzdHIgIkFjY+hzIHV0aWxpc2F0ZXVyIgoKIzogbWlzYy5jOjc5NAptc2dpZCAiTWFrZSBhY2Nlc3MiCm1zZ3N0ciAiQWNj6HMgZGUgTWFrZSIKCiM6IG1pc2MuYzo4MjgKbXNnaWQgIkNoaWxkIGFjY2VzcyIKbXNnc3RyICJBY2PocyBkZXMgZmlscyIKCiM6IG1pc2MuYzo4OTIKIywgYy1mb3JtYXQKbXNnaWQgIndyaXRlIGVycm9yOiAlcyIKbXNnc3RyICJFcnJldXIgZCfpY3JpdHVyZTogJXMiCgojOiBtaXNjLmM6ODk0Cm1zZ2lkICJ3cml0ZSBlcnJvciIKbXNnc3RyICJlcnJldXIgZCfpY3JpdHVyZSIKCiM6IHJlYWQuYzoxNjAKbXNnaWQgIlJlYWRpbmcgbWFrZWZpbGVzLi4uXG4iCm1zZ3N0ciAiTGVjdHVyZSBkZXMgbWFrZWZpbGVzLi4uXG4iCgojOiByZWFkLmM6MzE1CiMsIGMtZm9ybWF0Cm1zZ2lkICJSZWFkaW5nIG1ha2VmaWxlIGAlcyciCm1zZ3N0ciAiTGVjdHVyZSBkdSBtYWtlZmlsZSCrICVzILsiCgojOiByZWFkLmM6MzE3CiMsIGMtZm9ybWF0Cm1zZ2lkICIgKG5vIGRlZmF1bHQgZ29hbCkiCm1zZ3N0ciAiIChwYXMgZGUgY2libGUgcGFyIGTpZmF1dCkiCgojOiByZWFkLmM6MzE5CiMsIGMtZm9ybWF0Cm1zZ2lkICIgKHNlYXJjaCBwYXRoKSIKbXNnc3RyICIgKGNoZW1pbiBkZSByZWNoZXJjaGUpIgoKIzogcmVhZC5jOjMyMQojLCBjLWZvcm1hdAptc2dpZCAiIChkb24ndCBjYXJlKSIKbXNnc3RyICIgKG4naW1wb3J0ZSBwYXMpIgoKIzogcmVhZC5jOjMyMwojLCBjLWZvcm1hdAptc2dpZCAiIChubyB+IGV4cGFuc2lvbikiCm1zZ3N0ciAiIChwYXMgZGUgcmVtcGxhY2VtZW50IGR1IH4pIgoKIzogcmVhZC5jOjYyMwptc2dpZCAiaW52YWxpZCBzeW50YXggaW4gY29uZGl0aW9uYWwiCm1zZ3N0ciAic3ludGF4ZSBpbnZhbGlkZSBkYW5zIGxhIGNvbmRpdGlvbiIKCiM6IHJlYWQuYzo2MzMKbXNnaWQgImV4dHJhbmVvdXMgYGVuZGVmJyIKbXNnc3RyICKrIGVuZGVmILsgc3VwZXJmbHUiCgojOiByZWFkLmM6NjQ1IHJlYWQuYzo2NzMgdmFyaWFibGUuYzoxMzE2Cm1zZ2lkICJlbXB0eSB2YXJpYWJsZSBuYW1lIgptc2dzdHIgIm5vbSBkZSB2YXJpYWJsZSB2aWRlIgoKIzogcmVhZC5jOjY2Mgptc2dpZCAiZW1wdHkgYG92ZXJyaWRlJyBkaXJlY3RpdmUiCm1zZ3N0ciAiZGlyZWN0aXZlIKsgb3ZlcnJpZGUguyB2aWRlIgoKIzogcmVhZC5jOjY4Nwptc2dpZCAiaW52YWxpZCBgb3ZlcnJpZGUnIGRpcmVjdGl2ZSIKbXNnc3RyICJkaXJlY3RpdmUgqyBvdmVycmlkZSC7IGludmFsaWRlIgoKIzogcmVhZC5jOjg1NAptc2dpZCAiY29tbWFuZHMgY29tbWVuY2UgYmVmb3JlIGZpcnN0IHRhcmdldCIKbXNnc3RyICJsZXMgY29tbWFuZGVzIGNvbW1lbmNlbnQgYXZhbnQgbGEgcHJlbWnocmUgY2libGUiCgojOiByZWFkLmM6OTA1Cm1zZ2lkICJtaXNzaW5nIHJ1bGUgYmVmb3JlIGNvbW1hbmRzIgptc2dzdHIgInLoZ2xlIG1hbnF1YW50ZSBhdmFudCBsZXMgY29tbWFuZGVzIgoKIzogcmVhZC5jOjk5MgojLCBjLWZvcm1hdAptc2dpZCAibWlzc2luZyBzZXBhcmF0b3IlcyIKbXNnc3RyICJz6XBhcmF0ZXVyIG1hbnF1YW50ICVzIgoKIzogcmVhZC5jOjk5NAptc2dpZCAiIChkaWQgeW91IG1lYW4gVEFCIGluc3RlYWQgb2YgOCBzcGFjZXM/KSIKbXNnc3RyICIgKHZvdWxlei12b3VzIGRpcmUgVEFCIGF1IGxpZXUgZGUgOCBibGFuY3MgZCdlc3BhY2VtZW50PykiCgojOiByZWFkLmM6MTE1Mgptc2dpZCAibWlzc2luZyB0YXJnZXQgcGF0dGVybiIKbXNnc3RyICJzY2jpbWEgZGUgY2libGUgbWFucXVhbnQiCgojOiByZWFkLmM6MTE1NAptc2dpZCAibXVsdGlwbGUgdGFyZ2V0IHBhdHRlcm5zIgptc2dzdHIgInNjaOltYXMgZGUgY2libGUgbXVsdGlwbGVzIgoKIzogcmVhZC5jOjExNTgKIywgYy1mb3JtYXQKbXNnaWQgInRhcmdldCBwYXR0ZXJuIGNvbnRhaW5zIG5vIGAlJSciCm1zZ3N0ciAibGUgc2No6W1hIGRlIGNpYmxlIG5lIGNvbnRpZW50IHBhcyCrICUlILsiCgojOiByZWFkLmM6MTI4Ngptc2dpZCAibWlzc2luZyBgZW5kaWYnIgptc2dzdHIgIqsgZW5kaWYguyBtYW5xdWFudCIKCiM6IHJlYWQuYzoxMzc3Cm1zZ2lkICJFeHRyYW5lb3VzIHRleHQgYWZ0ZXIgYGVuZGVmJyBkaXJlY3RpdmUiCm1zZ3N0ciAiVGV4dGUgc3VwZXJmbHUgYXBy6HMgbGEgZGlyZWN0aXZlIKsgZW5kZWYguyIKCiM6IHJlYWQuYzoxNDExCm1zZ2lkICJtaXNzaW5nIGBlbmRlZicsIHVudGVybWluYXRlZCBgZGVmaW5lJyIKbXNnc3RyICKrIGVuZGVmILsgbWFucXVhbnQsIKsgZGVmaW5lILsgbm9uIHRlcm1pbukiCgojOiByZWFkLmM6MTQ1NAojLCBjLWZvcm1hdAptc2dpZCAiRXh0cmFuZW91cyB0ZXh0IGFmdGVyIGAlcycgZGlyZWN0aXZlIgptc2dzdHIgIlRleHRlIHN1cGVyZmx1IGFwcuhzIGxhIGRpcmVjdGl2ZSCrICVzILsiCgojOiByZWFkLmM6MTQ2MyByZWFkLmM6MTQ3NwojLCBjLWZvcm1hdAptc2dpZCAiZXh0cmFuZW91cyBgJXMnIgptc2dzdHIgIqsgJXMguyBzdXBlcmZsdSIKCiM6IHJlYWQuYzoxNDgyCm1zZ2lkICJvbmx5IG9uZSBgZWxzZScgcGVyIGNvbmRpdGlvbmFsIgptc2dzdHIgInVuIHNldWwgqyBlbHNlILsgcGFyIGNvbmRpdGlvbiIKCiM6IHJlYWQuYzoxODI0Cm1zZ2lkICJNYWxmb3JtZWQgdGFyZ2V0LXNwZWNpZmljIHZhcmlhYmxlIGRlZmluaXRpb24iCm1zZ3N0ciAiROlmaW5pdGlvbiBkZSB2YXJpYWJsZSBwYXIgY2libGUgc3DpY2lmaXF1ZSBtYWwtY29tcG9z6WUiCgojOiByZWFkLmM6MTg4Ngptc2dpZCAicHJlcmVxdWlzaXRlcyBjYW5ub3QgYmUgZGVmaW5lZCBpbiBjb21tYW5kIHNjcmlwdHMiCm1zZ3N0ciAibGVzIHBy6XJlcXVpcyBuZSBwZXV2ZW50IOp0cmUgZOlmaW5pcyBkYW5zIGRlcyBzY3JpcHRzIGRlIGNvbW1hbmRlcyIKCiM6IHJlYWQuYzoxOTIxCm1zZ2lkICJtaXhlZCBpbXBsaWNpdCBhbmQgc3RhdGljIHBhdHRlcm4gcnVsZXMiCm1zZ3N0ciAibelsYW5nZSBkZSBzY2jpbWFzIGRlIHLoZ2xlcyBpbXBsaWNpdGVzIGV0IHN0YXRpcXVlcyIKCiM6IHJlYWQuYzoxOTI0Cm1zZ2lkICJtaXhlZCBpbXBsaWNpdCBhbmQgbm9ybWFsIHJ1bGVzIgptc2dzdHIgIm3pbGFuZ2UgZGUgcuhnbGVzIGltcGxpY2l0ZXMgZXQgbm9ybWFsZXMiCgojOiByZWFkLmM6MTk1NAojLCBjLWZvcm1hdAptc2dpZCAidGFyZ2V0IGAlcycgZG9lc24ndCBtYXRjaCB0aGUgdGFyZ2V0IHBhdHRlcm4iCm1zZ3N0ciAibGEgY2libGUgqyAlcyC7IG5lIGNvcnJlc3BvbmQgcGFzIGF1IHNjaOltYSBkZSBjaWJsZSIKCiM6IHJlYWQuYzoxOTczIHJlYWQuYzoyMDc0CiMsIGMtZm9ybWF0Cm1zZ2lkICJ0YXJnZXQgZmlsZSBgJXMnIGhhcyBib3RoIDogYW5kIDo6IGVudHJpZXMiCm1zZ3N0ciAibGUgZmljaGllciBjaWJsZSCrICVzILsgYSDgIGxhIGZvaXMgZGVzIGVudHLpZXMgOiBldCA6OiIKCiM6IHJlYWQuYzoxOTc5CiMsIGMtZm9ybWF0Cm1zZ2lkICJ0YXJnZXQgYCVzJyBnaXZlbiBtb3JlIHRoYW4gb25jZSBpbiB0aGUgc2FtZSBydWxlLiIKbXNnc3RyICJsYSBjaWJsZSCrICVzILsgYXBwYXJh7nQgcGx1cyBkJ3VuZSBmb2lzIGRhbnMgbGEgbeptZSBy6GdsZS4iCgojOiByZWFkLmM6MTk4OAojLCBjLWZvcm1hdAptc2dpZCAid2FybmluZzogb3ZlcnJpZGluZyBjb21tYW5kcyBmb3IgdGFyZ2V0IGAlcyciCm1zZ3N0ciAiYXR0ZW50aW9uIDog6WNyYXNlbWVudCBkZXMgY29tbWFuZGVzIHBvdXIgbGEgY2libGUgqyAlcyC7IgoKIzogcmVhZC5jOjE5OTEKIywgYy1mb3JtYXQKbXNnaWQgIndhcm5pbmc6IGlnbm9yaW5nIG9sZCBjb21tYW5kcyBmb3IgdGFyZ2V0IGAlcyciCm1zZ3N0ciAiYXR0ZW50aW9uIDogYW5jaWVubmVzIGNvbW1hbmRlcyBpZ25vcullcyBwb3VyIGxhIGNpYmxlIKsgJXMguyIKCiM6IHJlYWQuYzoyNTc1Cm1zZ2lkICJ3YXJuaW5nOiBOVUwgY2hhcmFjdGVyIHNlZW47IHJlc3Qgb2YgbGluZSBpZ25vcmVkIgptc2dzdHIgImF0dGVudGlvbiA6IGNhcmFjdOhyZSBOVUwgZOl0ZWN06SA7IGxlIHJlc3RlIGRlIGxhIGxpZ25lIGVzdCBpZ25vcukiCgojOiByZW1ha2UuYzoyMjkKIywgYy1mb3JtYXQKbXNnaWQgIk5vdGhpbmcgdG8gYmUgZG9uZSBmb3IgYCVzJy4iCm1zZ3N0ciAiUmllbiDgIGZhaXJlIHBvdXIgqyAlcyC7LiIKCiM6IHJlbWFrZS5jOjIzMAojLCBjLWZvcm1hdAptc2dpZCAiYCVzJyBpcyB1cCB0byBkYXRlLiIKbXNnc3RyICKrICVzILsgZXN0IOAgam91ci4iCgojOiByZW1ha2UuYzoyOTcKIywgYy1mb3JtYXQKbXNnaWQgIlBydW5pbmcgZmlsZSBgJXMnLlxuIgptc2dzdHIgIslsYWdhZ2UgZHUgZmljaGllciCrICVzILsuXG4iCgojOiByZW1ha2UuYzozNDkKIywgYy1mb3JtYXQKbXNnaWQgIiVzTm8gcnVsZSB0byBtYWtlIHRhcmdldCBgJXMnJXMiCm1zZ3N0ciAiJXNQYXMgZGUgcuhnbGUgcG91ciBmYWJyaXF1ZXIgbGEgY2libGUgqyAlcyC7JXMiCgojOiByZW1ha2UuYzozNTEKIywgYy1mb3JtYXQKbXNnaWQgIiVzTm8gcnVsZSB0byBtYWtlIHRhcmdldCBgJXMnLCBuZWVkZWQgYnkgYCVzJyVzIgptc2dzdHIgIiIKIiVzUGFzIGRlIHLoZ2xlIHBvdXIgZmFicmlxdWVyIGxhIGNpYmxlIKsgJXMguywgbuljZXNzYWlyZSBwb3VyIKsgJXMguyVzIgoKIzogcmVtYWtlLmM6Mzc4CiMsIGMtZm9ybWF0Cm1zZ2lkICJDb25zaWRlcmluZyB0YXJnZXQgZmlsZSBgJXMnLlxuIgptc2dzdHIgIsl0dWRlIGR1IGZpY2hpZXIgY2libGUgqyAlcyC7LlxuIgoKIzogcmVtYWtlLmM6Mzg1CiMsIGMtZm9ybWF0Cm1zZ2lkICJSZWNlbnRseSB0cmllZCBhbmQgZmFpbGVkIHRvIHVwZGF0ZSBmaWxlIGAlcycuXG4iCm1zZ3N0ciAiVGVudGF0aXZlIHLpY2VudGUg6WNob3XpZSBkZSBtZXR0cmUg4CBqb3VyIGxlIGZpY2hpZXIgqyAlcyC7LlxuIgoKIzogcmVtYWtlLmM6NDAwCiMsIGMtZm9ybWF0Cm1zZ2lkICJGaWxlIGAlcycgd2FzIGNvbnNpZGVyZWQgYWxyZWFkeS5cbiIKbXNnc3RyICJMZSBmaWNoaWVyIKsgJXMguyBhIGTpauAg6XTpIOl0dWRp6S5cbiIKCiM6IHJlbWFrZS5jOjQxMAojLCBjLWZvcm1hdAptc2dpZCAiU3RpbGwgdXBkYXRpbmcgZmlsZSBgJXMnLlxuIgptc2dzdHIgIk1pc2Ug4CBqb3VyIGR1IGZpY2hpZXIgqyAlcyC7IGVuIGNvdXJzLlxuIgoKIzogcmVtYWtlLmM6NDEzCiMsIGMtZm9ybWF0Cm1zZ2lkICJGaW5pc2hlZCB1cGRhdGluZyBmaWxlIGAlcycuXG4iCm1zZ3N0ciAiRmluIGRlIGxhIG1pc2Ug4CBqb3VyIGR1IGZpY2hpZXIgqyAlcyC7LlxuIgoKIzogcmVtYWtlLmM6NDM0CiMsIGMtZm9ybWF0Cm1zZ2lkICJGaWxlIGAlcycgZG9lcyBub3QgZXhpc3QuXG4iCm1zZ3N0ciAiTGUgZmljaGllciCrICVzILsgbidleGlzdGUgcGFzLlxuIgoKIzogcmVtYWtlLmM6NDQxCiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiIqKiogV2FybmluZzogLkxPV19SRVNPTFVUSU9OX1RJTUUgZmlsZSBgJXMnIGhhcyBhIGhpZ2ggcmVzb2x1dGlvbiB0aW1lIHN0YW1wIgptc2dzdHIgIiIKIkFWRVJUSVNTRU1FTlQ6IGZpY2hpZXIgLkxPV19SRVNPTFVUSU9OX1RJTUUgqyAlcyC7IGEgdW5lIGRhdGUgZGUgaGF1dGUgIgoiculzb2x1dGlvbiIKCiM6IHJlbWFrZS5jOjQ1NCByZW1ha2UuYzo5NjIKIywgYy1mb3JtYXQKbXNnaWQgIkZvdW5kIGFuIGltcGxpY2l0IHJ1bGUgZm9yIGAlcycuXG4iCm1zZ3N0ciAiUuhnbGUgaW1wbGljaXRlIHRyb3V26WUgcG91ciCrICVzILsuXG4iCgojOiByZW1ha2UuYzo0NTYgcmVtYWtlLmM6OTY0CiMsIGMtZm9ybWF0Cm1zZ2lkICJObyBpbXBsaWNpdCBydWxlIGZvdW5kIGZvciBgJXMnLlxuIgptc2dzdHIgIlBhcyBkZSBy6GdsZSBpbXBsaWNpdGUgdHJvdXbpZSBwb3VyIKsgJXMguy5cbiIKCiM6IHJlbWFrZS5jOjQ2MiByZW1ha2UuYzo5NzAKIywgYy1mb3JtYXQKbXNnaWQgIlVzaW5nIGRlZmF1bHQgY29tbWFuZHMgZm9yIGAlcycuXG4iCm1zZ3N0ciAiVXRpbGlzYXRpb24gZGVzIGNvbW1hbmRlcyBwYXIgZOlmYXV0IHBvdXIgqyAlcyC7LlxuIgoKIzogcmVtYWtlLmM6NDg0IHJlbWFrZS5jOjk5NgojLCBjLWZvcm1hdAptc2dpZCAiQ2lyY3VsYXIgJXMgPC0gJXMgZGVwZW5kZW5jeSBkcm9wcGVkLiIKbXNnc3RyICJE6XBlbmRhbmNlIGNpcmN1bGFpcmUgJXMgPC0gJXMgYWJhbmRvbm7pZS4iCgojOiByZW1ha2UuYzo2MDEKIywgYy1mb3JtYXQKbXNnaWQgIkZpbmlzaGVkIHByZXJlcXVpc2l0ZXMgb2YgdGFyZ2V0IGZpbGUgYCVzJy5cbiIKbXNnc3RyICJGaW4gZGVzIGTpcGVuZGFuY2VzIGR1IGZpY2hpZXIgY2libGUgqyAlcyC7LlxuIgoKIzogcmVtYWtlLmM6NjA3CiMsIGMtZm9ybWF0Cm1zZ2lkICJUaGUgcHJlcmVxdWlzaXRlcyBvZiBgJXMnIGFyZSBiZWluZyBtYWRlLlxuIgptc2dzdHIgIkxlcyBk6XBlbmRhbmNlcyBkZSCrICVzILsgb250IOl06SBmYWJyaXF16WVzLlxuIgoKIzogcmVtYWtlLmM6NjIwCiMsIGMtZm9ybWF0Cm1zZ2lkICJHaXZpbmcgdXAgb24gdGFyZ2V0IGZpbGUgYCVzJy5cbiIKbXNnc3RyICJBYmFuZG9uIGR1IGZpY2hpZXIgY2libGUgqyAlcyC7LlxuIgoKIzogcmVtYWtlLmM6NjI1CiMsIGMtZm9ybWF0Cm1zZ2lkICJUYXJnZXQgYCVzJyBub3QgcmVtYWRlIGJlY2F1c2Ugb2YgZXJyb3JzLiIKbXNnc3RyICJMYSBjaWJsZSCrICVzILsgbidhIHBhcyBwdSDqdHJlIHJlZmFicmlxdellIOAgY2F1c2UgZCdlcnJldXJzLiIKCiM6IHJlbWFrZS5jOjY3NwojLCBjLWZvcm1hdAptc2dpZCAiUHJlcmVxdWlzaXRlIGAlcycgaXMgb3JkZXItb25seSBmb3IgdGFyZ2V0IGAlcycuXG4iCm1zZ3N0ciAiUHLpcmVxdWlzIKsgJXMguyBlc3QgZCdvcmRyZSBzZXVsZW1lbnQgcG91ciBsYSBjaWJsZSCrICVzILsuXG4iCgojOiByZW1ha2UuYzo2ODIKIywgYy1mb3JtYXQKbXNnaWQgIlByZXJlcXVpc2l0ZSBgJXMnIG9mIHRhcmdldCBgJXMnIGRvZXMgbm90IGV4aXN0LlxuIgptc2dzdHIgIkxlIGZpY2hpZXIgZGUgZOlwZW5kYW5jZSCrICVzILsgZGUgbGEgY2libGUgqyAlcyC7IG4nZXhpc3RlIHBhcy5cbiIKCiM6IHJlbWFrZS5jOjY4NwojLCBjLWZvcm1hdAptc2dpZCAiUHJlcmVxdWlzaXRlIGAlcycgaXMgbmV3ZXIgdGhhbiB0YXJnZXQgYCVzJy5cbiIKbXNnc3RyICJMYSBk6XBlbmRhbmNlIKsgJXMguyBlc3QgcGx1cyBy6WNlbnRlIHF1ZSBsYSBjaWxlIKsgJXMguy5cbiIKCiM6IHJlbWFrZS5jOjY5MAojLCBjLWZvcm1hdAptc2dpZCAiUHJlcmVxdWlzaXRlIGAlcycgaXMgb2xkZXIgdGhhbiB0YXJnZXQgYCVzJy5cbiIKbXNnc3RyICJMYSBk6XBlbmRhbmNlIKsgJXMguyBlc3QgdmlldXggcXVlIGxhIGNpYmxlIKsgJXMguy5cbiIKCiM6IHJlbWFrZS5jOjcwOAojLCBjLWZvcm1hdAptc2dpZCAiVGFyZ2V0IGAlcycgaXMgZG91YmxlLWNvbG9uIGFuZCBoYXMgbm8gcHJlcmVxdWlzaXRlcy5cbiIKbXNnc3RyICJMYSBjaWJsZSCrICVzILsgZXN0IGRvdWJsZSBkZXV4LXBvaW50cyBldCBuJ2EgcGFzIGRlIGTpcGVuZGFuY2VzLlxuIgoKIzogcmVtYWtlLmM6NzE1CiMsIGMtZm9ybWF0Cm1zZ2lkICJObyBjb21tYW5kcyBmb3IgYCVzJyBhbmQgbm8gcHJlcmVxdWlzaXRlcyBhY3R1YWxseSBjaGFuZ2VkLlxuIgptc2dzdHIgIlBhcyBkZSBjb21tYW5kZXMgcG91ciCrICVzILsgZXQgYXVjdW5lIGTpcGVuZGFuY2UgbidhIGNoYW5n6S5cbiIKCiM6IHJlbWFrZS5jOjcyMAojLCBjLWZvcm1hdAptc2dpZCAiTWFraW5nIGAlcycgZHVlIHRvIGFsd2F5cy1tYWtlIGZsYWcuXG4iCm1zZ3N0ciAiVHJhaXRlbWVudCBkZSCrICVzILsgZW4gcmFpc29uIGR1IGZhbmlvbiBkZSBjb25zdHJ1Y3Rpb24gcGVybWFuZW50LlxuIgoKIzogcmVtYWtlLmM6NzI4CiMsIGMtZm9ybWF0Cm1zZ2lkICJObyBuZWVkIHRvIHJlbWFrZSB0YXJnZXQgYCVzJyIKbXNnc3RyICJJbnV0aWxlIGRlIHJlZmFicmlxdWVyIGxhIGNpYmxlIKsgJXMguy4iCgojOiByZW1ha2UuYzo3MzAKIywgYy1mb3JtYXQKbXNnaWQgIjsgdXNpbmcgVlBBVEggbmFtZSBgJXMnIgptc2dzdHIgIjsgdXRpbGlzYXRpb24gZHUgbm9tIKsgJXMguyBkdSBWUEFUSCIKCiM6IHJlbWFrZS5jOjc1MAojLCBjLWZvcm1hdAptc2dpZCAiTXVzdCByZW1ha2UgdGFyZ2V0IGAlcycuXG4iCm1zZ3N0ciAiSWwgZmF1dCByZWZhYnJpcXVlciBsYSBjaWJsZSCrICVzILsuXG4iCgojOiByZW1ha2UuYzo3NTYKIywgYy1mb3JtYXQKbXNnaWQgIiAgSWdub3JpbmcgVlBBVEggbmFtZSBgJXMnLlxuIgptc2dzdHIgIiBJZ25vcmVyIGxlIG5vbSCrICVzILsgZHUgVlBBVEguXG4iCgojOiByZW1ha2UuYzo3NjUKIywgYy1mb3JtYXQKbXNnaWQgIkNvbW1hbmRzIG9mIGAlcycgYXJlIGJlaW5nIHJ1bi5cbiIKbXNnc3RyICJMZXMgY29tbWFuZGVzIGRlIKsgJXMguyBzb250IGVuIGNvdXJzIGQnZXjpY3V0aW9uLlxuIgoKIzogcmVtYWtlLmM6NzcyCiMsIGMtZm9ybWF0Cm1zZ2lkICJGYWlsZWQgdG8gcmVtYWtlIHRhcmdldCBmaWxlIGAlcycuXG4iCm1zZ3N0ciAiyWNoZWMgZGUgcmVmYWJyaWNhdGlvbiBkdSBmaWNoaWVyIGNpYmxlIKsgJXMguy5cbiIKCiM6IHJlbWFrZS5jOjc3NQojLCBjLWZvcm1hdAptc2dpZCAiU3VjY2Vzc2Z1bGx5IHJlbWFkZSB0YXJnZXQgZmlsZSBgJXMnLlxuIgptc2dzdHIgIlJlZmFicmljYXRpb24gZHUgZmljaGllciBjaWJsZSCrICVzILsgcul1c3NpZS5cbiIKCiM6IHJlbWFrZS5jOjc3OAojLCBjLWZvcm1hdAptc2dpZCAiVGFyZ2V0IGZpbGUgYCVzJyBuZWVkcyByZW1hZGUgdW5kZXIgLXEuXG4iCm1zZ3N0ciAiTGUgZmljaGllciBjaWJsZSCrICVzILsgYSBiZXNvaW4gZCfqdHJlIHJlZmFicmlxdekgYXZlYyBsJ29wdGlvbiAtcS5cbiIKCiM6IHJlbWFrZS5jOjEzMDYKIywgYy1mb3JtYXQKbXNnaWQgIldhcm5pbmc6IEZpbGUgYCVzJyBoYXMgbW9kaWZpY2F0aW9uIHRpbWUgaW4gdGhlIGZ1dHVyZSIKbXNnc3RyICJBVkVSVElTU0VNRU5UOiBmaWNoaWVyIKsgJXMguyBhIHVuZSBkYXRlIGRlIG1vZGlmaWNhdGlvbiBkYW5zIGxlIGZ1dHVyIgoKIzogcmVtYWtlLmM6MTMxMwojLCBjLWZvcm1hdAptc2dpZCAiV2FybmluZzogRmlsZSBgJXMnIGhhcyBtb2RpZmljYXRpb24gdGltZSAlLjJnIHMgaW4gdGhlIGZ1dHVyZSIKbXNnc3RyICIiCiJBVkVSVElTU0VNRU5UOiBmaWNoaWVyIKsgJXMguyBhIHVuZSBkYXRlIGRlIG1vZGlmaWNhdGlvbiAlLjJnIGRhbnMgbGUgZnV0dXIiCgojOiByZW1ha2UuYzoxNTExCiMsIGMtZm9ybWF0Cm1zZ2lkICIuTElCUEFUVEVSTlMgZWxlbWVudCBgJXMnIGlzIG5vdCBhIHBhdHRlcm4iCm1zZ3N0ciAiLkxJQlBBVFRFUk5TOiBsJ+ls6W1lbnQgqyAlcyC7IG4nZXN0IHBhcyB1biBtb2TobGUiCgojOiByZW1vdGUtY3N0bXMuYzoxMjUKIywgYy1mb3JtYXQKbXNnaWQgIkN1c3RvbXMgd29uJ3QgZXhwb3J0OiAlc1xuIgptc2dzdHIgIkxhIGRvdWFuZSBuJ2V4cG9ydGVyYSBwYXMgOiAlc1xuIgoKIzogcnVsZS5jOjU0OAptc2dpZCAiIgoiXG4iCiIjIEltcGxpY2l0IFJ1bGVzIgptc2dzdHIgIiIKIlxuIgoiIyBS6WdsZXMgSW1wbGljaXRlcyIKCiM6IHJ1bGUuYzo1NjMKbXNnaWQgIiIKIlxuIgoiIyBObyBpbXBsaWNpdCBydWxlcy4iCm1zZ3N0ciAiIgoiXG4iCiIjIFBhcyBkZSBy6GdsZXMgaW1wbGljaXRlcy4iCgojOiBydWxlLmM6NTY2CiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiJcbiIKIiMgJXUgaW1wbGljaXQgcnVsZXMsICV1Igptc2dzdHIgIiIKIlxuIgoiIyAldSBy6GdsZXMgaW1wbGljaXRlcywgJXUiCgojOiBydWxlLmM6NTc1Cm1zZ2lkICIgdGVybWluYWwuIgptc2dzdHIgIiB0ZXJtaW5hbGVzLiIKCiM6IHJ1bGUuYzo1ODMKIywgYy1mb3JtYXQKbXNnaWQgIkJVRzogbnVtX3BhdHRlcm5fcnVsZXMgd3JvbmchICAldSAhPSAldSIKbXNnc3RyICJCVUcgOiBudW1fcGF0dGVybl9ydWxlcyBlc3QgZmF1eCAhICAldSAhPSAldSIKCiM6IHNpZ25hbWUuYzo4NQptc2dpZCAidW5rbm93biBzaWduYWwiCm1zZ3N0ciAic2lnbmFsIGluY29ubnUiCgojOiBzaWduYW1lLmM6OTMKbXNnaWQgIkhhbmd1cCIKbXNnc3RyICJSYWNjcm9jaOkiCgojOiBzaWduYW1lLmM6OTYKbXNnaWQgIkludGVycnVwdCIKbXNnc3RyICJJbnRlcnJ1cHRpb24iCgojOiBzaWduYW1lLmM6OTkKbXNnaWQgIlF1aXQiCm1zZ3N0ciAiUXVpdHRlIgoKIzogc2lnbmFtZS5jOjEwMgptc2dpZCAiSWxsZWdhbCBJbnN0cnVjdGlvbiIKbXNnc3RyICJJbnN0cnVjdGlvbiBJbGzpZ2FsZSIKCiM6IHNpZ25hbWUuYzoxMDUKbXNnaWQgIlRyYWNlL2JyZWFrcG9pbnQgdHJhcCIKbXNnc3RyICJQb2ludCBkZSB0cmFjZS9hcnLqdCIKCiM6IHNpZ25hbWUuYzoxMTAKbXNnaWQgIkFib3J0ZWQiCm1zZ3N0ciAiQXZvcnTpIgoKIzogc2lnbmFtZS5jOjExMwptc2dpZCAiSU9UIHRyYXAiCm1zZ3N0ciAiQXBwZWwgSU9UIgoKIzogc2lnbmFtZS5jOjExNgptc2dpZCAiRU1UIHRyYXAiCm1zZ3N0ciAiQXBwZWwg6W11bGF0ZXVyIgoKIzogc2lnbmFtZS5jOjExOQptc2dpZCAiRmxvYXRpbmcgcG9pbnQgZXhjZXB0aW9uIgptc2dzdHIgIkV4Y2VwdGlvbiBudW3pcmlxdWUiCgojOiBzaWduYW1lLmM6MTIyCm1zZ2lkICJLaWxsZWQiCm1zZ3N0ciAiVHXpIgoKIzogc2lnbmFtZS5jOjEyNQptc2dpZCAiQnVzIGVycm9yIgptc2dzdHIgIkVycmV1ciBkZSBidXMiCgojOiBzaWduYW1lLmM6MTI4Cm1zZ2lkICJTZWdtZW50YXRpb24gZmF1bHQiCm1zZ3N0ciAiRXJyZXVyIGRlIHNlZ21lbnRhdGlvbiIKCiM6IHNpZ25hbWUuYzoxMzEKbXNnaWQgIkJhZCBzeXN0ZW0gY2FsbCIKbXNnc3RyICJBcHBlbCBzeXN06G1lIGludmFsaWRlIgoKIzogc2lnbmFtZS5jOjEzNAptc2dpZCAiQnJva2VuIHBpcGUiCm1zZ3N0ciAiVHViZSBjYXNz6SIKCiM6IHNpZ25hbWUuYzoxMzcKbXNnaWQgIkFsYXJtIGNsb2NrIgptc2dzdHIgIkFsYXJtZSIKCiM6IHNpZ25hbWUuYzoxNDAKbXNnaWQgIlRlcm1pbmF0ZWQiCm1zZ3N0ciAiVGVybWlu6SIKCiM6IHNpZ25hbWUuYzoxNDMKbXNnaWQgIlVzZXIgZGVmaW5lZCBzaWduYWwgMSIKbXNnc3RyICJTaWduYWwgdXRpbGlzYXRldXIgMSIKCiM6IHNpZ25hbWUuYzoxNDYKbXNnaWQgIlVzZXIgZGVmaW5lZCBzaWduYWwgMiIKbXNnc3RyICJTaWduYWwgdXRpbGlzYXRldXIgMiIKCiM6IHNpZ25hbWUuYzoxNTEgc2lnbmFtZS5jOjE1NAptc2dpZCAiQ2hpbGQgZXhpdGVkIgptc2dzdHIgIkZpbiBkJ3VuIGZpbHMiCgojOiBzaWduYW1lLmM6MTU3Cm1zZ2lkICJQb3dlciBmYWlsdXJlIgptc2dzdHIgIlBhbm5lIGRlIGNvdXJhbnQiCgojOiBzaWduYW1lLmM6MTYwCm1zZ2lkICJTdG9wcGVkIgptc2dzdHIgIkFycup06SIKCiM6IHNpZ25hbWUuYzoxNjMKbXNnaWQgIlN0b3BwZWQgKHR0eSBpbnB1dCkiCm1zZ3N0ciAiQXJy6nTpIChsZWN0dXJlIHN1ciB0dHkpIgoKIzogc2lnbmFtZS5jOjE2Ngptc2dpZCAiU3RvcHBlZCAodHR5IG91dHB1dCkiCm1zZ3N0ciAiQXJy6nTpICjpY3JpdHVyZSBzdXIgdHR5KSIKCiM6IHNpZ25hbWUuYzoxNjkKbXNnaWQgIlN0b3BwZWQgKHNpZ25hbCkiCm1zZ3N0ciAiQXJy6nTpIChzaWduYWwpIgoKIzogc2lnbmFtZS5jOjE3Mgptc2dpZCAiQ1BVIHRpbWUgbGltaXQgZXhjZWVkZWQiCm1zZ3N0ciAiTGltaXRlIGR1IHRlbXBzIENQVSBhdHRlaW50ZSIKCiM6IHNpZ25hbWUuYzoxNzUKbXNnaWQgIkZpbGUgc2l6ZSBsaW1pdCBleGNlZWRlZCIKbXNnc3RyICJMaW1pdGUgZGUgdGFpbGxlIGRlIGZpY2hpZXIgYXR0ZWludGUiCgojOiBzaWduYW1lLmM6MTc4Cm1zZ2lkICJWaXJ0dWFsIHRpbWVyIGV4cGlyZWQiCm1zZ3N0ciAiVGltZXIgdmlydHVlbCBleHBpcukiCgojOiBzaWduYW1lLmM6MTgxCm1zZ2lkICJQcm9maWxpbmcgdGltZXIgZXhwaXJlZCIKbXNnc3RyICJUaW1lciBkZSBwcm9maWxpbmcgZXhwaXLpIgoKIzogc2lnbmFtZS5jOjE4Nwptc2dpZCAiV2luZG93IGNoYW5nZWQiCm1zZ3N0ciAiQ2hhbmdlbWVudCBkZSB0YWlsbGUgZGUgbGEgZmVu6nRyZSIKCiM6IHNpZ25hbWUuYzoxOTAKbXNnaWQgIkNvbnRpbnVlZCIKbXNnc3RyICJSZXByaXNlIgoKIzogc2lnbmFtZS5jOjE5Mwptc2dpZCAiVXJnZW50IEkvTyBjb25kaXRpb24iCm1zZ3N0ciAiQ29uZGl0aW9uIGQnRS9TIHVyZ2VudGUiCgojOiBzaWduYW1lLmM6MjAwIHNpZ25hbWUuYzoyMDkKbXNnaWQgIkkvTyBwb3NzaWJsZSIKbXNnc3RyICJFL1MgcG9zc2libGUiCgojOiBzaWduYW1lLmM6MjAzCm1zZ2lkICJTSUdXSU5EIgptc2dzdHIgIlNJR1dJTkQiCgojOiBzaWduYW1lLmM6MjA2Cm1zZ2lkICJTSUdQSE9ORSIKbXNnc3RyICJTSUdQSE9ORSIKCiM6IHNpZ25hbWUuYzoyMTIKbXNnaWQgIlJlc291cmNlIGxvc3QiCm1zZ3N0ciAiUmVzc291cmNlIHBlcmR1ZSIKCiM6IHNpZ25hbWUuYzoyMTUKbXNnaWQgIkRhbmdlciBzaWduYWwiCm1zZ3N0ciAiU2lnbmFsIGRlIGRhbmdlciIKCiM6IHNpZ25hbWUuYzoyMTgKbXNnaWQgIkluZm9ybWF0aW9uIHJlcXVlc3QiCm1zZ3N0ciAiRGVtYW5kZSBkJ2luZm9ybWF0aW9ucyIKCiM6IHNpZ25hbWUuYzoyMjEKbXNnaWQgIkZsb2F0aW5nIHBvaW50IGNvLXByb2Nlc3NvciBub3QgYXZhaWxhYmxlIgptc2dzdHIgIkNvLXByb2Nlc3NldXIgZW4gdmlyZ3VsZSBmbG90dGFudGUgbidlc3QgcGFzIGRpc3BvbmlibGUiCgojOiBzdHJjYWNoZS5jOjIxMAojLCBjLWZvcm1hdAptc2dpZCAiIgoiXG4iCiIlcyAjIG9mIHN0cmluZ3MgaW4gc3RyY2FjaGU6ICVkXG4iCm1zZ3N0ciAiIgoKIzogc3RyY2FjaGUuYzoyMTEKIywgYy1mb3JtYXQKbXNnaWQgIiVzICMgb2Ygc3RyY2FjaGUgYnVmZmVyczogJWRcbiIKbXNnc3RyICIiCgojOiBzdHJjYWNoZS5jOjIxMgojLCBjLWZvcm1hdAptc2dpZCAiJXMgc3RyY2FjaGUgc2l6ZTogdG90YWwgPSAlZCAvIG1heCA9ICVkIC8gbWluID0gJWQgLyBhdmcgPSAlZFxuIgptc2dzdHIgIiIKCiM6IHN0cmNhY2hlLmM6MjE0CiMsIGMtZm9ybWF0Cm1zZ2lkICIlcyBzdHJjYWNoZSBmcmVlOiB0b3RhbCA9ICVkIC8gbWF4ID0gJWQgLyBtaW4gPSAlZCAvIGF2ZyA9ICVkXG4iCm1zZ3N0ciAiIgoKIzogdmFyaWFibGUuYzoxMzY5Cm1zZ2lkICJkZWZhdWx0Igptc2dzdHIgImTpZmF1dCIKCiM6IHZhcmlhYmxlLmM6MTM3Mgptc2dpZCAiZW52aXJvbm1lbnQiCm1zZ3N0ciAiZW52aXJvbm5lbWVudCIKCiM6IHZhcmlhYmxlLmM6MTM3NQptc2dpZCAibWFrZWZpbGUiCm1zZ3N0ciAibWFrZWZpbGUiCgojOiB2YXJpYWJsZS5jOjEzNzgKbXNnaWQgImVudmlyb25tZW50IHVuZGVyIC1lIgptc2dzdHIgImVudmlyb25uZW1lbnQgYXZlYyBsJ29wdGlvbiAtZSIKCiM6IHZhcmlhYmxlLmM6MTM4MQptc2dpZCAiY29tbWFuZCBsaW5lIgptc2dzdHIgImxpZ25lIGRlIGNvbW1hbmRlIgoKIzogdmFyaWFibGUuYzoxMzg0Cm1zZ2lkICJgb3ZlcnJpZGUnIGRpcmVjdGl2ZSIKbXNnc3RyICJkaXJlY3RpdmUgqyBvdmVycmlkZSC7IgoKIzogdmFyaWFibGUuYzoxMzg3Cm1zZ2lkICJhdXRvbWF0aWMiCm1zZ3N0ciAiYXV0b21hdGlxdWUiCgojOiB2YXJpYWJsZS5jOjEzOTYKIywgYy1mb3JtYXQKbXNnaWQgIiAoZnJvbSBgJXMnLCBsaW5lICVsdSkiCm1zZ3N0ciAiIChkZSCrICVzILssIGxpZ25lICVsdSkiCgojOiB2YXJpYWJsZS5jOjE0MzgKbXNnaWQgIiMgdmFyaWFibGUgc2V0IGhhc2gtdGFibGUgc3RhdHM6XG4iCm1zZ3N0ciAiIyB2YXJpYWJsZXMgaW5pdGlhbGlz6WVzIGRhbnMgbGVzIHN0YXRpc3RpcXVlcyBkZSB0YWJsZSBkZSBoYWNoYWdlOlxuIgoKIzogdmFyaWFibGUuYzoxNDQ5Cm1zZ2lkICIiCiJcbiIKIiMgVmFyaWFibGVzXG4iCm1zZ3N0ciAiIgoiXG4iCiIjIFZhcmlhYmxlc1xuIgoKIzogdmFyaWFibGUuYzoxNDUzCm1zZ2lkICIiCiJcbiIKIiMgUGF0dGVybi1zcGVjaWZpYyBWYXJpYWJsZSBWYWx1ZXMiCm1zZ3N0ciAiIgoiXG4iCiIjIFZhbGV1cnMgZGUgdmFyaWFibGUgYXZlYyBtb2TobGUgc3DpY2lmaXF1ZSIKCiM6IHZhcmlhYmxlLmM6MTQ2Nwptc2dpZCAiIgoiXG4iCiIjIE5vIHBhdHRlcm4tc3BlY2lmaWMgdmFyaWFibGUgdmFsdWVzLiIKbXNnc3RyICIiCiJcbiIKIiMgcGFzIGRlIHZhbGV1cnMgZGUgdmFyaWFibGUgYXZlYyBtb2TobGUgc3DpY2lmaXF1ZSIKCiM6IHZhcmlhYmxlLmM6MTQ2OQojLCBjLWZvcm1hdAptc2dpZCAiIgoiXG4iCiIjICV1IHBhdHRlcm4tc3BlY2lmaWMgdmFyaWFibGUgdmFsdWVzIgptc2dzdHIgIiIKIlxuIgoiIyAldSB2YWxldXJzIGRlIHZhcmlhYmxlIGF2ZWMgbW9k6GxlIHNw6WNpZmlxdWUgIgoKIzogdmFyaWFibGUuaDoxODkKIywgYy1mb3JtYXQKbXNnaWQgIndhcm5pbmc6IHVuZGVmaW5lZCB2YXJpYWJsZSBgJS4qcyciCm1zZ3N0ciAiYXR0ZW50aW9uIDogdmFyaWFibGUgaW5k6WZpbmllIKsgJS4qcyC7IgoKIzogdm1zZnVuY3Rpb25zLmM6OTQKIywgYy1mb3JtYXQKbXNnaWQgInN5cyRzZWFyY2ggZmFpbGVkIHdpdGggJWRcbiIKbXNnc3RyICJzeXMkc2VyYWNoIGVuIOljaGVjIGF2ZWMgJWRcbiIKCiM6IHZtc2pvYnMuYzo3MQojLCBjLWZvcm1hdAptc2dpZCAiV2FybmluZzogRW1wdHkgcmVkaXJlY3Rpb25cbiIKbXNnc3RyICJBVkVSVElTU0VNRU5UOiByZWRpcmVjdGlvbiB2aWRlXG4iCgojOiB2bXNqb2JzLmM6MTc1CiMsIGMtZm9ybWF0Cm1zZ2lkICJpbnRlcm5hbCBlcnJvcjogYCVzJyBjb21tYW5kX3N0YXRlIgptc2dzdHIgImVycmV1ciBpbnRlcm5lIDogqyAlcyC7IGNvbW1hbmRfc3RhdGUiCgojOiB2bXNqb2JzLmM6MjY4CiMsIGMtZm9ybWF0Cm1zZ2lkICItd2FybmluZywgQ1RSTC1ZIHdpbGwgbGVhdmUgc3ViLXByb2Nlc3MoZXMpIGFyb3VuZC5cbiIKbXNnc3RyICItd2FybmluZywgQ1RSTC1ZIGxhaXNzZXJhIGxlcyBzb3VzLXByb2Nlc3NzdXMuXG4iCgojOiB2bXNqb2JzLmM6Mjg0CiMsIGMtZm9ybWF0Cm1zZ2lkICItd2FybmluZywgeW91IG1heSBoYXZlIHRvIHJlLWVuYWJsZSBDVFJMLVkgaGFuZGxpbmcgZnJvbSBEQ0wuXG4iCm1zZ3N0ciAiLXdhcm5pbmcsIHZvdXMgZGV2cmV6IHLpLWFjdGl2aWVyIHBhciBDVFJMLVkgbGUgdHJhaXRlbWVudCBwYXIgRENMLlxuIgoKIzogdm1zam9icy5jOjQwNwojLCBjLWZvcm1hdAptc2dpZCAiQlVJTFRJTiBbJXNdWyVzXVxuIgptc2dzdHIgIkNvbW1hbmRlIGludGVybmUgWyVzXVslc11cbiIKCiM6IHZtc2pvYnMuYzo0MTgKIywgYy1mb3JtYXQKbXNnaWQgIkJVSUxUSU4gQ0QgJXNcbiIKbXNnc3RyICJDb21tYW5kZSBpbnRlcm5lIENEICVzXG4iCgojOiB2bXNqb2JzLmM6NDM2CiMsIGMtZm9ybWF0Cm1zZ2lkICJCVUlMVElOIFJNICVzXG4iCm1zZ3N0ciAiQ29tbWFuZGUgaW50ZXJuciBSTSAlc1xuIgoKIzogdm1zam9icy5jOjQ1NwojLCBjLWZvcm1hdAptc2dpZCAiVW5rbm93biBidWlsdGluIGNvbW1hbmQgJyVzJ1xuIgptc2dzdHIgIlV0aWxpc2F0aW9uIGRlcyBjb21tYW5kZXMgaW50ZXJuZXMgqyAlcyC7XG4iCgojOiB2bXNqb2JzLmM6NDc5CiMsIGMtZm9ybWF0Cm1zZ2lkICJFcnJvciwgZW1wdHkgY29tbWFuZFxuIgptc2dzdHIgIkVycmV1ciwgY29tbWFuZGUgdmlkZVxuIgoKIzogdm1zam9icy5jOjQ5MQojLCBjLWZvcm1hdAptc2dpZCAiUmVkaXJlY3RlZCBpbnB1dCBmcm9tICVzXG4iCm1zZ3N0ciAiUmVkaXJlY3Rpb24gZGUgbCdlbnRy6WUgZGUgJXNcbiIKCiM6IHZtc2pvYnMuYzo0OTgKIywgYy1mb3JtYXQKbXNnaWQgIlJlZGlyZWN0ZWQgZXJyb3IgdG8gJXNcbiIKbXNnc3RyICJFcnJldXIgcmVkaXJpZ+llIHZlcnMgJXNcbiIKCiM6IHZtc2pvYnMuYzo1MDUKIywgYy1mb3JtYXQKbXNnaWQgIlJlZGlyZWN0ZWQgb3V0cHV0IHRvICVzXG4iCm1zZ3N0ciAiUmVkaXJlY3Rpb24gZGUgbGEgc29ydGllIHZlcnMgJXNcbiIKCiM6IHZtc2pvYnMuYzo1NjgKIywgYy1mb3JtYXQKbXNnaWQgIkV4ZWN1dGluZyAlcyBpbnN0ZWFkXG4iCm1zZ3N0ciAiRXjpY3V0aW9uIGRlICVzIOAgbGEgcGxhY2VcbiIKCiM6IHZtc2pvYnMuYzo2NjgKIywgYy1mb3JtYXQKbXNnaWQgIkVycm9yIHNwYXduaW5nLCAlZFxuIgptc2dzdHIgIkVycmV1ciBkZSBsYW5jZW1lbnQgZGUgdOJjaGUsICVkXG4iCgojOiB2cGF0aC5jOjU3MQptc2dpZCAiIgoiXG4iCiIjIFZQQVRIIFNlYXJjaCBQYXRoc1xuIgptc2dzdHIgIiIKIlxuIgoiIyBDaGVtaW5zIGRlIFJlY2hlcmNoZSBWUEFUSFxuIgoKIzogdnBhdGguYzo1ODgKbXNnaWQgIiMgTm8gYHZwYXRoJyBzZWFyY2ggcGF0aHMuIgptc2dzdHIgIiMgUGFzIGRlIGNoZW1pbnMgZGUgcmVjaGVyY2hlIKsgdnBhdGgguy4iCgojOiB2cGF0aC5jOjU5MAojLCBjLWZvcm1hdAptc2dpZCAiIgoiXG4iCiIjICV1IGB2cGF0aCcgc2VhcmNoIHBhdGhzLlxuIgptc2dzdHIgIiIKIlxuIgoiIyAldSBjaGVtaW5zIGRlIHJlY2hlcmNoZSCrIHZwYXRoILsuXG4iCgojOiB2cGF0aC5jOjU5Mwptc2dpZCAiIgoiXG4iCiIjIE5vIGdlbmVyYWwgKGBWUEFUSCcgdmFyaWFibGUpIHNlYXJjaCBwYXRoLiIKbXNnc3RyICIiCiJcbiIKIiMgUGFzIGRlIGNoZW1pbiBkZSByZWNoZXJjaGUgZ+lu6XJhbCAodmFyaWFibGUgqyBWUEFUSCC7KS4iCgojOiB2cGF0aC5jOjU5OQptc2dpZCAiIgoiXG4iCiIjIEdlbmVyYWwgKGBWUEFUSCcgdmFyaWFibGUpIHNlYXJjaCBwYXRoOlxuIgoiIyAiCm1zZ3N0ciAiIgoiXG4iCiIjIENoZW1pbiBkZSByZWNoZXJjaGUgZ+lu6XJhbCAodmFyaWFibGUgqyBWUEFUSCC7KSA6XG4iCiIjICIKCiN+IG1zZ2lkICJEbyBub3Qgc3BlY2lmeSAtaiBvciAtLWpvYnMgaWYgc2guZXhlIGlzIG5vdCBhdmFpbGFibGUuIgojfiBtc2dzdHIgIk5lIHBhcyBzcOljaWZpZXIgLWogb3UgLS1qb2JzIHNpIHNoLmV4ZSBuJ2VzdCBwYXMgZGlzcG9uaWJsZS4iCgojfiBtc2dpZCAiUmVzZXR0aW5nIG1ha2UgZm9yIHNpbmdsZSBqb2IgbW9kZS4iCiN+IG1zZ3N0ciAiUulpbml0aWFsaXNhdGlvbiBkZSBtYWtlIGVuIG1vZGUgZGUgdHJhaXRlbWVudCBzaW1wbGUgZGVzIHTiY2hlcy4iCgojfiBtc2dpZCAiU3ludGF4IGVycm9yLCBzdGlsbCBpbnNpZGUgJ1wiJ1xuIgojfiBtc2dzdHIgIkVycmV1ciBkZSBzeW50YXhlLCB0b3Vqb3VycyDgIGwnaW506XJpZXVyIGRlIKsgXCIgu1xuIgoKI34gbXNnaWQgIkdvdCBhIFNJR0NITEQ7ICV1IHVucmVhcGVkIGNoaWxkcmVuLlxuIgojfiBtc2dzdHIgIiIKI34gIlLpY2VwdGlvbiBkdSBzaWduYWwgU0lHQ0hMRCA7ICV1IHByb2Nlc3N1cyBmaWxzIGRvbnQgbGUgc3RhdHV0IGRlXG4iCiN+ICJzb3J0aWUgbidhIHBhcyDpdOkgculjdXDpLlxuIgoKI34gbXNnaWQgIm5vIGZpbGUgbmFtZSBmb3IgYCVzaW5jbHVkZSciCiN+IG1zZ3N0ciAicGFzIGRlIG5vbSBkZSBmaWNoaWVyIHBvdXIgqyAlc2luY2x1ZGUguyIKCiN+IG1zZ2lkICJ0YXJnZXQgYCVzJyBsZWF2ZXMgcHJlcmVxdWlzaXRlIHBhdHRlcm4gZW1wdHkiCiN+IG1zZ3N0ciAibGEgY2libGUgqyAlcyC7IGEgbGFpc3PpIHVuIHNjaOltYSBkZSBk6XBlbmRhbmNlIHZpZGUiCgojfiBtc2dpZCAiIgojfiAiXG4iCiN+ICIjIE5vIGZpbGVzLiIKI34gbXNnc3RyICIiCiN+ICJcbiIKI34gIiMgUGFzIGRlIGZpY2hpZXJzLiIKCiN+IG1zZ2lkICIiCiN+ICJcbiIKI34gIiMgJXUgZmlsZXMgaW4gJXUgaGFzaCBidWNrZXRzLlxuIgojfiBtc2dzdHIgIiIKI34gIlxuIgojfiAiIyAldSBmaWNoaWVycyBkYW5zICV1IHRhYmxlcyBkZSBoYWNoYWdlLlxuIgoKI34gbXNnaWQgIiMgYXZlcmFnZSAlLjNmIGZpbGVzIHBlciBidWNrZXQsIG1heCAldSBmaWxlcyBpbiBvbmUgYnVja2V0LlxuIgojfiBtc2dzdHIgIiIKI34gIiMgbW95ZW5uZSBkZSAlLjNmIGZpY2hpZXJzIHBhciB0YWJsZSwgbWF4aW11bSBkZSAldSBmaWNoaWVycyBkYW5zIHVuZSAiCiN+ICJ0YWJsZS5cbiIKCiN+IG1zZ2lkICJESVJFQ1RPUlkiCiN+IG1zZ3N0ciAiUslQRVJUT0lSRSIKCiN+IG1zZ2lkICJDaGFuZ2UgdG8gRElSRUNUT1JZIGJlZm9yZSBkb2luZyBhbnl0aGluZyIKI34gbXNnc3RyICJDaGFuZ2VyIGRlIFLJUEVSVE9JUkUgYXZhbnQgZGUgZmFpcmUgcXVvaSBxdWUgY2Ugc29pdCIKCiN+IG1zZ2lkICJGTEFHUyIKI34gbXNnc3RyICJGQU5JT05TIgoKI34gbXNnaWQgIlN1c3BlbmQgcHJvY2VzcyB0byBhbGxvdyBhIGRlYnVnZ2VyIHRvIGF0dGFjaCIKI34gbXNnc3RyICJTdXNwZW5zaW9uIGRlIHByb2Nlc3N1cyBwb3VyIHBlcm1ldHRyZSBhdSBk6WJvZ2dldXIgZGUgc2UgcmF0dGFjaGVyIgoKI34gbXNnaWQgIkVudmlyb25tZW50IHZhcmlhYmxlcyBvdmVycmlkZSBtYWtlZmlsZXMiCiN+IG1zZ3N0ciAiIgojfiAiTGVzIHZhcmlhYmxlcyBkJ2Vudmlyb25uZW1lbnQg6WNyYXNlbnQgY2VsbGVzIGTpZmluaWVzIGRhbnMgbGVzIG1ha2VmaWxlcyIKCiN+IG1zZ2lkICJGSUxFIgojfiBtc2dzdHIgIkZJQ0hJRVIiCgojfiBtc2dpZCAiUmVhZCBGSUxFIGFzIGEgbWFrZWZpbGUiCiN+IG1zZ3N0ciAiTGl0IEZJQ0hJRVIgZW4gdGFudCBxdWUgbWFrZWZpbGUiCgojfiBtc2dpZCAiU2VhcmNoIERJUkVDVE9SWSBmb3IgaW5jbHVkZWQgbWFrZWZpbGVzIgojfiBtc2dzdHIgIlJlY2hlcmNoZSBsZXMgbWFrZWZpbGVzIGluY2x1cyBkYW5zIERJUkVDVE9SWSIKCiN+IG1zZ2lkICJEb24ndCBzdGFydCBtdWx0aXBsZSBqb2JzIHVubGVzcyBsb2FkIGlzIGJlbG93IE4iCiN+IG1zZ3N0ciAiTidleOljdXRlIHBhcyBkZSB04mNoZXMgbXVsdGlwbGVzIHNpIGxhIGNoYXJnZSBk6XBhc3NlIE4iCgojfiBtc2dpZCAiRG9uJ3QgYWN0dWFsbHkgcnVuIGFueSBjb21tYW5kczsganVzdCBwcmludCB0aGVtIgojfiBtc2dzdHIgIk4nZXjpY3V0ZSBwYXMgbGVzIGNvbW1hbmRlcyA7IGVsbGVzIHNvbnQganVzdGUgYWZmaWNo6WVzIgoKI34gbXNnaWQgIkNvbnNpZGVyIEZJTEUgdG8gYmUgdmVyeSBvbGQgYW5kIGRvbid0IHJlbWFrZSBpdCIKI34gbXNnc3RyICJDb25zaWTocmUgRklMRSBjb21tZSDpdGFudCB0cuhzIHZpZXV4IGV0IG5lIGxlIHJlZmFicmlxdWUgcGFzIgoKI34gbXNnaWQgIkRvbid0IGVjaG8gY29tbWFuZHMiCiN+IG1zZ3N0ciAiTidhZmZpY2hlIHBhcyBsZXMgY29tbWFuZGVzIgoKI34gbXNnaWQgIlR1cm5zIG9mZiAtayIKI34gbXNnc3RyICJE6XNhY3RpdmUgLWsiCgojfiBtc2dpZCAiQ29uc2lkZXIgRklMRSB0byBiZSBpbmZpbml0ZWx5IG5ldyIKI34gbXNnc3RyICJDb25zaWTocmUgRklMRSBjb21tZSDpdGFudCBpbmZpbmltZW50IHLpY2VudCIKCiN+IG1zZ2lkICJFbnRlcmluZyIKI34gbXNnc3RyICJFbnRyZSBkYW5zIgoKI34gbXNnaWQgIkxlYXZpbmciCiN+IG1zZ3N0ciAiUXVpdHRlIgoKI34gbXNnaWQgIiMgTm8gdmFyaWFibGVzLiIKI34gbXNnc3RyICIjIFBhcyBkZSB2YXJpYWJsZXMuIgoKI34gbXNnaWQgIiMgYXZlcmFnZSBvZiAlLjFmIHZhcmlhYmxlcyBwZXIgYnVja2V0LCBtYXggJXUgaW4gb25lIGJ1Y2tldC5cbiIKI34gbXNnc3RyICIiCiN+ICIjIG1veWVubmUgZGUgJS4xZiB2YXJpYWJsZXMgcGFyIHRhYmxlLCBtYXhpbXVtIGRlICV1IGRhbnMgdW5lIHRhYmxlLlxuIgoKI34gbXNnaWQgIiMgYXZlcmFnZSBvZiAlZC4lZCB2YXJpYWJsZXMgcGVyIGJ1Y2tldCwgbWF4ICV1IGluIG9uZSBidWNrZXQuXG4iCiN+IG1zZ3N0ciAiIgojfiAiIyBtb3llbm5lIGRlICVkLiVkIHZhcmlhYmxlcyBwYXIgdGFibGUsIG1heGltdW0gZGUgJXUgZGFucyB1bmUgdGFibGUuXG4iCgojfiBtc2dpZCAiRXJyb3IgaW4gbGJyJGluaV9jb250cm9sLCAlZFxuIgojfiBtc2dzdHIgIkVycmV1ciBkYW5zIGxiciRpbmlfY29udHJvbCwgJWRcbiIKCiN+IG1zZ2lkICJFcnJvciBsb29raW5nIHVwIG1vZHVsZSAlcyBpbiBsaWJyYXJ5ICVzLCAlZFxuIgojfiBtc2dzdHIgIkVycmV1ciBlbiByZWNoZXJjaGFudCBsZSBtb2R1bGUgJXMgZGFucyBsYSBiaWJsaW90aOhxdWUgJXMsICVkXG4iCgojfiBtc2dpZCAiRXJyb3IgZ2V0dGluZyBtb2R1bGUgaW5mbywgJWRcbiIKI34gbXNnc3RyICJFcnJldXIgbG9ycyBkZSBsJ29idGVudGlvbiBkZXMgaW5mb3JtYXRpb25zIGR1IG1vZHVsZSwgJWRcbiIKCiN+IG1zZ2lkICJ0b3VjaDogIgojfiBtc2dzdHIgInRvdWNoOiAiCgojfiBtc2dpZCAiIG5vdCIKI34gbXNnc3RyICIgbm9uIgoKI34gbXNnaWQgIiMgIExhc3QgbW9kaWZpZWQgJS4yNHMgKCUwbHgpXG4iCiN+IG1zZ3N0ciAiIyAgRGVybmnocmUgbW9kaWZpY2F0aW9uICUuMjRzICglMGx4KVxuIgoKI34gbXNnaWQgInVuZGVmaW5lZCIKI34gbXNnc3RyICJpbmTpZmluaSIKCiN+IG1zZ2lkICJmaWxlIgojfiBtc2dzdHIgImZpY2hpZXIiCgojfiBtc2dpZCAiZW52aXJvbm1lbnQgb3ZlcnJpZGUiCiN+IG1zZ3N0ciAi6WNyYXNlbWVudCBwYXIgbCdlbnZpcm9ubmVtZW50IgoKI34gbXNnaWQgIm92ZXJyaWRlIgojfiBtc2dzdHIgIuljcmFzZW1lbnQiCgojfiBtc2dpZCAidGhlIGB3b3JkJyBmdW5jdGlvbiB0YWtlcyBhIG9uZS1vcmlnaW4gaW5kZXggYXJndW1lbnQiCiN+IG1zZ3N0ciAibGEgZm9uY3Rpb24gYHdvcmQnIHByZW5kIHVuIGFyZ3VtZW50IGQnaW5kZXgg4CB1bmUgc2V1bGUgb3JpZ2luZSIKCiN+IG1zZ2lkICJpbXBsaWNpdCIKI34gbXNnc3RyICJk6XBlbmRhbmNlIGltcGxpY2l0ZSIKCiN+IG1zZ2lkICJydWxlIgojfiBtc2dzdHIgInLoZ2xlIGRlIGTpcGVuZGFuY2UiCgojfiBtc2dpZCAiVHJ5aW5nICVzIGRlcGVuZGVuY3kgYCVzJy5cbiIKI34gbXNnc3RyICJFc3NhaSBkZSBsYSAlcyBgJXMnLlxuIgoKI34gbXNnaWQgIkZvdW5kIGRlcGVuZGVuY3kgYXMgYCVzJy4lc1xuIgojfiBtc2dzdHIgIkTpcGVuZGFuY2UgdHJvdXbpZSBlbiB0YW50IHF1ZSBgJXMnLiVzXG4iCgojfiBtc2dpZCAiaW50ZXJtZWRpYXRlIgojfiBtc2dzdHIgImludGVybelkaWFpcmUiCgojfiBtc2dpZCAiIChpZ25vcmVkKSIKI34gbXNnc3RyICIgKGlnbm9y6WUpIgoKI34gbXNnaWQgIlVua25vd24lcyBqb2IgJWQiCiN+IG1zZ3N0ciAiVOJjaGUlcyBpbmNvbm51ZSAlZCIKCiN+IG1zZ2lkICIgcmVtb3RlIgojfiBtc2dzdHIgIiBkaXN0YW50ZSIKCiN+IG1zZ2lkICIlcyBmaW5pc2hlZC4iCiN+IG1zZ3N0ciAiJXMgdGVybWlu6WUuIgoKI34gbXNnaWQgImxvc2luZyIKI34gbXNnc3RyICJwZXJkYW50IgoKI34gbXNnaWQgIndpbm5pbmciCiN+IG1zZ3N0ciAiZ2FnbmFudCIKCiN+IG1zZ2lkICIlc0dOVSBNYWtlIHZlcnNpb24gJXMiCiN+IG1zZ3N0ciAiJXNHTlUgTWFrZSB2ZXJzaW9uICVzIgoKI34gbXNnaWQgIlVua25vd24gZXJyb3IgMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiCiN+IG1zZ3N0ciAiRXJyZXVyIGluY29ubnVlIDEyMzQ1Njc4OTAxMjM0NTY3ODkwIgoKI34gbXNnaWQgIlVzZXIiCiN+IG1zZ3N0ciAidXRpbGlzYXRldXIiCgojfiBtc2dpZCAiTWFrZSIKI34gbXNnc3RyICJtYWtlIgoKI34gbXNnaWQgIkNoaWxkIgojfiBtc2dzdHIgImVuZmFudCIKCiN+IG1zZ2lkICJEZXBlbmRlbmN5IGAlcycgZG9lcyBub3QgZXhpc3QuXG4iCiN+IG1zZ3N0ciAiTGEgZOlwZW5kYW5jZSBgJXMnIG4nZXhpc3RlIHBhcy5cbiIKCiN+IG1zZ2lkICJuZXdlciIKI34gbXNnc3RyICJwbHVzIHLpY2VudGUiCgojfiBtc2dpZCAib2xkZXIiCiN+IG1zZ3N0ciAicGx1cyBhbmNpZW5uZSIKCiN+IG1zZ2lkICJleHBvcnRpbmc6IENvdWxkbid0IGNyZWF0ZSByZXR1cm4gc29ja2V0LiIKI34gbXNnc3RyICJleHBvcnRhdGlvbiA6IE4nYSBwYXMgcHUgY3LpZXIgbGEgc29ja2V0IGRlIHJldG91ci4iCgojfiBtc2dpZCAiZXhwb3J0aW5nOiAiCiN+IG1zZ3N0ciAiZXhwb3J0YXRpb24gOiAiCgojfiBtc2dpZCAiZXhwb3J0aW5nOiAlcyIKI34gbXNnc3RyICJleHBvcnRhdGlvbiA6ICVzIgoKI34gbXNnaWQgIkpvYiBleHBvcnRlZCB0byAlcyBJRCAldVxuIgojfiBtc2dzdHIgIlTiY2hlIGV4cG9ydOllIHZlcnMgJXMgSUQgJXVcbiIKCiN+IG1zZ2lkICJFcnJvciBnZXR0aW5nIGxvYWQgYXZlcmFnZSIKI34gbXNnc3RyICJFcnJldXIgbG9ycyBkZSBsJ29idGVudGlvbiBkZSBsYSBjaGFyZ2UgbW95ZW5uZSIKCiN+IG1zZ2lkICIxLW1pbnV0ZTogJWYgICIKI34gbXNnc3RyICIxIG1pbnV0ZSA6ICVmICAiCgojfiBtc2dpZCAiNS1taW51dGU6ICVmICAiCiN+IG1zZ3N0ciAiNSBtaW51dGVzIDogJWYgICIKCiN+IG1zZ2lkICIxNS1taW51dGU6ICVmICAiCiN+IG1zZ3N0ciAiMTUgbWludXRlcyA6ICVmICAiCgojfiBtc2dpZCAiZGlnaXRzIG9jY3VyIGluIHR3byBkaWZmZXJlbnQgYXJndi1lbGVtZW50cy5cbiIKI34gbXNnc3RyICJkZXMgY2hpZmZyZXMgYXBwYXJhaXNzZW50IGRhbnMgZGV1eCDpbOltZW50cyBkaWZm6XJlbnRzIGRlIGFyZ3YuXG4iCgojfiBtc2dpZCAib3B0aW9uICVjXG4iCiN+IG1zZ3N0ciAib3B0aW9uICVjXG4iCgojfiBtc2dpZCAib3B0aW9uIGFcbiIKI34gbXNnc3RyICJvcHRpb24gYVxuIgoKI34gbXNnaWQgIm9wdGlvbiBiXG4iCiN+IG1zZ3N0ciAib3B0aW9uIGJcbiIKCiN+IG1zZ2lkICJvcHRpb24gYyB3aXRoIHZhbHVlIGAlcydcbiIKI34gbXNnc3RyICJvcHRpb24gYyBheWFudCBwb3VyIHZhbGV1ciBgJXMnXG4iCgojfiBtc2dpZCAiPz8gZ2V0b3B0IHJldHVybmVkIGNoYXJhY3RlciBjb2RlIDAlbyA/P1xuIgojfiBtc2dzdHIgIj8/IGdldG9wdCBhIHJlbnZveekgbGUgY2FyYWN06HJlIGRlIGNvZGUgMCVvID8/XG4iCgojfiBtc2dpZCAibm9uLW9wdGlvbiBBUkdWLWVsZW1lbnRzOiAiCiN+IG1zZ3N0ciAi6WzpbWVudHMgZGUgQVJHViBxdWkgbmUgc29udCBwYXMgZGVzIG9wdGlvbnMgOiAiCgojfiBtc2dpZCAib3B0aW9uIGQgd2l0aCB2YWx1ZSBgJXMnXG4iCiN+IG1zZ3N0ciAib3B0aW9uIGQgYXlhbnQgcG91ciB2YWxldXIgYCVzJ1xuIgoKI34gbXNnaWQgIiVzOiB1bmtub3duIHNpZ25hbCIKI34gbXNnc3RyICIlcyA6IHNpZ25hbCBpbmNvbm51IgoKI34gbXNnaWQgIlNpZ25hbCAxMjM0NTY3ODkwMTIzNDU2Nzg5MCIKI34gbXNnc3RyICJTaWduYWwgMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiCgojfiBtc2dpZCAiU2lnbmFsICVkIgojfiBtc2dzdHIgIlNpZ25hbCAlZCIK