IyEgL2Jpbi9zaAouICIke3NyY2Rpcj0ufS9pbml0LnNoIjsgcGF0aF9wcmVwZW5kXyAuIC4uL3NyYwoKIyBUZXN0IC0tdXBkYXRlOiBsb2NhdGlvbiBjaGFuZ2VkLCBhbmQgeGdldHRleHQgY29tbWVudCBhZGRlZC4gQm90aCBjaGFuZ2VzCiMgbXVzdCBiZSByZWZsZWN0ZWQgaW4gdGhlIHJlc3VsdGluZyBQTyBmaWxlLgoKY2F0IDw8XEVPRiA+IG1tLXUtMi5wbwojIFNPTUUgREVTQ1JJUFRJVkUgVElUTEUuCiMgQ29weXJpZ2h0IChDKSBZRUFSIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgojIEZJUlNUIEFVVEhPUiA8RU1BSUxAQUREUkVTUz4sIFlFQVIuCiMKbXNnaWQgIiIKbXNnc3RyICIiCiJQcm9qZWN0LUlkLVZlcnNpb246IGNvZ190cmFpbmluZyAxLjBcbiIKIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDAxLTA0LTI5IDIyOjQwKzAyMDBcbiIKIlBPLVJldmlzaW9uLURhdGU6IDIwMDEtMDQtMjkgMjE6MTkrMDI6MDBcbiIKIkxhc3QtVHJhbnNsYXRvcjogRmVsaXggTi4gPHh5ekB6eXgudXVjcD5cbiIKIkxhbmd1YWdlLVRlYW06IEdlcm1hbiA8ZGVAbGkub3JnPlxuIgoiTGFuZ3VhZ2U6IGRlXG4iCiJNSU1FLVZlcnNpb246IDEuMFxuIgoiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PUlTTy04ODU5LTFcbiIKIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKCiM6IGNvZ2FyaXRobWV0aWMuY2M6MTIKbXNnaWQgIndoaXRlIgptc2dzdHIgIndlad8iCkVPRgoKY2F0IDw8RU9GID4gbW0tdS0yLnBvdAojIFNPTUUgREVTQ1JJUFRJVkUgVElUTEUuCiMgQ29weXJpZ2h0IChDKSBZRUFSIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgojIEZJUlNUIEFVVEhPUiA8RU1BSUxAQUREUkVTUz4sIFlFQVIuCiMKbXNnaWQgIiIKbXNnc3RyICIiCiJQcm9qZWN0LUlkLVZlcnNpb246IFBBQ0tBR0UgVkVSU0lPTlxuIgoiUE9ULUNyZWF0aW9uLURhdGU6IDIwMDEtMDQtMjkgMjI6NDArMDIwMFxuIgoiUE8tUmV2aXNpb24tRGF0ZTogWUVBUi1NTy1EQSBITzpNSStaT05FXG4iCiJMYXN0LVRyYW5zbGF0b3I6IEZVTEwgTkFNRSA8RU1BSUxAQUREUkVTUz5cbiIKIkxhbmd1YWdlLVRlYW06IExBTkdVQUdFIDxMTEBsaS5vcmc+XG4iCiJNSU1FLVZlcnNpb246IDEuMFxuIgoiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PUlTTy04ODU5LTFcbiIKIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKCiMuIGxvY2F0aW9uIGNoYW5nZWQKIzogY29nYXJpdGhtZXRpYy5jYzozMwptc2dpZCAid2hpdGUiCm1zZ3N0ciAiIgpFT0YKCjogJHtNU0dNRVJHRT1tc2dtZXJnZX0KJHtNU0dNRVJHRX0gLXEgLS11cGRhdGUgbW0tdS0yLnBvIG1tLXUtMi5wb3QgfHwgRXhpdCAxCm12IG1tLXUtMi5wbyBtbS11LTIudG1wIHx8IHsgRXhpdCAxOyB9CkxDX0FMTD1DIHRyIC1kICdccicgPCBtbS11LTIudG1wID4gbW0tdS0yLnBvIHx8IEV4aXQgMQoKY2F0IDw8XEVPRiA+IG1tLXUtMi5vawojIFNPTUUgREVTQ1JJUFRJVkUgVElUTEUuCiMgQ29weXJpZ2h0IChDKSBZRUFSIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgojIEZJUlNUIEFVVEhPUiA8RU1BSUxAQUREUkVTUz4sIFlFQVIuCiMKbXNnaWQgIiIKbXNnc3RyICIiCiJQcm9qZWN0LUlkLVZlcnNpb246IGNvZ190cmFpbmluZyAxLjBcbiIKIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDAxLTA0LTI5IDIyOjQwKzAyMDBcbiIKIlBPLVJldmlzaW9uLURhdGU6IDIwMDEtMDQtMjkgMjE6MTkrMDI6MDBcbiIKIkxhc3QtVHJhbnNsYXRvcjogRmVsaXggTi4gPHh5ekB6eXgudXVjcD5cbiIKIkxhbmd1YWdlLVRlYW06IEdlcm1hbiA8ZGVAbGkub3JnPlxuIgoiTGFuZ3VhZ2U6IGRlXG4iCiJNSU1FLVZlcnNpb246IDEuMFxuIgoiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PUlTTy04ODU5LTFcbiIKIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKCiMuIGxvY2F0aW9uIGNoYW5nZWQKIzogY29nYXJpdGhtZXRpYy5jYzozMwptc2dpZCAid2hpdGUiCm1zZ3N0ciAid2Vp3yIKRU9GCgo6ICR7RElGRj1kaWZmfQoke0RJRkZ9IG1tLXUtMi5vayBtbS11LTIucG8KcmVzdWx0PSQ/CgpleGl0ICRyZXN1bHQK