IyEgL2Jpbi9zaAouICIke3NyY2Rpcj0ufS9pbml0LnNoIjsgcGF0aF9wcmVwZW5kXyAuIC4uL3NyYwoKIyBUZXN0IGhhbmRsaW5nIG9mIGlucHV0IGZpbGVzIHdpdGggZGlmZmVyZW50IGNoYXJzZXRzLgojIDEuIElTTy04ODU5LTEsIDIuIFVURi04OyBwbHVzIC0tdXNlLWZpcnN0CgpjYXQgPDxcRU9GID4gbWNhdC10ZXN0My5pbjEKIyBHZXJtYW4gbWVzc2FnZSBmaWxlIGZvciB4eXouCiMgQ29weXJpZ2h0IChDKSAxOTk5LCAyMDAwLCAyMDAxIHh5ei4KIyBLYWIgRGVmIDxrZUB6enoudXVjcD4sIDIwMDAuCiMKbXNnaWQgIiIKbXNnc3RyICIiCiJQcm9qZWN0LUlkLVZlcnNpb246IHh5elxuIgoiUE9ULUNyZWF0aW9uLURhdGU6IDIwMDEtMDQtMjQgMTI6NTE6MzQrMDIwMFxuIgoiUE8tUmV2aXNpb24tRGF0ZTogMjAwMS0wNC0yNCAxMzowMiswMjowMFxuIgoiTGFzdC1UcmFuc2xhdG9yOiBLYWIgRGVmIDxrZUB6enoudXVjcD5cbiIKIkxhbmd1YWdlLVRlYW06IEdlcm1hbiA8aTE4bkB6enoudXVjcD5cbiIKIk1JTUUtVmVyc2lvbjogMS4wXG4iCiJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9SVNPLTg4NTktMVxuIgoiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgoKIy4gSGVscCB0ZXh0IChIVE1MLWxpa2UpIFNUQVJUCiM6IGNsaWVudHMvaW5zdF9hc2tfY29uZmlnLnljcDoxMTkKbXNnaWQgIiIKIkNvbmdyYXR1bGF0aW9ucyEiCm1zZ3N0ciAiIgoiR2z8Y2t3dW5zY2ghIgpFT0YKCmNhdCA8PFxFT0YgPiBtY2F0LXRlc3QzLmluMgojIEdlcm1hbiBtZXNzYWdlIGZpbGUgZm9yIHh5ei4KIyBDb3B5cmlnaHQgKEMpIDE5OTksIDIwMDAsIDIwMDEgeHl6LgojIEthYiBEZWYgPGtlQHp6ei51dWNwPiwgMjAwMC4KIwptc2dpZCAiIgptc2dzdHIgIiIKIlByb2plY3QtSWQtVmVyc2lvbjogeHl6XG4iCiJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwMS0wNC0yNCAxMjo1MTozNCswMjAwXG4iCiJQTy1SZXZpc2lvbi1EYXRlOiAyMDAxLTA0LTI0IDEzOjAyKzAyOjAwXG4iCiJMYXN0LVRyYW5zbGF0b3I6IEthYiBEZWYgPGtlQHp6ei51dWNwPlxuIgoiTGFuZ3VhZ2UtVGVhbTogR2VybWFuIDxpMThuQHp6ei51dWNwPlxuIgoiTUlNRS1WZXJzaW9uOiAxLjBcbiIKIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOFxuIgoiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgoKIy4gUmVtaW5kIHVzZXIgb2YgdGhlIGxvZ2luIG5hbWUgaGUgY2hvc2UKIzogY2xpZW50cy9pbnN0X2Fza19jb25maWcueWNwOjcyCiMsIHljcC1mb3JtYXQKbXNnaWQgIllvdSBjYW4gbG9nIGluIGFzIFwiJTFcIi4iCm1zZ3N0ciAiU2llIGvDtm5uZW4gc2ljaCBhbHMgXCIlMVwiIGVpbmxvZ2dlbi4iCkVPRgoKcm0gLWYgbWNhdC10ZXN0My50bXAKCjogJHtNU0dDQVQ9bXNnY2F0fQpMQ19NRVNTQUdFUz1DIExDX0FMTD0gXAoke01TR0NBVH0gLS11c2UtZmlyc3QgLS1tb3JlLXRoYW49MCAtbyBtY2F0LXRlc3QzLnRtcCBcCiAgICBtY2F0LXRlc3QzLmluMSBtY2F0LXRlc3QzLmluMiA+bWNhdC10ZXN0My5lcnIgMj4mMQpyZXN1bHQ9JD8KY2F0IG1jYXQtdGVzdDMuZXJyIHwgZ3JlcCAtdiAnd2FybmluZzogLiogZW5jb2RpbmdzJyB8IGdyZXAgLXYgJ14gJwp0ZXN0ICRyZXN1bHQgPSAwIHx8IHsgRXhpdCAxOyB9CkxDX0FMTD1DIHRyIC1kICdccicgPCBtY2F0LXRlc3QzLnRtcCA+IG1jYXQtdGVzdDMub3V0IHx8IEV4aXQgMQoKY2F0IDw8IFxFT0YgPiBtY2F0LXRlc3QzLm9rCiMgR2VybWFuIG1lc3NhZ2UgZmlsZSBmb3IgeHl6LgojIENvcHlyaWdodCAoQykgMTk5OSwgMjAwMCwgMjAwMSB4eXouCiMgS2FiIERlZiA8a2VAenp6LnV1Y3A+LCAyMDAwLgojCm1zZ2lkICIiCm1zZ3N0ciAiIgoiUHJvamVjdC1JZC1WZXJzaW9uOiB4eXpcbiIKIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDAxLTA0LTI0IDEyOjUxOjM0KzAyMDBcbiIKIlBPLVJldmlzaW9uLURhdGU6IDIwMDEtMDQtMjQgMTM6MDIrMDI6MDBcbiIKIkxhc3QtVHJhbnNsYXRvcjogS2FiIERlZiA8a2VAenp6LnV1Y3A+XG4iCiJMYW5ndWFnZS1UZWFtOiBHZXJtYW4gPGkxOG5Aenp6LnV1Y3A+XG4iCiJNSU1FLVZlcnNpb246IDEuMFxuIgoiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04XG4iCiJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCgojLiBIZWxwIHRleHQgKEhUTUwtbGlrZSkgU1RBUlQKIzogY2xpZW50cy9pbnN0X2Fza19jb25maWcueWNwOjExOQptc2dpZCAiQ29uZ3JhdHVsYXRpb25zISIKbXNnc3RyICJHbMO8Y2t3dW5zY2ghIgoKIy4gUmVtaW5kIHVzZXIgb2YgdGhlIGxvZ2luIG5hbWUgaGUgY2hvc2UKIzogY2xpZW50cy9pbnN0X2Fza19jb25maWcueWNwOjcyCiMsIHljcC1mb3JtYXQKbXNnaWQgIllvdSBjYW4gbG9nIGluIGFzIFwiJTFcIi4iCm1zZ3N0ciAiU2llIGvDtm5uZW4gc2ljaCBhbHMgXCIlMVwiIGVpbmxvZ2dlbi4iCkVPRgoKOiAke0RJRkY9ZGlmZn0KJHtESUZGfSBtY2F0LXRlc3QzLm9rIG1jYXQtdGVzdDMub3V0CnJlc3VsdD0kPwoKZXhpdCAkcmVzdWx0Cg==