LyoKICogUHJvZ3JhbSBNYW5hZ2VyCiAqCiAqIENvcHlyaWdodCAxOTk5IEd1c3Rhdm8gSnVuaW9yIEFsdmVzIDxhbHZlc0Bjb3JyZWlvbmV0LmNvbS5icj4KICovCgojZGVmaW5lIExBTkdVQUdFX0lEICAgICAgICAgICAgICAgICAgUHQKI2RlZmluZSBMQU5HVUFHRV9OVU1CRVIgICAgICAgICAgICAgIDE2CiNkZWZpbmUgTEFOR1VBR0VfTUVOVV9JVEVNICAgICAgICAgICAiJlBvcnR1Z3XqcyIKCi8qIE1lbnUgKi8KCiNkZWZpbmUgTUVOVV9GSUxFICAgICAgICAgICAgICAgICAgICAiJkFycXVpdm8iCiNkZWZpbmUgTUVOVV9GSUxFX05FVyAgICAgICAgICAgICAgICAiJk5vdm8uLi4iCiNkZWZpbmUgTUVOVV9GSUxFX09QRU4gICAgICAgICAgICAgICAiQSZicmlyXHRFbnRlciIKI2RlZmluZSBNRU5VX0ZJTEVfTU9WRSAgICAgICAgICAgICAgICImTW92ZXIuLi5cdEY3IgojZGVmaW5lIE1FTlVfRklMRV9DT1BZICAgICAgICAgICAgICAgIiZDb3BpYXIuLi5cdEY4IgojZGVmaW5lIE1FTlVfRklMRV9ERUxFVEUgICAgICAgICAgICAgIiZEZWxldGFyXHRFbnRmIgojZGVmaW5lIE1FTlVfRklMRV9BVFRSSUJVVEVTICAgICAgICAgIkEmdHJpYnV0b3MuLi5cdEFsdCtFbnRlciIKI2RlZmluZSBNRU5VX0ZJTEVfRVhFQ1VURSAgICAgICAgICAgICImRXhlY3V0YXIuLi4iCiNkZWZpbmUgTUVOVV9GSUxFX0VYSVQgICAgICAgICAgICAgICAiJlNhaXIgZG8gV2luZG93cy4uLiIKCiNkZWZpbmUgTUVOVV9PUFRJT05TICAgICAgICAgICAgICAgICAiJk9w5/VlcyIKI2RlZmluZSBNRU5VX09QVElPTlNfQVVUT19BUlJBTkdFICAgICImT3JnYW5pemFyIEF1dG9tYXRpY2FtZW50ZSIKI2RlZmluZSBNRU5VX09QVElPTlNfTUlOX09OX1JVTiAgICAgICImTWluaW1pemFyIG5hIEV4ZWN15+NvIgojZGVmaW5lIE1FTlVfT1BUSU9OU19TQVZFX1NFVFRJTkdTICAgIiZTYWx2YXIgYWx0ZXJh5/VlcyBhbyBzYWlyIgoKI2RlZmluZSBNRU5VX1dJTkRPV1MgICAgICAgICAgICAgICAgICImSmFuZWxhcyIKI2RlZmluZSBNRU5VX1dJTkRPV1NfT1ZFUkxBUCAgICAgICAgICImQ2FzY2F0YVx0U2hpZnQrRjUiCiNkZWZpbmUgTUVOVV9XSU5ET1dTX1NJREVfQllfU0lERSAgICAiJkxhZG8gYSBsYWRvXHRTaGlmdCtGNCIKI2RlZmluZSBNRU5VX1dJTkRPV1NfQVJSQU5HRSAgICAgICAgICImT3JnYW5pemFyIHNpbWJvbG9zIgoKI2RlZmluZSBNRU5VX0xBTkdVQUdFICAgICAgICAgICAgICAgICImTGluZ3VhZ2VtIgoKI2RlZmluZSBNRU5VX0hFTFAgICAgICAgICAgICAgICAgICAgICImQWp1ZGEiCiNkZWZpbmUgTUVOVV9IRUxQX0NPTlRFTlRTICAgICAgICAgICAiJkNvbnRldWRvIgojZGVmaW5lIE1FTlVfSEVMUF9TRUFSQ0ggICAgICAgICAgICAgIiZQcm9jdXJhcy4uLiIKI2RlZmluZSBNRU5VX0hFTFBfSEVMUF9PTl9IRUxQICAgICAgICImQWp1ZGEgbmEgYWp1ZGEiCiNkZWZpbmUgTUVOVV9IRUxQX1RVVE9SSUFMICAgICAgICAgICAiJlR1dG9yaWFsIgoKI2RlZmluZSBNRU5VX0lORk8gICAgICAgICAgICAgICAgICAgICImSW5mb3JtYef1ZXMuLi4iCiNkZWZpbmUgTUVOVV9JTkZPX0xJQ0VOU0UgICAgICAgICAgICAiJkxpY2Vu52EiCiNkZWZpbmUgTUVOVV9JTkZPX05PX1dBUlJBTlRZICAgICAgICAiJlNFTSBHQVJBTlRJQSIKI2RlZmluZSBNRU5VX0lORk9fQUJPVVRfV0lORSAgICAgICAgICImU29icmUgV0lORSIKCi8qIERpYWxvZ3MgKi8KCiNkZWZpbmUgRElBTE9HX09LICAgICAgICAgICAgICAgICAgICAiT0siCiNkZWZpbmUgRElBTE9HX0NBTkNFTCAgICAgICAgICAgICAgICAiQ2FuY2VsYXIiCiNkZWZpbmUgRElBTE9HX0JST1dTRSAgICAgICAgICAgICAgICAiJlByb2N1cmFyIgojZGVmaW5lIERJQUxPR19IRUxQICAgICAgICAgICAgICAgICAgIiZBanVkYSIKCiNkZWZpbmUgRElBTE9HX05FV19DQVBUSU9OICAgICAgICAgICAiTm92byBvYmpldG8gZGUgcHJvZ3JhbWEiCiNkZWZpbmUgRElBTE9HX05FV19ORVcgICAgICAgICAgICAgICAiTm92byIKI2RlZmluZSBESUFMT0dfTkVXX0dST1VQICAgICAgICAgICAgICImR3J1cG8gZGUgcHJvZ3JhbWEiCiNkZWZpbmUgRElBTE9HX05FV19QUk9HUkFNICAgICAgICAgICAiJlByb2dyYW1hIgoKI2RlZmluZSBESUFMT0dfTU9WRV9DQVBUSU9OICAgICAgICAgICJNb3ZlciBQcm9ncmFtYSIKI2RlZmluZSBESUFMT0dfTU9WRV9QUk9HUkFNICAgICAgICAgICJNb3ZlciBwcm9ncmFtYToiCiNkZWZpbmUgRElBTE9HX01PVkVfRlJPTV9HUk9VUCAgICAgICAiRG8gZ3J1cG86IgojZGVmaW5lIERJQUxPR19NT1ZFX1RPX0dST1VQICAgICAgICAgIiZQYXJhIGdydXBvOiIKCiNkZWZpbmUgRElBTE9HX0NPUFlfQ0FQVElPTiAgICAgICAgICAiQ29waWFyIFByb2dyYW1hIgojZGVmaW5lIERJQUxPR19DT1BZX1BST0dSQU0gICAgICAgICAgIkNvcGlhciBwcm9ncmFtYToiCiNkZWZpbmUgRElBTE9HX0NPUFlfRlJPTV9HUk9VUCAgICAgICBESUFMT0dfTU9WRV9GUk9NX0dST1VQCiNkZWZpbmUgRElBTE9HX0NPUFlfVE9fR1JPVVAgICAgICAgICBESUFMT0dfTU9WRV9UT19HUk9VUAoKI2RlZmluZSBESUFMT0dfR1JPVVBfQ0FQVElPTiAgICAgICAgICJBdHJpYnV0b3MgZG8gZ3J1cG8gZGUgcHJvZ3JhbWEiCiNkZWZpbmUgRElBTE9HX0dST1VQX0RFU0NSSVBUSU9OICAgICAiJkRlc2NyaefjbzoiCiNkZWZpbmUgRElBTE9HX0dST1VQX0ZJTEUgICAgICAgICAgICAiJkFycXVpdm8gZGUgZ3J1cG86IgoKI2RlZmluZSBESUFMT0dfUFJPR1JBTV9DQVBUSU9OICAgICAgICJBdHJpYnV0b3MgZGUgcHJvZ3JhbWEiCiNkZWZpbmUgRElBTE9HX1BST0dSQU1fREVTQ1JJUFRJT04gICBESUFMT0dfR1JPVVBfREVTQ1JJUFRJT04KI2RlZmluZSBESUFMT0dfUFJPR1JBTV9DT01NQU5EX0xJTkUgICImTGluaGEgZGUgY29tYW5kbzoiCiNkZWZpbmUgRElBTE9HX1BST0dSQU1fRElSRUNUT1JZICAgICAiJkRpcmV083JpbyBkZSB0cmFiYWxobzoiCiNkZWZpbmUgRElBTE9HX1BST0dSQU1fSE9UX0tFWSAgICAgICAiJkNvbWJpbmHn428gZGUgY2hhdmVzOiIKI2RlZmluZSBESUFMT0dfUFJPR1JBTV9TWU1CT0wgICAgICAgICJDb21vICZTaW1ib2xvIgojZGVmaW5lIERJQUxPR19QUk9HUkFNX09USEVSX1NZTUJPTCAgIiZPdXRyb3Mgc2ltYm9sb3MuLi4iCgojZGVmaW5lIERJQUxPR19TWU1CT0xfQ0FQVElPTiAgICAgICAgIlNlbGVjaW9uYXIgc2ltYm9sbyIKI2RlZmluZSBESUFMT0dfU1lNQk9MX0ZJTEUgICAgICAgICAgICImTm9tZSBkbyBhcnF1aXZvOiIKI2RlZmluZSBESUFMT0dfU1lNQk9MX0NVUlJFTlQgICAgICAgICImU2ltYm9sbyBjb3JyZW50ZToiCgojZGVmaW5lIERJQUxPR19FWEVDVVRFX0NBUFRJT04gICAgICAgIkV4ZWN1dGFyIHByb2dyYW1hIgojZGVmaW5lIERJQUxPR19FWEVDVVRFX0NPTU1BTkRfTElORSAgRElBTE9HX1BST0dSQU1fQ09NTUFORF9MSU5FCiNkZWZpbmUgRElBTE9HX0VYRUNVVEVfU1lNQk9MICAgICAgICBESUFMT0dfUFJPR1JBTV9TWU1CT0wKCi8qIFN0cmluZ3MgKi8KCiNkZWZpbmUgU1RSSU5HX1BST0dSQU1fTUFOQUdFUiAgICAgICAgICAgICJHZXJlbmNpYWRvciBkZSBwcm9ncmFtYXMiCiNkZWZpbmUgU1RSSU5HX0VSUk9SICAgICAgICAgICAgICAgICAgICAgICJFUlJPIgojZGVmaW5lIFNUUklOR19XQVJOSU5HICAgICAgICAgICAgICAgICAgICAiQVZJU08iCiNkZWZpbmUgU1RSSU5HX0lORk8gICAgICAgICAgICAgICAgICAgICAgICJJbmZvcm1h5+NvIgojZGVmaW5lIFNUUklOR19ERUxFVEUgICAgICAgICAgICAgICAgICAgICAiRXhjbHVpciIKI2RlZmluZSBTVFJJTkdfREVMRVRFX0dST1VQX3MgICAgICAgICAgICAgIkV4Y2x1aXIgZ3J1cG8gYCVzJyA/IgojZGVmaW5lIFNUUklOR19ERUxFVEVfUFJPR1JBTV9zICAgICAgICAgICAiRXhjbHVpciBwcm9ncmFtYSBgJXMnID8iCiNkZWZpbmUgU1RSSU5HX05PVF9JTVBMRU1FTlRFRCAgICAgICAgICAgICJO428gaW1wbGVtZW50YWRvIgojZGVmaW5lIFNUUklOR19GSUxFX1JFQURfRVJST1JfcyAgICAgICAgICAiRXJybyBsZW5kbyBgJXMnIgojZGVmaW5lIFNUUklOR19GSUxFX1dSSVRFX0VSUk9SX3MgICAgICAgICAiRXJybyBlc2NyZXZlbmRvIGAlcyciCgojZGVmaW5lIFNUUklOR19HUlBGSUxFX1JFQURfRVJST1JfcyAgICAgICAiXApPIGFycXVpdm8gZGUgZ3J1cG8gYCVzJyBu428gcG9kZSBzZXIgYWJlcnRvLlxuXApEZXZlcuEgc2VyIHRlbnRhZG8gb3V0cmFzIHZlemVzPyIKCiNkZWZpbmUgU1RSSU5HX09VVF9PRl9NRU1PUlkgICAgICAgICAgICAgICJTZW0gbWVt83JpYSIKI2RlZmluZSBTVFJJTkdfV0lOSEVMUF9FUlJPUiAgICAgICAgICAgICAgIkFqdWRhIG7jbyBkaXNwb27tdmVsIgojZGVmaW5lIFNUUklOR19VTktOT1dOX0ZFQVRVUkVfcyAgICAgICAgICAiUmVjdXJzbyBkZXNjb25oZWNpZG8gZW0gJXMiCiNkZWZpbmUgU1RSSU5HX0ZJTEVfTk9UX09WRVJXUklUVEVOX3MgICAgICJBcnF1aXZvIGAlcycgZXhpc3RlLiBO428gc29icmVlc2NyZXZlbmRvLiIKI2RlZmluZSBTVFJJTkdfU0FWRV9HUk9VUF9BU19zICAgICAgICAgICAgIlNhbHZhciBncnVwbyBjb21vIGAlcycgcGFyYSBwcmV2aW5pciBhIHNvYnJlZXNjcml0YSBkb3MgYXJxdWl2b3Mgb3JpZ2luYWlzIgoKI2RlZmluZSBTVFJJTkdfTk9fSE9UX0tFWSAgICAgICAgICAgICAgICAgIk5lbmh1bWEiCgojZGVmaW5lIFNUUklOR19BTExfRklMRVMgICAgICAgICAgICAgICAgICAiVG9kb3Mgb3MgYXJxdWl2b3MgKCouKikiCiNkZWZpbmUgU1RSSU5HX1BST0dSQU1TICAgICAgICAgICAgICAgICAgICJQcm9ncmFtYXMiCiNkZWZpbmUgU1RSSU5HX0xJQlJBUklFU19ETEwgICAgICAgICAgICAgICJCaWJsaW90ZWNhcyAoKi5kbGwpIgojZGVmaW5lIFNUUklOR19TWU1CT0xfRklMRVMgICAgICAgICAgICAgICAiQXJxdWl2byBkZSBzaW1ib2xvcyIKI2RlZmluZSBTVFJJTkdfU1lNQk9MU19JQ08gICAgICAgICAgICAgICAgIlNpbWJvbG9zICgqLmljbykiCgojaW5jbHVkZSAiWHgucmMiCg==