IyEgL2Jpbi9zaAouICIke3NyY2Rpcj0ufS9pbml0LnNoIjsgcGF0aF9wcmVwZW5kXyAuIC4uL3NyYwoKIyBUZXN0IC0tZnV6enkgb3B0aW9uLgoKY2F0IDw8XEVPRiA+IG1hLXRlc3QxMi5wbwojIEhFQURFUi4KIwptc2dpZCAiIgptc2dzdHIgIiIKIlByb2plY3QtSWQtVmVyc2lvbjogQm9ubmllIFR5bGVyXG4iCiJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9SVNPLTg4NTktMVxuIgoiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgoKIzogbWFycmllZC1tZW46NAojLCBmdXp6eQptc2dpZCAiVGhlIHdvcmxkIGlzIGZ1bGwgb2YgbWFycmllZCBtZW4iCm1zZ3N0ciAiU28gdmllbGUgdmVyaGVpcmF0ZXRlIE3kbm5lciIKCiM6IG1hcnJpZWQtbWVuOjUKbXNnaWQgIndpdGggd2l2ZXMgd2hvIG5ldmVyIHVuZGVyc3RhbmQiCm1zZ3N0ciAidW5kIGlocmUgRnJhdWVuIHZlcnN0ZWhlbiBzaWUgbmljaHQiCgojOiBtYXJyaWVkLW1lbjo2Cm1zZ2lkICJUaGV5J3JlIGxvb2tpbmcgZm9yIHNvbWVvbmUgdG8gc2hhcmUiCm1zZ3N0ciAiIgoKIyBzY2h3ZXIgenUg/GJlcnNldHplbi4uLgojOiBtYXJyaWVkLW1lbjo3Cm1zZ2lkICJ0aGUgZXhjaXRlbWVudCBvZiBhIGxvdmUgYWZmYWlyIgptc2dzdHIgIiIKCiM6IG1hcnJpZWQtbWVuOjgKbXNnaWQgIkp1c3QgYXMgc29vbiBhcyB0aGV5IGZpbmQgeW91Igptc2dzdHIgIiIKCiM6IG1hcnJpZWQtbWVuOjkKbXNnaWQgIlRoZXkgd2FybiB5b3UgYW5kIGRhcm4geW91Igptc2dzdHIgIiIKCiN+IG1zZ2lkICJZb3UgZmx5IG9uIHRoZSB3aW5ncyBvZiByb21hbmNlIgojfiBtc2dzdHIgIkRpZSBGbPxnZWwgZGVyIGZyaXNjaGVuIExpZWJlIGhlYmVuIGRpY2ggenVtIEhpbW1lbCIKCiMsIGZ1enp5CiN+IG1zZ2lkICJJbiB0aGUgZXllcyBvZiB0aGUgd29ybGQiCiN+IG1zZ3N0ciAiRvxyIGRpZSBhbmRlcmVuIgoKIyBFdHdhcyBmcmVpZSDcYmVyc2V0enVuZy4KI34gbXNnaWQgIllvdSdyZSBqdXN0IGFub3RoZXIgY3JhenkgZ2lybCIKI34gbXNnc3RyICJiaXN0IGR1IGJsb98gZWluIHZlcnL8Y2t0ZXMgZHVtbWVzIERpbmciCgojfiBtc2dpZCAiV2hvIGxvdmVzIGEgbWFycmllZCBtYW4iCiN+IG1zZ3N0ciAiZGFzIGVpbmVuIHZlcmhlaXJhdGV0ZW4gTWFubiBsaWVidCIKRU9GCgo6ICR7TVNHQVRUUklCPW1zZ2F0dHJpYn0KJHtNU0dBVFRSSUJ9IC0tZnV6enkgLW8gbWEtdGVzdDEyLnRtcCBtYS10ZXN0MTIucG8gfHwgRXhpdCAxCkxDX0FMTD1DIHRyIC1kICdccicgPCBtYS10ZXN0MTIudG1wID4gbWEtdGVzdDEyLm91dCB8fCBFeGl0IDEKCmNhdCA8PFxFT0YgPiBtYS10ZXN0MTIub2sKIyBIRUFERVIuCiMKbXNnaWQgIiIKbXNnc3RyICIiCiJQcm9qZWN0LUlkLVZlcnNpb246IEJvbm5pZSBUeWxlclxuIgoiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PUlTTy04ODU5LTFcbiIKIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKCiM6IG1hcnJpZWQtbWVuOjQKbXNnaWQgIlRoZSB3b3JsZCBpcyBmdWxsIG9mIG1hcnJpZWQgbWVuIgptc2dzdHIgIlNvIHZpZWxlIHZlcmhlaXJhdGV0ZSBN5G5uZXIiCgojfiBtc2dpZCAiSW4gdGhlIGV5ZXMgb2YgdGhlIHdvcmxkIgojfiBtc2dzdHIgIkb8ciBkaWUgYW5kZXJlbiIKRU9GCgo6ICR7RElGRj1kaWZmfQoke0RJRkZ9IG1hLXRlc3QxMi5vayBtYS10ZXN0MTIub3V0CnJlc3VsdD0kPwoKZXhpdCAkcmVzdWx0Cg==