IyBUaGUgbGV0dGVycyBpbiB0aGlzIGZpbGUgYXJlIGNhc2Ugc2Vuc2l0aXZlLCB1c2UgbG93ZXIgY2FzZSBvbmx5ICEhIQoKU21lQ29ubmVjdE1vZGUgPSAxICAgICAgICAgICAgICAgIzAgLSBhdXRvLCAxIC0gbWFudWFsClNjYW5SZXN1bHRBZ2luZyA9IDAgICAgICAgICAgICAgICMgaW4gU2Vjb25kIC0gcmFuZ2UgMC4uMTAwMApXTUVfRW5hYmxlID0gMSAgICAgICAgICAgICAgICAgICAjMD1kaWFibGUgV01FIHN1cHBvcnQgLyAxPUVuYWJsZQpkb3QxMU5ldHdvcmtUeXBlID0gMyAgICAgICAgICAgICAjMiAtIEEgb25seSBtb2RlLCAzIC0gQi9HIG1vZGUsIDQgLSBBL0cgRHVhbCBtb2RlClNtZVNjYW5HQ2hhbm5lbExpc3QgPSAxLDIsMyw0LDUsNiw3LDgsOSwxMCwxMSwxMiwxMywxNApTbWVTY2FuQUNoYW5uZWxMaXN0ID0gMzYsNDAsNDQsNDgsNTIsNTYsNjAsNjQKUmVjb3ZlcnlFbmFibGUgPSAxICAgICAgICAgICAgICAgIzAgLURpc2FibGVkIDEtIEVuYWJsZWQKQlRoV2xhbkNvZXhpc3RFbmFibGUgPSAxICAgICAgICAgIzAgLSBTRyBkaXNhYmxlLCAxIC0gU0cgcHJvdGVjdGl2ZQpUeEFnZ3JlZ2F0aW9uUGt0c0xpbWl0ID0gMCAgICAgICAjIERpc2FibGUgVHggcGFja2V0cyBhZ2dyZWdhdGlvbiBmb3IgTGludXggKGRlZ3JhZGVzIFRQKQoKIwojIFBvd2VyIE1hbmFnZXIKIwpCZWFjb25MaXN0ZW5JbnRlcnZhbCA9IDEgICAgICAgICMgdGhlIG51bWJlciBvZiBOLUJlYWNvbiBvciBOLURUaW0KRHRpbUxpc3RlbkludGVydmFsID0gMSAgICAgICAgICAjCgpSZUF1dGhBY3RpdmVQcmlvcml0eSA9IDAKCmRvdDExUG93ZXJNb2RlID0gMCAgICAgICAgICAgICAgIzAgLSBBdXRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIzEgLSBBY3RpdmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjMiAtIFNob3J0IERvemUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjMyAtIExvbmcgRG96ZQogICAgICAgICAgICAgICAgICAgIApQb3dlck1nbXRIYW5nT3ZlclBlcmlvZCA9IDEwICAgICNpbiBtU2VjIHVuaXRzIAoKQXV0b1Bvd2VyTW9kZURvemVNb2RlID0gMyAgICAgICAjMiAtIFNob3J0IERvemUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjMyAtIExvbmcgRG96ZQoKQXV0b1Bvd2VyTW9kZUFjdGl2ZVRoID0gOCAgICAgICAjcGFja2V0cyBwZXIgc2Vjb25kIChkZWZhdWx0IDE1KQoKQXV0b1Bvd2VyTW9kZURvemVUaCA9IDQgICAgICAgICAjcGFja2V0cyBwZXIgc2Vjb25kcyAtIHRocmVzaG9sZCBmb3IgZW50ZXJpbmcgRUxQIGluIEF1dG8gbW9kZSAoZGVmYXVsdCA4KQoKZGVmYXVsdFBvd2VyTGV2ZWwgPSAwICAgIzAgLSBFTFAKICAgICAgICAgICAgICAgICAgICAgICAgIzEgLSBQRAogICAgICAgICAgICAgICAgICAgICAgICAjMiAtIEFXQUtFCgpQb3dlclNhdmVQb3dlckxldmVsID0gMCAjMCAtIEVMUAogICAgICAgICAgICAgICAgICAgICAgICAjMSAtIFBECiAgICAgICAgICAgICAgICAgICAgICAgICMyIC0gQVdBS0UKCkRjb0l0cmltRW5hYmxlZCA9IDAgICMgMCAtIERpc2FibGVkICAxIC0gRW5hYmxlZApEY29JdHJpbU1vZGVyYXRpb25UaW1lb3V0ID0gNTAwMDAKClR4UG93ZXIgPSAyMDUgICAgICAgICAgICNzZXQgRGVmYXVsdCBUeCBQb3dlciBMZXZlbCBpbiBEQk0gKiAxMApkb3QxMUZyYWdtZW50YXRpb25UaHJlc2hvbGQgPSA0MDk2CmRvdDExUlRTVGhyZXNob2xkID0gNDA5NgpXUEFNaXhlZE1vZGU9IDEKUlNOUHJlQXV0aGVudGljYXRpb24gPSAxCgpDYWxpYnJhdGlvbkNoYW5uZWwyNCA9IDcKQ2FsaWJyYXRpb25DaGFubmVsNSA9IDM2CgojIFJlZ3VsYXR1cnkgRG9tYWluIHRhYmxlcy4gCiMgRWFjaCBieXRlIGNvcnJlbGF0ZXMgdG8gb25lIGNoYW5uZWwgaW4gc2VxdWVudGlhbCBvcmRlci4gIFRhYmxlIDIuNCBzdGFydHMgZnJvbSBjaGFubmVsIDEsIFRhYmxlIDUuMCBzdGFydHMgZnJvbSBjaGFubmVsIDM2LgojIEJpdHMgMC4uNCAtIE1heCBwb3dlciBhbGxvd2VkIGluIERibS4KIyBCaXQgNiAtIENoYW5uZWwgaXMgYWxsb3dlZCBmb3IgQWN0aXZlIHNjYW4KIyBCSXQgNyAtIENoYW5uZWwgaXMgYWxsb3dlZApBbGxvd2VkQ2hhbm5lbHNUYWJsZTI0ID0gRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgpBbGxvd2VkQ2hhbm5lbHNUYWJsZTUgPSBGRjAwMDAwMEZGMDAwMDAwRkYwMDAwMDBGRjAwMDAwMEZGMDAwMDAwRkYwMDAwMDBGRjAwMDAwMEZGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZGMDAwMDAwRkYwMDAwMDBGRjAwMDAwMEZGMDAwMDAwRkYwMDAwMDBGRjAwMDAwMEZGMDAwMDAwRkYwMDAwMDBGRjAwMDAwMEZGMDAwMDAwRkYwMDAwMDAwMDAwMDAwMDAwRkYwMDAwMDBGRjAwMDAwMEZGMDAwMDAwRkYwMDAwMDBGRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoKU3BlY3RydW1NYW5hZ2VtZW50ID0gMCAgICAgICAgICAjIDAgLSBEaXNhYmxlIDgwMi4xMWgsIDEgLSBFbmFibGUKClJ4QnJvYWRjYXN0SW5QcyA9IDEKCiNhcnAgaXAgZmlsdGVyIC0gbXVzdCBiZSB3cml0dGVuIDggY2hhcmFjdGVycyBmb3IgZXhhbXBsZSAxMC4yLjQzLjMgLT4gMGEgMDIgMmIgMjEgYW5kIG5vdCBhIDIgMmIgMjEKQXJwSXBfQWRkciA9IDBhIDAyIDBhIGI3CkFycElwX0ZpbHRlcl9lbmEgPSAwCgoKI21hYyBmaWx0ZXIKTWFjX0ZpbHRlcl9FbmFibGVkID0gMApudW1Hcm91cEFkZHJzID0gNApHcm91cF9hZGRyMCA9IDEwIDAxIDAyIDAzIDA0IDA1Ckdyb3VwX2FkZHIxID0gMTEgMTEgMTIgMTMgMTQgMTUKR3JvdXBfYWRkcjIgPSAxMiAyMSAyMiAyMyAyNCAyNQpHcm91cF9hZGRyMyA9IDEzIDMxIDMyIDMzIDM0IDM1Ckdyb3VwX2FkZHI0ID0gMTQgNDEgNDIgNDMgNDQgNDUKR3JvdXBfYWRkcjUgPSAxNSA1MSA1MiA1MyA1NCA1NQpHcm91cF9hZGRyNiA9IDE2IDYxIDYyIDYzIDY0IDY1Ckdyb3VwX2FkZHI3ID0gMTcgNzEgNzIgNzMgNzQgNzUKCiNiZWFjb24gZmlsdGVyCkJlYWNvbl9GaWx0ZXJfRGVzaXJlZF9TdGF0ZSA9IDEKQmVhY29uX0ZpbHRlcl9TdG9yZWQgPSAxCgojYmVhY29uIElFIHRhYmxlCiN0aGUgc2l6ZSBpcyB0aGUgbGVuIG9mIHRoZSBzdHJpbmcgLSBzcGFjZXMgPSBudW1iZXIgb2YgYnl0ZXMKQmVhY29uX0lFX051bV9PZl9FbGVtID0gMTYKQmVhY29uX0lFX1RhYmxlX1NpemUgPSAzNwpCZWFjb25fSUVfVGFibGUgPSAwMCAwMSAwMSAwMSAzMiAwMSAyYSAwMSAwMyAwMSAwNiAwMSAwNyAwMSAyMCAwMSAyNSAwMSAyMyAwMSAzMCAwMSAyOCAwMSAyZSAwMSAzZCAwMSA4NSAwMSBkZCAwMSAwMCA1MiBmMiAwMiAwMCAwMQoKI1JhdGUgYWRhcHRhdGlvbgpSYXRlQ29udFRocmVzaG9sZCAgICAgICA9IDEwClJhdGVTdGVwVXBUaHJlc2hvbGQgICAgID0gMgpGQlNob3J0SW50ZXJ2YWwgICAgICAgICA9IDQwCkZCTG9uZ0ludGVydmFsICAgICAgICAgID0gMjAwClJhdGVBZGFwdGF0aW9uVGltZW91dCAgID0gMzAwCgojIHJhdGUgcG9saWN5IC0gc2hvcnQgLyBsb25nIHJldHJpZXMKUmF0ZVBvbGljeVVzZXJTaG9ydFJldHJ5TGltaXQgICA9IDEwClJhdGVQb2xpY3lVc2VyTG9uZ1JldHJ5TGltaXQgICAgPSAxMAoKI3JhdGUgcG9saWNpZXMgCiNyYXRlcyBndWlkZTogLS0+Pm1jczcsbXNjNixtY3M1LG1jczQsbWNzMyxtY3MyLG1jczEsbWNzMCw1NCw1OCwzNiwyNCwyMiwxOCwxMiwxMSw5LDYsNS41LDIsMQoKCk9zRGJnU3RhdGUgPSAweDAxZTkwMDNjICAgICAgICAgIyAtMSBvciAweGZmZmZmZmZmIC1hbGwgKG9wZW5zIGRlYnVnIG1lc3NhZ2VzIGluIG8ucy4gb25seSAtIHNldmlyaXR5K21vZHVsZXMpCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgICBDb25maWd1cmUgdGhlIHNldmVyaXR5IHRhYmxlICgwID0gRGlzYWJsZS8gMSA9IEVuYWJsZSkKIwojICAgQnl0ZSAjMDogSW5pdAojICAgQnl0ZSAjMTogSW5mb3JtYXRpb24KIyAgIEJ5dGUgIzI6IFdhcm5pbmcKIyAgIEJ5dGUgIzM6IEVycm9yCiMgICBCeXRlICM0OiBGYXRhbCBFcnJvcgojICAgQnl0ZSAjNTogU00KIyAgIEJ5dGUgIzY6IENvbnNvbGUKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKUmVwb3J0U2V2ZXJpdHlUYWJsZSA9IDAwMDAxMTAxCgpCZWFjb25SZWNlaXZlVGltZSA9IDUwCgojCiMgTWVtIGJsb2NrcwojClJ4TWVtQmxrc051bSA9IDUwClFPU190eEJsa3NUaHJlc2hvbGRCRSA9IDIwClFPU190eEJsa3NUaHJlc2hvbGRWSSA9IDIwClFPU190eEJsa3NUaHJlc2hvbGRWTyA9IDIwCgojCiMgUU9TIFVQU0QKIwoKZGVzaXJlZFBzTW9kZSAgICAgICA9IDEgICAgICAgICAgIyBHbG9iYWwgUG93ZXIgc2F2ZSBkZWxpdmVyeSBwcm90b2NvbCAoMSAtIFVQU0QsIDAgLSBMZWdhY3kpClFPU193bWVQc01vZGVCRSAgICAgPSAxICAgICAgICAgICMgUG93ZXIgc2F2ZSBkZWxpdmVyeSBwcm90b2NvbCBmb3IgQkUgQUMgKDEgLSBVUFNELCAwIC0gTGVnYWN5KQpRT1Nfd21lUHNNb2RlQksgICAgID0gMSAgICAgICAgICAjIFBvd2VyIHNhdmUgZGVsaXZlcnkgcHJvdG9jb2wgZm9yIEJLIEFDICgxIC0gVVBTRCwgMCAtIExlZ2FjeSkKUU9TX3dtZVBzTW9kZVZJICAgICA9IDEgICAgICAgICAgIyBQb3dlciBzYXZlIGRlbGl2ZXJ5IHByb3RvY29sIGZvciBWSSBBQyAoMSAtIFVQU0QsIDAgLSBMZWdhY3kpClFPU193bWVQc01vZGVWTyAgICAgPSAxICAgICAgICAgICMgUG93ZXIgc2F2ZSBkZWxpdmVyeSBwcm90b2NvbCBmb3IgVk8gQUMgKDEgLSBVUFNELCAwIC0gTGVnYWN5KQoKIwojIFFPUyBDbGFzc2lmaWVyCiMKQ2xzZnJfVHlwZSA9IDEgICAgICAgICAgICAgICAgICAjIDEgLSBEU0NQLCAyIC0gUG9ydCwgMyAtIElQK3BvcnQKCgpOdW1PZkNvZGVQb2ludHMgPSA0CkRTQ1BDbGFzc2lmaWVyMDBfQ29kZVBvaW50ID0gMCAgICAgICAgICAgICAgICAjQmVzdCBFZmZvcnQgICAgICAgICAgCkRTQ1BDbGFzc2lmaWVyMDBfRFRhZyA9IDAKCkRTQ1BDbGFzc2lmaWVyMDFfQ29kZVBvaW50ID0gOCAgICAgICAgICAgICAgICAjQmFja2dyb3VuZApEU0NQQ2xhc3NpZmllcjAxX0RUYWcgPSAxCgpEU0NQQ2xhc3NpZmllcjAyX0NvZGVQb2ludCA9IDQwICAgICAgICAgICAgICAgI1ZpZGVvCkRTQ1BDbGFzc2lmaWVyMDJfRFRhZyA9IDUKCkRTQ1BDbGFzc2lmaWVyMDNfQ29kZVBvaW50ID0gNTYgICAgICAgICAgICAgICAjVm9pY2UKRFNDUENsYXNzaWZpZXIwM19EVGFnID0gNgoKZG90MTFNYXhSZWNlaXZlTGlmZXRpbWU9NTEyMDAwCkZyYWNPZkxpZmVUaW1lVG9Ecm9wID0gNTAKCldpRmlBZGhvYyA9IDAKV2lGaVdtbVBTID0gMAkjIFVzZSAxIG9uIFdpRmkgdGVzdCBpbiBvcmRlciB0byBjb25maWd1cmUgUFMgdG8gd29yayBpbiBXTU0gbW9kZSAKCkVhcmx5V2FrZVVwID0gMSAgICAgIyAwIC0gRGlzYWJsZSAsIDEgLSBFbmFibGUKClR4RW5lcmd5RGV0ZWN0aW9uID0gMAkjIFVzZSAxIGZvciBlbmFibGluZwoKVHJpZ2dlcmVkU2NhblRpbWVPdXQgPSA1MDAwMCAjIE1heGltdW0gdGltZSBpbiBVcyBiZXR3ZWVuIDIgY2hhbm5lbHMgb24gdHJpZ2dlcmVkIHNjYW4KIyBQc1BvbGwgZGVsaXZlcnkgZmFpbHVyZSBzb2x1dGlvbgpQc1BvbGxEZWxpdmVyeUZhaWx1cmVSZWNvdmVyeVBlcmlvZCA9IDIwCQkjIFRpbWUgaW4gTXMgdG8gc3RheSBBQ1RJVkUgKCcwJyB0byBkaXNhYmxlIGZlYXR1cmUpCkNvbnNlY3V0aXZlUHNQb2xsRGVsaXZlcnlGYWlsdXJlVGhyZXNob2xkID0gNCAgICMgTnVtYmVyIG9mIGZhaWxlZCBQc1BvbGwncyB0byBzdGFydCBBQ1RJVkUgdGltZSBvdXQKCgojIFdlaWdodHMgaW4gcGVyY2VudCBmb3IgUlNTSS9TTlIgQXZlcmFnZSBjYWxjdWxhdGlvbnMKUnNzaUJlYWNvbkF2ZXJhZ2VXZWlnaHQgPSAyMApSc3NpUGFja2V0QXZlcmFnZVdlaWdodCA9IDEwClNuckJlYWNvbkF2ZXJhZ2VXZWlnaHQgPSAyMApTbnJQYWNrZXRBdmVyYWdlV2VpZ2h0ID0gMTAKCkhUX0VuYWJsZT0xICAgICAgICAgICAgICAgICAgICAgIzA9ZGlhYmxlIDgwMi4xMW4gc3VwcG9ydCAvIDE9RW5hYmxlCklic3NQcm90ZWN0aW9uVHlwZSA9IDEgICAgICAgICAgIyAwID0gQ1RTIHByb3RhY3Rpb24gZGlzYWJsZSA7IDEgPSBTdGFuZGFyZCBDVFMgcHJvdGFjdGlvbgpCdXJzdE1vZGVFbmFibGUgPSAwICAgICAgICAgICAgICMgMCAtIERpc2FibGVkICAxIC0gRW5hYmxlZApSb2FtU2NhbkVuYWJsZSA9IDAgICAgICAgICAgICAgICMgMS0gcm9hbWluZyBhbmQgaW1taWRhdGUgc2NhbiBlbmFibGUgYnkgZGVhZnVsdCAwLSBhbGxvd2luZyByb2FtaW5nICYgc2Nhbm5pZyBkdWUgdG8gQ0xJIGNvbmZndXJhdGlvbgpSb2FtaW5nT3BlcmF0aW9uYWxNb2RlID0gMSAgICAgICMgMD1NYW51YWwgLCAxPUF1dG8KUlNORXh0ZXJuYWxNb2RlID0gMCAgICAgICAgICAgICAjIDA9SW50ZXJuYWwgLCAxPUV4dGVybmFsClNlbmRUc3BlY0luUmVhc3NQa3QgPSAwICMgMD1kbyBub3Qgc2VuZCwgMT1zZW5kCgoKRm1Db2V4dVN3YWxsb3dQZXJpb2QgPSA1CkZtQ29leHVORGl2aWRlckZyZWZTZXQyID0gMTIKRm1Db2V4dU1EaXZpZGVyRnJlZlNldDIgPSAxNDgKCkJhUG9saWN5VGlkXzAgPSAzCgoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIFJhZGlvIHBhcmFtZXRlcnMgZGF0YSAtIFN0YXJ0ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBHZW5lcmFsIHBhcmFtZXRlcnMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKU1RSRlJlZkNsb2NrID0gMSAgICAgICAgICAgICAgICAjIFVuaXQ6IE9wdGlvbnMgNSdiWFgwMDAgOiBCaXQgMCwxLDIgLSAoMDogMTkuMk1IejsgMTogMjZNSHo7IDI6IDM4LjRNSHogIChEZWZhdWx0KTsgMzogNTJNSHo7ICA0OiAzOC40TUh6IFhUQUwpIDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIDUnYlgwWFhYIDogQml0IDMgLSBDTEtfUkVRIHR5cGU7ICAwID0gd2lyZWQtT1IgKERlZmF1bHQpICwgMT0gcHVzaC1wdWxsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyA1J2IwWFhYWCA6IEJpdCA0IC0gQ0xLX1JFUSBwb2xhcml0eTsgMCA9IE5vcm1hbCAoRGVmYXVsdCkgLCAxPUludmVydGVkLCBGb3JtYXQ6IFVuc2lnbmVkLCBTb3VyY2U6IEN1c3RvbWVyClNUUkZSZWZDbG9ja1NldHRpbmdUaW1lID0gNQpUWEJpUEZFTUF1dG9EZXRlY3QgPSAwICAgICAgICAgICMgVW5pdDogT3B0aW9ucyAoMDogTWFudWFsIE1vZGU7IDE6IEF1dG9tYXRpYyBtb2RlKSwgRm9ybWF0OiBVbnNpZ25lZCwgU291cmNlOiBDdXN0b21lcgpUWEJpUEZFTU1hbnVmYWN0dXJlciA9IDEgICAgICAgICMgVW5pdDogT3B0aW9ucyAoMDogUkZNRDsgMTogVHJpcXVpbnQpLCBGb3JtYXQ6IFVuc2lnbmVkLCBTb3VyY2U6IEN1c3RvbWVyCkNsb2NrVmFsaWRPbldha2V1cCA9IDAKREMyRENNb2RlID0gMCAgICAgICAgICAgICAgICAgICAjIFVuaXQ6IE9wdGlvbnMgKDA6IGJ0U1BJIGlzIG5vdCB1c2VkOyAxOiBtdXggREMyREMgbW9kZSB0byBCVF9GVU5DMiksIEZvcm1hdDogVW5zaWduZWQsIFNvdXJjZTogQ3VzdG9tZXIKU2luZ2xlX0R1YWxfQmFuZF9Tb2x1dGlvbiA9IDAgICAjIFVuaXQ6IE9wdGlvbnMgKDA6IFNpbmdsZSBiYW5kLiAyLjRHSHogb25seTsgMTogRHVhbCBiYW5kID0gMi40R0h6IGFuZCA1R0h6IHNvbHV0aW9uKSwgRm9ybWF0OiBVbnNpZ25lZCwgU291cmNlOiBDdXN0b21lcgpTZXR0aW5ncyAgPSA2NSAgICAgICAgICAgICAgICAgICMgIDB4NDEgVW5pdDogT3B0aW9ucyAoQml0MDogTkJJICgwOiBPZmY7IDE6IE9uKSwgQml0MTogVGVsZWMgY2hhbm5lbCAxNCAoMDogT2ZmOyAxOiBPbiksIEZvcm1hdDogVW5zaWduZWQsIFNvdXJjZTogQ3VzdG9tZXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIEJpdDI6IEZFTTAtTEIsIEJpdDM6IEZFTTAtSEIsIEJpdDQ6IEZFTTEtTEIsIEJpdDU6IEZFTTEtSEIgLSBUWCBCaVAgbG9hZCAoMDogSW50ZXJuYWw7IDE6IEV4dGVybmFsKSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBCaXQ2OiBMUEQgTG93IGJhbmQsIEJpdDc6IExQRCBIaWdoIGJhbmQKCiMgU21hcnQgUmVmbGV4IHBhcmFtcwpTUlN0YXRlID0gMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgVW5pdDogT3B0aW9ucyAoIDEgLSBFbmFibGVkIKCgoCAwLSBEaXNhYmxlZCkgRm9ybWF0OiBEZWNpbWFsLCBTb3VyY2U6IFRJClNSRjEgPSAwNywwMywxOCwxMCwwNSxmYixmMCxlOCwgMCwwLDAsMCwwLDAsMGYsM2YgICMgVW5pdDogU1JGMSB2YWx1ZXMsIEZvcm1hdDogU2lnbmVkLCBTb3VyY2U6IFRJClNSRjIgPSAwNywwMywxOCwxMCwwNSxmNixmMCxlOCAgICAgICAgICAgICAgIyBVbml0OiBTUkYyIHZhbHVlcywgRm9ybWF0OiBTaWduZWQsIFNvdXJjZTogVEkKU1JGMyA9IDA3LDAzLDE4LDEwLDA1LGZiLGYwLGU4ICAgICAgICAgICAgICAjIFVuaXQ6IFNSRjMgdmFsdWVzLCBGb3JtYXQ6IFNpZ25lZCwgU291cmNlOiBUSQoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgRkVNIGRlcGVuZGVudHMgcGFyYW1ldGVycyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBGRU0xIHBhcmFtZXRlcnMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKIyAoZm9yIFNpbmdsZSBiZW5kIDIuNEcgcGFyYW1ldGVycyBGRU0xIChUUVMgMi41KSBIREsyMCkKClJ4VHJhY2VJbnNlcnRpb25Mb3NzXzJfNEcgPSAwClRYVHJhY2VMb3NzXzJfNEcgID0gMApSeFJzc2lBbmRQcm9jZXNzQ29tcGVuc2F0aW9uXzJfNEcgPSBlYyxmNiwwMCwwYywxOCxmOCxmYywwMCwwOCwxMCxmMCxmOCwwMCwwYSwxNApUWEJpUFJlZmVyZW5jZVBEdm9sdGFnZV8yXzRHID0gMzc1ICAjIDB4MTc3ClR4QmlQUmVmZXJlbmNlUG93ZXJfMl80RyA9IDEyOCAgICAgICMgMHg4MApUeEJpUE9mZnNldGRCXzJfNEcgPSAwClR4UGVyUmF0ZVBvd2VyTGltaXRzXzJfNEdfTm9ybWFsID0gMWQsIDFmLCAyMiwgMjYsIDI4LCAyOQpUeFBlclJhdGVQb3dlckxpbWl0c18yXzRHX0RlZ3JhZGVkID0gMWEsIDFmLCAyMiwgMjQsIDI2LCAyOApUeFBlclJhdGVQb3dlckxpbWl0c18yXzRHX0V4dHJlbWUgPSAxNiwgMWQsIDFlLCAyMCwgMjQsIDI1ICMgVW5pdDogMS8yZEIsIEZvcm1hdDogU2lnbmVkLCBTb3VyY2U6IEN1c3RvbWVyCkRlZ3JhZGVkTG93VG9Ob3JtYWxUaHJfMl80RyA9IDMwICMgMHgxZSBVbml0OiAxLzEwIHZvbHRzLCBGb3JtYXQ6IFVuc2lnbmVkLCBTb3VyY2U6IFRJCk5vcm1hbFRvRGVncmFkZWRIaWdoVGhyXzJfNEcgPSA0NSAjIDB4MmQgVW5pdDogMS8xMCB2b2x0cywgRm9ybWF0OiBVbnNpZ25lZCwgU291cmNlOiBUSQpUeFBlckNoYW5uZWxQb3dlckxpbWl0c18yXzRHXzExYiA9IDUwLDUwLDUwLDUwLDUwLDUwLDUwLDUwLDUwLDUwLDUwLDUwLDUwLDUwClR4UGVyQ2hhbm5lbFBvd2VyTGltaXRzXzJfNEdfT0ZETSA9IDUwLDUwLDUwLDUwLDUwLDUwLDUwLDUwLDUwLDUwLDUwLDUwLDUwLDUwClR4UERWc1JhdGVPZmZzZXRzXzJfNEcgPSAwMSwwMiwwMiwwMiwwMiwwMApUeEliaWFzVGFibGVfMl80RyA9IDExLDExLDE1LDExLDE1LDBmClJ4RmVtSW5zZXJ0aW9uTG9zc18yXzRHICA9IDE0ICAjIDB4MGUKCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIEZFTTAgcGFyYW1ldGVycyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgojIChmb3IgU2luZ2xlIGJlbmQgMi40RyBwYXJhbWV0ZXJzIEZFTTAgKFJGTUQgMy4wKSBIREsyMCkKCiNSeFRyYWNlSW5zZXJ0aW9uTG9zc18yXzRHID0gMAojVFhUcmFjZUxvc3NfMl80RyA9IDAKI1J4UnNzaUFuZFByb2Nlc3NDb21wZW5zYXRpb25fMl80RyAgPSBlYyxmNiwwMCwwYywxOCxmOCxmYywwMCwwOCwxMCxmMCxmOCwwMCwwYSwxNAojVFhCaVBSZWZlcmVuY2VQRHZvbHRhZ2VfMl80RyA9IDM1NiAjIDB4MDE2NCAKI1R4QmlQUmVmZXJlbmNlUG93ZXJfMl80RyAgPSAxMjggIyAweDgwIAojVHhCaVBPZmZzZXRkQl8yXzRHID0gMCAKI1R4UGVyUmF0ZVBvd2VyTGltaXRzXzJfNEdfTm9ybWFsID0gMWMsMWYsMjIsMjQsMjgsMjkKI1R4UGVyUmF0ZVBvd2VyTGltaXRzXzJfNEdfRGVncmFkZWQgPSAxOSwxZiwyMiwyMywyNywyOAojVHhQZXJSYXRlUG93ZXJMaW1pdHNfMl80R19FeHRyZW1lID0gNTAsNTAsNTAsNTAsNTAsNTAgIyBVbml0OiAxLzJkQiwgRm9ybWF0OiBTaWduZWQsIFNvdXJjZTogQ3VzdG9tZXIKI0RlZ3JhZGVkTG93VG9Ob3JtYWxUaHJfMl80RyA9IDMwICMgMWUgVW5pdDogMS8xMCB2b2x0cywgRm9ybWF0OiBVbnNpZ25lZCwgU291cmNlOiBUSQojTm9ybWFsVG9EZWdyYWRlZEhpZ2hUaHJfMl80RyA9IDQ1ICMgMmQgVW5pdDogMS8xMCB2b2x0cywgRm9ybWF0OiBVbnNpZ25lZCwgU291cmNlOiBUSSAKI1R4UGVyQ2hhbm5lbFBvd2VyTGltaXRzXzJfNEdfMTFiID0gNTAsNTAsNTAsNTAsNTAsNTAsNTAsNTAsNTAsNTAsNTAsNTAsNTAsNTAKI1R4UGVyQ2hhbm5lbFBvd2VyTGltaXRzXzJfNEdfT0ZETSA9IDUwLDUwLDUwLDUwLDUwLDUwLDUwLDUwLDUwLDUwLDUwLDUwLDUwLDUwCiNUeFBEVnNSYXRlT2Zmc2V0c18yXzRHID0gMDEsMDIsMDIsMDIsMDIsMDAKI1R4SWJpYXNUYWJsZV8yXzRHICA9IDFhLDFhLDFhLDFhLDFhLDIxCiNSeEZlbUluc2VydGlvbkxvc3NfMl80RyAgPSAxNiAjIDB4MTAKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBSYWRpbyBwYXJhbWV0ZXJzIGRhdGEgLSBFbmQgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgoKCgoKCg==