LyoKICogIE5vdGVwYWQgKEVuZ2xpc2ggcmVzb3VyY2VzKQogKgogKiAgQ29weXJpZ2h0IDE5OTcsOTggTWFyY2VsIEJhdXIgPG1iYXVyQGcyNi5ldGh6LmNoPgogKiAgUHJvb2ZyZWFkIDE5OTggYnkgRGF2aWQgTGVlIExhbWJlcnQgPGxhbWJlcjQ1QGVnci5tc3UuZWR1PgogKiAgUHJvb2ZyZWFkIDE5OTkgYnkgSm9zZSBNYXJjb3MgTG9wZXogPGpvc2UubG9wZXpAdXBjbmV0LnVwYy5lcz4KICovCgojZGVmaW5lIExBTkdVQUdFX0lEICAgICAgICAgICAgICAgICAgICAgRXMKI2RlZmluZSBMQU5HVUFHRV9OVU1CRVIgICAgICAgICAgICAgICAgIGQKI2RlZmluZSBMQU5HVUFHRV9NRU5VX0lURU0gICAgICAgICAgICAgICJDYXN0ZWxsYW5vIgoKCi8qIE1lbnUgKi8KCiNkZWZpbmUgTUVOVV9GSUxFICAgICAgICAgICAgICAgICAgICAgICAiJkFyY2hpdm8iCiNkZWZpbmUgTUVOVV9GSUxFX05FVyAgICAgICAgICAgICAgICAgICAiJk51ZXZvIgojZGVmaW5lIE1FTlVfRklMRV9PUEVOICAgICAgICAgICAgICAgICAgIiZBYnJpciIKI2RlZmluZSBNRU5VX0ZJTEVfU0FWRSAgICAgICAgICAgICAgICAgICImR3VhcmRhciIKI2RlZmluZSBNRU5VX0ZJTEVfU0FWRUFTICAgICAgICAgICAgICAgICJHdWFyZGFyIGNvJm1vLi4uIgojZGVmaW5lIE1FTlVfRklMRV9QQUdFU0VUVVAgICAgICAgICAgICAgIiZDb25maWd1cmFyIHDhZ2luYS4uLiIKI2RlZmluZSBNRU5VX0ZJTEVfUFJJTlQgICAgICAgICAgICAgICAgICImSW1wcmltaXIiCiNkZWZpbmUgTUVOVV9GSUxFX1BSSU5UU0VUVVAgICAgICAgICAgICAiJkNvbmZpZ3VyYWNp824gaW1wcmVzb3JhLi4uIgojZGVmaW5lIE1FTlVfRklMRV9FWElUICAgICAgICAgICAgICAgICAgIiZTYWxpciIKCiNkZWZpbmUgTUVOVV9FRElUICAgICAgICAgICAgICAgICAgICAgICAiJkVkaXRhciIKI2RlZmluZSBNRU5VX0VESVRfVU5ETyAgICAgICAgICAgICAgICAgICImRGVzaGFjZXJcdEN0cmwrWiIKI2RlZmluZSBNRU5VX0VESVRfQ1VUICAgICAgICAgICAgICAgICAgICJDb3ImdGFyXHRDdHJsK1giCiNkZWZpbmUgTUVOVV9FRElUX0NPUFkgICAgICAgICAgICAgICAgICAiJkNvcGlhclx0Q3RybCtDIgojZGVmaW5lIE1FTlVfRURJVF9QQVNURSAgICAgICAgICAgICAgICAgIiZQZWdhclx0Q3RybCtWIgojZGVmaW5lIE1FTlVfRURJVF9ERUxFVEUgICAgICAgICAgICAgICAgIiZCb3JyYXJcdERlbCIKI2RlZmluZSBNRU5VX0VESVRfU0VMRUNUQUxMICAgICAgICAgICAgICJTZWxlY2Npb25hciB0Jm9kbyIKI2RlZmluZSBNRU5VX0VESVRfVElNRURBVEUgICAgICAgICAgICAgICImSG9yYSB5IEZlY2hhXHRGNSIKI2RlZmluZSBNRU5VX0VESVRfV1JBUCAgICAgICAgICAgICAgICAgICImQWp1c3RlIGRlIGztbmVhIGF1dG9t4XRpY28iCgojZGVmaW5lIE1FTlVfU0VBUkNIICAgICAgICAgICAgICAgICAgICAgIiZCdXNjYXIiCiNkZWZpbmUgTUVOVV9TRUFSQ0hfU0VBUkNIICAgICAgICAgICAgICAiJkJ1c2Nhci4uLiIKI2RlZmluZSBNRU5VX1NFQVJDSF9ORVhUICAgICAgICAgICAgICAgICJCdXNjYXIgJnNpZ3VpZW50ZVx0RjMiCgojZGVmaW5lIE1FTlVfTEFOR1VBR0UgICAgICAgICAgICAgICAgICAgIiZJZGlvbWEiCgojZGVmaW5lIE1FTlVfSEVMUCAgICAgICAgICAgICAgICAgICAgICAgIiZBeXVkYSIKI2RlZmluZSBNRU5VX0hFTFBfQ09OVEVOVFMgICAgICAgICAgICAgICImSW5kaWNlIgojZGVmaW5lIE1FTlVfSEVMUF9TRUFSQ0ggICAgICAgICAgICAgICAgIiZCdXNjYXIuLi4iCiNkZWZpbmUgTUVOVV9IRUxQX0hFTFBfT05fSEVMUCAgICAgICAgICAiJkF5dWRhIHNvYnJlIGxhIGF5dWRhIgoKI2RlZmluZSBNRU5VX0lORk8gICAgICAgICAgICAgICAgICAgICAgICJJbmYmb3JtYWNp824uLi4iCiNkZWZpbmUgTUVOVV9JTkZPX0xJQ0VOU0UgICAgICAgICAgICAgICAiJkxpY2VuY2lhIgojZGVmaW5lIE1FTlVfSU5GT19OT19XQVJSQU5UWSAgICAgICAgICAgIlNJTiAmR0FSQU5UzUEiCiNkZWZpbmUgTUVOVV9JTkZPX0FCT1VUX1dJTkUgICAgICAgICAgICAiJkFjZXJjYSBkZSBXaW5lIgoKCi8qIERpYWxvZ3MgKi8KCiNkZWZpbmUgRElBTE9HX09LICAgICAgICAgICAgICAgICAgICAgICAiT0siCiNkZWZpbmUgRElBTE9HX0NBTkNFTCAgICAgICAgICAgICAgICAgICAiQ2FuY2VsYXIiCiNkZWZpbmUgRElBTE9HX0JST1dTRSAgICAgICAgICAgICAgICAgICAiJkJ1c2Nhci4uLiIKI2RlZmluZSBESUFMT0dfSEVMUCAgICAgICAgICAgICAgICAgICAgICImQXl1ZGEiCgojZGVmaW5lIERJQUxPR19QQUdFU0VUVVBfQ0FQVElPTiAgICAgICAgIiZBanVzdGUgZGUgcOFnaW5hIgojZGVmaW5lIERJQUxPR19QQUdFU0VUVVBfSEVBRCAgICAgICAgICAgIiZDYWJlY2VyYToiCiNkZWZpbmUgRElBTE9HX1BBR0VTRVRVUF9UQUlMICAgICAgICAgICAiJlBp6ToiCiNkZWZpbmUgRElBTE9HX1BBR0VTRVRVUF9NQVJHSU4gICAgICAgICAiJk1hcmdlbmVzOiIKI2RlZmluZSBESUFMT0dfUEFHRVNFVFVQX0xFRlQgICAgICAgICAgICImSXpxdWllcmRhOiIKI2RlZmluZSBESUFMT0dfUEFHRVNFVFVQX1JJR0hUICAgICAgICAgICImRGVyZWNoYToiCiNkZWZpbmUgRElBTE9HX1BBR0VTRVRVUF9UT1AgICAgICAgICAgICAiQSZycmliYToiCiNkZWZpbmUgRElBTE9HX1BBR0VTRVRVUF9CT1RUT00gICAgICAgICAiQWJhJmpvOiIKCgovKiBTdHJpbmdzICovCgojZGVmaW5lIFNUUklOR19QQUdFU0VUVVBfSEVBREVSVkFMVUUgICAgIiZuIiAgICAgICAgLyogRklYTUUgKi8KI2RlZmluZSBTVFJJTkdfUEFHRVNFVFVQX0ZPT1RFUlZBTFVFICAgICJQ4WdpbmEgJnMiICAgLyogRklYTUUgKi8KI2RlZmluZSBTVFJJTkdfUEFHRVNFVFVQX0xFRlRWQUxVRSAgICAgICIyMCBtbSIgICAgIC8qIEZJWE1FICovCiNkZWZpbmUgU1RSSU5HX1BBR0VTRVRVUF9SSUdIVFZBTFVFICAgICAiMjAgbW0iICAgICAvKiBGSVhNRSAqLwojZGVmaW5lIFNUUklOR19QQUdFU0VUVVBfVE9QVkFMVUUgICAgICAgIjI1IG1tIiAgICAgLyogRklYTUUgKi8KI2RlZmluZSBTVFJJTkdfUEFHRVNFVFVQX0JPVFRPTVZBTFVFICAgICIyNSBtbSIgICAgIC8qIEZJWE1FICovCgojZGVmaW5lIFNUUklOR19OT1RFUEFEICAgICAgICAgICAgICAgICAgIkJsb2MgZGUgTm90YXMiCiNkZWZpbmUgU1RSSU5HX0VSUk9SICAgICAgICAgICAgICAgICAgICAiRVJST1IiCiNkZWZpbmUgU1RSSU5HX1dBUk5JTkcgICAgICAgICAgICAgICAgICAiQ1VJREFETyIKI2RlZmluZSBTVFJJTkdfSU5GTyAgICAgICAgICAgICAgICAgICAgICJJbmZvcm1hY2nzbiIKCiNkZWZpbmUgU1RSSU5HX1VOVElUTEVEICAgICAgICAgICAgICAgICAiKHNpbiB07XR1bG8pIgoKI2RlZmluZSBTVFJJTkdfQUxMX0ZJTEVTICAgICAgICAgICAgICAgICJUb2RvcyBsb3MgYXJjaGl2b3MgKCouKikiCiNkZWZpbmUgU1RSSU5HX1RFWFRfRklMRVNfVFhUICAgICAgICAgICAiRG9jdW1lbnRvcyBkZSB0ZXh0byAoKi50eHQpIgoKI2RlZmluZSBTVFJJTkdfVE9PTEFSR0UgICAgICAgICAiRWwgYXJjaGl2byAnJXMnIGVzIGRlbWFzaWFkbyBncmFuZGUgcGFyYSBlbCBibG9jIGRlIG5vdGFzLlxuIFwKVXNlIG90cm8gZWRpdG9yLiIKCiNkZWZpbmUgU1RSSU5HX05PVEVYVCAgICAgICAgICAgIlVkLiBubyBlc2NyaWJp8yBuYWRhLiBcClxuUG9yIGZhdm9yIGVzY3JpYmEgYWxnbyB5IHBydWViZSBkZSBudWV2byIKCi8qIEZJWE1FICovCgojZGVmaW5lIFNUUklOR19OT1RTQVZFRCAgICAgICAgICJFbCB0ZXh0byBlbiBlbCBhcmNoaXZvICclcycgaGEgY2FtYmlhZG9cblxuIFwKv0Rlc2VhIGd1YXJkYXIgbG9zIGNhbWJpb3M/IgoKI2RlZmluZSBTVFJJTkdfTk9URk9VTkQgICAgICAgICAibm8gc2UgZW5jb250cvMgJyVzJy4iCgojZGVmaW5lIFNUUklOR19PVVRfT0ZfTUVNT1JZICAgICJObyBoYXkgc3VmaWNpZW50ZSBtZW1vcmlhIHBhcmEgdGVybWluYXIgXAplc3RhIHRhcmVhLiBcbkNpZXJyZSB1bmEgbyBt4XMgYXBsaWNhY2lvbmVzIHBhcmEgYXVtZW50YXIgbGEgY2FudGlkYWQgXG5kZSBcCm1lbW9yaWEgbGlicmUuIgoKI2luY2x1ZGUgIm5vdGVwYWQucmMiCg==