LyoKICogTm90ZXBhZCAoU3dlZGlzaCByZXNvdXJjZXMpCiAqCiAqIENvcHlyaWdodCAxOTk3IE1hcmNlbCBCYXVyIDxtYmF1ckBnMjYuZXRoei5jaD4KICogU3dlZGlzaCBsYW5ndWFnZSBieSBLYXJsIEJhY2tzdHL2bSA8a2FybF9iQGdlb2NpdGllcy5jb20+CiAqLwoKI2RlZmluZSBMQU5HVUFHRV9JRCAgICAgICAgICAgICAgICAgIFN3CiNkZWZpbmUgTEFOR1VBR0VfTlVNQkVSICAgICAgICAgICAgICAxZAojZGVmaW5lIExBTkdVQUdFX01FTlVfSVRFTSAgICAgICAgICAgIiZTdmVuc2thIgoKLyogTWVudSAqLwoKI2RlZmluZSBNRU5VX0ZJTEUgICAgICAgICAgICAgICAgICAgICImQXJraXYiCiNkZWZpbmUgTUVOVV9GSUxFX05FVyAgICAgICAgICAgICAgICAiJk55Li4uIgojZGVmaW5lIE1FTlVfRklMRV9PUEVOICAgICAgICAgICAgICAgItYmcHBuYSIKI2RlZmluZSBNRU5VX0ZJTEVfU0FWRSAgICAgICAgICAgICAgICImU3BhcmEiCiNkZWZpbmUgTUVOVV9GSUxFX1NBVkVBUyAgICAgICAgICAgICAiU3BhcmEgJnNvbS4uLiIKI2RlZmluZSBNRU5VX0ZJTEVfUFJJTlQgICAgICAgICAgICAgICImU2tyaXYgdXQiCiNkZWZpbmUgTUVOVV9GSUxFX1BBR0VTRVRVUCAgICAgICAgICAiU2lkIExhJnlvdXQuLi4iCiNkZWZpbmUgTUVOVV9GSUxFX1BSSU5UU0VUVVAgICAgICAgICAiU2tyaXZhciAmaW5zdORsbG5pbmdhci4uLiIKI2RlZmluZSBNRU5VX0ZJTEVfRVhJVCAgICAgICAgICAgICAgICImQXZzbHV0YSIKCiNkZWZpbmUgTUVOVV9FRElUICAgICAgICAgICAgICAgICAgICAiJlJlZGlnZXJhIgojZGVmaW5lIE1FTlVfRURJVF9VTkRPICAgICAgICAgICAgICAgIiZVbmRvXHRDdHJsK1oiCiNkZWZpbmUgTUVOVV9FRElUX0NVVCAgICAgICAgICAgICAgICAiS2xpcHBhXHRDdHJsK1giCiNkZWZpbmUgTUVOVV9FRElUX0NPUFkgICAgICAgICAgICAgICAiJktvcGllcmFcdEN0cmwrQyIKI2RlZmluZSBNRU5VX0VESVRfUEFTVEUgICAgICAgICAgICAgICImS2xpc3RyYSBpblx0Q3RybCtWIgojZGVmaW5lIE1FTlVfRURJVF9ERUxFVEUgICAgICAgICAgICAgIiZUYSBib3J0XHREZWwiCiNkZWZpbmUgTUVOVV9FRElUX1NFTEVDVEFMTCAgICAgICAgICAiTWFya2VyYSAmYWxsdCIKI2RlZmluZSBNRU5VX0VESVRfVElNRURBVEUgICAgICAgICAgICImVGlkL0RhdHVtXHRGNSIKI2RlZmluZSBNRU5VX0VESVRfV1JBUCAgICAgICAgICAgICAgICImRGVsYSBs5W5nYSBtZW5pbmdhciIKCiNkZWZpbmUgTUVOVV9TRUFSQ0ggICAgICAgICAgICAgICAgICAiJlP2ayIKI2RlZmluZSBNRU5VX1NFQVJDSF9TRUFSQ0ggICAgICAgICAgICJT9msuLi4iCiNkZWZpbmUgTUVOVV9TRUFSQ0hfTkVYVCAgICAgICAgICAgICAiJlP2ayBu5HN0YVx0RjMiCgojZGVmaW5lIE1FTlVfTEFOR1VBR0UgICAgICAgICAgICAgICAgIiZTcHLlayIKCiNkZWZpbmUgTUVOVV9IRUxQICAgICAgICAgICAgICAgICAgICAiJkhq5GxwIgojZGVmaW5lIE1FTlVfSEVMUF9DT05URU5UUyAgICAgICAgICAgIiZJbm5laOVsbCIKI2RlZmluZSBNRU5VX0hFTFBfU0VBUkNIICAgICAgICAgICAgICImU/ZrLi4uIgojZGVmaW5lIE1FTlVfSEVMUF9IRUxQX09OX0hFTFAgICAgICAgIkFuduRuZG5pbmdlbiAmYXYgaGrkbHAiCgojZGVmaW5lIE1FTlVfSU5GTyAgICAgICAgICAgICAgICAgICAgIkluZiZvcm1hdGlvbi4uLiIKI2RlZmluZSBNRU5VX0lORk9fTElDRU5TRSAgICAgICAgICAgICImTGljZW5zIgojZGVmaW5lIE1FTlVfSU5GT19OT19XQVJSQU5UWSAgICAgICAgIiZJTkdFTiBHQVJBTlRJIgojZGVmaW5lIE1FTlVfSU5GT19BQk9VVF9XSU5FICAgICAgICAgIiZPbSBXaW5lIgoKLyogRGlhbG9ncyAqLwoKI2RlZmluZSBESUFMT0dfT0sgICAgICAgICAgICAgICAgICAgICJPSyIKI2RlZmluZSBESUFMT0dfQ0FOQ0VMICAgICAgICAgICAgICAgICJBdmJyeXQiCiNkZWZpbmUgRElBTE9HX0JST1dTRSAgICAgICAgICAgICAgICAiJkJs5GRkcmEuLi4iCiNkZWZpbmUgRElBTE9HX0hFTFAgICAgICAgICAgICAgICAgICAiJkhq5GxwIgoKI2RlZmluZSBESUFMT0dfUEFHRVNFVFVQX0NBUFRJT04gICAgICJTaWQgTGF5b3V0IgojZGVmaW5lIERJQUxPR19QQUdFU0VUVVBfSEVBRCAgICAgICAgIiZIdXZ1ZG5vdDoiCiNkZWZpbmUgRElBTE9HX1BBR0VTRVRVUF9UQUlMICAgICAgICAiJkZvdG5vdDoiCiNkZWZpbmUgRElBTE9HX1BBR0VTRVRVUF9NQVJHSU4gICAgICAiS2FudGVyOiIKI2RlZmluZSBESUFMT0dfUEFHRVNFVFVQX0xFRlQgICAgICAgICImVuRuc3RlcjoiCiNkZWZpbmUgRElBTE9HX1BBR0VTRVRVUF9SSUdIVCAgICAgICAiJkj2Z2VyOiIKI2RlZmluZSBESUFMT0dfUEFHRVNFVFVQX1RPUCAgICAgICAgICIm1nZlcjoiCiNkZWZpbmUgRElBTE9HX1BBR0VTRVRVUF9CT1RUT00gICAgICAiJlVuZGVyOiIKCgovKiBTdHJpbmdzICovCiNkZWZpbmUgU1RSSU5HX05PVEVQQUQgICAgICAgICAgICAgICAiQW50ZWNrbmluZ2FyIgojZGVmaW5lIFNUUklOR19FUlJPUiAgICAgICAgICAgICAgICAgIkZFTCIKI2RlZmluZSBTVFJJTkdfV0FSTklORyAgICAgICAgICAgICAgICJWQVJOSU5HIgojZGVmaW5lIFNUUklOR19JTkZPICAgICAgICAgICAgICAgICAgIkluZm9ybWF0aW9uIgoKI2RlZmluZSBTVFJJTkdfVU5USVRMRUQgICAgICAgICAgICAgICIodW50aXRsZWQpIgoKI2RlZmluZSBTVFJJTkdfQUxMX0ZJTEVTICAgICAgICAgICAgICAiQWxsYSBmaWxlciAoKi4qKSIKI2RlZmluZSBTVFJJTkdfVEVYVF9GSUxFU19UWFQgICAgICAgICAiVGV4dCBmaWxlciAoKi50eHQpIgoKI2RlZmluZSBTVFJJTkdfVE9PTEFSR0UgICAgICAgICAiRmlsZW4gJyVzJyDkciBm9nIgc3RvciBm9nIgbm90ZXBhZC5cbiBcCkFuduRuZCBlbiBhbm5hbiBlZGl0b3IuIgoKI2RlZmluZSBTVFJJTkdfTk9URVhUICAgICAgICAgICAiRHUgc2tyZXYgaW50ZSBpbiBu5WdvbiB0ZXh0LiBcClxuU2tyaXYgbuVnb3Qgb2NoIGb2cnP2ayBzZWRhbiBpZ2VuIgoKI2RlZmluZSBTVFJJTkdfTk9URk9VTkQgICAgICAgICAiJyVzJyBoaXR0YWRlcyBpbnRlLiIKCiNkZWZpbmUgU1RSSU5HX09VVF9PRl9NRU1PUlkgICAgIkludGUgdGlsbHLka2xpZ3QgbWVkIG1pbm5lIGb2ciBhdHQgc2x1dGb2cmEgXApkZW4gaORyIHVwcGdpZnRlbi4gXG5BdnNsdXRhIGV0dCBlbGxlciBmbGVyYSBwcm9ncmFtIGb2ciBhdHQg9mthIG3kbmdkZW4gXG5mcml0dCBcCm1pbm5lLiIKCiNpbmNsdWRlICJub3RlcGFkLnJjIgo=