LyoKICogdmVuZG9yL3Byb2R1Y3QgSURzIChWSUQvUElEKSBvZiBkZXZpY2VzIHVzaW5nIEZUREkgVVNCIHNlcmlhbCBjb252ZXJ0ZXJzLgogKiBQbGVhc2Uga2VlcCBudW1lcmljYWxseSBzb3J0ZWQgd2l0aGluIGluZGl2aWR1YWwgYXJlYXMsIHRoYW5rcyEKICoKICogUGhpbGlwcCBH/GhyaW5nIC0gcGdAZnV0dXJld2FyZS5hdCAtIGFkZGVkIHRoZSBEZXZpY2UgSUQgb2YgdGhlIFVTQiByZWxhaXMKICogZnJvbSBSdWRvbGYgR3VnbGVyCiAqCiAqLwoKCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwovKioqKiogZGV2aWNlcyB1c2luZyBGVERJIFZJRCAqKioqKi8KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCgoKI2RlZmluZSBGVERJX1ZJRAkweDA0MDMJLyogVmVuZG9yIElkICovCgoKLyoqKiAib3JpZ2luYWwiIEZUREkgZGV2aWNlIFBJRHMgKioqLwoKI2RlZmluZSBGVERJXzhVMjMyQU1fUElEIDB4NjAwMSAvKiBTaW1pbGFyIGRldmljZSB0byBTSU8gYWJvdmUgKi8KI2RlZmluZSBGVERJXzhVMjMyQU1fQUxUX1BJRCAweDYwMDYgLyogRlRESSdzIGFsdGVybmF0ZSBQSUQgZm9yIGFib3ZlICovCiNkZWZpbmUgRlRESV84VTIyMzJDX1BJRCAweDYwMTAgLyogRHVhbCBjaGFubmVsIGRldmljZSAqLwojZGVmaW5lIEZURElfNDIzMkhfUElEIDB4NjAxMSAvKiBRdWFkIGNoYW5uZWwgaGktc3BlZWQgZGV2aWNlICovCiNkZWZpbmUgRlRESV9TSU9fUElECTB4ODM3MgkvKiBQcm9kdWN0IElkIFNJTyBhcHBsaWNhdGlvbiBvZiA4VTEwMEFYICAqLwojZGVmaW5lIEZURElfMjMyUkxfUElEICAweEZCRkEgIC8qIFByb2R1Y3QgSUQgZm9yIEZUMjMyUkwgKi8KCgovKioqIHRoaXJkLXBhcnR5IFBJRHMgKHVzaW5nIEZURElfVklEKSAqKiovCgovKgogKiBNYXJ2ZWxsIE9wZW5SRCBCYXNlLCBDbGllbnQKICogaHR0cDovL3d3dy5vcGVuLXJkLm9yZwogKiBPcGVuUkQgQmFzZSwgQ2xpZW50IHVzZSBWSUQgMHgwNDAzCiAqLwojZGVmaW5lIE1BUlZFTExfT1BFTlJEX1BJRAkweDllOTAKCi8qIHd3dy5jYW5kYXB0ZXIuY29tIEV3ZXJ0IEVuZXJneSBTeXN0ZW1zIENBTmRhcHRlciBkZXZpY2UgKi8KI2RlZmluZSBGVERJX0NBTkRBUFRFUl9QSUQgMHg5RjgwIC8qIFByb2R1Y3QgSWQgKi8KCiNkZWZpbmUgRlRESV9OWFRDQU1fUElECQkweEFCQjggLyogTlhUQ2FtIGZvciBNaW5kc3Rvcm1zIE5YVCAqLwoKLyogT09DRGxpbmsgYnkgSm9lcm4gS2FpcGYgPGpvZXJua0B3ZWIuZGU+CiAqIChodHRwOi8vd3d3LmpvZXJub25saW5lLmRlL2R3L2Rva3UucGhwP2lkPXN0YXJ0JmlkeD1wcm9qZWN0czpvb2NkbGluaykgKi8KI2RlZmluZSBGVERJX09PQ0RMSU5LX1BJRAkweGJhZjgJLyogQW1vbnRlYyBKVEFHa2V5ICovCgovKiBMdW1pbmFyeSBNaWNybyBTdGVsbGFyaXMgQm9hcmRzLCBWSUQgPSBGVERJX1ZJRCAqLwovKiBGVERJIDIzMzJDIER1YWwgY2hhbm5lbCBkZXZpY2UsIHNpZGUgQT0yNDUgRklGTyAoSlRBRyksIFNpZGUgQj1SUzIzMiBVQVJUICovCiNkZWZpbmUgTE1JX0xNM1NfREVWRUxfQk9BUkRfUElECTB4YmNkOAojZGVmaW5lIExNSV9MTTNTX0VWQUxfQk9BUkRfUElECQkweGJjZDkKCiNkZWZpbmUgRlRESV9UVVJURUxJWkVSX1BJRAkweEJEQzggLyogSlRBRy9SUy0yMzIgYWRhcHRlciBieSBlZ25pdGUgR21CSCAqLwoKLyogT3BlbkRDQyAod3d3Lm9wZW5kY2MuZGUpIHByb2R1Y3QgaWQgKi8KI2RlZmluZSBGVERJX09QRU5EQ0NfUElECTB4QkZEOAojZGVmaW5lIEZURElfT1BFTkRDQ19TTklGRkVSX1BJRAkweEJGRDkKI2RlZmluZSBGVERJX09QRU5EQ0NfVEhST1RUTEVfUElECTB4QkZEQQojZGVmaW5lIEZURElfT1BFTkRDQ19HQVRFV0FZX1BJRAkweEJGREIKCi8qCiAqIFJSLUNpcktpdHMgTG9jb0J1ZmZlciBVU0IgKGh0dHA6Ly93d3cucnItY2lya2l0cy5jb20pCiAqLwojZGVmaW5lIEZURElfUlJDSVJLSVRTX0xPQ09CVUZGRVJfUElECTB4YzdkMAkvKiBMb2NvQnVmZmVyIFVTQiAqLwoKLyogRE1YNEFMTCBETVggSW50ZXJmYWNlcyAqLwojZGVmaW5lIEZURElfRE1YNEFMTCAweEM4NTAKCi8qCiAqIEFTSy5mciBkZXZpY2VzCiAqLwojZGVmaW5lIEZURElfQVNLX1JEUjQwMF9QSUQJMHhDOTkxCS8qIEFTSyBSRFIgNDAwIHNlcmllcyBjYXJkIHJlYWRlciAqLwoKLyogd3d3LnN0YXJ0aW5nLXBvaW50LXN5c3RlbXMuY29tILVDaGFtZWxlb24gZGV2aWNlICovCiNkZWZpbmUgRlRESV9NSUNST19DSEFNRUxFT05fUElECTB4Q0FBMAkvKiBQcm9kdWN0IElkICovCgovKgogKiBUYWN0cml4IE9wZW5Qb3J0IChFQ1UpIGRldmljZXMuCiAqIE9wZW5Qb3J0IDEuM00gc3VibWl0dGVkIGJ5IERvbm91ciBTaXplbW9yZS4KICogT3BlblBvcnQgMS4zUyBhbmQgMS4zVSBzdWJtaXR0ZWQgYnkgSWFuIEFiYm90dC4KICovCiNkZWZpbmUgRlRESV9UQUNUUklYX09QRU5QT1JUXzEzTV9QSUQJMHhDQzQ4CS8qIE9wZW5Qb3J0IDEuMyBNaXRzdWJpc2hpICovCiNkZWZpbmUgRlRESV9UQUNUUklYX09QRU5QT1JUXzEzU19QSUQJMHhDQzQ5CS8qIE9wZW5Qb3J0IDEuMyBTdWJhcnUgKi8KI2RlZmluZSBGVERJX1RBQ1RSSVhfT1BFTlBPUlRfMTNVX1BJRAkweENDNEEJLyogT3BlblBvcnQgMS4zIFVuaXZlcnNhbCAqLwoKLyogU0NTIEhGIFJhZGlvIE1vZGVtcyBQSUQncyAoaHR0cDovL3d3dy5zY3MtcHRjLmNvbSkgKi8KLyogdGhlIFZJRCBpcyB0aGUgc3RhbmRhcmQgZnRkaSB2aWQgKEZURElfVklEKSAqLwojZGVmaW5lIEZURElfU0NTX0RFVklDRV8wX1BJRCAweEQwMTAgICAgLyogU0NTIFBUQy1JSXVzYiAqLwojZGVmaW5lIEZURElfU0NTX0RFVklDRV8xX1BJRCAweEQwMTEgICAgLyogU0NTIFRyYWNrZXIgLyBEU1AgVE5DICovCiNkZWZpbmUgRlRESV9TQ1NfREVWSUNFXzJfUElEIDB4RDAxMgojZGVmaW5lIEZURElfU0NTX0RFVklDRV8zX1BJRCAweEQwMTMKI2RlZmluZSBGVERJX1NDU19ERVZJQ0VfNF9QSUQgMHhEMDE0CiNkZWZpbmUgRlRESV9TQ1NfREVWSUNFXzVfUElEIDB4RDAxNQojZGVmaW5lIEZURElfU0NTX0RFVklDRV82X1BJRCAweEQwMTYKI2RlZmluZSBGVERJX1NDU19ERVZJQ0VfN19QSUQgMHhEMDE3CgovKiBpUGx1cyBkZXZpY2UgKi8KI2RlZmluZSBGVERJX0lQTFVTX1BJRCAweEQwNzAgLyogUHJvZHVjdCBJZCAqLwojZGVmaW5lIEZURElfSVBMVVMyX1BJRCAweEQwNzEgLyogUHJvZHVjdCBJZCAqLwoKLyoKICogR2FtbWEgU2NvdXQgKGh0dHA6Ly9nYW1tYS1zY291dC5jb20vKS4gU3VibWl0dGVkIGJ5IHJzY0BydW50dXguY29tLgogKi8KI2RlZmluZSBGVERJX0dBTU1BX1NDT1VUX1BJRAkJMHhENjc4CS8qIEdhbW1hIFNjb3V0IG9ubGluZSAqLwoKLyogUHJvcG94IGRldmljZXMgKi8KI2RlZmluZSBGVERJX1BST1BPWF9KVEFHQ0FCTEVJSV9QSUQJMHhENzM4CgovKgogKiBYc2VucyBUZWNobm9sb2dpZXMgQlYgcHJvZHVjdHMgKGh0dHA6Ly93d3cueHNlbnMuY29tKS4KICovCiNkZWZpbmUgWFNFTlNfQ09OVkVSVEVSXzBfUElECTB4RDM4OAojZGVmaW5lIFhTRU5TX0NPTlZFUlRFUl8xX1BJRAkweEQzODkKI2RlZmluZSBYU0VOU19DT05WRVJURVJfMl9QSUQJMHhEMzhBCiNkZWZpbmUgWFNFTlNfQ09OVkVSVEVSXzNfUElECTB4RDM4QgojZGVmaW5lIFhTRU5TX0NPTlZFUlRFUl80X1BJRAkweEQzOEMKI2RlZmluZSBYU0VOU19DT05WRVJURVJfNV9QSUQJMHhEMzhECiNkZWZpbmUgWFNFTlNfQ09OVkVSVEVSXzZfUElECTB4RDM4RQojZGVmaW5lIFhTRU5TX0NPTlZFUlRFUl83X1BJRAkweEQzOEYKCi8qCiAqIE5ESSAod3d3Lm5kaWdpdGFsLmNvbSkgcHJvZHVjdCBpZHMKICovCiNkZWZpbmUgRlRESV9ORElfSFVDX1BJRAkJMHhEQTcwCS8qIE5ESSBIb3N0IFVTQiBDb252ZXJ0ZXIgKi8KI2RlZmluZSBGVERJX05ESV9TUEVDVFJBX1NDVV9QSUQJMHhEQTcxCS8qIE5ESSBTcGVjdHJhIFNDVSAqLwojZGVmaW5lIEZURElfTkRJX0ZVVFVSRV8yX1BJRAkJMHhEQTcyCS8qIE5ESSBmdXR1cmUgZGV2aWNlICMyICovCiNkZWZpbmUgRlRESV9ORElfRlVUVVJFXzNfUElECQkweERBNzMJLyogTkRJIGZ1dHVyZSBkZXZpY2UgIzMgKi8KI2RlZmluZSBGVERJX05ESV9BVVJPUkFfU0NVX1BJRAkJMHhEQTc0CS8qIE5ESSBBdXJvcmEgU0NVICovCgovKgogKiBXZXN0cmV4IEludGVybmF0aW9uYWwgZGV2aWNlcyBzdWJtaXR0ZWQgYnkgQ29yeSBMZWUKICovCiNkZWZpbmUgRlRESV9XRVNUUkVYX01PREVMXzc3N19QSUQJMHhEQzAwCS8qIE1vZGVsIDc3NyAqLwojZGVmaW5lIEZURElfV0VTVFJFWF9NT0RFTF84OTAwRl9QSUQJMHhEQzAxCS8qIE1vZGVsIDg5MDBGICovCgovKgogKiBBQ0cgSWRlbnRpZmljYXRpb24gVGVjaG5vbG9naWVzIEdtYkggcHJvZHVjdHMgKGh0dHA6Ly93d3cuYWNnLmRlLykuCiAqIFN1Ym1pdHRlZCBieSBhbnRvbiAtYXQtIGdvdG8xMCAtZG90LSBvcmcuCiAqLwojZGVmaW5lIEZURElfQUNHX0hGRFVBTF9QSUQJCTB4REQyMAkvKiBIRiBEdWFsIElTTyBSZWFkZXIgKFJGSUQpICovCgovKgogKiBEZWZpbml0aW9ucyBmb3IgQXJ0ZW1pcyBhc3Ryb25vbWljYWwgVVNCIGJhc2VkIGNhbWVyYXMKICogQ2hlY2sgaXQgYXQgaHR0cDovL3d3dy5hcnRlbWlzY2NkLmNvLnVrLwogKi8KI2RlZmluZSBGVERJX0FSVEVNSVNfUElECTB4REYyOAkvKiBBbGwgQXJ0ZW1pcyBDYW1lcmFzICovCgovKgogKiBEZWZpbml0aW9ucyBmb3IgQVRJSyBJbnN0cnVtZW50cyBhc3Ryb25vbWljYWwgVVNCIGJhc2VkIGNhbWVyYXMKICogQ2hlY2sgaXQgYXQgaHR0cDovL3d3dy5hdGlrLWluc3RydW1lbnRzLmNvbS8KICovCiNkZWZpbmUgRlRESV9BVElLX0FUSzE2X1BJRAkweERGMzAJLyogQVRJSyBBVEstMTYgR3JheXNjYWxlIENhbWVyYSAqLwojZGVmaW5lIEZURElfQVRJS19BVEsxNkNfUElECTB4REYzMgkvKiBBVElLIEFUSy0xNkMgQ29sb3VyIENhbWVyYSAqLwojZGVmaW5lIEZURElfQVRJS19BVEsxNkhSX1BJRAkweERGMzEJLyogQVRJSyBBVEstMTZIUiBHcmF5c2NhbGUgQ2FtZXJhICovCiNkZWZpbmUgRlRESV9BVElLX0FUSzE2SFJDX1BJRAkweERGMzMJLyogQVRJSyBBVEstMTZIUkMgQ29sb3VyIENhbWVyYSAqLwojZGVmaW5lIEZURElfQVRJS19BVEsxNklDX1BJRCAgIDB4REYzNSAgLyogQVRJSyBBVEstMTZJQyBHcmF5c2NhbGUgQ2FtZXJhICovCgovKgogKiBZb3N0IEVuZ2luZWVyaW5nLCBJbmMuIHByb2R1Y3RzICh3d3cueW9zdGVuZ2luZWVyaW5nLmNvbSkuCiAqIFBJRCAweEUwNTAgc3VibWl0dGVkIGJ5IEFhcm9uIFByb3NlLgogKi8KI2RlZmluZSBGVERJX1lFSV9TRVJWT0NFTlRFUjMxX1BJRAkweEUwNTAJLyogWUVJIFNlcnZvQ2VudGVyMy4xIFVTQiAqLwoKLyoKICogRUxWIFVTQiBkZXZpY2VzIHN1Ym1pdHRlZCBieSBDaHJpc3RpYW4gQWJ0IG9mIEVMViAod3d3LmVsdi5kZSkuCiAqIEFsbCBvZiB0aGVzZSBkZXZpY2VzIHVzZSBGVERJJ3MgdmVuZG9yIElEICgweDA0MDMpLgogKiBGdXJ0aGVyIElEcyB0YWtlbiBmcm9tIEVMViBXaW5kb3dzIC5pbmYgZmlsZS4KICoKICogVGhlIHByZXZpb3VzbHkgaW5jbHVkZWQgUElEIGZvciB0aGUgVU8gMTAwIG1vZHVsZSB3YXMgaW5jb3JyZWN0LgogKiBJbiBmYWN0LCB0aGF0IFBJRCB3YXMgZm9yIEVMVidzIFVSIDEwMCBVU0ItUlMyMzIgY29udmVydGVyICgweEZCNTgpLgogKgogKiBBcm1pbiBMYWV1Z2VyIG9yaWdpbmFsbHkgc2VudCB0aGUgUElEIGZvciB0aGUgVU0gMTAwIG1vZHVsZS4KICovCiNkZWZpbmUgRlRESV9FTFZfVVNSX1BJRAkweEUwMDAJLyogRUxWIFVuaXZlcnNhbC1Tb3VuZC1SZWNvcmRlciAqLwojZGVmaW5lIEZURElfRUxWX01TTTFfUElECTB4RTAwMQkvKiBFTFYgTWluaS1Tb3VuZC1Nb2R1bCAqLwojZGVmaW5lIEZURElfRUxWX0tMMTAwX1BJRAkweEUwMDIJLyogRUxWIEtmei1MZWlzdHVuZ3NtZXNzZXIgS0wgMTAwICovCiNkZWZpbmUgRlRESV9FTFZfV1M1NTBfUElECTB4RTAwNAkvKiBXUyA1NTAgKi8KI2RlZmluZSBGVERJX0VMVl9FQzMwMDBfUElECTB4RTAwNgkvKiBFTkVSR1kgQ09OVFJPTCAzMDAwIFVTQiAqLwojZGVmaW5lIEZURElfRUxWX1dTODg4X1BJRAkweEUwMDgJLyogV1MgODg4ICovCiNkZWZpbmUgRlRESV9FTFZfVFdTNTUwX1BJRAkweEUwMDkJLyogVGVjaG5vbGluZSBXUyA1NTAgKi8KI2RlZmluZSBGVERJX0VMVl9GRU1fUElECTB4RTAwQQkvKiBGdW5rIEVuZXJnaWUgTW9uaXRvciAqLwojZGVmaW5lIEZURElfRUxWX0ZIWjEzMDBQQ19QSUQJMHhFMEU4CS8qIEZIWiAxMzAwIFBDICovCiNkZWZpbmUgRlRESV9FTFZfV1M1MDBfUElECTB4RTBFOQkvKiBQQy1XZXR0ZXJzdGF0aW9uIChXUyA1MDApICovCiNkZWZpbmUgRlRESV9FTFZfSFM0ODVfUElECTB4RTBFQQkvKiBVU0IgdG8gUlMtNDg1IGFkYXB0ZXIgKi8KI2RlZmluZSBGVERJX0VMVl9VTVMxMDBfUElECTB4RTBFQgkvKiBFTFYgVVNCIE1hc3Rlci1TbGF2ZSBTY2hhbHRzdGVja2Rvc2UgVU1TIDEwMCAqLwojZGVmaW5lIEZURElfRUxWX1RGRDEyOF9QSUQJMHhFMEVDCS8qIEVMViBUZW1wZXJhdHVyLUZldWNodGUtRGF0ZW5sb2dnZXIgVEZEIDEyOCAqLwojZGVmaW5lIEZURElfRUxWX0ZNM1JYX1BJRAkweEUwRUQJLyogRUxWIE1lc3N3ZXJ0dWViZXJ0cmFndW5nIEZNMyBSWCAqLwojZGVmaW5lIEZURElfRUxWX1dTNzc3X1BJRAkweEUwRUUJLyogQ29ucmFkIFdTIDc3NyAqLwojZGVmaW5lIEZURElfRUxWX0VNMTAxMFBDX1BJRAkweEUwRUYJLyogRW5nZXJ5IG1vbml0b3IgRU0gMTAxMCBQQyAqLwojZGVmaW5lIEZURElfRUxWX0NTSThfUElECTB4RTBGMAkvKiBDb21wdXRlci1TY2hhbHQtSW50ZXJmYWNlIChDU0kgOCkgKi8KI2RlZmluZSBGVERJX0VMVl9FTTEwMDBETF9QSUQJMHhFMEYxCS8qIFBDLURhdGVubG9nZ2VyIGZ1ZXIgRW5lcmdpZW1vbml0b3IgKEVNIDEwMDAgREwpICovCiNkZWZpbmUgRlRESV9FTFZfUENLMTAwX1BJRAkweEUwRjIJLyogUEMtS2FiZWx0ZXN0ZXIgKFBDSyAxMDApICovCiNkZWZpbmUgRlRESV9FTFZfUkZQNTAwX1BJRAkweEUwRjMJLyogSEYtTGVpc3R1bmdzbWVzc2VyIChSRlAgNTAwKSAqLwojZGVmaW5lIEZURElfRUxWX0ZTMjBTSUdfUElECTB4RTBGNAkvKiBTaWduYWxnZWJlciAoRlMgMjAgU0lHKSAqLwojZGVmaW5lIEZURElfRUxWX1VUUDhfUElECTB4RTBGNQkvKiBFTFYgVVRQIDggKi8KI2RlZmluZSBGVERJX0VMVl9XUzMwMFBDX1BJRAkweEUwRjYJLyogUEMtV2V0dGVyc3RhdGlvbiAoV1MgMzAwIFBDKSAqLwojZGVmaW5lIEZURElfRUxWX1dTNDQ0UENfUElECTB4RTBGNwkvKiBDb25yYWQgV1MgNDQ0IFBDICovCiNkZWZpbmUgRlRESV9QSElfRklTQ09fUElEICAgICAgMHhFNDBCICAvKiBQSEkgRmlzY28gVVNCIHRvIFNlcmlhbCBjYWJsZSAqLwojZGVmaW5lIEZURElfRUxWX1VBRDhfUElECTB4RjA2OAkvKiBVU0ItQUQtV2FuZGxlciAoVUFEIDgpICovCiNkZWZpbmUgRlRESV9FTFZfVURBN19QSUQJMHhGMDY5CS8qIFVTQi1EQS1XYW5kbGVyIChVREEgNykgKi8KI2RlZmluZSBGVERJX0VMVl9VU0kyX1BJRAkweEYwNkEJLyogVVNCLVNjaHJpdHRtb3RvcmVuLUludGVyZmFjZSAoVVNJIDIpICovCiNkZWZpbmUgRlRESV9FTFZfVDExMDBfUElECTB4RjA2QgkvKiBUaGVybW9tZXRlciAoVCAxMTAwKSAqLwojZGVmaW5lIEZURElfRUxWX1BDRDIwMF9QSUQJMHhGMDZDCS8qIFBDLURhdGVubG9nZ2VyIChQQ0QgMjAwKSAqLwojZGVmaW5lIEZURElfRUxWX1VMQTIwMF9QSUQJMHhGMDZECS8qIFVTQi1MQ0QtQW5zdGV1ZXJ1bmcgKFVMQSAyMDApICovCiNkZWZpbmUgRlRESV9FTFZfQUxDODUwMF9QSUQJMHhGMDZFCS8qIEFMQyA4NTAwIEV4cGVydCAqLwojZGVmaW5lIEZURElfRUxWX0ZIWjEwMDBQQ19QSUQJMHhGMDZGCS8qIEZIWiAxMDAwIFBDICovCiNkZWZpbmUgRlRESV9FTFZfVVIxMDBfUElECTB4RkI1OAkvKiBVU0ItUlMyMzItVW1zZXR6ZXIgKFVSIDEwMCkgKi8KI2RlZmluZSBGVERJX0VMVl9VTTEwMF9QSUQJMHhGQjVBCS8qIFVTQi1Nb2R1bCBVTSAxMDAgKi8KI2RlZmluZSBGVERJX0VMVl9VTzEwMF9QSUQJMHhGQjVCCS8qIFVTQi1Nb2R1bCBVTyAxMDAgKi8KLyogQWRkaXRpb25hbCBFTFYgUElEcyB0aGF0IGRlZmF1bHQgdG8gdXNpbmcgdGhlIEZUREkgRDJYWCBkcml2ZXJzIG9uCiAqIE1TIFdpbmRvd3MsIHJhdGhlciB0aGFuIHRoZSBGVERJIFZpcnR1YWwgQ29tIFBvcnQgZHJpdmVycy4KICogTWF5YmUgdGhlc2Ugd2lsbCBiZSBlYXNpZXIgdG8gdXNlIHdpdGggdGhlIGxpYmZ0ZGkvbGlidXNiIHVzZXItc3BhY2UKICogZHJpdmVycywgb3IgcG9zc2libHkgdGhlIENvbWVkaSBkcml2ZXJzIGluIHNvbWUgY2FzZXMuICovCiNkZWZpbmUgRlRESV9FTFZfQ0xJNzAwMF9QSUQJMHhGQjU5CS8qIENvbXB1dGVyLUxpZ2h0LUludGVyZmFjZSAoQ0xJIDcwMDApICovCiNkZWZpbmUgRlRESV9FTFZfUFBTNzMzMF9QSUQJMHhGQjVDCS8qIFByb2Nlc3Nvci1Qb3dlci1TdXBwbHkgKFBQUyA3MzMwKSAqLwojZGVmaW5lIEZURElfRUxWX1RGTTEwMF9QSUQJMHhGQjVECS8qIFRlbXBlcmFydHVyLUZldWNodGUgTWVzc2dlcmFldCAoVEZNIDEwMCkgKi8KI2RlZmluZSBGVERJX0VMVl9VREY3N19QSUQJMHhGQjVFCS8qIFVTQiBEQ0YgRnVua3VyaCAoVURGIDc3KSAqLwojZGVmaW5lIEZURElfRUxWX1VJTzg4X1BJRAkweEZCNUYJLyogVVNCLUkvTyBJbnRlcmZhY2UgKFVJTyA4OCkgKi8KCi8qCiAqIEVWRVIgRWNvIFBybyBVUFMgKGh0dHA6Ly93d3cuZXZlci5jb20ucGwvKQogKi8KCiNkZWZpbmUJRVZFUl9FQ09fUFJPX0NEUwkweGU1MjAJLyogUlMtMjMyIGNvbnZlcnRlciAqLwoKLyoKICogQWN0aXZlIFJvYm90cyBwcm9kdWN0IGlkcy4KICovCiNkZWZpbmUgRlRESV9BQ1RJVkVfUk9CT1RTX1BJRAkweEU1NDgJLyogVVNCIGNvbW1zIGJvYXJkICovCgovKiBQeXJhbWlkIENvbXB1dGVyIEdtYkggKi8KI2RlZmluZSBGVERJX1BZUkFNSURfUElECTB4RTZDOAkvKiBQeXJhbWlkIEFwcGxpYW5jZSBEaXNwbGF5ICovCgovKiB3d3cuZWxzdGVyZWxlY3RyaWNpdHkuY29tIEVsc3RlciBVbmljb20gSUlJIE9wdGljYWwgUHJvYmUgKi8KI2RlZmluZSBGVERJX0VMU1RFUl9VTklDT01fUElECQkweEU3MDAgLyogUHJvZHVjdCBJZCAqLwoKLyoKICogR3VkZSBBbmFsb2ctIHVuZCBEaWdpdGFsc3lzdGVtZSBHbWJICiAqLwojZGVmaW5lIEZURElfR1VERUFEU19FODA4X1BJRCAgICAweEU4MDgKI2RlZmluZSBGVERJX0dVREVBRFNfRTgwOV9QSUQgICAgMHhFODA5CiNkZWZpbmUgRlRESV9HVURFQURTX0U4MEFfUElEICAgIDB4RTgwQQojZGVmaW5lIEZURElfR1VERUFEU19FODBCX1BJRCAgICAweEU4MEIKI2RlZmluZSBGVERJX0dVREVBRFNfRTgwQ19QSUQgICAgMHhFODBDCiNkZWZpbmUgRlRESV9HVURFQURTX0U4MERfUElEICAgIDB4RTgwRAojZGVmaW5lIEZURElfR1VERUFEU19FODBFX1BJRCAgICAweEU4MEUKI2RlZmluZSBGVERJX0dVREVBRFNfRTgwRl9QSUQgICAgMHhFODBGCiNkZWZpbmUgRlRESV9HVURFQURTX0U4ODhfUElEICAgIDB4RTg4OCAgLyogRXhwZXJ0IElTRE4gQ29udHJvbCBVU0IgKi8KI2RlZmluZSBGVERJX0dVREVBRFNfRTg4OV9QSUQgICAgMHhFODg5ICAvKiBVU0IgUlMtMjMyIE9wdG9CcmlkZ2UgKi8KI2RlZmluZSBGVERJX0dVREVBRFNfRTg4QV9QSUQgICAgMHhFODhBCiNkZWZpbmUgRlRESV9HVURFQURTX0U4OEJfUElEICAgIDB4RTg4QgojZGVmaW5lIEZURElfR1VERUFEU19FODhDX1BJRCAgICAweEU4OEMKI2RlZmluZSBGVERJX0dVREVBRFNfRTg4RF9QSUQgICAgMHhFODhECiNkZWZpbmUgRlRESV9HVURFQURTX0U4OEVfUElEICAgIDB4RTg4RQojZGVmaW5lIEZURElfR1VERUFEU19FODhGX1BJRCAgICAweEU4OEYKCi8qCiAqIEVjbG8gKGh0dHA6Ly93d3cuZWNsby5wdC8pIHByb2R1Y3QgSURzLgogKiBQSUQgMHhFQTkwIHN1Ym1pdHRlZCBieSBNYXJ0aW4gR3JpbGwuCiAqLwojZGVmaW5lIEZURElfRUNMT19DT01fMVdJUkVfUElECTB4RUE5MAkvKiBDT00gdG8gMS1XaXJlIFVTQiBhZGFwdG9yICovCgovKiBUTkMtWCBVU0ItdG8tcGFja2V0LXJhZGlvIGFkYXB0ZXIsIHZlcnNpb25zIHByaW9yIHRvIDMuMCAoRExQIG1vZHVsZSkgKi8KI2RlZmluZSBGVERJX1ROQ19YX1BJRAkJMHhFQkUwCgovKgogKiBUZXJhdHJvbmlrIHByb2R1Y3QgaWRzLgogKiBTdWJtaXR0ZWQgYnkgTy4gV/ZsZmVsc2NobmVpZGVyLgogKi8KI2RlZmluZSBGVERJX1RFUkFUUk9OSUtfVkNQX1BJRAkgMHhFQzg4CS8qIFRlcmF0cm9uaWsgZGV2aWNlIChwcmVmZXJyaW5nIFZDUCBkcml2ZXIgb24gd2luZG93cykgKi8KI2RlZmluZSBGVERJX1RFUkFUUk9OSUtfRDJYWF9QSUQgMHhFQzg5CS8qIFRlcmF0cm9uaWsgZGV2aWNlIChwcmVmZXJyaW5nIEQyWFggZHJpdmVyIG9uIHdpbmRvd3MpICovCgovKiBSaWcgRXhwZXJ0IFVrcmFpbmUgZGV2aWNlcyAqLwojZGVmaW5lIEZURElfUkVVX1RJTllfUElECQkweEVEMjIJLyogUmlnRXhwZXJ0IFRpbnkgKi8KCi8qCiAqIEhhbWVnIEhPODIwIGFuZCBITzg3MCBpbnRlcmZhY2UgKHVzaW5nIFZJRCAweDA0MDMpCiAqLwojZGVmaW5lICAgICAgICBIQU1FR19ITzgyMF9QSUQgICAgICAgICAweGVkNzQKI2RlZmluZSAgICAgICAgSEFNRUdfSE84NzBfUElEICAgICAgICAgMHhlZDcxCgovKgogKiAgTWF4U3RyZWFtIGRldmljZXMJd3d3Lm1heHN0cmVhbS5uZXQKICovCiNkZWZpbmUgRlRESV9NQVhTVFJFQU1fUElECTB4RUUxOAkvKiBYYmVlIFBLRy1VIE1vZHVsZSAqLwoKLyoKICogbWljcm9IQU0gcHJvZHVjdCBJRHMgKGh0dHA6Ly93d3cubWljcm9oYW0uY29tKS4KICogU3VibWl0dGVkIGJ5IEp1c3RpbiBCdXJrZXQgKEtMMVJMKSA8em9ydG9uQGp0YW4uY29tPgogKiBhbmQgTWlrZSBTdHVkZXIgKEs2RUVQKSA8azZlZXBAaGFtc29mdHdhcmUub3JnPi4KICogSWFuIEFiYm90dCA8YWJib3R0aUBtZXYuY28udWs+IGFkZGVkIGEgZmV3IG1vcmUgZnJvbSB0aGUgZHJpdmVyIElORiBmaWxlLgogKi8KI2RlZmluZSBGVERJX01IQU1fS1dfUElEIDB4RUVFOAkJLyogVVNCLUtXIGludGVyZmFjZSAqLwojZGVmaW5lIEZURElfTUhBTV9ZU19QSUQgMHhFRUU5CQkvKiBVU0ItWVMgaW50ZXJmYWNlICovCiNkZWZpbmUgRlRESV9NSEFNX1k2X1BJRCAweEVFRUEJCS8qIFVTQi1ZNiBpbnRlcmZhY2UgKi8KI2RlZmluZSBGVERJX01IQU1fWThfUElEIDB4RUVFQgkJLyogVVNCLVk4IGludGVyZmFjZSAqLwojZGVmaW5lIEZURElfTUhBTV9JQ19QSUQgMHhFRUVDCQkvKiBVU0ItSUMgaW50ZXJmYWNlICovCiNkZWZpbmUgRlRESV9NSEFNX0RCOV9QSUQgMHhFRUVECS8qIFVTQi1EQjkgaW50ZXJmYWNlICovCiNkZWZpbmUgRlRESV9NSEFNX1JTMjMyX1BJRCAweEVFRUUJLyogVVNCLVJTMjMyIGludGVyZmFjZSAqLwojZGVmaW5lIEZURElfTUhBTV9ZOV9QSUQgMHhFRUVGCQkvKiBVU0ItWTkgaW50ZXJmYWNlICovCgovKiBEb21pbnRlbGwgcHJvZHVjdHMgIGh0dHA6Ly93d3cuZG9taW50ZWxsLmNvbSAqLwojZGVmaW5lIEZURElfRE9NSU5URUxMX0RHUUdfUElECTB4RUY1MAkvKiBNYXN0ZXIgKi8KI2RlZmluZSBGVERJX0RPTUlOVEVMTF9EVVNCX1BJRAkweEVGNTEJLyogRFVTQjAxIG1vZHVsZSAqLwoKLyoKICogVGhlIGZvbGxvd2luZyBhcmUgdGhlIHZhbHVlcyBmb3IgdGhlIFBlcmxlIFN5c3RlbXMKICogVWx0cmFQb3J0IFVTQiBzZXJpYWwgY29udmVydGVycwogKi8KI2RlZmluZSBGVERJX1BFUkxFX1VMVFJBUE9SVF9QSUQgMHhGMEMwCS8qIFBlcmxlIFVsdHJhUG9ydCBQcm9kdWN0IElkICovCgovKiBTcHJvZyBJSSAoQW5kcmV3IENyb3NsYW5kJ3MgU3Byb2dJSSBEQ0MgaW50ZXJmYWNlKSAqLwojZGVmaW5lIEZURElfU1BST0dfSUkJCTB4RjBDOAoKLyogYW4gaW5mcmFyZWQgcmVjZWl2ZXIgZm9yIHVzZXIgYWNjZXNzIGNvbnRyb2wgd2l0aCBJUiB0YWdzICovCiNkZWZpbmUgRlRESV9QSUVHUk9VUF9QSUQJMHhGMjA4CS8qIFByb2R1Y3QgSWQgKi8KCi8qIEFDVCBTb2x1dGlvbnMgSG9tZVBybyBaV2F2ZSBpbnRlcmZhY2UKICAgKGh0dHA6Ly93d3cuYWN0LXNvbHV0aW9ucy5jb20vSG9tZVByby5odG0pICovCiNkZWZpbmUgRlRESV9BQ1RaV0FWRV9QSUQJMHhGMkQwCgovKgogKiA0Ti1HQUxBWFkuREUgUElEcyBmb3IgQ0FOLVVTQiwgVVNCLVJTMjMyLCBVU0ItUlM0MjIsIFVTQi1SUzQ4NSwKICogVVNCLVRUWSBhY3RpdiwgVVNCLVRUWSBwYXNzaXYuICBTb21lIFBJRHMgYXJlIHVzZWQgYnkgc2V2ZXJhbCBkZXZpY2VzCiAqIGFuZCBJJ20gbm90IGVudGlyZWx5IHN1cmUgd2hpY2ggYXJlIHVzZWQgYnkgd2hpY2guCiAqLwojZGVmaW5lIEZURElfNE5fR0FMQVhZX0RFXzFfUElECTB4RjNDMAojZGVmaW5lIEZURElfNE5fR0FMQVhZX0RFXzJfUElECTB4RjNDMQoKLyoKICogTGlueCBUZWNobm9sb2dpZXMgcHJvZHVjdCBpZHMKICovCiNkZWZpbmUgTElOWF9TRE1VU0JRU1NfUElECTB4RjQ0OAkvKiBMaW54IFNETS1VU0ItUVMtUyAqLwojZGVmaW5lIExJTlhfTUFTVEVSREVWRUwyX1BJRCAgIDB4RjQ0OSAgIC8qIExpbnggTWFzdGVyIERldmVsb3BtZW50IDIuMCAqLwojZGVmaW5lIExJTlhfRlVUVVJFXzBfUElEICAgMHhGNDRBICAgLyogTGlueCBmdXR1cmUgZGV2aWNlICovCiNkZWZpbmUgTElOWF9GVVRVUkVfMV9QSUQgICAweEY0NEIgICAvKiBMaW54IGZ1dHVyZSBkZXZpY2UgKi8KI2RlZmluZSBMSU5YX0ZVVFVSRV8yX1BJRCAgIDB4RjQ0QyAgIC8qIExpbnggZnV0dXJlIGRldmljZSAqLwoKLyoKICogT2NlYW5pYyBwcm9kdWN0IGlkcwogKi8KI2RlZmluZSBGVERJX09DRUFOSUNfUElECTB4RjQ2MCAgLyogT2NlYW5pYyBkaXZlIGluc3RydW1lbnQgKi8KCi8qCiAqIFNVVU5UTyBwcm9kdWN0IGlkcwogKi8KI2RlZmluZSBGVERJX1NVVU5UT19TUE9SVFNfUElECTB4RjY4MAkvKiBTdXVudG8gU3BvcnRzIGluc3RydW1lbnQgKi8KCi8qIFVTQi1VSVJUIC0gQW4gaW5mcmFyZWQgcmVjZWl2ZXIgYW5kIHRyYW5zbWl0dGVyIHVzaW5nIHRoZSA4VTIzMkFNIGNoaXAgKi8KLyogaHR0cDovL2hvbWUuZWFydGhsaW5rLm5ldC9+anJoZWVzL1VTQlVJUlQvaW5kZXguaHRtICovCiNkZWZpbmUgRlRESV9VU0JfVUlSVF9QSUQJMHhGODUwCS8qIFByb2R1Y3QgSWQgKi8KCi8qIENDUyBJbmMuIElDRFUvSUNEVTQwIHByb2R1Y3QgSUQgLQogKiB0aGUgRlQyMzJCTSBpcyB1c2VkIGluIGFuIGluLWNpcmN1aXQtZGVidWdnZXIgdW5pdCBmb3IgUElDMTYncy9QSUMxOCdzICovCiNkZWZpbmUgRlRESV9DQ1NJQ0RVMjBfMF9QSUQgICAgMHhGOUQwCiNkZWZpbmUgRlRESV9DQ1NJQ0RVNDBfMV9QSUQgICAgMHhGOUQxCiNkZWZpbmUgRlRESV9DQ1NNQUNIWF8yX1BJRCAgICAgMHhGOUQyCiNkZWZpbmUgRlRESV9DQ1NMT0FEX05fR09fM19QSUQgMHhGOUQzCiNkZWZpbmUgRlRESV9DQ1NJQ0RVNjRfNF9QSUQgICAgMHhGOUQ0CiNkZWZpbmUgRlRESV9DQ1NQUklNRThfNV9QSUQgICAgMHhGOUQ1CgovKgogKiBUaGUgZm9sbG93aW5nIGFyZSB0aGUgdmFsdWVzIGZvciB0aGUgTWF0cml4IE9yYml0YWwgTENEIGRpc3BsYXlzLAogKiB3aGljaCBhcmUgdGhlIEZUMjMyQk0gKCBzaW1pbGFyIHRvIHRoZSA4VTIzMkFNICkKICovCiNkZWZpbmUgRlRESV9NVFhPUkJfMF9QSUQgICAgICAweEZBMDAgIC8qIE1hdHJpeCBPcmJpdGFsIFByb2R1Y3QgSWQgKi8KI2RlZmluZSBGVERJX01UWE9SQl8xX1BJRCAgICAgIDB4RkEwMSAgLyogTWF0cml4IE9yYml0YWwgUHJvZHVjdCBJZCAqLwojZGVmaW5lIEZURElfTVRYT1JCXzJfUElEICAgICAgMHhGQTAyICAvKiBNYXRyaXggT3JiaXRhbCBQcm9kdWN0IElkICovCiNkZWZpbmUgRlRESV9NVFhPUkJfM19QSUQgICAgICAweEZBMDMgIC8qIE1hdHJpeCBPcmJpdGFsIFByb2R1Y3QgSWQgKi8KI2RlZmluZSBGVERJX01UWE9SQl80X1BJRCAgICAgIDB4RkEwNCAgLyogTWF0cml4IE9yYml0YWwgUHJvZHVjdCBJZCAqLwojZGVmaW5lIEZURElfTVRYT1JCXzVfUElEICAgICAgMHhGQTA1ICAvKiBNYXRyaXggT3JiaXRhbCBQcm9kdWN0IElkICovCiNkZWZpbmUgRlRESV9NVFhPUkJfNl9QSUQgICAgICAweEZBMDYgIC8qIE1hdHJpeCBPcmJpdGFsIFByb2R1Y3QgSWQgKi8KCi8qCiAqIEhvbWUgRWxlY3Ryb25pY3MgKHd3dy5ob21lLWVsZWN0cm8uY29tKSBVU0IgZ2FkZ2V0cwogKi8KI2RlZmluZSBGVERJX0hFX1RJUkExX1BJRAkweEZBNzgJLyogVGlyYS0xIElSIHRyYW5zY2VpdmVyICovCgovKiBJbnNpZGUgQWNjZXNzbyBjb250YWN0bGVzcyByZWFkZXIgKGh0dHA6Ly93d3cuaW5zaWRlZnIuY29tKSAqLwojZGVmaW5lIElOU0lERV9BQ0NFU1NPCQkweEZBRDAKCi8qCiAqIFRob3JMYWJzIFVTQiBtb3RvciBkcml2ZXJzCiAqLwojZGVmaW5lIEZURElfVEhPUkxBQlNfUElECQkweGZhZjAgLyogVGhvckxhYnMgVVNCIG1vdG9yIGRyaXZlcnMgKi8KCi8qCiAqIFByb3RlZ28gcHJvZHVjdCBpZHMKICovCiNkZWZpbmUgUFJPVEVHT19TUEVDSUFMXzEJMHhGQzcwCS8qIHNwZWNpYWwvdW5rbm93biBkZXZpY2UgKi8KI2RlZmluZSBQUk9URUdPX1IyWDAJCTB4RkM3MQkvKiBSMjAwLVVTQiBUUk5HIHVuaXQgKFIyMTAsIFIyMjAsIGFuZCBSMjMwKSAqLwojZGVmaW5lIFBST1RFR09fU1BFQ0lBTF8zCTB4RkM3MgkvKiBzcGVjaWFsL3Vua25vd24gZGV2aWNlICovCiNkZWZpbmUgUFJPVEVHT19TUEVDSUFMXzQJMHhGQzczCS8qIHNwZWNpYWwvdW5rbm93biBkZXZpY2UgKi8KCi8qCiAqIERTUy0yMCBTeW5jIFN0YXRpb24gZm9yIFNvbnkgRXJpY3Nzb24gUDgwMAogKi8KI2RlZmluZSBGVERJX0RTUzIwX1BJRCAgICAgICAgICAweEZDODIKCi8qIHd3dy5pcnRyYW5zLmRlIGRldmljZSAqLwojZGVmaW5lIEZURElfSVJUUkFOU19QSUQgMHhGQzYwIC8qIFByb2R1Y3QgSWQgKi8KCi8qCiAqIFJNIE1pY2hhZWxpZGVzIENBTnZpZXcgVVNCIChodHRwOi8vd3d3LnJtY2FuLmNvbSkgKEZURElfVklEKQogKiBDQU4gZmllbGRidXMgaW50ZXJmYWNlIGFkYXB0ZXIsIGFkZGVkIGJ5IHBvcnQgR21iSCB3d3cucG9ydC5kZSkKICogSWFuIEFiYm90dCBjaGFuZ2VkIHRoZSBtYWNybyBuYW1lcyBmb3IgY29uc2lzdGVuY3kuCiAqLwojZGVmaW5lIEZURElfUk1fQ0FOVklFV19QSUQJMHhmZDYwCS8qIFByb2R1Y3QgSWQgKi8KLyogd3d3LnRob3VnaHR0ZWNobm9sb2d5LmNvbS8gVFQtVVNCIHByb3ZpZGUgd2l0aCBwcm9jb21wIHVzZSBmdGRpX3NpbyAqLwojZGVmaW5lIEZURElfVFRVU0JfUElEIDB4RkYyMCAvKiBQcm9kdWN0IElkICovCgojZGVmaW5lIEZURElfVVNCWF83MDdfUElEIDB4Rjg1NwkvKiBBRFNUZWNoIElSIEJsYXN0ZXIgVVNCWC03MDcgKEZURElfVklEKSAqLwoKI2RlZmluZSBGVERJX1JFTEFJU19QSUQJMHhGQTEwICAvKiBSZWxhaXMgZGV2aWNlIGZyb20gUnVkb2xmIEd1Z2xlciAqLwoKLyoKICogUENESiB1c2UgZnRkaSBiYXNlZCBkai1jb250cm9sbGVycy4gVGhlIGZvbGxvd2luZyBQSUQgaXMKICogZm9yIHRoZWlyIERBQy0yIGRldmljZSBodHRwOi8vd3d3LnBjZGpoYXJkd2FyZS5jb20vREFDMi5hc3AKICogKHRoZSBWSUQgaXMgdGhlIHN0YW5kYXJkIGZ0ZGkgdmlkIChGVERJX1ZJRCksIFBJRCBzZW50IGJ5IFdvdXRlciBQYWVzZW4pCiAqLwojZGVmaW5lIEZURElfUENESl9EQUMyX1BJRCAweEZBODgKCiNkZWZpbmUgRlRESV9SMjAwMEtVX1RSVUVfUk5HCTB4RkI4MCAgLyogUjIwMDBLVSBUUlVFIFJORyAoRlRESV9WSUQpICovCgovKgogKiBESUVCT0xEIEJDUyBTRTkyMyAoRlRESV9WSUQpCiAqLwojZGVmaW5lIERJRUJPTERfQkNTX1NFOTIzX1BJRAkweGZiOTkKCi8qIHd3dy5jcnlzdGFsZm9udHouY29tIGRldmljZXMKICogLSB0aGFueCBmb3IgcHJvdmlkaW5nIGZyZWUgZGV2aWNlcyBmb3IgZXZhbHVhdGlvbiAhCiAqIHRoZXkgdXNlIHRoZSBmdGRpIGNoaXBzZXQgZm9yIHRoZSBVU0IgaW50ZXJmYWNlCiAqIGFuZCB0aGUgdmVuZG9yIGlkIGlzIHRoZSBzYW1lCiAqLwojZGVmaW5lIEZURElfWEZfNjMyX1BJRCAweEZDMDgJLyogNjMyOiAxNngyIENoYXJhY3RlciBEaXNwbGF5ICovCiNkZWZpbmUgRlRESV9YRl82MzRfUElEIDB4RkMwOQkvKiA2MzQ6IDIweDQgQ2hhcmFjdGVyIERpc3BsYXkgKi8KI2RlZmluZSBGVERJX1hGXzU0N19QSUQgMHhGQzBBCS8qIDU0NzogVHdvIGxpbmUgRGlzcGxheSAqLwojZGVmaW5lIEZURElfWEZfNjMzX1BJRCAweEZDMEIJLyogNjMzOiAxNngyIENoYXJhY3RlciBEaXNwbGF5IHdpdGggS2V5cyAqLwojZGVmaW5lIEZURElfWEZfNjMxX1BJRCAweEZDMEMJLyogNjMxOiAyMHgyIENoYXJhY3RlciBEaXNwbGF5ICovCiNkZWZpbmUgRlRESV9YRl82MzVfUElEIDB4RkMwRAkvKiA2MzU6IDIweDQgQ2hhcmFjdGVyIERpc3BsYXkgKi8KI2RlZmluZSBGVERJX1hGXzY0MF9QSUQgMHhGQzBFCS8qIDY0MDogVHdvIGxpbmUgRGlzcGxheSAqLwojZGVmaW5lIEZURElfWEZfNjQyX1BJRCAweEZDMEYJLyogNjQyOiBUd28gbGluZSBEaXNwbGF5ICovCgovKgogKiBWaWRlbyBOZXR3b3JrcyBMaW1pdGVkIC8gSG9tZWNob2ljZSBpbiB0aGUgVUsgdXNlIGFuIGZ0ZGktYmFzZWQgZGV2aWNlCiAqIGZvciB0aGVpciAxTWIgYnJvYWRiYW5kIGludGVybmV0IHNlcnZpY2UuICBUaGUgZm9sbG93aW5nIFBJRCBpcyBleGhpYml0ZWQKICogYnkgdGhlIHVzYiBkZXZpY2Ugc3VwcGxpZWQgKHRoZSBWSUQgaXMgdGhlIHN0YW5kYXJkIGZ0ZGkgdmlkIChGVERJX1ZJRCkKICovCiNkZWZpbmUgRlRESV9WTkhDUENVU0JfRF9QSUQgMHhmZTM4IC8qIFByb2R1Y3QgSWQgKi8KCi8qIEFscGhhTWljcm8gQ29tcG9uZW50cyBBTUMtMjMyVVNCMDEgZGV2aWNlIChGVERJX1ZJRCkgKi8KI2RlZmluZSBGVERJX0FNQzIzMl9QSUQgMHhGRjAwIC8qIFByb2R1Y3QgSWQgKi8KCi8qCiAqIElCUyBlbGVrdHJvbmlrIHByb2R1Y3QgaWRzIChGVERJX1ZJRCkKICogU3VibWl0dGVkIGJ5IFRob21hcyBTY2hsZXVzZW5lcgogKi8KI2RlZmluZSBGVERJX0lCU19VUzQ4NV9QSUQJMHhmZjM4ICAvKiBJQlMgVVM0ODUgKFVTQjwtLT5SUzQyMi80ODUgaW50ZXJmYWNlKSAqLwojZGVmaW5lIEZURElfSUJTX1BJQ1BST19QSUQJMHhmZjM5ICAvKiBJQlMgUElDLVByb2dyYW1tZXIgKi8KI2RlZmluZSBGVERJX0lCU19QQ01DSUFfUElECTB4ZmYzYSAgLyogSUJTIENhcmQgcmVhZGVyIGZvciBQQ01DSUEgU1JBTS1jYXJkcyAqLwojZGVmaW5lIEZURElfSUJTX1BLMV9QSUQJMHhmZjNiICAvKiBJQlMgUEsxIC0gUGFydGljZWwgY291bnRlciAqLwojZGVmaW5lIEZURElfSUJTX1JTMjMyTU9OX1BJRAkweGZmM2MgIC8qIElCUyBSUzIzMiAtIE1vbml0b3IgKi8KI2RlZmluZSBGVERJX0lCU19BUFA3MF9QSUQJMHhmZjNkICAvKiBBUFAgNzAgKGR1c3QgbW9uaXRvcmluZyBzeXN0ZW0pICovCiNkZWZpbmUgRlRESV9JQlNfUEVET19QSUQJMHhmZjNlICAvKiBJQlMgUEVETy1Nb2RlbSAoUkYgbW9kZW0gODY4LjM1IE1IeikgKi8KI2RlZmluZSBGVERJX0lCU19QUk9EX1BJRAkweGZmM2YgIC8qIGZ1dHVyZSBkZXZpY2UgKi8KLyogd3d3LmNhbnVzYi5jb20gTGF3aWNlbCBDQU5VU0IgZGV2aWNlIChGVERJX1ZJRCkgKi8KI2RlZmluZSBGVERJX0NBTlVTQl9QSUQgMHhGRkE4IC8qIFByb2R1Y3QgSWQgKi8KCgoKLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwovKiogdGhpcmQtcGFydHkgVklEL1BJRCBjb21ib3MgKiovCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCgoKLyoKICogQXRtZWwgU1RLNTQxCiAqLwojZGVmaW5lIEFUTUVMX1ZJRAkJMHgwM2ViIC8qIFZlbmRvciBJRCAqLwojZGVmaW5lIFNUSzU0MV9QSUQJCTB4MjEwOSAvKiBaaWdiZWUgQ29udHJvbGxlciAqLwoKLyoKICogQmxhY2tmaW4gZ25JQ0UgSlRBRwogKiBodHRwOi8vZG9jcy5ibGFja2Zpbi51Y2xpbnV4Lm9yZy9kb2t1LnBocD9pZD1odzpqdGFnOmduaWNlCiAqLwojZGVmaW5lIEFESV9WSUQgCQkweDA0NTYKI2RlZmluZSBBRElfR05JQ0VfUElEIAkJMHhGMDAwCiNkZWZpbmUgQURJX0dOSUNFUExVU19QSUQgCTB4RjAwMQoKLyoKICogUkFUT0MgUkVYLVVTQjYwRgogKi8KI2RlZmluZSBSQVRPQ19WRU5ET1JfSUQJCTB4MDU4NAojZGVmaW5lIFJBVE9DX1BST0RVQ1RfSURfVVNCNjBGCTB4YjAyMAoKLyoKICogQ29udGVjIHByb2R1Y3RzIChodHRwOi8vd3d3LmNvbnRlYy5jb20pCiAqIFN1Ym1pdHRlZCBieSBEYW5pZWwgU2FuZ29ycmluCiAqLwojZGVmaW5lIENPTlRFQ19WSUQJCTB4MDZDRQkvKiBWZW5kb3IgSUQgKi8KI2RlZmluZSBDT05URUNfQ09NMVVTQkhfUElECTB4ODMxMQkvKiBDT00tMShVU0IpSCAqLwoKLyoKICogQ29udGVjIHByb2R1Y3RzIChodHRwOi8vd3d3LmNvbnRlYy5jb20pCiAqIFN1Ym1pdHRlZCBieSBEYW5pZWwgU2FuZ29ycmluCiAqLwojZGVmaW5lIENPTlRFQ19WSUQJCTB4MDZDRQkvKiBWZW5kb3IgSUQgKi8KI2RlZmluZSBDT05URUNfQ09NMVVTQkhfUElECTB4ODMxMQkvKiBDT00tMShVU0IpSCAqLwoKLyoKICogRGVmaW5pdGlvbnMgZm9yIEImQiBFbGVjdHJvbmljcyBwcm9kdWN0cy4KICovCiNkZWZpbmUgQkFOREJfVklECQkweDA4NTYJLyogQiZCIEVsZWN0cm9uaWNzIFZlbmRvciBJRCAqLwojZGVmaW5lIEJBTkRCX1VTT1RMNF9QSUQJMHhBQzAxCS8qIFVTT1RMNCBJc29sYXRlZCBSUy00ODUgQ29udmVydGVyICovCiNkZWZpbmUgQkFOREJfVVNUTDRfUElECQkweEFDMDIJLyogVVNUTDQgUlMtNDg1IENvbnZlcnRlciAqLwojZGVmaW5lIEJBTkRCX1VTTzlNTDJfUElECTB4QUMwMwkvKiBVU085TUwyIElzb2xhdGVkIFJTLTIzMiBDb252ZXJ0ZXIgKi8KI2RlZmluZSBCQU5EQl9VU09QVEw0X1BJRAkweEFDMTEKI2RlZmluZSBCQU5EQl9VU1BUTDRfUElECTB4QUMxMgojZGVmaW5lIEJBTkRCX1VTTzlNTDJEUl8yX1BJRAkweEFDMTYKI2RlZmluZSBCQU5EQl9VU085TUwyRFJfUElECTB4QUMxNwojZGVmaW5lIEJBTkRCX1VTT1BUTDREUjJfUElECTB4QUMxOAkvKiBVU09QVEw0Ui0yIDItcG9ydCBJc29sYXRlZCBSUy0yMzIgQ29udmVydGVyICovCiNkZWZpbmUgQkFOREJfVVNPUFRMNERSX1BJRAkweEFDMTkKI2RlZmluZSBCQU5EQl80ODVVU0I5Rl8yV19QSUQJMHhBQzI1CiNkZWZpbmUgQkFOREJfNDg1VVNCOUZfNFdfUElECTB4QUMyNgojZGVmaW5lIEJBTkRCXzIzMlVTQjlNX1BJRAkweEFDMjcKI2RlZmluZSBCQU5EQl80ODVVU0JUQl8yV19QSUQJMHhBQzMzCiNkZWZpbmUgQkFOREJfNDg1VVNCVEJfNFdfUElECTB4QUMzNAojZGVmaW5lIEJBTkRCX1RUTDVVU0I5TV9QSUQJMHhBQzQ5CiNkZWZpbmUgQkFOREJfVFRMM1VTQjlNX1BJRAkweEFDNTAKI2RlZmluZSBCQU5EQl9aWl9QUk9HMV9VU0JfUElECTB4QkEwMgoKLyoKICogSW50cmVwaWQgQ29udHJvbCBTeXN0ZW1zIChodHRwOi8vd3d3LmludHJlcGlkY3MuY29tLykgVmFsdWVDQU4gYW5kIE5lb1ZJCiAqLwojZGVmaW5lIElOVFJFUElEX1ZJRAkJMHgwOTNDCiNkZWZpbmUgSU5UUkVQSURfVkFMVUVDQU5fUElECTB4MDYwMQojZGVmaW5lIElOVFJFUElEX05FT1ZJX1BJRAkweDA3MDEKCi8qCiAqIERlZmluaXRpb25zIGZvciBJRCBURUNIICh3d3cuaWR0LW5ldC5jb20pIGRldmljZXMKICovCiNkZWZpbmUgSURURUNIX1ZJRAkJMHgwQUNECS8qIElEIFRFQ0ggVmVuZG9yIElEICovCiNkZWZpbmUgSURURUNIX0lEVDEyMjFVX1BJRAkweDAzMDAJLyogSURUMTIyMVUgVVNCIHRvIFJTLTIzMiBhZGFwdGVyICovCgovKgogKiBEZWZpbml0aW9ucyBmb3IgT21uaWRpcmVjdGlvbmFsIENvbnRyb2wgVGVjaG5vbG9neSwgSW5jLiBkZXZpY2VzCiAqLwojZGVmaW5lIE9DVF9WSUQJCQkweDBCMzkJLyogT0NUIHZlbmRvciBJRCAqLwovKiBOb3RlOiBPQ1QgVVMxMDEgaXMgYWxzbyByZWJhZGdlZCBhcyBEaWNrIFNtaXRoIEVsZWN0cm9uaWNzIChOWikgWEg2MzgxICovCi8qIEFsc28gcmViYWRnZWQgYXMgRGljayBTbWl0aCBFbGVjdHJvbmljcyAoQXVzKSBYSDY0NTEgKi8KLyogQWxzbyByZWJhZGdlZCBhcyBTSUlHIEluYy4gbW9kZWwgVVMyMzA4IGhhcmR3YXJlIHZlcnNpb24gMSAqLwojZGVmaW5lIE9DVF9VUzEwMV9QSUQJCTB4MDQyMQkvKiBPQ1QgVVMxMDEgVVNCIHRvIFJTLTIzMiAqLwoKLyoKICogSWNvbSBJRC0xIGRpZ2l0YWwgdHJhbnNjZWl2ZXIKICovCgojZGVmaW5lIElDT01fSUQxX1ZJRCAgICAgICAgICAgIDB4MEMyNgojZGVmaW5lIElDT01fSUQxX1BJRCAgICAgICAgICAgIDB4MDAwNAoKLyoKICogR04gT3RvbWV0cmljcyAoaHR0cDovL3d3dy5vdG9tZXRyaWNzLmNvbSkKICogU3VibWl0dGVkIGJ5IFZpbGxlIFN1bmRiZXJnLgogKi8KI2RlZmluZSBHTl9PVE9NRVRSSUNTX1ZJRAkweDBjMzMJLyogVmVuZG9yIElEICovCiNkZWZpbmUgQVVSSUNBTF9VU0JfUElECQkweDAwMTAJLyogQXVyaWNhbCBVU0IgQXVkaW9tZXRlciAqLwoKLyoKICogVGhlIGZvbGxvd2luZyBhcmUgdGhlIHZhbHVlcyBmb3IgdGhlIFNlYWxldmVsIFNlYUxJTksrIGFkYXB0ZXJzLgogKiAoT3JpZ2luYWwgbGlzdCBzZW50IGJ5IFR1YW4gSG9hbmcuICBJYW4gQWJib3R0IHJlbmFtZWQgdGhlIG1hY3JvcyBhbmQKICogcmVtb3ZlZCBzb21lIFBJRHMgdGhhdCBkb24ndCBzZWVtIHRvIG1hdGNoIGFueSBleGlzdGluZyBwcm9kdWN0cy4pCiAqLwojZGVmaW5lIFNFQUxFVkVMX1ZJRAkJMHgwYzUyCS8qIFNlYWxldmVsIFZlbmRvciBJRCAqLwojZGVmaW5lIFNFQUxFVkVMXzIxMDFfUElECTB4MjEwMQkvKiBTZWFMSU5LKzIzMiAoMjEwMS8yMTA1KSAqLwojZGVmaW5lIFNFQUxFVkVMXzIxMDJfUElECTB4MjEwMgkvKiBTZWFMSU5LKzQ4NSAoMjEwMikgKi8KI2RlZmluZSBTRUFMRVZFTF8yMTAzX1BJRAkweDIxMDMJLyogU2VhTElOSysyMzJJICgyMTAzKSAqLwojZGVmaW5lIFNFQUxFVkVMXzIxMDRfUElECTB4MjEwNAkvKiBTZWFMSU5LKzQ4NUkgKDIxMDQpICovCiNkZWZpbmUgU0VBTEVWRUxfMjEwNl9QSUQJMHg5MDIwCS8qIFNlYUxJTksrNDIyICgyMTA2KSAqLwojZGVmaW5lIFNFQUxFVkVMXzIyMDFfMV9QSUQJMHgyMjExCS8qIFNlYVBPUlQrMi8yMzIgKDIyMDEpIFBvcnQgMSAqLwojZGVmaW5lIFNFQUxFVkVMXzIyMDFfMl9QSUQJMHgyMjIxCS8qIFNlYVBPUlQrMi8yMzIgKDIyMDEpIFBvcnQgMiAqLwojZGVmaW5lIFNFQUxFVkVMXzIyMDJfMV9QSUQJMHgyMjEyCS8qIFNlYVBPUlQrMi80ODUgKDIyMDIpIFBvcnQgMSAqLwojZGVmaW5lIFNFQUxFVkVMXzIyMDJfMl9QSUQJMHgyMjIyCS8qIFNlYVBPUlQrMi80ODUgKDIyMDIpIFBvcnQgMiAqLwojZGVmaW5lIFNFQUxFVkVMXzIyMDNfMV9QSUQJMHgyMjEzCS8qIFNlYVBPUlQrMiAoMjIwMykgUG9ydCAxICovCiNkZWZpbmUgU0VBTEVWRUxfMjIwM18yX1BJRAkweDIyMjMJLyogU2VhUE9SVCsyICgyMjAzKSBQb3J0IDIgKi8KI2RlZmluZSBTRUFMRVZFTF8yNDAxXzFfUElECTB4MjQxMQkvKiBTZWFQT1JUKzQvMjMyICgyNDAxKSBQb3J0IDEgKi8KI2RlZmluZSBTRUFMRVZFTF8yNDAxXzJfUElECTB4MjQyMQkvKiBTZWFQT1JUKzQvMjMyICgyNDAxKSBQb3J0IDIgKi8KI2RlZmluZSBTRUFMRVZFTF8yNDAxXzNfUElECTB4MjQzMQkvKiBTZWFQT1JUKzQvMjMyICgyNDAxKSBQb3J0IDMgKi8KI2RlZmluZSBTRUFMRVZFTF8yNDAxXzRfUElECTB4MjQ0MQkvKiBTZWFQT1JUKzQvMjMyICgyNDAxKSBQb3J0IDQgKi8KI2RlZmluZSBTRUFMRVZFTF8yNDAyXzFfUElECTB4MjQxMgkvKiBTZWFQT1JUKzQvNDg1ICgyNDAyKSBQb3J0IDEgKi8KI2RlZmluZSBTRUFMRVZFTF8yNDAyXzJfUElECTB4MjQyMgkvKiBTZWFQT1JUKzQvNDg1ICgyNDAyKSBQb3J0IDIgKi8KI2RlZmluZSBTRUFMRVZFTF8yNDAyXzNfUElECTB4MjQzMgkvKiBTZWFQT1JUKzQvNDg1ICgyNDAyKSBQb3J0IDMgKi8KI2RlZmluZSBTRUFMRVZFTF8yNDAyXzRfUElECTB4MjQ0MgkvKiBTZWFQT1JUKzQvNDg1ICgyNDAyKSBQb3J0IDQgKi8KI2RlZmluZSBTRUFMRVZFTF8yNDAzXzFfUElECTB4MjQxMwkvKiBTZWFQT1JUKzQgKDI0MDMpIFBvcnQgMSAqLwojZGVmaW5lIFNFQUxFVkVMXzI0MDNfMl9QSUQJMHgyNDIzCS8qIFNlYVBPUlQrNCAoMjQwMykgUG9ydCAyICovCiNkZWZpbmUgU0VBTEVWRUxfMjQwM18zX1BJRAkweDI0MzMJLyogU2VhUE9SVCs0ICgyNDAzKSBQb3J0IDMgKi8KI2RlZmluZSBTRUFMRVZFTF8yNDAzXzRfUElECTB4MjQ0MwkvKiBTZWFQT1JUKzQgKDI0MDMpIFBvcnQgNCAqLwojZGVmaW5lIFNFQUxFVkVMXzI4MDFfMV9QSUQJMFgyODExCS8qIFNlYUxJTksrOC8yMzIgKDI4MDEpIFBvcnQgMSAqLwojZGVmaW5lIFNFQUxFVkVMXzI4MDFfMl9QSUQJMFgyODIxCS8qIFNlYUxJTksrOC8yMzIgKDI4MDEpIFBvcnQgMiAqLwojZGVmaW5lIFNFQUxFVkVMXzI4MDFfM19QSUQJMFgyODMxCS8qIFNlYUxJTksrOC8yMzIgKDI4MDEpIFBvcnQgMyAqLwojZGVmaW5lIFNFQUxFVkVMXzI4MDFfNF9QSUQJMFgyODQxCS8qIFNlYUxJTksrOC8yMzIgKDI4MDEpIFBvcnQgNCAqLwojZGVmaW5lIFNFQUxFVkVMXzI4MDFfNV9QSUQJMFgyODUxCS8qIFNlYUxJTksrOC8yMzIgKDI4MDEpIFBvcnQgNSAqLwojZGVmaW5lIFNFQUxFVkVMXzI4MDFfNl9QSUQJMFgyODYxCS8qIFNlYUxJTksrOC8yMzIgKDI4MDEpIFBvcnQgNiAqLwojZGVmaW5lIFNFQUxFVkVMXzI4MDFfN19QSUQJMFgyODcxCS8qIFNlYUxJTksrOC8yMzIgKDI4MDEpIFBvcnQgNyAqLwojZGVmaW5lIFNFQUxFVkVMXzI4MDFfOF9QSUQJMFgyODgxCS8qIFNlYUxJTksrOC8yMzIgKDI4MDEpIFBvcnQgOCAqLwojZGVmaW5lIFNFQUxFVkVMXzI4MDJfMV9QSUQJMFgyODEyCS8qIFNlYUxJTksrOC80ODUgKDI4MDIpIFBvcnQgMSAqLwojZGVmaW5lIFNFQUxFVkVMXzI4MDJfMl9QSUQJMFgyODIyCS8qIFNlYUxJTksrOC80ODUgKDI4MDIpIFBvcnQgMiAqLwojZGVmaW5lIFNFQUxFVkVMXzI4MDJfM19QSUQJMFgyODMyCS8qIFNlYUxJTksrOC80ODUgKDI4MDIpIFBvcnQgMyAqLwojZGVmaW5lIFNFQUxFVkVMXzI4MDJfNF9QSUQJMFgyODQyCS8qIFNlYUxJTksrOC80ODUgKDI4MDIpIFBvcnQgNCAqLwojZGVmaW5lIFNFQUxFVkVMXzI4MDJfNV9QSUQJMFgyODUyCS8qIFNlYUxJTksrOC80ODUgKDI4MDIpIFBvcnQgNSAqLwojZGVmaW5lIFNFQUxFVkVMXzI4MDJfNl9QSUQJMFgyODYyCS8qIFNlYUxJTksrOC80ODUgKDI4MDIpIFBvcnQgNiAqLwojZGVmaW5lIFNFQUxFVkVMXzI4MDJfN19QSUQJMFgyODcyCS8qIFNlYUxJTksrOC80ODUgKDI4MDIpIFBvcnQgNyAqLwojZGVmaW5lIFNFQUxFVkVMXzI4MDJfOF9QSUQJMFgyODgyCS8qIFNlYUxJTksrOC80ODUgKDI4MDIpIFBvcnQgOCAqLwojZGVmaW5lIFNFQUxFVkVMXzI4MDNfMV9QSUQJMFgyODEzCS8qIFNlYUxJTksrOCAoMjgwMykgUG9ydCAxICovCiNkZWZpbmUgU0VBTEVWRUxfMjgwM18yX1BJRAkwWDI4MjMgCS8qIFNlYUxJTksrOCAoMjgwMykgUG9ydCAyICovCiNkZWZpbmUgU0VBTEVWRUxfMjgwM18zX1BJRAkwWDI4MzMgCS8qIFNlYUxJTksrOCAoMjgwMykgUG9ydCAzICovCiNkZWZpbmUgU0VBTEVWRUxfMjgwM180X1BJRAkwWDI4NDMgCS8qIFNlYUxJTksrOCAoMjgwMykgUG9ydCA0ICovCiNkZWZpbmUgU0VBTEVWRUxfMjgwM181X1BJRAkwWDI4NTMgCS8qIFNlYUxJTksrOCAoMjgwMykgUG9ydCA1ICovCiNkZWZpbmUgU0VBTEVWRUxfMjgwM182X1BJRAkwWDI4NjMgCS8qIFNlYUxJTksrOCAoMjgwMykgUG9ydCA2ICovCiNkZWZpbmUgU0VBTEVWRUxfMjgwM183X1BJRAkwWDI4NzMgCS8qIFNlYUxJTksrOCAoMjgwMykgUG9ydCA3ICovCiNkZWZpbmUgU0VBTEVWRUxfMjgwM184X1BJRAkwWDI4ODMgCS8qIFNlYUxJTksrOCAoMjgwMykgUG9ydCA4ICovCgovKgogKiBKRVRJIFNQRUNUUk9NRVRFUiBTUEVDQk9TIDEyMDEKICogaHR0cDovL3d3dy5qZXRpLmNvbS9wcm9kdWN0cy9zeXMvc2NiL3NjYjEyMDEucGhwCiAqLwojZGVmaW5lIEpFVElfVklECQkweDBjNmMKI2RlZmluZSBKRVRJX1NQQzEyMDFfUElECTB4MDRiMgoKLyoKICogRlRESSBVU0IgVUFSVCBjaGlwcyB1c2VkIGluIGNvbnN0cnVjdGlvbiBwcm9qZWN0cyBmcm9tIHRoZQogKiBFbGVrdG9yIEVsZWN0cm9uaWNzIG1hZ2F6aW5lIChodHRwOi8vZWxla3Rvci1lbGVjdHJvbmljcy5jby51aykKICovCiNkZWZpbmUgRUxFS1RPUl9WSUQJCTB4MEM3RAojZGVmaW5lIEVMRUtUT1JfRlQzMjNSX1BJRAkweDAwMDUJLyogUkZJRC1SZWFkZXIsIGlzc3VlIDA5LTIwMDYgKi8KCi8qCiAqIFBvc2lmbGV4IGluYyByZXRhaWwgZXF1aXBtZW50IChodHRwOi8vd3d3LnBvc2lmbGV4LmNvbS50dykKICovCiNkZWZpbmUgUE9TSUZMRVhfVklECQkweDBkM2EgIC8qIFZlbmRvciBJRCAqLwojZGVmaW5lIFBPU0lGTEVYX1BQNzAwMF9QSUQJMHgwMzAwICAvKiBQUC03MDAwSUkgdGhlcm1hbCBwcmludGVyICovCgovKgogKiBUaGUgZm9sbG93aW5nIGFyZSB0aGUgdmFsdWVzIGZvciB0d28gS09CSUwgY2hpcGNhcmQgdGVybWluYWxzLgogKi8KI2RlZmluZSBLT0JJTF9WSUQJCTB4MGQ0NgkvKiBLT0JJTCBWZW5kb3IgSUQgKi8KI2RlZmluZSBLT0JJTF9DT05WX0IxX1BJRAkweDIwMjAJLyogS09CSUwgS29udmVydGVyIGZvciBCMSAqLwojZGVmaW5lIEtPQklMX0NPTlZfS0FBTl9QSUQJMHgyMDIxCS8qIEtPQklMX0tvbnZlcnRlciBmb3IgS0FBTiAqLwoKI2RlZmluZSBGVERJX05GX1JJQ19WSUQJMHgwRENECS8qIFZlbmRvciBJZCAqLwojZGVmaW5lIEZURElfTkZfUklDX1BJRAkweDAwMDEJLyogUHJvZHVjdCBJZCAqLwoKLyoKICogRmFsY29tIFdpcmVsZXNzIENvbW11bmljYXRpb25zIEdtYkgKICovCiNkZWZpbmUgRkFMQ09NX1ZJRAkJMHgwRjk0CS8qIFZlbmRvciBJZCAqLwojZGVmaW5lIEZBTENPTV9UV0lTVF9QSUQJMHgwMDAxCS8qIEZhbGNvbSBUd2lzdCBVU0IgR1BSUyBtb2RlbSAqLwojZGVmaW5lIEZBTENPTV9TQU1CQV9QSUQJMHgwMDA1CS8qIEZhbGNvbSBTYW1iYSBVU0IgR1BSUyBtb2RlbSAqLwoKLyogTGFyc2VuIGFuZCBCcnVzZ2FhcmQgQWx0aVRyYWNrL1VTQnRyYWNrICAqLwojZGVmaW5lIExBUlNFTkJSVVNHQUFSRF9WSUQJCTB4MEZEOAojZGVmaW5lIExCX0FMVElUUkFDS19QSUQJCTB4MDAwMQoKLyoKICogVFRpIChUaHVybGJ5IFRoYW5kYXIgSW5zdHJ1bWVudHMpCiAqLwojZGVmaW5lIFRUSV9WSUQJCQkweDEwM0UJLyogVmVuZG9yIElkICovCiNkZWZpbmUgVFRJX1FMMzU1UF9QSUQJCTB4MDNFOAkvKiBUVGkgUUwzNTVQIHBvd2VyIHN1cHBseSAqLwoKLyogSW50ZXJiaW9tZXRyaWNzIFVTQiBJL08gQm9hcmQgKi8KLyogRGV2ZWxvcGVkIGZvciBJbnRlcmJpb21ldHJpY3MgYnkgUnVkb2xmIEd1Z2xlciAqLwojZGVmaW5lIElOVEVSQklPTUVUUklDU19WSUQgICAgICAgICAgICAgIDB4MTIwOQojZGVmaW5lIElOVEVSQklPTUVUUklDU19JT0JPQVJEX1BJRCAgICAgIDB4MTAwMgojZGVmaW5lIElOVEVSQklPTUVUUklDU19NSU5JX0lPQk9BUkRfUElEIDB4MTAwNgoKLyoKICogVGVzdG8gcHJvZHVjdHMgKGh0dHA6Ly93d3cudGVzdG8uY29tLykKICogU3VibWl0dGVkIGJ5IENvbGluIExlcm95CiAqLwojZGVmaW5lIFRFU1RPX1ZJRAkJCTB4MTI4RAojZGVmaW5lIFRFU1RPX1VTQl9JTlRFUkZBQ0VfUElECQkweDAwMDEKCi8qCiAqIE1vYmlsaXR5IEVsZWN0cm9uaWNzIHByb2R1Y3RzLgogKi8KI2RlZmluZSBNT0JJTElUWV9WSUQJCQkweDEzNDIKI2RlZmluZSBNT0JJTElUWV9VU0JfU0VSSUFMX1BJRAkJMHgwMjAyCS8qIEVhc2lEb2NrIFVTQiAyMDAgc2VyaWFsICovCgovKgogKiBGSUMgLyBPcGVuTW9rbywgSW5jLiBodHRwOi8vd2lraS5vcGVubW9rby5vcmcvd2lraS9OZW8xOTczX0RlYnVnX0JvYXJkX3YzCiAqIFN1Ym1pdHRlZCBieSBIYXJhbGQgV2VsdGUgPGxhZm9yZ2VAb3Blbm1va28ub3JnPgogKi8KI2RlZmluZQlGSUNfVklECQkJMHgxNDU3CiNkZWZpbmUJRklDX05FTzE5NzNfREVCVUdfUElECTB4NTExOAoKLyogT2xpbWV4ICovCiNkZWZpbmUgT0xJTUVYX1ZJRAkJCTB4MTVCQQojZGVmaW5lIE9MSU1FWF9BUk1fVVNCX09DRF9QSUQJCTB4MDAwMwoKLyoKICogVGVsbGR1cyBUZWNobm9sb2dpZXMKICovCiNkZWZpbmUgVEVMTERVU19WSUQJCQkweDE3ODEJLyogVmVuZG9yIElEICovCiNkZWZpbmUgVEVMTERVU19URUxMU1RJQ0tfUElECQkweDBDMzAJLyogUkYgY29udHJvbCBkb25nbGUgNDMzIE1IeiB1c2luZyBGVDIzMlJMICovCgovKgogKiBCYXllciBBc2NlbnNpYSBDb250b3VyIGJsb29kIGdsdWNvc2UgbWV0ZXIgVVNCLWNvbnZlcnRlciBjYWJsZS4KICogaHR0cDovL3dpbmdsdWNvZmFjdHMuY29tL2NhYmxlcy8KICovCiNkZWZpbmUgQkFZRVJfVklEICAgICAgICAgICAgICAgICAgICAgIDB4MUE3OQojZGVmaW5lIEJBWUVSX0NPTlRPVVJfQ0FCTEVfUElEICAgICAgICAweDYwMDEKCi8qCiAqIFRoZSBmb2xsb3dpbmcgYXJlIHRoZSB2YWx1ZXMgZm9yIHRoZSBNYXRyaXggT3JiaXRhbCBGVERJIFJhbmdlCiAqIEFueXRoaW5nIGluIHRoaXMgcmFuZ2Ugd2lsbCB1c2UgYW4gRlQyMzJSTC4KICovCiNkZWZpbmUgTVRYT1JCX1ZJRAkJCTB4MUIzRAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMDBfUElECTB4MDEwMAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMDFfUElECTB4MDEwMQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMDJfUElECTB4MDEwMgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMDNfUElECTB4MDEwMwojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMDRfUElECTB4MDEwNAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMDVfUElECTB4MDEwNQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMDZfUElECTB4MDEwNgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMDdfUElECTB4MDEwNwojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMDhfUElECTB4MDEwOAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMDlfUElECTB4MDEwOQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMEFfUElECTB4MDEwQQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMEJfUElECTB4MDEwQgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMENfUElECTB4MDEwQwojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMERfUElECTB4MDEwRAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMEVfUElECTB4MDEwRQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMEZfUElECTB4MDEwRgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMTBfUElECTB4MDExMAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMTFfUElECTB4MDExMQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMTJfUElECTB4MDExMgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMTNfUElECTB4MDExMwojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMTRfUElECTB4MDExNAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMTVfUElECTB4MDExNQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMTZfUElECTB4MDExNgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMTdfUElECTB4MDExNwojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMThfUElECTB4MDExOAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMTlfUElECTB4MDExOQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMUFfUElECTB4MDExQQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMUJfUElECTB4MDExQgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMUNfUElECTB4MDExQwojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMURfUElECTB4MDExRAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMUVfUElECTB4MDExRQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMUZfUElECTB4MDExRgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMjBfUElECTB4MDEyMAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMjFfUElECTB4MDEyMQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMjJfUElECTB4MDEyMgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMjNfUElECTB4MDEyMwojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMjRfUElECTB4MDEyNAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMjVfUElECTB4MDEyNQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMjZfUElECTB4MDEyNgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMjdfUElECTB4MDEyNwojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMjhfUElECTB4MDEyOAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMjlfUElECTB4MDEyOQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMkFfUElECTB4MDEyQQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMkJfUElECTB4MDEyQgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMkNfUElECTB4MDEyQwojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMkRfUElECTB4MDEyRAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMkVfUElECTB4MDEyRQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMkZfUElECTB4MDEyRgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMzBfUElECTB4MDEzMAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMzFfUElECTB4MDEzMQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMzJfUElECTB4MDEzMgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMzNfUElECTB4MDEzMwojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMzRfUElECTB4MDEzNAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMzVfUElECTB4MDEzNQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMzZfUElECTB4MDEzNgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMzdfUElECTB4MDEzNwojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMzhfUElECTB4MDEzOAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxMzlfUElECTB4MDEzOQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxM0FfUElECTB4MDEzQQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxM0JfUElECTB4MDEzQgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxM0NfUElECTB4MDEzQwojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxM0RfUElECTB4MDEzRAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxM0VfUElECTB4MDEzRQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxM0ZfUElECTB4MDEzRgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNDBfUElECTB4MDE0MAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNDFfUElECTB4MDE0MQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNDJfUElECTB4MDE0MgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNDNfUElECTB4MDE0MwojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNDRfUElECTB4MDE0NAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNDVfUElECTB4MDE0NQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNDZfUElECTB4MDE0NgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNDdfUElECTB4MDE0NwojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNDhfUElECTB4MDE0OAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNDlfUElECTB4MDE0OQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNEFfUElECTB4MDE0QQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNEJfUElECTB4MDE0QgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNENfUElECTB4MDE0QwojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNERfUElECTB4MDE0RAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNEVfUElECTB4MDE0RQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNEZfUElECTB4MDE0RgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNTBfUElECTB4MDE1MAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNTFfUElECTB4MDE1MQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNTJfUElECTB4MDE1MgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNTNfUElECTB4MDE1MwojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNTRfUElECTB4MDE1NAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNTVfUElECTB4MDE1NQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNTZfUElECTB4MDE1NgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNTdfUElECTB4MDE1NwojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNThfUElECTB4MDE1OAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNTlfUElECTB4MDE1OQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNUFfUElECTB4MDE1QQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNUJfUElECTB4MDE1QgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNUNfUElECTB4MDE1QwojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNURfUElECTB4MDE1RAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNUVfUElECTB4MDE1RQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNUZfUElECTB4MDE1RgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNjBfUElECTB4MDE2MAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNjFfUElECTB4MDE2MQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNjJfUElECTB4MDE2MgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNjNfUElECTB4MDE2MwojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNjRfUElECTB4MDE2NAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNjVfUElECTB4MDE2NQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNjZfUElECTB4MDE2NgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNjdfUElECTB4MDE2NwojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNjhfUElECTB4MDE2OAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNjlfUElECTB4MDE2OQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNkFfUElECTB4MDE2QQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNkJfUElECTB4MDE2QgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNkNfUElECTB4MDE2QwojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNkRfUElECTB4MDE2RAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNkVfUElECTB4MDE2RQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNkZfUElECTB4MDE2RgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNzBfUElECTB4MDE3MAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNzFfUElECTB4MDE3MQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNzJfUElECTB4MDE3MgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNzNfUElECTB4MDE3MwojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNzRfUElECTB4MDE3NAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNzVfUElECTB4MDE3NQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNzZfUElECTB4MDE3NgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNzdfUElECTB4MDE3NwojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNzhfUElECTB4MDE3OAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxNzlfUElECTB4MDE3OQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxN0FfUElECTB4MDE3QQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxN0JfUElECTB4MDE3QgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxN0NfUElECTB4MDE3QwojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxN0RfUElECTB4MDE3RAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxN0VfUElECTB4MDE3RQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxN0ZfUElECTB4MDE3RgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxODBfUElECTB4MDE4MAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxODFfUElECTB4MDE4MQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxODJfUElECTB4MDE4MgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxODNfUElECTB4MDE4MwojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxODRfUElECTB4MDE4NAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxODVfUElECTB4MDE4NQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxODZfUElECTB4MDE4NgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxODdfUElECTB4MDE4NwojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxODhfUElECTB4MDE4OAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxODlfUElECTB4MDE4OQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxOEFfUElECTB4MDE4QQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxOEJfUElECTB4MDE4QgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxOENfUElECTB4MDE4QwojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxOERfUElECTB4MDE4RAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxOEVfUElECTB4MDE4RQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxOEZfUElECTB4MDE4RgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxOTBfUElECTB4MDE5MAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxOTFfUElECTB4MDE5MQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxOTJfUElECTB4MDE5MgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxOTNfUElECTB4MDE5MwojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxOTRfUElECTB4MDE5NAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxOTVfUElECTB4MDE5NQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxOTZfUElECTB4MDE5NgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxOTdfUElECTB4MDE5NwojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxOThfUElECTB4MDE5OAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxOTlfUElECTB4MDE5OQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxOUFfUElECTB4MDE5QQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxOUJfUElECTB4MDE5QgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxOUNfUElECTB4MDE5QwojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxOURfUElECTB4MDE5RAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxOUVfUElECTB4MDE5RQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxOUZfUElECTB4MDE5RgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxQTBfUElECTB4MDFBMAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxQTFfUElECTB4MDFBMQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxQTJfUElECTB4MDFBMgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxQTNfUElECTB4MDFBMwojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxQTRfUElECTB4MDFBNAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxQTVfUElECTB4MDFBNQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxQTZfUElECTB4MDFBNgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxQTdfUElECTB4MDFBNwojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxQThfUElECTB4MDFBOAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxQTlfUElECTB4MDFBOQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxQUFfUElECTB4MDFBQQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxQUJfUElECTB4MDFBQgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxQUNfUElECTB4MDFBQwojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxQURfUElECTB4MDFBRAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxQUVfUElECTB4MDFBRQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxQUZfUElECTB4MDFBRgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxQjBfUElECTB4MDFCMAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxQjFfUElECTB4MDFCMQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxQjJfUElECTB4MDFCMgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxQjNfUElECTB4MDFCMwojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxQjRfUElECTB4MDFCNAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxQjVfUElECTB4MDFCNQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxQjZfUElECTB4MDFCNgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxQjdfUElECTB4MDFCNwojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxQjhfUElECTB4MDFCOAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxQjlfUElECTB4MDFCOQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxQkFfUElECTB4MDFCQQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxQkJfUElECTB4MDFCQgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxQkNfUElECTB4MDFCQwojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxQkRfUElECTB4MDFCRAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxQkVfUElECTB4MDFCRQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxQkZfUElECTB4MDFCRgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxQzBfUElECTB4MDFDMAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxQzFfUElECTB4MDFDMQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxQzJfUElECTB4MDFDMgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxQzNfUElECTB4MDFDMwojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxQzRfUElECTB4MDFDNAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxQzVfUElECTB4MDFDNQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxQzZfUElECTB4MDFDNgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxQzdfUElECTB4MDFDNwojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxQzhfUElECTB4MDFDOAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxQzlfUElECTB4MDFDOQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxQ0FfUElECTB4MDFDQQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxQ0JfUElECTB4MDFDQgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxQ0NfUElECTB4MDFDQwojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxQ0RfUElECTB4MDFDRAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxQ0VfUElECTB4MDFDRQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxQ0ZfUElECTB4MDFDRgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxRDBfUElECTB4MDFEMAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxRDFfUElECTB4MDFEMQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxRDJfUElECTB4MDFEMgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxRDNfUElECTB4MDFEMwojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxRDRfUElECTB4MDFENAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxRDVfUElECTB4MDFENQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxRDZfUElECTB4MDFENgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxRDdfUElECTB4MDFENwojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxRDhfUElECTB4MDFEOAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxRDlfUElECTB4MDFEOQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxREFfUElECTB4MDFEQQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxREJfUElECTB4MDFEQgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxRENfUElECTB4MDFEQwojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxRERfUElECTB4MDFERAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxREVfUElECTB4MDFERQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxREZfUElECTB4MDFERgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxRTBfUElECTB4MDFFMAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxRTFfUElECTB4MDFFMQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxRTJfUElECTB4MDFFMgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxRTNfUElECTB4MDFFMwojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxRTRfUElECTB4MDFFNAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxRTVfUElECTB4MDFFNQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxRTZfUElECTB4MDFFNgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxRTdfUElECTB4MDFFNwojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxRThfUElECTB4MDFFOAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxRTlfUElECTB4MDFFOQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxRUFfUElECTB4MDFFQQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxRUJfUElECTB4MDFFQgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxRUNfUElECTB4MDFFQwojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxRURfUElECTB4MDFFRAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxRUVfUElECTB4MDFFRQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxRUZfUElECTB4MDFFRgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxRjBfUElECTB4MDFGMAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxRjFfUElECTB4MDFGMQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxRjJfUElECTB4MDFGMgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxRjNfUElECTB4MDFGMwojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxRjRfUElECTB4MDFGNAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxRjVfUElECTB4MDFGNQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxRjZfUElECTB4MDFGNgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxRjdfUElECTB4MDFGNwojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxRjhfUElECTB4MDFGOAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxRjlfUElECTB4MDFGOQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxRkFfUElECTB4MDFGQQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxRkJfUElECTB4MDFGQgojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxRkNfUElECTB4MDFGQwojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxRkRfUElECTB4MDFGRAojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxRkVfUElECTB4MDFGRQojZGVmaW5lIE1UWE9SQl9GVERJX1JBTkdFXzAxRkZfUElECTB4MDFGRgoKCgovKgogKiBUaGUgTW9iaWxpdHkgTGFiIChUTUwpCiAqIFN1Ym1pdHRlZCBieSBQaWVycmUgQ2FzdGVsbGEKICovCiNkZWZpbmUgVE1MX1ZJRAkJCTB4MUI5MQkvKiBWZW5kb3IgSUQgKi8KI2RlZmluZSBUTUxfVVNCX1NFUklBTF9QSUQJMHgwMDY0CS8qIFVTQiAtIFNlcmlhbCBDb252ZXJ0ZXIgKi8KCi8qIEFsdGktMiBwcm9kdWN0cyAgaHR0cDovL3d3dy5hbHRpLTIuY29tICovCiNkZWZpbmUgQUxUSTJfVklECTB4MUJDOQojZGVmaW5lIEFMVEkyX04zX1BJRAkweDYwMDEJLyogTmVwdHVuZSAzICovCgovKgogKiBEcmVzZGVuIEVsZWt0cm9uaWMgU2Vuc29yIFRlcm1pbmFsIEJvYXJkCiAqLwojZGVmaW5lIERFX1ZJRAkJCTB4MWNmMSAvKiBWZW5kb3IgSUQgKi8KI2RlZmluZSBTVEJfUElECQkJMHgwMDAxIC8qIFNlbnNvciBUZXJtaW5hbCBCb2FyZCAqLwojZGVmaW5lIFdIVF9QSUQJCQkweDAwMDQgLyogV2lyZWxlc3MgSGFuZGhlbGQgVGVybWluYWwgKi8KCi8qCiAqIFBhcG91Y2ggcHJvZHVjdHMgKGh0dHA6Ly93d3cucGFwb3VjaC5jb20vKQogKiBTdWJtaXR0ZWQgYnkgRm9sa2VydCB2YW4gSGV1c2RlbgogKi8KCiNkZWZpbmUgUEFQT1VDSF9WSUQJCQkweDUwNTAJLyogVmVuZG9yIElEICovCiNkZWZpbmUgUEFQT1VDSF9UTVVfUElECQkJMHgwNDAwCS8qIFRNVSBVU0IgVGhlcm1vbWV0ZXIgKi8KI2RlZmluZSBQQVBPVUNIX1FVSURPNHg0X1BJRAkJMHgwOTAwCS8qIFF1aWRvIDQvNCBNb2R1bGUgKi8KI2RlZmluZSBQQVBPVUNIX0FENFVTQl9QSUQJCTB4ODAwMwkvKiBBRDRVU0IgTWVhc3VyZW1lbnQgTW9kdWxlICovCgovKgogKiBNYXJ2ZWxsIFNoZWV2YVBsdWcKICovCiNkZWZpbmUgTUFSVkVMTF9WSUQJCTB4OWU4OAojZGVmaW5lIE1BUlZFTExfU0hFRVZBUExVR19QSUQJMHg5ZThmCgovKgogKiBFdm9sdXRpb24gUm9ib3RpY3MgcHJvZHVjdHMgKGh0dHA6Ly93d3cuZXZvbHV0aW9uLmNvbS8pLgogKiBTdWJtaXR0ZWQgYnkgU2hhd24gTS4gTGF2ZWxsZS4KICovCiNkZWZpbmUgRVZPTFVUSU9OX1ZJRAkJMHhERUVFCS8qIFZlbmRvciBJRCAqLwojZGVmaW5lIEVWT0xVVElPTl9FUjFfUElECTB4MDMwMAkvKiBFUjEgQ29udHJvbCBNb2R1bGUgKi8KI2RlZmluZSBFVk9fOFUyMzJBTV9QSUQJMHgwMkZGCS8qIEV2b2x1dGlvbiByb2JvdGljcyBSQ00yIChGVDIzMkFNKSovCiNkZWZpbmUgRVZPX0hZQlJJRF9QSUQJCTB4MDMwMgkvKiBFdm9sdXRpb24gcm9ib3RpY3MgUkNNNCBQSUQgKEZUMjMyQk0pKi8KI2RlZmluZSBFVk9fUkNNNF9QSUQJCTB4MDMwMwkvKiBFdm9sdXRpb24gcm9ib3RpY3MgUkNNNCBQSUQgKi8KCi8qCiAqIE1KUyBHYWRnZXRzIEhEIFJhZGlvIC8gWE0gUmFkaW8gLyBTaXJpdXMgUmFkaW8gaW50ZXJmYWNlcyAodXNpbmcgVklEIDB4MDQwMykKICovCiNkZWZpbmUgTUpTR19HRU5FUklDX1BJRAkweDkzNzgKI2RlZmluZSBNSlNHX1NSX1JBRElPX1BJRAkweDkzNzkKI2RlZmluZSBNSlNHX1hNX1JBRElPX1BJRAkweDkzN0EKI2RlZmluZSBNSlNHX0hEX1JBRElPX1BJRAkweDkzN0MK