IyEgL2Jpbi9zaAouICIke3NyY2Rpcj0ufS9pbml0LnNoIjsgcGF0aF9wcmVwZW5kXyAuIC4uL3NyYwoKIyBUZXN0IC0tZXh0cmFjdGVkLWNvbW1lbnQgb3B0aW9uLgoKY2F0IDw8XEVPRiA+IG1nLXRlc3Q4LnBvCm1zZ2lkICIiCm1zZ3N0ciAiIgoiUHJvamVjdC1JZC1WZXJzaW9uOiBHTlUgZ2V0dGV4dCAwLjExLXByZTFcbiIKIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDAxLTEyLTA4IDIwOjMzKzAxMDBcbiIKIlBPLVJldmlzaW9uLURhdGU6IDIwMDEtMTEtMDQgMTI6MjUrMDEwMFxuIgoiTGFzdC1UcmFuc2xhdG9yOiBLYXJsIEVpY2h3YWxkZXIgPGtlQHN1c2UuZGU+XG4iCiJMYW5ndWFnZS1UZWFtOiBHZXJtYW4gPGRlQGxpLm9yZz5cbiIKIk1JTUUtVmVyc2lvbjogMS4wXG4iCiJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9SVNPLTg4NTktMVxuIgoiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgoiUGx1cmFsLUZvcm1zOiBucGx1cmFscz0yOyBwbHVyYWw9KG4gIT0gMSk7XG4iCgojIFdhcnVtIGlzdCBkYXMgbmljaHQgYWxzIGMtZm9ybSBtYXJraWVydD8KIzogd2lkZ2V0cy5jOjg3Cm1zZ2lkICJBYm91dCA8dHQ+R05PTUU8L3R0PiIKbXNnc3RyICLcYmVyIDx0dD5HTk9NRTwvdHQ+IgoKIy4gYy1mb3JtCiM6IHdpZGdldHMuYzoxMTgKbXNnaWQgImNsaWNrIDxiPmhlcmU8L2I+Igptc2dzdHIgIktsaWNrZW4gU2llIDxiPmhpZXI8L2I+LiIKCiM6IHdpZGdldHMuYzoxNTIKIywgYy1mb3JtYXQKbXNnaWQgInJlcGVhdCAlZCB0aW1lcyIKbXNnc3RyICIlZCBtYWwgd2llZGVyaG9sZW4iCkVPRgoKOiAke01TR0dSRVA9bXNnZ3JlcH0KTENfTUVTU0FHRVM9QyBMQ19BTEw9IFwKJHtNU0dHUkVQfSAtWCAtZSBjLWZvcm0gLW8gbWctdGVzdDgudG1wIG1nLXRlc3Q4LnBvID5tZy10ZXN0OC5lcnIgMj4mMQpyZXN1bHQ9JD8KY2F0IG1nLXRlc3Q4LmVyciB8IGdyZXAgLXYgJ3dhcm5pbmc6IExvY2FsZSBjaGFyc2V0JyB8IGdyZXAgLXYgJ14gJwp0ZXN0ICRyZXN1bHQgPSAwIHx8IHsgRXhpdCAxOyB9CkxDX0FMTD1DIHRyIC1kICdccicgPCBtZy10ZXN0OC50bXAgPiBtZy10ZXN0OC5vdXQgfHwgRXhpdCAxCgpjYXQgPDxcRU9GID4gbWctdGVzdDgub2sKbXNnaWQgIiIKbXNnc3RyICIiCiJQcm9qZWN0LUlkLVZlcnNpb246IEdOVSBnZXR0ZXh0IDAuMTEtcHJlMVxuIgoiUE9ULUNyZWF0aW9uLURhdGU6IDIwMDEtMTItMDggMjA6MzMrMDEwMFxuIgoiUE8tUmV2aXNpb24tRGF0ZTogMjAwMS0xMS0wNCAxMjoyNSswMTAwXG4iCiJMYXN0LVRyYW5zbGF0b3I6IEthcmwgRWljaHdhbGRlciA8a2VAc3VzZS5kZT5cbiIKIkxhbmd1YWdlLVRlYW06IEdlcm1hbiA8ZGVAbGkub3JnPlxuIgoiTUlNRS1WZXJzaW9uOiAxLjBcbiIKIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1JU08tODg1OS0xXG4iCiJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCiJQbHVyYWwtRm9ybXM6IG5wbHVyYWxzPTI7IHBsdXJhbD0obiAhPSAxKTtcbiIKCiMuIGMtZm9ybQojOiB3aWRnZXRzLmM6MTE4Cm1zZ2lkICJjbGljayA8Yj5oZXJlPC9iPiIKbXNnc3RyICJLbGlja2VuIFNpZSA8Yj5oaWVyPC9iPi4iCkVPRgoKOiAke0RJRkY9ZGlmZn0KJHtESUZGfSBtZy10ZXN0OC5vayBtZy10ZXN0OC5vdXQKcmVzdWx0PSQ/CgpleGl0ICRyZXN1bHQK